[go: up one dir, main page]

JP3620205B2 - Reliable storage system using removable storage media - Google Patents

Reliable storage system using removable storage media Download PDF

Info

Publication number
JP3620205B2
JP3620205B2 JP06050997A JP6050997A JP3620205B2 JP 3620205 B2 JP3620205 B2 JP 3620205B2 JP 06050997 A JP06050997 A JP 06050997A JP 6050997 A JP6050997 A JP 6050997A JP 3620205 B2 JP3620205 B2 JP 3620205B2
Authority
JP
Japan
Prior art keywords
data
storage medium
storage
stripe
dvd
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
JP06050997A
Other languages
Japanese (ja)
Other versions
JPH10254644A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP06050997A priority Critical patent/JP3620205B2/en
Publication of JPH10254644A publication Critical patent/JPH10254644A/en
Application granted granted Critical
Publication of JP3620205B2 publication Critical patent/JP3620205B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、着脱可能な記憶媒体と、着脱可能な記憶媒体に対して読み出しや書き込みを行う光磁気ディスク装置や、光ディスク装置、磁気ディスク装置などの記憶装置を利用し、大容量かつ高信頼な記憶システムを実現する制御手法に関し、特に、着脱可能な記憶媒体の総枚数よりも少ない記憶装置で実現する制御手法に関する。
【0002】
【従来の技術】
●RAIDとは
従来、単体で用いられていたハードディスク装置(HDD:Hard Disk Drive)に代えて、複数のハードディスク装置を並列に動かして読み出し/書き込みの高速化を図り、冗長構成によって信頼性を上げた外部記憶装置であるディスクアレイ装置(RAID:Redundant Arrays of Inexpencive Disks)が考えられている(論文:”A Case for Redundant Arrays of Inexpencive Disks (RAID)”, David A.Patterson, Garth Gibson, and Randy H.Katz, Computer Science Division Department of Electrical Engineering and Computer Sciences, University of Calfornia Berkeley)。前記論文の中では、ディスクアレイ装置の構成により、そのレベルに1から5までの番号が与えられている。RAIDレベル3は、大量のデータを転送するシーケンシャルアクセスに対し性能向上が見込め、RAIDレベル5は、小さなサイズの読み書きが大量に発生するランダムアクセスに対し性能向上が見込まれることは周知の通りである(日経エレクトロニクス1993/4/26 No.579 P77〜91 「特集ディスクアレイ装置」)。
【0003】
以下、本明細書においては、着脱不可能な記憶媒体を利用した磁気ディスク装置を「ハードディスク装置」とよび、着脱可能な記憶媒体を利用する記憶装置(光磁気ディスク装置、光ディスク装置、磁気ディスク装置など)とは区別する。
【0004】
●RAID制御とは
ここで、RAID制御について、図9と図10を用いて説明する。図9に示すように、ディスクアレイ装置101は複数のハードディスク装置(111〜115)を有する。RAID制御とは、複数のハードディスク装置にどのようにデータを分散させ、また、どの様に冗長データを作成し、冗長データをどこに格納するかを規定することである(RAID制御手段105による)。
【0005】
図9に示したディスクアレイ装置は、5台のハードディスク装置で構成され、図10に示すように、0から15までのデータ格納領域がある。このデータ格納領域は「ストライプ」と呼ばれ、例えば32KBのデータを格納することができる。
【0006】
また、P0−3,P4−7,P8−11,P12−15で表す冗長データ格納領域がある。P0−3には、ストライプ0番からストライプ3番までに格納しているデータの排他的論理和(XOR)を演算した、
(P0−3)=(ストライプ0のデータ)
XOR(ストライプ1のデータ)
XOR(ストライプ2のデータ)
XOR(ストライプ3のデータ)
を格納する。一般的にPm−nの場合は、ストライプm番からストライプn番までに格納しているデータの排他的論理和(XOR)を演算した結果を格納する。このような冗長データは、ディスクアレイ装置を構成するハードディスク装置のうち、1台のハードディスク装置が壊れたときに有効になる。この「1台のハードディスク装置が壊れた」状態を「縮退状態」と呼ぶが、この縮退状態における読み書き処理については後述する。
【0007】
データ格納領域のストライプn番からストライプm番と、冗長データ格納領域Pm−nをまとめて、「ストライプグループ」と呼ぶ。ホストコンピュータからディスクアレイ装置を見ると、ストライプ0番から15番まで連続した論理的な1台の記憶装置として認識される。しかし、実際には、複数のハードディスク装置を使用し、データを分散して保持している。
【0008】
●リード処理
まず、ホストコンピュータ100がディスクアレイ装置101からデータを読み出す処理について説明する。例えば、ストライプ4番と5番に格納されているデータの読み出しを行うには、ホストコンピュータ100がこのデータの読み出し要求をディスクアレイ装置101に発行する。ディスクアレイ装置101は、ハードディスク111のストライプ4番と、ハードディスク112のストライプ5番を読み出してホストコンピュータ100に転送する。
【0009】
●ライト処理
次にホストコンピュータ100がディスクアレイ装置101にデータを書き込む処理について説明する。ディスクアレイ装置101の書き込み処理は、冗長データがあるために、単体で使用されているハードディスク装置とは異なる。データの書き込みを行うと、冗長データも更新する必要がある。この冗長データの更新の方法には2つの方法がある。
【0010】
●ライト処理(その1)
例えば、ストライプ6番にデータを書き込むには、まず、ストライプ6番が属するストライプグループのストライプ4番とストライプ5番とストライプ7番のデータを読み出し、
(P4−7)=(ストライプ6のデータ)
XOR(ストライプ4のデータ)
XOR(ストライプ5のデータ)
XOR(ストライプ7のデータ)
を演算し、冗長データを求め、次に、ストライプ6番にデータを、P4−7に冗長データを書き込む必要がある。
【0011】
●ライト処理(その2)
同様に、ストライプ6番にデータを書き込むには、まず、書き込む前のストライプ6番のデータ(「旧ストライプ6のデータ」と呼ぶ)と、書き込む前のP4−7(「旧P4−7」と呼ぶ)を読み出し、書き込むべきストライプ6番のデータ(「新ストライプ6のデータ)を用いて、
(P4−7)=(ストライプ6のデータ)
XOR(旧ストライプ6のデータ)
XOR(旧P4−7)
を演算し、冗長データを求め、次に、ストライプ6番にデータを、P4−7に冗長データを書き込む必要がある。
【0012】
ディスクアレイ装置では、データだけでなく、冗長データを更新し書き込む必要があるため、ハードディスク装置へのアクセス回数が増加する。
【0013】
●縮退状態でのリード処理
冗長データにパリティを用いるディスクアレイ装置において特徴的な、縮退状態でのリード処理について説明する。例えば、図10において、ハードディスク装置111が故障していて読み書きができなくなったとする。この状態で、ストライプ4番とストライプ5番に格納されたデータを読み出すことを考える。ディスクアレイ装置は、まず、ストライプ4番からデータの前半を読み出そうとするが、故障のため読み出すことができない。このような場合、ディスクアレイ装置101は、冗長データP4−7とストライプ5番とストライプ6番とストライプ7番のデータを読み出し、
(ストライプ4のデータ)=(P4−7)
XOR(ストライプ5のデータ)
XOR(ストライプ6のデータ)
XOR(ストライプ7のデータ)
を演算し、壊れたハードディスク装置111のストライプ4番のデータを復元する。復元したストライプ4番のデータと、読み出したストライプ5番のデータをホストコンピュータに転送する。これにより、ハードディスク装置が1台壊れた縮退状態においてもデータの読み出しを行うことができる。
【0014】
もちろん、ディスクアレイ装置が、あらかじめハードディスク装置111が壊れていることを知っていれば、ストライプ4番に対する読み出し処理は省略できる。
【0015】
●パリティ合わせ
縮退状態において正しいデータを復元するためには、正しい冗長データ(パリティ)が生成されていなければならない。このデータと冗長データの整合性を合わせる(パリティ合わせ)には、2つの方法がある。
【0016】
第1の方法は、全てのストライプグループに対して、
(Pmn)=(ストライプmのデータ)〜XOR(ストライプnのデータ)
を演算する方式である。
【0017】
第2の方法は、ディスクアレイを構成する全てのハードディスク装置に対して、ゼロを書き込む方式である。第2の方式は、演算が必要な第1の方式に比べて、ハードディスク装置に決まったデータを書き込むだけであり、処理が簡略化できる。上記パリティの演算式が満たされれば、書き込むデータはゼロでなくても良い。
【0018】
【発明が解決しようとする課題】
●着脱可能な記憶媒体
従来のディスクアレイ装置は、ハードディスク装置等の着脱不可能な記憶媒体を使用する記憶装置を使用することが前提となっていたため、着脱可能な記憶媒体と記憶装置について考慮されていない。
【0019】
●記憶媒体枚数=記憶装置台数
例えば図11に示すように、5枚の記憶媒体(211〜215)と5台の記憶装置(221〜225)を用い、5枚の記憶媒体を5台の記憶装置にそれぞれマウント(読み出しや書き込みができる状態で記憶媒体を記憶装置に装着しておくこと)しておけば、図9に示した従来のハードディスク装置を用いたディスクアレイ装置101と同様に構成することができる。しかし、このような図11のような構成を用いると、構成する記憶媒体の枚数と同じ台数の記憶装置が必要になる。
【0020】
●記憶媒体枚数>記憶装置台数
そこで、本発明では、複数枚の着脱可能な記憶媒体で1台の記憶装置を共有することで、着脱可能な記憶媒体の利点を生かし、コストを低減した記憶システムを提供することを考えた。一般的に、着脱可能な記憶媒体のコストは、その記憶装置のコストに比べて十分に小さい(1/10以下)と考えることができる。
【0021】
例えば図12に示すように、2台の記憶装置351と352を用意し、記憶装置351を4枚の着脱可能な記憶媒体(311〜314)で共有し、記憶装置352を1枚の着脱可能な記憶媒体(315)で占有する記憶システムとする。5枚の記憶媒体(311〜315)は、それぞれ、図9の5台のハードディスク装置(111〜115)に対応する。本構成を用いることで、図11の記憶システムに比べ、記憶装置の台数が3台少なくてすみ、コストを低減することができる。
【0022】
●課題:メディアの交換時間
しかし、図12に示した記憶システムで、図10に示したデータと冗長データの配置を用いると、読み出しや書き込み処理の度に記憶媒体の交換が必要になり、実用的なシステムを構築することができない。一般的に、記憶媒体の交換には数秒から十数秒かかるため、読み出しや書き込み処理時間の十数msに比べて非常に処理時間が長いためである。
【0023】
例えば前記方式2を用いて、ストライプ6番にデータを書き込むためには、まず、記憶装置351にストライプ6番を格納している記憶媒体313をマウントし、また、記憶装置352にP4−7を格納している記憶媒体315をマウントし、書き込む前のストライプ6番のデータ(「旧ストライプ6のデータ」と呼ぶ)と、書き込む前のP4−7(「旧P4−7」と呼ぶ)を読み出し、
(P4−7)=(ストライプ6のデータ)
XOR(旧ストライプ6のデータ)
XOR(旧P4−7)
を演算し、冗長データを求め、次に、ストライプ6番にデータを、P4−7に冗長データを書き込む必要がある。よって、異なる記憶媒体に読み出しや書き込み処理要求を発行する度に、記憶媒体の交換が必要になり処理時間が長くなる課題がある。
【0024】
また、前記方式1を用いて、ストライプ6番にデータを書き込むためには、記憶媒体311、312、314を交換しながらストライプ4番とストライプ5番とストライプ7番のデータを読み出し冗長データを求め、さらに記憶媒体313に交換してストライプ6番にデータを、P4−7に冗長データを格納する必要がある。このため、さらに処理時間が長くなる。
【0025】
●課題:容量の無駄
図11に示した記憶システムでは、記憶装置の台数により、マウントされる記憶媒体の枚数が決まっているという見方もできる。図11の記憶システムでは、4枚のデータ記憶媒体(211〜214)と、1枚の冗長データ記憶媒体(215)で1組となっている。例えば、記憶媒体1枚当たりの容量を5GB(1GB=1073741824Byte)とすると、1組あたり20GB(=5GB×4)のデータを保持でき、5GB(1枚分)の冗長データで信頼性を向上している。この記憶システムで、25GBのデータを保存するためには、2組(10枚)の記憶媒体が必要になるが、2組目は、20GBの容量があるにもかかわらず5GBしか使用せず、容量が無駄になるという課題がある。
【0026】
●本発明の目的
本発明の目的は、着脱可能な記憶媒体の特性を生かし、記憶媒体の枚数よりも少ない記憶装置数で、大容量かつ高信頼な記憶システムを構築することにある。本発明の場合、複数枚の記憶媒体と、データを保持するための着脱可能な記憶媒体を扱う記憶装置と、冗長データを保持する記憶装置の少なくとも2台の記憶装置があれば実現可能である。
【0027】
また、本発明の別の目的は、必要最低限の記憶媒体枚数で、データを高信頼に保持することにある。本発明の場合、保持するデータ量に合わせて、データを保持する記憶媒体の枚数は変化するが、冗長データを保持する記憶媒体の枚数は基本的に1枚で良い。
【0028】
【課題を解決するための手段】
上記目的を達成するために、少なくとも2枚以上の着脱可能な記憶媒体と、前記記憶媒体に対して読み出しや書き込みを行う少なくとも1台の記憶装置からなるデータ記憶手段と、少なくとも1枚以上の着脱可能な記憶媒体と、前記記憶媒体に対して読み出しや書き込みを行う少なくとも1台の記憶装置からなる冗長データ記憶手段とを設け、前記冗長データ記憶手段には、前記データ保持手段に保持するデータから演算される冗長データを保持する。
【0029】
第1の目的を達成するための別の手段として、前記冗長データ保持手段を、着脱不可能な記憶媒体を持つ記憶装置を用いても良い。
【0030】
2枚以上の着脱可能な記憶媒体で、1台以上の記憶装置を共有するため、着脱可能な記憶媒体を格納する記憶媒体保持手段と、記憶媒体保持手段から前記記憶装置に媒体を搬送する搬送手段を設けた。
【0031】
【発明の実施の形態】
以下、本発明の実施形態を図を用いて説明する。
【0032】
《第1の実施形態》
図1は、本発明の実施形態である記憶システムの概略構成を示す図である。
【0033】
●システム構成
ホストコンピュータ100とディスクアレイ装置500のRAID制御手段600とは、SCSI(Small Computer System Interface)バス109を介して接続している。本実施例ではSCSIバスを利用したが、その他の接続手段、例えばPCI(Peripheral Compornent Interconnect)やファイバーチャネル、IEEE1394などを用いても実現できる。また、SCSIバスには、幾つかのバージョン(SCSI, SCSI−2, SCSI−3, Wide−SCSI, Ultra−SCSI等)があるが、本発明はどのバージョンを利用しても実現可能である。
【0034】
RAID制御手段600には、2台のDVD記憶装置551と552を接続している。DVD記憶装置は、着脱可能な記憶媒体(DVD−RAM記憶媒体:以下「DVD記憶媒体」と称す)に対して読み出しや書き込みを行う装置である。本発明は、DVD記憶装置に限らず、光磁気ディスク装置や光ディスク装置、磁気ディスク装置などと、その記憶装置に対応した着脱可能な記憶媒体を利用して実現できることは言うまでもない。
【0035】
本実施例では、12枚のDVD記憶媒体511〜518と521〜524を設けている。DVD記憶媒体は、それぞれ対応する記憶媒体保持手段558に保持する。DVD記憶装置551と8枚のDVD記憶媒体(511〜518)で、データ保持手段501を構成する。また、DVD記憶装置552と4枚のDVD記憶媒体(521と524)で、冗長データ保持手段502を構成する。このように、DVD記憶装置は、複数枚のDVD記憶媒体によって共有される。
【0036】
搬送手段559は、記憶媒体保持手段558とDVD記憶装置551や552との間でDVD記憶媒体を搬送するための手段である。
【0037】
RAID制御手段600の内部構成を図2に示す。RAID制御手段600は、ホストコンピュータ100と接続するためのホスト接続手段610と、DVD記憶装置を接続するための記憶装置接続手段601と、前記ホスト接続手段610や記憶装置接続手段601介して転送するデータを保持する記憶手段650と、ホスト接続手段610と記憶装置接続手段601と記憶手段650間を接続するデータバス620と制御バス630と、制御バス130に接続し、各手段を制御する制御手段690と、記憶手段650に接続したデータ復元手段660と、冗長データ生成手段670と、搬送手段559を制御するための搬送制御手段640からなる。
【0038】
●DVD記憶媒体
本実施例では、1枚当たり5GBのDVD記憶媒体を使用する。また、パリティ合わせを簡略化するために、全てのDVD記憶媒体は、あらかじめ全てのデータをゼロで初期化し、記憶媒体保持手段558に保持している。
【0039】
●書き込み処理
まず、ホストコンピュータ100が、ディスクアレイ装置500に対して、データを書き込む処理について説明する。本実施例では、ホストコンピュータ100が、ホストコンピュータ100に接続している記憶装置190内のデータを、ディスクアレイ装置500に退避する処理を例にあげて説明する。このような退避処理は一般的に「バックアップ」と呼ばれている。
【0040】
●記憶媒体のマウント開始
ホストコンピュータ100は、バックアップの開始をホスト接続手段610を介して、制御手段690に通知する。制御手段690は、搬送制御手段640に対して、DVD記憶媒体511をDVD記憶装置551に、DVD記憶媒体521をDVD記憶装置552にそれぞれマウントするように指示する。搬送制御手段640は、搬送手段559を制御して、それぞれのDVD記憶媒体を記憶媒体保持手段558から取り出し、DVD記憶装置にマウントする。
【0041】
●データと冗長データの配置
2枚のDVD記憶媒体をマウントした状態でのデータと冗長データの配置を図3に示す。この時点では、データを保持する記憶媒体1枚(511)と冗長データを保持する記憶媒体1枚(521)の合計2枚で1組となる。
【0042】
本実施例では、ストライプ当たりの記憶容量を32KBとし、1枚のDVD記憶媒体当たり163840個のストライプ(0〜163839)を持つ。DVD記憶媒体511にはデータを保持し、DVD記憶媒体521には冗長データを保持する。Pnには、ストライプn番のデータと同じデータを保持する。
【0043】
●マウント終了
マウントが完了すると、制御手段690は、ホスト接続手段610を介して、ホストコンピュータに準備が完了したことを通知する。準備完了の通知を受けると、ホストコンピュータ100は、記憶装置190からディスクアレイ装置500にデータの転送を開始する。
【0044】
●データの書き込み
ホストコンピュータ100は、ストライプの大きさに合わせて、32KBづつのデータをディスクアレイ装置500に転送する。ディスクアレイ装置500は、ホスト接続手段610を介してデータを受け取り、記憶手段650に保持する。制御手段690は、さらに、記憶装置接続手段601を介して、記憶手段650に保持したデータを、ストライプ0番とP0に書き込む。以後送られてくるデータをストライプ1番とP1、ストライプ2番とP2に順次書き込んでいく。
【0045】
そして、ストライプ163839番とP163839までデータを書き終えると、DVD記憶媒体511に全てデータを書き終えたので、これ以上書き込むことができない。よって、制御手段690は、DVD記憶媒体511の交換を行うよう搬送制御手段640に指示する。このとき、DVD記憶媒体521の交換を行う必要はない。
【0046】
●記憶媒体の交換
制御手段690は、搬送制御手段640に、DVD記憶装置551からDVD記憶媒体511を取り出し、所定の記憶媒体保持手段558に戻すように指示する。さらに、DVD記憶媒体512を記憶媒体保持手段558からDVD記憶装置551にマウントするように指示する。
【0047】
DVD記憶媒体を交換中、ホストコンピュータ100からのデータ転送を一時的に中断するように、通知することもできる。あるいは、記憶手段650に保持し、交換終了後に書き込むこともできる。
【0048】
●データと冗長データの配置の変更(2枚目)
DVD記憶媒体512をマウント終了時点でのデータと冗長データの配置を図4に示す。DVD記憶媒体512のマウント終了時点では、データを保持する記憶媒体2枚(511と512)と冗長データを保持する記憶媒体1枚(521)の合計3枚で1組となる。
【0049】
新たにマウントしたDVD記憶媒体512により、ストライプ163840個が追加され、ストライプ163840番からストライプ327679番が追加される。そして、Pnには、
(Pn)=(ストライプmのデータ)
XOR(ストライプnのデータ)
(ただしm=n+163840)
を演算した結果を保持する。これにより、2枚のDVD記憶媒体(511と512)のうち、1枚のDVD記憶媒体が何らかの理由により読めなくなったとしても、RAIDの仕組みにより読み書きを続行することができる。
【0050】
DVD記憶媒体は、ゼロに初期化して記憶媒体保持手段558に格納しているので、新たにマウントした時点では、パリティ合わせを行う必要はない。
【0051】
上記演算式を用いると、例えば、ストライプ163840番にデータを書き込むためには、ストライプ0番のデータが必要になる。本実施例では、DVD記憶媒体511は、既にアンマウント(記憶媒体を記憶装置から取り出し記憶媒体保持手段に格納すること)し記憶媒体保持手段558に格納しているため、ストライプ0番のデータを読み出すためには、DVD記憶媒体を交換しなければならない。しかし、これでは、交換時間がかかり、実用的なシステムにはならない。よって、本発明では、Pnを次のように演算する。
【0052】
まず、書き込む前のストライプm番のデータ(「旧ストライプmのデータ」と呼ぶ)と、書き込む前のPn(「旧Pn」と呼ぶ)を読み出し、書き込むべきストライプm番のデータ(「新ストライプmのデータ」と呼ぶ)を用いて、
(Pn)=(新ストライプmのデータ)
XOR(旧ストライプmのデータ)
XOR(旧Pn)
(ただしm=n+163840)
を演算する。このように、Pnを求めることで、DVD記憶媒体511に対する読み出しは必要なくなり、DVD記憶媒体の交換は必要ない。また、DVD記憶媒体は、ゼロに初期化して記憶媒体保持手段558に格納しているので、「旧ストライプmのデータ」はゼロであり、
(Pn)=(新ストライプmのデータ)
XOR(ゼロ)
XOR(旧Pn)
(ただしm=n+163840)
なので、
(Pn)=(新ストライプmのデータ)
XOR(旧Pn)
(ただしm=n+163840)
と簡略化することができる。
【0053】
●交換終了後
交換が終了すると、ストライプ163840番から順番にデータを書き込んでいき、冗長データ生成手段670を用いて、P0には、
(P0)=(新ストライプ163840のデータ)
XOR(旧P0)
を演算した結果を書き込む。以後、ストライプ163841番とP1の順で処理を行う。
【0054】
●データと冗長データの配置の変更(3枚目)
さらに、データの書き込みが続き、ストライプ327679番までデータを書き終えると、DVD記憶媒体512の交換を行う。前回と同様、このとき、DVD記憶媒体521の交換を行う必要はない。
【0055】
制御手段690は、搬送制御手段640に、DVD記憶装置551からDVD記憶媒体512を取り出し、記憶媒体保持手段558に戻すように指示する。さらに、DVD記憶媒体513をDVD記憶装置551にマウントするように指示する。
【0056】
DVD記憶媒体513をマウント終了時点でのデータと冗長データの配置を図5に示す。図5に示すように、マウント終了時点で新たに、ストライプ163840個が追加され、ストライプ327680番からストライプ491519番が追加される。そして、Pnには、
(Pn)=(ストライプkのデータ)
XOR(ストライプmのデータ)
XOR(ストライプnのデータ)
(ただしm=n+163840
k=n+327680)
を演算した結果を保持する。
【0057】
DVD記憶媒体は、ゼロに初期化して記憶媒体保持手段558に格納しているので、新たにマウントした時点では、パリティ合わせを行う必要はない。
【0058】
交換が終了すると、ストライプ327680番から順番にデータを書き込んでいき、冗長データ生成手段670を用いて、Pnには、
(Pn)=(新ストライプkのデータ)
XOR(旧Pn)
(ただしk=n+327680)
を演算した結果を書き込む。以後ストライプ327681とP1の順で処理を行う。
【0059】
以後同様に、DVD記憶媒体がいっぱいになる度に、DVD記憶媒体の交換を繰り返し、書き込みを続けることができる。本実施例では、DVD記憶媒体513の途中で、ホストコンピュータ100の記憶装置190のバックアップが終了したとする。よって、4枚のDVD記憶媒体(511と512と513と521)で1組となる。
【0060】
●効果
上記記載のように、処理を行うことで、複数のDVD記憶媒体で2台のDVD記憶装置を共有しても、記憶媒体の交換を最小限にし、冗長データにより保護された信頼性の高い記憶システムを提供することができる。
【0061】
さらに、書き込まれるデータの容量に応じて、記憶媒体の交換を行うため、必要な枚数の記憶媒体しか必要としない。例えば、本実施例の場合、ホストコンピュータ100の記憶装置190のバックアップに4枚のDVD記憶媒体を使用した。図11に示したシステムで本実施例のバックアップ処理を行うと、DVD記憶媒体を5枚使用する。これは、記憶装置の台数により記憶媒体の枚数が決まっているためである。本発明では、書き込むべきデータの量が変動しても、冗長データを保持する記憶媒体は1枚で良く、効率よく高信頼にデータを保持することができる。
【0062】
●まとめ読みだし
また、冗長データ作成時に、書き込む前のPn(旧Pn)が必要なるが、制御手段690は、記憶装置接続手段601を介して、旧Pnをまとめて記憶手段650に読み出すことを行う。これにより、Pnの生成処理を高速化することもできる。
【0063】
●リード処理
ホストコンピュータ100がディスクアレイ装置500からデータを読み出すリード処理について説明する。DVD記憶媒体は、ライト処理の説明で使用した4枚のDVD記憶媒体(511と512と513と521)を使用する。
【0064】
ホストコンピュータ100がストライプ0番のデータを読み出す場合を例にあげ説明を行う。ホストコンピュータ100からの読み出し要求は、ホスト接続手段610を介して制御手段690に通知される。制御手段690は、ストライプ0番の読み出しであることを判断すると、DVD記憶媒体511をDVD記憶装置551にマウントするように、搬送制御手段640に指示する。搬送制御手段640は、搬送手段559を制御して、記憶媒体保持手段558からDVD記憶媒体511を取り出し、DVD記憶装置551にマウントする。
【0065】
制御手段690は、搬送制御手段640からマウントが終了した旨の報告を受けると、記憶装置制御手段601を介して、DVD記憶装置551にマウントされたDVD記憶媒体511からストライプ0番のデータを読み出し、記憶手段650に保持する。制御手段690は、記憶手段650に保持したストライプ0番のデータを、ホスト接続手段610を介してホストコンピュータ100に転送する。
【0066】
●多重処理
もし次に、ホストコンピュータ100から、ストライプ163840番の読み出し要求があった場合には、DVD記憶媒体512を、DVD記憶媒体511と交換してDVD記憶装置551にマウントすることもできるし、また、DVD記憶媒体512をDVD記憶装置552にマウントすることもできる。データを保持した2枚の記憶媒体(今の場合は511と512)を2台のDVD記憶装置に同時にマウントすることにより、より高速にホストコンピュータにデータを転送することができる。
【0067】
●障害時のリード処理
次に、読み出し時に障害が発生した場合のリード処理について説明する。DVD記憶媒体は、ライト処理の説明で使用した4枚のDVD記憶媒体(511と512と513と521)を使用する。ライト処理時には、DVD記憶媒体521に冗長データを作成しているので、3枚のDVD記憶媒体(511と512と513)のうち、1枚のDVD記憶媒体が何らかの理由により読めなくなったとしても、RAIDの仕組みにより読み出しを行うことができる。
【0068】
ホストコンピュータ100がストライプ0番のデータを読み出す場合を例にあげ説明を行う。ホストコンピュータ100からの読み出し要求は、ホスト接続手段610を介して制御手段690に通知される。制御手段690は、ストライプ0番の読み出しであることを判断すると、DVD記憶媒体511をDVD記憶装置551にマウントするように、搬送制御手段640に指示する。搬送制御手段640は、搬送手段559を制御して、記憶媒体保持手段558からDVD記憶媒体511を取り出し、DVD記憶装置551にマウントする。
【0069】
制御手段690は、搬送制御手段640からマウントが終了した旨の報告を受けると、記憶装置制御手段601を介して、DVD記憶装置551にマウントされたDVD記憶媒体511からストライプ0番のデータを読み出そうとするが、エラーが起こり、データを読み出すことができない。制御手段690は、DVD記憶媒体511のストライプ0番だけが読めないのか、それとも、DVD記憶媒体511そのものが読めないのかを調べるために、幾つかのストライプに対し読み出しを試みる。ストライプ0番だけが読めない部分障害時と、DVD記憶媒体そのものが読めない記憶媒体障害時で、2つの処理方式に分かれる。
【0070】
●部分障害時
ストライプ0番だけが読めない部分障害と判断した場合、制御手段690は、(ストライプ0のデータ)=(P0)
XOR(ストライプ163840のデータ)
XOR(ストライプ327680のデータ)
を演算して、ストライプ0番のデータを求めるために、DVD記憶装置552に3枚のDVD記憶媒体(512と513と521)を順番にマウントし、それぞれのデータを記憶手段650に読み出す。制御手段650は、データ復元手段660を用いて、ストライプ0番のデータを復元して、ホスト接続手段610を介してホストコンピュータ100に転送する。そして、制御手段690は、復元したストライプ0番のデータを、DVD記憶媒体511に交代領域を割り当てて書き込むことを試みる。一般的に記憶装置は、記憶媒体の部分障害に対して、記憶媒体上の別の領域(交代領域)を割り当て、データを保持する機能を有している。本書き込みの後、ベリファイを行いストライプ0番のデータを正しく書き込めたことを確認するとさらに信頼性が高くなる。
【0071】
●記憶媒体障害時
DVD記憶媒体そのものが読めない記憶媒体障害と判断した場合、制御手段690は、新たにDVD記憶媒体511の複製を作成する処理を実行する。まず、制御手段690は、搬送制御手段640にDVD記憶媒体511をアンマウントし、未使用の記憶媒体514をDVD記憶装置551にマウントするように指示する。図6に示すように、DVD記憶媒体上には、R0からR163839までのストライプがある。
【0072】
そして、DVD記憶装置552には、DVD記憶媒体521をマウントし、DVD記憶媒体521の全データ(P0からP163839)をDVD記憶媒体514(R0からR163839)にコピーする。
【0073】
コピーが終了すると、制御手段690は、DVD記憶装置552のDVD記憶媒体521をアンマウントし、DVD記憶媒体512をマウントする。制御手段690は、Rnを次のように演算する。
【0074】
まず、書き込む前のRn(「旧Rn」と呼ぶ)を読み出し、ストライプm番のデータ(m=n+163840)を用いて、
(Rn)=(旧Rn)
XOR(ストライプmのデータ)
(ただしm=n+163840)
を演算する。制御手段690は、記憶手段650とデータ復元手段660を用いて演算し、R0からR163839までを更新する。
【0075】
さらに、制御手段690は、DVD記憶装置552のDVD記憶媒体512をアンマウントし、DVD記憶媒体513をマウントする。制御手段690は、Rnを次のように演算する。
【0076】
まず、書き込む前のRn(「旧Rn」と呼ぶ)を読み出し、ストライプk番のデータ(k=n+327680)を用いて、
(Rn)=(旧Rn)
XOR(ストライプkのデータ)
(ただしk=n+327680)
を演算する。制御手段690は、記憶手段650とデータ復元手段660を用いて演算し、R0からR163839までを更新する。
【0077】
以上により、DVD記憶媒体514のストライプR0からR163839に、失ったDVD記憶媒体511と同じデータ(ストライプ0番からストライプ163839番)を復元することができる。以後、DVD記憶媒体511に代わり、DVD記憶媒体514を使用することで、障害から完全に回復することができる。同様に、なんらかの理由でDVD記憶媒体511そのものを失った場合にも、同なじ手順で復元できる。
【0078】
《第2の実施形態》
図7は、本発明の実施形態である記憶システムの概略構成を示す図である。
【0079】
●システム構成
図7のシステム構成は、図1のシステム構成において、DVD記憶装置552の代えて、ハードディスク装置553を使用した形態になっている。ハードディスク装置553は、着脱不可能な記憶媒体を使用する。また、5枚のDVD記憶媒体を利用するが、第1の実施例と区別するために異なる番号531から535を与えている。
【0080】
●DVD記憶媒体とハードディスク装置
本実施例でも、1枚当たり5GBのDVD記憶媒体を使用する。ハードディスク装置には、10GB(=5GB×2)の容量のものを使用する。10GBのハードディスクの代わりに、5GBのハードディスク装置を2台用いても良い。
【0081】
●データと冗長データの配置
図8にデータと冗長データの配置を示す。本実施例では、4枚のデータを保持する記憶媒体(531〜534)とハードディスク装置553で1組となる。
【0082】
本実施例でもストライプ当たりの記憶容量を32KBとし、1枚のDVD記憶媒体当たり163840個のストライプ(0〜163839)を持つ。ハードディスク装置553は10GBの容量があるので、327680個のストライプを持つことができる。この327680個のストライプをA0〜A163839と、B0〜B163839の2つに分割し使用する。
【0083】
本システムの実施に当たり、全てDVD記憶媒体とハードディスクのデータをゼロで初期化している。
【0084】
●書き込み処理
ホストコンピュータ100がストライプ0番にデータを書き込む場合を例にあげ説明を行う。ホストコンピュータ100からの書き込み要求は、ホスト接続手段610を介して、制御手段690に通知される。制御手段690は、ストライプ0番の書き込みであることを判断すると、DVD記憶媒体531をDVD記憶装置551にマウントするように、搬送制御手段640に指示する。搬送制御手段640は、搬送手段559を制御して、記憶媒体保持手段558からDVD記憶媒体531を取り出し、DVD記憶装置551にマウントする。制御手段690は、ホストコンピュータ100からストライプ0番に書き込むデータを受け取り、記憶手段650に保持する。
【0085】
制御手段690は、搬送制御手段640からマウントが終了した旨の報告を受けると、記憶装置制御手段601を介して、記憶手段650からストライプ0番にデータを書き込む。さらに、A0を次のように演算する。
【0086】
まず、書き込む前のストライプ0番のデータ(「旧ストライプ0のデータ」と呼ぶ)と、書き込む前のA0(「旧A0」と呼ぶ)を読み出し、書き込むべきストライプ0番のデータ(「新ストライプ0のデータ」と呼ぶ)を用いて、
(A0)=(新ストライプ0のデータ)
XOR(旧ストライプ0のデータ)
XOR(旧A0)
を演算する。その結果をA0を書き込む。
【0087】
異なるDVD記憶媒体に格納されたストライプに対して書き込み要求が来た場合には、制御手段690は、搬送制御手段640と搬送手段559をもちいて、対応するDVD記憶媒体をマウントしてから処理を行う。一般的にストライプが連続する書き込み(ストライプn番、n+1番、n+2番....と連続して書き込むこと)に対しては、DVD記憶媒体の交換頻度は少なく、実用上問題はない。
【0088】
●リード処理
ホストコンピュータ100がディスクアレイ装置700からデータを読み出すリード処理は、第1の実施例と同様の処理を行えば良いので、ここでは省略する。
【0089】
●障害時のリード処理
部分障害時については、第1の実施例と同様の処理を行えば良いので、記録媒体障害時のリード処理についてのみ説明する。本実施例では、DVD記憶媒体531のDVD記憶媒体で障害が発生し、DVD記憶媒体全体に渡り読み出しが不可能である記憶媒体障害として説明する。
【0090】
●記憶媒体障害時
ホストコンピュータ100がストライプ0番のデータを読み出す場合を例にあげ説明を行う。ホストコンピュータ100からの読み出し要求は、ホスト接続手段610を介して制御手段690に通知される。制御手段690は、ストライプ0番の読み出しであることを判断すると、DVD記憶媒体531をDVD記憶装置551にマウントし、ストライプ0番のデータの読み出しを実行する。しかし、エラーが起こり、データを読み出すことができない。制御手段690は、DVD記憶媒体531の幾つかのストライプの読み出しを試みて、部分障害であるのか、記憶媒体障害であるのかを判断する。本実施例では、制御手段690は、DVD記憶媒体531そのものが読めない記憶媒体障害と判断し、新たにDVD記憶媒体531の複製を作成する処理を実行する。
【0091】
制御手段690は、搬送制御手段640にDVD記憶媒体531をアンマウントし、記憶媒体532をマウントするように指示する。マウントが終了すると、制御手段690は、Bnを次のように演算する。
【0092】
(Bn)=(An)
XOR(ストライプmのデータ)
(ただしm=n+163840)
を演算する。制御手段690は、記憶手段650とデータ復元手段660を用いて演算し、B0からB163839までを作成する。
【0093】
さらに、制御手段690は、DVD記憶装置551のDVD記憶媒体532をアンマウントし、DVD記憶媒体533をマウントする。制御手段690は、Bnを次のように演算する。
【0094】
まず、書き込む前のBn(「旧Bn」と呼ぶ)を読み出し、ストライプk番のデータ(k=n+327680)を用いて、
(Bn)=(旧Bn)
XOR(ストライプkのデータ)
(ただしk=n+327680)
を演算する。制御手段690は、記憶手段650とデータ復元手段660を用いて演算し、B0からB163839までを更新する。
【0095】
さらに、制御手段690は、DVD記憶装置551のDVD記憶媒体533をアンマウントし、DVD記憶媒体534をマウントする。制御手段690は、Bnを次のように演算する。
【0096】
まず、書き込む前のBn(「旧Bn」と呼ぶ)を読み出し、ストライプj番のデータ(j=n+491520)を用いて、
(Bn)=(旧Bn)
XOR(ストライプjのデータ)
(ただしj=n+491520)
を演算する。制御手段690は、記憶手段650とデータ復元手段660を用いて演算し、B0からB163839までを更新する。以上により、B0からB163839に失ったDVD記憶媒体531内のデータを全て復元することができた。
【0097】
そして、制御手段690は、DVD記憶装置551のDVD記憶媒体534をアンマウントし、未使用のDVD記憶媒体535をマウントする。マウントが終了すると、制御手段690は、ハードディスク装置のB0からB163839に復元したデータを、DVD記憶媒体535に全てコピーする。以後、DVD記憶媒体531に代わり、DVD記憶媒体535を使用することで、障害から完全に回復することができる。
【0098】
もし、未使用のDVD記憶媒体535を、ディスクアレイ装置700に用意していないときには、B0からB163839までのデータを、ストライプ0番からストライプ163839番までのデータとして扱うこともできる。
【0099】
その後、新たに未使用のDVD記憶媒体が挿入された場合に、ハードディスク装置553からコピーすることもできる。
【0100】
【発明の効果】
本明細書に記載のようにシステムを構成し、データと冗長データを保持することで、着脱可能な記憶媒体の特性を生かし、少ない記憶装置台数で大容量かつ高信頼な記憶システムを構築することができる。本発明の場合、複数枚の記憶媒体と、データを保持するための着脱可能な記憶媒体を扱う記憶装置と、冗長データを保持する記憶装置の少なくとも2台の記憶装置があれば実現可能である。
【0101】
また、保持するデータ量にあわせて、データを保持する記憶媒体の枚数は変化するが、冗長データを保持する記憶媒体の枚数は基本的に1枚で良く、少ない記憶媒体枚数で、データを高信頼に保持することができる。
【図面の簡単な説明】
【図1】第1の実施形態である記憶システムの概略構成を示す図である(DVD記憶装置2台構成)。
【図2】RAID制御手段の内部概略構成を示す図である。
【図3】初期状態におけるデータと冗長データの配置を示す図である。
【図4】図3の状態より1枚のDVD記憶媒体を追加した場合のデータと冗長データの配置を示す図である。
【図5】図3の状態より2枚のDVD記憶媒体を追加した場合のデータと冗長データの配置を示す図である。
【図6】未使用の記憶媒体をマウントしたときのデータと冗長データの配置を示す図である。
【図7】第2の実施形態である記憶システムの概略構成を示す図である(DVD記憶装置1台とハードディスク装置1台構成)。
【図8】第2の実施形態である記憶システムのデータと冗長データの配置を示す図である。
【図9】ハードディスク装置を用いた従来のディスクアレイ装置を示す図である。
【図10】従来のデータと冗長データの配置を示す図である。
【図11】
従来技術において、着脱可能な記憶媒体を用いて構成したディスクアレイ装置を示す図である。
【図12】
本発明を用いて構成したディスクアレイ装置を示す図である。
【符号の説明】
100…ホストコンピュータ,101…ディスクアレイ装置,109…SCSIバス,105…RAID制御手段,190…記憶装置,201…ディスクアレイ装置,205…RAID制御手段,301…ディスクアレイ装置,305…RAID制御手段,351…記憶装置,352…記憶装置、500…ディスクアレイ装置,501…データ保持手段,502…冗長データ保持手段,551…DVD記憶装置,552…DVD記憶装置,553…ハードディスク装置,558…記憶媒体保持手段,559…搬送手段、610…ホスト接続手段,601…記憶装置接続手段,620…データバス,630…制御バス,640…搬送制御手段,650…記憶手段,660…データ復元手段,670…冗長データ生成手段,690…制御手段、700…ディスクアレイ装置,701…データ保持手段,702…冗長データ保持手段
[0001]
BACKGROUND OF THE INVENTION
The present invention uses a removable storage medium and a storage device such as a magneto-optical disk device that reads from or writes to the removable storage medium, an optical disk device, or a magnetic disk device, and has a large capacity and high reliability. The present invention relates to a control method for realizing a storage system, and more particularly, to a control method for realizing with a storage device smaller than the total number of removable storage media.
[0002]
[Prior art]
● What is RAID?
Instead of a hard disk device (HDD: Hard Disk Drive) that has been conventionally used alone, a plurality of hard disk devices are operated in parallel to increase the read / write speed, and an external storage device that has improved reliability by a redundant configuration A disk array device (RAID: Redundant Arrays of Independent Disks) is being considered (Paper: “A Case for Redundant Arrays of Independent Drives and RAID. Computer Science Division Department of Electrical Engineering and Co puter Sciences, University of Calfornia Berkeley). In the paper, numbers from 1 to 5 are assigned to the levels depending on the configuration of the disk array device. As is well known, RAID level 3 is expected to improve performance for sequential access that transfers a large amount of data, and RAID level 5 is expected to improve performance for random access where a large amount of reading and writing of a small size occurs. (Nikkei Electronics 1993/4/26 No. 579 P77-91 “Special Feature Disk Array Device”).
[0003]
Hereinafter, in this specification, a magnetic disk device using a non-removable storage medium is called a “hard disk device”, and a storage device using a removable storage medium (a magneto-optical disk device, an optical disk device, a magnetic disk device). Etc.).
[0004]
● What is RAID control?
Here, RAID control will be described with reference to FIGS. As shown in FIG. 9, the disk array device 101 has a plurality of hard disk devices (111 to 115). RAID control is to define how data is distributed to a plurality of hard disk devices, how redundant data is created, and where redundant data is stored (by the RAID control means 105).
[0005]
The disk array device shown in FIG. 9 is composed of five hard disk devices, and has data storage areas from 0 to 15 as shown in FIG. This data storage area is called “stripe” and can store, for example, 32 KB of data.
[0006]
Further, there are redundant data storage areas represented by P0-3, P4-7, P8-11, and P12-15. In P0-3, an exclusive OR (XOR) of data stored in stripes 0 to 3 is calculated.
(P0-3) = (data of stripe 0)
XOR (stripe 1 data)
XOR (stripe 2 data)
XOR (stripe 3 data)
Is stored. In general, in the case of Pm-n, the result of calculating the exclusive OR (XOR) of data stored from the stripe m to the stripe n is stored. Such redundant data becomes effective when one of the hard disk devices constituting the disk array device is broken. This “one hard disk device is broken” state is referred to as a “degraded state”, and read / write processing in this degraded state will be described later.
[0007]
The stripes n to m in the data storage area and the redundant data storage area Pm-n are collectively referred to as a “strip group”. When the disk array device is viewed from the host computer, it is recognized as one logical storage device that is continuous from stripes 0 to 15. However, in practice, a plurality of hard disk devices are used to hold data in a distributed manner.
[0008]
● Lead processing
First, a process in which the host computer 100 reads data from the disk array device 101 will be described. For example, in order to read data stored in stripes 4 and 5, the host computer 100 issues a request to read this data to the disk array apparatus 101. The disk array device 101 reads the stripe number 4 on the hard disk 111 and the stripe number 5 on the hard disk 112 and transfers them to the host computer 100.
[0009]
● Light processing
Next, a process in which the host computer 100 writes data to the disk array device 101 will be described. The write processing of the disk array device 101 is different from the hard disk device used alone because of redundant data. When data is written, it is necessary to update redundant data. There are two methods for updating the redundant data.
[0010]
● Light processing (1)
For example, in order to write data to the stripe No. 6, first, the data of the stripe No. 4, the stripe No. 5 and the stripe No. 7 of the stripe group to which the stripe No. 6 belongs are read.
(P4-7) = (data of stripe 6)
XOR (stripe 4 data)
XOR (stripe 5 data)
XOR (stripe 7 data)
To obtain redundant data, and then it is necessary to write data to the stripe No. 6 and redundant data to P4-7.
[0011]
● Light processing (2)
Similarly, in order to write data to the stripe No. 6, first, data of the stripe No. 6 before writing (referred to as “data of the old stripe 6”) and P4-7 (“old P4-7” before writing) are written. Read) and use the data of stripe No. 6 to be written ("data of new stripe 6").
(P4-7) = (data of stripe 6)
XOR (old stripe 6 data)
XOR (old P4-7)
To obtain redundant data, and then it is necessary to write data to the stripe No. 6 and redundant data to P4-7.
[0012]
In the disk array device, it is necessary to update and write not only data but also redundant data, so that the number of accesses to the hard disk device increases.
[0013]
● Read processing in the degraded state
A read process in a degenerate state, which is characteristic in a disk array device using parity for redundant data, will be described. For example, in FIG. 10, it is assumed that the hard disk device 111 has failed and cannot be read or written. Consider reading data stored in stripes 4 and 5 in this state. The disk array device first attempts to read the first half of the data from the stripe 4 but cannot read due to a failure. In such a case, the disk array device 101 reads the redundant data P4-7, the data of the stripe No. 5, the stripe No. 6 and the stripe No. 7,
(Data of stripe 4) = (P4-7)
XOR (stripe 5 data)
XOR (stripe 6 data)
XOR (stripe 7 data)
To restore the data in the stripe 4 of the broken hard disk device 111. The restored data of the stripe No. 4 and the read data of the stripe No. 5 are transferred to the host computer. As a result, data can be read even when one hard disk device is broken.
[0014]
Of course, if the disk array device knows in advance that the hard disk device 111 is broken, the read processing for the stripe 4 can be omitted.
[0015]
● Parity matching
In order to restore correct data in the degenerated state, correct redundant data (parity) must be generated. There are two methods for matching the consistency between this data and redundant data (parity matching).
[0016]
The first method is for all stripe groups.
(Pmn) = (data of stripe m) to XOR (data of stripe n)
Is a method of calculating
[0017]
The second method is a method of writing zero to all hard disk devices constituting the disk array. Compared to the first method that requires computation, the second method only writes fixed data to the hard disk device, and the processing can be simplified. The data to be written may not be zero as long as the parity calculation formula is satisfied.
[0018]
[Problems to be solved by the invention]
● Removable storage media
The conventional disk array device is based on the premise that a storage device that uses a non-removable storage medium such as a hard disk device is used, so that the removable storage medium and the storage device are not considered.
[0019]
● Number of storage media = number of storage devices
For example, as shown in FIG. 11, five storage media (211 to 215) and five storage devices (221 to 225) are used, and five storage media are mounted (read and write) on five storage devices, respectively. If the storage medium is mounted in the storage device in a state in which it can be performed), the disk array device 101 using the conventional hard disk device shown in FIG. 9 can be configured. However, if such a configuration as shown in FIG. 11 is used, the same number of storage devices as the number of storage media to be configured are required.
[0020]
● Number of storage media> Number of storage devices
Therefore, in the present invention, it has been considered to provide a storage system that reduces the cost by sharing the advantage of the removable storage medium by sharing one storage device with a plurality of removable storage media. Generally, the cost of a removable storage medium can be considered to be sufficiently small (1/10 or less) compared to the cost of the storage device.
[0021]
For example, as shown in FIG. 12, two storage devices 351 and 352 are prepared, the storage device 351 is shared by four removable storage media (311 to 314), and the single storage device 352 is removable. A storage system occupied by a large storage medium (315). The five storage media (311 to 315) correspond to the five hard disk devices (111 to 115) in FIG. 9, respectively. By using this configuration, the number of storage devices can be reduced by three as compared with the storage system of FIG. 11, and the cost can be reduced.
[0022]
● Problem: Media exchange time
However, in the storage system shown in FIG. 12, if the arrangement of data and redundant data shown in FIG. 10 is used, the storage medium needs to be replaced every time reading or writing processing is performed, and a practical system is constructed. I can't. This is because, generally, replacement of a storage medium takes several seconds to tens of seconds, so that the processing time is much longer than the reading and writing processing time of tens of ms.
[0023]
For example, in order to write data to the stripe No. 6 using the method 2, first, the storage medium 313 storing the stripe No. 6 is mounted in the storage device 351, and P4-7 is set in the storage device 352. Mount the stored storage medium 315 and read the data of stripe 6 before writing (referred to as “data of old stripe 6”) and P4-7 before writing (referred to as “old P4-7”) ,
(P4-7) = (data of stripe 6)
XOR (old stripe 6 data)
XOR (old P4-7)
To obtain redundant data, and then it is necessary to write data to the stripe No. 6 and redundant data to P4-7. Therefore, every time a read or write processing request is issued to a different storage medium, there is a problem that the storage medium needs to be replaced and the processing time becomes long.
[0024]
Further, in order to write data to the stripe No. 6 by using the method 1, the data of the stripe No. 4, the stripe No. 5 and the stripe No. 7 are read out to obtain redundant data while exchanging the storage media 311, 312 and 314. Further, it is necessary to replace the storage medium 313 and store data in the stripe No. 6 and redundant data in P4-7. This further increases the processing time.
[0025]
● Problem: Waste of capacity
In the storage system shown in FIG. 11, the number of storage media to be mounted is determined by the number of storage devices. In the storage system of FIG. 11, four data storage media (211 to 214) and one redundant data storage medium (215) form one set. For example, if the capacity per storage medium is 5 GB (1 GB = 1073741824 bytes), 20 GB (= 5 GB × 4) data can be held per set, and the reliability is improved with 5 GB (one sheet) of redundant data. ing. To store 25GB of data in this storage system, two sets (10) of storage media are required, but the second set uses only 5GB despite having 20GB capacity, There is a problem that capacity is wasted.
[0026]
● Object of the present invention
An object of the present invention is to construct a large-capacity and highly reliable storage system with the number of storage devices smaller than the number of storage media, taking advantage of the characteristics of a removable storage medium. In the case of the present invention, it can be realized if there are at least two storage devices: a plurality of storage media, a storage device handling a removable storage medium for holding data, and a storage device holding redundant data. .
[0027]
Another object of the present invention is to hold data with high reliability with the minimum number of storage media. In the case of the present invention, the number of storage media holding data changes according to the amount of data to be held, but the number of storage media holding redundant data is basically one.
[0028]
[Means for Solving the Problems]
In order to achieve the above object, at least two or more removable storage media, at least one storage device for reading from or writing to the storage medium, and at least one or more removable storage media And a redundant data storage unit including at least one storage device that reads from and writes to the storage medium, and the redundant data storage unit includes data stored in the data holding unit. Holds redundant data to be computed.
[0029]
As another means for achieving the first object, a storage device having a non-removable storage medium may be used as the redundant data holding means.
[0030]
Since two or more removable storage media share one or more storage devices, storage medium holding means for storing the removable storage medium, and transport for transferring the medium from the storage medium holding means to the storage device Means were provided.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0032]
<< First Embodiment >>
FIG. 1 is a diagram showing a schematic configuration of a storage system according to an embodiment of the present invention.
[0033]
● System configuration
The host computer 100 and the RAID control means 600 of the disk array device 500 are connected via a SCSI (Small Computer System Interface) bus 109. In this embodiment, the SCSI bus is used. However, other connection means such as PCI (Peripheral Component Interconnect), fiber channel, IEEE 1394, and the like can be used. There are several versions of the SCSI bus (SCSI, SCSI-2, SCSI-3, Wide-SCSI, Ultra-SCSI, etc.), but the present invention can be realized by using any version.
[0034]
Two DVD storage devices 551 and 552 are connected to the RAID control means 600. A DVD storage device is a device that reads from and writes to a removable storage medium (DVD-RAM storage medium: hereinafter referred to as “DVD storage medium”). Needless to say, the present invention can be realized by using not only a DVD storage device but also a magneto-optical disk device, an optical disk device, a magnetic disk device, and the like, and a removable storage medium corresponding to the storage device.
[0035]
In this embodiment, twelve DVD storage media 511 to 518 and 521 to 524 are provided. Each DVD storage medium is held in the corresponding storage medium holding means 558. The data storage unit 501 is composed of the DVD storage device 551 and the eight DVD storage media (511 to 518). Further, the redundant data holding means 502 is configured by the DVD storage device 552 and the four DVD storage media (521 and 524). Thus, the DVD storage device is shared by a plurality of DVD storage media.
[0036]
The transport unit 559 is a unit for transporting the DVD storage medium between the storage medium holding unit 558 and the DVD storage devices 551 and 552.
[0037]
The internal configuration of the RAID control unit 600 is shown in FIG. The RAID control means 600 transfers the data via the host connection means 610 for connecting to the host computer 100, the storage device connection means 601 for connecting the DVD storage device, and the host connection means 610 or the storage device connection means 601. Storage means 650 for holding data, host connection means 610, storage device connection means 601, data bus 620 connecting the storage means 650, control bus 630, and control means for controlling each means connected to the control bus 130 690, a data restoration unit 660 connected to the storage unit 650, a redundant data generation unit 670, and a conveyance control unit 640 for controlling the conveyance unit 559.
[0038]
● DVD storage media
In this embodiment, a 5 GB DVD storage medium is used. In order to simplify parity matching, all DVD storage media initialize all data in advance to zero and hold them in the storage medium holding means 558.
[0039]
Write process
First, a process in which the host computer 100 writes data to the disk array device 500 will be described. In this embodiment, a description will be given by taking as an example a process in which the host computer 100 saves data in the storage device 190 connected to the host computer 100 to the disk array device 500. Such saving processing is generally called “backup”.
[0040]
● Start mounting of storage media
The host computer 100 notifies the control unit 690 of the start of backup via the host connection unit 610. The control unit 690 instructs the transport control unit 640 to mount the DVD storage medium 511 on the DVD storage device 551 and the DVD storage medium 521 on the DVD storage device 552, respectively. The transport control unit 640 controls the transport unit 559 to take out each DVD storage medium from the storage medium holding unit 558 and mount it on the DVD storage device.
[0041]
● Data and redundant data placement
FIG. 3 shows the arrangement of data and redundant data in a state where two DVD storage media are mounted. At this point, one storage medium (511) holding data and one storage medium (521) holding redundant data make up a set.
[0042]
In this embodiment, the storage capacity per stripe is 32 KB, and there are 163840 stripes (0 to 163839) per DVD storage medium. The DVD storage medium 511 holds data, and the DVD storage medium 521 holds redundant data. Pn holds the same data as the data of stripe n.
[0043]
● Mount end
When the mounting is completed, the control unit 690 notifies the host computer that the preparation is completed via the host connection unit 610. Upon receiving the notification of preparation completion, the host computer 100 starts data transfer from the storage device 190 to the disk array device 500.
[0044]
● Data writing
The host computer 100 transfers 32 KB of data to the disk array device 500 in accordance with the stripe size. The disk array device 500 receives data via the host connection unit 610 and holds it in the storage unit 650. The control unit 690 further writes the data held in the storage unit 650 to the stripes 0 and P0 via the storage device connection unit 601. The data sent thereafter is sequentially written in stripes 1 and P1, and stripes 2 and P2.
[0045]
When the data has been written up to the stripes 163839 and P163839, all data has been written to the DVD storage medium 511, and no more data can be written. Therefore, the control unit 690 instructs the transport control unit 640 to replace the DVD storage medium 511. At this time, it is not necessary to replace the DVD storage medium 521.
[0046]
● Replacement of storage media
The control unit 690 instructs the transport control unit 640 to take out the DVD storage medium 511 from the DVD storage device 551 and return it to the predetermined storage medium holding unit 558. Further, it instructs to mount the DVD storage medium 512 from the storage medium holding means 558 to the DVD storage device 551.
[0047]
It is also possible to notify the data transfer from the host computer 100 to be temporarily interrupted during the exchange of the DVD storage medium. Alternatively, it can be held in the storage means 650 and written after the exchange is completed.
[0048]
● Change of data and redundant data layout (2nd sheet)
FIG. 4 shows the arrangement of data and redundant data when the DVD storage medium 512 is mounted. At the end of mounting of the DVD storage medium 512, a total of three storage media (511 and 512) holding data and one storage medium (521) holding redundant data form one set.
[0049]
With the newly mounted DVD storage medium 512, 163840 stripes are added, and stripes 163840 to 327679 are added. And in Pn,
(Pn) = (data of stripe m)
XOR (data of stripe n)
(However, m = n + 163840)
Holds the result of computing. Thus, even if one DVD storage medium of the two DVD storage media (511 and 512) becomes unreadable for some reason, reading and writing can be continued by the RAID mechanism.
[0050]
Since the DVD storage medium is initialized to zero and stored in the storage medium holding means 558, it is not necessary to perform parity adjustment when it is newly mounted.
[0051]
Using the above arithmetic expression, for example, data in stripe 0 is required to write data in stripe 163840. In this embodiment, since the DVD storage medium 511 is already unmounted (the storage medium is taken out from the storage device and stored in the storage medium holding means) and stored in the storage medium holding means 558, the data of stripe 0 is read out. In order to do this, the DVD storage medium must be replaced. However, this takes time to replace and does not make a practical system. Therefore, in the present invention, Pn is calculated as follows.
[0052]
First, data of stripe m before writing (referred to as “data of old stripe m”) and Pn before writing (referred to as “old Pn”) are read and data of stripe m to be written (“new stripe m”). Data)),
(Pn) = (data of new stripe m)
XOR (old stripe m data)
XOR (old Pn)
(However, m = n + 163840)
Is calculated. Thus, by obtaining Pn, reading from the DVD storage medium 511 is not necessary, and replacement of the DVD storage medium is not necessary. Further, since the DVD storage medium is initialized to zero and stored in the storage medium holding means 558, the “data of the old stripe m” is zero.
(Pn) = (data of new stripe m)
XOR (zero)
XOR (old Pn)
(However, m = n + 163840)
So,
(Pn) = (data of new stripe m)
XOR (old Pn)
(However, m = n + 163840)
And can be simplified.
[0053]
● After exchange
When the exchange is completed, data is sequentially written from the stripe number 163840, and the redundant data generation unit 670 is used to store data in P0.
(P0) = (data of new stripe 163840)
XOR (old P0)
Write the result of the operation. Thereafter, processing is performed in the order of the stripe 163841 and P1.
[0054]
● Change of data and redundant data arrangement (third)
Further, when data writing continues and data has been written to the stripe 327679, the DVD storage medium 512 is replaced. As in the previous case, it is not necessary to replace the DVD storage medium 521 at this time.
[0055]
The control means 690 instructs the transport control means 640 to take out the DVD storage medium 512 from the DVD storage device 551 and return it to the storage medium holding means 558. Further, it instructs to mount the DVD storage medium 513 on the DVD storage device 551.
[0056]
FIG. 5 shows the arrangement of data and redundant data when the DVD storage medium 513 is mounted. As shown in FIG. 5, 163840 stripes are newly added at the end of mounting, and stripes 327680 to 491519 are added. And in Pn,
(Pn) = (data of stripe k)
XOR (data of stripe m)
XOR (data of stripe n)
(However, m = n + 163840
k = n + 327680)
Holds the result of computing.
[0057]
Since the DVD storage medium is initialized to zero and stored in the storage medium holding means 558, it is not necessary to perform parity adjustment when it is newly mounted.
[0058]
When the exchange is completed, data is sequentially written from the stripe 327680, and the redundant data generation means 670 is used to store Pn.
(Pn) = (data of new stripe k)
XOR (old Pn)
(However, k = n + 327680)
Write the result of the operation. Thereafter, processing is performed in the order of the stripe 327681 and P1.
[0059]
Thereafter, similarly, every time the DVD storage medium is full, the replacement of the DVD storage medium can be repeated and the writing can be continued. In this embodiment, it is assumed that the backup of the storage device 190 of the host computer 100 is completed in the middle of the DVD storage medium 513. Therefore, one set consists of four DVD storage media (511, 512, 513, and 521).
[0060]
● Effect
As described above, even if two DVD storage devices are shared by a plurality of DVD storage media by performing processing, the storage of the storage media is minimized and the storage is highly reliable and protected by redundant data. A system can be provided.
[0061]
Furthermore, since the storage medium is exchanged according to the capacity of the data to be written, only the necessary number of storage media is required. For example, in the case of this embodiment, four DVD storage media are used for backup of the storage device 190 of the host computer 100. When the backup process of this embodiment is performed with the system shown in FIG. 11, five DVD storage media are used. This is because the number of storage media is determined by the number of storage devices. In the present invention, even if the amount of data to be written fluctuates, only one storage medium may be used to hold redundant data, and data can be held efficiently and reliably.
[0062]
● Summary reading
In addition, when redundant data is created, Pn before writing (old Pn) is required, but the control unit 690 reads the old Pn collectively to the storage unit 650 via the storage device connection unit 601. As a result, the Pn generation process can be accelerated.
[0063]
● Lead processing
A read process in which the host computer 100 reads data from the disk array device 500 will be described. As the DVD storage medium, the four DVD storage media (511, 512, 513, and 521) used in the description of the write process are used.
[0064]
The case where the host computer 100 reads the data of stripe 0 will be described as an example. A read request from the host computer 100 is notified to the control unit 690 via the host connection unit 610. When the control means 690 determines that the stripe 0 is read, the control means 690 instructs the transport control means 640 to mount the DVD storage medium 511 on the DVD storage device 551. The transport control unit 640 controls the transport unit 559 to take out the DVD storage medium 511 from the storage medium holding unit 558 and mount it on the DVD storage device 551.
[0065]
When the control unit 690 receives a report indicating that the mounting is completed from the transport control unit 640, the control unit 690 reads the data of stripe 0 from the DVD storage medium 511 mounted on the DVD storage device 551 via the storage device control unit 601. And stored in the storage means 650. The control unit 690 transfers the data of stripe 0 held in the storage unit 650 to the host computer 100 via the host connection unit 610.
[0066]
● Multiple processing
Next, when the host computer 100 requests to read the stripe 163840, the DVD storage medium 512 can be replaced with the DVD storage medium 511 and mounted on the DVD storage device 551. The DVD storage medium 512 can also be mounted on the DVD storage device 552. By simultaneously mounting two storage media holding data (511 and 512 in this case) on two DVD storage devices, data can be transferred to the host computer at a higher speed.
[0067]
● Lead processing in case of failure
Next, a read process when a failure occurs during reading will be described. As the DVD storage medium, the four DVD storage media (511, 512, 513, and 521) used in the description of the write process are used. At the time of the write process, redundant data is created in the DVD storage medium 521. Therefore, even if one DVD storage medium out of the three DVD storage media (511, 512 and 513) cannot be read for some reason, Reading can be performed by a RAID mechanism.
[0068]
The case where the host computer 100 reads the data of stripe 0 will be described as an example. A read request from the host computer 100 is notified to the control unit 690 via the host connection unit 610. When the control means 690 determines that the stripe 0 is read, the control means 690 instructs the transport control means 640 to mount the DVD storage medium 511 on the DVD storage device 551. The transport control unit 640 controls the transport unit 559 to take out the DVD storage medium 511 from the storage medium holding unit 558 and mount it on the DVD storage device 551.
[0069]
When the control unit 690 receives a report indicating that the mounting is completed from the transport control unit 640, the control unit 690 reads the data of stripe 0 from the DVD storage medium 511 mounted on the DVD storage device 551 via the storage device control unit 601. An error occurs and data cannot be read out. The control means 690 tries to read several stripes in order to check whether only the stripe 0 of the DVD storage medium 511 can be read or whether the DVD storage medium 511 itself cannot be read. There are two processing methods: a partial failure in which only stripe 0 cannot be read, and a storage medium failure in which the DVD storage medium itself cannot be read.
[0070]
● Partial failure
If it is determined that the failure is a partial failure in which only stripe 0 cannot be read, the control means 690 (stripe 0 data) = (P0)
XOR (data of stripe 163840)
XOR (data of stripe 327680)
Is calculated, and three DVD storage media (512, 513, and 521) are mounted on the DVD storage device 552 in order, and the respective data are read out to the storage means 650. The control unit 650 uses the data restoring unit 660 to restore the data of stripe number 0 and transfers the data to the host computer 100 via the host connection unit 610. Then, the control means 690 tries to write the restored data of stripe 0 by assigning a replacement area to the DVD storage medium 511. Generally, a storage device has a function of allocating another area (alternate area) on a storage medium and holding data in response to a partial failure of the storage medium. After the main writing, verifying is performed to confirm that the data of the stripe 0 can be correctly written, so that the reliability is further improved.
[0071]
● When storage media fails
If it is determined that the DVD storage medium itself cannot be read, the control unit 690 executes processing for newly creating a copy of the DVD storage medium 511. First, the control unit 690 instructs the transport control unit 640 to unmount the DVD storage medium 511 and mount the unused storage medium 514 to the DVD storage device 551. As shown in FIG. 6, there are stripes from R0 to R163839 on the DVD storage medium.
[0072]
Then, a DVD storage medium 521 is mounted on the DVD storage device 552, and all data (P0 to P163839) of the DVD storage medium 521 is copied to the DVD storage medium 514 (R0 to R163839).
[0073]
When copying is completed, the control unit 690 unmounts the DVD storage medium 521 of the DVD storage device 552 and mounts the DVD storage medium 512. The control means 690 calculates Rn as follows.
[0074]
First, Rn before writing (referred to as “old Rn”) is read, and data of the stripe m number (m = n + 163840) is used.
(Rn) = (old Rn)
XOR (data of stripe m)
(However, m = n + 163840)
Is calculated. The control unit 690 calculates using the storage unit 650 and the data restoration unit 660, and updates R0 to R163839.
[0075]
Further, the control unit 690 unmounts the DVD storage medium 512 of the DVD storage device 552 and mounts the DVD storage medium 513. The control means 690 calculates Rn as follows.
[0076]
First, Rn before writing (referred to as “old Rn”) is read, and data of stripe k number (k = n + 327680) is used.
(Rn) = (old Rn)
XOR (data for stripe k)
(However, k = n + 327680)
Is calculated. The control unit 690 calculates using the storage unit 650 and the data restoration unit 660, and updates R0 to R163839.
[0077]
As described above, the same data (stripe 0 to stripe 163839) as the lost DVD storage medium 511 can be restored to the stripes R0 to R163839 of the DVD storage medium 514. Thereafter, by using the DVD storage medium 514 instead of the DVD storage medium 511, it is possible to completely recover from the failure. Similarly, even if the DVD storage medium 511 itself is lost for some reason, it can be restored by the same procedure.
[0078]
<< Second Embodiment >>
FIG. 7 is a diagram showing a schematic configuration of the storage system according to the embodiment of the present invention.
[0079]
● System configuration
The system configuration shown in FIG. 7 uses a hard disk device 553 instead of the DVD storage device 552 in the system configuration shown in FIG. The hard disk device 553 uses a non-removable storage medium. Also, although five DVD storage media are used, different numbers 531 to 535 are given to distinguish them from the first embodiment.
[0080]
● DVD storage media and hard disk drive
Also in this embodiment, a 5 GB DVD storage medium is used. A hard disk device having a capacity of 10 GB (= 5 GB × 2) is used. Instead of the 10 GB hard disk, two 5 GB hard disk devices may be used.
[0081]
● Data and redundant data placement
FIG. 8 shows the arrangement of data and redundant data. In this embodiment, the storage medium (531 to 534) that holds four pieces of data and the hard disk device 553 form one set.
[0082]
Also in this embodiment, the storage capacity per stripe is 32 KB, and there are 163840 stripes (0 to 163839) per DVD storage medium. Since the hard disk device 553 has a capacity of 10 GB, it can have 327680 stripes. The 327680 stripes are divided into two parts A0 to A163839 and B0 to B163839.
[0083]
In implementing this system, all DVD storage media and hard disk data are initialized to zero.
[0084]
Write process
The case where the host computer 100 writes data in the stripe 0 is described as an example. A write request from the host computer 100 is notified to the control unit 690 via the host connection unit 610. When the control unit 690 determines that the write of stripe 0 is performed, the control unit 690 instructs the transport control unit 640 to mount the DVD storage medium 531 on the DVD storage device 551. The transport control unit 640 controls the transport unit 559 to take out the DVD storage medium 531 from the storage medium holding unit 558 and mount it on the DVD storage device 551. The control unit 690 receives data to be written to the stripe 0 from the host computer 100 and holds it in the storage unit 650.
[0085]
When the control unit 690 receives a report from the conveyance control unit 640 that the mounting is completed, the control unit 690 writes data from the storage unit 650 to the stripe 0 via the storage device control unit 601. Further, A0 is calculated as follows.
[0086]
First, stripe 0 data before writing (referred to as “old stripe 0 data”) and A0 before writing (referred to as “old A0”) are read and data for stripe 0 to be written (“new stripe 0”). Data)),
(A0) = (data of new stripe 0)
XOR (old stripe 0 data)
XOR (old A0)
Is calculated. The result is written as A0.
[0087]
When a write request is received for a stripe stored in a different DVD storage medium, the control unit 690 uses the transfer control unit 640 and the transfer unit 559 to mount the corresponding DVD storage medium and perform processing. Do. In general, for writing with continuous stripes (writing with continuous stripes n, n + 1, n + 2...), The frequency of replacement of the DVD storage medium is low and there is no practical problem.
[0088]
● Lead processing
The read process in which the host computer 100 reads data from the disk array device 700 may be performed in the same manner as in the first embodiment, and is therefore omitted here.
[0089]
● Lead processing in case of failure
Since processing similar to that in the first embodiment may be performed when a partial failure occurs, only read processing when a recording medium failure occurs will be described. This embodiment will be described as a storage medium failure in which a failure occurs in the DVD storage medium of the DVD storage medium 531 and reading is impossible over the entire DVD storage medium.
[0090]
● When storage media fails
The case where the host computer 100 reads the data of stripe 0 will be described as an example. A read request from the host computer 100 is notified to the control unit 690 via the host connection unit 610. When the control unit 690 determines that the read of stripe 0 is performed, the control unit 690 mounts the DVD storage medium 531 on the DVD storage device 551, and reads the data of stripe 0. However, an error occurs and data cannot be read. The control means 690 tries to read several stripes of the DVD storage medium 531 and determines whether it is a partial failure or a storage medium failure. In the present embodiment, the control unit 690 determines that the DVD storage medium 531 itself cannot be read, and executes processing for newly creating a copy of the DVD storage medium 531.
[0091]
The control unit 690 instructs the transport control unit 640 to unmount the DVD storage medium 531 and mount the storage medium 532. When the mounting is completed, the control means 690 calculates Bn as follows.
[0092]
(Bn) = (An)
XOR (data of stripe m)
(However, m = n + 163840)
Is calculated. The control means 690 calculates using the storage means 650 and the data restoration means 660, and creates B0 to B163839.
[0093]
Further, the control unit 690 unmounts the DVD storage medium 532 of the DVD storage device 551 and mounts the DVD storage medium 533. The control means 690 calculates Bn as follows.
[0094]
First, Bn before writing (referred to as “old Bn”) is read, and data of stripe k number (k = n + 327680) is used.
(Bn) = (old Bn)
XOR (data for stripe k)
(However, k = n + 327680)
Is calculated. The control unit 690 calculates using the storage unit 650 and the data restoration unit 660, and updates B0 to B163839.
[0095]
Further, the control unit 690 unmounts the DVD storage medium 533 of the DVD storage device 551 and mounts the DVD storage medium 534. The control means 690 calculates Bn as follows.
[0096]
First, Bn before writing (referred to as “old Bn”) is read, and data of stripe j is used (j = n + 491520),
(Bn) = (old Bn)
XOR (stripe j data)
(However, j = n + 491520)
Is calculated. The control unit 690 calculates using the storage unit 650 and the data restoration unit 660, and updates B0 to B163839. As described above, all the data in the DVD storage medium 531 lost from B0 to B163839 can be restored.
[0097]
Then, the control unit 690 unmounts the DVD storage medium 534 of the DVD storage device 551 and mounts an unused DVD storage medium 535. When the mounting is completed, the control unit 690 copies all the data restored from B0 to B163839 of the hard disk device to the DVD storage medium 535. Thereafter, by using the DVD storage medium 535 instead of the DVD storage medium 531, it is possible to completely recover from the failure.
[0098]
If an unused DVD storage medium 535 is not prepared in the disk array device 700, data from B0 to B163839 can be handled as data from stripe 0 to stripe 163839.
[0099]
Thereafter, when a new unused DVD storage medium is inserted, copying from the hard disk device 553 can also be performed.
[0100]
【The invention's effect】
By constructing the system as described in this specification and retaining data and redundant data, it is possible to make use of the characteristics of removable storage media and build a large capacity and highly reliable storage system with a small number of storage devices. Can do. In the case of the present invention, it can be realized if there are at least two storage devices: a plurality of storage media, a storage device handling a removable storage medium for holding data, and a storage device holding redundant data. .
[0101]
In addition, the number of storage media that hold data changes according to the amount of data to be held, but basically the number of storage media that hold redundant data may be one, and the number of storage media that can be stored is small and the data is high. Can be held in trust.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of a storage system according to a first embodiment (configuration of two DVD storage devices).
FIG. 2 is a diagram showing an internal schematic configuration of a RAID control means.
FIG. 3 is a diagram illustrating an arrangement of data and redundant data in an initial state.
FIG. 4 is a diagram showing an arrangement of data and redundant data when one DVD storage medium is added from the state of FIG. 3;
FIG. 5 is a diagram showing an arrangement of data and redundant data when two DVD storage media are added from the state of FIG. 3;
FIG. 6 is a diagram showing an arrangement of data and redundant data when an unused storage medium is mounted.
FIG. 7 is a diagram showing a schematic configuration of a storage system according to a second embodiment (configuration of one DVD storage device and one hard disk device).
FIG. 8 is a diagram showing an arrangement of data and redundant data in the storage system according to the second embodiment.
FIG. 9 is a diagram showing a conventional disk array device using a hard disk device.
FIG. 10 is a diagram showing the arrangement of conventional data and redundant data.
FIG. 11
In the prior art, it is a figure which shows the disk array apparatus comprised using the removable storage medium.
FIG.
It is a figure which shows the disk array apparatus comprised using this invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Host computer, 101 ... Disk array apparatus, 109 ... SCSI bus, 105 ... RAID control means, 190 ... Storage device, 201 ... Disk array apparatus, 205 ... RAID control means, 301 ... Disk array apparatus, 305 ... RAID control means , 351 ... storage device, 352 ... storage device, 500 ... disk array device, 501 ... data holding means, 502 ... redundant data holding means, 551 ... DVD storage device, 552 ... DVD storage device, 553 ... hard disk device, 558 ... storage Media holding means, 559 ... transport means, 610 ... host connection means, 601 ... storage device connection means, 620 ... data bus, 630 ... control bus, 640 ... transport control means, 650 ... storage means, 660 ... data restoration means, 670 ... redundant data generation means, 690 ... control means, 7 0 ... disk array device 701 ... data holding means, 702 ... redundant data holding means

