JP4771916B2 - データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム - Google Patents

データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム Download PDF

Info

Publication number
JP4771916B2
JP4771916B2 JP2006309425A JP2006309425A JP4771916B2 JP 4771916 B2 JP4771916 B2 JP 4771916B2 JP 2006309425 A JP2006309425 A JP 2006309425A JP 2006309425 A JP2006309425 A JP 2006309425A JP 4771916 B2 JP4771916 B2 JP 4771916B2
Authority
JP
Japan
Prior art keywords
data
storage device
storage
stored
tape
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
JP2006309425A
Other languages
English (en)
Other versions
JP2008123444A (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 JP2006309425A priority Critical patent/JP4771916B2/ja
Priority to US11/896,264 priority patent/US7836268B2/en
Publication of JP2008123444A publication Critical patent/JP2008123444A/ja
Application granted granted Critical
Publication of JP4771916B2 publication Critical patent/JP4771916B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムに関し、特に、キャッシュとして用いられる記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムに関するものである。
従来、ディスク装置を用いて仮想的なテープ装置を実現する仮想テープシステムが存在する(例えば、特許文献1参照。)。この仮想テープシステムは、ディスク装置をキャッシュとして利用することにより、データの書き込みや読み出しにかかる処理速度の高速化を実現するものである。
通常、仮想テープシステムには、バックエンドにテープライブラリが接続されており、ホスト装置から送られたデータは、いったん、キャッシュであるディスク装置に格納された後に、所定のタイミングでテープ装置に送られ、テープ媒体にバックアップされる。ディスク装置に格納されていたデータは、テープ媒体へのバックアップが完了するまでは、ディスク装置上に保持される。
テープ媒体へのバックアップでは、重要度が高いデータについては、複数のテープ媒体にバックアップすることが一般的である。複数のテープ媒体にデータをバックアップすることを、データの二重化と呼ぶ。通常、この二重化は、複数のテープ装置により並列に実行される。この場合、バックアップ対象のデータは、同時に複数のテープ装置に送られる。
さらに、近年では、災害時などに備え、バックエンドのテープ装置だけではなく、遠隔地に設置されたテープ装置にデータをバックアップすることも行われている。この場合、バックアップ対象のデータは、バックエンドのテープ装置に送られると同時に、ネットワークを経由して、遠隔地に設置されたテープ装置にも送られる。
このように、データの二重化を行なうことにより、テープ媒体の損傷や災害などによってデータが消失するのを防ぐことができる。
特開2003−58326号公報
しかしながら、上述したデータの二重化では、テープ装置ごとのデータの書き込み時間に差が生じる場合がある。例えば、テープ装置自体に性能差(書き込み速度の差や、インタフェースのデータ転送速度の差など)がある場合や、一部のテープ装置にハード故障が起きた場合などである。また、遠隔地のテープ装置を用いてバックアップを行なっている場合には、データの書き込み速度は、ネットワークの回線速度にも影響される。
書き込み時間の差が生じた場合、二重化に用いられる複数のテープ装置のうち、一部のテープ装置へのバックアップが遅れることになる。バックアップ対象のデータは、全てのテープ装置においてバックアップが完了するまではディスク装置上に保持されるため、データの二重化が集中して行われると、ディスク装置の容量不足が発生する。この場合、ホスト装置から送られるデータを格納するための領域が確保されず、ディスク装置へのデータ格納に待ち状態が発生してしまうという問題がある。
待ち状態が頻繁に発生すると、データの書き込み速度や読み出し速度が全体的に低下し、仮想テープシステムの本来の目的の一つである、データの書き込みや読出しの高速化を実現することができなくなる。そのため、いかにして、ディスク装置の容量不足によって生じるパフォーマンスの低下を防ぐかが極めて重要な課題となっている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、キャッシュとして用いられる記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする。
また、本発明は、上記の発明において、前記データ格納手段は、前記第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、該空き容量が所定の閾値以下であった場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納することを特徴とする。
また、本発明は、上記の発明において、記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第二の記憶装置に前記データを記憶することを特徴とする。
また、本発明は、上記の発明において、前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする。
また、本発明は、上記の発明において、データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信する書込完了応答受信手段をさらに備え、前記データ格納手段は、前記書込完了応答受信手段により最初に書込完了応答が受信された後に、所定の時間が経過しても前記書込完了応答受信手段により次の書込完了応答が受信されなかった場合に、最初に受信された書き込み完了を応答した記憶装置を前記第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止することを特徴とする。
また、本発明は、上記の発明において、前記データバックアップ手段は、前記追い出しデータ設定手段により追い出し対象データとして設定されたデータの総量が所定のデータ量を越えた場合に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップすることを特徴とする。
また、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、を含んだことを特徴とする。
また、本発明は、第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、前記追い出しデータ設定手順により前記追い出しデータが設定された後に、前記データ格納手順により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、データ格納制御装置が、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、を備えたことを特徴とする。
本発明によれば、第一の記憶装置に格納されたデータを第二の記憶装置に格納し、その後に当該データを第一の記憶装置からの追い出し対象データとして設定し、第三の記憶装置には、後から第二の記憶装置に格納したデータをバックアップするよう構成したので、第一の記憶装置がキャッシュとして用いられる場合に、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を防ぐことができるという効果を奏する。
また、本発明によれば、記憶装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を第二の記憶装置として選択するよう構成したので、第一の記憶装置にデータが保持される時間を最短にすることが可能になり、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができるという効果を奏する。
また、本発明によれば、第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、空き容量が所定の閾値以下であった場合に、第一の記憶装置に格納されたデータを第二の記憶装置に格納するよう構成したので、第一の記憶装置の容量が不足した場合のみ、第三の記憶装置へのデータのバックアップを先送りすることが可能になり、第二の記憶装置と第三の記憶装置との間で生じるタイムラグを最小限に抑えることができるという効果を奏する。
また、本発明によれば、記憶装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、第二の記憶装置にデータを記憶するよう構成したので、第二の記憶装置と第三の記憶装置との間で書き込み速度が大きく異なる場合のみ、第三の記憶装置へのデータのバックアップを先送りすることが可能になり、第二の記憶装置と第三の記憶装置との間で生じるタイムラグを最小限に抑えることができるという効果を奏する。
また、本発明によれば、記憶したデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を第二の記憶装置として選択し、選択した第二の記憶装置に、第一の記憶装置に格納したデータを格納するよう構成したので、例えば、平均書き込み時間や、最短書き込み時間が最も短い記憶装置を第二の記憶装置として選択することにより、第一の記憶装置にデータが保持される時間を最短にすることが可能になり、第一の記憶装置の容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができるという効果を奏する。
また、本発明によれば、データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答した記憶装置を第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止するよう構成したので、リアルタイムに書き込み速度を測定して第二の記憶装置を選択することが可能になり、各記憶装置の最新の状態に即して、最初にデータを格納する記憶装置を決めることができるという効果を奏する。
また、本発明によれば、追い出し対象データとして設定したデータの総量が所定のデータ量を越えた場合に、第二の記憶装置に格納したデータを第二の記憶装置から第三の記憶装置にバックアップするよう構成したので、バックアップの処理による負荷を分散することができるという効果を奏する。
以下に添付図面を参照して、この発明に係るデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムの好適な実施例を詳細に説明する。なお、本実施例では、本発明を仮想テープシステムに適用した場合を中心に説明する。
まず、本実施例に係る仮想テープシステムの概念について説明する。図1は、本実施例に係る仮想テープシステムの概念を示す図である。この仮想テープシステム10は、RAID(Redundant Arrays of Inexpensive Disks)装置11を用いて仮想的なテープ装置を実現するものであり、ネットワークを介して、ホスト装置20と、テープライブラリ30に備えられたテープ装置31および32とに接続され、また、WAN(Wide Area Network)40を介してテープ装置50にも接続されている。
このような構成のもと、仮想テープシステム10は、ホスト装置20から送られたデータをRAID装置11に備えられたディスクに格納し、その後に、当該データを、テープ装置31、32および50に多重化して格納する。そして、仮想テープシステム10は、テープ装置31、32および50への格納がそれぞれ完了した後に、当該データを、RAID装置11のディスクからの追い出し対象データとして設定する。追い出し対象データとして設定されたデータは、後に、新たなデータがディスクに書き込まれる際に、そのデータを格納するスペースを作るためにディスクから追い出される。
ここで、仮想テープシステム10は、RAID装置11のディスクの容量に余裕がある場合には、テープ装置31、32および50の全てにデータを格納するが(同図(a)を参照)、ディスク内のデータの量が増加し、ディスクの空き容量が所定の閾値以下となった場合には、テープ装置31、32または50のうち、データ書き込み速度がもっとも速いテープ装置を選択し、データを格納する(同図(b)の(1)を参照)。
例えば、テープ装置32のデータ書き込み速度が最も速かったとする。その場合、仮想テープシステム10は、テープ装置32へのデータの格納が完了した時点で、テープ装置31および50へのデータの格納は中止し、そのうえで、当該データをRAID装置11のディスクからの追い出し対象データとして設定する(同図(b)の(2)を参照)。
そして、仮想テープシステム10は、業務による負荷が低い時間帯など所定のタイミングで、テープ装置32に格納したデータを、テープ装置31および50にバックアップする(同図(c)の(3)を参照)。
このように、本実施例に係る仮想テープシステム10は、RAID装置11のディスクに格納されたデータを複数のテープ装置に退避する場合に、データ書き込み速度が最も速いテープ装置を選択してデータを格納し、選択したテープ装置へのデータの格納が完了した時点で、その他のテープ装置へのデータの格納は中止するとともに、当該データをディスクからの追い出し対象データとして設定する。そして、データの格納を中止したテープ装置に対しては、その後の所定のタイミングで、すでに当該データを格納済みのテープ装置から、データをバックアップすることを特徴としている。
これにより、本実施例に係る仮想テープシステム10では、キャッシュとして用いられるディスクの容量が不足することによって生じるパフォーマンス低下を防ぐことができる。
なお、ここでは説明の便宜上、テープライブラリ30に備えられた2台のテープ装置、および、WAN40を介して接続されたテープ装置50にそれぞれデータを退避する場合を示したが、テープライブラリ30に備えられた2台以上のテープ装置にデータを退避する場合や、LAN(Local Area Network)やインターネットを介して接続されたテープ装置にデータを退避する場合にも本発明を同様に適用することが可能である。
次に、本実施例に係る仮想テープシステム10の構成について説明する。図2は、本実施例に係る仮想テープシステム10の構成を示す図である。同図に示すように、この仮想テープシステム10は、LAN70およびFC(Fibre Channel)80を介してホスト装置20に接続され、FC80を介して、テープライブラリ30、および、テープライブラリに備えられたテープ装置31および32に、それぞれ接続されている。さらに、仮想テープシステム10は、WAN40を介してテープ装置50に接続され、LAN70を介してコンソール端末60に接続されている。
仮想テープシステム10は、RAID装置11と、ホストインタフェース制御装置12と、テープ装置制御装置13、14および15と、ロボット制御装置16と、FCスイッチ17と、仮想テープシステム制御装置とがFC80を介して接続されて、構成されている。
RAID装置11は、複数のディスクを記憶媒体として備えた記憶装置であり、後述する仮想テープシステム制御装置100からの指示に基づいて、ホスト装置20から送信されるデータを、適宜、一つまたは複数のディスクによって定義された論理ボリュームに格納する。
ホストインタフェース制御装置12は、ホストインタフェースの制御や、仮想テープ装置群のエミュレーション、データの圧縮処理などを行う処理装置である。例えば、ホストインタフェース制御装置12は、ホスト装置20から送られたテープ装置用の命令を、仮想テープシステム用の命令に変換する。
テープ装置制御装置13、14および15は、それぞれ、後述する仮想テープシステム制御装置100からの指示に基づいて、RAID装置11のディスクに格納されたデータをテープ装置31や32、50に対して書き込んだり、テープ装置31や32、50に格納されているデータを読み出して、ホストインタフェース制御装置に送信したりする処理装置である。
ロボット制御装置16は、後述する仮想テープシステム制御装置100からの指示に基づいて、テープライブラリ30に備えられたロボットアームを制御し、テープライブラリ30に備えられた複数のテープ装置に対するテープ媒体の装填および取り出しを行う処理装置である。
FCスイッチ17は、後述する仮想テープシステム制御装置100によって制御され、仮想テープシステム10を構成する各装置間でやり取りされるデータや制御信号の中継を行うスイッチであり、例えば、ホストインタフェース制御装置を介してホスト装置から受信したデータをRAID装置11に中継したり、RAID装置11のディスクに格納されたデータをテープ装置制御装置13、14または15を介して、テープ装置31、32または50に中継したりする。
仮想テープシステム制御装置100は、仮想テープシステム10の全体制御を行う処理装置であり、ホスト装置20からの指示に基づいて、FCスイッチを介して、ホスト装置20から受信したデータをRAID装置11に送信したり、RAID装置11のディスクに格納されたデータをテープ装置31や32、50に送信したり、ロボット制御装置16に指示して、テープライブラリ30の制御を行ったりする。
ホスト装置20は、メインフレームやサーバなどの情報処理装置であり、仮想テープシステム10に記憶させるデータを送信し、また、仮想テープシステム10により記憶されたデータを受信する。
テープライブラリ30は、テープ装置31および32を含む複数のテープ装置と、各テープ装置にテープ媒体を装填するためのロボットアームとを備えた記憶装置であり、仮想テープシステム10によって制御され、所定のタイミングで、仮想テープシステムから送信されたデータをテープ媒体に格納する。
コンソール端末60は、マウスやキーボードなどの入力装置と、ディスプレイなどの表示装置を備えた端末装置であり、仮想テープシステム10に対する要求を利用者から受け付ける際に用いられる。
さらに、仮想テープシステム制御装置100の機能構成について説明する。図3は、本実施例に係る仮想テープシステム制御装置100の構成を示す機能ブロック図である。同図に示すように、この仮想テープシステム制御装置100は、記憶部110と、制御部120とを有する。
記憶部110は、各種情報を記憶する記憶部であり、本発明に関連するものとしては、二重化定義テーブル111と、二重化状態テーブル112と、二重化監視テーブル113とを記憶する。
二重化定義テーブル111は、二重化を行う単位となる論理ボリュームと、当該論理ボリュームのデータを格納するテープ装置との対応付けを定義した二重化定義情報を記憶するテーブルである。この二重化定義情報は、利用者によって定義されて、あらかじめ二重化定義テーブル111に格納される。図4は、二重化定義情報の一例を示す図である。同図に示す二重化定義情報は、「論理ボリューム」と、「テープ装置0」と、「テープ装置1」と、「テープ装置2」とから構成されている。
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「テープ装置0」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置31に格納するか否かを示す情報であり、「テープ装置1」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置32に格納するか否かを示す情報であり、「テープ装置2」は、論理ボリュームごとに、当該論理ボリュームのデータをテープ装置50に格納するか否かを示す情報である。
例えば、「論理ボリューム」には「LV0」や「LV1」、「LV100」、「LVx」などが設定され、「テープ装置0」、「テープ装置1」および「テープ装置2」には、論理ボリュームごとに、当該論理ボリュームのデータを格納することを示す「○」が設定される。同図に示す例では、論理ボリュームLV0のデータが、テープ装置0およびテープ装置1にそれぞれ格納され、論理テーブルLV1のデータが、テープ装置0、テープ装置1およびテープ装置2にそれぞれ格納され、論理テーブルLV100のデータが、テープ装置0およびテープ装置2にそれぞれ格納されるように定義されている。
二重化状態テーブル112は、論理ボリュームごとのテープ装置への格納状態を示す二重化状態情報を記憶するテーブルである。図5は、二重化状態情報の一例を示す図である。同図に示す二重化状態情報は、「論理ボリューム」と、テープ装置ごとの「累計時間」、「書込回数」、「平均書込時間」および「等価」とを論理ボリュームごとに対応付けて構成されている。
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「累計時間」は、テープ装置にデータを書き込む際にかかった時間の累計であり、「書込回数」は、テープ装置にデータを書き込んだ回数であり、「平均書込時間」は、1書込回数あたりの書き込み時間(累計時間÷書込回数)であり、「等価」は、最後に二重化が行われた際に、データが正しく格納されたか否かを示す情報である。
例えば、同図に示すように、「論理ボリューム」には「LV0」や「LV1」、「LV100」、「LVx」などが設定され、「累計時間」には「234532(秒)」や「30999(秒)」、「12345(秒)」などが設定され、「書込回数」には「3608(回)」や「30999(回)」、「308(回)」などが設定され、「平均書込時間」には「65(秒)」や「10(秒)」、「40(秒)」などが設定され、「等価」には、データが正しく格納されたことを示す「○」や、データが正しく格納されなかったことを示す「×」が設定される(同図の「テープ装置0」の設定内容を参照)。
なお、ここでは、累計時間と書込回数に基づいて平均書込時間を算出することとしたが、例えば、書込回数の代わりに、それまでに書き込んだデータのデータ長の累計を記憶しておき、単位データ長あたりの書き込み時間を平均書込時間としてもよい。
二重化監視テーブル113は、論理ボリュームごとに、二重化に係る処理の状況を示す二重化監視情報を記憶するテーブルである。図6は、二重化監視情報の一例を示す図である。同図に示す二重化監視情報は、「論理ボリューム」と、「等価」と、「二重化停止時刻」と、「二重化開始時刻」とから構成されている。
具体的には、「論理ボリューム」は、二重化を行う単位となる論理ボリュームを識別する識別情報であり、「等価」は、最後に二重化が行われた際に、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されたか否かを示す情報であり、「二重化停止時刻」は、RAID装置11のディスクの容量が不足した場合などに、二重化が停止された時刻であり、「二重化開始時刻」は、業務による負荷が低い時間帯など所定のタイミングで、データのバックアップを開始した時刻である。
例えば、同図に示すように、「論理ボリューム」には、「LV0」や「LV1」、「LV100」などが設定され、「等価」には、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されていることを示す「○」や、二重化定義情報で定義されたすべてのテープ装置にデータが正しく格納されていないことを示す「×」や、後述するバックアップ処理を実施中であることを示す「コピー中」が設定され、「二重化停止時刻」には、「2006(年)/7(月)/1(日) 11:00(時刻)」や「2006/7/11(年月日) 5:50(時刻)」などが設定され、「二重化開始時刻」には「2006/7/2(年月日) 15:00(時刻)」などが設定される。
制御部120は、仮想テープシステム制御装置100の全体制御を行う制御部であり、本発明に関連するものとしては、データ転送制御部121と、二重化処理部122と、テープライブラリ制御部123と、二重化指示受付部124とを有する。
データ転送制御部121は、ホストインタフェース制御装置12から送られる命令に基づいてFCスイッチ17やロボット制御装置16を制御し、各種データの転送を制御する処理部である。具体的には、データ転送制御部121は、ホスト装置20からデータの書き込みまたは読み出し指示を受け付けた場合に、ホストインタフェース制御装置12から順に送られるマウント命令、テープの位置付け命令、テープへのリードおよびライト命令、テープのリワインド命令、テープのアンロード命令、テープのアンマウント命令に基づいて、RAID装置11のディスク上の論理ボリューム、または、テープ装置31、32または50に対して、データの書き込みや、読み出しを行う。
ここで、データ転送制御部121は、アンロード命令を受け付けた場合には、ライト命令によってRAID装置11のディスク上の論理ボリュームに書き込まれたデータを、テープライブラリ30のテープ装置31、32および50のうち、二重化定義テーブル111の二重化定義情報において定義されたテープ装置に対して格納する。
このテープ装置へのデータ格納を行う際に、データ転送制御部121は、RAID装置11のディスクの空き容量を確認し、ディスクの空き容量が所定の閾値以下であった場合には、二重化状態テーブル112の二重化状態情報を参照し、当該論理ボリュームの格納先として定義されているテープ装置の中から、平均書き込み時間が最も短いテープ装置を選択する。
なお、ここでは、平均書き込み時間が最も短いテープ装置を選択することとしたが、ここで選択するテープ装置は、一つだけではなく、複数でもよい。例えば、平均書き込み時間が短い順に所定の数のテープ装置を選択するようにしてもよい。
そして、データ転送制御部121は、選択したテープ装置に当該論理ボリュームのデータを格納するよう二重化処理部122に指示する。その後、データ転送制御部121は、選択したテープ装置から書き込み完了応答を受信した場合には、当該論理ボリュームに対応するデータをRAID装置11からの追い出し対象データとして設定する。
また、データ転送制御部121は、テープ装置に対してデータを格納した場合には、その都度、二重化状態テーブル112の二重化状態情報に含まれる累計時間、書込回数、平均書込時間(累計時間および書込回数から算出)および等価を、論理ボリュームごとに更新する。
また、データ転送制御部121は、テープ装置を選択してデータを格納した場合には、その都度、二重化監視テーブル113の二重化監視情報に含まれる二重化停止時刻を、論理ボリュームごとに更新する。
上記したテープ装置へのデータ格納に係る一連の処理を、「データ格納処理」と呼ぶ。このデータ格納処理の詳細な処理手順については、後に図7を参照して説明する。
なお、ここでは、データ転送制御部121は、RAID装置11のディスクの空き容量が所定の閾値以下となった場合に、データ格納処理を開始することとしたが、例えば、二重化状態テーブル112に記憶された二重化状態情報に基づいて、テープ装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、データ格納処理を開始するようにしてもよい。
また、二重化状態テーブル112に記憶された二重化状態情報に基づいて、データ格納処理を介するのではなく、データの書き込みが完了した場合に各テープ装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答したテープ装置を選択するようにデータ格納処理を行ってもよい。
二重化処理部122は、データ格納処理においてデータが格納されたテープ装置から、データが未格納であるテープ装置に対して、データのバックアップ(二重化)を行う処理部である。この二重化処理部122は、業務による負荷が低い時間など所定の時間が到来した場合や、後述する二重化指示受付部124からの指示を受け付けた場合に、テープライブラリ制御部123に指示して、データ格納処理においてデータが格納されたテープ装置から、データが未格納であるテープ装置に対して、データのバックアップを行う。
具体的には、二重化処理部122は、業務による負荷が低い時間など所定の時間が到来したことを確認した場合には、二重化状態テーブル112に記憶された二重化状態情報を参照し、論理ボリュームごとに、データの格納先として定義されているテープ装置に対するデータの格納状況を確認する。
そして、二重化処理部122は、論理ボリュームごとに、すでにデータの格納が行われているテープ装置(二重化状態テーブル112において、「等価」が「○」となっているテープ装置)から、データの格納がまだ行われていないテープ装置(二重化状態テーブル112において、「等価」が「×」となっているテープ装置)に対して、データをバックアップするよう二重化処理部122に対して指示する。
また、二重化処理部122は、データのバックアップを行った場合には、その都度、二重化監視テーブル113の二重化監視情報に含まれる等価および二重化開始時刻を、論理ボリュームごとに更新する。
上記したテープ装置へのデータ格納に係る一連の処理を、「データバックアップ処理」と呼ぶ。このデータバックアップ処理の詳細な処理手順については、後に図8を参照して説明する。
なお、二重化処理部122は、二重化指示受付部124から指示された場合には、利用者から指定された論理ボリュームについてのみ、上述したデータバックアップ処理を行う。
また、ここでは、二重化処理部122は、業務による負荷が低い時間など所定の時間が到来した場合に、データバックアップ処理を行うこととしたが、例えば、RAID装置11に追い出し対象データとして設定したデータのデータ量を記憶し、データ量の合計が所定の閾値を超えた場合に、データバックアップ処理を行うようにしてもよい。
テープライブラリ制御部123は、ロボット制御装置16に指示することによって、テープライブラリ30のテープ装置を制御する処理部である。
二重化指示受付部124は、利用者からの要求に基づいて、データの二重化に係る処理の状況をコンソール端末60の表示装置に表示するとともに、表示した論理ボリュームに対する二重化指示を利用者から受け付ける処理部である。
具体的には、この二重化指示受付部124は、利用者からの参照要求を受け付けた場合には、二重化監視テーブル113に格納された二重化監視情報をコンソール端末60の表示装置に出力する。また、二重化指示受付部124は、利用者からの二重化指示を受け付けた場合には、指示された論理ボリュームについて、二重化処理部122に指示することにより、データが未格納であるテープ装置に対するデータのバックアップを行う。
次に、データ格納処理の処理手順について説明する。図7は、データ格納処理の処理手順を示すフローチャートである。なお、ここでは、データ転送制御部121による処理を中心に説明し、各種テーブル更新に関する処理については、説明を省略する。
同図に示すように、データ転送制御部121は、ディスクの空き容量が所定の閾値以下であることを確認すると(ステップS101,Yes)、さらに、その時点でテープ装置に対してデータの書き込みを指示中であるか否かを確認し、書き込み指示中であった場合には(ステップS102,Yes)、データ転送制御部121は、書き込み指示中のテープ装置のうち、いずれか一つのテープ装置から書き込み完了応答が送信されたか否かを確認する。
そして、いずれか一つのテープ装置から書き込み完了応答が送信されたことを確認した場合には(ステップS103,Yes)、データ転送制御部121は、ロボット制御装置16および、テープ装置制御装置13、14または15に指示することによって、書き込み完了応答がまだ送信されていないテープ装置に対してデータの書き込みを中止する命令を送信して、それぞれのテープ装置に対するデータの書き込みを中断する(ステップS104)。
一方、書き込み指示中でなかった場合には(ステップS102,No)、データ転送制御部121は、ホスト装置からアンロード命令を受け付けると(ステップS105,Yes)、二重化状態テーブル112を参照して、データが書き込まれた論理ボリュームの格納先であるテープ装置の平均書込時間を比較し、平均書込時間が最も短いテープ装置を選択する(ステップS106)。そして、データ転送制御部121は、二重化処理部122に対して、選択したテープ装置に当該論理ボリュームのデータを書き込むよう指示する(ステップS107)。
そして、データ転送制御部121は、選択したテープ装置から書き込み完了応答を受信した場合には(ステップS108,Yes)、当該論理ボリュームに対応するデータを、RAID装置11からの追い出し対象データとして設定する(ステップS109)。
次に、データバックアップ処理の処理手順について説明する。図8は、データバックアップ処理の処理手順を示すフローチャートである。なお、ここでは、二重化処理部122による処理を中心に説明し、各種テーブル更新に関する処理については、説明を省略する。
同図に示すように、二重化処理部122は、業務による負荷が低い時間帯など所定のタイミングが到来した場合に、データのバックアップを開始する(ステップS201,Yes)。まず、二重化処理部122は、二重化状態テーブル112に記憶された二重化状態情報を参照し、論理ボリュームごとに、データの格納先として定義されているテープ装置に対するデータの格納状況を確認する(ステップS202)。
そして、二重化処理部122は、論理ボリュームごとに、すでにデータの格納が行われているテープ装置から、データの格納(二重化)がまだ行われていないテープ装置に対して、データをバックアップする(ステップS203)。
その後、二重化処理部122は、全ての論理ボリュームについて、データの格納先として定義されている全てのテープ装置へのデータのバックアップが完了したことを確認すると(ステップS204,Yes)、処理を終了する。
上述してきたように、本実施例では、データ転送制御部121が、RAID装置11のディスクに格納されたデータを、選択されたテープ装置に格納し、その後に当該データをRAID装置11のディスクからの追い出し対象データとして設定し、選択されなかった他のテープ装置には、後から、二重化処理部122が、データ格納済みのテープ装置からデータをバックアップするので、キャッシュとして用いられるRAID装置11のディスクの容量が不足することによって生じるパフォーマンス低下を防ぐことができる。
また、本実施例によれば、二重化状態テーブル112が、テープ装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ転送制御部121が、データ書き込み時間が最も短いテープ装置にデータを格納するので、RAID装置11のディスクにデータが保持される時間を最短にすることが可能になり、RAID装置のディスクの容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができる。
また、本実施例によれば、データ転送制御部121が、RAID装置11のディスクの空き容量が所定の閾値以下であるか否かを判定し、空き容量が所定の閾値以下であった場合に、RAID装置11のディスクに格納されたデータを、いずれか一つのテープ装置を選択してデータを格納するので、RAID装置11のディスクの容量が不足した場合のみ、選択されなかった他のテープ装置へのデータのバックアップを先送りすることが可能になり、テープ装置間に生じるバックアップのタイムラグを最小限に抑えることができる。
また、本実施例によれば、二重化状態テーブル112が、テープ装置ごとのデータ書き込み時間に係る情報を記憶し、記憶したデータ書き込み時間に係る情報に基づいて、データ転送制御部121が、テープ装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、いずれか一つのテープ装置を選択して、データを記憶するので、テープ装置間で書き込み速度が大きく異なる場合のみ、選択されなかった他のテープ装置へのデータのバックアップを先送りすることが可能になり、テープ装置間に生じるバックアップのタイムラグを最小限に抑えることができる。
また、本実施例によれば、二重化状態テーブル112に記憶したデータ書き込み時間に係る情報に基づいて、複数のテープ装置の中から複数または単数のテープ装置を選択し、選択したテープ装置に、RAID装置11のディスクに格納したデータを格納するので、例えば、平均書き込み時間や、最短書き込み時間が最も短いテープ装置を選択してデータを格納することにより、RAID装置11のディスクにデータが保持される時間を最短にすることが可能になり、RAID装置11のディスクの容量が不足することによって生じるパフォーマンス低下を効率よく防ぐことができる。
また、本実施例によれば、データ転送制御部121が、データの書き込みが完了した場合に各テープ装置から応答される書込完了応答を受信し、最初に書込完了応答を受信した後に、所定の時間が経過しても次の書込完了応答を受信しなかった場合に、最初に受信した書き込み完了を応答したテープ装置を選択してデータを格納するとともに、他のテープ装置へのデータの書き込みを中止するので、リアルタイムに書き込み速度を測定してテープ装置を選択してデータを格納することが可能になり、各テープ装置の最新の状態に即して、最初にデータを格納するテープ装置を決めることができる。
また、本実施例によれば、二重化処理部122が、RAID装置11に追い出し対象データとして設定したデータの総量が所定のデータ量を越えた場合に、選択されたテープ装置に格納したデータを、選択されなかったテープ装置にバックアップするので、バックアップの処理による負荷を分散することができる。
なお、本実施例では、仮想テープシステム制御装置について説明したが、上述した仮想テープシステム制御装置が有する各処理部の機能をソフトウェアによって実現することで、同様の機能を有するデータ格納制御プログラムを得ることができる。そこで、このデータ格納制御プログラムを実行するコンピュータについて説明する。
図9は、本実施例に係るデータ格納制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ200は、RAM(Random Access Memory)210と、CPU(Central Processing Unit)220と、HDD(Hard Disk Drive)230と、LAN(Local Area Network)インタフェース240と、入出力インタフェース250と、DVD(Digital Versatile Disk)ドライブ260とを有する。
RAM210は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU220は、RAM210からプログラムを読み出して実行する中央処理装置である。
HDD230は、プログラムやデータを格納するディスク装置であり、LANインタフェース240は、コンピュータ200をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース250は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ260は、DVDの読み書きを行う装置である。
そして、このコンピュータ200において実行されるデータ格納制御プログラム211は、DVDに記憶され、DVDドライブ260によってDVDから読み出されてコンピュータ200にインストールされる。
あるいは、このデータ格納制御プログラム211は、LANインタフェース240を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ200にインストールされる。
そして、インストールされたデータ格納制御プログラム211は、HDD230に記憶され、RAM210に読み出されてCPU220によってデータ格納制御プロセス221として実行される。
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(付記1)第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ格納制御装置。
(付記2)記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする付記1に記載のデータ格納制御装置。
(付記3)前記データ格納手段は、前記第一の記憶装置の空き容量が所定の閾値以下であるか否かを判定し、該空き容量が所定の閾値以下であった場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納することを特徴とする付記1または2に記載のデータ格納制御装置。
(付記4)記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段をさらに備え、
前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第二の記憶装置に前記データを記憶することを特徴とする付記1に記載のデータ格納制御装置。
(付記5)前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする付記4に記載のデータ格納制御装置。
(付記6)データの書き込みが完了した場合に各記憶装置から応答される書込完了応答を受信する書込完了応答受信手段をさらに備え、
前記データ格納手段は、前記書込完了応答受信手段により最初に書込完了応答が受信された後に、所定の時間が経過しても前記書込完了応答受信手段により次の書込完了応答が受信されなかった場合に、最初に受信された書き込み完了を応答した記憶装置を前記第二の記憶装置として選択するとともに、他の記憶装置へのデータの書き込みを中止することを特徴とする付記1に記載のデータ格納制御装置。
(付記7)前記データバックアップ手段は、前記追い出しデータ設定手段により設定された追い出し対象データの総量が所定のデータ量を越えた場合に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップすることを特徴とする付記1〜6のいずれか一つに記載のデータ格納制御装置。
(付記8)第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、
前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、
前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、
を含んだことを特徴とするデータ格納制御方法。
(付記9)第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、
前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、
前記追い出しデータ設定手順により前記追い出し対象データが設定された後に、前記データ格納手順により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、
をコンピュータに実行させることを特徴とするデータ格納制御プログラム。
(付記10)第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、
データ格納制御装置が、
前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
を備えたことを特徴とするデータ記憶システム。
以上のように、本発明に係るデータ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システムは、仮想テープシステムなどに有用であり、特に、キャッシュとして用いられている記憶装置の記憶容量が小さい場合に適している。
本実施例に係る仮想テープシステムの概念を示す図である。 本実施例に係る仮想テープシステムの構成を示す図である。 本実施例に係る仮想テープシステム制御装置の構成を示す機能ブロック図である。 二重化定義情報の一例を示す図である。 二重化状態情報の一例を示す図である。 二重化監視情報の一例を示す図である。 データ格納処理の処理手順を示すフローチャートである。 データバックアップ処理の処理手順を示すフローチャートである。 本実施例に係るデータ格納制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。
符号の説明
10 仮想テープシステム
11 RAID装置
12 ホストインタフェース制御装置
13,14,15 テープ装置制御装置
16 ロボット制御装置
17 FCスイッチ
20 ホスト装置
30 テープライブラリ
31,32,50 テープ装置
40 WAN
60 コンソール端末
70 LAN
80 FC
100 仮想テープシステム制御装置
110 記憶部
111 二重化定義テーブル
112 二重化状態テーブル
113 二重化監視テーブル
120 制御部
121 データ転送制御部
122 二重化処理部
123 テープライブラリ制御部
124 二重化指示受付部
200 コンピュータ
210 RAM
211 データ格納制御プログラム
220 CPU
221 データ格納制御プロセス
230 HDD
240 LANインタフェース
250 入出力インタフェース
260 DVDドライブ

Claims (6)

  1. 第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置であって、
    記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段と、
    前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
    前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第三の記憶装置への格納を待たずに前記第一の記憶装置から追い出すべく、前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
    前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納された、前記追い出しデータとして設定されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
    を備えたことを特徴とするデータ格納制御装置。
  2. 記データ格納手段は、さらに、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、データ書き込み時間が最も短い記憶装置を前記第二の記憶装置として選択することを特徴とする請求項1に記載のデータ格納制御装置。
  3. 前記データ格納手段は、前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、複数の記憶装置の中から複数または単数の記憶装置を前記第二の記憶装置として選択し、選択した第二の記憶装置に、前記第一の記憶装置に格納されたデータを格納することを特徴とする請求項1または請求項2に記載のデータ格納制御装置。
  4. 第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御方法であって、
    記憶装置ごとのデータ書き込み時間に係る情報を記憶する記憶部により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納工程と、
    前記データ格納工程により前記第二の記憶装置にデータが格納された後に、該データを前記第三の記憶装置への格納を待たずに前記第一の記憶装置から追い出すべく、前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定工程と、
    前記追い出しデータ設定工程により前記追い出し対象データが設定された後に、前記データ格納工程により前記第二の記憶装置に格納された、前記追い出しデータとして設定されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ工程と、
    を含んだことを特徴とするデータ格納制御方法。
  5. 第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御プログラムであって、
    記憶装置ごとのデータ書き込み時間に係る情報を記憶する記憶部により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手順と、
    前記データ格納手順により前記第二の記憶装置にデータが格納された後に、該データを前記第三の記憶装置への格納を待たずに前記第一の記憶装置から追い出すべく、前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手順と、
    前記追い出しデータ設定手順により前記追い出し対象データが設定された後に、前記データ格納手順により前記第二の記憶装置に格納された、前記追い出しデータとして設定されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手順と、
    をコンピュータに実行させることを特徴とするデータ格納制御プログラム。
  6. 第一の記憶装置と、該第一の記憶装置に格納されたデータを第二の記憶装置および第三の記憶装置に多重化して格納するデータ格納制御装置とから構成されるデータ記憶システムであって、
    データ格納制御装置が、
    記憶装置ごとのデータ書き込み時間に係る情報を記憶する書込時間記憶手段と、
    前記書込時間記憶手段により記憶されたデータ書き込み時間に係る情報に基づいて、記憶装置ごとのデータ書き込み時間のばらつきの最大値を検出し、検出したばらつきの最大値が所定の閾値を越えた場合に、前記第一の記憶装置に格納されたデータを前記第二の記憶装置に格納するデータ格納手段と、
    前記データ格納手段により前記第二の記憶装置にデータが格納された後に、該データを前記第三の記憶装置への格納を待たずに前記第一の記憶装置から追い出すべく、前記第一の記憶装置からの追い出し対象データとして設定する追い出しデータ設定手段と、
    前記追い出しデータ設定手段により前記追い出し対象データが設定された後に、前記データ格納手段により前記第二の記憶装置に格納された、前記追い出しデータとして設定されたデータを該第二の記憶装置から前記第三の記憶装置にバックアップするデータバックアップ手段と、
    を備えたことを特徴とするデータ記憶システム。
JP2006309425A 2006-11-15 2006-11-15 データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム Expired - Fee Related JP4771916B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006309425A JP4771916B2 (ja) 2006-11-15 2006-11-15 データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム
US11/896,264 US7836268B2 (en) 2006-11-15 2007-08-30 Method, apparatus, and system for controlling data storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006309425A JP4771916B2 (ja) 2006-11-15 2006-11-15 データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム

Publications (2)

Publication Number Publication Date
JP2008123444A JP2008123444A (ja) 2008-05-29
JP4771916B2 true JP4771916B2 (ja) 2011-09-14

Family

ID=39370534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006309425A Expired - Fee Related JP4771916B2 (ja) 2006-11-15 2006-11-15 データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム

Country Status (2)

Country Link
US (1) US7836268B2 (ja)
JP (1) JP4771916B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984236B2 (en) * 2007-09-13 2011-07-19 Hewlett-Packard Development Company, L.P. Data transfer
JP5394826B2 (ja) * 2009-06-04 2014-01-22 株式会社日立製作所 ランダムアクセス型の記憶媒体を仮想的なシーケンシャルアクセス型の記憶媒体にエミュレートするエミュレータを実行する計算機システム
JP2011008548A (ja) 2009-06-25 2011-01-13 Fujitsu Ltd データ中継装置およびストレージシステム
JP4814983B2 (ja) 2009-06-26 2011-11-16 富士通株式会社 データ格納制御装置、データ格納制御方法およびデータ格納制御プログラム
JP2011108091A (ja) * 2009-11-19 2011-06-02 Fujitsu Ltd テープライブラリのデータ二重化制御方法および仮想テープ装置
JP2013097402A (ja) * 2011-10-27 2013-05-20 Fujitsu Ltd 仮想ストレージシステムの制御装置、仮想ストレージシステム、および制御方法
JP5910213B2 (ja) * 2012-03-19 2016-04-27 富士通株式会社 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP6142514B2 (ja) * 2012-11-26 2017-06-07 日本電気株式会社 仮想テープ装置およびその冗長データ作成方法
JP6212996B2 (ja) * 2013-07-05 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
WO2017090517A1 (ja) * 2015-11-24 2017-06-01 日本電気株式会社 ソフトウェアストレージユニット、バックアップ方法、およびバックアップ制御プログラムが記録された記録媒体
JP2019106127A (ja) * 2017-12-14 2019-06-27 富士通株式会社 バックアップ制御装置、バックアップシステム、バックアップ制御方法及びバックアップ制御プログラム
JP7316810B2 (ja) * 2019-03-19 2023-07-28 株式会社Pfu サーバ装置及びネットワークシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3248176B2 (ja) 1994-05-11 2002-01-21 日本電信電話株式会社 ライブラリシステム
JP3726559B2 (ja) * 1999-06-01 2005-12-14 株式会社日立製作所 ダイレクトバックアップ方法および記憶装置システム
JP2003058326A (ja) 2001-08-17 2003-02-28 Hitachi Ltd バックアップ取得方法及び装置
JP3898968B2 (ja) * 2002-03-15 2007-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報記録方法および情報記録システム
JP2004070456A (ja) * 2002-08-02 2004-03-04 Nec Corp データバックアップ方法、データバックアップ装置、及び情報処理装置
US7343459B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for detecting & mitigating storage risks
JP4625675B2 (ja) * 2004-10-20 2011-02-02 株式会社日立製作所 ストレージ装置のリソース割り当て方法及びストレージ装置
US7627776B2 (en) * 2004-11-16 2009-12-01 Petruzzo Stephen E Data backup method
JP2006293981A (ja) * 2005-03-18 2006-10-26 Hitachi Ltd データベース格納方法、および、データベース格納システム

Also Published As

Publication number Publication date
US7836268B2 (en) 2010-11-16
JP2008123444A (ja) 2008-05-29
US20080114932A1 (en) 2008-05-15

Similar Documents

Publication Publication Date Title
JP4771916B2 (ja) データ格納制御装置、データ格納制御方法、データ格納制御プログラムおよびデータ記憶システム
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
JP4988225B2 (ja) ホスト・コンピュータ装置及び複数の被制御ストレージ装置に接続されたストレージ・コントローラ、並びにその動作方法及びコンピュータ・プログラム
EP1703397A2 (en) Storage control apparatus and method
US20090077302A1 (en) Storage apparatus and control method thereof
JP5310480B2 (ja) ストレージ制御装置および方法
US20050251628A1 (en) Method, system, and program for demoting tracks from cache
JP2006134217A (ja) ライブラリシステム,仮想ライブラリ装置,及びキャッシュ復元方法
JP2005149436A (ja) ストレージ装置、ストレージ装置における制御方法、ジョブスケジューリング処理方法及び障害処理方法並びにそれらのプログラム
JP2015005089A (ja) ストレージシステム、制御装置および制御方法
JP2015052844A (ja) コピー制御装置,コピー制御方法及びコピー制御プログラム
JP7318367B2 (ja) ストレージ制御装置及びストレージ制御プログラム
US7073029B2 (en) Storage system using fast storage and log-structured storage
US20110188148A1 (en) Tape library control apparatus and tape library control method
JP4489500B2 (ja) バックアップ方法、バックアップシステム、ディスク制御装置、及びバックアッププログラム
JP3776438B2 (ja) 記憶装置
JPH10254642A (ja) 記憶装置システム
JP2016057876A (ja) 情報処理装置、入出力制御プログラム、及び入出力制御方法
JP6107761B2 (ja) ディスクアレイ装置およびディスクアレイ装置の制御方法
WO2016084156A1 (ja) ストレージシステム
US8730771B2 (en) Recording/reproducing device
JP2002278706A (ja) ディスクアレイ装置
WO2016006108A1 (ja) ストレージおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees