Re: Raspberry Pi vadná SD karta vs. OLIMEX a jiné jednodesky

Jiří Nesvačil nesvacil na posys.eu
Sobota Červen 4 10:02:02 CEST 2016


Tak trim prikaz o nepouzitem bloku je na SSD je https://cs.wikipedia.org/wiki/TRIM

Na SD karte asi neni, ale vyuziva se nejspise prikazu Erase, ktery vymaze blok a tim OS te SD karty vi, ze je to prazdne. Zde je dulezite, aby OS zde nezapsal nuly 00-00-00.., ale nechal tam to FF-FF.

http://superuser.com/questions/568041/after-an-sd-card-is-erased-what-value-is-read-from-the-card-all-bits-clear-or

Kazdopadne OS te SD neni jednotny a system jak delat wear leveling - hlidat opotrebeni si vyrobce chrani. Nektere karty to nemaji nebo jen jednoduse neuplne a pote se Vam ta karta rychle opotrebi. Taky zalezi zda je karta SLC ci MLC a jako hodne ma 
urovni v tom MLC. S*an disk snad na tom s tou technologii je nejdal, mozna nekdo opravi.

Jirka


Dne 4. 6. 2016 v 8:44 Jiří Nesvačil napsal(a):
> Jen male upresneni flash/sd nevi co je nad nim. Maji vlastni wear leveling a vi maximalne jestli je blok zaplneny a kolikrat (to si totiz optimalizuji sami ty OS te SD karty). Jestli SSD interface ma nejake specielni prikazy k wear levelingu, 
> nevim, rekl bych ze ne.
>
> Tim trim se Linux snazi udelat druhou vrstvu toho wear levelingu ci optimalizovat system. Linux zapisuje do volnych oblasti a pote najednou udela trim.
>
> Nicmene pokud date na SD FAT,EXT2 nebo i jiny system s vypnutim logovanim, tak tim zivotnost flasky zvetsite.
>
> Jirka
>
> Dne 3. 6. 2016 v 20:57 Václav Ovsík napsal(a):
>> On Fri, Jun 03, 2016 at 05:55:08PM +0200, Jiří Nesvačil wrote:
>>> Nebude moc zalezet na rozdeleni, pokud to neni extra.
>>> SD karta ma vlastni wear leveling system tj. postupne opotrebuje
>>> vsechny bloky (mozna nektere osizene karty to delaji jen pres par
>>> bloku), ale obecne pres vsechny, neboli jak je karta rozdelena je
>>> jedno.
>> Wear leveling ma urcitou rezii. Je to jak pro vsechny SSD, USB flash
>> i karticky podobne - radic flash v okamziku kdy se snazi nejaky blok
>> opotrebovat rovnomerne musi provest premapovani logickeho na nejaky
>> fyzicky blok (do te doby mene pouzivany) a ted zalezi jestli ma povedomi
>> o obsazenosti daneho bloku kam premapovava (dela novy zapis). Pokud
>> netusi jestli je blok volny nebo ne (nedostava info pres TRIM od OS),
>> tak musi vychazet z toho, ze jsou v nem validni data. Ty musi nejprve
>> premistit jinam a premapovat i ten blok. Pokud vi, ze blok je volny
>> - proste ho pouzije a nic dalsiho nedela.
>>
>> Pokud tedy radic nema zadne info o volnych blocich - musi bloky
>> (jejich data) prohazovat namisto pouzivani volnych. Nicmene je pravda,
>> ze ma nejaky prostor navic - Over-provisioning v te wiki strance nize.
>> Takze vlastne vzdycky nejake volno ma.
>>
>> https://en.wikipedia.org/wiki/Write_amplification
>>
>> https://en.wikipedia.org/wiki/Solid-state_drive#Page_alignment
>>
>>> Karta by mela by x krat vetsi nez co tam ukladate, aby wear leveling
>>> fungoval dobre tj., aby se mohlo menit s bloky, ktere jsou malo
>>> pouzivane.
>> Ano, a je vhodne, aby to volno, ktere na karte zbyva bylo definovano
>> pres TRIM. Me se kvuli vykonu osvedcilo pravidelne spousteni fstrim na
>> uSD. Pak muze do volnych bloku radic rovnou psat.
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list