JP2006277042A - Array controller, disk array control method, and program - Google Patents

Array controller, disk array control method, and program Download PDF

Info

Publication number
JP2006277042A
JP2006277042A JP2005091999A JP2005091999A JP2006277042A JP 2006277042 A JP2006277042 A JP 2006277042A JP 2005091999 A JP2005091999 A JP 2005091999A JP 2005091999 A JP2005091999 A JP 2005091999A JP 2006277042 A JP2006277042 A JP 2006277042A
Authority
JP
Japan
Prior art keywords
data
write
disk
array
cache memory
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
JP2005091999A
Other languages
Japanese (ja)
Inventor
Susumu Hirofuji
進 廣藤
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005091999A priority Critical patent/JP2006277042A/en
Publication of JP2006277042A publication Critical patent/JP2006277042A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To shorten a time required for the data writing of the whole disk array while maintaining the security of the data of the disk array. <P>SOLUTION: This disk array 10 is configured of HDDs 110 to 113 which are equipped with write cache memories 110a to 113a, respectively. The HDD 110 and 111 are used for storing data requested from a host 30, and the HDD 112 and 113 are used for storing the redundant data of the data requested from the host 30. A WC control part 22 of an array controller 20 sets only the HDD 112 and 113 used for storing the redundant data among the HDD 110 and 113 of the disk array 10 in a write-back mode. Thus, data (redundant data) writing to the HDD 112 and 113 is completed in a stage that the redundant data are written in the write cache memories of the HDD112 and 113. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するのに好適な、アレイコントローラ、ディスクアレイ制御方法及びプログラムに関する。   The present invention relates to an array controller, a disk array control method, and a program suitable for controlling at least one disk array having redundancy composed of a plurality of disk drives having a write cache memory.

近年のディスクドライブ、例えばハードディスクドライブ(HDD)は、ディスクへのアクセスを制御するコントローラ(ディスクコントローラ)内にキャッシュ(ライトキャッシュメモリ)を有しているのが一般的である(例えば、特許文献1参照)。このキャッシュは、ライトバックモード及びライトスルーモードの中から選択されたモードで用いられる。ライトバックモードとは、ホストシステム(ホストコンピュータ)からHDDのコントローラにデータの書き込みが要求されたときに、当該コントローラが要求されたデータをキャッシュに書き込んだ時点でホストシステムに書き込み完了を通知するモードである。これに対してライトスルーモードとは、要求されたデータをキャッシュに書き込むと共にディスク(ディスク媒体)にも書き込むモードである。ライトスルーモードでは、要求されたデータがディスクに書き込まれた時点で、書き込みが完了する。このため、キャッシュをライトバックモードで使用することにより、ディスクへの書き込みを高速化することができる。キャッシュをライトバックモードで使用することを、ライトバックキャッシュをオンすると呼ぶこともある。   A recent disk drive, for example, a hard disk drive (HDD), generally has a cache (write cache memory) in a controller (disk controller) that controls access to the disk (for example, Patent Document 1). reference). This cache is used in a mode selected from the write back mode and the write through mode. The write back mode is a mode in which when the host system (host computer) requests the HDD controller to write data, the controller notifies the host system of completion of writing when the requested data is written to the cache. It is. On the other hand, the write-through mode is a mode in which requested data is written to a cache as well as to a disk (disk medium). In the write-through mode, the writing is completed when the requested data is written to the disk. For this reason, using the cache in the write-back mode can speed up writing to the disk. Using the cache in write back mode is sometimes called turning on the write back cache.

一方、冗長データを持つことによりデータの信頼性を向上させる技術として、複数のディスクドライブ(HDD)を用いて構成される冗長性を持つディスクアレイ(冗長化ディスクアレイ)、つまりRAID(Redundant Array of Inexpensive Disks、またはRedundant Array of Independent Disks)が知られている。RAIDには幾つかのレベル(RAIDレベル)が定義されており、RAID1(ミラーリング)やRAID5(パリティ付きストライピング)などが知られている。いずれも複数のHDDを用いて構成される冗長化ディスクアレイにデータ及び冗長データを配置することにより、いずれか1台のHDDに障害が発生してもデータの復元を可能にする技術である。   On the other hand, as a technique for improving the reliability of data by having redundant data, a redundant disk array (redundant disk array) configured using a plurality of disk drives (HDDs), that is, a RAID (Redundant Array of) Inexpensive Disks, or Redundant Array of Independent Disks) are known. Several levels (RAID levels) are defined for RAID, and RAID 1 (mirroring), RAID 5 (striping with parity), and the like are known. Both are technologies that enable data to be restored even if a failure occurs in any one HDD by arranging data and redundant data in a redundant disk array configured using a plurality of HDDs.

RAID1レベルで使用されるディスクアレイを構成する複数のHDDは、マスタHDDとスレーブHDDとに分けられる。マスタHDDとスレーブHDDとには同一データが書き込まれる。また、RAID5レベルで使用されるディスクアレイを構成する複数(3台以上の)のHDDは、いずれもデータ並びにパリティデータ(冗長データ)の格納用に用いられ、パリティデータは各HDDに分散して格納される。   A plurality of HDDs constituting a disk array used at the RAID 1 level are divided into a master HDD and a slave HDD. The same data is written in the master HDD and the slave HDD. A plurality of (three or more) HDDs constituting a disk array used at RAID 5 level are all used for storing data and parity data (redundant data). Parity data is distributed to each HDD. Stored.

また最近は、HDDのコストが下がってきたこともあって、データストレージ装置のより一層の信頼性向上のために、当該ストレージ装置が2組のディスクアレイ(論理ユニット)で構成される場合も多くなってきている。ここでは、2組のディスクアレイの一方がマスタディスクアレイ(マスタ論理ユニット)として、他方がバックアップディスクアレイ(バックアップ論理ユニット)としてそれぞれ定義され、マスタディスクアレイに書き込まれたデータがバックアップディスクアレイにコピーされる。
特開2003−263276号公報(段落0014)
Recently, the cost of HDDs has decreased, and in order to further improve the reliability of data storage devices, the storage devices are often composed of two sets of disk arrays (logical units). It has become to. Here, one of the two disk arrays is defined as the master disk array (master logical unit), the other is defined as the backup disk array (backup logical unit), and the data written to the master disk array is copied to the backup disk array. Is done.
JP 2003-263276 A (paragraph 0014)

ディスクアレイ内の各HDD(ディスクドライブ)へのデータ書き込みに要する時間は主として、
・HDD内のヘッドシーク時間
・回転待ち時間
・HDDのコントローラにおけるデータ処理時間
・ディスクへのデータ転送時間
で決まる。
The time required to write data to each HDD (disk drive) in the disk array is mainly
・ Head seek time in HDD ・ Rotation waiting time ・ Data processing time in HDD controller ・ Data transfer time to disk

これらの時間のうち、シーク時間と回転待ち時間とは、HDD間でばらつくため、結果的にHDD間の処理完了時間の差として表れる。この処理完了時間の差は、ディスクアレイ全体における処理完了までの遅延を招く。   Of these times, the seek time and the rotation waiting time vary among HDDs, and as a result, appear as a difference in processing completion time between HDDs. This difference in processing completion time causes a delay until the processing is completed in the entire disk array.

最近、HDDのディスクへのデータ書き込み時間は、高速化している。仮にディスクへの転送速度を50MB/sと仮定すると、64kBのデータの書き込み時間は、1.28msとなる。これに対して、HDDの平均シーク時間は4〜5ms、平均回転待ち時間は3ms程度(HDDの回転速度が10,000rpmクラス)である。このため、ディスクアレイを構成する各HDDへのアクセスを高速化するためには、当該HDDのヘッドシーク時間及び回転待ち時間を短くして、HDDの処理完了時間を短縮すると共にHDD間の処理完了時間のばらつきを少なくする必要がある。   Recently, the time for writing data to the disk of the HDD has been increased. Assuming that the transfer rate to the disk is 50 MB / s, the data writing time of 64 kB is 1.28 ms. On the other hand, the average seek time of the HDD is 4 to 5 ms, and the average rotation waiting time is about 3 ms (the HDD rotation speed is 10,000 rpm class). Therefore, in order to speed up access to each HDD constituting the disk array, the head seek time and rotation waiting time of the HDD are shortened to shorten the HDD processing completion time and complete the processing between the HDDs. It is necessary to reduce variations in time.

そこで、各HDDに実装されているキャッシュ(ライトキャッシュメモリ)をライトバックモードで使用することにより、つまりライトバックキャッシュをONすることにより、上記シーク時間、回転待ち時間、及びHDD間の処理完了時間のばらつきの影響を回避して、ディスクアレイ全体に対するデータ書き込み時間を短縮することが考えられる。   Therefore, by using the cache (write cache memory) mounted in each HDD in the write back mode, that is, by turning on the write back cache, the seek time, the rotation waiting time, and the processing completion time between the HDDs. It is conceivable to reduce the data write time for the entire disk array by avoiding the influence of the variation of the disk array.

しかしながら、HDDへのデータ書き込みは当該HDDのキャッシュにデータが書き込まれた時点で完了となる。このため、HDDのディスクへのデータ書き込みが完了する前に電源遮断が発生した場合には、データがHDDへ書き込めていない状態が発生してデータが消失するおそれがある。そこで従来は、このようなデータ消失を招かないように、つまりデータの保全性を確保するために、ディスクアレイを構成するHDDを全てライトスルーモードで使用するのが一般的である。   However, data writing to the HDD is completed when data is written to the cache of the HDD. For this reason, if the power is cut off before the data writing to the HDD disk is completed, there is a possibility that the data is not written to the HDD and the data is lost. Therefore, conventionally, all HDDs constituting a disk array are generally used in the write-through mode so as not to cause such data loss, that is, to ensure data integrity.

本発明は上記事情を考慮してなされたものでその目的は、ディスクアレイのデータの冗長性を利用することで、当該ディスクアレイのデータの保全性を維持しながら、ディスクアレイ全体のデータ書き込みに要する時間を短縮することができるアレイコントローラ、ディスクアレイ制御方法及びプログラムを提供することにある。   The present invention has been made in view of the above circumstances, and its purpose is to write data in the entire disk array while maintaining data integrity of the disk array by utilizing the redundancy of the data in the disk array. An object of the present invention is to provide an array controller, a disk array control method, and a program that can reduce the time required.

本発明の1つの観点によれば、ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラが提供される。このアレイコントローラは、データ及び当該データの冗長データを上記ディスクアレイの上記複数のディスクドライブに分散して書き込むための制御を行うライト制御手段と、上記複数のディスクドライブのうち冗長データが書き込まれるディスクドライブのみ、上記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するライトキャッシュ制御手段とから構成される。   According to one aspect of the present invention, an array controller that controls at least one disk array having redundancy composed of a plurality of disk drives having a write cache memory for temporarily storing write data to be written to a disk medium Is provided. The array controller includes write control means for performing control for distributing and writing data and redundant data of the data to the plurality of disk drives of the disk array, and a disk to which redundant data is written among the plurality of disk drives. Only the drive is composed of write cache control means for setting the write back mode for completing writing to the drive when data is written to the write cache memory.

このような構成のアレイコントローラにおいては、冗長データが書き込まれるディスクドライブのライトキャッシュメモリのみがライトバックモードで用いられる。つまり、冗長データが書き込まれるディスクドライブでは、冗長データがライトキャッシュメモリに書き込まれた段階で、当該ディスクドライブへの書き込みが完了する。このため、ディスクアレイ全体のデータ書き込み完了時刻は、他のディスクドライブ、つまり非ライトバックモード(ライトスルーモード)でデータが書き込まれる他のディスクドライブにおけるデータ書き込み完了時刻のみに依存する。したがって、ディスクアレイ全体のデータ書き込み完了時刻が、ディスクアレイを構成する全てのディスクドライブにおけるデータ書き込み完了時刻に依存する従来技術に比べて、ディスクアレイ全体のデータ書き込みに要する時間を短縮することが可能となる。ここで、冗長データが書き込まれるディスクドライブでは、冗長データが当該ディスクドライブのライトキャッシュメモリに書き込まれた後、当該ライトキャッシュメモリに書き込まれた冗長データが実際に当該ディスクドライブのディスク媒体に書き込まれるまでの期間に電源遮断が発生した場合、当該ライトキャッシュメモリに書き込まれた冗長データが消失するおそれがある。しかし、この冗長データは、上記ディスクアレイを構成する他のディスクドライブのデータから復元することができる。なお、冗長データが書き込まれるディスクドライブが予め定められるRAID1、或いはRAID3等を適用するディスクアレイの制御では、上記ライトキャッシュ制御手段によるライトバックモードへの設定は、システム立ち上げ時などにおいて予め行うことが可能となる。これに対し、冗長データが書き込まれるディスクドライブが変更されるRAID5等を適用するディスクアレイの制御では、冗長データの書き込みが発生する都度、当該冗長データの書き込み先のディスクドライブを確認して、当該ディスクドライブのみライトバックモードに設定されるようにすると良い。   In the array controller having such a configuration, only the write cache memory of the disk drive into which redundant data is written is used in the write back mode. That is, in a disk drive to which redundant data is written, writing to the disk drive is completed at the stage where the redundant data is written to the write cache memory. For this reason, the data write completion time of the entire disk array depends only on the data write completion time of other disk drives, that is, other disk drives to which data is written in the non-write back mode (write through mode). Therefore, it is possible to reduce the time required for data writing of the entire disk array, compared to the conventional technology in which the data writing completion time of the entire disk array depends on the data writing completion time of all the disk drives constituting the disk array. It becomes. Here, in the disk drive to which redundant data is written, after the redundant data is written to the write cache memory of the disk drive, the redundant data written to the write cache memory is actually written to the disk medium of the disk drive. If the power is shut off during the period up to this point, redundant data written in the write cache memory may be lost. However, this redundant data can be restored from the data of other disk drives constituting the disk array. In the control of the disk array to which RAID 1 or RAID 3 or the like in which the disk drive to which the redundant data is written is applied, the setting to the write back mode by the write cache control means is performed in advance at the time of system startup or the like. Is possible. On the other hand, in the control of the disk array to which RAID 5 or the like in which the disk drive into which redundant data is written is changed, every time redundant data is written, the disk drive to which the redundant data is written is checked and Only the disk drive should be set to write back mode.

また、上記少なくとも1つのディスクアレイをホストからの書き込み要求で要求されたデータ及び当該データの冗長データが書き込まれるマスタ側ディスクアレイとして、当該マスタ側ディスクアレイのデータを読み出して、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つバックアップ側ディスクアレイにコピーするための制御を行うコピー制御手段を追加し、このバックアップ側ディスクアレイの上記複数のディスクドライブの全てが上記ライトバックモードに設定される構成とすると良い。   Further, the master-side disk array is read as the master-side disk array into which the data requested by the write request from the host and the redundant data of the data is written, and has a write cache memory. A copy control means for performing control for copying to a backup side disk array having redundancy composed of a plurality of disk drives is added, and all of the plurality of disk drives of the backup side disk array are set to the write back mode. A configuration that is set is good.

このような構成においては、マスタ側ディスクアレイのデータをバックアップ側ディスクアレイにコピーする処理に要する時間を短縮することが可能となる。ここでは、マスタ側ディスクアレイから読み出されたデータがバックアップ側ディスクアレイの各ディスクドライブのライトキャッシュメモリに書き込まれた後、当該ライトキャッシュメモリに書き込まれたデータが実際に当該ディスクドライブのディスク媒体に書き込まれる前に電源遮断が発生した場合、当該ライトキャッシュメモリに書き込まれたデータが消失するおそれがある。しかし、このデータは、マスタ側ディスクアレイのデータを利用して復元することが可能である。   In such a configuration, it is possible to reduce the time required for the process of copying the data on the master side disk array to the backup side disk array. Here, after the data read from the master disk array is written to the write cache memory of each disk drive of the backup disk array, the data written to the write cache memory is actually the disk medium of the disk drive. If the power is interrupted before the data is written to the memory, the data written in the write cache memory may be lost. However, this data can be restored using the data in the master side disk array.

また、コピー制御手段によってマスタ側ディスクアレイから読み出されたデータを一時格納するためのキャッシュメモリを追加して、バックアップ側ディスクアレイに1回で書き込むことができるデータの最大サイズである1ライトサイズよりも大きいサイズでマスタ側ディスクアレイのデータを上記コピー制御手段がキャッシュメモリに読み込み、当該キャッシュメモリに読み込まれたデータを当該コピー制御手段が複数回に分けてバックアップ側ディスクアレイにコピーする構成とすると良い。   In addition, a cache memory for temporarily storing data read from the master-side disk array by the copy control means is added, and one write size that is the maximum size of data that can be written to the backup-side disk array at one time. The copy control means reads the data of the master side disk array into a cache memory with a larger size, and the copy control means copies the data read into the cache memory to the backup side disk array in a plurality of times. Good.

このようにすると、キャッシュメモリに読み込まれたデータがバックアップ側ディスクアレイにコピーされる期間を利用して、ホストから要求されたマスタ側ディスクアレイへのデータ書き込みまたはマスタ側ディスクアレイからのデータ読み出し、更にはマスタ側ディスクアレイからの次にコピーすべきデータの読み出しが効率的に実行できる。換言すれば、ホストから要求されたマスタ側ディスクアレイへのデータ書き込みまたはマスタ側ディスクアレイからのデータ読み出し、更にはマスタ側ディスクアレイからの次にコピーすべきデータの読み出しの期間を利用して、キャッシュメモリに読み込まれたデータをバックアップ側ディスクアレイに効率的にコピーすることが可能となる。   In this way, using the period during which the data read into the cache memory is copied to the backup side disk array, the data write to the master side disk array requested from the host or the data read from the master side disk array, Furthermore, reading of data to be copied next from the master side disk array can be executed efficiently. In other words, using the period of data writing to the master side disk array requested from the host or data reading from the master side disk array, and further reading of data to be copied next from the master side disk array, Data read into the cache memory can be efficiently copied to the backup-side disk array.

また、上記キャッシュメモリを電源の遮断時にも当該メモリに格納されているデータを保持可能な構成とすると共に、当該キャッシュメモリを有効に利用するために、マスタ側ディスクアレイからキャッシュメモリに読み込まれたデータが、当該データがバックアップ側ディスクアレイの複数のディスクドライブのライトキャッシュメモリから当該ディスクドライブのディスク媒体に実際に書き込まれると予測される時間を待ってコピー制御手段によってクリアされる構成とすると良い。このようにすると、コピー制御手段が上記時間を待っている期間に電源遮断が発生しても、その後電源が復旧した場合に、上記キャッシュメモリを利用して、バックアップ側ディスクアレイの複数のディスクドライブのデータを復元させることが可能となる。   In addition, the cache memory is configured to be able to retain data stored in the memory even when the power is cut off, and is read from the master side disk array into the cache memory in order to effectively use the cache memory. The data may be cleared by the copy control unit after waiting for a time when the data is predicted to be actually written from the write cache memory of the plurality of disk drives of the backup side disk array to the disk medium of the disk drive. . In this way, even if the power cut occurs during the period when the copy control unit waits for the time, when the power is restored after that, the plurality of disk drives of the backup side disk array are utilized using the cache memory. It becomes possible to restore the data.

また、マスタ側ディスクアレイから読み出されたデータと当該データのアドレスとが、一定サイズのデータブロック単位にキャッシュメモリに格納される構成とし、キャッシュメモリに格納されたデータをバックアップ側ディスクアレイの複数のディスクドライブに上記ライトバックモードで書き込んだ後に当該データをキャッシュメモリからクリアし、当該データのアドレスのみ上記予測される時間を待ってクリアするならば、キャッシュメモリの領域をより有効に利用できる。しかも、コピー制御手段が上記時間を待っている期間に電源遮断が発生しても、その後電源が復旧した場合に、キャッシュメモリに格納されているアドレスを利用してマスタ側ディスクアレイ及びバックアップ側ディスクアレイからデータを読み出して比較するならば、両データが一致していない場合、マスタ側ディスクアレイから読み出されたデータでバックアップ側ディスクアレイのデータを復元させることが可能となる。   In addition, the data read from the master side disk array and the address of the data are stored in the cache memory in units of data blocks of a certain size, and the data stored in the cache memory is stored in the backup side disk array. If the data is cleared from the cache memory after writing to the disk drive in the write back mode, and only the address of the data is cleared after waiting for the predicted time, the area of the cache memory can be used more effectively. In addition, even if the power is cut off during the period when the copy control unit waits for the above time, when the power is restored after that, the master side disk array and the backup side disk are used by using the address stored in the cache memory. If data is read from the array and compared, if the two data do not match, the data in the backup side disk array can be restored with the data read from the master side disk array.

本発明によれば、ディスクアレイ内で冗長データが書き込まれるディスクドライブのライトキャッシュメモリのみをライトバックモードで用いることにより、当該ディスクアレイのデータの保全性を維持しながら、当該ディスクアレイ全体のデータ書き込みに要する時間を短縮することができる。   According to the present invention, only the write cache memory of the disk drive into which redundant data is written in the disk array is used in the write back mode, so that the data of the entire disk array is maintained while maintaining the integrity of the data of the disk array. The time required for writing can be shortened.

以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係るコンピュータシステムの構成を示すブロック図である。図1のコンピュータシステムは、ディスクアレイ10と、このディスクアレイ10を制御するアレイコントローラ(ディスクアレイコントローラ)20と、各種アプリケーションを実行するホスト(ホストコンピュータ)30とから構成される。ホスト30は、ディスクアレイ10を外部記憶装置として用いる。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of the present invention. The computer system shown in FIG. 1 includes a disk array 10, an array controller (disk array controller) 20 that controls the disk array 10, and a host (host computer) 30 that executes various applications. The host 30 uses the disk array 10 as an external storage device.

ディスクアレイ10は、複数のディスクドライブ、例えば4台のHDD(磁気ディスクドライブ)110(#0),111(#1),112(#3),113(#4)から構成磁気ディスクドライブされるRAIDである。ここでは、ディスクアレイ10は、RAID1レベルのディスクアレイ、いわゆるミラーリングディスクアレイとして用いられる。ディスクアレイ10は、RAID1マスタ11MとRAID1スレーブ11Sとから構成される。RAID1マスタ11Mは、ホスト30から要求されたデータを書き込むのに用いられる。RAID1スレーブ11Sは、ホスト30から要求されたデータと同一のデータを冗長データ(ミラーデータ)として書き込むのに用いられる。つまりRAID1スレーブ11Sは、RAID1マスタ11Mの複製を格納するのに用いられる。図1の例では、RAID1マスタ11MはHDD110(#0),111(#1)から構成され、RAID1スレーブ11SはHDD112(#2),113(#3)から構成される。   The disk array 10 is composed of a plurality of disk drives, for example, four HDDs (magnetic disk drives) 110 (# 0), 111 (# 1), 112 (# 3), and 113 (# 4). RAID. Here, the disk array 10 is used as a RAID 1 level disk array, a so-called mirroring disk array. The disk array 10 includes a RAID1 master 11M and a RAID1 slave 11S. The RAID1 master 11M is used to write data requested from the host 30. The RAID1 slave 11S is used to write the same data as the data requested from the host 30 as redundant data (mirror data). That is, the RAID1 slave 11S is used to store a copy of the RAID1 master 11M. In the example of FIG. 1, the RAID1 master 11M is composed of HDDs 110 (# 0) and 111 (# 1), and the RAID1 slave 11S is composed of HDDs 112 (# 2) and 113 (# 3).

HDD#0乃至#3は、それぞれ当該HDD#0乃至#3のディスク(ディスク媒体)に書き込むべきデータを一時格納するためのライトキャッシュメモリ(WC)110a乃至113aを有する。   The HDDs # 0 to # 3 have write cache memories (WC) 110a to 113a for temporarily storing data to be written to the disks (disk media) of the HDDs # 0 to # 3, respectively.

アレイコントローラ20は、ライト制御部21とWC制御部(ライトキャッシュ制御部
)22とを含む。ライト制御部21は、ホスト30からの書き込み要求を受けて、要求されたデータ(要求データ)をRAID1マスタ11Mに書き込むと共に、当該要求データに対応する冗長データ(ここでは、要求データと同一の冗長データ)をRAID1スレーブ11Sに書き込むための制御を行う。WC制御部22は、HDD#0乃至#3が有するライトキャッシュメモリ110a乃至113aの各々をライトバックモードで使用するか、或いはライトスルーモードで使用するか、つまりライトバックキャッシュON(WBC−ON)の状態またはライトバックキャッシュOFF(WBC−OFF)の状態のいずれで使用するかを制御する。本実施形態において、ライト制御部21及びWC制御部22は、アレイコントローラ20の図示せぬマイクロプロセッサ(コンピュータ)のプログラムメモリにインストールされた制御プログラムを当該マイクロプロセッサが読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。
The array controller 20 includes a write control unit 21 and a WC control unit (write cache control unit) 22. In response to a write request from the host 30, the write control unit 21 writes the requested data (request data) to the RAID1 master 11M, and redundant data corresponding to the request data (here, the same redundancy as the request data). Data) is written to the RAID1 slave 11S. The WC control unit 22 uses each of the write cache memories 110a to 113a of the HDDs # 0 to # 3 in the write back mode or the write through mode, that is, the write back cache ON (WBC-ON). Or the write back cache OFF (WBC-OFF) state. In the present embodiment, the write control unit 21 and the WC control unit 22 are realized by the microprocessor reading and executing a control program installed in a program memory of a microprocessor (computer) (not shown) of the array controller 20. The This program can be stored in advance in a computer-readable storage medium and distributed. Further, this program may be downloaded (distributed) via a network.

次に、図1のシステムにおけるアレイコントローラ20による制御について図2及び図3を参照して説明する。図2はアレイコントローラ20のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート、図3はアレイコントローラ20のライト制御部21による書き込み制御に応じて実行されるHDD#0乃至#3の動作を従来と対比して説明するためのタイミングチャートである。   Next, control by the array controller 20 in the system of FIG. 1 will be described with reference to FIGS. FIG. 2 is a flowchart showing a procedure of control of the write cache memory by the WC control unit 22 of the array controller 20, and FIG. 3 shows HDDs # 0 to # 3 executed in accordance with write control by the write control unit 21 of the array controller 20. It is a timing chart for demonstrating operation | movement contrasting with the past.

まず、WC制御部22は、例えばシステムの立ち上げ時に、RAID1マスタ11M側の各HDD、即ちHDD#0及び#1の各々を、ライトスルーモード(WBC−OFF)に設定する(ステップS1)。またWC制御部22は、RAID1スレーブ11S側の各HDD、即ちHDD#2及び#3の各々を、ライトバックモード(WBC−ON)に設定する(ステップS2)。以後、RAID1マスタ11M側のHDD#0及び#1が有するライトキャッシュメモリ110a及び111aはライトスルーモードで使用され、RAID1スレーブ11S側のHDD#2及び#3が有するライトキャッシュメモリ112a及び113aはライトバックモードで使用される。   First, the WC control unit 22 sets each HDD on the RAID1 master 11M side, that is, each of the HDDs # 0 and # 1, to the write-through mode (WBC-OFF), for example, when the system is started up (step S1). Further, the WC control unit 22 sets each HDD on the RAID1 slave 11S side, that is, each of the HDDs # 2 and # 3, in the write back mode (WBC-ON) (step S2). Thereafter, the write cache memories 110a and 111a included in the HDDs # 0 and # 1 on the RAID1 master 11M side are used in the write-through mode, and the write cache memories 112a and 113a included in the HDDs # 2 and # 3 on the RAID1 slave 11S side are written. Used in back mode.

今、ホスト30からアレイコントローラ20に対して、ディスクアレイ10にデータDを書き込むことが要求されたものとする。このデータDは例えばデータD1及びD2に分割される。このデータD1及びD2は、RAID1マスタ11MのそれぞれHDD#0及び#1に分散して書き込まれる。また、このデータD1及びD2は、RAID1スレーブ11SのそれぞれHDD#2及び#3にも書き込まれる。   Now, it is assumed that the host 30 requests the array controller 20 to write data D to the disk array 10. This data D is divided into data D1 and D2, for example. The data D1 and D2 are written in a distributed manner on the HDDs # 0 and # 1 of the RAID1 master 11M. The data D1 and D2 are also written to the HDDs # 2 and # 3 of the RAID1 slave 11S, respectively.

従来は、RAID1マスタ11M及びRAID1スレーブ11Sへのデータ書き込みは、いずれもライトスルーモードで行われている。この場合、RAID1マスタ11MのHDD#0及び#1と、RAID1スレーブ11SのHDD#2及び#3とに対するデータ書き込みに要する時間、即ちHDD#i(i=1,2,3,4)に対するデータ書き込みに要する時間は、図3(a)に示すように、HDD#iにおけるデータ処理時間(ハッチングが施された棒線の部分の期間)と、HDD#iにおけるヘッドシーク時間、回転待ち時間及びデータ転送時間の和(黒で塗りつぶされた棒線の部分の期間)とを加算したものとなる。   Conventionally, data writing to the RAID1 master 11M and the RAID1 slave 11S is performed in the write-through mode. In this case, the time required for data writing to the HDDs # 0 and # 1 of the RAID1 master 11M and the HDDs # 2 and # 3 of the RAID1 slave 11S, that is, data for the HDD #i (i = 1, 2, 3, 4). As shown in FIG. 3 (a), the time required for writing includes the data processing time in HDD #i (the period of the hatched bar), the head seek time in HDD #i, the rotation waiting time, It is the sum of the data transfer times (the period of the bar line filled with black).

データ処理時間とは、アレイコントローラ20(のライト制御部21)からの書き込み要求をHDD#iが受け取って解釈するのに要する時間である。ヘッドシーク時間とは、要求されたデータの書き込みを開始すべきディスク上の先頭トラックにヘッドを移動するのに要する時間である。また回転待ち時間とは、ヘッドが上記先頭トラックに移動された後(つまりシーク完了後)、要求されたデータの書き込みを開始すべき先頭セクタがヘッド位置に到達するまでディスクが回転する時間である。データ転送時間とは、ディスクへのデータ転送に要する時間である。   The data processing time is the time required for the HDD #i to receive and interpret a write request from the array controller 20 (its write control unit 21). The head seek time is the time required to move the head to the first track on the disk where writing of the requested data should be started. The rotation waiting time is the time for which the disk rotates after the head is moved to the head track (that is, after the seek is completed) until the head sector to start writing the requested data reaches the head position. . Data transfer time is the time required to transfer data to the disk.

ここで、データ処理時間及びデータ転送時間はHDD#iに殆ど依存しない。これに対して、シーク時間及び回転待ち時間はHDD#i毎に異なる。このため、図3(a)の例のように、HDD#0乃至#3で時刻t1に同時にデータ書き込み処理が開始されたとしても、データ書き込み処理が完了する時刻はHDD#i毎に異なる。   Here, the data processing time and the data transfer time hardly depend on the HDD #i. On the other hand, the seek time and the rotation waiting time are different for each HDD #i. For this reason, as in the example of FIG. 3A, even if the data writing process is started simultaneously at time t1 in HDDs # 0 to # 3, the time at which the data writing process is completed differs for each HDD #i.

図3(a)の例では、RAID1マスタ11Mのデータ書き込み処理の完了時刻はHDD#0のデータ書き込み処理の完了時刻で決まり、時刻t11である。これに対し、RAID1スレーブ11Sのデータ書き込み処理の完了時刻はHDD#2のデータ書き込み処理の完了時刻で決まり、時刻t11より時間T1後の時刻t12である。つまり、ディスクアレイ10全体では、データ書き込み処理の完了時刻はRAID1スレーブ11SのHDD#2のデータ書き込み処理の完了時刻で決まり、t12となる。   In the example of FIG. 3A, the completion time of the data writing process of the RAID1 master 11M is determined by the completion time of the data writing process of the HDD # 0 and is time t11. On the other hand, the completion time of the data writing process of the RAID1 slave 11S is determined by the completion time of the data writing process of the HDD # 2, and is time t12 after time T1 from time t11. That is, in the entire disk array 10, the completion time of the data writing process is determined by the completion time of the data writing process of HDD # 2 of the RAID1 slave 11S, and becomes t12.

