# Solid-state drive

Een solid-state drive of solid sta­te drive (SSD) is een medium waarop digitaal gegevens bewaard kunnen worden 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. SSD's staan bekend om hun korte zoek- en toegangstijd. Tegenwoordig hebben SSD's een toegangstijd van amper 0,1 milliseconde.

## Snelheid

Kenmerkend aan solid-state drives is dat er geen bewegende onderdelen gebruikt worden die wel in harde schijven te vinden zijn, zoals een roterende schijf of bewegende lees- en schrijfkoppen. Hierdoor treden er (weinig tot) geen mechanische fouten meer op en behoort het wachten op de schijf en het positioneren van de koppen tot het verleden. Gegevens kunnen – onafhankelijk van waar ze zijn opgeslagen – altijd even snel gevonden worden. 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 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.
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.

## 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 geheugen: 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.
Er zijn ook cellen die nog meer bits op kunnen slaan, dit zijn TLC (Triple Level Cell) en QLC (Quad Level Cell).

## 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. 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 de Linuxkernel vanaf versie 2.6.33, macOS vanaf versie 10.7 Lion en bij Windows vanaf Windows 7 en vanaf Windows Server 2008 R2.

## Voor- en nadelen

Dit zijn de voornaamste voor- en nadelen van een SSD ten opzichte van een harde schijf.

### Voordelen

* Snelheid: een SSD heeft een zeer korte toegangstijd en zeer hoge lees- en schrijfsnelheid.
* Stilte: doordat een SSD geen bewegende onderdelen bevat, produceert hij geen geluid.
* Gewicht en formaat: een SSD is vele malen lichter dan een harde schijf en kan ook zeer compact geïntegreerd worden in bijvoorbeeld een laptop.
* Zuiniger: een SSD heeft minder vermogen nodig om te werken dan een harde schijf, doordat hij geen draaiende delen bevat.
* Koeler: geen bewegende onderdelen dus minder warmteproductie.
* Minder kwetsbaar: omdat een SSD geen bewegende onderdelen heeft is deze minder gevoelig voor fysieke schokken en stoten.

### Nadelen

* Prijs: een SSD is (gerekend in prijs per gigabyte) nog steeds duurder dan een harde schijf (vroeger zelfs vele malen duurder).
* Degradatie (bij flashgeheugen): De cellen zullen na een aantal malen schrijven hun geheugencapaciteit verliezen. MLC's kunnen ongeveer 5000 keer beschreven worden. Hoe meer bits per cel worden opgeslagen, des te sneller deze cellen zullen slijten. TRIM zorgt ervoor dat alle cellen ongeveer gelijk belast worden. Zo gaat de hele schijf langer mee.
Opgeloste nadelen:
* Capaciteit: de capaciteit van een SSD was lange tijd niet zo groot als die van een harde schijf. Met de introductie van 2TB-SSD's en hoger, tot 32 TB, is dit probleem echter opgelost.
* Verlies van snelheid: als geen maatregelen (zoals bijvoorbeeld TRIM) getroffen worden, wordt een SSD na veel herschrijven van data trager. TRIM wordt bij de meeste besturingssystemen (zoals Windows 7 en later) standaard geactiveerd voor SSD's.

## Toepassingen

SSD's hebben de mechanische harde schijven grotendeels 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 soms gecombineerd met een "gewone" harde schijf voor het opslaan van (grote hoeveelheden) 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. Dit komt echter de levensduur van de SSD niet ten goede, gezien het beperkte aantal schrijfcycli bij flashgeheugencellen.
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.

## SSHD

Indien een solid-state drive als flashgeheugen in één fysieke unit wordt gecombineerd met een mechanische harde schijf, spreekt men van een hybride schijf of solid-state hybrid drive (SSHD). Het aanwezige, vaak kleine flashgeheugen wordt ingezet als cachegeheugen. De rest van de schijf wordt gevormd door de harde schijf, die vaak een hogere opslagcapaciteit heeft. Hierbij combineert men de snelheid van een SSD met een goedkopere en ruimere harde schijf.