非易失性存储器模块及其操作方法与流程

文档序号:11216120阅读:1586来源:国知局
非易失性存储器模块及其操作方法与流程

相关申请的交叉引用

本申请要求于2016年3月28日提交的申请号为10-2016-0036643的韩国专利申请的优先权,其全部公开内容通过引用并入本文。

示例性实施例涉及半导体存储器技术,更具体地涉及一种能够利用数量减少的信号线单独地访问其中的易失性存储器装置的非易失性双列直插式存储器模块及其操作方法。



背景技术:

在大多数情况下,单个控制器被联接至两个或多个存储器装置并控制两个或多个存储器装置。

如图1a所示,当用于命令和地址的控制总线cmd/addr_bus0和在控制器100和存储器装置110_0之间的数据总线data_bus0与控制总线cmd/addr_bus1和在控制器100和存储器装置110_1之间的数据总线data_bus1分离时,控制器100可以单独地控制存储器装置110_0和存储器装置110_1。例如,当读取操作在存储器装置110_0中执行时,写入操作可在存储器装置110_1中执行。

如图1b所示,当控制总线cmd/addr_bus和数据总线data_bus由多个存储器装置110_0和110_1共享时,用于片选信号cs0和cs1的信号线被分别提供。即,分别为相应的存储器装置110_0和110_1提供用于片选信号cs0和cs1的信号线。在这种情况下,通过在存储器装置110_0和110_1之间的片选信号cs0或cs1选择的存储器装置可通过控制总线cmd/addr_bus执行指示的操作,并且可通过共享的数据总线data_bus与控制器100交换信号。

当联接至单个控制器的存储器装置的数量增加时,所需的信号线的数量增加,这增加系统设计的难度并且增加制造成本。



技术实现要素:

各个实施例涉及一种能够利用数量减少的信号线单独地访问其中的易失性存储器装置并能够对有效区域的数据的执行备份操作以防主机电源故障的非易失性双列直插式存储器模块。

在实施例中,非易失性存储器模块可以包括:多个易失性存储器装置,其共享传输数据的数据总线和传输命令和地址的控制总线;至少一个非易失性存储器装置;以及控制器,其适于在主机电源故障时将存储在多个易失性存储器装置中的数据备份至非易失性存储器装置中,并且在电源故障恢复时将备份在非易失性存储器装置中的数据恢复至多个易失性存储器装置中,控制器包括:命令/地址监听逻辑,其适于监听从主机的存储器控制器输入的命令和地址并分析存储在各个易失性存储器装置中的数据的有效区域;和命令/地址控制逻辑,其适于基于命令/地址监听逻辑的分析结果选择具有数据的有效区域的易失性存储器装置并将选择的易失性存储器备份至非易失性存储器装置中。

命令/地址控制逻辑可将用于识别具有数据的有效区域的易失性存储器装置的命令地址延迟(cal)设置成第一值,并将剩余的易失性存储器装置的命令地址延迟设置成不同于第一值的第二值。

第二值可大于第一值,第二值和第一值之间的差值可以等于或大于行地址到列地址的延迟时间(trcd:ras到cas延迟)。

第二值和第一值之间的差值可以小于行预充电时间(trp)。

命令/地址控制逻辑可以包括:逻辑,其针对多个非易失性存储器装置执行用于均匀分布刷新周期的分布式刷新操作同时编程非易失存储器装置的存储器页面;逻辑,其在低功率模式下操作多个易失性存储器装置,其中多个易失性存储器装置使用低于正常功率模式的功率,同时非易失性存储器装置的新的存储器页面被准备并写入;以及逻辑,其适于在非易失性存储器装置的新的存储器页面被写入之后将多个易失性存储器装置恢复至正常功率模式。

在实施例中,非易失性存储器模块的操作方法,非易失性存储器模块包括:多个易失性存储器装置,其共享传输数据的数据总线和传输命令和地址的控制总线;非易失性存储器装置;以及控制器,其根据主机电源的故障/恢复将存储在易失性存储器装置中的数据备份至或将备份在非易失性存储器装置中的数据恢复至多个易失性存储器装置中;方法可以包括:通过控制器监听从主机的存储器控制器输入至多个易失性存储器装置的命令和地址;分析命令和地址并分析存储在各个易失性存储器装置中的数据的有效区域;基于分析的结果选择具有数据的有效区域的易失性存储器装置,并且当检测到主机电源故障时或从主机的存储器控制器指示备份时将选择的易失性存储备份至非易失性存储器装置中。

控制器可将用于识别具有数据的有效区域的易失性存储器装置的命令地址延迟(cal)设置成第一值,并将剩余的易失性存储器装置的命令地址延迟设置成不同于第一值的第二值。

第二值可大于第一值,第二值和第一值之间的差值可以等于或大于行地址到列地址的延迟时间(trcd:ras到cas延迟)。

第二值和第一值之间的差值可以小于行预充电时间(trp)。

选择的易失性存储器的备份可以包括:针对多个非易失性存储器装置执行用于均匀分布刷新周期的分布式刷新操作同时编程非易失存储器装置的存储器页面;在较低功率模式下操作多个易失性存储器装置,其中多个易失性存储器装置使用低于正常功率模式的功率,同时非易失性存储器装置的新的存储器页面被准备并写入;和在非易失性存储器装置的新的存储器页面被写入后将多个易失性存储器装置恢复至正常功率模式。

非易失性存储器模块可以包括:易失性存储器装置,其适于存储通过共用数据总线从主机提供的数据,非易失性存储器装置,其适于备份存储在易失性存储器装置中的数据,以及控制器,其适于:通过监听通过共用控制总线从主机提供至各个易失性存储器装置的命令和地址分析存储在各个易失性存储器装置中的数据的有效区域;基于分析的结果在易失性存储器装置之中选择具有数据的有效区域的一个或多个易失性存储器装置;当主机电源故障时将选择的易失性存储器装置的数据备份至非易失性存储器装置中。

根据本发明的实施例,有可能在非易失性双列直插式存储器模块中利用数量减小的总线的信号线单独地访问易失性存储器装置,并且当主机的电源发生故障时有可能对有效区域的数据执行备份操作。

附图说明

图1a和图1b是说明根据常规技术的在控制器和存储器装置之间的总线连接的示例的框图。

图2是帮助描述易失性存储器装置中pda模式下模式寄存器组(mrs)的操作的定时图的示例。

图3是帮助描述易失性存储器装置的命令地址延迟(cal)的定时图的示例。

图4是说明根据实施例的双列直插式存储器模块(dimm)的基本配置的框图。

图5是帮助描述图4所示的dimm的操作的流程图的示例。

图6是帮助描述图5的操作512和513的定时图的示例。

图7a和7b是帮助描述图5的操作521和522的定时图的示例。

图8是帮助描述当易失性存储器装置410_0和410_1的命令地址延迟cal的值中的差值dcal等于或大于trcd且小于trp时的优点的定时图的示例。

图9是说明根据实施例的非易失性双列直插式存储器模块(nvdimm)的示例的配置简图。

图10是说明根据另一实施例的nvdimm的示例的配置简图。

图11是帮助描述根据实施例的nvdimm中备份操作的流程图的示例。

图12是帮助描述根据实施例的nvdimm中恢复操作的流程图的示例。

图13是帮助描述根据实施例的nvdimm中电源关闭中断操作的流程图的示例。

图14是说明根据另一实施例的nvdimm的示例的配置简图。

图15是帮助描述图14的实施例中的备份操作的流程图的示例。

图16是帮助描述图14的实施例中的另一备份操作的流程图的示例。

具体实施方式

下面将参照附图更详细地描述各个实施例。然而,本发明可体现为不同的形式且不应解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将更彻底和完整并向本领域技术人员充分传达本发明的范围。在整个公开中,在本发明的各附图和实施例中相似的参考标号始终指代相似的部件。

本发明涉及一种非易失性双列直插式存储器模块,其中控制器可利用数量减少的信号线单独地访问共享数据总线和控制总线的易失性存储器装置。在下文中,为了便于理解根据实施例的非易失性双列直插式存储器模块,将对整个系统的详细配置顺序地进行描述。

易失性存储器装置的单个dram可寻址性(pda)模式

首先,将描述易失性存储器装置的pda模式和命令地址延迟(cal)。

图2是帮助描述易失性存储器装置中pda模式下模式寄存器设置(mrs)的操作的定时图的示例。

在pda模式下,对于每个易失性存储器装置执行独立的模式寄存器设置操作。当pda模式被设置时,所有模式寄存器设置命令的有效性可以根据第0个数据焊盘(datapad)dq0的信号电平来确定。如果在写入延迟(wl=al+cwl,其中wl表示写入延迟,al表示附加延迟,cwl表示cas写入延迟)后,第0个数据焊盘dq0的信号电平为'0',则应用的所有模式寄存器设置命令可被确定为有效,并且如果第0个数据焊盘dq0的信号电平为'1',则应用的所有模式寄存器设置命令可被确定为无效并可被忽略。

参照图2,在时间点201处,模式寄存器设置命令mrs被应用到易失性存储器装置。在时间点201经过对应于写入延迟(wl=al+cwl)的时间的时间点202处,第0个数据焊盘dq0的信号电平转变为“0”并保持预定的时间段。因此,在时间点201应用的模式寄存器设置命令mrs被确定为有效,并且在从时间点203的模式寄存器设置命令周期时间(图2中表示为“tmrd_pda”)期间,通过使用与模式寄存器设置命令mrs一起输入的地址(未示出)来执行易失性存储器装置的设置操作。

如果第0个数据焊盘dq0的信号电平在时间点202被连续保持为“1”,则在时间点201应用的模式寄存器设置命令mrs被确定为无效,并因此被忽略。也就是说,并不执行易失性存储器装置的设置操作。

易失性存储器装置的命令地址延迟(cal)

图3是帮助描述易失性存储器装置的cal的定时图的示例。

cal表示片选信号cs和通过控制总线(cmd/addr_bus)传输的控制信号之中的其余信号之间的时间差。当cal被设置时,易失性存储器装置仅将从片选信号cs的启用时间开始经过对应于cal的时间之后输入的控制信号确定为有效。cal的值可以通过模式寄存器设置(mrs)来设置。

图3示出当cal被设置成3个时钟周期时的操作。在时间点301后经过3个时钟并且片选信号cs被启用为低电平时的时间点302处,不同于片选信号cs的命令cmd和地址addr被应用到易失性存储器装置。然后,非易失性存储器装置可认为在时间点302处应用的命令cmd和地址addr有效。如果命令cmd和地址addr在与片选信号cs被启用的时间点301相同的时间点或从片选信号cs被启用的时间点301经过1个时钟或2个时钟的时间点被应用至易失性存储器装置,则易失性存储器装置不会认为命令cmd和地址addr有效。

由于命令cmd和地址addr也在从时间点303和305经过对应于cal的时间(3个时钟)的时间点304和306并且片选信号cs被启用时应用,所以在时间点304和306处应用的命令cmd和地址addr可被易失性存储器装置认为有效。

双列直插式存储器模块(dimm)的基本配置

图4是说明根据实施例的dimm的基本配置的框图。

参照图4,dimm可以包括控制器400、第一易失性存储器装置410_0、第二易失性存储器装置410_1、控制总线cmd/addr_bus以及数据总线data_bus。

控制信号通过控制总线cmd/addr_bus从控制器400传输至易失性存储器装置410_0和410_1。控制信号可以包括命令cmd、地址addr和时钟ck。命令cmd可以包括多个信号。例如,命令cmd可以包括激活信号(act)、行地址选通信号(ras)、列地址选通信号(cas)和片选信号(cs)。虽然片选信号cs是包含在命令cmd中的信号,但片选信号cs在附图中被单独示出以表示共享相同的片选信号cs的易失性存储器装置410_0和410_1。地址addr可以包括多个信号。例如,地址addr可以包括多位存储体组地址,多位存储体地址和多位正常地址。时钟ck可以从控制器400被传输到易失性存储器装置410_0和410_1,用于易失性存储器装置410_0和410_1的同步操作。时钟ck可以包括时钟(ck_t)和通过反转时钟(ck_t)获得的时钟条(ck_c)的差分法来传输。

数据总线data_bus可以在控制器400与易失性存储器装置410_0和410_1之间传输多位数据data0至data3。各自易失性存储器装置410_0和410_1设有分别与数据总线data_bus的数据线data0至data3联接的数据焊盘dq0至dq3。各自易失性存储器装置410_0和410_1的特定的数据焊盘诸如数据焊盘dq0可被联接至不同的数据线data0至data1。指定的数据焊盘dq0可以用于设置识别控制总线cmd/addr_bus上的控制信号的延迟。

控制器400可以通过控制总线cmd/addr_bus控制易失性存储器装置410_0和410_1,并且可以通过数据总线data_bus与易失性存储器装置410_0和410_1交换数据。控制器400可被设置在dimm中,可以将用于允许易失性存储器装置410_0和410_1识别控制总线cmd/addr_bus上的信号的延迟设置成不同的值,并且可以通过使用延迟访问易失性存储器装置410_0和410_1之间所需的易失性存储器装置。这将参照图5至图7b在下文中详细说明。

第一易失性存储器装置410_0和第二易失性存储器装置410_1可以共享控制总线cmd/addr_bus和数据总线data_bus。第一易失性存储器装置410_0和第二易失性存储器装置410_1还可共享片选信号cs。第一易失性存储器装置410_0和第二易失性存储器装置410_1可设置有用于通过控制总线cmd/addr_bus传输的控制信号的不同延迟。延迟可以指参考信号例如片选信号cs与控制总线cmd/addr_bus上的信号中的其余信号cmd和addr之间的时间差。由于第一易失性存储器装置410_0和第二易失性存储器装置410_1相对于控制总线cmd/addr_bus被设置有不同延迟的事实,第一易失性存储器装置410_0和第二易失性存储器装置410_1可通过控制器400单独地访问,这将参照图5至图7b在下文中详细说明。

如从图4可以看出,用于识别第一易失性存储器装置410_0和第二易失性存储器装置410_1的任何信号传输线并不被单独分配给第一易失性存储器装置410_0和第二易失性存储器装置410_1。然而,控制器400可以分别地访问第一易失性存储器装置410_0和第二易失性存储器装置410_1,这将在下面进行描述。

dimm的基本cal设置操作

图5是帮助描述图4所示的dimm的操作的流程图的示例。

参照图5,dimm的操作可被分为针对控制器400为通过第一非易失性存储器装置410_0的控制总线cmd/addr_bus和第二非易失性存储器装置410_1的控制总线cmd/addr_bus传输的控制信号设置不同的延迟的步骤510以及针对控制器400分别访问第一非易失性存储器装置410_0和第二非易失性存储器装置410_1的步骤520。

在步骤511处,控制器400可以控制第一易失性存储器装置410_0和第二易失性存储器装置410_1进入pda模式。这可以通过应用对应于模式寄存器设置命令(mrs)的命令cmd和应用作为对应于pda进入模式的组合的地址addr来实现。

在步骤512处,第一易失性存储器装置410_0的命令地址延迟cal可被设置成0'。这可以在从命令cmd的应用时间经过写入延迟wl(wl=al+cwl)之后通过下列操作来实现:将命令cmd应用为对应于模式寄存器设置命令(mrs)的组合、将地址addr应用为对应于cal设置成“0”的组合以及将“0”的信号电平应用至对应于第一易失性存储器装置410_0的第0个数据焊盘dq0的第0个数据线data0。参照图6,可以确认用于将cal设置成'0'的命令/地址cmd/addr在时间点601处被应用,当从时间点601经过对应于写入延迟wl的时间时,数据线data0在时间点602处具有'0'的电平。由于数据线data1在时间点602处具有“1”的电平,所以第二易失性存储器装置410_1忽略在时间点601处应用的命令cmd。

在步骤513处,第二易失性存储器装置410_1的命令地址延迟cal可被设置成'3'。这可以在从命令cmd的应用时间经过写入延迟wl(wl=al+cwl)之后通过下列操作来实现:将命令cmd应用为对应于模式寄存器设置命令(mrs)的组合、将地址addr应用为对应于cal设置成“3”的组合以及将“0”的信号电平应用至对应于第二易失性存储器装置410_1的第0个数据焊盘dq0的第1个数据线data1。参照图6,用于将cal设置成'3'的命令/地址cmd/addr在时间点603处被应用,当从时间点603经过对应于写入延迟wl的时间时,数据线data1在时间点604处具有'0'的电平。由于数据线data0在时间点604处具有“1”的电平,所以第一易失性存储器装置410_0忽略在时间点603处应用的命令cmd。如果易失性存储器装置410_0和410_1的延迟设置被完成,则pda模式可以在步骤514处结束。

由于第一易失性存储器装置410_0和第二易失性存储器装置410_1的命令地址延迟cal被彼此不同地设置,所以控制器400可以通过在步骤521处在片选信号cs的启用时间应用命令/地址cmd/addr访问第一易失性存储器装置410_0或者可以通过在步骤522处在从片选信号cs的启用时间3个时钟后应用命令/地址cmd/addr访问第二易失性存储器装置410_1。

图7a和图7b是表示图5的操作521和522的定时图。参照图7a和图7b,在与片选信号cs的启用时间相同的时间点701、703、705、707、709和711处应用的命令cmd被第一易失性存储器装置410_0识别并操作第一易失性存储器装置410_0,在从片选信号cs的启用时间的3个时钟之后的时间点702、704、706、708、710和712处应用的命令cmd被第二易失性存储器装置410_1识别并操作第二易失性存储器装置410_1。在附图中,参考符号nop表示其中未执行操作的非操作状态。

在时间点701、702、703、704、707、708、709和710处的操作中,有可能仅访问第一易失性存储器装置410_0和第二易失性存储器装置410_1中的一个易失性存储器装置。此外,在时间点705、706、711和712处的操作中,可通过在片选信号cs的启用时间应用有效命令cmd以及在从片选信号cs的启用时间的3个时钟之后应用有效命令cmd有可能访问第一易失性存储器装置410_0和第二易失性存储器装置410_1两者。

根据参照图4至图7b以上描述的实施例,易失性存储器装置410_0和410_1共享控制总线cmd/addr_bus和数据总线data_bus,但相对于控制总线cmd/addr_bus具有不同的延迟。控制器400可以通过改变通过控制总线cmd/addr_bus应用的信号的延迟,访问在易失性存储器装置410_0和410_1之间期望被访问的易失性存储器装置。因此,不需要单独地控制易失性存储器装置410_0和410_1的附加线。

虽然上述实施例例示了,易失性存储器装置410_0和410_1通过控制器400被设置成具有相对于控制总线cmd/addr_bus不同的延迟,但这仅为了说明性的目的,将注意的是,易失性存储器装置410_0和410_1可以被编程为永久地具有不同的延迟。例如,当制造易失性存储器装置410_0和410_1时,易失性存储器装置410_0和410_1相对于控制总线cmd/addr_bus的延迟可被固定,或者在制造易失性存储器装置410_0和410_1之后,易失性存储器装置410_0和410_1相对于控制总线cmd/addr_bus的延迟可通过永久设置例如使用熔丝电路设置被固定。

此外,易失性存储器装置410_0和410_1之间的命令地址延迟cal的差值可以等于或大于从行地址至列地址的延迟时间trcd,即ras到cas延迟。另外,易失性存储器装置410_0和410_1之间的命令地址延迟cal的差值可以小于行预充电时间trp。即,dcal(cal差值)≥trcd,dcal<trp。

图8是帮助描述易失性存储器装置410_0和410_1的命令地址延迟cal的差值dcal等于或大于trcd且小于trp时的优点的简图的示例。参照图8,下文将在该假设下进行说明,即当第一易失性存储器装置410_0具有cal=0且第二易失性存储器装置410_1具有cal=3,trcd=3和trp=4时,dcal=3。

参照图8,在时间点801处,片选信号cs可被启用,激活操作act可通过命令/地址cmd/addr指示。然后,第一易失性存储器装置410_0可以通过在时间点801处识别激活操作act执行激活操作。

在时间点802处,片选信号cs可被启用,读取操作rd可通过命令/地址cmd/addr被指示。然后,第一易失性存储器装置410_0可以通过在时间点802处识别读取操作rd执行读取操作。此外,在时间点801启用片选信号cs后经过3个时钟的时间点802处,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别读取操作rd。然而,由于激活操作尚未在第二易失性存储器装置410_1中执行,所以第二易失性存储器装置410_1可以将通过命令/地址cmd/addr指示的读取操作rd确定为非法的,并且可以不执行读取操作。如果dcal小于trcd,则当第二易失性存储器装置410_1识别指示给第一易失性存储器装置410_0的激活操作act时,可能发生误操作。当dcal≥trcd时可以防止这种误操作。此外,当在时间点802启用片选信号cs后经过3个时钟的时间点803处,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别读取操作rd。然而,由于激活操作尚未在第二易失性存储器装置410_1中执行,所以第二易失性存储器装置410_1可以将通过命令/地址cmd/addr指示的读取操作rd确定为非法的,并且可以不执行读取操作。

在时间点804处,片选信号cs可被启用,预充电操作pcg可通过命令/地址cmd/addr被指示。然后,第一易失性存储器装置410_0可以通过在时间点804处识别预充电操作pcg执行预充电操作。在时间点804处启用片选信号cs后经过3个时钟的时间点805处,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别预充电操作pcg并且可以执行预充电操作。由于预充电操作不用考虑激活操作是否已经被提前执行,所以预充电操作甚至可以通过第二易失性存储器装置410_1来执行。

在时间点806处,片选信号cs可被启用,激活操作act可通过命令/地址cmd/addr被指示。然后,第一易失性存储器装置410_0可以通过在时间点806处识别激活操作act执行激活操作。如果dcal被设置成大于trp,则当第二易失性存储器装置410_1识别通过命令/地址cmd/addr指示的激活操作act时,可能发生误操作。由于dcal<trp,所以可以防止这种误操作。

在时间点807处,片选信号cs可被启用,写入操作wl可通过命令/地址cmd/addr被指示。然后,第一易失性存储器装置410_0可以通过在时间点807处识别写入操作wl执行写入操作。在时间点806启用片选信号cs后经过3个时钟的时间点807处,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别写入操作wl。然而,由于激活操作尚未在第二易失性存储器装置410_1中执行,所以第二易失性存储器装置410_1可以将通过命令/地址cmd/addr指示的写入操作wl确定为非法的,并且可以不执行写入操作。在时间点807启用片选信号cs后经过3个时钟的时间点808处,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别写入操作wl。然而,第二易失性存储器装置410_1可以将通过命令/地址cmd/addr指示的写入操作wl确定为非法的,并且可以不执行写入操作。

如上面参照图8所述,通过设置易失性存储器装置410_0和410_1的命令地址延迟cal,以这种方式满足dcal(cal差值)≥trcd且dcal<trp,有可能防止易失性存储器装置410_0和410_1执行误操作。

非易失性双列直插式存储器模块(nvdimm)的配置和操作

图9是说明根据实施例的nvdimm900的示例的配置简图。在图9中,将描述参照图4-图8以上所述的用于设置易失性存储器装置的不同cal和单独地访问共享数据总线和控制总线的易失性存储器装置的方案应用于根据实施例的nvdimm900的示例。

图9一起示出构建nvdimm存储器系统的主机的存储器控制器9和辅助电源10。nvdimm900是在发生电源故障时通过在主机的电源不稳定时将易失性存储器装置的数据备份在非易失性存储器装置中防止数据丢失的存储器模块。

参照图9,nvdimm900可以包括第一组易失性存储器装置911至914、第二组易失性存储器装置921至924、非易失性存储器装置930、控制器940、寄存器950、电源故障检测器960、第一数据总线data_bus1、第二数据总线data_bus2、控制总线cmd/addr_bus、多个第三数据总线data_bus3_1至data_bus3_4以及多个第四数据总线data_bus4_1至data_bus4_4。

当主机的电源host_vdd和host_vss处于正常时,寄存器950可通过主机控制总线host_cmd/addr_bus缓冲从主机的存储器控制器9提供的命令、地址和时钟,并可以通过控制总线cmd/addr_bus为第一组易失性存储器装置911至914和第二组易失性存储器装置921至924提供命令、地址和时钟。当主机的电源host_vdd和host_vss处于正常时,第一组易失性存储器装置911至914可以分别通过对应的第三数据总线data_bus3_1至data_bus3_4从主机的存储器控制器9接收数据/或者将数据传输至主机的存储器控制器9,第二组易失性存储器装置921至924可以分别通过对应的第四数据总线data_bus4_1至data_bus4_4从主机的存储器控制器9接收数据或者将数据传输至主机的存储器控制器9。即,当主机的电源host_vdd和host_vss处于正常时,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924可以通过第三数据总线data_bus3_1至data_bus3_4和第四数据总线data_bus4_1至data_bus4_4中的对应的一个与主机的存储器控制器9单独地通信。

如果当形成主机的电源host_vdd和host_vss的电压电平变得不稳定时,电源故障检测器960检测到主机的电源host_vdd和host_vss故障,则主机的电源host_vdd和host_vss到nvdimm900的供电被中断。然后,辅助电源10的应急电源emg_vdd和emg_vss被供给至nvdimm900。辅助电源10可通过大容量的电容器例如超级电容器来实现,并且可供应应急电源emg_vdd和emg_vss同时第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据被备份在非易失性存储器装置930中。虽然图9说明辅助电源10设置在nvdimm900外部,但是辅助电源10也可以设置在nvdimm900内部。当主机的电源host_vdd和host_vss故障被检测到时,电源故障检测器960可通知控制器940故障。

当从电源故障检测器960接收到主机的电源host_vdd和host_vss故障的通知时,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制从主机的存储器控制器9改变到nvdimm900的控制器940。然后,寄存器950可以缓冲从控制器940提供的命令、地址和时钟,并可以通过控制总线cmd/addr_bus为第一组易失性存储器装置911至914和第二组易失性存储器装置921至924提供命令、地址和时钟。第一组易失性存储器装置911至914可以通过第一数据总线data_bus1与控制器940交换数据,第二组易失性存储器装置921至924可以通过第二数据总线data_bus2与控制器940交换数据。控制器940可以通过控制总线cmd/addr_bus、第一数据总线data_bus1和第二数据总线data_bus2读取第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据,并且可以将读取的数据存储即备份在非易失性存储器装置930中。

当主机的电源host_vdd和host_vss发生故障时被备份在非易失性存储器装置930中的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据可在主机的电源host_vdd和host_vss恢复至正常状态之后被传输至和存储在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中。这种恢复操作可以根据控制器940的控制来执行,并且在恢复完成后,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制可从nvdimm900的控制器940恢复至主机的存储器控制器9。

第一组易失性存储器装置911至914共享与控制器940通信的相同的控制总线cmd/addr_bus和数据总线data_bus1。类似地,第二组易失性存储器装置921至924共享与控制器940通信的相同控制总线cmd/addr_bus和数据总线data_bus2。然而,控制器940可以单独地访问第一组易失性存储器装置911至914之中的单个易失性存储器装置,并且可以单独地访问第二组易失性存储器装置921至924之中的单个易失性存储器装置。就这一点而言,参照图2-8结合共享控制总线cmd/addr_bus和数据总线data_bus的dimm的配置和操作进行描述。稍后将参照图11和图12描述关于与nvdimm中数据备份和恢复相关联的单独操作。

第一组易失性存储器装置911至914和第二组易失性存储器装置921至924可以是dram,或者不仅可以是dram而且可以是不同种类的易失性存储器装置。非易失性存储器装置930可以是nand闪存。然而,非易失性存储器装置930不限于此,并且可以是任何种类的易失性存储器装置,例如nor闪存、电阻ram(rram)、相位ram(pram)、磁ram(mram)或旋转移转矩mram(stt-mram)。

图9所示的nvdimm900中的组件可以彼此结合或分离。

例如,控制器940、寄存器950和电源故障检测器960可通过一个芯片来配置或者可通过多个芯片来配置。此外,nvdimm900中使用的第一组易失性存储器装置911至914、第二组易失性存储器装置921至924和非易失性存储器装置930的数量可以与图9所示出的数量不同。

图10是说明根据另一实施例的nvdimm900的示例的配置简图。

除了多路复用器1101至1108和4个数据焊盘dq0至dq3之外,图9和图10中的nvdimms900可以彼此相同。

通过多路复用器1101至1104,当第一组易失性存储器装置911至914与主机的存储器控制器9通信时,第一组易失性存储器装置911至914的数据焊盘dq0至dq3可以与第三数据总线data_bus3_1至data_bus3_4联接;当第一组易失性存储器装置911至914与控制器940通信时,第一组易失性存储器装置911至914的数据焊盘dq0至dq3可以与第一数据总线data_bus1联接。

通过多路复用器1105至1108,当第二组易失性存储器装置921至924与主机的存储器控制器9通信时,第二组易失性存储器装置921至924的数据焊盘dq0至dq3可以与第四数据总线data_bus4_1至data_bus4_4联接;当第二组易失性存储器装置921至924与控制器940通信时,第二组易失性存储器装置921至924的数据焊盘dq0至dq3可以与第二数据总线data_bus2联接。

由于除了增加多路复用器1101至1108和第一组易失性存储器装置911至914和第二组易失性存储器装置921至9244的每个中使用4个数据焊盘dq0至dq3之外,图10的nvdimm900与参照图9所述的相同方式操作,所以本文将省略进一步详细的描述。

断电备份操作

图11是帮助描述根据实施例的nvdimm900中的备份操作的流程图的示例。

在步骤s1110处,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924在正常时间与主机的存储器控制器9通信,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制通过图9示出的nvdimm900中的主机的存储器控制器9执行。第一组易失性存储器装置911至914和第二组易失性存储器装置921至924共享相同的控制总线cmd/addr_bus。数据总线data_bus3_1至data_bus3_4和data_bus4_1至data_bus4_4被分别提供至第一组易失性存储器装置911至914和第二组易失性存储器装置921至924。因此,与nvdimm900的控制器940不同,主机的存储器控制器9可以单独地从第一组易失性存储器装置911至914和第二组易失性存储器装置921至924接收数据或者将数据传输至第一组易失性存储器装置911至914和第二组易失性存储器装置921至924。

在步骤s1120处,确定是否可满足在非易失性存储器装置930中备份第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据的触发条件。例如,检测主机的电源host_vdd和host_vss的故障可满足触发条件。可选地,当备份操作根据主机的存储器控制器9的命令被执行时,通过主机的存储器控制器9针对备份操作的指令可满足触发条件。

在步骤s1130处,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制可从主机的存储器控制器9改变至nvdimm900的控制器940。此外,nvdimm900所用的电源从主机的电源host_vdd和host_vss改变到通过辅助电源10供给的应急电源emg_vdd和emg_vss。另外,当控制对象被改变成控制器940时,通过第一组易失性存储器装置911至914使用的数据总线从第三数据总线data_bus3_1至data_bus3_4被改变成第一数据总线data_bus1,通过第二组易失性存储器装置921至924使用的数据总线从第四数据总线data_bus4_1至data_bus4_4被改变成第二数据总线data_bus2。

在步骤s1140处,控制器940单独地设置共享控制总线cmd/addr_bus与数据总线data_bus1和data_bus2的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924上的命令地址延迟cal。

参照图9,各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924包括8个数据焊盘dq0至dq7。在数据焊盘dq0至dq7之中,4个数据焊盘dq0至dq3可以与第一数据总线data_bus1和第二数据总线data_bus2联接,其余的4个数据焊盘dq4至dq7可以与第三数据总线data_bus3_1至data_bus3_4和第四数据总线data_bus4_1至data_bus4_4联接。第一组易失性存储器装置911至914和第二组易失性存储器装置921至924使用的数据总线可通过控制器940的指令来改变。第一组易失性存储器装置911至914的第0个数据焊盘dq0可以与第一数据总线data_bus1的不同数据线分别联接,第二组易失性存储器装置921至924的第0个数据盘dq0可以与第二数据总线data_bus2的不同数据线分别联接。通过此,第一组易失性存储器装置911至914可以单独地进入pda模式,第二组易失性存储器装置921至924可以单独地进入pda模式。

例如,这可以通过将目标易失性存储器装置例如各自第一组易失性存储器装置911至914的易失性存储器装置911和第二组易失性存储器装置921至924的易失性存储器装置921的命令地址延迟cal设置成第一值,例如0;并且通过将除各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921之外的其余的易失性存储器装置的命令地址延迟cal设置成第二值,例如3来实现。

在步骤s1150处,控制器940通过使用设置的命令地址延迟cal读取各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921。例如,控制器400可以通过访问各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921,读取各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921,其中命令地址延迟cal通过在片选信号cs的启用时间处应用命令/地址cmd/addr被设置成第一值,例如0。由于除各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921之外的其余的易失性存储器装置912至914和922至924的命令地址延迟cal被设置成第二值,例如3,所以它们忽视来自控制器940的读取命令。

从参照图4至图7b进行的上述描述,可以理解步骤s1140的方案和步骤s1150的方案,步骤s1140的方案是控制器940单独地设置共享控制总线cmd/addr_bus与数据总线data_bus1和data_bus2的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924上的命令地址延迟cal,步骤s1150的方案是控制器940通过访问各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921读取数据,其中数据具有指定的命令地址延迟cal。此外,如上所述,命令地址延迟cal的第一值和第二值之间的差dcal可以满足dcal≥trcd和dcal<trp的方式来设置。

在步骤s1160处,当从易失性存储器装置读取的数据被写入到非易失性存储器装置930中时,执行数据备份操作。例如,从各自第一组易失性存储器装置911至914的目标易失性存储器装置911和各自第二组易失性存储器装置921至924的目标易失性存储器装置921读取的数据可被备份在非易失性存储器装置930的页面中。

在步骤s1170处,确定非易失性存储器页面是否已满(即,页面的数据写入被完成)。如果非易失性存储页面不满,则过程可以返回到步骤s1140。

例如,如果存储在各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921中的数据保留,则控制器940可以在步骤s1140处通过将各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921的命令地址延迟cal设置成第一值例如0,并且将除目标易失性存储器装置911和921之外的其余的易失性存储器装置912至914和922至924的命令地址延迟cal设置成第二值例如3执行对存储在各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921中的其余数据的读取操作。

对于另一示例,当存储在各自第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921中的所有数据被备份时,则在步骤s1140处,控制器940可以将另外的目标存储器装置例如各自第一组易失性存储器装置911至914的目标易失性存储器装置912和第二组易失性存储器装置921至924的目标易失性存储器装置922的命令地址延迟cal设置成第一值例如0,并且可以将除目标易失性存储器装置912和922之外的其余的易失性存储器装置911、913、914和921、923、924的命令地址延迟cal设置成第二值例如3。然后,在步骤s1150处,控制器940可以通过命令地址延迟cal的设置读取目标易失性存储器装置912和922。尽管未示出,但是通过命令地址延迟cal的设置,共享控制总线cmd/addr_bus与数据总线data_bus1和data_bus2的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的选择性读取可以通过将各自第一组易失性存储器装置911至914和各自第二组易失性存储器装置921至924中的每个易失性存储器装置选择为目标易失性存储器装置对所有各自第一组易失性存储器装置911至914和各自第二组易失性存储器装置921至924来执行。

当在步骤s1170处确定非易失性存储页面已满时,过程继续至非易失性存储页面被编程的步骤s1180。

当编程非易失存储器装置930的存储器页面时,有必要检查不是从第一组易失性存储器装置911至914和第二组易失性存储器装置921至924读取的数据是否仍然存在。因此,在步骤s1180的对非易失存储器装置930的存储器页面的编程操作期间,控制器940可以对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924执行刷新操作。例如,均匀分布刷新周期的分布式刷新操作可针对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924执行,使得在重复任务之前所有行被打开,并且当刷新不被执行时读取各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据。

当新的非易失性存储器页面被准备并写入(即s1160-s1180)时,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924可以在低功率模式下操作,其中第一组易失性存储器装置911至914和第二组易失性存储器装置921至924使用比正常功率模式低的功率。在新的非易失性存储器页面被准备并写入后,当待备份的数据仍然保留在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中并且待编程的存储器页面存在于非易失性存储器装置930中时,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924被恢复至正常功率模式,使得读取待备份的数据的操作被连续地执行。

在步骤s1190处,确定待备份的数据是否保留在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中。当待备份的数据不保留时,则掉电备份操作可以结束,并且nvdimm900可被关闭。如果待备份的数据保留,则过程可以继续至步骤s1140,并且对其余数据的备份操作被执行。

通电恢复操作

图12是帮助描述根据实施例的nvdimm900中的恢复操作的流程图的示例。

当主机的电源host_vdd和host_vss恢复至正常状态或当主机的存储器控制器9指示恢复操作时,通电恢复操作可被执行。由于主机的电源host_vdd和host_vss已恢复至正常状态,所以通电恢复操作可以通过主机的电源host_vdd和host_vss被执行。

在示例中,在完成参照图11如上所述的备份操作之后,nvdimm900可以在关闭nvdimm900的状态下执行恢复操作。在另一示例中,在备份操作的过程中,主机的电源host_vdd和host_vss可以恢复至正常状态。在这种情况下,断电备份操作可以被中断,通电恢复操作可被执行。在任一示例中,在步骤s1210处,nvdimm900的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924可处于nvdimm900的控制器940的控制下。

在步骤s1220处,确定是否满足恢复条件,如果满足恢复条件,则开始数据从非易失性存储器装置930至第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的恢复。

在步骤s1230处,控制器940单独地设置共享控制总线cmd/addr_bus与数据总线data_bus1和data_bus2的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924上的命令地址延迟cal。如参照图11对备份操作的以上描述,第一组易失性存储器装置911至914可以单独地进入pda模式,第二组易失性存储器装置921至924可以单独地进入pda模式。

例如,各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的目标易失性存储器装置911和921的命令地址延迟cal可被设置成第三值例如0,除目标易失性存储器装置911和921之外的其余的易失性存储器装置912至914和922至924的命令地址延迟cal可被设置成第四值例如3。

在步骤s1240处,到各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921的数据恢复可通过命令地址延迟cal将从非易失性存储器装置930读取的数据写入各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921中被执行。

在步骤s1250处,确定待恢复的数据是否保留在非易失性存储器装置930中。如果待恢复的数据保留,则过程可继续至步骤s1230,恢复操作可针对其余的数据执行。

例如,当对于各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921的数据恢复被完成时,在步骤s1230处,控制器940可以将另外的目标存储器装置例如各自第一组易失性存储器装置911至914的目标易失性存储器装置912和第二组易失性存储器装置921至924的目标易失性存储器装置922的命令地址延迟cal设置成第三值例如0,并且控制器940可以将除目标易失性存储器装置912和922之外的其余的易失性存储器装置911、913、914和921、923、924的命令地址延迟cal设置成第四值例如3。然后,在步骤s1240处,控制器940可以通过命令地址延迟cal的设置将从非易失性存储器装置930读取的数据恢复至目标易失性存储器装置912和922。数据恢复操作可通过下列操作针对所有各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924执行:单独地设置作为各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的目标易失性存储器装置的每个易失性存储器装置的命令地址延迟cal、将各个第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中除了目标易失性存储器装置之外的其余的易失性存储器装置的命令地址延迟cal设置成第四值,然后将从非易失性存储器装置930读取的数据恢复至目标易失性存储器装置中。命令地址延迟cal的第三值和第四值之间的差值dcal可被设置成满足dcal≥trcd且dcal<trp。

当在步骤s1250处确定待恢复的数据不保留,为当主机的电源host_vdd和host_vss再次断电时做准备时,有必要确保非易失性存储器装置930的足够存储容量以在对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制改变到主机的存储器控制器9之前备份存储在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据。

在步骤s1260处,确定擦除块或空白块针对在非易失性存储器装置930中备份数据是否足够。例如,确定擦除块的量是否足以覆盖第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的整个容量或者目前存储在非易失性存储器装置930的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据的使用量或有效范围。如果在非易失性存储器装置930中不存在足够的擦除块,则在步骤s1270处,新的块在非易失性存储器装置930中被擦除。

当在非易失性存储器装置930中存在足够的擦除块时,则在步骤s1280处,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制从nvdimm900的控制器940被改变至主机的存储器控制器9,并且通电恢复操作被完成。

此后,nvdimm900可以通过主机的存储器控制器9使用,并且可以如上参照图11所述的步骤s1110的相同状态下操作。例如,用于第一组易失性存储器装置911至914的数据总线可以从第一数据总线data_bus1被改变成第三数据总线data_bus3_1至data_bus3_4,用于第二组易失性存储器装置921至924的数据总线可以从第二数据总线data_bus2被改变成第四数据总线data_bus4_1至data_bus4_4。

断电中断操作

图13是帮助描述根据实施例的nvdimm900中的断电中断操作的流程图的示例。

当电源故障检测器960检测到主机的电源host_vdd和host_vss发生故障或者主机的存储器控制器9指示备份操作时,断电备份操作如上参照图11被执行。就这一点而言,当执行断电备份操作时,主机的电源host_vdd和host_vss可被恢复至正常状态并且来自主机的电源供应可被重新开始。因此,有必要中断备份操作并允许主机的存储器控制器9尽可能快地使用第一组易失性存储器装置911至914和第二组易失性存储器装置921至924。下面,将描述这种断电中断操作。

在步骤s1310处,执行如上参照图1所述的断电备份操作。

在步骤s1320处,确定在断电备份操作期间,主机的电源host_vss和host_vdd是否被恢复。例如,当在断电备份操作期间,主机的电源host_vdd和host_vss返回至正常状态并被供给至nvdimm900或与其对应的信号从主机的存储器控制器9被接收时,可以确定在断电备份操作期间,主机的电源host_vdd和host_vss得以恢复。

在断电中断操作期间,由于nvdimm900尚未完成断电备份操作,所以nvdimm900未被关闭并且第一组易失性存储器装置911至914和第二组易失性存储器装置921至924仍然将数据存储在其中。因此,可以不需要如在通电恢复操作中的数据恢复过程。然而,在步骤s1310的数据备份期间,存在非易失性存储器装置930的存储器页面被第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据占据的机会,因此不可能为主机的电源host_vdd和host_vss再次发生故障做准备。因此,在确保非易失性存储器装置930中备份第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据的足够空间用于主机的电源host_vdd和host_vss的故障再次发生之后,可有必要对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制被改变到主机的存储器控制器9。

在步骤s1330处,确定擦除块或空块对于在非易失性存储器装置930中备份数据的是否足够。

例如,确定擦除块的量是否足以覆盖第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的整个容量或者目前存储在非易失性存储器装置930的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据的使用量或有效范围。

当在非易失性存储器装置930中存在足够的擦除块时,在步骤s1340处,对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制从nvdimm900的控制器940改变至主机的存储器控制器9,并且主机的存储器控制器9可立即使用nvdimm900。

然而,当在非易失性存储器装置930中不存在足够的擦除块时,在步骤s1350处,新的块在非易失性存储器装置930中被擦除以为主机的电源host_vdd和host_vss的故障再次发生做准备。

这里,从非易失性存储器装置930擦除的块可以包括从第一组易失性存储器装置911至914和第二组易失性存储器装置921至924备份的数据。当在断电中断操作而不是从一开始执行图11说明的整个断电备份操作期间,主机的电源host_vdd和host_vss再次发生故障时,优先仅备份在擦除块中备份的数据然后重新开始在中断时间中断的备份操作是有利的,使得备份任务可被快速地实施,并且具有有限功率量的辅助电源10的应急电源emg_vdd和emg_vss的消耗可得到降低。

在步骤s1360处,确定用于将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据备份在非易失性存储器装置930中的触发条件是否被满足。如上所述,触发条件可以是对主机的电源host_vdd和host_vss的故障检测或来自主机的存储器控制器9的备份命令。当不满足触发条件时,过程返回至步骤s1330。

当确定触发条件被满足时,在步骤s1310处备份然后在步骤s1350处被擦除的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据在步骤s1370处被再次备份。

例如,可以假设在步骤s1310处,各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921的数据被备份在非易失性存储器装置930中的擦除块中,然后在步骤s1350处,存储备份数据的块被擦除。因此,nvdimm900的控制器940可以将各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921的命令地址延迟cal设置成第五值例如0。然后,在将除了目标易失性存储器装置911和921之外的其余的易失性存储器装置的命令地址延迟cal设置成第六值例如3之后,正在存储在步骤s1350处从非易失性存储器装置930擦除的数据的易失性存储器区域可以通过命令地址延迟cal的设置值被选择并读取。在步骤s1370处,读取的数据被再次备份在非易失性存储器装置930中。在步骤s1370的选择性备份操作被完成之后,在步骤s1380处,在断电中断操作的启用时间中断的断电备份操作可被重新开始。

nvdimm的命令/地址监听

图14是说明根据另一实施例的nvdimm的示例的配置简图。图14是帮助描述nvdimm的命令/地址监听操作的概念图。为了便于理解本实施例,仅示出nvdimm的内部配置。主机的存储器控制器9、主机的存储器控制器9和第一组易失性存储器装置911至914和第二组易失性存储器装置921至924、非易失性存储器装置930之间的联接关系以及非易失性存储器装置930和控制器940之间的联接关系与图9所示相同。此外,图14的配置简图说明作为第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的dram,形成在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据焊盘与图9中示出的数据焊盘相同。

参照图14,控制器940可以包括命令/地址监听逻辑1410和命令/地址控制逻辑1420。命令/地址监听逻辑1410可以接收并识别即监听用于从主机的存储器控制器9提供的用于第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的命令和地址。命令/地址控制逻辑1420可为第一组易失性存储器装置911至914和第二组易失性存储器装置921至924提供命令和地址,从而控制第一组易失性存储器装置911至914和第二组易失性存储器装置921至924。

从命令/地址控制逻辑1420输出的控制器940的命令和地址通过多路复用器1450被传输到寄存器时钟驱动器(rcd)1440。寄存器时钟驱动器1440可以缓冲从主机的存储器控制器9或nvdimm的控制器940提供的命令、地址和时钟,并且可以通过控制总线cmd/addr_bus为第一组易失性存储器装置911至914和第二组易失性存储器装置921至924提供命令、地址和时钟。此外,寄存器时钟驱动器1440可具有恢复从主机的存储器控制器9或nvdimm的控制器940提供的命令和地址的任何失真的功能。此后,将参照图15和图16描述通过命令/地址监听执行断电备份操作的实施例。

使用nvdimm的命令/地址监听的选择性备份操作

图15是帮助描述图14的实施例中的备份操作的流程图的示例。

当主机的电源host_vdd和host_vss如上所述正常供电时,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924被主机的存储器控制器9单独地控制。在步骤s1510处,nvdimm的控制器940可以通过命令/地址监听逻辑1410监听从主机的存储器控制器9输入到第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的命令和地址。

在步骤s1520处,命令/地址监听逻辑1410分析存储在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的每个易失性存储器装置中的数据的有效区域(即数据被存储在易失性存储器中的区域)。命令/地址监听逻辑1410可分析存储在各个易失性存储器装置中的数据的有效区域并积累分析结果,同时对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制通过主机的存储器控制器9来执行。

在步骤s1530处,确定用于将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据备份在非易失性存储器装置930中的触发条件是否被满足。如上所述,触发条件是用于将存储在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据备份在非易失性存储区装置930中的条件。例如,对主机的电源host_vdd和host_vss的故障检测或者对来自主机的存储器控制器9的备份操作的指示可以满足触发条件。

当触发条件被满足时,具有数据的有效区域的易失性存储器装置基于步骤s1520的积累的分析结果在步骤s1540处被选择,并且在步骤s1550处,在所选择的易失性存储器装置中存储的数据被备份在非易失性存储器装置930中。

例如,假定在步骤s1540处选择的易失性存储器装置是如上参照图11所述的各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921。控制器940可以通过下列操作选择性地读取各个第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921:将各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的目标易失性存储器装置911和921的命令地址延迟cal设置成第一值例如0,并且将除了目标易失性存储器装置911和921之外的其余的易失性存储器装置912至914和922至924的命令地址延迟cal设置成第二值例如3。读取的数据可被备份在非易失性存储器装置930中。

当有效区域的数据被存储在共享相同的控制总线cmd/addr_bus以及第一数据总线data_bus1和第二数据总线data_bus2的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924之中的一些易失性存储器装置中时,仅有效区域的易失性存储器装置被选择,所选择的易失性存储器装置的命令地址延迟cal可被顺序地设置成第一值,未选择的易失性存储器装置的命令地址延迟cal可被设置成第二值。因此,通过仅备份有效区域的数据,可可能大幅缩短备份数据所需的时间。

使用nvdimm的命令/地址监听的优先备份操作

图16是帮助描述图14的实施例中另一备份操作的流程图的示例。

当主机的电源host_vdd和host_vss被正常供电时,第一组易失性存储器装置911至914和第二组易失性存储器装置921至924通过主机的存储器控制器9单独地控制。在步骤s1610处,nvdimm的控制器940可以通过命令/地址监听逻辑1410监听从主机的存储器控制器9输入到第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的命令和地址。

在步骤s1620处,命令/地址监听逻辑1410分析在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的每个易失性存储器装置中存储的数据的量。命令/地址监听逻辑1410可分析在各个易失性存储器装置中存储的数据的量并积累分析结果,同时对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制通过主机的存储器控制器9来执行。

在步骤s1630处,确定用于将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据备份在非易失性存储器装置930中的触发条件是否被满足。触发条件是用于将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中存储的数据备份在非易失性存储区装置930中的条件。对主机的电源host_vdd和host_vss的故障检测或者对来自主机的存储器控制器9的备份操作的指示可以满足触发条件。

当触发条件被满足时,在步骤s1640处,各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924可按照存储的数据的量被优先化,并且在步骤s1650处,在易失性存储器装置中存储的数据根据优先顺序被备份在非易失性存储器装置930中。

例如,具有最大存储的数据量的易失性存储器装置是在第一组易失性存储器装置911至914中的易失性存储器装置912和第二组易失性存储器装置921至924中的易失性存储器装置922。控制器940可以通过将易失性存储器装置912和922的命令地址延迟cal设置成第一值例如0,并且将其余的易失性存储器装置911、913、914和921、923、924的命令地址延迟cal设置成第二值例如3选择性地读取具有最大存储的数据量的易失性存储器装置912和922。如上所述,读取的数据被备份在非易失性存储器装置930中。

在步骤s1640处,备份操作可根据优先级设置针对各自第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的每个易失性存储器装置执行。

如从以上描述显而易见的是,当nvdimm900通过主机的电源host_vdd和host_vss的故障和恢复执行数据的备份和恢复操作时,nvdimm900的第一组易失性存储器装置911至914共享与控制器940通信的控制总线cmd/addr_bus和第一数据总线data_bus1,nvdimm900的第二组易失性存储器装置921至924共享与控制器940通信的控制总线cmd/addr_bus和第二数据总线data_bus2。控制器940可以通过将命令地址延迟cal设置成不同的值单独地访问第一组易失性存储器装置911至914备份和恢复数据。类似地,控制器940可以通过将命令地址延迟cal设置成不同的值单独地访问第二组易失性存储器装置921至924备份和恢复数据。

在一个或多个示例性实施例中,本文所描述的功能可在硬件、软件、固件或它们的任意组合中实现。如果在软件中实现,则功能可以作为机器可读介质即计算机程序产品诸如计算机可读介质上的一个或多个命令或代码被存储或传输。计算机可读介质包括通信介质,其包括计算机存储介质和便于计算机程序从一个位置传输到另一位置的任何介质。存储介质可以是可被计算机访问的任何可用介质。在非限制性示例中,这种计算机可读介质可以被ram、rom、eeprom、cd-rom,光盘存储器装置、磁盘存储器装置、磁存储器装置或计算机访问,并且可以包括可用于以命令或数据结构的形式携带或存储所需程序代码的任何介质。本文所用的磁盘和盘(disc)包括压缩盘(cd)、激光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常重放数据磁性地但光盘光盘,其中磁盘通常通过磁性方式再现数据,而盘通过光学方式再现数据。它们的任意组合应包括在计算机可读介质的范围内。

虽然已经描述了各个实施例用于说明的目的,但对于本领域技术人员将是显而易见的是,在不脱离如下述权利要求书限定的本发明的精神和范围的情况下可以作出各种变化和变型。

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