JP3620205B2 - 着脱可能な記憶媒体を使用した高信頼記憶システム - Google Patents
着脱可能な記憶媒体を使用した高信頼記憶システム 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
【発明の属する技術分野】
本発明は、着脱可能な記憶媒体と、着脱可能な記憶媒体に対して読み出しや書き込みを行う光磁気ディスク装置や、光ディスク装置、磁気ディスク装置などの記憶装置を利用し、大容量かつ高信頼な記憶システムを実現する制御手法に関し、特に、着脱可能な記憶媒体の総枚数よりも少ない記憶装置で実現する制御手法に関する。
【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…冗長データ保持手段
Claims (5)
- n+1枚(nは自然数)の着脱可能な第1の記憶媒体群に対して、データの読み出しや書き込みを行うm台(m<n;mは自然数)のデータ記憶装置と、
第2の記憶媒体に対して、冗長データの読み出しや書き込みを行う冗長データ記憶装置と、
制御手段とを設け、
前記制御手段は、
前記第1の記憶媒体群に対してデータの書き込みを行う際に、前記第一の記憶媒体群のうちm枚を前記m台のデータ記憶装置に装填し、前記第2の記憶媒体を前記冗長データ記憶装置に用意し、
前記冗長データ記憶装置に用意された前記第2の記憶媒体に、前記第1の記憶媒体群に書き込まれるデータから演算される冗長データを書き込むことを特徴とする記憶システム。 - 前記制御手段は、
前記第1の記憶媒体群のうち前記m枚以外の第1の記憶媒体群にデータを書き込む際に、前記m枚以外の前記第1の記憶媒体群のうちのm枚を前記m台のデータ記憶装置に装填し、
前記第2の記憶媒体に記憶された前記冗長データと前記m台のデータ記憶装置に装填された前記第1の記憶媒体群に書き込まれるデータとから新たな冗長データを作成し、前記作成された冗長データで前記冗長データを更新して前記冗長データ記憶装置に記録することを特徴とする請求項1記載の記憶システム。 - 請求項2の記載の記憶システムであって、
前記第2の記憶媒体が、着脱可能な記憶媒体であることを特徴とする記憶システム。 - 請求項3記載の記憶システムにおいて、
前記第1の記憶媒体を格納する記憶媒体保持手段と、
前記記憶媒体保持手段から前記データ記憶装置に前記第1の記憶媒体を搬送する搬送手段とを設けたことを特徴とする記憶システム。 - 請求項4記載の記憶システムにおいて、
第1の記憶媒体の枚数をa、第2の記憶媒体の枚数をb、前記データ記憶装置及び前記冗長データ記憶装置のうち着脱可能な記憶媒体を扱う記憶装置の台数をcとすると、c<a+bであることを特徴とする記憶システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06050997A JP3620205B2 (ja) | 1997-03-14 | 1997-03-14 | 着脱可能な記憶媒体を使用した高信頼記憶システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06050997A JP3620205B2 (ja) | 1997-03-14 | 1997-03-14 | 着脱可能な記憶媒体を使用した高信頼記憶システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10254644A JPH10254644A (ja) | 1998-09-25 |
JP3620205B2 true JP3620205B2 (ja) | 2005-02-16 |
Family
ID=13144361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06050997A Expired - Fee Related JP3620205B2 (ja) | 1997-03-14 | 1997-03-14 | 着脱可能な記憶媒体を使用した高信頼記憶システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3620205B2 (ja) |
-
1997
- 1997-03-14 JP JP06050997A patent/JP3620205B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10254644A (ja) | 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 | |
JP3742494B2 (ja) | 大容量記憶装置 | |
JP5285610B2 (ja) | グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法 | |
US6279138B1 (en) | System for changing the parity structure of a raid array | |
JP3316500B2 (ja) | 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張 | |
US6886075B2 (en) | Memory device system and method for copying data in memory device system | |
JP5285611B2 (ja) | グローバルホットスペアディスクが存在するときに、切断されたドライブを復元、及びコピーバックする最適化された方法 | |
US20030084397A1 (en) | Apparatus and method for a distributed raid | |
JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
JPH06202817A (ja) | ディスクアレイ装置及びそのデータ更新方法 | |
JPH10254648A (ja) | 可搬メディアを収納する記憶装置 | |
WO2001040925A1 (fr) | Batterie de disques et procede d'extension de sa capacite | |
JP2005301419A (ja) | ディスクアレイ装置およびそのデータ処理方法 | |
US7826380B2 (en) | Apparatus, system, and method for data tracking | |
US20070214313A1 (en) | Apparatus, system, and method for concurrent RAID array relocation | |
JP2000200157A (ja) | ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法 | |
JP2001043031A (ja) | 分散パリティ生成機能を備えたディスクアレイ制御装置 | |
JP3620205B2 (ja) | 着脱可能な記憶媒体を使用した高信頼記憶システム | |
JP3669103B2 (ja) | 記憶装置および記憶装置サブシステム | |
JPH08286844A (ja) | パリティ生成制御方法およびディスク制御装置 | |
JP3236166B2 (ja) | キャッシュ制御方法および情報処理装置 | |
US8667218B2 (en) | Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series | |
JP2570614B2 (ja) | デイスクアレイ装置 |
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 |