Slitageutjämning

Slitageutjämning (även skrivet som slitageutjämning ) är en teknik för att förlänga livslängden för vissa typer av raderbara datorlagringsmedia , såsom flashminne , som används i solid-state-enheter (SSD) och USB-minnen , och fas- byta minne . Det finns flera slitageutjämningsmekanismer som ger varierande nivåer av livslängdsförbättring i sådana minnessystem.

Termen preemptive wear leveling (PWL) har använts av Western Digital för att beskriva deras konserveringsteknik som används på hårddiskar (hårddiskar) utformade för att lagra ljud- och videodata. Dock är hårddiskar i allmänhet inte slitstarka enheter i samband med denna artikel.

Logisk grund

EEPROM och flashminnesmedia har individuellt raderbara segment, som vart och ett kan genomgå ett begränsat antal raderingscykler innan de blir opålitliga. Detta är vanligtvis runt 3 000/5 000 cykler men många blixtenheter har ett block med en speciellt förlängd livslängd på 100 000+ cykler som kan användas av flashminneskontrollern för att spåra slitage och rörelse av data över segment. Raderbara optiska medier som CD-RW och DVD-RW är klassade för upp till 1 000 cykler (100 000 cykler för DVD-RAM- media).

Wear-utjämningsförsök för att kringgå dessa begränsningar genom att ordna data så att raderingar och omskrivningar fördelas jämnt över mediet. På detta sätt misslyckas inget enskilt raderingsblock i förtid på grund av en hög koncentration av skrivcykler. I flashminne är ett enda block på chipet designat för längre livslängd än de andra så att minneskontrollern kan lagra driftsdata med mindre risk för korruption.

Konventionella filsystem som FAT , UFS , HFS / HFS+ , EXT och NTFS designades ursprungligen för magnetiska diskar och som sådana omskriver många av deras datastrukturer (som deras kataloger) upprepade gånger till samma område. När dessa system används på flashminnesmedia blir detta ett problem. Problemet förvärras av det faktum att vissa filsystem spårar senaste åtkomsttider, vilket kan leda till att filmetadata ständigt skrivs om på plats.

Typer

Det finns tre grundläggande typer av slitageutjämningsmekanismer som används i flashminneslagringsenheter:

Ingen slitageutjämning

Ett flashminnessystem utan slitageutjämning kommer inte att hålla särskilt länge om data skrivs till blixten. Utan slitageutjämning måste den underliggande flashstyrenheten permanent tilldela de logiska adresserna från operativsystemet ( OS ) till flashminnets fysiska adresser. Detta innebär att varje skrivning till ett tidigare skrivet block först måste läsas, raderas, modifieras och skrivas om till samma plats. Detta tillvägagångssätt är mycket tidskrävande och ofta skrivna platser kommer att slitas ut snabbt, medan andra platser inte kommer att användas alls. När ett par kvarter når slutet av livet, blir en sådan enhet obrukbar.

Dynamisk slitageutjämning

Den första typen av slitageutjämning kallas dynamisk slitageutjämning och den använder en karta för att länka logiska blockadresser (LBA) från operativsystemet till det fysiska flashminnet. Varje gång operativsystemet skriver ersättningsdata uppdateras kartan så att det ursprungliga fysiska blocket markeras som ogiltig data, och ett nytt block länkas till kartposten. Varje gång ett datablock skrivs om till flashminnet skrivs det till en ny plats. Flashminnesblock som aldrig får ersättningsdata skulle dock inte utstå något extra slitage, så namnet kommer bara från den dynamiska data som återvinns. En sådan anordning kan hålla längre än en utan slitageutjämning, men det finns kvarvarande block som fortfarande är aktiva även om anordningen inte längre kan användas.

Statisk slitageutjämning

Den andra typen av slitageutjämning kallas statisk slitageutjämning som också använder en karta för att länka LBA till fysiska minnesadresser. Statisk slitageutjämning fungerar på samma sätt som dynamisk slitageutjämning förutom att de statiska blocken som inte ändras flyttas periodiskt så att dessa låganvändningsceller kan användas av andra data. Denna rotationseffekt gör att en SSD kan fortsätta att fungera tills de flesta av blocken närmar sig slutet av livet.

Global slitageutjämning

Både dynamisk och statisk slitageutjämning implementeras på lokal nivå. Detta betyder helt enkelt att i en produkt med flera chip, hanteras varje chip som en enda resurs. Antalet defekta block i olika chips i ett NAND-flashminne varierar: ett givet chip kan ha alla sina datablock utslitna medan ett annat chip i samma enhet kan ha alla sina block fortfarande aktiva. Global slitageutjämning löser detta problem genom att hantera alla block från alla chips i flashminnet tillsammans - i en enda pool. Det säkerställer att alla celler i alla chips i produkten slits ut jämnt.

Jämförelse

Följande tabell jämför statisk och dynamisk slitageutjämning:

Artikel Statisk Dynamisk
Uthållighet Längre förväntad livslängd Kortare förväntad livslängd
Prestanda Långsammare Snabbare
Designkomplexitet Mer komplex Mindre komplex
Typisk användning
SSD-enheter, flash-enheter av industriell kvalitet
Flash-enheter av konsumentklass

Tekniker

Det finns flera tekniker för att förlänga medialivet:

  • En kontrollsumma eller felkorrigeringskod kan behållas för varje block eller sektor för att upptäcka fel eller korrigera fel.
  • En pool med reservutrymme kan också behållas. När ett block eller en sektor misslyckas kan framtida läsningar och skrivningar till det omdirigeras till en ersättning i den poolen.
  • Block eller sektorer på media kan spåras i en minst frekvent använd (LFU)-kö. Datastrukturerna för själva kön måste antingen lagras utanför enheten eller på ett sådant sätt att utrymmet den använder i sig är slitagenivå eller, när det gäller flashminne, i ett block med en speciellt förlängd livslängd. Vanliga cachealgoritmer är dock utformade för att hantera dataflödet in i och ut ur RAM -baserade cachar, vilket gör dem inte direkt lämpliga för flashbaserade lagringsenheter eftersom de har en asymmetrisk karaktär – läsningar är vanligtvis mycket snabbare än skrivningar och raderingsoperationer kan endast utföras ett "block" åt gången.
  • Skräp samling

Secure Digital-kort och USB-flashenheter implementeras tekniker i hårdvara av en inbyggd mikrokontroller . På sådana enheter är slitageutjämning transparent , och konventionella filsystem som FAT kan användas på dem som de är.

Slitageutjämning kan också implementeras i mjukvara med filsystem för speciella ändamål som JFFS2 och YAFFS på flashmedia eller UDF på optiska media. Alla tre är loggstrukturerade filsystem genom att de behandlar sina media som cirkulära loggar och skriver till dem i följd. Filsystem som implementerar kopiera-på-skriv- strategier, såsom ZFS , implementerar också en form av slitageutjämning.

Se även

externa länkar