CN103973272B - 非易失性逻辑阵列中使用奇偶校验的错误检测 - Google Patents
非易失性逻辑阵列中使用奇偶校验的错误检测 Download PDFInfo
- Publication number
- CN103973272B CN103973272B CN201410085140.3A CN201410085140A CN103973272B CN 103973272 B CN103973272 B CN 103973272B CN 201410085140 A CN201410085140 A CN 201410085140A CN 103973272 B CN103973272 B CN 103973272B
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- nvl
- soc
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Semiconductor Memories (AREA)
Abstract
一种片上系统(SoC)具有耦合至一个或更多个核逻辑块的n行乘m列非易失性存储器阵列。m被限制为奇数。在每次写一行m个数据位时,使用m个数据位计算奇偶校验位。在存储奇偶校验位之前,其被反转。每次读取行时,检查奇偶校验位以确定在所恢复的数据位中是否存在奇偶校验错误。当检测到奇偶校验错误时,在SoC上执行引导操作。
Description
技术领域
本发明一般涉及非易失性存储器单元及其在系统中的应用,并且具体地,涉及与逻辑阵列结合以提供非易失性逻辑模块。
背景技术
很多便携式电子设备如便携式电话、数码相机/可携式摄像机、个人数字助理、膝上型计算机以及视频游戏机都靠电池工作。在非活动期间,该设备可以不执行处理操作并且可被设置为断电或待机电源模式以省电。提供给电子设备内的一部分逻辑的电力在低功耗待机电源模式中可被关闭。然而,待机电源模式期间泄漏电流的存在对设计便携式的、电池供电的设备提出挑战。数据保持电路如设备内的触发器和/或锁存器可被用来在设备进入待机电源模式之前存储状态信息以用于后续使用。数据保持锁存器,也可被称作影子锁存器或气球锁存器,通常由单独的“永远开启”电源供电。
用于减少非活动期间的泄漏电流的一种已知技术利用多阈值CMOS(MTCMOS)技术来实现影子锁存器。在这种方法中,影子锁存器利用厚的栅极氧化物晶体管和/或高阈值电压(Vt)晶体管减少待机电源模式中的泄漏电流。在正常操作期间(例如,有效电源模式期间),影子锁存器通常与其它电路断开以保持系统性能。为了在“主从”触发器拓扑中保持数据,第三锁存器,例如影子锁存器,可被加到主锁存器和从锁存器中用于数据保持。在其它情况中,从锁存器可被配置以在低功率操作期间作为保持锁存器工作。然而,仍然需要一些电力来保持保存的状态。例如,参看美国专利7639056,“Ultra Low Area OverheadRetention Flip-Flop for Power-Down Applications(用于断电应用的超低面积开销的保持触发器)”。
片上系统(SoC)是现在一个经常使用的概念;其基本方法是将越来越多的功能集成到给定设备。这种集成能够采用硬件或软件解决方案的形式。通常通过增加的时钟速率和更高级的过程节点来获得性能改进。许多SoC设计将各种外围设备和存储器电路与微处理器核或多核配对。
能量收集,也被称为功率收集或能量寻找,是通过其从外部源获得、捕获、以及存储能量的过程,用于小型、无线独立设备,如在可穿戴电子产品和无线传感器网络中使用的那些设备。收集的能量可来自各种源,例如:太阳能、热能、风能、盐度梯度和动能等。然而,典型的能量收集器为低能量电子产品提供非常少量的动力。能量收集器的能量源作为周围背景存在并且可用于使用。例如,温度梯度存在于内燃机的运行和城市中;由于无线电和电视广播,环境中存在大量的电磁能量,等等。
发明内容
一种片上系统,即SoC,包括:一个或更多个核逻辑块;耦合至所述一个或更多个核逻辑块的存储器阵列,其中所述存储器阵列包括:n行乘m列数据位单元和一列奇偶校验位单元,其中m是奇数;奇偶校验逻辑模块,其耦合至所述m列数据位的数据输出端和所述一列奇偶校验位单元的数据输出端,其中对于每行数据位单元和相关联的奇偶校验位单元,所述奇偶校验逻辑模块被配置为响应于存储在所述数据位单元中的数据生成奇偶校验位并将所述奇偶校验位的反转表示存储在所述奇偶校验位单元中;和控制逻辑模块,其耦合至所述奇偶校验逻辑模块和所述一个或更多个核逻辑块,其中所述控制逻辑模块被配置为在检测到奇偶校验错误时使所述一个或更多个核逻辑块执行重启操作。
一种用于操作片上系统即SoC的方法,所述SoC包括设置成n行乘m列的耦合至一个或更多个核逻辑块的非易失性位单元的存储器阵列,所述方法包括:计算对应于m个数据位的奇偶校验位,其中m是奇数个数据位;反转所述奇偶校验位;将所述m个数据位和反转的奇偶校验位写入所述存储器阵列的所选行;读取所述存储器阵列的所选行以恢复m个存储的数据位和相应的奇偶校验位;确定恢复的数据位中是否存在奇偶校验错误;以及当检测到奇偶校验错误时,在所述SoC上执行引导操作。
附图说明
现在仅通过实例并参考附图描述根据本发明的具体实施例:
图1是包括本发明实施例的片上系统(SoC)的一部分的功能性框图;
图2是用于图1的SoC中的一个触发器云的更详细的框图;
图3是图示铁电电容器呈现的极性滞后的曲线图;
图4-7是示出铁电非易失性位单元的一个实施例的原理图和时序图;
图8-9是示出铁电非易失性位单元的另一个实施例的原理图和时序图;
图10是示出用于图1的SoC中的NVL阵列的框图;
图11A和图11B是用于图10的NVL阵列中的输入/输出电路的更详细的原理图。
图12A是示出读周期期间偏移电压测试的时序图;
图12B示出在偏移电压扫描期间产生的直方图;
图13是示出了在图10的NVL阵列中奇偶生成的原理图;
图14是示出NVL阵列中的电源域的框图;
图15是用于NVL阵列中的电平转换器的原理图;
图16是示出在铁电位单元内使用感测放大器的电平转移操作的时序图;
图17示出在具有非易失性逻辑阵列的SoC中使用奇偶校验进行错误检测的操作流程图;以及
图18是包括NVL阵列的另一个SoC的框图。
根据附图和下列详细描述,本实施例的其它特征将变得明显。
具体实施方式
现在将参照附图详细描述本发明的具体实施例。出于一致性考虑,各个附图中的类似元件由类似的附图标记表示。在本发明的实施例的下列详细描述中,为了提供本发明更全面的理解,阐述若干具体细节。然而,对于本领域技术人员来说没有这些具体细节,本发明也可被实施,这是明显的。在其它例子中,已知的特征没有被详细描述以避免不必要的复杂化本说明书。
在此描述的片上系统(SoC)具有耦合至一个或更多个核逻辑快的n行乘m列非易失性存储器阵列。m被限制为奇数。在每次写m个数据位的行时,使用m个数据位计算奇偶校验位。在存储奇偶校验位之前,其被反转。在每次读取行时,检查奇偶校验位以确定恢复的数据位中是否存在奇偶校验错误。当检测到奇偶校验错误时,在SoC上执行引导操作。如果没有检测到奇偶校验错误,则使用从非易失性存储器阵列读取的数据恢复触发器组的状态。
虽然现有技术系统使用保持锁存器保持低功耗操作期间逻辑模块中的触发器的状态,但保持状态仍然需要一些电力。本发明的实施例可使用非易失性元件在电力被完全移除时保持逻辑模块中的触发器的状态。这种逻辑元件在这将被称作非易失性逻辑(NVL)。在SoC(片上系统)内与NVL一起实现的微控制单元(MCU)可具有停止、断电、和上电的能力而没有功能性的丢失。在电力被完全移除后,不要求系统重置/重启以恢复操作。这种能力对于新兴能量收集应用是很理想的,例如近场通信(NFC)、射频识别(RFID)应用、以及嵌入式控制和监测系统,例如,其中重置/重启过程的时间和功率成本能够消耗很多可用能量、留下很少或没有留下能量用于有用的计算、感测或控制功能。尽管本实施例利用包括用于排序SoC状态机的可编程MCU的SoC(片上系统),本领域的一个技术人员能明白NVL能够被应用到硬编码为如常规逻辑门或ROM(只读存储器)、PLA(可编程逻辑阵列)、或基于PLD(可编程逻辑器件)的控制系统的状态机。
本发明的实施例可包括在SoC内以形成一个或更多个非易失性逻辑块。例如,基于非易失性逻辑(NVL)的SoC可在接收电力中断时备份它的工作状态(所有的触发器),在睡眠模式具有零泄漏,以及一旦上电则需要少于400ns恢复系统状态。
没有NVL,芯片要么必须使所有触发器被供电处在至少低功耗保持状态中,该状态即使在待机模式也需要持续的电源,要么在上电之后浪费能量和时间重启。对于能量收集应用,NVL是有用的,因为不需要恒定的电源来保持触发器(FF)的状态,并且即使当间歇性电源可用时,仅启动代码都会消耗所有收集的能量。对于具有有限冷却和电池容量的手持设备,具有“即时启动”能力的零泄漏IC(集成电路)是理想的。
铁电随机存取存储器(FRAM)是具有与DRAM(动态随机存取存储器)类似的表现的非易失性存储器技术。能够存取每个单独的位,但是不同于EEPROM(电可擦除可编程只读存储器)或闪存,FRAM不要求特殊的顺序来写数据,也不要求电荷泵来获得所需的较高编程电压。每个铁电存储器单元包括一个或更多个铁电电容器(FeCap)。各个铁电电容器可被用作在此描述的NVL电路中的非易失性元件。
图1是包括本发明的一个实施例的片上系统(SoC)100的一部分的功能性框图。尽管在此使用术语SoC代表包括一个或更多个系统元件的集成电路,但是其它实施例可包括在各种类型的集成电路中,这些集成电路包括提供非易失性状态保持的功能性逻辑块如锁存器和触发器。在大型阵列的受控环境外嵌入非易失性元件提出可靠性和制造挑战,如参考文献[2-5]中更详细地描述。NVL位单元通常设计有最大读取信号裕量和原位裕量(in-situ margin)测试性,如用于任何NV-存储器技术所需要的。然而,考虑到面积开销,增加可测试特征件到各个NVL FF可能是被禁止的。为了分摊测试特征件成本和提供可制造性,使用256位迷你阵列110实现SoC 100,所述256位迷你阵列110在此将被称作NVL阵列,基于FeCap(铁电电容器)的位单元分散在整个逻辑云中以在电力移除时保存各种触发器120的状态。FF 120的每个云102-104包括关联的NVL阵列110。中央NVL控制器106控制所有阵列和它们与FF 120的通信。尽管在此示出三个FF云102-104,但是SoC 100可具有附加的,或更少的FF云,FF云全部由NVL控制器106控制。现有的NVL阵列实施例使用256位迷你阵列,但是本领域技术人员能够容易地想到阵列可根据需要具有更多或更少位数。
SoC 100通过使用修改的保持触发器120实现。存在各种已知的方式实现保持触发器。例如,数据输入可由第一锁存器锁存。耦合到第一锁存器的第二锁存器可在待机电源模式下第一锁存器无效时接收用于保持的数据输入。第一锁存器从第一电力线接收电力,其中第一电力线在待机电源模式期间切断。第二锁存器从第二电力线接收电力,其中第二电力线在待机模式期间保持开启。控制器接收时钟输入和保持信号以及提供时钟输出给第一锁存器和第二锁存器。保持信号的改变指示转换到待机电源模式。控制器继续将时钟输出保持在预定电压水平并且第二锁存器在待机电源模式中继续从第二电力线接收电力,从而保持该数据输入。美国专利7639056“Ultra Low Area Overhead Retention Flip-Flopfor Power-Down Application(用于断电应用的超低面积开销的保持触发器)”详细描述了这种保持锁存器,其通过引用纳入于此。保持锁存器的另一个实施例将参考图2进行更详细地描述。在那个实施例中,保持触发器架构不需要时钟在保持期间保持在特定状态。在这种“时钟自由”NVL触发设计中,“不关心”保持期间的时钟值。
在SoC 100中,改变的保持FF 120包括简单输入和控制改变以在系统转换到断电状态时允许每个FF的状态被保存到NVL阵列110中关联的FeCap位单元中。当系统恢复时,接着保存的状态被从NVL阵列110传回到每个FF 120。在SoC 100中,NVL阵列110和控制器106工作在称作VDDN的NVL电源域上并且在正常操作期间关闭。所有的逻辑、存储器块107如ROM(只读存储器)和SRAM(静态随机存取存储器)、以及FF的主级工作在称作VDDL的逻辑电源域上。FRAM(铁电随机存取存储器)阵列直接连接到专用全局电源轨(VDDZ),VDDZ保持在FRAM所需的较高固定电压上。在一典型的实施例中,VDDZ是固定电源并且只要VDDL保持在比VDDZ低的电势上,则VDDL能够变化。注意FRAM阵列103可包括集成电源开关,其允许FRAM阵列根据需要断电。然而,能够容易看出没有内部电源开关的FRAM阵列能够与FRAM阵列外部的电源开关联合使用。保持FF的从级工作在称作VDDR域的保持电源域上,以使在待机操作模式中能够进行常规保持。
表1综述在正常操作、系统备份到NVL阵列、睡眠模式、系统从NVL阵列恢复、以及回到正常操作期间的电源域操作。表1也详列了在待机空闲模式期间所使用的域,该模式在系统软件的控制下启动以使用保持触发器的易失性保持功能进入降低的功耗状态。开关组如在108指示的,被用于控制各种电源域。可具有多个开关,它们分布在整个SoC 100中并由SoC 100上的处理器执行的软件和/或SoC100中的硬件控制器(未示出)控制。除了这里示出的那些,还可以有额外的域,如将在后面描述的。
表1-系统功耗模式
状态信息可被保存在大型中央FRAM阵列中,但将需要更多的时间进入睡眠模式、更长的唤醒时间、过度的路由、以及由缺乏并行访问系统FF引起的功耗。
图2是用于SoC 100中的一个FF云102的更详细示意图。在这个实施例中,每个FF云包括多达248个触发器并且每个NVL阵列被设置成8×32位阵列,但是在这个实施例中,其中一个位用于奇偶校验。然而,在其它实施例中,触发器的数量和NVL阵列的结构可以具有不同的配置,例如4×m、16×m等等,其中m被选为匹配FF云的尺寸。在一些实施例中,各种云中所有的NVL阵列可以有相同的尺寸,而在其它实施例中同一SOC中可以有不同尺寸的NVL阵列。
块220是每个保持FF 120的更详细原理图。若干信号具有由后缀“B”(称为“条”或/)指示的反相版本,例如RET和RETB、CLK和CLKB等。每个保持FF包括主锁存器221和从锁存器222。从锁存器222由反相器223和反相器224形成。反相器224包括由保持信号(RET,RETB)控制的晶体管组,其在低功耗睡眠期间被用于保持FF状态,在此期间电源域VDDR导通而电源域VDDL关断,如上文和表1中所描述。
NVL阵列110逻辑地与其在云102中为之服务的248个FF连接。为了使数据能够从NVL阵列转移到FF,如在块220中所示两个附加端口被提供在每个FF的从锁存器222上。NVL数据ND的输入端由门225提供,其中门225由NVL更新信号NU使能。反相器223修改为允许反相NVL更新信号NUB禁用来自主锁存器221的信号。附加的晶体管不在FF的关键路径上并且在这个具体实施方式中对正常FF性能和功耗(仿真数据)的影响仅有1.8%和6.9%。当来自NVL阵列的数据在ND(NVL-数据)端口上有效时,给NU(NVL-更新)控制输入端提供高脉冲用于对FF进行写操作的周期。NVL阵列110的第三十一个数据输出信号扇出到八个三十一位FF组230-237的ND端口。
为了保存触发器状态,248个FF的Q输出端通过31b宽的8-1多路复用器212连接到NVL阵列110的31b并行数据输入端。为了使FF负荷最少,基于FF云的布局,多路复用器可被分解成更小的多路复用器并且放置到接近于它们服务的FF的位置。NVL控制器106使用8-1多路复用器212的选择信号MUX_SEL<2:0>同步到NVL阵列的写入。在系统备份期间系统时钟CLK被保持在非活动状态(例如,对于基于上升沿或正沿FF的逻辑CLK通常被保持为低,而对于基于下降沿或负沿FF的逻辑被保持为高)。
为了恢复触发器状态,NVL控制器106读取NVL阵列110中的NVL行,接着为合适的触发器组的NU信号提供脉冲。在系统恢复期间,保持信号RET保持高并且在电源域VDDL未供电时从ND对从锁存器进行写操作;这时不关心系统时钟CLK的状态。为了抑制与虚假数据交换有关的过度功耗,FF被设置为VDDL=0V和VDDR=VDD的保持状态,其中虚假数据交换发生在NVL阵列读操作期间更新每组31个FF时。一个本领域技术人员能够容易地想到在NVL数据恢复操作期间,以更高功耗为代价,适当修改的非保持触发器能够用在基于NVL的SoC中。
一旦VDDL上升,系统时钟CLK应当从非活动状态开始,此后利用FF中的更新信息继续正常同步操作。NVL阵列和它们各自的FF之间的数据传输能够以串行或并行或其任何组合的方式完成,以平衡峰值电流和备份/恢复时间。由于提供了对FF的直接访问,因此对于NVL操作,不需要来自微控制器处理单元(CPU)的干预;因而这种实施方式是SoC/CPU架构未知的(agnostic)。表2综述了NVL触发器的操作。
表2NVL触发器真值表
图3示出铁电电容器呈现的极性滞后的曲线图。铁电位单元的一般操作是已知的。当大多数材料被极化时,极化引起的P几乎完全正比于所施加的外部电场E;因此该极化是线性函数,称作电介质极化。当施加的电场E为零时,除了是非线性的,铁电材料展现出自发非零极化,如在图3中所示的。铁电的区别特征是自发极化能够由所施加的电场反向;这种极化不仅仅依赖于当前的电场,也依赖于它的历史,产生磁滞回线。术语“铁电”被用来指示铁电材料的类似物,其具有自发磁性并且也展示出磁滞回线。
由于在铁电材料的晶体结构中形成半持久电偶极效应,铁电电容器的电介质常数通常比线性电介质高的多。当外部电场施加在铁电电介质两端时,该偶极趋于将自身对齐磁场方向,该磁场方向由原子位置的小偏移产生,其导致晶体结构中的电荷分布偏移。当电荷被移走后,偶极保持它们的极化状态。二进制“0”和“1“在每个数据存储单元中被存储为两种可能电极化的其中一种。例如,在图中,可使用负剩余极化302编码“1”,而使用正剩余极化304编码“0”,反之亦然。
铁电随机存取存储器已以若干配置方式实现。FeRAM阵列中一个晶体管、一个电容器(1T-1C)的存储单元设计类似于广泛使用的DRAM中的存储单元的结构,因为两者的单元类型都包括一个电容器和一个存取晶体管。在DRAM单元电容器中,使用线性电介质,而在FeRAM单元电容器中,电介质结构包括铁电材料,典型的锆钛酸铅(PZT)。由于存取DRAM类型阵列的开销,所以小阵列如NVL阵列110中不太希望使用1T-1C单元。
四个电容器、六个晶体管(4C-6T)的单元是常用的该易于在小阵列中使用的单元类型。一个这样的单元在参考文献[2]中被更加详细地描述,其通过引用纳入本文。现在将描述一种改进的四电容器单元。
图4示出包括四个电容器和十二个晶体管(4C-12T)的铁电非易失性位单元400的一个实施例的原理图。四个FeCap以差分布局方式布置成两对。FeCap C1和C2串连以形成节点Q 404,并且FeCap C1’和C2’串连以形成节点QB 405,其中数据位经由位线BL写入节点Q并被存储在FeCap C1和C2中,而数据位的反相经由反相位线BLB写入节点QB并被存储在FeCap C1’和C2’中。感测放大器410耦合至节点Q和节点QB并被配置为在读取该位单元时,感测出现在节点Q、QB上的电压差。感测放大器410中的四个晶体管被配置为两个交叉耦合的反相器以形成锁存器。传输门402被配置以耦合节点Q和位线B,并且传输门403被配置以将节点QB耦合到位线BLB。每个传输门402、403通过使用并联的PMOS器件和NMOS器件实现。这种配置减少了写操作期间传输门两端的电压降,从而节点Q、QB在写期间呈现较高电压,因此更高的极化施加到FeCap。板线1(PL1)耦合至FeCap C1和C1’,而板线2(PL2)耦合至FeCap C2和C2’。板线用于在读和写操作期间提供偏置给FeCap。
可替换地,在另一个实施例中,CMOS传输门能够由使用具有比VDDL高的电压的传输门使能的NMOS传输门替换。该较高电压的幅度必须比通常的NMOS Vt大从而在位单元Q/QB节点和位线BL/BLB之间传输未降级的信号。因此,在这样一个实施例中,Vpass_gate_control应当﹥VDDL+Vt。
通常,会有位单元阵列400。接着会有多列类似的位单元形成n行乘m列阵列。例如,在SoC 100中,NVL阵列是8×32;然而,如前所述,可以实现不同的配置。
图5和图6分别是读取逻辑数据值0和写入逻辑数据值0的读写波形的时序图。对NVL阵列进行读和写是一个可由NVL控制器106控制以及由NVL时钟同步的多周期过程。在另一个实施例中,例如,这些波形可由从触发信号开始的固定或可编程延迟排序。在常规操作期间,由于在存储“1”的一侧上FeCap两端的恒定DC偏置,典型的4C-6T位单元易受到时间相关的电介质击穿(TDDB)的影响。在差分位单元中,由于还存储了数据值的反相版本,一侧或另一侧将总是存储“1”。
为了避免TDDB,当该单元没有被访问时,板线PL1、板线PL2、节点Q和节点QB保持在一静态低值,如在图5、6中的时间段s0期间所指示的。电源断开晶体管MP 411和MN 412允许感测放大器410响应于感测放大器使能信号SAEN和SAENB而在时间段s0期间从电源断开。钳位晶体管MC 406耦合至节点Q,而钳位晶体管MC’407耦合至节点QB。钳位晶体管406、407被配置为将Q和QB节点钳位至近似等于板线上的低逻辑电压的电压,以响应于非存取时间段s0期间的清除信号CLR,在这个实施例中,所述低逻辑电压等于0伏(地电势)。以这种方式,在没访问以读或写位单元的时间期间,没有电压施加到FeCap两端,因此基本上消除了TDDB。由于寄生泄漏电流,钳位晶体管也用于防止在节点Q和QB上聚集任何杂散电荷。杂散电荷的聚集会导致Q或QB上的电压升高到0伏以上,导致Q或QB与PL1和PL2之间的FeCap两端出现电压差。这能够导致FeCap剩余极化的非预期去极性而且可潜在地损坏存储在FeCap中的逻辑值。
在这个实施例中,Vdd为1.5伏并且接地参考面具有0伏的值。逻辑高具有约1.5伏的值,而逻辑低具有约0伏的值。使用不同于逻辑0(低)的接地和逻辑1(高)的Vdd的逻辑电平的其它实施例将把节点Q、QB钳位到对应于静态板线电压的电压,从而当没有访问该位单元时,FeCap两端实际上没有电压。
在另一个实施例中,可使用两个钳位晶体管。这两个晶体管中的每一个被用于将每个FeCap两端的电压钳位到不大于一个晶体管Vt(阈值电压)。每个晶体管被用于短路该FeCap。在这种情况下,对于第一晶体管,一个端子连接到Q而另一个连接到PL1,对于第二晶体管,一个端子连接到Q而另一个连接到PL2。所述晶体管可以是NMOS或者PMOS,但是更有可能使用NMOS。
通常,在其中使用两个晶体管钳位电路解决方案的位单元占用的面积并不明显多于一个晶体管的解决方案。单个晶体管钳位电路假定当本地VSS连接到单个钳位晶体管时PL1和PL2将保持在相同地电势,这通常是一个很好的假设。然而,会出现噪音或其它问题(尤其是在加电期间),可能引起PL1或PL2抖动或在PL1/PL2驱动器输出端和VSS之间具有短期的DC偏移;因而,两个晶体管设计可提供更稳健的解决方案。
为了读取位单元400,板线PL1被从低切换到高,同时保持板线PL2为低,如在时间段s2中所示的。这在节点Q、QB上引起电压,其电压值分别取决于C1-C2之间和C1’-C2’之间的电容比。而且产生的所述电压依赖于在对位单元中的FeCap进行最后一次数据写操作期间形成的每个FeCap的剩余极化。该剩余极化事实上“改变”每一个FeCap的有效电容值,这就是FeCap提供非易失性存储的方法。例如,当逻辑0被写入到位单元400时,C2的剩余极化导致它具有更低的有效电容值,而C1的剩余极化导致它具有更高的有效电容值。因此,当通过将板线PL1切换为高同时将板线PL2保持为低而在C1-C2两端施加电压时,节点Q上产生的电压符合公式(1)。类似的公式适用于节点QB,但是C1’和C2’剩余极化的顺序相反,从而节点Q和QB上产生的电压提供存储在位单元400中的数据值的差分表示,如图5的502、503处所示。
接着在时间段s3期间使能或启用本地感测放大器410。在感测差分值502、503之后,感测放大器410生成全轨道信号(full rail signal)504、505。在时间段s4期间通过断言传输门使能信号PASS、PASSB以使能传输门402、403将生成的全轨道信号传输到位线BL、BLB,因而响应于例如位于NVL阵列110外围的锁存使能信号LAT_EN将这些全轨道信号传输到输出锁存器。
图6示出写逻辑0到位单元400的时序图。在时间段s1期间通过将两条板线升高到Vdd开始该写操作。PL1和PL2上的信号转换电容耦合到节点Q和QB上,几乎同样地将两个存储节点有效地拉高到VDD(1.5v)。在时间段s2-s4期间,数据被提供在位线BL、BLB上并且传输门402、403由传输信号PASS使能以将数据位及其反相值从位线传输到节点Q、QB。在时间段s2期间写数据驱动器已经被迫在Q/QB上有充足的差别之后,在时间段s3、s4期间,由感测放大器使能信号SAEN、SAENB使能感测放大器410以提供额外的驱动。然而,为了避免感测放大器与1.2v驱动器电源短接,在时间段s3、s4期间开启感测放大器之前,在时间段s2的结束处关闭写数据驱动器。通过在第三时间段期间在PL1和PL2上保持逻辑1电压电平,从而在第三时间段期间耦合至具有逻辑0电压电平的节点Q或节点QB的FeCap被极化。通过在第四时间段期间在PL1和PL2上设置逻辑0电压电平,从而在第四时间段期间耦合至具有逻辑1电压电平的节点Q或节点QB的FeCap被极化。
在一替换实施例中,在整个数据写操作过程中,写操作可将PL2保持为0v或接地。这能够节省数据写操作期间的电力,但减少了50%的生成的读信号裕量,因为C2和C2’不再通过剩余极化保持数据而仅提供线性电容负载给C1FeCap和C2FeCap。
s2期间的关键状态如PL1高至SAEN高、读期间的s3期间的SAEN高脉冲以及写期间FeCap DC偏置状态s3-4能够可选地设置为多个周期,以提供更高的健壮性而不减慢NVL时钟。
对于基于FeCap的电路,从FeCap读数据会部分地对电容器去极化。为此,从FeCap读数据实质上被认为是破坏性的;即读数据会破坏FeCap的内容或者至少降低数据完整性。为此,在读操作已经发生后,如果期望包含在FeCap中的数据保持有效,则该数据必须被回写至FeCap。图7示出在位单元400上的回写操作的时序图,在位单元400读取位单元,然后将相同值写到该位单元。然而,转换的总数量少于不同且分开的读写操作(读,接着写)所需要的数量。这降低了整体能耗。
为了提供高度可靠的第一代NVL产品,位单元400被设计为最大化Q/QB两端的读差别。在每侧使用两个FeCap而不是使用一个FeCap并且恒定的BL电容作为负载,如参考文献[7]所述,因为这使得可用于感测放大器的差分电压加倍。由于节点Q和BL电容之间的电荷共享,感测放大器置于位单元内以阻止差别的丢失并避免传输门两端存在电压降。感测的电压约为VDD/2,并且HVT传输门可花费很长时间将它们传输到BL。位单元400帮助获得两倍的常规FRAM位单元的信号裕量,如参考文献[6]中所述,而不在FeCap两端造成任何DC应力。
图5和图6中示出的信号时序出于示意性目的。各种实施例可使用根据时钟速率、过程参数、器件尺寸等变化的信号序列。例如,在另一个实施例中,控制信号的时序可按如下操作。在时间段S1期间:PASS从0变到1并且PL1/PL2从0变到1。在时间段S2期间:SAEN从0变到1,在此期间感测放大器可执行如将在后面描述的电平转换,或提供额外的驱动强度以用于非电平转换设计。在时间段S3期间:PL1/PL2从1变到0并且波形的其余部分保持不变,但是提前了一个时钟周期。这个序列比图6示出的短一个时钟周期。
在另一个替换实施例中,控制信号的时序可按如下操作。在时间段S1期间:PASS从0变到1(BL/BLB、Q/QB分别为0v和VDDL)。在时间段S2期间:SAEN从0变到1(BL/BLB、Q/QB分别为0v和VDDN)。在时间段S3期间:PL1/PL2从0变到1(BL/Q通过PL1/PL2连接到接地以上并且由SA和BL驱动器驱动回低)。在时间段S4期间:PL1/PL2从1变到0并且波形的其余部分保持不变。
图8-9示出铁电非易失性位单元800,基于2C-3T自参考的NVL位单元的另一个实施例的原理图和时序图。之前描述的基于4-FeCap的位单元400在感测放大器的每一侧上使用两个FeCap来获得具有与标准1C-1T FRAM位单元相比二倍的裕量的差分读数。然而,因为其使用更多的FeCap,基于4-FeCap的位单元具有更大的面积并且会有更大的变化。
位单元800通过使用其自身作为参考(在此被称作自参考)以在更低面积中帮助获得类似4-FeCap的差分裕量。通过使用更少的FeCap,它还具有比4FeCap位单元小的变化。通常,单边单元需要使用参考电压,其在位单元操作范围的中间。与双边单元相比,这将读裕量减半。然而,随着电路制造工艺的发展,参考值会歪斜失真,进一步降低读裕量。自参考机制允许单边单元与它自身进行比较,从而提供较高的裕量。此处描述的自参考单元的测试已提供了超过固定参考单元的至少双倍裕量。
位单元800具有两个串联以形成节点Q 804的FeCap C1、C2。板线1(PL1)耦合至FeCap C1并且板线2(PL2)耦合至FeCap C2。这些板线被用于在读写操作期间给FeCap提供偏置。传输门802被配置以将节点Q耦合至位线B。传输门802通过使用并联的PMOS器件和NMOS器件实现。这种配置降低了写操作期间传输门两端的电压降,以使写期间节点Q、QB都具有更高的电压,因此更高的极化被施加到FeCap。可替换地,NMOS传输门可与增高的字线电压连用,如较早关于位单元400描述的。在这种情况下,PASS信号将被提高一个NFET Vt(阈值电压)。然而,这会导致可靠性问题和过度的功耗。使用CMOS传输门给位单元增加了额外的面积,但是改进了速度和功耗。
钳位晶体管MC 806耦合至节点Q。钳位晶体管806被配置以响应于在非存取时间段s0期间的清除信号CLR将Q节点钳位到约等于板线上的低逻辑电压的电压,其在这个实施例中是0伏(接地)。在这个方式中,在该位单元没有被存取进行读或写的时间期间,没有电压施加到FeCap两端,因此基本上消除了TDDB和不期望的部分去极化。
节点Q、板线PL1和PL2的初始状态都是0,如图9在时间段s0处所示,因此当该位单元没有被访问时,FeCap两端没有DC偏置。为了开始读操作,PL1切换为高而PL2保持低,如时间段s1期间所示。基于来自先前写入到该单元的最后数据值的FeCap的保留极化,根据电容比,在节点Q上产生第一感测电压902,如上文参照公式1所述。响应于使能信号PASS通过将该电压传输通过传输门802到达位线BL上然后响应于第二使能信号EN1通过传输门822,这个电压被存储在该位单元外部的读电容器820上。
接着,在时间段s2期间,PL1被切换回低并且节点Q通过使用钳位晶体管806放电。接下来,在时间段s3期间,PL2被切换为高保持PL1为低。节点Q上产生第二感测电压904,但是这次利用相反的电容比。接着这个电压经由传输门823存储在另一个外部读电容器821上。从而相同的两个FeCap被用于读高信号以及低信号。然后感测放大器810能够通过使用存储在外部读电容器820,821上的电压确定该位单元的状态。
当Q上的恢复信号经由BL传输到读存储电容器820和821时,为了经由电荷共享最小化信号损失,在传输门802、822和823被使能之前,经由预充电电路830将BL和读电容器预充电到近似为出现在板线PL1/PL2上的电压范围值的一半的电压。通常情况下,该预充电电压近似为VDDL/2,但是可以选择其它预充电电平以优化位单元的操作。
在另一实施例中,在产生第二感测电压之前,可以省略对节点Q进行放电的步骤,但是这会引起降低的读裕量。
通常情况下,将会有位单元800阵列。图8中示出的位单元800-800n的其中一列经由位线801耦合至读传输门822、823。接着可有多列类似位单元以形成n行乘m列的阵列。例如,在SoC 100中,NVL阵列是8×32;然而,如前所述,可以实现不同配置。例如,读电容器和感测放大器可位于存储器阵列的外围。读电容器可被实现为电介质器件、MOS器件、或现今已知的或后续开发的任何其它类型的电压存储器件。
图10是更详细地示出NVL阵列110的方框图。在大型阵列受控环境外部嵌入非易失性元件对可靠性和制造提出了挑战。如上文参考图1所述的,考虑到面积开销,增加可测试特征件到各个NVL FF中是禁止性的。为了分摊测试特征件成本和提高可制造性,通过使用基于FeCap的位单元的256位迷你-NVL阵列110实现SoC 100,其中位单元分散在整个逻辑云中以在移除电力时保存各种触发器120的状态。FF 120的每个云102-104包括关联NVL阵列110。中央NVL控制器106控制所有的阵列以及它们与FF 120的通信。
尽管NVL阵列可以实现为各种数目的n行乘m列配置,在这个例子中,NVL阵列110被实现为八行和三十二列位单元的阵列1040。每个单个的位单元,例如位单元1041,耦合至由行驱动器1042提供的控制线组。先前描述的控制信号,包括板线(PL1,PL2)、感测放大器使能(SEAN)、传输门使能(PASS)以及清除(CLR)都由行驱动器驱动。对于位单元的每一行具有行驱动器组。
每个单个的位单元,例如位单元1041,也经由该位线耦合至输入/输出(IO)驱动器组1044。在这个实施方式中,存在三十二组IO驱动器,例如IO驱动器组1050。当位线的一行被读取时,每个驱动器组产生提供数据值的输出信号1051。每个位线行进位单元的列的长度并且耦合至用于那列的IO驱动器。每个位单元可被实现为例如2C-3T位单元800。在这种情形中,单个位线将用于每列,并且感测放大器和读电容器将位于IO驱动器块1044中。在NVL阵列110的另一个实施方式中,每个位单元可被实现为4C-12T位单元400。在这种情形中,对于每一列,这些位线是具有两个IO驱动器的差分对。比较器可接收位线的差分对并产生被提供给输出锁存器的最终单个位线。NVL阵列110的其它实施方式可使用其他已知的或后续开发的位单元以及将会在下面更详细描述的行驱动器和IO驱动器。
时序逻辑模块1046生成用于控制读驱动器以为每个读写操作生成控制信号序列的时序信号。时序逻辑模块1046可通过使用同步或异步状态机、或其他已知或后来发展的逻辑技术实现。一个潜在的替换实施例利用具有多个输出的延迟链,以产生控制信号,其中该多个输出以期望间隔“分接”延迟链。能够使用多路复用器为每个控制信号提供多种时序选项。另一个潜在实施例使用可编程延迟发生器,其利用例如连接到合适控制信号的专用输出端以预期间隔产生边沿。
图11A是在图10的NVL阵列的I/O块1044中使用的用于列1-30中的IO电路1050的输入/输出电路组1101的更详细的原理图,而图11B示出用于列31的输入/输出电路。存在类似的用于列0的IO电路组,除了不需要门G1、G0和1370之外。I/O块1044提供若干特征件以帮助NVL位的可测试性。
现在参考图11A,第一锁存器(L1)1151在读期间用作输出锁存器并且也与第二锁存器(L2)1152组合以形成扫描触发器。扫描输出(SO)信号被路由到写驱动器块1158中的多路复用器1153以允许在调试期间将扫描的数据写入该阵列。扫描输出(SO)还耦合到下一组IO驱动器的扫描输入(SI)以形成三十二位的扫描链,该扫描链能够用于读或写来自NVL阵列110的整行位。在SoC 100中,每个NVL阵列的扫描锁存器可以串行方式连接以形成扫描链,从而允许使用该扫描链存取所有的NVL阵列。可替换地,为了加快扫描测试,每个NVL阵列中的扫描链可以并行方式(N个阵列将生成N条链)运行以减少每条链上的内部扫描触发位的数目。链的数目和每条链NVL阵列的数目可根据需变化。通常,在SoC 100中的所有存储锁存器和触发器包括扫描链以允许SoC 100的完整测试。扫描测试是已知的,不需要在此更详细地描述。在这个实施例中,NVL链与芯片上的逻辑链隔离,从而这些链能够被独立地训练并且NVL阵列能够被测试而不依赖于逻辑链的结构、实施方式、或者控制。NVL扫描链的最大总长度将总是小于逻辑链的总长度,因为NVL链长度以NVL阵列中的行数为除数减小。在当前的实施例中,每NVL阵列有8项,因此NVL扫描链的总长度是逻辑扫描链的总长度的1/8。这减少了存取和测试NVL阵列所需要的时间,从而减少了测试成本。同样,它不需要确定逻辑触发器、它们在逻辑扫描链上的位置和它们相应的NVL阵列位位置之间的映射(识别阵列、行和列位置),极大地简化了NVL测试、调试、以及故障分析。
尽管扫描测试有用,但它不为SoC 100的生产测试提供良好机制,因为它为测试SoC 100中的各种NVL阵列花费大量时间来扫描成百或上千的位。这是因为不存在对NVL阵列中的位的直接访问。每个NVL位单元被耦合至关联触发器并且仅仅通过保存触发器的状态被写入。因而,为了从该关联触发器加载模式测试到NVL阵列中,对应的触发器必须使用扫描链设置。为了控制NVL阵列中具体行的内容而确定扫描链上的哪些位必须被设置或清除是一项复杂的任务,因为要基于硅芯片上的任意组触发器的物理位置进行连接而不是基于任何常规算法。因此,触发器到NVL位置的映射不受控制并且通常有点随机。
在IO驱动器1101中提供一种改进的测试技术。返回参考图1,NVL控制器106具有状态机以对芯片上的所有NVL阵列执行快速通过/故障测试以筛选出坏的管芯。这是通过下列操作完成的:首先使用全0/1写驱动器1180将全0或1写到行中、施加偏移干扰电压(V_Off)、接着使用并行读测试逻辑1170读取同一行。如果来自数据锁存器1151的数据输出信号(DATA_OUT)为高,则来自与门G1的信号corr_1变高,并且来自相邻列的IO驱动器的并行读测试逻辑与门G1的信号corr_1为高。以这种方式,NVL阵列110中的三十二组I/O块1101/1131的G1与门实现大型32输入与门,其通知NVL控制器对于NVL阵列110的所选行是否所有输出为高。或门G0对读0执行相同操作。以这种方式,NVL控制器可指示SoC 100中的所有NVL阵列同时执行将全部1写入到所选行中,接着指示所有的NVL阵列同时读取所选行并通过仅使用少量控制信号提供通过故障指示而不将来自NVL控制器的任何明确的测试数据传输至NVL阵列。
在典型的存储器阵列BIST(内建式自测)实施方式中,BIST控制器必须访问所有的存储器输出值,从而能够比较每个输出位与期望的值。假设在典型的硅SOC芯片上有成千上万的逻辑触发器,则NVL阵列输出的总数量也能够数以千计。由于需要大量的数据连接和数据比较器,使用常规BIST逻辑电路测试这些阵列将是不可行的。对于具有八行的NVL阵列,NVL测试方法能够重复八次,从而能够仅在八个写周期和八个读周期中针对正确的全1操作而测试SoC 100中的所有NVL阵列。类似地,能够仅在八个写周期和八个读周期中针对正确的全0操作而测试SoC 100中的所有NVL阵列。重复次数将根据阵列结构变化。例如,一个十项的NVL阵列实施方式将重复该测试方法十次。通过额外的与门和或门,所有NVL阵列的结果可被汇聚成指示通过或故障的单个信号,该额外的与门和或门从每个NVL阵列接收corr_0和corr_1信号并产生单个corr_0和corr_1信号,或者NVL控制器可查看每个单个的corr_0和corr_1信号。
全0/1写驱动器1180包括PMOS器件M1、M3和NMOS器件M2、M4。器件M1和M2串联以形成耦合至位线BL的节点,而器件M3和M4串联以形成耦合至反相位线BLB的节点。NVL控制器106产生控制信号“all_1_A”和反相控制信号“all_1_B”。当在写周期期间被断言时,它们激活器件M1和M4从而拉动位线BL和BLB以表示逻辑1的数据值。类似地,NVL控制器106产生控制信号“all_0_A”和反相控制信号“all_0_B”。当在写周期期间被断言时,它们激活器件M2和M3从而拉动位线BL和BLB以表示逻辑0的数据值。以这种方式,响应于一控制信号该三十二个驱动器可操作以将全1写入位单元的行中,以及响应于另一控制信号将全0写入位单元的行中。本领域技术人员能够容易地设计其他电路拓扑来完成相同的任务。当前的实施例只需要四个晶体管来完成所需的数据写操作。
在正常写操作期间,写驱动器块1158接收将要被存储在data_in信号上的数据位值。写驱动器1156、1157将互补数据信号耦合至位线BL、BLB,从而达到所选择的位单元。写驱动器1156、1157由写使能信号STORE使能。
图12A示出读周期期间偏移电压测试的时序图。为了施加干扰电压到位单元,在读期间修改状态s1。这个图示出了用于读数据值“0”(节点Q)的电压干扰测试;用于数据值“1”的电压干扰测试是类似的,但是注入该干扰电压至感测放大器的相反侧(节点QB)。因此,基于被读的逻辑值,在这个实施例中,干扰电压被注入到感测放大器的低电压侧。位线干扰传输门1154、1155耦合至位线BL、BLB。数模转换器,未示出(例如,可以是片上、或外部测试器中的片外),由NVL控制器106、由片外测试控制器、或者经由外部生产测试器编程以生成所需量的偏移电压V_OFF。NVL控制器106可在s1时间段期间断言存储“0”的位线侧的Vcon控制信号,从而使能Vcon传输门1154、1155,在s1期间使用M2/M4对其它位线放电,以及在s1期间断言控制信号PASS以打开传输门402、403。如1202所示,这将“0”存储侧的节点Q/QB上的电压初始化到偏移电压V_Off。如1204所示,在s3期间这种预充电电压降低SA可用的差分,并因此促使该位单元离故障更近。对于快速生产测试,V_Off可被设置为所需的裕量值,接着使用G0-1的通过/故障测试可被用于筛选出任何故障的管芯。
图12B示出在偏移电压扫描期间产生的直方图。通过使用读周期序列扫描V_Off和扫描输出读数据位能够研究位电平故障裕量,如上所述。在这个例子中,最坏情况的读裕量是550mv,平均值是597mv,而标准偏差是22mv。以这种方式,SoC上的每个NVL阵列中的所有位单元的操作特性可被容易地确定。
如上所讨论的,在大型阵列的受控环境外部嵌入非易失性元件对可靠性和制造提出了挑战。NVL位单元应该被设计用于最大读信号裕量和原位可测试性,因为是任何NV-存储器技术所需的。然而,NVL实施方式不能依赖于类似SRAM的内建自测(BIST),因为NVL阵列分布在逻辑云内部。上述NVL实施方式包括由中央NVL控制器106控制的NVL阵列。当筛选具有满意行为的管芯时,NVL控制器106运行在片上执行的步骤序列而没有任何外部测试器的介入。该测试器只需要发布启动信号,并施加对应于所需信号裕量的模拟电压。控制器首先将全0或1写入NVL阵列中的所有位。接着它开始一次读取阵列的一行。该NVL阵列读操作不需要立即跟随NVL阵列写操作。例如,高温烘烤周期可插入到数据写操作和数据读操作之间以加速基于时间和温度的故障机制,从而在制造相关的测试期间,能够筛选出将长期影响数据保持的缺陷。如上面更详细地描述,该阵列包括与和或逻辑,其将该阵列的所有输出进行与和或运算。这两个信号被发送至NVL控制器。一旦读每一行时,NVL控制器查看来自该阵列的这两个信号,并基于知道先前写入的内容,决定在干扰电压存在时读取的数据正确与否。如果数据不正确,它发出故障信号给测试者,这时,测试者能够清除该管芯。如果该行通过,控制器移至阵列的下一行。所有阵列能够在正常NVL时钟频率下被并行地测试。测试者仅发出启动信号并提供所需的读信号裕量电压,就能够进行NVL阵列的高速片上测试,同时NVL控制器在内建测试过程的最后报告通过或每当检测到第一故障行时,生成故障信号。可立即报告故障,从而测试者能够在第一失败点上中止该测试过程,而不浪费测试剩余的行的额外测试时间。这是很重要的,因为对于所有非易失性存储器(NVM),测试时间以及由此的测试成本经常占据了具有嵌入式NVM的SoC的整个测试成本。如果NVL控制器激活“完成”信号并且在该测试过程期间的任何时间都没有激活故障信号,则正在进行测试的管芯通过了所需的测试。在裕量测试期间,快速测试模式可被禁用,从而能够对所有单元进行裕量测试,而不是在检测到错误后停止测试。
为了进一步的故障分析,控制器还可具有调试模式。在这个模式中,测试者能够指定阵列和行号,接着NVL控制器能够读或写仅仅那一行。使用NVL扫描链能够扫描出所读的内容。这个方法提供了对管芯上的任意NVL位的读或写访问而无需CPU介入或要求使用长的复杂的SOC扫描链,在SOC扫描链中,NVL阵列位到各个触发器的映射是随机的。进而,这能够配合施加模拟电压而完成以用于读信号裕量确定,因此能够测量各个位的精确裕量。
这些能力促进NVL的实用性,因为没有测试特征件,在产品中使用非易失性逻辑元件有风险。进而,具有最小测试者交互的片上通过/故障测试减少了测试时间从而降低了成本。
使用分布在逻辑云中的迷你阵列的NVL实现方式意味着复杂的如ECC的错误检测方法将需要大量的额外存储器列和将在每一个阵列上使用的控制逻辑,这从面积的立场而言是被禁止的。然而,为了提供增强的可靠性水平,SoC100的NVL阵列可包括奇偶校验保护,作为一种低成本错误检测方法,如现在将更详细地描述的。
图13示出了NVL阵列110中奇偶校验生成的原理图,其示出具有三十二列位(0:31)的示例NVL阵列,其对来自位线BL的数据值和前一列的IO驱动器的类似异或门输出进行异或运算。NVL阵列的每个IO驱动器部分如部分1350可包括异或门1160,再次参考图11A。在写期间,被写入每个位单元的数据将出现在位线BL上并且通过使能锁存输出锁存器1151使能信号,被写入的数据也在输出锁存器1151中被捕获并因此可经由内部数据信号DATA_INT提供至异或门1160。在行写操作期间,列30中的异或门1160的输出是正被写入到位列0:30中的该行数据的总奇偶校验值并被用于通过将其输出反馈至该NVL迷你阵列的列31中的多路复用器1153的数据输入端,如图11B中的XOR_IN所示,以将奇偶校验值写入最后一列。
以类似的方式,在读期间,每个异或门1160异或经由来自读锁存器1151的内部数据值DATA_INT(参照图11A)而来自位线BL的读数据和前一列的IO驱动器的类似异或门的输出。位列30中的异或门1160的输出是该行数据的总奇偶校验值,该行数据是从位列0:30读出并被用于由奇偶校验错误检测器同或门(XNOR)1370将其与位列31中读出的奇偶校验值进行比较。如果从读数据确定的总奇偶校验值不匹配从列31中读出的奇偶校验位,那么指示奇偶校验错误。
当检测到奇偶校验错误时,它表示存储的FF状态值是不可信的。由于在断电状态后SoC重新启动操作时NVL阵列通常正在被读取,那么奇偶校验错误的检测表示该存储的FF状态可以被损坏而且需要执行全面引导操作以重新生成正确的FF状态值。
然而,例如,如果在关断电源前没有正确地存储FF状态或这是个全新的器件,那么会存在不确定情况。例如,如果NVL阵列是空的,那么通常情况下所有的位都可能具有零值,或者它们可能全具有1值。在全零的情形中,为所有零生成的奇偶校验值将是零,其将匹配奇偶校验位零值。因此,该奇偶校验测试将错误地指示FF状态是正确的并且不要求进行引导操作,但实质上是需要。为了避免这种情况发生,例如,可由位线驱动器1365将该奇偶校验位的反相版本写入列31。再次参考图11A,注意当列0-30的位线驱动器1156也反相该输入数据位时,当接收到data_in位时,多路复用器1153反相data_in位,因此结果是列0-30中的数据被非反相地存储。在另一个实施例中,例如,可反转数据位而不反转奇偶校验错误。
在全1的情形中,如果存在偶数个列,那么计算的奇偶校验值将等于零,并且1的反相值将被存储在该奇偶校验列中。因此,在具有全1的偶数个数据列的NVL阵列中,将不会检测奇偶校验错误。为了避免这种情况发生,NVL阵列110被限制为具有奇数个数据列。例如,在这个实施例中,对于总共三十二个位单元阵列,有三十一个数据列和一个奇偶校验列。
在一些实施例中,当NVL读操作发生时,用于NVL阵列的控制逻辑促使奇偶校验位被读取、反相和回写。这允许NVL阵列在先前的NVL阵列写操作未完成或无效/损坏时检测。单个读周期没有完全抵消剩余极化。通常情况下,它耗去5-15个读周期完全去极化FeCap或充分损坏该数据以可靠地触发NVL读奇偶校验。例如,如果在最后的NVL存储操作期间由于失去电力,八个NVL阵列行中仅有四个被写入,这极有可能会导致不完全捕捉先前的机器状态。然而,由于剩余极化,没有被写入最近状态存储序列中的四行很有可能仍然包含先前时间的过期数据,例如两个NVL存储事件之前,而不是来自最近的NVL数据存储事件的数据。来自该四行的奇偶校验值和过期数据将很有可能被读取为有效数据而不是无效数据。在下一个唤醒/上电事件期间,当机器状态从NVL阵列恢复时,这极有可能引起机器锁死或崩溃。因此,通过在每一项被读取后回写反相的奇偶校验位,每行过期数据基本上被强行无效。
将数据回写到NVL项耗电量较大,因此优选地不将数据回写到所有位,而仅仅是奇偶校验位。当前的阵列实施例对所有非奇偶校验位(即数据位)禁用PL1、PL2和感测放大器使能信号以最小化这个特征件的寄生功耗。在另一个实施例中,例如,差分位而不是奇偶校验位可被强行反相以产生相同的结果。
以这种方式,每次SoC从无电状态转换到上电状态,能够有效确定从NVL阵列正被读取的数据包括有效FF状态信息。如果检测到奇偶校验错误,那么能够执行引导操作以代替从NVL阵列恢复不正确的FF状态。
返回参考图1,低功率SoC 100具有多个电压和电源域,例如VDDN_CV、用于NVL阵列的VDDN_FV、用于睡眠模式保持锁存器和阱电源的VDDR、以及用于形成系统微控制器、各种外围设备、SRAM、ROM等的成批逻辑块的VDDL,如较早参照表1和表2所描述的。FRAM具有内部电源开关并被连接到常开电源VDDZ。此外,VDDN_FV域可被设计为工作在一个电压上,如FeCap位单元所需要的1.5v,而VDDL和VDDN_CV域可被设计为工作在更低电压下以节省电力,例如,如0.9-1.5v。这种实施方式要求使用电源开关108、电平转换以及适当区域中的隔离。现在将更详细地描述与NVL块110相关的所需的隔离和电平转换方面。该电路被设计为使得VDDL/VDDN_CV能够是任何小于或等于VDDN_FV的有效电压并且该电路将正确地工作。
图14示出了NVL阵列110中的电源域的框图。各种逻辑块和存储器可被配置为如表3所示。
表3-示例的全芯片电源域
表3中描述的电源域VDDL、VDDN_CV、VDDN_FV和VDDR通过使用独立的电源开关组如先前所描述的开关108控制。然而,对于一些情况,会需要隔离。IO缓冲器块1044中的数据输出缓冲器在NVL逻辑电源域VDDN_CV中,并因此在芯片的正常操作期间,可在域VDDR(或者VDDL,依赖于具体实施方式)导通时保持关闭。在这样的情形中,实施ISO-低隔离以将所有这些信号都接地。当VDDN_CV关断时,如果来自VDDN_CV域的任何信号是浮动的(当VDDN_CV域断电时没有被驱动),如果它们未被隔离,则在随机逻辑区域中,VDDR(或VDDL,依赖于具体实施方式的)域中连接到数据输出端的逻辑可在内部电路中的电源和地之间生成短路电流。这同样适用于correct_0/1输出并且扫描出NVL阵列的输出值。这里大体的思想是当NVL阵列没有被供电时,隔离NVL阵列的任何输出。如果芯片中存在常开逻辑,则必须使用VDD域外围的输入隔离来隔离所有从VDDL或VDDN_CV到VDD的信号。额外的内建隔离存在于ND输入处的NVL触发器中。这里,输入传至传输门,它的控制信号NU由常开信号驱动。当预计该输入是不确定的时,将NU变低,从而禁用该ND输入端。类似的内建式隔离在数据输入和NVL阵列的扫描输入上存在。当VDDL为OFF时,NVL恢复期间将会需要这种隔离。此外,信号NU和NVL数据输入多路复用器使能信号(mux_sel)可仅在VDDR域中缓冲。这同样适用于保持使能信号。
为了使能各种省电模式的操作,VDDL、VDDN_CV和VDDN_FV域不同时期关闭,并且要使其可能而不允许短路电流或其它漏电流,隔离是很关键的。
在通往NVL位单元的NVL阵列的控制输入上需要从更低电压VDDL域到更高电压VDDN域的电平转换,如:例如,行使能、PL1、PL2、恢复、撤销、以及清除。这通过允许能在较低电压上工作的SOC逻辑块和NVL逻辑门这样做而使系统功率损耗降低。对于位单元阵列1040中的每行位单元,存在驱动每行位单元的信号的字线驱动器组1042,这些信号包括,例如板线PL1、PL2、传输门使能PASS、感测放大器使能SAEN、清除使能CLR以及电压裕量测试使能VCON。VDDN给位单元阵列1040和字线电路块1042供电。到1042的输入信号上的电平转换由专用电平转换器处理(参看图15),而到位单元阵列1040的输入上的电平转换可由NVL位单元内的特殊排序电路处理而无需将任何额外的专用电路加到阵列数据路径或位单元。
图15是NVL阵列110中使用的电平转换器1500的原理图。图15图示了可以是字线驱动器组1402的部分的一个字线驱动器。电平转换器1500包括在用于字线驱动器1042的1.5伏特VDDN域中在区域1502中形成的PMOS晶体管P1、P2和NMOS晶体管N1、N2。然而,时序和控制模块1046中的控制逻辑位于1.2v VDDL域(1.2v被用于表示能够从0.9v到1.5v变动的可变VDDL核电源)的区域1503中。1.2伏信号1506表示由控制模块1046生成的任何行控制信号,用于访问NVL位单元阵列1040。反相器1510在区域1503中形成控制信号1511、1512的互补对,然后控制信号1511、1512可被路由到电平转换器1500中的晶体管N1和N2。在操作中,当1.2伏信号1506变高时,NMOS器件N1将PMOS器件P2的栅极拉低,这使得P2将信号1504拉高到1.5伏。类似地,当1.2伏信号1506变低时,互补信号1512使NMOS器件N2将PMOS器件P1的栅极拉低,这上拉PMOS器件P2的栅极并允许信号1504变低,近似零伏。该NMOS器件必须比PMOS器件强,从而转换器不会被阻塞。以这种方式,可以跨电压域完成电平转换并且可通过在较低电压域1503中设置控制逻辑(包括反相器1510)以节省电力。对于每个信号,控制器通过两个互补控制信号1511、1512耦合至每个电平转换器1500。以这种方式,可容易地平衡驱动器电路1500中的数据路径时序而无需控制信号的反相。
图16示出在铁电位单元中使用感测放大器的电平转换操作的时序图。从多路复用器212提供至NVL阵列110的输入数据,再次参考图2,还需要在写操作期间从1.2v VDDL域电平转换到1.5伏VDDN域中的FeCap的最好操作所需的1.5v。例如,这可利用位单元400的感测放大器来完成。再次参考图4和图13,注意每个位线BL,例如BL 1352,其来自1.2伏VDDL域,耦合至位单元400中的传输门402或403。感测放大器410在1.5v VDDN电源域下工作。现在参考图16,注意在时间段s2期间,数据被提供在位线BL、BLB上,并且在时间段s2期间,传输门402、403由通过信号PASS使能以将数据位和它的反相值从位线传送到差分节点Q、QB。然而,如在1602处所示,所传输的电压电平被限制到小于1.5v电平,因为该位线驱动器位于1.2vVDDL域中。
在时间段s2期间,写数据驱动器如写驱动器1156、1157在Q/QB上具有强制的足够差分1602之后,在时间段s3、s4期间,感测放大器410由感测放大器使能信号SAEN、SAENB使能以提供额外的驱动,如在1604处所示。由于感测放大器由较高电压(VDDN)供电,则该感测放大器将响应由写数据驱动器在感测放大器两端建立的差别以及将感测放大器的逻辑0侧(Q或QB)钳位到VSS(衬底电压、接地),而包含逻辑1的其它侧被上拉到VDDN电压电平。以这种方式,在NVL存储操作期间,现存的NVL阵列硬件被重用以提供电压电平转换功能。
然而,为了避免从感测放大器到1.2v驱动器电源的短路,在时间段s3、s4期间感测放大器开启之前,在时间段s2的最后,写数据驱动器与感测放大器隔离。这可通过在时间段s2之后通过去断言STORE信号以关闭位线驱动器来完成和/或还可通过在时间段s2之后对PASS去断言以禁用传输门来完成。
图17示出在具有非易失性逻辑阵列的SoC中使用奇偶校验进行错误检测的操作流程图。用于非易失性逻辑的存储器阵列可被设置成n行乘m列,其耦合至一个或更多个核逻辑块,如上述更详细地描述的。在每次写行时,m个数据位被写入1706存储器阵列的所选行中。如上述更详细地描述的,m被限制为奇数个数据位,从而对于没有被初始化的阵列而言,能够保证正确的奇偶校验操作。
计算1702对应于m个数据位的奇偶校验位,然后在被写入1706存储器阵列中的所选行之前,其被相对于m个数据位反转1704。对于没有被初始化的阵列而言,执行该反转以便能够确保正确的奇偶校验操作,如上述更详细地描述。
读取1708存储器阵列的所选行以恢复m个存储的数据位及相应的奇偶校验位。如上述更详细地描述,在所有电力从NVL阵列所处的SoC移除一段时间之后,为了恢复触发器状态,在通常情况下,读取NVL阵列。
执行奇偶校验检查以确定1710在所恢复的数据位中是否存在奇偶校验错误。如果存在奇偶校验错误,则可在SoC上执行引导操作1712以重新建立正确的触发器状态。
当奇偶校验正确时,从NVL阵列的所选行读取的数据然后可被用于恢复1714耦合至NVL阵列的所选行的相应位的逻辑单元的状态。
如上述详细地描述的,在一些实施例中,当NVL读操作发生时,读取奇偶校验位,反转1716奇偶校验位,然后回写奇偶校验位。将数据回写到NVL项中是非常耗电的,因此优选地不将数据回写到所有位,而仅回写到奇偶校验位。阵列的当前实施例禁用PL1、PL2和用于所有非奇偶校验位(即数据位)的感测放大器使能信号,从而最小化这个特征件的寄生功耗。如上文所述的,在每次读取之后,不同位(不同于奇偶校验位)可被强制地反转以产生相同的结果。
在读和写操作期间,可使用位于NVL阵列的IO逻辑内的一组分布式XOR门计算奇偶校验位,如上述更详细地描述的。
系统实例
图18是包括如上所述的NVL阵列的另一个SoC 1800的框图。SoC 1800的特征为:Cortex-M0处理器核1802、UART 1804和SPI(串行外设接口)1806接口以及10KB ROM 1810、8KB SRAM 1812、64KB(铁电RAM)FRAM 1814存储器块、具有商用超低功耗(ULP)微控制器的特性。基于130nm FRAM工艺(参考文献[1])的SoC使用单电源1.5V、8MHz系统时钟和用于NVL工作的125MHz时钟。当运行分别来自SRAM&FRAM的代码时,该SoC分别消耗75uA/MHz&170uA/MHz。备份和恢复2537个FF的整个系统状态的能量和时间成本仅分别需要4.72nJ&320ns和1.34nJ&384ns,其设置了此类器件的工业标杆。SoC 1800为每个NVL位提供测试能力,如上面更详细地描述,以及550mV的原位读信号裕量。
SoC 1800具有由10个NVL阵列服务的2537个FF和锁存器。中央NVL控制器控制所有阵列和它们与FF的通信,如上面更详细地描述。该分布式NVL迷你阵列系统架构有助于分摊测试特征件成本,获得具有每位2.2pJ/0.66pJ的极低的系统电平睡眠/唤醒能量成本,仅3.6%的SoC面积开销。
其它实施例
尽管本发明寻求发现例如在片上系统(SoC)中实现的微控制器(MCU)的具体应用,但是它也发现其它形式的处理器和集成电路三维应用。SoC可包括一个或更多个模块,所述模块的每一个包括与由设计库提供的预先设计的功能性电路结合的定制设计的功能性电路。
尽管已参考示例性实施例描述了本发明,但本说明书并非旨在解释为限制性含义。在参考本说明书的基础上,本发明的各种其它实施例对本领域技术人员将会是明显的。例如,其它便携式、或移动系统,例如远程控制、访问标记和钥匙扣(fobs)、智能信用卡/借记卡和模拟器、智能电话、数字助理,以及任何其它现有已知的或以后开发的便携式或嵌入式系统可体现本文所述的NVL阵列,从而允许从完全断电状态几乎立即恢复到全面工作状态。
尽管在此描述了保持锁存器耦合至非易失性FeCap位单元的实施例,在另一实施例中,来自NVL阵列的非易失性FeCap位单元可耦合至不包括低功耗保持锁存器的触发器或锁存器。在这种情形中,系统将例如在全功率状态或其他基于降低的电压和时钟速率的功率降低状态,和完全断电状态之间进行转换。如上所述,在断电之前,触发器和锁存器的状态将会被保存在分布式NVL阵列中。当恢复电力时,将会通过由关联的NVL阵列位单元提供的输入而初始化该触发器。
本公开中描述的技术可以以硬件、软件、固件、或它们的任何组合实现。如果以软件实现,该软件可在一个或更多个处理器中执行,例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或数字信号处理器(DSP)。执行该技术的软件可被初始地存储在计算机可读介质中如光盘(CD)、软盘、磁带、文件、存储器、或任何其它计算机可读存储设备,以及被载入处理器并被处理器执行。在一些情形中,软件还可以计算机程序产品的形式售卖,其中计算机程序产品包括计算机可读介质和用于该计算机可读介质的封装材料。在一些情形中,可通过可拆卸计算机可读介质(例如,软盘、光盘、闪存、USB秘钥)、通过来自另外的数字系统上的计算机可读介质的传输路径等分发该软件指令。
整个说明书和权利要求书中使用的特定术语指代特定系统组件。正如本领域技术人员将会意识到的,数字系统中的组件可以用不同名称指代,和/或可以以不同方式组合,在此未示出但不背离所描述的功能性。本文并不旨在区分组件的名称而是其功能。在接下来的讨论和权利要求书中,术语“包括”和“包含”以开放的方式使用,从而应该被解释为“包括,但不限于”的意思。此外,术语“耦合”和它的派生词旨在表示间接、直接、光学的、和/或无线电连接。因此,如果第一器件耦合至第二器件,则这种连接可以通过直接电连接、通过经由其它器件和连接的间接电连接、通过光电连接、和/或通过无线电连接。
尽管在此可以以顺序方式呈现和描述方法步骤,但是所使出和描述的一个或更多个步骤可以被省略、重复、通知执行、和/或以不同于图中所显示和/或本文描述的顺序的顺序执行。因此,本发明的实施例不应当被认为限制于图中所示的和/或本文所描述的步骤的具体顺序。
因此可以想到所附权利要求书将覆盖落入本发明真正范围和精神内的实施例的任何修改。
参考文献:
[1]T.S.Moise,等,“Electrical Properties of Submicron(>0.13um2)Ir/PZT/Ir Capacitors Formed on W Plugs(钨栓塞上形成的亚微米(>0.13um2)Ir/PZT/Ir电容器的电气属性)”,Int.Elec.Dev.Meet(国际电工发展会议),1999。
[2]S.Masui,等,“Design and Applications of Ferroelectric NonvolatileSRAM and Flip-FF with Unlimited Read,Program Cycles and Stable Recall(具有非限读取、程序周期和稳定召回的铁电非易失性SRAM和Flip-FF的设计和应用)”,IEEE CICC(电气与电子工程师协会客制化集成电路会议),2003年9月。
[3]W.Yu,等,“A Non-Volatile Microcontroller with Integrated Floating-Gate Transistors(具有集成浮栅晶体管的非易失性微控制器)”,IEEE DSN-W(电气与电子工程师协会可靠的系统和网络研讨会),2011年6月。
[4]Y.Wang,等,“A Compression-based Area-efficient RecoveryArchitecture for Nonvolatile Processors(用于非易失性处理器的基于压缩的有效面积恢复架构)”,IEEE DATE(IEEE时代),2012年3月。
[5]Y.Wang,等,“A 3us Wake-up Time Nonvolatile Processor Based onFerroelectric Flip-Flops(基于铁电触发器的3us唤醒时间的非易失性处理器)”,IEEEESSCIRC(IEEE欧洲固态电路会议),2012年9月。
[6]K.R.Udayakumar,等,“Manufacturable High-Density 8Mbit OneTransistor–One Capacitor Embedded Ferroelectric Random Access Memor(可制造的高密度8M比特1的晶体管-嵌入一个电容器的铁电随机存取存储器)”,JPN.J.Appl.Phys.(日本学者应用物理),2008年。
[7]T.S,Moise,等,“Demonstration of a 4Mb,High-Density FerroelectricMemory Embedded within a 130nm Cu/FSG Logic Process(嵌入在130nm Cu/FSG逻辑工艺内的4Mb高密度铁电存储器的实例)”,IEDM(国际电子器件会议),2002年。
Claims (13)
1.一种片上系统,即SoC,包括:
一个或更多个核逻辑块;
耦合至所述一个或更多个核逻辑块的存储器阵列,其中所述存储器阵列包括:
n行乘m列数据位单元和一列奇偶校验位单元,其中m是奇数;
奇偶校验逻辑模块,其耦合至所述m列数据位的数据输出端和所述一列奇偶校验位单元的数据输出端,其中对于每行数据位单元和相关联的奇偶校验位单元,所述奇偶校验逻辑模块被配置为响应于存储在所述数据位单元中的数据生成奇偶校验位并将所述奇偶校验位的反转表示存储在所述奇偶校验位单元中;和
控制逻辑模块,其耦合至所述奇偶校验逻辑模块和所述一个或更多个核逻辑块,其中所述控制逻辑模块被配置为在检测到奇偶校验错误时使所述一个或更多个核逻辑块执行重启操作。
2.根据权利要求1所述的SoC,其中所述位单元是铁电位单元。
3.根据权利要求1所述的SoC,其中所述奇偶校验逻辑模块包括跨越所述m列分布的两输入异或门组。
4.根据权利要求1所述的SoC,其中所述控制逻辑模块被进一步配置为在每次读取行时,通过反转所述行中的位值以无效所述行中的奇偶校验。
5.根据权利要求1所述的SoC,其中所述SoC进一步包括易失性触发器组,并且其中每个所述易失性触发器可互换地耦合至所述位单元的相应一个;并且其中所述控制逻辑模块可操作以在没有检测到所述存储器阵列中的奇偶校验错误时,通过读取所述位单元来恢复所述易失性触发器组的状态。
6.根据权利要求5所述的SoC,其中所述SoC进一步包括多个所述存储器阵列和多个所述易失性触发器组。
7.一种用于操作片上系统即SoC的方法,所述SoC包括设置成n行乘m列的耦合至一个或更多个核逻辑块的非易失性位单元的存储器阵列,所述方法包括:
计算对应于m个数据位的奇偶校验位,其中m是奇数个数据位;
反转所述奇偶校验位;
将所述m个数据位和反转的奇偶校验位写入所述存储器阵列的所选行;
读取所述存储器阵列的所选行以恢复m个存储的数据位和相应的奇偶校验位;
确定恢复的数据位中是否存在奇偶校验错误;以及
当检测到奇偶校验错误时,在所述SoC上执行引导操作。
8.根据权利要求7所述的方法,其中计算奇偶校验位包括使用异或逻辑函数即XOR逻辑函数合并所述m个数据位。
9.根据权利要求8所述的方法,其中通过异或列数据值和来自相邻列的XOR函数的输出,以分布式方式执行奇偶校验位的计算。
10.根据权利要求9所述的方法,进一步包括通过在每次读取所述存储器阵列的所选行时,反转所述行中的位值来无效所述存储器阵列的所选行中的奇偶校验位值。
11.根据权利要求10所述的方法,其中当读取所述存储器阵列的所选行时,仅反转和回写所述奇偶校验位值。
12.根据权利要求7所述的方法,其中所述SoC包括多个所述非易失性位单元,其可互换地耦合至多个易失性触发器的相应的一个,其中,对于每个非易失性位单元,从所述位单元读取的数据值是相应的易失性触发器的状态值。
13.根据权利要求12所述的方法,进一步包括:
从每个所述易失性触发器向所述非易失性位单元的相应的一个传输状态值;
移除所述多个非易失性位单元和所述多个易失性触发器的所有电力;以及恢复所述多个非易失性位单元和所述多个易失性触发器的电力;以及
如果没有检测到奇偶校验错误,则通过将从每个非易失性位单元读取的所述状态值传输到相应的易失性触发器来恢复所述多个易失性触发器的每一个的状态,否则,当检测到奇偶校验错误时,强制所述SoC重启。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/753,856 US8854079B2 (en) | 2013-01-30 | 2013-01-30 | Error detection in nonvolatile logic arrays using parity |
US13/753,856 | 2013-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973272A CN103973272A (zh) | 2014-08-06 |
CN103973272B true CN103973272B (zh) | 2018-06-01 |
Family
ID=51222230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410085140.3A Active CN103973272B (zh) | 2013-01-30 | 2014-01-28 | 非易失性逻辑阵列中使用奇偶校验的错误检测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8854079B2 (zh) |
CN (1) | CN103973272B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150279486A1 (en) * | 2014-03-26 | 2015-10-01 | Emulex Corporation | System and method for adding error protection capability to a digital logic circuit |
US9252755B1 (en) * | 2014-07-24 | 2016-02-02 | Lattice Semiconductor Corporation | Shared logic for multiple registers with asynchronous initialization |
US9846612B2 (en) | 2015-08-11 | 2017-12-19 | Qualcomm Incorporated | Systems and methods of memory bit flip identification for debugging and power management |
US9634017B1 (en) * | 2015-12-04 | 2017-04-25 | Globalfoundries Inc. | Semiconductor structure including a nonvolatile memory cell and method for the formation thereof |
US10008423B1 (en) * | 2015-12-28 | 2018-06-26 | Apple Inc. | Transistor work function adjustment by laser stimulation |
CN107544861A (zh) * | 2016-06-24 | 2018-01-05 | 国民技术股份有限公司 | 具有攻击防护结构的系统 |
CN106601305A (zh) * | 2016-11-18 | 2017-04-26 | 华中科技大学 | 一种使用检错码和纠错码相结合的固态盘纠错方法 |
US10325049B2 (en) | 2017-01-18 | 2019-06-18 | International Business Machines Corporation | Placement-driven generation of error detecting structures in integrated circuits |
US10510401B2 (en) * | 2017-05-22 | 2019-12-17 | Taiwan Semicondutor Manufacturing Company Limited | Semiconductor memory device using shared data line for read/write operation |
CN107561432A (zh) * | 2017-07-27 | 2018-01-09 | 中国船舶重工集团公司第七二四研究所 | 一种基于奇偶校验的时序信号故障检测方法 |
KR20200076846A (ko) * | 2018-12-20 | 2020-06-30 | 에스케이하이닉스 주식회사 | 메모리 장치에 저장된 데이터의 에러를 검출하는 장치 및 그 동작 방법 |
CN110096012B (zh) * | 2019-05-24 | 2022-02-18 | 中核控制系统工程有限公司 | 具有辅助检测的核电设备驱动模块 |
CN110457970A (zh) * | 2019-09-12 | 2019-11-15 | 上海明矽微电子有限公司 | 一种rfid芯片上存储器的自校验方法 |
CN112216333B (zh) * | 2020-09-30 | 2024-02-06 | 深圳市宏旺微电子有限公司 | 芯片测试方法及装置 |
WO2022269492A1 (en) * | 2021-06-22 | 2022-12-29 | Untether Ai Corporation | Low-power static random access memory |
WO2022269493A1 (en) | 2021-06-22 | 2022-12-29 | Untether Ai Corporation | Low-power static random access memory |
US11789075B1 (en) * | 2022-06-29 | 2023-10-17 | Advanced Micro Devices, Inc. | Split-scan sense amplifier flip-flop |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864232A (zh) * | 2003-06-12 | 2006-11-15 | 因芬尼昂技术股份公司 | 磁阻随机存取存储器中的错误检测和修正方法及装置 |
JP2008181609A (ja) * | 2007-01-25 | 2008-08-07 | Oki Electric Ind Co Ltd | 揮発性半導体記憶装置及びそのアクセス評価方法。 |
CN101529525A (zh) * | 2005-10-17 | 2009-09-09 | 特拉维夫大学拉莫特有限公司 | 每单元多位的闪速存储器的概率错误校正 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6043676A (en) * | 1994-11-04 | 2000-03-28 | Altera Corporation | Wide exclusive or and wide-input and for PLDS |
US6751723B1 (en) * | 2000-09-02 | 2004-06-15 | Actel Corporation | Field programmable gate array and microcontroller system-on-a-chip |
US7639056B2 (en) | 2005-05-26 | 2009-12-29 | Texas Instruments Incorporated | Ultra low area overhead retention flip-flop for power-down applications |
US7653862B2 (en) * | 2005-06-15 | 2010-01-26 | Hitachi Global Storage Technologies Netherlands B.V. | Error detection and correction for encoded data |
US8341501B2 (en) * | 2009-04-30 | 2012-12-25 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
-
2013
- 2013-01-30 US US13/753,856 patent/US8854079B2/en active Active
-
2014
- 2014-01-28 CN CN201410085140.3A patent/CN103973272B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864232A (zh) * | 2003-06-12 | 2006-11-15 | 因芬尼昂技术股份公司 | 磁阻随机存取存储器中的错误检测和修正方法及装置 |
CN101529525A (zh) * | 2005-10-17 | 2009-09-09 | 特拉维夫大学拉莫特有限公司 | 每单元多位的闪速存储器的概率错误校正 |
JP2008181609A (ja) * | 2007-01-25 | 2008-08-07 | Oki Electric Ind Co Ltd | 揮発性半導体記憶装置及びそのアクセス評価方法。 |
Also Published As
Publication number | Publication date |
---|---|
US20140210511A1 (en) | 2014-07-31 |
CN103973272A (zh) | 2014-08-06 |
US8854079B2 (en) | 2014-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973272B (zh) | 非易失性逻辑阵列中使用奇偶校验的错误检测 | |
CN103971741B (zh) | 非易失性位单元阵列中的信号电平转换 | |
CN103971742B (zh) | 具有内建测试驱动器的非易失性逻辑阵列 | |
CN103971740B (zh) | 两个电容器自参考的非易失性位单元 | |
CN104620192B (zh) | 处理设备中的非易失性逻辑阵列和电源域分割 | |
US8897088B2 (en) | Nonvolatile logic array with built-in test result signal | |
US8797783B1 (en) | Four capacitor nonvolatile bit cell |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |