JP2001256001A - Disk array device - Google Patents

Disk array device

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
Japanese (ja)
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/en
Publication of JP2001256001A publication Critical patent/JP2001256001A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To solve a problem that an I/O processing function is remarkably lowered when a writing request to cause misalign is made. SOLUTION: An Alignment judging processing part 23 judges whether or not a writing processing of data is Alignment by a logical address to indicate a starting position of writing of the received data and data size. When the Alignment judging processing part 23 judges the processing as Misalign, an Alignment state is set by supplementing invalid data so that the data size of the data becomes integer multiples of a parity calculation block when the data size is not the integer multiples of the parity calculation block by an invalid data supplement processing part 24 and converting the logical address so that the logical address coincides with offset when the logical address does not coincide with the offset of the parity calculation block by an address conversion/ address management processing part 25.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のディスク装
置を並列的に動作させてデータの読み込み、および書き
込み制御を行うディスクアレイ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device which controls data reading and writing by operating a plurality of disk devices in parallel.

【0002】[0002]

【従来の技術】従来の技術として、例えば、特開平9−
305328号公報に示されている技術がある。以下、
図面に基づいて従来例を説明する。
2. Description of the Related Art As a conventional technique, for example, Japanese Unexamined Patent Publication No.
There is a technique disclosed in Japanese Patent Publication No. 305328. Less than,
A conventional example will be described with reference to the drawings.

【0003】図13に従来のディスクアレイ装置のブロ
ック図を示す。
FIG. 13 shows a block diagram of a conventional disk array device.

【0004】ホスト1301から見るとディスクアレイ
コントローラ1303以降のブロックはホストアダプタ
1302を介して1台のディスク装置として見える。ホ
スト1301はホストアダプタ1302を介してデータ
をディスクアレイコントローラ1303へ送信する。こ
の場合、ディスクアレイコントローラ1303は、受信
したデータを4分割し、各データをデバイスコントロー
ラ1304a〜1304dに送信すると共に、分割デー
タに対するパリティデータを生成しデバイスコントロー
ラ1304eへ送信する。デバイスコントローラ130
4a〜1304dは受信した分割データを各々データ格
納用ディスク装置1305a〜1305dに記録し、デ
バイスコントローラ24eは受信したパリティデータを
パリティデータ格納用ディスク装置25eに記録する。
[0004] When viewed from the host 1301, blocks after the disk array controller 1303 appear as a single disk device via the host adapter 1302. The host 1301 transmits data to the disk array controller 1303 via the host adapter 1302. In this case, the disk array controller 1303 divides the received data into four, transmits each data to the device controllers 1304a to 1304d, generates parity data for the divided data, and transmits the parity data to the device controller 1304e. Device controller 130
4a to 1304d record the received divided data in the data storage disk devices 1305a to 1305d, respectively, and the device controller 24e records the received parity data in the parity data storage disk device 25e.

【0005】このように従来のディスクアレイ装置は、
複数のディスク装置(ハードディスク装置)を使用する
ことにより、高速に大量のデータにアクセスし、ディス
ク故障時におけるデータの冗長性を実現することができ
るため、単独のディスク装置よりも高い信頼性と性能を
実現している。これは、1987年に米国のカリフォル
ニア大学バークレイ校のデビッド.A.パターソン(Dav
id.A.Patterson) 教授らが提唱したRAID(Redundan
t Arrays of Inexpensive Disks )と呼ばれるものであ
る。すなわち、RAIDはデビッド.A.パターソン教
授らの論文に由来する呼び方である。
As described above, the conventional disk array device is
By using multiple disk devices (hard disk devices), a large amount of data can be accessed at high speed, and data redundancy can be realized in the event of a disk failure, resulting in higher reliability and performance than a single disk device Has been realized. This was published in 1987 by David U. of the University of California, Berkeley. A. Patterson (Dav
id.A.Patterson) RAID (Redundan
t Arrays of Inexpensive Disks). That is, RAID is David. A. It is derived from the paper by Professor Patterson and others.

【0006】ディスクアレイ方式RAIDは、1から5
までのレベル(以下、レベル1から順にRAID1、R
AID2、RAID3、RAID4、RAID5と記
す)に分類されており、RAID3からRAID5は、
ディスク装置の故障時にデータを回復させるためのパリ
ティデータを保持する。例えば、RAID3は、入力デ
ータを分割(ストライピング)し、インターリーブをか
けて分割したデータを複数のディスク装置に分散して格
納するものである。この場合、分割したデータに対する
エラー訂正符号を格納するディスク装置を冗長ディスク
装置とし、冗長ディスク装置のデータをパリティデータ
としたものである。
[0006] Disk array RAID is 1 to 5
Up to the level (hereinafter, RAID 1 and R in order from level 1)
AID2, RAID3, RAID4, and RAID5).
Parity data for recovering data in the event of a disk device failure is held. For example, in RAID 3, input data is divided (striped), interleaved and divided data is stored in a plurality of disk devices in a distributed manner. In this case, the disk device that stores the error correction code for the divided data is a redundant disk device, and the data of the redundant disk device is the parity data.

【0007】以下、RAID3におけるデータ書き込み
処理の流れを図14、図15を用いて説明する。図14
はディスクアレイコントローラ1303の詳細なブロッ
ク図であり、図15はディスクアレイコントローラ13
03の処理の流れを示すフローチャートである。
Hereinafter, the flow of data write processing in RAID3 will be described with reference to FIGS. FIG.
FIG. 15 is a detailed block diagram of the disk array controller 1303, and FIG.
13 is a flowchart showing the flow of the process of FIG.

【0008】まず、書き込み処理について説明する。First, the writing process will be described.

【0009】コマンド処理部1402はホスト1301
からの書き込み要求を受信し(図15のステップ150
1)、ホスト1301からの要求が書き込み要求である
ことを判定し(図15のステップ1502)、データの
書き込み処理に必要な処理を行う。コマンド処理部14
02は、データの書き込み開始位置を示す論理アドレス
とデータの送信をホスト1301に要求する。ホスト1
301は、コマンド処理部1402の要求を受け取る
と、直ちに論理アドレスとデータをコマンド処理部14
02に送信する。コマンド処理部1402は、ホスト1
301より送信された書き込み要求、論理アドレス、お
よびデータをホストデータ受信/送信処理部1403を
介してAlignment判定処理部1404に送信す
る。
The command processing unit 1402 includes a host 1301
Is received (step 150 in FIG. 15).
1) It is determined that the request from the host 1301 is a write request (step 1502 in FIG. 15), and processing necessary for data write processing is performed. Command processing unit 14
02 requests the host 1301 to transmit a logical address indicating a data write start position and data. Host 1
Upon receiving the request from the command processing unit 1402, the command processing unit 301 immediately stores the logical address and data in the command processing unit 1402.
02. The command processing unit 1402 is a host 1
The write request, logical address, and data transmitted from 301 are transmitted to Alignment determination processing unit 1404 via host data reception / transmission processing unit 1403.

【0010】Alignment判定処理部1404
は、受信した論理アドレスとデータのデータサイズか
ら、データ書き込み時の処理が、以下の(1)、(2)
の条件を満たすかどうかを判定する。(図15のステッ
プ1503)。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512Byte)の整数倍であり、かつ
パリティ計算ブロック(512Byteの整数倍サイ
ズ)の整数倍である。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignmet(アラインメン
ト)境界であるオフセットと一致する。
Alignment determination processing unit 1404
According to the received logical address and the data size of the data, the processing at the time of data writing is performed according to the following (1) and (2)
It is determined whether or not the condition is satisfied. (Step 1503 in FIG. 15). (1) The data size block is an integral multiple of the minimum unit of one sector (512 bytes) of the hard disk, and is an integral multiple of the parity calculation block (the integral multiple of 512 bytes). (2) The address indicating the data write start position matches the offset which is the alignment boundary of the parity calculation block.

【0011】Alignment判定処理部1404
は、上記2つの条件を満たす状態をAlignmen
t、いずれか一つでも満たさない状態をMisalig
n(ミスアライン)と定義する。Alignment判
定処理部1404は、Alignment判定を行った
後、書き込み要求、論理アドレス、データ、および判定
結果をホストデータ分割/結合処理部1405に送信す
る。
Alignment determination processing unit 1404
States that the above two conditions are satisfied.
t, Missing if any one is not satisfied
n (misalignment). After performing the alignment determination, the alignment determination processing unit 1404 transmits a write request, a logical address, data, and a determination result to the host data division / combination processing unit 1405.

【0012】以下、Alignment判定処理部14
04以降の処理を4KB(1KB=1024Byte)
のパリティ計算ブロックに、4KBの固定長のデータを
書き込む場合を例にとって図16を用いて説明する。図
16において、パリティ計算ブロックは4KBであり、
パリティ計算ブロックは8個のデータサイズブロックで
構成され、1つのデータサイズブロックは512B(B
yte)を示している。また、矢印は書き込み開始位置
を示している。
Hereinafter, the Alignment determination processing unit 14
4 KB (1 KB = 1024 bytes) for the processing after 04
An example in which 4 KB fixed-length data is written in the parity calculation block of FIG. In FIG. 16, the parity calculation block is 4 KB,
The parity calculation block is composed of eight data size blocks, and one data size block is 512B (B
yte). Arrows indicate write start positions.

【0013】まず、判定結果がAlignmentであ
る場合の処理を説明する。
First, the processing when the determination result is Alignment will be described.

【0014】図16の(a)にAlignmentデー
タの一例を示す。Alignment判定処理部140
4は図16の(a)のデータはデータサイズ4KB(=
512×8B)であることから条件(1)を満たし、書
き込み開始位置がパリティ計算ブロックのAlignm
ent境界であるオフセットと一致していることから条
件(2)も満たしていると判断し、Alignment
であると判定する。Alignment判定処理部14
04は判定結果、書き込み要求、論理アドレス、データ
をホストデータ分割/結合処理部1405へ送信する。
FIG. 16A shows an example of the alignment data. Alignment determination processing unit 140
4 indicates that the data of FIG. 16A has a data size of 4 KB (=
512 × 8B), the condition (1) is satisfied, and the write start position is Alignnm of the parity calculation block.
It is determined that the condition (2) is also satisfied because it matches the offset that is the ent boundary, and the alignment is determined.
Is determined. Alignment determination processing unit 14
04 transmits the determination result, the write request, the logical address, and the data to the host data division / combination processing unit 1405.

【0015】ホストデータ分割/結合処理部1405は
受信した論理アドレスと判定結果をアドレス指定処理部
1406に送信すると同時に、受信したデータを分割し
てアドレス指定処理部1406に送信する(図15のス
テップ1504)。この場合、4台のディスク装置が接
続されているので、データを4分割する。アドレス指定
処理部1406は受信した判定結果に従って論理アドレ
スのアドレス変換を行う。この場合、判定結果がAli
gnmentであることから、アドレス指定処理部14
06は受信した論理アドレスに対するアドレス変換の処
理を行わず、パリティデータに対してのみアドレスを割
り当て、受信した判定結果、書き込み要求、論理アドレ
ス、パリティデータのアドレス、データをパリティ処理
部1407へ送信する(図15のステップ1505)。
ここで、この時点ではパリティデータは存在しないが、
パリティデータサイズは固定サイズであるため、先にア
ドレスだけ割り当てている。パリティ処理部1407
は、受信した分割データよりパリティデータを作成し、
分割データ、パリティデータ、書き込み要求、論理アド
レス、パリティデータのアドレスをディスク装置130
5に送信する(図15のステップ1506)。ディスク
装置1305は、受信した分割データとパリティデータ
を指定されたアドレスに従って記録する。
The host data division / combination processing unit 1405 transmits the received logical address and the determination result to the address designation processing unit 1406, and at the same time, divides the received data and sends it to the address designation processing unit 1406 (step in FIG. 15). 1504). In this case, since four disk devices are connected, the data is divided into four. The address specification processing unit 1406 performs address conversion of the logical address according to the received determination result. In this case, the determination result is Ali
address designation processing unit 14
Reference numeral 06 does not perform an address conversion process on the received logical address, allocates an address only to the parity data, and transmits the received determination result, write request, logical address, parity data address, and data to the parity processing unit 1407. (Step 1505 in FIG. 15).
Here, no parity data exists at this time,
Since the parity data size is a fixed size, only the address is allocated first. Parity processing unit 1407
Creates parity data from the received divided data,
The divided data, parity data, write request, logical address, and parity data address are
5 (step 1506 in FIG. 15). The disk device 1305 records the received divided data and parity data according to the specified address.

【0016】次に、判定結果がMisalignである
場合の処理を説明する。この場合、連続する2つの4K
Bのデータ、データ1、データ2を順次書き込む場合を
例にとって説明する。
Next, the processing when the judgment result is Misalign will be described. In this case, two consecutive 4K
The case where data B, data 1 and data 2 are sequentially written will be described as an example.

【0017】まず、データ1の書き込み処理を説明す
る。
First, the process of writing data 1 will be described.

【0018】図16の(b)の塗りつぶし部分にデータ
1を示す。同図に示すようにデータ1は4KBのデータ
であり、矢印に示す書き込み開始位置は[0001h]で
ある。アドレス[0001h]から4KBのデータを書き
込むと、図16の(b)に示すようにブロック[01h]
とブロック[02h]に跨って記録される。
Data 1 is shown in the shaded portion of FIG. As shown in the figure, data 1 is 4 KB data, and the write start position indicated by the arrow is [0001h]. When 4 KB of data is written from the address [0001h], the block [01h] is written as shown in FIG.
Is recorded over block [02h].

【0019】Alignment判定処理部1404
は、データ1はデータサイズが4KBであることから条
件(1)を満たし、書き込み開始位置[0001h]が図
16の(b)の矢印位置にあることから、パリティ計算
ブロックのAlignment境界であるオフセットと
一致しないため、Alignmentの条件(2)を満
たしていないと判断する。すなわち、Alignmen
t判定処理部1404はデータ1の書き込み処理はMi
salignであると判定し、判定結果、書き込み要
求、論理アドレス[0001h]、およびデータ1をホス
トデータ分割/結合処理部1405に送信する(図15
のステップ1503)。
Alignment determination processing unit 1404
Since the data 1 has a data size of 4 KB, the condition (1) is satisfied. Since the write start position [0001h] is at the position indicated by the arrow in FIG. 16B, the offset that is the alignment boundary of the parity calculation block is set. Therefore, it is determined that the alignment condition (2) is not satisfied. That is, Alignmen
The t determination processing unit 1404 determines that the write processing of the data 1 is Mi.
It is determined that the data is “align”, and the determination result, the write request, the logical address [0001h], and data 1 are transmitted to the host data division / combination processing unit 1405 (FIG.
Step 1503).

【0020】ホストデータ分割/結合処理部1405
は、受信した論理アドレス[0001h]、判定結果、お
よび、書き込み要求をアドレス指定処理部1406に送
信すると同時に、データ1の分割処理を実行した後、分
割データをアドレス指定処理部1406に送信する(図
15のステップ1507)。アドレス指定処理部140
6は、受信した論理アドレス[0001h]から、分割デ
ータとパリティデータを実際の記録先を示すアドレス
(実アドレス)の指定を行い、論理アドレス、実アドレ
スをアドレス管理テーブルに保有する(図15のステッ
プ1508)。(表1)にアドレス指定処理部1406
が保有するアドレス管理テーブルを示す。
Host data division / combination processing unit 1405
Transmits the received logical address [0001h], the determination result, and the write request to the address designation processing unit 1406, and at the same time, executes division processing of data 1, and then transmits the divided data to the address designation processing unit 1406 ( Step 1507 in FIG. 15). Address designation processing unit 140
No. 6 designates an address (real address) indicating the actual recording destination of the divided data and the parity data from the received logical address [0001h], and holds the logical address and the real address in the address management table (FIG. 15). Step 1508). (Table 1) shows the address designation processing unit 1406
2 shows an address management table held by.

【0021】[0021]

【表1】 [Table 1]

【0022】(表1)に示すように、アドレス管理テー
ブルはデータをホスト1301から送信された論理アド
レスと実際にディスクに書き込むブロック番号を示す実
アドレスで構成されている。(表1)に示すように、デ
ータ1の論理アドレスは[00001h]、実アドレス、
すなわちブロック番号は[01h]である。
As shown in Table 1, the address management table is composed of a logical address transmitted from the host 1301 and a real address indicating a block number to be actually written to the disk. As shown in (Table 1), the logical address of data 1 is [00001h], the real address,
That is, the block number is [01h].

【0023】アドレス指定処理部1406は、書き込み
要求、実アドレス[01h]、分割データ、判定結果をパ
リティ処理部1407に送信する。パリティ処理部14
07は、分割データよりパリティデータを作成し、分割
データ、パリティデータ、書き込み要求、および実アド
レス[01h]をディスク装置1305に送信する(図1
5のステップ1509、ステップ1510)。この場
合、データ1は最初の書き込みであり、書き込み対象の
パリティ計算ブロックにおいてパリティデータは存在し
ないため、分割データのみでパリティデータを生成す
る。ディスク装置1305は、受信した書き込み要求、
実アドレスに従って、分割データとパリティデータを記
録する。
The address designation processing unit 1406 sends the write request, the real address [01h], the divided data, and the determination result to the parity processing unit 1407. Parity processing unit 14
07 generates parity data from the divided data, and transmits the divided data, the parity data, the write request, and the real address [01h] to the disk device 1305 (FIG. 1).
5, Steps 1509 and 1510). In this case, since data 1 is the first write, and no parity data exists in the parity calculation block to be written, parity data is generated only from the divided data. The disk device 1305 receives the write request,
The division data and the parity data are recorded according to the real address.

【0024】次にデータ2の書き込み処理について説明
する。
Next, the data 2 writing process will be described.

【0025】図16の(c)の斜線部にデータ2を示
す。図16の(c)に示すように、データ2は4KBの
データであり、書き込み開始位置アドレスを示す論理ア
ドレスは矢印が示す[0009h]であり、ブロック[0
2h]とブロック[03h]に跨って記録される。
Data 2 is shown in the hatched portion of FIG. As shown in FIG. 16C, data 2 is 4 KB data, the logical address indicating the write start position address is [0009h] indicated by the arrow, and the block [0]
2h] and block [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)。
Alignment determination processing unit 1404
Since the data size of the data 2 is 4 KB, the condition (1) is satisfied, and the write start position [0009h] shown in FIG.
Ali does not match the offset that is the ent boundary.
It is determined that the condition (2) of the G.ment is not satisfied.
Therefore, the Alignment determination processing unit 1404 sets the Mi
It is determined that the data is “align”, and the determination result, the write request, the logical address [0009h], and the data 2 are transmitted to the host data division / combination processing unit 1405 (FIG. 1).
5 step 1503).

【0027】ホストデータ分割/結合処理部1405
は、受信した論理アドレス[0009h]、判定結果、お
よび書き込み要求をアドレス指定処理部1406に送信
すると同時に、データ2の分割処理を実行した後に、分
割データをアドレス指定処理部1406に送信する(図
5のステップ1507)。アドレス指定処理部1406
は、保有する(表1)に示すアドレス管理テーブルとデ
ータ2の論理アドレス[0009h]から、分割データと
パリティデータの実アドレス指定を行い、アドレス情報
をアドレス管理テーブルに格納する(図5のステップ1
508)。(表2)にアドレス指定処理部1406が更
新したアドレス管理テーブルを示す。
Host data division / combination processing unit 1405
Transmits the received logical address [0009h], the determination result, and the write request to the address designation processing unit 1406, and at the same time, executes the division processing of the data 2, and then transmits the divided data to the address designation processing unit 1406 (FIG. 5 step 1507). Address designation processing unit 1406
Specifies the real addresses of the divided data and the parity data from the address management table shown in (Table 1) and the logical address [0009h] of the data 2, and stores the address information in the address management table (step in FIG. 5). 1
508). (Table 2) shows the address management table updated by the address designation processing unit 1406.

【0028】[0028]

【表2】 [Table 2]

【0029】(表2)に示すように、データ1のアドレ
ス情報の次に、データ2のアドレス情報である、論理ア
ドレス[0009h]と、データ2の書き込み開始位置が
あるブロックのブロック番号[02h]が実アドレスとし
て格納されている。
As shown in Table 2, following the address information of data 1, the logical address [0009h], which is the address information of data 2, and the block number [02h] of the block where the data 2 write start position is located ] Is stored as the real address.

【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、および、パリティデータを記録する。
The address designation processing unit 1406 transmits the judgment result, the real address [02h], the write request, and the divided data to the parity processing unit 1407. The parity processing unit 1407 calculates parity data of the data 2 from the received divided data, the determination result, and the real address [02h]. First, the parity calculation block shown in FIG.
The data A which is a part of the data 1 recorded in [0001h] and the parity data of the parity calculation block [02h] are read (step 1509 in FIG. 5). Next, the parity processing unit 1407 creates parity data from the read data A and the divided data of the data 2 stored in the parity calculation block [02h] (step 1510 in FIG. 5). The parity processing unit 1407 transmits the data A, the divided data of the data 2 stored in the parity calculation block [02h], the newly generated parity data, and the real address [02h] to the disk device 1305. The disk device 1305 records the divided data, the data A, and the parity data of the received data 2 according to the received real address.

【0031】また、パリティ処理部1407はパリティ
計算ブロック[03h]に記録されるデータ2の残りの分
割データとデータが格納されていない7データサイズブ
ロックに存在するデータに対してパリティデータを生成
し、書き込み要求、データ2の残りの分割データ、生成
されたパリティデータ、実アドレス[03h]をディスク
装置1305に送信する。ディスク装置1305は受信
したデータ2、パリティデータを実アドレスに従って記
録する。
The parity processing unit 1407 generates parity data for the remaining divided data of the data 2 recorded in the parity calculation block [03h] and the data existing in the seven data size blocks in which no data is stored. , The write request, the remaining divided data of data 2, the generated parity data, and the real address [03h] are transmitted to the disk device 1305. The disk device 1305 records the received data 2 and parity data according to the real address.

【0032】この様に、従来のディスクアレイ装置で
は、データの書き込み処理がMisalign、かつ、
データを書き込むパリティ計算ブロックに既に記録され
ているデータがある場合は、そのデータとデータに対す
るパリティデータの読み出しを行ってから、再度パリテ
ィデータの生成を行っている。
As described above, in the conventional disk array device, the data write processing is Misaligned, and
If there is data already recorded in the parity calculation block to which the data is to be written, the data and the parity data for the data are read, and then the parity data is generated again.

【0033】[0033]

【本発明が解決しようとする課題】しかしながら、上記
の従来のディスクアレイ装置は、I/O処理がAlig
nmentの時に最高の性能を発揮するディスクアレイ
装置に対して、固定データサイズのデータの連続I/O
処理を行う際に、固定データサイズがパリティ計算ブロ
ックサイズの整数倍ではない場合や、データの書き込み
開始位置を示すアドレスがパリティ計算ブロックのオフ
セットと一致しない場合にMisalignが発生する
ため、パリティデータ生成時にAlignmentの時
にはないデータの読み出し処理が必要となり、I/O処
理性能が著しく低下するという問題が生じる。
However, in the above-mentioned conventional disk array device, the I / O processing is not performed by the Alig.
For a disk array device that exhibits the highest performance at the time of
When processing is performed, Misalign occurs when the fixed data size is not an integral multiple of the parity calculation block size, or when the address indicating the data write start position does not match the offset of the parity calculation block. In some cases, data read processing that is not performed in the case of Alignment is required, which causes a problem that the I / O processing performance is significantly reduced.

【0034】本発明は、上記従来の問題点を解決するも
ので、Misalignが発生するI/O処理に対し
て、後続のI/O処理がAlignmentで行えるよ
うにするディスクアレイ装置を提供する。
The present invention solves the above-mentioned conventional problems, and provides a disk array apparatus which enables subsequent I / O processing to be performed in Alignment with respect to I / O processing in which Misalignment occurs.

【0035】[0035]

【課題を解決するための手段】この目的を達成するため
に本発明のディスクアレイ装置は、Misalignが
発生する書き込み要求があった場合、後続のデータの書
き込みがAlignmentになるようデータの補完や
アドレス変換を行うAlignment処理機能を有し
ている。
In order to achieve this object, a disk array device according to the present invention is designed such that when a write request that causes a misalignment is made, the data is complemented or the address is written so that the subsequent data write becomes alignment. It has an alignment processing function for performing conversion.

【0036】この構成によって、本発明のディスクアレ
イ装置は、Misalignが発生する書き込み要求が
あった場合、後続のデータの書き込みをAlignme
ntで行うことができる。
With this configuration, the disk array device of the present invention, when receiving a write request that causes a Misalignment, writes the subsequent data to the Align
nt.

【0037】[0037]

【実施の形態】本発明の第1の発明は、あらかじめ定め
られたデータサイズを処理単位として、ホストからの要
求に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信した書き込み開始位置を前記処
理単位のアラインメント境界と一致するよう変換し、変
換情報を記憶して管理するアラインメント処理手段を有
するディスクアレイ装置、書き込み開始位置をパリティ
計算ブロックのアラインメント境界に一致させることに
より、後続のデータのI/O処理をアラインメントで行
うことができる。
A first aspect of the present invention is a disk array device that performs data processing in accordance with a request from a host, using a predetermined data size as a processing unit, wherein a write start position received from the host is determined. The disk array device having an alignment processing means for converting and storing the conversion information so as to match the alignment boundary of the processing unit, and by making the write start position coincide with the alignment boundary of the parity calculation block, I / O processing can be performed in alignment.

【0038】本発明の第2の発明は、あらかじめ定めら
れたデータサイズを処理単位として、ホストからの要求
に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信したデータのデータサイズが前
記処理単位のデータサイズの整数倍になるように前記デ
ータと独立した無効データを付加するアラインメント処
理手段を有するディスクアレイ装置であって、データサ
イズをパリティ計算ブロックの整数倍にすることによっ
て、後続のデータのI/O処理をアラインメントで行う
ことができる。
According to a second aspect of the present invention, there is provided a disk array apparatus for performing data processing in accordance with a request from a host using a predetermined data size as a processing unit, wherein the data size of data received from the host is the same as that of the first embodiment. A disk array device having an alignment processing means for adding invalid data independent of the data so as to be an integral multiple of the data size of a processing unit, wherein the data size is set to an integral multiple of a parity calculation block, and Data I / O processing can be performed in alignment.

【0039】本発明の第3の発明は、あらかじめ定めら
れたデータサイズを処理単位として、ホストからの要求
に従ってデータ処理を行うディスクアレイ装置であっ
て、前記ホストから受信した書き込み開始開始位置を前
記処理単位のアラインメント境界と一致するようあらか
じめ定められたシフト値だけシフトするアラインメント
処理手段を有するディスクアレイ装置であって、シフト
値を誤り訂正用のパリティ計算ブロックのアラインメン
ト境界に一致させる値に設定することにより、後続のデ
ータのI/O処理をアラインメントで行うことができ
る。
According to a third aspect of the present invention, there is provided a disk array apparatus for performing data processing in accordance with a request from a host using a predetermined data size as a processing unit, wherein the write start position received from the host is determined by the data processing unit. A disk array device having an alignment processing means for shifting by a predetermined shift value so as to coincide with an alignment boundary of a processing unit, wherein the shift value is set to a value that matches an alignment boundary of an error correction parity calculation block. This allows the I / O processing of the subsequent data to be performed in alignment.

【0040】以下に、本発明によるディスクアレイ装置
について、添付図面を参照しながら説明する。
Hereinafter, a disk array device according to the present invention will be described with reference to the accompanying drawings.

【0041】(実施の形態1)実施の形態1では、Al
ignment処理機能をディスクアレイコントローラ
の外部に持たせ、Misalignが発生する書き込み
要求をAlignmentの書き込み要求にする場合に
ついて説明する。
(Embodiment 1) In Embodiment 1, Al
A case will be described in which an assignment processing function is provided outside the disk array controller, and a write request generated by Misalign is made an alignment write request.

【0042】図1は、本発明の一実施の形態のディスク
アレイ装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a disk array device according to an embodiment of the present invention.

【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処理を行うディスク装置である。
In FIG. 1, reference numeral 11 denotes a host for instructing I / O processing, 12 a host adapter for controlling a device connected to the host 11, and 13 an Alignment process for data input from the host adapter 12. The Alignment processing unit 14 divides the data input from the Alignment processing unit 13 at the time of writing, generates parity data of the divided data, and integrates the parity check of the data and the divided data into one data at the time of reading. An array controller, 15a to 15e are device controllers for controlling I / O processing of data input from the disk array controller 14, and 16a to 16e are data controllers for performing data I / O processing under the control of the device controllers 15a to 15e, respectively. It is a disk apparatus.

【0044】以上のように構成されたディスクアレイ装
置について、図面を参照しながら説明する。
The disk array device configured as described above will be described with reference to the drawings.

【0045】ホスト11は、ホストアダプタ12経由
で、書き込み要求とデータの書き込み開始位置(以下、
論理アドレスと記す)、およびデータをAlignme
nt判定処理部13に送信する。Alignment判
定処理部13は、ホスト11からの書き込み要求を受信
し、受信したデータの論理アドレスとデータから、デー
タの書き込み処理がAlignmentであるかどうか
の判定を行う。
The host 11 sends a write request and a data write start position (hereinafter referred to as a “write start position”) via the host adapter 12.
Logical address), and Alignm
This is transmitted to the nt determination processing unit 13. The Alignment determination processing unit 13 receives a write request from the host 11, and determines whether the data write process is an Alignment from the logical address and the data of the received data.

【0046】以下、Alignment処理部13の詳
細な動作を図2、図3を用いて説明する。図2はAli
gnment処理部13の詳細な構成を示すブロック
図、図3はAlignment処理部13の処理を示す
フローチャートである。
Hereinafter, a detailed operation of the alignment processing unit 13 will be described with reference to FIGS. Figure 2 shows Ali
FIG. 3 is a block diagram illustrating a detailed configuration of the alignment processing unit 13, and FIG. 3 is a flowchart illustrating processing of the alignment processing unit 13.

【0047】図2において、21はホスト11から受信
したコマンドを処理するコマンド処理部、22はコマン
ド処理部21から出力されたデータを受信し、受信した
データをデータの書き込み処理に対してAlignme
nt判定を行うAlignment判定処理部23へ送
信するホストデータ受信/送信処理部、24はAlig
nment判定処理部23より出力された判定結果に応
じて、Alignment判定処理部23より出力され
た無効データを補完する無効データ補完処理部、25は
Alignment判定処理部23より出力された判定
結果に応じて無効データ補完処理部24より出力された
データの論理アドレスを実アドレスへ変換すると共に、
双方のアドレスの管理を行うアドレス変換/アドレス管
理処理部である。
In FIG. 2, reference numeral 21 denotes a command processing unit for processing a command received from the host 11, and 22 receives data output from the command processing unit 21 and aligns the received data with the data write process.
host data reception / transmission processing unit for transmitting to the Alignment determination processing unit 23 for performing nt determination;
The invalid data complementing processing unit that complements the invalid data output from the alignment determination processing unit 23 according to the determination result output from the alignment determination processing unit 23, and the invalid data complement processing unit 25 according to the determination result output from the alignment determination processing unit 23. To convert the logical address of the data output from the invalid data complement processing unit 24 into a real address,
An address conversion / address management processing unit that manages both addresses.

【0048】コマンド処理部21は、ホスト11から送
信されてきたアクセス要求が、書き込み処理であるか読
み込み処理であるかの判定を行う。書き込み処理の場合
は、手順通り残りの4つの処理ブロックでそれぞれの処
理が行われ、読み込み処理の場合4つの処理ブロックで
は処理は行われず、ディスクアレイコントローラ14に
ホスト11より受信したデータが送信される。(図3の
ステップ301〜ステップ302)。
The command processing unit 21 determines whether the access request transmitted from the host 11 is a write process or a read process. In the case of write processing, the respective processing is performed in the remaining four processing blocks according to the procedure. In the case of read processing, the processing is not performed in the four processing blocks, and the data received from the host 11 is transmitted to the disk array controller 14. You. (Steps 301 to 302 in FIG. 3).

【0049】以下、ホスト11からの要求が書き込み処
理要求である場合を説明する。
Hereinafter, a case where the request from the host 11 is a write processing request will be described.

【0050】コマンド処理部21はホスト11より入力
された書き込み要求、論理アドレス、およびデータをホ
ストデータ受信/送信処理部22を介してAlignm
ent判定処理部23に送信する。
The command processing section 21 transmits a write request, a logical address, and data input from the host 11 to the Alignnm via the host data reception / transmission processing section 22.
ent determination processing unit 23.

【0051】Alignment判定処理部23は、受
信したデータを無効データ補完処理部24に送信すると
同時に、受信した論理アドレスとデータのデータサイズ
よりデータの書き込み処理がAlignmentである
か否かの判定を行い、判定結果を無効データ補完処理部
24に送信する(図3のステップ303)。
The Alignment determination processing unit 23 transmits the received data to the invalid data complement processing unit 24 and, at the same time, determines whether the data write processing is Alignment based on the received logical address and the data size of the data. The determination result is transmitted to the invalid data complement processing unit 24 (Step 303 in FIG. 3).

【0052】ここで、Alignmentとは、以下の
(1)(2)の条件を満たす状態を指す。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512B)の整数倍であり、かつパリテ
ィ計算ブロック(512Bの整数倍サイズ)の整数倍で
ある。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignment境界であるオ
フセットと一致する。
Here, "Alignment" indicates a state satisfying the following conditions (1) and (2). (1) The data size block is an integral multiple of the minimum unit 1 sector (512B) of the hard disk and an integral multiple of the parity calculation block (the integral multiple size of 512B). (2) The address indicating the data write start position matches the offset that is the alignment boundary of the parity calculation block.

【0053】また、2つの条件のいずれか一つでも満た
さない状態をMisalign(ミスアライン)と定義
する。
A state in which any one of the two conditions is not satisfied is defined as Misalign.

【0054】Alignment判定処理部23の判定
結果として、Alignmentであると判定された場
合は、残り2つの処理ブロックでは処理が施されず、受
信したデータはそのままディスクアレイコントローラ1
4へ送信される。Misalignと判定された場合
は、Misalignの状態に応じて、残りの2つの処
理ブロックで処理が施される。
If the alignment is determined by the alignment determination unit 23 to be alignment, no processing is performed in the remaining two processing blocks, and the received data is used as is in the disk array controller 1.
4 is transmitted. If it is determined to be Misalign, processing is performed in the remaining two processing blocks according to the state of Misalign.

【0055】無効データ補完処理部24は、Align
ment判定処理部23から送信されてきた判定結果よ
り、データが条件(1)を満たしている場合は、直ち
に、書き込み要求、データ、論理アドレス、および判定
結果を、アドレス変換/アドレス管理処理部25に送信
する。また、データが条件(1)を満たしていない場
合、すなわち、Misalign状態の場合、無効デー
タ補完処理部24は、データに無効データを補完して、
パリティ計算ブロックの整数倍になるように処理し、ア
クセス要求、無効データが追加された新たなデータ、論
理アドレス、および判定結果をアドレス変換/アドレス
管理処理部25に送信する(図3のステップ304〜ス
テップ305)。
The invalid data complement processing unit 24 is provided with an Align
If the data satisfies the condition (1) based on the determination result transmitted from the ment determination processing unit 23, the write request, the data, the logical address, and the determination result are immediately converted to the address conversion / address management processing unit 25. Send to When the data does not satisfy the condition (1), that is, when the data is in the Misaligned state, the invalid data complement processing unit 24 complements the data with invalid data,
Processing is performed so as to be an integral multiple of the parity calculation block, and an access request, new data to which invalid data is added, a logical address, and a determination result are transmitted to the address conversion / address management processing unit 25 (step 304 in FIG. 3) ~ Step 305).

【0056】アドレス変換/アドレス管理処理部25
は、受信した判定結果より、受信したデータが条件
(2)を満たしている場合、直ちに、書き込み要求、デ
ータ、論理アドレス、およびデータをディスクアレイコ
ントローラ14に送信すると同時に、論理アドレスよ
り、保有していたアドレス管理テーブルの更新を行う。
条件(2)を満たしていない場合、データの書き込み開
始位置を書き込もうとしていたパリティ計算ブロックの
次のパリティ計算ブロックのオフセットに変更する実ア
ドレスの割り当てを行う。また、アドレス変換/アドレ
ス管理処理部25は、論理アドレスと仮想アドレスの対
応を示すアドレス情報を管理しているアドレス管理テー
ブルを保有している(図3のステップ306〜ステップ
309)。
Address conversion / address management processing unit 25
When the received data satisfies the condition (2) from the received determination result, the write request, the data, the logical address, and the data are immediately transmitted to the disk array controller 14 and, at the same time, the data is retained from the logical address. Update the address management table that was used.
If the condition (2) is not satisfied, a real address for changing the data write start position to the offset of the parity calculation block next to the parity calculation block to be written is allocated. The address conversion / address management processing unit 25 has an address management table for managing address information indicating the correspondence between the logical address and the virtual address (steps 306 to 309 in FIG. 3).

【0057】以下、Misalign状態の3つの場合
におけるAlignment判定処理部23、無効デー
タ補完処理部24、アドレス変換/アドレス管理処理部
25の処理を詳細に説明する。
The processing of the alignment determination processing unit 23, invalid data complement processing unit 24, and address conversion / address management processing unit 25 in the three cases of the Missing state will be described in detail below.

【0058】まず、条件(1)のみを満たさないMis
algin状態の場合について説明する。
First, Mis not satisfying only the condition (1)
The case of the algin state will be described.

【0059】この場合のデータの一例を図4の(a)の
塗りつぶし部分に示す。図4において、処理単位となる
パリティ計算ブロックサイズは4KB、パリティ計算ブ
ロックにおける個々のデータブロックサイズは512B
である。図4の(a)のデータは、論理アドレス[00
00h]、データサイズが6KBのデータである。
An example of the data in this case is shown in a shaded portion in FIG. In FIG. 4, the parity calculation block size as a processing unit is 4 KB, and the size of each data block in the parity calculation block is 512 B
It is. 4A is a logical address [00].
00h], and the data size is 6 KB.

【0060】Alignment判定処理部23は、受
信したデータを直ちに無効データ補完処理部24に送信
すると同時に、受信した論理アドレスとデータサイズよ
り、データの書き込み処理がAlignmentである
かどうかを判定する。Alignment判定処理部2
3は、論理アドレス[0000h]はパリティ計算ブロッ
クのオフセット値を示すブロック番号[00h]と一致し
ているが、データサイズ6KBはパリティ計算ブロック
サイズの4KBの倍数ではないことから、条件(1)の
みを満たさないMisalignという判定結果Aを、
無効データ補完処理部24に送信する。
The Alignment determination processing unit 23 immediately transmits the received data to the invalid data complement processing unit 24, and at the same time, determines whether the data write processing is Alignment based on the received logical address and data size. Alignment determination processing unit 2
3 is that the logical address [0000h] matches the block number [00h] indicating the offset value of the parity calculation block, but since the data size 6 KB is not a multiple of 4 KB of the parity calculation block size, the condition (1) The determination result A of Misaligning that does not satisfy only
The data is transmitted to the invalid data complement processing unit 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倍)のデータとなっている。
The invalid data complementing processing unit 24
judgment result A transmitted from the ment judgment processing unit 23
Accordingly, it is determined that the misalignment does not satisfy the condition (1), and 2 KB of invalid data is complemented and written so that the 6 KB data shown in FIG. 4A becomes the least common multiple of 8 KB of the parity calculation block 4 KB. Request, 8 KB data with invalid data added, logical address [00]
00h], and transmits the determination result A to the address conversion / address management processing unit 24. FIG. 4B shows 8 KB data to which invalid data has been added. As shown in the figure,
The data in FIG. 4B is data that is an integral multiple (2 times) of the parity calculation block by supplementing the data in FIG. 4A with 2 KB of invalid data indicated by hatching.

【0062】アドレス変換/アドレス管理処理部25
は、受信した判定結果Aより、条件(2)を満たしてい
ると判断し、直ちに、書き込み要求、8KBのデータ、
論理アドレス[0000h]をディスクアレイコントロー
ラ14に送信すると同時に、論理アドレス[0000h]
より、実アドレスの割り当てを行い、保有していたアド
レス管理テーブルの更新を行う。(表3)にアドレス変
換/アドレス管理処理部25が保有するアドレス管理テ
ーブルを示す。
Address conversion / address management processing unit 25
Determines from the received determination result A that the condition (2) is satisfied, and immediately, determines that the write request, 8 KB data,
The logical address [0000h] is transmitted to the disk array controller 14 at the same time as the logical address [0000h].
Then, real addresses are assigned and the address management table held is updated. (Table 3) shows an address management table held by the address conversion / address management processing unit 25.

【0063】[0063]

【表3】 [Table 3]

【0064】(表3)に示すように、アドレス管理テー
ブルはデータの論理アドレスと実アドレスの対応した形
で構成される。(表3)に示すように、判定結果Aより
受信したデータは条件(2)を満たしているので、論理
アドレス[0000h]と実アドレス[00h]は一致して
いる。
As shown in (Table 3), the address management table is composed of data logical addresses and real addresses. As shown in (Table 3), since the data received from the determination result A satisfies the condition (2), the logical address [0000h] matches the real address [00h].

【0065】次に、条件(2)のみを満たさないMis
alignの場合について説明する。
Next, Mis which does not satisfy only the condition (2)
The case of align will be described.

【0066】この場合のデータの一例を図5の(a)の
塗りつぶし部分に示す。図5において処理単位となるパ
リティ計算ブロックサイズは4KB、パリティ計算ブロ
ックにおける個々のデータブロックサイズは512Bで
ある。図5の(a)のデータは、データサイズが4K
B、論理アドレスが[0001h]のデータである。
An example of the data in this case is shown in a shaded portion in FIG. In FIG. 5, the parity calculation block size as a processing unit is 4 KB, and the size of each data block in the parity calculation block is 512 B. The data size of FIG. 5A is 4K.
B, data whose logical address is [0001h].

【0067】Alignment判定処理部23は受信
したデータを直ちに、無効データ補完処理部24に送信
すると同じに、受信した論理アドレスとデータのデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する。Alignment判定
処理部23は、データサイズ4KBはパリティ計算ブロ
ックサイズが4KBの整数倍であるが、論理アドレス
[0001h]とパリティ計算ブロックのオフセット値を
示すブロック番号[00h]とが一致していないことか
ら、条件(2)のみを満たさないMisalign状態
という判定結果Bを、無効データ補完処理部24に送信
する。
The Alignment determination processing unit 23 immediately transmits the received data to the invalid data complementing processing unit 24, and in accordance with the received logical address and the data size of the data, the Alignment processing unit 23
It is determined whether or not t. The Alignment determination processing unit 23 determines that the data size 4 KB is an integer multiple of the parity calculation block size 4 KB,
Since [0001h] does not match the block number [00h] indicating the offset value of the parity calculation block, the determination result B of the Misaligned state that does not satisfy only the condition (2) is transmitted to the invalid data complement processing unit 24. I do.

【0068】無効データ補完処理部24は、Align
ment判定処理部23から送信された判定結果Bよ
り、受信したデータは条件(1)を満たしているため補
完処理をする必要がないと判断し、送信されてきた書き
込み要求、データ、論理アドレス[0001h]、および
判定結果Bをアドレス変換/アドレス管理処理部24に
送信する。
The invalid data complementing processing unit 24
Based on the determination result B transmitted from the ment determination processing unit 23, it is determined that the received data satisfies the condition (1), so that it is not necessary to perform the complementing process, and the transmitted write request, data, and logical address [ 0001h] and the determination result B to the address conversion / address management processing unit 24.

【0069】アドレス変換/アドレス管理処理部25
は、受信した判定結果Bより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部25は、受信したデータの論理アドレス
[0001h] を、書き込みを行おうとしていたパリテ
ィ計算ブロック[00h]の次のパリティ計算ブロックの
オフセット値を示すブロック番号[01h]にシフトさせ
る為に、論理アドレス[0001h]に対して、7データ
サイズブロックだけシフトした実アドレス[0008h]
の割り当てを行い、その変換情報をアドレス管理テーブ
ルに保有する。
Address conversion / address management processing unit 25
Determines from the received determination result B that the received data does not satisfy the condition (2), and performs address conversion on the received logical address. The address conversion / address management processing unit 25 stores the logical address of the received data.
In order to shift [0001h] to the block number [01h] indicating the offset value of the parity calculation block next to the parity calculation block [00h] to be written, seven data are added to the logical address [0001h]. Real address shifted by size block [0008h]
And the translation information is held in the address management table.

【0070】(表4)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
Table 4 shows an address management table held by the address conversion / address management processing unit 25.

【0071】[0071]

【表4】 [Table 4]

【0072】(表4)に示すように、データ1の論理ア
ドレス[0001h]に対応する実アドレスとして[00
08h]が割り当てられているという変換情報が記述さ
れている。
As shown in (Table 4), the real address corresponding to the logical address [0001h] of data 1 is [00
08h] is assigned.

【0073】アドレス変換/アドレス管理処理部25は
アドレス管理テーブルの更新完了後、書き込み要求、デ
ータ、実アドレス[0008h]の情報をディスクアレイ
コントローラ14に送信する。
After updating the address management table, the address conversion / address management processing unit 25 sends a write request, data, and information on the real address [0008h] to the disk array controller 14.

【0074】最後に、条件(1)、(2)を満たさない
Misalgin状態の場合について説明する。
Finally, the case of the Misalgin state which does not satisfy the conditions (1) and (2) will be described.

【0075】この場合のデータの一例を図6の(a)の
塗りつぶし部分に示す。図6において、処理単位となる
パリティ計算ブロックサイズは4KB、処理単位となる
パリティ計算ブロックにおける個々のブロックサイズは
512Bである。図6の(a)のデータは、論理アドレ
ス[0001h]、データサイズが6KBのデータであ
る。
An example of the data in this case is shown in a shaded portion in FIG. In FIG. 6, the parity calculation block size as a processing unit is 4 KB, and the size of each block in the parity calculation block as a processing unit is 512B. The data in FIG. 6A is data having a logical address [0001h] and a data size of 6 KB.

【0076】Alignment判定処理部23は受信
したデータを直ちに、無効データ補完処理部24に送信
すると同時に、受信した論理アドレス[0001h]とデ
ータのデータサイズより、データの書き込み処理がAl
ignmentであるかどうかを判定する。Align
ment判定処理部23は、データサイズ6KBがパリ
ティ計算ブロックサイズの4KBの倍数ではなく、論理
アドレス[0001h]とパリティ計算ブロックのオフセ
ット値を示すブロック番号[00h]と一致していないこ
とから、条件(1)、(2)を満たさないMisali
gnであるという判定結果Cを無効データ補完処理部2
4に送信する。
The Alignment determination processing unit 23 immediately transmits the received data to the invalid data complementing processing unit 24, and at the same time, based on the received logical address [0001h] and the data size of the data, the data writing processing is performed in the Al.
It is determined whether or not the current item is an image identification. Align
Since the data size 6 KB is not a multiple of 4 KB of the parity calculation block size and does not match the logical address [0001h] and the block number [00h] indicating the offset value of the parity calculation block, Misali that does not satisfy (1) and (2)
gn as the invalid data complement processing unit 2
Send to 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倍)のデータとなっ
ている。
The invalid data complement processing unit 24
judgment result C transmitted from the ment judgment processing unit 23
From the above, it is determined that the misaligned state does not satisfy the condition (1), and 2 KB of invalid data is complemented such that the 6 KB data shown in FIG. 6A is the least common multiple of 8 KB with the parity calculation block 4 KB, A write request, new 8 KB data to which invalid data is added, a logical address [0001h], and a determination result C are transmitted to the address conversion / address management processing unit 25. FIG. 6B shows 8 KB data to which invalid data has been added. As shown in the figure, the data of FIG. 6B is supplemented with the data of FIG. 6A by 2 KB of invalid data indicated by hatching.
The data is an integral multiple (twice) of the parity calculation block.

【0078】アドレス変換/アドレス管理処理部25
は、受信した判定結果Cより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部25は、受信したデータの論理アドレス
[0001h]を、書き込みを行おうとしていたパリティ
計算ブロック[00h]の次のパリティ計算ブロックのオ
フセット値を示すブロック番号[01h]にシフトさせる
為に、論理アドレス[0001h]に対して、7データサ
イズブロックだけシフトした実アドレス[0008h]の
割り当てを行い、その変換情報をアドレス管理テーブル
に保有する。
Address conversion / address management processing unit 25
Determines from the received determination result C that the received data does not satisfy the condition (2), and performs address conversion on the received logical address. The address conversion / address management processing unit 25 stores the logical address of the received data.
To shift [0001h] to the block number [01h] indicating the offset value of the parity calculation block next to the parity calculation block [00h] to be written, seven data are added to the logical address [0001h]. The real address [0008h] shifted by the size block is assigned, and the conversion information is held in the address management table.

【0079】(表5)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
Table 5 shows an address management table held by the address conversion / address management processing unit 25.

【0080】[0080]

【表5】 [Table 5]

【0081】(表5)に示すように、論理アドレス[0
001h]に対して実アドレスとして[0008h]が割
り当てられているという変換情報が記述されている。
As shown in (Table 5), the logical address [0
001h] is described as conversion information indicating that [0008h] is assigned as a real address.

【0082】アドレス変換/アドレス管理処理部25は
アドレス管理テーブルの更新完了後、書き込み要求、8
KBのデータ、実アドレス[0008h]の情報をディス
クアレイコントローラ14に送信する。
After the address conversion / address management processing section 25 completes the update of the address management table, the address
The data of the KB and the information of the real address [0008h] are transmitted to the disk array controller 14.

【0083】ディスクアレイコントローラ14は、受信
したデータを分割し、分割したデータよりパリティデー
タを生成し、実アドレスと分割データ、パリティデー
タ、および書き込み要求をデバイスコントローラ15a
〜15eに送る。この場合、4つのディスク装置が接続
されているのでディスクアレイコントローラはデータを
4分割する。デバイスコントローラ15a〜15dは受
信した実アドレスに従って、分割データをディスク装置
16a〜16dに記録させ、デバイスコントローラ15
eはパリティデータをディスク装置16eに記録させ
る。
The disk array controller 14 divides the received data, generates parity data from the divided data, and transmits the real address, the divided data, the parity data, and the write request to the device controller 15a.
~ 15e. In this case, since four disk devices are connected, the disk array controller divides the data into four. The device controllers 15a to 15d record the divided data in the disk devices 16a to 16d according to the received real addresses, and
e causes the disk device 16e to record the parity data.

【0084】以下、読み込み処理の場合について説明す
る。
Hereinafter, the case of the reading process will be described.

【0085】ディスクアレイコントローラ14はホスト
アダプタ12、Alignment判定処理部13を介
して送信されたホスト11の読み込み要求と論理アドレ
を受信し、受信した論理アドレスをアドレス変換/アド
レス管理処理部25が保有しているアドレス管理テーブ
ルを参照して実アドレスに変換する。(図3のステップ
310)。
The disk array controller 14 receives the read request and the logical address of the host 11 transmitted via the host adapter 12 and the alignment determination processing unit 13, and the received logical address is held by the address conversion / address management processing unit 25. The address is converted to a real address by referring to the address management table. (Step 310 in FIG. 3).

【0086】(表3)にアドレス変換/アドレス管理処
理部25が保有しているアドレス管理テーブルを示す。
ディスクアレイコントローラ14は(表3)のアドレス
管理テーブルより論理アドレス[0001h]に対応する
実アドレス[0008h]を得、読み込み要求、実アドレ
ス[0008h]をデバイスコントローラ15a〜15e
に送信し、デバイスコントローラ15a〜15eは受信
した実アドレスに従ってディスク装置16a〜16eに
記録されている分割データ、パリティデータを読み出
し、ディスクアレイコントローラ14に送信する。ディ
スクアレイコントローラ14は受信したパリティデータ
でパリティチェックを行い、分割データを結合して、A
lignment判定処理部13、ホストアダプタ12
を介してホスト11に読み出したデータを送信する。
Table 3 shows an address management table held by the address conversion / address management processing unit 25.
The disk array controller 14 obtains the real address [0008h] corresponding to the logical address [0001h] from the address management table of (Table 3), and sends a read request and the real address [0008h] to the device controllers 15a to 15e.
The device controllers 15a to 15e read the divided data and parity data recorded in the disk devices 16a to 16e according to the received real addresses, and transmit the data to the disk array controller 14. The disk array controller 14 performs a parity check on the received parity data, combines the divided data,
alignment determination processing unit 13, host adapter 12
The read data is transmitted to the host 11 via the.

【0087】(実施の形態2)実施の形態2では、Al
ignment処理機能をディスクアレイコントローラ
内部に持たせ、Misalignが発生した書き込み要
求をAlignmentの書き込み要求にする場合につ
いて説明する。
(Embodiment 2) In Embodiment 2, Al
A case will be described in which an assignment processing function is provided inside the disk array controller, and a write request in which a misalignment occurs is made an alignment write request.

【0088】図7は、本発明の第2の発明の一実施の形
態のディスクアレイ装置の構成を示すブロック図であ
る。
FIG. 7 is a block diagram showing a configuration of a disk array device according to an embodiment of the second invention of the present invention.

【0089】図7において、71はI/O処理を指示す
るホスト、72はホスト71と接続する装置を制御する
ホストアダプタ、73は書き込み時にはホストアダプタ
72より入力されるデータにAlignment処理を
行った後、データを分割し、分割したデータのパリティ
データを生成し、読み込み時にはパリティチェックを行
った後分割データを結合するディスクアレイコントロー
ラ、74a〜74eはディスクアレイコントローラ73
より入力されたデータのI/O処理を制御するデバイス
コントローラ、75a〜75eはそれぞれデバイスコン
トローラ74a〜74eの制御に従ってデータのI/O
処理を行うディスク装置である。
In FIG. 7, reference numeral 71 denotes a host for instructing I / O processing; 72, a host adapter for controlling a device connected to the host 71; 73, an alignment process for data input from the host adapter 72 at the time of writing; Thereafter, the disk array controller 74 divides the data, generates parity data of the divided data, performs a parity check at the time of reading, and combines the divided data, and 74a to 74e are disk array controllers 73.
The device controllers 75a to 75e for controlling the I / O processing of the input data are controlled by the device controllers 74a to 74e.
This is a disk device that performs processing.

【0090】以上のように構成されたディスクアレイ装
置について、図面を参照しながら説明する。
The disk array device configured as described above will be described with reference to the drawings.

【0091】ホスト71は、ホストアダプタ72経由
で、書き込み要求とデータの論理アドレス、およびデー
タをディスクアレイコントローラ73に送信する。ディ
スクアレイコントローラ73は受信したデータにAli
gnment処理、分割処理などを行う。
The host 71 transmits a write request, a logical address of data, and data to the disk array controller 73 via the host adapter 72. The disk array controller 73 adds Ali to the received data.
Gnent processing, division processing and the like are performed.

【0092】以下、ディスクアレイコントローラ73の
処理を図8、図9を用いて詳細に説明する。図8はディ
スクアレイコントローラ73の詳細なブロック図、図9
はディスクアレイコントローラ73の処理を示すフロー
チャートである。
Hereinafter, the processing of the disk array controller 73 will be described in detail with reference to FIGS. FIG. 8 is a detailed block diagram of the disk array controller 73, and FIG.
9 is a flowchart showing the processing of the disk array controller 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より出力されたデー
タにパリティデータを生成するパリティ処理部である。
In FIG. 8, reference numeral 81 denotes a command processing unit for processing a command received from the host 71, and 82 receives data output from the command processing unit 81 and performs an alignment determination on the data write processing.
a host data reception / transmission processing unit for transmitting to the alignment determination processing unit 83; 84, a host data division / combination processing unit for dividing the data output from the alignment determination processing unit 83; and 85, an output from the alignment determination processing unit 83 An invalid data complementing processing unit that complements the divided data with invalid data according to the determination result.
an address conversion / address management processing unit that converts a logical address of the data output from the invalid data complement processing unit 85 into a real address according to the determination result output from the identification determination processing unit 83, and manages both addresses; 8
A parity processing unit 7 generates parity data for the data output from the address conversion / management processing unit 86.

【0094】以下、書き込み処理の場合を説明する。Hereinafter, the case of the writing process will be described.

【0095】コマンド処理部81は、ホスト71から送
信されてきたアクセス要求が書き込み処理であるか読み
込み処理であるかの判定を行い、判定結果およびホスト
71から受信したデータをホストデータ受信/送信処理
部82を介してAlignment判定処理部83に送
信する(図9のステップ901〜ステップ902)。
The command processing unit 81 determines whether the access request transmitted from the host 71 is a write process or a read process, and transmits the determination result and the data received from the host 71 to the host data reception / transmission process. It is transmitted to the Alignment determination processing unit 83 via the unit 82 (steps 901 to 902 in FIG. 9).

