CN1503456A - 盘上整合区段格式raid纠错码系统和方法 - Google Patents
盘上整合区段格式raid纠错码系统和方法 Download PDFInfo
- Publication number
- CN1503456A CN1503456A CNA2003101138985A CN200310113898A CN1503456A CN 1503456 A CN1503456 A CN 1503456A CN A2003101138985 A CNA2003101138985 A CN A2003101138985A CN 200310113898 A CN200310113898 A CN 200310113898A CN 1503456 A CN1503456 A CN 1503456A
- Authority
- CN
- China
- Prior art keywords
- section
- check
- produces
- bunch
- odd even
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012937 correction Methods 0.000 title claims abstract description 24
- 238000012795 verification Methods 0.000 claims description 49
- 238000013500 data storage Methods 0.000 claims description 13
- 238000000151 deposition Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims 3
- 238000003860 storage Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 6
- 230000004907 flux Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 239000004744 fabric Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000001915 proofreading effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
公开了一个盘上整合区段格式RAID纠错码系统和方法。在例如一个盘上RAID系统中,一种编码系统和相关的方法可防止奇偶区段校正造成的误校正。本系统增加了一个奇偶簇区块,它本身是一个完整的、C3校验防止的簇。有了簇级别之后,即使存在“jami”错误,由奇偶区段进行的、由C3校验进行校验和确认的C4级别校正,具有高可靠性级别以及能够校验簇区块一致性,也使得这种概率非常小。一种擦除算法在存储设备空闲之前,通过延迟完成C2和C3校验,避免了读出-修改-写入操作。
Description
相关申请的交叉引用
本专利申请涉及2002年1月3日提交的10/040,115号待批准美国专利申请,标题为“Multiple Level(ML),Integrated SectorFormat(ISF),Error Correction Code(ECC)Encoding And DecodingProcesses For Data Storage Or Communication Devices AndSystems”,它已经转让给本专利申请的受让人,其全部内容在此引用作为参考。
技术领域
一般说来,本发明涉及数据存储或通信设备和系统,尤其是涉及整合区段格式(ISF)、纠错码(ECC)的编码和解码过程,用于数据存储或通信的设备和系统。更确切地说,本发明涉及一种系统和相关的方法,用于防止盘上RAID系统中由于奇偶区段校正造成的误校正。
背景技术
在数据存储设备和系统比如硬盘驱动器(HDD)中,恶劣的读写条件和低信噪比(SNR)数据探测,很容易在磁盘上存放的数据区段中造成错误的长脉冲和随机错误的混合错误模式。典型情况下,使用字节-字母表、里德-所罗门(RS)码,使存放的区段数据字节成为受冗余的校验字节保护的码字的格式,并且使用它们来定位和校正码字中的字节错误。
对于防止长的错误脉冲的数据保护,长码字的效率更高,因为冗余校验字节的开销是在一个长的数据区块上平均。不过,在数据存储设备中,不能使用长码字,除非使用读出-修改-写入(RMW)过程,因为目前的逻辑单位数据区段的长度是512字节,而且目前的电脑主机操作系统采用512字节长的区段逻辑单位。
每个RMW过程都会使数据存储介质产生一次转变损失。数据存储介质的转变损失降低了输入/输出(I/O)命令的吞吐量。所以,频繁地使用RMW过程会降低I/O命令的吞吐量,因而禁止这样做。
低SNR探测加上恶劣的读写条件,在面积密度高和飞行高度低——这是HDD行业中的趋势——的情况下,越来越可能导致既产生随机错误,又产生字节错误的长脉冲(“混合错误模式”)。发生这种随机错误和脉冲错误组合的混合错误模式,很可能导致512字节区段交织的OTF ECC失效,以至于更频繁地使用数据恢复过程(DRP),它包括重读、移动磁头等操作。
这些DRP操作会导致磁盘的转变损失,进而又降低了输入/输出(I/O)的吞吐量。在许多应用中,不能容许这种性能损失,比如音像(AV)数据传递就不能容许视频数据流的频繁中断。另一方面,以512字节逻辑单位的区段格式,对于所有的单个区段一致地防止随机和脉冲错误,会导致校验字节的开销过多而不可容忍。由于数据的线密度提高,这种校验字节开销也增加了软性错误率。
长区块数据ECC,比如包括8个区段的4k字节的物理区块,可以是某些应用的一个解决方案,但是它需要改变操作系统的标准,除非写入单个512字节的区段时允许读出-修改-写入(RMW)操作。要更新长物理区块校验字节,需要RMW操作。因此,写入单个512字节的区段时,也需要读出长区块中的其它区段,需要重新计算长区块校验字节,然后重写整个长区块。因此,RMW操作造成了I/O吞吐量性能的损失,对于典型的HDD操作,这一般是不允许的。
因此,数据存储设备可能需要有一种ECC格式,对于随机误差和脉冲误差的混合误差模式区段失效率低,避免频繁的DRP或RMW使用,而且具有可接受的校验字节开销。所以,数据存储设备和系统或者通信设备和系统需要一种多级别(ML)、整合区段格式(ISF)、纠错码(ECC)的编码和解码过程。在上述10/040,115号美国专利申请中,公开了一种满足这种需要的系统和相关方法。
本发明尤为关注的一个问题是,在一个簇区块中,(例如)一个8区段的数据簇的一部分或整簇完全损失的概率。作为说明,该簇区块可以包括16个数据簇。比如在一个盘上RAID-5系统中,以奇偶簇中的一个奇偶区段替代不可读的或已擦除的区段,产生的问题是无法确认奇偶区段与簇区块中的数据簇一致。所以仍然需要一种功能,能够校验整个簇区块上奇偶区段校正的可靠性,以便防止误校正。
另一个具体的问题涉及非边界写操作。非边界写操作是指一种写操作,它并不开始于一个8区段物理数据簇的第一个逻辑区块地址(LBA),或者它不结束于一个8区段物理数据簇的最后一个LBA。存在非边界写操作时,对于8区段的数据簇,要完成第二和第三级别(C2/C3)的编码,需要读出-修改-写入(RMW)操作。
对于顺序写入,需要读出-修改-写入(RMW)操作的频度不高,因此完成C2/C3防止可能不会造成显著的问题。不过,从性能来考虑,对于随机写入要完成C2/C3防止可能不会容许。所以,对于非边界写造成了ISF保护碎片的8区段数据簇,需要避免RMW操作,尽管同时要完成C2/C3防止。
再一个具体的问题是出现数据擦除,“jami”,它可能把已经完成了C3编码的数据簇内部写入的一个区段抹掉。所以在数据簇之内需要引入区段的可读性状态,它是一个“虚拟的”字节。区段的可读性状态不应当真正写在磁盘上,而应当编码在C3校验中。在驱动器擦除操作期间,区段的可读性状态应当更新并重新编码在C3校验中,使得这些C3校验作为更高级别保护的误校正校验(即CRC)。
发明内容
在盘上奇偶区段系统中,为了防止ISF-ECC系统中由于奇偶区段更新而发生的误校正,本发明满足了这些需求,提供了一种系统、一种电脑程序产品以及一种相关的方法(本文中一并称为“该系统”或“本系统”)。
为了达到这个目标,该系统提供了一个奇偶簇保护的一种簇区块,该簇本身是一个完整的、C3防止的簇。这种保护有效地形成了一种第四级别的ISF保护,本文中称为“C4级别”、“C4保护”或“C4校正”,它是在一个簇区块上实现为一个多区段奇偶条带。
由若干奇偶区段或者由一个奇偶簇替换一个区段簇中不可读的或已擦除的若干区段或者一个整簇,需要误校正的校验装置,并且需要保证奇偶区段(或者奇偶簇)与簇区块中的数据一致,以避免对客户提供不正确或者说“坏”的数据。
有了簇级K之后,即使存在“jami”错误,由奇偶区段进行的、由C3校验进行校验和确认的C4级别校正,具有高可靠性级别以及能够校验簇区块一致性,也使得这种概率非常小。
更确切地说,本发明指导了在一个8区段数据簇之内使用ISF-ECC C3校验字节作为循环冗余校验(CRC),它证明了各个数据簇是否属于一个C4保护的簇区块。如果在一个数据簇之内已经写入了一个区段或者几个区段,并且已经更新了C2/C3校验字节,但是C4奇偶簇尚未更新,簇区块中的一个数据簇之内存在不可读的或者已擦除的区段时,在整个区块上计算C3校验可以用于探测簇区块的不一致性,以避免误校正。
把每个数据簇的虚拟可读性状态编码在C3校验中,在存在“jami”擦除时防止了误校正。
本系统的优点在防止不同的错误机制的ISF-ECC结构中是固有的,它提供了不同级别的保护。它以尽可能低的开销,对于罕见的错误事件,即一个区段、多个区段和若干区段簇的长缺陷或者说损失,提供了可靠的防止。
本系统可应用为盘上RAID,其中簇区块是奇偶条带,其特征在于,由几个基础的校正级别来确认盘上RAID级别的校正。ISF-ECC使得盘上RAID校正级别误校正的概率非常小。
附图简要说明
利用以下的说明、权利要求书和附图,更详细地介绍了本发明的多种特征以及获得这些特征的方式,其中只要适宜,就重复使用引用号指明所引用条目之间的对应关系,其中:
图1展示了依据本发明的一个硬盘驱动器(HDD)读写路径的部分数据流,用于实时(OTF)计算和添加校验字节,以形成和记录线性纠错码(ECC)码字,以及用于探测和校正从磁盘轨迹读出的线性ECC码字;
图2和图3展示了一种方法和一种装置,用于N=8个区段,n=3个级别的一个具体实例的ML-ISF-ECC编码,依据本发明的一个实施例;
图4是一个示范性的簇区块,包含着多个区段簇,带有一个另外的C4级别的奇偶簇,对误校正提供增加的防止,依据本发明的一种优选编码方法;
图4A表示一个C3校验级别中编入的一个示范性虚拟可读性字节;
图5是一幅流程图,展示了产生图4中C4级别奇偶簇保护的编码方法;以及
图6是一幅流程图,展示了一种擦除更新方法,依据本发明的一种优选方法。
具体实施方式
图1展示了一个磁盘驱动器的一幅部分逻辑图以及一部分读取路径和写入路径,依据现有技术。一个磁盘驱动器,也称为直接存取存储设备,包括一片循环旋转的磁盘1和一条在径向或轴向可移动的存取臂5,存取臂的尖端有一个电磁传感器,它有两种用途,或者在磁盘上预定数目的同心轨迹中任何一条上记录磁通量模式,以表示数字的二进制码字序列,或者从选定的一条轨迹上读取已记录的磁通量模式,并把它们转换为码字。
当数字的二进制数据序列要向外写到磁盘1时,它们暂时存放缓冲区15中,然后经过处理并沿着具有几个阶段的写入路径或者说通道(17、19、7、5和3)转换。首先,在数据串中预定数目的二进制数据单元,也称为字节,从缓冲区移出并流经纠错码(ECC)写入处理器17。在处理器17中,这些数据字节映射到码字中,这些码字是从适宜的线性区块或者循环码中抽出的,比如里德-所罗门(RS)码,正如现有技术中广为接受的方式。下一步,在写入路径信号整形单元19中,每个码字映射为有限的扫描宽度或者其它带通或频谱整形码,并且变为时变信号。这种时变信号通过接口7,施加到磁阻或其它适宜的传感器3中的写元件,以便转换为磁通量模式。
随着旋转的磁盘1通过磁头3的下方,从自缓冲区移出二进制数据单元开始,直到磁通量模式写在一条选定的磁盘轨迹上,所有这些步骤都是同步的,形成了流水线。为了提高数据传输效率,每次分解(写出)或合成(读取)一个磁盘区段的数据。因此,将二进制数据映射到里德-所罗门码字以及转换为产生时变信号的磁通量,都必须在一个单位的记录轨迹长度在传感器之下通过所定义的时间间隔之内完成。记录轨迹长度的典型单位等于512字节的固定长度字节区段。
要从磁盘1读取磁通量模式的序列时,在另一条所谓的读取路径或者说通道(7、9、11和13)对它们进行处理,并且写入到缓冲区15中。由传感器3检测到的时变信号通过接口7,传送到信号提取单元9。在此探测信号并且确定它应当是二进制的1还是0。这些1和0通过路径25流出信号提取单元9之后,在格式化单元11中排列成码字。由于读取路径是确定过去记录在磁盘1上的RS码字序列,那么在没有错误和擦除的情况下,码字应当是相同的。
为了检验是否为这种情况,每个码字都通过路径27,从格式化单元送到ECC读取处理器13。同样,纠错后的输出通过路径29,从ECC处理器13写入缓冲区15中。读取路径也必须以同步数据流的方式运行,使得任何探测到的错误都必须在码字之内及时定位和校正,以便ECC读取处理器13能够接收从磁盘轨迹读出的下一个码字。可以由一个微处理器(未显示)来监测和控制缓冲区15以及读取和写入路径,以便在模式定位比如顺序读取定位中,指示路径不被拆除,从而确保效率。
图2和图3展示了一种方法和一种装置,用于N=8个区段,三个级别ECC(n=3)的一个具体实例的ML-ISF-ECC编码,依据本发明的一个优选实施例。更具体地说,图2展示了在二进制树的每个节点上存放累积校验和所用的寄存器。同样,图3展示了对于每个校验字节集,如何使用显式方程,结合三个寄存器的内容,以便产生整合格式的校验。
展示图2和图3的实例是为了说明,当前的ML-ISF-ECC编码和解码方法完全是一般的,适用于任何数目的整合区段N、任何数目的ECC级别n和任何所需的模式,以便在N个区段的一个物理区块之内使区段结合,以ML-ISF-ECC编码和解码方案提供共享的校验字节。
在本发明的一个优选实施例中,里德-所罗门编码器和解码器的实施只是一种设计选择,因为其它的编码和解码技术也可以使用。
虽然本发明的介绍是关于一种磁盘存储设备,正如已展示的实施例,但是应当理解,对于本文介绍的方法和装置可以作出多种改变,而不脱离本发明的范围和指导。因此,本发明的原理也适合在线性纠错码编码的长字节串中探测和校正错误,比如从通信系统等设备收到的串。在通信系统中,优选情况下信息的单位称为信息包,而不是信息区段,因为区段和包都表示具有预定数量信息的信息单位。
现在参看图4,它展示了一个示范性的簇区块900,包含着多个数据区段簇1、2、3、4直到N-1,带有一个奇偶簇N(也称为奇偶簇C4)。增加奇偶簇C4是为了对区段擦除提供增加的防止。
虽然本发明的介绍是关于簇和区段,应当清楚,本发明也适用于簇的条带(或组)。
为了达到这个目的,本系统提供了簇区块900,它受到奇偶簇C4的保护,该簇本身是一个完整的、C3保护的簇。这种保护有效地形成了一种第四ISF保护级别,它实施为簇区块上的一个多区段奇偶条带。更确切地说,奇偶簇C4被C1、C2和C3保护级别保护,类似于从1至N的其它簇,如上所述。
考虑一个8区段簇作为一个实例,奇偶簇或者说C4校验保护级别也具有类似的保护级别,C1、C2和C3,如同数据区段1至N-1,形成方式如下。
在簇区块900中,所有区段1-N——包括奇偶簇C4——的数据Di,i=1,…,8,其异或(XOR)和等于0,如下式所示:
同样,在簇区块900中,所有区段1-N——包括奇偶簇C4——的C1校验保护级别Ci,i=1,…,8,其异或(XOR)和等于0,如下式所示:
例如,考虑在簇区块900中,所有区段1-N——包括奇偶簇C4——的第二列数据D2,其异或(XOR)和等于0,如下式所示:
类似的XOR求和适用于簇区块900中所有的数据区段Di。
在簇区块900中,所有区段1-N——包括奇偶簇C4——的第四列C2校验保护级别的异或(XOR)和等于0,如下式所示:
同样,在簇区块900中,所有区段1-N——包括奇偶簇C4——的第八列C3校验保护级别的异或(XOR)和等于0,如下式所示:
结果,本系统使用C2和C3保护级别作为奇偶簇C4的循环冗余校验(CRC)。
此外,进一步参看图4A,本发明的一个特征是,对于簇区块900中的每一簇,包括了虚拟可读性字节920。虚拟可读性字节920不是写在磁盘上,而是编码在C3校验中。
在图4的实例中,读取8区段的簇(比如包含着不可读区段905的簇2)时,产生一个对应的可读性字节920(图4A),其中每一位都描述了对应区段的可读性状态。
在这个实例中,可读性字节920中的第一位921对应于簇2中的区段D1;第二位922对应于区段D2;第三位923对应于区段D3(905);第四位924对应于区段D4;第五位925对应于区段D5;第六位926对应于区段D6;第七位927对应于区段D7;第八位928对应于区段D8。零位表示对应的区段可读,而一位(如在区段905中)表示对应的区段不可读(或者已被擦除)。
图5是一幅流程图,展示了产生图4中C4级别奇偶簇保护的编码方法(即代码或算法)950。方法950在步骤952中由一个不可读或已擦除的区段或若干区段起始,比如由一个擦除点,无论是簇区块900中一个或多个区段的一部分还是全部。
在步骤954中,方法950以奇偶簇C4中对应的奇偶区段即910,替换不可读或已擦除的区段即905(见图4)。方法950然后重新计算该簇(即簇2)中不可读或已擦除区段905的C3校验915。
在步骤962中,方法950对从1至N的所有簇中的C3校验——包括奇偶簇C4——都实施异或运算(XOR)。然后,在步骤964中,方法950校验在步骤962中计算的、C3校验的XOR和是否等于0。
如果在步骤964中确定C3校验的XOR和等于0,方法950就进至步骤966,以对应的奇偶区段910替换不可读或已擦除的区段905。然后在步骤967中,奇偶区段910返回主机18(见图1)。
相反,如果确定C3校验的XOR和不等于0,方法950在步骤968中显示出现了一个误校正,并且不再以对应的奇偶区段910替换不可读或已擦除的区段905。在步骤969中把一条错误消息返回到主机18。这种返回错误消息是本发明的一个特征,其新颖之处在于,该错误消息为管理人员提供了例如手工校正损坏的或者不可读的区段的机会,如果需要这样做的话。避免以对应的奇偶区段910替换不可读或已擦除的区段905,也防止了错误的传播,否则它可能在很长时间内不为人知。
现在转到图6,它是一幅流程图,展示了一种擦除更新方法980,依据本发明的一种优选方法。优选情况下,擦除更新方法980是在驱动器的闲置期间实施。所以,在C1校验实时写入时,利用擦除更新方法980计算和校验C2、C3和C4校验。
擦除更新方法980在步骤982中起始于选择第一擦除轨迹,然后在步骤984中方法980搜索以便擦除该轨迹。然后在步骤986中,方法980读取这条轨迹并且校验ECC组,即C2组、C3组和C4组。
在步骤988中,方法980查询ECC组是否一致,即这些组的各个XOR和是否等于0。如果是这样,方法980就进至判断步骤990,查询是否存在更多的要擦除的轨迹。
如果在步骤990中发现仍然存在着其它的轨迹,方法980就进至步骤992,选择下一次擦除的轨迹,并且重复步骤984、986和988,如上所述。如果在步骤990中没有发现其它的擦除轨迹,方法980就在步骤999中终止。
返回步骤988,如果发现ECC组不一致,方法980就进至步骤994,重新计算C2、C3和C4校验组,然后在步骤996中对于重新计算的ECC组计算一致性。
如果在判断步骤998中没有确认重新计算的ECC组的一致性,方法980就重复步骤994和996,如上所述。不过,如果确认了重新计算的ECC组的一致性,方法980就在步骤999中终止。
应当理解,已经介绍的本发明的特定实施例仅仅展示了本发明原理的一定的应用。对本文介绍的系统和相关方法可以作出许多修改,而不脱离本发明的实质和范围。虽然为了举例而连同区段介绍了本发明,但是应当清楚,本发明也适用于任何数据集或者数据的相关集合。
Claims (45)
1.一种防止由于奇偶区段校正产生之误校正的方法,包括:
按照多级纠错码,产生区段级别校验字节;
使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正;
如果探测到了误校正,就防止以对应的奇偶区段替换任何不可读的或已擦除的区段;以及
如果没有探测到误校正,就以对应的奇偶区段替换任何不可读的或已擦除的区段。
2.根据权利要求1的方法,进一步包括按照多级纠错码,产生簇级别校验字节。
3.根据权利要求2的方法,进一步包括,使用至少某些簇级别校验字节确定在簇级别发生了由于奇偶区段校正产生的误校正;以及
其中,如果确定已经发生了误校正,就返回一条错误消息。
4.根据权利要求1的方法,其特征在于,产生区段级别校验字节包括在一簇之内对每个区段防止误校正,以及在该簇之内交叉校验误校正。
5.根据权利要求2的方法,其特征在于,按照多级纠错码产生区段级别校验字节包括产生四级校验:C1、C2、C3和C4校验。
6.根据权利要求5的方法,其特征在于,使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正包括在簇级别重新计算C3校验。
7.根据权利要求6的方法,其特征在于,使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正进一步包括,检验在簇级别已经重新计算的C3校验的完整性。
8.根据权利要求7的方法,其特征在于,检验在簇级别已经重新计算的C3校验的完整性包括,在簇区块级别计算所有C3校验的和。
9.根据权利要求8的方法,其特征在于,在簇区块级别计算所有C3校验的和包括,在簇区块级别对所有C3校验实施异或运算。
10.根据权利要求9的方法,其特征在于,在簇区块级别所有C3校验的和不等于0时,就探测到了误校正。
11.根据权利要求10的方法,其特征在于,在簇区块级别所有C3校验的和等于0时,就没有探测到误校正。
12.根据权利要求2的方法,进一步包括计算一簇中区段的可读性字节,以指明这些区段的可读性状态。
13.根据权利要求12的方法,其特征在于,可读性字节是虚拟的。
14.根据权利要求13的方法,进一步包括把虚拟的可读性字节编码在多级纠错码的指定级别中。
15.根据权利要求2的方法,进一步包括计算一个簇组中若干簇的可读性字节,以指明这些簇的可读性状态。
16.根据权利要求5的方法,进一步包括使用一种擦除更新运算产生区段级别校验字节,以及使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正。
17.根据权利要求16的方法,其特征在于,在闲置期间实施擦除更新运算。
18.根据权利要求17的方法,其特征在于,使用该擦除更新运算包括在闲置期间计算至少某些级别的校验。
19.根据权利要求18的方法,其特征在于,在闲置期间计算至少某些级别的校验包括,在闲置期间计算C2、C3和C4校验。
20.根据权利要求19的方法,进一步包括实时计算C1校验。
21.一种能够防止由于奇偶区段校正产生之误校正的存储设备,包括:
按照多级纠错码,产生区段级别校验字节的装置;
使用至少某些区段级别校验字节,确定发生了由于奇偶区段校正产生的误校正的装置;
其中如果确定装置探测到了误校正,确定装置就防止以对应的奇偶区段替换任何不可读的或已擦除的区段;以及
其中如果确定装置没有探测到误校正,确定装置就以对应的奇偶区段替换任何不可读的或已擦除的区段。
22.根据权利要求21的存储设备,进一步包括按照多级纠错码,产生簇级别校验字节的装置。
23.根据权利要求22的存储设备,进一步包括使用至少某些簇级别校验字节,确定在簇级别发生了由于奇偶区段校正产生的误校正的装置。
24.根据权利要求21的存储设备,其特征在于,产生区段级别校验字节的装置在一簇之内对每个区段防止误校正,以及在该簇之内交叉校验误校正。
25.根据权利要求22的存储设备,其特征在于,按照多级纠错码,产生区段级别校验字节的装置产生四级校验:C1、C2、C3和C4校验。
26.根据权利要求25的存储设备,其特征在于,使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正的装置,在簇级别重新计算C3校验。
27.根据权利要求26的存储设备,其特征在于,使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正的装置,进一步检验在簇级别已经重新计算的C3校验的完整性。
28.根据权利要求27的存储设备,其特征在于,检验在簇级别已经重新计算的C3校验的完整性的装置,在簇区块级别计算所有C3校验的和。
29.根据权利要求22的存储设备,进一步包括计算一簇中区段的虚拟可读性字节,以指明这些区段的可读性状态。
30.根据权利要求25的存储设备,进一步包括一种擦除更新运算,它产生区段级别校验字节,以及使用至少某些区段级别校验字节确定发生了由于奇偶区段校正产生的误校正。
31.一种保护带有至少一个奇偶区块的数据集的方法,防止由于该数据集中不一致奇偶性产生之误校正,该方法包括:
根据数据集中的信息,产生一种交叉校验;
与数据集相关联存放交叉校验;
发生擦除事件时,根据奇偶区块重建丢失的数据;
根据包括已经重建的数据的数据集,产生新的交叉校验;
将新的交叉校验与存放的交叉校验对比;
如果重建的和新的交叉校验的对比结果为一致,就确定重建的数据有效,并且允许使用重建的数据;以及
如果重建的和新的交叉校验的对比结果不一致,就确定重建的数据无效,并且指出一个错误。
32.根据权利要求31的方法,其特征在于,产生交叉校验包括按照多级纠错码产生交叉校验。
33.根据权利要求31的方法,其特征在于,数据集包括多个奇偶区段。
34.根据权利要求33的方法,其特征在于,产生交叉校验包括在该数据集的一个子集上产生一个奇偶区段。
35.根据权利要求34的方法,其特征在于,产生交叉校验进一步包括,根据该数据集的其它子集产生多个交叉校验,使得其它子集包括来自多个独特奇偶数据子集的数据。
36.一种数据存储设备,包含着以至少一个奇偶区块保护的一个数据集,该数据集也受到与该数据集相关联存放的一种交叉校验的保护,该数据存储设备包括:
根据数据集产生奇偶区块的装置;
根据数据集产生一种交叉校验的装置;
根据奇偶区块,重建由于擦除事件丢失之数据的装置;
根据重建的数据集,产生新的交叉校验的装置;
将新的交叉校验与存放的交叉校验对比的装置;以及
在新的交叉校验和存放的交叉校验的对比结果不一致时,指出一个错误的装置。
37.根据权利要求36的数据存储设备,其特征在于,产生交叉校验的装置按照多级纠错码产生交叉校验。
38.根据权利要求36的数据存储设备,其特征在于,数据集包括多个奇偶区段。
39.根据权利要求38的数据存储设备,其特征在于,产生交叉校验的装置在该数据集的一个子集上产生一个奇偶区段。
40.根据权利要求39的数据存储设备,其特征在于,产生交叉校验的装置进一步根据该数据集的其它子集产生多个交叉校验,使得其它子集包括来自多个独特奇偶数据子集的数据。
41.一种纠错码,具有指令代码而且包含着以至少一个奇偶区块保护的一个数据集,该数据集也受到与该数据集相关联存放的一种交叉校验的保护,该纠错码包括:
第一指令代码集,用于根据数据集产生奇偶区块;
第二指令代码集,用于根据数据集产生交叉校验;
第三指令代码集,用于根据奇偶区块重建由于擦除事件丢失的数据;
第三指令代码集进一步根据重建的数据集产生新的交叉校验;以及
第三指令代码集对比新的交叉校验和存放的交叉校验,并且在新的交叉校验和存放的交叉校验的对比结果不一致时,指出一个错误。
42.根据权利要求41的纠错码,其特征在于,第二指令代码集按照多级纠错码,产生交叉校验。
43.根据权利要求41的纠错码,其特征在于,数据集包括多个奇偶区段。
44.根据权利要求43的纠错码,其特征在于,第二指令代码集在该数据集的一个子集上产生一个奇偶区段。
45.根据权利要求44的纠错码,其特征在于,第二指令代码集进一步根据该数据集的其它子集产生多个交叉校验,使得其它子集包括来自多个独特奇偶数据子集的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/301,151 | 2002-11-20 | ||
US10/301,151 US6891690B2 (en) | 2002-11-20 | 2002-11-20 | On-drive integrated sector format raid error correction code system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1503456A true CN1503456A (zh) | 2004-06-09 |
CN100559718C CN100559718C (zh) | 2009-11-11 |
Family
ID=32297977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101138985A Expired - Lifetime CN100559718C (zh) | 2002-11-20 | 2003-11-11 | 盘上整合区段格式raid纠错码系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6891690B2 (zh) |
JP (1) | JP4709485B2 (zh) |
KR (1) | KR100613056B1 (zh) |
CN (1) | CN100559718C (zh) |
MY (1) | MY134625A (zh) |
SG (1) | SG115581A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182126A (zh) * | 2018-01-02 | 2018-06-19 | 联想(北京)有限公司 | 一种硬盘处理方法及电子设备 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299314B2 (en) | 2003-12-31 | 2007-11-20 | Sandisk Corporation | Flash storage system with write/erase abort detection mechanism |
TWI259356B (en) * | 2004-03-26 | 2006-08-01 | Infortrend Technology Inc | Apparatus for checking data coherence, controller and storage system having the same and method therefore is disclosed |
US7376863B2 (en) * | 2004-09-02 | 2008-05-20 | International Business Machines Corporation | Apparatus, system, and method for error checking and recovery of transmitted data in a SCSI environment |
US7437653B2 (en) | 2004-12-22 | 2008-10-14 | Sandisk Corporation | Erased sector detection mechanisms |
KR100688549B1 (ko) * | 2005-05-24 | 2007-03-02 | 삼성전자주식회사 | 비휘발성 메모리를 지원하는 온더플라이 bcc 코덱시스템 및 방법 |
US7624239B2 (en) * | 2005-11-14 | 2009-11-24 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
US7783845B2 (en) * | 2005-11-14 | 2010-08-24 | Sandisk Corporation | Structures for the management of erase operations in non-volatile memories |
EP1879310A1 (en) * | 2006-07-11 | 2008-01-16 | Harman Becker Automotive Systems GmbH | Method for decoding a digital radio stream |
US20080320253A1 (en) * | 2007-06-19 | 2008-12-25 | Andrew Tomlin | Memory device with circuitry for writing data of an atomic transaction |
US8266391B2 (en) * | 2007-06-19 | 2012-09-11 | SanDisk Technologies, Inc. | Method for writing data of an atomic transaction to a memory device |
US8775758B2 (en) * | 2007-12-28 | 2014-07-08 | Sandisk Technologies Inc. | Memory device and method for performing a write-abort-safe firmware update |
CN102023902B (zh) * | 2010-12-28 | 2013-05-08 | 创新科存储技术有限公司 | 一种磁盘阵列重建方法 |
US8856618B2 (en) | 2012-10-04 | 2014-10-07 | HGST Netherlands B.V. | Scalable repair block error correction for sequential multiple data blocks in a magnetic data storage device |
US8472295B1 (en) | 2012-10-05 | 2013-06-25 | Lsi Corporation | Selective error protection over multiple sectors |
US9286159B2 (en) | 2013-11-06 | 2016-03-15 | HGST Netherlands B.V. | Track-band squeezed-sector error correction in magnetic data storage devices |
IN2013KO01274A (zh) * | 2013-11-08 | 2015-05-15 | Lsi Corp | |
US9229813B2 (en) | 2014-03-06 | 2016-01-05 | HGST Netherlands B.V. | Error correction with on-demand parity sectors in magnetic data storage devices |
KR102572357B1 (ko) | 2016-02-03 | 2023-08-29 | 삼성전자주식회사 | Raid-6 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10275309B2 (en) | 2017-04-26 | 2019-04-30 | Western Digital Technologies, Inc. | Multi-layer integrated zone partition system error correction |
CN108932176B (zh) * | 2017-05-27 | 2021-09-21 | 杭州海康威视数字技术股份有限公司 | 数据降级存储方法及装置 |
CN108845957B (zh) * | 2018-03-30 | 2020-10-09 | 杭州电子科技大学 | 一种置换和回写自适应的缓冲区管理方法 |
JP2020042868A (ja) | 2018-09-06 | 2020-03-19 | 株式会社東芝 | 磁気ディスク装置及び磁気ディスク装置のデータリード方法 |
CN112015328B (zh) * | 2019-05-30 | 2022-05-31 | 武汉海康存储技术有限公司 | 第5级独立磁盘冗余阵列的创建方法及装置 |
EP4050608B1 (en) | 2021-01-14 | 2023-06-28 | Changxin Memory Technologies, Inc. | Comparator with xor and xnor logic circuits |
CN114765055B (zh) * | 2021-01-14 | 2024-05-03 | 长鑫存储技术有限公司 | 纠错系统 |
US11990201B2 (en) | 2021-01-14 | 2024-05-21 | Changxin Memory Technologies, Inc. | Storage system |
EP4071762B1 (en) | 2021-01-14 | 2023-07-05 | Changxin Memory Technologies, Inc. | Error correction system |
CN114765056B (zh) | 2021-01-14 | 2024-07-12 | 长鑫存储技术有限公司 | 存储系统 |
US11599417B2 (en) | 2021-01-14 | 2023-03-07 | Changxin Memory Technologies, Inc. | Error correction system |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4495623A (en) * | 1982-09-02 | 1985-01-22 | Discovision Associates | Digital data storage in video format |
US4916701A (en) * | 1988-09-21 | 1990-04-10 | International Business Machines Corporation | Method and system for correcting long bursts of consecutive errors |
JP2600373B2 (ja) * | 1989-05-11 | 1997-04-16 | 松下電器産業株式会社 | 光ディスク記録再生装置 |
JP2721099B2 (ja) * | 1991-12-18 | 1998-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 |
US5737344A (en) * | 1995-05-25 | 1998-04-07 | International Business Machines Corporation | Digital data storage with increased robustness against data loss |
KR20000016425A (ko) * | 1997-04-07 | 2000-03-25 | 이데이 노부유끼 | 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법 |
KR100611954B1 (ko) | 1999-07-08 | 2006-08-11 | 삼성전자주식회사 | 고밀도 디스크를 위한 에러 정정방법 |
KR100691065B1 (ko) * | 2000-05-03 | 2007-03-09 | 엘지전자 주식회사 | 고밀도 광 기록매체에서의 데이터 에러정정 코드생성방법과 이에 의한 에러 정정 방법, 그리고 그 장치 |
JP4054182B2 (ja) * | 2001-09-25 | 2008-02-27 | 株式会社東芝 | 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ |
-
2002
- 2002-11-20 US US10/301,151 patent/US6891690B2/en not_active Expired - Lifetime
-
2003
- 2003-10-22 MY MYPI20034023A patent/MY134625A/en unknown
- 2003-10-31 KR KR1020030076685A patent/KR100613056B1/ko not_active IP Right Cessation
- 2003-11-04 SG SG200306463A patent/SG115581A1/en unknown
- 2003-11-11 CN CNB2003101138985A patent/CN100559718C/zh not_active Expired - Lifetime
- 2003-11-13 JP JP2003384262A patent/JP4709485B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182126A (zh) * | 2018-01-02 | 2018-06-19 | 联想(北京)有限公司 | 一种硬盘处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP4709485B2 (ja) | 2011-06-22 |
CN100559718C (zh) | 2009-11-11 |
MY134625A (en) | 2007-12-31 |
US20040095666A1 (en) | 2004-05-20 |
KR20040044103A (ko) | 2004-05-27 |
JP2004171751A (ja) | 2004-06-17 |
SG115581A1 (en) | 2005-10-28 |
US6891690B2 (en) | 2005-05-10 |
KR100613056B1 (ko) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100559718C (zh) | 盘上整合区段格式raid纠错码系统和方法 | |
US6903887B2 (en) | Multiple level (ML), integrated sector format (ISF), error correction code (ECC) encoding and decoding processes for data storage or communication devices and systems | |
JP2514289B2 (ja) | デ―タの修復方法およびシステム | |
US7231578B2 (en) | Techniques for detecting and correcting errors using multiple interleave erasure pointers | |
KR101534888B1 (ko) | 내고장성 비휘발성 집적 회로 메모리 | |
US7340665B2 (en) | Shared redundancy in error correcting code | |
US7131050B2 (en) | Optimized read performance method using metadata to protect against drive anomaly errors in a storage array | |
CN104898986A (zh) | 在磁数据存储设备中利用按需奇偶扇区的纠错 | |
CN1881477A (zh) | 编码数据的错误检测和校正 | |
CN1828754A (zh) | 在调制编码数据中实现非均匀约束的技术 | |
JPH05197579A (ja) | データ列を訂正する方法及び装置 | |
CN1040698A (zh) | 错误校正电路 | |
WO1993018589A1 (en) | Data recovery after error correction failure | |
CN1647392A (zh) | 用于将附加纠错层嵌入到纠错码中的方法和设备 | |
US20050060630A1 (en) | Direct partial update of CRC/ECC check bytes | |
CN100568354C (zh) | 用于对多层旋转存储介质记录和读取数据的方法和系统 | |
CN100539445C (zh) | 将纠错附加层嵌入纠错码的方法和装置 | |
Dholakia et al. | Analysis of a new intra-disk redundancy scheme for high-reliability RAID storage systems in the presence of unrecoverable errors | |
US20040030737A1 (en) | Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors | |
US6615384B1 (en) | Encoding/decoding method and apparatus and disk storage device | |
CN1293562C (zh) | 数据读取装置与方法 | |
CN1628351A (zh) | 交错数据纠错方法及纠错装置 | |
CN1282186C (zh) | 数据读取方法 | |
CN1701519A (zh) | 联合译码可能损坏的码字的方法 | |
TWI392239B (zh) | Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20091111 |
|
CX01 | Expiry of patent term |