Seks SSD-er fra forskjellige produsenter. Mye er likt på både utsiden og innsiden. Forskjellene er imidlertid store.

Guide SSD-en din blir tregere hver dag

Seks SSD-er fra forskjellige produsenter. Mye er likt på både utsiden og innsiden. Forskjellene er imidlertid store.

SSD-en din blir tregere hver dag

Annonsør­innhold
Les hele saken »

To typer, samme innmat

Transistor

Lær mer om transistoren i guiden "Elektronikkens verden"

MLC
Multi-level Cell – Lagringscelle som kan lagre mer enn én bit.

SLC
Single-level Cell – Lagringscelle som kan lagre én bit.

Når du jobber på maskinen din, lagres og leses det fortløpende fra SSD-en din. Men, det som er viktig å tenke på er at det ikke er bare de filene du fysisk lagrer, slik som et bilde fra nettet, som faktisk går inn og ut av SSD-en. Operativsystemet i seg selv, samt alle programmene du benytter, lagrer og leser mye. Det er mange små filer i sving, og det er de absolutt minste filene, på 4 KB, det er mange av. Disse lagres på SSD-en både tilfeldig og sekvensielt (rett etter hverandre på linje).

Når du har en SSD i maskinen din, og "lagrer" en fil, fester denne seg i selve minnet på SSD-en. Minnet ser vi på som en samlet gruppe i Windows, for eksempel 200 GB. Fysisk er det derimot snakk om noe helt annet, de 200 GB vi snakker om kan brytes ned i mindre og mindre grupper, og den minste enheten du kommer ned til ser du på bildet over – en MOSFET-transistor av N-typen.

Det er i selve transistoren at informasjonen lagres, og en SSD inneholder ufattelig mange slike. Vi skiller mellom to kategorier SSD-er, som skilles avhengig av nettopp denne lille transistoren. I de dyreste SSD-ene bruker man Single-level Cell (SLC). Her lagres det en bit med data. Alternativet er Multi-level Cell(MLC)-SSD-er, der lagres det to bit i hver celle. En bit er den minste digitale enheten, og det er da snakk om at cellen inneholder "1" eller "0". Selve transistoren er fysisk den samme uansett om det er MLC eller SLC, det er hvordan man lagrer informasjonen som skiller de to.

Man lagrer informasjon i transistoren ved hjelp av teknikken "electron tunnelling". Man setter nok spenning på gatene så dannes det et magnetisk felt, og elektronene smetter igjennom oxide-tunellen. Når spenningen så forsvinner sitter elektronene fast i "Floating Gate" på tegningen, og informasjonen er dermed lagret. Man har da to stadier, "1" og "0" der begge er en form for informasjon, og hver en enkelt bit.

"Nok spenning" er i dette tilfellet verdier som er satt av kontrollerprodusenten. For SLC-minne er det snakk om to verdier, mens det for MLC minne er fire forskjellige verdier. Den maksimale og den minste spenningen er den samme, det er bare flere verdier i mellom der elektronene slipper igjennom tunnelen. Ved MLC-minne kan man da for eksempel lagre "01".

MLC og SLC tar opp like mye fysisk plass, og de er det samme produktet. Forskjellen er altså at MLC dobler den effektive lagringsplassen, noe som senker kostnaden betraktelig. MLC krever imidlertid at lagringen og lesingen av cellen tar mer tid. Med SLC får du dermed en noe raskere SSD, men det er ikke den forskjellen som gir deg størst bonus – nøkkelen er levetid.

Det er nemlig begrenset hvor mange ganger man kan "åpne" oxide-tunellen. Den blir slitt, og etter en gitt tid klarer den ikke å holde igjen elektronene og du mister dermed dataene dine. På det punktet betegner man cellen som død.

Minnebrikker på en SSD
Minnebrikker på en SSD. Hver enkelt inneholder utrolig mange celler.

Vi skal snakke langt mer om dette senere, men det du foreløpig skal bekymre deg for er hva som sliter på tunnelen. Det å lese informasjonen, slik som når du åpner et tekstdokument eller et bilde, sliter ikke på tunnelen. Man tar tross alt bare en kikk på hva som ligger lagret, man endrer ikke noe på informasjonen. Det er først når du sletter eller skriver informasjonen på nytt at slitasjen oppstår. Siden SLC-SSD-ene er noe enklere oppbygget her, kan de leve opp mot 10 ganger så lenge.

Så langt virker alt med SSD-verdenen flott og fint, men det er på det neste punktet det meste gikk galt sommeren 2008. Du kan dessverre ikke slette på samme måte som du lagrer, og når man med SSD-er har begrenset antall muligheter til å slette og lagre, bør det gjøres med varsomhet.

Lagring og sletting er langt fra like lett

De små cellene, altså den lille transistoren vi snakket om over, utgjør den minste enheten i en SSD. Disse arrangeres sammen til det vi kaller en "page". En "page" er typisk på totalt 4 KB, eller hele 4096 små celler i SLC-minne, og 2048 i MLC-minne. En page er den minste enheten du kan skrive eller lese på en SSD.

Klikk for større versjon
Klikk for større versjon

Die
Les mer om hva en die er på Wikipeida.

"Pages" arrangeres så i blokker. Normalen er 128 pages på en blokk, noe som betyr at en blokk inneholder 512 KB data. Videre er blokkene gruppert inn i planes. Flere planes er så klemt sammen i en "die". En minnebrikke, altså den fysiske svarte klumpen du kan se på innsiden av en SSD, inneholder typisk 1-4 dies.

Transistoren på forrige side omtales i en slik sammenheng som en NAND-celle, mens en en minnebrikke omtales som NAND-flash.

Her kommer det viktige: Blokkene er den minste enheten du kan slette på en SSD. Du kan altså skrive og lese "pages", men bare slette en hel blokk – altså 128 pages. Ser du problemet?

La oss bruke en enkel og grunnleggende illustrasjon for å vise problemet.

Et bilde på 8 KB trenger to pages, hver på 4 KB.

For å gjøre eksempelet enkelt å forstå må vi kaste et par faktum til side. De blå firkantene er pages, hver på 4 KB. De fem utgjør en blokk. SSD-en vi da har foran oss er på 20 KB, hverken mer eller mindre. Du vil lagre et bilde på 8 KB, som da må fordeles over to pages. SSD-en gjør dette uten å mase, og et par nanosekunder senere er bildet trygt lagret.

Bildet tar opp 8 KB, dokumentet 4 KB. Totalt 12 KB foreløig.

Videre vil du lagre et dokument, i dette tilfellet en Open Office-fil på ganske nøyaktig 4 KB. Igjen skjer lagringen smertefritt på brøkdelen av et sekund.

Dokumentet slettes, men SSD-en inneholder fortsatt 12 KB data.

Senere bestemmer du deg for å slette tekstdokumentet, og her kommer trikset. I operativsystemet, Windows i dette tilfellet, sletter du filen, men Windows forteller aldri SSD-en at denne skal slettes.

Windows har en egen oversikt over alle adressene til hver page på SSD-en. Dette kalles LBA, og er egentlig bare en stor oversikt over statusen til hver enkelt page. Dette er en oversikt Windows selv har, og den deles ikke med SSD-en. Windows vet selv at denne filen ikke betyr noe for deg, og den er ikke synlig i operativsystemet. Den finnes derimot fortsatt på SSD-en. Det eneste som skjer når du sletter en fil er at Windows, i sin egen oversikt, markerer pagen som "slettet". Det er akkurat derfor du i blant har mulighet til å gjenopprette filer selv om du har slettet dem, fordi de ikke blir fysisk slettet før du skriver noe nytt på det samme området.

SSD-en inneholder fortsatt 12 KB, selv om 4 KB (dokumentet) egentlig er slettet.

Så langt sier Windows at du bare har brukt 8 KB (bildet) av SSD-en, og det skulle da være 12 KB ledig. Fysisk inneholder den imidlertid fortsatt 12 KB, og har bare 8 KB ledig plass.

Om du da vil lagre et nytt bilde, et bilde på 12 KB, sier Windows at du har plass til dette - tekstdokumentet er tross alt "slettet" fra din side. Og her begynner sirkuset. Når det 12 KB store bildet treffer SSD-en følger det med instruksjoner om at den først må fysisk slette tekstdokumentet før bildet kan skrives. Kunne man ha slettet en enkelt page hadde dette gått lett, men det kan den ikke, det er bare hele blokken som kan slettes. Det ønsker du ikke, for bildet som allerede er lagret vil du fortsatt beholde.

"Redningen" er et lite hurtigminne, ofte en ledig del av minnet et annet sted på SSD-en. Alternativt har SSD-en en egen liten minnebrikke på siden for nettopp slike oppgaver. For å kunne skrive den nye bildefilen setter SSD-en igang et salig kaos av arbeidsoppgaver.

Det SSD-en gjør først av alt gjør er å lese hele blokken, for så å skrive denne inn i en annen del av minnet. Det "slettede" dokumentet blir nå fysisk slettet i den samme prosessen. Det nye bildet blir skrevet til de tre ledige pagene, før hele blokken igjen blir lest for så å bli skrevet tilbake der den hører hjemme. Totalt fem steg, langt mer enn hva som burde være nødvendig.

Windows tror fortsatt at det eneste du har gjort er å skrive et bilde på 12 KB, men i virkeligheten har SSD-en gjort langt mer jobb enn dette. Både skriving, endring og lesing er utført, og det har tatt mer enn dobbelt så lang å skrive det lille bildet i forhold til hva det burde.

I tillegg gjelder dette eksempelet bare en liten blokk, med en urealistisk liten oppgave på totalt 20 KB. Intel og flere av deres tilhørende OEM-produsenter gikk sammen og definert at man som en bransjestandard skal gå ut i fra at brukeren omsetter totalt 20 GB hver eneste dag – bare for å i det hele tatt ha et tall på bruken av en SSD.

Resultatet er at SSD-en gjør langt mer jobb enn det som er nødvendig. Etter at du har fylt SSD-en til randen for første gang, selv om du har slettet mange av filene dine, vil ytelsen stagnere fordi SSD-en må gjøre fem oppgaver fremfor bare én. Dette fører i sin tid til at over tid, alt fra dager til måneder, blir SSD-en tregere enn en konvensjonell harddisk. Heldigvis fungerer det ikke lenger slik i praksis, en rekke tiltak er på plass for at SSD-en skal trenge å gjøre denne oppgaven så få ganger som overhode mulig, og når oppgaven først må gjøres skal ikke du merke det.

Spredning øker farten

Flere av SSD-ene som var på markedet i tiden frem til og rett etter Intels lansering av X25-M slet virkelig med dette problemet. På et gitt tidspunkt ble SSD-ene så fulle av brukbar og slettet data at du hverken får lagret eller slettet noe som helst. En fastlåst situasjon, enkelt og greit, og eneste vei ut var å miste all dataen din.

Heldigvis var ikke alle SSD-er så dumme.

SSD-er er faktisk ganske smarte, og deler av redningen ut av dette ytelsestapet kommer fra det faktumet at en SSD er en SSD. Den er digital hele veien, det er ingen bevegelige deler eller en plate man må vente på at har rotert til det riktigste steder hver bidige gang det skal leses eller skrives. Når du ikke gjør noe på maskinen kan den flytte dataene til mer logiske steder. En enkelt fil kan være spredd over forskjellige steder på SSD-en, det går ikke ut over ytelsen.

Innmaten til OCZs nyeste SSD.
Innmaten til OCZs nyeste SSD.

I motsetning til eksempelet vårt har en normal SSD flere tusen blokker. Når du for eksempel skriver til page 3, 4, 5 og 6 i en blokk, og så sletter page 5, vil ikke SSD-en prøve å skrive noe til denne før alle de andre pagene er fylt opp. SSD-er bruker algoritmer som sørger for at den må slette og skrive til hver page så lite som overhodet mulig. Ikke bare vil levetiden øke, men SSD-en vil slites jevnt.

Du må altså fylle SSD-en helt til randen før problemet med lagring og sletting begynner og bli synlig. Om du omsetter 20 GB data slik de store produsentene definerer forbruket ditt, tar ikke det mer enn et par dager, kanskje et par uker i beste fall. Hva gjør du så da? Følg med over til neste side, så ser vi nærmere på teknologiene som slår ned på problemet.

Norges beste mobilabonnement

April 2019

Kåret av Tek-redaksjonen

Jeg bruker lite data:

Youteam 1 GB


Jeg bruker middels mye data:

GE Mobil Leve 6 GB


Jeg bruker mye data:

Chili 25 GB


Jeg er superbruker:

Chili Fri Data


Finn billigste abonnement i vår mobilkalkulator

Forsiden akkurat nå

Til toppen