CN106055266A - 盘装置及其控制方法 - Google Patents
盘装置及其控制方法 Download PDFInfo
- Publication number
- CN106055266A CN106055266A CN201510527801.8A CN201510527801A CN106055266A CN 106055266 A CN106055266 A CN 106055266A CN 201510527801 A CN201510527801 A CN 201510527801A CN 106055266 A CN106055266 A CN 106055266A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- order
- group
- dish
- rearrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据实施方式,提供盘装置,其具备:盘,其存储数据;以及控制器,其进行向上述盘的数据的写入及从上述盘的数据的读出。上述控制器将来自主机装置的命令排队,执行该排队后的命令中所包含的第1命令,并对访问该执行中的第1命令的访问目的地的物理位置附近的多个命令,执行重新排序处理。
Description
相关申请
本申请享有以美国临时专利申请62/144,605号(申请日:2015年4月8日)为基础申请的优先权。本申请通过参照该基础申请,包含基础申请的全部内容。
技术领域
本实施方式一般涉及盘装置及其控制方法。
背景技术
在盘装置中,从上级装置(主机装置)发布的命令被排队。另外,以排队了的全部命令为对象,进行改变命令的执行顺序的重新排序,以便缩短对介质的访问时间。但是,近年,由于盘装置内可以排队的命令数增加,所以重新排序处理所需的时间增加。
发明内容
本发明的实施方式提供可以通过削减伴随着重新排序处理的控制器的开销来减轻性能降低的盘装置及其控制方法。
根据实施方式,提供盘装置,其具备:盘,其存储数据;以及控制器,其进行向上述盘的数据的写入及从上述盘的数据的读出。上述控制器将来自主机装置的命令排队,执行该排队后的命令中所包含的第1命令,并对访问该执行中的第1命令的访问目的地的物理位置附近的多个命令,按每组执行上述命令的重新排序处理。
附图说明
图1是示意地表示第1实施方式的盘装置的概略构成的一例的方框图。
图2A和图2B是用于说明组分类信息的图。
图3是表示命令的组分类处理的步骤的一例的流程图。
图4是示意地表示在命令队列中存储的命令的一例的图。
图5A和图5B是表示命令的重新排序处理的步骤的一例的流程图。
图6是表示第1其他表参照处理的步骤的一例的流程图。
图7是表示第2其他表参照处理的步骤的一例的流程图。
图8A和图8B是示意地表示命令队列的命令的状态的一例的图。
图9A~图9C是表示命令队列的命令的状态的一例的图。
图10是表示命令分类信息的一例的图。
图11是示意地表示第2实施方式的表参照方向的确定方法的一例的图。
图12是表示第2实施方式的表参照方向确定处理的步骤的一例的流程图。
具体实施方式
以下参照附图,详细地说明实施方式所涉及的盘装置及其控制方法。另外,本发明并不由这些实施方式所限定。
(第1实施方式)
图1是示意地表示第1实施方式的盘装置的概略构成的一例的方框图。作为盘装置,可以例示硬盘驱动器(HDD)等。
盘装置10具备盘11、转轴马达12、头部组组件(Head StackAssembly,以下称为HSA)13、头部放大器集成电路(以下,称为头部放大器IC)14、随机存取存储器(以下,称为RAM)15、读出/写入通道(以下,称为R/W通道)16、硬盘控制器(以下,称为HDC)17、作为处理器的一例的中央处理单元(以下,称为CPU)18、马达驱动器IC20。
盘11具有记录数据的记录面S,由转轴马达12旋转驱动。在盘装置10,设有多个盘11。另外,在盘装置10所包含的全部的记录面S,设定表示记录面S上的物理位置的位置信息即物理地址。物理地址以例如扇区为单位分配。转轴马达12由从马达驱动器IC20供给的电流(或电压)驱动。
HSA13具备头部H、头悬架131、音圈马达(以下,称为VCM)132。头部H按盘11的每个记录面S而设置。头部H具有用于向盘11的数据写入的写头部和用于从盘11的数据读出的读头部。
头悬架131支持头部H,对各个头部H而设置。VCM132由从马达驱动器IC20供给的电流(或电压)驱动。头悬架131和VCM132构成致动器。致动器通过VCM132的驱动,将由头悬架131支持的头部H移动控制到盘11的记录面S上的预定位置。通过这样的HSA13的构成,头部H可以在盘11的记录面S的半径方向移动。
头部放大器IC14使与从R/W通道16输入的写入数据相应的写入信号(电流)流至头部H。另外,头部放大器IC14放大从头部H输出的读出信号(由头部H从盘11读出的读出数据),并向R/W通道16传送。
RAM15用作暂时存储区域,包括DRAM(动态RAM)或SRAM(静态RAM)等易失性存储器。在RAM15设有命令队列151、缓冲器152、组分类信息存储区域153。命令队列151对从主机装置HC接收到的命令进行排队。在盘装置10刚刚启动之后的状态下,在命令队列151未存储命令。在不进行后述的重新排序处理的状态下,按从主机装置HC接收到的顺序,在命令队列151存储命令。另外,若进行重新排序处理,则命令队列151中的命令进行排列变换。
缓冲器152具有写入缓冲器和读出缓冲器。写入缓冲器暂时地存储根据指示向盘11的写入数据的写入的命令(以下称为写入命令)而向盘11写入的数据。读出缓冲器暂时地存储根据指示从盘11的读出数据的读出的命令(以下称为读出命令)而从盘11读出的数据。
这里,写入命令包含由盘11管理的逻辑扇区之中写入数据的写入目的地的逻辑扇区的开始逻辑块地址(以下称为LBA)及写入数据长。另外,读出命令包含存储由盘11管理的逻辑扇区之中要读出的读出数据的逻辑扇区的开始LBA及读出数据长。
组分类信息存储区域153存储组分类信息。在本实施方式中,在盘11中,以连续的物理位置(物理地址)的范围成为1个组的方式,将盘11划分为多个组。即,在1个组内,存储区域的物理位置连续,分离的物理位置不被分类到1个组。组成为进行重新排序处理的单位。另外,在以LBA等逻辑地址与物理地址一致的方式进行分配的情况下,作为表示物理位置的指标,也可以使用LBA。以下,将以LBA与物理地址一致的方式进行分配作为前提,进行说明。
图2A和图2B是用于说明组分类信息的图,图2A是表示将盘的存储区域分组化的一例的图,图2B是表示组分类信息的一例的图。在图2A中,示出将盘11的存储区域划分为5个组的情况。例如在盘11的存储容量为1T字节的情况下,从开头的物理地址(或LBA)开始,以200G字节为单位分割存储区域。结果,从物理地址小的区域开始依次生成组0、1、2、3、4。组分类信息是表示命令队列151中存储的命令属于哪一组的信息。在图2B所示的例子中,各组所包含的命令以表形式汇总。这里,A~P分别表示命令。
R/W通道16是信号处理电路。在本实施方式中,R/W通道16对从HDC17输入的写入数据进行编码(编码调制),并输出于头部放大器IC14。另外,R/W通道16根据从头部放大器IC14传送的读出信号解码(编码解调)出读出数据,并输出于HDC17。
HDC17是可以与主机装置HC通信的通信接口。具体地,HDC17在从主机装置HC接收到了写入命令的情况下,将写入命令存储在RAM15的命令队列151,将写入数据存储在RAM15的缓冲器152,若写入处理结束,则向主机装置HC返回响应。另外,HDC17在从主机装置HC接收到了读出命令的情况下,将读出命令存储在命令队列151,并将通过读出处理而存储在了缓冲器152的读出数据返回给主机装置HC。
另外,HDC17进行命令队列151中存储的命令的分类处理。在命令的分类处理中,HDC17若接收到命令,则参照命令中所包含的访问目的地的开始LBA,确定在范围中包含访问目的地的开始LBA的组。然后,HDC17将所确定的结果记录在组分类信息存储区域153所存储的组分类信息中。即,HDC17将命令队列151中存储的命令基于访问目的地的开始LBA而分类到组。另外,基于CPU18的固件也可以执行命令队列151中存储的命令的分类处理。
进而,HDC17执行排队了的命令的重新排序处理。在盘装置10中,一般地,使头部H向目标磁道移动,在目标扇区移动到移动了的头部H的位置时,进行对盘11的访问。这里,使头部H向目标磁道移动的距离及时间分别称为搜寻距离及搜寻时间,等待在目标磁道上目标扇区移动到头部H的位置的时间称为旋转等待时间。为了使盘装置10中的处理高速化,要求以搜寻时间和旋转等待时间成为最小的方式,选择接着的命令。另外,基于CPU18的固件也可以执行排队了的命令的重新排序处理。
因此,在执行当前执行中的命令后续的命令时,为了可以有效地进行对盘11的访问,执行从多个命令中选择接着预定执行的命令的重新排序处理。在本实施方式的重新排序处理中,如后所述,将盘11划分为物理位置邻近的多个组,并从与当前执行的命令相同的组或相邻的组选择接着预定执行的命令。
CPU18是盘装置10的主控制器,执行由头部H进行的写入数据的写入及读出数据的读出的控制处理、控制头部H在盘11的记录面S上的位置的伺服控制处理等各种处理。另外,CPU18通过在未图示的只读存储器(ROM)及盘11等的非易失性存储介质中存储的程序,执行上述的各种处理。
马达驱动器IC20对转轴马达12供给电流或电压,以预定的旋转速度驱动转轴马达12。另外,马达驱动器IC20通过对VCM132供给从CPU18指定的电流或电压,来驱动致动器。
在本实施方式中,R/W通道16、HDC17、CPU18组装到集成于单芯片的称为SoC(System on Chip:片上系统)的集成电路19。该集成电路19作为广义的控制器发挥作用。
接着,说明这样的构成的盘装置10的控制方法。以下,依次说明从主机装置HC接收到的命令的组分类处理和命令的重新排序处理。
<命令的组分类处理>
图3是表示命令的组分类处理的步骤的一例的流程图。首先,若从主机装置HC接收到命令(S11),则HDC17将命令存储在命令队列151。在命令为写入命令的情况下,将写入数据存储在缓冲器152。另外,HDC17取得所接收到的命令的访问目的地的开始LBA(S12)。然后,HDC17在包含所取得的开始LBA的组分类信息中的组中登记命令(S13),命令的组分类处理结束。
图4是示意地表示在命令队列中存储的命令的一例的图。若从主机装置HC接收到命令,则HDC17将命令按照接收到的顺序存储在命令队列151。图4表示该状态。这里,表示按照命令A~P的顺序接收的情况。
另外,关于在命令队列151中存储的命令,进行图3所示的组分类处理的结果示于图2B。例如在图2B示出:分类到组0的命令是命令C、K、N,分类到组1的命令是命令A、D、G、J。关于其他组,也示出同样分类了的命令。
<命令的重新排序处理>
图5A和图5B是表示命令的重新排序处理的步骤的一例的流程图。首先,HDC17取出一个命令队列151的开头(最早)命令并执行。由此,开始与命令相应的介质访问(S31)。
接着,HDC17判定在命令队列151是否还存在未执行的命令(S32)。在不存在未执行的命令的情况(S32中为否的情况)下,由于没有重新排序的对象,所以处理结束。另一方面,在存在未执行的命令的情况(S32中为是的情况)下,HDC17参照组分类信息中与当前执行的命令同组的表(S33)。
接着,HDC17判定在所参照的表内是否存在命令(S34)。在表内不存在命令的情况(S34中为否的情况)下,HDC17进行参照与所参照的组在预定的方向相邻的组的表的第1其他表参照处理(S35)。然后,处理返回到S34。
图6是表示第1其他表参照处理的步骤的一例的流程图。在该处理中,首先,HDC17判定是否有与当前参照的组的表在预定的方向相邻的组(S71)。这里,预定的方向是物理地址(或LBA)增大的方向或减小的方向的某一个,是预先设定的方向。在本实施方式所说明的处理的例子中,将物理地址增大的方向设为预定的方向。
在有与当前参照的组相邻的组的情况(S71中为是的情况)下,HDC17参照与该表相邻的组的表(S72)。例如在图2A中,在当前参照的表为组0~3的某一个的情况下,在物理地址增大的方向存在相邻的组。因此,参照与当前参照的表在物理地址增大的方向相邻的组的表。然后,处理返回到图5A。
另一方面,没有与当前参照的组相邻的组的情况(S71中为否的情况)下,即在按物理地址顺序排列组时当前参照的组存在于一个端部的情况下,HDC17参照组分类信息的另一端的组的表(S73)。例如,在图2A中,在当前参照的表为组4的情况下,组4具有盘11的最终物理地址。因此,在按物理地址顺序排列组时,组4构成一端。即,在物理地址增大的方向不存在相邻的组。在这样的情况下,参照存在于组分类信息的另一端的具有开头物理地址的组0的表。然后,处理返回到图5A。
在图5A的S34,在当前参照的表内有命令的情况(S34中为是的情况)下,HDC17用该表内所包含的命令执行重新排序(S36)。具体地,HDC17计算接在当前执行中的命令之后执行所参照的表内的各命令的情况下的处理时间。作为处理时间,使用搜寻时间和旋转等待时间的某一个或双方。
接着,HDC17将所参照的表内的命令之中处理时间最早的命令确定为接着预定执行的命令(S37)。然后,HDC17排列变换命令队列151内的命令的顺序,使得接下来执行接着预定执行的命令(S38)。
然后,HDC17判定当前执行中的命令的介质访问是否完成(S39)。命令的介质访问的时间依访问目的地的数据的长度而变化。例如,在访问目的地的数据的长度长的情况下,由命令进行的介质访问的时间变长。另一方面,在访问目的地的数据的长度短的情况下,由命令进行的介质访问时间变短。
在介质访问未完成的情况(S39中为否的情况)下,HDC17进行第2其他表参照处理(S40)。
图7是表示第2其他表参照处理的步骤的一例的流程图。首先,HDC17判定是否有与最后参照的表在预定的方向相邻的组(S91)。这里,在最初执行第2其他表参照处理的情况下,最后参照的表是在S33及S35参照的表之中最后参照的表。另外,在第2次执行第2其他表参照处理的情况下,是在前次的第2其他表参照处理中参照的表。
在有与最后参照的表相邻的组的情况(S91中为是的情况)下,HDC17参照与最后参照的表相邻的组的表(S92)。另一方面,在没有与最后参照的表相邻的组的情况(S91中为否的情况)下,HDC17参照组分类信息的另一端的组的表(S93)。在S92或S93之后,处理返回到图5B。
然后,在图5B,HDC17判定在当前参照的表内是否有命令(S41)。在表内不存在命令的情况(S41中为否的情况)下,处理返回到S40。另一方面,在当前参照的表内有命令的情况(S41中为是的情况)下,HDC17用该表内所包含的命令执行重新排序(S42)。另外,在S40的第2其他表参照处理为第1次的情况下,对于在S36执行了重新排序的表进行第2其他表参照处理而获得的组的表成为上述该表。另外,在S40的第2其他表参照处理为第2次以后的情况下,对于在前次的第2其他表参照处理中参照的组的表进行第2其他表参照处理而获得的组的表成为上述该表。HDC17对于所参照的表内的各命令,计算在接在当前执行中的命令之后执行该命令的情况下的处理时间。作为处理时间,可以使用搜寻时间和旋转等待时间的某一个或双方。
接着,HDC17判定在重新排序了的命令中是否有比接着预定执行的命令效率更高的命令(S43)。这里,所谓效率高,是指处理时间短。在有比接着预定执行的命令效率高的命令的情况(S43中为是的情况)下,HDC17将效率高的命令确定为接着预定执行的命令(S44)。但是,在存在多个比接着预定执行的命令效率高的命令的情况下,HDC17选择多个命令之中效率最高的命令。然后,HDC17对命令队列151内的命令进行排列变换,使得接着预定执行的命令接在当前执行中的命令之后执行(S45)。其后或在S43中没有比接着预定执行的命令效率高的命令的情况(S43中为否的情况)下,处理返回S39。
在S39,在执行中的命令的介质访问完成的情况(S39中为是的情况)下,HDC17执行接着预定执行的命令(S46)。该命令是在命令队列151中作为命令的执行顺序排列变换在最初的命令。然后,处理返回到S31。通过以上例示的步骤,进行重新排序处理。
接着,说明重新排序处理的具体例子。这里,说明在命令分类信息中的全部组中包含命令的情况和在包含当前执行中的命令的组中不包含命令的情况。
<在命令分类信息中的全部组中包含命令的情况>
图8A和图8B是示意地表示命令队列的命令的状态的一例的图。假设如图4那样命令A~P按顺序存储在命令队列151,各个命令如图2B那样被分类到组。由于在图4中在命令队列151的开头存储有命令A,所以最初执行命令A。在执行命令A的期间,HDC17进行重新排序处理。
由于根据图2B命令A属于组1,所以参照组1的表。另外,在组1的表中,包含其他命令D、G、J。因此,HDC17对于组1内的命令A以外的命令,计算在接在命令A之后执行的情况下的处理时间,并选择效率最高的命令。这里,设为例如命令G被确定为接着预定执行的命令。结果,如图8A所示,在命令队列151中,命令G移动到命令A与命令B之间。
在处理执行到此时,若执行中的命令A的介质访问处理完成,则执行被确定为接着预定执行的命令的命令G。另一方面,在处理执行到此时,在执行中的命令A的介质访问处理还未结束的情况下,执行图7所示的第2其他表参照处理。然后,进行包含在物理地址增大的方向相邻的组2的表内的命令的重新排序处理。成为重新排序处理的对象的命令是图8A中用粗框表示的命令B、M。然后,判定在接在命令A之后执行的情况下是否有比接着预定执行的命令效率高的命令。
在组2内的命令全部是比接着预定执行的命令G效率差的命令的情况下,接着预定执行的命令如图8A那样维持为命令G。另一方面,在组2内的命令B是比接着预定执行的命令G效率高的命令的情况下,命令B被确定为新的接着预定执行的命令。结果,如图8B所示,在命令队列151中,命令B移动到命令A与命令G之间。
另外,此后,按照图2B的组3→组4→组0→…的顺序进行命令的重新排序处理,直到执行中的命令A的介质访问完成为止。例如,在组3的表内进行重新排序处理的情况下,图8B中用粗框表示的命令E、F、I、P成为重新排序对象。
<在包含当前执行中的命令的组中不包含命令的情况>
图9A~图9C是表示命令队列的命令的状态的一例的图,图10是表示命令分类信息的一例的图。在该例中,假定如图9A所示,命令A~G按顺序存储在命令队列151,各个命令如图10那样分类到组。由于在图9A中命令A存储在命令队列151的开头,所以最初执行命令A。在执行命令A的期间,HDC17进行重新排序处理。
由于根据图10命令A属于组1,所以参照组1的表。在图10的例子中,在组1的表中不包含其他命令。因此,HDC17执行图6所示的第1其他表参照处理。然后,HDC17参照在物理地址增大的方向相邻的组2的表。
如图10所示,在组2中包含命令D、G(在图9A中,成为重新排序处理的对象的命令D、G用粗框表示)。因此,HDC17对于组2内的命令,计算接在命令A之后执行的情况下的处理时间,并选择效率最高的命令。这里,设为例如命令G被确定为接着预定执行的命令。结果,如图9B所示,在命令队列151中,命令G移动到命令A与命令B之间。
在处理执行到此时,若执行中的命令A的介质访问处理完成,则执行被确定为接着预定执行的命令的命令G。另一方面,在处理执行到此时,在执行中的命令A的介质访问处理还未完成的情况下,参照相对于组2在物理地址增大的方向相邻的组3的表。但是,组3中不包含命令。然后,参照与组3相邻的组4,但是组4中也不包含命令。由于组4具有盘11的存储区域的最终物理地址,所以接在组4之后参照具有开头物理地址的组0。在图10的例子中,在组0内包含命令B、C、E、F(在图9B中,成为重新排序处理的对象的命令B、C、E、F用粗框表示)。因而,HDC17进行包含组0内的命令的重新排序处理。然后,判定在接在命令A之后执行的情况下是否有比接着预定执行的命令效率高的命令。
在组0内的命令全部是比接着预定执行的命令G效率差的命令的情况下,接着预定执行的命令如图9B那样,维持为命令G。另一方面,在组0内的命令B是比接着预定执行的命令G效率高的命令的情况下,命令B被确定为新的接着预定执行的命令。结果,如图9C所示,在命令队列151中,命令B移动到命令A与命令G之间。
另外,此后,按照图10的组1→组2→…的顺序进行命令的重新排序处理,直到执行中的命令A的介质访问完成为止。
另外,在上述的说明中,在参照其他表的情况下,HDC17选择了相对于所参照的组在物理地址(或LBA)增大的方向相邻的组。但是,这是一例,也可以选择在物理地址(或LBA)减小的方向相邻的组。
另外,在参照其他表的情况下,HDC17也可以如下进行组的选择:参照相对于所参照的组在物理地址增大的方向相邻的第1组,接着参照当前执行中的命令所属的表的在物理地址减小的方向相邻的第2组,接着参照第1组的在物理地址增大的方向相邻的第3组,再参照第2组的在物理地址减小的方向相邻的第4组。
在第1实施方式中,在具有盘11和控制器的盘装置10中,将来自主机装置HC的命令排队,并对访问当前执行中的命令的访问目的地的物理位置附近的命令进行重新排序。由此,与将命令队列151中的全部命令作为对象进行重新排序的情况相比,重新排序对象的命令数得到限定。结果,具有能够削减控制器的开销、减轻性能降低的效果。
另外,作为接着预定执行的命令,指定具有从当前执行中的命令的访问目的地的物理位置起搜寻时间短的访问目的地的物理位置的命令。因此,还具有能够降低盘装置10中的功耗的效果。
(第2实施方式)
在第1实施方式中,在当前执行中的命令所属表中没有其他命令的情况下或命令的介质访问未完成的情况下,参照与当前执行中的命令所属的表在预定的方向相邻的组。参照方向是预先设定的方向。在第2实施方式中,说明根据当前执行中的命令的物理位置,确定相邻的组的参照方向的情况。
在第2实施方式的盘装置10中,HDC17还具有在重新排序处理时,确定表的参照方向的功能。图11是示意地表示第2实施方式的表参照方向的确定方法的一例的图。如该图所示,各组的存储容量在成为近似一半的位置划分区域。由此,在各组中,形成组内物理位置小的前区域R1和物理位置大的后区域R2。
HDC17根据当前执行中的命令的访问目的地的开始LBA处于前区域R1还是后区域R2来确定所参照的表的方向。具体地,在当前执行中的命令的访问目的地的开始LBA处于前区域R1的情况下,作为表参照方向,选择物理地址减小的方向。另外,在访问目的地的开始LBA处于后区域R2的情况下,作为表参照方向,选择物理地址增大的方向。通过这样选择表参照方向,能够缩短当前执行的命令与接着预定执行的命令之间的搜寻距离。
第2实施方式的重新排序处理基本上与在第1实施方式中说明的相同,但是不同点在于:在图5A的S34与S35之间执行表参照方向确定处理。图12是表示第2实施方式的表参照方向确定处理的步骤的一例的流程图。
首先,HDC17取得当前执行中的命令的访问目的地的物理位置(S111)。这里,由于盘11的物理位置与LBA相对应,所以能够根据命令中所包含的开始LBA求出物理位置。
接着,HDC17判定执行中的命令的访问目的地的物理位置是否处于组的前区域R1(S112)。在执行中的命令的访问目的地的物理位置处于前区域R1的情况(S112中为是的情况)下,HDC17将物理地址减小的方向确定为表参照方向(S113),且处理结束。另外,在执行中的命令的访问目的地的物理位置不处于前区域R1的情况、即在处于后区域R2的情况(S112中为否的情况)下,HDC17将物理地址增大的方向确定为表参照方向(S114),且处理结束。
另外,在上述的说明中,说明了在图5A的S34与S35之间执行图12的表参照方向确定处理的情况。在该情况下,有时将曾经确定的表参照方向存储起来并在此后也使用。但是,也可以在图5B的S39与S40之间也执行图12的表参照方向确定处理。
在第2实施方式中,根据当前执行中的命令在组内所属的位置,选择重新排序对象的组。结果,具有能够缩短接在当前执行中的命令之后执行预定执行的命令时的搜寻时间的效果。
另外,在上述的实施方式中所示的流程图是一例。因此,也可以不按图示的顺序进行处理。
另外,在上述的例子中,说明了LBA以与盘11的物理地址一致的方式进行分配的情况。但是,在LBA以与盘11的物理地址不一致的方式进行分配的情况下也可以应用上述实施方式。在该情况下,使用表示LBA与物理地址之间的对应关系的地址变换信息,将LBA变换为物理地址而执行处理。
虽然说明了本发明的几个实施方式,但是这些实施方式是作为例子而呈现的,而并非要限定发明的范围。这些新实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围,可以进行各种省略、置换、改变。这些实施方式和/或其变形包含于发明的范围和/或主旨,并且包含于权利要求的范围所记载的发明及其均等的范围。
Claims (20)
1.一种盘装置,具备:
盘,其存储数据;以及
控制器,其进行向上述盘的数据的写入及从上述盘的数据的读出,
其中上述控制器将来自主机装置的命令排队,执行该排队后的命令中所包含的第1命令,并对访问该第1命令的访问目的地的物理位置附近的多个命令,执行重新排序处理。
2.权利要求1所述的盘装置,其中,
上述控制器若从上述主机装置接收到上述命令,则将上述命令分类到与上述命令的访问目的地的物理位置对应的组,上述组是以在该组内物理位置连续的方式将上述盘划分为多个而成的区域。
3.权利要求2所述的盘装置,其中,
上述控制器在上述第1命令的访问目的地的物理位置所属的第1组中存在其他命令的情况下,对上述其他命令执行上述重新排序处理。
4.权利要求3所述的盘装置,其中,
上述控制器在上述第1组中不存在上述其他命令的情况下,对从上述第1组起按预定的顺序获得的第2组内的命令执行上述重新排序处理,上述预定的顺序是表示物理位置的位置信息相对于上述第1组的物理位置增大或减小的顺序。
5.权利要求3所述的盘装置,其中,
上述控制器在上述重新排序处理的结束时上述第1命令对上述盘的访问处理未完成的情况下,对从上述第1组起按预定的顺序获得的第2组内的命令反复执行上述重新排序处理直到上述访问处理完成为止,上述预定的顺序是表示物理位置的位置信息相对于上述第1组的物理位置增大或减小的顺序。
6.权利要求5所述的盘装置,其中,
上述控制器在上述第2组中不存在上述命令的情况下,不执行上述重新排序处理,并基于上述预定的顺序,参照下一组。
7.权利要求4所述的盘装置,其中,
上述控制器在上述重新排序处理的结束时上述第1命令对上述盘的访问处理未完成的情况下,反复执行包含从上述第2组起按上述预定的顺序获得的第3组内的命令的上述重新排序处理,直到上述访问处理完成为止。
8.权利要求7所述的盘装置,其中,
上述控制器在上述第3组中不存在上述命令的情况下,不执行上述重新排序处理,并基于上述预定的顺序,参照下一组。
9.权利要求4所述的盘装置,其中,
上述控制器,
在上述第1命令的访问目的地的上述物理位置处于上述第1组的、物理位置比中央小的区域的情况下,将上述预定的顺序设为上述位置信息减小的顺序,
在上述第1命令的访问目的地的上述物理位置处于上述第1组的、物理位置比中央大的区域的情况下,将上述预定的顺序设为上述位置信息增大的顺序。
10.权利要求1所述的盘装置,其中,
对上述盘分配的逻辑地址以与物理地址一致的方式分配,
上述控制器使用上述逻辑地址作为上述物理位置而进行处理。
11.一种盘装置的控制方法,包括:
将来自主机装置的命令排队;
执行该排队后的命令中所包含的第1命令;以及
对访问该第1命令的访问目的地的物理位置附近的多个命令,执行重新排序处理。
12.权利要求11所述的盘装置的控制方法,其中,
上述盘装置具备存储数据的盘,
该控制方法:
若从上述主机装置接收到上述命令,则将上述命令分类到与上述命令的访问目的地的物理位置对应的组,上述组是以在该组内物理位置连续的方式将上述盘划分为多个而成的区域。
13.权利要求12所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述第1命令的访问目的地的物理位置所属的第1组中存在其他命令的情况下,对上述其他命令进行重新排序。
14.权利要求13所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述第1组中不存在上述其他命令的情况下,对从上述第1组起按预定的顺序获得的第2组内的命令进行重新排序,上述预定的顺序是表示物理位置的位置信息相对于上述第1组的物理位置增大或减小的顺序。
15.权利要求13所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述第1组中的重新排序的结束时上述第1命令对上述盘的访问处理未完成的情况下,对从上述第1组起按预定的顺序获得的第2组内的命令反复执行重新排序的处理直到上述访问处理完成为止,上述预定的顺序是表示物理位置的位置信息相对于上述第1组的物理位置增大或减小的顺序。
16.权利要求15所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述第2组中不存在上述命令的情况下,不执行重新排序,并基于上述预定的顺序,参照下一组。
17.权利要求14所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述重新排序处理的结束时上述第1命令对上述盘的访问处理未完成的情况下,反复执行包含从上述第2组起按上述预定的顺序获得的第3组内的命令而重新排序的处理,直到上述访问处理完成为止。
18.权利要求17所述的盘装置的控制方法,其中,
在上述命令的重新排序中,在上述第3组中不存在上述命令的情况下,不执行上述重新排序,并基于上述预定的顺序,参照下一组。
19.权利要求14所述的盘装置的控制方法,其中,
在上述命令的重新排序中,
在上述第1命令的访问目的地的上述物理位置处于上述第1组的、物理位置比中央小的区域的情况下,将上述预定的顺序设为上述位置信息减小的顺序,
在上述第1命令的访问目的地的上述物理位置处于上述第1组的、物理位置比中央大的区域的情况下,将上述预定的顺序设为上述位置信息增大的顺序。
20.权利要求11所述的盘装置的控制方法,其中,
对上述盘分配的逻辑地址以与物理地址一致的方式分配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562144605P | 2015-04-08 | 2015-04-08 | |
US62/144605 | 2015-04-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106055266A true CN106055266A (zh) | 2016-10-26 |
Family
ID=57112669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510527801.8A Withdrawn CN106055266A (zh) | 2015-04-08 | 2015-08-25 | 盘装置及其控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160299686A1 (zh) |
CN (1) | CN106055266A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10228880B2 (en) * | 2016-09-06 | 2019-03-12 | HGST Netherlands B.V. | Position-aware primary command queue management |
US10418053B1 (en) | 2018-03-07 | 2019-09-17 | Kabushiki Kaisha Toshiba | Disk-drive with efficient command-reordering |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888691A (en) * | 1988-03-09 | 1989-12-19 | Prime Computer, Inc. | Method for disk I/O transfer |
CN1282030A (zh) * | 1999-07-26 | 2001-01-31 | 国际商业机器公司 | 对商品盘驱动器上的命令进行优先级排序的方法和系统 |
CN101676854A (zh) * | 2008-09-19 | 2010-03-24 | 联发科技股份有限公司 | 光驱及增进光驱指令执行性能的方法 |
CN101944066A (zh) * | 2009-07-10 | 2011-01-12 | 成都市华为赛门铁克科技有限公司 | 固态硬盘的接口处理方法、固态硬盘以及存储系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5548795A (en) * | 1994-03-28 | 1996-08-20 | Quantum Corporation | Method for determining command execution dependencies within command queue reordering process |
JP2001312373A (ja) * | 2000-04-21 | 2001-11-09 | Internatl Business Mach Corp <Ibm> | データの書き込み方法およびディスクドライブ装置 |
JP4521206B2 (ja) * | 2004-03-01 | 2010-08-11 | 株式会社日立製作所 | ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法 |
-
2015
- 2015-07-20 US US14/803,490 patent/US20160299686A1/en not_active Abandoned
- 2015-08-25 CN CN201510527801.8A patent/CN106055266A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888691A (en) * | 1988-03-09 | 1989-12-19 | Prime Computer, Inc. | Method for disk I/O transfer |
CN1282030A (zh) * | 1999-07-26 | 2001-01-31 | 国际商业机器公司 | 对商品盘驱动器上的命令进行优先级排序的方法和系统 |
CN101676854A (zh) * | 2008-09-19 | 2010-03-24 | 联发科技股份有限公司 | 光驱及增进光驱指令执行性能的方法 |
CN101944066A (zh) * | 2009-07-10 | 2011-01-12 | 成都市华为赛门铁克科技有限公司 | 固态硬盘的接口处理方法、固态硬盘以及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160299686A1 (en) | 2016-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100412806C (zh) | 存贮控制器及存贮控制方法 | |
CN1288634C (zh) | 在磁盘存储装置中选择排队的数据存取操作的方法和装置 | |
CN108733322A (zh) | 用于多流垃圾收集的方法 | |
CN101815989B (zh) | 基于获取的动态存储分层配置预登台数据的方法 | |
CN106920561B (zh) | 磁盘装置及写入方法 | |
CN101458932A (zh) | 用于以顺序访问的方式将数据写入盘驱动器的方法和设备 | |
CN101615410B (zh) | 盘存储装置和程序 | |
CN102521152A (zh) | 一种分级存储方法及系统 | |
CN101127229A (zh) | 信息记录设备及其控制方法 | |
JP6042346B2 (ja) | 記憶媒体のホスト設定を用いてデータを記憶するためのシステムおよび方法 | |
CN106055266A (zh) | 盘装置及其控制方法 | |
CN105938421A (zh) | 热辅助磁记录叠瓦式磁记录型存储设备的分区内磨损平衡 | |
CN1627425B (zh) | 数据记录/再现装置、方法、程序及记录介质 | |
CN110289018B (zh) | 磁盘装置及其记录方法 | |
CN102184080A (zh) | 一种基于固化条带的raid系统扩容后的数据读写方法 | |
JPH04325923A (ja) | 光ディスク装置のアクセス制御方式 | |
CN101142628A (zh) | 信息记录和再现装置及控制信息记录和再现装置的方法 | |
US11061595B2 (en) | Logical address remapping for direct write | |
CN105611979A (zh) | 具备试验区域的层级化存储系统、存储控制器及程序 | |
EP1132806B1 (en) | Automatic mapping and efficient address translation for multi-surface, multi-zone storage devices | |
KR20130100727A (ko) | 하이브리드 e 영역을 갖는 싱글 기입 자기 기록(smr)장치 | |
CN105096965A (zh) | 磁盘装置及数据刷新的处理方法 | |
CN101727940B (zh) | 磁盘转向控制方法、装置和磁盘 | |
CN110275677B (zh) | 硬盘格式转换方法、装置及存储设备 | |
CN108628546A (zh) | 盘装置以及盘装置的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20161026 |