JPH0736144B2 - Dasd制御方法及び装置 - Google Patents

Dasd制御方法及び装置

Info

Publication number
JPH0736144B2
JPH0736144B2 JP3112196A JP11219691A JPH0736144B2 JP H0736144 B2 JPH0736144 B2 JP H0736144B2 JP 3112196 A JP3112196 A JP 3112196A JP 11219691 A JP11219691 A JP 11219691A JP H0736144 B2 JPH0736144 B2 JP H0736144B2
Authority
JP
Japan
Prior art keywords
dasd
blocks
array
block
track
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3112196A
Other languages
English (en)
Other versions
JPH04232557A (ja
Inventor
ジエームス・トーマス・ブラデイ
ルース・エニド・シントロン
ステフアン・ゴールドステイン
ジーン・ホーミング・ワング・ユー
ジエイシヤンカー・モーセダス・メノン
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 JPH04232557A publication Critical patent/JPH04232557A/ja
Publication of JPH0736144B2 publication Critical patent/JPH0736144B2/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
    • 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
    • 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
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高いインストラクショ
ン処理速度と、高いデータ転送率とを有する中央処理装
置(CPU)によつて外部ストレージ装置としての直接
アクセス・ストレージ・デバイス(DASD)のアレー
をアクセスすることに関する。本発明をより詳細に言え
ば、データ転送率とコンカレンシーとを最適化するため
にDASDのアレーを同調することに関する。
【0002】
【従来の技術】高容量のデータ・ストレージ容量を持
ち、高いデータ転送率でデータを送受する装置としての
DASDアレーの従来技術には多くの技術が知られてい
る。これらの技術の中で重要な1つの点は、設置された
複数の装置と、データ転送率との間のパラメータに関す
る兼ね合いを決めることである。以下の項において、個
々の装置レベルのDASDを説明した後に、アレー・レ
ベルのDASDを説明する。その後の項で、CPUに対
してDASDのアレーをマッチさせる従来の解決方法を
説明する。
【0003】[DASDの属性] DASDは、読み取り/書き込みヘッドによつて直接ア
クセスをサポートする一定速度の回転磁気デイスク・ス
トレージ装置である。磁気デイスク媒体は回転している
から、各データ・アクセスは、デイスク上の同心円トラ
ック上の空間に移動可能な読み取り/書き込みヘッドを
位置付けるための時間を必要とする。また、デイスクは
周期的トラック記録媒体であると言うことでも特徴付け
られる。
【0004】空間的な要素は、サーボ制御ループを通じ
て指定されたトラックに読み取り/書き込みヘッドを半
径方向に位置付けることによつて解決されている。前以
て記録されたサーボ基準情報が半径方向の位置付けを案
内するのに用いられる。基準情報は、アクセスされるト
ラック上に記録され、エンコードされた情報か、また
は、サーボ目的専用のデイスク面からの何れかからセン
スされる。
【0005】時間的な要素は、トラックから供給される
か、または外部から供給される回転位置情報をセンスす
ることによつて、デイスクの回転の関数として解決され
ている。このことを理想的にいえば、所望の情報を持つ
ているトラックの部分がヘツドの下を通過した時間とマ
ツチしてヘッドが位置付けられていることを意味する。
【0006】本発明の目的のために、各DASDのトラ
ック上のデータは、1ブロック毎にr個のバイトを持
ち、かつ1トラック毎にK個のブロックを持つ固定ブロ
ック・サイズのものであると仮定する。このことは、カ
ウント・キー・データ(CKD)フォーマットによる可
変長レコードがK個のブロック/CKDレコードの可変
数としてDASDにマップされ、解決されるような、よ
り高い論理レベルの他のデータ組織を除外するものでは
ない。
【0007】増加されたDASDの容量。
【0008】DASDのストレージ容量は、磁気面の磁
気被膜の記録属性と、記録面上の非常に小さい磁気スポ
ットの光学的解像力に近い大きさと、DASDの1つの
回転軸当りのデイスクの枚数とを改良することの関数と
して増加する。磁気被膜は、双安定性残留磁気の高度に
微細化された領域の面を構成する。磁気記録面の構成
は、ヘッドとデイスクとの間にミクロン単位の間隔を必
要とし、更にその上、独特のヘッドの形式を必要とす
る。各トラックに沿つて単位長さ当りの記録可能ビット
数と、デイスクの半径方向の単位長さ当りのトラックの
数とは非常に大きな値を持つている。
【0009】[データが利用できないことと、データ転
送率のミスマッチ] 1つの回転軸当り複数枚のデイスクを用いた高容量DA
SDはギガバイト級のデータ記録容量を持つている。こ
のような高いストレージ容量は印象的であるけれども、
広い帯域幅のSISD、SIMD及びMIMDのCPU
プロセッサが必要とするデータ可用性及びデータ転送率
とマッチすることはできない。ここで付言すると、SI
SDは、単一のデータ・ストリームに動作する単一のイ
ンストラクション・ストリームを有するCPUである。
SIMDは、複数のデータ・ストリームに実行する単一
のインストラクション・ストリームを持つCPUであ
り、MIMDは、複数のデータ・ストリームに実行する
複数のインストラクション・ストリームを持つCPUで
ある。
【0010】「データの可用性」は、通路の故障、また
はノイズがあつたとしても、アプリケーションによりア
クセスできるデータの数である。代表的な例で言えば、
もし、外部ストレージの1部が故障したならば、アクセ
ス要求は行なわれない。その結果、アプリケーションの
実行は中断され、アプリケーションは、情報の一貫性が
ある以前のポイントまで引き返す。従来の殆んどの技術
は、経過記録ベースのアプリケーション回復、処理中の
データ(on-the-fly data)の修復、またはオペレーシ
ョン再実行(operation redo)に向けられていた。
【0011】任意の情報源及びシンクの間の「データ転
送率のミスマッチ」は、バッファ動作、またはインター
ロック動作の何れかによつて慣習的に管理されている。
バッファ動作は、アクセス通路における遅延時間と、バ
ッファからの読み取り及びバッファへの書き込み全体を
管理する時間とを導入することによつて情報源及びデー
タ・シンクを結合しない。最小限の小さなメモリのサイ
ズでもストアの時間が必要であり、これはまた、データ
転送率に時間差を与えるから、転送時間が遅延すること
は明らかである。
【0012】「インターロック動作」は、最低のデータ
転送率がインターフェースを通るデータ転送の速度を規
制するポーリングの形式である。ポーリングの技術は、
米国特許第3336582号に記載されている。
【0013】ミスマッチの代表的な例を挙げると、1秒
間に1億個のインストラクションを実行して、毎秒10
0メガバイトのデータ転送率を持つCPUと、毎秒1乃
至3メガバイトの転送速度で10ミリ秒のアクセス時間
を持つDASDとを通信させる場合がその1例である。
明らかに、100対1乃至30対1の速度変化に適合す
るために、百万バイト、またはそれ以上のバイトの範囲
でバッファ・メモリ、即ちキャッシュ・メモリによる一
義的な解決は、ユーザのコストが高価になることは明ら
かである。インターロックによる解決は、最高速度の素
子の望ましいペースを最低速度(DASDのアクセス)
の素子のペースに減少するので、この解決方法は論外の
方法である。
【0014】[従来の解決方法は同期式並列転送に見出
されることについて] 従来の技術において、データ転送率とマッチングを計る
ための一般的な解決方法は、並列に置かれたN個のDA
SDにアクセスすることである。同期による方法は、N
個のDASDを同じ回転数で回転させ、同じ角度的オフ
セツトを持たせ、そして、同時に同じ態様でアクセスす
る方法である。この解決方法はデータ転送率を最大にす
る。然しながら、この解決方法は、一度に1つのアクセ
スしか行なうことができず、大量のデータ及び小量のデ
ータの読み取り、及び書き込み要求に関して、リソース
の使用を最適化しない。
【0015】DASDアレーの態様 「アレー」とは、添字が、変数の各インスタンス値(in
stance)の相対位置の順序を指示する添字付き変数(su
bscripted variable)であると、抽象的に定義付けるこ
とができる。また、添字の要素はアレーの次元を定義す
る。従つて、アレー(i,j)は、変数「A」を特定
し、その相対位置の順序付けられたインスタンスは2次
元的なクローズされた整数の間隔(closed integer int
erval)(1,1<(I,J)<N,K)にマップされ
る。アレーの寸法は、クローズされた整数の間隔1<i
<N及び1<j<Kが同様な装置の順序付け(索引)を
表わし、N及びKは整数の上限であるように、アレーの
次元は相互に排他的であつてもよい。
【0016】本発明において用いられているように、
「クローズされた整数の間隔」は、インデツクスの変数
が最終点を含むすべての間隔値を取ることができるもの
である。規約によつて、1方のアレーの次元は、列の順
序として指定され、他方の次元は行の順序として指定さ
れる。
【0017】N個のDASDの内の選択されたDASD
(または、すべのDASD)に同時にアクセスすること
ができるような任意の物理的な配列の物理的なストレー
ジ・システムとして、N個のDASDのアレーが定義さ
れる。これに関連して、論理的/物理的ストアとして、
フォーマットすること、後続してアレーに読み取り/書
き込みアクセスすることは、行基準か、または列基準か
の何れかで相次ぐ位置の複写/挿入値によつて行なう。
若し、動作が列方向に行なわれるならば、システムは
「列主体の順序」で遂行するように指定される。同様
に、若し、動作が行方向に行なわれるならば、システム
は、行主体の順序で遂行されるように指定される。次
に、論理的「アレー」は物理的ストア(即ち、DASD
の集団グループ)にマップされる。
【0018】アクセスし/アドレスする問題点は、N個
のDASDにわたつて1つの物理的なトラック毎にK個
のブロック上に任意のロジカル・トラックのNK個のブ
ロックをマップすることである。物理的なトラックのK
個のブロックの内容は、DASDのデイスクの1回転に
よつて決められるような時間を示すライン、即ち時間ラ
インにマップすることができる。i番目のDASDに対
して、時間ライン上の各ブロック位置の内容、即ち対応
するトラック範囲は、i番目の行に対するK個の列エン
トリを構成する。同様に、N個のDASDの各々から対
応するデイスク上の物理的なトラックに沿つたj番目の
時間ラインのセグメント、即ち角度的な位置に対して、
N個のDASDに跨がるそのセクタを占めるN個のブロ
ックの内容は、j番目の列のN個の行のエントリを構成
する。
【0019】CPUから見たストレージのモデルは、1
つのDASDのデータ転送率のN−1倍の転送率を有
し、本来の装置の容量のN−1倍の容量を持つデータを
与える1つのロジカル・ストレージに見える。このモデ
ルは、ロジカル・トラック毎にNK個のブロックのデー
タを持ち、K個のブロックは、予め決められた(N−
1)K個のデータ・ブロックをカバーするパリティを持
つている。アレー中のDASDの固有のコンカレンシー
は、性能が低下したモードになつたとしても、単一のD
ASDのMBTFインターバル(故障と故障との間の平
均時間)よりも長いインターバル)にわたつて、ロジカ
ル・ストレージを動作可能にさせる。
【0020】[米国特許第4092732号及び米国特
許第4761785号] 米国特許第4092732号は、N−1個のDASDス
トリングに跨がる同じロジカル・ファイルからデータ・
ブロックを拡張することと、N番目のDASDにパリテ
ィ・ブロックを記録することとを開示しており、このパ
リティ・ブロックは他のN−1個のブロックのパリティ
内容を排他的論理和(XOR)したものである。任意の
1つのアクセス不能のDASDからの内容は、残りのN
−2個のDASD中にストアされたブロックのパリティ
・ブロックを排他的論理和することによつて回復するこ
とができる。若し、パリティ・ブロックが利用可能でな
ければ、同様な結果を達成することができる。
【0021】米国特許第4761785号は利用不可能
なDASD(即ち、米国特許第4092732号に開示
されたパリティ用DASD)が、特に、性能低下モード
で動作している時に、利用不可能なすべてのパリティ・
ブロックを与えるように、DASD全体にパリティ・ブ
ロックを分散することによつて、米国特許第40927
32号の技術を改良している。
【0022】[内部ブロック・パリティとパリティ・コ
ード・ブロック] ブロック・オリエンテッド・データ、パリティ接尾部、
または、それらと同等のもの(ハミング・コード、CR
Cコード)は、各データ・ブロックに加えられている。
従つて、各パリティ接尾部は検出/訂正内部ブロック・
エラーを呼び出すことができる。米国特許第47617
85号に記載されているように、N−1シーケンスの1
個、または、それ以上のブロックが利用不能の時、N−
1ブロック・シーケンスに跨がるパリティ・ブロック
が、利用不能のデータ・ブロックを再構築するために、
残りのブロックと関連させて用いられる。能率的なコー
ドそれ自身(ハミング・コード、CRCコード、リード
−ソロモン・コード)は、文献で扱われており、以下に
説明されるように、補助的なものとされる。
【0023】[パターソンのDASDアレー・レベル及
びタイプ] 1988年6月1日乃至3日のACM IGMOD会議
におけるパターソン等の「安価なデイスクの冗長性アレ
ー(RAID)の場合」(A Case for Redundant Array
s of Inexpensive disks-RAID)と題する文献は、デー
タの可用性を強化するための冗長データ及びDASDを
構成する種々の方法を説明している。この配列は5つの
レベルに分類されている。
【0024】第1のレベル(ミラード・デイスク)は、
完全に複式化されたDASDの配列を取つており、この
配列において、読み取り及び書き込みは複式にされてい
る。
【0025】第2のレベル(ハミング・コード)は、タ
ンデム(並列)にN個のDASDに同期して読み取り及
び書き込みを行ない、この装置において、パリティ範囲
を重複させたハミングECCのようなアツプ・スケール
・パリティ・コードは、エラーを検出し、または訂正す
るために呼び出される。
【0026】第3のレベルもまた、N個のDASDに同
期して読み取り及び書き込みを行なう。然しながら、N
−1個のDASDは、データを含み、1個のDASDは
他のデータ用DASDにわたつて分散されたパリティを
含んでいる。つまり、このことは、1個のチエツク用D
ASDがそのグループに与えられていることを意味して
いる。故障したDASDの内容は、米国特許第4092
732号に記載された態様で再構成することができる。
【0027】第4のレベルは、小さな容量のデータの読
み取り及び書き込みアクセスに関する性能を向上する。
これは、列範囲に沿つてブロックをストアすることによ
つて達成されるので、最初の時間スロット(DASDセ
クター1)において、ブロック1乃至Nが、DASD1
乃至N中に夫々ストアすることができ、第2の時間スロ
ット(DASDセクタ2)において、ブロックN+1乃
至2Nがストアされる、等々のようにストアされる。K
番目の時間スロツト(DASDセクタK)において、ブ
ロック[(K−1)]×N+1乃至KNは、対応する装
置にストアされる。
【0028】列トラック・レイアウトに加えて、第4の
レベルは、個々のDASDにアクセスを許容する。これ
は、小容量のデータ転送は少数のDASDを占有し、大
量のデータ転送は、N個のDASDにわたつて同期して
アクセスすることができることを意味する。
【0029】本発明の目的に対して、パターソンのレベ
ル3及びレベル4はタイプ1及びタイプ2のDASDア
レーと呼ばれる。
【0030】[タイプ1のDASDアレー] また、タイプ1(パターソンのレベル3)は、1988
年春と、1988年3月のサンフランシスコのCOMP
SONの会議のクルツウエイル(Kurzweil)の「小さな
デイスク・アレー−高性能への今後の手法」(Small Di
sk Arrays- TheEmerging Approach to High Performanc
e)と題する文献に記載されている。これに関連して、
タイプ1のアレーは、各読み取り/書き込み(I/O)
要求(大量のデータの読み取り/書き込み)によつて、
シーケンシャルにストアされた大量のデータを転送する
アプリケーションに効果的であることが知られている。
反対に、少量のデータ(少量のデータの読み取り、また
は書き込み)を、ランダムに大量に要求した時には、性
能は著しく低下する。
【0031】タイプ2のDASDアレー(パターソンの
レベル4)は、N個の同期されたDASDを使用し、ブ
ロック1からブロックKまでの本来の装置のN−1倍の
容量及びトラック・サイズを持つ単一のDASDのイメ
ージを与える。単一のDASDの外見を持つているにも
拘らず、この装置は、装置に対して並列になされた複数
の要求を受け入れ、そして実行する能力を持つている。
この装置は、大量のデータ転送において、本来の装置の
データ転送率のN−1倍の速度を与え、他方、小量のデ
ータ転送の場合、装置は本来の装置の性能に一致するよ
うに試みる。最後に、パリティをストアし、列主体の順
序にアレーのN個のDASDの間にパリティを拡大する
ことによつて、この装置は高い可用性を達成している。
DASDが故障した時、そのDASDにストアされたデ
ータは残りのN−1個のDASDにストアされたデータ
及びパリティを読み取ることによつて再生される。
【0032】ブロックが垂直方向の順序、即ち列主体の
順序でタイプ2のアレーにストアされ、そして、各列に
対するパリティ・ブロックが対角線上に配置されている
場合、アレーはタイプ2Vと呼ばれる。これは、ブロッ
ク1乃至N−1の第1列に対するパリティ・ブロックが
DASD、Nにストアされることを意味する。ブロック
N+1乃至2Nに対する第2列のパリティ・ブロック
は、DASDN−1にストアされる。同様に、列3ブロ
ック2N+1乃至3Nに対しては、パリティ・ブロック
はDASDN−2にストアされる。以下、同様の関係が
繰り返される。
【0033】[タイプ2Vアレーに対する小量/大量の
読み取り及び書き込み] DASDアレーの動作中において、タイプ2のDASD
アレーは、少量のデータの読み取り及び書き込みを要求
されることがあるし、反対に、大量のデータの読み取り
及び書き込みを要求されることがある。読み取りの場合
にはアレーの情報状態が変更されないから、読み取りを
実行するのが容易である。書き込み動作は、パリティ・
ブロックを含んでアレー情報状態を変更する。
【0034】ブロック1だけを読み取る要求のような小
容量読み取り要求は、DASDにその第1のブロックを
発生させる。ECC付加の各データ・ブロックのような
パリティは、すべての内部ブロック・エラーを検出し/
訂正するのに充分であるという事実から、DASD、N
中のパリティ・ブロックNを読み取る必要はない。従つ
て、ただ1つのDASDだけが動作され、他のDASD
は他の要求を処理するのに利用可能である。
【0035】ブロック1に対する小量の更新書き込み要
求が行なわれた場合、更新はDASD1のブロック1
と、DASD、Nのパリティ・ブロックNとの両方に行
なわれねばならない。この動作は、古いブロック1及び
Nを読み取ることによつて先ず達成され、これに続い
て、DASD1及びNに新しいブロック1及びNを書き
込むことによつて達成される。この場合、新しいブロッ
クN=(古いブロックN)XOR(排他的和)(古いブ
ロック1)XOR(新しいブロック1)である。
【0036】タイプ2Vアレーにおいて、ブロックは、
対角線上に配置されたパリティ・ブロックを持つ列主体
の順序にストアされる。ブロック1乃至Nは、DASD
1乃至Nに書き込まれるが、ブロックN+1乃至2N
は、DASD1乃至Nに書き込まれる。DASD2中の
ブロックN+2を更新する要求は、DASD1中のブロ
ック1の更新で同時に処理することができる。この場
合、DASDの対(1、N)及び(2、N−1)は、相
互に妨害することなく含まれる。然しながら、ブロック
1及び2、またはブロック1及びN+1を更新する要求
は、相互妨害が生じる。第1の例において、更新は、同
じパリティ・ブロック及びDASD、Nを含んでいる。
第2の例において、更新は、同じDASD1を含んでい
る。
【0037】大量のデータの読み取りのねらいは、でき
るだけ多くの物理的DASDからデータを読み取ること
にある。従つて、DASD1乃至Nの同期式読み取り
は、この要求を満足する。大量のデータ読み取りに関連
して、最適の性能は、いちどきに1つの列を同期して処
理することに依存している。小量の読み取りは、小量の
書き込みの処理を必要とする。
【0038】
【発明が解決しようとする課題】本発明の目的は、高性
能のCPUのアクセスに対して、DASDアレーのデー
タ転送率と、DASDの利用可能性とを効果的な最適値
に一致させるための方法及び手段を提供することにあ
る。
【0039】本発明の他の目的は、CPUが、ランダム
及びシーケンシャル・アドレスの混合したシーケンスに
よつてか、または大量または、少量の読み取り、または
書き込み要求としてのシーケンスによつて、外部ストレ
ージとしてのDASDアレーをリフアレンスする方法及
び手段を提供することにある。
【0040】本発明の他の目的は、上述の方法及び手段
をDASDのキャッシュ・メモリを使用して動作させる
ことにある。
【0041】
【課題を解決するための手段】上述の諸目的は、Kをパ
リティ・ブロックの数として、K×N個のブロックのロ
ジカル・トラックへのアクセスを管理する方法によつて
満足される。KNブロックは、1個のDASD毎で、1
つの物理的トラック毎にK個のブロックを持つN個のD
ASDのアレー中に分散され、かつストアされる。アレ
ーは、各アクセス要求に応答するDASDの選択可能な
1つのDASDへの同期したアクセスを確定するための
制御手段を含んでいる。本発明の方法は、(a)データ
転送率とコンカレンシー(1つのアクセス毎に結合され
るDASDの数)とのバランスの尺度として行主体の順
序のモジユーラスを使用したアレー中のブロックをフォ
ーマットすることと、(b)アレーに対してなされる少
量のデータ及び大量のデータのアクセス要求のランダム
なシーケンスを実行することを含んでいる。
【0042】より特定して言えば、本発明の方法のステ
ップは、(a)パラメータMをKに等しいか、またはそ
れよりも小さく且つ1より大である整数として、アレー
のN個のDASDのN個のトラック上に上記KN個のブ
ロックの連続するM個ずつを順次配置しかつN番目のD
ASDに配置された後は1番目のDASDに戻って同様
に配置するようフォーマットすることと、(b)大量の
アクセス要求及び少量のアクセス要求をN個のDASD
アレーに実行されることとで構成されており、これによ
り、与えられた数Mに対して最大のデータ転送率を達成
するために転送される最小限のブロックの数が(N−
1)Mであり、クローズされたインターバル((N−
1、(N−1)K)中にあること(後者のインターバル
の端部は、夫々M=1及びM=Kによつて決められる)
を含んでいる。
【0043】本発明の方法の結果として、データ転送率
は各要求を満足するために並列にアクセスされるDAS
Dの数に正比例的に変化し、そしてMの数とは逆比例的
に変化する。同様に、可用性、またはコンカレンシーの
率はMに対して正比例的に変化し、そして、各要求に結
合されるDASDの数とは逆比例的に変化する。
【0044】KN個のブロックXを、パラメータMに従
った行主体の順序及び列主体の順序でフォーマットする
付加的な結果は、パリティ・ブロックがブロック・レベ
ルにおいてでなく、トラック・レベルにおいてN個のD
ASDモジユーロM全体に分散されることである。これ
はMが1よりも大きい場合にコンカレンシーの改善をも
たらす。
【0045】キャッシュ・メモリは、CPUとアレーの
関係を円滑にすることに役立つ。キャッシュ・メモリが
使用された場合、トラックのステージングの端部と、ア
レー中のDASDの行、列方向のフォーマッティングと
が、DASDのアレーとキャッシュ・メモリとの間の転
送を容易にする。
【0046】尺度Mが単一のロジカル・トラックの領域
に関して説明されてきたが、多数のロジカル・トラック
を含むロジカル・シリンダがトラック毎にそのスパン及
び値を変化するMを持つことは注意を払う必要がある。
相関的に、Mの絶対的な上限は、T×Kに等しいか、ま
た小さい値である。但し、Tはロジカル・トラックの数
とする。この後者の場合、コンカレンシーはデータ転送
率の犠牲において維持される。つまり、システムは、最
大のデータ転送率に達する前に、TNK個のブロックの
通過を待たねばならないと言うことである。
【0047】
【実施例】図4を参照すると、記録されたデータのブロ
ックが、米国特許第4092732号に示された態様の
パリティ・ブロックを常に含むN番目のDASDによつ
て、列主体の順序のDASDに書き込まれるN個の同期
DASDのタイプ1のDASDアレーが示されている。
このアレーにおいて、大量のデータの読み取り/書き込
みが行なわれれば、1つのDASDのデータ転送率のN
−1倍までデータ転送率の増加が得られる利点を有する
ことが判つている。
【0048】[キャッシュ・メモリを有するDASDア
レー] 図5を参照すると、チャネル3、DASDアレーのコン
トローラ5及びキャッシュ・メモリ13を含む通路を介
してDASD、1乃至NをアクセスするCPU1が示さ
れている。CPU1は最新式の高性能SISD、SIM
D、またはMIMDタイプの1つであつてよい。
【0049】通常、SISDのCPUは、常駐のオペレ
ーテイング・システム(OS)を有するインストラクシ
ョン・プロセッサと、RAM式の内部メモリと、電気的
通路を経て、プロセッサ、または内部ストレージに結合
する外部ストレージとを含んでいる。MIMDのアーキ
テクチャにおいて(アレー及びベクトル・プロセッ
サ)、オペランドの取り出しインストラクション、実行
インストラクション及び結果をストアするインストラク
ションは、複製されるので、単一のインストラクション
によつて、幾つかの値を、同時に、取り出し、処理し及
び結果をストアすることができる。
【0050】SISD及びSIMDの代わりに、複数イ
ンストラクション・ストリームを複数データ・ストリー
ム(MIMD)で同時に処理することができる。これ
は、処理に参加したプロセッサの数に正比例するインス
トラクション実行速度を生じる。MIMDアーキテクチ
ヤにおいて、インストラクションの実行は、2つ、また
はそれ以上のプロセッサが共有ストレージをアクセスし
たとしても、夫々のプロセッサは独立しているから、他
のインストラクションの実行を妨げない。個々のプロセ
ッサで実行するMIMD処理はインストラクションを順
番に実行する。また、そのようなシーケンスは、他のプ
ロセッサ、または共有外部ストレージを有するデータ・
エクスチェンジャによつて非周期的に終了される。
【0051】コントローラ5は作動的に同期を確実に
し、制御通路7を介してDASD1乃至Nの間のアクセ
スを制御する。アクセスに応答して、データ通路15を
介してキャッシュに並列に、Nバイトのデータを交換す
ることができる。同様に、データは、制御通路9及びデ
ータ転送通路11を介して、コントローラ5及びチャネ
ル3を経てCPU1及びキャッシュ13との間でバイト
ごとに直列に交換される。
【0052】アレー中にキャッシュ・メモリ13を置く
ことは、CPU1から見たときのストレージの様子を変
える。これは、ロジカル・シリンダに組織された1つ、
またはそれ以上のロジカル・トラックを有するブロック
に組織されたロジカルDASD中の情報をアクセスする
CPU中で動作するすべてのアプリケーションをキャッ
シュ・メモリ動作を通して、円滑かつ容易にする。この
円滑さは、CPU/キャッシュ・インターフェースから
キャッシュ/アレー割込みを切り離す特別化されたバッ
ファとして動作するキャッシュ・メモリから生じる。つ
まり、少なくともランダムアクセス(シーケンシャルで
ないアクセス)において、DASDアレーに対するキャ
ッシュ・メモリのリフアレンス速度は、キャッシュ・メ
モリに対するCPUのリフアレンス速度よりも遥かに低
速である。
【0053】これに関連して付言すると、キャッシュ・
メモリはLRUで管理されるタイプのものでよい。この
ことは、読み取り、または書き込みデータ・ブロック・
アクセス要求は、先ず、キャッシュ・メモリに行なわれ
ると言うことを意味している。ブロックがキャッシュ・
メモリにストアされていない場合には、その要求は、D
ASDアレーの固有部分と、キャッシュ・メモリにステ
ージされたブロックとに通過される。LRUは、キャッ
シュ・メモリが一杯の場合に、現在要求されているブロ
ックを受け入れるのに十分な数の最も古く参照されたブ
ロックがデステージされることを意味する略語である。
回復、または他の目的のために、キャッシュはライト・
スルー・タイプ(write though type)のものでよい。
つまり、ブロックが更新される場合、それらのブロック
は、DASDアレー及びキャッシュに書き込まれると言
うことである。DASDからキャッシュ・メモリへのス
テージングは、「トラックの端部までステージせよ」
(STEOT)か、または、レコード・ステージの何れ
かを使用すべきであることと、DASDアレーは、後述
するように、行主体の順序で連続M個のブロックづつフ
ォーマットされるべきであることとが見出されている。
【0054】[タイプ2Vアレー] 図6を参照すると、K×N個のブロックが列主体の順序
(column major order)でフォーマットされている。ま
た、各パリティ・ブロックは、その列中の他のN−1個
のブロックをカバーする。然しながら、K個のパリティ
・ブロックは、DASDの対角線上に並んでいる。同時
に書き込み動作が生じた場合、対角線方向のパリティ・
ブロックは、若し、すべてのパリティ・ブロックがパリ
ティ・デイスクにあつたとしても、デイスク間で異論が
生じるのを回避する。
【0055】KがNよりも遥かに大きな数である場合、
対角線方向のパリティ・ブロックはXモジユーロNの繰
り返しで生じる。更に、上述したように、同じ列中の異
なつたブロック(これらは異なつたDASDに位置付け
られているので)の現在の読み取り、及び書き込みが可
能である。それにも拘らず、同じ列中のブロックに対し
て同時の書き込みや、または同じDASD中のブロック
に対する同時の書き込みは避けねばならない。前者の場
合、同じパリティ・ブロックは直列にしか変更すること
ができないからであり、後者の場合は、同じDASDは
直列の順序でしか書き込み、または読み取りができない
からである。
【0056】[タイプ2Hのアレー及び複数のロジカル
・トラック、パリティ・ブロック及びキャッシュの状
況] 図1を参照すると、行主体の順序のXモジユーロMに配
列されたタイプ2HのN個のDASDアレーにロジカル
・トラックのKN個のブロックがマップされている。こ
こで、M=Kであり、N番目のDASD上のK個のパリ
ティ・ブロックは、それぞれ対応する列ブロックをカバ
ーするものとする。
【0057】図1に示されたアレーはN個のDASD
と、1つの物理的トラック当りK個のブロックと、1つ
のロジカル・トラック当りNK個のブロックを持つてい
る。然しながら、タイプ2Vアレーの列主体の順序のレ
イアウト順序とは異なつて、図1に示したロジカル・ト
ラックのKN個の連続したブロックは、対応する物理的
DASDトラックに沿つて行主体の順序にストアされ
る。また、2Hアレー中のパリティ・ブロックは2Vア
レーとは異なつている。図1に示されたグループのKN
ブロック、即ちロジカル・トラックに対して、K個のパ
リティ・ブロックは、DASD、N中の物理的トラック
中にストアされる。第2グループのKN個のブロック、
即ちロジカル・ブロック(図1には示されていない)に
対して、K個のパリティ・ブロックは、DASD、N−
1中の予め決められたトラックにストアされる。同様
に、第3のグループのKN個のパリティ・ブロック、即
ちロジカル・トラックは、DASD、N−2の中にK個
のパリティ・ブロックを記憶している等々であつて、以
下同様の関係がある。
【0058】このパリティ・ブロックの配置を使用する
ことによる利点は、タイプ2Hアレーに加えてタイプ2
Vアレーに関しても見ることができる。図2を参照する
と、タイプ2Vアレーのためのトラック・レベル・パリ
ティの配置が示されている。データ・ブロックの1つが
列中の最後のブロックである場合、2つの連続するデー
タ・ブロックを更新する要求があることを考えてみる。
図6を参照して、ブロック2N及び2N+1を更新する
要求が与えられたものとすると、デイスクN−1中のブ
ロック2N−1及びデイスクN−2中のブロック3N−
2もまた、パリティ・ブロックを得るために、アクセス
される必要があるから、この要求を完了するために、4
個のDASDをアクセスする必要がある。図2の配列の
パリティにおいて、すべてのパリティがデイスクN中に
あるから、連続したデータ・ブロック2N−1及び2N
+1を更新するためには、3個のDASDだけをアクセ
スすればよいことは明らかである。
【0059】[キャッシュ・ステージング] 例えば、図6において、タイプ2Vアレー中のブロック
1の読み取りを考えてみる。ブロック1を読み取るDA
SDのアクセスに続いて、DASD1中の物理的なトラ
ックの端部までステージすることは、ブロックN+1、
2N+1、3N+1、等々を発生する。ロジカル・トラ
ック中にはシーケンシャル・ブロックはないから、それ
らのブロックはステージするには悪いブロックである。
ブロック1に続くシーケンシャル・ブロックをステージ
するために、他のN−1個のDASDのすべてに対して
アクセスが必要である。これは、複雑であり、そして、
小容量のデータ転送要求に対するコンカレンシーの率が
少なくなる。
【0060】これとは対照的に、STEOTは行メージ
ヤー・トラックのフォーマットによつて容易に実行され
る。この場合、若し、ブロック1と同じ物理的なトラッ
ク上のブロックの残りがステージされたならば、ロジカ
ル・ブロック中のシーケンシャル・ブロックをアクセス
することが達成される。更に、他のすべてのDASDを
アクセスすることは必要がないので、小容量のデータ転
送要求に対するコンカレンシーの率を減少しない。
【0061】[タイプ2Hアレーに対する小容量のデー
タの読み取り及び書き込み] 再度、図1を参照すると、ブロック1を読み取る要求
は、物理的DASD1にその第1のブロックを読み取ら
せる。物理的なDASD、Nの中のパリティ・ブロック
(ブロックN)からのデータを読み取る必要はない。こ
の動作は、列主体の順序のフオーマッティングを有する
タイプ2のDASDアレーの動作と同じである。
【0062】行列主体の順序フオーマッティングを有す
るタイプ2のDASDアレーの性能が列主体の順序フオ
ーマッティングの性能を上回ることは、2つのブロック
を読み取る小容量のデータ転送要求を考えれば明らかに
理解できる。行トラック・レイアウトを有するアレー中
のブロックK+1及びK+2を読み取るための小容量の
データ転送要求は、2つのブロックを読み取るために、
物理的なDASD2を動作させるだけである。これは2
つのブロックを読み取るために2つの物理的DASDを
動作させることになる列主体の順序フォーマツトのタイ
プ2アレイとの相違である。一般論として言えば、行主
体の順序フオーマッティングの利益は、小容量のデータ
の読み取り要求が2つ以上のDASDを、通常、動作さ
せないことである。
【0063】ブロック1を更新する要求を考えてみる。
前と同じように、ブロック1の更新は、ブロック1及び
Nの読み取りとこれに続くブロック1及びNの書込みを
含んでいる。同じロジカル・トラックに対する他の更新
は、並列に行なうことはできないが、他のロジカル・ト
ラックに対する他の更新は、並列に行なうことができ
る。次に、行主体の順序でブロック1及び2を更新する
要求を考えてみる。そのような要求は、ブロック1、
2、NK−K+1、及びNK−K+2の読み取りと、次
にこれらと同じ4つのブロックの書き込みとを必要とす
ることが容易に判る。従つて、これは、2つのDASD
に対してアクセスを必要とする。同様な要求が列主体の
順序にフォーマットされた場合、これと同じ要求は3つ
のDASDをアクセスすることを必要とする。
【0064】また、この例は、ブロック・レベルではな
く、トラック・レベルでパリティ・ブロックを配置する
利益を示している。若し、パリティ・ブロックがブロッ
ク・レベルにおいて各DASDに配置されているなら
ば、この要求は、2つのDASDよりも多くのDASD
をアクセスすることを必要とすることになる。最後に、
ブロックK及びK+1を更新する要求を考えてみる。こ
のような要求は、ブロックNK−(K+1)及びNKも
また、アクセスされねばならない(列トラックのレイア
ウトを持つ同様な要求は4つのDASDのアクセスが必
要である)から、3つのDASDへのアクセスを必要と
する。
【0065】[タイプ2Hアレーに対する大量のデータ
の読み取り及び書き込み] 大量のデータの読み取りに対して、最高のデータ転送率
(data rate)を達成するように、できるだけ多くの物
理的DASDからデータを読み取ることが必要である。
ロジカル・ブロックの最初のK個のブロックを読み取る
要求は、本来のデバイスのデータ転送率よりも早いデー
タ転送率を達成できず、ロジカル・ブロックの最初の2
K個を読み取る要求は、本来のDASDのデータ転送率
よりも2倍のデータ転送率を達成することができ(2つ
のDASDから並列に読み取ることが望まれているか
ら)、以下同様のデータ転送率が達成される。従つて、
行トラックのレイアウトはデータ転送率とコンカレンシ
ーの率とをバランスさせる。
【0066】つまり、若し、要求が物理的トラックより
も少なければ、その要求は、最高のコンカレンシーの率
(degree)で最低のデータ転送率を達成し、若し、要求
が、物理的トラックよりも多いが、しかし2つの物理的
トラックよりも少なければ、その要求は、次に低いコン
カレンシーの率で次に高いデータ転送率で達成し、以
下、達成される要求と、データ転送率及びコンカレンシ
ーの率とは、上述と同様な関係を持つ。ロジカル・トラ
ック全体((N−1)Kブロック)を読み取る要求は、
最高のデータ転送率(本来の速度のN−1倍)と、最も
低いコンカレンシーの率(すべてのDASDは要求の一
部として動作するから)を達成する。
【0067】大量の書き込みの実行は、更新されるべき
ブロックが或る種の条件を満たす時にだけ良好な性能を
持つことになる。事実、最高の性能は、ロジカル・トラ
ックすべてが書き込まれる時にのみ、達成される。ロジ
カル・トラック全部が書き込まれた時、パリティ・デー
タを同時に書き込むことができる。然しながら、ロジカ
ル・トラック全部よりも少ない書き込みの時には、これ
は可能ではない。例えば、最初の2個のブロックが更新
されることを考えてみる。DASDの最初の回転におい
て、DASD1からブロック1乃至Kと、DASD2か
らブロックK+1乃至2Kと、DASD、Nからすべて
のパリティ・ブロックとを読み取ることが必要である。
DASDの第2回転目において、同じ3つのDASDか
らのこれらの同じブロックを書き戻すことができる。そ
の結果、全部のロジカル・トラックよりも少ないトラッ
クの更新は、1回転以上を必要とし、そして、実質的
に、最大データ転送率の半分の速度で動作する。
【0068】[タイプ2Hアレーの一般化−タイプ2H
V] 図3を参照すると、パラメータMをKに等しいか、また
はそれよりも小さく且つ1より大なる整数として(図3
ではM=2)、上記アレーのN個のDASDのN個のト
ラック上に上記KN個のブロックの連続するM個ずつを
順次配置しかつN番目のDASDに配置された後は1番
目のDASDに戻って同様に配置するようフォーマット
することにより、KN個のブロックがKN個のDASD
のアレーにタイプ2HVでマップされている。つまり、
DASD1にはブロック1及び2、DASD2にはブロ
ック3及び4、DASD3にはブロック5及び6・・・
のように配置される。M=3の場合には、DASD1に
はブロック1、2及び3、DASD2にはブロック4、
5及び6・・・のようになる。
【0069】値Mに従った行主体の順序及び列主体の順
序でDASDアレーをフォーマットするステップは、行
及び列主体の順序のフオーマッティングの最高の特徴を
組み合わせる。行主体の順序のフオーマッティングは、
最大のデータ転送率を達成するために、最小限(N−
1)K個のブロックの転送を必要し、そして、列主体の
順序のフオーマッティングは最大のデータ転送率を達成
するために、最小限N−1個のブロックの転送を必要と
するけれども、図3に示されたフォーマットは2N−2
個のブロックの転送サイズで最大のデータ転送率を達成
する。これは、行及び列トラックのレイアウトの限界点
の上限及び下限の中間にある。これは、2HVアレーと
名付けられ、そして、Mを整数インターバル(1,K)
における尺度(metric)とした場合、2HVのパラメー
タ化されたモデルを表わしている。また、Mの設定は列
主体の順序のモジユーロMNをも決定することには注意
を要する。
【0070】この一般化した場合において、2つの例外
がある。第1に、Mはロジカル・トラック毎に変化する
ことである。第2に、Mに対する上限は、Kよりも大き
い任意の値に置かれることである。事実、上限の絶対値
は、|T×K|に等しいか、または小さいMである。こ
こで、Tはロジカル・トラックの数である。最大のデー
タ転送率を獲得する前に、TNK個のブロックが交換さ
れるまで、システムが待機しなければならないことが、
性能との妥協点である。
【0071】
【発明の効果】本発明によれば、高性能のCPUとDA
SDアレーとの間のデータ転送及びDASDの利用可能
性を効果的な最適値に一致させるためのアクセス調節方
法及び装置を与える。
【図面の簡単な説明】
【図1】本発明に従つて、M=KとしてKモジユーロM
の行主体の順序のK個のモジユーロMで、タイプ2Hの
N個のDASDのアレー上にKN個のブロックをマツブ
することを説明するための図である。
【図2】パリティ・ブロックが図1と同じように拡張さ
れている変形を持つ図6と同じタイプ2Vのアレーにつ
いてマップした図である。
【図3】図1と同じようにパリティ・ブロックが拡張さ
れ、インターバル(1、K)中で、M=2とした場合の
KモジユーロMの行主体の順序及びMモジユーロMNの
列主体の順序でタイプ2HVのN個のDASDのアレー
上にマップされたロジカル・トラックのKN個のブロッ
クを示す図である。
【図4】従来の技術を適用したタイプ1のDASDアレ
ーを示す図である。
【図5】キャッシュ・メモリが接続されたDASDアレ
ーを説明するための図である。
【図6】従来の技術を適用したN個のDASDにおい
て、列主体の順序で、かつ対角線上でストリツプされた
パリティ・ブロックにより、KN個のロジカル・トラッ
クを、タイプ2VのN個のDASDのアレー上にマップ
した図である。
【符号の説明】
1 CPU 3 チャネル 5 コントローラ 7、9 制御通路 11、15 データ通路 13 キャッシュ・メモリ
フロントページの続き (72)発明者 ステフアン・ゴールドステイン アメリカ合衆国カリフオルニヤ州、サンノ ゼ、ギリス・ドライブ 6514番地 (72)発明者 ジーン・ホーミング・ワング・ユー アメリカ合衆国カリフオリニヤ州、サンノ ゼ、マツクビー・ロード 6506番地 (72)発明者 ジエイシヤンカー・モーセダス・メノン アメリカ合衆国カリフオルニヤ州、モント ロ・ドライブ 6017番地 (56)参考文献 特開 昭62−24481(JP,A) 特開 平2−90254(JP,A) 発明協会公開技報85−14086

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】N個のDASDのアレーに分配されて記憶
    されたKN個のシーケンシャルな順序のブロックを有す
    る少なくとも1つのロジカル・トラックに対する外部ソ
    ースからのアクセスを制御する方法であって、各DAS
    Dが周期的なトラック記録媒体を有し、各トラックがK
    個のブロックのストレージ容量を持ち、上記アレーはN
    個のDASDの内の選択されたDASDに対して同期的
    にアクセスを確定するための制御手段を含むアレーを使
    用する、DASDのアクセス制御方法において、 (a) パラメータMをKに等しいか、またはそれより
    も小さく且つ1より大である整数として、該パラメータ
    Mの値を指定する上記外部ソースからのコマンドに応答
    して、上記アレーのN個のDASDのN個のトラック上
    に上記KN個のブロックの連続するM個ずつを順次配置
    しかつN番目のDASDに配置された後は1番目のDA
    SDに戻って同様に配置するようフォーマットし上記N
    個のDASDのN個のトラックに書き込むステツプと、 (b) 上記ステツプ(a)によりフォーマツトされ書
    き込まれたKN個のブロックに対する各アクセスが複数
    のDASDの各トラックのM個の連続ブロックを並列的
    にアクセスし、かつこれによりアクセスされない残余の
    DASDが別のアクセス要求に同時に利用可能となるよ
    うに、上記外部ソースからの上記アレーに対するアクセ
    ス要求を実行するステツプと、 からなるDASDの制御方法。
  2. 【請求項2】 N−1個のDASD中のトラックが(N
    −1)K個のデータ・ブロックを含み、そして、N番目
    のDASDのトラックがK個のパリティ・ブロックを含
    み、該パリティ・ブロックの各々が対応する列のN−1
    個のデータ・ブロックをカバーすることを含む請求項1
    に記載のDASD制御方法。
  3. 【請求項3】 アレーの位置(i、j)にある少なくと
    も1つのデータ・ブロックに対する更新アクセスに応答
    して、実行ステツプは更に以下のステツプを含む請求項
    2に記載のDASD制御方法。 (c) i及びjがそれぞれ整数インターバル(1、N
    −1)及び(1、K)にあるものとして、アレーの位置
    (i、j)にある現在のデータ・ブロックと、アレーの
    位置(N、j)にある現在のパリティ・ブロックとを同
    期して読み取るステツプ、 (d) 位置(i、j)から読み取られたデータ・ブロ
    ックの内容を変更するステツプ、 (e) アレーの位置(N、j)から読み取られたパリ
    ティ・ブロックの現在の内容と、位置(i、j)から読
    み取られたデータ・ブロックの変更された内容とをXO
    R演算を行なうことによつて新しいパリティ・ブロック
    を計算するステツプ、 (f) 変更されたデータ・ブロックと、新しいパリテ
    ィ・ブロックとを同期して、アレー位置(N,j)に読
    み込むステツプ。
  4. 【請求項4】 上記アレーは上記制御手段に応答するキ
    ャッシュ・メモリを含むDASD制御方法において、上
    記実行ステツプは、 (g) ブロックのアレー位置(i、j)に対して上記
    キャッシュ・メモリをアクセスするステツプを含み、そ
    して、上記データ・ブロックが上記キャッシュ・メモリ
    において利用できない場合には、上記ブロックをi番目
    のDASDのアレー位置(i、j)乃至(j、K)から
    キャッシュにステージするステツプを含むこと を特徴とする請求項3に記載のDASD制御方法。
  5. 【請求項5】 KN個のブロックの第1のグループであ
    るロジカル・トラックと関連したK個のパリティ・ブロ
    ックはN番目のDASDの第1のトラックにストアさ
    れ、KN個のブロックの第2のグループであるロジカル
    ・トラックに関連したK個のパリティ・ブロックは(N
    −1)番目のDASDの第1のトラックにストアされ、
    かつ、KN個のブロックの第3のグループであるロジカ
    ル・トラックに関連したK個のパリティ・ブロックは
    (N−2)番目のDASDの第1のトラックにストアさ
    れることを特徴とする請求項3に記載のDASD制御方
    法。
  6. 【請求項6】 Tをロジカル・トラックの数として、順
    番に並べられたブロックの数はT×KNであり、かつ、
    Mは整数インターバル(1、TK)にあることを特徴と
    する請求項1、または2に記載のDASD制御方法。
  7. 【請求項7】 CPUと、N個のDASDのアレーと、
    複数のDASDの内の選択可能なDASDを同期してア
    クセスするために、CPU及びアレーを結合する手段と
    を含み、CPUとアレーを結合する上記手段は、N個の
    DASDに配分されストアされるKN個の順番に並べら
    れたブロックの読み取り及び書き込みアクセスを行なう
    手段を含み、各DASDは周期的トラックを持つ記録媒
    体を含み、上記トラックはK個のブロックのストレージ
    容量を有するDASD制御装置において、 (a) パラメータMをKに等しいか、またはそれより
    も小さく且つ1より大である整数として、該パラメータ
    Mの値を指定する上記外部ソースからのコマンドに応答
    して、上記アレーのN個のDASDのN個のトラック上
    に上記KN個のブロックの連続するM個ずつを順次配置
    しかつN番目のDASDに配置された後は1番目のDA
    SDに戻って同様に配置するようフォーマットし上記N
    個のDASDのN個のトラックに書き込む手段と、 (b) 上記手段(a)によりフォーマツトされ書き込
    まれたKN個のブロックに対する各アクセスが複数のD
    ASDの各トラックのM個の連続ブロックを並列的にア
    クセスし、かつこれによりアクセスされない残余のDA
    SDが別のアクセス要求に同時に利用可能となるよう
    に、上記外部ソースからの上記アレーに対するアクセス
    要求を実行する手段と、 からなるDASDの制御装置。
  8. 【請求項8】 上記アクセス手段は、 (c) 所定個数のブロックをストアするためのキャッ
    シュであって、CPUで発生したアクセス要求に応答
    し、キャッシュ・メモリが利用可能ならば要求されたブ
    ロックをCPUと交換し、キャッシュ・メモリが利用可
    能でなければ要求されたブロックをDASDに転送する
    キャッシュ・メモリと、 (d) 要求されたブロックから、対応するDASDの
    トラックの物理的な終端までのブロックをキャッシュ・
    メモリにステージする手段と を含む請求項7に記載のDASD制御装置。
JP3112196A 1990-05-24 1991-04-18 Dasd制御方法及び装置 Expired - Fee Related JPH0736144B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/528,999 US5263145A (en) 1990-05-24 1990-05-24 Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US528999 1990-05-24

Publications (2)

Publication Number Publication Date
JPH04232557A JPH04232557A (ja) 1992-08-20
JPH0736144B2 true JPH0736144B2 (ja) 1995-04-19

Family

ID=24108083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3112196A Expired - Fee Related JPH0736144B2 (ja) 1990-05-24 1991-04-18 Dasd制御方法及び装置

Country Status (7)

Country Link
US (1) US5263145A (ja)
EP (1) EP0458554B1 (ja)
JP (1) JPH0736144B2 (ja)
KR (1) KR950004213B1 (ja)
BR (1) BR9102061A (ja)
CA (1) CA2042872C (ja)
DE (1) DE69127229T2 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JP3409859B2 (ja) 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
US5345584A (en) * 1991-03-11 1994-09-06 Laclead Enterprises System for managing data storage based on vector-summed size-frequency vectors for data sets, devices, and residual storage on devices
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
JP2913917B2 (ja) 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5522065A (en) * 1991-08-30 1996-05-28 Compaq Computer Corporation Method for performing write operations in a parity fault tolerant disk array
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
JP3294326B2 (ja) * 1992-07-09 2002-06-24 株式会社日立製作所 データ処理方法および装置
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
US5581784A (en) * 1992-11-17 1996-12-03 Starlight Networks Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams
US5459853A (en) * 1992-11-23 1995-10-17 International Business Machines Corporation Efficient variable-block data storage system employing a staggered fixed-block-architecture array
US5819109A (en) * 1992-12-07 1998-10-06 Digital Equipment Corporation 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
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5579474A (en) * 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
EP0612015A1 (en) * 1993-02-16 1994-08-24 International Business Machines Corporation Improved disk array system having special parity groups for data blocks with high update activity
US5526511A (en) * 1993-12-23 1996-06-11 Unisys Corporation Enhanced least recently used round robin cache management method and apparatus for allocation and destaging of cache segments
US5809527A (en) * 1993-12-23 1998-09-15 Unisys Corporation Outboard file cache system
US5530948A (en) * 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5805857A (en) * 1994-04-07 1998-09-08 International Business Machines Corporation DASD capacity in excess of 528 megabytes apparatus and method for personal computers
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5802394A (en) * 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5634028A (en) * 1994-12-15 1997-05-27 International Business Machines Corporation Compact track address translation mapping system and method
US5634033A (en) * 1994-12-16 1997-05-27 At&T Global Information Solutions Company Disk array storage system architecture for parity operations simultaneous with other data operations
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
US5574882A (en) * 1995-03-03 1996-11-12 International Business Machines Corporation System and method for identifying inconsistent parity in an array of storage
JP3358687B2 (ja) * 1995-03-13 2002-12-24 株式会社日立製作所 ディスクアレイ装置
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5717850A (en) * 1996-03-12 1998-02-10 International Business Machines Corporation Efficient system for predicting and processing storage subsystem failure
US5854942A (en) * 1996-09-06 1998-12-29 International Business Machines Corporation Method and system for automatic storage subsystem configuration
US5940826A (en) * 1997-01-07 1999-08-17 Unisys Corporation Dual XPCS for disaster recovery in multi-host computer complexes
US5949970A (en) * 1997-01-07 1999-09-07 Unisys Corporation Dual XPCS for disaster recovery
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6079000A (en) * 1997-12-30 2000-06-20 Unisys Corporation XPC backup for in-process audit
US6701330B1 (en) 1997-12-30 2004-03-02 Unisys Corporation Protecting duplicate/lost updates against host failures
US6052799A (en) * 1998-05-15 2000-04-18 International Business Machines Corporation System and method for recovering a directory for a log structured array
US6070225A (en) * 1998-06-01 2000-05-30 International Business Machines Corporation Method and apparatus for optimizing access to coded indicia hierarchically stored on at least one surface of a cyclic, multitracked recording device
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US6381677B1 (en) 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
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
US6397292B1 (en) 1999-08-19 2002-05-28 Emc Corporation Asymmetrical striping of mirrored storage device arrays and concurrent access to even tracks in the first array and odd tracks in the second array to improve data access performance
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US8356060B2 (en) 2009-04-30 2013-01-15 Oracle International Corporation Compression analyzer
US8935223B2 (en) * 2009-04-30 2015-01-13 Oracle International Corporation Structure of hierarchical compressed data structure for tabular data
US8583692B2 (en) * 2009-04-30 2013-11-12 Oracle International Corporation DDL and DML support for hybrid columnar compressed tables
US9667269B2 (en) 2009-04-30 2017-05-30 Oracle International Corporation Technique for compressing XML indexes
US8645337B2 (en) 2009-04-30 2014-02-04 Oracle International Corporation Storing compression units in relational tables
US8296517B2 (en) 2009-08-19 2012-10-23 Oracle International Corporation Database operation-aware striping technique
US9619157B2 (en) * 2014-04-03 2017-04-11 Analysis Solution Llc High-speed data storage
US9990308B2 (en) 2015-08-31 2018-06-05 Oracle International Corporation Selective data compression for in-memory databases

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3336582A (en) * 1964-09-01 1967-08-15 Ibm Interlocked communication system
US4092732A (en) * 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
CA1263194A (en) * 1985-05-08 1989-11-21 W. Daniel Hillis Storage system using multiple mechanically-driven storage units
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
CA1296103C (en) * 1987-06-02 1992-02-18 Theodore Jay Goodlander High-speed, high capacity, fault-tolerant, error-correcting storage system
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US5077736A (en) * 1988-06-28 1991-12-31 Storage Technology Corporation Disk drive memory
JPH0290254A (ja) * 1988-09-27 1990-03-29 Nec Corp データ入出力システム
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
発明協会公開技報85−14086

Also Published As

Publication number Publication date
JPH04232557A (ja) 1992-08-20
CA2042872A1 (en) 1991-11-25
CA2042872C (en) 1995-08-15
EP0458554A2 (en) 1991-11-27
EP0458554B1 (en) 1997-08-13
DE69127229D1 (de) 1997-09-18
US5263145A (en) 1993-11-16
KR910020562A (ko) 1991-12-20
DE69127229T2 (de) 1998-02-12
KR950004213B1 (ko) 1995-04-27
BR9102061A (pt) 1991-12-24
EP0458554A3 (en) 1994-06-29

Similar Documents

Publication Publication Date Title
JPH0736144B2 (ja) Dasd制御方法及び装置
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
US6397292B1 (en) Asymmetrical striping of mirrored storage device arrays and concurrent access to even tracks in the first array and odd tracks in the second array to improve data access performance
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5506979A (en) Method and means for execution of commands accessing variable length records stored on fixed block formatted DASDS of an N+2 DASD synchronous array
US5459853A (en) Efficient variable-block data storage system employing a staggered fixed-block-architecture array
US5072378A (en) Direct access storage device with independently stored parity
US5499337A (en) Storage device array architecture with solid-state redundancy unit
US5398253A (en) Storage unit generation of redundancy information in a redundant storage array system
US5799140A (en) Disk array system and method for storing data
USRE39421E1 (en) On-the-fly redundancy operation for forming redundant drive data and reconstructing missing data as data transferred between buffer memory and disk drives during write and read operation respectively
JP2959901B2 (ja) 記憶装置の冗長アレイおよびオンライン再構成方法
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US5974544A (en) Method and controller for defect tracking in a redundant array
Holland On-line data reconstruction in redundant disk arrays
US5650969A (en) Disk array system and method for storing data
US20040123032A1 (en) Method for storing integrity metadata in redundant data layouts
CA2101848A1 (en) Disk drive array memory system using nonuniform disk drives
JPH08235754A (ja) 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
JPH10240453A (ja) ディスクアレイ装置
JPH06309113A (ja) ディスク装置
JPH06119121A (ja) ディスクアレイ装置

Legal Events

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