相变存储器的高可靠性多值存储设计与实现

时间:2011-07-01

  引言

  相变存储器(phase change memory),简称PCM,利用硫族化合物在晶态和非晶态巨大的导电性差异来存储数据的。   初次听到"相变"这个词,很多读者朋友会感到比较陌生。其实,相(phase)是物理化学上的一个概念,它指的是物体的化学性质完全相同,但是物理性质发生变化的不同状态。例如水有三种不同的状态,水蒸气(汽相),液态水(液相)以及固态水(固相)。物质从一种相变成另外一种相的过程叫做‘相变’例如水从液态转化为固态。在很多物质中相变不是大家想象的只有气,液,固,三相那么简单。例如我们这里介绍的相变存储器就是利用特殊材料在晶态和非晶态之间相互转化时所表现出来的导电性差异来存储数据的。所以我们称之为相变存储器。

  图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 的多值存储

  PCM在光纤通信系统中,光纤中传输的是二进制光脉冲“0”码和“1”码,它由二进脉冲编码调制制数字信号对光源进行通断调制而产生。而数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的,称为PCM(pulsecodemodulation),即脉冲编码调制。这种电的数字信号称为数字基带信号,由PCM电端机产生。现在的数字传输系统都是采用脉码调制(PulseCodeModulation)体制。PCM初并非传输计算机数据用的,而是使交换机之间有一条中继线不是只传送一条电话信号。PCM有两个标准(表现形式)即E1和T1。

  在基于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 模型和仿真结果

  SPICE可对电路进行非线性直流分析、非线性瞬态分析和线性交流分析。被分析的电路中的元件可包括电阻、电容、电感、互感、独立电压源、独立电流源、各种线性受控源、传输线以及有源半导体器件。SPICE内建半导体器件模型,用户只需选定模型级别并给出合适的参数。

  目前硫系化合物材料的相变物理机理至今没有完全搞清楚。 相关文献已证实,PCR 的阻值可通过晶化脉冲的个数加以控制。这里提出一种相应的PCR 经验模型。

  Spice是Simulation Program with Integrated Circuit Emphasis的缩写,是一种功能强大的通用模拟电路仿真器,已经具有几十年的历史了,该程序是美国加利福尼亚大学伯克利分校电工和计算科学系开发的,主要用于集成电路的电路分析程序中,Spice的网表格式变成了通常模拟电路和晶体管级电路描述的标准,其版本于1972年完成,是用Fortran语言写成的,1975年推出正式实用化版本,1988年被定为美国国家工业标准,主要用于IC,模拟电路,数模混合电路,电源电路等电子系统的设计和仿真。由于Spice仿真程序采用完全开放的政策,用户可以按自己的需要进行修改,加之实用性好,迅速得到推广,已经被移植到多个操作系统平台上。

 


图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 的时序波形图。  仿真结果完全吻合。

  优 化

  读写操作的优化

  写: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 阻值) 落入这些禁区,就认为是发生了错误。 一旦出错,原正确状态必是“禁区”两侧紧邻的两种状态之一(而不是像传统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。

 


  
上一篇:一种低成本函数发生器
下一篇:基于CAN总线在汽车控制系统中设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料