JPH11327794A - Data migration method for raid data storage system - Google Patents

Data migration method for raid data storage system

Info

Publication number
JPH11327794A
JPH11327794A JP11051763A JP5176399A JPH11327794A JP H11327794 A JPH11327794 A JP H11327794A JP 11051763 A JP11051763 A JP 11051763A JP 5176399 A JP5176399 A JP 5176399A JP H11327794 A JPH11327794 A JP H11327794A
Authority
JP
Japan
Prior art keywords
reconfiguration
configuration
capacity
disk array
migration
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
JP11051763A
Other languages
Japanese (ja)
Inventor
Edward Smith Gerald
エドワード スミス ジェラルド
Wayne Wayner Adam
ウェイン ウェイナー アダム
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.)
Sony Group Corp
Original Assignee
Aiwa Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aiwa Co Ltd filed Critical Aiwa Co Ltd
Publication of JPH11327794A publication Critical patent/JPH11327794A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To protect data during period of intentional and unintentional stop of system operation. SOLUTION: In this system 100, a migration method to be executed by an array controller 106 is started by selecting the direction of migration, the migration in an descending order is used for every migration to cause reduction of storage capacity and in all other cases, the migration in an ascending order is used. In the migration method, stripes are repeatedly transferred from source structure to destination. Whether an overlapped part exists between the strip to be read and the strip to be written or not is confirmed as a part of each transfer and when the overlapped part is detected, the strip to be overlapped first is transferred to a secured area by the array controller 106. During the migration method, information is held in a non-volatile memory 112 and the migration method is restarted after the intentional or unintentional stop of the system operation by the information by the array controller 106.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は一般的に大容量記憶
装置に関する。特に、本発明はディスクアレイ再構成中
のデータマイグレーション方法を含んでいる。
[0001] The present invention relates generally to mass storage devices. In particular, the present invention includes a method for data migration during disk array reconfiguration.

【0002】[0002]

【従来の技術】ディスクアレイは2つ以上の独立ディス
クを1つの論理記憶装置へ結合するデータ記憶装置であ
る。一般に従来の装置に較べて、ディスクアレイにより
性能、容量、フォールトトレランスが向上される。ディ
スクアレイは、RAIDコンセプトが利用され、RAI
Dは元々1987年にカリフォルニア州、バークレイの
カルフォルニア大学で出版されたパターソン、ギブソ
ン、およびカズの論文“低廉なディスクの冗長アレイ、
すなわちRAID、のケース”に記載された造語であ
る。この論文で、著者はRAIDレベル1−5として知
られるディスクアレイ型の分類法について記載してい
る。その後、RAID分類法はRAIDレベル0等を含
むように拡張されている。
2. Description of the Related Art A disk array is a data storage device that combines two or more independent disks into one logical storage device. In general, performance, capacity, and fault tolerance are improved with disk arrays as compared to conventional devices. The disk array uses the RAID concept and
D. originally published in 1987 at the University of California, Berkeley, California by Patterson, Gibson, and Kaz, "Redundant Arrays of Inexpensive Disks,
In this paper, the author describes a disk array type classification method known as RAID level 1-5. Thereafter, the RAID classification method is RAID level 0, etc. Has been extended to include

【0003】RAIDレベル0に対しては、データは
“ストリップ”(小さなデータの1単位)として知られ
るブロックへ分割されてシステムのディスク上へ“スト
ライプ”(1以上のストリップの集合)として広められ
る。例えば、1kバイトストリップサイズを有する4デ
ィスクより成るRAIDレベル0のシステムでは、デー
タの各4kバイトストライプが4つの1kバイトストリ
ップとして、4つのディスクの各々に1つづつ、書き込
まれる。データが3kバイトの場合は、4つのドライブ
の中の3つのドライブの間で分割される3つの1kバイ
トストリップとして書き込まれる。RAIDレベル0に
より性能および容量は向上されるが、フォールトトレラ
ンスは全く提供されない。
[0003] For RAID level 0, the data is divided into blocks known as "strips" (a unit of small data) and spread on a system disk as "stripes" (collections of one or more strips). . For example, in a RAID level 0 system consisting of four disks having a 1 kbyte strip size, each 4 kbyte stripe of data is written as four 1 kbyte strips, one on each of the four disks. If the data is 3 kbytes, it is written as three 1 kbyte strips split between three of the four drives. RAID level 0 improves performance and capacity, but does not provide any fault tolerance.

【0004】RAIDレベル1のシステムでは、各ディ
スクは第2のディスクと対とされる。ディスク対の動作
は各ドライブがその対のミラーイメージとなるように調
整され、いずれかのディスクが故障すると、残りのディ
スクによりデータは消失しないことが保証される。この
ようにして、RAIDレベル1により独立ディスクには
ないある程度のフォールトトレランスが提供される。
In a RAID level 1 system, each disk is paired with a second disk. The operation of the disk pair is coordinated so that each drive is a mirror image of the pair, and if any disk fails, it is guaranteed that no data will be lost by the remaining disks. In this way, RAID level 1 provides some degree of fault tolerance not found on independent disks.

【0005】RAIDレベル0のシステムと同様に、R
AIDレベル3のシステムは2つ以上のディスクにわた
ってデータをビットあるいはバイト単位でストライプす
る。RAIDレベル3のシステムは独立したパリティデ
ィスクを有している。パリティディスク上に格納される
各ビットは残りのデータドライブ上の同じ位置に格納さ
れるビットのパリティである。したがって、パリティド
ライブに格納される第n番ビットは残りの各ドライブ上
に格納される第n番ビットのパリティビットである。一
般的に、パリティビットは排他的OR演算を実施して形
成される。したがって、パリティディスク上に格納され
る第n番ビットは残りのディスク上に格納される第n番
ビットの排他的ORとして形成される。パリティドライ
ブを使用することによりある程度のフォールトトレラン
スがRAIDレベル3に提供される。これらのシステム
では、任意の1つのドライブ(パリティドライブを含
む)が故障した場合、残りのドライブを使用して故障し
たドライブ内に格納されたデータを再構成すなわち補間
することができる。
As in the RAID level 0 system, R
An AID level 3 system stripes data across two or more disks in bits or bytes. RAID level 3 systems have independent parity disks. Each bit stored on the parity disk is the parity of the bit stored at the same location on the remaining data drives. Therefore, the nth bit stored in the parity drive is the nth parity bit stored in each of the remaining drives. Generally, the parity bits are formed by performing an exclusive OR operation. Therefore, the nth bit stored on the parity disk is formed as an exclusive OR of the nth bit stored on the remaining disks. Some level of fault tolerance is provided for RAID level 3 by using a parity drive. In these systems, if any one drive (including the parity drive) fails, the remaining drives can be used to reconstruct or interpolate the data stored in the failed drive.

【0006】RAIDレベル5のシステムはRAIDレ
ベル0のストリップ−バイ−ストリップベースを使用し
てデータをストライプする。RAIDレベル5システム
はまたパリティビットを格納してフォールトトレランス
を高める。しかしながら、RAIDレベル3とは異な
り、RAIDレベル5システムは独立したパリティディ
スクを有していない。替わりに、RAIDレベル5では
パリティビットはシステム内に含まれる全てのディスク
にわたって回転して格納される。例えば、3ディスクか
ら成るRAIDレベル5のシステムでは、データの第1
ストライプに対するパリティビットは第1のドライブ上
に格納することができる。次に、データの次のストライ
プに対するパリティビットが第2のドライブ上に格納さ
れる。次に、データの第3のストライプに対するパリテ
ィビットが第3のドライブ上に格納され、以下同様とさ
れる。RAIDレベル5のシステムによりRAIDレベ
ル3のシステムと同程度のフォールトトレランスが提供
される。しかしながら、使用上RAIDレベル5のシス
テムにより高性能が提供される場合が多い。
A RAID level 5 system stripes data using a RAID level 0 strip-by-strip base. RAID level 5 systems also store parity bits to increase fault tolerance. However, unlike RAID level 3, RAID level 5 systems do not have independent parity disks. Instead, at RAID level 5, the parity bits are stored rotating across all disks included in the system. For example, in a RAID level 5 system consisting of three disks, the first data
Parity bits for the stripe can be stored on the first drive. Next, the parity bit for the next stripe of data is stored on the second drive. Next, the parity bit for the third stripe of data is stored on the third drive, and so on. RAID level 5 systems provide the same degree of fault tolerance as RAID level 3 systems. However, RAID level 5 systems often provide higher performance in use.

【0007】RAIDレベル10のシステムはRAID
レベル0とRAIDレベル1のシステムから移行した技
術の組み合わせである。これらののシステムはRAID
レベル0のシステムと同様に一連のデータにわたってデ
ータをストライプする。これらのディスクは1次ディス
クとして知られている。さらに、RAID10のシステ
ムは各1次ディスクに対するミラーディスクを有する。
RAIDレベル10システムはRAIDレベル0のシス
テムの高速アクセスおよびRAIDレベル1のシステム
のフォールトトレランスを提供する。
[0007] RAID level 10 systems are RAID
This is a combination of technologies migrated from level 0 and RAID level 1 systems. These systems are RAID
Data is striped over a series of data as in level 0 systems. These disks are known as primary disks. Further, the RAID 10 system has a mirror disk for each primary disk.
RAID level 10 systems provide fast access for RAID level 0 systems and fault tolerance for RAID level 1 systems.

【0008】再構成はRAIDシステムの動作において
よく生じる。例えば、RAIDシステムはディスクを加
減することにより記憶容量を増減するように再構成する
ことができる。また、RAIDシステムはRAIDレベ
ルを変えることによりフォールトトレランス、性能およ
び記憶容量を変えるように再構成することもできる。ま
た、RAIDシステムはストリッピングを実施するのに
使用するストリップサイズ等の他のパラメータを変える
ことにより性能を調整するように再構成することができ
る。
[0008] Reconfiguration often occurs in the operation of a RAID system. For example, a RAID system can be reconfigured to increase or decrease storage capacity by adding or subtracting disks. RAID systems can also be reconfigured to change RAID levels to change fault tolerance, performance, and storage capacity. Also, the RAID system can be reconfigured to adjust performance by changing other parameters such as the strip size used to perform stripping.

