在主机读取未写的数据扇区时返回虚假数据给主机的磁盘驱动器转让专利

申请号 : CN201010121419.4

文献号 : CN101814311B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : W·B·博伊尔C·S·特赛

申请人 : 西部数据技术公司

摘要 :

公开了一种包括磁盘和在磁盘上方致动的磁头的磁盘驱动器。所述磁盘包括多个磁道,其中每个磁道包括多个数据扇区。从主机接收读命令,以从目标数据扇区读取数据。当确定所述目标数据扇区未被主机写时,虚假数据被返回给主机。

权利要求 :

1.一种磁盘驱动器,其包括:

包括多个磁道的磁盘,其中每个磁道包括多个数据扇区;

在所述磁盘上方致动的磁头;以及

控制电路,其可操作用于:

从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;以及当所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;

其中:当所述目标数据扇区响应于所述写命令而已经被写入时,所述控制电路进一步地可操作用于在所述目标数据扇区是不可恢复时返回错误消息给所述主机;以及当所述目标数据扇区响应于所述写命令而未被写入时,所述控制电路进一步地可操作用于在所述目标数据扇区是不可恢复时返回所述虚假数据给所述主机。

2.根据权利要求1所述的磁盘驱动器,其中所述虚假数据包括预定的数据。

3.根据权利要求2所述的磁盘驱动器,其中所述预定的数据包括多个零位。

4.根据权利要求1所述的磁盘驱动器,其中所述虚假数据包括从所述目标数据扇区读取的数据。

5.根据权利要求1所述的磁盘驱动器,其中当所述目标数据扇区响应于所述写命令而未被写入时,所述控制电路进一步地可操作用于在所述目标数据扇区是不可恢复时写校验所述目标数据扇区。

6.根据权利要求1所述的磁盘驱动器,其中当所述目标数据扇区响应于所述写命令而未被写入时,所述控制电路进一步可操作用于在所述目标数据扇区是不可恢复时将所述目标数据扇区重新定位至空闲扇区。

7.根据权利要求1所述的磁盘驱动器,其中所述控制电路进一步可操作用于:从所述主机接收将用户数据写入到所述目标数据扇区的写命令;以及更新写表格,以反映出所述目标数据扇区响应于所述写命令而已经被写入。

8.根据权利要求7所述的磁盘驱动器,其中:

所述写表格包括多条条目,其中每条条目识别对应于多个数据扇区的一个区;以及所述控制电路可操作用于在所述控制电路将数据写入到包括所述目标数据扇区的区中的任何数据扇区时,更新所述写表格中对应于该目标数据扇区的条目。

9.根据权利要求1所述的磁盘驱动器,其中所述控制电路进一步可操作用于:在制造过程中,将制造数据和第一同步标志写入到所述目标数据扇区;

从所述主机接收将用户数据写入到所述目标数据扇区的写命令,并且响应所述写命令将所述用户数据和第二同步标志写入到所述目标数据扇区;其中所述第二同步标志不同于所述第一同步标志;以及通过检测所述第二同步标志确定所述目标数据扇区已经响应于所述写命令而被写入。

10.根据权利要求9所述的磁盘驱动器,其中所述控制电路进一步可操作用于:在制造过程中,将在所述第一同步标志之前的第一前同步信号写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;以及响应从所述主机接收的所述写命令,将在所述第二同步标志之前的第二前同步信号写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束。

11.根据权利要求1所述的磁盘驱动器,其中所述控制电路进一步可操作用于:在制造过程中,将第一前同步信号和第一同步标志写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;以及响应从所述主机接收的所述写命令,将第二前同步信号和所述第一同步标志写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束;以及通过检测所述第二前同步信号和所述第一同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

12.一种操作磁盘驱动器的方法,所述磁盘驱动器包括磁盘和在所述磁盘上方致动的磁头,其中所述磁盘包括多个磁道并且每个磁道包括多个数据扇区,所述方法包括:从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;以及在所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;其中:当所述目标数据扇区响应于所述写命令而已经被写入时,进一步包括当所述目标数据扇区是不可恢复的时,返回错误消息给所述主机;以及当所述目标数据扇区响应于所述写命令而未被写入时,进一步包括当所述目标数据扇区是不可恢复的时,返回所述虚假数据给所述主机。

13.根据权利要求12所述的方法,其中所述虚假数据包括预定的数据。

14.根据权利要求13所述的方法,其中所述预定的数据包括多个零位。

15.根据权利要求12所述的方法,其中所述虚假数据包括从所述目标数据扇区读取的数据。

16.根据权利要求12所述的方法,其中当所述目标数据扇区响应于所述写命令而未被写入时,其进一步包括在所述目标数据扇区是不可恢复时写校验所述目标数据扇区。

17.根据权利要求12所述的方法,其中当所述目标数据扇区响应于所述写命令而未被写入时,其进一步包括在所述目标数据扇区是不可恢复时将所述目标数据扇区重新定位至空闲扇区。

18.根据权利要求12所述的方法,其进一步包括:从所述主机接收将用户数据写入到所述目标数据扇区的写命令;以及更新写表格,以反映出所述目标数据扇区响应于所述写命令而已经被写入。

19.根据权利要求18所述的方法,其中:

所述写表格包括多条条目,其中每条条目识别对应多个数据扇区的一个区;以及更新所述写表格包括在数据被写入到包含所述目标数据扇区的区中的任何数据扇区时,更新所述写表格中对应于所述目标数据扇区的条目。

20.根据权利要求12所述的方法,其进一步包括:在制造过程中,将制造数据和第一同步标志写入到所述目标数据扇区;

从所述主机接收将用户数据写入到所述目标数据扇区的写命令,并且响应所述写命令将所述用户数据和第二同步标志写入到所述目标数据扇区,其中所述第二同步标志不同于所述第一同步标志;以及通过检测所述第二同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

21.根据权利要求20所述的方法,其进一步包括:在制造过程中,将在所述第一同步标志之前的第一前同步信号写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;以及响应从所述主机接收的所述写命令,将在所述第二同步标志之前的第二前同步信号写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束。

22.根据权利要求12所述的方法,其进一步包括:在制造过程中,将第一前同步信号和第一同步标志写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;

响应从所述主机接收的所述写命令,将第二前同步信号和所述第一同步标志写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束,以及通过检测所述第二前同步信号和所述第一同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

23.一种磁盘驱动器,其包括:

包括多个磁道的磁盘,其中每个磁道包括多个数据扇区;

在所述磁盘上方致动的磁头;以及

控制电路,其可操作用于:

从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;

当所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;

在制造过程中,将制造数据和第一同步标志写入到所述目标数据扇区;

从所述主机接收将用户数据写入到所述目标数据扇区的写命令,并且响应所述写命令将所述用户数据和第二同步标志写入到所述目标数据扇区,其中所述第二同步标志不同于所述第一同步标志;以及通过检测所述第二同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

24.一种磁盘驱动器,其包括:

包括多个磁道的磁盘,其中每个磁道包括多个数据扇区;

在所述磁盘上方致动的磁头;以及

控制电路,其可操作用于:

从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;

当所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;

在制造过程中,将第一前同步信号和第一同步标志写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;

响应从所述主机接收的所述写命令,将第二前同步信号和所述第一同步标志写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束,以及通过检测所述第二前同步信号和所述第一同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

25.一种操作磁盘驱动器的方法,所述磁盘驱动器包括磁盘和在所述磁盘上方致动的磁头,其中所述磁盘包括多个磁道并且每个磁道包括多个数据扇区,所述方法包括:从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;

在所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;

在制造过程中,将制造数据和第一同步标志写入到所述目标数据扇区;

从所述主机接收将用户数据写入到所述目标数据扇区的写命令,并且响应所述写命令将所述用户数据和第二同步标志写入到所述目标数据扇区,其中所述第二同步标志不同于所述第一同步标志;以及通过检测所述第二同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

26.一种操作磁盘驱动器的方法,所述磁盘驱动器包括磁盘和在所述磁盘上方致动的磁头,其中所述磁盘包括多个磁道并且每个磁道包括多个数据扇区,所述方法包括:从主机接收从目标数据扇区读取数据的读命令;

确定所述目标数据扇区是否响应于从所述主机接收的写命令而已经被写入;

在所述目标数据扇区响应于所述写命令而未被写入时,返回虚假数据给所述主机;

在制造过程中,将第一前同步信号和第一同步标志写入到所述目标数据扇区,其中所述第一前同步信号以第一相位结束;

响应从所述主机接收的所述写命令,将第二前同步信号和所述第一同步标志写入到所述目标数据扇区,其中所述第二前同步信号以不同于所述第一相位的第二相位结束,以及通过检测所述第二前同步信号和所述第一同步标志确定所述目标数据扇区响应于所述写命令而已经被写入。

说明书 :

在主机读取未写的数据扇区时返回虚假数据给主机的磁盘

驱动器

背景技术

[0001] 相关技术的描述
[0002] 磁盘驱动器包括磁盘和连接到致动臂末端的磁头,所述致动臂由音圈电机(VCM)驱动绕枢轴旋转,以将磁头径向地定位到磁盘上方。所述磁盘包括多个径向隔开的同心磁道,用于记录用户数据扇区和嵌入的伺服扇区。所述嵌入的伺服扇区包括磁头定位信息(例如磁道地址),该信息由磁头读取并且由伺服控制器处理,以控制致动臂在磁道间寻址时的速度。
[0003] 由于磁盘以固定的角速度旋转,所以数据率通常朝外直径磁道增加(在该处磁盘的表面更快地自旋转),从而在整个磁盘的半径上获得更加固定的线性位密度。出于简化设计的考虑,数据磁道一般结合在一起成为多个物理区,其中数据率在整个区内是固定的,并且该数据率从内径区到外径区增加。这种情况在图1中图解说明,该图显示了现有技术的包括多个磁道4的磁盘格式2,其中磁道在本例子中结合在一起以形成从磁盘的内径(ZONE1)到磁盘的外径(ZONE3)的3个物理区。图1中的现有技术磁盘格式也包括多个记录在每个磁道的圆周周围的伺服扇区60-6N。每个伺服扇区6i都包括用于存储周期模式的前同步信号8以及用于存储特定模式的同步标记10,该前同步信号允许读信号的适当增益调整和时间同步,该特定模式被用于与伺服数据域12符号同步。伺服数据域12存储粗略的磁头定位信息,例如被用于在寻址操作期间将磁头定位到目标磁道上方的磁道地址。每个伺服扇区6i进一步包括成组伺服脉冲串14(例如,A、B、C和D脉冲串),所述伺服脉冲串包括多个连续的跃迁,这些跃迁以精确间隔和关于磁道中心线的偏移被记录。成组伺服脉冲串14提供精细的磁头定位信息,用于在写/读操作期间访问磁道时的中心线跟踪。
[0004] 如果在读操作期间数据扇区是不可恢复的(例如,使用纠错码(ECC)),那么读错误被报告回主机系统。最终,由于报告给主机的读错误,磁盘驱动器可能被认为是有缺陷的并且被返还给制造商维修或调换,这对于磁盘驱动器制造商来说是不期望的保修成本。

附图说明

[0005] 图1显示现有技术磁盘格式,其包括由嵌入式伺服扇区定义的多个数据磁道。
[0006] 图2A显示根据本发明的实施例的磁盘驱动器,所述磁盘驱动器包括磁盘,在磁盘上方致动的磁头和控制电路。
[0007] 图2B是由根据本发明的实施例的控制电路执行的流程图,其中如果从主机接收读取目标数据扇区的读命令,并且确定该目标数据扇区未由主机写入,那么虚假数据(dummy data)被返回给主机。
[0008] 图3A是根据本发明的实施例的流程图,其中返回给主机的虚假数据包括预定的数据。
[0009] 图3B是根据本发明的实施例的流程图,其中如果目标数据扇区已经由主机写入但是为不可恢复的,那么就返回错误消息给主机,而如果目标数据扇区未被主机写入,那么返回虚假数据给主机。
[0010] 图3C是根据本发明的实施例的流程图,其中如果在试图读取未写的数据扇区时发生错误,那么该数据扇区被写校验,并且如果写校验失败,那么数据扇区被重定位到空闲扇区。
[0011] 图4A是根据本发明的实施例的流程图,其中在向数据扇区写入数据后,写表格被更新。
[0012] 图4B是根据本发明的实施例的流程图,其中在向数据扇区写入数据后,区写表格被更新。
[0013] 图5A和5B显示本发明的实施例,其中在制造过程中将第一同步标记写入数据扇区,并且在磁盘驱动器实际应用时在常规操作期间将第二同步标记写入数据扇区。
[0014] 图6A和6B显示本发明的实施例,其中具有第一相位的第一前同步信号在制造过程中被写到第一同步标记之前,并且具有第二相位的第二前同步信号在磁盘驱动器实际应用时在常规操作期间被写到第二同步标记之前。
[0015] 图7A和7B显示本发明的实施例,其中具有第一相位的第一前同步信号在制造过程中被写到第一同步标记之前,并且具有第二相位的第二前同步信号在磁盘驱动器实际应用时在常规操作期间被写到第一同步标记之前。

