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

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

相关申请的交叉引用

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

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



背景技术:

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

如图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的信号线。即,用于芯片选择信号cs0和cs1的信号线被分开提供用于各自的存储器装置110_0和110_1。因此,由在存储器装置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的实施例中另一备份操作的流程图的示例。

具体实施方式

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

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

易失性存储器装置的per-dram可寻址能力(pda)模式

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

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

在pda模式下,对每个易失性存储器装置执行独立的模式寄存器组操作。当设置pda模式时,可以根据第0数据焊盘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个时钟周期时的操作。在芯片选择信号cs被启用为低电平的时间点301后经过3个时钟的时间点302,将不同于芯片选择信号cs的命令cmd和地址addr应用到易失性存储器装置。然后,非易失性存储器装置可以将在时间点302应用的命令cmd和地址addr确认为有效。如果在与芯片选择信号cs被启用的时间点301相同的时间点或在从芯片选择信号cs被启用的时间点301开始经过1个时钟或2个时钟的时间点,将命令cmd和地址addr应用到易失性存储器装置,则易失性存储器装置并不将命令cmd和地址addr识别为有效。

由于还在从芯片选择信号cs被启用的时间点303和305开始经过对应于cal(3个时钟)的时间的时间点304和306,应用命令cmd和地址addr,因此在时间点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被单独示出在附图中以表示易失性存储器装置410_0和410_1共享相同的芯片选择信号cs。地址addr可以包括多个信号。例如,地址addr可以包括多位存储库组(bankgroup)地址、多位存储库地址和多位正常地址。时钟ck可以从控制器400被传输到易失性存储器装置410_0和410_1,用于易失性存储器装置410_0和410_1的同步操作。时钟ck可以包括时钟(ck_t)和反转时钟(ck_t)获得的时钟条(clockbar)(ck_c)的差分法来传输。

数据总线data_bus可以将多位数据data0至data3在控制器400与易失性存储器装置410_0和410_1之间传输。各个易失性存储器装置410_0和410_1设置有数据焊盘dq0至dq3以分别联接到数据总线data_bus的数据线data0至data3。各个易失性存储器装置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的操作可分为步骤510和步骤520,步骤510用于控制器400为待通过第一易失性存储器装置410_0和第二易失性存储器装置410_1的控制总线cmd/addr_bus传输的控制信号设置不同的延时,步骤520用于控制器400分别地访问第一易失性存储器装置410_0和第二易失性存储器装置410_1。

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

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

在步骤513中,第二易失性存储器装置410_1的命令地址延时cal可被设置为“3”。这可以通过将命令cmd应用为对应于模式寄存器设置命令(mrs)的组合,将地址addr应用为对应于cal设置为“3”的组合,和在写入延时wl(wl=al+cwl)从命令cmd的应用时间经过之后,将信号电平“0”应用至对应于第二易失性存储器装置410_1的第0数据焊盘dq0的第1数据线data1来实现。参照图6,在时间点603应用用于设置cal为“3”的命令/地址cmd/addr,且当对应于写入延时wl的时间从时间点603经过时,数据线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至图7描述的实施例,易失性存储器装置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,基于dcal=3说明如下,第一易失性存储器装置410_0具有cal=0,第二易失性存储器装置410_1具有cal=3,trcd=3以及trp=4,但也可以使用其它值。

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

在时间点802,可以启用芯片选择信号cs,并且通过命令/地址cmd/addr可指示读取操作rd。然后,第一易失性存储器装置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,并且通过命令/地址cmd/addr可指示预充电操作pcg。然后,第一易失性存储器装置410_0可以通过在时间点804识别预充电操作pcg来执行预充电操作。在时间点804启用芯片选择信号cs后经过3个时钟的时间点805,第二易失性存储器装置410_1可以从命令/地址cmd/addr识别预充电操作pcg并且可以执行预充电操作。由于预充电操作不考虑激活操作是否已经预先执行,因此甚至可以通过第二易失性存储器装置410_1执行预充电操作。

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

在时间点807,可以启用芯片选择信号cs,并且通过命令/地址cmd/addr可指示写入操作wl。然后,第一易失性存储器装置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所述的,通过以满足dcal(cal差)≥trcd且dcal<trp的方式设置易失性存储器装置410_0和410_1的命令地址延时cal,可以防止易失性存储器装置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的配置和操作进行了描述。关于与nvdimm中数据备份和恢复相关的独立操作,之后将参照图11和图12进行描述。

第一组易失性存储器装置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的示例的配置简图。

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

通过多路复用器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中,确定是否可满足用于将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据备份在非易失性存储器装置930中的触发条件。例如,检测到主机的电源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联接。通过控制器940的命令可以改变由第一组易失性存储器装置911至914和第二组易失性存储器装置921至924使用的数据总线。第一组易失性存储器装置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可以通过访问其命令地址延时cal通过在芯片选择信号cs的启用时间应用命令/地址cmd/addr被设置为第一值,例如0的第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921,读取第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921。由于除第一组易失性存储器装置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通过访问具有指定命令地址延时cal的第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921来读取数据。进一步地,如上所述,命令地址延时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中存储的所有数据备份,则控制器940可以在步骤s1140中将诸如第一组易失性存储器装置911至914的目标易失性存储器装置912和第二组易失性存储器装置921至924的目标易失性存储器装置922的另外的目标存储器装置的命令地址延时cal设置为第一值,例如0,并且可以将除目标易失性存储器装置912和922之外的剩余易失性存储器装置911、913、914和921、923、924的命令地址延时cal设置为第二值,例如3。然后,在步骤s1150中,控制器940可以通过命令地址延时cal的设置读取目标易失性存储器装置912和922。尽管未示出,通过命令地址延时cal的设置,可以通过单独地将第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的每个易失性存储器装置选择为目标易失性存储器装置,对各个第一组易失性存储器装置911至914和各个第二组易失性存储器装置921至924的所有执行共享控制总线cmd/addr_bus与数据总线data_bus1和data_bus2的第一组易失性存储器装置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中不执行刷新时读取数据。

当新的非易失性存储器页面被准备并写入时,第一组易失性存储器装置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的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921的命令地址延时cal设置为第三值,例如0,并且可将除目标易失性存储器装置911和921之外的剩余易失性存储器装置912至914和922至924的命令地址延时cal设置为第四值,例如3。

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

在步骤s1250中,确定待恢复的数据是否剩余在非易失性存储器装置930中。如果待恢复的数据剩余,则该过程可继续到步骤s1230,并且可以对剩余数据执行恢复操作。

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

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

因此,在步骤s1260中,确定用于在非易失性存储器装置930中备份数据的擦除块或空白块是否充足。例如,确定非易失性存储器装置930的擦除块的数量是否充足以覆盖第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的全部容量或者当前存储在第一组易失性存储器装置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可以恢复到正常状态并且可以恢复主机的供电。在这种情况下,有必要中断备份操作并允许nvdimm900的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924尽快被主机的存储器控制器9使用。下面,将对这样的掉电中断操作进行描述。

在步骤s1310中,执行如上参照图11所述的掉电备份操作。

在步骤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的充足空间以备份用于主机的电源host_vdd和host_vss的下一次故障发生的nvdimm900的第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的数据之后,将对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制改变到主机的存储器控制器9可能是必要的。

在步骤s1330中,确定用于在非易失性存储器装置930中备份数据的擦除块或空白块是否充足。例如,确定非易失性存储器装置930的擦除块的数量是否充足以覆盖第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的全部容量或者当前存储在第一组易失性存储器装置911至914和第二组易失性存储器装置921至924中的数据的使用量或有效范围。

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

然而,如果在非易失性存储器装置930中不存在充足的擦除块,则在步骤s1350中在非易失性存储器装置930中擦除新块,以为主机的电源host_vdd和host_vss的下一次故障发生做准备。

此处,从非易失性存储器装置930擦除的块可以已经包括从第一组易失性存储器装置911至914和第二组易失性存储器装置921至924备份的数据。如果在掉电中断操作过程中主机的电源host_vdd和host_vss再次发生故障,则不是从开始执行图11示出的全部掉电备份操作,而是优先仅将已备份在擦除块中的数据备份然后继续在中断时中断的备份操作可能是有利的,从而可以快速实施备份任务,并且可以减少具有有限电量的辅助电源10的应急电源emg_vdd和emg_vss的消耗。

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

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

例如,在s1310中将第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921的数据备份在非易失性存储器装置930的擦除块中,然后在步骤s1350中擦除存储备份数据的块。在这种情况下,nvdimm900的控制器940可以将第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921的命令地址延时cal设置为第五值,例如0。然后,在将除了目标易失性存储器装置911和921之外的剩余易失性存储器装置的命令地址延时cal设置为第六值,例如3之后,可以通过命令地址延时cal的设置值选择并读取正在存储从非易失性存储器装置930擦除的数据的易失性存储器区域。在步骤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的命令和地址,即对主机的存储器控制器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可分析在各个易失性存储器装置中存储的数据的有效区域并累积分析结果,同时由主机的存储器控制器9执行对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制。

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

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

例如,假定在步骤s1540中选择的易失性存储器装置是上文参照图11所述的第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921。控制器940可以通过将第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921的命令地址延时cal设置为第一值,例如0,并且将除了目标易失性存储器装置911和921之外的剩余易失性存储器装置912至914和922至924的命令地址延时cal设置为第二值,例如3,来选择性地读取第一组易失性存储器装置911至914的目标易失性存储器装置911和第二组易失性存储器装置921至924的目标易失性存储器装置921。可以将读取的数据备份在非易失性存储器装置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可分析在各个易失性存储器装置中存储的数据的数量并累积分析结果,同时由主机的存储器控制器9执行对第一组易失性存储器装置911至914和第二组易失性存储器装置921至924的控制。

在步骤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