首页> 中国专利> 刷新区段中的区域来维持主机命令的目标吞吐量的磁盘驱动器

刷新区段中的区域来维持主机命令的目标吞吐量的磁盘驱动器

摘要

公开了一种刷新区段中的区域来维持主机命令的目标吞吐量的磁盘驱动器,其包括磁盘和在该磁盘上被驱动的磁头,所述磁盘包括多个刷新区域。所述磁盘驱动器还包括用来接收来自主机的存取命令的控制电路。所述控制电路以每个区段之间的间隔刷新多个区段中的刷新区域,并在所述区段中的至少两个区段之间的间隔中处理所述存取命令中的至少一个存取命令,其中每个区段和所述间隔的大小确保从所述主机接收的存取命令的平均吞吐量不降到第一阈值以下。

著录项

  • 公开/公告号CN101354902A

    专利类型发明专利

  • 公开/公告日2009-01-28

    原文格式PDF

  • 申请/专利权人 西部数据技术公司;

    申请/专利号CN200710300844.8

  • 申请日2007-12-29

  • 分类号G11B20/10;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-30

    授权

    授权

  • 2010-07-28

    实质审查的生效 IPC(主分类):G11B20/10 申请日:20071229

    实质审查的生效

  • 2009-01-28

    公开

    公开

说明书

技术领域

【0001】本发明涉及用于计算机系统的磁盘驱动器。具体地,本发明涉及刷新区段中的区域以维持主机命令的目标吞吐量的磁盘驱动器。

背景技术

【0002】磁盘驱动器包括磁盘和连接到致动器臂的远端的磁头,所述致动器臂通过音圈电机(VCM)绕枢轴旋转以在磁盘上径向地定位磁头。磁盘包括多个径向间隔开的同心磁道,以记录用户数据扇区和嵌入的伺服扇区。嵌入的伺服扇区包括磁头定位信息(如,磁道地址),该磁头定位信息可以由磁头读取并被伺服控制系统处理,以当致动器臂逐个磁道搜寻时控制致动器臂的速度。

【0003】由于磁盘是以恒定的角速度旋转的,所以数据速率一般朝向外直径磁道(在此处磁盘的表面在更快速地旋转)增加的,目的是跨越磁盘的各个半径获得更为恒定的线性位密度。为了简化设计的考虑,数据磁道一般被结合在一起成为许多个物理区域,其中数据速率在一个区域上是恒定的,并且数据速率从内直径区到外直径区是增加的。这图解说明于图1,图1示出了现有技术的磁盘格式2,它包括许多个数据磁道4,其中在此例中数据磁道被结合在一起,以从磁盘的内直径(区域1)到磁盘的外直径(区域3)之间形成三个物理区域。图1的现有技术的磁盘格式还包括许多个绕每个数据磁道的圆周记录的嵌入的伺服扇区60-6N。每个伺服扇区6i包括用来存储周期模式的前同步码8和用来存储用于将符号同步到伺服数据字段12的特定模式的同步标记10,周期模式允许对读信号进行适当的增益调节和定时同步。伺服数据字段12存储粗略的磁头定位信息,诸如用于在寻道操作期间在目标数据磁道上定位磁头的磁道地址。每个伺服扇区6i进一步包括伺服脉冲串组14(如,A,B,C和D脉冲串),它们包括在精确间隔记录的许多个连续转换和相对于数据磁道中心线的偏移。在写/读操作期间访问数据磁道时,伺服脉冲串组14提供用于中心线跟踪的精细的磁头位置信息。

【0004】在写操作期间,电流被施加到磁头的写元件(如,写线圈)以产生磁场,该磁场通过对磁粒(magnetic grain)的方向定向使磁盘的表面磁化(如在纵向磁记录上水平地,或在垂直磁记录上竖直地)。微粒的取向呈现出磁滞现象,从而当写磁场被移去时生成自己的磁场。在读操作期间,磁头的读元件(如,磁阻元件)将从磁盘表面发出的磁场转换成读信号,该读信号被解调成估计的数据序列。

【0005】磁粒的磁滞现象不是永久的,意思是微粒随时间会朝向随机方向(磁熵),直到磁场不再被可靠地检测到(导致复制过程中的数据错误)。磁熵可以通过各种因素猛降(precipitate),诸如增加环境温度。也就是,在较高的温度下,微粒的均匀对齐会退化得更快。使磁熵猛降的另一个因素是称作相邻磁道干扰(ATI)的现象,其中当向目标磁道写入数据时,来自写元件的边缘场会使记录在相邻磁道中的微粒的均匀对齐退化。ATI对相邻磁道的退化效应随着时间和向目标磁道的每一次写入操作妥协。最后,从磁盘表面发出的磁场会恶化到数据不再是可恢复的程度。

【0006】为了保护由于磁熵造成的灾难性的数据损失,现有技术已经建议保持在刷新区域中周期性刷新数据(读和重写数据)的刷新监控器,目的是周期性地重新对齐微粒的磁性取向。当刷新监控器触发时,表明刷新区域需要刷新,现有技术对整个区域进行刷新,这会显著降低或者甚至终止从主机接收的存取命令的平均吞吐量,直到刷新操作完成,如图2所示。

【0007】因此,需要对磁盘驱动器执行刷新操作而同时保持主机命令的足够吞吐量。

发明内容

【0008】本发明的一个实施例包括磁盘驱动器,所述磁盘驱动器包括磁盘和在该磁盘上被驱动的磁头,所述磁盘包括多个刷新区域。所述磁盘驱动器还包括用于从主机接收存取命令的控制电路。所述控制电路以每个区段之间的间隔刷新多个区段中的刷新区域,并在所述区段的至少两个区段之间的所述间隔中处理所述存取命令中的至少一个存取命令,其中每个区段和所述间隔的大小确保从所述主机接收的存取命令的平均吞吐量不降到第一阈值以下。

【0009】在一个实施例中,所述刷新区域中的至少一个刷新区域包括多个磁道。

【0010】在另一个实施例中,所述磁道形成多个物理区域,并且所述区段大小是相对于所述物理区域选择的。在一个实施例中,每个磁道包括多个数据扇区,且所述区段大小是相对于每个物理区域内的每个磁道的数据扇区的数目选择的。在另一个实施例中,每个磁道包括多个数据扇区,当在所述物理区域中的一个物理区域切换磁道时,偏斜(skew)数据扇区的数目与邻近的存取模式相关联;且所述区段大小是相对于偏斜数据扇区的数目选择的。

【0011】在又一个实施例中,所述控制电路使用区段之间的第一间隔保持安排待刷新的刷新区域的第一优先级队列;并使用区段之间的第二间隔保持安排待刷新的刷新区域的第二优先级队列,其中所述第二间隔比所述第一间隔短。在一个实施例中,所述第一间隔的持续时间确保从所述主机接收的存取命令的平均吞吐量不降到所述第一阈值以下,且所述第二间隔的持续时间确保从所述主机接收的存取命令的平均吞吐量不降到第二阈值以下,所述第二阈值小于所述第一阈值。在另一个实施例中,所述控制电路为每个刷新区域保持刷新监控器;并且如果相应的刷新监控器超过一阈值,则将保存在所述第一优先级队列中的所述刷新区域中的一个刷新区域转移到所述第二优先级队列。

【0012】在又一个实施例中,所述控制电路调节所述间隔,并且在一个实施例中,所述控制电路保持从所述主机接收的存取命令的命令队列,并基于所述命令队列中存取命令的数目调节所述间隔。在另一个实施例中,所述控制电路保持安排待刷新的刷新区域的刷新队列,并基于所述刷新队列中刷新区域的数目调节所述间隔。

【0013】本发明的另一个实施例包括一种操作磁盘驱动器的方法,所述磁盘驱动器包括磁盘和在该磁盘上被驱动的磁头,所述磁盘包括多个刷新区域。存取命令是从主机接收的,且刷新区域是在多个区段中以每个区段之间的间隔被刷新的,其中在所述区段的至少两个区段之间的所述间隔中处理至少一个存取命令,且每个区段和所述间隔的大小确保从所述主机接收的存取命令的平均吞吐量不降到第一阈值以下。

附图说明

【0014】图1示出多个磁道结合在一起以形成多个物理区域的现有技术的磁盘格式。

【0015】图2图解说明在现有技术中从主机接收的存取命令的平均吞吐量是如何由于刷新一个区段中的刷新区域而降为零的。

【0016】图3A示出根据本发明的一个实施例的磁盘驱动器,它包括磁盘,在该磁盘上被驱动的磁头和控制电路。

【0017 】图3B是根据本发明的一个实施例由控制电路执行的流程图,用于刷新区段中的刷新区域来确保从主机接收的存取命令的平均吞吐量不降到第一阈值以下。

【0018】图4A和4B图解说明以每个区段之间的间隔刷新区段中的刷新区域是如何确保从主机接收的存取命令的平均吞吐量不降到第一阈值以下。

【0019】图5图解说明本发明的一个实施例,其中区段的大小是相对于每个磁道的数据扇区的数目和每个物理区域中偏斜数据扇区的数目选择的。

【0020】图6示出根据本发明一个实施例的刷新监控器,其中刷新区域被插入第一优先级队列中,并且如果刷新监控器表明迫切需要刷新,则将刷新区域转移到较高的优先级队列。

【0021】图7A和7B示出本发明的一个实施例,其中使用较小的间隔来刷新较高优先级队列中的区域以加速刷新过程。

【0022】图8A是根据本发明的一个实施例的流程图,其中刷新区域的区段之间的间隔是相对于命令队列中的存取命令的数目调节的。

【0023】图8B是根据本发明的一个实施例的流程图,其中刷新区域的区段之间的间隔是相对于刷新队列中的刷新区域的数目调节的。

具体实施方式

【0024】图3A示出了根据本发明的一个实施例的磁盘驱动器,其包括具有多个刷新区域(如,刷新区域1-3)的磁盘2和在磁盘2上被驱动的磁头4。磁盘驱动器还包括用于从主机接收存取命令的控制电路6。控制电路6执行图3B的根据本发明一个实施例的流程图。当刷新区域需要刷新时(步骤8),控制电路6以每个区段之间的间隔刷新多个区段(步骤10)中的刷新区域,并在至少两个区段之间的间隔中处理至少一个存取命令(步骤12),其中每个区段和间隔的大小确保从主机接收的存取命令的平均吞吐量不降到第一阈值以下。刷新操作继续直到刷新区域的所有区段都已经被刷新(步骤14)。

【0025】在图3A的实施例中,磁盘2包括多个嵌入的伺服扇区160-16N,它们定义了多个数据磁道18。磁头4被连接到致动器臂20的远端,致动器臂20通过音圈电机(VCM)22绕枢轴旋转,目的是在磁盘2上径向地驱动磁头4。控制电路6处理从磁头4发出的读信号以解调嵌入的伺服扇区中的信息。已解调的伺服信息(位置误差信号)然后被处理(如,使用合适的补偿滤波)以生成施加到VCM 22的位置控制信号24,目的是在目标数据磁道上定位磁头4(寻找目标数据磁道并跟踪目标数据磁道的中心线)。在一个实施例中,每个数据磁道被分割成许多个数据扇区,其中写/读操作是一次在一个或更多个数据扇区上执行的。

【0026】在图3A的实施例中,数据磁道18被结合在一起,成为从磁盘的内直径到外直径的多个刷新区域。然而,可以以任何合适的方式定义刷新区域,包括相对于逻辑块地址或物理块地址定义刷新区域。在一个实施例中,刷新区域可以在多个磁盘表面上延伸。

【0027】图4A和4B图解说明了以每个区段之间的间隔刷新区段中的刷新区域是如何确保从主机接收的存取命令的平均吞吐量不降到第一阈值TH1以下的。可以以任何合适的方式测量平均吞吐量,诸如每秒接收的存取命令的数目。在图4A中,y-轴表示主机命令的平均吞吐量,x-轴表示时间。在图4B中,y-轴表示在间隔T之间被刷新的数据量(区段大小),x-轴表示时间,其中在本发明的实施例中,任何合适的阈值TH1和任何合适的对应区段大小和间隔T都可以被选择。例如,可以为一个族的磁盘驱动器选择阈值TH1,或者阈值TH1可以在现场相对于特定用户或特定操作环境的需求进行配置。在下文描述的实施例中,区段大小和/或间隔是相对于磁盘驱动器的工作参数可调节的,诸如命令队列中的存取命令的数目或排队等待刷新的刷新区域的数目。

【0028】在一个实施例中,磁道形成类似于图1所示的现有技术磁盘格式的多个物理区域,其中物理区域可以与刷新区域相同或不同。记录在数据扇区中的数据的数据速率可以从内直径物理区到外直径物理区被提高,目的是保持更为恒定的线性位记录密度。在一个实施例中,区段大小是相对于物理区域选择的,例如,通过相对于每个物理区域内的每个磁道的数据扇区的数目选择区段大小。在另一个实施例中,在一个物理区域中切换磁道时,偏斜数据扇区的数目与邻近的存取模式相关,并且区段大小是相对于每个物理区域内每个磁道的数据扇区的数目和偏斜数据扇区的数目选择的。

【0029】每个物理区域的偏斜数据扇区的数目的一个例子图解说明于图5,图5示出了切换磁道时,物理区域1可以有一个偏斜数据扇区,物理区域2有两个偏斜数据扇区,物理区域3有3个偏斜数据扇区。实际上,每个物理区域可以有显著更多的偏斜数据扇区,并且在一个实施例中,通过楔的数量(如连续的伺服扇区16之间的数据扇区的数目)可以测量偏斜数据扇区的数目。由于切换磁道耗费时间,所以在一个实施例中,通过切换等待时间减小区段大小。例如,在一个实施例中,将区段大小选择为2×(每个磁道的数据扇区)——2.5×(偏斜数据扇区)。所以如果一特定的物理区域包括每个磁道100个数据扇区和10个偏斜数据扇区,则区段大小等于2×(100)-2.5×(10)=175个数据扇区。在一个实施例中,一旦选择了区段大小,则可选择该区段大小的间隔T。所选择的区段大小和间隔T可以产生阈值TH1,即区段大小和间隔将确保从主机接收的存取命令的平均吞吐量不降到第一阈值TH1以下。在另一个实施例中,一旦选择了间隔T,则可以相对于间隔T选择区段大小。间隔T和/或区段大小对于一类磁盘驱动器可能是固定的,或者可基于磁盘驱动器的工作状况调节,下文将对其更全面地描述。

【0030】在本发明的实施例中可以采用任何合适的刷新监控器来确定刷新区域何时需要被刷新。图6示出可以由控制电路6实现的一个示例性的刷新监控器,它包括第一计数器26和第二计数器30,第一计数器26以建立一刷新间隔的频率28计时,第二计数器30由写信号32在每次对刷新区域执行写操作时计时。因此,图6的刷新监控器可以被认为是跟踪由写入刷新区域的次数偏置的刷新间隔,以补偿写操作对磁熵的猛降效应。计数器26的输出与计数器30的输出在加法器34处合并,并且当加法器34的输出超过比较器38处的第一阈值36时,相应的刷新区域可以被插入到具有第一优先级的第一队列。一旦刷新区域从第一队列中被选择,并被刷新,则计数器26和30可以被刷新信号40复位。然而,如果在刷新区域被刷新之前,加法器34的输出超过比较器44处的第二阈值42,则刷新区域可以从第一队列转移到具有较高优先级的第二队列,从而加速该刷新区域的刷新操作。也就是,存储在第二队列中的刷新区域可以在存储在第一队列中的刷新区域之前被刷新。

【0031】在一个实施例中,控制电路6采用区段之间的第一间隔保持安排待刷新的刷新区域的第一优先级队列,并采用区段之间的第二间隔保持安排待刷新的刷新区域的第二优先级队列,其中第二间隔比第一间隔短。在一个实施例中,第一间隔的持续时间确保从主机接收的存取命令的平均吞吐量不降到第一阈值以下,第二间隔的持续时间确保从主机接收的存取命令的平均吞吐量不降到小于第一阈值的第二阈值以下。该实施例图解说明于图7A和7B中,其中第一刷新区域(区域1)是从第一优先级队列中选择的,并在第一刷新间隔T1被刷新,这防止从主机接收的存取命令的平均吞吐量降到第一阈值TH1以下。刷新第一刷新区域(区域1)时,第二刷新区域(区域2)从第一优先级队列被转移到第二优先级队列。然后第二刷新区域从第二优先级队列中被选择并在第二间隔T2被刷新,这防止从主机接收的存取命令的平均吞吐量降到第二阈值TH2以下。将间隔从T1降低到T2有助于确保接近其刷新极限的刷新区域以及时的方式被刷新,代价是降低从主机接收的存取命令的平均吞吐量。

【0032】在一个实施例中,控制电路6可以使用任何适当的标准调节刷新间隔和/或区段大小。图8A示出了可以由控制电路6执行的流程图,其中从主机接收的存取命令被存储在命令队列中(步骤46),并且随后基于命令队列中的存取命令的数目调节间隔(和/或区段大小)  (步骤48)。例如,当更多的存取命令在命令队列中排队时可以增大该间隔以有助于维持存取命令的期望吞吐量。当命令队列中的存取命令的数目减少时,可以减小此间隔以有助于加速排队的刷新区域的刷新。调节间隔和/或区段大小还可以改变阈值TH1(图4A),这样,例如由于被处理的存取命令更少,较短的间隔可以使阈值TH1减小。

【0033】图8B示出根据另一个实施例可以由控制电路6执行的流程图,其中需要待刷新的刷新区域(步骤50)被插入到刷新队列(步骤52),并且控制电路6基于在刷新队列中排队的刷新区域的数目调节区段之间的间隔(步骤54)。例如,当排队等待刷新的刷新区域的数目增加时,可以减小此间隔以确保以及时的方式处理刷新区域。如上所述,修改间隔可以减小或增大阈值TH1(图4A)。

【0034】在本发明的另一个实施例中,可以基于任何合适的标准,诸如在命令队列中的存取命令的数目,取消或延迟对刷新区域的刷新操作。在一个实施例中,刷新操作被取消后,从刷新区域的起始位置重新开始刷新操作,而在另一个实施例中,在刷新操作停止(即,刷新操作被延迟)的区段处重新开始刷新操作。在又一个实施例中,在延迟刷新操作之前,结束被刷新的当前区段,该区段之后的间隔被延长,直到已经处理了足够的存取命令,然后继续刷新操作。相应地,在一个实施例中,可基于任何合适的标准为单个刷新区域中的每个区段调节间隔,诸如基于在命令队列中的存取命令的数目。例如,如果刷新区域中每个区段的间隔被减小,则这可以产生具有向下的倾斜的主机平均吞吐量曲线,而不是如图4A所示的水平线。这可以产生阈值TH1,其在倾斜的主机平均吞吐量曲线的底部。

【0035】任何合适的控制电路6都可以用在本发明的实施例中,诸如任何合适的集成电路或电路。例如,控制电路6可以在读通道集成电路中实现,或在与读通道分离的元件中实现,诸如磁盘控制器,或者以上描述的某些步骤可以由读通道执行,而其它步骤可以由磁盘控制器执行。在一个实施例中,读通道和磁盘控制器可以实现为分开的集成电路,并且在替代的实施例中,可以将它们制成单个集成电路或片上系统(SOC)。此外,控制电路可以包括用单独的集成电路实现的适用的前置放大器电路,其被集成到读通道或磁盘控制器电路中,或被集成到SOC中。

【0036】在一个实施例中,控制电路6包括执行指令的微处理器,所述指令可被操作以使微处理器执行本文描述的流程图的步骤。指令可以存储在任何计算机可读的介质中。在一个实施例中,指令可以存储在微处理器外部的非易失性半导体存储器中,或与微处理器集成在SOC内。在另一个实施例中,指令被存储在磁盘2上,并且当磁盘驱动器被加电时,指令被读入易失性半导体存储器中。在又一个实施例中,控制电路6包括合适的逻辑电路,诸如状态机电路。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号