Articles

Garbage Collection & TRIM: SSDs Dirty Little Secret

SSD Garbage collection and TRIM
verkossa ja tietyissä IT-piireissä jyrinä on osoittautunut todeksi: SSD: n nopeudet voivat hidastua ajan myötä. Onneksi on olemassa asioita, joita voit tehdä, jotka voivat estää tämän tapahtumasta ja auttaa ylläpitämään nopeaa luonnetta SSD.

mikä on SSD-roskien keräys

aivan kuten roskien vieminen ulos on välttämätön tehtävä kodin ylläpidossa, roskien keruu on myös eräänlainen SSD-levyjen huolto. Se on hieman harhaanjohtava, koska roskien keruu ei ole mitään tekemistä tiedostojen poistamisen kanssa, joita ei enää tarvita. Se on kuin hankkiutuisi eroon tyhjistä laatikoista, jotka on jo heitetty pois. SSD-roskien keruu on pohjimmiltaan automatisoitu prosessi, jonka tarkoituksena on parantaa suorituskykyä.

me kaikki tiedämme, että SSD-levyt ovat aluksi hyvin nopeita, mutta huomaamme, että ne hidastuvat ajan myötä, varsinkin kun asema alkaa täyttyä. Tämä on juuri se asia, jonka SSD-roskien keräys on suunniteltu estämään. Kunnollisella huollolla SSD: n nopeus voidaan säilyttää.

ISO SSD hidastuminen

jotta ymmärrettäisiin miksi SSD: t hidastuvat ajan myötä, on tärkeää tietää, miten tiedostojärjestelmät toimivat. Jokaisella tiedostojärjestelmällä on oma tapansa tehdä asioita, mutta yleisesti ottaen, kun poistat tiedoston, se tiedosto ei ole todella poissa. Käyttöjärjestelmä ei tyypillisesti poista tallennuslohkoja, joita tiedosto aiemmin asutti. Sen sijaan käyttöjärjestelmä yksinkertaisesti merkitsee lohkot käytettävissä oleviksi ja tallentaa nämä tiedot hakemistotiedostoon. Siksi hyödyntämistä ohjelmisto, kuten Hard Disk Warrior pystyy palauttamaan tiedostoja, jotka on ’poistettu’. Tiedosto on edelleen olemassa kyseisissä lohkoissa levyllä, mutta hakemistotiedosto listaa ne tyhjiksi, joten ne ovat näkymättömiä tietokoneellesi.

HDD: llä tämä tapa poistaa tiedosto ei ollut ongelma. Käyttöjärjestelmä yksinkertaisesti merkitsisi lohkot käytettävissä oleviksi, ja kiintolevy voisi kirjoittaa uutta dataa vanhan datan päälle. SSD: t eivät voi tehdä sitä. SSD-levyjen osalta tallennuslohkot on poistettava, ennen kuin ne voidaan korvata. Juuri tämä aiemmin käytettyjen lohkojen poistamista koskeva vaatimus aiheuttaa SSD-levyjen hidastumisen ajan myötä.

SSD-roskien poistaminen

estääkseen tämän ei-toivotun tilanteen, nykyaikaiset SSD-levyt suorittavat monimutkaisia rutiineja, joita kutsutaan roskien keräämiseksi, jotta voidaan aina pitää mahdollisimman suuri varasto koskemattomia tyhjiä palikoita valmiina kirjoitettavaksi. Roskankeräykseen kuuluu, että rekisterinpitäjä etsii kirjoitettujen sivujen luettelosta sivuja, jotka on merkitty ”tunkkaisiksi”—eli ne on kirjoitettu ja sitten niiden sisältämiä tietoja on muutettava käyttöjärjestelmällä; koska sivun tilan muuttaminen on mahdotonta ilman sen poistamista, muutokset kirjoitetaan aina uusille sivuille ja vanhat sivut on merkitty tunkkaisiksi. Garbage collection etsii palikoita, jotka sisältävät sekoituksen hyviä ja tunkkaisia sivuja, ja kopioi sitten kaikki hyvät sivut uusiksi lohkoiksi ja jättää jäljelle vain tunkkaiset sivut vanhaan lohkoon. Sitten se pyyhkii vanhan palikan pois ja merkitsee sen käyttövalmiiksi.

SSD-roskien keräyksessä on kuitenkin vielä yksi yksityiskohta. SSD voi lukea ja kirjoittaa sivun tasolla—joka on yleensä 8KB modernit asemat—mutta heillä on erikoinen puute, että he eivät voi poistaa sivun tasolla. SSD voi poistaa vain kokonaisia lohkoja, jotka koostuvat yleensä sadoista sivuista. Syynä tähän on, että pyyhkimällä sivun sisällön vaatii zapping että sivu ei-merkityksetön määrä jännitettä, ja NAND-tyylinen ulkoasu kaikki modernit SSD tekee kohtuuttoman vaikea eristää että jännite vain sivuja, jotka tarvitsevat pyyhkimällä.

ja tässä kohtaa ”roskien keräys” tulee kuvaan mukaan, koska se on oikeasti hyviä sivuja, jotka ”kerätään”, ja roskat jätetään jälkeensä. Tämän prosessin tavoitteena on yrittää optimoida suorituskykyä ottamalla lohkojen olla joko täysin tyhjä (ja sitten pyyhkimällä lohko) tai täysin täynnä.

entä TRIM?

kiintolevyllä tiedostojärjestelmän klusterien ja levyn sektoreiden välillä on yleensä kiinteä korrelaatio. Mutta SSD: llä, jossa ei ole kiinteää korrelaatiota ja jossa käytönaikaisia sivuja on seurattava ja noudettava roskien keräyksellä, se voi olla iso juttu. Poistetut tiedostot sisältävät sivut näyttävät kelvollisilta sivuilta, ja niitä kerätään jatkuvasti yhdessä todella hyvien sivujen kanssa.

Tämä on tilanne TRIM otettiin käyttöön korjaamiseksi. TRIM (joka on oikein isolla mutta ei ole lyhenne) on ATA-komento, jonka käyttöjärjestelmä voi aiheuttaa lähetettäväksi, kun se poistaa tiedoston. TRIM-komento tarjoaa tuon sillan tiedostotasolta lohkotasolle, jolloin käyttöjärjestelmä voi kertoa SSD: lle poistavansa tiedostoja ja merkitä näiden tiedostojen sivut tunkkaisiksi.

trimmillä SSD: n ei ole enää pakko tallentaa poistettuihin tiedostoihin kuuluvia sivuja. TRIM ei ole vaihtoehto roskien keruu—se toimii roskien keruu paremmin merkitä sivuja tunkkainen. Ja sinun ei tarvitse leikata roskat keräys toimi – mutta TRIM tekee SSD roskien keräys tehokkaampaa.

tästä huolimatta, jos käytät Macia, Apple ei tue trimmiä kolmannen osapuolen SSD-levyissä. OS X: n aiemmissa versioissa oli mahdollista kiertää tämä rajoitus, mutta et voi tehdä sitä Yosemitessa avaamatta tietoturva —aukkoa-älä tee tätä, koska vaikka TRIM vähentää kirjoitusvahvistusta ja pidentää SSD: n käyttöikää ja suorituskykyä, se ei ole sen arvoista, että sinun on avattava lato-kokoisia tietoturva-aukkoja saadaksesi sen.

käytä siis aina trimmiä, jos vain pystyt. Se tekee SSD: n roskankeräys toimii paljon paremmin. Mutta jos löydät itsesi tilanteeseen, jossa TRIM ei ole saatavilla, älä panikoi-se on mukava olla, mutta se ei ole vaatimus.

2 osaketta