CN101889267A - 存储器阵列中的差错校正 - Google Patents
存储器阵列中的差错校正 Download PDFInfo
- Publication number
- CN101889267A CN101889267A CN2008801195122A CN200880119512A CN101889267A CN 101889267 A CN101889267 A CN 101889267A CN 2008801195122 A CN2008801195122 A CN 2008801195122A CN 200880119512 A CN200880119512 A CN 200880119512A CN 101889267 A CN101889267 A CN 101889267A
- Authority
- CN
- China
- Prior art keywords
- group
- bit
- error recovery
- correct
- ecc bit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种用于校正在存储器阵列中的差错的计算机***,包括差错校正算法和存储器。所述差错校正算法能够校正在具有标准尺寸的可校正的一组存储器单元中的高至第一比特差错率的差错。该存储器可操作以存储具有与第一组存储器单元对应的信息的第一集合的ECC比特,以及存储具有与第二组存储器单元对应的信息的第二集合的ECC比特,所述第一组存储器单元具有大于所述标准尺寸的第一尺寸,并且所述第二组存储器单元具有小于所述第一尺寸的第二尺寸并且是所述第一组的一部分。所述差错校正算法可操作以如果基于所述第一集合的ECC比特在校正所述第一组时失败,则基于所述第二集合的ECC比特来校正在所述第二组中的差错。
Description
技术领域
本发明涉及用于校正在存储器中的差错的差错校正码(ECC、或纠错码)。
背景技术
非易失性存储器器件、尤其是固态存储器器件趋向于随着时间而退化(wear out)。这种退化的一个主要影响是在存储的数据中生成差错。例如取决于所使用的技术和可以实现的制造工艺容限(tolerance),不同的器件类型具有不同的典型的和工业上接受的可靠性。在具有标准大小(例如256字节)的可校正的一组存储器单元中,一些快闪控制器被设计为能够校正高至第一(“弱”)比特差错率(例如高至每512字节6比特)的差错,而其他控制器要求高于该第一比特差错率的第二比特差错率(例如高至每512字节8比特)以获得更强的保护。
本领域中已经做出了一些差错应对方案以使用弱的差错应对方案来提供强的比特差错率保护。一种解决方法是将一组存储器单元分成子组(可校正的组),并将现有的较弱的差错校正方案单独应用于每个子组。这样,通过较弱的比特差错率分别保护每个子组。但是,这样的差错校正方案需要对每一个子组应用差错校正操作,由此降低了整体性能。
另一种常用方法是设计能够校正高至期望的比特差错率的差错的新的、更强的差错校正方案。新设计的***的缺点是高成本影响和设计这样的***花费的时间。
尽管每种现有技术差错应对方案都提供了对于有缺陷的存储器位置的某种保护,但是它们没有一个是完美的。一些方案需要过多的资源和开发时间;一些降低了***的整体读取性能;其他的提供了不充分的保护。
发明内容
本发明可以被实现为具有用于校正在存储器阵列中的差错的差错校正算法的计算机***及其方法。存储器单元与相应的ECC比特相关地被存储在存储器阵列中。如下生成ECC比特:一个集合的ECC比特包括与第一组存储器单元对应的信息(该第一组具有大于或等于例如256字节的标准尺寸的第一尺寸);第二集合的ECC比特包括与第二组存储器单元对应的信息(该第二组被包括在第一组中),第三集合的ECC比特包括与第三组存储器单元对应的信息(该第三组被包括在第二组中),等等。如此生成ECC比特提供了对存储器阵列中的差错的校正,同时实现最佳的整体性能。
在前述方法的一个实施例中,一种用于校正在存储器阵列中的差错的方法包括步骤:提供能够校正在可校正的一组存储器单元中的高至第一比特差错率的差错的差错校正算法。所述可校正的组具有标准尺寸。该方法还包括步骤:生成具有与第一组存储器单元对应的信息的第一集合的ECC比特;生成具有与第二组存储器单元对应的信息的第二集合的ECC比特;以及应用所述差错校正算法以基于所述第一集合的ECC比特来校正所述第一组中的差错。所述第一组具有大于所述标准尺寸的第一尺寸。所述第二组具有小于所述第一尺寸的第二尺寸并且是所述第一组的一部分。如果基于所述第一集合的ECC比特的所述差错校正算法失败,则该方法还包括应用所述差错校正算法以基于所述第二集合的ECC比特来校正在所述第二组中的差错。所述方法还可以包括基于所述第一集合的ECC比特来校正所述第一组。该方法还可以包括基于所述第二集合的ECC比特来校正所述第二组。
该方法还可以包括生成具有与另一组存储器单元对应的信息的另一集合的ECC比特。可以在生成所述差错校正算法之前生成该另一集合的ECC比特。所述另一组具有小于所述第二尺寸的第三尺寸并且是所述第二组的一部分。如果基于所述第二集合的ECC比特的所述差错校正算法失败,则所述方法可以包括应用所述差错校正算法以基于所述另一集合的ECC比特来校正在所述另一组中的差错。该方法可以包括基于所述另一集合的ECC比特来校正所述另一组。可以应用该方法以由此校正在所述第一组中的高至第二比特差错率的差错,其中该第二比特差错率大于该第一比特差错率。
在前述方法的另一实施例中,一种用于校正在存储器阵列中的差错的计算机***包括:差错校正算法,能够校正在可校正的一组存储器单元中的高至第一比特差错率的差错。所述可校正的组具有标准尺寸。存储器可操作以存储具有与第一组存储器单元对应的信息的第一集合的ECC比特,以及存储具有与第二组存储器单元对应的信息的第二集合的ECC比特。所述第一组具有大于所述标准尺寸的第一尺寸,并且所述第二组具有小于所述第一尺寸的第二尺寸并且是所述第一组的一部分。所述差错校正算法可操作以如果基于所述第一集合的ECC比特在所述第一组中应用的所述差错校正算法失败,则基于所述第二集合的ECC比特来校正所述第二组中的差错。
该存储器可以是闪存。该差错校正算法还可以可操作以基于所述第一集合的ECC比特来校正所述第一组。该差错校正算法还可以可操作以基于所述第二集合的ECC比特来校正所述第二组。
该存储器可以可操作以存储具有与另一组存储器单元对应的信息的另一集合的ECC比特。所述另一组具有小于所述第二尺寸的第三尺寸并且是所述第二组的一部分。所述差错校正算法可以进一步可操作以如果基于所述ECC比特的第二组在所述第二组中应用的所述差错校正算法失败,则所述差错校正算法将基于所述另一集合的ECC比特而被应用于所述另一组中。所述差错校正算法还可以可操作以基于所述另一集合的ECC比特来校正所述另一组。可以应用所述差错校正算法以由此校正在所述第一组中的高至第二比特差错率的差错,其中所述第二比特差错率大于所述第一比特差错率。
所描述的实施例的另外的特征、优点和可能的变化将从以下附图和描述中变得明显。
附图说明
为了关于本发明的实施例而更好地理解本发明,参考附图,在附图中相同的数字表示相应的部分或元件,并且在附图中:
图1A是用于校正在存储器阵列中的差错的计算机***的实施例的框图;
图1B是图1A的存储器阵列的框图,其中实现差错校正算法以对于每个数据单位生成三个集合的ECC比特;
图2是根据示例实施例的、向存储器阵列写数据的流程图;以及
图3是根据示例实施例的、从存储器阵列读数据的流程图。
具体实施方式
通过参考示例和优选实施例的本详细描述,将更好地理解由后面的权利要求限定的本发明。此描述不意图限制权利要求的范围而是提供这些实施例的例子。因此以下讨论呈现了示例实施例,其包括用于校正在存储器阵列中的差错的计算机***及其方法。
计算机***的一个实施例采用差错校正算法(algorithm)来校正在存储器阵列中的差错。该存储器阵列可以包括两组或更多组存储器单元,其中最小组的存储器单元被包括在较小组的存储器单元中,较小组的存储器单元被包括在较大组中,等等。每组存储器单元与对应于其组的宽度和长度的一个集合的ECC比特相关地被存储在存储器阵列中。一个集合的ECC比特包括与第一组存储器单元对应的信息;另一集合的ECC比特包括与第二组存储器单元对应的信息,等等。生成这样的ECC比特提供了对在存储器阵列中的差错的校正,同时实现了最佳的整体性能。
该差错校正算法能够校正在具有标准大小(例如256字节)的可校正的一组存储器单元中的高至第一比特差错率(例如高至每512字节6比特)的差错。应用该差错校正算法以首先使用较大组的存储器单元的相应ECC比特来校正该较大组的存储器单元,并且在该校正动作失败时,应用该差错校正算法来校正较小组的存储器单元。在对该较小组失败时,可以进一步应用该差错校正算法来校正被包括在前者组中的更小组的存储器单元。可以基于相应的ECC比特,每次对更小组的存储器单元递归地(recursively)应用该校正动作,直到校正成功。在成功时,校正了在该处理中相关联的所有组的存储器单元的数据。
图1A是具有用于校正在存储器阵列14中的差错的差错校正算法12的计算机***10的示例实施例。存储器阵列14可以是闪存。差错校正算法12能够校正在具有标准大小(例如256字节)的可校正的一组存储器单元(例如MC1)中的高至第一比特差错率(例如高至每512字节6比特)的差错。提供控制器18用于向存储器阵列14写数据以及从存储器阵列14读数据。
存储器阵列14包括多个数据单位(unit)16。注意,数据单位可以涉及任意数量的字节,包括但不限于256字节、512字节等。在此例子中,实现差错校正算法12以对于每个数据单位16生成两个集合的ECC比特,如下:第一集合的ECC比特,ECC1-2,具有与第一组存储器单元MC1和MC2对应的信息;以及第二集合的ECC比特ECC1,具有与第二组存储器单元MC1对应的信息(或者,第二集合的ECC比特可以具有与一组存储器单元MC2对应的信息)。第一组存储器单元MC1和MC2具有大于标准尺寸的第一尺寸(例如512字节)。第二组存储器单元MC1具有小于第一尺寸的第二尺寸(例如256字节)。第二组存储器单元MC1是第一组存储器单元MC1和MC2的一部分。第一集合的ECC比特ECC1-2和第二集合ECC1与相应的数据单位16相关地被存储在存储器阵列14中。
差错校正算法12可操作以基于第一集合的ECC比特ECC1-2来校正在第一组MC1和MC2中的差错。如果该处理失败(例如在第一组MC1和MC2中存在多于6个差错),则该差错校正算法12可操作以基于第二集合的ECC比特ECC1来校正第二组MC1中的差错。换句话说,如果基于第一集合的ECC比特ECC1-2在第一组MC1和MC2中应用的差错校正算法失败,则差错校正算法12可操作以基于第二集合的ECC比特ECC1来校正第二组MC1中的差错。这样,该差错校正算法12(最初被实现以校正高至6比特差错率)可以被用于校正第一组MC1和MC2中的高至大于第一比特差错率的第二比特差错率、例如高至每512字节8比特的差错。
应该认识到,各种实施方式都可以使用宽范围的存储器配置,并且图示的具体的实施方式不应被认为是限制为仅该实施方式。例如,这些集合的ECC比特可以与存储器单元相邻(contiguous),其布局可以不同于用数据单位,且/或可以提供各种类型的差错校正算法。可以进一步应用差错校正算法以生成两个集合的ECC比特、三个集合的ECC比特(见图1B)、或更多;并且可以将存储器阵列实现为存储两个集合的ECC比特、三个集合的ECC比特或更多。
差错校正算法12还可以可操作以基于第一集合的ECC比特ECC1-2来校正第一组MC1和MC2。可替换地或者另外地,差错校正算法12还可操作以基于第二集合的ECC比特ECC1来校正第二组MC1。存储器阵列14可以可操作以存储具有与另一组存储器单元对应的信息的另一集合的ECC比特,其中该另一组存储器单元具有小于第二尺寸的第三尺寸并且是第二组MC 1的一部分。在此情况下,如果基于第二集合的ECC比特ECC1被应用于第二组MC1中的差错校正算法12失败,则差错校正算法12进一步可操作以基于另外的ECC比特而被应用于该另一组存储器单元中(见图1B)。差错校正算法12还可操作以基于另一集合的ECC比特来校正另一组存储器单元。
图1B是图1A的存储器阵列14的示例实施例,其中差错校正算法12被实现以对于每个数据单位16生成三个集合的ECC比特。在此例子中,差错校正算法12被实现以对于每个数据单位16生成三个集合的ECC比特,如下:第一集合的ECC比特,ECC’1-3,具有与第一组存储器单元MC’1、MC’2和MC’3对应的信息;第二集合的ECC比特,ECC’1-2,具有与第二组存储器单元MC’1和MC’2对应的信息;以及第三集合的ECC比特ECC’1,具有与第三组存储器单元MC’1对应的信息。第一组存储器单元MC’1、MC’2和MC’3具有大于标准尺寸的第一尺寸(例如640字节)。第二组存储器单元MC’1和MC’2具有小于第一尺寸的第二尺寸。第二组存储器单元MC’1和MC’2是第一组MC’1、MC’2和MC’3的一部分。第三组存储器单元MC’1具有小于第二尺寸的第三尺寸。第三组存储器单元MC’1是第二组MC’1和MC’2的一部分。第一集合的ECC比特ECC’1-3、第二集合的ECC比特ECC’1-2和第三集合的ECC比特ECC’1与相应的数据单位16相关地被存储在存储器阵列14中。
差错校正算法12可操作以基于第一集合的ECC比特ECC’1-3来校正第一组MC’1、MC’2和MC’3中的差错。如果该处理失败(例如在第一组MC’1、MC’2和MC’3中存在多于6个差错),则差错校正算法12可操作以基于第二集合的ECC比特ECC’1-2来校正在第二组MC’1和MC’2中的差错。只有在该第二处理失败时(例如在第二组MC’1和MC’2中存在多于6个差错),该差错校正算法12才可操作以基于第三集合的ECC比特ECC’1来校正在第三组MC’1中的差错。
图2是根据示例实施例的、用于向具有差错校正算法12的计算机***10的存储器阵列写数据的方法的流程图30。在32,将数据写到该存储器阵列。该差错校正算法能够校正在具有标准尺寸(例如256字节)的可校正的一组存储器单元中的高至第一比特差错率的差错。在此例子中,实现差错校正算法12以对于每个数据单位16生成三个集合的ECC比特。
在34,对于被写入的数据来生成第一集合的ECC比特ECC’1-3。该第一集合的ECC比特具有与第一组存储器单元MC’1、MC’2和MC’3对应的信息。该第一组具有大于标准尺寸的第一尺寸(例如512字节)。
在36,对于被写入的数据来生成第二集合的ECC比特ECC’1-2。该第二集合的ECC比特具有与第二组存储器单元MC’1和MC’2对应的信息。该第二组具有小于第一尺寸的第二尺寸,并且是第一组存储器单元的一部分。
在38,对于被写入的数据来生成另一集合的ECC比特(在此例子中是第三集合ECC’1)。该另一集合的ECC比特具有与另一组的存储器单元(在此例子中是第三组MC’1)对应的信息。该第三组存储器单元具有小于第二尺寸的第三尺寸,并且是第二组存储器单元的一部分。在39,这些集合的ECC比特全部被写到存储器阵列。
在某些实施例和/或某些情况下,第一集合的ECC比特、第二集合的ECC比特和第三集合的ECC比特的生成被实施为单个步骤。在其他实施例中,可能有生成第一集合的ECC比特、第二集合的ECC比特和第三集合的ECC比特的至少两个单独的步骤。
图3是根据示例实施例的、用于从存储器阵列读数据的方法的流程图50。在52,从该存储器阵列读出数据及其相应的ECC比特,并且应用(图2的)差错校正算法以基于第一集合的ECC比特来校正第一组存储器单元中的差错。
如果基于第一集合的ECC比特的差错校正算法成功(54),则基于第一集合的ECC比特ECC’1-3校正第一组存储器单元MC’1、MC’2和MC’3;并产生(assert)成功信号(步骤56)。
如果基于第一集合的ECC比特的差错校正算法失败(54),则基于第二集合的ECC比特ECC’1-2来校正第二组存储器单元MC’1和MC’2(58)。如果基于第二集合的ECC比特的差错校正算法成功(60);则基于第二集合的ECC比特ECC’1-2校正了第二组存储器单元MC’1和MC’2;然后基于第一集合的ECC比特ECC’1-3校正第一组存储器单元MC’1、MC’2和MC’3。然后产生成功信号(步骤56)。如果基于第二集合的ECC比特的差错校正算法失败(60),则基于另一集合的ECC比特ECC’1校正该另一组存储器单元MC’1(62)。在此步骤(62),基于该另一集合的ECC比特ECC’1来校正该另一组存储器单元MC’1;然后基于第二集合的ECC比特ECC’1-2来校正第二组存储器单元MC’1和MC’2;并且然后基于第一集合的ECC比特ECC’1-3校正第一组存储器单元MC’1、MC’2和MC’3。然后产生成功信号(步骤56)。
应该理解,尽管在此利用被应用以生成两个或三个ECC比特的差错校正算法以及被实现以存储这些集合的ECC比特的存储器阵列来配置计算机***,但是该计算机***和方法可进一步被应用以生成多于三个集合的ECC比特并存储多于三个集合的ECC比特。此外,可以采用提供与海量存储器的连接端口的任何其他类型的集线器。
已经描述了***和方法的各种实施例,要理解,该描述不是意味限制,因为对于本领域技术人员而言现在将暗示着进一步的修改,并且意要覆盖落入所附权利要求的范围内的这种修改。
Claims (15)
1.一种用于校正存储器阵列中的差错的方法,该方法包括:
(a)提供用于校正在可校正的一组存储器单元中的高至第一比特差错率的差错的差错校正算法,所述可校正的组具有标准尺寸;
(b)生成具有与第一组存储器单元对应的信息的第一集合的ECC比特,所述第一组具有大于所述标准尺寸的第一尺寸;
(c)生成具有与第二组存储器单元对应的信息的第二集合的ECC比特,所述第二组具有小于所述第一尺寸的第二尺寸并且是所述第一组的一部分;
(d)应用所述差错校正算法以基于所述第一集合的ECC比特来校正在所述第一组中的差错;
(e)确定在步骤(d)中的基于所述第一集合的ECC比特的所述差错校正算法是否失败;以及
(f)如果所述差错校正算法失败,则应用所述差错校正算法以基于所述第二集合的ECC比特来校正在所述第二组中的差错。
2.如权利要求1所述的方法,还包括:
(f)基于所述第一集合的ECC比特来校正所述第一组。
3.如权利要求1所述的方法,还包括:
(f)基于所述第二集合的ECC比特来校正所述第二组。
4.如权利要求1所述的方法,还包括:
(f)在步骤(d)中所述生成所述差错校正算法之前,生成具有与另一组存储器单元对应的信息的另一集合的ECC比特,所述另一组具有小于所述第二尺寸的第三尺寸并且是所述第二组的一部分。
5.如权利要求4所述的方法,还包括:
(g)如果在步骤(e)中基于所述第二集合的ECC比特的所述差错校正算法失败,则应用所述差错校正算法以基于所述另一集合的ECC比特来校正在所述另一组中的差错。
6.如权利要求5所述的方法,还包括:
(h)基于所述另一集合的ECC比特来校正所述另一组。
7.如权利要求1所述的方法,其中应用步骤(e)以由此校正在所述第一组中的高至第二比特差错率的差错,所述第二比特差错率大于所述第一比特差错率。
8.一种用于校正在存储器阵列中的差错的计算机***,所述计算机***包括:
差错校正算法,能够校正在可校正的一组存储器单元中的高至第一比特差错率的差错,所述可校正的组具有标准尺寸;以及
存储器,可操作以存储具有与第一组存储器单元对应的信息的第一集合的ECC比特,以及存储具有与第二组存储器单元对应的信息的第二集合的ECC比特,所述第一组具有大于所述标准尺寸的第一尺寸,并且所述第二组具有小于所述第一尺寸的第二尺寸并且是所述第一组的一部分;
所述差错校正算法可操作以如果基于所述第一集合的ECC比特在所述第一组中应用的所述差错校正算法失败,则基于所述第二集合的ECC比特来校正所述第二组中的差错。
9.如权利要求8所述的计算机***,其中所述存储器是闪存。
10.如权利要求8所述的计算机***,其中所述差错校正算法还可操作以基于所述第一集合的ECC比特来校正所述第一组。
11.如权利要求8所述的计算机***,其中所述差错校正算法还可操作以基于所述第二集合的ECC比特来校正所述第二组。
12.如权利要求8所述的计算机***,其中所述存储器可操作以存储具有与另一组存储器单元对应的信息的另一集合的ECC比特,所述另一组具有小于所述第二尺寸的第三尺寸并且是所述第二组的一部分。
13.如权利要求12所述的计算机***,其中所述差错校正算法还可操作以如果基于所述第二集合的ECC比特在所述第二组中应用的所述差错校正算法失败,则所述差错校正算法基于所述另一集合的ECC比特被应用于所述另一组中。
14.如权利要求13所述的计算机***,其中所述差错校正算法还可操作以基于所述另一集合的ECC比特校正所述另一组。
15.如权利要求8所述的计算机***,其中应用所述差错校正算法以由此校正在所述第一组中的高至第二比特差错率的差错,所述第二比特差错率大于所述第一比特差错率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/951,455 US8234539B2 (en) | 2007-12-06 | 2007-12-06 | Correction of errors in a memory array |
US11/951,455 | 2007-12-06 | ||
PCT/IB2008/054108 WO2009072014A1 (en) | 2007-12-06 | 2008-10-07 | Correction of errors in a memory array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101889267A true CN101889267A (zh) | 2010-11-17 |
CN101889267B CN101889267B (zh) | 2013-07-31 |
Family
ID=40365377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801195122A Active CN101889267B (zh) | 2007-12-06 | 2008-10-07 | 存储器阵列中的差错校正 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8234539B2 (zh) |
EP (1) | EP2218003B1 (zh) |
JP (1) | JP5529751B2 (zh) |
KR (1) | KR101572038B1 (zh) |
CN (1) | CN101889267B (zh) |
AT (1) | ATE506649T1 (zh) |
DE (1) | DE602008006455D1 (zh) |
WO (1) | WO2009072014A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626723B2 (en) * | 2008-10-14 | 2014-01-07 | Vmware, Inc. | Storage-network de-duplication |
US8276039B2 (en) * | 2009-02-27 | 2012-09-25 | Globalfoundries Inc. | Error detection device and methods thereof |
US8484536B1 (en) * | 2010-03-26 | 2013-07-09 | Google Inc. | Techniques for data storage, access, and maintenance |
US8719675B1 (en) | 2010-06-16 | 2014-05-06 | Google Inc. | Orthogonal coding for data storage, access, and maintenance |
JP2012094132A (ja) * | 2010-10-01 | 2012-05-17 | Siglead Inc | 不揮発性半導体メモリ装置とデータ誤り訂正方法 |
US8589761B2 (en) | 2011-05-31 | 2013-11-19 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
US8621317B1 (en) | 2011-07-25 | 2013-12-31 | Google Inc. | Modified orthogonal coding techniques for storing data |
US8615698B1 (en) | 2011-09-28 | 2013-12-24 | Google Inc. | Skewed orthogonal coding techniques |
JP5768654B2 (ja) * | 2011-10-25 | 2015-08-26 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
US8856619B1 (en) | 2012-03-09 | 2014-10-07 | Google Inc. | Storing data across groups of storage nodes |
US20140169102A1 (en) * | 2012-12-19 | 2014-06-19 | Western Digital Technologies, Inc. | Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems |
US9213595B2 (en) * | 2013-10-15 | 2015-12-15 | International Business Machines Corporation | Handling errors in ternary content addressable memories |
US9520901B2 (en) * | 2014-03-06 | 2016-12-13 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and memory control method |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4712215A (en) * | 1985-12-02 | 1987-12-08 | Advanced Micro Devices, Inc. | CRC calculation machine for separate calculation of checkbits for the header packet and data packet |
US5233614A (en) * | 1991-01-07 | 1993-08-03 | International Business Machines Corporation | Fault mapping apparatus for memory |
KR950008789B1 (ko) * | 1992-07-30 | 1995-08-08 | 삼성전자주식회사 | 멀티-이씨씨(ecc)회로를 내장하는 반도체 메모리 장치 |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US5847577A (en) * | 1995-02-24 | 1998-12-08 | Xilinx, Inc. | DRAM memory cell for programmable logic devices |
US5905858A (en) * | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
JPH10207726A (ja) * | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | 半導体ディスク装置 |
JP3184129B2 (ja) * | 1997-09-29 | 2001-07-09 | 甲府日本電気株式会社 | 記憶装置 |
US7099997B2 (en) * | 2003-02-27 | 2006-08-29 | International Business Machines Corporation | Read-modify-write avoidance using a boundary word storage mechanism |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7308638B2 (en) | 2004-06-29 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
KR20090053960A (ko) * | 2006-04-06 | 2009-05-28 | 가부시키가이샤 어드밴티스트 | 시험 장치 및 시험 방법 |
US7840875B2 (en) * | 2006-05-15 | 2010-11-23 | Sandisk Corporation | Convolutional coding methods for nonvolatile memory |
CN100458718C (zh) * | 2006-12-29 | 2009-02-04 | 福昭科技(深圳)有限公司 | 一种闪存存储装置及其数据读取和写入方法 |
-
2007
- 2007-12-06 US US11/951,455 patent/US8234539B2/en active Active
-
2008
- 2008-10-07 JP JP2010536553A patent/JP5529751B2/ja active Active
- 2008-10-07 DE DE602008006455T patent/DE602008006455D1/de active Active
- 2008-10-07 AT AT08807915T patent/ATE506649T1/de not_active IP Right Cessation
- 2008-10-07 KR KR1020107014864A patent/KR101572038B1/ko not_active IP Right Cessation
- 2008-10-07 EP EP08807915A patent/EP2218003B1/en not_active Not-in-force
- 2008-10-07 CN CN2008801195122A patent/CN101889267B/zh active Active
- 2008-10-07 WO PCT/IB2008/054108 patent/WO2009072014A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
DE602008006455D1 (de) | 2011-06-01 |
JP5529751B2 (ja) | 2014-06-25 |
EP2218003B1 (en) | 2011-04-20 |
WO2009072014A1 (en) | 2009-06-11 |
ATE506649T1 (de) | 2011-05-15 |
EP2218003A1 (en) | 2010-08-18 |
KR101572038B1 (ko) | 2015-11-26 |
CN101889267B (zh) | 2013-07-31 |
US8234539B2 (en) | 2012-07-31 |
JP2011507066A (ja) | 2011-03-03 |
KR20100111680A (ko) | 2010-10-15 |
US20090150747A1 (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101889267B (zh) | 存储器阵列中的差错校正 | |
US9996285B2 (en) | Cyclically interleaved XOR array for error recovery | |
US8725944B2 (en) | Implementing raid in solid state memory | |
CN102656566B (zh) | 固态存储***中的数据管理 | |
US6185134B1 (en) | Flash memory control method, flash memory system using the control method and flash memory device using the control method | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
CN101271733B (zh) | 半导体存储装置 | |
US8266495B2 (en) | Systems and methods for performing concatenated error correction | |
CN104969193A (zh) | 减少的不可校正的存储器错误 | |
CN101901169B (zh) | 扫描装置及方法 | |
US10339343B2 (en) | Storage system and method for improved generation and storage of data protection information | |
CN103631670B (zh) | 存储器储存装置、存储器控制器与数据处理方法 | |
US8966344B2 (en) | Data protecting method, memory controller and memory storage device | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
US20200264953A1 (en) | Error correction in data storage devices | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN117632579B (zh) | 存储器控制方法和存储器存储装置 | |
CN113703684B (zh) | 基于raid的数据存储方法、数据读取方法及存储器*** | |
CN112786099B (zh) | 存储装置和其多个实体单元纠错方法 | |
CN107632902B (zh) | 用于程序化失败时回复数据的方法、控制器及存储*** | |
CN117409845A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Israel Kfar Saba Patentee after: Western data Israel Limited Address before: Israel saaba Patentee before: SANDISK IL Ltd. |