JPH0573217A - レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム - Google Patents

レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム

Info

Publication number
JPH0573217A
JPH0573217A JP4003351A JP335192A JPH0573217A JP H0573217 A JPH0573217 A JP H0573217A JP 4003351 A JP4003351 A JP 4003351A JP 335192 A JP335192 A JP 335192A JP H0573217 A JPH0573217 A JP H0573217A
Authority
JP
Japan
Prior art keywords
dasd
record
track
parity
tracks
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
JP4003351A
Other languages
English (en)
Other versions
JPH0736143B2 (ja
Inventor
Jaishankar M Menon
ムーセダス メノン ジヤイシヤンカー
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 JPH0573217A publication Critical patent/JPH0573217A/ja
Publication of JPH0736143B2 publication Critical patent/JPH0736143B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

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

Abstract

(57)【要約】 【目的】 データが可変長フォーマットで記憶される小
規模トラック読み出し書き込み操作に適した、N個のD
ASDアレイ内の選択されたDASDへの単一パスアク
セスを保証する。 【構成】 D3が5バイト長であるDASD1のD3を
更新することが好ましいと仮定する。D3はDASD1
より読み出され、D8はDASDNより読み出される。
フィールドD8はD8最後の5バイトの値を変えること
によって更新される。つまりD3の新旧の値と、D8の
最後の5バイトの古い値との排他的オアをとることによ
って決定される。D8の更新された値とD3の新たな値
は、DASDの後方に書き込まれる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データが可変長フォー
マット(カウントキーデータ方式)で記憶され、多くの
転送が小さいかバーストになる複数の直接アクセス記憶
装置(DASD)アレイにアクセスするための方法と手
段に関する。他の同期転送群における全てより少ないア
レイDASDがアクセスされるとき、小転送(読み出し
/書き込み動作)が発生する。
【0002】
【従来の技術】固定長レコード等に関するDASDアレイデータ率と同
時処理のチューニング ブレイディ(Brady) 他の1990年5月24日出願の米国特許
出願第07/528、999号では、ブロックデータ
(固定等長エクステント(範囲)におけるデータ)を記
憶するN個の同期型DASDのアレイにアクセスする方
法と手段を述べている。アレイはアクセスするCPUに
とって、各トラック長がN*単一DASD物理トラック
長であった仮想DASDとして見られる。データ率は
(N−1)*単一装置率に等しかった。モデルは単一D
ASD(パリティDASDもしくは相当するスペース)
が単一DASDが故障した場合、データの再生成を容易
にすると仮定した。
【0003】この米国特許では、固定ブロックを物理ア
レイに記憶する繰り返しパターンに関する単一パラメー
タは、データ率と同時処理(独立した同時処理のアクセ
ス数)を「チューニングする」ために使用されうること
が発見されている。
【0004】CPU/アレイデータ率はN個のDASD
のN個の対物理トラックからN個のブロックを一度にア
クセスすることで最大限にされ、アクセスブロックは、
1からN、(N+1)から2N、(2N+1)から3
N、...{(K−1)N+1}からKNの、繰り返し
間隔をもつK*N個の連続固定ブロックの論理レコード
の一部を形成した。各物理トラックはK個のブロックま
での容量を備えていた。このN個のブロックを一度に横
切る設置は、Nの繰り返し間隔をもつ「アレイ列優先
順」と名付けられた。勿論、全N個のDASDが同じ処
理でアクセスされていたため、一度に1トランザクショ
ンしか処理されなかった。
【0005】連続ブロックが、繰り返し間隔をK個のブ
ロックとし、対b<N個のDASDのトラックに沿って
レイアウトされたとき同時処理は改良された。即ち、第
1のDASDの第1トラックがブロック1からKを記憶
する。第2のDASDの対トラックがブロックK+1か
ら2Kを記憶する。b番目のDASDの対トラックは
(b−1)K+1からbKのブロックを記憶する。トラ
ック方向へのブロックのレイアウトは「アレイ行優先
順」と名付けられた。結果として、アレイはそれぞれb
個とN−b個のDASDの2群に区分されることが可能
になった。各群は独立同時処理してアクセスされること
が可能になった。
【0006】ブレイディ他の解法は、(a)行優先順係
数(モジュラス)を用いてアレイにブロックをフォーマ
ット化すること、及び(b)アレイ上に大小のアクセス
要求のランダムシーケンスを実行することを含んでい
た。
【0007】更に包括的に述べると、ブレイディの方法
は(a)Mがクローズド(閉)間隔(1、K)にあり、
Mを法とする行優先順とM*Nを法とする列優先順での
アレイに、論理ファイルのK*Nブロックをフォーマッ
トし、(b)N個のDASDアレイ上への大小アクセス
要求を実行し、それにより所定のMに対する最大データ
率を達成するために転送されるブロックの最小数Xがク
ローズド間隔((N−1、(N−1)K)に存在し、後
者の間隔のエンドポイントがそれぞれM=1及びM=K
により定義されることを含んでいた。
【0008】数値集約計算、トランザクション処理、及
び長短読み出し書き込み 当事者らが容易に真価を認めたように、ブレイディ他の
方法は高いデータ率を数値集約計算(NIC)と等しい
と明確に定義した。更に同時処理をトランザクション処
理と等しいと定義した。
【0009】NICにおいて、CPUは迅速なアクセ
ス、高い容量、中間結果記憶領域、即ち、DASDアレ
イ、により長い文字数字の列から形成された大メッセー
ジを順次アクセスし処理する。またCPUは再帰的より
むしろ反復的アルゴリズムを頻繁に用いる。2種類のア
ルゴリズムは共に、同一のあるいは同様の部分的結果の
列を繰り返し順次参照し再参照するだろうが、一方反復
ベースの計算は全計算にまで広がるデータアクセスエラ
ーを発生させる傾向が少ない。従って、アクセスエラー
も、長く複雑なCPU/アレイ交換の中断や繰り返しを
行うよりもむしろ、システムやアプリケーションの選択
の問題として無視されよう。本議論の他のもう1つのア
プローチは巡回エラー符号よりもむしろブロックの使用
である。この場合CPUは影響を受けたデータブロック
のみを再生せねばならない。
【0010】トランザクションはデータの完全性と回復
性を保証するため、ランダム記憶参照と原子操作によっ
て特徴づけられる。そうした処理は、典型的に自動銀行
窓口機やスーパーマーケットの勘定台等で発生する人間
対機械の小さい/短いメッセージの会話形交換を含む。
そのような個々に処理されたシングルスレッド計算の純
粋なボリュームが、アクセス要求の同時処理を中間結果
記憶領域(DASDアレイ)に課している。即ち、でき
るだけ多くのトランザクションをほぼ同時に処理する必
要がある。
【0011】DASDアレイから可変長データをアクセ
スする局面 データの有効な部分は可変長フォーマットのDASD記
憶領域にある。IBMS/370 CPU及び付属の外
部記憶装置に用いられる1つの統括は、周知のMVSオ
ペレーティングシステムの下で作動しているカウント/
キー/データ、即ち、CKDとして知られている。この
統括において、各レコードは固定長カウントフィールド
と固定長キーフィールド、可変長データフィールドから
成る。カウントフィールドはデータフィールドの長さを
定義する一方、キーフィールドはレコード識別(ID)
として役立っている。DASDに記録されたフィールド
は、システムが次のフィールドを扱う準備中、時間間隔
を定義するスペースやギャップによってトラック上で区
切られる。
【0012】物理DASDトラック以上に広がるデータ
フィールドをもつレコードは、CPUにおいて、適当な
ポインタやオペレーティングシステムの記憶装置やファ
イル管理部分に保全された他の連係する規定を備えるい
くつかのより小さいレコードへと再フォーマット化され
る。同様に、トラックは種々の長さの多くの小規模レコ
ードを記憶するであろう。これは、ファイルのさまざま
な長さのレコードを読み出し、書き込み、更新すること
が、固定ブロックを含むより更に複雑な操作になること
を導いている。
【0013】書き込み更新及びパリティ パッターソン(Patterson)他は、”ACM SIGMOD 会議,
Chicago Illinois, 1988年6月1−3日”の、「安
価ディスクの冗長アレイ問題(A Case for Re-dundant
Arrays of Inexpensive Disks (RAID)) 」において、物
理トラックマッピングへの論理レコードを論じた。また
彼は反射したDASDとハミングエラー訂正符号の符号
化を防いで、ブロックをDASDアレイに列優先順で記
憶することに言及した。これは大小のアクセス要求を収
容するデータ率をもつためであった。最後に、パッター
ソンは新たなパリティの計算を古いデータ、新たなデー
タ、及び古いパリティの排他的オアをとるとして記述し
ている。後者は、1個のDASDの1ブロックの更新を
必要とするだけならば、N個のDASDをアクセスする
必要がないと指示するため重要であった。ブレイディ他
に指摘されたように、影響を受けたデータと関係情報を
含むパリティDASDのみがアクセスされる必要があ
る。
【0014】同時処理及び単一パスは数々の含意をもつ 明らかに、b個とN−b個のDASDの2区分はそれぞ
れのアプリケーションによって同時にアクセスされう
る。しかしながら、区分内のDASDのアームがデータ
とパリティトラックとに異なって位置づけられるため、
同時処理即ち、より正確には、位置づけ、読み出し、又
は書き込む素子の同期がない。
【0015】この明細書において用いられる用語「単一
パス」は、所定の終了効果あるいは結果を果たすために
必要な全操作が実行される間の間隔を意味する。この用
語は単一DASDトラック回転を内包していない。
【0016】
【発明が解決しようとする課題】従って本発明の目的
は、特にデータが可変長フォーマットに記録される小規
模トラック読み出し書き込み操作に適した、N個のDA
SDのアレイ内の選択されたDASDへの単一パスアク
セスを保証するための方法と手段を考案することであ
る。
【0017】
【課題を解決するための手段と作用】前述の目的は、可
変長レコードのバイトオフセットと、N−1個の他のD
ASDを横切る同一のトラックに記憶されたデータのバ
イトレベルパリティイメージのバイトオフセット間との
相互関係を利用する方法と手段によって満足される。
【0018】本発明の方法は、N個のDASDのアレイ
のDASDトラックに行優先順で記憶される可変長フォ
ーマット化された(カウント、キー、及びデータ)レコ
ードの中の選択フィールドを書き込み更新する。その方
法と手段は、レコードのバイトレベル排他的オアの単純
パリティイメージを、N−1個のDASDを横切る各i
番目のトラックから物理的に記録されたとして生成し、
前記イメージを第N番目のDASDの第i番目のトラッ
クに可変長レコードとして記憶する工程/要素からな
る。
【0019】本発明の方法は更に、選択されたDASD
への書き込み要求に応じて次のステップよりなる。 (1)選択されたDASDの第i番目のトラックに更新
されるべきレコードと、第N番目のDASDの第i番目
のトラックのパリティレコード内のレコード識別とのバ
イト位置オフセット同期を設定する。 (2)前記レコードを選択されたDASDと第N番目の
DASDから入手し更新する。 (3)更新データとパリティレコードをそれぞれ選択さ
れた及び第N番目のDASDの第i番目のトラックに書
き換える。
【0020】言い換えると、単一パスにおける書き込み
更新は、データを変更し書き換えることと同期するパリ
ティを変更し書き換えることによって得られる。即ち、
データと関連するパリティは等価の仮想DASDにおけ
るバイトオフセットによってアクセスされる。次に、デ
ータとパリティはそれぞれ同期様式で選択された及び第
N番目のDASDに再計算及び書き換えされる。
【0021】パリティイメージは異なったDASDを横
切って分散されるため、「パリティDASD」等は存在
しない。例えば、N=10個のDASDのアレイのと
き、DASD1−9のからの第i番目のトラックのイメ
ージはDASD10に記憶されるが、DASD2−10
上の第i+1番目のトラックのイメージはDASD1に
記憶されるだろう。
【0022】また、イメージが単一イメージトラックの
代わりに2イメージトラックに記憶される、パリティイ
メージのフルトラック読み出しは避けられるだろう。
【0023】
【実施例】DASDアレイの論理的かつ物理的局面 図1に関して、先行技術に従ってN個のDASDの同期
的アレイが描写されている。このアレイにおいて記録さ
れたもののブロックは、共に係属中のブレイディ他の出
願による方法で、第N番目のDASDが常にパリティブ
ロックを含む列優先順に書き込まれている。好都合に
も、データ率は単一DASDの転送率のN−1倍に増加
され、大規模読み出し書き込みが含まれる用途を発見し
ている。
【0024】図2に関して、CPU1がチャネル3、ア
レイコントローラ5及びキャッシュ13を含むパスを介
してDASD1からNにアクセスすることを示してい
る。コントローラ5は操作的に同期を確保し、コントロ
ールパス7を介してDASD1からNの間にアクセスす
る。アクセスに応じて、データのNバイトはデータパス
15を介してキャッシュ13に並行に交換されうる。同
様に、データはバイトによりコントローラ5とパス3を
経由して制御パス9、及びデータパス11を介してCP
U1とキャッシュ13間で直列的に交換されうる。
【0025】行と列優先順における先行技術の固定ブロ
ックフォーマット キャッシュ13のアレイへの設置は、CPU1によって
見られる記憶装置の視点を変更する。このキャッシュ
は、論理シリンダを編成する1かそれ以上の論理トラッ
クをもつブロック編成論理DASDでの、情報をアクセ
スするCPU1を実行する任意のアプリケーションを平
滑にし容易にする。平滑さは、キャッシュがCPU/キ
ャッシュインタフェースからキャッシュ/アレイ対話を
減結合する、特殊なバッファとしての作動より生じる。
即ち、DASDのアレイへのキャッシュ基準率(レー
ト)が、少なくともランダム(非連続)アクセスのキャ
ッシュへのCPU基準率より非常に低いためデータ率の
ギャップを減少する。
【0026】図3に関して、KN個のブロックは列優先
順にフォーマットされる。また各パリティブロックはそ
の列の別のN−1個のブロックにまたがる。しかしなが
ら、K個のパリティブロックはDASDを横切り対角線
上にストライプされる。同時書き込み操作の場合、全パ
リティブロックがパリティDASD上にあるならば、対
角線のストライプは何れの1個のDASDをも争わせる
ような状態を避けている。
【0027】K>>Nのとき、ストライピングはNを法
とするKを発生する。更に上記の通り、同じ列における
異なるブロックの現行の読み出し書き込みが、(異なる
DASDに位置づけられるため)可能である。それにも
かかわらず、同じ列のブロックもしくは同一のDASD
のブロックへの同時書き込みは避けられるべきである。
第1の場合、同一のパリティブロックは順次変更される
だけだが、第2の場合は同一のDASDは順次書き込み
か読み出しされるだけである。
【0028】図4に関して、M=KであるMを法とする
行優先順Kにおけるタイプ2HのN個のDASDのアレ
イと、対列ブロックにまたがる第N番目のDASD上の
K個のパリティブロックの行への論理トラックのKN個
のブロックのマッピングが示されている。
【0029】図4に示されるアレイは、N個のDAS
D、物理トラックごとのK個のブロック、論理トラック
ごとのNK個のブロックを備える。しかしながら、タイ
プ2Vアレイの列優先順レイアウトと異なり、図4の論
理トラックのKN個の連続ブロックは対の物理DASD
トラックに沿って行優先順に記憶される。また、2Hア
レイのパリティブロックは2Vアレイと異なる。図4に
示される群や論理トラックのKN個のブロックに対し
て、K個のパリティブロックはDASDNの物理トラッ
クに記憶される。次に、第2群や論理トラックのKN個
のブロックに対して(図4に示さず)、K個のパリティ
ブロックはDASDN−1の所定のトラックに記憶され
よう。同様に、第3群や論理トラックのKN個のブロッ
クはDASDN−2に記憶されたK個のパリティブロッ
クを備える等と続く。
【0030】行優先順における可変長ブロックフォーマ
ットと、本発明に従って単一パリティトラックを用いる
書き込み更新 固定ブロックサイズで、パリティブロックを生成し記憶
することは容易になっている。異なる物理トラックのレ
コードが全て異なるサイズであるとき、異なるトラック
のレコードが全て1列に並ぶとは限らないゆえ、パリテ
ィトラックのデータがいかにして記憶されるべきかは明
白でない。発明方法はDASDのアレイの可変長ブロッ
クの記憶とアクセスを容易にする。
【0031】図5に関して、可変長CKDフォーマット
されたレコードが示されている。レイアウトは列優先よ
りも行優先順に密接に類似している。即ち、連続レコー
ドは物理トラックに沿って記憶されている。定数ブロッ
クサイズの場合と異なるが、しかしながら物理トラック
のレコード数は変数であり、Kに固定されていない。
【0032】CKD規定を用いてDASDディスクトラ
ックをフォーマットすると、各物理トラックは、周知の
ホームアドレス(HA)とレコードゼロ(R0)フィー
ルドに続きCKDレコードの任意の数を含む。図5に示
される論理トラックでは、全パリティはDASDNの物
理トラックに記憶される。次の論理トラックでは、全パ
リティはDASDN−1に記憶される等と続く。重要な
ことだが、パリティは全DASD中に広がり、単一パリ
ティDASDは全く存在しない。この構成は行トラック
レイアウトの構成と大変類似している。
【0033】再び図5に関して、第N番目のDASD上
のパリティトラックに記憶されるデータの記述は、個々
の物理トラックが異なる位置で欠陥をもつような場合を
対象にする。しかしながら、図5のレイアウトは考案中
の論理トラックを構成する物理トラックの何れにも欠陥
がないと仮定している。
【0034】パリティトラックの第1の2つのフィール
ドは標準HAとR0であると考える。それらはトラック
の物理アドレスとその内部の欠陥の位置に関する情報を
含み、正規の方法で生成される(他のN−1個のトラッ
クからのHAとR0のパリティとしてではない)。HA
とR0に続き、カウントフィールド(C8)とデータフ
ィールド(D8)を含む単一フルトラックレコードがあ
る。
【0035】CKDトラックのカウントフィールドは、
物理情報(物理的アドレス、欠陥ポインタ等)及び論理
情報(フォーマットCCHHRにおける5バイト、即ち
シリンダ数2バイト、ヘッド数2バイト、レコード数1
バイト)を含む。
【0036】パリティトラックのカウントフィールド
(C8)の物理情報部分は、明白な値を含む。パリティ
トラックのカウントフィールドにおける論理情報(CC
HHR)の5バイトは、他の全てのN−1個のトラック
からのR0以後の第1のレコードのカウントフィールド
から生じるCCHHRの5バイトのパリティ(XOR)
に等しいと定義される。これはC8の内容を完全に定義
する。次にパリティトラックのデータフィールド(D
8)の内容が定義される。
【0037】この明細書では、表記法”<=”は”より
少ないかまたは等しい”を意味する。即ち、それは閉鎖
もしくは境界のある番号間隔を定義する。また、頭字語
ECCはレコードに通常一般に追加されるあら得る種類
の「誤り訂正符号」を表す。ブロックタイプの誤り訂正
符号の中に、ハミングコードとBCHコードがある。
【0038】1<=i<=Nのとき、B(i)はR0以
後の第1のデータフィールドがトラックi(DASD
i)から始まる位置に相当するバイト位置を表示する。
全てのバイト位置において、N個の物理トラックの何れ
にも欠陥がないならば、B(i)は同一である。しかし
ながら、欠陥が存在すればiとともにB(i)を変え
る。
【0039】1<=i<=NのときE(i)を、特定の
物理トラックのデータ最後のバイトが記憶されるところ
に相当するバイト位置とする。トラックに欠陥がないな
らば、E(i)は物理トラックの末端からの数バイトで
ある。もしトラックが欠陥の全補数をもつならば、E
(i)はECCがデータフィールドにECCを記憶する
ために必要なバイト数となるトラックの、最後のバイト
以前にあるECCバイトである。
【0040】1<=i<=Nのとき、欠陥を含まないB
(i)とE(i)の間のバイト数は同一であると覚えて
おくことが重要だ。もしXがバイト数ならば、D8はX
バイト長である。
【0041】パリティトラックのバイトB(i)は、他
の全てのN−1個のトラックからのバイトB(i)の排
他的オアである。また、バイトB(i)+1は他の全て
のN−1個のトラックからのバイトB(i)+1の排他
的オアである。こうして、パリティトラックのデータフ
ィールドのX個のバイトは1<=i<=Nに対して、B
(i)からE(i)の全非欠陥バイトの排他的オアをバ
イトごとに実行することによって生成されうる。任意の
物理トラックのフィールド間のギャップにあたるバイト
位置やECCフィールドの一部であるバイト位置は、パ
リティを生成するためゼロのバイトであると仮定され
る。
【0042】本発明の方法を説明するため再び図5に関
して、D3が5バイト長であるDASD1のD3を更新
することが好ましいと仮定する。結果として、D3はD
ASD1より読み出され、D8はDASDNより読み出
される。フィールドD8はD8の最後の5バイトの値を
変えることによって更新される。結果として、それはD
3の新旧の値と、D8の最後の5バイトの古い値の排他
的オアをとることによって決定される。D8のこの更新
された値とD3の新たな値は、次にDASDの後方に書
き込まれる。
【0043】本発明方法を用いたデータの復元 故障したDASDディスクの物理トラックが再生される
必要があるとき、残存するN−1個のDASDから、相
当する物理トラックがN−1フルトラックバッファへと
複写される。読み出しされるデータの各物理トラック
は、物理トラック上のギャップによって分離されるトラ
ックの各フィールドをもつ、相当するバッファに記憶さ
れる。ゼロはギャップがフィールド間で存在するバッフ
ァに記憶される(ECCはギャップの一部とみなされて
いる)。(むしろ互いに隣接する全フィールドよりも)
フィールド間でギャップのあるバッファに、N−1個の
物理トラックの各々を記憶することが重要である。これ
は生成されるミッシング(失われた)トラックのバイト
ごとの再生のため、N−1個のバッファの全データを適
当に整列させるからである。
【0044】本発明に従って2つのパリティトラックを
用いた書き込み更新 可変長レコードとともに用いられるN−1個の対データ
トラックの各群のための単一トラックバイトレベル単純
パリティイメージの1つの制限事項は、小規模書き込み
がパリティトラックのフルトラック読み出し書き込みを
強制することである。対照的に、固定ブロックシステム
は全パリティトラックよりむしろ関連するパリティブロ
ックのみが読み出される必要があるためそのような要件
を避ける
【0045】図6に関して、本発明の方法のもう1つの
バリエーションが描写されている。このバリエーション
において、大きいデータフィールドに記憶された全情報
(X個のバイト)は、等しいサイズ(例、4Kバイト)
のレコードとして区分され、記憶される。例えば、サイ
ズD8のXが12Kバイトであったならば、それら12
Kバイトを3つの4Kバイトに記憶する。もしD8に記
憶された情報が、単一の大規模レコードの代わりに4K
レコードとして記憶されるならば、(4Kレコード間の
ギャップとカウントフィールドのため)D8の全情報は
単一パリティトラックに適合しないことが明白である。
代わりに、2つのパリティトラックが用いられ、4Kレ
コードのD8に含まれている全X個のバイトを記憶する
であろう。図6に示されるフィールドD8、D9、D1
0は、図5に示されるフィールドD8に記憶されたバイ
トと同一のものを含む。
【0046】図2に関して、論理トラックごとの2つの
パリティトラックを用いるこのバリエーションにおい
て、コントローラ5は小規模書き込みを実行するとき、
パリティトラックの何れの複数の4Kレコードフィール
ドの1つが読み出し書き込みされる必要があるかを確か
めなくてはなるまい。次に、パリティトラックから関連
する4Kレコードのみにアクセスして、パリティトラッ
クのフルトラック読み出し書き込みはもはや不要にな
る。従って、D3の更新にはデータフィールドD3とD
10が後方に読み出し書き込みされることのみ必要とす
る。
【0047】
【発明の効果】本発明は上記より構成され、データが可
変長フォーマットに記録される小規模トラック読み出し
書き込み操作に適した、N個のDASDのアレイの内の
選択されたDASDへの単一パスアクセスを保証する。
【図面の簡単な説明】
【図1】先行技術に従ってN個のDASDの同期的アレ
イを概念的に描写する。
【図2】データパスのキャッシュとコントローラを用い
てCPUに付属の先行技術のDASDアレイを説明す
る。
【図3】DASDアレイ列優先順における先行技術の固
定ブロックのレイアウトを示す。
【図4】DASDアレイ行優先順における先行技術の固
定ブロックのレイアウトを示す。
【図5】本発明に従ってパリティトラックのフルトラッ
クレコードを用いる、DASDアレイを横切る可変長レ
コードのレイアウトを示す。
【図6】本発明に従って2つのパリティトラックを用い
る、可変レコードのレイアウトを示す。
【符号の説明】
1 中央処理装置(CPU) 3 チャネル 5 コントローラ 7 コントロールパス 9 制御パス 11、15 データパス 13 キャッシュ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 N個のDASDのアレイのDASDトラ
    ックに行優先順に記憶された可変長フォーマット(カウ
    ント、キー、データ)レコード内のレコードを書き込み
    更新するための方法であって、 (a)N−1個のDASDを横切る各第i番目のトラッ
    クから可変長レコードのバイトレベル排他的オア単純パ
    リティイメージを生成し、第N番目のDASDの第i番
    目のトラックに前記イメージを記憶する工程と; (b)選択されたDASDへの各書き込み要求に応じる
    工程であって、(1)選択されたDASDの第i番目の
    トラックに更新されるべきレコードと、第N番目のDA
    SDの第i番目のトラックのパリティレコード内のレコ
    ード識別とのバイト位置オフセット同期を設定し、
    (2)前記レコードを選択されたDASDと第N番目の
    DASDから入手して、更新し、(3)更新データとパ
    リティレコードを、それぞれ選択されたDASD及び第
    N番目のDASDの第i番目のトラックに書き換える、
    書き込み要求に応じる工程と;を備えるレコードの書き
    込み更新方法。
  2. 【請求項2】 工程(a)が更に、対のトラックに記憶
    された可変長レコードのr個群へ1対1関係においてr
    個のイメージを生成し、各群が第1のDASDの第i番
    目のトラックに記憶されたイメージと(N−1)個の他
    の対DASDの第i番目のトラックにおける可変長レコ
    ードを含み、各生成されたイメージを以下のように記憶
    する工程を含む方法であって、 (1)r>Nのとき、各DASDは少なくとも1つのイ
    メージトラックを記憶し、少なくとも1つのDASDは
    2つのイメージトラックを記憶する工程と、 (2)r<=Nのとき、可変長レコードの2つの異なる
    群より形成された2つのイメージは同一のDASDに記
    憶されず、各群はN−1個のDASDの組合せ上区別さ
    れた群のそれぞれ第i番目と第j番目のトラックに記憶
    される工程と、 を備える請求項1に記載のレコードの書き込み更新方
    法。
  3. 【請求項3】 工程(a)が更に、第N番目のDASD
    の2つの物理トラックにイメージをブロックし、記憶す
    ることによって、フルトラックの必要な読み出しを最小
    限にするための工程を含む、請求項1に記載のレコード
    の書き込み更新方法。
  4. 【請求項4】 アレイにおける任意の故障したDASD
    の第i番目の物理トラックに記憶された、可変長レコー
    ドを再生する工程(c)であって、 (1)可変長レコードを、各残存するN−1個のDAS
    Dから、各ギャップで分割されたフィールドの相対位置
    が、その間に挿入される所定のブール値ストリングによ
    って保存されるN−1個のフルトラックバッファへ複写
    して、トラック内のフィールド整列を保存し、 (2)N−1個のフルトラックバッファの内容を排他的
    オアを求めることによって、入手不可能なトラックとそ
    れらのトラック位置関係のレコードのイメージを形成す
    ること、 によって再生する工程(c)を更に備える、請求項1に
    記載のレコードの書き込み更新方法。
  5. 【請求項5】 パリティの更新がアクセスされるレコー
    ドの排他的オアと、アクセスされるレコードの任意の変
    化及びアクセスされるパリティを含む、請求項1に記載
    のレコードの書き込み更新方法。
  6. 【請求項6】 特に小規模トラックの読み出し書き込み
    操作に適したN個のDASDのアレイの選択されたパス
    への単一パスアクセスを保証し、前記アレイが更に行ト
    ラックレイアウトをもつ可変長(CKD)フォーマット
    のレコードとしてデータが記録されたN−1個のDAS
    Dを含み、第N番目のDASDがN−1個の他のDAS
    Dに記録されたデータのパリティを含む方法であって、 (a)仮想イメージを、N−1個のDASDを横切る対
    のトラックにある対のバイトに排他的オア操作の結果編
    成されたバイトとして生成し、その仮想イメージを第N
    番目のDASDの少なくとも1つの可変長フォーマット
    のレコードにマッピングする工程と; (b)N−1個のDASDの内の選択された1つの第i
    番目トラックに、レコードをアクセスする書き込み操作
    に応じる工程であって、(1)選択されたDASDの第
    i番目のトラックに更新されるべきレコードのバイトオ
    フセットと、第N番目のDASDの第i番目のトラック
    のパリティレコード内のレコード識別とバイトオフセッ
    トとを確認し、選択されたDASDから更新されるべき
    前記レコードと、第N番目のDASDからパリティレコ
    ードを入手して、前記入手レコードに対する更新を実行
    し、(2)更新パリティとデータレコードを、それぞれ
    第N番目と選択されたDASDの第i番目のトラックに
    書き換える、書き込み操作に応じる工程と;を備える単
    一パスアクセス保証方法。
  7. 【請求項7】 工程(a)が更に、r<=N個のDAS
    Dを横切るトラックの1対1関係においてr個の仮想イ
    メージの各々を書き込みする工程を含み、r個のイメー
    ジ各々がN−1個の他のDASDの第i番目の対のトラ
    ックに記憶されるレコードのバイト排他的オアを求めた
    結果であり、r<=NにおいていかなるDASDも1個
    以上のイメージを記憶せず、r>Nにおいて各DASD
    が少なくとも1個のイメージを記憶し、少なくとも1つ
    のDASDが2個のイメージを記憶する、請求項6に記
    載の単一パスアクセス保証方法。
  8. 【請求項8】 N個のDASDのアレイ、CPU、前記
    アレイの対のDASDトラックにおける行トラック順に
    記憶された可変長レコードにアクセスするため前記CP
    Uからの要求に応じる手段と、を含むシステムであっ
    て、 (N−1)個のDASDの各々の第i番目のトラックに
    記憶された可変長レコードと、第N番目のDASDの第
    i番目のトラックの可変長レコードとして記憶された単
    純バイトレベルパリティイメージと、の間でバイト位置
    相互関係を設定するための手段と;N−1個のDASD
    の内の選択された1つの第i番目のトラックのレコード
    にアクセスするためのアクセス手段を通してCPUから
    書き込み要求に応じる手段であって、 (1)選択されたDASDの第i番目のトラックに更新
    されるべきレコードのバイトオフセットと、第N番目の
    DASDの第i番目のトラックのパリティレコード内に
    おけるレコード識別とバイトオフセットとを確認し、選
    択されたDASDから更新されるべき前記レコードと第
    N番目のDASDからパリティレコードとを入手し、前
    記入手レコードに対し更新を実行する工程と、 (2)更新データとパリティレコードを、それぞれ選択
    されたDASD及び第N番目のDASDの第i番目のト
    ラックへ書き換える工程と、により書き込み要求に応じ
    る手段と;を更に備えるシステム。
JP4003351A 1991-03-08 1992-01-10 レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム Expired - Lifetime JPH0736143B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/666,289 US5257362A (en) 1991-03-08 1991-03-08 Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array
US666289 1991-03-08

Publications (2)

Publication Number Publication Date
JPH0573217A true JPH0573217A (ja) 1993-03-26
JPH0736143B2 JPH0736143B2 (ja) 1995-04-19

Family

ID=24673607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4003351A Expired - Lifetime JPH0736143B2 (ja) 1991-03-08 1992-01-10 レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム

Country Status (4)

Country Link
US (1) US5257362A (ja)
EP (1) EP0503768B1 (ja)
JP (1) JPH0736143B2 (ja)
DE (1) DE69222879D1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522065A (en) * 1991-08-30 1996-05-28 Compaq Computer Corporation Method for performing write operations in a parity fault tolerant disk array
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5337322A (en) * 1992-03-02 1994-08-09 Acer Incorporated Method of processing stored data containing parity data
US5517641A (en) * 1992-05-27 1996-05-14 Cdb Software, Inc. Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic
JP3294326B2 (ja) 1992-07-09 2002-06-24 株式会社日立製作所 データ処理方法および装置
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5857112A (en) * 1992-09-09 1999-01-05 Hashemi; Ebrahim System for achieving enhanced performance and data availability in a unified redundant array of disk drives by using user defined partitioning and level of redundancy
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
US5388108A (en) * 1992-10-23 1995-02-07 Ncr Corporation Delayed initiation of read-modify-write parity operations in a raid level 5 disk array
JP3422370B2 (ja) * 1992-12-14 2003-06-30 株式会社日立製作所 ディスクキャッシュ制御装置
US6003120A (en) * 1993-12-30 1999-12-14 Intel Corporation Method and apparatus for performing variable length processor write cycles
US5613085A (en) * 1994-12-27 1997-03-18 International Business Machines Corporation System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism
US5835930A (en) * 1996-04-09 1998-11-10 International Business Machines Corporation One or more logical tracks per physical track in a headerless disk drive
JP3139737B2 (ja) * 1996-07-31 2001-03-05 日本電気株式会社 データ通信システム
US6304940B1 (en) 1997-08-14 2001-10-16 International Business Machines Corporation Shared direct access storage system for MVS and FBA processors
US6173415B1 (en) * 1998-05-22 2001-01-09 International Business Machines Corporation System for scalable distributed data structure having scalable availability
US6704837B2 (en) 1998-06-29 2004-03-09 International Business Machines Corporation Method and apparatus for increasing RAID write performance by maintaining a full track write counter
US6463503B1 (en) 1999-05-12 2002-10-08 International Business Machines Corporation Method and system for increasing concurrency during staging and destaging in a log structured array
US6959301B2 (en) * 2001-01-04 2005-10-25 Reuters Limited Maintaining and reconstructing the history of database content modified by a series of events
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US7055058B2 (en) * 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US8135929B1 (en) * 2008-03-27 2012-03-13 Emc Corporation Cascaded remote data facility system having diskless intermediate RDF site providing logical storage device functionality
US8375227B2 (en) 2009-02-02 2013-02-12 Microsoft Corporation Abstracting programmatic representation of data storage systems
KR20110112125A (ko) * 2010-04-06 2011-10-12 삼성전자주식회사 디스크 장치 및 라이트 방법

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
US4745604A (en) * 1986-10-20 1988-05-17 International Business Machines Corporation Method and apparatus for transferring data between a host processor and a data storage device
US4849978A (en) * 1987-07-02 1989-07-18 International Business Machines Corporation Memory unit backup using checksum
US5077736A (en) * 1988-06-28 1991-12-31 Storage Technology Corporation Disk drive memory
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
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
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem

Also Published As

Publication number Publication date
US5257362A (en) 1993-10-26
EP0503768B1 (en) 1997-10-29
JPH0736143B2 (ja) 1995-04-19
EP0503768A1 (en) 1992-09-16
DE69222879D1 (de) 1997-12-04

Similar Documents

Publication Publication Date Title
JPH0573217A (ja) レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム
US5459853A (en) Efficient variable-block data storage system employing a staggered fixed-block-architecture array
US5799140A (en) Disk array system and method for storing data
US6904498B2 (en) Raid controller disk write mask
US5574882A (en) System and method for identifying inconsistent parity in an array of storage
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
CA2042872C (en) Method and means for accessing dasd arrays with tuned data transfer rate and concurrency
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
US5819109A (en) System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
US6393516B2 (en) System and method for storage media group parity protection
US6950901B2 (en) Method and apparatus for supporting parity protection in a RAID clustered environment
JPH03505643A (ja) 複数の記憶域クラス用のファイルシステム
US5650969A (en) Disk array system and method for storing data
US20040123032A1 (en) Method for storing integrity metadata in redundant data layouts
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
JPH0731580B2 (ja) 可変長レコードへのアクセス方法、単一パス同期型アクセス保証方法、及びアレイ制御装置
US7346733B2 (en) Storage apparatus, system and method using a plurality of object-based storage devices
US20090094479A1 (en) Method of implementing xor based raid algorithms
US7234024B1 (en) Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
JP3288724B2 (ja) ディスクアレイ内の不完全な書込を追跡する方法、およびこのような方法を行なうディスク記憶システム
JP3008801B2 (ja) 記憶装置システムおよびディスクアレイ制御装置
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法
JP2914181B2 (ja) ディスクアレイ装置
JPH06119121A (ja) ディスクアレイ装置