(57)【要約】【課題】データを移行する際に真にアクセス頻度を考慮してパフォーマンスを向上する。【解決手段】テープドライブのコントローラ１６において、コマンド処理部６１が、データの読出し命令を受けると、チャネル入出力部６３が、テープからデータを読み出し、テープ上の各データに対し、読出しのためのマウントの回数であるRam-countが保持され、読み出したデータに対し、読み出された回数の履歴であるDm-readfreqが保持される。データ移行時には、ＣＭ入出力部６４が、Ram-countとDm-readfreqを読み出し、頻度算出部６５が、例えばDm-readfreqが示す回数のRam-countに対する比率をアクセス頻度として求め、移行制御部６６が、移行元テープから読み出されたデータが移行先テープにアクセス頻度の順に記録されるようバッファ管理部６２等を制御する。【選択図】図１１
2010152603.tif 000002
【特許請求の範囲】
【請求項１】
第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する装置であって、
前記第１の記録媒体に記録された各データについて、当該第１の記録媒体に当該各データが書き込まれた後に当該第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、当該第１の記録媒体から当該各データが読み出された回数を示す第２の情報とを取得する取得部と、
前記取得部により取得された前記第１の情報と前記第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、
前記把握部により把握された前記アクセス頻度に基づいて、前記第２の記録媒体における各データの記録位置を決定する決定部と
を含む、装置。
【請求項２】
前記第１の記録媒体から特定のデータが読み出された場合に、各データについて、前記第１の情報を更新し、当該特定のデータについて、前記第２の情報を更新する更新部を更に含む、請求項１の装置。
【請求項３】
前記特定のデータは、主データと、当該主データの付加情報であるメタデータとを含み、
前記更新部は、前記第１の記録媒体から前記主データ及び前記メタデータの少なくとも何れか一方が読み出された場合に、前記特定のデータが読み出されたと判定する、請求項２の装置。
【請求項４】
前記第１の情報は、前記第１の記録媒体に各データが書き込まれた後に当該第１の記録媒体が記憶装置にマウントされた回数によって、当該第１の記録媒体に各データが書き込まれた後に当該第１の記録媒体から何れかのデータが読み出された回数を示す、請求項１の装置。
【請求項５】
前記把握部は、前記第１の情報が示す回数に対する前記第２の情報が示す回数の比率を、前記アクセス頻度として把握する、請求項１の装置。
【請求項６】
前記把握部は、前記第１の情報が示す回数が所定の範囲にあるデータについて、前記第２の情報を用いて、前記アクセス頻度を把握する、請求項１の装置。
【請求項７】
前記第２の情報は、各データの読出しの履歴を複数のビット値で表す情報であって、前記第１の記録媒体からのＭ回のデータの読出しのうち当該各データが読み出された回数を、当該複数のビット値のうちＮ（Ｎ＜Ｍ）個のビット値で表す、請求項１の装置。
【請求項８】
前記決定部は、前記アクセス頻度が高いデータが前記第２の記録媒体における第１の記録位置に記録され、かつ、前記アクセス頻度が低いデータが当該第２の記録媒体における当該第１の記録位置よりもデータの読出しに時間がかかる第２の記録位置に記録されるように、当該第２の記録媒体における各データの記録位置を決定する、請求項１の装置。
【請求項９】
前記第２の記録媒体は、第１の端部から第２の端部へ向けてデータの読出しが開始されるテープ媒体であり、
前記第２の記録位置は、前記第１の記録位置よりも前記第２の端部に近い位置である、請求項８の装置。
【請求項１０】
前記第２の記録媒体は、第１の端部から第２の端部へ向けてデータの読出しが開始され、かつ、長手方向の少なくとも１つの位置で分割することで形成された複数の領域を有するテープ媒体であり、
前記第１の記録位置は、前記複数の領域のうちの第１の領域内の位置であり、
前記第２の記録位置は、前記複数の領域のうち、前記第１の領域よりも前記第２の端部に近い第２の領域内の位置である、請求項８の装置。
【請求項１１】
記録媒体におけるデータの再配置を支援する装置であって、
前記記録媒体に記録された各データについて、当該記録媒体に当該各データが書き込まれた後に当該記録媒体から何れかのデータが読み出された回数を示す第１の情報と、当該記録媒体から当該各データが読み出された回数を示す第２の情報とを取得する取得部と、
前記取得部により取得された前記第１の情報と前記第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、
前記把握部により把握された前記アクセス頻度に基づいて、前記記録媒体における各データの記録位置を決定する決定部と
を含む、装置。
【請求項１２】
第１のテープ媒体に記録されたデータを第２のテープ媒体に移行する装置であって、
前記第１のテープ媒体に記録され、主データと、当該主データの付随情報を示すメタデータとを含む各データについて、当該第１のテープ媒体に当該各データが書き込まれた後に当該第１のテープ媒体が何れかのデータの読出しのためにテープドライブにマウントされた回数を示す第１の情報と、当該第１のテープ媒体から当該各データが読み出された回数を示す第２の情報とを取得する取得部と、
前記取得部により取得された前記第１の情報が示す回数に対する前記第２の情報が示す回数の比率を、各データのアクセス頻度として把握する把握部と、
前記把握部により把握された前記アクセス頻度が高いデータから順に前記第２のテープ媒体に書き込む書込み部と
を含む、装置。
【請求項１３】
第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する方法であって、
前記第１の記録媒体に記録された各データについて、当該第１の記録媒体に当該各データが書き込まれた後に当該第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、当該第１の記録媒体から当該各データが読み出された回数を示す第２の情報とを取得するステップと、
取得された前記第１の情報と前記第２の情報とを用いて、各データのアクセス頻度を把握するステップと、
把握された前記アクセス頻度に基づいて、前記第２の記録媒体における各データの記録位置を決定するステップと
を含む、方法。
【請求項１４】
第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記第１の記録媒体に記録された各データについて、当該第１の記録媒体に当該各データが書き込まれた後に当該第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、当該第１の記録媒体から当該各データが読み出された回数を示す第２の情報とを取得する取得部と、
前記取得部により取得された前記第１の情報と前記第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、
前記把握部により把握された前記アクセス頻度に基づいて、前記第２の記録媒体における各データの記録位置を決定する決定部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に記録されたデータの移行のための装置及び方法に関する。特に、本発明は、記録媒体に記録されたデータのその記録媒体又は他の記録媒体への移行を支援する装置及び方法に関する。
【背景技術】
【０００２】
媒体に記録されたデータは、媒体や媒体ドライブ装置の寿命等により、別の新しい媒体へ移行されることがある。また、別の媒体への移行は、運用上の理由、例えば、よりコストパフォーマンスが高い媒体への切り替え等の理由により行われる場合もある。
かかるデータの移行時においては、より多くのアクセスがあるデータをパフォーマンス的に有利な位置に記録することが望ましい。例えば、データオブジェクトのように、複数のデータを１つのデータ群としてアクセスする場合、パフォーマンス的に最も不利な位置に記録されているデータが、データ群全体のパフォーマンスに影響を及ぼす場合があるからである。
【０００３】
従来、媒体に記録されたデータを自身又は他の媒体に移行する場合に、データへのアクセス頻度を考慮することによりパフォーマンスを向上させる技術は知られていた（例えば、特許文献１〜３参照）。
特許文献１では、アクセス頻度の高い論理ボリュームを長時間通電モードのＲＡＩＤグループに、アクセス頻度が中程度の論理ボリュームを第１短時間通電モードのＲＡＩＤグループに、アクセス頻度が少ない論理ボリュームを第２短時間通電モードのＲＡＩＤグループに、それぞれ配置させるべく再配置計画を作成し、ＲＡＩＤグループへのアクセス頻度に基づいて、再配置計画の実行時期を決定している。
【０００４】
特許文献２では、複数のブロックで構成されるファイル単位のアクセス頻度を記憶し、このアクセス頻度が所定値以上でかつ相関関係のある複数のファイルを１つのグループとして抽出し、この抽出された各ファイルの各ブロックのデータを光ディスクから読み出してその光ディスク上の連続するブロック或いは近傍のブロックに順次書込むようにしている。
特許文献３では、テープカセットのカートリッジ内にメモリを設け、このメモリに各パーティション毎のアクセス頻度に関する情報を記録しておき、テープを複製する際には、このアクセス頻度情報を読み取り、アクセス頻度の高い順に、テープの先頭からデータを記録している。
【０００５】
【特許文献１】特開２００７−１６４６５０号公報
【特許文献２】特開平８−２６３３３５号公報
【特許文献３】特開平１１−３１３７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、引用文献１〜３におけるアクセス頻度は、複数のデータを含むデータ群（論理ボリューム、ファイル、パーティション）について記録されるものである。そのデータ群の中には、古くから存在しているデータと、最近作成されたデータとが混在しているかもしれない。そのような作成時期の異なるデータについて時間軸を基準にアクセス頻度を求めたのでは、本当の意味でのアクセス頻度は得られない。従って、引用文献１〜３の技術では、データを移行する際に真のアクセス頻度を考慮してパフォーマンスを向上することはできないという問題点があった。
【０００７】
本発明の目的は、データを移行する際に、時間軸を用いない真のアクセス頻度を考慮してパフォーマンスを向上することにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する装置であって、第１の記録媒体に記録された各データについて、第１の記録媒体に各データが書き込まれた後に第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、第１の記録媒体から各データが読み出された回数を示す第２の情報とを取得する取得部と、取得部により取得された第１の情報と第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、把握部により把握されたアクセス頻度に基づいて、第２の記録媒体における各データの記録位置を決定する決定部とを含む、装置を提供する。
【０００９】
ここで、この装置は、第１の記録媒体から特定のデータが読み出された場合に、各データについて、第１の情報を更新し、特定のデータについて、第２の情報を更新する更新部を更に含む、ものであってよい。その場合、特定のデータは、主データと、主データの付加情報であるメタデータとを含み、更新部は、第１の記録媒体から主データ及びメタデータの少なくとも何れか一方が読み出された場合に、特定のデータが読み出されたと判定する、ものであってよい。
また、第１の情報は、第１の記録媒体に各データが書き込まれた後に第１の記録媒体が記憶装置にマウントされた回数によって、第１の記録媒体に各データが書き込まれた後に第１の記録媒体から何れかのデータが読み出された回数を示す、ものであってよい。
更に、把握部は、第１の情報が示す回数に対する第２の情報が示す回数の比率を、アクセス頻度として把握する、ものであってもよいし、第１の情報が示す回数が所定の範囲にあるデータについて、第２の情報を用いて、アクセス頻度を把握する、ものであってもよい。
また、第２の情報は、各データの読出しの履歴を複数のビット値で表す情報であって、第１の記録媒体からのＭ回のデータの読出しのうち各データが読み出された回数を、複数のビット値のうちＮ（Ｎ＜Ｍ）個のビット値で表す、ものであってよい。
更に、決定部は、アクセス頻度が高いデータが第２の記録媒体における第１の記録位置に記録され、かつ、アクセス頻度が低いデータが第２の記録媒体における第１の記録位置よりもデータの読出しに時間がかかる第２の記録位置に記録されるように、第２の記録媒体における各データの記録位置を決定する、ものであってよい。その場合、第２の記録媒体は、第１の端部から第２の端部へ向けてデータの読出しが開始されるテープ媒体であり、第２の記録位置は、第１の記録位置よりも第２の端部に近い位置である、ものであってもよいし、第２の記録媒体は、第１の端部から第２の端部へ向けてデータの読出しが開始され、かつ、長手方向の少なくとも１つの位置で分割することで形成された複数の領域を有するテープ媒体であり、第１の記録位置は、複数の領域のうちの第１の領域内の位置であり、第２の記録位置は、複数の領域のうち、第１の領域よりも第２の端部に近い第２の領域内の位置である、ものであってもよい。
【００１０】
また、本発明は、記録媒体におけるデータの再配置を支援する装置であって、記録媒体に記録された各データについて、記録媒体に各データが書き込まれた後に記録媒体から何れかのデータが読み出された回数を示す第１の情報と、記録媒体から各データが読み出された回数を示す第２の情報とを取得する取得部と、取得部により取得された第１の情報と第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、把握部により把握されたアクセス頻度に基づいて、記録媒体における各データの記録位置を決定する決定部とを含む、装置も提供する。
【００１１】
また、本発明は、第１のテープ媒体に記録されたデータを第２のテープ媒体に移行する装置であって、第１のテープ媒体に記録され、主データと、主データの付随情報を示すメタデータとを含む各データについて、第１のテープ媒体に各データが書き込まれた後に第１のテープ媒体が何れかのデータの読出しのためにテープドライブにマウントされた回数を示す第１の情報と、第１のテープ媒体から各データが読み出された回数を示す第２の情報とを取得する取得部と、取得部により取得された第１の情報が示す回数に対する第２の情報が示す回数の比率を、各データのアクセス頻度として把握する把握部と、把握部により把握されたアクセス頻度が高いデータから順に第２のテープ媒体に書き込む書込み部とを含む、装置も提供する。
【００１２】
更に、本発明は、第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する方法であって、第１の記録媒体に記録された各データについて、第１の記録媒体に各データが書き込まれた後に第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、第１の記録媒体から各データが読み出された回数を示す第２の情報とを取得するステップと、取得された第１の情報と第２の情報とを用いて、各データのアクセス頻度を把握するステップと、把握されたアクセス頻度に基づいて、第２の記録媒体における各データの記録位置を決定するステップとを含む、方法も提供する。
【００１３】
更にまた、本発明は、第１の記録媒体に記録されたデータの第２の記録媒体への移行を支援する装置としてコンピュータを機能させるプログラムであって、コンピュータを、第１の記録媒体に記録された各データについて、第１の記録媒体に各データが書き込まれた後に第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、第１の記録媒体から各データが読み出された回数を示す第２の情報とを取得する取得部と、取得部により取得された第１の情報と第２の情報とを用いて、各データのアクセス頻度を把握する把握部と、把握部により把握されたアクセス頻度に基づいて、第２の記録媒体における各データの記録位置を決定する決定部として機能させる、プログラムも提供する。
【発明の効果】
【００１４】
本発明によれば、データを移行する際に、時間軸を用いない真のアクセス頻度を考慮してパフォーマンスを向上することができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。尚、本発明は如何なる記録媒体に対しても適用可能であるが、ここでは、テープ媒体（以下、単に「テープ」という）を例にとり説明する。増え続ける大量のデータの全てを高速な記憶装置に保管することが困難になってきている現状において、テープドライブ等の低速な記憶装置に保管するデータに関してもアクセス頻度を考慮したデータの配置が重要となっているからである。
【００１６】
まず、本実施の形態が適用されるディジタルデータアーカイブ装置（以下、単に「アーカイブ装置」という）について説明する。
図１は、本実施の形態が適用されるアーカイブ装置１００の構成例を示した図である。
図示するように、アーカイブ装置１００は、テープドライブ１０と、制御機構３０と、アクセッサ４０と、カートリッジスロット５０とを備える。
このうち、テープドライブ１０は、ホストインターフェイス（以下、「ホストＩ／Ｆ」という）１１と、バッファ１２と、チャネル１３と、書込みヘッド１４ａと、読出しヘッド１４ｂと、モータ１５とを含む。また、コントローラ１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。更に、テープドライブ１０には、テープカートリッジ（以下、単に「カートリッジ」という）２０が挿入されることにより装填可能となっているので、ここでは、カートリッジ２０も図示している。このカートリッジ２０は、リール２１、２２に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向へ、又は、リール２２からリール２１の方向へ、長手方向に移動する。尚、テープ２３としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
【００１７】
また、カートリッジ２０は、カートリッジメモリ２４も含む。このカートリッジメモリ２４は、例えば、テープ２３上にどのようにデータが書かれたかの情報を記録する。そして、例えばＲＦインターフェイスを用いて非接触でテープ２３に書かれたデータのインデックスやテープ２３の使用状況等を調べることにより、データへの高速アクセスを可能としている。尚、図では、このＲＦインターフェイスのようなカートリッジメモリ２４へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス（以下、「ＣＭＩ／Ｆ」という）１９として示している。
【００１８】
ここで、ホストＩ／Ｆ１１は、制御機構３０を介してホスト２００との通信を行う。例えば、ホスト２００から、テープ２３へのデータの書込みを指示するコマンド、テープ２３を目的の位置に移動させるコマンド、テープ２３からのデータの読出しを指示するコマンドを受け取る。尚、このホストＩ／Ｆ１１で用いる通信規格としては、ＳＣＳＩが例示される。ＳＣＳＩの場合、１つ目のコマンドは、Ｗｒｉｔｅコマンドに相当し、２つ目のコマンドは、ＬｏｃａｔｅコマンドやＳｐａｃｅコマンドに相当し、３つ目のコマンドは、Ｒｅａｄコマンドに相当する。また、ホストＩ／Ｆ１１は、ホスト２００に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
【００１９】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読み出されたデータを蓄積するメモリである。例えば、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。また、バッファ１２は、複数のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセットを格納している。
チャネル１３は、テープ２３に書き込むべきデータを書込みヘッド１４ａに送ったり、テープ２３から読み出されたデータを読出しヘッド１４ｂから受け取ったりするために用いられる通信経路である。
書込みヘッド１４ａは、テープ２３が長手方向に移動するとき、テープ２３に対して情報を書き込み、読出しヘッド１４ｂは、テープ２３が長手方向に移動するとき、テープ２３から情報を読み出す。
モータ１５は、リール２１、２２を回転させる。尚、図では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール２１、２２の各々に１つずつ、合計２個設けるのが好ましい。
【００２０】
コントローラ１６は、テープドライブ１０の全体を制御する。例えば、ホストＩ／Ｆ１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読出しを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。
ヘッド位置制御システム１７は、書込みヘッド１４ａ及び読出しヘッド１４ｂが所望の１つ又は複数のラップを追跡するよう制御するシステムである。ここで、ラップとは、テープ２３上の複数のトラックのグループである。ラップを切り換える必要が生じると、書込みヘッド１４ａ及び読出しヘッド１４ｂを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。
モータドライバ１８は、モータ１５を駆動する。尚、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。
【００２１】
また、制御機構３０は、ホスト２００からの指示に応じて、アクセッサ４０及びテープドライブ１０を制御する機構である。即ち、アクセッサ４０に対しては、ホスト２００から指示されたデータを読み出したり書き込んだりできるように、カートリッジ２０をテープドライブ１０に装填するように指示し、テープドライブ１０に対しては、ホスト２００から指示されたデータをアクセッサ４０によって装填されたカートリッジ２０から読み出すように又はカートリッジ２０に書き込むように指示する。
アクセッサ４０は、制御機構３０の制御により、カートリッジ２０をカートリッジスロット５０から取り出してテープドライブ１０に装填する。
カートリッジスロット５０は、読み書きが行われていないカートリッジ２０を保管しておくための場所である。ここでは、カートリッジスロット５０を１つの矩形で示したが、実際には、複数のカートリッジをそれぞれ格納する複数のスロットである。
【００２２】
尚、図では、１台のテープドライブ１０しか示していないが、複数台のテープドライブ１０を設けてもよい。その場合、制御機構３０は、読出し命令又は書込み命令の送り先であるテープドライブ１０の識別情報をアクセッサ４０に伝えることで、そのテープドライブ１０へのカートリッジ２０の装填を指示することになる。また、図では、１つのカートリッジ２０のみ装填可能なテープドライブ１０を示しているが、複数のカートリッジ２０を装填可能なテープドライブ１０を用いてもよい。
【００２３】
ところで、テープドライブ１０によってテープ２３に記録されるデータへのアクセス性能は、テープ２３上の記録位置によって大きく異なってくる。従って、テープ２３にデータを移行する際に、データへのアクセス頻度を考慮しないと、アクセス頻度の高いデータへのアクセス速度が遅くなり、データへのアクセス性能が低下するという問題が生じる。
【００２４】
また、テープドライブ１０を、写真データ、映像データ等のアーカイブとして使用することが多くなっている現状において、データ（主データ）そのものだけでなく、その付加情報であるメタデータも、長期保管されるべきデータとして重要になってきている。ここで、メタデータとしては、例えば写真データに対しては、写真の撮影場所、日時、被写体、撮影者、撮影機器、記録フォーマット、ファイル名、ファイルサイズ等が考えられる。このように、メタデータはデータとの関連が強く一緒に扱われることが多いので、データをアーカイブとしてテープ２３に保管する場合に、メタデータも同じテープ２３上に保管するのであれば、データとメタデータを適切に配置しないと、アクセスのパフォーマンスが低下するという問題が生じる。
【００２５】
そこで、本実施の形態では、テープ２３上に記録された互いに関連するデータのアクセス頻度を記録し、そのアクセス頻度を用いてデータを移行する。これにより、データ移行におけるデータやメタデータ群のパフォーマンス的に適切な配置を実現する。
具体的には、以下のような構成を採用している。
即ち、データとメタデータをdm-idによって関連付けておき、データ又はメタデータへのアクセスが発生する都度、そのdm-idに対応するアクセスカウンタ変数（以下、単に「カウンタ」という）群にアクセス履歴を記録しておく。この場合、カウンタ群へのアクセス履歴の記録は、テープという順次アクセス記録媒体の特性に鑑み、時間を軸とするのではなく、データ読出しのためのテープ２３のマウント回数を軸とすることにより行う。尚、カウンタ群は、テープ２３の可搬性を考え、テープ２３に付属する半導体メモリに記録する。
【００２６】
このようにアクセス履歴を記録した後、ある記録媒体Ａから別の記録媒体Ｂへデータを移行する際には、まず、記録媒体Ａにおけるdm-idによって関連付けられるデータ及びメタデータへのアクセス頻度を、カウンタ群に基づくポリシーに則って算出する。そして、アクセス性能の観点から、アクセス頻度の高い順に記録媒体Ｂ上に再配置する。尚、ここでは、再配置の手法として、関連付けられるデータ及びメタデータを１つのまとまりとしてテープ２３の先頭から順次書き出す手法を採用する。これにより、データ及びメタデータを最初から順次に読み出す場合のアクセス性能を向上させる。
【００２７】
以下、このような動作を実現する構成について詳細に説明する。
その前提として、まず、データ及びメタデータの関連付けについて説明する。
図２は、データとメタデータを関連付けるときの様子を模式的に示した図である。
（ａ）に示すように、まず、ホスト２００は、データとメタデータの関連を任意の識別番号dm-idを割り当てることで作成する。そして、データは、データポートを介して制御機構３０に渡し、メタデータは、メタデータポートを介して制御機構３０に渡す。
【００２８】
次に、制御機構３０では、データポートを介して渡された情報がデータとして扱われ、ＩＤ生成部３１がd-idを生成してデータに割り当てる。ここで、d-idは、データの識別番号であって、少なくともアーカイブ装置１００が動作する環境においてユニークな値である。また、メタデータポートを介して渡された情報がメタデータとして扱われ、ＩＤ生成部３１がm-idを生成してメタデータに割り当てる。ここで、m-idは、メタデータの識別番号であって、少なくともアーカイブ装置１００が動作する環境内においてユニークな値である。尚、データとメタデータは時間的に離れて渡されたとしても、アーカイブ装置１００内でdm-idによってそれらの関係を構築することができる。
【００２９】
これにより、制御機構３０は、dm-idに基づくデータとメタデータの関係をdm-aテーブル（以下、単に「dm-a」という）としてデータベース（ＤＢ）３２に記録する。（ｂ）にdm-aの形式を示す。ここでは、１つのデータに対して１つのメタデータが関連付けられているが、データとメタデータはＭ対Ｎの関係を持つことも可能である（Ｍ，Ｎは自然数）。
加えて、制御機構３０は、データとメタデータのアーカイブ装置１００内での記録場所をdm-lテーブル（以下、単に「dm-l」という）として個々のデータ及びメタデータごとにＤＢ３２に記録する。（ｃ）にdm-lの形式を示す。ここで、アーカイブ装置１００内に複数のストレージ空間が実装され、それらの空間にデータ又はメタデータの複数のコピーが存在する場合、そのコピーの数だけdm-lにエントリが登録されることになる。図では、そのようなエントリをLocation-1、Location-2、…で表している。
【００３０】
ここで、データ及びメタデータの関連付けについて具体例を用いて説明する。
図３は、データ及びメタデータの関連付けの具体例を示した図である。
（ａ）は、媒体名が「A001」の記録媒体に、d-idで識別されるデータとm-idで識別されるメタデータとがdm-idで識別される関連を持って記録されている状態を表している。具体的には、d-idがd3のデータとm-idがm4、m6、m8のメタデータとがdm-idがdm03の関連を持って記録され、d-idがd1のデータとm-idがm1、m7のメタデータとがdm-idがdm01の関連を持って記録され、d-idがd2のデータとm-idがm5のメタデータとがdm-idがdm02の関連を持って記録され、d-idがd5のデータとm-idがm9のメタデータとがdm-idがdm04の関連を持って記録されている。尚、本明細書では、このようにdm-idによって関連付けられたデータとメタデータの組み合わせを「ＤＭ」と呼ぶことにする。
また、（ｂ）は、dm-idがdm03のＤＭの識別子（d-id、m-id）がdm-aにリストされている様子を示している。
【００３１】
ところが、テープ２３へのデータやメタデータの書込みはその準備が整った時点で行われることから、テープ２３上のデータやメタデータの記録順序は一意的には決まらない。
従って、データとメタデータの間の関係がdm-idによって論理的に構築されていても、それらがテープ２３上に記録された際には、テープ２３上の物理的な記録位置は分散する可能性がある。
【００３２】
図４は、このように分散記録されたテープ２３上のデータ及びメタデータの例を示した図である。図示するように、テープ２３上には、複数のラップが存在している。また、図中、白抜きの矢印がデータの書込み方向を示しており、実線の矢印がテープ２３の走行方向が逆転することを示している。
ここでは、まず、ラップ＃０に対して順方向に、m-idがm6のメタデータ、d-idがd3のデータ、m-idがm1のメタデータ、d-idがd1のデータ、m-idがm4のメタデータが書き込まれている。次に、ラップ＃１に対して逆方向に、m-idがm5のメタデータ、d-idがd2のデータが書き込まれている。その後、ラップ＃２に対して再び順方向に、m-idがm7のメタデータ、m-idがm9のメタデータ、d-idがd5のデータ、m-idがm8のメタデータが書き込まれている。
【００３３】
即ち、ある記録媒体に図３（ａ）に示したようなデータとメタデータ群が保管されていたとしても、それらをテープ２３に移行すると、データとメタデータの関連付けに関係なく配置されてしまう可能性がある。この場合、複数回のテープ２３の位置合わせを行わなければ、あるdm-idのＤＭを読み出すことはできないので、テープ２３の位置合わせの分だけアクセス性能が低下することになる。
【００３４】
そこで、本実施の形態では、このように記録されたデータ及びメタデータを移行する際に、データ及びメタデータのアクセス頻度に基づいてそれらを再配置する。
ここでは、各ＤＭに対して、以下の３つのカウンタを定義する。
【００３５】
（１）Read Access Mount カウンタ（Ram-count）
このRam-countは、dm-idごとに定義されるカウンタである。dm-idによって関連付けられたデータ及びメタデータがテープ２３に書かれた時点以降における読出しのためのテープ２３のマウントの回数を保持する。尚、本実施の形態では、データを読み出す必要が生じる都度、そのデータが記録されたテープ２３がテープドライブ１０にマウントされることを想定している。以下、この読出しのためのテープ２３のマウントを「読出しマウント」と呼ぶことにする。
【００３６】
Ram-countをこのように定義すると、最も大きいRam-countを有するdm-idが、最も古くにテープ２３に書かれたデータやメタデータを関連付けるdm-idとなる。また、各dm-idに割り当てられたRam-countを参照することにより、どのデータやメタデータが比較的古いか新しいかということや、そのデータやメタデータへの読出しアクセスの確率も知ることができる。尚、このカウンタは、ラップしないように大きな値を保持できるよう定義すべきだが、もしラップしたら、０にリセットする。
【００３７】
（２）Read Frequency カウンタ（Dm-readfreq）
このDm-readfreqも、dm-idごとに定義されるカウンタである。Ram-countで示される回数の読出しマウントが発生する間にこのdm-idによって関連付けられるデータやメタデータの読出しがどの程度行われてきたかの履歴を保持する。このカウンタは、データ、メタデータの何れかが読み出されることで更新されるものとする。
【００３８】
ここで、例えば、Ram-countの最大値が１６であるとする。つまり、過去１６回の読出しマウントの履歴だけをカウントするものとする。この場合、Dm-readfreqの各ビットによってこのdm-idのデータやメタデータが読み出されたかどうかを表現することにすると、Dm-readfreqは１６ビットで表わされることになる。
ところが、１回の読出しマウントに１ビットを割り当ててしまうと、例えば過去２５６回の読出しマウントの履歴から頻度を量りたいような場合に、３２バイト（＝２５６ビット）分のメモリ領域が必要となってしまう。
【００３９】
そこで、複数回の読出しマウントを１ビットで表す方法を考える。
例えば、８回の読出しマウントを１ビットで表現するようにすると、４バイト（＝２５６ビット／８＝３２ビット）のメモリ領域で済む。尚、このような方法を採用すると、Dm-readfreqとは別に過去８回の読出しマウントのうちのdm-idのデータの読出し回数を保持するDmアクセスカウンタ（後述）が必要となる。
但し、この方法だと、過去８回の読出しマウントでdm-idのデータが１回でも読み出されれば、カウンタは１となる。そのため、８回の読出しマウントにおけるdm-idのデータの読出し回数が８回だったのか１回だったのか分からなくなる。
【００４０】
そこで、複数回の読出しマウントを複数ビットで表す方法を考える。
例えば、８回の読出しマウントを２ビットで表現するようにすると、８バイト（＝２５６ビット／８×２＝３２ビット×２）のメモリ領域が必要となる。尚、この場合も、Dm-readfreqとは別に過去８回の読出しマウントのうちのdm-idのデータの読出し回数を保持するDmアクセスカウンタ（後述）が必要となる。
この方法では、２ビットを使って、例えば以下の頻度を表現することができる。
“00”：アクセスなし
“01”：１回から２回
“10”：３回から５回
“11”：６回から８回
この定義は頻度算定のポリシーによって変更することも可能である。
【００４１】
（３）Dmアクセス・カウンタ（Dm-count）
このDm-countは、上述のDm-readfreqにおいて、Ｍ回の読出しマウントを一単位としてＮ（＜Ｍ）ビットで表現する場合に、Ｍ回の読出しマウントのうちこのdm-idのＤＭが読み出された回数を保持するカウンタである。
例えば、過去８回の読出しマウントを一単位とした場合、８回全ての読出しマウントでこのdm-idのデータが読み出されれば、Dm-countは８となる。また、２回読み出されれば、Dm-countは２となる。
尚、読出しマウントの一単位、例えば８回テープ２３に読出しマウントがあれば、Dm-countは０にリセットされる。ここで、８回という一単位を数えるためには、上述のRam-countを使う。即ち、８の倍数の回数の読出しマウントがあると、Dm-countをリセットする。
【００４２】
さて、これら３つのカウンタを用いると、次のような情報を得ることができる。
・過去Ｘ回のテープ２３への読出しマウントのうち、対象のdm-idのＤＭが読み出された頻度
・対象のdm-idのＤＭが読み出された回数
・過去Ｘ回のテープ２３への読出しマウントのうち、対象のdm-idのＤＭが読み出された回数に基づいて算出されるアクセス確率
・Ｘ回の読出しマウントにおけるアクセスの傾向、つまり、最近アクセスが多いのか、過去にアクセスが多いのか
【００４３】
一般には、データへのアクセス頻度を語る場合、時間軸が考慮される。しかしながら、テープのようなリムーバル記録媒体においては、記憶装置から排出されている場合や、記憶装置の中でもテープへのアクセスがない場合は、ある意味「時間が止まった」状態になる。従って、本実施の形態では、時間軸を考慮に入れる代わりに、テープが読出し目的でマウントされたという実例を軸としている。
【００４４】
これら３つのカウンタのサイズを確定する要素は以下の通りである。
・過去何回の読出しマウントを対象とするか
・何回の読出しマウントを何ビットで表現するか
例えば、上記で示した通り、過去２５６回の読出しマウントをアクセス頻度を量る対象とする場合、Ram-countは１バイトとなる。
また、８回の読出しマウントを一単位とし、それを２ビットで表現する場合、Dm-readfreqは８バイトとなり、Dm-countは４ビットとなる。
【００４５】
図５に、この場合の３つのカウンタについて示す。
ここでは、各dm-idに対して３つのカウンタを設けているので、dm-idも示している。
但し、上記でdm-idに割り当てるビット数は規定していないので、単純に１つの矩形で表している。
一方、３つのカウンタに割り当てるビット数は規定したので、１つのビットを１つの細長い矩形に対応付けて表している。具体的には、Ram-countは８ビットなので、８つの矩形で表している。Dm-countは４ビットなので、８つの矩形を示し、そのうち４つには網かけを施すことで未使用であることを示している。Dm-readfreqは６４ビットなので、６４個の矩形で表している。また、特に、このDm-readfreqにおいては、８回の読出しマウントを一単位として２ビットで表していることから、右端の２ビットを例として、その意味付けも示している。
【００４６】
そして、これら３つのカウンタの値は、dm-idごとにdmアクセスカウンタテーブルに記録されていく。
図６に、dmアクセスカウンタテーブルの一例を示す。
図において、Ram-countの欄には、dm-idが「dm01」のＤＭが書かれてから２１５回の読出しマウントがあったこと、dm-idが「dm02」のＤＭが書かれてから２４回の読出しマウントがあったこと、dm-idが「dm03」のＤＭが書かれてから１３回の読出しマウントがあったこと、dm-idが「dm04」のＤＭが書かれてから１５６回の読出しマウントがあったこと、dm-idが「dm05」のＤＭが書かれてから７９回の読出しマウントがあったことが示されている。
【００４７】
また、Dm-countの欄には、dm-idが「dm01」のＤＭ及びdm-idが「dm02」のＤＭが過去８回の読出しマウントのうち１回も読み出されていないこと、dm-idが「dm03」のＤＭが過去８回の読出しマウントのうち４回読み出されたこと、dm-idが「dm04」のＤＭが過去８回の読出しマウントのうち１回読み出されたこと、dm-idが「dm05」のＤＭが過去８回の読出しマウントのうち７回読み出されたことが示されている。そして、これらの回数は、Dm-readfreqの右端の２ビットに反映されている。
【００４８】
更に、Dm-readfreqの欄には、８ビットでＤＭの読出しを示している。８回の読出しマウントにおけるＤＭの読出し回数を２ビットで表しているので、図では、２５回から３２回の読出しマウントにおけるＤＭの読出し回数が示されていることなる。尚、Dm-readfreqのビット列の左側の「. . . . .」は、ビット値が省略されていることを示している。また、dm-id「dm02」については、Ram-countが２４なので、Dm-readfreqは６ビットで十分であり、dm-id「dm03」については、Ram-countが１３なので、Dm-readfreqは４ビットで十分であるが、この場合も、左側を０のビット列で埋めて８ビットで示している。
【００４９】
次に、これら３つのカウンタの更新について具体例により説明する。
図７は、テープドライブ１０がWriteコマンドやReadコマンドを受けることにより、カートリッジ２０に記憶された各カウンタがどのように更新されるかを示した図である。尚、これまでの説明では言及しなかったが、ここではTotal Readカウンタについても示している。このTotal Readカウンタは、dm-idごとではなく、テープ２３ごとのカウンタであり、テープ２３が読出しのためにマウントされると更新されるカウンタである。一方で、この図では、Dm-readfreqについては省略している。また、この図において、Ｄ１〜Ｄ３は、ＤＭを一般化し、データとして示したものである。
【００５０】
まず、Ａに示すように、Ｄ１を対象とするWriteコマンドが送られてきたとする。この場合のTotal Readカウンタは０であるとする。また、Ｄ１のRam-countとDm-countは作成されるが、その値は０である。
次に、Ｂに示すように、Ｄ１を対象とするReadコマンドが送られてきたとする。この場合、Total Readカウンタは１となる。また、Ｄ１のRam-countとDm-countも１となる。
次いで、Ｃに示すように、Ｄ１を対象とするReadコマンドが送られてきたとする。この場合、Total Readカウンタは２となる。また、Ｄ１のRam-countとDm-countも２となる。
【００５１】
また、Ｄに示すように、Ｄ２を対象とするWriteコマンドが送られてきたとする。この場合、Total Readカウンタは２のままで、Ｄ１のRam-countとDm-countも２のままである。また、Ｄ２のRam-countとDm-countは作成されるが、その値は０である。
次に、Ｅに示すように、Ｄ１を対象とするReadコマンドが送られてきたとする。この場合、Total Readカウンタは３となる。また、Ｄ１のRam-countも３となり、Ｄ１が読み出されたので、Ｄ１のDm-countも３となる。一方、Ｄ２のRam-countは１となるが、Ｄ２が読み出されたわけではないので、Ｄ２のDm-countは０のままである。
次いで、Ｆに示すように、Ｄ２を対象とするReadコマンドが送られてきたとする。この場合、Total Readカウンタは４となる。一方、Ｄ１のRam-countは４となるが、Ｄ１が読み出されたわけではないので、Ｄ１のDm-countは３のままである。また、Ｄ２のRam-countは２となり、Ｄ２が読み出されたので、Ｄ２のDm-countは１となる。
【００５２】
その後、Ｇ、Ｈ、ＩでWriteコマンド及びReadコマンドが送られてきた場合も、上記と同様に、Total Readカウンタ、Ｄ１、Ｄ２、Ｄ３のRam-count、Dm-countは更新される。
【００５３】
次に、データ及びメタデータを別のテープ２３に移行するときのアクセス頻度に基づく再配置について説明する。
テープ２３上のデータ及びメタデータを別のテープ２３（又はそのテープ２３自身）に移行（migration）する場合、図６に示したdmアクセスカウンタテーブルでアクセス頻度が高いものから、テープ２３上のアクセス性能上有利な場所にそのdm-idに対応するデータ及びメタデータを記録する。
【００５４】
このアクセス頻度の決定方法としては、Dm-count／Total Readカウンタを計算することによる方法が最も基本的である（以下、この決定方法を「基本的方法」と呼ぶことにする）。しかしながら、この基本的方法でアクセス頻度を求めると、ＤＭがどの時点でテープ２３に書かれたかによって結果にぶれが生じる。例えば、テープ２３に最初に書かれたＤＭと既にRam-countが１００になった後に書かれたＤＭとでは単純に比較できない。
そこで、本実施の形態では、次のようなアクセス頻度の決定方法を採用する。
【００５５】
（第１の決定方法）
第１の決定方法は、Dm-count／Ram-countを計算することにより、ＤＭに対する相対的なアクセス頻度を導き出す方法である。
これを図６に示した例で説明する。但し、ここでは、図６のDm-readfreqの省略部分「. . . . .」には、０のビット値の並びが存在しているものと仮定する。
まず、基本的方法を用いた場合、Total Readカウンタが２５０とすると、dm01のアクセス頻度は０．０２（＝５／２５０）、dm02のアクセス頻度は０、dm03のアクセス頻度は０．０１２（＝３／２５０）、dm04のアクセス頻度は０．０１６（＝４／２５０）、dm05のアクセス頻度は０．０１６（＝４／２５０）となる。即ち、dm01、dm05、dm04、dm03、dm02の順にアクセス頻度が高くなっている（ポイントが同じ場合は、より最近のアクセス回数が多い方をアクセス頻度が高いと定義している）。
一方、第１の決定方法を用いた場合、dm01のアクセス頻度は０．０２３（＝５／２１５）、dm02のアクセス頻度は０、dm03のアクセス頻度は０．２３１（＝３／１３）、dm04のアクセス頻度は０．０２６（＝４／１５６）、dm05のアクセス頻度は０．０５１（＝４／７９）となる。即ち、dm03、dm05、dm04、dm01、dm02の順にアクセス頻度が高くなっており、基本的方法を用いた場合とは順序が異なっている。
【００５６】
（第２の決定方法）
第２の決定方法は、各ＤＭについて保持したRam-countを、アクセス頻度を算出するＤＭのクライテリアとする方法である。
例えば、最近書かれたＤＭをアクセス頻度を算出する対象から除外するような場合が考えられる。この場合は、Ram-countが例えば３以下のＤＭを除外するとよい。
また、過去のカートリッジの読出しマウントを何回目から何回目というように限定して、即ち、ある期間に限定して、ＤＭへのアクセス頻度を量りたい場合も考えられる。この場合は、例えば、アクセス頻度を算出する対象のＤＭを、Ram-countが１００から７０のものに限定する。そして、読出しマウントの１００回目から７０回目に当たるＤＭへのアクセス回数をDm-readfreqから算出し、それらを比較して頻度の高い順に並べるとよい。
尚、この第２の決定方法で考慮されるRam-countの範囲は、アクセス頻度を把握する対象を限定するための所定の範囲の一例である。
【００５７】
このようにしてアクセス頻度が算出されると、テープドライブ１０は、このアクセス頻度に基づいて、あるテープから別のテープへデータを移行する。
図８は、データ移行後のテープ２３上のデータ及びメタデータの例を示した図である。ここでも、図４と同様、テープ２３上には、複数のラップが存在しており、白抜きの矢印がデータの書込み方向を、実線の矢印がテープ２３の走行方向が逆転することをそれぞれ示している。また、この例では、アクセス頻度が高い方から、dm02、dm03、dm01、dm04であるとする。
ここでは、まず、ラップ＃０に対して順方向に、dm-idがdm02のＤＭが、メタデータ、データの順に書き込まれている。次に、ラップ＃１に対して逆方向に、dm-idがdm03のＤＭのうちメタデータが書き込まれている。その後、ラップ＃２に対して再び順方向に、dm-idがdm04のＤＭのうちデータが書き込まれ、dm-idがdm04のＤＭが、メタデータ、データの順に書き込まれている。
即ち、データの移行後は、図４の例とは異なり、データ及びメタデータは、図３に示した論理的な関連付けごとに記録されている。これにより、データ及びメタデータをテープ２３から順次に読み出していく場合に、不必要なテープ２３の位置合わせをする必要がないので、アクセス性能が向上する。
【００５８】
このようなデータの移行方法では、本実施の形態で算出されるアクセス頻度によってデータが配置されるので、真にアクセス頻度の高いデータへのアクセス時間が短縮される。
また、移行前のテープ２３に分散して配置されていたデータ及びメタデータをある規則で（本実施の形態では、順に）再配置することにより、データ及びメタデータのアクセス性能を高めることができる。
ディジタルデータのアーカイブシステム等では、大量のデータを保管するための階層化ストレージの実装形式として、テープ２３を２次、３次ストレージとして用いる形式を採用することがある。その場合、アーカイブといえどもアクセス頻度の高いデータは存在し、実際にアクセスされることが前提である。本実施の形態は、それらのデータへのアクセス性能の向上にも寄与するものである。
【００５９】
ところで、上記では、移行元のテープ２３に分散して配置されていたデータ及びメタデータをdm-idごとに順次に移行先のテープ２３に記憶していった。しかしながら、移行先のテープ２３における配置方法は、これに限られるものではない。
以下、他の配置方法について説明する。尚、ここで述べる配置方法は、データをテープ２３上で再配置する際に、テープという媒体の特性を考えて、テープ２３のマウント後に短時間でアクセスできる位置にアクセス頻度が高いデータを配置するものである。
【００６０】
まず、テープ記憶装置の特性として、データを読み込むために次のような準備動作を行う点が挙げられる。
１．カートリッジを記憶装置にマウントする。
２．読み込むべきデータが記憶されている先頭の位置にテープ２３の位置を合わせる。
即ち、カートリッジがマウントされた直後において、記憶装置のヘッドはテープ２３の先頭に位置付けられることになる。従って、テープ２３の先頭に近い位置に配置されたデータの方がテープ２３の終端に近い位置に配置されたデータよりもアクセス速度が速いと言える。なぜなら、テープ２３の終端の近くにデータが記録されている場合、テープ２３をそこまで走らせて位置合わせをする必要があるからである。
【００６１】
図９（ａ）に、ＬＴＯ（Linear Tape-Open）規格に準拠したテープ２３上での通常のデータの読み書きについて示す。
まず、矢印２０１で示すようにラップ＃０に右方向にデータの読み書きを行った後、矢印２０２で示すようにテープ２３の走行方向を逆転する。次に、ラップ＃１に左方向にデータの読み書きを行った後、矢印２０３で示すようにテープ２３の走行方向を逆転する。更に、ラップ＃２に右方向にデータの読み書きを行った後、矢印２０４で示すようにテープ２３の走行方向を逆転する。そして、最後は矢印２０５で示すようにラップ＃５５に左方向にデータの読み書きを行う。
【００６２】
このように、ＬＴＯでは、テープ２３上に複数定義されているラップと呼ばれるデータ記憶域をテープ２３の先頭から終端まで往復しながら、データの読み書きを行う。順次読み書きを行う場合は、このようにラップ上を往復するが、テープ２３の幅方向にヘッドを移動させてラップを切り替える機械的動作は短時間で終了するので、このようなＬＴＯフォーマットにおいても、テープ２３の先頭に近い位置の方がテープ２３の終端に近い位置よりも短時間でアクセスできる。
従って、テープ２３の先頭に近い側にアクセス頻度が高いデータを配置し、テープ２３の終端に近い側にアクセス頻度が低いデータを配置するという配置方法が好ましい。ここで、テープ２３の先頭は第１の端部の一例であり、テープ２３の終端は第２の端部の一例である。
【００６３】
また、テープ記憶装置によっては、セグメンテーションという機能が実装されているものがある。セグメンテーションとは、テープ２３を複数のセグメントに分割し、最初のセグメントから順次データを書いていく手法である。ここで、セグメントは、長手方向の少なくとも１つの位置で分割することで形成された複数の領域の一例である。
図９（ｂ）に、セグメンテーションを利用した場合のデータの読み書きについて示す。
まず、矢印２１１で示すようにラップ＃０のセグメント＃１の部分に右方向にデータの読み書きを行った後、矢印２１２で示すようにテープ２３の走行方向を逆転する。次に、ラップ＃１のセグメント＃１の部分に左方向にデータの読み書きを行った後、矢印２１３で示すようにテープ２３の走行方向を逆転する。更に、ラップ＃２のセグメント＃１の部分に右方向にデータの読み書きを行った後、矢印２１４で示すようにテープ２３の走行方向を逆転する。そして、矢印２１５で示すようにラップ＃５５のセグメント＃１の部分に左方向にデータの読み書きを行う。
【００６４】
その後、矢印２２０で示すように、ヘッドの位置をラップ＃０のセグメント＃２の部分に移動する。そして、矢印２２１で示すようにラップ＃０のセグメント＃２の部分に右方向にデータの読み書きを行った後、矢印２２２で示すようにテープ２３の走行方向を逆転する。次に、ラップ＃１のセグメント＃２の部分に左方向にデータの読み書きを行った後、矢印２２３で示すようにテープ２３の走行方向を逆転する。更に、ラップ＃２のセグメント＃２の部分に右方向にデータの読み書きを行った後、矢印２２４で示すようにテープ２３の走行方向を逆転する。そして、最後は矢印２２５で示すようにラップ＃５５のセグメント＃２の部分に左方向にデータの読み書きを行う。
【００６５】
このように、セグメント＃１の方が、セグメント＃２よりもアクセス速度が速い。３つ以上のセグメントを設けたとすると、一般に、テープ２３の先頭に近いセグメントの方が、テープ２３の終端に近いセグメントよりもアクセス速度が速いと言える。
従って、この特性を利用して、データをテープ２３に移行する際に、アクセス頻度の高いデータ及びメタデータをテープ２３の先頭に近いセグメントに配置し、アクセス頻度の低いデータ及びメタデータをテープ２３の終端に近いセグメントに配置するのが好ましい。ここで、テープ２３の先頭に近いセグメントは第１の領域の一例であり、テープ２３の終端に近いセグメントは第２の領域の一例である。
【００６６】
図１０は、セグメンテーションを利用したデータ移行後のテープ２３上のデータ及びメタデータの例を示した図である。ここでも、図４と同様、テープ２３上には、複数のラップが存在しており、白抜きの矢印がデータの書込み方向を、実線の矢印がテープ２３の走行方向が逆転することをそれぞれ示している。また、この例でも、アクセス頻度が高い方から、dm02、dm03、dm01、dm04であるとする。
ここでは、まず、ラップ＃０のセグメント＃１の部分に対して順方向に、dm-idがdm02のＤＭが、メタデータ、データの順に書き込まれている。次に、ラップ＃１のセグメント＃１の部分に対して逆方向に、dm-idがdm02のＤＭのうちのデータの残りの部分が書き込まれている。その後、ラップ＃２のセグメント＃１の部分に対して再び順方向に、dm-idがdm03のＤＭが、メタデータ、データの順に書き込まれている。尚、d-idがd3のデータに続きがある場合は、図示しないが、ラップ＃３のセグメント＃１の部分に書き込まれる。
【００６７】
その後、ラップ＃０のセグメント＃２の部分に対して順方向に、dm-idがdm01のＤＭが、メタデータ、データの順に書き込まれている。次に、ラップ＃１のセグメント＃２の部分に対して逆方向に、dm-idがdm04のＤＭが、メタデータ、データの順に書き込まれている。
即ち、データの移行後は、図４の例とは異なり、データ及びメタデータは、図３に示した論理的な関連付けごとに記録されている。これにより、データ及びメタデータをテープ２３から順次に読み込んでいく場合に、不必要なテープ２３の位置合わせをする必要がないので、アクセス性能が向上する。
【００６８】
尚、ここでは、データの移行先のテープ２３を１つとしたが、複数のテープ２３を移行先としてもよい。その場合は、１つ目のテープ２３のセグメント＃１を使い、それを使い切ったら２つ目のテープ２３のセグメント＃１を使い、それを使い切ったら３つ目のテープ２３のセグメント＃１を使い、これを移行先の全てのテープ２３のセグメント＃１を使い切るまで繰り返す。そして、移行先の全てのテープ２３のセグメント＃１を使い切ると、１つ目のテープ２３から順にセグメント＃２を使うようにするとよい。
【００６９】
このように、移行先のテープ２３を複数用意することによって、より大きな記憶空間を提供でき、アクセス性能が高いセグメント＃１に書き込めるデータやメタデータの量を増やすことが可能となる。即ち、短時間でアクセス可能なデータ、メタデータの量が増えることになる。
また、この手法では、移行先のテープ２３の本数とセグメント定義の仕方を変更することで、移行元のテープ２３上のデータのアクセス頻度に応じた記憶空間の提供ができる。例えば、アクセス頻度の高いデータが少ない場合は、最初のセグメントをテープ２３の先頭よりに定義すればよい。また、アクセス頻度の高いデータが多い場合は、移行先のテープ２３を多くしたり、必要に応じて最初のセグメントを大きく定義したりすることが考えられる。更に、アクセス頻度にばらつきがある場合は、セグメントの数を増やして、頻度ごとにデータをグルーピングしてそれぞれのセグメントに書き込むようにすることが考えられる。
【００７０】
このようなデータの移行方法では、本実施の形態で算出されるアクセス頻度によってデータが配置されるので、真にアクセス頻度の高いデータへ個別にアクセスが行われる場合のアクセス性能が向上する。
ディジタルデータのアーカイブシステム等では、大量のデータを保管するための階層化ストレージの実装形式として、テープ２３を２次、３次ストレージとして用いる形式を採用することがある。その場合、アーカイブといえどもアクセス頻度の高いデータは存在し、実際にアクセスされることが前提である。本実施の形態は、それらのアーカイブされたデータが個別にアクセスされる状況下で、過去のアクセス頻度が高かったデータのアクセス性能の向上にも寄与するものである。
【００７１】
尚、上記では、データ及びメタデータを読み出す場合のアクセス性能に着目して、データ及びメタデータの配置方法について考えてきた。しかしながら、データ及びメタデータを読み出す場合のアクセス性能に拘らない配置方法を採用してもよい。
【００７２】
次に、これまでに述べてきたような動作を行うテープドライブ１０について詳細に説明する。尚、ここでは、dmアクセスカウンタテーブルはカートリッジメモリ２４に記憶されているものとする。また、図１では１つのカートリッジ２０のみを装填可能なテープドライブ１０を示したが、ここでは２つのカートリッジ２０を装填可能なテープドライブ１０を想定し、一方のカートリッジ２０から他方のカートリッジ２０へのデータの移行を、カートリッジ２０を入れ替えることなく１つのテープドライブ１０で行うことができるものとする。
【００７３】
図１１は、テープドライブ１０のコントローラ１６の機能構成例を示したブロック図である。
図示するように、コントローラ１６は、コマンド処理部６１と、バッファ管理部６２と、チャネル入出力部６３と、カートリッジメモリ入出力部（以下、「ＣＭ入出力部」という）６４と、頻度算出部６５と、移行制御部６６と、ヘッド位置管理部６７と、テープ走行管理部６８とを備える。
【００７４】
このうち、コマンド処理部６１は、ホストＩ／Ｆ１１からコマンドを受け取る。ここで、コマンドとしては、バッファ１２にデータを格納することを指示するＷｒｉｔｅコマンド、バッファ１２に格納されたデータをテープ２３に書き込むことを指示する同期コマンド、テープ２３からデータを読み出すことを指示するＲｅａｄコマンド等がある。
【００７５】
バッファ管理部６２は、コマンド処理部６１がＷｒｉｔｅコマンドを受け取った場合は、データをバッファ１２内に用意する。また、コマンド処理部６１が同期コマンドを受け取った場合は、データをバッファ１２から読み出してチャネル入出力部６３に出力する。更に、コマンド処理部６１がＲｅａｄコマンドを受け取った場合は、対象となるデータがバッファ１２内になければチャネル入出力部６３に対してそのデータを読み出すように指示し、対象となるデータがバッファ１２内にあればそのデータをコマンド処理部６１を介してホスト２００に返す。
【００７６】
チャネル入出力部６３は、バッファ管理部６２がバッファ１２から読み出したデータをチャネル１３に出力したり、チャネル１３から受け取ったデータをバッファ管理部６２に出力したりする。
【００７７】
ＣＭ入出力部６４は、カートリッジメモリ２４に記憶されたdmアクセスカウンタテーブルにＣＭＩ／Ｆ１９を介して情報を書き込んだり、dmアクセスカウンタテーブルからＣＭＩ／Ｆ１９を介して情報を読み出したりする。本実施の形態では、第１の記録媒体に各データが書き込まれた後に第１の記録媒体から何れかのデータが読み出された回数を示す第１の情報と、第１の記録媒体から各データが読み出された回数を示す第２の情報とを取得する取得部の一例として、また、第１の情報と第２の情報とを更新する更新部の一例として、ＣＭ入出力部６４を設けている。
【００７８】
頻度算出部６５は、ＣＭ入出力部６４が読み出した情報に基づいて、各ＤＭに対するアクセス頻度を算出する。本実施の形態では、各データのアクセス頻度を把握する把握部の一例として、頻度算出部６５を設けている。
移行制御部６６は、頻度算出部６５が算出したアクセス頻度に基づいて、データの移行を制御する。即ち、アクセス頻度が高いdm-idの順に、移行元のテープ２３からデータ及びメタデータを読み出して移行先のテープ２３に書き込むよう、バッファ管理部６２に指示する。このように、アクセス頻度が高いdm-idに対応するデータ及びメタデータから順次移行先のテープ２３に書き込むので、移行制御部６６は、移行先のテープ２３上のデータ及びメタデータの位置を決定していると言うことができる。つまり、本実施の形態では、第２の記録媒体における各データの記録位置を決定する決定部の一例として、移行制御部６６を設けている。
【００７９】
ヘッド位置管理部６７は、テープ２３に対する書込みヘッド１４ａ及び読出しヘッド１４ｂの位置をテープ２３の幅方向へオフセットさせる信号をヘッド位置制御システム１７に出力する。また、書込みヘッド１４ａ及び読出しヘッド１４ｂのテープ２３上の幅方向における現在位置に関する情報を取得する。
テープ走行管理部６８は、テープ２３を順方向に走行させるための信号や、テープ２３を逆方向に走行させるための信号をモータドライバ１８に出力する。
【００８０】
次に、本実施の形態におけるテープドライブ１０の動作について詳細に説明する。
まず、ホスト２００からＷｒｉｔｅコマンドが送られてきた場合のテープドライブ１０の動作について説明する。
ホスト２００は、データとメタデータを関連付けるdm-idを伴うＷｒｉｔｅコマンドをアーカイブ装置１００に送ってくる。すると、アーカイブ装置１００では、制御機構３０が、このデータを識別するd-idと、このメタデータを識別するm-idとを生成し、dm-idとd-idとm-idとを関連付けてdm-aとして登録する。また、データとメタデータを書き込むカートリッジ２０を決定し、d-idとm-idとカートリッジ２０とを関連付けてdm-lとして登録し、そのカートリッジ２０をテープドライブ１０に装填するようアクセッサ４０に指示する。そして、制御機構３０は、dm-id、d-id、m-id、データ、メタデータを伴うＷｒｉｔｅコマンドをテープドライブ１０に送る。これにより、テープドライブ１０の動作が開始する。
【００８１】
図１２は、このときのテープドライブ１０のコントローラ１６の動作例を示したフローチャートである。
コントローラ１６では、まず、コマンド処理部６１が、ホストＩ／Ｆ１１を介してdm-id、d-id、m-id、データ、メタデータを伴うＷｒｉｔｅコマンドを受け取る（ステップ６０１）。このとき、dm-id、d-id、m-id、データ、メタデータは、バッファ管理部６２に渡され、バッファ管理部６２によってバッファ１２に蓄積される。
【００８２】
次に、コントローラ１６は、データとメタデータを、テープドライブ１０に装填されたカートリッジ２０のテープ２３に書き込む（ステップ６０２）。
具体的には、バッファ管理部６２から指示を受けたヘッド位置管理部６７がヘッド位置制御システム１７を制御して書込みヘッド１４ａのテープ２３の幅方向における位置合わせを行うと共に、バッファ管理部６２から指示を受けたテープ走行管理部６８がモータドライバ１８を制御してテープ２３を走行させる。一方で、バッファ管理部６２がバッファ１２からデータ及びメタデータを読み出してチャネル入出力部６３に渡し、チャネル入出力部６３がチャネル１３を介してデータ及びメタデータを書込みヘッド１４ａに出力する。
尚、このとき、チャネル入出力部６３は、テープ２３上のデータ及びメタデータの長手方向の記憶位置の情報をサーボヘッドからチャネル１３を介して受け取り、ヘッド位置管理部６７は、テープ２３上のデータ及びメタデータの幅方向の記憶位置の情報をヘッド位置制御システム１７から受け取る。そして、これらの記録位置の情報はバッファ管理部６２に渡され、バッファ管理部６２が、バッファ１２から読み出したd-idとm-idとこれらの記録位置の情報をＣＭ入出力部６４に出力する。そして、ＣＭ入出力部６４が、d-idとデータの記録位置との対応情報、及び、m-idとメタデータの記録位置との対応情報をＣＭＩ／Ｆ１９を介してカートリッジメモリ２４に書き込む。これにより、d-idをキーとしたデータの読出し、m-idをキーとしたメタデータの読出しが可能となる。
【００８３】
その後、コントローラ１６は、カートリッジメモリ２４に記憶されたdmアクセスカウンタテーブルにdm-idに対応するエントリを作成する（ステップ６０３）。
具体的には、バッファ管理部６２がバッファ１２からdm-idを読み出してＣＭ入出力部６４に渡し、ＣＭ入出力部６４がdm-idを含むレコードをＣＭＩ／Ｆ１９を介してカートリッジメモリ２４に書き込む。
【００８４】
次いで、ホスト２００からＲｅａｄコマンドが送られてきた場合のテープドライブ１０の動作について説明する。尚、ここでは、ホスト２００からデータ及びメタデータの読出し要求がある都度、読出し対象のカートリッジ２０がテープドライブ１０にマウントされるものとする。
ホスト２００は、dm-idを伴うＲｅａｄコマンドをアーカイブ装置１００に送ってくる。すると、アーカイブ装置１００では、制御機構３０が、dm-idに関連付けられたd-idとm-idをdm-aに基づいて特定する。また、d-idとm-idに関連付けられたカートリッジ２０をdm-lに基づいて特定し、そのカートリッジ２０をテープドライブ１０に装填するようアクセッサ４０に指示する。そして、制御機構３０は、dm-id、d-id、m-idを伴うＲｅａｄコマンドをテープドライブ１０に送る。これにより、テープドライブ１０の動作が開始する。
【００８５】
図１３は、このときのテープドライブ１０のコントローラ１６の動作例を示したフローチャートである。
コントローラ１６では、まず、コマンド処理部６１が、ホストＩ／Ｆ１１を介してdm-id、d-id、m-idを伴うＲｅａｄコマンドを受け取る（ステップ６２１）。このとき、dm-id、d-id、m-idは、バッファ管理部６２に渡される。
【００８６】
次に、コントローラ１６は、d-idに対応するデータと、m-idに対応するメタデータとを、テープドライブ１０に装填されたカートリッジ２０のテープ２３から読み出す（ステップ６２２）。
具体的には、バッファ管理部６２から指示を受けたヘッド位置管理部６７がヘッド位置制御システム１７を制御して読出しヘッド１４ｂのテープ２３の幅方向における位置合わせを行うと共に、バッファ管理部６２から指示を受けたテープ走行管理部６８がモータドライバ１８を制御してテープ２３を走行させる。一方で、読出しヘッド１４ｂが読み出したデータ及びメタデータをチャネル入出力部６３がチャネル１３を介して取得してバッファ管理部６２に渡し、バッファ管理部６２がデータ及びメタデータをバッファ１２に蓄積する。そして、バッファ１２に蓄積されたデータ及びメタデータは、ホスト２００に送信される。
【００８７】
その後、コントローラ１６は、カートリッジメモリ２４に記憶されたdmアクセスカウンタテーブルの更新処理を行う。この更新処理は、ＣＭ入出力部６４がカートリッジメモリ２４からＣＭＩ／Ｆ１９を介して自身のメモリ領域にdmアクセスカウンタテーブルを読み込むことにより開始する。
更新処理において、まず、ＣＭ入出力部６４は、dmアクセスカウンタテーブルから１レコードを読み込む（ステップ６２３）。そして、読み込んだレコードに含まれるRam-countが８の倍数であるかどうかを判定する（ステップ６２４）。その結果、Ram-countが８の倍数であれば、今回の読出しマウントから８回を一単位とした新たな読出しマウントの単位が始まる。そこで、Dm-countに０を代入することによって初期化し、Dm-readfreqに右端に“００”を付加する（ステップ６２５）。一方、Ram-countが８の倍数でなければ、そのまま次の処理へ進む。
【００８８】
次に、ＣＭ入出力部６４は、読み込んだレコードに含まれるRam-countに１を加算する（ステップ６２６）。そして、読み込んだレコードに含まれるdm-idが、Ｒｅａｄコマンドで指定されたdm-idと一致するかどうかを判定する（ステップ６２７）。その結果、dm-idが一致すれば、Dm-countに１を加算し、その結果に応じて、Dm-readfreqの右端の２ビットを更新する（ステップ６２８）。例えば、Dm-countの値とDm-readfreqの２ビットとの関係が図５に示したようなものであるとする。この場合、１を加算した後のDm-countが０であれば、Dm-readfreqの右端の２ビットが“００”となるように更新し、１を加算した後のDm-countが１又は２であれば、Dm-readfreqの右端の２ビットが“０１”となるように更新し、１を加算した後のDm-countが３〜５であれば、Dm-readfreqの右端の２ビットが“１０”となるように更新し、１を加算した後のDm-countが６〜８であれば、Dm-readfreqの右端の２ビットが“１１”となるように更新する。尚、Dm-countの値に応じたDm-readfreqの更新の規則は、プログラムに直接コーディングしておいてもよいし、プログラム外部のテーブルに定義しておき、プログラムがテーブルを参照することで取得してもよい。
【００８９】
その後、ＣＭ入出力部６４は、dmアクセスカウンタテーブルから読み込んだレコードが最後のレコードであるかどうかを判定する（ステップ６２９）。そして、最後のレコードでなければ、次のレコードについて、ステップ６２３〜６２８の処理を繰り返す。また、最後のレコードであれば、処理を終了する。
【００９０】
このようにしてdmアクセスカウンタテーブルが更新された後の任意の時点で、テープドライブ１０は、データ移行に関する処理を行う。
図１４は、このときのテープドライブ１０のコントローラ１６の動作例を示したフローチャートである。尚、ここでは、移行先のテープ２３において、データ及びメタデータを図１０に示したように配置することを前提に説明する。
【００９１】
テープドライブ１０では、まず、ＣＭ入出力部６４がカートリッジメモリ２４からＣＭＩ／Ｆ１９を介してdmアクセスカウンタテーブルを読み込み、頻度算出部６５に受け渡す（ステップ６４１）。
すると、頻度算出部６５は、上述した第１の決定方法又は第２の決定方法を用いてdm-idごとのアクセス頻度を算出し、アクセス頻度が高い順にdmアクセスカウンタテーブルのレコードを並べ替え、並べ替え後のdmアクセスカウンタテーブルを移行制御部６６に受け渡す（ステップ６４２）。
【００９２】
これにより、移行制御部６６は、一方のテープ２３から他方のテープ２３へデータを移行する。
即ち、まず、移行制御部６６は、並べ替え後のdmアクセスカウンタテーブルから１レコードを読み込み、バッファ管理部６２に伝える（ステップ６４３）。すると、バッファ管理部６２は、読み込んだレコードに含まれるdm-idに対応するデータ及びメタデータを移行元のテープ２３から読み出す（ステップ６４４）。
具体的には、バッファ管理部６２から指示を受けたヘッド位置管理部６７がヘッド位置制御システム１７を制御して読出しヘッド１４ｂのテープ２３の幅方向における位置合わせを行うと共に、バッファ管理部６２から指示を受けたテープ走行管理部６８がモータドライバ１８を制御してテープ２３を走行させる。一方で、読出しヘッド１４ｂが読み出したデータ及びメタデータをチャネル入出力部６３がチャネル１３を介して取得してバッファ管理部６２に渡し、バッファ管理部６２がデータ及びメタデータをバッファ１２に蓄積する。尚、dm-idに対応するデータ及びメタデータを読み出す際のキーとなるd-id及びm-idは、例えば、制御機構３０に問い合わせることによって特定するとよい。
【００９３】
次に、バッファ管理部６２は、データ及びメタデータを移行先のテープ２３の現在のラップに書けるかどうか判定する（ステップ６４５）。具体的には、チャネル入出力部６３が、テープ２３上のデータ及びメタデータの長手方向の記憶位置の情報をサーボヘッドからチャネル１３を介して受け取るので、その情報に基づいて判定する。
その結果、現在のラップに書けると判定すれば、そのままデータ及びメタデータを移行先のテープ２３に書き込む（ステップ６４９）。
具体的には、バッファ管理部６２から指示を受けたヘッド位置管理部６７がヘッド位置制御システム１７を制御して書込みヘッド１４ａのテープ２３の幅方向における位置合わせを行うと共に、バッファ管理部６２から指示を受けたテープ走行管理部６８がモータドライバ１８を制御してテープ２３を走行させる。一方で、バッファ管理部６２がバッファ１２からデータ及びメタデータを読み出してチャネル入出力部６３に渡し、チャネル入出力部６３がチャネル１３を介してデータ及びメタデータを書込みヘッド１４ａに出力する。
【００９４】
一方、現在のラップに書けないと判定すれば、現在のラップが最後のラップであるかどうかを判定する（ステップ６４６）。具体的には、ヘッド位置管理部６７が、テープ２３上のデータ及びメタデータの幅方向の記憶位置の情報をヘッド位置制御システム１７から受け取るので、その情報に基づいて判定する。
そして、現在のラップが最後のラップでなければ、次のラップに切り替えて（ステップ６４７）、データ及びメタデータを移行先のテープ２３に書き込む（ステップ６４９）。尚、ラップの切り替えは、ヘッド位置管理部６７がヘッド位置制御システム１７を制御することで行われる。
また、現在のラップが最後のラップであれば、次のセグメントのラップ＃１に切り替えて（ステップ６４８）、データ及びメタデータを移行先のテープ２３に書き込む（ステップ６４９）。尚、セグメントの切り替えは、テープ走行管理部６８がモータドライバ１８を制御することで行われ、ラップの切り替えは、ヘッド位置管理部６７がヘッド位置制御システム１７を制御することで行われる。
【００９５】
その後、移行制御部６６は、dmアクセスカウンタテーブルから読み込んだレコードが最後のレコードであるかどうかを判定する（ステップ６５０）。そして、最後のレコードでなければ、次のレコードについて、ステップ６４３〜６４９の処理を繰り返す。また、最後のレコードであれば、処理を終了する。
【００９６】
尚、この動作例では、同時に２つのカートリッジ２０を装填可能なテープドライブ１０にて、２つのカートリッジ２０を入れ替えることなくデータの移行を行うようにした。しかしながら、このようなデータの移行の制御は、制御機構３０で行ってもよい。その場合、１つのカートリッジ２０のみ装填可能な２台のテープドライブ１０を制御機構３０が制御することで、データの移行を行うようにすればよい。
【００９７】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００９８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施の形態が適用されるアーカイブ装置の構成を示したブロック図である。
【図２】本発明の実施の形態におけるdm-id、d-id、m-idの関連付けについて説明するための図である。
【図３】本発明の実施の形態におけるdm-id、d-id、m-idの関連付けの具体例を示した図である。
【図４】本発明の実施の形態でデータを移行する前にデータ及びメタデータがテープ上に分散配置された状態を示した図である。
【図５】本発明の実施の形態で用いるカウンタについて具体的に説明するための図である。
【図６】本発明の実施の形態で用いるdmアクセスカウンタテーブルの一例を示した図である。
【図７】本発明の実施の形態におけるカウンタの更新について具体的に説明するための図である。
【図８】本発明の実施の形態でデータを移行した後にデータ及びメタデータがテープ上にアクセス頻度順に配置された状態を示した図である。
【図９】テープにおけるアクセス頻度の速い部分と遅い部分について説明するための図である。
【図１０】本発明の実施の形態でデータを移行した後にデータ及びメタデータがテープ上にアクセス頻度順に配置された状態の変形例を示した図である。
【図１１】本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。
【図１２】本発明の実施の形態におけるＷｒｉｔｅコマンド受信時のコントローラの動作例を示したフローチャートである。
【図１３】本発明の実施の形態におけるＲｅａｄコマンド受信時のコントローラの動作例を示したフローチャートである。
【図１４】本発明の実施の形態におけるデータ移行時のコントローラの動作例を示したフローチャートである。
【符号の説明】
【０１００】
１０…テープドライブ、１１…ホストＩ／Ｆ、１２…バッファ、１３…チャネル、１４ａ…書込みヘッド、１４ｂ…読出しヘッド、１５…モータ、１６…コントローラ、１７…ヘッド位置制御システム、１８…モータドライバ、１９…ＣＭＩ／Ｆ、２０…カートリッジ、３０…制御機構、４０…アクセッサ、５０…カートリッジスロット、１００…アーカイブ装置、２００…ホスト
【図１】
2010152603.tif 000003
【図２】
2010152603.tif 000004
【図３】
2010152603.tif 000005
【図４】
2010152603.tif 000006
【図５】
2010152603.tif 000007
【図６】
2010152603.tif 000008
【図７】
2010152603.tif 000009
【図８】
2010152603.tif 000010
【図９】
2010152603.tif 000011
【図１０】
2010152603.tif 000012
【図１１】
2010152603.tif 000013
【図１２】
2010152603.tif 000014
【図１３】
2010152603.tif 000015
【図１４】
2010152603.tif 000016