Olemme viime viikkoina käsitelleet muutamia perustekniikoita, joiden avulla SSD-muistit ja niiden NAND flash -muistisirut saadaan toimimaan tehokkaammin ja näin kestämään pidempään käytössä. Yksi tärkeä aihe on kuitenkin vielä käsittelemättä: wear leveling -tekniikka.
Ilman wear leveling -tekniikka SSD-levyt eivät juuri koskaan pysyisi toimintakuntoisina niin kauan kuin niiden on mahdollista. SSD-levyt muodostuvat useista NAND flash -muistialkioista: koska jokainen niistä voidaan lukea ja uudelleenkirjoittaa vain rajallisen määrän kertoja, ilman wear leveling -tekniikkaa SSD-levyt lakkaisivat toimimasta huomattavasti nopeammin. Tämä johtuu siitä, että wear leveling perustuu algoritmeihin, jotka varmistavat kaikkien NAND flash -muistialkioiden tulevan käytetyiksi tasapuolisesti. Yksi muistialkio kestää vain 3 000 – 100 000 luku- ja kirjoituskertaa. Näinkin suurelta kuulostava lukema voi tulla vastaan verrattain nopeasti.
Ilman wear leveling -algoritmeja flash-muistin ohjaimen olisi asetettava käyttöjärjestelmän loogisille osoitteille pysyvät fyysiset osoitteet flash-muistilta. Silloin jokainen uusi kirjoituskerta vanhaan muistilohkoon edellyttäisi vanhan tiedon lukemista, pyyhkimistä, muokkausta ja uudelleenkirjoittamista. Tämä ei pelkästään olisi erittäin hidasta vaan tarkoittaisi myös osan muistipiireistä joutuvan kovempaan käyttöön ja kuluvan siksi nopeammin. Tällöin vain muutaman lohkon tuleminen elinkaarensa päähän riittää tekemään koko SSD-muistista toimintakelvottoman ja johtaa mitä todennäköisimmin tietojen katoamiseen.
Hyödyntämällä wear leveling -algoritmeja SSD-muistin ohjain kuitenkin hajauttaa kirjoitusoperaatiot tasaisesti kaikille NAND-muistialkioille. Tämä voidaan toteuttaa kahdella eri tavalla: dynaamisesti ja staattisesti.
Dynaamisen wear leveling -tekniikan perusperiaate on, että SSD:n muistiohjain valitsee datan kirjoittamiseen aina sillä hetkellä vähiten käytetyt muistilohkot. Vaikka tämä menetelmä on hieman parempi kuin se, ettei wear leveling ole lainkaan käytössä, SSD:n muistialkiot kuluvat silti nopeasti jos muistiin tallennetaan paljon dataa. Siksi käytössä on (toivottavasti) myös toinenkin menetelmä: staattinen wear leveling. Se ehkäisee muistialkioiden kulumista kaikissa flash-muistisiruissa siirtämällä dataa vähemmän käytettyihin muistilohkoihin.
Loppuyhteenveto: wear leveling on yksi keskeisimmistä SSD-levyjen elinikää pidentävistä tekniikoista. Siksi uutta SSD-muistia ostaessa kannattaakin valita laite, jonka ohjainohjelmisto hyödyntää sekä dynaamista että staattista wear leveling -tekniikkaa. Toimimalla näin et pelkästään valitse paremman eliniänodotteen omaavaa tuotetta vaan panostat myös tietoturvallisuuteen. Kun käytössä ovat molemmat wear leveling -tekniikat, tietojen katoaminen laitteistovian takia on epätodennäköisempää.
Lue lisää tietojen palauttamisesta vioittuneelta SSD-levyltä täältä:
Kuvan tekijänoikeudet: Ontrack Data Recovery