Cellule SRAM 12 transistors à ultra faible courant de fuite Julien De Vos, David Bol, Denis Flandre Laboratoire de microélectronique Université catholique de Louvain Louvain-la-Neuve, Belgique [email protected], {david.bol,denis.flandre}@uclouvain.be 1. INTRODUCTION La diminution continue de la taille des transistors permet d’atteindre des densités d’intégration et des performances de plus en plus élevées, mais elle augmente également de manière importante les courants de fuite des transistors. Ainsi, une des préoccupations principales des concepteurs de circuits intégrés pour produits portables est devenue la réduction de la puissance dissipée. De manière plus particulière, les mémoires statiques à accès aléatoire (SRAM) représentent une partie importante de la surface totale et de la puissance consommée, par de nombreux systèmes sur puce (SoC) [1]. De plus, contrairement aux autres blocs logiques, il est impossible de déconnecter l’alimentation des SRAMs afin de réduire leur courant de fuite durant les périodes de mise en veille ou “standby”. De nombreuses approches ont été proposées pour réduire la consommation des cellules SRAMs. Actuellement, il est possible de classer les développements de la littérature en trois catégories [2]. La première observe que le courant sous-seuil est une des principales sources de courant de fuite des transistors actuels. L’idée consiste alors à utiliser des MOSFETs à haute tension de seuil Vth [3]. Malheureusement, pour maintenir un temps de lecture acceptable, il est alors nécessaire de modifier certains niveaux de tension (wordline, alimentation de la cellule, précharge de bitlines…) [4]. La seconde famille suppose que les cellules mémoires subiront de longues périodes d’inactivité. Le mécanisme de réduction des fuites est alors axé sur deux modes d’opération, le fonctionnement normal et le mode standby. Celui-ci est souvent implémenté par une réduction de la tension de rail à rail de la cellule [3], [5], [6]. Malheureusement, le passage d’un mode à l’autre requiert du temps et de l’énergie. Cette solution ne trouve donc son utilité que dans un nombre limité d’applications. Enfin, de nombreuses propositions visent à réduire la tension d’alimentation de la SRAM de manière à obtenir un fonctionnement sous seuil, c'est-à-dire avec une tension d’alimentation VDD inférieure à la tension de seuil Vth des transistors. Toutefois, le bon fonctionnement de la cellule et sa stabilité requièrent l’utilisation de nouveaux types d’architecture et de circuits annexes [7]-[9]. Toutes ces techniques ne permettent pas de réduire drastiquement la consommation de la cellule sans faire de sacrifices importants en termes de stabilité ou de performance. Nous proposons ici un nouveau design basé sur l’inverseur ULP (“Ultra-Low Power”) qui a été introduit dans [10]. La cellule SRAM ULP étudiée comporte 12 transistors et permet de réduire les courants de fuite de la cellule de plusieurs ordres de grandeur. La cellule mémoire (fig.1) est composée d’un latch basé sur la combinaison de deux inverseurs ULP. Le mécanisme de réduction du courant de fuite est lié à l’application auto-induite d’une tension VGS négative des transistors à l’état bloqué. La section 2 de ce document décrit le latch ULP et la cellule SRAM. Les résultats de simulations sont présentés et commentés à la section 3. La section 4 étudie la robustesse de la cellule face aux perturbations environnementales et aux variations technologiques. L’étude du rapport IREAD/ISTAT permettra de justifier le bien-fondé de la cellule dans la section 5. La section 6 donne un exemple de layout. Enfin, les conclusions sont tirées à la section 7. 2. LA CELLULE SRAM ULP 12T B. Courbe de transfert de l’inverseur ULP Deux inverseurs ULP montés en tête-bêche (latch ULP) forment le cœur de la cellule proposée. Ces inverseurs sont chacun composés de quatre transistors (fig. 1). Lorsque l’entrée de l’inverseur ULP est haute (resp. basse), le courant statique est minimisé grâce à une tension VGS négative auto-induite à P2 et N2 (resp. P1 et N1), environ égale à Vdd/2 [10]. La stabilité de l’inverseur est également améliorée grâce à une hystérèse présente dans sa caractéristique statique [10]. Néanmoins, cet inverseur ne peut délivrer qu’un courant ON limité par le courant de fuite du transistor P1 (resp. N2). Pour comprendre la courbe caractéristique de l’inverseur ULP, examinons son comportement lors d’un flanc montant de la tension d’entrée. Un raisonnement similaire peut être réalisé pour un flanc descendant. La courbe caractéristique de l’inverseur est représentée à la figure 2. Les tensions des nœuds internes X1 et X2 sont également données pour faciliter l’explication. • Lorsque VIN=0, VOUT est proche de VX2. En effet, P2 possède un VGS élevé et présente donc une impédance équivalente très faible. De plus, N2 a une faible impédance équivalente comparée à N1-P1. En effet, le VGS de N2 est nul alors que N1 et P1 possèdent un VGS largement négatif [2,10]. Dès lors VX2 et VOUT sont proche de VDD. • Alors que VIN augmente, la tension VX1 reste comprise entre VIN et VOUT, ce qui implique une ten- sion VGS négative aux transistors N1 et P1. VOUT reste donc proche de VDD. • tors d’accès est limité en rétention par l’application d’une tension de wordline négative de 200mV. Quand VX1 devient proche de VIN, les tensions VGS de N1 et P1 s’approchent de 0. L’impédance équivalente de N2 n’est plus négligeable et VOUT diminue quelque peu. • Enfin, l’inverseur bascule sous l’action combinée de l’augmentation de VIN et de la chute de VOUT. En effet, N1 quitte le régime de faible inversion et décharge VOUT à VX1. Ceci entraine une augmentation du VGS de P1 et une réduction de celui de N2. Le courant ION de l’inverseur est alors limité par le courant sous seuil de P1 qui s’accroit exponentiellement. Ceci mène une transition très abrupte de la tension de sortie. Notons que le seuil de basculement est différent pour un flanc montant ou descendant, il existe donc une hystérèse présente dans la courbe caractéristique de l’inverseur. Il faut également remarquer que les niveaux de sortie sont très bons (proche de 0 et de VDD), même avec un NMOS relié à l’alimentation et un PMOS à la masse. Figure 1. A gauche, l’inverseur ULP, à droite la mémoire SRAM basée sur un latch ULP 3. PERFORMANCES OBTENUES Le tableau 1 donne une comparaison entre les performances atteintes pour la SRAM ULP proposée, une SRAM 8T avec un circuit de lecture similaire et un latch classique basé sur des inverseurs standards [8]-[9] et une cellule SRAM 6T classique. Les résultats sont obtenus pour une tension d’alimentation de 1V et une température de 85°C, en technologie bulk CMOS 130nm. Ceux-ci sont issus de simulations SPICE réalisées à l’aide de modèles BSIM 3 industriels. Tableau 1. Comparaisons des performances de la SRAM ULP 12T et des SRAMs conventionnelles. VDD=1V Figure 2. Courbes caractéristiques de l’inverseur ULP, T=25°. A. Architecture de la cellule La figure 1 donne une représentation de la cellule proposée. Celle-ci est basée sur un latch ULP qui est accédé en écriture grâce aux deux transistors d’accès N7 et N8, ce qui permet de s’affranchir du délai élevé de l’inverseur ULP. Ces deux transistors seront toujours beaucoup plus forts que la partie basse de l’inverseur utilisé. Il est donc difficile de les utiliser tels quels pour un accès en lecture sans dégrader fortement la marge de bruit (SNM) de la cellule. C'est pourquoi deux transistors supplémentaires permettent de réaliser l’opération de lecture sur une bitline séparée. La cellule est alors complètement isolée du circuit de lecture. Ceci permet également de ne pas dépendre du délai de l’inverseur pour l’opération de lecture. La cadence de la SRAM n’est donc pas pénalisée par les faibles performances dynamiques de l’inverseur ULP. De manière à tirer pleinement profit du mécanisme ULP en ce qui concerne la réduction des courants de fuites, le courant IOFF des transis- SRAM ULP 12T SRAM 8T SRAM 6T Temps d’accès en lecture [ps] Temps d’accès en écriture [ps] SNM [mV] 650 570 450 532 80.1 98.1 710 332 151 Write SNM [mV] -566 -602 -472 Istat. [nA] 0.041 7.15 5.8 La cellule proposée permet bien de réduire le courant statique par un facteur 175 par rapport à la cellule 8T. En outre, par rapport à la cellule 8T, la SNM est également améliorée de 110% grâce à l’hystérèse présente dans la caractéristique de l’inverseur ULP. Notons ici que la cellule 8T possède déjà une SNM plus de 2 fois plus importante que la cellule 6T étant donné qu’un accès en lecture ne vient pas perturber les tensions mémorisées. Dès lors, dans le cas d’une lecture ou d’une écriture, la SNM reste identique dans le cas des cellules ULP et 8T. Les temps d’accès en écriture et en lecture sont légèrement supérieurs par rapport à la cellule 8T. Pour l’écriture, cela est lié à l’hystérèse présente dans la caractéristique de l’inverseur ULP, ce qui implique que le NMOS d’accès transmettant un 1 devra travailler avec un faible VGS en fin d’opération. Par ailleurs, il faut se rappeler que le NMOS d’accès en écriture ne peut pas totalement transmettre une valeur haute au nœud de mémorisation. Le latch ULP va donc devoir régénérer cette tension ce qui, étant donné le délai de l’inverseur ULP, est relativement long (environ 2 µs pour ramener le nœud de mémorisation à 95% de VDD). Il est donc possible que lors d’un accès en lecture, la tension VGS du NMOS N9 ne soit pas maximale, ce qui ralentit légèrement la lecture. La notion de « Write SNM » correspond à l’évaluation de la marge de bruit de la cellule lorsque la wordline d’écriture est activée. Une valeur négative indique alors que l’opération d’écriture s’est déroulée avec succès. A nouveau, la cellule ULP permet d’obtenir de bons résultats. La valeur élevée obtenue est liée au faible courant qu’est capable de développer l’inverseur ULP. En effet, il s’en suit que les transistors d’accès n’éprouvent aucune difficulté pour forcer la tension des nœuds de mémorisation à la valeur alors présente sur les bitlines d’écriture. Cependant, l’hystérèse présente dans la courbe caractéristique des inverseurs oblige les transistors d’accès à transmettre aux nœuds de mémorisation une valeur proche de 0 ou de VDD, ce qui tend à rendre l’opération d’écriture plus difficile. 4. SENSIBILITÉ AUX VARIATIONS Les valeurs présentées à la troisième section sont mitigées par la dispersion liée aux fluctuations du procédé de fabrication. Celles-ci se traduisent essentiellement par une variation de la tension de seuil des transistors et de la longueur de grille [11]. Une étude de la robustesse de la cellule par rapport à ces fluctuations est réalisée dans cette section. Il faut à ce titre considérer un défaut commun à l’ensemble de la surface de Silicium (« global corner »), mais aussi une variation de procédé d’un transistor à l’autre (« local variation ») [12]. Figure 3. Marges de bruit sous les différents corners. A gauche en écriture, à droite en lecture. Valeurs normalisées à VDD=1V. La figure 3 permet d’observer l’évolution des marges de bruit en écriture et en lecture en fonction des « global corners ». La marge de bruit en rétention est ici équivalente à celle en lecture. La stabilité de la cellule pour une réduction de la tension d’alimentation à 0.9V est également étudiée. Ce cas de figure est le plus contraignant en ce qui concerne l’écriture. Néanmoins, la marge de bruit reste largement négative, même sous des températures élevées. Lors d’une lecture, la combinaison de nMOSFETs rapides et de pMOSFETs plus lents se révèle être la plus critique. Ce- pendant, la marge de bruit reste supérieure à VDD/2 pour la gamme de température étudiée. L’impact de ces variations sur les performances dynamiques de la cellule a également été étudié. La figure 4 représente l’évolution du courant développé par les deux transistors de lecture de la cellule sous différentes températures. A nouveau, une réduction de la tension d’alimentation a été envisagée. Il ressort que hormis la réduction de l’alimentation de la cellule, des transistors nMOSFETs plus lents (corners SS et SF) sont le plus pénalisants pour le temps de lecture, indépendamment de la situation des pMOSFETs. Ceci est lié au fait que le circuit de lecture ne comporte que des nMOSFETs. Par ailleurs, il faut noter que le courant de lecture augmente avec la température. Ceci est dû au plus grand courant ON des inverseurs ULP à température élevée (fonctionnement sous-seuil), qui restaurent donc plus rapidement le 1 transmis par le transistor d’accès. Figure 4. Evolution du courant de lecture en fonction de la température sous les différents corners. Valeurs normalisées à VDD=1V. La variabilité locale est cependant plus critique alors que la taille des transistors devient de plus en plus petite [12]. La figure 5 permet d’observer les résultats d’une simulation de Monte-Carlo des marges de bruits. Une comparaison est réalisée avec la cellule 8T. Si les deux cellules se comportent de manières fortement semblables en écriture, le cas de la lecture/rétention mérite notre attention. En effet, malgré une marge de bruit nettement supérieure, la cellule ULP est plus sensible aux variations locales et les résultats sont plus dispersés que pour la cellule 8T. Cela est dû à la structure même de l’inverseur ULP qui place les transistors en régime sous seuil où la sensibilité aux variations est amplifiée [13]. Il s’en suit que dans le cas d’une variation respectivement 4σ et 6σ (reprenant respectivement 99.997% et 99.99985% des données) la marge de bruit de la cellule ULP ne s’élève plus qu’à 280 mV et 205 mV en lecture. Ces valeurs sont suffisantes pour garantir la fonctionnalité de la cellule et indiquent que la cellule ULP sera toujours opérationnelle sous de plus faibles tensions d’alimentation. La loi de distribution qui permet le mieux de modéliser les valeurs obtenues en rétention est une loi de Weibull. Notons également que dans le cas d’une opération d’écriture, la cellule ULP est moins sensible aux variations locales que la cellule 8T. Cela traduit le fait que malgré une variation des propriétés des transistors, le transistor d’accès reste beaucoup plus fort que l’inverseur ULP. Il n’éprouve dès lors aucune difficulté à transmettre une valeur au nœud de mémorisation malgré l’hystérèse présente sur la courbe caractéristique de l’inverseur. 5. REDUCTION DES FUITES PAR RAPPORT AU COURANT DE LECTURE Outre la robustesse de la cellule face aux dispersions, le rapport entre courants ION et IOFF des transistors peut poser des problèmes de fonctionnalités [9]. De manière plus particulière, il peut être difficile de discriminer un 1 d’un 0 lors d’une lecture. En effet si le rapport ION/IOFF de transistors de lecture est trop faible, l’ensemble des courants IOFF des cellules raccordées à la même bitline peut égaliser le courant ION des transistors d’accès de la cellule accédée. Dès lors, la bitline se décharge à une vitesse similaire que la valeur mémorisée soit 1 ou 0. Figure 6. Evolution du rapport IREAD/Istat de la cellule ULP et de la cellule 8T. Istat comprend le courant statique de la paire d’inverseurs ULP et les courants de fuites des transistors d’accès. 6. LAYOUT La figure 7 donne un exemple de layout de la cellule. Celle-ci est réalisée en technologie bulk 0.13µm. La surface occupée par la cellule correspond approximativement à 260 % de la surface occupée par notre cellule 6T de référence à et 180 % de celle occupée par une cellule 8T. Figure 5. Simulations de Monte-Carlo (10k) des marges de bruits des cellules 8T et ULP. A gauche en écriture, à droite en lecture. σVT=34mV. Par ailleurs, un grand nombre de cellules à faible consommation réduisent les pertes en fonctionnant en régime sous seuil [7] [8]. Cette technique possède l’inconvénient de restreindre significativement la fréquence de fonctionnement de la cellule. C’est pourquoi nous avons choisi d’étudier ici le rapport entre courant de lecture et courant statique de la cellule. Ce courant comprend le courant statique de la paire d’inverseurs ULP et les courants de fuites des transistors d’accès. L’évolution de ce rapport en fonction de la température est représentée à la figure 6. Un grand rapport signifie que la cellule permet de réduire significativement la consommation de la cellule tout en maintenant une fréquence d’opération élevée. Comme le courant ISTAT contient également les courants de fuites des transistors de lecture, cela indique également qu’un nombre élevé de cellules pourra être raccordé aux mêmes bitlines. En effet, cela garanti que les courant IOFF des cellules non accédées ne viendront pas perturber l’opération de lecture. Les courbes montrent que l’utilisation d’inverseur ULP permet d’améliorer significativement ce rapport par rapport à une cellule 8T réalisée à l’aide d’inverseurs classiques. Figure 7. Layout de la cellule ULP 12 transistors, réalisée en technologie bulk 0.13µm. 7. CONCLUSIONS Une cellule SRAM ULP 12T d’architecture innovante basée sur l’utilisation d’inverseurs particuliers a été présentée. Elle permet d’obtenir une réduction de la consommation du courant statique de la cellule de 2 ordres de grandeur par rapport à la cellule 6T, au détriment d’une surface occupée supérieure de 80 % par rapport à la cellule 6T. Ses performances sont supérieures à celles obtenues par d’autres techniques de faible consommation. La stabilité de la cellule est également améliorée grâce à une SNM accrue pour tous les modes de fonctionnement. Les simulations montrent également que la cellule est robuste face aux dispersions environnementales et technologiques. REFERENCES [1] N. Kim, K. Flautner, D. Blaauw, T. Mudge, “Circuit and microarchitectural techniques for reducing cache leakage power”, IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 12, no. 2, pp. 167-184, Feb. 2004. [2] D Levacq, V. Dessard, D. Flandre, “Low Leakage SOI CMOS Static Memory Cell With Ultra-Low Power Diode”, IEEE Journal of Solid-State Circuits, vol. 42, no. 3, pp. 689-702, Mar. 2007. [3] K. W. Mai, T. Mori, B. S. Amrutur, R. Ho, B. Wilburn, M.A. Horowitz, I. Fukushi, T. Izawa, S. Mitarai, “LowPower SRAM Design Using Half-Swing Pulse-Mode Techniques”, IEEE Journal of Solid-State Circuits, vol. 33, no. 11, pp. 1659-1671, Nov. 1998. [4] S. Romanovsky, A. Achyuthan, S. Natarajan, W. Leung, “Leakage Reduction techniques in a 0.13um SRAM Cell”, Proc. Int. Conf. VLSI Design, 2004. [5] K. Zhang, U. Bhattacharya, Z. Chen, F. Hamzaoglu, D. Murray, N. Vallepalli, Y. Wang, B. Zheng, M. Bohr, “SRAM Design on 65-nm CMOS Technology With Dynamic Sleep Transistor for Leakage Reduction”, IEEE Journal of Solid-State Circuits, vol. 40, no. 4, pp. 895-901, Apr. 2005. [6] H. Mizuno, T. Nagano, “Driving Source-line Cell Architecture for sub 1-V High Speed Low-Power Applications”, IEEE Journal of Solid-State Circuits, vol. 31, no. 4, pp. 552-557, Apr. 1996. [7] B. H. Calhoun, A. P. Chandrakasan, “A 256-kb 65-nm Sub-threshold SRAM Design for Ultra-Low-Voltage Operation”, IEEE Journal of Solid-State Circuits, vol. 42, no. 3, pp. 680-688, Mar. 2007. [8] J. P. Kulkarni, K. Kim, K. Roy, “A 160 mV Robust Schmitt Trigger Based Subthreshold SRAM”, IEEE Journal of Solid-State Circuits, vol. 42, no. 10, pp. 2303-2312, OCT. 2007. [9] N. Verma, A. P. Chandrakasan, “A 256-kb 65-nm 8T Sub-threshold SRAM Employing Sense-Amplifier Redundancy”, IEEE Journal of Solid-State Circuits, vol. 43, no. 1, pp. 141-149, Jan. 2008. [10] D. Bol, R. Ambroise, D. Flandre, J.-D. Legat, “Building Ultra-Low-Power Low Frequency Digital Circuits with High-Speed Devices”, Proc. IEEE Int. Conf. on Electronics, Circuits and Systems, ICECS , Dec. 2007. [11]H. Qin, Y. Cao, D. Markovic et al., “Standby supply voltage minimization for deep sub-micron SRAM”, Microelectronics Journal, vol.36, no. 1, pp. 789-800, Mar. 2005. [12] A. Asenov, A.R. Brown, J.H. Davies, S. Kaya and G. Slavcheva, “Simulation of intrinsic parameter fluctuations in decananometer and nanometer-scale MOSFETs”, in IEEE Trans. Electron Devices, vol. 50, no. 9, pp. 1837-1852, Sep. 2003. [13] B. Zhai, S. Hanson, D. Blauw and D. Sylvester, "Analysis and mitigation of variability in subthreshold design", Proc. IEEE/ACM Int. Symp.Low-Power Electron. Des., 2005, pp. 20-25.