Hvordan

TRIM for avanserte brukere

I Computer! Totalutgave 4/2010 testet vi fem SSD-er med støtte for TRIM. For enkelhets skyld antok vi steder i testen som stedet hvor en SSD kan lagre data. Egentlig brukes såkalte "sider" og "blokker" til dette. I denne artikkelen vil vi se nærmere på hvordan sider, blokker og forholdet til TRIM fungerer.

TRIM er en kommando som sikrer at en SSD opprettholder optimal skriveytelse. Driften av TRIM kan bare virkelig forstås hvis du kjenner strukturen til en SSD. En SSD lagrer informasjon på "sider", som er gruppert i en "blokk". For å forstå disse konseptene, bør du først vurdere sammensetningen av Multi Level Cell (MLC) SSD-er som testet i Computer! Total 4/2010. En MLC-SSD består av milliarder minneceller, som hver kan lagre flere biter. En bestilt samling av disse cellene kalles en side og er den minste enheten for å lagre eller lese tilbake en fil i en SSD. En side har vanligvis en størrelse på 4 KB. Så hvis du lagrer en fil på 1 KB, tar denne filen opp 4 KB på SSD.

Blokker

En blokk er en viktig enhet for en SSD, fordi det er den minste samlingen av "sider" som en SSD må lese for å slette data. En blokk består av 128 av disse sidene og har en størrelse på 512 KB. Nå er det slik at en SSD fungerer som x antall minnemoduler i et RAID-array. Dette betyr at en fil er spredt over flere minnemoduler for maksimal lesehastighet. Windows "snakker" til SSD-en via Logical Block Addressing (LBA), og holder rede på hvilke blokker som er i bruk og hvilke som er tilgjengelige. Fordi en SSD fungerer med sider, må SSD-kontrolleren konvertere LBA-kommandoene. Windows-kommandoen for å overskrive en fil blir oversatt av en SSD (hvis mulig) for å skrive til en tom side. Hvis det ikke er tomme sider, må sidene være tomme først.

Forsink skriftlig

Det oppstår et problem når det ikke er nok tomme sider tilgjengelig for å lagre en fil når det er mer enn nok ledig plass i henhold til Windows-indeksen. Tross alt blir en fil faktisk aldri slettet når kommandoen er gitt. Dette skjer bare når den aktuelle filen blir overskrevet av nye data. Et problem med dette er at en SSD ikke kan overskrive sider direkte som inneholder deler av filer som ikke lenger er i bruk. En SSD må først lese blokker og plassere dem i sitt eget hurtigminne, fordi data bare kan slettes der. I hurtigminnet tømmes de aktuelle sidene, og deretter settes hele blokken med tomme sider tilbake på SSD, hvoretter disse sidene er tilgjengelige for nye data. Dette bremser skriveprosessen med en faktor på tre eller flere.

LISTVERK

Redningsengelen for disse situasjonene er TRIM. Dette er en kommando som Window 7 sender til SSD under en tørking. Denne kommandoen informerer kontrolleren av SSD-en om hvilke sider som faktisk kan slettes, og setter SSD-en i arbeid ved å lese blokker og tømme sidene som er fylt med filer (og hvilke Windows kan overskrive). På denne måten forblir en SSD i optimal stand ved å ha tilstrekkelig tomme sider på lager, og en skriveoppgave kan alltid utføres optimalt. Vi viser deg trinn for trinn hva som skjer når en SSD skriver og sletter filer og hvordan TRIM sørger for at det alltid er nok sider ledig.

1. Tom SSD

Tenk deg at vi har en SSD med en lagringskapasitet på nøyaktig 1 blokk. En tom blokk på 512 KB på SSD består av 128 tomme sider på 4 KB.

2. Skriv fil

Vi ønsker å skrive en fil på 12 KB, som vil fylle 3 sider på 4 KB (blå).

3. Skriv en annen fil

Vi vil deretter skrive en ny 8 KB-fil (lilla). Totalt har vi tatt i bruk 20 KB. Så vi har fortsatt 512 KB - 20 KB = 492 KB gratis, eller 123 gratis sider.

4. Slett filen

Vi skal nå slette 8 KB-filen (lilla). I følge Windows har SSD-en vår fortsatt 512 KB - 12 KB = 500 KB tilgjengelig. Imidlertid registrerer SSD-en vår fortsatt 123 tomme sider og 2 sider med data som kan bli slettet.

5. Lagre filen

Vi skriver nå 4 KB (grønn). De to sidene som inneholder informasjon med "data som skal slettes" hoppes over av SSD. Først fylles de tomme sidene ut.

6. TRIM på jobben

Med støtte for TRIM sender Windows 7 TRIM-kommandoen sammen med en slettingshandling. Som et resultat vet kontrolleren av SSD at disse dataene faktisk kan slettes. Når SSD ikke har noe å gjøre på en stund, vil SSD flytte hele blokken på 512 KB, hvorav en del er utpekt som sletting av TRIM-kommandoen, til hurtigminnet. Her blir filen (lilla) slettet av TRIM-kommandoen faktisk slettet.

7. Sider slettes

Nå kan de to sidene tømmes og hele blokken settes tilbake. Du kan forestille deg når du skal slette en 10MB-fil, vi må slette totalt 2560 sider. Hvis de da også er delt over forskjellige blokker, så må mye data leses. Selv om en blokk bare inneholder 4 KB av filen, må 512 KB leses for å slette 4 KB-delen. TRIM sørger for at dette skjer når du ikke bruker SSD.

8. Frigjør plass igjen

Nå er de 2 sidene bare klare til å bli skrevet igjen.

9. Lagre filen på ledig plass

Hvis det nå er skrevet en fil på 12 KB, er det nok sider gratis til å lagre filen (oransje).

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