Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Omezená životnost Flash ROM paměti u PDA s Windows Mobile 5

hlp (65)|31.3.2006 19:13
Dobrý den.

Přečetl jsem si článek ohledně typu pamětí, používaných u kapesních počítačů a nemohl jsem si nevšimnout údaje 100 až 1000 zápisů u paměti Flash ROM.

Tento počet zápisů do Flash ROM byl jistě dostatečný u Windows Mobile 2003 (a níže), jelikož pamět Flash ROM zde nebyla většinou přímo systému přístupná a zápis se do ní neuskutečňoval.
Systém Windows Mobile 2003 (a níže) měl přímo přístup pouze k životně neomezené (co se týče zápisů) pamětí RAM.

Výrobci si byli v této době vědomi toho, že paměť Flash ROM je z dlouhodobého hlediska nevýhodná, jelikož po určité době častých zápisů dochází k jejímu trvalému zničení.

Doba se ovšem změnila a výrobci si zřejmě uvědomyli fakt, že potřebují PDA prodávat a čím častěji to bude, tím lépe.

Nový systém Windows Mobile 5 tedy již používá přímý přístup do paměti Flash ROM a je zde zřejmě problém s životností této paměti.

Pokud bychom měli například PDA s mobilním telefonem a káždý den příjmuli pouze 10 hovorů, to jest pouze 10 zápisů do Flash ROM (aktualizace souboru s volanými čísli), tento úsek paměti Flash ROM bude zničen za 100 dní!

Tento soubor bude naštěstí velmi malý a s nejvědší pravděpodobností se začne zapisovat o kousek "vedle", aniž by systém něco hlásil, ale zničené místo se bude časem zvětšovat a paměť Flash ROM zmenšovat.

Nejhorší variantou by bylo, pokud by systém Windows Mobile 5 každý den prováděl zápis více souborů do interní paměti Flash ROM, pak by tato pamět byla zcela "zničena" podstatně dříve.

Ovšem s Flash ROM pamětí to snad funguje následovně (jelikož v Microsoftu jsou chytří) : zápis souborů se uskutečňuje v paměti Flash ROM vždy na jiné místo (což přispěje k defragmentaci souborů a zpomalení systemu - pokud provedete defragmentaci, zas tu máte další zápisy do FlashROM). To znamená, že tato pamět (pokud je dostatečně prázdná) má na první dojem větší životnost, jelikož její opotřebení není lokální (jeden malý úsek), ale globální (rozprostře se v celé paměti).
Celá paměť se tedy opotřebovává celá a tudíž se nezmenšuje. K jejímu "zničení" ovšem dojde po určité době ve velmi krátkém čase.

Pokud je ovšem paměť Flash ROM převážně plná, k jejímu "zničení" dojde postupně po malých kouscích, ale po delší čas.

Pokud by tedy byla největší předností systému Windows Mobile 5 právě ta vlastnost, že zapisuje data do paměti Flash ROM, nejedná se o nejlepší řešení. Paměť Flash ROM je několikrát pomalejší nežli paměť RAM a hlavně je její životnost omezena.


Závěr je tedy asi tento, čím bude větší paměť Flas ROM a méně zaplněná, tím dojde k "zničení" této paměti za delší čas.

Z osobní zkušenosti ovšem musím říci, že mám paměť Flash ROM v podobě 128MB SM karty již asi 4 roky a stále funguje velmi dobře. Musím ovšem také říci, že tuto paměť používám pouze ve fotoaparátu a pouze příležitostně. Opotřebení Flash ROM u kapesního počítače bude určitě několika násobně (možná i 100 krát) větší, nežli u této mé SM karty.
Samozřejmě čím větší Flash ROM karta tím menší opotřebení, jelikož se "rozprostře" po celé paměti karty, navíc fotoaparáty systém zápisu popsaný výše údajně používají.

Možná jsem teď někoho zbytečně vystrašil, ale ke "zničení" Flash ROM paměti u PDA s Windows Mobile 5 zcela jistě dojde, to je bez debat.

Snad Vás uklidním tím, že to nebude dříve než za několik let.
Pro představu pokud byste interní Flash ROM paměť přepsali celou za 1 den (u 128 MB ROM je někdy volných pro uživatele pouze 40 MB, což se dá), k zničení této paměti by došlo v případě 1000 zápisu za necelé 3 roky.

Výhodu by to do budoucna možná jednu mělo, stará PDA "zničená" z důvodu selhání paměti Flash ROM budou možná dobrým zdrojem náhradních dílů.


Přeji příjemný zbytek dne.
Pavel Koza (4761)|31.3.2006 20:45
Jen pro zajimavost - 10 zapisu x 100 dni = 1000 prepisu. Jak jste k tomu cislu prisel? V clanku se uvadi, ze minimum je 10000 prepisu (tedy 10x tolik) a to je jeste spodni hranice, realna cisla jsou nekde jinde... Soudim, ze se pohybujeme minimalne v radu desitek tisic prepisu TOHO SAMEHO MISTA, coz muze byt teoreticky problem u nekterych velmi casto pouzivanych a menenych dat (registry, log soubory...), ale v praxi bych se toho zas tak moc nebal... Nerikam, ze se to nemuze stat, ale selhani zarizeni z tohoto duvodu bych odhadoval tak za 5+ let, a to jeste musite mit smulu.

P.S. Tak uz to asi vidim. Je to tam trochu nesikovne napsane, ale za tou cislovkou je jeste slovo "tisic". Takze to neni 100-1000, ale stotisic az milion:) Upravim to v tom clanku, at to neni tak matouci.
ron.jeremy (92)|31.3.2006 21:57
Ne nutně musí časté přepisování jednoho místa ve flash paměti vést k "opotřebení" jednoho bloku. Můžeme si na pomoc vzít Wikipedii:

http://en.wikipedia.org/wiki/Flash_memory

[QUOTE]This effect is partially offset by some chip firmware or filesystem drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors, or by write verification and remapping to spare sectors in case of write failure.[/QUOTE]

Tedy:
V kartách či přímo čipech :?: může být (a nejspíš je) implementován mechanismus, který dokáže přemapovávat bloky tak, že logicky se jeví na jednom místě, nicméně fyzicky v rámci flash paměti "cestují", a tak se bloky opotřebovávají rovnoměrněji.

EDIT:

Doplnění

Ještě k fragmentaci... Na fyzicky poziciovaných paměťových zařízeních fragmentace způsobuje časté přesuny čtecího zařízení (hlavy). Tato činnost mechaniky je ve srovnání se čtením pomalá. U flash pamětí by fragmentace neměla hrát žádnou roli, změna adresy trvá stejně dlouho, ať se jedná o sousední blok, nebo blok na "druhém konci" paměti. Teoreticky by mohl mít problém driver filesystému, pokud je špatně navržen - jinak ne.
Mem__ce4you (485)|31.3.2006 23:37
[QUOTE="ron.jeremy"]Ještě k fragmentaci... Na fyzicky poziciovaných paměťových zařízeních fragmentace způsobuje časté přesuny čtecího zařízení (hlavy). Tato činnost mechaniky je ve srovnání se čtením pomalá. U flash pamětí by fragmentace neměla hrát žádnou roli, změna adresy trvá stejně dlouho, ať se jedná o sousední blok, nebo blok na "druhém konci" paměti. Teoreticky by mohl mít problém driver filesystému, pokud je špatně navržen - jinak ne.[/QUOTE]
A máte pro tohle tvrzení nějaký důkaz? Protože já jsem naopak četl nějaký popis odborníka, kde říkal, že to není pravda, protože ty bloky jsou organizované ve stránkách apod., a jejich vystavení nějakou dobu trvá, až potom se adresují bloky. Proto je také sekvenční čtení souboru uloženého v blocích zasebou na jedné stránce rychlejší než čtení více malých souborů rozházených po různých stránkách
hlp (65)|1.4.2006 13:45
Dobrý den.

To číslo 100.000 až 1.000.000 přepisů Flash ROM paměti je už velmi zajímavé.

Problém s Flash ROM pamětí by se měl tedy projevit o 100 až 1.000 později.

Přeji příjemný zbytek dne.
ron.jeremy (92)|1.4.2006 19:38
[QUOTE="Mem_"]A máte pro tohle tvrzení nějaký důkaz?[/QUOTE]
Mám důkaz místo slibů. :D Udělal jsem totiž na své kartě test.

Vzal jsem fragmentovanou kartu, kterou jsem nikdy neformátoval a dokola používal, mazal, zapisoval, jak mě napadlo. Ostatně, fragmentace slušná:
[CODE]Volume RON_SD1GB ( H: )
Volume size = 969 MB
Cluster size = 4 KB
Used space = 778 MB
Free space = 191 MB
Percent free space = 19 %

Volume fragmentation
Total fragmentation = 23 %
File fragmentation = 46 %
Free space fragmentation = 0 %

Total files = 888[/CODE]

Obsah karty jsem explorerem ve Windows XP zkopíroval přes USB 2.0 čtečku na pevný disk a změřil čas.

Pak jsem kartu naformátoval, a z disku na ní obsah zkopíroval zpět.
[CODE]Volume RON_SD1GB ( H: )
Volume size = 969 MB
Cluster size = 4 KB
Used space = 778 MB
Free space = 191 MB
Percent free space = 19 %

Volume fragmentation
Total fragmentation = 0 %
File fragmentation = 0 %
Free space fragmentation = 0 %
[/CODE]
Kartu jsem vysunul a znovu zasunul, aby se soubory nekopírovaly z cache.

Znovu jsem pomocí exploreru data zkopíroval na pevný disk do jiné složky a změřil čas.

A výsledky?
[CODE]Fragmentovaná karta ..... 190s
Nefragmentovaná karta ... 180s[/CODE]
Rozdíl je ~5% ve prospěch nefragmentované - zřejmě se někdy díky fragmentaci muselo číst více bloků, např. záznam adresáře s vymazanými soubory může být delší (např. přílohy e-mailů se obměňují vcelku často), musí se přečíst více sektorů FAT, protože soubor je rozkouskován atd.

Rozdíl 10s u tak fragmentované karty je tak malý, že pro mě v praxi nestojí za to se fragmentací zaobírat. A odborníci nechť si píšou co chtějí. ;)