堆叠式存储器中的错误校正

申请号 CN201080060539.6 申请日 2010-12-22 公开(公告)号 CN102687121B 公开(公告)日 2015-09-09
申请人 美光科技公司; 发明人 乔·M·杰德罗;
摘要 本 发明 揭示 电子 设备、系统及用以构造并操作所述电子设备及/或系统的方法,其包含 存储器 裸片堆叠,其中用户数据及/或第一级错误校正数据存储于跨越所述存储器裸片的条带中。一个此种堆叠可包含例如奇偶校验库的第二级错误校正库以存储对应于所述用户数据及/或第一级错误校正数据的奇偶校验数据。本发明还揭示额外设备、系统及方法。
权利要求

1.一种具有存储器裸片堆叠的存储器装置,其包括:
多个数据库,所述堆叠经布置以将用户数据及/或第一级错误校正数据存储于跨越所述数据库的条带中;
一库,其用以操作地将对应于所述用户数据及/或第一级错误校正数据的第二级错误校正数据存储于所述条带中;及
备用库,其用以当确定所述数据库中的一者已变得有故障时将有故障库中的用户数据及/或第一级错误校正数据重建到所述备用库中。
2.根据权利要求1所述的存储器装置,其中所述第二级错误校正库包含奇偶校验库。
3.根据权利要求1所述的存储器装置,其中所述多个数据库包含含有第一级错误校正数据的库。
4.根据权利要求1所述的存储器装置,其中所述第二级错误校正库及所述数据库中的每一者经布置以存储相同数目个字节。
5.根据权利要求1所述的存储器装置,其中所述条带及所述第二级错误校正库的配置为可编程的。
6.根据权利要求1所述的存储器装置,其中所述堆叠包含经布置以使每存储器裸片具有三个条带的十六个库。
7.根据权利要求1所述的存储器装置,其中所述堆叠安置于逻辑裸片上,所述逻辑裸片包含直接存储器存取引擎或板上处理器以周期性地读取所述存储器裸片堆叠的每一存储器位置从而确定是否存在任何用户数据及/或第一级错误校正数据故障及/或库故障。
8.一种具有存储器裸片堆叠的存储器装置,其包括:
多个数据库,所述堆叠经布置以将用户数据及/或第一级错误校正数据存储于跨越所述数据库的条带中;
第二级错误校正库,其用以操作地将对应于所述用户数据及/或第一级错误校正的第二级错误校正数据存储于所述条带中;
备用库,其可用于在确定所述数据库中的一者已变得有故障之后即刻存储有故障库中的用户数据及/或第一级错误校正数据;及
控制器,其用以校正从所述条带读取的用户数据及/或第一级错误校正数据。
9.根据权利要求8所述的存储器装置,其中所述条带包含第一级错误校正库,且所述控制器可操作以使用所述第一级错误校正库来进行对从所述条带读取的用户数据的单位校正。
10.根据权利要求8所述的存储器装置,其中所述控制器可操作以从条带读取用户数据及/或第一级错误校正数据且从所述条带读取奇偶校验数据以校正所述用户数据及/或第一级错误校正数据。
11.根据权利要求8所述的存储器装置,其中所述控制器包含可操作以在所述备用库中重建有故障库的直接存储器存取引擎。
12.根据权利要求8所述的存储器装置,其中所分配的数据库的数目为可编程的。
13.根据权利要求8所述的存储器装置,其中所述堆叠安置于逻辑裸片上,所述逻辑裸片包含直接存储器存取引擎。
14.根据权利要求13所述的存储器装置,其中所述直接存储器存取引擎经配置以将有故障库中的用户数据及/或第一级错误校正数据重建到所述备用库中。
15.根据权利要求13所述的存储器装置,其中所述直接存储器存取引擎分布于所述逻辑裸片的存储器库控制器当中。
16.根据权利要求13所述的存储器装置,其中所述直接存储器存取引擎经结构化为所述逻辑裸片上的与所述逻辑裸片的多个存储器库控制器分离的组件,所述直接存储器存取引擎耦合到所述存储器库控制器中的每一者。
17.一种操作存储器裸片堆叠的方法,其包括:
将用户数据及/或第一级错误校正数据写入到跨越存储器裸片堆叠的多个库的条带中;
产生对应于所述用户数据及/或第一级错误校正数据的第二级错误校正数据;
将所述第二级错误校正数据存储于所述堆叠的第二级错误校正库中;及当确定所述多个库中的一者已变得有故障时将有故障库中的用户数据及/或第一级错误校正数据重建到备用库。
18.根据权利要求17所述的方法,其中产生第二级错误校正数据包含在将所述用户数据及/或第一级错误校正数据写入到所述存储器裸片堆叠中时产生所述第二级错误校正数据。
19.根据权利要求17所述的方法,其中存储所述第二级错误校正数据包含将所述第二级错误校正数据存储于所述堆叠的所述第二级错误校正库中,使得所述条带包含所述第二级错误校正库的一部分,所述第二级错误校正数据对应于所述条带中的所述用户数据及/或第一级错误校正数据。
20.根据权利要求17所述的方法,其中写入用户数据及/或第一级错误校正数据包括将第一级错误校正数据存储于所述多个库中的一者中。
21.根据权利要求17所述的方法,其中将数据写入到跨越所述存储器裸片堆叠的所述多个库的所述条带中包含:跨越所述存储器裸片堆叠的无故障库分布所述用户数据及/或第一级错误校正数据使得备用库可用于重建有故障库。
22.一种操作存储器裸片堆叠的方法,其包括:
确定从跨越存储器裸片堆叠的多个库的条带对用户数据及/或第一级错误校正数据的读取是否已失败;
如果所述读取已失败,那么确定借以校正所述用户数据及/或第一级错误校正数据的方式;
在确定使用第二级错误校正之后,即刻使用存储于第二级错误校正库中的第二级错误校正来校正所述用户数据及/或第一级错误校正数据;及
当确定所述多个库中的一者已变得有故障时将有故障库中的用户数据及/或第一级错误校正数据重建到备用库中。
23.根据权利要求22所述的方法,其中所述方法包含做出在第一级的错误校正并未校正所述故障的情况下使用所述第二级错误校正的确定。
24.根据权利要求22所述的方法,其中确定借以校正所述数据的所述方式包含确定是否使用所述第一级错误校正数据。
25.根据权利要求24所述的方法,其中所述方法包含存取所述条带的存储所述第一级错误校正数据的库。
26.根据权利要求22所述的方法,其中所述方法包含读取所述多个库连同在确定一库已失败之后即刻读取所述第二级错误校正库。
27.根据权利要求26所述的方法,其中所述方法包含通知所述存储器裸片堆叠的用户实体一库已失败。
28.根据权利要求22所述的方法,其中所述方法包含在不与所述存储器裸片堆叠的用户实体交互的情况下校正用户数据及/或第一级错误校正数据。
29.一种操作存储器裸片堆叠的方法,其包括:
管理存储器裸片堆叠中的数据存储,所述堆叠具有多个库,所述管理包含将一组所述库配置成一条带,所述条带具有若干库用于用户数据及/或第一级错误校正数据且一库用于第二级错误校正数据的布置;及
当确定所述多个库中的一者已变得有故障时将有故障库中的用户数据及/或第一级错误校正数据重建到备用库中。
30.根据权利要求29所述的方法,其中配置所述组的库包含将所述多个库中的一者配置为第一级错误校正库。
31.根据权利要求29所述的方法,其中所述方法包含配置所述多个库中的十六个库以用于其中每条带四个库用于用户数据及/或第一级错误校正数据且一个库用于第二级错误校正数据的数据条带化。
32.根据权利要求29所述的方法,其中所述方法包含将一库配置为备用库。
33.一种操作存储器裸片堆叠的方法,其包括:
管理用户数据及/或第一级错误校正数据到跨越存储器裸片堆叠的条带中的存储,所述管理包含应用第二级错误校正数据以校正在从所述条带读取所述用户数据及/或第一级错误校正数据时的故障,如果所述读取失败超出第一级错误校正数据可校正的范围,那么应用所述第二级错误校正数据,其中所述堆叠经布置以将所述用户数据及/或所述第一级错误校正数据存储于跨越多个库的条带中;及
当确定所述多个库中的一者已变得有故障时将有故障库中的用户数据及/或第一级错误校正数据重建到备用库中。
34.根据权利要求33所述的方法,进一步包括周期性地读取所述存储器裸片堆叠中的每一存储器位置以确定是否存在任何数据故障及/或库故障。
35.根据权利要求33所述的方法,其中应用第二级错误校正数据包含应用奇偶校验校正,如果从所述条带对所述用户数据及/或第一级错误校正数据的读取失败,那么使用所述奇偶校验校正。

说明书全文

堆叠式存储器中的错误校正

[0001] 相关申请案交叉参考
[0002] 本专利申请案主张2010年1月4日提出申请的第12/651,910号美国申请案的优先权权益,所述美国申请案以引用的方式并入本文中。

技术领域

背景技术

[0003] 电子设备及系统的市场正将行业推动到更高处理器操作速度及与此些处理器一起操作的装置中的经增强存储器容量。与此经增强功能性同时发生的是经增强复杂性及功率消耗。随着存储器容量的增加,存储或记忆的机会也增加。
[0004] 计算机存储器中存在若干种配置以保护数据免受存储器装置故障的影响。存在错TM误校正方案(例如Chipkill 存储器架构)以保护计算机存储器系统免受单个存储器芯片TM
故障以及来自单个存储器芯片的任一部分的多位错误的影响。在Chipkill 架构中,错误校正码(ECC)数据的多个字的位跨越多个存储器芯片分散,使得任何一个存储器芯片的故障将影响每一ECC值以致类似发生多个可校正错误。尽管一个芯片会发生完全故障,此配置仍允许重新构造存储器内容。很少实施较复杂的错误校正方案,因为需要额外存储器及芯片区域。
发明内容
附图说明
[0005] 在附图的图中以实例而非限制方式图解说明本发明的实施例,附图中:
[0006] 图1展示根据各种实例性实施例的存储器装置的框图
[0007] 图2图解说明根据各种实例性实施例与逻辑裸片堆叠在一起以形成存储器装置的个别存储器裸片的3维堆叠的概念图
[0008] 图3展示根据各种实例性实施例的存储器库控制器及相关联模的框图。
[0009] 图4展示将数据写入到存储器堆叠中的方法的实施例的特征。
[0010] 图5展示校正存储器装置中的数据的方法的实施例的特征。
[0011] 图6展示操作具有存储器裸片堆叠的存储器装置的方法的实施例的特征。
[0012] 图7展示根据本发明的各种实施例的电子系统的各种特征的框图。

具体实施方式

[0013] 以下详细说明参考以说明而非限制方式展示本发明的各种实施例的随附图式。足够详细地描述这些实施例以使所属领域的技术人员能够实践这些及其它实施例。可利用其它实施例,且可对这些实施例作出结构、逻辑及电改变。各种实施例未必相互排斥,因为一些实施例可与一个或一个以上其它实施例组合以形成新的实施例。因此,不应将以下详细说明视为具有限制性意义。
[0014] 图1展示根据各种实例性实施例的存储器装置100的框图。存储器装置100操作以在一个或一个以上始发装置及/或目的地装置与一组存储器“库”110之间大致同时传送多个传出及/或传入命令、地址及/或数据流。一库是穿过含有每一存储器裸片的存储器区段的一部分的存储器裸片堆叠的垂直分区。所述部分可为存储器裸片的一个或一个以上存储器阵列。所述存储器装置堆叠可划分成任一数目个库。目的地装置的实例包含一个或一个以上处理器。
[0015] 在先前设计中,多裸片存储器阵列实施例可聚集通常位于每一个别存储器阵列裸片上的控制逻辑。堆叠式裸片群组的子区段(本文中称为存储器库)在图1中展示为实例性库110且在图2中展示为实例性库230。所图解说明的实例中所示的存储器库可共享共用控制逻辑。存储器库架构策略地分割存储器控制逻辑以增加能量效率,同时相对于通电的存储器组提供粒度。在各种实施例中,存储器装置100可使用标准化主机处理器到存储器系统接口进行操作。随着存储器技术的演进,所述标准化接口可减小重新设计循环时间。
[0016] 图2是根据各种实例性实施例与逻辑裸片202堆叠在一起以形成存储器装置100的个别存储器裸片的3D堆叠200的概念图。存储器装置100并入有形成3D堆叠200的一部分的存储器阵列203的一个或一个以上堆叠。可将多个存储器阵列(例如存储器阵列203)制作到多个裸片中的每一者(例如裸片204)上。接着堆叠所述裸片以形成3D堆叠
200。
[0017] 将堆叠200的每一裸片划分成多个“瓦片”,例如,与堆叠200的裸片204相关联的瓦片205A、205B及205C。每一瓦片可包含一个或一个以上存储器阵列203。存储器阵列203并不限于任一特定存储器技术且可包含动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、快闪存储器、其它存储器技术或其组合。
[0018] 堆叠式存储器阵列瓦片组208A可包含来自堆叠式裸片中的每一者的单个瓦片,例如瓦片212B、212C及212D,其中在图1中观看不到基底瓦片。瓦片212B、212C及212D为不同裸片的一部分,所述不同裸片未全部展示于图1中以避免使各种实施例模糊且促进对堆叠式瓦片的论述。电、地址及/或数据(及类似共用信号)可沿使用“穿晶片互连(TWI)”的传导路径(例如传导路径224)横过“Z”维度220上的堆叠式瓦片组208A。应注意,TWI未必需要完全穿过特定晶片或裸片。
[0019] 将呈实例性配置的3D堆叠200分割成存储器库(例如存储器库230)组。每一存储器库包含一堆叠式瓦片组(例如,瓦片组208A),包括来自多个堆叠式裸片中的每一者的一个瓦片连同电互连瓦片组208A的TWI组。图2中展示另一库208B。出于论述目的,未展示3D堆叠200的所有库。所述库的每一瓦片包含一个或一个以上存储器阵列,例如存储器阵列240。虽然描述分割成个别库230,但也可以若干种其它方式分割3D堆叠200。其它实例性分割包含按裸片、瓦片及其它分割布置进行分割。为便于论述,图1指示在逻辑裸片202上方的四个裸片的堆叠,每一裸片分割成可形成十六个库的十六个瓦片,但仅展示两个库。然而,堆叠200并不限于四个裸片且每一裸片并不限于十六个分区。堆叠200可包含三十二个或三十二个以上库。取决于应用,可使用任一合理数目个裸片及分区。
[0020] 如图2中所示,堆叠200包含存储器裸片堆叠,其中每一存储器裸片可分割成多个存储器阵列203。每一存储器阵列203可安置于所述堆叠的库的一部分中,其中所述堆叠具有多个库230。存储器装置100可经配置使得可布置堆叠200以将用户数据及/或第一级错误校正数据存储于跨越堆叠200的库230的条带240中,使得可跨越多个库230条带化待存储于堆叠200中的数据。对每一条带来说,库230可用于第二级的错误检测/校正,其中此库230可(例如)称为奇偶校验库。第一级的错误检测/校正包含单位错误校正。出于下文论述的目的,存储用户数据及/或第一级的错误校正数据的库通常称为“数据库”。在非限制性实例中,可跨越四个库(每库具有十六个字节)条带化六十四个字节的用户数据及/或第一级错误校正数据。可针对来自切片中的每一位的“异或”(XOR)运算的每一位产生奇偶校验数据。针对来自四个库中的每一者的位零,可执行XOR运算使得针对在位零时间写入以存储于堆叠200中的每一位零,可写入位零奇偶校验位。对于三十二个位,可针对每一位位置一直到位三十一执行此程序。可将每一奇偶校验位写入到奇偶校验库中。在此实例中,数据切片是在位时间在一起的四个库230。对于此实例来说,所述程序可视为将六十四个字节切割成四个库。数据切片有效地构成奇偶校验方程式,使得在第一位时间,四个库及其奇偶校验形成一数据切片。四个数据切片及所述奇偶校验库可用于响应于读取请求而重新构造数据。
[0021] 在图1中,条带240展示为沿着在方向Y上的线从裸片的一端到相对端包含每一库230的瓦片212C。然而,条带240可由多个库230的若干部分形成,其中所述部分可分布于一裸片上的各个位置处及/或各种裸片上。因此,条带240可为由经选择以存储数据的库界定的虚拟条带。奇偶校验库可安置为堆叠的库中的一者,使得条带240包含所述奇偶校验库的一部分。所述奇偶校验库操作地将对应于用户数据及/或第一级错误校正数据的奇偶校验数据存储于条带中。如图2中所示,条带240包含用于用户数据及/或第一级错误校正数据的三个库以及一个奇偶校验库。在用于用户数据及/或第一级错误校正数据的四个库沿着方向Y上的线的情况下,条带240包含是未沿着方向Y上的线从裸片的一端到相对端安置(且未展示于图2中)的库的奇偶校验库。或者,所述奇偶校验库可为在堆叠200的前端处的库230,其中用于用户数据及/或第一级错误校正数据的库中的一者并未与用户数据及/或第一级错误校正数据的其它三个库一起沿着方向Y上的线。可在逻辑裸片
202中控制对将库分配给条带的管理。在逻辑裸片202中对此分配的控制允许相对于用户实体(例如主机处理器)的透明存储器库操作,且允许实施存储器装置100与主机处理器的标准化接口。
[0022] 可在将用户数据及/或第一级错误校正数据写入到堆叠200中时将奇偶校验数据写入到奇偶校验库中。所述奇偶校验库及每一数据库可具有相同数目个字节。指派给数据存储的库230的数目连同奇偶校验库的配置可由用户实体(例如图1的主机处理器114)编程。存储器装置100可实施多个条带化方案。举例来说,堆叠200可包含经布置以使每存储器裸片具有三个条带的十六个库。或者,堆叠200可包含经布置以使每存储器裸片具有四个条带的十六个库。对每裸片的条带数目或每条带的数据库数目的选择为若干个可编程特征中的一者。所述可编程特征可包含关于到存储器装置100的数据传送大小的选择。举例来说,用户实体可将传送设定为每传送六十四个字节或256个字节。也可使用其它传送大小。所述选择可与特定主机系统或处理器正使用何种大小作为与存储器系统的传送大小相关。一旦用户实体识别了用于用户数据及/或第一级错误校正数据的库及用于奇偶校验数据的库,存储器装置100便针对正常存储器操作及错误校正控制堆叠200的库的操作。
[0023] 可使用库230的各种布置。举例来说,可使用每一个奇偶校验库七个数据库来代替每一个奇偶校验库四个数据库。跨越多个库条带化用户数据及/或第一级错误校正数据提供针对多于一单位校正校正已失败数据的方法。然而,随着库数目的增加,存储器技术操作的效率可能降低。如果数据的传送包含更长数据传送,那么所述库更高效地操作。举例来说,将六十四个字节传送到一个库可能比六十四个字节中的八个字节中的每一者去往八个不同库中的一者的传送更高效。
[0024] 在存储器装置100内的背景下,在图1中图解说明类似于来自图2的存储器库230的存储器库组102。存储器装置100还包含多个存储器库控制器(MVC)104,例如MVC106。每一MVC以一对一关系通信地耦合到对应存储器库(例如组102的存储器库110)。因此,每一MVC能够独立于其它MVC与其相应存储器库之间的通信而与对应存储器库通信。
[0025] 存储器装置100还包含多个可配置串行化通信链路接口(SCLI)112。SCLI 112被划分成传出SCLI群组113及传入SCLI群组115,其中“传出”及“传入”方向是从处理器114的观点界定。多个SCLI 112中的每一SCLI能够与其它SCLI同时操作。SCLI112共同地将多个MVC 104通信地耦合到一个或一个以上主机处理器114。因此,存储器装置100呈现通向主机处理器114的多链路高吞吐量接口。
[0026] 存储器装置100还可包含开关116。在各种实施例中,开关116可包括也可称为交叉连接开关的矩阵开关。开关116通信地耦合到多个SCLI 112且耦合到多个MVC 104。开关116能够将每一SCLI交叉连接到选定MVC。因此,主机处理器114可以大致同时方式跨越多个SCLI 112存取多个存储器库102。此架构可提供高处理器到存储器带宽操作以支持现代处理器技术,包含多核心技术。
[0027] 存储器装置100还可包含耦合到开关116的存储器组构控制寄存器117。存储器组构控制寄存器117从配置源接受存储器组构配置参数并配置存储器装置100的一个或一个以上组件以根据可选择模式操作。举例来说,开关116以及多个存储器库102及多个MVC104中的每一者可经配置以响应于单独存储器请求而彼此独立地操作。此配置可因SCLI
112与存储器库102之间的平行性而增强存储器系统带宽。
[0028] 或者,存储器装置100可经由存储器组构控制寄存器117重新配置以致使多个存储器库102中的两者或两者以上的子组及对应MVC子组响应于单个请求而同步操作。后一配置可用于存取比与单个库相关联的数据字的宽度宽的数据字。此字在本文中称为宽数据字。此技术可降低读取操作中的等待时间。可通过将选定位型式加载到存储器组构控制寄存器117中来实现其它配置。
[0029] 在一实例中,传出SCLI 113可包含多个传出差分对串行路径(DPSP)128。DPSP128通信地耦合到主机处理器114且可操作以共同输送传出包。传出SCLI 113还可包含耦合到多个传出DPSP 128的解串行化器130。传出SCLI 113还可包含通信地耦合到解串行化器130的多路分用器138。在各种实施例中,DSPS、解串行化器及多路分用器的配置促进数据包及子包的高效传出传送。类似于传出SLCI,在各种实施例中,传入SCLI及DSPS、串行化器及多路复用器的类似配置促进数据包及子包的高效传入传送。
[0030] 图3是根据各种实例性实施例的存储器库控制器106及相关联模块的框图。MVC106可包含可编程库控制逻辑(PVCL)组件310。PVCL 310将MVC 106介接到对应存储器库,例如存储器库110。PVCL 310产生与对应存储器库110相关联的一个或一个以上控制信号及/或定时信号
[0031] PVCL 310可经配置以按选定配置或选定技术的存储器库110调适MVC 106。因此,举例来说,最初可使用当前可用DDR2DRAM来配置存储器装置100。随后可调适存储器装置100以通过将PVCL 310重新配置为包含DDR3组控制与定时逻辑来适应基于DDR3的存储器库技术。
[0032] MVC 106包含通信地耦合到PVCL 310的存储器定序器314。存储器定序器314基于用于实施相关联存储器库110的技术来执行一组存储器技术相依操作。举例来说,存储器定序器314可执行与对应存储器库110相关联的命令解码操作、存储器地址多路复用操作、存储器地址多路分用操作、存储器刷新操作、存储器库训练操作及/或存储器库预取操作。在各种实施例中,存储器定序器314可包括DRAM定序器。在各种实施例中,存储器刷新操作可始发于单独刷新控制器(未展示)中。
[0033] 存储器定序器314可经配置以按选定配置或技术的存储器库110调适存储器装置100。举例来说,存储器定序器314可经配置以和与存储器装置100相关联的其它存储器定序器同步操作。此配置可用于响应于单个高速缓存线请求而将来自多个存储器库的宽数据字递送到与主机处理器114相关联的高速缓存线(未展示)。
[0034] MVC 106还可包含写入缓冲器316。写入缓冲器316可耦合到PVCL 310以缓冲从主机处理器114到达MVC 106的数据。MVC 106可进一步包含读取缓冲器317。读取缓冲器317可耦合到PVCL 310以缓冲从对应存储器库110到达MVC 106的数据。
[0035] MVC 106还可包含无序请求队列318。无序请求队列318建立从包含于存储器库110中的多个存储器组的读取操作及/或到所述多个存储器组的写入操作的有序序列。选择所述有序序列以避免对任一单个存储器组的顺序操作以便减少组冲突且降低读取到写入周转时间。
[0036] MVC 106还可包含存储器映射逻辑(MML)组件324。MML 324可管理若干个操作,例如使用TWI修复逻辑328的TWI修复操作以及其它修复操作。在一实例中,MML 324针对3D堆叠200的多个部分追踪多个错误数据。可使用MML 324追踪若干个不同部分。在一实例中,针对每一裸片204追踪错误数据。其它实例包含针对每一瓦片205、每一阵列203及分割堆叠200的存储器的其它形式追踪错误数据。
[0037] MVC 106可包含直接存储器存取(DMA)引擎326,所述直接存储器存取引擎读取包含奇偶校验库的条带中的库且在可行时在备用库中重建坏库。举例来说,考虑布置有十六个库的使用四个数据库+一个奇偶校验库条带化(此界定五个库的条带)的堆叠200。在每条带五个库的情况下,堆叠200的十六个库中的十五个库用于用户数据及/或第一级错误校正数据以及奇偶校验数据。十六个库中的一个库保持未分配且可用作备用库。注意,如果布置有十六个库的堆叠200使用四个条带(其中三个数据库+一个奇偶校验库条带化),那么将分配所有十六个库而无备用库。使用四个数据库+一个奇偶校验库条带化,如果一库失败,那么可在备用库中重建用户数据及/或第一级错误校正数据。有故障库中的用户数据及/或第一级错误校正数据到备用库中的重建可对用户实体(例如主机处理器114)透明,因为在存储器装置100内控制对有故障库的确定及重建。使用奇偶校验库中的数据,DMA引擎326可读取五个库、确定哪一个是有故障库,且在备用库中重建所述有故障库。一旦DMA引擎326将有故障库中的用户数据及/或第一级错误校正数据重建到所述备用库中,便可不再使用所述有故障库。可将通知发送到用户实体。DMA引擎326可分布于逻辑裸片202的MVC当中。DMA引擎326可结构化为逻辑裸片202上的与逻辑裸片202的MVC分离的单独组件。DMA引擎326可耦合到逻辑裸片202的单独MVC。
[0038] 在各种实施例中,可在将用户数据及/或第一级错误校正数据写入到存储器装置100的堆叠200中时产生奇偶校验数据且可将其存储于堆叠200的奇偶校验库中。在各种实施例中,可仅在对条带240的数据的读取失败时应用奇偶校验校正。对于数据的单位校正,第一级错误校正库(其为数据库)可用于在不使用奇偶校验数据的情况下进行单位校正。然而,也可或替代地借助关于正读取数据的存储于奇偶校验库中的奇偶校验数据进行数据的单位校正。如果读取失败超出第一级的错误校正可校正的范围,那么第二级的错误校正(例如奇偶校验校正)可用于校正读取操作中的坏数据。此外,如果库失败,那么可读取经条带化的库(包含奇偶校验库)以校正有故障库中的所有数据。可进行此校正程序使得所述校正对用户实体(例如主机处理器114)透明,因为在存储器装置100内控制对有故障库的确定及重建。
[0039] 也可通过擦洗例程来检查类似于或等同于具有堆叠200的存储器装置100的存储器结构中的数据。擦洗例程可操作以周期性地检查数据存储器的有效性并校正从对所述数据的检查所发现的故障。代替存取堆叠200中的数据的主机或处理器,逻辑裸片202上的DMA引擎326或板上处理器可用于周期性地读取每一位置以确定是否存在任何数据故障及/或库故障。如果存在故障,那么可校正数据并将其写入到备用库中的位置中使得将所述数据维持在堆叠200的良好(无故障)区域中。
[0040] 图4展示根据各种实例性实施例将数据写入到存储器堆叠中的方法的实施例的特征。在410处,将数据写入到跨越存储器裸片堆叠的多个库的条带中。可将每一存储器裸片分割成多个存储器阵列,使得将每一存储器阵列安置于所述堆叠的库的一部分中。连同用户数据一起,可将用于所述用户数据的第一级的错误校正数据(例如,错误校正码)存储为存储器裸片堆叠中的数据。将数据写入到所述条带中可包含跨越存储器裸片堆叠的无故障库分布数据使得备用分区可用于重建有故障库。所述库无需是相对于所述条带中的其它分区连续的分区。在420处,在将用户数据及/或第一级错误校正数据写入到存储器裸片堆叠中时产生奇偶校验数据。在430处,将所述奇偶校验数据存储于奇偶校验库中。可将所述奇偶校验库安置为所述堆叠的库中的一者使得所述条带包含所述奇偶校验库的一部分,所述奇偶校验对应于所述条带中的用户数据及/或第一级错误校正数据。
[0041] 图5展示根据各种实例性实施例校正存储器装置中的数据的方法的实施例的特征。在510处,确定对用户数据及/或第一级错误校正数据的读取已失败。所述确定可包含确定已失败数据是来自跨越存储器裸片堆叠的多个库的条带。可将每一存储器裸片分割成多个存储器阵列使得将每一存储器阵列安置于所述堆叠的库的一部分中。所述堆叠可具有多个库。
[0042] 在520处,确定借以校正用户数据及/或第一级错误校正数据的方式。确定方式可包含试错过程。校正方式可包含对有故障数据应用第一级的错误校正。可在作为错误校正码分区安置于存储器裸片堆叠中的库中存取第一级错误校正数据。可使用错误校正码来进行单位校正。如果所述错误校正码的应用并未校正有故障数据,那么可应用奇偶校验校正。或者,可应用奇偶校验校正来进行单位校正。
[0043] 在530处,在确定使用奇偶校验校正之后,即刻使用用户数据及/或第一级错误校正数据的奇偶校验数据来校正已失败数据。所述奇偶校验数据可与含有所述用户数据及/或第一级错误校正数据及相关联奇偶校验数据的条带相关。可将所述奇偶校验数据存储于可安置为堆叠的库中的一者的奇偶校验库中使得所述条带包含所述奇偶校验库的一部分。为了校正有故障库,可读取多个经条带化的库,连同在确定故障失败之后立即读取所述奇偶校验库。可将库中的多个错误视为所述库的完全故障。可在不与存储器裸片堆叠的用户实体交互的情况下校正数据故障及/或库故障。在校正库故障之后,可通知存储器裸片堆叠的用户实体一库已失败。所述通知可包含对在备用库中重建的数据的校正的通知。
[0044] 图6展示根据各种实例性实施例操作具有存储器裸片堆叠的存储器装置的方法的实施例的特征。在步骤610处,管理存储器裸片堆叠中的数据存储。可将每一存储器裸片分割成多个存储器阵列使得将每一存储器阵列安置于所述堆叠的库的一部分中。所述堆叠可具有多个库。
[0045] 在步骤620处,将一组库配置成一条带。所述条带可具有用于用户数据及/或第一级错误校正数据的若干库及用于奇偶校验数据的一库的布置。所述奇偶校验数据与所述用户数据及/或第一级错误校正数据相关。所述多个库可经配置以包含数据库作为第一级错误校正库。在一实施例中,所述堆叠的库的总数目可包含十六个库,所述库经配置以用于其中四个库用于用户数据及/或第一级错误校正数据且一个库用于奇偶校验数据的数据条带化。在其它实施例中,库的总数目可不同于十六个,所述库经配置以用于其中四个库用于用户数据及/或第一级错误校正数据且一个库用于奇偶校验数据的数据条带化或经配置以用于具有用于用户数据及/或第一级错误校正数据及奇偶校验数据的不同库布置的数据条带化。在各种实施例中,所述堆叠的库的总数目可为三十二个或三十二个以上。在各种实施例中,所述堆叠可以包含一个或一个以上库作为备用库的配置进行布置。
[0046] 在各种实施例中,机器可读存储媒体存储当由机器执行时致使所述机器执行包括管理存储器裸片堆叠中的数据存储的操作的指令。所述所存储的指令可由用户实体(例如一个或一个以上处理器)执行。可将每一存储器裸片分割成多个存储器阵列使得将每一存储器阵列安置于所述堆叠的库的一部分中。所述堆叠可具有多个库。为了管理所述堆叠,所述机器可读存储媒体可包含将一组库配置成一条带的指令,所述条带具有若干库用于用户数据及/或第一级错误校正数据且一库用于第二级错误校正数据(例如奇偶校验数据)的布置。可配置所述条带的所述组的库,其中数据库存储第一级错误校正数据。在一实施例中,所述指令包含配置用于数据及奇偶校验的十五个库。所述指令可包含配置十六个库以用于其中四个库用于用户数据及/或第一级错误校正数据且一个库用于奇偶校验数据的数据条带化。可将一库分配为备用分区。在各种实施例中,堆叠的库的总数目可为三十二个或三十二个以上。在各种实施例中,所述堆叠可以包含一个或一个以上库作为备用分区的配置进行布置。
[0047] 可实施用于数据及奇偶校验的库的其它配置。所述所存储的指令允许在用户实体的可编程控制下配置所述组的库。所述机器可读存储媒体可通过任一形式的存储技术实现且并不限于任何一种技术。举例来说,所述指令可存储于包含存储器的处理器芯片中。
[0048] 在各种实施例中,具有存储器裸片堆叠的存储器结构可布置有若干库使得可针对写入到专用库中的用户数据及/或第一级错误校正数据跨越具有第二级错误校正数据(例如奇偶校验数据)的多个库条带化写入到所述存储器结构中的用户数据及/或第一级错误校正数据。随着裸片上的数据存储的密度的增加及/或存储器存取速度的增加,每裸片的库的数目也可增加,从而为当在操作中发生数据故障时可高效地寻址所述数据故障的奇偶校验库及备用库提供额外库,而不会招致与传送小数据群组相关联的低效率。可相对于用户实体透明地进行对裸片的有故障数据或有故障区进行校正。可使用常规技术制造且接着垂直安装存储器结构的每一裸片。可相对于逻辑芯片进行垂直安装。或者,用于控制对存储器裸片堆叠的存取的逻辑芯片可在不垂直安装的情况下耦合到所述堆叠。存储器裸片堆叠及逻辑裸片可形成于其它设备中且可形成为系统的一部分。
[0049] 图7展示根据本发明的各种实施例的电子系统700的各种特征的框图。系统700可包含控制器702、具有包含耦合到存储器裸片堆叠720的逻辑芯片705的存储器装置710的设备725。可以类似于或等同于参考图1到6所论述的实施例的方式结构化并操作包含耦合到存储器裸片堆叠720的逻辑芯片705的存储器装置710。可以各种方式形成系统700,例如使用常规技术将系统700的个别组件耦合在一起或将所述组件集成到一个或若干个基于芯片的单元中。在一实施例中,系统700还包含电子设备745及总线735,其中总线735在控制器702与电子设备745之间且在控制器702与设备725之间提供导电性。在一实施例中,总线735包含地址总线数据总线及控制总线,每一者独立地配置。在替代实施例中,总线735使用共用传导线来提供地址、数据或控制中的一者或一者以上,所述地址、数据或控制的使用由控制器702调节。在一实施例中,电子设备745可包含用于电子系统700的既定功能性应用的存储器。
[0050] 在存储器710布置为存储器裸片堆叠720的情况下,存储器裸片的类型可包含(但不限于)根据如本文中所教示的各种实施例布置的动态随机存取存储器、静态随机存取存储器、同步动态随机存取存储器(SDRAM)、同步图形随机存取存储器(SGRAM)、双倍数据速率动态ram(DDR)及双倍数据速率SDRAM。根据如图1到6中所图解说明的各种实施例,具有包含与存储器裸片堆叠720耦合的逻辑芯片705的存储器装置710的设备725的各种实施例的结构可以可布置为软件硬件或软件与硬件包的组合的模拟包实现以模拟各种实施例及/或各种实施例的操作。
[0051] 在各种实施例中,一个或若干外围装置755耦合到总线735。外围装置755可包含可结合控制器702操作的显示器、成像装置、打印装置、无线装置、无线接口(例如,无线收发器)、额外存储存储器、控制装置。在一实施例中,控制器702可包含处理器。在各种实施例中,系统700包含(但不限于)光纤系统或装置、光电系统或装置、光学系统或装置、成像系统或装置及信息处置系统或装置,例如无线系统或装置、电信系统或装置以及计算机。
[0052] 虽然本文中已图解说明且描述了特定实施例,但所属领域的技术人员将了解,旨在实现相同目的的任一布置均可代替所展示的特定实施例。各种实施例使用本文中所描述的实施例的排列及/或组合。应理解,以上说明既定为说明性而非限制性,且本文中所采用的措词或术语是出于说明目的。
QQ群二维码
意见反馈