JP2006065743A - Disk array device - Google Patents

Disk array device Download PDF

Info

Publication number
JP2006065743A
JP2006065743A JP2004250105A JP2004250105A JP2006065743A JP 2006065743 A JP2006065743 A JP 2006065743A JP 2004250105 A JP2004250105 A JP 2004250105A JP 2004250105 A JP2004250105 A JP 2004250105A JP 2006065743 A JP2006065743 A JP 2006065743A
Authority
JP
Japan
Prior art keywords
data
cache
disk
storage device
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.)
Pending
Application number
JP2004250105A
Other languages
Japanese (ja)
Inventor
Takeshi Shigemura
武志 重村
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 JP2004250105A priority Critical patent/JP2006065743A/en
Publication of JP2006065743A publication Critical patent/JP2006065743A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a storage device capable of preventing a capacity of a cache memory from being used wastefully, while shortening a response time when a disk trouble occurs. <P>SOLUTION: In this disk array device provided with a plurality of the storage devices for storing user data and two or more kinds of redundant data generated from the user data, a control part for controlling an output of the data to the storage device, and a cache for storing temporarily the data inputted and outputted to/from the storage device, the control part reads out the redundant data from the storage device when reading out the user data from the storage device, and stores one kind of redundant data in the cache together with the user data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、RAID構成のディスクアレイ装置に関し、特にパリティデータのキャッシュへのステージ技術に関する。   The present invention relates to a disk array apparatus having a RAID configuration, and more particularly to a stage technique for caching parity data.

ディスクアレイ装置に格納されたユーザデータに関する冗長情報を、ディスクアレイ装置の一部に格納し、ディスクに障害が発生した場合に、ユーザデータを再構築するRAID構成のディスクアレイ装置が知られている。このRAID構成のうち、RAID6では、複数のディスクにデータを分割して格納し、該データから2種類の冗長データを生成する。そして、各冗長データを異なるディスクに格納する。   There is known a RAID array disk array device that stores redundant information related to user data stored in a disk array device in a part of the disk array device and reconstructs user data when a failure occurs in the disk. . Among the RAID configurations, in RAID 6, data is divided and stored on a plurality of disks, and two types of redundant data are generated from the data. Each redundant data is stored in a different disk.

また、ディスクアレイ装置は、ディスクから読み出される(又は、ディスクに書き込まれる)データを一時的に格納するキャッシュメモリを有し、データの入出力に必要な時間を短縮している。このとき、ディスクからのデータ読み出し時に冗長データも同時に読み出すことによって、データ読み出しに失敗した場合の応答時間を短縮する技術が提案されている(例えば、特許文献1参照。)。
特開平11−212728号公報
Further, the disk array device has a cache memory for temporarily storing data read from the disk (or written to the disk), and shortens the time required for data input / output. At this time, a technique has been proposed in which redundant data is simultaneously read when data is read from the disk, thereby shortening the response time when the data read fails (see, for example, Patent Document 1).
Japanese Patent Application Laid-Open No. 11-212728

前述した従来技術では、RAID5構成のディスクアレイ装置で、ディスクからユーザデータと共に冗長データも読み出して、キャッシュに格納している。この技術をRAID6構成のディスクアレイ装置に適用すると、2種類の冗長データがキャッシュメモリに格納される。しかし、RAID6構成のディスクアレイ装置において、ディスクに障害が発生したときに、キャッシュに格納された冗長データを用いてデータを復元する方法については提案されていなかった。   In the prior art described above, in a RAID 5 configuration disk array device, redundant data as well as user data is read from the disk and stored in the cache. When this technology is applied to a RAID 6 configuration disk array device, two types of redundant data are stored in the cache memory. However, in a RAID 6 configuration disk array device, no method has been proposed for restoring data using redundant data stored in a cache when a disk failure occurs.

また、RAID6構成のディスクアレイ装置において、生成された2種類の冗長データをキャッシュメモリに格納すると、大容量のキャッシュメモリが必要となる。2台のディスクに同時に障害が発生することは希なので、生成された2種類の冗長データを常にキャッシュメモリに格納すると、キャッシュメモリの容量を浪費する。   In addition, in a RAID 6 configuration disk array device, when two types of generated redundant data are stored in a cache memory, a large-capacity cache memory is required. Since it is rare that a failure occurs in two disks at the same time, if the two types of generated redundant data are always stored in the cache memory, the capacity of the cache memory is wasted.

本発明は、RAID6構成のディスクアレイ装置において、ディスク障害発生時に、キャッシュに格納された冗長データを用いてデータを復元する方法を提供する。また、本発明は、冗長データの必要に応じて、キャッシュに格納される冗長データを変えることによって、ディスク障害発生時の応答時間を短縮しつつ、キャッシュメモリの容量の浪費を防止するストレージ装置の提供を目的とする。   The present invention provides a method of restoring data using redundant data stored in a cache when a disk failure occurs in a disk array device having a RAID 6 configuration. Further, the present invention provides a storage device that reduces the response time in the event of a disk failure and prevents waste of the cache memory capacity by changing the redundant data stored in the cache according to the need for redundant data. For the purpose of provision.

