CN117631965A - 磁盘装置以及命令处理方法 - Google Patents

磁盘装置以及命令处理方法 Download PDF

Info

Publication number
CN117631965A
CN117631965A CN202310057028.8A CN202310057028A CN117631965A CN 117631965 A CN117631965 A CN 117631965A CN 202310057028 A CN202310057028 A CN 202310057028A CN 117631965 A CN117631965 A CN 117631965A
Authority
CN
China
Prior art keywords
command
delay limit
commands
limit time
queue
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.)
Pending
Application number
CN202310057028.8A
Other languages
English (en)
Inventor
藤浪隆
佐藤贺之
小野田高志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Publication of CN117631965A publication Critical patent/CN117631965A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/4806Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed specially adapted for disk drive assemblies, e.g. assembly prior to operation, hard or flexible disk drives
    • G11B5/4826Mounting, aligning or attachment of the transducer head relative to the arm assembly, e.g. slider holding members, gimbals, adhesive

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

提供能够在考虑响应时间的同时高效地执行命令的磁盘装置以及命令处理方法。磁盘装置具备盘、头、命令队列(91)、算出上述命令队列中的各命令的逗留时间的命令逗留时间算出部(63)、分别算出命令的数量和比率的命令信息算出部(64)、从延迟极限时间判定表取得与上述命令的数量和上述比率对应的延迟极限时间的极限时间判定部(65)以及考虑上述延迟极限时间来选择要执行的命令的命令选择处理部(66)。

Description

磁盘装置以及命令处理方法
本申请享受以日本特许申请2022-138628号(申请日:2022年8月31日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及磁盘装置以及命令处理方法。
背景技术
磁盘装置具备能够先暂时性地存储从个人计算机等的主机装置接收到的多个命令的命令队列。多个命令被按磁盘装置进行了接收的顺序进行排队。
磁盘装置被以各种各样的性能评价指标进行评价,其中具有命令响应性能这一指标。将到从主机装置发送至磁盘装置的每一个命令的执行完成为止的时间称为命令响应时间,基于命令响应时间来对命令响应性能进行评价。磁盘装置按照从主机装置发布的命令,进行从盘读出信息、向盘写入信息。
当按磁盘装置进行了接收的顺序执行多个命令时,到对盘的对象扇区进行访问为止,包含寻道时间和旋转等待时间的机械上的等待时间有可能增大。于是,在磁盘装置接收到多个命令的情况下进行重新排序处理,该重新排序处理对命令队列内的多个命令进行重新排序。通过对执行命令的顺序进行调整(例如调换),能够效率最好且高速地完成访问,能够有助于减少上述等待时间。上述“高速地访问”是指在处于能够从当前的头位置、盘的旋转位置接着进行访问的位置的扇区中,对处于能够最短地进行访问的位置的扇区进行访问。
在如上述那样进行了重新排序处理的情况下,根据命令的选择,会出现很难被选择的命令。当从主机装置来看时,该命令成为未完成执行的命令,因此,会导致命令响应性能的恶化。
发明内容
本实施方式提供能够在考虑响应时间的同时高效地执行命令的磁盘装置以及命令处理方法。
一个实施方式涉及的磁盘装置具备:盘;头,其对所述盘写入数据,从所述盘读取数据;命令队列,其暂时性地存储所接收到的一个以上的命令;命令逗留时间算出部,其算出所述命令队列中的各命令的逗留时间;命令信息算出部,其分别算出处于所述命令队列的所述命令的数量、和处于所述命令队列的读取命令与写入命令的比率;极限时间判定部,其从延迟极限时间判定表的多个延迟极限时间中取得与所述命令的数量和所述比率对应的延迟极限时间;以及命令选择处理部,其考虑由所述极限时间判定部取得的所述延迟极限时间来选择要执行的命令。
另外,一个实施方式涉及的命令处理方法是应用于磁盘装置的命令处理方法,所述磁盘装置具备盘、头以及命令队列,所述头对所述盘写入数据,从所述盘读取数据,所述命令队列暂时性地存储所接收到的一个以上的命令,所述命令处理方法包括:算出所述命令队列中的各命令的逗留时间;分别算出处于所述命令队列的所述命令的数量、和处于所述命令队列的读取命令与写入命令的比率;从延迟极限时间判定表的多个延迟极限时间中取得与所述命令的数量和所述比率对应的延迟极限时间;以及考虑所述取得的延迟极限时间来选择要执行的命令。
附图说明
图1是表示比较例涉及的磁盘装置的构成的框图。
图2是表示上述磁盘装置的盘的多个磁道的配置的一个例子的概略图,是用于对在依次接收到命令1、命令2以及命令3的情况下不进行重新排序而依次执行命令1、命令2以及命令3的例子进行说明的图。
图3是表示上述磁盘装置的盘的多个磁道的配置的一个例子的概略图,是用于对在依次接收到命令1、命令2以及命令3的情况下进行重新排序而依次执行命令1、命令3以及命令2的例子进行说明的图。
图4是表示图1所示的命令队列所包含的多个命令的图,是用于对在命令队列中残留有超过时效时间的未执行的命令的例子进行说明的图。
图5是表示图1所示的HDC、MPU、缓冲存储器以及主机装置的框图。
图6是表示上述比较例涉及的命令处理方法的流程图,被使用于对能够在考虑时效时间的同时高效地执行命令的命令处理方法进行说明。
图7是表示一个实施方式涉及的磁盘装置具有的第1延迟极限时间判定表的图。
图8是表示上述实施方式涉及的磁盘装置具有的第2延迟极限时间判定表的图。
图9是表示上述实施方式涉及的磁盘装置具有的第3延迟极限时间判定表的图。
图10是表示上述实施方式涉及的HDC、MPU、缓冲存储器以及主机装置的框图。
图11是表示上述实施方式涉及的命令处理方法的流程图,被使用于对能够在考虑时效时间和延迟极限时间的同时高效地执行命令的命令处理方法进行说明。
图12是接着图11的表示上述命令处理方法的流程图。
图13是表示在上述实施方式涉及的磁盘装置中从接收命令到执行命令、对主机装置通知状态为止的流程的流程图。
图14是接着图13的表示上述流程的流程图。
图15是表示上述实施方式涉及的HDC、MPU、非易失性存储器以及主机装置的框图。
图16是表示在上述实施方式涉及的磁盘装置中对要使用的延迟极限时间判定表进行切换的流程的流程图。
标号说明
1磁盘装置;10盘;TR1a、TR2a、TR3a执行区域;TR0、TR1、TR2、TR3、TR4、TR5磁道;15头;50HDC;60MPU;61命令接收部;62时效时间判定部;63命令逗留时间算出部;64命令信息算出部;65极限时间判定部;66命令选择处理部;67命令执行部;68命令响应处理部;69表选择部;70易失性存储器;80非易失性存储器;90缓冲存储器;91命令队列;92高速缓存缓冲区;93高速缓存;100主机装置;130系统控制器;d1半径方向;d2行进方向;d3旋转方向。
具体实施方式
(比较例)
首先,参照附图对比较例进行说明。图1是表示本比较例涉及的磁盘装置1的构成的框图。
如图1所示,磁盘装置1具备头盘组件(HDA)、驱动器IC20、头放大器集成电路(以下记载为头放大器IC或者预放大器)30、易失性存储器70、非易失性存储器80、缓冲存储器(buffer)90以及作为一个芯片的集成电路的系统控制器130。另外,磁盘装置1与主机装置(主机)100连接。
HAD具有磁盘(以下称为盘)10、主轴马达(以下称为SPM)12、搭载头15的臂13以及音圈马达(以下称为VCM)14。盘10安装于SPM12,通过SPM12的驱动进行旋转。臂13和VCM14构成致动器。致动器通过VCM14的驱动,将搭载于臂13的头15移动控制到盘10的预定位置。磁盘装置1也可以具备多个盘10和多个头15。
盘10对其能够写入数据的区域分配有用户能够利用的用户数据区域10a、在将从主机装置等传送的数据(或者命令)写入到用户数据区域10a的预定区域之前暂时性地保持该数据的媒体缓存(或者有时也称为媒体缓存区域)10b以及写入系统管理所需要的信息的系统区10c。此外,媒体缓存10b也可以不配置在盘10。
以下,将从盘10的内周朝向外周的方向称为半径方向。在与半径方向平行的方向上,将从内周朝向外周的方向称为外方向(外侧),将从外周朝向内周的方向称为内方向(内侧)。将与盘10的半径方向正交的方向称为圆周方向或者周向。圆周方向相当于沿着盘10的圆周的方向。
另外,有时也将盘10的半径方向上的预定位置称为半径位置,将盘10的圆周方向上的预定位置称为圆周位置。有时也将半径位置和圆周位置一并简称为位置。半径位置相当于从盘10的旋转中心到预定的半径位置为止的距离、从盘10的最内周到预定的半径位置为止的距离或者从盘10的预定的半径位置到另一半径位置为止的距离等。
盘10按半径方向上的预定范围而被区分为多个区域(以下有时也称为分区(zone))。分区包括多个磁道。有时也将在半径方向上对盘10进行区分而得到的区域称为半径区域。半径区域包括一个以上的分区、多个磁道等。
此外,“磁道”以盘10的在半径方向上区分而得到的多个区域中的一个区域、预定的半径位置处的头15的路径、在盘10的圆周方向上延长的数据、在预定的半径位置的磁道中所写入的一周量的数据、在盘10的预定磁道中所写入的数据、在盘10的预定磁道中所写入的数据的一部分以及其他各种含义来使用。
“扇区”以在圆周方向上对盘10的预定磁道进行区分而得到的多个区域中的一个区域、在盘10的预定的半径位置处的预定的圆周位置中所写入的数据、在盘10的预定磁道的预定扇区中所写入的数据以及其他各种含义来使用。
有时也将“磁道的半径方向上的宽度”称为“磁道宽度”。有时也将“预定磁道中的穿过磁道宽度的中心位置的路径”称为“磁道中央”。有时也将“扇区的半径方向上的宽度”称为“扇区宽度”。有时也将“预定扇区中的穿过扇区宽度的中心位置的路径”称为“扇区中央”。扇区中央与磁道中央一致。“相同”、“同一”、“一致”以及“同等”等的术语当然包括完全相同这一含义,但也包括在实质上可视为相同的程度上不同这一含义。以下,有时也将“预定磁道的磁道中央”简称为“磁道”。另外,有时也将“预定扇区的扇区中央”简称为“扇区”。
头15将滑块作为主体,具备安装于该滑块的写入头15W和读取头15R。写入头15W在盘10上写入数据。以下,有时也将“写入数据”称为“写入”、“数据写入”、“写入处理”等。读取头15R读取记录于盘10的数据。以下,有时也将“读取数据”称为“读取”、“数据读取”、“读取处理”等。
此外,既有时将写入头15W简称为头15,也有时将读取头15R简称为头15,还有时将写入头15W和读取头15R一并称为头15。有时也将头15的中心部简称为头15,将写入头15W的中心部简称为写入头15W,将读取头15R的中心部简称为读取头15R。
既有时将“写入头15W的中心部”简称为“头15”,也有时将“读取头15R的中心部”简称为“头15”。有时也将“将头15的中心部定位于预定磁道的磁道中央”表现为“将头15定位于预定磁道”、“将头15配置于预定磁道”、“使头15位于预定磁道”等。
系统控制器130具备读/写(R/W)通道40、硬盘控制器(HDC)50以及微处理器(MPU)60。
驱动器IC20按照系统控制器130(详细而言为MPU60)的控制,对SPM12和VCM14的驱动进行控制。
头放大器IC(预放大器)30具备读取放大器和写入驱动器。读取放大器对从盘10读取到的读取信号进行放大,并输出至系统控制器130(详细而言为R/W通道40)。写入驱动器对头15输出与从R/W通道40输出的信号相应的写入电流。
易失性存储器70是当电力供给断开时所保存的数据会丢失的半导体存储器。易失性存储器70保存磁盘装置1的各部中的处理所需要的数据等。易失性存储器70例如为DRAM(DynamicRandomAccessMemory,动态随机访问存储器)或者SDRAM(SynchronousDynamicRandomAccess Memory,同步动态随机访问存储器)。
非易失性存储器80是即使电力供给断开、也记录所保存的数据的半导体存储器。非易失性存储器80例如为NOR型或者NAND型的闪速ROM(FlashReadOnlyMemory(闪速只读存储器):FROM)。
缓冲存储器90是暂时性地存储在磁盘装置1与主机装置100之间收发的数据等的半导体存储器。此外,缓冲存储器90也可以与易失性存储器70一体地构成。缓冲存储器90是DRAM、SRAM(StaticRandomAccess Memory,静态随机访问存储器)、SDRAM、FeRAM(FerroelectricRandom Accessmemory,铁电随机访问存储器)、MRAM(MagnetoresistiveRandomAccessMemory,磁阻随机访问存储器)等。缓冲存储器90包括被作为命令队列91来使用的区域、被作为高速缓存缓冲区(cachebuffer)92来使用的区域以及被作为高速缓存(cache)93来使用的区域。
命令队列91暂时性地存储所接收到的一个以上的命令。高速缓存缓冲区92兼作写入高速缓存。高速缓存缓冲区92代替命令队列91而暂时性地存储一个以上的命令。高速缓存93作为读取高速缓存发挥功能。
系统控制器(控制器)130例如使用多个元件集成于单一芯片的被称为片上系统(System-on-a-Chip(SoC))的大规模集成电路(LSI)来实现。系统控制器130例如与驱动器IC20、头放大器IC30、易失性存储器70、非易失性存储器80、缓冲存储器90以及主机装置100电连接。
R/W通道40根据来自后述的MPU60的指示,执行从盘10传送至主机装置100的读取数据以及从主机装置100传送的写入数据的信号处理、例如调制处理、解调处理、编码处理、解码处理。R/W通道40具有测定读取数据的信号品质的电路或者功能。R/W通道40与头放大器IC30、HDC50、MPU60等电连接。
HDC50根据来自MPU60的指示,对主机装置100与R/W通道40之间的数据传送进行控制。HDC50例如与R/W通道40、MPU60、易失性存储器70、非易失性存储器80、缓冲存储器90等电连接。
MPU60是对磁盘装置1的各部进行控制的主控制器。MPU60经由驱动器IC20对VCM14进行控制,执行进行头15的定位的伺服控制。另外,MPU60经由驱动器IC20对SPM12进行控制,使盘10旋转。MPU60对向盘10写入数据的写入动作进行控制,并且,选择写入数据的保存目的地。另外,MPU60对从盘10读取数据的读取动作进行控制,并且,对读取数据的处理进行控制。另外,MPU60对记录数据的区域进行管理。MPU60与磁盘装置1的各部连接。MPU60与驱动器IC20、R/W通道40、HDC50等电连接。
在此,对在磁盘装置1中使用的性能指标进行说明。在磁盘装置1中具有各种各样的性能指标,但作为一般被重视的性能指标,可举出IOPS(Input/OutputoperationsPerSecond,每秒输入/输出操作)、传送速率以及延迟(Latency)。
上述IOPS是每一秒的读取次数和写入次数。IOPS表示磁盘装置1的处理吞吐量的能力。IOPS高时,磁盘装置1的传送性能好。
上述传送速率是在一秒期间能够向磁盘装置1传送的字节数/比特数(MB/s、bps)。传送速率表示磁盘装置1的处理吞吐量的能力。传送速率高时,磁盘装置1的传送性能好。
延迟意味着迟延,表示到从主机装置100发送了的每一个命令的执行完成为止的时间。延迟表示磁盘装置1的命令响应性能。延迟低时,磁盘装置1的响应性能好。
在磁盘装置1中,除此之外,也具有振动、温度、功耗、BenchMark得分、OS启动时间、文件复制时间等的观点上的性能指标。
接着,对命令处理的例子进行说明。图2是表示磁盘装置1的盘10的多个磁道TR0、TR1、TR2、TR3、TR4、TR5的配置的一个例子的概略图,是用于对在依次接收到命令1、命令2以及命令3的情况下不进行重新排序(Re-ordering)而依次执行命令1、命令2以及命令3的例子进行说明的图。图3是表示磁盘装置1的盘10的多个磁道TR0~TR5的配置的一个例子的概略图,是用于对在依次接收到命令1、命令2以及命令3的情况下进行重新排序、依次执行命令1、命令3以及命令2的例子进行说明的图。
此外,在图2和图3中,单点划线的箭头表示寻道(Seek),寻道是从当前磁道移动到目标磁道的动作。虚线的箭头表示从头向目标磁道的移动完成到目标扇区到来为止的旋转等待动作。在圆周方向上,将盘10旋转的方向称为旋转方向d3。此外,在图2和图3所示的例子中,旋转方向d3由逆时针方向表示,但也可以是相反方向(顺时针方向)。另外,头15相对于盘10的行进方向d2与旋转方向d3相反。
如图2所示,在主机装置100发布多个命令、磁盘装置1一次接收多个命令的情况下,磁盘装置1按一个命令、一个命令来到的顺序对多个命令进行处理。例如,磁盘装置1在依次接收到命令1、命令2以及命令3的情况下,不进行重新排序,依次执行命令1、命令2以及命令3。
首先,将磁道TR1的执行区域TR1a作为对象来执行命令1。接着,进行寻道和旋转等待动作,将磁道TR2的执行区域TR2a作为对象来执行命令2。接着,进行寻道和旋转等待动作,将磁道TR3的执行区域TR3a作为对象来执行命令3。此外,执行区域TR1a、执行区域TR2a以及执行区域TR3a分别包括一个以上的扇区。另外,在半径方向d1上,执行区域TR2a位于比执行区域TR1a靠内侧的位置,执行区域TR3a位于比执行区域TR2a靠内侧的位置。
在图2的例子中,从当前的执行区域到接下来的执行区域为止的距离会变长。详细而言,在行进方向d2上,从当前的执行区域的最末尾的扇区的最末尾到接下来的执行区域的开头扇区的开头为止的距离会变长。并且,旋转等待时间会变长。由于难以提高命令处理的效率,因此,难以提高上述IOPS。
如图3所示,另一方面,磁盘装置1将多个命令重新排列为合理的顺序来进行处理。例如,磁盘装置1在依次接收到命令1、命令2以及命令3的情况下,判断为能够接着执行区域TR1a来对执行区域TR3a进行访问。磁盘装置1进行重新排序,依次执行命令1、命令3以及命令2。
首先,将磁道TR1的执行区域TR1a作为对象来执行命令1。接着,进行寻道和旋转等待动作,将磁道TR3的执行区域TR3a作为对象来执行命令3。接着,进行寻道和旋转等待动作,将磁道TR2的执行区域TR2a作为对象来执行命令2。
在图3的例子中,能够使从当前的执行区域到接下来的执行区域为止的距离为最短。即,能够缩短旋转等待时间。并且,能够最高速地完成命令1、2、3的处理。能够提高命令处理(读取处理和写入处理)的效率,能够提高上述IOPS。
在此,对磁盘装置1中的命令的管理方法进行说明。
如图1所示,在磁盘装置1的内部积攒多个命令时,磁盘装置1能够使用基于命令队列91的命令管理方法和基于高速缓存缓冲区92的命令管理方法这两种。在任何命令管理方法中,磁盘装置1都利用排队(queuing)的方式。
命令队列91能够先储存从主机装置100发布了的命令。在磁盘装置1的接口为SAS(SerialAttachedSmallComputerSystemInterface,串行连接小型计算机系统接口)的情况下,队列深度(QueueDepth)为128。在磁盘装置1的接口为SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)的情况下,队列深度(QueueDepth)为32。
在SAS的情况下,可以使命令队列91为最大128个命令的队列。使用SAS的磁盘装置1能够通过上述重新排序,进一步获得提高上述IOPS的效果。此外,储存于命令队列91的命令为读取命令和无法保存于高速缓存缓冲区92的写入命令。
另一方面,储存于高速缓存缓冲区92的命令为多个写入命令。此外,在接收保存于高速缓存缓冲区92的写入命令时,也接收与上述写入命令对应的数据(要写入到盘10的数据)。此外,在将写入命令写入到了写入高速缓存(在本比较例中为高速缓存缓冲区92)的时间点,磁盘装置1对主机装置100进行状态通知,将对盘10的写入处理推迟。
通过使用高速缓存缓冲区92,能够实现吞吐量的提高。此外,高速缓存缓冲区92能够储存数万的写入命令。MPU60能够在高速缓存缓冲区92中登记多个写入命令,能够对登记于高速缓存缓冲区92的多个写入命令进行管理。
如图3所示,因此,在进行重新排序时,磁盘装置1能够从命令队列91的命令和高速缓存缓冲区92的命令中选择接下来要执行的命令。
接着,对命令处理时间的管理方法进行说明。图4是表示图1所示的命令队列91所包含的多个命令的图,是用于对在命令队列91中残留有超过时效时间(AgingTime)的未执行的命令的例子进行说明的图。
如图4所示,如上所述,磁盘装置1重视提高IOPS,进行重新排序。因此,根据情况,会在命令队列91中残留有如读取命令1那样的一致未被选择而推迟的命令。磁盘装置1无法对主机装置100进行状态通知(读取命令1执行完成的响应)。于是,会导致主机装置100判定为命令超时、判断为磁盘装置1异常、或者向磁盘装置1再次发布读取命令1的事态的发生。
于是,为了避免磁盘装置1判断为异常的事态以及主机装置100再次发布命令的事态,磁盘装置1监视命令队列91中的各命令的逗留时间。磁盘装置1在监视上述逗留时间时,判断逗留时间是否未超过监视时间。上述监视时间也被称为时效时间,可以由用户任意地设定。
例如在时效时间被设定为2500ms的情况下,磁盘装置1能够监视在命令队列91中是否具有逗留时间超过时效时间(2500ms)的命令。在图4的例子中,读取命令1的逗留时间为2550ms,超过时效时间,因此,磁盘装置1能够强制地最优先选择读取命令1来进行执行。
接着,对能够进行命令处理时间的管理的MPU60的构成进行说明。图5是表示图1所示的HDC50、MPU60、缓冲存储器90以及主机装置100的框图。
如图5所示,MPU60具备命令接收部61、时效时间判定部62、命令选择处理部66、命令执行部67以及命令响应处理部68。命令接收部61经由HDC50接收主机装置100发布的命令。
时效时间判定部62判断在命令队列91中是否具有逗留时间超过时效时间的命令。命令选择处理部66考虑时效时间判定部62的判断结果,从命令队列91和高速缓存缓冲区92中选择接下来要执行的命令。
命令执行部67执行命令选择处理部66所选择的命令。命令响应处理部68经由HDC50对主机装置100进行状态通知(命令执行完成的响应)。
接着,对本比较例涉及的命令处理方法进行说明。图6是表示本比较例涉及的命令处理方法的流程图,被使用于对能够在考虑时效时间的同时高效地执行命令的命令处理方法进行说明。在此,对命令处理方法中的命令选择方法进行说明。
如图6和图5所示,当开始比较例涉及的命令选择方法时,首先,在步骤STa1中,时效时间判定部62判断在命令队列91中是否具有逗留时间超过时效时间的命令。在命令队列91中具有逗留时间超过时效时间的命令的情况下,转移至步骤STa2,命令选择处理部66从命令队列91中选择逗留时间超过时效时间的超过命令来作为接下来要执行的命令。由此,命令选择方法结束。
另一方面,在命令队列91中没有逗留时间超过时效时间的命令的情况下(步骤STa1),转移至步骤STa3,命令选择处理部66从当前执行的命令取得第1信息。上述第1信息包括柱面(与当前执行的命令对应的执行磁道)、头15以及扇区(上述执行磁道中的执行区域的最末尾的执行扇区)的信息。
接着,在步骤STa4中,命令选择处理部66从处于命令队列91和高速缓存缓冲区92的多个命令取得多个第2信息。各个上述第2信息包括柱面(与多个命令中的一个命令对应的候选磁道)、头15以及扇区(上述候选磁道中的候选区域的开头的候选扇区)的信息。
然后,在步骤STa5中,命令选择处理部66根据第1信息和多个第2信息算出多个访问距离(包含寻道距离的移动距离)。各个访问距离是从执行扇区的最末尾到候选扇区的开头为止的距离。接着,转移至步骤STa6,命令选择处理部66基于多个访问距离,从处于命令队列91和高速缓存缓冲区92的多个命令中,将能够最短地执行的最短命令选择为接下来要执行的命令。由此,命令选择方法结束。
此外,在命令选择结束之后,命令执行部67执行命令选择处理部66所选择的命令。命令响应处理部68经由HDC50对主机装置100进行状态通知(命令执行完成的响应)。由此,包括命令选择方法的命令处理方法结束。
根据如上所述那样构成的比较例涉及的磁盘装置1和命令处理方法,磁盘装置1能够在考虑时效时间的同时高效地执行命令。然而,反过来说,在命令队列91中,只要命令的逗留时间不超过时效时间,命令就无法完成执行。另外,时效时间被一样地应用于保存于命令队列91的全部队列的全部命令。例如无论命令队列91的命令数是为1、还是为128,时效时间都是固定的。另外,即使命令队列91中的读取命令和写入命令的比率变化,时效时间也是固定的。
因此,即使根据磁盘装置1的使用条件而存在希望比主机装置100所设定的时效时间早地进行对磁盘装置1进行响应的情况、在来自主机装置100的某命令模式时希望改变磁盘装置1的响应时间的情况等,磁盘装置1无法改变响应时间。只是仅以时效时间一律对命令队列91的命令的逗留时间进行监视的话,无法应对上述要求,结果会使磁盘装置1的命令响应变慢。
另外,如日本特许第3793682号公报所公开的那样,通过对调换了命令的次数进行限制的功能,也能够对命令响应进行控制,但由于是基于调换次数的控制,因此,并不是对响应时间进行控制。
在上述比较例中,存在无法进行与访问模式相应的命令响应控制这一问题。由此,存在无法实现提高命令响应性能、无法满足用户的要求这一问题。
另外,近年来,为了提高IOPS,磁盘装置1积攒的命令数增加。因此,响应时间更晚的命令会增加,无法满足用户的要求。
根据上面的描述,只是在考虑时效时间的同时进行重新排序来高效地执行命令的话,无法满足用户的要求。
于是,在接下来说明的实施方式中,能够获得能在考虑响应时间的同时进行重新排序来高效地执行命令的磁盘装置1以及命令处理方法。详细而言,每当命令队列91的命令数变化时,能够对响应时间进行控制,每当命令队列91中的读取命令与写入命令的比率(R/W比率)变化时,能够对响应时间进行控制。由此,磁盘装置1能够进行与访问模式相应的命令响应控制。
(一个实施方式)
接着,对一个实施方式进行说明。磁盘装置1除了在本实施方式中说明的构成以外,与上述比较例同样地构成。图7是表示本实施方式涉及的磁盘装置1具有的第1延迟极限时间判定表的图。图8是表示本实施方式涉及的磁盘装置1具有的第2延迟极限时间判定表的图。图9是表示本实施方式涉及的磁盘装置1具有的第3延迟极限时间判定表的图。
在图7~图9中,延迟极限时间的单位为毫秒([ms])。在命令队列91的命令全部为写入命令的情况下,R/W比率为0%,在命令队列91的命令全部为读取命令的情况下,R/W比率为100%。各延迟极限时间判定表的各延迟极限时间比时效时间(例如2500ms)短。
即,时效时间>延迟极限时间。
在R/W比率为0%以上且小于10%的命令队列91的情况下,应用“0%”的纵列的各延迟极限时间,在R/W比率为10%以上且小于20%的命令队列91的情况下,应用“10%”的纵列的各延迟极限时间,在R/W比率为20%以上且小于30%的命令队列91的情况下,应用“20%”的纵列的各延迟极限时间,……(省略)……,在R/W比率为90%以上且小于100%的命令队列91的情况下,应用“90%”的纵列的各延迟极限时间,在R/W比率为100%的命令队列91的情况下,应用“100%”的纵列的各延迟极限时间。
各延迟极限时间判定表仅规定所需要的延迟极限时间即可。
例如在一次接收到的命令数为1的情况下,R/W比率为0%或者100%。在命令数为1的情况下,各延迟极限时间判定表规定R/W比率为0%的情况下的延迟极限时间和R/W比率为100%的情况下的延迟极限时间即可。
当表示其他例子,在一次接收到的命令数为2的情况下,R/W比率为0%、50%或者100%。在命令数为2的情况下,各延迟极限时间判定表规定R/W比率为0%的情况下的延迟极限时间、R/W比率为50%的情况下的延迟极限时间以及R/W比率为100%的情况下的延迟极限时间即可。
如图7所示,第1延迟极限时间判定表规定多个延迟极限时间。第1延迟极限时间判定表的多个延迟极限时间根据命令的数量和R/W比率来个别地(单独地)进行设定。例如在一次接收到的命令数为32、R/W比率为100%的命令队列91的情况下,延迟极限时间为900ms。磁盘装置1通过使用第1延迟极限时间判定表,能够进行与访问模式相应的命令响应控制。
多个延迟极限时间在固定了R/W比率的情况下,以随着命令的数量变多而延迟极限时间变长的方式进行设定。另外,多个延迟极限时间在固定了命令的数量的情况下以R/W比率越接近90~99%的范围、则越变长的方式进行设定。
在R/W比率为0%的情况下,若能够保存于高速缓存缓冲区92的写入命令多,则能够比延迟极限时间早地进行命令响应。因此,对R/W比率为0%的命令队列91使用延迟极限时间的情况是指在高速缓存缓冲区92中没有空闲的情况或者无法保存于高速缓存缓冲区92的写入命令多的情况。
在R/W比率为100%的情况下,命令队列91的命令仅为读取命令。在该情况下,由于暂不对写入命令进行处理,因此,如根据图7也可知的那样,将R/W比率为100%的情况下的延迟极限时间设定为短。
如图8所示,第2延迟极限时间判定表与图7的第1延迟极限时间判定表相比,在整体上将各延迟极限时间设定得短。第2延迟极限时间判定表在希望降低延迟、提高磁盘装置1的响应性能的情况下是适合的,但IOPS可能变低。
如图9所示,第3延迟极限时间判定表与图7的第1延迟极限时间判定表相比,在整体上将各延迟极限时间设定得长。第3延迟极限时间判定表在希望提高IOPS、提高吞吐量的情况下是合适的,但延迟可能变高。
上述的多个延迟极限时间判定表例如被保存于非易失性存储器80。用户能够对使用于磁盘装置1的延迟极限时间判定表进行切换。
接着,对能够进行命令处理时间的管理的MPU60的构成进行说明。图10是表示本实施方式涉及的HDC50、MPU60、缓冲存储器90以及主机装置100的框图。
如图10所示,MPU60具备命令接收部61、时效时间判定部62、命令逗留时间算出部63、命令信息算出部64、极限时间判定部65、命令选择处理部66、命令执行部67以及命令响应处理部68。
命令接收部61经由HDC50接收主机装置100发布的命令。命令接收部61将所接收到的命令保存于命令队列91或者高速缓存缓冲区92。
时效时间判定部62判断在命令队列91中是否具有逗留时间超过时效时间的命令。例如,时效时间判定部62判断在命令队列91中是否残留有超过时效时间的未执行的第2超过命令。此外,如上所述,时效时间被一律应用于保存于命令队列91的全部队列的全部命令。
命令逗留时间算出部63算出命令队列91中的各命令的逗留时间。例如,命令逗留时间算出部63使用作为处于命令队列91的一个以上的命令的信息之一的接收时间,算出最大逗留时间。
命令信息算出部64分别算出处于命令队列91的命令的数量、和处于命令队列91的读取命令与写入命令的比率(R/W比率)。例如,命令信息算出部64使用处于命令队列91的一个以上的命令的信息,算出命令的数量和R/W比率。
极限时间判定部65使用由命令信息算出部64算出的信息、和所选择的延迟极限时间判定表。极限时间判定部65从延迟极限时间判定表的多个延迟极限时间中取得与命令的数量和R/W比率对应的延迟极限时间。
命令选择处理部66考虑时效时间判定部62的判断结果,从命令队列91和高速缓存缓冲区92中选择接下来要执行的命令。进一步,命令选择处理部66考虑由极限时间判定部65取得的延迟极限时间,选择要执行的命令。
例如,命令选择处理部66在判断为在命令队列91中残留有上述第2超过命令时,不考虑延迟极限时间,将第2超过命令选择为接下来要执行的命令。
另外,命令选择处理部66在判断为在命令队列91中未残留有上述第2超过命令时,考虑延迟极限时间来选择所执行的命令。
详细而言,命令选择处理部66对命令逗留时间算出部63算出的最大逗留时间和所取得的延迟极限时间进行比较,判断在命令队列91中是否残留有超过延迟极限时间的未执行的第1超过命令。
命令选择处理部66在判断为在命令队列91中残留有超过延迟极限时间的未执行的第1超过命令时,优先地将第1超过命令选择为接下来要执行的命令,并将该命令发送至命令执行部67。
命令选择处理部66在判断为在命令队列91中未残留有超过延迟极限时间的未执行的第1超过命令时,从命令队列91和高速缓存缓冲区92所包含的多个命令中将能够最短地执行的最短命令选择为接下来要执行的命令,并将该最短命令发送至命令执行部67。
命令执行部67执行命令选择处理部66所选择的命令。例如,命令执行部67根据所选择的命令,进行对盘10的访问,向命令响应处理部68发送执行完成通知。
命令响应处理部68经由HDC50对主机装置100进行状态通知(命令执行完成的响应)。
接着,对本实施方式涉及的命令处理方法进行说明。图11是表示本实施方式涉及的命令处理方法的流程图,被使用于对能够在考虑时效时间和延迟极限时间的同时高效地执行命令的命令处理方法进行说明。图12是接着图11的表示上述命令处理方法的流程图。在此,对命令处理方法中的命令选择方法进行说明。
如图11和图10所示,当开始本实施方式涉及的命令选择方法时,首先,在步骤STb1中,时效时间判定部62判断在命令队列91中是否具有逗留时间超过时效时间的命令。在命令队列91中具有逗留时间超过时效时间的命令的情况下,转移至步骤STb2,命令选择处理部66从命令队列91中将逗留时间超过时效时间的超过命令(第2超过命令)选择为接下来要执行的命令。由此,命令选择方法结束。
步骤STb1和STb2与上述比较例中的命令逗留时间的监视方法的步骤相同,在本实施方式中也可以作为故障保护来使用。但是,在本实施方式涉及的命令选择方法中,也可以省略步骤STb1和STb2。在该情况下,MPU60也可以构成为没有时效时间判定部62。
另一方面,在命令队列91中没有逗留时间超过时效时间的命令的情况下(步骤STb1),转移至步骤STb3,命令逗留时间算出部63根据当前时刻和处于命令队列91内的各命令的接收时刻,算出各命令的逗留时间。例如,命令逗留时间算出部63能够求出最大逗留时间,能够确定具有最大逗留时间的命令。
另外,在步骤STb4中,命令信息算出部64算出命令队列91内的命令的数量和R/W比率这样的命令信息。
接着,在步骤STb5中,极限时间判定部65从延迟极限时间判定表取得与命令队列91所包含的命令的数量和R/W比率对应的延迟极限时间。例如在一次接收到的命令数为16、R/W比率为50%的命令队列91的情况下,极限时间判定部65能够从图7的第1延迟极限时间判定表取得延迟极限时间(700ms)。
接着,在步骤STb6中,命令选择处理部66从当前执行的命令取得第1信息。上述第1信息包括柱面(与当前执行的命令对应的执行磁道)、头15以及扇区(上述执行磁道中的执行区域的最末尾的执行扇区)的信息。
接着,在步骤STb7中,命令选择处理部66从处于命令队列91和高速缓存缓冲区92的多个命令取得多个第2信息。各个上述第2信息包括柱面(与多个命令中的一个命令对应的候选磁道)、头15以及扇区(上述候选磁道中的候选区域的开头的候选扇区)的信息。
如图12和图10所示,然后,在步骤STb8中,命令选择处理部66根据第1信息和多个第2信息算出多个访问距离(包含寻道距离的移动距离)。各个访问距离是从执行扇区的最末尾到候选扇区的开头为止的距离。
接着,转移至步骤STb9,命令选择处理部66判断在命令队列91中是否具有逗留时间超过延迟极限时间的命令。例如,命令选择处理部66判断由命令逗留时间算出部63求出的最大逗留时间是否超过由极限时间判定部65求出的延迟极限时间。
在命令队列91中没有逗留时间超过延迟极限时间的命令的情况下(步骤STb9),转移至步骤STb10,命令选择处理部66基于多个访问距离,从处于命令队列91和高速缓存缓冲区92的多个命令中,将能够最短地执行的最短命令选择为接下来要执行的命令。由此,命令选择方法结束。
另一方面,在命令队列91中具有逗留时间超过延迟极限时间的命令的情况下(步骤STb9),转移至步骤STb11,命令选择处理部66从命令队列91将逗留时间超过延迟极限时间的超过命令(第1超过命令)选择为接下来要执行的命令。由此,命令选择方法结束。
此外,在命令选择结束之后,命令执行部67执行从命令选择处理部66发送来的命令。命令响应处理部68经由HDC50对主机装置100进行状态通知(命令执行完成的响应)。由此,包括命令选择方法的命令处理方法结束。
这样,通过使用本实施方式的命令处理方法,能够对考虑了访问模式的命令响应时间进行控制。
接着,对在本实施方式的磁盘装置1中从接收命令到执行命令、对主机装置100通知状态为止的流程进行说明。图13是表示在本实施方式涉及的磁盘装置1中从接收命令到执行命令、对主机装置100通知状态为止的流程的流程图。图14是接着图13的表示上述流程的流程图。
如图13和图10所示,当主机装置100发布命令、磁盘装置1的处理开始时,首先,在步骤STc1中,命令接收部61经由HDC50接收主机装置100发布的命令。接着,在步骤STc2中,命令接收部61判断所接收到的命令是否为命中了高速缓存(读取高速缓存)93的读取命令。
在是命中了高速缓存93的读取命令的情况下(步骤STc2),转移至步骤STc3,命令接收部61经由HDC50向主机装置100传送(发送)数据,在步骤STc4中,命令接收部61经由HDC50对主机装置100报告完成状态。
如图14所示,由此,磁盘装置1的处理结束。
如图13和图10所示,另一方面,在不是命中了高速缓存93的读取命令的情况下(步骤STc2),转移至步骤STc5,命令接收部61判断所接收到的命令是未命中高速缓存93的读取命令、还是无法保存于高速缓存缓冲区92的写入命令。
在此,“无法保存于高速缓存缓冲区92的写入命令”是指无法预先取得要向盘10写入的数据。此外,在高速缓存缓冲区92中没有空闲容量的情况下,也无法将写入命令保存于高速缓存缓冲区92。在写入命令的尺寸比高速缓存缓冲区92的容量大的情况下,也无法将写入命令保存于高速缓存缓冲区92。在命令选项中指定了不是写入到高速缓存缓冲区92、而是必须写入到盘10的写入命令的情况下,也无法将写入命令保存于高速缓存缓冲区92。
在属于“未命中高速缓存93的读取命令”和“无法保存于高速缓存缓冲区92的写入命令”中的任一个的情况下(步骤STc5),转移至步骤STc6,命令接收部61将命令保存于命令队列91。
在不属于“未命中高速缓存93的读取命令”和“无法保存于高速缓存缓冲区92的写入命令”中的任何命令的情况下(步骤STc5),转移至步骤STc7,命令接收部61将命令保存于高速缓存缓冲区92,在步骤STc8中,命令接收部61经由HDC50对主机装置100报告完成状态。
如上所述,“未命中高速缓存93的信息的读取命令”和“写入命令”需要对盘10的访问。但是,在写入命令为能够保存于高速缓存缓冲区92的写入命令的情况下,能够不需要对盘10进行访问地向主机装置100报告完成状态。在写入命令为无法保存于高速缓存缓冲区92的写入命令的情况下,写入命令被与读取命令一起保存于命令队列91。
然后,在步骤STc9中,命令逗留时间算出部63算出命令队列91中的命令的最大逗留时间,极限时间判定部65与命令信息算出部64一起从延迟极限时间判定表取得(选择)延迟极限时间。在此设为最大逗留时间不超过延迟极限时间。
接着,在步骤STc10中,命令选择处理部66将命令队列91的命令和高速缓存缓冲区92的命令作为对象来进行重新排序,选择接下来要执行的命令。
如图14和图10所示,然后,在步骤STc11中,命令执行部67按照由命令选择处理部66选择的命令,发布对盘10的访问要求。
在步骤STc12中,命令执行部67判断由命令选择处理部66选择的命令是否为读取命令。
在不是读取命令的情况下(步骤STc12)、即为写入命令的情况下,转移至步骤STc13,命令执行部67向盘10传送数据。即,对盘10进行写入处理,磁盘装置1的处理结束。
另一方面,在为读取命令的情况下(步骤STc12),转移至步骤STc14,命令执行部67将从盘10读取到的数据保存于高速缓存93。由此,在步骤STc15中,能够将保存于了高速缓存93的数据传送至主机装置100。
并且,在步骤STc16中,命令响应处理部68经由HDC50对主机装置100报告完成状态。由此,磁盘装置1的处理结束。
接着,对用于对所使用的延迟极限时间判定表进行切换的磁盘装置1的构成进行说明。图15是表示本实施方式涉及的HDC50、MPU60、非易失性存储器80以及主机装置100的框图。此外,在图15中未示出MPU60的全部构成,仅示出在此的说明所需要的构成。
如图15所示,MPU60还具备表选择部69。表选择部69能够从保存于非易失性存储器80的多个延迟极限时间判定表中选择一个延迟极限时间判定表。极限时间判定部65能够从表选择部69所选择的延迟极限时间判定表的多个延迟极限时间中取得与命令的数量和R/W比率对应的延迟极限时间。
接着,对切换要使用的延迟极限时间判定表的方法进行说明。图16是表示在本实施方式涉及的磁盘装置1中对要使用的延迟极限时间判定表进行切换的流程的流程图。
如图16和图15所示,当开始延迟极限时间判定表的切换方法时,首先,在步骤STd1中,表选择部69经由命令接收部61接收延迟极限时间判定表的切换命令。例如根据用户的操作而主机装置100发布上述切换命令。
接着,在步骤STd2中,表选择部69判断是否指定了默认以外的延迟极限时间判定表。例如在默认状态下、极限时间判定部65使用第1延迟极限时间判定表的情况下,表选择部69判断是否指定了第2延迟极限时间判定表或者第3延迟极限时间判定表。
在未指定默认以外的延迟极限时间判定表的情况下(步骤STd2),上述切换方法结束。
另一方面,在指定了默认以外的延迟极限时间判定表的情况下(步骤STd2),转移至步骤STd3,表选择部69执行延迟极限时间判定表的切换。例如在主机装置100指定了第2延迟极限时间判定表的情况下,能够将极限时间判定部65要使用的延迟极限时间判定表从第1延迟极限时间判定表切换为第2延迟极限时间判定表。
然后,在步骤STd4中,命令响应处理部68经由HDC50对主机装置100报告延迟极限时间判定表的切换已完成。由此,上述切换方法结束。
根据如上述那样构成的实施方式涉及的磁盘装置1和命令处理方法,在选择要执行的命令时,能够一边考虑延迟极限时间判定表中的所对应的延迟极限时间,一边进行选择。因此,能够获得能在考虑响应时间的同时高效地执行命令的磁盘装置1以及命令处理方法。
以上对本发明的实施方式进行了说明,但上述实施方式是作为例子提示的,并不是意在限定发明的范围。上述新的实施方式能够以其他各种各样的方式来实施,能够在不脱离发明宗旨的范围内进行各种省略、置换、变更。上述实施方式及其变形包含在发明的范围、宗旨内,并且,包含在权利要求书记载的发明及其等同的范围内。
例如,磁盘装置1使用的延迟极限时间判定表并不限定于上述的第1~第3延迟极限时间判定表,可以进行各种变形。磁盘装置1能够使用至少一种延迟极限时间判定表即可。磁盘装置1具有的延迟极限时间判定表的种类不限于三种,也可以一种、两种或者四种以上。

Claims (11)

1.一种磁盘装置,具备:
盘;
头,其对所述盘写入数据,从所述盘读取数据;
命令队列,其暂时性地存储所接收到的一个以上的命令;
命令逗留时间算出部,其算出所述命令队列中的各命令的逗留时间;
命令信息算出部,其分别算出处于所述命令队列的所述命令的数量、和处于所述命令队列的读取命令与写入命令的比率;
极限时间判定部,其从延迟极限时间判定表的多个延迟极限时间中取得与所述命令的数量和所述比率对应的延迟极限时间;以及
命令选择处理部,其考虑由所述极限时间判定部取得的所述延迟极限时间来选择要执行的命令。
2.根据权利要求1所述的磁盘装置,
所述延迟极限时间判定表的所述多个延迟极限时间根据所述命令的数量和所述比率而个别地设定。
3.根据权利要求1所述的磁盘装置,
所述命令选择处理部在判断为在所述命令队列中残留有超过所述延迟极限时间的未执行的第1超过命令时,将所述第1超过命令选择为接下来要执行的命令。
4.根据权利要求1所述的磁盘装置,
还具备时效时间判定部,所述时效时间判定部判断在所述命令队列中是否残留有超过时效时间的未执行的第2超过命令,
所述命令选择处理部,
在判断为在所述命令队列中未残留有所述第2超过命令时,考虑所述延迟极限时间来选择要执行的命令,以及
在判断为在所述命令队列中残留有所述第2超过命令时,不考虑所述延迟极限时间而将所述第2超过命令选择为接下来要执行的命令,
所述时效时间被一样地应用于所述命令队列所保存的全部队列的全部命令,
所述延迟极限时间判定表的所述多个延迟极限时间各自比所述时效时间短。
5.根据权利要求1所述的磁盘装置,
还具备表选择部,所述表选择部能够从包括所述延迟极限时间判定表的多个延迟极限时间判定表中选择一个延迟极限时间判定表,
所述极限时间判定部从所述表选择部所选择的所述延迟极限时间判定表的多个延迟极限时间中取得与所述命令的数量和所述比率对应的延迟极限时间。
6.根据权利要求1所述的磁盘装置,
在固定了所述比率的情况下,随着所述命令的数量变多,所述延迟极限时间判定表的所述多个延迟极限时间变长。
7.根据权利要求1所述的磁盘装置,
在固定了所述命令的数量的情况下,所述比率越接近90~99%的范围,所述延迟极限时间判定表的所述多个延迟极限时间越变长。
8.根据权利要求1所述的磁盘装置,
还具备高速缓存缓冲区,所述高速缓存缓冲区代替所述命令队列来暂时性地存储所述一个以上的命令,
所述命令选择处理部在判断为在所述命令队列中未残留有超过所述延迟极限时间的未执行的第1超过命令时,从所述命令队列和所述高速缓存缓冲区所包含的所述多个命令中,将能够最短地执行的最短命令选择为接下来要执行的命令。
9.一种命令处理方法,是应用于磁盘装置的命令处理方法,所述磁盘装置具备盘、头以及命令队列,所述头对所述盘写入数据,从所述盘读取数据,所述命令队列暂时性地存储所接收到的一个以上的命令,所述命令处理方法包括:
算出所述命令队列中的各命令的逗留时间;
分别算出处于所述命令队列的所述命令的数量、和处于所述命令队列的读取命令与写入命令的比率;
从延迟极限时间判定表的多个延迟极限时间中取得与所述命令的数量和所述比率对应的延迟极限时间;
考虑所述取得的延迟极限时间来选择要执行的命令。
10.根据权利要求9所述的命令处理方法,
在考虑所述取得的延迟极限时间来选择要执行的命令的情况下,当判断为在所述命令队列中残留有超过所述延迟极限时间的未执行的第1超过命令时,将所述第1超过命令选择为接下来要执行的命令。
11.根据权利要求9所述的命令处理方法,
在算出所述逗留时间之前,判断在所述命令队列中是否残留有超过时效时间的未执行的第2超过命令,
在判断为在所述命令队列中未残留有所述第2超过命令时,考虑所述延迟极限时间来选择要执行的命令,并且,在判断为在所述命令队列中残留有所述第2超过命令时,不考虑所述延迟极限时间而将所述第2超过命令选择为接下来要执行的命令,
所述时效时间被一样地应用于所述命令队列所保存的全部队列的全部命令,
所述延迟极限时间判定表的所述多个延迟极限时间各自比所述时效时间短。
CN202310057028.8A 2022-08-31 2023-01-17 磁盘装置以及命令处理方法 Pending CN117631965A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022138628A JP2024034411A (ja) 2022-08-31 2022-08-31 磁気ディスク装置及びコマンド処理方法
JP2022-138628 2022-08-31

Publications (1)

Publication Number Publication Date
CN117631965A true CN117631965A (zh) 2024-03-01

Family

ID=89997323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310057028.8A Pending CN117631965A (zh) 2022-08-31 2023-01-17 磁盘装置以及命令处理方法

Country Status (3)

Country Link
US (1) US11942110B2 (zh)
JP (1) JP2024034411A (zh)
CN (1) CN117631965A (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100935A (ja) 1999-09-28 2001-04-13 Internatl Business Mach Corp <Ibm> ディスク装置およびその制御方法
JP3793682B2 (ja) 2000-03-07 2006-07-05 株式会社日立グローバルストレージテクノロジーズ コマンドキューイングの機能を持つ記憶装置
JP2003308176A (ja) 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
JP2004272969A (ja) 2003-03-06 2004-09-30 Hitachi Ltd 記録再生装置、記録再生システム、および磁気ディスク装置の制御方法
JP2006139548A (ja) 2004-11-12 2006-06-01 Hitachi Global Storage Technologies Netherlands Bv メディア・ドライブ及びそのコマンド実行方法
US9239786B2 (en) 2012-01-18 2016-01-19 Samsung Electronics Co., Ltd. Reconfigurable storage device
JP6244972B2 (ja) 2014-02-21 2017-12-13 富士通株式会社 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
US10250684B2 (en) 2016-01-12 2019-04-02 Netapp, Inc. Methods and systems for determining performance capacity of a resource of a networked storage environment
US10198188B2 (en) * 2017-03-09 2019-02-05 Kabushiki Kaisha Toshiba Disk drive that efficiently handles random mixed-R/W command-streams
US10732895B2 (en) 2017-03-22 2020-08-04 Burlywood, Inc. Drive-level internal quality of service

Also Published As

Publication number Publication date
US20240071420A1 (en) 2024-02-29
US11942110B2 (en) 2024-03-26
JP2024034411A (ja) 2024-03-13

Similar Documents

Publication Publication Date Title
US7373460B2 (en) Media drive and command execution method thereof
US7664884B2 (en) Media drive that creates a transfer unnecessary period, and power saving method thereof
US7320050B2 (en) Data transmission control method and storage device
US8819375B1 (en) Method for selective defragmentation in a data storage device
KR100675010B1 (ko) 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치
USRE44128E1 (en) Adaptive resource controlled write-back aging for a data storage device
US20030149837A1 (en) Dynamic data access pattern detection in a block data storage device
US6925539B2 (en) Data transfer performance through resource allocation
US9727265B2 (en) Disk device and control method that controls amount of data stored in buffer
JP3745552B2 (ja) 情報記憶装置
US6957311B2 (en) Data storage apparatus, computer apparatus, data processing apparatus, and data processing method
US10777218B2 (en) Disk-drive with efficient command reordering
US6567886B1 (en) Disk drive apparatus and control method thereof
JP5030387B2 (ja) データ記憶装置
CN117631965A (zh) 磁盘装置以及命令处理方法
JPH06314177A (ja) 磁気ディスク装置及びアクセス方法
US6957300B2 (en) Reducing delay of command completion due to overlap condition
US20100017633A1 (en) Memory device, control device for memory device, and control method for memory device
US7376784B2 (en) System and method for selecting command for execution in HDD based on benefit
JP6178287B2 (ja) 記憶装置、及び制御方法
US12073855B2 (en) Magnetic disk device and control method
US11893268B2 (en) Opportunistic command scheduling
US11875829B2 (en) Magnetic disk device and reordering method
JP7252448B2 (ja) テープ装置、制御装置および読み出し制御プログラム
JP2023125196A (ja) データ記録装置、および、データ記録方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination