JP2003131817A - Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム - Google Patents

Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム

Info

Publication number
JP2003131817A
JP2003131817A JP2002212083A JP2002212083A JP2003131817A JP 2003131817 A JP2003131817 A JP 2003131817A JP 2002212083 A JP2002212083 A JP 2002212083A JP 2002212083 A JP2002212083 A JP 2002212083A JP 2003131817 A JP2003131817 A JP 2003131817A
Authority
JP
Japan
Prior art keywords
stripe
data
destination
checkpoint
destination stripe
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.)
Granted
Application number
JP2002212083A
Other languages
English (en)
Other versions
JP3752203B2 (ja
Inventor
Linda Ann Riedle
リンダ・アン・リードル
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003131817A publication Critical patent/JP2003131817A/ja
Application granted granted Critical
Publication of JP3752203B2 publication Critical patent/JP3752203B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1035Keeping track, i.e. keeping track of data and parity changes

Abstract

(57)【要約】 【課題】新磁気ディスク制御機構(RAID)のローカ
ル・ドライブ・マイグレーション(LDM)においてソ
ース・データ・ストライプから宛先ストライプへのデー
タ・マイグレーションを改良するための方法及びシステ
ムを提供する。 【解決手段】本発明は、システムがLDMの途中で故障
した場合、従って、データ・ロケーションの正確なトラ
ッキングを保証するできるようにデータ・マイグレーシ
ョンをチェックポイント指定し、従って、データ・ロケ
ーションの正確なトラッキングを保証するための手順を
開示する。更に、本発明は、ストライプ・ユニットが事
前にマイグレーションされていたかどうかに従って、ス
トライプへのデータ書込を適切にチェックポイント指定
する機能も提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して云えば、デ
ータ記憶システムの改良に関し、詳しく云えば、第1の
データ記憶構成から第2のデータ記憶構成にデータを転
送するための方法及びシステムの改良に関する。更に詳
しく云えば、本発明は、論理ドライブ・マイグレーショ
ン時、再構成時、コピー時、又は他のバックグラウンド
・プロセス時にマイグレーションされるデータをチェッ
クポイント指定する(checkpointing)た
めの方法及びシステムの改良に関する。
【0002】
【従来の技術】マイクロプロセッサのパフォーマンス及
びメモリ・テクノロジが改良される時、それに匹敵する
パフォーマンスの向上を伴う更に良好なデータ記憶シス
テムを求める要求が存在する。更に、データ記憶システ
ムのパフォーマンスを向上させる場合、データ記憶装置
の信頼性の改良を求める要求が存在する。1988年
に、「International Conference on Management Dat
a」誌の1988年6月号の109−116ページにお
ける「新磁気ディスク制御機構に関する問題(A Casefo
r Redundant Arrays of Inexpensive Disk (RAID))」
と題したPatterson、Gibson、及びKatz氏による論文が
公表された。この論文は、同等のシングル・ディスク・
アクセス以上にデータ転送速度及び入出力速度を改善す
るのみならず、低いコストでデータ記憶システムにおい
てエラー訂正を行う新磁気ディスク制御機構の使用の基
礎となった。
【0003】RAIDテクノロジは、コンピュータにお
けるいくつもの物理的ドライブを、1つ又は複数の論理
ドライブとして定義され得るアレイの形にグループ化す
ることを利用する。各論理ドライブは、オペレーティン
グ・システムにとっては単一のドライブのように見え
る。このグループ化技法は、単一の物理ドライブにおけ
る物理的制限を越えて論理ドライブ容量及びパフォーマ
ンスを向上させる。複数の物理ドライブが1つの論理ド
ライブの形にグループ化される時、RAIDコントロー
ラは、そのアレイにおける複数のドライブから並列的に
データを転送することができる。この並列化された転送
は、非アレイ・ドライブによるデータ転送速度よりも数
倍も高いデータ転送速度を生じる。この速度の増加は、
複数ユーザ・ネットワーク環境におけるスループット
(所与の時間的量において処理されるデータの量)又は
生産性の要求にシステムを適合せしめ、応答時間を減少
させ得るようにする。複数のリクエストに対する並列的
転送及び同時応答の結合は、ディスク・アレイがネット
ワーク環境において高レベルのパフォーマンスを提供す
ることを可能にする。
【0004】RAIDテクノロジによって、データは物
理ドライブのアレイ全体を通してストライピングされ
る。このデータ配分方式は、オペレーティング・システ
ムがデータをリクエストする方法を補足する。後続のデ
ータがアレイにおける次のドライブに記憶される前に、
データがアレイにおける1つのドライブに記憶される細
分度はストライプ・ユニット・サイズと呼ばれる。スト
ライプ・ユニット・サイズは、システムI/Oリクエス
トのサイズに近い値にストライプ・ユニット・サイズを
セットすることによってRAIDコントローラのパフォ
ーマンスを最大にするように制御され得る。一般的に
は、このストライプ・ユニット・サイズは、8KB、1
6KB、32KB、又は64KBである。アレイにおけ
る最初の物理ドライブから最後の物理ドライブまでのス
トライプ・ユニットの集合体がストライプと呼ばれる。
【0005】RAIDレベルは、本質的には、それらが
データ記憶装置の冗長度を達成するかどうか及びそれを
達成する方法によって定義される。RAID0、1、
2、3、4、又は5と呼ばれる6つの標準化されたRA
IDレベルが存在する。最も一般的に使用されるRAI
Dレベルは、レベル0、1、及び5である。
【0006】RAIDレベル0は、アレイにおけるすべ
てのドライブにおいてデータ冗長度のないデータをスト
ライピングする。冗長データ又はデータ・パリティ記憶
のための余地が取られないので、RAIDレベル0は、
提示されたRAIDレベルの最大記憶容量を与える。R
AIDレベル0の論理ドライブの簡単な例は、アレイを
作成するために結合された2つの物理ドライブを使用す
る。そこで、そのアレイ内で論理ドライブが作成され、
データがアレイ作成ブロックにおけるすべてのドライブ
においてストライピングされる。各々が特定のストライ
プ・ユニットに相関しているそれらのブロックはデータ
を保持する。なお、「ブロック」及び「ストライプ・ユ
ニット」という用語が互換的に使用され得ることに留意
してほしい。一般に、第1の物理ドライブは、オリジナ
ル・ソースからのデータ・ブロックを1つおきに含み、
第2の物理ドライブは、残りの1つおきのデータ・ブロ
ックを論理ドライブに保持する。
【0007】RAIDレベル1は100%のデータ冗長
度を与え、最小限2つの物理ドライブを必要とする。R
AIDレベル1では、ストライプにおける第1の半分は
オリジナル・データであり、ストライプにおける第2の
半分はそのデータのミラー(正確なコピー)であるが、
RAIDレベル1のアレイにおける他のドライブに書き
込まれる。データはミラーリングされるので、RAID
レベル1を割り当てられた時の論理ドライブの容量はア
レイ容量の50%である。代表的なRAIDレベル1の
論理ドライブを設定するために、2つの物理ドライブが
1つのアレイを作成し、そのアレイが単一の論理ドライ
ブを作成する。データは、2つの物理ドライブの間のミ
ラー・コピーであるブロックを作成するドライブ全体に
わたってストライピングされる。正規のオペレーション
時、RAIDコントローラはアレイにおけるいずれの物
理ドライブからもデータを読み取る。物理ドライブの1
つが故障した場合、RAIDコントローラは、読み取り
及び書き込みリクエストをRAIDレベル1のアレイに
おける残りの機能的ドライブのみに切り替える。故障し
た物理ドライブを即時に再構成するために、バックアッ
プ・ホットスペア・ドライブが設けられ得る。
【0008】RAIDレベル5は、最小限3つの物理ド
ライブを必要とする。このRAIDレベルは、アレイに
おけるすべてのドライブにわたってデータ及びパリティ
をストライピングする。このパリティ/データ記憶装置
は、1つのドライブずつアレイの容量を減少させる。ア
レイは、3つの物理ドライブを使用して作成され、第4
のドライブをホット・スペア・ドライブとして残す。論
理ドライブが3つのドライブ・アレイにおいて作成さ
れ、データがドライブ作成ブロック全体にわたってスト
ライピングされる。各ストライプには、少なくとも1つ
のパリティ・ブロックがある。一般には、パリティ・ブ
ロックは、ストライプにおける他の2つの物理ドライブ
にそのデータの排他的OR(XOR)論理関数の結果を
記憶する。データ・ストライプ・ユニットを保持するド
ライブが故障した場合、そのデータ・ストライプ・ユニ
ット(ブロック)は、XOR論理演算を残りのデータ・
ストライプに適用することによって再構成され得る。例
えば、更に機能的な物理ドライブにおけるデータビット
が1であり、XORパリティ・ビットが1である場合、
故障したドライブにおける失われたデータ・ビットは0
となるであろう。残りのデータ・ビットが1であり、X
ORに対するパリティ・ビットが0である場合、失われ
たデータ・ビットは1でなければならない。単一のXO
R又は他のパリティ・ビットが故障したいずれのドライ
ブも再構成し得るので、パリティ・ビットのチェックは
ミラーリングよりも更に効率的である。RAIDレベル
5のアレイにおける物理ドライブが故障した場合、その
故障したドライブにおいて失われたデータを含むように
ホット・スペア・ドライブが再構成され、RAIDコン
トローラは、その故障したドライブにあったデータに対
する読み取り及び書き込み機能をそのホット・スペア・
ドライブに切り替える。
【0009】論理ドライブ・マイグレーションは、デー
タを論理ドライブの第1構成から同じ論理ドライブの第
2構成に移す。このマイグレーションは、1つのRAI
Dレベルから他のRAIDレベルへのマイグレーション
であるか、又は論理ドライブの第1構成からその論理ド
ライブの第2構成へのマイグレーションである。一般に
は、第2構成は、第1構成よりも大きい数の物理ドライ
ブを有する。論理ドライブ・マイグレーション中にシス
テムが終了することは可能である。マイグレーションの
進行をチェックポイント指定することなくこれが生じる
場合、システムは、どのデータがマイグレーション中に
上書きされたか、又はどこでその更新されたデータに対
するストライプ・ユニットを見つけるべきかわからない
であろう。
【0010】各ストライプがマイグレーションされる
時、そのストライプがマイグレーション・プロセスを追
跡するためにチェックポイントが記録され得る。システ
ムがマイグレーション中に故障した場合、マイグレーシ
ョンは、単に、最後のチェックポイント時にバック・ア
ップを選び得るだけである。しかし、この高い頻度のチ
ェックポイントは、すべてのチェックポイントが将来の
検索のために記憶されなければならないので、非常に費
用のかかるものとなる。このチェックポイントがディス
ク・ドライブに記憶される場合、チェックポイント保存
機能は非常に低速である。チェックポイントが、マイグ
レーションされようとしている論理ドライブからドライ
ブ・スペースの始め又は終わりにおける制御領域に記憶
される場合、ディスク・ヘッドは、マイグレーションさ
れるデータからチェックポイント領域まで前後に動かれ
なければならず、それは機械的にも、時間的にも禁止さ
れている。たとえ、システムが不揮発性ランダム・アク
セス・メモリ(NVRAM)を有していても、NVRA
Mアクセスは一般に正規のメモリ・アクセスよりもずっ
と遅いので、チェックポイント指定は、依然として取る
に足りないことではない。
【0011】
【発明が解決しようとする課題】従って、知的なチェッ
クポイント指定を使用することによって論理ドライブ・
マイグレーションのパフォーマンスを改良する方法を求
める要求が存在することは明らかである。更に、そのよ
うな方法がコンピュータ・システムにおいて遂行される
場合、コンピュータ・プログラム製品を創作することが
望ましいであろう。更に、改良された論理ドライブ機能
を有する複数ドライブ・システムを創作することも望ま
しいであろう。
【0012】
【課題を解決するための手段】本発明は、論理ドライブ
の第2構成における宛先ストライプがチェックポイント
指定される前に、その宛先ストライプが論理ドライブの
第1構成におけるデータをオーバレイするデータを、そ
のデータがマイグレーションされる時、含むかどうかを
決定するための方法を組み込む。宛先ストライプにデー
タをマイグレーションする前に、オーバレイしたデータ
がマイグレーションした位置をシステムに知らせるため
にそのデータがチェックポイント指定されなければなら
ない。本発明を実施する装置は、RAIDコントローラ
において任意のRAIDレベルで具体化され得る。更
に、上記の方法は、再構成及びコピーのような他のデー
タ記憶装置のバックグラウンド・プロセスにおいてデー
タ・マイグレーションをチェックポイント指定するため
に使用され得る。本発明は、上記の方法を実行するため
のマシン可読命令を有するコンピュータ・プログラムに
おいても具体化され得る。
【0013】
【発明の実施の形態】図面、特に、図1を参照すると、
本発明を実施するために利用可能なRAIDデータ記憶
システムのブロック図が示される。図示のように、RA
IDデータ記憶システム10は、周辺コンポーネント相
互接続(PCI)バス・アダプタ20を介してホスト・
システム12に結合される。データ記憶システム10及
びホスト・システム12は、データ処理システム(図示
されていない)のような単一のハードウェア・ユニット
に組み込まれ得る。別の方法として、データ記憶システ
ム10は、1つのハードウェア・ユニットに組み込まれ
得るし、ホスト・システム12は、データ処理システム
のような別のハードウェア・ユニットに組み込まれ得
る。
【0014】ホスト・システム12は、複数の異なるオ
ペレーティング・システムの下にある種々のデータ処理
システムにおいて実施され得る。データ処理システム
は、例えば、パーソナル・コンピュータ、ミニ・コンピ
ュータ、又はメインフレーム・コンピュータであっても
よい。データ処理システムは、スタンドアロン・システ
ムであってもよく、或いは、ローカル・エリア・ネット
ワーク(LAN)又は広域ネットワーク(WAN)のよ
うなネットワークの一部であってもよい。
【0015】図示のように、RAIDデータ記憶システ
ムであることが望ましいデータ記憶システム10を制御
するために、プロセッサ14が利用される。プロセッサ
14は、プロセッサ・バス16に結合される拡張マイク
ロプロセッサであることが望ましい。図示のように、プ
ロセッサ・バス16は、プロセッサ14によって利用さ
れるコード及びデータを一時的に記憶するために利用さ
れるコード/データ・ランダム・アクセス・メモリRA
M18にも結合される。プロセッサ14は、RAM18
に記憶されたホスト・プロセッサ12からの読み取りコ
マンドを読み取って実行するようにRAM18と相互作
用する。一般には、読み取り専用メモリROM22及び
不揮発性ランダム・アクセス・メモリ(NVRAM)2
4が8ビット・バスを利用することによってアクセスさ
れ、従って、一般には32ビット・バスを利用するプロ
セッサ・バス16にそれらの装置をインターフェースす
るために、バス・インターフェース26が利用される。
【0016】命令コードは、一般に、ROM22に記憶
される。なお、ROM22は、当業者には明らかなよう
に、いわゆる「フラッシュ」ROMを利用して提供され
るのが一般的である。しかる後、本発明の機能を含む機
能を実行するようプロセッサ14の動作を指示するため
に、命令コードがその動作の開始時にプロセッサ14に
よってROM22からフェッチされる。NVRAM24
は、主電源が切られた時にNVRAM24に記憶されて
いた情報が失われないように、バッテリによる「バック
アップ」のためにパワーアップされる低電力の相補型金
属酸化膜半導体(CMOS)メモリである。従って、N
VRAM24は、ROM22に記憶されたものと同じ形
態で構成データ又は命令コードを記憶するために利用さ
れ得る。ROM22は、一般に、初期電源投入時に更新
され、操作中のシステム構成に対する如何なる変更もN
VRAM24に記憶され、しかる後、「装置変更リス
ト」に入れられる。その装置変更リストは、NVRAM
24内に記憶され、システムにおける各ディスク・ドラ
イブにも記憶される。
【0017】ダイナミック・ランダム・アクセス・メモ
リ/排他的OR(DRAM/XOR)コントローラ30
に結合されるキャッシュ28が設けられる。キャッシュ
28は、各一時的記憶位置が1ページのキャッシュ28
として参照され得る複数の一時的記憶位置の形に構成さ
れ得る。DRAM/XORコントローラ30は、ランダ
ム・アクセス・メモリに対するアクセスを制御するため
に利用され、更新されたデータの変更に関するパリティ
を迅速に且つ効率的に計算するために利用され得るハー
ドウェア実装の排他的OR(XOR)回路を提供する。
【0018】DRAM/XORコントローラ30はロー
カル・バス32に結合される。複数の小型コンピュータ
・システム・インターフェース(SCSI)コントロー
ラ・チップ34、36、及び38もローカル・バス32
に結合される。各SCSIコントローラ34、36、及
び38は、複数のディスクから成るディスク・ドライブ
記憶システムをそれぞれサポートし得るチャネルを含む
ものとして定義される。データ記憶システムを実装する
ために別のインターフェース・バス・アーキテクチャが
利用され得ることは、当業者には明らかであろう。その
ような別のバス・アーキテクチャは、インテリジェント
・ドライブ・エレクトロニクス(Intelligent Drive El
ectronics - IDE)、エンハンスト・インテリジェント
・ドライブ・エレクトロニクス(Enhanced Intelligent
Drive Electronics - EIDE)、ファイバ・チャネル(F
iber Channel)等を含む得る。しかし、本発明の図示の
例は、SCSIバス・アーキテクチャにおいて構成され
る複数のディスク・ドライブ・データ記憶システム4
0、42、及び44を利用する。
【0019】図2を参照すると、本発明のRAIDレベ
ル0のディスク・ドライブ・システムの概略図が示され
る。論理ドライブを定義するために任意の数の物理ドラ
イブを使用して、本発明が任意のレベルのRAIDを使
用し得ることは勿論である。明瞭にするために、図2に
示されるように、本発明は、1−ドライブRAIDレベ
ル0から2−ドライブRAIDレベル0にマイグレーシ
ョンするものとして示される。図示の例では、第1論理
ドライブ構成46は、単一のスタンドアロンのパーティ
ション付きドライブと機能的に同等である単一の第1物
理ドライブ48を有する1−ドライブRAIDレベル0
の論理ドライブである。第1物理ドライブ48は、ソー
ス・ストライプ#1乃至ソース・ストライプ#"x"とし
て図2において標識付けされた複数のソース・ストライ
プ50から成る。次の方法ステップでは、"x"に対する
参照符号は、ソース・ストライプ50のソース・ストラ
イプ番号の代用である。なお、"x−1"データ・ストラ
イプ・ユニット52は"x"データ・ストライプ・ユニッ
ト52に先行し、"x"データ・ストライプ・ユニット5
2は"x+1"データ・ストライプ・ユニット52に先行
する。同様に、"n"に対する参照符号は、第2論理ドラ
イブ構成54における宛先ストライプ58のストライプ
番号の代用である。
【0020】各ソース・ストライプ50は、独特の且つ
単一のストライプ・ユニット52を有し、それのサイズ
はユーザによって任意に設定可能である。ストライプ・
ユニット52に対する代表的なストライプ・ユニット・
サイズは、8KB、16KB、32KB、又は64KB
である。図示の例では、各ソース・ストライプ50は、
ソース・ストライプ1乃至ソース・ストライプxに対応
するように、図2において、それぞれ"A"乃至"Z"とし
て標識付けされたデータを含む。論理ドライブ・マイグ
レーション(LDM)オペレーションは、第1論理ドラ
イブ構成46から第2論理ドライブ構成54にデータを
マイグレーションする。第2論理ドライブ構成54は、
第1論理ドライブ構成46において見られる第1物理ド
ライブ48と第2物理ドライブ56とを含む。第2論理
ドライブ構成54は、図2においてストライプ"1"乃
至"n"と番号付けされた複数の宛先ストライプ58を作
成するためにストライプ・ユニット52全体にわたって
ストライピングされる。
【0021】データA及びデータBを含む第1ソース・
ストライプ50がマイグレーションされる時、第1論理
ドライブ構成46からのデータは、宛先ストライプ1と
して指定された宛先ストライプ58の第1物理ドライブ
48におけるデータをオーバーレイする。第1論理ドラ
イブ構成46のソース・ストライプ2からのデータB
は、第2物理ドライブ56の第1ストライプ・ユニット
52において新しいスペースをオーバーレイする。デー
タAは実際には動かされず、データBが新しいスペース
をオーバーレイするので、この時チェックポイント指定
する必要はない。システムがクラッシュし、しかる後、
回復される場合、第1論理ドライブ構成46からのデー
タA及びBが再読み取りされ、同じ結果を第2論理ドラ
イブ構成54にマイグレーションされる。
【0022】ストライプ2として指定された宛先ストラ
イプ58がオーバーレイされる場合、第1論理ドライブ
構成46からのデータC及びデータDが宛先ストライプ
58のストライプ2に書き込まれる。このマイグレーシ
ョンは、第1物理ドライブ48の第2ストライプにおい
てデータBを有する古い構成からデータBをオーバーレ
イするであろう。従って、第1物理ドライブ48のスト
ライプ2に最初に記憶されたデータBはなくなってしま
うので、宛先ストライプ58のストライプ1は再マイグ
レーションされ得ない。従って、論理ドライブ・マイグ
レーションは、宛先ストライプ58のストライプ1にお
いてチェックポイント指定される。一般に、チェックポ
イントは、論理ドライブの1つのアレイにおいて1つ含
むハード・ドライブに記憶されるか又はそのシステムに
おける不揮発性ランダム・アクセス・メモリNVRAM
に記憶される。チェックポイントは、LDMの進行を論
理的に記述する。次に、マイグレーションが実行され、
その結果生じたデータは、宛先ストライプ58のストラ
イプ1においてデータA及びBを有し、宛先ストライプ
58のストライプ2においてデータC及びDを有する。
【0023】同様に、宛先ストライプ58のストライプ
3にマイグレーションする時、データE及びデータFが
第1論理ドライブ構成46から読み取られ、宛先ストラ
イプ58のストライプ3に書き込まれる。これは、第1
物理ドライブ48のストライプ3においてデータCをオ
ーバーレイするであろう。それは、ストライプ3におけ
る第1論理ドライブ構成46からのデータCがなくなっ
てしまうため、宛先ストライプ58のストライプ2が再
マイグレーションされ得ないことを意味する。従って、
論理ドライブ・マイグレーションが宛先ストライプ58
のストライプ2においてチェックポイント指定されなけ
ればならない。データがマイグレーションされ、その結
果生じた宛先ストライプ58は、ストライプ1において
データA及びデータBを有し、ストライプ2においてデ
ータC及びデータDを有し、ストライプ3においてデー
タE及びデータFを有する。
【0024】宛先ストライプ4がそれに継続すると、デ
ータG及びHが宛先ストライプ58のストライプ4に書
き込まれる。これは、第1物理ドライブ48におけるス
トライプ4においてデータDをオーバーレイするであろ
う。それは、データDがなくなってしまうために宛先ド
ライブ58のストライプ2が再マイグレーションされ得
ないことを意味する。しかし、宛先ストライプ58のス
トライプ2は既にチェックポイント指定されているた
め、それは再びチェックポイント指定される必要がな
い。データ・マイグレーションが行われ、その結果生じ
たデータは、ストライプ1においてデータA及びデータ
Bを有し、ストライプ2においてデータC及びデータD
を有し、ストライプ3においてデータE及びデータFを
有し、ストライプ4においてデータG及びデータHを有
する。すべてのストライプが宛先ストライプ58であ
る。
【0025】ストライプ5がそれに継続すると、第1論
理ドライブ構成46からのデータI及びデータJが読み
取られ、宛先ストライプ58のストライプ5に書き込ま
れる。これは、古い構成からのデータEをオーバーレイ
する。それは、データEがなくなってしまうのでストラ
イプ3が再マイグレーションされ得ないことを意味す
る。従って、宛先ストライプ58のストライプ3は、通
常、チェックポイント指定される必要があるであろう。
しかし、マイグレーションが宛先ストライプ58のスト
ライプ4を通して既に生じているので、その最後にマイ
グレーションされたストライプがチェックポイント指定
される。即ち、宛先ポイント58のストライプ4をチェ
ックポイント指定することは、データA乃至データHか
らのすべてのデータのマイグレーションを斟酌するの
で、宛先ストライプ58のストライプ3のチェックポイ
ント指定をスキップすることが可能にされる。ストライ
プ5までのデータ・マイグレーションが行われ、その結
果生じたデータは次表のようになる。
【表1】
【0026】それに続く宛先ストライプ58が継続する
と、データが第1論理ドライブ構成46から読み取ら
れ、第2論理ドライブ構成54に書き込まれる。データ
・マイグレーションは宛先ストライプ58のストライプ
9まで継続するので、第2論理ドライブ構成54の第1
物理ドライブ48及び第2物理ドライブ56、並びにソ
ース論理ドライブ46は、次表のような構成でデータを
含むであろう。
【表2】
【0027】この時点で、最初に第1論理ドライブ構成
のソース・ストライプ8にあったデータH及びすべての
先行のデータA乃至データGが宛先ストライプ58のス
トライプ4のチェックポイントしていによって斟酌され
ている。第1物理ドライブ48にデータIを含むストラ
イプ9をオーバーレイする前に、宛先ストライプ58の
ストライプ5は、データIのロケーションに関してシス
テムを更新するためにチェックポイント指定されなけれ
ばならない。しかし、マイグレーションが宛先ストライ
プ58のストライプ8を通して既に生じているので、チ
ェックポイントが宛先ストライプ58のストライプ8に
適用される。従って、宛先ストライプ58のストライプ
5、6、又は7をチェックポイント指定する必要がな
い。同じ傾向が続くと、第1物理ドライブ48における
ソース・データがオーバーレイされるまで、チェックポ
イント指定が再び行われる必要がなく、ソース・データ
がそれ以前のマイグレーションを斟酌されなかったこと
及びそれ以前のマイグレーションからチェックポイント
指定されなかったことは明らかである。1−ドライブR
AIDレベル0から2−ドライブRAIDレベル0まで
の論理ドライブ・マイグレーションに関する本願の説明
では、チェックポイント指定は、ストライプ1、ストラ
イプ2、ストライプ4、ストライプ8、ストライプ1
6、ストライプ32等において生じる必要があるであろ
う。
【0028】チェックポイント相互間の必要な間隔は漸
進的に増加するので、マイグレーションに入る簡単な方
法は、データ・オーバーレイによりチェックポイント指
定するためのプロンプト無しに数百のストライプのマイ
グレーションを生じるであろう。或る所定数のソース・
マイグレーション時に、宛先ストライプに対して閾値ス
トライプ・チェックポイントが記録されなければならな
い。
【0029】次に、図3を参照すると、本発明を図解す
る高レベルのフローチャートが示される。図3が所望の
結果を導く一貫したステップ・シ−ケンスを表すことは
当業者には明らかであろう。それらのステップは、物理
的に高品質の物理的操作を必要とするものである。通
常、これらの量は、記録され、転送され、結合され、比
較され、或いは、操作されることが可能な電気的、光学
的、又は磁気的信号の形式を取るが、必ずしもそれらの
形式を取る必要はない。これらの信号をビット、数値、
エレメント、記号、文字、用語、番号等として参照する
方が都合よいということが当業者によりよく証明され
る。しかし、これらの用語及び同様の用語はすべて適切
な物理的量と関連すべきものであって、それらの量に適
用された単なる都合のよい標識であるということを留意
すべきである。
【0030】更に、行われる操作は、操作者によって遂
行される知的な操作と一般に関連する加算、比較のよう
な用語として参照されることが多い。本発明の一部を形
成する本願で開示された何れの操作においても、操作者
のそのような能力は、ほとんどの場合、必要なことでも
ないし、望ましいことでもない。本発明の望ましい実施
例の操作を遂行するための有用なマシンは、汎用ディジ
タル・コンピュータのようなデータ処理システム又は他
の同様な装置を含む。すべてのケースにおいて、コンピ
ュータを操作する方法と計算の方法自体との間の違いは
留意すべきである。本発明は、所望の物理的信号を発生
するために電気的信号又は他の物理的信号を処理する場
合に、図1のプロセッサ14のようなプロセッサを操作
するための方法ステップに関する。
【0031】図示のように、図3において説明されるプ
ロセスは、ブロック60において始まり、しかる後、ブ
ロック62において記述されたステップに進む。ブロッ
ク60は、宛先ストライプ58のストライプ1を指定す
ることを表す。第1論理ドライブ構成46からのソース
・データが、ブロック62において示されるように、宛
先ストライプ58のストライプ1に先ずマイグレーショ
ンされる。プロセスは、ブロック64において示される
ように、次の宛先ストライプに進むことによって継続す
る。ブロック66は、この時点では宛先ストライプ58
のストライプ2である現在の宛先ストライプがチェック
ポイント指定されてないデータを含むかどうかの決定を
示す。チェックポイント指定されてないデータは、以前
にマイグレーションされたデータの現ロケーションをシ
ステムに知らるチェックポイントを宛先ストライプ・チ
ェックポイント又は閾値ストライプ・チェックポイント
の形式で受けなかった宛先ストライプにあるデータとし
て定義される。
【0032】宛先ストライプがチェックポイント指定さ
れてないデータを含まない場合、ブロック68において
示されるように、チェックポイントされてないストライ
プの数が、宛先ストライプ・チェックポイントの最後の
レコーディング以後に生じたソース・データ・マイグレ
ーションの所定の閾値数を越えるかどうかの決定が行わ
れる。それがこの所定数の閾値を越えてない場合、ブロ
ック62において示されるように、ソース・データが現
在の宛先ストライプ58にマイグレーションされる。
【0033】チェックポイント指定されてないストライ
プの数が所定の閾値を越える場合、現在の宛先ストライ
プ58のすぐ前の先行する宛先ストライプ58(ブロッ
ク70において示されるように、宛先ストライプn−
1)に対して、閾値ストライプ・チェックポイントが割
り当てられるであろう。更に、ブロック66において示
されるように、宛先ストライプ58が、最後のチェック
ポイント指定以後に前のマイグレーションの所定閾値数
を越える時又は越えない時、チェックポインタ指定され
てないデータを含む場合、再びブロック70に示される
ように、直前の宛先ストライプ58に対する宛先ストラ
イプ・チェックポイントが割り当てられる。
【0034】論理ドライブ・マイグレーション時に着信
データ書き込みオペレーションを処理することができる
ということは本発明の重要な特徴である。図4に示され
た高レベルのフローチャートにおいて図解されるよう
に、本発明は、第1論理ドライブ構成46又は第2論理
ドライブ構成54への書き込みを、その書き込みがマイ
グレーションされているストライプ・ユニット52のブ
ロックに対するものであるかどうかに従って受け入れる
ことができる。そこで、図4を参照すると、ブロック7
2において示されるように、データ書き込み機能が既に
マイグレーションされている宛先ストライプ58に対す
るものであるかどうかに関して、決定が行われる。その
書き込みが既にマイグレーションされている宛先ストラ
イプ58に対するものでない場合、即ち、それがデータ
をマイグレーションされてなかったソース・ドライブ5
0に対するものである場合、ブロック78において示さ
れるように、その書き込みは第1論理ドライブ構成46
に対して実行される。データ書き込みオペレーションが
マイグレーションされている宛先ストライプ58に対す
るものである場合、ブロック74において示されるよう
に、宛先ストライプ58がチェックポイント指定されて
いるかどうかに関する決定が行われる。その宛先ストラ
イプがチェックポイント指定されている場合、ブロック
78において示されるように、データ書き込みが実行さ
れる。ブロック74において参照された宛先ストライプ
58がチェックポイント指定されてない場合、ブロック
76において示されるように、最後のマイグレーション
された宛先ストライプ58にチェックポイントが割り当
てられる。
【0035】ブロック76において参照された最後のマ
イグレーションされた宛先ストライプ58は、データ書
き込みが実行されるべきストライプ・ユニット52を含
む宛先ストライプ58に続く宛先ストライプ58であっ
てもよい。明らかに、チェックポイント指定されるべき
最も早い宛先ストライプ58は、データ書き込みオペレ
ーションが生じようとしている宛先ストライプ58のす
ぐ前にある宛先ストライプ58であろう。例えば、図2
に関して、チェックポイント指定されるべき最後の宛先
ストライプ58は宛先ストライプ4であり、データ書き
込みはデータKに関するものであると仮定する。最後の
マイグレーションがストライプ5(データI及びJを保
持する)のような先行の宛先ストライプ58に対するも
のである場合、書き込みは既にマイグレーションされて
いる宛先ストライプに対するものではないので、チェッ
クポイントは必要ない。最後のマイグレーションが現在
の宛先ストライプ58のストライプ6(データK及びL
を保持する)に対するものであった場合、宛先ストライ
プ58のストライプ6は、最後のマイグレーションされ
たストライプであるであろうし、データKに関する書き
込みを受け付ける前にチェックポイント指定されるであ
ろう。最後のマイグレーションがストライプ7(データ
M及びNを保持する)のようなすぐ後の宛先ストライプ
58に関するものである場合、そのストライプ7は、最
後のマイグレーションされたストライプであるであろう
し、宛先ストライプ・チェックポイントによってチェッ
クポイント指定されるであろう。
【0036】本発明の説明において見られるように、こ
の方法及びシステムは、LDMにおいてマイグレーショ
ンされたデータをモニタし且つ追跡するための大きく改
良された手法を提供する。チェックポイント指定は、そ
れが論理的に必要である時だけ、即ち、データが(上述
の宛先ストライプ・チェックポイントの使用によって)
上書きされようとしている時に、従って、やり直すこと
が煩わしく、(上述の閾値ストライプ・チェックポイン
トの使用によって)費用のかかることになるほど多くの
データ・マイグレーションが生じた時に生じる。従っ
て、チェックポイント指定する論理的且つ費用効果の高
いシステムが達成される。更に、そのチェックポイント
・システムは、特定のブロックに関する現在の論理ドラ
イブ・ロケーションを追跡することによって、LDM時
のデータ書き込みを制御するために有利に使用され得
る。
【0037】本発明の方法を指示する命令コードを実行
するデータ記憶システムに関連して本発明の側面を説明
したが、本発明が、別の方法として、データ処理システ
ム又はコンピュータ・システムと共に使用するためのプ
ログラム製品として実施され得ることは勿論である。本
発明の機能を定義するプログラムは、非書き込み可能記
憶媒体(例えば、CD−ROM)、書き込み可能記憶媒
体(例えば、フロッピ(R)ディスケット、ハード・デ
ィスク・ドライブ、読み取り/書き込みCD−ROM、
光学的メディア)及びイーサネット(R)を含むコンピ
ュータ及び電話ネットワークのような通信メディアを含
む種々の信号担持媒体を介してデータ記憶システム又は
コンピュータ・システムに配送され得る。従って、その
ような信号担持媒体が本発明の方法機能を指示するコン
ピュータ可読命令を担持し又はエンコードする時、それ
が本発明の別の実施例を表すことは勿論である。更に、
本発明が本願において開示されたようにハードウェア、
ソフトウェア、又はハードウェア及びソフトウェアの組
み合わせの形式の手段、或いはそれらの均等物を有する
システムによって実施され得ることも勿論である。
【0038】本発明が望ましい実施例に関して詳細に示
され、開示されたけれども、本発明の精神及び技術範囲
から逸脱することなく、形態及び細部における種々の変
更が行われ得ることは当業者には明らかであろう。特
に、図解のために使用された主要な例はRAID−0構
成におけるものであったけれども、他のRAIDレベル
が本発明による方法及びシステムを使用することも可能
である。
【0039】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0040】(1)新磁気ディスク制御機構(RAI
D)システムにおいて論理ドライブにおける複数のソー
ス・データを第1構成から第2構成にマイグレーション
するための方法にして、ソース・データを現在の宛先ス
トライプにマイグレーションするステップと、後続の宛
先ストライプに進むステップと、直前の宛先ストライプ
に対する宛先ストライプ・チェックポイントを持った宛
先ストライプにないデータを前記後続の宛先ストライプ
が含む場合、前記宛先ストライプ・チェックポイントを
レコードするステップと、を含む方法。 (2)前記ソース・データがすべて前記宛先ストライプ
にマイグレーションされるまで、後続のソース・データ
に対して、前記マイグレーションするステップ、前記進
むステップ、及び前記レコードするステップを繰り返す
ステップを更に含む、上記(1)に記載の方法。 (3)前記宛先ストライプ・チェックポイントを最後に
レコードした以後に所定数の前記ソース・データのマイ
グレーションが生じた後、前記直前の宛先ストライプに
対する閾値ストライプ・チェックポイントをレコードす
るステップを更に含む、上記(1)に記載の方法。 (4)前記閾値ストライプ・チェックポイントを持った
宛先ストライプにないデータを前記後続の宛先ストライ
プが含む場合、前記直前の宛先ストライプに対する前記
宛先ストライプ・チェックポイントをレコードするステ
ップを更に含む、上記(3)に記載の方法。 (5)前記複数のソース・データの1つへの着信データ
の書き込みを受けるステップと、前記ソース・データが
書き込み宛先ストライプにマイグレーションされてない
場合、前記データの書き込みを実行するステップと、前
記ソース・データが前記書き込み宛先ストライプにマイ
グレーションされている場合、前記書き込み宛先ストラ
イプが前記宛先ストライプ・チェックポイント又は前記
閾値ストライプ・チェックポイントをレコードしている
ときには前記データの書き込みを実行するステップと、
前記データの書き込みが前記宛先ストライプ・チェック
ポイント又は前記閾値ストライプ・チェックポイントを
レコードしてない書き込み宛先ストライプに対するもの
である場合、前記書き込み宛先ストライプの直前の宛先
ストライプに書き込み宛先ストライプ・チェックポイン
トをレコードし、前記書き込み宛先ストライプへのデー
タ書き込みを実行するステップと、を更に含む、上記
(1)に記載の方法。 (6)前記方法は論理ドライブ・マイグレーション時に
生じる、上記(1)に記載の方法。 (7)前記方法はドライブ再構成時に生じる、上記
(1)に記載の方法。 (8)新磁気ディスク制御機構(RAID)システムに
おいて複数のソース・データを第1論理ドライブ構成か
ら第2論理ドライブ構成にマイグレーションするための
データ処理システムにおけるシステムにして、ソース・
データを現在の宛先ストライプにマイグレーションする
ための手段と、後続の宛先ストライプに進むための手段
と、直前の宛先ストライプに対する宛先ストライプ・チ
ェックポイントを持った宛先ストライプにないデータを
前記後続の宛先ストライプが含む場合、前記宛先ストラ
イプ・チェックポイントをレコードするための手段と、
を含むシステム。 (9)前記ソース・データがすべて前記宛先ストライプ
にマイグレーションされるまで、後続のソース・データ
に対して、前記マイグレーションするための手段、前記
進むための手段、及び前記レコードするための手段の動
作を繰り返すための手段を更に含む、上記(8)に記載
のシステム。 (10) 前記宛先ストライプ・チェックポイントを最
後にレコードした以後に所定数の前記ソース・データの
マイグレーションが生じた後、前記直前の宛先ストライ
プに対する閾値ストライプ・チェックポイントをレコー
ドするための手段を更に含む、上記(8)に記載のシス
テム。 (11)前記閾値ストライプ・チェックポイントを持っ
た宛先ストライプにないデータを前記後続の宛先ストラ
イプが含む場合、前記直前の宛先ストライプに対する前
記宛先ストライプ・チェックポイントをレコードするた
めの手段を更に含む、上記(10)に記載のシステム。 (12)前記複数のソース・データの1つへの着信デー
タの書き込みを受けるための手段と、前記ソース・デー
タが書き込み宛先ストライプにマイグレーションされて
ない場合、前記データの書き込みを実行するための手段
と、前記ソース・データが前記書き込み宛先ストライプ
にマイグレーションされている場合、前記書き込み宛先
ストライプが前記宛先ストライプ・チェックポイント又
は前記閾値ストライプ・チェックポイントをレコードし
ているときには前記データの書き込みを実行するための
手段と、前記データの書き込みが前記宛先ストライプ・
チェックポイント又は前記閾値ストライプ・チェックポ
イントをレコードしてない書き込み宛先ストライプに対
するものである場合、前記書き込み宛先ストライプの直
前の宛先ストライプに書き込み宛先ストライプ・チェッ
クポイントをレコードし、前記書き込み宛先ストライプ
へのデータ書き込みを実行するための手段と、を更に含
む、上記(8)に記載のシステム。 (13)前記システムは論理ドライブ・マイグレーショ
ン時に利用される、上記(8)に記載のシステム。 (14)前記システムはドライブ再構成時に利用され
る、上記(8)に記載のシステム。 (15)新磁気ディスク制御機構(RAID)システム
において複数のソース・データを第1論理ドライブ構成
から第2論理ドライブ構成にマイグレーションするため
のコンピュータ・プログラムにして、ソース・データを
現在の宛先ストライプにマイグレーションするためのコ
ンピュータ・プログラム・コードと、後続の宛先ストラ
イプに進むためのコンピュータ・プログラム・コード
と、直前の宛先ストライプに対する宛先ストライプ・チ
ェックポイントを持った宛先ストライプにないデータを
前記後続の宛先ストライプが含む場合、前記宛先ストラ
イプ・チェックポイントをレコードするためのコンピュ
ータ・プログラム・コードと、を含むコンピュータ・プ
ログラム。 (16)前記ソース・データがすべて前記宛先ストライ
プにマイグレーションされるまで、後続のソース・デー
タに対して、前記マイグレーションするためのコンピュ
ータ・プログラム・コード、前記進むためのコンピュー
タ・プログラム・コード、及び前記レコードするための
コンピュータ・プログラム・コードの実行を繰り返すた
めのコンピュータ・プログラム・コードを更に含む、上
記(8)に記載のコンピュータ・プログラム。 (17) 前記宛先ストライプ・チェックポイントを最
後にレコードした以後に所定数の前記ソース・データの
マイグレーションが生じた後、前記直前の宛先ストライ
プに対する閾値ストライプ・チェックポイントをレコー
ドするためのコンピュータ・プログラム・コードを更に
含む、上記(15)に記載のコンピュータ・プログラ
ム。 (18)前記閾値ストライプ・チェックポイントを持っ
た宛先ストライプにないデータを前記後続の宛先ストラ
イプが含む場合、前記直前の宛先ストライプに対する前
記宛先ストライプ・チェックポイントをレコードするた
めのコンピュータ・プログラム・コードを更に含む、上
記(17)に記載のコンピュータ・プログラム。 (19)前記複数のソース・データの1つへの着信デー
タの書き込みを受けるためのコンピュータ・プログラム
・コードと、前記ソース・データが書き込み宛先ストラ
イプにマイグレーションされてない場合、前記データの
書き込みを実行するためのコンピュータ・プログラム・
コードと、前記ソース・データが前記書き込み宛先スト
ライプにマイグレーションされている場合、前記書き込
み宛先ストライプが前記宛先ストライプ・チェックポイ
ント又は前記閾値ストライプ・チェックポイントをレコ
ードしているときには前記データの書き込みを実行する
ためのコンピュータ・プログラム・コードと、前記デー
タの書き込みが前記宛先ストライプ・チェックポイント
又は前記閾値ストライプ・チェックポイントをレコード
してない書き込み宛先ストライプに対するものである場
合、前記書き込み宛先ストライプの直前の宛先ストライ
プに書き込み宛先ストライプ・チェックポイントをレコ
ードし、前記書き込み宛先ストライプへのデータの書き
込みを実行するためのコンピュータ・プログラム・コー
ドと、を更に含む、上記(15)に記載のコンピュータ
・プログラム。 (20)前記コンピュータ・プログラムは論理ドライブ
・マイグレーション時に利用される、上記(15)に記
載のコンピュータ・プログラム。 (21)前記コンピュータ・プログラムはドライブ再構
成時に利用される、上記(15)に記載のコンピュータ
・プログラム。
【図面の簡単な説明】
【図1】本発明の望ましい実施例に従って利用可能なデ
ータ記憶システムのブロック図を示す。
【図2】1−ドライブRAIDレベル0から2−ドライ
ブRAIDレベル0までデータを移動させるRAID論
理ドライブ・マイグレーションの描画的イメージを示
す。
【図3】論理ドライブマイグレーションにおける本発明
のチェックポイント・システムの方法を表す高レベルの
論理フロー・チャートを示す。
【図4】論理ドライブ・マイグレーション時の並行書き
込みを示す高レベルの論理フロー・チャートを示す。
フロントページの続き (72)発明者 リンダ・アン・リードル アメリカ合衆国27502、ノース・カロライ ナ州、アペックス、ジンジャーゲート・ド ライブ 305 Fターム(参考) 5B065 BA01 CA30 CE21 5B082 FA05

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】新磁気ディスク制御機構(RAID)シス
    テムにおいて論理ドライブにおける複数のソース・デー
    タを第1構成から第2構成にマイグレーションするため
    の方法にして、 ソース・データを現在の宛先ストライプにマイグレーシ
    ョンするステップと、 後続の宛先ストライプに進むステップと、 直前の宛先ストライプに対する宛先ストライプ・チェッ
    クポイントを持った宛先ストライプにないデータを前記
    後続の宛先ストライプが含む場合、前記宛先ストライプ
    ・チェックポイントをレコードするステップと、 を含む方法。
  2. 【請求項2】前記ソース・データがすべて前記宛先スト
    ライプにマイグレーションされるまで、後続のソース・
    データに対して、前記マイグレーションするステップ、
    前記進むステップ、及び前記レコードするステップを繰
    り返すステップを更に含む、請求項1に記載の方法。
  3. 【請求項3】前記宛先ストライプ・チェックポイントを
    最後にレコードした以後に所定数の前記ソース・データ
    のマイグレーションが生じた後、前記直前の宛先ストラ
    イプに対する閾値ストライプ・チェックポイントをレコ
    ードするステップを更に含む、請求項1に記載の方法。
  4. 【請求項4】前記閾値ストライプ・チェックポイントを
    持った宛先ストライプにないデータを前記後続の宛先ス
    トライプが含む場合、前記直前の宛先ストライプに対す
    る前記宛先ストライプ・チェックポイントをレコードす
    るステップを更に含む、請求項3に記載の方法。
  5. 【請求項5】前記複数のソース・データの1つへの着信
    データの書き込みを受けるステップと、 前記ソース・データが書き込み宛先ストライプにマイグ
    レーションされてない場合、前記データの書き込みを実
    行するステップと、 前記ソース・データが前記書き込み宛先ストライプにマ
    イグレーションされている場合、前記書き込み宛先スト
    ライプが前記宛先ストライプ・チェックポイント又は前
    記閾値ストライプ・チェックポイントをレコードしてい
    るときには前記データの書き込みを実行するステップ
    と、 前記データの書き込みが前記宛先ストライプ・チェック
    ポイント又は前記閾値ストライプ・チェックポイントを
    レコードしてない書き込み宛先ストライプに対するもの
    である場合、前記書き込み宛先ストライプの直前の宛先
    ストライプに書き込み宛先ストライプ・チェックポイン
    トをレコードし、前記書き込み宛先ストライプへのデー
    タ書き込みを実行するステップと、 を更に含む、請求項1に記載の方法。
  6. 【請求項6】前記方法は論理ドライブ・マイグレーショ
    ン時に生じる、請求項1に記載の方法。
  7. 【請求項7】前記方法はドライブ再構成時に生じる、請
    求項1に記載の方法。
  8. 【請求項8】新磁気ディスク制御機構(RAID)シス
    テムにおいて複数のソース・データを第1論理ドライブ
    構成から第2論理ドライブ構成にマイグレーションする
    ためのデータ処理システムにおけるシステムにして、 ソース・データを現在の宛先ストライプにマイグレーシ
    ョンするための手段と、 後続の宛先ストライプに進むための手段と、 直前の宛先ストライプに対する宛先ストライプ・チェッ
    クポイントを持った宛先ストライプにないデータを前記
    後続の宛先ストライプが含む場合、前記宛先ストライプ
    ・チェックポイントをレコードするための手段と、 を含むシステム。
  9. 【請求項9】前記ソース・データがすべて前記宛先スト
    ライプにマイグレーションされるまで、後続のソース・
    データに対して、前記マイグレーションするための手
    段、前記進むための手段、及び前記レコードするための
    手段の動作を繰り返すための手段を更に含む、請求項8
    に記載のシステム。
  10. 【請求項10】前記宛先ストライプ・チェックポイント
    を最後にレコードした以後に所定数の前記ソース・デー
    タのマイグレーションが生じた後、前記直前の宛先スト
    ライプに対する閾値ストライプ・チェックポイントをレ
    コードするための手段を更に含む、請求項8に記載のシ
    ステム。
  11. 【請求項11】前記閾値ストライプ・チェックポイント
    を持った宛先ストライプにないデータを前記後続の宛先
    ストライプが含む場合、前記直前の宛先ストライプに対
    する前記宛先ストライプ・チェックポイントをレコード
    するための手段を更に含む、請求項10に記載のシステ
    ム。
  12. 【請求項12】前記複数のソース・データの1つへの着
    信データの書き込みを受けるための手段と、 前記ソース・データが書き込み宛先ストライプにマイグ
    レーションされてない場合、前記データの書き込みを実
    行するための手段と、 前記ソース・データが前記書き込み宛先ストライプにマ
    イグレーションされている場合、前記書き込み宛先スト
    ライプが前記宛先ストライプ・チェックポイント又は前
    記閾値ストライプ・チェックポイントをレコードしてい
    るときには前記データの書き込みを実行するための手段
    と、 前記データの書き込みが前記宛先ストライプ・チェック
    ポイント又は前記閾値ストライプ・チェックポイントを
    レコードしてない書き込み宛先ストライプに対するもの
    である場合、前記書き込み宛先ストライプの直前の宛先
    ストライプに書き込み宛先ストライプ・チェックポイン
    トをレコードし、前記書き込み宛先ストライプへのデー
    タ書き込みを実行するための手段と、 を更に含む、請求項8に記載のシステム。
  13. 【請求項13】前記システムは論理ドライブ・マイグレ
    ーション時に利用される、請求項8に記載のシステム。
  14. 【請求項14】前記システムはドライブ再構成時に利用
    される、請求項8に記載のシステム。
  15. 【請求項15】新磁気ディスク制御機構(RAID)シ
    ステムにおいて複数のソース・データを第1論理ドライ
    ブ構成から第2論理ドライブ構成にマイグレーションす
    るためのコンピュータ・プログラムにして、 ソース・データを現在の宛先ストライプにマイグレーシ
    ョンするためのコンピュータ・プログラム・コードと、 後続の宛先ストライプに進むためのコンピュータ・プロ
    グラム・コードと、 直前の宛先ストライプに対する宛先ストライプ・チェッ
    クポイントを持った宛先ストライプにないデータを前記
    後続の宛先ストライプが含む場合、前記宛先ストライプ
    ・チェックポイントをレコードするためのコンピュータ
    ・プログラム・コードと、 を含むコンピュータ・プログラム。
  16. 【請求項16】前記ソース・データがすべて前記宛先ス
    トライプにマイグレーションされるまで、後続のソース
    ・データに対して、前記マイグレーションするためのコ
    ンピュータ・プログラム・コード、前記進むためのコン
    ピュータ・プログラム・コード、及び前記レコードする
    ためのコンピュータ・プログラム・コードの実行を繰り
    返すためのコンピュータ・プログラム・コードを更に含
    む、請求項8に記載のコンピュータ・プログラム。
  17. 【請求項17】前記宛先ストライプ・チェックポイント
    を最後にレコードした以後に所定数の前記ソース・デー
    タのマイグレーションが生じた後、前記直前の宛先スト
    ライプに対する閾値ストライプ・チェックポイントをレ
    コードするためのコンピュータ・プログラム・コードを
    更に含む、請求項15に記載のコンピュータ・プログラ
    ム。
  18. 【請求項18】前記閾値ストライプ・チェックポイント
    を持った宛先ストライプにないデータを前記後続の宛先
    ストライプが含む場合、前記直前の宛先ストライプに対
    する前記宛先ストライプ・チェックポイントをレコード
    するためのコンピュータ・プログラム・コードを更に含
    む、請求項17に記載のコンピュータ・プログラム。
  19. 【請求項19】前記複数のソース・データの1つへの着
    信データの書き込みを受けるためのコンピュータ・プロ
    グラム・コードと、 前記ソース・データが書き込み宛先ストライプにマイグ
    レーションされてない場合、前記データの書き込みを実
    行するためのコンピュータ・プログラム・コードと、 前記ソース・データが前記書き込み宛先ストライプにマ
    イグレーションされている場合、前記書き込み宛先スト
    ライプが前記宛先ストライプ・チェックポイント又は前
    記閾値ストライプ・チェックポイントをレコードしてい
    るときには前記データの書き込みを実行するためのコン
    ピュータ・プログラム・コードと、 前記データの書き込みが前記宛先ストライプ・チェック
    ポイント又は前記閾値ストライプ・チェックポイントを
    レコードしてない書き込み宛先ストライプに対するもの
    である場合、前記書き込み宛先ストライプの直前の宛先
    ストライプに書き込み宛先ストライプ・チェックポイン
    トをレコードし、前記書き込み宛先ストライプへのデー
    タの書き込みを実行するためのコンピュータ・プログラ
    ム・コードと、 を更に含む、請求項15に記載のコンピュータ・プログ
    ラム。
  20. 【請求項20】前記コンピュータ・プログラムは論理ド
    ライブ・マイグレーション時に利用される、請求項15
    に記載のコンピュータ・プログラム。
  21. 【請求項21】前記コンピュータ・プログラムはドライ
    ブ再構成時に利用される、請求項15に記載のコンピュ
    ータ・プログラム。
JP2002212083A 2001-08-14 2002-07-22 Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム Expired - Fee Related JP3752203B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/929445 2001-08-14
US09/929,445 US6718435B2 (en) 2001-08-14 2001-08-14 Method and system for migrating data in a raid logical drive migration

Publications (2)

Publication Number Publication Date
JP2003131817A true JP2003131817A (ja) 2003-05-09
JP3752203B2 JP3752203B2 (ja) 2006-03-08

Family

ID=25457870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002212083A Expired - Fee Related JP3752203B2 (ja) 2001-08-14 2002-07-22 Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム

Country Status (2)

Country Link
US (1) US6718435B2 (ja)
JP (1) JP3752203B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012005A (ja) * 2004-06-29 2006-01-12 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法
JP2007242019A (ja) * 2006-03-07 2007-09-20 Hewlett-Packard Development Co Lp 分散データの階層的管理のための方法及びシステム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6785836B2 (en) * 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US7707151B1 (en) * 2002-08-02 2010-04-27 Emc Corporation Method and apparatus for migrating data
US7082498B2 (en) * 2002-11-04 2006-07-25 Lsi Logic Corporation Online RAID migration without non-volatile memory
US7162575B2 (en) * 2002-12-20 2007-01-09 Veritas Operating Corporation Adaptive implementation of requested capabilities for a logical volume
US20040199910A1 (en) * 2003-04-05 2004-10-07 Baack James E. Automated change back off process for restoring the root disk
JP2004318743A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd ファイル移送装置
JP2005107841A (ja) * 2003-09-30 2005-04-21 Toshiba Corp ディスクアレイコントローラ及び容量拡張方法
CN100337224C (zh) * 2003-12-03 2007-09-12 华为技术有限公司 一种本地数据迁移的方法
US20060059306A1 (en) * 2004-09-14 2006-03-16 Charlie Tseng Apparatus, system, and method for integrity-assured online raid set expansion
JP2006107351A (ja) * 2004-10-08 2006-04-20 Fujitsu Ltd データ移行方法、記憶装置及びプログラム
JP4440803B2 (ja) * 2005-03-03 2010-03-24 富士通株式会社 記憶装置、その制御方法及びプログラム
US7725728B2 (en) * 2005-03-23 2010-05-25 Business Objects Data Integration, Inc. Apparatus and method for dynamically auditing data migration to produce metadata
US7478278B2 (en) * 2005-04-14 2009-01-13 International Business Machines Corporation Template based parallel checkpointing in a massively parallel computer system
US7529903B2 (en) * 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
US7873799B2 (en) * 2005-11-04 2011-01-18 Oracle America, Inc. Method and system supporting per-file and per-block replication
US20070162695A1 (en) * 2006-01-12 2007-07-12 Dell Products L.P. Method for configuring a storage drive
CN100403249C (zh) * 2006-06-19 2008-07-16 威盛电子股份有限公司 磁盘阵列及其数据存取方法
US8200771B2 (en) * 2008-10-10 2012-06-12 International Business Machines Corporation Workload migration using on demand remote paging
US8195877B2 (en) * 2009-04-29 2012-06-05 Hewlett Packard Development Company, L.P. Changing the redundancy protection for data associated with a file
US8751738B2 (en) * 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
EP2842036B1 (en) 2012-04-27 2019-07-03 Hewlett-Packard Enterprise Development LP Local checkpointing using a multi-level cell
JP6209926B2 (ja) * 2013-10-09 2017-10-11 富士通株式会社 ストレージ制御装置、およびストレージ装置の制御プログラム
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
EP3612922A1 (en) 2017-06-12 2020-02-26 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506977A (en) 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5974544A (en) 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
US5313626A (en) 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5315602A (en) 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5822584A (en) 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
US5913927A (en) 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US5742752A (en) 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5790773A (en) 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US6138125A (en) 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012005A (ja) * 2004-06-29 2006-01-12 Tokyo Institute Of Technology 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法
JP4528039B2 (ja) * 2004-06-29 2010-08-18 国立大学法人東京工業大学 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法
JP2007242019A (ja) * 2006-03-07 2007-09-20 Hewlett-Packard Development Co Lp 分散データの階層的管理のための方法及びシステム
JP4541373B2 (ja) * 2006-03-07 2010-09-08 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 分散データの階層的管理のための方法及びシステム

Also Published As

Publication number Publication date
JP3752203B2 (ja) 2006-03-08
US6718435B2 (en) 2004-04-06
US20030039148A1 (en) 2003-02-27

Similar Documents

Publication Publication Date Title
JP3752203B2 (ja) Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム
CN108733503B (zh) 存储节点、分布式存储系统以及用于存储数据的方法
US7975168B2 (en) Storage system executing parallel correction write
US5875457A (en) Fault-tolerant preservation of data integrity during dynamic raid set expansion
US7650533B1 (en) Method and system for performing a restoration in a continuous data protection system
US6898668B2 (en) System and method for reorganizing data in a raid storage system
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US5457791A (en) Storage system and method of control
US20050050381A1 (en) Methods, apparatus and controllers for a raid storage system
JPH04278641A (ja) データ記憶システム及び方法
JP2004118837A (ja) 耐故障性の記憶サブシステムにデータを格納するための方法、記憶サブシステムおよびそのシステムのためのデータ編成管理プログラム
JPH08263227A (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
JP2002259062A (ja) 記憶装置システム及び記憶装置システムにおけるデータの複写方法
JP2007004788A (ja) インタリーブされたバックアップを提供するための方法及びシステム
KR19980021384A (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
US6636954B2 (en) Method and apparatus for inter-disk copy processing, and a computer product
JP2002108571A (ja) ディスクアレイのディスク障害復旧方法
JP2003140981A (ja) バックアップ管理方法およびこの方法に用いる記憶制御装置
JP2857288B2 (ja) ディスクアレイ装置
JP2010026812A (ja) 磁気ディスク装置
KR101554550B1 (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
JPH08286844A (ja) パリティ生成制御方法およびディスク制御装置
JP2001175422A (ja) ディスクアレイ装置
JPH05108277A (ja) デイスクアレイサブシステムのデータ復旧手段

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050906

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081216

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees