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

Václav Ovsík vaclav.ovsik na gmail.com
Pátek Červen 3 20:57:35 CEST 2016


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.

-- 
Zito


Další informace o konferenci Hw-list