校正长猝发连续错误的方法与系统技术方案

技术编号:2893296 阅读:235 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种校正磁性介质中多字节错误的方法,在该磁性介质上,数据是记录在由数据字节与对应的校验字节子块所组成并包括在读时用于生成错误校正码(ECC)校正子的ECC的可变长度块中的。在每块的末尾写入了N个顺序奇偶校验字节的一个序列。在读时,ECC校正子生成以后,将由读出的数据字节和校验字节计算而得的奇偶校验字节与写入的奇偶校验字节进行比较而生成奇偶校正子。(*该技术在2009年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及用于校正带有记录间间隔的计数器-键-数据(CKD)或定长块(FB)环境中从磁性介质上读出的数据中的多字节错误的一种方法与系统,尤其涉及能够应用两级错误校正码(ECC)校正子校正一般的错误并也能校正由于较大的信号干扰而偶而长猝发的连续错误的一种方法与系统。应用指示器校验字节以及一次或多次的奇偶校验对读自磁性介质的数据中的一般错误进行校正是已知的。这些错误校正码(ECC)错误检测与校正功能是在写和读两种操作中进行的。这些实行错误校正的方法随着错误所在的位置,硬件所能提供的校正能力,系统错误恢复过程等的不同而改变。IBM3380型号J与K磁盘文件应用一种两级ECC校正错误并能校正读自磁盘的每一个子块中的任何牵涉到两个连续字节(16位)的单猝发错误以及牵涉到一个块中的子块中的一个4个连续字节(32位)的任何错误。然而,存在这样的事例,干扰的持续时间及由此而产生的错误段可长达16个字节或更长。这比“一般”的错误猝发为长而且长得超出迄今为止所能得到的两级ECC校正能力的范围,除非建立一种非常浪费的设计。虽然IBM3850(每量存储器能够校正从磁带数据读取中的长猝发错误,所用的该方法和装置却不能同时校正使用两级ECC的磁盘文件中的一般错误和长猝发错误。这便需要有一种方法和系统能够同时校正从磁性介质(例如磁盘)中数据读取时的一般错误以及由于较大的信号干扰而产生16或更多个连续字节的长猝发错误。朝着这一目标,本专利技术公开了一种方法和系统,不但能够校正被两级ECC所复盖的一般错误,而且也能校正以可变长度或固定长度块中的子块的形成记录数据的磁盘介质中的长达N个连续字节的长猝发错误。这些块中包括数据字节和校验字节并且包括在读取时生成ECC校正子的ECC。在每一块的后尾写入了由N个顺序奇偶校验字节组成的一个序列。然后,在读取时,生成ECC校正子以后,经过将从读得的数据字节和校验字节计算出的奇偶校验字节与所写入的奇偶校验字节相比较而生成奇偶校正子。响应一个长猝发错误,生成一个指示器指向一个块中可能受到该错误影响的N个连续字节中的首字节。然后,不依赖于该指示器所标识的N个字节的一些校正子可用来校正任何可校正的错误。随后,根据这样校正的错误调整奇偶校正子。经过校正后的奇偶校正子接着被用于校正由该指示器所指示的N个字节中可校正的错误。再根据由经过调整的奇偶校正子所校正的错误调整一切未曾使用过的ECC校正子;然后使用调整以后的ECC校正子去校正当时剩下的所有可校正错误。附图说明图1展示了应用本专利技术的一种两级ECC格式;图2展示了如何从一个子块中N个(假定为16)交错的数据字节与校验字节的连续有序集合中计算每一个奇偶字节以组成N奇偶群;以及图3展示了生成写入的奇偶字节和读出时的奇偶字节校正子的逻辑的一个实施例;以及图4A,4B,4C与4D示出了可以校正映像错误的各种错误状态。展示了对美国专利4,525,838,4,703,485,以及4,706,250中所公开的那种两级ECC系统进行改进的实现本专利技术的方法。上述这些专利中公开了一种两级多字节错误校正系统,在操作时能校正一个数据块的每个子块中多达t1个错误和所述块中的t2个错误,其中t2>t1。在美国专利4,706,250中所描述的并在图1中所示出的两级ECC系统中,数据是记录在可变(或固定)长度的块中,每一个块包括若干子块,除了最后一个子块的长度可能不同外,其余的子块最好具有相同的长度。每一个子块包括可变(或固定)数目的数据字节以及用于第一级错误校正的6个子块校验字节S。在块中最后一个子块的末尾是用于数据完整性校验的4个CRC(循环冗余码校验)字节C。接着是用于二级错误校正的二个块校验字节B。根据本专利技术,在一个块与下一块之间的间隔(即块间节隔)中,在每一个块的末尾写入N个奇偶校验字节P所组成的一个序列。奇偶性字节P0紧随在该区域中的最后一个字节(即最后的块校验字节B1)之后。如图2中所示,这些奇偶校验字节P构成跨越N个连续有序群数据字节,校验字节和循环冗余码校验字节的交错奇偶校验;即,在每个有序群中的字节都是间隔N个字节的,而在计算这些奇偶字节所附着在其后的计数器/键/数据(CKD)区域中的位移量时该块中所有的字节都是计算在内的。数字N是予先选定的等于最长的预测猝发连续错误,使得任何单个的长猝发错误不会影响任何一个N奇偶群中多于一个的字节。如奇偶校验的惯例一样,所有的字节都进行了异或运算(XOR)。本说明书和权利要求中所用的“字节”一词定义为包含一个或多个位。响应可能长达N个连续字节的一个错误猝发,生成一个指示器以指向一个块中可能受到该长猝发错误所影响的N个连续字节中的第一个字节。该指示器可能是一个事后指示。例如,如果可以断定一个长猝发错误不会开始在十个字节以前,则适当的最早字节指示应当是在断定该错误时所读的那一个字节以前的十个字节。在图2中,为了示例,假定N为16,因此奇偶字节P0至P15写在该块中最后一个字节(块校验字节B1)紧接着的后面。从而,包括P0的奇偶群是子块X的字节D2,D18,S0和子块Y的字节D10与D16的异或运算结果;而包括P11的奇偶群则是子块X的字节D13,D29和子块Y的字节D5和D21以及C1的异或运算结果。图3描绘了一个异或门(XOR)20,一个奇偶移位寄存器21以及多路复用器22和23,每一个都是一位宽。寄存器21具有N单元的长度(前面已指出,假定为16)。假定移位寄存器21已以通常的方式初始时便清为零。为了写入一个磁性介质,将多路复用器22和23设置或把写入数据线W连接到XOR20并且经由数据输入线DI与多路复用器23将每块的所有字节BL选通到输出端,以写入直接访问存储器设备(未示出)的一个选定的磁道上。从而,输入数据包括所有数据字节和直到B1的随后的适当校验字节,如图1所示。在输入数据的末尾,多路复用器22和23被设置成将线φ连接到XOR20并且将奇偶移位寄存器21中的N个奇偶字节P。至P15经由线SR选通到输出端。为从磁性介质上读取数据并计算其奇偶字节校正子,多路复用器22和23被设置成将读数据线R连接到数据输入线DI并且经由线DI将每块的所有字节BL选通到输出端。此后,多路复用器22和23便被设置为将N个奇偶字节P0至P15从线R上选通到OOR20,并且通过线X将XOR20的输出选通到输出端。最后的输出便是块的BL个字节和附在后面的16个奇偶字节校正子。在操作中,假定在读入时检测到了错误,但都不是长猝发错误。在这种情况下,错误校正及验证将按常规方式进行,如在引用的先有技术中所说明的使用子块校验,块校验和循环冗余码校验校正子。在子块级可校正多达t1个错误和检测t1+c个错误。此后,在块级在该块的任何一个子块中可以校正多达t2个错误。如果存在的错误超过能够校正的数目,便放弃校正并按无法校正对待这些错误。本专利技术并不包含任何这一类的结构和操作方式。注意在没有长猝发错误时,不需要读取奇偶字节。因而,在没有长猝发错误的正常情况下,可以不读取奇偶字节而开始准备处理下一个块,通常这种处理是在读头经过块间间隔时完成的,块间间隔便是为此目的而留出的非记录区。根据本专利技术的一个特点,奇偶字节将被记录在这一块间间隔中,而只当长猝发错误需要修复本文档来自技高网...

【技术保护点】
一种校正磁性介质中的多字节错误的方法,在该磁性介质上数据是记录在由数据字节与对应的校验字节的子块所组成并包括在读取时生成错误校正码校正子的错误校正码(ECC)的可变长度块中的,其特征在于下述步骤:  在每一块的末尾写入N个顺序奇偶校验字节的一个序列;  在读时,生成ECC校正子块后,将从读出的数据字节与校验字节中计算出的奇偶校验字节与写入的奇偶校验字节进行比较生成奇偶校正子;  响应一个长猝发错误状态,生成一个指示器指向一个块中可能受该错误猝影响的N个连续字节中的首字节;  使用不受指示器所标识的N个字节影响的任何ECC校正子,校正所有不受这些被标识的字节影响的子块中的可校正的错误;  按照这样校正的错误调整该奇偶校正子;  使用调整后的奇偶校正子,校正指示器所指示的N个字节中的错误;  根据用该调整后的奇偶校正子所校正的错误调整任何未使用过的ECC校正子;以及  使用调整后的ECC校正子,校正所有剩下的可校正错误。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:约翰斯科特埃根伯格保罗霍吉斯阿温德摩蒂拜帕特尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1