在写指令期间对偏航头作出响应而优化的视听盘驱动器的制作方法

文档序号:6754284阅读:228来源:国知局
专利名称:在写指令期间对偏航头作出响应而优化的视听盘驱动器的制作方法
技术领域
本申请涉及硬盘驱动器,尤其涉及在硬盘驱动器上有效地存贮和检索视听数据的设备和方法。
背景技术
习惯上,盘驱动器一直是根据有关数据完整性与数据流的重量性的某些基本假设而设计的。例如,习惯上总是假设信息完整性是最重的事情,既便在装载可执行文件中单个位误差会造成不可计量的运行时间分歧。结果,传统的盘驱动器会试图读目标数据,若驱动器确定在读操作期间出现了数据误差,也许会读多次。另外,常规盘驱动性能一直是通过评定执行一条指会所花的平均时间来量度的。因此,对于常规盘驱动器而言,可以接受甚至希望的是,试图读和再读数据,直到该数据被正确地读出,或者直到该数据实际上能被适当地读出的可能性极小。如果这类多次再试事件不是经常发生的,那么在一次读操作的多再试中所花的时间对平均指令时间(计量常规盘驱动器的量度)的影响很小。
对视听数据存贮与检索而优化的盘驱动器,应根据有关数据完整性与数据流的重要性的不同基本假设来设计。对于这种盘驱动器,数据完整性的重要性已减小。由小误差引起的少量不准确性,若有的话,也很少能被视觉信号观察者观察到。然而,可靠的数据流对视听驱动器却相当关键。为说明起见,研究一下对视频信号的个别观察。这样的观察者未必能注意到数据流里的小误差,但他会注意到试图反复正确地读出某一错误位的驱动器向数据流引入的3秒钟延迟。因此,应当针对执行一指令所花的最长时间来量度视听驱动器的性能。在视听盘驱动器中,最关注的是指令完成的最差状况,而不是平均状况。
在常规盘驱动器中,对优化数据完整性与尽量减少平均指令时间的判断,影响着这类驱动器的许多设计考虑因素。为适应常规盘驱动器的要求而作的许多设计选择,并不适用于视听盘驱动器。
常规盘驱动器被设计成尽量缩短平均寻道时间。为此,将动臂机构的臂设计得很轻,尽量减小其旋转惯性。同时,通过把动臂机构臂绕组上的线圈置于强磁场,可尽量增大作用于动臂机构臂的磁力。这两种令人关注的机械选择可最大地加速动臂机构臂,从而尽量减少平均寻道时间。这些设计选择的结果是动臂机构臂接近不稳定状态。由于这一不稳定性,一小部分盘指令会偶尔要求多次重试以正确地起作用,从而产生极高的最大指令完成时间(视听盘驱动器不希望有的特性)。
为了尽量减少旋转等待时间,还把常规盘驱动器设计成以相对高的自旋速率工作。以高自旋速率工作的后果是道跟踪不很可靠,这表示一偶发的指令会几次重试正确地执行。再者,由于视听盘驱动器要求尽量减少最差状况的指令执行时间,这一后果是不希望的。
另外,为优化信息完整性,常规盘驱动器一直是针对这类驱动器与读、写时间误差起作用的方式设计的。如下面要详述的,常规盘驱动器在读写操作期间是连续运转的。作为一例连续运转的例子,在正确读出上扇区之前,常规盘驱动器不试图读某一特定扇区。若对一指定扇区出现读时间误差,驱动器将中止再读后续的扇区,直到盘完全转动且能正确地读出该误差扇区。只有在此时,常规盘驱动器才试图读后续扇区。常规盘驱动器在写指令期间还以平行方式运转。总之,常规盘驱动器以数据流为代价来保存数据完整性,因此,需要一种盘驱动器以保存数据流的方式来响应某种读、写时间误差。

发明内容
本发明方法和设备通过以保存数据流的方式对某种写时间误差作出响应,来解决上述问题和其它问题。具体而言,响应于某一写时间误差,其中从伺服脉冲串得到的信息指示该盘驱动器的头或是偏离航向或是预计要偏离航向,该盘驱动器就以与写扇区的结束同步地中止写该盘而作出响应,使扇区不留写了一半。然后盘驱动器将错写或未写的扇区的扇区号传给主机。一旦伺服扇区再次指示该头完全重新居于道中心,盘驱动器就试图在后续扇区中对该盘继续写。还有,若伺服数据指示该头可能还未完全居于当前与上一伺服脉冲串之间的中心,也向主机指示这些伺服脉冲串之间的扇区。
上述行为背离了常规盘驱动器的传统连贯的范例,该新行为保存了数护流,这对视听驱动器是一重要的品质因素。
通过阅读下面的详述并参阅有关附图,将明白作为本发明特征的种种特征和优点。
附图简介

图1示出以直线表示的道空间。
图2示出以直线表示的盘上相邻道,图3示出按本发明一实施例构成的视听盘驱动器。
图4是一流程图,示出本发明一个方面一实施例中对特定读时间误差的行为方法。
图5是一流程图,示出本发明另一个方面一实施例中对另一读时间误差的行为方法。
图6是一流程图,示出本发明再一个方面一实施例中对写时间误差的行为方法。
详细描述为了说明常规盘驱动器中应用的设计选择,参照图1讨论常规驱动器的读时间行为。图1中,线100示出以直线表示的道空间。观察道空间100,揭示了其一般结构伺服脉冲串102、104连接两个扇区106、108。伺服脉冲串102、104和扇区106、108由间隙110分开。虽然图1示出的道空间包括跟在各伺服脉冲串102、104后面的两个扇区106、108,但是这一比率是个设计选择问题。还示出了各扇区106、108的结构。扇区106、108以自动增益控制(AGC)字段112开始,该字段112用于调谐盘驱动器检测电路中的放大器。AGC字段112后面紧接同步(Sync)字段114,它用作定时基准,让盘驱动器预测数据位在后接数据字段116中的位置。最后,纠错码(ECC)字段117用来检查从数据字段116读出的数据的完整性,终止各扇区106、108。
常规盘驱动器在通过其头下面时,通过跟踪各伺服脉冲串102、104而执行读操作。各伺服脉冲串102、104包含着可从中导出头位置,头速度和道号的信息。盘驱动器在读各扇区106、108内的数据时,用各伺服脉冲串102、104确定该头是否停留在航向上。各伺服脉冲串102、104还用来预测同步字段114的位置,同步字段114跟在一指定伺服脉冲串102后面,但在下一伺服脉冲串104的前面。重要的是盘驱动器能确定各同步字段102、104的位置,因为同步字段102、104允许盘驱动器预测直接在同步字段102、104后面的数据字段116内每位的位置。换言之,各同步字段102、104被用作定时基准,让检测电路同步地译码数据字段。如线118所示,它代表时间,盘驱动器打开时间窗120,在这期间可预测遇到的后续同步字段114。这些时间窗120定位时利用最后一个伺服脉冲串102作为基准点。若时间窗120期满未遇到同步字段114,常规盘驱动器将不能读后接数据字段116中的数据,也不试读后续扇区106、108里的数据。常规盘驱动器被设计成连续动作,表明只有能读其前面的扇区,才能读指定的扇区106、108。若时间窗120期满而未遇到同步字段114,传统盘驱动器将等待盘转满一圈,再试图重新获取下一转的同步字段114。常规盘驱动器无法将其检测硬件复位而寻找紧接该遗漏同步字段114后面的同步字段114。在视听盘驱动器中,对遗漏同步字段114这种响应行为形式是不希望的,有时数据流比数据完整性更有价值。
常规盘驱动器对ECC指示误差显现的响应行为,类似于未能检测同步字段114的行为。通常在常规盘驱动器中,利用ECC来验证读操作的完整性。在常规盘驱动器从数据字段116中读数据后,相对有关的ECC字段117来验证该数据。ECC字段117可以是循环冗余码(CRC)形式,或是另一种合适的纠错格式。在常规盘驱动器中,若ECC字段117指示该数据字段116里错误地读出,则盘驱动器将中止读后续的扇区。再者,由于常规盘驱动器连续地动作,它将等待盘转完一圈再试图重读后续通过的数据而对读时间误差作出响应。如上述遗漏同步字段的状况那样,由于数据流比数据完整性更有价值,所以在视听盘驱动器中,对错误ECC字段117的这种响应行为形式有时是不希望的。
常规盘驱动器还被设计成相对于这类驱动器与写时间误差起作用的方式优化信息完整性。为了说明常规盘驱动器中应用的设计选择,参照图2讨论常规驱动器的写时间行为。图2中,示出了两条相邻道200、202,一般为圆形且与盘中心同心,但是在图2中以直线示出。各个道由护带201分开,各个道209、202的中心204、206用虚线表示,数据准备贮存在盘的诸区上,中心围绕各个道200、202的中心204、206。在写操作期间,常规盘驱动器在通过盘驱动器的头下面时检测伺服脉冲串208,该伺服脉冲串208包含着可以从中确定头径向对准,头速度和头定位在其上方的道号的信息。根据该信息,盘驱动器在每次检测到伺服脉冲串208时作两种测定(1)头是否定位在正确道200、202上方,和(2)头在下一伺服脉冲串208之前的盘空间区横移时是否预测到位于道200、202的中心,而且头在前一伺服脉冲串208后接的盘空间区横移期间是否位于道200、202的中心。假设这些测定是肯定的,驱动器将对下一伺服脉冲串208前面的扇区210作写操作。一旦检测到下一伺服脉冲串208,再作同样的询问。
常规驱动器作上述两部分询问的理由在于两个方面。首先,常规驱动器被设计成尽量增大以后能正常地读出写到盘上的数据的概率,因此常规驱动器试图将数据写到位于各个道200、202中心204、206当中的盘空间区,这样在读操作期间,若头位于道200、202中心204、206的当中,该头将检测到最强的信号。其次,常规盘驱动器被设计成防止重写贮存在相邻道200、202上的数据。盘驱动器一旦确定上述任一个测定为否定的,就会停止写操作。因为在常规盘驱动器中,监视头定位的固件是由处理器执行的,该处理器在许多任务之间执行多任务,不会作出头偏离轨道的确定,直到该盘驱动器已在写伺服脉冲串208后接的一部分扇区210,让驱动器确定其头已偏离航向。即使在这种情况下,常规盘驱动器将立即停止写,可能把老的数据留在一部分盘驱动器处于写当中的扇区210里;然后,常规盘驱动器等待到一圈,并在导致该判断的伺服脉冲串208与前一伺服脉冲串208之间完全或部分存在的任何扇区上再试写操作。若不再写,则写了一半的扇区210在读操作时肯定错误百出,因为其ECC字段117将对应于老数据,而刚刚写在导致该判断的伺服脉冲串208与前一伺服脉冲串208之间的任何数据都会写得偏离道中心。在数据可能没有时间再写的视听驱动器中,对写时间误差响应的这种形式是不希望的。
图3示出针对对图1和2讨论的数据流问题的盘驱动器300,它按本发明一实施例构制。盘驱动器300对存贮和检索视听数据作了优化,并且具有控制该视听盘驱动器300操作的嵌入式微处理器302。该嵌入式微处理器302与一向其发出指令(如读、写指令)的主机微处理器304通信。在嵌入式微处理器302上运行的固件解释来自主机微处理器304的指令,接着控制视听盘驱动器300的操作。
视听盘驱动器300通过读/写头306对盘(图3中未示出)作数据记录与检索,读/写头对盘出现的局部磁场很敏感。读/写头206位于动臂机构臂308的顶端。动臂机构臂的导电线圈310落在邻近磁铁312产生的磁场中,当驱动电流通过线圈310时,动臂机构臂承受该电流与磁场的叉积造成的力,该力使动臂机构臂308转向,从而使头306改变其在盘上方的位置。动臂机构臂308,读/写头306,导电线圈310和磁铁312可以统称为“伺服动臂机构组件”311。
为便于说明,假设主机微处理器304发出一将被嵌入式微处理器302接收的写指令。嵌入式微处理器302将作出反应,向驱动电路314提供一电压,而驱动电路又向线圈310提供电流,使动臂机构臂308转向正确位置。当嵌入式微处理器302确定头306位于正确的盘区上时,它就控制头306把所需的数据写到有关的盘位置。嵌入式微处理器302经数据路径316与头306联系。
本发明该实施例的一个重要方面在于,与常规盘驱动器不同,视听盘驱动器300并不设计成尽量加速动臂机构臂308(从而尽量减少平均寻道时间),而是设计成确保动臂机构臂308的稳定性,旨在尽量减少正确执行任何一次操作所需的最大或“最差”再试次数。因为指令时间等于指令时间=寻道时间+旋转时间+数据传递时间+再试时间,所以尽量减少再试次数具有确保尽量减少最差情况指令的指令时间的效果。
本发明的其它方面也针地尽量减少视听盘驱动器300的最差情况指令时间。起到这一最小化作用的固件工作于嵌入式微处理器302。各个电子模块能以类似于通过工作于嵌入式微处理器302表示的某种方式实施本发明的各个方面。本发明的各个方面是否以固件或硬件实施,图4~6的流程图示出了各个方面的工作原理。
图4示出本发明另一方面一实施例的固件的工作原理。图4中,流程图示出一种控制视听盘驱动器300的方式,使它对在读操作期间来检测到同步字段的情况起作用。同时参照图1表示的道空间,能更好理解图4所示的行为。
在搜索操作400中,找到了对应特定扇区号的特定同步字段114。以若干间隔,控制从搜索操作400转移至同步询间操作402,确定是否已检测到有关的同步字段。
若确定已检测到有关的同步字段114,于是控制转移到数据传递操作404,把来自后接数据字段116的数据传给缓冲器。之后,在增数操作406中把要寻找的扇区号增数,控制返回搜索操作400。
若确定还未检测到有关的同步字段114,则控制转移到窗口期满询问408,确定检测同步字段114的持续时间窗120是否期满。若持续时间窗120未期满,控制再转移动搜索操作400,再寻找同步字段114。
若持续时间窗120已期满,则视听盘驱动器300起作用,直接传到某类指示器,因遗漏同步字段114而无法读指定扇区106内的数据,并将其自身复位以开始寻找下一同步字段。需要的话,主机微处理器304可以添加遗漏数据。这一行为形式背离了一般盘驱动器传统的连续行为,旨在尽量减少最差读情况的指令时间。
若持续时间窗120期满而还来检测到同步字段114,就回到所采取的特定步骤的问题,控制转移到图案操作140,把特定的“填充图案”传给缓冲器。该填充图案可用主机微处理器304编程,如果以任何方式使用有缺陷的数据,则可选用来尽量减小对主机的负面影响。传递图案操作410一完成,就有选择地将控制转移动记录出错位置操作412,可将未读数据的扇区号传给缓冲器。该未读数据的扇区号可以或可以不传给主机微处理器304,取决于主机微处理器304能否利用该信息。最后,在增数操作414中对要寻找的扇区号增数,控制回到搜索操作400。
图5示出本发明再一个方面一实施例中固件的工作原理。图5中,流程图示出的一种方式可控制视听盘驱动器300对ECC段包括错读的数据字段的情况起作用。同时参照图1示出的道空间,可以更好地理解图5示出的行为。
在ECC验证操作500中,相对来自对应数据字段116的数据检查ECC字段117,以指示是否正确地读出数据字段116。接下来,控制转移到ECC询问操作502,确定ECC字段117是否对应于数据字段116。
若ECC字段117对应于数据字段116,于是实际上已正确地读出了该数据,控制转移到释放数据操作504,能把数据字段116传给主机微处理器304,而该数据字段一旦传给该主机,就从读缓冲器里冲掉设定。之后,控制返回ECC验证操作500。
若ECC字段117不对应于数据字段116,则数据被错读,但是视听盘驱动器300仍将错误数据传给主机微处理器304,只是把该数据标为错读,因而仍可读来自后续扇区的数据,不必等盘再转一圈。错读的数据可用下游视听系统估计,内插或外推的数据置换,如果需要这种响应的话。这又一次违背了常规盘驱动器传统的连续操作,其中只有在从前一扇区106中正确读出数据后,才试图读指定扇区108的数据。为实现刚才陈述的结果,控制将转移到任选ECC校正操作512,这可以提供纠错。纠错可以不完全,只得到部分校正数据。然后控制转移到释放数据操作508,把来自数据字段116的错误数据(或部分校正数据)传给主机微处理器304,并从读缓冲器里冲掉。之后,控制转移到记录出错位置操作510,以记下错误数据字段116的扇区号并把它传给主机微处理器304。最后,控制返回ECC验证操作500。
图6示出本发明再一个方面一实施例中固件的工作原理。图6中,流程图示出的方式可控制视听盘驱动器300对某种情况起作用,在这种情况中,将某扇区写到盘上后,后续伺服脉冲串指示头在横越直接在该伺服脉冲串之前的扇区期间已偏航,或者预计头在横越后接扇区期间会偏航。同时参照图2的道空间,能更好地理解图6表示的行为。
在写操作602中,将至少一个扇区写到盘上。控制接着转移到有效性操作604,作两部分测定;即测定(1)头是否位于正确道200、202上方,和(2)预测头在横越下一伺服脉冲串208前面的盘空间区时是否位于道200、202的中心,头在横越接在前一伺服脉冲串208后面的盘空间区期间是否位于道200、202中心。在有效性询问606中,为确定操作流程,要接连检查前面的测定。若两种测定均为肯定,头在运行到伺服脉冲串208期间保持在航向上,并预测头在运行到下一伺服脉冲串208时将保持航向。如前所述,常规盘驱动器作这种询问有两个理由(1)使将来正确地检索数据的可能性最大(保证数据写到离道200、202中心线204、206一定距离内的盘区),和(2)防止相邻道200、202被重写。但在视听盘驱动器300中,由于数据流比数据完整性更重要,所以只考虑防止相邻道200、202被重写(会诱导两部分询问)。相应地,视听盘驱动器300对头必须严格地居于道中心线204、206中具有一更宽松的容限,允许头偏离道的中心线204、206,直到危及相邻道200、202的数据完整性。虽然各盘驱动器的该容限凭经验决定,但是预计偏轨道20%。
在有效性询问606中,若确定伺服脉冲串有效,控制就传到增数操作608,对要寻找的伺服脉冲串号增数,从而导找下一个伺服脉冲串。最后,在数据释放操作610中,从写缓冲器里释放刚刚写在导致该判断的伺服脉冲串与前一伺服脉冲串之间的数据,而视听盘驱动器300在等待操作612中等待,直到写新数据的时候,而控制将返回写操作602。
另一方面,若有效性询问606得到表示伺服脉冲串无效的结果(即出现或将会出现偏轨道状态),控制传到不维持操作614。在不维持操作614中,门电路控制是否不维持写到盘上的数据,以防数据重写相邻道。在视听盘驱动器300中,不维持步骤与扇区210的结束同步执行,使扇区决不留写了一半。这背离了常规盘驱动器的操作原理,而在常规盘驱动器操作中,由于数据完整性最为重要,所以立即不维持写门电路。接着,控制转移到记录出错位置操作616,向主机微处理器304通知错写数据的位置。最后,控制进行增数操作608,立即恢复正常的操作流程。恢复正常操作流程也背离了常规盘驱动器的工作原理,因为常规盘驱动器被设计成连续操作,在正确地写入前一楔的扇区之前,不继续写后一楔形扇区(楔形是一组插在两伺服脉冲串之间的扇区)。
对本发明一实施例作一归纳,通过采取以下行动,可对盘驱动器执行一种优化处理写时间误差的方法,其中从伺服脉冲串(如102、104)得到的信息指示盘驱动器的头(如306)或是偏航或是预计会偏航。首先,盘驱动器(如300)对盘的某一扇区作写操作(如操作602)。接着,盘驱动器(如300)证实该头的航向和预计的航向(如操作604)。确认操作可以包括三部分询问,确定(1)头是定位于正确道上方,(2)头是否恰当地居于该头定位的道的中央,和(3)横越道速度是否是够小,若断定该头或是偏航或是预计会偏航,则盘驱动器(如300)与写扇区的结束同步地停止对盘作写操作,使扇区不留写了一半(如操作614),把错写的扇区号传给主机微处理器(如304),对伺服脉冲串号增数(如操作608),并向主机报告差错。
在视听盘驱动器(如300)中,嵌入式微处理器(如302)用来执行负责盘驱动器(如300)操作的固件,该固件执行概括在上述本发明每一个方面中的步骤。嵌入式微处理器(如302)可操作地耦合到主机微处理器(如304)、驱动电路(如314)和连接到伺服动臂机构组件(如311)的数据路经。
显然,本发明非常适合于实现上述的目的和优点。虽然出于揭示目的描述了诸较佳实施例,但是很容易向本领域的技术人员提出多种变化,而这些变化均包罗在所附如权利要求揭示并规定的本发明精神里。
权利要求
1.一种优化处理写时间误差的盘驱动器的方法,其中由伺服脉冲串得到的信息指示盘驱动器的头已偏航或预计会偏航,其特征在于所述方法包括动作(a)证实头的航向和预计的航向;(b)一旦确定头已偏航或预计要偏航,就采取以下动作(i)与结束写一个扇区同步地暂停磁盘写操作,使扇区不留写了一半。(ii)将表示被错写的扇区的信息传给主机;和(iii)增加一数值,该数值代表要检测的伺服脉冲串号,由此引出某一状态,其中一旦正确地证实下一脉冲串盘驱动器就立即试写。
2.如权利要求1的方法,其中动作(a)还包括(a)(i)确定头是否定位于正确道的上方(a)(ii)确定头的中心是否在该头位于其上方的道内;和(a)(iii)确定头速度是否适当。
3.一种优化成处理写时间误差的盘驱动器,其中由伺服脉冲串得到的信息指示盘驱动器的头已偏航或预计会偏航,其特征在于所述盘驱动器包括(a)伺服动臂机构组件,用于将头定位于盘上方,允许对盘作读和写;(b)可操作地耦合到伺服动臂深机构组件的驱动电路,用于以电流驱动伺服动臂机构组件,从而将头定位于盘的适当位置上方;(c)盘驱动器中的嵌入式微处理器,所述嵌入式微处理器接收来自主机微处理器的指令,可操作地耦合到驱动电路,还耦合到伺服动臂机构组件与嵌入式微处理器之间的数据路径,并被偏程为(i)对盘扇区作写操作;(ii)确认头的航向和预计航向;(iii)一旦确定头已偏航或预计会偏航,执行以下动作;(iii)(a)与结束对扇区写入同步地暂停盘写操作,使扇区不留写了一半;(iii)(b)把表示被错写的扇区的信息传给主机;(iii)(c)增一数值,该数值代表要检测的伺服脉冲串号,由此造成一种一旦正确证实下一脉冲,盘驱动器就立即试图写入的状态。
4.如权利要求3的盘驱动器,其中通过执行以下动作对嵌入式微处理器编程以确认头的航向和预计航向;(ii)(a)确定头是否位于正确道的上方;(ii)(b)确定头的中心是否在该头位于其上的道内;和(ii)(c)确定头速度是否正常。
5.一种优化成存贮和检索视听数据的盘驱动器,其特征在于包括(a)伺服动臂机构组件;和(b)优化处理写时间误差以保证可靠的数据流的装置。
全文摘要
描述了一种以保存数据流的方式对某种写时间误差作出响应以优化视听数据存贮与检索的盘驱动器的方法和设备。响应于写时间误差,其中从伺服脉冲串得到的信息指示盘驱动器的头已偏航或预计要偏航,盘驱动器就作出反应,与写扇区的结束同步地对盘中止写操作,使扇区不留写了一半。然后,盘驱动器把错写或未写的扇区的扇区号传给主机。伺服扇区再次指示头已完全再位于道中心,盘驱动器就在后续扇区内对盘继续写。另外,若伺服数据指示该头可能还未完全在当前与前一伺服脉冲串之间居中,也向主机指示这些伺服脉冲串之间的扇区。
文档编号G11B27/36GK1359522SQ00809363
公开日2002年7月17日 申请日期2000年6月23日 优先权日1999年6月24日
发明者J·W·海恩斯, B·J·希格利 申请人:西加特技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1