非易失性逻辑阵列中基于优先级的备份的制作方法

文档序号:6517715阅读:154来源:国知局
非易失性逻辑阵列中基于优先级的备份的制作方法
【专利摘要】本发明涉及非易失性逻辑阵列中基于优先级的备份。处理设备基于优先级或分箱结构而选择性地只备份某些数据。在一种方法中,非易失性逻辑控制器通过在非易失性逻辑元件阵列中存储表示机器状态的少于机器状态的所有数据的一部分数据来存储机器状态。因此,非易失性逻辑控制器通过根据用于备份和恢复的第一类别来存储机器状态的第一组程序数据,并通过根据用于备份和恢复的第二类别来存储机器状态的第二组程序数据,以此在多个非易失性逻辑元件阵列中存储机器状态。
【专利说明】非易失性逻辑阵列中基于优先级的备份
[0001]相关申请
[0002]本申请要求享有2012年9月10日提交的美国临时申请61/698,906的权益,该临时申请通过引用整体并入到此。
【技术领域】
[0003]本发明总体涉及非易失性存储器单元及其在系统中的使用,特别涉及与逻辑阵列的组合,以提供非易失性逻辑模块。
【背景技术】
[0004]许多便携式电子设备依靠电池操作,例如手机、数码相机/摄像机、个人数字助理、膝上型电脑和视频游戏。在不活动周期期间,设备可能不执行处理操作,并且可能被置于在断电模式或待机功率模式以保存电力。在低功耗待机功率模式下,提供给电子设备内一部分逻辑的电源可能被关闭。然而,在待机功率模式期间漏电流的存在代表了对设计便携式、电池操作的设备的挑战。设备内的数据保持电路(例如触发器和/或锁存器)可以被用来在设备进入待机功率模式之前存储状态信息以便以后使用。数据保持锁存器(其还可以被称为阴影锁存器或气球锁存器)通常由单独的“常开”电源供电。
[0005]用于在不活动周期期间减少漏电流的已知技术利用多阈值CMOS (MTCMOS)技术来实现阴影锁存器。在这种方法中,阴影锁存器利用厚栅氧化物晶体管和/或高阈值电压(Vt)晶体管来减少待机功率模式中的漏电流。阴影锁存器在正常操作期间(例如在有效功率模式期间)通常与电路的其余部分脱离,以维持系统性能。为了在“主从”触发器拓扑中保持数据,第三锁存器(例如阴影锁存器)可以被添加到主锁存器和从锁存器,用于数据保持。在其他情况下,从锁存器可以被配置为在低功耗操作期间作为保持锁存器操作。然而,仍然需要一些功率来保持所保存的状态。例如,参见美国专利7,639,056 “Ultra Low AreaOverhead Retention Flip-Flop for Power-Down Applications,,,其通过引用并入到此。
[0006]片上系统(SoC)是已经存在了很长时间的概念;基本方法是将越来越多的功能集成到给定的设备。这种集成可以采取硬件或解决方案软件的形式。传统上通过增加时钟速率和采用更先进的工艺节点来实现性能增益。许多SoC设计将微处理器核或多个核与各种外围设备和存储器电路配对。
[0007]能量收集(也被称为功率收集或能量采集)是从外部源得到、捕获能量并且存储用于小型无线自治设备(例如用在可佩带电子器件和无线传感器网络中的那些设备)的过程。收集的能量可以从各种源得到,例如:太阳能、热能、风能、盐度梯度和动能等。然而,典型的能量收集器为低能量的电子器件提供非常少量的功率。能量收集器的能量源作为周围背景而存在,并且可供使用。例如,温度梯度存在于内燃机的操作中,而在城区,由于无线电和电视广播等,环境中存在大量的电磁能量。
【专利附图】

【附图说明】[0008]图1是根据本发明各种实施例配置的一部分示例片上系统(SoC)的功能方框图;
[0009]图2是图1的SoC中使用的一个触发器群的更详细的方框图;
[0010]图3是示出由铁电电容器展示的极化磁滞的图;
[0011]图4-7是示出根据本发明的各种实施例配置的示例铁电非易失性位单元的原理图和时序图;
[0012]图8-9是示出根据本发明的各种实施例配置的另一个示例铁电非易失性位单元的原理图和时序图;
[0013]图10是示出图1的SoC中使用的示例NVL阵列的方框图;
[0014]图1lA和图1lB是图10的NVL阵列中使用的输入/输出电路的更详细的原理图;
[0015]图12A是示出根据本发明的各种实施例配置的在读取周期期间的示例偏移电压测试的时序图;
[0016]图12B是示出根据本发明的各种实施例配置的在偏移电压的示例扫描期间生成的直方图;
[0017]图13是示出图10的NVL阵列中奇偶校验生成的原理图;
[0018]图14是示出根据本发明的各种实施例配置的NVL阵列内的示例电源域的方框图;
[0019]图15是根据本发明的各种实施例配置的在NVL阵列中使用的示例电平转换器的原理图;
[0020]图16是示出根据本发明的各种实施例配置的在铁电位单元内使用感测放大器的电平移位的示例操作的时序图;
[0021]图17是根据本发明的各种实施例配置的示例功率检测布置的方框图;
[0022]图18是示出根据本发明的各种实施例配置的处理设备分类数据的示例操作的流程图;
[0023]图19是根据本发明的各种实施例配置的处理设备基于优先级备份数据的另一个示例操作的流程图;以及
[0024]图20是根据本发明的各种实施例配置的包括NVL阵列的另一个示例SoC的方框图。
[0025]本领域技术人员将理解,示出图中的元件是为了简单和清楚,不一定按比例绘制。例如,图中的某些元件的尺寸和/或相对位置可以相对于其他元件被夸大,以帮助更好地理解本发明的各种实施例。同样地,经常不描述在商业上可行的实施例中有用或必需的常见但易于理解的元件,以便有助于减少对这些不同实施例的理解的阻碍。还将理解,可以以特定的发生顺序描述或描绘某些动作和/或步骤,而本领域技术人员将明白,实际上并不需要关于序列的这种特异性。还将理解的是,此处使用的术语及表达具有如本领域技术人员如上阐述对这些术语和表达所赋予的普通技术含义,除了在此阐述的不同的具体含义。
【具体实施方式】
[0026]现在将参考附图详细描述本发明的具体实施例。为了一致,各个附图中的类似元件由类似的参考数字表示。在下列详细描述中,阐述许多具体的细节以提供更透彻的理解。然而,对本领域技术人员显而易见的是,没有这些具体细节也可以实施本发明的各方面。在其他实例中,没有详细描述公知的特征以避免不必要地使描述复杂化。
[0027]虽然现有技术系统使用保持锁存器来保持低功耗操作期间逻辑模块中的触发器的状态,但是仍然需要一些功率来保持状态。相比之下,在完全去除电源时,非易失性元件可以保持逻辑模块中的触发器的状态。这类逻辑元件在此将被称为非易失性逻辑(NVL)。在SoC(片上系统)内用NVL实现的微控制单元(MCU)可以具有在不损失功能的情况下停止、断电和上电的能力。在完全去除电源后,不需要系统复位/重启来恢复操作。这种能力对新兴的能量收集应用来说是理想的,例如近场通信(NFC)、射频识别(RFID)应用和嵌入式控制和监测系统,例如,在这些系统中,复位/重启过程的时间和功率成本会消耗许多可用能量,从而为有用的计算、感测或控制功能留下很少能量或没有留下能量。虽然本说明书讨论了包含可编程MCU以便对SOC状态机进行排序的S0C,但本领域技术人员可以明白,NVL可以应用于硬编码到普通逻辑门或基于ROM、PLA或PLD的控制系统的状态机。
[0028]在一种方法中,SoC包括一个或多个非易失性逻辑块。例如,基于非易失性逻辑(NVL)的SoC可以在接收到电力中断后备份其工作状态(所有触发器),在睡眠模式下具有零泄漏,以及在上电后需要小于400ns来恢复系统状态。
[0029]没有NVL,芯片将必须在至少一个低功耗保持状态(即使在待机模式下,该状态也需要持续的电源)下保持所有触发器供电,或者必须在上电后浪费能量和时间重启。对于能量收集应用,NVL是有用的,因为没有保存触发器(FF)状态所需的恒定电源,并且即使当间歇性的电源可用时,引导代码也会独自消耗所有的收集的能量。对于具有有限的散热和电池容量的手持设备来说,具有“瞬时接通(instant-on)”能力的零泄漏IC(集成电路)是理想的。
[0030]铁电随机存取存储器(FRAM)是与DRAM(动态随机存取存储器)具有相似行为的非易失性存储器技术。可以访问每个单独的位,但是不像EEPR0M(电可擦除可编程只读存储器)或闪存,FRAM不需要特殊的序列来写数据,其也不需要电荷泵来实现所需的较高编程电压。每个铁电存储器单兀包含一个或多个铁电电容器(FeCap)。各铁电电容器可以用作此处所述的NVL电路中的非易失性元件。
[0031]图1是示出一部分计算设备的功能方框图,在这种情况下,示例片上系统(SoC) 100提供基于非易失性逻辑的计算特征。虽然术语SoC在此被用来指包含一个或多个系统元件的集成电路,但是本公开的教导可以应用于如下各种类型的集成电路,这些集成电路包含功能逻辑模块,例如锁存器、集成的时钟门控单元以及提供非易失性状态保持的触发器电路元件(FF)。在大阵列的受控环境外部嵌入非易失性存储元件对可靠性和制造性提出了挑战。通常针对任意NV-存储器技术所需的最大读取信号裕量和原位裕量可测试性而设计基于NVL位单元的NVL阵列。然而,依据面积开销,向各个NVL FF增加可测试性特征可能是禁止的。
[0032]为了摊销测试特征成本并提高可制造性,参考图1和图2的示例,布置多个非易失性逻辑元件阵列或NVL阵列110和多个易失性存储元件220。至少一个非易失性逻辑控制器106被配置为控制该多个NVL阵列110以存储由多个易失性存储元件220表示的机器状态,并从该多个NVL阵列110将存储的机器状态读出到多个易失性存储元件220。例如,至少一个非易失性逻辑控制器106被配置为生成用于保存机器状态至多个NVL阵列110或从多个NVL阵列110获取机器状态的控制序列。多路复用器(MUX) 212被连接以将易失性存储元件220中的各个元件可变地连接到NVL阵列110中的一个或多个对应的各个元件。
[0033]在所示的示例中,计算设备装置被布置在单个芯片上,此处是使用基于FeCap (铁电电容)的位单元的256b迷你阵列110 (此处将被称为NVL阵列)实现的SoClOO,基于FeCap的位单元被分散在整个逻辑群(cloud)中以当电源被移除时保存各种触发器120的状态。每一群102-104FF120包括关联的NVL阵列110。这种分散使得NVL阵列110的各个阵列在物理上被靠近布置并且连接以从易失性存储元件220中对应各个元件接收数据。中央NVL控制器106控制所有的阵列和它们与FF120的通信。虽然此处示出三个FF群102-104,但是SoClOO可以具有全部由NVL控制器106控制的额外的或更少的FF群。S0C100可以被划分成多于一个的NVL域,在其中有专门的NVL控制器用于管理每个单独的NVL域中的NVL阵列110和FF120。现有的NVL阵列实施例使用256位的迷你阵列,但是阵列可以根据需要具有更多或更少数量的位。
[0034]使用包含如下电路系统的经修改的保持触发器120来实现SoClOO,所述电路系统被配置为使得数据能够从多个非易失性逻辑元件阵列的各个阵列回写至多个触发器电路的各个电路。有各种已知的方法来实现保持触发器。例如,数据输入可以由第一锁存器锁存。耦合到第一锁存器的第二锁存器可以接收用于保持的数据输入同时第一锁存器在待机功率模式中不工作。第一锁存器从第一电源线接收电力,在待机功率模式期间第一电源线被关断。第二锁存器从第二电源线接收电力,在待机模式期间第二电源线保持接通。控制器接收时钟输入和保持信号,并提供时钟输出到第一锁存器和第二锁存器。保持信号的变化指示转换到待机功率模式。控制器继续将时钟输出保持在预定的电压电平,而第二锁存器继续在待机功率模式中从第二电源线接收电力,由此保持该数据输入。在美国专利7,639,056“Ultra LowArea Overhead Retention Flip-Flop”中更详细地描述了这种保持锁存器。
[0035]图2示出示例保持触发器架构,该保持触发器架构不要求时钟在保持期间保持在特定的状态。在这种“无时钟” NVL触发器设计中,时钟值在保持期间是“不关心的(don’ tcare)”。
[0036]在SoClOO中,经修改的保持FF120包括简单的输入和控制修改,以允许例如当系统被转换到断电状态时,每个FF的状态被保存在NVL阵列110中关联的FeCap位单元中。当系统恢复时,则将保存的状态从NVL阵列110转移回到每个FF120。通过实现特定的功率配置,可以提高功率节约和数据完整性。在这样的一种方法中,各保持触发器电路包括由第一电源域(例如下述示例中的VDDL)供电的主逻辑电路部分(主级或主锁存器)以及由第二电源域(例如下述示例中的VDDR)供电的从级电路部分。在这种方法中,在从多个NVL阵列向多个易失性存储元件回写数据期间,第一电源域被配置为断电而第二电源域有效。多个非易失性逻辑元件被配置为由第三电源域(例如下述示例中的VDDN)供电,第三电源域在计算设备装置的常规操作期间被配置为断电。
[0037]借助这种配置,可以实现多个电源域,这些电源域以可以专门设计以适合给定实现的方式独立地上电或断电。因此,在另一个方面,计算装置包括第一电源域和第二电源域,第一电源域被配置为向计算设备装置的切换逻辑元件供电,第二电源域被配置向如下逻辑元件供电,这些逻辑元件被配置为控制信号,以便将数据存储到多个非易失性逻辑元件阵列或从多个非易失性逻辑元件阵列读取数据。当多个易失性存储元件包括保持触发器时,第二电源域被配置为向保持触发器中的各触发器的从级供电。第三电源域为多个非易失性逻辑元件阵列供电。除了电源域,NVL阵列可以被定义为与特定功能有关的域。例如,多个非易失性逻辑元件阵列中的至少一个阵列中的第一组可以与计算设备装置的第一功能关联,并且多个非易失性逻辑元件阵列中的至少一个阵列中的第二组可以与计算设备装置的第二功能关联。多个非易失性逻辑元件阵列中的至少一个阵列中的第一组的操作独立于多个非易失性逻辑元件阵列中的至少一个阵列中的第二组的操作。经这样配置,对分离的NVL阵列域或组的控制和处理的灵活性允许对计算设备整体功能进行更多粒度地控制。
[0038]这种更具体的控制也可以应用于电源域。在一个示例中,第一电源域被划分成第一部分和第二部分,第一部分被配置为向与第一功能关联的切换逻辑元件供电,第二部分被配置为向与第二功能关联的切换逻辑元件供电。第一电源域的第一部分和第二部分被单独地配置为独立于第一电源域的其它部分而被上电或断电。类似地,第三电源域可以被划分成第一部分和第二部分,第一部分被配置为向与第一功能关联的非易失性逻辑元件阵列供电,第二部分被配置为向与第二功能关联的非易失性逻辑元件阵列供电。与第一电源域一样,第三电源域的第一部分和第二部分被单独地配置为独立于第三电源域的其它部分而被上电或断电。
[0039]经如此配置,如果个别的功能未用于给定设备,则与未使用的功能关联的触发器和NVL阵列可以分别与其他触发器和NVL阵列分开地断电和操作。功率和操作管理的这种灵活性允许关于功率使用和功能调整计算设备功能。这可以在下面的示例设计中进一步示出,该示例设计具有CPU、三个SPI接口、三个UART接口、三个I2C接口和仅一个逻辑电源域(VDDL)。逻辑电源域区别于保持或NVL电源域(分别为VDDR和VDDN),虽然这些教导也可以应用到那些电源域。虽然这个示例设备只有一个逻辑电源域,但该设备的给定应用可能仅使用三个SPI单元中的一个、三个UART中的一个和三个I2C外围设备中的一个。为了允许应用优化NVL应用唤醒和睡眠时间以及能量成本,VDDL电源域可以被划分为10个单独的NVL域(一个CPU、三个SP1、三个UART、三个I2C,共计10个NVL域),每个域可以独立于其他域而被启用/禁用。因此,客户可以针对其具体应用启用CPU、一个SP1、一个UART和一个I2C的NVL能力,同时禁用其他域。此外,该划分还允许时间以及能量的灵活性,并且不同的NVL域可以在不同的时间点保存和恢复状态。
[0040]为了进一步增加灵活性,NVL域可以与电源域交叠。参照上面的示例,可以定义四个电源域:CPU、SP1、UART和I2C各自一个(每个外围设备电源域具有三个功能单元),同时在每个外围设备域内定义三个NVL域,以及定义一个用于CPU (再次总共有10个NVL域)。在这种情况下,除了控制每个电源域内的NVL域外,各电源域开启或关闭,以便增加功率节省和唤醒/睡眠时序的灵活性。
[0041]此外,第一电源域、第二电源域和第三电源域中的每个电源域被配置为独立于第一电源域、第二电源域和第三电源域中的其他电源域而断电或上电。例如,一体的电源门(power gate)可以被配置为经控制以断电第一电源域、第二电源域和第三电源域中的每个电源域。如下表I中所述,第三电源域被配置为在计算设备装置的常规操作期间断电,而第二电源域被配置为在从多个非易失性逻辑元件阵列向多个易失性存储元件回写数据期间断电。第四电源域可以被配置为向实时时钟和唤醒中断逻辑供电。
[0042]可以参考示出的示例SoCIOO进一步理解这些方法,其中NVL阵列110和控制器106在被称为VDDN的NVL电源域上操作,并在常规操作期间关断。所有的逻辑、诸如ROM (只读存储器)和SRAM (静态随机存取存储器)的存储器块107以及FF的主级在被称为VDDL的逻辑电源域上。FRAM(铁电随机存取存储器)阵列直接连接到专用全局供电轨(VDDZ),其维持在FRAM所需的较高固定电压(即VDDL〈=VDDZ,其中VDDZ是固定的电源,而VDDL可以是变化的,只要VDDL保持在比VDDZ低的电势)。注意到,103中所示的FRAM阵列通常包含集成的电源开关,该电源开关允许FRAM阵列根据需要而被断电,但是容易看出,没有内部电源开关的FRAM阵列可以与FRAM阵列外部的电源开关结合使用。保持FF的从级在被称为VDDR域的保持电源域上,以使得在待机操作模式下能够常规保持。表1总结了正常操作、系统备份到NVL阵列、睡眠模式、系统从NVL阵列恢复以及返回到正常操作期间的电源域操作。表1还指定待机空闲模式期间使用的域,可以在系统软件的控制下启动待机空闲模式,以便使用保持触发器的易失性保持功能进入功率降低的状态。在108处指示的一组开关用于控制各种电源域。可能存在多个开关108,这些开关可以分布在整个SoCIOO上并由软件控制,所述软件由SoCIOO上的处理器和/或由SoClOO内的硬件控制器(未示出)执行。除了此处示出的三个域外,还可能存在额外的域,如后面将描述的。
[0043]
SoC模式I触发器~I触发器源|vddl Ivddr Ivddn
常规操作NaiiaON ON OFF
系统备份到NVL~电源坏~ON ON ON
睡眠模式备份完成NVL控制器0FF~ OFF OFF
系统从NVL恢复~电源好~^OFF~ ON ON
常规操作恢复完成NVL控制器@ ON^ OFF
待机保持模式 Si 系统软件 OFF~ON OFF
[0044]
[0045]表1-系统功率模式
[0046]状态信息可以被保存在大型的集中式FRAM阵列中,但将需要更多的时间来进入睡眠模式,较长唤醒时间,过度路由以及由不能并行访问系统FF所造成的功率成本。
[0047]图2是SoClOO中使用的一个FF群102的更详细的方框图。在此实施例中,每个FF群包括多达248个触发器,并且每个NVL阵列被组织成8 X 32位的阵列,但在此实施例中一位用于奇偶校验。然而,在其它实施例中,触发器的数量和NVL阵列的组织形式可以具有不同的配置,如4Xm,16Xm等,其中m被选作匹配FF群的尺寸。在一些实施例中,各种群中的所有NVL阵列可以是相同大小,而在其他方法中,在同一 SoC中可能有不同大小的NVL阵列。
[0048]模块220是每个保持FF120的更详细的原理图。若干信号具有由后缀“B”(指“bar”或/)指示的反相版本,例如RET和RETB、CLK和CLKB等。每个保持FF包括主锁存器221和从锁存器222。从锁存器222由反相器223和反相器224形成。反相器224包括由保持信号(RET、RETB)控制的一组晶体管,该组晶体管用于在低功耗睡眠周期期间保持FF状态,在该低功耗睡眠周期期间,电源域VDDR仍然接通,而电源域VDDL关闭,如上面和表I中所述。
[0049]NVL阵列110与其在群102中服务的248个FF逻辑连接。一般而言,为了使数据能够从NVL阵列传送到FF,各FF包括被配置为使得能够从多个NVL阵列110中的各个阵列回写数据的电路系统。在示出的示例中,在每个FF的从锁存器222上提供两个额外的端口,如模块220中所示。数据输入端口(门225)被配置为将数据ND从NVL阵列110之一插入到关联的易失性存储元件220。数据输入端口被配置为通过响应于在数据输入使能端口上接收到来自至少一个非易失性逻辑控制器106的更新信号NU以触发数据输入端口,从而允许与存储数据相关的信号从NVL阵列之一传送到关联的触发器电路的从级,以此插入数据ND。反相器223被配置为响应于接收到反相的NVL更新信号NUZ而被禁用,以避免三态反相器223和NVL数据端口输入三态反相器225之间的电冲突。
[0050]更具体地,在示出的示例中,反相器-反相器反馈对(223和224)本身形成锁存器。这些反相器构成用于保持数据状态的非常稳定的配置,并将对抗改变锁存器状态的任意企图,除非至少一个反相器被禁用,以防止当通过其中一个数据端口尝试用下一状态改写当前状态时的电冲突。与常规触发器包括一个数据端口相比,示出的NVL FF220包括访问从锁存器222的两个数据端口。一个端口通过时钟控制的cmos传输门将数据从主级221传送到从级222。当使用此端口更新从级222时,驱动到由CLK控制的传输门的输出节点的反相器224被禁用以避免电冲突,而反相器223被启用以将下一状态传送到锁存器的另一侦牝使得锁存器的两侧具有下一状态,准备好在时钟变低(对于上升沿FF)时保持数据。
[0051]由于相同的原因,当ND数据端口由转换到有效高状态的NU激活时,反相器223被禁用,以避免ND端口上的电冲突。第二反相器224被启用,以将下一状态传送到锁存器的另一侧,使得锁存器的两侧具有下一状态,以当NU变低时被锁存。在这个示例中,NU端口没有以任何方式影响由时钟控制的其他数据端口。在双端口 FF上,两个端口同时有效是非法的控制条件,产生的端口冲突意味着产生的下一状态将是不确定的。为了避免端口冲突,如果从状态被更新同时处于功能模式,则系统保持时钟处于无效状态。在保持模式中,RET信号和FF内的支持电路用于在处于保持模式的同时防止电冲突,而不管CLK状态如何(见主级中由RETB控制的反相器)。
[0052]如所示,这些额外的元件被布置在关联的FF的从级222中。然而,额外的晶体管不在FF的关键路径上,而且在此特定实施中对正常FF性能和功率(模拟数据)仅具有1.8%和6.9%的影响。当来自NVL阵列的数据在ND (NVL-Data)端口上有效时,NU (NVL-Update)控制输入被脉冲到高电平持续一个周期以写入到FF。NVL阵列的三十一位数据输出扇出到8 位FF组的ND端口。
[0053]为了保存触发器状态,多路复用器被配置为传送来自多个易失性存储元件220中的多个单独的易失性存储元件元件的状态,以便基本同时存储在多个NVL阵列110中的单独一个NVL阵列中。例如,多路复用器可以被配置为连接到N组易失性存储元件,每组具有多个易失性存储元件中的M个易失性存储元件,并且连接到多个NVL阵列中NXM大小的NVL阵列。在此配置中,多路复用器将N组中的一组连接到NXM大小的NVL阵列,以将来自M个易失性存储元件的数据一次存储到NXM大小的NVL阵列的一行中。在示出的示例中,248个FF的Q输出通过31b宽的8_1多路复用器212连接到NVL阵列110的31b并行数据输入。为了最小化FF加载,可以基于FF群的布局将多路复用器分解为更小的多路复用器,并且被放置得靠近它们服务的FF。再次,NVL控制器同步对NVL阵列的写入以及8_1多路复用器212的选择信号MUX_SEL〈2:0>。
[0054]当FF在保持模式下操作时,计算设备的时钟CLK是“不关心的”,使得对于易失性存储元件来说,时钟CLK相对于每当NU信号有效时更新从级状态是不相关的,由此非易失性逻辑控制器被配置为控制和执行从易失性存储元件中的各元件到非易失性存储元件中的各元件的数据存储。换句话说,在保持模式期间NVL数据恢复的过程中不需要时钟CLK控制,但是一旦恢复系统状态,刚好在保持模式和功能模式之间的过渡之前,时钟CLK应被控制在系统级。在另一种方法中,当系统处于功能模式时,NVL状态可以被恢复到易失性存储元件。在VDDL电源有效的这种情况下,在自NVL阵列的数据恢复期间,对于易失性存储元件,时钟CLK被保持在无效状态,由此非易失性逻辑控制器被配置为控制和执行从非易失性存储元件中的各元件到易失性存储元件中的各元件的数据传输。例如,对于基于上升沿FF的逻辑,系统时钟CLK通常被保持在低电平,而对于基于下降沿FF的逻辑,系统时钟CLK通常被保持在高电平。
[0055]一般来说,为了从常规操作移动到系统备份模式,第一步是将系统时钟停止在无效状态以冻结机器状态,以便在备份进行的同时不改变。时钟被保持在无效状态直到备份完成。备份完成后,所有的电源域被断电,并且时钟的状态按照定义在睡眠模式中变为“不关心的”。
[0056]当从NVL阵列恢复状态时,FF被置于保持状态(参见下面的表2),在保持状态中,只要RET信号是有效的,时钟就继续是“不关心的”(借助增加到每个保持FF的特殊晶体管,时钟可以是“不关心的”,并且由RET信号控制)。当恢复NVL状态时,触发器仍然处于保持模式,所以时钟仍然是“不关心的”。一旦NVL状态被恢复,控制系统时钟状态的机器逻辑的状态也将被恢复到它们原来在状态备份时所处的状态,这也意味着对于这个示例,将系统时钟置于无效状态的所有控制(包括易失性存储元件或FF)现在已被恢复,使得在NVL数据恢复完成后,系统时钟将仍然处于无效状态。现在RET信号可以被停用,并且系统将在时钟停用的情况下处于静止,直到NVL控制器向电源管理控制器发送恢复完成的信号,响应于此,电源管理控制器将再次使能时钟。
[0057]为了在恢复期间恢复触发器状态,NVL控制器106读取NVL阵列110中的一行NVL,然后为适当的触发器组脉冲NU信号。在系统恢复期间,保持信号RET被保持在高电平,并且在电源域VDDL未被供电的情况下从ND对从锁存器进行写入;此时,系统时钟CLK的状态是“不关心的”。在VDDL=OV且VDDR=VDD的情况下将FF置于保持状态,以便抑制与假数据切换有关的额外功耗,所述假数据切换发生在NVL阵列读取操作期间更新每组31个FF时。适当修改的非保持触发器可以用于基于NVL的SoC中,其代价是在NVL数据恢复操作期间功耗较高。
[0058]一旦VDDL上升,系统时钟CLK就应该从低电平开始,其后用FF中的更新信息继续正常的同步操作。可以以串行方式或并行方式或其任何组合完成NVL阵列和其相应的FF之间的数据传输,以权衡峰值电流和备份/恢复时间。因为直接访问被提供给由至少一个非易失性逻辑控制器控制的FF,该至少一个非易失性逻辑控制器与用于计算设备装置的中央处理单元分离,所以对于NVL操作不需要来自微控制器处理单元(CPU)的干预;因此该实现是SoC/CPU架构不可知的。表2总结了 NVL触发器的操作。
[0059]
【权利要求】
1.一种计算设备装置,其提供基于非易失性逻辑的计算,该装置包括: 多个非易失性逻辑元件阵列; 多个易失性存储元件; 至少一个非易失性逻辑控制器,其被配置为控制所述多个非易失性逻辑元件阵列,以存储由所述多个易失性存储元件表示的机器状态,并将存储的机器状态从所述多个非易失性逻辑元件阵列读出到所述多个易失性存储元件; 其中所述至少一个非易失性逻辑控制器进一步被配置为通过在所述多个非易失性逻辑元件阵列中存储表示所述机器状态的少于所述机器状态的所有数据的一部分数据,以此存储所述机器状态。
2.如权利要求1所述的计算设备装置,其中所述至少一个非易失性逻辑控制器进一步被配置为通过根据用于备份和恢复的第一类别来分类所述机器状态的第一组程序数据,并且根据用于备份和恢复的第二类别来分类所述机器状态的第二组程序数据,以此在所述多个非易失性逻辑元件阵列中存储所述机器状态。
3.如权利要求2所述的计算设备装置,其中所述至少一个非易失性逻辑控制器进一步被配置为响应于所述计算设备装置进入备份状态,在所述多个非易失性逻辑元件阵列中存储所述第一组程序数据。
4.如权利要求3所述的计算设备装置,其中所述第一组程序数据对应于所述计算设备装置中的被配置为当所述计算设备装置在功能模式下操作时为有效的单元。
5.如权利要求2所述的计算设备装置,其中所述至少一个非易失性逻辑控制器进一步被配置为响应于表示默认状态的所述第二组程序数据,在所述多个非易失性逻辑元件阵列中存储所述第二组程序数据。
6.如权利要求5所述的计算设备装置,其中所述第二组程序数据对应于所述计算设备装置中的被配置为当所述计算设备装置在测试模式或配置模式下操作时为有效的单元。
7.如权利要求2所述的计算设备装置,其中所述至少一个非易失性逻辑控制器进一步被配置为在所述多个非易失性逻辑元件阵列中不存储所述机器状态的第三组程序数据。
8.如权利要求7所述的计算设备装置,其中所述第三组程序数据对应于所述计算设备装置中的被配置为是具有当所述计算设备装置的时钟处于无效状态时为透明的锁存器的时序单元的单元。
9.如权利要求7所述的计算设备装置,其中所述第三组程序数据对应于所述计算设备装置中的被配置为是作为只读指令缓冲器或读取高速缓存的数据通路的一部分的时序单元的单元。
10.一种方法,其包括: 操作使用多个易失性存储元件的处理设备; 响应于所述处理设备进入备份状态,通过存储表示机器状态的少于所述机器状态的所有数据的一部分数据,将存储在所述多个易失性存储元件中的所述处理设备的所述机器状态存储在多个非易失性逻辑元件阵列中。
11.如权利要求10所述的方法,其中存储所述机器状态进一步包括根据第一类别存储所述机器状态的第一组程序数据,并根据第二类别存储所述机器状态的第二组程序数据。
12.如权利要求11所述的方法,其中存储所述机器状态进一步包括响应于所述处理设备进入备份状态,在所述多个非易失性逻辑元件阵列中存储所述第一组程序数据。
13.如权利要求12所述的方法,其中存储所述第一组程序数据包括存储来自所述处理设备中的当所述处理设备在功能模式下操作时为有效的单元的数据。
14.如权利要求11所述的方法,其中存储所述机器状态进一步包括响应于所述处理设备进入默认状态,在所述多个非易失性逻辑元件阵列中存储所述第二组程序数据。
15.如权利要求14所述的方法,其中存储所述第二组程序数据包括存储来自所述处理设备中的当所述处理设备在测试模式或配置模式下操作时为有效的单元的数据。
16.如权利要求11所述的方法,进一步包括在所述多个非易失性逻辑元件阵列中不存储所述机器状态的第三组程序数据。
17.如权利要求16所述的方法,其中不存储所述第三组程序数据包括:不存储来自被配置为是具有当所述处理设备的时钟处于无效状态时为透明的锁存器的时序单元的单元的数据。
18.如权利要求16所述的方法,其中不存储所述第三组程序数据包括不存储来自所述计算设备装置中的被配置为是作为只读指令缓冲器或读取高速缓存的数据通路的一部分的时序单元的单元的数据。
19.一种方法,其包括: 操作使用多个易失性存储元件的处理设备; 响应于所述处理设备进入备份状态,通过存储表示机器状态的少于所述机器状态的所有数据的一部分数据,将存储在所述多个易失性存储元件中的所述处理设备的所述机器状态存储在多个非易失性逻辑元件阵列中; 其中存储所述机器状态进一步包括根据第一类别来分类所述机器状态的第一组程序数据,并根据第二类别来分类所述机器状态的第二组程序数据; 其中存储所述机器状态进一步包括: 响应于所述处理设备进入备份状态,在所述多个非易失性逻辑元件阵列中存储所述第一组程序数据,所述第一组程序数据包括来自所述处理设备中的当所述处理设备在功能模式下操作时为有效的单元的数据, 响应于所述处理设备进入默认状态,在所述多个非易失性逻辑元件阵列中存储所述第二组程序数据,所述第二组程序数据包括来自所述处理设备中的当所述处理设备在测试模式或配置模式下操作时为有效的单元的数据,以及 在所述多个非易失性逻辑元件阵列中不存储所述机器状态的第三组程序数据,所述第三组程序数据包括来自如下单元的数据,该单元被配置为是具有当所述处理设备的时钟处于无效状态时为透明的锁存器的时序单元,或者是作为只读指令缓冲器或读取高速缓存的数据通路的一部分的时序单元。
【文档编号】G06F11/14GK103678034SQ201310537573
【公开日】2014年3月26日 申请日期:2013年9月10日 优先权日:2012年9月10日
【发明者】S·C·巴特林, S·卡纳 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1