引言
相变存储器( PCM) 是一种新型的非挥发半导体存储器,它的存储基于硫系化合物材料( 如Ge2Sb2Te5 ,GST) 在电流脉冲下出现的快速相变。 在PCM 中,相变存储材料以电阻的形式出现,其机理在于:相变材料可以在特定脉冲下,在具有两种不同结构、不同电阻率的状态间相互转化。这两种状态是高电阻率的非晶态和低电阻率的多晶态。利用电阻的差别区分两种逻辑状态“0”和“1”是传统PCM 的核心。对比其他的非挥发存储技术,PCM 具有很多优势,如:与CMOS 工艺兼容性好,单元面积小,存储密度高等。另外,相变材料可以被编写成阻值介于完全多晶态和完全非晶态之间的多种状态,且这些状态在静态下的保持均无需任何激励。这意味着多值存储在PCM 中将成为可能。 随着特征尺寸的减小,PCM 中的相变材料因体积缩小,相变时所需的电流、时间和所占的面积都会同步下降,这使得PCM 在向小尺寸迈进时竞争力会不断凸现。
图1 1T1R 阵列
尺寸减小固然可以降低操作电流,但工艺波动更加不可忽视,这将使相变电阻的几何尺寸发生一定的偏差。在小尺寸下,偏差引发的几何尺寸及电阻的相对变化量可能会很大,尤其是在芯片面积很大,芯片各个位置上干扰不同时。最终将使得两种逻辑状态所对应的电阻范围分布得越来越发散,进而导致两种逻辑状态间的电阻间距不断缩小。这意味着系统噪声容限的降低,外围灵敏放大器( SenseAmplifier ,S/A) 和参考源的选用标准也将不断提高。
对于目前的PCM ,主要有两种结构的存储单元:1T1R(即1个晶体管和1 个PCR 构成1 个存储单元,如图1) 的结构,和2T2R (存储单元由2 个晶体管和2 个相变电阻(phase changeresistor ,PCR) 构成) 的结构。 其中,BL 为位线,WL 为字线,以下同。 1T1R 单元面积小,存储密度高,但需外接参考源(如图1中的V ref) 以实现2 种逻辑状态(“0”和“1”) 的区分。 在小尺寸下,2 种逻辑状态对应的电阻范围越接近,较弱的抗干扰能力就越发突出,1T1R 对S/A 和参考源的要求就越苛刻。 2T2R利用2 个1T1R 结构形成双位线互补对称输出,无需参考源。 由于作用在同一单元内2个PCR 上的外界干扰近似相同,其结果等效于在S/A 的两输入端施加共模信号,因而对存储信息几乎无影响。因此,可靠性很高,但存储密度远低于1T1R 方案。
据我们所知,目前还没有一种结构可以同时吸取这两者的优点。为此,提出一种新方案,在具备较好的抗干扰能力下追求高密度存储。该新方案基于一种新方法———以比值为导向的状态定义方法,使用2T2R结构,在保证很高的抗干扰能力的前提下,通过单元内的多值存储实现存储密度的大幅提升。同样基于这种状态定义,提出一种软硬结合的ECC 方法。
新方案的提出和实现有赖于两个因素:第一,PCR 要具备多值编写的特性。 这一点,在Ovshinsky 的专利中首先得到证实,相关文献也有报道。第二,相变材料要有一个较大的电阻变化的动态范围。很多文献已经表明:相变前后电阻率的差别达到100~1 000 倍,这无论是对于此处新方案中独特的状态定义方法还是新型的ECC ,都是足够的。
以比值为导向的状态定义和PCM 的多值存储
在基于2T2R 结构的新方案中,同一单元内的2 个PCR 电阻的比值决定该单元存储信息的状态。而相变材料本身巨大的电阻动态范围给同一单元(2T2R) 内2 个PCR 的电阻比提供了一个“宽敞”的一维比值空间(one-dimensional ratio space ,ODRS) 。这个空间可被划分为多个区间,用以表示多种不同的状态。 以每个2T2R 单元存储3 位2 进制数(即8 态) 为目标,阻值比要有8 种不同值(或不同范围) ,要求每个PCR能够被编写为4 种不同阻值范围的状态,即R1 ,R2 ,R3 ,R4 ,其中R1 < R2 < R3 < R4 。 每个PCR 都有4种可能的状态,对应4 种电阻范围,而2 个PCR 的阻值比有多种情况。这里,取如下的8 种阻值比代表8 态为例,实现每单元3 位二进制信息的存储。 这8 种阻值比是: R1/R4 ,R2/R4 ,R1/R3 ,R1/R2 ,R2/R1 ,R3/R1 ,R4/R2 和R4/R1 ,如图2 所示。 各种状态的区间由7 个预先设定的边界数(1 ,a ,b ,c ,1/a ,1/b ,1/c) 进行划分。
图2 一维比值空间内8 态的定义和区分
图3 存储单元及外围读电路
图3 是新方案下2T2R 结构和外围读电路的示意图。 BS 信号打开选定的位线,同时保证读操作时相同的位线电压。电流驱动模块产生与PCR上流过电流等同的电流Ik 和I k+1以供S/A 比较。 外围读电路包括电流驱动模块和7 个并行的S/A 以及输出组合逻辑部分等。 7 个并行S/A 将选中单元中2 个PCR 的电阻阻值比与图2 的7 个边界数进行比较。 对应结果如表1 所示。
在表1 中,A n ( n = 0~6) 代表每个S/A 的比较结果,IRx ( x = 1~4) 则是相变电阻Rx 上流过的电流。相同电压下,电流比I Rx∶IRy ( x ,y = 1~4)反映了同一单元内2 个电阻的阻值比。 在表1 中,当IRx 小于m 倍的IRy时,比较结果为“0”,反之为“1”。 例如,当A 0~ A 6 是“0000000”时,A 1~ A 6的“000000”意味着电流比Ik/Ik+1小于a 且其倒数I k+1/Ik 也小于a。 符合这个条件的只有: R2/R1 或R1/R2 (这里假设连接奇数位线的电阻阻值作分子,连接偶数位线的作分母,以下同) 。 而A 0 为“0”意味着连接奇数位线的PCR ,其阻值大于连接偶数位线的PCR。 因而,只有状态R2/R1 符合,它对应的3 位2 进制输出为“000”。 其他情况如此类同。
表1 各种状态的比较输出结果
相关SPICE 模型和仿真结果
目前硫系化合物材料的相变物理机理至今没有完全搞清楚。 相关文献已证实,PCR 的阻值可通过晶化脉冲的个数加以控制。这里提出一种相应的PCR 经验模型。
图4 具有4 态的PCR 模型
图5 编写R4/R2 ( A0~ A 6 :“0110000”)
图 4 为所提出的双端(A ,B) 4 态(分别对应4 种不同阻值) 可编写的PCR 经验模型。 图中的PCR 阻值由Write脉冲的个数来控制。上面已经讨论了读操作,这里主要针对写操作过程对模型和仿真进行讨论。 在编写前,需要首先对PCR 进行擦除( Erase) 操作以确定编写的初始态。Erase 即为PCM 中的Reset 操作,将PCR 转变为高阻非晶态。接下来的编写脉冲(Set ) 逐步降低PCR 阻值,使之从非晶状态逐渐向多晶状态转化。 图4 中,R 为D 触发器的复位端。 PCR 的4 态阻值为R1 = RA//RB//RC//RD ,R2= RA//RB//RC ,R3 = RA//RB ,R4 = RA ,(忽略MOS 选通管的导通电阻RDS) 。 在执行写操作时,激励源产生Set和Reset 脉冲。 相关电路结构可见文献中图3。 Reset 脉冲此时为擦除脉冲,将PCR 写为阻值最高的非晶态。 而Set 脉冲则不同于传统2 态存储下的情况:它并非一次性而是逐步的晶化PCR ,由此产生各种介于完全多晶态和完全非晶态之间的中间态。具体的状态转换关系如文献中的图8 所示。
在多值存储的情况下,直接编写是不可能的(因为编写脉冲和初态有关) 。 取而代之的有2 种编写方法,先擦除后编写,或先预读再适当编写。对于多值存储下的读操作,同样有2 种操作方法,一次性并行读出,或二分法串行读出。
图 5 是单元写为“010”的仿真结果。着重验证全新状态定义的可行性,写操作采用“先擦除后编写”模式,读操作采用并行读出,以简化控制逻辑和时序。存储单元和外围电路基于0.35 μm 的CMOS 工艺,工作电压3.5 V(一部分外围电路的工作电压为5 V) 。 仿真采用HSPICE。编写前,选中单元中2 个PCR 均被初始化(擦除) 为R4 状态(如图2 ,R4 代表最高阻的非晶态) 。 读出时,对单元内2 个PCR 施加相同的激励电压,通过比较PCR 上的电流以确定阻值比。针对“010”的情况(其最终状态是R4/R2) ,随后的编写只针对连接偶数位线的那个PCR。 图5 中,从上到下分别是编写脉冲V 1 、擦除脉冲V 2 (初始化) 、S/A 预充电脉冲V 3 和输出比较结果A 0~ A 6 的时序波形图。 根据表1 ,初始化后,偶数位线上的2 个连续脉冲即可使该位线所接的PCR从R4 状态转化为R2 ,且比较输出结果A 0~ A 6 应该为“0110000”(对应3 位二进制输出“010”) 。 仿真结果完全吻合。
优 化
读写操作的优化
- 写:PCM 中读操作功耗很小,且读操作比写和擦除操作快得多(尤其和晶化PCR 的SET 操作相比),因此预读后编写相对于先擦除后编写模式,在功耗和速度上均有优势。
- 读:PCM 中读操作速度快、低功耗的特点有利于采用二分法串行读出模式而非并行模式,且在8 态存储下其外围电路相对简单。故采用预读的写模式和二分法串行读出模式。
图6 可实现7 种不同比较的S/A
外围电路的优化
在二分法串行读出模式中,并行读出所需的7 个S/A 和相应的电流驱动模块由1 个可配置的S/A 代替,如图6 所示。 该S/A 可完成7 种不同的比较。 其中,M3 ,M5 ,M7 的宽长比,分别是M1 的b-a ,a-1 ,c-a倍。 而M4 ,M6 ,M8 的宽长比是M2 的b - a ,a - 1 ,c - a 倍。 合理设定控制信号X1 ,X2 ,X3 ,C 和D可以实现两股输入电流I0 和I1 的各种比较,如I0 与b 倍的I1 比较等。 采用这种S/A 后,外围的S/A 数目明显减少,有利于提高存储密度。 同时由于PCM 读操作速度相对写操作较快,串行读出对电路的速度造成的影响很小。
新型软硬结合的ECC 纠错方法
针对信息存储中可能的出错,传统方法是应用ECC 校验纠错,以Hamming 码为代表。但这种方法所需的电路结构复杂,成本昂贵且降低了存储密度。
对PCM 而言,出错主要体现为PCR 的阻值漂移。 这里,同样基于以比值为导向的状态定义,在利用PCR 较大的动态电阻范围的基础上,提出一种软硬件结合的ECC 方法。
图7 带有DEM 功能的8 态定义及其分布情况
图 7 是带有漂移错误监测(drift errormonitoring ,DEM) 功能的状态分布图。相变材料提供的大动态电阻变化范围使得比值的一维区间在划分出多种存储状态所对应的各区间后,仍有足够的空间可供使用。这些剩余的空间可以划分成几部分而位于各个存储状态所对应的比值区间之间,称之为“禁区”,如阴影所示。即:一旦同一单元内2 个PCR的电阻比值( RO/RE ,RO ,RE 分别为奇数和偶数位线上的PCR 阻值) 落入这些禁区,就认为是发生了错误。 2T2R 单元内2 个PCR 受到外界几乎相同的干扰,而几乎相同程度的阻值漂移将使得其电阻比值基本保持不变,故而电阻阻值比难以逾越这些“禁区”而从一状态直接跳变为另一状态。因此,一旦出错,原正确状态必是“禁区”两侧紧邻的两种状态之一(而不是像传统ECC 那样,在8 种状态中判断) 。 这就大大降低了后继ECC 找错和纠错的难度,简化了外围电路,有利于高密度下的安全存储。
由于监测某一数据位是否出错的过程不依赖其他数据位,因此该方法可以实现传统方法难以实现的“全部数据位的错误监测(all-error-detection ,AED) ”。 错误监测通过外围2 个如图6 所示的S/A 及相关的比较电路实现:一个S/A 使用各“禁区”的下限值(1/g ,1/e ,1/c ,1/a ,b ,d ,f ) 与阻值比进行比较:另个S/A 使用相应的上限值(1/f ,1/d ,1/c ,a ,c ,e ,g) 与阻值比进行比较。 当某一“禁区”的2 个边界值(如a 和1/a) 与阻值比相比较的结果不同时,即说明此时的阻值比已落入该禁区( a 和1/a 对应禁区[1/a ,a ]) ,则可能的原状态只可能为与该禁区紧邻的2 状态之一(禁区为[1/a ,a ] ,则可能的2 状态为R2/R1 或R1/R2) 。后继ECC 电路再由此缩小的范围继续判断,电路复杂度将大大简化(具体电路这里略) 。 正常状态的比较结果见表2。
表2 带有ECC电路时的输出状态的真值表