Řadič flash paměti - Flash memory controller
Řadič flash paměť (nebo regulátor blesk ) spravuje data uložená v paměti flash a komunikuje s počítačem nebo elektronickým zařízením . Řadiče pamětí Flash mohou být navrženy pro provoz v nízkých duty-cyklu prostředích, jako jsou paměťové karty SD , CompactFlash karty, nebo jiné podobné médium pro použití v digitálních fotoaparátech , PDA , mobilní telefony , atd USB flash disky používají řadiče Flash paměti určené pro komunikaci s osobní počítače přes port USB při nízkém pracovním cyklu. Řadiče Flash mohou být také navrženy pro prostředí s vyšším provozním cyklem, jako jsou disky SSD (SSD) používané jako úložiště dat pro systémy přenosných počítačů až po kritická pole podnikových úložišť .
Počáteční nastavení
Poté, co je paměťové zařízení flash původně vyrobeno, je nejprve použit ovladač flash k formátování paměti flash. Tím je zajištěno, že zařízení pracuje správně, mapuje špatné buňky paměti flash a přiděluje náhradní buňky, které mají být nahrazeny budoucími selhávajícími buňkami. Některá část náhradních buněk se také používá k uložení firmwaru, který ovládá řadič, a dalších speciálních funkcí pro konkrétní paměťové zařízení. Vytvoří se adresářová struktura, která umožňuje řadiči převést požadavky na logické sektory do fyzických umístění na skutečných čipech paměti flash.
Čtení, psaní a mazání
Když systém nebo zařízení potřebuje číst data z flash paměti nebo je zapisovat, bude komunikovat s řadičem flash paměti. Jednodušší zařízení, jako jsou karty SD a USB flash disky, mají obvykle malý počet flash pamětí připojených současně. Operace jsou omezeny na rychlost jednotlivých matric flash paměti. Naproti tomu vysoce výkonný disk SSD bude mít až 100 nebo více matric uspořádaných v matici s paralelními komunikačními cestami, které umožňují mnohonásobně vyšší rychlosti než u jedné matrice flash.
Vyrovnání opotřebení a vychystávání bloků
Flash paměť vydrží omezený počet cyklů vymazání programu. Pokud by byl konkrétní blok paměti Flash naprogramován a opakovaně vymazán bez zápisu do jiných bloků, jeden blok by se opotřeboval před všemi ostatními bloky, čímž by se předčasně ukončila životnost paměťového zařízení. Z tohoto důvodu řadiče flash používají techniku zvanou vyrovnávání opotřebení k rovnoměrnějšímu rozložení zápisů napříč všemi bloky blesku v SSD. V dokonalém scénáři by to umožnilo zapsat každý blok na maximální životnost, aby selhaly všechny najednou.
Flash translation layer (FTL) and mapping
Řadiče paměti flash obvykle obsahují také „flash translation layer“ (FTL), vrstvu pod souborovým systémem, která mapuje adresy logických bloků na straně hostitele nebo systému souborů (LBA) na fyzickou adresu paměti flash (logicko-fyzická) mapování). LBA odkazují na čísla sektorů a na mapovací jednotku 512 bajtů. Všechny LBA, které představují logickou velikost viditelnou a spravovanou souborovým systémem, jsou mapovány na fyzické umístění (ID bloku, ID stránky a ID sektoru) Flash. V rámci vyrovnávání opotřebení a dalších algoritmů správy blesku (správa špatných bloků, správa narušení čtení, bezpečná manipulace s bleskem atd.) Se fyzické umístění LBA může často dynamicky měnit. Mapovací jednotky FTL se mohou lišit, takže LBA jsou mapovány na základě bloků, stránek nebo dokonce podstránek. V závislosti na vzoru použití může jemnější zrnitost mapování významně snížit opotřebení blesku a maximalizovat výdrž paměťového média založeného na blesku.
Jelikož metadata FTL zabírají svůj vlastní flash prostor, potřebují také ochranu v případě ztráty energie. Kromě toho je možné, že se mapovací tabulka opotřebuje dříve, než budou mít jiné části paměti flash, což předčasně ukončí životnost paměťového zařízení. Tomu se v podnikových zařízeních obvykle zabrání přidělením nadměrně velkého prostoru pro náhradní díly, i když pro FTL byly navrženy odolnější formy úložiště, jako je MRAM .
Sběr odpadu
Jakmile je každý blok úložného zařízení v pevné fázi jednou zapsán, bude se řadič flash muset vrátit k některým počátečním blokům, které již nemají aktuální data (nazývané také zastaralé bloky). Data v těchto blocích byla nahrazena nově zapsanými bloky a nyní čekají na vymazání, aby do nich bylo možné zapisovat nová data. Toto je proces zvaný uvolňování paměti (GC). Všechny disky SSD, karty CF a další úložná zařízení typu flash budou obsahovat určitou úroveň sběru odpadu. Rychlost, jakou to bleskový ovladač provede, se může lišit.