具体实施方式

[0016] 图2A显示根据本发明的实施例的磁盘驱动器,所述磁盘驱动器包括磁盘16和在磁盘上方致动的磁头18。所述磁盘16包括多个磁道20,其中每个磁道包括多个数据扇区。所述磁盘驱动器进一步包括用于执行图2B中的流程图的控制电路22,其中从主机接收从目标数据扇区读取数据(步骤24)的读命令。当目标数据扇区未被主机写入时(步骤26),虚假数据被返回给主机(步骤28)。
[0017] 当数据扇区未被主机写入时返回给主机的虚假数据可包括任何合适的数据。图3A中显示的实施例中,返回给主机的虚假数据包括预定的数据(步骤29)。所述预定的数据可以包括任何合适的数据,在一个实施例中其包括在制造过程中写入到数据扇区的制造数据。在一个实施例中,所有的数据扇区都在制造过程中被擦除,并且因此返回给主机的预定的数据包括多个零位。在另一个实施例中,虚假数据可以包括随机数据,并且在又一个实施例中,虚假数据可以包括从不可恢复的数据扇区读取的未校正的数据。
[0018] 图3B是根据本发明的实施例的流程图,其中当从主机接收到从数据扇区读取数据的读命令时(步骤40),控制电路22试图读(步骤42)数据扇区(例如从数据扇区读取制造数据)。如果数据扇区被成功读取(步骤44),那么从数据扇区读取的数据就被返回给主机。如果数据扇区是不可恢复的(步骤44)并且数据扇区已经被主机写入(步骤46),那么控制电路22返回错误给主机(步骤48)。然而,如果数据扇区未被主机写入(步骤46),那么控制电路22返回虚假数据给主机(步骤50)。因为磁盘驱动器能够返回数据给主机,而不是返回指示数据扇区是不可恢复的错误消息,这就降低了由于有缺陷而返回给制造商的磁盘驱动器的数量。在一个实施例中,当接收到从未被写入的数据扇区读取数据的读命令时,控制电路22返回虚假数据,而不尝试读取该数据扇区。
[0019] 在图2A的实施例中,磁盘16包括定义多个磁道20的多个伺服扇区300-30N。控制电路22处理读信号32,以将伺服扇区300-30N解调成定位错误信号(PES)。该PES经过合适的补偿滤波器滤波后生成应用于音圈电机(VCM)36的控制信号34,所述音圈电机使致动臂38绕着枢轴旋转,以此在减少PES的方向上将磁头18径向定位到磁盘16的上方。伺服扇区300-30N可以包括任何合适的定位信息,例如用于粗略定位的磁道地址和用于精确定位的伺服脉冲串。
[0020] 图3C显示根据本发明的实施例的流程图,该流程图是图3B的流程图的扩展,其中,当不可恢复的数据扇区未被主机写入时,通过向目标数据扇区写入数据模式并且尝试重新读取目标数据扇区来对该数据扇区进行写校验(步骤52)。在一个实施例中,在写校验(步骤52)期间被写入的数据模式包括制造数据(例如零位)。如果写校验失败(步骤54),那么目标数据扇区被重新定位到空闲数据扇区(步骤56)。在这种方法中,在主机实际向目标数据扇区进行写操作之前,可检测有缺陷的数据扇区并且将其重新定位到空闲数据扇区。在一个实施例中,不可恢复的数据扇区可以被重新定位(步骤56)而不需要在该数据扇区上进行写校验操作。
[0021] 图4A是根据本发明实施例的流程图,其中写表格被初始化(步骤58),例如通过初始将所有数据扇区都标记为未写的。当从主机接收到写命令时(步骤60),数据被写入到至少一个数据扇区(步骤62)并且在写表格中的相应条目被更新为状态为“已写”(步骤64)。写表格被存储在非易失性存储器中(步骤66),例如在磁盘16上或在非易失性的半导体存储器中(例如闪存)。当磁盘驱动器被供电时,写表格就被从非易失性存储器中读取,并且在从主机接收到新的写命令时被更新。
[0022] 写表格可以以任何合适的方式实现,并且在一个实施例中,该写表格包括针对磁盘16上的每个数据扇区的一条条目(记录)。在显示在图4B的流程图中的替代实施例中,写表格识别磁盘16上的多个区,其中每个区识别多个数据扇区。区写表格被初始化(步骤68),例如通过初始将所有数据扇区都标记为未写的。当从主机收到写命令时(步骤70),数据被写入到至少一个数据区(步骤72)并且在写表格中的相应区被更新为状态“已写的”(步骤74)。当区被更新为“已写的”时,所有由该区识别的数据扇区都被赋予“已写的”状态,即使某些数据扇区实际上未被写。这个实施例可以通过减少在写表格中的条目数量来降低管理开销和存储要求。
[0023] 图5A和5B图解说明本发明的实施例,其中取代使用写表格来识别未写的数据扇区,数据扇区被写入第一和第二同步标志76A和76B。当在制造期间写数据扇区时,第一同步标志76A被写到该数据扇区,并且在实际应用中当响应主机命令写到同一数据扇区时,第二同步标志76B被写入到该数据扇区。以这种方式,当从主机接收到从目标数据扇区读取数据的读命令时,可以通过评估检测到哪个同步标志来确定目标数据扇区是否已经在先前由主机写入。这就是说,如果第一同步标志76A被检测到,那么目标数据扇区被认为是未写的,并且如果第二同步标志76B被检测到,那么目标数据扇区被认为是已写的。
[0024] 图6A和6B图解说明本发明的实施例,其中数据扇区的前同步信号被用来增加辨别第一同步标志76A和第二同步标志76B之间区别的可靠性。在本实施例中,在制造期间,第一前同步信号78A被写入到数据扇区在第一同步标志76A之前,并且在实际应用中第二前同步信号78B被写入到数据扇区在第二同步标志76B之前。其中,第一前同步信号78A以一相位结束(例如“++”或“--”),该相位不同于第二前同步信号78B的相位(例如“+-”,“-+”)。以这种方式,只有当目标数据扇区的前同步信号以正确的相位结束时(即,只有在第二前同步信号78B被检测到时),第二同步标志76B才会被认为是正确地被检测到(并且目标数据扇区被认为已经由主机写入)。
[0025] 图7A和7B图解说明本发明的一个实施例,其中同一同步标志76A可以在制造期间和实际应用中被写入。然而,以第一相位结束的第一前同步信号78A在制造期间被写入,并且以第二相位结束的第二前同步信号78B在实际应用中被写入。在本实施例中,如果检测到第一前同步信号78A,那么数据扇区将被认为是未由主机写入;如果检测到第二同步信号78B,那么就被认为是已经由主机写入。被检测到的前同步信号可以在检测同步标志之后通过评估前同步信号的读信号样本(例如前同步信号的最后两个样本)来确定。
[0026] 在本发明的实施例中,主机可以包括任何合适的实体,例如个人计算机(PC)制造商或原始设备制造商(OEM)。在另一个实施例中,主机被虚拟实现在每个磁盘驱动器内(在固件中),其中,本实施例的一个例子公开在第7,062,398号美国专利中,该专利的公开内容通过引用合并于此。
[0027] 任何合适的控制电路可以被用于实施本发明实施例中的流程图,例如任何合适的一个或多个集成电路。举例来说,控制电路可以被实施在读通道集成电路中或者在独立于读通道的组件中,例如磁盘控制器,或者上面描述的特定步骤可以由读通道执行并且其他的步骤由磁盘控制器执行。在一个实施例中,读通道和磁盘控制器被实施为分开的集成电路,并且在可替代的实施例中他们被制作在单个集成电路中或片上系统(SOC)中。此外,控制电路可以包括被实施为独立的集成电路的合适前置电路,其被集成到读通道或磁盘控制器电路或者被集成到片上系统中。
[0028] 在一个实施例中,控制电路包括执行指令的微处理器,所述指令是可运行的以使得微处理器执行这里描述的流程图的步骤。指令可以被存储在任何计算机可读的介质中。在一个实施例中,它们可以被存储在微处理器外的非易失性半导体存储器中,或者集成到片上系统中的微处理器。在另一实施例中,指令被存储在磁盘上,并且在磁盘驱动器被供电时被读入到易失性半导体存储器中。在又一实施例中,控制电路包括合适的逻辑电路,例如状态机电路。