Mitä tarkoittaa Write Amplification (WA) ja mitä vaikutuksia sillä on SSD-muistiin?

tiistai 12. maaliskuuta 2019 - Michael Nuncic

Pari viikkoa sitten kuvailimme blogissamme roskankeruuta (Garbage Collection) ja Trim-komentoa. Ne ovat molemmat menetelmiä, joilla merkitään ja asetetaan tietoja, jotka eivät ole enää käytössä. Käyttämättömät tiedostot voidaan korvata/uudelleenkirjoittaa Flash NAND -perusteisessa SSD-järjestelmässä.

Nämä kaksi menetelmää yrittävät ratkaista ongelmaa, joka kaikilla Flash NAND SSD-levyillä on luonnostaan: Write Amplification (WA) ja Write Amplification Factor (WAF).

Kuten olemme blogissamme aiemmin maininneet, yksi tärkeimmistä eroista “normaalin” magneettisen kiintolevyn (HDD) ja kiinteän aseman (SSD) välillä on se, miten ne käsittelevät tietoja. Vaikka kiintolevyt kirjoittavat tiedot levyllä olevaan tyhjään tilaan,  SSD tyhjentää tiedot ennen kuin se voi kirjoittaa uusia tietoja Flash-tallennuspiiriin. Tämä tarkoittaa sitä, että Flash-tallennuskortit on poistettava ennen kuin ne voidaan uudelleenkirjoittaa. Lukuun ottamatta uusia SSD-levyjä joihin tietoja ei ole aiemmin tallennettu ja/tai ne on poistettu turvallisesti ennen laitteen myyntiä.

Tämä ei olisi ongelma, jos poistoprosessi olisi helppo tehdä. Esimerkiksi tallennustilan poistaminen yhdestä Flash sirusta ja siihen uuden tiedon tallentaminen. Näin ei kuitenkaan ole. Kun poistat dataa ja tallennat uusia tietoja SSD:lle, se vaatii tietojen ja metadatan tallentamista useita kertoja. Tämä johtuu siitä, että Flash-tallennus koostuu datalohkoista ja sivuista. Lohkot koostuvat useista sivuista ja yksi sivu koostuu yleensä useista tallennuskorteista. Suurin haaste on se, että Flash-solut voidaan poistaa ainoastaan lohkossa ja ne voidaan tallentaa ainoastaan sivulle. Jos haluat tallentaa sivulle uusia tietoja, on sen oltava fyysisesti täysin tyhjä. Jos näin ei ole, sivun sisältö on poistettava. Yksittäistä sivua ei kuitenkaan voi poistaa, vaan on poistettava kaikki sivut, jotka ovat osa yhtä lohkoa.

Koska SSD:n lohkojen koot ovat kiinteät (esimerkiksi 512 kb, 1024 kb - 4 MB), vie 4 kilotavua tiedostoja sisältävä lohko 512 kilotavun edestä tallennustilaa joka tapauksessa. Eikä siinä vielä kaikki: Kun SSD:n tietoja muutetaan, vastaava lohko on ensin merkittävä poistettavaksi uusien tietojen tallentamista varten. Sen jälkeen SSD-ohjaimen luku-/ muokkaus-/ kirjoitusalgoritmi määrittelee kirjoitettavan, noutaa sen sisältämät tiedot, merkitsee lohkon poistettavaksi, jakaa vanhat tiedot uudelleen ja asettaa uudet tiedot vanhaan lohkoon.

Uusien tietojen hakeminen ja uudelleen jakaminen tarkoittaa, että vanhoja tietoja kopioidaan uuteen paikkaan ja muut monimutkaiset metatietojen käsittelyt ja laskelmat lisäävät myös datan kokonaismäärää. Tuloksena on, että yksinkertaisesti poistamalla tietoja SSD:stä luodaan enemmän dataa kuin sitä tuhotaan. Koska Flash NAND-sirut ovat hyviä vain tiettyyn määrään luku- /kirjoitusjaksoja, Write Amplification (WA) -työkalu johtaa kiintolevyn lyhyempään elinaikaan sekä alhaisempaan kestävyyteen ja nopeuteen.

The Write Amplification Factor (WAF)

Kuluttajille tarkoitetuilla SSD-levyillä on yleensä korkeat WAF:t, koska kun tallennetaan esimerkiksi uusi 4 kb suuruinen tiedosto, Solid State Drive saattaa tallentaa keskimäärin 40 kb tiedostoja. Tämä johtuu siitä, että SSD-ohjain yrittää yhdistää useiden osittain käytettyjen lohkojen tietoja vapauttamaan sivuja uusien tallennettavien tietojen käyttöön. Tällaisessa tapauksessa Write Amplification Factor on 10. Jos esimerkiksi 2 Gt dataa lähetetään tietokoneelta SSD:lle ja 4 Gt on kirjoitettu SSD:lle, WAF on 2.

Täältä löytyy partnerimme Kingston Technologyn selitys siitä, kuinka WAF lasketaan:

https://www.youtube.com/watch?v=MK6GmrTP0KM

Miten torjua WA?

Voit taistella WA:n vaikutuksia vastaan pitämällä vapaata tilaa yhdistettynä SSD:hen. Voit itse välttää vaikutuksia käyttämällä TRIM-komentoa. TRIM-komennon ollessa käytössä käyttöjärjestelmä suorittaa taustan TRIM-toiminnot automaattisesti pyyhkimällä käyttämättömän levytilan puhtaaksi. Tämä on kuitenkin suuri riski. Kun TRIM on aktiivinen ja tallennustila korvataan, ei tällöin ole mahdollista palauttaa sinne tallennettuja alkuperäisiä tietoja.

Sinun ei kuitenkaan pitäisi antaa periksi heti, koska on kyse tärkeistä tiedoista, vaan jättää asia tietojen palautuksen asiantuntijoiden huoleksi. Joissain tapauksissa asiantuntijat voivat palauttaa “piilotetut” tiedot esimerkiksi jos TRIM-komentoa ei ole suoritettu oikein.

Kuvan tekijänoikeudet:  Ontrack Datarecovery

img_600x600_shirtontrack

Soita ja pyydä apua heti!