(57)【特許請求の範囲】
【請求項１】
ディスク記録媒体上に構成される複数のデータトラックから、ヘッドを介して要求データをアクセスするディスク記憶装置に適用するアクセス方法であって、
前記ヘッドの移動を伴って、前記ディスク記録媒体上の第１のデータトラックと第２のデータトラックとから交互に要求データをアクセスし、かつ当該第１及び第２の各データトラックのそれぞれにおいて連続するデータセクタをシーケンシャルにアクセスするときに、当該要求データ以外の先読みデータをアクセスするステップと、
前記要求データ及び先読みデータをバッファメモリに蓄積するステップとを有し、
前記各データトラックのデータ転送レート差に基づいて、データ転送レートの高いデータトラックから先読みデータをアクセスするアクセス時間を所定の時間分だけ確保することを特徴とするアクセス方法。
【請求項２】
前記アクセス時間として、前記データ転送レートの低いデータトラックから要求データをアクセスする時間に相当する時間分を確保することを特徴とする請求項１に記載のアクセス方法。
【請求項３】
ホストシステムからのアクセス要求に対応する要求データが前記バッファメモリに蓄積されているときには、当該要求データを前記バッファメモリから前記ホストシステムに転送することを特徴とする請求項１に記載のアクセス方法。
【請求項４】
前記ホストシステムからのアクセス要求に応じて、データ転送レートの高いデータトラックから要求データをアクセスするときに、当該要求データが前記バッファメモリに蓄積されていれば、当該要求データを前記バッファメモリから前記ホストシステムに転送し、
当該データトラックから前記所定の時間分だけ先読みデータをアクセスすることを特徴とする請求項３に記載のアクセス方法。
【請求項５】
同心円状の多数のデータトラックが構成されたディスク記録媒体と、
前記各データトラックに対してデータの記録又は再生を行なうためのヘッドと、
前記ヘッドを前記各データトラック間を移動させるためのシーク機構と、
前記各データトラックの第１のデータトラックと第２のデータトラックとから交互に要求データをアクセスし、かつ当該第１及び第２の各データトラックのそれぞれにおいて連続するデータセクタをシーケンシャルにアクセスするときに、当該要求データ以外の先読みデータを、前記各データトラックのデータ転送レート差に基づいて所定の時間分だけアクセスするように制御する制御手段と
を具備したことを特徴とするディスク記憶装置。
【請求項６】
前記制御手段は、前記各データトラックのデータ転送レート差に基づいて、データ転送レートの高いデータトラックから先読みデータをアクセスするアクセス時間を確保することを特徴とする請求項５に記載のディスク記憶装置。
【請求項７】
前記ディスクからアクセスされた要求データ及び先読みデータを一時的に蓄積するバッファメモリを有し、
前記制御手段は、前記バッファメモリから要求データをホストシステムに転送し、また前記先読みデータから当該要求データをホストシステムに転送するように制御することを特徴とする請求項５又は請求項６のいずれか１項に記載のディスク記憶装置。
【請求項８】
ディスク記録媒体上に構成される複数のデータトラックから、ヘッドを介して要求データをアクセスするディスク記憶装置に適用するアクセス方法であって、
前記ヘッドの移動を伴って、前記ディスク記録媒体上の第１のデータトラックと第２のデータトラックとから交互に要求データをアクセスし、かつ当該第１及び第２の各データトラックのそれぞれにおいて連続するデータセクタをシーケンシャルにアクセスするときに、当該要求データ以外の先読みデータをアクセスするステップと、
前記要求データ及び先読みデータをバッファメモリに蓄積するステップとを有し、
前記各データトラックのアクセス制限時間に応じて、前記要求データのアクセス時間以外に、前記先読みデータをアクセスするアクセス時間を所定の時間分だけ確保することを特徴とするアクセス方法。
【請求項９】
ホストシステムから制限されている前記各データトラックのアクセス制限時間内で、前記各データトラックに対するディスクアクセスに要する時間を最大限に設定するステップを付加したことを特徴とする請求項８に記載のアクセス方法。
【請求項１０】
同心円状の多数のデータトラックが構成されたディスク記録媒体と、
前記各データトラックに対してデータの記録又は再生を行なうためのヘッドと、
前記ヘッドを前記各データトラック間を移動させるためのシーク機構と、
前記各データトラックの第１のデータトラックと第２のデータトラックとから交互に要求データをアクセスし、かつ当該第１及び第２の各データトラックのそれぞれにおいて連続するデータセクタをシーケンシャルにアクセスするときに、前記各データトラックのアクセス制限時間に応じて、前記要求データのアクセス時間以外に、所定の時間分だけ前記先読みデータをアクセスするように制御する制御手段と
を具備したことを特徴とするディスク記憶装置。
【請求項１１】
前記制御手段は、前記各データトラックのアクセス制限時間内で、前記要求データのアクセス時間を除く最大限の時間分を前記先読みデータのアクセス時間として確保することを特徴とする請求項１０に記載のディスク記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にはハードディスクドライブなどのディスク記憶装置に関し、特に、ディスク記録媒体上の複数のデータトラックから連続的にデータをアクセスするアクセス方法の改善に関する。
【０００２】
【従来の技術】
近年、ハードディスクドライブを代表とするディスクドライブは、コンピュータデータだけでなく、音声データや映像データ（総称してＡＶデータ）を格納する記憶装置として利用されている。パーソナルコンピュータやディジタル・テレビジョン機器等のホストシステムは、ディスクドライブに録画動作や録音動作により格納されたＡＶデータをアクセスして、ディスプレイやスピーカなどの再生機器に再生する。
【０００３】
ところで、コンピュータデータとは異なり、ＡＶデータは連続的処理が要求されるため、アクセス動作には以下のような特徴がある。まず、ＡＶデータに対するアクセスでは、データの正確性よりも、例えば画像や音声のデータ量に応じて任意の転送レートを維持することが要求される。この転送レートを維持するために、ホストシステムは、ディスクドライブへのアクセスに対して任意の制限時間を設ける。ディスクドライブは、当該制限時間以内にアクセス処理を完了させることで、転送レートを維持している。
【０００４】
また、ＡＶデータに対するアクセスでは、ディスク記録媒体（以下単にディスクと表記）上に、シーケンシャルに続くアドレスへ連続的に記録されたり、あるいは当該ディスク上から連続的に再生される。この場合、ディスク上の指定のデータトラックにＡＶデータを記録しながら、別のデータトラックから以前に記録されたＡＶデータを再生するようなアクセスも頻繁に実行される。このようなアクセスでは、一方の記録又は再生に関するアクセスを優先的に実行するのではなく、双方のアクセスが交互に実行される。
【０００５】
一般的に、ディスクドライブは、ホストシステムからの要求（コマンドの発行）に応じて、前記のようなアクセス動作を実行する。しかし、ホストシステムからの要求に従ったアクセス動作のみでは、ホストシステム間でのデータ転送のパフォーマンスが低下する。具体的には、ディスクドライブでは、ディスク上から指定のデータを記録又は再生するアクセス動作時には、データ転送には関係しないヘッドのシーク動作等の処理時間（いわば準備処理に要する時間）が必要となるためである。
【０００６】
そこで、通常のディスクドライブでは、ホストシステムからの要求データのアクセス動作の合間に、シーケンシャルに続くデータへのアクセスを継続する方法が採用されている。再生に関するアクセス動作では、ディスク上の要求データがアクセスされた後に、当該要求データセクタに連続するデータセクタからデータを継続してアクセスする先読み動作が実行される。一方、記録に関するアクセス動作では、ホストシステムからドライブ内のバッファメモリに転送された要求データ（ライトデータ）を、当該連続するデータセクタに書き込み続ける書き込み動作が実行される。
【０００７】
このような方法は、ホストシステム間のデータ転送（ホスト転送と称する場合がある）のパフォーマンスを向上させる上で有効である。しかしながら、前述の交互アクセス動作において、各データトラックに対してシーケンシャル・アクセスが交互に実行されると、再生における先読み動作がほとんどできない状況が発生することが確認されている。従って、単に通常のアクセス継続方法を採用しても、ＡＶデータを再生するときの交互アクセス動作では、必ずしもホスト転送のパフォーマンスを向上させることはできない。
【０００８】
【発明が解決しようとする課題】
通常のディスクドライブにおいて、アクセス継続方法を採用して、再生に関するアクセス動作時に先読み動作を実行することにより、ホスト転送のパフォーマンスを向上させることができる。しかしながら、前述したように、特にＡＶデータの再生などのシーケンシャルかつ交互にアクセスを実行するアクセス動作では、アクセス対象の異なるデータトラックに対するヘッドのシーク動作の回数や、ディスクの回転待ち時間などが関係して、再生における先読み動作がほとんどできない状況が発生する。このため、必ずしもホスト転送のパフォーマンスを向上させることはできない。このため、先行技術として、シーケンシャルかつ交互にアクセスを実行するアクセス動作では、各アクセス動作を最短時間で処理するための方法等が提案されている（例えば特開平６−１２１８８号公報を参照）。しかしながら、先行技術の方法でも、先読み動作を実行できない状況を解消できないため、ホスト転送のパフォーマンスを向上させることはできない。
【０００９】
そこで、本発明の目的は、特にシーケンシャルかつ交互にアクセスを実行するアクセス動作を実行する時に、ホスト転送のパフォーマンスを向上させて、アクセス動作全体の向上を図ることができるディスクドライブのアクセス方法を提供することにある。
【００１０】
【課題を解決するための手段】
本発明の観点は、特にディスク記録媒体上の複数のデータトラックに対して、データをシーケンシャルかつ交互にアクセスを実行するディスクドライブにおいて、先読み動作の確保及びシーク動作の回数削減を実現するアクセス方法に関する。
【００１１】
本発明の観点に従ったアクセス方法は、ディスク記録媒体上に構成される複数のデータトラックから、ヘッドを介して要求データをアクセスするディスク記憶装置に適用するアクセス方法であって、前記ヘッドの移動を伴って、前記ディスク記録媒体上の第１のデータトラックと第２のデータトラックとから交互に要求データをアクセスし、かつ当該第１及び第２の各データトラックのそれぞれにおいて連続するデータセクタをシーケンシャルにアクセスするときに、当該要求データ以外の先読みデータをアクセスするステップと、前記要求データ及び先読みデータをバッファメモリに蓄積するステップとを有し、前記各データトラックのデータ転送レート差に基づいて、データ転送レートの高いデータトラックから先読みデータをアクセスするアクセス時間を所定の時間分だけ確保する構成である。
【００１２】
このようなアクセス方法であれば、シーケンシャルかつ交互にアクセスを実行するアクセス動作時に、先読み動作を確実に実行できる。従って、先読みデータ量の増大化を実現し、当該先読みデータを要求データとしてホストシステムに転送できる可能性が高くなる。これにより、結果として、ヘッドのシーク回数を減少できるため、ホスト転送を含むアクセス動作全体のパフォーマンスを向上させることができる。
【００１３】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【００１４】
（第１の実施形態）
本実施形態に関するディスクドライブ１５は、図１に示すように、ホストシステム１６から発行されるリード／ライトコマンドに応じて、記録媒体であるディスク１をアクセスして、データの記録又は再生を実行する機構を有する。本実施形態のアクセス動作では、ディスク１上のデータトラックをアクセスするディスクアクセス（ＤＡ）と、バッファメモリ（バッファＲＡＭ）８のアクセスとは区別される。ホストシステム１６は、例えばパーソナルコンピュータや、ディジタル・テレビジョンなどのディジタル機器である。
【００１５】
ディスク１は、１枚または複数枚がスピンドルモータ（ＳＰＭ）２に取り付けられて回転される。ディスク１は、同心円状の多数のデータトラックが構成されており、当該各データトラックは複数のデータセクタに分割されている。アクセス動作では、ヘッド（ここでは磁気ヘッド）３は、各データトラックのデータセクタ単位でデータを記録したり、また各データセクタからデータを再生する。ヘッド３は、データ再生（リード動作）を行なうためのリードヘッド３０と、データ記録（ライト動作）を行なうためのライトヘッド３１とを有する。ヘッド３は、ボイスコイルモータ（ＶＣＭ）４を含むアクチュエータ５に搭載されている。アクチュエータ５は、ＶＣＭ４の駆動力により、ヘッド３をディスク１上の半径方向に移動させるシーク動作を実行する。
【００１６】
ＳＰＭ２及びＶＣＭ４は、ＳＰＭドライバとＶＣＭドライバとが集積化されたモータドライバＩＣ６から駆動電流が供給される。モータドライバＩＣ６は、ＣＰＵ１０により制御される。ＣＰＵ１０は、ＲＯＭ１２に格納されているプログラムにより制御動作を実行するドライブのメイン制御装置である。ＲＡＭ１１は、ＣＰＵ１０の制御動作でのワークメモリとして使用される。
【００１７】
更に、ディスクドライブ１５は、ディスクコントローラ（ＨＤＣ）７と、バッファメモリ（バッファＲＡＭ）８と、ゲートアレイ９と、リード／ライト（Ｒ／Ｗ）チャネル１３と、ヘッドアンプ（プリアンプ）ＩＣ１４とを有する。
【００１８】
ＨＤＣ７は、ドライブ１５とホストシステム１６とのインターフェースを構成し、ホストシステム１６からのコマンドを受信したり、リード／ライトデータの転送を制御する。バッファメモリ８は、ＨＤＣ７によりデータ転送されるリードデータ（再生データ）及びライトデータ（記録データ）を一時的に格納する。本実施形態での先読み動作での先読みデータは、バッファメモリ８に蓄積される。
【００１９】
ゲートアレイ９は、サーボデータを再生するためのサーボコントローラや、各種のデータや信号の交換を行なうためのインターフェースコントローラなどを含む。Ｒ／Ｗチャネル１３は、リード／ライト信号処理回路である。Ｒ／Ｗチャネル１３は、ヘッドアンプＩＣ１４を介して、リードヘッド３０により読み出されたリード信号から元の記録データを再生（復号化）し、当該再生データ（ディジタルのリードデータ）をＨＤＣ７に送出する。また、Ｒ／Ｗチャネル１３は、ＨＤＣ７からライトデータを受け取り、所定の記録データに符号化してヘッドアンプＩＣ１４に送出する。ヘッドアンプＩＣ１４は、リードヘッド３０からのリード信号を増幅するリードアンプと、Ｒ／Ｗチャネル１３からの符号化データをライト電流に変換するためのライトアンプとを有する。
【００２０】
（アクセス動作）
以下、図１と共に図２から図６を参照して、本実施形態に関するアクセス動作を説明する。
【００２１】
本実施形態は、例えばディスク１上に記録されているＡＶデータを、ホストシステム１６からのアクセス要求に応じてアクセスするための再生に関するアクセス動作を想定する。ここでは、図２（Ａ）に示すように、ディスク１上の内周側のデータトラック１００Ｍと、外周側のデータトラック１００Ｎとを交互かつシーケンシャルにアクセスする。
【００２２】
通常のディスクドライブでは、ディスク１上の各データトラックはそれぞれ、複数のデータセクタ２００Ｎ，２００Ｍに分割されている。即ち、アクセス動作では、データセクタ単位でデータの記録又は再生が実行される。ディスク１上の内周側と外周側とでは、図２（Ｂ）に示すように、各データトラック１００Ｍ，１００Ｎに含まれるデータセクタ数が異なる。即ち、外周側のデータトラック１００Ｎは、相対的に内周側トラック１００Ｍより多いデータセクタ数を含む。アクセス動作では、外周側のデータトラック１００Ｎからアクセスしたデータの転送レート（単位時間当たりのデータ量）は、内周側トラック１００Ｍの転送レートよりも高いレートとなる。
【００２３】
本実施形態のディスクドライブ１５は、図３に示すように、ディスク１上の各データトラック１００Ｍ，１００Ｎに対して交互かつシーケンシャルにアクセスし、各データトラック１００Ｍ，１００Ｎから読出したデータをホストシステム１６に転送する。このようなアクセス動作では、各データトラック１００Ｍ，１００Ｎ間でヘッド３を移動させるシーク動作（ＨＳ）を伴なうことになる。このシーク動作（ＨＳ）中は、各データトラック１００Ｍ，１００Ｎに対するディスクアクセス（ＤＡｍ），（ＤＡｎ）は停止状態となる。また、ホストシステム１６からのアクセス要求に応じたディスクアクセスだけでは、先読み動作は実行できない状況となるため、バッファメモリ８に先読みデータをほとんど蓄積できないことになる。
【００２４】
そこで、本実施形態のアクセス方法は、前記のように、各データトラック１００Ｍ，１００Ｎでの転送レートの差を利用して、高い転送レートの外周側のデータトラック１００Ｎに対する先読み動作を優先的に実行させる。これにより、結果としてシーク動作の一部（３００）を削減し、シーク動作の回数を減少させてアクセス動作全体のパフォーマンスの向上を図る。ここで、各データトラック１００Ｍ，１００Ｎ間では、転送レートに差があるため、ディスクアクセスに要する時間が異なる。本実施形態のアクセス方法は、当該ディスクアクセスに要する時間差分だけ、外周側のデータトラック１００Ｎに対する先読み動作を優先的に実行させる。
【００２５】
以下、図４から図６を参照して、本実施形態のアクセス方法を具体的に説明する。図４では、符号Ｔ１〜Ｔ４はそれぞれ、ディスク１の１回転時間に相当する間隔を示す。符号ＤＡｎ，ＤＡｍはそれぞれ、データトラック１００Ｎ，１００Ｍに対するディスクアクセスを示す。符号ＲＮ，ＲＭはそれぞれ、データトラック１００Ｎ，１００Ｍに対するホスト処理（コマンド発行処理など）を示す。符号ＣＯは、アクセス準備処理（コマンドオーバーヘッド）を示す。符号ＨＳはヘッド３のシーク動作を示す。符号４００は削減されるシーク動作を示す。符号４０１Ｎ，４０１Ｍはそれぞれ、データトラック１００Ｎ，１００Ｍから読出されたデータを示す。符号ＡＴはディスクアクセスの待機時間を示す。
【００２６】
（基本的動作）
ホストシステム１６からアクセス要求を示すコマンドが発行されると、ディスクドライブ１５では、ＨＤＣ７が当該コマンドを受信する（ステップＳ１）。ＣＰＵ１０は、ＨＤＣ７が受付けたコマンドを解読する。ここでは、ディスク１上のデータトラック（１００Ｍ及び１００Ｎ）からデータを再生するリードコマンドを想定する。通常では、ＣＰＵ１０は、アクセス要求のデータが記録されているデータトラック上に、ヘッド３を位置決めするためのシーク動作を実行する。具体的には、ＣＰＵ１０は、モータドライバ６を介してＶＣＭ４を駆動制御することにより、ヘッド３をディスク１上の目標位置であるデータトラック上まで移動させる。
【００２７】
ここでは、ヘッド３に含まれるリードヘッド３０は、当該データトラックから記録データを読出し、ヘッドアンプＩＣ１４に出力する。Ｒ／Ｗチャネル１３は、ヘッドアンプＩＣ１４から送られたリード信号の信号処理（復号化処理など）を実行して、元のデータを復元してＨＤＣ７に送出する。ＨＤＣ７は、Ｒ／Ｗチャネル１３からの再生データ（リードデータ）をバッファメモリ８に蓄積すると共に、ホストシステム１６へのデータ転送を行なう。
【００２８】
このような基本的動作を前提として、ＨＤＣ７がホストシステム１６からのコマンドを受信したときに、ＣＰＵ１０は、ディスクアクセス（リードヘッド３０によるリード動作）が実行中であるか否かを判定する（ステップＳ１，Ｓ２）。ディスクアクセスが実行中の場合には、ＣＰＵ１０は、当該ディスクアクセスを停止させるか否かを判断する（ステップＳ２のＹＥＳ，Ｓ８）。即ち、当該ディスクアクセスが、ホストシステム１６のアクセス要求とは無関係なデータトラックの場合には、ＣＰＵ１０は、当該ディスクアクセスを停止させる（ステップＳ８のＮＯ，Ｓ９）。
【００２９】
ＣＰＵ１０は、ホストシステム１６の要求データがバッファメモリ８に蓄積されている場合には、ディスクアクセスを実行することなく、ＨＤＣ７から当該要求データをホストシステム１６に転送させる（ステップＳ３のＹＥＳ，Ｓ６）。要求データがバッファメモリ８に蓄積されていない場合には、ＣＰＵ１０は、要求データのディスクアクセスを実行する準備に移行する（ステップＳ３のＮＯ，Ｓ４）。ＣＰＵ１０は、要求データのアドレスの設定やヘッド３のシーク動作等の準備が完了すると、リードヘッド３０によるディスクアクセスを実行させる（ステップＳ５）。このディスクアクセスの実行により、前記のように、ＨＤＣ７は、Ｒ／Ｗチャネル１３からの再生データ（要求データ）をバッファメモリ８に蓄積すると共に、ホストシステム１６へのデータ転送を行なう（ステップＳ６，Ｓ７）。
【００３０】
以上のようなディスクアクセスの実行に伴なう動作を、図４のタイミングチャートを参照して説明する。
【００３１】
まず、図４の期間Ｔ１において、ホスト要求（ＲＮ）に応じて、例えばデータトラック１００Ｎに対するディスクアクセス（ＤＡｎ）が実行される。このディスクアクセス（ＤＡｎ）により、データトラック１００Ｎに記録されたデータ（ここでは２セクタ分）は、ホストシステム１６に転送される。全てのホスト転送が終了すると、ホスト処理（ＲＮ）が終了する。ここで、ホスト処理が終了すると、ホストシステム１６は、次のコマンドを発行するための準備（ＣＯ：コマンドオーバーヘッド）に移行する。この準備期間にも、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）は、継続されている（先読み動作）。この先読み動作により読出されたデータは、ＨＤＣ７に送られて、バッファメモリ８に蓄積される。
【００３２】
次に、ホスト処理（ＲＭ）により、データトラック１００Ｍへのコマンドが発行されると、ＣＰＵ１０は、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を停止し、ヘッド３のシーク動作（ＨＳ）を実行させる。このシーク動作（ＨＳ）が完了して、ヘッド３がデータトラック１００Ｍに到達するまでは、ディスクアクセスは全く実行できない状態となる。
【００３３】
ヘッド３がデータトラック１００Ｍに到達すると、ＣＰＵ１０は、ディスクアクセスの待機時間ＡＴ（回転待ち）を経て、データトラック１００Ｍに対するディスクアクセス（ＤＡｍ）を実行する（期間Ｔ２）。このディスクアクセス（ＤＡｍ）は、前記の期間Ｔ１と同様に、次のホスト要求（ＲＮ）が発行されるまで継続される。これにより、ディスクアクセス（ＤＡｍ）により読出された要求データ及び先読みデータは、ＨＤＣ７に送られて、バッファメモリ８に蓄積される。当該要求データは、ＨＤＣ７からホストシステム１６に転送される。
【００３４】
以上のようにして、ホスト要求（ＲＮ，ＲＭ）に応じて、データトラック１００Ｎとデータトラック１００Ｍに対して、ヘッド３のシーク動作を伴ないながら、交互にディスクアクセス（ＤＡｎ，ＤＡｍ）が実行される。このディスクアクセス（ＤＡｎ，ＤＡｍ）により読出された要求データは、ＨＤＣ７を介してホストシステム１６に転送される（ホスト転送）。
【００３５】
次に、図６のフローチャートを参照して、ホスト転送の終了後に実行される先読み動作を説明する。
【００３６】
図４の期間Ｔ２で、次のホスト要求（ＲＮ）が発行されると、ＣＰＵ１０は、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を実行する（期間Ｔ３）。ここで、ホスト要求（ＲＮ）に対応する要求データ（４０１Ｎ）は、以前のディスクアクセスにより、バッファメモリ８に蓄積されている場合を想定する。この場合には、ＨＤＣ７は、バッファメモリ８から読出した要求データ（４０１Ｎ）をホストシステム１６に転送する。
【００３７】
このホスト転送が終了後に、ＣＰＵ１０は、当該データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を続行するか否かを判断する（ステップＳ１０）。即ち、次のホスト要求（ＲＭ）が発行されるまで、先読み動作を実行するか否かを判断する。ここでは、先読み動作、即ちディスクアクセス（ＤＡｎ）を続行する場合を想定する（ステップＳ１０のＹＥＳ）。
【００３８】
ここで、ＣＰＵ１０は、直前のコマンド（ＲＭ）と現コマンド（ＲＮ）におけるディスク転送レートの差があるか否かを判定する（ステップＳ１１）。ここでは、内周側で相対的に低転送レートのデータトラック１００Ｍと、外周側で相対的に高転送レートのデータトラック１００Ｎとを交互にアクセスしているため、ディスク転送レートの差が存在する。ＣＰＵ１０は、当該転送レート差分のデータセクタ数を算出する（ステップＳ１２）。ＣＰＵ１０は、算出したデータセクタ数分の先読み動作に相当するディスクアクセス（ＤＡｎ）を続行する（期間Ｔ３を参照）。このディスクアクセス（ＤＡｎ）が完了すると、コマンドを終了する（ステップＳ１３のＹＥＳ，Ｓ１４）。
【００３９】
更に、ＣＰＵ１０は、次のホスト要求（ＲＭ）の発行に基づいて、ディスクアクセス（ＤＡｎ）を継続させるか否かを判断する（ステップＳ１５）。次のホスト要求（ＲＭ）が発行されると、ディスクアクセス（ＤＡｎ）を停止する（ステップＳ１５のＮＯ，Ｓ１６）。
【００４０】
以上のように、高転送レートのデータトラック１００Ｎをアクセスする時には、前コマンド（ＲＭ）に対応する低ディスク転送レートとの差分だけ、先読み動作を実行する。このため、ホスト処理（ＲＮ）の終了が多少遅れることになるが、十分な先読みデータをバッファメモリ８に確保することができる。
【００４１】
次に、ホスト処理（ＲＭ）により、データトラック１００Ｍへのコマンドが発行されると、ＣＰＵ１０は、シーク動作（ＨＳ）を実行して、ヘッド３をデータトラック１００Ｎからデータトラック１００Ｍへ移動させる。ここで、ホスト要求の要求データの一部は、例えばバッファメモリ８に蓄積されているため、実際のディスクアクセス（ＤＡｍ）は短時間で終了する（期間Ｔ４を参照）。データトラック１００Ｍは転送レートが低いため、ホスト要求の要求データがホストシステム１６に転送されると、当該ホスト処理は最短時間（１回転時間）で終了する。
【００４２】
次に、ホスト処理（ＲＮ）により、データトラック１００Ｎへのコマンドが発行されると、当該要求データは、期間Ｔ３での先読み動作により、バッファメモリ８に蓄積されている先読みデータ（４０１Ｎ）に含まれている。従って、ＣＰＵ１０は、ヘッド３をデータトラック１００Ｎまで移動させるシーク動作（４００）が不要になる。当該要求データは、ＨＤＣ７により、バッファメモリ８に蓄積されている先読みデータ（４０１Ｎ）から読出されて、ホストシステム１６に転送される。
【００４３】
従って、ホスト処理（ＲＮ）は、シーク動作及びディスクアクセスが無いため、非常に短時間で終了することになる。このホスト処理（ＲＮ）の期間では、シーク動作（４００）が不要になったので、ＣＰＵ１０は、データトラック１００Ｍに対するディスクアクセス（ＤＡｍ）を継続させて、先読み動作を実行する。
【００４４】
（効果）
以上要するに、高い転送レートのデータトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を、転送レート差分、換言すれば低転送レートのデータトラック１００Ｍに対するディスクアクセス（ＤＡｍ）に相当する時間だけ継続させる。これにより、ホスト処理に要する時間が多少遅くなるが、データトラック１００Ｎに対するシーケンシャル・アクセスの対象に含まれる要求データを、先読み動作により事前に確保することが可能となる。換言すれば、シーケンシャルかつ交互アクセス動作において、高い転送レートのデータトラック１００Ｎに対する先読み動作の時間を確保することができる。従って、データトラック１００Ｎに対するホスト要求が発生したときに、シーク動作及びディスクアクセスを要することなく、当該要求データを、バッファメモリ８に蓄積された先読みデータから読出して転送できる。これにより、ホスト処理（ＲＭ，ＲＮ）に要する全体的実行時間の短縮化を図ることが可能となるため、結果としてシーケンシャルかつ交互アクセス動作のパフォーマンスを向上させることができる。
【００４５】
以下、本実施形態の効果を具体例により説明する。
【００４６】
ここでは、データトラック１００Ｍ，１００Ｎのそれぞれに対するシーケンシャルかつ交互アクセスにおいて、同様の要求データ量に対するアクセス時間が１：１．２（２５６セクタのアクセスに対して５ｍｓ：６ｍｓ）であるとする。また、シーク動作（ＨＳ）に要する時間を１３ｍｓとしたときに、転送レート差として、データセクタ数にして５１セクタ分の差であることを想定する。
【００４７】
次に、データトラック１００Ｎに対するアクセスにおいて、コマンド終了を５１セクタ分の先読み動作が終了するまで遅らせることを繰り返すことで、６回目の繰り返しで１回のホスト要求を満たす分、バッファメモリ８への蓄積を確保できる。よって、データトラック１００Ｎに対するアクセスにおいて、６ｍｓ（１ｍｓ×６回）分の先読み動作を進めることにより、データトラック１００Ｍ，１００Ｎ間を往復するのに要するシーク動作において、シーク時間（１３ｍｓ×２）分の処理時間を削減できる。
【００４８】
（第２の実施形態）
一般的に、ＡＶデータなどを再生する場合に、ホストシステム１６は、転送レートを維持するために、各データトラック１００Ｍ，１００Ｎに対するアクセスには制限時間を設定する。第２の実施形態は、当該制限時間において、最大限のコマンド処理時間を確保して、ディスクアクセスを継続するアクセス方法に関する。具体的には、ホスト要求の終了後に、アクセス制限時間内で先読み動作を続行し、最大限の先読みデータを確保するアクセス方法である。
【００４９】
以下、図７から図９を参照して、本実施形態を具体的に説明する。
【００５０】
まず、図８のフローチャートに示すように、ＨＤＣ７がホストシステム１６からのコマンドを受信したときに、ＣＰＵ１０は、ディスクアクセス（リードヘッド３０によるリード動作）が実行中であるか否かを判定する（ステップＳ２１，Ｓ２２）。ディスクアクセスが実行中の場合には、ＣＰＵ１０は、当該ディスクアクセスを停止させるか否かを判断する（ステップＳ２２のＹＥＳ，Ｓ２８）。即ち、当該ディスクアクセスが、ホストシステム１６のアクセス要求とは無関係なデータトラックの場合には、ＣＰＵ１０は、当該ディスクアクセスを停止させる（ステップＳ２８のＮＯ，Ｓ２９）。
【００５１】
ＣＰＵ１０は、ホストシステム１６の要求データがバッファメモリ８に蓄積されている場合には、ディスクアクセスを実行することなく、ＨＤＣ７から当該要求データをホストシステム１６に転送させる（ステップＳ２３のＹＥＳ，Ｓ２６）。要求データがバッファメモリ８に蓄積されていない場合には、ＣＰＵ１０は、要求データのディスクアクセスを実行する準備に移行する（ステップＳ２３のＮＯ，Ｓ２４）。ＣＰＵ１０は、要求データのアドレスの設定やヘッド３のシーク動作等の準備が完了すると、リードヘッド３０によるディスクアクセスを実行させる（ステップＳ２５）。このディスクアクセスの実行により、前記のように、ＨＤＣ７は、Ｒ／Ｗチャネル１３からの再生データ（要求データ）をバッファメモリ８に蓄積すると共に、ホストシステム１６へのデータ転送を行なう（ステップＳ２６，Ｓ２７）。
【００５２】
以上のようなディスクアクセスの実行に伴なう動作を、図７のタイミングチャートを参照して説明する。
【００５３】
まず、図７の期間Ｔ１において、ホスト要求（ＲＮ）に応じて、例えばデータトラック１００Ｎに対するディスクアクセス（ＤＡｎ）が実行される。このディスクアクセス（ＤＡｎ）により、データトラック１００Ｎに記録されたデータ（ここでは２セクタ分）は、ホストシステム１６に転送される。全てのホスト転送が終了すると、ホスト処理（ＲＮ）が終了する。ここで、ホスト処理が終了すると、ホストシステム１６は、次のコマンドを発行するための準備（ＣＯ：コマンドオーバーヘッド）に移行する。この準備期間にも、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）は、継続されている（先読み動作）。この先読み動作により読出されたデータ（７０１Ｎ）は、ＨＤＣ７に送られて、バッファメモリ８に蓄積される。
【００５４】
次に、ホスト処理（ＲＭ）により、データトラック１００Ｍへのコマンドが発行されると、ＣＰＵ１０は、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を停止し、ヘッド３のシーク動作（ＨＳ）を実行させる。このシーク動作（ＨＳ）が完了して、ヘッド３がデータトラック１００Ｍに到達するまでは、ディスクアクセスは全く実行できない状態となる。
【００５５】
ヘッド３がデータトラック１００Ｍに到達すると、ＣＰＵ１０は、ディスクアクセスの待機時間ＡＴ（回転待ち）を経て、データトラック１００Ｍに対するディスクアクセス（ＤＡｍ）を実行する（期間Ｔ２）。このディスクアクセス（ＤＡｍ）は、前記の期間Ｔ１と同様に、次のホスト要求（ＲＮ）が発行されるまで継続される。これにより、ディスクアクセス（ＤＡｍ）により読出された要求データ及び先読みデータは、ＨＤＣ７に送られて、バッファメモリ８に蓄積される。当該要求データは、ＨＤＣ７からホストシステム１６に転送される。
【００５６】
以上のようにして、ホスト要求（ＲＮ，ＲＭ）に応じて、データトラック１００Ｎとデータトラック１００Ｍに対して、ヘッド３のシーク動作を伴ないながら、交互にディスクアクセス（ＤＡｎ，ＤＡｍ）が実行される。このディスクアクセス（ＤＡｎ，ＤＡｍ）により読出された要求データは、ＨＤＣ７を介してホストシステム１６に転送される（ホスト転送）。
【００５７】
ところで、本実施形態では、図７に示すように、各データトラック１００Ｎ，１００Ｍに対して実行されるディスクアクセスには、ホストシステム１６から制限時間（ＬＴｎ，ＬＴｍ）が指定されている。当該制限時間（ＬＴｎ，ＬＴｍ）に対して、実際のディスクアクセスに要する経過時間に余裕があれば、この余裕時間分だけ先読み動作を続行する。以下、図７と共に、図９のフローチャートを参照して、当該先読み動作について説明する。
【００５８】
図７に示す期間Ｔ１において、ホスト転送が終了後に、ＣＰＵ１０は、当該データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を続行するか否かを判断する（ステップＳ３０）。即ち、次のホスト要求（ＲＭ）が発行されるまで、先読み動作を実行するか否かを判断する。ここでは、先読み動作、即ちディスクアクセス（ＤＡｎ）を続行する場合を想定する（ステップＳ３０のＹＥＳ）。
【００５９】
ＣＰＵ１０は、ホストシステム１６により指定された制限時間（ＬＴｎ）の最大限まで先読み動作（ディスクアクセスＤＡｎ）を続行する（ステップＳ３１）。このディスクアクセス（ＤＡｎ）が完了すると、コマンドを終了する（ステップＳ３１のＹＥＳ，Ｓ３２）。更に、ＣＰＵ１０は、次のホスト要求（ＲＭ）の発行に基づいて、ディスクアクセス（ＤＡｎ）を継続させるか否かを判断する（ステップＳ３３）。次のホスト要求（ＲＭ）が発行されると、ディスクアクセス（ＤＡｎ）を停止する（ステップＳ３３のＮＯ，Ｓ３４）。
【００６０】
以上のように、ホストシステム１６が指定した制限時間（ＬＴｎ，ＬＴｍ）内であれば、ホスト転送終了後に、先読み動作を最大限続行する。従って、ホスト処理（ＲＮ）の終了が多少遅れることになるが、十分な先読みデータをバッファメモリ８に確保することができる。
【００６１】
次に、図７に示すように、ホスト処理（ＲＭ）により、データトラック１００Ｍへのコマンドが発行されると、ＣＰＵ１０は、データトラック１００Ｎに対するディスクアクセス（先読み動作）を停止して、シーク動作（ＨＳ）を実行して、ヘッド３をデータトラック１００Ｎからデータトラック１００Ｍへ移動させる。ＣＰＵ１０は、データトラック１００Ｍに対するディスクアクセス（ＤＡｍ）を実行する（期間Ｔ２）。このディスクアクセス（ＤＡｍ）により、データトラック１００Ｍから読み出された要求データは、ＨＤＣ７を介してホストシステム１６に転送される（ホスト転送）。
【００６２】
次に、ホストシステム１６から、データトラック１００Ｎへのコマンド（ＲＮ）が発行されると、当該要求データは、期間Ｔ１での先読み動作により、バッファメモリ８に蓄積されている先読みデータ（７０１Ｎ）に含まれている。従って、ヘッド３をデータトラック１００Ｎまで移動させるシーク動作（７００）が不要になる。当該要求データは、ＨＤＣ７により、バッファメモリ８に蓄積されている先読みデータ（７０１Ｎ）から読出されて、ホストシステム１６に転送される。
【００６３】
ＣＰＵ１０は、シーク動作（７００）及びディスクアクセス（ＤＡｍ）の停止のいずれも不要となるため、当該ディスクアクセス（ＤＡｍ）を続行し、データトラック１００Ｍに対する先読み動作を継続する。続いて、ホスト処理（ＲＭ）により、データトラック１００Ｍへのコマンドが発行されると、当該要求データは、期間Ｔ２での先読み動作により、バッファメモリ８に蓄積されている先読みデータ（７０１Ｍ）に含まれている。従って、ヘッド３をデータトラック１００Ｍまで移動させるシーク動作（７００）が不要になる。当該要求データは、ＨＤＣ７により、バッファメモリ８に蓄積されている先読みデータ（７０１Ｍ）から読出されて、ホストシステム１６に転送される。
【００６４】
ＣＰＵ１０は、シーク動作（７００）及びディスクアクセス（ＤＡｍ）の停止のいずれも不要となるため、さらに当該ディスクアクセス（ＤＡｍ）を続行し、データトラック１００Ｍに対する先読み動作を継続する（期間Ｔ３）。以下同様にして、ホスト処理（ＲＮ）により、データトラック１００Ｎへのコマンドが発行されると、ＣＰＵ１０は、データトラック１００Ｍに対するディスクアクセス（先読み動作）を停止して、シーク動作（ＨＳ）を実行して、ヘッド３をデータトラック１００Ｎからデータトラック１００Ｍへ移動させる（期間Ｔ３）。ＣＰＵ１０は、データトラック１００Ｎに対するディスクアクセス（ＤＡｎ）を実行する。
【００６５】
以上要するに、ホスト要求（ＲＮ，ＲＭ）に応じて、各データトラック１００Ｎ，１００Ｍに対するディスクアクセスを実行するときに、ホストシステム１６から指定された制限時間（ＬＴｎ，ＬＴｍ）内の最大限まで、ディスクアクセスを続行する。従って、要求データのホスト転送が終了した後に、制限時間（ＬＴｎ，ＬＴｍ）内で余裕時間があれば、当該データトラックでの先読み動作を継続する。従って、ディスクアクセスの制限時間内で、ホスト処理に要する時間が多少遅くなるが、シーケンシャル・アクセスの対象に含まれる要求データを、先読み動作により事前に確保することが可能となる。これにより、シーケンシャルかつ交互アクセス動作において、シーク動作及びディスクアクセスの回数を減少化できるため、ホスト処理（ＲＭ，ＲＮ）に要する全体的実行時間の短縮化を図ることが可能となる。従って、結果としてアクセス全体のパフォーマンスを向上させることができる。
【００６６】
なお、本実施形態の方法の場合に、制限時間内で最大限に先読み動作を続行するため、ホスト処理が相対的に遅くなるが、ホストシステムが指定する制限時間内であるため、ホストシステムが要求する転送レートを保証することができる。
【００６７】
【発明の効果】
以上詳述したように本発明によれば、例えばＡＶデータなどの連続的データを、特にシーケンシャルかつ交互にアクセスするときに、先読み動作の確保及びシーク動作の回数削減を実現することにより、ホスト転送のパフォーマンスを向上させて、アクセス動作全体の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の各実施形態に関するディスクドライブの要部を示すブロック図。
【図２】各実施形態に関するディスクアクセスでのデータ転送レートを説明するための図。
【図３】各実施形態に関するアクセス動作の概略を説明するための図。
【図４】第１の実施形態に関するアクセス動作を説明するためのタイミングチャート。
【図５】第１の実施形態に関するアクセス方法の手順を説明するためのフローチャート。
【図６】第１の実施形態に関するアクセス方法の手順を説明するためのフローチャート。
【図７】第２の実施形態に関するアクセス動作を説明するためのタイミングチャート。
【図８】第２の実施形態に関するアクセス方法の手順を説明するためのフローチャート。
【図９】第２の実施形態に関するアクセス方法の手順を説明するためのフローチャート。
【符号の説明】
１…ディスク
２…スピンドルモータ（ＳＰＭ）
３…ヘッド
４…ボイスコイルモータ（ＶＣＭ）
５…アクチュエータ
６…モータドライバＩＣ（ＶＣＭ／ＳＰＭドライバ）
７…ディスクコントローラ（ＨＤＣ）
８…バッファメモリ
９…ゲートアレイ
１０…ＣＰＵ
１１…ＲＡＭ
１２…ＲＯＭ
１３…Ｒ／Ｗチャネル
１４…ヘッドアンプＩＣ
１５…ディスクドライブ
１６…ホストシステム
３０…リードヘッド
３１…ライトヘッド
【図１】
0003579395.tif 000002
【図２】
0003579395.tif 000003
【図３】
0003579395.tif 000004
【図４】
0003579395.tif 000005
【図５】
0003579395.tif 000006
【図６】
0003579395.tif 000007
【図７】
0003579395.tif 000008
【図８】
0003579395.tif 000009
【図９】
0003579395.tif 000010