JP2003036146A - Disk array control system - Google Patents

Disk array control system

Info

Publication number
JP2003036146A
JP2003036146A JP2001221566A JP2001221566A JP2003036146A JP 2003036146 A JP2003036146 A JP 2003036146A JP 2001221566 A JP2001221566 A JP 2001221566A JP 2001221566 A JP2001221566 A JP 2001221566A JP 2003036146 A JP2003036146 A JP 2003036146A
Authority
JP
Japan
Prior art keywords
data
disk
parity
written
check code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001221566A
Other languages
Japanese (ja)
Inventor
Seiji Kaneko
誠司 金子
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001221566A priority Critical patent/JP2003036146A/en
Publication of JP2003036146A publication Critical patent/JP2003036146A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To enables a disk control part with low error detecting capability to detect such trouble that old data are read out by mistake and also detect even an error of data by using an added check code. SOLUTION: A disk array control system is characterized by that a disk array device constituted by using a plurality of disk units writes added check codes 220, 221, and 222 generated according to data written to data disks constituting a parity group to the data disks, writes all the added check codes 220, 221, and 222 to parity disks constituting the parity group, and reads added check codes of one of the plurality of data disks and of parity disks to check an error.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ディスクアレイ装
置の障害検出方式に関し、特に、低価格で障害検出能力
の低いディスク装置を組み合わせて、高信頼なディスク
アレイ装置を構成する技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a failure detecting method for a disk array device, and more particularly to a technique for constructing a highly reliable disk array device by combining disk devices which are inexpensive and have a low failure detecting ability.

【0002】[0002]

【従来の技術】一般的に、ディスクは磁気記録媒体や光
記録媒体を使用しているために、円板上の一部分が読み
書きできなくなる障害が発生する。これをセクタ障害と
いう。セクタ障害の原因としては、円板上の傷や磁性体
の劣化等が考えられる。ディスク装置では、ECC(E
rror Correcting Code)を付加す
ることで、ある程度のセクタ障害に対しては、復旧する
ことが可能である。また、付加するECC符号の種類に
より、セクタ中の何ビットまでのエラーを訂正すること
が可能であるかが変化する。
2. Description of the Related Art Generally, a disk uses a magnetic recording medium or an optical recording medium, so that a part of the disk cannot be read or written. This is called a sector failure. The cause of the sector failure may be scratches on the disk or deterioration of the magnetic material. In the disk device, ECC (E
By adding a error correcting code, it is possible to recover from a certain degree of sector failure. Also, depending on the type of ECC code to be added, the number of bits in a sector in which an error can be corrected changes.

【0003】低価格のドライブでは、上記のセクタ障害
が起きる確率が比較的高いため、複数のディスクを並列
に動作させることで高速制御を実現し、また、パリティ
と呼ぶ冗長データをパリティディスクと呼ぶ特定のディ
スクに格納することにより、万一、データを格納する1
台のディスクが故障しても、他のディスクとパリティデ
ィスクのパリティとから故障したディスクのデータを再
現することができ、耐ディスク障害信頼性を高めること
ができるRAIDと呼ばれるディスク制御の方法が提案
された。
In a low-priced drive, since the above-mentioned sector failure is relatively likely to occur, a high speed control is realized by operating a plurality of disks in parallel, and redundant data called parity is called a parity disk. By storing on a specific disk, data is stored by any chance 1
Even if one disk fails, a disk control method called RAID that can reproduce the data of the failed disk from other disks and the parity of the parity disk and can improve the reliability of disk failure is proposed. Was done.

【0004】このRAIDに関しては、「A Case
for Redundant Arrays of
Inexpensive Disks (RAI
D)」;In Proc.ACM SIGMOD,Ju
ne 1988(カリフォルニア大学バークレー校発
行)に詳しい。RAIDは、そのパリティの格納の方法
によりレベル1からレベル5があるが、現在広く耐障害
性を持つディスクアレイで用いられているのはレベル1
とレベル5である。
Regarding this RAID, "A Case
for Redundant Arrays of
Inexpensive Disks (RAI
D) "; In Proc. ACM SIGMOD, Ju
Learn more about ne 1988 (published by the University of California, Berkeley). RAID has levels 1 to 5 depending on the method of storing the parity, but the level 1 is currently widely used in disk arrays having fault tolerance.
And level 5.

【0005】冗長構成を有する上記RAID5構成を取
るディスクアレイ装置では、セクタ障害が発生した場
合、同一パリティグループに属する残りのディスク装置
によってデータを復元し、交代領域への書き込みを行う
ことにより障害データを回復させていた。
In a disk array device having the above-mentioned RAID 5 structure having a redundant structure, when a sector failure occurs, the data is restored by the remaining disk devices belonging to the same parity group, and the failure data is written to the alternate area. Had been recovered.

【0006】ここで、図3に示す4つのディスクへのデ
ータ配置を例に取って、レイド5構成について述べる
と、ディスクアレイ制御装置に転送されてきたデータを
0,1,2のように例えば512バイトの固定長に分け
てディスク1,2,3に転送するとともに、パリティ部
Pとしてデータ0,1,2のエクシクルーシブオアを取
って512バイトの固定長を形成してディスク4に転送
する。そして、このデータ0,1,2とパリティPが同
一パリティグループを形成しているのである。図3の矢
印に示すように、データ0,1,2,パリティP,デー
タ0,1,2,パリティP,…と続くディスク1〜4へ
のデータ配置はレイド5の規格である。
Here, taking the data arrangement on the four disks shown in FIG. 3 as an example, the RAID 5 configuration will be described. The data transferred to the disk array control device is, for example, 0, 1, 2. The data is divided into a fixed length of 512 bytes and transferred to the disks 1, 2 and 3, and the exclusive OR of the data 0, 1 and 2 is taken as the parity part P to form a fixed length of 512 bytes and transferred to the disk 4. To do. The data 0, 1, and 2 and the parity P form the same parity group. As shown by the arrow in FIG. 3, the data allocation to the disks 1 to 4 following the data 0, 1, 2, parity P, the data 0, 1, 2, parity P, ... Is the standard of RAID 5.

【0007】そして、RAID5構成を取るひとつのデ
ィスクからデータを読み出そうとする場合、パリティグ
ループを構成する全データディスクとパリティディスク
からデータを読みとってエラーの検出をすることは可能
であるが、複数のディスクからデータを読み出すため大
きな性能低下を招く。
When it is attempted to read data from one disk having the RAID5 configuration, it is possible to read the data from all the data disks and the parity disks which form the parity group to detect the error. Since data is read from a plurality of disks, a large performance drop will occur.

【0008】このため、この様なRAID装置の場合、
所定のデータにエラー検出用のコードを付け、その両方
をデータとして書き込み、読み出しをおこなうことによ
り単体ディスクの読み出しでエラー検出が行える様に構
成するのが通常である。即ち、データ0,1,2には、
前述した512バイトの生データに加えて、ディスクの
ロジカルアドレスLAとチェックビットCHを付加して
いる。そして、このLAやCHによって単体ディスクで
のエラー検出を行っている(図2を参照すると、図2の
データ20が生データに対応し、図2のLA21がロジ
カルアドレスに対応し、RCC23がチェックビットに
対応するものである)。
Therefore, in the case of such a RAID device,
It is usual to add a code for error detection to predetermined data, write both of them as data, and perform reading so that the error can be detected by reading a single disk. That is, the data 0, 1, 2
In addition to the 512-byte raw data described above, a logical address LA of the disc and a check bit CH are added. Then, error detection is performed on a single disk by this LA or CH (refer to FIG. 2, the data 20 of FIG. 2 corresponds to raw data, the LA 21 of FIG. 2 corresponds to a logical address, and the RCC 23 checks. It corresponds to a bit).

【0009】また、特開平10ー171608号公報に
は、データ部に対してアドレス情報と時間的要素を表す
情報とを付加することが開示されている。このようなデ
ータフォーマットを採用することで、磁気ディスク装置
のキャッシュレジスタの古いデータを誤って読みだした
場合でも磁気ディスク装置用データに変換する際にデー
タにタイムスタンプを追加記憶しておくので、データの
読み出し又は書き込みの際にデータの異常を検出できる
ようになっている。
Further, Japanese Laid-Open Patent Publication No. 10-171608 discloses that address information and information indicating a temporal element are added to the data part. By adopting such a data format, even if the old data in the cache register of the magnetic disk device is erroneously read, the time stamp is additionally stored in the data when converting to the data for the magnetic disk device. A data abnormality can be detected when reading or writing data.

【0010】[0010]

【発明が解決しようとする課題】従来技術として説明し
た技術は、主にディスクの媒体に対する書き込み及び読
み出し時のセクタ障害に代表されるエラーの検出、及び
インターフェース関連のエラー検出とその回復を目的と
する手段である。
The technique described as the prior art is mainly aimed at detecting an error represented by a sector failure at the time of writing and reading to and from a disk medium, and detecting and recovering an error related to an interface. Is a means to do.

【0011】一方、近年ディスクドライブはパーソナル
コンピュータ用を中心に著しい価格の低下が進んだが、
それにともない低価格化を重視してメディア(記録媒
体)の障害に比して発生頻度の低い内部制御系のチェッ
クの省略が行われたため、ディスクの制御部でのエラー
検出能力は相対的に低くなっている。この場合でも、デ
ィスク内部で発生したエラーが、例えばデータ系のビッ
ト化けなどの単純なデータ誤りとして書きこまれるなら
ば、従来技術で説明したRAIDデータのエラー検出符
号によって検出可能であるが、制御部用のデータを保持
するディスク内のバッファに障害が発生した場合、書き
込もうとしたデータを誤った位置に書き込む誤動作が発
生し得る。
On the other hand, in recent years, the price of disk drives has been remarkably reduced mainly for personal computers, but
Along with that, since the cost of price reduction was emphasized, the check of the internal control system, which occurs less frequently than the failure of the medium (recording medium), was omitted, so the error detection capability of the disk controller was relatively low. Has become. Even in this case, if the error generated inside the disk is written as a simple data error such as a garbled bit of the data system, it can be detected by the error detection code of the RAID data described in the prior art. When a failure occurs in the buffer in the disk that holds the copy data, a malfunction may occur in which the data to be written is written in the wrong position.

【0012】この種のエラーでは、書き込まれた先のデ
ータ(誤った位置に書き込まれたデータ)も、上書きさ
れないで残ったデータ(本来、上書きされて消去される
べき旧データ)も正しいチェックコードを持つ場合に、
特に、書き込まれるべきデータが誤った場所に書き込ま
れたことによって書き込まれないで残った旧データは、
これ自体単独では矛盾していないものなので、これが誤
っていることを検出する手段が従来の技術では存在しな
い。
In this kind of error, correct data is written for both the written data (data written in the wrong position) and the data left unwritten (the original data that should be overwritten and erased). If you have
In particular, the old data that was left unwritten because the data that should be written was written in the wrong location,
There is no means in the prior art to detect that this is wrong, as it is not inconsistent by itself.

【0013】敷衍すると、512Bの生データ、位置情
報のLA、チェックビットのCH、からなるデータ部
と、生データから生成されたパリティデータ、LA及び
CHからなるパリティ部と、で構成する従来のRAID
の場合、パリティ部(P)と全てのデータ部(0,1,
2)との読み出しでエラーチェックすれば間違いなくエ
ラー検出できるが、前述した読み出しの性能低下を考慮
すると、データ部の読み出しでデータとチェックコード
CHのチェックで問題なければ正のデータとしてホスト
に上げるという取り扱いをする場合がある。このような
場合において、データが誤った位置に書き込まれた際
に、書き込まれるべき位置に存するデータの読み出し指
令に対して(ディスクアレイ制御装置は当該位置に新し
いデータが書き込まれていると認識しているから)、上
書きで消去されずに残っていた旧データが読み出される
こととなる。旧データはそれ自体ではデータとCHとが
一致するものであるから、この旧データの読み出しにエ
ラー検出が掛からない(LAも問題がないのであるか
ら)こととなる。
[0013] According to the conventional method, a data portion including 512B of raw data, LA of position information, CH of check bits, and parity data generated from the raw data and a parity portion of LA and CH are used. RAID
, The parity part (P) and all data parts (0, 1,
Although an error can be definitely detected by performing an error check by reading with 2), considering the above-mentioned read performance degradation, if there is no problem in checking the data and check code CH in the reading of the data section, it is sent to the host as positive data. May be handled. In such a case, when the data is written in the wrong position, the disk array controller recognizes that new data has been written in the position where the data should be written. Therefore, the old data that has not been erased by overwriting and remains, will be read. Since the old data itself is the same as the CH, the error detection does not occur in the reading of the old data (since LA has no problem).

【0014】本発明の目的は、互いに共通するデータに
基づいた付加チェックコードをデータ部とパリティ部の
両方に保持して、データ部とパリティ部の2つのディス
クでその付加チェックコードの検出を行うことによっ
て、誤って旧データが読まれている障害を検出するとと
もに、付加チェックコードによってデータのエラーをも
検出でき得ることにある。
An object of the present invention is to hold an additional check code based on common data in both the data section and the parity section, and detect the additional check code in two disks, the data section and the parity section. As a result, it is possible to detect a fault in which old data is erroneously read and also to detect a data error by the additional check code.

【0015】[0015]

【課題を解決するための手段】本発明は、主として次の
ようなディスクアレイ制御方式を採用することによっ
て、従来技術では為し得なかったエラー検出を実現する
機能乃至作用を有するものである。 (1)パリティ部のパリティデータに加えて、パリティ
付随情報として、RAIDを構成するデータ部に書き込
んだ識別情報(図2に示すCC0、CC1又はCC2で
あり、データ20に基づいて生成されるもの)を付加チ
ェックデータとして加えて書き込みを行う。 (2)常にデータ部とパリティ部の二つのディスク単位
でデータの読み出しを行い、前記データ部の識別情報と
パリティ部のパリティ付随情報とを比較し、誤って古い
データが読まれている障害を検出する。
SUMMARY OF THE INVENTION The present invention mainly has a function or action for realizing error detection, which cannot be achieved by the prior art, by adopting the following disk array control system. (1) Identification information (CC0, CC1 or CC2 shown in FIG. 2 which is generated based on the data 20 and which is written in the data portion forming the RAID as the additional information of the parity in addition to the parity data of the parity portion. ) Is added as additional check data and writing is performed. (2) Data is always read out in units of two disks, the data section and the parity section, and the identification information of the data section and the parity accompanying information of the parity section are compared with each other to detect a fault in which old data is erroneously read. To detect.

【0016】本発明においては、読み出しには必ず二個
のディスクにアクセスするため、読みだし性能は多少低
下するが、古いデータを誤って読み出す障害を検出する
ことができる。
According to the present invention, since two disks are always accessed for reading, the reading performance is somewhat lowered, but a failure to read old data by mistake can be detected.

【0017】以上のような機能乃至作用を果たすため
に、本発明は主として次のような構成を採用する。複数
のディスク装置を使って構成したディスクアレイ装置に
おいて、パリティグループを構成する複数のデータディ
スクに、各データディスクに書き込まれた各データに基
づいて生成された各付加チェックコードをそれぞれ書き
込むとともに、前記パリティグループを構成するパリテ
ィディスクに、全ての各付加チェックコードを書き込
み、前記複数データディスクの1つと前記パリティディ
スクの前記付加チェックコードを読み出してエラーチェ
ックを行うディスクアレイ制御方式。
In order to achieve the above functions and actions, the present invention mainly employs the following configurations. In a disk array device configured using a plurality of disk devices, each additional check code generated based on each data written in each data disk is written in each of the plurality of data disks forming the parity group, and A disk array control method in which all of the additional check codes are written to a parity disk that constitutes a parity group, and one of the plurality of data disks and the additional check code of the parity disk are read to perform an error check.

【0018】[0018]

【発明の実施の形態】本発明の実施形態に係るディスク
アレイ制御方式について、図1、図2及び図3を用いて
以下詳細に説明する。図1は本発明の実施形態に係るデ
ィスクアレイ装置の概略的構成を示す図であり、図2は
本実施形態におけるディスクに書き込むデータフォーマ
ットを示す図であり、図3は本実施形態におけるディス
ク内のデータ配置を示す図である。
BEST MODE FOR CARRYING OUT THE INVENTION A disk array control system according to an embodiment of the present invention will be described in detail below with reference to FIGS. 1, 2 and 3. FIG. 1 is a diagram showing a schematic configuration of a disk array device according to an embodiment of the present invention, FIG. 2 is a diagram showing a data format to be written to a disk according to this embodiment, and FIG. 3 is an inside disk of this embodiment. It is a figure which shows the data arrangement of.

【0019】図1において、110はホストとなるサー
バ10への通信路を示す。この通信路110には、一般
にSCSIやファイバーチャネル等が使われる。図の1
2は、本実施形態における制御を実施するディスクアレ
イ制御装置であり、ホスト通信制御部121、装置制御
を行うプロセッサ部122、データのキャッシングを行
うキャッシュ部123、ディスクの制御を行うディスク
制御部124、から構成される。また、ディスクアレイ
制御装置12にはディスク13が接続される。
In FIG. 1, reference numeral 110 indicates a communication path to the server 10 which serves as a host. For this communication path 110, generally SCSI or fiber channel is used. Figure 1
Reference numeral 2 denotes a disk array control device that performs control in the present embodiment, and includes a host communication control unit 121, a processor unit 122 that performs device control, a cache unit 123 that caches data, and a disk control unit 124 that controls disks. ,,. A disk 13 is connected to the disk array controller 12.

【0020】本実施形態では、図3を参照して、3個の
データに付きパリティデータを1つ用意し、4つのディ
スクでパリティグループを構成するRAID5構成を取
るため、4の整数倍のディスク台数が必要であり、図3
では簡単のため4台記載している。データとパリティ自
体は、図3に示す様に分散されて配置されるため、デー
タ用のディスクとパリティ用の専用ディスクに分かれて
いるわけではない。
In the present embodiment, referring to FIG. 3, one piece of parity data for three pieces of data is prepared, and a RAID5 configuration in which a parity group is formed by four disks is adopted. The number is required, and Fig. 3
For simplicity, 4 units are shown. Since the data and the parity itself are distributed and arranged as shown in FIG. 3, they are not divided into a data disk and a dedicated parity disk.

【0021】図2は、RAID装置に書き込むデータの
フォーマットを示す。データ部とパリティ部は同じフォ
ーマットを使用する。図2の20はディスクの保持する
データ、図2の21はそのデータのディスク中の位置情
報、図2の22は本発明の特徴である付加チェックコー
ドデータ、図2の23はデータ、位置情報、付加チェッ
クコードから生成されるチェックコードである。
FIG. 2 shows a format of data to be written in the RAID device. The data part and the parity part use the same format. Reference numeral 20 in FIG. 2 is data held by the disc, 21 in FIG. 2 is position information of the data in the disc, 22 in FIG. 2 is additional check code data which is a feature of the present invention, and 23 in FIG. 2 is data and position information. , A check code generated from the additional check code.

【0022】本実施形態では、パリティディスクに書き
込む付加チェックコードは、データ部の書き込みに用い
る付加チェックコードと同一のもの(但し、データと位
置情報から生成されたもの)を用い、またデータ部で用
いる付加チェックコードは、パリティ部に用いる付加チ
ェックコードを用いる。実際に書き込むデータに付随す
るチェックコードRCCは、データ、位置情報、付加チ
ェックコードから生成された全体のデータに対するチェ
ックコードである。ここで、付加チェックコードは前述
したようにデータ20に基づいて生成されたチェックコ
ードであることが特徴であり、CRC(Cyclic
Redundancy Check)コードを用いても
良い。いずれもデータ20に基づいたチェックコードで
あるから、この付加チェックコードを用いて、読み出し
データのエラーチェックも可能であり、更に、付加チェ
ックコードの生成には既存のデータ及び/又は位置情報
LAを利用していて、特別な他の情報源を必要とした
り、利用するものではな。また、付加チェックビットと
してデータを書き込んだ際に書き込みを一意に識別でき
る識別子を用いても良い。
In this embodiment, the additional check code to be written to the parity disk is the same as the additional check code used for writing the data section (however, it is generated from the data and the position information), and the additional check code is used in the data section. The additional check code used is the additional check code used in the parity part. The check code RCC accompanying the data to be actually written is a check code for the entire data generated from the data, the position information, and the additional check code. Here, the additional check code is characterized by being a check code generated based on the data 20 as described above, and CRC (Cyclic).
A Redundancy Check) code may be used. Since each is a check code based on the data 20, it is possible to check the read data for an error by using this additional check code. Furthermore, existing data and / or position information LA is used to generate the additional check code. You are using it and do not need or use any other special sources of information. Further, an identifier that can uniquely identify writing when writing data may be used as the additional check bit.

【0023】図3は、本実施形態のおけるディスク内の
データ配置を示す。パリティグループを構成する各ディ
スク30,31,32,33に、3つのデータ34,3
5,36及びパリティ37が図示の様に格納されるが、
これは図示するように64KBytes程度の細かい単
位で別のディスクを使うようになっており、それによっ
て負荷が高くなるパリティ部を全ディスクに分散させて
負荷の均一化と性能向上を図っている。
FIG. 3 shows the data arrangement in the disc in this embodiment. Each disk 30, 31, 32, 33 forming the parity group has three data 34, 3
5, 36 and parity 37 are stored as shown,
As shown in the figure, another disk is used in a fine unit of about 64 KBytes, whereby the parity part, which increases the load, is distributed to all the disks to make the load uniform and improve the performance.

【0024】本実施形態の実際の動作を以下詳細に記載
する。本実施形態では、ホスト10側から通信路110
経由でデータの書き込みが指定された場合、ホストから
送られてきた書き込むべきデータを512Bytes単
位に分割して、まずキャッシュメモリ部123にバッフ
ァする。次に、制御プロセッサ122により、ディスク
13に書くべきデータを図2のフォーマットに従って生
成する。ここで、データ20は、ホストから送られてき
たデータそのものであり、位置情報21は、内部で管理
している書き込むべきデータのディスクアレイ内の位置
である。これは8バイトからなり、上位2バイトは、デ
ィスクアレイ制御装置12につながったディスクの通番
(接続位置情報)であり、下位6Bytesは、ディス
ク内のデータの書き込み開始セクタ番号を示す。
The actual operation of this embodiment will be described in detail below. In this embodiment, the communication path 110 is transmitted from the host 10 side.
When data writing is designated via the data, the data to be written sent from the host is divided into 512 bytes and buffered in the cache memory unit 123 first. Next, the control processor 122 generates data to be written on the disk 13 according to the format shown in FIG. Here, the data 20 is the data itself sent from the host, and the position information 21 is the position in the disk array of the data to be written managed internally. This consists of 8 bytes, the upper 2 bytes are the serial number (connection position information) of the disk connected to the disk array control device 12, and the lower 6 bytes indicate the write start sector number of the data in the disk.

