一种非易失性触发器阵列及工作方法

文档序号:6739799阅读:144来源:国知局
专利名称:一种非易失性触发器阵列及工作方法
技术领域
本发明涉及片上芯片系统领域,尤其一种非易失性触发器阵列及工作方法。
背景技术
现有技术中,在片上系统芯片内,数据存储器中会分出一定的空间用来做中断堆栈处理。当系统中出现多个中断时,系统会在处理中断前会根据中断优先级依次将当前现场的PC指针和内部数据寄存器区中的数据保存到片上数据存储区中的中断堆栈区内进行保存。在处理完当前中断后,系统将中断堆栈区中的数据恢复至寄存器组中,使系统恢复至中断前的现场。图I中显示的是ARM对于中断处理的流程,当ARM系统中出现中断信号时,ARM处理器将CPSR寄存器中的数据保存一份至SPSR寄存器中,然后改变ARM处理器的模式与状态。在PC指针数据更新后,把现场数据即PC指针和内部数据寄存器中的数据保存到中断堆栈区,随后执行中断,在中断执行完后,把中断堆栈区的数据恢复到寄存器中,从而 完成了中断现场恢复。现有技术中,常见的片上系统芯片的数据存储器堆栈不具有掉电可恢复性,比如静态随机数据存储单元SRAM。在掉电恢复后,存储的数据完全丢失,不可恢复。为了保持数据不变,当系统处理中断时,存放堆栈区的数据存储器需要在任何低功耗模式下一直保持通电的状态,这样就使CPU功耗加大。特别是随着制造工艺尺寸越来越小,比如在深亚微米级40nm,28nm, 15nm,甚至尺寸更小的时候,SRAM的静态漏电功耗逐渐增大,甚至超过其动态功耗。此外,中断前的现场数据被保存到中断堆栈区,对于传统的这种存储中断现场数据的存储单元,比如SRAM存储I个bit的数据需要6个晶体管,面积为120F2,占用了很多片上系统芯片的空间。

发明内容
本发明克服了现有技术中静态漏电功耗过大、中断堆栈区面积太大等缺陷,提出了一种非易失性触发器阵列。本发明提出了一种非易失性触发器阵列,包括易失性触发器阵列,其包括多个锁存器单元,用于在上电的情况下锁存触发器的值;非易失性相变存储器阵列,其包括由相变存储器单元组成的阵列,实现保存所述锁存器单元中的数据;控制端组,其包括多个控制端,实现控制调节所述非易失性相变存储器阵列保存或恢复所述易失性触发器阵列的数据;所述非易失性相变存储器阵列中的每一列所述相变存储器单元均与所述易失性触发器阵列中的一个锁存器单元连接;所述非易失性相变存储器阵列中的每一行所述相变存储器单元均与所述控制端组中的一个控制端连接。其中,所述相变存储器单元包括第一电阻、第二电阻、第一晶体管、第二晶体管、位线与反位线;所述第一电阻的一端与所述锁存器单元的一端连接;所述第一电阻的另一端与所述第一晶体管的源极连接;所述第一晶体管的栅极与所述控制端连接;所述第一晶体管的漏极与所述位线连接;所述第二电阻的一端与所述锁存器单元的另一端连接;所述第二电阻的另一端与所述第二晶体管的源极连接;所述第二晶体管的栅极与所述控制端连接;所述第二晶体管的漏极与所述反位线连接。其中,所述相变存储器单元的相变材料包括锗锑碲、硅锑碲、铝锑碲。 其中,通过增加所述相变存储器单元的相变材料中碲的含量,或是降低所述相变存储器单元的相变材料中锗的含量,提高所述相变存储器单元的编程速度。本发明还提出一种非易失性触发器阵列的工作方法,包括入栈操作与出栈操作。其中,所述入栈操作包括步骤Al :将所述控制端组中的一个所述控制端调节至高电平;步骤A2 :将与所述控制端连接的所述相变存储器单元的位线与反位线均接地,调节所述控制端的电压大小,所在行的所述相变存储器单元的第一电阻或第二电阻中形成编程电流,所述第一电阻或第二电阻被置为低阻态或高阻态;步骤A3 :将所述位线与反位线置为高电平,调节所述控制端的电压大小,所在行的所述相变存储器单元的所述第一电阻或第二电阻中形成编程电流,所述第一电阻或第二电阻被置为高阻态或低阻态;与所述相变存储器单元连接的所述易失性触发器阵列中的所述锁存器单元的两个相反值的数据被分别保存至所述第一电阻和第二电阻中;步骤A4 :将所述控制端置为低电平。其中,所述出栈操作包括步骤BI :当处理完中断后,对所述相变存储器单元的所述位线与反位线预充电,将与所述相变存储器单元相连的控制端置为高电平;步骤B2 :电流分别经过所述第一电阻与第二电阻流向所述锁存器单元的两端,所述锁存器单元的两端的数据依据所述第一电阻与第二电阻的低阻态或高阻态被分别恢复为高电平数据“ I”或者低电平数据“ O ” ;步骤B3 :将所述控制端置为低电平。其中,进一步包括数据恢复判断操作。其中,所述数据恢复判断操作包括步骤Cl :当发生中断时,系统执行所述入栈操作,将所述易失性触发器阵列的锁存器的数据保存在所述非易失性相变存储器阵列的所述相变存储器单元中;步骤C2 :分别记录处理中断前后的系统时间,计算得到中断处理时间;步骤C3 :若当所述中断处理时间大于所述相变存储器单元的数据保持时间,则所述相变存储器单元中的数据丢失,系统使所述中断前保存的数据无效化;若当所述中断处理时间小于所述相变存储器单元的数据保持时间,则系统执行所述出栈操作,将所述相变存储器单元中的数据恢复至所述锁存器中。
本发明采用相变存储器单元,利用相变存储器材料中的可逆相态变化来存储数据,通过注入电流,可在材料局部产生强烈的焦耳热效应,引发相态变化。通过调整电压大小和施加的电流时间,可以调整最终的材料相态,从而达到存储数据O和I的目的。本发明中用相变存储器单元替代数据存储区中的SRAM存储单元,可以很好的降低静态漏电功耗。即使在上电情况下,相变存储器单元的漏电流也比SRAM小很多。因为相变存储器单元具有非易失性,在掉电后数据也被完整的保存下来,不怕被丢失。当数据被保存到相变存储器单元中,在处理中断时,任何低功耗模式,包括关掉SRAM的超低功耗模式,也可以被调用。因此,对于多核复杂的系统来说,在降低静态功耗问题方面尤为突出。在应用于一个中断响应速度要求很高的CPU系统,在本发明中可以把相变存储器单元中写速度慢的锗锑碲组份换成写速度快的组份,比如改变锗锑碲的组分,降低锗的含量,增大碲的含量,写速度得到了提升,可以达到和动态随机访问存储器(DRAM) —样的写速度,但这样的锗锑碲材料组份构成的相变存储器数据保持性变差,有可能会造成数据丢 失。由于相变存储器单元的相变材料保存数据具有时间限制,本发明采用数据恢复判断操作来判断数据是否能被恢复,且恢复中断前的现场状态只需要一个时钟周期,提高了 CPU对于中端反应的速度。本发明中相变存储器单元采用Itlr的结构,即一个晶体管串联连接一个电阻。其中,电阻是由锗,锑和碲三种元素组成的叫做GST的合金材料,用来存储数据,晶体管用来控制导通电流,改变电阻的相态。两个Itlr的相变存储器单元的面积才40F2,相较于现有技术中占用面积120F2,每组相变存储器单元的面积至少降低至SRAM的1/3。在相同的面积下,本发明可以做到扩大中断嵌套次数为原来的3倍,也就是说η的数目变大,从而大大减少了堆栈溢出的可能性,使系统在高密度中断嵌套环境下变得非常可靠。


图I为现有技术中ARM系统处理中断的流程图。图2为本发明的非易失性触发器阵列的结构图。图3为本发明中锁存器单元与相变存储器单元的连接示意图。图4为本发明中入栈操作的流程图。图5为本发明中出栈操作的流程图。图6为本发明中数据恢复判断操作的流程图。
具体实施例方式结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。如图2所示,本发明的非易失性触发器阵列包括易失性触发器阵列1,其包括多个锁存器单元11,用于在上电的情况下锁存触发器的值。非易失性相变存储器阵列2,其包括由相变存储器单元21组成的阵列,实现保存锁存器单元11中的数据;控制端组3,其包括多个控制端31,实现控制调节非易失性相变存储器阵列2保存或恢复易失性触发器阵列I的数据。
非易失性相变存储器阵列2中包含有N*N个相变存储器单元21,非易失性相变存储器阵列2中的每一列相变存储器单元21均与易失性触发器阵列I中的N个锁存器单元11的一个连接。非易失性相变存储器阵列2中的每一行相变存储器单元21均与控制端组3中的N个控制端31中的一个连接。其中,相变存储器单元如图3所示,第一电阻211的一端连接着锁存器单元11的一端(BL端),第一电阻211的另一端和第一晶体管213的源极相连,第一晶体管213的栅极被控制端31 (WL)控制,漏极和位线(QW)相连。锁存器单元11的另一端BL连接着第二电阻212,第二电阻212的另一端和第二晶体管214的源极相连,第二晶体管214的栅极被WL控制,漏极和QBW相连。其中第一电阻211和第二电阻212都是用锗锑碲(GST)材料来做的,GST材料有个特性就是写进去的值会被保存,即使在掉电的情况也不会改变。比如存储数据时,QW和QBW接地,当BL的值为I时,为0,WL变为高电平,第一晶体管213和第二晶体管214同时被打开,会有电流流过第一电阻211然后流到QW。通过控制WL的电压大小,可以控制流过第一电阻211的电流脉冲波形。假设低阻态为1,由于相变材料的特性,第一电阻211会被合适编程电流置成低阻态。由于BL为0,第二电阻212上没有编程电流, 保持不变。QBW和QW同时接高电平,WL仍为高电平,在相变材料的第二电阻212上也会形成编程电流,此电流与第一电阻211上的编程电流反向,第二电阻212被置成高阻态。同样如果假设高阻态为1,则第一电阻211会被合适编程电流置成高阻态,第二电阻212被置成低阻态,这样数据就被保存下来。数据恢复时,先对QBW和QW进行预充电达到一定电位,然后WL变成高电平,第一晶体管213和第二晶体管214同时被打开,电流从低阻态的第一电阻211流向BL端,从而BL恢复为I。而对于QBW的高阻态,很少电流可以渗透到BL,因此BL会被恢复为0,通过双稳态结构,BL和B1分别被重新写成I和O。恢复后把WL置为0,关闭第一晶体管213和第二晶体管214,这样触发器此前的状态就被恢复了,之后触发器进入正常的逻辑功能操作,从而达到了掉电后触发器依然保存数据的效果。本发明非易失性触发器阵列的工作方法包括入栈操作、出栈操作,进一步包括数据恢复判断操作。入栈操作的实施流程如图4所示,(假设低阻态为1,高阻态为0;BL为“1”,1为“O”)当中断第一次发生时,需要把当前寄存器中的值(现场)保存到非易失性触发器(nvDFF nonvolatile DFF)阵列的相变存储单元中。此时接受到入栈信号后,第一行的控制端31(WL1)变为高电平选择第一行的相变存储器单元21,所有的位线215(QW)和反位线216 (QBW)接地,易失性触发器阵列I中的所有锁存器11的一端(BLl到BLn)变为1,另一端(BLl到BLn)为 ,因为WLl为高电平,所以第一行相变存储器单元21的所有·晶体管N1LN12……Nnl,Nn2同时被打开,会有电流从所有的BL流过相应的电阻(Rll到Rn2)然后流到对应的QW。通过控制WLl的电压大小,使所有Rl,R2……Rnl,Rn2被编程电流置成低阻态。然后,所有的QBW和QW同时接高电平,WLl仍为高电平,所有和BL连接的电阻上也会形成编程电流,且被置成高阻态,这样数据就被保存在第一行相变存储器单元21中。然后,WL变成低电平使第一行的相变存储单元不可操作。如果在处理该中断时,再次发生另一个中断,且这次来的中断优先级比上次的高。程序会把当前的现场保存起来,处理第二次中断。保存时,再次接受到入栈信号,第二行的控制端31 (WL2)变为高电平选择第二行的相变存储单元,所有的QW和QBW接地,BLl到BLn变为I EU到为0,因为WL2为高电平,所以第二行相变存储器单元21的所有晶体管管N13,N14. . . Nni Nn4同时被打开,会有电流从所有的BL流过相应的电阻(R13到Rn4)然后流到对应的QW。通过控制WLl的电压大小,使所有R13,R14. . . Rn3,Rn4被编程电流置成低阻态。然后,所有的QBW和QW同时接高电平,WL2仍为高电平,所有和BL连接的电阻上也会形成编程电流,且被置成高阻态,这样数据就被保存到第二行的相变存储单元中。然后,WL变成低电平使第二行的相变存储单元不可操作。依次类推,再有优先级高的中断发生时,数据会依次保存在指定的存储单元中。出栈操作的实施流程如图5所示,(假设需要恢复的数据为1,低阻态为I)中断处理完后,需要恢复现场。此时,本发明的NVDFF阵列上接受到出栈信号。数据恢复时,先对所有的QBW和QW进行预充电达到一定电位,然后WLn变成高电平,和该WL连接的所有晶体管管同时被打开,电流从所有和BL连接的低阻态电阻(R1 (2n-l),Rl. 2n. . . . Rn(2n_l),Rn. 2n)上流过,流向所有的BL端,从而BL恢复为I。而对于QBW的高阻态,很少电流可以渗透到BL,因此所有的BL会被恢复为0,通过双稳态结构,BL和I分别被重新写成I和O。恢 复后把WLn置为0,关闭所有和该WL链接的晶体管。从BL,I上把数据送到触发器的锁存器单元,其中第η行存储阵列为最近一次入栈操作所访问的相变存储单元。依次类推,把存储单元中保存的现场,依次恢复。出栈操作时,对于一般的CPU系统,每个时钟周期只恢复一个寄存器中的数据,数据的大小取决于系统的设计。比如ARM32bit系统,出栈操作时,每次从中断堆栈中读出32bit的数据放入到寄存器组中的一个寄存器中,假如中断前现场数据大小为96bit,被保存到3个32bit的中断堆栈中。在出栈时,系统需要对中断堆栈读3次才能把现场的数据完全读出。在本发明中,出栈操作,当WLn为I时,所有和该WL相连的相变存储单元上的数据一起被读出。也就是说,在本发明中,中断前现场数据不管有多大,现场被恢复时,所有的数据一次被读出,现场恢复的速度可以达到只需一个时钟周期。本发明中相变存储单元的材料是锗,锑和碲(GST),由于GST材料的特性,编程(写)的速度相对于读操作来说很慢,所以在现场数据被保存到相变存储单元中时,速度会相对较慢。如果对一个中断响应速度要求很高的CPU系统来说,写速度要非常快,在本发明中可以把相变存储单元中写速度慢的GST组份换成写速度快的组份,比如改变GST的组分,降低G的含量,增大T的含量,编程速度得到了提升,可以达到和动态随机访问存储器(DRAM) —样的写速度,但这样的GST材料组份构成的相变存储器数据保持性变差,有可能会造成数据丢失。例如,中断现场数据被保存到改变组分后的GSTl材料的存储单元中,GSTl数据保持时间为tl,中断处理时间为t2。如果t2大于tl,在中断处理结束后,存储单元中的数据因为丢失而不能使现场恢复。对于这样的问题,本发明中设计了一套方案用来检测数据是否丢失。流程如图6所示,每一次中断来的时候,在处理中断之前,操作系统OS都会自动记录当前时间Si,中断处理完后,系统也会记录当前时间s2。把两次时间相减得到t2,然后把t2和GSTl的数据保持时间tl做对比,t2大于GSTl的数据保持时间的话,说明之前保存在相变存储单元中的中断现场数据丢失,不能恢复,所以操作系统OS会终止恢复现场,且标识本发明NVDFF阵列中的所有保存值失效,系统会使处理中断之前保存的所有中断现场数据无效,也就是操作系统会杀掉所有中断前被悬挂中断的任务。若t2小于GSTl的数据保持时间的话,则正常执行,且恢复现场数据。通过改变相变存储单元中GST材料的组分,可使CPU达到快速响应系统中断请求。本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本 领域技术人员能够向到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
权利要求
1.一种非易失性触发器阵列,其特征在于,包括 易失性触发器阵列(1),其包括多个锁存器单元(11),用于在上电的情况下锁存触发器的值; 非易失性相变存储器阵列(2),其包括由相变存储器单元(21)组成的阵列,实现保存所述锁存器单元(11)中的数据; 控制端组(3),其包括多个控制端(31),实现控制调节所述非易失性相变存储器阵列(2)保存或恢复所述易失性触发器阵列(I)的数据; 所述非易失性相变存储器阵列(2)中的每一列所述相变存储器单元(21)均与所述易失性触发器阵列(I)中的一个锁存器单元(11)连接; 所述非易失性相变存储器阵列(2)中的每一行所述相变存储器单元(2 I)均与所述控制端组(3)中的Iv控制端(31)连接。
2.如权利要求I所述的非易失性触发器阵列,其特征在于,所述相变存储器单元(21)包括第一电阻(211)、第二电阻(212)、第一晶体管(213)、第二晶体管(214)、位线(215)与反位线(216); 所述第一电阻(211)的一端与所述锁存器单元(11)的一端连接;所述第一电阻(211)的另一端与所述第一晶体管(213)的源极连接;所述第一晶体管(213)的栅极与所述控制端(31)连接;所述第一晶体管(213)的漏极与所述位线(215)连接; 所述第二电阻(212)的一端与所述锁存器单元(11)的另一端连接;所述第二电阻(212)的另一端与所述第二晶体管(214)的源极连接;所述第二晶体管(214)的栅极与所述控制端(31)连接;所述第二晶体管(214)的漏极与所述反位线(216)连接。
3.如权利要求I所述的非易失性触发器阵列,其特征在于,所述相变存储器单元(21)的相变材料包括锗锑碲、硅锑碲、铝锑碲。
4.如权利要求3所述的非易失性触发器阵列,其特征在于,通过增加所述相变存储器单元(21)的相变材料中碲的含量,或是降低所述相变存储器单元(21)的相变材料中锗的含量,提高所述相变存储器单元(21)的编程速度。
5.一种非易失性触发器阵列的工作方法,其特征在于,包括入栈操作与出栈操作。
6.如权利要求5所述的非易失性触发器阵列的工作方法,其特征在于,所述入栈操作包括 步骤Al :将所述控制端组(3)中的一个所述控制端(31)调节至高电平; 步骤A2 :将与所述控制端(31)连接的所述相变存储器单元(21)的位线(215)与反位线(216)均接地,调节所述控制端(31)的电压大小,所在行的所述相变存储器单元(21)的第一电阻(211)或第二电阻(212)中形成编程电流,所述第一电阻(211)或第二电阻(212)被置为低阻态或高阻态; 步骤A3 :将所述位线(215)与反位线(216)置为高电平,调节所述控制端(31)的电压大小,所在行的所述相变存储器单元(21)的所述第一电阻(211)或第二电阻(212)中形成编程电流,所述第一电阻(211)或第二电阻(212)被置为高阻态或低阻态;与所述相变存储器单元(21)连接的所述易失性触发器阵列(I)中的所述锁存器单元(11)的两个相反值的数据被分别保存至所述第一电阻(211)和第二电阻(212)中; 步骤A4:将所述控制端(31)置为低电平。
7.如权利要求5所述的非易失性触发器阵列的工作方法,其特征在于,所述出栈操作包括步骤BI :当处理完中断后,对所述相变存储器单元(21)的所述位线(215)与反位线(216)预充电,将与所述相变存储器单元(21)相连的控制端(31)置为高电平; 步骤B2:电流分别经过所述第一电阻(211)与第二电阻(212)流向所述锁存器单元(11)的两端,所述锁存器单元(11)的两端的数据依据所述第一电阻(211)与第二电阻(212)的低阻态或高阻态被分别恢复为高电平数据“I”或者低电平数据“O” ; 步骤B3 :将所述控制端(31)置为低电平。
8.如权利要求5所述的非易失性触发器阵列的工作方法,其特征在于,进一步包括数据恢复判断操作。
9.如权利要求8所述的非易失性触发器阵列的工作方法,其特征在于,所述数据恢复判断操作包括 步骤Cl :当发生中断时,系统执行所述入栈操作,将所述易失性触发器阵列(I)的锁存器(11)的数据保存在所述非易失性相变存储器阵列(2)的所述相变存储器单元(21)中; 步骤C2 :分别记录处理中断前后的系统时间,计算得到中断处理时间; 步骤C3 :若当所述中断处理时间大于所述相变存储器单元(21)的数据保持时间,则所述相变存储器单元(21)中的数据丢失,系统使所述中断前保存的数据无效化;若当所述中断处理时间小于所述相变存储器单元(21)的数据保持时间,则系统执行所述出栈操作,将所述相变存储器单元(21)中的数据恢复至所述锁存器(11)中。
全文摘要
本发明公开了一种非易失性触发器阵列,包括易失性触发器阵列,其包括多个锁存器单元;非易失性相变存储器阵列,其包括由相变存储器单元组成的阵列;控制端组,其包括多个控制端,实现控制调节非易失性相变存储器阵列保存或恢复易失性触发器阵列的数据;非易失性相变存储器阵列中的每一列相变存储器单元均与易失性触发器阵列中的一个锁存器单元连接;非易失性相变存储器阵列中的每一行相变存储器单元均与控制端组中的一个控制端连接。本发明还公开了一种非易失性触发器阵列的工作方法。本发明可断电保存数据、提高数据恢复速度,并且减小芯片面积。
文档编号G11C11/56GK102881327SQ201210413808
公开日2013年1月16日 申请日期2012年10月25日 优先权日2012年10月25日
发明者景蔚亮, 陈邦明 申请人:上海新储集成电路有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1