[elektro] E2PROM ill FLASH adattárolás érvényesség kezelése
hg12345
hg12345 at freemail.hu
Thu Sep 4 18:55:45 CEST 2014
Szia,
Köszönöm ötletedet, segítségedet.
Nem teljesen értem. (nincs javítás csak jelzés és a memóriát módosítom)
Vagyis az alap értékekhez képest a módosításokat (cím+adat) ként tárolnám a RAM-ban
dinamikusan változó területen amit a változtatások mennyiségétől függene.
Így gondoltad?
A CRC az egész tárolási területre számítanám vagy blokkokra osztva?
A CRC a frissítéskor számítanám?
A RAM-ban lévő adat validítását hogyan érzékelem, vagy azt elfogadom érvényesnek.
Az adatok meddig maradnak a RAM területen (ez egy folyamatos üzemű készülék)?
Több problémám van, a teljes adat halmaznak csak egy tört része fér el a uC RAM-jában.
Alaphelyzetben a felhasználás csak olvasás az esetek 99.9%-ban, de nem kizárt olyan alkalmazás amikor több forrásból aszinkron módon módosítják a memóriát. Ez esetekben is úgy kéne korlátozni a memória felhasználást a tápáthidalási idő alatt minden változás az E2PROM-ban frissüljön, ez a legfontosabb kitétel.
A cím + adat tárolás esetén a komoly probléma ilyen esetben a E2PROM kiolvasása és visszaírása Az átírás miatt ez dupla idő, ugyan ez elenyésző része az írási időnek (5ms) de ez is idő. Az táp elvételtől jelzéstől pl.: az idő 50ms lehet a legrosszabb esetben vagyis ha 10 külön írási blokk címet tartalmaz a RAM akkor az utolsó adat kiírása már nem biztonságos, azt nem írtam, hogy néhány kbyte adatot mindenképpen ki kell írnom kikapcsoláskor és ez csökkenti a lehetőségeket.
--------------
Amit leírsz nagyon hasonlít E2PROM emulációra FLASH tárolón. Ezt már néhányszor végig számoltam, de nem olyan jók az adatok mint amit megadnak példa programok mellett, és lényegesen kisebb E2PROM emuláció mellett. A minta programokban a legtöbb helyen 256byte memóriát kezel a program. Ilyen esetekben is kitelik az endurance, hiszen az írás és törlés ugyan úgy egy fárasztásnak számít...
"Pataki István" <pataki.istvan at freemail.hu> írta:
>Talán az alapbejegyzés után csak a változásokat jegyezze föl sorban,
>figyelve, hogy a változás bejegyzés a járulékos információkkal (például:
>hossz+adat(ok)+hibajelző) hogyan lehet a legrövidebb. Figyelni kell, ha
>körbeérné a memóriát, akkor újra kell írni az alapbejegyzést, de azt is
>folytatólagosan! Hátránya, hogy esetenként végig kell olvasni az egész
>memóriát, közben a változásokkal korrigálni az alap bejegyzést RAM-ban.
>A memóriát - a javítások méretének statisztikájától függően - *2-*N
>méretűre választanám, és CRC-t használnék.
>pi
>
>
>----- Original Message -----
>From: "hg12345" <hg12345 at freemail.hu>
>To: "elektro" <elektro at tesla.hu>
>Sent: Thursday, September 04, 2014 4:53 PM
>Subject: [elektro] E2PROM ill FLASH adattárolás érvényesség kezelése
>
>
>> Hi,
>>
>> adott egy 64..128Kbyte méretű tárolási halmaz (eszköz konfiguráció,
>> beállítások és programok).
>> Az adatokat word mérettől kezdve akár 256byte méretig bármikor
>> megváltoztathatják. Az adat halmaz nem ill. nehezen tárolható a belső
>> RAM-ban, mert áramszünet esetén menteni kell, szerintem ez már nem fér
>> bele az táp áthidalási időben.
>> Az adatok mindig a E2PROM/FLASH memóriában tárolódnak, és csak a
>> felhasználás idejére kerülnek periodikusan kiolvasásra, viszonylag
>> gyakran 10...100ms (ez üzembiztosan működik, nem fogja meg a
>> feldolgozást)
>>
>> Hogyan érdemes figyelni a sérülést:
>> - 2 bites paritással (WORD-önként), (a tároláshoz elegendő 14 bit)
>> - laponkénti LRC/CRC-vel (128WORD/256Byte) egy használható lap az
>> ilyen méretű E2PROM-ban a serial FLASH-nek ez e legkisebb írható
>> blokkja.
>>
>> Nem kell javítani az adatokat, csak a hibát detektálni kell.
>> ez első esetben folytonos a memória, míg a második esetben egy kicsit
>> munkásabb, mert minden 128. word nem használható.
>>
>> A LRC/CRC-t nem szeretném máshol tárolni, mert a tárolási blokk
>> endurance határozza meg az írhatóságot, vagyis ilyen esetben a MAX/256
>> lesz az endurance értéke, ami már elég kicsit, a FLASH esetén szinte
>> semmi míg az E2PROM esetén egy FLASH értékre csökkenti. Más nem
>> szeretnék FLASH-ra file tárolási rendszert telepíteni a programba,
>> tudtommal ezekben nincs is ilyen fajta figyelés
>>
>> Van erre más jó megoldás?
>>
>> üdv
>>
>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list