(57)【要約】磁気ヘッドがオン・トラックしたセクタから１トラックのアクセスを行なう。１トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定する。また、１トラックのどのセクタからでもアクセスを行なうことによって、回転待ちをなくす。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。また、トラック単位のアクセス動作を実現するためのセクタ・フォーマットを利用する。したがって、ランダム・アクセス時におけるシーク時間と回転待ち時間を短縮するとともに、ディスク・ドライブのデータ転送速度を保証することができる。
2003071534.tif 000002
【特許請求の範囲】
【請求項１】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス手段と、
を具備することを特徴とするデータ・アクセス制御装置。
【請求項２】
前記データ・アクセス手段は、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振る、
ことを特徴とする請求項１に記載のデータ・アクセス制御装置。
【請求項３】
前記データ・アクセス手段は、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する、
ことを特徴とする請求項２に記載のデータ・アクセス制御装置。
【請求項４】
データをエラー訂正するためのエラー訂正コードを生成するとともにエラー訂正コードに基づいてデータをエラー訂正するエラー訂正手段をさらに備え、
前記データ・アクセス手段は、書き込みアクセス時には、各セクタに対して、相対位置アドレスと、データ本体と、相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲とするエラー訂正コードを書き込む、
ことを特徴とする請求項２に記載のデータ・アクセス制御装置。
【請求項５】
データをエラー訂正するためのエラー訂正コードを生成するとともにエラー訂正コードに基づいてデータをエラー訂正するエラー訂正手段をさらに備え、
前記データ・アクセス手段は、書き込みアクセス時には、各セクタに対して、データ本体と、相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲とするエラー訂正コードを書き込む、
ことを特徴とする請求項２に記載のデータ・アクセス制御装置。
【請求項６】
前記データ・アクセス手段は、読み出しアクセス時には、各セクタから読み出したデータを前記エラー訂正手段によりエラー訂正することにより再生成される相対位置アドレスに基づいてデータの再配置を行なう、
ことを特徴とする請求項５に記載のデータ・アクセス制御装置。
【請求項７】
トラック上には所定の間隔でサーボ領域が配設され、セクタは固定長であり、一部のセクタはサーボ領域をまたいで形成されており、
前記データ・アクセス手段は、該シークされたトラック上でサーボ領域をまたがらずに形成されたセクタをアクセス可能な先頭のセクタとする、
ことを特徴とする請求項１に記載のデータ・アクセス制御装置。
【請求項８】
トラック上には所定の間隔でサーボ領域が配設され、セクタは可変長であり、すべてのセクタはサーボ領域をまたがないように形成されており、
前記データ・アクセス手段は、該シークされたトラック上でサーボ領域通過直後のセクタをアクセス可能な先頭のセクタとする、
ことを特徴とする請求項１に記載のデータ・アクセス制御装置。
【請求項９】
半径位置に応じてトラック上のセクタ数が相違するゾーン・ビット・レコーディング方式を採用する、
ことを特徴とする請求項１に記載のデータ・アクセス制御装置。
【請求項１０】
トラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう第２のデータ・アクセス手段をさらに備え、
前記ディスク型の記録媒体の記憶領域を、前記データ・アクセス手段によってトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なう領域と、前記第２のデータ・アクセス手段によってトラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう領域に分割して用いる、
ことを特徴とする請求項１に記載のデータ・アクセス制御装置。
【請求項１１】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行なうデータ・アクセス手段と、
前記データ・アクセス手段によるトラックのシーク距離とシーク時間の関係を決定する手段と、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御手段と、
を具備することを特徴とするデータ・アクセス制御装置。
【請求項１２】
前記のシーク距離とシーク時間の関係を決定する手段は、ディスク・ドライブにおいてシーク距離を変えてシーク動作を行ない、シーク時間を計測することにより前記のシーク距離とシーク時間の関係を作成する、
ことを特徴とする請求項１１に記載のデータ・アクセス制御装置。
【請求項１３】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行なうデータ・アクセス手段と、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御手段と、
を具備することを特徴とするデータ・アクセス制御装置。
【請求項１４】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス手段と、
ライト要求コマンドを受領するコマンド受領手段と、
書き込みデータを受領するデータ受領手段と、
受領したデータを一時的に保持するキャッシュと、
前記記録媒体へのデータの書き込み動作を制御するデータ書き込み制御手段とを備え、
前記データ書き込み制御手段は、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、前記データ・アクセス手段による１トラック分のライト・アクセスを起動する、
を具備することを特徴とするデータ・アクセス制御装置。
【請求項１５】
前記制御手段は、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続するが、アクセス範囲が１トラックを越えない場合は、ライト要求されたデータを前記キャッシュに登録する、
ことを特徴とする請求項１４に記載のデータ・アクセス制御装置。
【請求項１６】
前記データ書き込み制御手段は、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合は、同一のライト要求コマンドが再度行なわれたことに応答して、データの書き込みを行なう、
ことを特徴とする請求項１４に記載のデータ・アクセス制御装置。
【請求項１７】
前記データ書き込み制御手段は、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合であって、該ライト要求されたデータ範囲に書き込みデータが収まらないときには、次のアクセスを期待する領域をライト要求元に報告する、
ことを特徴とする請求項１４に記載のデータ・アクセス制御装置。
【請求項１８】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス・ステップと、
を具備することを特徴とするデータ・アクセス制御方法。
【請求項１９】
前記データ・アクセス・ステップでは、書き込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振る、
ことを特徴とする請求項１８に記載のデータ・アクセス制御方法。
【請求項２０】
前記データ・アクセス・ステップでは、読み出しアクセス時には、トラック上の各セクタから読み出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する、
ことを特徴とする請求項１９に記載のデータ・アクセス制御方法。
【請求項２１】
セクタの相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲としてエラー訂正コードを生成するステップをさらに備え、
前記データ・アクセス・ステップは、書き込みアクセス時には、各セクタに対して、相対位置アドレスと、データ本体と、エラー訂正コードを書き込む、
ことを特徴とする請求項１９に記載のデータ・アクセス制御方法。
【請求項２２】
セクタの相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲としてエラー訂正コードを生成するステップをさらに備え、
前記データ・アクセス・ステップは、書き込みアクセス時には、各セクタに対して、データ本体と、エラー訂正コードを書き込む、
ことを特徴とする請求項１９に記載のデータ・アクセス制御方法。
【請求項２３】
前記データ・アクセス・ステップは、読み出しアクセス時には、各セクタから読み出したデータをエラー訂正することにより再生成される相対位置アドレスに基づいてデータの再配置を行なう、
ことを特徴とする請求項２２に記載のデータ・アクセス制御方法。
【請求項２４】
トラック上には所定の間隔でサーボ領域が配設され、セクタは固定長であり、一部のセクタはサーボ領域をまたいで形成されており、
前記データ・アクセス・ステップでは、該シークされたトラック上でサーボ領域をまたがらずに形成されたセクタをアクセス可能な先頭のセクタとする、
ことを特徴とする請求項１８に記載のデータ・アクセス制御方法。
【請求項２５】
トラック上には所定の間隔でサーボ領域が配設され、セクタは可変長であり、すべてのセクタはサーボ領域をまたがないように形成されており、
前記データ・アクセス・ステップでは、該シークされたトラック上でサーボ領域通過直後のセクタをアクセス可能な先頭のセクタとする、
ことを特徴とする請求項１８に記載のデータ・アクセス制御方法。
【請求項２６】
半径位置に応じてトラック上のセクタ数が相違するゾーン・ビット・レコーディング方式を採用する、
ことを特徴とする請求項１８に記載のデータ・アクセス制御方法。
【請求項２７】
トラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう第２のデータ・アクセス・ステップをさらに備え、
前記ディスク型の記録媒体の記憶領域を、前記データ・アクセス・ステップによってトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なう領域と、前記第２のデータ・アクセス・ステップによってトラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう領域に分割して用いる、
ことを特徴とする請求項１８に記載のデータ・アクセス制御方法。
【請求項２８】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
前記データ・アクセス・ステップにおけるトラックのシーク距離とシーク時間の関係を決定するステップと、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御ステップと、
を具備することを特徴とするデータ・アクセス制御方法。
【請求項２９】
前記のシーク距離とシーク時間の関係を決定するステップでは、ディスク・ドライブにおいてシーク距離を変えてシーク動作を行ない、シーク時間を計測することにより前記のシーク距離とシーク時間の関係を作成する、
ことを特徴とする請求項２８に記載のデータ・アクセス制御方法。
【請求項３０】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御ステップと、
を具備することを特徴とするデータ・アクセス制御方法。
【請求項３１】
ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス・ステップと、
ライト要求コマンドを受領するコマンド受領ステップと、
書き込みデータを受領するデータ受領ステップと、
受領したデータを一時的にキャッシュに保持するステップと、
前記記録媒体へのデータの書き込み動作を制御するデータ書き込み制御ステップとを備え、
前記データ書き込み制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、１トラック分のライト・アクセスを起動する、を具備することを特徴とするデータ・アクセス制御方法。
【請求項３２】
前記制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続するが、アクセス範囲が１トラックを越えない場合は、ライト要求されたデータを前記キャッシュに登録する、
ことを特徴とする請求項３１に記載のデータ・アクセス制御方法。
【請求項３３】
前記データ書き込み制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合は、同一のライト要求コマンドが再度行なわれたことに応答して、データの書き込みを行なう、
ことを特徴とする請求項３１に記載のデータ・アクセス制御方法。
【請求項３４】
前記データ書き込み制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合であって、該ライト要求されたデータ範囲に書き込みデータが収まらないときには、次のアクセスを期待する領域をライト要求元に報告する、
ことを特徴とする請求項３１に記載のデータ・アクセス制御方法。
【請求項３５】
略同心円状に複数のトラックが形成され且つ各トラックは複数のセクタに分割されてなるディスクのデータ面上でトラックをシークしてトラック上でデータへのアクセス行なうタイプのディスク型記録装置の動作を制御するコントローラであって、
目的とするトラックへのシークを命令する手段と、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを命令する手段と、
を具備することを特徴とするコントローラ。
【請求項３６】
略同心円状に複数のトラックが形成され且つ各トラックは複数のセクタに分割されてなるディスクのデータ面上でトラックをシークしてトラック上でデータへのアクセス行なうタイプのディスク型記録装置の動作を制御するコントローラであって、
目的とするトラックへのシークを命令する手段と、
該シークされたトラック上でのアクセスを命令する手段と、
トラックのシーク距離とシーク時間の関係を決定する手段と、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御手段と、
を具備することを特徴とするコントローラ。
【請求項３７】
略同心円状に複数のトラックが形成され且つ各トラックは複数のセクタに分割されてなるディスクのデータ面上でトラックをシークしてトラック上でデータへのアクセス行なうタイプのディスク型記録装置の動作を制御するコントローラであって、
目的とするトラックへのシークを命令する手段と、
該シークされたトラック上でのアクセスを命令する手段と、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御手段と、
を具備することを特徴とするコントローラ。
【請求項３８】
略同心円状に複数のトラックが形成され且つ各トラックは複数のセクタに分割されてなるディスクのデータ面上でトラックをシークしてトラック上でデータへのアクセス行なうタイプのディスク型記録装置の動作を制御するコントローラであって、
ライト要求コマンドを受領処理するコマンド受領手段と、
書き込みデータを受領処理するデータ受領手段と、
受領したデータを一時的に保持するキャッシュと、
ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、１トラック分のライト・アクセスを命令する手段と、
を具備することを特徴とするコントローラ。
【請求項３９】
略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス・ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【請求項４０】
略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
前記データ・アクセス・ステップにおけるトラックのシーク距離とシーク時間の関係を決定するステップと、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【請求項４１】
略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【請求項４２】
略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
ライト要求コマンドを受領するコマンド受領ステップと、
書き込みデータを受領するデータ受領ステップと、
受領したデータを一時的にキャッシュに保持するステップと、
前記記録媒体へのデータの書き込み動作を制御するデータ書き込み制御ステップとを備え、
前記データ書き込み制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、１トラック分のライト・アクセスを起動する、を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
［技術分野］
本発明は、ランダム・アクセス可能な記録媒体のためのデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムに係り、特に、ハード・ディスクのようにメディアとしての磁気ディスク上で磁気ヘッドをスキャンさせながらデータの読み書き動作を行なうディスク型の記録媒体のためのデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムに関する。
さらに詳しくは、本発明は、所望のデータ記憶場所へのアクセス時間の短縮を図ったデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムに係り、特に、回転待ちを発生することなく且つ無駄な先読みによるシーク起動の遅れを生じないデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムに関する。
［背景技術］
情報処理や情報通信など情報技術の発達とともに、過去に作成・編集した情報を再利用する必要が生じ、このために情報蓄積技術はますます重要となってきている。いままで、磁気テープや磁気ディスクなどさまざまなメディアを利用した情報記録装置が開発され普及している。
このうちハード・ディスク・ドライブ（ＨＤＤ）は、磁気記録方式の補助記憶装置である。ドライブ・ユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。メディアには、例えば、酸化鉄やコバルト・クロムなどの磁性体がメッキや薄膜生成によって塗布されている。そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書き込みを行ない、あるいはデータを読み出すことができる。
ハード・ディスクは既に広汎に普及している。例えば、パーソナル・コンピュータ用の標準的な外部記憶装置として、コンピュータを起動するために必要なオペレーティング・システム（ＯＳ）やアプリケーションなど、さまざまなソフトウェアをインストールしたり、作成・編集したファイルを保存したりするためにハード・ディスクが利用されている。通常、ハード・ディスク・ドライブは、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などの標準的なインターフェースを介してコンピュータ本体に接続され、その記憶空間は、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）などの、ホスト側のオペレーティング・システムのサブシステムであるファイル・システムによって管理される。
最近では、ハード・ディスク・ドライブの大容量化が進んできている。これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたＡＶコンテンツを蓄積するハード・ディスク・レコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
ここで、コンピュータ用補助記憶装置として使用される場合を例にとって、ハード・ディスクの物理フォーマット方法やハード・ディスクへのデータ読み書きオペレーションについて考察してみる。
ハード・ディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、例えば、ディスクの最外周から内周に向かって０，１，…とトラック番号が割り振られる。一般に、ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
さらに、各トラックは、記録単位である「セクタ」に分割される。ディスクに対する通常のデータ読み書き動作はセクタ単位で行なわれる。セクタ・サイズはメディア毎に相違するが、ハード・ディスクのセクタは一般に５１２バイトとされている。また、メディアの使用効率を考慮して、各トラック上の記録密度をほぼ均一にするために、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けている。これを”Ｚｏｎｅ  Ｂｉｔ  Ｒｅｃｏｒｄｉｎｇ”（ゾーン・ビット・レコーディング）方式と呼ぶ。
ゾーン・ビット・レコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる反面、トラック毎のデータ転送速度が不均一となる（内周方向に進むにつれデータ転送速度が低くなる）という問題がある。
図２６には、ハード・ディスクの記録面の構造を模式的に示している。図示のように、ハード・ディスク・ドライブでは同心円状のトラックによるアクセスを行なうので、最長で１トラックのアクセスを行なうと必ず次のトラックを探すシーク動作を行なわなければならない。
また、数枚のメディアが同心円状に重なって構成されているハード・ディスク・ドライブの場合、各メディアの同じ番号のトラックは円筒状に配置されていると捉えることができ、これを「シリンダ」と呼ぶ。各シリンダには、トラック番号と同じ番号が割り振られ、例えば、最外周から順にシリンダ０，シリンダ１，…となる。この結果、トラックは、シリンダ番号とメディアに対応するヘッドの番号より特定することができるようになる。各メディア間に挿設された複数のヘッドは常に一体となって作動して、シリンダ間を移動する。
目的となるセクタを指定（アドレス）する方式としてＣＨＳモードを挙げることができる。これは、ディスク上のＰＢＡ（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ：物理ブロック・アドレス）を、Ｃ（Ｃｙｌｉｎｄｅｒ）、Ｈ（Ｈｅａｄ）、Ｓ（Ｓｅｃｔｏｒ）の順に指定することによって、所望のデータにアクセスするアドレッシング方式のことである。
一方、ＣＨＳ方式では、ハード・ディスク・ドライブに対するホストとして動作するコンピュータ本体側では、指定できるＣＨＳパラメータに限界があり、ハード・ディスクの大容量化に対応できなくなってくる。このため、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ：論理ブロック・アドレス）モードが採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号（ＣＨＳ）を０から始まるＬＢＡという論理的な通し番号で表現するものである。
従来のハード・ディスク・ドライブでは、メディアにアクセスしてデータを読み書きするためには、まず、磁気ヘッドが目的とするセクタのあるトラックに到達するために、磁気ヘッドをディスク面上で半径方向に向かって走査させる。これを磁気ヘッドの「シーク」動作と呼ぶ。次いで、トラック上で目的のセクタに到達するために、メディアが回転して、目的のセクタが磁気ヘッドの真下に来るまで待つ。これを「回転待ち」と呼ぶ。
ディスクの大容量化に伴い、トラック密度が増大してトラック幅が極めて狭くなる。したがって、データを正確に書き込み及び再生するためには、磁気ヘッドの位置決めは高い精度が要求される。そこで、磁気ヘッドの位置を常にトラックの中心に合わせるというサーボ技術が採用されている。各トラック上に「サーボ・パターン」と呼ばれる信号を一定間隔で書き込んでおき、これを磁気ヘッドで読むことにより、磁気ヘッドがトラックの中心にあるかどうかをチェックすることができる（ディスクのデータ面上に存在するサーボ領域をヘッドが通過し、そのサーボ・パターンの信号を積分することによって、オン・トラックであるかどうかを判断する）。サーボ・パターンは、ハード・ディスク・ドライブの製造工程で高精度に書き込まれる。図２７には、トラック上にサーボ・パターンが書き込まれたサーボ領域が配設されている様子を図解している。サーボ領域には、例えば、ヘッドの位置決めのための信号と、シリンダ番号、ヘッド番号、サーボ番号などが書き込まれている。
従来の多くのハード・ディスク・ドライブは、ＩＤＥやＳＣＳＩなどコンピュータとの接続を目的としたインターフェースを持っている。そして、コンピュータ本体からのディスク・ドライブ制御は、インターフェースで定義されているコマンド・セットを用いて、先頭アドレスとセクタ数を指定することを基本動作とする。
この場合、ハード・ディスク・ドライブ側では、指定されたアドレスからのアクセスを行なうとともに、その後アクセスされるセクタを予測して先読みを行なうシーケンスを作成しながらアクセスを行なうことができる。
この先読みという動作は、一連のデータに対して連続するアドレスが割り振られていることを前提としている。通常、連続するアドレスは、連続するヘッド番号あるいはトラック番号に存在する。
例えば映像などの大きなデータがメディア上に連続して書き込まれている場合には、読み出し時の先読み動作が有効に働く。
これに対し、記憶領域のフラグメンテーションが進行して、大きなデータが小さく断片化されて複数の場所に分散しているような場合には、読み出し時の先読みは別のデータを指してしまい、有効に働くことができない。このような現象は、データの読み書きを要求するホスト（コンピュータ本体など）側が取り扱うファイル構造を、ハード・ディスク・ドライブ側が把握していないことから起きるとも言える。
また、ホスト側からの新たなアクセス要求によってその予測が外れた場合、ディスク・ドライブは、その要求されるデータの存在するアドレスが含まれるトラックへシークを行ない、トラッキングが完了すると目的のアドレスのアクセスが可能となるのを待つ。ここで、シーク時間と回転待ち時間が発生する。
先読みデータの保存はデータ・バッファの容量が許容する限りである。予測が外れる場合が連続的あるいは散発的に発生すると、データ・バッファ上の使われていない古いデータから順に破棄されることとなる。また、この先読みを行なっている間はシーク起動ができない。
上記から、シーク時間と回転待ち時間、無効な先読みによるシーク起動の遅れによる時間の損失、並びに無効な先読みによるデータの損失が発生していると言える。
通常のディスク・ドライブでは、このシーク時間と回転待ち時間を短縮するために、ディスクの回転数を上げることが行われている。これは、コンピュータなどのホスト側で扱われるデータ量やデータ構造に規則性がないため、アクセス方法による改善を行なうことが困難であるからである。また、このようなディスク・アクセス方式では、電力消費や記憶容量の面でも問題が発生してしまう。
また、リード時のアクセス改善としては、特開昭５８−３３７６７号公報に記載のように、データ・バッファを利用し、アクセス要求の開始セクタでない位置からのリードを行なう方法が知られている。
さらに、Ｊｉｒｉ  Ｓｃｈｉｎｄｌｅｒ  ｅｔ，ａｌ．”Ｔｒａｃｋ−ａｌｉｇｎｅｄ  Ｅｘｔｅｎｔｓ：Ｍａｔｃｈｉｎｇ  Ａｃｃｅｓｓ  Ｐａｔｔｅｒｎｓ  ｔｏ  Ｄｉｓｋ  Ｄｒｉｖｅ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ”（Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ＦＡＳＴ  Ｊａｎｕａｒｙ  ２８−３０，２００２，Ｍｏｎｔｅｒｅｙ，ＣＡ．）に記載のように、ホストからトラック単位のアクセスを行なうことによってアクセス改善されることが知られている。
［発明の開示］
本発明の目的は、メディアとしての磁気ディスク上で磁気ヘッドをスキャンさせながらデータの読み書き動作を好適に行なうことができる、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、所望のデータ記憶場所へのアクセス時間の短縮を図った、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、回転待ちを発生することなく且つ無駄な先読みによるシーク起動の遅れを生じない、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、メディアとしてのディスク上のデータ構造やディスク・アクセス方法を改良することにより、ランダム・アクセス時におけるシーク時間や回転待ち時間を短縮することができる、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することにある。
本発明は、上記やその他の技術的課題を参酌してなされたものであり、その第１の側面は、ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置又はデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段又はステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス手段又はステップと、
を具備することを特徴とするデータ・アクセス制御装置又はデータ・アクセス制御方法である。
本発明の第１の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法は、例えばハード・ディスク・ドライブなどの磁気ディスク型の記録媒体に適用することができる。この場合、ディスクの表面に略同心円状に複数のトラックを形成し、各トラックを複数のセクタに分割している。そして、回転中のディスクに対して半径方向に磁気ヘッドを移動させて目的とするトラックをシークするとともに、回転方向に従ってトラック上のセクタにアクセスすることができる。
従来のハード・ディスク・ドライブにおいては、トラックのシークが完了した後、トラック上でアクセス要求された先頭のセクタが到来するまで回転待ちを生じる。また、その後にアクセスされるセクタを予測して先読みを行なうが、ディスク上で既にフラグメンテーションが進行している場合などには先読みが無駄になってしまう。
これに対し、本発明の第１の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法によれば、磁気ヘッドがオン・トラックしたセクタから１トラック分のアクセスを行なう。すなわち、１トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。また、トラックのどのセクタからでもアクセスを行なうことができるので、シーク直後の任意のヘッド位置から読み書きを行なうことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
従来のハード・ディスク・ドライブにおいては、トラックやセクタに対してあらかじめ割り振られている絶対位置アドレスに基づいて、データ・アクセスが行なわれる。これに対し、本発明の第１の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法では、書き込みアクセス時に、トラック上でアクセスを開始したセクタから順番に相対位置アドレスが割り振られる。
したがって、本発明によれば、書き込み要求元（例えば、ハード・ディスク・ドライブに接続されているコンピュータなどのホスト装置）は、ディスク上の書き込み先のアドレスを意識する必要はない。他方、読み出しアクセス時には、トラック上の各セクタから読み出したデータを、例えばバッファ・メモリ上で相対位置アドレスに従って再配置することによって、アクセスを開始したセクタの位置に拘わらず、元のデータを組み立てることができる。また、データ・サイズが短くて済む相対位置アドレスを用いることにより、記憶領域の有効利用を図ることができる。
また、本発明の第１の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法は、データをエラー訂正するためのエラー訂正コードを生成するとともにエラー訂正コードに基づいてデータをエラー訂正するエラー訂正手段又はステップをさらに備えていてもよい。
このような場合、各セクタには、相対位置アドレスと、データ本体と、相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲とするエラー訂正コードを書き込むようにしてもよい。あるいは、各セクタには、各セクタに対して、データ本体と、相対位置アドレスとデータ本体及びエラー訂正コードをエラー訂正範囲とするエラー訂正コードを書き込むようにしてもよい。
後者の場合、読み出しアクセス時には、各セクタから読み出したデータを前記エラー訂正手段によりエラー訂正することにより相対位置アドレスを再生成して、これに基づいてデータの再配置を行なうようにすればよい。また、相対位置を書き込みデータから取り除くことによって、ディスクの記憶領域の有効利用にもつながる。
通常、ハード・ディスクのトラック上には、磁気ヘッドがトラックの中心に来るようにサーボ制御するためのサーボ領域が所定の間隔で配設されている。
セクタを固定長にしたときには、一部のセクタはサーボ領域をまたぐようにして形成される。このような場合、前記データ・アクセス手段又はステップは、該シークされたトラック上でサーボ領域をまたがらずに形成されたセクタをアクセス可能な先頭のセクタとすることができる。
また、セクタを可変長とすることによって、すべてのセクタはサーボ領域をまたがないように形成することもできる。このような場合、前記データ・アクセス手段又はステップは、該シークされたトラック上でサーボ領域通過直後のセクタをアクセス可能な先頭のセクタとすることができる。
また、ディスクの記憶領域に区画を設けて、トラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なう領域と、従来通り、トラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう領域の双方を用意するようにしてもよい。
また、本発明の第２の側面は、ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置又はデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段又はステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス手段又はステップと、
前記データ・アクセス手段又はステップによるトラックのシーク距離とシーク時間の関係を決定する手段又はステップと、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御手段又はステップと、
を具備することを特徴とするデータ・アクセス制御装置又はデータ・アクセス制御方法である。
本発明の第２の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法では、シーク時間が回転待ち時間を越えない範囲での複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうようにした。
すなわち、１トラックのライトが終了したサーボ・フレームから、平均回転待ち時間を越えないシークを行ない、その時間をトラック・スキューとする。ディスクへのデータ書き込み動作を行なうときには、トラック・スキューを考慮しながら連続する論理ブロック・アドレスをディスク上に配置していくことによって、複数トラックにまたがる連続アクセスを行なう際のデータ転送速度を均一にすることができる。
特開平９−１８５８６４号公報には、ヘッドの平均移動距離での回転待ち時間が短くなるスキューを決定し、このスキューに基づいてデータの記録位置を決定し、アクセス要求をスケジューリングすることが述べられている。前記のトラック・スキューの決定に点いては、例えば、これと類似の方法を採用することができる。
ディスクへのデータ書き込み時にシーク時間又はトラック・スキューが所定値を越えない範囲で連続する論理ブロック・アドレスが各トラックに逐次割り当てられていく。したがって、どのトラックへシークしても、連続アクセス動作中におけるトラックのシーク時間を均一化して、回転待ち時間を最小限にすることが可能になる。
ここで、前記のシーク距離とシーク時間の関係を決定する手段又はステップは、ディスク・ドライブにおいてシーク距離を変えてシーク動作を行ない、シーク時間を計測することにより前記のシーク距離とシーク時間の関係を作成することができる。
また、本発明の第３の側面は、ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置又はデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段又はステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス手段又はステップと、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御手段又はステップと、
を具備することを特徴とするデータ・アクセス制御装置又はデータ・アクセス制御方法である。
本発明の第３の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法によれば、ＬＢＡとＣＨＳの組み合わせが一通りではなく、ディスク・ドライブ個体差やドライブ動作状況に応じてトラック上のセクタ配置を変化させることによって、最適なセクタ配置を行なうことができる。
ライト時において、直前にアクセスを行なっていたトラックからＭトラックだけシークする場合、次の目的トラック上でのアクセス開始セクタの物理セクタ位置は、直前のトラックのそれに対しＭトラック・シーク時のスキュー分だけずれた位置となる。つまり、直前にアクセスを行なっていたトラックからのシーク距離のような要因によって、ライト時には、トラック・フォーマットが変化することを意味する。
また、本発明の第４の側面は、ディスク型の記録媒体に対するアクセスを制御するデータ・アクセス制御装置又はデータ・アクセス制御方法であって、
前記ディスク型の記録媒体は略同心円状に複数のトラックが形成されているとともに、各トラックは複数のセクタに分割されており、
目的とするトラックをシークするシーク手段又はステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス手段又はステップと、
ライト要求コマンドを受領するコマンド受領手段又はステップと、
書き込みデータを受領するデータ受領手段又はステップと、
受領したデータを一時的に保持するキャッシュ又はステップと、
前記記録媒体へのデータの書き込み動作を制御するデータ書き込み制御手段又はステップとを備え、
前記データ書き込み制御手段又はステップは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、前記データ・アクセス手段又はステップによる１トラック分のライト・アクセスを起動する、
を具備することを特徴とするデータ・アクセス制御装置又はデータ・アクセス制御方法である。
本発明に係るデータ・アクセス制御装置又はデータ・アクセス制御方法では、１トラック単位でのアクセスを行なうので、１トラック当たりのセクタ数がアクセス単位で割り切れずに、余ってしまう空き領域すなわち「ブランク・エリア」が発生する。ブランク・エリアを静止画や通常のコンピュータ・ファイルなどのリアルタイム性を要求しないデータに割り当てることが得策であると思料される。
そこで、本発明の第４の側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法では、連続した領域として確保できないブランク・エリアに対する連続記録を要求するアクセスが行なわれると、ハード・ディスク・ドライブは、使用できない領域であることと、次にアクセスを期待するトラックの先頭論理ブロック・アドレスを報告するようにして、次のライト・アクセスがこの報告したトラックからアクセスが行なわれることを期待する。
ここで、前記データ書き込み制御手段又はステップは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合は、同一のライト要求コマンドが再度行なわれたことに応答して、データの書き込みを行なうようにしてもよい。すなわち、同一のライト要求が２度目である場合には、ホスト側が、本発明の第４の側面に係るハード・ディスク・ドライブに対応していないと推測されるので、従来のハード・ディスク・ドライブと同様のデータ書き込み動作を行なうようにする。
また、前記データ書き込み制御手段又はステップは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続しない場合であって、該ライト要求されたデータ範囲に書き込みデータが収まらないときには、次のアクセスを期待する領域をライト要求元に報告するようにしてもよい。
また、本発明の第５の側面は、略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なうデータ・アクセス・ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
また、本発明の第６の側面は、略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
前記データ・アクセス・ステップにおけるトラックのシーク距離とシーク時間の関係を決定するステップと、
データ書き込み時に、前記のシーク距離とシーク時間の関係を考慮しながら、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうデータ書き込み制御ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
また、本発明の第７の側面は、略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
目的とするトラックをシークするシーク・ステップと、
該シークされたトラック上でアクセスを行なうデータ・アクセス・ステップと、
データ書き込み時に、オン・トラックとなったサーボ領域の直後のセクタを当該トラックにおけるアクセスの開始セクタとするデータ書き込み制御ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
また、本発明の第８の側面は、略同心円状に複数のトラックが形成されているとともに各トラックは複数のセクタに分割されてなるディスク型の記録媒体に対するアクセスの制御をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
ライト要求コマンドを受領するコマンド受領ステップと、
書き込みデータを受領するデータ受領ステップと、
受領したデータを一時的にキャッシュに保持するステップと、
前記記録媒体へのデータの書き込み動作を制御するデータ書き込み制御ステップとを備え、
前記データ書き込み制御ステップでは、ライト要求されたデータの範囲が前記キャッシュに保持されているデータの範囲と連続し、且つ、アクセス範囲が１トラックを越えたことに応答して、１トラック分のライト・アクセスを起動する、を具備することを特徴とするコンピュータ・プログラムである。
本発明の第５乃至第８の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第５乃至第８の各側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１乃至第４の各側面に係るデータ・アクセス制御装置又はデータ・アクセス制御方法と同様の作用効果を得ることができる。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
［発明を実施するための最良の形態］
以下、図面を参照しながら本発明の実施形態について詳解する。
Ａ．第１の実施形態
図１には、本発明の一実施形態に係るハード・ディスク・ドライブ１０の全体構成を模式的に示している。
同図に示すように、ハード・ディスク・ドライブ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ディスク・コントローラ１３と、バッファＲＡＭ１４と、データ読み書き制御部１５と、サーボ制御部１６とを備えている。
ＣＰＵ１１は、ＲＯＭ１２に格納されている制御コードを実行して、ドライブ１０内の動作を統括的にコントロールする。
ディスク・コントローラ１３は、インターフェース１７を介して接続されるホスト（図示しない）からコマンドを受け取る。ＣＰＵ１１はこのコマンド処理を行ない、ディスク・コントローラ１３はコマンド処理結果に従って、データ読み書き制御部１５やサーボ制御部１６に対するハードウェア操作を指示する。
インターフェース１７経由でホストから受け取った書き込みデータや、ディスク２１から読み取ってホストに渡されるデータは、バッファＲＡＭ１４に一時的に格納される。
データ読み書き制御部１５は、記録メディアとしての磁気ディスク２１表面を走査する磁気ヘッド２２を介したデータの読み書き動作、並びに、書き込みデータの変調処理、読み出しデータの復調処理を行なう。
サーボ制御部１６は、磁気ヘッド２２を搭載したアームを移動するボイス・コイル・モータ（ＶＣＭ）２３、及び磁気ディスクを回転させるスピンドル・モータ（ＳＰＭ）２４の同期的駆動させて、磁気ヘッド２２が磁気ディスク２１上の目的とするトラック上の所定範囲内に到達するように制御する。さらに、磁気ディスク２１上のサーボ・パターン（前述）よりヘッド位置を所定の位置にシークさせるための制御を行なう。
磁気ディスク２１上には、データを記録するための区画である多数のトラックが同心円状に形成され、ディスク２１の最外周から内周に向かって０，１，…とトラック番号が割り振られている。また、各トラックは、さらにセクタ毎に分割されており、このセクタ単位がデータ読み書き動作の可能な最小単位となっている。
セクタ内のデータ量は例えば５１２バイトで固定である。実際に記録されているセクタには、データ本体に加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
１周当たりのセクタ数については、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けるＺＢＲ（Ｚｏｎｅ  Ｂｉｔ  Ｒｅｃｏｒｄｉｎｇ）方式を採用する。すなわち、磁気ディスク２１の全集に渡るトラック毎のセクタ数は均一ではなく、磁気ディスク２１を半径方向に複数のゾーンに区切り、各ゾーン内においては同じセクタ数となるように設定する。
ゾーン・ビット・レコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる反面、トラック毎のデータ転送速度が不均一（内周方向に進むにつれデータ転送速度が低くなる）という問題がある。
なお、図示しないが、ドライブ・ユニット内には、数枚の磁気ディスク（プラッタ）が同心円状に重なって構成することもでき、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され（シリンダ）、トラック番号と同じシリンダ番号で指定される。
本発明に係るハード・ディスク・ドライブ１０では、磁気ヘッド２２がオン・トラックしたセクタから１トラックのアクセスを行なう。同一トラック上のセクタ番号は固定されておらず、相対位置によって与えることができる。これにより、１トラック上のどのセクタからでもアクセスを開始することができる。すなわち、１トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行なう必要がなくして、シーク起動のタイミングを確実に決定することができる。また、１トラックのどのセクタからでもアクセスを行なうことによって、回転待ちを行なわなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間の短縮することができる。
所定のトラックに書き込みを行なう際には、アクセスを開始したセクタから始まる相対位置をセクタに与える。
また、読み出しを行なう際には、アクセスを開始したセクタから読み出しを行ない、相対位置セクタ番号に基づいて、バッファＲＡＭ１４上に展開する。このため、どのセクタから読み出しを始めてもよい。
磁気ディスク２１のフォーマットを上記のように構成することにより、回転待ちを行なわなくて済む。この結果、ディスク２１上の所望のセクタへのアクセス時間の短縮が期待できる。
図２には、本実施形態に係るハード・ディスク・ドライブ１０において、磁気ディスク２１のトラックで利用されるセクタ・フォーマットの一例を模式的に示している。
同図に示すように、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行なうためのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）とで構成され、これら全体をエラー訂正範囲及び記録範囲とする。
一般に、セクタはセクタの番地を記録するためのＩＤフィールドを持つが、絶対位置ではなく相対位置を記録するだけＩＤフィールドのサイズを縮小することができる。その分だけセクタ中でデータ本体に使用可能なフィールド・サイズが大きくなり記憶領域の有効活用になる。
トラックに書き込みを行なうとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、それぞれを当該セクタの相対位置フィールド、データ・フィールド、及びＥＣＣフィールドに記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。
また、読み出しを行なうときには、トラック上でアクセスを開始したセクタから読み出しを行ない、相対位置フィールドによって得られたセクタ位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファＲＡＭ１４上では相対位置に基づいてデータを再配置することによって、トラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
また、図３には、本実施形態に係るハード・ディスク・ドライブ１０において、磁気ディスク２１のトラックで利用されるセクタ・フォーマットの他の例を模式的に示している。
この場合も、上述と同様に、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行なうためのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）とで構成される。但し、これら全体をエラー訂正範囲とするが、図２に示した例と相違し、相対位置フィールドを記録範囲に含まない。したがって、相対位置フィールドがなくなる分だけ、さらに上述した例よりもセクタ中でデータ本体に使用可能なフィールド・サイズが大きくなり記憶領域の有効活用になる。
トラックに書き込みを行なうとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、記録データ及びＥＣＣデータのみを当該セクタ上に記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。
また、読み出しを行なうときには、アクセスを開始したセクタから読み出しを行ない、ＥＣＣを用いてエラー訂正を行なうことによって、セクタには書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファＲＡＭ１４上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
図４には、図２又は図３に示すセクタ・フォーマットを利用した場合のトラック・フォーマットの一例を示している。
磁気ヘッドの位置を常にトラックの中心に合わせるというサーボ制御を実現するために、各トラック上にはサーボ・パターンを書き込んだサーボ領域が一定間隔で配設されている（前述）。ディスクのデータ面上に存在するサーボ領域をヘッドが通過し、そのサーボ・パターンの信号を積分することによって、オン・トラックであるかどうかを判断することができる。サーボ領域には、例えば、ヘッドの位置決めのための信号と、シリンダ番号、ヘッド番号、サーボ番号などが書き込まれている。
図４に示すトラック・フォーマットでは、セクタを固定長とし、一部のセクタはサーボ領域をまたいで形成されている。この場合、アクセス可能な先頭セクタは、目的とするトラックへのシークが行なわれた後、サーボ領域をまたがらずに記録された最初のセクタとなる。
本に係るハード・ディスク・ドライブ１０では、磁気ヘッド２２がオン・トラックしたセクタから１トラックのアクセスを行なう。すなわち、１トラック単位のアクセス動作を行なうので、トラック上でアクセスを開始する先頭のセクタの絶対位置をどこにするかはあまり重要ではない。したがって、アクセス速度を優先して、次のサーボ領域の直後からアクセスするようにしている。
また、図５には、図２又は図３に示すセクタ・フォーマットを利用した場合のトラック・フォーマットの他の例を示している。
同図に示すトラック・フォーマットでは、セクタは可変長であり、各セクタはサーボ領域をまたがないように形成されている。この場合、アクセス可能な先頭セクタは、目的とするトラックへのシークが行なわれた後、最初に通過したサーボ領域の直後のセクタとなる。
データ読み出し時にオン・トラックとなるタイミングは、データ書き込み時と異なるため（オン・トラックの判定が甘いことや、アクセス・シーケンスによって変化するなどの理由に依る）、書き込んたセクタの順番通りに読み出しを行なうことができない。どのサーボ領域を先頭にしても同じタイミングで読み出しを行なうようにするには、すべてのサーボ領域の条件を合わせておくことが良いと思料されるので、図５に示すようにセクタ長を可変としてもよい。
図６には、本実施形態に係るハード・ディスク・ドライブ１０がインターフェース１７経由で接続されたホスト５０からのコマンドによってデータ書き込みを行なうときの通信例を示している。
ホスト５０はディスク・ドライブ１０に対してデータの書き込みコマンドを発行する。これに応答して、ディスク・ドライブ１０は現在のアクセス・シーケンスからシーク時間が最小となるアドレス領域を応答する。
ホスト５０はディスク・ドライブ１０からの応答を受けると、指示されたアドレス領域の大きさ（バイト数，セクタ数など）のデータ・コンテンツを転送する。ディスク・ドライブ１０は、受信したデータ・コンテンツをトラック単位で書き込み動作を行なう。
上述したように、書き込み時のトラック上のアクセス先頭位置を基準に各セクタに相対位置情報を割り振ると、書き込み要求の際、ホスト５０側では、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書き込み場所を意識する必要はなく、またこれらを指示する必要も特にない。
また、ディスク・ドライブ１０側からホスト５０に通知されるアドレス領域は、例えば、ホストからデータ書き込み要求されるコンテンツを識別するコンテンツ番号などの簡素なものでよい。ディスク・ドライブ１０側では、各コンテンツ番号とディスク２１上での物理的な記録場所との変換テーブルを用意しておく。本実施形態では、トラック単位でディスク・アクセスを行なうことから、コンテンツ番号との変換テーブルは、以下のようなものとなる。
【表１】
2003071534.tif 000003
ここで、ＣＨＳ方式のセクタ番号が変換テーブルに含まれていないことに留意されたい。このように、書き込み時のトラック上のアクセス先頭セクタを基準に各セクタに相対位置情報を割り振るようなアドレッシング構成では、読み出し時のトラック上のアクセス先頭セクタに関わらず、各セクタの相対位置情報に基づきデータの再配置が可能となる。このため、変換テーブルにおいて、アクセス開始セクタを指定する必要がないのである。
変換テーブルは、バッファＲＡＭ１４内に書き込まれる。変換テーブルの書き込みは、ホスト５０から書き込みデータを受け取った時点で、ディスク・コントローラ１３又はＣＰＵ１１が実行するソフトウェアによって行なわれる。
また、図７には、本実施形態に係るディスク・ドライブ１０がインターフェース１７経由で接続されたホスト５０からのコマンドによってデータ読み出しを行なうときの通信例を示している。
ホスト５０はディスク・ドライブ１０に対してデータの読み出しコマンドを発行する。読み出しコマンドでは、目的とするコンテンツ番号が指定されている。
これに対し、ディスク・ドライブ１０は、コンテンツ番号に基づいて変換テーブル（［表１］を参照のこと）から目的とするトラックを特定して、磁気ヘッド２２のシーク動作を行なう。そして、データ書き込み時に応答したアドレス領域のシーケンスに従い、ディスク２１上のデータを転送する。
データ読み出し要求の際、ホスト５０側は、所望のコンテンツ番号を指定するだけで、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書き込み場所（ＰＢＡ）を意識する必要はない。
上述したように、本実施形態に係るハード・ディスク・ドライブ１０では、磁気ヘッド２２がオン・トラックしたセクタから１トラック分のアクセスを行なう。１トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。また、トラックのどのセクタからでもアクセスを行なうことができるので、シーク直後の任意のヘッド位置から読み書きを行なうことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
このようなディスク・アクセス・オペレーションは、ディスク・コントローラ１３が、ＣＰＵ１１によるコマンド処理結果に応じて、データ読み書き制御部１５やサーボ制御部１６に対するハードウェア操作を指示する、あるいはＣＰＵ１１による直接的なハードウェア操作でデータ読み書き制御部１５やサーボ制御部１６を駆動することによって実現される。
図８には、ディスク・コントローラ１３の内部構成を図解している。但し、図示のディスク・コントローラ１３は、ＣＰＵ１１によるコマンド処理結果に応じて、データ読み書き制御部１５やサーボ制御部１６に対するハードウェア操作を指示するように構成されている。
同図に示すように、ディスク・コントローラ１３は、マイクロプロセッサ・インターフェース３１と、クロック・コントローラ３２と、ホスト・コントローラ３３と、サーボ・コントローラ３４と、ＥＣＣコントローラ３５と、ディスク・フォーマッタ３６と、バッファ・コントローラ３７とで構成されている。
マイクロプロセッサ・インターフェース３１は、ＣＰＵ１１やＲＯＭ１２との接続インターフェースであり、ホストからのコマンドを通知したり、ＣＰＵ１１からのコマンド処理結果の受信などを行なったりする。
クロック・コントローラ３２は、ディスク・コントローラの各部への動作クロックの供給を行なう。
ホスト・コントローラ３３は、インターフェース１７を介して接続されているホストとの通信を行なう。ホスト・コントローラ３３は、ホストから書き込みデータを受け取った時点で、変換テーブル（［表１］を参照のこと）の書き込みを行なう。本実施形態では、ホストによるアクセス領域の番地指定を行なわない。
サーボ・コントローラ３４は、磁気ヘッド２２を搭載したアームを移動するボイス・コイル・モータ（ＶＣＭ）２３、及び磁気ディスクを回転させるスピンドル・モータ（ＳＰＭ）２４の動作を制御することによって、磁気ヘッド２２を用いて磁気ディスク２１上のサーボ・パターンからサーボ情報を読み取り、この情報を基に、目的のトラックに到達するようにシーク動作をサーボ・コントロールする。
ＥＣＣコントローラ３５は、バッファＲＡＭ１４に一時格納されているデータ（セクタ・データ）のエラー訂正を行なう。すなわち、ディスク２１へのデータ書き込み時には、書き込みデータのＥＣＣを発生して付加したり、ディスク２１からのデータ読み出し時には、ディスク２１から読み出されたデータに付加されているＥＣＣ符号を用いてエラー訂正や相対位置の再生成（前述及び図３を参照のこと）を行なったりする。ＥＣＣコントローラは、任意のセクタ長に対応しているものとする。
ディスク・フォーマッタ３６は、バッファＲＡＭ１４上のデータをディスク２１上のトラックに順次書き込んだり、逆にトラックからデータを読み出したりする。トラックに対するデータの書き込みや読み出しなどのアクセス動作はセクタ単位で行なうことを基本とする。
バッファ・コントローラ３７は、バッファＲＡＭ１４と上述した各機能部ロック間でのデータのやり取りを司る。バッファ・コントローラ３７は、不定のセクタ位置からの動作に対応しているものとする。
本実施形態では、ディスク・フォーマッタ３６は、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対するＥＣＣとで構成されるセクタ・フォーマット（図２を参照のこと）、あるいは、データ本体と、セクタの相対位置を含んだセクタ領域全体のＥＣＣデータとで構成されるセクタ・フォーマット（図３を参照のこと）を採用する。
前者のセクタ・フォーマットの場合、トラックに書き込みを行なうとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、それぞれを当該セクタの相対位置フィールド、データ・フィールド、及びＥＣＣフィールドに記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。読み出し時には、目的とするトラック上でアクセスを開始したセクタから読み出しを行ない、相対位置フィールドによって得られたセクタ位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。したがって、任意のセクタからデータの読み出しを開始しても、バッファＲＡＭ１４上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセス可能な先頭のセクタから読み出しを開始するので、回転待ちする必要がない。
また、後者のセクタ・フォーマットの場合、トラックに書き込みを行なうとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、記録データ及びＥＣＣデータのみを当該セクタ上に記録する。アクセスを開始したセクタから書き込みを開始するので、回転待ちする必要がない。また、読み出し時には、アクセスを開始したセクタから読み出しを行ない、ＥＣＣを用いてエラー訂正を行なうことによりセクタに書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。任意のセクタからデータの読み出しを開始しても、バッファＲＡＭ１４上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセス可能な先頭のセクタから読み出しを開始するので、回転待ちする必要がない。
図２又は図３に示したいずれのセクタ・フォーマットであっても、トラック上のどのセクタからでもアクセス開始が可能であり、シーク直後の任意のヘッド位置から読み書きを行なうことによって回転待ちをなくすことができる、という点を充分理解されたい。
また、本実施形態に係るディスク・フォーマッタ３６は、セクタを固定長とし、一部のセクタはサーボ領域をまたいで形成するというトラック・フォーマット（ズ４を参照のこと）、あるいは、セクタを可変長とし、各セクタはサーボ領域をまたがないように形成するというトラック・フォーマット（図５を参照のこと）を採用することができる。
前者のトラック・フォーマットの場合、アクセス可能な先頭セクタは、目的とするトラックへのシークが行なわれた後、サーボ領域をまたがらずに記録された最初のセクタとなる。また、後者のトラック・フォーマットの場合、アクセス可能な先頭セクタは、目的とするトラックへのシークが行なわれた後、最初に通過したサーボ領域の直後のセクタとなる。いずれのトラック・フォーマットに従う場合であっても、データ・フォーマッタ３６は、１トラックをアクセス単位としており、先読みという不確定な処理をなくし、シーク起動のタイミングを確実に決定することができる。
図９には、本実施形態に係るハード・ディスク・ドライブ１０においてデータ書き込みを行なうときの、ディスク・コントローラ１３内での動作シーケンスを示している。
インターフェース１７経由で接続されているホストは、コンテンツ１に関する書き込み要求コマンドを発行した後、データを転送してきたとする。
ホスト・コントローラ３３は、受信データをバッファ・コントローラ３７に転送するとともに、バッファＲＡＭ１４内の変換テーブル（［表１］を参照のこと）を書き込んで、要求元ホストに対してアクセス範囲の応答を行なう。
バッファ・コントローラ３７は、転送されてきた書き込みデータをバッファＲＡＭ１４内に一時格納する。
ＥＣＣコントローラ３５は、バッファＲＡＭ１４に一時格納されているデータのパリティを生成して、バッファＲＡＭ１４に書き戻す。
バッファ・コントローラ３７は、１トラック分の書き込みデータをバッファＲＡＭ１４から順次読み出して、ディスク・フォーマッタ３６に渡す。ディスク・フォーマッタ３６は、シークが行なわれたトラック上で、トラック単位でディスク書き込みを行なう。このとき、シークされたトラック上では、アクセス可能な先頭のセクタから書き込みを開始するので、回転待ちする必要がない。
また、コンテンツ１に関する書き込みデータがまだバッファＲＡＭ１４に残っている場合には、ＥＣＣコントローラ３５は、次の書き込みデータをバッファＲＡＭ１４から取り出して、パリティを発生して書き戻す。
そして、１トラック分のディスク書き込みが終了すると、バッファ・コントローラ３７に対して書き込み終了通知が発行される。これに応答して、バッファ・コントローラ３７は、１トラック分の書き込みデータをバッファＲＡＭ１４から順次読み出して、ディスク・フォーマッタ３６に渡す。ディスク・フォーマッタ３６は、シークが行なわれたトラック上で、トラック単位でディスク書き込みを行なう（同上）。１トラック分のディスク書き込みが終了すると、バッファ・コントローラ３７に対して書き込み終了通知が発行される。
バッファＲＡＭ１４内の書き込みデータの処理がすべて完了すると、バッファ・コントローラ３７は、その旨をホスト・コントローラ３３に通知する。ホスト・コントローラ３７は、この通知に従って、ディスク・アクセス状態を更新する。また、インターフェース１７経由でホスト側に書き込み完了を通知してもよい。
また、図１０には、本実施形態に係るハード・ディスク・ドライブ１０においてデータ読み出しを行なうときの、ディスク・フォーマッタ１３内での動作シーケンスを示している。
インターフェース１７経由で接続されているホストが、コンテンツ１に関する読み出し要求コマンドを発行してきたとする。
ホスト・コントローラ３３は、読み出し要求コマンドを受信すると、変換テーブル（［表１］を参照のこと）を検索して、読み出し要求されたコンテンツのトラック番号並びにヘッド番号を取り出して、ディスク・フォーマッタ３６に対して該当するトラックからのデータ読み出しを指示する。
ディスク・フォーマッタ３６は、指定されたトラックに磁気ヘッド２２をシークした後、当該トラック上でアクセスを開始したセクタから順次読み出しを行ない、１トラック単位でデータの読み出しを行なう。アクセスを開始したセクタから読み出しを開始するので、回転待ちする必要がない。
読み出された１トラック分のデータは、バッファ・コントローラ３７に送出される。バッファ・コントローラ３７は、ディスク・フォーマッタ３６に対して、次のトラックの読み出しを指示する。
また、バッファ・コントローラ３７は、受信した読み出しデータをＥＣＣコントローラ３５に転送して、エラー訂正を行なう。このとき、図３に示したセクタ・フォーマットを採用しているときには、エラー訂正によりセクタの相対位置が再生成される。そして、バッファ・コントローラ３７は、相対位置に基づいて各セクタのデータをバッファＲＡＭ１４上に展開して、元の順番通りにデータを復元する。
ホスト・コントローラ３３は、このようにしてバッファＲＡＭ１４に展開された読み出しデータをバッファ・コントローラ３７経由で取得して、インターフェース１７経由で要求元ホストに転送する。
本実施形態では、ホストは、ハード・ディスク・ドライブ１０に対するデータ・コンテンツの読み書きを要求する際、シーク先のアドレスを一切意識せずに、所望のコンテンツのみを指定する。ハード・ディスク・ドライブ１０内では、コンテンツとシーク先となるトラック番号との対応関係が変換テーブル（［表１］を参照のこと）によって管理されている。シーク先のトラック番号は、ＣＰＵ１１又はホスト・コントローラ３３によって取得することができる。
図１１には、ＣＰＵ１１によってシーク先のトラック番号を取得する場合の、リード・ライト・オペレーション時のハード・ディスク・ドライブ１０内での動作シーケンスを示している。
ホスト・コントローラ３３は、インターフェース１７経由でホスト側から読み出しコマンドを受信すると、ＣＰＵ１１に対してコンテンツ番号の取得を要求する。
ＣＰＵ１１は、変換テーブルのデータを取得して、ソフトウェアによるアドレス変換を実行して、シーク先となるトラック番号を生成する。
次いで、ＣＰＵ１１は、サーボ・コントローラ１６に対してシーク起動を要求する。サーボ・コントローラ１６は、ボイス・コイル・モータ２３に対する電力制御を行なって、ヘッドのシーク動作を行なう。
また、図１２には、ホスト・コントローラ３３によってシーク先のトラック番号を取得する場合の、リード・ライト・オペレーション時のハード・ディスク・ドライブ１０内での動作シーケンスを示している。
ホスト・コントローラ３３は、インターフェース１７経由でホスト側から読み出しコマンドを受信すると、コンテンツ番号を取得する。そして、バッファ・コントローラ３７から変換テーブルのデータを取得して、ハードウェアによるアドレス変換を実行して、シーク先のトラック番号を取得する。
次いで、ホスト・コントローラ３３は、ＣＰＵ１１は、サーボ・コントローラ１６に対してシーク起動を要求する。サーボ・コントローラ１６は、ボイス・コイル・モータ２３に対する電力制御を行なって、ヘッドのシーク動作を行なう。
図１３には、本実施形態の応用例に係るディスクの記憶領域の構造を模式的に示している。同図に示す例では、ディスク２１の記憶領域は、第１の記憶領域２１Ａと第２の記憶領域２１Ｂに区画されている。
第１の記憶領域２１Ａでは、シリンダ番号（又はトラック番号）、ヘッド番号、セクタ番号などのように、あらかじめ割り振られている絶対アドレスに基づいてアクセスが行なわれる（ＣＨＳ方式）。
一方、第２の記憶領域２１Ｂでは、本発明に従って、書き込みアクセス時においてトラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振られる領域であり、トラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なう（前述）ことができる。
要するに、図１３に示すディスク２１は、従来のアクセス・モードと、本発明に係るアクセス・モードが混在するハイブリッド・タイプのハード・ディスクということができよう。このように、記録領域を使い分けることで、トラックと比較して充分にサイズの大きいデータ（ＡＶコンテンツなど）と、それ以外のデータ（通常のコンピュータ・ファイルなど）をともに、効率的に書き込み及び読み出しを行なうことが可能となる。
Ｂ．第２の実施形態
上述したように、本発明に係るハード・ディスク・ドライブ１０では、磁気ヘッド２２がオン・トラックしたセクタから１トラックのアクセスを行なう。すなわち、１トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行なう必要がなくして、シーク起動のタイミングを確実に決定することができる。また、１トラックのどのセクタからでもアクセスを行なうことによって、回転待ちを行なわなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間の短縮することができる。
上述した第１の実施形態では、ホスト側からはコンテンツを識別するコンテンツ番号などの簡素な識別情報を用いてディスク・ドライブ１０への連続アクセスを指示することができる。言い換えれば、ホスト側は、データ・アクセスのために、旧来のファイル・システムなどにおいて使用されるＬＢＡ（論理ブロックアドレス）を使用するものではない。この場合、ホスト側では、ＬＢＡというセクタ・レベルの論理アドレス空間を意識することなく、ディスクへのアクセスを行なうことができるが、ディスク・ドライブ１０は旧来のファイル・システムを用いたホストには対応が難しい（互換性をとり難い）という側面がある。
これに対し、第２の実施形態では、ホスト側は、旧来通り、ＬＢＡを用いてディスクへのアクセスを行なうように構成されている。ＬＢＡを使用する場合であっても、１トラックをアクセス単位として、磁気ヘッド２２がオン・トラックしたセクタから１トラックのアクセスを行なうことによって、第１の実施携帯の場合と同様に、先読みという不確定要素からなる処理を行なう必要がなくして、シーク起動のタイミングを確実に決定することができる。また、１トラックのどのセクタからでもアクセスを行なうことによって、回転待ちを行なわなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間の短縮することができる。
Ｂ−１．論理ブロック・アドレスの割当て
例えば映像などの大きなデータがメディア上に連続して書き込まれている場合には、本発明によればトラック単位でデータへのアクセスを行なうことから、連続アクセス（Ｃｏｎｔｉｎｕｏｕｓ  Ａｃｃｅｓｓ）に有効に作用すると思料される。
ここで言う連続アクセスとは、ある単位（シーン、チャプター、一定の時間など）のデータを記録する、一連のアクセスを指す。このデータは、連続する論理アドレスによって配置されるが、ディスク上の物理的な位置は問わない。連続アクセス中は、ディスク上の位置による転送レートの差異を平均化することによって、記録媒体に対して一定転送レートの動作を行なうことが可能となる。
一方、ＣＨＳアドレッシング方式ではホスト側がハード・ディスクの大容量化に対応できないことから、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ：論理ブロック・アドレス）モードが採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号を０から始まるＬＢＡという論理的な通し番号で表現するものである（前述）。
一般的なディスク・ドライブでは、データ領域としてのディスクの最外周から最内周に向かって論理ブロック・アドレスの割り振りを行なっている。図２８には、ディスクの最外周から最内周に向かって論理ブロック・アドレスの割り振りを行なっている様子を図解している（但し、２枚のディスクで構成されているとする）。また、図２９には、ディスクの最外周から最内周に向かって論理ブロック・アドレスの割り振りが行なわれている場合の連続アクセスの動作を概念的に示している。同図に示すように、目的とするトラック上でのリード又はライト・オぺレーションが終了すると、次いで、これに連続する論理ブロック・アドレスが存在するトラックへ磁気ヘッド２２を向かわせるシーク動作が行なわれ、この結果、シーク時間に相当するトラック・スキューが発生する。
ここで、各トラック上の記録密度をほぼ均一にするために、ゾーン・ビット・レコーディング方式を採用した場合、ホスト（すなわち一般的なファイル・システム）は論理ブロック・アドレスの若い番号から使用する傾向にあるため、ディスク・ドライブの使用状況によっては、徐々に転送レートが悪くなっていく可能性がある。
磁気ヘッド２２が目的とするトラックへ到達するためのシーク時間はシーク距離に応じて増大するが、その変化する度合いはシーク距離に応じて変化する。図１４には、シーク距離とシーク時間の関係を示している。図示の通り、シーク距離が大きくなるにつれてシーク距離が増大する割合は減少していく。
ディスク２１上の所望のデータ領域にアクセスするためには、磁気ヘッド２２を目的とするトラックへ向かって走査するシーク動作を行なってから、磁気ヘッド２２が目的のセクタの真下に到来するまで待つ回転待ち時間が発生する。図３０には、４トラックをシークしたときのスキューと回転待ちの関係を表している。
本実施形態では、シーク時間が回転待ち時間を越えない範囲で複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうようにした。すなわち、１トラックのライトが終了したサーボ・フレームから、平均回転待ち時間を越えないシークを行ない、その時間をトラック・スキューとする。
スキューを考慮しない回転待ち時間は回転数の逆数である。また、平均回転時間はその２分の１である。図１５には、図１４に示したグラフに対して回転待ち時間及び平均回転時間の関係をさらに加えている。
ディスク・ドライブにおいてシーク距離を変えてシーク動作を行ない、シーク時間を計測することにより、回転待ち時間又は平均回転待ち時間を越えないシーク距離と、そのシーク距離から得られるシーク時間の関係を得ることができる。ディスク・ドライブ上では、このような関係に基づいて、以下のようなテーブルを構成しておく。但し、シーク時間をサーボ数（スキュー）で表している。
【表２】
2003071534.tif 000004
ディスク２１へのデータ書き込み動作を行なうときには、上記の表２を参照して、トラック・スキューを考慮しながら連続する論理ブロック・アドレスをディスク２１上に配置していくことによって、複数トラックにまたがる連続アクセスを行なう際のデータ転送速度を均一にすることができる。
図１６には、本実施形態に従って論理ブロック・アドレスの割り振りが行なわれている場合の連続アクセスの動作を概念的に示している（但し、２枚のディスクで構成されているとする）。図示のように、書き込み時にシーク時間又はトラック・スキューが所定値を越えない範囲で連続する論理ブロック・アドレスが各トラックに逐次割り当てられていく。したがって、どのトラックへシークしても、連続アクセス動作中におけるトラックのシーク時間を均一化して、回転待ち時間を最小限にすることが可能になる。
Ｂ−２．論理セクタの生成
一般に、ハード・ディスク・ドライブでは、ディスク２１のデータ面に存在するサーボ領域をヘッド２２が通過し、そのサーボ・パターンの信号を積分することによって、オン・トラックであるかどうかを判断する（前述）。
したがって、ディスク２１への書き込み並びに読み出しを開始するタイミングは、ヘッド２２がサーボ領域を通過するところであり、この直後からアクセスを行なうのが最速である。また、トラック１周のリード・ライトを行なうと、その開始したサーボ領域を通過した時点でトラック１周となり、このサーボ・パターンの信号に基づいてオン・トラックを確認することによって、次の目的トラックへのシーンを１サーボ分だけ早く行なうことができる。
図３１には、従来の１トラック・シーク時におけるアクセス動作の様子を表している。同図に示すように、アクセスの開始セクタは、シーク時間から求められるトラック・スキューを考慮した配置となる。これは、ディスク・ドライブ製造時の初期化で固定的に決まる。１トラックのアクセスを行なうと、次の目的トラック（多くの場合は隣接する内側のトラック）へのシークを行なう。しかしながら、ライト時は、アクセス終了セクタの先に存在するサーボ領域においてオン・トラックの確認を行なわなければならない。このため、最悪の場合で、１サーボ間隔の遅れが生じてしまう。
トラック上に配置されるセクタは、論理ブロック・アドレス（ＬＢＡ）とＣＨＳ（シリンダ、ヘッド、セクタ）のような物理アドレスによる位置情報を有する。そこで、本実施形態では、ＬＢＡとＣＨＳの組み合わせが一通りではなく、ディスク・ドライブ個体差やドライブ動作状況に応じて変化させることによって、最適なセクタ配置を行なう。
図１７には、本実施形態におけるトラック・シーク時におけるアクセス動作の様子を示している。但し、図示の例では、１トラック分のアクセスを行なった後、次の目的トラックはＭトラック先に存在するものとする（但し、Ｍは１以上の整数）。前項Ｂ−１で説明したように、連続アクセス時におけるデータ転送速度の均一化のために、トラック・スキューを考慮しながら連続する論理ブロック・アドレスをディスク２１上に配置していくと、次の目的トラックが隣接の内側ではなく、Ｍトラックだけ離間している場合がある（図１６を参照のこと）。
図１７に示すように、次の目的トラックにおけるアクセス開始セクタは、オン・トラックとなったサーボ領域の直後に配置するセクタとなる。つまり、直前にアクセスを行なっていたトラックからのシーク距離のような要因によって、ライト時には、トラック・フォーマットが変化することを意味する。
トラック上に配置される論理ブロック・アドレスは、１トラック上に存在するセクタ・アドレスの範囲が存在するのみで、各セクタの物理位置については、指定されていない。トラックの論理ブロック・アドレスは、直前にアクセスされたトラックの終点と、テーブル化（表２を参照のこと）されたトラック・スキューから決定される。
図１８には、本実施形態に従ってトラック上にセクタ配置を行なった場合のトラック上のセクタ範囲とセクタ・アドレスの開始位置を示している。
図示の例では、直前にアクセスされたトラックＮにおいて、論理ブロック・アドレス２０００から２４９９が円周方向に向かって連続的に割り当てられている。そして、次の目的トラックは、例えばテーブル化（表２を参照のこと）されたトラック・スキューを参照することによって、Ｍトラックだけ離間したトラックＮ＋Ｍに決定される。
このような場合、トラックＮ＋Ｍにおいて、以降の論理ブロック・アドレス２５００から２９９９までのセクタが割り当てられるが、その先頭の論理ブロックアドレス（２５００）の物理セクタ位置は、Ｍトラック・シーク時のスキュー分だけずれた位置となる。
Ｂ−３．ブランク・エリアの取り扱い
通常のファイル・フォーマットでは、ＬＢＡ（論理ブロック・アドレス）を基準として記憶空間を管理している。また、アクセスする単位は、セクタを２の乗数（８乗、１６乗、６４乗など）でひとまとめにしたものとなっている。
しかしながら、本実施形態のように１トラック単位でのアクセスを行なうと、１トラック当たりのセクタ数がアクセス単位で割り切れずに、余ってしまう場合が発生する。
この項では、この余ってしまったセクタ（このようなセクタのことを、以下では「ブランク・エリア」とも呼ぶ）に対するアクセス方法について説明する。
ブランク・エリアは１セクタ〜１トラック当たりのセクタ数−１であり、そのトラックの存在するゾーンによってもセクタ数は異なる。
２００２年現在の一般的な３．５インチ型ハード・ディスク・ドライブ（但し、ゾーン・ビット・レコーディングとする）の場合、最外周で１０００セクタ、最内周で５００セクタ程度である。すなわち、最大で５００ＫＢのブランク・エリアが発生してしまうことになる。
このようなブランク・エリアは、ビデオなどのリアルタイム処理を必要とするデータとしては、１０Ｍｂｐｓの場合で０．４秒分に相当することを考慮する。したがって、ブランク・エリアを静止画や通常のコンピュータ・ファイルなどのリアルタイム性を要求しないデータに割り当てることが得策であると思料される。
本実施形態では、連続した領域として確保できないブランク・エリアに対する連続記録を要求するアクセスが行なわれると、ハード・ディスク・ドライブは、使用できない領域であることと、次のトラックの先頭論理ブロック・アドレスを報告するようにしている。
Ｂ−３−１．連続アクセスが行なえない場合の報告とホスト処理
ホストからのライト・アクセス要求に対して、処理セクタ数が１トラックのセクタ数を越えず、直前のライト処理と合わせて連続アクセスが行えない場合の処理について、まず説明する。
直前のライト処理がキャッシュ（バッファＲＡＭ１４）登録済みで、ホストからのライト・アクセスの要求が前回とＬＢＡが連続するものであり、直前のキャッシュ・データと合わせて１トラックのライト処理が開始できる場合は、これを連続アクセス可能とする。
一方、ＬＢＡが連続するライト・アクセス要求であっても、１トラックのセクタ数を越えない場合には、１トラックのライト処理を一度で行なうことができないため、既にキャッシュ登録されているデータをライトし、その残りを空き領域（ブランク・エリア）とする。
また、次にアクセスされることを期待する領域は、別のトラック（下の例ではトラックＮ＋Ｍ）に配置されるセクタであり、ホストへこの先頭ＬＢＡを報告することによって、次のアクセスがこのＬＢＡから開始されることを期待する。
図１９には、１トラックのセクタ数を越えないライト・アクセス要求に対するライト処理を行なう様子を示している。同図に示す例では、トラックＮがライト処理対象のトラックとなっている。
本実施形態では、トラック単位でのアクセスを行なうことから、ライト要求されたデータの処理セクタ数が処理対象となる１トラックのセクタ数に到達するまでは、書き込みデータはキャッシュ（バッファＲＡＭ１４）に登録されるとともに、トラック上の残りのセクタはこれからアクセスを期待する領域として残される。
ここで、ホストからのアクセス要求がなかった場合には、アクセスを期待する領域はブランク・エリアとなる。ホスト側のファイル・システムはこのブランク・エリアを登録して、以後この領域に対するアクセス要求を行なうようにしてもよい。
そして、ホストに対しては、次にアクセスを期待する領域として、別のトラック（図示の例では、トラックＮ＋Ｍ）を報告する。トラックＮに続いてアクセスが期待されるトラックＮ＋Ｍは、例えば、トラックＮの最後尾のＬＢＡに連続するＬＢＡが生成されているトラックである。
Ｂ−３−２．連続アクセスでない場合の処理
次いで、連続アクセスが行なえなかった場合に発生するブランク・エリアの使用について説明する。
（１）映像データ以外の小さなデータのアクセス要求
ブランク・エリアがホスト側で管理されているファイル・システムで未使用領域として登録されている場合には、この領域に対してアクセスが行なわれる。ブランク・エリアに対して映像データ以外のような小さなデータ（静止画や通常のコンピュータ・ファイル）のライト・アクセス要求があった場合には、その要求を受け付けて、正常終了する。
図２０には、このときのブランク・エリアへのデータ書き込み動作を行なう様子を示している。ホスト側のファイル・システムでは、ディスク２１上の未使用領域を管理している。同図に示す例では、ホストは、トラックＮ上でブランク・エリアとしてファイル・システムに登録されている領域へのライト・アクセス要求を発行したとする。この場合、映像データ以外のような小さなデータのライト・アクセス要求であることから、ハード・ディスク・ドライブ側では、このブランク・エリアの先頭からデータを書き込んで、正常終了する。そして、書き込み動作後のブランク・エリアが、ホスト側のファイル・システムに改めて登録される。
図２１には、映像以外の連続しない小さなライト・アクセス要求が行なわれる場合の動作フローを示している。
ホスト側からライト・アクセス要求コマンド（１）が発行されると、ハード・ディスク・コントローラ１３はインターフェース１７を介してこれを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、コマンド受領処理を行なう。
次いで、ホスト側からデータ転送（２）が行なわれると、ハード・ディスク・コントローラ１３はインターフェース１７を介して転送データを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、データ受領処理を行なう。
このとき、１トラックのアクセスが不可能な場合には、書き込みデータをバッファＲＡＭ１４にキャッシュ登録しておく。また、ハード・ディスク・コントローラ１３は、ホストに対してコマンド終了報告（正常終了）（１）を行なう。
ホスト側から次のライト・アクセス要求コマンド（２）が発行されると、ハード・ディスク・コントローラ１３はインターフェース１７を介してこれを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、コマンド受領処理を行なう。このとき、ライト・アクセス要求が連続しない（すなわち、直前のライト・アクセス要求とＬＢＡが連続しない）ときには、ハード・ディスク・コントローラ１３は、ホストに対してコマンド・エラー報告（２）を行なう。
ホスト側では、ハード・ディスク・ドライブ側からのコマンド・エラー報告に応答して、同じライト・アクセス要求（２’）＝（２）を発行する。ハード・ディスク・コントローラ１３はインターフェース１７を介してこれを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、コマンド受領処理を行なう。このとき、連続しないデータのライト・アクセス要求であることがわかるので、ＣＰＵ１１は、ライト・アクセス要求コマンド要求に対するコマンド受領処理を行なった後、ディスク・フォーマッタ３６を起動する。ハード・ディスク・コントローラ１３は、ホストに対してコマンド終了報告（２’）を行なう。
また、ハード・ディスク・コントローラ１３は、ディスク・フォーマッタ３６の起動に応答して、パリティの生成とディスク２１へのデータ書き込み動作を実行する。そして、書き込み終了後に再びＣＰＵ１１に割り込みを発行する。
そして、ＣＰＵ１１は、データ受領処理を行なった後、書き込みデータをバッファＲＡＭ１４にキャッシュ登録する。
ディスク２１への書き込み処理が終了すると、ハード・ディスク・コントローラ１３は、再びＣＰＵ１１に割り込みを発行する。ＣＰＵ１１は、シーク起動を行ない、この結果をハード・ディスク・コントローラ１３に通知する。
（２）映像データのような大きなデータのアクセス要求
ブランク・エリアがホスト側で管理されているファイル・システムで未使用領域として登録されている場合には、この領域に対してアクセスが行なわれる（同上）。
しかし、ブランク・領域に対して映像データのような大きなデータのライト・アクセス要求があった場合は、その要求を一度拒否するとともに、次のアクセスを期待する領域の報告を行なう。そして、次のライト・アクセスで、その領域が使用されることを期待する。
このような動作を実行するハード・ディスク・ドライブに対応したホストは、ＬＢＡの指定をこのアクセスを期待する領域に変更して、ライト・アクセス要求をリトライする。
また、ハード・ディスク・ドライブ側のこのような動作に対応していないホストの場合、ディスク・ドライブ側からの報告に拘わらず、同一のＬＢＡに対するライト・アクセス要求を繰り返すことになるので、ホストの要求通りのアクセス動作を行なう。
図２２には、ブランク・エリアに対して大きなデータのライト要求が起きたときのデータ書き込み動作の様子を示している。
ホスト側のファイル・システムでは、ディスク２１上の未使用領域を管理している。図２２に示す例では、ホストは、トラックＮ上でブランク・エリアとしてファイル・システムに登録されている領域へのライト・アクセス要求を発行したとする。この場合、映像データのような大きなデータのライト・アクセス要求であることから、ハード・ディスク・ドライブ側では、トラックＮのブランク・エリアへの書き込みを拒否して、ホストに対しては、次にアクセスを期待する領域として、別のトラック（図示の例では、トラックＮ＋Ｍ）を報告する。トラックＮに続いてアクセスが期待されるトラックＮ＋Ｍは、例えば、トラックＮの最後尾のＬＢＡに連続するＬＢＡが生成されているトラックである。
このような動作を実行するハード・ディスク・ドライブに対応したホストは、ＬＢＡの指定をトラックＮ＋Ｍに変更して、ライト・アクセス要求をリトライする。
図２３には、映像のような大きなデータについての連続アクセスガ行なわれる場合の動作フローを示している。
ホスト側からライト・アクセス要求コマンド（１）が発行されると、ハード・ディスク・コントローラ１３はインターフェース１７を介してこれを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、コマンド受領処理を行なう。
次いで、ホスト側からデータ転送（１）が行なわれると、ハード・ディスク・コントローラ１３はインターフェース１７を介して転送データを受け取り、ＣＰＵ１１に対して割り込みを行なう。ＣＰＵ１１は、これに応答して、データ受領処理を行なう。
このとき、１トラックのアクセスが不可能な場合には、書き込みデータをバッファＲＡＭ１４にキャッシュ登録しておく。また、ハード・ディスク・コントローラ１３は、ホストに対してコマンド終了報告（正常終了）（１）を行なう。
その後、ＬＢＡが連続するライト・アクセス要求並びにデータ転送が行なわれると、バッファＲＡＭ１４にキャッシュ登録されているデータ量が１トラック分のアクセスに達しない間は、上述と同様のキャッシュ登録動作を繰り返し実行する。
一方、ＬＢＡが連続するライト・アクセス要求（２）並びにデータ転送（２）が行われ続けた結果、バッファＲＡＭ１４にキャッシュ登録されているデータ量が１トラック分のアクセスに到達し場合、ＣＰＵ１１は、ライト・アクセス要求コマンド要求に対するコマンド受領処理並びにデータ転送に対するデータ受領処理を行なった後、ディスク・フォーマッタ３６を起動する。ハード・ディスク・コントローラ１３は、ホストに対してコマンド終了報告（正常終了）（２）を行なう。
また、ハード・ディスク・コントローラ１３は、ディスク・フォーマッタ３６の起動に応答して、パリティの生成とディスク２１へのデータ書き込み動作を実行する。そして、書き込み終了後に再びＣＰＵ１１に割り込みを発行する。ＣＰＵ１１は、シーク起動を行ない、この結果をハード・ディスク・コントローラ１３に通知する。
なお、上述した動作シーケンスにおいて、ＣＰＵ１１が１トラックのアクセスが可能であるかどうかを判断しているのは、ディスク・ドライブがホスト側のファイル・システムをサポートしていないためである。ホストが持つファイル・システムによるアクセスを利用し、該当するトラックがアクセス可能範囲であることを確認する必要がある。
Ｂ−３−３．ハード・ディスク・ドライブ内の動作
図２１並びに図２３で示したような動作シーケンスにおけるハード・ディスク・ドライブ側の動作は、実際には、ハード・ディスク・ドライブ内のＣＰＵ１１がＲＯＭ１２に格納されたマイクロ・コードを読み出して実行する、あるいは、ディスク・コントローラ１３があらかじめ組み込まれたロジックを実行するという形態で実現される。
以下では、本実施形態におけるハード・ディスク・ドライブの内部動作について説明する。
ハード・ディスク・ドライブは、ホスト側からのライト・アクセス要求コマンドに応答して、コマンド受領処理を行なう。コマンド受領処理では、連続アクセスと空き領域（ブランク・エリア）の処理について判断を行なう。現在のバッファＲＡＭ１４に存在するキャッシュ・データが有効であり、受領したコマンドによる要求範囲がこれに連続するＬＢＡを指しているならば、連続アクセスであると判断する。
図２４には、このコマンド受領処理の手順をフローチャートの形式で示している。
まず、キャッシュを有効にしたライト（ディスク２１への書き込み動作）を行なってもよいかどうかをチェックする（ステップＳ１）。
キャッシュが有効であれば、次いで、受領したコマンドによる要求範囲がこれに連続するＬＢＡを指しているかどうかをチェックする（ステップＳ２）。
ライト要求された範囲がキャッシュされている範囲と連続する場合には、さらに、アクセス範囲が１トラックを越えるかどうかをチェックする（ステップＳ３）。
アクセス範囲が１トラックを越えない場合には、ライト要求されたデータをバッファＲＡＭ１４にキャッシュ登録して（ステップＳ５）、本処理ルーチン終了する。一方、アクセス範囲が１トラックを越える場合には、ハード・ディスク・コントローラ１３にディスク・フォーマッタ３６の起動をセットして（ステップＳ４）、本処理ルーチンを終了する。
一方、キャッシュが有効でないと判断された場合には、ハード・ディスク・コントローラ１３にディスク・フォーマッタ３６の起動をセットして（ステップＳ９）、従来のハード・ディスク・ドライブと同様のデータ書き込み動作を行なってから（図２０を参照のこと）、本処理ルーチン全体を終了する。
また、ステップＳ２において、受領したコマンドによる要求範囲がこれに連続するＬＢＡを指していない、すなわち連続アクセスでないと判断された場合には、これと同一のライト要求が２度目かどうかをチェックする（ステップＳ６）。そして、２度目である場合には、ホスト側が、本実施形態に係るハード・ディスク・ドライブに対応していないと推測されるので、ハード・ディスク・コントローラ１３にディスク・フォーマッタ３６の起動をセットして（ステップＳ９）、従来のハード・ディスク・ドライブと同様のデータ書き込み動作を行なってから（図２０を参照のこと）、本処理ルーチン全体を終了する。
また、同一のライト要求が２度目でない場合には、さらに、ライト要求されたブランク・エリアの範囲に書き込みデータが収まるかどうかをチェックする（ステップＳ７）。そして、ブランク・エリアの範囲に書き込みデータが収まる場合には、ハード・ディスク・コントローラ１３にディスク・フォーマッタ３６の起動をセットして（ステップＳ９）、従来のハード・ディスク・ドライブと同様のデータ書き込み動作を行なってから（図２０を参照のこと）、本処理ルーチンを終了する。
一方、ステップＳ７において、ブランク・エリアの範囲に書き込みデータが収まらないと判断された場合には、ホストへ次のアクセスを期待する領域（図１９、図２１を参照のこと）を報告して（ステップＳ８）、本処理ルーチンを終了する。
また、パリティの生成とディスク２１へのデータ書き込み動作の完了に応答して、ＣＰＵ１１は、シーク動作を起動する。シーク起動時において、トラック・スキューのテーブル（表２を参照のこと）を参照し、次のアクセス開始セクタ物理位置を求める。フォーマッタ起動により実際にディスクへデータを書き込むタイミングは、次のライト要求により１トラックのアクセスが可能となった時点となる。通常はシーク時間が支配的であり、シーク完了時には１トラック分のデータをライトすることが可能となる。この場合、１トラックすべてのデータがそろっている必要はなく、ライト処理中にデータがそろえばよい。
図２５には、シーク動作の処理手順をフローチャートの形式で示している。
まず、シーク起動を行ない（ステップＳ１１）、次いで、次にアクセスを開始するセクタの物理位置を計算する（ステップＳ１２）。
セクタの物理位置は、アクセスを開始するサーボ領域の番号をトラック・スキュー・テーブルと加算することによって求まる。
そして、ハード・ディスク・コントローラ１３に開始セクタの物理位置をセットして（ステップＳ１３）、本処理ルーチンを終了する。
追補
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
［産業上の利用可能性］
本発明によれば、所望のデータ記憶場所へのアクセス時間の短縮を図った、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、回転待ちを発生することなく且つ無駄な先読みによるシーク起動の遅れを生じない、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、メディアとしてのディスク上のデータ構造やディスク・アクセス方法を改良することにより、ランダム・アクセス時におけるシーク時間や回転待ち時間を短縮することができる、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、シーク時間が回転待ち時間を越えない範囲での複数トラック・シークを含むように論理ブロック・アドレスの割り振りを行なうようにすることによって、連続アクセス動作中におけるトラックのシーク時間を均一化して、回転待ち時間を最小限にすることができる、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、ディスク・ドライブ個体差やドライブ動作状況に応じてトラック上のセクタ配置を変化させることによって、最適なセクタ配置を行なうことができる、優れたデータ・アクセス制御装置及びデータ・アクセス制御方法、コントローラ、並びにコンピュータ・プログラムを提供することができる。
【図面の簡単な説明】
図１は、本発明の一実施形態に係るハード・ディスク・ドライブ１０の全体構成を模式的に示した図である。
図２は、本発明の一実施形態に係るセクタ・フォーマットの一例を示した図である。
図３は、本実発明の一施形態に係るセクタ・フォーマットの他の例を示した図である。
図４は、セクタ・フォーマットを利用した場合のトラック・フォーマットの一例を示した図である。
図５は、セクタ・フォーマットを利用した場合のトラック・フォーマットの他の例を示した図である。
図６は、本発明の一実施形態に係るハード・ディスク・ドライブ１０がインターフェース１７経由で接続されたホストからのコマンドによってデータ書き込みを行なうときの通信例を示した図である。
図７は、本発明の一実施形態に係るディスク・ドライブ１０がインターフェース１７経由で接続されたホスト５０からのコマンドによってデータ読み出しを行なうときの通信例を示した図である。
図８は、ディスク・コントローラ１３の内部構成を示した図である。
図９は、本発明の一実施形態に係るハード・ディスク・ドライブ１０においてデータ書き込みを行なうときの、ディスク・フォーマッタ１３内での動作シーケンスを示した図である。
図１０は、本発明の一実施形態に係るハード・ディスク・ドライブ１０においてデータ読み出しを行なうときの、ディスク・フォーマッタ１３内での動作シーケンスを示した図である。
図１１は、ＣＰＵ１１によってシーク先のトラック番号を取得する場合の、リード・ライト・オペレーション時のハード・ディスク・ドライブ１０内での動作シーケンスを示した図である。
図１２は、ホスト・コントローラ３３によってシーク先のトラック番号を取得する場合の、リード・ライト・オペレーション時のハード・ディスク・ドライブ１０内での動作シーケンスを示した図である。
図１３は、ディスクの記憶領域に区画を設けて、トラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分のアクセスを行なう領域と、従来通り、トラック及びセクタの絶対位置アドレスに基づいてアクセスを行なう領域の双方を用意した様子を示した図である。
図１４は、シーク距離とシーク時間の関係を示した図である。
図１５は、シーク距離とシーク時間、回転待ち時間の関係を示した図である。
図１６は、本発明に従って論理ブロック・アドレスの割り振りが行なわれている場合の連続アクセスの動作を概念的に示した図である。
図１７は、本実施形態におけるトラック・シーク時におけるアクセス動作の様子を示した図である。
図１８は、トラック上のセクタ範囲とセクタ・アドレスの開始位置を示した図である。
図１９は、１トラックのセクタ数を越えないライト・アクセス要求に対するライト処理を説明するための図である。
図２０は、ブランク・エリアがホスト側で管理されているファイル・システムで未使用領域として登録されている場合の、映像データ以外のような小さなデータのライト・アクセス要求に対する処理を説明するための図である。
図２１は、映像以外の連続しない小さなライト・アクセス要求が行なわれる場合の動作フローを示した図である。
図２２は、ブランク・エリアに対して大きなデータのライト要求が起きたときのデータ書き込み動作の様子を示した図である。
図２３は、映像のような大きなデータについての連続アクセスが行なわれる場合の動作フローを示した図である。
図２４は、ハード・ディスク・ドライブ側のコマンド受領処理の手順を示したフローチャートである。
図２５は、シーク動作の処理手順を示したフローチャートである。
図２６は、ハード・ディスクの構造（従来例）を模式的に示した図である。
図２７は、１トラックの構造（従来例）を模式的に示した図である。
図２８は、ディスクの最外周から最内周に向かって論理ブロック・アドレスの割り振りを行なっている様子（従来例）を示した図である。
図２９は、ディスクの最外周から最内周に向かって論理ブロック・アドレスの割り振りが行なわれている場合の連続アクセスの動作（従来例）を概念的に示した図である。
図３０は、４トラックをシークしたときのスキューと回転待ちの関係を表した図である。
図３１は、従来の１トラック・シーク時におけるアクセス動作の様子を表した図である。
【図１】
2003071534.tif 000005
【図２】
2003071534.tif 000006
【図３】
2003071534.tif 000007
【図４】
2003071534.tif 000008
【図５】
2003071534.tif 000009
【図６】
2003071534.tif 000010
【図７】
2003071534.tif 000011
【図８】
2003071534.tif 000012
【図９】
2003071534.tif 000013
【図１０】
2003071534.tif 000014
【図１１】
2003071534.tif 000015
【図１２】
2003071534.tif 000016
【図１３】
2003071534.tif 000017
【図１４】
2003071534.tif 000018
【図１５】
2003071534.tif 000019
【図１６】
2003071534.tif 000020
【図１７】
2003071534.tif 000021
【図１８】
2003071534.tif 000022
【図１９】
2003071534.tif 000023
【図２０】
2003071534.tif 000024
【図２１】
2003071534.tif 000025
【図２２】
2003071534.tif 000026
【図２３】
2003071534.tif 000027
【図２４】
2003071534.tif 000028
【図２５】
2003071534.tif 000029
【図２６】
2003071534.tif 000030
【図２７】
2003071534.tif 000031
【図２８】
2003071534.tif 000032
【図２９】
2003071534.tif 000033
【図３０】
2003071534.tif 000034
【図３１】
2003071534.tif 000035
【国際調査報告】
2003071534.tif 000036
2003071534.tif 000037
2003071534.tif 000038
2003071534.tif 000039