• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 13/03/2020

Découvrez les mémoires statiques et dynamiques

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Après avoir étudié l'architecture générale des mémoires dans le chapitre précédent, vous découvrirez ici deux types de mémoires : statique et dynamique.

Découvrez le point mémoire statique SRAM

La mémoire statique, encore appelée "Random Access Memory - 6 Transistors" (RAM-6T) est basée sur un circuit de 2 inverseurs rebouclés, qui assurent le stockage de deux états stables, 0 ou 1. Deux transistors supplémentaires servent de système de lecture ou d'écriture suivant le cycle choisi. Le schéma comporte au total 6 transistors, comme indiqué à la figure ci-dessous.

On remarquera que la cellule stocke la donnée Data et son inverse ~Data. Cela implique d'écrire en même temps (lors du cycle d'écriture) Data, par le biais de BitLine et ~Data, par le biais de ~BitLine.

Figure 3: Point mémoire à 6 transistors
Point mémoire à 6 transistors - WordLine=ligne de mot, BitLine=ligne de donnée

Cycle d'écriture dans la mémoire statique

La simulation de la phase d'écriture dans la cellule RAM est proposée à la figure ci-dessous. Les données à écrire sont imposées sur BitLine (0,1,10..), et l'inverse sur ~BitLine (1,0,0,1). Comme WordLine est à 0, la cellule est isolée de l'extérieur ; en effet les deux transistors de passage NMOS sont coupés.  Data atteint une valeur de 1, ~Data atteint 0, la mémoire stocke donc la valeur "1".

Au temps 0.5ns, WordLine passe à 1, la cellule mémoire est alors connectée à BitLine et ~BitLine. Les valeurs imposées modifient la valeur interne de la mémoire, Data passe alors à 0 et ~Data à 1.

À l'instant 1.0ns, WordLine passe à 0, la mémoire est de nouveau isolée.

À l'instant 1.5ns, WordLine passe à 1, la cellule de mémoire est à nouveau sélectionnée. L'information à stocker est maintenant 0 sur BitLine et 1 sur ~BitLine. Après un très court délai d'écriture (de l'ordre de quelques pico-secondes), Data passe à 1 et ~Data à 0.

Cliquez ici pour afficher l'image en plein écran.

Simulation de la mémoire statique - La cellule est activée pour WordLine=1. Le cycle d'écriture correspond à t=0..2ns, le cycle de lecture de 2..4ns
Simulation de la mémoire statique - La cellule est activée pour WordLine=1. Le cycle d'écriture correspond à t=0..2ns, le cycle de lecture de 2..4ns 

Plan mémoire statique

La cellule mémoire de base  a été conçue pour être dupliquée en X et Y afin de faire cohabiter un grand nombre de cellules, autant dans le sens horizontal que dans le sens vertical. Un arrangement modeste de 4 x 4 cellules RAM est proposé à la figure ci-dessous. Les lignes de sélection WL[i] concernent toutes les cellules d'une même ligne. Les lignes de bits BL[j] et nBL[j] concernent toutes les cellules d'une même colonne.

Figure 4: Mémoire 4 x 4 bits
Mémoire 4 x 4 bits en matrice de cellules à 6 transistors

L'architecture complète de cette mémoire comporte, comme étudié dans le chapitre précédent, un décodeur de ligne, un décodeur de colonne ainsi qu'un circuit de lecture/écriture.

Découvrez le point mémoire dynamique DRAM

La mémoire RAM dynamique ne comporte qu'un seul transistor, au lieu de 6 dans la cellule mémoire statique décrite à la section précédente. Une telle simplification permet une amélioration considérable de la densité de la matrice mémoire. L'élément de stockage n'est plus la boucle de deux inverseurs, intrinsèquement stable, mais seulement un condensateur Cs, également appelé condensateur de stockage.

Celui-ci n'est pas stable comme la cellule statique, mais permet de garder une information sous forme de charges dans le condensateur pendant une durée relativement longue (à l'échelle des commutations dans les circuits intégrés, qui sont de l'ordre de la picoseconde), c'est-à-dire quelques millisecondes.

Cycle d'écriture de la mémoire dynamique

L’architecture des cellules DRAM est illustrée dans la figure ci-dessous, en montrant l'opération d'écriture et de maintien d'une information logique "1". La donnée à écrire est imposée sur la ligne BL (BL=1), la ligne WL est alors activée (WL=1), le transistor NMOS devient passant et Cs se charge à "1" (VDD-Vt). Lorsque WL est inactif (WL=0), le condensateur de stockage Cs conserve le "1" (VDD-Vt) pendant quelques millisecondes avant de se décharger inéluctablement à cause des courants de fuite.

Cycle d'écriture d'une mémoire RAM dynamique
Cycle d'écriture d'une information "1" dans la mémoire RAM dynamique

Si l'on désire stocker un "0", on impose 0 sur BL, on active WL, ce qui a pour effet de décharger Cs (figure ci-dessous). Ensuite, l'information "0" reste une fois WL désactivé. La capacité Vs conserve le "0" (0 V) pendant quelques millisecondes.

Cycle d'écriture d'une information "0"

Cycle de lecture de la mémoire dynamique

Une fois les données écrites dans les cases mémoires, on peut venir lire ces données.

La lecture se déroule en plusieurs étapes (exemple de la lecture d'un "1") :

  1. La première étape (figure de gauche) consiste à précharger la ligne BL à VDD/2, c'est-à-dire à mi-chemin entre "0" et "1". WL reste à 0 afin que le transistor NMOS soit coupé et la donnée "1" piégée dans Cs.

  2. BL qui a été initialement chargée à VDD/2 est maintenant rendue flottante. Lorsque WL est activée (figure de droite), une communication est établie entre BL et le condensateur Cs à travers le transistor NMOS passant.  

  3. Les charges se partagent entre la capacité de stockage Cs et la capacité CBL de la ligne BL. Il en résulte une légère augmentation au-dessus de VDD/2 de la tension VBL, grâce à l'injection des charges depuis la cellule mémoire. 
    Si Cs contient "0", BL étant préchargé à VDD/2, le résultat de l'écriture sera une légère diminution de la tension de BL.

Exemple de lecture d'un
Exemple de lecture d'un "1"

Intégration des mémoires RAM dynamique

Le point mémoire DRAM est principalement un transistor et une capacité. La fabrication de la capacité fait appel à des étapes de process dédiées, notamment avec l'utilisation de diélectriques à forte permittivité tels que Ta2O5 (permittivité 23 au lieu de 4 pour SiO2), afin de maximiser la valeur de la capacité Cs. Ceci a pour effet d'augmenter la durée de stockage ainsi que les variations de tension lors du cycle de lecture. Un exemple de capacités fabriquées par TSMC en process 65-nm est donné ci-dessous.

Mémoire DRAM intégrée du process TSMC 65-nm Copyright © Taiwan Semiconductor Manufacturing Company Limited 2010-2019, All Rights Reserved.

Découvrez le point mémoire flash

L'élément de base d'une mémoire FLASH est un transistor à double grille, dont l'une est flottante (figure ci-dessous). Le concept repose sur la possibilité de piéger des électrons dans la grille totalement isolée, qui est situé entre la grille de contrôle et le canal. Les charges qui se trouvent dans cette grille flottante ont un impact direct sur les performances du transistor équivalent :

  • Lorsqu'il n'y a pas de charge piégée dans la grille flottante (figure en haut), un courant important peut circuler entre la source et le drain. Il suffit d'appliquer "1" sur la grille, comme un transistor canal N standard.

  • Lorsque des charges sont piégées dans la grille flottante (figure en bas), le courant circulant dans le dispositif est quasi nul, indépendamment de la tension de grille.

Simulation du transistor double grille de la mémoire Flash
Simulation du transistor double grille de la mémoire Flash : grille flottante déchargée (en haut) ou chargée avec des électrons (en bas)
Vue en coupe d'un plan mémoire FLASH
Vue en coupe d'un plan mémoire FLASH

La figure ci-dessus montre une vue en coupe d'un plan mémoire FLASH. On distingue les transistors à double grille avec deux zones rouges empilées. La zone la plus proche du canal est flottante, la zone la plus haute permet le contrôle du transistor. A côté de chaque transistor double-grille se trouve un transistor "normal", à une seule grille, qui sert de transistor d'accès comme dans la cellule DRAM.

La cellule composée d'un transistor double grille et d'un transistor d'accès est la plus simple et la plus robuste (Single-Level-Cell). Ce n'est cependant pas la plus compacte. Des architectures appelées FLASH NAND et NOR permettent d'intégrer plus de cellules mémoires dans un même espace, au prix d'une fiabilité moins grande et de restrictions de programmation.

Découvrez le point mémoire ROM

Un point mémoire ROM permet de stocker une valeur "0" ou "1", qui est programmée à l'avance (au moment de la fabrication de la mémoire) et ne peut plus être modifiée. Un principe simple d'architecture ROM consiste à positionner ou non un transistor sur une matrice d'accès, avec WL en guise de commande, et BL en guise de donnée en lecture, comme indiqué ci-dessous. Si le transistor est présent, BL passe à 0, sinon, BL reste à sa valeur chargée au préalable (ici à VDD quand Precharge=0).

Exemple de mémoire ROM 8x8
Exemple de mémoire ROM 8x8 - 8 fils WordLine à gauche, 8 fils BL en bas

Il est possible de rentrer des informations numériques telles que du code machine, des valeurs numériques, ou encore des clés de chiffrement grâce à ces mémoires. La structure en matrice 8 lignes x 8 colonnes correspond ici à 8 octets de données, chaque octet pouvant être lu en sélectionnant une ligne WL[i] parmi 8. Dans l'exemple ci-dessus, WL=1, les données sur BL[0..7] correspondent à 0b10010111, soit 0x97, où la donnée "1" correspond à une absence de transistor à l'intersection WL[i]/BL[j], et la donnée "0" à la présence d'un transistor à l'intersection WL[i]/BL[j].

Dans les chapitres précédents, vous avez eu un aperçu des différentes mémoires couramment utilisée. Nous vous proposons maintenant de mettre en œuvre vos connaissances pour concevoir par vous même sur DSCH une mémoire 8x8.

Exemple de certificat de réussite
Exemple de certificat de réussite