Skvělý článek o flash souborových systémech.
Důležitá otázka, když mluvíme o flash souborových systémech, je následující:Co je vyrovnávání opotřebení? Článek na Wikipedii. V podstatě na flash disky můžete zapisovat omezený počet opakování, dokud se blok nezkazí. Poté musí souborový systém (pokud na hardwaru není vestavěná správa vyrovnávání opotřebení, jako je tomu u SSD obvykle) označit tento blok jako neplatný a vyhnout se jeho dalšímu používání.
Typické souborové systémy (například ReiserFS, NTFS, ext3 a tak dále) jsou určeny pro pevné disky, které nemají taková omezení.
JFFS2
Zahrnuje kompresi a elegantní ochranu proti opotřebení.
YAFFS2
- Jedna věc, která dělá rozdíl:krátké doby připojení po úspěšném připojení.
- Implementuje vlastnost write Once:jakmile jsou data zapsána do jednoho bloku, není potřeba je přepisovat. To je důležité, protože to snižuje opotřebení.
LogFS
- Není příliš vyspělé, ale již je součástí stromu jádra Linuxu.
- Bez problémů podporuje větší souborové systémy než JFFS2/YAFFS2.
UBIFS
- Vyspělejší než LogFS
- Podpora ukládání do mezipaměti
- O škálovatelnosti:článek. Na velkých discích lepší výkon než u JFFS2
ext4
Pokud žádný ovladač ani karta (například disky SSD mají vnitřní vyrovnávání opotřebení, alespoň obvykle) nezvládají vyrovnávání opotřebení, pak ext4 není nejlepší nápad, protože není určen pro použití v raw flashi.
Který z nich je nejlepší?
Samozřejmě záleží na využití a podpoře. Z toho, co jsem četl na internetu, bych doporučil UBIFS. Dobrá podpora pro velké souborové systémy, vyspělá vývojová fáze, adekvátní výkon a žádné velké nevýhody.
Potýkal jsem se se stejným problémem a také jsem provedl nějaký výzkum. Nakonec jsem se rozhodl jít s ext2.
Zdá se, že některé karty SDHC implementují vlastní vyrovnávání opotřebení na hardwarové vrstvě. Pokud můžete získat karty SDHC, které mají vestavěnou funkci vyrovnávání opotřebení.
Souborové systémy, které poskytují vyrovnávání opotřebení, mohou zasahovat do vyrovnávání opotřebení na úrovni Flash, takže může být pro flash ve skutečnosti špatné je používat (výše uvedený článek IBM hovoří o tom, jak to JFFS dělá, takže je jasné, že to nebude fungovat s úrovní záblesku WL). Rozhodl jsem se, že nepotřebuji žurnálování ext3, protože na něm neukládám kritická data a stejně obvykle pravidelně zálohuji (cron).
Také jsem připojil /tmp a /var jako tmpfs, abych to urychlil. Pokud máte dostatek paměti RAM, měli byste to udělat (ale nezapomeňte své protokoly pravidelně střídat nebo mazat)
TIP:Připojte své externí SD karty pomocí možnosti "noatime"