【0009】一般的に、RAIDシステムを再構成する
には旧いシステムから新しいシステムへデータを移す必
要がある。多くの場合、このデータの移動はテープドラ
イブもしくは他のバックアップドライブを使用してデー
タのバックアップコピーを作ることにより実施される。
次に、ドライブを加減するかあるいは他のパラメータを
変えることによりRAIDシステムが再構成される。次
に、テープドライブもしくは他のバックアップデバイス
を使用してデータが回復される。
Generally, reconfiguring a RAID system requires transferring data from an old system to a new system. In many cases, this data movement is performed by making a backup copy of the data using a tape drive or other backup drive.
The RAID system is then reconfigured by adding or subtracting drives or changing other parameters. Next, the data is recovered using a tape drive or other backup device.

【0010】データを移すためのバックアップおよびリ
ストア方法にはいくつかの欠点がある。その中で主な欠
点は操作が完了するまで関連するRAIDシステムを利
用できないという事である。多くの場合、関連するRA
IDを所要期間中遊ばせておくことは実用的でなく不可
能である。また、バックアップおよび回復操作ではオペ
レータがいくつかの手動ステップを実施する必要があ
る。これらの各ステップはエラーを生じ易く重要なデー
タが破壊される確率が高くなる。
[0010] Backup and restore methods for transferring data have several disadvantages. The main disadvantage among them is that the associated RAID system is not available until the operation is completed. Often the associated RA
Leaving the ID idle for the required period is impractical and impossible. Also, backup and recovery operations require the operator to perform some manual steps. Each of these steps is prone to error and increases the probability that important data will be destroyed.

【0011】データマイグレーション(再構成)すなわ
ちRAIDシステムの構成方法の変更におけるデータ移
転はデータ移動のバックアップおよび回復方法に替わる
ものである。基本的に、データマイグレーションでは各
データをその再構成前位置からその再構成後位置へコピ
ーし、データマイグレーション中に、RAIDシステム
へのアクセスを維持することができる。このようにし
て、データ移動のバックアップおよび回復方法の重大な
制約条件が回避される。残念ながら、データマイグレー
ションには非常に多数の個別のディスク操作が必要であ
り、したがって、非常に時間を消費する場合が多い。こ
の時間中に、RAIDシステムへのアクセスは劇的に遅
くなってしまうことがあり、したがって、データマイグ
レーションでさえも不便で非実用的となってしまうこと
がある。その結果、RAIDシステムの再構成を早める
システムが必要とされている。
[0011] Data migration (reconfiguration), ie, data transfer in changing the configuration of a RAID system, replaces backup and recovery methods for data movement. Basically, data migration copies each data from its pre-reconstruction location to its post-reconstruction location, and can maintain access to the RAID system during data migration. In this way, significant constraints of the data movement backup and recovery method are avoided. Unfortunately, data migration requires a large number of individual disk operations and is therefore often very time consuming. During this time, access to the RAID system can be dramatically slowed, and thus even data migration can be inconvenient and impractical. As a result, there is a need for a system that hasten the reconfiguration of a RAID system.

【0012】[0012]

【発明が解決しようとする課題】データマイグレーショ
ンの本質は、データマイグレーション中に、RAIDシ
ステムの混合した構成により特徴づけられることを意味
する。混合した構成では、マイグレートしたデータはそ
の再構成後位置に配置される。しかしながら、これから
マイグレートされるデータはまだその再構成前位置に配
置されている。この時間中に、RAIDシステムは運転
停止できないことがある。さらに悪いことに、停電その
他の予期せぬ原因により運転停止が生じると、RAID
システムは不確実な一部マイグレート状態のままとされ
てしまうことがある。その結果重要なデータが消失され
ることがある。したがって、意図的および非意図的なシ
ステム運転停止期間中にデータを保護するマイグレーシ
ョン方法が必要性とされている。
The nature of data migration means that during data migration, it is characterized by a mixed configuration of RAID systems. In a mixed configuration, the migrated data is located at its post-reconstruction location. However, the data to be migrated is still located at its pre-reconstructed position. During this time, the RAID system may not be able to shut down. To make matters worse, a power outage or other unexpected cause of a
The system may be left in an uncertain, partially migrated state. As a result, important data may be lost. Therefore, a need exists for a migration method that protects data during periods of intentional and unintentional system outages.

【0013】[0013]

【課題を解決するための手段】本発明の実施例にはディ
スクアレイを再構成するためのデータマイグレーション
方法が含まれる。本発明の好ましい環境は再構成可能な
RAIDシステムであり、RAIDシステムでは複数の
データディスクを有し、場合によりミラーディスクや、
パリティディスクを有する。ディスクアレイはアレイコ
ントローラの制御下で作動する。アレイコントローラは
RAIDシステムとそれが接続される任意のホストコン
ピュータ間のインターフェイスとして機能する。アレイ
コントローラはプロセッサおよびメモリシステムを有す
る。メモリシステムは意図的および非意図的な運転停止
中に有効なままとされる非揮発性RAM(NVRAM)
のエリアを含んでいる。
SUMMARY OF THE INVENTION Embodiments of the present invention include a data migration method for reconfiguring a disk array. The preferred environment of the present invention is a reconfigurable RAID system, where the RAID system has multiple data disks, optionally mirror disks,
Has a parity disk. The disk array operates under the control of the array controller. The array controller functions as an interface between the RAID system and any host computer to which it is connected. The array controller has a processor and a memory system. Memory system is non-volatile RAM (NVRAM) that remains enabled during intentional and unintentional shutdowns
Area.

【0014】RAIDシステム内のデータ記憶装置はデ
ィスクアレイ内に含まれるデータおよびパリティディス
ク数、RAIDレベル、ストリップサイズおよびストラ
イプサイズを含む再構成可能なパラメータにより特徴づ
けられる。本発明の方法によりRAIDシステムはマイ
グレーションを行なう前の(ソース)構成からデスティ
ネーション構成へ移行することができる。ソース構成か
らマイグレーションを行なった後の(デスティネーショ
ン)構成への移行はRAIDレベル、ディスクアレイ内
に含まれるデータおよびパリティディスク数の変化やス
トリップサイズおよびストライプサイズ等のパラメータ
の変化を含むことができる。また、1つ以上のディスク
から1つ以上の置換ディスクへデータを移すように再構
成を実施することもできる。好ましくは、本方法はアレ
イコントローラのメモリシステム内に格納されたプログ
ラムとして実現してアレイコントローラプロセッサによ
り実行される。
The data storage in a RAID system is characterized by reconfigurable parameters, including the number of data and parity disks contained in the disk array, RAID level, strip size and stripe size. According to the method of the present invention, the RAID system can transition from the (source) configuration before the migration to the destination configuration. The transition from the source configuration to the (destination) configuration after the migration can include a change in RAID level, the number of data and parity disks included in the disk array, and a change in parameters such as strip size and stripe size. . Reconstruction can also be performed to transfer data from one or more disks to one or more replacement disks. Preferably, the method is implemented as a program stored in the memory system of the array controller and executed by the array controller processor.

【0015】本発明の方法に対して、アレイコントロー
ラは再構成によりRAIDシステムの容量が減少するか
どうかを最初に確認する。容量減少を伴う再構成に対し
て、マイグレーションはRAIDシステム内に含まれる
最高論理ブロックアドレス(LBA)で開始して下向き
に作用するように構成される(下降順マイグレーショ
ン)。他の全ての再構成に対して、マイグレーションは
RAIDシステム内に含まれる最低論理ブロックアドレ
スで開始して上向きに作用するように構成される(上昇
順マイグレーション)。
For the method of the present invention, the array controller first determines whether the reconfiguration will reduce the capacity of the RAID system. For reconfigurations with reduced capacity, migration is configured to work downward starting with the highest logical block address (LBA) contained in the RAID system (descending migration). For all other reconstructions, the migration is configured to work upward starting with the lowest logical block address contained in the RAID system (ascending migration).

【0016】マイグレーションの順序が選択されると、
アレイコントローラはマイグレーションを実施するのに
使用される転送サイズを計算する。転送サイズはソース
構成内のストライプ数とデスティネーション構成内のス
トライプ数を2つの数により表されるデータ量が等しく
なるように選択して計算される。例として、4kバイト
ストリップサイズでRAIDレベル3の3ディスクシス
テムが4kバイトストリップサイズでRAIDレベル3
の4ディスクシステムとして再構成されるケースについ
て考える。この場合、ソース構成内の3つのストライプ
はデスティネーション構成内の2つのストライプと同じ
データ量を表す。したがって、24kバイトの転送サイ
ズは適切な転送サイズである。必要ではないが、好まし
くは転送サイズはソースストライプ数およびデスティネ
ーションストライプ数が最小公分母関係となるように計
算される。
When the order of migration is selected,
The array controller calculates the transfer size used to perform the migration. The transfer size is calculated by selecting the number of stripes in the source configuration and the number of stripes in the destination configuration so that the data amount represented by the two numbers is equal. As an example, a RAID level 3 disk system with a 4 Kbyte strip size is RAID level 3 with a 4 Kbyte strip size.
Consider the case of reconfiguring as a 4-disk system. In this case, three stripes in the source configuration represent the same amount of data as two stripes in the destination configuration. Therefore, a transfer size of 24 kbytes is an appropriate transfer size. Although not required, the transfer size is preferably calculated such that the number of source stripes and the number of destination stripes have a least common denominator relationship.

【0017】転送サイズの計算後、アレイコントローラ
はソース構成からデスティネーション構成へ繰り返しス
トライプを転送する。各転送では、計算された転送サイ
ズに等しいいくつかのストライプを含んでいる。各転送
の一部として、アレイコントローラはソース構成から読
み出されるストライプとデスティネーション構成へ書き
込まれるストライプとの間に重複部分があるかかどうか
を確認する。特に、アレイコントローラは転送される任
意のストライプが読み出されかつ書き込まれるかどうか
を確認する。重複部分がなければ、アレイコントローラ
は各ストライプをソース構成内のその位置からデスティ
ネーション構成内のその対応する位置へ転送する。
After calculating the transfer size, the array controller repeatedly transfers stripes from the source configuration to the destination configuration. Each transfer contains several stripes equal to the calculated transfer size. As part of each transfer, the array controller determines if there is an overlap between the stripe read from the source configuration and the stripe written to the destination configuration. In particular, the array controller checks whether any stripes to be transferred are read and written. If there are no overlaps, the array controller transfers each stripe from its location in the source configuration to its corresponding location in the destination configuration.

【0018】別の場合(すなわち、重複部分がある場
合)、アレイコントローラは最初に重複する各ストリッ
プをディスクアレイ内の確保したエリアへコピーする。
このバックアップ操作を実施した後で、アレイコントロ
ーラは各ストリップをデスティネーション構成内のその
対応する位置へコピーする。マイグレーション操作が中
断されると、重複するストリップを確保したエリアから
安全に回復することができる。次に、アレイコントロー
ラはソース構成内に含まれる全てのストライプがデステ
ィネーション構成へ転送されるまでステップのシーケン
スを繰り返す。
In another case (ie, if there is an overlap), the array controller first copies each overlapping strip to a reserved area in the disk array.
After performing this backup operation, the array controller copies each strip to its corresponding location in the destination configuration. When the migration operation is interrupted, it is possible to safely recover from the area where the overlapping strips are secured. Next, the array controller repeats the sequence of steps until all stripes included in the source configuration have been transferred to the destination configuration.

【0019】アレイコントローラはマイグレーション方
法の各ステップ中にNVRAMを更新する。特に、アレ
イコントローラはNVRAM内のマイグレーションポイ
ンターを維持する。マイグレーションポインターはソー
ス構成からデスティネーション構成へマイグレートされ
ている最終論理ブロックアドレスを示す。また、NVR
AMは確保したエリアへ転送されている重複しているス
トリップのアイデンティティおよび位置を記述するデー
タも含んでいる。NVRAM内にアレイコントローラに
より維持される情報により、意図的もしくは非意図的な
システムの運転停止時にマイグレーション方法を再開す
ることができる。
The array controller updates the NVRAM during each step of the migration method. In particular, the array controller maintains a migration pointer in NVRAM. The migration pointer indicates the last logical block address that has been migrated from the source configuration to the destination configuration. Also, NVR
The AM also contains data describing the identity and location of the duplicate strip being transferred to the reserved area. The information maintained by the array controller in NVRAM allows the migration method to be restarted upon intentional or unintentional shutdown of the system.

【0020】[0020]

【発明の実施の形態】次に、本発明の好ましい実施例を
詳細に参照し、その例を添付図に示す。図面全体を通し
て同じ参照番号は同じもしくは類似の部品を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Like reference numerals throughout the drawings denote the same or similar parts.

【0021】環境 図1に示すように、本発明の典型的な環境には再構成可
能なRAIDシステム100が含まれている。RAID
システム100は1個以上のディスクにより構成される
ディスクアレイ102を有し、その中のディスク104
aから104eが図示されている。図1の典型的な環境
では、ディスク104aから104dはデータディスク
として示され104eはパリティディスクとして示され
ている。ディスク104はミラーディスクとして構成す
ることもできる。実際上、データ、ミラーおよびパリテ
ィディスクが混じり合ったものはRAIDシステム10
0のさまざまな実施例間で異なり、RAIDシステム1
00の特定のRAID構成によって決まる。ディスク1
04はSCSI、IDEその他のディスクドライブタイ
プを含む広範な市販タイプもしくは適当なタイプを表
す。
Environment As shown in FIG. 1, a typical environment of the present invention includes a reconfigurable RAID system 100. RAID
The system 100 has a disk array 102 composed of one or more disks, and a disk 104 therein.
a to 104e are shown. In the exemplary environment of FIG. 1, disks 104a-104d are shown as data disks and 104e is shown as a parity disk. The disk 104 can be configured as a mirror disk. In practice, a mix of data, mirror, and parity disks is a RAID system 10
0 between different embodiments, RAID system 1
00 specific RAID configuration. Disc 1
04 represents a wide variety of commercially available or suitable types, including SCSI, IDE and other disk drive types.

【0022】ディスクアレイ102はアレイコントロー
ラ106の制御下で作動する。アレイコントローラ10
6はRAIDシステム100とそれが接続される任意の
ホストシステム間のインターフェイスとして機能する。
アレイコントローラ106はプロセッサ108、メモリ
110および非揮発性RAM(NVRAM)112を有
している。プロセッサ108はメモリ110内に含まれ
るプログラムを実行してディスクアレイ102の動作を
制御する。プロセッサ108はNVRAM112を永続
性のあるデータ記憶エリアとして使用する。プロセッサ
108によりNVRAM112内に格納されるデータは
RAIDシステム100の意図的および非意図的な運転
停止中に有効なままとされる。
The disk array 102 operates under the control of an array controller 106. Array controller 10
6 functions as an interface between the RAID system 100 and any host system to which it is connected.
The array controller 106 includes a processor 108, a memory 110, and a nonvolatile RAM (NVRAM) 112. The processor 108 executes a program contained in the memory 110 to control the operation of the disk array 102. The processor 108 uses the NVRAM 112 as a permanent data storage area. Data stored in NVRAM 112 by processor 108 remains valid during intentional and unintentional shutdown of RAID system 100.

【0023】アレイコントローラ106はRAIDシス
テム100内の1つ以上の確保した記憶エリア114を
維持する。図1の場合、記憶エリア114は各ディスク
104(ディスク104aに対して確保した記憶エリア
114a、ディスク104bに対して確保した記憶エリ
ア114b、等)上に確保される。RAIDシステム1
00内により多くのもしくはより少ない記憶エリア11
4を確保することが実際的である場合もある。確保した
エリア114は永続性のあるデータ記憶エリアとして機
能する。したがって、確保したエリア114内にプロセ
ッサ108により格納されるデータはRAIDシステム
100の意図的および非意図的な運転停止中に有効なま
まとされる。
The array controller 106 maintains one or more reserved storage areas 114 in the RAID system 100. In the case of FIG. 1, the storage area 114 is reserved on each disk 104 (the storage area 114a reserved for the disk 104a, the storage area 114b reserved for the disk 104b, etc.). RAID system 1
More or less storage area 11 within 00
4 may be practical. The secured area 114 functions as a permanent data storage area. Thus, data stored by processor 108 in reserved area 114 remains valid during intentional and unintentional shutdown of RAID system 100.

【0024】フォールトトレランスでの再構成 本発明の実施例にはRAIDシステム100のフォール
トトレランスにおける再構成方法および装置が含まれ
る。この方法および装置によりRAIDシステム100
はディスクの数およびタイプ、RAIDレベル、ストリ
ップサイズおよびストライプサイズを変えるように再構
成することができる。RAIDシステム100は再構成
中にオンライン状態に維持され、RAIDシステム10
0の意図的および非意図的な運転停止中に続いて再構成
を再開することができる。
Embodiments of the present invention include a method and apparatus for reconfiguring the RAID system 100 for fault tolerance. With this method and apparatus, the RAID system 100
Can be reconfigured to change the number and type of disks, RAID level, strip size and stripe size. The RAID system 100 is kept online during the reconfiguration and the RAID system 10
Reconfiguration can subsequently be resumed during zero intentional and unintentional shutdowns.

【0025】フォールトトレランス再構成を提供するた
めに、アレイコントローラ106はRAIDシステム1
00内のいくつかのデータ構造を維持する。図2に示す
ように、これらのデータ構造は1次記述200、2次記
述202およびマイグレーションポインター204を含
んでいる。これらの各データ構造はフォールトトレラン
スの作業中に維持される。マイグレーションポインター
204の場合には、フォールトトレランスはNVRAM
112内にマイグレーションポインター204を記録し
て達成されるのが好適である。1次記述200および2
次記述202の場合には、フォールトトレランスは確保
した記憶エリア114内に1次記述200および2次記
述202を格納して達成されるのが好適である。マイグ
レーションポインター204、1次記述200および2
次記述202をNVRAM112および確保した記憶エ
リア114内に格納するのは典型的な例である。他の実
施例では、これらの要素を他のフォールトトレランス方
式で格納するように選択することができる。
To provide fault tolerance reconfiguration, the array controller 106
Maintain some data structures in 00. As shown in FIG. 2, these data structures include a primary description 200, a secondary description 202, and a migration pointer 204. Each of these data structures is maintained during the work of fault tolerance. In the case of the migration pointer 204, the fault tolerance is NVRAM
Preferably, this is achieved by recording the migration pointer 204 in 112. Primary descriptions 200 and 2
In the case of the next description 202, the fault tolerance is preferably achieved by storing the primary description 200 and the secondary description 202 in the secured storage area 114. Migration pointer 204, primary descriptions 200 and 2
Storing the next description 202 in the NVRAM 112 and the secured storage area 114 is a typical example. In other embodiments, these elements can be selected to be stored in other fault-tolerant manners.

【0026】1次記述200はRAIDシステム100
の動作パラメータを記述する。正規動作中に、アレイコ
ントローラ106は1次記述200に含まれるデータを
使用してRAIDシステム100により受信される命令
をディスクアレイ102へ向けた対応する操作へ変換す
る。特に、アレイコントローラ106はディスクアレイ
102内に含まれるデータを読み出しおよび書き込む要
求を受信する。これらの要求は1つ以上の論理ブロック
アドレス(LBA)へ向けられる。アレイコントローラ
106は受信した各要求をディスクアレイ102内に含
まれるディスク104へ向けた1つ以上の要求へ変換す
る。これらの各要求は1つ以上のドライブ論理ブロック
アドレス(DLBA)へ向けられる。アレイコントロー
ラ106は1次記述200内に含まれる情報を使用して
LBAから対応するDLBAへの変換を行う。
The primary description 200 is the RAID system 100
Describe the operation parameters of During normal operation, the array controller 106 uses the data contained in the primary description 200 to translate instructions received by the RAID system 100 into corresponding operations directed to the disk array 102. In particular, array controller 106 receives requests to read and write data contained in disk array 102. These requests are directed to one or more logical block addresses (LBAs). Array controller 106 translates each received request into one or more requests for disks 104 included in disk array 102. Each of these requests is directed to one or more drive logical block addresses (DLBAs). The array controller 106 performs conversion from the LBA to the corresponding DLBA using the information included in the primary description 200.

【0027】1次記述200と同様に、2次記述202
はRAIDシステム100の記述として機能する。しか
しながら、1次記述200とは異なり、2次記述はRA
IDシステム100の再構成中しか使用されない。本明
細書内で、マイグレーション前のRAIDシステム10
0の構成はソース構成といわれる。同様に、マイグレー
ション後のRAIDシステム100の構成はデスティネ
ーション構成といわれる。マイグレーション中に、1次
記述200内に含まれるデータはソース構成を記述す
る。一方、2次記述202内に含まれるデータはデステ
ィネーション構成を記述する。
Similar to the primary description 200, the secondary description 202
Functions as a description of the RAID system 100. However, unlike the primary description 200, the secondary description is RA
Used only during reconfiguration of the ID system 100. In this specification, the RAID system 10 before the migration
A configuration of 0 is called a source configuration. Similarly, the configuration of the RAID system 100 after migration is called a destination configuration. During migration, the data contained in the primary description 200 describes the source configuration. On the other hand, the data included in the secondary description 202 describes the destination configuration.

【0028】再構成中に、アレイプロセッサ106はマ
イグレーションポインター204を使用してソース構成
内に含まれるLBAとデスティネーション構成内に含ま
れるLBAとを区別する。特に、再構成プロセスの一部
として、アレイコントローラ106はマイグレーション
操作を実施して各LBAに関連するデータをソース構成
内のその位置からデスティネーション構成内のその位置
へ繰り返し配置し直す。このプロセスは小さなプロセス
ではないため、RAIDシステム100が混合構成によ
り特徴づけられる期間がある。混合構成では、いくつか
のLBAがデスティネーション構成内のDLBAへ適切
にマップされる。他のLBAはソース構成内に含まれる
DLBAへ適切にマップされる。アレイコントローラ1
06はマ0イグレートされる次のLBAの値をマイグレ
ーションポインター204内に維持する。このようにし
て、アレイコントローラ106はソース構成内に含まれ
るLBAとデスティネーション構成内に含まれるLBA
とを区別することができる。
During reconfiguration, the array processor 106 uses the migration pointer 204 to distinguish between LBAs contained in the source configuration and LBAs contained in the destination configuration. In particular, as part of the reconfiguration process, array controller 106 performs a migration operation to repeatedly relocate data associated with each LBA from its location in the source configuration to its location in the destination configuration. Since this process is not a small process, there is a period when the RAID system 100 is characterized by a mixed configuration. In a mixed configuration, some LBAs are properly mapped to DLBAs in the destination configuration. Other LBAs are properly mapped to DLBAs contained in the source configuration. Array controller 1
06 maintains the value of the next LBA to be migrated in the migration pointer 204. In this manner, the array controller 106 is configured to include the LBA included in the source configuration and the LBA included in the destination configuration.
And can be distinguished.

