(57)【要約】【課題】検索データの情報に関するメタデータを複数読み込むとき、効率的に読み込む。【解決手段】磁気ディスク装置３は検索データの情報に関するメタデータを検索データごとに複数記録する磁気ディスク３０と、前記磁気ディスク３０に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理するメタデータ管理表１３１と、前記メタデータ管理表１３１によって管理されたメタデータを特定する論理アドレスを用いて、前記磁気ディスク３０から検索データの情報に関するメタデータを複数読み込むメタデータ一括読込部１２３と、を備える。【選択図】図２
2010224695.tif 000002
【特許請求の範囲】
【請求項１】
検索データの情報に関するメタデータを検索データごとに複数記録する記録媒体と、
前記記録媒体に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理する管理手段と、
前記管理手段によって管理された前記論理アドレスを用いて、前記記録媒体から検索データの情報に関するメタデータを複数読み込む読込手段と、
を有することを特徴とする磁気ディスク装置。
【請求項２】
前記読込手段は、
複数のメタデータを読み込む読込要求を検出すると、前記管理手段によって管理された前記論理アドレスに対応するメタデータを、前記記録媒体から複数読み込むことを特徴とする請求項１に記載の磁気ディスク装置。
【請求項３】
前記記録媒体は、
前記メタデータを専用に記録する専用記録領域を含み、
前記読込手段は、
前記管理手段によって管理された前記論理アドレスに対応するメタデータを、前記専用記録領域から複数読み込むことを特徴とする請求項１または請求項２に記載の磁気ディスク装置。
【請求項４】
前記専用記録領域は、
情報を記録する複数のシリンダのうち、いずれか一のシリンダ内または当該シリンダに隣接するシリンダ内に配置されることを特徴とする請求項３に記載の磁気ディスク装置。
【請求項５】
検索データの情報に関するメタデータを検索データごとに複数記録する記録媒体を備える磁気ディスク装置と、前記磁気ディスク装置に処理要求を送信するホスト装置と、を有するメタデータ管理システムであって、
前記ホスト装置は、
複数のメタデータを読み込む読込要求を出力する読込要求手段と、
前記磁気ディスク装置は、
前記記録媒体に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理する管理手段と、
前記読込要求手段からの読込要求を検出すると、前記管理手段によって管理されたメタデータを特定する論理アドレスを用いて、前記記録媒体から検索データの情報に関するメタデータを複数読み込む読込手段と、
前記読込手段によって読み込まれた複数のメタデータを、これら複数のメタデータを特定する論理アドレスとともに前記ホスト装置に出力する出力手段と
を有することを特徴とするメタデータ管理システム。
【請求項６】
前記管理手段は、
検索データの情報に関するメタデータを特定する論理アドレスを、当該検索データを特定する論理アドレスと対応付けて管理し、
前記出力手段によって出力された複数のメタデータの中から指定された所定のメタデータに対応付けられた検索データの検索要求を検出すると、前記管理手段によって管理された、所定のメタデータに対応付けられた検索データを特定する論理アドレスを用いて、前記記録媒体から前記検索データを検索する検索手段を有することを特徴とする請求項５に記載のメタデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク装置およびメタデータ管理システムに関する。
【背景技術】
【０００２】
従来から、音声データおよび動画像データ等の非テキストデータを効率的に検索するために、非テキストデータに関する特徴情報であるメタデータを磁気ディスク装置に記憶する用途が広がっている。
【０００３】
この非テキストデータ（実データ）を磁気ディスク装置から検索するために、磁気ディスク装置と接続されたホスト装置が、磁気ディスク装置に記憶されている複数のメタデータを読み込み、読み込まれた複数のメタデータの中から本来取得したい実データを取得する。
【０００４】
ここで、ホスト装置が、磁気ディスク装置に対してデータのアクセスを行う場合、磁気ディスク装置上の物理セクタに対する論理アドレス（ＬＢＡ：Logical Block Address）を指定して行う。例えば、ホスト装置が磁気ディスク装置から複数のメタデータを読み込むとき、ホスト装置は、磁気ディスク装置に対する読み込み要求を、ＬＢＡが連続している複数のメタデータごとに行う。
【０００５】
このホスト装置による磁気ディスク装置上にあるデータのアクセス管理には、オペレーティングシステム（ＯＳ）のファイル管理が行う場合と、このファイル管理を組み込んだ組み込みソフトが行う場合とがある。ＯＳのファイル管理が行う場合には、このファイル管理が、磁気ディスク装置に対して書き込まれるデータの意味とは無関係に決定したＬＢＡを指定して、当該データの書き込み要求を磁気ディスク装置に行う。すなわち、複数のメタデータがＯＳのファイル管理によって書き込まれる場合には、連続したＬＢＡになるとは限らない。
【０００６】
一方、組み込みソフトが行う場合には、組み込みソフトが、磁気ディスク装置に対して書き込まれるデータの意味を考慮して決定したＬＢＡを指定して、磁気ディスク装置に当該データの書き込み要求を行うことがある。すなわち、複数のメタデータが組み込みソフトによって書き込まれる場合には、連続したＬＢＡになることがある。
【０００７】
ところで、１個のまとまりのあるデータ(例えば、ファイル)のＬＢＡが連続していない場合に、ＬＢＡが連続するように再配置する技術が開示されている。例えば、磁気ディスク装置は、ホスト装置との間でデータ転送をすることなく、ＬＢＡが連続することとなる転送先のＬＢＡの記憶情報を一時的な領域（ダミーセクタ）に複製して、転送元のＬＢＡの記憶情報を転送先のＬＢＡに複製して、データのＬＢＡが連続するように再配置する。
【０００８】
また、磁気ディスク装置は、１個のファイルを構成する複数のセクタを論理的に連続するようにした論理アドレスと磁気ディスク装置上の物理セクタに対する複数のＬＢＡとを２重に管理することで、ホスト装置から指定された当該論理アドレスに対応する複数のＬＢＡが離れた位置にある場合に、連続するＬＢＡとなるように再配置する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２６７２４０号公報
【特許文献２】特開２００４−３３４４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の磁気ディスク装置では、複数のメタデータを効率的に読み込むことができないという問題があった。
【００１１】
すなわち、複数のメタデータの各ＬＢＡが連続している場合であっても、各ＬＢＡに対するそれぞれの物理セクタが隣接しているという保障はないため、磁気ディスク装置では、各メタデータのＬＢＡに対するそれぞれの物理セクタを読み込むためのシーク動作や回転待ち動作に時間がかかるという問題がある。
【００１２】
例えば、隣接した物理セクタのうち１つの物理セクタが壊れたため交替セクタを使用する場合がある。このような場合には、交替セクタは通常離れた記憶領域にあるため、仮にこの交替セクタを含んで複数のメタデータを記憶している場合には、磁気ディスク装置は、この交替セクタに記憶されているメタデータを読み込むためのシーク動作や回転待ち動作に時間がかかることになる。
【００１３】
また、ダミーセクタを利用して１個のまとまりのあるファイルを連続するＬＢＡに再配置する従来の磁気ディスク装置では、１個のまとまりのあるファイルを隣接した物理セクタとなるように再配置を行っているわけではない。
【００１４】
さらに、論理アドレスとＬＢＡとを２重に管理する従来の磁気ディスク装置でも、２重に管理される１個のまとまりのあるファイルを隣接した物理セクタとなるように再配置を行っているわけではない。
【００１５】
本発明は、上記に鑑みてなされたものであって、複数のメタデータを効率的に読み込むことができる磁気ディスク装置およびメタデータ管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した問題を解決し、目的を達成するために、磁気ディスク装置は、検索データの情報に関するメタデータを検索データごとに複数記録する記録媒体と、前記記録媒体に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理する管理手段と、前記管理手段によって管理されたメタデータを特定する論理アドレスを用いて、前記記録媒体から検索データの情報に関するメタデータを複数読み込む読込手段と、を備えた構成を採る。
【発明の効果】
【００１７】
以上により、磁気ディスク装置およびメタデータ管理システムは、検索データの情報に関するメタデータを複数読み込むとき、効率的に読み込むことができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例１に係るメタデータ管理システムの概要を示す図である。
【図２】図２は、実施例１に係るメタデータ管理システムの構成を示す機能ブロック図である。
【図３】図３は、実施例１に係るメタデータ管理表のデータ構造の一例を示す図である。
【図４】図４は、実施例１に係るデータ書込処理(ホスト装置側)の処理手順を示すフローチャートである。
【図５】図５は、実施例１に係るデータ書込処理(磁気ディスク装置側)の処理手順を示すフローチャートである。
【図６】図６は、実施例１に係るメタデータ一括読込処理の処理手順を示すフローチャートである。
【図７】図７は、実施例１に係るメタデータ管理システムの使用例を示すフローチャートである。
【図８】図８は、実施例２に係るメタデータ管理システムの概要を示す図である。
【図９】図９は、実施例２に係るメタデータ管理システムの構成を示す機能ブロック図である。
【図１０】図１０は、実施例２に係るメタデータ管理表のデータ構造の一例を示す図である。
【図１１】図１１は、実施例２に係るデータ書込処理(磁気ディスク装置側)の処理手順を示すフローチャートである。
【図１２】図１２は、実施例２に係るメタデータ管理システムの使用例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下に、本発明に係る磁気ディスク装置およびメタデータ管理システムの実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
【実施例１】
【００２０】
図１は、本実施例１に係るメタデータ管理システムの概要を説明するための図である。図１に示すように、メタデータ管理システム１は、ホスト装置２と、ホスト装置２と接続する磁気ディスク装置３と、を備える。
【００２１】
メタデータ管理システム１では、磁気ディスク装置３が、検索データの情報に関するメタデータを一括して読み込む旨の要求をホスト装置２から取得すると、読み込み対象のメタデータを効率的に一括して読み込む。そして、磁気ディスク装置３は、その結果をホスト装置２に応答する。そして、磁気ディスク装置３は、一括して読み込まれたメタデータの結果のうち、ホスト装置２が検索を希望する検索データの情報に関するメタデータを、ホスト装置２から取得すると、当該メタデータに対応する検索データを検索して、ホスト装置２に応答する。
【００２２】
このメタデータ管理システム１におけるホスト装置２は、磁気ディスク装置３に対してメタデータおよびメタデータに対応する実データを読み書きするために、メタデータに関連する読み書き処理に応じた種々の要求コマンドを、磁気ディスク装置３に発行する。
【００２３】
なお、実データとは、検索対象の検索データであり、テキストデータでない例えばバイナリーデータである。そして、実データには、例えば、動画像データや音声データがあるが、これに限定されるものではない。
【００２４】
また、磁気ディスク装置３は、制御部１０と、磁気ディスク３０と、を備える。
【００２５】
制御部１０は、ホスト装置２からメタデータに関連する読み書き処理に応じた種々の要求コマンドを取得すると、取得した要求コマンドに応じて、磁気ディスク３０に対して各種処理を行い、処理結果をホスト装置２に応答する。
【００２６】
具体的には、制御部１０は、ホスト装置２からメタデータを一括して読み込む旨の要求コマンドを取得すると、磁気ディスク３０に記憶された複数のメタデータを、メタデータ管理表を用いて、複数のメタデータを磁気ディスク３０から一括して読み込み、その結果をホスト装置２に出力する。ここで、メタデータ管理表とは、磁気ディスク３０に記憶された各メタデータをそのメタデータの記憶領域を特定するＬＢＡによって管理する表である。なお、制御部１０が行う処理については後に詳述する。
【００２７】
磁気ディスク３０は、実データおよび実データの情報に関するメタデータをそれぞれ複数記憶する記憶媒体である。具体的には、磁気ディスク３０の各記録面（プラッタ）には、同心円状のトラックが形成されており、各プラッタの同一半径のトラックの集合はシリンダと呼ばれる。さらに、各トラックは、同心円の中心から放射線状に区切られて物理セクタを形成する。この物理セクタが磁気ディスク３０に対する読み書きの単位となる。物理セクタは、例えばプラッタの番号、シリンダの番号およびセクタ番号から換算される物理アドレスによって表される記憶領域であり、ＬＢＡと対応付けられている。すなわち、実データおよびメタデータは、これらの物理セクタに記憶され、制御部１０が、この記憶された物理セクタを表す物理アドレスに対応付けられるＬＢＡを用いて、物理セクタへの実データおよびメタデータの読み書きを行っている。このように、ＬＢＡによって管理される磁気ディスク３０上の領域を「通常領域３１」と呼ぶものとする。
【００２８】
図２は、実施例１に係るメタデータ管理システムの構成を示す機能ブロック図である。図２に示すように、ホスト装置２は、データ種別判断部２１と、コマンド発行部２２と、を含んでいる。
【００２９】
データ種別判断部２１は、メタデータまたは実データを磁気ディスク３０に書き込むとき、書き込むデータがメタデータまたは実データであるかを示すデータ種別を判定する。例えば、データ種別判断部２１は、あらかじめメタデータおよび実データごとに定められたデータ名に付加される拡張子によって、データのデータ種別を判定する。また、データ種別判断部２１は、データを磁気ディスク装置３に書き込む旨の指示を、データ種別とともにコマンド発行部２２に出力する。
【００３０】
なお、データ種別判断部２１は、メタデータおよび実データを扱うソフトウェアに実装されているものとする。また、データ種別判断部２１は、メタデータおよび実データを拡張子によって区別するものとしたが、これに限定されるものではない。
【００３１】
コマンド発行部２２は、メタデータに関連する読み書き処理に応じた種々の要求コマンドを磁気ディスク装置３に発行する。
【００３２】
具体的に、コマンド発行部２２は、データ種別判断部２１からデータを磁気ディスク装置３に書き込む旨の指示を検知すると、そのデータのデータ種別がメタデータの場合には、メタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）を磁気ディスク装置３に出力する。この際、コマンド発行部２２は、書き込むメタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データのＬＢＡと、をパラメータとしたメタデータ保存コマンドを、磁気ディスク装置３に出力する。
【００３３】
一方、コマンド発行部２２は、そのデータのデータ種別が実データの場合には、ＳＡＴＡ（Serial ATA）やＳＡＳ（Serial Attached SCSI）等の磁気ディスク装置３との接続に関する標準インタフェース規格によって定義された「Ｗｒｉｔｅ」コマンドを磁気ディスク装置３に出力する。
【００３４】
また、コマンド発行部２２は、磁気ディスク３０に記憶されたメタデータを一括して読み込む旨の指示を検知すると、当該指示に対応したメタデータ一括読み込みコマンド（例えば「Ｍｅｔａ  Ａｌｌ  Ｒｅａｄ」コマンド）を磁気ディスク装置３に出力する。
【００３５】
また、要求コマンドには、前述したメタデータ保存コマンドやメタデータ一括読み込みコマンドのみならず、単一のメタデータを磁気ディスク装置３から読み込むメタデータ読み込みコマンド（例えば「Ｍｅｔａ  Ｒｅａｄ」コマンド）がある。
【００３６】
また、単一のメタデータの情報をメタデータ管理表１３１から消去するメタデータ消去コマンド（例えば「Ｍｅｔａ  Ｄｅｌｅｔｅ」コマンド）や全てのメタデータの情報をメタデータ管理表１３１から消去するメタデータ一括消去コマンド（例えば「Ｍｅｔａ  Ａｌｌ  Ｄｅｌｅｔｅ」コマンド）がある。
【００３７】
さらに、単一のメタデータに対応する実データのＬＢＡをメタデータ管理表１３１から検索する対応データ検索コマンド（例えば「Ｇｅｔ  Ｄａｔａ  ＬＢＡ」コマンド）があるが、これに限定されず、メタデータに関連するコマンドであれば良い。
【００３８】
なお、コマンド発行部２２は、前述した要求コマンドを磁気ディスク装置３に発行するものとしたが、前述した標準インタフェース規格を利用したコマンドを磁気ディスク装置３に発行するものとしても良い。例えば、メタデータ保存コマンドの場合には、メタデータ専用のコマンドであっても良いが、「Ｗｒｉｔｅ」コマンドを利用して、データ種別、メタデータを特定するＬＢＡ、メタデータおよびメタデータに対応する実データのＬＢＡをパラメータとして指定するものとしても良い。
【００３９】
また、コマンド発行部２２は、通常ＯＳ内に実装されるが、メタデータおよび実データを扱うソフトウェアに組み込んだソフトウェアに実装されても良い。
【００４０】
制御部１０は、コマンド振分部１１と、コマンド実行部１２と、メタデータ管理表１３１を備えるメタデータ管理部１３と、コマンド応答部１４と、を含んでいる。
【００４１】
コマンド振分部１１は、コマンド発行部２２から発行された種々の要求コマンドをコマンドの種類に応じて振り分けて、コマンド実行部１２に出力する。
【００４２】
コマンド実行部１２は、コマンド振分部１１によって振り分けられたコマンドを取得すると、取得されたコマンドに応じた処理を行う。さらに、コマンド実行部１２は、メタデータ書込部１２１と、通常データ書込部１２２と、メタデータ一括読込部１２３と、通常データ読込部１２４と、メタ対応データ検索部１２５と、メタデータ一括消去部１２６と、を含んでいる。
【００４３】
メタデータ書込部１２１は、コマンド振分部１１からメタデータ保存コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれたメタデータを磁気ディスク３０の通常領域３１に書き込む。
【００４４】
具体的には、メタデータ書込部１２１は、パラメータとして、メタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データのＬＢＡと、を取得する。そして、メタデータ書込部１２１は、取得したパラメータに含まれたメタデータを、メタデータを特定するＬＢＡを使用するように、通常領域３１に書き込む。このとき、メタデータ書込部１２１は、メタデータを特定するＬＢＡとそのメタデータに対応する実データのＬＢＡとを対応付けて、メタデータを管理するメタデータ管理表１３１に格納する。さらに、メタデータ書込部１２１は、書き込み結果をコマンド応答部１４に出力する。
【００４５】
ここで、メタデータ管理表１３１のデータ構造の一例について図３を参照して説明する。図３は、実施例１に係るメタデータ管理表のデータ構造の一例を示す図である。図３に示すように、メタデータ管理表１３１には、例えば、メタデータＬＢＡ１３１ａと、データＬＢＡ１３１ｂと、が含まれる。
【００４６】
メタデータＬＢＡ１３１ａは、磁気ディスク３０の通常領域３１に記憶されているメタデータの記憶領域を特定するＬＢＡである。データＬＢＡ１３１ｂは、メタデータに対応する実データであって磁気ディスク３０の通常領域３１に記憶されている実データの記憶領域を特定するＬＢＡである。このメタデータ管理表１３１によって、磁気ディスク３０の通常領域３１に記憶されているすべてのメタデータが把握されることとなる。
【００４７】
図２に戻って、通常データ書込部１２２は、コマンド振分部１１から標準インタフェース規格によって定義された「Ｗｒｉｔｅ」コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれた実データを磁気ディスク３０の通常領域３１に書き込む。
【００４８】
具体的には、通常データ書込部１２２は、パラメータとして、実データを特定するＬＢＡと、実データと、を取得する。そして、通常データ書込部１２２は、取得したパラメータに含まれた実データを、実データを特定するＬＢＡを使用するように、通常領域３１に書き込む。さらに、通常データ書込部１２２は、書き込み結果をコマンド応答部１４に出力する。
【００４９】
なお、通常データ書込部１２２は、実データを磁気ディスク３０の通常領域３１に書き込むものとしたが、既に通常領域３１に書き込まれているメタデータであれば、そのメタデータのＬＢＡをパラメータとして取得して、メタデータを磁気ディスク３０の通常領域３１に更新しても良い。
【００５０】
メタデータ一括読込部１２３は、コマンド振分部１１からメタデータ一括読込コマンドを取得すると、メタデータ管理表１３１を用いて、メタデータ管理表１３１に管理されているメタデータを磁気ディスク３０の通常領域３１から一括して読み込む。
【００５１】
具体的には、メタデータ一括読込部１２３は、メタデータ管理表１３１に記憶されているメタデータを特定するＬＢＡを全て読み込む。また、メタデータ一括読込部１２３は、読み込んだ各ＬＢＡにそれぞれ対応付けられる物理アドレスの値が小さい順に、そのＬＢＡから特定される通常領域３１の記憶領域からメタデータを読み込む。さらに、メタデータ一括読込部１２３は、通常領域３１から読み込んだ全てのメタデータをそのＬＢＡとともにコマンド応答部１４に出力する。これにより、メタデータ一括読込部１２３は、メタデータ管理表１３１に管理されたメタデータを、一括して磁気ディスク３０の通常領域３１から読み込むことができる。なお、メタデータ一括読込部１２３は、複数のメタデータを特定する各ＬＢＡにそれぞれ対応付けられる物理アドレスの値が小さい順にメタデータを読み込むものとしたが、これに限定されず、磁気ヘッドのシーク動作や回転待ち動作の特性に応じてメタデータを効率的に読み込むことができれば良い。
【００５２】
通常データ読込部１２４は、コマンド振分部１１から標準インタフェース規格によって定義された「Ｒｅａｄ」コマンドを取得すると、取得されたコマンドのパラメータに含まれた、実データを特定するＬＢＡを用いて、磁気ディスク３０の通常領域３１から実データを読み込む。さらに、通常データ読込部１２４は、読み込んだ実データをコマンド応答部１４に出力する。ただし、「Ｒｅａｄ」コマンドとは標準インタフェース規格に定義されているユーザデータを読み込むコマンドを総称しており、複数存在する場合もある。
【００５３】
メタ対応データ検索部１２５は、コマンド振分部１１から対応データ検索コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれたメタデータに対応する実データのＬＢＡをメタデータ管理表１３１から読み込む。
【００５４】
具体的には、メタ対応データ検索部１２５は、パラメータとして、メタデータを特定するＬＢＡを取得する。そして、メタ対応データ検索部１２５は、取得したメタデータを特定するＬＢＡを用いて、メタデータに対応付けられた実データのＬＢＡをメタデータ管理表１３１から読み込む。さらに、メタ対応データ検索部１２５は、読み込んだ実データを特定するＬＢＡをコマンド応答部１４に出力する。
【００５５】
なお、メタ対応データ検索部１２５は、メタデータに対応付けられた実データのＬＢＡをメタデータ管理表１３１から読み込むものとしたが、これに限定されず、さらに読み込んだ実データのＬＢＡを用いて通常領域３１から実データを読み込むものとしても良い。
【００５６】
メタデータ一括消去部１２６は、コマンド振分部１１からメタデータ一括消去コマンドを取得すると、メタデータ管理表１３１から全てのメタデータの情報を消去して、メタデータ管理表１３１を初期化する。
【００５７】
コマンド応答部１４は、コマンド実行部１２から処理結果を取得すると、取得した処理結果をコマンド発行部２２に出力する。
【００５８】
次に、実施例１に係るホスト装置２側のデータ書込処理を、図４を参照して説明する。図４は、実施例１に係るデータ書込み処理（ホスト装置側）の処理手順を示すフローチャートである。なお、メタデータおよび実データを扱うソフトウェアによってデータを磁気ディスク装置３に書き込む場合であるものとする。
【００５９】
まず、ソフトウェアのデータ書込処理を要求する処理部によって出力されたデータが、データ種別判断部２１によって取得されると、データ種別判断部２１が、取得したデータのデータ種別を判定する（Ｓ１１）。具体的には、データ種別判断部２１は、データのデータ種別がメタデータであるか実データであるかを、例えばデータのデータ名に付加される拡張子を認定することによって判定する。
【００６０】
データのデータ種別がメタデータであると判定する場合には（Ｓ１１Ｙｅｓ）、コマンド発行部２２が、メタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）を磁気ディスク装置３に発行する（Ｓ１２）。このとき、コマンド発行部２２は、メタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データを特定するＬＢＡと、をパラメータとしてメタデータ保存コマンドを、磁気ディスク装置３に発行する。
【００６１】
その後、コマンド発行部２２は、磁気ディスク装置３からメタデータ保存コマンドに対応する応答を取得して、取得した応答結果が正常であるか否かを判定する（Ｓ１３）。
【００６２】
応答結果が正常であると判定する場合には（Ｓ１３Ｙｅｓ）、コマンド発行部２２は、正常終了と判断して（Ｓ１４）、データ書込処理を要求した処理部に処理結果を出力する。
【００６３】
応答結果が異常であると判定する場合には（Ｓ１３Ｎｏ）、コマンド発行部２２は、異常終了と判断して（Ｓ１５）、データ書込処理を要求した処理部に処理結果を出力する。
【００６４】
一方、データのデータ種別がメタデータでないと判定する場合には（Ｓ１１Ｎｏ）、コマンド発行部２２が、データを実データであると判断して、標準インタフェース規格によって定義された「Ｗｒｉｔｅ」コマンドを磁気ディスク装置３に発行する（Ｓ１６）。このとき、コマンド発行部２２は、実データを特定するＬＢＡと、実データと、をパラメータとして「Ｗｒｉｔｅ」コマンドを、磁気ディスク装置３に発行する。ただし、「Ｗｒｉｔｅ」コマンドとは標準インタフェース規格に定義されているユーザデータを書き込むコマンドを総称しており、複数存在する場合もある。
【００６５】
その後、コマンド発行部２２は、磁気ディスク装置３から「Ｗｒｉｔｅ」コマンドに対応する応答を取得して、取得した応答結果が正常であるか否かを判定する（Ｓ１７）。
【００６６】
応答結果が正常であると判定する場合には（Ｓ１７Ｙｅｓ）、コマンド発行部２２は、正常終了と判断して（Ｓ１８）、データ書込処理を要求した処理部に処理結果を出力する。
【００６７】
応答結果が異常であると判定する場合には（Ｓ１７Ｎｏ）、コマンド発行部２２は、異常終了と判断して（Ｓ１５）、データ書込処理を要求した処理部に処理結果を出力する。
【００６８】
次に、実施例１に係る磁気ディスク装置３側のデータ書込処理を、図５を参照して説明する。図５は、実施例１に係るデータ書込み処理（磁気ディスク装置側）の処理手順を示すフローチャートである。
【００６９】
まず、ホスト装置２のコマンド発行部２２によって出力されたコマンドが、コマンド振分部１１によって受信されると（Ｓ２１）、コマンド振分部１１は、受信したコマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）であるか否かを判定する(Ｓ２２)。
【００７０】
コマンド振分部１１が、コマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）であると判定する場合には（Ｓ２２Ｙｅｓ）、メタデータ書込部１２１は、メタデータ保存コマンドのパラメータとしてメタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データを特定するＬＢＡと、を取得する。そして、メタデータ書込部１２１は、取得されたパラメータに応じて、メタデータを特定するＬＢＡを使用するように、メタデータを通常領域３１に書き込む（Ｓ２３）。
【００７１】
そして、メタデータ書込部１２１は、メタデータを特定するＬＢＡとそのメタデータに対応する実データを特定するＬＢＡとを対応付けてメタデータ管理表１３１に格納する（Ｓ２４）。
【００７２】
その後、コマンド応答部１４は、メタデータ書込部１２１からメタデータの書き込み処理に対応する応答結果を取得して、取得した応答結果が書き込みに成功したか否かを判定する（Ｓ２５）。
【００７３】
応答結果が書き込みに成功したと判定する場合には（Ｓ２５Ｙｅｓ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に正常終了である応答結果を応答する（Ｓ２６）。
【００７４】
応答結果が書き込みに失敗したと判定する場合には（Ｓ２５Ｎｏ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に異常終了である応答結果を応答する（Ｓ２７）。
【００７５】
一方、コマンド振分部１１が、コマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）でないと判定する場合には（Ｓ２２Ｎｏ）、通常データ書込部１２２は、「Ｗｒｉｔｅ」コマンドであると判断して、「Ｗｒｉｔｅ」コマンドのパラメータとして実データを特定するＬＢＡと、実データと、を取得する。そして、通常データ書込部１２２は、取得されたパラメータに応じて、実データを特定するＬＢＡを使用するように、実データを通常領域３１に書き込む（Ｓ２８）。
【００７６】
なお、通常データ書込部１２２は、実データのみならずメタデータを通常領域３１に書き込むものとしても良い。この場合、通常データ書込部１２２は、「Ｗｒｉｔｅ」コマンドのパラメータとしてメタデータを特定するＬＢＡと、メタデータと、を取得して、メタデータを特定するＬＢＡを使用するように、メタデータを通常領域３１に書き込む。
【００７７】
その後、コマンド応答部１４は、通常データ書込部１２２から実データの書き込み処理に対応する応答結果を取得して、取得した応答結果が書き込みに成功したか否かを判定する（Ｓ２９）。
【００７８】
応答結果が書き込みに成功したと判定する場合には（Ｓ２９Ｙｅｓ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に正常終了である応答結果を応答する（Ｓ３０）。
【００７９】
応答結果が書き込みに失敗したと判定する場合には（Ｓ２９Ｎｏ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に異常終了である応答結果を応答する（Ｓ２７）。
【００８０】
次に、実施例１に係るメタデータ一括読込処理を、図６を参照して説明する。図６は、実施例１に係るメタデータ一括読込処理の処理手順を示すフローチャートである。
【００８１】
まず、ホスト装置２のコマンド発行部２２が、メタデータ一括読み込みコマンド（例えば「Ｍｅｔａ  Ａｌｌ  Ｒｅａｄ」コマンド）を磁気ディスク装置３に発行する（Ｓ４１）。
【００８２】
すると、ホスト装置２のコマンド発行部２２によって出力されたコマンドが、コマンド振分部１１によって受信する（Ｓ４２）。
【００８３】
そして、メタデータ一括読込部１２３は、メタデータ管理表１３１を用いて、メタデータ管理表１３１に管理されているメタデータを磁気ディスク３０の通常領域３１から一括して読み込む（Ｓ４３）。具体的には、メタデータ一括読込部１２３は、メタデータを特定するＬＢＡをメタデータ管理表１３１から全て読み込む。そして、メタデータ一括読込部１２３は、読み込んだ各ＬＢＡにそれぞれ対応付けられる物理アドレスの値が小さい順に、各ＬＢＡから特定される全てのメタデータを通常領域３１から読み込む。
【００８４】
その後、コマンド応答部１４は、メタデータ一括読込部１２３からメタデータ一括読込処理に対応する応答結果を取得して、取得した応答結果が読み込みに成功したか否かを判定する（Ｓ４４）。
【００８５】
応答結果が読み込みに成功したと判定する場合には（Ｓ４４Ｙｅｓ）、コマンド応答部１４は、読み込んだ全てのメタデータを応答結果としてホスト装置２のコマンド発行部２２に応答する（Ｓ４５）。そして、ホスト装置２は、コマンド応答部１４から応答された応答結果として全てのメタデータを受信すると、メタデータ一括読込処理が正常であると判断する（Ｓ４６）。
【００８６】
一方、応答結果が読み込みに失敗したと判定する場合には（Ｓ４４Ｎｏ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に異常終了である応答結果を応答する。そして、ホスト装置２は、コマンド応答部１４から異常終了である応答結果を取得すると、メタデータ一括読込処理が異常であると判断する（Ｓ４７）。
【００８７】
次に、実施例１に係るメタデータ管理システムの使用例を、図７を参照して説明する。図７は、実施例１に係るメタデータ管理システムの使用例を示すフローチャートである。なお、図７のＳ５１〜Ｓ５４は、メタデータおよびメタデータに対応する実データを磁気ディスク３０の通常領域３１に格納する前処理であり、Ｓ５５〜Ｓ６０は、通常領域３１に記憶された全てのメタデータの中から１個のメタデータに対応する実データを検索する後処理であるが、後処理を前処理に継続して使用しても良いし、継続して使用しなくても良い。
【００８８】
まず、メタデータ管理表１３１を初期化するために、ホスト装置２のコマンド発行部２２は、メタデータ一括消去コマンド（「Ｍｅｔａ  Ａｌｌ  Ｄｅｌｅｔｅ」コマンド）を発行する。すると、磁気ディスク装置３のメタデータ一括消去部１２６は、メタデータ管理表１３１に記憶されている全てのメタデータの情報を消去する（Ｓ５１）。
【００８９】
次に、実データを磁気ディスク３０に格納するために、ホスト装置２のコマンド発行部２２は、「Ｗｒｉｔｅ」コマンドを発行する。すると、通常データ書込部１２２は、当該コマンドによって指定された実データを磁気ディスク３０の通常領域３１に格納する（Ｓ５２）。
【００９０】
次に、実データの情報に関するメタデータを磁気ディスク３０に格納するために、ホスト装置２のコマンド発行部２２は、メタデータ保存コマンド（「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）を発行する。すると、メタデータ書込部１２１は、当該コマンドによって指定されたメタデータを磁気ディスク３０の通常領域３１に格納する（Ｓ５３）。このとき、メタデータ書込部１２１は、当該コマンドによって指定されたメタデータと、そのメタデータに対応する実データとを、それぞれのＬＢＡによって対応付けてメタデータ管理表１３１に格納する。
【００９１】
そして、ホスト装置２は、磁気ディスク３０への実データの書き込みが全て終了したか否かを判定する（Ｓ５４）。
【００９２】
磁気ディスク３０への実データの書き込みが全て終了していないと判定する場合には（Ｓ５４Ｎｏ）、引き続き、まだ書き込みを終えていない実データを磁気ディスク３０に格納するために、Ｓ５２に遷移する。
【００９３】
一方、磁気ディスク３０への実データの書き込みが全て終了していると判定する場合には（Ｓ５４Ｙｅｓ）書き込みを完了する。その後、磁気ディスク３０の通常領域３１に記憶されている全てのメタデータを読み込むために、ホスト装置２のコマンド発行部２２は、メタデータ一括読込コマンド（「Ｍｅｔａ  Ａｌｌ  Ｒｅａｄ」コマンド）を発行する。すると、メタデータ一括読込部１２３は、メタデータ管理表１３１に記憶されている全てのメタデータを、磁気ディスク３０から読み込み（Ｓ５５）、読み込んだ全てのメタデータとそのＬＢＡをホスト装置２に応答する。
【００９４】
引き続き、ホスト装置２は、磁気ディスク装置３によって読み込まれた全てのメタデータから抽出したい実データの情報に関するメタデータを検索する（Ｓ５６）。
【００９５】
そして、検索されたメタデータに対応する実データのＬＢＡを取得するために、ホスト装置２のコマンド発行部２２は、対応データ検索コマンド（「Ｇｅｔ  Ｄａｔａ  ＬＢＡ」コマンド）を発行する。すると、メタ対応データ検索部１２５は、当該コマンドによって指定されたメタデータを特定するＬＢＡを用いて、メタデータに対応する実データのＬＢＡをメタデータ管理表１３１から読み込み（Ｓ５７）、読み込んだ実データのＬＢＡをホスト装置２に応答する。
【００９６】
さらに、実データを磁気ディスク３０から読み込むために、ホスト装置２のコマンド発行部２２は、「Ｒｅａｄ」コマンドを発行する。すると、通常データ読込部１２４は、当該コマンドによって指定された実データのＬＢＡを用いて、実データを磁気ディスク３０の通常領域３１から読み込み（Ｓ５８）、読み込んだ実データをホスト装置２に応答する。
【００９７】
そして、ホスト装置２は、磁気ディスク３０からの抽出したい実データの読み込みが全て終了したか否かを判定する（Ｓ５９）。
【００９８】
磁気ディスク３０からの抽出したい実データの読み込みが全て終了していないと判定する場合には（Ｓ５９Ｎｏ）、引き続き、まだ読み込みを終えていない実データを磁気ディスク３０から読み込むために、Ｓ５７に遷移する。
【００９９】
一方、磁気ディスク３０からの抽出したい実データの読み込みが全て終了していると判定する場合には（Ｓ５９Ｙｅｓ）、実データの読み込みを終了する（Ｓ６０）。
【０１００】
以上のように本実施例１によれば、検索対象となる実データの情報に関するメタデータを実データごとに複数記憶した磁気ディスク３０を備え、この磁気ディスク３０に記憶されたメタデータを特定する論理アドレス（ＬＢＡ）を、複数のメタデータごとに管理し、この管理されたメタデータを特定する論理アドレスを用いて、磁気ディスク３０から実データの情報に関するメタデータを複数読み込むようにした。
【０１０１】
かかる構成によれば、磁気ディスク装置３は、磁気ディスク３０に記憶された複数のメタデータをメタデータ管理表１３１によって管理しているため、各メタデータのＬＢＡに対応付けられる磁気ディスク３０上の物理アドレスを認識することができ、複数のメタデータを効率的に読み込むことができる。その結果、磁気ディスク装置３は、シーク時間や回転待ち時間を大幅に抑制することができることとなり、メタデータの一括読み込みの性能の大幅な向上を図ることができる。さらに、磁気ディスク装置３は、ホスト装置の既存のＢＩＯＳやＯＳ等の動作に変更を加えないで、メタデータの一括読み込みの性能の最適化を図ることができる。
【実施例２】
【０１０２】
ところで、上記の実施例１では、磁気ディスク装置３が、メタデータと実データを混在して記憶する通常領域３１に記憶されたメタデータを、メタデータ管理表によって管理する場合を説明した。本発明はこれに限定されるものではなく、磁気ディスク装置３が、メタデータと実データを混在して記憶する通常領域３１と異なる領域であってメタデータを専用に記憶するメタデータ保存領域３２に記憶されたメタデータを、メタデータ管理表によって管理しても良い。
【０１０３】
そこで、実施例２では、磁気ディスク装置３が、メタデータと実データを混在して記憶する通常領域３１と異なる領域であってメタデータを専用に記憶するメタデータ保存領域３２に記憶されたメタデータを、メタデータ管理表によって管理する場合を説明する。
【０１０４】
まず、実施例２に係るメタデータ管理システムの概要について図８を参照しながら説明する。図８は、実施例に係るメタデータ管理システムの概要を示す図である。図８に示すように、実施例１に係るメタデータ管理システム１（図１）の磁気ディスク３０が変更されている。なお、図８において、図１と同じ部分には同じ符号を付し、詳しい説明を省略する。
【０１０５】
磁気ディスク３０は、通常領域３１と、通常領域３１とは別にメタデータを記憶する専用のメタデータ保存領域３２と、を有する。通常領域３１は、実データおよび実データの情報に関するメタデータを記憶する領域であり、メタデータ保存領域３２は、通常領域３１に記憶されたメタデータと同一のメタデータを複製して記憶する領域である。なお、通常領域３１は、メタデータを記憶しないで、実データだけを記憶するものとしても良い。
【０１０６】
磁気ディスク３０は、通常領域３１とメタデータ保存領域３２とを、例えばシリンダによって区別して、メタデータ保存領域３２を各記録面（プラッタ）のいずれか１個のシリンダまたはそのシリンダに隣接するシリンダとする。なお、磁気ディスク３０の記憶領域の特性によっては、この限りでない。
【０１０７】
これにより、磁気ディスク装置３は、複数のメタデータを物理的にまとまった記憶領域に記憶することができるため、各メタデータを記憶する記憶領域を特定するＬＢＡが連続的または非連続的であっても、これらのメタデータを一括して読み込む場合、効率的に読み込むことができる。仮に一括して読み込む全てのメタデータのＬＢＡが連続している場合であっても、連続したＬＢＡが特定する物理的な記憶領域は隣接しているとは限らないため、各メタデータを読み込むためのシーク時間や回転待ち時間がかかるものである。しかし、磁気ディスク装置３が複数のメタデータを物理的にまとまった記憶領域に記憶することによって、各メタデータを読み込むためのシーク時間や回転待ち時間を大幅に抑制することができるため、読み込みの性能の大幅な向上を図ることができる。
【０１０８】
また、通常領域３１は、実データおよびメタデータが記憶される物理セクタの記憶領域をＬＢＡによって管理される領域であるが、メタデータ保存領域３２は、メタデータをメタデータと異なるデータと区別して記憶するために、記憶領域をＬＢＡによって管理されない領域であるものとする。
【０１０９】
制御部１０は、ホスト装置２からメタデータを一括して読み込む旨の要求コマンドを取得すると、磁気ディスク３０のメタデータ保存領域３２に記憶された複数のメタデータを、メタデータ管理表を用いて、一括して読み込み、その結果をホスト装置２に出力する。なお、制御部１０が行う処理については、後に詳述する。
【０１１０】
次に、実施例２に係るメタデータ管理システムの構成について図９を参照しながら説明する。図９は、実施例２に係るメタデータ管理システムの構成を示す機能ブロック図である。図９に示すように、実施例２に係るメタデータ管理システム１では、実施例１に係るメタデータ管理システム１（図２）のメタデータ書込部２２１と通常データ書込部２２２とメタデータ一括読込部２２３とメタ対応データ検索部２２５とメタデータ管理表２３１とが変更されている。なお、図９において、図２と同じ部分には同じ符号を付し、詳しい説明を省略する。
【０１１１】
メタデータ書込部２２１は、コマンド振分部１１からメタデータ保存コマンドを取得すると、メタデータを磁気ディスク３０の通常領域３１およびメタデータ保存領域３２に書き込む。さらに、メタデータ書込部２２１は、通常領域書込部２２１ａと、保存領域書込部２２１ｂと、を含んでいる。
【０１１２】
通常領域書込部２２１ａは、コマンド振分部１１からメタデータ保存コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれたメタデータを、通常領域３１に書き込む。
【０１１３】
具体的には、通常領域書込部２２１ａは、パラメータとして、メタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データのＬＢＡと、を取得する。そして、通常領域書込部２２１ａは、取得したパラメータに含まれたメタデータを、メタデータを特定するＬＢＡを使用するように、通常領域３１に書き込む。さらに、通常領域書込部２２１ａは、パラメータを保存領域書込部２２１ｂに出力する。
【０１１４】
保存領域書込部２２１ｂは、メタデータをメタデータ保存領域３２に書き込む。具体的には、保存領域書込部２２１ｂは、通常領域書込部２２１ａからパラメータを取得すると、メタデータ管理表２３１にパラメータに含まれるメタデータのＬＢＡが記憶されているか否かを判定する。
【０１１５】
また、保存領域書込部２２１ｂは、メタデータ管理表２３１にパラメータに含まれたメタデータのＬＢＡが記憶されている場合には、メタデータ保存領域３２に既にメタデータに対応する領域が確保されていると判断して、そのメタデータのメタデータ保存領域３２への記憶領域を特定する索引番号を検索する。そして、保存領域書込部２２１ｂは、検索した索引番号に対応するメタデータ保存領域３２にメタデータを書き込む。さらに、保存領域書込部２２１ｂは、メタデータを特定する索引番号を含む書き込み結果をコマンド応答部１４に出力する。
【０１１６】
また、保存領域書込部２２１ｂは、メタデータ管理表２３１にパラメータに含まれたメタデータのＬＢＡが記憶されていない場合には、パラメータに含まれるメタデータのメタデータ保存領域３２への記憶領域を特定する索引番号を付与する。そして、保存領域書込部２２１ｂは、付与した索引番号に対応するメタデータ保存領域３２にメタデータを書き込む。
【０１１７】
また、保存領域書込部２２１ｂは、メタデータを特定するＬＢＡと、そのメタデータに対応する実データのＬＢＡと、そのメタデータを特定する索引番号と、を対応付けて、メタデータ管理表２３１に格納する。さらに、保存領域書込部２２１ｂは、メタデータを特定する索引番号を含む書き込み結果をコマンド応答部１４に出力する。
【０１１８】
ここで、メタデータ管理表２３１のデータ構造の一例について図１０を参照して説明する。図１０は、実施例２に係るメタデータ管理表のデータ構造の一例を示す図である。図１０に示すように、メタデータ管理表２３１には、例えば、メタデータＬＢＡ２３１ａと、メタデータを特定する索引番号を示すメタデータＩＤ２３１ｂと、データＬＢＡ２３１ｃと、が含まれる。このメタデータ管理表２３１によって、磁気ディスク３０のメタデータ保存領域３２に記憶されているすべてのメタデータが把握されることとなる。
【０１１９】
通常データ書込部２２２は、コマンド振分部１１から「Ｗｒｉｔｅ」コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれた実データを磁気ディスク３０の通常領域３１に書き込む。
【０１２０】
なお、通常データ書込部２２２は、実データを磁気ディスク３０の通常領域３１に書き込むものとしたが、既に通常領域３１に書き込まれているメタデータであれば、そのメタデータのＬＢＡをパラメータとして取得して、メタデータを磁気ディスク３０の通常領域３１およびメタデータ保存領域３２に更新しても良い。
【０１２１】
メタデータ一括読込部２２３は、コマンド振分部１１からメタデータ一括読込コマンドを取得すると、メタデータ管理表２３１を用いて、メタデータ管理表２３１に管理されているメタデータを磁気ディスク３０のメタデータ保存領域３２から一括して読み込む。
【０１２２】
具体的には、メタデータ一括読込部２２３は、メタデータ管理表２３１に記憶されているメタデータを特定する索引番号（メタデータＩＤ２３１ｂ）を全て読み込む。また、メタデータ一括読込部２２３は、読み込んだ各索引番号から特定されるメタデータ保存領域３２の記憶領域からメタデータを読み込む。さらに、メタデータ一括読込部２２３は、メタデータ保存領域３２から読み込んだ全てのメタデータをその索引番号（メタデータＩＤ２３１ｂ）とともにコマンド応答部１４に出力する。これにより、メタデータ一括読込部２２３は、メタデータ管理表２３１に管理されたメタデータを、一括して磁気ディスク３０のメタデータ保存領域３２から読み込むことができる。
【０１２３】
なお、メタデータ一括読込部２２３は、メタデータ管理表２３１を用いてメタデータ保存領域３２から一括してメタデータを読み込むものとしたが、メタデータ管理表２３１を用いないで一括して全てのメタデータを読み込むものとしても良い。
【０１２４】
メタ対応データ検索部２２５は、コマンド振分部１１から対応データ検索コマンドを取得すると、取得されたコマンドのパラメータに基づいて、パラメータに含まれたメタデータに対応する実データのＬＢＡをメタデータ管理表２３１から読み込む。
【０１２５】
具体的には、メタ対応データ検索部２２５は、パラメータとして、メタデータを特定する索引番号を取得する。そして、メタ対応データ検索部２２５は、取得したメタデータを特定する索引番号を用いて、メタデータに対応付けられた実データのＬＢＡをメタデータ管理表２３１から読み込む。さらに、メタ対応データ検索部２２５は、読み込んだ実データを特定するＬＢＡをコマンド応答部１４に出力する。
【０１２６】
なお、メタ対応データ検索部２２５は、メタデータに対応付けられた実データのＬＢＡをメタデータ管理表２３１から読み込むものとしたが、これに限定されず、さらに読み込んだ実データのＬＢＡを用いて通常領域３１から実データを読み込むものとしても良い。
【０１２７】
次に、実施例２に係る磁気ディスク装置３側のデータ書込処理を、図１１を参照して説明する。図１１は、実施例２に係るデータ書込み処理（磁気ディスク装置側）の処理手順を示すフローチャートである。なお、ホスト装置２側のデータ書込処理は、実施例１に係るホスト装置２側のデータ書込処理（図４）と同様の処理であるため、その説明を省略する。
【０１２８】
まず、ホスト装置２のコマンド発行部２２によって出力されたコマンドが、コマンド振分部１１によって受信されると（Ｓ７１）、コマンド振分部１１は、受信したコマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）であるか否かを判定する(Ｓ７２)。
【０１２９】
コマンド振分部１１が、コマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）であると判定する場合には（Ｓ７２Ｙｅｓ）、通常領域書込部２２１ａは、メタデータ保存コマンドのパラメータとして、メタデータを特定するＬＢＡと、メタデータと、そのメタデータに対応する実データを特定するＬＢＡと、を取得する。
【０１３０】
そして、通常領域書込部２２１ａは、取得されたパラメータに応じて、メタデータを特定するＬＢＡを使用するように、メタデータを通常領域３１に書き込む（Ｓ７３）。
【０１３１】
次に、保存領域書込部２２１ｂは、パラメータに含まれたメタデータのＬＢＡがメタデータ管理表２３１に記憶されているか否かを判定し、当該ＬＢＡが記憶されている場合には、当該ＬＢＡに対応する索引番号に該当するメタデータ保存領域３２への記憶領域にメタデータを書き込む。一方、当該ＬＢＡが記憶されていない場合には、保存領域書込部２２１ｂは、メタデータ保存領域３２への記憶領域を特定する索引番号を付与して、その索引番号に該当するメタデータ保存領域３２への記憶領域にメタデータを書き込む（Ｓ７４）。
【０１３２】
さらに、当該ＬＢＡが記憶されていない場合には、保存領域書込部２２１ｂは、メタデータを特定するＬＢＡと、そのメタデータに対応する実データのＬＢＡと、そのメタデータを特定する索引番号と、を対応付けてメタデータ管理表２３１に格納する（Ｓ７５）。
【０１３３】
その後、コマンド応答部１４は、保存領域書込部２２１ｂからメタデータの書き込み処理に対応する応答結果を取得して、取得した応答結果が書き込みに成功したか否かを判定する（Ｓ７６）。
【０１３４】
応答結果が書き込みに成功したと判定する場合には（Ｓ７６Ｙｅｓ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に正常終了である応答結果を応答する（Ｓ７７）。なお、この応答結果には、メタデータを特定する索引番号が含まれている。
【０１３５】
応答結果が書き込みに失敗したと判定する場合には（Ｓ７６Ｎｏ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に異常終了である応答結果を応答する（Ｓ７８）。
【０１３６】
一方、コマンド振分部１１が、コマンドがメタデータ保存コマンド（例えば「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）でないと判定する場合には（Ｓ７２Ｎｏ）、通常データ書込部２２２は、「Ｗｒｉｔｅ」コマンドであると判断して、「Ｗｒｉｔｅ」コマンドのパラメータとしてデータを特定するＬＢＡと、データと、を取得する。そして、通常データ書込部２２２は、取得されたパラメータに応じて、データを特定するＬＢＡを使用するように、データを通常領域３１に書き込む（Ｓ７９）。
【０１３７】
さらに、通常データ書込部２２２は、既に通常領域３１に記憶されているメタデータを「Ｗｒｉｔｅ］コマンドで書き込む場合のため、パラメータに含まれたデータを特定するＬＢＡがメタデータ管理表２３１に記憶されているか否かを確認する（Ｓ８０）。
【０１３８】
当該データを特定するＬＢＡがメタデータ管理表２３１に記憶されていると判定される場合には（Ｓ８１Ｙｅｓ）、当該データはメタデータであると判断して、当該データのＬＢＡに対応する索引番号に該当するメタデータ保存領域３２への記憶領域に当該データを書き込む（Ｓ８２）。これは、通常領域３１とメタデータ保存領域３２のメタデータの整合性を保つためである。
【０１３９】
メタデータ保存領域３２に当該データを書き込んだ後、または、当該データを特定するＬＢＡがメタデータ管理表２３１に記憶されていないと判定される場合には（Ｓ８１Ｎｏ）、コマンド応答部１４は、通常データ書込部２２２から実データの書き込み処理に対応する応答結果を取得して、取得した応答結果が書き込みに成功したか否かを判定する（Ｓ８３）。
【０１４０】
応答結果が書き込みに成功したと判定する場合には（Ｓ８３Ｙｅｓ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に正常終了である応答結果を応答する（Ｓ８４）。
【０１４１】
応答結果が書き込みに失敗したと判定する場合には（Ｓ８３Ｎｏ）、コマンド応答部１４は、ホスト装置２のコマンド発行部２２に異常終了である応答結果を応答する（Ｓ７８）。
【０１４２】
次に、実施例２に係るメタデータ管理システムの使用例を、図１２を参照して説明する。図１２は、実施例２に係るメタデータ管理システムの使用例を示すフローチャートである。なお、図１２において、実施例１に係るメタデータ管理システムの使用例（図７）と同じ部分には同じ符号を付し、詳しい説明を省略する。
【０１４３】
まず、メタデータ管理表１３１を初期化するために、磁気ディスク装置３のメタデータ一括消去部１２６は、メタデータ一括消去コマンド（「Ｍｅｔａ  Ａｌｌ  Ｄｅｌｅｔｅ」コマンド）をホスト装置２から取得すると、メタデータ管理表２３１に記憶されている全てのメタデータの情報を消去する（Ｓ５１）。
【０１４４】
次に、実データを磁気ディスク３０に格納するために、通常データ書込部２２２は、「Ｗｒｉｔｅ」コマンドをホスト装置２から取得すると、当該コマンドによって指定された実データを磁気ディスク３０の通常領域３１に格納する（Ｓ５２）。
【０１４５】
次に、実データの情報に関するメタデータを磁気ディスク３０に格納するために、ホスト装置２のコマンド発行部２２は、メタデータ保存コマンド（「Ｍｅｔａ  Ｗｒｉｔｅ」コマンド）を発行する。すると、メタデータ書込部２２１は、当該コマンドによって指定されたメタデータを磁気ディスク３０の通常領域３１およびメタデータ保存領域３２に格納する（Ｓ９１）。その際、メタデータ書込部２２１は、当該コマンドによって指定されたメタデータと、そのメタデータに対応する実データと、そのメタデータを特定する索引番号と、を対応付けてメタデータ管理表２３１に格納する。
【０１４６】
そして、ホスト装置２は、磁気ディスク３０への実データの書き込みが全て終了したか否かを判定する（Ｓ５４）。
【０１４７】
磁気ディスク３０への実データの書き込みが全て終了していないと判定する場合には（Ｓ５４Ｎｏ）、引き続き、まだ書き込みを終えていない実データを磁気ディスク３０に格納するために、Ｓ５２に遷移する。
【０１４８】
一方、磁気ディスク３０への実データの書き込みが全て終了していると判定する場合には（Ｓ５４Ｙｅｓ）書き込みを終了する。その後、磁気ディスク３０のメタデータ保存領域３２に記憶されている全てのメタデータを読み込むために、ホスト装置２のコマンド発行部２２は、メタデータ一括読込コマンド（「Ｍｅｔａ  Ａｌｌ  Ｒｅａｄ」コマンド）を発行する。すると、メタデータ一括読込部２２３は、メタデータ管理表２３１に記憶されている全てのメタデータを、メタデータ保存領域３２から読み込み（Ｓ９２）、読み込んだ全てのメタデータとその索引番号をホスト装置２に応答する。
【０１４９】
引き続き、ホスト装置２は、磁気ディスク装置３によって読み込まれた全てのメタデータから抽出したい実データの情報に関するメタデータの索引番号を検索する（Ｓ９３）。
【０１５０】
そして、検索されたメタデータに対応する実データのＬＢＡを取得するために、ホスト装置２のコマンド発行部２２は、実データの情報に関するメタデータの索引番号を指定した対応データ検索コマンド（「Ｇｅｔ  Ｄａｔａ  ＬＢＡ」コマンド）を発行する。すると、メタ対応データ検索部１２５は、当該コマンドによって指定されたメタデータを特定する索引番号を用いて、メタデータに対応する実データのＬＢＡをメタデータ管理表２３１から読み込み（Ｓ９４）、読み込んだ実データのＬＢＡをホスト装置２に応答する。
【０１５１】
さらに、実データを磁気ディスク３０から読み込むために、通常データ読込部１２４は、実データのＬＢＡを指定した「Ｒｅａｄ」コマンドをホスト装置２から取得すると、取得した実データのＬＢＡを用いて、実データを通常領域３１から読み込み（Ｓ５８）、読み込んだ実データをホスト装置２に応答する。
【０１５２】
そして、ホスト装置２は、磁気ディスク３０からの抽出したい実データの読み込みが全て終了したか否かを判定する（Ｓ５９）。
【０１５３】
磁気ディスク３０からの抽出したい実データの読み込みが全て終了していないと判定する場合には（Ｓ５９Ｎｏ）、引き続き、まだ読み込みを終えていない実データを磁気ディスク３０から読み込むために、Ｓ９４に遷移する。
【０１５４】
一方、磁気ディスク３０からの抽出したい実データの読み込みが全て終了していると判定する場合には（Ｓ５９Ｙｅｓ）、実データの読み込みを終了する（Ｓ６０）。
【０１５５】
以上のように本実施例２によれば、検索対象となる実データの情報に関するメタデータを実データごとに複数記憶した通常領域３１と、メタデータを専用に記憶したメタデータ保存領域３２と、を含む磁気ディスク３０を備え、この磁気ディスク３０に記憶されたメタデータを特定する論理アドレス（メタデータＩＤ２３１ｂ）を、複数のメタデータごとに管理し、この管理されたメタデータを特定する論理アドレスを用いて、磁気ディスク３０から実データの情報に関するメタデータを複数読み込むようにした。
【０１５６】
かかる構成によれば、磁気ディスク装置３は、メタデータを専用に記憶したメタデータ保存領域３２に記憶されたメタデータの記憶領域をメタデータ管理表２３１によって認識することができ、複数のメタデータを効率的に読み込むことができる。その結果、磁気ディスク装置３は、シーク時間や回転待ち時間を大幅に抑制することができることとなり、メタデータの一括読み込みの性能の大幅な向上を図ることができる。さらに、磁気ディスク装置３は、ホスト装置の既存のＢＩＯＳやＯＳ等の動作に変更を加えないで、メタデータの一括読み込みの性能の最適化を図ることができる。
【０１５７】
また、磁気ディスク装置３は、磁気ディスク３０の特定の領域に複数のメタデータを物理的にまとめて記憶するため、各メタデータを特定するＬＢＡの連続性に関係なく、メタデータごとにかかるシーク時間や回転待ち時間を大幅に短縮化することが可能となり、読み込みの性能の最適化を図ることができる。
【０１５８】
以上、本発明の実施例について説明したが、本実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的範囲の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
【０１５９】
また、図示したホスト装置２および磁気ディスク装置３の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その文書検査装置１の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
【０１６０】
なお、ホスト装置２および磁気ディスク装置３にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central Processing Unit）（またはＭＰＵ（Micro Processing Unit）、ＭＣＵ（Micro Controller Unit）などのマイクロ・コンピュータ）および当該ＣＰＵ（またはＭＰＵ、ＭＣＵなどのマイクロ・コンピュータ）にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
【０１６１】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【０１６２】
（付記１）検索データの情報に関するメタデータを検索データごとに複数記録する記録媒体と、
前記記録媒体に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理する管理手段と、
前記管理手段によって管理された前記論理アドレスを用いて、前記記録媒体から検索データの情報に関するメタデータを複数読み込む読込手段と、
を有することを特徴とする磁気ディスク装置。
【０１６３】
（付記２）前記読込手段は、
複数のメタデータを読み込む読込要求を検出すると、前記管理手段によって管理された前記論理アドレスに対応するメタデータを、前記記録媒体から複数読み込むことを特徴とする付記１に記載の磁気ディスク装置。
【０１６４】
（付記３）前記記録媒体は、
前記メタデータを専用に記録する専用記録領域を含み、
前記読込手段は、
前記管理手段によって管理された前記論理アドレスに対応するメタデータを、前記専用記録領域から複数読み込むことを特徴とする付記１または付記２に記載の磁気ディスク装置。
【０１６５】
（付記４）前記専用記録領域は、
情報を記録する複数のシリンダのうち、いずれか一のシリンダ内または当該シリンダに隣接するシリンダ内に配置されることを特徴とする付記３に記載の磁気ディスク装置。
【０１６６】
（付記５）検索データの情報に関するメタデータを書き込む書込要求を検出すると、前記書込要求があったメタデータを前記専用記録領域に書き込む書込手段を有することを特徴とする付記３または付記４に記載の磁気ディスク装置。
【０１６７】
（付記６）前記書込手段は、
前記書込要求があったメタデータを特定する論理アドレスを、前記管理手段に格納することを特徴とする付記５に記載の磁気ディスク装置。
【０１６８】
（付記７）前記管理手段によって管理された前記メタデータを特定する論理アドレスの中から、少なくとも１つ以上の所定のメタデータを特定する論理アドレスを削除する削除要求を検出すると、前記削除要求があった所定のメタデータを特定する論理アドレスを削除する削除手段を有することを特徴とする付記１から付記６のいずれか一つに記載の磁気ディスク装置。
【０１６９】
（付記８）検索データの情報に関するメタデータを検索データごとに複数記録する記録媒体を備える磁気ディスク装置と、前記磁気ディスク装置に処理要求を送信するホスト装置と、を有するメタデータ管理システムであって、
前記ホスト装置は、
複数のメタデータを読み込む読込要求を出力する読込要求手段と、
前記磁気ディスク装置は、
前記記録媒体に記録されたメタデータを特定する論理アドレスを、複数のメタデータごとに管理する管理手段と、
前記読込要求手段からの読込要求を検出すると、前記管理手段によって管理されたメタデータを特定する論理アドレスを用いて、前記記録媒体から検索データの情報に関するメタデータを複数読み込む読込手段と、
前記読込手段によって読み込まれた複数のメタデータを、これら複数のメタデータを特定する論理アドレスとともに前記ホスト装置に出力する出力手段と
を有することを特徴とするメタデータ管理システム。
【０１７０】
（付記９）前記管理手段は、
検索データの情報に関するメタデータを特定する論理アドレスを、当該検索データを特定する論理アドレスと対応付けて管理し、
前記出力手段によって出力された複数のメタデータの中から指定された所定のメタデータに対応付けられた検索データの検索要求を検出すると、前記管理手段によって管理された、所定のメタデータに対応付けられた検索データを特定する論理アドレスを用いて、前記記録媒体から前記検索データを検索する検索手段を有することを特徴とする付記８に記載のメタデータ管理システム。
【符号の説明】
【０１７１】
１  メタデータ管理システム
２  ホスト装置
３  磁気ディスク装置
２１  データ種別判断部
２２  コマンド発行部
１０  制御部
１１  コマンド振分部
１２  コマンド実行部
１３  メタデータ管理部
１４  コマンド応答部
３０  磁気ディスク
１２１  メタデータ書込部
１２２  通常データ書込部
１２３  メタデータ一括読込部
１２４  通常データ読込部
１２５  メタ対応データ検索部
１２６  メタデータ一括消去部
１３１  メタデータ管理表
【図１】
2010224695.tif 000003
【図２】
2010224695.tif 000004
【図３】
2010224695.tif 000005
【図４】
2010224695.tif 000006
【図５】
2010224695.tif 000007
【図６】
2010224695.tif 000008
【図７】
2010224695.tif 000009
【図８】
2010224695.tif 000010
【図９】
2010224695.tif 000011
【図１０】
2010224695.tif 000012
【図１１】
2010224695.tif 000013
【図１２】
2010224695.tif 000014