JPH09319527A - Data storage device - Google Patents

Data storage device

Info

Publication number
JPH09319527A
JPH09319527A JP8131549A JP13154996A JPH09319527A JP H09319527 A JPH09319527 A JP H09319527A JP 8131549 A JP8131549 A JP 8131549A JP 13154996 A JP13154996 A JP 13154996A JP H09319527 A JPH09319527 A JP H09319527A
Authority
JP
Japan
Prior art keywords
data
storage
storage areas
logical address
areas
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.)
Granted
Application number
JP8131549A
Other languages
Japanese (ja)
Other versions
JP3224741B2 (en
Inventor
Masatoshi Saito
政利 齋藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP13154996A priority Critical patent/JP3224741B2/en
Publication of JPH09319527A publication Critical patent/JPH09319527A/en
Application granted granted Critical
Publication of JP3224741B2 publication Critical patent/JP3224741B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a data storage device in which the degree of reduction of throughput can be minimized even when the write request of data blocks over different data chunks or different stripes is generated. SOLUTION: Concerning the data storage device, plural storage means #0-#3 are provided and data chunks, stripes and parity areas are specified on the logical address space of these plural storage means #0-#3. Then, data blocks 12a and 13a, to which continuous addresses are added, over different data chunks 12 and 13 are arranged on the same column. Besides, data blocks 13b and 15a, to which continuous addresses over different stripes are arranged on two different rows.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、例えば磁気ディス
ク装置といった記憶手段を複数備え、これらの記憶手段
を用いてあたかも1台の記憶装置として機能するデータ
記憶装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data storage device having a plurality of storage means such as a magnetic disk device and using these storage means to function as if it were one storage device.

【0002】[0002]

【従来の技術】従来、複数の記憶手段を備えるデータ記
憶装置としては、ディスクアレイ装置が知られている。
ディスクアレイ装置とは、カリフォルニア大学バークレ
ー校において考案された「RAID(Redundant Arrays
of Inexpensive Disks )アーキテクチャ」を用いたも
ので、磁気ディスク装置(以下、DKと称す)を複数備
えたものである。この「RAIDアーキテクチャ」の中
で、RAIDレベル5と呼ばれるアーキテクチャを採用
したディスクアレイ装置(以下、RAID5ディスクア
レイ装置と称す)は、冗長データを持つことによる高信
頼性と、複数のDKを並列にアクセスすることによる高
スループットとを実現しており、特にオンライントラン
ザクション処理のように、比較的少量のデータへのラン
ダムアクセスが頻繁に発生するアプリケーション環境で
高い性能を発揮することができるものである。
2. Description of the Related Art Conventionally, a disk array device is known as a data storage device having a plurality of storage means.
A disk array device is a RAID (Redundant Arrays) device devised at the University of California, Berkeley.
of Inexpensive Disks) ", and is provided with a plurality of magnetic disk devices (hereinafter referred to as DK). In this "RAID architecture", a disk array device adopting an architecture called RAID level 5 (hereinafter referred to as RAID5 disk array device) has high reliability due to having redundant data and a plurality of DKs are arranged in parallel. It realizes high throughput by accessing, and it can show high performance especially in an application environment where random access to a relatively small amount of data frequently occurs, such as online transaction processing.

【0003】RAID5ディスクアレイ装置は、図4に
示すように、装置全体の制御を行う制御部20と、内蔵
された複数のDK#0〜3と、これらを互いに接続する
ディスクインターフェース(以下、インターフェースを
I/Fと略す)20a〜20dと、図示しないホストコ
ンピュータと接続されるホストI/F20eとから構成
されている。なお、RAID5ディスクアレイ装置が備
えるDKの台数は、「RAIDアーキテクチャ」では特
に規定されていないが、ここでは4台のDK#0〜3を
備えている場合を例に挙げて説明する。
As shown in FIG. 4, a RAID5 disk array device includes a control unit 20 for controlling the entire device, a plurality of built-in DK # 0-3, and a disk interface (hereinafter referred to as an interface) for connecting them to each other. Is abbreviated as I / F) 20a to 20d, and a host I / F 20e connected to a host computer (not shown). The number of DKs included in the RAID5 disk array device is not particularly specified in the “RAID architecture”, but here, the case where four DK # 0 to 3 are provided will be described as an example.

【0004】このように構成されたRAID5ディスク
アレイ装置では、ホストコンピュータに対して、あたか
も1台のDKであるかのように機能する。そのために、
RAID5ディスクアレイ装置では、図5(a)に示す
ようなホストコンピュータから見たディスクアドレス
(以下、論理アドレスと称す)空間を、図5(b)に示
すような複数のDK#0〜3上の論理アドレス空間に分
散して配置するようになっている。
In the RAID 5 disk array device thus constructed, the host computer functions as if it were one DK. for that reason,
In the RAID5 disk array device, the disk address (hereinafter referred to as logical address) space seen from the host computer as shown in FIG. 5A is located on a plurality of DK # 0-3 as shown in FIG. 5B. It is arranged to be distributed in the logical address space of.

【0005】このDK#0〜3上の論理アドレス空間
は、DK#0〜3の台数を行とし、かつ、各DKが有す
るセクタ(格納領域)の数を列としたデータブロックの
集合により形成されている。なお、データブロックと
は、ホストコンピュータからアクセスされる最小単位と
なるデータであり、例えばDKのセクタ容量である51
2バイトと同一のデータ量を有している。また、この論
理アドレス空間におけるデータブロックの集合において
は、同一列上にあるデータブロック41a、42a、4
3aと、これらのデータブロック41a、42a、43
aから算出した排他的論理和であるパリティブロック4
4aとによって、データ列40Aが形成されている。す
なわち、データ列40Aを構成するブロックの中の一つ
は、パリティブロック44aとなっている。
The logical address space on DK # 0-3 is formed by a set of data blocks in which the number of DK # 0-3 is a row and the number of sectors (storage areas) in each DK is a column. Has been done. The data block is the minimum unit of data accessed from the host computer, and is, for example, the sector capacity of DK 51.
It has the same data amount as 2 bytes. Further, in the set of data blocks in this logical address space, the data blocks 41a, 42a, 4 on the same column are
3a and these data blocks 41a, 42a, 43
Parity block 4 which is the exclusive OR calculated from a
A data string 40A is formed by 4a. That is, one of the blocks forming the data string 40A is the parity block 44a.

【0006】また、この論理アドレス空間においては、
1つのDK(同一行)に連続して格納される所定数のデ
ータブロック41a、41b、41c、41dの集合に
よって、データチャンク41が形成されている。データ
チャンク41は、その容量が、ホストコンピュータから
最も高い頻度でアクセスされる容量の2〜8倍(数キロ
バイト〜数十キロバイト)となっており、例えば4つの
データブロック41a、41b、41c、41dから形
成されていれば、その容量が2Kバイトとなっている。
なお、1つのデータチャンク41内では、各データブロ
ック41a、41b、41c、41dに対して、連続す
る論理アドレス(例えば、d00〜d03)が順に与え
られている。
Further, in this logical address space,
A data chunk 41 is formed by a set of a predetermined number of data blocks 41a, 41b, 41c, 41d successively stored in one DK (same row). The capacity of the data chunk 41 is 2 to 8 times (several kilobytes to several tens of kilobytes) the capacity accessed most frequently by the host computer, and for example, four data blocks 41a, 41b, 41c, 41d. , The capacity is 2 Kbytes.
In addition, in one data chunk 41, continuous logical addresses (for example, d00 to d03) are sequentially provided to the data blocks 41a, 41b, 41c, and 41d.

