Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  01.06.2024      r-  15.07.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

SSD (« Solid-State Drive ») est un périphérique informatique alternatif aux disques durs, et d'avenir, permettant le stockage de données en utilisant la technologie « mémoire flash » qui a les mêmes caractéristiques à semi-conducteurs que la mémoire vive (RAM [Random Access Memory]) à ceci prêt que la « mémoire flash » garde tout en mémoire, indéfiniment, après une coupure de courant, tandis que la RAM perd la mémoire immédiatement.

Synonymes : « disque SSD », « disque électronique », « disque à semi-conducteur ».

« Solid-State » souligne le fait que, contrairement aux disques durs, qui sont faits de composants mécaniques en mouvements (plateaux rotatifs tournant sans cesse et têtes de lecture se déplaçant sans cesse - lenteur, usure et consommation électrique), les SSD ne comportent aucune pièce en mouvement – ils sont rigides/solides.




Il y a, dans tous les ordinateurs, un logiciel de base (un micrologiciel ou firmware) à partir duquel l'appareil démarre : le BIOS (Basic Input Output System).

L'enregistrement de ce firmware est permanent, même courant coupé, car il est inscrit dans un composant électronique à lecture seule, de type ROM - Read Only Memory, programmé une seule fois pour toutes lors de sa fabrication (les ROMS ne sont pas réinscriptibles).

Les technologies évoluant, il devient nécessaire de reprogrammer le BIOS, de le mettre à jour. La technologie ROM est alors abandonnée et remplacée par la technologie EEPROM - Electrically-Erasable Programmable Read-Only Memory, une technologie de mémoire également permanante, mais reprogrammable. Le contenu des EEPROM est modifiable sous des conditions/contraintes très particulières. C'est la naissance de l'idée du comportement des SSD dont les technologies FLASH (Mémoire flash (« Flash memory »)), nées en 1984, n'auront rien à voir avec les EEPROM.

Ne pas confondre la technologie Flash memory et le langage Flash Player (Adobe Flash Player).




Lorsque le code du BIOS (UEFI depuis) inscrit dans une EEPROM doit être mis à jour, ce n'est normalement pas possible sauf à :

  • Retourner le composant (l'ordinateur entier) en usine - impensable (comptez 1 mois à 3 mois pour le retour) !

  • Retirer le composant (s'il n'est pas soudé à la carte mère) et l'envoyer en usine - impensable (comptez 1 mois à 3 mois pour le retour) !

  • Utiliser un logiciel spécial qui va effacer le contenu de l'EEPROM pour le reprogrammer. Les EEPROM sont effaçables, contrairement aux ROM ! Ce logiciel va « brûler » tout le contenu de l'EEPROM d'un coup (d'où le nom de « flash ») en appliquant des tensions électriques élevées (anormales) puis reprogrammer l'EEPROM. Ces tensions élevées font vieillir les « mémoires flash » qui ne supportent que peu de fois ces opérations d'effacements/écritures/réécritures. Selon la qualité de l'oxyde utilisé (100.000 réécritures maximum et, selon les technologies et performances (fabrication « économique »), ce nombre peut décendre à 3.000 réécritures seulement).

Toute la vitesse, mais aussi toutes les difficultés des « mémoires flash », que ce soit en cartes mémoire ou en SSD, reposent sur ce principe des EEPROM et de leurs contraintes.

  • Avec un disque dur, il y a deux opérations : écriture et lecture.

  • Avec un SSD, il y a trois opérations : programmation, lecture, effacement. L'opération d'écriture sur un disque dur est remplacée par une opération dite de « programmation » (si la mémoire est vierge) ou d'effacement suivi de reprogrammation si la mémoire n'est pas vierge (déjà programmée).




Bien qu'utilisant la même technologie à mémoire flash, un SSD est, à capacité de stockage identique, beaucoup plus grand qu'une carte SD, car :

  • Un SSD doit prendre, tout au moins dans un ancien appareil, la place d'un disque dur, donc avoir le même format extérieur. Il existe des supports au format disque dur acceuillant les SSD. Parfois, des précautions de refroidissement additionnelles doivent être prises.

  • Un SSD dispose de composants additionnels à une carte SD :

    • Une interface beaucoup plus intelligente et complète, prenant un peu plus de place que l'interface des cartes SD.

    • Parfois une Mémoire cache (accélération par le principe d'anticipation) qui permet d'économiser les opérations écritures/réécritures, la mémoire flash étant plus rapide lorsque le système doit écrire à plusieurs endroits en même temps.




Il existe plusieurs technologies de mémoire flash, dont NOR et NAND. Nous n'allons pas entrer dans les propriétés de l'algèbre de Boole et les lois de De Morgan (fonctions logiques de base OUI, NON, ET, OU) et fonctions universelles (avancées) NON OU (NOR), NON ET (NAND) (et autres OU exclusif et ET exclusif).

  • NOR
    La lecture à partir de la mémoire flash NOR est similaire à la lecture à partir de la mémoire vive, à condition que l'adresse et le bus de données soient correctement mappés. De ce fait, la plupart des microprocesseurs peuvent utiliser la mémoire flash NOR comme mémoire XIP, ce qui signifie que les programmes stockés dans la mémoire flash NOR peuvent être exécutés directement à partir de la mémoire flash NOR sans qu'il soit nécessaire de les copier préalablement dans la RAM. Le flash NOR peut être programmé de manière à obtenir un accès aléatoire similaire à la lecture. La programmation change les bits d'un bit logique à zéro. Les bits qui sont déjà nuls ne sont pas modifiés. L'effacement doit avoir lieu un bloc à la fois et réinitialise tous les bits du bloc effacé. Les tailles de bloc typiques sont 64, 128 ou 256 Ko.

    La gestion des blocs défectueux est une fonctionnalité relativement nouvelle dans les puces NOR. Dans les périphériques NOR plus anciens ne prenant pas en charge la gestion des blocs défectueux, le logiciel ou le pilote de périphérique contrôlant la puce de mémoire doit corriger les blocs usés, sinon le périphérique cessera de fonctionner de manière fiable.

    Les commandes spécifiques utilisées pour verrouiller, déverrouiller, programmer ou effacer les mémoires NOR diffèrent pour chaque fabricant. Pour éviter d'avoir besoin d'un logiciel de pilote unique pour chaque périphérique, les commandes spéciales CFI (Common Flash Memory Interface) permettent au périphérique de s'identifier et d'identifier ses paramètres de fonctionnement critiques.

    Outre son utilisation en tant que ROM à accès aléatoire, NOR flash peut également être utilisé en tant que périphérique de stockage, en tirant parti de la programmation à accès aléatoire. Certains périphériques offrent une fonctionnalité de lecture-en-écriture afin que le code continu de s'exécuter même pendant l'exécution d'une opération de programme ou d'effacement en arrière-plan. Pour les écritures de données séquentielles, les puces flash NOR ont généralement une vitesse d'écriture lente par rapport à la mémoire flash NAND.

    Un flash NOR typique n'a pas besoin de code de correction d'erreur. [
  • NAND
    Le flash NAND suivit en 1989, commercialisé par Toshiba. Cette mémoire est plus rapide à l'effacement et à l'écriture, offre une plus grande densité et un coût moins important par bit. Toutefois son interface d'entrée-sortie n'autorise que l'accès séquentiel. Cela tend à limiter — au niveau du système — sa vitesse effective de lecture, et à compliquer le démarrage direct à partir d'une mémoire NAND. De ce fait elle est moins bien adaptée que la NOR pour exécuter du code machine. Du fait de son prix moins élevé, elle est présente dans de nombreux assistants et téléphones portables en utilisant par blocs la mémoire RAM en mode page comme support d'exécution. Le fabricant ne garantit pas en général le stockage des données à 100 %, mais un taux d'erreurs inférieur à une limite donnée. Cette fiabilité limitée nécessite la mise en place d'un système de gestion des erreurs (ECC - Error Code Correction - Error Code Checking and Correcting - Bad blocks management [1], etc.) au niveau de l'application — comme cela est le cas, par exemple, pour les disques durs. Elle est donc utilisée pour le stockage d'informations. Quasiment toutes les mémoires de masse externes (carte MMC, clé USB, carte SD et carte MS) utilisent cette technologie.

    Samsung débute fin 2009 la production d'une puce de 4 Go de mémoire flash NAND, gravée en 30 nm, et dont la particularité est d'avoir une interface de type DDR (double data rate). Bien que ces dernières souffrent encore de problèmes de performances qui font qu'elles ne sont pas utilisées sur les SSD, ces puces offriraient un débit 3 fois supérieur à celles basées sur une interface SDR (single data rate). Des constructeurs comme Toshiba, IM Flash Technologies (Micron / Intel) et Samsung utilisent des mémoires Flash NAND MLC (multi-level cell) stockant 2 bits par cellule ou bien de la NAND TLC (Triple level cell) stockant 3 bits par cellule (MLC 3PBC).

    Une norme d'interface ouverte aux mémoires flash a été créée par un groupe de travail nommé ONFI (Open NAND Flash Interface) composé de différents fabricants de mémoire NAND flash, incluant Intel, Micron, Phision Electronics, SanDisk, SK Hynix, Sony et Spansion.

    En 2019, la puce NAND équipant le téléphone P30 Pro de Huawei équivaut à plus de 7 % des coûts de fabrication de celui-ci.

    [?]Bad Block Management for NAND Flash Managers