Hvorfor Solid State Drives Sænk Som Du Fyld Dem Op
Benchmarkene er klare: Solid state-stationer sænkes, når du fylder dem. Udfyld dit solid state-drev til næsten kapacitet, og dets skriveydelse vil falde dramatisk. Grunden til, at det ligger i den måde, SSD'er og NAND Flash storage arbejder på.
Fyldning af drevet til kapacitet er en af de ting, du aldrig bør gøre med et solid state-drev. Et næsten fuldt solid state-drev vil have meget langsommere skriveoperationer, hvilket sænker computeren.
Tomme blokke og delvist udfyldte blokke
Når du skriver en fil til din solid state-drev, søger den efter tomme blokke og fylder dem. At skrive til en tom blok er den hurtigste mulige skriveoperation. Derfor understøtter nye operativsystemer (Windows 7 og nyere) TRIM-funktionen, som automatisk sletter en fils data fra solid state-drevet, så snart du sletter filen i dit operativsystem. Dette virker forskelligt fra magnetiske harddiske, hvor bits af slettede filer sidder på harddisken.
De sidder ikke på et solid state-drev - TRIM sikrer, at blokken tømmes, så SSD'en hurtigt kan skrive nye data til den tomme blok i fremtiden. At skrive over en allerede skrevet sektor er lige så hurtig som at skrive til en tom sektor på en mekanisk harddisk, men et solid state-drev skal slette en blok, før du skriver til den.
NAND Flash-hukommelse skriver data i 4 KB sider inde i 256 kB blokke. For at tilføje yderligere sider til en delvist udfyldt blok, skal solid state-drevet slette hele blokken, før du skriver data tilbage til den.
Når din solid state-diskette fyldes op, er der færre og færre tomme blokke til rådighed. På deres plads er delvist fyldte blokke. Solid state-drevet kan ikke bare skrive de nye data til disse delvist fyldte blokke - det ville slette de eksisterende data. I stedet for en simpel skriveoperation skal solid state-drevet læse værdien af blokken i dens cache, ændre værdien med de nye data og derefter skrive den tilbage. Husk at skrive en fil vil sandsynligvis indebære at skrive til mange blokke, så dette kan introducere en betydelig ekstra forsinkelse.
TRIM konsoliderer ikke delvist udfyldte blokke
Hvis du fylder et drev til kapacitet eller i nærheden af kapacitet, er det sandsynligt, at du vil ende med mange delvist udfyldte blokke, når du sletter filer. TRIM-kommandoen leder kun et solid state-drev til at fjerne fildata, når filen slettes. Det tvinger ikke drevet til at gøre nogen form for oprydning.
Med andre ord skal du udfylde et solid state-drev til kapacitet, før du sletter filer, og du vil sandsynligvis ende med mange delvist udfyldte blokke. Drevet vil ikke gå ud af sin måde at konsolidere disse delvist fyldte blokke i fuld blokke og frigøre tomme blokke. Drevet vil stadig være fuld af delvist fyldte blokke, og skriveydelsen bliver nedbrudt.
Overprovisioning og Garbage Collection
For at forhindre forbrugerne i at udfylde deres solid state-drev og ende op med alvorligt forringet ydeevne, går SSD-producenterne ud af deres måde for at imødegå dette.
Solid-state-drev til forbrugere afsætter ofte ca. 7% af deres samlede flashlagring og gør den utilgængelig for brugeren. Dette kaldes "overprovisioning" - ekstra lagerhardware tilføjes til drevet, men er ikke synlig for computeren som ledig lagring, den kan bruge. Reserveområdet sikrer, at drevet aldrig kan blive helt fyldt - der vil altid være en del ekstra kapacitet, der kan holde skriveprestationen stabil.
Hver solid state-drevs controller har en garbage-collection-algoritme for at forsøge at afbøde dette problem. Når drevet bliver fuld, vil det lede efter delvist fyldte blokke og begynde at konsolidere dem og frigøre så mange tomme blokke som muligt. Forskellige solid state-drev kører disse operationer på forskellige tidspunkter og tærskler - det afhænger af drevets controller.
Benchmark Evidence
Anandtech udførte en række benchmarks med forskellige drev for at drøfte forholdet mellem et solid-state-drevs reserveområde og konsistensen af dets skriveoperationsydelse. Når de fulgte et tomt drev, fandt de høj skriveydelse meget tidligt i processen, og et betydeligt fald, da skriveoperationerne fortsatte med at fylde drevet.
Indstilling af mere reservedele på drevene hjalp præstationen til at forblive konsistent, da det sikres, at drevet altid skal have nok tomme blokke klar.
De fandt ud af, at "minimumsydelsen forbedrer sig væsentligt, når du har ramt 25% reservedele for disse [forbruger] drev." Deres endelige anbefaling var, at du skulle "planlægge at bruge kun ca. 75% af [din drevens] kapacitet, hvis du vil have en god balance mellem ydeevne konsistens og kapacitet. "
Hvis du har et solid state-drev, bør du forsøge at undgå at bruge mere end 75% af sin kapacitet. Køb et større drev med mere lagerplads end du har brug for, og du vil sikre dig, at du altid har konsekvent skriveydelse. Heldigvis bliver SSD'er gradvist meget billigere, så dette er ikke så dyrt som det engang var.
Billedkredit: Musik sortering på Wikimedia Commons, Simon Wüllhorst på Flickr