SSD, SD, eMMC, Raw NAND quelles sont les différences?

28

donc la technologie sous-jacente avec SSD, eMMC, SD, Flash USB etc ... le flash NAND est-il correct? Alors, la différence entre tous est-elle juste la façon dont les contrôleurs sont implémentés? Ou les technologies sont-elles toutes différentes?

D'après ce que je sais, je pense que les SSD sont pour les ordinateurs de bureau et les eMMC pour les appareils mobiles, mais y a-t-il une différence complexe entre toutes ces technologies de stockage?

Alistair
la source

Réponses:

17

NAND signifie N egated AND . Il se réfère souvent à la façon dont la porte logique est construite à partir de silicium .

La mémoire flash est également construite à partir de puces en silicium et utilise des portes NAND. Cela conduit au terme flash NAND . Je soupçonne que c'est la NAND à laquelle vous faites référence, mais par souci d'exhaustivité, je voulais mentionner l'arrière-plan.

Vous pouvez créer du stockage avec NAND flash, mais vous aurez besoin d'un moyen d'y accéder.

Par exemple, vous pouvez mettre une puce flash NAND sur un PCB, ajouter une puce de contrôleur et une logique USB et vous obtenez une clé USB. Ou vous pouvez ajouter un contrôleur SD et le mettre dans ce format et vous obtenez une carte SD.

entrez la description de l'image ici

Ces deux appareils sont relativement simples et lorsque vous stockez des informations dessus, vous écrivez dans un emplacement fixe. C'est une mauvaise chose, car le nombre d'écritures sur le flash NAND est limité.

Vous pouvez ajouter un contrôleur à l'appareil qui garantit que toutes les écritures sont réparties uniformément sur la NAND, tout en fournissant une image cohérente à l'ordinateur. Cela nécessite beaucoup plus d'intelligence de la part de l'appareil et se fait dans les SSD . (Les disques SSD sont censés remplacer les disques durs mécaniques et devraient donc obtenir beaucoup d'écritures).

Est-ce que la différence entre tous est juste la façon dont les contrôleurs sont implémentés?

Pour SD / USB pendive: généralement les mêmes, juste avec une interface différente.
Pour les SSD: des contrôleurs complètement différents.

Ou les technologies sont-elles toutes différentes?

Il existe plusieurs façons d'implémenter le stockage nand. Les principales différences mises en œuvre semblent se résumer à:

  • Cellules individuelles dans lesquelles vous pouvez stocker une haute tension ou une basse (niveau SLC ou S ingle). Fondamentalement, «on» ou «off», ou «1» ou «0».
  • puces qui permettent plusieurs niveaux de puissance. (désactivé, légèrement chargé, principalement chargé, entièrement chargé. Comparez-le à la signalisation avec une chaîne stéréo. Le SLC serait musique activée ou désactivée. MLC serait désactivé, musique douce, musique forte et mode extra-sourd).

Cela laisse eMMC .

Je n'en ai jamais entendu parler auparavant, mais selon Wikipédia, c'est une norme de carte mémoire à mémoire flash.

Hennes
la source
Explication très concise et claire Hennes, merci. Je crois que l'eMMC est principalement utilisé dans les appareils mobiles (par exemple, les appareils Android utilisent le stockage eMMC, donc en gros c'est une carte SD intégrée d'une certaine sorte).
Alistair
@Hennes La prochaine clé de calcul Intel a amélioré le stockage eMMC et USB3, pensez-vous qu'un système d'exploitation fonctionnerait plus rapidement sur un SSD via USB3 que sur sa propre carte mère avec stockage eMMC?
Alpha2k
1
@ Alpha2k Je pense que le démarrage à partir d'un SSD USB3 a trop de temps pour être plus rapide que eMMC.
jiggunjer
1
Effectivement. USB3 ajoute des frais généraux inutiles. Ainsi, un disque tout aussi rapide via une interface directe peut / devrait être plus rapide que le même disque via USB3. Cela suppose un flash et des contrôleurs de capacité égale. Si l'un des disques est plus moderne de quelques années, il sera probablement plus rapide.
Hennes
31

NAND - mémoire flash brute

Le flash brut utilise son propre protocole, et ce protocole comprend la lecture de pages, l'écriture de pages et l'effacement de blocs. Cela ne fonctionne pas comme les disques - les disques peuvent lire et écrire des blocs, flash est capable de lire et d'écrire des pages - et un ensemble de pages appelé bloc doit être effacé avant de pouvoir écrire de nouvelles données. Vous ne pouvez effacer qu'un nombre limité de fois avant que le bloc ne s'use et ne sera plus entièrement effacé.

SD - "Secure Digital"

C'est un format de carte mémoire. Les cartes SD contiennent un minuscule microcontrôleur et NAND. Le microcontrôleur implémente un FTL (Flash Translation Layer) qui prend les accès aux blocs de type disque et les traduit en opérations NAND significatives, ainsi qu'en effectuant un nivellement de l'usure et une conservation des blocs. Les cartes SD utilisent le protocole SPI du côté "hôte". Les lecteurs de carte SD USB convertissent les commandes de stockage de masse USB en commandes SPI SD.

eMMC - MMC intégré

Cela fait référence à ce que vous pouvez considérer comme une carte SD intégrée à une carte mère (les normes SD et MMC sont très similaires - suffisamment pour que les lecteurs de cartes SD puissent généralement lire les cartes MMC) - généralement soudées et non amovibles. Il est généralement connecté au reste du matériel via un bus SPI interne. Les téléphones portables et le matériel ARM, ainsi que d'autres appareils de type embarqué (c'est-à-dire les routeurs) peuvent en avoir. MISE À JOUR: Certains nouveaux netbooks Windows à prix avantageux commencent également à les avoir. Les cartes SD et eMMC sont plus lentes que les SSD car le bus SPI n'est pas aussi rapide que le bus SATA.

SSD - "Solid State Drive"

Un contrôleur + un tas de NAND placés dans un boîtier de disque dur. Le contrôleur implémente un FTL (Flash Translation Layer) qui prend les accès aux blocs de type disque et les traduit en opérations NAND significatives, ainsi que la mise à niveau d'usure et la conservation des blocs. Certains types de contrôleurs comme "Sandforce", etc. sont bien connus. Les SSD utilisent le protocole SATA et le connecteur du côté "hôte".


Si vous êtes dans une situation où vous avez affaire à une NAND brute, comme le Guruplug, vous êtes responsable de la mise à niveau de l'usure et de la conservation des blocs. Les systèmes de fichiers Linux comme jffs2et tels le font, mais ne sont pas nécessaires là où un FTL fonctionne comme sur la plupart des cartes SD, USB, etc.

LawrenceC
la source
7
C'est une excellente réponse. Un commentaire: bien que les cartes MMC / eMMC / SD utilisent une interface série synchrone pour la communication, cette interface n'est pas SPI, donc je n'utiliserais pas ce terme. C'est déroutant car la plupart des cartes MMC / SD prennent également en charge SPI en tant qu'interface alternative à faible vitesse pour les systèmes profondément embarqués (basés sur MCU). Cependant, le mode SPI n'est pas utilisé sur les systèmes de processeur d'application x86 ou ARM.
Jay Carlson,
NAND est assez restrictif avec les réécritures limitées. Pourquoi est-il utilisé du tout? Prix?
Ciro Santilli 15 改造 中心 法轮功 六四 事件
Les FTL et la conservation des blocs atténuent très efficacement les réécritures limitées. Beaucoup de crainte d'usure prématurée des SSD est exagérée.
LawrenceC
Il convient également de préciser que les SSD, les cartes SD, la mémoire flash eMMC utilisent tous NAND comme «backend». Ils n'autorisent pas chacun l'accès du système au flash brut mais disposent d'un microcontrôleur acceptant les commandes et mettant en œuvre un FTL.
LawrenceC
Très utile. J'espérais que l'eMMC serait plus rapide comme m2SATA car sur la carte elle-même pour ainsi dire, mais pas le cas. Merci
James Campbell
0

Notez que ce sont tous de la mémoire non volatile, qui conserve les données sans alimentation:

  • Flash - Support de stockage de mémoire non volatile.

  • NAND - Type de puce de mémoire Flash.

  • SSD - Contient un certain nombre de puces NAND.

Juste pour distinguer Flash du type RAM (Random Access Memory):

  • SDRAM / DDR - puces de mémoire volatile, où les données sont perdues lorsque l'alimentation est coupée.
Noam Manos
la source