静态随机存储器-SRAM-《芯苑》

 

应孔维同学的要求,加急写一篇SRAM的文章。不过为了照顾大部分群体,我还是要从最基本的讲起。

我前面有一篇文章讲flash的,它和SRAM一样都属于半导体存储器,只是隶属于不同分类。半导体存储器主要分为两类:非挥发性(NVM: Non-Volatile Memrory)和易挥发性(Volatile),前面讲的flash就是属于非挥发性,它断电还可以继续储存数据(就是U盘),而易挥发性就是断电数据就不见了,比如内存(DRAM)以及本文要讲的SRAM。

静态随机存储器-SRAM-《芯苑》

 

1、各种存储器的比较:

那挥发性和非挥发性存储器的优缺点主要是速度和面积(当然也是cost),可以肯定的是NVM的速度肯定没有DRAM和SRAM快,这就是为什么DRAM和SRAM一直不会被取代的原因,速度上讲SRAM最快(ns),其次是DRAM(10ns),最后再是Flash(ms),当然Flash其实读起来很快几乎和DRAM差不多,只是program比较慢,因为Luky electron只有1%通过Hot Carrier Inject到Floating Gate里面去,所以可想而知这个速度多慢。为什么SRAM比DRAM快呢?是因为DRAM靠电容存放电是需要时间的,而SRAM全部是靠Transistor On/Off,自然就很快了。而面积来说,当然最大的是SRAM(因为是6个transisitor都好几个um2),这就是为什么在14nm和16nm工艺上,有个重要指标就是看SRAM的size,其次是flash (2T: select + cell),面积最小的肯定是DRAM(1T1C),所以DRAM可以做好几个Giga。而DRAM虽然比SRAM density高,但是DRAM麻烦的是电容存储电荷,即使带电情况下,他也会慢慢的损耗掉,所以他必须要有个刷新电路(Refresh)做充电的动作(500ms~1s),而SRAM则是flip-flop的Memory,不需要充电,所以DRAM的功耗肯定比SRAM大。

静态随机存储器-SRAM-《芯苑》

 

再来讲讲各种存储器的应用吧,还是从以前的电脑里面讲起,比较容易懂。以前买CPU都说缓存(Cache),还分一级缓存(L1)和二级缓存(L2),其实缓存就是SRAM,然后才到内存(DRAM),再到存储碟(Hard Disk)。当然SRAM除了在电脑里用,在很多的电路设计里都要用到,作为地址码或临时数据存储用,所以很多FAB的technology都要offer SRAM给客户。

静态随机存储器-SRAM-《芯苑》

 

2、SRAM的历史及发展:

1) 1963年,第一个CMOS电路诞生;

2) 1965年,Wood和Hall发布第一个Flip-Flop(触发器)以及Shift Register(寄存器)电路。

3) 1966年,NEC的Igarashi发明第一个6-PMOS以及2-Resistor(20K/sq)的集成存储器芯片(1.0x0.9mm2)。

4) 1966年,RCA公司又搞出个10-transistor的CMOS Memory cell。

5) 1967年,Bell实验室搞出个16cell TFT的CMOS memory。

中间还经历了无数次。。。。。

6) 1976年,Intel的McCormick真正做出了第一个1KB的6T-SRAM,不过他用的是Depletion-MOS,且Access time是50ns,但是Cell面积是5096um2。

7) 1980年,一个叫Iizuka的人发明了第一个16KB full-CMOS的SRAM,他用的是2.5um工艺,cell面积是1122um2,95ns的Access时间并且Standby power只有1uW。

后来几乎SRAM的scaling速度是按照每三年密度增长四倍在发展至今的cell面积以8寸来讲应该在1~2um2吧。

上面流水账似得讲了一下SRAM的发展历史,但是总结一下其实历史上划时代意义的SRAM只有这四种大家搞懂即可,也是6T-CMOS SRAM的由来。

最早是1969年的Enhance-mode SRAM,它的主要特点是“H”端没有接在VCC,而是相当于接在Vcc-Vth上,所以它的Cell非常不稳定,因为Vth会随process有偏差。所以到了1976年,发展出Depletion-Mode SRAM,它最大的改进是“H”端接到了Vcc上,Cell稳定性增强了,但是有一点我不明白的是为啥他要做成Depletion-Mode,因为耗尽MOS还额外需要多两张光罩,但是耗尽MOS的漏电肯定比增强MOS大,所以这两种一直在trade-off。直到1977年,出来一个Low leakage small size的HR-SRAM(因为为了降低leakage,总是要增大Gate),才有了划时代进步。它是用High-Resisitor取代了Load端的两个NMOS,而且leakage current可以通过HR来调节。直到后来出现6T-SRAM才算最终了结了(其实还有个TFT的SRAM cell过渡),因为CMOS的漏电是最小的,而且通过Depletion-Mode的Vcc接法实现了稳定性,但是它不好的地方在于面积,因为MOSFET之间需要Isolation,它不像Resistor可以stack起来节省面积。

静态随机存储器-SRAM-《芯苑》

3、SRAM的结构及工作原理:

一个SRAM的完整结构包括五大部分组成,即存储单元阵列、地址译码器(包括行译码器和列译码器)、灵敏放大器、控制电路和缓冲/驱动电路。

静态随机存储器-SRAM-《芯苑》

 

存储阵列中的每个存储单元都与其它单元在行和列上共享电学连接,其中水平方向的连线称为“字线”(Word-Line),而垂直方向的数据流入和流出存储单元的连线称为“位线”(Bit-Line)。通过输入的地址可选择特定的字线和位线,字线和位线的交叉处就是被选中的存储单元,每一个存储单元都是按这种方法被唯一选中,然后再对其进行读写操作。有的存储器设计成多位数据如4位或8位等同时输入和输出,这样的话,就会同时有4个或8个存储单元按上述方法被选中进行读写操作。

再来讲一下单一一个存储单元的工作原理,假设如下图SRAM单元电路(Bit),它就是由6个Transistor组成的6T-SRAM (M2和M4是PMOS,M1、M3、M5、M6是NMOS)。再简单一点理解就是两个反向器接在一起而已。

静态随机存储器-SRAM-《芯苑》

现在我要写入信号“1”,左边的Bit-line上给信号“0”,右边的Bit-Line给信号"1",上面的Word-Line给信号“1”,就可以选定这个bit了。此时,M5和M6被打开,而左边的BL是“0”,所以“L”端(Q-bar)是“0”,同理右边的“H”端(Q)就是信号“1”,所以信号“1”就被寄存在以M1、M2、M3、M4组成的锁存器里面,反之写“0”的过程类似。

刚刚是写入,再讲一下读取的原理,还是以读“1”为例,Word-Line还是要给信号“1”选取,而且左边的“Q-bar”端是“0”,而右边的“Q”端是“1”,所以M3和M6被打开,所以从右边的BL经过M6再到M3到GND会有一个回路,同时使得右边的BL产生压降,而此时左边的Q-bar是“0”,虽然M5被打开了,但是M1还是关闭的,所以左边的BL-bar还是“0”,所以原来的BL-bar和BL之间的电压差就发生了变化,此时打开灵敏放大器就可以是“1”了。(大家自己体会吧~)。

静态随机存储器-SRAM-《芯苑》

 4、SRAM的测试:

1) Test Flow: 基本上就是Open/Short测试到Isb测试到Function测试三大块吧。(Bin你自己定,一般Bin1都是good bin。)

静态随机存储器-SRAM-《芯苑》

1) Open/Short:所有的CP测试都是要先测Open/Short,它是by-pin测的,给电流(~100uA)测电压,如果是Open测试的话则看电压是不是超过某个range判断是否pass。(比如>2V则Open,小于0.2V则short)。对于SRAM的Open/Short只测Control Pin、I/O pin和地址Pin,不测power pin。Power pin单独测Power Short,它是给电压测电流,比如给1V看电流是否在某个range (比如1uA~1mA)。

2) Input/Output Pin Leakage:给电压测电流,不过要分High和Low,分别给“0”和“1”看电流是否处于某个range。Input测的是control pin和Address pin,而output测的是I/O pin。

3) Standby current: 从Transistor level来讲主要还是来自Gate漏电和Off漏电,所以Isb=Ioff+Ig。测试来讲的话主要是测Vcc的pin,给工作电压,测试电流必须小于某个range(比如<5uA)。

静态随机存储器-SRAM-《芯苑》

4) AC Test:这个主要是针对所有的control pin, I/O pin和Address pin看她们的时钟信号(Timing Diagram)。这个不太懂,只知道是by-address测的。

测试我也不是专家,可能就懂这些了吧。

5、SRAM的工艺:

SRAM工艺其实不难,就是标准的Logic工艺,只是它有两个很大的concern,一是密度问题,所以都是Minimum Rule,Process的CD/OVL几乎没有window。第二个还是密度问题,所以只要一个defect就可以死掉一个chip。当然设计上就是需要冗余(Redundancy)消除边缘的loading效应。

如果fail的话要搞清楚是single bit还是twin-bit,还是Bit-line还是Word-line?这样从Layout上分析就知道是什么问题了,如果是single bit一般死一个transistor的,twin-bit主要是死Mirror之间的部分,如果是死Bit-Line那就是M1/M2的,如果是死Word-Line,那就是Poly了。自己从Layout上推理就好了。当然如果是Timing-Diagram fail那就是外围电路的问题了。

静态随机存储器-SRAM-《芯苑》