NAND blykstės nusidėvėjimo niveliavimo algoritmas

Aug 27, 2022

Kadangi "flash" atminties įrašymo operacijų skaičius yra ribotas, jei kai kuriuose įrenginiuose buvo atlikta 100 000 įrašymo operacijų, šių įrenginių įrašymo patikimumas negali būti garantuotas ir kai kurie įrenginiai gali sugesti. Pavyzdžiui, kai kurie valdymo duomenų sistemos žurnalai perrašomi dažnai, o kai kurie statinių failų duomenys beveik niekada neperrašomi. Jei nekontroliuosite, kai kurie blokai bus iš anksto sugadinti dėl pakartotinių trynimų, o kai kurie blokai nebuvo perrašyti. Siekiant išspręsti šią problemą, rašymo operacijos yra tolygiai paskirstomos visoms „flash“ atminties ląstelėms, kad būtų subalansuota visuma, kad būtų išvengta atskirų ląstelių gedimas. Nusidėvėjimo išlyginimas yra algoritmas, plačiai naudojamas šiai problemai išspręsti.

Susidėvėjimo išlyginimas yra skirtas blokų atvaizdavimo mechanizmui paskirstyti rašymo praradimą tarp skirtingų blokų. Tai nesukels kai kurių blokų pirmiausia užrašymo ir viso SSD disko negaliojimo. Vietoj to, kai kurie rezervuoti blokai pakeis blokus, kurie sugenda prieš numatomą eksploatavimo laiką. Dėl šio algoritmo viso įrenginio eksploatavimo laikas yra toks pat kaip ir maksimalus blykstės veikimo laikas.

Paprastai nusidėvėjimo išlyginimui naudojamas puslapių failų saugojimo algoritmas. Tarp fizinio ir loginio „flash“ atminties adreso nėra tiesioginio atitikimo. SSD, gavęs duomenų rašymo užklausą, nerašys eilės tvarka, o suras bloką, kuriame rašoma mažiausiai. Todėl dinamiškai paskirstant fizinius blokus duomenims rašyti, pagal kiekvieno bloko naudojimą bus paskirstomi atitinkami prioritetai, kad būtų subalansuotas visos atminties kiekvienos ląstelės tarnavimo laikas.