JP2001256001A - ディスクアレイ装置 - Google Patents

ディスクアレイ装置

Info

Publication number
JP2001256001A
JP2001256001A JP2000070026A JP2000070026A JP2001256001A JP 2001256001 A JP2001256001 A JP 2001256001A JP 2000070026 A JP2000070026 A JP 2000070026A JP 2000070026 A JP2000070026 A JP 2000070026A JP 2001256001 A JP2001256001 A JP 2001256001A
Authority
JP
Japan
Prior art keywords
data
processing unit
address
disk array
host
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
JP2000070026A
Other languages
English (en)
Inventor
Toshihiro Ezaki
俊裕 江崎
Yoshiari Sogo
美存 十河
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000070026A priority Critical patent/JP2001256001A/ja
Publication of JP2001256001A publication Critical patent/JP2001256001A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 Misalignが発生する書き込み要求が
あった場合、I/O処理機能が著しく低下する。 【解決手段】 Alignment判定処理部23は受
信したデータの書き込み開始位置を示す論理アドレスと
データサイズよりデータの書き込み処理がAlignm
entであるかどうかを判定する。Alignment
判定処理部23がMisalignと判定した場合、無
効データ補完処理部24はデータのデータサイズがパリ
ティ計算ブロックの整数倍でない場合は、データサイズ
がパリティ計算ブロックの整数倍になるよう無効データ
を補完し、アドレス変換/アドレス管理処理部25は論
理アドレスがパリティ計算ブロックのオフセットと一致
しない場合は、論理アドレスがオフセットと一致するよ
う論理アドレスを変換することによりAlignmen
t状態にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置を並列的に動作させてデータの読み込み、および書き
込み制御を行うディスクアレイ装置に関する。
【0002】
【従来の技術】従来の技術として、例えば、特開平9−
305328号公報に示されている技術がある。以下、
図面に基づいて従来例を説明する。
【0003】図13に従来のディスクアレイ装置のブロ
ック図を示す。
【0004】ホスト1301から見るとディスクアレイ
コントローラ1303以降のブロックはホストアダプタ
1302を介して1台のディスク装置として見える。ホ
スト1301はホストアダプタ1302を介してデータ
をディスクアレイコントローラ1303へ送信する。こ
の場合、ディスクアレイコントローラ1303は、受信
したデータを4分割し、各データをデバイスコントロー
ラ1304a〜1304dに送信すると共に、分割デー
タに対するパリティデータを生成しデバイスコントロー
ラ1304eへ送信する。デバイスコントローラ130
4a〜1304dは受信した分割データを各々データ格
納用ディスク装置1305a〜1305dに記録し、デ
バイスコントローラ24eは受信したパリティデータを
パリティデータ格納用ディスク装置25eに記録する。
【0005】このように従来のディスクアレイ装置は、
複数のディスク装置(ハードディスク装置)を使用する
ことにより、高速に大量のデータにアクセスし、ディス
ク故障時におけるデータの冗長性を実現することができ
るため、単独のディスク装置よりも高い信頼性と性能を
実現している。これは、1987年に米国のカリフォル
ニア大学バークレイ校のデビッド.A.パターソン(Dav
id.A.Patterson) 教授らが提唱したRAID(Redundan
t Arrays of Inexpensive Disks )と呼ばれるものであ
る。すなわち、RAIDはデビッド.A.パターソン教
授らの論文に由来する呼び方である。
【0006】ディスクアレイ方式RAIDは、1から5
までのレベル(以下、レベル1から順にRAID1、R
AID2、RAID3、RAID4、RAID5と記
す)に分類されており、RAID3からRAID5は、
ディスク装置の故障時にデータを回復させるためのパリ
ティデータを保持する。例えば、RAID3は、入力デ
ータを分割(ストライピング)し、インターリーブをか
けて分割したデータを複数のディスク装置に分散して格
納するものである。この場合、分割したデータに対する
エラー訂正符号を格納するディスク装置を冗長ディスク
装置とし、冗長ディスク装置のデータをパリティデータ
としたものである。
【0007】以下、RAID3におけるデータ書き込み
処理の流れを図14、図15を用いて説明する。図14
はディスクアレイコントローラ1303の詳細なブロッ
ク図であり、図15はディスクアレイコントローラ13
03の処理の流れを示すフローチャートである。
【0008】まず、書き込み処理について説明する。
【0009】コマンド処理部1402はホスト1301
からの書き込み要求を受信し(図15のステップ150
1)、ホスト1301からの要求が書き込み要求である
ことを判定し(図15のステップ1502)、データの
書き込み処理に必要な処理を行う。コマンド処理部14
02は、データの書き込み開始位置を示す論理アドレス
とデータの送信をホスト1301に要求する。ホスト1
301は、コマンド処理部1402の要求を受け取る
と、直ちに論理アドレスとデータをコマンド処理部14
02に送信する。コマンド処理部1402は、ホスト1
301より送信された書き込み要求、論理アドレス、お
よびデータをホストデータ受信/送信処理部1403を
介してAlignment判定処理部1404に送信す
る。
【0010】Alignment判定処理部1404
は、受信した論理アドレスとデータのデータサイズか
ら、データ書き込み時の処理が、以下の(1)、(2)
の条件を満たすかどうかを判定する。(図15のステッ
プ1503)。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512Byte)の整数倍であり、かつ
パリティ計算ブロック(512Byteの整数倍サイ
ズ)の整数倍である。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignmet(アラインメン
ト)境界であるオフセットと一致する。
【0011】Alignment判定処理部1404
は、上記2つの条件を満たす状態をAlignmen
t、いずれか一つでも満たさない状態をMisalig
n(ミスアライン)と定義する。Alignment判
定処理部1404は、Alignment判定を行った
後、書き込み要求、論理アドレス、データ、および判定
結果をホストデータ分割/結合処理部1405に送信す
る。
【0012】以下、Alignment判定処理部14
04以降の処理を4KB(1KB=1024Byte)
のパリティ計算ブロックに、4KBの固定長のデータを
書き込む場合を例にとって図16を用いて説明する。図
16において、パリティ計算ブロックは4KBであり、
パリティ計算ブロックは8個のデータサイズブロックで
構成され、1つのデータサイズブロックは512B(B
yte)を示している。また、矢印は書き込み開始位置
を示している。
【0013】まず、判定結果がAlignmentであ
る場合の処理を説明する。
【0014】図16の(a)にAlignmentデー
タの一例を示す。Alignment判定処理部140
4は図16の(a)のデータはデータサイズ4KB(=
512×8B)であることから条件(1)を満たし、書
き込み開始位置がパリティ計算ブロックのAlignm
ent境界であるオフセットと一致していることから条
件(2)も満たしていると判断し、Alignment
であると判定する。Alignment判定処理部14
04は判定結果、書き込み要求、論理アドレス、データ
をホストデータ分割/結合処理部1405へ送信する。
【0015】ホストデータ分割/結合処理部1405は
受信した論理アドレスと判定結果をアドレス指定処理部
1406に送信すると同時に、受信したデータを分割し
てアドレス指定処理部1406に送信する(図15のス
テップ1504)。この場合、4台のディスク装置が接
続されているので、データを4分割する。アドレス指定
処理部1406は受信した判定結果に従って論理アドレ
スのアドレス変換を行う。この場合、判定結果がAli
gnmentであることから、アドレス指定処理部14
06は受信した論理アドレスに対するアドレス変換の処
理を行わず、パリティデータに対してのみアドレスを割
り当て、受信した判定結果、書き込み要求、論理アドレ
ス、パリティデータのアドレス、データをパリティ処理
部1407へ送信する(図15のステップ1505)。
ここで、この時点ではパリティデータは存在しないが、
パリティデータサイズは固定サイズであるため、先にア
ドレスだけ割り当てている。パリティ処理部1407
は、受信した分割データよりパリティデータを作成し、
分割データ、パリティデータ、書き込み要求、論理アド
レス、パリティデータのアドレスをディスク装置130
5に送信する(図15のステップ1506)。ディスク
装置1305は、受信した分割データとパリティデータ
を指定されたアドレスに従って記録する。
【0016】次に、判定結果がMisalignである
場合の処理を説明する。この場合、連続する2つの4K
Bのデータ、データ1、データ2を順次書き込む場合を
例にとって説明する。
【0017】まず、データ1の書き込み処理を説明す
る。
【0018】図16の(b)の塗りつぶし部分にデータ
1を示す。同図に示すようにデータ1は4KBのデータ
であり、矢印に示す書き込み開始位置は[0001h]で
ある。アドレス[0001h]から4KBのデータを書き
込むと、図16の(b)に示すようにブロック[01h]
とブロック[02h]に跨って記録される。
【0019】Alignment判定処理部1404
は、データ1はデータサイズが4KBであることから条
件(1)を満たし、書き込み開始位置[0001h]が図
16の(b)の矢印位置にあることから、パリティ計算
ブロックのAlignment境界であるオフセットと
一致しないため、Alignmentの条件(2)を満
たしていないと判断する。すなわち、Alignmen
t判定処理部1404はデータ1の書き込み処理はMi
salignであると判定し、判定結果、書き込み要
求、論理アドレス[0001h]、およびデータ1をホス
トデータ分割/結合処理部1405に送信する(図15
のステップ1503)。
【0020】ホストデータ分割/結合処理部1405
は、受信した論理アドレス[0001h]、判定結果、お
よび、書き込み要求をアドレス指定処理部1406に送
信すると同時に、データ1の分割処理を実行した後、分
割データをアドレス指定処理部1406に送信する(図
15のステップ1507)。アドレス指定処理部140
6は、受信した論理アドレス[0001h]から、分割デ
ータとパリティデータを実際の記録先を示すアドレス
(実アドレス)の指定を行い、論理アドレス、実アドレ
スをアドレス管理テーブルに保有する(図15のステッ
プ1508)。(表1)にアドレス指定処理部1406
が保有するアドレス管理テーブルを示す。
【0021】
【表1】
【0022】(表1)に示すように、アドレス管理テー
ブルはデータをホスト1301から送信された論理アド
レスと実際にディスクに書き込むブロック番号を示す実
アドレスで構成されている。(表1)に示すように、デ
ータ1の論理アドレスは[00001h]、実アドレス、
すなわちブロック番号は[01h]である。
【0023】アドレス指定処理部1406は、書き込み
要求、実アドレス[01h]、分割データ、判定結果をパ
リティ処理部1407に送信する。パリティ処理部14
07は、分割データよりパリティデータを作成し、分割
データ、パリティデータ、書き込み要求、および実アド
レス[01h]をディスク装置1305に送信する(図1
5のステップ1509、ステップ1510)。この場
合、データ1は最初の書き込みであり、書き込み対象の
パリティ計算ブロックにおいてパリティデータは存在し
ないため、分割データのみでパリティデータを生成す
る。ディスク装置1305は、受信した書き込み要求、
実アドレスに従って、分割データとパリティデータを記
録する。
【0024】次にデータ2の書き込み処理について説明
する。
【0025】図16の(c)の斜線部にデータ2を示
す。図16の(c)に示すように、データ2は4KBの
データであり、書き込み開始位置アドレスを示す論理ア
ドレスは矢印が示す[0009h]であり、ブロック[0
2h]とブロック[03h]に跨って記録される。
【0026】Alignment判定処理部1404
は、データ2はデータサイズが4KBであることから条
件(1)を満たし、図6の(c)に示す書き込み開始位
置[0009h]がパリティ計算ブロックのAlignm
ent境界であるオフセットと一致しないため、Ali
gnmentの条件(2)を満たしていなと判断する。
従って、Alignment判定処理部1404はMi
salignであると判定し、判定結果、書き込み要
求、論理アドレス[0009h]、および、データ2をホ
ストデータ分割/結合処理部1405に送信する(図1
5のステップ1503)。
【0027】ホストデータ分割/結合処理部1405
は、受信した論理アドレス[0009h]、判定結果、お
よび書き込み要求をアドレス指定処理部1406に送信
すると同時に、データ2の分割処理を実行した後に、分
割データをアドレス指定処理部1406に送信する(図
5のステップ1507)。アドレス指定処理部1406
は、保有する(表1)に示すアドレス管理テーブルとデ
ータ2の論理アドレス[0009h]から、分割データと
パリティデータの実アドレス指定を行い、アドレス情報
をアドレス管理テーブルに格納する(図5のステップ1
508)。(表2)にアドレス指定処理部1406が更
新したアドレス管理テーブルを示す。
【0028】
【表2】
【0029】(表2)に示すように、データ1のアドレ
ス情報の次に、データ2のアドレス情報である、論理ア
ドレス[0009h]と、データ2の書き込み開始位置が
あるブロックのブロック番号[02h]が実アドレスとし
て格納されている。
【0030】アドレス指定処理部1406は、判定結
果、実アドレス[02h]、書き込み要求、及び分割デー
タをパリティ処理部1407に送信する。パリティ処理
部1407は、受信した分割データ、判定結果、および
実アドレス[02h]より、データ2のパリティデータを
計算する。まず、図6の(b)のパリティ計算ブロック
[0001h]に記録されているデータ1の一部であるデ
ータAとパリティ計算ブロック[02h]のパリティデー
タの読み出しを行う(図5のステップ1509)。次
に、パリティ処理部1407は、読み出したデータAと
パリティ計算ブロック[02h]に格納されるデータ2の
分割データよりパリティデータを作成する(図5のステ
ップ1510)。パリティ処理部1407は、データ
A、パリティ計算ブロック[02h]に格納されるデータ
2の分割データ、新たに生成されたパリティデータ、お
よび、実アドレス[02h]を、ディスク装置1305に
送信する。ディスク装置1305は、受信した実アドレ
スに従って、受信したデータ2の分割データ、データ
A、および、パリティデータを記録する。
【0031】また、パリティ処理部1407はパリティ
計算ブロック[03h]に記録されるデータ2の残りの分
割データとデータが格納されていない7データサイズブ
ロックに存在するデータに対してパリティデータを生成
し、書き込み要求、データ2の残りの分割データ、生成
されたパリティデータ、実アドレス[03h]をディスク
装置1305に送信する。ディスク装置1305は受信
したデータ2、パリティデータを実アドレスに従って記
録する。
【0032】この様に、従来のディスクアレイ装置で
は、データの書き込み処理がMisalign、かつ、
データを書き込むパリティ計算ブロックに既に記録され
ているデータがある場合は、そのデータとデータに対す
るパリティデータの読み出しを行ってから、再度パリテ
ィデータの生成を行っている。
【0033】
【本発明が解決しようとする課題】しかしながら、上記
の従来のディスクアレイ装置は、I/O処理がAlig
nmentの時に最高の性能を発揮するディスクアレイ
装置に対して、固定データサイズのデータの連続I/O
処理を行う際に、固定データサイズがパリティ計算ブロ
ックサイズの整数倍ではない場合や、データの書き込み
開始位置を示すアドレスがパリティ計算ブロックのオフ
セットと一致しない場合にMisalignが発生する
ため、パリティデータ生成時にAlignmentの時
にはないデータの読み出し処理が必要となり、I/O処
理性能が著しく低下するという問題が生じる。
【0034】本発明は、上記従来の問題点を解決するも
ので、Misalignが発生するI/O処理に対し
て、後続のI/O処理がAlignmentで行えるよ
うにするディスクアレイ装置を提供する。
【0035】
【課題を解決するための手段】この目的を達成するため
に本発明のディスクアレイ装置は、Misalignが
発生する書き込み要求があった場合、後続のデータの書
き込みがAlignmentになるようデータの補完や
アドレス変換を行うAlignment処理機能を有し
ている。
【0036】この構成によって、本発明のディスクアレ
イ装置は、Misalignが発生する書き込み要求が
あった場合、後続のデータの書き込みをAlignme
ntで行うことができる。
【0037】
【実施の形態】本発明の第1の発明は、あらかじめ定め
られたデータサイズを処理単位として、ホストからの要
求に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信した書き込み開始位置を前記処
理単位のアラインメント境界と一致するよう変換し、変
換情報を記憶して管理するアラインメント処理手段を有
するディスクアレイ装置、書き込み開始位置をパリティ
計算ブロックのアラインメント境界に一致させることに
より、後続のデータのI/O処理をアラインメントで行
うことができる。
【0038】本発明の第2の発明は、あらかじめ定めら
れたデータサイズを処理単位として、ホストからの要求
に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信したデータのデータサイズが前
記処理単位のデータサイズの整数倍になるように前記デ
ータと独立した無効データを付加するアラインメント処
理手段を有するディスクアレイ装置であって、データサ
イズをパリティ計算ブロックの整数倍にすることによっ
て、後続のデータのI/O処理をアラインメントで行う
ことができる。
【0039】本発明の第3の発明は、あらかじめ定めら
れたデータサイズを処理単位として、ホストからの要求
に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信した書き込み開始開始位置を前
記処理単位のアラインメント境界と一致するようあらか
じめ定められたシフト値だけシフトするアラインメント
処理手段を有するディスクアレイ装置であって、シフト
値を誤り訂正用のパリティ計算ブロックのアラインメン
ト境界に一致させる値に設定することにより、後続のデ
ータのI/O処理をアラインメントで行うことができ
る。
【0040】以下に、本発明によるディスクアレイ装置
について、添付図面を参照しながら説明する。
【0041】(実施の形態1)実施の形態1では、Al
ignment処理機能をディスクアレイコントローラ
の外部に持たせ、Misalignが発生する書き込み
要求をAlignmentの書き込み要求にする場合に
ついて説明する。
【0042】図1は、本発明の一実施の形態のディスク
アレイ装置の構成を示すブロック図である。
【0043】図1において、11はI/O処理を指示す
るホスト、12はホスト11と接続する装置を制御する
ホストアダプタ、13はホストアダプタ12より入力さ
れるデータにAlignment(アラインメント)処
理を行うAlignment処理部、14は書き込み時
にはAlignment処理部13より入力されたデー
タを分割し、分割したデータのパリティデータを生成
し、読み込み時にはデータのパリティチェックと分割デ
ータを統合して1つのデータとするディスクアレイコン
トローラ、15a〜15eはディスクアレイコントロー
ラ14より入力されたデータのI/O処理を制御するデ
バイスコントローラ、16a〜16eはそれぞれデバイ
スコントローラ15a〜15eの制御に従ってデータの
I/O処理を行うディスク装置である。
【0044】以上のように構成されたディスクアレイ装
置について、図面を参照しながら説明する。
【0045】ホスト11は、ホストアダプタ12経由
で、書き込み要求とデータの書き込み開始位置(以下、
論理アドレスと記す)、およびデータをAlignme
nt判定処理部13に送信する。Alignment判
定処理部13は、ホスト11からの書き込み要求を受信
し、受信したデータの論理アドレスとデータから、デー
タの書き込み処理がAlignmentであるかどうか
の判定を行う。
【0046】以下、Alignment処理部13の詳
細な動作を図2、図3を用いて説明する。図2はAli
gnment処理部13の詳細な構成を示すブロック
図、図3はAlignment処理部13の処理を示す
フローチャートである。
【0047】図2において、21はホスト11から受信
したコマンドを処理するコマンド処理部、22はコマン
ド処理部21から出力されたデータを受信し、受信した
データをデータの書き込み処理に対してAlignme
nt判定を行うAlignment判定処理部23へ送
信するホストデータ受信/送信処理部、24はAlig
nment判定処理部23より出力された判定結果に応
じて、Alignment判定処理部23より出力され
た無効データを補完する無効データ補完処理部、25は
Alignment判定処理部23より出力された判定
結果に応じて無効データ補完処理部24より出力された
データの論理アドレスを実アドレスへ変換すると共に、
双方のアドレスの管理を行うアドレス変換/アドレス管
理処理部である。
【0048】コマンド処理部21は、ホスト11から送
信されてきたアクセス要求が、書き込み処理であるか読
み込み処理であるかの判定を行う。書き込み処理の場合
は、手順通り残りの4つの処理ブロックでそれぞれの処
理が行われ、読み込み処理の場合4つの処理ブロックで
は処理は行われず、ディスクアレイコントローラ14に
ホスト11より受信したデータが送信される。(図3の
ステップ301〜ステップ302)。
【0049】以下、ホスト11からの要求が書き込み処
理要求である場合を説明する。
【0050】コマンド処理部21はホスト11より入力
された書き込み要求、論理アドレス、およびデータをホ
ストデータ受信/送信処理部22を介してAlignm
ent判定処理部23に送信する。
【0051】Alignment判定処理部23は、受
信したデータを無効データ補完処理部24に送信すると
同時に、受信した論理アドレスとデータのデータサイズ
よりデータの書き込み処理がAlignmentである
か否かの判定を行い、判定結果を無効データ補完処理部
24に送信する(図3のステップ303)。
【0052】ここで、Alignmentとは、以下の
(1)(2)の条件を満たす状態を指す。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512B)の整数倍であり、かつパリテ
ィ計算ブロック(512Bの整数倍サイズ)の整数倍で
ある。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignment境界であるオ
フセットと一致する。
【0053】また、2つの条件のいずれか一つでも満た
さない状態をMisalign(ミスアライン)と定義
する。
【0054】Alignment判定処理部23の判定
結果として、Alignmentであると判定された場
合は、残り2つの処理ブロックでは処理が施されず、受
信したデータはそのままディスクアレイコントローラ1
4へ送信される。Misalignと判定された場合
は、Misalignの状態に応じて、残りの2つの処
理ブロックで処理が施される。
【0055】無効データ補完処理部24は、Align
ment判定処理部23から送信されてきた判定結果よ
り、データが条件(1)を満たしている場合は、直ち
に、書き込み要求、データ、論理アドレス、および判定
結果を、アドレス変換/アドレス管理処理部25に送信
する。また、データが条件(1)を満たしていない場
合、すなわち、Misalign状態の場合、無効デー
タ補完処理部24は、データに無効データを補完して、
パリティ計算ブロックの整数倍になるように処理し、ア
クセス要求、無効データが追加された新たなデータ、論
理アドレス、および判定結果をアドレス変換/アドレス
管理処理部25に送信する(図3のステップ304〜ス
テップ305)。
【0056】アドレス変換/アドレス管理処理部25
は、受信した判定結果より、受信したデータが条件
(2)を満たしている場合、直ちに、書き込み要求、デ
ータ、論理アドレス、およびデータをディスクアレイコ
ントローラ14に送信すると同時に、論理アドレスよ
り、保有していたアドレス管理テーブルの更新を行う。
条件(2)を満たしていない場合、データの書き込み開
始位置を書き込もうとしていたパリティ計算ブロックの
次のパリティ計算ブロックのオフセットに変更する実ア
ドレスの割り当てを行う。また、アドレス変換/アドレ
ス管理処理部25は、論理アドレスと仮想アドレスの対
応を示すアドレス情報を管理しているアドレス管理テー
ブルを保有している(図3のステップ306〜ステップ
309)。
【0057】以下、Misalign状態の3つの場合
におけるAlignment判定処理部23、無効デー
タ補完処理部24、アドレス変換/アドレス管理処理部
25の処理を詳細に説明する。
【0058】まず、条件(1)のみを満たさないMis
algin状態の場合について説明する。
【0059】この場合のデータの一例を図4の(a)の
塗りつぶし部分に示す。図4において、処理単位となる
パリティ計算ブロックサイズは4KB、パリティ計算ブ
ロックにおける個々のデータブロックサイズは512B
である。図4の(a)のデータは、論理アドレス[00
00h]、データサイズが6KBのデータである。
【0060】Alignment判定処理部23は、受
信したデータを直ちに無効データ補完処理部24に送信
すると同時に、受信した論理アドレスとデータサイズよ
り、データの書き込み処理がAlignmentである
かどうかを判定する。Alignment判定処理部2
3は、論理アドレス[0000h]はパリティ計算ブロッ
クのオフセット値を示すブロック番号[00h]と一致し
ているが、データサイズ6KBはパリティ計算ブロック
サイズの4KBの倍数ではないことから、条件(1)の
みを満たさないMisalignという判定結果Aを、
無効データ補完処理部24に送信する。
【0061】無効データ補完処理部24は、Align
ment判定処理部23から送信されてきた判定結果A
より、条件(1)を満たさないMisalignである
と判断し、図4の(a)に示す6KBのデータがパリテ
ィ計算ブロック4KBの最小公倍数の8KBになるよう
に2KBの無効データを補完し、書き込み要求、無効デ
ータが追加された8KBのデータ、論理アドレス[00
00h]、そして判定結果Aをアドレス変換/アドレス
管理処理部24に送信する。図4(b)に無効データを
追加された8KBのデータを示す。同図に示すように、
図4の(b)のデータは図4の(a)のデータに斜線部
に示す2KBの無効データを補完することで、パリティ
計算ブロックの整数倍(2倍)のデータとなっている。
【0062】アドレス変換/アドレス管理処理部25
は、受信した判定結果Aより、条件(2)を満たしてい
ると判断し、直ちに、書き込み要求、8KBのデータ、
論理アドレス[0000h]をディスクアレイコントロー
ラ14に送信すると同時に、論理アドレス[0000h]
より、実アドレスの割り当てを行い、保有していたアド
レス管理テーブルの更新を行う。(表3)にアドレス変
換/アドレス管理処理部25が保有するアドレス管理テ
ーブルを示す。
【0063】
【表3】
【0064】(表3)に示すように、アドレス管理テー
ブルはデータの論理アドレスと実アドレスの対応した形
で構成される。(表3)に示すように、判定結果Aより
受信したデータは条件(2)を満たしているので、論理
アドレス[0000h]と実アドレス[00h]は一致して
いる。
【0065】次に、条件(2)のみを満たさないMis
alignの場合について説明する。
【0066】この場合のデータの一例を図5の(a)の
塗りつぶし部分に示す。図5において処理単位となるパ
リティ計算ブロックサイズは4KB、パリティ計算ブロ
ックにおける個々のデータブロックサイズは512Bで
ある。図5の(a)のデータは、データサイズが4K
B、論理アドレスが[0001h]のデータである。
【0067】Alignment判定処理部23は受信
したデータを直ちに、無効データ補完処理部24に送信
すると同じに、受信した論理アドレスとデータのデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する。Alignment判定
処理部23は、データサイズ4KBはパリティ計算ブロ
ックサイズが4KBの整数倍であるが、論理アドレス
[0001h]とパリティ計算ブロックのオフセット値を
示すブロック番号[00h]とが一致していないことか
ら、条件(2)のみを満たさないMisalign状態
という判定結果Bを、無効データ補完処理部24に送信
する。
【0068】無効データ補完処理部24は、Align
ment判定処理部23から送信された判定結果Bよ
り、受信したデータは条件(1)を満たしているため補
完処理をする必要がないと判断し、送信されてきた書き
込み要求、データ、論理アドレス[0001h]、および
判定結果Bをアドレス変換/アドレス管理処理部24に
送信する。
【0069】アドレス変換/アドレス管理処理部25
は、受信した判定結果Bより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部25は、受信したデータの論理アドレス
[0001h] を、書き込みを行おうとしていたパリテ
ィ計算ブロック[00h]の次のパリティ計算ブロックの
オフセット値を示すブロック番号[01h]にシフトさせ
る為に、論理アドレス[0001h]に対して、7データ
サイズブロックだけシフトした実アドレス[0008h]
の割り当てを行い、その変換情報をアドレス管理テーブ
ルに保有する。
【0070】(表4)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
【0071】
【表4】
【0072】(表4)に示すように、データ1の論理ア
ドレス[0001h]に対応する実アドレスとして[00
08h]が割り当てられているという変換情報が記述さ
れている。
【0073】アドレス変換/アドレス管理処理部25は
アドレス管理テーブルの更新完了後、書き込み要求、デ
ータ、実アドレス[0008h]の情報をディスクアレイ
コントローラ14に送信する。
【0074】最後に、条件(1)、(2)を満たさない
Misalgin状態の場合について説明する。
【0075】この場合のデータの一例を図6の(a)の
塗りつぶし部分に示す。図6において、処理単位となる
パリティ計算ブロックサイズは4KB、処理単位となる
パリティ計算ブロックにおける個々のブロックサイズは
512Bである。図6の(a)のデータは、論理アドレ
ス[0001h]、データサイズが6KBのデータであ
る。
【0076】Alignment判定処理部23は受信
したデータを直ちに、無効データ補完処理部24に送信
すると同時に、受信した論理アドレス[0001h]とデ
ータのデータサイズより、データの書き込み処理がAl
ignmentであるかどうかを判定する。Align
ment判定処理部23は、データサイズ6KBがパリ
ティ計算ブロックサイズの4KBの倍数ではなく、論理
アドレス[0001h]とパリティ計算ブロックのオフセ
ット値を示すブロック番号[00h]と一致していないこ
とから、条件(1)、(2)を満たさないMisali
gnであるという判定結果Cを無効データ補完処理部2
4に送信する。
【0077】無効データ補完処理部24は、Align
ment判定処理部23から送信されてきた判定結果C
より、条件(1)を満たさないMisalign状態で
あると判断し、図6の(a)に示す6KBのデータがパ
リティ計算ブロック4KBとの最小公倍数8KBになる
ように2KBの無効データを補完し、書き込み要求、無
効データが追加された新たな8KBデータ、論理アドレ
ス[0001h]、および判定結果Cをアドレス変換/ア
ドレス管理処理部25に送信する。図6の(b)に無効
データを追加された8KBのデータを示す。同図に示す
ように、図6の(b)のデータは図6の(a)のデータ
に斜線部に示す2KBの無効データを補完することで、
パリティ計算ブロックの整数倍(2倍)のデータとなっ
ている。
【0078】アドレス変換/アドレス管理処理部25
は、受信した判定結果Cより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部25は、受信したデータの論理アドレス
[0001h]を、書き込みを行おうとしていたパリティ
計算ブロック[00h]の次のパリティ計算ブロックのオ
フセット値を示すブロック番号[01h]にシフトさせる
為に、論理アドレス[0001h]に対して、7データサ
イズブロックだけシフトした実アドレス[0008h]の
割り当てを行い、その変換情報をアドレス管理テーブル
に保有する。
【0079】(表5)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
【0080】
【表5】
【0081】(表5)に示すように、論理アドレス[0
001h]に対して実アドレスとして[0008h]が割
り当てられているという変換情報が記述されている。
【0082】アドレス変換/アドレス管理処理部25は
アドレス管理テーブルの更新完了後、書き込み要求、8
KBのデータ、実アドレス[0008h]の情報をディス
クアレイコントローラ14に送信する。
【0083】ディスクアレイコントローラ14は、受信
したデータを分割し、分割したデータよりパリティデー
タを生成し、実アドレスと分割データ、パリティデー
タ、および書き込み要求をデバイスコントローラ15a
〜15eに送る。この場合、4つのディスク装置が接続
されているのでディスクアレイコントローラはデータを
4分割する。デバイスコントローラ15a〜15dは受
信した実アドレスに従って、分割データをディスク装置
16a〜16dに記録させ、デバイスコントローラ15
eはパリティデータをディスク装置16eに記録させ
る。
【0084】以下、読み込み処理の場合について説明す
る。
【0085】ディスクアレイコントローラ14はホスト
アダプタ12、Alignment判定処理部13を介
して送信されたホスト11の読み込み要求と論理アドレ
を受信し、受信した論理アドレスをアドレス変換/アド
レス管理処理部25が保有しているアドレス管理テーブ
ルを参照して実アドレスに変換する。(図3のステップ
310)。
【0086】(表3)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
ディスクアレイコントローラ14は(表3)のアドレス
管理テーブルより論理アドレス[0001h]に対応する
実アドレス[0008h]を得、読み込み要求、実アドレ
ス[0008h]をデバイスコントローラ15a〜15e
に送信し、デバイスコントローラ15a〜15eは受信
した実アドレスに従ってディスク装置16a〜16eに
記録されている分割データ、パリティデータを読み出
し、ディスクアレイコントローラ14に送信する。ディ
スクアレイコントローラ14は受信したパリティデータ
でパリティチェックを行い、分割データを結合して、A
lignment判定処理部13、ホストアダプタ12
を介してホスト11に読み出したデータを送信する。
【0087】(実施の形態2)実施の形態2では、Al
ignment処理機能をディスクアレイコントローラ
内部に持たせ、Misalignが発生した書き込み要
求をAlignmentの書き込み要求にする場合につ
いて説明する。
【0088】図7は、本発明の第2の発明の一実施の形
態のディスクアレイ装置の構成を示すブロック図であ
る。
【0089】図7において、71はI/O処理を指示す
るホスト、72はホスト71と接続する装置を制御する
ホストアダプタ、73は書き込み時にはホストアダプタ
72より入力されるデータにAlignment処理を
行った後、データを分割し、分割したデータのパリティ
データを生成し、読み込み時にはパリティチェックを行
った後分割データを結合するディスクアレイコントロー
ラ、74a〜74eはディスクアレイコントローラ73
より入力されたデータのI/O処理を制御するデバイス
コントローラ、75a〜75eはそれぞれデバイスコン
トローラ74a〜74eの制御に従ってデータのI/O
処理を行うディスク装置である。
【0090】以上のように構成されたディスクアレイ装
置について、図面を参照しながら説明する。
【0091】ホスト71は、ホストアダプタ72経由
で、書き込み要求とデータの論理アドレス、およびデー
タをディスクアレイコントローラ73に送信する。ディ
スクアレイコントローラ73は受信したデータにAli
gnment処理、分割処理などを行う。
【0092】以下、ディスクアレイコントローラ73の
処理を図8、図9を用いて詳細に説明する。図8はディ
スクアレイコントローラ73の詳細なブロック図、図9
はディスクアレイコントローラ73の処理を示すフロー
チャートである。
【0093】図8において、81はホスト71から受信
したコマンドを処理するコマンド処理部、82はコマン
ド処理部81から出力されたデータを受信し、データの
書き込み処理に対してAlignment判定を行うA
lignment判定処理部83へ送信するホストデー
タ受信/送信処理部、84はAlignment判定処
理部83より出力されたデータを分割するホストデータ
分割/結合処理部、85はAlignment判定処理
部83より出力された判定結果に応じて分割データに無
効データを補完する無効データ補完処理部、86はAl
ignment判定処理部83より出力された判定結果
に応じて無効データ補完処理部85より出力されたデー
タの論理アドレスを実アドレスへ変換し、双方のアドレ
スの管理を行うアドレス変換/アドレス管理処理部、8
7はアドレス変換/管理処理部86より出力されたデー
タにパリティデータを生成するパリティ処理部である。
【0094】以下、書き込み処理の場合を説明する。
【0095】コマンド処理部81は、ホスト71から送
信されてきたアクセス要求が書き込み処理であるか読み
込み処理であるかの判定を行い、判定結果およびホスト
71から受信したデータをホストデータ受信/送信処理
部82を介してAlignment判定処理部83に送
信する(図9のステップ901〜ステップ902)。
【0096】Alignment判定処理部83は、受
信した論理アドレスとデータのデータサイズからデータ
の書き込み処理がAlignmentであるか否かの判
定を行い、判定結果を受信したデータと共にホストデー
タ分割/結合処理部84へ送信する(図9のステップ9
03)。
【0097】ここで、Alignment状態とは、以
下の(1)(2)の条件を満たす場合を指す。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512B)の整数倍であり、かつパリテ
ィ計算ブロック(512Bの整数倍サイズ)の整数倍で
ある。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignment境界であるオ
フセットと一致する。
【0098】また、2つの条件のいずれか一つでも満た
さない状態をMisalignと定義する。
【0099】Alignment判定処理部83は受信
したデータの書き込み処理がAlignmentである
と判定した場合、受信したデータと判定結果をホストデ
ータ分割/統合処理部84に送信する。
【0100】ホストデータ分割/結合処理部84は、受
信したデータをパリティ計算ブロック単位に分割処理を
施した後(図9のステップ904)、無効データ補完処
理部85に判定結果と分割データを送信する。無効デー
タ補完処理部85は受信した判定結果よりデータが条件
(1)を満たしていると判断し、受信したデータをその
ままアドレス変換/変換処理部86に送信する(図9の
ステップ905)。アドレス変換/管理処理部86は、
受信した判定結果よりデータが条件(2)を満たしてい
ると判定し(図9のステップ907)、受信したデータ
をパリティ処理部87に送信する(図9のステップ90
9)。判定結果がAlignmentである場合、図9
のステップ909に示すアドレス変換は行なわれない。
パリティ処理部87は受信したデータよりパリティデー
タを生成し(図9のステップ910)、書き込み要求、
分割データ、パリティデータ、論理アドレスをデバイス
コントローラ74a〜74eへ送信する。
【0101】以下、Misalign状態の3つの場合
における各処理部の処理を詳細に説明する。
【0102】まず、条件(1)のみを満たさないMis
algin状態の場合について説明する。
【0103】この場合のデータの一例を図10の(a)
の塗りつぶし部分に示す。図10において、処理単位と
なるパリティ計算ブロックサイズは4KB、パリティ計
算ブロックにおける個々のブロックサイズは512Bで
ある。図10の(a)のデータは、論理アドレス[00
00h]、データサイズが6KBのデータである。
【0104】Alignment判定処理部83は受信
した論理アドレスとデータサイズよりデータの書き込み
処理がAlignmentであるかどうかを判定する
(図9のステップ903)。Alignment判定処
理83は、論理アドレス[0000h]はパリティ計算ブ
ロックのオフセット値を示すブロック番号[00h]と一
致しているが、データサイズ6KBはパリティ計算ブロ
ックサイズの4KBの倍数ではないことから、条件
(1)のみ満たさないMisalignという判定結果
Aと共にデータ、論理アドレス、書き込み要求をホスト
データ分割/結合処理部84に送信する。
【0105】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス、そして分割データを送信する
(図9のステップ904)。この場合、データ用のディ
スク装置は4つ用意されているので、ホストデータ分割
/結合処理部84はデータを4分割する。
【0106】無効データ補完処理部85は、ホストデー
タ分割/結合処理84から送信されてきた判定結果Aよ
り、条件(1)を満たさないMisalignであると
判断し、図10の(a)に示す6KBのデータがパリテ
ィ計算ブロックの最小公倍数になるようになるように2
KBの無効データを補完し、書き込み要求、無効データ
が追加された8KBのデータ、論理アドレス[0000
h]、そして判定結果Aをアドレス変換/アドレス管理
処理部86に送信する(図9のステップ905、90
6)。図10の(b)に無効データを追加された8KB
のデータを示す。同図に示すように、図10の(b)の
データは図10の(a)のデータに斜線部に示す2KB
の無効データを補完することで、パリティ計算ブロック
の整数倍(2倍)のデータとなっている。
【0107】アドレス変換/アドレス管理処理部86
は、受信した判定結果Aより、条件(2)を満たしてい
ると判断し、直ちに、書き込み要求、無効データを補完
した分割データ、論理アドレス[0000h]をパリティ
処理部87に送信すると同時に、論理アドレス[000
0h]より、実アドレスの割り当てを行い、保有してい
たアドレス管理テーブルの更新を行う(図9のステップ
907、ステップ909)。(表4)にアドレス変換/
アドレス管理処理部86が保有するアドレス管理テーブ
ルを示す。
【0108】
【表6】
【0109】(表6)に示すように、アドレス管理テー
ブルはデータの論理アドレスと実アドレスの対応した形
で構成される。この場合、判定結果Aより受信したデー
タは条件(2)を満たしているので、論理アドレスと実
アドレスは一致している。
【0110】アドレス変換/アドレス管理処理部86は
アドレス管理テーブルの更新完了後、書き込み要求、分
割データ、実アドレス[0000h]の情報をパリティ処
理部87に送信する。
【0111】パリティ処理部87は受信したデータより
パリティデータを生成し、書き込み要求、データ、パリ
ティデータ、および実アドレスをデバイスコントローラ
74a〜74eに送信する(図9のステップ910)。
【0112】次に、条件(2)のみを満たさないMis
alignの場合について説明する。
【0113】この場合のデータの一例を図11の(a)
の塗りつぶし部分に示す。図11において1ブロックは
512Bのデータサイズブロックを示し、図11の
(a)のデータは、処理単位となるデータサイズが4K
B、論理アドレスが[0001h]のデータである。
【0114】Alignment判定処理部83は受信
したデータを直ちに、ホストデータ分割/結合処理部8
4に送信すると同じに、受信した論理アドレスとデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する(図9のステップ90
3)。Alignment判定処理部83は、データサ
イズ4KBはパリティ計算ブロックサイズが4KBの整
数倍であるが、論理アドレス[0001h]とパリティ計
算ブロックのオフセット値を示すブロック番号[00h]
とが一致していないことから、条件(2)のみを満たさ
ないMisalign状態という判定結果Bを、ホスト
データ分割/結合処理部84に送信する。
【0115】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス[0001h]、そして分割デー
タを送信する(図9のステップ904)。この場合、デ
ータ用のディスク装置は4つ用意されているので、ホス
トデータ分割/結合処理部84はデータを4分割する。
【0116】無効データ補完処理部85は、ホストデー
タ分割/結合処理部84から送信されてきた判定結果B
より、受信したデータは条件(1)を満たしているため
補完処理をする必要がないと判断し、書き込み要求、デ
ータ、論理アドレス[0001h]、および判定結果Bを
アドレス変換/アドレス管理処理部86に送信する(図
9のステップ905)。
【0117】アドレス変換/アドレス管理処理部86
は、受信した判定結果Bより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部86は、受信したデータの論理アドレス
[0001h] を、書き込みを行おうとしていたパリテ
ィ計算ブロック[00h]の次のパリティ計算ブロックの
オフセット値を示すブロック番号[01h]にシフトさせ
る為に、論理アドレス[0001h]に対して、7データ
サイズブロックだけシフトした実アドレス[0008h]
の割り当てを行い、その変換情報をアドレス管理テーブ
ルに保有する(図9のステップ907〜ステップ90
9)。
【0118】(表7)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
【0119】
【表7】
【0120】(表7)に示すように、データの論理アド
レス[0001h]に対応する実アドレスとして[000
8h]が割り当てられているという変換情報が記述され
る。アドレス変換/アドレス管理処理部86はアドレス
管理テーブルの更新完了後、書き込み要求、分割デー
タ、実アドレス[0008h]の情報をパリティ処理部8
7に送信する。
【0121】パリティ処理部87は受信したデータより
パリティデータを生成し、書き込み要求、データ、パリ
ティデータ、および実アドレスをデバイスコントローラ
74a〜74eに送信する(図9のステップ910)。
【0122】最後に、条件(1)、(2)を満たさない
Misalgin状態の場合について説明する。
【0123】この場合のデータの一例を図12の(a)
の塗りつぶし部分に示す。図12において、処理単位と
なるパリティ計算ブロックサイズは4KB、パリティ計
算ブロックにおける個々のブロックサイズは512Bで
ある。図12の(a)のデータは、論理アドレス[00
01h]、データサイズが4KBのデータである。
【0124】Alignment判定処理部83は受信
したデータを直ちに、ホストデータ分割/結合処理部8
4に送信すると同じに、受信した論理アドレスとデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する(図9のステップ90
3)。Alignment判定処理部83は、データサ
イズがパリティ計算ブロックサイズの4KBの倍数では
なく、論理アドレス[0001h]とパリティ計算ブロッ
クのオフセット値を示すブロック番号[00h]と一致し
ていないことから、条件(1)、(2)を満たさないM
isalignであるという判定結果Cをホストデータ
分割/結合処理部84に送信する。
【0125】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス[0001h]、および分割デー
タを送信する(図9のステップ904)。この場合、デ
ータ用のディスク装置は4つ用意されているので、ホス
トデータ分割/結合処理部84はデータを4分割する。
【0126】無効データ補完処理部85は、ホストデー
タ分割/結合処理部84から送信されてきた判定結果C
より、条件(1)を満たさないMisalign状態で
あると判断し、図12の(a)に示す6KBのデータが
パリティ計算ブロックの最小公倍数になるようになるよ
うに2KBの無効データを補完し、無効データである事
を示す処理を施した後に、書き込み要求、無効データが
追加された分割データ、論理アドレス[0001h]、お
よび判定結果Cをアドレス変換/アドレス管理処理部8
6に送信する(図9のステップ905、ステップ90
6)。図12の(b)に無効データを追加された8KB
のデータを示す。同図に示すように、図12の(b)の
データは図6の(a)のデータデータに斜線部に示す無
効データを補完することで、パリティ計算ブロックの整
数倍(2倍)のデータとなっている。
【0127】アドレス変換/アドレス管理処理部86
は、受信した判定結果Cより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う(図9のステップ90
7、ステップ908)。アドレス変換/アドレス管理処
理部86は、受信したデータの論理アドレス[0001
h]を、書き込みを行おうとしていたパリティ計算ブロ
ック[00h]の次のパリティ計算ブロックのオフセット
値を示すブロック番号[01h]にシフトさせる為に、論
理アドレス[0001h]に対して、7データサイズブロ
ックだけシフトした仮想アドレス[0008h]の割り当
てを行い、その変換情報をアドレス管理テーブルに保有
する(図9のステップ909)。
【0128】(表8)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
【0129】
【表8】
【0130】(表8)に示すように、データの論理アド
レス[0001h]に対して実アドレスとして[0008
h]が割り当てられている変換情報が記述される。アド
レス変換/アドレス管理処理部86はアドレス管理テー
ブルの更新完了後、書き込み要求、分割データ、実アド
レス[0008h]の情報をパリティ処理部87に送信す
る。
【0131】パリティ処理部87は受信した分割データ
よりパリティデータを生成し、書き込み要求、分割デー
タ、パリティデータ、および実アドレスをデバイスコン
トローラ74a〜74eに送信する(図9のステップ9
10)。
【0132】デバイスコントローラ74a〜74dは受
信した実アドレスに従って、分割データをディスク装置
74a〜74dに記録させ、デバイスコントローラ74
eはパリティデータをディスク装置74eに記録させ
る。
【0133】以下、読み込み処理の場合について説明す
る。
【0134】ディスクアレイコントローラ73はホスト
アダプタ72を介して送信されたホスト71の読み込み
要求と論理アドレを受信し、受信した論理アドレスをア
ドレス変換/アドレス管理処理部86が保有しているア
ドレス管理テーブルを参照して実アドレスに変換する。
(図9のステップ911)。
【0135】(表8)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
ディスクアレイコントローラ73は(表8)のアドレス
管理テーブルより論理アドレス[0001h]に対応する
実アドレス[0008h]を得、読み込み要求、実アドレ
ス[0008h]をデバイスコントローラ74a〜74e
に送信し、デバイスコントローラ74a〜74eは受信
した実アドレスに従ってディスク装置75a〜75eに
記録されている分割データ、パリティデータを読み出
し、ディスクアレイコントローラ73に送信する。ディ
スクアレイコントローラ73は受信したパリティデータ
でパリティチェックを行い、分割データを結合して、ホ
ストアダプタ72を介してホスト71に読み出したデー
タを送信する。
【0136】なお、本発明において、条件(1)を満た
さないMisalignである場合に、無効データを補
完せずに、アドレス変換/アドレス管理部で次のデータ
の書き込み開始位置を、前回書き込まれたデータの最終
パリティ計算ブロックの次のパリティ計算ブロックのオ
フセットに一致させることにより、動作的には、常にA
lignment状態と同じ様な処理(擬似Align
ment)が実現できる。
【0137】また、本発明において、条件(1)と
(2)の双方を満たさないMisalignである場合
に、アドレス変換/管理処理部は、初めて記録するデー
タは、データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのオフセットと一致していないの
で、データを書き込もうとしていたパリティ計算ブロッ
クの次のパリティ計算ブロックのオフセットに、データ
の書き込み開始位置を変更し、、次のデータの書き込み
開始位置を、前回書き込まれたデータの最終パリティ計
算ブロックの次のパリティ計算ブロックのオフセットに
一致させることにより、動作的には、常にAlignm
ent状態と同じ様な処理(擬似Alignment)
が実現できる。
【0138】また、本発明では、Alignment処
理を行うために無効データ補完処理部とアドレス変換/
管理処理部を具備したが、条件(1)、または(2)の
どちらかを必ず満たす前提条件がある場合は、必ずしも
双方の処理を具備しなくてもよい。
【0139】また、本発明では、アドレスの変換の方法
として、アドレス管理を行うアドレス管理テーブルを設
けた場合について述べたが、固定長のアドレスをシフト
させる場合、レジスタなどを用いて、アドレス変換を実
施した場合でも同様の効果が得られる。
【0140】また、本発明では、処理単位となるパリテ
ィ計算ブロックサイズを4KBとして説明したが、これ
に限定するものではなく、512Bの整数倍サイズであ
ればよい。
【0141】また、本発明では、アドレス管理テーブル
には論理アドレスとそれに対応する実アドレスを記述し
たが、これに限定するものではない。
【0142】
【発明の効果】以上の説明から明らかなように、本発明
のディスクアレイ装置によれば、Misalignが発
生する書き込み要求があった場合、後続のデータの書き
込みをAlignmentで行えるようデータの補完や
アドレス変換を行うAlignment処理機能を有す
ることで、後続のI/O処理をAlignmentで行
うことができ、Alignment状態と同様の性能を
発揮できる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるディスクアレイ
装置の構成を示すブロック図
【図2】同Alignment処理部の詳細な構成を示
すブロック図
【図3】同Alignment処理部の動作を説明する
フローチャート
【図4】同無効データ補完処理の一例を説明する図
【図5】同アドレス変換処理の一例を説明する図
【図6】同無効データ補完処理およびアドレス変換処理
の一例を説明する図
【図7】本発明の実施の形態2におけるディスクアレイ
装置の構成を示すブロック図
【図8】同Alignment処理部の詳細な構成を示
すブロック図
【図9】同Alignment処理部の動作を説明する
フローチャート
【図10】同無効データ補完処理の一例を説明する図
【図11】同アドレス変換処理の一例を説明する図
【図12】同無効データ補完処理およびアドレス変換処
理の一例を説明する図
【図13】従来のディスクアレイ装置の構成を示すブロ
ック図
【図14】従来のディスクアレイコントローラの詳細な
構成を示すブロック図
【図15】従来のディスクアレイコントローラの動作を
説明するフローチャート
【図16】従来のディスクアレイ装置の書き込み処理を
説明する図
【符号の説明】
11、71 ホスト 12、72 ホストアダプタ 13 Alignment処理部 14 73 ディスクアレイコントローラ 15a〜15e、74a〜74e デバイスコントロー
ラ 16a〜16e、75a〜75e ディスク装置

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のディスク装置を使用してホストか
    らのデータの書き込みおよび読み込みの制御を行うディ
    スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
    とからなるデータの書き込み要求を受け、前記データを
    あらかじめ定められたデータサイズのデータブロックに
    分割して複数のディスク装置に書き込む場合、 前記書き込み開始アドレスが前記データの書き込み対象
    となるデータブロックのオフセット値を示すブロック番
    号と一致するかどうかを判定し、一致していない場合は
    前記データの書き込み開始アドレスを前記データの書き
    込み対象となるデータブロックの次に位置するデータブ
    ロックのオフセット値を示すブロック番号に一致するよ
    うシフトして、前記書き込み開始アドレスを更新し、前
    記書き込み開始アドレスの更新情報を記憶するアライン
    メント処理手段と、 前記アラインメント処理手段により更新された書き込み
    開始アドレスより前記データを前記データブロックのデ
    ータサイズ毎に分割して前記複数のディスク装置へ書き
    込むよう制御するディスクアレイコントローラとを有す
    るディスクアレイ装置。
  2. 【請求項2】 複数のディスク装置を使用してホストか
    らのデータの書き込みおよび読み込みの制御を行うディ
    スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
    とからなる書き込み要求を受け、前記データをあらかじ
    め定められたデータサイズのデータブロックに分割して
    複数のディスク装置に書き込む場合、 前記データのデータサイズが前記データブロックのデー
    タサイズの整数倍であるかどうかを判定し、整数倍にな
    っていない場合は、前記データのデータサイズが前記デ
    ータブロックのデータサイズの整数倍になるように前記
    データに前記データと独立した無効データを付加するア
    ラインメント処理手段と、 前記アラインメント処理手段により無効データを付加さ
    れたデータを前記書き込み開始アドレスより前記データ
    ブロックのデータサイズ毎に分割して前記複数のディス
    ク装置へ書き込むよう制御するディスクコントローラと
    を有するディスクアレイ装置。
  3. 【請求項3】 複数のディスク装置を使用してホストか
    らのデータの書き込みおよび読み込みの制御を行うディ
    スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
    とからなる書き込み要求を受け、前記データをあらかじ
    め定められたデータサイズのデータブロックに分割して
    複数のディスク装置に書き込む場合、 前記書き込み開始アドレスを前記書き込み開始アドレス
    と前記データの書き込み対象となるデータブロックのオ
    フセット値を示すブロック番号と一致するようあらかじ
    め設定されているシフト量だけシフトして前記書き込み
    開始アドレスを更新するアラインメント処理手段と、 前記アラインメント処理手段により更新された書き込み
    開始アドレスより前記データを前記データブロックのデ
    ータサイズ毎に分割して前記複数のディスク装置へ書き
    込むよう制御するディスクアレイコントローラとを有す
    るディスクアレイ装置。
  4. 【請求項4】 アラインメント処理手段の機能を備えた
    ディスクアレイコントローラを有する請求項1ないし3
    のディスクアレイ装置。
  5. 【請求項5】 ディスクアレイコントローラはRAID
    コントローラであることを特徴とする請求項4記載のデ
    ィスクアレイ装置。
JP2000070026A 2000-03-14 2000-03-14 ディスクアレイ装置 Pending JP2001256001A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000070026A JP2001256001A (ja) 2000-03-14 2000-03-14 ディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000070026A JP2001256001A (ja) 2000-03-14 2000-03-14 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JP2001256001A true JP2001256001A (ja) 2001-09-21

Family

ID=18588817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070026A Pending JP2001256001A (ja) 2000-03-14 2000-03-14 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JP2001256001A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263276A (ja) * 2002-03-08 2003-09-19 Toshiba Corp ディスクシステムおよびディスクアクセス方法
US7072954B1 (en) * 1999-03-29 2006-07-04 Matsushita Electric Industrial Co., Ltd. Network management system having access manager for managing access to recording medium apparatus
JP2016148936A (ja) * 2015-02-10 2016-08-18 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072954B1 (en) * 1999-03-29 2006-07-04 Matsushita Electric Industrial Co., Ltd. Network management system having access manager for managing access to recording medium apparatus
JP2003263276A (ja) * 2002-03-08 2003-09-19 Toshiba Corp ディスクシステムおよびディスクアクセス方法
JP2016148936A (ja) * 2015-02-10 2016-08-18 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム

Similar Documents

Publication Publication Date Title
US6484234B1 (en) Method and apparatus for efficiently destaging data from a cache to two or more non-contiguous storage locations
EP0732653B1 (en) Disk array system
AU622333B2 (en) Data storage device for a digital data processing system
US5394532A (en) Disk drive array memory system having instant format capability
US5835694A (en) Raid-configured disk drive array wherein array control occurs at the disk drive level
US5155835A (en) Multilevel, hierarchical, dynamically mapped data storage subsystem
JP3266277B2 (ja) 階層記憶管理システムのための変換式raid
US7647526B1 (en) Reducing reconstruct input/output operations in storage systems
EP0405925B1 (en) Method and apparatus for managing a shadow set of storage media
JP5302892B2 (ja) ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
KR100270751B1 (ko) 기억장치서브시스템의자동구성방법및장치
US20030084397A1 (en) Apparatus and method for a distributed raid
JPS605023B2 (ja) 記憶システム
US20080209420A1 (en) Processing system, storage device, and method for performing series of processes in given order
US7849258B2 (en) Storage apparatus and data verification method for the same
US20030018851A1 (en) RAID controller and control method thereof
WO2000002121A1 (en) Method and apparatus for storing diverse data structures
WO2012020454A1 (en) Storage apparatus and control method thereof
US5719885A (en) Storage reliability method and apparatus
EP1310875A2 (en) Disk array subsystem and data generation method therefor
US7426609B2 (en) Disk control apparatus, disk control method, remote disk control apparatus, and remote disk control method
US5862313A (en) Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network
KR20030091664A (ko) 기억 장치 및 기억 장치 서브 시스템
WO1996033420A1 (en) Method and apparatus for storing and retrieving error check information

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050830