CPU, SSD und Flash-Controller, wie sich Informationen auf dem PC bewegen

CPU, SSD und Flash-Controller

In allen SSDs gibt es einen zentralen Chip, der für die Kommunikation der NVMe-Chips mit den restlichen Komponenten des PCs verantwortlich ist, dies ist der Flash-Controller, der in jedem zu finden ist SSD sei es eine M.2-Einheit, eine SSD-Festplatte im 2.5-Zoll-Formfaktor oder eine externe SSD. Aber wie funktioniert diese Hardware? Wir erklären es Ihnen.

Flash-Speicher nennen wir nichtflüchtig RAM oder NVRAM, weshalb der Zugriff auf diese Art von Speicher mit einer sehr ähnlichen Schnittstelle erfolgt, wenn nicht sogar fast mit einer herkömmlichen Speicherschnittstelle. Aufgrund der Art und Lage des NAND-Flash-Speichers vom Typ NVMe in der Hardware der SSD unterscheidet sich seine Funktionsweise jedoch völlig von den Schnittstellen mit herkömmlichem RAM-Speicher.

Was ist ein Flash-Controller?

Controlador Flash

Ein Flash-Controller ist der zentrale Chip in jedem SSD-Laufwerk, der eine Reihe von Funktionen erfüllen muss, die für seinen Betrieb unerlässlich sind. Diese adressieren und kopieren Daten vom SSD-Flash-Speicher in den System-RAM oder VRAM. Im Folgenden beschreiben wir den Grund und die Funktionsweise dieser beiden Prozesse und wie der Flash-Controller sie ausführt.

Oficina Correos

Um die Nützlichkeit des Flash-Controllers in der SSD zu verstehen, ist es am besten, ein Gleichnis zu machen, in dem wir zwei Postämter haben, ein staatliches, das alle Adressen der Städte des Landes enthält, aber nicht auf herkömmliche Weise. Stellen Sie sich zum besseren Verständnis vor, dass jede Adresse in unserem Beispiel keine Straße mit Nummer ist, sondern ein Postfach oder anders ausgedrückt eine Nummer. Und was ist mit der zweiten Post? Nun, das funktioniert im Maßstab eines viel kleineren Ortes, wie einer Provinz oder einer kleinen Stadt.

Da jedes Büro alle Adressen von der ersten bis zur letzten entsprechend der Anzahl der verfügbaren Adressen zuweist, stellen wir fest, dass die Nummerierung jeder von den einzelnen Postämtern zugewiesenen Adresse nicht miteinander übereinstimmt. Nun, das erste Post-Office ist der Satz von Speicherverwaltungseinheiten oder MMUs, die die virtuellen Adressen für den Zugriff auf die Daten im physischen Speicher generieren, aber die CPU muss eine Möglichkeit haben, über das RAM hinaus zuzugreifen, und deshalb umfasst seine Adressierung nicht nur alle Speicheradressen, die sich im System-RAM befinden, sondern auch darüber hinaus.

Auf physischer Ebene verfügen sowohl herkömmliche als auch nichtflüchtige RAMs, die wir als Flash-Speicher bezeichnen, über unterschiedliche Adressierung weil ihre Schnittstelle beginnt, auf sich selbst zu zählen und nicht global. Daher ist eine der Aufgaben des Flash-Controllers die Übertragung von Speicheradressen damit die CPU oder ein anderer Prozessor darauf zugreifen kann.

Adressübersetzung in FLASH

Traslado direcciones Controlador Flash Jedem Flash-Controller ist ein RAM-Speicher zugewiesen , außer bei DRAM-Less, wo es den RAM des Systems mit der zusätzlichen Latenz und dem damit verbundenen Leistungsverlust verwendet. Im Gegensatz zu dem, was man mit bloßem Auge schließen kann, dient dieser Speicher jedoch nicht nur als Datenzwischenspeicher, sondern wird auch zur Übertragung von Adressen verwendet.

Das heißt, der dem Flash-Controller zugewiesene RAM-Speicher speichert die von der CPU gesendeten Adressen, die Übergabetabelle und generiert durch eine einfache Operation die physischen Speicheradressen, die es ihm ermöglichen, auf die Daten innerhalb der NVMe-Chips zuzugreifen, die aus NAND-Flash-Zellen bestehen, um sie entweder zu lesen oder zu schreiben. Und es muss berücksichtigt werden, dass diese Tabelle immer größer wird, je mehr Speicher die SSD enthält, sodass ein herkömmlicher RAM-Speicherchip erforderlich ist.

Das sehen wir zum Beispiel an der integrierten SSD-Einheit von Playstation 5, wo wir einen kleinen Speicherchip bei den NVMe-Chips sehen können, der in den meisten SSD-Einheiten üblich ist, außer, wie bereits erwähnt, handelt es sich um ein DRAM-loses SSD-Laufwerk.

Kopieren von Daten von Flash in RAM oder VRAMControlador Flash movimiento datos

Flash-Speicher ist besser als eine herkömmliche Festplatte, da er nicht die Zugriffsprobleme klassischer Laufwerke erbt. Wie seine hohe Übertragungsgeschwindigkeit. Trotz dieses Vorteils gegenüber HDDs ist es kein idealer Speicher damit die CPU direkt damit arbeiten kann, geschweige denn a GPU . Wenn wir für die klassischen DDR-Speicher mit höherer Bandbreite die Verwendung von Caches benötigen, um die mangelnde Geschwindigkeit zu mildern, ist dies bei Flash-Speichern schlimmer.

Deshalb der Flash-Controller muss die Daten kopieren in den RAM, damit die CPU darauf zugreifen kann, es gibt jedoch ein Eingabeproblem, aus Sicherheitsgründen ist der RAM in zwei verschiedene Bereiche aufgeteilt. Eine, auf die Anwendungen zugreifen können, und eine andere, auf die ausschließlich das Betriebssystem zugreift und auf die Programme nicht zugreifen können. Woher weiß der Flash-Controller unter dieser Prämisse, wohin die Daten kopiert werden sollen? Nun, ein Teil des RAM wird als Zwischenpuffer genommen und die Daten werden dorthin kopiert. Es ist die CPU des Systems selbst, wenn kein Beschleuniger für diese Aufgabe zuständig ist, der dafür verantwortlich ist, die Daten im Puffer zu überprüfen und in den entsprechenden Teil des RAM zu kopieren.

Was den VRAM anbelangt, je nachdem, welche Art von GPU und API wir verwenden, ist in einer GPU mit voller Unterstützung mit DX12 Ultimate die GPU selbst diejenige, die die Daten von der SSD übernehmen kann, in einer ohne diese Unterstützung erfordert dies die Beteiligung des CPU, was eine doppelte Aufgabe ist, da Sie sie dann vom RAM in den VRAM kopieren müssen, indem Sie die CPU- und GPU-Datenkopiermechanismen aufrufen.