StorageReview.com

Flash SSD

La mémoire flash à semi-conducteurs est disponible en utilisant la technologie NAND et NOR. La technologie NOR permet un adressage aléatoire direct et un flux de données de la même manière qu'une puce de mémoire RAM normale, ce qui lui permet d'être utilisée pour le stockage et l'exécution de programmes dans un système de traitement. Les puces Flash NOR sont plus lentes, moins denses et ont une capacité d'endurance de réécriture limitée, ce qui les rend inférieures aux solutions basées sur NAND lorsqu'elles sont utilisées comme alternative à un disque rotatif.   

La technologie Flash NAND est une mémoire série tout comme un lecteur de disque. Les données sont adressées et stockées dans des blocs plutôt que sous forme de bits ou d'octets adressables individuels. Les disques SSD basés sur Flash NAND sont conçus pour imiter un disque magnétique rotatif du point de vue du système, offrant un temps d'accès plus rapide et des débits de données comparables. Le principal inconvénient d'un SSD par rapport au disque magnétique est la densité des données et le coût par mégaoctet.

Composants flash
 
Pour les besoins de cette section, nous nous concentrerons sur les composants NAND car ils dominent les offres SSD. Les composants Flash NAND sont disponibles dans des densités allant de 1 Go (gigabit) à 64 Go par puce. Il existe également des configurations de cellule à niveau unique (SLC) et de cellule à plusieurs niveaux (MLC), avec SLC capable de stocker un seul bit par cellule et MLC capable de stocker plus de 1 bit par cellule.  
 
Semblables aux secteurs et aux pistes d'un lecteur magnétique, les composants Flash NAND ont des structures appelées pages et blocs. Les pages sont des secteurs et les blocs sont analogues à des pistes, et, tout comme sur un disque, il y a un code de correction d'erreur (ECC) associé à chaque secteur. Une configuration courante de composant Flash NAND est de 128 pages de 4,096 128 + 512 octets chacune pour une taille de bloc de XNUMX Ko. Les données sont lues et écrites séquentiellement, également comme un disque.
 
La mémoire flash NAND présente également des défauts cellulaires inhérents, un peu comme les défauts de surface sur un disque. Pour cette raison, des blocs de données de rechange sont fournis dans le dispositif et une table de remappage est fournie dans le dispositif pour permettre au logiciel système de masquer les blocs de données défectueux au fur et à mesure qu'ils sont découverts. 
 
Contrairement à un disque magnétique, NAND Flash a une endurance de réécriture limitée d'environ 1,000,000 XNUMX XNUMX fois par bloc. Vous ne pouvez tout simplement pas écrire dans les mêmes blocs indéfiniment. Pour cette raison, un schéma de niveau d'usure est utilisé pour déplacer périodiquement les zones les plus fréquemment consultées, telles qu'un répertoire. Le nivellement de l'usure est similaire à la défragmentation d'un disque dur, mais dans le cas de la mémoire flash NAND, cela doit se produire, sinon des données pourraient éventuellement être perdues.
 
Une certaine prise en charge du nivellement de l'usure est intégrée à certaines puces Flash, bien que cette fonction soit principalement exécutée par le contrôleur ou la couche logicielle du système. De nombreux efforts sont déployés pour masquer l'activité de nivellement de l'usure afin qu'elle n'interfère pas avec les performances normales de l'appareil.
 
Le groupe Open NAND Flash Interface (ONFI) a développé une norme pour les composants Flash NAND qui a été largement adoptée par l'industrie. Cette norme fournit un ensemble commun d'E/S et de commandes, et standardise efficacement une architecture commune pour les composants conformes à ONFI. Cette architecture comprend les éléments communs suivants :
 
  • Interface de données - généralement 8 bits, parfois 16 bits dans les parties les plus denses
  • Contrôleur d'E/S – Multiplexe les types de mots de données, de commande et d'état. Décode les commandes
  • Logique de contrôle - Gère la négociation des transactions d'E / S avec le contrôleur Flash
  • Registre d'adresses - Identifie le bloc auquel accéder en lecture ou en écriture
  • Registre de données/cache - un registre statique à mot unique pour mettre en mémoire tampon les données entre les E/S et le tableau
  • Registre d'état - Signale les erreurs dans les transactions et le flux de données
  • Décodage de ligne/colonne - décompose la valeur d'adresse en valeurs de page
  • Flash Array - les cellules Flash disposées en lignes et en colonnes

 

pièces éclair
Schéma fonctionnel typique du composant Flash SSD
 
Le tableau ci-dessous décrit chacune des lignes d'E / S et de contrôle plus en détail pour les pièces Flash NAND ONFI standard. 
 
