JPH07114445A - ディスクアレイ装置のアドレス変換方法 - Google Patents
ディスクアレイ装置のアドレス変換方法Info
- Publication number
- JPH07114445A JPH07114445A JP5259597A JP25959793A JPH07114445A JP H07114445 A JPH07114445 A JP H07114445A JP 5259597 A JP5259597 A JP 5259597A JP 25959793 A JP25959793 A JP 25959793A JP H07114445 A JPH07114445 A JP H07114445A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- disk unit
- address
- data
- logical block
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】上位装置から与えられたディスクアレイを意識
しない論理ディスクユニットアドレスをディスクアレイ
の実際のディスクユニット形態を意識した物理アドレス
に変換するディスクアレイ装置のアドレス変換方法を提
供することを目的とする。 【構成】上位装置による論理アドレスの初期化時にパラ
メータ設定過程で設定したパラメータの供給を受け、上
位装置から与えられた論理ブロックアドレスA0をディ
スクアレスの物理ディスクユニット番号(物理ディスク
ユニットID)と、この物理ディスクユニット内の論理
ブロックアドレスA3に変換し、最終的に物理ディスク
ユニット番号とこの物理ブロックアドレス内論理ブロッ
クアドレスA3に基づいてディスクアレイ内のディスク
ユニットをアクセスする。
しない論理ディスクユニットアドレスをディスクアレイ
の実際のディスクユニット形態を意識した物理アドレス
に変換するディスクアレイ装置のアドレス変換方法を提
供することを目的とする。 【構成】上位装置による論理アドレスの初期化時にパラ
メータ設定過程で設定したパラメータの供給を受け、上
位装置から与えられた論理ブロックアドレスA0をディ
スクアレスの物理ディスクユニット番号(物理ディスク
ユニットID)と、この物理ディスクユニット内の論理
ブロックアドレスA3に変換し、最終的に物理ディスク
ユニット番号とこの物理ブロックアドレス内論理ブロッ
クアドレスA3に基づいてディスクアレイ内のディスク
ユニットをアクセスする。
Description
【0001】
【産業上の利用分野】本発明は、ホストコンピュータか
らの論理ブロックアドレスをディスクアレイ上のディス
クユニット番号とディスクユニット内の論理ブロックア
ドレスに変換するディスクアレイ装置のアドレス変換方
法に関する。計算機システムの外部記憶装置として、記
録の不揮発性,大容量性,データ転送の高速性等の特長
をもつ磁気ディスクユニット(以下単に「ディスクユニ
ット」という)が広く用いられている。しかし、計算機
システムのデータ処理能力の向上に対して、磁気ディス
クユニットの容量は増大する一方で、データ転送速度は
あまり増加していない。
らの論理ブロックアドレスをディスクアレイ上のディス
クユニット番号とディスクユニット内の論理ブロックア
ドレスに変換するディスクアレイ装置のアドレス変換方
法に関する。計算機システムの外部記憶装置として、記
録の不揮発性,大容量性,データ転送の高速性等の特長
をもつ磁気ディスクユニット(以下単に「ディスクユニ
ット」という)が広く用いられている。しかし、計算機
システムのデータ処理能力の向上に対して、磁気ディス
クユニットの容量は増大する一方で、データ転送速度は
あまり増加していない。
【0002】このような計算機システムとディスクユニ
ット間のボトルネックを解消する手段として、並列的に
動作する複数台のディスクユニットに、データの並列転
送を行い、データ転送速度を1台のディスクユニットの
転送速度に並列動作する台数分を掛け合わせたものにす
るディスクアレイ装置の実用化が進められている。
ット間のボトルネックを解消する手段として、並列的に
動作する複数台のディスクユニットに、データの並列転
送を行い、データ転送速度を1台のディスクユニットの
転送速度に並列動作する台数分を掛け合わせたものにす
るディスクアレイ装置の実用化が進められている。
【0003】
【従来の技術】従来、ディスクアレイ装置は、並列動作
するディスクユニットに冗長性をもたせて、あるディス
クユニットの故障によるデータ転送の中断防止、故障し
た装置の置き換え等を行って、ディスクアレイシステム
全体の信頼性向上を図ることができる。
するディスクユニットに冗長性をもたせて、あるディス
クユニットの故障によるデータ転送の中断防止、故障し
た装置の置き換え等を行って、ディスクアレイシステム
全体の信頼性向上を図ることができる。
【0004】ディスクアレイ方式としては、カルフォル
ニア大学バークレイ校のデビット・A・パターソンらの
論文に由来してRAID(Redundant Array of Indepen
dentDisks: )と呼ばれる方式があり、RAID1から
RAID5迄のレベルに分類されており、RAID3か
らRAID5には、ディスクの故障時にデータを回復す
るための冗長情報としてパリティを保持する。
ニア大学バークレイ校のデビット・A・パターソンらの
論文に由来してRAID(Redundant Array of Indepen
dentDisks: )と呼ばれる方式があり、RAID1から
RAID5迄のレベルに分類されており、RAID3か
らRAID5には、ディスクの故障時にデータを回復す
るための冗長情報としてパリティを保持する。
【0005】またRAIDレベルの中でも、RAID
4,5では複数の同時読み出しが可能であり、更にレベ
ル5においてはパリティを格納するディスクを固定しな
いことで複数の同時書き込みも可能としており、大量の
トランザクション処理においてその効果を発揮する。ま
た、ディスクアレイを複数ランク繋げることにより、さ
らにその効果を発揮する。
4,5では複数の同時読み出しが可能であり、更にレベ
ル5においてはパリティを格納するディスクを固定しな
いことで複数の同時書き込みも可能としており、大量の
トランザクション処理においてその効果を発揮する。ま
た、ディスクアレイを複数ランク繋げることにより、さ
らにその効果を発揮する。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うなRAID方式を備えたディスクアレイ装置にあって
は、ホスト計算機に対しRAID方式に従ったディスク
アレイの物理的形態を意識させずに、1つのディスクユ
ニットの様にみせる必要がある。またディスクアレイ内
でディスクユニットに対して並行的にアクセスすること
を可能にする必要がある。
うなRAID方式を備えたディスクアレイ装置にあって
は、ホスト計算機に対しRAID方式に従ったディスク
アレイの物理的形態を意識させずに、1つのディスクユ
ニットの様にみせる必要がある。またディスクアレイ内
でディスクユニットに対して並行的にアクセスすること
を可能にする必要がある。
【0007】このためホスト計算機ではディスクアレイ
を構成する複数のディスクユニットを意識することなく
1つのディスクユニットとして扱うことを可能とするた
め、論理的なディスクアドレス(論理ブロックアドレ
ス)を用いる。このようなホスト計算機から与えられる
論理ディスクアドレスに対して、ディスクアレイ装置の
コントローラは、ディスクアレイ内の実際のディスクユ
ニットにブロックアドレスをマッピングをするため、論
理アドレスに対して一意に物理アドレスが決まるアドレ
ス変換を行わなければならない。
を構成する複数のディスクユニットを意識することなく
1つのディスクユニットとして扱うことを可能とするた
め、論理的なディスクアドレス(論理ブロックアドレ
ス)を用いる。このようなホスト計算機から与えられる
論理ディスクアドレスに対して、ディスクアレイ装置の
コントローラは、ディスクアレイ内の実際のディスクユ
ニットにブロックアドレスをマッピングをするため、論
理アドレスに対して一意に物理アドレスが決まるアドレ
ス変換を行わなければならない。
【0008】更にディスクアレイ内のディスクユニット
は、ホスト計算機による初期化時の指示で、RAID
1,RAID3又はRAID5の動作形態をとる必要が
あり、RAID形態のいかんに係わらず共通化されたア
ドレス変換の機能を実現することが望まれる。本発明
は、このような従来の課題に鑑みてなされたもので、上
位装置から与えられたディスクアレイを意識しない論理
アドレスをディスクアレイの実際のディスクユニット形
態を意識した物理アドレスに変換するディスクアレイ装
置のアドレス変換方法を提供することを目的とする。
は、ホスト計算機による初期化時の指示で、RAID
1,RAID3又はRAID5の動作形態をとる必要が
あり、RAID形態のいかんに係わらず共通化されたア
ドレス変換の機能を実現することが望まれる。本発明
は、このような従来の課題に鑑みてなされたもので、上
位装置から与えられたディスクアレイを意識しない論理
アドレスをディスクアレイの実際のディスクユニット形
態を意識した物理アドレスに変換するディスクアレイ装
置のアドレス変換方法を提供することを目的とする。
【0009】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明のアドレス変換方法は次の3つの処理
過程で構成される。 アドレス変換に使用する各種のパラメータを設定する
パラメータ設定過程; 上位装置による論理アドレスの初期化時にパラメータ
設定過程で設定したパラメータの供給を受け、上位装置
から与えられた論理ブロックアドレスA0をディスクア
レイのディスクユニット番号(物理デバイスID)と、
このディスクユニット内の論理ブロックアドレスA3に
変換するマッピング処理過程; マッピング処理過程で求めたディスクユニット番号と
このディクユニット内の論理ブロックアドレスA3に基
づいてランクとポートの指定でディスクアレイ内のディ
スクユニットをアクセスするアクセス過程;ここで、パ
ラメータ設定過程は、少なくとも次のパラメータを設定
する。
図である。本発明のアドレス変換方法は次の3つの処理
過程で構成される。 アドレス変換に使用する各種のパラメータを設定する
パラメータ設定過程; 上位装置による論理アドレスの初期化時にパラメータ
設定過程で設定したパラメータの供給を受け、上位装置
から与えられた論理ブロックアドレスA0をディスクア
レイのディスクユニット番号(物理デバイスID)と、
このディスクユニット内の論理ブロックアドレスA3に
変換するマッピング処理過程; マッピング処理過程で求めたディスクユニット番号と
このディクユニット内の論理ブロックアドレスA3に基
づいてランクとポートの指定でディスクアレイ内のディ
スクユニットをアクセスするアクセス過程;ここで、パ
ラメータ設定過程は、少なくとも次のパラメータを設定
する。
【0010】・ディスクユニット1台当りに連続して格
納するデータストライプサイズD1 ・パリティ配置アルゴリズム ・ディスクユニット1台当りのユーザデータ総数n ・データ格納用ディスクユニット数Nd ・論理ブロックからデータストライピングサイズD1へ
の変換比率K ・パリティの格納ディスクユニットを決めるパリティフ
ァクタストライプデータのグループサイズD3 この内、パリティ配置アルゴリズムは、RAID1の動
作形態の指定でパリティをデータ用ディスクユニットと
同一データを格納するミラーディスクユニットを配置す
る。
納するデータストライプサイズD1 ・パリティ配置アルゴリズム ・ディスクユニット1台当りのユーザデータ総数n ・データ格納用ディスクユニット数Nd ・論理ブロックからデータストライピングサイズD1へ
の変換比率K ・パリティの格納ディスクユニットを決めるパリティフ
ァクタストライプデータのグループサイズD3 この内、パリティ配置アルゴリズムは、RAID1の動
作形態の指定でパリティをデータ用ディスクユニットと
同一データを格納するミラーディスクユニットを配置す
る。
【0011】またRAID3の指定では、ディスクユニ
ットの論理ブロックアドレスの変化に対し特定のディス
クユニットに固定してパリティを格納するパリティ固定
配置とする。更に、RAID5の動作形態の指定では、
ディスクユニット内の論理ブロックアドレスの変化に対
し、ディスクユニット位置を順次変えて格納するパリテ
ィ巡回配置とする。
ットの論理ブロックアドレスの変化に対し特定のディス
クユニットに固定してパリティを格納するパリティ固定
配置とする。更に、RAID5の動作形態の指定では、
ディスクユニット内の論理ブロックアドレスの変化に対
し、ディスクユニット位置を順次変えて格納するパリテ
ィ巡回配置とする。
【0012】さらに、マッピング処理過程は、上位装置
から与えられた論理ブロックアドレスA0を変換比率K
を用いた調整された論理ブロックアドレスA1に変換
し、調整済論理ブロックアドレスA1をストライプデー
タ・グループサイズD3で割った商としてターゲット・
ストライプデータ・グループアドレスA2を求めると共
に、商の余りC1としてターゲット・ストライプデータ
・グループオフセットDF1を求め、調整済論理ブロッ
クアドレスA1をデータストライプサイズD1で割った
商としてターゲット・ストライプデータ位置A4を求め
ると共に商の余りC2としてターゲット・ストライプデ
ータ位置オフセットDF2を求め、最終的に前記ターゲ
ット・ストライプデータ位置A4に前記パリティファク
タを加算してディスクユニット番号を求めると共に、前
記ターゲット・ストライプデータ・グループアドレスA
2にデータストライプサイズD1を掛け合せた値に前記
ターゲット・ストライプデータ位置オフセットDF2を
加算した値としてディスクユニット内の論理ブロックア
ドレスA3を求める。
から与えられた論理ブロックアドレスA0を変換比率K
を用いた調整された論理ブロックアドレスA1に変換
し、調整済論理ブロックアドレスA1をストライプデー
タ・グループサイズD3で割った商としてターゲット・
ストライプデータ・グループアドレスA2を求めると共
に、商の余りC1としてターゲット・ストライプデータ
・グループオフセットDF1を求め、調整済論理ブロッ
クアドレスA1をデータストライプサイズD1で割った
商としてターゲット・ストライプデータ位置A4を求め
ると共に商の余りC2としてターゲット・ストライプデ
ータ位置オフセットDF2を求め、最終的に前記ターゲ
ット・ストライプデータ位置A4に前記パリティファク
タを加算してディスクユニット番号を求めると共に、前
記ターゲット・ストライプデータ・グループアドレスA
2にデータストライプサイズD1を掛け合せた値に前記
ターゲット・ストライプデータ位置オフセットDF2を
加算した値としてディスクユニット内の論理ブロックア
ドレスA3を求める。
【0013】数式的には、 A1=A0×K A2=A1/D3 余りC1 DF1=C1 A4=A1/D1 余りC2 DF2=C2 ディスクユニット番号=A4+パリティファクタ ディスクユニット内論理ブロックアドレスA3=A2×
D1+DF2 となる。ここで、パリティファクタは、RAID1の動
作形態でターゲット・ストライプデータ位置A4の値を
とり、RAID3の動作形態で0の値をとり、RAID
5で0又は1の値をとる。
D1+DF2 となる。ここで、パリティファクタは、RAID1の動
作形態でターゲット・ストライプデータ位置A4の値を
とり、RAID3の動作形態で0の値をとり、RAID
5で0又は1の値をとる。
【0014】
【作用】本発明のディスクアレイ装置のアドレス変換方
法によれば、次の作用が得られる。ホスト論理ブロック
アドレスのディスクアレイにおける物理的な位置は、デ
ィスクユニットIDと、このディスクユニット内の論理
セクタアドレス(論理ブロックアドレス)の2つの部分
に変換される。
法によれば、次の作用が得られる。ホスト論理ブロック
アドレスのディスクアレイにおける物理的な位置は、デ
ィスクユニットIDと、このディスクユニット内の論理
セクタアドレス(論理ブロックアドレス)の2つの部分
に変換される。
【0015】物理ディスクユニットIDは、最終的にデ
ィスクアレイのランクとポートによって指定される。デ
ィスクアレイのディスクユニットは、ディスクユニット
番号0〜N−1によって識別される。Nは論理ディスク
ユニットへ割り当てられた総物理ディスクユニット数に
等しい。
ィスクアレイのランクとポートによって指定される。デ
ィスクアレイのディスクユニットは、ディスクユニット
番号0〜N−1によって識別される。Nは論理ディスク
ユニットへ割り当てられた総物理ディスクユニット数に
等しい。
【0016】これら相対物理ディスクユニット番号は、
ディスクアレイのランクとポートを検索する変換テーブ
ルへのインデックスとして使用される。この方法で、デ
ィスクアレイのどのような場所のディスクユニットも論
理ディスクユニットの相対アドレスにマッピングでき
る。ディスクユニットのセクタ値は、ディスクユニット
1台当りのユーザセクタ総数をnとすると、0〜n−1
の間でなければならない。ディスクアレイを構成する全
てのディスクユニットは、ユーザセクタ数nとサイズが
同じでなければならない。
ディスクアレイのランクとポートを検索する変換テーブ
ルへのインデックスとして使用される。この方法で、デ
ィスクアレイのどのような場所のディスクユニットも論
理ディスクユニットの相対アドレスにマッピングでき
る。ディスクユニットのセクタ値は、ディスクユニット
1台当りのユーザセクタ総数をnとすると、0〜n−1
の間でなければならない。ディスクアレイを構成する全
てのディスクユニットは、ユーザセクタ数nとサイズが
同じでなければならない。
【0017】マッピング処理過程の計算は、ホストコン
ピュータによって論理ディスクユニットが初期化された
ときにセットされたパラメータを使用する。こられのパ
ラメータは、論理ディスクユニットが初期化されたとき
に、それぞれの論理ディスクユニットのデータ構造にセ
ーブされることで使用できる。
ピュータによって論理ディスクユニットが初期化された
ときにセットされたパラメータを使用する。こられのパ
ラメータは、論理ディスクユニットが初期化されたとき
に、それぞれの論理ディスクユニットのデータ構造にセ
ーブされることで使用できる。
【0018】
<目次> 1.システムのハードウェア構成 2.設定パラメータの種別 3.RAID1のマッピング処理 4.RAID3のマッピング処理 5.RAID5のマッピング処理(ケース1) 6.RAID5のマッピング処理(ケース2) 7.ディスクアレイのアクセス処理 1.システムのハードウェア構成 図2は本発明のディスクアレイのアドレス変換方法が適
用されるディスクアレイを用いた入出力サブシステムの
ハードウェア構成を示す。
用されるディスクアレイを用いた入出力サブシステムの
ハードウェア構成を示す。
【0019】図2において、上位装置としてのホストコ
ンピュータ16にはチャネル装置18が設けられ、チャ
ネルインタフェースバス20を介してディスクアレイ制
御部として機能するコントローラ14を接続している。
チャネルインタフェースバス20としては、例えばSC
SIやMBCインタフェース(ブロック・マルチプレク
サ・チャネルインタフェース)が使用される。
ンピュータ16にはチャネル装置18が設けられ、チャ
ネルインタフェースバス20を介してディスクアレイ制
御部として機能するコントローラ14を接続している。
チャネルインタフェースバス20としては、例えばSC
SIやMBCインタフェース(ブロック・マルチプレク
サ・チャネルインタフェース)が使用される。
【0020】コントローラ14はCPU22を有し、C
PU22の内部バス24に制御記憶部26,パリティ計
算部28,データ転送バッファ30,ホストインタフェ
ース部32およびディスクアダプタ34−0〜34−5
が接続される。コントローラ14に対してはディスクア
レイ10が設けられている。この実施例において、ディ
スクアレイ10は横方向に並んだ並列アクセス数に対応
した5つのポートP0〜P5をもち、各ポートP0〜P
5ごとに縦方向に示すランクR0〜R4単位に並列的に
ディスクユニット12−0〜12−5,12−6〜12
−11,・・・12−18〜12−23を接続してい
る。
PU22の内部バス24に制御記憶部26,パリティ計
算部28,データ転送バッファ30,ホストインタフェ
ース部32およびディスクアダプタ34−0〜34−5
が接続される。コントローラ14に対してはディスクア
レイ10が設けられている。この実施例において、ディ
スクアレイ10は横方向に並んだ並列アクセス数に対応
した5つのポートP0〜P5をもち、各ポートP0〜P
5ごとに縦方向に示すランクR0〜R4単位に並列的に
ディスクユニット12−0〜12−5,12−6〜12
−11,・・・12−18〜12−23を接続してい
る。
【0021】このため、ディスクアレイ10に設けられ
たディスクユニット12−0〜12−23の物理的な位
置は、ポート番号Piとランク番号Ri(但し、iは
0,1,2,・・・の整数)で特定することができる。
図3は図2のコントローラ14に設けられたCPU22
のプログラム制御により実現されるアドレス変換機構の
機能を示す。
たディスクユニット12−0〜12−23の物理的な位
置は、ポート番号Piとランク番号Ri(但し、iは
0,1,2,・・・の整数)で特定することができる。
図3は図2のコントローラ14に設けられたCPU22
のプログラム制御により実現されるアドレス変換機構の
機能を示す。
【0022】図3において、アドレス変換機構はパラメ
ータ設定部36,マッピング処理部38および変換テー
ブル40で構成される。マッピング処理部38はホスト
コンピュータ16から与えられた論理ブロックアドレス
A0を、ディスクアレイ10内のディスクユニットを特
定するディスクユニットIDと、このディスクユニット
IDをもつディスクユニット内のセクタ位置を特定する
ディスクユニット内論理ブロックアドレスA3に変換す
る。
ータ設定部36,マッピング処理部38および変換テー
ブル40で構成される。マッピング処理部38はホスト
コンピュータ16から与えられた論理ブロックアドレス
A0を、ディスクアレイ10内のディスクユニットを特
定するディスクユニットIDと、このディスクユニット
IDをもつディスクユニット内のセクタ位置を特定する
ディスクユニット内論理ブロックアドレスA3に変換す
る。
【0023】マッピング処理部38で変換されたディス
クユニットIDは変換テーブル40に与えられる。変換
テーブル40にはディスクユニットIDをインデックス
としたディスクアレイ10におけるポート番号とランク
番号が予め格納されている。従って、マッピング処理部
38で得られたディスクユニットIDで変換テーブル4
0を索引することで、ディスクアレイ10内のディスク
位置を特定する(ランク,ポート)の変換データを得る
ことができる。
クユニットIDは変換テーブル40に与えられる。変換
テーブル40にはディスクユニットIDをインデックス
としたディスクアレイ10におけるポート番号とランク
番号が予め格納されている。従って、マッピング処理部
38で得られたディスクユニットIDで変換テーブル4
0を索引することで、ディスクアレイ10内のディスク
位置を特定する(ランク,ポート)の変換データを得る
ことができる。
【0024】またマッピング処理部38で得られたディ
スクユニット内論理ブロックアドレスは、そのまま変換
テーブル40から得られた(ランク,ポート)に付加さ
れて、最終的なディスクアレイのアクセスアドレス情報
となる。図4は図2に示したランクR0の5台の磁気デ
ィスクユニット12−0〜12−5を例にとって、ホス
ト論理ブロックアドレスA0=0〜41のディスクアレ
イに対する格納状態と、ホストコンピュータ10から見
たディスクアレイ10を意識しない論理ディスクユニッ
ト12のディスクユニット内論理ブロックアドレスの関
係を示している。
スクユニット内論理ブロックアドレスは、そのまま変換
テーブル40から得られた(ランク,ポート)に付加さ
れて、最終的なディスクアレイのアクセスアドレス情報
となる。図4は図2に示したランクR0の5台の磁気デ
ィスクユニット12−0〜12−5を例にとって、ホス
ト論理ブロックアドレスA0=0〜41のディスクアレ
イに対する格納状態と、ホストコンピュータ10から見
たディスクアレイ10を意識しない論理ディスクユニッ
ト12のディスクユニット内論理ブロックアドレスの関
係を示している。
【0025】ここでディスクユニット12−0〜12−
5にはディスクユニットID=0〜5が予め設定されて
いる。また各ディスクユニット12−0〜12−5はホ
スト論理ブロックを連続して8ブロック格納可能なユー
ザセクタ数をもつ場合を例にとっている。論理ディスク
ユニット12も、ディスクユニット12−0〜12−5
と同様、ホスト論理ブロックを8ブロック格納すること
ができる。
5にはディスクユニットID=0〜5が予め設定されて
いる。また各ディスクユニット12−0〜12−5はホ
スト論理ブロックを連続して8ブロック格納可能なユー
ザセクタ数をもつ場合を例にとっている。論理ディスク
ユニット12も、ディスクユニット12−0〜12−5
と同様、ホスト論理ブロックを8ブロック格納すること
ができる。
【0026】図3に示したマッピング処理部38にあっ
ては、ホストコンピュータから論理ブロックアドレスA
0が与えられたときに、図4に示すディスクアレイ10
を構成する6台のディスクユニット12−0〜12−5
のいずれかを特定するディスクユニットIDへの変換
と、論理ディスクユニット12のディスクユニット内論
理ブロックアドレスA3への変換を行う。
ては、ホストコンピュータから論理ブロックアドレスA
0が与えられたときに、図4に示すディスクアレイ10
を構成する6台のディスクユニット12−0〜12−5
のいずれかを特定するディスクユニットIDへの変換
と、論理ディスクユニット12のディスクユニット内論
理ブロックアドレスA3への変換を行う。
【0027】そしてディスクユニット12−0〜12−
5については、変換テーブル40をディスクユニットI
Dで検索することにより、最終的にランクとポートでな
るアクセス情報に、ディスクユニット内論理ブロックア
ドレスA3を加えたアドレス情報に変換される。図4は
冗長情報としてのパリティ情報を使用しない場合のディ
スクアレイのマッピング状態を示しているが、本発明に
あっては冗長情報としてのパリティを格納するRAID
1,RAID3またはRAID5の動作形態をとる。
5については、変換テーブル40をディスクユニットI
Dで検索することにより、最終的にランクとポートでな
るアクセス情報に、ディスクユニット内論理ブロックア
ドレスA3を加えたアドレス情報に変換される。図4は
冗長情報としてのパリティ情報を使用しない場合のディ
スクアレイのマッピング状態を示しているが、本発明に
あっては冗長情報としてのパリティを格納するRAID
1,RAID3またはRAID5の動作形態をとる。
【0028】この場合のディスクアレイのマッピング状
態は、ミラーディスクユニットを構成するRAID1に
ついては図5に示すようになる。即ち、ディスクユニッ
ト12−0〜12−5の内の2台ずつを1組として同一
データを格納するミラーディスク構成としている。また
RAID3の動作形態にあっては、図6に示すようにデ
ィスクユニット12−0〜12−4をデータ格納用に使
用し、ディスクユニット12−5を固定的にパリティ格
納用に使用する。
態は、ミラーディスクユニットを構成するRAID1に
ついては図5に示すようになる。即ち、ディスクユニッ
ト12−0〜12−5の内の2台ずつを1組として同一
データを格納するミラーディスク構成としている。また
RAID3の動作形態にあっては、図6に示すようにデ
ィスクユニット12−0〜12−4をデータ格納用に使
用し、ディスクユニット12−5を固定的にパリティ格
納用に使用する。
【0029】更にRAID5の動作形態にあっては、図
7に示すようになる。RAID5は論理ディスクユニッ
ト12の論理ブロックアドレスが変化するごとに、ディ
スクアレイを構成するディスクユニット12−0〜12
−5に対するパリティの格納位置を順次ずらす、パリテ
ィの巡回配置を行う。この場合には、論理ディスクユニ
ット12の論理ブロックアドレスが増加するごとにパリ
ティPは左回りに巡回するパリティ配置アルゴリズムと
している。
7に示すようになる。RAID5は論理ディスクユニッ
ト12の論理ブロックアドレスが変化するごとに、ディ
スクアレイを構成するディスクユニット12−0〜12
−5に対するパリティの格納位置を順次ずらす、パリテ
ィの巡回配置を行う。この場合には、論理ディスクユニ
ット12の論理ブロックアドレスが増加するごとにパリ
ティPは左回りに巡回するパリティ配置アルゴリズムと
している。
【0030】次に、図3に示したパラメータ設定部36
はマッピング処理部38における論理ブロックアドレス
A0のアドレス変換に使用する各種のパラメータを予め
設定している。このパラメータの設定はRAID1,R
AID3およびRAID5ごとに行われている。 2.設定パラメータの種別 コントローラ12は、ホストコンピュータ16によって
ホスト論理ブロックアドレスが初期化されたときに、図
3のパラメータ設定部36にセットされたパラメータを
マッピング処理部38のデータ構造にセーブし、ホスト
コンピュータ16からの論理ブロックアドレスA0の変
換が可能となる。このパラメータ設定部36にセットす
るパラメータは次のものがある。
はマッピング処理部38における論理ブロックアドレス
A0のアドレス変換に使用する各種のパラメータを予め
設定している。このパラメータの設定はRAID1,R
AID3およびRAID5ごとに行われている。 2.設定パラメータの種別 コントローラ12は、ホストコンピュータ16によって
ホスト論理ブロックアドレスが初期化されたときに、図
3のパラメータ設定部36にセットされたパラメータを
マッピング処理部38のデータ構造にセーブし、ホスト
コンピュータ16からの論理ブロックアドレスA0の変
換が可能となる。このパラメータ設定部36にセットす
るパラメータは次のものがある。
【0031】・ディスクユニット数N ・パリティ配置アルゴリズム ・ディスクユニットセクタサイズD0 ・データストライプサイズD1 ・ユーザセクタ総数n ・データ用ディスクユニット数Nd ・パリティファクタ ・ホストブロックサイズからデータストライプサイズD
1への変換比率K ・ストライプデータ・グループサイズD2 ・ホスト論理ブロックアドレスA0 ・論理ユニット番号LUN ・調整済ホスト論理ブロック・アドレスA1 ・ターゲット・ストライプデータ・グループ位置A2 ・ストライプグループ・オフセットDF1 ・ターゲット・ストライプデータ位置A4 ・ターゲット・ストライプデータ・オフセットDF2 ・ターゲット物理ディスクユニットID ・ターゲット物理ディスクユニットの論理ブロックアド
レスA3 これらのパラメータを詳細に説明すると次のようにな
る。 (1)ディスクユニット数N:ディスクアレイに設けら
れている並列アクセス可能なディスクユニットの最大数
であり、ポート数に一致する。図4の場合は、ディスク
ユニット12−0〜12−5の6台であるから、ディス
クユニット数N=6となる。 (2)パリティ配置アルゴリズム パリティ配置アルゴリズムは、どのようにパリティセク
タが物理ディスクユニットに割り当てられているかを指
定する。このパラメータは実際のマッピング計算には使
用されない。しかし、論理ディスクユニットのパリティ
要素とデータ数を決めるために使用される。
1への変換比率K ・ストライプデータ・グループサイズD2 ・ホスト論理ブロックアドレスA0 ・論理ユニット番号LUN ・調整済ホスト論理ブロック・アドレスA1 ・ターゲット・ストライプデータ・グループ位置A2 ・ストライプグループ・オフセットDF1 ・ターゲット・ストライプデータ位置A4 ・ターゲット・ストライプデータ・オフセットDF2 ・ターゲット物理ディスクユニットID ・ターゲット物理ディスクユニットの論理ブロックアド
レスA3 これらのパラメータを詳細に説明すると次のようにな
る。 (1)ディスクユニット数N:ディスクアレイに設けら
れている並列アクセス可能なディスクユニットの最大数
であり、ポート数に一致する。図4の場合は、ディスク
ユニット12−0〜12−5の6台であるから、ディス
クユニット数N=6となる。 (2)パリティ配置アルゴリズム パリティ配置アルゴリズムは、どのようにパリティセク
タが物理ディスクユニットに割り当てられているかを指
定する。このパラメータは実際のマッピング計算には使
用されない。しかし、論理ディスクユニットのパリティ
要素とデータ数を決めるために使用される。
【0032】パリティ配置アルゴリズムの有効な値は、 ○RAID0はパリティなし ○図5のRAID1ではミラー ○図6のRAID3では固定 ○図7のRAID5は右回り巡回又は左回り巡回 (3)ディスクユニットセクタサイズD0 ディスクユニットセクタサイズD0とは、物理ディスク
ユニットにアクセスできるデータの最小サイズである。 (4)データストライプサイズD1 データストライプサイズD1とは、1つの物理ディスク
ユニット上に連続して格納されるホスト論理ブロック数
であり、物理ディスクユニット上の連続するセクタ数を
指定する。
ユニットにアクセスできるデータの最小サイズである。 (4)データストライプサイズD1 データストライプサイズD1とは、1つの物理ディスク
ユニット上に連続して格納されるホスト論理ブロック数
であり、物理ディスクユニット上の連続するセクタ数を
指定する。
【0033】このデータストライプサイズD1は1〜n
のいずれかの値をとる。図4のディスクユニット12−
1の場合、データストライプサイズD1=1セクタとな
り、最大D1=8セクタとすることができる。 (5)ユーザセクタ総数n ユーザセクタ総数nとは、ディスクユニット毎のユーザ
利用可能なセクタ数を示し、フォーマット時にディスク
ユニット自身によって供給される。図4の場合は、n=
8セクタとなる。 (6)データ用ディスクユニット数Nd データ用ディスクユニット数Ndとは、ディスクユニッ
ト数Nからパリティ用ディスクユニットを除いたデータ
格納用のディスクユニット数である。データ用ディスク
ユニット数Ndはパリティ配置アルゴリズムにより次の
ようになる。 [RAID] [パリティ配置アルゴリズム] [データ用ディスクユニット 数Nd] ○RAID0 パリティなし Nd=N ○RAID1 ミラー(図5) Nd=N/2 ○RAID3 パリティ固定(図6) Nd=N-1 ○RAID5 パリティ巡回(図7) Nd=N-1 (7)パリティファクタ パリティファクタとは、パリティ・ストライプ・アルゴ
リズムとデータストライプサイズD1に由来する。パリ
ティファクタは、パリティグループ内のアレイ中のパリ
ティセクタとデータセクタの配置を決めるマップブロッ
クを調整する。 (8)ホストブロックサイズからディスクユニットセク
タサイズへの変換比率Kこの変換比率Kは、 K=(ホストブロックサイズD0)÷(ストライプデー
タサイズD1) で定義され、1より小さくできない。即ち、図4に示す
ように、少なくとも1つのホストブロックに1つのディ
スクユニットセクタが対応する。
のいずれかの値をとる。図4のディスクユニット12−
1の場合、データストライプサイズD1=1セクタとな
り、最大D1=8セクタとすることができる。 (5)ユーザセクタ総数n ユーザセクタ総数nとは、ディスクユニット毎のユーザ
利用可能なセクタ数を示し、フォーマット時にディスク
ユニット自身によって供給される。図4の場合は、n=
8セクタとなる。 (6)データ用ディスクユニット数Nd データ用ディスクユニット数Ndとは、ディスクユニッ
ト数Nからパリティ用ディスクユニットを除いたデータ
格納用のディスクユニット数である。データ用ディスク
ユニット数Ndはパリティ配置アルゴリズムにより次の
ようになる。 [RAID] [パリティ配置アルゴリズム] [データ用ディスクユニット 数Nd] ○RAID0 パリティなし Nd=N ○RAID1 ミラー(図5) Nd=N/2 ○RAID3 パリティ固定(図6) Nd=N-1 ○RAID5 パリティ巡回(図7) Nd=N-1 (7)パリティファクタ パリティファクタとは、パリティ・ストライプ・アルゴ
リズムとデータストライプサイズD1に由来する。パリ
ティファクタは、パリティグループ内のアレイ中のパリ
ティセクタとデータセクタの配置を決めるマップブロッ
クを調整する。 (8)ホストブロックサイズからディスクユニットセク
タサイズへの変換比率Kこの変換比率Kは、 K=(ホストブロックサイズD0)÷(ストライプデー
タサイズD1) で定義され、1より小さくできない。即ち、図4に示す
ように、少なくとも1つのホストブロックに1つのディ
スクユニットセクタが対応する。
【0034】但し、図6のRAID3の構成では、唯
一、K>1となる。例えば図6のように1つのホストブ
ロックを1/5に分割して5分割して5つのストライプ
データを生成している。 (9)ストライプデータ・グループサイズD2 ストライプデータ・グループサイズD2とは、並列アク
セスされるデータ格納用デバスイ数Ndの中のデータセ
クタの総数をいい、次式で定義される。 ストライプデータ・グループザイズD2=データストラ
イプサイズD1×データ格納用ディスクユニット数Nd (10)ホスト論理ブロックアドレスA0 ホスト論理ブロックアドレスA0とは、アレイ上のホス
トブロックのアドレスであり、図4に示す横並びの並列
アクセスされるディスクユニット12−0〜12−5の
物理ディスクユニットIDと、縦並びの物理ディスクユ
ニット内の論理ブロックアドレスA3に変換される。
一、K>1となる。例えば図6のように1つのホストブ
ロックを1/5に分割して5分割して5つのストライプ
データを生成している。 (9)ストライプデータ・グループサイズD2 ストライプデータ・グループサイズD2とは、並列アク
セスされるデータ格納用デバスイ数Ndの中のデータセ
クタの総数をいい、次式で定義される。 ストライプデータ・グループザイズD2=データストラ
イプサイズD1×データ格納用ディスクユニット数Nd (10)ホスト論理ブロックアドレスA0 ホスト論理ブロックアドレスA0とは、アレイ上のホス
トブロックのアドレスであり、図4に示す横並びの並列
アクセスされるディスクユニット12−0〜12−5の
物理ディスクユニットIDと、縦並びの物理ディスクユ
ニット内の論理ブロックアドレスA3に変換される。
【0035】ホスト論理ブロックアドレスA0の値は、
1ランク分のアレイ全体のユーザセクタ総数で決まる0
0〜(N×n−1)をとる。例えば図4の場合は、ホス
ト論理ブロックアドレスA0=0〜47の値をとる。 (11)論理ユニット番号LUN 論理ユニット番号LUNは、ディスクアレイの中のパリ
ティグループを構成するディスクユニットグループを定
義する。論理ユニット番号LUNは、ホストコンピュー
タによって供給され、論理ディスクユニットの識別に使
用される。しかし、ブロックマッピングの計算に使用し
ない。 (12)調整済ホスト論理ブロック・アドレスA1 調整済ホスト論理ブロック・アドレスA1とは、ホスト
論理ブロック・アドレスA0を、ホストブロックサイズ
からディスクユニットセクタサイズの変換比率Kにより
調整したアドレスであり、次式で定義される。 調整済ホスト論理ブロックアドレスA1=ホスト論理ブ
ロックアドレスA0×変換比率K 例えばホスト論理ブロックサイズD0=データストライ
プサイズD1としたK=1の場合、ホスト論理ブロック
アドレスA0そのものが調整済ホスト論理ブロックアド
レスA1となる。 (13)ターゲット・ストライプデータ・グループアド
レスA2 ターゲット・ストライプデータ・グループアドレスA2
とは、調整済ホスト論理ブロックアドレスA1が属する
ストライプデータ・グループの物理ディスクユニット論
理ブロックアドスレA3の値を示し、次式で定義され
る。 ターゲット・ストライプデータ・グループアドレスA2
=調整済ホスト論理ブロックアドレスA1÷ストライプ
データ・グループサイズD3 (14)ストライプグループ・オフセットDF1 ストライプグループ・オフセットDF1とは、ディスク
アレイ中のブロック位置を決める調整済ホスト論理ブロ
ック・アドレスA1の属するターゲット・ストライプデ
ータ・グループアドレスA2内でのオフセットを与え
る。
1ランク分のアレイ全体のユーザセクタ総数で決まる0
0〜(N×n−1)をとる。例えば図4の場合は、ホス
ト論理ブロックアドレスA0=0〜47の値をとる。 (11)論理ユニット番号LUN 論理ユニット番号LUNは、ディスクアレイの中のパリ
ティグループを構成するディスクユニットグループを定
義する。論理ユニット番号LUNは、ホストコンピュー
タによって供給され、論理ディスクユニットの識別に使
用される。しかし、ブロックマッピングの計算に使用し
ない。 (12)調整済ホスト論理ブロック・アドレスA1 調整済ホスト論理ブロック・アドレスA1とは、ホスト
論理ブロック・アドレスA0を、ホストブロックサイズ
からディスクユニットセクタサイズの変換比率Kにより
調整したアドレスであり、次式で定義される。 調整済ホスト論理ブロックアドレスA1=ホスト論理ブ
ロックアドレスA0×変換比率K 例えばホスト論理ブロックサイズD0=データストライ
プサイズD1としたK=1の場合、ホスト論理ブロック
アドレスA0そのものが調整済ホスト論理ブロックアド
レスA1となる。 (13)ターゲット・ストライプデータ・グループアド
レスA2 ターゲット・ストライプデータ・グループアドレスA2
とは、調整済ホスト論理ブロックアドレスA1が属する
ストライプデータ・グループの物理ディスクユニット論
理ブロックアドスレA3の値を示し、次式で定義され
る。 ターゲット・ストライプデータ・グループアドレスA2
=調整済ホスト論理ブロックアドレスA1÷ストライプ
データ・グループサイズD3 (14)ストライプグループ・オフセットDF1 ストライプグループ・オフセットDF1とは、ディスク
アレイ中のブロック位置を決める調整済ホスト論理ブロ
ック・アドレスA1の属するターゲット・ストライプデ
ータ・グループアドレスA2内でのオフセットを与え
る。
【0036】具体的には、ストライプデータグループの
残りブロック開始位置までのオフセット・ディスクユニ
ット数を示す。ストラトイプグループ・オフセットDF
1は、調整済ホスト論理ブロック・アドレスA1をスト
ライプデータ・グループザイズD3で割った場合の余り
C1として得られる。 (15)ターゲット・ストライプデータ位置A4 ターゲット・ストライプデータ位置A4とは、1つのデ
ータストライプグループ内の調整済ホスト論理ブロック
アドレスA1が乗るデータ格納用のディスクユニットI
Dを決定する。即ち、次式で定義される。 ターゲット・ストライプデータ位置A4=ストライプデ
ータ・グループオフセットDF1÷データストライプサ
イズD1 (16)ターゲット・ストライプデータ位置オフセット
DF2 ターゲット・ストライプデータ位置オフセットDF2と
は、調整済ホスト論理ブロック・アドレスA1のターゲ
ット・ストライプデータ位置までのオフセット・ディス
クユニット数を示す。
残りブロック開始位置までのオフセット・ディスクユニ
ット数を示す。ストラトイプグループ・オフセットDF
1は、調整済ホスト論理ブロック・アドレスA1をスト
ライプデータ・グループザイズD3で割った場合の余り
C1として得られる。 (15)ターゲット・ストライプデータ位置A4 ターゲット・ストライプデータ位置A4とは、1つのデ
ータストライプグループ内の調整済ホスト論理ブロック
アドレスA1が乗るデータ格納用のディスクユニットI
Dを決定する。即ち、次式で定義される。 ターゲット・ストライプデータ位置A4=ストライプデ
ータ・グループオフセットDF1÷データストライプサ
イズD1 (16)ターゲット・ストライプデータ位置オフセット
DF2 ターゲット・ストライプデータ位置オフセットDF2と
は、調整済ホスト論理ブロック・アドレスA1のターゲ
ット・ストライプデータ位置までのオフセット・ディス
クユニット数を示す。
【0037】即ち、ターゲット・ストライプデータ位置
オフセットDF2は、ターゲット・ストライプデータオ
フセットDF1をストライプトデータ・サイズD1で割
った場合の余りC3で与えられる。 (17)ターゲット物理ディスクユニットID ターゲット物理ディスクユニットIDは、ディスクアレ
イ内でのターゲット物理ディスクユニットの相対位置を
与える。調整済ホスト論理ブロックアドレスA1からマ
ップする。即ち、次式で定義される。 ターゲット物理ディスクユニットID=ターゲット・ス
トライプデータ位置A4+パリティ・ファクタ (18)ターゲット物理ディスクユニット内の論理ブロ
ックアドレスA3 ターゲット物理ディスクユニット内の論理ブロックアド
レスA3とは、調整済ホスト論理ブロック・アドレスA
1がマッピングするターゲット物理ディスクユニットI
D上にあるディスクユニット内論理ブロックアドレスで
ある。即ち、次式で与えられる。 ターゲット物理ディスクユニット内の論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレス×データストライプサイズD1+ターゲット・ス
トライプデータ位置オフセットDF2 3.RAID1のマッピング処理 図12は、RAID1のブロックマッピングの具体例を
示す。この実施例では、ディスクアレイのディスクユニ
ット数N=6台であり、ホスト論理ブロックアドレスA
0=29に対する物理ディスクユニットIDと物理ディ
スクユニット内の論理ブロックアドレスA3への変換の
例である。
オフセットDF2は、ターゲット・ストライプデータオ
フセットDF1をストライプトデータ・サイズD1で割
った場合の余りC3で与えられる。 (17)ターゲット物理ディスクユニットID ターゲット物理ディスクユニットIDは、ディスクアレ
イ内でのターゲット物理ディスクユニットの相対位置を
与える。調整済ホスト論理ブロックアドレスA1からマ
ップする。即ち、次式で定義される。 ターゲット物理ディスクユニットID=ターゲット・ス
トライプデータ位置A4+パリティ・ファクタ (18)ターゲット物理ディスクユニット内の論理ブロ
ックアドレスA3 ターゲット物理ディスクユニット内の論理ブロックアド
レスA3とは、調整済ホスト論理ブロック・アドレスA
1がマッピングするターゲット物理ディスクユニットI
D上にあるディスクユニット内論理ブロックアドレスで
ある。即ち、次式で与えられる。 ターゲット物理ディスクユニット内の論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレス×データストライプサイズD1+ターゲット・ス
トライプデータ位置オフセットDF2 3.RAID1のマッピング処理 図12は、RAID1のブロックマッピングの具体例を
示す。この実施例では、ディスクアレイのディスクユニ
ット数N=6台であり、ホスト論理ブロックアドレスA
0=29に対する物理ディスクユニットIDと物理ディ
スクユニット内の論理ブロックアドレスA3への変換の
例である。
【0038】またデータストライピングサイズD1は、
1つの物理ディスクユニットとしてのディスクユニット
12−0〜12−5の各々が持つブロック数と同じであ
る。この例ではディスクユニット12−0〜12−5毎
に12ブロック持つと仮定する。RAID1のパリティ
配置アルゴリズムはミラーであり、パリティブロックP
の実際のデータは、対応するディスクユニットのデータ
のコピーである。
1つの物理ディスクユニットとしてのディスクユニット
12−0〜12−5の各々が持つブロック数と同じであ
る。この例ではディスクユニット12−0〜12−5毎
に12ブロック持つと仮定する。RAID1のパリティ
配置アルゴリズムはミラーであり、パリティブロックP
の実際のデータは、対応するディスクユニットのデータ
のコピーである。
【0039】RAID1の場合、コントローラ14はリ
ード命令の時は、データ用またはパリティ用のどちらの
ディスクユニットでもアクセスできる。しかし、更新時
には、データ用とパリティ用の両方のディスクユニット
をアクセスしなければならない。 (1)RAID1の論理ディスクユニットのRAID属
性 ディスクユニット数N=6台 データストライプサイズD1=12セクタ パリティ配置アルゴリズム=ミラー ユーザデータ総数n=12セクタ データ用ディスクユニット数Nd=3 変換比率K=1 パリティファクタ=ターゲット・ストライプデータ位
置A4 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
12×3=36セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=29から物理ディスクユニットIDと
物理ディスクユニットの論理ブロックアドレスA3への
マッピング 調整済ホスト論理ブロックアドレスA1=ホスト論理
ブロックアドレスA1×変換比率K=29×1=29 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=29/36=0 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3の割った余りC1=
29 (29/36=0の余りC1=29) ターゲット・ストライブデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=29/12=2 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=5 (29/12=2の余りC2=5) ターゲット物理ディスクユニットID=ターゲット・
ストライプデータ位置A4+パリ ティファクタ=2+
2=4 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(0×1
2)+5=5 4.RAID3のマッピング処理 図11は、RAID3のブロックマッピングの具体例を
示す。この実施例では、ディスクアレイのディスクユニ
ット数N=5台であり、ホスト論理ブロックアドレスA
0=8に対する物理ディスクユニットIDと物理ディス
クユニット内の論理ブロックアドレスA3への変換の例
である。
ード命令の時は、データ用またはパリティ用のどちらの
ディスクユニットでもアクセスできる。しかし、更新時
には、データ用とパリティ用の両方のディスクユニット
をアクセスしなければならない。 (1)RAID1の論理ディスクユニットのRAID属
性 ディスクユニット数N=6台 データストライプサイズD1=12セクタ パリティ配置アルゴリズム=ミラー ユーザデータ総数n=12セクタ データ用ディスクユニット数Nd=3 変換比率K=1 パリティファクタ=ターゲット・ストライプデータ位
置A4 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
12×3=36セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=29から物理ディスクユニットIDと
物理ディスクユニットの論理ブロックアドレスA3への
マッピング 調整済ホスト論理ブロックアドレスA1=ホスト論理
ブロックアドレスA1×変換比率K=29×1=29 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=29/36=0 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3の割った余りC1=
29 (29/36=0の余りC1=29) ターゲット・ストライブデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=29/12=2 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=5 (29/12=2の余りC2=5) ターゲット物理ディスクユニットID=ターゲット・
ストライプデータ位置A4+パリ ティファクタ=2+
2=4 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(0×1
2)+5=5 4.RAID3のマッピング処理 図11は、RAID3のブロックマッピングの具体例を
示す。この実施例では、ディスクアレイのディスクユニ
ット数N=5台であり、ホスト論理ブロックアドレスA
0=8に対する物理ディスクユニットIDと物理ディス
クユニット内の論理ブロックアドレスA3への変換の例
である。
【0040】また物理ディスクユニットとしてのディス
クユニット12−0〜12−5の各々は10ブロック持
つと仮定する。RAID3の場合はパリティ固定であ
り、ディスクユニット12−4に固定的に配置する。 (1)RAID3の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=1セクタ パリティ配置アルゴリズム=物理ディスクユニット1
2−4(ID=4)に固定 ユーザセクタ総数n=10セクタ データ用ディスクユニット数Nd=4 変換比率K=4 パリティファクタ=0 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
1×4=4セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=8から物理ディスクユニットIDと物
理ディスクユニットの論理ブロックアドレスA3へのマ
ッピング 調整済ホスト論理ブロックアドレスA1=ホスト論理
ブロックアドレスA1×変換比率K=8×4=32 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=32/4=8 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
0 (32/4=8の余りC1=0) ターゲット・ストライプデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=0/1=0 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=0 (0/1=0の余りC2=0) ターゲット物理ディスクユニットID=ターゲット・
ストライブデータ位置A4+パリ ティファクタ=0+
0=0 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD2+ターゲット
・ストライプデータ位置オフセットDF2=(8×1)
+0=8 5.RAID5のマッピング処理(ケース1) 図12のRAID5のブロックマッピングは、ホスト論
理ブロックアドレスA0=45に対する物理ディスクユ
ニットIDと物理ディスクユニットの論理ブロックアド
レスA3への変換の例である。
クユニット12−0〜12−5の各々は10ブロック持
つと仮定する。RAID3の場合はパリティ固定であ
り、ディスクユニット12−4に固定的に配置する。 (1)RAID3の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=1セクタ パリティ配置アルゴリズム=物理ディスクユニット1
2−4(ID=4)に固定 ユーザセクタ総数n=10セクタ データ用ディスクユニット数Nd=4 変換比率K=4 パリティファクタ=0 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
1×4=4セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=8から物理ディスクユニットIDと物
理ディスクユニットの論理ブロックアドレスA3へのマ
ッピング 調整済ホスト論理ブロックアドレスA1=ホスト論理
ブロックアドレスA1×変換比率K=8×4=32 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=32/4=8 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
0 (32/4=8の余りC1=0) ターゲット・ストライプデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=0/1=0 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=0 (0/1=0の余りC2=0) ターゲット物理ディスクユニットID=ターゲット・
ストライブデータ位置A4+パリ ティファクタ=0+
0=0 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD2+ターゲット
・ストライプデータ位置オフセットDF2=(8×1)
+0=8 5.RAID5のマッピング処理(ケース1) 図12のRAID5のブロックマッピングは、ホスト論
理ブロックアドレスA0=45に対する物理ディスクユ
ニットIDと物理ディスクユニットの論理ブロックアド
レスA3への変換の例である。
【0041】5つのディスクユニット12−0〜12−
4を物理ディスクユニットとしたRAID5構成では、
データストライピングサイズD1=1であり、パリティ
配置アルゴリズムは左巡回であり、1つの物理ディスク
ユニットは14ブロックをもつ。 (1)RAID5の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=1セクタ パリティ配置アルゴリズム=左巡回 ユーザセクタ総数n=14セクタ データ用ディスクユニット数Nd=4 変換比率K=1 パリティ・ファクタ (ターゲット・パリティ位置)>(ターゲット・ストラ
イプデータ位置A4)ならば、パリティファクタ=0。
4を物理ディスクユニットとしたRAID5構成では、
データストライピングサイズD1=1であり、パリティ
配置アルゴリズムは左巡回であり、1つの物理ディスク
ユニットは14ブロックをもつ。 (1)RAID5の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=1セクタ パリティ配置アルゴリズム=左巡回 ユーザセクタ総数n=14セクタ データ用ディスクユニット数Nd=4 変換比率K=1 パリティ・ファクタ (ターゲット・パリティ位置)>(ターゲット・ストラ
イプデータ位置A4)ならば、パリティファクタ=0。
【0042】(ターゲット・パリティ位置)≦(ターゲ
ット・ストライプデータ位置A4)ならば、パリティフ
ァクタ=1。 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
1×4=4セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=45から物理ディスクユニットIDと
物理ディスクユニットの論理ブロックアドレスA3への
マッピング 調整済ホスト論理ブロッサクアドレスA1=ホスト論
理ブロックアドレスA1×変換比率K=45×1=45 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=45/4=11 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
1 (45/4=11の余りC1=1) ターゲット・ストライブデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=1/1=1 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=0 (1/1=1の余りC2=0) ターゲット物理ディスクユニットID=ターゲット・
ストライブデータ位置A4+パリ ティファクタ=1+
0=0 ターゲット・物理ディスクユニット論理ブロックアド
レイA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(1×1)
+0=11 (3)パリティファクタ計算 ターゲット・ストライプデータ・グループ位置A2=
ターゲット・ストライプデータ位置A4/ディスクユニ
ット数N=11/4=2 ターゲット・ストライプデータ・グループオフセット
DF2=ターゲット・ストライプデータ位置A4をディ
スクユニット数Nで割った余りC1=1 (11/5=2の余りC1=1) ターゲット・パリティ位置=データ用ディスクユニッ
ト数Nd−ターゲット・ストライプデータ・グループオ
フセットDF2=4−1=3 ターゲット・パリティ位置 (ターゲット・パリティ位置=3)>(ターゲット・ス
トライプデータ位置A4=1)なので、パリティファク
タ=0。 6.RAID5のマッピング処理(ケース2) 図13のRAID5のブロックマッピングは、ホスト論
理ブロックアドレスA0=57に対する物理ディスクユ
ニット番号と物理ディスクユニット内の論理ブロックア
ドレスA3への変換の例である。
ット・ストライプデータ位置A4)ならば、パリティフ
ァクタ=1。 ストライプデータ・グループサイズD2=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
1×4=4セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=45から物理ディスクユニットIDと
物理ディスクユニットの論理ブロックアドレスA3への
マッピング 調整済ホスト論理ブロッサクアドレスA1=ホスト論
理ブロックアドレスA1×変換比率K=45×1=45 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD2=45/4=11 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
1 (45/4=11の余りC1=1) ターゲット・ストライブデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=1/1=1 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=0 (1/1=1の余りC2=0) ターゲット物理ディスクユニットID=ターゲット・
ストライブデータ位置A4+パリ ティファクタ=1+
0=0 ターゲット・物理ディスクユニット論理ブロックアド
レイA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(1×1)
+0=11 (3)パリティファクタ計算 ターゲット・ストライプデータ・グループ位置A2=
ターゲット・ストライプデータ位置A4/ディスクユニ
ット数N=11/4=2 ターゲット・ストライプデータ・グループオフセット
DF2=ターゲット・ストライプデータ位置A4をディ
スクユニット数Nで割った余りC1=1 (11/5=2の余りC1=1) ターゲット・パリティ位置=データ用ディスクユニッ
ト数Nd−ターゲット・ストライプデータ・グループオ
フセットDF2=4−1=3 ターゲット・パリティ位置 (ターゲット・パリティ位置=3)>(ターゲット・ス
トライプデータ位置A4=1)なので、パリティファク
タ=0。 6.RAID5のマッピング処理(ケース2) 図13のRAID5のブロックマッピングは、ホスト論
理ブロックアドレスA0=57に対する物理ディスクユ
ニット番号と物理ディスクユニット内の論理ブロックア
ドレスA3への変換の例である。
【0043】ディスクユニット12−10〜12−5で
5つの物理ディスクユニットを構成する。まちデータス
トライピングサイズD1=4としといる。パリティ・ス
トライピング・アルゴリズムは、左巡回である。さらに
1物理ディスクユニットあたり16ブロック持つ場合を
仮定している。 (1)RAID5の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=4セクタ パリティ配置アルゴリズム=左巡回 ユーザセクタ総数n=16セクタ データ用ディスクユニット数Nd=4 変換比率K=1 パリティ・ファクタ (ターゲット・パリティ位置)>(ターゲット・ストラ
イプデータ位置A4)ならば、パリティファクタ=0。
5つの物理ディスクユニットを構成する。まちデータス
トライピングサイズD1=4としといる。パリティ・ス
トライピング・アルゴリズムは、左巡回である。さらに
1物理ディスクユニットあたり16ブロック持つ場合を
仮定している。 (1)RAID5の論理ディスクユニットのRAID属
性 ディスクユニット数N=5台 データストライプサイズD1=4セクタ パリティ配置アルゴリズム=左巡回 ユーザセクタ総数n=16セクタ データ用ディスクユニット数Nd=4 変換比率K=1 パリティ・ファクタ (ターゲット・パリティ位置)>(ターゲット・ストラ
イプデータ位置A4)ならば、パリティファクタ=0。
【0044】(ターゲット・パリティ位置)≦(ターゲ
ット・ストライプデータ位置A4)ならば、パリティフ
ァクタ=1。 ストライプデータ・グループサイズD3=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
4×4=16セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=45から物理ディスクユニットIDと
論理ブロックアドレスA3へのマッピング 調整済ホスト論理ブロッサクアドレスA1=ホスト論
理ブロックアドレスA1×変換比率K=57×1=57 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD3=57/16=3 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
9 (57/16=3の余りC1=9) ターゲット・ストライプデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=9/4=2 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=1 (9/4=2の余りC2=1) ターゲット物理ディスクユニットID=ターゲット・
ストライプデータ位置A4+パリ ティファクタ=2+
1=3 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(3×4)
+1=13 (3)パリティファクタ計算 ターゲット・ストライプデータ・グループ位置A2=
ターゲット・ストライプデータ位置A4/ディスクユニ
ット数N=3/5=0 ターゲット・ストライプデータ・グループオフセット
DF2=ターゲット・ストライプデータ位置A4をディ
スクユニット数Nで割った余りC1=3 (3/5=0の余りC1=3) ターゲット・パリティ位置=データ用ディスクユニッ
ト数Nd−ターゲット・ストライプデータ・グループオ
フセットDF2=4−3=1 ターゲット・パリティ位置 (ターゲット・パリティ位置=1) ≦(ターゲット・ストライプデータ位置A4=2)なの
で、パリティファクタ=1。 7.ディスクアレイのアクセス処理 図2に示したホストコンピュータ16から見えるディス
クアレイ10は、例えばRAID5を例にとると、図1
4に示すような連続的な空間に見える。
ット・ストライプデータ位置A4)ならば、パリティフ
ァクタ=1。 ストライプデータ・グループサイズD3=データスト
ライプサイズD1×データ用ディスクユニット数Nd=
4×4=16セクタ (2)ホスト論理ディスクユニットのホスト論理ブロッ
クアドレスA0=45から物理ディスクユニットIDと
論理ブロックアドレスA3へのマッピング 調整済ホスト論理ブロッサクアドレスA1=ホスト論
理ブロックアドレスA1×変換比率K=57×1=57 ターゲット・ストライプデータ・グループアドレスA
2=調整済ホスト論理ブロックアドレスA1/ストライ
プデータ・グループサイズD3=57/16=3 ターゲット・ストライプデータ・グループオフセット
DF1=調整済ホスト論理ブロックアドレスA1をスト
ライプデータ・グループサイズD3で割った余りC1=
9 (57/16=3の余りC1=9) ターゲット・ストライプデータ位置A4=調整済みホ
スト論理ブロックアドレスA1/データストライプサイ
ズD1=9/4=2 ターゲット・ストライプデータ位置オフセットDF2
=調整済みホスト論理ブロックアドレスA1をデータス
トライプサイズD1で割った余りC2=1 (9/4=2の余りC2=1) ターゲット物理ディスクユニットID=ターゲット・
ストライプデータ位置A4+パリ ティファクタ=2+
1=3 ターゲット・物理ディスクユニット論理ブロックアド
レスA3=ターゲット・ストライプデータ・グループア
ドレスA2×データストライプサイズD1+ターゲット
・ストライプデータ位置オフセットDF2=(3×4)
+1=13 (3)パリティファクタ計算 ターゲット・ストライプデータ・グループ位置A2=
ターゲット・ストライプデータ位置A4/ディスクユニ
ット数N=3/5=0 ターゲット・ストライプデータ・グループオフセット
DF2=ターゲット・ストライプデータ位置A4をディ
スクユニット数Nで割った余りC1=3 (3/5=0の余りC1=3) ターゲット・パリティ位置=データ用ディスクユニッ
ト数Nd−ターゲット・ストライプデータ・グループオ
フセットDF2=4−3=1 ターゲット・パリティ位置 (ターゲット・パリティ位置=1) ≦(ターゲット・ストライプデータ位置A4=2)なの
で、パリティファクタ=1。 7.ディスクアレイのアクセス処理 図2に示したホストコンピュータ16から見えるディス
クアレイ10は、例えばRAID5を例にとると、図1
4に示すような連続的な空間に見える。
【0045】ホストコンピュータ16よりディスクアレ
イ10のコントローラ14に対し書込要求が発生する
と、コントローラ14は図3に示したアドレス変換機構
を使用し、ホストコンピュータから見える論理的なディ
スクアドレス、即ちホスト論理ブロックアドレスA0を
ディスクアレイ10における物理的なディスクユニット
のアドレスに変換することにより、データ用ディスクユ
ニットへの書込みと、書込データに基づくパリティデー
タの生成と、パリティ用ディスクユニットに対する書込
みを行わせる。
イ10のコントローラ14に対し書込要求が発生する
と、コントローラ14は図3に示したアドレス変換機構
を使用し、ホストコンピュータから見える論理的なディ
スクアドレス、即ちホスト論理ブロックアドレスA0を
ディスクアレイ10における物理的なディスクユニット
のアドレスに変換することにより、データ用ディスクユ
ニットへの書込みと、書込データに基づくパリティデー
タの生成と、パリティ用ディスクユニットに対する書込
みを行わせる。
【0046】図14のRAID5の動作形態におけるホ
ストコンピュータ16からの書込要求に対する処理動作
は次のようになる。まずコントローラ14のCPU22
は、ホストコンピュータ16からの書込データをデータ
転送バッファ30に格納した後、書込先となるディスク
アレイ10の中のディスクユニットに書かれている旧デ
ータを読み出して、データ転送バッファ30に書き込
み、書込終了後にディスクユニットに新データを書き込
んで、ディスクユニットを開放する。
ストコンピュータ16からの書込要求に対する処理動作
は次のようになる。まずコントローラ14のCPU22
は、ホストコンピュータ16からの書込データをデータ
転送バッファ30に格納した後、書込先となるディスク
アレイ10の中のディスクユニットに書かれている旧デ
ータを読み出して、データ転送バッファ30に書き込
み、書込終了後にディスクユニットに新データを書き込
んで、ディスクユニットを開放する。
【0047】このようなディスクアレイ10のディスク
ユニットに対する旧データの読出し,新データの書込み
が終了すると、CPU22はパリティデータの格納先と
なるディスクユニットに対し旧パリティを読み出し、デ
ータ転送バッファ30に書き込み、書込終了でディスク
ユニットを開放する。ホストコンピュータ16からの書
込要求に伴って、コントローラ14に送られたホストブ
ロックデータは、データ用ディスクユニットの台数Nに
基づいてストライピングされ、ストライピングデータに
分解される。例えば図14にあっては、ホスト論理ブロ
ックサイズをディスクユニットのセクタサイズに一致さ
せていることから、4個の連続したストライピングデー
タがディスクユニットごとに分配されて書き込まれる。
ユニットに対する旧データの読出し,新データの書込み
が終了すると、CPU22はパリティデータの格納先と
なるディスクユニットに対し旧パリティを読み出し、デ
ータ転送バッファ30に書き込み、書込終了でディスク
ユニットを開放する。ホストコンピュータ16からの書
込要求に伴って、コントローラ14に送られたホストブ
ロックデータは、データ用ディスクユニットの台数Nに
基づいてストライピングされ、ストライピングデータに
分解される。例えば図14にあっては、ホスト論理ブロ
ックサイズをディスクユニットのセクタサイズに一致さ
せていることから、4個の連続したストライピングデー
タがディスクユニットごとに分配されて書き込まれる。
【0048】パリティデータが書き込まれるディスクユ
ニットの位置は、RAID5のパリティ配置アルゴリズ
ムに従ってディスクユニット論理ブロックごとに異なる
位置が決められる。パリティデータそのものは4台のデ
ータ格納用のディスクユニットに対する4つのストライ
ピングデータから同じサイズのパリティデータが生成さ
れ、決定されたパリティ用ディスクユニットに書き込ま
れる。
ニットの位置は、RAID5のパリティ配置アルゴリズ
ムに従ってディスクユニット論理ブロックごとに異なる
位置が決められる。パリティデータそのものは4台のデ
ータ格納用のディスクユニットに対する4つのストライ
ピングデータから同じサイズのパリティデータが生成さ
れ、決定されたパリティ用ディスクユニットに書き込ま
れる。
【0049】図15はRAID5の動作形態におけるホ
ストコンピュータ16から読出要求が行われたときの処
理を示している。いま、ホストコンピュータ16から論
理ブロック3番〜5番に対するリード命令を実行してい
るときに、論理ブロック7番〜25番の読出要求が行わ
れたとする。
ストコンピュータ16から読出要求が行われたときの処
理を示している。いま、ホストコンピュータ16から論
理ブロック3番〜5番に対するリード命令を実行してい
るときに、論理ブロック7番〜25番の読出要求が行わ
れたとする。
【0050】このような場合には、コントローラ14は
リード処理を ・ディスクユニットID=2のディスクユニット12−
2のシリアルリードアクセス、 ・ディスクユニットID=3のディスクユニット12−
3に対するシリアルリードアクセス、 ・ディスクユニットID=0,1,2,4のディスクユ
ニット12−0,12−1,12−2,12−4に対す
るデータ用ディスクユニット幅分のパラレルリードアク
セス、更にディスクユニットID=0のディスクユニッ
ト12−0に対するシリアルリードアクセスに分解する
ことにより、ディスクアレイ10の並列的なアクセスを
可能とし、アクセス性能を向上することができる。
リード処理を ・ディスクユニットID=2のディスクユニット12−
2のシリアルリードアクセス、 ・ディスクユニットID=3のディスクユニット12−
3に対するシリアルリードアクセス、 ・ディスクユニットID=0,1,2,4のディスクユ
ニット12−0,12−1,12−2,12−4に対す
るデータ用ディスクユニット幅分のパラレルリードアク
セス、更にディスクユニットID=0のディスクユニッ
ト12−0に対するシリアルリードアクセスに分解する
ことにより、ディスクアレイ10の並列的なアクセスを
可能とし、アクセス性能を向上することができる。
【0051】尚、図2のハードウェア構成は6ポート,
4ランクのディスクアレイを例にとっているが、ディス
クアレイのランク数およびポート数は必要に応じて適宜
に定めることができる。またRAID動作形態としてR
AID1,3,5を例にとっているが、パリティ情報を
格納しない所謂RAID0の動作形態を含むようにして
もよい。勿論、本発明は実施例に示された数値による限
定は受けない。
4ランクのディスクアレイを例にとっているが、ディス
クアレイのランク数およびポート数は必要に応じて適宜
に定めることができる。またRAID動作形態としてR
AID1,3,5を例にとっているが、パリティ情報を
格納しない所謂RAID0の動作形態を含むようにして
もよい。勿論、本発明は実施例に示された数値による限
定は受けない。
【0052】
【発明の効果】以上説明してきたように本発明によれ
ば、ディスクアレイの物理的形態を意識しない上位装置
からの論理ブロックアドレスを、そのときのRAIDの
動作形態に応じたパラメータを用いてディスクアレイの
ディスクユニット番号とそのディスクユニット内の論理
ブロックアドレスに変換し、ディスクユニット番号につ
いては最終的にディスクアレイのランクとポートに変換
して論理ブロックアドレスに対応するディスクユニット
をアクセスすることができ、上位装置に通常のディスク
ユニットと変わりなく、ディスクアレイを使用した外部
記憶の使用を可能とする。
ば、ディスクアレイの物理的形態を意識しない上位装置
からの論理ブロックアドレスを、そのときのRAIDの
動作形態に応じたパラメータを用いてディスクアレイの
ディスクユニット番号とそのディスクユニット内の論理
ブロックアドレスに変換し、ディスクユニット番号につ
いては最終的にディスクアレイのランクとポートに変換
して論理ブロックアドレスに対応するディスクユニット
をアクセスすることができ、上位装置に通常のディスク
ユニットと変わりなく、ディスクアレイを使用した外部
記憶の使用を可能とする。
【0053】また、アドレス変換機能はRAIDの動作
形態の如何に関わらず共通に行われ、論理ブロックアド
レスの初期化時に各RAID形態固有のパラメータをセ
ッティングして対応することで、RAIDの動作形態ご
とにアドレス変換機構を準備する必要がなく、簡単な構
成で論理ブロックアドレスからディスクアレイのディス
クユニット番号およびディスクユニット内論理ブロック
アドレスへの変換が実現できる。
形態の如何に関わらず共通に行われ、論理ブロックアド
レスの初期化時に各RAID形態固有のパラメータをセ
ッティングして対応することで、RAIDの動作形態ご
とにアドレス変換機構を準備する必要がなく、簡単な構
成で論理ブロックアドレスからディスクアレイのディス
クユニット番号およびディスクユニット内論理ブロック
アドレスへの変換が実現できる。
【図1】本発明の原理説明図
【図2】本発明のハードウェア構成を示した実施例構成
図
図
【図3】本発明のアドレス変換方法を示した機能説明図
【図4】本発明で変換するホスト論理アドレスに対する
ディスクユニットIDとディスクユニット内論理ブロッ
クアドレスの関係を示した説明図
ディスクユニットIDとディスクユニット内論理ブロッ
クアドレスの関係を示した説明図
【図5】RAID1のホスト論理ブロックの格納状態の
説明図
説明図
【図6】RAID3のホスト論理ブロックの格納状態の
説明図
説明図
【図7】RAID5のホスト論理ブロックの格納状態の
説明図
説明図
【図8】変換比率K=1の場合のホスト論理ブロックと
ストライプデータの関係を示した説明図
ストライプデータの関係を示した説明図
【図9】変換比率K=5の場合のホスト論理ブロックと
ストライプデータの関係を示した説明図
ストライプデータの関係を示した説明図
【図10】RAID1におけるホスト論理アドレスA0
=29のアドレス変換の説明図
=29のアドレス変換の説明図
【図11】RAID3におけるホスト論理アドレスA0
=8のアドレス変換の説明図
=8のアドレス変換の説明図
【図12】RAID5におけるホスト論理アドレスA0
=45のアドレス変換の説明図
=45のアドレス変換の説明図
【図13】RAID5で変換比率K=4とした場合のホ
スト論理アドレスA0=57のアドレス変換の説明図
スト論理アドレスA0=57のアドレス変換の説明図
【図14】RAID5のデータ格納状態の説明図
【図15】RAID5のリードアクセスの説明図
10:ディスクアレイ 12:論理ディスクユニット 12−0〜12−17:ディスクユニット(物理ディス
クユニット) 14:コントローラ 16:ホストコンピュータ(上位装置) 18:チャネル装置 20:チャネルインタフェースバス 22:CPU 24:内部バス 26:制御記憶部 28:パリティ計算部 30:データ転送バッファ 32:ホストインタフェース部 34−0〜34−5:ディスクユニットアダプタ 36:パラメータ設定部 38:マッピング処理部 40:変換テーブル
クユニット) 14:コントローラ 16:ホストコンピュータ(上位装置) 18:チャネル装置 20:チャネルインタフェースバス 22:CPU 24:内部バス 26:制御記憶部 28:パリティ計算部 30:データ転送バッファ 32:ホストインタフェース部 34−0〜34−5:ディスクユニットアダプタ 36:パラメータ設定部 38:マッピング処理部 40:変換テーブル
Claims (5)
- 【請求項1】アドレス変換に使用する各種のパラメータ
を設定するパラメータ設定過程と、 上位装置による論理ブロックアドレスの初期化時に前記
パラメータ設定設定過程で設定したパラメータの供給を
受け、上位装置から与えられた論理ブロックアドレスを
ディスクアレイのディスクユニット番号と該ディスクユ
ニット内の論理ブロックアドレスに変換するマッピング
処理過程と、 前記マッビング処理過程で求めたディスクユニット番号
とディスクユニット内論理ブロックアドレスに基づいて
ディスクアレイ内のディスクユニットをアクセスするア
クセス過程と、を備えたことを特徴とするディスクアレ
イ装置のアドレス変換方法。 - 【請求項2】請求項1記載のディスクアレイ装置のアド
レス変換方法に於いて、 前記パラメータ設定過程は、デイスクアレイのディスク
ユニット数N、ディスクユニット1台当りに連続して格
納するデータストライプサイズD1、パリティ配置アル
ゴリズム、ディスクユニット1台当りのユーザデータ総
数n、データ格納用ディスクユニット数Nd、論理ブロ
ックからデータストライピングサイズD1への変換比率
K、パリティの格納ディスクユニットを決めるパリティ
ファクタストライプデータのグループサイズD3を設定
することを特徴とするディスクアレイ装置のアドレス変
換方法。 - 【請求項3】請求項2記載のディスクアレイ装置のアド
レス変換方法に於いて、 前記パリティ配置アルゴリズムは、RAID1の動作形
態の指定でパリティをデータ用ディスクユニットと同一
データを格納するミラーディスクユニットを配置し、R
AID3の指定でディスクユニットの論理ブロックアド
レスの変化に対し特定のディスクユニットに固定してパ
リティを格納するパリティ固定配置とし、RAID5の
動作形態の指定ではディスクユニットの論理ブロックア
ドレスの変化に対しディスクユニット位置を順次変えて
格納するパリティ巡回配置とすることを特徴とするディ
スクアレイ装置のアドレス変換方法。 - 【請求項4】請求項2記載のディスクアレイ装置のアド
レス変換方法に於いて、 前記マッピング処理過程は、 上位装置から与えられた論理ブロックアドレスA0を前
記変換比率Kを用いた調整された論理ブロックアドレス
A1に変換し、 前記調整済論理ブロックアドレスA1を前記ストライプ
データ・グループサイズD3で割った商としてターゲッ
ト・ストライプデータ・グループアドレスA2を求める
と共に該商の余りC1としてターゲット・ストライプデ
ータ・グループオフセットDF1を求め、 前記調整済論理ブロックアドレスA1を前記データスト
ライプサイズD1で割った商としてターゲット・ストラ
イプデータ位置A4を求めると共に該商の余りC2とし
てターゲット・ストライプデータ位置オフセットDF2
を求め、 最終的に前記ターゲット・ストライプデータ位置A4に
前記パリティファクタを加算してディスクユニット番号
を求めると共に、前記ターゲット・ストライプデータ・
グループアドレスA2にデータストライプサイズD1を
掛け合せた値に前記ターゲット・ストライプデータ位置
オフセットDF2を加算した値としてディスクユニット
内の論理ブロックアドレスA3を求めることを特徴する
ディスクアレイ装置のアドレス変換方法。 - 【請求項5】請求項4記載のディスクアレイ装置のアド
レス変換方法に於いて、 前記パリティファクタは、RAID1の動作形態で前記
ターゲット・ストライプデータ位置A4の値をとり、R
AID3の動作形態で0の値をとり、RAID5の動作
形態で0又は1の値をとることを特徴とするディスクア
レイ装置のアドレス変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5259597A JPH07114445A (ja) | 1993-10-18 | 1993-10-18 | ディスクアレイ装置のアドレス変換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5259597A JPH07114445A (ja) | 1993-10-18 | 1993-10-18 | ディスクアレイ装置のアドレス変換方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07114445A true JPH07114445A (ja) | 1995-05-02 |
Family
ID=17336318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5259597A Withdrawn JPH07114445A (ja) | 1993-10-18 | 1993-10-18 | ディスクアレイ装置のアドレス変換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07114445A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1011227A (ja) * | 1996-06-27 | 1998-01-16 | Nec Corp | 磁気ディスク装置 |
JP2007241588A (ja) * | 2006-03-08 | 2007-09-20 | Kyocera Mita Corp | データ転送装置及び画像形成装置 |
CN113687793A (zh) * | 2017-06-30 | 2021-11-23 | 伊姆西Ip控股有限责任公司 | 存储管理方法和系统 |
-
1993
- 1993-10-18 JP JP5259597A patent/JPH07114445A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1011227A (ja) * | 1996-06-27 | 1998-01-16 | Nec Corp | 磁気ディスク装置 |
US5889937A (en) * | 1996-06-27 | 1999-03-30 | Nec Corporation | Hard disk apparatus capable of transforming logical addresses of apparatus diagnosis cylinders to HDD-by-HDD physical addresses |
JP2007241588A (ja) * | 2006-03-08 | 2007-09-20 | Kyocera Mita Corp | データ転送装置及び画像形成装置 |
CN113687793A (zh) * | 2017-06-30 | 2021-11-23 | 伊姆西Ip控股有限责任公司 | 存储管理方法和系统 |
CN113687793B (zh) * | 2017-06-30 | 2024-03-15 | 伊姆西Ip控股有限责任公司 | 存储管理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6154854A (en) | Logical partitioning of a redundant array storage system | |
US5301297A (en) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof | |
US5799140A (en) | Disk array system and method for storing data | |
EP0732653B1 (en) | Disk array system | |
US9542101B2 (en) | System and methods for performing embedded full-stripe write operations to a data volume with data elements distributed across multiple modules | |
US5650969A (en) | Disk array system and method for storing data | |
US20050229023A1 (en) | Dual redundant data storage format and method | |
WO1992015057A1 (en) | Parity calculation in an efficient array of mass storage devices | |
US10678470B2 (en) | Computer system,control method for physical storage device,and recording medium | |
US7380157B2 (en) | Staggered writing for data storage systems | |
US6343343B1 (en) | Disk arrays using non-standard sector sizes | |
US7346733B2 (en) | Storage apparatus, system and method using a plurality of object-based storage devices | |
JPH07200187A (ja) | ディスクアレイ装置 | |
JPH07114445A (ja) | ディスクアレイ装置のアドレス変換方法 | |
JP2006178926A (ja) | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 | |
JP2743730B2 (ja) | アレイ型記憶装置システム | |
US5737741A (en) | Disk array with parity data storage on the radially inner part of each disk | |
US8380926B1 (en) | Handling sector edges | |
US6898666B1 (en) | Multiple memory system support through segment assignment | |
JP3220581B2 (ja) | アレイ形式の記憶装置システム | |
JP2733189B2 (ja) | ディスクアレイ装置の入出力制御方法 | |
KR100529278B1 (ko) | 대용량 데이터에 대한 데이터 중복 저장 시스템 | |
JP2857289B2 (ja) | ディスクアレイ装置 | |
US20230385167A1 (en) | Balanced data mirroring distribution for parallel access | |
JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001226 |