(57)【特許請求の範囲】
【請求項１】
ディスク上の連続したセクタに記録すべき一連の記録データがホスト装置から送出されたときに、この記録データをバッファメモリに転送して一時記憶させるとともに、上記バッファメモリに記憶された記録データを、ディスクに対して記録を行う記録ヘッドに転送することにより、上記ディスクに対する記録動作を制御するディスク制御装置において、
上記一連の記録データを、上記記録ヘッドが現在位置するセクタから上記連続したセクタの末尾までのＺＬＷ領域に記録すべき記録データと、上記連続したセクタの先頭から上記記録ヘッドが現在位置するセクタまでのｎＺＬＷ領域に記録すべき記録データとに分割する分割手段と、
上記記録ヘッドが上記ＺＬＷ領域にアクセスする間は上記記録ヘッドが記録を完了したセクタ数を計数せず、上記記録ヘッドが上記ｎＺＬＷ領域にアクセスする間にだけ、上記記録ヘッドが記録を完了したセクタ数を計数して、上記バッファメモリの空きサイズを算出する第１の計数手段と、
上記分割手段により分割された記録データを、上記記録ヘッドが上記ＺＬＷ領域及び上記ｎＺＬＷ領域にアクセスする間にそれぞれ上記バッファメモリから上記記録ヘッドに転送するとともに、上記第１の計数手段により算出されたバッファメモリの空きサイズに基づいて、上記ホスト装置から上記バッファメモリへの記録データの転送を行う転送手段とを備え、
上記第１の計数手段は、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、当該ＺＬＷ領域におけるセクタ数が加算されることを特徴とするディスク制御装置。
【請求項２】
上記記録ヘッドが記録を完了したセクタ数を計数するとともに、上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされる第２の計数手段と、
上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされるとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第２の計数手段に保持された値が入力される第３の計数手段とをさらに備え、
上記第１の計数手段は、上記記録ヘッドがサーボエリアを跨ぐときに上記第３の計数手段に保持された値が加算されることにより、サーボエリア間で記録が完了したセクタをまとめて計数することを特徴とする請求項１記載のディスク制御装置。
【請求項３】
上記記録ヘッドが上記ＺＬＷ領域にアクセスする間に、上記記録ヘッドが記録を完了したセクタ数を計数する第４の計数手段をさらに備えることを特徴とする請求項１記載のディスク制御装置。
【請求項４】
上記第１の計数手段は、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、上記第４の計数手段により計数されたセクタ数が加算されることを特徴とする請求項３記載のディスク制御装置。
【請求項５】
上記ｎＺＬＷ領域において上記記録ヘッドが記録を完了したセクタ数を計数するとともに、上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされる第５の計数手段と、
上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされるとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第５の計数手段に保持された値が入力される第６の計数手段と、
上記ＺＬＷ領域において上記記録ヘッドが記録を完了したセクタ数を計数するとともに、上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされる第７の計数手段と、上記記録ヘッドがサーボエリアを跨ぐときに値がリセットされるとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第７の計数手段に保持された値が入力される第８の計数手段とをさらに備え、
上記第１の計数手段は、上記記録ヘッドがサーボエリアを跨ぐときに上記第６の計数手段に保持された値が入力されることにより、サーボエリア間で記録が完了したセクタをまとめて計数し、上記第４の計数手段は、上記記録ヘッドがサーボエリアを跨ぐときに上記第８の計数手段に保持された値が入力されることにより、サーボエリア間で記録が完了したセクタをまとめて計数することを特徴とする請求項３記載のディスク制御装置。
【請求項６】
ディスク上の連続したセクタに記録すべき一連の記録データがホスト装置から送出されたときに、この記録データをバッファメモリに転送して一時記憶させるとともに、上記バッファメモリに記憶された記録データを、ディスクに対して記録を行う記録ヘッドに転送することにより、上記ディスクに対する記録動作を制御するディスク制御方法において、
上記一連の記録データを、上記記録ヘッドが現在位置するセクタから上記連続したセクタの末尾までのＺＬＷ領域に記録すべき記録データと、上記連続したセクタの先頭から上記記録ヘッドが現在位置するセクタまでのｎＺＬＷ領域に記録すべき記録データとに分割する分割ステップと、
上記記録ヘッドが上記ＺＬＷ領域にアクセスする間は上記記録ヘッドが記録を完了したセクタ数を計数せず、上記記録ヘッドが上記ｎＺＬＷ領域にアクセスする間にだけ、上記記録ヘッドが記録を完了したセクタ数を計数して、上記バッファメモリの空きサイズを算出する第１の計数ステップと、
上記分割ステップで分割された記録データを、上記記録ヘッドが上記ＺＬＷ領域及び上記ｎＺＬＷ領域にアクセスする間にそれぞれ上記バッファメモリから上記記録ヘッドに転送するとともに、上記第１の計数ステップで算出されたバッファメモリの空きサイズに基づいて、上記ホスト装置から上記バッファメモリへの記録データの転送を行う転送ステップと
を有し、
上記第１の計数ステップにおいては、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、当該ＺＬＷ領域におけるセクタ数を加算することを特徴とするディスク制御方法。
【請求項７】
上記記録ヘッドが記録を完了したセクタ数を第２の計数手段により計数するとともに、この値を上記記録ヘッドがサーボエリアを跨ぐときにリセットする第２の計数ステップと、上記記録ヘッドがサーボエリアを跨ぐときに第３の計数手段の値をリセットするとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第２の計数手段に保持された値を上記第３の計数手段に入力する第３の計数ステップとをさらに有し、上記第１の計数ステップにおいては、上記記録ヘッドがサーボエリアを跨ぐときに上記第３の計数手段に保持された値を上記第１の計数手段に加算することにより、サーボエリア間で記録が完了したセクタをまとめて計数することを特徴とする請求項６記載のディスク制御方法。
【請求項８】
上記記録ヘッドが上記ＺＬＷ領域にアクセスする間に、上記記録ヘッドが記録を完了したセクタ数を第４の計数手段により計数する第４の計数ステップをさらに有することを特徴とする請求項６記載のディスク制御方法。
【請求項９】
上記第１の計数ステップにおいては、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、上記第４の計数手段により計数されたセクタ数を上記第１の計数手段に加算することを特徴とする請求項８記載のディスク制御方法。
【請求項１０】
上記ｎＺＬＷ領域において上記記録ヘッドが記録を完了したセクタ数を第５の計数手段により計数するとともに、この値を上記記録ヘッドがサーボエリアを跨ぐときにリセットする第５の計数ステップと、
上記記録ヘッドがサーボエリアを跨ぐときに第６の計数手段の値をリセットするとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第２の計数手段に保持された値を上記第６の計数手段に入力する第６の計数ステップと、
上記ｎＺＬＷ領域において上記記録ヘッドが記録を完了したセクタ数を第７の計数手段により計数するとともに、この値を上記記録ヘッドがサーボエリアを跨ぐときにリセットする第７の計数ステップと、
上記記録ヘッドがサーボエリアを跨ぐときに第８の計数手段の値をリセットするとともに、サーボエリア間で書き込みエラーなく記録できた場合に、上記第７の計数手段に保持された値を上記第８の計数手段に入力する第８の計数ステップとをさらに有し、
上記第１の計数ステップにおいては、上記記録ヘッドがサーボエリアを跨ぐときに上記第６の計数手段に保持された値を上記第１の計数手段に入力することにより、サーボエリア間で記録が完了したセクタをまとめて計数し、上記第４の計数ステップにおいては、上記記録ヘッドがサーボエリアを跨ぐときに上記第６の計数手段に保持された値を上記第１の計数手段に入力することにより、サーボエリア間で記録が完了したセクタをまとめて計数することを特徴とする請求項８記載のディスク制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト装置から送出される記録データをバッファメモリを介して記録ヘッドに転送することによって、ディスクに対する記録動作を制御するディスク制御装置に関する。
【０００２】
【従来の技術】
例えばコンピュータ等の各種情報処理装置には、外部記憶装置として、ハードディスク装置が搭載されている。ハードディスク装置は、回転する磁気ディスクと、この磁気ディスクに対して記録再生を行う磁気ヘッドと、この磁気ヘッドを支持して、磁気ディスクの径方向に移動自在とする支持アームとを備えている。ハードディスク装置では、記録再生動作を行う際に、磁気ディスクを回転駆動させるとともに、支持アームによって磁気ヘッドを磁気ディスクの径方向に移動させることにより、磁気ディスクの任意の位置に対する記録再生を行う。
【０００３】
近年では、情報処理装置における演算能力が飛躍的に進歩していることから、この情報処理装置とハードディスク装置との間におけるデータの転送レートがシステム全体としての処理速度を大きく左右するようになってきた。そこで、ハードディスク装置においては、高転送レート化に対応して、記録再生動作に要する時間（アクセスタイム）を短縮することがますます重要となってきている。
【０００４】
なお、以下では、ハードディスク装置に接続されて、記録データを送出したり、記録再生動作の要求を行う情報処理装置のことを、ホスト装置と称することとする。
【０００５】
アクセスタイムの向上を実現する技術のひとつとして、ＺＬＷ（Zero Latency Write）或いはＭＬＷ（Minimum Latency Write）などと称される技術がある。この技術は、例えば、ある時刻において、図１１に示すような磁気ディスク上の点Ｓ２に磁気ヘッドが位置しているときに、点Ｓ０から点Ｓ１までの連続したセクタに記録すべき一連の記録データがホスト装置から送出されると、先ず、点Ｓ２から点Ｓ１までの一連のセクタに対する記録を行い、次に、点Ｓ０から点Ｓ２までの一連のセクタに対する記録を行う技術である。
【０００６】
ＺＬＷでは、上述のように、一連の記録データを先頭セクタ（点Ｓ０）から記録せずに、磁気ヘッドが現在位置しているセクタ（点Ｓ２）から記録動作を開始させることから、磁気ヘッドが先頭セクタまで移動するのを待って記録動作を開始する場合と比較して記録動作に要する時間を短縮することができる。
【０００７】
なお、以下の説明においては、図１１に示す点Ｓ２から点Ｓ１までの一連のセクタのように、記録ヘッドが現在位置するセクタから記録すべき連続したセクタの末尾までの記録領域のことをＺＬＷ領域と称し、点Ｓ０から点Ｓ２までの一連のセクタのように、記録すべき連続したセクタの先頭から記録ヘッドが現在位置するセクタまでの記録領域のことをｎＺＬＷ領域と称する。
【０００８】
【発明が解決しようとする課題】
ところで、ハードディスク装置においては、図１２に示すように、ホスト装置５００から送出される記録データを安定して磁気ヘッド５０１に供給する目的で、バッファメモリ５０２が備えられている。そして、ハードディスク装置内部の信号の流れを制御するＨＤＣ（Hard Disk Controller）５０３によって、ホスト装置から送出された記録データがバッファメモリ５０２に転送されて一時記憶されるとともに、このバッファメモリ５０２に記憶された記録データが、磁気ヘッド５０１が磁気ディスクに記録する準備が整い次第、順次磁気ヘッド５０１に転送される。
【０００９】
このバッファメモリ５０２は、例えば図１３に示すように、そのメモリ空間内に複数のセグメントが設定されており、各セグメント毎に記録データの入出力が行われる。また、ホスト装置５００からバッファメモリ５０２に記録データを転送するに際しては、このバッファメモリ５０２の空きサイズを把握しておく必要があるが、このために、ホスト装置５００から転送された記録データが格納される開始アドレスを示すホストポインタ（ＨＰ：Host Pointer）と、磁気ヘッド５０１に転送する記録データの開始アドレスを示すディスクポインタ（ＤＰ：Disk
Pointer）とが用意されている。
【００１０】
そして、記録動作を行う場合には、通常、ホスト装置５００から転送されてバッファメモリ５０２に記憶された記録データを、順次磁気ヘッド５０１に転送することから、ＨＰとＤＰとの差を算出することによってバッファメモリ５０２の空きサイズを判断することができ、この空きサイズに応じてホスト装置５０１からバッファメモリ５０２への転送が行われる。
【００１１】
しかしながら、上述したようにＺＬＷを行う場合には、例えば図１４に示すように、ＨＰが示すアドレスが単調に増減する一方で、ＺＬＷ領域に記録すべき記録データを先に磁気ヘッドに転送し、ｎＺＬＷ領域に記録すべき記録データが後から磁気ヘッドに転送されることから、ＤＰが示すアドレスは不連続的に変化する。このため、ＺＬＷを行う場合には、単純にＨＰとＤＰとの差に基づいてバッファメモリにおける当該セグメントの空きサイズを判断することができなくなってしまう。
【００１２】
したがって、従来のハードディスク装置では、ＺＬＷによって記録を行っている最中には、バッファメモリにおける記録対象の記録データが格納されたセグメントに対してさらに記録データを書き込むことができない。すなわち、従来のハードディスク装置においては、ＺＬＷが完了するまではホスト装置からバッファメモリの当該セグメントへの記録データの転送を行うことができなかった。
【００１３】
ここで、ＺＬＷを行う場合にホスト装置からバッファメモリへの転送を停止する時間は、最大でも磁気ヘッドが磁気ディスクを１周するのに要する時間に相当し、一般的に１０ｍｓ程度である。従来のハードディスク装置は、主としてパーソナルコンピュータ装置などにおける外部記憶手段として用いられているため、上述した１０ｍｓ程度の転送停止時間は、これまであまり問題とされていなかった。
【００１４】
しかしながら、例えば、各種の放送を録画再生する録画装置や、映像データや音声データ等をストリーム配信するサーバ装置などにハードディスク装置を搭載して用いる場合には、比較的大きなサイズの連続したデータを遅延なくリアルタイムで記録再生することが極めて重要となる。このように、大きなサイズの連続したデータを記録する場合には、ＺＬＷによるホスト装置からバッファメモリへの転送が停止が大きく影響し、ハードディスク装置への記録データがスムーズに転送されなくなってしまう。この結果、記録再生動作を正常に行うことができなくなったり、記録再生される映像や音声にノイズが生じてしまうなどの問題が生じてしまう。
【００１５】
そこで、本発明は、上述した従来の実情を鑑みてなされたものであり、ホスト装置、バッファメモリ、及び記録ヘッド間での記録データの転送を効率的に行うことにより、大きなサイズの連続した記録データを安定して記録することが可能なディスク制御装置及びディスク制御方法を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、ディスク上の連続したセクタに記録すべき一連の記録データがホスト装置から送出されたときに、この記録データをバッファメモリに転送して一時記憶させるとともに、上記バッファメモリに記憶された記録データを、ディスクに対して記録を行う記録ヘッドに転送することにより、上記ディスクに対する記録動作を制御するディスク制御装置において、上記一連の記録データを、上記記録ヘッドが現在位置するセクタから上記連続したセクタの末尾までのＺＬＷ領域に記録すべき記録データと、上記連続したセクタの先頭から上記記録ヘッドが現在位置するセクタまでのｎＺＬＷ領域に記録すべき記録データとに分割する分割手段と、上記記録ヘッドが上記ＺＬＷ領域にアクセスする間は上記記録ヘッドが記録を完了したセクタ数を計数せず、上記記録ヘッドが上記ｎＺＬＷ領域にアクセスする間にだけ、上記記録ヘッドが記録を完了したセクタ数を計数して、上記バッファメモリの空きサイズを算出する第１の計数手段と、上記分割手段により分割された記録データを、上記記録ヘッドが上記ＺＬＷ領域及び上記ｎＺＬＷ領域にアクセスする間にそれぞれ上記バッファメモリから上記記録ヘッドに転送するとともに、上記第１の計数手段により算出されたバッファメモリの空きサイズに基づいて、上記ホスト装置から上記バッファメモリへの記録データの転送を行う転送手段とを備え、 上記第１の計数手段は、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、当該ＺＬＷ領域におけるセクタ数が加算されることを特徴とする。
【００１７】
また、本発明は、ディスク上の連続したセクタに記録すべき一連の記録データがホスト装置から送出されたときに、この記録データをバッファメモリに転送して一時記憶させるとともに、上記バッファメモリに記憶された記録データを、ディスクに対して記録を行う記録ヘッドに転送することにより、上記ディスクに対する記録動作を制御するディスク制御方法において、上記一連の記録データを、上記記録ヘッドが現在位置するセクタから上記連続したセクタの末尾までのＺＬＷ領域に記録すべき記録データと、上記連続したセクタの先頭から上記記録ヘッドが現在位置するセクタまでのｎＺＬＷ領域に記録すべき記録データとに分割する分割ステップと、上記記録ヘッドが上記ＺＬＷ領域にアクセスする間は上記記録ヘッドが記録を完了したセクタ数を計数せず、上記記録ヘッドが上記ｎＺＬＷ領域にアクセスする間にだけ、上記記録ヘッドが記録を完了したセクタ数を計数して、上記バッファメモリの空きサイズを算出する第１の計数ステップと、上記分割ステップで分割された記録データを、上記記録ヘッドが上記ＺＬＷ領域及び上記ｎＺＬＷ領域にアクセスする間にそれぞれ上記バッファメモリから上記記録ヘッドに転送するとともに、上記第１の計数ステップで算出されたバッファメモリの空きサイズに基づいて、上記ホスト装置から上記バッファメモリへの記録データの転送を行う転送ステップとを有し、上記第１の計数ステップにおいては、上記記録ヘッドによる上記ＺＬＷ領域及び上記ｎＺＬＷ領域への記録が完了したときに、当該ＺＬＷ領域におけるセクタ数を加算することを特徴とする。
【００１８】
以上のように構成された本発明においては、記録ヘッドがＺＬＷ領域に対して記録動作している間は、記録が完了したセクタ数が第１の計数手段によって計数されず、ｎＺＬＷ領域に対して記録動作を行うときだけ記録が完了したセクタ数が計数されることとなる。したがって、第１の計数手段は、記録ヘッドがＺＬＷ領域に対して記録動作している間にバッファメモリの空きサイズを不用意に変更してしまうことがないだけでなく、ｎＺＬＷ領域への記録が完了したセクタ数に応じてバッファメモリの空きサイズを更新することができる。そして、この第１の計数手段により算出されたバッファメモリの空きサイズに基づいて、ホスト装置からバッファメモリへの記録データの転送が行われている。
【００１９】
すなわち、本発明では、第１の計数手段によってＺＬＷ領域への記録が完了するまでバッファメモリの空きサイズが保持されることから、まだ記録ヘッドに転送していない記録データがホスト装置から転送された記録データによって誤って上書きされてしまうことがない。したがって、バッファメモリから記録ヘッドへ記録データを転送すると同時に、ホスト装置からバッファメモリへ記録データを転送することができる。また、第１の計数手段によってバッファメモリの空きサイズを確実に管理できることから、このバッファメモリに設定された特定のセグメントにおいて、記録データが記録ヘッドに対して転送中であっても、このセグメントに対してホスト装置からの転送を行うことができる。
【００２０】
さらに、第１の計数手段は、ｎＺＬＷ領域への記録が完了したセクタ数を計数していることから、このｎＺＬＷ領域に対して記録済みの記録データが保持されたメモリ領域をバッファメモリから随時解放することができる。したがって、ＺＬＷ領域とｎＺＬＷ領域とへの記録が全て完了する前に、バッファメモリの空きサイズを随時増大させることができ、ホスト装置からバッファメモリへの転送を効率的に行うことができる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以下では、本発明を適用した一構成例として、図１に示すようなハードディスク装置１について説明する。
【００２２】
なお、図１は、ハードディスク装置１の要部のみを示す概略構成図である。また、本発明は、図１に示すようなハードディスク装置１への適用に限定されるものではなく、各種の記録再生装置に広く適用することができる。このような記録再生装置としては、例えば、光磁気ディスク装置や相変化型ディスク装置、或いは、光ビームを照射しながら信号記録層に対する磁気的な記録再生を行うような、いわゆる光ハードディスク装置を挙げることができる。
【００２３】
また、以下の説明においては、従来のハードディスク装置と同様に、磁気ディスク上に同心円状に複数の記録トラックが設定され、それぞれの記録トラックに図１１に示したように複数のセクタが設定されているものとする。本発明は、このように同心円状に記録トラックが設定されている磁気ディスクに対して記録を行う場合に適用して好適であるが、例えばスパイラル状に記録トラックが設定されている場合にも適用することができる。なお、ハードディスク装置においては、通常、各セクタ毎に５１２バイトのデータが記録される。
【００２４】
ハードディスク装置１は、図１に示すように、箱状のカバー２と、例えばアルミニウム合金等の金属板からなるベース３とにより構成される筐体４の内部に、各構成部材が配設されてなる。
【００２５】
ベース３には、記録媒体である磁気ディスク５と、この磁気ディスク５を所定の速度で回転駆動するスピンドルモータ６と、磁気ディスク５に対して情報信号の記録再生を行うための記録再生機構７とが配設されている。
【００２６】
磁気ディスク５は、例えばガラス材料や樹脂材料等によって円板状に形成された基板上に、磁性層が薄膜状に形成されてなる。また、磁気ディスク５は、スピンドルモータ６に中心軸を合わせて接合されており、磁性層に対する記録再生が行われる際に、スピンドルモータ６によって、例えば図１中矢印Ａで示す向きに回転駆動される。
【００２７】
スピンドルモータ６は、後述するサーボ回路によって制御されており、記録再生時に磁気ディスク５を角速度一定で回転駆動する。
【００２８】
記録再生機構７は、磁気ディスク５に対して情報信号の記録再生を行う記録再生ヘッドが備えられた浮上スライダ８と、この浮上スライダ８を支持するアクチュエータアーム９と、このアクチュエータアーム９を回転駆動するボイスコイルモータ１０とによって構成されている。
【００２９】
浮上スライダ８は、アクチュエータアーム９の先端部に可動自在に取り付けられている。浮上スライダ８は、このアクチュエータアーム９によって支持されるとともに、回転駆動される磁気ディスク５の主面上を浮上走行しながら、この磁気ディスク５に対して記録再生ヘッドにより情報信号の記録再生を行う。
【００３０】
アクチュエータアーム９は、ベース３に対して、回転軸９ａを中心として回転自在に取り付けられており、ボイスコイルモータ１０によって回転駆動される。これにより、アクチュエータアーム９は、図１中矢印Ｂで示すように、先端部に取り付けられた浮上スライダ８を磁気ディスク５の径方向に移動自在とされている。
【００３１】
ボイスコイルモータ１０は、アクチュエータアーム９の後端部に取り付けられたボイスコイル１１と、ベース３上でボイスコイル１１と対向する位置に配設されたマグネット１２とによって構成されている。ボイスコイルモータ１０は、ボイスコイル１１に電流が供給されることにより、このボイスコイル１１とマグネット１２との間に生じる電磁気的な作用を利用することによって、アクチュエータアーム９を回転駆動する。このとき、ボイスコイル１１に供給される電流は、ベース３の裏面側に配設された制御回路（図示せず。）によって制御される。
【００３２】
すなわち、制御回路は、ボイスコイルモータ１０に供給する電流を制御することにより、アクチュエータアーム９のシーク動作を制御する。ハードディスク装置１においては、このように制御回路がアクチュエータアーム９のシーク動作を制御することにより、磁気ディスク５上の任意の位置に浮上スライダ５を移動することが可能とされている。
【００３３】
以下では、上述した制御回路について、図２を参照しながら詳細に説明する。ハードディスク装置１に備えられる制御回路２０は、図２に示すように、このハードディスク装置１に対して接続されるコンピュータやＡＶ機器などのホスト装置１００に対する各種信号の入出力を行うとともに、ハードディスク装置１全体の動作の制御を行うＨＤＣ（Hard Disk Controller）部２１と、スピンドルモータ６及びボイスコイルモータ１０の動作を制御するサーボ回路部２２と、ホスト装置１００に対して入出力される記録データを記録再生ヘッド１１０で記録再生する信号に変換処理する信号処理部２３と、記録再生ヘッド１１０で記録再生する信号を増幅するプリアンプ２４と、ＨＤＣ部２１に接続されたバッファメモリ２５とを備えている。
【００３４】
サーボ回路部２２は、ＨＤＣ部２１からの要求に応じて、スピンドルモータ６及びボイスコイルモータ１０の動作をサーボ制御する。
【００３５】
信号処理部２３は、ホスト装置１００から送出された記録データに対して変調処理や符号化処理などを施すことにより記録信号を生成し、プリアンプ１１０に出力する。プリアンプ２４は、信号処理部２３から入力された記録信号を増幅して、記録再生ヘッド１１０（図１では図示せず。）に出力する。記録再生ヘッド１１０は、磁気ディスク５上に記録信号に応じた磁区を形成し、これにより情報の記録が行われる。
【００３６】
また、磁気ディスク５に磁区として記録された信号は、記録再生ヘッド１１０により検出されるとともに、プリアンプ２４に入力される。プリアンプ２４は、記録再生ヘッド１１０から入力された信号を増幅して信号処理部２３に出力する。そして、信号処理部２３は、プリアンプ２４から入力された信号に対して復号化処理や復調処理を施すことにより再生データを生成し、この再生データをＨＤＣ部２１に出力する。ＨＤＣ部２１は、信号処理部２３から入力された再生データをバッファメモリ２５に一時記憶させるとともに、このバッファメモリ２５に記憶された再生データを適宜ホスト装置１００に送出する。これにより、磁気ディスク５に記録された情報の再生が行われる。
【００３７】
ここで、ハードディスク装置１においては、上述のように記録動作する際に、ホスト装置１００から送出された記録データがＨＤＣ部２１によってバッファメモリ２５に転送されて一時記憶されるとともに、このバッファメモリ２５に記憶された記録データがＨＤＣ部２１によって信号処理部２３及びプリアンプ２４を介して記録再生ヘッド１１０に転送される。
【００３８】
すなわち、ＨＤＣ部２１では、ホスト装置１００から送出された記録データをバッファメモリ２５に一時的に記憶させ、このバッファメモリ２５に記憶された記録データを記録再生ヘッド１１０に転送する。ハードディスク装置１は、記録データをバッファメモリ２５に一時的に記憶した後で記録再生ヘッド１１０に転送していることにより、例えば記録再生ヘッド１１０を磁気ディスク５上の所定の位置までシーク動作させるなどして、記録準備が整うまでの間であっても、ホスト装置１００から連続して記録データを受け取ることが可能とされている。
【００３９】
なお、上述のようにＨＤＣ部２１で転送処理を行うに際しては、例えば、半導体回路等によってハードウエア的に構成された回路によって実現されていてもよいし、転送処理の手順が記述されたプログラムに応じてＨＤＣ部２１が演算処理することによりソフトウエア的に実現されていてもよい。
【００４０】
ところで、ハードディスク装置１においては、ホスト装置１００から送出された記録データを磁気ディスク５上の連続したセクタに順次記録してゆく通常の記録方式により記録を行うことが可能とされている一方で、図１１を参照して説明したように、いわゆるＺＬＷ（Zero Latency Write）によって記録を行うことが可能とされている。
【００４１】
そこで、以下では、ハードディスク装置１がＺＬＷにより記録を行う場合について説明する。
【００４２】
ハードディスク装置１において、このＺＬＷによる記録を行う場合には、磁気ディスク上の点Ｓ２に磁気ヘッドが位置しているときに、点Ｓ０から点Ｓ１までの連続したセクタに記録すべき一連の記録データがホスト装置１００から送出されると、先ず、点Ｓ２から点Ｓ１までの一連のセクタに対する記録を行い、次に、点Ｓ０から点Ｓ２までの一連のセクタに対する記録を行う。なお、以下の説明においては、先の説明と同様に、図１１に示す点Ｓ２から点Ｓ１までの一連のセクタのように、記録ヘッドが現在位置するセクタから記録すべき連続したセクタの末尾までの記録領域のことをＺＬＷ領域と称し、点Ｓ０から点Ｓ２までの一連のセクタのように、記録すべき連続したセクタの先頭から記録ヘッドが現在位置するセクタまでの記録領域のことをｎＺＬＷ領域と称する。
【００４３】
先ず、ホスト装置１００から一連の記録データが送出されると、ＨＤＣ部２１は、この記録データをバッファメモリ２５に転送して一時的に記憶させる。このとき、記録データは、図３に示すようなメモリ空間を有するバッファメモリ２５における特定のセグメント内に、図４に示すように連続して格納される。
【００４４】
次に、ＨＤＣ部２１は、バッファメモリ２５内に格納された記録データを、図４に示すように、ｎＺＬＷ領域に記録すべき記録データと、ＺＬＷ領域に記録すべき記録データとに分割する。具体的には、ＨＤＣ部２１によって、ｎＺＬＷ領域に記録すべき記録データと、ＺＬＷ領域に記録すべき記録データと対応して、それぞれ記録動作を指示する情報群（以下、キューエントリと称する。）が生成される。
【００４５】
このキューエントリは、例えば図５に示すような構造とされる。すなわち、キューエントリは、このキューエントリがＺＬＷ領域又はｎＺＬＷ領域のいずれに記録すべき記録データのものかを示すＺフラグと、分割された記録データのバッファメモリ２５における先頭アドレスを示すＤＰと、このキューエントリが示す記録データを磁気ディスク５上に書き込む先頭セクタを示すＲＥＱＳＥＱと、このキューエントリが示す記録データが磁気ディスク５上で書き込みが完了する末尾セクタを示すＳＴＯＰＳＥＱとにより構成されている。
【００４６】
そして、例えば、ＺＬＷ領域に対して記録すべき記録データに対応するキューエントリとして、Ｚフラグが１であり、ＤＰが図４中に示すＤＰ２であるキューエントリが生成され、ｎＺＬＷ領域に対して記録すべき記録データに対応するキューエントリとして、Ｚフラグが０であり、ＤＰが図４中に示すＤＰ１であるキューエントリがＨＤＣ部２１によって生成される。
【００４７】
次に、ＨＤＣ部２１は、生成したキューエントリに従ってバッファメモリ２５内に一時記憶された記録データを記録再生ヘッド１１０に転送する。このとき、ＨＤＣ部２１は、記録再生ヘッド１１０に転送した記録データの記録が完了したことを検出して、バッファメモリ２５内の空きサイズを随時算出しながら、この空きサイズに基づいてホスト装置１００からバッファメモリ２５への記録データの転送も同時に行うように構成されている。
【００４８】
ここで、ＨＤＣ部２１がバッファメモリ２５内の空きサイズを算出するに際しては、本発明をどのように適用するかに応じて様々な構成により実現することが考えられるが、以下では、本発明の最も望ましい適用例である第１の実施の形態として、ＨＤＣ部２１内に備えられた図６に示すようなハードウエア機構により実現する場合について説明する。
【００４９】
すなわち、ＨＤＣ部２１内には、図６に示すように、スイッチＳＷ１と、複数のカウンタ（ＤＢＣＴＲ，ＤＢＣＮＴ，ＷＢＣＴＲ，ＤＢＣＴＲＺ，ＤＢＣＮＴＺ，ＷＢＣＴＲＺ）と、ＣＰＵとが備えられているものとする。
【００５０】
スイッチＳＷ１には、記録再生ヘッド１１０において１セクタ分の記録が完了する毎に、Write Complete信号が入力される。このWrite Complete信号は、例えば、記録再生ヘッド１１０から直接出力される信号であってもよいし、例えば信号処理部２３のような記録再生ヘッド１１０の周辺回路から出力される信号であってもよい。
【００５１】
また、スイッチＳＷ１は、図５に示したキューエントリにおけるＺフラグに応じて例えばＣＰＵ等によって制御され、Ｚフラグが「０」である場合にＤＢＣＴＲ側に接続され、「１」である場合にＤＢＣＴＲＺ側に接続される。これにより、ＺＬＷ領域に対して記録を行っているときに入力されたWrite Complete信号は、ＤＢＣＴＲＺに入力され、ｎＺＬＷ領域に対して記録を行っているときに入力されたWrite Complete信号は、ＤＢＣＴＲに入力される。
【００５２】
ＤＢＣＴＲ及びＤＢＣＴＲＺは、Write Complete信号が入力される毎に保持する値が「１」増加するカウンタであり、ＣＰＵからreset信号が入力されたときに、保持する値が「０」にリセットされる。
【００５３】
ＤＢＣＮＴは、ＣＰＵからsub-release信号が入力されると、自身が保持する値にＤＢＣＴＲが保持する値を加算するカウンタである。また、ＤＢＣＮＴＺは、ＣＰＵからsub-release信号が入力されると、自身が保持する値にＤＢＣＴＲＺが保持する値を加算するカウンタである。
【００５４】
ＣＰＵは、記録再生ヘッド１１０が磁気ディスク５に設定されたサーボエリアを跨いだ時点でsub-release信号を出力する。したがって、ＤＢＣＮＴ及びＤＢＣＮＴＺには、それぞれ、ｎＺＬＷ領域或いはＺＬＷ領域に対して記録を行っているときに、ＣＰＵからsub-release信号が出力されるサーボエリアの直前に位置するサーボエリア以降で記録が正常に完了したセクタの数が保持されることとなる。なお、ＣＰＵがsub-release信号を出力する動作のことを、以下ではサブリリースと称する。
【００５５】
このサブリリースの直後に、ＤＢＣＴＲ及びＤＢＣＴＲＺは、保持する値が「０」にリセットされる。
【００５６】
ＷＢＣＴＲは、ＣＰＵからrelease信号が入力されると、自身の値にＤＢＣＮＴが保持する値を加算するカウンタである。また、ＷＢＣＴＲＺは、ＣＰＵからrelease信号が入力されると、自身の値にＤＢＣＮＴＺが保持する値を加算するカウンタである。
【００５７】
ＣＰＵは、記録再生ヘッド１１０が磁気ディスク５に設定されたサーボエリアを跨いだ時点、或いはサブリリースが行われる直前の時点でrelease信号を出力する。なお、ＣＰＵがrelease信号を出力する動作のことを、以下ではリリースと称する。
【００５８】
このリリースの直後に、ＤＢＣＮＴ及びＤＢＣＮＴＺは、保持する値が「０」にリセットされる。したがって、ＤＢＣＮＴ及びＤＢＣＮＴＺは、リリースが行われる直前のサーボエリアよりも前に記録が正常に完了し、且つ未だＷＢＣＴＲ或いはＷＢＣＴＲＺに値が移行されていないセクタ数が保持されることとなる。
【００５９】
つぎに、以上のようなハードウエア機構をＨＤＣ部２１が備える場合に、このＨＤＣ部２１で行われる実際の処理について説明する。
【００６０】
以下では、説明の便宜上、図７に示すようにサーボエリアとセクタとが設定された磁気ディスクに対して、記録トラックの１周に亘ってＺＬＷにより記録を行う場合を想定して説明する。
【００６１】
本例における磁気ディスクは、図７に示すように、記録トラックの１周あたり４つのサーボエリアが設定され、それぞれのサーボエリアに原点位置から順に０，１，２，３と番号が割り当てられている。また、各サーボエリアの間がデータエリアとして設定されており、それぞれのデータエリアに直前のサーボエリアの番号と同じ番号が割り当てられている。さらに、記録トラックの１周あたりのセクタの数は１０であり、データエリア０の先頭に位置するセクタから順に０，１，２，３，・・・と番号が割り当てられている。そして、データエリア０の直前にセクタ９の末尾が位置している。また、セクタ２及びセクタ７は、サーボエリア１及びサーボエリア３に跨って設定されている。
【００６２】
このように設定された磁気ディスクに対して、セクタ９を先頭とし、セクタ９を末尾とする連続したセクタに対して記録データを記録するときに、時刻ｔ０において、記録再生ヘッド１１０がサーボエリア２の開始位置に存在してるものとする。また、時刻ｔ０において、記録すべき一連の記録データがバッファメモリ２５内に図４に示すように格納され、ＺＬＷを開始する準備が整っているものとする。
【００６３】
このとき、時刻ｔ０においては、記録再生ヘッド１１０がサーボエリア２の開始位置に存在するので、直後のセクタであるセクタ５から記録動作を開始すべきであるとＨＤＣ部２１内のＣＰＵによって検知される。また、ホスト装置１００からは、セクタ０を先頭として一連の記録データを記録すべきであるとの要求がなされているものとする。このように、記録再生ヘッド１１０の現在位置と、記録データを記録すべき先頭セクタとは、ＣＰＵにとって既知であるものとする。
【００６４】
そこで、先ずＣＰＵは、記録再生ヘッド１１０の現在位置と、記録データを記録すべき先頭セクタとに基づいて、ＺＬＷ領域及びｎＺＬＷ領域に記録する記録データに対応したキューエントリをそれぞれ生成する。このとき生成されるキューエントリは、図８に示すようなデータ構造とされる。
【００６５】
すなわち、ＺＬＷ領域のキューエントリは、Ｚフラグが「１」とされており、このキューエントリにより示される記録データが、本来（ＺＬＷを行わずに通常の記録を行う場合には）後から磁気ディスク５に記録されるものであることを示している。また、このキューエントリは、ＤＰ、ＲＥＱＳＥＱ、ＳＴＯＰＳＥＱの値がそれぞれＤＰ２、５、９に設定されていることから、このキューエントリが示す一連の記録データは、バッファメモリ２５内でアドレスＤＰ２以降に記憶されており、磁気ディスク上でセクタ５からセクタ９に記録されることを示している。
【００６６】
したがって、このキューエントリは、ＺＬＷ領域への記録が完了するまでの間は、アドレスＤＰ２以降で記録データが記憶されたバッファメモリ２５内のメモリ領域を、ホスト装置１００から転送された他の記録データによって上書きしてはならないことを示している。
【００６７】
一方、ｎＺＬＷ領域のキューエントリは、Ｚフラグが「０」とされており、このキューエントリにより示される記録データを磁気ディスク上に記録したときに、記録済みの記録データが格納されたバッファメモリ２５内のメモリ領域に順次、ホスト装置１００から他の記録データを転送してもよいことを示している。また、このキューエントリは、ＤＰ、ＲＥＱＳＥＱ、ＳＴＯＰＳＥＱの値がそれぞれＤＰ１、０，４に設定されていることから、このキューエントリが示す一連の記録データは、バッファメモリ２５内でアドレスＤＰ１以降に記憶されており、磁気ディスク上でセクタ０からセクタ４に記録されることを示している。
【００６８】
ＨＤＣ部２１におけるＣＰＵは、以上のようなキューエントリを生成することによって、バッファメモリ２５内に格納された一連の記録データを、図４に示すように分割する。これらのキューエントリは、時刻ｔ１までの間にＣＰＵによって生成される。
【００６９】
また、ハードディスク装置１は、キューエントリに従って記録動作するように構成されており、図７に示す時刻ｔ１においては、ＺＬＷ領域のキューエントリに基づいて記録が開始される。
【００７０】
このとき、ＺＬＷ領域のキューエントリは、Ｚフラグの値が「１」であることから、図６に示すスイッチＳＷ１は、ＤＢＣＴＲＺ側に接続されている。したがって、時刻ｔ２においてセクタ５に対する記録が完了すると、Write Complete信号がＤＢＣＴＲＺに入力され、このＤＢＣＴＲＺの値が「０」から「１」に変化する。
【００７１】
次に、時刻ｔ３において、セクタ６に対する記録が完了すると、Write Complete信号が再度ＤＢＣＴＲＺに入力され、このＤＢＣＴＲＺの値が「１」から「２」に変化する。
【００７２】
次に、時刻ｔ４において、記録再生ヘッド１１０がサーボエリア３を跨ぐと、サブリリースとリセットが行われ、ＤＢＣＴＲＺに保持された値がＤＢＣＮＴＺに加算されるとともに、このＤＢＣＴＲＺの内容が「０」にリセットされる。これにより、ＤＢＣＮＴＺの値は「２」となる。
【００７３】
次に、時刻ｔ５においてセクタ７に対する記録が完了すると、Write Complete信号がＤＢＣＴＲＺに入力され、このＤＢＣＴＲＺの値が「０」から「１」に変化する。
【００７４】
次に、時刻ｔ６においてセクタ８に対する記録が完了すると、Write Complete信号がＤＢＣＴＲＺに入力され、このＤＢＣＴＲＺの値が「１」から「２」に変化する。
【００７５】
次に、時刻ｔ７においてセクタ９に対する記録が完了すると、Write Complete信号がＤＢＣＴＲＺに入力され、このＤＢＣＴＲＺの値が「２」から「３」に変化する。また、ＺＬＷ領域のキューエントリにおけるＳＴＯＰＳＥＱの値が「９」であることから、この時点でこのキューエントリが示す記録動作が終了する。
【００７６】
次に、時刻ｔ８において記録再生ヘッド１１０がサーボエリア０の末尾に達すると、ＣＰＵによってリリースが行われる。これにより、ＤＢＣＮＴＺの内容がＷＢＣＴＲＺに加算され、ＤＢＣＴＮＺの値が「０」にリセットされる。ＷＢＣＴＲＺの値は、予め「０」とされていることから、これにより値が「２」に変化する。また、この時刻ｔ８においては、記録再生ヘッド１１０がサーボエリア０を跨いでいることから、時刻ｔ４のときと同様にサブリリースが行われ、ＤＢＣＴＲＺの内容がＤＢＣＮＴＺに加算されるとともに、ＤＢＣＴＲＺの内容が「０」にリセットされる。このとき、ＤＢＣＴＲＺの値は「３」であり、ＤＢＣＮＴＺの内容は直前で「０」にリセットされていることから、ＤＢＣＮＴＺの値は新たに「３」となる。
【００７７】
また、この時刻ｔ８以降は、ｎＺＬＷ領域のキューエントリが示す記録動作が開始される。このキューエントリは、Ｚフラグの値が「０」に設定されているため、図６に示すスイッチＳＷ１は、ＤＢＣＴＲ側に切り換えられる。
【００７８】
次に、時刻ｔ９においてセクタ０に対する記録が完了すると、Write Complete信号がＤＢＣＴＲに入力され、このＤＢＣＴＲの値が「０」から「１」に変化する。
【００７９】
次に、時刻ｔ１０において、セクタ１に対する記録が完了すると、Write Complete信号が再度ＤＢＣＴＲに入力され、このＤＢＣＴＲの値が「１」から「２」に変化する。
【００８０】
次に、時刻ｔ１１において、記録再生ヘッド１１０がサーボエリア１を跨ぐと、ＣＰＵによってサブリリースとリセットが行われ、ＤＢＣＴＲに保持された値がＤＢＣＮＴに加算されるとともに、このＤＢＣＴＲの内容が「０」にリセットされる。これにより、ＤＢＣＮＴの値は「２」となる。
【００８１】
次に、時刻ｔ１２においてセクタ２に対する記録が完了すると、Write Complete信号がＤＢＣＴＲに入力され、このＤＢＣＴＲの値が「０」から「１」に変化する。
【００８２】
次に、時刻ｔ１３においてセクタ３に対する記録が完了すると、Write Complete信号がＤＢＣＴＲに入力され、このＤＢＣＴＲの値が「１」から「２」に変化する。
【００８３】
次に、時刻ｔ１４においてセクタ４に対する記録が完了すると、Write Complete信号がＤＢＣＴＲに入力され、このＤＢＣＴＲの値が「２」から「３」に変化する。また、ｎＺＬＷ領域のキューエントリにおけるＳＴＯＰＳＥＱの値が「４」であることから、この時点でこのキューエントリが示す記録動作が終了する。
【００８４】
次に、時刻ｔ１５において記録再生ヘッド１１０がサーボエリア２の末尾に達すると、ＣＰＵによってリリースが行われる。これにより、ＤＢＣＮＴの内容がＷＢＣＴＲに加算され、ＤＢＣＴＮの値が「０」にリセットされる。ＷＢＣＴＲの値は、バッファメモリ２５に転送された一連の記録データに応じて予め「９０」とされていることから、これにより値が「９２」に変化する。また、この時刻ｔ８においては、記録再生ヘッド１１０がサーボエリア２を跨いでいることから、時刻ｔ１１のときと同様にサブリリースが行われ、ＤＢＣＴＲの内容がＤＢＣＮＴに加算されるとともに、ＤＢＣＴＲの内容が「０」にリセットされる。このとき、ＤＢＣＴＲの値は「３」であり、ＤＢＣＮＴの内容は直前で「０」にリセットされていることから、ＤＢＣＮＴの値は新たに「３」となる。
【００８５】
次に、時刻ｔ１６において記録再生ヘッド１１０がサーボエリア３の末尾に達すると、ＣＰＵによってリリースが行われることにより、ＷＢＣＴＲにＤＢＣＮＴの内容が加算され、ＷＢＣＴＲの値が「９５」に変化する。また、ＣＰＵは、ＺＬＷ領域及びｎＺＬＷ領域の双方の記録動作が完了していることを検知して、ＷＢＣＴＲＺの内容をＷＢＣＴＲに加算するとともに、ＷＢＣＴＲＺの内容を「０」にリセットする。ＷＢＣＴＲＺの値は直前で「５」であるから、これにより、ＷＢＣＴＲの値は「１００」となる。
【００８６】
以上で、バッファメモリ２５に一時記憶された一連の記録データが全て記録再生ヘッドに転送され、ＺＬＷ領域とｎＺＬＷ領域との双方に対する記録動作が完了することとなる。
【００８７】
なお、上述においては、説明を簡略化するために、バッファメモリ２５に記憶された一連の記録データを記録再生ヘッド１１０に転送する処理についてのみ説明しているが、ＨＤＣ部２１における処理の実際は、バッファメモリ２５から記録再生ヘッド１１０への記録データの転送と、ホスト装置１００からバッファメモリ２５への記録データの転送とが同時に行われている。
【００８８】
すなわち、ＨＤＣ部２１は、上述のようにバッファメモリ２５から記録再生ヘッド１１０に対して記録データを転送しながら、ＷＢＣＴＲに保持された内容に応じてバッファメモリ２５の空きサイズを判断し、この空きサイズを超えない範囲でホスト装置１００からバッファメモリ２５に対して記録データを転送している。
【００８９】
このとき、記録再生ヘッド１１０がＺＬＷ領域に対して記録動作している間は、記録が完了したセクタ数がＷＢＣＴＲによってカウントされず、ｎＺＬＷ領域に対して記録動作を行うときだけ記録が完了したセクタ数がカウントされている。したがって、ＷＢＣＴＲは、記録再生ヘッド１１０がＺＬＷ領域に対して記録動作している間にバッファメモリ２５の空きサイズを不用意に変更してしまうことがないだけでなく、ｎＺＬＷ領域への記録が完了したセクタ数に応じてバッファメモリ２５の空きサイズを更新することができる。そして、このＷＢＣＴＲの内容が示すバッファメモリ２５の空きサイズに基づいて、ホスト装置１００からバッファメモリ２５への記録データの転送が行われている。
【００９０】
すなわち、ＷＢＣＴＲが示すバッファメモリ２５の空きサイズをＺＬＷ領域への記録が完了するまで保持していることから、まだ記録再生ヘッド１１０に転送していない記録データが、ホスト装置１１０から転送された他の記録データによってバッファメモリ２５内で誤って上書きされてしまうことがない。したがって、バッファメモリ２５から記録再生ヘッド１１０へ記録データを転送すると同時に、ホスト装置１００からバッファメモリ２５へ記録データを転送することが可能とされている。また、ＷＢＣＴＲによってバッファメモリ２５の空きサイズを確実に管理できることから、このバッファメモリ２５に設定された特定のセグメントにおいて、記録データが記録再生ヘッド１１０に対して転送中であっても、このセグメントに対してホスト装置１００からの転送を行うことができる。
【００９１】
さらに、ＷＢＣＴＲは、ｎＺＬＷ領域への記録が完了したセクタ数を計数していることから、このｎＺＬＷ領域に対して記録済みの記録データが保持されたメモリ領域をバッファメモリ２５から随時解放することができる。したがって、ＺＬＷ領域とｎＺＬＷ領域とへの記録が全て完了する前に、バッファメモリ２５の空きサイズを随時増大させることができ、ホスト装置１００からバッファメモリ２５への転送を効率的に行うことができる。
【００９２】
なお、上述においては、ＨＤＣ部２１がバッファメモリ２５内の空きサイズを算出するに際して、図６に示すようなハードウエア機構によって実現された場合について説明したが、ＨＤＣ部２１における処理は、ハードウエア機構によって実現することに限定されるものではなく、例えば処理手順が記述されたプログラムに応じてＨＤＣ部２１が上述した動作を演算処理することによってソフトウエア的に実現されていてもよい。ただし、ＺＬＷを行うに際しては、高いリアルタイム性が要求され、上述した一連の処理を極めて高速に行うことが重要であることから、ソフトウエア的に実現する場合には、高い演算能力が要求される。
【００９３】
また、図６に示す例においては、Write Complete信号が直接ＷＢＣＴＲ或いはＷＢＣＴＲＺに入力されておらず、それぞれＤＢＣＴＲ及びＤＢＣＮＴ、ＤＢＣＴＲＺ及びＤＢＣＮＴＺを介して記録が完了したセクタ数をカウントしている。
【００９４】
これらＤＢＣＴＲ及びＤＢＣＮＴ、或いはＤＢＣＴＲＺ及びＤＢＣＮＴＺは、ｎＺＬＷ領域或いはＺＬＷ領域で書き込みエラーが生じたときに、どのセクタでエラーが生じたのかを判定して、エラーが生じたセクタに対して再度記録を行うことを容易とする目的で備えられている。また、ＤＢＣＴＲ及びＤＢＣＮＴ、或いはＤＢＣＴＲＺ及びＤＢＣＮＴＺが備えられていることにより、図７に示すようにサーボエリアを跨いでセクタが設定されている場合であっても、書き込みエラーが生じたセクタを再度記録を行うことが容易となる。
【００９５】
したがって、このように書き込みエラーが生じた場合に再度記録を行わない場合には、これらＤＢＣＴＲ及びＤＢＣＮＴ、或いはＤＢＣＴＲＺ及びＤＢＣＮＴＺを省略して、ＨＤＣ部２１を例えば図９に示すような構成としてもよい。
【００９６】
また、図６に示す例においては、ＺＬＷ領域に対して記録が完了したセクタ数をＷＢＣＴＲＺによってカウントする構成とされている。しかしながら、ＺＬＷ領域に対して記録を行うセクタ数は、ホスト装置１００から記録データが転送された時点で既知であり、図８に示すキューエントリでも明示されている。
【００９７】
したがって、このＷＢＣＴＲＺを省略して、ＨＤＣ部２１を例えば図１０に示すような構成としてもよい。この場合には、キューエントリにおけるＺフラグに応じて、Ｚフラグが「０」である場合にスイッチＳＷ１がＷＢＣＴＲに接続され、Ｚフラグが「１」である場合に断絶される。これにより、ｎＺＬＷ領域に対して記録を行っているときに入力されたWrite Complete信号のみが、ＷＢＣＴＲに入力され、ＺＬＷ領域に対して記録を行っているときに入力されたWrite Complete信号は破棄されることとなる。このため、ＷＢＣＴＲは、ｎＺＬＷ領域に対して記録が完了したセクタ数をカウントすることとなる。
【００９８】
このように、ＺＬＷ領域に対して記録が完了したセクタ数のカウントを省略することにより、ＨＤＣ部２１における回路構成や演算処理を簡略化することができるが、この場合には、ＺＬＷ領域で書き込みエラーが生じたときに、どのセクタでエラーが生じたのかを判定することができなくなる。
【００９９】
また、図６に示す例においては、ＤＢＣＴＲ及びＤＢＣＮＴをスイッチＳＷ１の前段に設けているが、図９に示す構成と同様に、これらＤＢＣＴＲ及びＤＢＣＮＴは必ずしも設ける必要はない。また、図６に示す例と同様に、ＤＢＣＴＲ及びＤＢＣＮＴをスイッチＳＷ１の後段に設けるとしてもよい。
【０１００】
【発明の効果】
本発明においては、記録ヘッドがＺＬＷ領域に対して記録動作している間は、記録が完了したセクタ数が第１の計数手段によって計数されず、ｎＺＬＷ領域に対して記録動作を行うときだけ記録が完了したセクタ数が計数されることとなる。したがって、第１の計数手段は、記録ヘッドがＺＬＷ領域に対して記録動作している間にバッファメモリの空きサイズを不用意に変更してしまうことがないだけでなく、ｎＺＬＷ領域への記録が完了したセクタ数に応じてバッファメモリの空きサイズを算出することができる。そして、この第１の計数手段により算出されたバッファメモリの空きサイズに基づいて、ホスト装置からバッファメモリへの記録データの転送が行われている。
【０１０１】
すなわち、本発明では、第１の計数手段によってＺＬＷ領域への記録が完了するまでバッファメモリの空きサイズが保持されることから、まだ記録ヘッドに転送していない記録データがホスト装置から転送された記録データによって誤って上書きされてしまうことがない。したがって、バッファメモリから記録ヘッドへ記録データを転送すると同時に、ホスト装置からバッファメモリへ記録データを転送することができる。また、第１の計数手段によってバッファメモリの空きサイズを確実に管理できることから、このバッファメモリに設定された特定のセグメントにおいて、記録データが記録ヘッドに対して転送中であっても、このセグメントに対してホスト装置からの転送を行うことができる。
【０１０２】
さらに、第１の計数手段は、ｎＺＬＷ領域への記録が完了したセクタ数を計数していることから、このｎＺＬＷ領域に対して記録済みの記録データが保持されたメモリ領域をバッファメモリから随時解放することができる。したがって、ＺＬＷ領域とｎＺＬＷ領域とへの記録が全て完了する前に、バッファメモリの空きサイズを随時増大させることができ、ホスト装置からバッファメモリへの転送を効率的に行うことができる。
【０１０３】
したがって、本発明によれば、ＺＬＷを行う場合であっても効率的にバッファメモリの空きサイズを管理することができ、ホスト装置からバッファメモリへの転送と、バッファメモリから記録ヘッドへの転送とを同時に進行させることができる。すなわち、ホスト装置からバッファメモリへの記録データの転送が、ＺＬＷによって停止されてしまうことがない。これにより、大きなサイズの連続した記録データを高いリアルタイム性を確保しながら安定して記録することを実現することができる。
【図面の簡単な説明】
【図１】本発明を適用した一構成例として示すハードディスク装置の概略図である。
【図２】同ハードディスク装置に備えられる制御回路の一構成例を示す概略ブロック図である。
【図３】同ハードディスク装置における制御回路に備えられるバッファメモリのメモリ空間を示す模式図である。
【図４】同ハードディスク装置における制御回路に備えられるバッファメモリ内に、ホスト装置から転送される記録データが格納された状態を示す模式図である。
【図５】同ハードディスク装置においてＨＤＣ部が生成するキューエントリを説明するための模式図である。
【図６】同ハードディスク装置におけるＨＤＣ部に備えられるハードウエアの構成を示す概略ブロック図である。
【図７】同ハードディスク装置において、ＺＬＷを行う場合におけるＨＤＣ部の各カウンタ内の値の変化を示す模式図である。
【図８】同ハードディスク装置において、ＺＬＷを行う場合にＨＤＣ部が生成するキューエントリの一例を示す模式図である。
【図９】同ハードディスク装置におけるＨＤＣ部に備えられるハードウエアの別の構成を示す概略ブロック図である。
【図１０】同ハードディスク装置におけるＨＤＣ部に備えられるハードウエアのさらに別の構成を示す概略ブロック図である。
【図１１】ＺＬＷについて説明するための模式図である。
【図１２】従来のハードディスク装置の構成を示す概略ブロック図である。
【図１３】従来のハードディスク装置に備えられるバッファメモリのメモリ空間を示す模式図である。
【図１４】従来のハードディスク装置においてＺＬＷを行う場合に生じる問題点を説明するための図である。
【符号の説明】
１  ハードディスク装置、５  磁気ディスク、２０  制御回路、２１  ＨＤＣ部、２３  信号処理部、２５  バッファメモリ、１００  ホスト装置、１１０  記録再生ヘッド
【図１】
0003941480.tif 000002
【図２】
0003941480.tif 000003
【図３】
0003941480.tif 000004
【図４】
0003941480.tif 000005
【図５】
0003941480.tif 000006
【図６】
0003941480.tif 000007
【図７】
0003941480.tif 000008
【図８】
0003941480.tif 000009
【図９】
0003941480.tif 000010
【図１０】
0003941480.tif 000011
【図１１】
0003941480.tif 000012
【図１２】
0003941480.tif 000013
【図１３】
0003941480.tif 000014
【図１４】
0003941480.tif 000015