本発明は、ユーザデータ及び前記ユーザデータから生成された2種類以上の冗長データを格納する複数の記憶装置と、前記記憶装置へのデータの入出力を管理する制御部と、前記記憶装置へ入出力されるデータを一時的に格納するキャッシュと、を備えるディスクアレイ装置において、前記制御部は、前記記憶装置から前記ユーザデータを読み出す際に、前記記憶装置から前記冗長データを読み出し、前記ユーザデータと共に、前記1種類の冗長データを前記キャッシュに格納する。   The present invention includes a plurality of storage devices that store user data and two or more types of redundant data generated from the user data, a control unit that manages input / output of data to / from the storage device, and an input to the storage device. And a cache that temporarily stores data to be output. When the controller reads the user data from the storage device, the controller reads the redundant data from the storage device, and the user data At the same time, the one type of redundant data is stored in the cache.

本発明によると、RAID6構成のディスクアレイ装置において、ディスク障害発生時の応答時間を短縮しつつ、キャッシュメモリの容量の浪費を防止することができる。   According to the present invention, in a disk array device having a RAID 6 configuration, it is possible to prevent waste of the capacity of the cache memory while reducing the response time when a disk failure occurs.

以下、本発明の実施の形態を図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の第1の実施の形態の計算機システムのブロック図である。   FIG. 1 is a block diagram of a computer system according to the first embodiment of this invention.

この計算機システムは、ディスクアレイ装置100、複数台の上位装置(ホストコンピュータ)200、及び、計算機システム内の各装置を接続するSAN300にから構成される。   This computer system includes a disk array device 100, a plurality of higher-level devices (host computers) 200, and a SAN 300 that connects each device in the computer system.

ディスクアレイ装置100には、CPU110、メモリ120、キャッシュ130、上位インターフェース140、ディスクインターフェース150、及びディスク160が設けられている。   The disk array device 100 is provided with a CPU 110, a memory 120, a cache 130, an upper interface 140, a disk interface 150, and a disk 160.

CPU110は、メモリ120に記憶された管理プログラム121〜124をロードして実行することによって各種処理を行う。例えば、上位インターフェース140、ディスクインターフェース150及びキャッシュメモリ130の間のデータの転送を制御する。   The CPU 110 performs various processes by loading and executing the management programs 121 to 124 stored in the memory 120. For example, data transfer among the upper interface 140, the disk interface 150, and the cache memory 130 is controlled.

メモリ120には、揮発性又は不揮発性のメモリであって、キャッシュ管理プログラム121、ディスク入出力管理プログラム122、RAID管理プログラム123及びパリティ生成管理プログラム124が記憶されている。また、CPU110による演算に必要なワークエリアが設けられている。   The memory 120 is a volatile or non-volatile memory, and stores a cache management program 121, a disk input / output management program 122, a RAID management program 123, and a parity generation management program 124. In addition, a work area necessary for calculation by the CPU 110 is provided.

キャッシュ130は、ディスクアレイ装置100から入出力されるデータを一時的に格納するメモリである。キャッシュ130には、データ領域131及びパリティ領域132が設けられている。   The cache 130 is a memory that temporarily stores data input and output from the disk array device 100. The cache 130 is provided with a data area 131 and a parity area 132.

データ領域131には、上位インターフェース140とディスクインターフェース150との間で転送されるデータが格納される。パリティ領域132には、データ領域131に格納されるデータに対応する冗長データ(パリティ)が格納される。また、キャッシュ130には、キャッシュ管理テーブル133(図2)が格納されている。   The data area 131 stores data transferred between the upper interface 140 and the disk interface 150. In the parity area 132, redundant data (parity) corresponding to the data stored in the data area 131 is stored. The cache 130 stores a cache management table 133 (FIG. 2).

なお、キャッシュ130は、メモリ120とは別個の記憶素子に設けてもよいが、メモリ120と同一の記憶素子の一部の領域をキャッシュ130として用いてもよい。   Note that the cache 130 may be provided in a storage element separate from the memory 120, but a partial area of the same storage element as the memory 120 may be used as the cache 130.

上位インターフェース140は、上位装置200に対するインターフェースであって、SAN300を介して、上位装置200との間でデータや制御信号を送受信する。この上位装置200との間の通信は、ファイバチャネルプロトコルが用いられる。   The host interface 140 is an interface to the host device 200 and transmits / receives data and control signals to / from the host device 200 via the SAN 300. The communication with the host device 200 uses a fiber channel protocol.

ディスクインターフェース150は、ディスク160に対するインターフェースであって、例えば、ATA、SAS、ファイバチャネル等のプロトコルによって、ディスクとの間でデータや制御信号を送受信する。   The disk interface 150 is an interface to the disk 160, and transmits and receives data and control signals to and from the disk by a protocol such as ATA, SAS, or fiber channel.

ディスク160は、データを記憶する記憶装置で、例えば、複数の磁気ディスクドライブによって構成される。ディスク160は、RAID(Redundant Array of Independent Disks)を構成しており、複数のディスクにユーザデータを分割して入出力することによって、ディスクの読み書き性能を向上させている。また、記憶されるデータに冗長性を持たせ、ディスクの一部に障害が生じても、記憶されたデータが消失しないようにしている。   The disk 160 is a storage device that stores data, and includes, for example, a plurality of magnetic disk drives. The disk 160 constitutes a RAID (Redundant Array of Independent Disks), and the user data is divided into a plurality of disks and input / output to improve the read / write performance of the disk. Further, the stored data is provided with redundancy so that the stored data is not lost even if a failure occurs in a part of the disk.

ディスク160は論理区画によって分割され、論理ユニットを構成する。又は、複数のディスク装置160から論理ユニットを構成してもよい。   The disk 160 is divided into logical partitions and constitutes a logical unit. Alternatively, a logical unit may be configured from a plurality of disk devices 160.

さらに本実施の形態では、ディスク160はRAID6を構成している。すなわち、複数のディスク160にユーザデータを分割して保存し、ユーザデータから生成された2種類の冗長データ(パリティ)の各々を、パリティグループを構成する異なるディスク160に格納する。   Furthermore, in this embodiment, the disk 160 constitutes RAID6. That is, user data is divided and stored on a plurality of disks 160, and each of the two types of redundant data (parity) generated from the user data is stored in different disks 160 constituting a parity group.

上位装置200は、CPU、メモリ、記憶装置及びインターフェースが備わるコンピュータ装置であり、ディスクアレイ装置100から提供されるデータを利用して、データベースサービスやウェブサービス等を提供にする。   The host device 200 is a computer device having a CPU, a memory, a storage device, and an interface. The host device 200 provides a database service, a web service, and the like using data provided from the disk array device 100.

SAN300は、ディスクアレイ装置100と上位装置200とを接続している。SAN300は、例えばファイバチャネルプロトコルのような、データの転送に適するプロトコルで通信可能なネットワークである。   The SAN 300 connects the disk array device 100 and the host device 200. The SAN 300 is a network that can communicate with a protocol suitable for data transfer, such as a fiber channel protocol.

次に、ディスクアレイ装置100のメモリ120に記憶された各種管理プログラムについて説明する。   Next, various management programs stored in the memory 120 of the disk array device 100 will be described.

キャッシュ管理プログラム121は、キャッシュ管理テーブル133を参照して、データが格納されているキャッシュ130の領域を管理する。また、キャッシュ130のどの領域にデータを格納するかを管理する。また、パリティ領域に格納される冗長データがどのデータに対応するかを管理する。   The cache management program 121 refers to the cache management table 133 and manages the area of the cache 130 in which data is stored. It also manages in which area of the cache 130 the data is stored. It also manages which data the redundant data stored in the parity area corresponds to.

ディスク入出力管理プログラム122は、上位インターフェース140、ディスクインターフェース150及キャッシュ130間のデータの転送を管理する。また、上位装置200からのデータ入出力要求に従ってディスク160に対してデータを読み書きする。   The disk input / output management program 122 manages data transfer between the upper interface 140, the disk interface 150, and the cache 130. Further, data is read from and written to the disk 160 in accordance with a data input / output request from the host device 200.

RAID管理プログラム123は、ディスク160にRAIDを設定する。また、複数のディスク160によってパリティグループを構成して、RAIDの動作を制御する。すなわち、同一パリティグループ中の複数のディスクにデータを分散させて記憶させ、複数のディスクに分散して記憶されたデータを読み出して再構築する。また、1台のディスクが故障しても、エラー訂正機能(コレクション)によって、失われたデータを復元する。   The RAID management program 123 sets a RAID on the disk 160. In addition, a parity group is configured by a plurality of disks 160 to control RAID operations. That is, the data is distributed and stored in a plurality of disks in the same parity group, and the data distributed and stored in the plurality of disks is read and reconstructed. Even if one disk fails, lost data is restored by an error correction function (collection).

パリティ生成プログラム124は、ディスクに格納されているデータに基づいて、冗長データ(パリティ)を生成する。本実施の形態では、ディスクアレイ装置100はRAID6構成である。よって、パリティ生成プログラム124には、二つのパリティ生成プログラムA、Bが含まれている、この二つのパリティ生成プログラムによって、2種類のパリティが生成される。   The parity generation program 124 generates redundant data (parity) based on the data stored in the disk. In the present embodiment, the disk array device 100 has a RAID 6 configuration. Therefore, the parity generation program 124 includes two parity generation programs A and B. Two types of parity are generated by the two parity generation programs.

なお、以上説明したプログラム121〜124は、CPU110によって実行されるが、これらのプログラムの機能をハードウェアで構成してもよい。   The above-described programs 121 to 124 are executed by the CPU 110, but the functions of these programs may be configured by hardware.

図2は、第1の実施の形態のキャッシュ管理テーブル133の構成図である。   FIG. 2 is a configuration diagram of the cache management table 133 according to the first embodiment.

キャッシュ管理テーブル133には、キャッシュアドレス、ディスクアドレス、及びデータ状態フラグが格納されている。   The cache management table 133 stores a cache address, a disk address, and a data status flag.

キャッシュアドレスは、キャッシュメモリ上のアドレスであり、キャッシュに格納されるデータとパリティの関係を示す値(例えば、データのアドレスと、パリティのアドレスのペア)が格納される。キャッシュアドレスがいずれの領域に含まれるかによって、データかパリティかを判断することができる。   The cache address is an address on the cache memory, and stores a value indicating the relationship between data stored in the cache and parity (for example, a pair of a data address and a parity address). Depending on which area the cache address is contained in, it can be determined whether it is data or parity.

ディスクアドレスは、キャッシュに格納されるデータと対応するディスク上のアドレスである。   The disk address is an address on the disk corresponding to the data stored in the cache.

データ状態フラグは、キャッシュに格納されるデータの生成状態を示す情報である。例えば、データ状態フラグが”0”であれば、キャッシュに格納されているデータがディスクから読み出されたステージングデータであり、また、データ状態フラグが”1”であれば、キャッシュに格納されているデータがキャッシュ上で復元されたデータであることを示す。   The data state flag is information indicating a generation state of data stored in the cache. For example, if the data status flag is “0”, the data stored in the cache is the staging data read from the disk, and if the data status flag is “1”, the data is stored in the cache. Indicates that the stored data is restored on the cache.

このデータ状態フラグによって復元データを特定することができ、ディスクが障害から復旧した場合に復元データをディスク160に書き込むデステージ処理をすることができる。   The restored data can be specified by the data status flag, and destage processing for writing the restored data to the disk 160 when the disk is recovered from a failure can be performed.

図3は、第1の実施の形態のディスクアレイ装置100におけるデータ読出処理の概念図である。   FIG. 3 is a conceptual diagram of data read processing in the disk array device 100 according to the first embodiment.

ディスク160から読み出された読み出し要求に係るデータ(D1、D2)は、一旦、キャッシュ130のデータ領域131に格納され、上位装置200に転送される。   Data (D 1, D 2) related to the read request read from the disk 160 is temporarily stored in the data area 131 of the cache 130 and transferred to the host device 200.

このデータの読み出しと同時に、読み出し要求に係るデータの二つのパリティ(P、Q)がディスクから読み出され、キャッシュ130のパリティ領域132に格納される。なお、このディスク160から読み出されたパリティは、上位装置200には転送されない。   Simultaneously with the reading of this data, the two parities (P, Q) of the data relating to the read request are read from the disk and stored in the parity area 132 of the cache 130. Note that the parity read from the disk 160 is not transferred to the higher-level device 200.

図4は、第1の実施の形態のデータ書込処理のフローチャートである。   FIG. 4 is a flowchart of data writing processing according to the first embodiment.

まず、ディスク入出力管理プログラム122は、上位装置200からのデータ書き込み要求を受信すると(S111)、当該書き込み要求に係るデータ(新データ)をキャッシュ130のデータ領域131に格納する(S112)。   First, when receiving a data write request from the host device 200 (S111), the disk input / output management program 122 stores data (new data) related to the write request in the data area 131 of the cache 130 (S112).

ディスク入出力管理プログラム122は、新データをキャッシュ130に格納すると、上位装置200に対しデータ書込完了報告を送信する(S113)。新データのディスク160への書き込みは、上位装置200へのデータ書込完了報告後に、ライトアフタ処理によって非同期に実施される。   When the new data is stored in the cache 130, the disk input / output management program 122 transmits a data write completion report to the higher-level device 200 (S113). Writing new data to the disk 160 is performed asynchronously by a write-after process after a data write completion report to the host device 200 is made.

その後、パリティ生成管理プログラム124は、上位装置200から書き込まれたデータが格納されるディスク160のアドレスを特定し、該アドレスに書き込まれている旧データと旧パリティをディスク160から読み出す(S114)。   After that, the parity generation management program 124 identifies the address of the disk 160 where the data written from the host device 200 is stored, and reads the old data and old parity written at the address from the disk 160 (S114).

そして、パリティ生成管理プログラム124は、ディスク160から読み出した旧データ、旧パリティ、及び上位装置200から書き込まれた新データを用いて、新パリティを生成する(S115)。   Then, the parity generation management program 124 generates a new parity using the old data read from the disk 160, the old parity, and the new data written from the higher-level device 200 (S115).

その後、ディスク入出力管理プログラム122は、キャッシュ130から新データを読み出して、生成された新パリティとともに、ディスク160に書き込む(S116)。   Thereafter, the disk input / output management program 122 reads the new data from the cache 130 and writes it to the disk 160 together with the generated new parity (S116).

図5は、第1の実施の形態のデータ書込処理(図4)の概念図である。   FIG. 5 is a conceptual diagram of the data writing process (FIG. 4) according to the first embodiment.

上位装置200から書き込まれた新データ(ND1、ND2)はデータ領域131に格納される。その後、新データに対応する旧データ(D1、D2)及び旧パリティ(P、Q)がディスク160から読み出される。   New data (ND1, ND2) written from the host device 200 is stored in the data area 131. Thereafter, old data (D1, D2) and old parity (P, Q) corresponding to the new data are read from the disk 160.

パリティ生成管理プログラムA、Bによって、ディスク160から読み出した旧データ、旧パリティ、及び上位装置200から書き込まれた新データを用いて、新パリティ(NP、NQ)が生成される。   The parity generation management programs A and B generate new parity (NP, NQ) using the old data read from the disk 160, the old parity, and the new data written from the host device 200.

このとき、パリティ生成プログラムAは、ディスク160に格納されるデータの排他的論理和によってパリティPを計算する。また、パリティ生成プログラムBは、ディスク160に格納されるデータのガロア演算によってパリティQを計算する。なお、ガロア演算は排他的論理和演算よりも、パリティ生成及びパリティを用いたデータの復元の計算量が多い。よって、後述するように1種類のパリティのみを用いる場合には、排他的論理和によって計算されたパリティPを用いるとよい。   At this time, the parity generation program A calculates the parity P by exclusive OR of the data stored in the disk 160. In addition, the parity generation program B calculates the parity Q by Galois calculation of data stored in the disk 160. Note that the Galois operation has a larger calculation amount for parity generation and data restoration using parity than the exclusive OR operation. Therefore, when only one type of parity is used as will be described later, the parity P calculated by exclusive OR may be used.

図6は、第1の実施の形態のキャッシュ上のパリティに障害が発生したときの処理のフローチャートである。   FIG. 6 is a flowchart of processing when a failure occurs in the parity on the cache according to the first embodiment.

まず、ディスク入出力管理プログラム122が上位装置200からのデータ読み出し要求を受信すると(S121)、該データ読み出し要求から、要求に係るデータが格納されているディスクを特定する(S122)。そして、ディスクアレイ装置100内で管理されているテーブルを参照して、該特定されたディスクに障害が発生しているか否かを判定する(S123)。   First, when the disk input / output management program 122 receives a data read request from the host device 200 (S121), the disk in which the data related to the request is stored is specified from the data read request (S122). Then, with reference to a table managed in the disk array device 100, it is determined whether or not a failure has occurred in the identified disk (S123).

その結果、該ディスクに障害が発生していなければ、通常の読み出し処理を行う。すなわち、該データ読み出し要求に係るデータと該データの一つのパリティPをディスク160から読み出す。その後、読み出したデータ及び当該データの一つのパリティPをキャッシュ130に格納する(S124)。   As a result, if no failure has occurred in the disk, normal read processing is performed. That is, the data related to the data read request and one parity P of the data are read from the disk 160. Thereafter, the read data and one parity P of the data are stored in the cache 130 (S124).

このとき読み出す一つのパリティはいずれのパリティでもよいが、データの復元が容易なパリティ(例えば、XOR演算によるパリティP)を読み出すとよい。   One parity to be read at this time may be any parity, but it is preferable to read a parity that can easily restore data (for example, a parity P by an XOR operation).

一方、該ディスクに障害が発生していれれば、読み出し可能な全ての冗長データ(パリティ)を読み出す。その前に、データ領域131、パリティ領域132毎に、ディスクアレイ装置100内で管理されているテーブルを参照して、どのデータが格納されているディスクに障害が発生したかを判定し、どのデータ又はどのパリティが読み出し可能かを判定する(S125)。   On the other hand, if a failure has occurred in the disk, all readable redundant data (parity) is read out. Before that, for each data area 131 and parity area 132, the table managed in the disk array device 100 is referred to determine which data is stored in the disk, and which data has failed. Alternatively, it is determined which parity can be read (S125).

その結果、データが格納されているディスクに障害が発生していれば、障害が発生していないディスクのデータと該データの二つのパリティP及びQをディスク160から読み出す。その後、読み出したデータ及び当該データの二つのパリティP及びQをキャッシュ130に格納する(S126)。   As a result, if a failure has occurred in the disk in which the data is stored, the data of the disk in which no failure has occurred and the two parities P and Q of the data are read from the disk 160. Thereafter, the read data and the two parities P and Q of the data are stored in the cache 130 (S126).

そして、RAID管理プログラム123が、データとパリティPを用いてキャッシュ上でデータを復元する。そして、復元したデータをキャッシュ130に格納し、上位装置200に転送する(S127)。その後ステップS131に進む。なお、ディスク160から読み出されたパリティP及びQは、上位装置200には転送されない。   Then, the RAID management program 123 restores the data on the cache using the data and the parity P. Then, the restored data is stored in the cache 130 and transferred to the host device 200 (S127). Thereafter, the process proceeds to step S131. Note that the parities P and Q read from the disk 160 are not transferred to the higher-level device 200.

一方、パリティPが格納されているディスクに障害が発生していれば、該データ読み出し要求に係るデータと該データの一つのパリティQをディスク160から読み出す。その後、読み出したデータ及び当該データの一つのパリティQをキャッシュ130に格納する(S128)。   On the other hand, if a failure has occurred in the disk in which the parity P is stored, the data related to the data read request and one parity Q of the data are read from the disk 160. Thereafter, the read data and one parity Q of the data are stored in the cache 130 (S128).

以上の処理によると、ディスク160に障害が生じていない通常時は、RAID6によって二つのパリティを生成してディスク160に書き込むが、RAID5のように一つのパリティしか読み出さない(S124)。しかし、ディスク160に障害が生じていない通常時は、RAID6によって二つのパリティを生成してディスク160に書き込むが、RAID5のように一つのパリティしか読み出さない(S126、S128)。このように、書き込みと読み出しを異なるモードで制御することによって、通常時の読み込み性能の低下を抑制することができる。   According to the above processing, at the normal time when no failure occurs in the disk 160, two parities are generated by RAID 6 and written to the disk 160, but only one parity is read as in RAID 5 (S124). However, in normal times when no failure has occurred in the disk 160, two parities are generated by RAID6 and written to the disk 160, but only one parity is read as in RAID5 (S126, S128). In this way, by controlling writing and reading in different modes, it is possible to suppress a decrease in normal reading performance.

ステップS129では、キャッシュ130からデータの読み出しが失敗しているか否かを判定する。   In step S129, it is determined whether reading of data from the cache 130 has failed.

その結果、キャッシュ130からのデータの読み出しが失敗していなければ、この処理を終了する。   As a result, if the reading of data from the cache 130 has not failed, this process ends.

一方、キャッシュ130からのデータの読み出しが失敗していれば、データ又は一つのパリティのいずれかの読み出しが失敗しているか否かを判定する(S130)。   On the other hand, if the reading of data from the cache 130 has failed, it is determined whether reading of either data or one parity has failed (S130).

一方、データ又は一つのパリティの読み出しが失敗していれば、さらに、データの読み出しに失敗したのか、一つのパリティの読み出しに失敗したのかを判定する(S131)。   On the other hand, if the reading of data or one parity has failed, it is further determined whether reading of data or reading of one parity has failed (S131).

その結果、データの読み出しに失敗していれば、キャッシュに格納されているデータとパリティとを用いてキャッシュ上でデータを復元して(S132)、ステップS134に進む。   As a result, if the data reading has failed, the data is restored on the cache using the data and parity stored in the cache (S132), and the process proceeds to step S134.

一方、一つのパリティの読み出しに失敗していれば、キャッシュに格納されているデータを用いてキャッシュ上でパリティを再計算する。そして、再計算したパリティをキャッシュ130に格納して(S133)、ステップS134に進む。   On the other hand, if reading of one parity fails, the parity is recalculated on the cache using the data stored in the cache. The recalculated parity is stored in the cache 130 (S133), and the process proceeds to step S134.

そして、読み出し要求に係るデータを上位装置200に転送する(S134)。   Then, the data related to the read request is transferred to the host device 200 (S134).

次に、第1の実施の形態の変形例について説明する。   Next, a modification of the first embodiment will be described.

この変形例では、キャッシュ130の構成が異なる。   In this modification, the configuration of the cache 130 is different.

前述した実施の形態(図1)では、キャッシュ130をアドレスによって分割して、データ領域131とパリティ領域132とを設けた。しかし、第2変形例では、キャッシュ130内にデータ領域131とパリティ領域132とを設けない。このため、キャッシュ管理テーブル133に格納される情報が異なる。   In the above-described embodiment (FIG. 1), the cache 130 is divided by the address, and the data area 131 and the parity area 132 are provided. However, in the second modification, the data area 131 and the parity area 132 are not provided in the cache 130. For this reason, the information stored in the cache management table 133 is different.

図7は、第1の実施の形態の変形例のキャッシュ管理テーブル133の構成図である。   FIG. 7 is a configuration diagram of the cache management table 133 according to a modification of the first embodiment.

キャッシュ管理テーブル133には、キャッシュアドレス、ディスクアドレス、データ状態フラグ、及びデータ/パリティフラグが格納されている。   The cache management table 133 stores a cache address, a disk address, a data status flag, and a data / parity flag.

キャッシュアドレス、ディスクアドレス、及びデータ状態フラグは、前述したキャッシュ管理テーブル(図2)と同じである。   The cache address, disk address, and data status flag are the same as those in the cache management table (FIG. 2) described above.

データ/パリティフラグは、キャッシュアドレスで示される場所に格納されている内容が、データかパリティかを示す情報である。例えば、データ/パリティフラグが”0”であれば、データが格納されており、”1”であれば、パリティが格納されていることを示す。   The data / parity flag is information indicating whether the content stored in the location indicated by the cache address is data or parity. For example, if the data / parity flag is “0”, the data is stored, and if “1”, the parity is stored.

このデータ/パリティフラグがによって、キャッシュに格納されている内容がデータかパリティかを特定することができる。よって、キャッシュ130にデータ領域とパリティ領域とを設ける必要がなく、キャッシュ130を効率的に使用することができる。   The data / parity flag can specify whether the content stored in the cache is data or parity. Therefore, it is not necessary to provide a data area and a parity area in the cache 130, and the cache 130 can be used efficiently.

本発明の実施の形態では、RAID6構成のディスクアレイ装置において、ディスク障害発生時の応答時間を短縮することができる。よって、放送用など、映像や音声のストリーミングデータが読み書きされるディスクアレイ装置においても、ディスク障害による映像化けや音声途切れを防止することができる。   In the embodiment of the present invention, it is possible to shorten the response time when a disk failure occurs in a disk array device having a RAID 6 configuration. Therefore, even in a disk array device that is used for broadcasting and reading video and audio streaming data, it is possible to prevent video corruption and audio interruption due to a disk failure.

また、ディスク障害の状況に応じてキャッシュに格納するパリティを変えるので、キャッシュメモリの容量の浪費を防止することができる。よって、キャッシュ容量が少なく、信頼性が高く安価なディスクアレイ装置を提供することができる。   Further, since the parity stored in the cache is changed according to the state of the disk failure, it is possible to prevent waste of the capacity of the cache memory. Therefore, it is possible to provide a disk array device that has a small cache capacity, is highly reliable, and is inexpensive.

本発明の第1の実施の形態の計算機システムのブロック図である。1 is a block diagram of a computer system according to a first embodiment of this invention. 第1の実施の形態のキャッシュ管理テーブル133の構成図である。3 is a configuration diagram of a cache management table 133 according to the first embodiment. FIG. 第1の実施の形態のデータ読出処理の概念図である。It is a conceptual diagram of the data read-out process of 1st Embodiment. 第1の発明の実施の形態のデータ書込処理のフローチャートである。It is a flowchart of the data writing process of embodiment of 1st invention. 第1の本発明の実施の形態のデータ書込処理の概念図である。It is a conceptual diagram of the data writing process of embodiment of 1st this invention. 第1の実施の形態のキャッシュ上のパリティに障害が発生したときのデータ読み出し処理のフローチャートである。6 is a flowchart of data read processing when a failure occurs in parity on a cache according to the first embodiment; 第1の実施の形態の変形例のキャッシュ管理テーブル133の構成図である。It is a block diagram of the cache management table 133 of the modification of 1st Embodiment.

符号の説明Explanation of symbols

100 ディスクアレイ装置
110 CPU
120 メモリ
130 キャッシュ
133 キャッシュ管理テーブル133
140 上位インターフェース
150 ドライブインターフェース
160 ディスク
200 上位装置200
300 SAN
100 disk array device 110 CPU
120 Memory 130 Cache 133 Cache Management Table 133
140 Host interface 150 Drive interface 160 Disk 200 Host device 200
300 SAN

Claims (7)

ユーザデータ及び前記ユーザデータから生成された2種類以上の冗長データを格納する複数の記憶装置と、前記記憶装置へのデータの入出力を管理する制御部と、前記記憶装置へ入出力されるデータを一時的に格納するキャッシュと、を備えるディスクアレイ装置において、
前記制御部は、
前記記憶装置から前記ユーザデータを読み出す際に、前記記憶装置から前記冗長データを読み出し、
前記ユーザデータと共に、前記1種類の冗長データを前記キャッシュに格納するディスクアレイ装置。
A plurality of storage devices that store user data and two or more types of redundant data generated from the user data, a control unit that manages input / output of data to / from the storage device, and data input / output to / from the storage device A disk array device comprising a cache for temporarily storing
The controller is
When reading the user data from the storage device, read the redundant data from the storage device,
A disk array device that stores the one type of redundant data in the cache together with the user data.
前記制御部は、前記記憶装置から前記ユーザデータを読み出す際に、前記記憶装置から前記1種類の冗長データを読み出す請求項1に記載のディスクアレイ装置。   The disk array device according to claim 1, wherein the control unit reads the one type of redundant data from the storage device when reading the user data from the storage device. 前記制御部は、
通常時は前記1種類の冗長データを前記キャッシュに格納し、
前記記憶装置に障害が発生した時は、前記2種類の冗長データを前記キャッシュに格納する請求項1に記載のディスクアレイ装置。
The controller is
Normally, the one type of redundant data is stored in the cache,
2. The disk array device according to claim 1, wherein when the failure occurs in the storage device, the two types of redundant data are stored in the cache.
ユーザデータ及び前記ユーザデータから生成された2種類以上の冗長データを格納する複数の記憶装置と、前記記憶装置へのデータの入出力を管理する制御部と、前記記憶装置へ入出力されるデータを一時的に格納するキャッシュと、を備えるディスクアレイ装置において、
前記制御部は、
前記記憶装置に記憶された前記1種類の冗長データを前記キャッシュに格納し、
前記ユーザデータの復元時に、前記キャッシュから読み出した冗長データによってユーザデータを復元するディスクアレイ装置。
A plurality of storage devices that store user data and two or more types of redundant data generated from the user data, a control unit that manages input / output of data to / from the storage device, and data input / output to / from the storage device A disk array device comprising a cache for temporarily storing
The controller is
Storing the one type of redundant data stored in the storage device in the cache;
A disk array device that restores user data with redundant data read from the cache when the user data is restored.
前記制御部は、
通常時は前記1種類の冗長データを前記キャッシュに格納し、
前記記憶装置に障害が発生した時は、前記ユーザデータの復元時に、前記1種類の冗長データを前記キャッシュから読み出して、前記読み出した1種類の冗長データによってユーザデータを復元すると共に、前記2種類の冗長データを前記キャッシュに格納する請求項4に記載のディスクアレイ装置。
The controller is
Normally, the one type of redundant data is stored in the cache,
When a failure occurs in the storage device, at the time of restoration of the user data, the one type of redundant data is read from the cache, and the user data is restored by the read one type of redundant data. The disk array device according to claim 4, wherein the redundant data is stored in the cache.
ユーザデータ及び前記ユーザデータから生成された2種類以上の冗長データを格納する複数の記憶装置と、前記記憶装置へのデータの入出力を管理する制御部と、前記記憶装置へ入出力されるデータを一時的に格納するキャッシュと、を備えるディスクアレイ装置において、
前記制御部は、
前記記憶装置からユーザデータを読み出す際に、前記記憶装置から前記2種類の冗長データを読み出し、
前記ユーザデータと共に、前記2種類の冗長データを前記キャッシュに格納するディスクアレイ装置。
A plurality of storage devices that store user data and two or more types of redundant data generated from the user data, a control unit that manages input / output of data to / from the storage device, and data input / output to / from the storage device A disk array device comprising a cache for temporarily storing
The controller is
When reading user data from the storage device, the two types of redundant data are read from the storage device,
A disk array device for storing the two types of redundant data in the cache together with the user data.
前記制御部は、
前記記憶装置に障害が発生した時は、前記ユーザデータの復元時に、前記1種類の冗長データを前記キャッシュから読み出し、
前記読み出した1種類の冗長データによってユーザデータを復元する請求項6に記載のディスクアレイ装置。
The controller is
When a failure occurs in the storage device, the one type of redundant data is read from the cache when the user data is restored,
The disk array device according to claim 6, wherein user data is restored by the read one type of redundant data.
JP2004250105A 2004-08-30 2004-08-30 Disk array device Pending JP2006065743A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004250105A JP2006065743A (en) 2004-08-30 2004-08-30 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004250105A JP2006065743A (en) 2004-08-30 2004-08-30 Disk array device

Publications (1)

Publication Number Publication Date
JP2006065743A true JP2006065743A (en) 2006-03-09

Family

ID=36112162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004250105A Pending JP2006065743A (en) 2004-08-30 2004-08-30 Disk array device

Country Status (1)

Country Link
JP (1) JP2006065743A (en)

Similar Documents

Publication Publication Date Title
US10191676B2 (en) Scalable storage protection
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US7984325B2 (en) Storage control device, data recovery device, and storage system
US7783922B2 (en) Storage controller, and storage device failure detection method
JP3177242B2 (en) Nonvolatile memory storage of write operation identifiers in data storage
US7975168B2 (en) Storage system executing parallel correction write
KR100275900B1 (en) Method for implement divideo parity spare disk in raid sub-system
US20090327803A1 (en) Storage control device and storage control method
US20050229033A1 (en) Disk array controller and information processing apparatus
US20070159897A1 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US8074106B2 (en) Storage control device and RAID group extension method
JP2016530637A (en) RAID parity stripe reconstruction
US20040250017A1 (en) Method and apparatus for selecting among multiple data reconstruction techniques
JP2006252126A (en) Disk array device and its reconstruction method
JP2005276196A (en) System and method for performing drive recovery subsequent to drive failure
US6789165B2 (en) Data storage array method and system
KR20090096406A (en) Optimized reconstruction and copyback methodology for a disconnected drive in the presence of a global hot spare disk
JP2005301419A (en) Disk array device and data processing method for it
JP2011170589A (en) Storage control device, storage device, and storage control method
US8370688B2 (en) Identifying a storage device as faulty for a first storage volume without identifying the storage device as faulty for a second storage volume
JPH09269871A (en) Data re-redundancy making system in disk array device
WO2013080299A1 (en) Data management device, data copy method, and program
JP2007052509A (en) Medium error recovery device, method and program in disk array device
JP4836014B2 (en) Disk array device and physical disk restoration method
US10802958B2 (en) Storage device, its controlling method, and storage system having the storage device