【0029】RAIDシステム100のフォールトトレ
ランスの再構成方法を図3にフローチャートで方法30
0として示す。方法300は象徴的に開始プレースホル
ダー302で始まる。開始プレースホルダー302にお
いて、1次記述200はソース構成を記述する情報を含
んでいる。開始プレースホルダー302にはステップ3
04が続く。ステップ304において、アレイコントロ
ーラ106は再構成の結果RAIDシステム100の全
体容量が減少するかどうかを確認する。ディスク104
がRAIDシステム100から省かれる場合に容量の減
少が生じる。ディスク104数を対応して増加すること
なくRAIDシステム100をRAIDレベル間で再構
成する(RAIDレベル0から任意他のRAIDレベル
への変化、もしくは任意のRAIDレベルからRAID
レベル1への変化)場合にも容量減少が生じる。アレイ
コントローラ106は下記のタイプのテーブルの論理的
な同値を参照して容量減少が生じるかどうかを確認す
る。
FIG. 3 is a flowchart illustrating a method of reconstructing the fault tolerance of the RAID system 100.
Shown as 0. Method 300 symbolically begins with a start placeholder 302. In the start placeholder 302, the primary description 200 contains information describing the source configuration. Step 3 in the start placeholder 302
04 follows. In step 304, the array controller 106 checks whether the overall capacity of the RAID system 100 is reduced as a result of the reconfiguration. Disk 104
Is reduced from the RAID system 100, a reduction in capacity occurs. Reconfigure the RAID system 100 between RAID levels without a corresponding increase in the number of disks 104 (change from RAID level 0 to any other RAID level, or from any RAID level to RAID
(Change to level 1) also causes a capacity reduction. The array controller 106 refers to logical equivalents of the following types of tables to determine whether a capacity reduction occurs.

【0030】[0030]

【表1】 [Table 1]

【0031】前表において、水平軸はオリジナル構成を
表す。垂直軸はデスティネーション構成を表す。ラベル
はRAIDレベルおよびドライブカウントを表し、“0
−6”はRAID0−6ドライブを意味し、“3/5−
4”はRAID3もしくはRAID5−4レベルを表
す。‘=’は容量変化なしを示し、‘+’は容量増大を
示し、‘−’は容量減少を示す。
In the preceding table, the horizontal axis represents the original configuration. The vertical axis represents the destination configuration. The label indicates the RAID level and the drive count, and is “0”.
"-6" means RAID0-6 drive, and "3 / 5-
"4" indicates a RAID3 or RAID5-4 level. "=" Indicates no capacity change, "+" indicates capacity increase, and "-" indicates capacity decrease.

【0032】再構成によりRAIDシステム100の容
量減少が生じることをアレイコントローラ106が確認
する場合には、ステップ306において方法300の実
行が継続される。ステップ306において、アレイコン
トローラはソース構成500からデスティネーション構
成600へのマイグレーションに必要な容量減少を反映
するようにRAIDシステム100を再構成する。RA
IDシステム100の容量を減少することにより、アレ
イコントローラ106はデスティネーション構成600
の容量を越える量のデータをRAIDシステム100内
に格納する要求を処理するのを防止される。方法300
はRAIDシステム100が作動する時に使用できるも
のとされるため、この予防措置が必要である。
If the array controller 106 determines that the reconfiguration results in a reduction in the capacity of the RAID system 100, execution of the method 300 continues at step 306. At step 306, the array controller reconfigures the RAID system 100 to reflect the capacity reduction required for migration from the source configuration 500 to the destination configuration 600. RA
Reducing the capacity of the ID system 100 allows the array controller 106 to
Request to store more data in the RAID system 100 than the capacity of the RAID system 100 is prevented. Method 300
This precautionary measure is necessary because the system can be used when the RAID system 100 operates.

【0033】ステップ308において、アレイコントロ
ーラ106は2次記述202を初期化してデスティネー
ション構成を記述する。ステップ310において、アレ
イコントローラ106はマイグレーションポインター2
04をマイグレーションされる前の値へ初期化する。ス
テップ310で使用されるマイグレーションされる前の
値は使用するマイグレーションのタイプによって決ま
る。特に、マイグレーションを実施するために、アレイ
コントローラ106はRAIDシステム100内に含ま
れる各LBAを反復シーケンスする。各LBAにおい
て、アレイコントローラ106はLBAによりアドレス
される全データをソース構成内のその位置からデスティ
ネーション構成内のその対応する位置へ移す。マイグレ
ーションは任意所定の順序で生じることができる。特
に、マイグレーションはRAIDシステム100内に含
まれる最初のLBAで開始して最後のLBAで完了する
ことができる(上昇順マイグレーション)。また、マイ
グレーションはRAIDシステム100内に含まれる最
後のLBAで開始して最初のLBAで完了することもで
きる(下降順マイグレーション)。ステップ310にお
いて、マイグレーションポインター204はマイグレー
トされる最初のLBAを指すように初期化される。上昇
順マイグレーションの場合には、マイグレーションポイ
ンター204はソース構成内に含まれる最初のLBAを
指すように初期化される。下降順マイグレーションの場
合には、マイグレーションポインター204はデスティ
ネーション構成内に含まれる最後のLBAを指すように
初期化される。
In step 308, the array controller 106 initializes the secondary description 202 and describes the destination configuration. In step 310, the array controller 106 determines that the migration pointer 2
04 is initialized to the value before migration. The pre-migration value used in step 310 depends on the type of migration used. In particular, to perform the migration, the array controller 106 repeatedly sequences each LBA included in the RAID system 100. At each LBA, the array controller 106 moves all data addressed by the LBA from its location in the source configuration to its corresponding location in the destination configuration. Migrations can occur in any predetermined order. In particular, the migration can start with the first LBA included in the RAID system 100 and complete with the last LBA (ascending migration). Further, the migration can be started with the last LBA included in the RAID system 100 and completed with the first LBA (downward migration). In step 310, the migration pointer 204 is initialized to point to the first LBA to be migrated. In the case of ascending migration, the migration pointer 204 is initialized to point to the first LBA contained in the source configuration. In the case of descending migration, the migration pointer 204 is initialized to point to the last LBA included in the destination configuration.

【0034】ステップ312において、RAIDシステ
ム100内に含まれるデータはソース構成に必要なレイ
アウトからデスティネーション構成に必要なレイアウト
へマイグレートされる。前記したように、アレイコント
ローラ106はRAIDシステム100内に含まれる各
LBAをシーケンスする。各LBAにおいて、アレイコ
ントローラ106はLBAによりアドレスされる全デー
タをソース構成内のその位置からデスティネーション構
成内のその対応する位置へ移す。アレイコントローラ1
06はマイグレーション操作の各反復中にマイグレーシ
ョンポインター204を増分(上昇順マイグレーション
に対して)、もしくは減分する(下降順マイグレーショ
ンに対して)。したがって、マイグレーションポインタ
ー204は常にマイグレートされる次のLBAを指す。
In step 312, the data contained in RAID system 100 is migrated from the layout required for the source configuration to the layout required for the destination configuration. As described above, the array controller 106 sequences each LBA included in the RAID system 100. At each LBA, the array controller 106 moves all data addressed by the LBA from its location in the source configuration to its corresponding location in the destination configuration. Array controller 1
06 increments (for ascending migrations) or decrements (for descending migrations) during each iteration of the migration operation. Therefore, the migration pointer 204 always points to the next LBA to be migrated.

【0035】アレイコントローラ106がステップ31
2のマイグレーション操作を完了する時に、方法300
はステップ314に達する。ステップ314において、
アレイコントローラ106マイグレーションが完了して
いることを反映するように1次記述200を更新する。
この更新を実施するために、アレイコントローラ106
は2次記述202内に含まれる情報を1次記述200へ
コピーする。このようにして、1次記述200はRAI
Dシステム100の再構成後の動作パラメータを反映す
るように更新される。
The array controller 106 determines in step 31
Upon completing the second migration operation, the method 300
Reaches step 314. In step 314,
The primary description 200 is updated to reflect that the migration of the array controller 106 has been completed.
To perform this update, the array controller 106
Copies the information contained in the secondary description 202 to the primary description 200. Thus, the primary description 200 has the RAI
The D system 100 is updated so as to reflect the operation parameters after the reconfiguration.

【0036】ステップ316において、アレイコントロ
ーラ106はRAIDシステム100の全体容量が再構
成の結果増大するかどうかを確認する。ディスク104
がRAIDシステム100に付加されている場合には、
容量増大が生じる。RAIDシステム100がRAID
レベル間で再構成される場合(例えば、任意のRAID
レベルからRAIDレベル0への変化、もしくはRAI
Dレベル1から任意のRAIDレベルへの変化)にも容
量増大が生じる。一般的に、アレイコントローラ106
はメモリ110もしくはNVRAM112内に格納され
た適切なテーブルを参照してこの確認を行うことができ
る。
In step 316, the array controller 106 determines whether the overall capacity of the RAID system 100 increases as a result of the reconfiguration. Disk 104
Is added to the RAID system 100,
A capacity increase occurs. RAID system 100 is RAID
If reconfigured between levels (eg, any RAID
Change from level to RAID level 0, or RAI
A change from D level 1 to any RAID level) also causes an increase in capacity. Generally, the array controller 106
Can check this by referring to an appropriate table stored in the memory 110 or the NVRAM 112.

【0037】再構成によりRAIDシステム100の容
量増大が生じることをアレイコントローラ106が確認
する場合には、ステップ318において方法300の実
行が継続される。ステップ318において、アレイコン
トローラは再構成により生成される容量増大を反映する
ようにRAIDシステム100を再構成する。アレイコ
ントローラ106は再構成が完了するまで任意の付加容
量へのアクセスを制限するのが効果的である。このよう
にして、アレイコントローラ106はデスティネーショ
ン構成により収容されるがRAIDシステム100の部
分再構成容量を越えるデータを格納する要求の処理を回
避する。方法300はRAIDシステム100の動作時
に使用できるようにされているため、この予防措置が必
要となる。方法300の実行は停止プレースホルダー3
20で終わる。また、アレイコントローラ106は再構
成により付加されるLBAへ向けられる要求をダイナミ
ックに向けなおすように構成することができる。
If the array controller 106 determines that the reconfiguration will cause an increase in the capacity of the RAID system 100, execution of the method 300 continues at step 318. In step 318, the array controller reconfigures the RAID system 100 to reflect the increased capacity created by the reconfiguration. The array controller 106 effectively limits access to any additional capacity until the reconfiguration is complete. In this way, the array controller 106 avoids processing requests to store data that is accommodated in the destination configuration but exceeds the partial reconfiguration capacity of the RAID system 100. This precaution is necessary because the method 300 can be used during operation of the RAID system 100. Execution of method 300 stops placeholder 3
Ends with 20. Also, the array controller 106 can be configured to dynamically redirect requests directed to LBAs added by reconfiguration.

【0038】RAIDシステム100は方法300の実
行中にアクセス可能な状態に維持される。その結果、ア
レイコントローラは方法300の実行中にRAIDシス
テム100内に格納されたデータへのアクセス要求を受
信することができる。受信した各要求に対して、アレイ
コントローラは要求に含まれる各LBAをマイグレーシ
ョンポインター204と比較する。比較によりLBAは
まだマイグレートされていないことが示されると、アレ
イコントローラ106は1次記述200内に含まれる情
報を使用してLBAをその対応するDLBAへマップす
る。また、比較によりLBAは既にマイグレートされて
いることが示されると、アレイコントローラ106は2
次記述202内に含まれる情報を使用してLBAをその
対応するDLBAへマップする。このようにして、RA
IDシステム100は方法300の実行中にアクセス可
能な、オンライン状態に維持される。
RAID system 100 is maintained accessible during the execution of method 300. As a result, the array controller may receive a request to access data stored in the RAID system 100 during the execution of the method 300. For each request received, the array controller compares each LBA included in the request with the migration pointer 204. If the comparison indicates that the LBA has not yet been migrated, the array controller 106 uses the information contained in the primary description 200 to map the LBA to its corresponding DLBA. If the comparison indicates that the LBA has already been migrated, the array controller 106
The LBA is mapped to its corresponding DLBA using the information contained in the following description 202. Thus, RA
The ID system 100 is maintained online, accessible during the execution of the method 300.

【0039】永続性記憶手段内にマイグレーションポイ
ンター204、1次記述200および2次記述を持続す
ることは方法300がフォールトトレラントであること
を意味する。したがって、方法300は停電その他のシ
ステム運転停止後に再始動することができる。 最適化マイグレーション 図4に、最適化されたマイグレーション方法のフローチ
ャートで方法400として示す。方法400はRAID
システム100の再構成中に使用されるものである。特
に、方法400は方法300のステップ316のマイグ
レーションを実施するのに使用することができる。方法
400は、象徴的に、開始プレースホルダー402で始
まる。開始プレースホルダー402において、マイグレ
ーションは図5のソース構成500から図6のデスティ
ネーション構成600へ実施されるものと仮定すること
ができる。
The persistence of the migration pointer 204, the primary description 200 and the secondary description in the persistent storage means that the method 300 is fault tolerant. Thus, the method 300 can be restarted after a power outage or other system outage. Optimized Migration FIG. 4 shows a flowchart of an optimized migration method as method 400. Method 400 is RAID
It is used during the reconfiguration of the system 100. In particular, the method 400 can be used to perform the migration of step 316 of the method 300. Method 400 symbolically begins with a start placeholder 402. At the start placeholder 402, it can be assumed that migration is performed from the source configuration 500 of FIG. 5 to the destination configuration 600 of FIG.

【0040】ソース構成500はRAIDシステム10
0の2ディスク、RAID0構成に対応するものであ
る。したがって、ソース構成500には2カラム502
a,502bが含まれる。カラム502aは第1のディ
スク104上に格納されるストリップを表す。カラム5
02bは第2のディスク104上に格納されるストリッ
プを表す。デスティネーション構成600はRAIDシ
ステム100の3ディスク、RAID0構成に対応する
ものである。したがって、デスティネーション構成60
0には3カラム602aから602cが含まれる。カラ
ム602aは第1のディスク104上に格納されるスト
リップを表す。カラム602bは第2のディスク104
上に格納されるストリップを表す。カラム602cは第
3のディスク104上に格納されるストリップを表す。
The source configuration 500 is the RAID system 10
0 corresponds to a RAID 0 configuration. Therefore, the source configuration 500 has two columns 502
a, 502b. Column 502a represents a strip stored on first disk 104. Column 5
02b represents a strip stored on the second disk 104. The destination configuration 600 corresponds to a three-disk, RAID0 configuration of the RAID system 100. Therefore, the destination configuration 60
0 includes three columns 602a to 602c. Column 602a represents a strip stored on first disk 104. Column 602b is the second disk 104
Represents the strip stored above. Column 602c represents a strip stored on third disk 104.

【0041】開始プレースホルダー402にはステップ
404が続く。ステップ404において、アレイコント
ローラ106は転送サイズNを計算する。転送サイズN
はソース構成500内のストライプ数とデスティネーシ
ョン構成600内のストライプ数を2つの数で表される
データの量が等しくなるように選択して計算される。例
として、ソース構成500およびデスティネーション構
成600内に含まれる各ストリップが2kバイトのデー
タを含むケースについて考える。この場合、ソース構成
500内の3つのストライプはデスティネーション構成
600内の2つのストライプと同量のデータを表す。し
たがって、12kバイトの転送サイズは転送サイズNに
対する適切な値である。必要ではないが、好ましくは、
転送サイズNはソースストライプの全数およびデスティ
ネーションストライプの全数に対応するように計算され
る。ここでは、12kバイトの値はアレイコントローラ
106によりNに対する値として選択されているものと
仮定する。
The start placeholder 402 is followed by step 404. In step 404, the array controller 106 calculates the transfer size N. Transfer size N
Is calculated by selecting the number of stripes in the source configuration 500 and the number of stripes in the destination configuration 600 such that the amount of data represented by the two numbers is equal. As an example, consider the case where each strip included in source configuration 500 and destination configuration 600 contains 2 kbytes of data. In this case, the three stripes in the source configuration 500 represent the same amount of data as the two stripes in the destination configuration 600. Therefore, the transfer size of 12 kbytes is an appropriate value for the transfer size N. Although not required, preferably
The transfer size N is calculated to correspond to the total number of source stripes and the total number of destination stripes. Here, it is assumed that the 12 Kbyte value has been selected by the array controller 106 as a value for N.

【0042】次に、アレイコントローラ106はステッ
プ406から416を含むループへ入る。このループを
通る各トリップ中に、アレイコントローラ106はソー
ス構成500からデスティネーション構成600へサイ
ズNバイトを転送する。ステップ406において、アレ
イコントローラ106はソース範囲を選択する。上昇順
マイグレーションに対しては、ソース範囲はマイグレー
ションポインター204内に含まれる値で始まる。ソー
ス範囲はマイグレーションポインター204内に含まれ
る値プラス転送サイズNの幅に等しいオフセットで終わ
る。降下順マイグレーションに対しては、ソース範囲は
マイグレーションポインター204内に含まれる値で終
わる。ソース範囲はマイグレーションポインター204
内に含まれる値マイナス転送サイズNの幅に等しいオフ
セットで始まる。図5は、ステップ414の最初の反復
中に構成されるソース範囲は1から6の値を付したスト
リップに対応する。アレイコントローラ106はソース
範囲内に含まれるLBAへ向けられる着信要求を阻止す
る。これらの要求は待ち行列とされソース範囲に含まれ
るストリップがデスティネーション構成600へ転送さ
れるまで待機させられる。
Next, the array controller 106 enters a loop including steps 406 to 416. During each trip through this loop, the array controller 106 transfers N bytes in size from the source configuration 500 to the destination configuration 600. At step 406, array controller 106 selects a source range. For ascending migration, the source range begins with the value contained within migration pointer 204. The source range ends with an offset equal to the value contained in the migration pointer 204 plus the width of the transfer size N. For descending migration, the source range ends with the value contained in the migration pointer 204. Source range is migration pointer 204
Starting with an offset equal to the value contained in the minus the width of the transfer size N. FIG. 5 shows that the source range constructed during the first iteration of step 414 corresponds to a strip numbered 1-6. Array controller 106 blocks incoming requests directed to LBAs that fall within the source range. These requests are queued and queued until the strips within the source range are transferred to the destination configuration 600.

【0043】ステップ408において、アレイコントロ
ーラ106はステップ406で選択されたソース範囲を
対応するデスティネーション範囲内へマップする。デス
ティネーション範囲はソース範囲内に含まれるストリッ
プのデスティネーション構成600内の対応する位置へ
の1対1のマッピングである。このマッピングは1次記
述200および2次記述202内に含まれる情報を使用
してアレイコントローラ106により実施される。図6
において、ステップ408の最初の反復中に構成される
デスティネーション範囲は1から6の値を付したストリ
ップに対応する。
In step 408, array controller 106 maps the source range selected in step 406 into a corresponding destination range. The destination range is a one-to-one mapping of the strips included in the source range to corresponding locations in destination configuration 600. This mapping is performed by the array controller 106 using the information contained in the primary description 200 and the secondary description 202. FIG.
In, the destination range constructed during the first iteration of step 408 corresponds to a strip numbered 1-6.

【0044】ステップ410において、アレイコントロ
ーラ106はソース範囲とデスティネーション範囲との
間に重複部分があるかどうかを確認する。特に、アレイ
コントローラ106はソース範囲内に含まれるいずれか
のストリップがデスティネーション範囲内に完全あるい
は部分的に含まれるかどうかを確認する。この評価はさ
まざまな方法を使用して実施することができる。このよ
うな1つの方法はソースおよびデスティネーション範囲
に対する開始および終了DLBAオフセットを定義する
ことである。ソース範囲の開始DLBAオフセットはソ
ース範囲内の最初のストリップのDLBAである。ソー
ス範囲の終了DLBAオフセットはソース範囲内の最後
のストリップのDLBAである。同様に、デスティネー
ション範囲の開始および終了DLBAオフセットは、そ
れぞれ、デスティネーション範囲内の最初および最後の
ストリップのDLBAである。この方法を使用して、次
にアレイコントローラ106はソース範囲の開始DLB
Aオフセットおよび終了DLBAオフセットをデスティ
ネーション範囲の開始および終了DLBAオフセットと
比較する。図7に、ソース構成500のストリップ1か
ら5を略示してこれらのストリップはソース範囲および
デスティネーション範囲間で重複していることを示す。
In step 410, the array controller 106 determines whether there is an overlap between the source range and the destination range. In particular, the array controller 106 determines whether any of the strips included in the source area are completely or partially included in the destination area. This evaluation can be performed using various methods. One such method is to define start and end DLBA offsets for the source and destination ranges. The starting DLBA offset of the source range is the DLBA of the first strip in the source range. The ending DLBA offset of the source range is the DLBA of the last strip in the source range. Similarly, the start and end DLBA offsets of the destination range are the DLBAs of the first and last strips, respectively, in the destination range. Using this method, the array controller 106 then starts the source range start DLB
The A offset and the ending DLBA offset are compared with the start and end DLBA offsets of the destination range. FIG. 7 schematically illustrates strips 1 through 5 of the source configuration 500, showing that these strips overlap between the source and destination ranges.

【0045】ソースおよびデスティネーション範囲間に
重複部分があることをアレイコントローラ106が確認
すると、ステップ412において方法400の実行が継
続される。ステップ412において、アレイコントロー
ラ106はソース範囲内に含まれる全ての重複ストリッ
プをRAIDシステム100内に含まれる確保された記
憶エリア114へコピーする。図8に、RAIDシステ
ム100内の確保されたエリアへ転送された後のソース
構成500のストリップ1から4を示す。アレイコント
ローラ106は重複するストリップを確保されたエリア
へコピーした後で、NVRAMを更新して重複するスト
リップが確保されたエリア114へコピーされているこ
とを示す。
If the array controller 106 determines that there is an overlap between the source and destination ranges, the method 400 continues at step 412. At step 412, the array controller 106 copies all duplicate strips included in the source range to the reserved storage area 114 included in the RAID system 100. FIG. 8 shows strips 1-4 of source configuration 500 after being transferred to a reserved area in RAID system 100. After copying the duplicate strip to the reserved area, the array controller 106 updates the NVRAM to indicate that the duplicate strip has been copied to the reserved area 114.

【0046】ステップ414において、アレイコントロ
ーラ106はソース範囲内に含まれるストリップをデス
ティネーション範囲内の対応する位置へコピーする。図
9はソース範囲内に含まれるストリップがデスティネー
ション範囲へ転送された後のソース構成500を示す。
ステップ414中に、アレイコントローラ106はマイ
グレーションポインター204も更新する。上昇順マイ
グレーションに対しては、マイグレーションポインター
204は転送サイズNの幅だけ増分される。降下順マイ
グレーションに対しては、マイグレーションポインター
204は転送サイズNの幅だけ減分される。
At step 414, array controller 106 copies the strips contained in the source range to the corresponding locations in the destination range. FIG. 9 shows the source configuration 500 after the strips contained within the source range have been transferred to the destination range.
During step 414, the array controller 106 also updates the migration pointer 204. For ascending migration, the migration pointer 204 is incremented by the width of the transfer size N. For descending migration, the migration pointer 204 is decremented by the width of the transfer size N.

【0047】ステップ416において、アレイコントロ
ーラ106は転送すべきストリップがまだ残っているか
どうかを確認する。上昇順マイグレーションに対して
は、アレイコントローラ106はマイグレーションポイ
ンター204をソース構成500内に含まれる最高LB
Aとデスティネーション構成600内に含まれる最高L
BAの中の小さい方と比較してこの確認を行う。降下順
マイグレーションに対しては、アレイコントローラ10
6はマイグレーションポインター204をゼロと比較し
てこの確認を行う。肯定的ケースでは(すなわち、デス
ティネーション構成600へのマイグレーションがまだ
完了していない)、ステップ406から416のループ
をもう1度反復して方法400の実行が継続される。
In step 416, the array controller 106 checks whether there are any more strips to be transferred. For ascending migration, the array controller 106 sets the migration pointer 204 to the highest LB included in the source configuration 500.
A and maximum L included in destination configuration 600
This confirmation is made in comparison with the smaller one of the BAs. For descending migration, the array controller 10
No. 6 makes this check by comparing the migration pointer 204 with zero. In the positive case (i.e., the migration to destination configuration 600 has not yet been completed), the loop of steps 406-416 is repeated one more time and execution of method 400 continues.

【0048】否定的ケースでは(すなわち、デスティネ
ーション構成600へのマイグレーションが完了してい
る)、方法400の実行は停止マーカ418で終了す
る。方法400の実行中に、RAIDシステムはアクセ
ス可能な状態に維持される。データは必要な時(すなわ
ち、重複マイグレーション操作が検出される時)に確保
したエリアへ移されるだけなので、方法400を実行す
るのに要する時間は最小限に抑えられる。方法400も
フォールトトレランスである。特に、中断に続いて、ア
レイコントローラは確保したエリア114に格納された
コピーを使用して重複するストリップの任意の未完の転
送を完了させる。それにより重複するストリップがその
オリジナル位置からコピーされる場合に生じることがあ
る潜在的な改変が防止される。そのため停電その他のシ
ステム運転停止後に、方法400を再開することができ
る。
In the negative case (ie, migration to destination configuration 600 has been completed), execution of method 400 ends at stop marker 418. During the execution of method 400, the RAID system is maintained accessible. Since the data is only moved to the reserved area when needed (ie, when a duplicate migration operation is detected), the time required to perform method 400 is minimized. Method 400 is also fault tolerant. In particular, following an interruption, the array controller uses the copy stored in the reserved area 114 to complete any incomplete transfer of the duplicate strip. This prevents potential alterations that may occur if duplicate strips are copied from their original location. Thus, after a power outage or other system shutdown, the method 400 can be restarted.

【0049】重複操作の低減 図10に、RAIDシステム100の再構成中に重複す
るマイグレーション操作の発生を低減する方法をフロー
チャートを用いて方法1000としてで示す。方法10
00は図4のマイグレーション方法400および図3の
再構成方法と組み合わせて使用できるようにされてい
る。象徴的に、方法1000は開始プレースホルダー1
002で始まる。
FIG. 10 illustrates a method 1000 for reducing the occurrence of duplicate migration operations during reconfiguration of the RAID system 100 using a flowchart as method 1000. Method 10
00 can be used in combination with the migration method 400 of FIG. 4 and the reconfiguration method of FIG. Symbolically, the method 1000 starts with placeholder 1
It starts with 002.

【0050】開始プレースホルダー1002にはステッ
プ1004が続く。ステップ1004において、アレイ
コントローラ106は再構成の結果RAIDシステム1
00の全体容量が減少するかどうかを確認する。前記し
たように、この確認は適切なテーブルを参照して行うこ
とができる。肯定的ケースでは(すなわち、RAIDシ
ステム100の再構成により容量が減少する)、ステッ
プ1006において方法1000の実行が継続される。
ステップ1006において、アレイコントローラ106
は降下順マイグレーションをできるようにする。
The start placeholder 1002 is followed by step 1004. In step 1004, the array controller 106 determines that the RAID system 1
Check whether the total capacity of 00 decreases. As described above, this check can be made with reference to an appropriate table. In the positive case (i.e., the reconfiguration of the RAID system 100 reduces the capacity), the execution of the method 1000 continues at step 1006.
In step 1006, the array controller 106
Allows descending migration.

【0051】否定的ケースでは(すなわち、RAIDシ
ステム100の再構成により容量減少が生じない)、ス
テップ1008において方法1000の実行が継続され
る。ステップ1008において、アレイコントローラ1
06は上昇順マイグレーションをできるようにする。い
ずれのケースでも、方法1000の実行は停止プレース
ホルダー1010で終止する。
In the negative case (ie, no capacity reduction due to reconfiguration of RAID system 100), execution of method 1000 continues at step 1008. In step 1008, the array controller 1
06 enables ascending migration. In either case, execution of method 1000 ends at stop placeholder 1010.

【0052】方法1000では、アレイコントローラ1
06はソースおよびデスティネーション構成の記憶容量
に基づいてマイグレーション順序を選択するのが効果的
である。ソース構成からデスティネーション構成への再
構成により記憶容量が減少するケースでは、アレイコン
トローラ106は降下順マイグレーションを選択する。
他の全てのケースでは、アレイコントローラ106は降
下順マイグレーションを選択する。このようにマイグレ
ーション順序を選択することにより、アレイコントロー
ラ106は重複するマイグレーション操作を最小限に抑
える。このようにして、マイグレーション速度が高めら
れる。
In the method 1000, the array controller 1
In step 06, it is effective to select the migration order based on the storage capacity of the source and destination configurations. In the case where the storage capacity is reduced by the reconfiguration from the source configuration to the destination configuration, the array controller 106 selects the descending migration.
In all other cases, the array controller 106 selects descending migration. By selecting a migration order in this manner, the array controller 106 minimizes duplicate migration operations. In this way, the migration speed is increased.

【0053】本願発明の効果は、引き続く記述中に、あ
る程度開示され、その記述から当業者によってある程度
理解される。本願発明の効果は、特に付属するクレーム
及びその等価なもので指摘される構成要素及び組み合わ
せによって、実現及び達成される。
The advantages of the invention will be set forth in part in the description that follows, and will be understood in part by those skilled in the art from the description. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents thereof.

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

【図1】本発明の代表的な環境として示すRAIDシス
テムのブロック図。
FIG. 1 is a block diagram of a RAID system shown as a representative environment of the present invention.

【図2】本発明の実施例において使用されるデータ構造
を示すブロック図。
FIG. 2 is a block diagram showing a data structure used in an embodiment of the present invention.

【図3】本発明の実施例の再構成方法に関連するステッ
プを示すフロー図。
FIG. 3 is a flowchart showing steps related to a reconstruction method according to an embodiment of the present invention.

【図4】本発明の実施例のマイグレーション方法に関連
するステップを示すフロー図。
FIG. 4 is a flowchart showing steps related to a migration method according to the embodiment of the present invention.

【図5】図1のRAIDシステムに対するソース構成の
ブロック図。
FIG. 5 is a block diagram of a source configuration for the RAID system of FIG. 1;

【図6】図1のRAIDシステムに対するデスティネー
ション構成のブロック図。
FIG. 6 is a block diagram of a destination configuration for the RAID system in FIG. 1;

【図7】破線で示す一群の重複ストリップを有する図3
のソース構成を示すブロック図。
FIG. 7 with a group of overlapping strips shown in dashed lines
FIG. 2 is a block diagram showing a source configuration of FIG.

【図8】図6の重複ストリップを確保したエリアへ移動
した後の図3のソース構成を示すブロック図。
FIG. 8 is a block diagram showing the source configuration of FIG. 3 after moving to the area where the overlapping strip of FIG. 6 is secured.

【図9】図4のデスティネーション構成への部分マイグ
レーション後の図3のソース構成を示すブロック図。
FIG. 9 is a block diagram showing the source configuration of FIG. 3 after partial migration to the destination configuration of FIG. 4;

【図10】重複マイグレーション操作を低減する方法の
実施例に関連するステップを示すフロー図。
FIG. 10 is a flow diagram illustrating steps associated with an embodiment of a method for reducing duplicate migration operations.

【符号の説明】 100 RAIDシステム 102 ディスクアレイ 104a,104b,104c,104d,114a,
114b,114c,114d データディスク 104e,114e パリティディスク 106 アレイコントローラ 108 プロセッサ 110 メモリ 112 非揮発性RAM(NVRAM)
[Description of Signs] 100 RAID system 102 Disk array 104a, 104b, 104c, 104d, 114a,
114b, 114c, 114d Data disk 104e, 114e Parity disk 106 Array controller 108 Processor 110 Memory 112 Non-volatile RAM (NVRAM)

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G11B 19/02 501 G11B 19/02 501F ──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 6 Identification code FI G11B 19/02 501 G11B 19/02 501F

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】 ディスクアレイを再構成する方法であっ
て、該方法は、 再構成前の構成の記述と再構成後の構成の記述を与える
ステップと、 再構成の結果ディスクアレイの容量が減少するかどうか
を確認するステップと、 再構成の結果容量が減少する場合には、再構成後の構成
の容量を越えるアクセスを拒絶するようにディスクアレ
イを構成するステップと、 再構成前の構成から再構成後の構成へ繰り返しデータブ
ロックを移動させるステップと、 を含む方法。
1. A method for reconfiguring a disk array, comprising: providing a description of a configuration before reconfiguration and a description of a configuration after reconfiguration; and reducing the capacity of the disk array as a result of the reconfiguration. A step of confirming whether or not the disk array is to be reconfigured, a step of configuring the disk array so as to deny access exceeding the capacity of the reconfigured configuration if the capacity is reduced as a result of the reconfiguration, and Repeatedly moving data blocks to the reconstructed configuration.
【請求項2】 請求項12記載の方法であって、さら
に、 ディスクアレイへのアクセス要求を受信するステップ
と、 要求されたデータブロックが移動されているかどうかを
確認するステップと、 要求されたデータブロックがまだ移動されていない場合
には、再構成前の構成の記述を使用して要求されたデー
タブロックへアクセスするステップと、 要求されたデータブロックがすでに移動されている場合
には、再構成後の構成の記述を使用して要求されたデー
タブロックへアクセスするステップと、 を含む方法。
2. The method of claim 12, further comprising: receiving a request to access the disk array; verifying whether a requested data block has been moved; Accessing the requested data block using the pre-reconstruction description if the block has not been moved, and reconstructing if the requested data block has already been moved Accessing the requested data block using the description of the later configuration.
【請求項3】 請求項1記載の方法であって、さらに、 再構成の結果ディスクアレイの容量が増大するかどうか
を確認するステップと、 再構成の結果容量が増大する場合には、再構成後の構成
の容量までアクセスを受け入れるようにディスクアレイ
を構成するステップと、 を含む方法。
3. The method according to claim 1, further comprising: checking whether the capacity of the disk array increases as a result of the reconfiguration; and reconfiguring if the capacity increases as a result of the reconfiguration. Configuring the disk array to accept access to the capacity of the later configuration.
【請求項4】 請求項1記載の方法であって、さらに、
再構成前の構成の記述を再構成後の構成の記述と置換す
るステップを含む方法。
4. The method of claim 1, further comprising:
A method comprising replacing a description of a configuration before reconfiguration with a description of a configuration after reconfiguration.
【請求項5】 請求項1記載の方法であって、さらに、
転送サイズを決定するステップを含み、転送サイズは再
構成前の構成内のMストライプおよび再構成後の構成内
のNストライプに対応し、再構成前の構成のMストライ
プが再構成後の構成のNストライプと同数のバイトを有
するように選択される方法。
5. The method of claim 1, further comprising:
Determining the transfer size, wherein the transfer size corresponds to the M stripes in the configuration before the reconfiguration and the N stripes in the configuration after the reconfiguration, and the M stripes in the configuration before the reconfiguration are different from those in the configuration after the reconfiguration. A method selected to have as many bytes as N stripes.
【請求項6】 請求項1記載の方法であって、さらに、 再構成の結果ディスクアレイの容量が減少する場合には
下降順マイグレーションを選択するステップと、 再構成の結果ディスクアレイの容量が増大する場合には
上昇順マイグレーションを選択するステップと、 を含む方法。
6. The method of claim 1, further comprising: selecting a descending order migration if the capacity of the disk array decreases as a result of the reconfiguration; and increasing the capacity of the disk array as a result of the reconfiguration. If so, selecting ascending migration.
【請求項7】 請求項1記載の方法であって、さらに、 マイグレーションの反復に再構成前の構成と再構成後の
構成内の重複するデータブロックが伴うかどうかを検出
するステップと、 重複するデータブロックをディスクアレイの確保された
エリア内に格納するステップと、 重複するデータブロックを再構成後の構成内に格納する
ステップと、 を含む方法。
7. The method of claim 1, further comprising: detecting whether an iteration of the migration involves overlapping data blocks in the configuration before and after the reconfiguration. A method comprising: storing data blocks in a reserved area of a disk array; and storing duplicate data blocks in a reconstructed configuration.
【請求項8】 コンピュータが読取り可能なコードを内
蔵するコンピュータが使用可能な媒体を含むコンピュー
タプログラムプロダクトであって、コンピュータが読取
り可能なプログラムコード装置がディスクアレイを再構
成する方法を実施するように構成されており、該方法
は、 再構成前の構成の記述と再構成後の構成の記述を与える
ステップと、 再構成の結果ディスクアレイの容量が減少するかどうか
を確認するステップと、 再構成の結果容量が減少する場合には、再構成後の構成
の容量を越えるアクセスを拒絶するようにディスクアレ
イを構成するステップと、 再構成前の構成から再構成後の構成へ繰り返しデータブ
ロックを移動させるステップと、 を含むコンピュータプログラムプロダクト。
8. A computer program product comprising a computer usable medium containing computer readable code, such that the computer readable program code device implements a method for reconfiguring a disk array. The method comprising: providing a description of the configuration before reconfiguration and a description of the configuration after reconfiguration; determining whether the capacity of the disk array is reduced as a result of the reconfiguration; If the capacity decreases as a result of the configuration, a step of configuring the disk array so as to reject accesses exceeding the capacity of the configuration after the reconfiguration, and repeatedly moving data blocks from the configuration before the reconfiguration to the configuration after the reconfiguration Causing the computer program product to include:
【請求項9】 請求項8記載のコンピュータプログラム
プロダクトであって、前記方法は、さらに、 ディスクアレイへのアクセス要求を受信するステップ
と、 要求されたデータブロックが移動されているかどうかを
確認するステップと、 要求されたデータブロックがまだ移動されていない場合
には、再構成前の構成の記述を使用して要求されたデー
タブロックへアクセスするステップと、 要求されたデータブロックがすでに移動されている場合
には、再構成後の構成の記述を使用して要求されたデー
タブロックへアクセスするステップと、 を含むコンピュータプログラムプロダクト。
9. The computer program product of claim 8, wherein the method further comprises: receiving a request to access the disk array; and determining whether a requested data block has been moved. Accessing the requested data block using the description of the configuration before reconfiguration, if the requested data block has not been moved, and the requested data block has already been moved. Accessing the requested data block using the description of the reconstructed configuration, if applicable.
【請求項10】 請求項8記載のコンピュータプログラ
ムプロダクトであって、前記方法は、さらに、 再構成の結果ディスクアレイの容量が増大するかどうか
を確認するステップと、 再構成の結果容量が増大する場合には、再構成後の構成
の容量までアクセスを受け入れるようにディスクアレイ
を構成するステップと、 を含むコンピュータプログラムプロダクト。
10. The computer program product of claim 8, wherein the method further comprises: determining whether a capacity of the disk array increases as a result of the reconstruction; and increasing the capacity as a result of the reconstruction. In some cases, configuring the disk array to accept access up to the capacity of the reconfigured configuration.
【請求項11】 請求項8記載のコンピュータプログラ
ムプロダクトであって、前記方法は、さらに、再構成前
の構成の記述を再構成後の構成の記述と置換するステッ
プを含むコンピュータプログラムプロダクト。
11. The computer program product of claim 8, wherein the method further comprises the step of replacing a description of the configuration before reconfiguration with a description of the configuration after reconfiguration.
【請求項12】 請求項8記載のコンピュータプログラ
ムであって、前記方法は、さらに、転送サイズを決定す
るステップを含み、転送サイズは再構成前の構成内のM
ストライプおよび再構成後の構成内のNストライプに対
応し、再構成前の構成のMストライプが再構成後の構成
のNストライプと同数のバイトを有するように選択され
るコンピュータプログラムプロダクト。
12. The computer program of claim 8, wherein the method further comprises the step of determining a transfer size, wherein the transfer size is M in the configuration before reconfiguration.
A computer program product corresponding to the stripes and N stripes in the reconfigured configuration, wherein the M stripes in the configuration before reconfiguration are selected to have the same number of bytes as the N stripes in the configuration after reconfiguration.
【請求項13】 請求項8記載のコンピュータプログラ
ムプロダクトであって、前記方法は、さらに、 再構成の結果ディスクアレイの容量が減少する場合には
下降順マイグレーションを選択するステップと、 再構成の結果ディスクアレイの容量が増大する場合には
上昇順マイグレーションを選択するステップと、 を含むコンピュータプログラムプロダクト。
13. The computer program product of claim 8, wherein the method further comprises: selecting a descending migration if the capacity of the disk array is reduced as a result of the reconfiguration; and the result of the reconfiguration. Selecting an ascending migration if the capacity of the disk array increases.
【請求項14】 請求項8記載のコンピュータプログラ
ムプロダクトであって、前記方法は、さらに、 マイグレーションの反復に再構成前の構成と再構成後の
構成内の重複するデータブロックが伴うかどうかを検出
するステップと、 重複するデータブロックをディスクアレイの確保された
エリア内に格納するステップと、 重複するデータブロックを再構成後の構成内に格納する
ステップと、 を含むコンピュータプログラムプロダクト。
14. The computer program product of claim 8, wherein the method further comprises detecting whether the iteration of the migration involves overlapping data blocks in the configuration before and after the reconfiguration. Computer program product comprising: storing duplicate data blocks in a reserved area of a disk array; and storing the duplicate data blocks in a reconstructed configuration.
【請求項15】 ディスクアレイを再構成するシステム
であって、該システムは、 プロセッサに再構成前の構成の記述と再構成後の構成の
記述を与えさせるように構成された手段と、 プロセッサに再構成の結果ディスクアレイの容量が減少
するかどうかを確認させるように構成された手段と、 再構成の結果容量が減少する場合には、プロセッサに再
構成後の構成の容量を越えるアクセスを拒絶するように
ディスクアレイを構成させるように構成された手段と、 プロセッサに再構成前の構成から再構成後の構成へ繰り
返しデータブロックを移動させるように構成された手段
と、 を含むシステム。
15. A system for reconfiguring a disk array, comprising: means for causing a processor to provide a description of a configuration before reconfiguration and a description of a configuration after reconfiguration; Means configured to determine if the capacity of the disk array is reduced as a result of the reconfiguration, and if the capacity is reduced as a result of the reconfiguration, the processor is refused access beyond the capacity of the reconfigured configuration. And a means configured to cause the processor to repeatedly move data blocks from the configuration before the reconfiguration to the configuration after the reconfiguration.
【請求項16】 請求項15記載のシステムであって、
さらに、 プロセッサにディスクアレイへのアクセス要求を受信さ
せるように構成された手段と、 プロセッサに要求されたデータブロックが移動されてい
るかどうかを確認させるように構成された手段と、 要求されたデータブロックがまだ移動されていない場合
には、プロセッサに再構成前の構成の記述を使用して要
求されたデータブロックへアクセスさせるように構成さ
れた手段と、 要求されたデータブロックがすでに移動されている場合
には、プロセッサに再構成後の構成の記述を使用して要
求されたデータブロックへアクセスさせるように構成さ
れた手段と、 を含むシステム。
16. The system according to claim 15, wherein:
A means configured to cause the processor to receive the request to access the disk array; a means configured to cause the processor to determine whether the requested data block has been moved; and a requested data block. Has been moved, means for causing the processor to access the requested data block using the description of the configuration before reconfiguration, and the requested data block has already been moved. And, if so, means configured to cause the processor to access the requested data block using the description of the reconfigured configuration.
【請求項17】 請求項15記載のシステムであって、
さらに、 プロセッサに再構成の結果ディスクアレイの容量が増大
するかどうかを確認させる手段と、 再構成の結果容量が増大する場合には、プロセッサに再
構成後の構成の容量までアクセスを受け入れるようにデ
ィスクアレイを構成させるように構成された手段と、 を含むシステム。
17. The system according to claim 15, wherein
In addition, a means for causing the processor to check whether the capacity of the disk array increases as a result of the reconfiguration, and in the case where the capacity increases as a result of the reconfiguration, the processor is allowed to accept access up to the capacity of the reconfigured configuration. Means configured to configure a disk array.
【請求項18】 請求項15記載のシステムであって、
さらに、プロセッサに再構成前の構成の記述を再構成後
の構成の記述と置換させるように構成された手段を含む
システム。
18. The system according to claim 15, wherein
A system further comprising means configured to cause the processor to replace the configuration description before reconfiguration with the configuration description after reconfiguration.
【請求項19】 請求項15記載のシステムであって、
さらに、プロセッサに転送サイズを決定させる手段を含
み、転送サイズは再構成前の構成内のMストライプおよ
び再構成後の構成内のNストライプに対応し、再構成前
の構成のMストライプが再構成後の構成のNストライプ
と同数のバイトを有するように選択されるシステム。
19. The system according to claim 15, wherein
The apparatus further includes means for causing the processor to determine a transfer size, wherein the transfer size corresponds to the M stripes in the configuration before reconfiguration and the N stripes in the configuration after reconfiguration, and the M stripes in the configuration before reconfiguration are reconfigured. A system selected to have as many bytes as N stripes in later configurations.
【請求項20】 請求項15記載のシステムであって、
さらに、 再構成の結果ディスクアレイの容量が減少する場合には
プロセッサに下降順マイグレーションを選択させるよう
に構成された手段と、 再構成の結果ディスクアレイの容量が減少する場合には
プロセッサに上昇順マイグレーションを選択させるよう
に構成された手段と、 を含むシステム。
20. The system according to claim 15, wherein
Further, means configured to cause the processor to select a descending migration if the disk array capacity is reduced as a result of the reconfiguration, and an ascending order to the processor if the disk array capacity is reduced as a result of the reconfiguration. Means configured to cause a migration to be selected.
【請求項21】 請求項15記載のシステムであって、
さらに、 マイグレーションの反復に再構成前の構成と再構成後の
構成内の重複するデータブロックが伴うかどうかをプロ
セッサに検出させるように構成された手段と、 プロセッサに重複するデータブロックをディスクアレイ
の確保されたエリア内に格納させるように構成された手
段と、 プロセッサに重複するデータブロックを再構成後の構成
内に格納させるように構成された手段と、 を含むシステム。
21. The system according to claim 15, wherein
Further, means configured to cause the processor to detect whether the repetition of the migration involves overlapping data blocks in the configuration before and after the reconfiguration; and A system comprising: means configured to store in a reserved area; and means configured to cause a processor to store overlapping data blocks in a reconstructed configuration.
JP11051763A 1998-02-27 1999-02-26 Data migration method for raid data storage system Pending JPH11327794A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7630898P 1998-02-27 1998-02-27
US25551799A 1999-02-22 1999-02-22
US255517 1999-02-22
US076308 1999-02-22

Publications (1)

Publication Number Publication Date
JPH11327794A true JPH11327794A (en) 1999-11-30

Family

ID=26757945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11051763A Pending JPH11327794A (en) 1998-02-27 1999-02-26 Data migration method for raid data storage system

Country Status (1)

Country Link
JP (1) JPH11327794A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252165A (en) * 2005-03-10 2006-09-21 Toshiba Corp Disk array device and computer system
CN116027990A (en) * 2023-03-29 2023-04-28 苏州浪潮智能科技有限公司 RAID card, data access method, system and storage medium thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252165A (en) * 2005-03-10 2006-09-21 Toshiba Corp Disk array device and computer system
CN116027990A (en) * 2023-03-29 2023-04-28 苏州浪潮智能科技有限公司 RAID card, data access method, system and storage medium thereof

Similar Documents

Publication Publication Date Title
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
US6347359B1 (en) Method for reconfiguration of RAID data storage systems
US8495293B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
EP0405926B1 (en) Method and apparatus for managing a shadow set of storage media
US5546535A (en) Multiple controller sharing in a redundant storage array
US6282619B1 (en) Logical drive migration for a raid adapter
US6898668B2 (en) System and method for reorganizing data in a raid storage system
JP2501752B2 (en) Storage device of computer system and method of storing data
JP3053511B2 (en) Method of storing data blocks of digital information and disk storage device therefor
US6341341B1 (en) System and method for disk control with snapshot feature including read-write snapshot half
US6907504B2 (en) Method and system for upgrading drive firmware in a non-disruptive manner
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US8041891B2 (en) Method and system for performing RAID level migration
US20150149719A1 (en) Flexible data storage system
EP0871120A2 (en) Method of storing data in a redundant group of disks and redundant array of disks
US6510491B1 (en) System and method for accomplishing data storage migration between raid levels
US20040221102A1 (en) Method and apparatus for initialization of storage systems
JP2001147785A (en) Method for managing data
US6553509B1 (en) Log record parsing for a distributed log on a disk array data storage system
JPH03505643A (en) File systems for multiple storage classes
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
US6859890B2 (en) Method for reducing data/parity inconsistencies due to a storage controller failure
JP2857288B2 (en) Disk array device
JPH11327794A (en) Data migration method for raid data storage system
US7343519B2 (en) Disk drive power cycle screening method and apparatus for data storage system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060206

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060206

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090910