# Mémoire vive

La mémoire vive, parfois abrégée avec l'acronyme anglais RAM (random-access memory), est la mémoire informatique dans laquelle peuvent être enregistrées les informations traitées par un appareil informatique. On écrit mémoire vive par opposition à la mémoire morte.
L'acronyme RAM date de 1965.

## Caractéristiques générales

Les caractéristiques actuelles de cette mémoire sont :
* Sa fabrication à base de circuits intégrés ;
* L'accès direct à l'information par opposition à un accès séquentiel ;
* Sa rapidité d'accès, essentielle pour fournir rapidement les données au processeur ;
* Sa volatilité, qui entraîne une perte de toutes les données en mémoire dès qu'elle cesse d'être alimentée en électricité.

## Histoire

En 1957, Frosch et Derick manufacturent les premiers transistors (...) à Bell Labs, les premiers transistors à drain et source sont adjacents à la surface. Subséquement, en 1960, une équipe démontre un MOSFET fonctionnant à Bell Labs$^,$. Cela a conduit au développement de mémoire MOS (metal–oxide–semiconductor) par John Schmidt à Fairchild Semiconductor en 1964$^,$. En plus de la rapidité, la mémoire à semiconducteur MOS était meilleur marché et plus sobre électriquement que la mémoire magnétique préexistante. Le développement de la technologie circuit intégérés MOS à silicon-gate (MOS IC) par Federico Faggin à Fairchild en 1968 permis la production de puces mémoire MOS La mémoire MOS surpassa la mémoire magnétique comme technologie mémoire dominante au début des années 1970s.
La static random-access memory (SRAM) bipolaire intégrée est inventée par Robert H. Norman à Fairchild Semiconductor en 1963. C'est suivi par le développement de SRAM MOS par John Schmidt à Fairchild en 1964. La SRAM devient un substitut des mémoires magnétiques, mais requerrait six transistors MOS pour chaque bit de donnée. L'utilisation commerciale de la SRAM commença en 1965, quand IBM introduisit la puce mémoire SP95 pour l'System/360 Model 95.
La dynamic random-access memory (DRAM) permit le remplacement d'un circuit latch de 4 ou 6-transistors par un unique transistor pour chaque bit de mémoire, augmentant grandement la densité mémoire au coût de la volatilité. La données était contenues dans la capacitance minuscule de chaque transistor et devait être périodiquement rafraichie chaque peu de millisecondes avant que la charge ne fuie.
La calculateur électronique Toshiba's Toscal BC-1411, qui fut introduit en 1965, utilisait une forme de DRAM "capacitor-bipolar", enregistrant 180-bit de donnée dans des cellules mémoire discrètes, consistant en des transistors et condensateurs/capacités bipolaires en germanium$^,$. Alors qu'il offraitdes vitesses plus élevées que la mémoire magnétique, la DRAM bipolaire restait plus chère que la mémoire magnétique Les condensateurs/capacités ont aussi été utilisés pour des schémas mémoire antérieurs, tels que le "drum" du Atanasoff–Berry Computer, le tube Williams et le tube Selectron.
En 1966, Robert Dennard inventa l'architecture DRAM moderne pour laquelle un seul transistor MOS par condensateur/capacitor suffit. En examinant les caractéristiques de la technologie MOS, il fut capable de construite des capacitors/condensateurs, et la présence ou l'absence de charge sur le condensateur/capacitor MOS pouvait représenter les états 1 et 0 d'un bit, quand le transistor MOS pouvait contrôler l'écriture de la charge dans le condensateur/capacitor. Cela mena au développement d'une cellule mémoire DRAM à transistor unique. En 1967, Dennard documente un brevet (patent) pour IBM pour une cellule mémoire DRAM à transistor unique, basé sur la technologie MOS technology. La première puce commerciale DRAM IC était l'Intel 1103, qui était produite avec un procédé MOS 8 μm avec une quantité de 1 kbit, et releasé en 1970.
En 1981, la RAM est déjà présente sur le PC introduit par IBM.
Les premières DRAM étaient souvent synchronisées avec l'horloge CPU et furent utilisées avec les premiers microprocessors. Au milieu des années 1970s, la conception (design) des DRAMs devint asynchrone, mais dans les années 1990s redevint synchrone$^,$. En 1992 Samsung releasa la KM48SL2000, mémorisant 16 Mbit$^,$ et produit en masse en 1993. La première puce mémoire DDR SDRAM commerciale (double data rate SDRAM) était la puce SDRAM DDR de Samsung de 64 Mbit, releasée en juin 1998. Les DDR graphiques (GDDR) sont une forme des RAM graphiques synchrones (SGRAM), qui furent initialement releasée par Samsung en puce mémoire de 16 Mbit de en 1998.

## Désignations

Il y a deux types principaux de mémoire vive. La mémoire vive dynamique (DRAM) doit être réactualisée périodiquement pour éviter la perte d'information, même sous alimentation électrique normale. La mémoire vive statique (SRAM) n'a pas besoin d'un tel processus sous alimentation électrique normale.
| Cellule DRAM (1 transistor et un condensateur). | Cellule SRAM (6 transistors) |

## Technique

* circuit intégré DIP
* barrette SIP
* barrette SIMM 30 broches
* barrette SIMM 72 broches
* barrette DIMM
* barrette RIMM
La mémoire informatique est un composant d'abord réalisé par des tores magnétiques, puis par l'électronique dans les années 1970, qui permet de stocker et relire rapidement des informations binaires. Son rôle est notamment de stocker les données qui vont être traitées par l'unité centrale de traitement (UCT), soit un microprocesseur dans la plupart des appareils modernes.
On peut accéder à la mémoire vive alternativement en lecture ou en écriture.
Il existe également des mémoires associatives, largement utilisées dans les techniques de mémoire virtuelle pour éviter des recherches séquentielles de pages et accélérer ainsi les accès.

### Organisation

Les informations peuvent être organisées en mots de 8, 16, 32 ou 64 bits.
Certaines machines anciennes avaient des mots de taille plus exotique. Par exemple,
* 60 bits pour le Control Data 6600 ;
* 36 bits pour l'IBM 7030 « Stretch » ou le DEC PDP-10 ;
* 12 bits pour la plupart des premiers mini-ordinateurs de DEC, les appareils d'instrumentation travaillant au mieux sur 12 bits à l'époque.

### Détection et correction d'erreurs

Afin d'assurer la fiabilité de l'information enregistrée en mémoire, on ajoute des bits supplémentaires à chaque mot de mémoire. Par exemple,
* Dans les mémoires à parité, il y a un bit supplémentaire (dit de contrôle de parité), transparent à l'utilisateur (traitement matériel) ;
* Dans les mémoires à correction automatique d'erreur sur 1 bit et détection sur plus d'un bit (ECC), ces bits invisibles sont parfois au nombre de six ou plus ;
* Chaque mot des mémoires des serveurs modernes dits non-stop ou 24×365 dispose, en plus des bits de correction, de bits de remplacement qui prennent la relève des bits défaillants à mesure du vieillissement de la mémoire (une défaillance de 10$^{-11}$ chaque année se traduit par 10,0 bits défaillants par an sur une mémoire de 128 Gio).
Les fabricants recommandent d'utiliser de barrettes de mémoire avec l'ECC pour celles ayant une capacité d'1 Gio ou plus, en particulier celles utilisées dans les serveurs, permettant de détecter les erreurs et de les corriger à la volée. Dans la pratique, les ordinateurs personnels les utilisent très rarement.

### Temps d'accès

Le temps d'accès à un mot de la mémoire vive est de quelques dizaines ou centaines de nanosecondes tandis que celui d'une mémoire à disque dur est de quelques millisecondes (c'est-à-dire dix mille à cent mille fois plus lent) et celui d'une mémoire à semi-conducteur est intermédiaire. En revanche, il n'est possible avec ces derniers, de lire et écrire que par blocs de mots.

### Adressage de la mémoire

Un circuit intégré de mémoire ne comporte que le nombre de bits d'adressage mémoire nécessaire pour accéder aux mots de mémoire qu'il contient. L'unité centrale de traitement comporte beaucoup plus de bits d'adresse mémoire qu'un simple circuit intégré de mémoire afin d'adresser davantage de mémoire. Ces bits supplémentaires sont décodés par un circuit spécialisé, nommé décodeur d'adresse ou sélecteur, pour sélectionner le circuit intégré de mémoire approprié grâce à une broche de celui-ci nommé chip select.
Il est très facile de munir un microprocesseur d'une mémoire non contiguë (par exemple de 0 à 4 095, puis un trou, puis de la mémoire entre 16 384 et 32 767), ce qui facilite beaucoup la détection d'erreurs d'adressage éventuelles.

## Divers types de mémoire vive
### Mémoire vive statique

Une mémoire vive statique est une mémoire vive qui n'a pas besoin de rafraîchissement.

#### Static Random Access Memory (SRAM)

Cette mémoire utilise le principe des bascules électroniques pour enregistrer l'information. Elle est très rapide, mais est cependant chère et volumineuse. Elle consomme moins d'électricité que la mémoire dynamique. Elle est utilisée pour les caches mémoire, par exemple les caches mémoire L1, L2 et L3 des microprocesseurs.

#### Dual Ported Random Access Memory (DPRAM)

Cette mémoire est une variante de la Static Random Access Memory (SRAM) où on utilise un port double qui permet des accès multiples quasi simultanés, en entrée et en sortie.

#### Magnetic Random Access Memory (MRAM)

Cette mémoire utilise la charge magnétique de l'électron pour enregistrer l'information. Elle possède un débit de l'ordre du gigabit par seconde, un temps d'accès comparable à de la mémoire DRAM (~10 ns) et elle est non-volatile. Étudiée par tous les grands acteurs de l'électronique, elle a commencé à être commercialisée en 2006, mais reste en 2020 confinée à un marché de niche.

#### Phase-Change Random Access Memory (PRAM)

Cette mémoire utilise le changement de phase du verre pour enregistrer l'information. Elle est non-volatile. Elle a commencé à être commercialisée en 2012.

### Mémoire vive dynamique

Une mémoire vive dynamique est une mémoire vive qui a besoin de rafraîchissement.
La simplicité structurelle d'une mémoire vive dynamique (DRAM) (un condensateur et un transistor pour un bit) permet d'obtenir une mémoire dense à faible coût. Son inconvénient réside dans les courants de fuite des condensateurs : l'information disparaît à moins que la charge des condensateurs ne soit rafraîchie avec une période de quelques millisecondes, d'où le terme de dynamique. A contrario, les mémoires vives statiques (SRAM) n'ont pas besoin de rafraîchissement, mais utilisent plus d'espace et sont plus coûteuses.

## Fabricants de mémoire

* A-DATA
* Corsair Components
* Crucial
* Dane-Elec
* G. Skill
* Infineon
* Kingston
* OCZ Technologies
* PNY Technologies
* RAMBUS
* Thermaltake
* Transcend

### Puces mémoire

* Cypress
* Elpida
* Hynix
* Integrated Device Technology
* Qimonda
* Micron
* Nanya
* Powerchip Semiconductor Corporation (PSC)
* Samsung
* Winbond
* Take MS

### Barrettes de mémoire

* A-Data
* Avexir
* Buffalo
* Corsair
* Crucial
* DaneElec
* G.Skill
* Geil
* Kingston
* OCZ
* Patriot
* PNY Technologies
* Proflash Technologies
* ProMos
* Samsung
* Shikatronics
* TEAM group
* Transcend
* Twinmos
* HyperX