JPH08194587A - データ記憶ライブラリ・システム及び関連する装置・方法 - Google Patents

データ記憶ライブラリ・システム及び関連する装置・方法

Info

Publication number
JPH08194587A
JPH08194587A JP7265972A JP26597295A JPH08194587A JP H08194587 A JPH08194587 A JP H08194587A JP 7265972 A JP7265972 A JP 7265972A JP 26597295 A JP26597295 A JP 26597295A JP H08194587 A JPH08194587 A JP H08194587A
Authority
JP
Japan
Prior art keywords
parity
data
block
update
striping
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.)
Granted
Application number
JP7265972A
Other languages
English (en)
Other versions
JP3184748B2 (ja
Inventor
Daniel A Ford
ダニエル・アレクサンダー・フォード
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08194587A publication Critical patent/JPH08194587A/ja
Application granted granted Critical
Publication of JP3184748B2 publication Critical patent/JP3184748B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1014Compression, i.e. RAID systems with parity using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】 媒体装着回数を低減することによりシステム
・パフォーマンスを改善する。 【解決の手段】 媒体ユニットは、データを複数組また
はパリティ・グループのデータ・ブロックと1つの対応
するパリティ・ブロックとして格納する、冗長グループ
単位に配置される。新しいデータを書き込む場合は、パ
リティ更新を計算し、これを磁気固定ディスク・ドライ
ブなどの不揮発性記憶装置のパリティ・ログに格納す
る。次に、新しいデータ・ブロックを媒体ユニットに書
き込むが、パリティ更新を計算するときに古いパリティ
・ブロックを収容する媒体ユニットが装着されていない
場合は、対応する新しいパリティ・ブロックを書き込ま
ない。すでに装着されている場合は、パリティ更新をロ
ギングせずに、パリティ更新に基づいて新しいパリティ
・ブロックを計算し、この新しいパリティ・ブロックを
媒体ユニットに書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、光ディスクやテー
プ・カートリッジなどの取外し可能媒体のデータ記憶ラ
イブラリ・アレイに関し、より具体的には、冗長パリテ
ィ情報の処理が改善されたこのようなアレイに関する。
【0002】
【従来の技術】光ディスクまたは磁気テープ・ライブラ
リ(「ジュークボックス」ともいう)は、ホスト・コン
ピュータ・システムからのアクセス要求に応答してドラ
イブに複数ユニットの記憶媒体(たとえば、ディスクま
たはテープ・カートリッジ)を装着可能な機械式装置で
ある。通常、1つのライブラリは、1つまたは複数のド
ライブの組と、未装着媒体用の保管エリアと、記録媒体
と、記憶装置とドライブとの間で記録媒体を移動させる
ロボット・ピッカー機構(1つまたは複数)とを含む。
ライブラリの物理サイズは、1000個以上の媒体ユニ
ットを収容する小部屋のサイズから、8個程度の媒体ユ
ニットしか収容しないデスク・トップ・ユニットまでの
範囲である。最大ライブラリ・システムの記憶容量はテ
ラバイト規模であるのに対し、最小ライブラリは1ギガ
バイト程度の容量しかないようである。
【0003】ライブラリ・システムは、多くの応用分野
で使用され、一般に十分その機能を果たしている。しか
し、従来のシステムの信頼性、パフォーマンス、フレキ
シビリティの点では、改善の余地がかなりある。たとえ
ば、ほとんどのライブラリは、そのドライブとの間で媒
体を移送するためのピッカー機構を1つしか備えていな
い。この特徴が、1つの機械的障害点であり、ライブラ
リの信頼性の重大な弱点を表している。ピッカーが故障
した場合、ピッカーを修理するまでこのようなライブラ
リに格納されているすべてのデータ(おそらく、テラバ
イト規模)がアクセス不能になる。
【0004】1993年10月25日出願の米国特許出
願第142534号には、個別の記憶ユニット上に冗長
パリティ情報を格納することによって取外し可能媒体に
格納されたデータを保護する、独立ライブラリの冗長ア
レイ(RAIL)が記載されている。磁気固定ディスク
のアレイ内の冗長パリティ情報の配置に関する様々な構
成は、Patterson他による"A Case for Redundant Array
s of Inexpensive Disks (RAID)"(Proceedings of ACM
SIGMOD, Chicago, Illinois, 1988年6月1〜3
日、109〜116ページ)に記載されている。RAI
Lパリティ記憶ユニットは、データの格納に使用される
ような別のユニットの取外し可能媒体である場合が多
い。データ媒体ユニットからデータを読み取る場合、パ
リティを格納ユニットではなく、そのユニットだけをア
レイに装着する必要がある。しかし、データを書き込む
場合は、データ媒体ユニットとパリティ媒体ユニットの
両方をドライブに装着し、それぞれの値を両方とも更新
させる必要がある。このように1回の書込みを行うため
に2つの個別の媒体ユニットの装着が必要であるため
に、取外し可能媒体から構築した大容量記憶システムに
はパフォーマンス上の厳しい不利な条件が課せられるこ
とがある。これは、媒体ユニットの装着および取外しに
必要な時間が、取外し可能媒体のすべてのライブラリの
重要なパフォーマンス制限になっているからである。ラ
イブラリ内の個別の媒体ユニットへのアクセス速度は、
ピッカーがドライブとの間でそのユニットを移動できる
速度に限定される。光ディスク・ライブラリはディスク
交換を完了するのに数10秒を要する場合があり、テー
プ・ライブラリが要する時間はそれよりかなり長い。
【0005】磁気固定ディスクのRAIDシステムで
は、新しいパリティの書込み効率を改善するためにパリ
ティ・ロギング技法が提案されている。ロギングとは、
数多くの小規模操作を1つのより大きくより効率的な操
作に変換することにより、コンピュータ・データ記憶シ
ステムのパフォーマンスを改善する周知の技法である。
RAIDシステム用に提案されたパリティ・ロギング技
法は、小規模の単一ブロック転送をより大きくより効率
的なトラックおよびシリンダ転送に変換することによ
り、小規模書込みのパフォーマンスを改善することがシ
ミュレーションによって判明している。この技法は、St
odolsky他による"Parity logging - Overcoming the Sm
all Write Problem in Redundant Disk Arrays"(20th
Ann. Int. Symposium on Computer Architecture, 19
93年5月16〜19日、San Diego,CA.)に記載され
ている。しかし、このような技法はRAIL記憶システ
ムではあまり価値がない。というのは、磁気固定ディス
クのRAIDシステムとは異なり、パフォーマンス上の
重大なボトルネックは、媒体データ転送操作の時間によ
る不利な条件ではなく、むしろ、媒体装着の時間による
不利な条件であるからである。たとえば、典型的な光デ
ィスク・ドライブでは、1枚の光ディスクの交換に要す
る時間に400〜500回のランダム単一ブロック・ア
クセスを実行することができる。また、このような技法
では、一定の組のパリティ・ログ・ブロック(パリティ
・ログ領域という)がパリティ・ブロックとパリティ更
新ブロックとの厳密な1対1のマッピングによって保存
され、これにより、格納が必要な冗長データの量が効果
的に2倍になっている。格納されるパリティ情報の量が
非常に大きくなる(システムによってはおそらくテラバ
イト規模)と予想されるライブラリ・アレイでは、これ
は実現不能である。パリティ・ログを格納するためにこ
れに匹敵する量の磁気固定ディスクまたはその他の不揮
発性記憶装置を用意することは、経済的およびアーキテ
クチャ上の抑制になると思われる。
【0006】
【発明が解決しようとする課題】効率よくしかも確実に
冗長パリティ情報を処理するためのシステムを含む、取
外し可能媒体のライブラリのデータ記憶アレイが要求さ
れている。
【0007】
【課題を解決するための手段】本発明は、媒体装着回数
を低減することによりシステム・パフォーマンスを改善
するために、パリティ・ロギングおよび固有のパリティ
更新再統合技法を含む、取外し可能媒体ユニットのライ
ブラリのデータ記憶アレイである。このアレイは複数の
データ記憶ドライブを含み、それぞれのドライブが少な
くとも2つの取外し可能媒体ユニットからなる関連の組
を有する。媒体ユニットは、データを複数組のデータ・
ブロックと1つの対応するパリティ・ブロックとして格
納する、冗長グループ単位に配置される。新しいデータ
を書き込む場合は、パリティ更新を計算し、これを磁気
固定ディスク・ドライブなどの不揮発性記憶装置のパリ
ティ・ログに格納する。次に、更新すべき対応するパリ
ティ・ブロックを収容する媒体ユニットが装着されてい
ない場合は、対応する新しいパリティ・ブロックを書き
込まずに、新しいデータ・ブロックを媒体ユニットに書
き込む。これにより、パリティを収容する媒体を装着す
る必要性が、その後のより効率的な時期まで遅延され
る。パリティ更新を計算するときに更新すべきパリティ
・ブロックを収容する媒体ユニットがすでに装着されて
いる場合は、パリティ更新をロギングせずに、新しいパ
リティ・ブロックを計算し、これを媒体ユニットに書き
込む。読取りまたは書込み操作を行うために更新すべき
パリティ・ブロックを収容する媒体ユニットをドライブ
に装着すると、パリティ・ログからパリティ更新を取り
出し、新しいパリティ・ブロックを計算し、これをその
媒体ユニットに書き込む。論理的に先行するストライプ
化増分に対応するパリティを収容する同一媒体ユニット
上に論理的に連続する次のストライプ化増分が置かれる
ように、複数の媒体ユニット間にデータ・ブロックのス
トライプ化増分をマッピングするパリティ追跡ストライ
プ化によって、パリティ更新の再統合が強化される。
【0008】本発明の特徴および利点をさらに十分理解
するため、添付図面とともに以下の詳細な説明を参照さ
れたい。
【0009】
【発明の実施の形態】ライブラリ・アレイは、コンピュ
ータまたはコントローラに接続され、データの論理ユニ
ットが全ライブラリ中の複数のライブラリに格納される
ように編成された、2つ以上のライブラリを含む。図1
は、このシステムを示している。ライブラリ・アレイの
コンピュータ100は、メイン・メモリまたは不揮発性
2次記憶装置(たとえば、固定ディスク400)のいず
れかに格納されたバッファ101と、典型的なインタフ
ェース・バス200に接続された典型的なコントローラ
102などの1つまたは複数のインタフェース・コント
ローラ(アレイ内で使用するそれぞれのインタフェース
・バスごとに1つずつ)とを含む。バッファ101は、
ライブラリにアクセスせずに今後の要求の一部を解決で
きるように、最近のライブラリ・アクセス要求の結果を
格納する。一部のバッファ101は、データがライブラ
リ・アレイとコンピュータ100との間を移動するとき
にデータを再編成するためにも使用する。コンピュータ
100は、ネットワーク201などの通信チャネルに接
続することができ、それにより、コンピュータは要求と
データの送受信を行う。
【0010】典型的なバス200など、アレイ内の各イ
ンタフェース・バスには、典型的なライブラリ・ストリ
ング300などの取外し可能記憶媒体(光ディスクまた
はテープ・カートリッジ)からなる1つまたは複数のラ
イブラリが接続されている。このアレイは、1つのイン
タフェース・コントローラに接続された個々のライブラ
リ(コントローラ102に接続されたバス200上のラ
イブラリ300など)だけでなく、システム内の他のバ
ス上の他のすべてのライブラリも含んでいる。また、コ
ンピュータ100には、インタフェース・バス110に
よってコントローラ112に接続された典型的な光ディ
スクまたは磁気固定ディスク400など、いくつかの他
の2次記憶装置も接続されている。コンピュータ100
上ではソフトウェア・ルーチン103が動作し、記憶装
置に関するアクセス要求を受け入れ、その要求をアレイ
内の全ライブラリ中の1つまたは複数のライブラリへの
1つまたは複数のアクセス要求に変換する。
【0011】アレイによって表されるライブラリ記憶装
置へのアクセス要求を、アレイを構成する個々のライブ
ラリへの要求に変換する方法は、アレイ自体の構成によ
って異なる。様々なタイプのアレイ・アーキテクチャを
区別する特徴は、データをライブラリ間に分散する方法
と、冗長データの配置である。
【0012】好ましい実施例 本発明の好ましい実施例は、図2に示されており、16
メガバイトの半導体メイン・メモリ502を備えたIB
M PS/2モデル80の形態のホスト・コンピュータ
500と、コンピュータ500に接続された100メガ
バイトの磁気ディスク・ドライブ519と、4つのIB
Mモデル3995光ディスク・ライブラリ520、54
0、560、580という主要構成要素を含んでいる。
ホスト・コンピュータ500は、特定のソフトウェア・
アプリケーションを実行することが役割である他のコン
ピュータからなるネットワーク内のように、ライブラリ
でのデータ記憶および検索を管理することが主な役割で
ある専用コンピュータであってもよい。あるいは、コン
ピュータ500は、他のソフトウェア・アプリケーショ
ンを実行するとともに、ライブラリでのデータ記憶を管
理することもできる。
【0013】ライブラリ520、540、560、58
0は、個々の業界標準の小型コンピュータ・システム・
インタフェース(SCSI)バスによってコンピュータ
500に接続され、これらのバスはそれぞれのSCSI
コントローラ/アダプタ510、512、514、51
6に接続されている。それ以外のシステムのハードウェ
アおよびソフトウェア副構成要素は、コンピュータ50
0およびライブラリ520、540、560、580の
内部に常駐している。媒体装着およびドライブ・アクセ
スなど、データおよびパリティの書込みを管理するため
のルーチンを含むデータ記憶管理ソフトウェア・プログ
ラムは、磁気固定ディスク・ドライブ519に格納され
ている。動作時には、必要なときにプログラムのコピー
またはプログラムの各部がコンピュータ500のメイン
・メモリ502にロードされる。SCSIバス・コント
ローラ/アダプタ510、512、514、516に加
え、コンピュータ内のハードウェアとしては、固定ディ
スク・ドライブ519に接続されたSCSIバス・コン
トローラ/アダプタ517と、ランダム・アクセス・メ
モリ・バッファ508などがある。
【0014】それぞれのライブラリ520、540、5
60、580の内部には4つの光ディスク・ドライブが
あり、第1のライブラリ520内にはドライブ521〜
524、第2のライブラリ540内にはドライブ541
〜544、第3のライブラリ560内にはドライブ56
1〜564、第4のライブラリ580内にはドライブ5
81〜584がある。それぞれのライブラリ520、5
40、560、580は、光ディスク用の格納空間と、
ディスクを装着し、ドライブからディスクを取り外すた
めのピッカーも含んでいる。
【0015】本発明で使用するために説明するデータ・
アーキテクチャはRAID5アーキテクチャである。R
AID5アーキテクチャでは、使用可能なすべての記憶
ユニット(たとえば、光ディスク・ライブラリの場合は
個々のドライブ上の取外し可能光ディスク)間にデータ
とパリティが分散または「ストライプ化」される。通
常、1組(または冗長グループ)に含まれる「N+1」
個の記憶ユニット内のアドレス可能ブロックは、複数の
同一サイズのストライプ化増分に分割される。1つのス
トライプ化増分は単一ブロックにすることもできるが、
通常は複数のブロックで構成される。冗長グループ内の
各記憶ユニットは同じ数のストライプ化増分を収容して
いる。同じ記憶ユニット物理ブロック・アドレス範囲を
有する冗長グループ内の各記憶ユニットからのストライ
プ化増分が1つのデータ・セット(パリティ・グループ
ともいう)を形成する。それぞれのパリティ・グループ
は、N個のデータ・ストライプ化増分と、そのパリティ
・グループの残りに関するパリティを収容する記憶ユニ
ット上の1つのパリティ・ストライプとを有する。たと
えば、N=3の場合、ドライブ521、541、56
1、581に関連する媒体ユニット間にデータとパリテ
ィをストライプ化することができる。第1のパリティ・
グループは、ドライブ521、541、561内の媒体
ユニット上に複数のデータ・ブロックを置き、ドライブ
581内の媒体ユニット上にパリティを置くはずであ
る。追加のパリティ・グループはそれぞれ1つのパリテ
ィ・ストライプを有するが、そのパリティ・ストライプ
は様々な媒体ユニット上に分散される。したがって、た
とえば、第2のパリティ・グループは、ドライブ521
内の媒体ユニット上に置かれた1つのパリティ・ストラ
イプを有するはずである。RAID5アーキテクチャの
限界は、データ・ブロックに変更を加える場合、古いデ
ータ・ブロックを読み取り、古いパリティを読み取り、
新しいパリティを再構築し、新しいデータ・ブロックと
新しいパリティを書き込む必要がある点である。したが
って、取外し可能媒体を使用したライブラリの場合、新
しいデータと新しいパリティを書き込むには、データを
格納した媒体ユニットとパリティを格納した媒体ユニッ
トの両方を装着する必要がある。本発明の主題は、この
問題の解決策である。
【0016】RAILパリティ・ロギング 本発明では、RAILシステムにデータ・ブロックを書
き込む場合、新しいデータ・ブロックを受け入れ、不揮
発性バッファに格納する。古いデータ・ブロックを収容
した媒体ユニットが現在装着されていない場合は装着要
求を出し、完了すると、媒体ユニットに格納されている
ブロックの内容を取り出して、別のバッファに格納す
る。次に、そのブロックの新旧両バージョンの排他論理
和(XOR)を取ってパリティ更新を形成し、それをバ
ッファ(古いデータ・ブロックと同じバッファである可
能性がある)に格納する。新しいデータは媒体ユニット
に書き込まれ、パリティ更新は不揮発性記憶装置に維持
されているパリティ・ログに格納される。キャッシュが
存在する場合は、そのキャッシュにデータを格納し、そ
のキャッシュからデータを取り出すことができる。
【0017】パリティ・ログは、アレイ内の各媒体ユニ
ットごとに1つずつ、パリティ更新ブロックの連係リス
トとして編成される。パリティ・ログ内のパリティ更新
ブロックと媒体ユニット上のパリティ・ブロックとの間
には固定マッピングがなく、更新ブロックはパリティ・
ログ内で連続する必要もない。この手法は、前述のStod
olskyの論文に記載されているような、パリティ・ブロ
ックとパリティ更新ブロックとの間の厳密な1対1のマ
ッピングで一定の組のパリティ・ログ・ブロック(パリ
ティ・ログ領域という)を保存する、磁気ディスク・パ
リティ・ロギングとは異なるものである。
【0018】パリティ・ロギング・シナリオの一例につ
いては、図3に示し、図2のライブラリ・アレイを参照
して説明する。4つのドライブ521、541、56
1、581(それぞれ4つのライブラリ520、54
0、560、580の1つからのドライブである)のそ
れぞれは2つの光ディスクとともに示されているが、各
ディスクは個別の媒体ユニットである。一度に関連のド
ライブに装着できるのは2つのディスクのうちの1つだ
けである。媒体0と4は第1のライブラリ520に含ま
れ、媒体1と5は第2のライブラリ540に含まれ、媒
体2と6は第3のライブラリ560に含まれ、媒体3と
7は第4のライブラリ580に含まれている。このアレ
イは、それぞれがRAID5アーキテクチャを使用する
2つの冗長グループまたは論理ユニットAおよびB(そ
れぞれ、媒体0〜3と媒体4〜7)として編成されてい
る。1つの論理ユニットは、複数の固定長ブロックから
なる線形アドレス可能な個別のシーケンスである。RA
ILアーキテクチャは、その記憶容量を単一論理ユニッ
トまたは複数(容量が小さい)論理ユニットとして提示
することができる。各論理ユニットは、アレイ内の取外
し可能媒体のいずれかの組にまたがるデータ・ブロック
としてそのデータをストライプ化する。
【0019】図3の例の論理ユニットのストライプ化増
分はいずれもブロック4つずつである(たとえば、媒体
0上のブロック00〜03が1つのストライプ化増分に
なる)。1つのデータ・セットまたはパリティ・グルー
プは、冗長グループの同一物理アドレス・ブロック内の
3つのストライプ化増分(たとえば、論理ユニットAの
媒体ユニット0〜2のそれぞれのブロック00〜03)
と、これに対応するパリティ・ストライプ(たとえば、
媒体3のブロック00〜03)になる。論理ユニットA
またはBのいずれかの媒体を装着し、アクセスすること
ができる。図3の例では、論理ユニットAの媒体0はラ
イブラリ520のドライブ521に装着され、論理ユニ
ットBの媒体5、6、7はそれぞれのライブラリのドラ
イブに装着されている(図3の媒体の周囲の実線は、そ
の媒体が装着されていることを意味する)。論理ユニッ
トAの媒体1、2、3と論理ユニットBの媒体4は未装
着であるか、またはそれぞれのライブラリ内に格納され
ており、ピッカーによって取り出された場合のみアクセ
ス可能になる。このアレイ用のパリティ・ログは、容量
が8ブロックの個別のブロック・シーケンスとして示さ
れており、不揮発性メモリ(すなわち、磁気固定ディス
ク・ドライブ519)に格納される。
【0020】図3の例は、論理ユニットAおよびBの両
方のブロックに対して変更データの一連の書込みを行っ
た後のアレイの状態を示している。これらの書込みは、
媒体0のブロック00、媒体5のブロック14〜15、
媒体6のブロック10、媒体7のブロック12〜13に
マッピングされている。媒体0のブロック00への書込
みによって、未装着媒体3のブロック00にあるパリテ
ィ・ブロックが古くなってしまった。媒体3は未装着な
ので、パリティ更新値(新しいデータと媒体0のブロッ
ク00の古いデータとのXORを取ることによって計算
したもの)はブロック00のパリティ・ログに格納され
る。同様に、媒体5のブロック14〜15と媒体7のブ
ロック12〜13への書込みによって、媒体4のブロッ
ク12〜15に格納されている対応するパリティが古く
なってしまった。これらのパリティ更新値は、ブロック
03から始まるブロックの連係リストとしてパリティ・
ログに格納される。
【0021】図3に示すように、パリティ・ログ内のパ
リティ更新値のブロックは連続していない。後述するパ
リティ再統合プロセスの態様の一部は、パリティ・ログ
内のブロックが連続していれば改善される可能性がある
が、連続性を備えるには、固定記憶割振り(アレイ内の
各パリティ・ブロックごとに1つずつ)か、または相当
な再編成オーバヘッドを必要とするはずであり、それに
より、パリティ再統合のパフォーマンスの増加分が打ち
消される可能性がある。
【0022】媒体6のブロック10への書込みによっ
て、パリティ更新を計算する(古いデータと新しいデー
タとのXORを取ることによる)ことができ、新しいパ
リティ・ブロックを計算する(パリティ更新と古いパリ
ティ・ブロックとのXORを取ることによる)ことがで
き、媒体5がすでに装着されているので媒体5のブロッ
ク10に書き込むことができた。したがって、このパリ
ティ更新を行っても、パリティ・ログへの入力は行われ
ない。パリティ・ブロックを収容する媒体がすでに装着
されている場合はパリティ更新をロギングしないという
この手法は、磁気ディスクのRAIDシステム用に提案
されたパリティ・ロギングの動作とはまったく異なるも
のである。前述のStodolskyの論文に記載されたその技
法では、パリティ更新値がロギングされ、1つのトラッ
ク(またはその他の大きい単位)全体がデータ転送に使
用可能になるまで、新しいパリティの計算と書込みが遅
延される。このため、パリティの更新は単一ブロック更
新より効率的なものになる。原則として、この技法はR
AIL記憶システムに装着された媒体へのパリティ更新
も改善するはずであるが、実際には取外し可能媒体に固
有の他の問題の方が優勢である。取外し可能媒体のアレ
イの各媒体ユニットは、即時取外しの対称であり、ホス
ト・コンピュータからの特定の作業負荷の要求によって
いつでも選択される可能性がある。媒体取外し時までパ
リティ再統合を遅延すると、その取外しが遅延され、パ
フォーマンスが低下する。また、パリティ更新値をパリ
ティ・ログ内に残し、新しいパリティを書き込まない
と、パリティ・ログが混乱し、パリティ・ログをフラッ
シュして今後の書込み用の空間を作るために、後で不要
な装着を行わざるを得なくなる可能性もある。要約する
と、媒体の装着と取外しは時間的な不利な条件の点で非
常に高価なものなので、媒体がすでに装着されていると
きに新しいパリティを書き込む機会を逸すると、ライブ
ラリ・アレイのパフォーマンスが著しく低下する恐れが
ある。
【0023】パリティ更新の便宜的再統合 RAILシステムにパリティ・ロギングを使用する本発
明の重要な態様の1つは、パリティの便宜的再統合であ
る。これは、新しいパリティの書込み以外の理由(すな
わち、データの読取りまたは書込み)で未装着媒体ユニ
ットが装着されるまで、その媒体ユニットに関するパリ
ティ・ログから新しいパリティへのパリティ更新値の再
統合が遅延されることを意味する。データ・アクセスの
ために媒体ユニットが装着されるまで新しいパリティの
書込みを遅延することにより、パリティ書込みはデータ
・アクセスに関連する装着時オーバヘッドに付加され
る。データ・ストライプ化がもたらす特徴的なアクセス
・スキューの「平坦化」は、冗長グループ内の媒体ユニ
ット間にデータの小片(ストライプ化増分)を規則正し
く分散するので、その結果、アレイ内のすべての媒体ユ
ニットが定期的に装着され、その装着と同時に、パリテ
ィ・ログからの格納済みパリティ更新値を使用して後で
新しいパリティの書込みが行われることになる。
【0024】媒体4のブロック02の書込み後の図3の
アレイの状態を図4に示す。ブロック02に書き込むた
めに媒体4を装着した結果、パリティ・ログに格納され
ているパリティ更新に基づいて、新しいパリティを媒体
4のブロック12〜15に再統合する機会が得られた。
(実際のプロセスは、媒体4のパリティ・ブロック12
〜15に対応するパリティ更新をパリティ・ログから取
り出し、媒体4の古いパリティ・ブロック12〜15を
読み取り、取り出したパリティ更新と古いパリティとの
XORを取って新しいパリティを計算し、新しいパリテ
ィを媒体4のブロック12〜15に書き込むというもの
である。)
【0025】媒体4のブロック02用のパリティは媒体
7のブロック02に置かれる。媒体7は現在装着されて
いるので、新しいパリティ・ブロック02が計算され、
新しいデータの書込みと同時に媒体4のブロック02に
書き込まれる。(実際のプロセスは、媒体4のブロック
02に入っている古いデータを読み取り、新しいデータ
とのXORを取ってパリティ更新を計算し、媒体7のブ
ロック02に入っている古いパリティを読み取り、計算
したばかりのパリティ更新とのXORを取って新しいパ
リティを計算し、新しいパリティを媒体7のブロック0
2に書き込むというものである。)媒体3用のパリティ
更新はそのままパリティ・ログに残り、今後行われる媒
体3へのデータ・アクセスを待つ。
【0026】パリティ追跡ストライプ化 パリティ再統合の機会の頻度と適時性を従来のストライ
プ化で得られるもの以上に高めることができれば、アレ
イのパフォーマンスが改善され、パリティ・ログのサイ
ズが低減される。媒体ユニットへのストライプ化増分の
割当てを操作すると、便宜的パリティ再統合の頻度を高
めることができる。ストライプ化増分を媒体ユニットに
マッピングする従来の方式では、ある連続媒体ユニット
から次の媒体ユニットへ論理的に連続するストライプ化
増分がラウンドロビン方式で分散される。ストライプ化
増分を媒体ユニットにマッピングする従来のラウンドロ
ビン方式の一例を図5に示す。論理ストライプ化増分0
は媒体0のブロック00〜03にマッピングされ、論理
ストライプ化増分1は媒体1のブロック00〜03にマ
ッピングされ、論理ストライプ化増分2は媒体2のブロ
ック00〜03にマッピングされ、ストライプ化増分0
〜2用のパリティ・ストライプは媒体3のブロック00
〜03にマッピングされ、論理ストライプ化増分3は媒
体0のブロック04〜07にマッピングされる。この連
続マッピングは、最後のストライプ化増分11が媒体3
のブロック12〜15にマッピングされるまで、媒体上
で順に続行される。
【0027】このマッピングは単純で計算しやすいが、
取外し可能媒体上に格納されたパリティ保護データにと
って必ずしも最も効率的なものではない。本発明の好ま
しい実施例では、前の論理ストライプ化増分用のパリテ
ィ・ストライプを収容する同一媒体ユニットにそれぞれ
のストライプ化増分をマッピングする。このようなマッ
ピング技法では、1回の書込み操作によって1つのスト
ライプ化増分が変更され、パリティ・ログに格納可能な
パリティ更新値が作成され、論理的に連続する次のスト
ライプ化増分が変更され、その結果、新しいパリティを
書き込む機会の適時性が大幅に改善される。これは、書
き込むべき新しいパリティがすでに装着されている媒体
ユニット上にいつも置かれるからである。ストライプ化
増分によってある媒体ユニットから別のユニットへパリ
ティ・ストライプの位置を追跡するというこの技法は、
パリティ・ログの予想サイズと、再統合機会を待ってい
る間にパリティ更新を格納するのに必要な時間の両方を
低減するものである。
【0028】図6は、パリティ追跡ストライプ化を示し
ている。論理ストライプ化増分0は図5の従来のストラ
イプ化と同一の媒体0のブロック00〜03にマッピン
グされるが、論理ストライプ化増分1は媒体3のブロッ
ク08〜11にマッピングされる。この増分が媒体3に
マッピングされるのは、前の論理ストライプ化増分0を
保護するパリティ・ストライプが媒体3上(ブロック0
0〜03)にあるからである。同様に、論理ストライプ
化増分1を保護するパリティ・ストライプは媒体1上
(ブロック08〜12)にあるので、論理ストライプ化
増分2は媒体1のブロック04〜07にマッピングされ
る。パリティ追跡ストライプ化はこのようにして続行さ
れる。媒体3(ブロック00〜03)は媒体2(ブロッ
ク00〜03)上の前のストライプ化増分10を保護す
るパリティ・ストライプを収容しているので、最後のス
トライプ化増分である増分11は媒体3のブロック12
〜15にマッピングされる。
【0029】2〜6個の媒体ユニットを有するアレイ用
の1組のパリティ追跡ストライプ化マッピングを図7〜
11に示す。それぞれのアレイ幅ごとに様々なマッピン
グが多数存在する。ホスト・コンピュータのアプリケー
ション応じて、一部のマッピングが他のマッピングより
優れている場合もある。たとえば、(すべてのユニット
に均等にではなく)連続する論理ストライプ化増分をい
くつかの媒体ユニット上に置く傾向のあるパリティ追跡
ストライプ化マッピングでは、すでに装着されている媒
体ユニットにアクセスする傾向があるので、パフォーマ
ンスが優れている可能性がある。
【0030】図12は、図7〜11に示すマッピングの
ようなパリティ追跡ストライプ化マッピングを構築する
ためのアルゴリズムを示す流れ図である。
【0031】このアルゴリズムでは2つのデータ構造を
使用するが、第1のデータ構造である「MA」(媒体割
当て)は、冗長グループ内の1組の媒体ユニット上で使
用可能な様々な位置にどの論理ストライプ化増分が割り
当てられているかを追跡する。MAはN行×N列の2次
元アレイであり、Nは冗長グループ内の媒体の数である
(この説明では、Nはパリティ用の追加媒体を含むの
で、RAID5アーキテクチャの説明に使用したN+1
と同じである)。様々なサイズの計算済みMAアレイの
例を図7〜11に示す。MAの第1のインデックス(ゼ
ロ起点)は0〜N−1の媒体番号であり、第2のインデ
ックス(ゼロ起点)は媒体ユニット上のストライプ化増
分位置であり、0〜N−1の範囲である。第2のデータ
構造である「SIA」(ストライプ化増分割当て)は、
各論理ストライプ化増分の媒体位置を追跡する。これ
は、N2−N行×2列の2次元アレイとして表される。
それぞれの論理ストライプ化増分ごとに1行(ゼロ起
点)ずつ存在する。各行の第1の列(インデックス0)
はそのストライプ化増分が割り当てられている媒体ユニ
ットのインデックスであり、第2の列(インデックス
1)はその媒体ユニット上の特定の位置である。アルゴ
リズムが完了すると、両方のデータ構造はパリティ追跡
マッピングの表現を備えることになり、MAは論理スト
ライプ化増分インデックスを示すために媒体ユニットと
位置によるインデックスが付けられ、SIAは媒体イン
デックスと位置を示すために論理ストライプ化増分イン
デックスによるインデックスが付けられる。SIAは、
アクセス要求の処理に関する説明で後で使用する。
【0032】図12の流れ図では、媒体の数であるN
と、媒体インデックス値であるMと、媒体ユニット上の
ストライプ化インデックス位置であるPと、論理ストラ
イプ化増分インデックスであるS(0〜N2−N−1の
範囲)と、異なる媒体ユニット上の特定のストライプ化
増分位置に対応するパリティ・ストライプを格納する媒
体ユニットのインデックスであるPMの5つの変数を使
用する。
【0033】最初の操作(700)では、媒体インデッ
クスMを冗長グループ内の第1(左端)の媒体ユニット
である0に初期設定する。次に、テスト(710)を行
って、それぞれの媒体ユニットが処理されたかどうかを
確認する。これは、アレイ内のすべての位置に−2とい
う値を格納し、その他のすべての位置に−1を格納す
る、MA用の初期設定プロセスの一部であり、P=(N
−1−M)(すなわち、左下隅から右上隅までの対角線
に沿ったもの)である。−2という値はパリティが占有
する位置を表し(RAIL/RAID5に準拠)、−1
という値はストライプ化増分が割り当てられていないス
トライプ化増分位置を表す。このプロセスは、Pを媒体
ユニット上の最初の位置である0に初期設定することか
ら始まる(720)。次に、テスト(721)を行っ
て、媒体上のすべての位置が処理されたかどうかを確認
する。YESの場合は、媒体インデックスを増分し(7
26)、MA(各媒体ユニットごとに1つずつ)のすべ
ての列が初期設定されたかどうかを確認するためのテス
トを行う(710)。その媒体ユニット用のMA内のす
べての位置が初期設定されたわけではない場合は、テス
トを行って、現行位置であるPがパリティの位置である
かどうかを確認する(722)。パリティの位置である
場合は値−2をMA[M,P]に割り当て(723)、
パリティの位置ではない場合は値−1をMA[M,P]
に割り当てる(725)。いずれの場合も、位置インデ
ックスを増分し(724)、次にテストを行って、現行
媒体上のすべての位置が処理されたかどうかを確認す
る。
【0034】媒体割当てアレイMAの初期設定後、第1
の論理ストライプ化増分(インデックス0)の媒体と位
置の両方を媒体ユニット0および位置0になるように設
定する(711)ことにより、ストライプ化増分割当て
アレイSIAの最初の項目のための初期設定を開始す
る。次に、ストライプ化増分インデックスSを0に初期
設定する(712)。前の論理ストライプ化増分に対応
する(すなわち、それを保護する)パリティ・ストライ
プも収容する媒体ユニット上にそれぞれのストライプ化
増分が置かれるように、媒体ユニットに各論理ストライ
プ化増分を連続して割り当てようと試みることにより、
アルゴリズムが続行する。すべてのストライプ化増分が
割り当てられていると、アルゴリズムは停止する(73
0)。割当てを判定している間に行う最初のテストは、
現行論理ストライプ化増分を割り当てるための位置が存
在するかどうかを判定するものである(731)。存在
する場合は、それが現在未割当てである(すなわち、値
が−1)かどうかを判定するために位置をテストする
(732)。占有されている(他の何らかの値)場合
は、アルゴリズムが媒体上の次の位置に移り(73
3)、プロセスを繰り返す。位置が未割当ての場合は、
現行論理ストライプ化インデックス値をMAに格納し、
PMを計算する。PMは、論理ストライプ化増分の位置
に対応するパリティ・ストライプを格納している媒体の
媒体インデックスである(734)。次に、アルゴリズ
ムは次の論理ストライプ化増分に移り(735)、まだ
完了していない場合は(736)、パリティ媒体上の最
初の位置の検査を開始するために次の論理ストライプ化
増分を初期設定する(737)。
【0035】論理ストライプ増分用の媒体ユニット上の
位置を見つけることができないとアルゴリズムがいずれ
かの時点で判定した場合(731)は、前の論理ストラ
イプ化増分の割当てに後戻りし(740)、そのストラ
イプ化増分用の割当てのマークを解除し(741)、そ
の媒体上の次の位置割当てに移り(742)、必要に応
じてこのプロセスを繰り返す。
【0036】便宜的パリティ再統合とパリティ追跡スト
ライプ化を備えたシステムの動作 図13は、便宜的パリティ再統合とパリティ追跡ストラ
イプ化とによるデータ・アクセス要求の処理を示す流れ
図である。
【0037】アクセス要求の処理の中心は、パリティ追
跡マッピング・テーブルSIAである。これは、ストラ
イプ化増分と、冗長グループを構成する媒体ユニットと
の論理マッピングを記録するものである。マッピング
は、媒体ユニット0の位置0上の第1のストライプ化増
分から始まり、必要に応じて繰り返し、媒体ユニットへ
のすべてのストライプ化増分のマッピングを完全に指定
する。
【0038】アクセス要求の処理への入力は、論理ブロ
ック・アドレス(LBA)と、論理ブロック・サイズ
(Lss)と、ストライプ化増分のサイズ(Sinc)
と、パリティを含む媒体ユニットの数(N)と、マッピ
ング・テーブルSIAと、媒体ユニット上の物理ブロッ
ク・サイズ(Pss)である。
【0039】アクセス要求の処理は、論理ブロック・ア
ドレスから論理ストライプ化インデックスLSIを計算
することから始まる(810)。次に、マッピング・テ
ーブルSIAに対するストライプ化増分のインデックス
Xを計算し(811)、テーブルから媒体ユニット番号
を取り出す(812)。次に、論理ストライプ化増分の
位置に到達するためにマッピング・テーブルを繰り返す
回数を求め、それにアプリケーション当たりのストライ
プ化増分の数(N−1)を掛け、テーブルから読み取っ
た現行アプリケーション内の位置を付け足すことによ
り、媒体ユニット上のストライプ化増分の位置を計算す
る(813)。次に、この位置を与えて物理ブロック・
アドレスを計算する(814)。810〜814に示す
物理ブロック・アドレスの計算では、Sinc>=Ls
sかつLss>=Pssであると想定する。ただし、こ
れらの値の様々な相対サイズに適合させるには、上記の
計算を適当に調節する方が簡単である。
【0040】次に、プロセスは、書き込むべき媒体ユニ
ットが現在装着されているかどうかを判定する(82
0)。装着されていない場合は、LRU法などの何らか
の選択基準を使用して媒体ユニットを装着するためのド
ライブを選択する(830)。現在、媒体ユニットを備
えている場合はそのドライブを取り外し、所望の媒体ユ
ニットを装着する(831)。この媒体ユニットに格納
されているパリティに適用すべきパリティ更新がパリテ
ィ・ログに記載されている場合(832)は、そのパリ
ティ更新を選択し(833)、処理し(834)、媒体
ユニットに新しいパリティを書き込む(835)。保留
中のパリティ更新がそれ以上存在しない場合、アクセス
要求の処理は、要求が読取りか書込みかを判定する(8
40)。その要求が読取りである場合は、媒体ユニット
からデータを読み取り、処理が完了する。
【0041】要求が書込みの場合は、814で計算した
物理ブロックから古いデータを読み取り、この古いデー
タと書き込まれる新しいデータとのXORを実行して
(842)パリティ更新を計算し、媒体ユニットに新し
いデータを書き込む(843)。新たに書き込んだ物理
ブロック用のパリティを格納している媒体ユニットが現
在装着されていない場合(844)は、842で計算し
たパリティ更新をパリティ・ログに格納し、その媒体ユ
ニット用のパリティ更新のリストに追加する。媒体ユニ
ットが現在装着されている場合は、古いパリティを読み
取り(845)、842で計算したパリティ更新と古い
パリティとのXORを取ることによって新しいパリティ
を計算する(846)。次に、その媒体ユニットに新し
いパリティを書き込む(847)。これで書込みの処理
が完了する。
【0042】図13に示されていない代替方法では、書
込みアクセスの完了後まで新しいパリティの書込みを遅
延する。
【0043】パリティ・ログ・データ圧縮と不揮発性R
AM パリティ・ログでデータ圧縮を使用すると、パリティ・
ロギングを改善することができる。圧縮は、アレイ内の
所与の記憶容量のためのパリティ・ログの必要サイズを
低減するため、またはパリティ・ログ内の空間を解放す
るために必要な強制媒体装着の頻度を低減するために使
用することができる。新しいデータと古いデータとのX
ORを取ることによって生成したパリティ更新値は、新
しいデータが古いデータとは異なる位置に設定されたビ
ットだけ有し、他のビット値はゼロになるので、特にブ
ロックの一部だけを変更する小規模書込みの場合、効率
的なデータ圧縮に向いている。パリティ・ログは、圧縮
技法として単純なランレングス符号化を使用することに
よって圧縮することができる。
【0044】パリティ・ログ用の不揮発性記憶媒体とし
て磁気固定ディスク・ドライブを使用して、本発明の好
ましい実施例を説明してきた。しかし、パリティ・ログ
の格納には、他のタイプのメモリも使用することができ
る。たとえば、パリティ・ロギングRAILシステムと
ともに不揮発性ランダム・アクセス・メモリ(NVRA
M)を使用することは拡張機能の1つであり、全ブロッ
ク転送に十分なものが累計されるまでパリティ更新値の
収集を可能にし、その結果、累計値を追加するためにパ
リティ・ログについて行う数回の入出力操作を回避す
る。これは、パリティ・ログ圧縮を使用する場合に特に
有利である。というのは、圧縮したパリティ更新値は2
次記憶装置の単一ブロックよりかなり小さくなる可能性
があり、そのため、2次記憶装置のアクセスを削減する
からである。また、NVRAMは、各媒体ユニット用の
パリティ更新ログを指すポインタの格納にも有用であ
る。この代替態様では、パリティ・ログを格納する同一
磁気固定ディスクにポインタを格納する。
【0045】本発明の好ましい実施例について詳細に説
明してきたが、特許請求の範囲に記載する本発明の精神
および範囲を逸脱せずに本発明に対して変更および改良
を加えることが可能であることは明らかであるはずであ
る。
【0046】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0047】(1)媒体ユニットにデータを格納し、媒
体ユニットからデータを取り出すためのデータ記憶ライ
ブラリ・システムにおいて、複数のデータ記憶ドライブ
と、ドライブに装着可能でドライブから取外し可能な複
数の媒体ユニットであって、冗長グループ単位に配置さ
れている媒体ユニットと、格納すべきデータをデータ・
セット単位に編成する手段であって、各データ・セット
が複数のデータ・ブロックと1つの関連のパリティ・ブ
ロックとを含み、1つのセットに含まれるデータ・ブロ
ックとパリティ・ブロックの数が1つの冗長グループ内
の媒体ユニットの数に等しい手段と、1つのセットに含
まれるデータ・ブロックとパリティ・ブロックとを冗長
グループ内のすべての媒体ユニット間にストライプ化
し、様々なセット用のパリティ・ブロックを冗長グルー
プ内の様々な媒体ユニット間に分散することによってデ
ータを書き込む手段と、冗長グループ内の媒体ユニット
にすでに書き込まれているデータ・ブロックを変更する
ときに計算されたパリティ更新をロギングする不揮発性
メモリと、対応する更新すべきパリティ・ブロックを収
容する媒体ユニットがドライブに装着されていない場合
に、対応する新しいパリティ・ブロックを書き込まずに
媒体ユニットに変更データ・ブロックを書き込む手段
と、ログからパリティ更新を取り出し、更新すべきパリ
ティ・ブロックを収容する媒体ユニットが後でドライブ
に装着されたときに、更新すべきパリティ・ブロックを
収容する媒体ユニットに対して取り出したパリティ更新
に基づく新しいパリティ・ブロックを書き込む手段とを
含むことを特徴とする、データ記憶ライブラリ・システ
ム。 (2)取り出したパリティ更新に基づく新しいパリティ
・ブロックを書き込む手段が、取り出したパリティ更新
と更新すべきパリティ・ブロックとの排他論理和を取っ
て新しいパリティ・ブロックを計算する手段を含むこと
を特徴とする、上記(1)に記載のデータ記憶ライブラ
リ・システム。 (3)パリティ更新を計算するときに更新すべきパリテ
ィ・ブロックを収容する媒体ユニットがすでに装着され
ている場合に、パリティ更新をロギングせずに更新すべ
きパリティ・ブロックを収容する媒体ユニットに新しい
パリティ・ブロックを書き込む手段をさらに含むことを
特徴とする、上記(1)に記載のデータ記憶ライブラリ
・システム。 (4)先行するストライプ化増分に対応するパリティ・
ブロックを収容する同一媒体ユニット上にストライプ化
増分が置かれるように、1つの冗長グループ内の媒体ユ
ニット用のデータ・セット内のすべてのデータ・ブロッ
クとパリティ・ブロックを連続するストライプ化増分と
して全媒体ユニット間にマッピングすることを特徴とす
る、上記(1)に記載のデータ記憶ライブラリ・システ
ム。 (5)1つの冗長グループ内のすべてのデータ・ブロッ
クが1組のストライプ化増分に編成され、各ストライプ
化増分が同数の固定データ・ブロックを収容することを
特徴とする、上記(1)に記載のデータ記憶ライブラリ
・システム。 (6)不揮発性メモリのパリティ・ログに格納されたパ
リティ更新が複数のパリティ更新ブロックの連係リスト
として編成され、冗長グループ内の各媒体ユニットごと
にパリティ更新ブロックが1つずつであることを特徴と
する、上記(1)に記載のデータ記憶ライブラリ・シス
テム。 (7)更新されたパリティ・ブロックをロギングするた
めの不揮発性メモリが磁気固定ディスク・ドライブであ
ることを特徴とする、上記(1)に記載のデータ記憶ラ
イブラリ・システム。 (8)ロギングされたパリティ更新を圧縮するデータ圧
縮手段をさらに含むことを特徴とする、上記(1)に記
載のデータ記憶ライブラリ・システム。 (9)システムが複数の独立データ記憶ライブラリを含
み、それぞれのライブラリが前記複数のデータ記憶ドラ
イブのうちの少なくとも1つと、前記媒体ユニットのう
ちの少なくとも2つと、前記少なくとも1つのドライブ
に媒体ユニットを装着し、前記少なくとも1つのドライ
ブから媒体ユニットを取り外すピッカーとを含むことを
特徴とする、上記(1)に記載のデータ記憶ライブラリ
・システム。 (10)複数の取外し可能光ディスクにデータを格納
し、複数の取外し可能光ディスクからデータを取り出す
ための独立光ディスク・ライブラリのアレイにおいて、
複数の光ディスク・ライブラリであって、それぞれのラ
イブラリが少なくとも1つの光ディスク・ドライブと、
各ドライブに関連する少なくとも2つのディスクと、ド
ライブにディスクを装着し、ドライブからディスクを取
り外すピッカーとを含み、複数のライブラリ内のディス
クが冗長グループ単位に配置され、1つの冗長グループ
内の各ディスクが1つの固有のドライブに関連づけられ
ている複数の光ディスク・ライブラリと、格納すべきデ
ータを冗長グループに割り当てられたパリティ・グルー
プ単位に編成する手段であって、各パリティ・グループ
が複数のデータ・ストライプ化増分と1つの関連のパリ
ティ・ストライプとを含み、1つのパリティ・グループ
に含まれるデータ・ストライプ化増分とパリティ・スト
ライプの数が1つの冗長グループ内のディスクの数に等
しい手段と、1つのパリティ・グループに含まれるデー
タ・ストライプ化増分とパリティ・ストライプとを割り
当てられた冗長グループ内のすべてのディスク間にスト
ライプ化し、様々なパリティ・グループ用のパリティ・
ストライプを割り当てられた冗長グループ内の様々なデ
ィスク間に分散することによってデータを書き込む手段
と、いずれかの冗長グループ内のディスクにすでに書き
込まれているデータ・ストライプ化増分を変更するとき
に計算されたパリティ更新をロギングする不揮発性メモ
リと、対応する更新すべきパリティ・ストライプを収容
するディスクがドライブに装着されていない場合に、対
応する新しいパリティ・ストライプを書き込まずにいず
れかの冗長グループ内のディスクに変更データ・ストラ
イプ化増分を書き込む手段と、ログからパリティ更新を
取り出し、更新すべきパリティ・ストライプを収容する
ディスクがドライブに装着されたときに、更新すべきパ
リティ・ストライプを収容するディスクに対して取り出
したパリティ更新に基づく新しいパリティ・ストライプ
を書き込む手段と、パリティ更新を計算するときに更新
すべきパリティ・ストライプを収容するディスクがすで
に装着されている場合に、パリティ更新をロギングせず
に更新すべきパリティ・ストライプを収容するディスク
に新しいパリティ・ストライプを書き込む手段とを含む
ことを特徴とする、独立光ディスク・ライブラリのアレ
イ。 (11)先行するストライプ化増分を保護するパリティ
・ストライプを収容する同一ディスク上にストライプ化
増分が置かれるように、1つの冗長グループ内のディス
ク用のパリティ・グループ内のすべてのデータ・ストラ
イプ化増分を連続するストライプ化増分として全ディス
ク間にマッピングすることを特徴とする、上記(10)
に記載のアレイ。 (12)不揮発性メモリのパリティ・ログに格納された
パリティ更新が複数のパリティ更新ブロックの連係リス
トとして編成され、それぞれの冗長グループ内の各ディ
スクごとにパリティ更新ブロックが1つずつであること
を特徴とする、上記(10)に記載のアレイ。 (13)パリティ更新をロギングするための不揮発性メ
モリが磁気固定ディスク・ドライブであることを特徴と
する、上記(10)に記載のアレイ。 (14)ロギングされたパリティ更新を圧縮するデータ
圧縮手段をさらに含むことを特徴とする、上記(10)
に記載のアレイ。 (15)不揮発性記憶装置と、複数のデータ記憶ドライ
ブと、ドライブに装着可能でドライブから取外し可能な
複数の媒体ユニットとを有し、媒体ユニットが冗長グル
ープ単位に配置されているタイプのデータ記憶ライブラ
リ・システムにおいて、冗長グループ内の媒体ユニット
へのデータおよび冗長パリティ情報の書込みを管理する
方法であって、書き込むべきデータをデータ・セット単
位に編成するステップであって、それぞれのデータ・セ
ットが複数のデータ・ブロックと1つの対応するパリテ
ィ・ブロックとを含み、1つのセット内のデータ・ブロ
ックとパリティ・ブロックとの数が1つの冗長グループ
内の媒体ユニットの数に等しいステップと、1つのセッ
ト内のデータ・ブロックとパリティ・ブロックとを冗長
グループ内のすべての媒体ユニット間にストライプ化す
ることによってデータ・ブロックを書き込むステップで
あって、様々なセット用のパリティ・ブロックを冗長グ
ループ内の様々な媒体ユニット間に分散することを含む
ステップと、すでに書き込まれているデータ・ブロック
の上に新しいデータ・ブロックを書き込む前に、すでに
書き込まれたデータ・ブロックとまだ書き込まれていな
い新しいデータ・ブロックとの排他論理和を取ることに
よってパリティ更新を計算するステップと、パリティ更
新を計算するときに対応するすでに書き込まれたパリテ
ィ・ブロックを収容する媒体ユニットがドライブに装着
されている場合に、すでに書き込まれたパリティ・ブロ
ックを読み取り、計算したパリティ更新とすでに書き込
まれたパリティ・ブロックとの排他論理和を取って新し
いパリティ・ブロックを計算し、すでに書き込まれたデ
ータ・ブロックの上に新しいデータ・ブロックを書き込
み、すでに書き込まれたパリティ・ブロックの上に新し
いパリティ・ブロックを書き込むステップと、パリティ
更新を計算するときに対応するすでに書き込まれたパリ
ティ・ブロックを収容する媒体ユニットがドライブに装
着されていない場合に、対応する新しいパリティ・ブロ
ックを書き込まずにすでに書き込まれたデータ・ブロッ
クの上に新しいデータ・ブロックを書き込み、不揮発性
記憶装置内のパリティ・ログに計算したパリティ更新を
ロギングするステップと、対応するすでに書き込まれた
パリティ・ブロックを収容する媒体ユニットが後でドラ
イブに装着されたときに、パリティ・ログからパリティ
更新を取り出し、すでに書き込まれたパリティ・ブロッ
クを読み取り、取り出したパリティ更新とすでに書き込
まれたパリティ・ブロックとの排他論理和を取って新し
いパリティ・ブロックを計算し、すでに書き込まれたパ
リティ・ブロックの上に計算した新しいパリティ・ブロ
ックを書き込むステップとを含む方法。 (16)先行するストライプ化増分に対応するパリティ
・ブロックを収容する同一媒体ユニット上にストライプ
化増分を置くことによって、1つの冗長グループ内の媒
体ユニット用のデータ・セット内のすべてのデータ・ブ
ロックとパリティ・ブロックを連続するストライプ化増
分として1つの冗長グループ内の全媒体ユニット間にマ
ッピングするステップをさらに含むことを特徴とする、
上記(15)に記載の方法。 (17)パリティ更新をロギングするステップが、パリ
ティ・ログ内のパリティ更新を複数のパリティ更新ブロ
ックの連係リストとして編成することを含み、冗長グル
ープ内の各媒体ユニットごとにパリティ更新ブロックが
1つずつであることを特徴とする、上記(15)に記載
の方法。 (18)ロギングしたパリティ更新を圧縮することをさ
らに含むことを特徴とする、上記(15)に記載の方
法。
【図面の簡単な説明】
【図1】一般的なRAILシステムに接続されたホスト
・コンピュータ・システムのブロック図である。
【図2】4つの独立光ディスク・ライブラリとパリティ
・ロギング用の1つの磁気固定ディスク・ドライブがホ
スト・コンピュータに接続されているRAILシステム
の好ましい実施例を示すブロック図である。
【図3】それぞれのアレイが2つの媒体ユニットのみを
備えるものとして示されている、図2のシステム内の4
つのアレイで構成された2つの論理装置用のパリティ・
ロギングを示すブロック図である。
【図4】パリティ・ログ内のパリティ更新が媒体ユニッ
ト上のデータと再統合された後の図3の例を示すブロッ
ク図である。
【図5】従来のラウンドロビン・パリティ・ストライプ
化を示すブロック図である。
【図6】本発明によるパリティ追跡ストライプ化を示す
ブロック図である。
【図7】2つの媒体ユニットを有するアレイ用のパリテ
ィ追跡ストライプ化マッピングを示す図である。
【図8】3つの媒体ユニットを有するアレイ用のパリテ
ィ追跡ストライプ化マッピングを示す図である。
【図9】4つの媒体ユニットを有するアレイ用のパリテ
ィ追跡ストライプ化マッピングを示す図である。
【図10】5つの媒体ユニットを有するアレイ用のパリ
ティ追跡ストライプ化マッピングを示す図である。
【図11】6つの媒体ユニットを有するアレイ用のパリ
ティ追跡ストライプ化マッピングを示す図である。
【図12】図7〜11に示すタイプのパリティ追跡スト
ライプ化マッピングを選択する諸ステップを示す流れ図
である。
【図13】パリティ・ロギング、便宜的パリティ再統
合、パリティ追跡ストライプ化を使用してデータ・アク
セス要求を処理するためのシステムの動作を示す流れ図
である。
【符号の説明】
500 ホスト・コンピュータ 502 メイン・メモリ 508 ランダム・アクセス・メモリ・バッファ 510 SCSIバス・コントローラ 512 SCSIバス・コントローラ 514 SCSIバス・コントローラ 516 SCSIバス・コントローラ 517 SCSIバス・コントローラ 519 磁気ディスク・ドライブ 520 第1のライブラリ 521 光ディスク・ドライブ 522 光ディスク・ドライブ 523 光ディスク・ドライブ 524 光ディスク・ドライブ 540 第2のライブラリ 541 光ディスク・ドライブ 542 光ディスク・ドライブ 543 光ディスク・ドライブ 544 光ディスク・ドライブ 560 第3のライブラリ 561 光ディスク・ドライブ 562 光ディスク・ドライブ 563 光ディスク・ドライブ 564 光ディスク・ドライブ 580 第4のライブラリ 581 光ディスク・ドライブ 582 光ディスク・ドライブ 583 光ディスク・ドライブ 584 光ディスク・ドライブ

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】媒体ユニットにデータを格納し、媒体ユニ
    ットからデータを取り出すためのデータ記憶ライブラリ
    ・システムにおいて、 複数のデータ記憶ドライブと、 前記ドライブに装着可能で前記ドライブから取外し可能
    な複数の媒体ユニットであって、冗長グループ単位に配
    置されている媒体ユニットと、 格納すべきデータをデータ・セット単位に編成する手段
    であって、各データ・セットが複数のデータ・ブロック
    と1つの関連のパリティ・ブロックとを含み、1つのセ
    ットに含まれるデータ・ブロックとパリティ・ブロック
    の数が1つの冗長グループ内の前記媒体ユニットの数に
    等しい手段と、 1つのセットに含まれる前記データ・ブロックと前記パ
    リティ・ブロックとを前記冗長グループ内のすべての前
    記媒体ユニット間にストライプ化し、異なるセット用の
    前記パリティ・ブロックを前記冗長グループ内の異なる
    媒体ユニット間に分散することによって前記データを書
    き込む手段と、 前記冗長グループ内の前記媒体ユニットにすでに書き込
    まれている前記データ・ブロックを変更するときに計算
    されたパリティ更新をログに記録する不揮発性メモリ
    と、 対応する更新すべきパリティ・ブロックを収容する前記
    媒体ユニットがドライブに装着されていない場合に、前
    記対応する更新すべきパリティ・ブロックを書き込まず
    に前記媒体ユニットに変更データ・ブロックを書き込む
    手段と、 前記ログから前記パリティ更新を取り出し、更新すべき
    パリティ・ブロックを収容する前記媒体ユニットが後で
    ドライブに装着されたときに、更新すべきパリティ・ブ
    ロックを収容する前記媒体ユニットに対して、取り出し
    たパリティ更新に基づく新しいパリティ・ブロックを書
    き込む手段とを含むことを特徴とする、データ記憶ライ
    ブラリ・システム。
  2. 【請求項2】前記取り出したパリティ更新に基づく新し
    いパリティ・ブロックを書き込む手段が、前記取り出し
    たパリティ更新と前記更新すべきパリティ・ブロックと
    の排他的論理和を取って新しいパリティ・ブロックを計
    算する手段を含むことを特徴とする、請求項1に記載の
    データ記憶ライブラリ・システム。
  3. 【請求項3】前記パリティ更新を計算するときに前記更
    新すべきパリティ・ブロックを収容する前記媒体ユニッ
    トがすでに装着されている場合に、前記パリティ更新を
    ロギングせずに前記更新すべきパリティ・ブロックを収
    容する前記媒体ユニットに新しいパリティ・ブロックを
    書き込む手段をさらに含むことを特徴とする、請求項1
    に記載のデータ記憶ライブラリ・システム。
  4. 【請求項4】先行するストライプ化増分に対応する前記
    パリティ・ブロックを収容する同一媒体ユニット上に前
    記ストライプ化増分が置かれるように、1つの冗長グル
    ープ内の前記媒体ユニット用の前記データ・セット内の
    すべての前記データ・ブロック及び前記パリティ・ブロ
    ックを連続するストライプ化増分として全媒体ユニット
    間にマッピングすることを特徴とする、請求項1に記載
    のデータ記憶ライブラリ・システム。
  5. 【請求項5】1つの冗長グループ内のすべての前記デー
    タ・ブロックが1組のストライプ化増分に編成され、各
    ストライプ化増分が同数の固定データ・ブロックを収容
    することを特徴とする、請求項1に記載のデータ記憶ラ
    イブラリ・システム。
  6. 【請求項6】前記不揮発性メモリの前記ログに格納され
    た前記パリティ更新が複数のパリティ更新ブロックの連
    係リストとして編成され、前記冗長グループ内の各媒体
    ユニットごとにパリティ更新ブロックが1つずつである
    ことを特徴とする、請求項1に記載のデータ記憶ライブ
    ラリ・システム。
  7. 【請求項7】更新されたパリティ・ブロックをログに記
    録するための前記不揮発性メモリが磁気固定ディスク・
    ドライブであることを特徴とする、請求項1に記載のデ
    ータ記憶ライブラリ・システム。
  8. 【請求項8】前記ログに記録されたパリティ更新を圧縮
    するデータ圧縮手段をさらに含むことを特徴とする、請
    求項1に記載のデータ記憶ライブラリ・システム。
  9. 【請求項9】前記システムが複数の独立データ記憶ライ
    ブラリを含み、それぞれのライブラリが前記複数のデー
    タ記憶ドライブのうちの少なくとも1つと、前記媒体ユ
    ニットのうちの少なくとも2つと、前記少なくとも1つ
    のドライブに媒体ユニットを装着し、前記少なくとも1
    つのドライブから媒体ユニットを取り外すピッカーとを
    含むことを特徴とする、請求項1に記載のデータ記憶ラ
    イブラリ・システム。
  10. 【請求項10】複数の取外し可能光ディスクにデータを
    格納し、前記複数の取外し可能光ディスクからデータを
    取り出すための独立光ディスク・ライブラリのアレイに
    おいて、 複数の光ディスク・ライブラリであって、各ライブラリ
    が少なくとも1つの光ディスク・ドライブと、各ドライ
    ブに関連する少なくとも2つのディスクと、前記ドライ
    ブに前記ディスクを装着し、前記ドライブから前記ディ
    スクを取り外すピッカーとを含み、前記複数のライブラ
    リ内の前記ディスクが冗長グループ単位に配置され、1
    つの冗長グループ内の各ディスクが1つの固有のドライ
    ブに関連づけられている、前記複数の光ディスク・ライ
    ブラリと、 格納すべき前記データを冗長グループに割り当てられた
    パリティ・グループ単位に編成する手段であって、各パ
    リティ・グループが複数のデータ・ストライプ化増分と
    1つの関連のパリティ・ストライプとを含み、1つのパ
    リティ・グループに含まれるデータ・ストライプ化増分
    及びパリティ・ストライプの数が1つの冗長グループ内
    の前記ディスクの数に等しい、前記手段と、 1つのパリティ・グループに含まれる前記データ・スト
    ライプ化増分及び前記パリティ・ストライプを割り当て
    られた冗長グループ内のすべてのディスク間にストライ
    プ化し、異なるパリティ・グループ用のパリティ・スト
    ライプを割り当てられた冗長グループ内の異なるディス
    ク間に分散することによって前記データを書き込む手段
    と、 いずれかの冗長グループ内の前記ディスクにすでに書き
    込まれている前記データ・ストライプ化増分を変更する
    ときに計算されたパリティ更新をログに記録する不揮発
    性メモリと、 対応する更新すべきパリティ・ストライプを収容する前
    記ディスクがドライブに装着されていない場合に、前記
    対応する更新すべきパリティ・ストライプを書き込まず
    にいずれかの冗長グループ内のディスクに変更データ・
    ストライプ化増分を書き込む手段と、 前記ログから前記パリティ更新を取り出し、更新すべき
    パリティ・ストライプを収容する前記ディスクがドライ
    ブに装着されたときに、更新すべきパリティ・ストライ
    プを収容する前記ディスクに対して、取り出したパリテ
    ィ更新に基づく新しいパリティ・ストライプを書き込む
    手段と、 前記パリティ更新を計算するときに前記更新すべきパリ
    ティ・ストライプを収容する前記ディスクがすでに装着
    されている場合に、前記パリティ更新をロギングせずに
    前記更新すべきパリティ・ストライプを収容する前記デ
    ィスクに新しいパリティ・ストライプを書き込む手段と
    を含むことを特徴とする、独立光ディスク・ライブラリ
    のアレイ。
  11. 【請求項11】先行するストライプ化増分を保護する前
    記パリティ・ストライプを収容する同一ディスク上に前
    記ストライプ化増分が置かれるように、1つの冗長グル
    ープ内の前記ディスク用の前記パリティ・グループ内の
    すべての前記データ・ストライプ化増分を連続するスト
    ライプ化増分として全ディスク間にマッピングすること
    を特徴とする、請求項10に記載のアレイ。
  12. 【請求項12】前記不揮発性メモリの前記ログに格納さ
    れた前記パリティ更新が複数のパリティ更新ブロックの
    連係リストとして編成され、それぞれの冗長グループ内
    の各ディスクごとにパリティ更新ブロックが1つずつで
    あることを特徴とする、請求項10に記載のアレイ。
  13. 【請求項13】パリティ更新をログに記録するための前
    記不揮発性メモリが磁気固定ディスク・ドライブである
    ことを特徴とする、請求項10に記載のアレイ。
  14. 【請求項14】前記ログに記録されたパリティ更新を圧
    縮するデータ圧縮手段をさらに含むことを特徴とする、
    請求項10に記載のアレイ。
  15. 【請求項15】不揮発性記憶装置と、複数のデータ記憶
    ドライブと、ドライブに装着可能でドライブから取外し
    可能な複数の媒体ユニットとを有し、前記媒体ユニット
    が冗長グループ単位に配置されているタイプのデータ記
    憶ライブラリ・システムにおいて、前記冗長グループ内
    の前記媒体ユニットへのデータおよび冗長パリティ情報
    の書込みを管理する方法であって、 書き込むべき前記データをデータ・セット単位に編成す
    るステップであって、各データ・セットが複数のデータ
    ・ブロックと1つの対応するパリティ・ブロックとを含
    み、1つのセット内のデータ・ブロックとパリティ・ブ
    ロックとの数が1つの冗長グループ内の前記媒体ユニッ
    トの数に等しい、前記ステップと、 1つのセット内の前記データ・ブロックと前記パリティ
    ・ブロックとを前記冗長グループ内のすべての前記媒体
    ユニット間にストライプ化することによって前記データ
    ・ブロックを書き込むステップであって、異なるセット
    用のパリティ・ブロックを前記冗長グループ内の異なる
    媒体ユニット間に分散することを含むステップと、 すでに書き込まれているデータ・ブロック上に新しいデ
    ータ・ブロックを書き込む前に、すでに書き込まれたデ
    ータ・ブロックとまだ書き込まれていない新しいデータ
    ・ブロックとの排他的論理和を取ることによってパリテ
    ィ更新を計算するステップと、 前記パリティ更新を計算するときに対応するすでに書き
    込まれたパリティ・ブロックを収容する前記媒体ユニッ
    トがドライブに装着されている場合に、前記すでに書き
    込まれたパリティ・ブロックを読み取り、前記計算した
    パリティ更新と前記すでに書き込まれたパリティ・ブロ
    ックとの排他的論理和を取って新しいパリティ・ブロッ
    クを計算し、前記すでに書き込まれたデータ・ブロック
    上に前記新しいデータ・ブロックを書き込み、前記すで
    に書き込まれたパリティ・ブロック上に前記計算した新
    しいパリティ・ブロックを書き込むステップと、 前記パリティ更新を計算するときに前記対応するすでに
    書き込まれたパリティ・ブロックを収容する前記媒体ユ
    ニットがドライブに装着されていない場合に、対応する
    新しいパリティ・ブロックを書き込まずに前記すでに書
    き込まれたデータ・ブロック上に前記新しいデータ・ブ
    ロックを書き込み、前記不揮発性記憶装置内のパリティ
    ・ログに前記計算したパリティ更新を記録するステップ
    と、 前記対応するすでに書き込まれたパリティ・ブロックを
    収容する前記媒体ユニットが後でドライブに装着された
    ときに、前記パリティ・ログから前記パリティ更新を取
    り出し、前記すでに書き込まれたパリティ・ブロックを
    読み取り、前記取り出したパリティ更新とすでに書き込
    まれたパリティ・ブロックとの排他的論理和を取って新
    しいパリティ・ブロックを計算し、前記すでに書き込ま
    れたパリティ・ブロック上に前記計算した新しいパリテ
    ィ・ブロックを書き込むステップとを含む、前記方法。
  16. 【請求項16】先行するストライプ化増分に対応する前
    記パリティ・ブロックを収容する同一媒体ユニット上に
    前記ストライプ化増分を置くことによって、1つの冗長
    グループ内の前記媒体ユニット用の前記データ・セット
    内のすべての前記データ・ブロック及び前記パリティ・
    ブロックを連続するストライプ化増分として1つの冗長
    グループ内の全媒体ユニット間にマッピングするステッ
    プをさらに含むことを特徴とする、請求項15に記載の
    方法。
  17. 【請求項17】前記パリティ更新を記録するステップ
    が、前記パリティ・ログ内の前記パリティ更新を複数の
    パリティ更新ブロックの連係リストとして編成すること
    を含み、前記冗長グループ内の各媒体ユニットごとにパ
    リティ更新ブロックが1つずつであることを特徴とす
    る、請求項15に記載の方法。
  18. 【請求項18】前記記録したパリティ更新を圧縮するこ
    とをさらに含むことを特徴とする、請求項15に記載の
    方法。
JP26597295A 1994-10-17 1995-10-13 データ記憶ライブラリ・システム及び関連する装置・方法 Expired - Fee Related JP3184748B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US324428 1994-10-17
US08/324,428 US5497457A (en) 1994-10-17 1994-10-17 Redundant arrays of independent libraries of dismountable media with parity logging

Publications (2)

Publication Number Publication Date
JPH08194587A true JPH08194587A (ja) 1996-07-30
JP3184748B2 JP3184748B2 (ja) 2001-07-09

Family

ID=23263537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26597295A Expired - Fee Related JP3184748B2 (ja) 1994-10-17 1995-10-13 データ記憶ライブラリ・システム及び関連する装置・方法

Country Status (3)

Country Link
US (1) US5497457A (ja)
EP (1) EP0708403A2 (ja)
JP (1) JP3184748B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254638A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置システム
JPH10254642A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置システム
JPH10254635A (ja) * 1997-03-07 1998-09-25 Hitachi Ltd 投入されたアレイグループの確認を行なう記憶装置サブシステム
JP2003288176A (ja) * 2003-03-07 2003-10-10 Hitachi Ltd 記憶装置システム
JP2003288175A (ja) * 2003-03-07 2003-10-10 Hitachi Ltd 記憶装置システム
JP2005310186A (ja) * 2005-07-01 2005-11-04 Hitachi Ltd 記憶装置システム
JP2006114063A (ja) * 2005-12-28 2006-04-27 Hitachi Ltd 記憶装置システム
JP2013539134A (ja) * 2010-10-01 2013-10-17 ピュア・ストレージ・インコーポレイテッド 動的構成のraidアレイにおける再構成読み込み

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3409859B2 (ja) * 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) * 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
US5684944A (en) * 1995-08-14 1997-11-04 Lubbers; Clark E. Atomic update of EDC protected data
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
US5727181A (en) * 1996-02-14 1998-03-10 International Business Machines Corporation Array management system with volume transform filter
US5900010A (en) * 1996-03-05 1999-05-04 Sony Corporation Apparatus for recording magneto-optic disks
US5961651A (en) * 1996-04-15 1999-10-05 Sun Microsystems, Inc. Event notification in a computing system having a plurality of storage devices
US5864655A (en) * 1996-09-09 1999-01-26 International Business Machines Corporation Managing removable media in raid and rail environments
US6029230A (en) * 1996-10-22 2000-02-22 International Business Machines Corporation Data storage library with media destaging and prestaging for improved response time
US6041423A (en) * 1996-11-08 2000-03-21 Oracle Corporation Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
US6029231A (en) * 1996-12-03 2000-02-22 Emc Corporation Retrieval of data stored on redundant disks across a network using remote procedure calls
US5926836A (en) * 1996-12-03 1999-07-20 Emc Corporation Computer and associated method for restoring data backed up on archive media
US6032224A (en) * 1996-12-03 2000-02-29 Emc Corporation Hierarchical performance system for managing a plurality of storage units with different access speeds
US6460123B1 (en) 1996-12-03 2002-10-01 Emc Corporation Mirroring computer data
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US6446223B1 (en) * 1998-09-09 2002-09-03 Hitachi, Ltd. Storage system and method for controlling the same
JP2000163223A (ja) * 1998-11-30 2000-06-16 Hitachi Electronics Eng Co Ltd 記録媒体raidライブラリ装置
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6513093B1 (en) 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6757695B1 (en) * 2001-08-09 2004-06-29 Network Appliance, Inc. System and method for mounting and unmounting storage volumes in a network storage environment
US20030126247A1 (en) * 2002-01-02 2003-07-03 Exanet Ltd. Apparatus and method for file backup using multiple backup devices
JP4391170B2 (ja) * 2003-09-05 2009-12-24 株式会社日立製作所 データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
US8726129B1 (en) * 2004-07-23 2014-05-13 Hewlett-Packard Development Company, L.P. Methods of writing and recovering erasure coded data
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
US7779294B2 (en) * 2005-04-15 2010-08-17 Intel Corporation Power-safe disk storage apparatus, systems, and methods
US20060253768A1 (en) * 2005-05-03 2006-11-09 Intel Corporation Techniques to speculatively determine network protocol unit integrity
DE102005040916A1 (de) * 2005-08-30 2007-03-08 Robert Bosch Gmbh Speicheranordnung und Betriebsverfahren dafür
US8392813B2 (en) * 2009-12-22 2013-03-05 Intel Corporation Redundant file system
JP6039699B2 (ja) * 2012-07-23 2016-12-07 株式会社日立製作所 ストレージシステム及びデータ管理方法
US9678665B2 (en) * 2015-03-06 2017-06-13 Western Digital Technologies, Inc. Methods and systems for memory page allocation
US10395688B2 (en) 2016-03-04 2019-08-27 Sony Corporation Of America Storage library system
US10120797B1 (en) * 2016-09-30 2018-11-06 EMC IP Holding Company LLC Managing mapping metadata in storage systems
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5197055A (en) * 1990-05-21 1993-03-23 International Business Machines Corporation Idle demount in an automated storage library
JP2554404B2 (ja) * 1990-05-21 1996-11-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 自動記憶ライブラリ
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5247638A (en) * 1990-06-18 1993-09-21 Storage Technology Corporation Apparatus for compressing data in a dynamically mapped virtual data storage subsystem
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
WO1993023803A1 (en) * 1992-05-21 1993-11-25 Fujitsu Limited Disk array apparatus
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254635A (ja) * 1997-03-07 1998-09-25 Hitachi Ltd 投入されたアレイグループの確認を行なう記憶装置サブシステム
JPH10254638A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置システム
JPH10254642A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 記憶装置システム
JP2003288176A (ja) * 2003-03-07 2003-10-10 Hitachi Ltd 記憶装置システム
JP2003288175A (ja) * 2003-03-07 2003-10-10 Hitachi Ltd 記憶装置システム
JP2005310186A (ja) * 2005-07-01 2005-11-04 Hitachi Ltd 記憶装置システム
JP2006114063A (ja) * 2005-12-28 2006-04-27 Hitachi Ltd 記憶装置システム
JP2013539134A (ja) * 2010-10-01 2013-10-17 ピュア・ストレージ・インコーポレイテッド 動的構成のraidアレイにおける再構成読み込み

Also Published As

Publication number Publication date
EP0708403A2 (en) 1996-04-24
US5497457A (en) 1996-03-05
JP3184748B2 (ja) 2001-07-09

Similar Documents

Publication Publication Date Title
JP3184748B2 (ja) データ記憶ライブラリ・システム及び関連する装置・方法
US5799140A (en) Disk array system and method for storing data
US5799324A (en) System and method for management of persistent data in a log-structured disk array
US5758118A (en) Methods and data storage devices for RAID expansion by on-line addition of new DASDs
US7281089B2 (en) System and method for reorganizing data in a raid storage system
EP0485110B1 (en) Logical partitioning of a redundant array storage system
US5650969A (en) Disk array system and method for storing data
US6941420B2 (en) Log-structure array
US5764880A (en) Method and system for rebuilding log-structured arrays
US5315602A (en) Optimized stripe detection for redundant arrays of disk drives
US5551002A (en) System for controlling a write cache and merging adjacent data blocks for write operations
KR100324867B1 (ko) 압축레코드저장을위한메모리공간할당방법및메모리공간을할당하도록컴퓨터를제어하는메모리매체
EP0617358A1 (en) Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
US5581743A (en) CKD to fixed block mapping for optimum performance and space utilization
JPH0642193B2 (ja) Dasdアレイのための更新記録方法及び装置
JPH07320422A (ja) ディスク・アレイ・システムおよび記憶方法並びに制御装置
CN1290890A (zh) 利用高速缓存器管理raid存储系统的方法和系统
US7073029B2 (en) Storage system using fast storage and log-structured storage
CN100468548C (zh) 具有可变索引结构的硬盘驱动器的缺陷管理
JPH10254642A (ja) 記憶装置システム
US6615284B2 (en) Method and apparatus for performing input/output operations between a requesting device and responding device
JP3584665B2 (ja) 可搬媒体を用いたライブラリ記憶装置
JPH10254634A (ja) 記憶装置および記憶装置の復旧手段
JPH0675707A (ja) アレイ型記憶装置システム
JP2570614B2 (ja) デイスクアレイ装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees