[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