JP5958440B2 - 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体 - Google Patents

仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5958440B2
JP5958440B2 JP2013181422A JP2013181422A JP5958440B2 JP 5958440 B2 JP5958440 B2 JP 5958440B2 JP 2013181422 A JP2013181422 A JP 2013181422A JP 2013181422 A JP2013181422 A JP 2013181422A JP 5958440 B2 JP5958440 B2 JP 5958440B2
Authority
JP
Japan
Prior art keywords
virtual tape
data
data page
allocation
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013181422A
Other languages
English (en)
Other versions
JP2015049738A (ja
Inventor
宗之 吉川
宗之 吉川
野中 肇
肇 野中
真 中島
真 中島
裕貴 早川
裕貴 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013181422A priority Critical patent/JP5958440B2/ja
Publication of JP2015049738A publication Critical patent/JP2015049738A/ja
Application granted granted Critical
Publication of JP5958440B2 publication Critical patent/JP5958440B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体に関する。
コンピュータシステムに蓄積した個人情報や企業内の機密情報などの重要なデータは、データ漏えい防止の観点から、不要になった際にデータ消去を確実に行うことが求められている。例えば、磁気テープに記録したデータの消去方法としては、磁気テープ全体に対して特別なパターンを上書きしたり、磁気テープ自体を破壊したりすることが、一般的に知られている。
近年では、磁気テープの代わりに磁気ディスクを記録メディアにした仮想テープ装置が開発されている。仮想テープも、磁気テープと同様に、不要になった際にデータ消去を確実に行うことが求められている。
例えば、特許文献1には、仮想記憶領域に記録されたデータを短時間で無効化するストレージ装置が記載されている。
なお、特許文献2〜4には種々の仮想テープ関連技術が開示されている。
特許文献2には、複数のブロックを有するボリュームをシーケンシャルセグメントにセグメント化してデータページに分割するインテリジェントデータ格納管理装置が開示されている。この特許文献2には、インテリジェントデータ格納管理装置が、データページを仮想テープボリュームの夫々の仮想テープブロックにマップするためのメタデータページを、仮想テープボリュームに関連付けて発生することが記載されている。
特許文献3には、仮想テープをマウントおよびデマウントする仮想計算機が記載されている。
特許文献4には、保存期間が満了したボリュームを未使用ボリュームプールに付け替える情報記録装置が記載されている。
特開2013−77106号公報 特表2003−513352号公報 特開昭62−226237号公報 特開2005−332043号公報
仮想テープ装置は、記録メディアに対し、フォーマットすることなどによってデータ消去することが出来る。ただし、1つの記録メディアには、1または複数の仮想化したテープ(仮想テープ)が対応付けられていることが一般的である。そのため、記録メディアのデータ消去を行うと、その記録メディアに対応する1または複数の仮想テープに記憶されたデータを消去することになる。
複数のユーザが個々に割り当てられた仮想テープを運用する場合もあるため、複数の仮想テープに影響がある記録メディアのデータ消去を個々のユーザが容易に行うことは出来ない。そこで、仮想テープ単位でデータ消去することが求められている。
ここで、仮想テープのデータ管理方法である「固定割り当て方式」および「動的割り当て方式」について説明する。
「固定割り当て方式」とは、仮想テープを生成時に、当該仮想テープに対応する記録領域を固定的に割り当てるデータ管理方法である。仮想テープのユーザデータは、その記録領域に記録されるので、仮想テープ削除時にその領域を消去すれば、データを消去することができる。しかし、仮想テープの記録量が少ない場合、その仮想テープの残りの記録領域は全く使用されない。
特許文献1および3では、仮想テープを生成する際に、当該仮想テープに対応する記憶領域を固定的に割り当てる固定割り当て方式を採用している。そのため、仮想テープ単位でデータ消去することはできるが、仮想テープの記録量が少ない場合、そのテープの残りの記憶領域が使用されないため、装置全体の記憶容量を効率的に利用できないという問題がある。
次に、「動的割り当て方式」について説明する。「動的割り当て方式」とはこの一定のサイズ(たとえば、1MB)で分割された記録領域(データページ)を、データの記憶に必要な分だけ仮想テープに動的に割り当てるデータ管理方法である。以下、図1〜3を参照して、「動的割り当て方式」について詳細に説明する。
図1〜3は、動的割り当て方式のデータ管理方法を説明するための図であり、仮想テープに割り当てられたデータページの連結関係およびストレージプールにリンクされたデータページの連結関係を模式的に表した図である。なお、以降において、仮想テープへのデータページの割当状態を示すリストを割当リストと呼ぶ。割当リストは、仮想テープに割り当てられたデータページのうち、仮想テープに最初にリンクされているデータページを始端とし、最後にリンクされているデータページを終端とする、双方向リストである。
記憶領域は、一定のサイズで複数のデータページに分割されている。当該データページが仮想テープ(単に、テープとも呼ぶ)で使用されている場合、使用されているデータページは、そのテープの割当リスト(単に、リストとも呼ぶ)にリンクされる。また、どのテープでも使用されていないデータページは、未使用を示すストレージプール(単に、プールとも呼ぶ)と呼ばれる割当リストにリンクされる。
なお、図1〜3では、記憶領域が#1〜#10の10個のデータページに分割されているとして説明を行う。また、使用されているテープは、テープ#1であるとする。
図1では、テープ#1には何もデータが記録されておらず、プールにデータページ#1〜#10の全てがリンクされている状態を示している。また、図1に示すように、プールには、#1、#2、・・・、#10の順番でデータページがリンクされている。
データページの割り当てが行われると、プールの先頭のデータページから使用される。使用されるデータページは、テープの割当リストの最後尾に追加される。
図1の状態において、テープ#1に対し、データページの割当が3回繰り返された後のデータページの連結関係を図2に示す。図2に示すように、プールの先頭のデータページ#1〜#3がテープにリンクされる。そして、プールにはデータページ#4〜#10が残る。
次に、動的割り当て方式におけるデータページの解放について、説明する。データページは、途中のデータページから書き込まれた場合、および、仮想テープの削除が指示された場合などにストレージプールに解放される。
まず、途中からの書き込みにおけるデータページの解放について説明する。図2の状態において、データページ#1の途中から書き込みが行われると、データページ#2および#3は解放される。そして、図2の状態で、プールの先頭のデータページであるデータページ#4がテープの割当リストの最後尾にリンクされる。解放されたデータページ#2および#3は、プールにリンクされる。この時の各データページの状態を図3に示す。
次に、仮想テープの削除について説明する。仮想テープの削除を行うと、図3の状態からテープ#1にリンクされている全てのデータページ(データページ#1およびデータページ#4)がプールへ解放される。よって、仮想テープの削除を行うと、図1のようにデータページが全てプールにリンクされた状態に戻る。
特許文献2では、一定のサイズで分割された記憶領域を必要な分だけ仮想テープに動的に割り当てる動的割り当て方式が採用されている。データが書き込まれたデータページをストレージプールに開放し、その後、仮想テープの削除時にその時点で使用しているデータページの消去を行う場合、動的割り当て方式では、使用中のデータページ(図3では、データページ#1およびデータページ#4)のデータのみ消去され、既にプールに解放されているデータページ(図3では、データページ#2およびデータページ#3)のデータは消去されない。したがって、既にプールに解放されているデータページに古いデータが残ってしまうという問題がある。
仮想テープの削除の際ではなく、プールに解放した際に、データページを消去する方法を用いて、プールにあるデータページに古いデータが残らないようにする方法がある。しかし、仮想テープの途中書き込みに伴うプールへの解放は、仮想テープの削除に比べ、頻繁に行われる動作であるため、消去処理が常に動作し続けてしまい、負荷がかかってしまうという問題がある。
本発明は、上記課題に鑑みてなされたものであり、その目的は、仮想テープの削除の際に、過去に使用したデータを好適に消去する仮想テープ制御装置を提供することにある。
本発明の一態様に係る仮想テープ制御装置は、記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備える。
本発明の一態様に係る仮想テープ装置は、記憶領域と、前記記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備える。
本発明の一態様に係る制御方法は、記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当て、
1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する。
本発明の一態様に係るプログラムは、記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当処理と、
前記データページ割当処理によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去処理と、をコンピュータに実行させる。
本発明によれば、仮想テープの削除の際に、過去に使用したデータを好適に消去することができる。
動的割り当て方式のデータ管理方法を説明するための図である。 動的割り当て方式のデータ管理方法を説明するための図である。 動的割り当て方式のデータ管理方法を説明するための図である。 本発明の第1の実施の形態に係る仮想テープ装置の機能構成の一例を示す機能ブロック図である。 本発明に係る仮想テープ装置のハードウェア構成の一例を示す図である。 第1の実施の形態に係るデータ管理情報記憶部に格納されている仮想テープ管理情報の一例を示す図である。 第1の実施の形態に係るデータ管理情報記憶部に格納されている未割当データページ管理情報の一例を示す図である。 第1の実施の形態に係るデータ管理情報記憶部に格納されているデータページ管理情報の一例を示す図である。 図11、図13、図14、図15、図17、図18の説明のために、仮想テープ管理情報、未割当データページ管理情報、データページ管理情報を模式的に表した図である。 第1の実施の形態における仮想テープ装置のデータページ割当処理の流れの一例を示すフローチャートである。 各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第1の実施の形態における仮想テープ装置のデータページ解放処理の流れの一例を示すフローチャートである。 第1の実施の形態に係るデータページ解放処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第1の実施の形態に係るデータページ解放処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 図14の状態に、第1の実施の形態に係るデータページ割当処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第1の実施の形態における仮想テープ装置の仮想テープ削除処理の流れの一例を示すフローチャートである。 図15の状態に、第1の実施の形態に係る仮想テープ削除処理におけるデータページ解放処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 仮想テープ削除処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第2の実施の形態に係るデータ管理情報記憶部に格納されている仮想テープ管理情報の一例を示す図である。 第2の実施の形態に係るデータ管理情報記憶部に格納されているデータページ管理情報の一例を示す図である。 図23、図24、図26、図27の説明のために、仮想テープ管理情報、未割当データページ管理情報、データページ管理情報を模式的に表した図である。 第2の実施の形態における仮想テープ装置のデータページ割当処理の流れの一例を示すフローチャートである。 各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 図23の状態に、第2の実施の形態に係るデータページ割当処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第2の実施の形態における仮想テープ装置の仮想テープ削除処理の流れの一例を示すフローチャートである。 図24の状態に、第2の実施の形態に係る仮想テープ削除処理におけるデータページ解放処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 第2の実施の形態に係る仮想テープ削除処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。 本発明の第3の実施の形態に係る仮想テープ制御装置の機能構成の一例を示す機能ブロック図である。 本発明の第2の実施の形態に係る仮想テープ装置の機能構成の一例を示す機能ブロック図である。
本発明は、上述したように動的に割り当てが行われ、かつ、途中のデータページから書き込みが行われると、書き込まれたデータページ以降のデータページを解放する動的割り当て方式のデータ管理を行う仮想テープ装置を想定している。
<実施の形態1>
本発明に係る第1の実施の形態について、図面を参照して詳細に説明する。
(仮想テープ装置の構成)
図4は、本発明の一実施の形態に係る仮想テープ装置の機能構成の一例を示す機能ブロック図である。図4に示す通り、仮想テープ装置1は、コマンド制御部10、仮想テープデータ記憶部30、データ管理情報記憶部40および仮想テープ制御部100を備えている。仮想テープ装置1は、例えば、磁気テープ装置をエミュレーションした装置であり、上位装置8のデータを仮想テープに記憶するものである。
コマンド制御部10は、上位装置8からのコマンドを受け取り、各コマンドの処理を行う。また、コマンド制御部10は、上記コマンドに付随するデータの送受信を行う。コマンド制御部10は、受信したコマンドまたは/およびデータを、仮想テープ制御部100に供給する。
仮想テープデータ記憶部30は、仮想テープに記憶されたデータを記憶する手段である。仮想テープには、1または複数のデータページが動的に割り当てられている。ここで、データページとは、記憶領域を一定のサイズ(例えば、1MB)に分割した領域の単位である。本実施の形態においては、記憶領域は10個のデータページに分割されているとするが、本発明はこれに限定されるものではない。なお、個々のデータページは、#1から順に割り当てたデータページ番号(データページ識別子)で識別する。
なお、本実施の形態に係る仮想テープ装置1では、記憶領域が内蔵されている構成であってもよいし、仮想テープ装置1に外付けされる構成であってもよい。
データ管理情報記憶部40は、各仮想テープの情報と、各データページの情報およびその接続関係に関する情報を記録している。具体的には、データ管理情報記憶部40は、仮想テープ管理情報50と、未割当データページ管理情報60と、データページ管理情報70とを記録している。データ管理情報記憶部40に記録された各管理情報については、図面を変えて詳細に説明する。
なお、仮想テープデータ記憶部30およびデータ管理情報記憶部40は、別個の構成として説明したが、これらは、同じ記憶手段で実現してもよい。本実施の形態では、ディスクアレイなどで実現される記憶装置に、仮想テープデータ記憶部30およびデータ管理情報記憶部40が含まれる構成として説明するが、本発明はこれに限定されるものではない。
仮想テープ制御部100は、仮想テープ装置1の全体を制御する。具体的には、仮想テープ制御部100は、仮想テープデータ記憶部30へのデータの記録およびデータ管理情報記憶部40の各管理情報の管理などを行う。図4に示す通り、仮想テープ制御部100は、データページ割当部110、管理情報更新部120、最終割当情報取得部130、判定部140およびデータ消去部150を備えている。
データページ割当部110は、1または複数のデータページを仮想テープに動的に割り当てる手段である。具体的には、データページ割当部110は、プールの始端ポインタが指すデータページを割当対象として決定する。また、データページ割当部110は、割り当てを終了する(つまり、仮想テープから解放する)データページを解放対象データページとして決定する。そして、データページ割当部110は、割当対象または解放対象として決定したデータページを示す情報を管理情報更新部120に供給する。
管理情報更新部120は、データ管理情報記憶部40に格納された各管理情報を更新する手段である。管理情報更新部120が更新する内容については、後述するフローチャート内で詳細に説明する。
最終割当情報取得部130は、データページ管理情報70から、各データページのデータページ番号に関連付けられた情報であって、当該データページに何れの仮想テープのデータが残存しているかを示す情報を取得する手段である。具体的には、最終割当情報取得部130は、データページ管理情報70から最終割り当て仮想テープIDを取得する。最終割当情報取得部130は、取得した最終割り当て仮想テープIDを判定部140に供給する。
判定部140は、コマンド制御部10が上位装置8から受け取ったコマンドに基づいて、コマンド制御部10から削除対象の仮想テープを示す仮想テープIDを取得し、当該仮想テープIDと最終割当情報取得部130から供給された最終割り当て仮想テープIDとが一致するか否かを判定する手段である。判定部140は、判定結果をデータ消去部150および最終割当情報取得部130に供給する。
データ消去部150は、判定部140から供給された判定結果に基づいて、仮想テープデータ記憶部30に記憶された仮想テープのデータであって、削除対象の仮想テープのデータを消去する。データ消去部150は、データの消去が完了したことを示す通知を管理情報更新部120に通知する。
図5は、本実施の形態に係る仮想テープ装置1のハードウェア構成の一例を示す図である。図5に示すように、仮想テープ装置1は、CPU11、通信I/F(通信インターフェース)12、メモリ13、および、プログラムを格納するハードディスク等の記憶装置14を含み、夫々、システムバス9を介して接続している。
CPU11は、例えば、本実施の形態のコマンド制御部10および仮想テープ制御部100の一部として機能し、記憶装置14からメモリ13にプログラムやデータを読み出して、プログラムに基づいて各種の処理を実行することによって、本実施の形態に係る仮想テープ装置1を制御する。
通信I/F12は、上位装置8と通信を行うインターフェースである。通信I/F12は、コマンド制御部10の一部として機能する。
記憶装置14は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等である。記憶装置14の一部の記憶媒体は、不揮発性記憶装置であり、そこにプログラムを記憶している。また、プログラムは通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。記憶装置14は、例えば、本実施の形態における仮想テープデータ記憶部30およびデータ管理情報記憶部40として機能する。
以上のように、本実施の形態に係る仮想テープ装置1は、図5に示されるハードウェア構成によって実現される。但し、仮想テープ装置1が備える各部の実現手段は特に限定されない。
(各管理情報について)
次に、図6から図8を参照して、データ管理情報記憶部40に格納されている各管理情報について説明を行う。
図6は、データ管理情報記憶部40に格納されている仮想テープ管理情報50の一例を示す図である。図6に示す通り、仮想テープ管理情報50は、仮想テープインデックス501、始端ポインタ502および終端ポインタ503を含んでいる。
仮想テープインデックス501は、仮想テープを識別するための識別番号(仮想テープID(仮想テープ識別子))をインデックスにしたものである。データページの始端ポインタ502は、仮想テープの割当リストの最初の(始端の)データページを示す情報である。終端ポインタ503は、仮想テープの割当リストの最後の(終端の)データページを示す情報である。以降、データページを単にページとも呼ぶ。
なお、各仮想テープの割当リストは、データ形式で、例えば、データ管理情報記憶部40に格納されていてもよいし、各管理情報を参照することにより作成されるものであってもよい。
仮想テープ制御部100は、仮想テープ管理情報50にて、仮想テープインデックス501の欄に記載された仮想テープIDで示される仮想テープがどのデータページで構成されているかを、データページの始端ポインタ502と終端ポインタ503とを用いて管理している。具体的には、各仮想テープにデータページが割り当てられているときは、仮想テープ制御部100は、始端ポインタ502および終端ポインタ503として、割り当てられたデータページのデータページ番号を、仮想テープIDに関連付けて管理している。一方、各仮想テープにデータページが割り当てられていないときは、仮想テープ制御部100は、始端ポインタ502および終端ポインタ503として、データページ番号の代わりに、データページが割り当てられていないことを示す情報を、仮想テープIDに関連付けて管理している。なお、本実施の形態において、データページが割り当てられていないことを示す情報として、データページが割り当てられていない仮想テープの仮想テープIDを記録する構成を例に説明を行うが、本発明はこれに限定されるものではない。
図6に示す仮想テープ管理情報50において、仮想テープIDが「テープ#1」の仮想テープには、最初のデータページがデータページ番号「ページ#1」で示されるデータページ#1であり、最後のデータページがデータページ番号「ページ#4」で示されるデータページ#4である複数のデータページが割り当てられている。また、仮想テープIDが「テープ#2」の仮想テープ#2には、データページが割り当てられていない。これは、仮想テープ#2の始端ポインタ502および終端ポインタ503が、当該仮想テープIDの「テープ#2」を示していることからわかる。
図7は、データ管理情報記憶部40に格納されている未割当データページ管理情報60の一例を示す図である。図7に示す通り、未割当データページ管理情報60は、未割当データページの要素601、始端ポインタ602および終端ポインタ603を含んでいる。未割当データページの要素601とは、未割当のデータページがリンクされているリストを示す情報であり、例えば、ストレージプール604である。
図7に示す未割当データページ管理情報60では、最初のデータページがデータページ#2であり、最後のデータページがデータページ#10である複数のデータページがプールにリンクされていることがわかる。
図8は、データ管理情報記憶部40に格納されているデータページ管理情報70の一例を示す図である。図8に示す通り、データページ管理情報70は、データページインデックス701、前方ポインタ702、後方ポインタ703および最終割り当て仮想テープID704を含んでいる。
データページインデックス701は、データページを識別するためのデータページ番号をインデックスにしたものである。本実施の形態においては、記憶領域は、#1〜#10の10個のデータページに分割されているとして説明を行う。そのため、データページインデックス701には10個のデータページの夫々を示す番号であるページ#1〜#10が示されている。
各データページ番号には、前方ポインタ702、後方ポインタ703および最終割り当て仮想テープID704が関連付けられている。前方ポインタ702は、割当リストにおいて、データページの前方に位置する要素を示している。同様に、後方ポインタ703は、割当リストにおいて、データページの後方に位置する要素を示している。
前方ポインタ702および後方ポインタ703について、具体的に説明する。前方ポインタ702および後方ポインタ703は、それぞれ、「データページ番号」、「仮想テープID」および「プール」のいずれかの値を取る。
前方ポインタ702がデータページ番号である場合、当該データページ番号で示されるデータページが、割当リストにおいて、当該前方ポインタ702を有するデータページの前方にあることを示している。同様に、後方ポインタ703がデータページ番号である場合、当該データページ番号で示されるデータページが、割当リストにおいて、当該後方ポインタ703を有するデータページの後方にあることを示している。
前方ポインタ702が仮想テープIDである場合、データページが当該仮想テープIDで示される仮想テープの割当リストの先頭にリンクされていることを示している。つまり、当該データページが、仮想テープIDで示される仮想テープの割当リストの最初のデータページであることを示している。同様に、後方ポインタ703が仮想テープIDである場合、データページが当該仮想テープIDで示される仮想テープの割当リストの最後尾にリンクされていることを示している。つまり、当該データページが、仮想テープIDで示される仮想テープの割当リストの最後のデータページであることを示している。
なお、本実施の形態においては、割当リストは、前方ポインタ702が仮想テープIDであるデータページと、後方ポインタ703が仮想テープIDであるデータページとを端点とする双方向リストであるとするが本発明はこれに限定されるものではなく片方向リストであってもよい。
また、前方ポインタ702がプールである場合、データページがプールの先頭にリンクされていることを示している。同様に、後方ポインタ703がプールである場合、データページがプールの最後尾にリンクされていることを示している。なお、プールも、上記仮想テープの割当リストと同様に、双方向リストであってもよいし、片方向リストであってもよい。
最終割り当て仮想テープID704(最終割り当て仮想テープ識別子)には、最終割り当て仮想テープ情報として、各データページがデータページ割当部110によって最後に割り当てられた仮想テープを示す仮想テープIDが示されている。また、各データページが仮想テープに、過去に割り当てられていない場合は、「無し」が示されている。なお、各データページが仮想テープに過去に割り当てられていない場合に、最終割り当て仮想テープID704に記録されている情報は、「無し」に限定されず、仮想テープが過去に割り当てられていないことを示す情報であればよい。
図8において、「ページ#1」で示されるデータページ(データページ#1)は、仮想テープ#1の割当リストの先頭にリンクされている。また、当該割当リストにおいて、データページ#1の後方にデータページ#4が存在する。
また、図8において、データページ#2は仮想テープ#2の割当リストの先頭および後方にリンクされている。このことから仮想テープ#2はデータページ#2のみがリンクされていることがわかる。
また、図8において、データページ#3はプールの先頭にリンクされている。これは、データページ#3の前方ポインタ702が「プール」であることからわかる。また、プールにおいて、データページ#3の後方にデータページ#5が存在する。また、データページ#3は、仮想テープ#1に対応付けられている。これは、データページ#3の最終割り当て仮想テープID704が、「テープ#1」であることからわかる。
(仮想テープ装置1の動作)
次に、図9から図18を参照して、仮想テープ装置1の動作について説明する。具体的には、データページ割当処理、データページ解放処理および仮想テープ削除処理について説明する。まず、図9を参照して、動作の説明に用いる仮想テープ、ストレージプールおよびデータページと、図6〜8の管理情報との対応付けについて説明する。図9は、仮想テープ管理情報、未割当データページ管理情報、データページ管理情報を模式的に表した図である。
仮想テープ欄は仮想テープの割当リストの端点を示す図で、図6に示す情報が含まれている。具体的には、仮想テープ管理情報50の仮想テープインデックス501に含まれる仮想テープIDと、始端ポインタ502と、終端ポインタ503とが含まれている。なお、始端ポインタ502および終端ポインタ503がデータページを示す場合、始端ポインタ502および終端ポインタ503の場所には、データページ番号の番号を示す部分(図9においては、#1および#3)のみを示す。
また、データページが割り当てられていない場合、つまり、図6において、始端ポインタ502および終端ポインタ503に仮想テープIDが記録されている場合、始端ポインタ502および終端ポインタ503の場所には、仮想テープIDが記録されていることを示す「テープ」を表示する。
ストレージプール欄は未割当のデータページの連結状態の端点を示す図で、仮想テープの端点を示す図の仮想テープIDの代わりに、ストレージプールを示す「プール」が示されている。また、図7に示す情報である始端ポインタ602と、終端ポインタ603とが含まれている。なお、始端ポインタ602および終端ポインタ603がデータページを示す場合、始端ポインタ602および終端ポインタ603の場所には、データページ番号の番号を示す部分(図9においては、#4および#10)のみを示す。
データページを示す図には、図8に示す情報が含まれている。具体的には、データページインデックス701に含まれるデータページ番号と、前方ポインタ702と、後方ポインタ703と、最終割り当て仮想テープID704とが含まれている。
データページ番号は、データページを示す図の中央に示されている。また、前方ポインタ702を当該図の左上に、後方ポインタ703を当該図の右上に示している。さらに、当該図の下部には、最終割り当て仮想テープID704を示している。なお、前方ポインタ702および後方ポインタ703がデータページを示す場合、前方ポインタ702および後方ポインタ703の場所には、データページ番号の番号を示す部分(図9においては、後方ポインタ703の場所に#4)のみを示す。
また、データページが、仮想テープの割当リストの始端および/または終端にリンクされている場合、前方ポインタ702および/または後方ポインタ703の場所には、「テープ」を表示し、リンク先の仮想テープの始端ポインタ502または終端ポインタ503に実線で接続する。また、データページがストレージプールの始端および/または終端にリンクされている場合、前方ポインタ702および/または後方ポインタ703の場所には、「プール」を表示する。
(データページ割当処理およびデータページ解放処理)
次に、図10および図11を参照して、仮想テープ装置1のデータページ割当処理の流れについて説明する。図10は、本実施の形態における仮想テープ装置1のデータページ割当処理の流れの一例を示すフローチャートである。
なお、以降の説明において、あるデータページにおいて、割当リストの前方または後方にある他のデータページを、前記データページの前方または後方に「繋がっている」とも表現する。
また、割当リストにおいて、あるデータページを他のデータページの前方または後方に挿入することを、あるデータページを他のデータページの前方または後方に「連結する」とも表現する。
コマンド制御部10が上位装置8などからデータを仮想テープ装置1に記録する指示を受けると、仮想テープ装置1は、データページの割当処理を開始する。
図10に示すように、仮想テープ装置1がデータページ割当処理を開始すると、仮想テープ制御部100は、以下のステップS101〜ステップS104の処理を行う。
ステップS101:データページ割当部110が、プールの始端ポインタ602が指すデータページを割当対象として決定する。データページ割当部110は、割当対象として決定したデータページを示す情報を管理情報更新部120に供給する。
ステップS102:管理情報更新部120が、プールから割当対象のデータページを切り離す。つまり、管理情報更新部120が、(a)S101にて決定したデータページの後方ポインタ703が指すデータページの前方ポインタ702と、(b)プールの始端ポインタ602と、を連結する。具体的には、管理情報更新部120が、以下の(1)および(2)を行う。
(1)未割当データページ管理情報60の始端ポインタ602を、S101にて決定したデータページの後方ポインタ703が指すデータページのデータページ番号に更新する。
(2)データページ管理情報70において、S101にて決定したデータページの後方ポインタ703が指すデータページのデータページ番号に関連付けられた前方ポインタ702を、「プール」に更新する。
ステップS103:管理情報更新部120は、S101にて割当対象として決定したデータページを仮想テープの割当リストの終端に連結する。このS103においては、データページの割当先の仮想テープにデータページが割り当てられていない場合と、既に割り当てられている場合とに分けて説明する。
S103において、データページの割当先の仮想テープにデータページが割り当てられていない場合、管理情報更新部120は、(a)割当先仮想テープの始端ポインタ502と、(b)S101で決定したデータページの前方ポインタ702と、を連結する。さらに、管理情報更新部120は、(c)S101で決定したデータページの後方ポインタ703と、(d)割当先仮想テープの終端ポインタ503と、を連結する。具体的には、管理情報更新部120が、以下の(1)〜(4)の動作を行う。
(1)仮想テープ管理情報50において、割当先の仮想テープを示す仮想テープIDに関連付けられた始端ポインタ502を、S101で決定したデータページのデータページ番号に更新する。
(2)データページ管理情報70において、S101で決定したデータページのデータページ番号に関連付けられた前方ポインタ702を、割当先の仮想テープを示す仮想テープIDに更新する。
(3)データページ管理情報70において、S101で決定したデータページのデータページ番号に関連付けられた後方ポインタ703を、割当先の仮想テープを示す仮想テープIDに更新する。
(4)仮想テープ管理情報50において、割当先の仮想テープを示す仮想テープIDに関連付けられた終端ポインタ503を、S101で決定したデータページのデータページ番号に更新する。
S103において、データページの割当先の仮想テープにデータページが既に割り当てられている場合、管理情報更新部120は、(a)割当先の仮想テープの終端ポインタ503の指すデータページの後方ポインタ703と、(b)S101で決定したデータページの前方ポインタ702と、を連結する。また、管理情報更新部120が、(c)S101で決定したデータページの後方ポインタ703と、(d)割当先仮想テープの終端ポインタ503と、を連結する。具体的には、管理情報更新部120が、以下の(5)および(6)、並びに、上述した(3)および(4)の動作を行う。
(5)データページ管理情報70において、割当先の仮想テープの終端ポインタ503の指すデータページのデータページ番号に関連付けられた後方ポインタ703を、S101で決定したデータページのデータページ番号に更新する。
(6)データページ管理情報70において、S101で決定したデータページのデータページ番号に関連付けられた前方ポインタ702を、割当先の仮想テープの終端ポインタ503の指すデータページのデータページ番号に更新する。
ステップS104:管理情報更新部120が、データページ管理情報70に含まれる、S101で決定したデータページであって、S102でプールから切り離されたデータページのデータページ番号に関連付けられている最終割り当て仮想テープID704を、割当先仮想テープの仮想テープIDに更新する。
ここで、データページ割当処理の開始前に、複数のデータページの全てが、何れの仮想テープにも割り当てられておらず、プールにリンクされており、データページ割当処理を3回繰り返して行った場合を考える。図11は、このような場合における、各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。なお、実線で結んだ部分はポインタの相互参照関係を表している。
図11に示すように、仮想テープ#1の割当リストには、ぺージ#1からページ#3の3つのデータページがリンクされている。また、プールには、何れのテープにも割り当てられていないデータページ(ページ#4〜ページ#10)がリンクされている。
次に、図11から図13を参照して、仮想テープ装置1のデータページ解放処理の流れについて説明する。図12は、本実施の形態における仮想テープ装置1のデータページ解放処理の流れの一例を示すフローチャートである。
本実施の形態に係るデータページの解放処理では、解放対象のデータページから解放元である仮想テープの終端のデータページまでが解放される。たとえば、図11に示す仮想テープ#1に割り当てられているデータページ#1の途中からデータの書き込み処理が行われると、データページ#1の次のデータページ(データページ#2)から、仮想テープ#1の終端のデータページ(データページ#3)までが解放される。
コマンド制御部10が上位装置8などからデータの書き込み指示などを受けると、仮想テープ装置1は、データが書き込まれる仮想テープに対応するデータページのうち、データが書き込まれるデータページの次のデータページ以降のデータページの解放処理を開始する。
図12に示すように、仮想テープ装置1がデータページ解放処理を開始すると、仮想テープ制御部100は、以下のステップS121〜S123の処理を行う。
ステップS121:データページ割当部110が、解放するデータページの始端から終端を決定する。データページ割当部110は、決定したデータページを示す情報を管理情報更新部120に供給する。
ステップS122:管理情報更新部120が、解放対象のデータページを仮想テープから切り離す。つまり、管理情報更新部120が、解放対象の始端データページの前方ポインタ702が指すデータページの後方ポインタ703と、解放元の仮想テープの終端ポインタ503とを連結する。具体的には、管理情報更新部120が、以下の(1)および(2)を行う。
(1)仮想テープ管理情報50において、解放元の仮想テープを示す仮想テープIDに関連付けられた終端ポインタ503を、解放対象の始端データページの前方ポインタ702が指すデータページのデータページ番号に更新する。
(2)データページ管理情報70において、解放対象の始端データページの前方ポインタ702が指すデータページの後方ポインタ703を、解放元の仮想テープを示す仮想テープIDに更新する。
なお、S122において、すべてのデータページを仮想テープから切り離す場合、管理情報更新部120は、仮想テープ管理情報50において、解放元の仮想テープを示す仮想テープIDに関連付けられた始端ポインタ502および終端ポインタ503を、当該仮想テープIDに更新する。
ステップS123:管理情報更新部120が、解放対象のデータページをプールの終端に連結する。つまり、管理情報更新部120が、(a)解放対象の始端データページの前方ポインタ702と、(b)プールの終端ポインタ603が指すデータページの後方ポインタ703と、を連結する。また、管理情報更新部120が、(c)プールの終端ポインタ603と、(d)解放対象の終端データページの後方ポインタ703とを連結する。具体的には、管理情報更新部120が、以下の(1)〜(4)の動作を行う。
(1)データページ管理情報70において、解放対象の始端データページのデータページ番号に関連付けられた前方ポインタ702を、プールの終端ポインタ603が指すデータページのデータページ番号に更新する。
(2)データページ管理情報70において、プールの終端ポインタ603が指すデータページのデータページ番号に関連付けられた後方ポインタ703を、解放対象の始端データページのデータページ番号に更新する。
(3)未割当データページ管理情報60において、プールの終端ポインタ603を、解放対象の終端データページのデータページ番号に更新する。
(4)データページ管理情報70において、解放対象の終端データページのデータページ番号に関連付けられた後方ポインタ703を、「プール」に更新する。
この時、管理情報更新部120は、データページ管理情報70の最終割り当て仮想テープID704の内容を変更しない。
図11の状態において、仮想テープ#1に割り当てられているデータページ#1の途中またはデータページ#1の後から仮想テープへの追記指示を受け付けた場合を考える。上記指示を受けると、仮想テープ制御部100は、データページ#2およびデータページ#3を解放してプールに連結する。このようにして、データページ解放処理が行われる。
そして、仮想テープへの追記指示であるため、図10に示すデータページ割当処理が実行される。まず、割り当てるデータページ(本例では、データページ#4とする)が決定され、プールからデータページ#4がプールから切り離される。そして、切り離されたデータページ#4を仮想テープ#1の終端データページに連結する。そして、切り離されたデータページ#4の最終割り当て仮想テープID704を「無し」から「テープ#1」に更新する。
この時のデータページ解放処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態を図13に示す。図13は、データページ解放処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。
図13に示すようにデータページ#4は仮想テープ#1のリストの終端に連結されている。また、図11でプールの終端データページであったデータページ#10の後に、解放されたデータページ#2およびデータページ#3が連結されている。また、プールに解放されたデータページ#2およびデータページ#3の最終割り当て仮想テープID704は「テープ#1」のままである。
次に、プールにある最終割り当て仮想テープID704が「テープ#1」であるデータページを他の仮想テープ(例えば、仮想テープ#2)に割り当てる場合について説明する。図14は、データページ解放処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。図14が図13と異なる点は、最終割り当て仮想テープID704がテープ#1であるデータページ#2およびデータページ#3がプールの先頭にリンクされている点である。
図14に示すように、仮想テープ#1には、データページ#1およびデータページ#4が割り当てられている。また、仮想テープ#2には、データページが割り当てられていない。プールには、10個のデータページのうち、データページ#1およびデータページ#4以外のデータページがリンクされている。そのうち、データページ#2およびデータページ#3は、最終割り当て仮想テープID704が「テープ#1」であり、そのほかのデータページの最終割り当て仮想テープID704は「無し」である。
図14の状態で、仮想テープ#2に対し、データページ割当処理が行われると、まず、データページ割当部110が、割り当てるデータページ(本例では、データページ#2)を決定する。そして、管理情報更新部120が、データページ#2をプールから切り離し、切り離したデータページ#2を仮想テープ#2に連結する。そして、管理情報更新部120が、切り離したデータページ#2の最終割り当て仮想テープID704を「テープ#1」から「テープ#2」に更新する。このデータページ割当処理が行われた後の状態を図15に示す。
図15は、図14の状態にデータページ割当処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。図15に示すように、仮想テープ#2には、最終割り当て仮想テープID704が「テープ#2」に更新されたデータページ#2が割り当てられている。また、プールからデータページ#2が切り離されている。これにより、データページ#2は仮想テープ#1が過去に使用したデータページとして認識されなくなる。
(仮想テープ削除処理)
次に、図16〜図18を参照して、仮想テープ装置1の仮想テープ削除処理の流れについて説明する。図16は、本実施の形態における仮想テープ装置1の仮想テープ削除処理の流れの一例を示すフローチャートである。
コマンド制御部10が上位装置8などから仮想テープの削除処理を受け付けると、仮想テープ装置1は、仮想テープの削除処理を開始する。
図16に示すように、仮想テープ装置1が仮想テープ削除処理を開始すると、仮想テープ制御部100は、以下のステップS161〜ステップS167の処理を行う。
ステップS161:データページ割当部110および管理情報更新部120は、当該仮想テープに割り当てられている全てのデータページに対し、上述したデータページの解放処理を行う。管理情報更新部120は、データページの解放処理が終了すると(S123の後)、解放処理が終了したことを最終割当情報取得部130に通知する。
ステップS162:最終割当情報取得部130が、データページ管理情報70から当該データページ管理情報70の最初のデータページのデータページ番号に関連付けられた最終割り当て仮想テープID704を取得する。最終割当情報取得部130は、取得した最終割り当て仮想テープID704を判定部140に供給する。
ステップS163:判定部140が、コマンド制御部10から取得した、削除対象の仮想テープを示す仮想テープID(削除対象仮想テープ識別子)と、S162にて最終割当情報取得部130が取得した最終割り当て仮想テープID704とが、一致するか否かを判定する。一致した場合(YESの場合)、削除対象の仮想テープの仮想テープIDと一致した最終割り当て仮想テープID704のデータページを示す情報をデータ消去部150に供給し、S164に進む。一致しない場合(NOの場合)、一致しないことを示す情報を最終割当情報取得部130に通知し、S166に進む。
ステップS164:データ消去部150が、仮想テープデータ記憶部30に記録されている記録データであって、最終割り当て仮想テープID704が削除対象の仮想テープの仮想テープIDであるデータページの記録データを完全に消去する。そして、データ消去部150は、記録データを消去したデータページを示す情報を、管理情報更新部120に供給する。
ステップS165:管理情報更新部120が、S164にて記録データを消去したデータページのデータページ番号に関連付けられた最終割り当て仮想テープID704を、「無し」に更新する。そして、管理情報更新部120は、更新が完了したことを最終割当情報取得部130に通知する。
ステップS166:最終割当情報取得部130は、最終割り当て仮想テープID704を取得したデータページが、仮想テープ装置1に定義されている最終データページか否かを確認する。具体的には、最終割当情報取得部130は、上記最終割り当て仮想テープID704を取得したデータページが、データページ管理情報70の最後のデータページであるか否かを確認する。最終データページである場合(YESの場合)、処理を終了する。最終データページでない場合(NOの場合)、S167に進む。
ステップS167:最終割当情報取得部130が、データページインデックス701を1つ進めて、次のデータページのデータページ番号に関連付けられた最終割り当て仮想テープID704を取得する。その後、S163に進む。このように、最終データページの最終割り当て仮想テープID704を取得するまで、仮想テープ制御部100は、S163〜S166の処理を繰り返す。
図17は、図15の状態で、仮想テープ#1に対し、上述したS161の処理、つまり、仮想テープ#1に割り当てられているすべてのデータページに対するデータページ解放処理(図12)を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。
仮想テープ#1に対し、仮想テープ削除処理におけるデータページ解放処理を行うと、図17に示すように、仮想テープ#1に割り当てられていたデータページ#1およびデータページ#4は解放され、プールの最後尾にリンクされる。この時、データページ#1およびデータページ#4の最終割り当て仮想テープID704は「テープ#1」のままである。
その後、上述した仮想テープ削除処理を行うと、プールにリンクされているデータページであって、最終割り当て仮想テープID704が「テープ#1」のデータページは、最終割り当て仮想テープID704が「無し」に更新される。この時の状態を図18に示す。図18は、仮想テープ削除処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。図18に示すように、データページ番号が「ページ#3」、「ページ#1」および「ページ#4」のデータページの最終割り当て仮想テープID704は、「テープ#1」から「無し」に更新されている。また、仮想テープ#2に割り当てられているデータページ#2は、変化しない。
従って、仮想テープ#1の削除処理を行うことにより、仮想テープ#1に割り当てられてから他の仮想テープに割り当てられていないデータページに含まれるデータを完全に消去できる。
(効果)
以上のように、本実施の形態に係る仮想テープ装置1は、記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、前記仮想テープに動的に割り当てる。そして、1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープID704を含むデータページ管理情報70に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する。
これにより、仮想テープの削除の際に、削除対象の仮想テープで、過去に使用したデータだけを特定して、効率よく仮想テープのデータを消去することできる。その理由は、データページ管理情報70に、各データページが、当該データページにデータが残存しているかを示す情報、つまり、最後に割り当てられた仮想テープを示す情報である、最終割り当て仮想テープID704が含まれているからである。これにより、データ消去部150は、削除対象の仮想テープで過去に使用したデータページのデータを消去することができる。
また、最終割り当て仮想テープID704には、当該最終割り当て仮想テープID704に関連付けられたデータページが最後に割り当てられた仮想テープがある場合、当該仮想テープを示す識別子が含まれている。一方、当該最終割り当て仮想テープID704に関連付けられたデータページが何れの仮想テープにも割り当てられていない場合、何れの仮想テープにも割り当てられていないことを示す情報(例えば「無し」)が含まれる。
このように、データが残存しているデータページと、データが残存していないデータページとを区別して管理されたデータページ管理情報を用いることにより、削除対象の仮想テープに対応するデータ領域を容易に特定することができる。したがって、より好適に、削除対象の仮想テープで過去に使用したデータページのデータを消去することができる。
<実施の形態2>
本発明に係る第2の実施の形態について、図面を参照して詳細に説明する。第1の実施の形態に係る仮想テープ装置1は、記録データを消去するデータページを特定するために、データページ管理情報70に含まれる全てのデータページを検索する必要がある。その為、扱うデータページが大量に存在すると、仮想テープ削除の処理時間に対する検索時間の割合が大きくなる場合がある。そこで、本実施の形態では、記録データを消去するデータページを、データページ管理情報の全データの検索せずに特定できるようにする。
(仮想テープ装置の構成)
図29は、本実施の形態に係る仮想テープ装置の機能構成の一例を示す機能ブロック図である。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
図29に示す通り、仮想テープ装置1は、コマンド制御部10、仮想テープデータ記憶部30、データ管理情報記憶部40および仮想テープ制御部100を備えている。仮想テープ装置1は、例えば、磁気テープ装置をエミュレーションした装置であり、上位装置8のデータを仮想テープに記憶するものである。
データ管理情報記憶部40は、各仮想テープの情報と、各データページの情報およびその接続関係に関する情報を記録している。具体的には、データ管理情報記憶部40は、仮想テープ管理情報51と、未割当データページ管理情報60と、データページ管理情報71とを記録している。データ管理情報記憶部40に記録された仮想テープ管理情報51およびデータページ管理情報71については、図面を変えて詳細に説明する。
図29に示す通り、仮想テープ制御部100は、データページ割当部110、管理情報更新部120、最終割当情報取得部131およびデータ消去部150を備えている。
最終割当情報取得部131は、仮想テープ管理情報51およびデータページ管理情報71を用いて、削除対象である仮想テープの過去のデータが残存しているデータページを特定し、消去部150に供給する。また、過去のデータが残存しているデータページが存在しなくなった場合には、その旨を管理情報更新部120に通知する。なお、本実施の形態に係る仮想テープ装置1のハードウェア構成は、前述した第1の実施の形態に係る仮想テープ装置1のハードウェア構成と同様である。
(各管理情報について)
次に、図19および図20を参照して、データ管理情報記憶部40に格納されている各管理情報について説明を行う。
図19は、仮想テープ管理情報51の一例を示す図である。図19に示す通り、仮想テープインデックス511、始端ポインタ512、終端ポインタ513、最終割り当て始端ポインタ514および最終割り当て終端ポインタ515を含んでいる。
仮想テープインデックス511、始端ポインタ512および終端ポインタ513は、第1の実施の形態に係る仮想テープ管理情報50の仮想テープインデックス501、始端ポインタ502および終端ポインタ503とそれぞれ同様のものであるため、説明を省略する。
最終割り当て始端ポインタ514および最終割り当て終端ポインタ515は、それぞれ、仮想テープインデックス511の仮想テープIDから関連付けられている。最終割り当て始端ポインタ514は、当該仮想テープのデータを有しているデータページのうち、当該仮想テープの割当リストの最初の(始端の)データページを示す情報である。つまり、第1の実施の形態における最終割り当て仮想テープID704が当該仮想テープの仮想テープIDであるデータページのうち、当該仮想テープの割当リストの最初の(始端の)データページを示す情報である。
同様に、最終割り当て終端ポインタ515は、当該仮想テープのデータを有しているデータページのうち、当該仮想テープの割当リストの最後の(終端の)データページを示す情報である。
仮想テープのデータがデータページに残存しているときには、当該仮想テープの最終割り当て始端ポインタ514および最終割り当て終端ポインタ515には、当該データページのデータページ番号が記録される。一方、仮想テープのデータがデータページに残存していないときには、最終割り当て始端ポインタ514および最終割り当て終端ポインタ515には、当該仮想テープを示す仮想テープIDが記録される。
つまり、各仮想テープは、最終割り当て始端ポインタ514が示すデータページを始端とし、最終割り当て終端ポインタ515が示すデータページを終端とする、当該仮想テープへ最後に割り当てられたデータページの双方向リスト(最終割当リスト)を構成する。なお、最終割当リストは、片方向リストであってもよい。また、各仮想テープの最終割当リストは、データ形式で、例えば、データ管理情報記憶部40に格納されていてもよいし、各管理情報を参照することにより作成されるものであってもよい。
図20は、データ管理情報記憶部40に格納されているデータページ管理情報71の一例を示す図である。図20に示す通り、データページインデックス711、前方ポインタ712、後方ポインタ713、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715を含んでいる。
データページインデックス711、前方ポインタ712および後方ポインタ713は、第1の実施の形態に係るデータページ管理情報70のデータページインデックス701、前方ポインタ702および後方ポインタ703とそれぞれ同様のものであるため、説明を省略する。
最終割り当て前方ポインタ714および最終割り当て後方ポインタ715は、それぞれ、データページインデックス711のデータページ番号から関連付けられている。最終割り当て前方ポインタ714は、最終割当リストにおいて、当該データページの前方に位置する要素を示している。同様に、最終割り当て後方ポインタ715とは、最終割当リストにおいて、当該データページの後方に位置する要素を示している。
つまり、上述した最終割当リストは、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715を用いて、最終割り当て始端ポインタ514が示すデータページを始端とし、最終割り当て終端ポインタ515が示すデータページを終端として構成される。
また、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715は、最終割当リストにおいて、前方および後方にある要素を特定しているため、最終割当リストにおける位置情報を示しているといえる。
最終割り当て前方ポインタ714および最終割り当て後方ポインタ715は、前方ポインタ712および後方ポインタ713と同様に、それぞれ、「データページ番号」、「仮想テープID」および「プール」のいずれかの値を取る。最終割り当て前方ポインタ714および最終割り当て後方ポインタ715の各値については、上述した第1の実施の形態の割当リストにおける前方ポインタ702および後方ポインタ703の各値の場合と同様であるため、説明を省略する。
(仮想テープ装置1の動作)
次に、図21から図27を参照して、仮想テープ装置1の動作について説明する。具体的には、データページ割当処理および仮想テープ削除処理について説明する。なお、データページ解放処理は、第1の実施の形態と同様であるため、説明を省略する。
まず、図21を参照して、動作の説明に用いる仮想テープおよびデータページと、図19および図20の管理情報との対応付けについて説明する。なお、ストレージプールについては、図9と同様であるため、説明を省略する。図21は、仮想テープ管理情報、未割当データページ管理情報、データページ管理情報を模式的に表した図である。
仮想テープ欄は仮想テープの割当リストの端点を示す図で、図19に示す情報が含まれている。具体的には、仮想テープ管理情報51の仮想テープインデックス511に含まれる仮想テープIDと、始端ポインタ512と、終端ポインタ513と最終割り当て始端ポインタ514と、最終割り当て終端ポインタ515とが含まれている。なお、始端ポインタ512および終端ポインタ513がデータページを示す場合、始端ポインタ512および終端ポインタ513の場所には、それぞれ、データページ番号の番号を示す部分(図21においては、#1および#4)のみを示す。同様に、最終割り当て始端ポインタ514および最終割り当て終端ポインタ515がデータページを示す場合、最終割り当て始端ポインタ514および最終割り当て終端ポインタ515の場所には、データページ番号の番号を示す部分(図21においては、#1および#4)のみを示す。
また、現時点において、データページが割り当てられていない場合、つまり、図19の始端ポインタ512および終端ポインタ513に仮想テープIDが記録されている場合、始端ポインタ512および終端ポインタ513の場所には、仮想テープIDが記録されていることを示す「テープ」を表示する。
また、現時点において、仮想テープのデータが残存しているデータページがない場合、つまり、図19の最終割り当て始端ポインタ514および最終割り当て終端ポインタ515に仮想テープIDが記録されている場合、最終割り当て始端ポインタ514および最終割り当て終端ポインタ515の場所には、仮想テープIDが記録されていることを示す「テープ」を表示する。
データページを示す図には、図20に示す情報が含まれている。具体的には、データページインデックス711に含まれるデータページ番号と、前方ポインタ712と、後方ポインタ713と、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715とが含まれている。
データページ番号は、データページを示す図の中央に示されている。また、前方ポインタ712を当該図の左上に、後方ポインタ713を当該図の右上に示している。さらに、最終割り当て前方ポインタ714を当該図の左下に、最終割り当て後方ポインタ715を当該図の右下に示している。
前方ポインタ712および後方ポインタ713がデータページを示す場合、前方ポインタ712および後方ポインタ713の場所には、データページ番号の番号を示す部分(図21においては、後方ポインタ713の場所に#4)のみを示す。同様に、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715がデータページを示す場合、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715の場所には、データページ番号の番号を示す部分(図21おいては、最終割り当て後方ポインタ715の場所に#3)のみを示す。
また、データページが、仮想テープの割当リストの始端および/または終端にリンクされている場合、前方ポインタ712および/または後方ポインタ713の場所には、「テープ」を表示する。また、データページが、仮想テープの最終割当リストの始端および/または終端にリンクされている場合、最終割り当て前方ポインタ714および/または最終割り当て後方ポインタ715の場所には、「テープ」を表示する。
また、データページがストレージプールの始端および/または終端にリンクされている場合、前方ポインタ702および/または後方ポインタ703の場所には、「プール」を表示する。また、データページが何れの最終割当リストにも含まれず、ストレージプールにリンクされている場合、最終割り当て前方ポインタ714および最終割り当て後方ポインタ715の場所には、「無し」を表示する。
(データページ割当処理)
次に、図22〜図24を参照して、仮想テープ装置1のデータページ割当処理の流れについて説明する。図22は、本実施の形態における仮想テープ装置1のデータページ割当処理の流れの一例を示すフローチャートである。
コマンド制御部10が上位装置8などからデータを仮想テープ装置1に記録する指示を受けると、仮想テープ装置1は、データページの割当処理を開始する。
図22に示すように、仮想テープ装置1がデータページ割当処理を開始すると、以下のステップS221〜ステップS224の処理を行う。
ステップS221:データページ割当部110および管理情報更新部120が、データページをプールから仮想テープに割り当てる。具体的には、前述した第1の実施の形態のデータページ割当処理におけるS101〜S103を行う。これにより、割り当てられたデータページの前方ポインタ712および後方ポインタ713が更新される。また、データページが割り当てられた仮想テープの始端ポインタ512および終端ポインタ513が更新される。
ステップS222:管理情報更新部120が、S221で仮想テープに割り当てられたデータページが何れかの仮想テープのデータを有しているか否かを判定する。具体的には、管理情報更新部120は、データページ管理情報71において、S221で仮想テープに割り当てられたデータページのデータページ番号に関連付けられた最終割り当て前方ポインタ714が「無し」であるか否かを判定する。上記最終割り当て前方ポインタ714が「無し」でない場合(NOの場合)、つまり、いずれかの仮想テープのデータを有している場合、S223に進む。上記最終割り当て前方ポインタ714が「無し」である場合(YESの場合)、S224に進む。なお、S222において、管理情報更新部120は、最終割り当て前方ポインタ714ではなく、最終割り当て後方ポインタ715が「無し」であるか否かを判定してもよい。
ステップS223:管理情報更新部120が、割当先の仮想テープの最終割当リストからS221で割り当てたデータページを切り離す。つまり、管理情報更新部120が、(a)S221にて割り当てたデータページの最終割り当て後方ポインタ715が指すデータページの最終割り当て前方ポインタ714と、(b)S221にて割り当てたデータページの最終割り当て前方ポインタ714が指すデータページの最終割り当て後方ポインタ715と、を連結する。具体的には、管理情報更新部120が、以下の(1)および(2)を行う。
(1)データページ管理情報71において、S221にて割り当てたデータページの最終割り当て後方ポインタ715が指すデータページのデータページ番号に関連付けされた最終割り当て前方ポインタ714を、S221にて割り当てたデータページの最終割り当て前方ポインタ714が指すデータページのデータページ番号に更新する。
(2)データページ管理情報71において、S221にて割り当てたデータページの最終割り当て前方ポインタ714が指すデータページのデータページ番号関連付けされた最終割り当て後方ポインタ715を、S221にて割り当てたデータページの最終割り当て後方ポインタ715が指すデータページのデータページ番号に更新する。
なお、S223において、S221にて割り当てたデータページの最終割り当て後方ポインタ715が仮想テープIDである場合、管理情報更新部120は、(c)S221にて割り当てたデータページの最終割り当て前方ポインタ714が指すデータページの最終割り当て後方ポインタ715と、(d)仮想テープの最終割り当て終端ポインタ515とを連結する。
ステップS224:管理情報更新部120がS101にて割当対象として決定したデータページを、仮想テープの最終割当リストの終端に連結する。このS224においては、データページの割当先の仮想テープの最終割当リストにデータページがない場合とある場合とに分けて説明する。
S224において、データページの割当先の仮想テープの最終割当リストにデータページがない場合、管理情報更新部120は、(a)割当先の仮想テープの最終割り当て始端ポインタ514と、(b)S221で割り当てたデータページの最終割り当て前方ポインタ714と、を連結する。さらに、管理情報更新部120は、(c)S221で割り当てたデータページの最終割り当て後方ポインタ715と、(d)割当先仮想テープの最終割り当て終端ポインタ515と、を連結する。具体的には、管理情報更新部120が、以下の(1)〜(4)の動作を行う。
(1)仮想テープ管理情報51において、割当先の仮想テープを示す仮想テープIDに関連付けられた最終割り当て始端ポインタ514を、S221で割り当てたデータページのデータページ番号に更新する。
(2)データページ管理情報71において、S221で割り当てたデータページのデータページ番号に関連付けられた最終割り当て前方ポインタ714を、割当先の仮想テープを示す仮想テープIDに更新する。
(3)データページ管理情報71において、S221で割り当てたデータページのデータページ番号に関連付けられた最終割り当て後方ポインタ715を、割当先の仮想テープを示す仮想テープIDに更新する。
(4)仮想テープ管理情報51において、割当先の仮想テープを示す仮想テープIDに関連付けられた最終割り当て終端ポインタ515を、S221で割り当てたデータページのデータページ番号に更新する。
S224において、データページの割当先の仮想テープの最終割当リストにデータページがある場合、管理情報更新部120は、(a)割当先の仮想テープの最終割り当て終端ポインタ515の指すデータページの最終割り当て後方ポインタ715と、(b)S221で割り当てたデータページの最終割り当て前方ポインタ714と、を連結する。また、管理情報更新部120が、(c)S221で割り当てたデータページの最終割り当て後方ポインタ715と、(d)割当先仮想テープの最終割り当て終端ポインタ515と、を連結する。具体的には、管理情報更新部120が、以下の(5)および(6)、並びに、上述した(3)および(4)の動作を行う。
(5)データページ管理情報71において、割当先の仮想テープの最終割り当て終端ポインタ515の指すデータページのデータページ番号に関連付けられた最終割り当て後方ポインタ715を、S221で割り当てたデータページのデータページ番号に更新する。
(6)データページ管理情報70において、S221で割り当てたデータページのデータページ番号に関連付けられた最終割り当て前方ポインタ714を、割当先の仮想テープの最終割り当て終端ポインタ515の指すデータページのデータページ番号に更新する。
次に、図23および図24を参照して、上述のデータ割当処理について、更に説明する。図23は、図14の状態を、図21の仮想テープおよびデータページを用いて表した図であり、各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。実線および破線で結んだ部分はポインタの相互参照関係を表しており、実線は仮想テープの割当リストおよびプールのリストにおけるデータページの連結関係を示し、破線は最終割当リストにおけるデータページの連結関係を表す。
図23に示すように、仮想テープ#1には、データページ#1およびデータページ#4が割り当てられている。また、仮想テープ#2には、データページが割り当てられていない。プールには、10個のデータページのうち、データページ#1およびデータページ#4以外のデータページがリンクされている。そのうち、データページ#2およびデータページ#3は、仮想テープ#1の最終割当リストにリンクされている。また、プールにリンクされているデータページのうち、データページ#2およびデータページ#3以外のデータページは、何れの仮想テープにも割り当てられていない。
図23の状態で、仮想テープ#2に対し、データページ割当処理が行われると、まず、データページ割当部110が、割り当てるデータページ(本例では、データページ#2)を決定する。そして、管理情報更新部120が、データページ#2をプールから切り離し、切り離したデータページ#2を仮想テープ#2に連結する。さらに、管理情報更新部120が、切り離したデータページ#2が処理の前に割り当てられていた、仮想テープ#1の最終割当リストから、上記データページ#2を切り離す。そして、管理情報更新部120は、データページ#2を仮想テープ#2の最終割当リストに連結する。このデータページ割当処理が行われた後の状態を図24に示す。
図24は、図23の状態にデータページ割当処理を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。図24に示すように、仮想テープ#2の割当リストおよび最終割当リストには、データページ#2が割り当てられている。また、プールからデータページ#2が切り離されている。これにより、データページ#2は仮想テープ#1が過去に使用したデータページとして認識されなくなる。
(仮想テープ削除処理)
次に、図25〜図27を参照して、仮想テープ装置1の仮想テープ削除処理の流れについて説明する。図25は、本実施の形態における仮想テープ装置1の仮想テープ削除処理の流れの一例を示すフローチャートである。
コマンド制御部10が上位装置8などから仮想テープの削除処理を受け付けると、仮想テープ装置1は、仮想テープの削除処理を開始する。
図25に示すように、仮想テープ装置1が仮想テープ削除処理を開始すると、仮想テープ制御部100は、以下のステップS251〜ステップS257の処理を行う。
ステップS251:データページ割当部110および管理情報更新部120は、当該仮想テープに割り当てられている全てのデータページに対し、第1の実施の形態で説明したデータページの解放処理を行う。管理情報更新部120は、データページの解放処理が終了すると(S123の後)、解放処理が終了したことを最終割当情報取得部131に通知する。
ステップS252:最終割当情報取得部131が、仮想テープ管理情報51を参照し、削除対象の仮想テープの仮想テープIDに関連付けられた最終割り当て始端ポインタ514が示すデータページのデータページ番号を取得する。最終割当情報取得部131は、取得したデータページ番号をデータ消去部150に供給する。
ステップS253:データ消去部150が、仮想テープデータ記憶部30に記録されている、S252にて取得したデータページ番号で特定されるデータページの記録データを完全に消去する。そして、データ消去部150は、記録データを消去したデータページを示す情報を、管理情報更新部120に供給する。
ステップS254:管理情報更新部120が、S253にて記録データを消去したデータページを、最終割当リストから切り離す。その際に、管理情報更新部120は、上記データページの最終割り当て後方ポインタ715を、メモリ13などに一時保存する。そして、その後、管理情報更新部120は、データページ管理情報71において、当該データページのデータページ番号に関連付けられた最終割り当て前方ポインタ714および最終割り当て後方ポインタ715を「無し」に更新する。そして、管理情報更新部120は、更新が完了したことを最終割当情報取得部131に通知する。
ステップS255:最終割当情報取得部131が、S254にて一時保存した最終割り当て後方ポインタ715を参照し、データを消去したデータページが、最終割当リストの最終データページか否かを確認する。具体的には、上記一時保存した最終割り当て後方ポインタ715が削除対象の仮想テープの仮想テープIDか否かを判定する。最終データページである場合(YESの場合)、最終データページであることを示す通知を、管理情報更新部120に送信し、S257に進む。最終データページでない場合(NOの場合)、S256に進む。
ステップS256:最終割当情報取得部131が、仮想テープ管理情報51を参照し、上記最終割当リストの次のデータページのデータページ番号を取得する。具体的には、S254にて一時保存した最終割り当て後方ポインタ715が示すデータページのデータページ番号を取得する。そして、S253に進む。このように、最終割当リストの最後のデータページまで、S253〜S256の処理を繰り返す。
ステップS257:管理情報更新部120が、仮想テープ管理情報51において、削除対象の仮想テープの仮想テープIDに関連付けられた最終割り当て始端ポインタ514と、最終割り当て終端ポインタ515とを当該仮想テープIDに更新し、処理を終了する。
図26は、図24の状態で、仮想テープ#1に対し、上述したS251の処理、つまり、仮想テープ#1に割り当てられているすべてのデータページに対するデータページ解放処理(図12)を行った後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。
仮想テープ#1に対し、仮想テープ削除処理におけるデータページ解放処理を行うと、図26に示すように、仮想テープ#1に割り当てられていたデータページ#1およびデータページ#4は解放され、プールの最後尾にリンクされる。この時、仮想テープ#1の最終割当リストは、変更しない。つまり、データページ#1およびデータページ#4の夫々における最終割り当て前方ポインタ714および最終割り当て後方ポインタ715、並びに、仮想テープ#1の最終割り当て始端ポインタ514および最終割り当て終端ポインタ515は、更新しない。
その後、上述した仮想テープ削除処理を行うと、プールにリンクされているデータページであって、仮想テープ#1の最終割当リストにリンクされたデータページ(データページ#1、データページ#3およびデータページ#4)の最終割り当て前方ポインタ714および最終割り当て後方ポインタ715は、「無し」に更新される。さらに、仮想テープ#1の最終割り当て始端ポインタ514および最終割り当て終端ポインタ515は、仮想テープ#1の仮想テープIDに更新される。この時の状態を図27に示す。
図27は、仮想テープ削除処理後の各仮想テープと、ストレージプールと、データページの連結関係、および各データページの状態の一例を模式的に表した図である。図27に示すように、データページ番号が「ページ#1」、「ページ#3」および「ページ#4」のデータページの最終割り当て前方ポインタ714および最終割り当て後方ポインタ715は、「無し」に更新されている。また、仮想テープ#2に割り当てられているデータページ#2は、変化しない。
従って、仮想テープ#1の削除処理を行うことにより、仮想テープ#1に割り当てられてから他の仮想テープに割り当てられていないデータページに含まれるデータを完全に消去できる。
(効果)
以上のように、本実施の形態に係る仮想テープ装置1は、1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割当リストにおける位置情報を含むデータページ管理情報71に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する。
上記最終割当リストには、削除対象の仮想テープのデータが残存しているデータページのみを示す情報が含まれている。そのため、データ消去部150は、上記最終割当リストを参照することによって、削除対象の仮想テープのデータが残存しているデータページを特定して、データを消去することができる。
したがって、本実施の形態に係る仮想テープ装置1は、全データページを参照することなく、削除対象の仮想テープに割り当てられてから他の仮想テープに割り当てられていないデータページをより短時間で消去することができる。
<実施の形態3>
本発明に係る第3の実施の形態について、図面を参照して詳細に説明する。上述した第1および第2の実施の形態の仮想テープ装置1は、本実施の形態にかかる仮想テープ制御装置を仮想テープ制御部として含んでいる。本実施の形態では、仮想テープ制御装置について説明を行う。
(仮想テープ制御装置の構成)
図28は、本発明の一実施の形態に係る仮想テープ制御装置の機能構成の一例を示す機能ブロック図である。なお、説明の便宜上、前述した第1および第2の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付す。また、本実施の形態に係る仮想テープ制御装置100のハードウェア構成は、上述した仮想テープ装置1と同様のハードウェア構成(図5)を有しているものとする。
図28に示す通り、仮想テープ制御装置100は、データページ割当部110およびデータ消去部150を備えている。
データページ割当部110は、記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを仮想テープに動的に割り当てる手段である。
データ消去部150は、データページ割当部110によって1または複数のデータページが割り当てられた仮想テープを削除するとき、データページ管理情報70に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する。
データページ管理情報70は、複数のデータページの各々に関連付けられた最終割り当て仮想テープ情報を含んでいる。最終割り当て仮想テープ情報とは、データページに何れの仮想テープのデータが残存しているのかを示す情報である。
なお、データページ管理情報70は、仮想テープ制御装置100内に内蔵された記憶装置に格納されていてもよいし、仮想テープ制御装置100の外部に接続された記憶装置に格納されていてもよい。
本実施の形態に係る仮想テープ制御装置100において、データ消去部150は、データページにデータが残存しているかを示す情報を含むデータページ管理情報70に基づいて、削除対象の仮想テープのデータが含まれるデータページを特定し、消去することができる。
これにより、仮想テープの削除の際に、削除対象の仮想テープで、過去に使用したデータだけを特定して、効率よく仮想テープのデータを消去することできる。
なお、上述した各実施の形態は、本発明の好適な実施の形態であり、上記各実施の形態にのみ本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施の形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。
例えば、上述した実施の形態における各動作は、ハードウェアまたはソフトウェア、あるいはその両方の複合構成によって実行することも可能である。
なお、ソフトウェアによる処理を実行する場合には、例えば、上記各処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。また、上記プログラムは、例えば、ハードディスクなどの記録媒体に記録しておくことが可能である。
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、
前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備えることを特徴とする仮想テープ制御装置。
(付記2)前記データページ管理情報は、前記最終割り当て仮想テープ情報として、データページが前記データページ割当手段によって最後に割り当てられた仮想テープを示す識別子である最終割り当て仮想テープ識別子を含み、
前記データ消去手段は、前記最終割り当て仮想テープ識別子に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする付記1に記載の仮想テープ制御装置。
(付記3)前記データページ管理情報から、前記最終割り当て仮想テープ識別子を取得する最終割当情報取得手段と、
前記削除対象の仮想テープを示す削除対象仮想テープ識別子と、前記最終割当情報取得手段によって取得された前記最終割り当て仮想テープ識別子と、が一致するか否かを判定する判定手段と、を更に備え、
前記データ消去手段は、前記判定手段によって、前記削除対象仮想テープ識別子と前記最終割り当て仮想テープ識別子とが一致すると判定されたとき、当該最終割り当て仮想テープ識別子に関連付けられたデータページに記録されているデータを消去する、ことを特徴とする付記2に記載の仮想テープ制御装置。
(付記4)前記最終割り当て仮想テープ識別子には、当該最終割り当て仮想テープ識別子に関連付けられたデータページが最後に割り当てられた仮想テープがある場合、当該仮想テープを示す識別子が含まれ、当該最終割り当て仮想テープ識別子に関連付けられたデータページが何れの仮想テープにも割り当てられていない場合、何れの仮想テープにも割り当てられていないことを示す情報が含まれる、ことを特徴とする付記2または3に記載の仮想テープ制御装置。
(付記5)
前記データページ割当手段によって、仮想テープに1または複数のデータページが割り当てられたとき、当該データページに関連付けられた前記最終割り当て仮想テープ識別子を、前記仮想テープを示す情報に更新する管理情報更新手段を更に備えることを特徴とする付記2から4の何れかに記載の仮想テープ制御装置。
(付記6)
前記管理情報更新手段は、前記データ消去手段によって、データが消去されたデータページの前記最終割り当て仮想テープ識別子を、何れの仮想テープにも割り当てられていないことを示す情報に更新することを特徴とする付記5に記載の仮想テープ制御装置。
(付記7)前記データページ管理情報は、前記最終割り当て仮想テープ情報として、仮想テープごとに、当該仮想テープのデータを有するデータページから構成される最終割当リストにおける位置情報を含み、
前記データ消去手段は、削除対象の仮想テープの前記最終割当リストにおける前記位置情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする付記1に記載の仮想テープ制御装置。
(付記8)前記最終割当リストの最初のデータページを示す最終割り当て始端情報および最後のデータページを示す最終割り当て終端情報を仮想テープごとに有する仮想テープ管理情報と、前記最終割当リストにおける位置情報とから、前記最終割当リストに含まれるデータページを示すデータページ識別子を取得する最終割当情報取得手段を更に備え、
前記データ消去手段は、前記最終割当情報取得手段によって取得されたデータページ識別子であって、削除対象の仮想テープの前記最終割当リストに含まれるデータページのデータページ識別子によって特定されるデータページに記録されているデータを消去する、ことを特徴とする付記7に記載の仮想テープ制御装置。
(付記9)
前記データページ割当手段によって、仮想テープに1または複数のデータページが割り当てられたとき、当該データページに関連付けられた前記最終割当リストにおける位置情報を更新する管理情報更新手段を更に備えることを特徴とする付記7または8に記載の仮想テープ制御装置。
(付記10)
前記管理情報更新手段は、前記データ消去手段によって、データが消去されたデータページに関連付けられた最終割当リストにおける位置情報を、何れの仮想テープにも割り当てられていないことを示す情報に更新することを特徴とする付記9に記載の仮想テープ制御装置。
(付記11)記憶領域と、
前記記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、
前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備えることを特徴とする仮想テープ装置。
(付記12)記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当て、
1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする制御方法。
(付記13)記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当処理と、
前記データページ割当処理によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去処理と、をコンピュータに実行させることを特徴とするプログラム。
(付記14)付記13に記載のプログラムを記録した記録媒体。
1 仮想テープ装置
10 コマンド制御部
30 仮想テープデータ記憶部
40 データ管理情報記憶部
50 仮想テープ管理情報
501 仮想テープインデックス
502 始端ポインタ
503 終端ポインタ
51 仮想テープ管理情報
511 仮想テープインデックス
512 始端ポインタ
513 終端ポインタ
514 最終割り当て始端ポインタ
515 最終割り当て終端ポインタ
60 未割当データページ管理情報
601 未割当データページの要素
602 始端ポインタ
603 終端ポインタ
604 ストレージプール
70 データページ管理情報
701 データページインデックス
702 前方ポインタ
703 後方ポインタ
704 最終割り当て仮想テープID
71 データページ管理情報
711 データページインデックス
712 前方ポインタ
713 後方ポインタ
714 最終割り当て前方ポインタ
715 最終割り当て後方ポインタ
100 仮想テープ制御部(仮想テープ制御装置)
110 データページ割当部
120 管理情報更新部
130 最終割当情報取得部
131 最終割当情報取得部
140 判定部
150 データ消去部

Claims (10)

  1. 記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、
    前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備えることを特徴とする仮想テープ制御装置。
  2. 前記データページ管理情報は、前記最終割り当て仮想テープ情報として、データページが前記データページ割当手段によって最後に割り当てられた仮想テープを示す識別子である最終割り当て仮想テープ識別子を含み、
    前記データ消去手段は、前記最終割り当て仮想テープ識別子に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする請求項1に記載の仮想テープ制御装置。
  3. 前記データページ管理情報から、前記最終割り当て仮想テープ識別子を取得する最終割当情報取得手段と、
    前記削除対象の仮想テープを示す削除対象仮想テープ識別子と、前記最終割当情報取得手段によって取得された前記最終割り当て仮想テープ識別子と、が一致するか否かを判定する判定手段と、を更に備え、
    前記データ消去手段は、前記判定手段によって、前記削除対象仮想テープ識別子と前記最終割り当て仮想テープ識別子とが一致すると判定されたとき、当該最終割り当て仮想テープ識別子に関連付けられたデータページに記録されているデータを消去する、ことを特徴とする請求項2に記載の仮想テープ制御装置。
  4. 前記最終割り当て仮想テープ識別子には、当該最終割り当て仮想テープ識別子に関連付けられたデータページが最後に割り当てられた仮想テープがある場合、当該仮想テープを示す識別子が含まれ、当該最終割り当て仮想テープ識別子に関連付けられたデータページが何れの仮想テープにも割り当てられていない場合、何れの仮想テープにも割り当てられていないことを示す情報が含まれる、ことを特徴とする請求項2または3に記載の仮想テープ制御装置。
  5. 前記データページ管理情報は、前記最終割り当て仮想テープ情報として、仮想テープごとに、当該仮想テープのデータを有するデータページから構成される最終割当リストにおける位置情報を含み、
    前記データ消去手段は、削除対象の仮想テープの前記最終割当リストにおける前記位置情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする請求項1に記載の仮想テープ制御装置。
  6. 前記最終割当リストの最初のデータページを示す最終割り当て始端情報および最後のデータページを示す最終割り当て終端情報を仮想テープごとに有する仮想テープ管理情報と、前記最終割当リストにおける位置情報とから、前記最終割当リストに含まれるデータページを示すデータページ識別子を取得する最終割当情報取得手段を更に備え、
    前記データ消去手段は、前記最終割当情報取得手段によって取得されたデータページ識別子であって、削除対象の仮想テープの前記最終割当リストに含まれるデータページのデータページ識別子によって特定されるデータページに記録されているデータを消去する、ことを特徴とする請求項5に記載の仮想テープ制御装置。
  7. 記憶領域と、
    前記記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当手段と、
    前記データページ割当手段によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去手段と、を備えることを特徴とする仮想テープ装置。
  8. 記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当て、
    1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去する、ことを特徴とする制御方法。
  9. 記憶領域を所定のサイズに分割することによって得られる複数のデータページのうち、1または複数のデータページを、仮想テープに動的に割り当てるデータページ割当処理と、
    前記データページ割当処理によって1または複数のデータページが割り当てられた仮想テープを削除するとき、前記複数のデータページの各々に関連付けられており、当該データページに何れの仮想テープのデータが残存しているのかを示す最終割り当て仮想テープ情報を含むデータページ管理情報に基づいて、削除対象の仮想テープのデータが残存しているデータページに記録されているデータを消去するデータ消去処理と、をコンピュータに実行させることを特徴とするプログラム。
  10. 請求項9に記載のプログラムを記録した記録媒体。
JP2013181422A 2013-09-02 2013-09-02 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体 Expired - Fee Related JP5958440B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013181422A JP5958440B2 (ja) 2013-09-02 2013-09-02 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013181422A JP5958440B2 (ja) 2013-09-02 2013-09-02 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2015049738A JP2015049738A (ja) 2015-03-16
JP5958440B2 true JP5958440B2 (ja) 2016-08-02

Family

ID=52699690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013181422A Expired - Fee Related JP5958440B2 (ja) 2013-09-02 2013-09-02 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5958440B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4572857B2 (ja) * 2006-03-30 2010-11-04 日本電気株式会社 テープ仮想化システム、テープ仮想化方法およびテープ仮想化プログラム
JP4906674B2 (ja) * 2007-10-25 2012-03-28 株式会社日立製作所 仮想計算機システム及びその制御方法
JP5221157B2 (ja) * 2008-02-04 2013-06-26 株式会社日立製作所 コンピュータシステム及び物理ディスク回収方法
JP4687814B2 (ja) * 2008-06-26 2011-05-25 日本電気株式会社 仮想テープ装置、データバックアップ方法及び記録媒体
US8024530B2 (en) * 2009-01-14 2011-09-20 Cms Products, Inc. Security erase of a delete file and of sectors not currently assigned to a file
JP2010204703A (ja) * 2009-02-27 2010-09-16 Hitachi Ltd 計算機システム及びデータ消去方法
JP5786611B2 (ja) * 2011-09-30 2015-09-30 富士通株式会社 ストレージ装置およびストレージシステム

Also Published As

Publication number Publication date
JP2015049738A (ja) 2015-03-16

Similar Documents

Publication Publication Date Title
JP5224706B2 (ja) 記憶装置及び記憶装置の制御方法
US7610434B2 (en) File recording apparatus
JP4192129B2 (ja) メモリ管理装置
JP4859837B2 (ja) 情報記録媒体アクセス装置、及びデータ記録方法
CN107423233B (zh) 一种可写快照实现方法和装置
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP2010020431A (ja) 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
KR20150104434A (ko) 플래시 메모리에서 사용하는 로그 구조 파일시스템의 메타데이터 저장 방법
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
JP2009238036A (ja) データバックアップ装置、データバックアップ方法およびプログラム
US20160011792A1 (en) Media control device and control method
JP4130808B2 (ja) フォーマット方法
JP5958440B2 (ja) 仮想テープ制御装置、仮想テープ装置、制御方法、プログラムおよび記録媒体
CN107229664B (zh) 用于管理文件系统元数据的间接数据结构
US20130061011A1 (en) Method of managing memory and image forming apparatus to perform the same
JP4714291B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP7314276B2 (ja) ストレージ管理装置、ストレージ管理方法およびプログラム
US10318204B2 (en) Information processing device and information processing method for writing plurality of files on recording medium
JP5161989B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP7435470B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
JP7362349B2 (ja) 制御装置
JP2007310533A (ja) 不揮発性記憶システム、不揮発性記憶装置、及びファイルデータ書き込み方法
JP2010257250A (ja) 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5958440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees