Bylo. Alespon ja mam za to, ze je to z odstavce o JFFS2 dostatecne zrejme. Resi se to totiz prave pouzitim JFFS2 filesystemu a jeho wear levelingu.
Opakuji, ze tech 100.000 vymazu plati pro _kazdy_ blok _samostatne_ a je to hodnota _zarucena_ (v realnem provozu pravdepodobne i nekolikrat vyssi). Rozhodne mi neni znamo, ze by uz nekomu flashka na tohle umrela (a to plati i pro vyvojare v obdobi, kdy se jeste JFFS2 nepouzivala).
JFFS2 dela opravdu hodne. Pokud byste flashku napriklad naformatovali na vfat (pominu ted to, ze by s tim byl trosku problem, neni to normalni block device), tak napriklad blok, kde by byla vlastni FAT tabulka, by umrel asi velice brzo.
Stejne omezeni maji i CF (ci SmartMedia) karty, ty ale maji vevnitr elektroniku/logiku, ktera tohle resi (podobne jako JFFS2). Proto se bezne mohou pouzivat s vfat.
Pro zajimavost, princip JFFS2 je asi takovyto: Veskere zapisy do filesystemu neustale probihaji dal a dal po pameti. Tzn. otevreme soubor, neco zmenime, ulozime. Ve skutecnosti nedojde k prepsani puvodniho, ale dojde k zapsani noveho do volneho mista a dale k zapsani informace, ze puvodni je neplatny. A tak to probiha dal a dal (pri mountovani se pak ale v podstate musi prochazet cely filesystem a hledat, co plati a co ne). Dalsi proces - garbage collector - pak sbira informace o blocich a pokud mnozstvi platnych dat v bloku dosahne urcite spodni hranice (taky se asi bere ohled na zaplneni filesystemu) jsou zbyvajici data zapsana jinam (viz. vyse) a blok se vymaze.
Teoreticky se tedy takto cela 16MB Flash u iPAQu znici po zapsani 256kB (jeden blok) * 64 (pocet bloku) * 100.000 (pocet mazani na blok) = asi 1.5 TB! (u 32MB dvojnasobek). Myslim, ze v te dobe uz bude hardware zase nekde jinde. :-)