De Host Memory Buffer-functie bij moderne M.2-ssd’s gebruikt het werkgeheugen van de pc voor bepaalde gegevens. We kregen de vraag of HMB bij ssd’s kan leiden tot gegevensverlies als de stroom plotseling uitvalt. Hoe dat zit, lees je hieronder.
HMB bij ssd en gegevensverlies – in het kort
We hebben geen bewijs dat de HMB-functie (Host Memory Buffer) gegevensverlies veroorzaakt. Het is waar dat de functie het snelle DRAM-geheugen van de computer (host) als buffer gebruikt, en dat DRAM, als ‘vluchtig’ geheugen gegevens verliest zodra het niet meer van stroom wordt voorzien. Maar ssd’s bufferen alleen gegevens in de HMB, die ze ook veilig opslaan in hun niet-vluchtige flashgeheugenchips. Daardoor kan HMB niet tot gegevensverlies lijden.
HMB en DRAM
De HMB-functie werd al in versie 1.2 van de specificaties voor Non-Volatile Memory express (NVMe 1.2) geïntroduceerd en kan zowel onder Linux als met Windows 10 en 11 worden gebruikt. De ssd-controller of zijn firmware kan een bepaalde hoeveelheid DRAM van de host reserveren en exclusief gebruiken.
Het HMB-protocol stelt de host echter ook in staat om het RAM terug te vorderen als dat krap wordt. Tot de release van Windows 11 24H2 reserveerden de meeste ssd’s met HMB-functie maximaal 64 MB voor dat doel. Dat is een kleine hoeveelheid vergeleken met de typische RAM-capaciteit van laptops en pc’s van 4 tot 32 GB, en vooral de ssd-capaciteit van 0,5 tot 8 TB.
Meer hardware en tech tips?
Schrijf je in voor de gratis nieuwsbrief:
HMB is geen schrijfcache
De HMB zou theoretisch ook gegevens kunnen bufferen voordat de ssd ze naar flash wegschrijft. Dat zou echter geen relevant voordeel opleveren omdat moderne ssd’s toch al een grote en snelle schrijfcache hebben.
Als schrijfcache gebruiken moderne ssd’s een deel van hun flashcellen in de snellere single-level-cell (SLC) modus, ook wel bekend als een (pseudo) SLC-cache. Die kan meer dan 100 GB bevatten. Tijdens fasen van inactiviteit schrijft de ssd-controller de gegevens uit de cache naar de werkelijk bedoelde adresgebieden en optimaliseert hij ook de toewijzing van de flashgeheugenblokken.
Zo werkt HMB bij sdd’s
Ssd’s die geen eigen DRAM-chip hebben profiteren van HMB – dat zijn de meeste huidige M.2-ssd’s voor pc’s en laptops. Ze kopiëren hun toewijzingstabel naar de HMB, die de logische en fysieke adressen van de flashgeheugenblokken vastlegt (Logical to Physical, L2P).
Dit versnelt voornamelijk het lezen van willekeurig verdeelde adressen, oftewel het verhoogt het aantal I/O-bewerkingen per seconde (IOPS). De ssd-controller heeft voor elke leestoegang informatie nodig uit de L2P-tabel. In plaats van die informatie uit het langzamere NAND-flashgeheugen lezen, kan de controller dit uit het snelle DRAM lezen als de informatie in de HMB zit.