NAND välgu kulumise tasandamise algoritm

Aug 27, 2022

Kuna välkmälu kirjutustoimingute arv on piiratud, ei saa mõne seadmega tehtud 100 000 kirjutustoimingu korral garanteerida nende seadmete kirjutamiskindlust ja mõned seadmed võivad ebaõnnestuda. Näiteks mõned haldusandmete süsteemi logid kirjutatakse sageli ümber, samas kui mõnda staatilisi failiandmeid ei kirjutata peaaegu kunagi ümber. Kui seda ei kontrollita, saavad mõned plokid korduvate kustutamiste tõttu eelnevalt kahjustatud ja mõnda plokki ei ole ümber kirjutatud. Selle probleemi lahendamiseks jaotatakse kirjutustoimingud ühtlaselt kõikidele välkmälu rakkudele, et vältida tervikuna tasakaalu. üksikute rakkude rike. Kulumisnivelleerimine on selle probleemi lahendamiseks laialdaselt kasutatav algoritm.

Kulumise nivelleerimise eesmärk on pakkuda plokkide kaardistamise mehhanismi kirjutuskadude jaotamiseks erinevate plokkide vahel. See ei põhjusta mõne ploki esmalt üleskirjutamist ja kogu SSD-ketta kehtetuks tunnistamist. Selle asemel asendavad mõned reserveeritud plokid need plokid, mis ebaõnnestuvad enne eeldatavat eluiga. See algoritm muudab kogu seadme eluea võrdväärseks välklambi maksimaalse elueaga.

Üldiselt kasutatakse kulumise tasandamiseks lehepõhist failisalvestusalgoritmi. Välkmälu füüsilise aadressi ja loogilise aadressi vahel ei ole üks-ühele vastavust. Kui SSD saab andmete kirjutamise päringu, ei kirjuta see järjekorras, vaid leiab kõige vähem kirjutava üksuse. Seetõttu määratakse andmete kirjutamiseks füüsiliste plokkide dünaamilisel jaotamisel vastavad prioriteedid vastavalt iga ploki kasutamisele, et tasakaalustada kogu mälu iga raku kasutusiga.