[elektro] E2PROM ill FLASH adattárolás érvényesség kezelése
hg12345
hg12345 at freemail.hu
Fri Sep 5 11:45:46 CEST 2014
Köszi,
"Móczik Gábor" <pm_levlista at progzmaster.hu> írta:
>2014.09.04. 23:12 keltezéssel, hg12345 írta:
>> folyamatos üzemű berendezésnél kikapcsoló gomb nincs :-), csak áramtalanítás :-(, mire észleled már nincs szufla.
>
>Hát azért meg lehet rendesen is csinálni. :-)
>
>Ne a puffer fesz csökkenést érzékeld, hanem a betáp szinuszból ha
>kimarad 1-2-3 periódus, akkor dönts úgy, hogy áramszünet van. Ekkor kéne
>a CPU panelen átkapcsolni mentés üzemmódba, csak ami ehhez szükséges, az
>kapjon tápot. Nem hiszem, hogy mai technika mellett nem lehet akár
>percekig is elműködtetni egy procit meg egy flash-t.
A betáp szinusz jó ötlet, de vannak hátrányai. Drága hálózati áramgenerátor + optocoupler, és elég helyigényes esetemben, ezen kívül azokra az áramszünetekre is reagál amit a készülék egyébként áthidalna.
Ez az elsődleges működés minőségét rontja. és feleslegesen terheli az írások számát.
Ez persze így működik, de a hálózati szinusz figyelése nélkül egy leválasztott eszközben hely igényes és drága, (optó áramgenerátorral meghajtva,
>
>> A FLASH a probléma a következő, írási lap 256 byte vagyis a CRC miatt az adat elérés nem lesz folytonos, ezért a kezelésnél egyes beolvasásnál kell kélt blokkot kell felolvasnom,
>> A egy törlési blokk 4K vagyis 16 írási blokk, tehát 16x10000 vagyis egy kevesebb mint 1/10 egy EEPROM-nak és még ezt rontja 1/16 résszel a törlések száma. Ugyan két blokkot kell kezelni, vagyis kb 300e endurence adódik. A memória 512 blokk*8K 4Mbyte felel meg egy 128K EEPROMnak 1/10 endurance-al.
>
>Hogy a kérdésedre válaszoljak, mindegy milyen megoldást használsz, ezt
>leginkább a feladat igénye dönti el. Ha csak azt kell tudni, hogy rossz
>az adat, de mindegy hogy mennyi adat rossz, akkor akár az egész chip-re
>is tehetsz CRC-t. Ha fontos, hogy minél kevesebb adatvesztést kelljen
>pótolni, akkor tegyél blokkonként CRC-t, célszerűen a törölhető/írható
>lapméretű blokkonként.
>
>A felette lévő alkalmazást ígyis-úgyis fel kell készíteni a problémára.
>Ha ezt nem akarod vagy nincs lehetőséged, és az alkalmazás egy
>címfolyamatos tárhelyet vár, akkor az egyetlen lehetőséget, hogy
>közbeiktatsz egy transzparens réteget, ami az alkalmazásnak egy
>folyamatos címteret emulál és belül elvégzi a blokkokra bontást, a CRC
>(re)kalkulációkat, újraírásokat, miegyebeket. Ezt teljesen általánosra
>megcsinálni wear-leveling, page-cache meg miegyébbel együtt, azért nem
>egy hétvégi munka.
>
wear-leveleing-t nem fogok csinálni, a többi az kikerűlhetetlen.
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list