Benchmarks er klare: Solid state-drev sænk farten, når du fylder dem op. Fyld dit solid state-drev til næsten kapacitet, og dets skriveydelse falder dramatisk. Årsagen til, at det ligger i den måde, SSD'er og NAND Flash-lagring fungerer på.
Fyldning af drevet til kapacitet er en af ting, du aldrig skal gøre med et solid-state-drev . Et næsten fuldt solid-state-drev vil have meget langsommere skriveoperationer, hvilket bremser din computer.
Tomme blokke og delvist udfyldte blokke
Når du skriver en fil til dit solid-state-drev, ser den efter tomme blokke og udfylder dem. Skrivning 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 fungerer forskelligt fra magnetiske harddiske, hvor bit af slettede filer sidder på harddisken .
De sidder ikke rundt 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 man skriver til den.
NAND Flash-hukommelse skriver data på 4 KB sider inde i 256 KB blokke. For at føje yderligere sider til en delvist udfyldt blok skal solid state-drevet slette hele blokken, før data skrives tilbage til den.
Når dit solid state-drev fyldes op, er færre og færre tomme blokke tilgængelige. I deres sted er delvist fyldte blokke. Solid-state-drevet kan ikke bare skrive de nye data til disse delvist udfyldte blokke - det vil slette de eksisterende data. I stedet for en simpel skriveoperation skal solid state-drevet læse blokens værdi i sin cache, ændre værdien med de nye data og derefter skrive den tilbage. Husk, at skrivning af en fil sandsynligvis vil involvere skrivning til mange blokke, så dette kan indføre en betydelig ekstra forsinkelse.
TRIM konsoliderer ikke delvist udfyldte blokke
Hvis du udfylder et drev til kapacitet eller næsten kapacitet, er det sandsynligt, at du ender med mange delvist udfyldte blokke, når du har slettet filer. TRIM-kommandoen dirigerer bare et solid state-drev til at fjerne fildata, når filen slettes. Det tvinger ikke drevet til at foretage nogen form for oprydning.
Med andre ord, udfyld et solid state-drev til kapacitet, før du sletter filer, og du vil sandsynligvis ende med mange delvist udfyldte blokke. Drevet går ikke ud af sin måde at konsolidere disse delvist udfyldte blokke i fulde blokke, hvilket frigør tomme blokke. Drevet vil stadig være fyldt med delvist udfyldte blokke, og skriveydelsen nedbrydes.
Overprovisionering og affaldsindsamling
For at forhindre forbrugere i at fylde deres solid state-drev og ende med stærkt forringet ydeevne går SSD-producenter ud af deres måde at imødegå dette.
Forbrugerkvalitets solid state-drev afsætter ofte ca. 7% af deres samlede flashlager og gør det utilgængeligt for brugeren. Dette kaldes "overprovisioning" - ekstra lagringshardware føjes til drevet, men er ikke synlig for computeren som tilgængelig lagerplads, den kan bruge. Reserveområdet sikrer, at drevet aldrig kan blive fuldt fyldt - der vil altid være en vis ledig kapacitet til at holde skriveydelsen stabil.
Hver solid-state-drevs controller har en skraldopsamlingsalgoritme til at forsøge at afbøde dette problem. Når drevet bliver fuldt, vil det lede efter delvist udfyldte 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 Bevis
Anandtech udførte en række benchmarks med forskellige drev for at drille ud forholdet mellem et solid-state-drevs reserveområde og konsistensen af dets skriveoperationsydelse. Når de udfyldte et tomt drev, fandt de høj skriveydelse meget tidligt i processen og et betydeligt fald, da skriveoperationerne fortsatte med at fylde drevet.
At afsætte mere reserveområde på drevene hjalp præstationen med at forblive konsistent, da det sikrede, at drevet altid skulle have nok tomme blokke klar.
De fandt ud af, at "den minimale ydelse forbedres væsentligt, når du rammer 25% ekstra areal til disse [consumer] drev." Deres endelige anbefaling var, at du skulle "planlægge kun at bruge ca. 75% af [your drive’s] kapacitet, hvis du ønsker en god balance mellem præstationskonsistens og kapacitet."
Hvis du har et solid state-drev, skal du prøve at undgå at bruge mere end 75% af dets kapacitet. Køb et større drev med mere lagerplads, end du har brug for, og du vil sikre, at du altid har ensartet skriveydelse. Heldigvis bliver SSD'er gradvist meget billigere, så dette er ikke så dyrt som det engang var.
Billedkredit: Music Sorter at Wikimedia Commons , Simon Wüllhorst på Flickr