SSD vs. RAM: Was ist der Kosten- / Haltbarkeitsunterschied und die Einschränkung bei der Verwendung von SSD als Speicher?

3202
yazze

Ich habe gelesen, dass einige im Handel erhältliche SSDs eine Schreibgeschwindigkeit von 4 GB / s bieten, während die aktuelle DDR4-RAM-Geschwindigkeit zwischen 15 GB / s und 25 GB / s liegen kann. Tatsächlich kann RAM bereits als virtuelles Laufwerk verwendet werden, beispielsweise als RAM-Diskette (wenn auch flüchtig). Ich weiß auch, dass die allgemeine Haltbarkeit von SSDs zwar nicht übertrieben ist, aber die mechanischen Gründe dafür nicht verstehen.

Was sind die Gründe und Unterschiede, warum SSD nicht als RAM verwendet werden kann, insbesondere was RAM-Zellen gegenüber NAND-Zellen so schnell und haltbar macht, und warum (was wahrscheinlich damit zusammenhängt) kostet RAM mehr pro GB als SSD?

Vielen Dank.

4
Es ist der Unterschied zwischen flüchtigem und nichtflüchtigem Speicher. Nichtflüchtiger Speicher ist langsamer und es ist sehr "schwer" für die Elektronik, in den Daten "zu brennen" (mein hochtechnischer Begriff). Der flüchtige Speicher ist viel schneller und ist nicht destruktiv, wenn Sie darauf schreiben. Ich bin mir sicher, dass die Kosten mit den Fertigungstechniken zusammenhängen. Appleoddity vor 6 Jahren 0
@DavidPostill - Diese Frage hat eine faktenbasierte Antwort. Ich habe eine zur Verfügung gestellt. Nur weil diese Frage auch zu falschen Meinungen und Vermutungen führt, müssen Sie viele andere ähnliche Fragen überprüfen. Dies ist die zweite Frage dieser Art, die ich in zwei Tagen gesehen habe. Eine technische Antwort (wie meine) muss diese Frage ruhen lassen. Es gibt einen technischen Grund, warum Sie SSD oder HHD nicht einmal experimentell als Arbeitsspeicher verwenden können, selbst wenn Sie die langsamere Geschwindigkeit einer "Festplatte" tolerieren möchten: Der quadratische Stift passt nicht in das runde Loch. sawdust vor 6 Jahren 0
@sawdust Gut genug. Wiedereröffnet DavidPostill vor 6 Jahren 0
Ich sehe nicht, wie fast dreimal bis sechsmal die Geschwindigkeit "nicht weit" im Vergleich wäre. Seth vor 6 Jahren 0

2 Antworten auf die Frage

6
Bob

Es kommt alles auf Latenz an .

DDR4-Latenzen werden in Nanosekunden gemessen . Es ist typischerweise irgendwo unter 20 ns.

SSD-Latenzen werden in Mikrosekunden gemessen . Die schnellsten SSDs liegen im Bereich von 25μs.

1 μs = 1000 ns. Ihre schnellste SSD hat eine Latenzzeit von 1000x länger als DDR4.

Noch aussagekräftiger ist, dass der Arbeitsspeicher tatsächlich zu langsam ist, also oben L1- und L2-Cache vorhanden sind. Jedes Mal, wenn Sie auf DRAM klicken, vergeuden Sie etwa 100 Zyklen, die auf den Datenabruf warten. Daher wird der Cache auf der CPU verwendet, um diesen Wert auf <10 Zyklen für Daten mit häufigem Zugriff zu reduzieren. Stellen Sie sich vor, Sie warten 100.000 Zyklen statt ...


Ein weiterer, verwandter Faktor sind Direktzugriffszeiten . Sie geben 4 GB / s an - das sind sequenzielle Geschwindigkeiten. Beim zufälligen Lesen sehen Sie etwas mehr als 50 MB / s, während das zufällige Schreiben bei 150 MB / s sein kann. Und RAM wird viel mehr gelesen als geschrieben.

Im Vergleich zu DRAM sind SSDs für einen hohen Durchsatz und nicht für eine hohe Anzahl von Operationen pro Sekunde optimiert. In einem anderen Beispiel sind Löschblöcke auf SSDs ziemlich groß, was bedeutet, dass das Umschreiben vieler kleiner Blöcke teuer ist.


Es gibt Technologien, die die Lücke schließen. 3D XPoint, das von Intel als Optane bezeichnet wird, ist schneller als NAND (SSDs) und günstiger als DRAM.

