Plextorin M5S 256 Gt arvostelussa: Marvellia, ja hieman muutakin

Artikkelin kirjoittaja: Janne Häyrynen

DRAM-puskurin vaikutus



On voinut jäädä huomaamatta, mutta kukin asema käyttää erikokoista DRAM-puskuria. Crucialin m4:ssä se on vain 128 megatavua. Samsungin 830 on keskikokoa 256 megatavun puskurillaan. Plextorin M5S:ssä se on 512 megatavun kokoinen. Kun laitteen välimuisti poistetaan käytöstä, voimme tutkia millainen vaikutus DRAM-puskurilla on kirjoitusnopeuden nostamisessa.



Samsungin 830 ohella, M5S:n kirjoitusnopeus kärsii laajalti kun DRAM-puskuri poitetaan käytöstä. Crucialin m4 peräkkäiskirjoitusnopeus on ennallaan, mutta 4 kilovatun satunnaiskirjoitustestistä ei voi sanoa samaa. Aseman sisäinen välimuisti näyttää siis kuitenkin parantavan kirjoitusnopeuksia yhdistämällä operaatioita ennen datan siirtämistä NAND:lle. Paitsi tehokuus, myös laitteen luotettavuuteen liittyvä wear-leveling hyötyy siitä.

Vakioasetuksena SSD:n puskurimuisti on kytketty käyttöön Windowsissa. Sen kera tulee tosin varoitus:

Tehostaa järjestelmän nopeutta ottamalla kirjoitettavan datan puskuri käyttöön laitteella, mutta sähkökatko tai laitevika voi johtaa tietojen menetykseen tai korruptoitumiseen.

Tuo kuulostaa hieman pelottavalta, vai mitä? Minkälaisia riskejä sen päälle jättämisellä on? Laitteen ja tiedostojärjestelmän muuttuvaismuistipuskurien vuorovaikutukset ovat monimutkaisia. Voimme kuitenkin jo nyt valaista asiaa seuraavilla käyrillä, jotka pohjautuvat suurten tiedostojen siirtoon.

Ensin siirrämme tiedoston asemalle, kun puskuri on kytketty pois päältä. Nuolen osoittaman pystyviivan kohdalla Windows ilmoittaa että siirto on valmis. Kaikki siirrettävä data on tyhjentynyt tiedostojärjestelmän puskurista, mutta tiedon kirjoittaminen laitteelle on vielä kesken. Fysikaalisella tasolla kirjoitusoperaatio kestää vielä 45 sekuntia, ja jos tänä aikana tulee sähkökatko, tietoja voidaan menettää tai tiedot voivat korruptoitua.



Seuraavassa taulukossa sama tiedosto on siirretty puskuri päälle kytkettynä. Tällä kertaa havaitsemme 85 sekunnin viiveen siitä, kun käyttöjärjestelmä ilmoittaa siirron päättyneen. Myös sen jälkeen voi tietoa olla vielä laitteen puskuriin tallennettuna. Emme voi tietää tarkalleen kuinka kauan, mutta tiedämme että on mekanismeja, jotka tavallisissa tilanteissa pakottavat laitteen kirjoittamaan puskurin sisällön pysyväismuistiin.

Mitä riskeihin tulee, päällimmäinen uhka tiedon eheydelle on aika, joka kuluu sen jälkeen, kun käyttöjärjestelmä ilmoittaa siirron päättyneen, ja kun se on kirjoitettu varsinaisesti SSD:n NAND-muistiin. Esimerkissä huomaamme, että tuo aika on pidempi, kun laitteen puskuri on kytketty käyttöön.



Ensimmäinen käyrä paljasti, että tiedon eheys voi olla vaarassa sähkökatkon sattuessa vaikka DRAM-puskuri olisi pois päältä. Tämä johtuu että tiedostojärjestelmä yhä puskuroi tietoa ennen sen kirjoittamista levylle. Tiedostojärjestelmäpuskuri voidaan ohittaa sovelluksissa jotka käyttävät write-through -ominaisuutta, pakottamalla tiedot tiedostojärjestelmäpuskurin ohi ja näin minimoimalla tietojen katoamisen mahdollisuus.

Viimeisessä graafissamme olemme kytkeneet laitepuskurin päälle, ja käytämme asetusta, joka kytkee päälle Windowsin kirjoituspuskurin tyhjentävän toiminnon. Tämä poistaa laitteelle lähetetyistä pyynnöistä write-through ominaisuuden ja puskurin tyhjennys komennot. Tämä saattaa olla eniten riskejä sisältävä strategia. Kuitenkin tiedostonsiirtoesimerkissämme se on myös nopein tapa fysikaalisen osion tasolla.



Kuten mainittu, DRAM-puskurin ja tiedostojärjestelmäpuskurin vuorovaikutukset ovat monimutkaisia. Selvästikään laitepuskurin poiskytkeminen ei poista sähkökatkon sattuessa tapahtuvaa tietojen menetystä. Tuon riskin vakavuus riippuu monista tekijöistä. Kuitenkin sitä täytyy ajatella myös nopeuden ja aseman kulumisen kannalta.

Kommentoi artikkelia