JP2021117772A - ストレージシステム,管理装置およびデータ管理プログラム - Google Patents

ストレージシステム,管理装置およびデータ管理プログラム Download PDF

Info

Publication number
JP2021117772A
JP2021117772A JP2020011078A JP2020011078A JP2021117772A JP 2021117772 A JP2021117772 A JP 2021117772A JP 2020011078 A JP2020011078 A JP 2020011078A JP 2020011078 A JP2020011078 A JP 2020011078A JP 2021117772 A JP2021117772 A JP 2021117772A
Authority
JP
Japan
Prior art keywords
data
tape
write
write data
storage
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.)
Pending
Application number
JP2020011078A
Other languages
English (en)
Inventor
駿 五木田
Shun Gokita
駿 五木田
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 JP2020011078A priority Critical patent/JP2021117772A/ja
Priority to US17/100,998 priority patent/US11275531B2/en
Publication of JP2021117772A publication Critical patent/JP2021117772A/ja
Pending legal-status Critical Current

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/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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0656Data buffering arrangements

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)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Detection And Correction Of Errors (AREA)
  • Automatic Tape Cassette Changers (AREA)

Abstract

【課題】データを効率的にテープ媒体に書き込むことができるようにする。【解決手段】複数の書込データの書き込み指示を受信する受信処理部211と、複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、2つ以上の前記書込データを複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部213とを備える。【選択図】図4

Description

本発明は、ストレージシステム,管理装置およびデータ管理プログラムに関する。
情報処理システムで扱われるデータ量は増加の一途を辿っており、それに伴って保管されるデータ量も急上昇している。このような情報処理システムにおけるデータのアーカイブやバックアップに、複数のカートリッジテープを記録媒体として用いるテープアーカイブシステムが用いられている。
テープアーカイブシステムにおけるデータの冗長化手法として、カートリッジテープの複製を作成するレプリケーションが行なわれている。
また、イレージャーコーディング(Erasure Coding:消失訂正符号)を用いることで、レプリケーションに比べて、使用するテープ数を削減することができる。以下、イレージャーコーディングをECと表す場合がある。
複数のカートリッジテープにデータを分散し、エラー訂正用の冗長性デ−タ(パリティ)を付加して格納し、カートリッジテープに障害が生じたときにユーザデータの再生を可能とするテープアレイシステムを、RAIT(Redundant Arrays of Inexpensive Tapes)という場合がある。
例えば、4本のカートリッジテープを冗長化する場合において、レプリケーションを実現するためには8本のカートリッジテープを使用する。これに対して、例えば、2本のカートリッジテープをパリティとして用いるRAITでは、6(=4+2)本のカートリッジテープで冗長化を実現することができる。
このようなRAITは、例えば、HPSS(High Performance Storage System)において用いられる。
図13は従来のRAITによる複数カートリッジテープの使用方法を説明するための図である。
この図13においては、6本のカートリッジテープT1〜T6のうち2本のカートリッジテープをパリティP,Qの記録に用いるRAIT6を示す。パリティP,Qの記録に使用される2本のカートリッジテープはローテーションにより、順次、切り替えられる。
図13に示すRAIT6においては、オブジェクト(Bitfile 1〜6)を固定長の複数のデータブロックに分割し、6本のカートリッジテープT1〜T6に分散して書き込むストライピングを実現している。
なお、図13中、複数のカートリッジテープT1〜T6の並び方向(図13の左右方向)を水平方向という場合があり、各カートリッジテープT1〜T6に沿う方向(図13の上下方向)を垂直方向という場合がある。図13に示す従来のテープアーカイブシステムにおいては、オブジェクトを構成するデータブロックを水平方向に分散して配置している。
いずれかのカートリッジテープのデータブロックに異常が検出された場合には、残りの正常なデータブロックと水平方向に並ぶパリティP,Qとを用いてデータブロックの復元を行なう。
特開2001−147785号公報 特表2003−521085号公報 特開2005−165486号公報
しかしながら、このような従来のテープアーカイブシステムにおいては、オブジェクトを読み込むために複数のカートリッジテープを読む必要がある。複数のカートリッジテープに対して効率良く読み書きを実行するためには、複数のドライブを用意して並列化する必要があるため、コストがかかる。
また、小さなオブジェクトへのアクセスでは、カートリッジテープに対する実際の読み書きのアクセス以外のビジー時間の割合が高くなってしまうため効率が悪い。なお、ビジー時間は、例えば、(ロボット待ち時間+マウントに要する時間+シークに要する時間)×ドライブ数で表すことができる。
また、オブジェクトを一のカートリッジテープに書き込むことも考えられる。すなわち、オブジェクトを構成するデータブロックを垂直方向に配置する手法である。
図14は従来のRAITによる複数カートリッジテープの使用方法を説明するための図であり、オブジェクトを垂直方向に配置する例を示す。
この図14においては、4本のカートリッジテープT1〜T4のうちカートリッジテープT4をパリティの記録に用いている。
しかしながら、このようなオブジェクトを単に垂直方向に配置する手法においては、単一のカートリッジテープからの読み込みとなるため、複数のドライブを用いた並列化を行なうことができず、オブジェクトサイズが大きい場合に当該オブジェクトに対するアクセス時間がかかるという課題がある。
1つの側面では、本発明は、データを効率的にテープ媒体に書き込むことができるようにすることを目的とする。
このため、このテープアーカイブシステムは、1つ以上のドライブ装置と、複数のテープ媒体を収納する収納セルが配置された収納棚と、前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットと、複数の書込データの書き込み指示を受信する受信処理部と、前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部とを備える。
一実施形態によれば、データを効率的にテープ媒体に書き込むことができる。
実施形態の一例としてのテープアーカイブシステムの構成を示す斜視図である。 実施形態の一例としてのテープアーカイブシステムの構成を示す斜視図である。 実施形態の一例としてのテープアーカイブシステムにおける制御システムのハードウェア構成例を示す図である。 実施形態の一例としてのテープアーカイブシステムの管理装置の機能構成例を示す図である。 実施形態の一例としてのテープアーカイブシステムのデータ配置決定部による処理を説明するための図である。 実施形態の一例としてのテープアーカイブシステムにおける水平用データ配置情報の構成を例示する図である。 実施形態の一例としてのテープアーカイブシステムにおける垂直用データ配置情報の構成を例示する図である。 実施形態の一例としてのテープアーカイブシステムのデータ配置決定部が用いる閾値を説明するための図である。 実施形態の一例としてのテープアーカイブシステムにおけるオブジェクトデータをテープにアーカイブする際の処理を説明するためのフローチャートである。 実施形態の一例としてのテープアーカイブシステムにおけるテープにアーカイブされたデータを読み出す際の処理を説明するためのフローチャートである。 実施形態の一例としてのテープアーカイブシステムにおける効果を説明するための図である。 実施形態の一例としてのテープアーカイブシステムにおける効果を説明するための図である。 従来のRAITによる複数カートリッジテープの使用方法を説明するための図である。 従来のRAITによる複数カートリッジテープの使用方法を説明するための図である。
以下、図面を参照して本ストレージシステム,管理装置およびデータ管理プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1及び図2は、それぞれ実施形態の一例としてのテープアーカイブシステム1の構成を示す斜視図であり、図2は図1の収納棚10Rを除去した状態を示す図である。
本テープアーカイブシステム1は、ストレージシステムであって、コンピュータシステムのデータ(オブジェクトデータ)をバックアップする外部記憶装置として備えられ、多数のカートリッジ式記録装置(可搬性記録媒体)が収納される。可搬性記録媒体としては、例えば、磁気テープカートリッジ,フレキシブルディスク,光ディスク,リールに巻回された磁気テープ等がある。本実施形態においては、シーケンシャルメディアである磁気テープを記録媒体に用いた磁気テープカートリッジを可搬性記録媒体として用いる場合を説明する。磁気テープカートリッジは、その内部に磁気記録テープ等の記録媒体を収納している。磁気テープは、データをシーケンシャルに読み書き可能に記憶するテープ状の記録媒体(テープ媒体)である。なお、以下、磁気テープを、単に、テープという場合があり、また、磁気テープカートリッジを、単に、カートリッジという場合がある。
テープアーカイブシステム1は、図1に示すように、複数(図1に示す例では3つ)の収納棚10R,10L,10B,複数(図2に示す例では4つ)のドライブ装置12及び2つのロボット11a,11bを備える。
収納棚10R,10L,10Bは、カートリッジを収納するものであり、それぞれカートリッジを収納する複数に区分けされた収納空間部として複数のセル(収納セル)1
4がマトリクス状に形成されている。
図1に示す例においては、ロボット11a,11bを3方から環囲するように収納棚10R,10L,10Bが配置され、収納棚10Rの対面側に収納棚10Lが配置され、また、これらの収納棚10R,10Lと直交する一方の面に収納棚10Bが配置されている。
後側収納棚10Bには複数(図2に示す例においては4つ)のドライブ装置12が設置されている。
ドライブ装置12は、データの書込み(ライト)・読出し(リード)手段であって、カートリッジ内のテープに対するデータの書込み、テープからデータを読み取る手段である。図2に示す例においては、4つのドライブ装置12が、収納棚10Bのセル群の下方にマトリクス状に配置されている。
ライブラリ装置60(図3参照)は、被搬送物としてのカートリッジを搬送するロボット11a,11bを備える。
ロボット11a,11bは、図示しないカートリッジ投入排出機構部(CAS:Cartridge Access Station)から収納棚10へカートリッジを搬送したり、また、収納棚10からドライブ装置12に対してカートリッジを搬送し、ドライブ装置12からカートリッジを収納棚10に搬送する搬送手段である。ロボット11a,11bのうち一方が運用系ロボットとして設定されており、他方のロボットは、運用系ロボットに異常が生じた場合に用いられる待機系ロボットとして用いられる。以下、ロボット11a,11bを特に区別しない場合には、ロボット11と表記する。
本テープアーカイブシステム1においては、ロボット11を用いることで、収納棚10のセル14からカートリッジを取り出し、4つのドライブ装置12の何れかに搬送して装着し、データの書込み又は読出しを実行する。また、データの書込み又は読出しを終了したカートリッジはドライブ装置12から取り出して、ロボット11によって搬送され、収納棚10のセル14に収納される。
次に、本テープアーカイブシステム1の制御システムについて、図3及び図4を参照しながら説明する。
図3は実施形態の一例としてのテープアーカイブシステム1における制御システムのハードウェア構成例を示す図である。
なお、図中、同一部分には同一符号を付してある。また、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
本テープアーカイブシステム1のライブラリ装置60は、図3に示すように、ロボット制御ボード201a,201bおよびライブラリ制御ボード100を備える。ロボット制御ボード201aは、ロボット11aの制御を行ない、ロボット制御ボード201bは、ロボット11bの制御を行なう。
これらのロボット制御ボード201a,201bは互いに同様の構成を備える。以下、ロボット制御ボード201a,201bを特に区別しない場合には、ロボット制御ボード201と表記する。ロボット制御ボード201によるロボット11の制御は既知の手法で実現することができ、その説明は省略する。
ライブラリ制御ボード100は、本テープアーカイブシステム1における全系統の制御を行なう。ライブラリ制御ボード100には、オペレータパネル202が接続されているとともに、管理装置2が接続されている。オペレータパネル202は情報の入出力手段であって、オペレータの操作により情報の入出力が行なわれる。
ライブラリ制御ボード100は、管理装置2から指定されたカートリッジの記録媒体に対し、情報の読出し又は書込み等の制御を行なう。
各ドライブ装置12には管理装置2が接続され、ドライブ装置12に装着されたカートリッジの記録媒体に対する情報の書込みまたは読出しが、この管理装置2により実行される。
図4は実施形態の一例としてのテープアーカイブシステム1の管理装置2の機能構成例を示す図である。
管理装置2は、例えば、サーバ機能を有する情報処理装置(サーバコンピュータ)であり、図4に示すように、CPU21,メモリ22,記憶装置23,ネットワークインタフェース(Interface:IF)25およびインタフェース(IF)24を備える。
ネットワークインタフェース25は、図示しないネットワークに接続される。ネットワークインタフェース25は、ネットワークを介して、図示しないホスト装置や他のコンピュータまたは通信機器との間でデータの送受信を行なう。すなわち、ネットワークインタフェース25は、ネットワークを介してホスト装置から送信される、テープに対する読み出しや書き込み等のデータアクセスを指示するコマンド(命令)を受信する。
記憶装置23は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive),ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。
この記憶装置23には、後述するデータ配置決定部213により作成されるデータ配置情報231(水平用データ配置情報231a,垂直用データ配置情報231b)が格納される。データ配置情報231は、1つ以上のテープおけるデータブロックの格納位置を示す情報であり、その詳細は後述する。
メモリ22はROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ22のROMには、テープアーカイブ制御に係るソフトウェアプログラム(データ管理プログラム)やこのプログラム用のデータ類が書き込まれている。メモリ22上のソフトウェアプログラムは、CPU21に適宜読み込まれて実行される。また、メモリ22のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
さらに、メモリ22のRAMの記憶領域は、水平配置用ライトバッファ221,垂直配置用ライトバッファ222およびリードバッファ223としても用いられる。
水平配置用ライトバッファ221には、後述の如く、EC制御部212が、水平配置方式でのオブジェクトデータのアーカイブを行なう際に、オブジェクトデータが一時的に格納される。
垂直配置用ライトバッファ222には、後述の如く、EC制御部212が、垂直配置方式でのオブジェクトデータのアーカイブを行なう際に、オブジェクトデータ一時的に格納される。
リードバッファ223には、テープから読み出されたデータ(アーカイブデータ)が一時的に格納される。
記憶装置23やメモリ22のROMには、後述するテープIO処理部215によって実行されるドライブ装置12用のドライバプログラム(ドライバ)が格納されてもよい。
IF24は、当該管理装置2に外部装置を接続するためのインタフェースであり、例えば、USB(Universal Serial Bus)インタフェースやPCIe(Peripheral Component Interconnect Express)インタフェースである。また、IF24はLAN(Local Area Network)インタフェースであってもよい。IF24には、1つ以上のドライブ装置12が接続される。
CPU21は、種々の制御や演算を行なう処理装置であり、メモリ22等に格納されたOSやプログラムを実行することにより、種々の機能を実現する。CPU21は、図1に示すように、命令受信処理部211,EC制御部212およびテープIO処理部215としての機能を実現する。
そして、管理装置2のCPU21が、データ管理プログラムを実行することにより、これらの命令受信処理部211,EC制御部212およびテープIO処理部215として機能する。
なお、これらの命令受信処理部211,EC制御部212およびテープIO処理部215としての機能を実現するためのプログラム(データ管理プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
命令受信処理部211,EC制御部212およびテープIO処理部215としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ22のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU21)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
命令受信処理部211は、ホスト装置から送信され、ネットワークインタフェース25により受信されたデータアクセスコマンドを受け付ける。
例えば、ホスト装置から、オブジェクトデータと当該オブジェクトデータのテープへのアーカイブを指示するコマンド(データアクセスコマンド)とが送信されると、命令受信処理部211は、これらのオブジェクトデータおよびコマンドを処理する。命令受信処理部211は、受信したオブジェクトデータおよびデータアクセスコマンドをメモリ22の所定の記憶領域に記憶させる。
また、例えば、ホスト装置から、テープにアーカイブされたデータの読み出しを指示するコマンド(データアクセスコマンド)が送信されると、命令受信処理部211は、このデータアクセスコマンドをメモリ22の所定の記憶領域に記憶させる。命令受信処理部211は、複数の書込データ(オブジェクトデータ)の書き込み指示を受信する受信処理部に相当する。
テープIO処理部215は、ドライブ装置12のドライバを実行することで、各ドライブ装置12を動作させる。これにより、テープIO処理部215は、ドライブ装置12に搭載されたテープに対するデータの読み出しや書き込みを実行する。テープIO処理部215は、ドライブ装置12のドライバを実行するドライバ実行部として機能する。
テープIO処理部215は、EC制御部212のデータ配置決定部213によって決定されたテープ上の各位置にデータブロックを書き込む。以下、1つ以上のテープにオブジェクトデータを書き込むことをアーカイブするという場合がある。
テープIO処理部215は、テープに対してデータアクセスを行なうために、ロボット制御ボード201を介して、ロボット11に対象のテープ(カートリッジテープ)を搬送させてドライブ装置12にマウントさせる処理も行なう。また、テープIO処理部215は、ドライブ装置12によるテープの頭出し等の処理も行なう。
また、テープIO処理部215は、アーカイブされたデータの読み出しを指示するコマンド(データアクセスコマンド)に応じて、記憶装置23のデータ配置情報231を参照し、データアクセス対象のデータ(アーカイブデータ)が記憶されているテープおよび当該テープにおけるデータブロックの位置を把握する。
そして、テープIO処理部215は、テープにおける把握した位置からデータブロックの読み出しや書き込みを行なう。
EC制御部212は、EC方式による複数のテープを用いた冗長化を実現する。EC制御部212は、図4に示すように、データ配置決定部213およびパリティ計算部214としての機能を備える。
データ配置決定部213は、オブジェクトデータを1つ以上のテープにアーカイブするに際して、1つの以上のテープに対する書き込み対象のデータ(オブジェクトデータ)の配置(書き込み位置)を決定する。
本テープアーカイブシステム1においては、複数のテープに、オブジェクトデータを分割して作成したデータブロックと冗長デ−タであるパリティとを格納するRAITを実現する。
データ配置決定部213は、オブジェクトデータのデータサイズを予め規定した閾値と比較し、データサイズが閾値以上である場合には、オブジェクトデータをECに対応する数で分割して作成した複数のデータブロックを、複数のテープに分散して配置する(第1のアーカイブ方法:水平配置方式)。
以下、オブジェクトデータを複数のデータブロックに分割し、これらのデータブロックをECの組とし、水平方向の複数のテープに分散してアーカイブ(配置)する手法を水平配置方式という場合がある。
データ配置決定部213は、オブジェクトデータのデータサイズが閾値以上である場合に、水平配置方式によるアーカイブを行なうことを決定する。データ配置決定部213は、オブジェクトデータを水平配置用ライトバッファ221に格納させる。
また、データ配置決定部213は、オブジェクトデータのデータサイズが閾値未満である場合には、このオブジェクトデータを分割せずに一のテープにまとめて配置する(第2のアーカイブ方法:垂直配置方式)。すなわち、データ配置情報231は、複数のオブジェクトデータ(データ)のうち、データサイズが閾値未満の2つ以上のデータをECの組とし、複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部に相当する。
以下、オブジェクトデータを分割せずに一のテープにまとめてアーカイブ(配置)する手法を垂直配置方式という場合がある。
データ配置決定部213は、オブジェクトデータのデータサイズが閾値未満である場合に、垂直配置方式によるアーカイブを行なうことを決定する。データ配置決定部213は、オブジェクトデータを垂直配置用ライトバッファ222に格納させる。
データ配置決定部213は、オブジェクトデータのデータサイズに応じて、第1のアーカイブ方法と第2のアーカイブ方法とのいずれかの方法を選択し、この選択した方法でオブジェクトデータをアーカイブする。
図5は実施形態の一例としてのテープアーカイブシステム1のデータ配置決定部213による処理を説明するための図である。
この図5においては、オブジェクトデータOD1〜OD5をテープT1〜T4にアーカイブする例を示している。なお、オブジェクトデータOD1をオブジェクトデータAと表す場合がある。同様に、オブジェクトデータOD2,OD3,OD4,OD5を、それぞれ、オブジェクトデータB,C,D,Eと表す場合がある。
データ配置決定部213は、これらのオブジェクトデータOD1〜OD5を、この順番(書き込み順)でテープに配置する。また、データ配置決定部213は、各オブジェクトデータOD1〜OD5を、それぞれその先頭から順番にテープに配置する。
また、これらのオブジェクトデータOD1〜OD5のうち、オブジェクトデータOD1,OD3のデータサイズはいずれも上述した閾値以上であり、オブジェクトデータOD2,OD4,OD5のデータサイズはいずれも閾値未満であるものとする。
さらに、この図5においては、テープT1〜T4を用いてRAITグループを構成し、テープT1〜T3をオブジェクトデータの書き込みに用い、テープT4をパリティの書き込みに用いる例を示す。データ配置決定部213は、オブジェクトデータを、テープT1〜T3に対して、この順序に従って繰り返し交代するように割り当てる。
データ配置決定部213は、データサイズが閾値よりも大きいオブジェクトデータOD1,OD3については、オブジェクトデータOD1,OD3を例えば同じデータサイズを有する複数のデータブロックに分割して、テープT1〜T3に分散して格納させるように、格納先を決定する。
図5に示す例において、データ配置決定部213は、例えば、オブジェクトデータOD1を、所定のデータサイズを有する3つのデータブロックA,A,Aに分割させる。データ配置決定部213は、オブジェクトデータOD1を、その先頭から所定のデータ長単位で順番に切り出すことで、データブロックA,A,Aをこの順番で生成させる。そして、データ配置決定部213は、生成したこれらのデータブロックA,A,Aの格納先を、テープT1〜T3にローテーションさせるように順番に割り当てる。
なお、図5中、複数のカートリッジテープT1〜T4の並び方向(図5の左右方向)を水平方向という場合があり、各カートリッジテープT1〜T4に沿う方向(図5の上下方向)を垂直方向という場合がある。
データ配置決定部213は、データサイズが閾値以上であるオブジェクトデータを分割して作成した複数のデータブロックを、水平方向の複数のテープに分散してアーカイブ(配置)することでストライピングを実現する。
データ配置決定部213は、水平配置用ライトバッファ221に格納されたオブジェクトデータに対して、分割等の処理を行なう。
データ配置決定部213は、オブジェクトデータのデータサイズを予め規定した閾値と比較し、データサイズが閾値以上である場合には、水平配置方式でオブジェクトデータをアーカイブさせる。また、オブジェクトデータのデータサイズが閾値未満である場合には、垂直配置方式でオブジェクトデータをアーカイブさせる。
また、データ配置決定部213は、データブロックA,A,Aに対応するパリティP1をテープT4に割り当てる。パリティP1はオブジェクトデータAに対応するものであり、以下、パリティPと表す場合がある。パリティP1は、後述するパリティ計算部214によって算出される。
同様に、データ配置決定部213は、オブジェクトデータOD3を、その先頭から所定のデータサイズ長単位で順番に切り出すことで、3つのデータブロックC,C,Cを生成させる。そして、データ配置決定部213は、生成したこれらのデータブロックC,C,Cをこの順番でテープT1〜T3にローテーションで割り当てる。所定のデータ長は、例えば、オブジェクトデータのデータサイズをECに対応する数で除算することで算出する。
また、データ配置決定部213は、データブロックC,C,Cに対応するパリティP2をテープT4に割り当てる。パリティP2はオブジェクトデータCに対応するものであり、以下、パリティPと表す場合がある。パリティP2も、パリティ計算部214によって算出される。
さらに、データ配置決定部213は、データサイズが閾値未満であるオブジェクトデータOD2,OD4,OD5については、それぞれ一つのテープに配置する。また、データ配置決定部213は、オブジェクトデータOD2,OD4,OD5(B,D,E)に対応するパリティP3をテープT4に割り当てる。パリティP3はオブジェクトデータB,D,Eに対応するものであり、以下、パリティPBDEと表す場合がある。パリティP3も、後述するパリティ計算部214によって算出される。
データ配置決定部213は、オブジェクトデータOD1〜OD5を書き込み順に従って処理する。オブジェクトデータOD1〜OD5を書き込み順は、例えば、キューによって管理してもよい。
データ配置決定部213は、先ず、オブジェクトデータOD1を処理する。これにより、データブロックAがテープT1に、データブロックAがテープT2に、データブロックAがテープT3に、それぞれ割り当てられる。次に、データ配置決定部213は、これらのデータブロックA,A,Aに対応するパリティP1をテープT4に割り当てる。
次に、データ配置決定部213は、オブジェクトデータOD2をテープT1に割り当て、その後、オブジェクトデータOD3のデータブロックC,C,Cを、それぞれテープT2,T3,T1に割り当てる。また、データ配置決定部213は、これらのデータブロックC,C,Cに対応するパリティP2をテープT4に割り当てる。
その後、データ配置決定部213は、オブジェクトデータOD4をテープT2に割り当てた後、オブジェクトデータOD5をテープT3に割り当てる。さらに、データ配置決定部213は、オブジェクトデータB,D,Eに対応するパリティP3(PBDE)をテープT4に割り当てる。
データ配置決定部213は、複数のテープにおける各データブロックの格納位置を決定し、データ配置情報231として記憶装置23に記憶させる。データ配置情報231は、各テープにおけるデータブロックの格納位置を示す情報である。データ配置情報231には、データブロックが格納されたテープを特定する情報や、データブロックの元となるオブジェクトデータを特定する情報が含まれてもよい。
データ配置情報231は、水平用データ配置情報231aと垂直用データ配置情報231bとを備える。
図6は実施形態の一例としてのテープアーカイブシステム1における水平用データ配置情報231aの構成を例示する図である。
水平用データ配置情報231aは、水平配置方式によりテープに配置されたオブジェクトデータ(データブロック)の位置を示す。
図6に例示する水平用データ配置情報231aは、オブジェクトデータIDに対して、複数のデータブロックID,パリティID,位置情報を関連付けて構成されている。
オブジェクトデータIDはオブジェクトデータを特定する識別情報である。オブジェクトデータIDは、例えば、オブジェクトデータ名であってもよい。図5における符号A〜EがオブジェクトデータIDに相当する。
データブロックIDは、当該オブジェクトデータを構成するデータブロックを特定する識別情報である。図5における符号A,A,A,C,C,CがデータブロックIDに相当する。
パリティIDは、当該オブジェクトデータを構成するデータブロックにより生成されるパリティを特定する識別情報である。図5における符号PがパリティIDに相当する。
位置情報は、テープ上におけるデータブロックやパリティの格納位置を示す情報である。位置情報には、例えば、カートリッジテープを特定するカートリッジIDやテープ内における論理アドレスが含まれる。
図7は実施形態の一例としてのテープアーカイブシステム1における垂直用データ配置情報231bの構成を例示する図である。
垂直用データ配置情報231bは、垂直配置方式によりテープに配置されたオブジェクトデータ(データブロック)の位置を示す。
図7に例示する垂直用データ配置情報231bは、グループIDに対して、複数のオブジェクトデータID,パリティID,位置情報を関連付けて構成されている。
グループIDは、同一のテープに書き込まれる複数のオブジェクトデータにより構成されるグループを特定する識別情報である。グループIDは、例えば、グループ名であってもよい。図5における“RAITグループ”がグループに相当する。
オブジェクトデータIDは、オブジェクトデータを特定する識別情報である。オブジェクトデータIDは、例えば、オブジェクトデータ名であってもよい。図5における符号A〜EがオブジェクトデータIDに相当する。
データブロックIDは、当該オブジェクトデータを構成するデータブロックを特定する識別情報である。図5における符号A,A,A,C,C,CがデータブロックIDに相当する。
パリティIDは、当該グループに含まれるオブジェクトデータにより生成されるパリティを特定する識別情報である。図5における符号PBDEがパリティIDに相当する。
位置情報は、テープ上におけるデータブロックやパリティの格納位置を示す情報である。位置情報には、例えば、カートリッジテープを特定するカートリッジIDやテープ内における論理アドレスが含まれる。
また、データ配置情報231においては、オブジェクトデータに対して、当該オブジェクトデータが水平配置方式と垂直配置方式のいずれの方式でアーカイブされているかを示す情報が関連付けて記憶されている。
データ配置情報231における、テープ上のデータブロックの位置は、例えば、テープの先頭からの距離で表してもよい。また、データブロックのデータサイズとテープの先頭からの格納順序とでデータブロックの位置を表してもよく、種々変形して実施することができる。
また、データ配置情報231には、パリティが格納されたテープを特定する情報や、テープにおけるに各パリティの格納位置を示す情報も含まれる。
なお、データ配置情報231は、カートリッジテープに備えられた不揮発性メモリに記録されてもよい。
図8は実施形態の一例としてのテープアーカイブシステム1のデータ配置決定部213が用いる閾値を説明するための図である。
この図8においては、横軸がデータサイズであり縦軸が時間である座標空間を示し、更に、この座標空間上に2つの線グラフG1,G2を示している。
これらの線グラフG1,G2は、オブジェクトデータのデータサイズと、当該オブジェクトデータをアーカイブするために要するドライブ装置の総使用時間との関係を示す。
図8中において、Tbusyは、本テープアーカイブシステム1における、ロボット11の移動や、カートリッジテープのマウント、テープの頭出しにかかる時間(待ち時間)である。Sobjは、オブジェクトデータのサイズである。Nは、本テープアーカイブシステム1に備えらえたドライブ装置12の数(ドライブ数)である。Thrwは、ドライブ装置12のスループットである。このThrwは、グラフG1,G2の傾きの逆数に相当する。
線グラフG1は、オブジェクトデータを水平配置方式によりアーカイブする場合の、オブジェクトデータのデータサイズと使用する全ドライブ装置12の総使用時間(使用時間の合計)との関係を示す。
また、線グラフG2は、オブジェクトデータを垂直配置方式により一つのテープに書き込む場合の、オブジェクトデータのデータサイズとドライブ装置12の使用時間との関係を示す。
図8に示す例において、点P(Sp,Tp)において線グラフG1と線グラフG2とが交差している。データサイズが閾値Sp未満においては、垂直配置方式の方が水平配置方式に比べてドライブ装置12の総使用時間は小さい。一方、データサイズが閾値S以上においては、水平配置方式の方が垂直配置方式に比べてドライブ装置12の総使用時間は小さい。
点Pにおいて、垂直配置方式と水平配置方式とでドライブ装置12の総使用時間が等しい。
データ配置情報231は、これらの線グラフG1と線グラフG2との交点Pの座標(Sp,Tp)におけるデータサイズSpの値を、データ配置決定部213がアーカイブ方式(水平配置方式,垂直配置方式)を判断するために用いる閾値として用いる。
点PのSpは、垂直配置方式によりオブジェクトデータを一のテープに書き込むためにかかるドライブ装置12の使用時間と、水平配置方式によりオブジェクトデータを構成する複数のデータブロックを複数のテープに書き込むためにかかる複数のドライブ装置の総使用時間とが一致する場合における、データのデータサイズに相当する。
なお、この閾値Spの値を、記憶装置23やメモリ22のROMに予め記憶しておくことが望ましい。
データ配置決定部213は、水平配置方式と垂直配置方式とのうちドライブ装置12の総使用時間が短い方のアーカイブ方式を選択してオブジェクトデータをテープにアーカイブする。具体的には、データサイズが閾値Sp未満であるオブジェクトデータを垂直配置方式で一のテープに書き込ませ、データサイズが閾値Sp以上であるオブジェクトデータを水平配置方式で複数のテープに書き込ませる制御を実施する。
パリティ計算部214は、オブジェクトデータのパリティを計算する。パリティ計算部214は、オブジェクトデータのテープへのアーカイブ方式に合わせてパリティを計算する。
すなわち、複数のデータブロックに分割し、水平配置方式により複数のテープに分散して配置するオブジェクトデータについては、パリティ計算部214は、オブジェクトデータ毎にパリティを計算する。すなわち、パリティ計算部214は、同一のオブジェクトデータ(データ)を分割して作成した複数のデータブロック間でエラー訂正情報(パリティ)を算出する、エラー訂正情報算出部に相当する。パリティ計算部214は、オブジェクトデータを分割したブロック単位でパリティを計算する。
例えば、図5に示す例においては、パリティP1は、データブロックA,A,Aに基づいて算出している。このようにパリティを算出するための使用するデータブロックの数をRAITランクもしくはRAITランク数という場合がある。図5に示す例においては、データブロックA,A,Aに基づいてパリティP1を算出しているのでRAITランクは3である。
一方、垂直配置方式により一のテープに配置するオブジェクトデータについては、パリティ計算部214は、一のテープに垂直配置方式で配置する複数のオブジェクトデータ間でパリティを計算する。パリティ計算部214は、一のテープ媒体に割り当てた2つ以上のデータ間でエラー訂正情報(パリティ)を算出する、エラー訂正情報算出部に相当する。
パリティ計算部214は、水平配置用ライトバッファ221や垂直配置用ライトバッファ222に格納されたオブジェクトデータを用いてパリティの算出を行なう。
(B)動作
上述の如く構成された実施形態の一例としてのテープアーカイブシステム1におけるオブジェクトデータをテープにアーカイブする際の処理を、図9に示すフローチャート(ステップA1〜A11)に従って説明する。
管理装置2において、命令受信処理部211が、図示しないホスト装置からオブジェクトデータおよびテープへのアーカイブ指示を受信する。
ステップA1において、データ配置決定部213は、オブジェクトデータのデータサイズを取得する。
ステップA2において、データ配置決定部213は、オブジェクトデータのデータサイズを閾値Spと比較する。オブジェクトデータのデータサイズが閾値Sp以上である場合には(ステップA2のYESルート参照)、データ配置決定部213は、ステップA3において、アーカイブ方法を水平配置方式に決定する。
ステップA4において、データ配置決定部213は、水平配置用ライトバッファ221にオブジェクトデータを保持(格納)させる。
ステップA5において、パリティ計算部214は、オブジェクトデータをRAITランク数に分割してデータブロックを作成し、これらのRAITランク数のデータブロックを用いてパリティを計算する。
ステップA6において、データ配置決定部213は、複数のテープにおける各データブロックの格納位置および対応するパリティの格納位置を決定し、データ配置情報231として記憶装置23に記憶させる。
水平配置方式によりデータブロックを複数のテープに配置する場合には、データ配置決定部213は、記憶装置23に水平用データ配置情報231aを記憶させる。
ステップA7において、テープIO処理部215が、オブジェクトデータを構成する複数のデータブロックおよび対応するパリティをRAITの組とし、それぞれデータ配置情報231を参照してその格納位置を確認しながらアーカイブ先のテープに書き込む。その後、処理を終了する。
また、ステップA2における確認の結果、オブジェクトデータのデータサイズが閾値未満である場合には(ステップA2のNOルート参照)、データ配置決定部213は、ステップA8において、アーカイブ方法を垂直配置方式に決定する。
ステップA9において、データ配置決定部213は、垂直配置用ライトバッファ222にオブジェクトデータを保持させる。
ステップA10において、パリティ計算部214は、垂直配置用ライトバッファ222に保持されているオブジェクトデータの数がRAITランク数になったかを確認する。 確認の結果、垂直配置用ライトバッファ222に保持されているオブジェクトデータの数がRAITランク数に満たない場合には(ステップA10のNOルート参照)、ステップA6に移行する。
一方、ステップA10における確認の結果、垂直配置用ライトバッファ222に保持されているオブジェクトデータの数がRAITランク数になった場合には(ステップA10のYESルート参照)、ステップA11に移行する。
ステップA11において、パリティ計算部214は、垂直配置用ライトバッファ222に格納されているRAITランク数分のオブジェクトデータをRAITの組としてパリティを算出する。RAITランク数分のオブジェクトデータおよびパリティとでRAITの組を形成する。その後、ステップA6に移行する。
ステップA6において、データ配置決定部213は、一のテープにおけるRAITランク数分の各オブジェクトデータの格納位置および対応するパリティの格納位置を決定し、データ配置情報231として記憶装置23に記憶させる。垂直配置方式によりオブジェクトデータブロックを一のテープに配置する場合には、データ配置決定部213は、記憶装置23に垂直用データ配置情報231bを記憶させる。
上述の如く構成された実施形態の一例としてのテープアーカイブシステム1におけるテープにアーカイブされたデータを読み出す際の処理を、図10に示すフローチャート(ステップB1〜B11)に従って説明する。
管理装置2において、命令受信処理部211が、図示しないホスト装置からテープにアーカイブされたオブジェクトデータの読み出し指示を受信する。
ステップB1において、テープIO処理部215は、データ配置情報231を参照して、読み出すオブジェクトデータのデータブロックが格納されたテープおよび当該テープにおけるデータブロックの格納位置の情報を確認する。
ステップB2において、テープIO処理部215は、データ配置情報231を参照して、読み出し対象のオブジェクトデータが、水平配置方式と垂直配置方式のいずれの方式でアーカイブされているかを確認する。オブジェクトデータが水平配置方式でアーカイブされている場合には(ステップB2の“水平配置”ルート参照)、ステップB3に移行する。
ステップB3において、テープIO処理部215は、データ配置情報231を参照して、オブジェクトデータを構成するデータブロックが格納されている複数のカートリッジテープ(カートリッジテープ群)を特定する。テープIO処理部215は、ロボット11およびドライブ装置12を用いて、これらのカートリッジテープを順番にロードし、オブジェクトデータを構成する各データブロックを、リードバッファ223に読み出す。
ステップB4において、テープIO処理部215は、読み出した複数のデータブロックを結合してオブジェクトデータを復元する。
ステップB5において、テープIO処理部215は、読み出し対象のオブジェクトデータを正常に復元することができたかを確認する。オブジェクトデータを正常に得ることができた場合には(ステップB5のYESルート参照)、ステップB6に移行する。
ステップB6において、テープIO処理部215は、生成したオブジェクトデータをホスト装置に応答して、処理を終了する。
また、ステップB2における確認の結果、オブジェクトデータが垂直配置方式でアーカイブされている場合には(ステップB2の“垂直配置”ルート参照)、ステップB7に移行する。
ステップB7においては、オブジェクトデータがアーカイブされているテープだけをロードして、オブジェクトデータを、リードバッファ223に読み出す。その後、ステップB5に移行する。
また、ステップB5における確認の結果、読み出し対象のオブジェクトデータを正常に得ることができなかった場合には(ステップB5のNOルート参照)、ステップB8に移行する。
ステップB8において、EC制御部212は、データ配置情報231を参照して、読み出し対象のオブジェクトデータに対応するパリティが格納されたテープや、当該テープにおけるパリティの格納位置を確認する。そして、EC制御部212は、テープIO処理部215を介して、読み出し対象のオブジェクトデータに対応するパリティを読み出す。
ステップB9において、EC制御部212は、読み出したパリティを用いて読み出し対象のオブジェクトデータを復元する。
ステップB10において、復元した読み出し対象のオブジェクトデータをホスト装置に応答する。
ステップB11において、故障したカートリッジテープの代わりとして新規カートリッジテープを用意し、故障したカートリッジの全データを他のカートリッジとパリティから復元して新規カートリッジテープに書き込むことで、カートリッジテープの復元を行なう。
(C)効果
このように、実施形態の一例としてのテープアーカイブシステム1によれば、データ配置決定部213が、データサイズが閾値未満のオブジェクトデータを、垂直配置方式により、RAITが設定された複数のテープのうちの一のテープに割り当てる。これにより、当該オブジェクトデータの読み出しを一つのテープに対してアクセスすることで実現することができ、データアクセスに要する時間を短縮することができる。
また、データ配置決定部213が、データサイズが閾値以上のオブジェクトデータを、2つ以上のデータブロックに分割し、水平配置方式によりRAITが設定された複数のテープのうちの2以上のテープに割り当てる。そして、これらの2以上のテープを2つ以上のドライブ装置12を用いて並列に読み書きすることで、データアクセスに要する時間を短縮することができる。
また、データ配置決定部213が、データサイズが閾値未満の複数のオブジェクトデータを、RAITが設定された複数のテープのうち、一のテープに割り当てる。パリティ計算部214が、これらの同一のテープに割り当てられた複数のオブジェクトデータを用いてパリティを算出し、これらのオブジェクトデータを書き込んだテープとは異なるテープにパリティを割り当てる。
さらに、データ配置決定部213が、データサイズが閾値以上の複数のオブジェクトデータを分割して作成した複数のデータブロックを、RAITが設定された複数のテープのうち、複数のテープに割り当てる。パリティ計算部214が、同一のオブジェクトデータを構成する複数のデータブロックを用いてパリティを算出し、これらのデータブロックを書き込んだテープとは異なるテープにパリティを割り当てる。
これらにより、テープから読み出したオブジェクトデータに異常が検知された場合でも、オブジェクトデータをパリティを用いて復元することができ、信頼性を向上させることができる。
データ配置決定部213が、水平配置方式と垂直配置方式とのうちドライブ装置12の総使用時間が短い方のアーカイブ方式を選択してオブジェクトデータをテープにアーカイブする。これにより、オブジェクトデータへのデータアクセス時間を確実に短縮することができ、データアクセス性能を向上させることができる。
図11および図12は実施形態の一例としてのテープアーカイブシステム1における効果を説明するための図である。
これらの図11および図12においては、カートリッジテープに対して行なわれる読み出しアクセスの時間を白抜き四角で表し(read)、ロボット待ち時間やマウントに要する時間,シークに要する時間等、読み出しアクセス以外の時間を網掛四角で表す(busy)。読み出しアクセス以外の時間には、カートリッジテープの入れ替え時間も含まれる。
また、これらの図11および図12においては、2つのドライブ装置12を用いる例を示している。
図11においては、オブジェクトデータのデータサイズ(オブジェクトサイズ)が小さい場合における、水平配置方式によるテープへのデータの配置状態と、垂直配置方式でのテープへのデータの配置状態とを示す。
この図11に示すように、オブジェクトデータのデータサイズが小さい場合には、水平配置方式では、データアクセスにかかる時間のうちビジー時間が占める割合が高く、テープに対する読み出しアクセスの効率が低い。
これに対して、垂直配置方式においては、一つのドライブ装置12(ドライブ1)だけでオブジェクトデータの読み出しを行なうことができ、他のドライブ装置12(ドライブ2)を他の処理に用いることができ、作業効率を向上させることができる。従って、オブジェクトデータのデータサイズが小さい場合には、垂直配置方式が好適であるといえる。
一方、図12においては、オブジェクトデータのデータサイズ(オブジェクトサイズ)が大きい場合における、水平配置方式によるテープへのデータの配置状態と、垂直配置方式でのテープへのデータの配置状態とを示す。
この図12に示すように、オブジェクトデータのデータサイズが大きい場合には、水平配置方式において、データアクセスにかかる時間のうちビジー時間が占める割合が小さくなり、データアクセスにかかる時間のうちビジー時間が相対的に短くなる。従って、テープに対する読み出しアクセスの効率が高い。
従って、水平配置方式においては、オブジェクトデータのデータサイズが大きい場合に、テープアクセス効率がより高くなる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態において、ライブラリ装置60に搭載されるドライブ装置12の数は適宜変更して実施することができる。
また、図5においては、4本のテープT1〜T4を用いてRAITグループを構成する例を示したが、これに限定されるものではなく、3本以下または5本以上のテープを用いてRAITグループを構成してもよく、種々変形して実施することができる。
水平配置方式において、パリティの記録に使用されるテープはローテーションにより、順次、切り替えらえてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
イレージャーコーディング方式でデータの冗長化を行うストレージシステムであって、1つ以上のドライブ装置と、
複数のテープ媒体を収納する収納セルが配置された収納棚と、
前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットと、
複数の書込データの書き込み指示を受信する受信処理部と、
前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部と
を備えることを特徴とする、ストレージシステム。
(付記2)
前記一のテープ媒体に割り当てた2つ以上の書込データを用いてパリティを算出する算出部を備える
ことを特徴とする、付記1記載のストレージシステム。
(付記3)
前記割当処理部は、複数のテープ媒体のうち、前記2つ以上の書込データを割り当てた前記一のテープ媒体以外のテープ媒体に、前記2つ以上の書込データとともにイレージャーコーディングの組を形成する前記パリティを割り当てる
ことを特徴とする、付記2記載のストレージシステム。
(付記4)
前記割当処理部は、前記複数の書込データのうちデータサイズが閾値以上の書込データを分割して複数のデータブロックを生成し、前記複数のデータブロックを2以上の前記テープ媒体に分散させて割り当てる
ことを特徴とする、付記1〜3のいずれか1項に記載のストレージシステム。
(付記5)
前記書込データを分割して作成した前記複数のデータブロックを用いてパリティを算出する算出部を備える
ことを特徴とする、付記4記載のストレージシステム。
(付記6)
前記閾値が、前記書込データを一のテープ媒体に割り当てて、当該書込データを前記一のテープ媒体に書き込むためにかかる前記ドライブ装置の使用時間と、前記複数のデータブロックを複数のテープ媒体に分散させて割り当てた場合における前記書込データを前記複数のテープ媒体に書き込むためにかかる複数の前記ドライブ装置の総使用時間とが一致する場合における、前記書込データのデータサイズである
ことを特徴とする、付記4または5記載のストレージシステム。
(付記7)
前記割当処理部が割り当てた前記テープ媒体における前記書込データの位置を示すデータ配置情報を記憶する記憶部を備える
ことを特徴とする、付記1〜6のいずれか1項に記載のストレージシステム。
(付記8)
1つ以上のドライブ装置と、複数のテープ媒体を収納する収納セルが配置された収納棚と、前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットとを備えるライブラリ装置を管理し、イレージャーコーディング方式でデータの冗長化を行なう管理装置であって、
複数の書込データの書き込み指示を受信する受信処理部と、
前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部と
を備えることを特徴とする、管理装置。
(付記9)
前記一のテープ媒体に割り当てた2つ以上の書込データを用いてパリティを算出する算出部を備える
ことを特徴とする、付記8記載の管理装置。
(付記10)
前記割当処理部は、複数のテープ媒体のうち、前記2つ以上の書込データを割り当てた前記一のテープ媒体以外のテープ媒体に、前記2つ以上の書込データとともにイレージャーコーディングの組を形成する前記パリティを割り当てる
ことを特徴とする、付記9記載の管理装置。
(付記11)
前記割当処理部は、前記複数の書込データのうちデータサイズが閾値以上の書込データを分割して複数のデータブロックを生成し、前記複数のデータブロックを2以上の前記テープ媒体に分散させて割り当てる
ことを特徴とする、付記8〜10のいずれか1項に記載の管理装置。
(付記12)
前記書込データを分割して作成した前記複数のデータブロックを用いてパリティを算出する算出部を備える
ことを特徴とする、付記11記載の管理装置。
(付記13)
前記閾値が、前記書込データを一のテープ媒体に割り当てて、当該書込データを前記一のテープ媒体に書き込むためにかかる前記ドライブ装置の使用時間と、前記複数のデータブロックを複数のテープ媒体に分散させて割り当てた場合における前記書込データを前記複数のテープ媒体に書き込むためにかかる複数の前記ドライブ装置の総使用時間とが一致する場合における、前記書込データのデータサイズである
ことを特徴とする、付記11または12記載の管理装置。
(付記14)
前記割当処理部が割り当てた前記テープ媒体における前記書込データの位置を示すデータ配置情報を記憶する記憶部を備える
ことを特徴とする、付記8〜13のいずれか1項に記載の管理装置。
(付記15)
1つ以上のドライブ装置と、複数のテープ媒体を収納する収納セルが配置された収納棚と、前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットとを備えるライブラリ装置を管理し、イレージャーコーディング方式でデータの冗長化を行なう情報処理装置のプロセッサに、
複数の書込データの書き込み指示を受信し、
前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる
処理を実行させることを特徴とする、データ管理プログラム。
(付記16)
前記一のテープ媒体に割り当てた2つ以上の書込データを用いてパリティを算出する
処理を前記プロセッサに実行させることを特徴とする、付記15記載のデータ管理プログラム。
(付記17)
複数のテープ媒体のうち、前記2つ以上の書込データを割り当てた前記一のテープ媒体以外のテープ媒体に、前記2つ以上の書込データとともにイレージャーコーディングの組を形成する前記パリティを割り当てる
処理を前記プロセッサに実行させることを特徴とする、付記16記載のデータ管理プログラム。
(付記18)
前記複数の書込データのうちデータサイズが閾値以上の書込データを分割して複数のデータブロックを生成し、前記複数のデータブロックを2以上の前記テープ媒体に分散させて割り当てる
処理を前記プロセッサに実行させることを特徴とする、付記15〜17のいずれか1項に記載のデータ管理プログラム。
(付記19)
前記書込データを分割して作成した前記複数のデータブロックを用いてパリティを算出する
処理を前記プロセッサに実行させることを特徴とする、付記18記載のデータ管理プログラム。
(付記20)
前記閾値が、前記書込データを一のテープ媒体に割り当てて、当該書込データを前記一のテープ媒体に書き込むためにかかる前記ドライブ装置の使用時間と、前記複数のデータブロックを複数のテープ媒体に分散させて割り当てた場合における前記書込データを前記複数のテープ媒体に書き込むためにかかる複数の前記ドライブ装置の総使用時間とが一致する場合における、前記書込データのデータサイズである
ことを特徴とする、付記18または19記載のデータ管理プログラム。
(付記21)
前記割り当てた前記テープ媒体における前記書込データの位置を示すデータ配置情報を記憶部に記憶させる
処理を前記プロセッサに実行させることを特徴とする、付記15〜20のいずれか1項に記載のデータ管理プログラム。
1 テープアーカイブシステム
2 管理装置
21 CPU
22 メモリ
23 記憶装置
24 IF
4 カートリッジ
10B,10L,10R 収納棚
14 セル
11a,11b,11 ロボット
12 ドライブ装置
60 ライブラリ装置
100 ライブラリ制御ボード
201a,201b,201 ロボット制御ボード
211 命令受信処理部
212 EC制御部
213 データ配置決定部
214 パリティ計算部
215 テープIO処理部
221 水平配置用ライトバッファ
222 垂直配置用ライトバッファ
223 リードバッファ
231 データ配置情報
231a 水平用データ配置情報
231b 垂直用データ配置情報

Claims (9)

  1. イレージャーコーディング方式でデータの冗長化を行なうストレージシステムであって、
    1つ以上のドライブ装置と、
    複数のテープ媒体を収納する収納セルが配置された収納棚と、
    前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットと、
    複数の書込データの書き込み指示を受信する受信処理部と、
    前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部と
    を備えることを特徴とする、ストレージシステム。
  2. 前記一のテープ媒体に割り当てた2つ以上の書込データを用いてパリティを算出する算出部を備える
    ことを特徴とする、請求項1記載のストレージシステム。
  3. 前記割当処理部が、複数のテープ媒体のうち、前記2つ以上の書込データを割り当てた前記一のテープ媒体以外のテープ媒体に、前記2つ以上の書込データとともにイレージャーコーディングの組を形成する前記パリティを割り当てる
    ことを特徴とする、請求項2記載のストレージシステム。
  4. 前記割当処理部は、前記複数の書込データのうちデータサイズが閾値以上の書込データを分割して複数のデータブロックを生成し、前記複数のデータブロックを2以上の前記テープ媒体に分散させて割り当てる
    ことを特徴とする、請求項1〜3のいずれか1項に記載のストレージシステム。
  5. 前記書込データを分割して作成した前記複数のデータブロックを用いてパリティを算出する、算出部を備える
    ことを特徴とする、請求項4記載のストレージシステム。
  6. 前記閾値が、前記書込データを一のテープ媒体に割り当てて、当該書込データを前記一のテープ媒体に書き込むためにかかる前記ドライブ装置の使用時間と、前記複数のデータブロックを複数のテープ媒体に分散させて割り当てた場合における前記書込データを前記複数のテープ媒体に書き込むためにかかる複数の前記ドライブ装置の総使用時間とが一致する場合における、前記書込データのデータサイズである
    ことを特徴とする、請求項4または5記載のストレージシステム。
  7. 前記割当処理部が割り当てた前記テープ媒体における前記書込データの位置を示すデータ配置情報を記憶する記憶部を備える
    ことを特徴とする、請求項1〜6のいずれか1項に記載のストレージシステム。
  8. 1つ以上のドライブ装置と、複数のテープ媒体を収納する収納セルが配置された収納棚と、前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットとを備えるライブラリ装置を管理し、イレージャーコーディング方式でデータの冗長化を行なう管理装置であって、
    複数の書込データの書き込み指示を受信する受信処理部と、
    前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる割当処理部と
    を備えることを特徴とする、管理装置。
  9. 1つ以上のドライブ装置と、複数のテープ媒体を収納する収納セルが配置された収納棚と、前記収納セルと前記ドライブ装置との間でテープ媒体を搬送する搬送動作を行なうロボットとを備えるライブラリ装置を管理し、イレージャーコーディング方式でデータの冗長化を行なう情報処理装置のプロセッサに、
    複数の書込データの書き込み指示を受信し、
    前記複数の書込データのうち、データサイズが閾値未満の2つ以上の書込データをイレージャーコーディングの組とし、前記2つ以上の前記書込データを前記複数のテープ媒体のうち一のテープ媒体に割り当てる
    処理を実行させることを特徴とする、データ管理プログラム。
JP2020011078A 2020-01-27 2020-01-27 ストレージシステム,管理装置およびデータ管理プログラム Pending JP2021117772A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020011078A JP2021117772A (ja) 2020-01-27 2020-01-27 ストレージシステム,管理装置およびデータ管理プログラム
US17/100,998 US11275531B2 (en) 2020-01-27 2020-11-23 Storage system, management apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020011078A JP2021117772A (ja) 2020-01-27 2020-01-27 ストレージシステム,管理装置およびデータ管理プログラム

Publications (1)

Publication Number Publication Date
JP2021117772A true JP2021117772A (ja) 2021-08-10

Family

ID=76970055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020011078A Pending JP2021117772A (ja) 2020-01-27 2020-01-27 ストレージシステム,管理装置およびデータ管理プログラム

Country Status (2)

Country Link
US (1) US11275531B2 (ja)
JP (1) JP2021117772A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4235666A1 (en) 2022-02-24 2023-08-30 FUJIFILM Corporation Information processing apparatus, information processing method, and information processing program

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336172B1 (en) * 1999-04-01 2002-01-01 International Business Machines Corporation Storing and tracking multiple copies of data in a data storage library system
US6336173B1 (en) * 1999-04-01 2002-01-01 International Business Machines Corporation Storing and tracking multiple copies of data in data storage libraries
US6473829B1 (en) * 1999-05-28 2002-10-29 International Business Machines Corporation Data storage device providing communication between processing units
US6249849B1 (en) * 1999-06-16 2001-06-19 International Business Machines Corporation “Fail-Safe” updating of redundant data in multiple data storage libraries
US6516425B1 (en) 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6581185B1 (en) 2000-01-24 2003-06-17 Storage Technology Corporation Apparatus and method for reconstructing data using cross-parity stripes on storage media
JP2005165486A (ja) 2003-12-01 2005-06-23 Sony Corp ファイル管理装置、ストレージ管理システム、ストレージ管理方法、プログラム及び記録媒体
US8046187B2 (en) * 2005-02-24 2011-10-25 International Business Machines Corporation Test systems for media drives of data storage systems
US20080276125A1 (en) * 2007-05-03 2008-11-06 International Business Machines Corporation Data Processing Method
US11042299B2 (en) * 2016-06-27 2021-06-22 Quantum Corporation Removable media based object store
US10275177B2 (en) * 2016-10-31 2019-04-30 Oracle International Corporation Data layout schemas for seamless data migration
US11363100B2 (en) * 2017-04-14 2022-06-14 Quantum Corporation Network attached device for accessing removable storage media
US10382554B1 (en) * 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US11216196B2 (en) * 2018-05-24 2022-01-04 Quantum Corporation Erasure coding magnetic tapes for minimum latency and adaptive parity protection feedback
US10558565B2 (en) * 2018-05-29 2020-02-11 Microsoft Technology Licensing, Llc Garbage collection implementing erasure coding
US11119690B2 (en) * 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4235666A1 (en) 2022-02-24 2023-08-30 FUJIFILM Corporation Information processing apparatus, information processing method, and information processing program

Also Published As

Publication number Publication date
US11275531B2 (en) 2022-03-15
US20210232346A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
US7809979B2 (en) Storage control apparatus and method
US7383379B2 (en) Manipulating data in a data storage device using an auxiliary memory device
US20030163509A1 (en) Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
US20080294857A1 (en) Disk storage management of a tape library with data backup and recovery
US20090265510A1 (en) Systems and Methods for Distributing Hot Spare Disks In Storage Arrays
US20090249173A1 (en) Storage system and data storage method
WO2013005418A1 (ja) 記憶装置および記憶方法
US20210117104A1 (en) Storage control device and computer-readable recording medium
US20050033933A1 (en) Systems and methods for modifying disk drive firmware in a raid storage system
JP2021117772A (ja) ストレージシステム,管理装置およびデータ管理プログラム
US8447926B2 (en) Method of controlling optical disc drive archive system
US9235472B2 (en) Drive array apparatus, controller, data storage apparatus and method for rebuilding drive array
JPWO2013038618A1 (ja) 情報記憶媒体ライブラリアレイ装置、情報記録方法及び情報記録プログラム
US20130227217A1 (en) Archive system and processing method
US8730771B2 (en) Recording/reproducing device
US6233697B1 (en) Storage apparatus system having redundancy in a rail configuration
US9390745B2 (en) Data archive system
JP3412442B2 (ja) 可搬メディアを用いた記憶装置
JP3584665B2 (ja) 可搬媒体を用いたライブラリ記憶装置
JP3412438B2 (ja) アレイ型ライブラリ装置およびアレイ型ライブラリ装置の制御方法
JP3665921B2 (ja) アレイ型記憶装置およびアレイ型記憶管理方法
JP2003288176A (ja) 記憶装置システム
JPH10240450A (ja) 記憶装置システム
US20130080569A1 (en) Information processing apparatus and computer-readable recording medium having program stored thereon
JP2000339103A (ja) 記憶媒体ライブラリアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240213

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240213

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240528