Kuidas

TRIM edasijõudnutele

Arvutil! Kokku väljaanne 4/2010 testisime viit SSD-d koos TRIM-i toega. Lihtsuse huvides eeldasime testis kohti, kus SSD saab andmeid salvestada. Tegelikult kasutatakse selleks nn "lehti" ja "plokke". Selles artiklis uurime lähemalt, kuidas lehed, blokeeringud ja suhe TRIMiga toimib.

TRIM on käsk, mis tagab, et SSD säilitab optimaalse kirjutamisvõime. TRIM-i toimimisest saab tegelikult aru ainult siis, kui tead SSD ülesehitust. SSD salvestab teavet „lehtedesse“, mis on rühmitatud „plokki“. Nende mõistete mõistmiseks peaksite kõigepealt kaaluma mitmetasandilise kärje (MLC) SSD-de koostist, mida on testitud arvutis! Kokku 4/2010. MLC-SSD koosneb miljarditest mälurakkudest, millest igaüks mahutab mitu bitti. Nende lahtrite tellitud kogumit nimetatakse leheks ja see on väikseim üksus SSD-s faili salvestamiseks või tagasi lugemiseks. Lehe suurus on tavaliselt 4 KB. Nii et kui salvestate faili suurusega 1 kB, võtab see fail SSD-kettal 4 kB.

Plokid

Plokk on SSD jaoks oluline üksus, sest see on väikseim "lehtede" kogu, mida SSD peab andmete kustutamiseks lugema. Plokk koosneb 128-st neist lehtedest ja selle maht on 512 KB. Nüüd on nii, et SSD töötab x mälumoodulite arvuna RAID-massiivis. See tähendab, et fail on maksimaalse lugemiskiiruse saamiseks hajutatud mitme mälumooduli vahel. Windows "vestleb" SSD-ga loogilise ploki adresseerimise (LBA) kaudu ja jälgib, milliseid plokke kasutatakse ja millised on saadaval. Kuna SSD töötab lehtedega, peab SSD-kontroller LBA-käsud teisendama. Windowsi käsk faili ülekirjutamiseks tõlgib SSD (kui võimalik) tühjale lehele kirjutamiseks. Kui tühje lehti pole, peavad lehed olema kõigepealt tühjad.

Viivitamine kirjalikult

Probleem ilmneb siis, kui faili salvestamiseks pole piisavalt tühje lehti, kui Windowsi indeksi järgi on rohkem kui piisavalt ruumi. Lõppude lõpuks ei kustutata faili kunagi käsu andmisel. See juhtub ainult siis, kui kõnealuse faili hõivatud ruum on uute andmetega üle kirjutatud. Probleemiks on see, et SSD ei saa otseselt üle kirjutada lehti, mis sisaldavad enam kasutamata failide osi. SSD peab kõigepealt plokid läbi lugema ja oma vahemällu paigutama, sest andmeid saab kustutada ainult seal. Vahemälus tühjendatakse vastavad lehed ja seejärel pannakse kogu tühjade lehtedega plokk SSD-le tagasi, misjärel on need lehed uute andmete jaoks saadaval. See aeglustab kirjutamisprotsessi kolm korda või enam.

TRIM

Nende olukordade päästeingel on TRIM. See on käsk, mille Window 7 saadab pühkimise ajal SSD-le. See käsk teavitab SSD kontrollerit, milliseid lehti saab tegelikult kustutada, ja paneb SSD tööle, lugedes plokke ja tühjendades failidega täidetud lehti (ja mille Windows saab üle kirjutada). Sel viisil püsib SSD optimaalses seisukorras, kuna laos on piisavalt tühje lehti ja kirjutamisülesannet saab alati optimaalselt täita. Näitame teile samm-sammult, mis juhtub, kui SSD kirjutab ja kustutab faile ning kuidas TRIM tagab, et alati oleks piisavalt lehti tasuta.

1. Tühi SSD

Kujutage ette, et meil on SSD, mille mälumaht on täpselt 1 plokk. SSD kettal on 512 KB suurune tühi plokk, mis koosneb 128 tühjast 4 KB suurusest lehest.

2. Kirjutage fail

Soovime kirjutada faili suurusega 12 kB, mis täidab 3 lehte 4 kB (sinine).

3. Kirjutage teine ​​fail

Seejärel tahame kirjutada veel 8 KB faili (lilla). Kokku oleme kasutusele võtnud 20 KB. Seega on meil endiselt 512 KB - 20 KB = 492 KB tasuta ehk 123 tasuta lehte.

4. Kustutage fail

Kustutame nüüd 8 KB faili (lilla). Windowsi andmetel on meie SSD-l endiselt saadaval 512 KB - 12 KB = 500 KB. Kuid meie SSD registreerib endiselt 123 tühja lehte ja 2 lehte andmetega, mida võidakse kustutada.

5. Salvesta fail

Kirjutame nüüd 4 KB (roheline). Kaks lehte, mis sisaldavad teavet kustutatavate andmetega, jätab SSD vahele. Kõigepealt täidetakse tühjad lehed.

6. TRIM töö juures

TRIM-i toega saadab Windows 7 käsu TRIM koos kustutustoiminguga. Seetõttu teab SSD kontroller, et neid andmeid saab tegelikult kustutada. Kui SSD-l pole mõnda aega midagi teha, teisaldab SSD vahemällu kogu 512 KB suuruse ploki, mille osa on TRIM-käsuga määratud kustutamiseks. Siin kustutatakse tegelikult käsu TRIM abil kustutatud fail (lilla).

7. Lehed kustutatakse

Nüüd saab 2 lehte tühjendada ja kogu ploki tagasi panna. Võite ette kujutada, kui kavatsete 10MB faili kustutada, peame kustutama kokku 2560 lehte. Kui need jagunevad siis ka erinevate plokkide vahel, siis tuleb lugeda palju andmeid. Kuigi plokk sisaldab failist ainult 4 KB, tuleb 4 KB osa kustutamiseks lugeda 512 KB. TRIM tagab, et see juhtub siis, kui te ei kasuta SSD-d.

8. Vabasta uuesti ruumi

Nüüd on 2 lehte valmis uuesti kirjutama.

9. Salvestage fail vabasse ruumi

Kui nüüd on kirjutatud 12 kB suurune fail, on faili salvestamiseks piisavalt lehti (oranž).

$config[zx-auto] not found$config[zx-overlay] not found