具有互补非易失性电阻存储器元件的集成电路的制作方法

文档序号:16522000发布日期:2019-01-05 10:02阅读:212来源:国知局
具有互补非易失性电阻存储器元件的集成电路的制作方法

诸如可编程集成电路的集成电路常常包含以静态随机存取存储器(sram)单元的形式的易失性存储器元件。在可编程集成电路中,sram单元可用作配置随机存取存储器(cram)单元。可编程集成电路是可由用户编程来实现期望定制逻辑功能的一种类型的集成电路。cram单元用于存储由用户供应的配置数据。一旦被加载,cram单元就将控制信号供应到晶体管以配置晶体管来实现所期望的逻辑功能。

一般使用一对交叉耦合的逆变器来形成易失性存储器元件,例如sram和cram单元。在每个存储器单元中,这对交叉耦合的逆变器可连接到地址晶体管,其在数据从存储器单元被读取或被写到存储器单元内时被接通。当没有数据从存储器单元被读取或被写到存储器单元内时,地址晶体管被断开以隔离存储器单元。

对每个连续代的集成电路技术存在朝着较小的尺寸、较低的阈值电压和较低的电源电压按比例缩放晶体管的趋势。较低的电源电压和较小的设备可能导致易失性存储器元件的降低的读/写裕度。这可能对可靠的设备操作提出挑战。

然而,较小的设备往往更多地遭受过程、电压和温度变化(pvt变化)。在较低的电源电压下操作存储器元件可进一步加重由存储器元件经历的变化的量,导致减小的存储器产量。

在本文描述的实施例产生在这一背景下。

附图说明

图1是根据实施例的例证性可编程集成电路的视图。

图2是根据实施例的例证性存储器阵列的视图。

图3a和3b是根据实施例的例证性背靠背式非易失性电阻存储器元件的视图。

图4是示出根据实施例的在电阻存储器阵列上的单比特(single-bit)擦除操作的电路图。

图5是示出根据实施例的在电阻存储器阵列上的单比特编程操作的电路图。

图6是示出根据实施例的在电阻存储器阵列上的全局擦除操作的电路图。

图7是示出根据实施例的针对电阻存储器阵列的正常保持操作的电路图。

图8是示出根据实施例的在电阻存储器阵列上的读操作的电路图。

图9a是示出根据实施例的在电阻存储器阵列上的顶部比特(top-bit)裕度测试操作的电路图。

图9b是示出根据实施例的在电阻存储器阵列上的底部比特(bottom-bit)裕度测试操作的电路图。

图9c是示出根据实施例的在电阻存储器阵列上的设定比特裕度测试操作的电路图。

图10是根据实施例的例证性排队式(inline)非易失性电阻存储器元件的视图。

图11是示出根据实施例的在电阻存储器阵列上的组合程序擦除操作的电路图。

具体实施方式

本实施例涉及包括存储器元件的阵列的集成电路。存储器元件阵列可用于在数据处理操作期间存储数据。在诸如可编程逻辑设备的可编程集成电路中,存储器元件的阵列可被加载有在配置可编程逻辑电路时使用的配置数据。在存储用于可编程集成电路的配置数据时使用的存储器元件有时被称为配置随机存取存储器(cram)单元。在其它类型的随机存取存储器(ram)阵列中使用的存储器单元有时被称为ram单元。

可在使用存储器的任何适当的集成电路中使用存储器单元。这样类型的集成电路可包括存储器芯片、具有存储器阵列的数字信号处理电路、微处理器、具有存储器阵列的专用集成电路、可编程集成电路(例如可编程逻辑设备集成电路,其中对配置存储器使用存储器单元)、或任何其它适当的集成电路。

在图1中示出包括存储器的例证性集成电路10。设备10可具有用于将信号从设备10驱离并用于经由输入-输出引脚14从其它设备接收信号的输入-输出(i/o)电路12。互连资源16(例如全局和局部垂直和水平导电线和总线)可用于在设备10上路由信号。互连资源16包括固定互连(导电线)和可编程互连(即,在相应的固定互连之间的可编程连接)。可编程逻辑18可包括组合和时序逻辑电路。可编程逻辑18可配置成执行定制逻辑功能。与互连资源相关联的可编程互连可被考虑为可编程逻辑18的一部分。

设备10包含易失性存储器单元20,其可使用引脚14和输入-输出电路12被加载有配置数据(也被称为编程数据)。一旦被加载,存储器单元就可提供控制在可编程逻辑18中的相关联逻辑部件的状态的相应的静态控制输出信号。如果需要,可在sram型存储器阵列中使用存储器单元20(例如,以在设备10的操作期间为处理电路存储数据)。

存储器单元20可由配置成形成双稳态电路的多个晶体管形成。存储器单元可经由引脚14和输入-输出电路12从外部可擦除可编程只读存储器和控制芯片或其它适当的数据源被加载。加载的cram存储器单元20可提供静态控制信号,其被施加到在可编程逻辑18中的电路元件(例如金属氧化物半导体晶体管)的端子(例如栅极)以控制那些元件(例如以接通或断开某些晶体管)并从而配置在可编程逻辑18中的逻辑。电路元件可以是晶体管,例如传输晶体管、复用器的部分、查找表、逻辑阵列、and、or、nand和nor逻辑门等。

存储器单元20可布置在阵列图案中。在一般现代可编程逻辑设备中,在芯片10上可以有数百万个存储器单元20。在编程操作期间,由用户(例如逻辑设计者)给存储器单元的阵列提供配置数据。一旦被加载有配置数据,存储器单元20就选择性地控制在可编程逻辑18中的电路的部分,并从而定制它的功能,使得它将按期望操作。

可使用任何适当的架构来组织设备10的电路。作为示例,设备10的逻辑可被组织在较大的可编程逻辑区的一系列行和列中,其中每个较大的可编程逻辑区包含多个较小的逻辑区。设备10的逻辑资源可由互连资源16(例如相关联的垂直和水平导体)互连。这些导体可包括基本上跨越设备10的全部的全局导电线、跨越设备10的部分的分数线(例如二分之一线或四分之一线)、特定长度(例如足以互连几个逻辑区域)的交错线、较小的局部线或任何其它适当的互连资源布置。如果需要,设备10的逻辑可布置在更多的层级或层中,其中多个大区域被互连以形成逻辑的还更大的部分。其它设备布置仍然可使用未布置在行和列中的逻辑。

当存储器单元20布置在阵列中时,水平和垂直导体和相关联的控制电路可用于访问存储器单元。控制电路可例如用于清除所有或一些存储器单元。控制电路也可将数据写到存储器单元内,并可从存储器单元读数据。例如在cram阵列中,存储器单元可被加载有配置数据。在设备10在系统中正常操作期间被使用之前,所加载的配置数据可接着从阵列读出以确认正确的数据加载操作。

如上所述,任何适当的存储器阵列架构可用于布置存储器单元20。在图2中示出一个适当的布置。在图2的例证性阵列中只有存储器单元20的三个行和列,但在存储器阵列28中通常可以有数百个或数千个行和列。阵列20可以是在设备10上的多个阵列之一,可以是作为较大阵列的部分的子阵列,或可以是存储器单元20的任何其它适当的组。

每个存储器单元20可在相应的输出路径38处提供相应的输出信号out。在cram阵列中,每个信号out是静态输出控制信号,其可在相应的路径40上被传送并可在配置相关联的晶体管(例如晶体管36(例如传输晶体管))或在相关联的可编程逻辑电路中的其它适当的电路元件时被使用。

集成电路10可具有用于向存储器阵列28供应信号的控制电路24。控制电路24可使用引脚14从外部源并使用诸如路径30的路径从内部源接收电源电压、数据和其它信号。控制电路24可包括电路,例如寻址电路、数据寄存器电路、读/写电路等。控制电路24可使用通过引脚14供应的电源电压,以在路径32和34上产生期望的时变和固定信号。

通常可以有与路径32和34相关联的任何适当数量的导电线。例如,阵列28的每行可具有包括相关联的地址线(例如字线)和/或相关联的读/写使能线(作为示例)的相应路径32。阵列28的每列可具有包括一个或多个数据线的相应路径34。

通常,可以以全局方式分布功率。例如,可使用共享水平或垂直导体的模式将正电源电压vcc并行地供应到每个单元20。可同样使用共享水平或垂直线的模式将地电压vss并行地供应到单元20。控制线(例如地址线)和数据线一般彼此正交(例如地址线是水平的,而数据线是垂直的,或反之亦然)。

正电源电压vcc可在正电源线上被提供,而地电压vss可在地电源线上被提供。任何适当的值可用于正电源电压vcc和地电压vss。例如,正电源电压vcc可以是2v、1.2v、1.1v、1.0v、0.9v、小于0.9v或任何其它适当的电压。地电压vss可以是零伏或0.1v(作为示例)。在一般布置中,电源电压vcc可以是0.85v,vss可以是零伏,并且地址、数据和清除信号的信号电平可以范围从零伏或-2v(当低时)到+2v(当高时)。如果需要,也可使用其中vcc根据时间而改变、vss小于零伏以及控制信号被过驱动(即,其中控制信号具有比vcc-vss大的信号强度)的布置。

术语“行”和“列”仅仅表示提到在存储器阵列28中的单元20的特定组的一种方式,且有时可互换地被使用。如果需要,可在路径32和34中使用线的其它模式。例如,可使用不同数量的电源信号、数据信号和地址信号。

照惯例,使用易失性存储器元件(例如sram存储器单元)来实现配置存储器元件。只要集成电路被供电,易失性存储器元件只保留数据。在功率损失的情况下,在易失性存储器元件中的数据被丢失。易失性存储器元件受到被称为单粒子翻转的现象。单粒子翻转事件由宇宙射线和嵌在集成电路及其封装中的放射性杂质引起。宇宙射线和放射性杂质产生高能原子粒子,例如中子和α粒子。存储器元件包含晶体管和由图案化硅衬底形成的其它部件。当原子粒子撞击在存储器元件中的硅时,产生电子-空穴对。电子-空穴对产生导电路径,其可使存储器元件中的带电节点放电且存储器元件的状态翻转。如果例如“1”存储在存储器元件中,则单粒子翻转(seu)可使“1”改变为“0”。

在集成电路中的翻转事件破坏存储在存储器元件中的数据,且可能具有对系统性能的严重影响。在诸如远程通信设备的远程安装的某些系统应用中,修理有故障的设备是极其繁重的。除非集成电路展示对单粒子翻转的良好抗扰性,否则它们将不适合于这些类型的应用。

根据实施例,集成电路10可包括使用非易失性存储器元件(例如存储器单元,其保持它的状态而不考虑设备10是否被供应有功率)实现的存储器电路。图3a和3b是根据实施例的例证性背靠背式非易失性电阻存储器元件20的视图。

如图3a所示,存储器元件20(有时被称为存储器单元)可包括串联地耦合在正电源线302(例如第一电源线,其上提供正电源电压vcc)和地电源线304(例如第二电源线,其上提供地电源电压vss)之间的第一非易失性电阻元件300-1和第二非易失性电阻元件300-2。电源电压vcc可具有正电压电平+v(例如1v、1.2v、1.8v、2v等)。电源电压vss可具有地电压电平(例如,0v)。

特别是,电阻元件300-1可具有连接到线302的第一(阳极)端子和连接到输出节点out的第二(阴极)端子。电阻元件300-2可具有连接到线304的第一(阳极)端子和连接到节点out的第二(阴极)端子。通常,线302和304可设置有可调节的电源电压或可处于高阻抗模式中。电阻元件300-1的阴极连接到并面向电阻元件300-2的阴极的这个布置有时被称为“背靠背式”配置。

诸如晶体管306的地址晶体管可耦合在数据线dl和节点out之间。可使用字线信号wl来激活晶体管306以将期望数据值加载到存储器单元20内。晶体管306因此有时被称为编程晶体管或存取晶体管。

存储器单元20的输出节点out可经由输出路径38(也见图2)耦合到相应的传输晶体管36。传输晶体管36(有时被称为传输门)作为示例可以是用于将活动用户信号从在集成电路上的第一逻辑区路由到第二逻辑区的路由复用器的部分、在查找表中的可编程开关的部分、或在集成电路上的其它可配置逻辑电路18的部分。

每个电阻元件300(例如电阻元件300-1和300-2)可以是二端子电化学金属化存储器设备,其依赖于氧化还原反应来形成(即“编程”)或分解(即“擦除”)在这两个端子之间的导电细丝。在这两个端子之间的导电细丝的存在产生低电阻状态(lrs),而这两个端子之间的导电细丝的缺失产生高电阻状态(hrs)。在lrs中,电阻元件有时被称为被短路或闭合(即被激活、设定或编程)。在hrs中,电阻元件有时被称为被断开或去激活(即停止使用)。以这种方式配置的电阻元件300有时被称为可编程金属化单元(pmc)或导电桥接ram(cbram)。如果需要,也可使用磁性ram单元。以这种方式配置的互补存储器单元可展示非易失性行为、单粒子翻转抗扰性和非常低的待机电流。

在图3a的示例中,存储器单元20可被设定为高状态(例如电阻元件300-1可被编程在低电阻状态中,如由加粗的内部连接指示的,而电阻元件300-2被擦除到高电阻状态,如由内部连接的缺失指示的)。以这种方式配置,节点out将通过电阻元件300-1被正电源电压vcc向上拉,从而使电压电平v+通过以接通相应的传输晶体管36。

在图3b的示例中,存储器单元20可被设定到低状态(例如电阻元件300-2可被编程在低电阻状态中,如由加粗的内部连接指示的,而电阻元件300-1被擦除到高电阻状态,如由内部连接的缺失指示的)。以这种方式配置,节点out将通过电阻元件300-2由地电源电压vss向下拉,从而使零伏特通过以断开相应的传输晶体管36。

图4是示出在存储器阵列400上的单比特擦除操作的电路图,存储器阵列400包括使用互补背靠背式电阻存储器元件形成的存储器单元20。如图4所示,存储器阵列400可由列寻址电路402和行驱动器电路404控制。寻址电路402(例如移位寄存器电路或解码器电路)可将地址信号输出到在存储器单元20的每列中的相应的地址晶体管。在图4的示例中,地址电路402可将地址信号al0输出到相应的地址晶体管306-00、306-10和在第一列中的其它晶体管,且也可将地址信号al1输出到相应的地址晶体管306-01、306-11和在第二列中的其它晶体管,等等。地址电路402可一次激活仅仅一个列(例如可使至多一个地址信号在任何给定时间点有效(asserted))。寻址电路启动逻辑“1”和禁用逻辑“0”等效于在图4和图5的偏置中定义的+v或-v电压。

行驱动器电路404可耦合到相关联的数据寄存器电路、电源驱动器电路和读-写电路。例如,在第一行中的行驱动器电路404-0可从第一数据寄存器dr0接收数据信号并可使用数据线驱动器408-0将所接收的数据信号驱动到第一数据线dl0上。在读操作期间,数据线驱动器408-0可被去激活,而读驱动器410-0被接通以感测在数据线dl0上的读电压。晶体管420和422(例如n沟道晶体管)可串联地耦合在电源线424和数据线dl0之间以帮助读和/或监控每个存储器单元20的性能。晶体管420可接收偏置控制信号vbias,而晶体管422可接收验证控制信号verify。控制信号vbias和verify可以是施加到阵列400中的每行(作为示例)的全局信号。

行驱动器电路404-0也可经由电源驱动器406t0和406b0选择性地向在第一行中的每个存储器单元20的电源端子提供电源信号。特别是,电源驱动器406t0可将可调节的电源信号t0提供到在第一行中的每个存储器单元20的“顶部”电源端子,而电源驱动器406b0可将可调节的电源信号b0提供到在第一行中的每个存储器单元的“底部”电源端子。电源驱动器406可以例如是三态缓冲器。在激活模式中,电源驱动器406可输出等于正电压电平+v或负电压电平-v的信号t0和b0。在三态模式中,驱动器406的输出可处于高阻抗状态中(例如输出节点不能被主动地驱动到任何电压电平)。

类似地,在第二行中的行驱动器电路404-1可从第二数据寄存器dr1接收数据信号并可使用数据线驱动器408-1将所接收的数据信号驱动到第二数据线dl1上。在读操作期间,数据线驱动器408-1可被去激活,而读驱动器410-1被接通以感测在数据线dl1上的读电压。数据线dl1也可耦合到它自己的一组晶体管420和422用于读和/或监控在第二行中的每个存储器单元20的性能。

行驱动器电路404-1也可经由电源驱动器406t1和406b1(例如三态缓冲器406)选择性地向在第二行中的每个存储器单元20的电源端子提供电源信号。特别是,电源驱动器406t1可将可调节的电源信号t1提供到在第二行中的每个存储器单元20的顶部电源端子,而电源驱动器406b1可将可调节的电源信号b1提供到在第二行中的每个存储器单元的底部电源端子。

在图4的例证性阵列中只有存储器单元20的两行和两列,但在存储器阵列400中通常可以有数百个或数千个行和列。电阻存储器元件阵列400可以是在给定设备10上的多个阵列之一,可以是作为较大阵列的部分的子阵列,或可以是存储器单元20的任何其它适当的组。

仍然参考图4,考虑示例,其中在左上角中的存储器元件20最初被配置在高状态中(即电阻元件rt00处于lrs中,而电阻元件rb00处于hrs中)以及其中在左下角中的存储器元件20最初被配置在低状态中(即电阻元件rb10处于lrs中,而电阻元件rt10处于hrs中)。

为了在第一行中执行单比特擦除,驱动器406t0可将信号t0驱动到负电压电平-v,同时驱动器406b0被置于三态模式中,使得信号b0是电气地浮动的(如由高阻抗符号“z”指示的)。在这个时间期间,驱动器408-0可被激活以将电压电平+v提供到数据线dl0上。地址信号al0可被过驱动到电压电平(+v+vt),其中vt表示晶体管306-00的阈值电压电平。过驱动地址晶体管306-00可帮助将相应的输出节点out00一直向上拉到电压电平+v。通过以这种方式将电阻元件rt00的阴极驱动到+v并将电阻元件rt00的阳极驱动到-v,电阻元件rt00可被擦除到hrs。只要信号b0处于高阻抗状态中,电阻元件rb00可保持不变。

为了在第二行中执行单比特擦除,驱动器406t1可将信号t1驱动到三态模式,使得信号t1是电气地浮动的(如由高阻抗符号z指示的),同时将信号b1驱动到负电压电平-v。在这个时间期间,驱动器408-1可被激活以将电压电平+v提供到数据线dl1上。地址信号al0可被过驱动到电压电平(+v+vt),其中vt表示晶体管306-10的阈值电压电平。过驱动地址晶体管306-10可帮助将相应的输出节点out10一直向上拉到电压电平+v。通过以这种方式将电阻元件rb10的阴极驱动到+v并将电阻元件rb10的阳极驱动到-v,电阻元件rb10可被擦除到hrs。只要信号t1处于高阻抗状态中,电阻元件rt10可保持不变。

可对一列中的每个存储器单元20并行地执行这个单比特擦除操作,随后是在逐列基础上的擦除(例如通过相继地使地址信号al0、al1等有效)。选择性地使缓冲器406在z模式中三态化也可帮助提供在所有未选择的电阻元件两端的零电压应力(见例如在图4中的电阻元件rb01和rb11两端没有电压应力,所以未选择的单元将不被干扰)。

图5是示出可在电阻存储器阵列400上执行的在前面擦除的比特上的单比特编程操作的电路图。为了对在第一行中的左上存储器单元编程以存储逻辑“0”(如由在数据寄存器dr0中的数据信号“0”指示的),驱动器406t0可被置于三态模式中,使得信号t0处于高阻抗状态z中,而驱动器406b0可将信号b0驱动到正电压电平+v。在这个时间期间,驱动器408-0可被激活以将负电压电平-v提供到数据线dl0上。可使地址信号al0有效到电压电平+v。地址信号al0在这种情况下不需要被过驱动,因为晶体管306-00使低电压通过。通过以这种方式将电阻元件rb00的阴极驱动到-v并将电阻元件rb00的阳极驱动到+v,电阻元件rb00可被编程到lrs。只要信号t0处于高阻抗状态中,电阻元件rt00可保持不变。

为了对在第一行中的左下存储器单元编程以存储逻辑“1”(如由在数据寄存器dr1中的数据信号“1”指示的),驱动器406b1可被置于三态模式中,使得信号b1处于高阻抗状态z中,而驱动器406t1可将信号t1驱动到正电压电平+v。在这个时间期间,驱动器408-1可被激活以将负电压电平-v提供到数据线dl1上,同时可使地址信号al0有效到电压电平+v。通过以这种方式将电阻元件rt10的阴极驱动到-v并将电阻元件rt10的阳极驱动到+v,电阻元件rt10可被编程到lrs。只要信号b1处于高阻抗状态中,电阻元件rb10可保持不变。

可对一列中的每个存储器单元20并行地执行单比特编程操作,随后是在逐列基础上编程(例如通过相继地使地址信号al0、al1等有效)。以这种方式配置,大部分相关联的存储器电路(例如地址晶体管306、寻址电路402、行驱动器电路404、数据寄存器、电源驱动器406、读/写电路408和410、晶体管420和422等)受到至多+v的电压应力。电压电平+v可等于正电源电压vcc。例如,正电源电压vcc可具有等于1v的电压电平+v。

