CN101206554A - 硬盘驱动器以及命令执行方法 - Google Patents
硬盘驱动器以及命令执行方法 Download PDFInfo
- Publication number
- CN101206554A CN101206554A CNA2007101988704A CN200710198870A CN101206554A CN 101206554 A CN101206554 A CN 101206554A CN A2007101988704 A CNA2007101988704 A CN A2007101988704A CN 200710198870 A CN200710198870 A CN 200710198870A CN 101206554 A CN101206554 A CN 101206554A
- Authority
- CN
- China
- Prior art keywords
- write
- order
- data
- volatility memorizer
- read
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- ZZUFCTLCJUWOSV-UHFFFAOYSA-N furosemide Chemical compound C1=C(Cl)C(S(=O)(=O)N)=CC(C(O)=O)=C1NCC1=CC=CO1 ZZUFCTLCJUWOSV-UHFFFAOYSA-N 0.000 claims description 9
- 239000000523 sample Substances 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008707 rearrangement Effects 0.000 description 11
- 230000002950 deficient Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B21/00—Head arrangements not specific to the method of recording or reproducing
- G11B21/02—Driving or moving of heads
- G11B21/10—Track finding or aligning by moving the head ; Provisions for maintaining alignment of the head relative to the track during transducing operation, i.e. track following
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition 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/54—Disposition 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 with provision for moving the head into or out of its operative position or across tracks
- G11B5/55—Track change, selection or acquisition by displacement of the head
- G11B5/5521—Track change, selection or acquisition by displacement of the head across disk tracks
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/068—Hybrid storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, 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/02—Control of operating function, e.g. switching from recording to reproducing
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)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
提供一种命令执行方法,该方法包括,探测非挥发性存储器的使用情形;当所述使用情形为“低”时,从若干写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻;当所述非挥发性存储器的使用情形为“高”时,从若干写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻。
Description
技术领域
本发明涉及到用于执行主机所发送的读或写命令的磁盘驱动器,以及一种命令执行方法。
背景技术
在相当于硬盘装置的磁盘装置中,在读写磁盘时,磁盘磁头搜寻目标磁道,在目标地址处,磁盘位置在磁盘磁头下移动,同时进行磁盘磁头定位控制,在转动延迟中等待磁盘转动。当磁盘磁头被定位于目标地址上时开始在磁盘上读写数据。如果发生了一个错误,通过暂停读写、等待磁盘转动一次并再次进行读写来进行重试。由于重试是连续进行的直到解决了错误为止,所以,在开始执行下一个命令之前,会产生磁盘至少转动一圈的转动延迟。
在磁盘上进行写入比进行读取需要更严格的定位控制,由此,错误更容易发生。由于每次发生写错误(其中在磁盘上写入失败)时会产生磁盘转动一圈或多圈的转动延迟,所以,通过减少写错误的次数可以缩短命令执行时间。
一些磁盘装置具有命令队列,用来保存多个命令。在这种磁盘装置中,从主机设备接收到的命令可以存储在所述命令队列中,并从所述命令队列中所存储的等待执行的命令中选择下一个要执行的命令并执行之。使用命令队列的话,允许进行重新排序,即可以改变要执行命令的顺序,使之与命令的发布顺序不同。通过考虑命令请求地址在磁盘上的位置而进行重新排序可以缩短执行命令所需时间。例如,考虑这样一种情形,其中命令按命令1、2和3的顺序发布,如图14所示。在这种情形中,通过按图14A所示的命令1、3和2的顺序重新排序并执行(磁盘访问)这些命令,而不是按图14B所示的发布顺序来执行这些命令,可以更有效地进行数据的读和写。在图14A和14B中,指示出了磁盘上由命令1、2和3所读或写的区域。
STF(Shortest Time First,最短时间优先)算法是重新排序算法中的一种算法,用于选择具有最短访问时间的命令并以重复的方式来进行这样的选择。例如,假设正在执行命令1(显示了磁盘上要由命令1进行读或写的区域),如图15所示。在STF算法中,命令3被选择为下一次要执行的命令。命令2在搜寻期间经磁盘的转动通过了磁盘磁头位置,导致了磁盘转动一圈的额外转动延迟(在搜寻结束后,等待读或写数据被定位),从而没有被选择。在执行命令3结束之后,命令4在搜寻中正赶趟,由此,命令3之后要被执行的命令就是能被最快地访问的命令4。
当搜寻速度(磁盘磁头移动速度)增加时,磁道之间的移动时间就被缩短了。当如图16B所示搜寻速度没有增加时,命令2不能被选择为命令1之后的下一个命令,于是执行了命令3。当搜寻速度增加时,命令1、2和3可以在同一时间段内执行(图16A),由此可以执行更多的命令。以这种方式,如果搜寻速度增加了,可以根据STF算法进行更有效的重新排序。
然而,当搜寻速度增加时,在目标磁道上定位磁盘磁头位置时有更大的振动传给了磁盘磁头。因为这个振动比较大,所以定位控制更困难,更容易导致读/写错误。因此,如果搜寻速度增加了,可以进行更有效的重新排序,但写错误发生率会更高,而且转动延迟时间会增加,由此,输入输出不一定会改善。
在JP-A 6-282384(Kokai)中,不能写在磁盘上的数据被存储在闪存中,闪存可以作为磁盘上有缺陷扇区的替代区域,以提高磁盘的可靠性。采用这种方法,可以预期,对于具有较小数据大小的随机写命令(写目的地地址是随机的的写命令),输入输出可以改善,但考虑被改善的输入输出,对于顺序写命令(写目的地地址是连续的的写命令)或者对于具有较大数据大小的写命令,没有处理过程可执行。另外,由于没有处理过程用于将闪存中所存储的数据重写到磁盘上,所以,当闪存没有可用的存储空间时,将写错误的发生所导致的写入失败数据写入到闪存中的过程就不能执行。
在JP-A 2000-293963(Kokai)中,写入磁盘失败的数据被存储在磁盘上的某个特殊区域内。采用这种方法,输入输出不一定改善,因为,在所述特殊区域内存储数据时由于搜寻会产生转动延迟时间。
在JP-A 2001-100935(Kokai)中,在磁盘上读写失败的数据被再次存储在磁盘命令队列中进行重新排序。采用这种方法,引起写错误的数据的磁盘写入是必不可少的,由此,写错误的代价不一定减小。例如,在写入失败后,写入失败的数据被重新存储在磁盘命令队列中,重新排序的结果是,同样的命令被选择,如图17所示。在这种情形中,操作与等待磁盘转动一圈后进行重写的操作相同,这是没有重新排序的处理过程,由此,即使执行了将数据重新存储在磁盘命令队列中并进行重新排序的过程,输入输出也没有改善。
在JP-A 2001-236744(Kokai)中,当在磁盘上读写数据失败了,需要进行重试的时候,在这期间搜寻可执行的命令。采用这种方法,像JP-A2001-100935(Kokai)一样,导致写错误的数据的磁盘写入是必不可少的,由此,写错误的代价不一定减小。
发明内容
根据本发明的一个方面,提供一种硬盘驱动器,包括:
圆盘状存储介质,配置为能够用来读写数据;
搜寻控制器,配置为基于所请求执行的读命令或写命令来控制磁盘磁头进行快速搜寻(所述磁盘磁头的高速搜寻)和慢速搜寻(所述磁盘磁头的低速搜寻)从而对所述数据进行读写;
非挥发性存储器,配置为能够用来读写所述数据;
访问控制器,配置为基于所请求执行的所述读命令或写命令在所述非挥发性存储器中对所述数据进行读写;
命令接收器,配置为从主机接收用于读写所述数据的所述写命令或读命令;
判定单元,配置为判定所述搜寻控制器和所述访问控制器中的哪一个执行所述命令接收器所接收到的命令;
第一命令存储区,用来存储判定为由所述搜寻控制器来执行的写命令和读命令;
第二命令存储区,用来存储判定为由所述访问控制器来执行的写命令和读命令;
第一选择单元,用来从所述第二命令存储区中选择命令并请求所述访问控制器执行所选择的命令;
使用情形探测单元,用来探测所述非挥发性存储器的使用情形;
第二选择单元,用来
当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻,以及
如果所选择的命令是所述写命令则通过指定所述快速搜寻来请求所述搜寻控制器执行所选择的命令,而如果所选择的命令是所述读命令则通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令;
写错误处理单元,用来在所述第二选择单元所请求的所述写命令的执行期间探测写错误,并在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;以及
第三选择单元,用来
当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻,以及
通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令。
根据本发明的另一方面,提供一种含有能够用来读写数据的圆盘状存储介质和能够用来读写数据的非挥发性存储器的硬盘驱动器中所使用的命令执行方法,该方法包括:
从主机接收用于读或写所述数据的写命令或读命令;
判定所述圆盘状存储介质和所述非挥发性存储器中的哪一个用来执行所述写命令或所述读命令;
当判定为所述圆盘状存储介质时在第一命令存储区中存储所述写命令或所述读命令,当判定为所述非挥发性存储器时则在第二命令存储区中存储所述写命令或所述读命令;
探测所述非挥发性存储器的使用情形;
当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻;
当所选择的命令是所述写命令时,通过所述快速搜寻来执行所选择的命令,而当所选择的命令是所述读命令时则通过所述慢速搜寻来执行所选择的命令;
当在所述写命令的执行期间探测到写错误时,在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;
当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻;以及
通过所述慢速搜寻来执行所选择的命令。
附图说明
图1是一个方框图,显示了本发明的一个实施例所述的硬盘驱动器(HDD)的配置;
图2是一个方框图,显示了图1所示的HDD的详细配置;
图3是一个流程图,用于说明接收了写命令时要执行的处理过程;
图4是一个流程图,用来说明图3中的S12的细节;
图5是一个流程图,用来说明接收了读命令时要执行的处理过程;
图6是一个流程图,用来说明开始访问磁盘6时要执行的处理过程;
图7说明了磁头和请求数据之间所形成的夹角;
图8显示了最短访问时间和搜寻时间;
图9说明了快速重新排序;
图10是一个流程图,显示了写错误处理过程的流程;
图11说明了对写失败的数据的探测的例子;
图12说明了对写失败的数据的探测的例子;
图13是一个流程图,显示了读错误处理过程的流程;
图14说明了重新排序的效果;
图15说明了STF(最短时间优先)算法;
图16说明了正常搜寻和快速搜寻;
图17说明了写错误的代价;以及
图18显示了单一命令队列。
具体实施方式
图1是一个方框图,显示了本发明的一个实施例所述的硬盘驱动器(HDD)的配置。HDD 2含有磁盘6和非挥发性存储器8作为存储器件。主机1发布读/写命令到HDD 2中的流程控制单元3。当在磁盘6上执行读/写命令时,流程控制单元3将接收到的读/写命令发布到磁盘接口5,而当在非挥发性存储器8上执行读/写命令时,则将接收到的读/写命令发布到非挥发性存储器接口7。图1中的宽箭头表示总线。如果从主机1中发布的命令是读命令,那么该读命令所要求的数据就从磁盘6或非挥发性存储器8读入到闪存4中,并从闪存4转移到主机1中。另一方面,如果从主机1发布的命令是写命令,那么该写命令所要求的数据被存储在闪存4中,并被写在磁盘6或非挥发性存储器8中。
图2是一个方框图,显示了图1所示的HDD的详细配置。
从主机1发布的命令由流程控制单元3中的主机接口(命令接收器、判定单元(decision unit))9接收。如果所接收的命令是写命令,那么,执行图3中的流程图所示的处理过程。
首先,主机接口9在闪存4中存储所接收到的写命令(S11)。主机接口9根据主机1的指定、磁盘6的状态以及非挥发性存储器8的状态决定将写命令所要求的写请求数据(写数据)写入磁盘6和非挥发性存储器8中的哪个存储器件中(S12)。
所述主机1的指定是指,指定主机1要写入的存储器件。在这种情形中,写数据被写入所指定的存储器件中。磁盘6的状态包括磁盘6的转动情况和访问磁盘6的命令数(磁盘命令队列10中的命令数)。当磁盘6没转动时,需要时间使磁盘6转动。如果对磁盘6的访问比较集中,那么写完写数据就耗费时间。在这种情形中,不优选写入磁盘6。另外,非挥发性存储器8的状态包括非挥发性存储器8的剩余存储量以及等待访问非挥发性存储器8的命令数(非挥发性存储器命令队列11中的命令数)。所述剩余存储量是减去了存储在非挥发性存储器命令队列11中的所有写命令所请求数据的大小之和后,非挥发性存储器8上的当前可用的存储量。就是说,非挥发性存储器8的剩余存储量就是在执行了存储在非挥发性存储器命令队列11中的所有的写命令之后在非挥发性存储器8上可用的存储量。如果非挥发性存储器8的剩余存储量不足的话,那么非挥发性存储器8就不是可写的。另外,如果有大量的访问命令的话,那么写入非挥发性存储器8就耗费时间。在这种情形中,不优选写入非挥发性存储器8。
考虑到磁盘6的状态和非挥发性存储器8的状态,通过计算写入存储器件的效率可以决定用于写入的存储器件。如果写入磁盘6中的话,主机接口9所接收到的写命令就被存储在磁盘命令队列(第一命令存储区)10中,如果写入非挥发性存储器8中的话,则存储在非挥发性存储器8命令队列(第二命令存储区)11中(S13和S14)。在图3的例子中,用于写入的存储器件为磁盘6或非挥发性存储器8中的任何一个,但也可以在磁盘6和非挥发性存储器8这两者中写入。在这种情形中,通过将所接收的写数据分开,可将不同的数据写入各存储器件中,或者可以将相同的数据写入这两个存储器件中。在作出这个决定时,可以使用非挥发性存储器的快速使用决定功能12,如后面所描述的。另外,磁盘命令队列10和非挥发性存储器命令队列11可以结合成单一的命令队列。图18显示了单一命令队列的一个例子。通过在所述单一命令队列中加入用于识别写目的地是非挥发性存储器8还是磁盘6的写目的地信息,磁盘访问选择功能14和非挥发性存储器访问选择功能16(下文描述)可以从所述单一命令队列中识别由其自身执行的命令。就是说,所述第一命令存储区和第二命令存储区可以在物理上集成在一起或分开,本发明可以包括这些情形中的任何一种情形。
图4是一个示范性流程图,用来说明图3中的S12的细节。在S51中,检查写数据的写目的地是否被指定为非挥发性存储器8。如果写目的地被指定为非挥发性存储器8(S51中的“是”),那么就决定非挥发性存储器8作为用于写入的存储器件(S52)。如果写目的地没有被指定为非挥发性存储器8(S51中的“否”),那么在S53中检查磁盘6是否在转动(转动磁盘6的马达是开的还是关的(开/关))。如果磁盘6在转动(S53中的“开”),这就意味着在磁盘6上写入写数据。在S54中,检查用于磁盘6的命令数(磁盘命令队列10中的命令数)。如果该命令数大于等于某个指定值,那么检查非挥发性存储器8可否作为用于写入的存储器件(S55)。另外,在S53中,如果磁盘6没有在转动(S53中的“关”),那么也检查非挥发性存储器8(S55)。在S55中,检查非挥发性存储器8的剩余存储量,以决定是否将写数据写入非挥发性存储器8中。如果剩余存储量大于等于某个指定值,那么就决定使用非挥发性存储器8作为用于写入的存储器件(S52),而如果剩余存储量小于该指定值,那么就决定使用磁盘6作为用于写入的存储器件(S56)。在S54中,如果所述命令数小于所述指定值,那么也决定使用磁盘6作为用于写入的存储器件(S56)。
另一方面,例如,如果主机接口9所接收到的命令是图2中的读命令,那么就执行图5中的流程图所示的处理过程。首先,检查请求被读取的数据(读数据)被存储在磁盘6和非挥发性存储器8中的哪一个中(S21)。如果数据存储在磁盘6中,那么用于读取所需求数据的读命令就存储在磁盘命令队列10中,如果数据存储在非挥发性存储器8中,那么所述读命令就存储在非挥发性存储器命令队列11中,或者如果数据被分开存储在磁盘6和非挥发性存储器8两者之中,则所述读命令就存储在两个命令队列中(S22)。在执行步骤S21之前,判断所述读数据是否存在于闪存4中,如果该读数据存在,那么可以将数据转移到主机1中,而不执行步骤S21-S22。
在开始访问磁盘6时,使用磁盘访问选择功能14和非挥发性存储器快速使用决定功能12来执行按照图6中的流程图的处理过程。首先,使用非挥发性存储器快速使用决定功能(使用情形探测单元)12检查非挥发性存储器8是否能被快速访问(非挥发性存储器8的使用情形是“高”还是“低”)(S31)。在非挥发性存储器快速使用决定功能12中,作为判断非挥发性存储器8是否可被快速访问的参考,有两种方法用来估计,(1)非挥发性存储器8的剩余存储量和(2)对非挥发性存储器8的访问时间。
(1)如上所述,所述非挥发性存储器8的剩余存储量是减去了存储在非挥发性存储器命令队列11中的所有写命令的请求数据的大小之和后,非挥发性存储器8上的当前可用的存储量。如果剩余存储量大于等于某个指定值,那么就判断为非挥发性存储器是可快速访问的。就是说,判断为非挥发性存储器8的使用情形为“低”。
(2)另一方面,可以基于非挥发性存储器命令队列11中所存储的命令的类型(读还是写)及其数据大小来估计对非挥发性存储器8的访问时间。例如,假设从非挥发性存储器8中读取每个扇区所需时间为“a”,写所需要的时间为“b”,非挥发性存储器命令队列11中所存储的读命令的所要读取的总扇区数为“A”,写命令所要写的总扇区数为“B”,那么,执行非挥发性存储器命令队列11中所存储的所有命令所需时间就可以估计为aA+bB。如果所述估计值小于等于某个特定值,那么就判断为非挥发性存储器8是可快速访问的。就是说,判断为非挥发性存储器8的使用情形为“低”。
如上所述,在步骤S31中,通过估计非挥发性存储器8的剩余存储量或者对非挥发性存储器8的总访问时间,可以判断非挥发性存储器8是否是可快速访问的。
如果非挥发性存储器8是可快速访问的(S31中的“是”),那么没有写到磁盘6上的数据就可以马上写入非挥发性存储器8中,即使发生了写错误也是如此,籍此,磁盘6转动一圈的转动延迟的代价(通常发生在出现写错误的时候)就可以减小。因此,假设进行高速搜寻(快搜寻),其中写错误的发生率很高但允许进行有效的重新排序,则使用磁盘访问选择功能(第二选择单元和第三选择单元)14进行重新排序(S32)。另一方面,如果非挥发性存储器8不是可快速访问的(S31中的“否”),假设进行常速搜寻(正常搜寻),那么使用磁盘访问选择功能14来进行重新排序(S36)。正常搜寻是以低速进行磁盘磁头搜寻的慢搜寻的例子。
在常速状态下进行重新排序时(S36),从磁盘命令队列10中所积累的命令中搜寻可以最快地访问的命令(能够使磁头最快地定位在访问开始的位置上的命令)。在这种情形中,使用磁头位置、磁盘6上写请求或读请求数据(请求数据)的首位置(访问开始位置)、以及进行正常搜寻所花的搜寻时间(从正常搜寻的搜寻时间信息13(1)中获得),来对每个命令计算命令的访问时间。在下文中,介绍一个计算访问时间的具体例子。除了时间外,可以计算磁盘6上的角度。
首先,对于存储在磁盘命令队列10中的命令“j”(假设在磁道“j”上),从磁头位置和请求数据的首位置来计算磁头位置(假设在磁道“i”上)到磁盘6的中心与请求数据首位置到磁盘6的中心之间所形成的夹角“θ”、以及磁道到磁道的距离“D”,如图7所示。由于磁盘6的角速度(rotation angle)“ω”是常数,所以,可以从所计算出的角度得到从磁头位置开始访问所述请求数据所需的最短访问时间(角度×ω=Tj),如图8所示。另一方面,从搜寻时间信息13(1)中可以得到从磁道“i”到磁道“j”(磁道间磁道的距离为“D”)进行搜寻所需的时间“Sij”,如图8所示。搜寻信息(搜寻时间信息13(1)和13(2))的例子包括变量“i”和“j”的函数以及通过“i”和“j”可进行检索的表。如果搜寻时间“Sij”比最短访问时间“Tj”大(Tj<Sij),那么在搜寻时间内磁头就通过了请求数据,从而在最短访问时间“Tj”内不能访问该请求数据。在这种情形中,通过连续地将磁盘6转动一圈的转动延迟时间加到所述最短访问时间上(因为在一些情形中,可能发生两圈或多圈转动延迟),使访问时间变成大于所述搜寻时间的最小值。就是说,假设在搜寻期间磁头移动经过命令“j”的次数为“x”,那么访问时间就等于Tj+(磁盘6转动一圈的转动延迟)×x。以上述方式可以估计开始执行命令“j”的时间,籍此,可以搜索到能最快执行的命令。考虑到重新排序的计算时间和定位控制所需的时间(读和写可能具有不同的值),Tj>Sij+α(“α”为所考虑的时间量)则为关于不加入磁盘6的转动延迟时搜寻是否及时的条件表达式。
另一方面,在采用快速搜寻进行重新排序的情形中(S32),类似正常搜寻的情况,从磁盘命令队列10中所积累的命令中搜寻能够最快地访问的命令。此时,对于写命令,通过从快速搜寻的搜寻时间信息13(2)中获得快速搜寻所消耗的搜寻时间来计算访问时间。对于读命令,从正常搜寻的搜寻时间信息13(1)中获得正常搜寻所消耗搜寻时间。所以,在采用快速搜寻进行的重新排序中,需要两种搜寻时间信息,即正常搜寻的搜寻时间信息13(1)和快速搜寻的搜寻时间信息13(2)。
快速搜寻只用于写命令的原因是,写命令可以将数据写在磁盘6和非挥发性存储器8中的任何一个中。当发生写错误时,写命令可以写入非挥发性存储器8中,而不是写入磁盘6中,籍此可以减小转动延迟的代价。另一方面,在读命令的情形中,主机所请求的数据并不总是存储在磁盘6和非挥发性存储器8中。所以,当发生了读错误时,数据并不是必须从非挥发性存储器8中读出。
考虑一种情形,其中,磁头位于磁道“i”上,读命令所请求读出的读数据位于磁道“j”上,写命令所请求写入的写数据位于磁道“k”上,而所述读数据更靠近所述磁头,如图9所示。在这种情形中,由于对于读命令不使用快速搜寻,所以,对于要定位在读数据上的磁头,会有一个转动一圈的额外的转动延迟。另一方面,对于写数据进行快速搜寻,因为该磁头能在移动通过所述数据前完成移动,所以没有转动延迟。因此,在图9的情形中,当进行快速重新排序时,选择写命令。
如果在S32中使用快速搜寻进行的重新排序所选择的命令为写命令(S33中的“否”),那么,检查该写命令的执行开始时间(访问开始时间)是否等于以正常搜寻来访问该写命令时的执行开始时间(S34)。就是说,检查采用快速搜寻时对该写命令的访问时间是否等于采用正常搜寻时对该写命令的访问时间。这是因为,对于使用快速搜寻进行的重新排序所选择的命令不一定进行快速搜寻。如果采用正常搜寻没有改变访问时间(S34中的“是”),就使用正常搜寻进行访问,而不是采用写错误发生率很高的快速搜寻。
如果决定进行正常搜寻(S31中的“否”,S33中的“是”或者S34中的“是”),搜寻控制器17通过参考正常搜寻的搜寻概况信息15(1)来进行磁头搜寻(S37)。另一方面,如果决定进行快速搜寻(S34中的“否”),搜寻控制器17通过参考快速搜寻的搜寻概况信息15(2)来进行磁头搜寻(S35)。由于搜寻控制器17进行至少两种搜寻(正常搜寻和快速搜寻),所以需要两种搜寻概况信息,即正常搜寻的搜寻概况信息15(1)和快速搜寻的搜寻概况信息15(2)。在S35中的快速搜寻和在S37中的正常搜寻中,可以进行准时(Just-in-time)搜寻控制,以减小搜寻完成时间的浮动并抑制写错误的发生。准时搜寻控制包括,调整搜寻速度使搜寻完成后的转动延迟时间最小化。众所周知,这种控制可以减小功耗(参考JP-A 2000-40317(Kokai))。这里,搜寻概况信息简短地描述如下。磁头搜寻控制通常包括,通过为磁头所处的磁道与目标磁道之间的磁道到磁道的距离设置目标速度来进行反馈控制。就是说,在搜寻期间,搜寻控制器17根据磁道到磁道的距离来增加或减小搜寻速度,使之变成目标速度。当由磁道到磁道的距离获得目标速度时,使用搜寻概况信息。所述搜寻概况信息可以作为表来保存,该表存储有与磁道到磁道的距离相关的目标速度、以磁道到磁道距离为变量的产生目标速度的函数、或者该函数的系数信息(例如,参考JP-A 9-73618(Kokai))。
通过S35中的快速搜寻或S37中的正常搜寻,磁头被置于目标磁道(图8中的磁道“j”)上。在等待通过转动延迟使请求数据直接置于磁头之下后,对数据进行读取或写入(S38)。在读命令的情形中,读数据被存储在闪存4中,并开始将数据传送到主机1中。在写命令的情形中,当写请求数据的写入结束时该命令的执行也就完成了。
在S38中,如果在写入磁盘6期间磁盘接口5探测到一个写入终止的信号(写错误信号)(写错误发生),那么立即停止写过程并执行写错误处理过程。当写入终止信号产生时,就能看到使写入终止的现象。对于错误的发生而言,有定位控制错误(其中不能将磁头控制到正确的位置上)、由探测到冲击或者电源发生中断等外部因素引起的错误、或者由于磁盘6上的缺陷而产生的错误(其中在磁盘6上不能正常进行读或写)。
图10是一个流程图,显示了写错误处理过程的流程。在S41中,探测到写入失败的数据。在探测写入失败的数据时,希望根据写请求数据的大小来执行不同的处理过程。具体说,当写错误发生时,如果写错误发生位置在写数据的尾部附近,那么从写错误发生位置到写数据尾部的一段数据被探测为写入失败的数据,如图11所示。另一方面,当写数据的大小较大时,或者当具有连续地址的若干写请求连续产生时(批量处理多个具有连续地址的写命令),在磁头被定位在写数据的尾部之前将错误放弃,并重新开始写入,这是因为从写错误发生位置到写数据的尾部距离很长,如图12所示。磁盘接口5等待从磁盘6发送来的写入能够进行的信号,并在能够进行写入时重新开始写入。此时,从写错误发生的位置到重新开始写入的位置的一段数据被探测为写入失败的数据。
在S42中,判断错误发生的原因是否是由于磁盘6的缺陷所致。如果错误发生的原因是由于磁盘6的缺陷所致(S42中的“是”),那么执行重试过程。在重试过程中,数据被再次写入相同的地址,并检查磁盘6上的这个位置是否是有缺陷的。所以,每次进行重写时,都有磁盘6转动一圈所产生的转动延迟。如果磁盘6被判断为是有缺陷的,那么磁盘6上的这个位置就被标记为有缺陷扇区,并且将数据存储在另一个位置处。所述另一个位置可以在磁盘6和非挥发性存储器8中的任何一个内。
如果判断出错误发生的原因不是由于磁盘6的缺陷所致(S42中的“否”),那么,由非挥发性存储器快速使用决定功能12再次检查非挥发性存储器8是否是可快速访问的(S43)。如果非挥发性存储器8是可快速访问的(S43中的“是”),那么对S41中探测到的写入失败的数据进行写入的写命令被存储在非挥发性存储器命令队列11中(S45)。就是说,磁盘接口5具有写错误处理单元,用来产生对写入失败的数据进行写入的写命令,并且,如果磁盘6发生写错误,则将所产生的写命令存储在非挥发性存储器命令队列11中。另一方面,如果在这种情形中非挥发性存储器8不是可快速访问的(S43中的“否”),那么,对写入失败的数据进行写入的写命令将被存储在磁盘命令队列10中(S44)。这里,使用有关非挥发性存储器8是否是可快速访问的判断结果(在图6中的S31所进行的),可以省略S43中的再检查步骤。就是说,如果在S31中判断出非挥发性存储器8是可快速访问的,那么,操作过程就直接从S42前进到S45,否则的话,操作过程就直接从S42前进到S44。
在图6中,在S38中的读取期间如果接收到读取终止(read disabled)信号(读错误信号)(读错误发生了),那么立即停止读过程,籍此,执行读错误处理过程。与写错误类似,当产生了读取终止信号时,就能看到使读取终止的现象,籍此,可以探测到定位控制错误、外部因素错误、和磁盘缺陷错误。图13显示了读错误处理过程的流程图。探测读取失败的数据(S51),并判断读取错误的原因是否是磁盘的缺陷(S52)。如果有可能是磁盘6上的缺陷(S52中的“是”),那么执行重试过程(S54)。在该重试过程中,再次读取请求数据。如果不能读取请求数据的话,将读取错误通知主机1。如果判断出读取错误的原因不是磁盘6上的缺陷(S52中的“否”),那么对读取失败的数据进行读取的读命令就被存储在磁盘命令队列10中(S53)。
返回图2,非挥发性存储器访问选择功能(第一选择单元)16从非挥发性存储器命令队列11中所存储的命令中选择要执行的命令,并将所选择的命令发送到非挥发性存储器接口(访问控制器)7。非挥发性存储器接口7执行所接收到的命令,以在非挥发性存储器8中进行数据的读取和写入。采用非挥发性存储器访问选择功能16的命令选择方法包括,按照各命令在非挥发性存储器命令队列11中存储的顺序选择这些命令,或者按照读取各个命令的顺序选择这些命令(高处理速度)。如果执行读命令,那么将读数据存储在闪存4中,并开始将该数据发送到主机1中。如果执行写命令,那么当对写请求数据的写入结束时命令的执行也就完成了。
为了释放非挥发性存储器8中的空间,可以执行将存储在非挥发性存储器8中的数据写入磁盘6的处理过程。这个过程希望是在对输入输出有较小的影响时执行。例如,当磁盘命令队列10和非挥发性存储器命令队列11中没有存储命令时,执行这个过程。在这个过程中,从非挥发性存储器8中将希望写入磁盘6的数据读入闪存4中。此时,可以通过将读命令寄存在非挥发性存储器命令队列11中来读取数据。然后,将闪存4中的所述读数据写到磁盘6上。此时,可以将写命令存储在磁盘命令队列10中。
Claims (11)
1.一种硬盘驱动器,包括:
圆盘状存储介质,配置为能够用来读和写数据;
搜寻控制器,配置为用来基于所请求执行的读命令或写命令来控制磁盘磁头进行高速地搜寻所述磁盘磁头的快速搜寻,和低速地搜寻所述磁盘磁头的慢速搜寻,从而对所述数据进行读或写;
非挥发性存储器,配置为能够用来读和写所述数据;
访问控制器,配置为基于所请求执行的所述读命令或写命令在所述非挥发性存储器中对所述数据进行读或写;
命令接收器,配置为从主机接收用于读写所述数据的所述写命令或读命令;
判定单元,配置为用来判定所述搜寻控制器和所述访问控制器中的哪一个执行所述命令接收器所接收到的命令;
第一命令存储区,配置为用来存储被判定为由所述搜寻控制器来执行的写命令和读命令;
第二命令存储区,配置为用来存储被判定为由所述访问控制器来执行的写命令和读命令;
第一选择单元,配置为用来从所述第二命令存储区中选择命令并请求所述访问控制器执行所选择的命令;
使用情形探测单元,配置来探测所述非挥发性存储器的使用情形;
第二选择单元,配置为用来
当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻,以及
如果所选择的命令是所述写命令,则通过指定所述快速搜寻来请求所述搜寻控制器执行所选择的命令,而如果所选择的命令是所述读命令,则通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令;
写错误处理单元,配置为在所述第二选择单元所请求的所述写命令的执行期间探测写错误,并在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;以及
第三选择单元,配置为用来
当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻,以及
通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令。
2.根据权利要求1所述的驱动器,其中,
当所述写错误处理单元探测到写错误时,所述使用情形探测单元探测所述非挥发性存储器的使用情形;以及
当所述非挥发性存储器的使用情形为“低”时,所述写错误处理单元在所述第二命令存储区中存储用于对所述写入失败数据进行写入的写命令,并且当所述非挥发性存储器的使用情形为“高”时,在所述第一命令存储区中存储用于对写入失败数据进行写入的写命令。
3.根据权利要求1所述的驱动器,其中,
所述使用情形探测单元探测剩余存储量作为所述非挥发性存储器的使用情形,所述剩余存储量是减去了所述第二命令存储区中的各个写命令所请求写入的数据总量后的所述非挥发性存储器上的可用存储量,以及
当所述剩余存储量大于等于第一阈值时,所述第二选择单元做出所述使用情形为“低”的判断。
4.根据权利要求2所述的驱动器,其中,
所述使用情形探测单元探测剩余存储量作为所述非挥发性存储器的使用情形,所述剩余存储量是减去了所述第二命令存储区中的各个写命令所请求写入的数据总量后的所述非挥发性存储器上的可用存储量,以及
当所述剩余存储量大于等于第一阈值时,所述写错误处理单元做出所述使用情形为“低”的判断。
5.根据权利要求1所述的驱动器,其中,
所述使用情形探测单元计算执行所述第二命令存储区中的写命令和读命令所需的总时间作为所述非挥发性存储器的使用情形,以及
当所述总时间小于等于第二阈值时,所述第二选择单元做出所述使用情形为“低”的判断。
6.根据权利要求2所述的驱动器,其中,
所述使用情形探测单元计算执行所述第二命令存储区中的写命令和读命令所需的总时间作为所述非挥发性存储器的使用情形,以及
当所述总时间小于等于第二阈值时,所述写错误处理单元做出所述使用情形为“低”的判断。
7.根据权利要求1所述的驱动器,其中,如果所选择的命令为所述写命令的话,所述第二选择单元对所选择的命令比较所述磁盘磁头进行所述快速搜寻时写入的开始时间和所述磁盘磁头进行所述慢速搜寻时写入的开始时间,并当这些开始时间彼此相等时为所述搜寻控制器指定所述慢速搜寻。
8.根据权利要求1所述的驱动器,其中,所述写错误处理单元探测所述写命令所请求写入的数据中接在发生错误的位置之后的数据作为所述写入失败数据。
9.根据权利要求1所述的驱动器,其中,
如果所述写错误发生在所述写命令的执行期间的话,所述搜寻控制器一直等待直到该写错误被放弃,并且如果该错误被放弃了则重新开始写入,以及
所述写错误处理单元探测所述写命令所请求写入的数据中从错误发生的位置到写入重新开始的位置之间的数据作为所述写入失败数据。
10.根据权利要求1所述的驱动器,其中,所述判定单元使用下列内容中的至少一项内容来决定所述搜寻控制器和所述访问控制器中的哪一个执行所述命令接收器所接收到的命令:驱动和转动所述圆盘状存储介质的磁盘马达的开/关状态、所述第一命令存储区中的命令数、和剩余存储量,即减去了所述第二命令存储区中的写命令所请求写入的数据总量后的所述非挥发性存储器上的可用存储量。
11.硬盘驱动器中所使用的命令执行方法,该硬盘驱动器含有能够用来读写数据的圆盘状存储介质和能够用来读写数据的非挥发性存储器的,该方法包括:
从主机接收用于读或写数据的写命令和读命令;
判定所述圆盘状存储介质和所述非挥发性存储器中的哪一个来执行所述写命令或所述读命令;
当判定为所述圆盘状存储介质时在第一命令存储区中存储所述写命令或所述读命令,当判定为所述非挥发性存储器时则在第二命令存储区中存储所述写命令或所述读命令;
探测所述非挥发性存储器的使用情形;
当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻;
当所选择的命令是所述写命令时,通过所述快速搜寻来执行所选择的命令,而当所选择的命令是所述读命令时则通过所述慢速搜寻来执行所选择的命令;
当在所述写命令的执行期间探测到写错误时,在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;
当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻;以及
通过所述慢速搜寻来执行所选择的命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP338368/2006 | 2006-12-15 | ||
JP2006338368A JP4234753B2 (ja) | 2006-12-15 | 2006-12-15 | ハードディスクドライブおよびコマンド実行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101206554A true CN101206554A (zh) | 2008-06-25 |
Family
ID=39526873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101988704A Pending CN101206554A (zh) | 2006-12-15 | 2007-12-14 | 硬盘驱动器以及命令执行方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7477477B2 (zh) |
JP (1) | JP4234753B2 (zh) |
KR (1) | KR20080056082A (zh) |
CN (1) | CN101206554A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021910A1 (en) * | 2013-08-16 | 2015-02-19 | Tencent Technology (Shenzhen) Company Limited | Method for accessing data and apparatus thereof |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN108139904A (zh) * | 2015-10-23 | 2018-06-08 | 惠普发展公司,有限责任合伙企业 | 写入命令过滤 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694714B2 (en) * | 2008-01-18 | 2014-04-08 | Spansion Llc | Retargeting of a write operation retry in the event of a write operation failure |
US20100146205A1 (en) * | 2008-12-08 | 2010-06-10 | Seagate Technology Llc | Storage device and method of writing data |
KR20100091379A (ko) * | 2009-02-10 | 2010-08-19 | 삼성전자주식회사 | 반도체 디스크 장치 및 그것의 프로그램 페일 처리 방법 |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9146875B1 (en) | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8683295B1 (en) | 2010-08-31 | 2014-03-25 | Western Digital Technologies, Inc. | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory |
US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
US8825977B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8670205B1 (en) | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US8699171B1 (en) | 2010-09-30 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive selecting head for write operation based on environmental condition |
US8427771B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors |
US8429343B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk |
US8612798B1 (en) | 2010-10-21 | 2013-12-17 | Western Digital Technologies, Inc. | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails |
US8560759B1 (en) | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8719520B1 (en) * | 2010-12-14 | 2014-05-06 | Datadirect Networks, Inc. | System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity |
US8630056B1 (en) | 2011-09-12 | 2014-01-14 | Western Digital Technologies, Inc. | Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory |
US8909889B1 (en) | 2011-10-10 | 2014-12-09 | Western Digital Technologies, Inc. | Method and apparatus for servicing host commands by a disk drive |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US8904091B1 (en) | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
US9177607B2 (en) * | 2012-05-16 | 2015-11-03 | Seagate Technology Llc | Logging disk recovery operations in a non-volatile solid-state memory cache |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
US9274966B1 (en) | 2013-02-20 | 2016-03-01 | Western Digital Technologies, Inc. | Dynamically throttling host commands to disk drives |
US9075538B2 (en) | 2013-06-24 | 2015-07-07 | Seagate Technology Llc | Performance and power management for rotating data storage device |
US9087545B2 (en) | 2013-07-16 | 2015-07-21 | Saegate Technology Llc | Request management for rotating data storage media |
US20150033066A1 (en) * | 2013-07-26 | 2015-01-29 | Seagate Technology Llc | Partial write error recovery |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US9348747B2 (en) * | 2013-10-29 | 2016-05-24 | Seagate Technology Llc | Solid state memory command queue in hybrid device |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US9472222B2 (en) | 2014-05-16 | 2016-10-18 | Western Digital Technologies, Inc. | Vibration mitigation for a data storage device |
US10198208B2 (en) | 2015-11-13 | 2019-02-05 | International Business Machines Corporation | Performing collective I/O operations within operating system processes |
US11264056B1 (en) | 2020-10-01 | 2022-03-01 | Seagate Technology Llc | System and method for write-retry management |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4530055A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory |
JPH06282384A (ja) | 1993-03-26 | 1994-10-07 | Toshiba Corp | ディスクドライブの制御方式 |
JPH0973618A (ja) | 1995-09-07 | 1997-03-18 | Toshiba Corp | ディスク記録再生装置のヘッド位置決め制御システム及びそのシステムに適用する速度制御方法 |
GB2336023A (en) | 1998-03-30 | 1999-10-06 | Quantum Corp | Disk drive with just-in-time data seek |
JP3356106B2 (ja) | 1999-04-02 | 2002-12-09 | 日本電気株式会社 | 磁気ディスク装置及びそのリトライ処理方法 |
JP2001100935A (ja) | 1999-09-28 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | ディスク装置およびその制御方法 |
JP2001236744A (ja) | 2000-02-18 | 2001-08-31 | Hitachi Ltd | 情報記録再生方法及び情報記録再生装置 |
-
2006
- 2006-12-15 JP JP2006338368A patent/JP4234753B2/ja not_active Expired - Fee Related
-
2007
- 2007-09-20 US US11/858,354 patent/US7477477B2/en not_active Expired - Fee Related
- 2007-10-17 KR KR1020070104601A patent/KR20080056082A/ko not_active Application Discontinuation
- 2007-12-14 CN CNA2007101988704A patent/CN101206554A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021910A1 (en) * | 2013-08-16 | 2015-02-19 | Tencent Technology (Shenzhen) Company Limited | Method for accessing data and apparatus thereof |
CN104375781A (zh) * | 2013-08-16 | 2015-02-25 | 深圳市腾讯计算机***有限公司 | 数据存取方法及装置 |
CN105718378A (zh) * | 2014-12-19 | 2016-06-29 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN108139904A (zh) * | 2015-10-23 | 2018-06-08 | 惠普发展公司,有限责任合伙企业 | 写入命令过滤 |
Also Published As
Publication number | Publication date |
---|---|
KR20080056082A (ko) | 2008-06-20 |
JP2008152440A (ja) | 2008-07-03 |
US7477477B2 (en) | 2009-01-13 |
JP4234753B2 (ja) | 2009-03-04 |
US20080144209A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101206554A (zh) | 硬盘驱动器以及命令执行方法 | |
US6711628B1 (en) | Disk drive aborting a write command before a last target sector reached if an abnormal condition detected and selecting a second command according to a rotational positioning optimization algorithm | |
US9477681B2 (en) | File management among different zones of storage media | |
US8560759B1 (en) | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency | |
US8578100B1 (en) | Disk drive flushing write data in response to computed flush time | |
US6845405B1 (en) | Disk drive executing part of a linked disk command | |
CN102576293B (zh) | 固态存储设备和分层存储***中的数据管理 | |
US10572158B2 (en) | Method of operating storage device to recover performance degradation due to retention characteristic and method of operating data processing system including the same | |
US9208823B2 (en) | System and method for managing address mapping information due to abnormal power events | |
US11232008B2 (en) | Method of operating storage device, storage device performing the same and storage system including the same | |
US9594519B2 (en) | Prefetching monitored areas in a storage apparatus | |
JP5058060B2 (ja) | データ記憶装置及び隣接トラック書き直し処理方法。 | |
CN102265267A (zh) | 用于分层非易失性存储设备的***和方法 | |
US9927981B2 (en) | Hybrid data storage device with partitioned local memory | |
US10346051B2 (en) | Storage media performance management | |
EP3629142B1 (en) | Method of operating storage device, storage device performing the same and storage system including the same | |
TW201818252A (zh) | 對資料之記憶體操作 | |
US20100262775A1 (en) | Raid control apparatus and raid system | |
US9373347B2 (en) | Data write management | |
US20090027796A1 (en) | Information recording device and control method therefor | |
US20060218361A1 (en) | Electronic storage device with rapid data availability | |
US9389803B2 (en) | Method for controlling interface operation and interface device applying the same | |
US9990134B2 (en) | Command tunneling in a hybrid data storage device | |
US11003580B1 (en) | Managing overlapping reads and writes in a data cache | |
US11593242B2 (en) | Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080625 |