【0096】Alignment判定処理部83は、受
信した論理アドレスとデータのデータサイズからデータ
の書き込み処理がAlignmentであるか否かの判
定を行い、判定結果を受信したデータと共にホストデー
タ分割/結合処理部84へ送信する(図9のステップ9
03)。
The Alignment determination processing unit 83 determines whether or not the data write processing is Alignment based on the received logical address and the data size of the data, and determines the host data division / combination processing unit together with the received data. 84 (step 9 in FIG. 9).
03).

【0097】ここで、Alignment状態とは、以
下の(1)(2)の条件を満たす場合を指す。 (1)データサイズブロックが、ハードディスクの最小
単位1セクタ(512B)の整数倍であり、かつパリテ
ィ計算ブロック(512Bの整数倍サイズ)の整数倍で
ある。 (2)データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのAlignment境界であるオ
フセットと一致する。
Here, the Alignment state indicates a case where the following conditions (1) and (2) are satisfied. (1) The data size block is an integral multiple of the minimum unit 1 sector (512B) of the hard disk and an integral multiple of the parity calculation block (the integral multiple size of 512B). (2) The address indicating the data write start position matches the offset that is the alignment boundary of the parity calculation block.

【0098】また、2つの条件のいずれか一つでも満た
さない状態をMisalignと定義する。
A state in which any one of the two conditions is not satisfied is defined as Misalign.

【0099】Alignment判定処理部83は受信
したデータの書き込み処理がAlignmentである
と判定した場合、受信したデータと判定結果をホストデ
ータ分割/統合処理部84に送信する。
When the alignment determination processing unit 83 determines that the write processing of the received data is the alignment, the alignment determination processing unit 83 transmits the received data and the determination result to the host data division / integration processing unit 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へ送信する。
The host data division / combination processing unit 84 performs division processing on the received data in units of parity calculation blocks (step 904 in FIG. 9), and transmits the determination result and the divided data to the invalid data complement processing unit 85. I do. The invalid data complement processing unit 85 determines that the data satisfies the condition (1) based on the received determination result, and transmits the received data to the address conversion / translation processing unit 86 as it is (step 905 in FIG. 9). The address translation / management processing unit 86
It is determined from the received determination result that the data satisfies the condition (2) (step 907 in FIG. 9), and the received data is transmitted to the parity processing unit 87 (step 90 in FIG. 9).
9). When the determination result is Alignment, FIG.
The address conversion shown in step 909 is not performed.
The parity processing unit 87 generates parity data from the received data (step 910 in FIG. 9),
The divided data, the parity data, and the logical address are transmitted to the device controllers 74a to 74e.

【0101】以下、Misalign状態の3つの場合
における各処理部の処理を詳細に説明する。
Hereinafter, the processing of each processing unit in the three cases of the Misalign state will be described in detail.

【0102】まず、条件(1)のみを満たさないMis
algin状態の場合について説明する。
First, Mis not satisfying only the condition (1)
The case of the algin state will be described.

【0103】この場合のデータの一例を図10の(a)
の塗りつぶし部分に示す。図10において、処理単位と
なるパリティ計算ブロックサイズは4KB、パリティ計
算ブロックにおける個々のブロックサイズは512Bで
ある。図10の(a)のデータは、論理アドレス[00
00h]、データサイズが6KBのデータである。
An example of the data in this case is shown in FIG.
Is shown in the shaded area. In FIG. 10, the parity calculation block size as a processing unit is 4 KB, and the size of each block in the parity calculation block is 512 B. The data in (a) of FIG.
00h], and the data size is 6 KB.

【0104】Alignment判定処理部83は受信
した論理アドレスとデータサイズよりデータの書き込み
処理がAlignmentであるかどうかを判定する
(図9のステップ903)。Alignment判定処
理83は、論理アドレス[0000h]はパリティ計算ブ
ロックのオフセット値を示すブロック番号[00h]と一
致しているが、データサイズ6KBはパリティ計算ブロ
ックサイズの4KBの倍数ではないことから、条件
(1)のみ満たさないMisalignという判定結果
Aと共にデータ、論理アドレス、書き込み要求をホスト
データ分割/結合処理部84に送信する。
The Alignment determination processing section 83 determines whether the data write processing is Alignment based on the received logical address and data size (step 903 in FIG. 9). In the alignment determination processing 83, since the logical address [0000h] matches the block number [00h] indicating the offset value of the parity calculation block, since the data size 6 KB is not a multiple of 4 KB of the parity calculation block size, the condition A data, a logical address, and a write request are transmitted to the host data division / combination processing unit 84 together with the determination result A of Missing that does not satisfy (1).

【0105】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス、そして分割データを送信する
(図9のステップ904)。この場合、データ用のディ
スク装置は4つ用意されているので、ホストデータ分割
/結合処理部84はデータを4分割する。
The host data division / combination processing unit 84 divides the received data into 4 KB parity calculation blocks, and transmits the determination result A, the write request, the logical address, and the divided data to the invalid data complement processing unit 85. (Step 904 in FIG. 9). In this case, since four disk devices for data are prepared, the host data division / combination processing unit 84 divides the data into four.

【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倍)のデータとなっている。
The invalid data complementing processing unit 85 determines from the determination result A transmitted from the host data dividing / combining processing 84 that the misalignment does not satisfy the condition (1), and is shown in FIG. 10A. 2 so that 6 KB of data is the least common multiple of the parity calculation block.
A write request, 8 KB data to which invalid data is added, and a logical address [0000] supplementing the invalid data of KB.
h], and transmits the determination result A to the address translation / address management processing unit 86 (steps 905 and 90 in FIG. 9).
6). 8 KB with invalid data added to (b) in FIG.
The data of is shown. As shown in the figure, the data of FIG. 10B is the same as the data of FIG.
Is complemented by invalid data, the data becomes an integer multiple (twice) of the parity calculation block.

【0107】アドレス変換/アドレス管理処理部86
は、受信した判定結果Aより、条件(2)を満たしてい
ると判断し、直ちに、書き込み要求、無効データを補完
した分割データ、論理アドレス[0000h]をパリティ
処理部87に送信すると同時に、論理アドレス[000
0h]より、実アドレスの割り当てを行い、保有してい
たアドレス管理テーブルの更新を行う(図9のステップ
907、ステップ909)。(表4)にアドレス変換/
アドレス管理処理部86が保有するアドレス管理テーブ
ルを示す。
Address conversion / address management processing unit 86
Determines from the received determination result A that the condition (2) is satisfied, immediately transmits the write request, the divided data complementing the invalid data, and the logical address [0000h] to the parity processing unit 87, and simultaneously Address [000
[0h], real addresses are assigned, and the address management table held is updated (steps 907 and 909 in FIG. 9). (Table 4)
5 shows an address management table held by the address management processing unit 86.

【0108】[0108]

【表6】 [Table 6]

【0109】(表6)に示すように、アドレス管理テー
ブルはデータの論理アドレスと実アドレスの対応した形
で構成される。この場合、判定結果Aより受信したデー
タは条件(2)を満たしているので、論理アドレスと実
アドレスは一致している。
As shown in (Table 6), the address management table is composed of data logical addresses and real addresses. In this case, since the data received from the determination result A satisfies the condition (2), the logical address and the real address match.

【0110】アドレス変換/アドレス管理処理部86は
アドレス管理テーブルの更新完了後、書き込み要求、分
割データ、実アドレス[0000h]の情報をパリティ処
理部87に送信する。
After the updating of the address management table is completed, the address conversion / address management processing unit 86 transmits a write request, divided data, and information on the real address [0000h] to the parity processing unit 87.

【0111】パリティ処理部87は受信したデータより
パリティデータを生成し、書き込み要求、データ、パリ
ティデータ、および実アドレスをデバイスコントローラ
74a〜74eに送信する(図9のステップ910)。
The parity processing section 87 generates parity data from the received data, and transmits a write request, data, parity data, and a real address to the device controllers 74a to 74e (step 910 in FIG. 9).

【0112】次に、条件(2)のみを満たさないMis
alignの場合について説明する。
Next, Mis which does not satisfy only the condition (2)
The case of align will be described.

【0113】この場合のデータの一例を図11の(a)
の塗りつぶし部分に示す。図11において1ブロックは
512Bのデータサイズブロックを示し、図11の
(a)のデータは、処理単位となるデータサイズが4K
B、論理アドレスが[0001h]のデータである。
An example of the data in this case is shown in FIG.
Is shown in the shaded area. In FIG. 11, one block indicates a data size block of 512B, and the data of FIG.
B, data whose logical address is [0001h].

【0114】Alignment判定処理部83は受信
したデータを直ちに、ホストデータ分割/結合処理部8
4に送信すると同じに、受信した論理アドレスとデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する(図9のステップ90
3)。Alignment判定処理部83は、データサ
イズ4KBはパリティ計算ブロックサイズが4KBの整
数倍であるが、論理アドレス[0001h]とパリティ計
算ブロックのオフセット値を示すブロック番号[00h]
とが一致していないことから、条件(2)のみを満たさ
ないMisalign状態という判定結果Bを、ホスト
データ分割/結合処理部84に送信する。
The Alignment determination processing unit 83 immediately converts the received data into the host data division / combination processing unit 8.
4, the data writing process is performed based on the received logical address and data size.
t is determined (step 90 in FIG. 9).
3). The Alignment determination processing unit 83 determines that the data size 4 KB is an integer multiple of the parity calculation block size of 4 KB, but the logical address [0001h] and the block number [00h] indicating the offset value of the parity calculation block.
Are not coincident with each other, the determination result B indicating the Missing state that does not satisfy only the condition (2) is transmitted to the host data division / combination processing unit 84.

【0115】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス[0001h]、そして分割デー
タを送信する(図9のステップ904)。この場合、デ
ータ用のディスク装置は4つ用意されているので、ホス
トデータ分割/結合処理部84はデータを4分割する。
The host data division / combination processing unit 84 divides the received data into 4 KB parity calculation blocks, and sends the invalid data complement processing unit 85 the judgment result A, the write request, the logical address [0001h], and The data is transmitted (step 904 in FIG. 9). In this case, since four disk devices for data are prepared, the host data division / combination processing unit 84 divides the data into four.

【0116】無効データ補完処理部85は、ホストデー
タ分割/結合処理部84から送信されてきた判定結果B
より、受信したデータは条件(1)を満たしているため
補完処理をする必要がないと判断し、書き込み要求、デ
ータ、論理アドレス[0001h]、および判定結果Bを
アドレス変換/アドレス管理処理部86に送信する(図
9のステップ905)。
The invalid data complement processing unit 85 determines the determination result B transmitted from the host data division / combination processing unit 84.
Therefore, it is determined that the received data satisfies the condition (1), and thus it is not necessary to perform the complementing process. (Step 905 in FIG. 9).

【0117】アドレス変換/アドレス管理処理部86
は、受信した判定結果Bより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う。アドレス変換/アドレ
ス管理処理部86は、受信したデータの論理アドレス
[0001h] を、書き込みを行おうとしていたパリテ
ィ計算ブロック[00h]の次のパリティ計算ブロックの
オフセット値を示すブロック番号[01h]にシフトさせ
る為に、論理アドレス[0001h]に対して、7データ
サイズブロックだけシフトした実アドレス[0008h]
の割り当てを行い、その変換情報をアドレス管理テーブ
ルに保有する(図9のステップ907〜ステップ90
9)。
Address conversion / address management processing unit 86
Determines from the received determination result B that the received data does not satisfy the condition (2), and performs address conversion on the received logical address. The address conversion / address management processing unit 86 calculates the logical address of the received data.
In order to shift [0001h] to the block number [01h] indicating the offset value of the parity calculation block next to the parity calculation block [00h] to be written, seven data are added to the logical address [0001h]. Real address shifted by size block [0008h]
And the translation information is held in the address management table (steps 907 to 90 in FIG. 9).
9).

【0118】(表7)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
Table 7 shows an address management table held by the address conversion / address management processing unit 86.

【0119】[0119]

【表7】 [Table 7]

【0120】(表7)に示すように、データの論理アド
レス[0001h]に対応する実アドレスとして[000
8h]が割り当てられているという変換情報が記述され
る。アドレス変換/アドレス管理処理部86はアドレス
管理テーブルの更新完了後、書き込み要求、分割デー
タ、実アドレス[0008h]の情報をパリティ処理部8
7に送信する。
As shown in (Table 7), [000] is set as the real address corresponding to the logical address [0001h] of the data.
8h] is described. After the update of the address management table is completed, the address conversion / address management processing unit 86 transmits the write request, the divided data, and the information of the real address [0008h] to the parity processing unit 8.
7

【0121】パリティ処理部87は受信したデータより
パリティデータを生成し、書き込み要求、データ、パリ
ティデータ、および実アドレスをデバイスコントローラ
74a〜74eに送信する(図9のステップ910)。
The parity processing section 87 generates parity data from the received data, and transmits a write request, data, parity data, and a real address to the device controllers 74a to 74e (step 910 in FIG. 9).

【0122】最後に、条件(1)、(2)を満たさない
Misalgin状態の場合について説明する。
Finally, the case of the Misalgin state which does not satisfy the conditions (1) and (2) will be described.

【0123】この場合のデータの一例を図12の(a)
の塗りつぶし部分に示す。図12において、処理単位と
なるパリティ計算ブロックサイズは4KB、パリティ計
算ブロックにおける個々のブロックサイズは512Bで
ある。図12の(a)のデータは、論理アドレス[00
01h]、データサイズが4KBのデータである。
An example of the data in this case is shown in FIG.
Is shown in the shaded area. In FIG. 12, the parity calculation block size as a processing unit is 4 KB, and the size of each block in the parity calculation block is 512 B. The data in (a) of FIG.
01h], and the data size is 4 KB.

【0124】Alignment判定処理部83は受信
したデータを直ちに、ホストデータ分割/結合処理部8
4に送信すると同じに、受信した論理アドレスとデータ
サイズより、データの書き込み処理がAlignmen
tであるかどうかを判定する(図9のステップ90
3)。Alignment判定処理部83は、データサ
イズがパリティ計算ブロックサイズの4KBの倍数では
なく、論理アドレス[0001h]とパリティ計算ブロッ
クのオフセット値を示すブロック番号[00h]と一致し
ていないことから、条件(1)、(2)を満たさないM
isalignであるという判定結果Cをホストデータ
分割/結合処理部84に送信する。
The Alignment determination processing unit 83 immediately converts the received data into the host data division / combination processing unit 8.
4, the data writing process is performed based on the received logical address and data size.
t is determined (step 90 in FIG. 9).
3). The Alignment determination processing unit 83 determines that the data size is not a multiple of 4 KB of the parity calculation block size and does not match the logical address [0001h] and the block number [00h] indicating the offset value of the parity calculation block. M that does not satisfy 1) and (2)
The determination result C indicating that the command is isalign is transmitted to the host data division / combination processing unit 84.

【0125】ホストデータ分割/結合処理部84は、受
信したデータを4KBのパリティ計算ブロック単位に分
割し、無効データ補完処理部85に、判定結果A、書き
込み要求、論理アドレス[0001h]、および分割デー
タを送信する(図9のステップ904)。この場合、デ
ータ用のディスク装置は4つ用意されているので、ホス
トデータ分割/結合処理部84はデータを4分割する。
The host data division / combination processing unit 84 divides the received data into 4 KB parity calculation blocks, and sends the invalid data complement processing unit 85 the judgment result A, the write request, the logical address [0001h], and the division The data is transmitted (step 904 in FIG. 9). In this case, since four disk devices for data are prepared, the host data division / combination processing unit 84 divides the data into four.

【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倍)のデータとなっている。
The invalid data complement processing unit 85 determines the judgment result C transmitted from the host data division / combination processing unit 84.
From the above, it is determined that the misaligned state does not satisfy the condition (1), and 2 KB of invalid data is complemented so that the 6 KB data shown in FIG. 12A becomes the least common multiple of the parity calculation block, After performing processing to indicate that the data is invalid data, the write request, the divided data to which the invalid data has been added, the logical address [0001h], and the determination result C are converted to an address conversion / address management processing unit 8.
6 (steps 905 and 90 in FIG. 9).
6). 8 KB with invalid data added to (b) of FIG.
The data of is shown. As shown in FIG. 12, the data shown in FIG. 12B is obtained by complementing the data shown in FIG. 6A with invalid data indicated by hatching, so that the data is an integer multiple (twice) of the parity calculation block. It has become.

【0127】アドレス変換/アドレス管理処理部86
は、受信した判定結果Cより、受信したデータが条件
(2)を満たしていないと判断し、受信した論理アドレ
スに対してアドレス変換を行う(図9のステップ90
7、ステップ908)。アドレス変換/アドレス管理処
理部86は、受信したデータの論理アドレス[0001
h]を、書き込みを行おうとしていたパリティ計算ブロ
ック[00h]の次のパリティ計算ブロックのオフセット
値を示すブロック番号[01h]にシフトさせる為に、論
理アドレス[0001h]に対して、7データサイズブロ
ックだけシフトした仮想アドレス[0008h]の割り当
てを行い、その変換情報をアドレス管理テーブルに保有
する(図9のステップ909)。
Address conversion / address management processing unit 86
Determines from the received determination result C that the received data does not satisfy the condition (2), and performs address conversion on the received logical address (step 90 in FIG. 9).
7, step 908). The address translation / address management processing unit 86 stores the logical address [0001
h] is shifted to the block number [01h] indicating the offset value of the parity calculation block next to the parity calculation block [00h] to which writing is to be performed. The virtual address [0008h] shifted by the block is assigned, and the conversion information is held in the address management table (step 909 in FIG. 9).

【0128】(表8)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
Table 8 shows an address management table held by the address conversion / address management processing unit 86.

【0129】[0129]

【表8】 [Table 8]

【0130】(表8)に示すように、データの論理アド
レス[0001h]に対して実アドレスとして[0008
h]が割り当てられている変換情報が記述される。アド
レス変換/アドレス管理処理部86はアドレス管理テー
ブルの更新完了後、書き込み要求、分割データ、実アド
レス[0008h]の情報をパリティ処理部87に送信す
る。
As shown in (Table 8), the logical address [0001h] of the data is [0008] as the real address.
h] is described. After updating the address management table, the address conversion / address management processing unit 86 transmits the write request, the divided data, and the information of the real address [0008h] to the parity processing unit 87.

【0131】パリティ処理部87は受信した分割データ
よりパリティデータを生成し、書き込み要求、分割デー
タ、パリティデータ、および実アドレスをデバイスコン
トローラ74a〜74eに送信する(図9のステップ9
10)。
The parity processing section 87 generates parity data from the received divided data, and transmits the write request, the divided data, the parity data, and the real address to the device controllers 74a to 74e (step 9 in FIG. 9).
10).

【0132】デバイスコントローラ74a〜74dは受
信した実アドレスに従って、分割データをディスク装置
74a〜74dに記録させ、デバイスコントローラ74
eはパリティデータをディスク装置74eに記録させ
る。
The device controllers 74a to 74d record the divided data in the disk devices 74a to 74d in accordance with the received real addresses, and
e causes the parity data to be recorded in the disk device 74e.

【0133】以下、読み込み処理の場合について説明す
る。
Hereinafter, the case of the reading process will be described.

【0134】ディスクアレイコントローラ73はホスト
アダプタ72を介して送信されたホスト71の読み込み
要求と論理アドレを受信し、受信した論理アドレスをア
ドレス変換/アドレス管理処理部86が保有しているア
ドレス管理テーブルを参照して実アドレスに変換する。
(図9のステップ911)。
The disk array controller 73 receives the read request and the logical address of the host 71 transmitted via the host adapter 72, and converts the received logical address into an address management table held by the address translation / address management processing unit 86. And convert it to a real address.
(Step 911 in FIG. 9).

【0135】(表8)にアドレス変換/アドレス管理処
理部86が保有しているアドレス管理テーブルを示す。
ディスクアレイコントローラ73は(表8)のアドレス
管理テーブルより論理アドレス[0001h]に対応する
実アドレス[0008h]を得、読み込み要求、実アドレ
ス[0008h]をデバイスコントローラ74a〜74e
に送信し、デバイスコントローラ74a〜74eは受信
した実アドレスに従ってディスク装置75a〜75eに
記録されている分割データ、パリティデータを読み出
し、ディスクアレイコントローラ73に送信する。ディ
スクアレイコントローラ73は受信したパリティデータ
でパリティチェックを行い、分割データを結合して、ホ
ストアダプタ72を介してホスト71に読み出したデー
タを送信する。
Table 8 shows an address management table held by the address conversion / address management processing unit 86.
The disk array controller 73 obtains the real address [0008h] corresponding to the logical address [0001h] from the address management table of (Table 8), and sends a read request and the real address [0008h] to the device controllers 74a to 74e.
The device controllers 74a to 74e read the divided data and parity data recorded in the disk devices 75a to 75e according to the received real addresses, and transmit the data to the disk array controller 73. The disk array controller 73 performs a parity check on the received parity data, combines the divided data, and transmits the read data to the host 71 via the host adapter 72.

【0136】なお、本発明において、条件(1)を満た
さないMisalignである場合に、無効データを補
完せずに、アドレス変換/アドレス管理部で次のデータ
の書き込み開始位置を、前回書き込まれたデータの最終
パリティ計算ブロックの次のパリティ計算ブロックのオ
フセットに一致させることにより、動作的には、常にA
lignment状態と同じ様な処理(擬似Align
ment)が実現できる。
In the present invention, when Misalign does not satisfy the condition (1), the address conversion / address management unit sets the write start position of the next data by the address translation / address management unit without complementing the invalid data. Operationally, by matching the offset of the parity calculation block next to the last parity calculation block of data, A
Processing similar to the alignment state (pseudo Align
ment) can be realized.

【0137】また、本発明において、条件(1)と
(2)の双方を満たさないMisalignである場合
に、アドレス変換/管理処理部は、初めて記録するデー
タは、データの書き込み開始位置を示すアドレスが、パ
リティ計算ブロックのオフセットと一致していないの
で、データを書き込もうとしていたパリティ計算ブロッ
クの次のパリティ計算ブロックのオフセットに、データ
の書き込み開始位置を変更し、、次のデータの書き込み
開始位置を、前回書き込まれたデータの最終パリティ計
算ブロックの次のパリティ計算ブロックのオフセットに
一致させることにより、動作的には、常にAlignm
ent状態と同じ様な処理(擬似Alignment)
が実現できる。
Further, in the present invention, when Misalign does not satisfy both of the conditions (1) and (2), the address conversion / management processing section sets the data to be recorded for the first time as the address indicating the data write start position. However, since the data does not match the offset of the parity calculation block, the data write start position is changed to the offset of the parity calculation block next to the parity calculation block for which data was to be written, and the write start position of the next data is changed. Is consistent with the offset of the parity calculation block next to the last parity calculation block of the previously written data.
Processing similar to the ent state (pseudo Alignment)
Can be realized.

【0138】また、本発明では、Alignment処
理を行うために無効データ補完処理部とアドレス変換/
管理処理部を具備したが、条件(1)、または(2)の
どちらかを必ず満たす前提条件がある場合は、必ずしも
双方の処理を具備しなくてもよい。
In the present invention, an invalid data complement processing unit and an address conversion /
Although the management processing unit is provided, if there is a precondition that always satisfies either the condition (1) or (2), it is not always necessary to provide both processes.

【0139】また、本発明では、アドレスの変換の方法
として、アドレス管理を行うアドレス管理テーブルを設
けた場合について述べたが、固定長のアドレスをシフト
させる場合、レジスタなどを用いて、アドレス変換を実
施した場合でも同様の効果が得られる。
Further, in the present invention, the case where an address management table for performing address management is provided as a method of address conversion, but when a fixed-length address is shifted, address conversion is performed using a register or the like. The same effect can be obtained even when it is implemented.

【0140】また、本発明では、処理単位となるパリテ
ィ計算ブロックサイズを4KBとして説明したが、これ
に限定するものではなく、512Bの整数倍サイズであ
ればよい。
In the present invention, the parity calculation block size serving as a processing unit has been described as 4 KB, but the present invention is not limited to this, and may be any integer multiple of 512 B.

【0141】また、本発明では、アドレス管理テーブル
には論理アドレスとそれに対応する実アドレスを記述し
たが、これに限定するものではない。
In the present invention, the logical address and the corresponding real address are described in the address management table, but the present invention is not limited to this.

【0142】[0142]

【発明の効果】以上の説明から明らかなように、本発明
のディスクアレイ装置によれば、Misalignが発
生する書き込み要求があった場合、後続のデータの書き
込みをAlignmentで行えるようデータの補完や
アドレス変換を行うAlignment処理機能を有す
ることで、後続のI/O処理をAlignmentで行
うことができ、Alignment状態と同様の性能を
発揮できる。
As is apparent from the above description, according to the disk array system of the present invention, when there is a write request in which Misalignment occurs, data complement and address can be performed so that subsequent data can be written by Alignment. By having the alignment processing function for performing the conversion, the subsequent I / O processing can be performed in the alignment, and the same performance as in the alignment state can be exhibited.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態1におけるディスクアレイ
装置の構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of a disk array device according to a first embodiment of the present invention.

【図2】同Alignment処理部の詳細な構成を示
すブロック図
FIG. 2 is a block diagram showing a detailed configuration of the Alignment processing unit.

【図3】同Alignment処理部の動作を説明する
フローチャート
FIG. 3 is a flowchart for explaining the operation of the Alignment processing unit;

【図4】同無効データ補完処理の一例を説明する図FIG. 4 is a view for explaining an example of the invalid data complementing process.

【図5】同アドレス変換処理の一例を説明する図FIG. 5 is a view for explaining an example of the address conversion process.

【図6】同無効データ補完処理およびアドレス変換処理
の一例を説明する図
FIG. 6 is a view for explaining an example of the invalid data complementing process and the address conversion process;

【図7】本発明の実施の形態2におけるディスクアレイ
装置の構成を示すブロック図
FIG. 7 is a block diagram illustrating a configuration of a disk array device according to a second embodiment of the present invention.

【図8】同Alignment処理部の詳細な構成を示
すブロック図
FIG. 8 is a block diagram showing a detailed configuration of the Alignment processing unit.

【図9】同Alignment処理部の動作を説明する
フローチャート
FIG. 9 is a flowchart for explaining the operation of the Alignment processing unit;

【図10】同無効データ補完処理の一例を説明する図FIG. 10 is a view for explaining an example of the invalid data complementing process.

【図11】同アドレス変換処理の一例を説明する図FIG. 11 is a view for explaining an example of the address conversion process.

【図12】同無効データ補完処理およびアドレス変換処
理の一例を説明する図
FIG. 12 is a diagram illustrating an example of the invalid data complementing process and the address conversion process.

【図13】従来のディスクアレイ装置の構成を示すブロ
ック図
FIG. 13 is a block diagram showing the configuration of a conventional disk array device.

【図14】従来のディスクアレイコントローラの詳細な
構成を示すブロック図
FIG. 14 is a block diagram showing a detailed configuration of a conventional disk array controller.

【図15】従来のディスクアレイコントローラの動作を
説明するフローチャート
FIG. 15 is a flowchart illustrating the operation of a conventional disk array controller.

【図16】従来のディスクアレイ装置の書き込み処理を
説明する図
FIG. 16 is a diagram illustrating a write process of a conventional disk array device.

【符号の説明】[Explanation of symbols]

11、71 ホスト 12、72 ホストアダプタ 13 Alignment処理部 14 73 ディスクアレイコントローラ 15a〜15e、74a〜74e デバイスコントロー
ラ 16a〜16e、75a〜75e ディスク装置
11, 71 Host 12, 72 Host Adapter 13 Alignment Processing Unit 14 73 Disk Array Controller 15a to 15e, 74a to 74e Device Controller 16a to 16e, 75a to 75e Disk Device

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のディスク装置を使用してホストか
らのデータの書き込みおよび読み込みの制御を行うディ
スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
とからなるデータの書き込み要求を受け、前記データを
あらかじめ定められたデータサイズのデータブロックに
分割して複数のディスク装置に書き込む場合、 前記書き込み開始アドレスが前記データの書き込み対象
となるデータブロックのオフセット値を示すブロック番
号と一致するかどうかを判定し、一致していない場合は
前記データの書き込み開始アドレスを前記データの書き
込み対象となるデータブロックの次に位置するデータブ
ロックのオフセット値を示すブロック番号に一致するよ
うシフトして、前記書き込み開始アドレスを更新し、前
記書き込み開始アドレスの更新情報を記憶するアライン
メント処理手段と、 前記アラインメント処理手段により更新された書き込み
開始アドレスより前記データを前記データブロックのデ
ータサイズ毎に分割して前記複数のディスク装置へ書き
込むよう制御するディスクアレイコントローラとを有す
るディスクアレイ装置。
1. A disk array device for controlling writing and reading of data from a host using a plurality of disk devices, wherein a request for writing a data comprising a data write start address and data from the host is provided. Receiving the data and dividing the data into data blocks of a predetermined data size and writing the data to a plurality of disk devices, the write start address matches a block number indicating an offset value of the data block to which the data is to be written Determine whether or not, if they do not match, shift the write start address of the data to match the block number indicating the offset value of the data block located next to the data block to be written data, Update the write start address, Alignment processing means for storing update information of a write start address; and controlling to divide the data for each data size of the data block from the write start address updated by the alignment processing means and to write the divided data to the plurality of disk devices. A disk array device having a disk array controller.
【請求項2】 複数のディスク装置を使用してホストか
らのデータの書き込みおよび読み込みの制御を行うディ
スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
とからなる書き込み要求を受け、前記データをあらかじ
め定められたデータサイズのデータブロックに分割して
複数のディスク装置に書き込む場合、 前記データのデータサイズが前記データブロックのデー
タサイズの整数倍であるかどうかを判定し、整数倍にな
っていない場合は、前記データのデータサイズが前記デ
ータブロックのデータサイズの整数倍になるように前記
データに前記データと独立した無効データを付加するア
ラインメント処理手段と、 前記アラインメント処理手段により無効データを付加さ
れたデータを前記書き込み開始アドレスより前記データ
ブロックのデータサイズ毎に分割して前記複数のディス
ク装置へ書き込むよう制御するディスクコントローラと
を有するディスクアレイ装置。
2. A disk array device that controls writing and reading of data from a host using a plurality of disk devices, and receives a write request including a data write start address and data from the host, When dividing the data into data blocks of a predetermined data size and writing the data to a plurality of disk devices, it is determined whether the data size of the data is an integral multiple of the data size of the data block. If not, alignment processing means for adding invalid data independent of the data to the data so that the data size of the data is an integral multiple of the data size of the data block; and invalid data by the alignment processing means. Is added to the write start address. A disk controller for controlling the data to be written to the plurality of disk devices by dividing the data block into data sizes of the data blocks.
【請求項3】 複数のディスク装置を使用してホストか
らのデータの書き込みおよび読み込みの制御を行うディ
スクアレイ装置であって、 前記ホストからデータの書き込み開始アドレスとデータ
とからなる書き込み要求を受け、前記データをあらかじ
め定められたデータサイズのデータブロックに分割して
複数のディスク装置に書き込む場合、 前記書き込み開始アドレスを前記書き込み開始アドレス
と前記データの書き込み対象となるデータブロックのオ
フセット値を示すブロック番号と一致するようあらかじ
め設定されているシフト量だけシフトして前記書き込み
開始アドレスを更新するアラインメント処理手段と、 前記アラインメント処理手段により更新された書き込み
開始アドレスより前記データを前記データブロックのデ
ータサイズ毎に分割して前記複数のディスク装置へ書き
込むよう制御するディスクアレイコントローラとを有す
るディスクアレイ装置。
3. A disk array device that controls writing and reading of data from a host using a plurality of disk devices, and receives a write request including a data write start address and data from the host, When the data is divided into data blocks of a predetermined data size and written to a plurality of disk devices, the write start address is a block number indicating the write start address and an offset value of a data block to be written with the data. Alignment processing means for updating the write start address by shifting by a predetermined shift amount so as to match the data size of the data block from the write start address updated by the alignment processing means And a disk array controller for controlling writing to the plurality of disk devices by dividing the disk array into a plurality of disk devices.
【請求項4】 アラインメント処理手段の機能を備えた
ディスクアレイコントローラを有する請求項1ないし3
のディスクアレイ装置。
4. A disk array controller having a function of an alignment processing means.
Disk array device.
【請求項5】 ディスクアレイコントローラはRAID
コントローラであることを特徴とする請求項4記載のデ
ィスクアレイ装置。
5. The disk array controller is a RAID
5. The disk array device according to claim 4, wherein the disk array device is a controller.
JP2000070026A 2000-03-14 2000-03-14 Disk array device Pending JP2001256001A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000070026A JP2001256001A (en) 2000-03-14 2000-03-14 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000070026A JP2001256001A (en) 2000-03-14 2000-03-14 Disk array device

Publications (1)

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

Family

ID=18588817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070026A Pending JP2001256001A (en) 2000-03-14 2000-03-14 Disk array device

Country Status (1)

Country Link
JP (1) JP2001256001A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263276A (en) * 2002-03-08 2003-09-19 Toshiba Corp Disk system and disk access method
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 (en) * 2015-02-10 2016-08-18 富士通株式会社 Storage control apparatus, control method, and control program

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 (en) * 2002-03-08 2003-09-19 Toshiba Corp Disk system and disk access method
JP2016148936A (en) * 2015-02-10 2016-08-18 富士通株式会社 Storage control apparatus, control method, and control program

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 (en) Conversion RAID for Hierarchical Storage Management System
US7647526B1 (en) Reducing reconstruct input/output operations in storage systems
EP0405925B1 (en) Method and apparatus for managing a shadow set of storage media
JP5302892B2 (en) System and method for optimizing write processing in a storage system
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
KR100270751B1 (en) Method and system for automatic storage subsystem config uration
US20030084397A1 (en) Apparatus and method for a distributed raid
JPS605023B2 (en) memory system
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 (en) Storage system and storage subsystem
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