磁盘装置以及重新排序处理方法与流程

文档序号:31563466发布日期:2022-09-20 18:59阅读:44来源:国知局
磁盘装置以及重新排序处理方法1.本技术享受以日本专利申请2021-38243号(申请日:2021年3月10日)为基础申请的优先权。本技术通过参照该基础申请而包括基础申请的全部内容。
技术领域
:2.本发明的实施方式涉及磁盘装置以及重新排序(reorder)处理方法。
背景技术
::3.磁盘装置将从主机等传送来的多个命令(command)存储于队列(queue),并执行调换对存储于队列的多个命令进行处理的顺序的重新排序处理。近年来,提出了具有多个致动器的分离式致动器(splitactuator)磁盘装置。分离式致动器磁盘装置分别独立地控制多个致动器。分离式致动器磁盘装置将与各致动器对应的多个命令存储于与各致动器对应的各队列,并对存储于与各致动器对应的各队列的多个命令进行重新排序处理。技术实现要素:4.本发明的实施方式提供能够提高访问(access)性能的磁盘装置以及重新排序处理方法。5.本实施方式涉及的磁盘装置具备:第1盘(disk);第2盘;第1头(head),其向所述第1盘写入数据,从所述第1盘读取数据;第2头,其向所述第2盘写入数据,从所述第2盘读取数据;第1致动器,其具有所述第1头;第2致动器,其具有所述第2头;以及控制器,其执行存储于与所述第1致动器对应的第1队列的命令的第1重新排序处理,并执行存储于与所述第2致动器对应的第2队列的命令的第2重新排序处理,所述控制器基于所述第2致动器的当前和将来的动作状态来选择由所述第1致动器接下来执行的第1命令,并执行所述第1命令。附图说明6.图1是表示实施方式涉及的磁盘装置的构成的一例的示意图。7.图2是表示头相对于盘的配置的一例的俯视图。8.图3是表示队列的一例的示意图。9.图4是表示实施方式涉及的重新排序处理的一例的时序图。10.图5是表示实施方式涉及的读/写动作处理的一例的示意图。11.图6是表示实施方式涉及的与致动器的头对应的寻道(seek)电流的变化和致动器的头的位置误差信号的变化的一例的示意图。12.图7是表示实施方式涉及的与致动器的头对应的寻道电流的变化和致动器的头的位置误差信号的变化的一例的示意图。13.图8是表示实施方式涉及的与致动器的头对应的寻道电流的变化和致动器的头的位置误差信号的变化的一例的示意图。14.图9是表示实施方式涉及的重新排序表的一例的示意图。15.图10是表示实施方式涉及的重新排序处理方法的一例的流程图。具体实施方式16.以下,参照附图对实施方式进行说明。此外,附图是一个例子,并不限定发明的范围。17.(实施方式)18.图1是表示实施方式涉及的磁盘装置1的构成的一例的示意图。19.磁盘装置1具备壳体hs、头盘组件(hda)10、驱动器ic20、头放大器集成电路(以下,记作头放大器ic或前置放大器)30、易失性存储器70、缓冲存储器(缓存)80、非易失性存储器90以及作为单芯片集成电路的系统控制器130。另外,磁盘装置1与主机系统(以下,简称为主机)100连接。磁盘装置1是能够分别独立地驱动后述的多个致动器ac的分离式致动器磁盘装置。磁盘装置1具有多个(例如2个)致动器ac(后述的致动器ac0和ac1)。此外,磁盘装置1也可以具有3个以上的致动器ac。此外,磁盘装置1也能够并行地驱动多个致动器ac,另外,能够通过各个致动器上的头并行地进行数据的读写。20.壳体hs具有底壁hsb。虽然在图1中表示为壳体hs仅具有底壁hsb,但实际上,壳体hs例如具有底壁hsb、沿着底壁hsb的周缘竖立设置的侧壁以及封闭由底壁hsb和侧壁构成的基部的开口的盖(cover)。21.hda10具有磁盘(以下,称为盘)dk、头hd、使主轴12旋转的主轴马达(以下,称为spm)13、臂(arm)am、致动器块(block)bk、音圈马达(以下,称为vcm)14、悬架(suspension)15以及微致动器(以下,称为ma)16。此外,hda10也可以不具有ma16。在hda10不具备ma16的情况下,头hd也可以搭载于臂am。在图1中表示了hda10的剖面。22.spm13安装于底壁hsb。在spm13的中心部分安装有主轴12。23.盘dk具有多个盘dk。盘dk安装于主轴12,通过spm13的驱动而旋转。盘dk具有表面(或上表面)、和与表面(或上表面)相反侧的背面(下表面)。以下,有时也将表面(或上表面)和/或背面(或下表面)简称为盘。在图1所示的例子中,盘dk具有盘dk0和dk1。盘dk0和dk1安装于主轴12。盘dk0例如配置在盘dk1之上。换言之,盘dk1例如配置在盘dk0与底壁hsb之间。盘dk0具有上表面s00、和与上表面s00相反侧的下表面s01。盘dk1具有上表面s10、和与上表面s10相反侧的下表面s11。此外,盘dk也可以具有3个以上的盘。以下,将沿着盘dk(的上表面和下表面)的圆周的方向称为圆周方向,将与盘dk(的上表面和下表面)的圆周方向正交的方向称为半径方向。半径方向相当于在盘dk(的上表面和下表面)中朝向内周侧和外周侧的方向。24.头hd具有多个头hd。头hd与盘dk相对。头hd具有向盘dk写入数据的写入头(写头)wh、和读取被写入到盘dk的数据的读取头(读头)rh。以下,有时也将“向盘dk写入数据的处理”称为“写入处理”,将“从盘dk读取数据的处理”称为“读取处理”。另外,有时也将“在预定的记录区域记录数据”、“从预定的记录区域读取数据”、“将头hd配置于盘dk的预定位置”、“向盘dk的预定区域写入数据”、“从盘dk的预定区域读取数据”、“以能够通信的方式与预定区域连接”等称为“访问”。25.在图1所示的例子中,头hd具有头hd0和hd1。头hd0例如具有与盘dk0的上表面s00相对的头hd00、和与盘dk0的上表面s00的相反侧的下表面s01相对的头hd01。此外,头hd0也可以仅具有1个头,还可以具有3个以上的头。头hd0具有向盘dk0写入数据的写入头wh0、和读取被写入到盘dk0的数据的读取头rh0。写入头wh0具有写入头wh00和写入头wh01。读取头rh0具有读取头rh00和读取头rh01。26.头hd00具有向盘dk0的上表面s00写入数据的写入头wh00、和从盘dk0的上表面s00读取数据的读取头rh00。头hd01具有向盘dk0的下表面s01写入数据的写入头wh01、和从盘dk0的下表面s01读取数据的读取头rh01。27.头hd1例如具有与盘dk1的上表面s10相对的头hd10、和与盘dk1的上表面s10的相反侧的下表面s11相对的头hd11。此外,头hd1也可以仅具有1个头,还可以具有3个以上的头。头hd1具有向盘dk1写入数据的写入头wh1、和读取被写入到盘dk1的数据的读取头rh1。写入头wh1具有写入头wh10和写入头wh11。读取头rh1具有读取头rh10和读取头rh11。28.头hd10具有向盘dk1的上表面s10写入数据的写入头wh10、和从盘dk1的上表面s10读取数据的读取头rh10。头hd11具有向盘dk1的下表面s11写入数据的写入头wh11、和从盘dk1的下表面s11读取数据的读取头rh11。29.致动器块bk包括多个致动器块bk。致动器块bk以能够旋转的方式安装在竖立设置于底壁hsb的轴承br上。在图1所示的例子中,致动器块bk包括致动器块bk0和bk1。致动器块bk0和bk1以能够旋转的方式安装在竖立设置于底壁hsb的轴承br上。致动器块bk0配置在致动器块bk1之上。换言之,致动器块bk1位于底壁hsb与致动器块bk0之间。30.臂am包括多个臂am。臂am连接于致动器块bk。在图1所示的例子中,臂am具有臂am0和am1。臂am0配置在臂am1之上。换言之,臂am1配置在臂am0与壳体hs的底壁hsb之间。根据致动器ac的数量,臂am也可以仅具有1个臂,还可以具有3个以上的臂。31.臂am0例如具有位于盘dk0的上表面s00侧的臂am00、和位于盘dk0的下表面s01侧的臂am01。此外,根据头hd0的数量,臂am0也可以仅具有1个臂,还可以具有3个以上的臂。臂am0连接于致动器块bk0。32.臂am1例如具有位于盘dk1的上表面s10侧的臂am10、和位于盘dk1的下表面s11侧的臂am11。此外,根据头hd1的数量,臂am1也可以仅具有1个臂,还可以具有3个以上的臂。臂am1连接于致动器块bk1。33.vcm14包括多个vcm14。vcm14连接于致动器块bk中的与臂am相反的一侧。在图1所示的例子中,vcm14包括vcm140和141。vcm140连接于致动器块bk0中的与臂am0相反的一侧。vcm141连接于致动器块bk1中的与臂am1相反的一侧。根据致动器块bk的数量,vcm14也可以仅具有1个vcm,还可以具有3个以上的vcm。34.悬架15包括多个悬架15。悬架15安装于臂am。悬架15在与连接于臂am的一端部相反的一侧的顶端部搭载有头hd。在图1所示的例子中,悬架15具有悬架150和悬架151。悬架150配置在悬架151之上。换言之,悬架151配置在悬架150与壳体hs的底壁hsb之间。根据臂am的数量,悬架15也可以仅具有1个悬架,还可以具有3个以上的悬架。35.悬架150安装于臂am0。悬架150在与连接于臂am0的一端部相反的一侧的顶端部搭载有头hd0。悬架150例如具有安装于臂am00的悬架1500、和安装于臂am01的悬架1501。悬架1500在与连接于臂am00的一端部相反的一侧的顶端部搭载有头hd00。悬架1501在与连接于臂am01的一端部相反的一侧的顶端部搭载有头hd01。此外,根据臂am0的数量,悬架150也可以仅具有1个悬架,还可以具有3个以上的悬架。36.悬架151安装于臂am1。悬架151在与连接于臂am1的一端部相反的一侧的顶端部搭载有头hd1。悬架151例如具有安装于臂am10的悬架1510、和安装于臂am11的悬架1511。悬架1510在与连接于臂am10的一端部相反的一侧的顶端部搭载有头hd10。悬架1511在与连接于臂am11的一端部相反的一侧的顶端部搭载有头hd11。此外,根据臂am1的数量,悬架151也可以仅具有1个悬架,还可以具有3个以上的悬架。37.ma16包括多个ma16。ma16安装于臂am或悬架15或头hd。ma16精细地控制头hd在半径方向上的动作。例如,相比于基于vcm14的头hd在半径方向上的动作,ma16较精细地控制头hd在半径方向上的动作。38.在图1所示的例子中,ma16包括ma160和ma161。39.ma160安装于悬架150。ma160精细地控制头hd0在半径方向上的动作。例如,相比于基于vcm140的头hd0在半径方向上的动作,ma160较精细地控制头hd0在半径方向上的动作。ma160例如具有安装于悬架1500的ma1600、和安装于悬架1501的ma1601。ma1600精细地控制头hd00在半径方向上的动作。例如,相比于基于vcm140的头hd00在半径方向上的动作,ma1600较精细地控制头hd00在半径方向上的动作。ma1601精细地控制头hd01在半径方向上的动作。例如,相比于基于vcm140的头hd01在半径方向上的动作,ma1601较精细地控制头hd01在半径方向上的动作。此外,根据悬架150的数量,ma160也可以仅具有1个ma,还可以具有3个以上的ma。40.ma161安装于悬架151。ma161精细地控制头hd1在半径方向上的动作。例如,相比于基于vcm141的头hd1在半径方向上的动作,ma161较精细地控制头hd1在半径方向上的动作。ma161例如具有安装于悬架1510的ma1610、和安装于悬架1511的ma1611。ma1610精细地控制头hd10在半径方向上的动作。例如,相比于基于vcm141的头hd10在半径方向上的动作,ma1610较精细地控制头hd10在半径方向上的动作。ma1611精细地控制头hd11在半径方向上的动作。例如,相比于基于vcm141的头hd11在半径方向上的动作,ma1611较精细地控制头hd11在半径方向上的动作。此外,根据悬架151的数量,ma161也可以仅具有1个ma,还可以具有3个以上的ma。41.致动器ac具有多个致动器ac。多个致动器ac分别以转动自如(或旋转自如)的方式安装于轴承br。换言之,多个致动器ac分别绕轴承br独立地转动。此外,多个致动器ac也可以绕轴承br并行地转动。多个致动器ac分别由悬架15、ma16、臂am、致动器块bk以及vcm14构成。多个致动器ac分别绕轴承br驱动vcm14,并且精细地驱动ma16,由此将搭载于悬架15的头hd定位在盘dk的预定位置。此外,在不具备ma16的情况下,多个致动器ac分别绕轴承br驱动vcm14,由此将搭载于悬架15的头hd定位在盘dk的预定位置。42.在图1所示的例子中,致动器ac具有致动器ac0和ac1。致动器ac0配置在致动器ac1之上。换言之,致动器ac1配置在底壁hsb与致动器ac0之间。此外,致动器ac也可以设置3个以上。43.致动器ac0以旋转自如的方式安装于轴承br。致动器ac0由悬架150、ma160、臂am0、致动器块bk0以及vcm140构成。致动器ac0绕轴承br的旋转轴驱动vcm140,并且精细地驱动ma160,由此将搭载于悬架150的头hd0定位在盘dk0的预定位置。此外,在不具备ma160的情况下,致动器ac0绕轴承br驱动vcm140,由此将搭载于悬架150的头hd0定位在盘dk0的预定位置。44.致动器ac1以旋转自如的方式安装于轴承br。致动器ac1由悬架151、ma161、臂am1、致动器块bk1以及vcm141构成。致动器ac1绕轴承br的旋转轴驱动vcm141,并且精细地驱动ma161,由此将搭载于悬架151的头hd1定位在盘dk1的预定位置。此外,在不具备ma161的情况下,致动器ac1绕轴承br驱动vcm141,由此将搭载于悬架151的头hd1定位在盘dk1的预定位置。45.图2是表示头hd相对于盘dk的配置的一例的俯视图。如图2所示,将在半径方向上朝向盘dk的外周的方向称为外方向(外侧),将与外方向相反的方向称为内方向(内侧)。在圆周方向上,将盘dk旋转的方向称为旋转方向。此外,在图2所示的例子中,旋转方向被示出为逆时针方向,但也可以是反方向(顺时针方向)。46.盘dk在其能够写入数据的区域中分配出能够由用户利用的用户数据区域dka、和写入系统管理所需的信息(以下,有时也称为系统信息)的系统区域dkb。以下,有时也将盘dk的半径方向的预定位置称为半径位置,将盘dk的圆周方向的预定位置称为圆周位置。有时也将半径位置和圆周位置统一简称为位置。例如,半径位置相当于磁道(track)或扇区(sector)(数据扇区)的半径方向的位置,圆周位置相当于预定的磁道上的扇区的圆周方向的位置。例如,位置相当于盘dk中的扇区(数据扇区)的位置。扇区(数据扇区)的位置可以由包括预定扇区的柱面(cylinder)(磁道)编号、访问预定扇区的头hd的头编号、预定扇区的扇区编号、盘dk中的预定扇区的半径位置、以及预定扇区的盘角度中的至少一个来表示。例如,扇区的位置由包括预定扇区的柱面(磁道)编号、访问预定扇区的头hd的头编号、预定扇区的扇区编号、盘dk中的预定扇区的半径位置、以及预定扇区的盘角度中的2个的组合来表示。在盘dk中可以配置至少1个磁道。以下,“磁道”以“在半径方向上将盘dk进行划分而得到的多个区域中的1个区域”、“沿盘dk的圆周方向写入的1圈的数据”、“沿盘dk的圆周方向绕1圈的路径”和其他各种含义使用。磁道包含多个扇区。“扇区”以“沿圆周方向将磁道进行划分而得到的多个区域中的1个区域”、“向沿圆周方向将磁道进行划分而得到的多个区域中的1个区域写入的数据”和其他各种含义使用。在图2所示的例子中,盘dk0分配出用户数据区域dka0和系统区域dkb0。或者,盘dk1分配出用户数据区域dka1和系统区域dkb1。47.盘dk具有未图示的多个伺服区域(以下,有时也称为伺服图案(servopattern)或伺服数据)。多个伺服图案例如在盘dk的半径方向上呈放射状地延伸,并在圆周方向上隔开预定的间隔而离散地配置。伺服图案中写入包含前导码(preamble)、伺服标记(servomark)、格雷码(graycode)、pad、脉冲串数据(burstdata)以及后置码(postcode)等的伺服数据。在伺服图案以外的用户数据区域dka内写入用户数据。48.头hd例如在寻道时通过致动器ac绕轴承br旋转而在盘dk的水平面内滑动。在图2所示的例子中,头hd0例如在寻道时通过致动器ac0绕轴承br旋转而在盘dk0的水平面内滑动。另外,头hd1例如在寻道时通过致动器ac1绕轴承br旋转而在盘dk1的水平面内滑动。49.驱动器ic20按照系统控制器130(详细而言是后述的mpu50或hdc60)的控制,控制spm13和vcm14(vcm140和141)的驱动。驱动器ic20与spm13和vcm14(vcm140和141)电连接。驱动器ic20例如通过预定的接口与spm13连接。驱动器ic20例如分别通过接口与vcm140和141连接。50.驱动器ic20具备spm控制部210、第1vcm控制部220、第2vcm控制部221、第1微致动器(ma)控制部230以及第2微致动器(ma)控制部231。spm控制部210控制spm13的旋转。第1vcm控制部220通过控制向vcm140供给的电流(或电压)来控制vcm140的驱动。第2vcm控制部221通过控制向vcm141供给的电流(或电压)来控制vcm141的驱动。第1ma控制部230通过控制向ma160供给的电流(或电压)来控制ma160的驱动。第2ma控制部231通过控制向ma161供给的电流(或电压)来控制ma161的驱动。此外,驱动器ic20的构成的一部分(例如,spm控制部210、第1vcm控制部220、第2vcm控制部221、第1ma控制部230以及第2ma控制部231)也可以设置于系统控制器130。在致动器ac0不具备ma160且致动器ac1不具备ma161的情况下,可以不需要第1ma控制部230和第2ma控制部231。另外,驱动器ic20也可以与致动器ac的数量相应地设置2个以上。51.头放大器ic(前置放大器)30将从盘dk读取到的读取信号放大,并向系统控制器130(详细而言是后述的读/写(r/w)通道40)输出。头放大器ic30将与从系统控制器130(详细而言是后述的r/w通道40)输出的写入数据相应的写入电流向头hd输出。头放大器ic30与各致动器ac、例如致动器ac0和致动器ac1电连接。头放大器ic30通过接口if连接于各致动器ac。例如,头放大器ic30通过接口if0连接于致动器ac1,通过接口if1连接于致动器ac2。例如,头放大器ic30经由接口if0与致动器ac1进行信号的收发,经由接口if1与致动器ac2进行信号的收发。头放大器ic30经由接口if与各头hd、例如头hd0和头hd1电连接。例如,头放大器ic30经由接口if0与头hd0电连接,经由接口if1与头hd1电连接。头放大器ic30经由接口if向头hd输出与从r/w通道40输出的信号相应的写入电流,并经由接口if从头hd输入读取信号。例如,头放大器ic30经由接口if0向头hd0输出与从r/w通道40输出的信号相应的写入电流,并经由接口if0从头hd0输入读取信号。例如,头放大器ic30经由接口if1向头hd1输出与从r/w通道40输出的信号相应的写入电流,并经由接口if1从头hd1输入读取信号。52.头放大器ic30具备第1读取头选择部320、第2读取头选择部321、第1读取信号检测部330以及第2读取信号检测部331。第1读取头选择部320选择在致动器ac0中从盘dk0读取数据的读取头rh0。第2读取头选择部321选择在致动器ac1中从盘dk1读取数据的读取头rh1。第1读取信号检测部330检测由读取头rh0从盘dk0读取到的信号(读取信号)。第2读取信号检测部331检测由读取头rh1从盘dk1读取到的信号(读取信号)。此外,头放大器ic30的构成的一部分(例如,第1读取头选择部320、第2读取头选择部321、第1读取信号检测部330以及第2读取信号检测部331)也可以设置于系统控制器130。另外,头放大器ic30也可以与致动器ac的数量相应地设置2个以上。53.易失性存储器70是当电力供给断开时所保存的数据会丢失的半导体存储器。易失性存储器70存储磁盘装置1的各部中的处理所需的数据等。易失性存储器70例如是dram(dynamicrandomaccessmemory:动态随机存取存储器)或sdram(synchronousdynamicrandomaccessmemory:同步动态随机存取存储器)。54.缓冲存储器80是临时记录磁盘装置1与主机100之间收发的数据等的半导体存储器。此外,缓冲存储器80也可以与易失性存储器70一体地构成。缓冲存储器80例如是dram、sram(staticrandomaccessmemory:静态随机存取存储器)、sdram、feram(ferroelectricrandomaccessmemory:铁电随机存取存储器)或mram(magnetoresistiverandomaccessmemory:磁阻随机存取存储器)等。55.非易失性存储器90是即使电力供给断开也记录所保存的数据的半导体存储器。非易失性存储器90例如是nor型或nand型的闪速rom(flashreadonlymemory:from:闪速只读存储器)。56.系统控制器(控制器)130例如使用多个元件集成在单一芯片上的被称为片上系统(soc:system-on-a-chip)的大规模集成电路(lsi)来实现。系统控制器130包括读/写(r/w)通道40、微处理器(mpu)50以及硬盘控制器(hdc)60。系统控制器130与驱动器ic20、头放大器ic30、易失性存储器70、缓冲存储器80、非易失性存储器90以及主机系统100电连接。此外,系统控制器130也可以具有spm控制部210、第1vcm控制部220、第2vcm控制部221、第1读取头选择部320、第2读取头选择部321、第1读取信号检测部330以及第2读取信号检测部331。系统控制器130也可以包括驱动器ic20和头放大器ic30。另外,系统控制器130也可以与致动器ac的数量相应地设置2个以上。57.r/w通道40根据来自后述的mpu50的指示,执行从盘dk向主机100传送的读取数据和从主机100传送的写入数据的信号处理。r/w通道40具有测定读取数据的信号品质的电路或功能。r/w通道40例如与头放大器ic30、mpu50以及hdc60等电连接。此外,r/w通道40也可以与致动器ac的数量相应地设置2个以上。58.mpu50是根据来自主机100等的指示来控制磁盘装置1的各部的主控制器。mpu50经由驱动器ic20控制致动器ac,执行进行头hd的定位的伺服控制。例如,mpu50经由驱动器ic20分别独立或并行地控制致动器ac0和ac1。mpu50控制向盘dk的数据的写入动作,并且选择写入数据的保存目的地。另外,mpu50控制从盘dk的数据的读取动作,并且控制读取数据的处理。mpu50连接于磁盘装置1的各部。写入动作例如包括从接收到命令到完成向预定区域的数据的写入为止的动作、例如寻道动作、旋转等待以及写入处理。读取动作例如包括从接收到命令到完成从预定区域读取数据为止的动作、例如寻道动作、旋转等待以及读取处理。mpu50例如与驱动器ic20、r/w通道40以及hdc60等电连接。此外,mpu50也可以与致动器ac的数量相应地设置2个以上。59.hdc60根据来自mpu50的指示,控制读/写处理,控制主机100与r/w通道40之间的数据传送。hdc60例如与r/w通道40、mpu50、易失性存储器70、缓冲存储器80以及非易失性存储器90等电连接。此外,hdc60也可以与致动器ac的数量相应地设置2个以上。60.hdc60具备伺服控制部610和命令控制部620。hdc60在固件上执行上述各部、例如伺服控制部610和命令控制部620等的处理。此外,hdc60也可以具备上述各部、例如伺服控制部610和命令控制部620等作为电路。另外,hdc60的构成的一部分也可以设置于mpu50。例如,伺服控制部610和命令控制部620也可以设置于mpu50。61.伺服控制部610控制头hd的位置。换言之,伺服控制部610控制头hd对盘dk的预定区域的访问。伺服控制部610具有跟踪(tracking)控制部6100和寻道控制部6101。此外,伺服控制部610也可以与致动器ac的数量相应地设置2个以上。62.跟踪控制部6100控制头hd对盘dk的预定磁道的跟踪。有时也将“使头hd跟踪盘dk的预定磁道”简称为“跟踪”。“跟踪”包括“在向盘dk写入数据时跟随预定路径、例如预定磁道”和“在从盘dk读取数据时跟随预定路径、例如预定磁道”。63.寻道控制部6101控制头hd在盘dk中从预定磁道向作为目标的磁道的寻道。64.命令控制部620控制从主机100等接收到的命令。例如,命令控制部620将从主机100等接收到的命令按从主机100等接收的顺序存储于等待行列(队列:queue),并基于存储于队列的至少1个命令中的预定命令,经由伺服控制部610访问由该命令指定的位置或区域(例如扇区)。以下,有时也将“基于预定命令访问由该命令指定的位置或区域”称为“处理命令”。有时也将“存储于队列的命令”称为“队列命令(queuedcommand)”。另外,有时也将“将命令存储于队列”称为“排队(queuing)”。65.命令控制部620检测或推定作为当前进行控制的对象的致动器(以下,有时也称为本致动器)ac的当前和将来的动作状态、以及与本致动器不同的其他致动器(以下,有时也称为其他致动器)ac的当前和将来的动作状态。致动器ac的动作状态例如包括命令的执行状态、读/写处理的执行状态、与致动器ac对应的头hd的寻道状态、与致动器ac对应的头位置、与致动器ac对应的头速度、与致动器ac对应的头加速度、开始由与致动器ac对应的头hd进行的写/读处理的定时(或预定时刻)的状态、以及结束由与致动器ac对应的头hd进行的写/读处理的定时(或预定时刻)的状态等。命令控制部620基于本致动器ac和其他致动器ac的当前和将来的动作状态,从按照从主机100等接收的顺序按每个接口if(或致动器ac)存储于队列的多个队列命令中选择预定的命令,并将所选择的命令的顺序调换为当前正在处理的命令(以下,有时也称为当前的命令)的下一个进行处理的命令的顺序(以下,有时也称为下一顺序),在处理了当前的命令之后(或在当前的命令的处置过程中)处理所选择的命令。以下,有时也将“调换多个命令的处理顺序”称为“命令重新排序”、或者简称为“重新排序”。有时也将“执行预定运算(计算)处理,基于该预定运算(计算)处理结果从多个命令中选择预定的命令,并对从上述多个命令中选择的命令的顺序进行重新排序的处理”称为“重新排序运算处理”、“重新排序运算”或“重新排序处理”。另外,有时也将“在当前的命令的下一个进行处理的命令”称为“下次处理命令”。66.例如,命令控制部620基于本致动器ac和其他致动器ac的当前和将来的动作状态,按接口if(或致动器ac)执行重新排序处理,并既可以按接口if(或致动器ac)独立或并行地处理命令,也可以按接口if(或致动器ac)在1个进程内处理命令。命令控制部620例如也可以通过事件驱动或时间驱动(时间共享)开始命令的处理。67.命令控制部620在处理当前的命令时,基于头hd当前被配置的盘dk的位置、例如头hd当前被配置的盘dk的数据扇区的位置(以下,有时也简称为当前的位置)和以从主机100等接收的顺序按接口if(或致动器ac)存储于队列的多个队列命令来执行运算处理,基于该运算处理的结果执行重新排序处理,并对下次处理命令进行处理。68.命令控制部620基于本致动器ac和其他致动器ac的当前和将来的动作状态、与本致动器ac对应的头hd的当前的位置、以从主机100等接收的顺序按接口if(或致动器ac)存储于队列的多个队列命令、以及表示本致动器ac和其他致动器ac的头hd的寻道距离与寻道时间的关系的表(以下,有时也称为重新排序表或寻道概况表(seekprofiletable)),分别计算从当前的位置分别访问由上述队列命令分别指定的盘dk的多个扇区(数据扇区)的位置(以下,有时也简称为位置)的多个时间。以下,有时也将“通过头hd从盘dk的预定位置、例如扇区(数据扇区)访问盘dk的与该位置不同的位置、例如扇区(数据扇区)的时间(直到配置头hd为止的时间)”称为“访问成本”。访问成本包括使头hd从盘dk的预定磁道向盘dk的与该磁道不同的磁道进行寻道的时间(以下,有时也称为寻道时间)、和直到将头hd配置于盘dk的与该磁道不同的磁道的预定位置为止的旋转等待时间。重新排序表例如既可以按头hd或按致动器ac而不同,也可以在多个头hd中的若干个头hd或多个致动器ac中的若干个致动器中相同,还可以在所有头hd和所有致动器ac中相同。为了减小磁盘装置1的振动、功耗的影响,命令控制部620也可以通过对计算出的访问成本进行加权(例如,乘以或除以预定的值)、或者使开始进行头hd的移动的盘dk的位置和/或使头hd移动的盘dk的位置在半径方向上偏移(offset)(例如,加上或减去预定的值)来计算访问成本等,从而调整访问成本。69.命令控制部620基于本致动器ac的当前和将来的动作状态(例如,与本致动器ac对应的头hd的当前的位置)、其他致动器ac的当前和将来的动作状态、以及与存储于每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的各队列命令对应的访问成本的计算处理的计算结果,从本致动器ac和其他致动器ac中的至少一方的队列命令中选择指定能够以比从与本致动器ac对应的头hd的当前的位置到由与当前的命令不同的其他命令(以下,有时也称为其他命令)指定的位置的访问成本短(或小)的访问成本进行访问的位置的命令(以下,有时也称为低成本命令)来作为下次处理命令,并将在上述队列命令中的至少一方中选择的低成本命令的顺序重新排序为下一顺序。以下,有时也将本致动器ac和其他致动器ac的当前和将来的动作状态的信息、与本致动器ac和其他致动器ac对应的多个队列命令的信息、由与本致动器ac和其他致动器ac对应的多个队列命令分别指定的多个位置的信息、本致动器ac和其他致动器ac的重新排序表、以及从头hd的当前的位置向由与本致动器ac和其他致动器ac对应的多个队列命令分别指定的盘dk的多个位置分别进行寻道时的信息等、用于重新排序运算处理的信息称为重新排序信息。此外,重新排序信息也可以不包括重新排序表。另外,重新排序信息也可以包括上述的信息以外的信息。位置的信息例如相当于头、磁道、扇区、半径位置以及盘角度中的至少1方的信息、或由它们的组合构成的信息。以下,为了便于说明,有时也将“从预定位置到其他位置的访问成本”称为“预定命令的访问成本”或“与预定命令对应的访问成本”。如上所述,命令控制部620执行如下的重新排序运算处理,并在处理了当前的命令之后处理低成本命令,该重新排序运算处理为,基于重新排序信息,执行与本致动器ac和其他致动器ac的各队列命令对应的访问成本的计算处理,并基于上述访问成本的计算处理的计算结果,从上述队列命令中选择低成本命令,将所选择的低成本命令的顺序重新排序为下一顺序。命令控制部620也可以将重新排序信息记录于预定的记录区域、例如盘dk的系统区域dkb、易失性存储器70、缓冲存储器80或非易失性存储器90等。此外,命令控制部620也可以将重新排序表以外的重新排序信息记录于预定的记录区域、例如盘dk的系统区域dkb、易失性存储器70、缓冲存储器80或非易失性存储器90等。在该情况下,命令控制部620也可以将重新排序表有别于重新排序信息地记录于预定的记录区域、例如盘dk的系统区域dkb、易失性存储器70、缓冲存储器80或非易失性存储器90等。另外,命令控制部620也可以通过计算来算出重新排序表。70.例如,命令控制部620基于重新排序信息,分别计算存储在每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的多个队列命令的每一个的多个访问成本。命令控制部620基于重新排序信息和上述访问成本的计算处理的结果,从上述队列命令中选择指定能够以最短(或最小)的访问成本从当前的位置进行访问的位置的命令(以下,有时也称为最低成本命令)来作为下次处理命令,并将在上述队列命令中选择的最低成本命令的顺序重新排序为下一顺序。如上所述,命令控制部620执行如下的重新排序运算处理,并在处理了当前的命令之后(或在处理当前的命令的过程中)处理最低成本命令,该重新排序运算处理为,基于重新排序信息,执行与本致动器ac和其他致动器ac的各队列命令对应的访问成本的计算处理,并基于上述访问成本的计算处理的结果,从上述队列命令中选择最低成本命令,将所选择的最低成本命令的顺序重新排序为下一顺序。此外,命令控制部620也可以基于重新排序表以外的重新排序信息,分别计算存储在每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的多个队列命令的每一个的多个访问成本,并基于重新排序表以外的重新排序信息和上述访问成本的计算处理的结果,从上述队列命令中选择低成本命令(或最低成本命令)来作为下次处理命令,将所选择的低成本命令(或最低成本命令)的顺序重新排序为下一顺序,在处理了当前的命令之后(或在处理当前的命令的过程中)处理该低成本命令(或最低成本命令)。71.例如,命令控制部620基于重新排序信息、例如本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac(或其他致动器ac)的多个队列命令各自的访问成本的计算处理的结果,从本致动器ac(或其他致动器ac)的多个队列命令中选择能够使由本致动器ac与其他致动器的相互干扰(干涉)引起的性能降低最小化的最低成本命令来作为下次处理命令,并在本致动器ac(或其他致动器ac)的多个队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。72.例如,命令控制部620在其他致动器ac没在处理命令的情况下,基于重新排序信息、例如本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac的多个队列命令各自的访问成本的计算处理的结果,从本致动器ac的多个队列命令中选择最低成本命令来作为下次处理命令,并在本致动器ac的多个队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。73.例如,命令控制部620在判定为其他致动器ac正在进行读/写动作且该其他致动器ac的读/写动作会在短时间内结束的情况下,基于重新排序信息、例如本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac的多个队列命令各自的访问成本的计算处理的结果,从本致动器ac的多个队列命令中选择指定从其他致动器ac的写入动作结束的定时起能够以最短(或最小)的访问成本进行访问的位置的最低成本命令来作为下次处理命令,并在本致动器ac的多个队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。74.例如,命令控制部620在判定为其他致动器ac正在进行读/写动作且该其他致动器ac的读/写动作会花费长时间的情况下,基于重新排序信息、例如本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的多个队列命令各自的访问成本的计算处理的结果,从本致动器ac的多个队列命令中选择指定在能够通过不会因本致动器ac与其他致动器ac的相互干扰而对读/写动作产生影响的寻道电流执行的寻道条件下能够以最短(或最小)的访问成本进行访问的位置的最低成本命令来作为下次处理命令,并在本致动器ac的多个队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。75.例如,命令控制部620在其他致动器ac正在进行读/写动作的情况下,基于本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的多个队列命令各自的访问成本的计算处理的结果,从本致动器ac的多个队列命令中选择最低成本命令来作为下次处理命令。命令控制部620预测由于其他致动器ac的寻道动作而本致动器ac与其他致动器ac相互干扰而受到影响的定时,在所选择的命令(例如,最低成本命令)在该定时正在执行与其他致动器ac对应的写入动作或读取动作的情况下,排除所选择的命令(例如,最低成本命令)。在所选择的命令(例如,最低成本命令)在该定时正在执行与其他致动器ac对应的写入动作或读取动作的情况下,命令控制部620基于本致动器ac和其他致动器ac的当前和将来的动作状态以及存储在每个接口if(或致动器ac)的队列中的本致动器ac和其他致动器ac的多个队列命令各自的访问成本的计算处理的结果,从除了排除掉的命令以外的上述队列命令中选择最低成本命令来作为下次处理命令。在所选择的命令(例如,最低成本命令)在该定时没在执行与其他致动器ac对应的写入动作或读取动作的情况下,命令控制部620在上述队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。此外,由于其他致动器ac的寻道动作而受到影响的定时根据是写入动作还是读取动作而发生变化。例如,读取动作的情况下影响较小。76.例如,命令控制部620可以将本致动器ac与其他致动器ac的相互干扰的信息添加到重新排序表中,执行与所允许的本致动器ac和其他致动器ac的相互干扰的(相互干扰)等级(level)相应的重新排序。所允许的本致动器ac与其他致动器ac的相互干扰的相互干扰等级根据正在执行的命令是写入动作还是读取动作、头编号的组合、本致动器ac的头hd和其他致动器ac的头hd的相互干扰的相对半径位置等而发生变化。因此,既可以按每个条件具有寻道概况表,也可以针对作为基础的寻道概况表通过计算求出各种条件来作为参数。77.命令控制部620对队列命令的数量(以下,有时也称为队列命令数)进行计数。命令控制部620对至少1个队列命令中的与各致动器ac对应的各队列命令数进行计数。78.命令控制部620具有命令存储部6200、执行与致动器ac0对应的多个队列命令的重新排序运算处理的第1重新排序运算部6210、以及执行与致动器ac1对应的多个队列命令的重新排序运算处理的第2重新排序运算部6211。此外,命令控制部620也可以与致动器ac的数量相应地设置2个以上。79.命令存储部6200具有队列。命令存储部6200可以具有与多个致动器ac分别对应的多个队列,也可以具有将与多个致动器ac对应的队列组合而成的1个队列(以下,有时也称为合成队列)。例如,命令存储部6200可以分别具有与致动器ac0对应的队列和与致动器ac1对应的队列,也可以具有将与致动器ac0对应的队列和与致动器ac1对应的队列组合而成的1个合成队列。80.命令存储部6200将从主机100等收到的命令存储于队列。例如,命令存储部6200也可以将从主机100等收到的与致动器ac0对应的多个命令和从主机100等收到的与致动器ac1对应的多个命令按照分别从主机等收到的顺序从相同的方向存储于合成队列。命令存储部6200也可以将从主机100等收到的与致动器ac0对应的多个命令按照从主机100等收到的顺序存储于合成队列,并将从主机100等收到的与致动器ac1对应的多个命令按照从主机100等收到的顺序从与致动器ac0所对应的多个命令相反的方向存储于合成队列。81.命令存储部6200能够将在由主机100等指定的队列中能够存储的命令数(以下,有时也称为队列的深度(queuedepth:qd))的量的命令存储于队列。命令存储部6200在与预定的致动器ac对应的队列命令数是与该致动器ac对应的qd的量的命令数的情况下,不从主机100等接收与该致动器ac对应的命令。命令存储部6200在与预定的致动器ac对应的队列命令数是比与该致动器ac对应的qd小的命令数的情况下,将从主机100等收到的与该致动器ac对应的命令存储于队列。例如,命令存储部6200在与致动器ac1对应的qd为3且与致动器ac1对应的队列命令数为3的情况下,不从主机100等接收与致动器ac1对应的命令。另外,命令存储部6200在与致动器ac1对应的qd为3且与致动器ac1对应的队列命令数为2的情况下,将从主机100等收到的与致动器ac1对应的命令存储于与致动器ac1对应的队列。82.图3是表示队列q0和q1的一例的示意图。在图3中,命令存储部6200包括存储与致动器ac0对应的命令的队列q0、和存储与致动器ac1对应的命令的队列q1。在图3所示的例子中,队列q0和q1的qd为3。此外,队列q0和q1的qd也可以为2以下,还可以为4以上。在图3中,队列q0中存储有命令cmd00e、cmd01e和cmd02e。命令cmd00e、cmd01e和cmd02e按照记载顺序从主机100等传送。命令cmd00e、cmd01e和cmd02e对应于致动器ac0。在图3中,队列q1中存储有命令cmd10e和cmd11e。命令cmd10e和cmd11e按照记载顺序从主机100等传送。命令cmd10e和cmd11e对应于致动器ac1。在图3中表示了在队列q0中存储命令的方向(以下,有时也称为存储方向)cd0、和在队列q1中存储命令的存储方向cd1。83.在图3所示的例子中,命令存储部6200沿着存储方向cd0,将命令cmd00e、cmd01e和cmd02e按照它们的记载顺序存储于队列q0,并沿着存储方向cd1,将命令cmd10e和cmd11e按照它们的记载顺序存储于队列q1。84.由于存储于队列q0的与致动器ac0对应的队列命令数(=3)是qd量的命令数(=3),因此命令存储部6200不从主机100等接收与致动器ac0对应的命令。由于存储于队列q1的与致动器ac1对应的队列命令数(=2)小于qd(=3),因此命令存储部6200可以从主机100等接收与致动器ac1对应的命令并存储于队列q1。85.第1重新排序运算部6210对与致动器ac0对应的多个队列命令执行重新排序运算处理。例如,第1重新排序运算部6210在处理当前的命令时对从主机100等收到的与致动器ac0对应的多个队列命令执行重新排序运算处理。86.在一例中,第1重新排序运算部6210基于头hd0的当前的位置的信息、与致动器ac0对应的多个队列命令的信息、以及与致动器ac0对应的重新排序表等与致动器ac0对应的重新排序信息,分别计算从头hd0的当前的位置到由与致动器ac0对应的多个队列命令中的有可能继当前的命令之后处理的多个队列命令(以下,有时也称为下次处理预计命令)分别指定的多个位置的访问成本(以下,有时也称为下次推定成本)。此外,为了减小磁盘装置1的振动、功耗的影响,第1重新排序运算部6210也可以通过对计算出的访问成本(下次推定成本)进行加权(例如,乘以或除以预定的值)、或者使开始进行头hd0的移动的盘dk0的位置和/或使头hd0移动的盘dk0的位置在半径方向上偏移(例如,加上或减去预定的值)来计算访问成本(下次推定成本)等,从而调整访问成本(下次推定成本)。第1重新排序运算部6210基于上述下次推定成本的计算处理的结果,从上述下次处理预计命令中选择低成本命令(或最低成本命令),并将从上述下次处理预计命令中选择的低成本命令(或最低成本命令)的顺序重新排序为下一顺序。87.第1重新排序运算部6210例如也可以将与致动器ac0对应的重新排序信息记录于预定的记录区域、例如盘dk0的系统区域dkb0、易失性存储器70、缓冲存储器80、或非易失性存储器90等。此外,第1重新排序运算部6210也可以将与致动器ac0对应的重新排序表以外的与致动器ac0对应的重新排序信息记录于预定的记录区域、例如盘dk0的系统区域dkb0、易失性存储器70、缓冲存储器80、或非易失性存储器90等。在该情况下,第1重新排序运算部6210也可以将与致动器ac0对应的重新排序表有别于与致动器ac0对应的重新排序信息地记录于预定的记录区域、例如盘dk0的系统区域dkb0、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第1重新排序运算部6210也可以将与各致动器ac对应的重新排序表、例如与致动器ac0对应的重新排序表和与致动器ac1对应的重新排序表记录于预定的记录区域、例如盘dk0的系统区域dkb0、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第1重新排序运算部6210也可以将与多个致动器ac对应的重新排序表、例如与致动器ac0和ac1对应的重新排序表记录于预定的记录区域、例如盘dk0的系统区域dkb0、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第1重新排序运算部6210也可以通过计算算出与致动器ac1对应的重新排序表。第1重新排序运算部6210也可以通过计算算出与致动器ac0对应的重新排序表和与致动器ac1对应的重新排序表。另外,第1重新排序运算部6210也可以通过计算算出与致动器ac0和ac1对应的重新排序表。88.第2重新排序运算部6211对与致动器ac1对应的多个队列命令执行重新排序运算处理。例如,第2重新排序运算部6211在处理当前的命令时对从主机100等收到的与致动器ac1对应的多个队列命令执行重新排序运算处理。89.在一例中,第2重新排序运算部6211基于头hd1的当前的位置的信息、与致动器ac1对应的多个队列命令的信息、以及与致动器ac1对应的重新排序表等与致动器ac1对应的重新排序信息,分别计算从头hd1的当前的位置到由与致动器ac1对应的多个队列命令中的多个下次处理预计命令分别指定的多个位置的多个下次推定成本。此外,为了减小磁盘装置1的振动、功耗的影响,第2重新排序运算部6211也可以通过对计算出的访问成本(下次推定成本)进行加权(例如,乘以或除以预定的值)、或者使开始进行头hd1的移动的盘dk1的位置和/或使头hd1移动的盘dk1的位置在半径方向上偏移(例如,加上或减去预定的值)来计算访问成本(下次推定成本)等,从而调整访问成本(下次推定成本)。第2重新排序运算部6211基于上述下次推定成本的计算处理的结果,从上述下次处理预计命令中选择低成本命令(或最低成本命令),并将从上述下次处理预计命令中选择的低成本命令(或最低成本命令)的顺序重新排序为下一顺序。与致动器ac1对应的重新排序表和与致动器ac0对应的重新排序表既可以相同,也可以不同。90.第2重新排序运算部6211例如也可以将与致动器ac1对应的重新排序信息记录于预定的记录区域、例如盘dk1的系统区域dkb1、易失性存储器70、缓冲存储器80、或非易失性存储器90等。此外,第2重新排序运算部6211也可以将与致动器ac1对应的重新排序表以外的与致动器ac1对应的重新排序信息记录于预定的记录区域、例如盘dk1的系统区域dkb1、易失性存储器70、缓冲存储器80、或非易失性存储器90等。在该情况下,第2重新排序运算部6211也可以将与致动器ac1对应的重新排序表有别于与致动器ac1对应的重新排序信息地记录于预定的记录区域、例如盘dk1的系统区域dkb1、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第2重新排序运算部6211也可以将与各致动器ac对应的重新排序表、例如与致动器ac0对应的重新排序表和与致动器ac1对应的重新排序表记录于预定的记录区域、例如盘dk1的系统区域dkb1、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第2重新排序运算部6211也可以将与多个致动器ac对应的重新排序表、例如与致动器ac0和ac1对应的重新排序表记录于预定的记录区域、例如盘dk1的系统区域dkb1、易失性存储器70、缓冲存储器80、或非易失性存储器90等。第2重新排序运算部6211也可以通过计算算出与致动器ac1对应的重新排序表。第2重新排序运算部6211也可以通过计算算出与致动器ac0对应的重新排序表和与致动器ac1对应的重新排序表。另外,第2重新排序运算部6211也可以通过计算算出与致动器ac0和ac1对应的重新排序表。91.第2重新排序运算部6211基于与致动器ac1对应的多个队列命令的每一个的多个访问成本的计算处理的计算结果,从与致动器ac1对应的上述多个队列命令中选择低成本命令(或最低成本命令),并将从上述多个队列命令中选择的低成本命令(或最低成本命令)的顺序重新排序为下一顺序。92.在一例中,第2重新排序运算部6211基于与致动器ac1对应的多个队列命令中的若干个下次处理预计命令的每一个的若干个下次推定成本的计算处理的计算结果,从与致动器ac1对应的上述多个队列命令中选择低成本命令(或最低成本命令),并将从与致动器ac1对应的上述多个下次处理预计命令中选择的低成本命令(或最低成本命令)的顺序重新排序为下一顺序。93.图4是表示本实施方式涉及的重新排序处理的一例的时序图。在图4中表示了经由接口if0相对于致动器ac0输入输出的if0访问请求、和经由接口if1相对于致动器ac1输入输出的if1访问请求。在图4中表示了队列q0和q1。在图4中,队列q0中可以存储命令(队列命令)cmd00、cmd01、cmd02、cmd03和cmd04。在图4中,队列q1中可以存储命令(队列命令)cmd10、cmd11、cmd12、cmd13和cmd14。在图4中表示了致动器ac0的命令处理(或读/写动作处理)和致动器ac1的命令处理(或读/写动作处理)。在图4中,设时间t为,随着向箭头的顶端侧前进,时间流逝。也就是说,在图4中,关于时间t,箭头的顶端侧相当于将来侧,箭头的顶端侧的相反侧相当于过去。94.在图4所示的例子中,系统控制器130在通过致动器ac0进行读/写动作处理期间,取得致动器ac0中的读/写动作处理中的头hd0的寻道动作的信息以及头hd0的读/写动作处理的开始定时和结束定时的信息。系统控制器130在通过致动器ac0进行读/写动作处理期间,从存储于致动器ac1的队列q1的队列命令cmd10、cmd11、cmd12和cmd13中选择最低成本命令cmd12,并将所选择的最低成本命令cmd12的顺序重新排序为下一顺序。系统控制器130通过致动器ac1开始进行命令cmd12的读/写动作处理。95.在图4所示的例子中,系统控制器130在通过致动器ac1进行与命令cmd12对应的读/写动作处理期间,取得致动器ac1中的与命令cmd12对应的读/写动作处理中的头hd1的寻道动作的信息以及头hd1的与命令cmd12对应的读/写动作处理的开始定时和结束定时的信息。系统控制器130从存储于致动器ac0的队列q0的cmd00、cmd01、cmd02和cmd03中选择指定从致动器ac0中的读/写动作处理结束的定时起能够以最小的访问成本进行访问的位置的最低成本命令cmd03,并将所选择的最低成本命令cmd03的顺序重新排序为下一顺序。系统控制器130在致动器ac0中的读/写动作处理结束后,通过致动器ac0开始进行命令cmd03的读/写动作处理。96.在图4所示的例子中,系统控制器130在通过致动器ac0进行与命令cmd03对应的读/写动作处理期间,取得致动器ac0中的与命令cmd03对应的读/写动作处理中的头hd0的寻道动作的信息以及头hd0的与命令cmd03对应的读/写动作处理的开始定时和结束定时的信息。系统控制器130在通过致动器ac0进行与命令cmd03对应的读/写动作处理期间,在命令cmd12的读/写动作处理结束的情况下,经由接口if1接收命令cmd12的读/写动作处理结束这一情况。系统控制器130取得与致动器ac1对应的队列q1有空位的信息。系统控制器130从存储于致动器ac1的队列q1的cmd10、cmd11和cmd13中选择指定在致动器ac1中从与命令cmd12对应的读/写动作处理结束的定时起能够以最小的访问成本进行访问的位置的最低成本命令cmd11,并将所选择的最低成本命令cmd11的顺序重新排序为下一顺序。系统控制器130在致动器ac1中的与命令cmd12对应的读/写动作处理结束后,通过致动器ac1开始进行命令cmd11的读/写动作处理。97.在图4所示的例子中,系统控制器130在通过致动器ac1进行与命令cmd11对应的读/写动作处理期间,取得致动器ac1中的与命令cmd11对应的读/写动作处理中的头hd1的寻道动作的信息以及头hd1的与命令cmd11对应的读/写动作处理的开始定时和结束定时的信息。系统控制器130在通过致动器ac1进行与命令cmd11对应的读/写动作处理期间,在命令cmd03的读/写动作处理结束的情况下,经由接口if0接收命令cmd03的读/写动作处理结束这一情况。系统控制器130取得与致动器ac0对应的队列q0有空位的信息。系统控制器130从存储于致动器ac0的队列q0的cmd00、cmd01和cmd02中选择指定在致动器ac0中从与命令cmd03对应的读/写动作处理结束的定时起能够以最小的访问成本进行访问的位置的最低成本命令cmd00,并将所选择的最低成本命令cmd00的顺序重新排序为下一顺序。系统控制器130在致动器ac0中的与命令cmd03对应的读/写动作处理结束后,通过致动器ac0开始进行命令cmd00的读/写动作处理。98.系统控制器130在通过致动器ac1进行与命令cmd11对应的读/写动作处理期间,经由接口if1接收命令cmd14。99.系统控制器130在通过致动器ac1进行与命令cmd11对应的读/写动作处理期间,经由接口if0接收命令cmd04。100.在图4所示的例子中,系统控制器130在通过致动器ac0进行与命令cmd00对应的读/写动作处理期间,取得致动器ac0中的与命令cmd00对应的读/写动作处理中的头hd0的寻道动作的信息以及头hd0的与命令cmd00对应的读/写动作处理的开始定时和结束定时的信息。系统控制器130在通过致动器ac0进行与命令cmd00对应的读/写动作处理期间,在命令cmd11的读/写动作处理结束的情况下,经由接口if1接收命令cmd11的读/写动作处理结束这一情况。系统控制器130取得与致动器ac1对应的队列q1有空位的信息。系统控制器130从存储于致动器ac1的队列q1的cmd10、cmd13和cmd14中选择指定在致动器ac1中从与命令cmd11对应的读/写动作处理结束的定时起能够以最小的访问成本进行访问的位置的最低成本命令cmd13,并将所选择的最低成本命令cmd13的顺序重新排序为下一顺序。系统控制器130在致动器ac1中的与命令cmd11对应的读/写动作处理结束后,通过致动器ac1开始进行命令cmd13的读/写动作处理。101.图5是表示本实施方式涉及的读/写动作处理的一例的示意图。在图5中表示了寻道电流相对于时间t的变化(以下,有时也称为寻道电流的变化)scl。寻道电流的变化scl的横轴表示时间t,寻道电流的变化scl的纵轴表示寻道电流。在寻道电流的变化scl的横轴上,时间t随着向箭头的顶端侧前进而流逝。在寻道电流的变化scl的纵轴上,寻道电流随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在图5中表示了头位置相对于时间t的变化(以下,有时也称为头位置的变化)hpl。头位置的变化hpl的横轴表示时间t,头位置的变化hpl的纵轴表示头位置。在头位置的变化hpl的横轴上,时间t随着向箭头的顶端侧前进而流逝。在头位置的变化hpl的纵轴上,头位置随着向外侧的箭头的顶端侧前进而向外侧前进,随着向内侧的箭头的顶端侧前进而向内侧前进。此外,在头位置的变化hpl的纵轴上,外侧与内侧也可以相反。在图5中表示了相对于时间t的寻道动作期间中的标志(以下,有时也称为寻道动作中标志)smf、相对于时间t的读/写处理期间中的标志(以下,有时也称为r/w(读/写)处理中标志)wrpf、以及相对于时间t的命令处理期间中的标志(以下,有时也称为命令处理中标志)cpf。寻道动作中标志smf、r/w处理中标志wrpf以及命令处理中标志cpf在上升时为on(激活),在下降时为off(非激活)。102.在图5所示的例子中,系统控制器130使命令处理中标志cpf成为on而开始命令处理(或读/写动作处理)。系统控制器130在使命令处理中标志cpf成为on的定时使寻道动作中标志smf成为on而开始头hd的寻道动作。系统控制器130在使寻道动作中标志smf成为on的定时,使寻道电流的变化scl向正值侧增大。系统控制器130使头hd从内侧向外侧移动(或者将头位置的变化hpl从内侧向外侧变更)。103.系统控制器130使寻道动作中标志smf成为off而结束头hd的寻道动作。系统控制器130在使寻道动作中标志smf成为off的定时,使寻道电流的变化scl向负值侧减小。104.系统控制器130在从使寻道动作中标志smf成为off的定时起等待旋转后的定时,使r/w处理中标志wrpf成为on而开始r/w处理。105.系统控制器130使r/w处理中标志wrpf成为off而结束r/w处理。系统控制器130在使r/w处理中标志wrpf成为off的定时使命令处理中标志cpf成为off而结束命令处理(或读/写动作处理)。106.图6是表示本实施方式涉及的与致动器ac0的头hd00对应的寻道电流的变化scl00、和致动器ac1的头hd10的位置误差信号的变化pesl10的一例的示意图。在图6中表示了与致动器ac0的头hd00(或头hd01)对应的、寻道电流相对于时间t的变化(以下,有时也称为寻道电流的变化)scl00。寻道电流的变化scl00的横轴表示时间t,寻道电流的变化scl00的纵轴表示寻道电流。在寻道电流的变化scl00的横轴上,时间t随着向箭头的顶端侧前进而流逝。在寻道电流的变化scl00的纵轴上,寻道电流随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在寻道电流的变化scl00的纵轴上表示了寻道电流crt0和寻道电流-crt0。在图6中,与致动器ac0的头hd00(或头hd01)对应的寻道电流的变化scl00在寻道电流crt0处为最大值,在寻道电流-crt0处为最小值。寻道电流crt0的绝对值与寻道电流-crt0的绝对值可以相同,也可以不同。在图6中表示了与致动器ac1的头hd10(或hd11)对应的、位置误差信号相对于时间t的变化(以下,有时也称为位置误差信号的变化)pesl10。位置误差信号的变化pesl10的横轴表示时间t,位置误差信号的变化pesl10的纵轴表示位置误差信号。在位置误差信号的变化pesl10的横轴上,时间t随着向箭头的顶端侧前进而流逝。在位置误差信号的变化pesl10的纵轴上,位置误差信号随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在位置误差信号的变化pesl10的纵轴上表示了位置误差信号pes0和位置误差信号-pes0。在图6中,致动器ac1的头hd10(或头hd11)的位置误差信号的变化pesl10在位置误差信号pes0至-pes0的范围内变动。位置误差信号pes0的绝对值与位置误差信号-pes0的绝对值可以相同,也可以不同。107.在图6所示的例子中,系统控制器130向致动器ac0施加寻道电流而使头hd00(或hd01)寻道,并通过致动器ac1的头hd10(或hd11)来访问盘dk1的预定区域。通过致动器ac1的头hd10(或头hd11)访问预定区域的位置误差信号的变化pesl10根据与致动器ac0的头hd00(或头hd01)对应的寻道电流的变化scl00而发生变化。也就是说,在向致动器ac0施加寻道电流而使头hd00(或hd01)寻道的情况下,通过致动器ac1的头hd10(或头hd11)访问预定区域的位置误差信号受到影响。此外,在向致动器ac1施加寻道电流而使头hd10(或hd11)寻道、并通过致动器ac0的头hd01(或头hd00)访问盘dk0的预定区域的情况下,也可能产生与向致动器ac0施加寻道电流而使头hd00(或hd01)寻道、并通过致动器ac1的头hd10(或头hd11)访问盘dk1的预定区域的情况下同样的影响。108.图7是表示本实施方式涉及的与致动器ac0的头hd01对应的寻道电流的变化scl01、和致动器ac1的头hd11的位置误差信号的变化pesl11的一例的示意图。在图7中表示了与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl01。寻道电流的变化scl01的横轴表示时间t,寻道电流的变化scl01的纵轴表示寻道电流。在寻道电流的变化scl01的横轴上,时间t随着向箭头的顶端侧前进而流逝。在寻道电流的变化scl01的纵轴上,寻道电流随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在寻道电流的变化scl01的纵轴上表示了寻道电流crt1和寻道电流-crt1。在图7中,与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl01在寻道电流crt1处为最大值,在寻道电流-crt1处为最小值。寻道电流crt1的绝对值与寻道电流-crt1的绝对值可以相同,也可以不同。在图7中表示了与致动器ac1的头hd11(或hd10)对应的位置误差信号的变化pesl11。位置误差信号的变化pesl11的横轴表示时间t,位置误差信号的变化pesl11的纵轴表示位置误差信号。在位置误差信号的变化pesl11的横轴上,时间t随着向箭头的顶端侧前进而流逝。在位置误差信号的变化pesl11的纵轴上,位置误差信号随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在位置误差信号的变化pesl11的纵轴上表示了位置误差信号pes1和位置误差信号-pes1。在图7中,致动器ac1的头hd11(或头hd10)的位置误差信号的变化pesl11在位置误差信号pes1至-pes1的范围内变动。位置误差信号pes1的绝对值与位置误差信号-pes1的绝对值可以相同,也可以不同。109.在图7所示的例子中,系统控制器130向致动器ac0施加寻道电流而使头hd01(或hd00)寻道,并通过致动器ac1的头hd11(或hd10)来访问盘dk1的预定区域。通过致动器ac1的头hd11(或头hd10)访问预定区域的位置误差信号的变化pesl11根据与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl01而发生变化。也就是说,在向致动器ac0施加寻道电流而使头hd01(或hd00)寻道的情况下,通过致动器ac1的头hd11(或头hd10)访问预定区域的位置误差信号受到影响。此外,在向致动器ac1施加寻道电流而使头hd11(或hd10)寻道、并通过致动器ac0的头hd01(或头hd00)访问盘dk0的预定区域的情况下,也可能产生与向致动器ac0施加寻道电流而使头hd01(或hd00)寻道、并通过致动器ac1的头hd11(或头hd10)访问盘dk1的预定区域的情况下同样的影响。110.图8是表示本实施方式涉及的与致动器ac0的头hd01对应的寻道电流的变化scl02、和致动器ac1的头hd11的位置误差信号的变化pesl12的一例的示意图。在图8中表示了与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl02。寻道电流的变化scl02的横轴表示时间t,寻道电流的变化scl02的纵轴表示寻道电流。在寻道电流的变化scl02的横轴上,时间t随着向箭头的顶端侧前进而流逝。在寻道电流的变化scl02的纵轴上,寻道电流随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在寻道电流的变化scl02的纵轴上表示了寻道电流crt2和寻道电流-crt2。在图8中,与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl02在寻道电流crt2处为最大值,在寻道电流-crt2处为最小值。寻道电流crt2的绝对值与寻道电流-crt2的绝对值可以相同,也可以不同。寻道电流crt2的绝对值比寻道电流crt1的绝对值小。寻道电流-crt2的绝对值比寻道电流-crt1的绝对值小。在图8中表示了与致动器ac1的头hd11(或hd10)对应的位置误差信号的变化pesl12。位置误差信号的变化pesl12的横轴表示时间t,位置误差信号的变化pesl12的纵轴表示位置误差信号。在位置误差信号的变化pesl12的横轴上,时间t随着向箭头的顶端侧前进而流逝。在位置误差信号的变化pesl12的纵轴上,位置误差信号随着向比原点(=0)靠正的箭头的顶端侧前进而正值变大,随着向比原点(=0)靠负的箭头的顶端侧前进而负值变小。在位置误差信号的变化pesl12的纵轴上表示了位置误差信号pes2和位置误差信号-pes2。在图8中,致动器ac1的头hd11(或头hd10)的位置误差信号的变化pesl12在位置误差信号pes2至-pes2的范围内变动。位置误差信号pes2的绝对值与位置误差信号-pes2的绝对值可以相同,也可以不同。位置误差信号pes2的绝对值比位置误差信号pes1的绝对值小。位置误差信号-pes2的绝对值比位置误差信号-pes1的绝对值小。111.在图8所示的例子中,系统控制器130向致动器ac0施加寻道电流而使头hd01(或头hd00)寻道,并通过致动器ac1的头hd11(或头hd10)来访问盘dk1的预定区域。通过致动器ac1的头hd11(或头hd10)访问预定区域的位置误差信号的变化pesl12根据与致动器ac0的头hd01(或头hd00)对应的寻道电流的变化scl02而发生变化。也就是说,在向致动器ac0施加寻道电流而使头hd01(或头hd00)寻道的情况下,通过致动器ac1的头hd11(或头hd10)访问预定区域的位置误差信号受到影响。根据图6和图7,通过减小向致动器ac0施加的寻道电流,也能够减小对通过致动器ac1的头hd11(或头hd10)访问预定区域的位置误差信号的影响。此外,在向致动器ac1施加寻道电流而使头hd11(或hd10)寻道、并通过致动器ac0的头hd01(或头hd00)访问盘dk0的预定区域的情况下,也可能产生与向致动器ac0施加寻道电流而使头hd01(或hd00)寻道、并通过致动器ac1的头hd11(或头hd10)访问盘dk1的预定区域的情况下同样的影响。112.图9是表示本实施方式涉及的重新排序表的一例的示意图。在图9中表示了寻道时间相对于多个寻道距离的变化(以下,有时也称为寻道时间的变化组群)stlg、和最快寻道时的寻道时间相对于寻道距离的变化(以下,记作最快寻道时的寻道时间的变化)fstl,所述寻道距离是能够通过不对与多个头编号分别对应的多个头hd产生影响的寻道电流来实现寻道的距离。寻道时间的变化组群stlg包括寻道时间相对于能够通过不对头编号为0的头hd、例如头hd00或hd10产生影响的寻道电流来实现寻道的寻道距离的变化(以下,有时也称为寻道时间的变化)stl0、和寻道时间相对于能够通过不对头编号为n的头hd、例如头hd01或hd11产生影响的寻道电流来实现寻道的寻道距离的变化stln。寻道时间的变化(或重新排序表)的横轴表示寻道距离,重新排序表的纵轴表示寻道时间。在重新排序表的横轴上,寻道距离随着向“大”的箭头的顶端侧前进而变大,随着向“小”的箭头的顶端侧前进而变小。在重新排序表的纵轴上,寻道时间随着向“大”的箭头的顶端侧前进而变大,随着向“小”的箭头的顶端侧前进而变小。113.在图9所示的例子中,系统控制器130可以将本致动器ac与其他致动器ac的相互干扰的信息添加到图9所示的重新排序表中,执行与所允许的本致动器ac和其他致动器ac的相互干扰的相互干扰等级相应的重新排序。此外,系统控制器130也可以基于本致动器ac和其他致动器ac的当前和将来的动作状态、与本致动器ac对应的头hd的当前的位置、以从主机100等接收的顺序按接口if(或致动器ac)存储于队列的多个队列命令、以及图9所示的重新排序表,分别计算从当前的位置分别访问由上述队列命令分别指定的盘dk的多个扇区(数据扇区)的位置的多个时间。114.图10是表示本实施方式涉及的重新排序处理方法的一例的流程图。115.系统控制器130判定其他致动器ac是否正在执行命令(b1001)。在判定为其他致动器ac没在执行命令的情况下(b1001:否),系统控制器130从本致动器ac的多个队列命令中执行最低成本命令(b1002),并结束处理。例如,系统控制器130执行能够由本致动器ac最早执行的命令,并结束处理。116.在判定为其他致动器ac正在执行命令的情况下(b1001:是),系统控制器130判定其他致动器ac是否正在执行写入动作或读取动作(b1003)。在判定为其他致动器ac没在执行写入动作或读取动作的情况下(b1003:否),系统控制器130算出其他致动器开始进行写入动作或读取动作的开始定时(预定时刻)(b1004),基于其他致动器开始进行写入动作或读取动作的开始定时,从本致动器ac的多个队列命令中选择能够最早执行的最低成本命令作为下次处理命令(b1005)。系统控制器130在从本致动器ac的多个队列命令中选择出的命令受到其他致动器ac的寻道动作的影响的情况下排除所选择的命令并前进至b1005的处理,在从本致动器ac的多个队列命令中选择出的命令不受其他致动器ac的寻道动作的影响的情况下前进至b1007的处理(b1006)。系统控制器130在从本致动器ac的多个队列命令中选择出的命令对其他致动器ac的写入动作或读取动作产生影响的情况下排除所选择的命令并前进至b1005的处理,在从本致动器ac的多个队列命令中选择出的命令不对其他致动器ac的写入动作或读取动作产生影响的情况下(b1007),执行所选择的命令的处理,并结束处理。117.在判定为其他致动器ac正在执行写入动作或读取动作的情况下(b1003:是),系统控制器130判定其他致动器ac的写入动作或读取动作是否会在短时间内结束(b1008)。在判定为其他致动器ac的写入动作或读取动作不会在短时间内结束、也就是说会花费长时间的情况下(b1008:否),系统控制器130从本致动器ac的多个队列命令中选择在能够通过不对其他致动器的写入动作或读取动作产生影响的寻道电流执行的寻道条件下能够最早执行的最低成本命令作为下次处理命令(b1009),并执行所选择的命令的处理,结束处理。在判定为其他致动器ac的写入动作或读取动作会在短时间内结束的情况下(b1008:是),系统控制器130从本致动器ac的多个队列命令中选择从其他致动器ac的写入动作或读取动作的结束定时(结束预定时刻)起能够最早执行的最低成本命令作为下次处理命令(b1010),并执行所选择的命令的处理,结束处理。118.根据本实施方式,磁盘装置1具有多个致动器ac。磁盘装置1基于重新排序信息,分别计算存储在每个接口if(或致动器ac)的队列中的本致动器ac的多个队列命令的每一个的多个访问成本。磁盘装置1基于重新排序信息和上述访问成本的计算处理的结果,从本致动器ac的多个队列命令中选择能够使由本致动器ac与其他致动器的相互干扰引起的性能降低最小化的最低成本命令来作为下次处理命令,并在本致动器ac的多个队列命令中将所选择的最低成本命令的顺序重新排序为下一顺序。因此,磁盘装置1能够提高访问性能。119.对多个实施方式进行了说明,但这些实施方式是作为例子而提示出的,并非意在限定发明的范围。这些新颖的实施方式可以以其他各种各样的方式实施,在不脱离发明的要旨的范围内可以进行各种省略、替换、变更。这些实施方式及其变形包含于发明的范围、要旨,并且包含于在权利要求书所记载的发明及与其等同的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1