【0025】本実施形態では、書き込みの際には、対象
とするデータが配置されるディスクと、パリティディス
クの両方に対して同じ形式の図2に示す付加チェックコ
ード22を持つデータを書き込む。通常のRAIDの場
合にもチェックコードとしてパリティデータを書き込む
ので、本実施形態が従来フォーマットと異なる点は、前
記付加チェックコード22を付随データとして書き込む
点である。
In this embodiment, at the time of writing, the data having the additional check code 22 shown in FIG. 2 of the same format is written to both the disk where the target data is arranged and the parity disk. Since parity data is written as a check code even in the case of normal RAID, the present embodiment differs from the conventional format in that the additional check code 22 is written as ancillary data.

【0026】この時、書き込むデータの付加チェックコ
ードデータ22には、本実施形態のRAID構成に対応
した、3つの付加チェックコードのフィールド220,
221,222があるが、データ部の付加チェックコー
ドは、自データの位置の付加チェックコードのみ更新、
パリティデータの付加チェックコードは、書き込んだデ
ータに対応する付加チェックコードのみ更新し、他の部
分は元のままとする。
At this time, in the additional check code data 22 of the data to be written, there are three additional check code fields 220, which correspond to the RAID configuration of this embodiment.
221 and 222 exist, but the additional check code of the data part is only the additional check code of the position of the own data updated.
As for the additional check code of the parity data, only the additional check code corresponding to the written data is updated, and the other parts remain unchanged.

【0027】例えば、パリティグループの第一のデータ
領域34にデータを書き込んだ場合(図3参照)、その
データからパリティデータを再計算し、パリティデータ
の付加チェックコードをデータ領域34のフィールド2
20の位置に書き、データから生成したチェックコード
をパリティデータ37のフィールド220の位置に書
く。最後に、このデータ全体(データ20、LA21、
付加チェックコード22)に対して所定の検出能力を持
ったチェックコード23を生成し、データとして追加す
る。本実施形態では、8Bytesのチェックコードを
付けており、512Bytesのデータにつき実際にデ
ィスクに書き込まれるのは552Bytesである。こ
の552Bytesのデータをディスク制御装置12か
ら実際のディスク13に書き込む。
For example, when data is written in the first data area 34 of the parity group (see FIG. 3), the parity data is recalculated from the data and the additional check code of the parity data is stored in the field 2 of the data area 34.
The check code generated from the data is written in the position 220 in the field 220 of the parity data 37. Finally, this whole data (data 20, LA21,
A check code 23 having a predetermined detection capability is generated for the additional check code 22) and added as data. In the present embodiment, a check code of 8 Bytes is attached, and 552 Bytes are actually written to the disk for 512 Bytes of data. This 552 Bytes data is written from the disk controller 12 to the actual disk 13.

【0028】以上説明したディスクデータフォーマット
について、図2の(2)を用いて再度説明する。ホスト
サーバ10から送られてきたデータは、ディスクアレイ
制御装置12で、データ0,1,2のように固定長デー
タに分割される。更に、パリティPはデータ0,1,2
からエクシクルーシブオアを取って作成された512B
のデータである。これらデータ0、1,2,パリティP
は、図3に示すようにディスク1〜4に配置される。こ
こで、データ0のデータフォーマットについて、本実施
形態の特徴である付加チェックコードCC0が512B
のデータ、LA21に基づいて作成されてLA21に続
いて書き込まれ、更に、チェックコードRCC23が5
12Bデータ、LA21及びCC0(220)に基づい
て作成され書き込まれる。データ1及びデータ2につい
ても、同様に付加チェックコードCC1(221)及び
CC2(222)が図示のように書き込まれる。また、
パリティPについては、データ20、LA21に続い
て、CC0(220)、CC1(221)、CC2(2
22)が全て書き込まれる。
The disk data format described above will be described again with reference to FIG. The data sent from the host server 10 is divided by the disk array controller 12 into fixed length data such as data 0, 1, 2. Furthermore, the parity P is data 0, 1, 2
512B created by taking exclusive OR from
Data. These data 0, 1, 2, parity P
Are arranged on the disks 1 to 4 as shown in FIG. Here, regarding the data format of the data 0, the additional check code CC0 which is the feature of this embodiment is 512B.
Data, which is created based on LA21 and is written following LA21, and the check code RCC23 is 5
It is created and written based on 12B data, LA21 and CC0 (220). Similarly, for data 1 and data 2, additional check codes CC1 (221) and CC2 (222) are written as shown. Also,
As for the parity P, CC0 (220), CC1 (221), CC2 (2
22) are all written.

【0029】一方、本実施形態では読み出しの際の処理
は通常と異なり、本実施形態に即して必ず対象とするデ
ータが配置されるディスク30〜33の一つとパリティ
データ37の両方を読み込む。読み出した付加チェック
コード22が読み出したデータの対応する位置の付加チ
ェックコードと一致しているかを確認してエラーの検出
を行う。本実施形態の場合、エラー検出は以下の判定で
行う。
On the other hand, in the present embodiment, the processing at the time of reading is different from usual, and in accordance with the present embodiment, one of the disks 30 to 33 in which the target data is arranged and the parity data 37 are always read. An error is detected by checking whether the read additional check code 22 matches the additional check code at the corresponding position of the read data. In the case of the present embodiment, error detection is performed by the following judgment.

【0030】(1)チェックコード23とデータ20が
不一致の場合には、そのデータはエラーである。これは
ディスク内部の書き込み時のデータ系の障害によって正
しいデータが書き込まれなかったものであると考えられ
る。
(1) If the check code 23 and the data 20 do not match, the data is an error. It is considered that this is because correct data was not written due to a failure of the data system during writing in the disc.

【0031】(2)チェックコード23とデータ20は
一致しているが、読み出されたデータに埋め込まれた位
置情報21と、そのデータ20が本来あるべき位置(デ
ィスクアレイ制御装置が書き込みを指令した位置)が一
致していなかった場合は、その不一致となっているデー
タはエラーである。これはディスク13の内蔵制御部障
害によって誤った位置に書き込まれた先のものが読み出
されたケースである。
(2) The check code 23 and the data 20 match, but the position information 21 embedded in the read data and the position where the data 20 should be (the disk array control device issues a write command). If the specified position) does not match, the mismatched data is an error. This is a case where the destination of the data written in the wrong position is read due to the failure of the built-in control unit of the disk 13.

【0032】(3)付加チェックコード22が一致して
いなかった場合には、まずパリティグループのデータを
読み、そのデータから不一致の各データが誤っていたこ
とを仮定した二通りのデータ再構築を行い、その結果と
付加チェックコード22を比較して矛盾している側が誤
ったデータである。これは、制御部障害によって書き込
まれるべきデータが誤った位置に書き込まれたため、旧
データが読み出されているケースである。即ち、図2の
(2)の場合を例にすると、データ0とパリティPを読
み出して付加チェックコードが不一致の場合、データ0
とパリティPのいずれかがエラーである。そこで、デー
タ1とパリティP、データ2とパリティP、の組み合わ
せで付加チェックコードの一致をみて、データ0とパリ
ティPのいずれかのエラーを検出する。データ0がエラ
ーであると解ると、データ1、データ2及びパリティP
からデータ0の回復を行う。
(3) If the additional check codes 22 do not match, the data of the parity group is first read, and two types of data reconstruction are performed on the assumption that each mismatched data is incorrect. The result is compared with the additional check code 22, and the inconsistent side is erroneous data. This is a case where the old data is being read because the data to be written was written in the wrong position due to the control unit failure. That is, taking the case of (2) of FIG. 2 as an example, when the data 0 and the parity P are read and the additional check code does not match, the data 0
Or parity P is in error. Therefore, the combination of the data 1 and the parity P and the combination of the data 2 and the parity P are checked for the coincidence of the additional check code to detect any error of the data 0 and the parity P. If data 0 is found to be an error, data 1, data 2 and parity P
Data 0 is recovered from.

【0033】(4)不一致やチェックコードとの不整合
がなかった時にはデータは正しく、そのまま用いて良
い。
(4) If there is no mismatch or mismatch with the check code, the data is correct and can be used as it is.

【0034】上記判定によりデータのエラーが検出され
た場合には、改めてアレイを構成する全データを読み込
み、そのデータから障害によって失われたデータを回復
する。リカバリ時は、付加チェックコードデータを読み
出したデータから再構築することを除けば通常のRAI
Dデータ回復手順と全く同じ処理である。
If a data error is detected by the above judgment, all the data that make up the array are read again, and the data lost due to the failure is recovered from that data. At the time of recovery, except for rebuilding the additional check code data from the read data, the normal RAI
The process is exactly the same as the D data recovery procedure.

【0035】本実施形態では、データディスク3つに対
してパリティディスク1つを置く構成を取ったが、チェ
ックコード23のフィールド数を増減させることにより
他のRAID構成に対応させることも容易に可能であ
る。
In this embodiment, one parity disk is placed for three data disks, but it is possible to easily adapt to other RAID configurations by increasing or decreasing the number of fields of the check code 23. Is.

【0036】本実施形態では、識別子としてCRC等の
情報を用いたが、これはRAID装置としてのエラー回
復処理が容易となるためである。例えば、データ部を書
き込んだ書き込み通算番号をパリティ部に保持する様に
してもRAID5では、同様のエラー検出能力を得るこ
とができる。この場合3台以下のパリティグループ構成
では、どちらのデータが正しいかを知ることができない
という難点があり、チェックコードを更に追加する必要
がある。
In the present embodiment, information such as CRC is used as the identifier because this facilitates the error recovery process as a RAID device. For example, even if the write total number in which the data part is written is held in the parity part, the same error detection capability can be obtained in RAID5. In this case, with a parity group configuration of three or less, it is difficult to know which data is correct, and it is necessary to add a check code.

【0037】[0037]

【発明の効果】本発明によれば、ディスク制御部でのエ
ラー検出能力の低いディスクを使いながら、エラー検出
能力を備え、かつ性能低下を抑えたRAID装置を構成
することができる。
As described above, according to the present invention, it is possible to construct a RAID device having error detection capability and suppressing performance degradation while using a disk with low error detection capability in the disk control unit.

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

【図1】本発明の実施形態に係るディスクアレイ装置の
概略的構成を示す図である。
FIG. 1 is a diagram showing a schematic configuration of a disk array device according to an embodiment of the present invention.

【図2】本実施形態におけるディスクに書き込むデータ
フォーマットを示す図である。
FIG. 2 is a diagram showing a data format to be written on the disc in the present embodiment.

【図3】本実施形態におけるディスク内のデータ配置を
示す図である。
FIG. 3 is a diagram showing a data arrangement in a disc in the present embodiment.

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

12 ディスクアレイ制御装置 13 ディスク 20 データ 21 位置情報 34,35,36 データ領域 37 パリティデータ領域 110 通信路 121 ホスト通信制御部 122 制御プロセッサ 123 キャッシュメモリ部 124 ディスク制御部 12 Disk array controller 13 discs 20 data 21 Location information 34,35,36 data area 37 Parity data area 110 communication path 121 Host communication controller 122 Control Processor 123 cash memory section 124 Disk controller

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数のディスク装置を使って構成したデ
ィスクアレイ装置において、 パリティグループを構成する複数のデータディスクに、
各データディスクに書き込まれた各データに基づいて生
成された各付加チェックコードをそれぞれ書き込むとと
もに、 前記パリティグループを構成するパリティディスクに、
全ての各付加チェックコードを書き込むことを特徴とす
るディスクアレイ制御方式。
1. In a disk array device configured by using a plurality of disk devices, a plurality of data disks forming a parity group,
While writing each additional check code generated based on each data written to each data disk, to the parity disk that constitutes the parity group,
A disk array control method characterized by writing all additional check codes.
【請求項2】 複数のディスク装置を使って構成したデ
ィスクアレイ装置において、 パリティグループを構成する複数のデータディスクに、
各データディスクに書き込まれた各データに基づいて生
成された各付加チェックコードをそれぞれ書き込むとと
もに、前記パリティグループを構成するパリティディス
クに、全ての各付加チェックコードを書き込み、 前記複数データディスクの1つと前記パリティディスク
の前記付加チェックコードを読み出してエラーチェック
を行うことを特徴とするディスクアレイ制御方式。
2. In a disk array device configured by using a plurality of disk devices, a plurality of data disks forming a parity group are
Each additional check code generated based on each data written to each data disk is written, and all the additional check codes are written to the parity disks forming the parity group. A disk array control method, wherein an error check is performed by reading the additional check code of the parity disk.
【請求項3】 請求項2に記載のディスクアレイ制御方
式において、 前記複数のデータディスクと前記パリティディスクに、
書き込むべきデータのディスクアレイ内の位置情報をそ
れぞれ書き込み、誤った位置に書き込まれたデータのエ
ラーチェックに前記位置情報を用いることを特徴とする
ディスクアレイ制御方式。
3. The disk array control method according to claim 2, wherein the plurality of data disks and the parity disk are
A disk array control method characterized in that position information of data to be written in the disk array is written respectively, and the position information is used for error checking of data written at an incorrect position.
【請求項4】 請求項3に記載のディスクアレイ制御方
式において、 パリティグループを構成するデータディスクとパリティ
ディスクに、各データと各位置情報と各付加チェックコ
ードとから生成されたチェックコードをディスクデータ
フォーマットの最後に書き込むことを特徴とするディス
クアレイ制御方式。
4. The disk array control system according to claim 3, wherein a check code generated from each piece of data, each piece of position information, and each piece of additional check code is written on a data disk and a parity disk that form a parity group. A disk array control method characterized by writing at the end of the format.
JP2001221566A 2001-07-23 2001-07-23 Disk array control system Pending JP2003036146A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001221566A JP2003036146A (en) 2001-07-23 2001-07-23 Disk array control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001221566A JP2003036146A (en) 2001-07-23 2001-07-23 Disk array control system

Publications (1)

Publication Number Publication Date
JP2003036146A true JP2003036146A (en) 2003-02-07

Family

ID=19055214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001221566A Pending JP2003036146A (en) 2001-07-23 2001-07-23 Disk array control system

Country Status (1)

Country Link
JP (1) JP2003036146A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031332A (en) * 2004-07-15 2006-02-02 Fujitsu Ltd Disk array control program, method and device
US7373456B2 (en) 2004-01-16 2008-05-13 Hitachi, Ltd. Disk array apparatus and disk array apparatus controlling method
JP2008250462A (en) * 2007-03-29 2008-10-16 Nec Corp Disk array device, disk array control method, and program
US7480850B2 (en) 2004-12-10 2009-01-20 Fujitsu Limited Method of writing data and channel adapter
US7574561B2 (en) 2005-12-28 2009-08-11 Fujitsu Limited Method and apparatus for storing a data to memory devices
US7865665B2 (en) 2003-11-28 2011-01-04 Hitachi, Ltd. Storage system for checking data coincidence between a cache memory and a disk drive
US7917802B2 (en) 2006-12-21 2011-03-29 Fujitsu Limited Write omission detector, write omission detecting method, and computer product
US7921265B2 (en) 2007-02-09 2011-04-05 Fujitsu Limited Data access method, channel adapter, and data access control device
US8151046B2 (en) 2003-05-22 2012-04-03 Hitachi, Ltd. Disk array apparatus and method for controlling the same
JP2013506190A (en) * 2009-09-29 2013-02-21 マイクロン テクノロジー, インク. Stripe-based memory operation

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151046B2 (en) 2003-05-22 2012-04-03 Hitachi, Ltd. Disk array apparatus and method for controlling the same
US8429342B2 (en) 2003-05-22 2013-04-23 Hitachi, Ltd. Drive apparatus and method for controlling the same
US8200898B2 (en) 2003-05-22 2012-06-12 Hitachi, Ltd. Storage apparatus and method for controlling the same
US7865665B2 (en) 2003-11-28 2011-01-04 Hitachi, Ltd. Storage system for checking data coincidence between a cache memory and a disk drive
US8402211B2 (en) 2004-01-16 2013-03-19 Hitachi, Ltd. Disk array apparatus and disk array apparatus controlling method
US7373456B2 (en) 2004-01-16 2008-05-13 Hitachi, Ltd. Disk array apparatus and disk array apparatus controlling method
JP4535371B2 (en) * 2004-07-15 2010-09-01 富士通株式会社 Disk array control program, method and apparatus
JP2006031332A (en) * 2004-07-15 2006-02-02 Fujitsu Ltd Disk array control program, method and device
US7480850B2 (en) 2004-12-10 2009-01-20 Fujitsu Limited Method of writing data and channel adapter
US7574561B2 (en) 2005-12-28 2009-08-11 Fujitsu Limited Method and apparatus for storing a data to memory devices
US7917802B2 (en) 2006-12-21 2011-03-29 Fujitsu Limited Write omission detector, write omission detecting method, and computer product
US7921265B2 (en) 2007-02-09 2011-04-05 Fujitsu Limited Data access method, channel adapter, and data access control device
JP2008250462A (en) * 2007-03-29 2008-10-16 Nec Corp Disk array device, disk array control method, and program
JP2013506190A (en) * 2009-09-29 2013-02-21 マイクロン テクノロジー, インク. Stripe-based memory operation
US8788876B2 (en) 2009-09-29 2014-07-22 Micron Technology, Inc. Stripe-based memory operation

Similar Documents

Publication Publication Date Title
US6751757B2 (en) Disk drive data protection using clusters containing error detection sectors
JP4916033B2 (en) Data storage method, data storage system and program (verification of data integrity in storage system) (Copyright and trademark registration notice Part of the disclosure of this patent document contains copyrighted content. Voters will have no objection to facsimile copies of either patent documents or patent disclosures as long as the copies appear in the world as patent files or records of the Patent and Trademark Office, but in all other cases (Copyrights are fully reserved.) (For certain marks referred to herein, customary or registered trademarks of third parties that may or may not be affiliated with the applicant or its assignee. The use of these marks is intended to provide a disclosure that may be implemented by way of example, and only in connection with such marks. The scope of the invention should not be construed as limiting.)
US5469453A (en) Data corrections applicable to redundant arrays of independent disks
US7590884B2 (en) Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid
US7315976B2 (en) Method for using CRC as metadata to protect against drive anomaly errors in a storage array
US5951691A (en) Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US6981171B2 (en) Data storage array employing block verification information to invoke initialization procedures
US5758054A (en) Non-volatile memory storage of write operation identifier in data storage device
US6535994B1 (en) Method and apparatus for identifying and repairing mismatched data
US7464322B2 (en) System and method for detecting write errors in a storage device
US7328392B2 (en) Disk array system
JP2006134064A (en) Storage control apparatus and method for detecting writing error in storage medium
JPH0744326A (en) Strage system
JP4114877B2 (en) Apparatus, method, and program for detecting illegal data
US7594051B2 (en) Storage apparatus
JP2003036146A (en) Disk array control system
US7730370B2 (en) Apparatus and method for disk read checking
JP4454204B2 (en) Disk array control device and method, and disk array control program
US7925919B2 (en) Disk management method, disk management device and storage system
US8041850B2 (en) Storage apparatus and data integrity assurance method
US20040216012A1 (en) Methods and structure for improved fault tolerance during initialization of a RAID logical unit
JP2005166016A (en) Disk array device
JP3798773B2 (en) Disk control apparatus and consistency recovery method for redundant logical disk drive
JP4780331B2 (en) Disk array system