HMB steht für Host-Memory-Buffer. Was ist das genau? Neue M.2-SSDs erreichen damit angeblich schnelle Transferraten und hohe IOPS. Kann man HMB losgelöst von NVMe betrachten oder gehören die beiden Techniken zusammen?
Leserfrage: HMB steht für Host-Memory-Buffer. Was ist das genau? Neue M.2-SSDs erreichen damit angeblich schnelle Transferraten und hohe IOPS. Kann man HMB losgelöst von NVMe betrachten oder gehören die beiden Techniken zusammen?
Antwort Doc Storage:
HMB ist ein neues Feature von NVMe, welches ab Version 1.2 unterstützt wird. HMB ermöglicht es SSDs ohne DRAM, den Hauptspeicher des Rechners zu nutzen und damit dieselbe Leistung zu erzielen wie SSDs mit integriertem Cache. Ein Vorteil dieser Technologie soll laut Herstellern ein wesentlich geringerer Preis und niedrigerer Stromverbrauch sein.
HMB unterstützt vor allem Anwendungen mit hohem Leistungsanspruch wie beispielsweise LRAB (Large-Random-Access-Buffers). Es bietet hierfür den Zufallszugriff auf Blöcke des Rechnerspeichers, wobei gleichzeitig auf alle Elemente des Puffers zugegriffen werden kann. Hierdurch wird vor allem die Latenzzeit verringert, weniger aber der Durchsatz erhöht. HMB erlaubt dem Rechner Zugriff auf den Speicher mit geringem Overhead, wodurch dieser wesentlich beschleunigt wird.
Aus Sicht des Controllers nutzt HMB dieselbe Schnittstelle wie der Hauptspeicher des Rechners mit den Methoden Schreiben, Daten Anfordern und Daten Empfangen. Die Größe eines HMB kann bis zu vier MByte betragen, wobei jeder Block auf das nächstliegende MByte angepasst wird.
Da HMB das DRAM lediglich als Cache, aber nicht als tatsächlichen Speicher nutzt, ist der Ausfall des Betriebssystems oder der CPU keine Gefahr für die im Puffer vorhandenen Daten. In diesem Fall läuft die SSD wie ein »gewöhnlicher« DRAM-loser Speicher weiter. Gleiches geschieht auch in dem Fall, wenn die CPU den durch HMB genutzten Speicherbereich zurückfordert. Die Spezifikationen sagen dazu: »The controller shall ensure that there is no data loss or data corruption in the event of a surprise removal while the Host Memory Buffer feature is being utilized.« Somit lässt sich der HMB nicht als Write-Back-, sondern »nur« als Write-Through-Cache nutzen.
Gruß
Doc Storage
- Doc Storage: Was ist Persistent-Memory?
- Doc Storage: Energieverbrauch SSDs: Höher als gedacht?
- Doc Storage: Booten von einer NVMe-SSD möglich?