磁盘装置以及磁盘装置的命令重新排序方法与流程

文档序号:13737765阅读:201来源:国知局
磁盘装置以及磁盘装置的命令重新排序方法与流程

本实施方式主要涉及磁盘装置以及磁盘装置的命令重新排序(commandreordering)方法。



背景技术:

在磁盘装置中,为了减少向磁盘写入时的等待时间,会将写入命令进行重新排序。



技术实现要素:

本发明的一个实施方式提供能够使写入工作高效化的磁盘装置以及磁盘装置的命令重新排序方法。

根据本发明的一个实施方式,提供磁盘装置的命令重新排序方法,所述磁盘装置具备磁盘;磁头,其对所述磁盘进行访问;音圈马达,其在所述磁盘上驱动所述磁头;以及驱动电路,其驱动所述音圈马达,所述命令重新排序方法包括:存储包括相对于所述磁头的寻道距离的寻道时间的与寻道工作有关的信息,根据温度和所述驱动电路的电源电压,变更相对于所述寻道距离的所述寻道时间。

附图说明

图1是表示一实施方式涉及的磁盘装置的概略结构的框图。

图2是表示一实施方式涉及的磁盘装置的vcm电流的控制系统的概略结构的框图。

图3是表示一实施方式涉及的磁盘装置的寻道表的构成例的图。

图4的(a)是表示一实施方式涉及的磁盘装置的写入命令的执行位次的一例的图,(b)是表示基于(a)的执行位次的寻道路径的一例的图,(c)是表示一实施方式涉及的磁盘装置的写入命令的执行位次的其他例的图,(d)是表示基于(c)的执行位次的寻道路径的一例的图。

图5的(a)是表示一实施方式涉及的磁盘装置的重新排序时的上位处理部的处理的流程图,(b)是表示一实施方式涉及的磁盘装置的重新排序时的下位处理部的处理的流程图,(c)是表示一实施方式涉及的磁盘装置的写入工作时的下位处理部的处理的流程图。

图6的(a)是表示一实施方式涉及的磁盘装置的使用修正前的寻道时间来进行重新排序时的温度与iops值之间的关系的图,(b)是表示一实施方式涉及的磁盘装置的使用修正后的寻道时间进行重新排序时的温度与iops值之间的关系的图。

图7的(a)是表示一实施方式涉及的磁盘装置的使用修正前的寻道时间来进行重新排序时的温度与重试次数之间的关系的图,(b)是表示一实施方式涉及的磁盘装置的使用修正后的寻道时间来进行重新排序时的温度与重试次数之间的关系的图。

具体实施方式

下面,参照附图,对实施方式涉及的磁盘装置及其命令重新排序方法详细地进行说明。此外,本发明并不由这些实施方式限定。

图1是表示一实施方式涉及的磁盘装置的概略结构的框图。

在图1中,在磁盘装置设置有磁盘1以及磁头2。在磁头2设置有由头滑块支撑的写入头以及读取头(均未图示)。写入头以及读取头错开配置在磁盘1的圆周方向上。磁头2经由臂3保持在磁盘1上。在寻道时等,臂3使磁头2在磁盘1的记录面的大致半径方向上滑动。

在磁盘1上,沿着圆周方向设置有多个磁道t。在各磁道t设置有可写入用户数据的数据域da以及写入了伺服数据的伺服域ss。伺服域ss呈大致放射状地配置在磁盘1的记录面上,在圆周方向的伺服域ss之间配置有数据域da。由连续设置于圆周方向的伺服域ss以及数据域da构成伺服扇区se。在伺服域ss中记录有扇区及柱面信息。扇区及柱面信息能够分配磁盘1的圆周方向以及半径方向的伺服地址(也称为地址信息)。作为圆周方向的伺服地址,能够对m等分得到的每个扇区se依次分配0到m-1的值。作为半径方向的伺服地址,能够对x条磁道t的每条磁道依次分配0到x-1的值。

另外,在磁盘装置设置有经由臂3驱动磁头2的音圈马达4以及驱动音圈马达4的vcm驱动电路12。另外,在磁盘装置设置有控制器7以及头放大器5a。头放大器5a输出对磁头2供给的写入电流,并且放大由磁头2读出的再现信号。控制器7基于位置误差信息pes对磁头2的位置进行控制,并且对队列q所保持的写入命令以及读取命令进行重新排序。

在控制器7设置有信号处理电路5、位置检测电路6、读写通道7a、cpu8(处理器的一例)、rom9、缓冲器10以及接口电路11。信号处理电路5将通过磁头2读取到的伺服数据转换为可由cpu8处理的数据形式。位置检测电路6基于通过磁头2读取到的伺服数据,生成与磁头2的半径方向的定位误差相应的位置误差信息pes。读写通道7a将通过磁头2(读取头)再现的信号转换为可由主机20处理的数据形式,并且将从主机20输出的数据转换为可由磁头2(写入头)记录的信号形式。作为这种形式转换,包括da转换、编码、ad转换以及复合化。另外,读写通道7a进行由读取头进行了再现的信号的解码处理,并且将从主机20输出的数据进行编码调制。在rom9中,能够保存使cpu8工作的程序等。例如,能够使rom9存储访问控制程序9a、伺服控制程序9b以及寻道表9c。此外,也可以与rom9不同地设置可改写的非易失性存储器,例如寻道表9c存储于该非易失性存储器。该非易失性存储器和/或rom9也可以构成为设置在控制器7的外部。

访问控制程序9a能够使cpu8执行对队列q所保持的写入命令的重新排序以及对队列q所保持的读取命令的重新排序。伺服控制程序9b能够使cpu8执行向磁盘1写入数据时或者从磁盘1读取数据时的伺服控制。寻道表9c能够描述磁头2的寻道距离与寻道时间之间的关系。寻道距离是从磁头2的当前的柱面位置到由来自主机20的命令指定的目标柱面位置为止的移动距离。寻道时间是从磁头2的当前的柱面位置到由命令指定的目标柱面位置为止的移动时间。缓冲器10能够提供暂时存储cpu8的工作所需的数据的工作区。缓冲器10能够将从主机20发送来的写入命令和/或读取命令保持在队列q中。缓冲器10例如可以使用可随机访问的sdram或者sram等。

接口电路11能够在控制器7与主机20之间递接数据和/或命令等。例如,接口电路11能够将从控制器7发送来的数据转换为可由主机20处理的数据形式,并且将从主机20发送来的数据转换为可由控制器7处理的数据形式。

主机20既可以是将写入命令和/或读取命令等发布到磁盘装置的个人计算机或其周边电路,也可以是能够与服务器等连接的网盘。即,磁盘装置作为主机20的外部存储装置加以利用。磁盘装置既可以外置于主机20,也可以内置于主机20。

以下,说明磁盘装置的写入工作的例子。

当从主机20发送来写入命令时,该写入命令被保持在队列q中。在写入命令中,能够随机地指定写入数据的写入位置。而且,cpu8基于磁头2的当前位置以及由写入命令指定的写入位置,算出寻道距离。然后,cpu8通过参照寻道表9c,取得与该寻道距离对应的寻道时间,并基于温度和vcm驱动电路12的电源电压,修正该寻道时间。

而且,cpu8基于该修正后的寻道时间,将队列q所保持的写入命令重新排序。然后,cpu8按照该重新排序后的执行顺序来执行写入命令。

此时,经由磁头2从旋转的磁盘1读取到的伺服数据通过信号处理电路5进行处理。接着,在位置检测电路6中,基于由磁头2得到的伺服数据的读取结果算出磁头2的解调位置,生成与磁头2的位置误差(即,算出的解调位置与磁头2的定位目标位置之差)相应的位置误差信息pes。在该位置误差信息pes的算出中,能够根据磁盘1所记录的扇区及柱面信息来算出磁头2的当前的伺服地址(地址信息)。然后,能够根据磁头2的当前的地址信息、解调位置和目标位置来算出位置误差信息pes。而且,通过以一定时间间隔将算出的位置误差信息pes输入到控制器7,控制器7能够构成决定向vcm驱动电路12的输入信息的样本值控制系统。此时,控制器7能够控制vcm驱动电路12以使得位置误差信息pes接近于0。而且,在磁头2寻道到由写入命令指定的写入位置时,可在该写入位置写入写入数据。

图2是表示一实施方式涉及的磁盘装置的vcm电流的控制系统的概略结构的框图。

在图2中,除了图1的构成以外,在磁盘装置还设置有电源13、电压传感器14、温度传感器15以及感测电阻16。在音圈马达4设置有磁体4a以及线圈4b。电源13将电源电压vd1供给到cpu8,并向vcm驱动电路12供给电源电压vd1、vd2。电源电压vd2比电源电压vd1大。此时,例如电源电压vd1可以设定为5v、电源电压vd2可以设定为12v。在vcm驱动电路12中,电源电压vd1能够用于数字电路,电源电压vd2能够用于模拟电路。此时,电源电压vd2能够用于磁头2的寻道工作。电压传感器14检测从电源13供给的电源电压vd1、vd2。温度传感器15检测音圈马达4的温度。温度传感器15既可以直接安装在音圈马达4上,也可以安装在设置了音圈马达4的壳体(vcm附近的壳体)上、或者与vcm的设置位置对应的壳体外部的基板上。此时,温度传感器15能够检测寻道电流is流经线圈4b时由线圈4b的发热引起的温度上升。感测电阻16检测从vcm驱动电路12供给到音圈马达4的寻道电流is。vcm驱动电路12经由布线ha与线圈4b连接。感测电阻16串联连接于布线ha。

在cpu8中,根据磁头2的当前速度和到写入位置的剩余距离,设定寻道电流is的值。能够使寻道电流is随着寻道距离而增大。此时,cpu8能够通过函数计算来求出寻道电流is。然而,寻道电流is具有最大值,在寻道电流is达到最大值时,即使寻道距离增大,寻道电流is也维持不变。而且,当电源电压vd1、vd2供给到vcm驱动电路12时,可生成与由cpu8设定的值对应的寻道电流is。该寻道电流is从vcm驱动电路12经由布线ha供给到线圈4b。当寻道电流is流经线圈4b时,使磁头2进行寻道。

另外,由感测电阻16检测寻道电流is,其检测值di被输入到vcm驱动电路12。vcm驱动电路12基于检测值di来监视寻道电流is,并能够进行反馈控制以使得寻道电流is变为目标值。另外,由温度传感器15检测出音圈马达4的温度,其检测值dt被输入到cpu8。由电压传感器14检测出从电源13供给的电源电压vd1、vd2,其检测值dv被输入到cpu8。

cpu8通过参照寻道表9c,取得与寻道距离对应的寻道时间,并基于温度传感器15的检测值dt以及电压传感器14的检测值dv,修正该寻道时间。此外,在寻道时间的修正中,能够使用被用于寻道工作的电源电压vd2的检测值dv。cpu8基于该修正后的寻道时间,将队列q所保持的写入命令重新排序。而且,cpu8按照该重新排序后的执行顺序来执行写入命令。此时,能够对每个写入命令算出寻道距离,并根据该寻道距离算出寻道电流is的值。

在此,若将温度传感器15的检测值设为dt、将音圈马达4的温度修正后的磁体磁力设为j1、将磁体基准磁力设为j2、将磁体基准温度设为tm、将磁体温度系数设为jk、将音圈马达4的温度修正后的线圈电阻设为r1、将线圈基准电阻设为r2、将线圈基准温度设为tc、将线圈温度系数设为ck、将寻道所需的电压设为vs、将在寻道时间的修正中使用的寻道所需的最大电流设为ih、将感测电阻16的值设为rs、将vcm驱动电路12的导通电阻设为rn、将布线ha的电阻值设为rh、将电压裕量设为vm、将寻道时间设为ts、将寻道时间修正值设为th,则能够满足以下的关系:

j1=jk×(dt-tm)+j2…(1)

r1=ck×(dt-tc)+r2…(2)

vs=j1/j2×ih×(r1+rs+rn+rh)×vm…(3)

th=ts×(sqrt(vs/vd2)-1)…(4)

sqrt表示求出平方根的运算。

此时,修正后的寻道时间tsh可以由下式给出。

tsh=th+ts…(5)

根据式(5),如果音圈马达4的温度升高,则修正后的寻道时间tsh变大。如果vcm驱动电路12的电源电压vd2降低,则修正后的寻道时间tsh变大。此外,例如磁体基准温度以及线圈基准温度可以设定为30℃。也可以使寻道所需的最大电流ih随着寻道距离而变化。此时,也可以与寻道表9c不同地,具有描述了寻道距离与寻道所需的最大电流ih之间的关系的表。

寻道所需的最大电流ih也可以是固定值。此时,寻道所需的最大电流ih能够使用寻道电流is的最大值。在此,通过将寻道所需的最大电流ih设为固定值,从而能够不需要描述了寻道距离与寻道所需的最大电流ih之间的关系的表。

图3是表示一实施方式涉及的磁盘装置的寻道表的构成例的图。

在图3中,在寻道表9c中分别描述有磁头2的寻道距离d1~dm(m是2以上的整数)与寻道时间t1~tm之间的关系。寻道表9c所登记的寻道时间t1~tm能够设定为基准温度以及基准电源电压的值。例如,可以设定基准温度为30℃、基准电源电压为12v。

图4的(a)是表示一实施方式涉及的磁盘装置的写入命令的执行位次的一例的图,图4的(b)是表示基于图4的(a)的执行位次的寻道路径的一例的图,图4的(c)是表示一实施方式涉及的磁盘装置的写入命令的执行位次的其他例的图,图4的(d)是表示基于图4的(c)的执行位次的寻道路径的一例的图。

在图4的(a)中,队列q中保持有写入命令wa~wd。在各写入命令wa~wd中指定写入位置pa~pd。在此,将写入命令wa~wd重新排序以指定接下来所执行的写入命令的等待时间最短的写入位置。等待时间能够由寻道时间和旋转等待时间之和来表示。旋转等待时间是从磁头2的寻道后到目标扇区到达磁头2下为止的磁盘1旋转所需的时间。

在该情况下,如图4的(b)所示,能够将写入命令wa~wd的执行顺序设定为wa→wb→wc→wd这一执行顺序。即,若从磁头2的当前位置起等待时间最少的是写入位置pa,则将写入命令wa的执行位次设定为第1位。若磁头2位于写入位置pa时等待时间最少的是写入位置pb,则将写入命令wb的执行位次设定为第2位。若磁头2位于写入位置pb时等待时间最少的是写入位置pc,则将写入命令wc的执行位次设定为第3位。若磁头2位于写入位置pc时等待时间最少的是写入位置pd,则将写入命令wd的执行位次设定为第4位。

在此,通过将写入命令wa~wd重新排序,与从排队较早的开始依次执行写入命令wa~wd的情况相比,能够减少执行写入命令wa~wd时的等待时间。

另一方面,在图4的(c)中,对写入命令wa~wd重新排序以使得指定4个写入命令wa~wd全部被执行时的整体的等待时间最少的写入位置。在该情况下,如图4的(d)所示,能够将写入命令wa~wd的执行顺序设定为wa→wc→wb→wd这一执行顺序。在该方法中,即使在磁头2位于写入位置pa时等待时间最少的是写入位置pb、磁头2位于写入位置pb时等待时间最少的是写入位置pc的情况下,也不会将写入命令wb的执行位次设定为第2位、将写入命令wc的执行位次设定为第3位。其原因在于,若以这种方式进行设定,则磁头2位于写入位置pc时要寻道到写入位置pd是需要时间的。

在该方法中,能够预读4个写入命令wa~wd。而且,能够在对写入命令wa~wd重新排序前,认识到磁头2位于写入位置pc时要寻道到写入位置pd是需要时间的。因此,在通过包括wc→wd这一执行顺序而使4个写入命令wa~wd全部被执行时的整体的等待时间变长的情况下,能够选择与图4的(b)不同的执行写入命令wa~wd的顺序。而且,在通过将写入命令wa~wd的执行顺序设定为wa→wc→wb→wd这一执行顺序而使4个写入命令wa~wd全部被执行时的整体的等待时间最短的情况下,能够选择该执行顺序。

在图4的(b)的执行位次的设定方法中,重新排序时仅参照下一个写入命令的写入位置。而在图4的(d)的执行顺序的设定方法中,重新排序时参照4个写入命令的写入位置。因此,在图4的(c)的执行顺序的设定方法中,与图4的(a)的执行顺序的设定方法相比,能够减少执行全部写入命令wa~wd所花费的等待时间。在此,等待时间的算出可以使用基于图2的温度传感器15的检测值dt以及电压传感器14的检测值dv而修正后的寻道时间。

此外,在图4的(c)以及图4的(d)中,虽然以预读4个写入命令的方法为例,但实施方式涉及的磁盘装置可以预读k(k是2以上且n以下的整数)个写入命令。

图5的(a)是表示一实施方式涉及的磁盘装置的重新排序时的上位处理部的处理的流程图,图5的(b)是表示一实施方式涉及的磁盘装置的重新排序时的下位处理部的处理的流程图,图5的(c)是表示一实施方式涉及的磁盘装置的写入工作时的下位处理部的处理的流程图。此外,访问控制程序9a能够使cpu8作为上位处理部进行工作。伺服控制程序9b能够使cpu8作为下位处理部进行工作。在图5的(b)的流程图中,示出将寻道所需的最大电流ih固定为寻道电流is的最大值的情况。在以下的说明中,以图4的(d)的重新排序方法为例。

如图5的(a)所示,在重新排序时,上位处理部基于由写入命令指定的写入位置和当前的位置来算出寻道距离(s1)。此外,在图4的(c)的执行位次的设定方法中,能够对队列q所保持的所有写入命令间的组合算出寻道距离。例如,若在队列q中保持有4个写入命令wa~wd,则能够算出关于当前位置→wa~wd的每一个、wa→wb、wa→wc、wa→wd、wb→wc、wb→wd以及wc→wd的寻道距离。

接着,上位处理部请求下位处理部算出寻道时间(s2)。此时,寻道距离由上位处理部提供给下位处理部,如图5的(b)所示,下位处理部取得寻道距离(s11)。

接着,下位处理部参照温度传感器15的检测值dt,按照式(1)算出温度修正后的磁体磁力j1(s12),并且,按照式(2)算出温度修正后的线圈电阻r1(s13)。接着,下位处理部取得寻道电流is的最大值(s14),按照式(3)算出寻道所需的电压vs(s15)。接着,下位处理部参照寻道表9c,取得修正前的寻道时间(s16),参照电源电压vd2,按照式(4)算出寻道时间修正值th(s17)。然后,下位处理部按照式(5)算出修正后的寻道时间tsh(s18)。此时,修正后的寻道时间tsh从下位处理部提供给上位处理部,如图5的(a)所示,上位处理部取得修正后的寻道时间tsh(s3)。

接着,上位处理部从队列q所保持的n(n是2以上的整数)个写入命令中预读k(k是2以上且n以下的整数)个写入命令,对该k个写入命令执行重新排序处理(s4)。在该重新排序处理中,能够调换写入命令的执行顺序以使得与从排队较早的开始依次执行k个写入命令的情况相比,执行全部k个写入命令时的等待时间减少。此时,能够选择k个写入命令的执行顺序中的、等待时间最少的执行顺序。

接着,上位处理部使下位处理部进行关于k个写入命令的写入请求(s5)。下位处理部将写入命令的执行位次j设定为1(s21)。接着,下位处理部执行关于执行位次j的写入命令的寻道(s22),在该寻道目的地执行数据写入(s23)。下位处理部判断是否为j=k(s24)。在并非j=k的情况下(s24:否),将j递增1后(s25),返回到s22。在j=k的情况下(s24:是),结束写入处理。

如上所述,通过基于检测出的温度以及vcm驱动电路12的电源电压vd2来修正寻道时间,能够提高对于工作环境的变动的鲁棒性。因此,能够根据工作环境将音圈马达4的性能发挥到极限附近,能够使写入工作高效化。

另外,通过由下位处理部执行对电源电压vd2以及温度传感器15的检测值dt的管理以及对寻道时间的修正,由上位处理部执行重新排序,能够使修正寻道时间的运算高效化。

图6的(a)是表示一实施方式涉及的磁盘装置的使用修正前的寻道时间来进行重新排序时的温度与iops(inputoutputpersecond,每秒的读写次数)值之间的关系的图,图6的(b)是表示一实施方式涉及的磁盘装置的使用修正后的寻道时间进行重新排序时的温度与iops值之间的关系的图。iops值是将磁盘装置1秒钟能够处理的来自主机20的i/o请求数值化得到的值。此外,图6的(b)表示将寻道所需的最大电流ih固定为寻道电流is的最大值的情况。

如图6的(a)以及图6的(b)所示,在使用修正后的寻道时间进行重新排序的情况下(图6的(b)),与使用修正前的寻道时间进行重新排序的情况(图6的(a))相比,iops值在温度范围整体(ta)、例如-4℃~64℃的范围内变大。其原因在于,在使用修正前的寻道时间的情况下,会取得大的裕量以使得即使温度发生变化iops值也尽量不变,而在使用修正后的寻道时间的情况下,能够随着温度的变化使寻道时间最优化。然而,由于在使用修正后的寻道时间的情况下裕量很小,所以与使用修正前的寻道时间的情况下相比,与电源电压vd2的变动相对的iops值的不均衡很大。例如,在图6的(a)的某个温度(tb)例如28℃下,使用了修正前的寻道时间时的与电源电压vd2的变动相对的iops值的不均衡的范围是ha,而在图6的(a)的相同的某个温度下,使用了修正后的寻道时间时的与电源电压vd2的变动相对的iops值的不均衡的范围是hb。另外,在使用修正前的寻道时间的情况下,存在iops值急剧下降的温度范围(b1)、例如52℃~64℃,但在使用修正后的寻道时间的情况下,在该温度范围(b1)内也能够抑制iops值的急剧下降。

图7的(a)是表示一实施方式涉及的磁盘装置的使用修正前的寻道时间来进行重新排序时的温度与重试次数之间的关系的图,图7的(b)是表示一实施方式涉及的磁盘装置的使用修正后的寻道时间来进行重新排序时的温度与重试次数之间的关系的图。重试次数相当于为了向目标位置进行寻道所需的磁盘1的转速。此外,图7的(b)表示将寻道所需的最大电流ih固定为寻道电流is的最大值的情况。

在图7的(a)中,在使用修正前的寻道时间进行重新排序的情况下,在相对低温的温度范围(b2)内,一旦电源电压vd2变为11.4v以下,则与电源电压vd2为11.6v以上的情况相比,重试次数急剧增加。在使用修正前的寻道时间进行了重新排序的情况下,在相对高温的温度范围(b3)内,重试次数急剧增加。

另一方面,在图7的(b)中,在使用修正后的寻道时间进行了重新排序的情况下,能够在图7的(b)的整个温度范围内防止重试次数的急剧增加。另外,在使用修正后的寻道时间进行了重新排序的情况下,能够在电源电压vd2为11v~13v的整个范围内防止重试次数的急剧增加。

此外,在上述的实施方式中,以写入时的重新排序方法为例进行了说明,但对于读取时的重新排序方法,也能够同样地实施。

虽然对本发明的几个实施方式进行了说明,但是这些实施方式是作为例子提出的,并非旨在限定发明的范围。这些新实施方式能够以其他各种方式实施,在不偏离发明宗旨的范围内,可以进行各种省略、调换、变更。这些实施方式和/或其变形包含在发明的范围和/或宗旨中,并且,包含在技术方案所记载的发明和其等同的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1