Samenvatting: Het gewissen van een bestand van een SSD maakt het niet automatisch onherstelbaar. Wat de uitkomst bepaalt, is niet het gewissen zelf, maar wat de controller van de schijf in de daaropvolgende tijd doet. Via processen zoals TRIM en garbage collection — die onafhankelijk van gebruikersacties worden uitgevoerd — wist de controller geleidelijk blokken die niet langer in gebruik zijn. Hoe ver dat achtergrondproces op het moment van de herstel is gevorderd, bepaalt wat nog toegankelijk is en wat definitief is gewist. Daarom kunnen twee opdrachten van gegevensverlies die identiek lijken, tot verschillende resultaten leiden. In dit artikel wordt uitgelegd hoe dat proces werkt en waarmee u rekening moet houden voordat u de herstel onderneemt.
Een gewist bestand verdwijnt niet altijd op de manier die de meeste mensen veronderstellen. Op een harde schijf blijft de data precies op dezelfde plek op de schijfplaat staan totdat er iets nieuws overheen wordt geschreven; daarom is de herstel in dat geval grotendeels een kwestie van handelen voordat die overschrijving plaatsvindt.
Solid-state drives (SSD’s) maken dat beeld aanzienlijk ingewikkelder. Twee SSD’s met hetzelfde type gewist bestand kunnen binnen enkele minuten na elkaar in totaal verschillende toestanden terechtkomen, aangezien SSD-controllers onderhoudscycli uitvoeren tijdens inactieve periodes, waaronder TRIM-verwerking en garbage collection, die de NAND-blokken van een gewist bestand kunnen wissen lang voordat de gebruiker merkt dat er iets mis is. De oorzaak ligt in de schijf zelf, in een onderdeel dat zijn eigen routines uitvoert, onafhankelijk van wat de gebruiker doet.
Wat is een SSD-controller?
Een SSD-controller is de ingebouwde processor die verantwoordelijk is voor elke bewerking op de schijf, inclusief de communicatie tussen de hostcomputer en de NAND-flashgeheugencellen. Het besturingssysteem heeft geen directe verbinding met de NAND-chips. Alle lees-, schrijf- en gewiste instructies lopen eerst via de controller, en de controller voert daadwerkelijk de bewerkingen uit op het opslagmedium.
Deze communicatie wordt mogelijk gemaakt door de Flash Translation Layer, of FTL. De FTL is een firmwarelaag waarin de controller een koppeling onderhoudt tussen de logische blokadressen, zoals die door het besturingssysteem worden geïnterpreteerd, en de fysieke NAND-locaties van het flashgeheugen van de SSD. Dit wordt logisch-naar-fysiek koppelen genoemd, afgekort als L2P.
Het onderhouden van de FTL is een van de kernfuncties van de controller, naast het waarborgen van de levensduur en de betrouwbaarheid van de data op de schijf. Wat de herstel betreft, is de belangrijkste rol van de FTL het bepalen hoe snel gewiste data fysiek uit de flashcellen worden gewist.
In hoeverre verschilt het proces van gegevensverwijdering op een SSD van dat op een HDD?
SSD’s en HDD’s gaan op fundamenteel verschillende manieren om met het gewismaken van data, wat voortkomt uit de fysieke eigenschappen van elk opslagmedium en uit de wijze waarop hun controllers lees- en schrijfbewerkingen beheren.
Het belangrijkste verschil komt neer op de manier waarop elk opslagmedium een schrijfbewerking uitvoert. HDD’s maken gebruik van ‘write-in-place’-media, terwijl SSD’s werken met ‘erase-before-write’-media. Die ene architecturale keuze heeft grote gevolgen voor het gedrag van gewiste data en voor de mate waarin deze daarna nog herstelbaar zijn.
Dit is het waard om nader te bekijken.
'Write-in-place' versus 'erase-before-write'
Op een harde schijf kunnen nieuwe data in één bewerking direct over bestaande data worden geschreven. Wanneer een bestand wordt gewist, verwijdert het besturingssysteem de vermelding ervan uit de bestandssysteemtabel en markeert het de bijbehorende sectoren als beschikbaar. De oorspronkelijke data blijven fysiek intact op de schijfplaten totdat een volgende schrijfbewerking die sectoren overschrijft.
SSD’s werken anders. NAND-flashcellen moeten volledig worden gewist, waarbij alle bits op 1 worden gezet, voordat ze met nieuwe data kunnen worden geprogrammeerd door selectief bits op 0 te selecteren. Wanneer de controller een bestand moet bijwerken, schrijft deze de nieuwe data naar een vrij blok en markeert de oude locatie voor verwijdering. Direct overschrijven is niet mogelijk.
Deze beperking van ‘wissen vóór schrijven’ houdt in dat de schijf schrijf- en wisbewerkingen op verschillende niveaus moet beheren, en dat onderscheid heeft directe gevolgen voor de manier waarop de controller de opslag coördineert en hoe gewiste data zich op het medium gedragen.
NAND-architectuur: pagina’s versus blokken
Het NAND-geheugen van een SSD wordt georganiseerd en beheerd via twee afzonderlijke eenheden. Een pagina is de kleinste eenheid die kan worden gelezen of geschreven, doorgaans tussen de 4 en 16 kilobyte. Telkens wanneer de host zelfs maar één byte aan data opvraagt, moet de SSD-controller een volledige pagina lezen of schrijven.
Een blok is de kleinste eenheid die kan worden gewist en bevat doorgaans tussen de 64 en enkele honderden pagina’s. De controller kan naar een afzonderlijke pagina schrijven, maar kan deze niet afzonderlijk wissen. Om ruimte vrij te maken, moet het gehele blok worden gewist. Als een blok zowel pagina’s met geldige data als gewiste pagina’s bevat, moet de controller eerst de geldige pagina’s naar een lege locatie verplaatsen. Pas daarna kan het oorspronkelijke blok worden gewist.
Deze discrepantie tussen pagina’s en blokken is een architectonisch gegeven waarmee elke SSD-controller moet omgaan.
Het gegevensverwijderingsproces in een SSD
Het verwijderingsproces in een SSD verloopt in drie fasen.
1. Logische vrijgave: het TRIM-commando, wat het doet en wat het niet gewist heeft
Wanneer een gebruiker een bestand gewist heeft, geeft het besturingssysteem een TRIM-commando af aan de SSD-controller. De controller markeert de betreffende pagina’s als ongeldig in de FTL-toewijzing.
De data zelf wordt in deze fase nog niet gewist. Ze blijven fysiek aanwezig in de NAND-cellen en zijn alleen logisch onbereikbaar. Elk volgend TRIM-commando voorziet de controller van een bijgewerkte lijst met logische blokadressen (LBA’s) die niet langer in gebruik zijn.
Opmerking: Het TRIM-commando markeert relevante pagina’s als ongeldig. Het verwijdert of wijzigt de data op die pagina’s niet.
2. Garbage Collection: het achtergrondproces dat pagina’s voorbereidt op definitieve verwijdering
De SSD-controller voert een autonoom proces uit dat ‘garbage collection’ wordt genoemd, om NAND-geheugenblokken die gevuld zijn met ongeldige pagina’s vrij te maken. Tijdens dit proces identificeert de controller een ‘dirty block’, verplaatst eventuele resterende geldige pagina’s uit dat blok naar een ‘clean block’ en plaatst het oorspronkelijke blok in de wachtrij voor verwijdering. De controller stelt deze taak doorgaans uit tot momenten waarop de schijf inactief is.
3. Fysieke NAND-wissing: permanente verwijdering van data uit NAND-flashgeheugen
De SSD-controller past via Fowler-Nordheim-tunneling een hoogspanningspuls tussen 15 en 20 volt toe op het blok. Deze puls verwijdert de opgesloten elektronen uit de flashgeheugencellen en zet elke bit in het blok terug naar een logische 1. Zodra deze fase is voltooid, zijn de data definitief gewist.
Dit driestappenproces laat zien waarom de herstel van gewiste SSD-data onvoorspelbaar is. Het tijdsvenster tussen het vrijgeven van de pagina en het fysiek wissen van het blok is het moment waarop de herstel nog mogelijk kan zijn.
Hoe beïnvloedt een SSD-controller de werking en de veerkracht van de schijf?
Het opslaan en gewissen van data is slechts een deel van wat de controller doet. Deze zorgt er ook voor dat de schijf blijft draaien, beschermt de opgeslagen data en beheert de celverslijting – het onderwerp van dit hoofdstuk.
1. Beheer van opslag
In een SSD vinden lees- en schrijfbewerkingen plaats op paginaniveau, maar het wissen gebeurt op blokniveau. Om binnen deze beperking efficiënt te kunnen werken, beheert de controller meerdere parallelle kanalen en logische eenheden (LUN’s), een mechanisme dat parallellisme wordt genoemd.
De controller verdeelt bewerkingen over deze LUN’s, waarbij een nieuwe opdracht op één chip wordt gestart terwijl een andere nog bezig is met een bewerking met lange latentie, zoals het programmeren of wissen. Dit wordt ‘interleaving’ genoemd.
De controller bundelt tevens kleine, verspreide schrijfbewerkingen tot grotere, sequentiële NAND-pagina-programmeringen, in plaats van elke schrijfbewerking afzonderlijk uit te voeren. Hij buffert en voegt ze samen tot grotere sequentiële schrijfbewerkingen om onnodige slijtage aan NAND-cellen te verminderen. Dit mechanisme wordt ‘write coalescing’ genoemd.
2. Handhaving van de dataintegriteit
Een SSD-controller waarborgt continu de integriteit van de data via twee belangrijke functies.
De eerste is foutcorrectie. NAND-cellen vertonen naarmate ze ouder worden bitfouten, die zich bij elke programmeer-/wiscyclus opstapelen. De controller pakt dit aan met behulp van speciale Error Correction Coding (ECC)-engines op basis van algoritmen zoals Low-Density Parity-Check (LDPC) of Bose-Chaudhuri-Hocquenghem (BCH). Deze engines detecteren en corrigeren omgedraaide bits bij elke leesbewerking, waardoor wordt gewaarborgd dat het besturingssysteem ontvangt wat oorspronkelijk was geschreven.
De tweede functie is bescherming tegen stroomuitval (Power Loss Protection, PLP). In enterprise-schijven is de controller gekoppeld aan condensatoren die een korte tijd stroom kunnen opslaan. Als de schijf plotseling zonder stroom komt te zitten, geven deze condensatoren de controller voldoende tijd om alle data die zich nog in de vluchtige buffers bevinden, naar de NAND te schrijven.
3. Verlenging van de levensduur
NAND-cellen hebben een beperkte levensduur. Elke cel kan slechts een beperkt aantal keren worden geprogrammeerd en gewist; deze limiet wordt gemeten in Program/Erase (P/E)-cycli. Om deze levensduur te verlengen, verdeelt de controller de slijtage over de cellen aan de hand van twee methoden.
De eerste methode is dynamische slijtageverdeling, waarbij de controller nieuwe schrijfbewerkingen richt op blokken die de minste P/E-cycli hebben ondergaan. De tweede methode is statische slijtageverdeling, waarbij de controller zelden gewijzigde data verplaatst vanuit blokken met weinig slijtage, waardoor die blokken weer actief kunnen worden gebruikt. Zonder deze maatregelen zouden blokken waarin statische data zijn opgeslagen ongebruikt blijven, terwijl andere blokken sneller zouden verslijten.
SSD-controllers verbeteren de betrouwbaarheid tevens door middel van over-provisioning. Fabrikanten reserveren een deel van de fysieke capaciteit van de schijf als een verborgen pool die niet zichtbaar is voor het besturingssysteem. De controller gebruikt deze reserve als werkruimte voor het opschonen van gegevens en als bron van reservablokken ter vervanging van defecte blokken.
Opmerking: Bij SSD-gegevensherstel zorgt over-provisioning voor een extra laag van complexiteit. Gegevensfragmenten kunnen zich in het fysieke geheugen buiten het adresbereik van het besturingssysteem bevinden, en een standaard bestandsscan kan deze niet onderzoeken omdat ze niet als normale logische opslag worden weergegeven. Dit is een van de redenen waarom de SSD-gegevensherstel-experts van Stellar elk apparaat beoordelen op het niveau van de opslagmedia en het gedrag van de controller, in plaats van uitsluitend te vertrouwen op de output van het bestandssysteem.
De belangrijkste soorten SSD-controllers uitgelegd
SSD-controllers kunnen aanzienlijk van elkaar verschillen wat betreft hun architectuur. Deze verschillen hebben vooral betrekking op de manier waarop elke controller de FTL-toewijzingstabel opslaat en raadpleegt.
Aangezien de controller deze tabel bij elke lees- en schrijfbewerking raadpleegt, heeft de locatie van de tabel een directe invloed op de prestaties, de kosten en de levensduur van de schijf. De drie belangrijkste typen controllers zijn DRAM-gebaseerd, DRAM-loos en HMB, die elk een andere aanpak hanteren voor dit probleem.
1. DRAM-gebaseerde controllers
Een op DRAM gebaseerde controller beschikt over een eigen, speciale geheugenchip waarop de FTL-toewijzingstabel wordt opgeslagen. Deze chip is ofwel in de controller geïntegreerd, ofwel afzonderlijk op de printplaat van de schijf gemonteerd.
Omdat DRAM ongeveer 100 keer sneller werkt dan NAND, kan de controller adresopzoekingen met minimale vertraging afhandelen, wat de bron is van het snelheidsvoordeel van deze schijven.
De nadelen komen tot uiting in de kosten en het stroomverbruik. DRAM-chips verhogen de prijs van een schijf en verbruiken meer stroom dan andere controllerontwerpen. Daarnaast is er de kwestie van de vluchtigheid: aangezien DRAM vluchtig is, gaat de inhoud ervan onmiddellijk verloren zodra de stroomtoevoer wordt onderbroken. Duurdere schijven in deze categorie lossen dit op met ingebouwde condensatoren, die voldoende lading vasthouden om de controller in staat te stellen de mappingtabel naar NAND te schrijven voordat de schijf volledig zonder stroom komt te zitten.
2. Controllers zonder DRAM
Een controller zonder DRAM laat de speciale geheugenchip volledig achterwege, wat resulteert in een goedkopere, kleinere en energiezuinigere schijf.
In plaats daarvan slaat de controller de FTL-tabel rechtstreeks op de NAND op. De meest recent gebruikte mapping-vermeldingen worden in de cache opgeslagen in een kleine hoeveelheid statisch willekeurig toegankelijk geheugen (SRAM) dat in de controller is ingebouwd. Wanneer een benodigde mapping-vermelding ontbreekt in deze kleine SRAM-cache, moet de controller deze uit de NAND ophalen voordat hij de gevraagde data kan lezen.
Deze extra stap veroorzaakt latentie en kan de willekeurige lees- en schrijfprestaties van de SSD verminderen. Daar staat tegenover dat een SSD met een DRAM-loze controller goedkoper, kleiner en energiezuiniger is dan een SSD met een op DRAM gebaseerde controller.
Opmerking: Voor iedereen die SSD’s beoordeelt op basis van de controllerarchitectuur, komt de keuze tussen een schijf met DRAM en een schijf zonder DRAM over het algemeen neer op één vraag: rechtvaardigt de kostenbesparing het prestatieverlies?
3. HMB-controllers (Host Memory Buffer)
De Host Memory Buffer (HMB)-controller is een DRAM-loos ontwerp dat beschikbaar is op schijven die gebruikmaken van de Non-Volatile Memory Express (NVMe)-interface. Deze overbrugt de kloof tussen op DRAM gebaseerde en standaard DRAM-loze controllers.
In plaats van uitsluitend op SRAM te vertrouwen, gebruikt de controller een klein deel van het RAM-geheugen van het hostsysteem om een groter deel van de FTL-toewijzingstabel in de cache op te slaan, doorgaans tussen de 64 en 100 megabyte.
Een HMB-schijf kan voor de meeste workloads dezelfde prestaties leveren als een op DRAM gebaseerde schijf, tegen een fractie van de kosten. Het nadeel is de afhankelijkheid van het hostsysteem. Indien het besturingssysteem HMB niet ondersteunt of het verzoek om geheugentoewijzing afwijst, functioneert de schijf als een standaard DRAM-loze controller zonder prestatievoordeel.
Deze architecturale verschillen hebben niet alleen gevolgen voor de prestaties. Voor de herstel van data is het type controller bepalend voor welke diagnostische methoden haalbaar zijn, welke tools kunnen worden toegepast en in hoeverre de gewiste data nog herstelbaar is.
Conclusie: de controller is het startpunt voor SSD-data herstel
Elk concept dat in deze handleiding aan bod komt, verwijst terug naar één component. Het TRIM-commando rapporteert hieraan. Garbage collection vindt hieronder plaats. Wear levelling, over-provisioning en het fysiek wissen van NAND zijn allemaal beslissingen die de controller neemt, vaak autonoom en vaak terwijl de schijf inactief is.
Tegen de tijd dat een gebruiker zich realiseert dat data verloren is gegaan, heeft de controller de herstel-interface mogelijk al gesloten. Of dit het geval is, hangt af van de architectuur van de controller, de werklast van de schijf en hoeveel tijd er is verstreken.
Daarom beginnen de experts van Stellar Gegevensherstel elke SSD-gegevensherstel-opdracht met een beoordeling op controllerniveau. Het type controller, de fabrikant ervan en het gedrag ervan onder storingsomstandigheden bepalen welke diagnostische aanpak haalbaar is, welke tools van toepassing zijn en wat er realistisch gezien kan worden teruggehaald. Een scan van het bestandssysteem is niet voldoende; alleen een grondigere beoordeling op controllerniveau kan aan het licht brengen wat daadwerkelijk herstelbaar is.
Deel 2 van deze gids behandelt precies dat, waarbij de herstel-aanpak voor elk type controller en de scenario’s waarin terugwinning nog mogelijk is, stapsgewijs worden doorgenomen.
Data verloren op een SSD? Bel ons op 030-7600700
Schakel de schijf onmiddellijk uit. Hoe langer de schijf actief blijft, hoe meer de controller de hoeveelheid gegevens die kan worden teruggehaald, beperkt. De SSD-datarecovery-specialisten van Stellar beoordelen welke gegevens de controller heeft achtergelaten en adviseren u over de meest geschikte herstelmogelijkheden.
Niet alle SSD-storingen vertonen dezelfde symptomen of vereisen dezelfde aanpak. De onderstaande artikelen behandelen de scenario’s waarmee gebruikers het vaakst worden geconfronteerd en hoe elk daarvan wordt aangepakt:
- SSD Niet Gedetecteerd door BIOS of Besturingssysteem: Oorzaken, Oplossingen en Professionele Opties voor Gegevensherstel
- Trage SSD-Prestaties: Veelvoorkomende Oorzaken, Bewezen Oplossingen en Opties voor Gegevensherstel [2026]
- Hoe Gegevens Herstellen van een Fysiek Beschadigde SSD: De Expertgids
- SMART-Fouten op SSD: Oorzaken, Types en Oplossingen
Veelgestelde vragen
Ja, en wel onmiddellijk. Elke bewerking die na het data-verlies wordt uitgevoerd, geeft de controller meer kansen om de data die u probeert te herstellen definitief te wissen. Systeemupdates, de browsercache en schrijfbewerkingen op de achtergrond activeren allemaal de controller. Elk van deze activiteiten verkleint de kans op succesvol herstel. Schakel de schijf uit en houd deze uitgeschakeld totdat deze in handen is van een specialist voor de herstel.
Nee. Het uitschakelen van TRIM verwijdert één deallocatiepad, maar stopt de controller niet. Garbage collection, wear levelling, firmware-routines en versleuteling kunnen allemaal onafhankelijk van TRIM blijven draaien. Elk van deze processen kan data definitief wissen die anders herstelbaar zouden zijn geweest. Het uitschakelen van TRIM levert tijdwinst op, maar zet de klok niet stil.
Ja, en het is een van de complexere variabelen bij een SSD-herstel-opdracht. Als volledige schijfversleuteling actief is en de decoderingssleutel niet beschikbaar is, kunnen de data fysiek weliswaar in de NAND aanwezig zijn, maar volledig onleesbaar zijn. Dit geldt zowel voor softwaregebaseerde versleuteling als voor zelfversleutelende schijven op hardwareniveau. Fysieke herstel en decodering zijn twee afzonderlijke problemen, die beide moeten worden opgelost.
Minder dan de meeste mensen veronderstellen. Het proces van gegevensverwijdering – waaronder TRIM, garbage collection en fysieke wissen – verloopt bij alle NAND-kwaliteiten op dezelfde manier. Waar het type NAND wel van belang is, is bij de bitfoutpercentages en de algehele levensduur; beide factoren beïnvloeden de toestand van de schijf na verloop van tijd. Voor de herstel zijn de architectuur en het gedrag van de controller van veel groter belang dan de NAND-kwaliteit.
Als de back-up actueel en volledig is, nee. Maak daar dan gebruik van. De meeste opdrachten die bij de technici van Stellar terechtkomen, hebben te maken met het feit dat er geen back-up bestond, deze te oud was om bruikbaar te zijn of zelf defect was geraakt. Een werkende back-up is de enige betrouwbare bescherming tegen gegevensverlies op een SSD, omdat een SSD – in tegenstelling tot een harde schijf – de mogelijkheid tot de herstel kan sluiten voordat iemand doorheeft dat de data verdwenen zijn.
Over de auteur
Managing Director, Stellar Data Recovery Europe
