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