Jak spravne logovat a neznicit medium?

Jindrich Fucik FULDA na seznam.cz
Středa Červen 7 16:37:50 CEST 2023


Tak SD karta je dobrá v tom, že to celé nechá na tobě. Pokud by jsi připojil třeba externí SSD, ten ti trochu pomůže.
Je otázka, jaké má schopnosti tvůj operační/file system. existují wear leveling systémy, které dokáží celkem efektivně s flash pracovat. Většinou mají kolem sebe slova jako "journal" a podobně. Namátkou ufs, nebo ext4. U těch se pak řeší třeba commit option.

Pokud si na úrovni nějakého jednočipu, tak se ti možná vyplatí si stvořit vlastní úložiště, které bude pracovat s kartou tak, aby omezilo "block erase" operace a používalo jen zápis. Na začátku sektoru si děláš takové ty mapy, kolik je použito a když je mapa plná, tak to znamená, že použiješ další sektor.

Po pravdě - nikdy jsem to nehrál na SD kartě, ale na sériové flash. Tam je mnohem jednoduší identifikovat operace, skutečnou velikost bloku a tak.

---------- Původní e-mail ----------
Od: Pavel Kutina <hw na prelude.cz>
Komu: HW-news <hw-list na list.hw.cz>
Datum: 7. 6. 2023 15:15:49
Předmět: Jak spravne logovat a neznicit medium?
Zdravim,



porad si tu hraju s nejakym hodnekanalovym voltmetrem a napadlo mne, ze by 
nebylo spatne, kdyby se udaje z nej nejen posilaly po seriaku do nadrazeneho 
PC, ale ukladaly do souboru na SD kartu - ono se to PC treba obcas 
restartuje a pak je docela skoda prijit o data z mereni za cely vikend.

Generuje mi to kolem 1kB/s. Kdyz to udelam, jako se to delavalo v DOSu - 
otevrit, append, zavrit, tak mam neprijemny dojem, ze tu SD s FAT16 
zlikviduju docela rychle (pri zapisu kazdou vterinu uz tak zhruba za tri 
hodiny, jestlize pocitam 10000 zapisu). Muzu si nekde udelat buffer a 
ukladat az po par vterinach - samozrejme to v pripade vypadku napajeni nese 
riziko ztraty dat a jeste to problem jen (nepatrne) oddali - ze tri hodin 
jsme na dejme tomu dvanacti se 4kB bufferem.

Pak se da uelat buffer v externi SRAM/NVRAM/FRAM atd., ktera udrzi data v 
prubehu vypadku a po obnove napajeni je dosype na kartu.

Pak se da udelat zalohovane napajeni pro procesor a kartu treba supercapem a 
v pripade vypadku to jeste stihnout ulozit.

Nebo to vzdycky sypat jen do nejake velike SRAM a na kartu to zkopirovat az 
na "manualni vyzvu" - takhle to dela asi vetsina osciloskopu a je to nejspis 
nejjednodussi reseni.

Napada nekoho jeste neco jineho?

Jo a trochu pokukuju po cinskem CH375 a tohle cele delat na USB flashku - a 
tam uz vubec nevim, jak se to chova k tomu mediu ohledne opotrebeni pri 
zapisu, modul mam doma, ale jeste jsem ho ani nevyzkousel. Nemate nekdo 
nejake prakticke zkusenosti?


Další informace o konferenci Hw-list