Mémoire morte

Originellement, l'expression mémoire morte (en anglais, Read-Only Memory : ROM) désignait une mémoire informatique non volatile dont le contenu est fixé lors de sa programmation, qui pouvait être lue plusieurs fois par l'utilisateur, mais ne pouvait plus être modifiée.

Avec l'évolution des technologies, la définition du terme mémoire morte (en français) ou read only memory (en anglais) a été élargie pour inclure les mémoires non volatiles dont le contenu est fixé lors de leur fabrication, qui peuvent être lues plusieurs fois par l'utilisateur et qui ne sont pas prévues pour être modifiées. Elles peuvent parfois cependant l'être par un utilisateur expérimenté, éventuellement avec un matériel spécial. Ces mémoires sont les UVPROM, les PROM, les EPROM et les EEPROM.

Utilisation

Les mémoires mortes sont utilisées, entre autres, pour stocker :

  • les informations nécessaires au démarrage d’un ordinateur (BIOS, instructions de démarrage, microcode);
  • des tables de constantes ou des tables de facteurs de conversion ;
  • Elle fait aussi partie des microprogrammes présents dans les ordinateurs et la plupart des appareils électroniques (smartphone, baladeur et autres lecteurs de CD/DVD) mais aussi la plupart des appareils programmables (TV, réveil, machine à laver, lave vaisselle, etc.).

Le temps d’accès à la mémoire morte est de l’ordre de grandeur de 150 nanosecondes comparativement à un temps d’accès d’environ 10 nanosecondes pour la mémoire vive. Pour accélérer le traitement des informations, les données stockées dans la mémoire morte sont généralement copiées dans une mémoire vive avant d’être traitées. On appelle cette opération le shadowing.

Types

Les mémoires mortes sont classées selon la possibilité de les programmer et de les effacer :

  • Les ROM (Read Only Memory) dont le contenu est défini lors de la fabrication.
  • Les PROM (Programmable Read Only Memory) sont programmables par l’utilisateur, mais une seule fois en raison du moyen de stockage, les données sont stockées par des fusibles.
  • Les EPROM (Erasable Programmable Read Only Memory) sont effaçables et programmables par l’utilisateur.
  • Les UVPROM or Flash EPROM (Ultra Violet Programmable Read Only Memory) sont des mémoires programmables par l'utilisateur. Elles sont effaçables en les mettant dans une chambre à ultraviolet. Les UV Prom ont été remplacées par les EEPROM qui ne nécessitent pas d’être extraites de l'appareil pour être reprogrammées.
  • Les EEPROM (de l'anglais Electrically Erasable Programmable Read Only Memory) sont effaçables et programmables par l’utilisateur. Elles sont plus faciles à effacer que les EPROM car elles sont effaçables électriquement donc sans manipulations physiques. Elles constituent désormais le principal type de mémoire morte avec les mémoires SD, USB, CompactFlash et enfin les disques SSD.

La mémoire flash

La mémoire flash est une mémoire de masse à semi-conducteurs réinscriptible, c'est-à-dire possédant les caractéristiques d'une mémoire vive mais dont les données ne disparaissent pas lors d'une mise hors tension. La mémoire flash stocke dans des cellules de mémoire les bits de données qui sont conservées lorsque l'alimentation électrique est coupée.

Sa vitesse élevée, sa durée de vie et sa faible consommation (qui est même nulle au repos) la rendent très utile pour de nombreuses applications : appareils photo numériques, téléphones cellulaires, imprimantes, assistants personnels (PDA), ordinateurs portables ou dispositifs de lecture et d'enregistrement sonore comme les baladeurs numériques, clés USB. De plus, ce type de mémoire ne possède pas d'éléments mécaniques, ce qui lui confère une grande résistance aux chocs.

Les mémoires Flash sont une variété de mémoire EEPROM rapide et effaçable par secteur complet, et non par case individuelle. On trouve plusieurs interfaces pour les adresser, série (24cxx) commandées par bus I2C, SPI… ou parallèles (29cxx), en 8/16/32 bits. C'est ce type de mémoire qui est utilisé dans les BIOS des cartes mères et dans des cartes électroniques où elles enregistrent des informations inhérentes à la carte comme l'adresse MAC, le nom du constructeur ou le type de produit. Elles servent également dans les cartes mémoires SD, USB et CompactFlash mais aussi dans les disques SSD.