Ligne de contrôle
Description
Utilisation
DE
Entrée
Activation du verrouillage d'adresse : pendant le temps où ALE est ÉLEVÉ, les informations d'adresse sont
transféré depuis I/O[7:0] dans le registre d'adresses sur puce. Sur un BAS à ÉLEVÉ
transition sur WE # - lorsque les informations d'adresse ne sont pas chargées - les signaux ALE
doit être conduit BAS.
CE #
Entrée
Activation de la puce : transferts Gates entre le système hôte et le périphérique Flash NAND.
Une fois que l'appareil devient occupé ou démarre une opération de PROGRAMMATION ou d'EFFACEMENT, CE# peut être
désaffirmé. Voir « Fonctionnement du bus » à la page 16 pour plus de détails sur le fonctionnement.
et CLE
Entrée
Activation du verrouillage de commande : lorsque CLE est HIGH, les informations sont transférées de
E/S [7:0] vers le registre de commande sur puce sur le front montant de WE#. Quand
les informations de commande ne sont pas chargées, les signaux CLE doivent être mis au niveau BAS.
VERROUILLAGE
Entrée
Lorsque LOCK est HIGH lors de la mise sous tension, la fonction BLOCK LOCK est activée.
Pour désactiver BLOCK LOCK, connectez LOCK à VSS lors de la mise sous tension, ou laissez-le
déconnecté (pull-down interne).
ROI#
Entrée
Activation de la lecture : Gates transfère du périphérique Flash NAND au système hôte.
NOUS#
Entrée
Activation en écriture : Gates transfère du système hôte vers le périphérique Flash NAND.
WP #
Entrée
Protection en écriture : Protège contre les opérations PROGRAM et ERASE par inadvertance. Tous
Les opérations PROGRAM et ERASE sont désactivées lorsque WP# est LOW.
E/S[7:0] (x8)
E/S[15:0] (x16)
I / O
Entrées/sorties de données : adresses de transfert de signaux d'E/S bidirectionnelles, données et instruction
information. Les données sont émises uniquement pendant les opérations READ ; à d'autres moments, les E/S
les signaux sont des entrées.
R/B#
Sortie
Prêt/occupé : Le signal prêt/occupé est une sortie à drain ouvert, active-BAS, qui utilise un
résistance pull-up externe. Le signal est utilisé pour indiquer quand la puce traite un
opération PROGRAM ou ERASE. Le signal est également utilisé pendant les opérations READ pour
indiquer quand les données sont transférées de la matrice vers le registre de données série.
Lorsque ces opérations sont terminées, le signal prêt/occupé revient à la haute impédance
Etat.
VCC
Approvisionnement
VCC : La boule VCC est l'alimentation électrique.
VSS
Approvisionnement
VSS : La boule VSS est la connexion à la terre.
 
Certaines des caractéristiques de cette norme comprennent :
 
  • Découverte – permet au contrôleur Flash de déterminer les caractéristiques du composant Flash
  • Adressage LUN - permet au contrôleur d'activer les opérations sur les composants Flash indépendamment
  • Entrelacement – ​​permet au contrôleur de synchroniser les opérations sur un ensemble de composants Flash
  • Mise en cache – permet aux données de circuler vers/depuis le contrôleur indépendamment des opérations de la baie Flash
  • Copyback - permet au composant Flash de déplacer des données d'un bloc à un autre sans implication directe du contrôleur
 
Les principaux fournisseurs de composants SSD Flash sur le marché au début de 2010 comprennent :
 
  • Hynix
  • Intel
  • micron
  • SanDisk
  • Toshiba
  • Numonyx (ST Micro)
  • Samsung
 
Chaque fournisseur offre une variété de capacités, de vitesses et de fonctionnalités pour se démarquer de ses concurrents.
Les concepteurs de systèmes effectuent une série de compromis lors de la sélection d'un fournisseur et d'un composant Flash particulier pour leur produit SSD cible et leur(s) marché(s) cible(s).  
 
Les compromis comprennent :
 
  • Stratégie de Marketing Programmatique – coût, calendrier, support, garantie et disponibilité.
  • Notre technologie – performances, puissance, options de package, fonctionnalités, évolutivité et flexibilité.
  • Autres – points communs, compatibilité, documentation, support de développement, tests et réputation.
 
Lors du processus de sélection des composants Flash, le concepteur du système effectue également la même analyse pour le contrôleur Flash et les autres composants nécessaires à la conception du SSD. Il s'agit d'un processus itératif pour trouver la bonne combinaison de fournisseurs et de composants pour répondre au mieux aux exigences d'un produit particulier.   
 
Évolution technologique
 
La prochaine génération de composants Flash intègre plus de fonctionnalités dans le composant de base et offre une interface intelligente plutôt qu'un bus mémoire Flash standard de type ONFI utilisé par les SSD aujourd'hui.
 
Dans un premier temps, cette approche permettra aux composants Flash NAND d'être rapprochés du bus du processeur hôte pour des produits tels que les appareils mobiles, offrant une grande capacité de stockage et une prise en charge du streaming et de l'enregistrement de données haute définition. 
 
Pour le PC, il n'existe actuellement aucune norme "DIMM" pour la mémoire flash NAND dans le PC. C'est nécessaire. Cela inclurait une taille de module, un connecteur, un type de bus, une gestion des erreurs et des pilotes. 
 
Guides connexes: