动态随机存取存储器(dram)中的奇偶校验数据
技术领域
1.本公开大体上涉及管理动态随机存取存储器(dram)中的奇偶校验数据。
背景技术:2.存储器装置通常被提供作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可能需要电力来维持其数据且包含随机存取存储器(ram)、dram及同步动态随机存取存储器(sdram)等等。非易失性存储器可通过在未被供电时保存所存储数据而提供永久性数据,且可包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)及电阻可变存储器,例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)及磁阻式随机存取存储器(mram)等等。
3.存储器还被用作用于广泛的电子应用的易失性及非易失性数据存储装置。非易失性存储器可用在(举例来说)个人计算机、便携式记忆棒、数码相机、蜂窝电话、例如mp3播放器的便携式音乐播放器、电影播放器以及其它电子装置中。可将存储器单元布置成阵列,其中所述阵列用于存储器装置中。
4.存储器可为计算装置中使用的存储器模块(例如,双列直插式存储器模块(dimm))的部分。存储器模块可包含易失性存储器(举例来说,例如dram)及/或非易失性存储器(举例来说,例如快闪存储器或rram)。dimm可用作计算系统中的主存储器。
技术实现要素:5.在一方面中,本技术案提供一种用于管理动态随机存取存储器(dram)中的奇偶校验数据的方法,其包括:在控制器处基于排队等待写入到耦合到所述控制器的非易失性存储器装置的用户数据而产生所述奇偶校验数据;在所述dram处从所述控制器接收所述奇偶校验数据且将所述奇偶校验数据写入到所述dram;在所述非易失性存储器装置处从所述控制器接收所述用户数据且将所述用户数据写入到所述非易失性存储器装置;经由所述控制器从所述非易失性存储器装置读取所述用户数据;及在所述控制器处从所述dram接收所述奇偶校验数据。
6.在另一方面中,本技术案进一步提供一种用于管理动态随机存取存储器(dram)中的奇偶校验数据的设备,其包括:所述dram,其经配置以存储所述奇偶校验数据;非易失性存储器装置,其耦合到所述dram,其中所述非易失性存储器装置经配置以存储用户数据;及控制器,其耦合到所述dram及所述非易失性存储器装置,其中所述控制器包含错误校正码(ecc)模块,其经配置以从所述dram接收所述奇偶校验数据;且响应于来自所述非易失性存储器装置的所述用户数据的读取操作期间的错误而使用所述奇偶校验数据重建所述用户数据。
7.在又一方面中,本技术案进一步提供一种用于管理动态随机存取存储器(dram)中的奇偶校验数据的系统,其包括:主机装置,其经配置以发送包含用户数据的写入命令;及
存储器装置,其耦合到所述主机装置,其中所述存储器装置包括:控制器,其包含错误校正码(ecc)模块,其经配置以:接收包含所述用户数据的所述写入命令;且基于所述用户数据产生所述奇偶校验数据;所述dram,其经配置以:从所述控制器接收所述奇偶校验数据;且存储所述奇偶校验数据;及非易失性存储器装置,其经配置以:从所述控制器接收所述用户数据;且存储所述用户数据。
附图说明
8.图1是根据本公开的数个实施例的呈包含存储器系统的计算系统形式的设备的框图。
9.图2是根据本公开的数个实施例的呈双列直插式存储器模块(dimm)形式的设备的框图。
10.图3是根据本公开的数个实施例的用于在dram中存储奇偶校验数据的方法的流程图。
具体实施方式
11.本公开包含方法、设备及系统,其涉及:在控制器处基于排队等待写入到耦合到所述控制器的非易失性存储器装置的用户数据而产生奇偶校验数据;在dram装置处从所述控制器接收所述奇偶校验数据且将所述奇偶校验数据写入到所述dram装置;在所述非易失性存储器装置处从所述控制器接收所述用户数据且将所述用户数据写入到所述非易失性存储器装置;经由所述控制器从所述非易失性存储器装置读取所述用户数据;及在所述控制器处从所述dram装置接收所述奇偶校验数据。
12.非易失性存储器装置及/或dram可包含在dimm中。dimm可为非易失性双列直插式存储器模块(nvdimm)。在数个实施例中,非易失性存储器装置可为3d交叉点装置或nand装置。
13.非易失性存储器装置可提供接近dram的速度及非易失性,这可消除大量系统开销,例如周期性检查点及/或将系统状态下降到硬盘驱动器及/或ssd。非易失性存储器装置还可提供主存储器的大存储器容量,举例来说1太字节(tb)。在一些实例中,非易失性存储器装置的存储器容量可用于存储器内数据库。
14.在数个实施例中,非易失性存储器(例如,3d交叉点)可具有高缺陷率且在一些情况中无法容忍裸片失效。可使用xor及/或raid方法吸收裸片失效。这些方法可包含一或多个裸片仅存储写入在其它裸片上的用户数据的奇偶校验数据且响应于裸片失效,可用奇偶校验数据执行xor操作以恢复用户数据。然而,将奇偶校验数据写入到一或多个裸片及/或响应于裸片失效而重建用户数据可能会降低写入性能及/或读取性能。
15.耦合到dram装置的非易失性存储器装置可在不降低系统的写入性能及/或读取性能的情况下吸收裸片失效。举例来说,用以存储奇偶校验数据的独立dram模块允许非易失性存储器装置的全存储器带宽用于服务高性能写入。在数个实施例中,非易失性存储器装置及dram装置可包含在相对较小占据面积中。
16.包含错误校正码(ecc)模块的控制器可通过对用户数据执行错误校正码操作(举例来说,xor及/或raid操作)而产生奇偶校验数据。奇偶校验数据可与用户数据一起存储在
(例如,写入到)dram装置及/或非易失性存储器装置中。在一些实例中,奇偶校验数据可嵌入在非易失性存储器装置中的用户数据中。在数个实施例中,包括用户数据的位流还可包括奇偶校验数据的一或多个位。
17.可使用奇偶校验数据来重建存储在非易失性存储器装置中的用户数据。控制器可从dram装置接收(例如,读取)奇偶校验数据且响应于读取失败而重建用户数据。读取失败可归因于非易失性存储器装置中的存储器损坏。在一些实例中,控制器可在一个时钟循环中读取并重建用户数据,这是因为奇偶校验数据在dram装置处很容易获得。举例来说,当从非易失性存储器装置读取用户数据时,也从dram装置读取对应奇偶校验数据,使得如果存在读取错误,那么很容易获得奇偶校验数据且可在一个时钟循环中执行ecc操作。
18.在数个实施例中,在使dram装置及/或dimm断电之前,可将奇偶校验数据存储在非易失性存储器装置中。可响应于使dram装置通电而将奇偶校验数据重写到dram装置。在一些实例中,可响应于使dram装置断电及通电而在控制器处重新产生奇偶校验数据及/或在dram装置处接收奇偶校验数据。举例来说,控制器可从非易失性存储器装置接收用户数据且响应于使dram装置及/或dimm通电而对用户数据执行xor操作。
19.在本公开的以下详细描述中,参考形成本公开的一部分的附图,并且在附图中通过说明的方式展示可如何实践本公开的数个实施例。对这些实施例进行足够详细的描述以使所属领域的一般技术人员能够实践本公开的实施例,并且应理解,可利用其它实施例,并且在不脱离本公开的范围的情况下可进行工艺改变、电气改变及/或结构改变。如本文所使用,指示符“m”、“n”、“x”及“y”指示如此指定的数个特定特征可包含在本公开的数个实施例中。
20.如本文所使用,“数个”某物可指代此类事物中的一或多者。举例来说,数个dimm可指代一或多个dimm。另外,如本文所使用的例如“m”、“n”、“x”及“y”的指示符(尤其是关于图式中的参考数字)指示如此指定的数个特定特征可包含在本公开的数个实施例中。
21.本文的图遵循编号惯例,其中第一数字或前几个数字对应于绘图号且剩余数字识别图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。如将了解,本文各种实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。另外,在图中提供的元件的比例及相对尺度希望说明本公开的各种实施例,并且不以限制性意义使用。
22.图1是根据本公开的一或多个实施例的包含呈数个存储器系统104-1
…
104-n形式的设备的计算系统100的功能框图。如本文所使用,“设备”可指代但不限于多种结构或结构的组合中的任一者,举例来说,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置,或一或多个系统。
23.在图1中说明的实施例中,存储器系统104-1
…
104-n可包含一或多个双列直插式存储器模块(dimm)110-1、
…
、110-x、110-y。dimm 110-1、
…
、110-x、110-y可包含易失性存储器及/或非易失性存储器。在数个实施例中,存储器系统104-1、
…
、104-n可包含多芯片装置。多芯片装置可包含数个不同存储器类型及/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。
24.在图1中,经由通道112-1耦合到主机的存储器系统104-1可包含dimm 110-1、
…
、110-x,其中dimm 110-1是nvdimm且110-x是dram dimm。在此实例中,每一dimm 110-1、
…
、
110-x、110-y包含控制器114。控制器114可从主机102接收命令且控制命令在dimm上的执行。而且,在数个实施例中,可通过没有控制器的存储器装置(例如,dimm)实施本公开的协议且使用本公开的协议执行命令可内置到存储器装置中。
25.取决于dimm中的存储器的类型,主机102可使用本公开的协议及/或现有协议向dimm 110-1、
…
、110-x、110-y发送命令。举例来说,主机可使用本公开的协议在相同通道(例如,通道112-1)上与nvdimm通信且使用现有协议与dram dimm通信,nvdimm及dram dimm两者在同一存储器系统上。主机及nvdimm可根据本公开的协议经由读取就绪(r_rdy)信号、读取发送(r_send)信号、写入信用增量(wc_inc)信号及读取识别(rid)信号进行通信。可经由在现有协议(例如,ddr4)中未使用或作为来自现有协议(例如,ddr4)的改换用途(例如,以不同方式使用)使得本协议与现有协议兼容的引脚的引脚发送读取就绪(r_rdy)信号、读取发送(r_send)信号、写入信用增量(wc_inc)信号及读取识别(rid)信号。而且,可在正在开发的协议(例如,ddr5)中将引脚指派到读取就绪(r_rdy)信号、读取发送(r_send)信号、写入信用增量(wc_inc)信号及读取识别(rid)信号。
26.如图1中说明,主机102可耦合到存储器系统104-1
…
104-n。在数个实施例中,每一存储器系统104-1
…
104-n可经由通道耦合到主机102。在图1中,存储器系统104-1经由通道112-1耦合到主机102且存储器系统104-n经由通道112-n耦合到主机102。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、pda、存储读卡器、接口集线器以及其它主机系统,且可包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将了解,“处理器”可意指一或多个处理器,例如并行处理系统、数个协处理器等。
27.主机102包含主机控制器108以与存储器系统104-1
…
104-n通信。主机控制器108可经由通道112-1
…
112-n向dimm 110-1、
…
、110-x、110-y发送命令。主机控制器108可与dimm 110-1、
…
、110-x、110-y及/或dimm 110-1、
…
、110-x、110-y中的每一者上的控制器114通信以读取、写入及擦除数据以及其它操作。物理主机接口可提供用于在存储器系统104-1
…
104-n与具有用于物理主机接口的兼容接受器的主机102之间传递控制、地址、数据及其它信号的接口。可在数个总线(例如数据总线及/或地址总线)上举例来说经由通道112-1
…
112-n在102与dimm 110-1、
…
、110-x、110-y之间传达信号。
28.主机控制器108及/或dimm上的控制器114可包含控制电路系统,例如,硬件、固件及/或软件。在一或多个实施例中,主机控制器108及/或控制器114可为耦合到包含物理接口的印刷电路板的专用集成电路(asic)。而且,每一dimm 110-1、
…
、110-x、110-y可包含易失性及/或非易失性存储器的缓冲器116及ecc模块118。缓冲器116可用于缓冲在执行读取命令及/或写入命令期间使用的数据。举例来说,可由ecc模块118对数据执行ecc操作以在存储于缓冲器116中之前校正错误。
29.dimm 110-1、
…
、110-x、110-y可为存储器系统提供主存储器或可在整个存储器系统中用作额外存储器或存储装置。每一dimm 110-1、
…
、110-x、110-y可包含存储器单元(例如,非易失性存储器单元)的一或多个阵列。举例来说,阵列可为具有nand架构的快闪阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可包含ram、rom、dram、sdram、pcram、rram及快闪存储器等等。
30.图1的实施例可包含未说明以免混淆本公开的实施例的额外电路系统。举例来说,存储器系统104-1
…
104-n可包含地址电路系统以锁存通过i/o电路系统经由i/o连接提供
的地址信号。地址信号可通过行解码器及列解码器接收并解码以存取dimm 110-1、
…
、110-x、110-y。所属领域的技术人员将了解,地址输入连接的数目可取决于dimm 110-1、
…
、110-x、110-y的密度及架构。
31.图2是根据本公开的数个实施例的呈双列直插式存储器模块(dimm)210形式的设备的框图。dimm 210可对应于图1中的dimm 110-1、
…
、110-x、110-y。在图2中,dimm 210可包含控制器214。控制器214可对应于图1中的控制器114。控制器214可包含可为缓冲器216及/或ecc模块218的存储器,例如sram存储器。缓冲器216及ecc模块218可分别对应于图1中的缓冲器116及ecc模块118。dimm 210可包含耦合到控制器214的非易失性存储器装置220及dram装置222。
32.非易失性存储器装置220可包含非易失性存储器阵列。在一些实例中,非易失性存储器装置220可为3d交叉点装置或nand装置。非易失性存储器装置220可提供接近dram的速度及非易失性,这可消除大量系统开销,例如周期性检查点及/或将系统状态下降到硬盘驱动器及/或ssd。非易失性存储器装置220也可提供主存储器的大存储器容量,举例来说1tb。在一些实例中,非易失性存储器装置220的存储器容量可用于存储器内数据库。
33.在数个实施例中,非易失性存储器(例如,3d交叉点)可具有高缺陷率且在一些情况中无法容忍裸片失效。可使用xor及/或raid方法吸收裸片失效。这些方法可包含一或多个裸片仅保存写入在其它裸片上的用户数据的奇偶校验数据且响应于裸片失效,可用奇偶校验数据执行xor操作以恢复用户数据。然而,将奇偶校验数据写入到一或多个裸片及/或响应于裸片失效而重建用户数据可降低写入性能及/或读取性能。
34.包含非易失性存储器装置220及dram装置222的dimm 210可在不降低dimm 210的写入性能及/或读取性能的情况下吸收裸片失效。举例来说,包含用以存储奇偶校验数据226的独立dram装置222的dimm 210允许非易失性存储器装置220的全存储器带宽用于服务高性能写入。在数个实施例中,非易失性存储器装置220及dram装置222可包含在相对较小占据面积中。
35.非易失性存储器装置220可包含可用于在非易失性存储器装置220上执行命令的控制电路系统217-1(例如,硬件、固件及/或软件)。控制电路系统217-1可从控制器214接收命令。控制电路系统217-1可经配置以执行命令以在非易失性存储器装置220中读取及/或写入数据。
36.在数个实施例中,用户数据224可存储在非易失性存储器装置220上。非易失性存储器装置220可经配置以响应于从控制器214及/或主机(例如,图1中的主机102)接收到读取命令而读取用户数据224。
37.dram装置222可包含控制电路系统217-2以在dram装置222上执行命令。控制电路系统217-2可从控制器214及/或主机接收命令且可执行命令以在dram装置222中读取及/或写入数据。
38.包含ecc模块218的控制器214可通过对用户数据224执行错误校正码操作(举例来说,xor及/或raid操作)而产生奇偶校验数据226。奇偶校验数据226可与用户数据224一起存储在dram装置222及/或非易失性存储器装置220中。在一些实例中,奇偶校验数据226可嵌入非易失性存储器装置220中的用户数据224中。在数个实施例中,包括用户数据224的位流还可包括奇偶校验数据226的一或多个位。
39.可使用奇偶校验数据226来重建存储在非易失性存储器装置220中的用户数据224。非易失性存储器装置220可响应于从主机装置接收到读取命令而将用户数据224传输到控制器214。控制器214可从dram装置222接收奇偶校验数据226且响应于读取失败(例如,在来自非易失性存储器装置220的用户数据224的读取操作期间的错误)而重建用户数据224。读取失败可归因于非易失性存储器装置220中的存储器损坏。控制器214可通过使用ecc模块218对奇偶校验数据226执行ecc操作而重建用户数据224。控制器214可响应于重建用户数据224而将用户数据224发送到主机装置及/或非易失性存储器装置220。
40.在一些实例中,控制器214可在一个时钟循环中读取及/或重建用户数据224,这是因为奇偶校验数据226在dram装置222中很容易获得。举例来说,当从非易失性存储器装置220读取用户数据224时,也从dram装置222读取对应奇偶校验数据226,使得如果存在读取错误,那么很容易获得奇偶校验数据226且可在一个时钟循环中执行ecc操作。在一个时钟循环中读取及/或重建用户数据224可提高性能、降低功率消耗及/或减少dimm 210的处理时间。
41.在数个实施例中,在使dram装置222及/或dimm 210断电之前,可将奇偶校验数据226存储在非易失性存储器装置220中。可响应于使dram装置222通电而将奇偶校验数据226重写到dram装置222。在一些实例中,可响应于使dram装置222断电及通电而在控制器214处重新产生奇偶校验数据226及/或在dram装置222处接收奇偶校验数据226。举例来说,控制器214可从非易失性存储器装置接收用户数据224且响应于使dram装置222及/或dimm 210通电而使用ecc模块218对用户数据224执行ecc操作(举例来说,xor操作)以重新产生奇偶校验数据226。
42.图3是根据本公开的数个实施例的用于在dram中存储奇偶校验数据的方法330的流程图。在框332处,方法330可包含在控制器处基于排队(例如,调度)等待写入到耦合到控制器的非易失性存储器装置的用户数据而产生奇偶校验数据。包含ecc模块的控制器可通过对用户数据执行错误校正码操作(举例来说,xor及/或raid操作)而产生奇偶校验数据。
43.在框334处,方法330可包含在dram装置处从控制器接收奇偶校验数据且将奇偶校验数据写入到dram装置。奇偶校验数据可与用户数据一起存储在dram装置及/或非易失性存储器装置中。在一些实例中,奇偶校验数据可嵌入在非易失性存储器装置中的用户数据中。
44.在框336处,方法330可包含在非易失性存储器装置处从控制器接收用户数据且将用户数据写入到非易失性存储器装置。非易失性存储器装置可为3d交叉点装置或nand装置。非易失性存储器装置可包含在dimm中。在一些实例中,dimm可为nvdimm。
45.在框338处,方法330可包含经由控制器从非易失性存储器装置读取用户数据。举例来说,非易失性存储器装置可响应于接收到读取命令而将用户数据传输到控制器。在执行读取命令时,可能发生读取失败。举例来说,归因于非易失性存储器装置中的存储器损坏,可能发生读取失败。
46.在框340处,方法330可包含在控制器处从dram装置接收奇偶校验数据。控制器可从dram装置接收奇偶校验数据且响应于读取失败而重建用户数据。控制器可通过使用ecc模块对奇偶校验数据执行ecc操作而重建用户数据。在一些实例中,控制器可在一个时钟循环中读取并重建用户数据。举例来说,当从非易失性存储器装置读取用户数据时,也从dram
装置读取对应奇偶校验数据,使得如果存在读取错误,那么很容易获得奇偶校验数据且可在一个时钟循环中执行ecc操作。控制器可响应于重建用户数据而将用户数据发送到非易失性存储器装置及/或主机装置。
47.在数个实施例中,方法330可进一步包含在使dram装置及/或dimm断电之前将奇偶校验数据存储在非易失性存储器装置中。可响应于使dram装置通电而将奇偶校验数据重写到dram装置。在一些实例中,可响应于使dram装置断电及通电而在控制器处重新产生奇偶校验数据及/或在dram装置处接收奇偶校验数据。举例来说,控制器可从非易失性存储器装置接收用户数据且响应于使dram装置及/或dimm通电而使用ecc模块对用户数据执行ecc操作(举例来说,xor操作)以重新产生奇偶校验数据。
48.尽管本文已经说明及描述特定的实施例,但是所属领域的一般技术人员将了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开希望涵盖本公开的各个实施例的调适或变型。应了解,上述描述已以说明性方式而非限制性方式进行。所属领域的技术人员在审阅上文描述之后将明白上文实施例的组合及本文未明确描述的其它实施例。本公开的各个实施例的范围包含其中使用上文结构及方法的其它应用。因此,应参考所附权利要求书以及此类权利要求有权获得的等效物完整范围确定本公开的各个实施例的范围。
49.在前述具体实施方式中,出于简化本公开的目的,将各种特征一起群组在单个实施例中。本公开的此方法不应解释为反映本公开的所公开实施例必须使用多于在每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,发明标的物存在于少于单个所公开实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。