CN102568566B - 用于存储器备份的电力隔离 - Google Patents

用于存储器备份的电力隔离 Download PDF

Info

Publication number
CN102568566B
CN102568566B CN201110166868.5A CN201110166868A CN102568566B CN 102568566 B CN102568566 B CN 102568566B CN 201110166868 A CN201110166868 A CN 201110166868A CN 102568566 B CN102568566 B CN 102568566B
Authority
CN
China
Prior art keywords
sdram
subsystem
electric power
data
controller
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
Application number
CN201110166868.5A
Other languages
English (en)
Other versions
CN102568566A (zh
Inventor
J·于
G·J·皮奇里洛
P·B·崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN102568566A publication Critical patent/CN102568566A/zh
Application granted granted Critical
Publication of CN102568566B publication Critical patent/CN102568566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及用于存储器备份的电力隔离。本发明公开了一种电力隔离与备份系统。当检测到电力故障情况时,临时储存装置被转储清除到SDRAM。在转储清除之后,接口被中断,而且去除除该SDRAM子系统之外的芯片的大部分的电力。该SDRAM子系统将数据从SDRAM拷贝到闪存存储器。在该过程中,数据可以被加密和/或可以计算数据完整性签名。为了恢复数据,该SDRAM子系统将数据从闪存存储器拷贝到SDRAM。在该过程中,被恢复的数据可以被解密和/或可以检查数据完整性签名。

Description

用于存储器备份的电力隔离
对相关申请的交叉引用
本专利申请基于并要求于2010年12月20日提交、由PeterB.Chon所做出的标题为“LowPowerHardwareControlledMemoryBackupthatincludesEncryptionandSignatureGeneration”的美国临时专利申请No.61/424,701的权益,对于该申请所公开和教导的全部内容,通过引用,具体地包含于此。
技术领域
本发明涉及存储器,更具体的涉及用于存储器备份的电力隔离。
背景技术
计算机或者其它电子系统的全部或者大部分部件都可以集成到单个集成电路(芯片)中。该芯片可以包含数字、模拟、混合信号和射频功能的多种组合。这些集成电路可以称为片上系统(SoC或者SOC)。一种典型的应用是在嵌入式系统的领域中。片上系统的变体是单个芯片上多种RAID功能的集成。这可以称为片上RAID(ROC)。
RAID阵列可以以提供冗余和错误恢复而没有任何数据损失的方式配置。通过允许同时对多个盘驱动器读或写数据,还可以配置RAID阵列提高读写性能。RAID阵列还可以配置成允许“热插拔(hot-swapping)”,这允许故障的盘被替换,而不会中断阵列的存储服务。由来自加利福尼亚大学Berkeley分校的DavidA.Patterson等人所发表的标题为“ACaseforRedundantArraysofInexpensiveDisks(RAID)”的1987年出版物讨论了RAID技术的基本概念和水平。
RAID存储系统一般利用对用户或者主机系统屏蔽管理存储阵列的细节的控制器。该控制器使存储阵列看起来像一个或者多个盘驱动器(或者卷)。尽管用于特定卷的数据(或者冗余数据)可以跨多个盘驱动器分布,但这也可以实现。
发明内容
因此,本发明的一种实施方式可以包括备份数据的方法,该方法包括:接收用于第一片上子系统的电力;接收电力故障情况的指示信号(indicator);基于所述电力故障情况的指示信号,在硬件的控制下,隔离片上易失性存储器子系统;在该易失性存储器子系统被隔离后,去除所述第一片上子系统的电力;并且,在去除所述第一片上子系统的电力后,在硬件的控制下,将存储在易失性存储器上的数据拷贝到非易失性存储器。
因此,本发明的一种实施方式还包括集成电路,包括:接收电力的第一片上子系统;电力故障情况的指示信号;硬件状态机:基于所述电力故障情况的指示信号隔离片上易失性存储器子系统;在隔离所述易失性存储器子系统后,去除所述第一片上子系统的电力;并且,在去除所述第一片上子系统的电力后,将存储在易失性存储器上的数据拷贝到非易失性存储器。
因此,本发明的一种实施方式可以进一步包括隔离片上易失性存储器控制器与集成电路其余部分的方法,包括:接收用于集成电路其余部分的至少一部分的第一电力供给;接收用于易失性存储器控制器的第二电力供给;接收电力供给切断指示信号;基于所述电力供给切断指示信号,启动片上状态机来隔离所述易失性存储器控制器;基于所述易失性存储器控制器被隔离的指示信号,去除集成电路其余部分的至少一部分的第一电力供给;以及,将数据从被所述易失性存储器控制器控制的易失性存储器拷贝到非易失性存储器。
附图说明
图1是电力隔离与备份系统的框图。
图2是电力隔离方法的流程图。
图3A和3B是数据操作系统配置的框图。
图4是命令数据块(CDB)的说明。
图5是电力隔离与备份系统的框图。
图6是计算机系统的框图。
具体实施方式
图1是电力隔离与备份系统的框图。在图1中,隔离与备份系统100包括:集成电路110、电力控制器150、SDRAM125和非易失性存储器(例如,闪存)135。集成电路(IC)110包括SDRAM子系统115、控制器140、时钟发生器141和其它电路111。SDRAM子系统115包括SDRAM控制器120和非易失性存储器控制器130。其它电路111可以包括临时储存装置112(例如,高速缓冲存储器、缓冲器,等等)。SDRAM控制器120经接口121与SDRAM125接口并对其进行控制。非易失性存储器控制器130经接口131与非易失性存储器135接口并对其进行控制。SDRAM子系统115(并且因此SDRAM控制器120和非易失性存储器控制器130)操作性地耦合到控制器140、时钟发生器141、其它电路111和临时储存装置112。时钟发生器141操作性地耦合到控制器140和其它电路111。
电力控制器150向IC110提供电力供给A(PWRA)160。电力控制器150向SDRAM子系统115提供电力供给B(PWRB)161。电力控制器150向SDRAM125提供电力供给C(PWRC)162。电力控制器150向非易失性存储器135提供电力供给D(PWRD)163。电力控制器150向控制器140提供电力故障信号165。电力控制器150还通过信号166操作性地耦合到SDRAM子系统。
应当理解,如在本申请中所使用的,SDRAM(同步动态随机存取存储器)意图包括所有易失性存储器技术。因此,在一种实施方式中,SDRAM子系统115可以包括静态随机存取存储器(SRAM)控制器,而SDRAM125可以包括SRAM设备。
在一种实施方式中,当电力控制器150检测到电力故障情况(即将发生的电力故障或者已有的电力故障)时,电力控制器150通过电力故障信号165通知IC110这种情况。这将启动电力隔离序列,以将SDRAM子系统115与IC110的其余部分(尤其是其它电路111)隔离开。在一种实施方式中,整个电力隔离序列是由硬件(例如,控制器140、SDRAM子系统115、或者控制器140和SDRAM子系统115二者)控制的,而没有来自软件的交互。
一旦接收到电力故障情况的通知,连接到SDRAM子系统115的所有接口(例如,对于其它电路111的接口)就将中断。片上临时储存装置112将被转储清除(flush)。在图1中,应当理解,尽管临时储存装置112被示为在SDRAM子系统115的外面,但是临时储存装置112也可以是SDRAM子系统115的一部分。在一个例子中,临时储存装置112可以是高速缓冲存储器(例如,一级高速缓冲存储器、二级高速缓冲存储器、三级高速缓冲存储器)、记入缓冲器(postingbuffer)等。
一旦临时储存装置112已经被转储清除,连接到SDRAM子系统115的逻辑就指示用于转储清除的接口何时已经中断。一旦中断,这些接口就不再接受任何新的循环。一旦所有接口都中断了,外部设备和内部核心逻辑(即,其它电路111)所需的输入就被锁存,使得当隔离发生时,它们的状态将不会丢失。输入被锁存后不再需要的时钟被断开。SDRAM子系统将切换到内部生成的时钟,或者由与SDRAM子系统115共享电力的时钟发生器(例如,时钟发生器141)生成的时钟。在这之后,存储器备份不需要的、到SDRAM子系统115的输入被隔离。在一种实施方式中,这些输入被驱动至失效状态。
在输入的隔离完成之后,SDRAM子系统115(或者控制器140)向电力控制器150发信号(例如,利用信号166),以去除PWRA160。这导致,除SDRAM子系统115之外,到IC110的全部的电力都被关断。SDRAM子系统115位于至少与其它电路111分开的电力层上。这使得对于SDRAM子系统的电力能够保持(即,通过PWRB161),直到对于隔离与备份系统100的电力完全失去。
除了控制到除SDRAM子系统115(及SDRAM子系统115所需的任何其它逻辑)之外所有其它电路的电力的隔离和去除,一旦接口已经中断并且临时储存装置112被转储清除,内部的存储器备份逻辑就将开始把数据从SDRAM125移到非易失性存储器135。在一种实施方式中,这些是在PWRA去除后整个芯片上运行的仅有的循环。
图1示出了IC110芯片和外部逻辑之间的连接及可以用于电力隔离和后续存储器备份的一些内部连接。当电力控制器150检测到电力故障时,它通过电力故障信号165通知IC110。控制器140监视电力故障信号165。当控制器140看到电力故障信号165被断言而且使得电力隔离可以进行时,控制器140通过断言power_iso_begin信号(未在图1中明确示出)通知SDRAM子系统115开始隔离序列。然后,SDRAM子系统115执行电力隔离序列所需的步骤。电力隔离序列中所包括的步骤在本说明书中随后更详细地解释。
一旦电力隔离序列完成,就断言MSS_core_iso_ready信号(图1中没有明确示出),指示至少PWRA160可以被去除。电力控制器150禁用PWRA160,但将保持PWRB161、PWRC162和PWRD163启用。禁用PWRA160去除IC110中除连接到PWRB161的电路之外的部分的电力。SDRAM子系统115以及关联的锁相环(例如,在时钟发生器141内部)和IO(例如,接口121和131)在与IC110的其余部分不同的电力层内。这个层是由PWRB161供电的,并且将保持启用。在一个例子中,其电路的至少一部分在这个独立电力层内的功能块是控制器140、时钟发生器141和SDRAM子系统115。在一种实施方式中,外部SDRAM125保持由PWRC162供电,并且外部非易失性存储器保持由PWRD163供电。存在必须保持带电以执行存储器备份的减少数量的逻辑。
在电力隔离序列中,SDRAM子系统115在合适的时间开始SDRAM125存储器备份。这种备份将所需的(所请求的)数据从SDRAM125移到非易失性存储器135。在一种实施方式中,整个存储器备份是在没有软件干涉的情况下执行的。
应当理解,以上所讨论而且部分地由图1示出的用于提供电力供给160-163的方法是对隔离与备份系统100的一个或多个部件提供(和去除)电力的示例方式。在所示出的例子中,所有电力供给160-163和多个电力域/层的控制都是在IC110的外部进行的。但是,还存在对隔离与备份系统100的一个或多个部件提供(和去除)电力的其它方法。一种方法可以针对每个电压使用单个外部电源,然后利用在IC110内部的开关产生不同的电力域/层。另一种方法可以减少外部电压的数量,并且使用隔离与备份系统100的一个或多个部件(例如,IC110)内部的调节器与IC110内部的开关一起来获得多种电压,以控制不同的电力域/层。对于这些方法,电力隔离是以大致相同的方式进行的。不同之处在于需要被通知以便保持电力供给161-163启用的电力控制逻辑150可以位于内部或者外部。
图2是电力隔离方法的流程图。图2中所示出的步骤可以由隔离与备份系统100的一个或多个元件来执行。为第一片上子系统接收电力(202)。例如,给其它电路111供电的PWRA160可以被IC110接收。接收电力故障情况的指示信号(indicator)(204)。例如,电力故障信号165可以被IC110接收。当断言power_iso_begin信号时,这可以导致电力隔离序列开始。
中断到SDRAM子系统的接口(206)。临时储存装置被转储清除到SDRAM(208)。例如,用于临时存储到SDRAM125/来自SDRAM125的数据拷贝的三级高速缓冲存储器、二级高速缓冲存储器、记入缓冲器或者任何其它类型的存储器储存装置都可以被转储清除。当它们已经完成了所有未完成循环并停止接受任何新循环时,连接到每个接口的逻辑都可以返回中断指示。
在硬件控制下,片上SDRAM子系统被隔离(210)。例如,当SDRAM接口(或者临时储存装置112)指示其已经中断接受循环时,通过将其输入设置成无效状态,而隔离其输入。一旦接收到来自其它接口的中断,需要为外部核心设备和内部逻辑保留的输入被锁存。这些输入包括例如复位、用于PLL的信号和带(strap)输入的项目。在这个时间点,SDRAM子系统不再需要的任何时钟都可以断开,以帮助减少功耗。稍后,可以断言信号(例如,MSS_core_iso_enable),这个信号将指示隔离到SDRAM子系统的所有输入并将它们设置成其无效状态。
由第一片上子系统使用的时钟和电力被断开(212)。例如,到临时储存装置112的时钟可以切换到内部生成的时钟。一旦输入已经被隔离,就可以断言信号(例如,MSS_core_iso_ready)。例如对于电力控制逻辑150,这指示连接到IC110的PWRA160现在会被禁用。
生成被SDRAM子系统使用的时钟(214)。例如,时钟发生器141可以生成当PWRA160断开时要被SDRAM子系统使用的时钟。数据从SDRAM拷贝被非易失性存储器(216)。例如,从SDRAM125到非易失性存储器135的存储器备份可以通过断言信号(例如,flash_offload_begin)开始。从SDRAM子系统、SDRAM和非易失性存储器去除电力(218)。例如,在完成存储器备份后在电力控制器150的控制下,或者仅仅因为到整个隔离与备份系统100的电力故障,电力从SDRAM子系统115、SDRAM125和非易失性存储器135去除。
在备份期间隔离SDRAM子系统115的电力的优点是减少了所消耗的电量。只有IC110内部处理存储器备份的逻辑、外部SDRAM125和非易失性存储器135被供电。通过减少功耗,增加了在所有其余电力被消耗完之前可用于执行存储器备份的时间量。除了在备份完成之前需要较少的外部逻辑来维持电力之外,有更多时间使得更多存储器能够被备份。因为电力隔离正在进行,所以内部移动闪存控制器以减少功耗和进行存储器备份所需的整体系统成本会是有利的。
在一种实施方式中,通过在当SDRAM125中的数据移到非易失性存储器135时执行加密和/或数据完整性签名计算,为备份的数据提供附加的数据保护。数据的加密提供了用于存储数据的安全方法。数据完整性签名计算防止大多数可能出现的数据错误。
当需要存储器备份或者恢复时,SDRAM子系统115在SDRAM125和非易失性存储器135之间移动数据。SDRAM子系统115可以使用用于指示所请求的数据移动的CDB(命令描述符块)列表。这些CDB的格式一般是预先定义的。CDB中的一个字段是指示在SDRAM125中什么地方读或者写数据的存储器地址字段。在一种实施方式中,这个字段中所提供的地址位的数量超过了寻址所有SDRAM125所需的数量。这些地址位中不需要的一些地址位可以用于编码关于在数据从SDRAM125移出/移入时数据应当如何操作的信息。当执行存储器备份或者恢复时,或者在其它时候,可以发生这种移动。未使用的地址位的编码可以指示数据是否应当编码/解码、是否需要生成签名、签名是否应当卸载或者复位及使用哪个签名引擎。
当从非易失性存储器控制器130接收到读/写SDRAM125的请求时,前面提到的未使用的地址位可以解释,以确定在数据经SDRAM子系统115在SDRAM125和非易失性存储器135之间移动时要执行什么数据操作。
在一种实施方式中,图3A和3B是数据操作系统配置的框图。在图3A中,数据操作系统300包括:SDRAM控制器310、闪存控制器320、控制器330、签名引擎340、加密/解密引擎350和多路复用器(MUX)360。控制器330操作性地耦合到SDRAM控制器310、闪存控制器320、签名引擎340、加密/解密引擎350和MUX360。因此,控制器330可以从闪存控制器320接收命令、信号、CDB等,执行仲裁,并且另外还可以管理数据流和数据操作系统300的配置。
在图3A中,SDRAM310配置成通过耦合371将从SDRAM(图3A中未示出)所读取的数据发送到签名引擎340、加密/解密引擎350和MUX360的第一输入。加密/解密引擎350配置成通过耦合372将加密后的数据发送到MUX360的第二输入。签名引擎340配置成通过耦合373将数据完整性签名发送到MUX360的第三输入。MUX被控制器330控制,以将从SDRAM读取的未修改数据、加密数据或者数据完整性签名中的一个发送到闪存控制器320。闪存控制器320可以将从SDRAM读取的未修改数据、加密数据或者数据完整性签名存储到闪存存储器(图3A中未示出)中。
图3A示出了当控制器330接收到来自闪存控制器320的从SDRAM(例如,SDRAM125)读取的请求时用于数据流和控制的配置。在一种实施方式中,当需要SDRAM存储器的备份时,使用这种配置和流。在一种实施方式中,签名引擎340和加密/解密引擎350既用于读取请求又用于写入请求。用于闪存写入请求(对应于SDRAM读取)的数据连接和流在图3A中示出。用于闪存读取请求(对应于SDRAM写入)的数据连接在图3B中示出。
闪存控制器320将读取请求发送到控制器330。控制器330检查该请求的编码的地址线(或者专用的字段),以确定从SDRAM控制器310返回的读取数据路由到什么地方,以及需要什么数据操作(如果有的话)。在一种实施方式中,地址位[46:40]包含如下的编码和映射:位40-42(SES[0:2])指定8个签名引擎340中的哪个应当采取由编码的其它位所指定的动作(如果有的话);位43(SG)确定所指定的签名引擎是否应当利用所读取的数据作为输入来生成数据完整性签名;位44(SO)告诉所指定的签名引擎输出数据完整性签名(依赖于MUX360的状态,该签名可以被发送到闪存控制器320以进行存储);位45(SR)复位所指定的签名引擎的数据完整性签名;而位46(E/D)确定来自加密/解密引擎350的输出的加密数据是否应当发送到闪存控制器320。
图4是命令数据块(CDB)的图示。在图4中,示出了用于地址位0-46的地址字段。还示出了SDRAM地址位中指定所使用的SDRAM地址位(A[0:39])的字段和编码地址位(A[40:46])的字段。还示出了编码地址位的单独位字段(SES[0:2]、SG、SO、SR和E/D)。
如可以理解的,基于地址位40-46的编码,指示将被发送到MUX360,这导致三个不同源中的一个被闪存控制器320使用。数据将直接来自SDRAM控制器310、加密/解密引擎350,或者在签名卸载的情况下来自签名引擎340中的一个。如果编码指示要执行加密,则加密/解密引擎350将被控制器330控制,以从SDRAM控制器310接收所读取的数据。一旦加密/解密引擎350接收到来自SDRAM控制器310的数据,它就执行数据加密,将结果发送到MUX360,以路由到闪存控制器320,并等待其接受该数据。
编码还指示是否应当对传送到闪存存储器的数据进行签名生成。如由编码的签名引擎选择(SES[0:2])字段所指示的,八个签名引擎340中的一个将被通知其CRC/校验和签名值应当更新。与数据直接发送到闪存控制器320或者发送到加密/解密引擎350并行地,数据还至少发送到所指定的签名引擎340。一旦所选择的签名引擎340看到SDRAM数据被这些块中的任何一个接受,就利用该数据更新当前的CRC/校验和签名。最后,编码指示签名卸载是否应当输出。如果需要签名卸载,则读取命令将不会被控制器330发布到SDRAM控制器310。相反,控制器330将指示所选择的签名引擎340将数据完整性签名发送到闪存控制器320。
在图3B中,闪存控制器320配置成通过耦合381将从闪存存储器(图3B中未示出)读取的数据发送到签名引擎340、加密/解密引擎350和MUX361的第一输入。加密/解密引擎350配置成通过耦合382将加密后的数据发送到MUX361的第二输入。签名引擎340配置成通过耦合383指示所选数据完整性签名的当前值。MUX361被控制器330控制,以将(经闪存控制器320)从闪存存储器读取的未修改数据或者解密后的数据中的一个发送到SDRAM控制器310。SDRAM控制器310可以将从闪存存储器读取的未修改数据或者解密的数据存储到SDRAM(图3B中未示出)中。
用于闪存读取请求(对应于SDRAM写入)的数据连接在图3B中示出。在一种实施方式中,当需要将数据恢复回SDRAM存储器时,使用这个流。控制器330可以从闪存控制器320接收写入命令。控制器330可以向SDRAM控制器310发布写入请求。检查该请求的编码的地址线,以确定将(从闪存控制器320)发送到SDRAM控制器的写入数据路由到什么地方,以及需要什么数据操作(如果有的话)。可以使用与图3A的讨论中所描述的相同的编码。基于该编码,来自闪存控制器320的未修改数据或者来自加密/解密引擎350的解密数据将被MUX361选择,以发送到SDRAM控制器310。如果编码指示执行解密,则加密/解密引擎350将被控制成从闪存控制器320接受该数据。一旦加密/解密引擎350从闪存控制器320接受了数据,它就执行数据解密,将结果发送到SDRAM控制器310,并等待SDRAM控制器310接受该数据。编码还将指示是否需要对传送到SDRAM的数据进行签名生成。如由编码的SES[0:2]字段所指示的,八个签名引擎340中的一个被控制成更新其CRC/校验和签名值。签名生成总是对解密的数据进行的。因此签名引擎340被控制成在来自闪存控制器320的数据或者来自加密/解密引擎350的解密结果之间进行选择,以更新数据完整性签名值。与数据从闪存控制器或者加密/解密引擎350发送到SDRAM控制器310并行地,数据还将发送到所选的签名引擎340。一旦所选的签名引擎340看到数据被SDRAM控制器310接受,就利用该数据更新当前的CRC/校验和签名。最后,八个数据完整性签名中一个的当前值可以通过耦合383被软件选择并读取。这个值可以通过软件与从闪存存储器恢复到SDRAM的备份签名进行比较。这可以用来验证在数据备份或者恢复的时候没有发生数据错误。
图5是电力隔离与备份系统的框图。在图5中,隔离与备份系统500包括:集成电路510、电力控制器550、SDRAM525和非易失性存储器(例如,闪存)535。集成电路(IC)510包括SDRAM子系统515、控制器540、时钟发生器541和其它电路511。SDRAM子系统515包括SDRAM控制器520、非易失性存储器控制器530和数据操作装置570。其它电路511可以包括临时储存装置512(例如,高速缓冲存储器、缓冲器,等等)。SDRAM控制器520经接口521与SDRAM525接口并对其进行控制。非易失性存储器控制器530经接口531与非易失性存储器535接口并对其进行控制。SDRAM子系统515(及由此还有SDRAM控制器520、非易失性存储器控制器530和数据操作装置570)操作性地耦合到控制器540、时钟发生器541、其它电路511和临时储存装置512。时钟发生器541操作性地耦合到控制器540和其它电路511。
电力控制器550向IC510提供电力供给A(PWRA)560。电力控制器550向SDRAM子系统515提供电力供给B(PWRB)561。电力控制器550向SDRAM525提供电力供给C(PWRC)562。电力控制器550向非易失性存储器535提供电力供给D(PWRD)563。电力控制器550向控制器540提供电力故障信号565。电力控制器550还操作性地通过信号566耦合到SDRAM子系统。
在一种实施方式中,当电力控制器550检测到电力故障情况(即将发生的电力故障或者已有的电力故障)时,电力控制器550通过电力故障信号565向IC510通知这种情况。这将起动电力隔离序列,以隔离SDRAM子系统515与IC510的其余部分,尤其是其它电路511。在一种实施方式中,整个电力隔离序列是被硬件(例如,控制器540、SDRAM子系统515、或者控制器540和SDRAM子系统515二者)控制的,而没有来自软件的交互。
一旦接收到电力故障情况的通知,连接到SDRAM子系统515的所有接口(例如,到其它电路511的接口)就将中断。片上临时储存装置512将被转储清除。在图5中,应当理解,尽管临时储存装置512示为在SDRAM子系统515的外面,但是临时储存装置512也可以是SDRAM子系统515的一部分。在一个例子中,临时储存装置512可以是高速缓冲存储器(例如,一级高速缓冲存储器、二级高速缓冲存储器、三级高速缓冲存储器)、记入缓冲器等。
一旦临时储存装置512被转储清除,连接到SDRAM子系统515的逻辑就指示用于转储清除的接口何时已经中断。一旦中断,这些接口就不再接受任何新的循环。一旦所有接口都中断了,外部设备和内部核心逻辑(即,其它电路511)所需的输入就被锁存,使得当隔离发生时,它们的状态将不会丢失。输入被锁存后不再需要的时钟被断开。SDRAM子系统将切换到内部生成的时钟,或者由与SDRAM子系统515共享电力的时钟发生器(例如,时钟发生器541)生成的时钟。在这之后,存储器备份不需要的、到SDRAM子系统515的输入被隔离。在一种实施方式中,这些输入被驱动至无效状态。
在输入的隔离完成之后,SDRAM子系统515(或者控制器540)向电力控制器550发信号(例如,利用信号566),以去除PWRA560。这导致,除SDRAM子系统515之外,到IC510全部的电力被断开。SDRAM子系统515位于至少与其它电路511分开的电力层上。这使得对于SDRAM子系统的电力能够保持(即,通过PWRB161),直到对于隔离与备份系统500的电力完全失去。
除了控制到除SDRAM子系统515(及SDRAM子系统515所需的任何其它逻辑)之外所有其它电路的电力的隔离和去除,一旦接口已经中断而且临时储存装置512被转储清除,内部的存储器备份逻辑就将开始把数据从SDRAM515移到非易失性存储器535。在一种实施方式中,这些是在PWRA去除后整个芯片上运行的仅有的循环。
在一种实施方式中,当数据分别从非易失性存储器535移到SDRAM525或者从SDRAM525移到非易失性存储器535时,它可以被数据操作装置570操作。数据操作装置570以与先前参考图3A和3B的数据操作系统300所描述的相同方式被配置、操作和起作用。因此,简而言之,数据操作装置570可以配置成加密/解密数据和/或计算/检查数据完整性签名。在一种实施方式中,数据操作装置570的功能、数据流和配置可以在PWRA560断开的时候执行(例如,为了保存加密的数据和/或计算并存储数据完整性签名)。在另一种实施方式中,数据操作装置570的功能、数据流和配置可以在PWRA560接通的时候执行(例如,为了恢复加密的数据和/或计算并存储数据完整性签名)。
以上所述的方法、系统和设备可以在计算机系统中实现或者由计算机系统存储。以上所述的方法还可以存储到计算机可读介质上。在此所述的设备、电路和系统可以利用本领域中可以获得的计算机辅助设计工具来实现,并且由包含这种电路的软件描述的计算机可读文件来体现。这包括,但不限于,隔离与备份系统100和500、IC110和510、电力控制器150和550、SDRAM子系统115和515及其部件。这些软件描述可以是:行为、寄存器传送、逻辑部件、晶体管和布局几何结构级描述。此外,该软件描述还可以存储到存储介质上或者被载波传送。
可以实现这种描述的数据格式包括,但不限于:支持如C那样的行为语言的格式、支持如Verilog和VHDL那样的寄存器传送级(RTL)语言的格式、支持几何结构描述语言(例如GDSII、GDSIII、GDSIV、CIF和MEBES)的格式及其它合适的格式与语言。此外,在机器可读介质上的这种文件的数据传输可以在互联网上或者例如经电子邮件在多种介质上电子地进行。应当指出,物理文件可以在机器可读介质上实现,其中的机器可读介质例如:4mm的磁带、8mm的磁带、3-1/2英寸的软盘介质、CD、DVD,等等。
图6示出了计算机系统的框图。计算机系统600包括通信接口620、处理系统630、存储系统640和用户接口660。处理系统630操作性地耦合到存储系统640。存储系统640存储软件650和数据670。处理系统630操作性地耦合到通信接口620和用户接口660。计算机系统600可以包括编程的通用计算机。计算机系统600可以包括微处理器。计算机系统600可以包括可编程的或者专用电路。计算机系统600可以在共同包括元件620-670的多个设备、处理器、储存装置和/或接口之间分布。
通信接口620可以包括网络接口、调制解调器、端口、总线、链路、收发器或者其它通信设备。通信接口620可以在多个通信设备之间分布。处理系统630可以包括微处理器、微控制器、逻辑电路或者其它处理设备。处理系统630可以在多个处理设备之间分布。用户接口660可以包括键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示器、触摸屏或者其它类型的用户接口设备。用户接口660可以在多个接口设备之间分布。存储系统640可以包括盘、带、集成电路、RAM、ROM、网络储存装置、服务器或者其它存储器功能。存储系统640可以是计算机可读介质。存储系统640可以在多个存储器设备之间分布。
处理系统630从存储系统640获取软件650并执行软件650。处理系统可以获取并存储数据670。处理系统还可以经通信接口620获取并存储数据。处理系统630可以创建或者修改软件650或者数据670,以实现实际的结果。处理系统可以控制通信接口620或者用户接口660,以实现实际的结果。处理系统可以经通信接口620获取并执行远端存储的软件。
软件650和远端存储的软件可以包括操作系统、实用程序、驱动程序、联网软件及其它一般由计算机系统执行的软件。软件650可以包括应用程序、小程序、固件或者其它形式的一般由计算机系统执行的机器可读处理指令。当被处理系统630执行时,软件650或者远端存储的软件可以指示计算机系统600如在此所述地那样操作。
以上对本发明的描述是为了说明和描述而给出的。它不意图是详尽的或者要将本发明限定到所公开的精确形式,而且,根据以上教导,其它修改与变体也是可能的。实施方式的选择和描述是为了最好地解释本发明的原理及其实践应用,由此使本领域其他技术人员能够以多种实施方式和多种修改最好地利用本发明,以适于预期特定应用。希望所附权利要求被解释为包括除被现有技术限制之外的本发明的其它可选实施方式。

Claims (18)

1.一种备份数据的方法,包括:
接收用于位于芯片上的第一片上子系统的电力;及
接收电力故障情况的指示信号,所述电力故障情况的指示信号在硬件的控制下触发电力隔离序列,所述电力隔离序列:
隔离位于所述芯片上的片上SDRAM子系统;
在将位于所述芯片上的所述片上SDRAM子系统与位于所述芯片上的所述第一片上子系统隔离后,响应于源自所述第一片上子系统的所述片上SDRAM子系统被隔离的信号,从所述第一片上子系统去除所述电力,以便仅该片上SDRAM子系统保持被供电;及
在从所述第一片上子系统去除所述电力后,在所述硬件的控制下,将SDRAM上所存储的数据拷贝到非易失性存储器。
2.如权利要求1所述的方法,还包括:
基于所述电力故障情况的所述指示信号,中断连接到所述片上SDRAM子系统的接口。
3.如权利要求2所述的方法,还包括:
将存储器的内容写入到所述SDRAM,其中该存储器用于存储要写入到所述SDRAM的数据的临时拷贝。
4.如权利要求3所述的方法,还包括:
在连接到所述片上SDRAM子系统的所述接口中断后,断开被所述第一片上子系统使用的第一时钟。
5.如权利要求4所述的方法,还包括:
在所述SDRAM子系统被隔离的时候,生成被所述片上SDRAM子系统使用的第二时钟。
6.如权利要求5所述的方法,还包括:
在完成所述SDRAM上所存储的数据到所述非易失性存储器的所述拷贝之后,从所述片上SDRAM子系统去除电力。
7.一种集成电路,包括:
接收电力的位于芯片上的第一片上子系统;
电力故障情况的指示信号;及
硬件状态机,在被所述电力故障情况的所述指示信号触发后,起动电力隔离序列,所述电力隔离序列:
隔离位于所述芯片上的片上SDRAM子系统;
在所述片上SDRAM子系统被隔离后,响应于来自位于所述芯片上的所述第一片上子系统的位于所述芯片上的所述片上SDRAM子系统被隔离的信号,从所述第一片上子系统去除所述电力,以便仅该片上SDRAM子系统保持被供电;及
在从所述第一片上子系统去除所述电力后,将SDRAM上所存储的数据拷贝到非易失性存储器。
8.如权利要求7所述的集成电路,其中,基于所述电力故障情况的所述指示信号,连接到所述片上SDRAM子系统的接口被中断。
9.如权利要求8所述的集成电路,其中,在所述片上SDRAM子系统被隔离之前,将存储器的内容写入到所述SDRAM,其中该存储器用于存储要写入到所述SDRAM的数据的临时拷贝。
10.如权利要求9所述的集成电路,其中,在连接到所述片上SDRAM子系统的所述接口中断后,断开被所述第一片上子系统使用的第一时钟。
11.如权利要求10所述的集成电路,其中,在所述片上SDRAM子系统内部生成在所述片上SDRAM子系统被隔离时被所述片上SDRAM子系统使用的第二时钟。
12.如权利要求10所述的集成电路,其中,在完成所述SDRAM上所存储的数据到所述非易失性存储器的所述拷贝之后,去除到所述片上SDRAM子系统的电力。
13.一种隔离片上SDRAM控制器与集成电路的其余部分的方法,包括:
接收用于所述集成电路的所述其余部分的至少一部分的第一电力供给;
接收用于位于所述集成电路上的所述片上SDRAM控制器的第二电力供给;
接收电力供给切断指示信号,所述切断指示信号触发片上状态机来隔离所述片上SDRAM控制器,所述片上状态机响应于来自所述集成电路的所述其余部分的、所述片上SDRAM控制器被隔离的指示信号,从所述集成电路的所述其余部分的所述至少一部分去除所述第一电力供给,以便仅该片上SDRAM控制器保持被供电;
在从所述集成电路的所述其余部分的至少一部分去除所述第一电力供给之后,将数据从被所述片上SDRAM控制器控制的SDRAM拷贝到非易失性存储器。
14.如权利要求13所述的方法,还包括:
中断在所述片上SDRAM控制器和所述集成电路的所述其余部分的所述至少一部分之间耦合的接口。
15.如权利要求14所述的方法,还包括:
将存储在所述集成电路的所述其余部分的所述至少一部分中的数据的临时拷贝转储清除到所述SDRAM。
16.如权利要求15所述的方法,还包括:
断开被所述集成电路的所述其余部分的所述至少一部分使用的第一时钟。
17.如权利要求16所述的方法,还包括:
在所述片上SDRAM控制器与所述集成电路的所述其余部分隔离的情况下,生成被所述片上SDRAM控制器使用的第二时钟。
18.如权利要求17所述的方法,还包括:
在完成所述SDRAM上所存储的数据到所述非易失性存储器的所述拷贝之后,去除到所述片上SDRAM控制器的电力。
CN201110166868.5A 2010-12-20 2011-06-21 用于存储器备份的电力隔离 Active CN102568566B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201061424701P 2010-12-20 2010-12-20
US61/424,701 2010-12-20
US13/081,095 US9251005B2 (en) 2010-12-20 2011-04-06 Power isolation for memory backup
US13/081,095 2011-04-06

Publications (2)

Publication Number Publication Date
CN102568566A CN102568566A (zh) 2012-07-11
CN102568566B true CN102568566B (zh) 2016-07-06

Family

ID=45491270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110166868.5A Active CN102568566B (zh) 2010-12-20 2011-06-21 用于存储器备份的电力隔离

Country Status (6)

Country Link
US (1) US9251005B2 (zh)
EP (1) EP2466465A3 (zh)
JP (1) JP2012133750A (zh)
KR (1) KR20120069516A (zh)
CN (1) CN102568566B (zh)
TW (1) TWI543163B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516172B1 (en) * 2007-08-30 2013-08-20 Virident Systems, Inc. Methods for early write termination and power failure with non-volatile memory
JP5596143B2 (ja) * 2010-06-29 2014-09-24 パナソニック株式会社 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置
US9043642B2 (en) * 2010-12-20 2015-05-26 Avago Technologies General IP Singapore) Pte Ltd Data manipulation on power fail
WO2013085539A1 (en) * 2011-12-09 2013-06-13 Intel Corporation Adaptive graphics subsystem power and performance management
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
US20140281639A1 (en) * 2013-03-15 2014-09-18 Mahesh Wagh Device power management state transition latency advertisement for faster boot time
CN104937577B (zh) * 2013-03-15 2018-11-30 慧与发展有限责任合伙企业 支持扩展写入的存储器模块控制器
US9195542B2 (en) 2013-04-29 2015-11-24 Amazon Technologies, Inc. Selectively persisting application program data from system memory to non-volatile data storage
US9170887B2 (en) 2013-08-14 2015-10-27 Kabushiki Kaisha Toshiba Memory system and controlling method of memory system
US9442560B2 (en) 2014-02-26 2016-09-13 Kabushiki Kaisha Toshiba Memory system minimizing occurrences of storing of operation data in non-volatile storage during power saving mode
WO2015152895A1 (en) * 2014-04-01 2015-10-08 Hewlett-Packard Development Company, L.P. Providing backup power
KR20150133350A (ko) 2014-05-19 2015-11-30 에스케이하이닉스 주식회사 메모리 모듈 및 이의 동작 방법
CN105512056A (zh) * 2014-09-24 2016-04-20 中兴通讯股份有限公司 数据保存方法、装置及终端
WO2017155516A1 (en) * 2016-03-08 2017-09-14 Hewlett-Packard Development Company, L.P. Securing data
WO2018143970A1 (en) * 2017-02-01 2018-08-09 Hewlett-Packard Development Company, L.P. Delay of power off to write data from volatile to non-volatile memory of a solid state drive
US10963408B2 (en) * 2017-06-01 2021-03-30 University Of Virginia Patent Foundation System on a chip with customized data flow architecture
US11836358B2 (en) 2018-04-16 2023-12-05 Hewlett-Packard Development Company, L.P. Data storage device power provisions
DE102018110276A1 (de) * 2018-04-27 2019-10-31 Minebea Intec GmbH Vorrichtung und Verfahren zur Sicherung von gespeicherten Daten in einem nicht-flüchtigen Speicher
US10976795B2 (en) * 2019-04-30 2021-04-13 Seagate Technology Llc Centralized power loss management system for data storage devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035347A (en) * 1997-12-19 2000-03-07 International Business Machines Corporation Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer
US6336174B1 (en) * 1999-08-09 2002-01-01 Maxtor Corporation Hardware assisted memory backup system and method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110794A (ja) * 1992-09-28 1994-04-22 Yokogawa Electric Corp メモリバックアップ回路
JPH07182252A (ja) * 1993-12-24 1995-07-21 Nec Corp メモリのデータ不良検出回路
US7249282B2 (en) 2002-04-29 2007-07-24 Thomson Licensing Eeprom enable
US7017017B2 (en) * 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
US20040190210A1 (en) * 2003-03-26 2004-09-30 Leete Brian A. Memory back up and content preservation
JP4411014B2 (ja) * 2003-05-26 2010-02-10 日本電気株式会社 コンピュータおよびその電源バックアップ方法
JP2005250898A (ja) * 2004-03-04 2005-09-15 Toshiba Corp 半導体集積回路及び半導体集積回路システム
US7380055B2 (en) 2004-06-21 2008-05-27 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time
US7392429B2 (en) * 2004-12-22 2008-06-24 Microsoft Corporation System and method for maintaining persistent state data
US8046546B2 (en) 2007-07-25 2011-10-25 AGIGA Tech Variable partitioning in a hybrid memory subsystem
US8169839B2 (en) 2009-02-11 2012-05-01 Stec, Inc. Flash backed DRAM module including logic for isolating the DRAM
US8117428B2 (en) 2009-06-04 2012-02-14 Texas Instruments Incorporated Apparatus and method for automatically saving and restoring pad configuration registers implemented in a core power domain
US20120150808A1 (en) * 2010-12-13 2012-06-14 Verizon Patent And Licensing Inc. Method and system for performing data backup and restoration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035347A (en) * 1997-12-19 2000-03-07 International Business Machines Corporation Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer
US6336174B1 (en) * 1999-08-09 2002-01-01 Maxtor Corporation Hardware assisted memory backup system and method

Also Published As

Publication number Publication date
EP2466465A3 (en) 2012-06-27
EP2466465A2 (en) 2012-06-20
KR20120069516A (ko) 2012-06-28
JP2012133750A (ja) 2012-07-12
US20120159060A1 (en) 2012-06-21
TWI543163B (zh) 2016-07-21
US9251005B2 (en) 2016-02-02
CN102568566A (zh) 2012-07-11
TW201227736A (en) 2012-07-01

Similar Documents

Publication Publication Date Title
CN102568566B (zh) 用于存储器备份的电力隔离
US8826098B2 (en) Data signatures to determine successful completion of memory backup
EP2466464B1 (en) Data manipulation at power fail
US7921301B2 (en) Method and apparatus for obscuring data on removable storage devices
US7724643B2 (en) Recovery of duplex data system after power failure
JP4041473B2 (ja) マルチクラスタ・ストレージ・サブシステムのための自律型パワー・ロス・リカバリ
KR101316918B1 (ko) 반도체 저장장치 백업 및 복구 시스템 및 방법
JP2004038290A (ja) 情報処理システムおよび同システムで用いられるディスク制御方法
JP2014513484A (ja) 暗号化トランスポート・ソリッドステート・ディスク・コントローラ
CN103793182A (zh) 可扩展存储保护
JP2007058419A (ja) Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
CN102262721B (zh) 用于独立代理的数据加密转换
TW201135746A (en) Method and controller for performing a copy-back operation
CN102567139B (zh) 存储器备份期间的数据操作
US20080133695A1 (en) Information processing system and backing up data method
CN102841820A (zh) 电源故障的数据操作
CN102841821A (zh) 存储器备份期间的数据操作
TW576971B (en) Microcomputer system automatically backing-up data written in storage medium in transceiver, and transceiver connected thereto
JP2009003789A (ja) ディスク装置の停電処理方法およびディスク装置
US11675664B2 (en) Maintaining data integrity through power loss with operating system control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160725

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: LSI Corp.

TR01 Transfer of patent right

Effective date of registration: 20181022

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right