JP5910213B2 - ストレージシステム、ストレージ制御方法およびストレージ制御プログラム - Google Patents

ストレージシステム、ストレージ制御方法およびストレージ制御プログラム Download PDF

Info

Publication number
JP5910213B2
JP5910213B2 JP2012062166A JP2012062166A JP5910213B2 JP 5910213 B2 JP5910213 B2 JP 5910213B2 JP 2012062166 A JP2012062166 A JP 2012062166A JP 2012062166 A JP2012062166 A JP 2012062166A JP 5910213 B2 JP5910213 B2 JP 5910213B2
Authority
JP
Japan
Prior art keywords
data
recording medium
writing
portable recording
export
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
JP2012062166A
Other languages
English (en)
Other versions
JP2013196319A (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.)
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 JP2012062166A priority Critical patent/JP5910213B2/ja
Priority to US13/738,013 priority patent/US8605560B2/en
Publication of JP2013196319A publication Critical patent/JP2013196319A/ja
Application granted granted Critical
Publication of JP5910213B2 publication Critical patent/JP5910213B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、ストレージシステム、ストレージ制御方法およびストレージ制御プログラムに関する。
可般型の記録媒体として、磁気テープや光ディスク、光磁気ディスクなどがある。特に磁気テープは、ストレージシステムにおけるバックエンドの大容量記憶領域を実現する記録媒体として利用されている。
可般型の記録媒体にデータを記録する技術としては、例えば、データを複数の記録媒体に2重化して記録するもの、複数のデータセット、またはデータを分割した分割データを、複数の記録媒体に分散させて記録するものがある。
特開平4−344922号公報 特開2001−236253号公報 特開2005−18484号公報
可搬型の記録媒体にデータを書き込む際、例えば、一時的な異常の発生などによって書き込みが停止することがある。このような場合、書き込みをリトライすることで、書き込み処理を完了できることがあるが、書き込みをリトライする分だけ、書き込み処理を完了するまでの時間が長くなってしまう。
1つの側面では、本発明は、書き込み完了時間の遅延を抑制するストレージシステム、ストレージ制御方法およびプログラムを提供することを目的とする。
1つの案では、ストレージシステムが提供される。ストレージシステムは、可搬型記録媒体にデータの読み書きを行う複数のドライブ装置と、複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理と、複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可搬型記録媒体にデータを書き込む処理とを並列に実行し、第1の可搬型記録媒体と第2の可搬型記録媒体のうちの一方に対するデータの書き込み処理が完了すると、他方の可搬型記録媒体へのデータの書き込み処理をキャンセルする制御装置とを備え、制御装置は、複数のドライブ装置の使用状況またはデータの属性の少なくとも一方に基づく条件に従って、第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理および第2のドライブ装置を通じて第2の可搬型記録媒体にデータを書き込む処理を並列に実行する並列書き込み処理と、第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む単独書き込み処理とのどちらを実行するかを判定し、並列書き込み処理を実行した場合には、第1の可搬型記録媒体と第2の可搬型記録媒体のうちの一方に対するデータの書き込み処理が完了すると、他方の可搬型記録媒体へのデータの書き込み処理をキャンセルし、制御装置は、第1の可搬型記録媒体および第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納し、並列書き込み処理の優先度が、キャッシュ装置に空き領域を生成するためにキャッシュ装置内のデータを他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを他の複数の可搬型記録媒体のいずれかから読み出してキャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置からキャッシュ装置に書き込まれたデータをホスト装置からの書き込みとは非同期に他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する
また、1つの案では、上記制御装置と同様の処理を実行するストレージ制御方法が提供される。
さらに、1つの案では、コンピュータに上記制御装置と同様の処理を実行させるストレージ制御プログラムが提供される。
1態様によれば、ストレージシステム、ストレージ制御方法およびストレージ制御プログラムにおいて、書き込み完了時間の遅延を抑制することが可能になる。
第1の実施の形態に係るストレージシステムの構成例を示す図である。 第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。 制御装置のハードウェア構成例を示す図である。 テープライブラリ装置のハードウェア構成例を示す図である。 制御装置が備える処理機能の例を示すブロック図である。 コマンドキューに登録される情報の例を示す図である。 ボリューム管理テーブルに登録される情報の例を示す図である。 エクスポート用磁気テープ管理テーブルの構成例を示す図である。 ドライブ管理テーブルの構成例を示す図である。 エクスポート並列処理の動作フローを示す図である。 エクスポート並列処理の動作フローを示す図である。 エクスポート並列処理の動作フローを示す図である。 終了処理の動作フローを示す図である。
以下、本発明の実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るストレージシステムの構成例を示す図である。ストレージシステム10は、制御装置11、ドライブ装置12−1〜12−nおよび可搬型記録媒体13−1〜13−nを備える。
ドライブ装置12−1〜12−nは、可般型記録媒体13−1〜13−nそれぞれにデータの読み書きを行う。
制御装置11は、ドライブ装置12−1〜12−nのうちのドライブ装置12−1を通じて可般型記録媒体13−1にデータを書き込む処理と、ドライブ装置12−2を通じて可般型記録媒体13−2にデータを書き込む処理とを並列に実行する。なお、制御装置11は、データの書き込みに使用する2つのドライブ装置を任意に選択可能である。
制御装置11は、可般型記録媒体13−1、13−2のうちの一方に対するデータの書き込み処理が完了すると、他方の可般型記録媒体へのデータの書き込み処理をキャンセルする。例えば、可搬型記録媒体13−1、13−2におけるデータ書き込み並列処理を行った場合、可搬型記録媒体13−1の方が可搬型記録媒体13−2よりも先にデータが書き込まれた場合は、可搬型記録媒体13−2の書き込み処理をキャンセルする。
ここで、1つの可搬型記録媒体に対してデータ書き込み処理が行われる場合、異常発生等によって書き込みが停止すると、書き込み処理のリトライを行うことになり、書き込み処理の完了時間に遅延が生じていた。これに対し、ストレージシステム10では、上記のように、可搬型記録媒体13−1、13−2へのデータ書き込み処理を並列に実行し、可般型記録媒体13−1に対する書き込み処理が完了すると、他方の可般型記録媒体13−2への書き込み処理をキャンセルする構成とした。
このように、2つの可搬型記録媒体へのデータ書き込み処理を並列実行するので、どちらか一方の書き込み処理に異常が発生したとしても、他方の書き込み処理は、正常に終了する可能性が高い。そして、書き込み処理が先に完了した方を有効な可搬型記録媒体とするので、書き込みリトライ処理は不要になる。従って、書き込みリトライ処理によって生じていた書き込み完了時間の遅延を抑制することが可能になる。
次に、ストレージシステム10を仮想テープライブラリシステムに適用した実施の形態について以降説明する。
[第2の実施の形態]
図2は、第2の実施の形態に係るストレージシステムのシステム構成例を示す図である。ストレージシステム100は、仮想テープ装置200、テープライブラリ装置300およびホスト装置400を含む。
テープライブラリ装置300は、記録媒体として磁気テープを用いた記憶装置である。後述するように、テープライブラリ装置300は、磁気テープに対するデータアクセスを行う複数のテープドライブ(図1のドライブ装置12−1〜12−nに該当)や、磁気テープを収容したテープカートリッジを搬送する機構などを備える。
なお、テープライブラリ装置300は、例えば、仮想テープ装置200と同じ筐体内に設けられていてもよい。
仮想テープ装置200は、制御装置201、202(図1の制御装置11に該当)と、ディスクアレイ装置500とを備える。ディスクアレイ装置500は、複数のHDD(Hard Disk Drive)を備える記憶装置である。
なお、本実施の形態では、制御装置201、202とディスクアレイ装置500とが同じ筐体内に設けられているものとするが、これらの装置は個別の筐体に設けられていてもよい。
制御装置201、202は、ホスト装置400とディスクアレイ装置500との間のデータ転送動作や、ディスクアレイ装置500とテープライブラリ装置300との間のデータ転送動作を制御する。
制御装置201、202は、冗長構成を有し、ストレージシステム100が、テープライブラリ装置300内の磁気テープをバックエンドのライブラリ装置とし、ディスクアレイ装置500内のHDDをキャッシュ装置とした階層型の仮想テープライブラリシステムとして動作するように制御する。ここで、仮想テープライブラリシステムとは、テープライブラリ装置300によって実現される大容量の記憶領域を、ホスト装置400が、ディスクアレイ装置500を通じて仮想的に利用できるようにしたものである。
なお、仮想テープライブラリシステムのバックエンドとして用いる記録媒体としては、磁気テープの他、例えば、光ディスク、光磁気ディスクなどの可搬型の記録媒体を利用することもできる。
また、仮想テープライブラリシステムのキャッシュ装置として用いる記憶装置としては、HDDの他、SSD(Solid State Drive)などを利用することもできる。
制御装置201と制御装置202は、例えば、互いに異なる論理ボリュームについてのデータ転送動作を制御する。また、例えば、制御装置201、202のうちの一方に故障が発生した場合には、他方の制御装置のみによって仮想テープライブラリシステムの運用を続行できるようになっている。
さらに、制御装置201、202は、ホスト装置400から排出を要求された論理ボリュームのデータを、排出用の磁気テープにコピーし、その磁気テープをテープライブラリ装置300から外部に排出させる「エクスポート(export)処理」を実行可能になっている。エクスポート処理によって、外部に排出された磁気テープ内の論理ボリュームは、例えば、他の仮想テープライブラリシステムで利用可能である。
ホスト装置400は、ユーザの入力操作に応じて制御装置201、202の少なくとも一方にアクセス要求を発することで、仮想テープライブラリシステム内の論理ボリュームにアクセスする。また、ホスト装置400は、制御装置201、202に対して、任意の論理ボリュームを指定し、指定した論理ボリュームのエクスポート処理を実行させることもできる。
次に制御装置201のハードウェア構成について説明する。図3は、制御装置のハードウェア構成例を示す図である。なお、制御装置201と制御装置202は、同様のハードウェア構成を有し、また同様の処理を実行可能である。従って、これ以後、制御装置201、202のうち制御装置201の構成および処理について説明することとし、制御装置202の説明については省略する。
制御装置201は、例えば、図3のようなコンピュータとして実現される。制御装置201は、CPU(Central Processing Unit)211によって装置全体が制御されている。CPU211には、バス219を介して、RAM(Random Access Memory)212および複数の周辺機器が接続されている。
RAM212は、制御装置201の主記憶装置として使用される。RAM212には、CPU211に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM212には、CPU211による処理に必要な各種データが格納される。
バス219に接続されている周辺機器としては、フラッシュメモリ213、入力インタフェース214、光学ドライブ装置215、ホストインタフェース216、ディスクインタフェース217およびテープインタフェース218がある。
フラッシュメモリ213は、制御装置201の二次記憶装置として使用される。フラッシュメモリ213には、ファームウェアプログラムおよび各種データが格納される。なお、二次記憶装置としては、HDDなどの他の種類の不揮発性記憶装置が使用されてもよい。
入力インタフェース214には、例えば、各種の操作キーなどを備える入力装置214aが接続可能になっている。入力インタフェース214は、入力装置214aからの信号をバス219を介してCPU211に送信する。なお、入力装置214aは、制御装置201に搭載されていてもよい。
光学ドライブ装置215は、レーザ光などを利用して、光ディスク215aに記録されたデータの読み取りを行う。光ディスク215aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。
光ディスク215aには、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。
ホストインタフェース216は、ホスト装置400との間でデータを送受信する通信インタフェースである。ディスクインタフェース217は、ディスクアレイ装置500との間でデータを送受信する通信インタフェースである。テープインタフェース218は、テープライブラリ装置300との間でデータを送受信する通信インタフェースである。
なお、ホスト装置400についても、制御装置201と同様に、CPU、RAM、周辺機器などを備えるコンピュータとして実現することができる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。また、コンピュータで本実施の形態の処理機能を実現する場合、制御装置201が有する機能の処理内容を記述したプログラムが提供される。
そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。なお、プログラムを記録する記録媒体には、一時的な伝搬信号自体は含まれない。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。
なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
次にテープライブラリ装置300のハードウェア構成について説明する。図4は、テープライブラリ装置のハードウェア構成例を示す図である。テープライブラリ装置300は、コントローラ301、RAM302、フラッシュメモリ303、テープドライブ311〜314(図1のドライブ装置12−1〜12−nに該当)、テープ格納部321およびテープ搬送部322およびテープ投入排出口323を備える。
コントローラ301は、例えばCPUを備え、テープライブラリ装置300全体を統括的に制御する。RAM302は、コントローラ301に実行させるファームウェアプログラムの少なくとも一部が一時的に格納される。また、RAM302には、コントローラ301による処理に必要な各種データが格納される。フラッシュメモリ303には、ファームウェアプログラムや各種データが格納される。
テープドライブ311〜314は、それぞれ、テープ搬送部322によって搬送されたテープカートリッジを1つずつマウントし、コントローラ301の制御の下で、マウントしたテープカートリッジ内の磁気テープに対するデータの書き込みや、磁気テープからのデータの読み出しを行う。
なお、本実施の形態では、テープライブラリ装置300は例として4つのテープドライブを備えているが、テープドライブの数は2つ以上であれば特に限定されるものではない。ただし、テープドライブの数を3つ以上とすることで、後述する2つのテープドライブを用いたエクスポート並列処理を実行しているときに、残りの1つのテープドライブを用いてエクスポート処理以外の処理を実行できるようになる。
テープ格納部321には、複数のテープカートリッジが格納されている。テープ格納部321に格納されたテープカートリッジは、仮想テープライブラリシステムの一部として使用されるものと、エクスポート処理用のものとに大別される。
以下の説明では、前者のテープカートリッジ内の磁気テープを「ライブラリ用磁気テープ」、後者のテープカートリッジ内の磁気テープを「エクスポート用磁気テープ」と呼ぶ。どの磁気テープをどちらの用途に使用するかは、制御装置201、202によって決定される。
テープ搬送部322は、コントローラ301による制御の下で、テープカートリッジを搬送する。テープ搬送部322は、例えば、テープ格納部321に格納されたテープカートリッジを、テープドライブ311〜314のいずれかに搬送してマウントする。また、テープ搬送部322は、テープドライブ311〜314からテープカートリッジをアンマウントし、テープ格納部321に搬送して格納する。
さらに、テープ搬送部322には、テープ投入排出口323が設けられている。テープ搬送部322は、コントローラ301からの要求に応じて、テープドライブ311〜314やテープ格納部321から搬送したテープカートリッジを、テープ投入排出口323から外部に排出する。また、テープ投入排出口323から投入されたテープカートリッジを、テープドライブ311〜314やテープ格納部321に搬送したりすることもできる。
次に制御装置201の機能ブロック構成について説明する。図5は、制御装置が備える処理機能の例を示すブロック図である。
制御装置201は、アクセス制御部220、仮想テープ制御部230およびエクスポート制御部240を備える。これらの各部の処理は、例えば、制御装置201のCPU211が所定のファームウェアプログラムを実行することによって実現される。
また、制御装置201が備える不揮発性記憶装置(例えばフラッシュメモリ213)には、ボリューム管理テーブル251、エクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253が記憶される。さらに、制御装置201が備える記憶装置(例えばRAM212)には、コマンドキュー261が生成される。
次にアクセス制御部220の動作について説明する。アクセス制御部220は、仮想テープ制御部230およびエクスポート制御部240からの指示に従って、ディスクアレイ装置500内のHDDと、テープライブラリ装置300内の磁気テープとの間のデータ転送を実行する。
例えば、アクセス制御部220は、仮想テープ制御部230またはエクスポート制御部240から、磁気テープへのデータの書き込みを指示された場合、書き込みを行うテープドライブをテープライブラリ装置300に指定する。そして、アクセス制御部220は、指定したテープドライブに磁気テープをマウントするようにテープライブラリ装置300に指示する。アクセス制御部220は、書き込みデータをディスクアレイ装置500から読み出して、磁気テープがマウントされたテープドライブに対して送信し、データの書き込みを実行させる。
また、アクセス制御部220は、ディスクアレイ装置500から読み出したデータを磁気テープに書き込む際に、書き込むデータを圧縮する機能を備える。
さらに、アクセス制御部220は、テープライブラリ装置300のテープドライブ311〜314を通じて、磁気テープからのデータの読み出しまたは磁気テープへのデータの書き込みを行った際に、エラーが発生すると、発生したエラーの種類に応じたエラー点数を記録する機能を備える。アクセス制御部220は、エラーが発生したとき、発生したエラーの種類に応じたエラー点数を、エラーが発生したテープドライブごとにドライブ管理テーブル253に登録する。
また、アクセス制御部220は、エクスポート用磁気テープに対するデータの書き込み時にエラーが発生すると、発生したエラーの種類に応じたエラー点数を、エラーが発生した磁気テープごとにエクスポート用磁気テープ管理テーブル252に登録する。
ここで、コマンドキュー261について説明する。図6は、コマンドキューに登録される情報の例を示す図である。
アクセス制御部220は、仮想テープ制御部230またはエクスポート制御部240から発行されたコマンド情報を、発行された順にコマンドキュー261に登録する。コマンドキュー261に登録される情報としては、例えば、「ID(Identifier)」、「コマンド名」、「LV(Logical Volume:論理ボリューム)名」、「テープ名」、「優先度」および「実行フラグ」がある。
「ID」は、コマンド情報の識別情報である。「コマンド名」は、指示の内容を識別する情報である。「コマンド名」により、少なくとも、後述する「リコール」、「非同期マイグレーション」、「緊急マイグレーション」、「エクスポート」および「磁気テープ初期化」を識別可能になっている。
「LV名」は、読み出しまたは書き込みの対象の論理ボリュームを示す識別情報である。「テープ名」は、書き込み先または読み出し元の磁気テープを識別する情報である。
「優先度」は、コマンド名に対応付けられ、例えば値が大きいほど先に実行すべきとされる。「優先度」は、基本的にコマンド名ごとに決まるが、エクスポートに関しては、単独実行する場合より並列実行(多重実行)する場合の方が高く設定される。
「実行フラグ」は、現在実行中であるか否かを示すフラグ情報である。例えば、初期値は「0」であり、コマンドの実行を開始すると、アクセス制御部220が「1」に変更する。本実施の形態ではドライブを4台としたので、コマンドキュー261内の最大4つのコマンド情報の実行フラグが「1」となる。
アクセス制御部220は、実行するコマンドの対象となるテープドライブを選定し、選定したテープドライブを通じてコマンドに応じた処理を行う。また、アクセス制御部220は、コマンドキュー261に登録されたコマンドを、優先度が高い順に処理する。また、アクセス制御部220は、コマンドに対応する処理が終了したとき、そのコマンドをコマンドキュー261から破棄する。
アクセス制御部220は、テープライブラリ装置300に空きドライブがない状態で、実行中のコマンドより優先度の高いコマンドがコマンドキュー261に登録されると、より優先度の低いいずれかのコマンド(実行開始が最も遅いもの)の処理を停止する。そして、アクセス制御部220は、停止したコマンドの処理で使用していた磁気テープをテープドライブからアンマウントさせ、優先度の高いコマンドの処理で使用する磁気テープをそのテープドライブにマウントさせて、優先度の高いコマンドを実行する。アクセス制御部220は、停止したコマンドの処理を、空きドライブが発生次第、その空きドライブを使用して再開する。
次に仮想テープ制御部230の動作について説明する。仮想テープ制御部230は、ホスト装置400からの仮想テープライブラリシステムへのアクセス要求に応じて、ディスクアレイ装置500内のHDDに対するデータアクセス、テープライブラリ装置300内の磁気テープに対するデータアクセスを行う。さらに、仮想テープ制御部230は、ホスト装置400との間のデータ送受信などの処理の実行をアクセス制御部220に指示する。
また、これらの制御の際に、仮想テープ制御部230は、論理ボリュームを管理する情報が格納されたボリューム管理テーブル251を利用する。
ここで、ボリューム管理テーブル251について説明する。図7は、ボリューム管理テーブルに登録される情報の例を示す図である。
ボリューム管理テーブル251には、論理ボリュームごとにレコードが生成される。ボリューム管理テーブル251のレコードには、生成された論理ボリュームに関する情報として、「論理ボリューム(LV)名」、「格納先テープ名」、「論理ボリューム(LV)サイズ」、「圧縮率」および「キャッシュ状態」が登録される。
「論理ボリューム名」は、論理ボリュームを識別する情報である。「格納先テープ名」は、論理ボリュームが格納されたライブラリ用磁気テープを識別する情報である。「論理ボリュームサイズ」は、論理ボリュームのデータサイズを示す。
「圧縮率」は、論理ボリュームを圧縮して磁気テープにコピーした際に、圧縮前のデータサイズに対する圧縮後のデータサイズの比率を示す。この「圧縮率」の欄には、アクセス制御部220が論理ボリュームのデータをライブラリ用磁気テープにコピーする処理を完了したとき、アクセス制御部220によって値が登録される。
「キャッシュ状態」は、論理ボリュームがオンキャッシュ状態であるか、またはオフキャッシュ状態であるかを示す。「キャッシュ状態」は、オンキャッシュ状態である場合には「オン」とされ、オフキャッシュ状態である場合には「オフ」とされる。
仮想テープ制御部230は、ボリューム管理テーブル251を用いて、例えば次のような処理を行う。仮想テープ制御部230は、ホスト装置400などからの要求に応じて新たな論理ボリュームを生成すると、生成した論理ボリュームに対応するレコードをボリューム管理テーブル251に生成する。
このとき、仮想テープ制御部230は、生成した論理ボリュームに対応するレコード内の「キャッシュ状態」を「オン」にして、ディスクアレイ装置500に新たな論理ボリュームの領域を確保するとともに、確保した論理ボリュームの領域のサイズを「論理ボリュームサイズ」に登録する。
その後、仮想テープ制御部230は、アクセス制御部220を制御して、ホスト装置400から書き込みを要求されたデータを、ディスクアレイ装置500内の論理ボリュームに記録させる。
さらに、仮想テープ制御部230は、その後の任意のタイミングで、データの記録を行った論理ボリュームを、テープライブラリ装置300内の所定のライブラリ用磁気テープにコピーする「非同期マイグレーション」を、アクセス制御部220に実行させる。
非同期マイグレーションが実行される際、仮想テープ制御部230は、論理ボリュームのコピー先のライブラリ用磁気テープを示す識別情報の通知をアクセス制御部220から受ける。そして、この論理ボリュームに対応するレコード内の「格納先テープ名」に登録する。
また、非同期マイグレーションの実行が完了すると、仮想テープ制御部230は、圧縮後のデータサイズをアクセス制御部220から取得して、圧縮率を計算し、対応するレコード内の「圧縮率」に登録する。
また、仮想テープ制御部230は、ホスト装置400からデータの書き込みの要求を受けたとき、ディスクアレイ装置500に空き領域を確保できない場合には、アクセス制御部220に、最終アクセス時刻から最も長い時間が経過している論理ボリュームをディスクアレイ装置500から消去させる。このとき、仮想テープ制御部230は、ディスクアレイ装置500から消去された論理ボリュームに対応するレコードの「キャッシュ状態」を「オフ」にする。
ここで、論理ボリュームをディスクアレイ装置500から消去する際に、その論理ボリュームの最新データがライブラリ用磁気テープにコピーされていない場合がありえる。このような場合には、仮想テープ制御部230は、消去対象の論理ボリュームをライブラリ用磁気テープにコピーする「緊急マイグレーション」を、アクセス制御部220に実行させる。そして、仮想テープ制御部230は、緊急マイグレーションが完了した後、対応する論理ボリュームをディスクアレイ装置500から消去させる。
また、仮想テープ制御部230は、ホスト装置400からデータの読み出し要求を受けると、要求されたデータを含む論理ボリュームがディスクアレイ装置500に記録されているか否かを、ボリューム管理テーブル251に基づいて判定する。
例えば、「LV0001」という論理ボリュームに含まれるデータの読み出しがホスト装置400から要求されたとする。
要求されたデータを含む論理ボリューム「LV0001」がディスクアレイ装置500に記録されていた場合、論理ボリューム「LV0001」に対応するボリューム管理テーブル251のレコードにおいて、「キャッシュ状態」は「オン」になっている。この場合、仮想テープ制御部230は、要求されたデータをディスクアレイ装置500内の論理ボリューム「LV0001」からアクセス制御部220を通じて読み出し、ホスト装置400に送信する。
一方、要求されたデータを含む論理ボリューム「LV0001」がディスクアレイ装置500に記録されていない「キャッシュミス状態」である場合、論理ボリューム「LV0001」に対応するボリューム管理テーブル251のレコードにおいて、「キャッシュ状態」は「オフ」になっている。この場合、仮想テープ制御部230は、アクセス制御部220を通じてテープライブラリ装置300に、論理ボリューム「LV0001」が格納されたライブラリ用磁気テープをテープライブラリ装置300内のいずれかのテープドライブにマウントさせる。そして、仮想テープ制御部230は、マウントさせたライブラリ用磁気テープから論理ボリューム「LV0001」を読み出すようにテープライブラリ装置300に指示する。
仮想テープ制御部230は、アクセス制御部220に、ライブラリ用磁気テープから読み出されたデータをディスクアレイ装置500にコピーさせる。これとともに、仮想テープ制御部230は、論理ボリューム「LV0001」に対応するボリューム管理テーブル251内のレコードにおいて、「キャッシュ状態」を「オフ」から「オン」に書き替える。
このように、読み出しを要求されたデータを含む論理ボリュームをライブラリ用磁気テープからディスクアレイ装置500にコピーする処理を「リコール」と呼ぶ。
リコールが完了すると、仮想テープ制御部230は、アクセス制御部220を通じて、ディスクアレイ装置500にコピーされた論理ボリューム「LV0001」から、ホスト装置400から要求されたデータを読み出し、ホスト装置400に送信する。
なお、「キャッシュ状態」としては、上記の「オン」「オフ」の代わりに、例えば、「Dirty」「Hit」「Miss」という3つのステータスが登録されてもよい。
「Dirty」は、論理ボリュームの最新データが、ディスクアレイ装置500には格納されているものの、ライブラリ用磁気テープには格納されていない状態を示す。「Hit」は、ディスクアレイ装置500内の論理ボリュームのデータと、ライブラリ用磁気テープ内の論理ボリュームのデータとが等価である状態を示す。「Miss」は、ディスクアレイ装置500に論理ボリュームのデータが記録されておらず、ライブラリ用磁気テープにのみ論理ボリュームのデータが記録されている状態を示す。
これら3つのステータスが使用された場合、論理ボリュームがオンキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Dirty」または「Hit」となる。一方、論理ボリュームがオフキャッシュ状態であれば、その論理ボリュームに対応するレコード内の「キャッシュ状態」は「Miss」となる。
ところで、近年では、データ量の増加と、保存媒体であるテープ媒体の容量の増加とに伴い、論理ボリュームをエクスポート用磁気テープにバックアップするエクスポート処理の処理時間も増加している。このような状況の中で、エクスポート処理時に、ハードウェア故障やテープ媒体不良等の障害が発生すると、障害発生後にリトライが実行されるが、リトライの実行により、エクスポート処理の完了時間が大幅に遅延することが懸念される。また、エクスポート処理は、通常運用中の処理との間で適切な優先度が設定されていないことが多いため、エクスポート処理が待たされることが多く、エクスポートの完了時間が遅延することになる。
下記に説明する処理は、上記のようなエクスポート処理の遅延の抑制を図るものである。
次に図5に示したエクスポート制御部240の動作について説明する。エクスポート制御部240は、ホスト装置400からの指示に応じて、アクセス制御部220にエクスポート処理を実行させる。
すなわち、エクスポート制御部240は、ホスト装置400から例えば、仮想テープ制御専用ソフトウェアなどの実行に伴うエクスポート指示を受信する。すると、エクスポート制御部240は、ディスクアレイ装置500上の論理ボリュームのうち指定された論理ボリュームのデータを、テープライブラリ装置300内の、あらかじめ登録しておいたエクスポート用磁気テープに書き出す。
なお、エクスポート処理では、1回のエクスポート指示で、例えば、1個または複数の論理ボリュームと、書き出し先となるエクスポート用磁気テープ1本とが指定される。ただし、指定される論理ボリュームの総容量が、エクスポート用磁気テープ1本の容量を超えてはならない。
このようなエクスポート処理が行われることにより、指定された論理ボリュームのデータをエクスポート用磁気テープにバックアップすることができ、該エクスポート用磁気テープをテープライブラリ装置300より取り出して、データを外部保管することができる。
なお、エクスポート制御部240は、後述の特定条件を満たした場合に、複数のエクスポート用磁気テープにエクスポート処理を並列実行させ、先に完了した方を有効なエクスポート済み磁気テープとして排出する(以降では、エクスポート処理の並列実行をエクスポート並列処理とも呼ぶ)。
また、エクスポート制御部240は、エクスポート並列処理において、先に完了しなかった方のエクスポート処理については、該エクスポート処理をキャンセルし、処理前の状態に戻す。これとともに、エクスポート制御部240は、キャンセルしたエクスポート処理で使用したハードウェア(例えばテープドライブ)とテープ媒体を故障監視の対象として記録する。これにより、以後のエクスポート処理で同じハードウェアやテープ媒体を使用し、またも先にエクスポート処理が完了しないという事象が繰り返し見えた場合、該当のハードウェアやテープ媒体を故障・不良と判定することができる。
一方、エクスポート処理を常に並列で動作させてしまうと、リソースを浪費してしまい効率的ではない。このため、エクスポート制御部240は、エクスポート処理に時間がかかる場合のみ、すなわち、特定の条件が成立した場合のみに、エクスポート並列処理を実施するようにする。
また、他の処理(マイグレーション等)により、テープドライブの空きがない場合には、エクスポート処理が待たされる場合がある。従って、エクスポート並列処理を実行する際の実行優先度の設定も設けておく。なお、優先度設定については後述する。
次にエクスポート制御部240がエクスポート並列処理を実行する際の特定条件(並列処理実行条件)について説明する。
エクスポート制御部240は、並列処理実行条件が満たされた場合のみ、エクスポート並列処理を実行することになる。また、並列処理実行条件が満たされない場合は、単独のエクスポート処理(以下、エクスポート単独処理と呼ぶ)を実行することになる。
ここで、単純にエクスポート処理時間を短縮するのであれば、エクスポート処理を常に並列実行させることが考えられる。しかし、エクスポート処理は、1処理ごとにテープドライブを1台占有するため、常に並列で実行させてしまうとテープドライブのリソース不足が生じる可能性がある。
従って、並列処理実行条件としては、エクスポート制御部240が、エクスポート処理を並列実行とした場合に、「エクスポート処理を並列実行して発生する一時のリソース不足」というデメリットよりも「エクスポート処理完了時間の遅延回避」というメリットの方が大きいと判断できる条件が設定される。そして、その条件を満たす場合のみ、エクスポート制御部240は、並列処理を実行する。
例として、並列処理実行条件は、以下の前提条件および第1〜第5の条件を含む。エクスポート制御部240は、ホスト装置400からエクスポート指示を受けたとき、前提条件が満たされ、かつ第1〜第5の条件のうち2以上が成立した場合に、エクスポート並列処理を実行する。
そして、エクスポート制御部240は、先に正常終了した方を有効なエクスポート完了磁気テープとして扱うことで、他方のエクスポート処理が異常停止または処理遅延が発生しても、見かけ上のエクスポート完了時間の遅延を回避することができる。以下、各条件について説明する。
(前提条件)空きテープドライブの台数と、エクスポート並列処理より優先度の低い処理が行われているテープドライブの台数との合計が2台以上ある場合。
この条件に従った場合には、例えば、テープドライブが4台あって、そのうち3台でエクスポート並列処理と同等以上の優先度の処理が実行されている場合は、エクスポート制御部240は、エクスポート並列処理を実行しない。その代わり、エクスポート制御部240は、残り1台のテープドライブを用いてエクスポート単独処理を実行する。
また、4台のうち、2台でエクスポート並列処理と同等以上の優先度の処理が実行され、1台でエクスポート並列処理より優先度の低い処理が実行されている場合、エクスポート制御部240は、優先度の低い処理をキャンセルして、エクスポート並列処理を実行することになる。
なお、テープドライブの台数は、3台以上設けられることが望ましい。例えば、3台設けられている場合、2台のテープドライブでエクスポート並列処理を実行中でも、1台のテープドライブで他の処理をさらに実行でき、仮想テープライブラリの運用を続行することができるからである。
(第1の条件)エクスポート処理対象として指定された論理ボリュームのデータの総容量があらかじめ設定した閾値を超えている場合。
データの総容量が大きい論理ボリュームの方が、エクスポート処理に時間がかかる。従って、エクスポート制御部240は、第1の条件を満たす論理ボリュームをエクスポート並列処理の実行対象の1つとする。
(第2の条件)エクスポート処理対象として指定された論理ボリュームのデータの平均サイズがあらかじめ設定した閾値を下回っている場合。
例えば、エクスポート処理対象として指定された論理ボリュームのデータの総容量がどちらも同じであるが、「大容量の論理ボリュームが少数指定された場合」と、「小容量の論理ボリュームが多数指定された場合」とを比較する。この場合、前者のケースよりも後者のケースの方が、マウントすべき磁気テープの個数が多くなる可能性が高くなるため、エクスポート処理に時間がかかる可能性が高い。従って、エクスポート制御部240は、第2の条件を満たす論理ボリュームをエクスポート並列処理の実行対象の1つとする。
(第3の条件)エクスポート処理対象として指定されたた論理ボリュームのデータのテープ書き込み時における平均圧縮率があらかじめ設定した閾値を下回っている場合。
ディスクアレイ装置500に存在する論理ボリュームを、エクスポート用磁気テープに書き込む際には、データ圧縮がかかるので論理ボリュームのサイズが減少する。
なお、圧縮率は、データ圧縮によるサイズ減少の割合を示すものとする。例えば、100Mbyteのデータが圧縮により20Mbyteになった場合、圧縮率は80%となる。
圧縮前のデータ容量が同じ論理ボリューム同士では、圧縮率が低い論理ボリュームの方がエクスポート処理に時間がかかることになる。従って、エクスポート制御部240は、第3の条件を満たす論理ボリュームをエクスポート並列処理の実行対象の1つとする。
なお、論理ボリュームごとの圧縮率の情報は、論理ボリュームのデータが磁気テープに一度書き込まれた際に、ボリューム管理テーブル251に保存される。また、磁気テープに一度も書き込まれたことがない論理ボリュームに対してエクスポート指示があった場合は、圧縮率の情報が存在しない。従って、この場合は、エクスポート指示を契機にして、仮想テープ制御部230が論理ボリュームの圧縮を行い、エクスポート制御部240がその圧縮率を求めることになる。
(第4の条件)エクスポート処理で使用するテープドライブの過去のエラー点数の平均が閾値を超えている場合。
エクスポート処理で使用するテープドライブについての過去のエラー点数が高いほど、データ書き込み処理時に異常停止する可能性が高くなる。従って、エクスポート制御部240は、第4の条件を満たす論理ボリュームをエクスポート並列処理の実行対象の1つとする。
(第5の条件)エクスポート処理しようとしているエクスポート用磁気テープのエラー点数が閾値を超えている場合。
エクスポート処理しようとしているエクスポート用磁気テープのエラー点数が高いほど、データ書き込み処理時に異常停止する可能性が高くなる。従って、エクスポート制御部240は、第5の条件を満たす論理ボリュームをエクスポート並列処理の実行対象の1つとする。
エクスポート制御部240は、上記の条件に対して、前提条件を満たし、かつ第1〜第5の条件の少なくとも2つの条件が満たされる場合に、エクスポート並列処理を実行する。これにより、エクスポート制御部240は、「エクスポート処理を並列実行して発生する一時のリソース不足」よりも「エクスポート処理完了時間の遅延回避」の方の重要度が高いと判断される場合にのみ、エクスポート並列処理を実行することが可能になる。
なお、上記各条件に基づく判定方法としては、他の方法を採用することもできる。例えば、エクスポート制御部240は、前提条件のみ成立している場合にエクスポート並列処理を実行してもよい。あるいは、エクスポート制御部240は、第1〜第5の条件のうち任意の数の条件が成立している場合にエクスポート並列処理を実行してもよい。
次にエクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253について説明する。制御装置201は、エクスポート用磁気テープおよびテープドライブ311〜314を、それぞれエクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253で管理する。
図8は、エクスポート用磁気テープ管理テーブルの構成例を示す図である。エクスポート用磁気テープ管理テーブル252には、エクスポート用磁気テープの管理情報として、「テープ名」、「テープ状態」、「エラー日時とエラー点数」、「エラー点数累積値」および「エクスポート遅延回数」が登録される。
「テープ名」は、エクスポート用磁気テープの識別情報である。「テープ状態」は、エクスポート用磁気テープが使用可能か否かを示す情報であり、「normal」が登録されている場合は使用可能である。また、テープ状態の欄に「error」(故障状態)または「disable」(使用不可)が登録されると該テープは使用禁止になる。
「エラー日時とエラー点数」は、エクスポート処理を実行中に、エクスポート用磁気テープにエラーが発生した日時と、発生したエラーの種類に応じたエラーの点数である。また、「エラー日時とエラー点数」には、例えば、1つのテープ名に対して、過去10件の情報が登録される。
「エラー点数累積値」は、エラー点数の累積値である。例えば、「エラー日時とエラー点数」に過去10件の情報が登録されている場合は、「エラー点数累積値」には10件分のエラー点数の累積値が示される。「エクスポート遅延回数」は、エクスポート並列処理の実行時に、先に完了しなかった回数である。
図9は、ドライブ管理テーブルの構成例を示す図である。ドライブ管理テーブル253には、テープドライブの管理情報として、「ドライブ名」、「ドライブ状態」、「エラー日時とエラー点数」、「エラー点数累積値」および「エクスポート遅延回数」が登録される。
「ドライブ名」は、テープドライブの識別情報である。「ドライブ状態」は、テープドライブが使用可能か否かを示す情報であり、「normal」が登録されている場合は使用可能である。また、ドライブ状態の欄に「error」(故障状態)または「disable」(使用不可)が登録されると該テープドライブは使用禁止になる。
「エラー日時とエラー点数」は、エクスポート処理を実行中に、テープドライブにエラーが発生した日時と、発生したエラーの種類に応じたエラーの点数である。また、「エラー日時とエラー点数」には、例えば、1つのテープドライブ名に対して、過去10件の情報が登録される。
「エラー点数累積値」は、エラー点数の累積値である。、例えば、「エラー日時とエラー点数」に過去10件の情報が登録されている場合は、「エラー点数累積値」には10件分のエラー点数の累積値が示される。「エクスポート遅延回数」は、エクスポート並列処理の実行時に、先に完了しなかった回数である。
次にエクスポート並列処理の優先度について説明する。エクスポート並列処理の優先度は、例えば、「リコール」、「非同期マイグレーション」および「緊急マイグレーション」の各処理との重要度の差を考慮して決定される。各処理の内容について以下説明する。
「リコール」は、ホスト装置400からのデータ読み込み要求に対し、要求されたデータがディスクアレイ装置500に存在しないため、テープライブラリ装置300からデータが読み出される処理である。
ホスト装置400からの読み込み要求後に、ディスクアレイ装置500にデータが格納されてリコールが終了するまで、仮想テープ制御部230はホスト装置400へ正常に応答することができない。一方、エクスポート並列処理はあくまでバックアップ処理であり、エクスポート並列処理が仮想テープライブラリの運用に支障をきたさないようにすることが望ましい。このことから、リコールの優先度をエクスポート並列処理より高くする。
「非同期マイグレーション」は、ホスト装置400からのデータ書き込み要求に応じてディスクアレイ装置500に書き込まれたデータが、書き込み後の任意のタイミングでテープライブラリ装置300に書き込まれる処理である。
非同期マイグレーションは、ホスト装置400からの書き込み要求とは非同期で行う処理であるため、リコールより優先度が低い。一方、エクスポート処理はホスト装置400から指示された時点でできるだけ早く実行すべきなので、エクスポート並列処理の優先度は非同期マイグレーションより高いことが望ましい。
「緊急マイグレーション」は、ホスト装置400からのデータの書き込み要求に対し、ディスクアレイ装置500に新たにデータを格納する際に空き領域が確保できない場合に、空き領域を確保するために緊急で行われるマイグレーション処理である。
仮想テープ制御部230は、ディスクアレイ装置500に空き領域が確保されるまで、ホスト装置400からの要求に応じた書き込み処理を実行できない。一方、前述のようにエクスポート並列処理はあくまでバックアップ処理であり、エクスポート並列処理が仮想テープライブラリの運用に支障をきたさないようにすることが望ましい。このことから、緊急マイグレーションの優先度をエクスポート並列処理より高くする。
なお、緊急マイグレーションの実行時には、書き込みデータをディスクアレイ装置500に書き込むまでの間、書き込みデータは不揮発性のRAM212に保持されることから、書き込みデータが失われる危険がある。このことから、緊急マイグレーションの優先度はリコールより高いことが望ましい。
以上より、本実施の形態では、優先度を「緊急マイグレーション」>「リコール」>「エクスポート並列処理」>「非同期マイグレーション」のように設定する。
次に、エクスポート処理についてフローチャートを用いて説明する。
図10〜図12は、エクスポート並列処理の動作フローを示す図である。なお、エクスポート処理が行われる場合には、ユーザはあらかじめ、ホスト装置400を通じて制御装置201に対してエクスポート用磁気テープを登録する。制御装置201は、ユーザによって登録されたエクスポート用磁気テープと、予備のエクスポート用磁気テープとを、例えば、図5に示したエクスポート用磁気テープ管理テーブル252あるいは他の管理テーブルを用いて管理する。
〔ステップS11〕エクスポート制御部240は、ホスト装置400からエクスポート指示を受信し、エクスポート指示に応じて、エクスポート処理する論理ボリュームと、登録しておいたエクスポート用磁気テープとを指定する。
〔ステップS12〕エクスポート制御部240は、指定された論理ボリュームがすべてディスクアレイ装置500にキャッシュされているか否かを判定する。キャッシュされていない場合はステップS13へ行き、キャッシュされている場合はステップS14へ行く。
〔ステップS13〕エクスポート制御部240は、アクセス制御部220に対して、論理ボリュームを磁気テープから読み出し、ディスクアレイ装置500に書き込む指示を出す。アクセス制御部220は、この指示に基づいて、上記動作を行う。
〔ステップS14〕エクスポート制御部240は、エクスポート並列処理を行うか否かを判定する。エクスポート並列処理を実行する場合は、ステップS15へ行く。一方、エクスポート並列処理を実行しない場合は図12のステップS32へ行き、エクスポート単独処理が実行される。
ステップS14でエクスポート並列処理を行うか否かの判定を行う際は、エクスポート制御部240は、上述したように、前提条件を満たし、かつ第1〜第5の条件のうちの2つ以上が成立しているかを判定する。エクスポート制御部240は、コマンドキュー261に登録されたコマンド情報の内容に基づいて、前提条件を満たすか否かを判定する。また、エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252におけるエクスポート処理対象の論理ボリュームに対応するレコードに基づいて、第1〜第3の条件をそれぞれ満たすか否かを判定する。
さらに、エクスポート制御部240は、コマンドキュー261に基づき、ステップS11で指定したエクスポート用磁気テープがマウントされるテープドライブを判別する。このとき判別されるテープドライブは、エクスポート単独処理が実行された場合に使用されるテープドライブと同じである。エクスポート制御部240は、ドライブ管理テーブル253における、判別したテープドライブに対応するレコードに基づいて、第4の条件を満たすか否かを判定する。
また、エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252における、ステップS11で指定したエクスポート用磁気テープに対応するレコードに基づいて、第5の条件を満たすか否かを判定する。
〔ステップS15〕エクスポート制御部240は、アクセス制御部220に対して、エクスポート並列処理の実行を指示する。
具体的には、エクスポート制御部240は、それぞれ異なる磁気テープに対するエクスポート処理を実行させるための2つのコマンド情報を生成して、アクセス制御部220に出力し、2つのコマンド情報をコマンドキュー261に登録させる。エクスポート制御部240は、出力する2つのコマンド情報の両方に対して、エクスポート処理を示すコマンド名と、エクスポート対象の論理ボリュームを示すLV名と、前述のようにリコールより低く、非同期マイグレーションより高い値とされた優先度とを設定する。また、エクスポート制御部240は、予備用のエクスポート用磁気テープのテープ番号を1つ選択し、一方のコマンド情報にステップS11で指定した論理ボリュームのテープ番号を設定し、他方のコマンド情報に選択した予備用のエクスポート用磁気テープのテープ番号を設定する。
アクセス制御部220は、エクスポート制御部240から出力された2つのコマンド情報を、コマンドキュー261に登録する。
〔ステップS16〕アクセス制御部220は、コマンドキュー261に登録されたコマンド情報に基づき、テープドライブの空きが1台以下、かつエクスポート並列処理より優先度の低い処理がテープドライブを使用しているか否かを判定する。この条件を満たしている場合はステップS17へ行き、満たしていない場合はステップS18へ行く。
〔ステップS17〕アクセス制御部220は、実行フラグが「1」であるコマンド情報のうちエクスポート並列処理より優先度が低いコマンド情報に対応する1または2つの処理を中断する。これにより、アクセス制御部220は、2つのテープドライブが空き状態になるようにする。
なお、アクセス制御部220は、この後、テープドライブの空きが発生し、かつ、コマンドキュー261に登録されたコマンド情報に対応する処理の中で、中断した処理の優先度が最も高くなったときに、中断した処理を再開する。
〔ステップS18〕アクセス制御部220は、ステップS15でコマンドキュー261に登録された2つのコマンド情報にそれぞれ基づくエクスポート処理を、並列に実行する。これにより、エクスポート並列処理の実行が開始される。
この後、アクセス制御部220は、ステップS19,S24,S26の判定処理を、例えば一定周期で繰り返す。
〔ステップS19〕アクセス制御部220は、どちらかのエクスポート処理における書き込み処理が途中で異常停止したか否かを判定する。異常停止を認識した場合はステップS20へ行き、異常停止を認識しない場合はステップS25へ行く。
〔ステップS20〕アクセス制御部220は、異常停止した書き込み処理のリトライを試みる。
〔ステップS21〕アクセス制御部220は、リトライが成功したか否かを判定する。成功しなかった場合はステップS22へ行き、成功した場合はステップS19へ戻る。
〔ステップS22〕アクセス制御部220は、一方のエクスポート処理が異常停止したことをエクスポート制御部240に通知する。このとき、アクセス制御部220は、発生したエラーの内容についてもエクスポート制御部240に通知する。通知を受けたエクスポート制御部240は、異常停止したエクスポート処理のキャンセルをアクセス制御部220に指示する。アクセス制御部220は、キャンセルを指示されたエクスポート処理の実行を終了し、対応するコマンド情報をコマンドキュー261から削除する。
〔ステップS23〕エクスポート制御部240は、キャンセルを指示したエクスポート処理で発生したエラーの内容に基づいて、エクスポート用磁気テープ管理テーブル252またはドライブ管理テーブル253の更新処理を行う。
エクスポート制御部240は、エラーの内容が磁気テープに関するものである場合、エクスポート用磁気テープ管理テーブル252のレコードのうち、キャンセルを指示したエクスポート処理で使用した磁気テープに対応するレコードに対して、エラー日時と、エラーの内容に応じたエラー点数を登録する。さらに、エクスポート制御部240は、同じレコードにおけるエラー点数累積値に、新たに登録したエラー点数を加算する。
一方、エクスポート制御部240は、エラーの内容がテープドライブに関するものである場合、ドライブ管理テーブル253のレコードのうち、キャンセルを指示したエクスポート処理で使用したテープドライブに対応するレコードに対して、エラー日時と、エラーの内容に応じたエラー点数を登録する。さらに、エクスポート制御部240は、同じレコードにおけるエラー点数累積値に、新たに登録したエラー点数を加算する。
〔ステップS24〕エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253に基づき、キャンセルを指示したエクスポート処理に関する終了処理を実行する。この終了処理については後の図13にて説明する。
また、アクセス制御部220は、ステップS24の終了処理と並行して、図12のステップS33以降の処理を実行する。これにより、キャンセルされていない他方のエクスポート処理が単独で続行される。
〔ステップS25〕アクセス制御部220は、コマンドキュー261に登録されたコマンド情報に基づき、エクスポート並列処理よりも優先度が高い緊急マイグレーションやリコールの処理が発生し、テープドライブが足りなくなったか否かを判定する。テープドライブが足りなくなった場合はステップS26へ行き、テープドライブが足りる場合はステップS28へ行く。
〔ステップS26〕アクセス制御部220は、テープドライブが足りなくなったことをエクスポート制御部240に通知する。通知を受けたエクスポート制御部240は、アクセス制御部220に対し、2つのエクスポート処理それぞれの進捗状況(例えば、書き込み済みデータサイズ)を問い合わせる。
エクスポート制御部240は、問い合わせに対する応答に基づいて、進捗が遅い方のエクスポート処理のキャンセルをアクセス制御部220に指示する。アクセス制御部220は、キャンセルを指示されたエクスポート処理の実行を終了し、対応するコマンド情報をコマンドキュー261から削除する。
〔ステップS27〕エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253の更新処理を行う。
エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252のレコードのうち、キャンセルを指示したエクスポート処理で使用した磁気テープに対応するレコードのエクスポート遅延回数を、1だけインクリメントする。また、エクスポート制御部240は、ドライブ管理テーブル253のレコードのうち、キャンセルを指示したエクスポート処理で使用したテープドライブに対応するレコードのエクスポート遅延回数を、1だけインクリメントする。
この後、前述のステップS24に行き、エクスポート制御部240は、キャンセルを指示したエクスポート処理についての終了処理を実行する。また、アクセス制御部220は、ステップS23の終了処理と並行して、図12のステップS33以降の処理を実行する。これにより、キャンセルされていない他方のエクスポート処理が単独で続行される。
このように、エクスポート並列処理を実行している最中に、より優先度の高い緊急マイグレーションやリコールの処理が発生し、テープドライブを空けなければならない場合は、エクスポート制御部240は、エクスポート並列処理の進捗の遅い方のエクスポート処理をキャンセルさせて終了させる。これにより、アクセス制御部220は、空いたテープドライブを使って緊急マイグレーションやリコールの処理を行うことができる。
〔ステップS28〕アクセス制御部220は、エクスポート並列処理を行った際の一方のエクスポート処理が正常に終了したか否かを判定する。終了した場合はステップS29へ行き、終了していない場合はステップS19へ戻る。
〔ステップS29〕アクセス制御部220は、一方のエクスポート処理が終了したことをエクスポート制御部240に通知する。通知を受けたエクスポート制御部240は、ホスト装置400に対し、エクスポート処理が完了したことを通知する。これとともに、アクセス制御部220は、終了していない他方のエクスポート処理のキャンセルをアクセス制御部220に指示する。アクセス制御部220は、キャンセルを指示されたエクスポート処理の実行を終了し、対応するコマンド情報をコマンドキュー261から削除する。
このように、エクスポート制御部240は、エクスポート並列処理の2つのエクスポート処理のうち、先に正常に終了した方を有効なエクスポート完了磁気テープと判断し、他方のエクスポート処理をキャンセルさせる。
〔ステップS30〕エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253の更新処理を行う。
エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252のレコードのうち、キャンセルを指示したエクスポート処理で使用した磁気テープに対応するレコードのエクスポート遅延回数を、1だけインクリメントする。また、エクスポート制御部240は、ドライブ管理テーブル253のレコードのうち、キャンセルを指示したエクスポート処理で使用したテープドライブに対応するレコードのエクスポート遅延回数を、1だけインクリメントする。
〔ステップS31〕エクスポート制御部240は、キャンセルを指示したエクスポート処理についての終了処理を実行する。エクスポート制御部240は、終了処理が完了すると、処理を終了する。
〔ステップS32〕エクスポート制御部240は、アクセス制御部220に対して、エクスポート単独処理の実行を指示する。
具体的には、エクスポート制御部240は、エクスポート処理を示すコマンド名と、エクスポート対象の論理ボリュームを示すLV名と、ステップS11で指定した論理ボリュームのテープ番号とを設定したコマンド情報を生成する。エクスポート制御部240は、生成したコマンド情報をアクセス制御部220に出力して、コマンドキュー261に登録させる。
なお、このとき出力されるコマンド情報には、例えば、エクスポート並列処理と同じ優先度が設定されればよい。その理由は、エクスポート処理はユーザからの指示に応じて実行されるものであるので、任意で実行されればよい非同期マイグレーションよりも先に実行すべきものと考えられるからである。
アクセス制御部220は、エクスポート制御部240から出力されたコマンド情報を、コマンドキュー261に登録し、登録したコマンドの優先度に応じたタイミングでエクスポート処理を実行する。これにより、エクスポート単独処理の実行が開始される。
この後、アクセス制御部220は、ステップS33,S39,S41の判定処理を、例えば一定周期で繰り返す。
〔ステップS33〕アクセス制御部220は、実行中のエクスポート処理における書き込み処理が途中で異常停止したか否かを判定する。異常停止を認識した場合はステップS34へ行き、異常停止を認識しない場合はステップS39へ行く。
〔ステップS34〕アクセス制御部220は、異常停止した書き込み処理のリトライを試みる。
〔ステップS35〕アクセス制御部220は、リトライが成功したか否かを判定する。成功しなかった場合はステップS36へ行き、成功した場合はステップS33へ戻る。
〔ステップS36〕アクセス制御部220は、エクスポート処理が異常停止したことをエクスポート制御部240に通知する。このとき、アクセス制御部220は、発生したエラーの内容についてもエクスポート制御部240に通知する。通知を受けたエクスポート制御部240は、ホスト装置400に対して、エクスポート処理が異常終了したことを通知する。これとともに、エクスポート制御部240は、異常停止したエクスポート処理のキャンセルをアクセス制御部220に指示する。アクセス制御部220は、キャンセルを指示されたエクスポート処理の実行を終了し、対応するコマンド情報をコマンドキュー261から削除する。
〔ステップS37〕エクスポート制御部240は、キャンセルを指示したエクスポート処理で発生したエラーの内容に基づいて、エクスポート用磁気テープ管理テーブル252またはドライブ管理テーブル253の更新処理を行う。このステップS37の処理手順は、ステップS23と同様である。
〔ステップS38〕エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252およびドライブ管理テーブル253に基づき、キャンセルを指示したエクスポート処理に関する終了処理を実行する。この終了処理については後の図13にて説明する。エクスポート制御部240は、終了処理が完了すると、処理を終了する。
〔ステップS39〕アクセス制御部220は、コマンドキュー261に登録されたコマンド情報に基づき、エクスポート並列処理よりも優先度が高い緊急マイグレーションやリコールの処理が発生し、テープドライブが足りなくなったか否かを判定する。テープドライブが足りなくなった場合はステップS40へ行き、テープドライブが足りる場合はステップS41へ行く。
〔ステップS40〕アクセス制御部220は、実行中のエクスポート処理を中断し、新たに指示された処理を実行する。アクセス制御部220は、この後、テープドライブの空きが発生し、かつ、コマンドキュー261に登録されたコマンド情報に対応する処理の中で、中断したエクスポート処理の優先度が最も高くなったときに、中断したエクスポート処理を再開する。
〔ステップS41〕アクセス制御部220は、エクスポート処理が正常に終了したか否かを判定する。終了した場合はステップS42へ行き、終了していない場合はステップS33へ戻る。
〔ステップS42〕アクセス制御部220は、エクスポート処理が正常に終了したことをエクスポート制御部240に通知する。通知を受けたエクスポート制御部240は、ホスト装置400に対してエクスポート処理が正常に完了したことを通知する。
図13は、終了処理の動作フローを示す図である。この図13の処理は、図11のステップS31および図12のステップS38で実行されるものである。
〔ステップS51〕エクスポート制御部240は、ドライブ管理テーブル253のレコードのうち、キャンセルを指示したエクスポート処理で使用したテープドライブに対応するレコードを参照する。エクスポート制御部240は、参照したレコードに基づき、該当テープドライブを以後使用禁止とすべきか否かを判定する。
エクスポート制御部240は、少なくとも、レコード内のエラー点数累積値が所定のしきい値を超えているか、または、レコード内のエクスポート遅延回数が所定のしきい値を超えているとき、該当テープドライブを使用禁止にすべきと判定する。
該当テープドライブが使用可能な場合はステップ53へ行き、該当テープドライブを使用禁止にすべきと判定された場合はステップS52に行く。
〔ステップS52〕エクスポート制御部240は、ステップS51で参照したレコードのドライブ状態を「disable」に更新し、該当テープドライブを使用禁止にする。
〔ステップS53〕エクスポート制御部240は、エクスポート用磁気テープ管理テーブル252のレコードのうち、キャンセルを指示したエクスポート処理で使用した磁気テープに対応するレコードを参照する。エクスポート制御部240は、参照したレコードに基づき、該当磁気テープを以後使用禁止とすべきか否かを判定する。
エクスポート制御部240は、少なくとも、レコード内のエラー点数累積値が所定のしきい値を超えているか、または、レコード内のエクスポート遅延回数が所定のしきい値を超えているとき、該当磁気テープを使用禁止にすべきと判定する。
該当磁気テープが使用可能な場合はステップ55へ行き、該当磁気テープを使用禁止にすべきと判定された場合はステップS54に行く。
〔ステップS54〕エクスポート制御部240は、ステップS53で参照したレコードのテープ状態を「disable」に更新し、該当磁気テープを使用禁止にする。
〔ステップS55〕エクスポート制御部240は、磁気テープの初期化を示すコマンド名と、該当磁気テープを示すテープ名とを設定したコマンド情報をアクセス制御部220に出力して、コマンドキュー261へ登録させる。
アクセス制御部220は、エクスポート制御部240から出力されたコマンド情報をコマンドキュー261に登録し、登録したコマンドの優先度に応じたタイミングで磁気テープの初期化処理を実行する。初期化処理では、アクセス制御部220は例えば、磁気テープのヘッダ領域に初期化されたことを示す情報を書き込むことで、この磁気テープに記録されたデータを無効化する。これにより、該当磁気テープは、エクスポート用磁気テープとして再利用可能な状態になる。
なお、エクスポート用磁気テープの初期化処理は緊急性を要するものではないことから、ステップS55で出力されるコマンド情報の優先度は、非同期マイグレーションより低く設定される。ただし、ステップS55の処理は該当磁気テープへのエクスポート処理がキャンセルされた直後であるので、該当磁気テープはテープドライブにマウントされた状態になっている。このため、該当磁気テープの再マウントを行わずに済む分だけ、該当磁気テープの初期化処理を短時間で実行できる。このことから、ステップS55で出力されるコマンド情報の優先度は、少なくとも非同期マイグレーションより高く設定されてもよい。
上記の図13の処理によれば、先にエクスポート処理が完了しなかった回数が設定回数に達した場合は、該当のエクスポート用磁気テープまたはテープドライブが、使用不可状態として登録される。このため、制御装置202は故障・不良箇所を的確に特定することが可能になる。
また、異常停止したエクスポート処理を行っていたエクスポート用磁気テープおよびテープドライブのエラー点数の情報が更新され、エラー点数の累積値が閾値を越えた場合は、該当のエクスポート用磁気テープまたはテープドライブが故障状態として登録される。このため、制御装置202は故障・不良箇所を的確に特定することが可能になる。
以上説明したように、第2の実施の形態の制御装置は、ホスト装置からのエクスポート要求時に、2つのエクスポート用磁気テープにエクスポート並列処理を実行する構成とした。これにより、例えば、ハードウェア故障やテープ媒体不良が検出された場合では、一方のエクスポート処理が異常停止しても、他方のエクスポート処理を継続できるため、エクスポート処理の完了時間の遅延を抑制することができる。また、ハードウェア故障やテープ媒体不良を適切に検出して排除することができる。
また、エクスポート処理以外の処理によりテープドライブの空きがない状態でも、エクスポート処理より優先度の低い処理が実行されている場合には、その処理よりエクスポート処理を優先して実行することにより、エクスポート処理の遅延を抑制することができる。
さらに、特定条件でのみエクスポート並列処理を実行するため、テープドライブがむやみにエクスポート用磁気テープに占有されることがなくなり、テープドライブを効率よく使用できるようになる。
また、先に完了しないエクスポート処理および異常停止時のエラー点数などにより、磁気テープまたはテープドライブの状態を常時監視しているため、故障、不良状態の箇所を的確にかつ早期に検出することができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 可般型記録媒体にデータの読み書きを行う複数のドライブ装置と、
前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可般型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可般型記録媒体に前記データを書き込む処理とを並列に実行し、前記第1の可般型記録媒体と前記第2の可般型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可般型記録媒体への前記データの書き込み処理をキャンセルする制御装置と、
を有することを特徴とするストレージシステム。
(付記2) 前記制御装置は、
前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可般型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可般型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理と、前記第1のドライブ装置を通じて前記第1の可般型記録媒体に前記データを書き込む単独書き込み処理とのどちらを実行するかを判定し、
前記並列書き込み処理を実行した場合には、前記第1の可般型記録媒体と前記第2の可般型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可般型記録媒体への前記データの書き込み処理をキャンセルすることを特徴とする付記1記載のストレージシステム。
(付記3) 前記制御装置は、前記複数のドライブ装置のうち読み書きを行っていないドライブ装置の台数と、前記複数のドライブ装置のうち前記並列書き込み処理より優先度の低い処理が行われているドライブ装置の台数との合計が2台以上ある場合に、前記並列書き込み処理を実行すると判定することを特徴とする付記2記載のストレージシステム。
(付記4) 前記制御装置は、前記並列書き込み処理を実行すると判定した際に、読み書きを行っていないドライブ装置が1台以下の場合、前記並列書き込み処理より優先度の低い処理が行われているドライブ装置に処理を中断させ、当該ドライブ装置を用いて前記並列書き込み処理を行うことを特徴とする付記3記載のストレージシステム。
(付記5) 前記制御装置は、前記並列書き込み処理の実行中で、かつ前記複数のドライブ装置のすべてで読み書きが行われているときに、前記並列書き込み処理より優先度の高い他の処理が発生した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうち進捗が遅い方に対する書き込み処理をキャンセルすることを特徴とする付記3または4記載のストレージシステム。
(付記6) 前記制御装置は、
前記第1の可搬型記録媒体および前記第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納し、
前記並列書き込み処理の優先度が、前記キャッシュ装置に空き領域を生成するために前記キャッシュ装置内のデータを前記他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを前記他の複数の可搬型記録媒体のいずれかから読み出して前記キャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置から前記キャッシュ装置に書き込まれたデータを前記ホスト装置からの書き込みとは非同期に前記他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する、
ことを特徴とする付記3〜5のいずれか1つに記載のストレージシステム。
(付記7) 前記制御装置は、
前記並列書き込み処理および前記単独書き込み処理での書き込み対象として所定の複数のデータを指定し、
少なくとも、前記複数のデータの総容量が所定の閾値を超えている場合、または、前記複数のデータのそれぞれの容量の平均が所定の閾値より低い場合に、前記並列書き込み処理を実行すると判定する、
ことを特徴とする付記3記載のストレージシステム。
(付記8) 前記制御装置は、前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込み先の可搬型記録媒体ごとにカウントし、カウント数が所定回数に達した可搬型記録媒体を使用不可状態として登録することを特徴とする付記1〜7のいずれか1つに記載のストレージシステム。
(付記9) 前記制御装置は、前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込みで使用されたドライブ装置ごとにカウントし、カウント数が所定回数に達したドライブ装置を使用不可状態として登録することを特徴とする付記1〜8のいずれか1つに記載のストレージシステム。
(付記10) 前記制御装置は、前記第1の可搬型記録媒体および前記第2の可搬型記録媒体のうち書き込み処理をキャンセルした方の記録データを無効化することを特徴とする付記1〜9のいずれか1つに記載のストレージシステム。
(付記11) 複数のドライブ装置を通じて複数の可搬型記録媒体にアクセスする処理を制御する制御装置におけるストレージ制御方法であって、
前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可般型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可般型記録媒体に前記データを書き込む処理とを並列に実行し、
前記第1の可般型記録媒体と前記第2の可般型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可般型記録媒体への前記データの書き込み処理をキャンセルする、
ことを特徴とするストレージ制御方法。
(付記12) 前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可般型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可般型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理と、前記第1のドライブ装置を通じて前記第1の可般型記録媒体に前記データを書き込む単独書き込み処理とのどちらを実行するかを判定し、
前記並列書き込み処理を実行した場合に、前記第1の可般型記録媒体と前記第2の可般型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可般型記録媒体への前記データの書き込み処理をキャンセルする、
ことを特徴とする付記11記載のストレージ制御方法。
(付記13) 前記判定では、前記複数のドライブ装置のうち読み書きを行っていないドライブ装置の台数と、前記複数のドライブ装置のうち前記並列書き込み処理より優先度の低い処理が行われているドライブ装置の台数との合計が2台以上ある場合に、前記並列書き込み処理を実行すると判定することを特徴とする付記12記載のストレージ制御方法。
(付記14) 前記並列書き込み処理を実行すると判定した際に、読み書きを行っていないドライブ装置が1台以下の場合、前記並列書き込み処理より優先度の低い処理が行われているドライブ装置に処理を中断させ、当該ドライブ装置を用いて前記並列書き込み処理を行うことを特徴とする付記13記載のストレージ制御方法。
(付記15) 前記並列書き込み処理の実行中で、かつ前記複数のドライブ装置のすべてで読み書きが行われているときに、前記並列書き込み処理より優先度の高い他の処理が発生した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうち進捗が遅い方に対する書き込み処理をキャンセルすることを特徴とする付記13または14記載のストレージ制御方法。
(付記16) 前記第1の可搬型記録媒体および前記第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納する処理をさらに含み、
前記判定では、前記並列書き込み処理の優先度が、前記キャッシュ装置に空き領域を生成するために前記キャッシュ装置内のデータを前記他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを前記他の複数の可搬型記録媒体のいずれかから読み出して前記キャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置から前記キャッシュ装置に書き込まれたデータを前記ホスト装置からの書き込みとは非同期に前記他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する、
ことを特徴とする付記13記載のストレージ制御方法。
(付記17) 前記並列書き込み処理および前記単独書き込み処理での書き込み対象として所定の複数のデータを指定する処理をさらに含み、
前記判定では、少なくとも、前記複数のデータの総容量が所定の閾値を超えている場合、または、前記複数のデータのそれぞれの容量の平均が所定の閾値より低い場合に、前記並列書き込み処理を実行すると判定する、
ことを特徴とする付記13記載のストレージ制御方法。
(付記18) 前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込み先の可搬型記録媒体ごとにカウントし、カウント数が所定回数に達した可搬型記録媒体を使用不可状態として登録する処理をさらに含むことを特徴とする付記11〜17のいずれか1つに記載のストレージ制御方法。
(付記19) 前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込みで使用されたドライブ装置ごとにカウントし、カウント数が所定回数に達したドライブ装置を使用不可状態として登録する処理をさらに含むことを特徴とする付記11〜18のいずれか1つに記載のストレージ制御方法。
(付記20) 複数のドライブ装置を通じて複数の可搬型記録媒体にアクセスする処理を制御するためのストレージ制御プログラムにおいて、
コンピュータに、
前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可般型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可般型記録媒体に前記データを書き込む処理とを並列に実行し、
前記第1の可般型記録媒体と前記第2の可般型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可般型記録媒体への前記データの書き込み処理をキャンセルする、
処理を実行させることを特徴とするストレージ制御プログラム。
10 ストレージシステム
11 制御装置
12−1〜12−n ドライブ装置
13−1〜13−n 可搬型記録媒体

Claims (11)

  1. 可搬型記録媒体にデータの読み書きを行う複数のドライブ装置と、
    前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可搬型記録媒体に前記データを書き込む処理とを並列に実行し、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセルする制御装置と、
    を備え、
    前記制御装置は、
    前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可搬型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理と、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む単独書き込み処理とのどちらを実行するかを判定し、
    前記並列書き込み処理を実行した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセルし、
    前記制御装置は、
    前記第1の可搬型記録媒体および前記第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納し、
    前記並列書き込み処理の優先度が、前記キャッシュ装置に空き領域を生成するために前記キャッシュ装置内のデータを前記他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを前記他の複数の可搬型記録媒体のいずれかから読み出して前記キャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置から前記キャッシュ装置に書き込まれたデータを前記ホスト装置からの書き込みとは非同期に前記他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する、
    とを特徴とするストレージシステム。
  2. 前記制御装置は、前記複数のドライブ装置のうち読み書きを行っていないドライブ装置の台数と、前記複数のドライブ装置のうち前記並列書き込み処理より優先度の低い処理が行われているドライブ装置の台数との合計が2台以上ある場合に、前記並列書き込み処理を実行すると判定することを特徴とする請求項記載のストレージシステム。
  3. 前記制御装置は、前記並列書き込み処理を実行すると判定した際に、読み書きを行っていないドライブ装置が1台以下の場合、前記並列書き込み処理より優先度の低い処理が行われているドライブ装置に処理を中断させ、当該ドライブ装置を用いて前記並列書き込み処理を行うことを特徴とする請求項記載のストレージシステム。
  4. 前記制御装置は、前記並列書き込み処理の実行中で、かつ前記複数のドライブ装置のすべてで読み書きが行われているときに、前記並列書き込み処理より優先度の高い他の処理が発生した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうち進捗が遅い方に対する書き込み処理をキャンセルすることを特徴とする請求項または記載のストレージシステム。
  5. 前記制御装置は、
    前記並列書き込み処理および前記単独書き込み処理での書き込み対象として所定の複数のデータを指定し、
    少なくとも、前記複数のデータの総容量が所定の閾値を超えている場合、または、前記複数のデータのそれぞれの容量の平均が所定の閾値より低い場合に、前記並列書き込み処理を実行すると判定する、
    ことを特徴とする請求項記載のストレージシステム。
  6. 前記制御装置は、前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込み先の可搬型記録媒体ごとにカウントし、カウント数が所定回数に達した可搬型記録媒体を使用不可状態として登録することを特徴とする請求項1〜のいずれか1項に記載のストレージシステム。
  7. 前記制御装置は、前記並列書き込み処理で先に書き込み処理が完了しなかった回数を書き込みで使用されたドライブ装置ごとにカウントし、カウント数が所定回数に達したドライブ装置を使用不可状態として登録することを特徴とする請求項1〜のいずれか1項に記載のストレージシステム。
  8. 前記制御装置は、前記第1の可搬型記録媒体および前記第2の可搬型記録媒体のうち書き込み処理をキャンセルした方の記録データを無効化することを特徴とする請求項1〜のいずれか1項に記載のストレージシステム。
  9. 複数のドライブ装置を通じて複数の可搬型記録媒体にアクセスする処理を制御する制御装置におけるストレージ制御方法であって、
    前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可搬型記録媒体に前記データを書き込む処理とを並列に実行し、
    前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセル
    前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可搬型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理と、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む単独書き込み処理とのどちらを実行するかを判定し、
    前記並列書き込み処理を実行した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセルし、
    前記制御装置は、
    前記第1の可搬型記録媒体および前記第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納し、
    前記並列書き込み処理の優先度が、前記キャッシュ装置に空き領域を生成するために前記キャッシュ装置内のデータを前記他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを前記他の複数の可搬型記録媒体のいずれかから読み出して前記キャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置から前記キャッシュ装置に書き込まれたデータを前記ホスト装置からの書き込みとは非同期に前記他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する、
    ことを特徴とするストレージ制御方法。
  10. 複数のドライブ装置を通じて複数の可搬型記録媒体にアクセスする処理を制御するためのストレージ制御プログラムにおいて、
    コンピュータに、
    前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可搬型記録媒体に前記データを書き込む処理とを並列に実行し、
    前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセル
    前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可搬型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理と、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む単独書き込み処理とのどちらを実行するかを判定し、
    前記並列書き込み処理を実行した場合には、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセルし、
    前記第1の可搬型記録媒体および前記第2の可搬型記録媒体を除く他の複数の可搬型記録媒体に格納されたデータの一部をキャッシュ装置に格納し、
    前記並列書き込み処理の優先度が、前記キャッシュ装置に空き領域を生成するために前記キャッシュ装置内のデータを前記他の複数の可搬型記録媒体のいずれかに書き込む処理、および、キャッシュミス状態のデータを前記他の複数の可搬型記録媒体のいずれかから読み出して前記キャッシュ装置に格納する処理より低いと判定するとともに、ホスト装置から前記キャッシュ装置に書き込まれたデータを前記ホスト装置からの書き込みとは非同期に前記他の複数の可搬型記録媒体のいずれかに書き込む処理より高いと判定する、
    処理を実行させることを特徴とするストレージ制御プログラム。
  11. 可搬型記録媒体にデータの読み書きを行う複数のドライブ装置と、
    前記複数のドライブ装置のうちの第1のドライブ装置を通じて第1の可搬型記録媒体にデータを書き込む処理と、前記複数のドライブ装置のうちの第2のドライブ装置を通じて第2の可搬型記録媒体に前記データを書き込む処理とを並列に実行し、前記第1の可搬型記録媒体と前記第2の可搬型記録媒体のうちの一方に対する前記データの書き込み処理が完了すると、他方の可搬型記録媒体への前記データの書き込み処理をキャンセルする制御装置と、
    を備え、
    前記制御装置は、前記複数のドライブ装置の使用状況または前記データの属性の少なくとも一方に基づく条件に従って、前記第1のドライブ装置を通じて前記第1の可搬型記録媒体に前記データを書き込む処理および前記第2のドライブ装置を通じて前記第2の可搬型記録媒体に前記データを書き込む処理を並列に実行する並列書き込み処理を行う際に、
    前記条件として、
    前記複数のドライブ装置のうち読み書きを行っていないドライブ装置の台数と、前記複数のドライブ装置のうち前記並列書き込み処理より優先度の低い処理が行われているドライブ装置の台数との合計が2台以上ある場合を前提条件とし、
    前記可搬型記録媒体への前記データの書き込み処理時における前記データの総容量が閾値を超えている場合を第1の条件とし、
    前記可搬型記録媒体への前記データの書き込み処理時における前記データの平均サイズが閾値を下回る場合を第2の条件とし、
    前記可搬型記録媒体への前記データの書き込み処理時における前記データの平均圧縮率が閾値を下回る場合を第3の条件とし、
    前記可搬型記録媒体への前記データの書き込み処理で使用される前記ドライブ装置のエラー点数の平均が閾値を超える場合を第4の条件とし、
    前記データの書き込み処理で使用される前記可搬型記録媒体のエラー点数の平均が閾値を超える場合を第5の条件とした場合に、
    前記前提条件を満たし、かつ前記第1の条件から前記第5の条件の中で、少なくとも2つの条件が満たされる場合に、前記並列書き込み処理を実行する、
    ことを特徴とするストレージシステム。
JP2012062166A 2012-03-19 2012-03-19 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム Expired - Fee Related JP5910213B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012062166A JP5910213B2 (ja) 2012-03-19 2012-03-19 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US13/738,013 US8605560B2 (en) 2012-03-19 2013-01-10 Storage system and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062166A JP5910213B2 (ja) 2012-03-19 2012-03-19 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2013196319A JP2013196319A (ja) 2013-09-30
JP5910213B2 true JP5910213B2 (ja) 2016-04-27

Family

ID=49157492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062166A Expired - Fee Related JP5910213B2 (ja) 2012-03-19 2012-03-19 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US8605560B2 (ja)
JP (1) JP5910213B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2015DN01544A (ja) * 2012-10-12 2015-07-03 Hitachi Ltd
JP2015005089A (ja) * 2013-06-20 2015-01-08 富士通株式会社 ストレージシステム、制御装置および制御方法
US9875058B2 (en) 2015-11-05 2018-01-23 International Business Machines Corporation Prioritizing pages to transfer for memory sharing
US9753670B2 (en) * 2015-11-05 2017-09-05 International Business Machines Corporation Prioritizing memory pages to copy for memory migration
GB2563885B (en) * 2017-06-28 2019-10-23 Advanced Risc Mach Ltd Interrupting export of memory regions
JP2022167593A (ja) * 2021-04-23 2022-11-04 キヤノン株式会社 電子機器及びアクセサリとその制御方法、通信システム、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111262A (ja) * 1990-08-31 1992-04-13 Nec Corp 磁気テープ装置
JPH04344922A (ja) 1991-05-23 1992-12-01 Fujitsu Ltd 二重化ファイル作成方式
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
JP2541780B2 (ja) * 1994-04-20 1996-10-09 茨城日本電気株式会社 ミラ―リング磁気ディスク装置
US6330625B1 (en) * 1999-01-15 2001-12-11 Oracle Corporation System for initiating multiple read operation requests to multiple copies of a data item and identifying a first one of the requests as having the fastest response time
JP4064033B2 (ja) 2000-02-24 2008-03-19 富士通株式会社 複数の記録媒体を利用したデータバックアップ装置およびプログラム記憶媒体
JP4104281B2 (ja) * 2000-10-25 2008-06-18 株式会社日立製作所 データベースアクセス方法
JP2005018484A (ja) 2003-06-26 2005-01-20 Nec Corp バックアップ装置
JP4771916B2 (ja) * 2006-11-15 2011-09-14 富士通株式会社 データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム

Also Published As

Publication number Publication date
JP2013196319A (ja) 2013-09-30
US20130242712A1 (en) 2013-09-19
US8605560B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
JP5910213B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP4502807B2 (ja) ストレージ・ユニット間のデータ移動
US8275930B2 (en) Storage system having volatile memory and non-volatile memory
JP5310480B2 (ja) ストレージ制御装置および方法
US20140379983A1 (en) Storage system, control apparatus, and control method
US7664910B2 (en) Data management method and apparatus, hierarchical storage apparatus and computer-readable storage medium
JP2008065503A (ja) ストレージシステム及びバックアップ/リカバリ方法
JP4490451B2 (ja) 階層型ストレージ管理システムにおける要求スケジューリング方法、要求スケジューリング装置、及びプログラム
JPH01305418A (ja) 最適化されたレコード媒体取付け方法
US8065466B2 (en) Library apparatus, library system and method for copying logical volume to disk volume in cache disk with smallest access load
US11493984B1 (en) Data storage performance scaling based on external energy
JP6115116B2 (ja) 情報処理装置、格納処理方法及びプログラム
US9081506B2 (en) Tape apparatus, storage control apparatus, and storage control method
JP5633432B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP6554990B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP5385987B2 (ja) 複数の記憶装置を含む記憶システム、方法、及びプログラム
JP2014154023A (ja) ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
JP6019940B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
JP6142608B2 (ja) ストレージシステム、制御装置および制御方法
US20160259571A1 (en) Storage subsystem
JP2021135538A (ja) ストレージ制御装置及びストレージ制御プログラム
JP2023110180A (ja) ストレージ装置および制御方法
JP2018092426A (ja) ストレージ制御装置、ストレージ装置、及び制御プログラム
JP7288191B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JPWO2016001959A1 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R150 Certificate of patent or registration of utility model

Ref document number: 5910213

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees