[elektro] E2PROM ill FLASH adattárolás érvényesség kezelése

hg12345 hg12345 at freemail.hu
Thu Sep 4 21:08:10 CEST 2014


Igen,
egy öregedéssel kiegészített 4 utas cache-t használtam eddig, word-onkénti dupla paritással.
Jó lenne a teljes word-t kihasználni az eddigi 14 bit helyett ezért gondolkodom más megoldásról.



"Pataki István" <pataki.istvan at freemail.hu> írta:
>Na vájár csak:) ez azért bonyolultabb feladat, mint elsőre gondoltam. Ha 
>nem tudod RAM-ban tartani működés közben az egész adatbázist, akkor - 
>nevezd akárhogy - tkp. valamilyen fájlkezelő rendszert kell írnod a 
>FLASH-re, mert kénytelen vagy mindig a (szinte) legutolsó állapotot 
>tartani benne. Az írási ciklusok csökkentésére kell egy cache, ami 
>EEPROM vagy inkább RAM lehet. Ugyanakkor arra is figyelni kell, hogy nem 
>gyűlhet túl sok változtatás a cache-ben, mert nem lesz idő menteni. Jól 
>értettem a feladatot?
>pi
>
>
>----- Original Message ----- 
>From: "hg12345" <hg12345 at freemail.hu>
>To: <elektro at tesla.hu>
>Sent: Thursday, September 04, 2014 6:55 PM
>Subject: Re: [elektro]E2PROM ill FLASH adattárolás érvényesség kezelése
>
>
>> 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]
>>
>> -----------------------------------------
>>          elektro[-flame|-etc] 
>
>-----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list