静态随机存储器

静态随机存储器[1],又称静态RAM[2]static random-access memory, SRAM,台湾译靜態隨機存取記憶體),是隨機存取記憶體的一種。所謂「靜態」,是指這種存储器只要保持通電,儲存的数据就可以恆常保持[3]。相對之下,動態隨機存取記憶體(DRAM)裡面所儲存的数据就需要週期性地更新。然而,當電力供應停止時,SRAM儲存的数据還是會消失(被称为易失性存储器),這與在斷電後還能儲存資料的ROM快閃記憶體是不同的。

一块任天堂FC游戏机 (灰机)的静态RAM,容量为2K X 8 bit.

设计

 
包含6个晶体管CMOS SRAM基本单元

SRAM由存储矩阵、地址译码器和读/写控制电路组成,容量的扩展有两个方面:位数的扩展用芯片的并联,字数的扩展可用外加译码器控制芯片的片选输入端[4]。SRAM中的每一bit储存在由4个场效应管(M1, M2, M3, M4)构成两个交叉耦合的反相器中。另外两个场效应管(M5, M6)是储存基本单元到用于读写的位线(Bit Line)的控制开关。

 
CMOS静态反相器

反相器是一种电路器件,其输出是输入的逻辑非。如图所示的CMOS静态反相器,由两个互补的金属氧化物半导体场效应管(MOSFET)组成,源极连接在高电平的是P沟道场效应管,源极连接在低电平的是N沟道场效应管。输入电路接在两个场效应管的栅极上,输出电路从两个场效应管的连接处接出。当输入低电平,则P沟道场效应管开通,N沟道场效应管关闭,输出高电平。当输入高电平,则N沟道场效应管开通,P沟道场效应管关闭,输出低电平。这就实现了“反相”输出。

一个SRAM基本单元有01两个电平稳定状态。SRAM基本单元由两个CMOS反相器组成。两个反相器的输入、输出交叉连接,即第一个反相器的输出连接第二个反相器的输入,第二个反相器的输出连接第一个反相器的输入。这就能实现两个反相器的输出状态的锁定、保存,即储存了1个位元的状态。

除了6管的SRAM,其他SRAM还有8管、10管甚至每个位元使用更多的晶体管的实现。[5][6][7]这可用于实现多端口(port)的读写访问,如显存或者暫存器檔案的多口SRAM电路的实现。

一般说来,每个基本单元用的晶体管数量越少,其占用面积就越小。由于硅晶片(silicon wafer)的生产成本是相对固定的,因此SRAM基本单元的面积越小,在硅晶片上就可以制造更多的位元存储,每位元存储的成本就越低。

内存基本单元使用少于6个晶体管是可能的—如3管[8][9]甚至单管,但单管储存单元是DRAM,不是SRAM。

访问SRAM时,字线(Word Line)加高电平,使得每个基本单元的两个控制开关用的晶体管M5与M6开通,把基本单元与位线(Bit Line)连通。位线用于读取或写入基本单元的保存的状态。虽然不是必须两条取反的位线,但是这种取反的位线有助于改善雜訊容限.

动态存储器(DRAM)相比,SRAM的带宽有很大改进—由于两條位线是反相,这种差分信号使得SRAM的抗雜訊干扰能力很强。而DRAM的位线连接到存储电容,受困于电荷共享(charge sharing)使得其位线信号上下波动。另一项差别使得SRAM更快是其地址线各位元是同时工作选择出目标存储单元的字线,而DRAM往往为了降低成本,是先送出低半段的地址线的各比特,然后再送出高半段的地址线的各bit,这降低了DRAM封装的地址引脚的数量。

m條地址线与n條数据线的SRAM,其存储容量是2m个字(word),2m×nbit.每个字的长度至少是64bit。

SRAM操作

SRAM的基本单元有3种状态:电路处于空闲(standby) 、读取(reading)与寫入(writing)。SRAM的读取或写入模式必须分别具有可读(readability)与写入稳定(write stability)。

空闲

如果字线没有被选为高电平,那么作为控制用的M5与M6两个晶体管处于断路,把基本单元与位线隔离。由M1 – M4组成的两个反相器继续保持其状态,只要保持与高、低电平的连接。

读取

假定储存的内容为1,即在Q处的电平为高。读取周期開始時,两條位线预充值为逻辑1,随后字线WL充高电平,使得两个访问控制晶体管M5与M6通路。第二步是保存在Q的值與位元線BL的预充值相同,所以BL保持邏輯1,而QBL的预充值不同,使得BL經由M1与M5放電而變成邏輯0(即Q的高电平使得晶体管M1通路)。在位线BL一侧,晶体管M4与M6通路,把位线连接到VDD所代表的逻辑1(M4作为P沟道场效应管,由于栅极加了Q的低电平而M4通路)。如果储存的内容为0,相反的电路状态将会使BL1而BL为0。只需要BL与BL有一个很小的电位差,读取的放大电路将会辨识出哪條位线是1哪條是0。敏感度越高,读取速度越快。

寫入

写入周期開始時,把要写入的状态加载到位线。如果要写入0,则设置BL1且BL为0。随后字线WL加载为高电平,位线的状态被载入SRAM的基本单元。这是通过位线输入驱动能力设计的比基本单元相对较弱的晶体管更为强壮,使得位线状态可以覆盖基本单元交叉耦合的反相器的以前的状态。

总线行为

访问时间为70ns的RAM在位址設定完成且有效之後,會在70ns之內將資料輸出。数据将继续保持有效约5-10ns。起、落时间将影响有效时间槽(timeslot)约5ns。如果先读入低半段地址,将会多耗费30ns[10]

应用与使用

特性

SRAM是比DRAM更为昂贵,但更为快速、非常低功耗(特别是在空闲状态)。因此SRAM首选用于带宽要求高,或者功耗要求低,或者二者兼而有之。SRAM比起DRAM更为容易控制,也更是随机访问。由于复杂的内部结构,SRAM比DRAM的占用面积更大,因而不适合用于更高储存密度低成本的应用,如PC内存。

时钟频率与功耗

SRAM功耗取决于它的访问频率。如果用高频率访问SRAM,其功耗比得上DRAM。有的SRAM在全带宽时功耗达到几个瓦特量级。另一方面,SRAM如果用于温和的时钟频率的微处理器,其功耗将非常小,在空闲状态时功耗可以忽略不计—几个微瓦特级别。

SRAM用于:

  • 通用的产品
    • asynchronous界面,例如28针32Kx8的chip(通常命名为XXC256),以及类似的产品最多16 Mbit每片
    • synchronous界面,通常用做高速缓存(cache)以及其它要求突发传输的应用,最多18 Mbit(256Kx72)每片
  • 集成于芯片内
    • 作为微控制器的RAM或者cache(通常从32 bytes到128 kilobytes)
    • 作为x86微處理器的快取(如L1、L2、L3)
    • 作为寄存器(参见寄存器堆
    • 用于特定的ICs或ASIC(通常在几千字节量级)
    • 用于FPGACPLD

嵌入式应用

工业与科学用的很多子系统,汽车电子等等都用到了SRAM。现代设备中很多都嵌入了几千字节的SRAM。实际上几乎所有实现了电子用户界面的现代设备都可能用上了SRAM,如玩具。数码相机、手机、音响合成器等往往用了几兆字节的SRAM。 实时信号处理电路往往使用双口(dual-ported)的SRAM。

用于计算机

SRAM用于PC、工作站、路由器以及外设:内部的CPU高速缓存,外部的突发模式使用的SRAM缓存,硬盘缓冲区,路由器缓冲区,等等。LCD显示器或者打印机也通常用SRAM来缓存数据。SRAM做的小型缓冲区也常见于CDROMCDRW的驱动器中,通常为256 KiB或者更多,用来缓冲音轨数据。线缆调制解调器及类似的连接于计算机的设备也使用了SRAM。

爱好者

搭建自己的处理器的业余爱好者[11]更愿意选用SRAM,这是由于其易用性的工作界面。没有DRAM所需的刷新周期;地址总线与資料总线直接访问而不是像DRAM那样地址、数据信号共用数据线,通过多路复用器访问。SRAM通常只需3个控制信号:Chip Enable (CE), Write Enable (WE)与Output Enable(OE)。对于同步SRAM,还需要时钟信号(Clock,CLK)。

SRAM的类型

非揮發性SRAM

非揮發性SRAM(Non-volatile SRAM,nvSRAM)具有SRAM的标准功能,但在失去电源供电时可以保住其資料。非揮發性SRAM用于网络、航天、医疗等需要关键场合[12]—保住資料是关键的而且不可能用上电池。

异步SRAM

异步SRAM(Asynchronous SRAM)的容量从4 Kb到64 Mb。SRAM的快速访问使得异步SRAM适用于小型的cache很小的嵌入式处理器的主内存,这种处理器广泛用于工业电子设备、测量设备、硬盘、网络设备等等。

根据晶体管类型分类

根据功能分类

  • 异步—独立的时钟频率,读写受控于地址线与控制使能信号。
  • 同步—所有工作是时钟脉冲边沿开始,地址线、数据线、控制线均與时钟脉冲配合。

根据特性分类

  • 零总线翻转(Zero bus turnaround,ZBT)—SRAM总线从以及从所需要的时钟周期是0
  • 同步突发SRAM(synchronous-burst SRAM,syncBurst SRAM)—
  • DDR SRAM—同步、单口读/写,双数据率I/O
  • QDR SRAM(Quad Data Rate (QDR) SRAM)—同步,分开的读/写口,同时读写4个字(word)。

根据触发类型

参见

参考文献

  1. ^ 静态随机存储器. 术语在线. 全国科学技术名词审定委员会.  (简体中文)
  2. ^ 教育部教育考试院.全国计算机等级考试二级教程:公共基础知识 [M].北京:高等教育出版社, 2022 (2023-05): 7.
  3. ^ Sergei Skorobogatov. Low temperature data remanence in static RAM. University of Cambridge, Computer Laboratory. June 2002 [2008-02-27]. (原始内容存档于2019-01-18). 
  4. ^ 康华光. 电子技术基础数字部分 3th. 高等教育出版社. 1988. ISBN 7-04-001622-2. 
  5. ^ A 160 mV Robust Schmitt Trigger Based Subthreshold SRAM (PDF). [2022-07-23]. (原始内容 (PDF)存档于2009-06-17). 
  6. ^ United States Patent 6975532: Quasi-static random access memory页面存档备份,存于互联网档案馆
  7. ^ 存档副本. [2012-09-06]. (原始内容存档于2008-12-05). 
  8. ^ United States Patent 6975531: 6F2 3-transistor DRAM gain cell页面存档备份,存于互联网档案馆
  9. ^ 3T-iRAM (r) Technology. [2012-09-06]. (原始内容存档于2014-03-13). 
  10. ^ Tentative Toshiba mos digital integrated circuit silicon gate cmos 4,194,304-word by 16-bit cmos pseudo static RAM (PDF). [2012-09-06]. (原始内容 (PDF)存档于2020-10-20).  070731 toshiba.com
  11. ^ Homemade CPU. [2012-09-06]. (原始内容存档于2011-10-01). 
  12. ^ Computer organization. 4th ed. [S.l.]: McGraw-Hill. ISBN 0-07-114323-8. 
  13. ^ 12-Trit Ternary SRAM[永久失效連結]