(57)【要約】【課題】本発明は、例えばハードディスクドライブに適用して、特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができるようにする。【解決手段】本発明は、検索対象ファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドにより、この検索対象ファイルの記録されたブロックを順次検出して再生し、検索データの有無を判定して通知する。【選択図】　　　　図１
2004030380.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報により前記記録媒体を管理し、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドに応動して、前記記録媒体に記録されたデータを再生して再生データを出力するデータ記憶装置において、
前記読み出しのコマンドを入力すると共に、前記再生データを出力する入出力手段と、
前記再生データを一時保持するバッファメモリと、
前記再生データを前記記録媒体より再生する再生手段と、
前記再生データを処理するデータ処理手段と、
全体の動作を制御する制御手段とを備え、
前記制御手段は、
前記入出力手段を介して得られる、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理により、
前記管理情報に基づいて、前記検索対象のファイルが記録されている前記ブロックを順次検出すると共に、該検出したブロックからのデータを再生し、該再生したデータから前記検索データの検出をし、検出結果を前記入出力手段を介して通知する
ことを特徴とするデータ記憶装置。
【請求項２】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルが記録されている前記ブロックのうちの、先頭のブロックを示す情報である
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルのファイル名を示す情報である
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項４】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルが属するディレクトリを示す情報である
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項５】
前記検索コマンドは、
前記検索対象のファイル及び又は前記検索データが複数設定され、
前記制御手段は、
前記複数の検索対象のファイル及び又は前記検索データについて、前記検索処理を実行する
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項６】
前記制御手段は、
前記検索データを有してなる前記ブロックを前記検索結果として通知する
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項７】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項１に記載のデータ記憶装置。
【請求項８】
データ記憶装置の記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報に基づいて、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドを前記データ記憶装置に出力して前記記録媒体に記録されたデータを取得するデータ処理装置において、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドを前記データ記憶装置に出力することにより、前記検索対象のファイルに前記検索データが含まれているか否かの検索結果を取得し、
前記検索結果を表示する
ことを特徴とするデータ処理装置。
【請求項９】
記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報により前記記録媒体を管理し、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドに応動して、前記記録媒体に記録されたデータを再生して再生データを出力するデータ記憶装置の制御方法において、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、
前記検索処理ステップは、
前記管理情報に基づいて、前記検索対象のファイルが記録されている前記ブロックを順次検出するブロック検出ステップと、
該検出したブロックからデータを再生するデータ再生ステップと、
該再生したデータから前記検索データを検出する検索データ検出ステップと、
検出結果を通知する検索結果通知ステップとを有する
ことを特徴とするデータ記憶装置の制御方法。
【請求項１０】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルが記録されている前記ブロックのうちの、先頭のブロックを示す情報である
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１１】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルのファイル名を示す情報である
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１２】
前記検索対象のファイルを特定する情報が、前記検索対象のファイルが属するディレクトリを示す情報である
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１３】
前記検索コマンドは、
前記検索対象のファイル及び又は前記検索データが複数設定され、
前記データ記憶装置の制御方法は、
前記複数の検索対象のファイル及び又は前記検索データについて、前記検索処理ステップを実行する
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１４】
前記検索結果通知ステップは、
前記検索データを有してなる前記ブロックを前記検索結果として通知する
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１５】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項９に記載のデータ記憶装置の制御方法。
【請求項１６】
記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報により前記記録媒体を管理し、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドに応動して、前記記録媒体に記録されたデータを再生して再生データを出力するデータ記憶装置の制御プログラムにおいて、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、
前記検索処理ステップは、
前記管理情報に基づいて、前記検索対象のファイルが記録されている前記ブロックを順次検出するブロック検出ステップと、
該検出したブロックからデータを再生するデータ再生ステップと、
該再生したデータから前記検索データを検出する検索データ検出ステップと、
検出結果を通知する検索結果通知ステップとを有する
ことを特徴とするデータ記憶装置の制御プログラム。
【請求項１７】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項１６に記載のデータ記憶装置の制御プログラム。
【請求項１８】
データ記憶装置の記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報に基づいて、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドを前記データ記憶装置に出力して前記記録媒体に記録されたデータを取得するデータ処理装置の制御プログラムにおいて、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドを前記データ記憶装置に出力するコマンド出力ステップと、
前記検索対象のファイルに前記検索データが含まれているか否かの検索結果を取得する検索結果取得ステップと、
前記検索結果を表示する表示ステップとを有する
ことを特徴とするデータ処理装置の制御方法プログラム。
【請求項１９】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項１８に記載のデータ処理装置の制御プログラム。
【請求項２０】
記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報により前記記録媒体を管理し、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドに応動して、前記記録媒体に記録されたデータを再生して再生データを出力するデータ記憶装置の制御プログラムを記録した記録媒体において、
前記データ記憶装置の制御プログラムは、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、
前記検索処理ステップは、
前記管理情報に基づいて、前記検索対象のファイルが記録されている前記ブロックを順次検出するブロック検出ステップと、
該検出したブロックからデータを再生するデータ再生ステップと、
該再生したデータから前記検索データを検出する検索データ検出ステップと、
検出結果を通知する検索結果通知ステップとを有する
ことを特徴とするデータ記憶装置の制御プログラムを記録した記録媒体。
【請求項２１】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項２０に記載のデータ記憶装置の制御プログラムを記録した記録媒体。
【請求項２２】
データ記憶装置の記録媒体に所定のブロック単位で設定されたアドレスを基準にした管理情報に基づいて、少なくとも前記アドレスにより記録位置を指定した読み出しコマンドを前記データ記憶装置に出力して前記記録媒体に記録されたデータを取得するデータ処理装置の制御プログラムを記録した記録媒体において、
前記データ処理装置の制御プログラムは、
少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドを前記データ記憶装置に出力するコマンド出力ステップと、
前記検索対象のファイルに前記検索データが含まれているか否かの検索結果を取得する検索結果取得ステップと、
前記検索結果を表示する表示ステップとを有する
ことを特徴とするデータ処理装置の制御プログラムを記録した記録媒体。
【請求項２３】
前記管理情報が、
ＦＡＴファイルシステムによる管理情報である
ことを特徴とする請求項２２に記載のデータ処理装置の制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記憶装置、データ処理装置、データ記憶装置の制御方法、データ記憶装置の制御プログラム、データ処理装置の制御プログラム、データ記憶装置の制御プログラムを記録した記録媒体及びデータ処理装置の制御プログラムを記録した記録媒体に関し、例えばハードディスクドライブに適用することができる。本発明は、検索対象ファイルを特定する情報と検索に供する検索データとをパラメータに設定した検索コマンドにより、この検索対象ファイルの記録されたブロックを順次検出して再生し、検索データの有無を判定して通知することにより、特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができるようにする。
【０００２】
【従来の技術】
従来、パーソナルコンピュータのペリフェラルとして使用されるハードディスクドライブにおいては、ランダムアクセス可能であり、近年、小型化、高記録密度化されている。これによりハードディスクドライブをオーディオデータ、ビデオデータ（以下、ＡＶデータと呼ぶ）の記録に適用してホームサーバー、車載用機器等に利用することが種々に提案されるようになされている。
【０００３】
このようなハードディスクドライブにおいては、ハードディスクに記録された管理用のデータであるファイルアロケーションテーブル（ＦＡＴ）により、複数セクタによるクラスタを単位にしてハードディスクに記録されたデータを管理できるようになされており、この管理をホスト装置であるパーソナルコンピュータ等により実行するようになされている。以下、このようなファイルアロケーションテーブルによるファイル管理システムをＦＡＴファイルシステムと呼ぶ。
【０００４】
すなわち図６は、ハードディスクドライブを示すブロック図である。このハードディスクドライブ１は、ホスト装置２に接続されて、このホスト装置２より出力される各種のデータをハードディスク３に記録する。ここでホスト装置２は、例えばコンピュータである。
【０００５】
ここでハードディスク３は、図７に示すように、ＭＳ−ＤＯＳ互換ファイルシステムのフォーマットが適用される。すなわちハードディスク３は、情報記録面を内周側領域と外周側領域とに分割し、外周側領域がシステムエントリエリアに割り当てられる。また内周側領域がデータエリアに割り当てられる。このうちデータエリアは、クラスタに細分化され、所定フレーム数のデータ量を単位にして、各クラスタにユーザーデータが記録される。
【０００６】
さらにハードディスク３は、情報記録面が同心円状に複数のゾーンに区切られ、さらに各ゾーンのトラックがそれぞれ円周方向に所定長さで区切られて複数のセクタに分割される。このようにしてセクタ化されてなるハードディスク３は、情報記録面の面番号、情報記録面の外周側より連続して割り当てられるトラック番号、各トラックにおけるセクタを特定するセクタ番号により、物理アドレスが設定され、さらにこの物理アドレスに対応して情報記録面の外周側より順次設定されてなる論理アドレスによりユーザーデータがファイル管理されるようになされている。
【０００７】
ここで論理アドレスは、複数の論理セクタの集合によるクラスタを単位にしたクラスタ番号により表される。すなわち論理セクタは、情報記録面における先頭の領域（この場合は最外周である）を０セクタとして設定されるデータの記録単位に対応する領域であり、例えば１の物理セクタが１の論理セクタに対応して、論理セクタ番号＝１トラック当たりのセクタ数×（面番号＋面の数×トラック番号）＋セクタ番号−１の関係式により論理セクタ番号を表すことができるようになされている。なおここで面番号、トラック番号、セクタ番号は、物理アドレスによるものである。
【０００８】
ここで論理セクタは、ユーザーデータに換算して１つの論理セクタに５１２バイトのデータを記録できるように構成され、複数個の論理セクタにより１つのクラスタが構成されるようになされている。なお、１つのクラスタは、一般に２のべき乗個のセクタにより構成され、ユーザーデータを記録するデータエリアにおいて、ファイルエリアの先頭を２とする連番であるクラスタ番号により特定されるようになされている。
【０００９】
データエリアは、このようにして設定される各クラスタにクラスタ番号が割り当てられ、このクラスタ番号を基準にしてクラスタ単位でアクセスできるようになされている。なおここでは、クラスタ番号を４桁のヘキサ形式により示す。これにより１つのファイルの最少単位は、１クラスタとなる。
【００１０】
これに対してシステムエントリエリアは、さらにブートエリア、ＦＡＴ（ＦａｉｌＡｌｌｏｃａｔｉｏｎ　Ｔａｂｌｅ　）エリア、ディレクトリエリアに分割され、ブートエリアには、ディスクの構造を定義するデータが記録される。これに対してＦＡＴエリア及びディレクトリエリアには、データエリアに記録したユーザーデータのアクセスに必要なアドレス情報等による管理情報が記録される。
【００１１】
すなわちディレクトリエリアには、データ領域に記録されたファイルを特定するファイル管理情報が記録される。これに対してＦＡＴエリアには、ファイル管理情報と関連付けられて、データ領域の管理単位であるクラスタ毎に、続くデータを記録した管理単位のアドレスを記録した管理用テーブルが記録される。具体的に、ＦＡＴエリアには、各ファイルの先頭クラスタに連続する各クラスタのクラスタ番号等が記録される。これによりハードディスク３は、所望するファイル名の先頭クラスタ番号をディレクトリエリアから検出した後、この先頭クラスタ番号に続くクラスタ番号を順次ＦＡＴエリアから検出することにより、１つのファイルを構成する連続するクラスタのアドレスを検出できるようになされている。
【００１２】
かくするにつきこの図７においては、データエリアのクラスタ番号１２３４ｈ〜１２４０ｈまでのクラスタにファイル１が記録されている場合に、ファイル１の第１クラスタのクラスタ番号１２３４ｈを示すコードがディレクトリエリアに記録され、さらにこのクラスタ番号１２３４ｈから続くクラスタ番号がＦＡＴエリアの対応する領域に順次記録されるようになされている。なおこの図７においてＥＯＦ（Ｅｎｄ　Ｏｆ　Ｆｉｌｅ　）は、１つのファイルの最終クラスタを示す識別情報である。
【００１３】
より詳細には、ディレクトリエリアは、データエリアに記録した各ファイル毎に、図８に示す構成により、データ領域に記録された各ファイルをそれぞれ特定するファイル管理情報が記録される。すなわちファイル管理情報は、先頭８バイトにファイル名が割り当てられ、続く３バイトに各ファイルの拡張子が割り当てられる。さらに続く１バイトにファイルの属性を示すデータが割り当てられ、続く１０バイトがリザーブ用のデータに割り当てられる。また続く２バイトが記録開始時刻のデータに、続く２バイトが記録日付のデータに割り当てられ、続く２バイトに先頭クラスタ番号であるクラスタ番号が割り当てられるようになされている。なお最後の４バイトには、ファイル長のデータが割り当てられる。
【００１４】
これに対してＦＡＴエリアは（図７）、データ領域の管理単位である各クラスタの関連を示す識別データが記録される。すなわちＦＡＴエリアは、データエリアのクラスタ番号に対応してクラスタアドレスが割り振られ、各クラスタアドレスに続くクラスタのクラスタ番号が記録されるようになされている。また図９に示すように、これらクラスタ番号に割り当てられていないコードのうち、所定のコードがそれぞれ空き領域、欠陥クラスタ、ＥＯＦを示す識別情報に割り当てられるようになされている。
【００１５】
これによりハードディスク３は、ＦＡＴエリアをアクセスしてデータエリアの空き領域を検出できるようになされている。また欠陥セクタを基準にして代替処理を実行できるようになされ、さらには記録時、ライトアンドベリファイによるリトライの処理により欠陥セクタを登録できるようになされている。これらによりハードディスク３は、所定ブロック単位で情報記録面を管理できるようになされている。
【００１６】
サーボ回路４は、ハードディスク制御回路５の制御によりモータ（Ｍ）６を駆動し、これによりハードディスク３を所定の回転速度により回転駆動する。またサーボ回路４は、同様にしてモータ（Ｍ）８を駆動することにより磁気ヘッドをシークさせ、さらにトラッキング制御する。なおこのようなハードディスク３の駆動においては、アクセス速度を優先してＣＡＶ（Ｃｏｎｓｔａｎｔ　Ａｎｇｕｌａｒ　Ｖｅｒｏｃｉｔｙ）方式が一般的ではあるが、最近は、いわゆるゾーンビットレコーディングにより、外周側程、１周当たりのセクタ数が多くなるように設定すると共に、記録周波数を可変し、これにより効率良くデータを記録して記録容量を増大させる方法も採用されるようになされている。なおこのゾーンビットレコーディングにおいては、これにより内周側と外周側とでデータ転送速度が大きく異なることになる。
【００１７】
リードライトデータチャンネル部９は、ハードディスク制御回路５の制御により、記録時、ハードディスク制御回路５の出力データを記録再生系の特性に適した方式により符号化処理してビット系列のデータを生成し、このデータにより磁気ヘッドを駆動する。また読み出し時、リードライトデータチャンネル部９は、磁気ヘッドより得られる再生信号を信号処理して再生データを生成し、この再生データをハードディスク制御回路５に出力する。
【００１８】
ハードディスク制御回路５は、インターフェース制御回路７の指示によりハードディスク３上のデータを管理する制御回路であり、バッファメモリ１０を介して入力されるユーザーデータに応じてサーボ回路４の動作を制御すると共に、このユーザーデータをリードライトデータチャンネル部９に出力することにより、インターフェース制御回路７を介して指示されるクラスタに順次入力されるデータを記録する。また読み出し時、同様にしてサーボ回路４の動作を制御してリードライトデータチャンネル部９の出力データをバッファメモリ１０に出力し、これによりインターフェース制御回路７より指示されたクラスタを再生する。
【００１９】
インターフェース制御回路（ＩＦ制御）７は、例えばＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ　）コントローラ、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ　Ｄｒｉｖｅ　Ｅｌｅｃｔｒｏｎｉｃｓ　）コントローラ等により形成され、ホスト装置２との間で送受するデータ、制御コマンド等の入出力回路を構成する。すなわちインターフェース制御回路７は、ホスト装置２より入力されるコマンドｃｏｍｍａｎｄ、このコマンドｃｏｍｍａｎｄに設定されたパラメータを解析し、ハードディスク制御回路５等の動作を制御する。また書き込み時にあっては、バッファメモリ１０を介して、ホスト装置２から入力されるデータをハードディスク制御回路５に出力し、また読み出し時にあっては、バッファメモリ１０を介して、ハードディスク制御回路５より出力されるデータをホスト装置２に出力する。
【００２０】
これに対応してホスト装置２においては、システムメモリ１１にワークエリアを確保した中央処理ユニット（ＣＰＵ）１２の処理により、ユーザーによる指示に応じてハードディスクドライブ１に種々のコマンド等を送出する。
【００２１】
この処理において中央処理ユニット１２は、電源起動時、所定の処理手順の実行により、ハードディスク３のシステムエントリエリアに記録されてなる管理情報を再生するようにハードディスクドライブ１にコマンドを発行し、その結果ハードディスクドライブ１から出力されるシステムエントリエリアのデータ（ＦＡＴエリア、ディレクトリエリアのデータ）をシステムメモリ１１に記録する。これにより中央処理ユニット１２は、ハードディスク３に記録された管理情報を取得し、この管理情報によりパラメータを設定してハードディスクドライブ１に各種コマンドを出力する。
【００２２】
すなわちユーザーによりデータの記録が指示されると、中央処理ユニット１２は、システムメモリ１１に記録されたＦＡＴエリアのデータを順次辿って空き領域を検出し、この空き領域によるクラスタに記録するようにパラメータを設定して書き込みコマンドを発行する。ハードディスクドライブ１は、この書き込みのコマンドに応動して、順次入力されるデータをハードディスク３に記録する。中央処理ユニット１２及びハードディスクドライブ１は、所定のデータ長を単位にして、管理情報の記録を順次辿って、このようなコマンドの発行、データの記録を繰り返し、これにより所望するファイルを記録するようになされている。なお、これにより時系列データは、ハードディスク３の外周側トラックから内周側トラックへ順次クラスタ単位で記録されることになる。
【００２３】
またこのようにしてファイルの記録を完了すると、このファイルの記録に対応するようにシステムメモリ１１の記録を更新し、また所定のタイミングで、システムメモリ１１の記録に対応するように、ハードディスクドライブ１にシステムエントリエリアの更新を指示し、これによりこのようにして記録したファイルを改めて再生できるようになされている。
【００２４】
これに対してユーザーによりハードディスク３に記録されたファイルの再生が指示されると、中央処理ユニット１２は、再生を指示されたファイル名によりシステムメモリ１１に記録されたディレクトリエリアのデータを検索し、対応するファイル管理情報を検出し、これによりこのファイルの先頭クラスタアドレスを検出する。さらにこの先頭クラスタアドレスにより、システムメモリ１１に記録されたＦＡＴエリアのデータを検索し、これによりこのようにして検出した先頭クラスタアドレスからこのファイルが記録されてなるクラスタアドレスを順次検出する。中央処理ユニット１２は、このようにしてシステムメモリ１１に記録された連続するクラスタアドレスをＥＯＦまで検出する。
【００２５】
中央処理ユニット１２は、このようなクラスタアドレスの検索と平行して、又はこのようにして連続するクラスタアドレスを検出すると、各クラスタアドレス、転送長をパラメータに設定してハードディスクドライブ１に読み出しコマンドを発行し、ハードディスクドライブ１においては、この読み出しコマンドに応動して、ハードディスク３に記録されたデータを再生してホスト装置２に出力する。中央処理ユニット１２及びハードディスクドライブ１は、この読み出しコマンドの発行、再生データの出力を繰り返し、これにより所望するファイルを再生するようになされている。
【００２６】
これに対して図１０は、このようにして記録したＡＶデータについて、ホスト装置２のシステムメモリ１１に記録した管理情報を基準にした読み出しの処理を示すフローチャートである。この場合、ホスト装置２においては、ステップＳＰ１からステップＳＰ２に移り、システムメモリ１１に記録した管理情報を検索し、ディレクトリエリアのデータより読み出しの対象ファイルの先頭クラスタ番号を検出する。
【００２７】
この先頭クラスタ番号を検出すると、ホスト装置２は、ステップＳＰ３に移り、この先頭クラスタアドレスと転送長とによりパラメータを設定して読み出しコマンドを発行する。
【００２８】
ハードディスクドライブ１は、ホスト装置２からこのようにして読み出しコマンドが発行されると、続くステップＳＰ４で、このコマンドで指定されたデータをハードディスク３から読み出す。また続くステップＳＰ５において、この読み出したデータをバッファメモリ１０に一時記録する。また読み出しを完了すると、続くステップＳＰ６で、ホスト装置に割り込みをかける。ホスト装置２においては、この割り込みによりステップＳＰ７に移り、ハードディスクドライブ１にデータの転送を指示し、ハードディスクドライブ１においては、この指示によりバッファメモリ１０に一時記録したＡＶデータをホスト装置２に出力する。
【００２９】
ホスト装置２は、このようにして１つの読み出しコマンドに対応するＡＶデータを入力すると、続くステップＳＰ８において、システムメモリ１１をサーチし、ＦＡＴエリアのデータより連結クラスタ番号による続くクラスタのアドレスを検出する。さらにホスト装置２は、続くステップＳＰ９において、このようにして検出したアドレスによるコードを判定し、ＥＯＦか否か判断する。
【００３０】
ここで否定結果が得られると、ホスト装置２は、ステップＳＰ３に戻り、ステップＳＰ８で検出したアドレスにより再びパラメータを設定して読み出しコマンドを発行する。これによりホスト装置２は、データ量の大きなファイルについては、繰り返し読み出しコマンドを発行し、ハードディスクドライブ１においては、このコマンドに応動してホスト装置２から指定されるクラスタより順次ＡＶデータを再生するようになされている。
【００３１】
これに対してＦＡＴエリアのデータよりＥＯＦが検出されると、ステップＳＰ９で肯定結果が得られることにより、ホスト装置２は、ステップＳＰ１０に移る。ここでホスト装置２は、このＥＯＦが設定されてなるクラスタまでの残りのＡＶデータについて、パラメータを設定して読み出しコマンドを発行する。
【００３２】
ハードディスクドライブ１は、ホスト装置２からこのようにして読み出しコマンドが発行されると、続くステップＳＰ１１において、このコマンドで指定されたデータをハードディスク３から読み出す。また続くステップＳＰ１２で、この読み出したデータをバッファメモリ１０に一時記録し、読み出しを完了すると、続くステップＳＰ１３で、ホスト装置２に割り込みをかける。ホスト装置２においては、この割り込みによりステップＳＰ１４に移り、ハードディスクドライブ１にデータの転送を指示し、ハードディスクドライブ１においては、この指示によりバッファメモリ１０に一時記録したＡＶデータをホスト装置２に出力した後、ステップＳＰ１５に移ってこの処理手順を終了する。
【００３３】
これらにより従来、ホスト装置２側で、ＦＡＴエリアのデータを検索して連続したデータの記録されてなるクラスタアドレスを検出し、この検出したクラスタアドレスにより読み出しコマンドを繰り返し発行してハードディスク３を再生するようになされている。
【００３４】
このようなハードディスクドライブ１のホスト装置２であるコンピュータ等において、いわゆるファイル検索ソフトによりハードディスクドライブ１に記録したファイルから特定の単語等を有しているファイルを検索する場合がある。またウイルス対策ソフトによりウイルスを検索する場合においても、同様に、ハードディスクドライブ１に記録したファイルからウイルスパターンを有しているファイルを検索するようになされている。
【００３５】
ホスト装置２においては、このような処理を実行する場合、オペレーションシステムによりハードディスクドライブ１に記録されたファイルを順次読み出し、この読み出したファイルをこの種の処理を実行するアプリケーションプログラムに渡し、このアプリケーションプログラムにより検索に供する単語、ウイルスパターンを発見するようになされている。
【００３６】
【発明が解決しようとする課題】
ところでこの種の記憶装置においては、今後、益々記憶容量が増大すると考えられ、またこれに伴い、記録したファイル数、データ量も多大になると考えられる。
【００３７】
このように記録したファイル数、データ量が多大になると、ホスト装置においては、ファイル検索ソフト、ウイルス対策ソフトを実行する際に、ハードディスクドライブから検索対象を順次再生して処理することになり、処理に多大な時間を要することになる問題がある。この種の記憶装置においては、今後、パーソナルコンピュータだけでなく、各種モバイル機器等にも接続されることも考えられ、このような検索に多大な時間を要するようになると、モバイル機器においては、消費電力にも多大な影響を受けることになり、さらに検索中には他の処理を実行できなくなる恐れがある。
【００３８】
本発明は以上の点を考慮してなされたもので、特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができるデータ記憶装置、データ処理装置、データ記憶装置の制御方法、データ記憶装置の制御プログラム、データ処理装置の制御プログラム、データ記憶装置の制御プログラムを記録した記録媒体及びデータ処理装置の制御プログラムを記録した記録媒体を提案しようとするものである。
【００３９】
【課題を解決するための手段】
かかる課題を解決するため請求項１の発明においては、データ記憶装置に適用して、制御手段は、入出力手段を介して得られる、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理により、管理情報に基づいて、検索対象のファイルが記録されているブロックを順次検出すると共に、該検出したブロックからのデータの再生、該再生したデータから検索データの検出を指示し、検出結果を入出力手段を介して通知する。
【００４０】
また請求項８の発明においては、データ処理装置に適用して、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドをデータ記憶装置に出力することにより、検索対象のファイルに検索データが含まれているか否かの検索結果を取得し、検索結果を表示するようにする。
【００４１】
また請求項９の発明においては、データ記憶装置の制御方法に適用して、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、検索処理ステップは、管理情報に基づいて、検索対象のファイルが記録されているブロックを順次検出するブロック検出ステップと、該検出したブロックからのデータを再生するデータ再生ステップと、該再生したデータから検索データを検出する検索データ検出ステップと、検出結果を通知する検索結果通知ステップとを有するようにする。
【００４２】
また請求項１６の発明においては、データ記憶装置の制御プログラムに適用して、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、検索処理ステップは、管理情報に基づいて、検索対象のファイルが記録されているブロックを順次検出するブロック検出ステップと、該検出したブロックからのデータを再生するデータ再生ステップと、該再生したデータから検索データを検出する検索データ検出ステップと、検出結果を通知する検索結果通知ステップとを有するようにする。
【００４３】
また請求項１８の発明においては、データ処理装置の制御プログラムに適用して、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドをデータ記憶装置に出力するコマンド出力ステップと、検索対象のファイルに検索データが含まれているか否かの検索結果を取得する検索結果取得ステップと、検索結果を表示する表示ステップとを有するようにする。
【００４４】
また請求項２０の発明においては、データ記憶装置の制御プログラムを記録した記録媒体に適用して、データ記憶装置の制御プログラムは、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理ステップを有し、検索処理ステップは、管理情報に基づいて、検索対象のファイルが記録されているブロックを順次検出するブロック検出ステップと、該検出したブロックからのデータを再生するデータ再生ステップと、該再生したデータから検索データを検出する検索データ検出ステップと、検出結果を通知する検索結果通知ステップとを有するようにする。
【００４５】
また請求項２２の発明においては、データ処理装置の制御プログラムを記録した記録媒体に適用して、データ処理装置の制御プログラムは、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドをデータ記憶装置に出力するコマンド出力ステップと、検索対象のファイルに検索データが含まれているか否かの検索結果を取得する検索結果取得ステップと、検索結果を表示する表示ステップとを有するようにする。
【００４６】
請求項１の構成によれば、データ記憶装置に適用して、制御手段は、入出力手段を介して得られる、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドに応動した検索処理により、管理情報に基づいて、検索対象のファイルが記録されているブロックを順次検出すると共に、該検出したブロックからのデータの再生、該再生したデータから検索データの検出を指示し、検出結果を入出力手段を介して通知することにより、このデータ記憶装置を接続するコンピュータ等のホスト装置においては、単に検索対象ファイル、検索データによりパラメータを設定して検索コマンドを出力するだけで、この検索対象ファイルに検索データを有しているか否かを検出することができる。これにより従来に比して特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができる。
【００４７】
また請求項８の構成によれば、データ処理装置に適用して、少なくとも検索対象のファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドをデータ記憶装置に出力することにより、検索対象のファイルに検索データが含まれているか否かの検索結果を取得し、検索結果を表示するようにすることにより、データ処理装置においては、データ記憶装置に検索の処理を委ねることができ、これにより従来に比して特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができる。
【００４８】
これにより請求項９、請求項１６、請求項１８、請求項２０、請求項２２の構成によれば、従来に比して特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができるデータ記憶装置の制御方法、データ記憶装置の制御プログラム、データ処理装置の制御プログラム、データ記憶装置の制御プログラムを記録した記録媒体及びデータ処理装置の制御プログラムを記録した記録媒体を提供することができる。
【００４９】
【発明の実施の形態】
以下、適宜図面を参照しながら本発明の実施の形態を詳述する。
【００５０】
（１）第１の実施の形態
（１−１）第１の実施の形態の構成
図１は、本発明の実施の形態に係るハードディスクドライブをホスト装置と共に示すブロック図である。このハードディスクドライブ２１において、図６について上述したハードディスクドライブ１と同一の構成は、対応する符号を付して示し、重複した説明は省略する。
【００５１】
このシステムにおいて、ホスト装置２２は、コンピュータであり、オペレーションシステム、各種アプリケーションプログラムをハードディスクドライブ（ＨＤＤ）２３に記録して保持する。なおこのアプリケーションシステムにおいては、事前にハードディスクドライブ２１にインストールされて提供され、又はインターネット等のネットワークを介してダウンロードしたプログラムのインストールにより、さらには各種の記録媒体により提供されるプログラムのインストールにより、提供されるようになされている。因みにこのような記録媒体としては、磁気ディスク、光ディスク、磁気テープ等の記録媒体を適用することができる。
【００５２】
ホスト装置２２は、システムメモリ２４にワークエリアを確保して中央処理ユニット（ＣＰＵ）２５により、ハードディスクドライブ２１に記録したオペレーションシステムを実行する。
【００５３】
これらの処理のうち中央処理ユニット２５は、電源の起動により、ハードディスクドライブ２１に対して、システムエントリエリアのデータの再生、送出を指示し、これによりディレクトリエリア、ＦＡＴエリアのデータを取得してシステムメモリ２４に保持する。これにより中央処理ユニット２５は、従来のホスト装置と同様に、このシステムメモリ２４の記録に従って、空きクラスタを検出してハードディスクドライブ２１にデータの書き込みを指示し、また所望するファイルをハードディスク３より読み出して取得することができるようになされている。
【００５４】
さらに中央処理ユニット２５は、ユーザーにより所望のアプリケーションプログラムの実行が指示されると、同様にシステムメモリ２４にワークエリアを確保してこのアプリケーションプログラムを実行する。中央処理ユニット２５は、これらのアプリケーションプログラムのうち、ユーザーによりファイル検索ソフトの実行が指示されると、図２の処理手順を実行する。なおこのファイル検索ソフトは、ユーザーが指定した検索範囲で、ユーザーにより指定されたキーワードを有してなるテキストファイルを検索するソフトである。
【００５５】
すなわち中央処理ユニット２５は、この処理手順を開始すると、ステップＳＰ２１からステップＳＰ２２に移り、所定の入力画面を図示しない表示装置を介して表示し、この入力画面におけるフォルダ名の入力により検索範囲の入力を受け付ける。続いて中央処理ユニット２５は、ステップＳＰ２３に移り、同様にして入力画面を表示し、この表示画面におけるキーワードの入力により、文字列による検索データの入力を受け付ける。
【００５６】
続いて中央処理ユニット２５は、ステップＳＰ２４に移り、このようにして入力した検索範囲、検索データによりハードディスクドライブ２１に検索を指示する検索コマンドを生成する。ここで図３に示すように、この検索コマンドは、９×８バイトにより形成され、先頭１バイトに検索コマンドであることを示すコード（Ｓｅａｒｃｈ）が設定されるようになされている。また続く４バイトに検索対象ファイルの先頭クラスタアドレスがＭＳＢより順次記録され、残り４バイトに検索対象のキーワードのコードが順次記録されるようになされている。これによりこの検索コマンドにおいては、１バイトコードによる４文字のキーワードを１つのコマンドで検索できるようになされている。
【００５７】
中央処理ユニット２５は、システムメモリ２４に保持したディレクトリエリアのデータより、ユーザーが指定した検索範囲のフォルダに属するファイルを検出し、さらにこのようにして検出したファイルよりテキストファイル、各テキストファイルの先頭クラスタアドレスを検出する。中央処理ユニット２５は、このようにして検出した検索範囲のファイルの１つについて、先頭クラスタアドレス、検索データを設定してこの検索コマンドを生成する。
【００５８】
中央処理ユニット２５は、続くステップＳＰ２５において、このようにして生成した検索コマンドをオペレーションシステムに渡し、ハードディスクドライブ２１に出力する。また続くステップＳＰ２６において、検索コマンドによる検索結果をオペレーションシステムを介してハードディスクドライブ２１から取得する。ここでこの検索結果においては、検索コマンドにより指定した検索ファイルについて、検索データが存在する場合、検索データが検出されてなるクラスタアドレスが、対応する検索データと共に通知されるようになされている。
【００５９】
中央処理ユニット２５は、続くステップＳＰ２７において、この検索範囲のテキストファイルについて、全てのファイルの検索を完了したか否か判断する。ここで否定結果が得らると、中央処理ユニット２５は、ステップＳＰ２４に戻り、残りのファイルについて、検索コマンドを生成して同様の処理を繰り返す。これに対して検索範囲の全てのテキストファイルについて、検索コマンドの出力を完了した場合、ステップＳＰ２７で肯定結果が得られることにより、ステップＳＰ２７からステップＳＰ２８に移る。
【００６０】
中央処理ユニット２５は、ステップＳＰ２６でクラスタアドレスが通知されてなるファイルについて、ファイル名と対応する検索データとを表示画面に表示し、これにより検索結果をユーザーに通知した後、ステップＳＰ２９に移ってこの処理手順を終了する。なお中央処理ユニット２５は、ユーザーの選択により、このように検索データが検出されたクラスタの再生をハードディスクドライブ２１に指示し、このクラスタに記録されたデータを取得して該当箇所を表示することもできるようになされている。
【００６１】
これによりホスト装置２２においては、いちいち再生コマンドを出力して検索対象のファイルをハードディスクドライブ２１から取得しなくても、検索対象のファイルを特定するデータと検索に供するデータである検索データとによる検索コマンドをハードディスクドライブ２１に出力して、検索結果を取得できるようになされている。
【００６２】
ハードディスクドライブ２１においては、このホスト装置２２から出力される検索コマンドに対応して、この検索コマンドで指定されたファイルに検索データが含まれているか否か検索し、その検索結果をホスト装置２２に通知するようになされている。
【００６３】
すなわちハードディスクドライブ２１において（図１）、インターフェース制御回路（ＩＦ制御）２７は、例えばＳＣＳＩコントローラ、ＩＤＥコントローラ、ＡＴＡコントローラ等により形成され、ホスト装置２２との間で送受するデータ、制御コマンド等の入出力回路を構成する。インターフェース制御回路２７は、内部バスを介して、これらデータ、制御コマンド、アドレス等をハードディスクドライブ２１の各回路ブロックに出力するようになされている。
【００６４】
さらにインターフェース制御回路２７は、検索コマンドにより設定された検索データを記録して保持する検索データメモリ２８、検索データが検出されたクラスタアドレスを検索データ検出回路２９から取得して保持するレジスタ３０を有し、レジスタ３０に記録したクラスタアドレスを中央処理ユニット３１の制御によりホスト装置２２に通知するようになされている。
【００６５】
ここで検索データ検出回路２９は、ハードディスク制御回路５に対して再生を指示するクラスタアドレスを一時保持するレジスタ、ハードディスク制御回路５から順次出力される再生データを検索データメモリ２８に保持した検索データと比較する比較回路等により構成され、ハードディスク制御回路５から順次出力される再生データに検索データが検出されると、レジスタに保持したクラスタアドレスをレジスタ３０に出力するようになされている。
【００６６】
中央処理ユニット（ＣＰＵ）３１は、システムメモリ３２にワークエリアを確保して図示しないプログラムメモリに事前にインストールされてなる制御プログラムを実行することにより、このインターフェース制御回路２７の内部バスに出力されるホスト装置２２からのコマンド等を解析し、この解析結果に従ってインターフェース制御回路２７の内部バスに各種制御データ等を出力し、またホスト装置２２に応答等を送出し、これによりこのハードディスクドライブ２１全体の動作を制御する。かくするにつきシステムメモリ３２は、この中央処理ユニット３１の処理に必要な各種のデータを一時記録して保持する。なおこの中央処理ユニット３１の制御プログラムにおいては、事前のインストールに代えて、インターネット等のネットワークを介してダウンロードしたプログラムのインストールにより、さらには各種の記録媒体により提供されるプログラムのインストールにより、提供することができる。因みにこのような記録媒体としては、磁気ディスク、光ディスク、磁気テープ等の記録媒体を適用することができる。
【００６７】
中央処理ユニット３１は、この処理手順の実行により、電源が立ち上げられると、ホスト装置２２からの指示により、ハードディスク３からシステムエントリエリアのデータを再生してハードディスクドライブ２１に出力し、またこのシステムエントリエリアのデータをシステムメモリ３２に記録して保持する。またホスト装置２２から順次書き込みコマンドが入力されると、続いてホスト装置２２から出力されるデータをバッファメモリ１０に一時記録するように、またこのバッファメモリ１０に記録したデータをこのコマンドに設定されたクラスタアドレスに係るクラスタに記録するように、ハードディスクドライブ２１の各部を制御する。またホスト装置２２から読み出しのコマンドが得られると、図１０について上述したと同様にして、対応するデータをハードディスク３から再生してホスト装置２２に出力する。
【００６８】
これに対して中央処理ユニット２５は、ホスト装置２２から検索コマンドが入力されると、この検索コマンドに設定された検索データを検索データメモリ２８に記録する。またこの検索コマンドに設定された先頭クラスタアドレスより、システムメモリ３２に記録されたＦＡＴエリアのデータを順次辿ることにより、検索対象のファイルが記録されているクラスタアドレスを順次検出し、レジスタ３０の内容を初期化した後、この検出したクラスタアドレスによる再生をハードディスクドライブ２１の各部に指示する。またこの再生の指示により、ハードディスク制御回路５から順次出力される再生データと、検索データとの比較を検索データ検出回路２９に指示し、さらに一連の検索処理が完了すると、検索結果をホスト装置２２に通知する。
【００６９】
これによりハードディスクドライブ２１では、ホスト装置２２に代えて検索コマンドにより検索の処理を実行するようになされ、その分、ホスト装置２２の負担を軽減するようになされている。
【００７０】
すなわち図４は、この１つの検索ファイルについて、この一連の検索処理に供する処理手順を示すフローチャートである。このシステムにおいては、ホスト装置２２において、ユーザーにより検索が指示されると、ステップＳＰ３１からステップＳＰ３２に移り、ホスト装置２２の中央処理ユニット１２において、システムメモリ１１に記録されてなる検索対象ファイルの先頭クラスタアドレスが検出される。さらに続くステップＳＰ３３において、この先頭クラスタアドレス、検索データにより検索コマンドが出力される。
【００７１】
中央処理ユニット３１においては、この検索コマンドを受信することにより、続くステップＳＰ３４において、検索データを検索データメモリ２８にセットする。また続くステップＳＰ３５において、検索コマンドにより指定されたクラスタアドレスのデータを再生するようにハードディスク制御回路５に動作を指示し、また続くステップＳＰ３６において、その結果ハードディスク制御回路５より出力される再生データと検索データとの比較を検索データ検出回路２９に指示する。
【００７２】
中央処理ユニット３１は、このようにして検索を指示すると、検索データ検出回路２９の処理により、続くステップＳＰ３７において、検索データが検出されたか否か判断し、ここで肯定結果が得られると、ステップＳＰ３８に移り、検索データ検出回路２９により読み出しに係るクラスタアドレスをレジスタ３０に記録した後、ステップＳＰ３９に移る。これに対してステップＳＰ３７で否定結果が得られると、中央処理ユニット３１は、レジスタ３０の内容を初期値に設定したまま、ステップＳＰ３７から直接ステップＳＰ３９に移る。
【００７３】
中央処理ユニット３１は、このステップＳＰ３９において、システムメモリ２４に記録したＦＡＴエリアのデータを検索することにより、検索に供したクラスタに続くデータが記録されてなるクラスタを検出し、続くステップＳＰ４０において、この検索結果によりＥＯＦが検出されたか否か判断する。
【００７４】
ここで否定結果が得られると、中央処理ユニット３１は、ステップＳＰ４０からステップＳＰ３５に戻り、この続くクラスタについて、同様の検索データの検索処理を指示するのに対し、ステップＳＰ４０で肯定結果が得られると、ステップＳＰ４１に移る。これにより中央処理ユニット３１は、ステップＳＰ３５−ＳＰ３６−ＳＰ３７−ＳＰ３８−ＳＰ３９−ＳＰ４０−ＳＰ３５の処理手順を繰り返し、検索コマンドに設定された先頭クラスタアドレスにより特定されるファイルについて、順次、連続するデータが記録されてなるクラスタを再生し、検索データを検索するようになされている。
【００７５】
またこのようにして１つのファイルについて検索を完了すると、ステップＳＰ４０で肯定結果が得られることにより、ステップＳＰ４０からステップＳＰ４１に移り、ここでホスト装置２２に割り込みをかけ、検索の終了を通知する。
【００７６】
中央処理ユニット３１は、この割り込みにより、ホスト装置２２から検索結果の通知が指示されると、レジスタ３０に記録されたクラスタアドレスを検索結果としてホスト装置２２に通知した後、ステップＳＰ４３に移ってこの処理手順を終了する。なお、何ら検索データを検出できない場合、中央処理ユニット３１は、初期値に設定されてなるレジスタ３０の内容を通知することにより、検索データの未検出を通知することになる。
【００７７】
これによりこの実施の形態においては、何ら、ホスト装置２２には負担をかけることなく、所望の検索データを有してなるファイルを検出できるようになされている。
【００７８】
かくするにつき中央処理ユニット２５は、ホスト装置２２において、複数のキーワード、検索対象ファイルが指定された場合、これら複数のキーワード、検索対象ファイルについて、ホスト装置２２からの指示により、この処理手順を繰り返し、これによりこれら複数の検索対象ファイルについて、それぞれ検索データを有してなるファイルを検出するようになされている。
【００７９】
（１−２）第１の実施の形態の動作
以上の構成において、ハードディスクドライブ２１は（図１）、例えばコンピュータ等のホスト装置２２に接続されて、このホスト装置２２より書き込みのコマンドが入力されると、このコマンドに続いて入力されるデータがハードディスク制御回路５を介してリードライトデータチャンネル部９に入力され、ここで記録に適したフォーマットにより変調されて磁気ヘッドが駆動され、これによりハードディスク３に記録される。
【００８０】
またこれらのホスト装置２２に接続された状態で、またこれらのホスト装置２２より取り外されて他のホスト装置２２に装着された状態で、読み出しのコマンドが入力されると、磁気ヘッドより得られる再生信号がリードライトデータチャンネル部９により処理されてハードディスク３に記録されたデータが再生され、この再生されたデータがハードディスク制御回路５、インターフェース制御回路２７を介してホスト装置２に出力される。
【００８１】
このようにして各種のデータを記録再生するにつき、ハードディスクドライブ２１では、起動時、ホスト装置２２からの通知により、ディレクトリエリア、ＦＡＴエリアのデータによる管理情報がハードディスク３より再生され、これらのデータがホスト装置２２に通知される。ホスト装置２２においては、この管理情報がシステムメモリ２４に記録され、これによりこのシステムメモリ２４の管理情報に従って順次空き領域を検出し、この空き領域によるクラスタに記録するようにパラメータを設定して書き込みコマンドを発行することにより、ハードディスクドライブ２１において、対応する空き領域にホスト装置２２から出力されるデータが記録され、これにより従来と同様に管理情報によりホスト装置２２で情報記録面を管理して順次所望のデータがハードディスク３に記録される。
【００８２】
またこのようにして所望のデータの記録を完了すると、この記録に対応するように、ホスト装置２２のシステムメモリ２４の記録が更新され、またこの更新に対応するようにハードディスク３のシステムエントリエリアの更新が指示され、これによりこのようにして記録したデータの再生が可能となる。すなわちファイルの再生時においては、ホスト装置２２において、再生の指示されたファイルが順次記録されてなるクラスタアドレスがシステムメモリ２４の記録より検出され、この検出したクラスタアドレス、転送長をパラメータに設定した読み出しコマンドがホスト装置２２から順次出力される。またこれに対応してハードディスクドライブ２１においては、この読み出しコマンドに応動して対応するクラスタアドレスより順次データが再生され、この再生したデータがホスト装置２２に出力される。これによりこの読み出しの場合においても、従来と同様に管理情報によりホスト装置２２で情報記録面を管理して順次所望のデータがハードディスク３より再生される。
【００８３】
これらの書き込み、読み出しの処理に対して、この実施の形態においては、起動時、ホスト装置２２からの通知によりディレクトリエリア、ＦＡＴエリアのデータによる管理情報をハードディスク３に通知する際に、これらのデータがハードディスクドライブ２１のシステムメモリ３２に併せて記録されて保持される。
【００８４】
またファイル検索ソフトの起動により、ユーザーが特定単語等を有してなるファイルの検索を指示すると、ホスト装置２２において、ユーザーにより指示された検索対象ファイルを特定する情報にこの検索対象ファイルの先頭クラスタアドレスを設定して、この検索対象ファイルを特定する情報、検索に供する検索データにより検索を指示する検索コマンドが生成され、この検索コマンドがホスト装置２２からハードディスクドライブ２１に出力される。
【００８５】
ハードディスクドライブ２１においては、これにより検索コマンドに設定された先頭クラスタアドレスを基準にして、システムメモリ３２に記録されたＦＡＴエリアのデータより、この検索対象ファイルのデータが記録されたクラスタアドレスが順次検出される。また検索データが検索データメモリ２８に記録され、このようにして検出したクラスタアドレスの再生が指示され、またこの再生により得られる再生データが検索データメモリ２８に記録された検索データと検索データ検出回路２９で比較される。ハードディスクドライブ２１では、このようにして何れかのクラスタの再生で検索データが検出されると、このクラスタアドレスがレジスタ３０に記録され、検索コマンドにより指示された検索対象ファイルについてこれら検索データの検出処理が完了すると、レジスタ３０の記録が検索結果としてホスト装置２２に通知される。
【００８６】
これによりホスト装置２２においては、この検索結果により検索対象ファイルの何れの箇所に検索データを有しているか、さらには検索データを何ら有していないとの検索結果を得ることができ、このような検索対象ファイル、検索データをパラメータに設定した検索コマンドの繰り返しの出力により、ユーザーにより指示された検索範囲について、特定単語を有してなるファイルを検出することができる。
【００８７】
これらの検索の処理において、この実施の形態においては、ハードディスク３からデータを読み出して検索データの有無を判定する処理を、検索コマンドの発行によりハードディスクドライブ２１側に委ねることにより、ホスト装置２２においては、従来に比してこの種の検索に要する負担を格段的に低減することができ、これにより必要に応じて他の処理等を実行して機能を有効に利用することができる。
【００８８】
また１つの検索コマンドの発行によりハードディスクドライブ２１で順次検索対象ファイルが記録されているクラスタアドレスが検出され、さらにこの検出したクラスタアドレスに記録されたデータが読み出されて検索データが検索され、その検索結果がホスト装置２２に通知されることにより、ホスト装置２２においては、従来のような、１クラスタ毎の、ハードディスクドライブ２１への読み出しコマンドを発行、読み出されたデータのハードディスクドライブ２１からの受信を省略することができ、これにより従来に比して格段的にこの種の検索に要する時間を短くすることができる。またその分、消費電力も少なくすることができる。
【００８９】
これに対してハードディスクドライブ２１においては、検索データメモリ２８に検索データを格納し、検索データ検出回路２９で再生データから検索データを検出し、また検出結果をレジスタ３０に格納することにより、再生データから検索データを検索して検索結果を保持する一連の機構が、ハードウエアにより構成され、これにより中央処理ユニット３１における演算処理によりこの種の処理を実行する場合に比して、格段的に短い時間によりこれら検索処理を実行することができる。この実施の形態においては、これによっても従来に比して格段的にこの種の検索に要する時間を短くすることができるようになされている。
【００９０】
（１−３）第１の実施の形態の効果
以上の構成によれば、検索対象ファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドにより、この検索対象ファイルの記録されたブロックを順次検出して再生し、検索データの有無を判定して通知することにより、特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができる。
【００９１】
またこの検索対象のファイルを特定する情報が、検索対象のファイルが記録されているブロックであるクラスタのうちの、先頭のブロックを示す先頭クラスタアドレスであることにより、ハードディスクドライブ２１側においては、システムメモリ３２にＦＡＴエリアのデータを保持するだけで、この検索対象ファイルが記録されているブロックを順次検出して検索データを検索することができ、その分、ハードディスクドライブ２１の構成を簡略化することができる。
【００９２】
またこの検索データを有してなるブロックを示すクラスタアドレスを検索結果として通知することにより、ホスト装置２２の検索ソフトにおいては、必要に応じてこのクラスタアドレスの再生を指示して、検索結果の確認等を実行することができる。
【００９３】
（２）第２の実施の形態
この実施の形態においては、第１の実施の形態について上述した先頭クラスタアドレスにより検索対象ファイルの特定に代えて、ファイル名により検索対象ファイルを特定して検索コマンドを発行する。またこれに対応してハードディスクドライブ２１においては、システムメモリ３２にディレクトリエリア、ＦＡＴエリアのデータを保持し、検索コマンドに設定されたファイル名により先頭クラスタアドレス、続くクラスタアドレスを順次検出する。
【００９４】
なおこのこの実施の形態においては、この検索対象ファイルの特定に係る構成が異なる点を除いて、第１の実施の形態に係る構成と同一に構成される。
【００９５】
この実施の形態のように、検索対象のファイルを特定する情報に、検索対象のファイルのファイル名を示す情報を割り当てて検索コマンドを発行するようにしても、第１の実施の形態と同様の効果を得ることができる。
【００９６】
（３）第３の実施の形態
この実施の形態においては、ウイルス検索ソフトにより上述した検索コマンドを順次発行する。なおこの実施の形態においては、この検索コマンドを発行するアプリケーションプログラムが異なる点を除いて、第１の実施の形態に係る構成と同一であることにより、重複した説明は省略する。
【００９７】
すなわちこの実施の形態において、ホスト装置２２は、ウイルス検索ソフトの実行により、ユーザーよりウイルス検査の範囲を受け付ける。ここでホスト装置２２においては、検索コマンドにおける検索対象ファイルを特定する先頭クラスタアドレスに、クラスタアドレス以外の特定値（例えば値０）を設定することにより、ハードディスクドライブ２１の全データ領域を検索範囲に設定する。これによりこの実施の形態では、ハードディスクドライブ２１のルートディレクトリを検索範囲として指示できるようになされている。
【００９８】
また検索コマンドにおいては、データ長の長い検索データを複数個設定できるようになされ、ホスト装置においては、ウイルス検出に供するウイルスパターンをこれら検索データに設定して検索コマンドを発行する。
【００９９】
ハードディスクドライブ２１においては、このようなデータ長の長い検索データを複数個設定した検索コマンドに対応するように、検索データメモリ２８にこれら複数個の検索データを格納できるように構成され、またこのような複数個の検索データと再生データとを検索データ検出回路２９で比較できるようになされている。
【０１００】
この実施の形態においては、検索対象のファイルを特定する情報が、検索対象のファイルが属するディレクトリを示す情報であることにより、複数ファイルを検索対象とする場合に、１つのコマンドの発行によりこれら複数の検索対象ファイルについて検索データを検索して、第１の実施の形態と同様の効果を得ることができる。
【０１０１】
またこの検索データにウイルスパターンを適用して、ウイルス検出に利用することができ、これによりウイルス検出に要する処理を従来に比して短い時間により実行することができる。
【０１０２】
（４）第４の実施の形態
この実施の形態においては、第１の実施の形態について図３で説明した検索コマンドに代えて、図５に示す検索コマンドによりホスト装置２２からハードディスクドライブ２１に検索コマンドを発行する。
【０１０３】
ここでこの検索コマンドにおいては、先頭１バイトに検索コマンドであることを示すコード（Ｓｅａｒｃｈ）が設定される。また続く１バイトがこの検索コマンドに設定した検索対象ファイルのファイル数を示す情報に割り当てられ、また続く１バイトがこの検索コマンドに設定した検索データの数を示す情報に割り当てられる。また続いて４バイト単位で、この検索コマンドにより検索を指示する検索対象ファイルの先頭クラスタアドレスが順次割り当てられ、またこのような先頭クラスタアドレスによる検索対象ファイルの特定に続いて、所定バイト単位で、検索コマンドにより検索を指示する検索データが順次割り当てられる。
【０１０４】
ハードディスクドライブ２１においては、この検索コマンドに対応して、検索データメモリ２８にこれら複数個の検索データを格納できるように構成され、またこのような複数個の検索データと再生データとを検索データ検出回路２９で比較できるようになされている。
【０１０５】
またこの検索コマンドにより指示される複数の検索対象ファイルについて、順次クラスタアドレスを検出して再生し、レジスタ３０に記録された検索結果をファイル単位で中央処理ユニット３１が取得して一時保持し、検索コマンドに対応してこの保持した検索結果をまとめてホスト装置２２に通知するようになされている。
【０１０６】
この実施の形態のように、検索対象ファイル、検索データを複数設定して検索コマンドを発行し、またこの複数の設定に対応するように検索処理を実行するようにすれば、その分、繰り返しの検索コマンドの送受を省略することができ、さらに一段と処理に要する時間を短くすることができる。
【０１０７】
（５）他の実施の形態
なお上述の実施の形態においては、ハードディスクドライブとホスト装置とを別体に構成する場合について述べたが、本発明はこれに限らず、一体に構成する場合にも広く適用することができる。
【０１０８】
また上述の実施の形態においては、検索ソフト、ウイルス検出ソフトにより検索コマンドを発行する場合について述べたが、本発明はこれに限らず、種々のアプリケーションプログラムにより検索コマンドを出力する場合に広く適用することができる。
【０１０９】
また上述の実施の形態においては、単に検索データを有するクラスタアドレスを検出して通知する場合について述べたが、本発明はこれに限らず、例えば２種類の検索データによる検索結果より論理和、論理積による演算結果を検索結果として出力する場合等にも広く適用することができる。なおこの場合、ハードディスクドライブにおいては、各検索データで検出したクラスタアドレスについて、それぞれ対応する処理を実行することになる。
【０１１０】
また上述の実施の形態においては、検索データを有するクラスタアドレスを検出して通知する場合について述べたが、本発明はこれに限らず、検索データを有するファイル名の通知等により検索結果を通知するようにしてもよい。
【０１１１】
また上述の実施の形態においては、ハードディスクドライブにおけるハードウエア構成により検索データの有無を検出する場合について述べたが、本発明はこれに限らず、中央処理ユニットの処理により検索データの有無を検出するようにしてもよい。
【０１１２】
また上述の実施の形態においては、ＦＡＴファイルシステムによるファイル管理システムを適用する場合について述べたが、本発明はこれに限らず、種々のファイル管理システムによる場合に広く適用することができる。
【０１１３】
また上述の実施の形態においては、本発明をリムーバブルのハードディスク装置に適用する場合について述べたが、本発明はこれに限らず、相変化型光ディスク装置、熱磁気記録による光ディスク装置等のディスク装置、さらには不揮発性固体半導体メモリを記録媒体としたデータ処理装置等、種々のデータ処理装置に広く適用することができる。
【０１１４】
【発明の効果】
上述のように本発明によれば、検索対象ファイルを特定する情報と、検索に供する検索データとをパラメータに設定した検索コマンドにより、この検索対象ファイルの記録されたブロックを順次検出して再生し、検索データの有無を判定して通知することにより、特定単語等を有するファイルの検索処理を従来に比して格段的に短い時間で実行することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るハードディスクドライブを示すブロック図である。
【図２】図１のハードディスクドライブに接続されるホスト装置における処理手順を示すフローチャートである。
【図３】図２の処理手順により発行される検索コマンドを示す図表である。
【図４】図１のハードディスクドライブにおける検索処理手順を示すフローチャートである。
【図５】本発明の第４の実施の形態に係るハードディスクドライブに適用される検索コマンドを示す図表である。
【図６】従来のハードディスクドライブを示すブロック図である。
【図７】図６のハードディスクにおける記録フォーマットを示す図表である。
【図８】図６のディレクトリエリアに記録されるデータを示す図表である。
【図９】図６のＦＡＴエリアに記録されるコードを示す図表である。
【図１０】図６のハードディスクドライブにおける読み出しの処理手順を示すフローチャートである。
【符号の説明】
１、２１……ハードディスクドライブ、２、２２……ホスト装置、３……ハードディスク、７、２７……インターフェース制御回路、１２、２５、３１……中央処理ユニット、１１、２４、３２……システムメモリ、２８……検索データメモリ、２９……検索データ検出回路、３０……レジスタ
【図１】
2004030380.tif 000003
【図２】
2004030380.tif 000004
【図３】
2004030380.tif 000005
【図４】
2004030380.tif 000006
【図５】
2004030380.tif 000007
【図６】
2004030380.tif 000008
【図７】
2004030380.tif 000009
【図８】
2004030380.tif 000010
【図９】
2004030380.tif 000011
【図１０】
2004030380.tif 000012