Kaip

TRIM pažengusiems vartotojams

Kompiuteryje! Iš viso 4/2010 mes išbandėme penkis SSD, palaikančius TRIM. Siekdami paprastumo, bandyme laikėme vietas, kuriose SSD gali saugoti duomenis. Iš tikrųjų tam naudojami vadinamieji „puslapiai“ ir „blokai“. Šiame straipsnyje mes atidžiau pažvelgsime į tai, kaip veikia puslapiai, blokai ir santykis su TRIM.

TRIM yra komanda, užtikrinanti, kad SSD palaiko optimalų rašymo našumą. TRIM veikimą iš tikrųjų galima suprasti tik tada, jei žinote SSD struktūrą. VSD kaupia informaciją „puslapiuose“, kurie sugrupuoti į „bloką“. Norėdami suprasti šias sąvokas, pirmiausia turėtumėte apsvarstyti kelių lygių ląstelių (MLC) SSD sudėtį, išbandytą „Computer! Total 4/2010“. MLC-SSD susideda iš milijardų atminties ląstelių, kurių kiekvienoje gali būti keli bitai. Užsakyta šių langelių kolekcija vadinama puslapiu ir yra mažiausias vienetas, skirtas saugoti ar nuskaityti failą SSD. Puslapio dydis paprastai yra 4 KB. Taigi, jei išsaugosite 1 KB failą, šis failas užims 4 KB SSD.

Blokai

Blokas yra svarbus SSD vienetas, nes tai yra mažiausias „puslapių“ rinkinys, kurį SSD turi perskaityti, kad ištrintų duomenis. Blokas susideda iš 128 šių puslapių ir jo dydis yra 512 KB. Dabar yra tai, kad SSD veikia kaip x atminties modulių skaičius RAID masyve. Tai reiškia, kad failas yra paskirstytas keliuose atminties moduliuose, kad būtų užtikrintas maksimalus skaitymo greitis. „Windows“ „susikalba“ su SSD naudodama loginį blokų adresavimą (LBA) ir stebi, kurie blokai naudojami ir kurie yra prieinami. Kadangi SSD veikia su puslapiais, SSD valdiklis turi konvertuoti LBA komandas. „Windows“ komanda perrašyti failą yra išversta SSD (jei įmanoma), kad būtų galima rašyti tuščiame puslapyje. Jei nėra tuščių puslapių, pirmiausia puslapiai turi būti tušti.

Vėlavimas rašyti

Problema kyla, kai nėra pakankamai tuščių puslapių failui išsaugoti, kai yra daugiau nei pakankamai vietos pagal „Windows“ indeksą. Galų gale, failas iš tikrųjų niekada neištrinamas, kai suteikiama komanda. Tai atsitinka tik tada, kai atitinkamo failo užimama vieta yra perrašyta naujais duomenimis. Problema yra ta, kad SSD negali tiesiogiai perrašyti puslapių, kuriuose yra nebenaudojamų failų dalių. SSD pirmiausia turi nuskaityti blokus ir įdėti juos į savo talpyklos atmintį, nes duomenis galima ištrinti tik ten. Talpyklos atmintyje atitinkami puslapiai ištuštinami, o tada visas blokas su tuščiais puslapiais vėl dedamas į SSD, po kurio šie puslapiai yra prieinami naujiems duomenims. Tai sulėtina rašymo procesą tris ar daugiau kartų.

APKARPYTI

Gelbėjimo angelas šioms situacijoms yra TRIM. Tai yra komanda, kurią „Windows 7“ siunčia į SSD valymo metu. Ši komanda informuoja SSD valdiklį, kuriuos puslapius iš tikrųjų galima ištrinti, ir priverčia SSD veikti skaitydamas blokus ir ištuštindamas puslapius, užpildytus failais (ir kuriuos „Windows“ gali perrašyti). Tokiu būdu SSD išlieka optimalios būklės, kai sandėlyje yra pakankamai tuščių puslapių, o rašymo užduotis visada galima atlikti optimaliai. Mes žingsnis po žingsnio parodome, kas nutinka, kai SSD rašo ir ištrina failus, ir kaip TRIM užtikrina, kad visada būtų pakankamai nemokamų puslapių.

1. Tuščias SSD

Įsivaizduokite, kad turime SSD, kurio talpa yra lygiai 1 blokas. Tuščią 512 KB bloką SSD sudaro 128 tušti 4 KB puslapiai.

2. Parašykite failą

Norime parašyti 12 KB failą, kuris užpildys 3 4 KB puslapius (mėlynas).

3. Parašykite kitą failą

Tada mes norime parašyti dar 8 KB failą (violetinė). Iš viso mes panaudojome 20 KB. Taigi mes vis dar turime 512 KB - 20 KB = 492 KB nemokamų arba 123 nemokamus puslapius.

4. Ištrinkite failą

Dabar ketiname ištrinti 8 KB failą (purpurinį). Remiantis „Windows“, mūsų SSD vis dar yra 512 KB - 12 KB = 500 KB. Tačiau mūsų SSD vis tiek užregistruoja 123 tuščius puslapius ir 2 puslapius su duomenimis, kurie gali būti ištrinti.

5. Išsaugokite failą

Dabar rašome 4 KB (žalia). Du puslapiai, kuriuose pateikiama informacija su „duomenys turi būti ištrinti“, SSD praleidžia. Pirmiausia užpildomi tušti puslapiai.

6. TRIM darbe

Palaikydama TRIM, „Windows 7“ siunčia komandą TRIM kartu su ištrinimo veiksmu. Todėl VSD valdiklis žino, kad šiuos duomenis iš tikrųjų galima ištrinti. Kai kurį laiką SSD neturės ką veikti, SSD perkels visą 512 KB bloką, kurio dalį TRIM komanda nurodė ištrinti, į talpyklos atmintį. Čia failas (purpurinis), kurį ištrina komanda TRIM, iš tikrųjų bus ištrintas.

7. Puslapiai ištrinami

Dabar 2 puslapius galima ištuštinti ir įdėti visą bloką. Galite įsivaizduoti, kada ketinate ištrinti 10 MB failą, iš viso turime ištrinti 2560 puslapių. Jei tada jie taip pat yra suskirstyti į skirtingus blokus, reikia perskaityti daug duomenų. Nors bloke yra tik 4 KB failo, norint ištrinti 4 KB dalį reikia perskaityti 512 KB. TRIM užtikrina, kad taip nutiks, kai nenaudojate SSD.

8. Vėl atlaisvinkite vietos

Dabar 2 puslapiai parengti tik dar kartą.

9. Įrašykite failą į laisvą vietą

Jei dabar parašyta 12 KB byla, failų išsaugoti pakanka puslapių (oranžinė).

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