Solid State Disk Terminologi – hvad betyder det hele?

Solid State Disk Terminologi – hvad betyder det hele?

9. marts 2012 4 Af Redaktionen

Denne artikel skal ses som et opslagsværk eller ordbog, der forklarer hvad de forskellige ord og vendinger der bliver brugt på siden og om SSD’er generelt, egentlig betyder. Listen vil løbende blive udvidet med flere ord, og hvis du synes der mangler forklaringer af nogle ting er du meget velkommen til at skrive en kommentar, så vil det blive tilføjet hurtigst muligt.

Controller

Controlleren er en del af SSD Disken, som giver mulighed for at din computer kan gemme data på disken. Det er controlleren som står for at dirigere data den får fra styresystemet rundt på disken, så de bliver gemt de rigtige steder. En god controller sørger for at skrivninger til disken bliver jævnt fordelt ud over hele disken, hvilket øger levetiden på NAND Flash cellerne.

Generelt kan man sige, at det er controlleren som styresystemet kommunikerer med, og det er denne enhed der sørger for at data kan komme til og fra disken.

Garbage Collection

Når data skrives til en SSD, bliver det skrevet i en enhed kaldet “sider”. En side består af flere celler, og indeholder dermed et antal bytes – normalt omkring 4 KB. Der kan kun skrives til sider på en SSD, såfremt de er blevet slettet helt fra disken. Når der skal slettes data på en SSD, skal dette ske i blokke – en blok indeholder et bestemt antal sider. Normalt er kapaciteten af én blok på 64, 128, 256 eller 512 KB. Dette betyder således, at for at slette en enkelt side, skal man slette alle siderne i hele den blok som siden tilhører.

Hvis en side i en blok ikke længere er i brug (for eksempel hvis styresystemet via TRIM har sagt, at en side skal slettes) vil den altså stadig ligge og optage plads på disken indtil hele blokken slettes. Det Garbage Collection gør, er simpelthen at finde en ny blok hvor der ikke er nogle sider som ikke længere er i brug men stadig optager plads. Når den finder en blok med det nødvendige antal frie sider, kan den flytte alle data fra den oprindelige blok hertil. Da alle de data der er i brug nu er flyttet, vil det være muligt at slette hele den oprindelige blok, og dermed frigøre de sider, som ikke længere var i brug, men blot optog plads.

Alt dette sker fuldstændig automatisk, men det er forskel på hvordan forskellige diske udfører denne operation og hvor hurtigt det går.

NAND Flash

En SSD er opbygget af NAND Flash moduler, og det er disse moduler som står for at gemme dine data. NAND refererer til den måde hvorpå de transistorer der udgør enheden er opbygget. Det kræver 7 transistorer at lave én NAND “celle”, og et NAND Flash modul indeholder normalt mange tusinder af disse celler.

En NAND celle kan kun skrives til og slettes et bestemt antal gange før den går i stykker. Derfor er det vigtigt at controlleren sørger for at fordele skrivninger forholdsvist jævnt ud på disken, således der ikke er få celler der bliver skrevet til meget tit og andre celler der stort set aldrig bliver brugt.

MLC

MLC står for Multi-Level Celle. Det er en type NAND Flash, der har flere tilstande end blot 2. Man kan se det som en kontakt som har flere tilstande end bare “Tændt” og “Slukket” – for eksempel en kontakt på ens kogeplade, der kan drejes og stillet på tal mellem 1 og 5. Hvert tal udgør en tilstand.

Normalt benytter SSD Diske MLC NAND Flash, der har 4 forskellige tilstande. Det svarer altså til at ens kogeplade kan sættes på 0, 1, 2 eller 3.

MTBF

Dette er et engelsk begreb, og står for “Mean Time Between Failures” – oversat til dansk: Gennemsnitlig tid mellem der sker fejl. Det er et tal, normalvis skrevet i timer, der angiver en gennemsnitstid for hvor ofte der forekommer en fejl på en SSD Disk.

SLC

SLC betyder Single-Level Celle og har i modsætningen til MLC kun 2 tilstande, nemlig “Tændt” eller “Slukket”. Som eksempel på dette kan vi kigge på en helt normal kontakt – SLC fungerer på denne måde hvor den kan være enten 0 eller 1.

TRIM

TRIM er ikke en forkortelse, selvom det skrives med store bogstaver. TRIM dækker over en operation som styresystemet kan udføre på en SSD Disk. Denne operation går ud på at give SSD’en besked på hvilke blokke på SSD’en, der ikke længere er i brug. En blok indeholder et antal bytes på disken og er inddelt i et antal “sider”, der typisk fylder omkring 4-8 KB. En fil fylder typisk flere blokke og mange sider på ens disk, og når man sletter en fil vil styresystemet (Windows, Linux, Mac OS X osv.) give SSD’en besked om at de blokke som filen ligger på, ikke længere er i brug. Diskens controller vil så finde ud af hvilke sider, som ikke længere indeholder data der er nødvendig, og disse sider vil så blive markeret til senere sletning.

Grunden til at TRIM er en god ting, er at SSD’er normalt har en indbygget Garbage Collection, som sørger for at flytte rundt på data så de ligger bedre i forhold til hinanden og i forhold til diskens brug. Når SSD’en har fået besked på at nogle blokke ikke længere er i brug, vil den dermed ikke flytte rundt på de data som ligger her. Selvom du sletter en fil i dit styresystem betyder det ikke nødvendigvis at filen fysisk er slettet fra disken endnu, men det er spild af ressourcer at flytte rundt på ubrugte data. Grunden til at data ikke nødvendigvis er slettet fysisk fra SSD’en, er den måde en SSD fungerer på. Man kan ikke bare overskrive NAND Flash celler. Før man kan skrive til en celle, skal denne være “tom”, hvilket den kun kan blive hvis den slettes først. Det er her hvor Garbage Collection også kommer ind, og hjælper med at frigive de sider, der er markeret til sletning.

Når ubrugte data ikke flyttes rundt, vil man dermed spare de skrivninger der sker når data flyttes rundt. Dette medfører en forlænget levetid for de enkelte NAND Flash celler og bedre ydeevne, da disken ikke behøver flytte rundt på så mange data.