用于在休眠状态的装置中管理数据的系统和方法

文档序号:6498171阅读:154来源:国知局
用于在休眠状态的装置中管理数据的系统和方法
【专利摘要】本申请涉及用于在休眠状态的装置中管理数据的系统和方法。在一个实施方式中,装置包括接口和处理器。接口与第一存储器和第二存储器耦接。处理器通过接口与第一存储器和第二存储器通信。处理器配置来从第一存储器读出第一数据,基于第一数据生成在第一存储器中所存储的数据的映像数据,以及在装置进入初始休眠状态之前将在第一存储器中所存储的数据的映像数据写入第二存储器。处理器还配置来在装置从初始休眠状态唤醒之后,从第二存储器读出映像数据,基于映像数据重建第一数据,以及将第一数据写入第一存储器。
【专利说明】用于在休眠状态的装置中管理数据的系统和方法

【背景技术】
[0001] 期望诸如移动装置的装置有能力既能快速从休眠状态(也被称为空闲状态)恢复 操作又能在休眠状态中长时间存储数据同时消耗少量电力。为了给装置提供从休眠状态快 速唤醒的能力,很多装置利用DRAM存储器。当DRAM存储器从休眠状态唤醒时,DRAM存储 器提供快速执行诸如读写操作的操作的能力。然而,DRAM是消耗电力以保持数据的易失性 存储器,因此当装置处于休眠状态时DRAM消耗电力。
[0002] 其它装置利用NAND存储器。NAND存储器提供在休眠状态期间长时间存储数据同 时消耗少量电力的能力。然而,相对于诸如读写操作的操作,NAND存储器比DRAM存储器慢。
[0003] 期望将改进的存储装置用于诸如移动装置的装置中,所述改进的存储装置能够提 供如DRAM存储器的存储器的速度,同时提供如NAND存储器的长时间存储数据同时消耗少 量电力的能力。


【发明内容】

[0004] 本公开涉及用于在休眠的装置中管理数据的系统和方法。在一个方面,公开了 一种用于与装置的休眠相结合管理数据存储的方法。装置的控制器从所述装置的第一存 储器读出数据并且基于所述第一数据生成在所述第一存储器中所存储的数据的映像数据 (image data)。在进入初始休眠状态之前,所述控制器将在所述第一存储器中所存储的数 据的所述映像数据写入所述第二存储器。在从所述初始休眠状态醒来之后,所述控制器从 所述第二存储器读出所述映像数据,基于所述映像数据重建所述第一数据,以及将所述第 一数据写入所述第一存储器。
[0005] 在另一方面,公开了一种装置。所述装置包括接口和处理器。所述接口与第一存 储器和第二存储器耦接。所述处理器通过所述接口与所述第一存储器和所述第二存储器通 信。所述处理器配置来从所述第一存储器读出第一数据并且基于所述第一数据生成在所述 第一存储器中所存储的数据的映像数据。所述处理器还配置来在所述装置进入初始休眠状 态之前将在所述第一存储器中所存储的所述映像数据写入所述第二存储器。所述处理器还 配置来在所述装置从所述初始休眠状态唤醒之后,从所述第二存储器读出所述映像数据, 基于所述映像数据重建所述第一数据,以及将所述第一数据写入所述第一存储器。

【专利附图】

【附图说明】
[0006] 图1是适于为休眠状态管理数据的装置的一个实施方式的框图。
[0007] 图2是用于在装置进入初始休眠状态之前和之后在装置中管理数据的方法的一 个实施方式的流程图。
[0008] 图3是用于在装置进入后续休眠装置之前和之后在装置中管理数据的方法的一 个实施方式的流程图。
[0009] 图4是一种用于控制器确定何时将第一存储器中所存储的数据的新初始映像存 储在第二存储器中的方法的一个实施方式的流程图。

【具体实施方式】
[0010] 本公开涉及用于在休眠状态的装置中管理数据的系统和方法。如下文更详细论述 的,装置可包括两种类型的存储器。装置的第一存储器,例如DRAM存储器,可具有诸如快速 的读写时间的特性。装置的第二存储器,例如NAND存储器,可具有诸如能够长时间存储数 据同时消耗少量电力这样的特性。为了利用所述两种类型的存储器的优点,装置的控制器 可执行操作,以在装置醒时利用第一存储器,并且在装置处于休眠状态时利用第二存储器。 在第一存储器与第二存储器之间切换数据使装置在醒着时快速地执行操作并且在装置处 于休眠状态时以少量电力消耗来长时间存储数据。
[0011] 图1中示出了适于用于实现本发明的方面的装置1〇〇。主机系统101将数据存 储于第一存储器系统102a和/或第二存储器系统102b,并且从第一存储器系统102a和 /或第二存储器系统l〇2b取回数据。第一存储器系统102a和/或第二存储器系统102b 可以是嵌入到装置中的存储器,例如以安装在个人计算机中的固态磁盘(SSD)驱动器的 形式。或者,如图1中所示,第一存储器系统102a和/或第二存储器系统102b可以是卡 (card)的形式,所述卡通过机电连接器(mechanical and electrical connector)的配对 部(mating part) 104a与106a、或者104b与106b与主机可拆卸地连接。配置以用作内置 或内嵌SSD驱动器的存储器看上去可与图1的示意图相似,主要的区别在于第一存储器系 统102a和/或第二存储器系统102b的位置位于主机内部。SSD驱动器可以是分立模块 (discrete module)的形式,所述分立模块是用于旋转磁盘驱动器的插入替换件(drop-in replacements)〇
[0012] 就存储器系统102a、102b而言,可将图1的主机系统101视为具有两个由电路和 软件的组合所构成的主要部分。它们是应用部1〇8(控制器)和驱动器部110,所述驱动器 部110与存储器系统l〇2a、102b相接口。例如,在PC中,应用部108可包括运行文字处理、 图形、控制或其它流行应用软件的处理器112以及用于管理主机101上的数据的文件系统 114。在主要专注于执行单组功能(a single set of functions)的相机、蜂窝手机或其它 主机系统中,应用部108包括操作相机拍摄并存储图片、操作蜂窝手机拨打及接听电话等 的软件。
[0013] 图1的存储器系统102a、102b包括存储器116和系统控制器118,两个系统控制器 118均与连接于存储器系统的主机101相接口用以来回传递数据且两个系统控制器118均 控制存储器116。在数据编程和读出期间,系统控制器118可在由主机101所使用的数据的 逻辑地址与存储器116的物理地址之间进行转换。在功能上,系统控制器118可包括与主 机系统相接口的前端122以及用于协调存储器116的操作的控制器逻辑124。
[0014] 在一些实施方式中,第一存储器102a是诸如能够快速地执行例如读写操作的操 作的DRAM存储器这样的存储器,并且第二存储器102b是能够长时间存储数据同时消耗少 量电力的NAND存储器。然而,还可使用其它存储器配置。
[0015] 由于DRAM存储器与NAND存储器的不同特性,所以可对主机101的控制器108进 行配置以在进入休眠状态之前及之后在第一存储器l〇2a与第二存储器102b之间转移数据 的拷贝。在装置100醒时,控制器108转移数据的拷贝以利用DRAM存储器从而提供快速的 读写操作,并且在装置100处于休眠状态时,控制器108转移数据的拷贝以利用NAND存储 器从而提供长时间存储数据同时消耗少量电力的能力。
[0016] 如下文更详细说明的,在装置100进入初始休眠状态之前,控制器108通常将在第 一存储器l〇2a中所存储的数据的初始映像存储在第二存储器102b中。当装置100从休眠 状态醒来时,控制器108从第二存储器102b读出数据的初始映像,基于数据的初始映像重 建数据,并且将所重建的数据存储在第一存储器102a中。
[0017] 在进入后续休眠之前,控制器108检查在第二存储器102b中所存储的第一存储器 102a的数据的初始映像来检查当前存储在第一存储器102a中的数据。当控制器108确定 存储在第一存储器102a中的数据已经改变时,在进入后续休眠状态之前,控制器108将一 组数据(也被称作差量(delta))存储在第二存储器102b中,该组数据代表存储在第一存 储器102a中的、自前一休眠状态以来已改变的数据。
[0018] 当装置100从休眠中醒来时,控制器108从第二存储器102b读出数据映像以及差 量,基于数据映像以及数据差量来重建数据,并且将所重建的数据存储在第一存储器l〇2a 中。在一些实施方式中,控制器108可为后续休眠重复该处理,直到使控制器108将第一存 储器102a中所存储的数据的新初始映像存储在第二存储器102b中的条件出现为止。可使 控制器108存储在第一存储器102a中所存储的数据的新初始映像的条件的实例可包括:存 储在第二存储器102b中的差量的数量超过阈值和/或存储在第一存储器102a中的、自从 将在第一存储器102a中所存储的数据的初始映像存储在第二存储器102b中以来已经改变 的数据的量超过阈值。
[0019] 图2是在装置进入休眠状态之前以及之后用于在装置中管理数据的方法一个实 施方式的流程图。在步骤202,该方法开始,通过控制器确定是否需要使装置进入休眠状态。 可以理解的是,控制器可基于根据用户启动装置上的按钮所接收到的信号、自从装置的上 一操作以来的时间量、和/或可将需要进入休眠状态报警给控制器的任何其它因素来确定 是否需要使装置进入休眠状态。
[0020] 在步骤204,控制器从第一存储器读出数据,并且产生在第一存储器中所存储的数 据的初始映像,所述第一存储器可以是DRAM存储器。在步骤206,控制器可通过执行诸如压 缩数据以减小数据的大小或者将数据变形以减小存储器的磨损(wear)的操作来操控在第 一存储器中存储的数据的映像。在一些实施方式中,为了将数据变形,控制器可变换数据的 比特序列以减少补足比特序列的零的数量,使得存储器单元的增加的数量可保持在擦除状 态(erased state)。2011年7月19日授权的美国专利No. 7, 984, 360、2011年10月20日 递交的美国临时专利申请No. 61/549, 448、以及2011年10月24日递交的美国临时专利申 请No. 61/550, 694中描述了可用于对数据进行变形的算法的实例,通过援引的方式将上述 专利及专利申请的全部内容并入本文。
[0021] 在步骤208,控制器将在第一存储器中所存储的数据的初始映像存储到第二存储 器中。如上所述,在一些实施方式中,第二存储器可以是NAND存储器。在步骤210,装置进 入初始休眠状态。
[0022] 在步骤212,控制器确定是否需要从初始休眠状态唤醒。可以理解的是,控制器 可以基于根据用户启动装置上的按钮所接收到的信号、和/或可将需要从休眠状态唤醒 报警给控制器的任何其它因素来确定是否需要从初始休眠状态唤醒。响应于此,在步骤 214,控制器从第二存储器读出数据的初始映像,所述数据的初始映像代表在存储装置进入 休眠状态之前已存储在第一存储器中的数据。在步骤216,控制器对数据进行操控以反转 (reverse)在步骤206对数据可能已执行了的操作并且基于数据的初始映像重建数据。然 后,在步骤218,控制器将所重建的数据存储在第一存储器中以还原(restore)第一存储器 的内容。
[0023] 在将映像数据存储在第一存储器中之后,装置可执行正常操作,所述正常操作为 控制器将数据写入第一存储器以及从第一存储器读出数据。这些操作可以继续直到控制器 确定需要进入后续休眠状态为止。
[0024] 图3是在执行上文结合图2所述的操作之后在装置进入后续休眠状态之前以及之 后用于在装置中管理数据的方法的一个实施方式的流程图。
[0025] 在步骤302,控制器确定是否需要使装置进入后续休眠状态。在步骤304,控制器 从第一存储器读出数据。在一些实施方式中,控制器从第一存储器读出全部数据。然而,在 其它实施方式中,控制器仅读出存储在第一存储器中的部分数据,例如第一存储器的扇区、 第一存储器的页、第一存储器的块、或存储器的任何其它所需部分。
[0026] 在步骤306,控制器确定自从装置从前一休眠状态醒来以后在步骤304从第一存 储器读出的数据是否已经改变。在一些实施方式中,控制器通过将在步骤304从第一存储 器读出的这部分数据与根据在第二存储器中所存储的数据的初始映像所重建的数据进行 比较来确定数据是否已经改变,其中所述数据的初始映像代表在前一休眠之前在第一存储 器中所存储的数据。可理解的是,根据在步骤304从第一存储器读出的这部分数据,控制器 可比较存储在第二存储器中的映像数据的相应部分,例如第一存储器、第一存储器的扇区、 第一存储器的页、或第一存储器的块中的数据的整体映像。
[0027] 在一些实施方式中,在步骤306,控制器可通过对在步骤304从第一存储器读出的 这部分数据以及基于在第二存储器中存储的数据的映像所重建的相关部分数据来计算循 环冗余校验(CRC),然后确定两个值是否相等,来确定存储在第一存储器中的数据是否已经 改变。如果两个CRC值相等,则在步骤304从第一存储器读出的这部分数据中所存储的数 据未改变。然而,如果两个CRC值不同,则在步骤304从第一存储器读出的这部分数据已经 改变。
[0028] 当控制器确定在从第一存储器读出的这部分数据中所存储的数据已经改变时,在 步骤308,控制器将一组数据(也被称作差量)存储在第二存储器中,该组数据代表在步骤 304从第一存储器读出的数据的、自从最近的前一休眠以来已经改变的内容。在一些实施方 式中,控制器可在将数据存储在第二存储器中之前,对代表从第一存储器读出的、自从最近 的前一休眠以来已经改变的数据内容的数据进行压缩和/或变形(shape)。
[0029] 在将差量存储在第二存储器中之后,在步骤310,控制器确定存储在第一存储器中 的剩余部分数据是否需要检查,以便控制器可在第二存储器中保存对存储在第一存储器中 的、自前一休眠状态以来已经改变的数据的任何变化。如果控制器确定存储在第一存储器 中的剩余部分数据不需要检查,则在步骤312,装置进入休眠状态。然而,如果控制器确定存 储在第一存储器中的剩余部分数据需要检查,则该方法循环至步骤304并且重复上述方法 直到控制器确定存储在第一存储器中的剩余部分数据不需要检查为止。然后,在步骤312, 装置进入休眠状态。
[0030] 再次参照步骤306,当控制器确定在步骤304从第一存储器读出的数据的内容未 改变时,该方法进入步骤310,在步骤310,控制器如上所述对存储在第一存储器中的任何 剩余部分数据是否需要检查进行确定,以便控制器可将自从前一休眠状态以来在第一存储 器中所存储的数据的任何变化保存在第二存储器中。
[0031] 在步骤314,控制器确定是否需要从休眠状态唤醒。在步骤316,控制器从第二存 储器读出第一存储器的内容的映像数据并且从第二存储器读出控制器已存储在第二存储 器中的任何差量。如果控制器对数据执行了任何操控,例如对映像数据和/或差量进行压 缩和/或变形,则将数据的操控反转。在步骤318,控制器基于初始映像数据以及一个或多 个差量来重建数据,并且在步骤320,控制器将所重建的数据写入第一存储器。可理解的是, 在将基于映像数据和差量所重建的数据写入第一存储器之后,第一存储器的内容将包括在 存储装置进入前一休眠状态之前在第一存储器中出现的任何有效数据。
[0032] 在将上文结合图2所述的第一存储器的内容的初始映像存储在第二存储器中之 后,存储装置每次进入后续休眠状态时,可重复上文结合图3所述的方法。在第二存储器中 存储有多个差量的实施方式中,控制器可将第一存储器的初始映像数据以及每个差量存储 在第二存储器中的不同裸片(die)中,以便当存储装置从休眠状态唤醒时增大映像数据和 差量的读取的并行性。
[0033] 在一些实施方式中,控制器可基于诸如存储在第二存储器中的差量数和/或自从 将第一存储器的内容的初始映像存储在第二存储器中以来在第一存储器的内容中已经改 变的数据的量的因素,来确定何时将第一存储器的内容的新映像存储在第二存储器中。 [0034] 对在将第一存储器的内容的新映像存储在第二存储器中之前在第一存储器的内 容中可改变的差量的数量或数据量进行限制,防止当进入和/或退出休眠状态时由控制器 执行无法接受的数量的操作所造成的装置性能的降低,所述无法接受的数量的操作与在第 二存储器中存储差量和/或从第二存储器读出差量并且基于该差量而重建数据相关联。
[0035] 下文的实例示出了,当在第二存储器中保存有多个差量时,控制器可执行用以重 建数据的操作的数量。在一些实施方式中,当控制器在不同的休眠状态期间保存一个或多 个差量时,差量可代表根据前一休眠状态的第一存储器中的数据的变化。例如,控制器在初 始休眠状态之前可存储第一存储器的数据的初始映像,在第一后续休眠状态之前可存储数 据的第一差量,在第二后续休眠状态之前可存储数据的第二差量,以及在第三后续休眠状 态之前可存储数据的第三差量。第一差量代表自初始休眠状态以来的第一存储器的数据的 变化,第二差量代表自第一后续休眠状态以来的第一存储器的数据的变化,并且第三差量 代表自第二后续休眠状态以来的第一存储器的数据的变化。
[0036] 因此,为了在第三后续休眠状态之前在第一存储器中重建数据,控制器将数据的 第一差量应用于数据的初始映像,以便在第一后续休眠状态之前重建第一存储器的内容; 控制器将数据的第二差量应用于在第一后续休眠状态之前已重建的第一存储器的内容,以 便在第二后续休眠状态之前重建第一存储器的内容;并且最后,控制器将第三数据差量应 用于在第二后续休眠状态之前已重建的第一存储器的内容,以便在第三后续休眠状态之前 重建第一存储器的内容。
[0037] 图4示出了一种用于控制器确定何时将第一存储器中存储的数据的新映像存储 在第二存储器中以便防止降低存储装置的性能的方法。该方法于步骤402开始,如上所述, 当装置进入初始休眠状态时,控制器将存储在第一存储器中的数据内容的初始映像存储在 第二存储器中。在步骤404,如上所述,当装置从初始休眠唤醒时,控制器从第二存储器读出 初始映像数据,并且将基于映像数据所重建的数据存储在第一存储器中。在步骤406,控制 器执行从第一存储器读出数据以及将数据写入第一存储器的正常操作。
[0038] 在步骤408,如上文结合图3所述,控制器准备进入后续休眠状态,这时控制器在 第二存储器中保存一个或多个差量,所述一个或多个差量代表存储在第一存储器中的、自 从前一休眠状态以来已经改变的数据。然而,在进入后续休眠状态之前,在步骤410,控制器 确定是否将在第一存储器中所存储的数据的新映像存储在第二存储器中。在一些实施方式 中,控制器可基于下面这样的因素来确定是否将数据的新映像存储在第二存储器中,所述 因素例如:自从将初始映像数据存储在第二存储器中以来在第二存储器中保存的差量的数 量是否超过阈值、自从将初始映像数据存储在第二存储器中以来第一存储器中已经改变的 数据量是否超过阈值、和/或任何其它所需的因素,所述任何其它所需的因素指示控制器: 为了保持装置的性能,控制器应当将在第一存储器中所存储的数据的新映像存储在第二存 储器中。
[0039] 当在步骤410,控制器确定不将第一存储器的内容的新映像数据存储在第二存储 器中时,在412,装置继续进入后续休眠状态。在步骤414,当装置从后续休眠状态唤醒时, 控制器如上所述读出在第二存储器中所存储的初始映像数据和任何差量,基于初始映像数 据和任何差量重建数据,并且将所重建的数据存储在第一存储器中。然后,该方法循环至步 骤406,在步骤406,控制器结合从主机接收的指令来执行从第一存储器读出数据以及将数 据写入第一存储器的正常操作。
[0040] 然而,当在步骤410,控制器确定需要存储第一存储器的内容的新映像数据时,该 方法循环至步骤402,在步骤402,当装置进入新初始休眠状态时,控制器将在第一存储器 中所存储的数据内容的新初始映像存储在第二存储器中并且重复上述方法。
[0041] 在一些实施方式中,控制器可执行除了上文所述的那些操作以外的操作,以便提 高装置能够从休眠状态醒来的速度。例如,当装置从休眠状态唤醒时,最初控制器可仅将负 责基本功能的或一旦装置从休眠状态醒来主机和/或用户就会立即需要访问的功能的那 部分数据写入第一存储器。然后,随后在装置从主机和/或用户接受命令时,控制器可将剩 余数据加载到第一存储器中。
[0042] 图1至图4描述了用于在休眠的装置中管理数据的系统和方法。如上所述,装置 可包括具有不同特性的两种类型的存储器。在一些实施方式中,第一存储器,例如DRAM存 储器,可具有诸如快速读写时间的特性,第二存储器,例如NAND存储器,可具有诸如能够长 时间存储数据同时消耗少量电力这样的特性。为了利用这两种类型的存储器的优点,装置 的控制器可执行操作,以在装置醒时利用第一存储器,并且在装置处于休眠状态时利用第 二存储器。在第一存储器与第二存储器之间切换数据使装置在醒着时快速地执行操作并且 在装置处于休眠状态时以少量电力消耗来长时间存储数据。
[〇〇43] 意图在于,前述详细说明应视为示例性而非限制性的,并且应理解的是,下文的权 利要求,包括所有等效物,意在定义本发明的精神和范围。
【权利要求】
1. 一种用于与装置的休眠相结合管理数据存储的方法,所述方法包括: 在与第一存储器和第二存储器操作地耦接的装置的控制器中: 从所述第一存储器读出第一数据; 基于所述第一数据生成在所述第一存储器中所存储的数据的映像数据; 在所述装置进入初始休眠状态之前,将在所述第一存储器中所存储的数据的所述映像 数据写入所述第二存储器;以及 在从所述初始休眠状态醒来之后: 从所述第二存储器读出所述映像数据; 基于所述映像数据重建所述第一数据;以及 将所述第一数据写入所述第一存储器。
2. 根据权利要求1所述的方法,其中所述第一存储器包括DRAM存储器并且所述第二存 储器包括NAND存储器。
3. 根据权利要求1所述的方法,还包括: 在从所述初始休眠状态醒来之后: 从所述第一存储器读出第二数据;以及 将所述第二数据与根据在所述第二存储器上存储的所述映像数据所重建的至少部分 数据进行比较,以确定自从所述装置从所述初始休眠状态唤醒以来在所述第一存储器中存 储的数据是否已经改变。
4. 根据权利要求3所述的方法,还包括: 响应于确定出自从从所述初始休眠状态醒来以来在所述第一存储器中存储的数据已 经改变: 将第一数据差量存储在所述第二存储器中,所述第一数据差量代表在所述第一存储器 中存储的、自从所述装置从所述初始休眠状态唤醒以来已经改变的至少部分数据,所述第 一数据差量在所述装置进入第一后续休眠状态之前被存储在所述第二存储器中。
5. 根据权利要求4所述的方法,还包括: 在将所述第一数据差量存储在所述第二存储器之前,对所述第一数据差量进行压缩, 以减小所述第一数据差量的大小。
6. 根据权利要求4所述的方法,还包括: 在将所述第一数据差量存储在所述第二存储器中之前,对所述第一数据差量进行变 形,以减少所述第一数据差量的比特流中的零的数量。
7. 根据权利要求4所述的方法,还包括: 在从所述第一后续休眠状态醒来之后: 从所述第二存储器读出所述映像数据; 从所述第二存储器读出所述第一数据差量;以及 基于所述映像数据和所述第一数据差量将所重建的数据写入所述第一存储器。
8. 根据权利要求7所述的方法,还包括: 在从所述第一后续休眠状态醒来之后: 从所述第一存储器读出第三数据; 将所述第三数据与根据所述映像数据和所述第一数据差量所重建的至少部分数据进 行比较,以确定自从所述装置从所述第一后续休眠状态唤醒以来在所述第一存储器中所存 储的数据是否已经改变;以及 响应于确定出自从所述装置从所述第一后续休眠状态唤醒以来在所述第一存储器中 所存储的数据已经改变: 将第二数据差量存储在所述第二存储器中,所述第二数据差量代表在所述第一存储器 中存储的、自从所述装置从所述第一后续休眠状态唤醒以来已经改变的至少部分数据,所 述第二数据差量在所述装置进入第二后续休眠状态之前被存储在所述第二存储器中。
9. 根据权利要求8所述的方法,其中所述第一数据差量和所述第二数据差量存储在所 述第二存储器的不同裸片中。
10. 根据权利要求3所述的方法,还包括: 在确定出自从从所述初始休眠状态醒来以来在所述第一存储器中存储的数据已经改 变之后: 确定出在所述第二存储器中存储的数据的差量的数量超过阈值,并且响应于此: 生成在所述第一存储器中存储的数据的新映像数据;以及 在进入下一休眠状态之前,将在所述第一存储器中存储的数据的所述新映像数据写入 所述第二存储器。
11. 根据权利要求3所述的方法,还包括: 在确定出自从从所述初始休眠状态醒来以来在所述第一存储器中存储的数据已经改 变之后: 确定出自从所述装置从所述初始休眠状态唤醒以来已经改变的数据量超过阈值,并且 响应于此: 生成在所述第一存储器中存储的数据的新映像数据;以及 在进入下一休眠状态之前将在所述第一存储器中存储的数据的所述新映像数据写入 所述第二存储器。
12. 根据权利要求3所述的方法,其中将所述第二数据与在所述第二存储器上存储的 至少部分所述映像数据进行比较,以确定自从所述装置从所述初始休眠状态唤醒以来在所 述第一存储器中存储的数据是否已经改变包括: 为所述第二数据计算第一循环冗余校验(CRC); 为根据在所述第二存储器上存储的所述映像数据所重建的数据计算第二CRC ;以及 确定所述第一 CRC与所述第二CRC是否相等。
13. 根据权利要求3所述的方法,其中所述第二数据和所述部分数据是存储器的扇区。
14. 根据权利要求3所述的方法,其中所述第二数据和所述部分数据是存储器的页。
15. 根据权利要求3所述的方法,其中所述第二数据和所述部分数据是存储器的块。
16. -种装置,包括: 接口,所述接口与第一存储器和第二存储器耦接; 处理器,所述处理器用于与所述装置的休眠相结合管理数据存储,所述处理器通过所 述接口与所述第一存储器和所述第二存储器通信并且配置来: 从所述第一存储器读出第一数据; 基于所述第一数据生成在所述第一存储器中所存储的数据的映像数据; 在所述装置进入初始休眠状态之前,将在所述第一存储器中所存储的数据的所述映像 数据写入所述第二存储器;以及 在所述装置从所述初始休眠状态唤醒之后: 从所述第二存储器读出所述映像数据; 基于所述映像数据重建所述第一数据;以及 将所述第一数据写入所述第一存储器。
17. 根据权利要求16所述的装置,其中所述第一存储器包括DRAM存储器并且所述第二 存储器包括NAND存储器。
18. 根据权利要求16所述的装置,其中所述处理器还配置来: 在从所述初始休眠状态唤醒之后: 从所述第一存储器读出第二数据;以及 将所述第二数据与根据在所述第二存储器上存储的所述映像数据所重建的至少部分 数据进行比较,以确定自从所述装置从所述初始休眠状态唤醒以来在所述第一存储器中存 储的数据是否已经改变。
19. 根据权利要求18所述的装置,其中所述处理器还配置来: 响应于确定出自从从所述初始休眠状态醒来以来在所述第一存储器中存储的数据已 经改变: 将第一数据差量存储在所述第二存储器中,所述第一数据差量代表在所述第一存储器 中存储的、自从所述装置从所述初始休眠状态唤醒以来已经改变的至少部分数据,所述处 理器在所述装置进入第一后续休眠状态之前将所述第一数据差量存储在所述第二存储器 中。
20. 根据权利要求19所述的装置,其中所述处理器还配置来: 在从所述第一后续休眠状态唤醒之后: 从所述第二存储器读出所述映像数据; 从所述第二存储器读出所述第一数据差量;以及 基于所述映像数据和所述第一数据差量将所重建的数据写入所述第一存储器。
【文档编号】G06F9/44GK104115116SQ201280069740
【公开日】2014年10月22日 申请日期:2012年12月17日 优先权日:2011年12月19日
【发明者】S.巴-奥尔, E.沙伦, I.阿尔罗德 申请人:桑迪士克科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1