JP3620205B2 - Reliable storage system using removable storage media - Google Patents
Reliable storage system using removable storage media Download PDFInfo
- 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
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,
[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
[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
(P0-3) = (data of stripe 0)
XOR (stripe 1 data)
XOR (
XOR (
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
[0008]
● Lead processing
First, a process in which the
[0009]
● Light processing
Next, a process in which the
[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 (
XOR (stripe 5 data)
XOR (
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
(Data of stripe 4) = (P4-7)
XOR (stripe 5 data)
XOR (stripe 6 data)
XOR (
To restore the data in the
[0014]
Of course, if the disk array device knows in advance that the
[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
[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
[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
(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
[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
[0034]
Two
[0035]
In this embodiment, twelve
[0036]
The
[0037]
The internal configuration of the
[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
[0040]
● Start mounting of storage media
The
[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
[0043]
● Mount end
When the mounting is completed, the
[0044]
● Data writing
The
[0045]
When the data has been written up to the stripes 163839 and P163839, all data has been written to the
[0046]
● Replacement of storage media
The
[0047]
It is also possible to notify the data transfer from the
[0048]
● Change of data and redundant data layout (2nd sheet)
FIG. 4 shows the arrangement of data and redundant data when the
[0049]
With the newly mounted
(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
[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
(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
(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
[0055]
The control means 690 instructs the transport control means 640 to take out the
[0056]
FIG. 5 shows the arrangement of data and redundant data when the
(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
[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
[0062]
● Summary reading
In addition, when redundant data is created, Pn before writing (old Pn) is required, but the
[0063]
● Lead processing
A read process in which the
[0064]
The case where the
[0065]
When the
[0066]
● Multiple processing
Next, when the
[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
[0068]
The case where the
[0069]
When the
[0070]
● Partial failure
If it is determined that the failure is a partial failure in which only
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
[0071]
● When storage media fails
If it is determined that the DVD storage medium itself cannot be read, the
[0072]
Then, a
[0073]
When copying is completed, the
[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
[0075]
Further, the
[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
[0077]
As described above, the same data (
[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
[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
[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
[0083]
In implementing this system, all DVD storage media and hard disk data are initialized to zero.
[0084]
Write process
The case where the
[0085]
When the
[0086]
First,
(A0) = (data of new stripe 0)
XOR (
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
[0088]
● Lead processing
The read process in which the
[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
[0090]
● When storage media fails
The case where the
[0091]
The
[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
[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
[0095]
Further, the
[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
[0097]
Then, the
[0098]
If an unused
[0099]
Thereafter, when a new unused DVD storage medium is inserted, copying from the
[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
Claims (5)
第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の記憶媒体が、着脱可能な記憶媒体であることを特徴とする記憶システム。The storage system according to claim 2, wherein
The storage system, wherein the second storage medium is a removable storage medium.
前記第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.
第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.
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) |
-
1997
- 1997-03-14 JP JP06050997A patent/JP3620205B2/en not_active Expired - Fee Related
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 |