FR3113326A1 - Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant - Google Patents

Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant Download PDF

Info

Publication number
FR3113326A1
FR3113326A1 FR2008327A FR2008327A FR3113326A1 FR 3113326 A1 FR3113326 A1 FR 3113326A1 FR 2008327 A FR2008327 A FR 2008327A FR 2008327 A FR2008327 A FR 2008327A FR 3113326 A1 FR3113326 A1 FR 3113326A1
Authority
FR
France
Prior art keywords
resistive
pcm
bjt
bipolar
voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2008327A
Other languages
English (en)
Other versions
FR3113326B1 (fr
Inventor
Antonino Conte
Francesco La Rosa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Original Assignee
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Rousset SAS, STMicroelectronics SRL filed Critical STMicroelectronics Rousset SAS
Priority to FR2008327A priority Critical patent/FR3113326B1/fr
Priority to US17/393,075 priority patent/US20220044099A1/en
Priority to EP21189279.9A priority patent/EP3955171A1/fr
Priority to CN202110899221.7A priority patent/CN114067884A/zh
Publication of FR3113326A1 publication Critical patent/FR3113326A1/fr
Application granted granted Critical
Publication of FR3113326B1 publication Critical patent/FR3113326B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0038Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B63/00Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
    • H10B63/30Resistance change memory devices, e.g. resistive RAM [ReRAM] devices comprising selection components having three or more electrodes, e.g. transistors
    • H10B63/32Resistance change memory devices, e.g. resistive RAM [ReRAM] devices comprising selection components having three or more electrodes, e.g. transistors of the bipolar type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0045Read using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0078Write using current through the cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Neurology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Le circuit intégré pour le calcul convolutif (CNVL) comprend une matrice (ARR) de points mémoires non volatils (MPTij) comprenant chacun une cellule mémoire résistive à changement de phase (PCMij) couplée à une ligne de bit (BLj), et un transistor bipolaire de sélection (BJTij) couplé en série à la cellule et ayant une borne de base reliée à une ligne de mot (WLi), un circuit convertisseur d’entrée (INCVRT) configuré pour recevoir et convertir des valeurs d’entrée (A1-A4) en signaux de tension (V1-V4) et pour appliquer successivement les signaux de tension (V1-V4) sur des lignes de bit sélectionnées (BL1-BL4) sur des intervalles de temps respectifs (t1-t4), et un circuit convertisseur de sortie (OUTCVRT) configuré pour intégrer sur les intervalles de temps successifs (t1-t4) les courants de lecture (IWL) résultant des signaux de tension (V1-V4) qui polarisent les cellules mémoires résistives à changement de phase respectives (PCMij) et circulant dans des lignes de mots sélectionnées, et pour convertir les courants de lecture intégrés (IWL) en valeurs de sortie (Bi). Figure de l’abrégé : Fig 4

Description

Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant
Les modes de réalisation et mises en œuvre concernent le calcul convolutif, notamment le calcul intra-mémoire, par exemple le calcul convolutif entre les couches d’un réseau de neurones.
Dans le domaine technique des réseaux de neurones, l’expression « calcul convolutif » désigne un calcul entre un espace d’entrée d’un nombre fini de valeurs d’entrée et un espace de sortie d’un nombre fini de valeurs de sortie, le calcul de chaque valeur de sortie utilisant toutes les valeurs d’entrée. L’expression mathématique la plus pratique pour un tel calcul est le produit matriciel d’un opérateur matriciel convolutif et d’un vecteur des valeurs d’entrée, qui donne un vecteur des valeurs de sortie. Les valeurs de sortie sont ainsi toutes obtenues par une opération de multiplication-accumulation.
L’expression « calculs intra-mémoire » désigne des calculs réalisés en temps réel dans un circuit qui stocke les paramètres des calculs (appelé mémoire) ; ces calculs diffèrent des calculs classiques principalement par le fait que les calculs intra-mémoire ne nécessitent pas de transférer les valeurs et paramètres d’une mémoire vers une unité de traitement qui effectuerait les calculs. De plus, les unités de traitement sont généralement limitées par le nombre d’opérations élémentaires qu’elles peuvent calculer en même temps, alors que les calculs intra-mémoire calculent généralement tous les résultats et les fournissent en une seule fois, indépendamment de la quantité d’éléments calculés, selon le volume limite de l’ordinateur en mémoire.
Les calculs intra-mémoire classiques sont réalisés à l’aide d’une matrice de mémoire résistive, dans laquelle chaque point mémoire a une valeur résistive qui a été programmée selon les paramètres du calcul. Les valeurs d’entrées numériques sont converties en signaux de tension électrique appliqués sur des lignes électriques de lignes de points mémoire, où un courant ayant une intensité selon la loi d’Ohm circule dans chaque point mémoire. Les courants circulant dans les lignes électriques de colonnes sont sommés par la loi de Kirchhoff, puis convertis en valeurs de sorties numériques, chaque valeur de sortie résultant ainsi d’une opération de multiplication et d’accumulation des valeurs d’entrée.
Les techniques classiques pour sélectionner les points mémoire résistifs dans la matrice mémoire utilisent des transistors d’accès MOS (« Métal Oxyde Semi-conducteur », acronyme bien connu de l’homme de l’art), aussi appelés sélecteurs. Les transistors MOS sont utilisés en particulier pour leur capacité à faire circuler un courant de façon bidirectionnelle, ce qui est obligatoire dans certaines technologies mémoire résistive, comme par exemple la MRAM (mémoire vive magnétique) pour programmer les cellules.
Toutefois, la taille des transistors MOS doit généralement être suffisamment grande pour conduire des courants d’écriture de haute intensité ; étant donné les tensions généralement élevées que l’on applique à l’oxyde de grille du MOS, la réduction de taille des sélecteurs MOS introduit des problèmes de fiabilité.
Il existe donc un besoin de fournir un procédé et un appareil de calcul intra-mémoire dont on peut réduire la taille, tout en restant fiable et résilient par rapport aux conditions d’utilisation.
À cet égard, des modes de réalisation sont proposés pour réaliser un calcul convolutif utilisant une matrice mémoire comprenant une pluralité de cellules mémoire à changement de phase et une pluralité de transistors à jonctions bipolaires utilisés comme sélecteurs de cellules.
Selon un aspect, il est proposé un procédé de calcul convolutif de valeurs d’entrée avec des facteurs de pondération, comprenant :
- une conversion des valeurs d’entrée en signaux de tension et une application successive des signaux de tension sur des lignes de bit sélectionnées dans une matrice de points mémoires non volatils sur des intervalles de temps respectifs, chaque point mémoire comprenant une cellule mémoire résistive à changement de phase couplée à une ligne de bit et ayant un état résistif correspondant à un facteur de pondération, et un transistor de sélection bipolaire couplé en série avec la cellule et ayant une borne de base couplée à une ligne de mot, les signaux de tension polarisant ainsi les cellules mémoire à changement de phase respectives ;
- une intégration sur les intervalles de temps successifs des courants de lecture résultant des signaux de tension polarisant les cellules mémoires résistives à changement de phase respectives et circulant dans des lignes de mots sélectionnées ; et
- une conversion des courants de lecture intégrés en valeurs de sortie.
Les points mémoire utilisés dans le procédé peuvent donc être très compacts puisqu’ils comportent un transistor bipolaire comme sélecteur. Les transistors bipolaires peuvent en effet être réduits jusqu’à un encombrement très compact tout en conservant une haute capacité de conduction de courant et en restant hautement fiables.
L’emploi avantageux des transistors bipolaires est permis grâce à la mémoire résistive à changement de phase, car les cellules mémoires résistives à changement de phase peuvent être écrites, c’est-à-dire mises à un ou à zéro, en fonction de la forme d’un signal ayant une circulation de courant unidirectionnelle.
Contrairement aux techniques classiques où les courants circulant en même temps dans une ligne sont sommés par la loi de Kirchhoff, dans cet aspect, l’application des signaux de tension sur les intervalles de temps respectifs limite la perte de tension dans les lignes de mots au courant d’une seule cellule mémoire à changement de phase à la fois, par conséquent elle n’a pas d’impact négatif sur les performances de l’architecture entière. L’intégration des courants de lecture résultants somme les courants de manière efficace. Par ailleurs, si la perte de tension d’une cellule est suffisamment faible, il est possible d’activer plus d’une cellule mémoire à la fois, ou des intervalles de temps peuvent se chevaucher.
Selon un mode de réalisation, le procédé comprend l’exécution d’une opération de décodage sélectionnant une ligne de bit sélectionnée par valeur d’entrée, et sélectionnant une ligne de mot sélectionnée par valeur de sortie.
En d’autres termes, chaque point mémoire peut être atteint au moyen de sa position à l’intersection d’une ligne de bit et d’une ligne de mot. Par exemple, la sélection de la ligne de bit peut être réalisée en polarisant la ligne de bit avec les signaux de tension, tandis que la sélection de la ligne de mot peut être réalisée en mettant à la masse la ligne de mot sélectionnée et en polarisant la ligne de mot non sélectionnée à un potentiel d’inhibition configuré pour ne pas conduire un courant dans cette ligne.
Selon un mode de réalisation, les transistors bipolaires de sélection sont dotés d’un gain β inférieur à 1.
Le « gain β » (gain bêta) est le rapport bien connu du courant statique de collecteur sur le courant statique de base dans la zone active directe, et est aussi appelé « gain de courant en émetteur commun » ou « paramètre h, hFE».
Ainsi, dans les transistors bipolaires de sélection, le courant de base circulant jusqu’à la ligne de mot est amélioré et la perte de courant de collecteur est limitée.
Selon un mode de réalisation, les transistors bipolaires de sélection sont fournis en groupes d’éléments bipolaires à émetteurs multiples, chacun comprenant un nombre respectif de zones d’émetteurs, une zone de base partagée ayant deux bornes de base symétriques reliées à une même ligne de mot, et une zone de collecteur partagée mise à la masse, chaque cellule mémoire résistive à changement de phase étant couplée à une zone d’émetteur respective.
Ce mode de réalisation fournit une structure très compacte pour les transistors bipolaires de sélection. Par exemple, les transistors bipolaires de sélection peuvent être groupés par groupes de quatre, en éléments bipolaires à émetteurs multiples comportant par exemple quatre zones d’émetteur alignées et les zones de base situées aux deux extrémités de la ligne.
Selon un mode de réalisation, le calcul convolutif comprend une exécution d’opérations de multiplication et accumulation des valeurs d’entrée avec les facteurs de pondération, chacune résultant en une valeur de sortie, et le procédé comprend le une programmation des cellules mémoires résistives à changement de phase dans des états résistifs correspondant aux facteurs de pondération respectifs.
La programmation des cellules mémoires résistives à changement de phase est réalisée avant le calcul convolutif proprement dit, c’est-à-dire avant la réception des valeurs d’entrée.
Selon un mode de réalisation, la programmation des cellules mémoires résistives à changement de phase comprend, pour chaque état résistif possible, le fait de faire circuler un courant d’écriture dans une seule direction, par exemple de la cellule mémoire vers le transistor bipolaire de sélection.
Selon un mode de réalisation, l’intégration des courants de lecture sur les intervalles de temps successifs utilise un circuit intégrateur comprenant un amplificateur couplé à une boucle de rétroaction comportant un élément capacitif et un circuit de commutation capable d’inverser la polarité de l’élément capacitif dans la boucle de rétroaction en réponse à un signal de commande de signe.
L’intégration peut donc intégrer des valeurs négatives en inversant la polarité de l’élément capacitif, et permet par exemple de traiter des facteurs de pondération positifs et/ou négatifs.
Selon un mode de réalisation, la conversion des valeurs d’entrée en signaux de tension comprend une génération d’une tension de décalage compensant une tension de seuil des transistors bipolaires de sélection, en addition à une tension convertie nette de chaque valeur d’entrée.
Selon un mode de réalisation, la conversion des valeurs d’entrée en signaux de tension comprend une émulation d’un transistor bipolaire de sélection dans un état polarisé par un courant de lecture émulé, afin de produire la tension de décalage en conditionsin situ.
Ainsi, dans ces modes de réalisation, les variations de processus et de température de la tension de seuil des transistors bipolaires sont compensées, tandis que la conversion des valeurs d’entrée en signaux de tension n’est pas affectée par cette compensation et peut donc être optimisée, par exemple en ce qui concerne la précision et la gamme dynamique.
Selon un mode de réalisation, une opération d’étalonnage d’intervalle de temps comprend un ajustement de la durée de l’intervalle de temps par rapport à une cellule mémoire résistive à changement de phase de référence et à une valeur de sortie de référence, pour compenser les éventuelles variations en température et en aléa de procédé de fabrication de la conductance des cellules mémoires résistives à changement de phase et du gain β des transistors bipolaires de sélection.
Selon un mode de réalisation, l’ajustement de la durée des intervalles de temps comprend une émulation d’une valeur de sortie résultant de l’intégration du courant de lecture qui résulte d’un signal de tension de référence polarisant la cellule mémoire résistive à changement de phase de référence pendant un intervalle de temps ajustable, et comprend une comparaison de la valeur de sortie émulée à la valeur de sortie de référence afin d’ajuster la durée de l’intervalle de temps.
Ainsi, dans ces modes de réalisation, les variations de processus et de température de la conductance des cellules mémoires résistives à changement de phase et du gain β des transistors bipolaires de sélection sont compenséesin situ, ce qui permet de fournir des valeurs de sortie intactes.
Selon un autre aspect, un circuit intégré pour le calcul convolutif de valeurs d’entrée avec des facteurs de pondération comprend une matrice de points mémoires non volatils comprenant chacun une cellule mémoire résistive à changement de phase couplée à une ligne de bit et configurés pour avoir un état résistif correspondant à un facteur de pondération, et un transistor bipolaire de sélection couplé en série à la cellule et ayant une borne de base reliée à une ligne de mot, un circuit convertisseur d’entrée configuré pour recevoir et convertir les valeurs d’entrée en signaux de tension et pour appliquer successivement les signaux de tension sur des lignes de bit sélectionnées sur des intervalles de temps respectifs, et un circuit convertisseur de sortie configuré pour intégrer sur les intervalles de temps successifs les courants de lecture résultant des signaux de tension polarisant les cellules mémoires résistives à changement de phase respectives et circulant dans des lignes de mots sélectionnées, et pour convertir les courants de lecture intégrés en valeurs de sortie.
Selon un mode de réalisation, le circuit intégré comprend un circuit décodeur configuré pour sélectionner une ligne de bit sélectionnée par valeur d’entrée, et pour sélectionner une ligne de mot sélectionnée par valeur de sortie.
Selon un mode de réalisation, les transistors bipolaires de sélection sont configurés pour être munis d’un gain β inférieur à 1.
Selon un mode de réalisation, les transistors bipolaires de sélection sont groupés en éléments bipolaires à émetteurs multiples, chacun comprenant un nombre respectif de zones d’émetteur, une zone de base partagée ayant deux bornes de base symétriques couplées à une même ligne de mot, et une zone de collecteur partagée mise à la masse, chaque cellule mémoire résistive à changement de phase étant couplée à une zone d’émetteur respective.
Selon un mode de réalisation, le calcul convolutif comprend des opérations de multiplication et accumulation des valeurs d’entrée avec les facteurs de pondération, chacune résultant en une valeur de sortie, et les cellules mémoires résistives à changement de phase sont configurées pour être programmées dans des états résistifs correspondant aux facteurs de pondération respectifs.
Selon un mode de réalisation, les cellules mémoires résistives à changement de phase sont aptes à être programmées, pour chaque état résistif possible, par un courant d’écriture qui circule dans une seule direction.
Selon un mode de réalisation, le circuit convertisseur de sortie comprend, pour chaque ligne de mot sélectionnée, un circuit intégrateur comprenant un amplificateur couplé à une boucle de rétroaction comportant un élément capacitif et un circuit de commutation capable d’inverser la polarité de l’élément capacitif de la boucle de rétroaction en réponse à un signal de commande de signe.
Selon un mode de réalisation, le circuit convertisseur d’entrée est configuré pour générer une tension de décalage qui compense une tension de seuil des transistors bipolaires de sélection, en addition à une tension convertie nette de chaque valeur d’entrée.
Selon un mode de réalisation, le circuit convertisseur d’entrée comprend un circuit d’émulation de point mémoire configuré pour émuler un transistor bipolaire de sélection dans un état polarisé par un courant de lecture émulé, afin de produire la tension de décalage en conditionsin situ.
Selon un mode de réalisation, un circuit d’étalonnage d’intervalle de temps est configuré pour ajuster la durée des intervalles de temps, par rapport à une cellule mémoire résistive à changement de phase de référence et à une valeur de sortie de référence, afin de compenser les éventuelles variations en température et en aléa de procédé de fabrication de la conductance des cellules mémoires résistives à changement de phase et du gain β des transistors bipolaires de sélection.
Selon un mode de réalisation, le circuit d’étalonnage d’intervalle de temps comprend un circuit d’émulation de point mémoire et un circuit d’émulation de circuit convertisseur de sortie configuré pour émuler une valeur de sortie résultant de l’intégration du courant de lecture résultant d’un signal de tension de référence polarisant la cellule mémoire résistive à changement de phase de référence pendant un intervalle de temps ajustable, et comprend un comparateur configuré pour comparer la valeur de sortie émulée à la valeur de sortie de référence afin de commander un circuit de réaction d’étalonnage qui ajuste la durée de l’intervalle de temps.
D’autres avantages et caractéristiques de l’invention apparaîtront à la lecture de la description détaillée de modes de réalisation non limitatifs de l’invention, et à l’examen des dessins annexés, dans lesquels :
illustrent des modes de réalisation de l’invention.
La figure 1, côté gauche, représente un exemple de partie d’un réseau de neurones artificiels, comprenant des couches de « neurones » A1-A2-A3, B1-B2-B3, où chaque neurone est relié à tous les neurones de la couche précédente par un nombre respectif de « synapses ». Ce libellé biomimétique illustre le mécanisme du calcul impliqué dans ce domaine technique, dans lequel toutes les valeurs d’un espace d’entrée (par exemple les neurones A1-A3de la première couche) sont pondérées grâce à des facteurs de pondération Wi1, Wi2, Wi3(c’est-à-dire des synapses) puis accumulées pour chaque valeur Bid’un espace de sortie (par exemple les neurones B1-B3de la deuxième couche). Ce type de calcul s’appelle un calcul convolutif, CNVL. Les espaces d’entrée et les espaces de sortie sont composés d’un nombre fini de valeurs (neurones), et la dimension de ces espaces peut varier d’un espace d’entrée à un espace de sortie et elle peut être supérieure (ou inférieure) à 3 (dans l’exemple représenté, les deux espaces sont de dimension 3).
Le côté droit montre une expression mathématique pratique pour de tels calculs convolutifs CNVL, appropriée pour les réseaux de neurones artificiels, où la dimension de l’espace d’entrée est n, tandis que la dimension de l’espace de sortie est m.
Cette expression est principalement un opérateur matriciel convolutif MTXOP appliqué à un vecteur d’entrée VECTIN et qui résulte en un vecteur de sortie VECTOUT. L’opérateur matriciel MTXOP a des coefficients W11-Wmnétablis selon les valeurs de pondération (c’est-à-dire les synapses), tandis que le vecteur d’entrée VECTIN a les valeurs d’entrée A1-An, et le vecteur de sortie VECTOUT a les valeurs B1-Bm.
Chaque valeur de sortie Biest ainsi obtenue par une séquence de multiplication et accumulation respective MACi sur les valeurs d’entrée Ajselon un coefficient dédié Wij. Par conséquent, chaque facteur de pondération Wijest dédié à une paire unique d’une valeur d’entrée Ajet une valeur de sortie Bi.
La figure 2 montre un mode de réalisation d’un point mémoire non volatil MPTij, isolé d’une matrice destinée à réaliser des calculs convolutifs intra-mémoire. La matrice, comme montré sur la figure 4, comprend une pluralité de ces points mémoire MPTijqui peuvent être organisés en rangées à travers des lignes de mots respectives, et en colonnes à travers des lignes de bit respectives.
Le point mémoire MPTijcomprend une cellule mémoire résistive à changement de phase PCMijcomprenant une première borne T1 et une deuxième borne T2. La première borne T1 est reliée à une ligne de bit BLj, et la deuxième borne T2 est reliée à une borne d’émetteur E d’un transistor bipolaire de sélection BJTij. La borne de base B du transistor bipolaire de sélection BJTijest reliée à une ligne de mot WLi. La borne de collecteur C du transistor bipolaire de sélection BJTijest reliée à un potentiel de masse de référence GND.
Il est ainsi possible d’accéder à la rangée et à la colonne du point mémoire MPTijde façon sélective dans la matrice en sélectionnant respectivement la ligne de mot WLiet la ligne de bit BLjcouplées au point mémoire MPTij, afin d’accéder aux cellules PCMijpour des opérations d’écriture et de lecture.
La cellule mémoire résistive à changement de phase PCMijprésente une résistance programmable (ainsi qu’une conductance programmable Gijqui est l’inverse de la résistance), entre ses bornes T1 et T2. La résistance/conductance programmable Gijpeut être réglée au moyen d’une opération d’écriture.
Donc, sous une condition de polarisation donnée entre la ligne de bit BLjet la ligne de mot WLi, le courant circulant de la ligne de bit BLjvers la ligne de mot WLiest proportionnel à la conductance Gijet permet de lire les informations stockées par la cellule PCMij.
Plus précisément, dans un exemple d’opération de lecture, la borne de base B du transistor bipolaire de sélection BJTijest polarisée à la tension de masse VB= 0 V, tandis que la première borne T1 de la cellule PCMijest polarisée à une tension de ligne de bit VBL. La tension de lecture VSEaux bornes T1, T2 de la cellule est donc égale à la tension de ligne de bit VBLmoins la tension émetteur-base VEB. Par conséquent, pour utiliser une tension de lecture donnée VSE, la tension de ligne de bit est réglée sur VBL= VSE+ VEB.
Le courant IEqui circule de la cellule PCMijà la borne d’émetteur E a une intensité égale au produit de la conductance Gijpar la tension de lecture VSE, c’est-à-dire IE= Gij*VSE.
La figure 3 représente le mécanisme d’écriture d’un exemple avantageux d’une cellule mémoire résistive à changement de phase PCM. Les mêmes signes de référence sont utilisés pour désigner les mêmes éléments que dans la figure 2.
Le matériau à changement de phase a la capacité de modifier sa phase, l’état physique solide du matériau. Par exemple, le matériau à changement de phase GST (d’après les symboles chimiques des éléments germanium Ge, antimoine Sb et tellure Te) qui donne une composition stœchiométrique « GexSbyTez», de manière classique Ge2Sb2Te5, dont l’état natif est cristallin ou polycristallin PC. Un élément chauffant HTR est en contact avec un côté du matériau à changement de phase GST.
La première borne T1 correspond à une électrode supérieure en contact avec un côté (libre) du matériau à changement de phase GST. La deuxième borne T2 correspond à une électrode inférieure en contact avec le côté opposé (libre) de l’élément chauffant HTR.
Quand un courant suffisamment élevé circule entre les première et deuxième bornes T1, T2 et dans l’élément chauffant HTR, l’effet Joule produit des conditions de température qui peuvent être commandées, de sorte que la phase du matériau à changement de phase GST est commandée de manière réversible.
Ainsi, il est possible de dépasser la température de fusion du matériau GST afin de produire une phase amorphe, ou de rester entre la température de cristallisation et la température de fusion du matériau GST afin de produire une phase cristalline ou polycristalline.
En conséquence, une opération d’écriture de réinitialisation IRST peut modifier un volume local du matériau à changement de phase GST pour donner une phase amorphe AM, et une opération d’écriture d’initialisation IST peut modifier le volume local amorphe pour le faire revenir à une phase cristalline ou polycristalline PC.
Dans l’état de réinitialisation RST, montré sur la gauche de la figure 3, la cellule PCM comprend un volume local de matériau à changement de phase amorphe GST qui présente une résistance élevée (qui peut être assimilée à une valeur de résistance infinie).
Dans l’état d’initialisation ST, montré sur la droite de la figure 3, la cellule PCM comprend un matériau à changement de phase GST entièrement cristallisé qui conduit à la valeur de résistance normale (c’est-à-dire inférieure).
L’opération d’écriture de réinitialisation peut être réalisée en injectant une forte impulsion de courant rectangulaire pendant un court intervalle IRST, par exemple 240 µA (microampères) pendant 100 ns (nanosecondes), et/ou 270 µA pendant 100 ns, et/ou 300 µA pendant 100 ns.
L’opération d’écriture d’initialisation peut être réalisée en injectant une impulsion de courant trapézoïdale avec une faible pente de diminution de courant IST, par exemple 160 µA diminuant jusqu’à zéro à 0,045 µA/ns, et/ou 230 µA diminuant jusqu’à zéro à 0,045 µA/ns, et/ou 260 µA diminuant jusqu’à zéro à 0,045 µA/ns.
En référence à la figure 2, pendant les opérations d’écriture de réinitialisation et d’initialisation, la borne de base B du transistor bipolaire de sélection BJTijest polarisée à environ 0 V, c’est-à-dire à la tension de référence de masse, et les impulsions de courant d’écriture se dispersent via la borne de base B et la borne de collecteur C.
La figure 4 représente un mode de réalisation d’une partie d’une matrice ARR de points mémoires non volatils MPTij, comme décrit relativement à la figure 2, incorporée dans un circuit intégré IC destiné à réaliser des calculs convolutifs intra-mémoire.
Les points mémoires non volatils sont ainsi reliés chacun à une ligne de bit BL1, BL2, BL3, BL4et à une ligne de mot WL1, WLi.
Les points mémoire MPTijsont sélectionnés et activés pour réaliser le calcul convolutif par un circuit convertisseur d’entrée INCVRT et un circuit convertisseur de sortie OUTCVRT.
Le circuit convertisseur d’entrée INCVRT comprend un convertisseur numérique-analogique DAC configuré pour recevoir des valeurs d’entrée A1-A4, par exemple des données binaires numériques, et pour convertir les valeurs d’entrée A1-A4en signaux de tension V1-V4.
Le circuit convertisseur d’entrée INCVRT comprend en outre un circuit décodeur DEC configuré pour sélectionner une ligne de bit BLjpour chaque valeur d’entrée Aj, et pour appliquer successivement le signal de tension V1-V4sur la ligne de bit sélectionnée BL1-BL4sur des intervalles de temps respectifs t1-t4.
Les intervalles de temps t1-t4 peuvent être espacés séquentiellement et peuvent ne pas se chevaucher, ou, si la chute résistive le long de la ligne de mot (comme on l’expliquera plus loin) est suffisamment faible, les intervalles de temps peuvent se chevaucher ou être simultanés.
Le convertisseur numérique-analogique DAC et le circuit décodeur DEC sont des exemples de moyens constituant le circuit convertisseur d’entrée INCVRT (qui peut comprendre en outre un moyen classique destiné à piloter les valeurs d’entrée) et ne limitent pas la mise en œuvre du fonctionnement du circuit convertisseur d’entrée INCVRT.
Le circuit décodeur DEC est configuré pour sélectionner une ligne de mot WLipar valeur de sortie Bi. Comme précédemment mentionné relativement à la figure 2, une ligne de mot WL1est sélectionnée en appliquant un potentiel de masse GND pendant que d’autres lignes de mots WLisont polarisées à un potentiel d’inhibition VWL. Ce mécanisme du circuit décodeur DEC peut être considéré comme étant inclus dans le circuit convertisseur de sortie OUTCVRT, ou un circuit décodeur de ligne de mot distinct.
En conséquence, les cellules sélectionnées PCMijsont polarisées par les signaux de tension V1-V4d’une part, et par la tension de ligne de mot de 0 V WL1d’autre part.
En référence à la figure 2, la tension de lecture VSEaux bornes des cellules sélectionnées PCMijrésultant de cet état de polarisation génère un courant de cellule IEqui circule jusqu’à la borne d’émetteur E du transistor bipolaire de sélection BJTij.
Le potentiel d’inhibition VWLest appliqué aux lignes de mots WLiqui ne sont pas sélectionnées pour le calcul convolutif, et est réglé d’après la plage de conversion des signaux de tension V1-V4pour appliquer une tension de lecture VSEaux bornes des cellules non sélectionnées qui ne provoqueraient pas la circulation d’un courant parasite dans les cellules non sélectionnées. Par exemple, le potentiel d’inhibition peut être réglé environ au niveau maximum produit par le convertisseur DAC.
En outre, les autres lignes de bit couplées à des cellules non sélectionnées peuvent être polarisées à 0 V environ, ou être laissées flottantes, afin de ne pas générer de courants parasites dans la ligne de mot sélectionnée WL1ni dans les lignes de mots non sélectionnées WLi.
Dans les cellules sélectionnées, le courant de cellule IE= Gij*VSEqui circule à la borne d’émetteur E est divisé en un courant de base IBtraversant la borne de base B et un courant de collecteur ICtraversant la borne de collecteur C, en une proportion relative au gain β du transistor bipolaire BJTij, à savoir 1/(1+β)IE= IBet β/(1+β)IE= IC.
En conséquence, pour acheminer plus de la moitié du courant d’émetteur IEvers la borne de base B, le gain β doit être inférieur à 1, par exemple si β vaut 0,5, alors les deux tiers (2/3) du courant de cellule IEsont conduits dans la borne de base B.
Les transistors bipolaires de sélection BJTijsont donc avantageusement configurés pour être pourvus d’un gain β inférieur à 1, afin de réduire la perte de courant dans la borne de collecteur C mise à la masse.
Le courant résultant drainé par la zone de base est appelé courant de lecture IBet circule dans la ligne de mot respective WL1.
Le circuit convertisseur de sortie OUTCVRT comprend un circuit intégrateur INTG par ligne de mot sélectionnée et reliée à la ligne de mot respective WL1. Les circuits intégrateurs INTG sont configurés pour intégrer les courants de lecture IBsur les intervalles de temps successifs t1-t4.
Les circuits intégrateurs INTG comprennent chacun un circuit amplificateur, tel qu’un amplificateur opérationnel, ayant une entrée positive mise à la masse et une entrée négative reliée à la ligne de mot WLi.
Une boucle de rétroaction capacitive FL est couplée de la sortie à l’entrée négative afin d’accumuler des charges sur un élément capacitif CAP, à partir des courants qui circulent dans la ligne de mot WLi.
La boucle de rétroaction capacitive comprend avantageusement des circuits de commutation SWN, SWP configurés pour inverser la polarité PPol, NPol de l’élément capacitif CAP dans la boucle de rétroaction en réponse à un signal de commande de signe SGN.
Par conséquent, en fonction du signal de commande de signe SGN, le courant de lecture IBqui circule dans la ligne de mot WL1pendant chaque intervalle de temps t1-t4 peut être ajouté à l’accumulation de charges PPol, ou soustrait de l’accumulation de charge NPol, sur l’élément capacitif CAP.
Chaque convertisseur analogique-numérique ADC est configuré pour convertir la charge accumulée à partir du courant de lecture IBen une valeur de sortie Bi, par exemple des valeurs de sortie numériques.
En d’autres termes, le calcul convolutif comprend premièrement la conversion des valeurs d’entrée A1-A4en signaux de tension V1-V4et l’application successive des signaux de tension sur des lignes de bit sélectionnées BL1-BL4sur des intervalles de temps respectifs t1-t4. Deuxièmement, les points mémoire sont sélectionnés grâce à une tension de polarisation de ligne de mot WL1= 0 V appliquée à la zone de base des transistors bipolaires de sélection BJTij. Les signaux de tension V1-V4polarisent les cellules mémoires résistives à changement de phase respectives PCMij, qui génèrent un courant de cellule IEqui est défini par le produit de la valeur de conductance Gijde la cellule par le signal de tension respectif V1-V4. Troisièmement, des courants de lecture IBrésultant des courants de cellule ICELL(figure 2) circulent dans les zones de base des transistors bipolaires de sélection jusqu’à une même ligne de mot sélectionnée WL1et sont intégrés sur les intervalles de temps successifs t1-t4. Les charges intégrées à partir des courants de lecture IBsont ensuite converties en valeurs de sortie Bi.
Ce mécanisme est exécuté en même temps pour toutes les lignes de mots sélectionnées correspondant aux valeurs de sortie B1, B2, B3, B4dans cet exemple.
En conséquence, chaque valeur de sortie B1, B2, B3, B4dans le vecteur de sortie OUTVECT (figure 1) est obtenue de la même manière que celle décrite plus haut pour B1, avec respectivement d’autres points mémoire MPTijsur les mêmes lignes de bit BL1-BL4 et avec le même signal de tension converti en entrée V1-V4, mais respectivement sur d’autres lignes de mots sélectionnés et circuits intégrateurs INTG. Par conséquent, le vecteur de sortie entier OUTVECT est calculé en une fois par rapport au vecteur d’entrée INVECT, dans cette technique réelle de calcul convolutif intra-mémoire en temps réel.
Chaque valeur de sortie Birésulte donc d’une opération de multiplication et accumulation des valeurs d’entrée Aj avec les facteurs de pondération Wij(figure 1) fournis par les valeurs de conductance Gijdes cellules.
En fait, la tension VB1appliquée au convertisseur analogique-numérique ADC fournissant Bipeut être exprimée comme suit : VBi= (T/C)*(Gi1*V1+Gi2*V2+Gi3*V3+Gi4*V4), où T est la durée de chaque intervalle de temps t1-t4 et C est la valeur capacitive de l’élément capacitif CAP. Cette équation électrique donne ainsi physiquement le résultat de l’expression mathématique de l’opération convolutive de multiplication et accumulation MACi pour Bimontrée sur la figure 1.
Les cellules mémoires résistives à changement de phase PCMijsont configurées pour présenter des états résistifs Gijcorrespondant aux facteurs de pondération respectifs Wij,par exemple selon les techniques d’écriture décrites ci-dessus relativement à la figure 3. La technique d’écriture susmentionnée peut mettre à un ou à zéro les états des cellules mémoire, et correspond donc à des facteurs de pondération binaires (« vrai » ou « faux »). Toutefois, la même technique exactement que celle décrite ici relativement à la figure 4 s’applique à l’opération d’écriture multiniveau qui gère des valeurs de conductance Gijmultiples, c’est-à-dire strictement plus de deux, des cellules mémoire, et donc des valeurs de facteur de pondération multiples.
De même, puisque les signaux de tension à entrée convertie V1-V4sont appliqués successivement sur des intervalles de temps respectifs t1-t4 sur les lignes de bit sélectionnées BL1-BL4, alors les courants de lecture IBdes cellules de la même ligne de mot WL1ne circulent pas en même temps sur la ligne de mot WL1. Ainsi, l’intensité des courants de lecture IBest limitée et une chute de tension provoquée par les éléments de résistance entre le transistor bipolaire de sélection BJTijet le convertisseur de sortie OUTCVRT est limitée et ne diminue pas la valeur analogique des signaux.
Les chutes de tension sont causées proportionnellement à la contribution résistive d’éléments résistifs RB1, RB2, RB12, RCWL, RMWLle long de chaque ligne de mot WLi, comme cela va être détaillé en référence à la figure 5. Les éléments résistifs représentés sur la figure 4 correspondent à un mode de réalisation avantageusement compact représenté sur la figure 5. La contribution résistive le long de la ligne de mot provient cependant principalement de bandes de métal de ligne de mot RMWL (c’est-à-dire des lignes métalliques placées en travers de la matrice ARR afin de matérialiser la direction de ligne de mot dans la disposition de la matrice).
La figure 5 montre une vue en coupe au niveau du semi-conducteur de la matrice ARR d’un mode de réalisation avantageusement compact des transistors bipolaires de sélection BJTij.
Les transistors bipolaires de sélection BJTijsont groupés en éléments bipolaires à émetteurs multiples MEBJT, dans cet exemple chaque groupe comprend quatre transistors bipolaires.
Les éléments bipolaires à émetteurs multiples MEBJT comprennent chacun un nombre respectif (quatre) de zones d’émetteur de type P fortement dopées (P+) E1-E4, une zone de base dopée de type N partagée NW et une zone de collecteur dopée de type P partagée PW. La zone de base partagée NW comprend deux bornes de base de type N fortement dopées et symétriques (N+), une base gauche BL et une base droite BR reliées à une même ligne de mot WL1, et la zone de collecteur partagée PW est mise à la masse. Par exemple, la zone de collecteur partagée PW est matérialisée par le substrat de semi-conducteur.
Dans une variante, on peut utiliser des transistors bipolaires NPN, avec les signaux d’activation complémentaires appropriés (à savoir les signaux de ligne de mot et les signaux de ligne de bit).
Dans l’exemple illustré, l’élément bipolaire à émetteurs multiples MEBJT comprend quatre zones d’émetteur alignées E1-E4, les deux zones de base BL, BR étant situées aux extrémités opposées de la ligne.
Les différentes zones d’émetteur E1-E4 sont situées sur la face avant du substrat de semi-conducteur, c’est-à-dire celle située devant les niveaux de métal d’interconnexion où se trouvent les cellules mémoire à changement de phase PCMij.
En conséquence, chaque zone d’émetteur E1-E4 est reliée à une cellule mémoire résistive à changement de phase respective PCMi1-PCMi4, par exemple grâce à une colonne de contact.
Les zones d’émetteur E1-E4 sont séparées électriquement les unes des autres par des structures de grilles factices DUMG formées sur la face avant du substrat de semi-conducteur, et par des éléments de tranchée d’isolation peu profonde SSTI avec des profondeurs supérieures à celles des zones d’émetteur implantées P+. Les structures de grilles factices DUMG ont la même structure qu’une grille de transistor MOS mais non activée fonctionnellement en raison de la présence des éléments de tranchée d’isolation peu profonde SSTI alignés en dessous.
Comme mentionné précédemment en référence à la figure 2, les transistors bipolaires de sélection BJTijsont avantageusement configurés pour être munis d’un gain β inférieur à 1, par exemple 0,5, afin de réduire les pertes de courant vers la zone de collecteur PW. Le gain β peut être configuré en faisant varier par exemple les concentrations de dopants de la zone de base NW et des zones d’émetteur P+, et l’épaisseur de la zone de base NW.
Dans un tel élément bipolaire à émetteurs multiples MEBJT, les éléments de résistance RB1, RB2, RB12, RCWL, RMWLreprésentés sur la figure 4 correspondent respectivement à :
- la résistivité de la zone de base NW sur chaque distance entre une zone d’émetteur externe E1, E4 et la borne de base la plus proche BL, BR ;
- la résistivité de la zone de base NW sur la distance entre chaque zone d’émetteur interne E2, E3 et la zone d’émetteur externe la plus proche E1, E4 ;
- la résistivité de la zone de base NW sur la distance entre les deux zones d’émetteur internes E2, E3 ;
- la résistance du contact entre la ligne de mot WLiet la région de base NW, qui peut inclure les résistances de la borne de base N+, d’une surface de contact de siliciuration et d’une colonne de contact en métal ; et
- la résistance de la bande de métal de ligne de mot WLidans la distance entre les deux bornes de base BL, BR.
Une pluralité de ces éléments bipolaires à émetteurs multiples MEBJT peut être disposée en lignes et colonnes dans la matrice ARR.
La figure 6 illustre un mode de réalisation du circuit convertisseur d’entrée INCVRT qui permet de compenser les variations, issues d’aléa de procédé de fabrication et de la température, de la tension de seuil du transistor bipolaire.
Le circuit convertisseur d’entrée INCVRT comprend un circuit d’émulation d’un point mémoire MPT_EMUL, comportant un transistor bipolaire de sélection émulé BJT et un générateur de courant d’émulation ICELL_EMUL.
Le terme « émuler » signifie reproduire les composants et signaux réels qui sont fournis dans la matrice. En conséquence, le transistor bipolaire de sélection émulé BJT_EMUL est obtenu par exemple par le même procédé de fabrication et par les mêmes paramètres que le transistor bipolaire de sélection BJTijde la matrice ARR.
Le générateur de courant est configuré pour générer un courant ICELL_EMUL qui émule le courant de lecture réel ICELLdans la matrice, pour polariser le transistor de sélection émulé BJT_EMUL. Le transistor de sélection émulé BJT_EMUL est monté en diode, c’est-à-dire que sa borne de base est reliée à sa borne de collecteur, et produit ainsi une tension de seuil émetteur-grille VBJTen conditionsin situ.
La tension de seuil émetteur-grille VBJTest appliquée à une entrée positive d’un comparateur, qui reçoit sur son entrée négative une tension convertie nette Vnetjde l’une des valeurs d’entrée Aj.
L’expression « tension convertie nette Vnetj» désigne le signal d’entrée Ajconverti avec précision en un signal de tension analogique Vnetj. Par exemple, la tension convertie nette Vnetjpeut être générée par un générateur de courant réglable Ijcommandé par la valeur d’entrée Ajqui polarise une résistance de réaction entre la sortie de l’amplificateur et une entrée négative.
Par conséquent, le circuit convertisseur d’entrée INCVRT est configuré pour générer chaque tension Vj(j = 1-4 sur la figure 4), y compris une tension de décalage VBJTqui compense une variation de tension de seuil des transistors bipolaires de sélection BJTij, en plus de la tension convertie nette Vnetjde chaque valeur d’entrée Aj.
Ainsi, en injectant Vj= Vnetj+ VBJTdans l’expression VBL= VSE+ VEBen référence à la figure 2, alors VSE= Vnetj, et le courant de cellule ICELLrésulte avec précision de la conversion analogique non déformée des valeurs d’entrée Aj.
Les variations de processus et de température de la tension de seuil des transistors bipolaires BJTijde la matrice sont ainsi compensées en conditions réelles, tout en convertissant les valeurs d’entrée Aj en signaux de tension V1-V4.
La figure 7 illustre un mode de réalisation du circuit convertisseur d’entrée INCVRT qui permet de compenser les variations en aléa de procédé de fabrication et en température, des paramètres qui impactent le calcul convolutif. Ce mode de réalisation permet notamment de compenser les variations de la conductance Gijdes cellules mémoires résistives à changement de phase PCMijde la matrice et du gain β des transistors bipolaires de sélection BJTijde la matrice.
Le circuit intégré CI comprend en outre un circuit d’étalonnage d’intervalle de temps T_CLBR configuré pour ajuster Adj la durée d’intervalle de temps T par rapport à la condition externe d’utilisation, comme la température, et par rapport à des variations aléatoires de procédé de fabrication.
Le processus d’étalonnage peut être exécuté avant chaque exécution d’un calcul convolutif ou à chaque fois que le circuit intégré est mis sous tension. Le processus d’étalonnage décrit ci-dessous ne prend pas plus de quelques microsecondes.
Le circuit d’étalonnage d’intervalle de temps T_CLBR comprend un générateur d’intervalle de temps T_GEN configuré pour générer un signal de tension de référence V0pendant un intervalle de temps réglable T, un point mémoire émulé MPT0et un circuit d’émulation de convertisseur de sortie OUTCVRT_EMUL.
Le point mémoire émulé MPT0comprend une cellule mémoire à changement de phase de référence PCM0et un transistor bipolaire de référence BJT0, qui émulent ceux présents dans la matrice ARR.
La cellule mémoire à changement de phase de référence PCM0est configurée pour présenter une valeur de conductance de référence G0dans un état écrit initialisé. Par exemple, la conductance de référence G0est définie pour chaque circuit intégré IC pendant une phase de test du processus de production, généralement appelée « EWS », de l’anglaisElectrical Wafer Sorting, ou « tri électrique des plaquettes ».
Le circuit d’émulation de convertisseur de sortie OUTCVRT_EMUL comprend une configuration similaire à celle du circuit intégrateur INTG représenté sur la figure 4, qui émule les éléments de la matrice ARR, c’est-à-dire un circuit amplificateur ayant une entrée positive à la masse, une entrée négative reliée à la borne de base du transistor bipolaire de référence BJT0, et une boucle de rétroaction capacitive couplée de la sortie à l’entrée négative accumulant des charges dans un élément capacitif CAP_EMUL à partir des courants qui circulent depuis la borne de base.
Un circuit comparateur CMP est configuré pour comparer le signal de tension de sortie VOUTdu circuit amplificateur intégrateur à un signal de tension de sortie de référence VREF. Le résultat de la comparaison est converti par un circuit logique d’étalonnage LGC en un signal de commande de réglage Adj approprié pour commander la durée T des intervalles de temps générés par le générateur d’intervalle de temps T_GEN.
Le processus d’étalonnage comprend un réglage de la durée des intervalles de temps T par rapport à la cellule mémoire résistive à changement de phase de référence PCM0et au signal de tension de référence V0, en compensant les éventuelles variations en température et en aléa de procédé de fabrication de la conductance Gijdes cellules mémoires résistives à changement de phase PCMijet du gain β des transistors bipolaires de sélection BJTij.
À cet effet, le processus d’étalonnage comprend une émulation de la tension de sortie VOUTqui résulte de l’intégration du courant de lecture résultant du signal de tension de référence V0qui polarise la cellule mémoire résistive à changement de phase de référence PCM0pendant un intervalle de temps réglable T, et comprend une comparaison CMP la valeur de sortie émulée VOUTà une valeur de sortie de référence VREFafin d’ajuster Adj la durée de l’intervalle de temps T.
Avantageusement, le générateur d’intervalle de temps T_GEN est configuré pour générer un signal de tension de référence V0qui est la somme du signal de tension de référence nette Vnet0et d’un décalage de seuil de transistor bipolaire VBJT, c’est-à-dire V0= Vnet0+ VBJT, comme décrit précédemment relativement à la figure 6.
Ainsi, selon la loi générale des transistors bipolaires IB= IE/(1+β), et avec ΔQ0une charge de référence cumulée sur l’élément capacitif de réaction CAP_EMUL, obtenue en appliquant le signal de tension de référence Vnet0,
ΔQ0peut être exprimé sous la forme ΔQ0= T0*IB0= T0*IE0/(1+β0), où G0est une cellule de référence en état à un, T0est une durée d’impulsion à une température ambiante de référence définie pour réaliser ΔQ0, et VREFcorrespond à la tension VOUTfournie par la charge de référence cumulée ΔQ0.
Avec IE0= Vnet0*G0, on a : ΔQ0= T0*Vnet0*G0/(1+β0).
Ainsi, T0= (ΔQ0/Vnet0)*(1+β0)/G0[Eq1]
Donc lorsque β0et G0varient par rapport aux fluctuations du processus et à la température, le circuit d’étalonnage d’intervalle de temps T_CLBR ajuste la durée d’impulsion T pour compenser ces variations de telle manière que la même quantité de charges de référence ΔQ0est accumulée, c’est-à-dire pour obtenir VOUT= VREFdans la boucle du circuit d’étalonnage d’intervalle de temps T_CLBR.
Ainsi, avec βCet GCle gain β et la conductance après variations, la durée d’intervalle de temps étalonnée TCest exprimée comme suit à partir de Eq1 :
TC= (ΔQ0/Vnet0)*(1+βC)/GC[Eq2]
En conséquence, un signal de tension Vnetjqui a été converti à partir de la valeur d’entrée Ajdonne une quantité de charge cumulée ΔQj0à température ambiante, égale à ΔQj0= T0*Vnetj*G0/(1+β0), et, avec Eq1 :
ΔQj0= Vnetj*(ΔQ0/Vnet0) [Eq3]
La quantité de charges cumulées en conditions réelles ΔQjC, à partir d’un signal de tension Vnetj, avec l’intervalle de temps ajustéin situTC, est exprimée comme suit : ΔQjC= TC*Vnetj*GC/(1+βC) et, avec TCde Eq2, ΔQjC= Vnetj*(ΔQ0/Vnet0) et donc, d’après Eq3, ΔQjC= ΔQj0.
Ce développement signifie qu’après étalonnage et obtention de l’intervalle de temps étalonné TC, la charge accumulée pour n’importe quelle valeur Vnetjest invariante par rapport aux variations aléatoires de température et de procédé de fabrication.
Les modes de réalisation qui ont été décrits relativement aux figures 1 à 7 permettent avantageusement l’exécution d’un calcul convolutif intra-mémoire avec des transistors bipolaires très compacts comme sélecteurs de cellules résistives à changement de phase. Il est possible de calculer des facteurs de pondération positifs et négatifs, et les modes de réalisation sont utilisables avec des facteurs de pondération binaires et avec des facteurs de pondération multiniveaux.
Les intervalles de temps répartis des modes de réalisation ne provoquent pas d’effet de chute de tension cumulée le long des lignes de mots ou des lignes de bit de la matrice, et permettent une réduction de la consommation d’énergie. Les contraintes classiques des transistors bipolaires, comme la variabilité de la tension de seuil et du gain β, ainsi que la variabilité de la conductance des cellules, sont surmontées dans les modes de réalisation.

Claims (22)

  1. Procédé de calcul convolutif (CNVL) de valeurs d’entrée (A1-A4) avec des facteurs de pondération (Wij), comprenant une conversion des valeurs d’entrée (A1-A4) en signaux de tension (V1-V4) et une application successive des signaux de tension sur des lignes de bit sélectionnées (BL1-BL4) dans une matrice (ARR) de points mémoires non volatils (MPTij) sur des intervalles de temps respectifs (t1-t4), chaque point mémoire comprenant une cellule mémoire résistive à changement de phase (PCMij) couplée à une ligne de bit (BLj) et ayant un état résistif (Gij) correspondant à un facteur de pondération (Wij), et un transistor de sélection bipolaire (BJTij) couplé en série avec la cellule et ayant une borne de base couplée à une ligne de mot (WLi), les signaux de tension (V1-V4) polarisant ainsi les cellules mémoire à changement de phase respectives (PCMij) ; une intégration sur les intervalles de temps successifs (t1-t4) des courants de lecture (IWL) résultant des signaux de tension (V1-V4) polarisant les cellules mémoires résistives à changement de phase respectives (PCMij) et circulant dans des lignes de mots sélectionnées (WLi) ; et une conversion des courants de lecture intégrés (IWL) en valeurs de sortie (Bi).
  2. Procédé selon la revendication 1, comprenant l’exécution d’une opération de décodage (DEC) sélectionnant une ligne de bit sélectionnée (BLj) par valeur d’entrée (Aj), et sélectionnant une ligne de mot sélectionnée (WLi) par valeur de sortie (Bi).
  3. Procédé selon la revendication 1 ou 2, dans lequel les transistors bipolaires de sélection (BJTij) sont dotés d’un gain β inférieur à 1.
  4. Procédé selon l’une quelconque des revendications 1 à 3, dans lequel les transistors bipolaires de sélection (BJTij) sont fournis en groupes d’éléments bipolaires à émetteurs multiples (MEBJT), chacun comprenant un nombre respectif de zones d’émetteurs (E1-E4), une zone de base partagée (NW) ayant deux bornes de base symétriques (BL, BR) reliées à une même ligne de mot (WLi), et une zone de collecteur partagée mise à la masse (PW), chaque cellule mémoire résistive à changement de phase (PCMij) étant couplée à une zone d’émetteur respective (E1-E4).
  5. Procédé selon l’une quelconque des revendications 1 à 4, dans lequel le calcul convolutif (CNVL) comprend une exécution d’opérations de multiplication et accumulation (MACi) des valeurs d’entrée (Aj) avec les facteurs de pondération (Wij), chacune résultant en une valeur de sortie (Bi), et le procédé comprend une programmation des cellules mémoires résistives à changement de phase (PCMij) dans des états résistifs (Gij) correspondant aux facteurs de pondération respectifs (Wij).
  6. Procédé selon la revendication 5, dans lequel la programmation des cellules mémoires résistives à changement de phase (PCMij) comprend, pour chaque état résistif possible (ST, RST), le fait de faire circuler un courant d’écriture (IST, IRST) dans une seule direction
  7. Procédé selon l’une quelconque des revendications 1 à 6, dans lequel l’intégration des courants de lecture (IWL) sur les intervalles de temps successifs (t1-t4) utilise un circuit intégrateur (INTG) comprenant un amplificateur couplé à une boucle de rétroaction comportant un élément capacitif (CAP) et un circuit de commutation (SWP, SWN) capable d’inverser la polarité de l’élément capacitif (CAP) dans la boucle de rétroaction en réponse à un signal de commande de signe (SGN).
  8. Procédé selon l’une quelconque des revendications 1 à 7, dans lequel la conversion des valeurs d’entrée (A1-A4) en signaux de tension (V1-V4) comprend une génération d’une tension de décalage (VBJT) compensant une tension de seuil des transistors bipolaires de sélection (BJTij), en addition à une tension convertie nette (Vnetj) de chaque valeur d’entrée (Aj).
  9. Procédé selon la revendication 8, dans lequel la conversion des valeurs d’entrée (A1-A4) en signaux de tension (V1-V4) comprend une émulation d’un transistor bipolaire de sélection (BJT_EMUL) dans un état polarisé par un courant de lecture émulé (ICELL_EMUL), afin de produire la tension de décalage (VBJT) en conditionsin situ.
  10. Procédé selon l’une quelconque des revendications 1 à 9, dans lequel une opération d’étalonnage d’intervalle de temps comprend un ajustement de la durée des intervalles de temps (T) par rapport à une cellule mémoire résistive à changement de phase de référence (PCM0) et à une valeur de sortie de référence (VREF),pour compenser les éventuelles variations en température et en aléa de procédé de fabrication de la conductance (Gij) des cellules mémoires résistives à changement de phase (PCMij) et du gain β des transistors bipolaires de sélection (BJTij).
  11. Procédé selon la revendication 10, dans lequel l’ajustement de la durée des intervalles de temps (T) comprend une émulation d’une valeur de sortie (VOUT) résultant de l’intégration du courant de lecture qui résulte d’un signal de tension de référence (V0) polarisant la cellule mémoire résistive à changement de phase de référence (PCM0) pendant un intervalle de temps ajustable (T), et comprend une comparaison (CMP) de la valeur de sortie émulée (VOUT) à la valeur de sortie de référence (VREF) afin d’ajuster (Adj) la durée de l’intervalle de temps (T).
  12. Circuit intégré pour le calcul convolutif (CNVL) de valeurs d’entrée (A1-A4) avec des facteurs de pondération (Wij), comprenant une matrice (ARR) de points mémoires non volatils (MPTij) comprenant chacun une cellule mémoire résistive à changement de phase (PCMij) couplée à une ligne de bit (BLj) et configurés pour avoir un état résistif (Gij) correspondant à un facteur de pondération (Wij), et un transistor bipolaire de sélection (BJTij) couplé en série à la cellule et ayant une borne de base reliée à une ligne de mot (WLi), un circuit convertisseur d’entrée (INCVRT) configuré pour recevoir et convertir les valeurs d’entrée (A1-A4) en signaux de tension (V1-V4) et pour appliquer successivement les signaux de tension (V1-V4) sur des lignes de bit sélectionnées (BL1-BL4) sur des intervalles de temps respectifs (t1-t4), et un circuit convertisseur de sortie (OUTCVRT) configuré pour intégrer sur les intervalles de temps successifs (t1-t4) les courants de lecture (IWL) résultant des signaux de tension (V1-V4) polarisant les cellules mémoires résistives à changement de phase respectives (PCMij) et circulant dans des lignes de mots sélectionnées, et pour convertir les courants de lecture intégrés (IWL) en valeurs de sortie (Bi).
  13. Circuit intégré selon la revendication 12, comprenant un circuit décodeur (DEC) configuré pour sélectionner une ligne de bit sélectionnée (BLj) par valeur d’entrée (Aj), et pour sélectionner une ligne de mots sélectionnée (WLi) par valeur de sortie (Bi).
  14. Circuit intégré selon la revendication 12 ou 13, dans lequel les transistors bipolaires de sélection (BJTij) sont configurés pour être dotés d’un gain β inférieur à 1.
  15. Circuit intégré selon l’une quelconque des revendications 12 à 14, dans lequel les transistors bipolaires de sélection (BJTij) sont groupés en éléments bipolaires à émetteurs multiples (MEBJT), chacun comprenant un nombre respectif de zones d’émetteur (E1-E4), une zone de base partagée (NW) ayant deux bornes de base symétriques (B) couplées à une même ligne de mots (WLi), et une zone de collecteur partagée mise à la masse (PW), chaque cellule mémoire résistive à changement de phase (PCMi1-PCMi4) étant couplée à une zone d’émetteur respective (E1-E4).
  16. Circuit intégré selon l’une quelconque des revendications 12 à 15, dans lequel le calcul convolutif (CNVL) comprend des opérations de multiplication et accumulation (MACi) des valeurs d’entrée (Aj) avec les facteurs de pondération (Wij), chacune résultant en une valeur de sortie (Bi), et les cellules mémoires résistives à changement de phase (PCMij) sont configurées pour être programmées dans des états résistifs (Gij) correspondant aux facteurs de pondération respectifs (Wij).
  17. Circuit intégré selon la revendication 16, dans lequel les cellules mémoires résistives à changement de phase (PCMij) sont aptes à être programmées, pour chaque état résistif possible (ST, RST), par un courant d’écriture (IST, IRST) qui circule dans une seule direction.
  18. Circuit intégré selon l’une quelconque des revendications 12 à 17, dans lequel le circuit convertisseur de sortie (OUTCVRT) comprend, pour chaque ligne de mot sélectionnée (WLi), un circuit intégrateur (INTG) qui comprend un amplificateur couplé à une boucle de rétroaction comportant un élément capacitif (CAP) et un circuit de commutation (SWP, SWN) capable d’inverser la polarité de l’élément capacitif (CAP) dans la boucle de rétroaction en réponse à un signal de commande de signe (SGN).
  19. Circuit intégré selon l’une quelconque des revendications 12 à 18, dans lequel le circuit convertisseur d’entrée (INCVRT) est configuré pour générer une tension de décalage (VBJT) qui compense une tension de seuil des transistors bipolaires de sélection (BJTij), en addition à une tension convertie nette (Vnetj) de chaque valeur d’entrée (Aj).
  20. Circuit intégré selon la revendication 19, dans lequel le circuit convertisseur d’entrée (INCVRT) comprend un circuit d’émulation d’un point mémoire (MPT_EMUL) configuré pour émuler un transistor bipolaire de sélection (BJT_EMUL) dans un état polarisé par un courant de lecture émulé (ICELL_EMUL), afin de produire la tension de décalage (VBJT) en conditionsin situ.
  21. Circuit intégré selon l’une quelconque des revendications 12 à 20, dans lequel un circuit d’étalonnage d’intervalle de temps (T_CLBR) est configuré pour ajuster (Adj) la durée des intervalles de temps (T) par rapport à une cellule mémoire résistive à changement de phase de référence (PCM0) et à une valeur de sortie de référence (VREF), afin de compenser les éventuelles variations en température et en aléa de procédé de fabrication de la conductance (Gij) des cellules mémoires résistives à changement de phase (PCMij) et du gain β des transistors bipolaires de sélection (BJTij).
  22. Circuit intégré selon la revendication 21, dans lequel le circuit d’étalonnage d’intervalle de temps (T_CLBR) comprend un circuit d’émulation d’un point mémoire (MPT0) et un circuit d’émulation d’un circuit convertisseur de sortie (OUTCVRT_EMUL), configuré pour émuler une valeur de sortie (VOUT) résultant de l’intégration du courant de lecture résultant d’un signal de tension de référence (V0) polarisant la cellule mémoire résistive à changement de phase de référence (PCM0) pendant un intervalle de temps ajustable (T), et comprend un comparateur (CMP) configuré pour comparer la valeur de sortie émulée (VOUT) à la valeur de sortie de référence (VREF) afin de commander un circuit de réaction d’étalonnage (T_CLBR) qui ajuste la durée de l’intervalle de temps (T).
FR2008327A 2020-08-06 2020-08-06 Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant Active FR3113326B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR2008327A FR3113326B1 (fr) 2020-08-06 2020-08-06 Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant
US17/393,075 US20220044099A1 (en) 2020-08-06 2021-08-03 Method for in-memory convolutional computation and corresponding integrated circuit
EP21189279.9A EP3955171A1 (fr) 2020-08-06 2021-08-03 Procédé de calcul de convolution en mémoire et circuit intégré correspondant
CN202110899221.7A CN114067884A (zh) 2020-08-06 2021-08-05 用于存储器中卷积计算的方法和对应的集成电路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2008327A FR3113326B1 (fr) 2020-08-06 2020-08-06 Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant
FR2008327 2020-08-06

Publications (2)

Publication Number Publication Date
FR3113326A1 true FR3113326A1 (fr) 2022-02-11
FR3113326B1 FR3113326B1 (fr) 2023-01-06

Family

ID=73013725

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2008327A Active FR3113326B1 (fr) 2020-08-06 2020-08-06 Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant

Country Status (4)

Country Link
US (1) US20220044099A1 (fr)
EP (1) EP3955171A1 (fr)
CN (1) CN114067884A (fr)
FR (1) FR3113326B1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11942144B2 (en) 2022-01-24 2024-03-26 Stmicroelectronics S.R.L. In-memory computation system with drift compensation circuit
US11894052B2 (en) * 2022-04-12 2024-02-06 Stmicroelectronics S.R.L. Compensated analog computation for an in-memory computation system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807519A (zh) * 2019-11-07 2020-02-18 清华大学 基于忆阻器的神经网络的并行加速方法及处理器、装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807519A (zh) * 2019-11-07 2020-02-18 清华大学 基于忆阻器的神经网络的并行加速方法及处理器、装置

Also Published As

Publication number Publication date
EP3955171A1 (fr) 2022-02-16
CN114067884A (zh) 2022-02-18
FR3113326B1 (fr) 2023-01-06
US20220044099A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
JP6201056B2 (ja) クロスポイントアレイ内のメモリセルへの並列アクセス
US7463506B2 (en) Memory device, memory circuit and semiconductor integrated circuit having variable resistance
EP1450373B1 (fr) Dispositif de mémoire à changement de phase
FR3113326A1 (fr) Procédé de calcul convolutif intra-mémoire et circuit intégré correspondant
EP2541770B1 (fr) Genérateur de retards utilisant une résistance programmable à base de matériau à changement de phase
US8098518B2 (en) Nonvolatile memory device using variable resistive element
FR2970590A1 (fr) Cellule mémoire volatile/non volatile sans charge
FR2970592A1 (fr) Cellule mémoire volatile/non volatile programmable
TW201913671A (zh) 具有記憶胞之積體電路及記憶陣列中之被選記憶胞的寫入方法
EP3154061B1 (fr) Procédé et circuit pour contrôler le courant de programmation dans une matrice de mémoire non volatile
FR2970589A1 (fr) Cellule mémoire volatile/non volatile
FR3011117A1 (fr) Procede et dispositif de commande d'une memoire reram
FR2976711A1 (fr) Cellule memoire avec memorisation volatile et non volatile
KR102656533B1 (ko) 메모리 셀 선택
EP2996115A1 (fr) Dispositif et procédé d'écriture de données dans une mémoire résistive
FR2972849A1 (fr) Cellule memoire
EP2996116B1 (fr) Dispositif et procédé d'écriture de données dans une mémoire résistive
Kim et al. Reliability characterization of logic-compatible NAND flash memory based synapses with 3-bit per cell weights and 1μa current steps
FR3038441A1 (fr)
EP2977988B1 (fr) Mémoire non volatile à résistance programmable
EP2987167B1 (fr) Cellule memoire non-volatile
EP3239983B1 (fr) Mémoire résistive unipolaire
EP4016531A1 (fr) Mémoire comprenant une matrice de cellules mémoires résistives, et procédé d'interfaçage associé
EP4198985A1 (fr) Mémoire résistive à sélecteur, équipée d'un condensateur d'écriture, et procédé d'écriture associé
FR3125163A1 (fr) Procede de lecture d’une rram multi-niveaux

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220211

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4