Claims (5)

n+1枚(nは自然数)の着脱可能な第1の記憶媒体群に対して、データの読み出しや書き込みを行うm台(m<n;mは自然数)のデータ記憶装置と、
第2の記憶媒体に対して、冗長データの読み出しや書き込みを行う冗長データ記憶装置と
制御手段とを設け、
前記制御手段は、
前記第1の記憶媒体群に対してデータの書き込みを行う際に、前記第一の記憶媒体群のうちm枚を前記m台のデータ記憶装置に装填し、前記第2の記憶媒体を前記冗長データ記憶装置に用意し、
前記冗長データ記憶装置に用意された前記第2の記憶媒体に、前記第1の記憶媒体群に書き込まれるデータから演算される冗長データを書き込むことを特徴とする記憶システム。
m (n <n; m is a natural number) data storage devices for reading and writing data to n + 1 (n is a natural number) removable first storage medium group;
A redundant data storage device that reads and writes redundant data to and from the second storage medium ;
Control means ,
The control means includes
When writing data to the first storage medium group, m of the first storage medium group are loaded into the m data storage devices, and the second storage medium is connected to the redundant storage medium. Prepare in the data storage device,
A storage system, wherein redundant data calculated from data written to the first storage medium group is written to the second storage medium prepared in the redundant data storage device.
前記制御手段は、
前記第1の記憶媒体群のうち前記m枚以外の第1の記憶媒体群にデータを書き込む際に、前記m枚以外の前記第1の記憶媒体群のうちのm枚を前記m台のデータ記憶装置に装填し、
前記第2の記憶媒体に記憶された前記冗長データと前記m台のデータ記憶装置に装填された前記第1の記憶媒体群に書き込まれるデータとから新たな冗長データを作成し、前記作成された冗長データで前記冗長データを更新して前記冗長データ記憶装置に記録することを特徴とする請求項1記載の記憶システム。
The control means includes
When writing data to the first storage medium group other than the m sheets in the first storage medium group, the m pieces of data in the first storage medium group other than the m sheets are used as the m pieces of data. Load it into the storage device
New redundant data is created from the redundant data stored in the second storage medium and data written in the first storage medium group loaded in the m data storage devices, and the created 2. The storage system according to claim 1, wherein the redundant data is updated with redundant data and recorded in the redundant data storage device.
請求項2の記載の記憶システムであって、
前記第2の記憶媒体が、着脱可能な記憶媒体であることを特徴とする記憶システム。
The storage system according to claim 2, wherein
The storage system, wherein the second storage medium is a removable storage medium.
請求項3記載の記憶システムにおいて、
前記第1の記憶媒体を格納する記憶媒体保持手段と、
前記記憶媒体保持手段から前記データ記憶装置に前記第1の記憶媒体を搬送する搬送手段とを設けたことを特徴とする記憶システム。
The storage system of claim 3.
Storage medium holding means for storing the first storage medium;
A storage system comprising: a transport unit configured to transport the first storage medium from the storage medium holding unit to the data storage device.
請求項4記載の記憶システムにおいて、
第1の記憶媒体の枚数をa、第2の記憶媒体の枚数をb、前記データ記憶装置及び前記冗長データ記憶装置のうち着脱可能な記憶媒体を扱う記憶装置の台数をcとすると、c<a+bであることを特徴とする記憶システム。
The storage system according to claim 4.
Assuming that the number of first storage media is a, the number of second storage media is b, and the number of storage devices handling removable storage media among the data storage device and the redundant data storage device is c < A storage system characterized by a + b.
JP06050997A 1997-03-14 1997-03-14 Reliable storage system using removable storage media Expired - Fee Related JP3620205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06050997A JP3620205B2 (en) 1997-03-14 1997-03-14 Reliable storage system using removable storage media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06050997A JP3620205B2 (en) 1997-03-14 1997-03-14 Reliable storage system using removable storage media

Publications (2)

Publication Number Publication Date
JPH10254644A JPH10254644A (en) 1998-09-25
JP3620205B2 true JP3620205B2 (en) 2005-02-16

Family

ID=13144361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06050997A Expired - Fee Related JP3620205B2 (en) 1997-03-14 1997-03-14 Reliable storage system using removable storage media

Country Status (1)

Country Link
JP (1) JP3620205B2 (en)

Also Published As

Publication number Publication date
JPH10254644A (en) 1998-09-25

Similar Documents

Publication Publication Date Title
US7975168B2 (en) Storage system executing parallel correction write
US8904129B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
US5315602A (en) Optimized stripe detection for redundant arrays of disk drives
US6279138B1 (en) System for changing the parity structure of a raid array
JP3742494B2 (en) Mass storage device
JP5285610B2 (en) Optimized method to restore and copy back a failed drive when a global hot spare disk is present
JP3316500B2 (en) Increase the number of drives in a RAID set while maintaining the integrity of the moved data
US6886075B2 (en) Memory device system and method for copying data in memory device system
JP5285611B2 (en) Optimized method to restore and copy back a disconnected drive when there is a global hot spare disk
US20030084397A1 (en) Apparatus and method for a distributed raid
JPWO2006123416A1 (en) Disk failure recovery method and disk array device
JPH06202817A (en) Disk array device and data updating method thereof
JPH10254648A (en) Storage device for storing portable media
WO2001040925A1 (en) Disk array system and method of expanding storage capacity
JP2005301419A (en) Disk array device and data processing method thereof
US20070214313A1 (en) Apparatus, system, and method for concurrent RAID array relocation
JP2000200157A (en) Disk array device and data restoration method in disk array device
JP2001043031A (en) Disk array controller provided with distributed parity generating function
US7826380B2 (en) Apparatus, system, and method for data tracking
JP3620205B2 (en) Reliable storage system using removable storage media
JP3669103B2 (en) Storage device and storage device subsystem
US5659677A (en) Data storage apparatus for disk array
JPH08286844A (en) Parity generation control method and disk control device
JP6976237B2 (en) Storage system, data management method, and data management program
JP3236166B2 (en) Cache control method and information processing device

Legal Events

Date Code Title Description
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: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041108

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

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees