CN105005512A - 堆叠式存储器中的错误校正 - Google Patents

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

Info

Publication number
CN105005512A
CN105005512A CN201510486710.4A CN201510486710A CN105005512A CN 105005512 A CN105005512 A CN 105005512A CN 201510486710 A CN201510486710 A CN 201510486710A CN 105005512 A CN105005512 A CN 105005512A
Authority
CN
China
Prior art keywords
storehouse
data
stacking
database
die
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510486710.4A
Other languages
English (en)
Other versions
CN105005512B (zh
Inventor
乔·M·杰德罗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN105005512A publication Critical patent/CN105005512A/zh
Application granted granted Critical
Publication of CN105005512B publication Critical patent/CN105005512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及堆叠式存储器中的错误校正。本发明揭示电子设备、***及用以构造并操作所述电子设备及/或***的方法,其包含存储器裸片堆叠,其中用户数据及/或第一级错误校正数据存储于跨越所述存储器裸片的条带中。一个此种堆叠可包含例如奇偶校验库的第二级错误校正库以存储对应于所述用户数据及/或第一级错误校正数据的奇偶校验数据。本发明还揭示额外设备、***及方法。

Description

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

Claims (19)

1.一种存储器装置,其包括:
存储器裸片堆叠,其被分割为多个数据库,所述堆叠经设置以将用户数据存储在横跨所述数据库的条带中;
库,其可操作地存储对应于所述用户数据的第二级错误校正数据;
备用库,其未被分配给所述用户数据或校正数据;及
逻辑裸片,其可操作地耦合至所述存储器裸片堆叠,所述逻辑裸片经结构化以控制将数据库分配给所述条带的管理,所述逻辑裸片经配置以在确定所述数据库中的一者已变成有故障数据库之后,控制可用于存储用户数据、第一级错误校正数据、或者用户数据和第一级错误校正数据两者的所述备用库的操作。
2.根据权利要求1所述的存储器装置,其中所述条带为通过选择用以存储所述用户数据的库而可操作地界定的虚拟条带。
3.根据权利要求1所述的存储器装置,其中可操作地存储第二级错误校正数据的所述库包含奇偶校验库。
4.根据权利要求3所述的存储器装置,其中所述奇偶校验库经设置以存储奇偶校验数据,所述奇偶校验数据从所述条带的数据切片中的每个位的异或运算中产生。
5.根据权利要求1所述的存储器装置,其中所述多个数据库包含含有第一级错误校正数据的库。
6.根据权利要求1所述的存储器装置,其中所述堆叠经设置以具有多个条带,所述多个条带中的每个条带包含多个数据库和一奇偶校验库。
7.根据权利要求1所述的存储器装置,其中所述逻辑裸片设置在所述存储器裸片堆叠的侧面。
8.根据权利要求1所述的存储器装置,其中所述存储器裸片堆叠设置在所述逻辑裸片上。
9.根据权利要求1所述的存储器装置,其中所述逻辑裸片包含直接存储器存取引擎或板上处理器以周期性地读取所述存储器裸片堆叠的每一存储器位置从而确定是否存在用户数据故障、第一级错误校正数据、库故障或其组合。
10.根据权利要求1所述的存储器装置,其中所述逻辑裸片经结构化以经由所述逻辑裸片将所述存储器裸片堆叠可操作地耦合至主机处理器,使得所述数据库的操作相对于所述主机处理器透明,所述逻辑裸片经结构化以可操作地使用标准接口以将所述主机处理器可操作地耦合至所述存储器裸片堆叠。
11.根据权利要求1所述的存储器装置,其中所述逻辑裸片和所述存储器裸片堆叠经结构化以确定从所述条带读取所述用户数据是否已经失败且超出第一级错误校正能够校正的范围,并且应用存储在可操作地存储对应于所述用户数据的第二级错误校正数据的所述库中的第二级错误校正,使得所述读操作中的坏数据被校正。
12.根据权利要求1所述的存储器装置,其中所述逻辑裸片和所述存储器裸片堆叠经结构化以确定在所述数据库中的一者故障的情况下,读出来自包含经确定已经故障的数据库的所有条带的所有数据以校正经确定已经故障的所述数据库中的数据,读出的数据包含对应于所述用户数据的第二级错误校正数据、以及数据被读出的每个条带中的第一级错误校正数据。
13.根据权利要求12所述的存储器装置,其中所述逻辑裸片和所述存储器裸片堆叠经结构化以相对于位于所述逻辑裸片和所述存储器裸片堆叠的外部的实体透明地校正经确定已经故障的所述数据库中的所有数据,所述实体可操作地经由所述逻辑裸片耦合至所述存储器裸片堆叠。
14.一种存储器装置,其包含:
存储器裸片堆叠,其被分割为多个库;及
逻辑裸片,其可操作地耦合至所述存储器裸片堆叠,所述逻辑裸片经结构化以控制:
将所述多个库中的若干库的部分分配给条带,使得所述条带包含选择作为用以将用户数据存储在所述条带中的数据库的库;
选择所述多个库中的一个库以作为所述条带的一部分而作为第二级错误校正库来操作,以可操作地存储对应于所述用户数据的第二级错误校正数据;
基于对数据库的所述分配确定所述多个库是否包含备用库;
基于所述确定操作所述备用库;及
在确定所述数据库中的一者已变成有故障数据库之后,操作可用于存储用户数据、第一级错误校正数据、或者用户数据和第一级错误校正数据两者的所述备用库。
15.根据权利要求14所述的存储器装置,其中所述逻辑裸片经结构化以相对于位于所述逻辑裸片和所述存储器裸片堆叠的外部的实体透明地将所述有故障数据库中的用户数据、第一级错误校正数据、或者用户数据和第一级错误校正数据两者重建到所述备用库中,所述实体可操作地经由所述逻辑裸片耦合至所述存储器裸片堆叠。
16.根据权利要求15所述的存储器装置,其中所述逻辑裸片包含可操作以在所述备用库中重建所述有故障库的直接存储器存取引擎。
17.根据权利要求14所述的存储器装置,其中所述逻辑裸片和所述数据库经结构化以在不使用第二级错误校正数据的情况下进行单位校正。
18.根据权利要求14所述的存储器装置,其中所述逻辑裸片和所述数据库经结构化以使得每个裸片的条带数目、每个条带的数据库数目以及备用库数目中一个或多个的选择、以及至所述存储器裸片堆叠的数据传送大小的选择可以从位于所述存储器裸片堆叠和所述逻辑裸片的外部且可操作地耦合至所述逻辑裸片的实体编程。
19.根据权利要求14所述的存储器装置,其中所述逻辑裸片设置在所述存储器裸片堆叠的侧面。
CN201510486710.4A 2010-01-04 2010-12-22 堆叠式存储器中的错误校正 Active CN105005512B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/651,910 2010-01-04
US12/651,910 US8327225B2 (en) 2010-01-04 2010-01-04 Error correction in a stacked memory
CN201080060539.6A CN102687121B (zh) 2010-01-04 2010-12-22 堆叠式存储器中的错误校正

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201080060539.6A Division CN102687121B (zh) 2010-01-04 2010-12-22 堆叠式存储器中的错误校正

Publications (2)

Publication Number Publication Date
CN105005512A true CN105005512A (zh) 2015-10-28
CN105005512B CN105005512B (zh) 2018-06-26

Family

ID=44225421

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201080060539.6A Active CN102687121B (zh) 2010-01-04 2010-12-22 堆叠式存储器中的错误校正
CN201510486710.4A Active CN105005512B (zh) 2010-01-04 2010-12-22 堆叠式存储器中的错误校正

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201080060539.6A Active CN102687121B (zh) 2010-01-04 2010-12-22 堆叠式存储器中的错误校正

Country Status (6)

Country Link
US (2) US8327225B2 (zh)
EP (1) EP2521972B1 (zh)
KR (1) KR101644917B1 (zh)
CN (2) CN102687121B (zh)
TW (1) TWI446353B (zh)
WO (1) WO2011082070A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647152A (zh) * 2018-04-27 2018-10-12 江苏华存电子科技有限公司 一种提升闪存存储装置中以数据数组保护数据的管理方法
CN113129978A (zh) * 2019-12-30 2021-07-16 美光科技公司 使用奇偶校验增加存储器存取并行性

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929368B2 (en) * 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory
US8539303B2 (en) * 2010-12-20 2013-09-17 Intel Corporation Low overhead error correcting code protection for stored information
US8635514B2 (en) * 2011-02-28 2014-01-21 Micron Technology, Inc. Error control in memory storage systems
KR101751506B1 (ko) * 2011-03-28 2017-06-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 배드 영역 관리 방법
US9218852B2 (en) 2011-06-30 2015-12-22 Sandisk Technologies Inc. Smart bridge for memory core
JP2013093012A (ja) * 2011-10-07 2013-05-16 Panasonic Corp メモリコントローラ、記憶装置
US8661320B2 (en) * 2011-10-07 2014-02-25 Aeroflex Colorado Springs Inc. Independent orthogonal error correction and detection
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US8843806B2 (en) * 2012-01-19 2014-09-23 International Business Machines Corporation Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems
US20130191685A1 (en) 2012-01-19 2013-07-25 International Business Machines Corporation Per-rank channel marking in a memory system
US8782485B2 (en) 2012-01-19 2014-07-15 International Business Machines Corporation Hierarchical channel marking in a memory system
WO2013165387A1 (en) * 2012-05-01 2013-11-07 Hewlett-Packard Development Company, L.P. Packaged memory dies that share a chip select line
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9021336B1 (en) * 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US8984368B2 (en) * 2012-10-11 2015-03-17 Advanced Micro Devices, Inc. High reliability memory controller
US9037943B2 (en) * 2012-10-26 2015-05-19 Intel Corporation Identification of non-volatile memory die for use in remedial action
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9208018B1 (en) * 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
KR101508836B1 (ko) * 2013-08-06 2015-04-07 한양대학교 산학협력단 3 차원 적층 구조의 반도체 장치 및 그 동작 방법
US9471428B2 (en) * 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
US10067823B2 (en) * 2014-12-04 2018-09-04 Western Digital Technologies, Inc. Systems and methods for adaptive error corrective code mechanisms
US10691531B2 (en) 2014-12-04 2020-06-23 Western Digital Technologies, Inc. Systems and methods for multi-zone data tiering for endurance extension in solid state drives
KR102261817B1 (ko) * 2014-12-15 2021-06-07 삼성전자주식회사 다수의 레이어들을 포함하는 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작방법
US9685219B2 (en) 2015-05-13 2017-06-20 Samsung Electronics Co., Ltd. Semiconductor memory device for deconcentrating refresh commands and system including the same
US9760437B2 (en) 2015-07-01 2017-09-12 International Business Machines Corporation Error correction based on thermal profile of flash memory device
KR102417183B1 (ko) 2016-02-25 2022-07-05 삼성전자주식회사 적층형 메모리 장치, opc 검증 방법, 적층형 메모리 장치의 레이아웃 디자인 방법, 및 적층형 메모리 장치의 제조 방법
US10636767B2 (en) 2016-02-29 2020-04-28 Invensas Corporation Correction die for wafer/die stack
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
US10042702B2 (en) 2016-11-07 2018-08-07 SK Hynix Inc. Memory device transferring data between master and slave device and semiconductor package including the same
US9996285B2 (en) * 2016-11-08 2018-06-12 SK Hynix Inc. Cyclically interleaved XOR array for error recovery
US20180137005A1 (en) * 2016-11-15 2018-05-17 Intel Corporation Increased redundancy in multi-device memory package to improve reliability
US10459809B2 (en) 2017-06-30 2019-10-29 Intel Corporation Stacked memory chip device with enhanced data protection capability
US10585749B2 (en) * 2017-08-10 2020-03-10 Samsung Electronics Co., Ltd. System and method for distributed erasure coding
US10365325B2 (en) * 2017-08-22 2019-07-30 Micron Technology, Inc. Semiconductor memory device
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction
WO2024123711A1 (en) * 2022-12-07 2024-06-13 Rambus Inc. In-package error correction for multi-die memory stacks

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1045472A (zh) * 1989-03-10 1990-09-19 国际商业机器公司 采用两级误码校正和检测具有锁定特征的容错式计算机存贮***及其元件
WO2002052577A1 (en) * 2000-12-22 2002-07-04 Matrix Semiconductor, Inc. Three-dimensional memory array and method for storing data bits and ecc bits therein
US20060164882A1 (en) * 2004-12-23 2006-07-27 Robert Norman Storage controller using vertical memory
WO2007028109A2 (en) * 2005-09-02 2007-03-08 Metaram, Inc. Methods and apparatus of stacking drams
CN1953185A (zh) * 2005-10-21 2007-04-25 旺宏电子股份有限公司 包括埋藏闪速存储器的存储器结构的***及方法
CN1967709A (zh) * 2005-11-18 2007-05-23 尔必达存储器株式会社 堆叠存储器
US20070194455A1 (en) * 2006-02-22 2007-08-23 Elpida Memory, Inc. Stacked semiconductor memory device and control method thereof
US20080010435A1 (en) * 2005-06-24 2008-01-10 Michael John Sebastian Smith Memory systems and memory modules
US20080101104A1 (en) * 2006-10-30 2008-05-01 Elpida Memory, Inc. Stacked memory

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125466A (en) * 1992-01-10 2000-09-26 Cabletron Systems, Inc. DRAM parity protection scheme
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
EP1153395A4 (en) * 1998-12-30 2002-04-17 Intel Corp ORGANIZATION OF A MEMORY BLOCK
US8037234B2 (en) * 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US6687872B2 (en) * 2001-03-14 2004-02-03 Hewlett-Packard Development Company, L.P. Methods and systems of using result buffers in parity operations
US6904556B2 (en) * 2001-08-09 2005-06-07 Emc Corporation Systems and methods which utilize parity sets
US6973613B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
JP4595342B2 (ja) 2004-02-19 2010-12-08 日本電気株式会社 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP2006004560A (ja) * 2004-06-18 2006-01-05 Elpida Memory Inc 半導体記憶装置及びその誤り訂正方法
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
US7200021B2 (en) * 2004-12-10 2007-04-03 Infineon Technologies Ag Stacked DRAM memory chip for a dual inline memory module (DIMM)
US7765454B2 (en) * 2005-05-24 2010-07-27 Sgi International, Inc. Fault tolerant memory system
US7519894B2 (en) * 2005-06-14 2009-04-14 Infineon Technologies Ag Memory device with error correction code module
US7327592B2 (en) * 2005-08-30 2008-02-05 Micron Technology, Inc. Self-identifying stacked die semiconductor components
US7779334B2 (en) * 2006-06-26 2010-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory having an ECC system
US7477535B2 (en) * 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
WO2008070813A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a front-end, distributed raid
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1045472A (zh) * 1989-03-10 1990-09-19 国际商业机器公司 采用两级误码校正和检测具有锁定特征的容错式计算机存贮***及其元件
WO2002052577A1 (en) * 2000-12-22 2002-07-04 Matrix Semiconductor, Inc. Three-dimensional memory array and method for storing data bits and ecc bits therein
US20060164882A1 (en) * 2004-12-23 2006-07-27 Robert Norman Storage controller using vertical memory
US20080010435A1 (en) * 2005-06-24 2008-01-10 Michael John Sebastian Smith Memory systems and memory modules
WO2007028109A2 (en) * 2005-09-02 2007-03-08 Metaram, Inc. Methods and apparatus of stacking drams
CN1953185A (zh) * 2005-10-21 2007-04-25 旺宏电子股份有限公司 包括埋藏闪速存储器的存储器结构的***及方法
CN1967709A (zh) * 2005-11-18 2007-05-23 尔必达存储器株式会社 堆叠存储器
US20070194455A1 (en) * 2006-02-22 2007-08-23 Elpida Memory, Inc. Stacked semiconductor memory device and control method thereof
US20080101104A1 (en) * 2006-10-30 2008-05-01 Elpida Memory, Inc. Stacked memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647152A (zh) * 2018-04-27 2018-10-12 江苏华存电子科技有限公司 一种提升闪存存储装置中以数据数组保护数据的管理方法
CN113129978A (zh) * 2019-12-30 2021-07-16 美光科技公司 使用奇偶校验增加存储器存取并行性
CN113129978B (zh) * 2019-12-30 2024-01-26 美光科技公司 使用奇偶校验增加存储器存取并行性

Also Published As

Publication number Publication date
US8327225B2 (en) 2012-12-04
WO2011082070A2 (en) 2011-07-07
KR20120105045A (ko) 2012-09-24
TW201203270A (en) 2012-01-16
CN105005512B (zh) 2018-06-26
EP2521972A2 (en) 2012-11-14
TWI446353B (zh) 2014-07-21
CN102687121A (zh) 2012-09-19
US8869005B2 (en) 2014-10-21
US20130097471A1 (en) 2013-04-18
EP2521972B1 (en) 2018-01-24
CN102687121B (zh) 2015-09-09
EP2521972A4 (en) 2014-02-19
US20110167319A1 (en) 2011-07-07
KR101644917B1 (ko) 2016-08-03
WO2011082070A3 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
CN102687121B (zh) 堆叠式存储器中的错误校正
CN102292778B (zh) 用于管理错误区域的存储器装置及方法
KR101477849B1 (ko) 메모리 모듈 및 메모리 모듈 제어 방법
CN101622594B (zh) 使用空数据令牌指令管理来自于请求设备的数据的装置、***和方法
CN102272737B (zh) 用于监视存储器***的***及方法
CN104272262B (zh) 物理页、逻辑页及码字对应
US9009580B2 (en) System and method for selective error checking
CN101622606B (zh) 用于作为大容量、非易失性存储器的高速缓存的固态存储器的装置、***和方法
US7594075B2 (en) Metadata for a grid based data storage system
CN104871137B (zh) 高可靠性存储器控制器
CN110073322A (zh) 用于快速执行封装体内命令的***和方法
US9311194B1 (en) Efficient resource utilization in data centers
CN108052655A (zh) 数据写入及读取方法
KR20110059712A (ko) 메모리 모듈 및 메모리 모듈 제어 방법
CN103370698A (zh) 用于非易失性存储器***的辅助接口
CN109213693A (zh) 存储管理方法、存储***和计算机程序产品
KR101183739B1 (ko) 멀티포트 메모리 슈퍼셀 및 데이터 경로 스위칭 회로를 갖는 집적 회로
CN101729421B (zh) 一种基于时分复用的存储方法和装置
CN109597565B (zh) 虚拟Plane管理
CN103914401B (zh) 具有多处理器的存储设备
CN103914409B (zh) 用于具有多处理器的存储设备的方法
US11494087B2 (en) Tolerating memory stack failures in multi-stack systems
DE112020007776T5 (de) Adaptive Fehlerkorrektur zur Verbesserung des Systemspeichers Zuverlässigkeit, Verfügbarkeit und Wartungsfreundlichkeit (RAS)
CN114579057B (zh) 缓存设备的校验数据的存储方法、存储装置及存储***
CN100399287C (zh) 数据错误检查方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant