JP3224741B2 - Data storage device - Google Patents

Data storage device

Info

Publication number
JP3224741B2
JP3224741B2 JP13154996A JP13154996A JP3224741B2 JP 3224741 B2 JP3224741 B2 JP 3224741B2 JP 13154996 A JP13154996 A JP 13154996A JP 13154996 A JP13154996 A JP 13154996A JP 3224741 B2 JP3224741 B2 JP 3224741B2
Authority
JP
Japan
Prior art keywords
data
storage
storage areas
logical address
parity
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.)
Expired - Fee Related
Application number
JP13154996A
Other languages
Japanese (ja)
Other versions
JPH09319527A (en
Inventor
政利 齋藤
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

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 provided with a plurality of storage means such as a magnetic disk drive and functioning as a single storage device using these storage means.

【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 has been known as a data storage device having a plurality of storage means.
The disk array device is a RAID (Redundant Arrays) devised by the University of California, Berkeley.
of Inexpensive Disks) architecture, and is provided with a plurality of magnetic disk devices (hereinafter referred to as DK). Among the “RAID architecture”, a disk array device adopting an architecture called RAID level 5 (hereinafter, referred to as a RAID 5 disk array device) has high reliability by having redundant data and a plurality of DKs in parallel. It realizes high throughput by accessing, and can exhibit high performance particularly 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, the RAID 5 disk array device has a control unit 20 for controlling the entire device, a plurality of built-in DKs # 0 to 3, and a disk interface (hereinafter referred to as interface) for connecting these devices to each other. Are abbreviated as I / Fs) 20a to 20d, and a host I / F 20e connected to a host computer (not shown). The number of DKs provided in the RAID 5 disk array device is not particularly defined in the “RAID architecture”, but here, a case where four DKs # 0 to 3 are provided will be described as an example.

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

【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 set as a row and the number of sectors (storage areas) of each DK is set as a column. Have been. The data block is data that is the minimum unit accessed by the host computer, and is, for example, a DK sector capacity of 51.
It has the same data amount as 2 bytes. In the set of data blocks in the logical address space, the data blocks 41a, 42a,
3a and these data blocks 41a, 42a, 43
parity block 4 which is an exclusive OR calculated from a
4a form a data string 40A. That is, one of the blocks constituting 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)が順に与え
られている。
In this logical address space,
A data chunk 41 is formed by a set of a predetermined number of data blocks 41a, 41b, 41c, and 41d stored successively in one DK (same row). The data chunk 41 has a capacity 2 to 8 times (several kilobytes to several tens of kilobytes) the capacity accessed most frequently from the host computer. For example, four data blocks 41a, 41b, 41c, 41d , The capacity is 2 Kbytes.
In one data chunk 41, consecutive logical addresses (for example, d00 to d03) are sequentially given 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
A stripe 49 is formed by a set of 7, 48. However, the stripe 49 includes the parity chunk 46 composed of only the parity block. In a RAID5 disk array device, that is, an architecture called RAID level 5, parity chunks are stored in different rows for each stripe, that is, in different DKs.

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

【0009】[0009]

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

【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, a continuous data block 42 on a logical address spans two different data chunks.
The case where there is a write request for b, 43a (logical addresses d07, d08) will be described with reference to FIG. However, the data block 42b (logical address d
07) has a parity block 44b (logical address dp).
03), and the data block 43a (logical address d08) has a parity block 44a (logical address d).
p00). 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 FIG.
7 ', d08') (Step 301; hereinafter, step is abbreviated as S), the controller 20 of the RAID 5 disk array device transfers the data to the cache / buffers 51, 52 of the controller 20. Store temporarily. The cache / buffer includes, 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 a parity block.

【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 the new write data is stored in the cache / buffers 51 and 52, the control unit 20 calculates the data block 42b of the logical address d07 from DK # 1 in order to calculate a new parity block for the write data. Read and cache / buffer 53
(S302), and reads the data block 43a of the logical address d08 from DK # 2 and stores it 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 DK # 3,
The data is stored in the buffers 55 and 56 (S304, S30
5).

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

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

【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’とすると、次の関係が成
立しなければならない。
If the data to be newly written 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 dk) xor 0 = di 'xor dj xor dj xor di xor di = (di xor dj xor DK) 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 control unit 20 stores the write data stored in the cache / buffer 51 in the D / D.
Write to logical address d07 on K # 1 (S30
8) Write the write data stored in the cache / buffer 52 to the logical address d08 on DK # 2 (S309). Also, the cache / buffers 57 and 58
Is written to the logical address dp03 and the logical address dp00 on DK # 3, respectively (S310, S311). That is, RAID5
In the disk array device, when a write request for a continuous data block on a logical address spans two data chunks from a host computer, the control unit 20 and each DK # respond to one write request.
0 to 3 times (S302 to S30)
5) and four writings (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 corresponds to a write request for a continuous data block extending over two stripes on a logical address (for example, a logical address d in FIG. 5B).
The same applies to the case where there is a request to write data to the memory cells 11 and d12 or d23 and d24). In this case, for one write request, between the control unit 20 and each of the DKs # 0 to # 3,
It is necessary to perform 2 to 4 readings and 2 to 4 writings.

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

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

【0025】[0025]

【課題を解決するための手段】本発明は、上記目的を達
成するために案出されたもので、請求項1記載のデータ
記憶装置は、データを格納するための複数の格納領域を
有した記憶手段を複数備えるとともに、これら複数の記
憶手段の各格納領域にそれぞれ異なるアドレスを順に付
し、前記複数の記憶手段の各格納領域を、これら記憶手
段の数を行とし、かつ、これら記憶手段における格納領
域の数を列として配置した場合に、その配置中で、同一
行上に並ぶ所定数の格納領域の集合をデータチャンクと
し、同一の列方向に並ぶ前記データチャンクの集合をス
トライプとし、さらに、同一列上に並ぶ複数の格納領域
の中の一つの格納領域を、これら複数の格納領域の中の
他の格納領域に格納されたデータの排他的論理和を記憶
するためのパリティ領域とするものであって、一つのス
トライプ内の異なるデータチャンクにまたがって連続す
るアドレスを付された格納領域があると、その格納領域
は、共に同一列上に配置されてなることを特徴とするも
のである。
SUMMARY OF THE INVENTION 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, and different addresses are sequentially assigned to the respective storage areas of the plurality of storage means, and the respective storage areas of the plurality of storage means are represented by the number of these storage means as rows, and When the number of storage areas in is arranged as a column, a set of a predetermined number of storage areas arranged on the same row in the arrangement is defined as a data chunk, and a set of the data chunks arranged in the same column direction is defined as a stripe. Further, one storage area among the plurality of storage areas arranged on the same column is used as a parity for storing exclusive OR of data stored in other storage areas among the plurality of storage areas. If there is a storage area having a continuous address over different data chunks in one stripe, the storage areas are arranged on the same column. Is what you do.

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

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

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

【0029】[0029]

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

【0030】本実施の形態のRAID5ディスクアレイ
装置は、従来のものと同様に、図4に示すように構成さ
れたものである。ただし、このRAID5ディスクアレ
イ装置では、従来のものと異なり、複数のDK#0〜3
上の論理アドレス空間が、図1に示すように配置されて
いる。
The RAID 5 disk array device according to the present embodiment is configured as shown in FIG. However, unlike the conventional RAID 5 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, the order (arrangement direction) of the logical addresses given to each data block in these data chunks in data chunks adjacent to each other in one stripe is reversed. . For example, within stripe 1, data chunk 1
1 for each data block (d
00 to d03) and the data chunk 11
And the arrangement directions of the logical addresses (d04 to d07) for the respective data blocks 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, each data block given a continuous logical address is arranged on the same data column. I have. For example, in one stripe 1, the data blocks 12a and 13a to which continuous logical addresses (d07 and d08) are provided over the adjacent data chunks 12 and 13 are both arranged on the same data string A. I have. 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 given successive logical addresses,
The same parity block 14a corresponds. Note that 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, each data block given a continuous logical address over different stripes is stored in the adjacent D block.
K is stored. For example, between data chunks 13 and 15 located on different stripes 1 and 2, data blocks 13 b and 15 a to which continuous logical addresses (d 11 and d 12) are given are adjacent to DK # 2 and # 3, respectively. 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 RAID 5 disk array device, parity chunks are stored in different DKs for each stripe. Therefore, in this logical address space, if there are data blocks 13b and 15a given continuous addresses (d11 and d12) over two stripes 1 and 2, these data blocks 13b and 15a and these data Block 13
b, 15a for each parity block 14
b and 16a are located on adjacent DKs # 2 and # 3, respectively. And these DK #
2, on # 3, the data block 13b and the parity block 16a, and the data block 15a and the parity block 14b are arranged so as to be adjacent to each other.

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

【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 of the logical addresses d07 and d08, and new write data (d07 'and d08' in the figure) are 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 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 unit 20 converts the data block 12a of the logical address d07 from DK # 1 to calculate a new parity block for these write data. Read and cache / buffer 23
(S102), and further reads the data block 13a of the logical address d08 from DK # 2 and stores it in the cache / buffer 24 (S103). Also, the control unit 20 reads the parity block 14a of the logical address dp00 from DK # 3 and
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 caches / buffers 21, 22, 23, 24, 25, and stores the result in the cache / buffer 26. (S105). The calculation result (dp00 'in the figure) in the cache / buffer 26 thus generated 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 transfers the write data stored in the cache / buffer 21 to the logical address d0 on DK # 1.
7, writing is performed instead of the data block 12a already stored in the cache / buffer 2 (S106).
2 is written to the data block 13 already stored at the logical address d08 on DK # 2.
Write in place of a (S107). The cache /
The new parity block stored in the buffer 26 is
Write in place of the parity block 14a already stored at the logical address dp00 on DK # 3 (S10
8). In this way, in the RAID 5 disk array device, writing to a continuous data block on a logical address is completed over 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 the RAID 5 disk array device, even if there is a write request for continuous data blocks on a logical address over two data chunks, 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
Three readings between K # 0 and K # 3 (S102-S1
04) and three write operations (S106 to S108), the write operation is completed. In other words, as before,
There is no need to perform four readings and four writings, and the writing operation is quicker than in the past. Therefore, even in a system environment in which such write requests frequently occur, 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 a case where a write request is made to a continuous data block on a logical address over two stripes in a RAID5 disk array device having the above logical address space. 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 sent from the host computer.
An example will be described in which a write request has been made to. However, the data block 13b (logical address d1)
1) includes a parity block 14b (logical address dp0).
3) corresponds to the data block 15a (logical address d).
12) has a parity block 16a (logical address dp).
04) correspond. In the control unit 20, the data block 13b and the parity block 16a,
Blocks stored in areas adjacent to each other, such as the data block 15a and the parity block 14b, can be read or written 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 of the logical addresses d11 and d12, and new write data (d11 'and d12' in the figure) are transferred from the host computer along with this request. (S201), the control unit 20 temporarily stores the data in the cache / buffers 31 and 32 of 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 cache / buffers 31, 32, the control unit 20 calculates a new parity block for these write data from the DK # 2 and the data block 13b of the logical address d11. , And the parity block 16a of the logical address dp04 is read by one reading and stored in the cache / buffers 33 and 36 (S
202). Further, the control unit 20 reads the data block 15a of the logical address d12 from the DK # 3 and the parity block 14b of the logical address dp03 by one reading, and reads each of them from the cache / buffer 3.
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 calculates the exclusive OR of all the data stored in the caches / buffers 31, 33, 35 and the cache / buffers 32, 3
The exclusive OR of all the data stored in the storages 4 and 36 is calculated, and the results are stored in the cache / buffers 37 and 38, respectively (S204, S20).
5). The cache / buffer 37 thus generated,
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 stores the contents stored in the cache / buffers 31 and 38 with the data block 13b already stored at the logical address d11 on DK # 2. Parity block 1 already stored at logical address dp04
6a, and is written by one write (S206). Further, the control unit 20 compares the contents stored in the cache / buffers 32 and 37 with the data block 15a already stored at the logical address d12 on the DK # 3 and the parity block already stored at the logical address dp03. 14b instead of 1
Writing is performed by writing twice (S207). In this way, in this RAID 5 disk array device, writing to a continuous data block on a logical address over 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 RAID 5 disk array device, if there are continuous data blocks on logical addresses over two stripes, these data blocks and the respective parity blocks for these data blocks Are always stored in two DKs, and in these DKs, data blocks and parity blocks are stored in adjacent areas. Therefore, in response to one write request from the host computer, two readings (S202, S203) and two writings (S206, S207) are performed between the control unit 20 and each of the DK # 0-3. Then, the write operation is completed. In other words, the write operation is quicker than the conventional two to four times of reading and two to four times of writing. Therefore, even in a system environment in which such write requests frequently occur, 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ディスクアレイ
装置であっても本発明を適用すれば、上述と同様の効果
が得られる。
Note that, in the present embodiment, the present invention
Although the case where the present invention is applied to the D5 disk array device has been described, the present invention is not limited to this. For example, a RAID4 disk array device employing an architecture called RAID level 4 in “RAID architecture” may be used. Applicable. The RAID4 disk array device differs from the RAID5 disk array device in that the DK for storing the parity chunk is fixed. If the present invention is applied to such a RAID4 disk array device, the same effects as described above can be obtained.

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

【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 over different data chunks or different stripes, the data storage device is compared with the conventional one. Since the number of accesses to the means can be reduced, the degree of decrease in throughput can be reduced. In other words, even in a system environment where such write requests frequently occur, it is possible to prevent the throughput of the entire apparatus from being significantly reduced, and as a result, the effect of improving the performance of the apparatus is obtained. Can be

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

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

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

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

【図4】従来のデータ記憶装置の一例の概略構成を示す
ブロック図である。
FIG. 4 is a block diagram illustrating 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 when a write request is made to a continuous data block on a logical address over 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)

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

Similar Documents

Publication Publication Date Title
US6154854A (en) Logical partitioning of a redundant array storage system
US7281089B2 (en) System and method for reorganizing data in a raid storage system
US5315602A (en) Optimized stripe detection for redundant arrays of disk drives
US5799140A (en) Disk array system and method for storing data
KR100321843B1 (en) Transformational raid for hierarchical storage management system
US6941420B2 (en) Log-structure array
JP3743841B2 (en) Storage device system and control method
US5504858A (en) Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US7861035B2 (en) Method of improving input and output performance of raid system using matrix stripe cache
US5650969A (en) Disk array system and method for storing data
US20030033477A1 (en) Method for raid striped I/O request generation using a shared scatter gather list
US6832291B2 (en) Memory system for improving data input/output performance and method of caching data recovery information
JPH06208476A (en) Redundancy array parity cashing system
JPH10320128A (en) Method for controlling disk array device
JPH09288547A (en) Array-type storage device
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JP3224741B2 (en) Data storage device
JPH10240453A (en) Disk array device
JP3122252B2 (en) Disk array control method
US6898666B1 (en) Multiple memory system support through segment assignment
JP2570614B2 (en) Disk array device
JP2857289B2 (en) Disk array device
JP3011020B2 (en) Array type disk system
JPH11327796A (en) Disk array controller and cache control method to be applied to the same
JPH05313833A (en) Array type disk drive mechanism system

Legal Events

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