如在图5的示例中所示的,编程操作可能需要在电阻元件300两端2*(+v)的总电压。例如,擦除操作可能需要在阳极和阴极端子两端至少2*(-v)。另一方面,编程操作可能需要在阳极和阴极端子两端至少2*(+v)。只有地址晶体管306可暴露于2*(+v)的总电压应力,因为在编程期间,它接收在其栅极处的+v(例如1v)和来自数据线的-v(例如-1v)(见图5)。换句话说,负电压电平-v的幅度和正电压电平+v的幅度可以是相等的。这能够对于为可靠性考虑的高达预定数量的程序循环(例如至少3000个配置循环)是可容许的。在又一些其它适当的实施例中,编程电压可以是至少1.5*vcc、至少1.8*vcc或大于2*vcc。

通过分割在电阻存储器元件的任一侧上的正轨(+v)和负轨(-v)之间的编程电压,可以使用核心晶体管设备(例如具有被当前的制造设计规则允许的最薄栅极氧化物厚度的晶体管)来实现所有相关联的存储器电路。一般,使用具有与核心晶体管设备相比相对更厚的栅极氧化物的输入-输出晶体管设备来形成输入-输出电路(例如图1的i/o电路12),使得i/o晶体管能够抵抗较高的电压应力(即,越厚的栅极氧化物展示出越大的结击穿电压电平)。在存储器阵列400内主要使用核心晶体管可帮助减小存储器管芯面积,同时提高或至少维持可靠性。

图6是示出可在电阻存储器阵列400上执行的全局擦除操作的电路图。如图6所示,所有电源驱动器406可将负电压电平-v输出到每个电阻元件的阳极端子上。同时,在每行中的驱动器408可通过过驱动的地址晶体管306将所有数据线驱动到正电压电平+v(例如,所有地址晶体管可同时被激活),使得每个电阻元件的阴极端子接收+v。以这种方式操作,在存储器阵列400中的每单个电阻元件可并行地被擦除到hrs(例如整个电阻存储器阵列可同时在单个写循环中被重置)。地址晶体管306可能必须在宽度上是双倍的以允许同时的顶部和底部电阻元件重置。

图7是示出电阻存储器阵列400的正常保持操作的电路图。如图7所示,顶部电源驱动器(例如驱动器406t0、406t1等)可将顶部电源电压信号驱动到逻辑“1”(例如到vcc或+v)。同时,底部电源驱动器(例如驱动器406b0、406b1等)可将底部电源电压信号驱动到逻辑“0”(例如到vss或0v)。所有地址信号可被无效,所以数据线的状态将不影响每个存储器单元20的输出节点。

在图7的示例中,左上存储器单元20可被编程在高状态中(例如节点out00可将逻辑“1”输出到第一相应的传输门——未示出)。右上存储器单元20可被编程在低状态中(例如节点out01可将逻辑“0”输出到第二相应的传输门——未示出)。左下存储器单元20可被编程在高状态中(例如节点out10可将逻辑“1”输出到第三相应的传输门——未示出)。右下存储器单元20可被编程在低状态中(例如节点out11可将逻辑“0”输出到第四相应的传输门——未示出)。以这种方式配置的存储器阵列400可展示出非易失性行为、软错误翻转抗扰性和非常低的待机电流。

图8是示出在电阻存储器阵列400上的读操作的电路图。类似于图7的正常模式,顶部电源驱动器(例如驱动器406t0、406t1等)可将顶部电源电压信号驱动到逻辑“1”(例如到vcc或+v)。同时,底部电源驱动器(例如驱动器406b0、406b1等)可将底部电源电压信号驱动到逻辑“0”(例如到vss或0v)。

在图8的实例中,寻址电路402可过驱动信号al0以接通在第一列中的地址晶体管。左上存储器单元200当前存储逻辑零,而左下存储器单元200当前存储逻辑一。作为结果,数据线dl0可由节点out00拉低,而数据线dl1可由节点out10拉高。驱动器410-0可被激活以感测在数据线dl0上的低电压,而驱动器410-1可被激活以感测在数据线dl1-1上的高电压,且驱动器408-0和408-1需要是三态的。在这个时间期间,也可以使信号vbias和verify有效(例如被驱动为高)以用作数据线的弱保持(keeper)电路。以这种方式操作,电阻元件rb00和rb10分别从第一和第二行被读出,以确定对于两个存储器单元20是否已实现正确的设定和重置电阻。

