Garbage Collection & TRIM: SSD’ er Dirty Little Secret
rumblings online og i visse it-cirkler har vist sig at være sandt: SSD-hastigheder kan bremse over tid. Heldigvis er der ting, du kan gøre, der kan forhindre, at dette sker og hjælpe dig med at opretholde den hurtige karakter af dine SSD ‘ er.
hvad er SSD-affaldssamling
ligesom at tage papirkurven er en nødvendig opgave med at vedligeholde dit hjem, er affaldssamling også en type SSD-vedligeholdelse. Det er noget af en misvisende, da garbage collection ikke har noget at gøre med at fjerne filer, der ikke længere er nødvendige. Det er mere som at slippe af med tomme kasser med ting, du allerede har smidt væk. I sin kerne er SSD garbage collection en automatiseret proces, der er designet til at forbedre ydeevnen.
Vi ved alle, at SSD ‘ er oprindeligt er meget hurtige, men vi finder ud af, at de bliver langsommere over tid, især da drevet begynder at fylde op. Dette er netop den ting, som SSD garbage collection er designet til at forhindre. Ved korrekt vedligeholdelse kan hastigheden på en SSD bevares.
Den Store SSD-afmatning
for at forstå, hvorfor SSD ‘ er bliver langsommere over tid, er det vigtigt at vide, hvordan filsystemer fungerer. Hvert filsystem har sin egen måde at gøre tingene på, men generelt set, når du sletter en fil, er den fil ikke rigtig væk. Operativsystemet sletter typisk ikke de lagerblokke, der tidligere var beboet af filen. I stedet markerer operativsystemet blot blokkene som tilgængelige og gemmer disse oplysninger i en katalogfil. Dette er grunden til opsving programmel som harddisk kriger er i stand til at gendanne filer, der er blevet ‘slettet’. Filen findes stadig i disse blokke på disken, men katalogfilen viser dem som tomme, så de er usynlige for din computer.
med HDD ‘ er var denne metode til at slette en fil ikke et problem. Operativsystemet ville blot markere blokkene som tilgængelige, og harddisken kunne skrive nye data over toppen af de gamle data. SSD ‘ er kan ikke gøre det. For SSD ‘ er skal lagerblokke slettes, før de kan overskrives. Det er dette krav til sletning af tidligere anvendte blokke, der får SSD ‘ er til at blive langsommere over tid.
fjernelse af SSD-affaldet
for at forhindre, at denne uønskede situation sker, kører moderne SSD ‘ er komplekse rutiner kaldet affaldssamling for altid at holde en så stor reserve som muligt af uberørte tomme blokke klar til skrivning. Affaldsindsamling indebærer, at controlleren søger gennem sin fortegnelse over skrevne sider efter sider, der er markeret som “uaktuelle”—det vil sige, de blev skrevet til, og derefter skulle de data, de indeholdt, ændres af operativsystemet; fordi ændring af sidens tilstand er umulig uden først at slette den, skrives ændringerne altid til nye sider, og de gamle sider er markeret uaktuelle. Garbage collection ser efter blokke, der indeholder en blanding af gode og uaktuelle sider og derefter duplikerer alle de gode sider i nye blokke og efterlader kun uaktuelle sider i den gamle blok. Derefter sletter den den gamle blok og markerer den klar til brug.
der er dog endnu en detalje at bemærke om SSD-affaldssamling. SSD ‘ er kan læse og skrive på sideniveau—hvilket normalt er 8 kb for moderne drev—men de har en ejendommelig fejl, fordi de ikke kan slette på sideniveau. SSD ‘ er kan kun slette hele blokke, som normalt består af hundreder af sider. Årsagen til dette er, at sletning af en sides indhold kræver, at siden klippes med en ikke ubetydelig mængde spænding, og NAND-stillayoutet på alle moderne SSD ‘ er gør det uoverkommeligt vanskeligt at isolere denne spænding til kun de sider, der skal slettes.
og her er hvor’ Garbage collection ‘ misnomeren kommer i spil, fordi det faktisk er gode sider, der er “indsamlet”, hvor affaldet bliver efterladt. Målet bag denne proces er at forsøge at optimere ydeevnen ved at have blokke enten helt tomme (og derefter slette blokken) eller helt fulde.
hvad med TRIM?
på en harddisk er der normalt en fast sammenhæng mellem filsystemets klynger og diskens sektorer. Men på en SSD, hvor der ikke er nogen fast sammenhæng, og hvor Sider i brug skal spores og afhentes af affaldssamling, kan det være en big deal. Sider, der indeholder slettede filer, ligner gyldige sider, og de bliver ved med at blive samlet sammen med faktisk gode sider.
Dette er situationen TRIM blev introduceret til afhjælpning. TRIM (som er korrekt aktiveret, men ikke er et akronym) er en ATA-kommando, som operativsystemet kan få til at blive sendt, når det sletter en fil. TRIM-kommandoen giver den bro fra filniveauet til blokniveauet, hvilket giver operativsystemet en måde at fortælle SSD’ en, at den sletter filer og markerer disse filers sider som forældede.
med TRIM er en SSD ikke længere tvunget til at gemme sider, der tilhører slettede filer. TRIM er ikke et alternativ til affaldssamling—det fungerer med affaldssamling for mere korrekt at markere sider som uaktuelle. Og du behøver ikke TRIM for at affaldssamling skal fungere—men TRIM gør en SSD ‘ s affaldssamling mere effektiv.når det er sagt, hvis du bruger en Mac, understøtter Apple ikke TRIM på tredjeparts SSD ‘ er. Det var muligt at omgå denne begrænsning i tidligere versioner af OS, men du kan ikke gøre det i Yosemite uden at åbne et sikkerhedshul —gør det ikke, for selvom TRIM gør en forskel i at reducere skriveforstærkning og forlænge en SSD ‘ s levetid og ydeevne, er det ikke værd at de sikkerhedshuller i staldstørrelse, du skal åbne for at få det.
så brug altid TRIM, hvis du kan. Det vil gøre din SSD ‘ s affaldssamling arbejde meget bedre. Men hvis du befinder dig i en situation, hvor TRIM ikke er tilgængelig, skal du ikke få panik—det er rart at have, men det er ikke et krav.