JPH08272545A - 並列性を改善してディスク・アレイ上にソートワーク・データを分散するシステム - Google Patents

並列性を改善してディスク・アレイ上にソートワーク・データを分散するシステム

Info

Publication number
JPH08272545A
JPH08272545A JP7337167A JP33716795A JPH08272545A JP H08272545 A JPH08272545 A JP H08272545A JP 7337167 A JP7337167 A JP 7337167A JP 33716795 A JP33716795 A JP 33716795A JP H08272545 A JPH08272545 A JP H08272545A
Authority
JP
Japan
Prior art keywords
string
dasd
strings
data
disk
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.)
Pending
Application number
JP7337167A
Other languages
English (en)
Inventor
Paul K-W Lee
ポール・カイ=ワン・リー
Zvi Y Yehudai
ズヴィ・ヨセフ・イェフダイ
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 JPH08272545A publication Critical patent/JPH08272545A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/32Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 後続の組合せ操作中の並列性を最大限にする
ように記憶サブシステムにソートワーク・データを格納
する。 【解決手段】 分類/組合せアプリケーション・モジュ
ールが内部でデータ・パケットを分類し、ストリングを
生成する。次に、後続の組合せ操作の並列性を最大限に
するような特定の記憶方式により、ストリングを記憶サ
ブシステムに格納する。即ち、すべてのストリングの格
納後、すべてのデータを分類してディスク記憶サブシス
テムに格納した後で各ストリングがそれぞれすべてのD
ASDユニットのディスクにわたって均一にストライプ
化されるように、ストリングを格納する。それぞれの論
理ブロックが各ストリングからのストリング・ブロック
を1つずつ含むように格納が行われ、1つの論理ブロッ
ク内の各ストリング・ブロックは、残りのストリング・
ブロックがそれに対応するストリングに対するのと同じ
順序をそのストリングに対して有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、ディ
スク・アレイ・システムに関する。より具体的には、本
発明は、並列読取りおよび書込みコマンドを使用して、
ディスク・アレイ・システム上にソートワーク・データ
を分散するシステムに関する。本発明の分散方式は、外
部分類操作とともに特に有用である。
【0002】
【従来の技術】
循環トラック・データ記録媒体 図1に示すように、一定速度で高速回転するディスク1
02の表面103上に格納されたデータを磁気的に読み
書きするためにアクチュエータ100が読取り/書込み
ヘッド101を位置決めするような媒体駆動機構では、
循環トラック・データ記録媒体が使用されている。表面
103上のデータの多くの環状同心「トラック」104
の1つにアクセスするため、アクチュエータ100は、
何らかの角位置(θ)によって定義された所望の位置1
06まで移動する。ディスク102の回転位置は、ディ
スク102に刻印されたインデックス・マーク(図示せ
ず)の経過を検出することにより、確認することができ
る。次に、アクチュエータ100の角位置とディスク1
02の回転位置とを検出することにより、所望のトラッ
ク104上の特定のデータ項目を突き止めることができ
る。
【0003】図1に示すように、この媒体駆動機構は、
たとえば、直接アクセス記憶装置すなわち「DASD」
を含むことができる。DASDによるデータ・アクセス
は「直接」であると言われるが、それは、アクチュエー
タ100を所望のトラック104まで移動させ、ディス
ク102が正しい回転位置になるまで待つことにより、
特定のデータ項目を直接取り出せるからである。
【0004】DASDアレイ DASD「アレイ」とは、複数のDASDから選択した
もの(またはすべて)を同時にアクセスすることができ
るようなDASDの物理的な配置である。複数の循環記
録媒体を結合して1つのDASDアレイを作成すること
により、各ディスクのメモリ容量を変更せずに、より大
きいメモリを作成することができる。典型的なスタック
式DASDアレイ200(図2)では、スピンドル20
6に取り付けられた複数のスタック・ディスク204と
のインタフェースを取るために複数のアクチュエータ2
02を使用している。DASDアレイ200上のすべて
のアクチュエータ202は、任意の時点ではいつでも同
じ角位置を有している。しかし、一度に活動状態になり
うるのは1つのアクチュエータの読取り/書込みヘッド
に限られる。スタック式DASDアレイ上のデータの位
置は、任意のアクチュエータの位置にあるトラックのス
タックの基準である、その「シリンダ番号」に関して記
述することができる。
【0005】低価格ディスクの冗長アレイ(「RAI
D」) 典型的なDASDアレイ200とは対照的に、DASD
が低価格ディスクの冗長アレイ(「RAID」)として
配置されていることがある。RAIDアーキテクチャは
当技術分野では周知である。たとえば、本出願人に譲渡
され、その全体が本明細書の一部となる米国特許第53
01297号のRAIDアーキテクチャの説明を参照す
る。典型的なRAIDアーキテクチャは図3に示す。R
AID装置300は複数の単純なDASDユニット30
2を含み、行304と列306によって配置されている
場合が多い。RAIDアーキテクチャでは、それぞれの
DASDユニット302が単一ディスク(図3のよう
な)を含む場合もあれば、スタック式DASDアレイを
含む場合もある。RAID内のすべてのディスクは、通
常、同じサイズを有し、同じ回転速度を有する。1つの
DASDユニットではすべてのアクチュエータの角位置
が共通であるが、RAID内の異なるDASDユニット
のアクチュエータ同士では、角位置が互いに異なる場合
もある。RAID装置の主な利点の1つは、大型メモリ
要求ならびに数値的に複雑な操作に対する効率が高まる
点である。
【0006】たとえば、「ブロック」というファイルの
下位区分は複数のDASDユニット302にわたって分
散することができ、それぞれのDASDユニット302
は同時にアクセス可能である。このようにデータ・ブロ
ックを分散することを「ストライプ化」という。複数の
DASDユニット302に同時にアクセスすることによ
り、ユーザは高レベルの「並列性」を達成することがで
き、その結果、RAID装置をより効率よく使用するこ
とができる。コンピュータの「ハードドライブ」などの
従来のDASDアレイと比較すると、RAID装置のD
ASDユニット302の方がより小さく、製造時の複雑
さも低い可能性があるので、RAIDシステムは費用削
減という利点ももたらす。
【0007】RAID−1、RAID−2、RAID−
3、RAID−4、RAID−5配置など、いくつかの
RAIDアーキテクチャが周知である。「RAID−
5」アーキテクチャでは、「パリティ」ディスクと「予
備」ディスクを指定することにより、RAID操作の効
率と信頼性が向上している。具体的には、RAID−5
では、8つのデータ・ディスクと、1つのパリティ・デ
ィスクと、1つの予備ディスクとを使用している。この
配置で1つのディスクが故障した場合、排他論理和
(「XOR」)などのブール関数を使用して予備ディス
ク上に紛失データを再構築するために、パリティ・ディ
スクを使用することができる。
【0008】編成および効率のため、コンピュータ設計
者は、そのRAIDシステムで単一隣接スタック式DA
SDアレイをエミュレートしなければならない場合が多
い。RAID内のDASDの数、サイズ、容量はエミュ
レートすべきDASDとは大幅に異なる可能性があるの
で、これは困難であると思われる。この問題に対処する
際にエンジニアは、実際の物理RAID装置に格納され
たデータをエミュレートすべき想像上のすなわち「論
理」装置にマッピングするためのコンピュータ・ハード
ウェアとソフトウェアを設計する。このエミュレーショ
ンを実行するため、たとえば、論理装置の「論理」トラ
ックと「論理」シリンダにRAIDデータがマッピング
される。
【0009】分類操作 コンピュータ・エンジニアは様々な応用分野にDASD
を使用してきた。たとえば、有用かつ一般的な応用分野
の1つは「分類」である。一般に分類は、1つまたは複
数のキー値に応じて何らかの順序、通常は昇順または降
順にデータを再配置することを含む。基本的に、内部分
類と外部分類の2種類の分類操作がある。
【0010】内部分類では、分類すべきデータがコンピ
ュータのメイン・メモリより小さく、データをメイン・
メモリに完全に収容することができる。したがって、デ
ータを一度にメモリに読み込んで分類することができ
る。内部分類の既知の例としては、基数法、クイックソ
ート法、置換選択法などがある。
【0011】外部分類では、分類すべきデータのサイズ
がメイン・メモリ・サイズより大きい。したがって、デ
ータを単純にメイン・メモリに読み込んで分類すること
ができない。むしろ、分類作業は、ストリング生成段階
と組合せ段階の2段階で行われる。外部分類の例は図4
〜7に示す。まず、ストリング生成段階では、乱雑なデ
ータのグループ(データ「パケット」)400a〜40
2aを受け取る(図4)。この例では、3つのデータ・
パケットが存在する。内部分類手順を使用して、それぞ
れのデータ・パケット400a〜402aを個別に再配
置し、分類後のデータ・ストリング400b〜402b
を作成する(図5)。この分類後のデータ・ストリング
400b〜402bは「ソートワーク」という。
【0012】出力組合せ段階では、分類後のストリング
400b〜402bを組み合わせて、完全に分類され組
み合わされた最終出力を生成する。具体的には、分類後
のデータ・ストリング400b〜402bをストリング
・ブロックに分割し、ストリングのストリング・ブロッ
クを連続して開き、内容を比較することにより、一連の
「パス」を行う。たとえば、それぞれのデータ・ストリ
ング400b〜402bの第1のストリング・ブロック
を最初にオープンし、その内容を比較する。この比較中
にストリング・ブロックのうちの最も優先順位の高いデ
ータが最終出力404に書き込まれる(図6)。図6〜
7に示すように、ブロックはますますそのデータ・スト
リングから効果的にもぎ取られ、最終出力404に挿入
されるので、複数のパスでストリング・ブロックが順次
オープンされる。
【0013】図8は、分類操作で使用する代表的なハー
ドウェア・アーキテクチャを示している。通常、分類
は、コンピュータ・システム503の分類/組合せアプ
リケーション・モジュール502によって管理される。
モジュール502は、コンピュータ記憶サブシステム
(図示せず)に格納されたコンピュータ・プログラムを
含むことができる。また、このアーキテクチャは、基本
記憶装置と一時記憶装置504〜505を含み、それぞ
れがDASDを1つずつ含むことができる。一般に基本
記憶装置504は、分類すべき元のデータならびに組み
合わせた最終出力を格納するために使用する。一時記憶
装置505は、分類および組合せ時に使用するソートワ
ークなどの中間データを格納するために使用する。ま
た、このサブシステムは、データ記憶域、装置制御装置
など、他の装置(図示せず)を含むこともできる。コン
ピュータ・システム503と記憶装置504〜505と
のやりとりは、入出力チャネル506〜507によって
積極的に管理される。
【0014】分類プロセスの最初のステップは、ストリ
ング生成段階である。モジュール502が分類すべきデ
ータ・パケットを基本記憶装置504から読み取った
後、モジュール502は、それぞれのデータ・パケット
を分類し、分類後のストリングを一時記憶装置505に
再格納する。ストリング生成段階後、分類後の各ストリ
ングの各部分がモジュール502によって順次再読取り
され、次に組み合わされて最終分類出力を生成する。最
後に、最終分類出力が基本記憶装置504に格納され
る。
【0015】分類操作は、典型的なデータ処理環境にお
いてかなりの作業負荷に相当する。平均すると、分類ア
プリケーションは処理資源の10〜15%と入出力資源
の20〜25%を消費すると推定されている。したがっ
て、計算システムの全体的な速度を上げるには、分類操
作を迅速に処理することが重要である。また、分類操作
に関する時間の85%が入出力機能の実行に費やされる
と推定されているので、分類操作の迅速化は、ディスク
・アクセス時間の短縮によって最も効果的に達成され
る。
【0016】前述のように、RAID構成のDASDを
使用すると、分類操作中の並列性を高めることによって
分類速度を上げるのに役立つ。しかし、これは通常、R
AID内のデータ記憶域のパターンによって決まる。た
とえば、複数のDASDユニット302にわたって単一
データ・ストリングをストライプ化する場合、このデー
タ・ストリングへのアクセスは非常に並列性が高く、迅
速なものになる。しかし、各ストリングの一部が単一D
ASDユニット上に位置し、1回の操作でこれらの部分
にアクセスしなければならない場合は、並列性が完全に
失われる。この問題は、異なるストリングの各部が収集
される組合せ段階で主に発生する。以下の例では、この
状況をさらに詳しく検討する。
【0017】1. 分類/組合せの例 表1は、4つの分類後のストリングの典型的な例を示し
ている。それぞれのストリングは4つのストリング・ブ
ロックで構成されている。ここでは、1つのストリング
のストリング・ブロックをB(i,j)で示すが、iは
ストリング番号を表し、jは1つのストリング内のスト
リング・ブロックの順序を表す。
【0018】
【表1】
【0019】この例では、4つのストリングすべてにわ
たってデータが均一に分散されていると想定している。
これは、組合せ段階では、それぞれのストリングからス
トリング・ブロックが1つずつ必要になることを意味す
る。
【0020】2. データ分散の例 この例では4つのDASDユニットを使用するが、それ
ぞれのDASDユニットはスタック式垂直アレイに同心
状に取り付けられた4つのディスクを含む。ディスクの
ブロックサイズの記憶位置はディスクブロックと呼ば
れ、この例では、1つのディスクブロックが1つのトラ
ックを占有する。説明を容易にするため、それぞれのデ
ィスクはトラックを1つずつ含むものとする。したがっ
て、すべてのDASDユニットを組み合わせた場合の記
憶容量は、4×4アレイに配置された16ブロックにな
る。
【0021】上記のように、単一ストリングのストリン
グ・ブロックは、データを書き込む際の並列性を最大に
するために4つのDASDユニットすべてにわたってイ
ンターリーブすることができる。このような分散状態を
以下の表2に示す。
【0022】
【表2】
【0023】それぞれのストリングは4つのDASDユ
ニットのすべてにわたってストライプ化されるので、こ
の分散方式では、ストリング生成段階中に分類後のスト
リングをRAIDに書き込む際に4重の並列性を維持し
ている。
【0024】しかし、これでは、組合せ段階でソートワ
ーク・ストリング・ブロックを読み戻す際の並列性が保
証されない。データが均一に分散されている場合、4つ
のストリングすべてが同じデータ分散になり、それぞれ
の組合せパスには各ストリングからのストリング・ブロ
ックが1つずつ必要になるはずである。特に、第1の組
合せパスはB(0,0)、B(1,0)、B(2,
0)、B(3,0)というストリング・ブロックをコン
ピュータ・システム503に読み込んで、それらを組み
合わせ、最終出力の一部としてそれらを基本記憶装置5
04に書き込むはずである。次にB(0,1)、B
(1,1)、B(2,1)、B(3,1)というストリ
ング・ブロックが読み取られ、組み合わされ、以下同様
に処理されるはずである。
【0025】したがって、それぞれの組合せパスに必要
なすべてのストリング・ブロックは同一DASDユニッ
トに分散されるので、上記のように複数のDASDユニ
ットにストリングが分散されると、RAIDからデータ
を読み戻す際の並列性はまったく存在しなくなる。ま
た、前述のように、1つのDASDユニットでは、一度
に1つの読取り/書込みヘッドしか活動状態にすること
ができない。したがって、組合せ操作中の並列性を高め
るために、改良されたストリング記憶方式が必要になっ
ている。
【0026】
【発明が解決しようとする課題】本発明は、並列の読取
りコマンドと書込みコマンドを使用して記憶サブシステ
ムに分類後のストリングを分散するためのシステムに関
する。本発明の好ましい実施例では、分類/組合せアプ
リケーション・モジュールとRAID配置などの記憶サ
ブシステムとを備えた計算システムを使用し、それぞれ
のDASDユニットは標準のDASDアレイ状の複数の
ディスクを含むことが好ましい。それぞれのDASDユ
ニットは、残りのDASDユニットの同一位置にあるデ
ィスクブロックに対応する複数のディスクブロックに分
割される。DASDユニットの同一位置にある1群のデ
ィスクブロックにより、1つの論理ブロックが形成され
る。
【0027】
【課題を解決するための手段】本発明の方法は、次のよ
うに進行する。まず、アプリケーション・モジュールが
内部でデータ・パケットを分類し、ストリングを生成す
る。次に、後続の組合せ操作の並列性が最大限になるよ
うに計算した方法で、ストリングを一時記憶装置に格納
する。具体的には、すべてのストリングの格納後、すべ
てのデータを分類して記憶サブシステムに格納した後で
それぞれのストリングがすべてのDASDユニットにわ
たって均一にストライプ化されるように、ストリングを
格納する。ストライプ化は対角パターンになるように行
われるのが最も有利である。それぞれの論理ブロックが
各ストリングからのストリング・ブロックを1つずつ含
むように格納が行われ、1つの論理ブロック内の各スト
リング・ブロックは、残りのストリング・ブロックがそ
れに対応するストリングに対して持っているのと同じ順
序をそのストリングに対して持っている。
【0028】本発明は、いくつかの明確な利点をそのユ
ーザに提供する。たとえば、本発明は、分類および組合
せ操作中に記憶域を読み書きする際により高速のデータ
転送速度を達成する。特に、本発明は、データ・アクセ
スの並列性を改善するように明確に設計された方法で規
則正しくデータを格納する。並列性の改善に加え、本発
明は、使用する論理アレイ・シリンダの数を都合よく最
小限にすることにより、より効率のよいデータ・アクセ
スを提供する。これにより、DASDユニットのアクチ
ュエータが必要とする機械的移動が削減されるか、また
は解消される。このような特徴を考慮して、本発明は、
RAID装置の入出力速度が比較的遅い場合に比較的高
速のプロセッサ速度を有するコンピュータ・システムに
加わる可能性のある負荷を最小限にする。このため、分
類および組合せ操作中のデータ・アクセスはより効率よ
く、その結果、より高速に実行することができる。
【0029】従来の配置とは異なり、本発明は、分類を
支援するためにRAIDを使用することができる。これ
により、本発明の効率と速度がさらに高まる。ユーザ
は、本発明からその高い信頼性と保守性による恩恵も受
けることになる。本発明は、ディスク障害が発生した場
合にデータを再構築するための様々な特徴を含むRAI
D−5アーキテクチャを使用して実現することができる
ので、信頼性が高く、容易に保守可能である。
【0030】本発明の特徴、目的、および利点は、添付
図面とともに以下の詳細な説明を考慮すれば、当業者に
はより明白になるであろう。なお、添付図面では、同様
の参照番号は同様の部分を示している。
【0031】
【発明の実施の形態】本発明の好ましい実施例によれ
ば、記憶サブシステム上にソートワーク・データを分散
する方式は、そのデータにアクセスする際に最大限の並
列性を提供する。一実施例では、本発明は図9に示すよ
うなハードウェア配置で実現することができる。この実
施例は、分類/組合せアプリケーション・モジュール6
02と1対の入出力チャネル606〜607とを含むコ
ンピュータ・システム603を含む。入出力チャネル6
06〜607は、モジュール602と記憶サブシステム
604〜605との間のやりとりを積極的に管理するよ
うに機能する。この実施例では、分類/組合せアプリケ
ーション・モジュール602によって分類が管理され
る。本発明は様々な計算環境で実現することができる
が、コンピュータ・システム602の実施例としては、
IBMシステム390入出力チャネルを備えたIBM
ES−9000メインフレーム・コンピュータを企図し
ている。コンピュータ・システム603は、VMまたは
MVSなどのオペレーティング・システム下で動作する
ことができる。
【0032】それぞれの記憶サブシステム604〜60
5は複数のDASDユニット608〜609を含む。以
下により詳細に説明するように、本発明により最高の効
率を達成するため、それぞれのDASDユニット608
〜609は、垂直スタック式DASDアレイなどの複数
ディスク・アレイを含むことが好ましい。理解しやすく
するため、本発明の以下の説明ではDASDユニット6
08〜609はスタック式垂直アレイに複数のディスク
を含むものであると想定する。単一ディスクの実施例に
ついては、以下に別の見出しを付けて説明する。記憶サ
ブシステム604〜605は、基本および一時RAID
装置604〜605を含むことが好ましく、これらのR
AID装置は、コンピュータ・データ記憶装置の技術分
野で周知のRAID−5スタイルに構成されていること
が好ましい。また、RAID装置604〜605は、デ
ータ記憶域、装置制御装置などの他の装置(図示せず)
を含むこともできる。
【0033】本発明の一実施例のモジュール602は、
一連のコンピュータで実行可能な命令を実行することに
より、分類および組合せ操作を実行することができる。
このような命令は、たとえば、コンピュータ・システム
603の高速アクセス・メモリ(図示せず)に常駐する
ことができる。あるいは、この命令は、コンピュータ・
ディスケット700(図10)などのデータ記憶媒体に
収容することもできる。あるいは、DASDアレイ、磁
気テープ、従来の「ハード・ドライブ」、電子読取り専
用メモリ、光学記憶装置、紙の「パンチ」カード、その
他のデータ記憶装置に命令を格納することもできる。本
発明の実施例では、コンピュータで実行可能な命令は、
IBMシステム390のアセンブリ・コードの行を含む
ことができる。
【0034】RAID装置604〜605内のすべての
ディスクは、データ内容を除き、同一であると想定され
ている。したがって、それぞれのディスクは同じ速度を
有し、さらに、1つのDASDユニット608のすべて
のアクチュエータはいつでも同じ角オフセットを有す
る。本発明の動作を説明する場合、「論理ブロック」と
は、すべてのDASDユニットにわたって分散された特
定のブロックサイズの記憶位置を意味する。具体的に
は、1つの論理ブロックは、異なる各DASDユニット
のそれに対応する位置にあるディスクからのディスクブ
ロックを含む。たとえば、1つの論理ブロックは、それ
ぞれのDASDユニットの第1のディスクのトラック番
号1の一部または全部を含むことができる。各論理ブロ
ックは、数値による論理ブロック番号(「LBN」)に
よって識別される。ディスクブロックのサイズは、1つ
のトラックの一部または1つのトラック全体を占有する
ように本発明により選択することができる。したがっ
て、それぞれのトラックは1つまたは複数のディスクブ
ロックを含むことができる。「論理アレイ・シリンダ」
(「LAC」)は、所与の半径を有するすべてのDAS
Dユニットのトラックの集合を意味する。たとえば、論
理アレイ・シリンダの一例は、各DASDユニットのそ
れぞれのディスクのトラック番号1上のすべてのデータ
で構成することができる。
【0035】改良データ記憶配置 本発明によれば、組合せ操作中の並列性は、分類後(組
合せ前)に記憶サブシステム605にデータを格納する
方法を変更することによって高めることができると発明
者は発見した。分類後のデータは複数のDASDユニッ
トにわたってストライプ化されるので、基本的にこの並
列性の向上は、LBNを順にシフトすることによって達
成される。この技法により得られる分散状態を表3(以
下)に示す。
【0036】
【表3】
【0037】この技法は、好ましい実施例では以下の手
順に従うことによって実施される。 1.それぞれのDASDユニット609からの同一位置
にあるディスクにわたって各論理ブロックを分散する。
たとえば、LBN0は、各DASDユニット609の第
1のディスクのトラック番号1に格納することができ
る。したがって、単一LBNは、それぞれのストリング
からの対応するデータ・ブロックを収容する。たとえ
ば、LBN0は、ストリング0、1、2、3の0番目の
ブロックを収容する。 2.単一論理アレイ・シリンダにすべてのデータを格納
する。その結果、単一DASDユニットでは、それぞれ
のLBNが単一ディスクに明確に対応する。たとえば、
DASDユニット0に収容されたLBN0〜4の位置
は、DASDユニット0のディスク番号1、2、3、4
上にそれぞれ収容される。 3.複数のDASDユニットにわたる対角ストライプ化
を達成するように各ストリングを格納する。たとえば、
表3に示すように、対角線上に接続された位置、すなわ
ち、(DASDユニット0、LBN0)、(DASDユ
ニット1、LBN1)、(DASDユニット2、LBN
2)、(DASDユニット2、LBN2)に0番目のス
トリングが格納される。残りのストリング1〜2も、必
要に応じて「折返し」を行って対角線上に格納される。
具体的には、対角ストライプ化中に最後のLBNまたは
DASDユニットが検出されると、論理アレイ・シリン
ダの境界が「折返し」を行って互いに接する場合のよう
に、次のストリング・ブロックが第1の論理ブロックま
たはDASDユニットに格納される。
【0038】いくつかの理由により、この技法では、表
2のような従来の配置より大幅な改善が得られる。ま
ず、それぞれのストリングが4つのDASDユニットす
べてにわたって分散され、そのため、ストリングを書き
込む際に際に4重の並列性が維持される。さらに、それ
ぞれのストリングの対応するブロックを同時に読み取る
ことができるので、組合せ段階中に4重の並列性が達成
される。たとえば、ディスク0〜3のLBN0を同時に
読み取ることによって、ストリング0〜3の第1のブロ
ックを一度に容易に読み取ることができる。その結果、
ディスク・アレイの読み書きの全体的な速度が向上す
る。
【0039】また、この配置の重要な特徴は、すべての
データが単一LACに格納される点である。したがっ
て、それぞれのDASDユニット609では、各ディス
クのアクチュエータが同じトラックに位置決めされる。
したがって、アクチュエータの機械的移動が一切不要な
ので、ディスクへのデータの読み書きの速度が増す。
【0040】データ記憶方法 表3のような改良されたストリング分散を達成するた
め、図11に示すルーチンを実行することによって、本
発明の方法の実施例を実現することができる。このルー
チンは、たとえば、IBMシステム390のアセンブリ
・コードなどで作成可能な一連のコンピュータ命令(図
示せず)を実行することによって実行することができ
る。タスク800は、コンピュータ・システム603に
よって実行されることが好ましい。タスク802でルー
チンを開始した後、タスク804は分類すべきデータ・
パケットを取り出す。分類すべきデータ・パケットは、
たとえば基本RAID装置604に収容することができ
る。
【0041】データ・パケットを取り出した後、タスク
806は内部でデータ・パケットを分類し、分類後のス
トリングを生成する。次にタスク808は、一時RAI
D装置605のどこにストリングを格納すべきかを判定
する。説明を容易にするため、このタスクについては以
下に詳述する。次にタスク810は、タスク808で見
つかった位置にストリングを格納する。
【0042】次に問合せ812は、分類すべきデータ・
パケットが他にもあるかどうかを判定する。他にもある
場合は、タスク814と804により、分類用の次のデ
ータ・パケットを選択し、取り出す。すべてのデータ・
パケットを分類してしまうと、タスク816でルーチン
が終了する。タスク800の完了後、コンピュータ・シ
ステム603は、分類後のストリングの組合せと、基本
RAID装置604への最終結果の格納に進む。組合せ
は、いくつかある周知の技法のいずれでも実施すること
ができる。
【0043】図11に示すルーチンは、表4(以下)に
示す擬似コードでも示すことができる。
【0044】
【表4】
【0045】ストリングの記憶位置の識別 上記のルーチンでは、分類後のストリングを一時RAI
D装置605のどこに格納すべきかをタスク808が判
定していた。このステップを最も有利に実行するには、
必要に応じて「折返し」を行ってストリングを対角線上
にストライプ化し、前述のようにそれぞれの論理ブロッ
クが各ストリングの対応するストリング・ブロックを収
容する必要がある。
【0046】このような特徴は、好ましい実施例では以
下の技法により実現することができる。まず、以下の変
数を定義する。 n=ディスク・アレイ内のディスクの数 m=1つのシリンダ内のディスクブロックの数 S=単一ストリング内のストリング・ブロックの数 i=ストリング番号(たとえば、i=0、1、2・・
・) j=データ・ブロック L=LAC番号 b=1つのシリンダ内のLBN d=ディスク・アレイ内のディスク・インデックス、す
なわち、ディスクの数 LAC=LAC番号L内の項目(d,b) B(i,j)=ストリング番号i内のデータ・ブロック
j OFFSET=INT(i/n)×S(ディスク・アレ
イ内のストリングiのオフセット)
【0047】上記の定義を確立すると、任意のストリン
グ・ブロックの位置は以下の式1〜3によって得られ
る。 L=INT((OFFSET+j)/m) [1] d=(i+j)MODm [2] b=(OFFSET+j)MODm [3]
【0048】式1〜3の関数「INT」はそのオペラン
ドの整数値を見つけるものであり、「MOD」はそのオ
ペランドの剰余を生成するように機能する。式1〜3が
示すようにストリング・ブロックの記憶位置を判定する
タスクは、表5(以下)に示す擬似コードで実現するこ
とができる。
【0049】
【表5】
【0050】他の例 本発明の方法の一実施例について説明してきたが、4つ
のDASDユニットがあり、1つのLACに4つのディ
スクブロックがあり、4つのストリングがあり、1つの
ストリングに4つのストリング・ブロックがある他の例
を示す。したがって、各変数の値は次のようになる。 m=4 n=4 S=8 ストリングの数=4 式1〜3によるストリング・ブロックの分散状態を表6
(以下)に示す。
【0051】
【表6】
【0052】表6は、1つのDASDユニット内の論理
ブロックより各ストリング内のストリング・ブロックの
方が多い場合に対角ストライプ化を実行する方法の例を
示している。それぞれの論理ブロックは、異なるDAS
Dユニットの同一位置にあるディスクの同一トラック上
に位置する。したがって、このような対角ストライプ化
は、1つのDASDユニット内のディスクより各ストリ
ング内のストリング・ブロックの方が多い場合に使用す
る。表6に示すように、1つのストリングのストライプ
化が1つのDASDユニットの最後の論理ブロックを含
む場合、そのストリングのストライプ化は次のLACの
最初の論理ブロックへと続く。表6には示されていない
が、ストリング・ブロックの数がこれより多いストリン
グに対応するため、必要に応じてさらに追加のLACを
使用することもできる。
【0053】データ転送速度の分析 一般に「データ転送速度」は、メモリ・アクセスの速度
を表すのに使用する。単純な記憶方式(たとえば、表
2)と本発明の記憶方式とを分析し比較するためには、
それぞれの方式のデータ転送速度を検討することが有用
である。
【0054】この分析では、1つのストリング・ブロッ
クの読取りまたは書込みに1つの時間単位が必要である
と想定する。しかし、同一LAC上の異なるn個のDA
SDユニットにn個のブロックを読み書きするのに必要
な時間単位も1つだけである。これを「n重」の並列性
と呼ぶ。
【0055】上記の変数定義を使用して、4つのDAS
Dユニットがあり、1つのLACに4つのディスクブロ
ックがあり、4つのストリングがあり、1つのストリン
グに4つのストリング・ブロックがある例について説明
する。したがって、各変数の値は次のようになる。 m=4 n=4 S=4 ストリングの数=4
【0056】表2(上記)の例では、時間単位当たり
1.6個のストリング・ブロックというデータ転送速度
が得られる。この例の各ストリングは、単一論理ブロッ
ク内のすべてのDASDユニットにわたってインタリー
ブされている。すべてのストリングをディスク記憶サブ
システムに書き込むには4つの時間単位が必要である。
すなわち、ストリングごとに1つの時間単位が必要であ
る。しかし、分類操作の組合せ段階で行われるように各
ストリングの対応するブロックを検査しながら4つのス
トリングすべてを読み取るには、16個の時間単位が必
要である。合計で20個の時間単位になる。したがっ
て、20個の時間単位で32個のストリング・ブロック
を読み取るので、データ転送速度は1.6になる。
【0057】表3(上記)の例では、時間単位当たり4
個のストリング・ブロックというデータ転送速度が得ら
れる。この例の各ストリングは、すべてのDASDユニ
ットにわたって対角線上にインタリーブされている。す
べてのストリングをディスク・アレイに書き込むには4
つの時間単位が必要である。すなわち、ストリングごと
に1つの時間単位が必要である。前の例とは異なり、4
つのストリングすべてを読み取るには、4個の時間単位
だけが必要である。これは、各ストリングの対応する各
部が同一論理ブロックに格納されるからである。合計で
必要な時間単位は8個になる。したがって、8個の時間
単位で32個のストリング・ブロックを読み取るので、
データ転送速度は4になる。
【0058】これは4重並列性の例である。16個のス
トリング・ブロックが存在するので、32回の操作、す
なわち、16回の読取りと16回の書込みが行われる。
したがって、可能な最高データ転送速度は、操作の回数
(32)をディスクの数(4)で割った数である8個の
時間単位になる。
【0059】単一ディスクの実施例 上記の実施例とは対照的に、本発明は、単一ディスクの
DASDユニットでも実現することができる。特に、こ
の実施例の各DASDユニット609は単一ディスクを
含む。この配置でも、それぞれの論理ブロックは複数の
DASDユニットにわたってストライプ化される。しか
し、すべての論理ブロックが同一LACの一部になるわ
けではなく、むしろ、各論理ブロックがそれ専用のLA
Cになる。表7(以下)は、表3の分散状態に対応する
サンプル分散状態を示している。
【0060】
【表7】
【0061】この実施例では単一ディスクのDASDユ
ニットを使用しているので、1つのディスクに格納され
た異なる論理ブロックの各部は異なるトラック上に位置
していなければならない。一例として、LBN0は各デ
ィスクの第1のトラック上のすべてのデータの集合を含
むことができ、LBN1はトラック番号2のすべてのデ
ータで構成されるなど、以下同様になる。この実施例で
は、上記のマルチディスクDASDユニットの実施例の
ように、LBNを増分しながら連続ディスクブロックを
順に格納することにより、対角ストライプ化が実施され
る。しかし、この実施例では、LBNの増分は、異なる
トラックすなわち異なるLACへの前進も含む。
【0062】その結果、複数のディスクにわたってデー
タ・ストリングを対角ストライプ化するために、ある程
度のアクチュエータの機械的移動が必要になる。しか
し、各種ストリングの対応するストリング・ブロック
(たとえば、ストリング0〜4の対応するストリング・
ブロック)は、同時に、しかもアクチュエータを移動さ
せずに、RAID装置605から読み取ることができ
る。
【0063】現在、本発明の好ましい実施例であると思
われるものを示してきたが、特許請求の範囲に定義する
本発明の範囲を逸脱せずに様々な変更および修正が可能
であることは、当業者には明らかであろう。
【0064】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0065】(1)後続の組合せ操作中の並列性を改善
するために分類後のストリングをDASDユニットのア
レイに格納する方法であって、各DASDユニットがそ
れぞれ少なくとも1つのトラックによって構成された複
数のディスクを含み、1つのDASDユニットの各ディ
スクが残りのDASDユニットそれぞれの1つのディス
クに対応し、1つの論理ブロックが各DASDユニット
からの対応するディスクの同一位置にあるトラックから
の同一サイズの位置の集合を含み、すべてのディスクの
すべての同一位置のトラックが全体で1つの論理アレイ
・シリンダを形成している方法において、各ストリング
が同じ数の順序づけられたストリング・ブロックに分割
可能である、複数のデータ・ストリングを計算システム
から受け取るステップと、すべてのDASDユニットに
わたって各ストリングを均一にストライプ化することに
より、各論理ブロックがそれぞれ各ストリングからのス
トリング・ブロックを1つずつ収容し、1つの論理ブロ
ック内の各ストリング・ブロックが、残りのストリング
・ブロックがその対応ストリングに対するのと同じ順序
をそのストリングに対して有するように、ストリングを
DASDアレイに格納するステップとを含むことを特徴
とする方法。 (2)各ストリングがそれぞれ複数のDASDユニット
にわたって対角パターン状にストライプ化されることを
特徴とする、上記(1)に記載の方法。 (3)対角パターンが折返し対角パターンを含むことを
特徴とする、上記(2)に記載の方法。 (4)ストリングが単一論理アレイ・シリンダに格納さ
れることを特徴とする、上記(1)に記載の方法。 (5)ストリングが複数の論理アレイ・シリンダに格納
されることを特徴とする、上記(1)に記載の方法。 (6)各DASDユニットがそれぞれ、複数のディスク
からなる垂直スタック式アレイを含むことを特徴とす
る、上記(1)に記載の方法。 (7)各論理ブロックがそれぞれ、各DASDユニット
からの同様の位置にあるディスクの同一位置のトラック
の集合を含むことを特徴とする、上記(6)に記載の方
法。 (8)格納されたストリングを読み取るステップと、読
み取ったストリングを組み合わせるステップと、組み合
わせたストリングを記憶装置に格納するステップとをさ
らに含むことを特徴とする、上記(1)に記載の方法。 (9)各ディスクがそれぞれ少なくとも1つのアクチュ
エータに関連づけられ、前記アクチュエータのすべてを
固定位置に維持しながら格納ステップが実行されること
を特徴とする、上記(4)に記載の方法。 (10)後続の組合せ操作中の並列性を改善するために
ストリングをDASDユニットのアレイに格納する方法
であって、各DASDユニットがそれぞれ少なくとも1
つのトラックによって構成された単一ディスクを含み、
1つの論理ブロックが各ディスクの同一位置にあるトラ
ックからの同一サイズの位置の集合を含んでいる方法に
おいて、各ストリングが同じ数の順序づけられたストリ
ング・ブロックに分割可能である、複数のデータ・スト
リングを計算システムから受け取るステップと、すべて
のディスクにわたって各ストリングを均一にストライプ
化することにより、各論理ブロックがそれぞれ各ストリ
ングからのストリング・ブロックを1つずつ収容し、1
つの論理ブロック内の各ストリング・ブロックが、残り
のストリング・ブロックがその対応ストリングに対する
のと同じ順序をそのストリングに対して有するように、
ストリングをDASDアレイに格納するステップとを含
むことを特徴とする方法。 (11)後続の組合せ操作中の並列性を改善するために
ソートワークをDASDユニットのアレイに分散する方
法であって、各ストリングがそれぞれ、同じ数の順序づ
けられたストリング・ブロックに分割可能であり、各D
ASDユニットがそれぞれ、少なくとも1つのトラック
にそれぞれ分割された複数のディスクを含み、1つの論
理ブロックが各DASDユニットからの対応するディス
クの同一位置にあるトラックからの同一サイズの位置の
集合を含み、すべてのディスクからの同一位置のトラッ
クが全体で1つの論理アレイ・シリンダを形成している
方法において、記憶装置からデータを規則正しく取り出
し、所定の基準に従ってデータを分類してストリングを
生成するステップと、すべてのデータを分類しDASD
アレイに格納した後で各ストリングがすべてのDASD
ユニットにわたって均一にストライプ化されるように、
各論理ブロックがそれぞれ各ストリングからのストリン
グ・ブロックを1つずつ収容し、1つの論理ブロック内
の各ストリング・ブロックが、残りのストリング・ブロ
ックがその対応ストリングに対するのと同じ順序をその
ストリングに対して有するように、ストリングをDAS
Dアレイに順次格納するステップとを含むことを特徴と
する方法。 (12)同期アクセスを備えた複数のDASDユニット
を含み、各DASDユニットがそれぞれ複数のディスク
を含み、1つのDASDユニットの各ディスクが残りの
DASDユニットのそれぞれの1つのディスクに対応
し、各ディスクがそれぞれ、残りのディスクの同一位置
にあるトラックに対応する複数のトラックに分割され、
1つの論理ブロックが各DASDユニットからの対応す
るディスクの同一位置にあるトラックからの同一サイズ
の位置の集合を含む記憶サブシステムと、記憶装置から
データを規則正しく取り出し、データを分類して、各ス
トリングがそれぞれ同じ数の順序づけられたストリング
・ブロックに分割可能である、ストリングを生成するス
テップと、すべてのストリングを分類した後で各ストリ
ングがすべてのDASDユニットにわたって均一にスト
ライプ化されるように、各論理ブロックがそれぞれ各ス
トリングからのストリング・ブロックを1つずつ収容
し、1つの論理ブロック内の各ストリング・ブロック
が、残りのストリング・ブロックがその対応ストリング
に対するのと同じ順序をそのストリングに対して有する
ように、ストリングを記憶サブシステムに格納するステ
ップと、を含む方法ステップを実行するようにプログラ
ミングされた分類/組合せアプリケーション・モジュー
ルを含み、記憶サブシステムとのインタフェースが取ら
れたコンピュータ・システムとを含むことを特徴とす
る、電子分類装置。 (13)同期アクセスを備えた複数のDASDユニット
を含み、各DASDユニットがそれぞれ、残りのディス
クの同一位置にあるトラックに対応する複数のトラック
に分割された単一ディスクを含み、1つの論理ブロック
が各ディスクの同一位置にあるトラックからの同一サイ
ズの位置の集合を含む記憶サブシステムと、記憶装置か
らデータを規則正しく取り出し、データを分類して、各
ストリングがそれぞれ同じ数の順序づけられたストリン
グ・ブロックに分割可能である、ストリングを生成する
ステップと、すべてのストリングを分類した後で各スト
リングがすべてのディスクにわたって均一にストライプ
化されるように、各論理ブロックがそれぞれ各ストリン
グからのストリング・ブロックを1つずつ収容し、1つ
の論理ブロック内の各ストリング・ブロックが、残りの
ストリング・ブロックがその対応ストリングに対するの
と同じ順序をそのストリングに対して有するように、ス
トリングを記憶サブシステムに格納するステップと、を
含む方法ステップを実行するようにプログラミングされ
た分類/組合せアプリケーション・モジュールを含み、
記憶サブシステムとのインタフェースが取られた、コン
ピュータ・システムとを含むことを特徴とする、電子分
類装置。 (14)DASDユニットのアレイにソートワーク・デ
ータを格納するための方法ステップを実行するために計
算機によって実行可能な命令からなるプログラムを具体
的に実施する、計算機が読取り可能なプログラム・デー
タ記憶装置において、それぞれのDASDユニットが少
なくとも1つのトラックによって構成された1つのディ
スクを含み、1つの論理ブロックが各ディスクの同一位
置にあるトラックからの同一サイズの位置の集合を含
み、前記方法ステップが、各ストリングが同じ数の順序
づけられたストリング・ブロックに分割可能である、複
数の分類後のデータ・ストリングを計算システムから受
け取るステップと、すべてのディスクにわたって各スト
リングを均一にストライプ化することにより、各論理ブ
ロックがそれぞれ各ストリングからのストリング・ブロ
ックを1つずつ収容し、1つの論理ブロック内の各スト
リング・ブロックが、残りのストリング・ブロックがそ
の対応ストリングに対するのと同じ順序をそのストリン
グに対して有するように、ストリングをDASDアレイ
に格納するステップとを含むことを特徴とするデータ記
憶装置。
【図面の簡単な説明】
【図1】典型的な媒体駆動機構の構成要素を示す図であ
る。
【図2】典型的な垂直スタック式DASDアレイ200
を示す図である。
【図3】典型的なRAID構成300を示す図である。
【図4】データ・ストリングの分類および組合せに関わ
るステップを示す図である。
【図5】データ・ストリングの分類および組合せに関わ
るステップを示す図である。
【図6】データ・ストリングの分類および組合せに関わ
るステップを示す図である。
【図7】データ・ストリングの分類および組合せに関わ
るステップを示す図である。
【図8】本発明の分類および組合せ操作を実行するため
に使用するハードウェア・アーキテクチャのブロック図
である。
【図9】本発明により分類および組合せ操作を実行する
ために使用する改良ハードウェア・アーキテクチャのブ
ロック図である。
【図10】本発明による使用のためのコンピュータ読取
り可能ディスケット700を示す図である。
【図11】本発明の好ましい実施例により実行される分
類および組合せに関わるステップを示す流れ図である。
【符号の説明】
502 分類/組合せアプリケーション・モジュール 503 コンピュータ・システム 504 基本記憶装置 505 一時記憶装置 506 入出力チャネル 507 入出力チャネル
フロントページの続き (72)発明者 ズヴィ・ヨセフ・イェフダイ イスラエル34645 ハイファ ハナッシ・ アベニュー 6エイ/7

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】後続の組合せ操作中の並列性を改善するた
    めに分類後のストリングをDASDユニットのアレイに
    格納する方法であって、各DASDユニットがそれぞれ
    少なくとも1つのトラックによって構成された複数のデ
    ィスクを含み、1つのDASDユニットの各ディスクが
    残りのDASDユニットそれぞれの1つのディスクに対
    応し、1つの論理ブロックが各DASDユニットからの
    対応するディスクの同一位置にあるトラックからの同一
    サイズの位置の集合を含み、すべてのディスクのすべて
    の同一位置のトラックが全体で1つの論理アレイ・シリ
    ンダを形成している方法において、 各ストリングが同じ数の順序づけられたストリング・ブ
    ロックに分割可能である、複数のデータ・ストリングを
    計算システムから受け取るステップと、 すべてのDASDユニットにわたって各ストリングを均
    一にストライプ化することにより、各論理ブロックがそ
    れぞれ各ストリングからのストリング・ブロックを1つ
    ずつ収容し、1つの論理ブロック内の各ストリング・ブ
    ロックが、残りのストリング・ブロックがその対応スト
    リングに対するのと同じ順序をそのストリングに対して
    有するように、ストリングをDASDアレイに格納する
    ステップとを含むことを特徴とする方法。
  2. 【請求項2】各ストリングがそれぞれ複数のDASDユ
    ニットにわたって対角パターン状にストライプ化される
    ことを特徴とする、請求項1に記載の方法。
  3. 【請求項3】対角パターンが折返し対角パターンを含む
    ことを特徴とする、請求項2に記載の方法。
  4. 【請求項4】ストリングが単一論理アレイ・シリンダに
    格納されることを特徴とする、請求項1に記載の方法。
  5. 【請求項5】ストリングが複数の論理アレイ・シリンダ
    に格納されることを特徴とする、請求項1に記載の方
    法。
  6. 【請求項6】各DASDユニットがそれぞれ、複数のデ
    ィスクからなる垂直スタック式アレイを含むことを特徴
    とする、請求項1に記載の方法。
  7. 【請求項7】各論理ブロックがそれぞれ、各DASDユ
    ニットからの同様の位置にあるディスクの同一位置のト
    ラックの集合を含むことを特徴とする、請求項6に記載
    の方法。
  8. 【請求項8】格納されたストリングを読み取るステップ
    と、読み取ったストリングを組み合わせるステップと、
    組み合わせたストリングを記憶装置に格納するステップ
    とをさらに含むことを特徴とする、請求項1に記載の方
    法。
  9. 【請求項9】各ディスクがそれぞれ少なくとも1つのア
    クチュエータに関連づけられ、前記アクチュエータのす
    べてを固定位置に維持しながら格納ステップが実行され
    ることを特徴とする、請求項4に記載の方法。
  10. 【請求項10】後続の組合せ操作中の並列性を改善する
    ためにストリングをDASDユニットのアレイに格納す
    る方法であって、各DASDユニットがそれぞれ少なく
    とも1つのトラックによって構成された単一ディスクを
    含み、1つの論理ブロックが各ディスクの同一位置にあ
    るトラックからの同一サイズの位置の集合を含んでいる
    方法において、 各ストリングが同じ数の順序づけられたストリング・ブ
    ロックに分割可能である、複数のデータ・ストリングを
    計算システムから受け取るステップと、 すべてのディスクにわたって各ストリングを均一にスト
    ライプ化することにより、各論理ブロックがそれぞれ各
    ストリングからのストリング・ブロックを1つずつ収容
    し、1つの論理ブロック内の各ストリング・ブロック
    が、残りのストリング・ブロックがその対応ストリング
    に対するのと同じ順序をそのストリングに対して有する
    ように、ストリングをDASDアレイに格納するステッ
    プとを含むことを特徴とする方法。
  11. 【請求項11】後続の組合せ操作中の並列性を改善する
    ためにソートワークをDASDユニットのアレイに分散
    する方法であって、各ストリングがそれぞれ、同じ数の
    順序づけられたストリング・ブロックに分割可能であ
    り、各DASDユニットがそれぞれ、少なくとも1つの
    トラックにそれぞれ分割された複数のディスクを含み、
    1つの論理ブロックが各DASDユニットからの対応す
    るディスクの同一位置にあるトラックからの同一サイズ
    の位置の集合を含み、すべてのディスクからの同一位置
    のトラックが全体で1つの論理アレイ・シリンダを形成
    している方法において、 記憶装置からデータを規則正しく取り出し、所定の基準
    に従ってデータを分類してストリングを生成するステッ
    プと、 すべてのデータを分類しDASDアレイに格納した後で
    各ストリングがすべてのDASDユニットにわたって均
    一にストライプ化されるように、各論理ブロックがそれ
    ぞれ各ストリングからのストリング・ブロックを1つず
    つ収容し、1つの論理ブロック内の各ストリング・ブロ
    ックが、残りのストリング・ブロックがその対応ストリ
    ングに対するのと同じ順序をそのストリングに対して有
    するように、ストリングをDASDアレイに順次格納す
    るステップとを含むことを特徴とする方法。
  12. 【請求項12】同期アクセスを備えた複数のDASDユ
    ニットを含み、各DASDユニットがそれぞれ複数のデ
    ィスクを含み、1つのDASDユニットの各ディスクが
    残りのDASDユニットのそれぞれの1つのディスクに
    対応し、各ディスクがそれぞれ、残りのディスクの同一
    位置にあるトラックに対応する複数のトラックに分割さ
    れ、1つの論理ブロックが各DASDユニットからの対
    応するディスクの同一位置にあるトラックからの同一サ
    イズの位置の集合を含む記憶サブシステムと、 記憶装置からデータを規則正しく取り出し、データを分
    類して、各ストリングがそれぞれ同じ数の順序づけられ
    たストリング・ブロックに分割可能である、ストリング
    を生成するステップと、すべてのストリングを分類した
    後で各ストリングがすべてのDASDユニットにわたっ
    て均一にストライプ化されるように、各論理ブロックが
    それぞれ各ストリングからのストリング・ブロックを1
    つずつ収容し、1つの論理ブロック内の各ストリング・
    ブロックが、残りのストリング・ブロックがその対応ス
    トリングに対するのと同じ順序をそのストリングに対し
    て有するように、ストリングを記憶サブシステムに格納
    するステップと、を含む方法ステップを実行するように
    プログラミングされた分類/組合せアプリケーション・
    モジュールを含み、記憶サブシステムとのインタフェー
    スが取られたコンピュータ・システムとを含むことを特
    徴とする、電子分類装置。
  13. 【請求項13】同期アクセスを備えた複数のDASDユ
    ニットを含み、各DASDユニットがそれぞれ、残りの
    ディスクの同一位置にあるトラックに対応する複数のト
    ラックに分割された単一ディスクを含み、1つの論理ブ
    ロックが各ディスクの同一位置にあるトラックからの同
    一サイズの位置の集合を含む記憶サブシステムと、 記憶装置からデータを規則正しく取り出し、データを分
    類して、各ストリングがそれぞれ同じ数の順序づけられ
    たストリング・ブロックに分割可能である、ストリング
    を生成するステップと、すべてのストリングを分類した
    後で各ストリングがすべてのディスクにわたって均一に
    ストライプ化されるように、各論理ブロックがそれぞれ
    各ストリングからのストリング・ブロックを1つずつ収
    容し、1つの論理ブロック内の各ストリング・ブロック
    が、残りのストリング・ブロックがその対応ストリング
    に対するのと同じ順序をそのストリングに対して有する
    ように、ストリングを記憶サブシステムに格納するステ
    ップと、を含む方法ステップを実行するようにプログラ
    ミングされた分類/組合せアプリケーション・モジュー
    ルを含み、記憶サブシステムとのインタフェースが取ら
    れた、コンピュータ・システムとを含むことを特徴とす
    る、電子分類装置。
  14. 【請求項14】DASDユニットのアレイにソートワー
    ク・データを格納するための方法ステップを実行するた
    めに計算機によって実行可能な命令からなるプログラム
    を具体的に実施する、計算機が読取り可能なプログラム
    ・データ記憶装置において、それぞれのDASDユニッ
    トが少なくとも1つのトラックによって構成された1つ
    のディスクを含み、1つの論理ブロックが各ディスクの
    同一位置にあるトラックからの同一サイズの位置の集合
    を含み、前記方法ステップが、 各ストリングが同じ数の順序づけられたストリング・ブ
    ロックに分割可能である、複数の分類後のデータ・スト
    リングを計算システムから受け取るステップと、 すべてのディスクにわたって各ストリングを均一にスト
    ライプ化することにより、各論理ブロックがそれぞれ各
    ストリングからのストリング・ブロックを1つずつ収容
    し、1つの論理ブロック内の各ストリング・ブロック
    が、残りのストリング・ブロックがその対応ストリング
    に対するのと同じ順序をそのストリングに対して有する
    ように、ストリングをDASDアレイに格納するステッ
    プとを含むことを特徴とするデータ記憶装置。
JP7337167A 1994-12-27 1995-12-25 並列性を改善してディスク・アレイ上にソートワーク・データを分散するシステム Pending JPH08272545A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/364,572 US5613085A (en) 1994-12-27 1994-12-27 System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism
US364572 1994-12-27

Publications (1)

Publication Number Publication Date
JPH08272545A true JPH08272545A (ja) 1996-10-18

Family

ID=23435107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7337167A Pending JPH08272545A (ja) 1994-12-27 1995-12-25 並列性を改善してディスク・アレイ上にソートワーク・データを分散するシステム

Country Status (3)

Country Link
US (1) US5613085A (ja)
EP (1) EP0720088A3 (ja)
JP (1) JPH08272545A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119917A (ja) * 1997-10-09 1999-04-30 Nippon Telegr & Teleph Corp <Ntt> ディスクアレイ装置のデータ記録方法及びそのプログラムを記録した媒体
US6424970B1 (en) 1998-08-03 2002-07-23 Hitachi, Ltd. Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2292821A (en) * 1994-09-03 1996-03-06 Ibm Sorting method.
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
JP3201219B2 (ja) * 1995-05-29 2001-08-20 三菱電機株式会社 入出力処理システム
US5845319A (en) * 1995-08-23 1998-12-01 Fujitsu Limited Disk array device which separates local and physical disks using striping and operation mode selection
US5822782A (en) * 1995-10-27 1998-10-13 Symbios, Inc. Methods and structure to maintain raid configuration information on disks of the array
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US5974515A (en) * 1997-04-08 1999-10-26 Emc Corporation System for distributing volumes to an HSM system front end
US6343343B1 (en) 1998-07-31 2002-01-29 International Business Machines Corporation Disk arrays using non-standard sector sizes
US7233977B2 (en) * 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
US6513093B1 (en) 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6611827B1 (en) * 1999-10-01 2003-08-26 International Business Machines Corporation Redundant disk array and method for redundant disk array access using contiguous page grouping
US6546499B1 (en) 1999-10-14 2003-04-08 International Business Machines Corporation Redundant array of inexpensive platters (RAIP)
US6321294B1 (en) * 1999-10-27 2001-11-20 Mti Technology Corporation Method and apparatus for converting between logical and physical memory space in a raid system
US6502166B1 (en) * 1999-12-29 2002-12-31 International Business Machines Corporation Method and apparatus for distributing data across multiple disk drives
US7689623B1 (en) * 2002-04-08 2010-03-30 Syncsort Incorporated Method for performing an external (disk-based) sort of a large data file which takes advantage of “presorted” data already present in the input
US20040128444A1 (en) * 2002-12-24 2004-07-01 Sung-Hoon Baek Method for storing data in disk array based on block division and method for controlling input/output of disk array by using the same
US8275951B2 (en) * 2004-06-10 2012-09-25 Hewlett-Packard Development Company, L.P. Local bitmaps for an array of redundant storage devices
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
US7454420B2 (en) * 2004-11-08 2008-11-18 Sas Institute Inc. Data sorting method and system
US20060112309A1 (en) * 2004-11-18 2006-05-25 Andrei Khurshudov Method and apparatus to backup data in a hard disk drive
US8806296B1 (en) 2012-06-27 2014-08-12 Amazon Technologies, Inc. Scheduled or gradual redundancy encoding schemes for data storage
US9110797B1 (en) * 2012-06-27 2015-08-18 Amazon Technologies, Inc. Correlated failure zones for data storage
US8869001B1 (en) 2012-06-27 2014-10-21 Amazon Technologies, Inc. Layered redundancy encoding schemes for data storage
US8850288B1 (en) 2012-06-27 2014-09-30 Amazon Technologies, Inc. Throughput-sensitive redundancy encoding schemes for data storage
US9619157B2 (en) * 2014-04-03 2017-04-11 Analysis Solution Llc High-speed data storage
CN111651137B (zh) * 2020-05-29 2023-12-05 Oppo广东移动通信有限公司 排序方法、装置、电子装置以及计算机设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064556A (en) * 1975-06-23 1977-12-20 Sperry Rand Corporation Packed loop memory with data manipulation capabilities
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5265098A (en) * 1990-08-03 1993-11-23 International Business Machines Corporation Method and means for managing DASD array accesses when operating in degraded mode
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
US5257362A (en) * 1991-03-08 1993-10-26 International Business Machines Corporation Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
EP0519669A3 (en) * 1991-06-21 1994-07-06 Ibm Encoding and rebuilding data for a dasd array
US5202799A (en) * 1991-06-24 1993-04-13 Ibm Corporation Logical data tracks extending among a plurality of zones of physical tracks of one or more disk 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
US5331646A (en) * 1992-05-08 1994-07-19 Compaq Computer Corporation Error correcting code technique for improving reliablility of a disk array
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119917A (ja) * 1997-10-09 1999-04-30 Nippon Telegr & Teleph Corp <Ntt> ディスクアレイ装置のデータ記録方法及びそのプログラムを記録した媒体
US6424970B1 (en) 1998-08-03 2002-07-23 Hitachi, Ltd. Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes

Also Published As

Publication number Publication date
EP0720088A3 (en) 1997-01-15
US5613085A (en) 1997-03-18
EP0720088A2 (en) 1996-07-03

Similar Documents

Publication Publication Date Title
US5613085A (en) System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism
US5764880A (en) Method and system for rebuilding log-structured arrays
Salem et al. Disk striping
US5751937A (en) Array type storage unit system
US5442752A (en) Data storage method for DASD arrays using striping based on file length
JP3160106B2 (ja) ディスクアレーの区分け方法
Merchant et al. Analytic modeling of clustered RAID with mapping based on nearly random permutation
US5799140A (en) Disk array system and method for storing data
US5860091A (en) Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US7155569B2 (en) Method for raid striped I/O request generation using a shared scatter gather list
EP0709765B1 (en) Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables
Holland On-line data reconstruction in redundant disk arrays
Lee et al. The performance of parity placements in disk arrays
US6393516B2 (en) System and method for storage media group parity protection
US9201943B2 (en) Systems for performing an external (disk-based) sort of a large data file which take advantage of “presorted” data already present in the input
JPH04232557A (ja) Dasd制御方法及び装置
JPH04230512A (ja) Dasdアレイのための更新記録方法及び装置
JPH04268622A (ja) 回転メモリシステム
Miller et al. Creating dynamic world wide web pages by demonstration
JP2002073393A (ja) 複数層論理ボリューム管理システムのシステムおよび方法
Lindstrom et al. The design and analysis of bucketsort for bubble memory secondary storage
CN1172322A (zh) 多功能光盘阵列及用其实现数据并行写入/读出的方法
US5457703A (en) Array disk system and control method thereof
KR100364895B1 (ko) 데이터 액세스 제어 방법 및 시스템
US7007193B1 (en) Method and system for reconstructing data serially arranged on a magnetic tape track