而且,这个验证操作可以在有或没有预充电操作的情况下被执行。预充电操作在使地址信号有效之前将数据线预充电,这可帮助增加读速度和一致性。

图9a-9c示出可如何对单独的电阻元件进行裕度测试以确定是否已实现正确的设定电阻。图9a示出如何对每个存储器单元20的顶部电阻元件加裕度,如由感兴趣区900和902指示的。为了执行顶部比特加裕度,顶部电源驱动器(例如驱动器406t0、406t1等)可输出0v,而底部电源驱动器(例如驱动器406b0、406b1等)可被置于三态模式中。可在加裕度操作期间使信号vbias和verify有效。可使信号al0有效以访问第一列。

因为在第一行中的顶部比特rt00处于hrs中并因为信号b0处于高阻抗模式中,晶体管420和422可将数据线dl0和节点out00拉高到1v。然而,在第二行中的顶部比特rt10处于lrs中,这将节点out10和因而数据线dl1拉低到0v。数据线dl1将拉低到逻辑“0”以抵抗晶体管420和422的拉高强度,只要元件rt10的设定电阻足够低。如果元件rt10的设定电阻足够低,则读电路410-1将感测在数据线dl1处的低电压。将以这种方式测试存储器单元20的连续列。

图9b示出如何对每个存储器单元20的底部电阻元件加裕度,如由感兴趣区910和912指示的。为了执行底部比特加裕度,顶部电源驱动器(例如驱动器406t0、406t1等)可被置于三态模式中,而底部电源驱动器(例如驱动器406b0、406b1等)可输出0v。可在加裕度操作期间使信号vbias和verify有效。可使信号al0有效以访问第一列。

因为在第二行中的底部比特rb10处于hrs中并因为信号t1处于高阻抗模式中,晶体管420和422可将数据线dl1和节点out10拉高到1v。然而,在第一行中的底部比特rb00处于lrs中,这将节点out00和因而数据线dl0拉低到0v。数据线dl0将拉低到逻辑“0”以抵抗晶体管420和422的拉高强度,只要元件rb00的设定电阻足够低。如果元件rb00的设定电阻足够低,则读电路410-0将感测在数据线dl0处的低电压。可以这种方式测试存储器单元20的连续列。

图9c示出如何对每个存储器单元20的编程电阻元件加裕度,如由感兴趣区920和922指示的。因为在左上存储器单元20中只有底部比特rb00被编程,底部比特加裕度配置将应用于该单元(例如通过将信号b0驱动到0v以及将信号t0驱动到高阻抗z)。如果元件rb00的设定电阻足够低,则读电路410-0将感测在数据线dl0处的低电压。另一方面,因为在左下存储器单元20中只有顶部比特rt10被编程,顶部比特加裕度配置将应用于该单元(例如通过将信号t1驱动到0v以及将信号b1驱动到高阻抗z)。如果元件rt10的设定电阻足够低,则读电路410-1将感测在数据线dl1处的低电压。以这种方式可测试存储器单元20的连续列。

相对流经晶体管420和422的电流的量化电平给非易失性电阻元件的电阻加裕度的步骤可帮助进一步增加可靠性。

使用互补背靠背式电阻元件来实现存储器单元的图3-9的实施例仅仅是例证性的。在另一适当的布置中,可使用在“排队式”配置中连接的电阻元件来实现存储器单元20(例如见图10)。如图10所示,存储器单元20可包括串联耦合在电源线302和304之间的第一非易失性电阻元件1000-1和第二非易失性电阻元件1000-2。在线302上的电源电压vcc可具有正电压电平+v(例如1v、1.2v、1.8v、2v等)。在线304上的电源电压vss可具有地电压电平(例如0v)。

特别是,电阻元件1000-1可具有连接到线302的第一(阳极)端子和连接到输出节点out的第二(阴极)端子。电阻元件1000-2可具有连接到节点out的第一(阳极)端子和连接到线304的第二(阴极)端子。电阻元件1000-1的阴极连接到并面向电阻元件1000-2的阳极的这个布置有时被称为“排队式”配置。与排队式配置比较,背靠背式配置可提供更小的单元布局,因为阴极端子在顶部和底部电阻元件之间被共享。通常,线302和304可设置有可调节的电源电压或可处于高阻抗模式中。

诸如晶体管306的地址晶体管可耦合在数据线dl和节点out之间。可使用字线信号wl来激活晶体管306以将期望数据值加载到存储器单元20内。晶体管306因此有时被称为编程晶体管或存取晶体管。

存储器单元20的输出节点out可经由输出路径38(也见图2)耦合到相应的传输晶体管36。传输晶体管36(有时被称为传输门)作为示例可以是用于将活动用户信号从在集成电路上的第一逻辑区路由到第二逻辑区的路由复用器的部分、在查找表中的可编程开关的部分、或在集成电路上的其它可配置逻辑电路18的部分。

每个电阻元件1000(例如电阻元件1000-1和1000-2)可以是可被配置在低电阻状态(lrs)或高电阻状态(hrs)中的可编程金属化单元(pmc)或导电桥接ram(cbram)。以这种方式配置的互补存储器单元可展示出非易失性行为、软错误翻转抗扰性和零待机电流。

在图10的示例中,任一电阻元件1000-1可被设定在lrs中,而元件1000-2在hrs中,使得单元20被配置成存储逻辑“1”,或电阻元件1000-2可被设定在lrs中,而元件1000-1在hrs中,使得单元20被配置成存储逻辑“0”。

通常,图10所示类型的排队式非易失性存储器单元20可布置在阵列中,且每个存储器单元20可使用上面结合图4-9所述的类似的原理和技术被编程、擦除和测试。

排队式存储器阵列的一个优点是,沿着列的所有单元20可同时被设定(编程)和重置(擦除)。图11是示出在电阻存储器阵列400上的组合编程-擦除操作的电路图。为了配置存储器单元20以存储逻辑“0”(如在第一行中的左上存储器单元中所示的),顶部和底部三态电源缓冲器406t0和406b0可输出负电压电平-v,而写驱动器408-0输出正电压电平+v。同时,寻址电路402可过驱动晶体管306-00,从而将节点out00驱动到正电压电平+v。以这种方式操作,电阻元件rt00将被擦除,而电阻元件rb00将并行地被编程。

为了配置存储器单元20以存储逻辑“1”(如在第二行中的左下存储器单元中所示的),顶部和底部三态电源缓冲器406t1和406b1可输出正电压电平+v,而写驱动器408-1输出负电压电平-v。同时,寻址电路402可过驱动晶体管306-10,从而将节点out10驱动到负电压电平-v。以这种方式操作,电阻元件rt10将被编程,而电阻元件rt10将同时被擦除。存储器单元20的连续列可以以这种方式同时被编程和擦除。因此,涉及跟随有单独的编程操作的全局重置的两步骤过程可简化为单个操作。

到现在为止已针对集成电路描述了实施例。本文所述的方法和装置可合并到任何适当的电路内。例如,它们可合并到多种类型的设备,例如可编程逻辑设备、专用标准产品(assp)和专用集成电路(asic)内。可编程逻辑设备的示例包括可编程阵列逻辑(pal)、可编程逻辑阵列(pla)、现场可编程逻辑阵列(fpla)、电可编程逻辑设备(epld)、电可擦除可编程逻辑设备(eepld)、逻辑单元阵列(lca)、复杂可编程逻辑设备(cpld)和现场可编程门阵列(fpga),仅举几个示例。

在本文的一个或多个实施例中所描述的可编程逻辑设备可以是包括下列部件中的一个或多个的数据处理系统的部分:处理器;存储器;io电路;以及外围设备。数据处理可用于各种各样的应用中,例如计算机联网、数据联网、检测仪表、视频处理、数字信号处理、或任何适当的其它应用(其中使用可编程或可重编程逻辑的优点是合乎需要的)。可编程逻辑设备可用于执行各种不同的逻辑功能。例如,可编程逻辑设备可被配置为与系统处理器协作地工作的处理器或控制器。可编程逻辑设备也可用作用于仲裁对在数据处理系统中的共享资源的访问的仲裁器。在又一示例中,可编程逻辑设备可被配置为在处理器和系统中的其它部件之一之间的接口。

虽然以特定的顺序描述了操作的方法,应理解,可在所述操作之间执行其它操作,可调整所描述的操作,使得它们出现在稍微不同的时间,或所描述的操作可分布在允许处理操作出现在与处理相关联的各种间隔处的系统中,只要叠置操作的处理以期望方式被执行。

前述内容仅仅说明本发明的原理,且各种修改可由本领域技术人员做出。前述实施例可单独地或以任何组合来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1