(57)【要約】【課題】磁気ディスクに対して効率的に処理を行うことで、ダミーデータの出力を低減させる。【解決手段】ハードディスクドライブ装置１００が、磁気ディスク９上で、データの読み出し又は書き込みのために走査の対象とされた各セクタの物理的な位置に基づいて、データの読み出し対象であるセクタについて読み出しを行うか否かを判定する判定部３０３と、判定部３０３により読み出しを行わないと判定されたセクタのデータの代わりとして、ダミーデータを出力するダミーデータ出力部３０６と、を備える。【選択図】図３
2010176766.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、
前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、
を備えることを特徴とするディスクドライブ装置。
【請求項２】
前記判定手段は、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が間に合うか否かを判定し、前記ヘッドの移動が間に合わないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項１に記載のディスクドライブ装置。
【請求項３】
前記判定手段は、さらに、前記ブロックから読み出されたデータに対する、前記出力手段により出力されたダミーデータの比率に基づいて、読み出しを行うか否かを判定すること、
を特徴とする請求項１に記載のディスクドライブ装置。
【請求項４】
前記判定手段は、前記ダミーデータの比率として、ダミーデータの出力量、及びダミーデータの出力間隔に基づいて、読み出しを行うか否かを判定すること、
を特徴とする請求項３に記載のディスクドライブ装置。
【請求項５】
前記判定手段は、さらに、データの読み出し先のブロックのうち、入力された命令で読み出しが必要とされたブロックについては、物理的な位置に係わらず、読み出しを行うと判定すること、
を特徴とする請求項１乃至４のいずれか一つに記載のディスクドライブ装置。
【請求項６】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、
前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、
を備えることを特徴とするディスク制御デバイス。
【請求項７】
前記判定手段は、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が間に合うか否かを判定し、前記ヘッドの移動が間に合わないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項６に記載のディスク制御デバイス。
【請求項８】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、有するハードディスク制御手段と、
前記ハードディスク制御手段に対して、前記ハードディスク制御手段を制御する命令を出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
磁気ディスクドライブ装置を制御するディスク制御方法であって、
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定ステップと、
前記判定ステップにより読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力ステップと、
を有することを特徴とするディスク制御方法。
【請求項１０】
前記判定ステップは、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が間に合うか否かを判定し、前記ヘッドの移動が間に合わないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項９に記載のハードディスクの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクドライブ装置、ディスク制御デバイス、情報処理装置、及びディスク制御方法に関する。
【背景技術】
【０００２】
近年から、磁気ディスク装置は、音声データや映像データを格納する記憶手段として用いられる傾向がある。これらデータは、連続的なストリームデータであるため、これらデータを利用する場合には、正確性よりも画像や音声を再生及び録画するための転送レートを保持することが必要となる。
【０００３】
転送レートを保持するためには、命令毎のアクセス処理を所定時間以内に終了させる必要がある。また、磁気ディスクに対してこれらデータを記録する際には連続するアドレスに記録し、これらデータを再生する際には連続するアドレスに対して読み出しを行う等の動作が必要となる。
【０００４】
これら動作を行うために、磁気ディスク装置に対する命令として、通常のリード／ライトコマンドとは異なる、ＡＶコマンドと称する拡張コマンドが提案されている。当該ＡＶコマンドを用いた場合には、上述した動作で処理を行うため、音声データや映像データを適切に扱うことができる。
【０００５】
そして、ＡＶコマンドでシーケンシャルにリードやライトを行っている際に、所定時間以内にデータを読み込めない場合には、ダミーデータを用いて処理を行う技術が提案されている。例えば、特許文献１には、正常なデータの読み出しに失敗した場合に、読み出すべきデータの量だけダミーデータを出力する技術が開示されている。これにより、規程時間以内に、所定の量のデータを読み出せなかった場合に、データが途切れることを抑止できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２３２０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術は、命令に従ってヘッドの移動制御を行った結果、規程時間内に読み込めなかったブロックのデータの代わりにダミーデータを出力する技術であり、規定時間内において命令を効率的に処理することについては考慮されていない。
【０００８】
本発明は、上記に鑑みてなされたものであって、命令に対して効率的に処理を行うことで、動作の確実性を向上させるディスクドライブ装置、ディスク制御デバイス、情報処理装置、及びディスク制御方法を提供する。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるディスクドライブ装置は、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、を備えることを特徴とする。
【００１０】
また、本発明にかかるディスク制御デバイスは、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、を備えることを特徴とする。
【００１１】
また、本発明にかかる情報処理装置は、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力手段と、有するハードディスク制御手段と、前記ハードディスク制御手段に対して、前記ハードディスク制御手段を制御する命令を出力する出力手段と、を備えることを特徴とする。
【００１２】
また、本発明にかかるディスク制御方法は、ディスクドライブ装置を制御するディスク制御方法であって、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定ステップと、前記判定ステップにより読み出しを行わないと判定された前記ブロックのデータの代わりとして、ダミーデータを出力する出力ステップと、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ブロックの物理的な位置を考慮して読み出すか否かを判定することで、処理が効率的になり、磁気ディスクに対する動作の確実性を向上させるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、第１の実施の形態にかかるハードディスクドライブ装置のハードウェア構成を示す図である。
【図２】図２は、磁気ディスクの構造を示した概念図である。
【図３】図３は、ＣＰＵがコントロールプログラムを読み出すことで、実現されるソフトウェア構成を示すブロック図である。
【図４】図４は、実行命令情報記憶部のテーブル構造を示した図である。
【図５】図５は、磁気ディスクから読み出されるデータと、読み出されないセクタの代わりに出力されるダミーデータと、示した概念図である。
【図６】図６は、磁気ヘッドの移動先のセクタに対してスキップリードが行われる場合の物理セクタの配置の例を示した図である。
【図７】図７は、磁気ヘッドの移動前のセクタに対してスキップリードが行われる場合の物理セクタの配置の例を示した図である。
【図８】図８は、磁気ディスク上のシーケンシャルなアドレスに対して、複数の読み出し命令が順番に行われた場合の例を示した図である。
【図９】図９は、磁気ディスク上の不連続なアドレスに対して、複数の読み出し命令が行われた場合の例を示した図である。
【図１０】図１０は、同一コンテンツに限定されないデータに対して、複数の読み出し命令で、磁気ディスクに対してランダムアクセスが行われた場合の例を示した図である。
【図１１】図１１は、本実施の形態にかかるハードディスクドライブ装置における全体的な処理の手順を示すフローチャートである。
【図１２】図１２は、本実施の形態にかかるハードディスクドライブ装置における各命令に基づく処理の手順を示すフローチャートである。
【図１３】図１３は、ハードディスクドライブ装置を内蔵したテレビジョン受信装置の外観を示した図である。
【図１４】図１４は、第２の実施の形態にかかるテレビジョン受信装置の構成を示すブロック図である。
【図１５】図１５は、第２の実施の形態の変形例にかかるテレビジョン受信装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、この発明にかかるディスクドライブ装置、ディスク制御デバイス、情報処理装置、及びディスク制御方法の最良な実施の形態を詳細に説明する。
【００１６】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかるハードディスクドライブ装置のハードウェア構成を示す図である。
【００１７】
以下、添付図面を参照して、本発明の最良な実施形態を詳細に説明する。
【００１８】
図１に示すように、本実施の形態にかかるハードディスクドライブ装置１００は、ＣＰＵ１と、ゲートアレイ２と、ハードディスクコントローラ（以下、ＨＤＣと称す）３と、バッファＲＡＭ４と、リード・ライトＩＣ５と、モータドライバ６と、ボイスコイルモータ（以下、ＶＣＭと称す）７と、スピンドルモータ（以下、ＳＰＭと称す）８と、磁気ディスク９と、ＲＡＭ１０と、ＲＯＭ１１と、ＣＰＵバス１２と、磁気ヘッド１３と、アーム１４と、軸１５と、ヘッドＩＣ１６と、を備え、伝送路１８を介してホストシステム１７と接続されている。
【００１９】
ＣＰＵバス１２には、ＣＰＵ１と、ＲＯＭ１１と、ＲＡＭ１０と、ゲートアレイ２と、ＨＤＣ３とが接続されている。
【００２０】
ＲＯＭ１１は、コントロールプログラム５１を記憶している。ゲートアレイ２は、制御に必要な諸信号の生成を行う。ＲＡＭ１０は、ＣＰＵ１が変素数等を格納する作業領域として使用される。
【００２１】
ＳＰＭ８は、磁気ディスク９を定常回転させるためのモータとする。ＶＣＭ７は、図示しないマグネットと駆動コイルとからなり、モータドライバ６から供給される電力で、磁気ヘッド１３を目的の位置に移動させる駆動を行う。
【００２２】
モータドライバ６は、ＳＰＭ８及びＶＣＭ７を駆動させるために、ＳＰＭ８及びＶＣＭ７のそれぞれに電流を流す制御を行う。
【００２３】
ＣＰＵ１は、ＲＯＭ１１に記憶されたコントロールプログラム５１を読み出した後、ハードディスクドライブ装置１００全体の制御およびモータドライバ６の制御を時分割で行う。
【００２４】
ＨＤＣ３およびゲートアレイ２の制御用レジスタは、それぞれＣＰＵ１のメモリ空間の一部に割り当てられている。そして、ＣＰＵ１は、当該領域に対して読み出しおよび書き込みを行うことでＨＤＣ３およびゲートアレイ２の制御を行う。
【００２５】
換言すれば、ＲＯＭ１１、ＲＡＭ１０、及びコントロールプログラム５１を読み出したＣＰＵ１の組合せは、磁気ディスク制御デバイスとしての機能を有する。なお、本実施の形態は、磁気ディスク制御デバイスを、ＲＯＭ１１、作業領域となるＲＡＭ１０，及びＲＯＭ１１に格納されたコントロールプログラム５１を読み出したＣＰＵ１で実現するが、ハードウェアで結線された一つのＩＣ等で実現しても良い。
【００２６】
リード・ライトＩＣ５は、サーボブロック２１と、リード・ライトブロック２２と、を備える。サーボブロック２１は、主に磁気ヘッド１３の位置決め処理に必要な信号処理を行う。リード・ライトブロック２２は、データの読み出し・書き込みのための信号処理を行う。
【００２７】
磁気ディスク９は、読み書き可能なデータ領域を備えている。図２は、磁気ディスク９の構造を示した概念図である。図２に示すように磁気ディスク９は、異なる径毎にトラックを備えている。そして、磁気ディスク９の中心から半径方向にかけて、サーボ領域に、サーボデータが放射状に磁気的に書き込まれている。サーボデータには、トラックの位置情報が予め埋め込まれている。そして、各サーボデータ間にはデータを記録するためのデータ領域が設けられている。
【００２８】
図２に示すように、各トラックには、サーボデータが記録されている領域(サーボ領域)と、ホストシステムから転送されるデータを記録するための領域(データ領域)が交互にかつ等間隔に配置されている。そして、データ領域は、複数のセクタで構成されている。このような構成を磁気ディスク９が備えると共に、磁気ヘッド１３が、磁気ディスク９の半径方向に移動することで、任意のトラックの任意のセクタに対して、磁気ヘッド１３が走査を行うことができる。そして、磁気ヘッド１３が磁気ディスク９のセクタを走査することで、データの読み出し及び書き込みを行うことができる。
【００２９】
図１に戻り、磁気ヘッド１３は、アーム１４に保持されている。そして、磁気ヘッド１３は、サーボデータからトラックの位置情報を読み出すと共に、磁気ディスク９を走査し、データの読み出し及び書き込みを行う。アーム１４は、ＶＣＭ７の駆動力により軸１５を中心とした回転運動を行い、磁気ヘッド１３を磁気ディスク９の半径方向に移動させる。
【００３０】
ヘッドＩＣ１６は、例えば、磁気ヘッド１３が読み出した微弱な信号を増幅する機能を備える。
【００３１】
そして、磁気ヘッド１３の位置決め実施時に、磁気ヘッド１３から読み出され、ヘッドＩＣ１６で増幅されたアナログ信号は、リード・ライトＩＣ５に送られる。そして、同ＩＣ５のサーボブロック２１により抽出されたサーボデータは、ゲートアレイ２により処理される。ＣＰＵ１は、処理されたサーボデータに基づいて、モータドライバ６を制御して、磁気ヘッド１３の位置決めのための電流をＶＣＭ７に流す。
【００３２】
ＨＤＣ３は、ＣＰＵバス１２以外にゲートアレイ２、バッファＲＡＭ４、リード・ライトＩＣ５に接続されている。また、ＨＤＣ３は、機能として、ホストブロック２３と、リード・ライトブロック２４と、バッファブロック２５とを備えている。
【００３３】
ホストブロック２３は、ホストシステム１７とのインタフェース制御を行う。バッファブロック２５は、バッファＲＡＭ４の制御を行う。リード・ライトブロック２４は、読み出し・書き込み処理を行う。
【００３４】
そして、磁気ヘッド１３が磁気ディスク９から読み出し、ヘッドＩＣ１６が増幅したアナログ信号は、リード・ライトＩＣ５によって復号化される。ＨＤＣ３が、復号化されたアナログ信号を、ゲートアレイ２からの制御用の各信号にしたがって処理することで、ホストシステム１７に転送すべきデータを生成する。このデータは一旦バッファＲＡＭ４に格納されてからホストシステム１７に転送される。
【００３５】
書き込み時、ホストシステム１７からＨＤＣ３に転送されたデータは、一旦バッファＲＡＭ４に格納された後、ゲートアレイ２からの制御用の各信号にしたがってＨＤＣ３からリード・ライトＩＣ５へ送られ、リード・ライトＩＣ５によって符号化された書き込みデータは、ヘッドＩＣ１６を経由して磁気ヘッド１３によって磁気ディスク９に書き込まれる。
【００３６】
バッファＲＡＭ４は、読み出したデータ等を記憶する。また、バッファＲＡＭ４は、読み出したデータに限らず、ダミーデータなども読み出したデータと同様に記憶する。そして、バッファＲＡＭ４に記憶されたデータは、ホストシステム１７に出力される。
【００３７】
次に、ＣＰＵ１が行う処理について説明する。図３は、ＣＰＵ１がコントロールプログラム５１を読み出すことで、実現されるソフトウェア構成を示すブロック図である。そして、これらソフトウェア構成が、ハードディスクドライブ装置１００全体の制御およびモータドライバ６の制御を時分割で行う。
【００３８】
図３に示すように、ハードディスクドライブ装置１００は、ソフトウェア構成３００として、ヘッド制御部３０１と、リオーダリング機能部３０２と、判定部３０３と、命令記録部３０４と、キューイング機能部３０５と、ダミーデータ出力部３０６とを備える。
【００３９】
ヘッド制御部３０１は、モータドライバ６の制御により、磁気ディスク９と、磁気ヘッド１３と、を制御する。
【００４０】
キューイング機能部３０５は、ホストシステム１７から入力されたコマンドを示すコマンド情報を、ＲＡＭ１０の命令キュー３５１に格納すると共に、バッファＲＡＭ４の図示しない命令管理テーブルに登録する処理を行う。
【００４１】
本実施の形態において、キューイング機能部３０５は、コマンド情報として、磁気ディスク９からのデータの読み出し命令と、磁気ディスク９に対するデータの書き込み命令と、を命令キュー３５１にキューイングする。
【００４２】
リオーダリング機能部３０２は、ＲＡＭ１０に格納された各コマンド（読み出し命令又は書き込み命令）情報において、走査対象となるセクタの物理的な位置を考慮し、高速に処理可能な順番にコマンドを並び替えることで、実行するコマンドの順番を特定する。
【００４３】
判定部３０３は、磁気ディスク９上で、データの読み出し又は書き込みのために走査の対象とされた各セクタの物理的な位置に基づいて、データの読み出し対象であるセクタについて読み出しを行うか否かを判定する。本実施の形態にかかる判定部３０３は、各セクタの物理的な位置として、走査対象であるセクタ間の磁気ヘッド１３の移動距離に基づいて、各セクタを読み出すか否かを判定する。
【００４４】
具体的には、判定部３０３は、リオーダリング機能部３０２により特定されたコマンドの順番に従って各セクタを走査する際、磁気ヘッド１３が走査するセクタが存在する磁気ディスク９のトラックから、次の走査の対象であるセクタが存在するトラックまで移動させる移動距離と、磁気ヘッド１３の移動速度と、磁気ディスク９の回転速度と、に基づいて、磁気ディスク９が一回転するまでの間に、磁気ヘッド１３が次の走査対象であるセクタまで移動が間に合うか否かを判定する。
【００４５】
そして、判定部３０３は、磁気ヘッド１３の移動が間に合うか否かに基づいて、移動前又は移動後のセクタについて読み出しを行うか否かを判定する。なお、詳細な処理については後述する。また、本実施の形態においては、磁気ディスク９をセクタ単位で読み出しを行うか否かの制御を行うが、セクタ単位に限らず、読み書き可能なブロック単位であればよい。
【００４６】
さらに、判定部３０３は、読み出したデータ（画像・音声データ）について、ブロックノイズや音切れ等が生じないように、読み出しを行わないことを許可するための条件を設ける。この条件は、今まで行った命令等に基づいて設定される。なお、詳細については後述する。
【００４７】
ダミーデータ出力部３０６は、判定部３０３により、読み出しを行わないと判定されたセクタのデータの代わりとして、ダミーデータを出力する。ダミーデータは、どのようなデータでも良く、例えばゼロデータや、バッファＲＡＭ４に既に格納されているデータなどを用いてもよい。ただし、ダミーデータのデータ量は、読み出しを行わないセクタの記憶容量と一致させるものとする。
【００４８】
命令記録部３０４は、判定部３０３の判定結果によって実行される各命令に関する情報を、実行命令情報記憶部３５２に記録する。
【００４９】
実行命令情報記憶部３５２は、ＲＡＭ１０上に存在し、今までに実行された各命令（コマンド）で走査されたセクタの情報を記憶している。図４が、実行命令情報記憶部３５２のテーブル構造を示した図である。図４に示すように、実行命令情報記憶部３５２は、インデックス番号と、コマンド終了アドレスと、コマンドブロック番号と、ダミーセクタ終了アドレスとを対応付けて記憶している。なお、格納する情報は、上述した情報に制限するものではなく、各命令に従って出力されるデータとダミーデータとが特定できれば、どのような情報でも良い。
【００５０】
そして、実行命令情報記憶部３５２が、上述した情報を記憶することで、各命令に従って読み出されたアドレス領域、及びダミーデータが出力されたアドレス領域を特定できる。そして、判定部３０３は、この実行命令情報記憶部３５２が記憶している情報を考慮した上で、ブロックノイズや音切れ等が生じないように、各セクタに対して読み出しを行うか否かを判定している。
【００５１】
次に、ＲＡＭ１０に格納された複数のコマンド情報に従って、２種類のデータ書き込み（保存）動作と、１種類のデータ読み出し（再生）動作を行う場合について説明する。図５は、磁気ディスク９に対して行われる、２種類のデータ書き込み（保存）動作と、１種類のデータ読み出し（再生）動作と、を概念的に示した図である。これら３つの動作は、平行して行われるものとする。
【００５２】
磁気ディスク９上の各トラック上に存在する全てのセクタは、ＬＢＡ（Logical  Block  Addressing）によりアドレスがシーケンシャルに割り当てられている。従って、磁気ディスク９上の全セクタは、ＬＢＡに従ってシーケンシャルに配置すると、図５に示すように一つの直線として表すことができる。
【００５３】
そして、２本のデータ書き込み動作に対応するコマンド群は、図５において、書き込みコマンド群４５１と、書き込みコマンド群４５２と、で表される。一方、１本のデータ読み出し動作に対応するコマンド群は、図５において、読み出しコマンド群４５３で表される。つまり、図５に示すように、これらコマンド群は、特定のブロック数で、連続したコマンドとして発行されてものとなる。そして、これらコマンド群による、２種類の録画データの書き込みと、１種類の再生データの読み出しと、は、それぞれシーケンシャルアクセスとなっている。
【００５４】
しかしながら、３種類の処理を並列して行うために、実際にハードディスクドライブ装置１００に発行されるコマンドとしては、ランダムアクセスとなる。
【００５５】
近年の磁気ディスク装置では、このような命令群が発行された場合、リオーダリング機能によって、リード、ライトコマンドを特定の量にまとめて処理させている。コマンドをまとめて処理させることでシーク動作の回数を減らすことが可能となり、装置全体のパフォーマンス向上することができるからである。
【００５６】
しかしながら、通常はリオーダリング機能によって効率よくコマンドが処理されるが、更にコマンドの高速化を要求された場合、要求セクタを完全に処理せずにコマンド終了を報告することも生じてくる。パフォーマンス向上の観点では、上述したようにコマンドをまとめて処理する形態が好ましいが、３種類の処理を並列して行う場合に、３種類のうちいずれかの処理が規定時間以内に間に合わないという状況が生じることが考えられる。そこで、本実施の形態においては、規定時間内に全ての命令が実行されるよう、コマンド単体による処理を、並列して行う場合について説明する。
【００５７】
ところで、書き込み命令に従ってデータを書き込まない場合、情報の欠落という意味でリスクが大きい。このため、本実施の形態にかかるハードディスクドライブ装置１００では、書き込み命令に関しては、従来どおり確実に行うこととする。
【００５８】
読み出し命令は、一時的な画像、音声の再生であるため、ダミーデータを転送しても、ダミーデータの書き込みと比べて、ホストシステム１７を含むシステム全体に与える影響が少ない。例えば、音声、画像データに関しては、数十、数百セクタのデータが欠落したとしても、問題なく再生が可能なシステムも存在する。但し、データコピー時の読み込み命令に関しては例外とする。
【００５９】
そこで、本実施の形態においては、書き込み命令については、ダミーデータの書き込みを行わず、読み込み命令については、効率よくコマンドの処理を行うため、必要に応じてダミーデータを出力する。ただし、２種類の読み込み命令のうち、データコピーなどの読み込み命令については、ダミーデータの転送を禁止するほうが好ましい。
【００６０】
１種類の書き込み処理として、第１の録画エリア４０１に対する書き込み動作が行われる。また、もう１種類の書き込み処理として、第２の録画エリア４０２に対する書き込み動作が行われる。これら書き込み動作を行うための書き込み命令群は、所定のブロック（セクタ）単位毎に分割され、発行される。第１の録画エリア４０１について書き込みを行う書き込み命令群を符号４５１で示す。また、第２の録画エリア４０２について書き込みを行う書き込み命令群を符号４５２で示す。
【００６１】
さらに、読み出し処理として、再生エリア４０３に対する読み出し動作が行われる。これら読み込み動作を行うための読み出し命令群は、所定のブロック（セクタ）単位毎に分割され、発行される。そして、再生エリア４０３について読み出しを行う読み出し命令群を符号４５３で示す。
【００６２】
図５に示す例で、書き込み命令群４５１、４５２、および読み出し命令群４５３に含まれる各命令に割り当てられた数字は、リオーダリング機能部３０２のリオーダリングで実行される順序を意味する。
【００６３】
具体的には、書き込み命令（１）４０４→書き込み命令（２）４０５→読み出し命令（３）４０６→書き込み命令（４）４０７・・・と各々のエリアに対して繰り返し発行される。
【００６４】
そして、磁気ヘッド１３の移動が、走査対象のセクタまで間に合わない場合、データの読み出し対象のセクタに対してのみ、走査を行わずにダミーデータを出力する。このように、再生エリア４０３から読み出しを行わずに、再生データにダミーデータを含めることで、余分な回転待ち時間を無くし、全体的なコマンドの処理時間を短縮することができる。
【００６５】
図５に示す例では、読み出し命令（３）４０６が読み出したとされるデータ４２１の先頭部分のデータ４０８と、読み出し命令（６）４１０が読み出したとされるデータ４２２の後方部分のデータ４０９と、がダミーデータとされている。
【００６６】
つまり、ハードディスクドライブ装置１００の処理において、書き込み命令と読み出し命令とが混在し、ランダムアクセスが行われる際、判定部３０３が磁気ヘッド１３のセクタ間の移動が間に合わないと判定した場合、再生エリアのセクタについて、磁気ヘッド１３による走査を行わず、ダミーデータ出力部３０６が、当該セクタの通常のデータの代わりにダミーデータを出力する。
【００６７】
次に、読み出し処理のスキップを行った場合に、回転待ちがどの様にして改善されるかを説明する。図６、及び図７は、ダミーデータが出力された、読み出し命令の処理対象である物理的なセクタ配置を示した図である。
【００６８】
図６は、磁気ヘッド１３の移動先のセクタに対してスキップリードが行われる場合の物理セクタの配置の例を示した図である。図６に示す例は、図５の書き込み命令（２）４０５から、読み出し命令（３）４０６に処理が切り替わる例とする。なお、図５に示す例では、磁気ヘッド１３がセクタ間を移動する前の命令が書き込み命令であるが、読み出し命令であっても良い。
【００６９】
図６に示す例においては、書き込み命令（２）４０５による処理対象となるセクタ領域が、セクタ領域６０１であり、そして、読み出し命令（３）４０６による処理対象となるセクタが、セクタ領域６０２と、セクタ領域６０３との２つのトラックに跨っているものとする。
【００７０】
そして、書き込み命令（２）４０５で、セクタ領域６０１に対する書き込みが終了した後、磁気ヘッド１３は、セクタ６０１の終了セクタ（シーク開始位置）６０５からシーク動作を開始する。
【００７１】
具体的な磁気ヘッド１３が移動に要する時間は、シーク時間と、シーク完了してからの回転待ち時間と、の和が、磁気ヘッド１３が移動してから走査するまでの時間となる。なお、シーク時間とは、磁気ヘッド１３を目的のセクタが存在するトラックの上まで移動させるための時間を示している。また、回転待ち時間とは、ヘッドが目的のトラックに移動した後、磁気ディスク９を回転させて目的のセクタを見つけるまでの必要な時間を意味し、サーチタイムとも言う。
【００７２】
そして、判定部３０３は、シーク時間を特定するために、シーク距離と、当該シーク距離にどの程度の時間を要するのかを対応づけた（図示しない）テーブルを保持する。そして、判定部３０３は、当該テーブルを参照することで、シーク時間を特定できる。例えば、目的のトラックが１００シリンダ離れている場合に、１００シリンダシークするためにどの程度時間を要するのか、上述したテーブルを参照することで特定できる。
【００７３】
また、判定部３０３は、回転待ち時間を、磁気ヘッド１３が一周するための時間、および一周当たりのセクタ数から算出できる。これにより、磁気ヘッド１３がセクタを読み出すための位置決めまでの時間を特定できるので、セクタの走査に間に合うか否かを判定することができる。
【００７４】
そして、判定部３０３は、シーク時間と回転待ち時間との和、並びに現在時間から走査を開始するアドレスが通り過ぎるまでの時間から、磁気ヘッド１３が間に合うか否かを判定できる。
【００７５】
そして、図６に示す例では、磁気ヘッド１３がセクタ６０１を走査している時に、判定部３０３が、上述したシーク時間と回転待ち時間との関係から、シーク開始位置６０５から、次の処理の開始位置であるセクタ領域６０２の先頭セクタ（Ａ）６０６まで、磁気ヘッド１３の移動が間に合わないことを、予め判定している。
【００７６】
この場合、セクタ領域６０２の先頭セクタ（Ａ）６０６から処理していたのでは１回転分の回転待ち時間が必要になるため非効率的である。そこで、判定部３０３が、セクタ領域６０２に対する読み出しをスキップし、次のトラックのセクタ領域６０３の先頭セクタ（Ｂ）６０４からであれば、磁気ヘッド１３の位置決めが完了し、読み出し処理が間に合うと判定した場合、セクタ領域６０２は読み出さないと判定する。そして、判定部３０３は、セクタ領域６０２をスキップして、セクタ領域６０３を読み出すように、ヘッド制御部３０１に指示する。これにより、ヘッド制御部３０１は、判定部３０３からの指示に従って、セクタ領域６０２に対する読み出しをスキップし、ダミーデータ出力部３０６が、当該セクタ領域６０２のデータの代わりにダミーデータを出力する。そして、ホストシステム１７には、読み込んだデータの代わりとして当該ダミーデータが転送される。
【００７７】
上述した処理を行うことで、ハードディスクドライブ装置１００では、上述した条件の場合に、回転待ちなく処理を完了することができる。
【００７８】
そして、ダミーデータ出力部３０６が、ダミーデータ出力領域６０７のデータ代わりとしてダミーデータを生成している間に、ヘッド制御部３０１は、次のトラックの先頭セクタ（Ｂ）６０４を目標にシーク動作を開始し、セクタ領域６０３に対する読み出しを要求する。
【００７９】
上述した処理により、一つの読み出し命令に対応するデータとして、先頭部分がダミーデータであり、残りの部分が磁気ディスク９から読み出された正規のデータが、ホストシステム１７に転送される。
【００８０】
上述した例では、目標のセクタまで移動が間に合わないと判定された場合に、次のトラックの目標である先頭セクタからリードを開始すると記載した。しかしながら、間に合うか否かの判定を、トラック単位で行うのではなく、セクタ単位、サーボ間隔単位でより詳細に開始セクタ位置を決定してもよい。
【００８１】
図７は、磁気ヘッド１３の移動前のセクタに対してスキップリードが行われる場合の物理セクタの配置の例を示した図である。図７に示す例は、図５の読み出し命令（６）４１０から、書き込み命令（７）４１１に処理が切り替わる例とする。なお、図５に示す例では、磁気ヘッド１３の移動先での命令が書き込み命令であるが、読み出し命令であっても良い。
【００８２】
図７に示す例においては、読み出し命令（６）４１０による処理対象となるセクタが、セクタ領域７０１で、終了セクタ７０４までであり、書き込み命令（７）４１１による処理対象となるセクタ領域が、セクタ領域７０２とする。
【００８３】
通常の処理においては、読み出し命令（６）４１０で、セクタ領域７０１に対する読み出し処理が終了した後、磁気ヘッド１３は、シーク開始位置（Ａ）７０４から、シーク動作を開始する。これにより、読み出し命令（６）４１０と、書き込み命令（７）４１１とを連続して処理を行うこととなる。
【００８４】
しかしながら、本実施の形態にかかるハードディスクドライブ装置１００においては、判定部３０３が、シーク開始位置（Ａ）７０４から磁気ヘッド１３がシーク動作を開始した場合、シーク時間と回転待ち時間の関係で、書き込み命令（７）４１１の先頭のセクタ７０３に間に合わないと、予め判定している。
【００８５】
この場合、読み出し命令（６）４１０で終了セクタ（７０４）まで処理していたのでは、次の書き込み命令（７）７１１が処理を開始するまでの間に１回転の待ち時間が必要となるため、非効率的である。そこで、判定部３０３が、最終セクタ７０４の位置まで読み出しを行っていると、次の命令に基づく走査に間に合わないが、手前のセクタ７０５の位置までなら、回転待ち無く次の走査を開始できると判定した場合、ヘッド制御部３０１が、読み出し命令（６）４１０で処理対象であるセクタ領域７０１の後方の部分をスキップリード処理し、ダミーデータ出力部３０６が、スキップしたダミーデータ出力領域７０６のデータの代わりにダミーデータを出力する。そして、ホストシステム１７には、読み込んだデータの代わりとして当該ダミーデータが転送される。
【００８６】
上述した処理を行うことで、ハードディスクドライブ装置１００では、上述した条件の場合に、回転待ちなく処理を完了することができる。
【００８７】
そして、ダミーデータ出力部３０６が、ダミーデータ出力領域７０６のデータ代わりとしてダミーデータを生成している間に、ヘッド制御部３０１は、先頭セクタ７０３を目標にシーク動作を開始し、セクタ領域７０２に対する書き込み処理を開始する。
【００８８】
図７に示す例では、読み出し命令（６）４１０に対応するデータとして、先頭部分は磁気ディスク９から読み出されたデータであり、後方部分がダミーデータが、ホストシステム１７に転送される。なお、判定部３０３による、目標のセクタの処理に“間に合う、間に合わない”の判定は、図６で示した説明と同様、リオーダリング機能を使ってシーク動作時間、回転待ち時間に基づいて算出する。
【００８９】
本実施の形態にかかるハードディスクドライブ装置１００では、上述した処理で、必要に応じてスキップリード処理を実行し、スキップされたセクタのデータとしてダミーデータを、ホストシステム１７に転送することで、無駄な回転待ちを回避することができる。
【００９０】
しかしながら、読み出しを行う代わりにダミーデータを出力すると言うことは、画像、音声データの一部が改変されて、ホストシステム１７に転送されることを意味する。つまり、スキップリードを多用しダミーデータを出力する割合が多くなると、ブロックノイズ、音切れ等が生じる要因となる。この問題を回避するため、本実施の形態にかかるハードディスクドライブ装置１００では、スキップリード処理を実施するセクタ位置およびダミーデータの転送ブロック数を正しく管理し、ダミーデータを出力する割合を制限する必要がある。
【００９１】
そして、ハードディスクドライブ装置１００では、判定部３０３が、ホストシステム１７に出力するデータのうち、ダミーデータが予め設定されている比率を超えるか否かを判定し、当該比率を超える場合には、ダミーデータの出力を行わないように制御する。
【００９２】
このダミーデータが予め設定されている比率を超えるか否かを判定するために、本実施の形態にかかる判定部３０３は、以下に示す２種類のパラメータ（以下、スキップリード判定パラメータと称す）を利用する。
（１）  ダミーデータの転送ブロック数
（２）  現ダミーデータ転送開始位置と前ダミーデータ転送終了位置の間隔
【００９３】
これらスキップリード判定パラメータを算出するために、本実施の形態にかかる命令記録部３０４が、実行される各命令に関する情報として、少なくともコマンド開始アドレスと、コマンドブロック数と、ダミーデータ転送時の終了アドレスと、を実行命令情報記憶部３５２に記録する。そして、判定部３０３が、実行命令情報記憶部３５２を参照し、上述した２種類のパラメータを算出する。
【００９４】
そして、判定部３０３は、算出した２種類のスキップリード判定パラメータのうち、いずれも規定条件を満たしている場合にスキップリード処理を許可してもよいと判定し、規定条件を満たさない場合に通常通り、命令で指示された全セクタに対して走査を行うものと判定する。規定条件としては、例えば、ダミーデータ転送ブロック数が第１の規定値以下である、又はダミーデータ間隔が第２の規定値以上である等が考えられる。なお、第１の規定値及び第２の規定値は、ハードディスクドライブ装置１００側で任意に設定可能としても良いし、ホストシステム１７側からコマンドとして指定可能としても良い。
【００９５】
上述したスキップリード判定パラメータのうち、“現ダミーデータ転送開始位置と前ダミーデータ転送終了位置の間隔”の算出手法については、３種類の手法を提案する。
【００９６】
第１の手法としては、読み出し命令がシーケンシャルなアドレスに対して発行された場合に適用される手法である。多くの場合、画像・音声データは、磁気ディスク９に対してシーケンシャルなアドレスに対して記録される。または、デフラグメンテーションにより、シーケンシャルアドレスとなるようセクタが再配置されている。そして、シーケンシャルなアドレスに対して、複数の読み出し命令が順番に行われる場合とする。
【００９７】
図８は、シーケンシャルなアドレスに対して、複数の読み出し命令が順番に行われた場合の例を示した図である。図８に示すように、第１読み出し命令から第５読み出し命令までが、シーケンシャルなアドレスに対して発行された状況を想定している。そして、判定部３０３が、上述した処理で、第５読み出し命令で読み出し対象となるセクタの先頭部分について、磁気ヘッド１３の移動が間に合わないと判定した場合、実行命令情報記憶部３５２を参照し、前回のダミーデータ８０１の出力を行った第２読み出し命令の情報まで遡り、第２読み出し命令でダミーデータ出力領域の最終アドレスと、第５読み出し命令の開始アドレスと、の差分から、“現ダミーデータ転送開始位置と前ダミーデータ転送終了位置の間隔”を算出する。算出した間隔が、第２の規定値以上であれば、スキップリード処理を行ってもよいと判定する。これにより、シーケンシャルアクセスの場合におけるダミーデータの出力比率が制限される。
【００９８】
第２の手法としては、読み出し命令が不連続なアドレスに対して発行された場合に適用される手法である。図９は、磁気ディスク９上の不連続なアドレスに対して、複数の読み出し命令が行われた場合の例を示した図である。図９に示すように、第１読み出し命令から第５読み出し命令の間に磁気ヘッド１３の移動が行われた状況を想定している。なお、第１読み出し命令から第５読み出し命令で読み込み対象となるデータは、同一コンテンツであることを想定している。
【００９９】
そして、判定部３０３が、上述した処理で、第５読み出し命令で読み出し対象となるセクタの先頭部分について、磁気ヘッド１３の移動が間に合わないと判定した場合、実行命令情報記憶部３５２を参照し、前回のダミーデータ９０１の出力を行った第２読み出し命令の情報まで遡り、各コマンドのダミーデータを除いた、データの転送サイズを、第１〜第３インターバルの和から求める。これにより、“現ダミーデータ転送開始位置と前ダミーデータ転送終了位置の間隔”を算出する。算出した間隔が、第２の規定値以上であれば、スキップリード処理を行ってもよいと判定する。これにより、シーケンシャルアクセスの場合におけるダミーデータの出力比率が制限される。
【０１００】
第３の手法としては、複数の読み出し命令が磁気ディスク９に対するランダムアクセスであって、読み出し命令の処理対象が同一コンテンツのデータに限定されない場合に適用される手法である。図１０は、同一コンテンツに限定されないデータに対して、複数の読み出し命令で、磁気ディスク９に対してランダムアクセスが行われた場合の例を示した図である。
【０１０１】
図１０に示す例では、前回のダミーデータの出力を行った第２読み出し命令が、第５読み出し命令と同一コンテンツを処理しているとは限らないため、判定部３０３は、実行命令情報記憶部３５２において、第１読み出し命令の情報まで遡り、ダミーデータの出力を行っている全読み出し命令（図１０に示す例では、第２の読み出し命令のみ）について、読み出し命令毎にダミーデータを除くデータをインターバルとして求め、個々のインターバルがいずれも所定の規定値を超えている場合のみ、スキップリード処理を行ってもよいと判定する。
【０１０２】
なお、いずれの手法についても、実行命令情報記憶部３５２を参照し、遡る命令の最大数は、ハードディスクドライブ装置１００またはホストシステム１７にて予め設定するものとする。
【０１０３】
また、複数の読み出し命令の処理対象が同一コンテンツであるか否かの判別手法は、周知の手法を問わず、あらゆる手法を用いて良い。また、ハードディスクドライブ装置１００では、上述した処理により、ダミーデータを出力する比率を制御することとした。ところで、ホストシステム１７から発行された命令の処理対象が、画像・音声データ、又はその他の管理データなのかを判別するのは難しいが、画像・音声データ、又はその他の管理データで有るかに応じて、ダミーデータを出力する比率を変更しても良い。また、可能であれば、これらデータの種別に応じて、ダミーデータを出力するタイミングを制御することも好ましい。
【０１０４】
上述した処理により、磁気ヘッドによる読み出し及び書き込みの処理効率が向上するため、所定期間に読み出しが出来ない場合に限りダミーデータを転送する場合と比べて、結果的に効率的にデータの読み出し率が向上する。
【０１０５】
次に、本実施の形態にかかるハードディスクドライブ装置１００における全体的な処理について説明する。図１１は、本実施の形態にかかるハードディスクドライブ装置１００における上述した処理の手順を示すフローチャートである。
【０１０６】
まず、キューイング機能部３０５が、ホストシステム１７からの命令を、ＲＡＭ１０の命令キュー３５１にキューイングする（ステップＳ１１０１）。
【０１０７】
次に、リオーダリング機能部３０２が、キューイングされた各命令で走査対象となるセクタ間の移動距離に基づいて、当該各命令についてリオーダリングを行う（ステップＳ１１０２）。
【０１０８】
ハードディスクドライブ装置１００において、リオーダリングされた命令に基づく処理が行われる（ステップＳ１１０３）。
【０１０９】
次に、図１１のステップＳ１１０３で示した、本実施の形態にかかるハードディスクドライブ装置１００における各命令に基づく処理について説明する。図１２は、本実施の形態にかかるハードディスクドライブ装置１００における上述した処理の手順を示すフローチャートである。
【０１１０】
まず、判定部３０３は、実行中の命令が書き込み命令か否か判定する（ステップＳ１２０１）。
【０１１１】
そして、判定部３０３が、実行中の命令が書き込み命令であると判定した場合（ステップＳ１２０１：Ｙｅｓ）、次の命令が書き込み命令であるか否かを判定する（ステップＳ１２０２）。次の命令が書き込み命令であると判定した場合（ステップＳ１２０２：Ｙｅｓ）、スキップリード処理を行うことはできないため、ステップＳ１２１７からの処理を行う。
【０１１２】
一方、次の命令が書き込み命令ではない（読み出し命令である）と判定された場合（ステップＳ１２０２：Ｎｏ）、判定部３０３は、さらに次の命令は、回転待ち無く処理が可能か否か判定する（ステップＳ１２０３）。つまり、磁気ヘッド１３がセクタ間を移動する際に間に合うか否かを判定する。そして、回転待ち無く処理が可能と判定した場合（ステップＳ１２０３：Ｙｅｓ）、通常通りの処理で良いため、ステップＳ１２１７からの処理を行う。
【０１１３】
一方、判定部３０３が、次の命令を回転待ち無く処理が可能ではないと判定した場合（ステップＳ１２０３：Ｎｏ）、２種類のスキップリード判定パラメータを算出する（ステップＳ１２０４）。そして、判定部３０３は、算出された２種類のスキップリード判定パラメータに基づいて、次の命令がスキップリード可能であるか否かを判定する（ステップＳ１２０５）。スキップリードが可能ではないと判定された場合（ステップＳ１２０５：Ｎｏ）、通常通りの処理を行う必要があるため、ステップＳ１２１７からの処理を行う。
【０１１４】
一方、判定部３０３が、スキップリード可能であると判定した場合（ステップＳ１２０５：Ｙｅｓ）、次の読み出し命令における、最初のトラックの読み出しをスキップし、次のトラックの先頭セクタを、次に実行する命令における読み出し開始位置として設定する（ステップＳ１２０６）。そして、ステップＳ１２１７からの処理で、次のトラックの先頭セクタが、開始アドレスとしてシーク動作が開始される。
【０１１５】
そして、判定部３０３が、実行中の命令が書き込み命令ではない（読み出し命令である）と判定した場合（ステップＳ１２０１：Ｎｏ）、次の命令が書き込み命令であるか否かを判定する（ステップＳ１２０７）。次の命令が書き込み命令であると判定した場合（ステップＳ１２０７：Ｙｅｓ）、判定部３０３は、さらに次の命令は、回転待ち無く処理が可能か否か判定する（ステップＳ１２０８）。つまり、磁気ヘッド１３がセクタ間を移動する際に間に合うか否かを判定する。そして、回転待ち無く処理が可能と判定した場合（ステップＳ１２０８：Ｙｅｓ）、通常通りの処理で良いため、ステップＳ１２１７からの処理を行う。
【０１１６】
一方、判定部３０３が、次の命令を回転待ち無く処理が可能ではないと判定した場合（ステップＳ１２０８：Ｎｏ）、２種類のスキップリード判定パラメータを算出する（ステップＳ１２０９）。そして、判定部３０３は、算出された２種類のスキップリード判定パラメータに基づいて、処理中の命令がスキップリード可能であるか否かを判定する（ステップＳ１２１０）。スキップリード可能ではないと判定された場合（ステップＳ１２１０：Ｎｏ）、通常通りの処理を行う必要があるため、ステップＳ１２１７からの処理を行う。
【０１１７】
一方、判定部３０３が、スキップリードが可能であると判定された場合（ステップＳ１２１０：Ｙｅｓ）、処理中の読み出し命令について、磁気ヘッド１３の移動が間に合う、読み出し終了アドレスを算出する（ステップＳ１２１１）。その後、判定部３０３は、読み出し終了アドレスで読み出しを終了し、当該アドレス以降についての読み出しをスキップするように、ヘッド制御部３０１に対して指示する（ステップＳ１２１２）。その後、ステップＳ１２１７からの処理で、次のトラックの先頭セクタが、開始アドレスとしてシーク動作が開始される。
【０１１８】
また、ステップＳ１２０７において、判定部３０３が、次の命令を書き込み命令でない（読み出し命令である）と判定した場合した場合（ステップＳ１２０７：Ｎｏ）、次の命令は、回転待ち無く処理が可能か否か判定する（ステップＳ１２１３）。つまり、磁気ヘッド１３がセクタ間を移動する際に間に合うか否かを判定する。そして、回転待ち無く処理が可能と判定した場合（ステップＳ１２１３：Ｙｅｓ）、通常通りの処理で良いため、ステップＳ１２１７からの処理を行う。
【０１１９】
一方、判定部３０３が、次の命令を回転待ち無く処理が可能ではないと判定した場合（ステップＳ１２１３：Ｎｏ）、２種類のスキップリード判定パラメータを算出する（ステップＳ１２１４）。そして、判定部３０３は、算出された２種類のスキップリード判定パラメータに基づいて、次の命令がスキップリード可能であるか否かを判定する（ステップＳ１２１５）。次の命令がスキップリード可能であると判定された場合（ステップＳ１２１５：Ｙｅｓ）、ステップＳ１２０６からの処理を行う。
【０１２０】
一方、次の命令がスキップリード可能ではないと判定された場合（ステップＳ１２１５：Ｎｏ）、処理中の命令がスキップリード可能であるか否かを判定する（ステップＳ１２１６）。処理中の命令がスキップリード可能であると判定された場合（ステップＳ１２１６：Ｙｅｓ）、ステップＳ１２１１からの処理を行う。
【０１２１】
これら処理の後、ヘッド制御部３０１が、次に実行する命令の開始アドレスに対するシーク動作を開始するよう、磁気ヘッド１３の制御を行う（ステップＳ１２１７）。
【０１２２】
その後、ダミーデータ出力部３０６が、磁気ヘッド１３によるスキップリードが実行されたか否かを判定する（ステップＳ１２１８）。スキップリードが実行されていないと判定された場合（ステップＳ１２１８：Ｎｏ）、ダミーデータ出力部３０６は特に処理を行わない。
【０１２３】
一方、スキップリードが実行されたと判定された場合（ステップＳ１２１８：Ｙｅｓ）、ダミーデータ出力部３０６は、スキップされたセクタのデータの代わりとなるダミーデータを出力する（ステップＳ１２１９）。
【０１２４】
その後、判定部３０３が、さらに次の命令があるか否かを判定する（ステップＳ１２２０）。あると判定された場合（ステップＳ１２２０：Ｙｅｓ）、磁気ヘッド１３の移動が終了し、次の処理が開始された場合に、再びステップＳ１２０１から処理を開始する。
【０１２５】
また、次の命令が無いと判定された場合（ステップＳ１２２０：Ｎｏ）、磁気ヘッド１３がシークし、当該処理が行われた後に終了する（ステップＳ１２２１）。スキップリードが可能ではないと判定された場合（ステップＳ１２１６：Ｎｏ）、通常通りの処理を行う必要があるため、ステップＳ１２１７からの処理を行う。
【０１２６】
一方、判定部３０３が、スキップリードが可能であると判定された場合（ステップＳ１２１０：Ｙｅｓ）、処理中の読み出し命令について、磁気ヘッド１３の移動が間に合う、読み出し終了アドレスを算出する（ステップＳ１２１１）。その後、判定部３０３は、読み出し終了アドレスで読み出しを終了し、当該アドレス以降についての読み出しをスキップするように、ヘッド制御部３０１に対して指示する（ステップＳ１２１２）。その後、ステップＳ１２１７からの処理で、次のトラックの先頭セクタが、開始アドレスとしてシーク動作が開始される。
【０１２７】
上述した処理では、磁気ヘッド１３の移動が間に合わない場合に、移動前のセクタ又は移動後のセクタのいずれか一方のみスキップリードを行う例について説明した。しかしながら、いずれか一方のみに制限するのではなく、両方ともスキップリードを行ってもよい。この場合、ダミーデータの転送セクタ数は多くなるが、更に高速なアクセスが可能となる。
【０１２８】
また、本実施の形態とは異なるが、シーケンシャルな複数の読み出し命令の発行によってデータを読み出す場合に、ホストシステム１７側から故意にアクセスするセクタの間隔を空けてリードコマンドを発行することで、ハードディスクドライブ装置１００における負荷を低減してもよい。ホストシステム１７側で任意に要求アドレスを指定できるため、ハードディスクドライブ装置１００側でコマンドパターンを認識するより、情報の欠落レベルを任意に制御することが可能である。
【０１２９】
本実施の形態においては、データを読み出すか否かの基準として、セクタ間の移動距離に基づいて、セクタを読み出すか否かを判定した。しかしながら、本実施の形態は、データを読み出すか否かの基準をセクタ間の移動距離に制限するものではなく、例えばダミーデータを出力したダミーデータ出力領域の物理的な間隔など、磁気ディスク９上の物理的な位置に基づいて、判定する基準であればよい。
【０１３０】
本実施の形態は、ハードディスクドライブ装置に制限するものではなく、読み書き可能なディスクに対して制御を行うディスクドライブ装置であればよい。
【０１３１】
本実施の形態にかかるハードディスクドライブ装置１００は、１つ１つのコマンド実行時間を規定時間内に収めると共に、キューイングされたコマンドによる全体的な処理時間を短縮する。
【０１３２】
本実施の形態にかかるハードディスクドライブ装置１００は、高速アクセスを要求されるコマンド群に基づく処理を行う際、所定の時間内に読み出すデータの欠落を最小限に抑えることができる。
【０１３３】
本実施の形態にかかるハードディスクドライブ装置１００は、磁気ヘッド１３によるセクタの操作中にダミーデータを出力するダミーデータ出力部３０６を備え、任意のセクタの任意のデータの代わりとしてダミーデータの出力を可能とする制御を行う。これにより、規定時間内に実行する命令の数を増加させることができる。ダミーデータを転送することで読み込み命令について１００％のデータを保障することは出来なくなるが、その分の処理時間を他の命令の処理に割り当てることができる。必然的に書き込み命令の処理時間に余裕ができるため確実な動作を可能とする。このように本実施の形態にかかるハードディスクドライブ装置１００では、読み込みの処理時間を短縮し、書き込みの処理時間を長く確保することが可能となる。
【０１３４】
また、ダミーデータの転送位置、及びセクタ数を決定するとして、リオーダリング機能を用いても良い。リオーダリング機能を用いた場合でも、コマンド処理の全体の実行時間を短縮することが可能となる。これは、ハードディスクドライブ装置１００の磁気ディスク９の物理セクタ位置から導き出した処理のため、ホストシステム側からは推測できないものであり、ハードディスクドライブ装置１００が適切に処理を行うものとする。
【０１３５】
本実施の形態にかかるハードディスクドライブ装置１００では、ダミーデータを出力する間隔を制御することで、画像、音声情報の欠落を最小限に抑えることができる。これにより、音切れやブロックノイズを抑えることができる。
【０１３６】
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【０１３７】
（変形例１）
上述した第１の実施の形態において、読み出し命令が１種類の場合について説明した。しかしながら、読み出し命令を１種類の場合に制限するものではなく、データの必要性に応じた２種類の読み出し命令が、ホストシステム１７から送られてくるものとしても良い。２種類の読み出し命令のうち、一方の読み出し命令は、読み出すデータの代わりにダミーデータを出力しても良い命令とする。他方の読み出し命令は、ダミーデータの出力を禁止する命令とする。
【０１３８】
本変形例の場合、判定部３０３は、ダミーデータの出力を禁止する命令が入力された場合には、当該命令で読み出し対象とされたセクタについては、物理的な位置に係わらず、読み出しを行うと判定する。これにより、適切に読み出しデータの制御が可能となる。
【０１３９】
ホストシステム１７は、これら命令を使い分けることで、必要なデータについて確実に読み出すことと、ハードディスクドライブ装置１００の動作の確実性を向上との両立を図ることが可能となる。
【０１４０】
さらに、本変形例は、ＡＶコマンドが、２種類の読み出し命令と、１種類の書き込み命令とに制限するものではなく、例えば、書き込み命令についてもダミーデータによる書き込みを許可し、２種類の読み出し命令と２種類の書き込み命令とで構成しても良い。このように、第１の実施の形態で示した処理は、あらゆるＡＶコマンド体系に対しても適用できる。
【０１４１】
（第２の実施の形態）
第１の実施の形態においては、ハードディスクドライブ装置１００の例について説明した。しかしながら、ハードディスクドライブ装置単体に制限するものではなく、ハードディスクドライブ装置をＡＶコマンドで制御する様々な情報処理装置に対して適用することができる。そこで、第２の実施の形態としては、ハードディスクドライブ装置１００を備えたテレビジョン受信装置の例について説明する。
【０１４２】
図１３は、ハードディスクドライブ装置１００を内蔵したテレビジョン受信装置１３００の外観を示した図である。図１３に示すように、破線領域にハードディスクドライブ装置１００が内蔵されているものとする。
【０１４３】
図１４は、第２の実施の形態にかかるテレビジョン受信装置１３００の構成を示すブロック図である。本実施の形態にかかるテレビジョン受信装置１３００は、ハードディスクドライブ装置１００と、録画再生制御部１４０１と、受信部１４０２と、表示部１４０３と、システムコントローラ部１４０４と、リモコン受信部１４０５とを備えている。
【０１４４】
リモコン受信部１４０５は、図示しないリモコンからの信号を受信し、テレビジョン受信装置１３００の電源の切り換え、選局、又は番組の予約の受付など行う。
【０１４５】
受信部１４０２は、図示しないチューナ部を備え、リモコン受信部１４０５により選局された番組のコンテンツデータを受信するものである。受信したコンテンツデータは、表示部１４０３及び録画再生制御部１４０１のいずれか一つ以上に出力する。
【０１４６】
表示部１４０３は、受信部１４０２又は録画再生制御部１４０１から供給されたコンテンツデータをテレビジョン信号（ＴＶ信号）に変換した後、テレビジョン信号の表示制御を行う。
【０１４７】
システムコントローラ部１４０４は、テレビジョン受信装置１３００全体の処理を制御するものである。具体的には、システムコントローラ部１４０４は、録画再生制御部１４０１への制御信号の出力処理、コンテンツデータに関する所定の処理に係る処理情報の表示処理などを行う。
【０１４８】
録画再生制御部１４０１は、受信部１４０２が受信したコンテンツデータに関する所定の処理を実行するものである。本実施の形態では、録画再生制御部１４０１は、システムコントローラ部１４０４からの制御信号に応じて、受信部１４０２が受信したコンテンツデータまたはハードディスクドライブ装置１００に記録されているコンテンツデータを選択して、表示部１４０３に出力する再生処理を実行する。
【０１４９】
また、録画再生制御部１４０１は、コンテンツデータに、当該コンテンツデータを識別するための情報であって、コンテンツデータを録画した番組のチャンネルを示すチャンネル情報、コンテンツデータを録画した番組の番組名、コンテンツデータを録画した録画日時、コンテンツデータの再生履歴などを含む識別情報を付加してハードディスクドライブ装置１００への記録処理を実行（録画）するものとする。
【０１５０】
録画再生制御部１４０１は、ハードディスクドライブ装置１００に対して直接接続されており、ハードディスクドライブ装置１００を制御するための命令を出力する。この出力する命令には、ＡＶコマンドも含まれている。すなわち、録画再生制御部１４０１は、第１の実施の形態にかかるホストシステム１７と同様の役割を果たす。
【０１５１】
ハードディスクドライブ装置１００は、第１の実施の形態と同様の構成を備えているものとする。
【０１５２】
（第２の実施の形態の変形例）
また、第２の実施の形態は、ハードディスクドライブ装置１００を内蔵するテレビジョン受信装置１３００に制限するものではない。変形例としては、図１５に示すように、テレビジョン受信装置１５００が直接ハードディスクドライブ装置１００と接続されていてもよい。図１５に示すテレビジョン受信装置１５００においては、ハードディスクドライブ装置１００を内蔵する代わりに、ハードディスクドライブ装置１００と接続するための入出力Ｉ／Ｆ１５０１を備えるものとする。
【０１５３】
入出力Ｉ／Ｆ１５０１は、ハードディスクドライブ装置１００と接続するインターフェースとする。接続するインターフェースとしては様々な形式で良く、例えばＵＳＢ、ＩＥＥＥ１３９４などを用いても良い。
【０１５４】
上述した第２の実施の形態及び変形例においても、第１の実施の形態と同様の効果を得ることができる。
【０１５５】
なお、上述した実施形態のハードディスクドライブ装置１００で実行されるコントロールプログラム５１は、ＲＯＭ１１等に予め組み込まれて提供される。
【０１５６】
本実施形態のハードディスクドライブ装置１００で実行されるコントロールプログラム５１は、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１５７】
さらに、本実施形態のハードディスクドライブ装置１００で実行されるコントロールプログラム５１を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のハードディスクドライブ装置１００で実行されるコントロールプログラム５１をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施の形態のハードディスクドライブ装置１００で実行されるコントロールプログラム５１は、上述した各部（ヘッド制御部３０１と、リオーダリング機能部３０２と、判定部３０３と、命令記録部３０４と、キューイング機能部３０５と、ダミーデータ出力部３０６）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１が上記ＲＯＭ１１からコントロールプログラム５１を読み出して実行することにより上記各部が主記憶装置（ＲＡＭ１０）上にロードされ、ヘッド制御部３０１と、リオーダリング機能部３０２と、判定部３０３と、命令記録部３０４と、キューイング機能部３０５と、ダミーデータ出力部３０６が主記憶装置上に生成されるようになっている。
【０１５８】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１５９】
１  ＣＰＵ
２  ゲートアレイ
３  ＨＤＣ
４  バッファＲＡＭ
５  リード・ライトＩＣ
６  モータドライバ
７  ＶＣＭ
８  ＳＰＭ
９  磁気ディスク
１０  ＲＡＭ
１１  ＲＯＭ
１２  ＣＰＵバス
１３  磁気ヘッド
１４  アーム
１５  軸
１６  ヘッドＩＣ
１７  ホストシステム
１８  伝送路
２１  サーボブロック
２２  リード・ライトブロック
２３  ホストブロック
２４  リード・ライトブロック
２５  バッファブロック
５１  コントロールプログラム
１００  ハードディスクドライブ装置
３０１  ヘッド制御部
３０２  リオーダリング機能部
３０３  判定部
３０４  命令記録部
３０５  キューイング機能部
３０６  ダミーデータ出力部
３５１  命令キュー
３５２  実行命令情報記憶部
１３００、１５００  テレビジョン受信装置
１４０１  録画再生制御部
１４０２  受信部
１４０３  表示部
１４０４  システムコントローラ部
１４０５  リモコン受信部
１５０１  入出力インターフェース
【図１】
2010176766.tif 000003
【図２】
2010176766.tif 000004
【図３】
2010176766.tif 000005
【図４】
2010176766.tif 000006
【図５】
2010176766.tif 000007
【図６】
2010176766.tif 000008
【図７】
2010176766.tif 000009
【図８】
2010176766.tif 000010
【図９】
2010176766.tif 000011
【図１０】
2010176766.tif 000012
【図１１】
2010176766.tif 000013
【図１２】
2010176766.tif 000014
【図１３】
2010176766.tif 000015
【図１４】
2010176766.tif 000016
【図１５】
2010176766.tif 000017
【手続補正書】
【提出日】平成21年10月22日(2009.10.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるディスクドライブ装置は、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、を備えることを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本発明にかかるディスク制御デバイスは、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、
前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、
を備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本発明にかかる情報処理装置は、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、有するハードディスク制御手段と、前記ハードディスク制御手段に対して、前記ハードディスク制御手段を制御する命令を出力する出力手段と、を備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、本発明にかかるディスク制御方法は、ディスクドライブ装置を制御するディスク制御方法であって、磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定ステップと、前記判定ステップにより前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力ステップと、を有することを特徴とする。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、
前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、
を備えることを特徴とするディスクドライブ装置。
【請求項２】
前記判定手段は、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が可能か否かを判定し、前記ヘッドが前記一回転するまでの間に前記第１のブロックから前記第２のブロックまでの移動が可能でないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項１に記載のディスクドライブ装置。
【請求項３】
前記判定手段は、さらに、前記ブロックから読み出されたデータに対する、前記出力手段により出力されたダミーデータの比率に基づいて、読み出しを行うか否かを判定すること、
を特徴とする請求項１に記載のディスクドライブ装置。
【請求項４】
前記判定手段は、前記ダミーデータの比率として、ダミーデータの出力量、及びダミーデータの出力間隔に基づいて、読み出しを行うか否かを判定すること、
を特徴とする請求項３に記載のディスクドライブ装置。
【請求項５】
前記判定手段は、さらに、データの読み出し先のブロックのうち、前記データの読み出し命令で読み出しが必要とされたブロックについては、物理的な位置に係わらず、データの読み出しを行うと判定すること、
を特徴とする請求項１乃至４のいずれか一つに記載のディスクドライブ装置。
【請求項６】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、
前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、
を備えることを特徴とするディスク制御デバイス。
【請求項７】
前記判定手段は、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が可能か否かを判定し、前記ヘッドが前記一回転するまでの間に前記第１のブロックから前記第２のブロックまでの移動が可能でないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項６に記載のディスク制御デバイス。
【請求項８】
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定手段と、前記判定手段により前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力手段と、有するハードディスク制御手段と、
前記ハードディスク制御手段に対して、前記ハードディスク制御手段を制御する命令を出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
磁気ディスクドライブ装置を制御するディスク制御方法であって、
磁気ディスク上で、データの読み出し又は書き込みのために走査の対象とされた各ブロックの物理的な位置に基づいて、データの読み出し対象であるブロックについて読み出しを行うか否かを判定する判定ステップと、
前記判定ステップにより前記ブロックからデータの読み出しを行わないと判定された場合に、当該ブロック内のデータの代わりとして、ダミーデータを出力する出力ステップと、
を有することを特徴とするディスク制御方法。
【請求項１０】
前記判定ステップは、前記磁気ディスク上を走査するヘッドが走査の対象である第１ブロックから、次の走査の対象である第２ブロックまでの移動距離に基づいて、前記磁気ディスクが一回転するまでの間に、前記ヘッドが前記第２ブロックまで移動が可能か否かを判定し、前記ヘッドが前記一回転するまでの間に前記第１のブロックから前記第２のブロックまでの移動が可能でないと判定された場合に、前記第１のブロック又は前記第２のブロックについて、前記読み出しを行わないと判定すること、
を特徴とする請求項９に記載のハードディスクの制御方法。