(57)【要約】【課題】コスト高なＲＡＩＤを用いなくても、複数の単体の磁気ディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができる、安価な仮想テープ装置を提供する。【解決手段】磁気テープ装置の動作を磁気ディスクを用いて行う仮想テープ装置において、仮想テープコントローラと第１の磁気ディスクと第２の磁気ディスクとを有し、前記仮想テープコントローラは、上位装置から書き込み命令を受けると、前記第１の磁気ディスクにデータの書き込みを行い、前記データを前記第２の磁気ディスクに複製を行い、前記第１の磁気ディスクへの書き込み完了により前記上位装置へ書き込み完了の応答を行い、前記書き込み完了の応答とは別のタイミングで前記複製を行うことを特徴とする。【選択図】      図２
2014106629.tif 000002
【特許請求の範囲】
【請求項１】
磁気テープ装置の動作を磁気ディスクを用いて行う仮想テープ装置において、
仮想テープコントローラと第１の磁気ディスクと第２の磁気ディスクとを有し、
前記仮想テープコントローラは、上位装置から書き込み命令を受けると、
前記第１の磁気ディスクにデータの書き込みを行い、
前記データを前記第２の磁気ディスクに複製を行い、
前記第１の磁気ディスクへの書き込み完了により前記上位装置へ書き込み完了の応答を行い、
前記書き込み完了の応答とは別のタイミングで前記複製を行う、仮想テープ装置。
【請求項２】
前記仮想テープコントローラは、前記第１の磁気ディスクに書き込まれた前記データの内、前記第２の磁気ディスクに書き込まれていないデータを確認し複製を行う、請求項１記載の仮想テープ装置。
【請求項３】
前記別のタイミングは、任意の周期である、請求項１から２の何れか１項記載の仮想テープ装置。
【請求項４】
前記別のタイミングは、仮想テープ装置の同期動作を伴う命令を受けたときである、請求項１から２の何れか１項記載の仮想テープ装置。
【請求項５】
前記仮想テープコントローラは、前記同期動作を伴う命令を完了したときには前記複製を完了している、請求項４記載の仮想テープ装置。
【請求項６】
前記仮想テープコントローラは、前記複製するデータを蓄えるバッファを有し、前記複製するデータは、前記第１の磁気ディスクへの書き込みと独立して前記第２の磁気ディスクに書き込まれる、請求項１から５の何れか１項記載の仮想テープ装置。
【請求項７】
前記仮想テープコントローラは、前記上位装置から書き込み命令を受信すると、前記データをパケット化し、前記パケットを連結して前記第１の磁気ディスクに書き込みを行う、請求項１から６の何れか１項記載の仮想テープ装置。
【請求項８】
上位装置から書き込み命令を受けて第１の磁気ディスクにデータの書き込みを行う第１の書き込み工程と、
前記データを第２の磁気ディスクに複製する第２の書き込み工程と、
前記第１の書き込み工程の完了により前記上位装置へ書き込み完了の応答を行う応答工程と、を有し、
前記第２の書き込み工程は、前記書き込み完了の応答とは別のタイミングで行われる、冗長データ作成方法。
【請求項９】
前記別のタイミングは、仮想テープ装置の同期動作を伴う命令を受けたときである、請求項８記載の冗長データ作成方法。
【請求項１０】
前記第２の書き込み工程は、前記同期動作を伴う命令が完了したときには完了している、請求項９記載の冗長データ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスクを磁気テープの代わりに用いる仮想テープ装置とその冗長データ作成方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおけるデータ量の増大に伴い、ストレージ容量の増大が著しい。これに伴って、データのバックアップの重要性はますます高まっている。データのバックアップを行う記憶装置として、磁気ディスクを磁気テープの代わりに用いる仮想テープ装置が開発されている。この仮想テープ装置では、磁気テープ装置の動作を磁気ディスクを用いて模擬動作（エミュレーション）することにより、従来の磁気テープ装置の運用形態を変えることなく、磁気ディスクを用いた記憶システムにデータをバックアップすることができる。
【０００３】
特許文献１には、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと略す）を使用する仮想テープ装置が開示されている。図１にＲＡＩＤを使用した仮想テープ装置のブロック図を示す。仮想テープ装置１は、サーバなどの上位装置２と接続されており、仮想テープコントローラ３とＲＡＩＤ４で構成される。仮想テープコントローラ３はコマンド制御部３１とデータ管理部３２とを備えている。ＲＡＩＤ４はＲＡＩＤ制御部４０と磁気ディスク４１、４２とを備えている。
【０００４】
コマンド制御部３１は、上位装置２からデータの書き込み命令を受信すると、データ管理部３２に、指定された仮想テープ（磁気ディスク）にデータの書き込みと読み出しを行う命令をデータ管理部３２に行う。データ管理部３２は、ＲＡＩＤに対して書き込み読み出しを命令するとともに、仮想テープに記憶するデータとＲＡＩＤ上のデータの対応を管理する。ＲＡＩＤ制御部４０はデータ管理部３２からのディスク書き込み命令を受信すると、磁気ディスク４１、４２にそれぞれデータを書き込む。これにより、磁気ディスク４１、４２にはデータが冗長化されて格納される。よって、仮想テープ装置にＲＡＩＤを用いると、データの冗長性を保証することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１２３４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般的なＲＡＩＤにおいては、上記のような冗長性の保証と、単体の磁気ディスクへの書き込み性能と同等以上の性能を維持するためにキャッシュを搭載した専用ハードウェア（ＲＡＩＤコントローラ）を用いて、制御をすることが多い。その結果、同じ容量の単体の磁気ディスクに比べてコスト高になってしまうという課題がある。すなわち、ＲＡＩＤではない単体の磁気ディスクを用いることができれば、より安価な仮想テープ装置を実現することができる。
【０００７】
一方、磁気テープ装置には、テープ書き込み命令の他に、リワインド命令、アンロード命令等のテープの位置を移動する命令がある。これらの命令は、例えば、これらの命令を受信したときにまだテープに書き込まれていないデータがある場合、そのデータの書き込み動作の完了を待ち、書き込みの動作の完了に同期させて実行される。これを同期動作という。
【０００８】
磁気テープ装置は、上記のような同期動作を伴う記憶システムであるため、同期動作を伴う命令がなされた場合、その命令を実行する前に、書き込み動作を完了させる時間を確保することが可能という性質を持つ。このことは、記憶システムの動作に時間的な余裕を与えることとなる。この時間的な余裕は、安価なシステムを構築するために利用できるものと考えられる。
【０００９】
本発明は、上記の仮想テープ装置の性質を利用して、コスト高なＲＡＩＤを用いなくても、複数の単体の磁気ディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができる、安価な仮想テープ装置およびその冗長データ作成方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
磁気テープ装置の動作を磁気ディスクを用いて行う仮想テープ装置において、仮想テープコントローラと第１の磁気ディスクと第２の磁気ディスクとを有し、前記仮想テープコントローラは、上位装置から書き込み命令を受けると、前記第１の磁気ディスクにデータの書き込みを行い、前記データを前記第２の磁気ディスクに複製を行い、前記第１の磁気ディスクへの書き込み完了により前記上位装置へ書き込み完了の応答を行い、前記書き込み完了の応答とは別のタイミングで前記複製を行う、仮想テープ装置である。
【００１１】
上位装置から書き込み命令を受けて第１の磁気ディスクにデータの書き込みを行う第１の書き込み工程と、前記データを第２の磁気ディスクに複製する第２の書き込み工程と、前記第１の書き込み工程の完了により前記上位装置へ書き込み完了の応答を行う応答工程とを有し、前記第２の書き込み工程は、前記書き込み完了の応答とは別のタイミングで行われる、冗長データ作成方法である。
【発明の効果】
【００１２】
本発明によれば、コスト高なＲＡＩＤを用いなくても、複数の単体の磁気ディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができる、安価な仮想テープ装置およびその冗長データ作成方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】ＲＡＩＤを用いた仮想テープ装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態の仮想テープ装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態の仮想テープ装置の書き込み命令を受信したときの動作を示すフローチャートである。
【図４】本発明の第１の実施形態の仮想テープ装置のデータ複製部の動作を示すフローチャートである。
【図５】本発明の第１の実施形態の仮想テープ装置の同期動作を伴う命令を受信したときの動作を示すフローチャートである。
【図６】本発明の第２の実施形態の仮想テープ装置の構成を示すブロック図である。
【図７】本発明の第２の実施形態の仮想テープ装置の書き込み命令を受信したときの動作を示すフローチャートである。
【図８】本発明の第２の実施形態の仮想テープ装置のデータ複製部の複製処理動作を示すフローチャートである。
【図９】本発明の第３の実施形態の仮想テープ装置の構成を示すブロック図である。
【図１０】本発明の第３の実施形態の仮想テープ装置の書き込み命令を受信したときの動作を示すフローチャートである。
【図１１】本発明の第３の実施形態の仮想テープ装置の書き込み処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
（構成の説明）
本発明の第１の実施形態の構成について、図２を用いて説明する。図２は、本発明の第１の実施形態の仮想テープ装置の構成を示すブロック図である。仮想テープ装置１０は、サーバなどの上位装置２と接続されており、仮想テープコントローラ３０と、仮想テープに相当する磁気ディスクからなるオリジナルディスク４１０と複製ディスク４２０とを備えている。仮想テープコントローラ３０はコマンド制御部３１、データ管理部３２０、差分カウンタ３４０、データ複製部３３０を備えている。
【００１５】
コマンド制御部３１は、上位装置２からデータの書き込み読み出しなどの命令を受信し、データ管理部３２０へ仮想テープへのデータの書き込み読み出しなどの命令を行う。データ管理部３２０は、コマンド制御部３１からの命令を受けて、仮想テープへのデータの書き込み読み出しなどを行う。このときデータ管理部３２０は、書き込むデータに書き込み先アドレスなどの接続情報を付加し、この接続情報を用いて元のデータが仮想テープ上のどこに書かれているかを管理する機能を有する。データの書き込み先は、オリジナルディスク４１０になる。データ管理部３２０はまた、データ複製部３３０に複製の動作開始を命令する機能も有する。
【００１６】
データ複製部３３０は、オリジナルディスク４１０からデータを読み出す機能、複製ディスク４２０へデータを書き込むことでデータを複製する機能を有する。データ複製部３３０はデータ管理部３２０から複製の動作開始命令を受け取って複製の動作を開始する構成でも良いし、独立して複製の動作を開始する構成でも良い。後者の場合には、データ管理部３２０はデータ複製部３３０に複製の動作開始を命令する機能を必要としない。
【００１７】
差分カウンタ３４０は、オリジナルディスク４１０と複製ディスク４２０に書き込まれたデータの差分をカウントする。この差分カウントは初期値が０であり、データ管理部３２０がオリジナルディスク４１０へ書き込みを１ブロック行うごとにカウントが１増加し（増分カウント）、データ複製部３３０が複製ディスク４２０へ書き出しを１ブロック行うごとにカウントが１減少する（減分カウント）。さらに差分カウンタ３４０は、差分カウントをデータ複製部３３０とデータ管理部３２０に提供する。データ複製部３３０は差分カウントを受けて、差分カウントが０であれば複製を行わず、１以上であれば複製を行う。
【００１８】
差分カウンタ３４０やデータ複製部３３０の機能は単純で、安価な半導体チップで構成することもできるし、ソフトウェアプログラムとして仮想テープコントローラ３０に構成することも可能である。よって、本実施形態の仮想テープ装置は、コスト高なＲＡＩＤを不要とし安価とすることができる。
（動作の説明）
図２、および、図３、図４、図５のフローチャートを用いて、本実施形態の冗長データ作成の方法を説明する。初めに、図３を用いて仮想テープ装置１０が上位装置２から書き込み命令を受信したときの処理を説明する。上位装置２から書き込み命令を受信すると（Ｓ３０１）、コマンド制御部３１はデータ管理部３２０に対して当該仮想テープへのデータの書き込み命令を行う。データ管理部３２０は、コマンド制御部３１からの命令を受けて、コマンド制御部３１より受けたデータをオリジナルディスク４１０に書き込む（Ｓ３０２）。このとき、書き込むデータにはデータの接続情報が付加されており、データ管理部３２０はこの接続情報を用いてデータがどこに書かれているかをたどることができる。
【００１９】
データ管理部３２０は、オリジナルディスク４１０への書き込みが完了すると、差分カウンタ３４０のカウント数を１増やす（Ｓ３０３）。続いて、データ管理部３２０はコマンド制御部３１に完了応答を返す。コマンド制御部３１はデータ管理部３２０から完了応答を受けると、上位装置２に書き込み完了応答を返す（Ｓ３０４）。
【００２０】
続いて図４を用いて、データ複製部３３０の動作を説明する。データ複製部３３０は、まず、差分カウンタ３４０から差分カウントを受け取り、差分カウントが０の場合には（Ｓ４０１：Ｎｏ）複製処理を終了する。差分カウントが１以上の場合には（Ｓ４０１：Ｙｅｓ）、データ複製部３３０はオリジナルディスク４１０からまだ複製されていないデータを読み出し、複製ディスク４２０に書き込むことによって、オリジナルディスク４１０のデータの複製データを複製ディスク４２０に作成する（Ｓ４０２）。このとき、複製ディスク４２０へ書き込むデータと書き込み先アドレスは、複製ディスク４２０へ書き込んだ最後のデータに相当するオリジナルディスク４１０のデータの接続情報から決定することができる。
【００２１】
データ複製部３３０は複製ディスク４２０への書き込みが終わると、差分カウンタ３４０の差分カウントを１減らし（Ｓ４０３）、差分カウンタ３４０の差分カウントを読み取る（Ｓ４０１）。データ複製部３３０は差分カウントが０になるまでＳ４０１〜Ｓ４０３の処理を繰り返す。データ複製部３３０の複製処理の開始タイミングは、データ複製部３３０が任意の周期で独立して複製を開始しても良いし、後述する同期動作を伴う命令を受信したタイミングでデータ管理部３２０がデータ複製部３３０に複製動作開始命令を行い、この動作開始命令を受けて複製を開始しても良い。
【００２２】
続いて図５を用いて、リワインドやアンロード等の同期動作を伴う命令を受信したときの仮想テープ装置の動作を説明する。コマンド制御部３１は、上位装置３から同期動作を伴う命令を受信すると（Ｓ５０１）、データ管理部３２０に同期命令を行う。データ管理部３２０は、コマンド制御部３１からの同期命令を受けて、データ複製部３３０にデータ複製動作開始命令を行い、データ複製部３３０はこれを受けてデータの複製を行う。データ管理部３２０は、差分カウンタ３４０から差分カウントを受け、差分カウントが１以上の場合、図４に示すデータ複製を行う。差分カウントが０になると、コマンド制御部３１にデータ複製の完了応答を返す（Ｓ５０２）。
【００２３】
続いてコマンド制御部３１は、データ管理部３２０に上位装置２からの命令（リワインド、アンロード等）の実行命令を行う。データ管理部３２０は、コマンド制御部３１の実行命令を受けて、一般的な仮想テープ装置と同様にコマンドに応じた処理を模擬実行（エミュレーション）する（Ｓ５０３）。データ管理部３２０は、当該命令の実行を完了すると、コマンド制御部３１に完了応答を返す。コマンド制御部３１は、データ管理部３２０から完了応答を受けると、上位装置２に命令完了応答を返す（Ｓ５０４）。以上のようにして、同期動作を伴う命令が完了したときにはオリジナルディスク４１０のデータが、複製ディスク４２０に複製された冗長データとして保証されている。
（効果の説明）
本発明の第１の実施形態の構成によれば、コスト高なＲＡＩＤを用いなくても、複数の単体の磁気ディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができる安価な仮想テープ装置およびその冗長データ作成方法が可能となる。
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。第１の実施形態では、上位装置２からの書き込み命令とデータ複製部３３０による複製処理が重なると、オリジナルディスク４１０のビジー率が高くなり、書き込み性能が低下する。第２の実施形態では、第１の実施形態に加えて、書き込み性能に影響を与えない仮想テープ装置を提供する。
（構成の説明）
本発明の第２の実施形態の構成について、図６を用いて説明する。図６は、本発明の第２の実施形態の仮想テープ装置の構成を示すブロック図である。仮想テープ装置１１は、サーバなどの上位装置２と接続されており、仮想テープコントローラ３３と、仮想テープに相当する磁気ディスクからなるオリジナルディスク４１０と複製ディスク４２０とを備えている。仮想テープコントローラ３３は、コマンド制御部３１、データ管理部３２１、ＦＩＦＯメモリ３４１、データ複製部３３１を備えている。コマンド制御部３１、オリジナルディスク４１０、複製ディスク４２０については第１の実施形態と同じである。
【００２４】
データ管理部３２１は、仮想テープに書き込むデータに書き込み先アドレスなどの接続情報を付加し、この接続情報を用いて元のデータが仮想テープ上のどこに書かれているかを管理する機能、および、オリジナルディスク４１０にデータを書き込む機能を有する。また、バッファメモリとして、例えば、ＦＩＦＯメモリ３４１（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ  メモリ）にオリジナルディスク４１０の書き込み先アドレスと書き込みデータを送る機能を有する。ＦＩＦＯメモリ３４１は先入れ先出し方式でデータを蓄積できるメモリであり、本実施形態に用いるバッファメモリとして好ましいものである。データ管理部３２１はまた、データ複製部３３１にデータの複製の動作開始を命令する機能も有する。
【００２５】
データ複製部３３１は、ＦＩＦＯメモリ３４１から取り出したデータを複製ディスク４２０に書き込む機能を有する。複製処理の動作の開始のタイミングは、データ複製部３３１が一定周期で複製を開始しても良いし、同期動作を伴う命令を受信したタイミングでデータ管理部３２１がデータ複製部３３１に動作開始命令を行い、データ複製部３３１はこの動作開始命令を受けて複製の動作を開始しても良い。
【００２６】
一般的な仮想テープコントローラは上位装置２から受け取ったデータを整形するためにバッファメモリを備えており、ＦＩＦＯメモリ３４１はそのバッファメモリを使用して構成できる。データ複製部３３１の機能は単純であり、安価な半導体チップで構成することもできるし、ソフトウェアプログラムとして仮想テープコントローラ３３に構成することも可能である。よって、本実施形態の仮想テープ装置は、コスト高なＲＡＩＤを不要とし安価とすることができる。
（動作の説明）
図６、および、図７と図８のフローチャートを用いて、本実施形態の冗長データ作成の方法を説明する。初めに図７を用いて、仮想テープ装置１１が上位装置２から書き込み命令を受信したときの処理を説明する。図７は、本発明の第２の実施形態の仮想テープ装置の書き込み命令を受信したときの動作を示すフローチャートである。
【００２７】
上位装置２から書き込み命令を受信すると（Ｓ７０１）、コマンド制御部３１は、データ管理部３２１に対して当該仮想テープへのデータの書き込み命令を行う。データ管理部３２１は、コマンド制御部３１からの前記書き込み命令を受けて、コマンド制御部３１より受けたデータをオリジナルディスク４１０に書き込む（Ｓ７０２）。データ管理部３２１は、オリジナルディスク４１０への書き込みが完了すると、ＦＩＦＯメモリ３４１へオリジナルディスク４１０の書き込み先アドレスと書き込みデータを送信する。ＦＩＦＯメモリ３４１は、送信されたオリジナルディスク４１０の書き込み先アドレスと書き込みデータを蓄積する。（Ｓ７０３）。続いて、データ管理部３２１はコマンド制御部３１に完了応答を返し、コマンド制御部３１は上位装置２に書き込み完了応答を返す（Ｓ７０４）。
【００２８】
次に図８を用いて、データ複製部３３１の複製データ作成の方法を説明する。図８は、本発明の第２の実施形態の仮想テープ装置のデータ複製部３３１の複製データ作成動作を示すフローチャートである。データ複製部３３１は、ＦＩＦＯメモリ３４１のデータの有無を確認し（Ｓ８０１）、ＦＩＦＯメモリ３４１にデータが無ければ（Ｓ８０１：Ｎｏ）、処理を終了する。ＦＩＦＯメモリ３４１にデータが格納されていると（Ｓ８０１：Ｙｅｓ）、データ複製部３３１はＦＩＦＯメモリ３４１から書き込み先アドレスと書き込みデータを取り出し（Ｓ８０２）、複製ディスク４２０に書き込みを行う（Ｓ８０３）。書き込み完了後、ＦＩＦＯメモリ３４１のデータが空になるまでＳ８０１からＳ８０３の処理を繰り返す。
【００２９】
複製データ作成の開始タイミングは、データ複製部３３１が任意の周期で複製を開始しても良いし、同期動作を伴う命令を受信したタイミングでデータ管理部３２１がデータ複製部３３１に対して動作開始命令を行い、データ複製部３３１は複製動作開始命令を受けて複製を開始しても良い。同期動作を伴う命令を受信したときの仮想テープ装置の動作は、第１の実施形態と同様であるため省略する。ただし複製完了の判断は、第１の実施形態では「差分カウンタ３４０の差分カウントが０であること」であるが、本実施形態では「ＦＩＦＯメモリ３４１のデータが無いこと」である。
（効果の説明）
本実施形態では、データ複製部３３１がオリジナルディスク４１０からのデータの読み出し処理を行わないことによって、オリジナルディスク４１０のビジー率が高くなることを防ぐことができる。すなわち、本発明の第２の実施形態の構成によれば、コスト高なＲＡＩＤを用いなくても、複数の単体磁気ディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができ、書き込み性能に影響を与えずに冗長データを保証することができる安価な仮想テープ装置およびその冗長データ作成方法が可能となる。
（第３の実施形態）
次に、第３の実施形態について説明する。第２の実施形態では、書き込み命令の毎にＦＩＦＯメモリ３４１へデータを蓄積しているため、書き込み命令で受信したデータをパケット化し、複数のパケットを連結してひとかたまりの連結パケットとしてディスクへ書き込む方式に適用することができない。第３の実施形態では、第２の実施形態に加えて、連結パケットをディスクへ書き込むことのできる仮想テープ装置を提供する。
（構成の説明）
本発明の第３の実施形態の構成について、図９を用いて説明する。図９は、本発明の第３の実施形態の仮想テープ装置の構成を示すブロック図である。仮想テープ装置１２は、サーバなどの上位装置３と接続されており、仮想テープコントローラ３４と、仮想テープに相当する磁気ディスクからなるオリジナルディスク４１０と複製ディスク４２０とを備えている。仮想テープコントローラ３４はコマンド制御部３１、データ管理部３２２、ＦＩＦＯメモリ３４１、データ複製部３３１、データ構築用バッファ３５０を備えている。コマンド制御部３１、オリジナルディスク４１０、複製ディスク４２０、データ複製部３３１、ＦＩＦＯメモリ３４１については第２の実施形態と同様である。
【００３０】
データ構築バッファ３５０は、データ管理部３２２でデータの構築に使用するバッファメモリである。データ管理部３２２は、仮想テープに書き込むデータに書き込み先アドレスなどの接続情報を付加しこの接続情報を用いて元のデータが仮想テープ上のどこに書かれているかを管理する機能、コマンド制御部３１より受けたデータをパケット化しデータ構築バッファ３５０に蓄積されているパケットに連結する形でデータ構築バッファ３５０に蓄積する機能、データ構築バッファ３５０内の連結されたパケットが一定の基準に達したならばパケットの連結を終了して連結パケットとしてオリジナルディスク４１０に書き込む機能、ＦＩＦＯメモリ３４１にデータ構築バッファ３５０内の連結パケットを送信する機能を有する。データ管理部３２２はまた、データ複製部３３１に複製の動作開始を命令する機能も有する。
（動作の説明）
図９、および、図１０と図１１のフローチャートを用いて、本実施形態の冗長データ作成の方法を説明する。まず、図１０を用いて、仮想テープ装置１２が上位装置２から書き込み命令を受信したときの動作を説明する。図１０は、本発明の第３の実施形態の仮想テープ装置の、書き込み命令を受信したときの動作を示すフローチャートである。
【００３１】
上位装置２から書き込み命令を受信すると（Ｓ１００１）、コマンド制御部３１はデータ管理部３２２に対して当該仮想テープへのデータの書き込み命令を行う。前記命令を受けたデータ管理部３２２は、コマンド制御部３１より受けたデータをパケット化（Ｓ１００２）し、データ構築バッファ３５０内にすでに蓄積されているパケットと連結して、データ構築バッファ３５０に蓄積する（Ｓ１００３）。
【００３２】
続いて、データ管理部３２２は、データ構築バッファ３５０内のパケットが一定量に到達していると判断したならば（Ｓ１００４：Ｙｅｓ）、パケットの連結を終了し、オリジナルディスク４１０へ書き込み処理を実行する（Ｓ１００５）。一方、データ構築バッファ３５０内のパケットが一定量に到達していないと判断したならば（Ｓ１００４：Ｎｏ）、オリジナルディスク４１０へ書き込み処理を実行しない。続いて、データ管理部３２２はコマンド制御部３１に完了応答を返し、コマンド制御部３１が上位装置２に書き込み完了応答を返す（Ｓ１００６）。
【００３３】
続いて、図１１を用いてデータ管理部３２２のオリジナルディスク４１０への書き込み動作を説明する。図１１は、オリジナルディスク４１０への書き込み処理動作を示すフローチャートである。オリジナルディスク４１０への書き込み処理は、データ管理部３２２がコマンド制御部３１から書き込み命令を受け、さらにデータ管理部３２２がデータ構築バッファ３５０内のパケットが一定量に到達していると判断したならば、データ管理部３２２はデータ構築用バッファ３５０から連結パケットを取り出し（Ｓ１１０１）、オリジナルディスク４１０に書き込みを行う（Ｓ１１０２）。続いて、書き込んだデータをデータ複製部３３１で用いるＦＩＦＯ３４１へ格納して停止する（Ｓ１１０３）。
【００３４】
データ複製部３３１の動作と、同期動作を伴う命令を受信したときの仮想テープ装置の動作は、第１および第２の実施形態と同様であるため、説明を省略する。本実施形態での複製完了の判断は、「ＦＩＦＯメモリ３４１のデータが無いこと」である。
（効果の説明）
本実施形態では、書き込み命令で受信したデータをパケット化して、連結したパケットを一括してディスクへ書き込む場合においても、冗長データを作成することができる。すなわち、本発明の第３の実施形態の構成によれば、コスト高なＲＡＩＤを用いなくても、複数のディスクに冗長データを保証することができ、アンロード命令などの同期動作を伴う命令が完了したときには冗長データを保証することができ、書き込み性能に影響を与えずに冗長データを保証することができ、連結したパケットを一括してディスクへ書き込む装置においても冗長データを作成することができる安価な仮想テープ装置およびその冗長データ作成方法が可能となる。
【００３５】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００３６】
付記
（付記１）
磁気テープ装置の動作を磁気ディスクを用いて行う仮想テープ装置において、仮想テープコントローラと第１の磁気ディスクと第２の磁気ディスクとを有し、前記仮想テープコントローラは、上位装置から書き込み命令を受けると、前記第１の磁気ディスクにデータの書き込みを行い、前記データを前記第２の磁気ディスクに複製を行い、前記第１の磁気ディスクへの書き込み完了により前記上位装置へ書き込み完了の応答を行い、前記書き込み完了の応答とは別のタイミングで前記複製を行う、仮想テープ装置。
（付記２）
前記仮想テープコントローラは、前記第１の磁気ディスクに書き込まれた前記データの内、前記第２の磁気ディスクに書き込まれていないデータを確認し複製を行う、付記１記載の仮想テープ装置。
（付記３）
前記別のタイミングは、任意の周期である、付記１から２の何れか１項記載の仮想テープ装置。
（付記４）
前記別のタイミングは、仮想テープ装置の同期動作を伴う命令を受けたときである、付記１から２の何れか１項記載の仮想テープ装置。
（付記５）
前記仮想テープコントローラは、前記同期動作を伴う命令を完了したときには前記複製を完了している、付記４記載の仮想テープ装置。
（付記６）
前記同期動作を伴う命令は、リワインド命令、あるいは、アンロード命令である、付記４から５の何れか１項記載の仮想テープ装置。
（付記７）
前記仮想テープコントローラは、前記複製するデータを蓄えるバッファを有し、前記複製するデータは、前記第１の磁気ディスクへの書き込みと独立して前記第２の磁気ディスクに書き込まれる、付記１から６の何れか１項記載の仮想テープ装置。
（付記８）
前記バッファはＦＩＦＯメモリ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ  メモリ）である、付記７記載の仮想テープ装置。
（付記９）
前記仮想テープコントローラは、前記上位装置から書き込み命令を受信すると、前記データをパケット化し、前記パケットを連結して前記第１の磁気ディスクに書き込みを行う、付記１から８の何れか１項記載の仮想テープ装置。
（付記１０）
前記複製するデータは前記パケット化している、付記９記載の仮想テープ装置。
（付記１１）
上位装置から書き込み命令を受けて第１の磁気ディスクにデータの書き込みを行う第１の書き込み工程と、前記データを第２の磁気ディスクに複製する第２の書き込み工程と、前記第１の書き込み工程の完了により前記上位装置へ書き込み完了の応答を行う応答工程と、を有し、前記第２の書き込み工程は、前記書き込み完了の応答とは別のタイミングで行われる、冗長データ作成方法。
（付記１２）
前記第２の書き込み工程は、前記第１の磁気ディスクに書き込まれた前記データの内、前記第２の磁気ディスクに書き込まれていないデータを確認し複製する、付記１１記載の冗長データ作成方法。
（付記１３）
前記別のタイミングは、任意の周期である、付記１１から１２の何れか１項記載の冗長データ作成方法。
（付記１４）
前記別のタイミングは、仮想テープ装置の同期動作を伴う命令を受けたときである、付記１１から１２の何れか１項記載の冗長データ作成方法。
（付記１５）
前記第２の書き込み工程は、前記同期動作を伴う命令が完了したときには完了している、付記１４記載の冗長データ作成方法。
（付記１６）
前記同期動作を伴う命令は、リワインド命令、あるいは、アンロード命令である、付記１４から１５の何れか１項記載の冗長データ作成方法。
（付記１７）
前記複製するデータをバッファに蓄え、前記第１の書き込み工程と独立して、前記第２の書き込み工程を行う、付記１１から１６の何れか１項記載の冗長データ作成方法。
（付記１８）
前記バッファはＦＩＦＯメモリ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ  メモリ）である、付記１８記載の冗長データ作成方法。
（付記１９）
前記上位装置から書き込み命令を受信すると、前記データをパケット化し、前記パケットを連結して前記第１の書き込み工程を行う、付記１１から１８の何れか１項記載の冗長データ作成方法。
（付記２０）
前記第２の書き込み工程で書き込むデータは前記パケット化している、付記１９記載の冗長データ作成方法。
【符号の説明】
【００３７】
１、１０、１１、１２    仮想テープ装置
２    上位装置
３、３０、３３、３４    仮想テープコントローラ
３１    コマンド制御部
３２、３２０、３２１、３２２    データ管理部
３３０、３３１    データ複製部
３４０    差分カウンタ
３４１    ＦＩＦＯメモリ
４    ＲＡＩＤ
４０    ＲＡＩＤ制御部
４１、４２    磁気ディスク
４１０    オリジナルディスク
４２０    複製ディスク
【図１】
2014106629.tif 000003
【図２】
2014106629.tif 000004
【図３】
2014106629.tif 000005
【図４】
2014106629.tif 000006
【図５】
2014106629.tif 000007
【図６】
2014106629.tif 000008
【図７】
2014106629.tif 000009
【図８】
2014106629.tif 000010
【図９】
2014106629.tif 000011
【図１０】
2014106629.tif 000012
【図１１】
2014106629.tif 000013