Es ist erwähnenswert, dass es normalerweise (heute) auf Geschwindigkeit vs. Kapazität ankommt. Aus diesem Grund verfügen wir über erschwingliche 128 GB DDR4-Module, haben jedoch Schwierigkeiten mit den größeren erschwinglichen SSD-Kapazitäten. Schließlich wird ein Standard entwickelt, der die Kapazitätsvorteile von DDR und die Geschwindigkeit von NAND zu einem erschwinglichen Preis vereint Ramhound vor 6 Jahren 0
* "Es kommt alles auf Latenz an." * - Nehmen Sie an, ich bin bereit, diese Latenz zu akzeptieren, indem Sie so viele Wartezustände wie nötig hinzufügen. Wie kann man dann den Speicher durch eine SSD ersetzen? sawdust vor 6 Jahren 0
@sawdust Wenn Sie über vorhandene Technologie sprechen, natürlich nicht - zum Beispiel erfordert die x86-kompatible PC-Plattform mehr oder weniger DRAM (und in einem modernen Kontext erfolgt der Plattenzugriff über DMA ohnehin). Wenn Sie jedoch ein System von Grund auf neu erstellen, können Sie keine andere Speichertechnologie verwenden. Meine Antwort hier ist nicht zu sagen, warum SSDs RAM ersetzen können oder nicht ersetzen können, sondern eher, warum es gar keinen Grund gibt, es zu versuchen - weil die Prämisse, dass NAND-Geschwindigkeiten auf DRAM zugehen, falsch ist und die falschen Zahlen betrachtet. Bob vor 6 Jahren 0
Das heißt, Sie machen den guten Punkt, dass NAND nicht Byteadressierbar ist - ein weiteres Argument dagegen. Jede Schnittstelle, die versucht, diesen Unterschied zu verbergen, hat enorme Leistungsstrafen. Bob vor 6 Jahren 0
Ich stellte jedoch fest, dass ich im Grunde vernachlässigt hatte, dass diese Latenzzahlen nur für SSDs in realen Maschinen (über Schnittstellen mit höherer Latenzzeit) gelten und nicht unbedingt auf ein dediziertes NAND-basiertes Speichergerät hindeuten. Was ... bedeutet, dass diese Antwort falsch sein könnte. Ich werde es in ein paar Stunden wiederholen. Ein bisschen beschäftigt jetzt. Bob vor 6 Jahren 0
DIMM-Mounted-NAND mit einem kleinen DRAM-Cache kann anscheinend ~ 5μs verwalten, daher befinden sich diese Zahlen immer noch im richtigen Bereich. Bob vor 6 Jahren 0
1
sawdust

SSD vs. RAM: Was ist der Kosten- / Haltbarkeitsunterschied und die Einschränkung bei der Verwendung von SSD als Speicher?

Die Kosten, die Haltbarkeit und die Leistung, z. B. Latenzzeiten, Vergleiche sind eigentlich irrelevant, da Sie eine SSD einfach nicht als (Hauptspeicher) oder RAM verwenden können. Ein wichtiger Unterschied ist, dass RAM Byte und / oder Wort adressierbar. Massenspeichergeräte wie SSD oder HDD sind Blockgeräte, die nur sektoradressierbar sind.

Sie können nicht nur ein Byte oder Wort von / auf ein Blockgerät lesen oder schreiben. Um eine Lese- oder Schreiboperation von / zu einem Blockgerät auszuführen, muss ein gesamter (physikalischer) Block (auch Sektor) gelesen oder geschrieben werden. Sie benötigen einen RAM, um den Block zwischen der CPU und dem Massenspeichergerät zu puffern.

Fazit: Sie können den RAM nicht einfach durch ein Blockgerät ersetzen.

Wenn Sie versuchen, die für den Hauptspeicher verwendete RAM-Kapazität durch Kopieren von Code und Daten auf / von einer SSD / Festplatte zu erweitern, verwenden Sie im Wesentlichen virtuellen Speicher (und eine Speicherverwaltungseinheit).


NACHTRAG

Ein Vergleich der Leistung (z. B. Latenz, Durchsatz usw. ) zwischen RAM-Technologie und SSD-Technologie zur Beantwortung der Frage "Warum SSDs nicht als RAM verwendet werden können" ist falsch, da sie irrelevant ist. Ein Massenspeicher-Blockgerät ist als Ersatz für RAM als Hauptspeicher nicht kompatibel.

IMO ist es wie die Frage "Wie viel Pizza muss ich essen, um hydratisiert zu bleiben?" Und die Antworten geben den Wassergehalt verschiedener Pizzabeläge an. Die richtige und einfache Antwort lautet: Pizza ist kein Ersatz für Trinkwasser.

Ebenso ist eine SSD (mit ihrer Blockschnittstelle) kein Ersatz für den Arbeitsspeicher in einem Computer. Mit anderen Worten, die richtige Antwort basiert auf Computerarchitekturkonzepten, anstatt Leistungszahlen zu vergleichen.


Was macht RAM-Zellen im Vergleich zu NAND-Zellen so schnell und haltbar?

Sie versuchen Äpfel mit Orangen zu vergleichen.

RAM (Random Access Memory) ist eine funktionale Klassifizierung des Speichers. Das Akronym spezifiziert keine Technologie, dh RAM für den Hauptspeicher ist in der Regel eine Art SDRAM in einem modernen PC. Ältere Computer verwendeten Ferritkerne für RAM.

Aus wirtschaftlichen Gründen ist es üblich, dass eine höhere Geschwindigkeit weniger Kapazität bedeutet und eine niedrigere Geschwindigkeit mehr Kapazität. Ihr durchschnittlicher Computer verfügt über SDRAM für den Hauptspeicher (normalerweise nur RAM) und SRAM für CPU-Caches. SRAM ist im Vergleich zu SDRAM sehr teuer, aber auch viel schneller. Siehe Warum ist SRAM schneller als DRAM? Informationen darüber, warum SRAM schneller ist als SDRAM. Es gibt auch Ausnahmen für eingebettete Geräte oder andere Computer wie den Cray X-MP .

NAND ist eine Technologie für Flash-Speicher. Beachten Sie, dass auf NAND-Flash (auf Chipebene) normalerweise als Blockgerät zugegriffen werden muss.

Warum (...) kostet RAM mehr als eine SSD?

Vergleich zwischen Äpfeln und Orangen. Das Angebot im Verhältnis zur Nachfrage (die von der Leistung bestimmt wird) hat einen großen Einfluss auf die Preisbildung. Außerdem sind die Herstellungsprozesse unterschiedlich, was sich auch auswirkt. Sie können Ihre SDRAM-Chips nicht einfach verwenden, um sie in eine SSD zu packen und sie täglich anzurufen.


zum Beispiel eine RAM-Disk (wenn auch flüchtig).

RAM ist die Abkürzung für Random Access Memory . Es gibt keine Annahme oder Charakterisierung der Volatilität. Wenn Sie alt genug sind, um sich daran zu erinnern, verwendeten Computer (nicht jedoch PCs) bis in die 1980er Jahre (nichtflüchtiger) Ferritkernspeicher. Ein batteriegepuffertes statisches RAM ist eine weitere Möglichkeit, nichtflüchtigen (Haupt-) Speicher zu implementieren. Einige Geräte wie RAID-Karten benötigen solche Mechanismen sogar heute noch.

Es ist die (heute vorherrschende) Verwendung von (synchronem) dynamischem RAM für den Hauptspeicher und dessen Volatilitätsattribut, die zu einer (üblichen, aber) fehlerhaften Assoziation von RAM und Volatilität führt.

  • RAM wird (üblicherweise) durch (synchrones) dynamisches RAM implementiert.
  • (S) DRAM ist flüchtig.
  • Daher ist RAM flüchtig. Unsachgemäßer (wenn nicht fehlerhafter) Syllogismus!
@Seth * "RAM muss auch einen ganzen Datenblock lesen" * - Dies gilt nicht für den gesamten RAM. Anscheinend denken Sie an Speichermodule, die für mehr Leistung ausgelegt sind. Dies ist nicht für alle RAMs erforderlich. Ich arbeite mit ARM-SoCs, die eine Verbindung zu DRAM-Chips mit einem 32-Bit-Datenpfad herstellen, dh klassische Computerarchitektur. * "Cache und Register sind ..." * - Kein Teil des Hauptspeichers. RAM ist in diesem Zusammenhang gleichbedeutend mit dem Hauptspeicher eines Computers. Ihr letzter Satz hat schlechte Grammatik und macht keinen Sinn. sawdust vor 6 Jahren 0
@Seth - Sie verwechseln interne Details eines Speichersubsystems mit einer peripheren Schnittstelle. Das sind Äpfel und Orangen. * "... nur um das D gleich danach zu überspringen." * - Sie haben keinen Sinn. DRAM, SDRAM und SRAM beziehen sich auf tatsächliche Speichertechnologien, die bestimmte elektrische Eigenschaften aufweisen, während RAM nur eine funktionale Eigenschaft ist. * "SRAM wird nicht für den Hauptspeicher verwendet" * - Falsch. Ich habe es bei industriellen SBCs verwendet. Es gab ein PC-Motherboard mit SRAM als Hauptspeicher; IIRC machte damals das Cover des BYTE-Magazins. sawdust vor 6 Jahren 0