[go: up one dir, main page]

JP2001154809A - ディスク装置 - Google Patents

ディスク装置

Info

Publication number
JP2001154809A
JP2001154809A JP34073499A JP34073499A JP2001154809A JP 2001154809 A JP2001154809 A JP 2001154809A JP 34073499 A JP34073499 A JP 34073499A JP 34073499 A JP34073499 A JP 34073499A JP 2001154809 A JP2001154809 A JP 2001154809A
Authority
JP
Japan
Prior art keywords
command
seek
time
disk
head
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
JP34073499A
Other languages
English (en)
Inventor
Tadaaki Tamura
匡章 田村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP34073499A priority Critical patent/JP2001154809A/ja
Publication of JP2001154809A publication Critical patent/JP2001154809A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Moving Of Head For Track Selection And Changing (AREA)

Abstract

(57)【要約】 【課題】 アクセス時間が最小となるように、コマンド
実行順を変更するためのコマンド実行順制御方法及びデ
ィスク装置に関し、特に、高速に各コマンド間のアクセ
ス時間を予測計算する。 【解決手段】 ディスク(6)と、ヘッド(4)と、ア
クチュエータ(3)と、制御部(19)とを有する。コ
マンドキューバッファ(19ー1)に格納された各コマ
ンドと、実行中コマンドとのアクセス時間を、シーク時
間テーブル(190)と、セクタ位置テーブル(19
1)を用いて、計算する。テーブル参照によるため、ア
クセス時間を高速に計算できる。又、シーク時間テーブ
ル(190)のテーブル値を、装置、環境毎に、自動測
定して、補正する。これにより、装置、環境に応じたシ
ーク性能のシーク時間テーブル値を得ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストから与えら
れたリード/ライトコマンドの実行順を、ヘッドの移動
時間が短くなるように、変更するためのディスク装置に
関し、特に、実行中コマンドから各未実行コマンドまで
のヘッド移動時間を計算し、コマンドの実行順序を変更
するディスク装置に関する。
【0002】ホストシステムの高性能化に伴い、ホスト
と磁気ディスク装置を結合するインターフェース規格に
おいて、データ転送能力の改善が目覚ましい。例えば、
ANSIの定めるSCSI規格においては、データ転送
に関する仕様化が頻繁に行われている。それに伴い、デ
ータ転送速度は、40MB/S、80MB/S、160
MB/Sというように、年々倍の単位で遷移している。
【0003】一方、磁気ディスク装置の媒体からのデー
タ転送速度は、約40MB/Sであり、媒体のリード/
ライト動作に制限され、今後も向上は難しい。このた
め、ディスク装置の性能がシステム全体の性能を左右す
る比率が高まり、ディスク装置の性能向上が強く求めら
れている。
【0004】
【従来の技術】先ず、ディスク装置のリード/ライトコ
マンドを実行する動作について、図16の磁気ディスク
を例に説明する。図16は、磁気ディスク装置のデータ
の記録方式を示す。
【0005】磁気ディスク装置は、回転する円盤状の磁
気ディスク媒体90毎に、複数の同心円のトラックT〜
T+2に、セクタN〜N+2と呼ばれる一定のデータ単
位で、データを記録する。セクタは、インデックスと呼
ばれる基準位置を基準に配置され、個々にアドレスが割
り当てられている。ホストは、情報のアクセスを先頭セ
クタのアドレスと、アクセスするセクタ数で指定する。
【0006】磁気ディスク装置は、ホストからリード/
ライトコマンドを受けると、現在ヘッドが位置決めして
いるトラックから、指定されたセクタがあるトラックへ
シークした後、目的セクタがヘッド位置まで回転するま
で待ち、媒体のリード/ライトを実行する。これが、磁
気ディスク装置のリード/ライトコマンドを実行する動
作である。
【0007】従って、コマンド実行時間は、ヘッド移動
時間(シーク時間+回転待ち時間)+媒体リード/ライ
ト時間で定義される。前述のように、ディスク装置の速
度性能を向上するためには、このヘッド移動時間(アク
セス時間)を短くすることが必要である。このため、従
来、コマンド実行順序最適技術が提案されている。
【0008】即ち、ディスク装置は、ホストからのリー
ド/ライトコマンドを格納できる数だけ、受信してい
る。ホストの発行順に、コマンドを処理すると、前述の
ヘッドアクセス時間は、前に実行したコマンドの終了位
置から次の受信コマンドの開始位置までの移動時間であ
る。これでは、発行順によりアクセス時間が決定されて
しまい、アクセス時間を短縮できない。このアクセス時
間を短縮するため、コマンドの実行順の変更を、ホスト
が許可する。そして、実行中コマンドの終了位置から最
もアクセス時間が短いコマンドを、次のコマンドに選定
する。
【0009】このようにすると、多くの媒体リード/ラ
イトコマンドを短時間で実行できる。一方、ホストは、
論理アドレス単位で管理しているため、アクセスするヘ
ッドの位置を認識していない。このため、ホストが、最
適な順序で、コマンドを発行することは不可能である。
従って、ディスク装置に、かかるコマンド実行順序の変
更機能を設ける必要がある。
【0010】このため、一のコマンド実行中に、実行中
コマンドから各未実行コマンドまでの各アクセス時間を
予測計算する。そして、これら予測アクセス時間の比較
により、最短アクセス時間のコマンドを選択し、次の実
行コマンドとして決定する。この予測アクセス時間は、
前述のように、予測シーク時間と予測回転待ち時間との
和である。予測シーク時間は、現在トラックから対象コ
マンドの指定トラックまでの移動時間であり、現在実行
中コマンドのトラック位置と、対象コマンドの指定トラ
ック位置との距離から予測計算できる。一方、回転待ち
時間も、現在実行中コマンドの最終セクタ位置と、対象
コマンドの開始セクタ位置との差から、予測計算するこ
とができる。
【0011】このアクセス時間の計算及び次の最適コマ
ンドの決定の最適化処理は、一のコマンドの実行開始か
ら実行終了までの時間に行う必要がある。なぜなら、コ
マンド実行順序の最適化が間に合わなければ、性能の向
上はなく、最適化を行う意味がないからである。
【0012】
【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題があった。
【0013】(1) ディスク装置の高密度化は、年々倍容
量で増加しており、32GB程度になっている。この高
密度を実現するため、トラックピッチの増加と、トラッ
ク当たりのセクタを増やしている。一方、ランダムアク
セスの性能改善のために行うコマンド実行順の変更処理
は、実行中のコマンド処理や他の処理に影響すると、逆
に性能低下を招く。このため、変更処理の実行優先度
は、一番低いレベルで行われる。
【0014】しかし、トラックピッチが狭くなると、ヘ
ッドの位置決め制御に精度を要する。このため、ヘッド
の位置決め制御のための媒体の位置情報(サーボ情報)
の数を増やし、位置補正の回数を増やすことが必要とな
る。このため、位置補正の処理の時間が増加し、コマン
ド実行順序最適化処理の時間が十分にとれないおそれが
ある。このため、従来の計算による方法では、最適化処
理が間に合わないおそれがあるという問題があった。
【0015】(2) 又、前述のセクタの増加により、セク
タ長が短くなる。このため、セクタのリード/ライトに
要する時間が短くなる。これにより、前述のリード/ラ
イト時間が短くなり、最適化処理に許可される時間が短
くなる。このため、従来の予測計算による方法では、最
適化処理が間に合わないおそれがあるという問題があっ
た。
【0016】(3) コマンド実行順序の変更における性能
改善は、発行されたコマンド数が多ければ、より効果が
高まる。このため、ホストは、より多くのコマンドを発
行できるように、処理の改良が行われている。又、媒体
へのデータライトを行うコマンドでは、媒体のライト完
了後に、コマンドを終了する方式と、ディスク装置のデ
ータ受信後にコマンドを終了する方式とがある。従来
は、前者のデータが正常に書かれたことを確認できる方
式が一般的に採用されてきたが、最近は、後者の方式で
コマンドを終了するホストが増加している。理由は、デ
ータ受信後にコマンドを終了することにより、ホストが
管理するコマンド数を変えることなく、ディスク内部の
コマンドを増加でき、コマンド実行順序の変更における
性能改善がより期待できるからである。
【0017】このように、コマンド実行順序の変更処理
の対象コマンドが増加すると、それだけ、前述のアクセ
ス時間の計算に時間がかかるため、従来の計算による方
法では、最適化処理が間に合わないおそれがあるという
問題があった。
【0018】(4) 更に、前述の高密度化により、装置毎
に一定のシーク性能を確保することが困難となる。即
ち、トラックピッチが狭くなったため、ドライブ個々の
シーク性能のバラツキが大きくなってきた。このため、
アクセス時間の予測計算を、各ドライブで共通に行う場
合には、シーク時間の遅いドライブに、予想されるシー
ク時間を合わせて、低めに設定する必要がある。このた
め、シーク性能の高いドライブでは、計算する予測アク
セス時間が、本来の性能より長くなり、最短時間のコマ
ンドを正確に決定できないという問題があった。
【0019】(5) 又、高密度化は、温度や電圧により、
ヘッドの位置決め機構が影響を受けやすくなっており、
シーク性能が使用環境により変化する。このため、従来
の装置共通の計算方法では、最適化のため計算する予測
アクセス時間が、実際のアクセス時間と異なり、最短時
間のコマンドを正確に決定できないという問題があっ
た。
【0020】本発明の目的は、コマンド実行順序の変更
処理を短い時間で行うためのディスク装置を提供するに
ある。
【0021】本発明の他の目的は、高密度の媒体でも、
コマンド実行順序の変更処理を、実行中コマンドの終了
までに実行するためのディスク装置を提供するにある。
【0022】本発明の更に他の目的は、対象コマンドが
増加しても、コマンド実行順序の変更処理を、実行中コ
マンドの終了までに実行するためのディスク装置を提供
するにある。
【0023】本発明の更に他の目的は、各ドライブのシ
ーク性能に応じた、アクセス時間を計算して、コマンド
実行順序変更の性能を発揮することができるディスク装
置を提供するにある。
【0024】本発明の更に他の目的は、各ドライブの環
境変化に応じて、アクセス時間を計算して、コマンド実
行順序変更の性能を発揮することができるディスク装置
を提供するにある。
【0025】
【課題を解決するための手段】本発明のディスク装置の
一の態様は、ディスクを少なくとも読み取るヘッドと、
前記ヘッドを前記ディスク上の所望の位置に位置つける
アクチュエータと、ホストから発行されたコマンドを複
数格納するコマンドバッファと、前記コマンドを実行す
るため、前記コマンドで指定された前記ディスクの位置
に前記ヘッドをアクセスし、前記コマンドで指定された
前記ディスクのリード又はライトの少なくとも一方を実
行する制御部と、前記ディスク上のシーク距離に応じた
シーク時間を格納するシーク時間テーブルとを有する。
そして、前記制御部は、前記一のコマンドの実行中に、
前記一のコマンドの位置から前記コマンドバッファ内の
各コマンドの位置までの前記ヘッドのアクセス時間を、
前記シーク時間テーブルを参照して、計算し、前記アク
セス時間が最短であるコマンドを、次に実行するコマン
ドとして決定するとともに、前記アクチュエータをシー
クして、各シーク距離のシーク時間を測定し、前記シー
ク時間テーブルを作成する。
【0026】この実施の態様は、第1に、予測アクセス
時間の計算を短時間にするため、シーク時間テーブルを
設け、シーク距離に応じたシーク時間をテーブルの参照
により、得られるようにした。第2に、装置毎に、シー
ク性能が異なり、装置共通のシーク時間テーブルでは、
シーク性能を正確に反映していない。このため、シーク
時間を測定して、シーク時間テーブルを作成する処理を
付加し、各装置及び環境に応じたシーク時間テーブルを
得るようにした。このようにすると、各装置で、予測シ
ーク時間が正確となり、コマンド順序の決定精度が向上
し、コマンド順序最適化処理によりディスク装置の性能
をより改善できる。
【0027】本発明のディスク装置の他の態様は、ディ
スクを少なくとも読み取るヘッドと、前記ヘッドを前記
ディスク上の所望の位置に位置つけるアクチュエータ
と、ホストから発行されたコマンドを複数格納するコマ
ンドバッファと、前記コマンドを実行するため、前記コ
マンドで指定された前記ディスクの位置に前記ヘッドを
アクセスし、前記コマンドで指定された前記ディスクの
リード又はライトの少なくとも一方を実行する制御部
と、前記ディスク上のシーク距離に応じたシーク時間を
格納するシーク時間テーブルとを有する。そして、前記
制御部は、前記一のコマンドの実行中に、前記一のコマ
ンドの位置から前記コマンドバッファ内の各コマンドの
位置までの前記ヘッドのアクセス時間を、前記シーク時
間テーブルを参照して、計算し、前記アクセス時間が最
短であるコマンドを、次に実行するコマンドとして決定
するとともに、前記コマンドの実行時のシーク時間に応
じて、前記シーク時間テーブルを補正する。
【0028】この実施の態様は、第1に、予測アクセス
時間の計算を短時間にするため、シーク時間テーブルを
設け、シーク距離に応じたシーク時間をテーブルの参照
により、得られるようにした。第2に、装置毎に、シー
ク性能が異なり、装置共通のシーク時間テーブルでは、
シーク性能を正確に反映していない。このため、シーク
時のシーク時間により、シーク時間テーブルを補正する
処理を付加し、各装置及び環境に応じたシーク時間テー
ブルを得るようにした。このようにすると、各装置、環
境で、予測シーク時間が正確となり、コマンド順序の決
定精度が向上し、コマンド順序最適化処理によりディス
ク装置の性能をより改善できる。
【0029】
【発明の実施の形態】以下、本発明を、ディスク装置、
コマンド順序最適化処理、テーブル作成及び補正処理に
分けて、説明する。
【0030】・・ディスク装置・・ 図1は、本発明の一実施の態様のディスク装置のブロッ
ク図、図2は、そのドライブ装置の上面図、図3は、そ
のドライブの断面図、図4は、そのコントローラの機能
ブロック図である。この例では、ディスク装置として、
ハードディスク装置を例にしてある。
【0031】図1に示すように、ハードディスクドライ
ブ10は、周知のように、磁気ディスクに磁気ヘッドに
よりデータを読み出し、書き込むものである。先ず、ハ
ードディスクドライブ10の構成を、図2及び図3によ
り説明する。
【0032】図2及び図3に示すように、磁気ディスク
6は、基板(円板)に磁気記録層を設けて構成される。
磁気ディスク6は、2.5インチの大きさであり、ドラ
イブ内に、3枚設けられている。スピンドルモータ5
は、磁気ディスク6を支持し、且つ回転する。磁気ヘッ
ド4は、アクチュエータに設けられている。アクチュエ
ータは、回転型VCM(ボイスコイルモータ)3と、ア
ーム8と、フレクチャー(サスペンション)9を有す
る。フレクチャー9の先端に、磁気ヘッド4が取り付け
られている。
【0033】磁気ヘッド4は、磁気ディスク6のデータ
を読み取り、データを書き込む。ここでは、磁気ヘッド
4は、記録ヘッドと再生ヘッド(MRヘッド)とから構
成される。アクチュエータ3は、磁気ヘッド4を磁気デ
ィスク6の所望のトラックに位置付ける。アクチュエー
タ3及びスピンドルモータ5は、ドライブベース2に設
けられる。カバー1は、ドライブベース2を覆い、ドラ
イブ内部を外部から隔離する。プリント板7は、ドライ
ブベース2の下に設けられ、ドライブの制御回路を搭載
する。
【0034】図2に示すように、ドライブベース2内の
磁気ディスク6の外に、ランプ部材11が設けられてい
る。ランプ部材11は、合成樹脂で形成され、ヘッドの
アンロード時に、ヘッドを支持するものである。
【0035】図1に戻り、ハードディスクドライブ10
の制御回路を説明する。HDC(ハードディスクコント
ローラ)18は、図示しないホストの各種コマンドの授
受、データの授受等のホストCPUとのインターフェー
ス制御及び磁気ディスク媒体上の記録再生フォーマット
を制御するための磁気ディスク装置内部の制御信号の発
生等を行う。バッファ17は、ホストよりのライトデー
タの一時的な記憶及び磁気ディスク媒体よりのリードデ
ータの一時的な記憶に使用される。
【0036】MCU(マイクロコントローラ)19は、
マイクロプロセッサ(MPU)等で構成されている。M
CU(以下、MPUという)19は、HDC18とDS
P12と連動して、磁気ディスク装置の制御を行う。本
発明に係わるコマンド実行順序最適化処理は、MPU1
9が実行する。DSP(デジタルシグナルプロセッサ)
12は、磁気ヘッドの位置決めのためのサーボ制御等を
行う。即ち、DSP12は、メモリに記憶されたプログ
ラムを実行して、サーボ復調回路16よりの位置信号の
認識、VCM駆動回路13のVCM制御電流の制御、S
PM駆動回路14の駆動電流の制御を行う。
【0037】VCM駆動回路13は、VCM(ボイスコ
イルモータ)3に駆動電流を流すためのパワーアンプで
構成される。SPM駆動回路14は、磁気ディスクを回
転するスピンドルモータ(SPM)5に駆動電流を流す
ためのパワーアンプで構成される。
【0038】リードチャネル15は、記録再生を行うた
めの回路である。リードチャネル15は、ホストCPU
よりのライトデータを磁気ディスク媒体6に記録するた
めの変調回路、パラレルシリアル変換回路、磁気ディス
ク媒体6よりデータを再生するための復調回路、シリア
ルパラレル変換回路等を有する。サーボ復調回路16
は、磁気ディスク媒体6に記録されたサーボパターンを
復調する回路であり、ピークホールド回路、積分回路等
を有する。
【0039】又、ドライブHDA内には、磁気ヘッド4
に記録電流を供給するライトアンプ21と、磁気ヘッド
4よりの再生電圧を増幅するプリアンプ20とを内蔵し
たヘッドICが設けられている。
【0040】このドライブのコントローラ(制御回路)
の詳細を、図4により説明する。図4において、図1で
示したものと同一のものは、同一の記号で示してある。
図4に示すように、HDC19は、ホスト制御部として
機能する。MCU19は、コマンドキューバッファ19
ー1と、コマンド制御部19ー2と、コマンド実行順序
最適化処理部19ー3とを有する。
【0041】コマンドキューバッファ19ー1は、ホス
トから発行されたコマンドをキューイングするものであ
り、最大164個のコマンドを格納できる。コマンド制
御部19ー2は、コマンドキューバッファ19ー1のコ
マンドを読み出し、解析して、実行する。例えば、リー
ド/ライトコマンドであると、シーク距離を算出し、シ
ークコマンドとリード/ライトコマンドをディスク制御
部12、15に発行しする。
【0042】ディスク制御部は、DSP12とリードチ
ャネル15で構成される。DSP12は、シークコマン
ドに応じて、シーク制御する。リードチャネル15は、
媒体からの読み取りデータをデータバッファ17に転送
し、データバッファ17からライトデータをヘッドに転
送する。
【0043】コマンド実行順序最適化処理部19ー3
は、ソフトウェアで構成され、後述するように、コマン
ドキューバッファ19ー1のコマンドの実行順序を最適
化する。シーク時間テーブル190は、図5にて後述す
るように、各シーク距離毎のシーク時間を格納する。セ
クタ位置テーブル191は、図6にて後述するように、
指定セクタ位置に対するサーボ間隔で換算されたセクタ
位置を格納する。これらテーブル190、191は、コ
マンド実行最適化処理の予想アクセス時間の計算のため
に使用される。
【0044】ここでは、ディスク装置として、記録再生
の両方ができる磁気ディスク装置を例に説明している
が、光ディスク装置、光磁気ディスク装置も用いること
ができる。又、再生のみ可能なCDーROM、DVDー
ROM等を用いたディスク再生装置にも適用できる。
【0045】・・コマンド順序最適化処理・・ 図5は、図4のシーク時間テーブルの構成図、図6は、
図4のセクタ位置テーブルの構成図、図7は、動作説明
図、図8は、本発明の一実施の形態のコマンド実行順序
最適化フロー図、図9は、コマンドキューの説明図、図
10は、SCSIコマンドの説明図、図11は、順序最
適化動作説明図である。
【0046】先ず、図5乃至図7を使用して、シーク時
間テーブル190及びセクタ位置テーブル191を説明
する。
【0047】図5に示すように、シーク時間テーブル1
90は、各シーク距離(シリンダ数)毎に、シーク時間
を格納したテーブルである。シーク時間は、サーボ間隔
を1単位として、サーボ数で表示される。このシーク時
間テーブル190は、図14及び図15により後述する
テーブル作成処理、補正処理により、作成される。
【0048】図6(B)に示すように、セクタ位置テー
ブル191は、インデックスからのセクタ位置毎に、サ
ーボ間隔で換算されたセクタ位置を格納するテーブルで
ある。この換算されたセクタ位置を用いる理由につい
て、説明する。
【0049】先ず、図7の磁気ディスク6のサーボ情報
0〜5を読みだすことにより、シークが実行される。こ
のため、シークの開始と終了は、サーボ情報の位置であ
る。即ち、シーク時間は、サーボ情報の間隔で時間定義
される。一方、セクタ位置は、インデックスからの位置
であり、図7に示すように、サーボ情報の間隔と一致し
ていない。一方、前述のように、シーク時間は、サーボ
間隔の単位のため、アクセス時間を計算するためには、
セクタ位置も、サーボ間隔の単位に合わせる必要があ
る。このため、インデックスからのセクタ位置を、サー
ボ間隔で換算されたセクタ位置(時間)に変換してい
る。
【0050】図6(A)及び(B)では、セクタ位置
「0」、「1」、「2」が、換算されたセクタ位置(時
間)「0」に換算される。尚、図7では、1周に、6つ
のサーボ情報を示しているが、実際には、100以上あ
る。
【0051】次に、図8の最適化処理を説明する。
【0052】(S1)MCU19のコマンド処理部19
ー2が、コマンドキューバッファ19ー1の先頭コマン
ドを取り出し、実行を開始すると、最適化処理部19ー
3に処理開始を指示する。先ず、最短アクセス時間Aを
最大に設定する。
【0053】(S2)シーク開始セクタ位置SAを計算
する。シーク開始位置は、実行中若しくは実行順序の確
定したコマンドの最終セクタ位置の次のセクタ位置であ
る。図7では、実行中コマンドaの最終セクタa3の次
のセクタa4が開始セクタである。図9に示すように、
コマンドキューバッファ19ー1には、発行順に、ホス
トからのコマンドが格納されている。このコマンドは、
図10に示すように、オペコード、LBA(論理ブロッ
クアドレス)、ブロック数からなる。オペコードに、リ
ード、ライトのオペレーションが指定される。論理ブロ
ックアドレスLBAは、リード/ライトの開始アドレス
を示し、ブロック数は開始アドレスからリード/ライト
ブロック数である。最適化処理部19ー3は、図9の実
行中コマンドを解析して、論理ブロックアドレスLBA
を媒体のシリンダアドレス(トラック位置)、開始セク
タ位置に変換する。ブロック数は、セクタ数と等しい。
従って、開始セクタ位置、セクタ数から、前述のコマン
ドの最終セクタ位置の次のセクタ位置を計算により求め
る。更に、このセクタ位置を、前述のセクタ位置テーブ
ル191を用いて、サーボ間隔単位の時間情報(換算さ
れたセクタ位置)taに換算する。
【0054】(S3)次に、アクセスを計算する対象コ
マンドを、キューバッファ19ー1から取り出し、その
コマンドの先頭セクタ位置SSを求める。前述のよう
に、コマンドの論理ブロックアドレスLBAから、先頭
セクタ位置が求められる。更に、このセクタ位置を、前
述のセクタ位置テーブル191を用いて、サーボ間隔単
位の時間情報(換算されたセクタ位置)tbに換算す
る。セクタ位置の差Sdを(tbーta)により求め
る。
【0055】(S4)次に、シークするトラック数(シ
ーク距離)を求める。前述のように、実行中コマンドの
トラック位置と、対象コマンドの論理ブロックアドレス
LBAから得たトラック位置との差をとり、シークトラ
ック数を求める。このシークトラック数を、前述のシー
ク時間テーブル190を用いて、シーク時間に変換す
る。
【0056】(S5)次に、予想アクセス時間Atを計
算する。シーク時間は、サーボ間隔単位のため、(シー
ク時間÷1周のサーボ数)の余りは、シーク開始セクタ
位置から回転方向に何サーボ目でシークが完了するかを
示す。この余りが、セクタ位置の差Sd以下の場合は、
回転待ちは、セクタ位置の差に吸収される。従って、ア
クセス時間をAtとすると、以下の式で、アクセス時間
が得られる。
【0057】 At=Sd+(シーク時間÷1周のサーボ数) (1) 一方、この余りが、セクタ位置の差Sdより大きい場合
には、シーク完了位置が、前述のコマンドの先頭セクタ
位置SSを越えているため、もう一度シーク開始セクタ
位置を経由して目的セクタまで回転待ちとなる。従っ
て、アクセス時間Atは、下記(2)式で得られる。
【0058】 At=Sd+(シーク時間÷1周のサーボ数)+1周のサーボ数 (2) (S6)次に、予想アクセス時間Atが、最短アクセス
時間Aより大きいかを判定する。予想アクセス時間At
が、最短アクセス時間Aより大きい場合には、実行中コ
マンドから対象コマンドへのアクセス時間が最短でない
ため、ステップS7に進む。逆に、予想アクセス時間A
tが、最短アクセス時間Aより大きくない場合には、こ
の対象コマンドのアクセス時間が、今までの中で、一番
短いため、最短アクセス時間Aをこの予想アクセス時間
Atに更新する。そして、このコマンドのポインタをセ
ーブする。
【0059】(S7)キューバッファ19ー1の全ての
コマンドのアクセス時間を計算したかを判定する。全て
のコマンドのアクセス時間を計算していない場合には、
ステップS3に戻り、次のコマンドの処理に移行する。
【0060】(S8)一方、全てのコマンドのアクセス
時間を計算した場合には、前述の最短アクセス時間Aの
コマンドのポインタを取り出し、このコマンドを、キュ
ーバッファ19ー1の実行中コマンドの次の位置に移動
する。そして終了する。
【0061】この動作を、より判り易く、図9及び図1
1により説明する。図9に示すように、キューバッファ
19ー1に、実行中コマンドに対し、実行順に、コマン
ドA、B、C、Dが格納されていたとする。図11に示
すように、実行中コマンドのシーク開始から、順序の最
適化処理を行う。このため、実行中コマンドの終了位置
の次のセクタ位置から、各コマンドA、B、C、Dの開
始セクタ位置までの予想アクセス時間TA、TB、T
C、TDを計算する。そして、これらの予想アクセス時
間の最も短いコマンドを次のコマンドとして、決定す
る。
【0062】図9及び図11では、コマンドCが予想ア
クセス時間TCが最短であるため、図9に示すように、
キューバッファ19ー1内で、コマンドCが、実行中コ
マンドの次の位置(次の実行位置)に、移動し、コマン
ドA、Bは、それに伴い、実行順の下位の位置に移動す
る。このようにして、コマンド順序の変更が行われる。
【0063】この予想アクセス時間は、キューバッファ
19ー1内の各コマンドについて計算する必要がある。
例えば、平均16個のコマンドがキューイングされてい
るため、平均16回のアクセス時間の計算が必要であ
る。この発明では、アクセス時間を計算するため、シー
ク時間テーブル190を用いているので、シーク距離を
計算することにより、シーク時間を参照できる。従っ
て、シーク時間を数ステップで得ることができ、高速に
アクセス時間を計算できる。又、セクタ位置テーブル1
91により、セクタ位置をサーボ間隔単位の時間に直し
ているため、シーク時間と単位を合わせることができ
る。このため、アクセス時間の計算を更に、高速にで
き、最適化処理を、コマンド実行中に行うことができ
る。
【0064】更に、高速に最適化処理を実行できるた
め、本実施例では、コマンド実行中に、次の最適化コマ
ンドばかりでなく、その最適化コマンドを基準としたそ
の次の最適化コマンドを決定することができる。例え
ば、次の最適化コマンドの実行時間が短い場合には、十
分な最適化処理時間がとれないため、その次の最適化コ
マンドを決定することが有効となる。
【0065】図12は、他のセクタ位置テーブルを説明
するためのゾーンビット記録の説明図、図13は、他の
セクタ位置テーブルの説明図である。
【0066】図12に示すように、ゾーンビット記録に
おいては、外周ゾーン1のセクタ長に対し、内周ゾーン
2のセクタ長は、短くなる。このため、前述のセクタ時
間の換算も、ゾーンに分けて行う必要がある。図13に
示すように、外周ゾーン1のセクタ位置と、サーボ情報
の間隔に対し、内周ゾーン2では、1サーボ間隔に対
し、同一の時間(換算セクタ位置)のセクタ数を増や
す。即ち、図13のように、外周ゾーン用セクタ位置テ
ーブルと、内周ゾーン用セクタ位置テーブルを用意す
る。
【0067】このようにすると、ゾーンビット記録の場
合でも、セクタ位置を正確にサーボ間隔単位の時間情報
に変換できる。
【0068】又、セクタ位置テーブル191は、電源投
入時に、フォーマットされているセクタサイズから計算
して、RAM上に展開する。・・テーブル作成及び補正
処理・・前述のシーク時間テーブルは、次のようにし
て、作成される。即ち、ドライブ個々のバラツキに対応
するため、シーク時にシーク時間を測定して、それを基
に、テーブルの作成及び補正を行う。シーク時間の測定
は、シーク中に通過したサーボ情報をカウントする方法
や、MPUのタイマを使用して測定する方法等がある。
【0069】シーク時間テーブルは、電源投入時に、デ
ィスク媒体や不揮発性RAMに、基となる情報を書き込
んでおき、それを基に作成する。基となる情報は、書き
込む場所の容量により、適当な量の情報を書き込んでお
く。例えば、余裕があれば、全ての情報を書き込んでお
き、電源投入時に単にコピーする。又、余裕がなけれ
ば、いくつかのシリンダの値を書き込んでおき、その間
を補間法により、値を作成して、テーブルを完成する。
【0070】又、後述するように、シーク時間テーブル
が、実際の値と異なる場合に補正を行う機能により、電
源投入時に、作成するシーク時間テーブルが実際と異な
っていても、いずれ最適化される。このため、個別のテ
ーブルを書き込んでおく必要がない。
【0071】更に、電源投入時に基となる情報をその形
式に従って作成して、媒体や不揮発性RAMに、書き込
む特殊コマンドを用意する。このコマンドが発行される
と、シリンダ間のシークを行い、基となるテーブルを作
成する。
【0072】図14は、本発明の一実施の形態のシーク
時間テーブル作成処理フロー図である。
【0073】(S10)当該コマンドが発行されると、
測定回数カウンタCNTを初期化する。又、測定結果の
合計SUMをクリアする。
【0074】(S11)コマンド制御部19ー2は、デ
ィスク制御部12にシーク距離Dのシークを要求する。
これにより、ディスク制御部12は、シーク距離Dのシ
ークを、アクチュエータを制御して、実行する。
【0075】(S12)コマンド制御部19ー2は、距
離Dのシーク時間を測定し、合計SUMを、SUM+シ
ーク時間に更新する。
【0076】(S13)コマンド制御部19ー2は、測
定カウンタCNTを「1」減算し、且つカウント値CN
Tが「0」かを判定する。カウント値CNTが「0」で
ない場合には、ステップS11に戻る。
【0077】(S14)カウント値CNTが「0」であ
る時には、シーク時間を、SUM/測定回数により計算
する。そして、テーブルに格納する。
【0078】このようにして、必要なシーク距離のシー
ク時間を測定して、テーブルを作成する。前述のよう
に、全部のシーク距離のシーク時間を測定することもで
き、又、一部のシーク距離のシーク時間を測定して、テ
ーブルを作成しても良い。又、同一の距離のシークを複
数回繰り返して、各シーク時間を測定し、その平均値を
求めるため、正確に基準となるシーク時間テーブルを作
成できる。
【0079】図15は、シーク時間テーブル補正処理フ
ロー図である。
【0080】(S20)前述のキューバッファのコマン
ド処理により、コマンド制御部19ー2が、ディスク制
御部12にシークを要求し、ディスク制御部12に、リ
ード/ライトコマンドのための実際のシークを行わせ
る。
【0081】(S21)コマンド制御部19は、この実
際のシークのシーク時間を測定する。そして、シーク時
間テーブル190のこのシーク距離のテーブル値(シー
ク時間)と、測定したシーク時間とを比較する。一致し
ていれば、テーブルの補正が必要ないため、終了する。
【0082】(S22)逆に、一致していないと、測定
したシーク時間が、テーブル値より大きいかを判定す
る。大きい場合には、テーブル値に「1」を加算して、
テーブルを更新し、終了する。逆に、大きくない場合に
は、テーブル値に「1」を減算して、テーブルを更新
し、終了する。
【0083】このようにして、ホストから発行されたコ
マンドでシークした時のシーク時間と、テーブル値とを
比較して、異なっていた場合に、テーブル値を自動補正
する。このため、ホストコマンドのシーク実行により、
テーブル値が補正される。これにより、電圧、温度等に
より、シーク性能が変動しても、それに合ったテーブル
値に補正できる。
【0084】又、補正を±1で行っている。これは、振
動等により一時的に測定値が大きく誤差を含むことがあ
るため、比較の差の大小に係わらず、1回の補正では、
最小単位の補正としている。
【0085】同様に、前述のテーブルの作成処理は、任
意の時間を行うことができる。従って、補正処理と、作
成処理とを併用しない装置も、実現できる。
【0086】以上、本発明を実施の形態により説明した
が、本発明の主旨の範囲内で種々の変形が可能であり、
これらを本発明の範囲から排除するものではない。
【0087】
【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。
【0088】(1) シーク距離に応じたシーク時間をテー
ブルの参照により、得られるようにしたため、アクセス
時間を高速に計算でき、多数のコマンド間の実行順序を
短時間で最適化できる。
【0089】(2) 回転待ち時間を計算するためのセクタ
位置を、サーボ間隔で定義したセクタ位置テーブルを用
いているため、アクセス時間の計算がより高速にでき
る。
【0090】(3) シークを行い、シーク時間テーブルを
作成するため、各装置、環境に対応した最適のシーク時
間テーブルを得られる。このため、アクセス時間の予測
計算が正確となり、最適化機能を最高に発揮できる。
【0091】(4) ホストコマンドのシーク実行時に、シ
ーク時間を測定して、テーブルを補正するため、各装
置、環境に対応した最適のシーク時間テーブルを得られ
る。このため、アクセス時間の予測計算が正確となり、
最適化機能を最高に発揮できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の磁気ディスク装置のブ
ロック図である。
【図2】図1のハードディスクドライブの上面図であ
る。
【図3】図1のハードディスクドライブの断面図であ
る。
【図4】図1のコントローラのブロック図である。
【図5】図4のシーク時間テーブルの構成図である。
【図6】図4のセクタ位置テーブルの構成図である。
【図7】図6のテーブルの説明図である。
【図8】本発明の一実施の形態のコマンド実行順序最適
化フロー図である。
【図9】図4のコマンドキューの説明図である。
【図10】図9のコマンドの説明図である。
【図11】本発明による順序最適化動作説明図である。
【図12】本発明の他のセクタ位置テーブルを説明する
ためのゾーンビット記録の説明図である。
【図13】本発明の他のセクタ位置テーブルの構成図で
ある。
【図14】本発明の一実施の形態のシーク時間テーブル
作成フロー図である。
【図15】本発明の一実施の形態のシーク時間テーブル
補正フロー図である。
【図16】従来技術の説明図である。
【符号の説明】
3 アクチュエータ(VCM) 4 磁気ヘッド 6 磁気ディスク 10 ハードディスクドライブ 19 MCU 19ー1 コマンドキューバッファ 19ー2 コマンド処理部 19ー3 最適化処理部 190 シーク時間テーブル 191 セクタ位置テーブル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ディスクを少なくとも読み取るヘッド
    と、 前記ヘッドを前記ディスク上の所望の位置に位置つける
    アクチュエータと、 ホストから発行されたコマンドを複数格納するコマンド
    バッファと、 前記コマンドを実行するため、前記コマンドで指定され
    た前記ディスクの位置に前記ヘッドをアクセスし、前記
    コマンドで指定された前記ディスクのリード又はライト
    の少なくとも一方を実行する制御部と、 前記ディスク上のシーク距離に応じたシーク時間を格納
    するシーク時間テーブルとを有し、 前記制御部は、 前記一のコマンドの実行中に、前記一のコマンドの位置
    から前記コマンドバッファ内の各コマンドの位置までの
    前記ヘッドのアクセス時間を、前記シーク時間テーブル
    を参照して、計算し、前記アクセス時間が最短であるコ
    マンドを、次に実行するコマンドとして決定するととも
    に、 前記アクチュエータをシークして、各シーク距離のシー
    ク時間を測定し、前記シーク時間テーブルを作成するこ
    とを特徴とするディスク装置。
  2. 【請求項2】 ディスクを少なくとも読み取るヘッド
    と、 前記ヘッドを前記ディスク上の所望の位置に位置つける
    アクチュエータと、 ホストから発行されたコマンドを複数格納するコマンド
    バッファと、 前記コマンドを実行するため、前記コマンドで指定され
    た前記ディスクの位置に前記ヘッドをアクセスし、前記
    コマンドで指定された前記ディスクのリード又はライト
    の少なくとも一方を実行する制御部と、 前記ディスク上のシーク距離に応じたシーク時間を格納
    するシーク時間テーブルとを有し、 前記制御部は、 前記一のコマンドの実行中に、前記一のコマンドの位置
    から前記コマンドバッファ内の各コマンドの位置までの
    前記ヘッドのアクセス時間を、前記シーク時間テーブル
    を参照して、計算し、前記アクセス時間が最短であるコ
    マンドを、次に実行するコマンドとして決定するととも
    に、 前記コマンドの実行時のシーク時間に応じて、前記シー
    ク時間テーブルを補正することを特徴とするディスク装
    置。
JP34073499A 1999-11-30 1999-11-30 ディスク装置 Pending JP2001154809A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34073499A JP2001154809A (ja) 1999-11-30 1999-11-30 ディスク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34073499A JP2001154809A (ja) 1999-11-30 1999-11-30 ディスク装置

Publications (1)

Publication Number Publication Date
JP2001154809A true JP2001154809A (ja) 2001-06-08

Family

ID=18339809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34073499A Pending JP2001154809A (ja) 1999-11-30 1999-11-30 ディスク装置

Country Status (1)

Country Link
JP (1) JP2001154809A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987639B1 (en) * 2003-09-30 2006-01-17 Western Digital Technologies, Inc. Disk drive modifying a rotational position optimization algorithm based on motor capability of a VCM
US7061714B1 (en) 2003-12-19 2006-06-13 Western Digital Technologies, Inc. Disk drive modifying estimated seek times for a rotational position optimization algorithm based on change in estimated seek time parameter
JP2008021380A (ja) * 2006-07-14 2008-01-31 Fujitsu Ltd シーク制御装置、シーク制御方法、記憶装置
JP2008165881A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 磁気ディスク装置およびその制御方法
JP2011134413A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987639B1 (en) * 2003-09-30 2006-01-17 Western Digital Technologies, Inc. Disk drive modifying a rotational position optimization algorithm based on motor capability of a VCM
US7061714B1 (en) 2003-12-19 2006-06-13 Western Digital Technologies, Inc. Disk drive modifying estimated seek times for a rotational position optimization algorithm based on change in estimated seek time parameter
JP2008021380A (ja) * 2006-07-14 2008-01-31 Fujitsu Ltd シーク制御装置、シーク制御方法、記憶装置
JP2008165881A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 磁気ディスク装置およびその制御方法
JP4675881B2 (ja) * 2006-12-27 2011-04-27 株式会社東芝 磁気ディスク装置およびその制御方法
JP2011134413A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。
US8966169B2 (en) 2009-12-25 2015-02-24 International Business Machines Corporation Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and a method for executing the same
US9601141B2 (en) 2009-12-25 2017-03-21 International Business Machines Corporation Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and a method for executing the same

Similar Documents

Publication Publication Date Title
US5603002A (en) Hard disk drive having buffer memory employing directory based cache controller with data replacement scheme
KR100228795B1 (ko) 재할당 섹터가 있는 트랙에서의 억세스성능 향상방법
CN101308683A (zh) 磁盘驱动装置及其数据重写方法
US7023648B2 (en) Method and apparatus for writing servo data in a disk drive
JPH11312371A (ja) ハ―ドディスクドライブの製造工程管理方法
US7133231B2 (en) Method and apparatus for recording data on hard disk drive, and storage medium therefor
US7570448B2 (en) Write-once type storage apparatus, control method and record control circuit
JP2001266454A (ja) ディスク装置のヘッド位置制御方法及びデイスク装置
KR100855973B1 (ko) 자기 헤드 부상 높이를 조절하는 하드디스크 드라이브 및그 방법
US6788489B1 (en) Employing off-track capability in data access operations in a direct access storage device
JP4184190B2 (ja) ヘッド制御方法および記録装置
JP2001154809A (ja) ディスク装置
JP2005025829A (ja) ディスク記憶装置及びデータストリーム制御方法
US7451261B2 (en) Data storage device and control method with buffer control thereof
US20060164747A1 (en) Method of determining format parameters of HDD
JP2007280566A (ja) ディスク記録面のイレーズ処理方法及びディスク・ドライブ装置
JP4971907B2 (ja) ディスクの回転スリップによるデータセクターの位相補正方法およびディスクドライブ装置
US6678106B2 (en) Determining data sector splits across servo bursts in a disc drive
US7466505B2 (en) Dummy write method for improving performance of data storage system and apparatus therefor
JP2009230789A (ja) 記憶装置、記憶装置制御方法
US7649705B2 (en) Data read retry with read timing adjustment for eccentrity of disc in data storage device
JPH1092116A (ja) データ記録再生装置及び同装置におけるスペアトラック配置方法
US8009376B2 (en) Disk drive device and method for determining data track format of the disk drive device
JP2007058988A (ja) データ記憶装置及びそのユーザ・データの書き込み制御方法
JP2008021351A (ja) メディア上のセクタをリアサインする方法及びデータ記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908