If-Koubou

Miksi Solid-State Drives hidastaa, kun täytät ne

Miksi Solid-State Drives hidastaa, kun täytät ne (Miten)

Vertailuarvot ovat selvät: Solid-state-asemat hidastuvat täyttämällä niitä. Täytä kiinteä tila -asema lähellä kapasiteettia ja sen kirjoitusteho laskee dramaattisesti. Syy siihen, miksi SSD: t ja NAND Flash -varastot ovat.

Aseman täyttäminen kapasiteetille on yksi asioista, joita sinun ei pitäisi koskaan tehdä kiinteällä taajuusmuuttajalla. Lähes täysi kiinteä tila -asemalla on paljon hitaampia kirjoitusoperaatioita, hidastaen tietokonetta.

Tyhjät lohkot ja osittain täytetyt lohkot

Kun kirjoitat tiedoston puolijohdeasemaan, se etsii tyhjiä lohkoja ja täyttää ne. Kirjoittaminen tyhjään lohkoon on nopein mahdollinen kirjoitustoiminto. Siksi uudet käyttöjärjestelmät (Windows 7 ja uudemmat) tukevat TRIM-ominaisuutta, joka poistaa automaattisesti tiedoston tiedot kiinteän tilan asemasta heti, kun poistat tiedoston käyttöjärjestelmästäsi. Tämä toimii eri tavoin kuin magneettiset kiintolevyt, joissa poistettujen tiedostojen bittiä istuu kovalevyllä.

Ne eivät asu kiintolevylle - TRIM varmistaa, että lohko tyhjennetään, joten SSD voi nopeasti kirjoittaa uusia tietoja tyhjään lohkoon tulevaisuudessa. Kirjoittaminen jo kirjoitettuun sektoriin on yhtä nopea kuin kirjoittaminen tyhjälle sektorille mekaanisella kiintolevyllä, mutta kiintolevyn on pyyhittävä lohko ennen kuin kirjoitat siihen.

NAND Flash-muisti kirjoittaa tietoja 4 kt: n sivuilla 256 kt: n lohkojen sisällä. Jos haluat lisätä sivuja osittain täytettyyn lohkoon, kiinteän tilan aseman on pyyhittävä koko lohko ennen tietojen kirjoittamista takaisin siihen.

Kun kiintolevyasema täyttyy, vähemmän tyhjiä lohkoja on saatavilla. Heidän paikkansa ovat osittain täytetyt lohkot. Solid State Drive ei voi vain kirjoittaa uusia tietoja näihin osittain täytettyihin lohkoihin - mikä pyyhkiisi olemassa olevan datan. Yksinkertaisen kirjoitusoperaation sijasta kiinteän tilan aseman on lukea lohkon arvo sen välimuistiin, muokata arvoa uudella tiedolla ja kirjoittaa sen sitten takaisin. Muista, että tiedoston kirjoittaminen edellyttää todennäköisesti kirjoittamista useisiin lohkoihin, joten tämä voi tuoda mukanaan huomattavan määrän lisäviiveitä.

TRIM ei yhdistä osittain täytettyjä blokkia

Jos täytät aseman kapasiteettiin tai kapasiteettiin, on todennäköistä, että lopetat useita osittain täytettyjä lohkoja tiedostojen poistamisen jälkeen. TRIM-komento ohjaa vain kiinteätilainen asema tiedostojen tietojen poistamiseen, kun tiedosto poistetaan. Se ei pakota ajaa tekemään minkäänlaista puhdistustoimintaa.

Toisin sanoen täytä kiinteän tilan asema kapasiteettiin ennen tiedostojen poistamista ja todennäköisesti pääset monen osittain täytetyn lohkon kanssa. Taajuusmuuttaja ei poistu tieltä näiden osittain täytettyjen lohkojen konsolidoimiseksi täysiksi töiksi, vapauttaen tyhjät lohkot. Taajuusmuuttaja on edelleen täynnä osittain täytettyjä lohkoja ja kirjoitus suorituskyky heikkenee.

Ylikellotus ja Garbage Collection

Jotta kuluttajat eivät pysty täyttämään kiinteää asemaa ja päätyvät vakavasti heikentyneeseen suorituskykyyn, SSD-valmistajat menettävät tavan vastata tähän.

Kuluttajatason puolijohdekäyttöiset asemat usein syrjäyttävät noin 7 prosenttia niiden koko flash-tallennuksesta ja tekevät sen käytöstä käyttäjälle. Tätä kutsutaan "overprovisioning" -laitteeksi, mutta ylimääräinen tallennuslaite on lisätty asemaan, mutta se ei ole näkyvissä tietokoneelle käytettävissä olevaan tallennustilaan. Vara-alue varmistaa, että taajuusmuuttaja ei koskaan voi tulla täysin täyteen - aina tulee olemaan jonkin verran kapasiteettia, jotta kirjoitusteho säilyisi vakaana.

Jokaisella kiinteän tilan ohjaimella on roskasäiliöalgoritmi, jolla pyritään lieventämään tätä ongelmaa. Kun asema täyttyy, se etsii osittain täytettyjä lohkoja ja aloittaa niiden vahvistamisen, vapauttamalla mahdollisimman monta tyhjää lohkoa. Erilaiset kiinteät tilaajurit ohjaavat näitä toimintoja eri aikoina ja kynnysarvoina - tämä riippuu taajuusmuuttajan ohjaimesta.

Benchmark Evidence

Anandtech suoritti erilaisia ​​testejä erilaisilla aseilla, jotka houkuttelivat kiintolevyn vara-aluetta ja sen kirjoitustoiminnon johdonmukaisuutta. Tyhjentämisvaiheessa he löysivät suuren kirjoituskyvyn hyvin aikaisessa vaiheessa ja merkittävän pudotuksen, kun kirjoitusoperaatiot jatkoivat aseman täyttämistä.

Asettamalla enemmän vara-aluetta taajuusmuuttajilla auttoi suorituskykyä pysymään johdonmukaisena, koska taajuusmuuttajalla olisi oltava riittävästi tyhjiä lohkoja valmiina.

He havaitsivat, että "vähimmäistehokkuus paranee merkittävästi, kun olet saavuttanut 25% vara-alueen näille [kuluttajille] -asemille." Heidän lopullinen suositus oli, että sinun pitäisi "suunnitella vain noin 75% [aseman] kapasiteetista, jos haluat hyvän tasapainon suorituskyvyn johdonmukaisuuden ja kapasiteetin välillä. "

Jos sinulla on kiinteä tila -asema, yritä välttää yli 75% sen kapasiteetista. Osta suurempi asema, jossa on enemmän tallennustilaa kuin tarvitset, ja varmista, että sinulla on aina johdonmukainen kirjoitustoiminto. Onneksi SSD: t vähitellen tulevat paljon halvemmaksi, joten tämä ei ole yhtä kallista kuin se oli.

Image Credit: Musiikin lajittelu Wikimedia Commonsissa, Simon Wüllhorst Flickrissä