JPH07219719A - 記憶装置及び方法 - Google Patents

記憶装置及び方法

Info

Publication number
JPH07219719A
JPH07219719A JP6286911A JP28691194A JPH07219719A JP H07219719 A JPH07219719 A JP H07219719A JP 6286911 A JP6286911 A JP 6286911A JP 28691194 A JP28691194 A JP 28691194A JP H07219719 A JPH07219719 A JP H07219719A
Authority
JP
Japan
Prior art keywords
storage device
data
parity
command
error correction
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
JP6286911A
Other languages
English (en)
Other versions
JP3072700B2 (ja
Inventor
Peter B Bandy
ピーター・バウファーデット・バンディ
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 JPH07219719A publication Critical patent/JPH07219719A/ja
Application granted granted Critical
Publication of JP3072700B2 publication Critical patent/JP3072700B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1054Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity

Landscapes

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

Abstract

(57)【要約】 【目的】 ドライブのアレイ内で使用されるディスク・
ドライブなどの改善された記憶装置を提供する。 【構成】 各ドライブはロジック及び排他的論理和計算
手段を有する。書込まれるデータが新たなコマンドの下
で、ホスト・コンピュータ11からターゲット・ドライ
ブに送信され、この新たなコマンドがターゲット・ドラ
イブに新たなパリティの一部を生成するように命令し、
更にパリティ・ドライブを識別してもよい。ターゲット
装置はその媒体から旧データを読出し、パリティ・シン
ドロームを生成し、新たなデータを記憶し、次に識別パ
リティ・ドライブとの通信を開始する。そして、そのパ
リティ・ドライブに旧パリティを読出し、パリティ・シ
ンドローム及び旧パリティから新たなパリティ情報70
を生成するように命令する。パリティ・ドライブは新た
なパリティの生成後、ホストまたはホストI/Oアクシ
ョンを伴わずに、その媒体上に新たなパリティを書込
む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は記憶装置が記憶装置のア
レイにより提供されるデジタル記憶システムに関する。
【0002】
【従来の技術】単一のディスク・ドライブで達成される
よりも低いコストにより大記憶容量及び高い信頼性を提
供する、ディスクまたは他の直接アクセス記憶装置(D
ASD)のアレイの利用が知られている。
【0003】米国特許第4870643号はラック内に
実装される標準の5.25インチのディスク・ドライブ
のアレイ、及びSCSI(Small Computer System Inte
rface)を使用するパネル・フレームを教示する。各デ
ータ・ワードはn個のセグメントに分割され、各セグメ
ントはn個の異なるドライブの1つに並列に転送され、
ワード転送レートを高速化する。
【0004】少なくとも1つのディスク・ドライブがパ
リティ・チェック情報を記憶し、これが故障したと思わ
れる任意の1つのディスク・ドライブ上のデータを再生
するために使用される。ドライブが故障すると、オペレ
ータは故障のドライブをフレームから抜き出し、正常な
ドライブと置き換える。次に再生されたデータが置換さ
れたドライブ上に書込まれる。ドライブはディスクの1
つに同期してではなく、マスタ制御装置からの信号に同
期して動作される。
【0005】米国特許第4989206号は、米国特許
第4878643号で述べられるタイプのアレイを教示
するが、データ及びパリティを記憶するために必要とな
るよりも多くのドライブをアレイ内に含む。ドライブが
故障すると、システムがドライブをクロス・ポイント・
スイッチを通じて再接続することにより、故障のドライ
ブを正常なドライブにより置換する。
【0006】このシステムはプロセッサ及びキャッシュ
・メモリを有する制御モジュールを含む。各制御モジュ
ールはコンピュータから受信するデータ・ワードを、n
個のドライブ上に書込まれるn個のセグメントに分割
し、パリティ・ドライブ上に書込まれるパリティ・セグ
メントを生成する。
【0007】IBM Technical Disclosure Bulletin、Vol
ume 32、Number 7(1989年12月)のページ5で
は、IBM System 38及びIBM System 370で使用されるD
ASDアレイ・システムの改善を教示している。
【0008】これらのシステムでは、n個のドライブ内
の対応するDASDブロックのチェックサムがCPUに
より計算される。この教示では、チェックサム・レコー
ドを準備するために必要なCPU時間を低減するため
に、チェックサムがI/Oサブシステム・チャネル及び
キャッシュにおいて計算される。この開示ではまた、デ
ータがn個のドライブの間で分散されず、ドライブの1
つに書込まれる。しかし、チェックサムは全てのドライ
ブのエラー回復を提供するために、n個の全てのドライ
ブに渡って計算される。ドライブの1つがデータ・ブロ
ックにより書込まれる度に、チェックサムが全てのドラ
イブ内のデータから計算されることはない。
【0009】その代わりに、チェックサムは書込まれる
べきドライブ内の旧データ・ブロックの影響を取り除く
ために、それを排他的論理和し、次に新たなチェックサ
ムを獲得するために新たなデータを排他的論理和するこ
とにより更新される。これらの排他的論理和演算がCP
Uにより実行される時、CPUはしばしば、そのキャッ
シュ・メモリを介して作業し、それによりキャッシュは
一度だけ使用されるロング・オペランドによって満たさ
れる。I/Oサブシステムによる計算は、メモリに対し
て直接実行され、従ってキャッシュは保存され、CPU
時間が低減される。
【0010】IBM Technical Disclosure Bulletin、Vol
ume 32、Number 6B(1989年11月)の48ページ
では、チェックサム情報をドライブの1つに記憶する代
わりに、各ディスク・ドライブに渡って分散することを
教示する。この場合、任意のドライブ上の任意のデータ
・ブロックが書込まれる度に、チェックサムが再度書込
まれなければならないので、信頼性を増す効果がある。
別のチェックサム・ドライブが提供されると、そのドラ
イブは他のドライブのいずれかが書込まれる時に動作
し、書込まれる新たなパリティ・ブロックによりバック
ログ(backlog)され、他のドライブよりも早くだめに
なることになる。
【0011】
【発明が解決しようとする課題】上述の従来技術は、低
コストのディスク・アレイの信頼性を改善したが、幾つ
かの問題も提示した。1989年12月のIBM Technica
l Disclosure Bulletinで述べられるように、I/Oサ
ブシステムの利用はI/Oボトルネックの潜在的な原因
として認識される。
【0012】この問題は更にRAID(Redundant Arra
y of Inexpensive Disks)AdvisoryBoard社(ミネソタ
州リノレイクス)によって認識される。同社はRAID
技術の情報源として、"RAIDBook"を発行している。その
中で同社は、RAIDレベル4において発生するパリテ
ィ書込みのボトルネックに対する部分的解決として、R
AIDレベル5を述べている。RAIDレベル4は上記
1989年12月のIBM刊行物の教示と類似であり、
RAIDレベル5は上記1989年11月のIBM刊行
物と類似である。
【0013】この問題はアレイが直接、SCSIバスに
よりホスト・コンピュータに接続され、アレイがホスト
・コンピュータ内で動作するアレイ管理ソフトウェアに
より制御される場合に深刻である。I/O制御装置を提
供する既知の代替は高価であり、上記従来技術で述べた
ように、それ自身がボトルネックとなる可能性がある。
このボトルネックは、ホストが書込みコマンドをRAI
Dレベル2及び3の全てのディスクに送信しなければな
らない、或いは新たなデータに対応する新たなパリティ
を生成するために旧データ及び旧パリティを読出し、次
に新たなデータ及び新たなパリティをRAIDレベル4
及び5として書込まなければならない事実により一層悪
化する。
【0014】
【課題を解決するための手段】これらの及び他の問題
が、アレイ内の各記憶装置にロジック及び計算手段を提
供する本発明により軽減される。本発明によれば、書込
まれるデータが新たなコマンドの下で、ホスト・コンピ
ュータからターゲット・ドライブに送信され、この新た
なコマンドがターゲット・ドライブに新たなパリティの
一部を生成するように命令する。更にコマンドがパリテ
ィ・ドライブを識別してもよい。或いはRAIDレベル
5の上記RAIDBookで述べられるように、パリティ・ドラ
イブが永久にデータチャンク(datachunk)にもとづき
割当てられてもよい。
【0015】ターゲット装置はその媒体から旧データを
読出し、パリティ・シンドロームを生成し、新たなデー
タを記憶し、識別パリティ・ドライブと通信を開始す
る。そして、そのパリティ・ドライブに対して旧パリテ
ィを読出し、パリティ・シンドローム及び旧パリティか
ら新たなパリティ情報を生成するように命令する。パリ
ティ・ドライブは新たなパリティの生成後、ホストまた
はホストI/Oアクションを伴わずに、全てのパリティ
情報を書込む。
【0016】本発明の利点は、別のアレイ制御装置及び
その電源及びパッケージングのコストが削除され、同時
にホスト・コンピュータをパリティの生成及び余計なI
/Oオペレーションから解放することである。本発明の
別の利点は、本発明は少なくとも部分的に、各ディスク
・ドライブ内の既存のディスク装置プロセッサにおいて
実行されるマイクロコードにより実現されることにあ
る。
【0017】別の態様では、各ディスク・ドライブに最
小の排他的論理和ロジックを追加することにより、ディ
スク・ドライブ内の既存の電源に多大な負荷を追加する
ことなしに、スピード的な利点を提供する。
【0018】
【実施例】図1はデータを従来のRAIDレベル5のア
レイ・ディスク記憶システムに書込むための一般的なデ
ータ・パスを示す。ホスト・コンピュータ11内のアプ
リケーション・プログラム10が書込み要求を生成する
と、全ての変更データ・ブロックに対応するパリティ・
ブロックが変化する。
【0019】最初に、アレイ管理ソフトウェア20がア
プリケーション・プログラム仮想ディスク・アドレス
を、アレイ・メンバ番号1及びそのメンバ上のブロック
・アドレスに変換する。次に、アレイ管理ソフトウェア
20は、変更されるメンバ・ブロックの内容30をホス
ト内の内部バッファに読出す。アレイ管理ソフトウェア
はまた別途、選択データ・ブロック位置に対応するパリ
ティ・ブロックの内容40を、パリティ・ドライブ4か
ら内部バッファに読出す。アレイ管理ソフトウェア20
は次に、旧データ30と旧パリティ40との排他的論理
和を計算することにより(50)、ターゲット・ブロッ
ク内での旧データ30の寄与を除去する。次に、中間結
果50が新たなデータ60と排他的論理和され、新たな
パリティ情報70が獲得される。次に、アレイ管理ソフ
トウェアが新たなパリティ情報70をホストからパリテ
ィ・ドライブ4に書込み、また新たなデータ60をホス
ト・コンピュータ11からデータ・ドライブ1に書込
む。これらの読出し及び書込みオペレーションの各々は
I/Oボトルネックに寄与し、ホスト・コンピュータ資
源を消費する。
【0020】図2は本発明により変更された記憶装置の
ブロック図を示す。ホスト・コンピュータ11はSCS
Iバス・アダプタ15により、複数のディスク装置13
−1乃至13−(n+1)に接続される。従来技術に関
連して述べられたように、n個のドライブがデータを記
憶し、関連する追加のドライブがパリティを記憶するよ
うに、n+1個のドライブのアレイを有することが一般
的である。
【0021】もちろん、レベル5の下でのRAIDBookに述
べられるように、各ドライブはドライブ性能を最適化す
るために、普通はデータ及びパリティを有する。
【0022】ホスト・コンピュータ11は大型メインフ
レーム・コンピュータ、またはパーソナル・コンピュー
タを含む任意のアーキテクチャの小型コンピュータであ
る。各記憶装置13は対応するSCSIアダプタ17を
有し、これはレシーバ・モード或いはイニシエータ・モ
ードのいずれかで動作することができる。SCSIアー
キテクチャは、DASD装置がホストを通じて保存デー
タ(archive data)を渡すことなしに、バックアップ機
能を実行するためにイニシエータ・モードを有する。
【0023】各記憶装置はまたプロセッサ19を有し、
これは媒体ハードウェアを制御し、要求される内部デー
タ転送を実行するようにプログラムされる。プロセッサ
19はほとんどの場合、マイクロプロセッサである。メ
モリ21もまた提供され、プロセッサ19において実行
されるプログラムを記憶し、データをバッファする。デ
ータ・バッファ機能は図3に関連して詳細に述べられ
る。プロセッサは直接接続されるシーク制御論理及びド
ライバ23を介して、媒体ハードウェアを制御する。
【0024】ドライバ23はこの実施例では、磁気読出
し/書込みヘッドを媒体27上で移動するアクチュエー
タ25に接続される。媒体に書込まれ、また媒体から読
出されるデータは、読出し/書込みチャネル29を介し
て転送される。読出し/書込みチャネル29は読出し/
書込みヘッドに増幅器(図示せず)により接続される。
【0025】プロセッサ19は標準のマイクロプロセッ
サ・バスにより、SCSIアダプタ17、メモリ21及
び読出し/書込みチャネルに接続される。このバスは好
適な実施例では、Intel社のマイクロプロセッサ809
6により使用されるタイプの16ビット幅のデータ及び
アドレス・バスである。
【0026】上述の装置の他に、後に図3に関連して述
べられるように、パリティ・シンドローム及び新たなパ
リティと、新たなコマンド(Write Protected(書込み
保護)及びWrite Parity(パリティ書込み))をそれぞ
れ生成するために、排他的論理和ロジック31が提供さ
れる。この好適な実施例では、排他的論理和ロジック3
1はハードウェア回路により実現され、これは図2に示
されるように、バス33によりプロセッサ19及びメモ
リ21に接続されて動作する。排他的論理和ロジック3
1は、完全に或いは部分的にプロセッサ19において実
行されるプログラムにより実現することも可能である。
【0027】しかしながら、プログラムによる実現は記
憶装置のオペレーションに悪影響を及ぼす。なぜなら、
マイクロプロセッサは通常は超高速プロセッサではな
く、一緒に排他的論理和されなければならないデータ・
ブロックは比較的長いため、大きな処理時間を要求する
からである。
【0028】排他的論理和ロジック31の回路が、図5
に関連して詳細に述べられる。コマンド形式、並びにWr
ite Protected及びWrite Parityコマンドに対応して選
択されるパラメータは、記憶システムにおいて使用され
るアーキテクチャの特定の実施例に依存する。
【0029】この実施例では、パリティが物理ブロック
・アドレスにもとづき、装置に跨って確立される。それ
によりWrite Protected及びWrite Parityコマンドの各
々は、同一の論理ブロック・アドレス及び転送長を有す
る。パリティ・マッピングは、物理ブロック・アドレス
の関数(好適には図7に示されるような定義関数)とし
て選択される。Write Protectedコマンドを受信するタ
ーゲット記憶装置は、この関数を用いて、Write Parity
コマンドを受信すべき他の装置を決定する。
【0030】当業者には理解されるように、Write Prot
ectedコマンド内のパリティ装置を識別する(例えば図
5に示されるコマンド形式のバイト6をそのために使用
する)ことも、現実的な実施例である。
【0031】図5に関連して後述されるように、Write
Protected及びWrite Parityコマンドは、SCSI Write 10
コマンドの場合に、オペレーション・コード・バイト
の"ベンダ特有(vender specific)"ビット7及び6が
0なのに対して、これらのビットがそれぞれ2進数の1
にセットされる以外は、SCSI Writeコマンドと同じ10
バイト形式を有する。
【0032】好適な実施例のオペレーション:図3及び
図4を参照すると、SCSIアーキテクチャを使用する
本発明の好適な実施例のデータ・パスが、そのオペレー
ションに関連して述べられる。最初に、ホスト・コンピ
ュータ11において実行されるアレイ管理ソフトウェア
が、アプリケーション・プログラムから受取る仮想ディ
スク・アドレスを、アレイ・メンバ番号及びそのメンバ
上のブロック・アドレスに変換する。次にアレイ管理ソ
フトウェアがWrite Protectedコマンド111及び新た
なデータ113を、n+1個のドライブを含むアレイ内
の選択された、またはターゲット・ドライブ13−iに
送信する。Write Protectedコマンド・オペレーション
は、ターゲット・ドライブからCommand Completeを受信
する以外は、ホスト・コンピュータのアレイとの関り合
いを終了する。
【0033】ターゲット・ドライブ13−iにおいて、
Write Protectedコマンドが制御プロセッサ19−i内
のXプログラムにより作用され、新たなデータがメモリ
21−i内のデータ・バッファ117に書込まれる。Wr
ite Protectedコマンドに応答して、Xプログラムは旧
データ119を媒体27−iの作用領域(affected are
a)からバッファ123に読出す。次にXプログラム
は、123内の旧データ119、及び117内の新たな
データ113を排他的論理和31−iに転送し、ここで
パリティ・シンドローム127が、113と119との
排他的論理和により生成される。パリティ・シンドロー
ムは一時的にバッファ129に記憶される。
【0034】新たなデータは次に媒体27−iの作用領
域に書込まれる。Xプログラムは次にSCSIアダプタ
17−iをイニシエート・モードに入力させ、ドライブ
13−iがWrite Parityコマンド131を、ホスト11
からのWrite Protectedコマンド内において受信された
のと同じ論理ブロック・アドレス及びカウントと共に、
識別パリティ・ドライブ13−pに発行する。ドライブ
13−iはまた、パリティ・シンドローム情報127を
パリティ・ドライブ13−pに送信する。
【0035】Write Parityコマンド131に応答して、
記憶装置13−p内のYプログラムは、旧パリティ21
9を媒体27−pの作用領域からバッファの223に読
出す。次にYプログラムは、223内の旧パリティ21
9、及び217内のパリティ・シンドローム127を排
他的論理和31−pに転送し、ここで新たなパリティ情
報227が127と219との排他的論理和により生成
される。新たなパリティ情報227は一時的にバッファ
229に記憶される。
【0036】新たなパリティ情報227は次に媒体27
−pの作用領域に、旧パリティ219の代わりに書込ま
れる。この新たなパリティは旧パリティからの情報を含
むので、他のドライブのいずれかが故障した場合、その
ドライブ上の対応ブロック内の他のデータを再生するた
めに、通常のように使用される。
【0037】図3及び図4から明らかなように、2つの
SCSIコマンド及び2つの情報だけがSCSIバスを
介して転送される。他の全てのオペレーションは作用さ
れる記憶装置ドライブに対して内部的に実行される。図
5は標準のWrite 10コマンドの場合のSCSIコマンド
形式を示す。0乃至9の10バイトが10行内に示さ
れ、各バイトの8ビットが7乃至0の列に示される。こ
こで列7が最上位ビットに相当する。
【0038】バイト0はオペコード(Op Code)であ
り、Write 10コマンドでは、これは16進数の2Aすな
わち2進数の00101010である。バイト1は論理ユニット
・アドレスを含み、他の制御フィールドは本発明には関
連しない。バイト2乃至バイト5は、32ビットの論理
ブロック・アドレスに相当する。バイト6は予約済みで
あり、バイト7及びバイト8は転送長である。バイト9
は追加の制御フィールドであり、本発明には関連しな
い。
【0039】Write Protectedコマンド及びWrite Parit
yコマンドは、SCSI Write 10コマンドの場合に、オペレ
ーション・コード・バイトの"ベンダ特有"ビット7及び
6が2進数の0であるのに対して、これらのビットがそ
れぞれ1にセットされる以外は、SCSI Write 10コマン
ドと同じ10バイト形式を有する。すなわち、オペコー
ドはWrite ProtectedコマンドとWrite Parityコマンド
の場合で、それぞれ16進数のAAすなわち2進数の10
101010、及び16進数の6Aすなわち2進数の01101010
となる。
【0040】図6は排他的論理和ロジック31の1実施
例の詳細なブロック図を示す。排他的論理和ロジック3
1の中心部では、3つのレジスタ間で、複数の排他的論
理和回路311が並列アレイとして接続される。排他的
論理和回路の数は、好適には、図2に示されるバス33
のデータ・パスの幅と同じに選択される。
【0041】同様に、レジスタ313、315及び31
7はバス33と同じ幅を有する。各レジスタにはそれぞ
れアドレス・レジスタ323、325及び327が関連
付けられる。各アドレス・レジスタは、オペランド或い
は結果が記憶されるメモリ21内のバッファの開始アド
レスを記憶する。例えばレジスタ323は、図3に示さ
れる新たなデータを含むデータ・バッファ117の開始
アドレスを指し示す。同様にレジスタ325は、旧デー
タが含まれるバッファ123の開始アドレスを記憶し、
レジスタ327はパリティ・シンドロームが記憶される
アドレスを記憶する。
【0042】排他的論理和ロジック31は制御ブロック
331を含み、これはカウンタ333に接続される。こ
れらは一緒になって、直接メモリ・アクセス(DMA)
・モードにおける排他的論理和ロジック31のオペレー
ションを制御する。プログラムX及びYのサブプログラ
ムがマイクロプロセッサ19内で動作し、制御ブロック
331に対して、続く長さカウントすなわち書込まれる
新たなデータのバイト数をレジスタ333にロードする
ように指令することにより、DMAオペレーションを開
始する。その後、制御ブロック331の制御の下で、開
始アドレスがアドレス・レジスタ323、325及び3
27にロードされる。
【0043】マイクロプロセッサ19が開始コマンドを
制御ブロック331に送信すると、制御ブロックは識別
アドレスからレジスタ313及び315へのロードを開
始し、それらを排他的論理和し、結果をレジスタ317
から、レジスタ327により指し示されるメモリ19の
アドレスに再度返送して記憶する。制御ブロック331
は次にカウンタ333及びアドレス・レジスタ323、
325及び327の内容をステップし、カウンタ333
の内容が0に減少するまで、このサイクルを繰返す。こ
の時点で、例えば旧データと新たなデータとがドライブ
13−iにおいて完全に排他的論理和され、パリティ・
シンドロームの生成オペレーションが完了する。
【0044】同じシーケンスがパリティ・ドライブ13
−pにおいても実行され、新たなパリティがパリティ・
シンドローム及び旧パリティから生成される。
【0045】図7は、RAIDレベル5によるメンバ記
憶装置に渡るデータ分散のマッピング例を示す。仮想デ
ィスク411は、例えばブロック0乃至ブロック11を
有し、アレイ管理ソフトウェア413により物理記憶装
置0乃至4に接続される。装置415(ディスク0とラ
ベル付けされる)は、ブロック0、4、8及び12を記
憶する。装置417(ディスク1とラベル付けされる)
は、ブロック1、5、9、並びにブロック12、13、
14及び15に対応するパリティを記憶する。装置41
9(ディスク2とラベル付けされる)は、ブロック2、
6、13、並びにブロック8、9、10及び11に対応
するパリティを記憶する。装置421(ディスク3とラ
ベル付けされる)は、ブロック3、10、14、並びに
ブロック4、5、6及び7に対応するパリティを記憶す
る。装置423(ディスク4とラベル付けされる)は、
ブロック7、11、15、並びにブロック0、1、2及
び3に対応するパリティを記憶する。
【0046】好適な実施例により本発明を説明してきた
が、コンピュータ周辺装置の設計に携わる当業者には、
本発明の精神及び範囲から逸脱することなしに、構造及
びプログラミングの様々な変更が可能であることが理解
されよう。
【0047】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0048】(1)コンピュータと共に使用されるタイ
プの記憶装置であって、前記記憶装置をコンピュータ及
び少なくとも1つの他の記憶装置に接続するインタフェ
ースと、前記インタフェースに接続されて、コマンドを
受信する制御手段と、前記制御手段に接続され、前記コ
マンドに応答してデータ及びエラー訂正情報を記憶する
ように前記制御手段により制御される記憶媒体と、前記
制御手段に接続され、前記インタフェースから受信され
た情報と、前記記憶媒体から受信された情報とから、前
記エラー訂正情報として有用な結果を計算する計算手段
と、を含む記憶装置。 (2)前記記憶媒体がディスク媒体を含む、前記(1)
記載の記憶装置。 (3)前記制御手段がマイクロプロセッサを含む、前記
(1)記載の記憶装置。 (4)前記インタフェースがSCSIインタフェースを
含む、前記(1)記載の記憶装置。 (5)前記計算手段が排他的論理和回路を含む、前記
(1)記載の記憶装置。 (6)前記コマンドが、前記制御手段に対して、前記イ
ンタフェースから受信した前記情報を前記媒体上に記憶
するように指令する書込み保護コマンドである、前記
(1)記載の記憶装置。 (7)前記書込み保護コマンドがSCSIコマンドの要
件に従う、前記(4)記載の記憶装置。 (8)前記書込み保護コマンドが11101010のオペコード
・ビット・パターンを有する、前記(7)記載の記憶装
置。 (9)前記コマンドが、前記制御手段に対して、前記エ
ラー訂正情報を前記媒体上に記憶するように指令するパ
リティ書込みコマンドである、前記(1)記載の記憶装
置。 (10)前記パリティ書込みコマンドがSCSIコマン
ドの要件に従う、前記(9)記載の記憶装置。 (11)前記パリティ書込みコマンドが01101100のオペ
コード・ビット・パターンを有する、前記(10)記載
の記憶装置。 (12)前記インタフェースから受信される前記情報が
前記媒体上に書込まれる新たなデータであり、前記結果
が旧データの影響が除去されて、前記新たなデータの影
響が追加されるエラー訂正情報である、前記(1)記載
の記憶装置。 (13)前記インタフェースから受信される情報が、旧
データの影響が除去されて、前記新たなデータの影響が
追加される前記エラー訂正情報であり、前記計算手段が
前記制御手段により制御されて、前記インタフェースか
ら受信される前記エラー訂正情報と、前記媒体上に記憶
される旧エラー訂正情報とから結果を計算し、前記旧デ
ータの影響が除去され、前記新たなデータの影響が追加
され、別の記憶装置上に記憶される他のデータの影響が
追加された新たなエラー訂正情報を計算し、前記新たな
エラー訂正情報が、前記新たなデータ内に存在するかも
しれない将来のエラーの訂正、或いは前記他のデータ内
に存在するかもしれないエラーの訂正に有用である、前
記(1)記載の記憶装置。 (14)記憶装置のアレイ上にデータを記憶する方法で
あって、第1のコマンド及び新たなデータを第1の記憶
装置に送信するステップと、前記第1の記憶装置内の第
1の媒体から旧データを読出すステップと、前記新たな
データと前記旧データとの排他的論理和を計算して、前
記旧データの影響の除去に関する情報と、前記新たなデ
ータの影響に関する情報とを含む第1のエラー訂正情報
を生成するステップと、前記第1の媒体上に前記新たな
データを記憶するステップと、第2のコマンド及び前記
第1のエラー訂正情報を、前記第1の記憶装置から第2
の記憶装置に送信するステップと、旧エラー訂正情報を
前記第2の記憶装置内の第2の媒体から読出すステップ
と、前記第1のエラー訂正情報と前記旧エラー訂正情報
との排他的論理和を計算して、前記旧データの影響の除
去に関する情報と、前記新たなデータの影響に関する情
報と、他の記憶装置上に記憶される他のデータの影響を
含む新たなエラー訂正情報を生成するステップと、前記
新たなエラー訂正情報を前記第2の媒体上に記憶するス
テップと、を含む方法。
【0049】
【発明の効果】本発明の実施により、別のアレイ制御装
置及びその電源及びパッケージングのコストが削除さ
れ、同時にホスト・コンピュータをパリティの生成及び
余計なI/Oオペレーションから解放することができ
る。本発明は少なくとも部分的に、各ディスク・ドライ
ブ内の既存のディスク装置プロセッサにおいて実行され
るマイクロコードにより実現することができる。各ディ
スク・ドライブに最小の排他的論理和ロジックを追加す
ることにより、ディスク・ドライブ内の既存の電源に多
大な負荷を追加することなしに、スピード的な利点を提
供することができる。
【図面の簡単な説明】
【図1】RAIDレベル5の下での従来方法のデータ・
パスのブロック図である。
【図2】本発明によるデータ記憶装置のブロック図であ
る。
【図3】本発明のデータ・パスのブロック図である。
【図4】本発明のデータ・パスのブロック図である。
【図5】SCSI書込みコマンドの形式を示す図であ
る。
【図6】本発明によるパリティ生成手段のブロック図で
ある。
【図7】パリティ装置を選択するための可能な機能図で
ある。
【符号の説明】
0、1、2、3 データ・ドライブ 4 パリティ・ドライブ 10 アプリケーション・プログラム 11 ホスト・コンピュータ 13 記憶装置 15 SCSIバス・アダプタ 17 SCSIアダプタ 19 プロセッサ 20、413 アレイ管理ソフトウェア 21 メモリ 23 ドライバ 25 アクチュエータ 29 読出し/書込みチャネル 30、119 旧データ 31 排他的論理和ロジック 33 バス 40、219 旧パリティ 50 XORデータ 60、113 新たなデータ 70、227 新たなパリティ情報 111 Write Protectedコマンド 117 データ・バッファ 123、129、223、229 バッファ 127 パリティ・シンドローム 131 Write Parityコマンド 311 排他的論理和回路 313、315、317 レジスタ 323、325、327 アドレス・レジスタ 331 制御ブロック 333 カウンタ 411 仮想ディスク 415、417、419、421、423 装置

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】コンピュータと共に使用されるタイプの記
    憶装置であって、 前記記憶装置をコンピュータ及び少なくとも1つの他の
    記憶装置に接続するインタフェースと、 前記インタフェースに接続されて、コマンドを受信する
    制御手段と、 前記制御手段に接続され、前記コマンドに応答してデー
    タ及びエラー訂正情報を記憶するように前記制御手段に
    より制御される記憶媒体と、 前記制御手段に接続され、前記インタフェースから受信
    された情報と、前記記憶媒体から受信された情報とか
    ら、前記エラー訂正情報として有用な結果を計算する計
    算手段と、 を含む記憶装置。
  2. 【請求項2】前記記憶媒体がディスク媒体を含む、請求
    項1記載の記憶装置。
  3. 【請求項3】前記制御手段がマイクロプロセッサを含
    む、請求項1記載の記憶装置。
  4. 【請求項4】前記インタフェースがSCSIインタフェ
    ースを含む、請求項1記載の記憶装置。
  5. 【請求項5】前記計算手段が排他的論理和回路を含む、 請求項1記載の記憶装置。
  6. 【請求項6】前記コマンドが、前記制御手段に対して、
    前記インタフェースから受信した前記情報を前記媒体上
    に記憶するように指令する書込み保護コマンドである、
    請求項1記載の記憶装置。
  7. 【請求項7】前記書込み保護コマンドがSCSIコマン
    ドの要件に従う、請求項4記載の記憶装置。
  8. 【請求項8】前記書込み保護コマンドが11101010のオペ
    コード・ビット・パターンを有する、請求項7記載の記
    憶装置。
  9. 【請求項9】前記コマンドが、前記制御手段に対して、
    前記エラー訂正情報を前記媒体上に記憶するように指令
    するパリティ書込みコマンドである、請求項1記載の記
    憶装置。
  10. 【請求項10】前記パリティ書込みコマンドがSCSI
    コマンドの要件に従う、請求項9記載の記憶装置。
  11. 【請求項11】前記パリティ書込みコマンドが01101100
    のオペコード・ビット・パターンを有する、請求項10
    記載の記憶装置。
  12. 【請求項12】前記インタフェースから受信される前記
    情報が前記媒体上に書込まれる新たなデータであり、前
    記結果が旧データの影響が除去されて、前記新たなデー
    タの影響が追加されるエラー訂正情報である、請求項1
    記載の記憶装置。
  13. 【請求項13】前記インタフェースから受信される情報
    が、旧データの影響が除去されて、前記新たなデータの
    影響が追加される前記エラー訂正情報であり、前記計算
    手段が前記制御手段により制御されて、前記インタフェ
    ースから受信される前記エラー訂正情報と、前記媒体上
    に記憶される旧エラー訂正情報とから結果を計算し、前
    記旧データの影響が除去され、前記新たなデータの影響
    が追加され、別の記憶装置上に記憶される他のデータの
    影響が追加された新たなエラー訂正情報を計算し、前記
    新たなエラー訂正情報が、前記新たなデータ内に存在す
    るかもしれない将来のエラーの訂正、或いは前記他のデ
    ータ内に存在するかもしれないエラーの訂正に有用であ
    る、請求項1記載の記憶装置。
  14. 【請求項14】記憶装置のアレイ上にデータを記憶する
    方法であって、 第1のコマンド及び新たなデータを第1の記憶装置に送
    信するステップと、 前記第1の記憶装置内の第1の媒体から旧データを読出
    すステップと、 前記新たなデータと前記旧データとの排他的論理和を計
    算して、前記旧データの影響の除去に関する情報と、前
    記新たなデータの影響に関する情報とを含む第1のエラ
    ー訂正情報を生成するステップと、 前記第1の媒体上に前記新たなデータを記憶するステッ
    プと、 第2のコマンド及び前記第1のエラー訂正情報を、前記
    第1の記憶装置から第2の記憶装置に送信するステップ
    と、 旧エラー訂正情報を前記第2の記憶装置内の第2の媒体
    から読出すステップと、 前記第1のエラー訂正情報と前記旧エラー訂正情報との
    排他的論理和を計算して、前記旧データの影響の除去に
    関する情報と、前記新たなデータの影響に関する情報
    と、他の記憶装置上に記憶される他のデータの影響を含
    む新たなエラー訂正情報を生成するステップと、 前記新たなエラー訂正情報を前記第2の媒体上に記憶す
    るステップと、 を含む方法。
JP6286911A 1994-01-07 1994-11-21 記憶装置及び方法 Expired - Lifetime JP3072700B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US178955 1988-04-07
US17895594A 1994-01-07 1994-01-07

Publications (2)

Publication Number Publication Date
JPH07219719A true JPH07219719A (ja) 1995-08-18
JP3072700B2 JP3072700B2 (ja) 2000-07-31

Family

ID=22654605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6286911A Expired - Lifetime JP3072700B2 (ja) 1994-01-07 1994-11-21 記憶装置及び方法

Country Status (7)

Country Link
US (1) US5574736A (ja)
EP (1) EP0662660A1 (ja)
JP (1) JP3072700B2 (ja)
KR (1) KR0162121B1 (ja)
CA (1) CA2134016A1 (ja)
MY (1) MY113983A (ja)
SG (1) SG42319A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894564A (en) * 1995-06-07 1999-04-13 International Business Machines Corporation System for identifying memory segment bounded by previously accessed memory locations within data block and transferring thereof only when the segment has been changed
US6154810A (en) * 1995-08-28 2000-11-28 Apple Computer, Inc. System and method for utilizing the memory of a portable computer as a disk cache while in SCSI target mode
US6108812A (en) * 1996-06-20 2000-08-22 Lsi Logic Corporation Target device XOR engine
US5889934A (en) * 1997-02-24 1999-03-30 Data General Corporation Data validation system for a group of data storage disks
US5935260A (en) * 1997-05-02 1999-08-10 Emc Corporation Method and apparatus for providing system level errors in a large disk array storage system
US6112255A (en) * 1997-11-13 2000-08-29 International Business Machines Corporation Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations
EP1340877B1 (de) 2002-03-01 2016-05-25 GEZE GmbH Türantrieb
JP2004199319A (ja) * 2002-12-18 2004-07-15 Konica Minolta Holdings Inc 情報処理装置
US7380198B2 (en) * 2003-06-11 2008-05-27 International Business Machines Corporation System and method for detecting write errors in a storage device
GB2402803B (en) * 2003-06-11 2006-06-28 Ibm Arrangement and method for detection of write errors in a storage system
US10585749B2 (en) * 2017-08-10 2020-03-10 Samsung Electronics Co., Ltd. System and method for distributed erasure coding
KR20190085642A (ko) * 2018-01-11 2019-07-19 에스케이하이닉스 주식회사 메모리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158621A (ja) * 1991-12-04 1993-06-25 Hitachi Ltd ディスク装置およびディスクアレイ装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
US5317713A (en) * 1991-09-19 1994-05-31 Quantum Corporation Micro-winchester disk drive having on-board segmented cache memory
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5493574A (en) * 1992-09-24 1996-02-20 Zilog, Inc. Power efficient RAM disk and a method of emulating a rotating memory disk
DE4309148A1 (de) * 1993-03-22 1994-09-29 Siemens Nixdorf Inf Syst Disk-Array mit Lastverteilung
US5367669A (en) * 1993-03-23 1994-11-22 Eclipse Technologies, Inc. Fault tolerant hard disk array controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158621A (ja) * 1991-12-04 1993-06-25 Hitachi Ltd ディスク装置およびディスクアレイ装置

Also Published As

Publication number Publication date
JP3072700B2 (ja) 2000-07-31
KR950024098A (ko) 1995-08-21
CA2134016A1 (en) 1995-07-08
MY113983A (en) 2002-07-31
US5574736A (en) 1996-11-12
EP0662660A1 (en) 1995-07-12
KR0162121B1 (ko) 1999-01-15
SG42319A1 (en) 1997-08-15

Similar Documents

Publication Publication Date Title
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
EP0572564B1 (en) Parity calculation in an efficient array of mass storage devices
US5720027A (en) Redundant disc computer having targeted data broadcast
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US6070249A (en) Split parity spare disk achieving method in raid subsystem
JP3164499B2 (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
CN101047010B (zh) 用于最大化raid系统中受保护数据量的方法和系统
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
JP3151008B2 (ja) ディスクセクタ解析方法
US5487160A (en) Concurrent image backup for disk storage system
EP0369707B1 (en) Arrayed disk drive system and method
US5758054A (en) Non-volatile memory storage of write operation identifier in data storage device
US5072378A (en) Direct access storage device with independently stored parity
JP3181398B2 (ja) アレイ型記録装置
US5996046A (en) Parity generation system for generating new parity using old data in temporary storage without accessing main disk storage of disk drive
JP3561002B2 (ja) ディスク装置
EP0517823A1 (en) Data corrections applicable to redundant arrays of independent disks
JP3072700B2 (ja) 記憶装置及び方法
JP3247075B2 (ja) パリティブロックの生成装置
US20080301403A1 (en) System for integrity protection for standard 2n-bit multiple sized memory devices
US5838892A (en) Method and apparatus for calculating an error detecting code block in a disk drive controller
JPH08249218A (ja) ファイル制御装置及びデータ書き込み方法
CN1124376A (zh) 改进的数据存储设备及操作方法
JPH08171463A (ja) ディスクアレイ装置におけるデータ読み出し方法およびディスクアレイ装置
JP3009987B2 (ja) ディスクアレイ装置