【0007】さらに、この論理アドレス空間において
は、同一の列方向に並ぶデータチャンク45、46、4
7、48の集合によって、ストライプ49が形成されて
いる。ただし、ストライプ49の中には、パリティブロ
ックのみから構成されるパリティチャンク46が含まれ
ている。なお、RAID5ディスクアレイ装置、すなわ
ちRAIDレベル5と呼ばれるアーキテクチャにおいて
は、パリティチャンクが各ストライプ毎に異なる行、す
なわち異なるDKに格納されるようになっている。
Further, in this logical address space, data chunks 45, 46, 4 arranged in the same column direction are arranged.
A stripe 49 is formed by a set of 7 and 48. However, the stripe 49 includes a parity chunk 46 composed of only parity blocks. In the RAID5 disk array device, that is, in the architecture called RAID level 5, the parity chunk is stored in a different row for each stripe, that is, in a different DK.

【0008】このような論理アドレス空間を備えるRA
ID5ディスクアレイ装置では、複数のDK#0〜3の
うちの1つに対して、各データ列毎にパリティブロック
を生成して格納しておくことによって、例えば1つのD
Kが故障した場合であっても、残りのDK上のデータブ
ロックから故障したDK上のデータブロックを再現する
ことが可能であるため、装置全体としてのデータの信頼
性を高くすることができる。また、RAID5ディスク
アレイ装置では、データブロックを読み取る時に、複数
のDK#0〜3に並列にアクセスすることができるた
め、高いスループットを得ることができる。
RA having such a logical address space
In the ID5 disk array device, by generating and storing a parity block for each data column in one of the plurality of DK # 0-3, for example, one D
Even if K fails, the data block on the failed DK can be reproduced from the remaining data blocks on the DK, so that the reliability of the data of the entire device can be increased. Further, in the RAID5 disk array device, when reading a data block, a plurality of DK # 0 to 3 can be accessed in parallel, so that high throughput can be obtained.

【0009】[0009]

【発明が解決しようとする課題】ところで、RAID5
ディスクアレイ装置では、ホストコンピュータからの書
き込み要求に対しては、書き込み対象であるデータブロ
ックの書き込みに加え、そのデータブロックに対するパ
リティブロックの更新が必要となってしまうので、読み
取り時に比べてそのスループットが低下してしまう。特
に、異なるデータチャンクや異なるストライプにまたが
ったデータブロックに対して書き込みを行う場合には、
スループットの低下の度合いが大きくなってしまう。
By the way, RAID5
In the disk array device, in response to a write request from the host computer, in addition to writing the data block that is the write target, it is necessary to update the parity block for that data block, so the throughput is higher than when reading. Will fall. Especially when writing to a data block that spans different data chunks or different stripes,
The degree of decrease in throughput becomes large.

【0010】ここで、異なる2つのデータチャンクにま
たがり、論理アドレス上で連続したデータブロック42
b、43a(論理アドレスd07、d08)に対する書
き込み要求があった場合について、図6を参照して説明
する。ただし、データブロック42b(論理アドレスd
07)にはパリティブロック44b(論理アドレスdp
03)が対応し、データブロック43a(論理アドレス
d08)にはパリティブロック44a(論理アドレスd
p00)が対応しているものとする。また、データブロ
ック42bはDK#1に、データブロック43aはDK
#2に、パリティブロック44a、44bはDK#3
に、それぞれ格納されているものとする。
Here, the data blocks 42 that are continuous on the logical address span two different data chunks.
A case where there is a write request to the addresses b and 43a (logical addresses d07 and d08) will be described with reference to FIG. However, the data block 42b (logical address d
07), the parity block 44b (logical address dp
03) corresponds to the data block 43a (logical address d08) and the parity block 44a (logical address d08).
p00) is supported. Further, the data block 42b is DK # 1, and the data block 43a is DK # 1.
In # 2, the parity blocks 44a and 44b are DK # 3.
, Respectively.

【0011】ホストコンピュータからの書き込み要求に
従って、新たな書き込みデータ(図中におけるd0
7’、d08’)が転送されると(ステップ301、以
下ステップをSと略す)、RAID5ディスクアレイ装
置の制御部20では、そのデータを、この制御部20が
有するキャッシュ/バッファ51、52に一時的に格納
する。なお、キャッシュ/バッファとは、例えば制御部
20に設けられたRAM(Random Access Memory)等か
らなるもので、DK#0〜3上のデータのコピーを格納
するディスクキャッシュとしての用途の他に、パリティ
ブロックを生成するための一時的なバッファとしても使
用されるものである。
In response to a write request from the host computer, new write data (d0 in the figure)
7 ', d08') are transferred (step 301, step is abbreviated as S hereinafter), the control unit 20 of the RAID5 disk array device transfers the data to the cache / buffers 51, 52 of this control unit 20. Store temporarily. The cache / buffer is, for example, a RAM (Random Access Memory) provided in the control unit 20, and is used as a disk cache for storing a copy of data on DK # 0-3. It is also used as a temporary buffer for generating parity blocks.

【0012】新たな書き込みデータをキャッシュ/バッ
ファ51、52に格納すると、制御部20は、これらの
書き込みデータに対する新たなパリティブロックを算出
するために、DK#1から論理アドレスd07のデータ
ブロック42bを読み取ってキャッシュ/バッファ53
に格納し(S302)、さらにDK#2から論理アドレ
スd08のデータブロック43aを読み取ってキャッシ
ュ/バッファ54に格納する(S303)。また、制御
部20は、DK#3から論理アドレスdp03のパリテ
ィブロック44bと、論理アドレスdp00のパリティ
ブロック44aとを読み取って、それぞれキャッシュ/
バッファ55、56に格納する(S304、S30
5)。
When new write data is stored in the caches / buffers 51 and 52, the control unit 20 calculates the new parity block for these write data from the data block 42b of the logical address d07 from DK # 1. Read and cache / buffer 53
(S302), the data block 43a at the logical address d08 is read from DK # 2 and stored in the cache / buffer 54 (S303). Further, the control unit 20 reads the parity block 44b of the logical address dp03 and the parity block 44a of the logical address dp00 from the DK # 3, and caches them respectively.
Store in buffers 55 and 56 (S304, S30
5).

【0013】そして、制御部20は、キャッシュ/バッ
ファ51、53、55に格納されたそれぞれのデータの
全ての排他的論理和を算出し、その結果をキャッシュ/
バッファ57に格納する(S306)。また、これと同
様に、キャッシュ/バッファ52、54、56に格納さ
れたそれぞれのデータの全ての排他的論理和をキャッシ
ュ/バッファ58に格納する(S307)。こうして生
成されたキャッシュ/バッファ57、58内の算出結果
(図中におけるdp00’、dp03’)が、それぞれ
の新たなパリティブロックとなる。
Then, the control unit 20 calculates the exclusive OR of all the data stored in the cache / buffers 51, 53 and 55, and caches the result.
The data is stored in the buffer 57 (S306). Similarly, all the exclusive ORs of the respective data stored in the caches / buffers 52, 54 and 56 are stored in the cache / buffer 58 (S307). The calculation results (dp00 ', dp03' in the figure) in the caches / buffers 57, 58 thus generated become the new parity blocks.

【0014】例えば、書き込み前のデータブロックをd
i、パリティブロックをdpとし、このパリティブロッ
クをdpを算出する基となった他のデータブロックをそ
れぞれdj、dkとすると、書き込み前には、次の関係
が成立している。
For example, the data block before writing is d
Let i be the parity block, and dp be the parity block, and dj and dk are the other data blocks from which this parity block was calculated.

【0015】 dp=di xor dj xor dk ・・・(1) (ただし、「xor 」は、排他的論理和の演算子とする)Dp = di xor dj xor dk (1) (where “xor” is an exclusive OR operator)

【0016】また、新たに書き込むデータをdi’、新
しいパリティブロックをdp’とすると、次の関係が成
立しなければならない。
Further, assuming that the newly written data is di'and the new parity block is dp ', the following relationship must be established.

【0017】 dp’=di’ xor dj xor dk ・・・(2)Dp '= di' xor dj xor dk (2)

【0018】このとき、dxor d=0、0xor d=dで
あるので、(2)式より次の式が導かれる。
At this time, since dxor d = 0 and 0xor d = d, the following equation is derived from equation (2).

【0019】 dp’=(di’ xor dj xor dk) xor 0 =di’ xor dj xor dk xor di xor di =(di xor dj xor dk) xor di xor di’ =dp xor di xor di’ ・・・・・・(3)Dp '= (di' xor dj xor dj) xor 0 = di 'xor dj xor dk xor di xor di = (di xor dj xor dj) xor di xor di' = dp xor di xor di ' ... (3)

【0020】これにより、キャッシュ/バッファ57、
58内の算出結果が、それぞれの新たなパリティブロッ
クであることが証明される。
As a result, the cache / buffer 57,
The calculation result in 58 is proved to be each new parity block.

【0021】キャッシュ/バッファ57、58内に新た
なパリティブロックを格納すると、制御部20は、キャ
ッシュ/バッファ51に格納された書き込みデータをD
K#1上の論理アドレスd07へ書き込み(S30
8)、キャッシュ/バッファ52に格納された書き込み
データをDK#2上の論理アドレスd08へ書き込む
(S309)。また、キャッシュ/バッファ57、58
に格納されたパリティブロックを、DK#3上の論理ア
ドレスdp03と論理アドレスdp00とへそれぞれ書
き込む(S310、S311)。すなわち、RAID5
ディスクアレイ装置では、ホストコンピュータから2つ
のデータチャンクにまたがり、論理アドレス上で連続し
たデータブロックについての書き込み要求があると、そ
の1回の書き込み要求に対して、制御部20と各DK#
0〜3との間で、4回の読み取り(S302〜S30
5)と4回の書き込み(S308〜S311)を行わな
ければならない。
When a new parity block is stored in the cache / buffers 57 and 58, the controller 20 sets the write data stored in the cache / buffer 51 to D
Write to the logical address d07 on K # 1 (S30
8), the write data stored in the cache / buffer 52 is written to the logical address d08 on DK # 2 (S309). Also, cache / buffers 57, 58
The parity blocks stored in the DK # 3 are written to the logical address dp03 and the logical address dp00 on the DK # 3, respectively (S310, S311). That is, RAID5
In the disk array device, when there is a write request for continuous data blocks on a logical address from a host computer over two data chunks, the controller 20 and each DK # respond to the single write request.
0 to 3 readings four times (S302 to S30
5) and writing four times (S308 to S311) must be performed.

【0022】これは、2つのストライプにまたがり、論
理アドレス上で連続したデータブロックについての書き
込み要求(例えば、図5(b)における論理アドレスd
11とd12やd23とd24への書き込み要求)があ
った場合も同様である。この場合には、1回の書き込み
要求に対して、制御部20と各DK#0〜3との間で、
2〜4回の読み取りと2〜4回の書き込みを行うことが
必要である。
This is a write request for a continuous data block on a logical address across two stripes (for example, logical address d in FIG. 5B).
The same applies when there are write requests to 11 and d12 or d23 and d24. In this case, in response to one write request, between the control unit 20 and each DK # 0-3,
It is necessary to read 2 to 4 times and write 2 to 4 times.

【0023】つまり、RAID5ディスクアレイ装置で
は、異なるデータチャンクや異なるストライプにまたが
って、論理アドレス上で連続したデータブロックに対す
る書き込み要求があると、内蔵するDK#0〜3に対し
て合計4から8回のアクセスを行わなければならない。
したがって、このような書き込み要求が多発するような
システム環境では、読み取り要求に対して複数のDK#
0〜3への並列アクセスにより得られる高いスループッ
トを相殺してしまい、その結果、装置全体におけるスル
ープットが大幅に低下してしまう可能性がある。
In other words, in the RAID5 disk array device, when there is a write request for continuous data blocks on a logical address across different data chunks or different stripes, a total of 4 to 8 for the built-in DK # 0-3. Must be accessed twice.
Therefore, in a system environment where such write requests occur frequently, a plurality of DK # s may be issued to read requests.
The high throughput obtained by parallel access to 0 to 3 is offset, and as a result, the throughput of the entire device may be significantly reduced.

【0024】そこで、本発明は、異なるデータチャンク
や異なるストライプにまたがって、論理アドレス上で連
続したデータブロックに対する書き込み要求が発生して
も、スループットの低下の度合いを小さくすることので
きるデータ記憶装置を提供することを目的とする。
Therefore, according to the present invention, even if a write request is made to consecutive data blocks on a logical address across different data chunks or different stripes, the degree of reduction in throughput can be reduced. The purpose is to provide.

【0025】[0025]

【課題を解決するための手段】本発明は、上記目的を達
成するために案出されたもので、請求項1記載のデータ
記憶装置は、データを格納するための複数の格納領域を
有した記憶手段を複数備えるとともに、これら複数の記
憶手段の各格納領域にそれぞれ異なるアドレスを順に付
し、前記複数の記憶手段の各格納領域を、これら記憶手
段の数を行とし、かつ、これら記憶手段における格納領
域の数を列として配置した場合に、その配置中で、同一
行上に並ぶ所定数の格納領域の集合をデータチャンクと
し、同一の列方向に並ぶ前記データチャンクの集合をス
トライプとし、さらに、同一列上に並ぶ複数の格納領域
の中の一つの格納領域を、これら複数の格納領域の中の
他の格納領域に格納されたデータの排他的論理和を記憶
するためのパリティ領域とするものであって、一つのス
トライプ内の異なるデータチャンクにまたがって連続す
るアドレスを付された格納領域があると、その格納領域
は、共に同一列上に配置されてなることを特徴とするも
のである。
The present invention has been devised to achieve the above object, and a data storage device according to claim 1 has a plurality of storage areas for storing data. A plurality of storage means are provided, different addresses are sequentially assigned to the storage areas of the plurality of storage means, and the storage areas of the plurality of storage means are defined by the number of the storage means in a row, and the storage means are When the number of storage areas in is arranged as a column, in the arrangement, a set of a predetermined number of storage areas arranged on the same row is a data chunk, and a set of the data chunks arranged in the same column direction is a stripe, Furthermore, one storage area among the plurality of storage areas arranged in the same column is used as a parity storage for storing the exclusive OR of the data stored in the other storage areas of the plurality of storage areas. If there is a storage area with consecutive addresses over different data chunks in one stripe, both storage areas are arranged on the same column. To do.

【0026】上記構成のデータ記憶装置によれば、一つ
のストライプ内の異なるデータチャンクにおいて、連続
するアドレスを付された格納領域が共に同一列上に配置
されているので、これらの格納領域に対するパリティ領
域も同一のものとなる。したがって、二つの格納領域を
必要とするデータを、一つのストライプ内の異なるデー
タチャンクにまたがって格納しようとする場合に、これ
らのデータは、同一列上に配置された格納領域に格納さ
れる。よって、このデータの格納に伴う排他的論理和の
書き込みは、同一列上の格納領域に対する一つのパリテ
ィ領域について行えばよい。すなわち、各格納領域毎
に、異なるパリティ領域に対する排他的論理和の書き込
みを行う必要がない。
According to the data storage device having the above-mentioned configuration, since storage areas to which consecutive addresses are assigned are arranged on the same column in different data chunks within one stripe, the parity for these storage areas is set. The areas are also the same. Therefore, when it is attempted to store data that requires two storage areas across different data chunks in one stripe, these data are stored in the storage areas arranged on the same column. Therefore, the writing of the exclusive OR associated with the storage of this data may be performed in one parity area with respect to the storage area on the same column. That is, it is not necessary to write an exclusive OR to different parity areas for each storage area.

【0027】また、請求項2記載のデータ記憶装置は、
データを格納するための複数の格納領域を有した記憶手
段を複数備えるとともに、これら複数の記憶手段の各格
納領域にそれぞれ異なるアドレスを順に付し、前記複数
の記憶手段の各格納領域を、これら記憶手段の数を行と
し、かつ、これら記憶手段における格納領域の数を列と
して配置した場合に、その配置中で、同一行上に並ぶ所
定数の格納領域の集合をデータチャンクとし、同一の列
方向に並ぶ前記データチャンクの集合をストライプと
し、さらに、同一列上に並ぶ複数の格納領域の中の一つ
の格納領域を、これら複数の格納領域の中の他の格納領
域に格納されたデータの排他的論理和を記憶するための
パリティ領域とするものであって、異なるストライプに
またがって連続するアドレスを付された格納領域がある
と、これらの格納領域と、これらの格納領域に対するそ
れぞれのパリティ領域とが、前記配置中における異なる
二つの行上に配置され、かつ、その異なる二つの行上で
前記格納領域と前記パリティ領域とがそれぞれ互いに隣
り合って配置されてなるものである。
A data storage device according to a second aspect of the present invention is
A plurality of storage means having a plurality of storage areas for storing data are provided, and different addresses are sequentially assigned to the storage areas of the plurality of storage means, and the storage areas of the plurality of storage means are When the number of storage means is arranged in rows and the number of storage areas in these storage means is arranged in columns, a set of a predetermined number of storage areas arranged on the same row in the arrangement is used as a data chunk, and the same A set of the data chunks arranged in the column direction is used as a stripe, and one storage area among a plurality of storage areas arranged on the same column is stored in another storage area of the plurality of storage areas. If a storage area with consecutive addresses over different stripes is used as a parity area for storing the exclusive OR of these storage areas, these storage areas And the respective parity areas for these storage areas are arranged on two different rows in the arrangement, and the storage areas and the parity areas are adjacent to each other on the two different rows. It is arranged.

【0028】上記構成のデータ記憶装置によれば、異な
るストライプの間で連続するアドレスを付された格納領
域と、これらの格納領域に対するそれぞれのパリティ領
域とが、異なる二つの行上で互いに隣り合って配置され
ているので、それぞれの行上において、互いに隣り合う
格納領域とパリティ領域とに対して一度にアクセスする
ことが可能となる。したがって、二つの格納領域を必要
とするデータを二つのストライプにまたがって格納しよ
うとする場合に、これらのデータ及びそれに伴う排他的
論理和を、異なる二つの行のそれぞれについて、一度ず
つ書き込めばよい。すなわち、各格納領域毎またはこれ
らに対するパリティ領域毎に、データや排他的論理和の
書き込みを行う必要がない。
According to the data storage device having the above structure, the storage areas to which consecutive addresses are assigned between different stripes and the respective parity areas for these storage areas are adjacent to each other on two different rows. Since it is arranged in such a manner, it is possible to access the storage area and the parity area adjacent to each other at once on each row. Therefore, when it is attempted to store data that requires two storage areas across two stripes, it is sufficient to write these data and the exclusive OR associated therewith once for each of two different rows. . That is, it is not necessary to write data or exclusive OR for each storage area or for each parity area.

【0029】[0029]

【発明の実施の形態】以下、図面に基づき本発明に係わ
るデータ記憶装置について説明する。ただし、ここで
は、本発明をRAID5ディスクアレイ装置に適用した
場合について説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A data storage device according to the present invention will be described below with reference to the drawings. However, a case where the present invention is applied to a RAID5 disk array device will be described here.

【0030】本実施の形態のRAID5ディスクアレイ
装置は、従来のものと同様に、図4に示すように構成さ
れたものである。ただし、このRAID5ディスクアレ
イ装置では、従来のものと異なり、複数のDK#0〜3
上の論理アドレス空間が、図1に示すように配置されて
いる。
The RAID5 disk array device of the present embodiment is constructed as shown in FIG. 4, like the conventional device. However, unlike the conventional RAID5 disk array device, a plurality of DK # 0-3
The upper logical address space is arranged as shown in FIG.

【0031】すなわち、この論理アドレス空間では、一
つのストライプ内で互いに隣り合うデータチャンクにお
いて、これらのデータチャンク内の各データブロックに
与えられた論理アドレスの順序(配置方向)が逆になっ
ている。例えば、ストライプ1内で、データチャンク1
1における各データブロックに対する論理アドレス(d
00〜d03)の配置方向と、このデータチャンク11
と隣り合うデータチャンク12における各データブロッ
クに対する論理アドレス(d04〜d07)の配置方向
とが、互いに逆である。
That is, in this logical address space, in the data chunks adjacent to each other in one stripe, the order (arrangement direction) of the logical addresses given to the respective data blocks in these data chunks is reversed. . For example, within stripe 1, data chunk 1
Logical address (d
00-d03) arrangement direction and this data chunk 11
And the arrangement direction of the logical address (d04 to d07) for each data block in the adjacent data chunk 12 are opposite to each other.

【0032】このため、この論理アドレス空間では、一
つのストライプ内における異なるデータチャンクの間に
おいて、連続する論理アドレスを与えられたそれぞれの
データブロックが、同じデータ列上に配置されるように
なっている。例えば、一つのストライプ1内で、互いに
隣り合うデータチャンク12、13にまたがって連続す
る論理アドレス(d07、d08)を与えられたデータ
ブロック12a、13aは、共に同じデータ列A上に配
置されている。このとき、データ列A上では、次の関係
が成立している。
Therefore, in this logical address space, between different data chunks in one stripe, the respective data blocks given consecutive logical addresses are arranged on the same data string. There is. For example, in one stripe 1, the data blocks 12a and 13a to which consecutive logical addresses (d07, d08) are provided over the data chunks 12 and 13 adjacent to each other are arranged on the same data column A. There is. At this time, the following relationship is established on the data string A.

【0033】 dp00=d00 xor d07 xor d08 ・・・(4)Dp00 = d00 xor d07 xor d08 (4)

【0034】つまり、連続する論理アドレスを与えられ
たこれらのデータブロック12a、13aに対しては、
同一のパリティブロック14aが対応するようになって
いる。なお、これらのデータブロックの配置は、論理的
なものであり、DK内のセクタの物理的な配置を示すも
のではない。
That is, for these data blocks 12a and 13a to which consecutive logical addresses are given,
The same parity block 14a corresponds. The arrangement of these data blocks is logical and does not indicate the physical arrangement of the sectors in the DK.

【0035】また、この論理アドレス空間では、異なる
ストライプにまたがって、連続する論理アドレスを与え
られたそれぞれのデータブロックを、互いに隣り合うD
Kが格納するようになっている。例えば、異なるストラ
イプ1、2上に位置するデータチャンク13、15の間
で、連続する論理アドレス(d11、d12)が与えら
れたデータブロック13b、15aは、それぞれが隣り
合うDK#2、#3に格納されている。
Further, in this logical address space, the respective data blocks to which consecutive logical addresses are given are spread over different stripes and are adjacent to each other.
K is designed to be stored. For example, between the data chunks 13 and 15 located on different stripes 1 and 2, the data blocks 13b and 15a to which consecutive logical addresses (d11 and d12) are given are adjacent DK # 2 and # 3, respectively. It is stored in.

【0036】ただし、RAID5ディスクアレイ装置で
は、パリティチャンクが各ストライプ毎に異なるDKに
格納されるようになっている。したがって、この論理ア
ドレス空間では、二つのストライプ1、2にまたがって
連続するアドレス(d11、d12)を与えられたデー
タブロック13b、15aがあると、これらのデータブ
ロック13b、15aと、これらのデータブロック13
b、15aに対するそれぞれのパリティブロック14
b、16aとが、それぞれ隣り合うDK#2、#3上に
位置するようになっている。そして、これらのDK#
2、#3上において、データブロック13bとパリティ
ブロック16a、データブロック15aとパリティブロ
ック14bが、それぞれ互いに隣り合うように配置され
ている。
However, in the RAID5 disk array device, the parity chunk is stored in a different DK for each stripe. Therefore, in this logical address space, if there are data blocks 13b and 15a to which consecutive addresses (d11 and d12) are applied across two stripes 1 and 2, if these data blocks 13b and 15a and these data blocks Block 13
b, 15a for each parity block 14
b and 16a are located on the adjacent DKs # 2 and # 3, respectively. And these DK #
2 and # 3, the data block 13b and the parity block 16a and the data block 15a and the parity block 14b are arranged adjacent to each other.

【0037】次に、以上のような論理アドレス空間を有
するRAID5ディスクアレイ装置において、2つのデ
ータチャンクにまたがり、論理アドレス上で連続したデ
ータブロックに対する書き込み要求があった場合の動作
例について、図2を参照して説明する。
Next, in the RAID5 disk array device having the logical address space as described above, an operation example in the case where there is a write request for continuous data blocks on the logical address across two data chunks is shown in FIG. Will be described with reference to.

【0038】例えば、ホストコンピュータから論理アド
レスd07、d08のデータブロック12a、13aに
対する書き込み要求があり、この要求と共に新たな書き
込みデータ(図中におけるd07’、d08’)がその
ホストコンピュータから転送されると(S101)、R
AID5ディスクアレイ装置の制御部20では、そのデ
ータを、この制御部20が有するキャッシュ/バッファ
21、22に一時的に格納する。
For example, there is a write request from the host computer to the data blocks 12a and 13a having logical addresses d07 and d08, and new write data (d07 'and d08' in the figure) is transferred from the host computer together with this request. And (S101), R
The control unit 20 of the AID5 disk array device temporarily stores the data in the cache / buffers 21 and 22 of the control unit 20.

【0039】キャッシュ/バッファ21、22に新たな
書き込みデータを格納すると、制御部20は、これらの
書き込みデータに対する新たなパリティブロックを算出
するために、DK#1から論理アドレスd07のデータ
ブロック12aを読み取ってキャッシュ/バッファ23
に格納し(S102)、さらにDK#2から論理アドレ
スd08のデータブロック13aを読み取ってキャッシ
ュ/バッファ24に格納する(S103)。また、制御
部20は、DK#3から論理アドレスdp00のパリテ
ィブロック14aを読み取ってキャッシュ/バッファ2
5に格納する(S104)。
When new write data is stored in the cache / buffers 21 and 22, the control section 20 calculates the new parity block for these write data from the data block 12a from DK # 1 to the logical address d07. Read and cache / buffer 23
(S102), the data block 13a at the logical address d08 is read from DK # 2 and stored in the cache / buffer 24 (S103). Further, the control unit 20 reads the parity block 14a of the logical address dp00 from the DK # 3 and cache / buffer 2
5 (S104).

【0040】ここで、制御部20は、キャッシュ/バッ
ファ21、22、23、24、25に格納されたそれぞ
れのデータの全ての排他的論理和を算出し、その結果を
キャッシュ/バッファ26に格納する(S105)。こ
うして生成されたキャッシュ/バッファ26内の算出結
果(図中におけるdp00’)が、新たなパリティブロ
ックとなる。
Here, the control unit 20 calculates the exclusive OR of all the data stored in the cache / buffers 21, 22, 23, 24 and 25, and stores the result in the cache / buffer 26. Yes (S105). The calculation result (dp00 'in the figure) in the cache / buffer 26 generated in this way becomes a new parity block.

【0041】新たなパリティブロックを生成すると、続
いて制御部20は、キャッシュ/バッファ21に格納さ
れた書き込みデータを、DK#1上の論理アドレスd0
7に既に格納されているデータブロック12aに替えて
書き込み(S106)、さらにキャッシュ/バッファ2
2に格納された書き込みデータを、DK#2上の論理ア
ドレスd08に既に格納されているデータブロック13
aに替えて書き込む(S107)。また、キャッシュ/
バッファ26に格納された新たなパリティブロックを、
DK#3上の論理アドレスdp00に既に格納されてい
るパリティブロック14aに替えて書き込む(S10
8)。このようにして、このRAID5ディスクアレイ
装置では、2つのデータチャンクにまたがり、論理アド
レス上で連続したデータブロックに対する書き込みを完
了する。
After generating a new parity block, the control unit 20 subsequently writes the write data stored in the cache / buffer 21 to the logical address d0 on DK # 1.
7 is written instead of the data block 12a already stored in S7 (S106), and the cache / buffer 2
2 is stored in the data block 13 already stored in the logical address d08 on DK # 2.
Write instead of a (S107). Also, cache /
The new parity block stored in the buffer 26 is
The parity block 14a already stored at the logical address dp00 on DK # 3 is written instead (S10).
8). In this way, in this RAID5 disk array device, writing to continuous data blocks on the logical address is completed, straddling two data chunks.

【0042】以上のように、このRAID5ディスクア
レイ装置では、2つのデータチャンクにまたがり、論理
アドレス上で連続したデータブロックについての書き込
み要求があっても、これらのデータブロックに対するパ
リティブロックが同一となるので、ホストコンピュータ
からの1回の書き込み要求に対して、制御部20と各D
K#0〜3との間で、3回の読み取り(S102〜S1
04)と3回の書き込み(S106〜S108)を行え
ば、書き込み動作を完了する。つまり、従来のように、
4回の読み取り及び4回の書き込みを行う必要がなくな
り、従来に比べて書き込み動作が迅速になる。したがっ
て、このような書き込み要求が多発するようなシステム
環境においても、装置全体としてのスループットが大幅
に低下してしまうことを防ぐことが可能となり、結果と
して装置としての性能向上に繋がる。
As described above, in this RAID5 disk array device, even if there is a write request for continuous data blocks on two logical chunks and logical addresses, the parity blocks for these data blocks are the same. Therefore, in response to one write request from the host computer, the control unit 20 and each D
Read three times between K # 0-3 (S102-S1)
04) and writing three times (S106 to S108), the writing operation is completed. In other words, as before,
Since it is not necessary to read and write four times, the write operation becomes faster than in the conventional case. Therefore, even in a system environment where such write requests occur frequently, it is possible to prevent the throughput of the entire apparatus from being significantly reduced, and as a result, the performance of the apparatus is improved.

【0043】次に、以上のような論理アドレス空間を有
するRAID5ディスクアレイ装置において、2つのス
トライプにまたがり、論理アドレス上で連続したデータ
ブロックに対する書き込み要求があった場合の動作例に
ついて、図3を参照して説明する。
Next, FIG. 3 shows an operation example in the RAID5 disk array device having the above logical address space when there is a write request for continuous data blocks on the logical address across two stripes. It will be described with reference to FIG.

【0044】ここでは、ホストコンピュータから論理ア
ドレスd11、d12のデータブロック13b、15a
に対する書き込み要求があった場合を例に挙げて説明す
る。ただし、データブロック13b(論理アドレスd1
1)にはパリティブロック14b(論理アドレスdp0
3)が対応し、データブロック15a(論理アドレスd
12)にはパリティブロック16a(論理アドレスdp
04)が対応しているものとする。また、制御部20で
は、データブロック13bとパリティブロック16a、
データブロック15aとパリティブロック14bのよう
に、互いに隣り合う領域に格納されたブロックを、それ
ぞれ1回で読み取りまたは書き込みを行うことが可能と
なっている。
Here, the data blocks 13b and 15a of the logical addresses d11 and d12 are transmitted from the host computer.
An example will be described where there is a write request to the. However, the data block 13b (logical address d1
1), the parity block 14b (logical address dp0
3) corresponds to the data block 15a (logical address d
12), the parity block 16a (logical address dp
04) is supported. In the control unit 20, the data block 13b and the parity block 16a,
It is possible to read or write blocks such as the data block 15a and the parity block 14b, which are stored in areas adjacent to each other, once each.

【0045】例えば、ホストコンピュータから論理アド
レスd11、d12のデータブロック13b、15aに
対する書き込み要求があり、この要求と共に新たな書き
込みデータ(図中におけるd11’、d12’)がその
ホストコンピュータから転送されると(S201)、制
御部20では、そのデータを、この制御部20が有する
キャッシュ/バッファ31、32に一時的に格納する。
For example, there is a write request from the host computer to the data blocks 13b and 15a at the logical addresses d11 and d12, and new write data (d11 'and d12' in the figure) is transferred from the host computer together with this request. Then (S201), the control unit 20 temporarily stores the data in the cache / buffers 31 and 32 included in the control unit 20.

【0046】キャッシュ/バッファ31、32に新たな
書き込みデータを格納すると、制御部20は、これらの
書き込みデータに対する新たなパリティブロックを算出
するために、DK#2から論理アドレスd11のデータ
ブロック13bと、論理アドレスdp04のパリティブ
ロック16aとを、1回の読み取りで読み取って、それ
ぞれをキャッシュ/バッファ33、36に格納する(S
202)。さらに、制御部20は、DK#3から論理ア
ドレスd12のデータブロック15aと、論理アドレス
dp03のパリティブロック14bとを、1回の読み取
りで読み取って、それぞれをキャッシュ/バッファ3
4、35に格納する(S203)。
When new write data is stored in the caches / buffers 31 and 32, the control section 20 calculates the new parity block for these write data from the data block 13b of the logical address d11 to the data block 13b of DK # 2. , The parity block 16a of the logical address dp04 is read by one read and stored in the cache / buffers 33 and 36, respectively (S
202). Further, the control unit 20 reads the data block 15a of the logical address d12 and the parity block 14b of the logical address dp03 from DK # 3 by one reading, and reads each of them in the cache / buffer 3 respectively.
It is stored in Nos. 4 and 35 (S203).

【0047】ここで、制御部20は、キャッシュ/バッ
ファ31、33、35に格納されたそれぞれのデータの
全ての排他的論理和と、キャッシュ/バッファ32、3
4、36に格納されたそれぞれのデータの全ての排他的
論理和とを算出し、これらの結果をそれぞれキャッシュ
/バッファ37、38に格納する(S204、S20
5)。こうして生成されたキャッシュ/バッファ37、
38内の算出結果(図中におけるdp03’、dp0
4’)が、新たなパリティブロックとなる。
Here, the control unit 20 controls all the exclusive ORs of the respective data stored in the cache / buffers 31, 33 and 35, and the cache / buffers 32 and 3.
All exclusive ORs of the respective data stored in Nos. 4 and 36 are calculated, and these results are stored in the cache / buffers 37 and 38, respectively (S204, S20).
5). The cache / buffer 37 thus generated,
Calculation result in 38 (dp03 ', dp0 in the figure)
4 ') becomes a new parity block.

【0048】新たなパリティブロックを生成すると、続
いて制御部20は、キャッシュ/バッファ31、38に
格納された内容を、DK#2上の論理アドレスd11に
既に格納されているデータブロック13bと、論理アド
レスdp04に既に格納されているパリティブロック1
6aとのそれぞれに替えて、1回の書き込みにより書き
込む(S206)。さらに、制御部20は、キャッシュ
/バッファ32、37に格納された内容を、DK#3上
の論理アドレスd12に既に格納されているデータブロ
ック15aと、論理アドレスdp03に既に格納されて
いるパリティブロック14bとのそれぞれに替えて、1
回の書き込みにより書き込む(S207)。このように
して、このRAID5ディスクアレイ装置では、2つの
ストライプにまたがり、論理アドレス上で連続したデー
タブロックに対する書き込みを完了する。
When a new parity block is generated, the control unit 20 subsequently sets the contents stored in the cache / buffers 31 and 38 to the data block 13b already stored at the logical address d11 on DK # 2. Parity block 1 already stored in logical address dp04
Instead of 6a, writing is performed by one writing (S206). Further, the control unit 20 sets the contents stored in the cache / buffers 32 and 37 to the data block 15a already stored at the logical address d12 on DK # 3 and the parity block already stored at the logical address dp03. 14b instead of 1
It is written by writing once (S207). In this way, in this RAID5 disk array device, writing to a continuous data block on a logical address across two stripes is completed.

【0049】以上のように、このRAID5ディスクア
レイ装置では、2つのストライプにまたがり、かつ、論
理アドレス上で連続したデータブロックがあると、これ
らのデータブロックと、これらのデータブロックに対す
るそれぞれのパリティブロックとが、必ず2つのDK内
に格納され、しかもこれらDK内でデータブロックとパ
リティブロックとが隣接する領域に格納されるようにな
っている。よって、ホストコンピュータからの1回の書
き込み要求に対して、制御部20と各DK#0〜3との
間で、2回の読み取り(S202、S203)と2回の
書き込み(S206、S207)を行えば、書き込み動
作を完了する。つまり、従来の2〜4回の読み取り及び
2〜4回の書き込みに比べて、書き込み動作が迅速にな
る。したがって、このような書き込み要求が多発するよ
うなシステム環境においても、装置全体としてのスルー
プットが大幅に低下してしまうことを防ぐことが可能と
なり、結果として装置としての性能向上に繋がる。
As described above, in this RAID5 disk array device, if there are data blocks that extend over two stripes and that are continuous on the logical address, these data blocks and the parity blocks for these data blocks are provided. Are always stored in two DKs, and the data block and the parity block are stored in adjacent areas in these DKs. Therefore, in response to one write request from the host computer, two read operations (S202, S203) and two write operations (S206, S207) are performed between the control unit 20 and each DK # 0-3. If done, the write operation is completed. That is, the write operation becomes quicker than the conventional 2 to 4 times of reading and 2 to 4 times of writing. Therefore, even in a system environment where such write requests occur frequently, it is possible to prevent the throughput of the entire apparatus from being significantly reduced, and as a result, the performance of the apparatus is improved.

【0050】なお、本実施の形態では、本発明をRAI
D5ディスクアレイ装置に適用した場合について説明し
たが、本発明はこれに限定されるものではなく、例えば
「RAIDアーキテクチャ」の中のRAIDレベル4と
呼ばれるアーキテクチャを採用したRAID4ディスク
アレイ装置であっても適用可能である。RAID4ディ
スクアレイ装置とは、RAID5ディスクアレイ装置と
異なり、パリティチャンクを格納するDKが固定されて
いるものである。このようなRAID4ディスクアレイ
装置であっても本発明を適用すれば、上述と同様の効果
が得られる。
In the present embodiment, the present invention is based on RAI.
The case where the present invention is applied to the D5 disk array device has been described, but the present invention is not limited to this, and for example, a RAID4 disk array device adopting an architecture called RAID level 4 in "RAID architecture". Applicable. The RAID4 disk array device is different from the RAID5 disk array device in that the DK for storing the parity chunk is fixed. Even with such a RAID4 disk array device, if the present invention is applied, the same effect as described above can be obtained.

【0051】また、本実施の形態では、記憶手段として
磁気ディスク装置を備えているディスクアレイ装置を例
に挙げて説明したが、本発明はこれに限定されるもので
はない。例えば、記憶手段として磁気テープ装置を備え
たものや、光ディスク装置を備えたものであっても、本
発明を適用すれば、上述と同様の効果が得られる。さら
に、本実施の形態では、データチャンクまたはストライ
プにまたがり、論理アドレス上で連続した2つのデータ
ブロックに対する書き込み要求があった場合について説
明したが、例えば連続した3〜5つのデータブロックに
対する書き込み要求があった場合であっても、同様に適
用可能である。
Further, although the present embodiment has been described by taking the disk array device having the magnetic disk device as the storage means as an example, the present invention is not limited to this. For example, even if a magnetic tape device is provided as a storage unit or an optical disc device is provided, the same effect as described above can be obtained by applying the present invention. Furthermore, in the present embodiment, a case has been described in which there is a write request for two consecutive data blocks on a logical address that spans data chunks or stripes. However, for example, write requests for three to five consecutive data blocks are made. Even if there is, it is similarly applicable.

【0052】[0052]

【発明の効果】以上に説明したように、本発明のデータ
記憶装置では、異なるデータチャンクまたは異なるスト
ライプにまたがり、論理アドレス上で連続するデータブ
ロックに対する書き込み要求があっても、従来に比べて
記憶手段へのアクセス回数を削減することを可能とした
ため、スループットの低下の度合いを小さくすることが
できる。つまり、このような書き込み要求が多発するよ
うなシステム環境においても、装置全体としてのスルー
プットが大幅に低下してしまうことを防ぐことが可能と
なり、結果として装置としての性能が向上するという効
果が得られる。
As described above, in the data storage device of the present invention, even if there is a write request for a continuous data block on a logical address that spans different data chunks or different stripes, the data is stored compared to the conventional one. Since it is possible to reduce the number of times of access to the means, it is possible to reduce the degree of decrease in throughput. In other words, even in a system environment in which such write requests occur frequently, it is possible to prevent the throughput of the device as a whole from significantly lowering, and as a result, the effect that the device performance is improved is obtained. To be

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

【図1】本発明に係わるデータ記憶装置の実施の形態の
一例における論理アドレス空間上のデータブロックの配
置図である。
FIG. 1 is a layout diagram of data blocks in a logical address space in an example of an embodiment of a data storage device according to the present invention.

【図2】図1に示す論理アドレス空間を備えるデータ記
憶装置において、2つのデータチャンクにまたがり、論
理アドレス上で連続したデータブロックに対する書き込
み要求があった場合の動作例を示す説明図である。
FIG. 2 is an explanatory diagram showing an operation example in the data storage device having the logical address space shown in FIG. 1 when there is a write request for continuous data blocks on two logical chunks and on a logical address.

【図3】図1に示す論理アドレス空間を備えるデータ記
憶装置において、2つのストライプにまたがり、論理ア
ドレス上で連続したデータブロックに対する書き込み要
求があった場合の動作例を示す説明図である。
FIG. 3 is an explanatory diagram showing an operation example in the case where there is a write request for continuous data blocks on a logical address across two stripes in the data storage device having the logical address space shown in FIG.

【図4】従来のデータ記憶装置の一例の概略構成を示す
ブロック図である。
FIG. 4 is a block diagram showing a schematic configuration of an example of a conventional data storage device.

【図5】従来のデータ記憶装置におけるデータブロック
の配置図であり、(a)はホストコンピュータから見た
論理アドレス空間上の配置図であり、(b)は複数の磁
気ディスク装置における論理アドレス空間上の配置図で
ある。
5A and 5B are layout diagrams of data blocks in a conventional data storage device, FIG. 5A is a layout diagram in a logical address space viewed from a host computer, and FIG. 5B is a logical address space in a plurality of magnetic disk devices. FIG.

【図6】従来例において、2つのデータチャンクにまた
がり、論理アドレス上で連続したデータブロックに対す
る書き込み要求があった場合の動作例を示す説明図であ
る。
FIG. 6 is an explanatory diagram showing an operation example in the case where there is a write request for continuous data blocks on a logical address across two data chunks in the conventional example.

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

1、2 ストライプ 11、12、13、15 データチャンク 11a、12a、13a、13b、15a データブロ
ック 14a、14b、16a パリティブロック #0、#1、#2、#3 磁気ディスク装置
1, 2 stripes 11, 12, 13, 15 data chunks 11a, 12a, 13a, 13b, 15a data blocks 14a, 14b, 16a parity blocks # 0, # 1, # 2, # 3 magnetic disk drive

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 データを格納するための複数の格納領域
を有した記憶手段を複数備えるとともに、 該複数の記憶手段の各格納領域にそれぞれ異なるアドレ
スを順に付し、 前記複数の記憶手段の各格納領域を、該記憶手段の数を
行とし、かつ、該記憶手段における格納領域の数を列と
して配置した場合に、その配置中で、同一行上に並ぶ所
定数の格納領域の集合をデータチャンクとし、同一の列
方向に並ぶ前記データチャンクの集合をストライプと
し、さらに、同一列上に並ぶ複数の格納領域の中の一つ
の格納領域を、該複数の格納領域の中の他の格納領域に
格納されたデータの排他的論理和を記憶するためのパリ
ティ領域とするデータ記憶装置であって、 一つのストライプ内の異なるデータチャンクにまたがっ
て連続するアドレスを付された格納領域があると、該格
納領域は、共に同一列上に配置されてなることを特徴と
するデータ記憶装置。
1. A plurality of storage means having a plurality of storage areas for storing data are provided, and different addresses are sequentially assigned to the respective storage areas of the plurality of storage means. When the storage areas are arranged with the number of the storage means as the rows and the number of the storage areas in the storage means as the columns, in the arrangement, a set of a predetermined number of the storage areas arranged in the same row is set as the data. A chunk, a set of the data chunks arranged in the same column direction as a stripe, and one storage area in a plurality of storage areas arranged in the same column is defined as another storage area in the plurality of storage areas. A data storage device having a parity area for storing the exclusive OR of the data stored in, and having consecutive addresses assigned to different data chunks in one stripe. A data storage device characterized in that, when there is a storage area, the storage areas are both arranged on the same column.
【請求項2】 データを格納するための複数の格納領域
を有した記憶手段を複数備えるとともに、 該複数の記憶手段の各格納領域にそれぞれ異なるアドレ
スを順に付し、 前記複数の記憶手段の各格納領域を、該記憶手段の数を
行とし、かつ、該記憶手段における格納領域の数を列と
して配置した場合に、その配置中で、同一行上に並ぶ所
定数の格納領域の集合をデータチャンクとし、同一の列
方向に並ぶ前記データチャンクの集合をストライプと
し、さらに、同一列上に並ぶ複数の格納領域の中の一つ
の格納領域を、該複数の格納領域の中の他の格納領域に
格納されたデータの排他的論理和を記憶するためのパリ
ティ領域とするデータ記憶装置であって、 異なるストライプにまたがって連続するアドレスを付さ
れた格納領域があると、これらの格納領域と、これらの
格納領域に対するそれぞれのパリティ領域とが、前記配
置中における異なる二つの行上に配置され、かつ、該異
なる二つの行上で前記格納領域と前記パリティ領域とが
それぞれ互いに隣り合って配置されてなることを特徴と
するデータ記憶装置。
2. A plurality of storage means having a plurality of storage areas for storing data are provided, and different storage addresses are sequentially assigned to the respective storage areas of the plurality of storage means. When the storage areas are arranged with the number of the storage means as the rows and the number of the storage areas in the storage means as the columns, in the arrangement, a set of a predetermined number of the storage areas arranged in the same row is set as the data. A chunk, a set of the data chunks arranged in the same column direction as a stripe, and one storage area in a plurality of storage areas arranged in the same column is defined as another storage area in the plurality of storage areas. A data storage device that uses a parity area to store the exclusive OR of the data stored in the storage area, and if there are storage areas with consecutive addresses that are assigned to different stripes, Storage areas and respective parity areas for these storage areas are arranged on two different rows in the arrangement, and the storage areas and the parity areas are mutually different on the two different rows. A data storage device characterized by being arranged next to each other.
JP13154996A 1996-05-27 1996-05-27 Data storage device Expired - Fee Related JP3224741B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13154996A JP3224741B2 (en) 1996-05-27 1996-05-27 Data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13154996A JP3224741B2 (en) 1996-05-27 1996-05-27 Data storage device

Publications (2)

Publication Number Publication Date
JPH09319527A true JPH09319527A (en) 1997-12-12
JP3224741B2 JP3224741B2 (en) 2001-11-05

Family

ID=15060684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13154996A Expired - Fee Related JP3224741B2 (en) 1996-05-27 1996-05-27 Data storage device

Country Status (1)

Country Link
JP (1) JP3224741B2 (en)

Also Published As

Publication number Publication date
JP3224741B2 (en) 2001-11-05

Similar Documents

Publication Publication Date Title
US5315602A (en) Optimized stripe detection for redundant arrays of disk drives
US7281089B2 (en) System and method for reorganizing data in a raid storage system
US6154854A (en) Logical partitioning of a redundant array storage system
US5799140A (en) Disk array system and method for storing data
US7155569B2 (en) Method for raid striped I/O request generation using a shared scatter gather list
JP3743841B2 (en) Storage device system and control method
US6591338B1 (en) Methods and systems for mirrored disk arrays
US5504858A (en) Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
JP4953677B2 (en) Extensible RAID method and apparatus
US5650969A (en) Disk array system and method for storing data
US6832291B2 (en) Memory system for improving data input/output performance and method of caching data recovery information
US7454686B2 (en) Apparatus and method to check data integrity when handling data
US5875460A (en) Disk array subsystem and data generation method therefor
JPH10320128A (en) Method for controlling disk array device
JP2006059374A (en) Storage control device
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JP3224741B2 (en) Data storage device
EP1198793A2 (en) Methods and systems for mirrored disk arrays
JP3744504B2 (en) Processor device
JP2570614B2 (en) Disk array device
JP3122252B2 (en) Disk array control method
JP2857289B2 (en) Disk array device
JP3011020B2 (en) Array type disk system
JPH05313833A (en) Array type disk drive mechanism system
JPH11327796A (en) Disk array controller and cache control method to be applied to the same

Legal Events

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