ところが本実施形態では、RAID1スレーブ11Sの各HDD#2及び#3のライトキャッシュメモリ112a及び113aは、RAID1マスタ11Mの各HDD#0及び#1のライトキャッシュメモリ110a及び111aとは異なり、ライトバックモードで使用される。このライトバックモードでは、各HDD#2及び#3に書き込むべきデータ(D1及びD2)がライトキャッシュメモリ112a及び113aに書き込まれた段階で、当該HDD#2及び#3への書き込みが完了したものとして、当該HDD#2及び#3からアレイコントローラ20に書き込み完了が通知される。   However, in this embodiment, the write cache memories 112a and 113a of the HDDs # 2 and # 3 of the RAID1 slave 11S are different from the write cache memories 110a and 111a of the HDDs # 0 and # 1 of the RAID1 master 11M. Used in mode. In this write-back mode, when the data (D1 and D2) to be written to the HDDs # 2 and # 3 are written to the write cache memories 112a and 113a, the writing to the HDDs # 2 and # 3 is completed. As a result, the HDD # 2 and # 3 notify the array controller 20 of the completion of writing.

このため本実施形態では、図3(b)に示すように、図3(a)の場合と同様にHDD#0乃至#3で時刻t1に同時にデータ書き込み処理が開始されたものとすると、RAID1スレーブ11SのHDD#2及び#3では、RAID1マスタ11Mの各HDD#0及び#1と比べて、シーク時間+回転待ち時間の分だけ早い時刻t13に書き込みが完了することになる。図3(b)におけるHDD#2及び#3でのデータ書き込み処理に要する時間は、データ処理時間(ハッチングが施された棒線の部分の期間)と、データ転送時間(黒で塗りつぶされた棒線の部分の期間)とを加算したものとなる。この場合、t12−t13で表される時間が、RAID1スレーブ11Sにおいてライトバックモード(WBC−ON)でデータ書き込みを行ったことによる効果である。但し、RAID1マスタ11Mでは、図3(b)に示すように、時刻t11まではデータ書き込みは完了しないことから、実際に短縮される時間はt12−t11=T1である。つまり、ディスクアレイ10全体では、データ書き込み処理の完了時刻はRAID1マスタ11MのHDD#0のデータ書き込み処理の完了時刻で決まり、t11となる。   Therefore, in this embodiment, as shown in FIG. 3B, assuming that the data writing process is started at the time t1 at the same time in HDDs # 0 to # 3 as in the case of FIG. In the HDDs # 2 and # 3 of the slave 11S, writing is completed at time t13 that is earlier than the HDDs # 0 and # 1 of the RAID1 master 11M by the seek time + rotation waiting time. The time required for the data writing process in HDDs # 2 and # 3 in FIG. 3B is the data processing time (the period of the hatched bar) and the data transfer time (black bars). The period of the line portion). In this case, the time represented by t12-t13 is an effect obtained by writing data in the write back mode (WBC-ON) in the RAID1 slave 11S. However, in the RAID1 master 11M, as shown in FIG. 3B, the data writing is not completed until the time t11, so the time actually shortened is t12−t11 = T1. That is, in the entire disk array 10, the completion time of the data writing process is determined by the completion time of the data writing process of the HDD # 0 of the RAID1 master 11M and becomes t11.

このように本実施形態では、RAID1スレーブ11S側のHDD#2及び#3のライトキャッシュメモリ112a及び113aは、ライトバックモードで用いられる。ライトキャッシュメモリ112a及び113aに書き込まれたデータ(D1及びD2)は、HDD#2及び#3における処理の空き時間等を利用して、当該HDD#2及び#3のディスクに書き込まれる(ライトバックされる)。このため、ディスクアレイ10全体におけるデータ書き込み処理の完了時刻t11以降、HDD#2及び#3のライトキャッシュメモリ112a及び113aのデータが当該HDD#2及び#3のディスクに実際に書き込まれる前に電源遮断が発生すると、ライトキャッシュメモリ112a及び113aのデータは消失するおそれがある。   As described above, in this embodiment, the write cache memories 112a and 113a of the HDD # 2 and # 3 on the RAID1 slave 11S side are used in the write-back mode. The data (D1 and D2) written in the write cache memories 112a and 113a are written to the disks of the HDDs # 2 and # 3 using the processing free time in the HDDs # 2 and # 3 (write back). ) For this reason, after the data write processing completion time t11 in the entire disk array 10, the power of the write cache memories 112a and 113a of the HDDs # 2 and # 3 is not written to the disks of the HDDs # 2 and # 3. When the interruption occurs, the data in the write cache memories 112a and 113a may be lost.

しかし本実施形態では、RAID1マスタ11M側のHDD#0及び#1のライトキャッシュメモリ110a及び111aは、ライトスルーモードで用いられる。このため、上記時刻t11の時点では、データ(D1及びD2)はHDD#0及び#1のディスクに書き込まれている。したがって、このHDD#0及び#1のディスクに書き込まれたデータ(D1及びD2)を用いて、RAID1スレーブ11S側のHDD#2及び#3のデータ(冗長データ)を復元できる。   However, in the present embodiment, the write cache memories 110a and 111a of the HDD # 0 and # 1 on the RAID1 master 11M side are used in the write-through mode. For this reason, at the time t11, the data (D1 and D2) are written on the disks of the HDDs # 0 and # 1. Therefore, the data (redundant data) of the HDDs # 2 and # 3 on the RAID1 slave 11S side can be restored using the data (D1 and D2) written to the disks of the HDDs # 0 and # 1.

[第2の実施形態]
図4は本発明の第2の実施形態に係るコンピュータシステムの構成を示すブロック図である。図4において、図1と同様の要素には便宜的に同一参照符号を付してある。図4のコンピュータシステムが図1のコンピュータシステムと異なるのは、RAID1を適用するディスクアレイ10に代えて、例えばRAID5を適用するディスクアレイ40が用いられている点にある。ここでは、ディスクアレイ40が3台のHDD41(#0),42(#1),43(#2)から構成されるものとする。HDD41(#0),42(#1),43(#2)は、それぞれライトキャッシュメモリ41a,42a,43aを有する。
[Second Embodiment]
FIG. 4 is a block diagram showing a configuration of a computer system according to the second embodiment of the present invention. In FIG. 4, the same elements as those in FIG. The computer system of FIG. 4 is different from the computer system of FIG. 1 in that, for example, a disk array 40 to which RAID 5 is applied is used instead of the disk array 10 to which RAID 1 is applied. Here, it is assumed that the disk array 40 includes three HDDs 41 (# 0), 42 (# 1), and 43 (# 2). The HDDs 41 (# 0), 42 (# 1), and 43 (# 2) have write cache memories 41a, 42a, and 43a, respectively.

RAID5では、冗長データ(パリティデータ)PはHDD41(#0),42(#1),43(#2)に分散して配置(格納)される。この点で、RAID5は、冗長データ(パリティデータ)Pが常に特定のHDDに配置されるRAID3と異なる。   In RAID5, redundant data (parity data) P is distributed (arranged) in HDDs 41 (# 0), 42 (# 1), and 43 (# 2). In this respect, RAID 5 is different from RAID 3 in which redundant data (parity data) P is always arranged in a specific HDD.

今、図4のシステムにおいて、ホスト30から要求されたデータ(要求データ)DをデータD1及びD2に分割して、ディスクアレイ40に書き込むものとする。この場合、ライト制御部21はデータD1及びD2のパリティデータPを冗長データPとして生成する。この冗長データPをHDD#0,#1,#2のいずれに書き込むかは、要求データDの格納先アドレスに基づいてライト制御部21によって決定される。このため第2の実施形態では、WC制御部22は第1の実施形態と異なって、HDD#0乃至#2が有するライトキャッシュメモリ41a乃至43aの各々をライトバックモードで使用するか、或いはライトスルーモードで使用するかを、ライト制御部21によるデータ書き込みの都度設定する必要がある。   Now, in the system of FIG. 4, it is assumed that data (request data) D requested from the host 30 is divided into data D1 and D2 and written to the disk array 40. In this case, the write control unit 21 generates the parity data P of the data D1 and D2 as redundant data P. Which of the HDDs # 0, # 1, and # 2 writes the redundant data P is determined by the write control unit 21 based on the storage destination address of the request data D. For this reason, in the second embodiment, unlike the first embodiment, the WC control unit 22 uses each of the write cache memories 41a to 43a included in the HDDs # 0 to # 2 in the write back mode, or writes It is necessary to set whether to use in the through mode each time data is written by the write control unit 21.

そこで、データ書き込み時のWC制御部22によるライトキャッシュメモリの制御について、図5のフローチャートを参照して説明する。まず、WC制御部22は、ライト制御部21によるデータ書き込みに際し、当該ライト制御部21に対して冗長データ(パリティデータ)Pの書き込み先となるHDDを問い合わせる(ステップS11)。するとライト制御部21からWC制御部22に対し、冗長データ書き込み先HDDが通知される。なお、ライト制御部21によるデータ書き込みに際し、当該ライト制御部21からWC制御部22に対して冗長データ書き込み先HDDが自動的に通知される構成とすることも可能である。WC制御部22は、ライト制御部21から通知された冗長データ書き込み先HDDのみライトバックモード(WBC−ON)に設定し、残りのHDDは全てライトスルーモード(WBC−OFF)に設定する(ステップS12)。図4のシステムの状態は、ライト制御部21からWC制御部22に対して、HDD#2が冗長データPの書き込み先HDDとして通知された結果、当該HDD#2がライトバックモードに設定され、残りのHDD#0及び#1がライトスルーモードに設定されている様子を示している。なお、ディスクアレイ40がRAID3を適用するならば、このモード設定を、第1の実施形態と同様に予め(例えばシステムの立ち上げ時に)行うことが可能である。また、ライトバックモード、ライトスルーモードは、HDDへの書き込みコマンド毎に設定することもできる。   Therefore, the control of the write cache memory by the WC control unit 22 at the time of data writing will be described with reference to the flowchart of FIG. First, at the time of data writing by the write control unit 21, the WC control unit 22 inquires of the write control unit 21 about the HDD to which redundant data (parity data) P is written (step S11). Then, the redundant data write destination HDD is notified from the write control unit 21 to the WC control unit 22. It is also possible to adopt a configuration in which the redundant data write destination HDD is automatically notified from the write control unit 21 to the WC control unit 22 when the write control unit 21 writes data. The WC control unit 22 sets only the redundant data write destination HDD notified from the write control unit 21 to the write-back mode (WBC-ON), and sets all remaining HDDs to the write-through mode (WBC-OFF) (steps). S12). The state of the system in FIG. 4 is that the write control unit 21 notifies the WC control unit 22 of HDD # 2 as the write destination HDD of the redundant data P. As a result, the HDD # 2 is set to the write back mode. The remaining HDDs # 0 and # 1 are shown in the write-through mode. If the disk array 40 applies RAID3, this mode setting can be performed in advance (for example, when the system is started up) as in the first embodiment. Also, the write back mode and the write through mode can be set for each write command to the HDD.

図4のシステムにおいて、ディスクアレイ40全体におけるデータ書き込み処理の完了時刻以降、HDD#2のライトキャッシュメモリ43aのデータ、つまり冗長データPが当該HDD#2のディスクに実際に書き込まれる前に電源遮断が発生したものとする。このとき、冗長データPに対応するデータD1及びD2は、それぞれHDD#0及びHDD#1のディスクに書き込まれている。したがって、このHDD#0及び#1のディスクに書き込まれたデータD1及びD2を用いて、HDD#2のディスクに書き込むべき冗長データPを復元できる。   In the system shown in FIG. 4, after the completion of the data writing process in the entire disk array 40, the power is cut off before the data in the write cache memory 43a of the HDD # 2, that is, the redundant data P is actually written to the disk of the HDD # 2. Is assumed to occur. At this time, the data D1 and D2 corresponding to the redundant data P are written in the disks of HDD # 0 and HDD # 1, respectively. Therefore, the redundant data P to be written on the HDD # 2 disk can be restored using the data D1 and D2 written on the HDD # 0 and # 1 disks.

[第3の実施形態]
図6は本発明の第3の実施形態に係るコンピュータシステムの構成を示すブロック図である。図6において、図1と同様の要素には便宜的に同一参照符号を付してある。図6のコンピュータシステムの特徴は、図1中のディスクアレイ10に相当する2つのディスクアレイを、それぞれマスタ論理ユニット(マスタLU)50及びバックアップ論理ユニット(バックアップLU)51として有している点にある。バックアップLU51は、マスタLU50の内容を例えば定期的にバックアップするのに用いられる。マスタLU50は、図1中のRAID1マスタ11M及びRAID1スレーブ11Sに相当する、それぞれRAID1マスタ500(#0)及びRAID1スレーブ501(#0)から構成される。同様にバックアップLU51は、RAID1マスタ510(#1)及びRAID1スレーブ511(#1)から構成される。
[Third Embodiment]
FIG. 6 is a block diagram showing a configuration of a computer system according to the third embodiment of the present invention. In FIG. 6, the same elements as those in FIG. 1 are denoted by the same reference numerals for the sake of convenience. The computer system of FIG. 6 is characterized in that it has two disk arrays corresponding to the disk array 10 in FIG. 1 as a master logical unit (master LU) 50 and a backup logical unit (backup LU) 51, respectively. is there. The backup LU 51 is used for periodically backing up the contents of the master LU 50, for example. The master LU 50 includes a RAID 1 master 500 (# 0) and a RAID 1 slave 501 (# 0), which correspond to the RAID 1 master 11M and the RAID 1 slave 11S in FIG. 1, respectively. Similarly, the backup LU 51 includes a RAID 1 master 510 (# 1) and a RAID 1 slave 511 (# 1).

また図6のコンピュータシステムでは、図1中のアレイコントローラ20に代えてアレイコントローラ200が用いられる。アレイコントローラ200は、ライト制御部21及びWC制御部22に加えてコピー制御部23を有している。コピー制御部23は、マスタLU50のデータのバックアップをバックアップLU51に採取するために、マスタLU50のデータをバックアップLU51にコピーするための制御を行う。このコピー制御機能は、インボックスレプリケーション(IBR)と呼ばれる。アレイコントローラ20は更に、データ復元部24、キャッシュメモリ25及びバックアップ用バッテリ26を有している。但し、データ復元部24、キャッシュメモリ25及びバックアップ用バッテリ26は、後述する変形例で用いられるため、ここでの説明は省略する。1
次に、図6のシステムにおけるアレイコントローラ200による制御について図7及び図8を参照して説明する。図7はアレイコントローラ200のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート、図8はアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0並びにRAID1マスタ#1及びRAID1スレーブ#1の動作を従来と対比して説明するためのタイミングチャートである。
In the computer system of FIG. 6, an array controller 200 is used instead of the array controller 20 in FIG. The array controller 200 has a copy control unit 23 in addition to the write control unit 21 and the WC control unit 22. The copy control unit 23 performs control for copying the data of the master LU 50 to the backup LU 51 in order to collect the backup of the data of the master LU 50 to the backup LU 51. This copy control function is called in-box replication (IBR). The array controller 20 further includes a data restoration unit 24, a cache memory 25, and a backup battery 26. However, since the data restoration unit 24, the cache memory 25, and the backup battery 26 are used in a modified example to be described later, description thereof is omitted here. 1
Next, control by the array controller 200 in the system of FIG. 6 will be described with reference to FIGS. FIG. 7 is a flowchart showing a procedure of control of the write cache memory by the WC control unit 22 of the array controller 200, and FIG. It is a timing chart for explaining operations of # 0 and RAID1 master # 1 and RAID1 slave # 1 in comparison with the conventional art.

まず、ライト制御部21は、例えばシステムの立ち上げ時に、マスタLU50に含まれているRAID1マスタ500(#0)側の各HDDを、ライトスルーモード(WBC−OFF)に設定する(ステップS21)。またWC制御部22は、マスタLU50に含まれているRAID1スレーブ501(#0)側の各HDDと、バックアップLU51に含まれている各HDD、即ちRAID1マスタ510(#1)側の各HDD及びRAID1スレーブ511(#1)側の各HDDを、ライトバックモード(WBC−ON)に設定する(ステップS22)。以後、RAID1マスタ#0側の各HDDが有するライトキャッシュメモリはライトスルーモードで使用され、RAID1スレーブ#0及び#1並びにRAID1マスタ#1側の各HDDが有するライトキャッシュメモリはライトバックモードで使用される。ホスト30からの書き込み要求に対するデータの書き込みは、マスタLU50に対してのみ行われる。この場合、要求されたデータの書き込みは、第1の実施形態から理解されるように、マスタLU50に含まれているRAID1マスタ500へのデータ書き込みが完了した時点で完了する。   First, the write control unit 21 sets each HDD on the RAID1 master 500 (# 0) side included in the master LU 50 to the write-through mode (WBC-OFF), for example, when the system is started up (step S21). . The WC control unit 22 also includes each HDD on the RAID1 slave 501 (# 0) side included in the master LU 50 and each HDD included in the backup LU 51, that is, each HDD on the RAID1 master 510 (# 1) side. Each HDD on the RAID1 slave 511 (# 1) side is set to the write back mode (WBC-ON) (step S22). Thereafter, the write cache memory of each HDD on the RAID1 master # 0 side is used in the write-through mode, and the write cache memory of each HDD on the RAID1 slaves # 0 and # 1 and the RAID1 master # 1 side is used in the write-back mode. Is done. Data writing in response to a write request from the host 30 is performed only on the master LU 50. In this case, the writing of the requested data is completed when the data writing to the RAID1 master 500 included in the master LU 50 is completed, as can be understood from the first embodiment.

今、ホスト30からアレイコントローラ200に対してマスタLU50のデータのバックアップが要求されたものとする。この場合、アレイコントローラ200のコピー制御部23は、マスタLU50のデータをバックアップLU51にコピーするデータコピー処理を実行する。このデータコピー処理は、マスタLU50に含まれているRAID1マスタ#0及びRAID1スレーブ#0の各HDDのデータを一定サイズ(ここでは、1回のライトサイズ)毎に読み出す処理と、一定サイズ(1ライトサイズ)のデータの読み出し完了後に、その読み出されたデータを、バックアップLU51に含まれているRAID1マスタ#1及びRAID1スレーブ#1の各HDDに書き込む処理とから構成される。   Assume that the host 30 requests the array controller 200 to back up the data of the master LU 50. In this case, the copy control unit 23 of the array controller 200 executes a data copy process for copying the data of the master LU 50 to the backup LU 51. The data copy process includes a process of reading out data of each HDD of the RAID1 master # 0 and RAID1 slave # 0 included in the master LU 50 for each fixed size (here, one write size), and a fixed size (1 After the completion of the reading of the write size data, the read data is written to the HDDs of the RAID1 master # 1 and the RAID1 slave # 1 included in the backup LU 51.

もし、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDが、従来と同様にライトスルーモードに設定されている場合、一定サイズのデータの読み出し処理と書き込み処理とは、図8(a)に示すようなタイミングで実行される。図8(a)の例では、マスタLU50側のRAID1マスタ#0及びRAID1スレーブ#0(の各HDD)からのデータ読み出し処理が時刻t20で開始されて時刻t21で完了した様子が示されている。また図8(a)の例では、RAID1マスタ#0及びRAID1スレーブ#0から読み出されたデータをバックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1に書き込むデータ書き込み処理が時刻t21で開始されて時刻t22で完了した様子が示されている。図8においてハッチングが施された棒線の長さは、図3と同様にデータ処理時間を表す。また、黒で塗りつぶされた棒線の長さは、図3と同様に、ライトスルーモードではヘッドシーク時間と回転待ち時間とデータ転送時間の和を表し、ライトバックモードではデータ転送時間を表す。   If the HDDs of the RAID1 master # 1 and the RAID1 slave # 1 on the backup LU 51 side are set in the write-through mode as in the conventional case, the read processing and write processing of data of a certain size are shown in FIG. It is executed at the timing shown in a). The example of FIG. 8A shows a state where the data read processing from the RAID1 master # 0 and the RAID1 slave # 0 (each HDD) on the master LU 50 side is started at time t20 and completed at time t21. . In the example of FIG. 8A, the data writing process for writing the data read from the RAID1 master # 0 and the RAID1 slave # 0 to the RAID1 master # 1 and the RAID1 slave # 1 on the backup LU 51 side is started at time t21. A state of completion at time t22 is shown. In FIG. 8, the length of the hatched bar represents the data processing time as in FIG. Similarly to FIG. 3, the length of the bar filled with black represents the sum of the head seek time, the rotation waiting time, and the data transfer time in the write-through mode, and the data transfer time in the write-back mode.

ところが本実施形態では、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDがライトバックモードに設定されている。このため、上記一定サイズのデータの読み出し処理と書き込み処理とは、図8(b)に示すようなタイミングで実行される。この図8(b)の例では、RAID1マスタ#0及びRAID1スレーブ#0から読み出されたデータをバックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1に書き込むデータ書き込み処理は、図8(a)の場合と同様に時刻t21で開始されるものの、当該データ書き込み処理が完了する時刻は、図8(a)の場合より時間T2だけ短い時刻t23(t22−t23=T2)となる。つまり、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDをライトバックモードに設定することで、一定サイズのデータのコピーに要する時間を、従来よりも時間T2だけ短縮することができる。   However, in this embodiment, the HDDs of the RAID1 master # 1 and the RAID1 slave # 1 on the backup LU 51 side are set to the write back mode. For this reason, the reading process and the writing process of the data of the certain size are executed at a timing as shown in FIG. In the example of FIG. 8B, the data write process for writing the data read from the RAID1 master # 0 and the RAID1 slave # 0 to the RAID1 master # 1 and the RAID1 slave # 1 on the backup LU 51 side is as shown in FIG. ) Is started at time t21 as in the case of (), but the time at which the data writing process is completed is time t23 (t22−t23 = T2), which is shorter than the case of FIG. 8A by time T2. In other words, by setting the HDDs of the RAID1 master # 1 and the RAID1 slave # 1 on the backup LU 51 side to the write back mode, the time required for copying data of a certain size can be shortened by a time T2 compared to the conventional case. .

[第1の変形例]
次に、上記第3の実施形態の第1の変形例について説明する。この第1の変形例では、マスタLU50のデータをバックアップLU51にバックアップ(コピー)する処理の期間にホスト30からデータの書き込み/読み出しが要求された場合に、その要求されたデータ書き込み/読み出しが実行されることを前提としている。第1の変形例の特徴は、この要求されたデータ書き込み/読み出しがマスタLU50(側のRAID1マスタ#0及びRAID1スレーブ#0)のみを対象に行われることに着目し、その期間もバックアップLU51側でのデータコピーのためのデータ書き込みが有効に行われるようにした点にある。
[First Modification]
Next, a first modification of the third embodiment will be described. In the first modification, when data write / read is requested from the host 30 during the process of backing up (copying) the data of the master LU 50 to the backup LU 51, the requested data write / read is executed. It is assumed that The feature of the first modification is that the requested data writing / reading is performed only for the master LU 50 (the RAID 1 master # 0 and the RAID 1 slave # 0), and the backup LU 51 side is also in this period. The point is that data writing for data copying is effectively performed.

以下、上記第3の実施形態の第1の変形例について図9及び図10を参照して説明する。図9はアレイコントローラ200のコピー制御部23によるコピー制御の手順を示すフローチャート、図10はアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ読み出し処理並びにRAID1マスタ#1及びRAID1スレーブ#1でのデータ書き込み処理と、ライト制御部21による制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ書き込み処理とを従来と対比して説明するためのタイミングチャートである。なお、図10の例では、ライト制御部21による制御に応じて実行されるRAID1スレーブ#0でのデータ書き込み処理は、RAID1マスタ#0でのデータ書き込み処理(従来のデータ書き込み処理)と同様にライトスルーモードで行われるものとする。   Hereinafter, a first modification of the third embodiment will be described with reference to FIGS. FIG. 9 is a flowchart showing a copy control procedure performed by the copy controller 23 of the array controller 200. FIG. 10 shows a RAID 1 master # 0 and a RAID 1 slave # 0 executed in accordance with the copy control performed by the copy controller 23 of the array controller 20. Data read processing, data write processing in RAID1 master # 1 and RAID1 slave # 1, and data write processing in RAID1 master # 0 and RAID1 slave # 0 executed according to control by the write control unit 21 are conventionally performed. It is a timing chart for comparing with and explaining. In the example of FIG. 10, the data writing process in RAID1 slave # 0 executed in accordance with the control by the write control unit 21 is the same as the data writing process (conventional data writing process) in RAID1 master # 0. It shall be done in write-through mode.

一般にアレイコントローラ20は、図6に示すようにキャッシュメモリ25を有している。ここでは、キャッシュメモリ25のサイズは、バックアップLU51(側のRAID1マスタ#1及びRAID1スレーブ#1)に1回のライト動作でデータを書き込むことができる最大のサイズ(1回のライトサイズ)より十分大きい(例えば2倍以上)ものとする。コピー制御部23は、マスタLU50側(のRAID1マスタ#0及びRAID1スレーブ#0)から読み出すデータ(バックアップLU51側にコピーすべきデータ)を、バックアップLU51側(のRAID1マスタ#1及びRAID1スレーブ#1)に書き込むデータのサイズ(1回のライトサイズ)より大きいサイズ(2倍以上のサイズ、例えば6倍のサイズ)でアレイコントローラ200内に読み込み、当該アレイコントローラ200内のキャッシュメモリ25に一時格納する(ステップS31)。キャッシュメモリ25には、例えば一定サイズのデータブロック毎に、当該ブロックのデータだけでなく、当該ブロックのデータの書き込み先を示すアドレスが格納される。   In general, the array controller 20 has a cache memory 25 as shown in FIG. Here, the size of the cache memory 25 is sufficiently larger than the maximum size (one write size) at which data can be written to the backup LU 51 (the RAID1 master # 1 and the RAID1 slave # 1) by one write operation. It is assumed to be large (for example, twice or more). The copy control unit 23 reads data (data to be copied to the backup LU 51 side) read from the master LU 50 side (the RAID 1 master # 0 and the RAID 1 slave # 0), and the backup LU 51 side (the RAID 1 master # 1 and the RAID 1 slave # 1). ) Is read into the array controller 200 with a size (two times or more, for example, six times the size) larger than the size of the data to be written to (one write size), and temporarily stored in the cache memory 25 in the array controller 200. (Step S31). In the cache memory 25, for example, for each data block of a certain size, not only the data of the block but also an address indicating the write destination of the data of the block is stored.

コピー制御部23は、キャッシュメモリ25に格納されたデータを、1回のライトサイズを単位に取り出して、バックアップLU51側(のRAID1マスタ#1及びRAID1スレーブ#1)に書き込む(ステップS32)。コピー制御部23は、このステップS32を、キャッシュメモリ25に格納されている全データについて繰り返す(ステップS33)。またコピー制御部23は、上記ステップS31を、マスタLU50からバックアップLU51にコピーすべき全データについて繰り返す(ステップS34)。   The copy control unit 23 takes out the data stored in the cache memory 25 in units of one write size and writes it to the backup LU 51 side (the RAID1 master # 1 and the RAID1 slave # 1) (step S32). The copy controller 23 repeats this step S32 for all data stored in the cache memory 25 (step S33). The copy controller 23 repeats step S31 for all data to be copied from the master LU 50 to the backup LU 51 (step S34).

このコピー制御部23の制御により、ホスト30から要求されたデータをマスタLU50側に書き込む(またはマスタLU50側から読み出す)期間を有効に利用できる。もし、マスタLU50からバックアップLU51にコピーすべきデータを1ライトサイズ単位でマスタLU50から読み出した場合、1ライトサイズのデータの読み出し処理と書き込み処理とは、図10(a)に示すようなタイミングで実行される。図10において右斜め上から左斜め下に向かう方向のハッチングが施された棒線の長さは、図3と同様にデータ処理時間を表す。また、左斜め上から右斜め下に向かう方向のハッチングが施された棒線の長さは、ヘッドシーク時間と回転待ち時間との和を表す。また、黒で塗りつぶされた棒線の長さは、データ転送時間を表す。   Under the control of the copy control unit 23, a period in which data requested by the host 30 is written to the master LU 50 (or read from the master LU 50) can be used effectively. If data to be copied from the master LU 50 to the backup LU 51 is read from the master LU 50 in units of one write size, the read processing and write processing of data of one write size are performed at the timing shown in FIG. Executed. In FIG. 10, the length of the bar line hatched in the direction from the upper right to the lower left represents the data processing time as in FIG. The length of the bar line hatched in the direction from the upper left to the lower right represents the sum of the head seek time and the rotation waiting time. The length of the bar line filled with black represents the data transfer time.

図10(a)の例では、マスタLU50側のRAID1マスタ#0及びRAID1スレーブ#0からのデータ読み出し処理が時刻t30で開始されて、それぞれ時刻t31及びt32(t31>t32)で完了した様子が示されている。この場合、マスタLU50全体では、当該マスタLU50からのデータ読み出し処理は時刻t32で完了したことになる。   In the example of FIG. 10A, the data read processing from the RAID1 master # 0 and the RAID1 slave # 0 on the master LU 50 side is started at time t30 and completed at times t31 and t32 (t31> t32), respectively. It is shown. In this case, in the entire master LU 50, the data read processing from the master LU 50 is completed at time t32.

すると、マスタLU50のRAID1マスタ#0及びRAID1スレーブ#0では図10(a)に示すように、それぞれ時刻t32及びt31から、ホスト30により要求されたデータを書き込む処理が開始される。このホスト30により要求されたデータをRAID1マスタ#0及びRAID1スレーブ#0に書き込む処理は、それぞれ時刻t34及びt33(時刻t34>t32)に完了する。この場合、マスタLU50からバックアップLU51にコピーすべき次の1ライトサイズのデータをRAID1マスタ#0及びRAID1スレーブ#0から読み出す処理が、それぞれ時刻t34及びt33から開始される。この処理は、マスタLU50全体では、図10(a)の場合、時刻t35に完了する。   Then, in the RAID 1 master # 0 and the RAID 1 slave # 0 of the master LU 50, as shown in FIG. 10A, the processing for writing the data requested by the host 30 is started from time t32 and t31, respectively. The process of writing the data requested by the host 30 to the RAID1 master # 0 and the RAID1 slave # 0 is completed at time t34 and t33 (time t34> t32), respectively. In this case, the process of reading the next write size data to be copied from the master LU 50 to the backup LU 51 from the RAID1 master # 0 and the RAID1 slave # 0 is started from time t34 and t33, respectively. This process is completed at time t35 in the case of FIG. 10A for the entire master LU 50.

一方、バックアップLU51のRAID1マスタ#1及びRAID1スレーブ#1では、RAID1マスタ#0及びRAID1スレーブ#0から読み出された1ライトサイズのデータを書き込む処理が、図10(a)に示すように時刻t32から開始される。この処理はライトバックモードで実行されることから、短時間で完了する、しかし、次の1ライトサイズのデータを書き込む処理は、時刻t35まで待たないと実行されない。   On the other hand, in the RAID1 master # 1 and the RAID1 slave # 1 of the backup LU 51, the process of writing the data of one write size read from the RAID1 master # 0 and the RAID1 slave # 0 is timed as shown in FIG. Starting from t32. Since this process is executed in the write-back mode, it is completed in a short time. However, the process for writing the next one-write-size data is not executed unless waiting until time t35.

これに対して第1の変形例では、マスタLU50からバックアップLU51にコピーすべきデータが、時刻t30から開始される読み出し処理で、1回のライトサイズより大きいサイズ(ここでは6倍のサイズ)でアレイコントローラ200のキャッシュメモリ25に読み込まれる。このため、キャッシュメモリ25に読み込まれたデータを、ホスト30から要求されたデータのマスタLU50への書き込み(またはマスタLU50からの読み出し)に必要な時間T11と、次にマスタLU50からバックアップLU51にコピーすべき、1回のライトサイズより大きいサイズのデータの読み出しに必要な期間T12とを利用して、図10(b)に示すように、時刻t37から1回のライトサイズ単位で、順次バックアップLU51に書き込むことが可能となる。ここで、マスタLU50からキャッシュメモリ25に読み込むデータのサイズを、当該データを1ライトサイズ単位に分割してバックアップLU51に書き込むのに要する時間Tが上記時間T11(=t39−t37)とT12(=t40−t39)との和を超えない最大の時間となるサイズとすると良い。   On the other hand, in the first modification, the data to be copied from the master LU 50 to the backup LU 51 is a size larger than one write size (here, 6 times the size) in the read process starting from time t30. The data is read into the cache memory 25 of the array controller 200. Therefore, the data read into the cache memory 25 is copied from the master LU 50 to the backup LU 51 after the time T11 required for writing the data requested from the host 30 to the master LU 50 (or reading from the master LU 50). As shown in FIG. 10B, using the period T12 necessary for reading data having a size larger than one write size to be performed, the backup LU 51 sequentially in units of one write size from time t37. Can be written to. Here, the time T required to divide the size of data read from the master LU 50 into the cache memory 25 and write the data to the backup LU 51 in units of one write size is the above-described times T11 (= t39-t37) and T12 (= The size may be a maximum time that does not exceed the sum of t40-t39).

[第2の変形例]
次に、上記第3の実施形態の第2の変形例について説明する。本実施形態において、アレイコントローラ200内のキャッシュメモリ25は、バックアップ用バッテリ26によってバックアップされる。但し、マスタLU50からキャッシュメモリ25に読み出されたバックアップLU51にコピーすべきデータは、次のデータのために速やかにクリアされることが好ましい。そこで、キャッシュメモリ25に読み出されたデータが全てバックアップLU51側のHDDのライトキャッシュメモリにライトバックモードで書き込まれた段階で、当該キャッシュメモリ25のデータをクリアすることが考えられる。しかし、キャッシュメモリ25のデータをクリアした後、バックアップLU51側のHDDのライトキャッシュメモリに書き込まれているデータが当該HDDのディスクに実際に書き込まれる前に電源遮断が発生すると、当該ライトキャッシュメモリのデータは消失するおそれがある。
[Second Modification]
Next, a second modification of the third embodiment will be described. In this embodiment, the cache memory 25 in the array controller 200 is backed up by a backup battery 26. However, the data to be copied to the backup LU 51 read from the master LU 50 to the cache memory 25 is preferably cleared quickly for the next data. Therefore, it is conceivable that the data in the cache memory 25 is cleared when all the data read into the cache memory 25 is written in the write back mode of the HDD on the backup LU 51 side in the write back mode. However, after the data in the cache memory 25 is cleared, if a power shutdown occurs before the data written in the write cache memory of the HDD on the backup LU 51 side is actually written in the disk of the HDD, the write cache memory Data may be lost.

このような不具合を防止するため、第3の実施形態の第2の変形例では、アレイコントローラ200のコピー制御部23によるコピー制御が、図11に示すフローチャートに従って実行される。この図11のフローチャートにおいて、図9のフローチャートと同様の部分には同一参照符号を付してある。   In order to prevent such a problem, in the second modification of the third embodiment, copy control by the copy control unit 23 of the array controller 200 is executed according to the flowchart shown in FIG. In the flowchart of FIG. 11, the same parts as those in the flowchart of FIG.

以下、アレイコントローラ200のコピー制御部23によるコピー制御について、図11を参照して、図9のフローチャートと相違する部分について説明する。コピー制御部23は、マスタLU50からアレイコントローラ200のキャッシュメモリ25に読み出された、1ライトサイズより大きいサイズのデータを全てバックアップLU51側のHDDのライトキャッシュメモリに書き込むと(ステップS33)、一定時間を待つ(ステップS33a)。この一定時間は、バックアップLU51側のHDDのライトキャッシュメモリにデータが書き込まれた後、当該データを当該HDDのディスクに実際に書き込むのに必要な時間に設定される。コピー制御部23は、上記一定時間が経過すると、アレイコントローラ20のキャッシュメモリ25に読み出されているデータをクリアする(ステップS33b)。その後、コピー制御部23はステップS34の判定を行う。   Hereinafter, copy control by the copy control unit 23 of the array controller 200 will be described with reference to FIG. When all the data having a size larger than one write size read from the master LU 50 to the cache memory 25 of the array controller 200 is written in the write cache memory of the HDD on the backup LU 51 side (step S33), the copy control unit 23 is constant. Wait for time (step S33a). This fixed time is set to a time required for actually writing the data to the disk of the HDD after the data is written to the write cache memory of the HDD on the backup LU 51 side. When the predetermined time elapses, the copy control unit 23 clears the data read to the cache memory 25 of the array controller 20 (step S33b). Thereafter, the copy control unit 23 performs the determination in step S34.

これにより第2の変形例においては、アレイコントローラ20のキャッシュメモリ25に読み出されているデータをクリアした後に、システムの電源遮断が発生しても、その時点には、キャッシュメモリ25から取り出されてバックアップLU51側の各HDDのライトキャッシュメモリに書き込まれれたデータは、当該HDDのディスクに実際に書き込まれている。したがって、データの保全性を確保しながら、アレイコントローラ20のキャッシュメモリ25を有効に利用できる。   As a result, in the second modification, even if the system power is cut off after the data read to the cache memory 25 of the array controller 20 is cleared, the data is taken out from the cache memory 25 at that time. Thus, the data written to the write cache memory of each HDD on the backup LU 51 side is actually written to the disk of the HDD. Therefore, the cache memory 25 of the array controller 20 can be used effectively while ensuring data integrity.

アレイコントローラ20のデータ復元部24は、コピー制御部23が上記一定時間を待っている期間にシステムの電源遮断が発生した場合、バックアップ用バッテリ26のバックアップによってキャッシュメモリ25に保持されているデータを、電源復旧後にバックアップLU51側の各HDDにライトスルーモードで書き込む。つまりデータ復元部24は、キャッシュメモリ25に保持されているデータを用いて、バックアップLU51のデータを復旧する。   The data restoration unit 24 of the array controller 20 stores the data held in the cache memory 25 by the backup of the backup battery 26 when the power supply of the system is interrupted while the copy control unit 23 waits for the predetermined time. Then, after power is restored, data is written to each HDD on the backup LU 51 side in the write-through mode. That is, the data restoration unit 24 restores the data of the backup LU 51 using the data held in the cache memory 25.

前記したようにキャッシュメモリ25には、データブロック毎に当該ブロックのデータの他に書き込み先を示すアドレスが格納される。しかし、キャッシュメモリ25に保持されているデータをバックアップLU51のHDDにライトバックモードで書き込んだ後は、アドレスに比較して大きなメモリサイズを必要とするデータを当該キャッシュメモリ25からクリアして、そのクリアされたキャッシュメモリ25の領域を速やかに開放するようにしても良い。ここでは、コピー制御部23が上記一定時間を待っている期間にシステムの電源遮断が発生した場合、データ復元部24は電源が復旧した後に、キャッシュメモリ25に保持されているアドレスに基づいて、マスタLU50及びバックアップLU51からデータを読み出す必要がある。そしてデータ復元部24は、両データを比較して両データが一致しているかを判定し、一致していない場合、マスタLU50側のデータでバックアップLU51側のデータを復元する。   As described above, the cache memory 25 stores an address indicating a write destination for each data block in addition to the data of the block. However, after the data held in the cache memory 25 is written to the HDD of the backup LU 51 in the write back mode, the data that requires a larger memory size than the address is cleared from the cache memory 25 and The cleared area of the cache memory 25 may be quickly released. Here, when the power supply of the system is interrupted while the copy control unit 23 is waiting for the predetermined time, the data restoration unit 24 is based on the address held in the cache memory 25 after the power is restored. It is necessary to read data from the master LU 50 and the backup LU 51. Then, the data restoration unit 24 compares the two data to determine whether the two data match, and when they do not match, restores the data on the backup LU 51 side with the data on the master LU 50 side.

なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態または変形例に亘る構成要素を適宜組み合せてもよい。   In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or the modification thereof. For example, you may delete a some component from all the components shown by embodiment or its modification. Furthermore, you may combine suitably the component covering different embodiment or a modification.

本発明の第1の実施形態に係るコンピュータシステムの構成を示すブロック図。1 is a block diagram showing a configuration of a computer system according to a first embodiment of the present invention. 同第1の実施形態におけるアレイコントローラ20のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート。7 is a flowchart showing a procedure for controlling the write cache memory by the WC control unit 22 of the array controller 20 in the first embodiment. 同第1の実施形態におけるアレイコントローラ20のライト制御部21による書き込み制御に応じて実行されるHDD#0乃至#3の動作を従来と対比して説明するためのタイミングチャート。6 is a timing chart for explaining the operation of HDDs # 0 to # 3 executed in accordance with the write control by the write control unit 21 of the array controller 20 in the first embodiment in comparison with the prior art. 本発明の第2の実施形態に係るコンピュータシステムの構成を示すブロック図。The block diagram which shows the structure of the computer system which concerns on the 2nd Embodiment of this invention. 同第2の実施形態におけるデータ書き込み時のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート。14 is a flowchart showing a procedure for controlling the write cache memory by the WC control unit 22 when writing data in the second embodiment. 本発明の第3の実施形態に係るコンピュータシステムの構成を示すブロック図。The block diagram which shows the structure of the computer system which concerns on the 3rd Embodiment of this invention. 同第3の実施形態におけるアレイコントローラ200のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート。14 is a flowchart showing a procedure for controlling the write cache memory by the WC control unit 22 of the array controller 200 according to the third embodiment. 同第3の実施形態におけるアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0並びにRAID1マスタ#1及びRAID1スレーブ#1の動作を従来と対比して説明するためのタイミングチャート。The operations of RAID1 master # 0 and RAID1 slave # 0 and RAID1 master # 1 and RAID1 slave # 1 executed in accordance with the copy control by the copy control unit 23 of the array controller 20 in the third embodiment are compared with the conventional one. The timing chart for explaining. 同第3の実施形態の第1の変形例におけるアレイコントローラ200のコピー制御部23によるコピー制御の手順を示すフローチャート。14 is a flowchart showing a copy control procedure by the copy control unit 23 of the array controller 200 in the first modification of the third embodiment. 同第3の実施形態の第1の変形例におけるアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ読み出し処理並びにRAID1マスタ#1及びRAID1スレーブ#1でのデータ書き込み処理と、ライト制御部21による制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ書き込み処理とを従来と対比して説明するためのタイミングチャートThe data read processing in RAID1 master # 0 and RAID1 slave # 0 executed according to the copy control by the copy control unit 23 of the array controller 20 in the first modification of the third embodiment, and the RAID1 master # 1 and Timing chart for explaining the data writing process in RAID1 slave # 1 and the data writing process in RAID1 master # 0 and RAID1 slave # 0 executed in accordance with the control by the write control unit 21 同第3の実施形態の第2の変形例におけるアレイコントローラ200のコピー制御部23によるコピー制御の手順を示すフローチャート。14 is a flowchart showing a copy control procedure by the copy control unit 23 of the array controller 200 in the second modification of the third embodiment.

符号の説明Explanation of symbols

10,40…ディスクアレイ、 11M,500,510…RAID1マスタ、 11S,501,511…RAID1スレーブ、20,200…アレイコントローラ、21…ライト制御部、22…WC制御部(ライトキャッシュ制御部)、23…コピー制御部、24…データ復元部、25…キャッシュメモリ、26…バックアップ用バッテリ、50…マスタLU(マスタ論理ユニット、マスタ側ディスクアレイ)、51…バックアップLU(バックアップ論理ユニット、バックアップ側ディスクアレイ)、41a,42a,43a,110a,111a,112a,113a…ライトキャッシュメモリ(WC)、41,42,43,110,111,112,113…HDD(磁気ディスクドライブ)   10, 40 ... disk array, 11M, 500, 510 ... RAID 1 master, 11S, 501, 511 ... RAID 1 slave, 20, 200 ... array controller, 21 ... write control unit, 22 ... WC control unit (write cache control unit), 23 ... Copy control unit, 24 ... Data restoration unit, 25 ... Cache memory, 26 ... Backup battery, 50 ... Master LU (master logical unit, master side disk array), 51 ... Backup LU (backup logical unit, backup side disk) Array), 41a, 42a, 43a, 110a, 111a, 112a, 113a ... write cache memory (WC), 41, 42, 43, 110, 111, 112, 113 ... HDD (magnetic disk drive)

Claims (9)

ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラにおいて、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うライト制御手段と、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するライトキャッシュ制御手段と
を具備することを特徴とするアレイコントローラ。
In an array controller for controlling at least one disk array having redundancy composed of a plurality of disk drives having a write cache memory for temporarily storing write data to be written to a disk medium,
Write control means for performing control to distribute and write data and redundant data of the data to the plurality of disk drives of the disk array;
Write cache control means for setting a write back mode to complete writing to the write cache memory only when the redundant data is written in the plurality of disk drives when the data is written to the write cache memory; An array controller comprising:
前記少なくとも1つのディスクアレイをホストからの書き込み要求で要求されたデータ及び当該データの冗長データが書き込まれるマスタ側ディスクアレイとして、当該マスタ側ディスクアレイのデータを読み出して、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つバックアップ側ディスクアレイにコピーするための制御を行うコピー制御手段を更に具備し、
前記ライトキャッシュ制御手段は、前記バックアップ側ディスクアレイの前記複数のディスクドライブの全てを前記ライトバックモードに設定する
ことを特徴とする請求項1記載のアレイコントローラ。
As the master side disk array in which the data requested by the write request from the host and the redundant data of the data is written to the at least one disk array, the data of the master side disk array is read out and a plurality of write cache memories are provided. Further comprising copy control means for performing control for copying to a backup side disk array having redundancy composed of disk drives,
The array controller according to claim 1, wherein the write cache control unit sets all of the plurality of disk drives of the backup-side disk array to the write-back mode.
前記コピー制御手段によって前記マスタ側ディスクアレイから読み出されたデータを一時格納するためのキャッシュメモリを更に具備し、
前記コピー制御手段は、前記バックアップ側ディスクアレイに1回で書き込むことができるデータの最大サイズである1ライトサイズよりも大きいサイズで前記マスタ側ディスクアレイのデータを前記キャッシュメモリに読み込み、当該キャッシュメモリに読み込まれたデータを複数回に分けて前記バックアップ側ディスクアレイにコピーする
ことを特徴とする請求項2記載のアレイコントローラ。
A cache memory for temporarily storing data read from the master disk array by the copy control means;
The copy control means reads the data of the master side disk array into the cache memory with a size larger than one write size that is the maximum size of data that can be written to the backup side disk array at one time, and the cache memory The array controller according to claim 2, wherein the data read in is copied into the backup-side disk array in a plurality of times.
前記キャッシュメモリは電源の遮断時に当該メモリに格納されているデータが消失しないように構成されており、
前記コピー制御手段は、前記マスタ側ディスクアレイから前記キャッシュメモリに読み込まれたデータを、当該データが前記バックアップ側ディスクアレイの前記複数のディスクドライブの前記ライトキャッシュメモリから当該ディスクドライブのディスク媒体に実際に書き込まれると予測される時間を待ってクリアする
ことを特徴とする請求項3記載のアレイコントローラ。
The cache memory is configured so that data stored in the memory is not lost when the power is turned off.
The copy control means actually reads the data read from the master side disk array into the cache memory from the write cache memory of the plurality of disk drives of the backup side disk array to the disk medium of the disk drive. The array controller according to claim 3, wherein the array controller clears after waiting for a time predicted to be written to.
前記コピー制御手段が前記時間を待っている期間に電源遮断が発生し、その後電源が復旧した場合、前記キャッシュメモリを利用して、前記バックアップ側ディスクアレイの前記複数のディスクドライブのデータを復元させるデータ復元手段を更に具備することを特徴とする請求項4記載のアレイコントローラ。   When the power cut occurs during the period when the copy control unit waits for the time, and then the power is restored, the cache memory is used to restore the data of the plurality of disk drives in the backup disk array 5. The array controller according to claim 4, further comprising data restoration means. 前記キャッシュメモリは電源の遮断時に当該メモリに格納されているデータが消失しないように構成されており、
前記コピー制御手段は、前記マスタ側ディスクアレイから読み出されたデータと当該データのアドレスとを、一定サイズのデータブロック単位に前記キャッシュメモリに格納し、前記キャッシュメモリに格納されたデータを前記バックアップ側ディスクアレイの前記複数のディスクドライブに前記ライトバックモードで書き込んだ後に当該データを前記キャッシュメモリからクリアし、当該データのアドレスのみ前記予測される時間を待ってクリアする
ことを特徴とする請求項3記載のアレイコントローラ。
The cache memory is configured so that data stored in the memory is not lost when the power is turned off.
The copy control means stores the data read from the master side disk array and the address of the data in the cache memory in units of a fixed size data block, and the data stored in the cache memory is stored in the backup memory. The data is cleared from the cache memory after writing to the plurality of disk drives of the side disk array in the write back mode, and only the address of the data is cleared after waiting for the predicted time. 3. The array controller according to 3.
前記コピー制御手段が前記時間を待っている期間に電源遮断が発生し、その後電源が復旧した場合、前記キャッシュメモリに格納されているアドレスを利用して前記マスタ側ディスクアレイ及び前記バックアップ側ディスクアレイからデータを読み出して比較し、両データが一致していない場合、前記マスタ側ディスクアレイから読み出されたデータで前記バックアップ側ディスクアレイのデータを復元するデータ復元手段を更に具備することを特徴とする請求項6記載のアレイコントローラ。   When the power cut occurs during the period when the copy control unit waits for the time, and the power is restored after that, the master side disk array and the backup side disk array are stored using the addresses stored in the cache memory. The data is read from the data and compared, and when the two data do not match, the data further comprises data restoration means for restoring the data on the backup side disk array with the data read from the master side disk array. The array controller according to claim 6. ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するディスクアレイ制御方法において、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うステップと、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するステップと
を具備することを特徴とするディスクアレイ制御方法。
In a disk array control method for controlling at least one disk array having redundancy composed of a plurality of disk drives having a write cache memory for temporarily storing write data to be written to a disk medium,
Performing control to distribute and write data and redundant data of the data to the plurality of disk drives of the disk array;
Setting only a disk drive to which the redundant data is written among the plurality of disk drives to a write-back mode for completing writing to the drive when data is written to the write cache memory. And a disk array control method.
ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラに実行させるためのプログラムであって、
前記アレイコントローラに、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うステップと、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するステップと
を実行させるためのプログラム。
A program for causing an array controller that controls at least one disk array having redundancy to be configured of a plurality of disk drives having a write cache memory for temporarily storing write data to be written to a disk medium,
In the array controller,
Performing control to distribute and write data and redundant data of the data to the plurality of disk drives of the disk array;
Only the disk drive to which the redundant data is written out of the plurality of disk drives is set to a write back mode for completing the writing to the drive when the data is written to the write cache memory. Program for.
JP2005091999A 2005-03-28 2005-03-28 Array controller, disk array control method, and program Pending JP2006277042A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005091999A JP2006277042A (en) 2005-03-28 2005-03-28 Array controller, disk array control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005091999A JP2006277042A (en) 2005-03-28 2005-03-28 Array controller, disk array control method, and program

Publications (1)

Publication Number Publication Date
JP2006277042A true JP2006277042A (en) 2006-10-12

Family

ID=37211778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005091999A Pending JP2006277042A (en) 2005-03-28 2005-03-28 Array controller, disk array control method, and program

Country Status (1)

Country Link
JP (1) JP2006277042A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161112A (en) * 2012-02-01 2013-08-19 Nec Corp Information processor, controller, and information processing method
US9189350B2 (en) 2012-01-06 2015-11-17 Nec Corporation Disk array control apparatus, disk array apparatus, and disk array control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189350B2 (en) 2012-01-06 2015-11-17 Nec Corporation Disk array control apparatus, disk array apparatus, and disk array control method
JP2013161112A (en) * 2012-02-01 2013-08-19 Nec Corp Information processor, controller, and information processing method

Similar Documents

Publication Publication Date Title
US7441081B2 (en) Write-back caching for disk drives
JP3316500B2 (en) Increase the number of drives in a RAID set while maintaining the integrity of the moved data
JP4486348B2 (en) Disk array that suppresses drive operating time
US7721143B2 (en) Method for reducing rebuild time on a RAID device
JP5353887B2 (en) Disk array device control unit, data transfer device, and power recovery processing method
JP4930555B2 (en) Control device, control method, and storage system
JP5409159B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2009075759A (en) Storage device, and method for managing data in storage device
JP2006268503A (en) Computer system, disk unit and data update control method
JP2004213064A (en) Raid device and logic device expansion method therefor
JP2001166993A (en) Memory control unit and method for controlling cache memory
JP2010211734A (en) Storage device using nonvolatile memory
JP2002259062A (en) Storage device system and data copying method for data for the same
JP2007087263A (en) Dump method in computer system having mirror memory configuration, dump control mechanism, and dump program
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
JP2000357059A (en) Disk array device
JP2006099802A (en) Storage controller, and control method for cache memory
JP2004213470A (en) Disk array device, and data writing method for disk array device
JP2002099390A (en) Disk controller
JP4398596B2 (en) Disk array device
JP2006277042A (en) Array controller, disk array control method, and program
JP2005107839A (en) Array controller and disk array rebuilding method
JP2005107675A (en) Disk array controller and method for duplicating disk drive
JP2009252001A (en) Raid system, and method for restoring error sector
JP2007310548A (en) Disk array device and data management method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909