JP3792269B2 - 階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法 - Google Patents

階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法 Download PDF

Info

Publication number
JP3792269B2
JP3792269B2 JP12549195A JP12549195A JP3792269B2 JP 3792269 B2 JP3792269 B2 JP 3792269B2 JP 12549195 A JP12549195 A JP 12549195A JP 12549195 A JP12549195 A JP 12549195A JP 3792269 B2 JP3792269 B2 JP 3792269B2
Authority
JP
Japan
Prior art keywords
storage
raid
data
disks
disk array
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.)
Expired - Fee Related
Application number
JP12549195A
Other languages
English (en)
Other versions
JPH0844503A (ja
Inventor
マイケル・ビー・ジャコブソン
マーヴィン・ディー・ネルソン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0844503A publication Critical patent/JPH0844503A/ja
Application granted granted Critical
Publication of JP3792269B2 publication Critical patent/JP3792269B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • 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

Description

【0001】
【産業上の利用分野】
本発明は、階層ディスク・アレイ・データ記憶システム等のデータ記憶システム、及びこうしたシステムにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法に関する。
【0002】
【従来の技術】
コンピュータ・システムは、速度、信頼性、及び処理能力の点で絶えず進歩している。その結果、コンピュータは、より複雑で高度なアプリケーションを処理できるようになった。しかし、コンピュータが進歩するにつれて、大容量記憶域、及び入出力(I/O)装置に対する性能面での要求が増加している。進化するコンピュータ・システムに性能面で追随する大容量記憶システムを設計する必要が引き続きある。
【0003】
本発明は、特に、ディスク・アレイ・タイプの大容量記憶システムに関する。ディスク・アレイ・データ記憶システムは、単一大容量記憶システムを形成するように配置、調整された複数の記憶ディスク・ドライブ装置を有する。大容量記憶システムには、コスト、性能、及び可用性の3つの主要な設計基準がある。1メガバイト当りのコストが低く、入出力性能が高く、データ可用性が高い記憶装置を製造することが最も望ましい。「可用性」とは、障害、又は他の何らかの理由のためにデータのある部分がアクセス不能になった場合でも、記憶システム内に記憶されているデータを回復する能力と、そうした障害の場合に、動作を確実に続けられる能力である。通常、データ可用性は、データ、又はデータ間の関係が複数の位置に記憶される、冗長性を用いることによって与えられる。
【0004】
【発明が解決しようとする課題】
冗長データを記憶する2つの一般的な方法がある。第1の方法、即ち「ミラー」技法によれば、データは記憶システムの2つの別々の領域にコピーされ記憶される。例えば、ディスク・アレイでは、ディスク・アレイ内の2つの別々のディスクに同一のデータが提供される。ミラー技法は、二重の記憶技法であるために、性能、及びデータ可用性が高いという利点を有する。しかし、ミラー技法はデータを記憶するコストを事実上2倍にするので、比較的高価でもある。
【0005】
第2の方法、即ち「パリティ」技法では、記憶領域の一部分が冗長データを記憶するために使用されるが、この冗長データ記憶領域のサイズは、元のデータを記憶するために使用された現存する記憶空間より小さい。例えば、5つのディスクを有するディスク・アレイでは、4つのディスクが、データを記憶するために使用され、5つ目のディスクが、冗長データを記憶するためだけに使用される。パリティ技法は、ミラー技法よりコストが低いため有利ではあるが、ミラー技法と比べて性能、及び可用性が低い。
【0006】
ディスク・アレイ・データ記憶システムを設計する際の1つの問題は、記憶ディスクによって提供される記憶容量を最大限使用し、冗長によって、データについて所望の可用性、及び信頼性を維持することに関する。この問題は、記憶容量の等しい複数の記憶ディスク・ドライブ装置を使用する「同種の」ディスク・アレイの場合はあまり問題にならない。一方、記憶容量の異なる複数の記憶ディスクを使用する「異種の」ディスク・アレイではこの問題が顕在化する。従来の複数異種ディスク・アレイは、その構成の中で最も小さい容量のディスクの容量を超える、各記憶ディスク上の部分が使用できないことが多い。このような使用率の低下は、記憶コストの増大を招き望ましくない。
【0007】
従来技術における1つの解決策は、これらの容量の異なる不均一な記憶ディスクを複数の独立した記憶ボリュームとしてホスト・コンピュータ・システムに提供することである。この解決策は、容量計画、及びデータ管理の面で複雑さ、及び困難さを増すという欠点がある。
【0008】
関連する他の問題は、既存のディスク・アレイ・データ記憶システムに、容量のより大きな記憶ディスク・ドライブ装置を追加することに関する。技術の進歩によって、ディスク・ドライブ装置の記憶容量が改良されてきており、従って、既存のディスク・アレイの記憶容量を増加させるために、後で購入された記憶ディスクは通常、現在ディスク・アレイにある古いディスクより大きな容量を有している。こうした新しい大容量のディスクを追加すると、以前は同種であったディスク・アレイはバランスが崩れ、すでに異種となったディスク・アレイは更に多様化する可能性がある。従来のディスク・アレイでは、新しいディスクの追加記憶容量は、構成内で最も小さい容量のディスクの容量を超えているので無駄になることが多い。
【0009】
従って、複数の独立した記憶容量を定義することなく、ディスク・アレイ・データ記憶システム内の全ての記憶容量の使用率を向上させ、同時に、データ可用性を維持する必要がある。容量の異なる追加記憶ディスクに適応し、その容量全てを使用するディスク・アレイも必要である。
【0010】
【課題を解決するための手段】
本発明は、容量の異なる不均一な記憶ディスクを異種階層ディスク・アレイにおいて使用する方法を提供する。本発明は、容量の異なる記憶ディスクを別々の記憶ボリュームとして提供せずに、これらの記憶ディスクを単一ボリュームとしてホスト・コンピュータ・システムに提供し、この最大限の使用を達成する。
【0011】
記憶容量を使用する一方法によれば、異種階層ディスク・アレイは、最小限2つのサイズの等しい記憶ディスクを含むように構成され、その記憶ディスクはディスク・アレイ内の記憶ディスクのうちで容量が最大でもある。ここで、そのアレイ内の全ての記憶ディスクが、複数の領域にセグメント化される。RAID領域は、複数のディスクにわたる、連続した領域で形成される。この連続した領域は個々の記憶ディスク上の同じ物理アドレスにある物理記憶空間を表している。
【0012】
RAID領域は、物理記憶空間のビューを単一記憶ボリュームとして提供する仮想記憶空間にマッピングされる。次に、各RAID領域が幾つかの冗長データを記憶する、選択されたRAIDレベル(RAIDレベル1、又はRAIDレベル5等)に従うRAID領域に、データが記憶される。従って、2つ以上の、容量が最大であるディスクを使用して、次に大きな容量のディスクの容量を超える部分から成る、連続した記憶領域に、ミラー冗長(容量が最大であるディスクが2つ以上の場合)、又はパリティ冗長(容量が最大であるディスクが3つ以上の場合)に従ってデータを記憶することができる。
【0013】
記憶容量を使用する他の方法は、個々の記憶ディスクの非連続領域を結合してRAID領域を形成することである。連続領域とは異なり、このような非連続領域は、様々な複数の記憶ディスクにわたって散在する異なる物理アドレスにある物理記憶空間を表す。このRAID領域も、物理記憶空間のビューを単一記憶ボリュームとして提供する仮想記憶空間にマッピングされる。データは、各RAID領域が幾つかの冗長データを記憶する、選択されたRAIDレベルに従って、RAID領域に記憶される。
【0014】
本発明の実施に関する最良の態様を具体化する例を示す添付図面に関して、以下に本発明の好適実施例を説明する。
【0015】
【実施例】
本発明の開示は、米国特許法の法律上の目的「科学、及び有用な技術の進歩を推進するため(米国憲法第1章第8条)」を推進するために提出されたものである。
【0016】
図1は、本発明によって構成されたデータ記憶システム10を示す。データ記憶システム10は、記憶容量の異なる複数の不均一な記憶ディスク12を有する異種階層ディスク・アレイ11を含むディスク・アレイ・データ記憶システムであることが好ましい。データ記憶システム10は、記憶ディスク12との間のデータ転送の調整を行うためにディスク・アレイ11に結合されたディスク・アレイ制御装置14、及びRAID管理システム16も含む。
【0017】
本開示に関し、「ディスク」とは、それ自体の記憶障害を検出することができる、不揮発性、ランダム・アクセス可能、かつ再書込み可能な大容量記憶装置である。このディスクは、回転磁気ディスクと回転光ディスク、及び固体ディスクの両方、又は不揮発性電子記憶素子(PROM、EPROM、EEPROM等)を含む。「ディスク・アレイ」という用語は、ディスク、1つ以上のホスト・コンピュータにディスクを接続するために必要なハードウェア、及び物理ディスクの動作を制御して、この物理ディスクを1つ以上の仮想ディスクとしてホスト動作環境に提供するために使用される管理ソフトウェアの集合である。「仮想ディスク」とは、管理ソフトウェアによってディスク・アレイ内で実現される抽象的実体である。「単一ボリューム」又は「ボリューム・セット」という用語は、同体であり、単一装置として機能する、物理記憶ディスクのグループを意味する。
【0018】
「RAID」(Redundant Array of Independent Disks(独立ディスクの冗長アレイ))という用語は、物理記憶容量の一部を使用して、残りの記憶容量上に記憶されたユーザ・データに関する冗長情報を記憶するディスク・アレイを意味する。この冗長情報によって、アレイを構成するディスクの1つ、又はディスクへのアクセス経路に障害が発生した場合に、ユーザ・データを再生成することができる。RAIDシステムに関するより詳細な議論は、1993年6月9日、RAID Advisory Board,Lino Lakes, Minnesotaによって発行された「The RAIDBook: A Source Book for RAID Technology」と題する文献に記載されている。
【0019】
ディスク・アレイ制御装置14は、小型コンピュータ・システム・インタフェース(SCSI)等のような1つ以上のインタフェース・バス13を介してディスク・アレイ11に結合されている。RAID管理システム16は、インタフェース・プロトコル15を介してディスク・アレイ制御装置14に動作可能に結合されている。データ記憶システム10も入出力インタフェース・バス17を介してホスト・コンピュータ(図示せず)に結合されている。RAID管理システム16は、個別の構成要素として実施することも、あるいはディスク・アレイ制御装置14内、又はホスト・コンピュータ内に構成することもできる。RAID管理システム16は、ディスクの記憶レベル、及び信頼性レベルを制御し、様々な信頼性記憶レベル間でデータを転送するデータ管理手段を提供する。これらの信頼性記憶レベルは、後述のようにミラー冗長レベル、又はパリティ冗長レベルであることが好ましいが、冗長性を持たない信頼性記憶レベルを含むこともできる。
【0020】
ディスク・アレイ制御装置14は、ディスク・アレイ制御装置A(14a)とディスク・アレイ制御装置B(14b)から成る二重の制御装置として実施することが好ましい。この二重の制御装置14a、及び14bは、一方の制御装置が動作不能に陥った場合に、連続的バックアップ、及び冗長性を提供することによって、信頼性を拡張する。しかし、本発明の方法は単一の制御装置で実施することも、又、他の制御装置の構成で実施することもできる。
【0021】
階層ディスク・アレイ11は、物理記憶空間、及び1つ以上の仮想記憶空間を含む、異なる記憶空間の集合として特徴付けることができる。このような記憶域の様々なビューは、マッピング技法によって関連付けられる。例えば、ディスク・アレイの物理記憶空間は、様々なデータ信頼性レベルに従う記憶域を表す仮想記憶空間にマッピングすることができる。仮想記憶空間内の幾つかの領域は、ミラー、即ちRAIDレベル1のような第1の信頼性記憶レベルに関して割り当てられることができ、他の領域は、パリティ、即ちRAIDレベル5のような第2の信頼性記憶レベルに関して割り当てられうる。RAIDレベルに関する様々なマッピング技法、及び仮想空間は、図4に関して以下で詳細に説明する。
【0022】
データ記憶システム10は、異なる記憶空間を相互にマッピングするために使用される仮想マッピング情報の記憶を持続させるメモリ・マップ記憶21を含む。このメモリ・マップ記憶は、ディスク・アレイの外部にあり、ディスク・アレイ制御装置14内に常駐することが好ましい。メモリ・マッピング情報は、異なるビュー間の様々なマッピング構成が変化した時に、制御装置、又はRAID管理システムによって連続的に、又は周期的に更新されうる。
【0023】
メモリ・マップ記憶21は、それぞれの制御装置14a、及び14b内に配置された2つの不揮発性RAM(ランダム・アクセス・メモリ)21a、及び21bとして実施されることが好ましい。不揮発性RAM(NVRAM)の一例は、バッテリ・バックアップ型RAMである。バッテリ・バックアップ型RAMは、独立したバッテリ源からのエネルギーを使用して、データ記憶システム10への電力供給がなされない場合、その期間、メモリ内のデータを維持する。1つの好適な構成は、自己リフレッシュ・バッテリ・バックアップ型DRAM(ダイナミックRAM)である。
【0024】
二重のNVRAM21a、及び21bは、メモリ・マッピング情報の冗長記憶を可能にする。この仮想マッピング情報は、ミラー冗長技法に従って、NVRAM21aとNVRAM21bの両方にコピーされ記憶される。このように、元のマッピング情報を記憶することだけにNVRAM21aを使用し、冗長マッピング情報を記憶することだけにNVRAM21bを使用することができる。代替構成では、ミラーリングされたメモリ・マップ記憶は、二重にデータを記憶するのに十分な空間を有する単一の不揮発性RAMを使用して構成されうる。
【0025】
図1に示したように、異種ディスク・アレイ11は、異なるサイズの容量を有する複数の不均一な記憶ディスク・ドライブ装置12を有する。これらの記憶ディスクのサイズの一例は、1ギガバイト、2ギガバイト、又は3ギガバイトであるが、他のサイズも適用可能である。容量が異なるにもかかわらず、記憶ディスク12は、複数のディスクが、結合した単一メモリ装置として同体で機能する、単一ボリューム・セットとして、ホスト・コンピュータに提供される。更に、データ記憶システム10は、ディスク・アレイが動作中に、容量が同じか、又は異なる追加ディスクを、ディスク・アレイ内の利用可能な機械ベイに「常時挿入(hot plug)」できるように設計されている。この記憶ディスクは、SCSIバス13とのインタフェースを提供する機械ベイに独立して接続、又は取り外しが可能である。ディスク・アレイ制御装置14は、記憶ディスク12がどのベイに挿入されるかにかかわらず、記憶ディスクを認識する。
【0026】
ディスク・アレイ11内の記憶ディスク12は、説明のために、複数のディスク20から成るミラー・グループ18、及び複数のディスク24から成るパリティ・グループ22に配置されたものとして概念化されうる。ミラー・グループ18は、第1の、即ちミラー冗長レベルに従ってデータを記憶するディスク・アレイの第1のメモリ位置、即ち第1のRAID領域を表す。このミラー冗長レベルは、RAIDレベル1としてもみなされる。RAIDレベル1、即ちディスク・ミラーリングは、あらゆるデータのビットがデータ記憶システム内にコピーされ記憶される、1対1の保護を提供することによって、最高のデータ信頼性を与える。ミラー冗長は図1の3つのディスク対20によって概略的に示されている。元のデータは、第1セットのディスク26上に記憶されることができ、一方コピーされた冗長データは、対になった第2セットのディスク28上に記憶される。
【0027】
図2は、RAIDレベル1に従ったデータの記憶をより詳細に示す。縦の列は、ディスク0、ディスク1、ディスク2、及びディスク3で示される個別のディスクを表す。この4つのディスクから成るディスク・アレイ内に含まれる物理記憶空間は、横の行で表されるように、複数のストライプとして構成することができる。「ストライプ」は、複数の記憶ディスクにわたって広がり、1つのセグメントが、アレイ内の各ディスクに関連付けられた、サイズの等しい多数の記憶空間のセグメントから成る。即ち、セグメントはストライプの一部であり、単一ディスク上に常駐する。各ストライプは、複数の記憶ディスクにわたって分配された所定量のデータを保持する。ストライプ内のいくつかのセグメントは、元のデータに関して使用され、他のセグメントは冗長データに使用される。
【0028】
ミラー冗長(RAIDレベル1)のこの例では、ストライプ0のセグメント0内でディスク0上に記憶されているデータは、ストライプ0のセグメント0’内でディスク1上にコピーされ記憶される。同様に、ストライプ2のセグメント5内でディスク2上に記憶されているデータは、ストライプ2のセグメント5’内でディスク3上にミラーリングされる。このように、各データは、該ディスク上にコピーされ記憶される。図2の冗長のレイアウトは、説明のために提供されている。冗長データは、図に示されるように、同じストライプ内に整然と配置される必要はない。例えば、ストライプ1のセグメント2内でディスク0上に記憶されているデータをストライプSのセグメントT’内のディスク3上にコピーして配置することができる。
【0029】
再び図1を参照すると、ディスク24のパリティ・グループ22は、データがRAIDレベル5のような第2の冗長レベルに従って記憶される第2のメモリ位置、即ち第2のRAID領域を表す。6つのディスクから成るこの説明図では、元のデータは5つのディスク30上に記憶され、冗長の「パリティ」データは6つ目のディスク32上に記憶される。
【0030】
図3は、パリティRAID領域のレイアウトをより詳細に示している。図2のミラーRAID領域のレイアウトと同様、ディスク0、1、2、3の物理記憶領域は、サイズの等しい複数のストライプとして構成することができる。この図の例では、データがRAIDレベル5に従って記憶され、セグメント内に記憶されている冗長データが、文字Pで示されている。冗長セグメントPは、ストライプ内の他のセグメントのパリティを記憶する。例えば、ストライプ0では、ディスク3上の冗長セグメントPは、ディスク0、1、及び2のパリティを記憶する。各ストライプに関するパリティは、排他OR関数のような何らかの関数によって計算される。最初の4つのストライプのパリティ(下付き数値は、対応するストライプを表す)は以下の通りである。
【0031】
【数1】
Figure 0003792269
【0032】
パリティ冗長によって、複数のディスクのうちの1つで使用できなくなったデータを再生成することができる。例えば、セグメント5内のデータが使用できなくなった場合、その内容は、セグメント3、4、及びセグメントP内のパリティ・データから確認することができる。パリティ記憶はミラー記憶より廉価であるが、信頼性、及び性能が低い。
【0033】
図1のディスク配列は、概念を示すために提供されているにすぎない。実際、ディスク・アレイ11はミラー冗長、及びパリティ冗長に従ってデータを記憶できる複数のディスク12を単に有しているだけである。全てのディスク12によって提供される利用可能な記憶域のうちで、その記憶空間の一部がミラー冗長に関して割り当てられ、別の部分がパリティ冗長に関して割り当てられる。ディスク12は、サイズの等しい複数の記憶領域(図4では符号35として参照されている)を含み、その個々の領域が複数のセグメントを有するように構成することが好ましい。更に、RAID領域、及びデータ冗長記憶技法がユーザ、又はホストに対して透過的であるように、記憶空間全体の均一なビューがユーザ、又はホストに提示される。こうした特徴が図4に関して以下でより詳細に議論される。
【0034】
データ記憶システム10は、ミラー記憶技法とパリティ記憶技法の間のデータの「移行」を管理する。両タイプの冗長管理は、RAID管理システム16(図1)によって調整される。RAID管理システム16は、ディスク・アレイ内の2つの異なるタイプのRAID領域を、パリティRAID領域用のキャッシュと同様に動作するミラーRAID領域を有する、メモリ階層として管理する。データがパリティRAID領域からミラーRAID領域に移されると、そのデータが以前にパリティRAID領域で占有していた空間が、他のデータを記憶するために使用可能となる。RAID管理システム16は、定義された性能プロトコルに従ってミラーRAID領域とパリティRAID領域の間でデータをシフトさせ、組織化し、及びその他の方法で管理する。ミラーRAID領域とパリティRAID領域の間でデータを移すプロセスを「移行」と呼ぶ。
【0035】
データ記憶システム10は、より重要なデータをミラーRAID領域に配置し、このことによって最高の性能、及び信頼性が得られる。RAID管理システム16によって実施される性能プロトコルは、2つの好適移行方式のうちの1つを含む。「アクセス頻度方式」として知られる第1の移行方式によれば、階層ディスク・アレイ上で最も頻繁にアクセスされるデータが、ミラーRAID領域18に保持される。それほど頻繁にアクセスされないデータは、パリティRAID領域22に保持される。「アクセス最新度方式」として知られる第2の移行方針によれば、最も新しく検索されたデータはミラーRAID領域18に保持され、以前に検索されたデータはパリティRAID領域22に保持される。他の性能プロトコルを使用することもでき、理想的には、こうしたプロトコルは、特定のコンピュータ・アプリケーション、及びユーザのニーズに基づいて定義される。
【0036】
このように、RAID管理システム16は、アプリケーション、又はユーザの要件に応じてデータ記憶システムの記憶資源を効果的に「調整」する。例えば、高い性能、及び信頼性を必要とするアプリケーションでは、RAID管理システムが、比較的大きなミラーRAID領域を定義、作成して、それによって、パリティRAID領域に比べてより大きい容量の物理記憶容量を、ミラー冗長専用として提供する。逆に、コストが重要であり、性能、又は信頼性がそれほど重要でないアプリケーションでは、RAID管理システムは、ミラーRAID領域と比べて比較的大きなパリティRAID領域を確立することができる。従って、本発明のデータ記憶システムは最大の柔軟性、及び適応性を提供する。
【0037】
図4は、データ記憶システム10の利用可能な記憶空間のメモリ・マッピングを、マッピングされた複数の層をなす仮想記憶空間として示す。図における垂直方向に長い各長方形は、物理記憶空間のビューを表す。この図では、物理記憶空間34が、2つの仮想記憶ビュー40、及び50によって参照されている。物理記憶空間34は、符号0、1、2、及び3で参照した(図1のディスク12のような)4つのディスクで表されている。ディスクに対応する4つの長方形は、ディスク1、2、及び3がほぼ等しい記憶容量を有し、ディスク0がわずかに小さい記憶容量を有する、物理記憶空間のビューを表す。記憶空間34は、領域A0、A1、A2等に区画化される。個々の領域は、領域A0内のストライプ0ないしQのような多数のストライプを含む。個々の領域は、多数の領域35も含む。領域35は、ディスク・アレイ全体にわたって領域のサイズが等しくなるように、あらゆる記憶ディスク上で、サイズが均一な、選択された数のセグメントから成ることが好ましい。
【0038】
ディスクの記憶空間は、物理記憶空間34の第1仮想ビュー、即ち中間仮想ビュー40にマッピングされる。この第1仮想ビューは、概念的には、ユーザ、即ちホスト・アプリケーション・プログラムから見た時に、ディスク0、1、2、及び3上の記憶空間を示す1つのより大きな記憶空間を表す、1組のRAID領域である。従って、RAID領域内の長方形の高さは、ディスクの高さよりも高いものとして示されている。
【0039】
RAID領域記憶空間40は、ミラー記憶空間、及びパリティ記憶空間を同一視する記憶域のビューである。例えば、RAID領域42はM個のブロック43のミラーRAID領域を表すことができ、RAID領域44はN個のブロック45のパリティRAID領域を表すことができる。これらのRAID領域は、物理記憶空間34上の対応する物理領域A0、A1、A2等に関連する。ミラーRAID領域、及びパリティRAID領域は、ディスク・アレイの記憶空間34全体を使い尽くすかも知れないし、使い尽くさないかも知れない。従って、あるアプリケーションの間、特定のRAID領域に対応しない未使用で未指定の記憶空間が存在する可能性がある。しかし、こうした記憶空間はミラーRAID領域、又はパリティRAID領域に変換することができる。
【0040】
RAID領域で使用可能な記憶空間は、ユーザ、即ちホスト・アプリケーション・プログラムに提示される記憶域のビューである、第2の、即ちフロント・エンド仮想ビュー50にマッピングされる。ユーザ、即ちホスト・アプリケーション・プログラムから見た時、第2の仮想ビュー50は、記憶ディスク12上の使用可能な記憶空間を示す、単一の大きな記憶容量も表す。仮想記憶空間50は、個々に0,1,2,...,J-1,J,J+1,...,L-1,L,L+1,...等として参照された、サイズの等しい記憶ブロック52、及び53の線形集合のビューを表す。仮想ブロック記憶空間50は、RAID領域40によって表されるビュー内の記憶ブロックに対する参照、又はポインタ(矢印54で表される)のテーブルによって表される。ミラー記憶領域、及びパリティ記憶領域が共に使用可能なように仮想ブロック・テーブルから参照できる、少なくとも2つのRAID領域がある。RAID領域40の記憶容量は、記憶空間の仮想ブロック・ビューのサイズと同じサイズのブロックに分割されることが好ましい。
【0041】
RAID管理システム16は、RAID領域の構成を動的に修正することができる。RAID領域は、特定の時間におけるデータ信頼性のニーズに従って拡大、又は縮小されうる。その結果、第1の仮想ビュー40内のRAID領域のディスク上へのマッピングと、フロント・エンド仮想ビュー50のRAIDビュー40へのマッピングは一般に、変更状態である。NVRAM21a、及び21b(図1)内のメモリ・マップ記憶は、RAID領域をディスク上にマッピングするためにRAID管理システム16によって使用される現在のマッピング情報と、2つの仮想ビューの間でマッピングを行うために使用される情報を維持する。RAID管理システムは、RAIDレベル・マッピングを動的に変更する時、メモリ・マップ記憶21内のマッピング情報も更新してその変更を反映する。
【0042】
データ記憶システム10の移行動作は、1993年8月19日に出願され、本出願人に譲渡された、米国出願における同時係属特許出願第08/108,137号に、より詳細に記載されている。ここでこの特許出願を引用することによって、前記出願が本明細書に組み込まれる。
【0043】
次に、異種階層ディスク・アレイ内の記憶容量の使用率を最大にする方法が図5ないし図8に関して説明される。
【0044】
図5、及び図6は、異種ディスク・アレイ内の記憶容量を最大限に使用する第1の方法を示す。この方法は、少なくとも2つの、容量が最大である記憶ディスクがディスク・アレイ構成内に存在するという規則を使用する。従って、第1ステップ100は、アレイ内の残りのディスクの記憶容量を超え、同じ容量を持つ2つ以上の記憶ディスクを含むディスク・アレイを構成することである。ここで、不均一なディスク0ないし4からなる異種ディスク・アレイが、2つの同じ容量を有する大容量の記憶ディスク1、及び4を含んで構成される。この容量は、他のディスク0、2、及び3の記憶容量より大きい。
【0045】
ステップ102で、記憶ディスク0ないし4は、広く符号35で参照した複数の領域にセグメント化される。領域35は、ディスク・アレイ全体にわたって同じサイズであり、サイズの等しい1つ以上のセグメントから成ることが好ましい(図4参照)。次いで、複数の記憶ディスク上の連続領域からRAID領域A0ないしA4等を形成する(ステップ104)。「連続領域」とは、全てが同じ物理アドレスを有する、別のディスク上の物理記憶空間を表す領域である。例えば、RAID領域A3、A4等はそれぞれ、各ディスク上の同じ物理アドレスにある、全部で5つの記憶ディスク0ないし4の領域を含む。RAID領域A2は、4つの記憶ディスク0、1、3、及び4の領域を含み、RAID領域A0、及びA1はそれぞれ、ディスク1、及び4の領域を含む。
【0046】
ステップ106で、RAID領域A0ないしA4は、図4で上述したように、単一ボリュームの仮想ビューにマッピングされる。従って、本発明の方法は、アレイをホスト・コンピュータへの独立した複数ボリュームとして特徴付ける必要なしに、異種ディスク・アレイ内の全ての記憶空間を使用する。その代わり、異種アレイ全体が単一ボリュームとして提示されうる。次いで、RAIDレベル1、及び/又はRAIDレベル5のような選択されたRAIDレベルに従って(水平な直線矢印で表した)連続RAID領域内にデータが記憶される(ステップ108)。各RAID領域は幾つかの冗長データを記憶する。
【0047】
この方法は、異種単一ボリューム・ディスク・アレイ内の全ての記憶ディスク上の記憶空間全体を使用できるようにするという点で有益である。この点を例示するため、RAID領域A3、A4等の組み合わせられた記憶空間を集合0として定義する。集合0内の記憶空間は、従来技術の異種ディスク・アレイで使用可能な記憶空間の量に等しい。しかし、従来技術のアレイでは、設計で、多数の記憶ボリュームを提供する、より複雑な設計を考慮しない限り、最小容量ディスク(即ち、ディスク2)を超える容量のディスクは使用されなかった。
【0048】
しかし、本発明の技法によれば、ディスク0、1、3、及び4の追加容量が使用される。RAID領域A2は、記憶ディスク0、1、3、及び4の領域を含み、それによって、4つのディスクから成る集合1の追加記憶空間を画定する。RAID領域A0、及びA1はそれぞれ、ディスク1、及び4の領域を含み、そこでは、この空間の集合が追加記憶空間の集合2を画定する。従って、本発明の方法では、全てのディスク0ないし4内の全てのディスク空間を最大限に使用し、それによって、集合1、及び集合2内の空間だけ従来技術より多く記憶域を使用し、使用率の改良を図っている。
【0049】
RAIDレベル1、又はRAIDレベル5に従って、集合0、及び集合1(RAID領域A2、A3、A4等)内に、データが記憶されることに留意されたい。これらのRAID領域は、3つ以上の記憶ディスクの連続領域を含み、それによって、パリティ記憶を可能にする。RAIDレベル1、即ちミラー冗長に従って、集合2(即ち、RAID領域A0ないしA1)にデータが記憶される。一方のディスクを使用して元のデータを記憶し、他方のディスクを使用して冗長データを記憶する。同時に、この2つのディスク集合内でRAIDレベル5を使用して、同様のミラーリング冗長を達成することができる。一方のディスクを使用して元のデータを記憶し、他方のディスクを使用してパリティ・データを記憶する。パリティ・データは、元のデータと同じであることが分かっており、従って、元のデータを効果的にミラーリングする。
【0050】
図7、及び図8は、異種ディスク・アレイ内の記憶容量を最大限に使用する第2の方法を示す。この方法は、その構成にかかわらず、異種ディスク・アレイに適用可能である(そのため、同種ディスク・アレイにも適用可能である)という点で、第1の方法とは異なる。サイズが最大である少なくとも2つのディスクを維持するという構成要件はない。第1のステップ200は、図7で不均一のディスク0ないし4によって示された記憶ディスクのような、容量の異なる記憶ディスクを有する異種ディスク・アレイを単に構成することである。ディスク3は、最大容量を有し、その後が同じ容量を有するディスク1、及び4であり、次がディスク0、最後にディスク2と続く。
【0051】
ステップ202で、記憶ディスク0ないし4が、好ましくはサイズの等しい、複数の領域(この場合も、広く符号35で参照されている)にセグメント化する。次のステップ204は、個々の記憶ディスク0ないし4の非連続領域を連結し、様々なRAID領域を形成する。「非連続領域」とは、異なる物理アドレスを有する、異なるディスク上の物理記憶空間を表す領域である。個々のRAID領域は、各記憶ディスクの全て、又は部分集合からの1つの領域から成る。
【0052】
連結手順は、ディスク0ないし4のそれぞれの領域350ないし354を含む、波状の矢印によってグラフィカルに例示されている。連結手順は、ポインタ連鎖技法を使用して実施することが好ましい。連鎖ヘッド・ポインタを含む第1のテーブルを使用して、様々なRAID領域を見つける。1つの連鎖ヘッド・ポインタは関連する1つのRAID領域を識別する。次いで、二次連鎖ポインタを含む第2のテーブルを使用して、識別されたRAID領域内の特定の領域を参照する。2つのテーブルは共に、メモリ・マップ記憶21に記憶されている。メモリ・マップ記憶にポインタ・テーブルを維持することによって、1つ以上のディスクに障害が発生した場合に、RAID領域を容易に再構成することができる。
【0053】
ポインタ・テーブルと同時に使用されることが望ましい二次連結手順は、各RAID領域の領域内の記憶ディスク上に、領域ポインタを埋め込むことである。領域ポインタは、ある領域から、連結されるべき次の領域を指す。例えば、図7では、領域352は、関連するRAID領域の一部として連結されるべき記憶域の次の位置として領域353を指す。ポインタは、次の領域のアドレスと、場合によっては、前の領域のアドレスを含む。一連のポインタは、記憶システムが記憶ディスクをシフトさせてRAID領域を再構成できるようにする参照連鎖を形成する。ディスク・アレイ制御装置14が誤動作した場合に、この二次連結手順を回復動作に使用することができる。
【0054】
ステップ206で、ディスク0ないし4上の物理記憶空間を単一記憶ボリュームとしてユーザ、又はホストに提供する仮想記憶空間に、非連続領域で形成されたRAID領域がマッピングされる。次に、データが、各RAID領域が幾つかの冗長データを記憶する、RAIDレベル1、及びRAIDレベル5を含む、様々なRAIDレベルに従って記憶される(ステップ208)。
【0055】
記憶容量が最大使用率に近づいた時は、データをRAIDレベル5領域に移行して記憶空間の使用を効率的に最適化することができる。それによって、RAIDレベル1に従って記憶されたデータに対する、RAIDレベル5に従って記憶されたデータの割合が増加する。RAIDレベル5では、冗長データに使用される空間がより少ない。全てのデータがRAIDレベル1に従って記憶された場合、記憶空間の半分を使用して冗長データを保持することになる。多数の記憶ディスクのディスク・アレイ内におけるRAIDレベル5の記憶に関しては、記憶空間の極小さな部分が冗長データ用に使用される。従って、RAIDレベル5では、所与のディスク・アレイに関して、より多くのユーザ・データを記憶することができるが、その代わり性能、及び可用性が低下する。最終的に、記憶容量が満たされた場合、全てのデータをRAIDレベル5領域に移行することができる。
【0056】
本発明の2つの方法は共に、ほぼ同じ程度に、異種ディスク・アレイの記憶容量を最大限に使用する。非連続領域を連結する前述の第2の方法は、ディスク・アレイ全体にわたって、よりランダムにデータが拡散しているので、わずかに柔軟性、及び性能が優れている。このため、ディスク・アレイ全体にわたる領域に対して、より均一なアクセスが可能となる。
【0057】
本発明の方法は、容量が大きな新しいディスクに対してさえ、柔軟性、及び適応性を促進するという付加的利益を有する。既存のディスク・アレイ構成の最大容量に達した時は、余分の新しい空間の使用率が低下するという心配なしに、容量のより大きな1つ以上の記憶ディスクを容易に組み込むことができる。本明細書で説明した技法によって、アレイ内の全ての記憶ディスク上の全空間を使用するようにディスク・アレイを再構成することができる。
【0058】
本発明の方法は、異種階層ディスク・アレイ内で容量の異なる記憶ディスクを最大限使用できるようにするという点で有益である。本発明は、記憶ディスクを複数の記憶ボリュームとして提供するのではなく、記憶ディスクを単一ボリュームとしてホスト・コンピュータ・システムに提供して、これを達成する。
【0059】
法令に従い、構造、及び方法上の特徴について、幾分特定の言葉により説明してきた。しかし、本明細書で開示した手段は、本発明を効果的に実施する好適態様を含むため、本発明が、図示し説明した特定の特徴に制限されないことを理解されたい。従って、本発明は、同等物の原理に従って適切に解釈される、適当な特許請求の範囲内のあらゆる態様、及び修正について請求される。
【0060】
以下に本発明の実施態様を列挙する。
【0061】
1. 記憶容量の異なる複数の記憶ディスクの異種階層ディスク・アレイを有するデータ記憶システムにおいて、記憶容量を使用する方法であって、前記記憶ディスクが全体の物理記憶空間を画定する前記方法が、
(a)ディスク・アレイ内の他の記憶ディスクの記憶容量より大きい、同一の記憶容量を持つ、少なくとも2つの記憶ディスクを含むようにディスク・アレイを構成するステップ、
(b)ディスク・アレイ内の記憶ディスクを複数の領域にセグメント化するステップ、
(c)複数の記憶ディスク上の連続領域でRAID領域を形成するステップであって、各RAID領域に関する前記連続領域が個々の記憶ディスク上の同じ物理アドレスにある物理記憶空間を表す前記ステップ、
(d)物理記憶空間のビューを単一記憶ボリュームとして提供する、仮想記憶空間にRAID領域をマッピングするステップ、及び
(e)選択されたRAIDレベルに従いRAID領域にデータを記憶するステップであって、各RAID領域が幾つかの冗長データを記憶する前記ステップを含むことを特徴とする前記方法。
【0062】
2. RAID領域に記憶されるデータが、RAIDレベル1、及びRAIDレベル5を含むグループから選択されたRAIDレベルに従って記憶されることを特徴とする、項番1に記載の方法。
【0063】
3. RAIDレベル1に従って記憶されたデータに対する、RAIDレベル5に従って記憶されたデータの割合が増加し、それによって、記憶空間の使用が効率的に最適化されるように、記憶容量が最大使用率に近づいた時に、データがRAIDレベル5に移行されることを特徴とする、項番1に記載の方法。
【0064】
4. 記憶容量の異なる複数の記憶ディスクの異種階層ディスク・アレイを有するデータ記憶システムにおいて記憶容量を使用する方法であって、前記記憶ディスクが全体の物理記憶空間を画定する前記方法が、
(a)ディスク・アレイ内の記憶ディスクを複数の領域にセグメント化するステップ、
(b)個々の記憶ディスクの非連続領域を連結してRAID領域を形成するステップであって、前記非連続領域が複数の記憶ディスク上の異なる物理アドレスにある物理記憶空間を表す前記ステップ、
(c)物理記憶空間のビューを単一記憶ボリュームとして提供する仮想記憶空間に、RAID領域をマッピングするステップ、及び
(d)各RAID領域が幾つかの冗長データを記憶する、選択されたRAIDレベルに従ってRAID領域内にデータを記憶するステップを含むことを特徴とする方法。
【0065】
5. 前記連結ステップ(b)が、個々の領域が、連結されたRAID領域内の次の領域を指すポインタ連鎖技法を使用して、非連続領域を接続することを含むことを特徴とする、項番4に記載の方法。
【0066】
6. 前記ステップ(d)でデータの記憶に関して選択されたRAIDレベルが、RAIDレベル1、及びRAIDレベル5を含むグループから選択されることを特徴とする、項番4に記載の方法。
【0067】
7. RAIDレベル1に従って記憶されたデータに対する、RAIDレベル5に従って記憶されたデータの割合が増加し、それによって、記憶空間の使用が効率的に最適化されるように、記憶容量が最大使用率に近づいた時にデータがRAIDレベル5に移行されることを特徴とする、項番4に記載の方法。
【0068】
【発明の効果】
本発明によって、容量の異なる不均一な記憶ディスクを異種階層ディスク・アレイで使用する方法が開示され、それによって、これらの記憶ディスクが単一ボリュームとして提供され、かつ最大限の使用が達成される。
【図面の簡単な説明】
【図1】本発明による記憶システムの概略ブロック図である。
【図2】複数の記憶ディスク上の記憶空間を概略的に例示し、RAIDレベル1によるデータ記憶を示す図である。
【図3】複数の記憶ディスク上の記憶空間を概略的に例示し、RAIDレベル5によるデータ記憶を示す図である。
【図4】2つの仮想記憶空間が物理記憶空間上にマッピングされる、本発明のメモリ・マッピング配置を概略的に例示する図である。
【図5】最大容量のディスクが2つ存在する場合の、容量の異なる複数のディスク上の記憶空間を概略的に例示し、冗長データ記憶用に、前記2つの最大容量のディスクを含む記憶ディスク上に、連続領域を形成する方法を示す図である。
【図6】図5に示した方法のステップを示すフロー図である。
【図7】1つのディスクの容量が残りのディスクの容量よりも大きい場合の、容量の異なる複数の記憶ディスク上の記憶空間を概略的に示し、複数のディスクにわたる非連続領域を形成し、そのディスク上の全空間を使用する方法を示す図である。
【図8】図7に示した方法のステップを示すフロー図である。
【符号の説明】
10 データ記憶システム
11 異種階層ディスク・アレイ
12 記憶ディスク
14 ディスク・アレイ制御装置
16 RAID管理システム
40、50 仮想記憶ビュー
42、44 RAID領域

Claims (6)

  1. 物理記憶容量の異なる複数の記憶ディスクからなる異種階層ディスク・アレイを有するデータ記憶システムにおいて記憶容量を使用する方法であって、前記複数の記憶ディスクが全体の物理記憶空間を画定しているものにおいて、
    (a)前記ディスク・アレイを、前記ディスク・アレイ内の他の記憶ディスクの物理記憶容量より大きい少なくとも2つの同一の物理記憶容量を有する記憶ディスクを含むように構成するステップと、
    (b)前記ディスク・アレイ内の前記記憶ディスクを複数の領域にセグメント化するステップと、
    (c)前記複数の記憶ディスク上の連続領域からRAID領域を形成するステップであって、該連続領域は、全て同じ物理アドレスを有する異なる記憶ディスク上の物理記憶空間を表す領域であるステップと、
    (d)前記RAID領域を、前記物理記憶空間のビューを単一記憶ボリュームとして提供する仮想記憶空間にマッピングするステップと、
    (e)選択されたRAIDレベルに従ってデータを前記RAID領域に記憶し、前記RAID領域のそれぞれが何らかの冗長データを記憶するようにするステップと、
    からなる方法。
  2. 前記RAID領域に記憶されるデータは、RAIDレベル1およびRAIDレベル5からなるグループから選択されたRAIDレベルに従って記憶される、請求項1の方法。
  3. 前記ディスク・アレイの記憶容量が最大使用に近づいたとき、RAIDレベル1に従ってRAID領域に記憶されたデータをRAIDレベル5に従って記憶されたデータに変換することにより、RAIDレベル1に従って記憶されたデータに対するRAIDレベル5に従って記憶されたデータの割合を増大させ、これによって、前記物理記憶空間の使用効率を最適化する、請求項2の方法。
  4. 物理記憶容量の異なる複数の記憶ディスクからなる異種階層ディスク・アレイを有するデータ記憶システムにおいて記憶容量を使用する方法であって、前記複数の記憶ディスクが全体の物理記憶空間を画定しているものにおいて、
    (a)前記ディスク・アレイを、異なる物理記憶容量を有する複数の記憶ディスクを含むように構成するステップと、
    (b)前記異なる物理記憶容量の記憶ディスクを複数の領域にセグメント化するステップと、
    (c)個々の前記記憶ディスクの非連続領域を連結してRAID領域を形成するステップであって、該非連続領域は、異なる物理アドレスを有する異なる記憶ディスク上の記憶空間を表す領域であるステップと、
    (d)前記RAID領域を、前記物理記憶空間のビューを単一記憶ボリュームとして提供する仮想記憶空間にマッピングするステップと、
    (e)選択されたRAIDレベルに従ってデータを前記RAID領域に記憶し、前記RAID領域のそれぞれが何らかの冗長データを記憶するようにするステップと、
    からなり、
    前記ステップ(e)においてデータを記憶するために選択されるRAIDレベルは、RAIDレベル1およびRAIDレベル5からなるグループから選択され、
    前記ディスク・アレイの記憶容量が最大使用に近づいたとき、RAIDレベル1に従って前記RAID領域に記憶されたデータをRAIDレベル5に従って記憶されたデータに変換することにより、RAIDレベル1に従って記憶されたデータに対するRAIDレベル5に従って記憶されたデータの割合を増大させ、これによって、前記物理空間の使用効率を最適化する方法。
  5. 前記連結するステップ(c)は、ポインタ連鎖技法を用いて前記非連続領域を連結し、前記RAID領域において個々の領域が次の領域を指すようにすることを含む、請求項4の方法。
  6. 物理記憶容量の異なる複数の記憶ディスクからなる異種階層ディスク・アレイを有するデータ記憶システムにおいて記憶容量を使用する方法であって、
    前記異種階層ディスク・アレイの物理記憶容量の異なる前記記憶ディスクを複数の領域にセグメント化するステップと、
    前記記憶ディスクの前記領域から第1のRAID領域および第2のRAID領域を形成するステップと、
    データを、RAIDレベル1に従って前記第1のRAID領域に、および、RAIDレベル5に従って前記第2のRAID領域に記憶するステップと、
    前記ディスク・アレイの記憶容量が最大使用に近づいたとき、RAIDレベル1に従って前記第1のRAID領域に記憶されたデータを前記第2のRAID領域へ移行し、RAIDレベル1に従って記憶されたデータに対するRAIDレベル5に従って記憶されたデータの割合を増大させ、これによって、前記物理空間の使用効率を最適化するステップと、
    からなる方法。
JP12549195A 1994-06-22 1995-05-25 階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法 Expired - Fee Related JP3792269B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26369594A 1994-06-22 1994-06-22
US263695 1994-06-22

Publications (2)

Publication Number Publication Date
JPH0844503A JPH0844503A (ja) 1996-02-16
JP3792269B2 true JP3792269B2 (ja) 2006-07-05

Family

ID=23002874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12549195A Expired - Fee Related JP3792269B2 (ja) 1994-06-22 1995-05-25 階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法

Country Status (4)

Country Link
US (1) US5696934A (ja)
EP (2) EP0689125B1 (ja)
JP (1) JP3792269B2 (ja)
DE (1) DE69533764T2 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3358687B2 (ja) * 1995-03-13 2002-12-24 株式会社日立製作所 ディスクアレイ装置
JP4044160B2 (ja) * 1995-08-23 2008-02-06 富士通株式会社 ディスクアレイ装置
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
JPH09288547A (ja) * 1996-04-22 1997-11-04 Hitachi Inf Technol:Kk アレイ型記憶装置
DE19650473C1 (de) 1996-12-05 1998-04-02 Henkel Kgaa Kosmetische Zubereitungen
JPH11126137A (ja) * 1997-10-24 1999-05-11 Alps Electric Co Ltd ディスクアレイ装置
US6098119A (en) * 1998-01-21 2000-08-01 Mylex Corporation Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level
US6078990A (en) * 1998-02-06 2000-06-20 Ncr Corporation Volume set configuration using a single operational view
US6654881B2 (en) 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
JP2000057037A (ja) * 1998-08-05 2000-02-25 Sony Corp 記録装置および記録方法、再生装置および再生方法、並びに記録媒体
JP3505093B2 (ja) 1998-09-18 2004-03-08 富士通株式会社 ファイル管理システム
US6311251B1 (en) 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
JP3454183B2 (ja) * 1999-04-13 2003-10-06 日本電気株式会社 ディスクアレイ装置
US6519679B2 (en) 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6842422B1 (en) 1999-06-15 2005-01-11 Marconi Communications, Inc. Data striping based switching system
US6418512B1 (en) 1999-08-31 2002-07-09 International Business Machines Corporation Method and system for reporting disk utilizations for disk subsystems
US6629202B1 (en) * 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US6553387B1 (en) 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
WO2001040925A1 (fr) * 1999-12-02 2001-06-07 Fujitsu Limited Batterie de disques et procede d'extension de sa capacite
US6526478B1 (en) * 2000-02-02 2003-02-25 Lsi Logic Corporation Raid LUN creation using proportional disk mapping
US6487636B1 (en) * 2000-04-24 2002-11-26 Hewlett-Packard Co. Method and apparatus for mapping data in a heterogeneous disk array storage system
US6961838B2 (en) * 2000-06-02 2005-11-01 Hewlett-Packard Development Company, L.P. Generating updated virtual disks using distributed mapping tables accessible by mapping agents and managed by a centralized controller
JP2002099391A (ja) * 2000-09-21 2002-04-05 Toshiba Corp ディスク制御システムおよびディスクアレイ構成方法
US6918006B1 (en) * 2000-10-30 2005-07-12 International Business Machines Corporation System and method to coordinate data storage device management operations in a data storage subsystem
US6549978B2 (en) 2001-01-17 2003-04-15 International Business Machines Corporation Method for storage controllers with different data formats to access common storage configuration information
JP4818812B2 (ja) 2006-05-31 2011-11-16 株式会社日立製作所 フラッシュメモリストレージシステム
US6763409B1 (en) * 2001-01-31 2004-07-13 Hewlett-Packard Development Company, L.P. Switch-on-the-fly GBIC disk channel adapter and disk channel system
US6904540B2 (en) * 2001-10-29 2005-06-07 Hewlett-Packard Development Company, L.P. Targeted data protection
US20030126394A1 (en) * 2001-12-27 2003-07-03 Storage Technology Corporation System and method for remote configuration of data storage space
US7080278B1 (en) * 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US6938123B2 (en) 2002-07-19 2005-08-30 Storage Technology Corporation System and method for raid striping
US6912643B2 (en) * 2002-08-19 2005-06-28 Aristos Logic Corporation Method of flexibly mapping a number of storage elements into a virtual storage element
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
WO2004099988A1 (en) * 2003-05-05 2004-11-18 Trustees Of Boston University Data storage distribution and retrieval
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US7613945B2 (en) * 2003-08-14 2009-11-03 Compellent Technologies Virtual disk drive system and method
US7225308B2 (en) * 2003-10-30 2007-05-29 International Business Machines Corporation Inexpensive reliable computer storage via hetero-geneous architecture and a staged storage policy
JP2005222404A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd 仮想記憶ユニットを備えた記憶制御サブシステム
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
JP4402565B2 (ja) * 2004-10-28 2010-01-20 富士通株式会社 仮想ストレージ管理プログラム、方法及び装置
US7814273B2 (en) * 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US7743214B2 (en) * 2005-08-16 2010-06-22 Mark Adams Generating storage system commands
US7979771B2 (en) * 2006-04-04 2011-07-12 Permabit Technology Corporation Erasure coding technique for scalable and fault tolerant storage system
EP2357552A1 (en) 2006-05-24 2011-08-17 Compellent Technologies System and method for RAID management, reallocation and restriping
EP1862905A3 (en) 2006-05-31 2010-07-14 Hitachi, Ltd. Flash memory storage system
JP5112003B2 (ja) * 2007-10-19 2013-01-09 株式会社日立製作所 ストレージ装置及びこれを用いたデータ格納方法
US8725966B2 (en) * 2008-07-23 2014-05-13 International Business Machines Corporation Generation and update of storage groups constructed from storage devices distributed in storage subsystems
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8832370B2 (en) * 2010-02-12 2014-09-09 Netapp, Inc. Redundant array of independent storage
US8843459B1 (en) * 2010-03-09 2014-09-23 Hitachi Data Systems Engineering UK Limited Multi-tiered filesystem
US8954669B2 (en) 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8984241B2 (en) * 2010-07-07 2015-03-17 Nexenta Systems, Inc. Heterogeneous redundant storage array
US20120072685A1 (en) * 2010-09-16 2012-03-22 Hitachi, Ltd. Method and apparatus for backup of virtual machine data
US8812566B2 (en) 2011-05-13 2014-08-19 Nexenta Systems, Inc. Scalable storage for virtual machines
EP2793131B1 (en) 2011-09-21 2015-08-19 Nexenta Systems, Inc. Methods and systems for heterogeneous data volume
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US20140181455A1 (en) * 2012-12-20 2014-06-26 Apple Inc. Category based space allocation for multiple storage devices
JP2014178874A (ja) * 2013-03-14 2014-09-25 Toshiba Corp コンテンツ配信装置、コンテンツ配信サーバ、およびプログラム
KR20140124674A (ko) * 2013-04-17 2014-10-27 한국전자통신연구원 파일 수준의 데이터 분산 저장 방법
US20140317347A1 (en) * 2013-04-22 2014-10-23 HGST Netherlands B.V. System and method for logical removal of physical heads in a hard disk drive (hdd)
US10013359B2 (en) * 2014-12-24 2018-07-03 University Of New Hampshire Redundant disk array storage system and method using heterogeneous disks and a lookup table
US9672107B1 (en) * 2015-02-11 2017-06-06 Western Digital Technologies, Inc. Data protection for a data storage device
US10191673B2 (en) * 2015-12-15 2019-01-29 Spectra Logic Corporation Forming optical disk set of different capacities from factory rejected optical disks
US10579540B2 (en) * 2016-01-29 2020-03-03 Netapp, Inc. Raid data migration through stripe swapping
US11748196B2 (en) 2018-06-29 2023-09-05 International Business Machines Corporation Adaptive parity rotation for redundant arrays of independent disks
US11157361B2 (en) 2018-06-29 2021-10-26 International Business Machines Corporation Efficient utilization of storage space in arrays of storage drives
US10866752B2 (en) 2018-10-17 2020-12-15 International Business Machines Corporation Reclaiming storage space in raids made up of heterogeneous storage drives

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
JPH0776950B2 (ja) * 1990-06-22 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及び装置
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp Logische Aufteilung eines Speichersystems mit redundanter Matrix
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
CA2101848A1 (en) * 1991-02-06 1992-08-07 Robert Walsh Disk drive array memory system using nonuniform disk drives
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5287462A (en) * 1991-12-20 1994-02-15 Ncr Corporation Bufferless SCSI to SCSI data transfer scheme for disk array applications
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5423046A (en) * 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
JPH06332623A (ja) * 1993-05-24 1994-12-02 Mitsubishi Electric Corp アレイ型記録装置及び記録装置
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5432922A (en) * 1993-08-23 1995-07-11 International Business Machines Corporation Digital storage system and method having alternating deferred updating of mirrored storage disks
JP3119978B2 (ja) * 1993-09-22 2000-12-25 株式会社東芝 ファイル記憶装置及びそのファイル管理方法
US5499253A (en) * 1994-01-05 1996-03-12 Digital Equipment Corporation System and method for calculating RAID 6 check codes
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing

Also Published As

Publication number Publication date
US5696934A (en) 1997-12-09
EP1376329A2 (en) 2004-01-02
DE69533764D1 (de) 2004-12-23
DE69533764T2 (de) 2005-12-01
EP0689125A2 (en) 1995-12-27
EP0689125A3 (en) 2000-02-23
JPH0844503A (ja) 1996-02-16
EP0689125B1 (en) 2004-11-17

Similar Documents

Publication Publication Date Title
JP3792269B2 (ja) 階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法
US5546558A (en) Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
US5392244A (en) Memory systems with data storage redundancy management
JP3753259B2 (ja) 記憶空間を提供する方法およびデータ記憶システム
US5542065A (en) Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
JP3160106B2 (ja) ディスクアレーの区分け方法
EP0706113B1 (en) Method for adding storage disks to a hierarchic disk array while maintaining data availability
JP3753461B2 (ja) 冗長性パリティ法によるデータの書き込み方法およびデータ記憶システム
EP0715249B1 (en) Methods of and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US9152332B2 (en) Storage system and method for reducing energy consumption
US5526507A (en) Computer memory array control for accessing different memory banks simullaneously
US6647460B2 (en) Storage device with I/O counter for partial data reallocation
US20060085593A1 (en) Generic storage container for allocating multiple data formats
US8543761B2 (en) Zero rebuild extensions for raid
US5636356A (en) Disk array with original data stored in one disk drive and duplexed data distributed and stored in different disk drives
JPH0863298A (ja) ディスクアレイ装置
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
EP0620934A1 (en) Computer memory array control
CA2585216C (en) Method and apparatus for striping data and for adding/removing disks in a raid storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050622

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060227

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060302

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: 20060404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060405

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: 20090414

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140414

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees