Vlákno názorů k článku Technologie flash pamětí a způsoby jejich využití od jj - Pro mně je tězko pochopilených pár faktů kolem...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 9. 2008 15:17

    jj (neregistrovaný)
    Pro mně je tězko pochopilených pár faktů kolem Flash pamětí.

    Celkem chápu, proč se s historických důvodů používá pro Flash naprosto nevhodná FAT.
    Je mě naprosto jasné že je to jeden z důvodů, proč je kryticky nutné použít algoritmus pravidelného „vytěžování“ jednotlivých bloků.
    Ale není mě jasné jak takovýto algoritmus funguje (jak pozná volný a obsazený blok). A už vůbec mě není jasné proč výrobci neuvádí který algoritmus je použit a jesli vůbec je použit, když je tento údaj pro způsob použití naprosto zásadní. Asi by téma stačilo na samostatný článek.

    Na úrovni OS se dá vytěžování řešit na úrovni souborového systému. Příklad je JFFS a JFFS2. Ale tyto systémy nepracují s bloky stejně jako jsme zvyklí, ale při zápisu zapíší soubor, aktualizace souboru neznamená přepsání původního, ale zápis patche. Filesystém de fakto funguje jako žurnál kdy se při čtení musí na původní obsah aplikovat všechny následné patche. Smazání souboru se neřeší uvolněním bloků ale zapsáním záznamu o smazání. Uvolňování bloků dělá pouze "garbage collector" který vybírá sektor s největším množstvím jinde aktualizovaných nebo zmazaných dat (dirty sector), zapíše zbývající aktuální data jinam do flash a sektor následně uvolní. Tento popis je krutě zjednodušující, přesto je to fascinující námět na článek (neumím to pořádně vyložit). Chápu proč se to dělá takto, právě proto nechápu jak to dělá řadič kvůli vytěžování bloků.

    Nevíte to někdo? Alespoň URL.
  • 25. 9. 2008 17:31

    Suchý čert
    On ten algoritmus nerozlišuje volné a obsazené bloky, jen si pamatuje, který blok byl kolikrát přepisován a když uzná za vhodné, tak blok s min. počtem přepisů prohodí s blokem s max. počtem přepisů (nebo překopíruje blok s min. počtem přepisů do spare bloku, blok s max. počtem přepisů do bloku s min. počtem přepisů a z bloku s max. počtem přepisů udělá nový spare blok). Aby se pak vědělo, který blok odpovídá kterým adresám, tak se používá mapovací tabulka.
  • 25. 9. 2008 21:20

    Pavel Tišnovský
    Zlatý podporovatel
    S těmi souborovými systémy máte pravdu, v podstatě však nic nebrání tomu si USB disk či SSD naformátovat na jakýkoli jiný souborový systém. U SSD to je nejmenší problém (disk se pravděpodobně nebude nikam přenášet), u USB to může být horší, na druhou stranu však při běžném použití USB disk spíš zničíte mechanicky dřív, než se vadné bity začnou projevovat v takovém množství, že to již řadič nezvládne. Ve fotoaparátech a podobných zařízeních je to podobné - počet zápisů do FAT je (zhruba) totožný s počtem "nacvakaných" fotek, což v nejhorším případě dělá cca 500 000 fotek (FAT není jedna stránka, je také rozložena na větší plochu čipu).

    Poměrně zajímavé informace (ne přímo o algoritmu realokace ale obecně) lze najít na http://www.storagesearch.com/ssdmyths-endurance.html