JP2019067186A - ストレージ制御装置およびプログラム - Google Patents

ストレージ制御装置およびプログラム Download PDF

Info

Publication number
JP2019067186A
JP2019067186A JP2017192645A JP2017192645A JP2019067186A JP 2019067186 A JP2019067186 A JP 2019067186A JP 2017192645 A JP2017192645 A JP 2017192645A JP 2017192645 A JP2017192645 A JP 2017192645A JP 2019067186 A JP2019067186 A JP 2019067186A
Authority
JP
Japan
Prior art keywords
tape
command
data
storage medium
access
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.)
Granted
Application number
JP2017192645A
Other languages
English (en)
Other versions
JP6928249B2 (ja
Inventor
芳明 越智
Yoshiaki Ochi
芳明 越智
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017192645A priority Critical patent/JP6928249B2/ja
Publication of JP2019067186A publication Critical patent/JP2019067186A/ja
Application granted granted Critical
Publication of JP6928249B2 publication Critical patent/JP6928249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

【課題】データのアクセス元にマイグレーションを意識させることなく、マイグレーション先の記憶媒体のデータへのアクセスを可能にして、アクセス効率の向上を図る。【解決手段】記憶部1aは、管理情報を記憶管理する。ストレージ部1cは、ストレージ制御装置1に接続され、記憶媒体1c−1、・・・、1c−nにアクセス可能である。制御部1bは、複数の第1の記憶媒体のデータを第2の記憶媒体にマイグレーションする場合、マイグレーション元の第1の記憶媒体のデータに対応するマイグレーション先の第2の記憶媒体上の物理位置を示す管理情報を生成する。そして、制御部1bは、第2の記憶媒体にマイグレーションされたデータへのアクセスが発生した際、管理情報にもとづいて第2の記憶媒体上に位置するデータを検出し、アクセス時に発行された所定コマンドのエミュレーションを行ってデータにアクセスする。【選択図】図1

Description

本発明は、ストレージ制御装置およびプログラムに関する。
ストレージシステムは、一般的に、HDD(Hard Disk Drive)やSSD(Solid State Drive)等を用いたディスクストレージと、磁気テープを用いたテープストレージとを併用化して情報処理データを記憶管理する。
例えば、テープストレージは、ストレージシステムにおけるバックエンドの大容量記憶領域を実現するために利用されている。また、テープの規格としては、LTO(Linear Tape Open)と呼ばれるオープンな規格が、データのバックアップやアーカイブ等の用途に広く採用されている。
テープへのアクセスはドライブ(テープドライブ)によって行われる。ドライブは、上位のホスト等からの指示にもとづいて、カートリッジに収納されているテープを引き出し、ヘッド(磁気ヘッド)でデータをリード/ライトする。
一方、テープにアーカイブされているデータは、解析データやログデータ等の長期に渡って保存されているコールドデータであることが多いので、現状導入されているドライブと、アーカイブデータが書き込まれているテープとには世代間の差が生じやすい。
ドライブとテープとの世代間に差がある場合、ドライブによるテープへのアクセスが不可になる可能性がある。例えば、LTOの仕様では、ドライブとテープとの間に3世代以上の差があると、テープへのアクセスが不可となってデータのリード/ライトができない。
このため、ドライブの世代が、今あるテープの世代よりも新しい場合、この旧世代のテープの全データを、該ドライブでアクセス可能な世代のテープにコピーして移行するマイグレーション(Migration)の処理が行われる。
特開平05−54551号公報 特開2005−122433号公報 特開2009−15924号公報
上記のようなマイグレーションが行われることで、ドライブとテープとの世代間の差を無くすことができる(または世代間の差を小さくすることができる)。
しかし、1つのテープに複数のテープのデータがマイグレーションされ、マイグレーション先のテープに記憶された該データへのアクセスが実行される場合、上位のホストは、例えば、マイグレーション先のテープに記憶されている該データの物理位置の検出等を行ってアクセスを実行することになる。
このため、上位のホストは、物理位置検出等の処理が追加されるので、マイグレーションが実行される以前のテープへアクセスしていた時と同じ運用で、マイグレーション先のテープにアクセスしてリード/ライトすることが困難であり、アクセス効率が低下する。
1つの側面では、本発明は、データのアクセス元にマイグレーションを意識させることなく、マイグレーション先の記憶媒体のデータへのアクセスを可能にしてアクセス効率の向上を図ったストレージ制御装置およびプログラムを提供することを目的とする。
上記課題を解決するために、ストレージ制御装置が提供される。ストレージ制御装置は、記憶部と制御部を備える。記憶部は、管理情報を記憶する。制御部は、複数の第1の記憶媒体から1の第2の記憶媒体にマイグレーションする場合、各第1の記憶媒体と各データに対応する第2の記憶媒体上の物理位置を示す管理情報を生成して記憶部に記憶させ、第2の記憶媒体にマイグレーションされた複数のうちのいずれかの第1の記憶媒体のデータへのアクセスが発生した場合、管理情報にもとづいて第2の記憶媒体上のアクセス対象のデータの位置を検出し、アクセス時に発行された所定コマンドのエミュレーションを行って第2の記憶媒体上のアクセス対象のデータの位置にアクセスする制御を行う。
また、上記課題を解決するために、コンピュータに上記ストレージ制御装置と同様の制御を実行させるプログラムが提供される。
1側面によれば、データのアクセス元にマイグレーションを意識させることなく、マイグレーション先の記憶媒体のデータへのアクセスを可能にして、アクセス効率の向上を図ることができる。
ストレージ制御装置の構成の一例を示す図である。 ドライブとテープとの世代差にもとづくテープへのアクセス可否の一例を示す図である。 1:1のマイグレーションによってテープの使用率が低下する状態を説明するための図である。 テープ装置の構成の一例を示す図である。 テープライブラリ部の構成の一例を示す図である。 テープコントローラのハードウェア構成の一例を示す図である。 VOL管理情報の生成動作の一例を示す図である。 VOL管理情報の一例を示す図である。 VOL管理情報の生成・記録を含むマイグレーションの動作を示すフローチャートである。 VOL管理情報の表示制御を示すフローチャートである。 要求VOLの位置付け動作を示すフローチャートである。 RWDコマンドを受信した場合の動作を示すフローチャートである。 UNLDコマンドを受信した場合の動作を示すフローチャートである。 RDコマンドを受信した場合の動作を示すフローチャートである。 FSPFコマンドを受信した場合の動作を示すフローチャートである。 BSPFコマンドを受信した場合の動作を示すフローチャートである。 WR系コマンドを受信した場合の動作を示すフローチャートである。 LOCATEコマンドを受信した場合の動作を示すフローチャートである。 RDBIDコマンドを受信した場合の動作を示すフローチャートである。 N:1のマイグレーションの自動制御の一例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態のストレージ制御装置について図1を用いて説明する。図1はストレージ制御装置の構成の一例を示す図である。ストレージ制御装置1は、記憶部1aおよび制御部1bを備え、ストレージ部1cに接続される。なお、制御部1bには、上位のホスト2または図示しない端末が接続され、制御部1bは、ホスト2や端末からの指示にもとづいて、ストレージ部1cに対するIO制御を行う。
ストレージ部1cは、所定の記憶媒体(記録媒体)1c−1、・・・、1c−nにアクセス可能(所定の記憶媒体を取り出し可能)である。記憶媒体1c−1、・・・、1c−nは、例えば、磁気テープに該当する。
制御部1bは、複数の第1の記憶媒体から1の第2の記憶媒体にマイグレーションする場合、各第1の記憶媒体と各データに対応する第2の記憶媒体上の物理位置を示す管理情報を生成して記憶部1aに記憶させる。
そして、制御部1bは、第2の記憶媒体にマイグレーションされた複数のうちのいずれかの第1の記憶媒体のデータへのアクセスが発生した場合、管理情報にもとづいて第2の記憶媒体上のアクセス対象のデータの位置を検出し、アクセス時に発行された所定コマンドのエミュレーションを行って第2の記憶媒体上のアクセス対象のデータの位置にアクセスする制御を行う。記憶部1aは、管理情報やその他の制御情報を記憶管理する。
図1に示す例を用いて動作について説明する。制御部1bは、1つの記憶媒体m0にN個の記憶媒体m1、・・・、mNに格納されているデータをコピーするN:1のマイグレーションを実行するものとする。
〔ステップS1〕制御部1bは、記憶媒体m1に格納されているデータd1をリードし、リードしたデータd1を記憶媒体m0の領域にコピーするマイグレーションを行う。
〔ステップS2〕制御部1bは、マイグレーション元の記憶媒体m1のデータd1が格納されるマイグレーション先の記憶媒体m0上の物理位置を示す管理情報v1を生成して記憶部1aに記憶管理させる。また、制御部1bは、記憶管理された管理情報v1を記憶媒体m0の特定領域r1に記録する。
〔ステップS3〕制御部1bは、記憶媒体m2に格納されているデータd2をリードし、リードしたデータd2を記憶媒体m0の領域にコピーするマイグレーションを行う。
〔ステップS4〕制御部1bは、マイグレーション元の記憶媒体m2のデータd2が格納されるマイグレーション先の記憶媒体m0上の物理位置を示す管理情報v2を生成して記憶部1aに記憶管理させる。また、制御部1bは、記憶管理された管理情報v2を記憶媒体m0の特定領域r1に記録する。
〔ステップS5〕制御部1bは、記憶媒体mNに格納されているデータdNをリードし、リードしたデータdNを記憶媒体m0の領域にコピーするマイグレーションを行う。
〔ステップS6〕制御部1bは、マイグレーション元の記憶媒体mNのデータdNが格納されるマイグレーション先の記憶媒体m0上の物理位置を示す管理情報vNを生成して記憶部1aに記憶管理させる。また、制御部1bは、記憶管理された管理情報vNを記憶媒体m0の特定領域r1に記録する。
〔ステップS7〕記憶媒体m0にマイグレーションされたデータd2に対してホスト2からアクセスが発生したとする。制御部1bは、データd2のアクセス要求を検出し、ホスト2で発行された所定コマンドを受信する。
〔ステップS8〕制御部1bは、管理情報v2にもとづいて記憶媒体m0上におけるデータd2の存在と位置を確認する。そして、制御部1bは、アクセス時にホスト2から発行された所定コマンドのエミュレーションを行ってデータd2にアクセスする。
このようにストレージ制御装置1では、記憶媒体に格納されているデータのマイグレーションをN:1で行い、マイグレーション後のデータの物理位置を管理し、所定コマンドのエミュレーションを行って、マイグレーション先の記憶媒体へのデータアクセスを実行する。
これにより、ストレージ制御装置1は、マイグレーション先の記憶媒体をデータアクセス元(例えば、上位のホスト2)にマイグレーション元の記憶媒体と見せることができる。すなわち、ストレージ制御装置1は、マイグレーションをデータアクセス元に意識させることなく、マイグレーション後のデータへのアクセスを可能にするので、アクセス効率の向上を図ることができる。
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態は、メインフレームのフォーマット等に使用されるSL(Standard Label)形式でテープへのデータ(ファイル)のリード/ライトを行うシステムに対して本発明の機能を適用したものである。また、テープは、LTO規格が適用される磁気テープとする。
まず、ドライブとテープとの世代差にもとづくテープへのアクセス可否について、図2を用いて説明する。図2はドライブとテープとの世代差にもとづくテープへのアクセス可否の一例を示す図である。テーブルT0は、ドライブによるテープへのアクセス可否の状態を示している。
なお、ドライブは、自身の世代よりも新しい世代のテープへのアクセスはできないので、その場合のドライブとテープの組合せには、テーブルT0中に斜線が引かれている。
2世代(以下、n世代をGnとも表記)のドライブであるG2ドライブは、Ultrium−2のテープにアクセス可能であり、Ultrium−2のテープに対してデータのリード/ライトができる。
なお、Ultriumとは、LTO規格が適用される磁気テープのシリーズの名称である。また、Ultrium−nのテープは、n世代のテープに相当する。
G3ドライブは、Ultrium−2、3のテープにアクセス可能であり、Ultrium−2、3のテープに対してデータのリード/ライトができる。
G4ドライブは、Ultrium−2、3、4のテープにアクセス可能である。この場合、G4ドライブは、Ultrium−3、4のテープに対してデータのリード/ライトができ、Ultrium−2のテープに対してはデータのリードのみができる。
G5ドライブは、Ultrium−3、4、5のテープにアクセス可能である。この場合、G5ドライブは、Ultrium−4、5のテープに対してデータのリード/ライトができ、Ultrium−3のテープに対してはデータのリードのみができる。
なお、G5ドライブは、Ultrium−2のテープへのアクセスは不可であり、Ultrium−2のテープへのデータのリード/ライトはできない。
G6ドライブは、Ultrium−4、5、6のテープにアクセス可能である。この場合、G6ドライブは、Ultrium−5、6のテープに対してデータのリード/ライトができ、Ultrium−4のテープに対してはデータのリードのみができる。
なお、G6ドライブは、Ultrium−2、3のテープへのアクセスは不可であり、Ultrium−2、3のテープへのデータのリード/ライトはできない。
上記のように、LTO規格のドライブとテープ間のアクセスにおいて、ドライブは、自身の世代と同一世代または1世代前のテープには、データのリード/ライトができ、自身の世代より2世代前のテープには、データのリードのみができる。また、ドライブは、自身の世代より3世代前のテープになるとアクセスは不可となり、データのリード/ライトはできなくなる。
このように、ドライブとテープには世代差にもとづくアクセス可否が生じる。このため、現状のドライブでアクセスできないテープ、特に3世代以上の差があるテープについては、該テープの全データを、ドライブでアクセス可能な世代のテープにコピーして移行するマイグレーションが行われる。
上記の例では、G5ドライブのアクセス対象のテープがUltrium−2のテープの場合や、G6ドライブのアクセス対象のテープがUltrium−2、3のテープの場合では、マイグレーションが行われることになる。
マイグレーションが行われることで、ドライブは、データが移行されたテープへアクセスすることができ、所定データのリード/ライトを行うことが可能になる。
次に1:1のマイグレーションによってテープ使用率が低下する状態について、図3を用いて説明する。図3は1:1のマイグレーションによってテープの使用率が低下する状態を説明するための図である。G3テープのデータをG6テープにマイグレーションする状態を示している。なお、図中のVはボリューム(Volume)、H1はヘッダを意味し、H1の後の空白部にはユーザデータが格納されているとする。
新しい世代のテープほどテープ容量は増加するので、G3テープの容量よりもG6テープの容量の方が大きい。このため、G3テープのデータをG6テープにマイグレーションした場合、G6テープの容量には空き領域が生じる。
このように、1つのGnテープのデータを他の1つのGm(n<m)テープに移行する1:1のマイグレーションでは、テープの世代差によるテープ容量の違いにより、無駄な空き領域が多く生じてテープの使用率が低下することになる。また、この場合、テープの保管数に変化は生じないので、テープの保管効率も悪くなる。
次にN:1のマイグレーションを行った場合のアクセス効率の低下について説明する。上記のように、1:1のマイグレーションではテープ使用率が低下する。
このため、1つのテープに複数(N巻)のテープのデータをコピーするN:1のマイグレーションを行うことにより、1:1のマイグレーションと比較して空き領域を小さくすることができ、テープ使用率の低下を抑制することができる。
しかし、N:1のマイグレーションが行われた場合、データのアクセス元(上位のホスト等)では、例えば、マイグレーション先テープ(データ移行先のテープ)上のデータの物理位置を逐一検出して、マイグレーション元テープ(データ移行元のテープ)に格納されていた該データにアクセスすることになる。
このため、データのアクセス元は、マイグレーション元テープのアクセス時と同じ運用で(マイグレーション実行前の運用で)、マイグレーション先テープにアクセスしてデータをリード/ライトすることが困難であり、アクセス効率の低下が生じる。
本発明ではこのような点に鑑みて、データのアクセス元にマイグレーションを意識させることなく、マイグレーション先の記憶媒体のデータへのアクセスを可能にしてアクセス効率の向上を図ったストレージ制御装置およびプログラムを提供するものである。
<装置構成>
以下、第2の実施の形態の技術について詳しく説明する。図4はテープ装置の構成の一例を示す図である。テープ装置10は、テープコントローラ(MTC:Magnetic Tape Controller)11、ドライブ群12およびテープライブラリ部13を備える。ドライブ群12は、任意のn台のドライブを含み、図4ではドライブ#0、#1、#2としている。また、テープコントローラ11には、ホスト2および端末3が接続される。なお、テープコントローラ11は、図1の制御部1bの機能を有し、テープライブラリ部13は、図1のストレージ部1cの機能を有する。
テープコントローラ11は、ホスト2または端末3からの要求にもとづいて、所定のドライブを駆動して、テープライブラリ部13内に収納されているテープへのIO制御を行う。
ドライブ群12は、テープライブラリ部13内のテープ搬送機構によって搬送されたテープカートリッジをマウントし、テープコントローラ11の制御の下で、マウントしたテープカートリッジ内のテープに対するデータのリード/ライトを行う。テープライブラリ部13は、テープの収納ラックやテープ搬送のロボット機構等を有する(図5で後述)。
ホスト2は、システムの上位装置であり、テープ装置10に対して、テープへのIO制御の指示を与え、指示結果を受信する。端末3は、ユーザにGUI(Graphical User Interface)を提示して、テープ装置10に対する操作入力および保守運用状態の表示等を行う。
ここで、N:1のマイグレーションを行う場合、テープコントローラ11は、端末3からの指示にもとづき、ドライブ群12を駆動して、N:1のマイグレーションを行う。また、テープ装置10では、N:1のマイグレーションが行われたテープに対するデータライトは禁止とする。したがって、ホスト2は、テープへのIOに関する制御を行うが、N:1のマイグレーションが行われたテープに対しては、リードアクセスのみ可能とする。
図5はテープライブラリ部の構成の一例を示す図である。なお、図4で上述した構成要素については、同一符号を付して説明は省略する。テープライブラリ部13は、テープ収納部13a、ロボット駆動部13bおよびライブラリ制御部13cを含む。
テープ収納部13aは、テープを収納するラックである。ロボット駆動部13bは、ライブラリ制御部13cの指示にもとづき、テープ搬送のロボット駆動を行う。例えば、ロボット駆動部13bは、テープ収納部13aのスロットから所定テープを取り出して所定ドライブへマウントしたり、所定ドライブからテープをアンマウントしてテープ収納部13aの元スロットにテープを収納したりする。
ライブラリ制御部13cは、プロセッサ13c−1、テープ情報管理部13c−2、インタフェース部13c−3およびロボット制御部13c−4を含み、各構成要素は互いにバス接続される。
プロセッサ13c−1は、ライブラリ制御部13cの全体制御を行う。テープ情報管理部13c−2は、テープ収納部13aに収納されているテープ情報を管理する。例えば、テープ情報管理部13c−2は、テープ収納部13aのスロットs0には、マイグレーション元テープa1、a2、a3がマイグレーションされたマイグレーション先テープa0が収納されている等の情報を管理する。
インタフェース部13c−3は、テープコントローラ11との通信インタフェース制御を行う。ロボット制御部13c−4は、テープコントローラ11からの指示にもとづき、ロボット駆動部13bの駆動制御を行う。
<ハードウェア構成>
図6はテープコントローラのハードウェア構成の一例を示す図である。テープコントローラ11は、プロセッサ100によって制御されている。すなわち、プロセッサ100は、テープコントローラ11の制御部として機能する。プロセッサ100には、バス106を介してメモリ101と複数の周辺機器が接続されている。
プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
メモリ101は、テープコントローラ11の主記憶装置として使用され、例えば、図1に示した管理情報が記憶される。また、メモリ101には、プロセッサ100に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。さらに、メモリ101は、例えば、テープからリードされたデータをホスト2へ送信するためのデータバッファとしても機能する。
さらにまた、メモリ101は、テープコントローラ11の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD等の半導体記憶装置やHDD等の磁気記録媒体を含んでもよい。
バス106に接続されている周辺機器としては、ホストインタフェース102、テープインタフェース103、入出力/ネットワークインタフェース104およびロボットインタフェース105がある。
ホストインタフェース102は、ホスト2との間でデータを送受信する通信インタフェースである。例えば、ホスト2とテープコントローラ11間が光ケーブルで接続されて光通信が行われる場合、O/E変換またはE/O変換による光通信インタフェース制御を行う。
テープインタフェース103は、ドライブ群12との間でデータを送受信する通信インタフェースである。例えば、SCSI(Small Computer System Interface)によるインタフェース制御が行われる。
入出力/ネットワークインタフェース104は、キーボードやマウス等を含む端末3との間でデータを送受信する通信インタフェースである。また、入出力/ネットワークインタフェース104は、端末3以外の周辺機器を接続するための通信インタフェースとしても機能する。
例えば、入出力/ネットワークインタフェース104は、レーザ光等を利用して、光ディスクに記録されたメッセージの読み取りを行う光学ドライブ装置を接続することができる。光ディスクは、光の反射によって読み取り可能なようにメッセージが記録された可搬型の記録媒体である。光ディスクには、Blu−rayDisc(登録商標、以下略)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
また、入出力/ネットワークインタフェース104は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力/ネットワークインタフェース104との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのメッセージの書き込み、またはメモリカードからのメッセージの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
さらに、入出力/ネットワークインタフェース104は、ネットワークに接続するための通信インタフェースとしても機能する。例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等の機能を実現し、ネットワークから送信された信号やメッセージ等は、プロセッサ100に出力される。
ロボットインタフェース105は、テープライブラリ部13のライブラリ制御部13c内のインタフェース部13c−3に接続して、ロボット駆動部13bを駆動制御するための信号を送受信するためのインタフェースである。
以上のようなハードウェア構成によって、テープコントローラ11の処理機能を実現することができる。例えば、テープコントローラ11は、プロセッサ100がそれぞれ所定のプログラムを実行することで本発明の制御を行うことができる。
テープコントローラ11は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。テープコントローラ11に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
例えば、テープコントローラ11に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
<ボリューム管理情報の生成・記録>
次にN:1のマイグレーションの実行時に生成されるボリューム管理情報について、図7から図9を用いて説明する。ボリューム管理情報は、図1で示した管理情報v1、・・・、vNに該当する。なお、以降では、ボリュームをVOLと表記する場合がある。
図7はVOL管理情報の生成動作の一例を示す図である。2つのG3テープ、1つのG4テープおよび1つのG5テープそれぞれのデータを、1つのG6テープにマイグレーションするものとする。
このようなマイグレーションが行われる場合、例えば、2本のG3テープ、1本のG4テープおよび1本のG5テープのマウント先はドライブ#0となり、またドライブ#1に対して、G6テープがマウントされる。
〔ステップS11〕テープコントローラ11は、1巻目のG3テープのデータをリードする。
〔ステップS12〕テープコントローラ11は、EOD(End Of Data)を検出すると、1巻目のG3テープに関するVOL管理情報を生成する。この場合、1巻目のG3テープのヘッダ部に含まれるボリュームラベルV1のG6テープにおける開始物理位置を示すブロックID(以下、BIDと表記)と、該ヘッダ部に含まれるファイル見出しラベルH1のG6テープにおける開始物理位置を示すBIDを取得する。そして、テープコントローラ11は、取得したこれらBIDにもとづいてVOL管理情報を生成する。
〔ステップS13〕テープコントローラ11は、生成したVOL管理情報にもとづいて、1巻目のG3テープのデータをG6テープにライト(コピー)する。
〔ステップS14〕テープコントローラ11は、生成したVOL管理情報をG6テープのINDEX(インデックス)パーティション部(図1の特定領域r1に該当)に記録する。
2巻目から4巻目のG3、G4、G5テープに関しても上記と同様な処理が行われる。すなわち、各テープのVOL管理情報が生成され、VOL管理情報がG6テープのINDEXパーティション部に記録され、G3、G4、G5テープの各データがG6テープへコピーされるマイグレーションが行われる。
なお、テープの記憶領域は、INDEXパーティション部とデータパーティション部に分割(パーティショニング)されており、INDEXパーティション部には、例えば、データの索引テーブル情報等が記録されてデータの直接検索が可能になっている。テープコントローラ11は、マイグレーション先テープのINDEXパーティション部の領域を利用してVOL管理情報を記録する。
図8はVOL管理情報の一例を示す図である。VOL管理情報テーブルT1は、INDEXパーティション部に記録されるVOL管理情報を含む。VOL管理情報は、順番、VOL名、VOL開始位置、ファイル名およびファイル開始位置の項目を少なくとも含む。
順番は、マイグレーションの実行順番に相当する。VOL名は、マイグレーション元テープの識別ラベル(VOLラベル)である(例えば、図7のV1に該当)。VOL開始位置は、マイグレーション先テープにおけるVOLラベルの開始物理位置を示すBIDである。ファイル名は、マイグレーション元テープに格納されるファイル名である(例えば、図7のH1に該当)。ファイル開始位置は、マイグレーション先テープにおけるファイルの開始物理位置を示すBIDである。
図9はVOL管理情報の生成・記録を含むマイグレーションの動作を示すフローチャートである。なお、テープのフォーマットは、ヘッダ部(前側)、ユーザデータ部およびヘッダ部(後ろ側)を含み、また、ヘッダ部(後ろ側)の後段に2つのテープマーク(TM:Tape Mark)が配置される。
なお、EODは、記憶されているデータの終了を示すが、終了を示すための実体的なデータがあるわけでなく、2つのテープマークが連続配置されることによってEODであることが示される。
ヘッダ部(前側)は、80バイトのVOL名(VOLxxx)および80バイトのファイル名(HDRxxx)を含む。ユーザデータ部は、任意バイトのユーザデータが含まれる。ヘッダ部(後ろ側)は、EOF(End of File)を含む。
〔ステップS20〕テープコントローラ11は、端末3からマイグレーション指示を受信する。
〔ステップS21〕テープコントローラ11は、マイグレーション元テープのマウント要求をドライブ#0に送信し、ドライブ#0にマイグレーション元テープをマウントする。また、テープコントローラ11は、マイグレーション先テープのマウント要求をドライブ#1に送信し、ドライブ#1にマイグレーション先テープをマウントする。
〔ステップS22〕テープコントローラ11は、ドライブ#0に対して、マイグレーション元テープのVOL管理情報に関するデータのリードを行う。
〔ステップS23〕テープコントローラ11は、VOL管理情報に関するデータのリードが正常に行われたか否かを判定する。正常にリードできた場合はステップS24へ処理が進み、正常にリードできず異常終了した場合は、その旨を端末3へ通知する。
〔ステップS24〕テープコントローラ11は、リードした内容がVOL名(VOLxxx)か否かを判定する。VOL名の場合はステップS24aへ処理が進み、VOL名でない場合はステップS25へ処理が進む。
〔ステップS24a〕テープコントローラ11は、リードしたマイグレーション元テープのVOL名をマイグレーション先テープにコピーするためのBIDを取得する。
〔ステップS24b〕テープコントローラ11は、VOL管理情報テーブルT1に、VOL名(VOLxxx)と、取得したBIDとを記録する。ステップS28へ処理が進む。
〔ステップS25〕テープコントローラ11は、リードした内容がファイル名(HDRxxx)か否かを判定する。ファイル名の場合はステップS25aへ処理が進み、ファイル名でない場合はステップS26へ処理が進む。
〔ステップS25a〕テープコントローラ11は、リードしたマイグレーション元テープのファイル名をマイグレーション先テープにコピーするためのBIDを取得する。
〔ステップS25b〕テープコントローラ11は、VOL管理情報テーブルT1に、ファイル名(HDRxxx)と、取得したBIDとを記録する。ステップS28へ処理が進む。
〔ステップS26〕テープコントローラ11は、リードした内容がテープマークか否かを判定する。テープマークの場合はステップS26aへ処理が進み、テープマークでない場合はステップS27へ処理が進む。
〔ステップS26a〕テープコントローラ11は、マイグレーション先テープへテープマークのライトを行う。
〔ステップS26b〕テープコントローラ11は、テープマークのライトが正常に行われたか否かを判定する。正常にライトできた場合はステップS22へ処理が戻り、正常にライトできず異常終了した場合は、その旨を端末3へ通知する。
〔ステップS27〕テープコントローラ11は、EODを検出したか否かを判定する。EODを検出した場合はステップS27aへ処理が進み、EODを未検出の場合はステップS28へ処理が進む。
〔ステップS27a〕テープコントローラ11は、VOL管理情報テーブルT1をマイグレーション先テープのINDEXパーティション部にライトする(上書きする)。
〔ステップS27b〕テープコントローラ11は、マイグレーション元テープをドライブ#0からアンマウントする。
〔ステップS27c〕テープコントローラ11は、全巻のマイグレーション元テープのVOL管理情報の記録およびデータコピーが終了したか否かを判定する。終了した場合はステップS27d−1へ処理が進み、未終了の場合はステップS27d−2へ処理が進む。
〔ステップS27d−1〕テープコントローラ11は、マイグレーション先テープをドライブ#1からアンマウントし、正常終了する。
〔ステップS27d−2〕テープコントローラ11は、次のマイグレーション元テープのマウント要求をドライブ#0に送信し、次のマイグレーション元テープをドライブ#0にマウントする。ステップS22へ処理が戻る。
〔ステップS28〕テープコントローラ11は、マイグレーション元テープのデータをVOL管理情報にもとづきマイグレーション先テープへライトする。
〔ステップS29〕テープコントローラ11は、データのライトが正常に行われたか否かを判定する。正常にライトできた場合はステップS22へ処理が戻り、正常にライトできず異常終了した場合は、その旨を端末3へ通知する。
<VOL管理情報の表示>
図10はVOL管理情報の表示制御を示すフローチャートである。
〔ステップS31〕テープコントローラ11は、所定のマイグレーション先テープに記録されているVOL管理情報の表示指示を端末3から受信する。
〔ステップS32〕テープコントローラ11は、マイグレーション先テープをドライブ#0にマウントする。
〔ステップS33〕テープコントローラ11は、マイグレーション先テープのINDEXパーティション部に記録されているVOL管理情報をリードする。
〔ステップS34〕テープコントローラ11は、リードしたVOL管理情報を端末3へ送信する。
〔ステップS35〕端末3は、受信したVOL管理情報を画面表示する。また、端末3は、オペレータの指示にもとづきVOL管理情報を印刷出力する。
このように、テープコントローラ11で生成されたVOL管理情報は、端末3に表示させることができる。したがって、オペレータは、表示されたVOL管理情報から、1つのマイグレーション先テープにどのテープのデータが格納されているかを容易に認識することができる。
<テープボリュームの位置付け処理>
次にN:1のマイグレーションが行われたマイグレーション先テープに格納されるデータに対してアクセス要求が発生した場合のテープボリュームの位置付け処理について説明する。なお、以降では、アクセス要求が発生したマイグレーション先テープに格納されるテープボリュームを要求VOLとも表記する。
図11は要求VOLの位置付け動作を示すフローチャートである。マイグレーション先テープにVOL001、VOL002、VOL003がマイグレーションされている場合、ホスト2からVOL002のデータ(例えば、VOL002の2ファイル目)のアクセス要求(リード要求)を受けたとする。この場合、VOL002が要求VOLになる。
〔ステップS41〕テープコントローラ11は、ホスト2から送信された、VOL002の2ファイル目(dddブロック)のリード要求を受信する。
〔ステップS42〕テープコントローラ11は、VOL002のマウント要求が発生したことを示す情報を表示する。例えば、“M:VOL002”と表示する。この場合、端末3に表示させてもよいし、テープ装置10が有する表示部に表示させてもよい。
〔ステップS43〕テープコントローラ11は、端末3の指示にもとづき、VOL002が格納されているマイグレーション先テープのドライブへのマウントをロボット制御部13c−4へ依頼する。
なお、テープコントローラ11は、テープ情報管理部13c−2で管理されているテープ情報から、現在マウントされているマイグレーション先テープにVOL002がないことを検出した場合、当該マイグレーション先テープをテープ収納部13aの元位置に戻す制御を行う。
そして、テープコントローラ11は、テープ情報からVOL002がマイグレーションされているマイグレーション先テープを検出し、検出したマイグレーション先テープをドライブにマウントする制御を行うことになる。
〔ステップS44〕テープコントローラ11は、マイグレーション先テープのINDEXパーティション部に記録されているVOL管理情報をリードする。
〔ステップS45〕テープコントローラ11は、VOL管理情報からVOL002を検索する。VOL002が存在する場合はVOL002の開始位置を確認し、ステップS46へ処理が進み、VOL002が存在しない場合はマイグレーション先テープをアンマウントし、他テープの再マウント要求を行う。
〔ステップS46〕テープコントローラ11は、マイグレーション先テープのリード位置を、VOL002の開始位置へ位置付けるためのLOCATEコマンドを発行する。この例の場合、VOL002の開始位置のBIDはyyyであるから、テープコントローラ11は、yyyをパラメータにして、LOCATE(yyy)コマンドを発行する。
〔ステップS47〕テープコントローラ11は、リード処理が可能となったことを示すNRTR(Not Ready To Ready)通知をホスト2へ送信する。
上記のような要求VOL(この例ではVOL002)の位置付け処理が終了すると、テープコントローラ11は、VOL002の範囲に対してエミュレーションによる閉じた制御を行う。なお、要求VOLであるVOL002のBIDの範囲は、yyyブロックから、zzzブロックから1を引いた(zzz−1)ブロックまでの範囲となる。
<エミュレーション制御>
テープコントローラ11は、上記のNRTR通知をホスト2へ送信した後に、ホスト2からマイグレーション先テープのVOL002に関する所定コマンドを受信した場合、所定コマンドのエミュレーション(以下、VOLエミュレーションと表記)制御を行う。
所定コマンドとしては、例えば、RWD(Rewind)コマンド、UNLD(Unload)コマンド、RD(Read)コマンド、FSPF(Forward Space File)コマンド、BSPF(Back Space File)コマンドがある。さらに、WR(Write)系コマンド、LOCATEコマンドおよびRDBID(Read BID)コマンドがある。以下、各コマンドを受信した際の動作について、図12から図19を用いて説明する。
図12はRWDコマンドを受信した場合の動作を示すフローチャートである。なお、RWDコマンドは、テープを巻き戻して、テープに対するドライブのヘッドの位置(アクセス開始点)をテープの先頭に位置付けるためのコマンドである。
〔ステップS111〕テープコントローラ11は、ホスト2から送信されたRWDコマンドを受信する。
〔ステップS112〕テープコントローラ11は、RWDコマンドがマイグレーション先テープに対するコマンドか否かを判定する。マイグレーション先テープに対するコマンドの場合はステップS113へ処理が進み、マイグレーション先テープに対するコマンドでない場合はステップS114へ処理が進む。
〔ステップS113〕テープコントローラ11は、RWDコマンドをLOCATEコマンドに変換する。具体的には、テープコントローラ11は、マイグレーション先テープのアクセス対象のVOLxxxの開始位置(BID)の値をLOCATEコマンドのパラメータに設定し、マイグレーション先テープがマウントされているドライブへLOCATEコマンドを発行する。
〔ステップS114〕テープコントローラ11は、非マイグレーション先テープ(マイグレーションが行われていない通常のテープ)がマウントされているドライブに対してRWDコマンドを発行する。
このように、テープコントローラ11は、RWDコマンドを受信した場合、マイグレーション先テープの要求VOLの開始物理位置をパラメータにして、該パラメータにアクセス開始点を位置付けるためのLOCATEコマンドを生成するVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、RWDコマンドを発行することによって、マイグレーション先テープに格納されている要求VOLの先頭領域にアクセス開始点を位置付けることができる。
図13はUNLDコマンドを受信した場合の動作を示すフローチャートである。なお、UNLDコマンドは、テープをドライブからアンマウントするためのコマンドである。
〔ステップS121〕テープコントローラ11は、ホスト2から送信されたUNLDコマンドを受信する。
〔ステップS122〕テープコントローラ11は、UNLDコマンドがマイグレーション先テープに対するコマンドか否かを判定する。マイグレーション先テープに対するコマンドの場合はステップS123へ処理が進み、マイグレーション先テープに対するコマンドでない場合はステップS124へ処理が進む。
〔ステップS123〕テープコントローラ11は、マイグレーション先テープに格納される次のデータ(例えば、VOL003のデータ)のリードに備えた待機状態になる。
〔ステップS124〕テープコントローラ11は、非マイグレーション先テープがマウントされているドライブに対してUNLDコマンドを発行する。
〔ステップS125〕テープコントローラ11は、所定時間経過後(例えば、マイグレーション先テープに格納される次のデータに対するリード要求が所定時間経過しても発生しない場合)、ドライブへUNLDコマンドを発行する。そして、テープコントローラ11は、図5に示したロボット制御部13c−4にアンマウントを依頼する。
図14はRDコマンドを受信した場合の動作を示すフローチャートである。なお、RDコマンドは、テープからデータをリードするためのコマンドである。
〔ステップS131〕テープコントローラ11は、ホスト2から送信されたRDコマンドを受信する。
〔ステップS132〕テープコントローラ11は、ドライブへRDコマンドを発行する。
〔ステップS133〕テープコントローラ11は、発行したRDコマンドがマイグレーション先テープに対して実行されたか否かを判定する。マイグレーション先テープに対して実行された場合はステップS134へ処理が進み、非マイグレーション先テープに対して実行された場合はステップS136へ処理が進む。
〔ステップS134〕テープコントローラ11は、2本連続のテープマークをリードしたか否かを判定する。2本連続のテープマークをリードした場合はステップS135へ処理が進み、リードしていない場合はステップS136へ処理が進む。
〔ステップS135〕テープコントローラ11は、アクセス対象データのEODを検出したことをホスト2へ通知する。
〔ステップS136〕テープコントローラ11は、RDコマンドによってリードされた対象ブロックのデータ(アクセス対象データ)をホスト2へ通知する。
このように、テープコントローラ11は、RDコマンドを受信した場合、マイグレーション先テープのデータの終端(EOD)を検出するまで該データを読み出し、EODを検出するとその旨をホスト2へ通知するVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、RDコマンドを発行することによって、マイグレーション先テープからアクセス対象データをリードすることができる。
図15はFSPFコマンドを受信した場合の動作を示すフローチャートである。なお、FSPFコマンドは、テープに対するヘッドの位置を、1データブロック分前進させるためのコマンドである。
〔ステップS141〕テープコントローラ11は、ホスト2から送信されたFSPFコマンドを受信する。
〔ステップS142〕テープコントローラ11は、ドライブへFSPFコマンドを発行する。
〔ステップS143〕テープコントローラ11は、発行したFSPFコマンドがマイグレーション先テープに対して実行されたか否かを判定する。マイグレーション先テープに対して実行された場合はステップS144へ処理が進み、非マイグレーション先テープに対して実行された場合は終了する。
〔ステップS144〕テープコントローラ11は、ドライブへRDBIDコマンドを発行して、FSPFコマンドによってデータブロックが前進された物理位置のBIDを取得する。なお、RDBIDコマンドは、BIDをリードするためのコマンドである。
〔ステップS145〕テープコントローラ11は、取得したBIDが、マイグレーション先テープに格納されている要求VOLの範囲を外れるか否かを判定する。範囲を外れる場合はステップS146へ処理が進み、範囲を外れない場合は終了する。
〔ステップS146〕テープコントローラ11は、後尾領域EOTを検出したことをホスト2へ通知する。
ここで例えば、取得したBIDがeeeの値を示す場合(図11のVOL管理情報を参照)、FSPFコマンドによってヘッド位置が前進して、次のVOL003にヘッドが位置していることになり、要求VOL(VOL002)の範囲を外れることになる。
このように、FSPFコマンドの実行によって、ステップS144で取得したBIDの値が、要求VOLの次のVOLの開始位置以上になる場合がある、したがって、テープコントローラ11は、FSPFコマンドの実行によって、ヘッドの位置が要求VOLの範囲から外れた場合、EOTを検出したことをホスト2へ通知する。
このように、テープコントローラ11は、FSPFコマンドを受信した場合、マイグレーション先テープに対するアクセス開始点を所定値前進させて、所定値前進させたときのマイグレーション先テープ上の物理位置を取得する。
そして、テープコントローラ11は、取得した物理位置が、要求VOLの範囲を外れる場合、EOTを検出したことをホスト2へ通知するVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、FSPFコマンドを発行することによって、マイグレーション先テープ上でアクセス開始点を所定値前進させることができる。
図16はBSPFコマンドを受信した場合の動作を示すフローチャートである。なお、BSPFコマンドは、テープに対するヘッドの位置を、1データブロック分後進させるためのコマンドである。
〔ステップS151〕テープコントローラ11は、ホスト2から送信されたBSPFコマンドを受信する。
〔ステップS152〕テープコントローラ11は、ドライブへBSPFコマンドを発行する。
〔ステップS153〕テープコントローラ11は、発行したBSPFコマンドがマイグレーション先テープに対して実行されたか否かを判定する。マイグレーション先テープに対して実行された場合はステップS154へ処理が進み、非マイグレーション先テープに対して実行された場合は終了する。
〔ステップS154〕テープコントローラ11は、ドライブへRDBIDコマンドを発行して、BSPFコマンドによってデータブロックが後進された物理位置のBIDを取得する。
〔ステップS155〕テープコントローラ11は、取得したBIDが、マイグレーション先テープに格納されている要求VOLの範囲を外れるか否かを判定する。範囲を外れる場合はステップS156へ処理が進み、範囲を外れない場合は終了する。
〔ステップS156〕テープコントローラ11は、BOT(Beginning Of Tape)を検出したことをホスト2へ通知する。
ここで例えば、取得したBIDがbbbの値を示す場合(図11のVOL管理情報を参照)、BSPFコマンドによってヘッド位置が後進して、1つ前のVOL001のファイルにヘッドが位置していることになり、要求VOL(VOL002)の範囲を外れることになる。
このように、BSPFコマンドの実行によって、ステップS154で取得したBIDの値が、要求VOLの開始位置BID未満になる場合がある。したがって、テープコントローラ11は、BSPFコマンドの実行によって、ヘッドの位置が要求VOLの範囲から外れた場合、BOTを検出したことをホスト2へ通知する。
このように、テープコントローラ11は、BSPFコマンドを受信した場合、マイグレーション先テープに対するアクセス開始点を所定値後進させて、所定値後進させたときのマイグレーション先テープ上の物理位置を取得する。
そして、テープコントローラ11は、取得した物理位置が、要求VOLの範囲を外れる場合、BOTを検出したことをホスト2へ通知するVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、BSPFコマンドを発行することによって、マイグレーション先テープ上でアクセス開始点を所定値後進させることができる。
図17はWR系コマンドを受信した場合の動作を示すフローチャートである。なお、WR系コマンドは、テープにデータをライトするためのコマンドである。
〔ステップS161〕テープコントローラ11は、ホスト2から送信されたWR系コマンドを受信する。
〔ステップS162〕テープコントローラ11は、WR系コマンドがマイグレーション先テープに対するコマンドか否かを判定する。マイグレーション先テープに対するコマンドの場合はステップS163へ処理が進み、マイグレーション先テープに対するコマンドでない場合はステップS164へ処理が進む。
〔ステップS163〕テープコントローラ11は、ライト不可である旨をホスト2へ通知する(N:1のマイグレーションが行われているマイグレーション先テープへの外部からのデータライトは禁止する)。
〔ステップS164〕テープコントローラ11は、ドライブにWR系コマンドを発行する。
図18はLOCATEコマンドを受信した場合の動作を示すフローチャートである。なお、LOCATEコマンドの内容は上述したように、ヘッドを位置決めするためのコマンドである。
〔ステップS171〕テープコントローラ11は、ホスト2から送信されたLOCATEコマンドを受信する。
〔ステップS172〕テープコントローラ11は、LOCATEコマンドがマイグレーション先テープに対するコマンドか否かを判定する。マイグレーション先テープに対するコマンドの場合はステップS173へ処理が進み、マイグレーション先テープに対するコマンドでない場合はステップS174へ処理が進む。
〔ステップS173〕テープコントローラ11は、LOCATEコマンドのパラメータのオフセット処理を行う。具体的には、テープコントローラ11は、ステップS171で受信したLOCATEコマンドのパラメータに対応するBIDに、要求VOLの開始位置を示すBIDを加算し、加算結果のBIDを新たなパラメータにしたLOCATEコマンドを生成する。
〔ステップS174〕テープコントローラ11は、ステップS173で生成したLOCATEコマンドをドライブに発行する。
このように、テープコントローラ11は、LOCATEコマンドを受信した場合、マイグレーション先テープのデータの開始物理位置の値に、受信したLOCATEコマンドで指示されたアクセス開始点の値を加えて、新たなアクセス開始点を求める。そして、テープコントローラ11は、求めたアクセス開始点をLOCATEコマンドのパラメータにするVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、LOCATEコマンドを発行することによって、マイグレーション先テープに格納されるアクセス対象データに対してアクセス開始点を位置付けることができる。
図19はRDBIDコマンドを受信した場合の動作を示すフローチャートである。なお、RDBIDコマンドの内容は上述したように、所定データの開始のBIDをリードするためのコマンドである。
〔ステップS181〕テープコントローラ11は、ホスト2から送信されたRDBIDコマンドを受信する。
〔ステップS182〕テープコントローラ11は、ドライブへRDBIDコマンドを発行する。
〔ステップS183〕テープコントローラ11は、RDBIDコマンドがマイグレーション先テープに対して実行されたか否かを判定する。マイグレーション先テープに対して実行された場合はステップS184へ処理が進み、非マイグレーション先テープに対して実行された場合はステップS185へ処理が進む。
〔ステップS184〕テープコントローラ11は、RDBIDコマンドのパラメータのオフセット処理を行う。具体的には、ヘッドが位置しているBIDから要求VOLの開始位置BIDを引いたBIDを検出してホスト2へ通知する。
〔ステップS185〕テープコントローラ11は、ヘッドが位置しているBIDをホスト2へ通知する。
このように、テープコントローラ11は、RDBIDコマンドを受信した場合、マイグレーション先テープのアクセス対象データの現在のアクセス開始点の値から、該アクセス対象データの開始物理位置の値を引いた値を取得する。そして、テープコントローラ11は、取得したBIDをホスト2へ通知するVOLエミュレーションを行う。
これにより、ホスト2は、マイグレーションされていることを意識することなく、RDBIDコマンドを発行することによって、マイグレーション先テープに格納されているアクセス対象データに対するBIDを取得することができる。
<N:1のマイグレーションの自動制御>
図20はN:1のマイグレーションの自動制御の一例を示すフローチャートである。
〔ステップS50〕テープコントローラ11は、テープライブラリ部13の通常運用を行う。
〔ステップS51〕テープコントローラ11は、未使用テープの残数が所定数以下であるか否かを判定する。未使用テープの残数が所定数以下の場合、ステップS52へ処理が進み、未使用テープの残数が所定数を超える場合、ステップS50の処理へ戻る。
〔ステップS52〕テープコントローラ11は、マイグレーション先テープAをドライブ#1へマウントし、ドライブ#1のヘッドをマイグレーション先テープAのEODに位置付ける。
〔ステップS53a−1〕テープコントローラ11は、マイグレーション元テープa1をドライブ#0へマウントする。
〔ステップS53b−1〕テープコントローラ11は、ドライブ#0にマウントされているマイグレーション元テープa1のデータをマイグレーション先テープAにマイグレーションする。
〔ステップS53c−1〕テープコントローラ11は、マイグレーション元テープa1を初期化(未使用化)する。
〔ステップS53d−1〕テープコントローラ11は、マイグレーション元テープa1をドライブ#0からアンマウントして、テープ収納部13aの元位置に戻す。
〔ステップS53a−2〕テープコントローラ11は、マイグレーション元テープa2をドライブ#0へマウントする。
〔ステップS53b−2〕テープコントローラ11は、ドライブ#0にマウントされているマイグレーション元テープa2のデータをマイグレーション先テープAにマイグレーションする。
〔ステップS53c−2〕テープコントローラ11は、マイグレーション元テープa2を初期化する。
〔ステップS53d−2〕テープコントローラ11は、マイグレーション元テープa2をドライブ#0からアンマウントして、テープ収納部13aの元位置に戻す。
〔ステップS54〕テープコントローラ11は、マイグレーション先テープAをドライブ#1からアンマウントして、テープ収納部13aの元位置に戻す。
以上説明したように、テープ装置10は、N:1のマイグレーションを行うので、1:1のマイグレーションよりもマイグレーション先テープの空き領域を小さくすることができる。これにより、テープ装置10は、テープの使用率の低下を抑制し、テープの保管効率を向上させることが可能になる。
さらに、テープ装置10は、N:1のマイグレーションが行われたテープへのアクセス要求時、所定コマンドに対するエミュレーションを行ってアクセスを実行する。これにより、テープ装置10は、上位のホスト2に対して、マイグレーションが行われていない場合のテープに対するアクセスとして見せるので、ホスト2は、マイグレーションが実行される以前のテープへのアクセス処理をそのまま運用できる。したがって、マイグレーションを上位に意識させることなく、マイグレーション後のデータへのアクセスを可能にするので、アクセス効率の向上を図ることができる。
なお、上記では、マイグレーションを行う記憶媒体を磁気テープとして説明したが、DVDやBlu−rayDisc等のその他の記憶媒体に対しても本発明の機能を適用することが可能である。
上記で説明した本発明のストレージ制御装置1およびテープ装置10の処理機能は、コンピュータによって実現することができる。この場合、ストレージ制御装置1およびテープ装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 ストレージ制御装置
1a 記憶部
1b 制御部
1c ストレージ部
1c−1、・・・、1c−n 記憶媒体
2 ホスト
m0 マイグレーション先の記憶媒体
m1、m2、・・・、mN マイグレーション元の記憶媒体
d1、・・・、dN データ
v1、・・・、vN 管理情報
r1 特定領域

Claims (8)

  1. 管理情報を記憶する記憶部と、
    複数の第1の記憶媒体から1の第2の記憶媒体にマイグレーションする場合、各第1の記憶媒体と各データに対応する前記第2の記憶媒体上の物理位置を示す前記管理情報を生成して前記記憶部に記憶させ、前記第2の記憶媒体にマイグレーションされた複数のうちのいずれかの前記第1の記憶媒体のデータへのアクセスが発生した場合、前記管理情報にもとづいて前記第2の記憶媒体上のアクセス対象のデータの位置を検出し、アクセス時に発行された所定コマンドのエミュレーションを行って前記第2の記憶媒体上の前記アクセス対象のデータの位置にアクセスする制御を行う制御部と、
    を有するストレージ制御装置。
  2. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体の先頭領域にアクセス開始点を位置付けるための第1のコマンドを受信した場合、
    前記第2の記憶媒体における前記第1の記憶媒体の先頭領域に対応する開始物理位置をパラメータにして、前記アクセス対象のデータのアクセス開始点を位置付けるための第2のコマンドを生成し、前記第1のコマンドを前記第2のコマンドに変換して前記第2のコマンドを実行する、
    請求項1記載のストレージ制御装置。
  3. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体からデータ読み出しのためのコマンドを受信した場合、
    前記第2の記憶媒体における前記アクセス対象データの終端を検出するまでデータ読み出しを行い、前記終端を検出した場合は、前記コマンドの発行元へ前記終端を検出したことを通知する請求項1記載のストレージ制御装置。
  4. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体に対するアクセス開始点を所定値前進させるためのコマンドを受信した場合、
    前記第2の記憶媒体に対するアクセス開始点を前記所定値前進させて、前記所定値前進させたときの前記第2の記憶媒体上の物理位置を取得し、前記物理位置が、前記第2の記憶媒体にマイグレーションされた前記アクセス対象データの範囲を外れる場合、前記コマンドの発行元へ前記第1の記憶媒体の後尾領域を検出したことを通知する、
    請求項1記載のストレージ制御装置。
  5. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体に対するアクセス開始点を所定値後進させるためのコマンドを受信した場合、
    前記第2の記憶媒体に対するアクセス開始点を前記所定値後進させて、前記所定値後進させたときの前記第2の記憶媒体上の物理位置を取得し、前記物理位置が、前記第2の記憶媒体にマイグレーションされたアクセス対象の前記データの範囲を外れる場合、前記コマンドの発行元へ前記第1の記憶媒体の先頭領域を検出したことを通知する、
    請求項1記載のストレージ制御装置。
  6. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体に対する第1のアクセス開始点を位置付けるためのコマンドを受信した場合、
    前記第2の記憶媒体の前記アクセス対象データの開始物理位置の値に、受信した前記コマンドで指示された前記第1のアクセス開始点の値を加えて第2のアクセス開始点を求め、前記第2のアクセス開始点を前記コマンドのパラメータにする、
    請求項1記載のストレージ制御装置。
  7. 前記制御部は、
    前記所定コマンドとして、前記第1の記憶媒体のデータ開始点を読み出すためのコマンドを受信した場合、
    前記第2の記憶媒体の前記データの現在のアクセス開始点の値から、前記第2の記憶媒体の前記アクセス対象データの開始物理位置の値を引いた値を前記コマンドの発行元へ通知する、
    請求項1記載のストレージ制御装置。
  8. コンピュータに、
    複数の第1の記憶媒体から1の第2の記憶媒体にマイグレーションする場合、各第1の記憶媒体と各データに対応する前記第2の記憶媒体上の物理位置を示す前記管理情報を生成してメモリに記憶させ、
    前記第2の記憶媒体にマイグレーションされた複数のうちのいずれかの前記第1の記憶媒体のデータへのアクセスが発生した場合、前記管理情報にもとづいて前記第2の記憶媒体上のアクセス対象のデータの位置を検出し、アクセス時に発行された所定コマンドのエミュレーションを行って前記第2の記憶媒体上の前記アクセス対象のデータの位置にアクセスする制御を行う、
    処理を実行させるプログラム。
JP2017192645A 2017-10-02 2017-10-02 ストレージ制御装置およびプログラム Active JP6928249B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017192645A JP6928249B2 (ja) 2017-10-02 2017-10-02 ストレージ制御装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017192645A JP6928249B2 (ja) 2017-10-02 2017-10-02 ストレージ制御装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2019067186A true JP2019067186A (ja) 2019-04-25
JP6928249B2 JP6928249B2 (ja) 2021-09-01

Family

ID=66337918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017192645A Active JP6928249B2 (ja) 2017-10-02 2017-10-02 ストレージ制御装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6928249B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809731B2 (en) 2021-09-28 2023-11-07 International Business Machines Corporation Appending data to a tape cartridge during recall operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809731B2 (en) 2021-09-28 2023-11-07 International Business Machines Corporation Appending data to a tape cartridge during recall operations

Also Published As

Publication number Publication date
JP6928249B2 (ja) 2021-09-01

Similar Documents

Publication Publication Date Title
JP5954751B2 (ja) テープ上のデータをロールバックする方法及びファイルシステム
JP5621909B2 (ja) 情報処理装置、ストレージシステムおよび書き込み制御方法
US9448744B2 (en) Mapping locations of logical volume records on a physical stacked volume
US9021175B2 (en) Method for reordering access to reduce total seek time on tape media
US9448943B2 (en) Partial volume access in a physical stacked volume
JP5785484B2 (ja) テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム
JP6391061B2 (ja) テープ上へのファイル書き込み方法
US9852756B2 (en) Method of managing, writing, and reading file on tape
JP2006065999A (ja) 磁気テープ制御装置、方法及びプログラム
US6952753B2 (en) Device driver with improved timeout performance
US8856436B2 (en) Locating host data records on a physical stacked volume
US20120005441A1 (en) Copying apparatus, copying method, memory medium, and program
JP2019067186A (ja) ストレージ制御装置およびプログラム
JP2008146760A (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US20080168193A1 (en) Use of unique identifiers for each data format supported by a multi-format data store
US8811133B2 (en) Writing system, writing device, and writing method
JP6015752B2 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
JP6810353B2 (ja) 情報処理システム、情報処理装置およびプログラム
JP2019204164A (ja) ストレージシステム、制御装置、及び制御プログラム
JP2004157859A (ja) データストレージ装置及びデータストレージ方法
JP2007048319A (ja) 複合計算機システムおよび複合i/oシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200709

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200722

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210625

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: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6928249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150