磁盘设备及其错误纠正方法

文档序号:6747247阅读:398来源:国知局
专利名称:磁盘设备及其错误纠正方法
技术领域
本发明涉及一种用作计算机的辅助存储器或存储器装置的磁盘设备,并且涉及一种纠正与这种磁盘设备有关的错误数据的方法。
包括个人计算机(PC)和办公计算机的自动电子设备,由于最新技术进步的支持,正在迅速减小尺寸和增强功能,这又加速了紧凑而快速的大容量存储器设备或文件系统(如5.2英寸、3.5英寸、和2.5英寸硬盘驱动器)的发展。
已经付出了很大努力来提高磁盘上的记录数据密度、和增大磁盘的主轴转速,由此提高往来于磁盘设备的数据传送速率。众所周知,由磁阻(MR)磁头从磁盘复制或读出的数据电平与磁盘的线速度或转动速度无关,从而MR磁头在读数据的同时能保持高信号电平。因此,MR磁头在这一领域变得越来越重要。
然而应该注意,MR磁头在读数据时由于作用在MR磁头上的负压力,保持浮动在磁介质上方仅30-50nm。在读操作之前,磁头停在也处于静止的磁盘表面上。如果磁盘具有非常平的象镜子一样的表面,则磁头粘着在磁盘表面上,并且保持由磁盘捕捉住,即使磁盘已经开始其转动之后也是如此。为了防止这种捕捉,磁盘在其表面上提供有通过适当表面变毛或纹理技术形成的微小凸出体。
然而,这样一种变毛过程在磁盘某些磁道上能形成少量意外大的凸出体。那么每当磁头在磁道上通过时,磁头将撞击在这些较大的凸出体上。当在读/写操作期间磁盘受热且磁盘表面变形时,或者当磁头热变形时,或者当在操作期间整个磁设备受到强烈的机械冲击时,也能发生磁头与磁盘的碰撞。
当这样一种碰撞发生时,MR磁头暂时受热几微秒。因而受热MR磁头的电阻改变。
在读操作期间,MR磁头在恒定电流通过其磁阻元件的同时,在磁盘上经受相对运动。如果改变外部施加到其上的磁场,则磁阻元件改变其电阻。所以,MR磁头通过检测磁阻元件的电阻变化,能以磁阻元件两端的电压变化的形式读出磁盘上的磁记录信息。因此,如果磁头与形成在磁盘上的凸起物或凸出体碰撞,则磁头暂时受热并且其电阻改变。这就导致电压的相应变化和从磁盘上复制(即读)的信息中的错误。这种瞬时电压变化(持续几微秒)能导致多达几十字节的错误数据。
当上述这样一种瞬时热事件出现时,在磁头输出中将会有瞬时波形或DC偏置,这将使从磁盘读出的数据混乱,并且使数据在后面的译码阶段不可恢复,由此产生不可恢复的读错误。在MR磁头中观察到的这种类型的错误叫作TA或热糙度(thermal asperity)。
在先有技术中一种避免热糙度的熟知对策是,在数据译码电路中使用一个高通滤波器(HPF),以除去复制信号的低频分量,以便抑制瞬时波形的产生并促进受扰信号的快速收敛。在先有技术中一种保持复制信号的已知可替代方法是,或者提供一个使数据译码电路瞬间保持复制信号幅值的自动增益控制(AGC)电路,或者提供一个暂时阻止复制信号跟随DC偏置并变得与时钟异相的锁相环(PLL)电路。
一种另外的已知技术是处理由上述电路不能纠正的错误,该技术借助于一个电路(称为ECC电路)来恢复正确数据,该电路提供在用来动态地(on the fly)执行所谓错误纠正码(ECC)的译码电路中。
然而,大多数最新的磁盘设备具有远高于常规的数据传送速率,如果热糙度经常发生,则由于热糙度丢失的数据量会超过由ECC电路所能纠正的数据长度。
例如,对于普通的磁盘设备估计通过ECC电路所能纠正的数据长度至多约9字节,而对于大多数高级的磁盘设备最多为20字节。热糙度的持续时间具有几微秒的量级,这相当于约几十字节的数据损失,这超过了今天ECC电路的错误纠正能力,所以ECC电路不能处理这样的错误。
因此,本发明的一个目的在于提供一种错误数据纠正设备,该错误数据纠正设备可以确定从磁记录介质复制或读出的数据中的错误位置和长度。
本发明的另一个目的在于提供一种方法,该方法可以确定从磁记录介质读出的数据中的错误位置和长度。
本发明的另外一个目的在于提供一种磁盘设备,该磁盘设备包括一个带有用来从磁记录盘读出数据的MR元件的MR磁头,该磁盘设备装有用来检测由MR元件电阻的突然变化在数据中引入的读错误,MR元件电阻的突然变化是由MR磁头与磁记录盘短暂碰撞引起的。
本发明的又一个目的在于提供一种磁盘设备,该磁盘设备除了上述用来检测读错误的装置外,还装有用来恢复由错误丢失的数据的数据恢复装置。
本发明的又一个目的在于提供一种方法,该方法用来检测上述磁盘设备中涉及的错误数据。
本发明的又一个目的在于提供一种方法,该方法用来检测和纠正上述磁盘设备中涉及的错误数据。
根据本发明的一个方面,提供一种错误数据纠正设备,包括一个比较器,把代表从磁记录介质读出的数据并输入该比较器的一个第一信号(称作数据或数据信号)、与输入该比较器的具有一个预定阈值电平的一个第二信号(称作阈值信号)相比较,当数据信号的电平超过阈值信号时用于产生一个输出;及一个错误信号发生电路,用来利用比较器的输出和数据信号产生一个错误信号。
该错误信号发生电路设备可以包括利用错误信号来确定包括在数据信号中的错误数据的位置的装置。
错误数据包括主要由热糙度产生的瞬态波形。
在错误数据纠正设备中,错误信号发生电路适用于选择比较电路的输出、从磁记录介质得到的数据信号、或数据信号与比较器输出的逻辑和中的任一个,并且作为错误信号输出选择的信号。
错误数据纠正设备还可以包括一个计数器电路,该计数器电路带有用来接收错误信号和一个读时钟信号的输入端。该计数器从数据开始累计读时钟。由到错误信号发生的累计可以得到错误数据在数据中的位置。此外,错误数据纠正设备还可以包括一个与计数器电路相连的寄存器电路。
错误数据纠正设备根据错误信号可以确定包括在数据中的错误数据长度。
错误数据纠正设备可以带有另外一个计数器,该计数器接收来自错误信号发生电路的错误信号和来自时钟的读时钟信号,并且在产生错误信号的整个期间计数读时钟。因而,由计数可以确定错误数据的长度。
另外一种错误信号可以由本发明的另一种装置产生,该装置包括一个数据复制电路,用来复制从磁记录盘读出的数据;及一个译码器,供用来按照一给定组运行长度规则在复制数据的位上进行数据格式转换的数据复制电路之用,以产生一个错误信号。
在这种情况下,译码器可以以8/9(0,n/m)数据格式的形式采用零运行长度规则。
根据本发明的另一个方面提供一种数据错误纠正设备,包括一个比较器,把代表从磁记录介质读出的数据并输入该比较器的一个第一信号(数据信号)、与输入该比较器的具有一个预定阈值电平的一个第二信号(阈值信号)相比较,当数据信号的电平超过阈值信号的电平时用于产生一个输出;及一个错误信号发生电路,用来利用所述比较器的输出和所述数据信号产生一个第一错误信号;一个译码器,供用来在复制数据的位上进行数据格式转换的数据复制电路之用;根据施加到所述复制数据上的运行长度规则产生一个第二错误信号的装置;及用来选择第一和第二错误信号的任一个的装置。
一种磁盘设备可以包括上述错误数据纠正设备的任一种。
在本发明的又一个方面,提供一种磁盘设备,包括一个译码电路,用来利用部分响应最大似然技术译码信号;一个比较器,当从磁盘复制的数据信号的电平超过一个预定阈值信号电平时用于产生一个输出信号;利用比较器的输出和译码数据,用来确定由译码器译码的数据中所包括的错误数据位置和长度的装置;硬件装置,用来在错误数据上执行动态的硬件ECC;及软件装置,用来在错误数据上执行软件ECC;及当错误数据的长度比由硬件装置可纠正的长度长时,用来选择软件ECC纠正装置否则选择硬件装置的装置。
在本发明的又一个方面,提供一种磁盘设备,包括一个译码电路,用来利用部分响应最大似然技术译码信号;一个译码器,供用来在复制数据的位上进行数据格式转换的数据复制电路之用;根据施加到所述复制数据上的运行长度规则产生一个错误信号的装置;根据从错误信号发生装置输出的错误信号和由译码电路利用部分响应最大似然技术译码的数据,确定错误数据位置和长度的装置;硬件装置,用来在错误数据上执行动态的硬件ECC;及软件装置,用来在错误数据上执行软件ECC;及当错误数据的长度比由硬件装置可纠正的长度长时,用来选择软件ECC纠正装置否则选择硬件装置的装置。
在本发明的又一个方面,提供一种错误纠正方法,包括步骤把从磁盘复制的数据信号与一个预定阈值信号相比较,以便当数据信号的电平超过阈值信号的电平时产生一个输出信号;根据输出信号和数据信号产生一个与包括在数据信号中的错误数据有关的错误信号;及根据错误信号确定错误数据的位置和长度。
在本发明的又一个方面,提供一种本发明的错误纠正方法,包括步骤确定包括在从磁盘复制的数据信号中的错误数据的位置和长度;确定所述错误数据是否具有由动态的ECC可纠正的长度;当动态的ECC适用时,在错误数据上执行动态的ECC;及否则在错误数据上执行软件ECC。


图1是方块图,表示根据本发明的磁盘设备。
图2是图1所示磁盘设备的、用来产生一个代表热糙度的错误信号的一个错误信号发生电路的方块图。
图3A-D表示记录在磁盘上的数据格式和在图1数据复制电路的各节点出现的信号的计时图,其中图3A是磁盘24上的数据格式;图3B是复制的NRZ数据;图3C是读时钟RCLK;及图3D是读门信号RG。
图4A-B是流程图,表示一个用于确定错误数据的起始位置和长度、和确定使用哪一个错误纠正装置的程序。
图5表示在由热糙度(TA)引起的错误数据的检测和纠正中有关的波形,其中图5A是磁盘上的一种数据格式;图5B表示一个阈值信号Th和一个从AGC放大器接收的并供给到一个TA电平比较器的模拟信号;图5B还表示在TA事件之后模拟信号中的瞬态分量;图5C表示TA电平比较器的输出信号;图5D表示从一个8/9译码器和解密器(de-scrambler)接收的NRZ数据;图5E表示从一个PLL电路接收的读时钟RCLK的定时图;图5F表示一个读门信号RG;图5G表示从一个错误信号发生电路输出的错误信号;及图5H表示从一个计数器电路输出的信号。
图6表示在图1所示的硬盘控制器中提供的计数器电路和一个寄存器电路的终端布置。
图7A是磁盘上的数据格式;图7B表示包含大量错误的复制数据的一个NRZ数据部分;图7C表示图7B两个错误1和2的上舍入;图7D表示图7B中所示的三个错误1、2和3的上舍入;及图7E代表一个错误信号。
图8A是具有8/9(0、4/4)格式的数据序列的一个例子;图8B表示图8A中所示序列的偶数部分;图8C表示图8A中所示数据的奇数部分;图8D表示一个锁存器错误信号;及图8E表示一个四级移位寄存器的输出。
现在参照附图通过实例,将描述一种用来纠正从磁盘装置和一个设备复制的数据中的错误、以实施本发明的错误纠正方法,其中在所有附图中类似的标号代表类似的元件。图1表示根据发明的一种磁盘设备的整个布置的方块图。这里所示的磁盘设备具有通常称作3.5英寸硬盘驱动器的类型,3.5英寸硬盘驱动器用作用于个人计算机(PC)的一个服务器外围设备或辅助存储器或存储器。
方块图中所示的磁盘设备包括一个硬盘控制器(HDC)2,经一个接口1与一个主计算机(未表示)相连接,用来控制一个硬盘24;一个微控制器单元(MCU)7,在执行对磁盘24的读/写操作时用来控制磁盘设备的机械运动;及一个磁盘机壳(DE)16,在其密闭的壳体中包括一个磁盘24和一个内装读/写磁头18。磁盘机壳16带有用于经读/写控制器14与硬盘控制器2、和经一个VCM(音圈电机)/主轴控制器15与MCU 7交换数据的连接。
除磁盘机壳16外的所有这些元件每一个都由安装在一块印刷电路板上的几个LSI组成。为了把元件保持在清洁状态,整个设备装在一个带有除尘机构的壳体中。
存储在磁盘设备中的数据借助于16位总线接口1在主计算机(未表示)与硬盘控制器2之间传送,该数据转换成一个8位NRZ总线信号22,8位NRZ总线信号22由读/写控制器14进一步转换成适于在磁盘24上记录的9位数据。接口1可以是熟知的SCSI(小型计算机系统接口)。
现在在下面将描述图1所示元件的每一个。
硬盘控制器(HDC)2带有一个数据格式控制器3、一个主总线接口控制器4、和一个数据缓冲器控制器5、及一个ECC控制器6。
数据格式控制器3经接口1从主计算机(未表示)接收数据,并且以适于记录在磁盘24上的形式编码该数据。它还把从磁盘24读出的数据译码成适于经接口1传送到主计算机的形式。尽管在图1中没有表示,但数据格式控制器3带有联系图3将简短描述的一个计数器电路45和一个寄存器电路46。
主总线接口控制器4控制主计算机与磁盘设备之间的接口。
数据缓冲器控制器5与一个用作数据缓冲器的RAM(随机存取存储器)12相连,该数据缓冲器用来暂时存储从磁盘24发送到硬盘控制器2的数据,而后在适当时间经接口1把该数据传送到主计算机,或者在以后的适当时间发送到机壳16之前,暂时存储从主计算机经接口1接收的、并送向硬盘控制器2的数据。
ECC控制器6是一个常规的硬件错误纠正电路,该硬件错误纠正电路能够纠正最多9-12字节的错误(一种新型先进的纠正电路能处理高达20字节的较多错误)。因此,使用这样的错误纠正电路的磁盘设备不能处理超过20字节的错误。
在ECC控制器6中执行的错误纠正程序中,数据一般顺序地从磁盘读出,并且对在数据中发现的错误由一个硬件装置进行动态纠正。就是说,在这样的动态错误纠正装置中,如果在一次读取中得到的数据总长度是“2X字节”,则该电路的最大可纠正错误长度或纠正能力是“X字节”,从而长度超过“X字节”的错误不能由硬件装置动态纠正。
还有一种软件纠正装置,称为“软件ECC”,它通过把从磁盘24读出的长度为“2X字节”的所有数据一次存储在RAM(未表示)中、并且然后利用一种软件在整个数据上进行错误纠正操作,来纠正错误。软件ECC的纠正能力是2X字节。
如果已知错误的位置(即根据数据开始直到错误的扇区数量)和错误本身的长度,则可以便利地完成这样的软件ECC。然而,在通过软件的ECC纠正期间,硬盘必须闲置(不能使用),并且抑制读操作,这能导致额外开销。
微控制器单元(MCU)7包括一个信号控制逻辑电路9、一个A/D转换器10、一个A/D转换器11、和一个用来控制整个磁盘设备的CPU8,所有元件都安装在一个LSI芯片上。
CPU8还控制作为整个磁盘设备的这些元件,如经VCM/主轴控制器15的一个VCM驱动器19、一个主轴电机20、以及联系图4将要描述的多任务操作和数据纠正操作。CPU8与一个存储用于CPU的程序的ROM(只读存储器)13相连接。提供信号控制逻辑电路9以处理用于CPU8的逻辑操作。
磁盘机壳(DE)16带有一个底和一个盖(未表示),用来在其中装入用于磁记录信息的磁盘24、一个用来读/写磁盘24的信息的读/写磁头18、一个用来把磁盘24与磁头18之间交换的信号适当放大到一个预定电平的读/写前置放大器17、一个用来转动其上安装有磁盘24的主轴的主轴电机20、及一个用来把磁头18定位在磁盘24上的希望位置(圆柱体)的音圈电机(VCM)19。
这里所示实例中的磁盘24包括10个每个在其相对侧上形成的薄磁层的铝合金盘,并且可以存储高达18GB(千兆字节)的信息。读/写磁头18是由一个用于读取的磁阻(MR)磁头和一个用于写的电感磁头组成的组合磁头。前置放大级17可以把由读/写磁头18读出的信号放大到一个预定电平。主轴电机20是一个具有长寿命的DC无刷电机。音圈电机(VCM)19具有低惯性矩和高转矩特性,从而它可以迅速把读/写磁头18运动到磁盘24的希望位置。图2表示当在磁盘设备中TA发生时用来产生一个错误信号的电路的方块图。在电路上部中的方块与一个数据复制电路系统有关,而在下部中的方块与一个数据读电路系统有关。如图1中所示,错误信号发生电路与磁盘(在图2中用阴影块表示)24、读/写磁头18、前置放大级17、和读/写控制器14有关。
读/写磁头18带有一个用来从磁盘24读或复制信息的MR磁头25。
前置放大级17带有一个用来放大从MR磁头25接收的读数据的前置放大器27。
读/写控制器14包括一个自动增益控制(AGC)放大器29,用来控制从前置放大器27接收的复制模拟信号的幅值;一个(1+D)滤波器30;一个取样器和均衡器31,用来取样从(1+D)滤波器30接收的模拟信号,并用来校正信号的波形;一个维特比检测电路32,用来对来自取样器和均衡器31的数字读数据进行校正;一个8/9译码器和解密器电路33,用来译码和解密从维特比检测电路32接收的数据,以在其输出端产生一个不归零(NRZ)数据22;一个锁相环(PLL)34,当接收到从取样器和均衡器31接收的数字读数据时,用来向AGC放大器29、取样器和均衡器31、8/9译码器和解密器33提供读时钟RCLK41;一个热糙度电平比较器40,接收来自AGC放大器29的一个模拟信号和一个预定阈值信号Th,并且当读数据的绝对电平超过阈值时接通以输出一个信号;一个错误信号发生电路35,用来响应TA电平比较器40的输出信号和从8/9译码器和解密器33接收的NRZ数据22,产生一个错误信号23。
一个由(1+D)滤波器30、取样器和均衡器31、维特比检测电路32组成的译码电路使用一种4级PRML(部分响应最大似然)法,该方法作为一个用来从读数据检测非普通数据的程序是已知的。这种PRML方法采用一种能恢复嵌在干扰信号中的希望读数据的部分响应方法、和一种由噪声干扰的信号产生最大可能数据的维特比译码方法。
AGC放大器29是一个解调电路,用来把从前置放大器27接收的模拟信号放大到基本上恒定的电平。如果热糙度发生,则AGC放大器29防止被放大的读数据幅值中的干扰。
(1+D)滤波器30由一个低通滤波器(LPF)和一个升压电路组成。滤波器30从AGC放大器29接收复制信号,并且在延迟1位后把复制信号反馈到复制信号。
取样器和均衡器31取样从磁盘24复制的模拟信号,并且把取样数据生成1或0,由此生成数字读数据。
维特比检测电路32进行维特比译码处理,该处理是一组找到最大可能位的操作。如果错误长度是几位,则维特比检测电路32一般能纠正该错误。
8/9译码器和解密器33把由取样器和均衡器31产生的9位数据转化或转换成8位NRZ数据,并且进一步解密由8/9编码器和保密器(scrambler)36编码处理的数据。
PLL电路34产生一个与从取样器和均衡器31接收的复制数据同相的VCO时钟,并且把时钟信号发送到AGC放大器29、取样器和均衡器31、维特比检测电路32、及8/9译码器和解密器33。取样器和均衡器31把该VCO时钟信号用作取样时钟(也称作读时钟)。8/9译码器和解密器33使用与VCO时钟同步的PLL数据和在下降区域(如图3A中所示对应于数据的PLO)上升的读门信号RG42,以译码复制的数据。8/9译码器和解密器33把译码的数据作为NRZ数据与读时钟RCLK41同步地传送到硬盘控制器(HDC)2。读门信号RG42指示读操作的执行,从而当硬盘控制器2传送一个读门信号RG42时能检测读操作。
此外,为了防止由于热糙度造成的复制数据与时钟的不同步,当热糙度发生时,PLL电路34可以暂时保持数据与时钟的同步。
一接收到来自AGC放大器29的模拟读数据和一个阈值信号Th,TA电平比较器电路40就接通,在其输出端产生一个TA电平信号。
错误信号发生电路35接收TA电平比较器电路40的输出和来自8/9译码器和解密器33的NRZ数据,然后使错误信号发生电路35激励(到接通状态),以在热糙度是相当大的一段时间,把一个错误信号23供给到硬盘控制器(HDC)2的计数器电路45。
在这里所示的实例中,产生图5G中所示的一个错误信号33,从而使该错误信号对应于图5C所示从TA电平比较器电路40输出的信号、图5D所示由热糙度部分损坏的一个NRZ数据、或这些信号的逻辑和(OR)。如此形成的错误信号33供给到装在硬盘控制器2中的计数器电路45。
下面,现在将描述写模式中错误信号发生电路的操作。在写模式中,读/写控制器14包括一个8/9编码器和保密器36,它从硬盘控制器2接收一个NRZ数据22、写门信号WG、和一个写时钟WCLK,以编码和保密NRZ数据22;一个前置编码器37,用来对从8/9编码器和保密器36接收的信号进行1/(1+D)转换;一个写补偿电路38,用来补偿从前置编码器37接收的写脉冲;及一个写触发电路39,用来从写补偿电路38接收信号,并且把该信号传送到前置放大级17的一个写驱动器28。
在写模式中,前置放大级17包括一个写驱动器28,写驱动器28给读/写磁头18的一个电感型写磁头26提供电流,以便把从写触发电路39接收的数据写到磁盘24上。
数据记录电路的8/9编码器和保密器36进行与记录电路中的8/9译码器和解密器33的操作相反的操作。就是说,8/9编码器和保密器36从硬盘控制器2接收要写在磁盘24上的一个NRZ数据22、一个写门信号WG、和一个写时钟信号WCLK,并把8位写数据转换成9位数据且量化9位数据。
前置编码器37进行与由记录电路的(1+D)滤波器30进行的操作相反的1/(1+D)转换。
写补偿电路38提供写补偿,其中在写计时中延迟写信号,以便补偿在读出记录的数据时不能跟上写信号频率的缓慢磁盘响应。这种补偿通过延迟写计时百分之几至百分之几十的量来实现。结果,改善了磁盘的写特性以减小位错误率。参照图3,现在将描述与TA有关的错误信号发生电路35的读操作。
图3表示磁盘上的一种数据格式和在数据复制电路中出现的各种信号的计时图图3A表示记录在磁盘24上的数据的数据格式;图3B表示从磁盘24复制的NRZ数据的数据格式;图3C表示一个读时钟RCLK;及图3D表示读门信号RG的计时。
格式化磁盘24,从而把它划分成多个同心区域(称作磁道),同心区域进一步划分成叫做扇区的多个子区域。这些扇区的每一个具有图3A所示的数据格式。该扇区带有一个区域PLO,用于引入读时钟;一个区域TR,用于均衡器31的调节;一个同步字节区域SB,指示引入时钟的完成;一个数据区域DADA,带有经一个写驱动器28记录在磁盘24上的数据;一个错误纠正码区域ECC,用来检测和纠正DADA区域中的错误;一个循环冗余校验区域CRC,带有一个校验码,属于扇区的ID,供ECC错误检测之用;及一个间隙区域GAP,提供在扇区的末端与下一个扇区之间,适于吸收磁盘上写启始位置、磁盘转动速度、和扇区中所写数据的长度之类的波动。
如此格式化并以恒定速度转动的磁盘24(图1),以变化磁场的形式产生由读/写磁头18的MR磁头25检测的信号。指示从磁盘24复制的数据的一个信号由前置放大器27放大,其幅值由AGC放大器调节。然后放大的模拟信号通过由(1+D)滤波器30、取样器和均衡器31、及维特比检测电路32组成的4级PRML译码电路,转换成图3B中所示的数字NRZ数据22。然后把数字NRZ数据22供给到硬盘2。
在PLL电路34中,一个与取样器和均衡器31的输出同相的读时钟RCLK,由从取样器和均衡器31输出的复制数据产生,如图5C所示。读门信号RG 42在与用来引入时钟的PLO部分(图3A)相同的时域内具有一个上升沿,并且与NRZ数据同时下降。现在参照图4中所示的流程图和图5中所示的有关信号的计时图,将描述当由于磁头与磁盘24上凸出体的碰撞热糙度已经发生时图2中所示电路执行的错误检测和纠正操作。
图4详细表示一个用来确定错误数据位置、找出错误长度、和确定纠正错误步骤的程序。
图5A-5H表示数据的格式和热糙度发生时出现的典型波形。诸图一起表示如何由波形检测与热糙度有关的错误。图5A是记录在磁盘24上的数据的格式,与图3A具有相同的数据格式。图5B表示当热糙度已经发生时复制的模拟信号的波形。该信号由AGC放大器29供给到TA电平比较器电路40。图中表示该信号带有由于热糙度所造成的瞬态分量。该图还表示复制信号与阈值信号Th之间的关系。图5C表示从TA电平比较器电路40输出的一个信号。图5D表示从8/9译码器和解密器33输出的与图3B所示相同的NRZ数据22。图5E表示从PLL电路34输出的读时钟信号RCLK41,与图3C中所示的时钟信号RCLK相同。图5F表示与图3D所示的信号RG 42相同的读门信号RG 42。图5G表示从错误信号发生电路35输出的错误信号23。图5H表示计数器电路45(图6)的输出。
如下所述有两种主要的错误纠正方法,它们是(1)动态的错误纠正(称为动态的ECC);和(2)软件错误纠正(称为软件ECC)。此外,为了防止在错误纠正过程之后由相同凸出体导致的热糙度的重复发生,可利用称作“自动扇区替代过程”的一种第三方法(3),该方法允许磁头从磁盘24带有引起热糙度的凸出体的扇区跳到没有凸出体的另外一个扇区。
(1)动态错误纠正(动态ECC)这是先有技术中已知的一种典型错误纠正方法,其中利用图1中所示的ECC控制器6之类的硬件纠正错误。在大多数硬磁盘设备中,利用这样的错误纠正电路能动态纠正高达9字节或12字节的错误,而利用某些最新的错误纠正电路能处理约20字节的错误。然而,利用硬件纠正方法不能处理超过20字节的错误。
一般地,在借助于动态ECC的纠正错误方法中,在顺序从磁盘24读出数据的同时,由ECC控制器6动态纠正数据中的错误,如果有错误的话。假定复制数据具有2X字节的长度,一般认为在这样的错误纠正中,可动态纠正错误的最大长度(错误纠正能力)是X字节。就是说,超过X字节的错误不能纠正。
(2)软件ECC这是先有技术中已知的一种典型软件错误纠正方法,其中利用例如在一种可从CIRRUS LOGIC公司得到的硬盘控制器SH7600中安装的一种软件ECC、和在一种可从QLOGIC公司得到的型号ATEC的硬盘控制器中安装的一种软件ECC,纠正错误。这种类型的软件ECC检索磁盘24上具有长度2X的所有数据,并把数据一次存储在一个RAM(未表示)中,且此后利用软件进行纠正。对2X字节数据的纠正能力是2X。
软件ECC具有这样一个优点如果知道错误的位置(即数据从数据开始到错误开始以扇区为单位的总长度)、和错误本身的长度,则可以进行错误纠正。另一方面,它具有这样一个缺点在纠正程序期间磁头必须闲置,从而暂时中断读操作,由此导额外开销。
应该理解,如下所述本发明的软件ECC与上述先有技术的方法相比,需要较短的纠正时间,因为根据本发明以下述方式能事先确定错误数据的位置和长度。
(3)自动扇区替代过程在磁盘的典型初始化中,把在初始化过程中找到的有缺陷扇区登记为无效,以便在该扇区中避免数据的写和读,并且为记录在无效扇区的数据提供一个替代扇区。因此,从替代扇区读数据。
对于由磁盘上的同一凸出体引起的热糙度,这种方法可以用来避免重复的软件ECC错误纠正。按照本发明,登记引起热糙度的有缺陷扇区,从而通过一种固件能用正常扇区自动替代有缺陷扇区,以与上述相同的方式用于普通有缺陷扇区。
本发明按照错误的类型和/或大小,组合地采用动态硬件ECC、软件ECC、和自动扇区替代过程。
如图4A-B所示,本发明的纠正程序开始于步骤S100,在步骤S100中,CPU8经接口1向主计算机(未表示)查询是否主计算机已经发布了读命令。如果回答是否,则程序前进到步骤S105,在这里执行与错误纠正无关的操作,否则程序前进到步骤S120。
在步骤S120,错误计数器电路45和寄存器电路46(图3)复位到各自的初始值。程序行进到步骤S130。
如图6中所示的计数器电路45和寄存器电路46提供在图1的硬盘控制器2中,最好提供在磁盘格式控制器3中。计数器电路45在终端CLK接收读时钟RCLK41,在终端LD接收来自读/写控制器14的错误信号发生电路35(图2)的一个错误信号23,及在终端CLR接收读门信号RG42。当已经读出与一个扇区有关的所有数据时,断开读门信号RG42(图3C),并因而复位计数器电路45和寄存器电路46。程序然后行进到步骤130。
在步骤130,提供一个读门信号RG42,以读取下一个数据扇区(称作目标扇区)。
在下一个步骤S140,计数器电路45开始计数读出的扇区数目(图5D和5H),直到发现具有由热糙度造成的错误的扇区,以便在下面的步骤中找到错误扇区的位置。
然后程序前进到S150,这里CPU8查询是否已经产生了一个错误信号23。如果回答是否,则程序前进到步骤S152,但如果已经检测到错误,则行进到步骤S160。
在步骤S152,CPU8继续执行由主计算机(未表示)指示的读命令,询问是否已经读出目标扇区的所有数据(步骤S154)。当已经读出所有数据时,程序行进到步骤S156,在这里查询是否结束读命令。如果读命令没有结束,则程序前进到步骤S157,否则就结束程序。
在步骤S157,CPU8增大目标扇区的扇区号。就是说,把目标扇区设置到下一个数据扇区,并且循环返回步骤S130,以对下一个目标扇区重复读操作。
回到步骤S150,当检测到错误信号时,在下一个步骤S160开始一个错误纠正过程。错误信号可以产生于如下的第一方法中,并在步骤S160应用。在该方法中,当已经发生热糙度时,错误信号23由错误信号发生电路35与TA电平比较器电路40合作产生。在已经发生热糙度的情况下,从AGC放大器29输出的复制数据包含带有图5B中所示波形的瞬态信号。复制数据与预定的阈值信号Th一起供给到TA电平比较器电路40(图2)。TA电平比较器电路40适用于把复制数据的绝对值与阈值信号Th的绝对值相比较,并且如果前者超过后者就产生一个ON(接通)信号,如图5B和5C中所示。由TA电平比较器产生的ON信号供给到错误信号发生电路35。
由在步骤S140中累计的扇区中的字节数,CPU8得到以字节为单位的无错误数据的长度(“A-字节”),它还指示错误数据的位置。在步骤S160中把A-字节的值存储在寄存器电路46(图3)中。在如图5F中所示读门信号RG为ON以从磁盘24读出数据、直到图5G所示的错误信号23出现的时间段内,计数图5E所示的读时钟信号RCLK41的数目,由该数目确定代表错误扇区位置的A-字节。
A-字节的值供给到寄存器电路46以便暂时存储在其中。寄存器电路46把A-字节的值传送到CPU8,以便用作一个总线控制信号21。然后程序前进到下一步骤S170。
在步骤S170,利用计数器电路45启动错误数据本身长度的计数。
在下一步骤S180,CPU8查询错误信号(图5G)是否已经结束。如果错误信号已经结束,则程序前进到下一过程的步骤S190,否则程序循环返回本身进行相同的查询。
产生图5G中所示的错误信号33,以指示错误数据的长度。该错误信号能由错误信号发生电路35通过选择三个信号之一而产生(1)图5C中所示从TA电平比较器电路40输出的信号;(2)包括由于热糙度造成的错误的NRZ数据;及(3)代表这两个信号逻辑和(OR)的信号。错误信号33与基准时钟RCLK同相,并且由错误信号发生电路35供给到内装在硬盘控制器(HDC)2中的计数器电路45。在错误信号33的ON时间段,计数器电路45累计读时钟41,对错误数据的长度产生B-字节,如图5H中所示。
在步骤S190,CPU8使寄存器电路46(图6)存储在步骤S170中计数的指示错误数据的B-字节的值。然后寄存器电路46把该值传送到CPU8用作总线信号21。
在下一步骤S200,CPU8作出在步骤S190中存储在寄存器电路46(图3)中的B-字节长度是否比由动态ECC可纠正的数据长度长的判定。如果是,则程序前进到步骤S210,否则前进到步骤S202。
在步骤S202,CPU8启动ECC控制器6(图1)以执行动态ECC,并且行进到步骤S204。
在步骤S204,CPU8作出错误纠正过程是否成功结束的判定。如果是否,则程序行进到步骤S205,否则就行进到步骤S206。
在步骤S205,CPU8提供一个重试指令以再次读取要错误纠正的扇区,从而程序循环返回步骤S120以重复纠正过程。如果软件ECC在预定次数的重试后没能除去错误,则CPU8向操作者显示一条消息数据中有不可纠正的错误。
在步骤S206,确定来自主计算机的读指令是否已经结束。如果是否,则程序循环返回步骤S157,以便把目标扇区移动到下一个数据扇区。如果已经结束读指令,则程序转向到步骤S240。
回到步骤S210,CPU8执行软件ECC,这是因为,由于当前错误数据的长度,B-字节,比由动态ECC能纠正的错误长度长的事实,不能由动态ECC纠正错误。然后程序行进到下一个步骤S220。
在步骤S220,进行在步骤S210所作的错误纠正是否适当的判定。如果发现纠正不适当,则程序返回步骤S205,在这里重试读操作。另一方面,如果纠正适当,则程序前进到步骤S230。
在步骤S230,CPU8查询来自主计算机的读指令是否已经结束。如果回答是否,那么程序循环返回步骤S157。如果回答是是,那么随后是步骤S240。
在步骤S240,为了防止磁盘24上同一凸出体引起的热糙度重复,进行自动扇区替代过程是可用还是不可用的判定。如果自动扇区替代过程是可用的,则随后是步骤S242。否则,结束该程序。
在步骤S242,该程序提供一个其中在磁盘24上为有缺陷扇区建立替代扇区的过程。然后结束该程序。
如上所述在纠正磁盘上错误数据时,可以组合采用动态ECC、软件ECC、和自动扇区替代过程。接下去,将描述一种舍入程序和一种用来纠正多重错误的第二错误信号发生方法。图7A-E一起表示一种方案,其中利用通过在动态硬件ECC或软件ECC可纠正的字节长度内舍入多重错误的一种舍入程序,可以检测一个扇区中出现的多个错误。图7A表示磁盘24上的数据格式。图7B表示在数据包括其中的多重错误(如图7B中所示实例中的错误1、2、和3)的情况下图7A中所示数据的NRZ数据部分。图7C表示通过舍入错误数据1和2得到的数据。图7D表示通过舍入错误数据1和2、及3得到的数据。图7E表示图5G的错误信号。
当错误数据1和2是DATA扇区中的唯一错误数据时,并且如果因此舍入的错误数据小于由硬件ECC可纠正的最大字节,如9字节,如图7C中所示,则如上所述,这些数据可以由动态硬件ECC纠正。
另一方面,如果一个另外的错误数据3存在于该扇区中,以致于舍入的错误数据具有大于动态硬件ECC的最大可纠正字节的数据长度,那么错误能由上述的软件ECC纠正,条件是舍入的错误数据的数据长度小于由软件ECC方法可纠正的最大数据长度。在任何情况下,错误可以由按照本发明选择的两种纠正方法中的一种适当地纠正。在上述的第一错误信号产生方法中,错误信号23由错误信号发生电路35在接收到来自TA电平比较器电路40和来自8/9译码器和解密器33的的信号时产生,如联系图2所描述的那样。一种另外的错误信号可以由图8中所示的一种第二方法产生,该方法基于译码的NRZ数据的数字本质。
图8A表示代表具有8/9(0,4/4)格式的复制数据的位序列。图8B表示图8A中所示序列的偶数部分(即原始序列中偶数顺序的位序列),而图8C表示图8A序列的奇数部分。图8D表示一个锁存器错误信号,及图8E表示4级移位寄存器的一个输出。
在图2中表示的8/9译码器和解密器33采用一种8/9转换编码,其中一般使用8/9(0,n/m)转换格式。这种转换格式基于“n/m运行-长度规则”,其中在两个相邻“1”之间的零数目不大于n,而数字数据的偶数和奇数部分中的“0”数目不大于m(零规则)。
因而,例如在8/9(0,4/4)编码格式的情况下,纠正数据序列包括至多4个连续的零,并且数据的偶数和奇数部分每个也包括至多4个连续的零。作为另一个例子,由8/9(0,3/5)编码格式编码的数据具有至多3个连续的零,而其偶数和奇数部分的每一个包括至多5个连续的零。
为了具体起见,假定数字数据具有如图8A所示的“11010100000001000000100001110010010010”。序列的偶数部分是图8B中所示的“11100010000011001”,而奇数部分是图8C中所示的“100000000010010100”。把零规则用于该数据序列,数据中以及其偶数和奇数部分中连续零的最大数目必须等于或小于4。然而,在实际中,图8A所示的数据包含两个分别带有7个零和6个零的下划线部分,这违背了对数据施加的零规则。偶数部分和奇数部分分别包含一个带有5个连续零的部分和一个带有9个连续零的部分。当数据没有收敛时,可以检测这些零,即使在数据通过带有锁存的“0”的4-级移位寄存器(未表示)之后也是如此。
因此,如果定义一个锁存器错误信号同与零-规则不一致的数据部分有关,则可以在这里所示的情况下得到图8D所示的一个24-字节错误信号23。图8E表示由通过4-级移位寄存器的该数据得到的一个锁存器错误信号。
代替用来产生一种错误信号的TA电平比较器电路40和错误信号发生电路35的组合,根据由8/9(0,n/m)格式定义的零-规则,对于译码的NRZ数字数据能够提供用来产生这样的错误信号23的一种硬件错误检测装置。
熟悉本专业的技术人员明白,可以随意选择上述的第一和第二错误信号产生方法中的任一个。还能够同时采用两种方法以产生两类错误信号,并且利用适当的选择器电路(未表示)选择它们中的任一个。
在诸实施例中观察到的优点如下(1)在本发明的一个实施例中,可以定位由热糙度引起的错误数据。
(2)在本发明的另一个实施例中,可以确定错误本身的长度。
(3)在本发明的另外一个实施例中,错误信号可以由一个比较器和一个错误信号发生电路的组合、以及由施加到数据上的运行长度规则产生。
(4)在本发明的另一个实施例中,即使在动态硬件ECC不适用的情况下,根据可以确定由例如热糙度引起的错误的位置、和错误的长度的事实,可以执行一种软件ECC。
(5)在本发明的又一个实施例中,由于由一个错误信号能确定由于热糙度造成的错误数据的精确位置和长度,所以可以把与错误数据有关的数据扇区登记为无效扇区,并且该无效扇区可以由一个为该无效扇区定义的新扇区代替。
(6)本发明由此提供磁盘设备的错误纠正能力的改进,由此减小了错误率和提高了其可靠性。本发明提供了一种数据纠正设备,该数据纠正设备可以确定在从磁记录介质读出的数据中包含的错误的位置和长度。
本发明提供了一种方法,该方法可以确定在从磁记录介质读出的数据中包含的错误的位置和长度。
本发明提供了一种磁盘设备,该磁盘设备装有用来检测由热糙度引起的错误数据的装置,热糙度是由于由磁头与磁盘的暂时碰撞引起MR磁头的一个MR元件的电阻突然变化而造成的。
本发明提供了一种磁盘设备,该磁盘设备装有用来检测和纠正由于热糙度造成的错误数据的装置。
本发明提供了一种方法,该方法用来检测使用一种磁盘设备的错误数据。
本发明提供了一种方法,该方法用来检测和纠正使用一种磁盘设备的错误数据。
本发明还提供了一种磁盘设备,该磁盘设备装有用来检测从磁盘读出的数据中由热糙度引起的错误,热糙度是由于由MR磁头与磁盘的暂时碰撞引起的一个MR磁头的MR元件的电阻突然变化而造成的。
本发明还提供了一种磁盘设备,该磁盘设备装有用来检测和纠正从磁盘读出的数据中包含的由热糙度引起的错误。对应于各权利要求,本发明可以按如下实施例实现。
(1)根据权利要求14的错误数据纠正设备,其中所述译码器进行8/9格式转换。
(2)根据权利要求14的错误数据纠正设备,其中所述给定组运行长度规则与8/9(0,n/m)零运行长度格式一致。
(3)根据权利要求14的错误数据纠正设备,其中所述零运行-长度规则与8/9(0,4/4)零运行长度格式一致。
(4)根据权利要求14的错误数据纠正设备,其中所述零运行-长度规则与8/9(0,3/5)零运行长度格式一致。
(5)一种磁盘记录设备,包括根据权利要求1至15任一项的错误数据纠正设备。
(6)根据权利要求15的磁盘设备,其中所述磁记录介质是一个磁盘。
(7)根据权利要求20的错误纠正方法,还包括根据所述错误信号确定所述错误数据长度的步骤。
(8)根据权利要求21的错误纠正方法,还包括在所述软件ECC之后要执行的一个自动扇区替代过程。
权利要求
1.一种错误数据纠正设备,包括一个比较器,把代表从磁记录介质读出的并输入该比较器的一个数据信号、与输入该比较器的具有一个预定阈值电平的一个阈值信号相比较,当所述数据信号的电平超过所述阈值信号时用于产生一个输出;及一个错误信号发生电路,用来利用所述比较器的输出和所述数据信号产生一个错误信号。
2.根据权利要求1所述的错误数据纠正设备,还包括利用所述错误信号来确定包括在所述数据信号中的错误数据的位置的装置。
3.根据权利要求1所述的错误数据纠正设备,其中所述数据信号包括由引起数据信号中错误的热糙度产生的瞬态波形。
4.根据权利要求1所述的错误数据纠正设备,其中当所述数据信号的绝对电平超过所述阈值信号的绝对电平时,所述比较器电路产生所述输出。
5.根据权利要求1所述的错误数据纠正设备,其中所述错误信号发生电路选择所述数据信号或所述比较器电路的输出中的任一个,并且把所述选中的一个作为所述错误信号发生电路的错误信号传送。
6.根据权利要求1所述的错误数据纠正设备,其中所述错误信号发生电路输出一个错误信号,该错误信号是所述比较器电路的输出与所述数据信号的逻辑和。
7.根据权利要求1所述的错误数据纠正设备,还包括一个计数器电路,用来接收所述错误信号和一个读时钟,并用来从所述数据信号开始累计所述读时钟,以便定位存在于所述数据信号中的错误数据。
8.根据权利要求7所述的错误数据纠正设备,还包括一个寄存器电路,与所述计数器电路相连。
9.根据权利要求1所述的错误数据纠正设备,其中用从与所述读数据有关的扇区开始处计数的字节给出错误数据的位置。
10.根据权利要求1所述的错误数据纠正设备,适于根据所述错误信号确定在从所述磁记录介质读出的所述数据中包含的错误数据的长度。
11.根据权利要求10所述的错误数据纠正设备,还包括一个计数器电路,用来接收所述错误信号和一个读时钟,以在整个错误时段上计数所述读时钟,以便确定所述错误数据的长度。
12.根据权利要求11所述的错误数据纠正设备,还包括一个寄存器电路,与所述计数器电路相连。
13.根据权利要求11所述的错误数据纠正设备,其中用从与所述读数据有关的扇区的开始处计数的字节给出错误数据的长度。
14.一种错误数据纠正设备,包括一个数据复制电路,用来复制从磁记录介质读出的数据;及一个译码器,供用来按照一给定组运行长度规则在所述复制数据的位上进行数据格式转换的所述数据复制电路之用,以产生一个错误信号。
15.一种错误数据纠正设备,包括一个比较器,把代表从磁记录介质读出的、并输入该比较器的一个数据信号与输入该比较器的具有一个预定阈值电平的一个阈值信号相比较,当所述数据信号的电平超过所述阈值信号的电平时用于产生一个输出;及一个错误信号发生电路,用来利用所述比较器的输出和所述数据信号产生一个第一错误信号;一个译码器,供用来在所述复制数据的位上进行数据格式转换的所述数据复制电路之用;用来根据施加到所述复制数据上的运行长度规则产生一个第二错误信号的装置;及用来选择所述第一和所述第二错误信号的任一个的装置。
16.一种磁盘设备,包括一个译码电路,用来利用部分响应最大似然技术译码信号;一个比较器,当从磁盘复制的数据信号的电平超过一个预定阈值电平时用来产生一个输出信号;利用所述比较器的输出和所述译码数据,用来确定由所述译码器译码的数据中所包括的错误数据的位置和长度的装置;硬件装置,用来在所述错误数据上执行动态硬件ECC;及软件装置,用来在所述错误数据上执行软件ECC;及当所述错误数据的长度比由所述硬件装置可纠正的长度长时,用来选择所述软件ECC纠正装置,否则选择所述硬件装置的装置。
17.根据权利要求16的磁盘设备,其中所述的部分响应最大似然是4级。
18.一种磁盘设备,包括一个译码电路,用来利用部分响应最大拟然技术译码从磁盘读出的一个数据信号;一个译码器,用于在所述译码电路中对所述数据信号进行位转换;利用施加到所述数据信号上的一组运行长度规则用来检测包括在所述数据信号中的错误的装置;用来确定数据中包括的错误数据的位置和长度的装置,所述译码器利用所述比较器的输出和所述译码数据译码该数据;硬件装置,用来在所述错误数据上执行动态硬件ECC;及软件装置,用来在所述错误数据上执行软件ECC;及当所述错误数据的长度比由所述硬件装置可纠正的长度长时,用来选择所述软件ECC纠正装置、否则选择所述硬件装置的装置。
19.根据权利要求18所述的磁盘设备,还包括用来当所述错误数据纠正没有由所述软件ECC成功纠正时重试从所述磁盘读出所述数据的装置。
20.一种错误纠正方法,包括步骤把从磁盘复制的数据信号与一个预定阈值信号相比较,以便当所述数据信号的电平超过所述阈值信号的电平时产生一个输出信号;根据所述输出信号和所述数据信号产生一个与包括在所述数据信号中的错误数据有关的错误信号;及根据所述错误信号确定所述错误数据的位置。
21.一种本发明的错误纠正方法,包括步骤确定包括在从磁盘复制的数据信号中的错误数据的位置和长度;确定所述错误数据是否具有由动态ECC可纠正的长度;当动态ECC适用时,在错误数据上执行动态ECC;及否则在错误数据上执行软件ECC。
全文摘要
提供了一种纠正由于热糙度造成的错误数据的方法及其设备。还提供了一种装有这样的错误纠正设备的磁盘设备。该纠正设备包括:一个比较器,用来把从磁盘复制的数据信号与一个预定阈值信号相比较;和用来根据从比较器输出的信号和数据信号产生一个错误信号的装置。利用该错误信号,确定包括在数据信号中的错误数据的位置和长度。通过选择地使用动态硬件ECC和软件ECC,可以纠正错误数据,而与其长度无关。
文档编号G11B20/10GK1221187SQ9811665
公开日1999年6月30日 申请日期1998年7月29日 优先权日1997年12月25日
发明者高桥刚 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1