硬盘驱动器以及命令执行方法技术

技术编号:2828814 阅读:743 留言:0更新日期:2012-04-11 18:40
提供一种命令执行方法,该方法包括,探测非挥发性存储器的使用情形;当所述使用情形为“低”时,从若干写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻;当所述非挥发性存储器的使用情形为“高”时,从若干写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻。

【技术实现步骤摘要】

本专利技术涉及到用于执行主机所发送的读或写命令的磁盘驱动器,以 及一种命令执行方法。
技术介绍
在相当于硬盘装置的磁盘装置中,在读写磁盘时,磁盘磁头搜寻目 标磁道,在目标地址处,磁盘位置在磁盘磁头下移动,同时进行磁盘磁 头定位控制,在转动延迟中等待磁盘转动。当磁盘磁头被定位于目标地 址上时开始在磁盘上读写数据。如果发生了一个错误,通过暂停读写、 等待磁盘转动一次并再次进行读写来进行重试。由于重试是连续进行的 直到解决了错误为止,所以,在开始执行下一个命令之前,会产生磁盘 至少转动一圈的转动延迟。在磁盘上进行写入比进行读取需要更严格的定位控制,由此,错误更容易发生。由于每次发生写错误(其中在磁盘上写入失败)时会产生磁盘转动一圈或多圈的转动延迟,所以,通过减少写错误的次数可以缩 短命令执行时间。一些磁盘装置具有命令队列,用来保存多个命令。在这种磁盘装置 中,从主机设备接收到的命令可以存储在所述命令队列中,并从所述命 令队列中所存储的等待执行的命令中选择下 一个要执行的命令并执行 之。使用命令队列的话,允许进行重新排序,即可以改变要执行命令的 顺序,使之与命令的发布顺序不同。通过考虑命令请求地址在磁盘上的 位置而进行重新排序可以缩短执行命令所需时间。例如,考虑这样一种情形,其中命令按命令1、 2和3的顺序发布,如图14所示。在这种情 形中,通过按图14A所示的命令1、 3和2的顺序重新排序并执行(磁盘访问)这些命令,而不是按图14B所示的发布顺序来执行这些命令,可 以更有效地进行数据的读和写。在图14A和14B中,指示出了磁盘上由 命令l、 2和3所读或写的区域。STF (Shortest Time First,最短时间优先)算法是重新排序算法中 的一种算法,用于选择具有最短访问时间的命令并以重复的方式来进行 这样的选择。例如,假设正在执行命令l (显示了磁盘上要由命令l进行 读或写的区域),如图15所示。在STF算法中,命令3被选择为下一次 要执行的命令。命令2在搜寻期间经磁盘的转动通过了磁盘磁头位置, 导致了磁盘转动一圈的额外转动延迟(在搜寻结束后,等待读或写数据 被定位),从而没有被选择。在执行命令3结束之后,命令4在搜寻中正 赶趟,由此,命令3之后要被执行的命令就是能被最快地访问的命令4。当搜寻速度(磁盘磁头移动速度)增加时,磁道之间的移动时间就 被缩短了。当如图16B所示搜寻速度没有增加时,命令2不能被选择为 命令l之后的下一个命令,于是执行了命令3。当搜寻速度增加时,命令 1、 2和3可以在同一时间段内执行(图16A),由此可以执行更多的命令。 以这种方式,如果搜寻速度增加了,可以根据STF算法进行更有效的重 新排序。然而,当搜寻速度增加时,在目标磁道上定位磁盘磁头位置时有更 大的振动传给了磁盘磁头。因为这个振动比较大,所以定位控制更困难, 更容易导致读/写错误。因此,如果搜寻速度增加了,可以进行更有效的 重新排序,但写错误发生率会更高,而且转动延迟时间会增加,由此, 输入输出不一定会改善。在JP-A 6-282384 (Kokai)中,不能写在磁盘上的数据被存储在闪 存中,闪存可以作为磁盘上有缺陷扇区的替代区域,以提高磁盘的可靠 性。采用这种方法,可以预期,对于具有较小数据大小的随机写命令(写 目的地地址是随机的的写命令),输入输出可以改善,但考虑被改善的输 入输出,对于顺序写命令(写目的地地址是连续的的写命令)或者对于 具有较大数据大小的写命令,没有处理过程可执行。另外,由于没有处理过程用于将闪存中所存储的数据重写到磁盘上,所以,当闪存没有可 用的存储空间时,将写错误的发生所导致的写入失败数据写入到闪存中 的过程就不能执行。在JP-A 2000-293963 (Kokai)中,写入磁盘失败的数据被存储在磁 盘上的某个特殊区域内。采用这种方法,输入输出不一定改善,因为, 在所述特殊区域内存储数据时由于搜寻会产生转动延迟时间。在JP-A 2001-100935 (Kokai)中,在磁盘上读写失败的数据被再次 存储在磁盘命令队列中进行重新排序。采用这种方法,引起写错误的数 据的磁盘写入是必不可少的,由此,写错误的代价不一定减小。例如, 在写入失败后,写入失败的数据被重新存储在磁盘命令队列中,重新排 序的结果是,同样的命令被选择,如图17所示。在这种情形中,操作与 等待磁盘转动一圏后进行重写的操作相同,这是没有重新排序的处理过 程,由此,即使执行了将数据重新存储在磁盘命令队列中并进行重新排 序的过程,输入输出也没有改善。在JP-A2001-236744 (Kokai)中,当在磁盘上读写数据失败了 ,需 要进行重试的时候,在这期间搜寻可执行的命令。采用这种方法,像JP-A 2001-100935 (Kokai) —样,导致写错误的数据的磁盘写入是必不可少 的,由此,写错误的代价不一定减小。
技术实现思路
根据本专利技术的一个方面,提供一种硬盘驱动器,包括圆盘状存储介质,配置为能够用来读写数据;搜寻控制器,配置为基于所请求执行的读命令或写命令来控制磁盘 磁头进行快速搜寻(所述磁盘磁头的高速搜寻)和慢速搜寻(所述磁盘 磁头的低速搜寻)从而对所述数据进行读写;非挥发性存储器,配置为能够用来读写所述数据;访问控制器,配置为基于所请求执行的所述读命令或写命令在所述 非挥发性存储器中对所述数据进行读写;命令接收器,配置为从主机接收用于读写所述数据的所述写命令或读命令;判定单元,配置为判定所述搜寻控制器和所述访问控制器中的哪一 个执行所述命令接收器所接收到的命令;第 一命令存储区,用来存储判定为由所述搜寻控制器来执行的写命 令和读命令;第二命令存储区,用来存储判定为由所述访问控制器来执行的写命令和读命令;第 一选择单元,用来从所述第二命令存储区中选择命令并请求所述访问控制器执行所选择的命令;使用情形探测单元,用来探测所述非挥发性存储器的使用情形;第二选择单元,用来当所述使用情形为低时,从所述第一命令存储区中所存储 的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所ii^盘磁头对所述写命令进行快速搜 寻而对所述读命令进行慢速搜寻,以及如果所选择的命令是所述写命令则通过指定所述快速搜寻来请 求所述搜寻控制器执行所选择的命令,而如果所选择的命令是所述 读命令则通过指定所述慢速搜寻来请求所述搜寻控制器执行所选 择的命令;写错误处理单元,用来在所述第二选择单元所请求的所述写命令的 执行期间探测写错误,并在所述第二命令存储区中存储用于对写入失败 的数据进行写入的写命令;以及第三选择单元,用来当所述非挥发性存储器的使用情形为高时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻,以及通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令。根据本专利技术的另一方面,提供一种含有能够用来读写数据的圆盘状 存储介质和能够用来读写数据的非挥发性存储器的硬盘驱动器中所使用的命令执行方法,该方法包括从主机接收用于读或写所述数据的写命令或读命令;判定所述圆盘状存储介质和所述非挥发性存储器中的哪一个用来执 行所述写命令或所述读命本文档来自技高网
...

【技术保护点】
一种硬盘驱动器,包括:圆盘状存储介质,配置为能够用来读和写数据;搜寻控制器,配置为用来基于所请求执行的读命令或写命令来控制磁盘磁头进行高速地搜寻所述磁盘磁头的快速搜寻,和低速地搜寻所述磁盘磁头的慢速搜寻,从而对所述数据进行读或写;非挥发性存储器,配置为能够用来读和写所述数据;访问控制器,配置为基于所请求执行的所述读命令或写命令在所述非挥发性存储器中对所述数据进行读或写;命令接收器,配置为从主机接收用于读写所述数据的所述写命令或读命令;判定单元,配置为用来判定所述搜寻控制器和所述访问控制器中的哪一个执行所述命令接收器所接收到的命令;第一命令存储区,配置为用来存储被判定为由所述搜寻控制器来执行的写命令和读命令;第二命令存储区,配置为用来存储被判定为由所述访问控制器来执行的写命令和读命令;第一选择单元,配置为用来从所述第二命令存储区中选择命令并请求所述访问控制器执行所选择的命令;使用情形探测单元,配置来探测所述非挥发性存储器的使用情形;第二选择单元,配置为用来当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻,以及如果所选择的命令是所述写命令,则通过指定所述快速搜寻来请求所述搜寻控制器执行所选择的命令,而如果所选择的命令是所述读命令,则通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令;写错误处理单元,配置为在所述第二选择单元所请求的所述写命令的执行期间探测写错误,并在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;以及第三选择单元,配置为用来当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻,以及通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令。...

【技术特征摘要】
JP 2006-12-15 338368/20061.一种硬盘驱动器,包括圆盘状存储介质,配置为能够用来读和写数据;搜寻控制器,配置为用来基于所请求执行的读命令或写命令来控制磁盘磁头进行高速地搜寻所述磁盘磁头的快速搜寻,和低速地搜寻所述磁盘磁头的慢速搜寻,从而对所述数据进行读或写;非挥发性存储器,配置为能够用来读和写所述数据;访问控制器,配置为基于所请求执行的所述读命令或写命令在所述非挥发性存储器中对所述数据进行读或写;命令接收器,配置为从主机接收用于读写所述数据的所述写命令或读命令;判定单元,配置为用来判定所述搜寻控制器和所述访问控制器中的哪一个执行所述命令接收器所接收到的命令;第一命令存储区,配置为用来存储被判定为由所述搜寻控制器来执行的写命令和读命令;第二命令存储区,配置为用来存储被判定为由所述访问控制器来执行的写命令和读命令;第一选择单元,配置为用来从所述第二命令存储区中选择命令并请求所述访问控制器执行所选择的命令;使用情形探测单元,配置来探测所述非挥发性存储器的使用情形;第二选择单元,配置为用来当所述使用情形为“低”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头对所述写命令进行快速搜寻而对所述读命令进行慢速搜寻,以及如果所选择的命令是所述写命令,则通过指定所述快速搜寻来请求所述搜寻控制器执行所选择的命令,而如果所选择的命令是所述读命令,则通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令;写错误处理单元,配置为在所述第二选择单元所请求的所述写命令的执行期间探测写错误,并在所述第二命令存储区中存储用于对写入失败的数据进行写入的写命令;以及第三选择单元,配置为用来当所述非挥发性存储器的使用情形为“高”时,从所述第一命令存储区中所存储的写命令和读命令中选择能使所述磁盘磁头最快地定位在写或读的开始位置处的命令,假设所述磁盘磁头进行慢速搜寻,以及通过指定所述慢速搜寻来请求所述搜寻控制器执行所选择的命令。2. 根据权利要求l所述的驱动器,其中,当所述写错误处理单元探测到写错误时,所述使用情形探测单元探 测所述非挥发性存储器的使用情形;以及当所述非挥发性存储器的使用情形为低,,时,所述写错误处理单 元在所述第二命令存储区中存储用于对所述写入失败数据进行写入的写 命令,并且当所述非挥发性存储器的使用情形为高时,在所述第一 命令存储区中存储用于对写入失败数据进行写入的写命令。3. 根据权利要求l所述的驱动器,其中,所述使用情形探测单元探测剩余存储量作为所述非挥发性存储器的 使用情形,所述剩余存储量是减去了所述第二命令存储区中的各个写命 令所请求写入的数据总量后的所述非挥发性存储器上的可用存储量,以 及当所述剩余存储量大于等于第 一 阈值时,所述第二选择单元4故出所 述使用情形为低的判断。4. 根据权利要求2所述的驱动器,其中,所述使用情形探测单元探测剩余存储量作为所述非挥发性存储器的 使用情形,所述剩余存储量是减去了所述第二命令存储区中的各个写命 令所请求写入的数据总量后的所述非挥发性存储器上的可用存...

【专利技术属性】
技术研发人员:丸地康平高仓晋司吉田充伸秋叶敏克中村博昭
申请(专利权)人:株式会社东芝
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1