SSD, SD, eMMC, Raw NAND was sind die Unterschiede?

27

Die zugrunde liegende Technologie mit SSD, eMMC, SD, USB-Flash usw. ist also NAND-Flash korrekt? Ist also der Unterschied zwischen ihnen allen nur die Art und Weise, wie Controller implementiert werden? Oder unterscheiden sich die Technologien insgesamt?

Soweit ich weiß, sind SSDs für Desktops und eMMCs für Mobilgeräte gedacht. Gibt es jedoch einen gravierenden Unterschied zwischen all diesen Speichertechnologien?

Alistair
quelle

Antworten:

15

NAND steht für N egated UND . Es bezieht sich oft auf die Art und Weise, wie ein Logikgatter aus Silizium aufgebaut ist .

Der Flash-Speicher besteht ebenfalls aus Siliziumchips und verwendet NAND-Gatter. Dies führt zu dem Begriff Nand Flash . Ich vermute, das ist das NAND, auf das Sie sich beziehen, aber der Vollständigkeit halber wollte ich den Hintergrund erwähnen.

Sie können Speicher mit NAND-Flash erstellen, benötigen jedoch eine Möglichkeit, darauf zuzugreifen.

Z.B. Sie können einen NAND-Flash-Chip auf eine Leiterplatte setzen, einen Controller-Chip und eine USB-Logik hinzufügen und Sie erhalten ein USB-Stick. Oder Sie können eine hinzufügen SD controller und lege es in dieses format und du bekommst eine sd karte.

enter image description here

Beide sind relativ einfache Geräte, und wenn Sie Informationen darauf speichern, schreiben Sie an einen festen Ort. Dies ist eine schlechte Sache, da die Anzahl der Schreibvorgänge in NAND-Flash begrenzt ist.

Sie können dem Gerät einen Controller hinzufügen, der sicherstellt, dass alle Schreibvorgänge gleichmäßig über das NAND verteilt werden, und gleichzeitig dem Computer ein konsistentes Image bereitstellt. Dies erfordert viel mehr Intelligenz auf dem Geräteteil und erfolgt in SSDs . (SSDs sollen mechanische Festplatten ersetzen und daher eine Menge Schreibzugriffe erhalten).

Unterscheiden sich alle nur in der Art und Weise, wie Steuerungen implementiert werden?

Für SD / USB-Sticks: Meistens gleich, nur mit einer anderen Schnittstelle.
Für SSDs: völlig andere Controller.

Oder unterscheiden sich die Technologien insgesamt?

Es gibt verschiedene Möglichkeiten, nand storage zu implementieren. Die wichtigsten implementierten Unterschiede scheinen auf Folgendes zurückzuführen zu sein:

  • Einzelzellen, in denen Sie eine hohe oder eine niedrige Spannung speichern können ( SLC , oder S Ebene). Grundsätzlich entweder "Ein" oder "Aus" oder "1" oder "0".
  • Chips, die mehrere Leistungsstufen ermöglichen. (Aus, schwach aufgeladen, meistens aufgeladen, voll aufgeladen. Vergleichen Sie es mit der Signalisierung mit einer Stereoanlage. SLC ist Musik an oder Musik aus. MLC ist ausgeschaltet, leise Musik, laute Musik und Extra-Deaf-Modus.)

Das geht eMMC .

Ich habe noch nie davon gehört, aber laut Wikipedia handelt es sich um einen Standard für Flash-Speicherkarten.

Hennes
quelle
Sehr kurze und klare Erklärung Hennes, danke. Ich glaube, eMMC wird hauptsächlich auf Mobilgeräten verwendet (z. B. verwenden Android-Geräte eMMC-Speicher, es handelt sich also im Grunde genommen um eine Art eingebettete SD-Karte).
Alistair
@Hennes Der nächste Intel Compute Stick hat den eMMC-Speicher und USB3 verbessert. Glauben Sie, dass ein Betriebssystem auf einer SSD über USB3 schneller läuft als auf dem eigenen Motherboard mit eMMC-Speicher?
Alpha2k
1
@ Alpha2k Ich denke, das Booten von einer USB3-SSD hat zu viel Overhead, um schneller zu sein als eMMC.
jiggunjer
1
Tatsächlich. USB3 fügt unnötigen Overhead hinzu. Eine ebenso schnelle Festplatte über eine direkte Schnittstelle kann / sollte also schneller sein als dieselbe Festplatte über USB3. Dies setzt gleichwertige Flash- und Controller-Fähigkeiten voraus. Wenn eine der Festplatten einige Jahre moderner ist, ist sie wahrscheinlich schneller.
Hennes
30

NAND - Raw-Flash-Speicher

Raw Flash verwendet ein eigenes Protokoll. Dieses Protokoll umfasst das Lesen, Schreiben und Löschen von Blöcken. Es funktioniert nicht wie ein Datenträger - Datenträger können Blöcke lesen und schreiben, Flash kann Seiten lesen und schreiben - und eine Gruppe von Seiten mit der Bezeichnung a Block muss gelöscht werden, bevor Sie neue Daten schreiben können. Sie können nur eine begrenzte Anzahl von Malen löschen, bevor der Block abgenutzt ist, und nicht mehr vollständig löschen.

SD - "Secure Digital"

Es ist ein Speicherkartenformat. SD-Karten enthalten einen winzigen Mikrocontroller und NAND. Der Mikrocontroller implementiert eine FTL (Flash Translation Layer), die plattenähnliche Blockzugriffe und deren Umsetzung in sinnvolle NAND-Operationen sowie die Durchführung von Wear-Leveling und Block-Sparing ermöglicht. SD-Karten verwenden das SPI-Protokoll auf der "Host" -Seite. USB-SD-Kartenleser konvertieren von USB-Massenspeicherbefehlen zu SPI-SD-Befehlen.

eMMC - eingebettete MMC

Dies bezieht sich im Wesentlichen auf das, was Sie sich als SD-Karte vorstellen können, die in ein Motherboard eingebaut ist (SD- und MMC-Standards sind sehr ähnlich - genug, dass SD-Kartenleser normalerweise MMC-Karten lesen können) - normalerweise eingelötet und nicht entfernbar. Normalerweise wird es über einen internen SPI-Bus mit der restlichen Hardware verbunden. Mobiltelefone und ARM-Hardware sowie andere eingebettete Geräte (d. H. Router) können dies aufweisen. UPDATE: Einige neuere Windows-Netbooks mit günstigem Preis haben diese ebenfalls. SD-Karten und eMMC sind langsamer als SSDs, da der SPI-Bus nicht so schnell ist wie der SATA-Bus.

SSD - "Solid State Drive"

Ein Controller + ein Haufen NAND in einem Festplattengehäuse. Der Controller implementiert eine FTL (Flash Translation Layer), die plattenähnliche Blockzugriffe aufnimmt und in sinnvolle NAND-Operationen umsetzt sowie Wear-Leveling und Block-Sparing durchführt. Einige Reglertypen wie "Sandforce" usw. sind bekannt. SSDs verwenden das SATA-Protokoll und den SATA-Anschluss auf der "Host" -Seite.


Wenn Sie sich in einer Situation befinden, in der Sie es mit rohem NAND wie dem Guruplug zu tun haben, sind Sie dafür verantwortlich, den Verschleiß auszugleichen und das Sparen zu verhindern. Linux-Dateisysteme mögen jffs2 und solche tun dies, werden aber nicht benötigt, wenn eine FTL wie bei den meisten SD-Karten, USB-Karten usw. funktioniert.

LawrenceC
quelle
7
Das ist eine großartige Antwort. Ein Kommentar: Während MMC / eMMC / SD-Karten eine synchrone serielle Schnittstelle für die Kommunikation verwenden, ist dies die Schnittstelle nicht SPI, also würde ich diesen Begriff nicht verwenden. Dies ist verwirrend, da die meisten MMC / SD-Karten auch SPI als alternative, langsame Schnittstelle für Deep Embedded-Systeme (MCU-basiert) unterstützen. Der SPI-Modus wird jedoch auf x86- oder ARM-Anwendungsprozessorsystemen nicht verwendet.
Jay Carlson
NAND ist mit den eingeschränkten Neuschreibungen ziemlich restriktiv. Warum wird es überhaupt verwendet? Preis?
Ciro Santilli 新疆改造中心 六四事件 法轮功
Durch FTLs und Block-Sparing werden die eingeschränkten Neuschreibvorgänge sehr effektiv abgeschwächt. Die große Angst, SSDs vorzeitig abzunutzen, ist übertrieben.
LawrenceC
Außerdem sollte klargestellt werden, dass SSDs, SD-Karten und eMMC-Flash-Speicher NAND als "Backend" verwenden. Sie erlauben dem System nicht den Zugriff auf Raw-Flash, sondern verfügen über einen Mikrocontroller, der Befehle akzeptiert und eine FTL implementiert.
LawrenceC
Sehr hilfreich. Ich hatte gehofft, eMMC würde sozusagen schneller wie m2SATA sein, da auf dem Board selbst, aber nicht der Fall. Vielen Dank
James Campbell
0

Beachten Sie, dass dies alles nichtflüchtige Speicher sind, die Daten ohne beibehalten    Leistung:

  • Blitz - Speichermedium des nichtflüchtigen Speichers.

  • NAND - Art des Flash-Speicherchips.

  • SSD - Enthält eine Reihe von NAND-Chips.

Nur um Flash von anderen zu unterscheiden RAM Typ (Direktzugriffsspeicher):

  • SDRAM / DDR - Flüchtige Speicherchips, bei denen die Daten bei Stromausfall verloren gehen.
Noam Manos
quelle