Direkter Speicher bezieht sich auf eine Speicherarchitektur, die es Anwendungen ermöglicht, direkt von Speichergeräten auf Daten zuzugreifen und dabei das Betriebssystem und das Dateisystem zu umgehen. Dieser Ansatz kann die Latenz erheblich reduzieren und die Leistung für Anwendungen verbessern, die einen schnellen Zugriff auf große Datenmengen erfordern, wie z. B. wissenschaftliche Simulationen, Videobearbeitung und Datenbankverwaltung.
So erfolgt der Zugriff auf Daten aus dem Direktspeicher:
1. Direkter Speicherzugriff (DMA): Direkter Speicher basiert auf DMA, einer Hardwarefunktion, die es Peripheriegeräten (z. B. Speichergeräten) ermöglicht, direkt auf den Speicher zuzugreifen, ohne die CPU einzubeziehen. Dadurch entfällt der Aufwand für das Kopieren von Daten zwischen dem Speichergerät und den Puffern des Betriebssystems.
2. Speicherzugeordnete E/A: Bei der direkten Speicherung wird der Speicher des Speichergeräts dem Adressraum der Anwendung zugeordnet. Dadurch kann die Anwendung auf Daten im Speichergerät zugreifen, als ob diese Teil des Hauptspeichers des Systems wären.
3. NVMe (Non-Volatile Memory Express): NVMe ist ein Hochgeschwindigkeitsschnittstellenprotokoll, das speziell für Solid-State-Laufwerke (SSDs) entwickelt wurde. NVMe-Laufwerke werden direkt an den PCIe-Bus (Peripheral Component Interconnect Express) angeschlossen und umgehen so die langsamere SATA-Schnittstelle. Dies ermöglicht deutlich höhere Datenübertragungsraten im Vergleich zu herkömmlichen Speichergeräten.
4. RDMA (Remote Direct Memory Access): RDMA ist eine Technologie, die den direkten Speicherzugriff zwischen zwei oder mehr Computern über ein Hochgeschwindigkeitsnetzwerk ermöglicht. RDMA umgeht das Betriebssystem und den Netzwerkstapel und ermöglicht so Datenübertragungen mit geringer Latenz. Es wird häufig in High-Performance-Computing- (HPC) und Rechenzentrumsumgebungen verwendet.
5. Datenstrukturen und APIs: Direktspeichersysteme stellen typischerweise spezifische Datenstrukturen und Anwendungsprogrammierschnittstellen (APIs) bereit, die es Anwendungen ermöglichen, direkt mit dem Speichergerät zu interagieren. Diese APIs stellen Funktionen zum Lesen, Schreiben und Verwalten von Daten bereit und bieten eine differenzierte Kontrolle über den Datenzugriff.
Zusammenfassend lässt sich sagen, dass Direktspeicher Anwendungen das Umgehen des Betriebssystems und des Dateisystems ermöglicht, indem sie DMA und speicherzugeordnete E/A verwenden, um direkt auf Daten im Speicher des Speichergeräts zuzugreifen. Dieser Ansatz reduziert die Latenz und verbessert die Leistung für Anwendungen, die schnellen Zugriff auf große Datensätze erfordern. NVMe- und RDMA-Technologien erhöhen die Datenübertragungsgeschwindigkeit weiter und machen Direktspeicher für anspruchsvolle Arbeitslasten in verschiedenen Branchen geeignet.