Solid state drive

IntelSSD320_-HDDOpenStraight

Een solid state drive (SSD) is een medium om digitaal gegevens op te bewaren met behulp van niet-vluchtig (zoals flash) of vluchtig geheugen (bijvoorbeeld SDRAM). SSD’s worden voornamelijk gebruikt in computertoepassingen waar traditioneel een harde schijf gebruikt werd.

Kenmerkend aan solid state drives is dat er geen bewegende onderdelen gebruikt worden die wel in harde schijven te vinden zijn, zoals lees- en schrijfkoppen die op de juiste plaats gepositioneerd moeten worden. Daardoor is de toegangstijd tot een willekeurig gegeven verwaarloosbaar klein en treden er (weinig tot) geen mechanische fouten meer op.

 

Snelheid

SSD controllerSSD’s staan bekend om hun korte zoek- en toegangstijd. Tegenwoordig hebben SSD’s een toegangstijd van amper 0,1 milliseconde. Gegevens kunnen – onafhankelijk van waar ze zijn opgeslagen – altijd even snel gevonden worden. Dit komt doordat de SSD niet meer afhankelijk is van een roterende schijf (zoals bij een harde schijf) of bewegende lees-/schrijfkoppen (die zich eerst nog naar de juiste positie moeten verplaatsen om een bestand te kunnen lezen). Hierdoor is de toegangstijd veel korter dan bij een harde schijf. Defragmenteren is niet meer nodig. Bestanden die uit duizenden fragmenten bestaan worden nagenoeg net zo snel gelezen als een aaneengesloten bestand. Ook het wegschrijven van gegevens gaat veel sneller bij een SSD ten opzichte van een harde schijf. Er zitten vaak meerdere geheugenmodules in een SSD, die onafhankelijk van elkaar data kunnen wegschrijven.

Een SSD kan worden aangesloten via een SATA-aansluiting op een moederbord. Er zijn ook al SSD’s die via PCI en PCI Express worden aangesloten op het moederbord. Deze kunnen nog hogere snelheden halen, maar zijn vaak ook duurder dan de via SATA aangesloten exemplaren. Ze zijn dan ook voornamelijk bedoeld voor bedrijven in plaats van consumenten.

Vanwege de hoge snelheden worden SSD’s vaak als opstartschijf gebruikt, hierbij zet men het besturingssysteem op de SSD. Het voordeel hiervan is dat het besturingssysteem veel sneller opstart. Ook zware programma’s die veel data nodig hebben om goed te werken, worden vaak op SSD’s gezet. Een pc kan veel winst halen uit een SSD omdat de harde schijf meestal een bottleneck vormt voor een computer met recente hardware. Dit komt doordat de standaard draaisnelheid van harde schijven al jarenlang 7.200 RPM is. Er bestaan ook schijven van 10.000 of 15.000 RPM, maar ook deze zijn trager dan SSD’s. Het is moeilijk om harde schijven nog sneller te maken door de rotatiesnelheid te verhogen, aangezien bij nog hogere draaisnelheden van de interne schijf er te grote krachten optreden die storingen kunnen opwekken. Het is wel mogelijk harde schijven op andere manieren sneller te maken, bijvoorbeeld door de datadichtheid (hoeveelheid gegevens per vierkante centimeter) te verhogen.

103417-A-Data-512gb-SSD

 

SSD intern

Een solid state drive wordt gebruikt voor opslag van gegevens. Daarvoor is geheugen nodig. Bij SSD’s heeft men hiervoor de keuze uit twee soorten geheugens: DRAM en flashgeheugen.

 

DRAM

DRAM is hetzelfde soort geheugen als het geheugen dat als werkgeheugen (RAM) in een computer gebruikt wordt. Een op DRAM gebaseerde SSD is daardoor ook relatief eenvoudig te upgraden, namelijk door er modules in te steken die een grotere capaciteit hebben.

Het nadeel van DRAM-SSD’s is dat ze ofwel een batterij ofwel een aparte stroomtoevoer nodig hebben, aangezien het geheugen vluchtig is. Zonder deze voorziening zou een DRAM-SSD bij het uitvallen van de stroom alle gegevens verliezen.

 

Flashgeheugen

SSD’s met flashgeheugen zijn doorgaans trager dan SSD’s met DRAM, maar ze zijn wel goedkoper.

Een SSD met flashgeheugen is opgebouwd uit:

  • het flashgeheugen zelf: dit is voor de opslag van gegevens;
  • een geheugencontroller: deze zorgt ervoor dat de SSD gegevens kan wegschrijven in of verwijderen van het flashgeheugen;
  • cache: een SSD gebruikt hiervoor een kleine hoeveelheid DRAM. Dit verhoogt de prestaties van de SSD: gegevens kunnen gebufferd worden vóór ze door de geheugencontroller worden weggeschreven naar het flashgeheugen;
  • een batterij: deze zorgt ervoor dat de SSD de gegevens die nog in de cache staan niet verliest als de computer per ongeluk uitvalt door een elektriciteitsstoring. De batterij zorgt er dan voor dat de data ofwel wordt weggeschreven ofwel wordt bewaard totdat er weer stroom is.

MLC versus SLC

Solid state drives zijn onder te verdelen in twee typen: SLC en MLC. Een SSD bestaat uit verschillende cellen. Iedere cel heeft een analoge waarde. Deze analoge waarde, doorgaans een lading, spanning of weerstand, wordt onderverdeeld om tot een digitale waarde te komen.

Bij Single-Level-Cell SSD’s (SLC) wordt de analoge waarde van een cel verdeeld in twee bereiken: een hoog bereik en een laag bereik. Hierdoor slaat iedere cel effectief één bit op (0 of 1).

Bij Multi-Level-Cell SSD’s (MLC) wordt de analoge waarde in meer bereiken verdeeld. Hierdoor worden effectief meer bits per cel opgeslagen. Met vier analoge waarden zijn dat twee bits per cel (00, 01, 10 of 11), met acht waarden zijn dat er drie (000, 001, 010, 011, 100, 101, 110 of 111) enzovoorts.

Dit verschil heeft tot gevolg dat SLC’s betrouwbaarder, duurzamer en sneller zijn, terwijl MLC’s juist als voordeel hebben dat ze data veel compacter kunnen opslaan. Hierdoor kunnen MLC’s met dezelfde opslagcapaciteit goedkoper worden geproduceerd dan SLC’s.

 

TRIM

Wanneer SSD’s veel gebruikt worden, worden ze trager. Bij het schrijven in eerder gebruikte ruimte moet dit gebied eerst gewist worden, en deze handeling kost extra tijd. Daarom heeft men een nieuwe technologie ontwikkeld die dit tegengaat, namelijk TRIM. TRIM zorgt ervoor dat het besturingssysteem zoekt naar gebieden op de SSD die niet meer gebruikt worden. Vervolgens krijgt de controller van de SSD opdracht om deze gebieden alvast te wissen, zodat er zonder vertraging weer op geschreven kan worden.

De recentste SSD’s zijn bijna allemaal uitgerust met deze TRIM-functie. Het is aan te raden om bij aanschaf te kijken of een SSD deze technologie ondersteunt. Vóór TRIM was er wel al een alternatieve techniek die de SSD resette. Het nadeel hiervan was dat deze techniek alle data wiste die op de SSD stond, waardoor hij niet praktisch was om te gebruiken.

TRIM is geïntegreerd in Linux met kernel 2.6.33, Mac OS X 10.7 Lion, Windows 7, Windows 8 en Windows Server 2008 R2.

 

Voordelen

  • Snelheid: een SSD heeft een zeer korte toegangstijd en zeer hoge lees- en schrijfsnelheid.
  • Stilte: doordat een SSD geen bewegende onderdelen bevat, produceert een SSD geen geluid.
  • Gewicht: een SSD is vele malen lichter dan een harde schijf.
  • Zuiniger: een SSD heeft minder vermogen nodig om te werken dan een harde schijf.
  • Koeler: geen bewegende onderdelen dus minder warmteproductie.

Nadelen

  • Prijs: een SSD is (gerekend in prijs per gigabyte), al dalen de prijzen gestaag, nog vele malen duurder dan een harde schijf.
  • Capaciteit: de capaciteit van een SSD is nog niet zo groot als die van een harde schijf.
  • Verlies van snelheid: als geen maatregelen (zoals bijvoorbeeld TRIM) getroffen worden, wordt een SSD na veel herschrijven van data trager.
  • Degradatie (alleen voor flashgeheugens): na een aantal malen schrijven en wissen verliezen de cellen hun geheugencapaciteit. MLC’s kunnen ongeveer 5000 keer beschreven worden. TRIM zorgt ervoor dat alle cellen ongeveer gelijk belast worden. Zo gaat de hele schijf langer mee.Toepassingen

 

Toepassingen

Verwacht wordt dat SSD’s langzaam de mechanische harde schijven zullen vervangen. SSD’s die gebaseerd zijn op vluchtig geheugen zoals SDRAM worden gekenmerkt door snelle toegang. Er zijn SSD’s met toegangstijden van minder dan 0,01 milliseconde; meer dan 400 keer zo snel als de snelste harde schijven met anno 2012 een toegangstijd van 4 milliseconden. Voor consumenten die een doorsnee SSD kopen ligt de toegangstijd rond de 0,1 milliseconde. Omdat de prijs per gigabyte opslagcapaciteit vooralsnog hoger is dan bij conventionele harde schijven wordt een SSD nog wel vaak gecombineerd met een “gewone” harde schijf voor het opslaan van data.

Solid state drives kunnen applicaties die in hun snelheid beperkt worden door beperkingen van de harde schijf versnellen. Ze worden ook gebruikt als “boot disk” (opstartschijf). Ook hier spelen de hogere lees- en schrijfsnelheden een rol.

Ook kunnen SSD’s nuttig zijn in computers die al de maximum toegelaten hoeveelheid RAM gebruiken. Sommige x86-architecturen hebben bijvoorbeeld limieten van 4 GB aan RAM. Door gebruik te maken van een wisselbestand op een SSD kan dit probleem omzeild worden. Door beperkingen op de bandbreedte van de bus waarmee zo’n SSD met de rest van de computer verbonden is zal de SSD weliswaar niet de snelheid van het hoofdgeheugen halen, maar de snelheid blijft vele malen hoger dan wanneer het wisselbestand op een conventionele harde schijf zou staan.

Op DRAM gebaseerde SSD’s kunnen ook als cache gebruikt worden. Wanneer data naar een harde schijf weggeschreven moet worden, zal het overeenkomstige blok als gewijzigd (jargon: vuil of dirty) gemarkeerd worden. Alle gewijzigde blokken kunnen dan naar de harde schijf gesynchroniseerd worden op basis van een van de volgende strategieën:

  • tijd, bijvoorbeeld elke 10 seconden;
  • drempel, wanneer het percentage gewijzigde blokken een bepaalde vooraf gedefinieerde waarde overschrijdt;
  • een combinatie hiervan.

 

Eind 2011 werd de eerste supercomputer met 1024 SSD’s in gebruik genomen, goed voor de 48e plaats in de top 50 van supercomputers.