(57)【要約】【課題】複数のデータ・フォーマットを割り振るための一般記憶コンテナを提供すること。【解決手段】グリッドをベースとする記憶アーキテクチャのための一般記憶コンテナ・システムであって、予め選択された記憶容量を定める軸に沿った複数の行のストライプに対して、別の軸に沿った複数の記憶領域を備える一般記憶コンテナと、割振り要求によって指定された記憶フォーマットに応答してストライプを割り振る構成情報とを備えるシステムが提供される。データを記憶するための方法であって、一般記憶コンテナを提供するステップと、データ記憶フォーマットに関連してストライプを選択的に割り振るように適合された構成情報を提供するステップと、所望の記憶フォーマットを指定するステップと、所望のフォーマットに応答してストライプを割り振るステップとを含む方法が提供される。【選択図】図８
2006120120.tif 000002
【特許請求の範囲】
【請求項１】
グリッドをベースとする記憶アーキテクチャのための一般記憶コンテナ・システムであって、
予め選択された記憶容量を定める軸方向に沿った複数の行のストライプに対して、別の軸方向に沿った複数の記憶領域を備える記憶コンテナと、
割振り要求によって指定された記憶フォーマットに応答して前記ストライプを割り振る構成情報とを備える前記システム。
【請求項２】
前記構成情報が、ＲＡＩＤ０のＲＡＩＤ（独立したドライブの冗長アレイ）フォーマットを指定する割振り要求に応答して、ユーザ・データを記憶するために前記ストライプのすべてを割り振る、請求項１に記載のシステム。
【請求項３】
前記構成情報が、ＲＡＩＤ１のＲＡＩＤフォーマットを指定する割振り要求に応答して、ユーザ・データを記憶するために前記ストライプの半分と、ミラー・データを記憶するために前記ストライプの半分とを割り振る、請求項１に記載のシステム。
【請求項４】
前記構成情報が、各ユーザ・データ・ストライプと、その対応するミラー・データ・ストライプとを異なる領域内で割り振る、請求項３に記載のシステム。
【請求項５】
前記構成情報が、ＲＡＩＤ５のＲＡＩＤフォーマットを指定する割振り要求に応答して、複数のユーザ・データ・ストライプと、該複数のユーザ・データ・ストライプを使用して計算されたパリティ・ストライプとを備えるユーザ・データ・セットを割り振る、請求項１に記載のシステム。
【請求項６】
前記構成情報が、各ユーザ・データ・ストライプと、その対応するパリティ・ストライプとを異なる領域内で割り振る、請求項５に記載のシステム。
【請求項７】
前記構成情報が、ＲＡＩＤ６のＲＡＩＤフォーマットを指定する割振り要求に応答して、それぞれが第１及び第２の複数のユーザ・データ・ストライプを備える第１のユーザ・データ・セット及び第２のユーザ・データ・セットを割り振り、前記第１及び第２のユーザ・データ・セットが、１つの共通ストライプと、前記第１の複数のユーザ・データ・ストライプを使用して計算された第１のパリティ・ストライプと、前記第２の複数のユーザ・データ・ストライプを使用して計算された第２のパリティ・ストライプとを有する、請求項１に記載のシステム。
【請求項８】
前記構成情報が、各ユーザ・データ・ストライプと、その対応するパリティ・ストライプとを異なる領域内で割り振る、請求項７に記載のシステム。
【請求項９】
データ記憶システム内でデータを記憶する方法であって、
予め選択された記憶容量を定める軸方向に沿った複数の行のストライプに対して、別の軸方向に沿った複数の記憶領域を備える記憶コンテナを提供するステップと、
データ記憶フォーマットに関連して前記ストライプを選択的に割り振るように適合された構成情報を提供するステップと、
所望の記憶フォーマットを指定するステップと、
前記所望のフォーマットに応答して前記ストライプを割り振るステップとを含む前記方法。
【請求項１０】
前記割り振るステップが、所望のフォーマットであるＲＡＩＤ０に応答して、ユーザ・データを記憶するために前記ストライプのすべてを割り振るステップを含む、請求項９に記載の方法。
【請求項１１】
前記割り振るステップが、所望のフォーマットであるＲＡＩＤ１に応答して、ユーザ・データを記憶するために前記ストライプの半分と、ミラー・データを記憶するために前記ストライプの半分とを割り振るステップを含む、請求項９に記載の方法。
【請求項１２】
前記割り振るステップが、各ユーザ・データ・ストライプと、その対応するミラー・データ・ストライプとを異なる領域内で割り振るステップを含む、請求項１１に記載の方法。
【請求項１３】
前記割り振るステップが、ＲＡＩＤ５によって特徴付けられる所望のフォーマットに応答して、複数のユーザ・データ・ストライプと、該複数のユーザ・データ・ストライプを使用して計算されたパリティ・ストライプとを備えるユーザ・データ・セットを割り振るステップを含む、請求項９に記載の方法。
【請求項１４】
前記割り振るステップが、各ユーザ・データ・ストライプと、その対応するパリティ・ストライプとを異なる領域内で割り振るステップを含む、請求項１３に記載の方法。
【請求項１５】
前記割り振るステップが、ＲＡＩＤ６によって特徴付けられるＲＡＩＤフォーマットを指定する割振り要求に応答して、それぞれが第１及び第２の複数のユーザ・データ・ストライプを備える第１のユーザ・データ・セット及び第２のユーザ・データ・セットを割り振るステップであって、前記第１及び第２のユーザ・データ・セットが、１つの共通ストライプと、前記第１の複数のユーザ・データ・ストライプを使用して計算された第１のパリティ・ストライプと、前記第２の複数のユーザ・データ・ストライプを使用して計算された第２のパリティ・ストライプとを有するステップを含む、請求項９に記載の方法。
【請求項１６】
前記割り振るステップが、各ユーザ・データ・ストライプと、その対応するパリティ・ストライプとを異なる領域内で割り振るステップを含む、請求項１５に記載の方法。
【請求項１７】
記憶容量のシートを定義する複数のコンテナを提供するステップを含み、前記割り振るステップが、ユーザ・データ・ストライプを第１のコンテナに、また耐障害性データ・ストライプを第２のコンテナに割り振るステップを含む、請求項９に記載の方法。
【請求項１８】
複数の領域全体にわたってデータ・ストライプを定義するデータ記憶グリッドと、
所望のデータ記憶フォーマットに関連して前記データ・ストライプを構成するための手段とを備えるデータ記憶システム。
【請求項１９】
前記構成するための手段が、ユーザ・データに割り振られた前記記憶容量の量を最大化し、一方、同じグリッド内で前記ユーザ・データに関連付けられた耐障害性データのすべてを割り振ることによって特徴付けられる、請求項１８に記載のシステム。
【請求項２０】
前記構成するための手段が、ユーザ・データを第１のグリッドに割り振ること、及び耐障害性データを異なるグリッドに割り振ることによって特徴付けられる、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ記憶システムに関し、限定しないが、より詳細には、一般記憶（ｇｅｎｅｒｉｃ  ｓｔｏｒａｇｅ）容量内に様々な記憶フォーマットでデータを動的に記憶することに関する。
【背景技術】
【０００２】
データ記憶システムは、中央処理装置（ＣＰＵ）、１つ又は複数のディスク・コントローラ、複数のディスク・ドライブを備えることができる。そのＣＰＵ及び／又はディスク・コントローラに作用するコンピュータ・プログラム・コードは、ユーザ・データがディスク・ドライブ上で記憶されアクセスされる方法を制御する。ユーザ・データは、例えば、ＲＡＩＤ（独立したドライブの冗長アレイ）フォーマットなど、様々なデータ記憶フォーマットで記憶することができる。複数のＲＡＩＤフォーマットをデータ記憶システム内で同時に使用することができる。特定のデータ・ファイルに使用される最適なＲＡＩＤフォーマットは、データの重要性と、アクセス又は更新の頻度とを反映することができる。他のソースから容易にアクセスされる或いは他の方法で再獲得されるデータを、例えばＲＡＩＤ０など、非耐障害性フォーマットで記憶することができる。頻繁にアクセスされ、耐障害性フォーマットで記憶されるデータを、ＲＡＩＤ１フォーマットで記憶することができる。あまり頻繁にアクセスされない、耐障害性フォーマットで記憶されるデータを、ＲＡＩＤ５フォーマットで記憶することができる。或いは、ＲＡＩＤ５を使用し、ＲＡＩＤ１に比べてより大きな記憶容量を提供することができる。財務データやシステム構成データなどのデータを、ＲＡＩＤ１又はＲＡＩＤ５より大きな冗長性を提供するＲＡＩＤ６又はＲＡＩＤ１×３フォーマットで記憶することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のようなものは、複数のデータ記憶フォーマットをそのシステム記憶容量内で同時にサポートすることが求められる可能性がある。また、第１の記憶フォーマットから第２の記憶フォーマットに動的に変更することが有利となる可能性がある。例えば、日常の課金記録を更新するためにＲＡＩＤ１を使用し、次いで、保存記憶用にＲＡＩＤ５に変換することができることが有利である。ストレージを動的に割り振ることができる速度と、使用可能な記憶容量の利用効率は、データ記憶システムの市場性と利益率に著しく影響を及ぼす。
【課題を解決するための手段】
【０００４】
本明細書で実施されるように、また、添付の特許請求の範囲に記載されているように、本発明は、一般に、各フォーマットが同じ予め定められたデータ記憶構造を使用する、また、複数のデータ記憶フォーマットでデータを記憶するためのデバイスとその関連する方法を対象とする。
【０００５】
いくつかの実施例では、グリッドをベースとする記憶アーキテクチャのための一般記憶コンテナ・システムであって、予め選択された記憶容量を定めるひとつの軸方向に沿った複数の行のストライプに対して別の軸方向に沿った複数の記憶領域を備える記憶コンテナと、割振り要求によって指定された記憶フォーマットに応答してストライプを割り振る構成情報とを備えるシステムが提供される。
【０００６】
いくつかの実施例では、データ記憶システム内でデータを記憶するための方法であって、予め選択された記憶容量を定めるひとつの軸方向に沿った複数の行のストライプに対して別の軸方向に沿った複数の記憶領域を備える記憶コンテナを提供するステップと、データ記憶フォーマットに関連してストライプを選択的に割り振るように適合された構成情報を提供するステップと、所望の記憶フォーマットを指定するステップと、所望のフォーマットに応答してストライプを割り振るステップとを含む方法が提供される。
【０００７】
いくつかの実施例では、複数の領域にわたってデータ・ストライプを定めるデータ記憶グリッドと、所望のデータ記憶フォーマットに関連してデータ・ストライプを構成するための手段とを備えるデータ記憶システムが提供される。
【０００８】
特許請求の範囲に記載された本発明の諸実施例を特徴付けるこれら及び様々な他の特徴及び利点は、以下の詳細な説明を読めば、また、関連する図面を検討すれば明らかとなる。
【実施例】
【０００９】
図１は、コンピュータ１００Ａ内で、或いは内部の又は接続されたデータ記憶デバイス１０１を有するサーバ１００Ｂ内で、或いはインテリジェント記憶システム１００Ｃ内でなど、本発明の諸実施例を使用することができる例示的な動作システムを示す。インテリジェント記憶システム１００Ｃは、インテリジェント・コントローラ／インターフェースを有することができ、また、１つ又は複数のデータ記憶アレイを有することができる記憶システムを表す。
【００１０】
動作システム１００は、それぞれ少なくとも１つのＣＰＵと、データ記憶容量を定める複数のデータ記憶デバイス１０１と、そのデータ記憶容量の構成を記述しているメタデータとを含む。「構成」とは、記憶容量の特定の部分が、データを記憶するために使用されるか、それとも、データを記憶するために使用可能である部分ではなく「割り振られた」空間であるか、それとも、「割り振り可能な」空間であるかに関して、システム１００に記述が提供されることを意味する。
【００１１】
本発明の様々な実施例と共に使用するのに適した他の動作システムには、追加のデータ記憶デバイス１０１、追加のデータ記憶アレイ、追加のデータ記憶デバイス又はネットワーク・インターフェース・コントローラなどが含まれるが、これらは図１に示されていない。例えば、本発明の諸実施例は、少なくとも２つのデータ記憶デバイス１０１と１つのコントローラとを含むシステム１００において使用することができる。本発明の諸実施例は、耐障害性冗長をほとんど又はまったく有していない単純なシステムから単一障害点を有さない高度な冗長システムにおいて使用することができる。
【００１２】
本発明の現在好ましい諸実施例を有利に実施することができる例示的な環境を示すために、図２は、マス・ストレージを使用する広域ネットワーク（ＷＡＮ）として特徴付けられる、コンピュータをベースとするシステム１００Ｃを示す。
【００１３】
システム１００Ｃは、それぞれホストＡ、Ｂ、Ｃとして識別されたいくつかのホスト・コンピュータ１０２を含む。ホスト・コンピュータ１０２は、ファブリック１０６を介して互いに、また（それぞれＡ、Ｂと呼ばれる）１対のデータ記憶アレイ１０４とデータのやりとりを行う。ファブリック１０６は、好ましくはファイバ・チャネルをベースとする交換ネットワークとして特徴付けられるが、インターネットを含めて他の構成を使用することもできる。
【００１４】
各アレイ１０４は、（Ａ１、Ａ２、及びＢ１、Ｂ２と呼ばれる）１対のコントローラ１０８と、好ましくはＲＡＩＤとして運用されるディスク・ドライブとして特徴付けられる１組のデータ記憶デバイス１０１とを含む。コントローラ１０８及びデータ記憶デバイス１０１は、耐障害性構成を使用し、それにより、様々なコントローラ１０８が並列の冗長リンクを使用し、システム１００Ｃによって記憶されたユーザ・データの少なくともいくつかが、少なくとも１組のデータ記憶デバイス１０１内で、冗長フォーマットで記憶されることが好ましい。
【００１５】
さらに、Ａホスト・コンピュータ１０２とＡデータ記憶アレイ１０４とを第１のサイトに物理的に位置することができ、Ｂホスト・コンピュータ１０２とＢデータ記憶アレイ１０４とを第２のサイトに物理的に位置することができ、Ｃホスト・コンピュータ１０２はさらに第３のサイトにあることができるが、それらは例示的なものにすぎず、限定するものではないことが企図されている。
【００１６】
図３は、コントローラ１０８のうち選択された１つをより詳細に示す。コントローラ１０８は、所望により、単一の集積回路内で実施することも、いくつかのディスクリート回路の間で分散することもできる。好ましくはプログラム可能なコンピュータ・プロセッサとして特徴付けられる主プロセッサ１１２は、好ましくは（フラッシュ・メモリ等のような）不揮発性メモリ１１４内で、またダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）１１６内で記憶されたプログラミング・ステップ及び処理データに従って制御を実現する。
【００１７】
ファブリック・インターフェース（Ｉ／Ｆ）回路１１８は、ファブリック１０６を介して他のコントローラ１０８及びホスト・コンピュータ１０２と通信し、デバイスＩ／Ｆ回路１２０は、記憶デバイス１０１と通信する。Ｉ／Ｆ回路１１８、１２０、及びパス・コントローラ１２２は、キャッシュ・メモリ１２４を使用することによってなど、記憶アレイ１０４とホスト１０２との間でコマンド及びデータを渡すために通信パスを形成する。ディスクリートで示されているが、パス・コントローラ１２２とＩ／Ｆ回路１１８、１２０とは一体で構築することができることは理解されよう。
【００１８】
所与のアレイ１０４内のデータ記憶デバイス１０１の範囲によって定義されるアレイ１０４のデータ記憶容量は、アレイ１０４に書き込む、またアレイ１０４から読み出すことができる論理ユニット（ＬＵＮ；Ｌｏｇｉｃａｌ  Ｕｎｉｔ）内に編成される。システム構成情報は、任意の関連するパリティ及びミラー・データを含めて、ユーザ・データ間の関係を、それぞれの記憶位置と共に、定める。さらに、システム構成情報は、ユーザ・データに割り振られた記憶容量のブロックと、論理ブロック・アドレス（ＬＢＡ）などメモリ記憶位置との関係を識別する。さらに、システム構成情報は、ＬＢＡにマップされる仮想ブロック・アドレスを定めることによる仮想化を含むことができる。
【００１９】
システム構成情報は、システム１００Ｃからの構成変更要求に応答して変更される。それに応答して、新しいファイルを保存した又は既存のファイルを拡大したときなどに記憶容量を割り振ることができ、或いは、ファイルを削除した又は既存のファイルのサイズを縮小したときなどに記憶容量の割振りを解除することができる。この説明と添付の特許請求の範囲では、「割振り（ａｌｌｏｃａｔｉｏｎ）」という用語は、記憶容量の割振り又は割振り解除を意味する。システム・メタデータは、ファイル割振り情報状態や割振りプロセスをサポートする他のデータ構造を定める結果得られるデータである。
【００２０】
図４は、データ記憶デバイス１０１（図１）内に含まれる記憶容量の一部分を示す記憶マップ１３０という形で表したデータ記憶デバイス１０１全体像の略図である。記憶マップ１３０は、それぞれが記憶容量の予め定められた部分を含むストライプ１３２を示す。ストライプ１３２内の記憶容量の量は、そのシステムの記憶アプリケーション例のタイプを反映することができる。各ストライプ１３２は、ＬＢＡで開始する。この説明では、ストライプ１がＬＢＡ１３４で始まり、ストライプ２がＬＢＡ１３６で始まり、ストライプ３がＬＢＡ１３８で始まる。ＬＢＡ１４０で始まるストライプＮまで、複数の他のストライプを定めることができる。好ましくは、隣接するストライプ１３２間で記憶容量の未使用がないように、１つのストライプ１３２の末尾が次のストライプ１３２に直接隣接する。
【００２１】
図５は、データ記憶容量内で複数のデータ記憶フォーマットが静的に割り当てられた構成を示す。そのような構成では、ＲＡＩＤフォーマットなど、どのタイプのデータ記憶フォーマットが、記憶されるデータに最も適しているかについて予測される。次いで、その予測に従って、記憶容量の対応する部分が、それぞれのＲＡＩＤフォーマットの専用とされる。最終的に、データ記憶デバイス１０１全体を、１つのＲＡＩＤフォーマットに対して指定する又は複数のＲＡＩＤフォーマットに従って区分することができるが、データ記憶デバイスの容量全体を使用する能力は、予測の精度による。
【００２２】
図５は、ＲＡＩＤ１、ＲＡＩＤ５、又はＲＡＩＤ６フォーマットで使用するために一括して区分されたストライプ１３２を形成する５つのデータ記憶デバイス１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ、１０１Ｅのための静的容量割当てを示す。上記で指摘したように、記憶フォーマット間の区分は、データを記憶するために異なる記憶フォーマットに対する予測された必要性に基づく。図６に示されている使用分析１５０は、指定されたＲＡＩＤフォーマットに従って使用可能な記憶容量の代表的な使用を示す。すなわち、グラフ１５２は、ＲＡＩＤ１フォーマット済み記憶容量の約８０％が使用されることを示し、グラフ１５４は、同時にＲＡＩＤ５フォーマット済み容量の約６０％が使用されていることを示し、一方、グラフ１５６は、ＲＡＩＤ６フォーマット済み容量の約９０％が使用されていることを示す。この場合には、異なる記憶フォーマットの間で記憶容量の使用が不均一であるため、静的容量割当てがそれに基づいて行われた予測が疑わしい可能性がある。
【００２３】
これに対して、図７は、ＲＡＩＤ１、ＲＡＩＤ５、ＲＡＩＤ６フォーマットを調整するために個別に割り振られたストライプ１３２を形成する５つのデータ記憶デバイス１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ、１０１Ｅに対する動的容量割当てを示す。これは、予測ではなく、使用に従って記憶容量の割振りを可能にする。しかし、動的容量構成は、メタデータ方式を複雑にし、全体的なシステム性能を低下させる可能性がある。これは、一部には、記憶容量の割振りをあるフォーマットから別のフォーマットに変更することに伴う断片化によるものである。なぜならば、異なるＲＡＩＤフォーマットは、同じ量のデータを記憶するために異なる数のストライプ１３２を使用するからである。断片化を取り除くことは、相当数の入出力（Ｉ／Ｏ）プロセスを消費し、記憶割振り及びユーザ・アクセスの速度が低下する結果となる。
【００２４】
本発明の諸実施例は、予め選択された容量を定めるが複数の記憶フォーマットで使用するために割振り可能である一般記憶コンテナを提供することによって、動的容量割当てを可能にする。コンテナはグリッドと呼ばれ、複数の共通に割り振られたグリッドは、データ記憶容量のシートと呼ばれる。したがって、各グリッドのサイズを固定することにより、割振り要求に付随する指定記憶容量は、その要求を満たすために必要とされる記憶容量のシート内のグリッドの数を決定する。
【００２５】
図８は、概してグリッドをベースとするデータ記憶アーキテクチャを表すグリッド１６０を示す。グリッド１６０は、一方の軸方向に沿った複数のストライプ１３２の行に対して他方の軸方向に沿った複数の記憶領域（データ記憶デバイス１０１Ａ〜１０１Ｊ）という点から見た配列である。ストライプ１３２の１つは、各行−列の交点で定められる。１つの行内のストライプ１３２は、同じ又は異なるＬＢＡで開始することができる。
【００２６】
予備の容量は、データ記憶デバイス１０１のサブパーティション全体にわたって分配される。したがって、いくつかのサブパーティション（ＳＶ１内の１０１Ａ〜１０１Ｈ）のストライプ１３２はデータを記憶するために使用され、他のサブパーティション（ＳＶ１内の１０１Ｉ、１０１Ｊ）内のストライプ１３２は予備として使用される。データを含むストライプ１３２は、ユーザ・データ、ミラー・データ、又はパリティ・データなどのものを記憶する。ミラー・データ及びパリティ・データは、本明細書では、耐障害性情報と称することがある。予備ストライプ１３２を使用し、故障したドライブからのデータを復元することができる。予備ストライプ１３２は、特定のデータ記憶デバイス１０１上だけに存在するように構成することができる。例えば、図８のグリッド１６０は、予備ストライプ１３２すべてを含むものとしてデータ記憶デバイス１０１Ｉ及び１０１Ｊを示す。別法として、予備ストライプ１３２を、所定の形でいくつかの又はすべてのデータ記憶デバイス１０１全体にわたって分配することができる。いくつかの実施例では、グリッド１６０は、予備ストライプ１３２を有していない。上記で論じたように、連続するグリッド１６０のグループは、データ記憶容量のシートと呼ばれる。サブパーティションは、シートと位置合わせし、「シート・セル（ｓｃｅｌｌ）」と呼ばれる。データ記憶グリッド１６０を形成するために使用されるデータ記憶デバイス１０１は、ブックと呼ばれる。
【００２７】
好ましくは、予備サブパーティション１３２の指定は、１つのグリッド１６０から次のグリッドにおいて変わる可能性がある。これは、データ記憶デバイス１０１にわたってデータを分配するように働き、データ記憶デバイス１０１すべてにデータをアクセスさせることを可能にし、マルチタスク環境でより高い性能を提供する。どのデータ記憶デバイス１０１が予備ストライプ１３２を提供するかという指定は、図９に示されているように、シート編成テーブル１７０によって提供することができる。図９の例示的な構成は、１０個のデータ記憶デバイス１０１Ａ〜１０１Ｊを使用し、２つのデータ記憶デバイス１０１に等しい予備容量は、１０個のデータ記憶デバイス１０１にわたって分配されている。シート編成テーブル１７０は、データ記憶デバイス１０１とシート・バージョン索引との関係を維持する。文字「ｓ」によって示されているような、どのデータ記憶デバイス１０１が予備データ・ストライプ１３２を提供するかという指定と、文字「ｄ」によって示されているような、どのデータ記憶デバイス１０１が（ユーザ・データ、ミラー・データ、又はパリティ・データを含むことができる）データ・ストライプ１３２を提供するかという指定は、規則的で所定の形の各シート編成バージョンに対して変更する。先に述べたように、これは、データ・ストライプ１３２及び予備ストライプ１３２を均一にデータ記憶デバイス１０１にわたって分配することを可能にし、データ記憶デバイス１０１すべてにマルチスレッド環境でデータを同時にアクセスさせることを可能にし、予備ストライプ１３２がいくつかのデータ記憶デバイス１０１だけに含まれるシステムより高い性能を提供する。
【００２８】
２つ以上のデータ記憶デバイス１０１が、各シート及び予備用バージョンについて予備容量を提供する諸実施例では、データ記憶デバイス１０１をグループ又は対の形に編成することができる。シート編成テーブル１７０では、例えば、データ記憶デバイス１０１Ａと１０１Ｂ、１０１Ｃと１０１Ｄ、１０１Ｅと１０１Ｆ、１０１Ｇと１０１Ｈ、１０１Ｉと１０１Ｊが対を形成し、予備化（ｓｐａｒｉｎｇ）は、対をなすデータ記憶デバイス１０１のストライプ１３２が各シート編成バージョンについて同じ予備化指定を有するように定めることができる。データ記憶デバイス１０１はまた、グループの形に編成することができる。シート編成テーブル１７０では、例えば、第１のグループ１７２がデータ記憶デバイス１０１Ａ、１０１Ｃ、１０１Ｅ、１０１Ｇ、１０１Ｉを含み、第２のグループ１７４がドライブ１０１Ｂ、１０１Ｄ、１０１Ｆ、１０１Ｈ、１０１Ｊを含む。
【００２９】
対化（ｐａｉｒｉｎｇ）は、ＲＡＩＤ１フォーマットで、その対の一方のメンバがユーザ・データ（１次データ）を含み、その対の他方のメンバがミラー・データ（２次データ）の形で同一のコピーを含むように使用されてもよい。グループ化は、ＲＡＩＤ５フォーマットで、ユーザ・データが一方のグループ１７２、１７４内で記憶され、パリティ・データが他方のグループ１７２、１７４内で記憶されるように使用されてもよい。したがって、データ記憶デバイスの対化及びグループ化を、耐障害性データ記憶フォーマットを定めるときに、有利に使用することができる。図９の対化及びグループ化は例示的なものであり、どのデータ記憶デバイス１０１が対又はグループを形成するかについて制約はないが、所与のデータ記憶デバイス１０１（そのすべてのパーティション）は、厳密なＲＡＩＤ１冗長性を提供するために、常に１つだけの特定の他のデータ記憶デバイス１０１と対をなすことが好ましい。データ記憶デバイス１０１が故障した場合、機能しているデータ記憶デバイス１０１からのデータをコピー又は（アクセス可能なデータ及び／又はパリティ値から計算し）再構築し、シート編成バージョンによって指定された予備データ・ストライプ１３２に書き込むことができる。図９は、シート編成を例示するためにテーブルを示すが、本発明の諸実施例は、他のデータ構造を使用することができ、或いは、コンピュータ・プログラム・コード内で実施させることができる。
【００３０】
シート編成バージョンは、グリッド又はシート境界上で変更することができ、或いは、所定数のグリッド又はシートに変更することができる。シートの開始アドレスを、１シート当たりのグリッド１６０の数によって割ることができ、その割り算の余りを使用してシート編成バージョンを決定することができる。他の計算法を使用することができ、結果がオフセットしてもよい。シート編成テーブル１７０は、バージョンすべてを繰り返し循環する循環テーブルとすることができる。例えば、第６のシート（図示せず）が、シート編成テーブル１７０内の第１のシートと同じシート編成バージョンを使用することができる。シート編成テーブル１７０を、異なる数のデータ記憶デバイス１０１及び／又は予備用容量を反映する他のグリッド１６０編成を調整するように修正することができる。他のデータ構造、他のデータ記憶デバイス１０１、又は予備化順序、或いはソフトウェア・プログラム・コードを使用し、予備用容量の分配を達成することができる。シート編成テーブル１７０は、予備化を単純で規則的な形で実施することを、また、任意のグリッド１６０のために使用される予備化を容易に決定することを可能にする。シート編成テーブル１７０は、分配後の予備化を示すが、本発明の諸実施例は、専用の予備と共に、又は予備容量なしで使用することができる。
【００３１】
図１０は、シート編成バージョン１（ＳＶ１）をグリッド１６０に適用することによって生成されたデータ記憶グリッド１８０を示す。上記のように、データ記憶グリッド１８０の各交点はストライプ１３２を表し、各方形内の文字は、それぞれのストライプ１３２を含むデータ記憶デバイス１０１を示す。先に指摘したように、複数のデータ記憶グリッド１８０を、シートと呼ばれるグループに編成することができる。シート内の各グリッド１８０は、ＲＡＩＤフォーマットなど、シートの記憶フォーマットに応じて、所定のグリッド１８０ロケーション内でユーザ・データ、ミラー・データ、又はパリティ・データを記憶するために割り振られることができる。各シートは、典型的には１つの記憶フォーマットのデータを含むが、例えばＲＡＩＤレベル変換など、いくつかの動作中には、複数の記憶フォーマットがシート内で同時に存在することができる。
【００３２】
この場合も、データ記憶グリッド１８０を、ユーザ・データ又は耐障害性データを記憶するために割り振ることができる。例えば、図１１は、ユーザ・データすべてを含むデータ記憶グリッド１８０を示す（「ユーザ・データ・グリッド」と称する）。ユーザ・データ・ストライプ１３２の文字は、索引として働く。しかし、データを、任意の順序でユーザ・データ・グリッド内に書き込むことができる。シート内のＲＡＩＤフォーマットが変更された場合、ひき続き、ユーザ・データ・グリッドを使用し、耐障害性情報を記憶することができることも理解されよう。
【００３３】
図１２は、図１１のユーザ・データ・グリッド用ＲＡＩＤ１ミラー・データ・グリッドとして割り振られたデータ記憶グリッド１８０を示す。すなわち、ユーザ・データ・グリッド（図１１）の左側からのユーザ・データが、ミラー・データ・グリッド（図１２）の右側にミラーされる。これらのグリッドの左側及び右側は、図９で述べられているグループ１７２、１７４に対応することが好ましい。より一般的には、図１１のグリッド１８０内の各ユーザ・データ・ストライプ１３２に対して、図１２のグリッド１８０内に対応するミラー・データ・ストライプ１３２がある。例えば、ミラー・データ・グリッド内でＡ−１と示されているミラー・データ・ストライプ１３２は、ユーザ・データ・グリッド内でＡ−１と示されているユーザ・データ・ストライプ１３２に対応する。本発明の諸実施例によるシステム構成情報は、耐障害性を提供するために、対応するユーザ・データ・ストライプ１３２を含むものと異なるデータ記憶デバイス１０１にミラー・データ・ストライプ１３２をマップしなければならない。しかし、ミラー・データ・ストライプ１３２を、均等な代替実施例に示されているものと異なる構成で割り振ることができる。
【００３４】
図１３は、データ記憶容量をＲＡＩＤ５フォーマット及びＲＡＩＤ６フォーマットで割り振るために有利に使用することができるユーザ／パリティ・マップ１９０を示す。ユーザ／パリティ・マップ１９０はユーザ・データ・グリッド（図１１）に似ているが、追加の索引情報を含む。データ記憶グリッド１８０内の各ストライプ１３２は、文字索引と番号索引を含む。文字索引は、行パリティ・グリッド１９２内で行パリティ・ストライプ１３２を生成するために使用されるＲＡＩＤ５フォーマット用の行パリティ・ストライプ・セットを指定する。例えば、Ａ−１、Ａ−２、Ａ−３、Ａ−４と示されているユーザ・データ・ストライプ１３２は、ＸＯＲし（排他的論理和し）、行パリティ・グリッド１９２内でＡＰと示されているストライプ１３２を生成することができる。番号索引は、ＲＡＩＤ６フォーマットについて列パリティ・グリッド１９４内で列パリティ・ストライプ１３２を生成するために使用される列パリティ・ストライプ・セットを指定する。例えば、Ａ−１、Ｂ−１、Ｃ−１、Ｄ−１と示されているユーザ・データ・ストライプ１３２は、ＸＯＲし、列パリティ・グリッド１９４内で１Ｐと示されているストライプ１３２を生成することができる。ユーザ・データ・グリッドの８つの行を使用し、行パリティ・グリッド１９２内の２つの行と列パリティ・グリッド１９４内の２つの行とを生成する。
【００３５】
データ記憶グリッド１８０が、行パリティ・グリッド１９２及び列パリティ・グリッド１９４など、パリティ値だけを含む場合には、１つのパリティ・グリッドが４つのユーザ・データ・グリッドを調整することに留意されたい。すなわち、ＲＡＩＤ５フォーマットは、４つのユーザ・データ・グリッドごとに１つの行パリティ・グリッドがあるようにユーザ・データと行パリティを含む。ＲＡＩＤ６フォーマットは、４つのユーザ・データ・グリッドごとに１つの行パリティ・グリッドと１つの列パリティ・グリッドがあるようにユーザ・データと行／列パリティを含む。
【００３６】
図１４は、シート２００、２０２、２０４、２０６、２０８のための割振りマップを示し、それぞれが３０個のデータ記憶データ・グリッド１８０を使用し、それぞれＲＡＩＤ０、ＲＡＩＤ１×２、ＲＡＩＤ１×３、ＲＡＩＤ５、ＲＡＩＤ６に従って構成される。ＲＡＩＤ０フォーマットの場合、シート２００の各データ記憶グリッド１８０が、Ｄａｔａ１〜３０と示されているユーザ・データを含む。ＲＡＩＤ１×２フォーマットの場合、１５個のデータ記憶グリッド１８０が、Ｄａｔａ１〜１５と示されているユーザ・データを含み、１５個のデータ記憶グリッド１８０が、ＭＤａｔａ１〜１５と示されているミラー・データを含む。ＲＡＩＤ１×３フォーマットの場合、１０個のデータ記憶グリッド１８０が、Ｄａｔａ１〜１０と示されているユーザ・データを含み、１０個のデータ記憶グリッド１８０が、ＭＤａｔａ１〜１０と示されているミラー・データを含み、１０個のデータ記憶グリッド１８０が、ＭＤａｔａ１’〜１０’と示されている代替ミラー・データを含む。代替ミラー・データは、ミラー・データと異なり、データ記憶グリッド１８０内のストライプ１３２の順序付けを使用し、一方、耐障害性を提供するために、依然としてユーザ・データ、ミラー・データ、代替ミラー・データを、異なるデータ記憶デバイス１０１内で記憶されているものとして維持する。ＲＡＩＤ５フォーマットの場合、２４個のデータ記憶グリッド１８０が、Ｄａｔａ１〜２４と示されているユーザ・データを含み、６つのデータ記憶グリッド１８０が、ＲＰ１〜４からＲＰ２１〜２４と示されている行パリティを含む。ＲＡＩＤ６フォーマットの場合、２０個のデータ記憶グリッド１８０が、Ｄａｔａ１〜２０と示されているユーザ・データを含み、５つのデータ記憶グリッド１８０が、ＲＰ１〜４からＲＰ１７〜２０と示されている行パリティを含み、５つのデータ記憶グリッド１８０が、ＣＰ１〜４からＣＰ１７〜２０と示されている列パリティを含む。
【００３７】
あるフォーマットから別のフォーマットに変換する際に影響を与える可能性がある異なる記憶フォーマット間に何らかの共通性があることに留意されたい。また、マップはすべて、ユーザ・データがシートのある部分内に排他的に記憶され、ミラー・データ又はパリティ・データが（あれば）そのシートの別の部分内に記憶される「パック型パリティ（ｐａｃｋｅｄ  ｐａｒｉｔｙ）」構成を示す。これは、逐次読取り性能を高める。ユーザ・データ・グリッド（図１１）を、「ＲＡＩＤ記憶ユニット」又は「信頼性記憶ユニット（ＲＳＵ；Ｒｅｌｉａｂｌｅ  Ｓｔｏｒａｇｅ  Ｕｎｉｔ）」と呼ぶことも可能であり、各ユーザ・データ・グリッドについての耐障害性は、他のデータ記憶グリッド１８０内のミラー・データ又はパリティ・データなどの冗長データを介して（ＲＡＩＤレベルに応じて）提供することができる。図１４のマップから後で指摘され、下記で概説されるように、異なるＲＡＩＤレベルのシートは、異なる数のＲＳＵを提供する。
【００３８】
【表１】
2006120120.tif 000003
【００３９】
本発明の諸実施例は、データ記憶容量を所定のサイズのシートの形に編成することによって一般記憶コンテナを提供することを企図している。シートは、割振り要求によって指定されたＲＡＩＤフォーマットに応じた形で割り振られるように適合される。次いで、対応するＲＳＵの数及び配置が、シート内で自動的に割り振られる。
【００４０】
上述のシート・アーキテクチャは、ＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ１×３、ＲＡＩＤ５、ＲＡＩＤ６フォーマットを調整する。調整を必要とするＲＡＩＤフォーマットが少ない場合、一般データ記憶コンテナを生み出すために、より単純なシート及びグリッド・アーキテクチャを使用することができる。例えば、図１５は、シート２２０、２２２、２２４のための割振りマップを示し、それぞれが、ＲＡＩＤ０、ＲＡＩＤ１×２、ＲＡＩＤ５フォーマットをそれぞれ調整するために１０個のデータ記憶グリッド１８０を使用する。ＲＡＩＤ０フォーマットの場合、各データ記憶グリッド１８０は、Ｄａｔａ１〜１０と示されているユーザ・データを含む。ＲＡＩＤ１×２フォーマットの場合、５つのデータ記憶グリッド１８０が、Ｄａｔａ１〜５と示されているユーザ・データを含み、５つのデータ記憶グリッド１８０が、ＭＤａｔａ１〜５と示されているミラー・データを含む。ＲＡＩＤ５フォーマットの場合、８つのデータ記憶グリッド１８０が、Ｄａｔａ１〜８と示されているユーザ・データを含み、２つのデータ記憶グリッド１８０が、ＲＰ１〜４及びＲＰ５〜８と示されている行パリティを含む。検討されている例示的な諸実施例から、調整される記憶フォーマットに応じて共通のところ（ｃｏｍｍｏｎ  ｄｅｎｏｍｉｎａｔｏｒ）を決定し、異なる記憶フォーマットについては、記憶フォーマットによって必要とされるようにユーザ・データ及びミラー・データ又はパリティ・データを（未使用のストライプなしに）効率的にマップする一般記憶コンテナの一部を定める際に利用することができることに留意されたい。データ記憶グリッド１８０を、例示的な諸実施例に示されているもの以外の順序で割り振ることができる。
【００４１】
図１６のＡ〜Ｃは、上記の割振りマッピング方式などシステム構成情報と共にＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ５フォーマットに対処する８つの列と５つの行の配列を含む一般記憶コンテナ２３０を示す。すなわち、図１６のＡの一般コンテナ２３０は、ＲＡＩＤ０フォーマット用のユーザ・データだけを含む。
【００４２】
図１６のＢの一般コンテナ２３０は、ＲＡＩＤ１×２フォーマットで、Ａ〜Ｅと示されているストライプ１３２内でユーザ・データを、また、ＭＡ〜ＭＥと示されているストライプ１３２内でミラー・データを含む。例えば、ＭＡ−２と示されているストライプ１３２は、対応するユーザ・データを含むＡ−２と示されているストライプ１３２のためのミラー・データを含む。この構成は、ユーザ・データが、あるグループ１７２、１７４にマップされ、ミラー・データが別のグループ１７２、１７４にマップされるマッピングを示す。均等な代替実施例において他のＲＡＩＤ１マッピング構成が可能であるが、耐障害性を提供するために、各ミラー・データ・ストライプ１３２と対応するユーザ・データ・ストライプ１３２との対は、（列配置によって示される）異なるデータ記憶デバイス１０１内に含まれる。
【００４３】
図１６のＣにおける一般コンテナ２３０は、ＲＡＩＤ５フォーマットを調整する。文字索引と番号索引は、ユーザ・データを含むストライプ１３２を示す。パリティ・データは、ＰＡ〜ＰＨと示されているストライプ１３２内に含まれる。ユーザ・データを含むストライプ１３２の文字は、パリティ値を計算するために使用されるデータ・ストライプ１３２を指定する。例えば、Ａ−１、Ａ−２、Ａ−３、Ａ−４と示されているデータ・ストライプ１３２を、ＸＯＲし、パリティ値ＰＡを生成することができる。他のユーザ・データ・ストライプ１３２に対するパリティ値も同様な方法で計算することができる。図１６のＣに示されているものと異なるユーザ・データ・ストライプ１３２及びパリティ・データ・ストライプ１３２の順序付けを均等な代替実施例において使用することができるが、各ユーザ・データ・ストライプ１３２と、その対応するパリティ・データ・ストライプ１３２は、耐障害性を提供するために、（列配置によって示される）異なるデータ記憶デバイス１０１内に含まれていなければならない。本発明の様々な実施例で使用されるグリッドは、所望のデータ記憶フォーマットをサポートする任意の数の行及び任意の数の列を使用することができる。
【００４４】
図１７のＡ〜Ｃは、上記の割振りマッピング方式などシステム構成情報と共にＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ５フォーマットに対処する５つの列と８つの行との配列を含む一般記憶コンテナ２４０を示す。すなわち、図１７のＡの一般コンテナ２４０は、ＲＡＩＤ０フォーマット用のユーザ・データだけを含む。図１７のＢの一般コンテナ２４０は、ＲＡＩＤ１フォーマットで、Ａ〜Ｅと示されているストライプ１３２内でユーザ・データを、また、ＭＡ〜ＭＥと示されているストライプ１３２内でミラー・データを含む。図１７のＣの一般コンテナ２４０は、ＲＡＩＤ５フォーマットで、Ａ〜Ｈと示されているストライプ内でユーザ・データを、また、ＰＡ〜ＰＨと示されているストライプ１３２内でパリティ・データを含む。
【００４５】
本発明の諸実施例内で企図されているデータ記憶フォーマットの場合、データは、データ記憶グリッド１８０内で及び／又はいくつかのデータ記憶グリッド１８０を含むシート内で、所定の方法で割り振られる。ユーザ／パリティ・マップ１９０及び割振りマップ２００、２０２、２０４、２０６、２０８、２２０、２２２、２２４など、システム構成情報は、割振り要求内で指定されているフォーマットで、ストライプ１３２及び／又はデータ記憶グリッド１８０の内容を定める。グリッドフォーマットは、ストライプ１３２のサイズと、データ記憶グリッド１８０内の行及び列の数とを指す。シート・フォーマットは、シート内のデータ記憶グリッド１８０の数を指す。異なるグリッド及びシート・フォーマットのデータ記憶グリッド１８０及び／又はシートを、データ記憶容量内で同時に使用することができる。例えば、ビデオ・サーバ・システムは、ストリーミング・ビデオ・データを記憶するために大きなグリッド又はシート・フォーマットを使用し、一方、課金情報を記憶するために比較的小さいグリッド又はシート・フォーマットを有利に使用することができる。課金情報を、例えばＲＡＩＤ６又はＲＡＩＤ１×３フォーマットなど高度な耐障害性フォーマットで記憶することができ、一方、ストリーミング・ビデオ・データを、ＲＡＩＤ０又はＲＡＩＤ５フォーマットなど、耐障害性がより低いフォーマットで記憶することができる。
【００４６】
本発明の諸実施例は、割振り時に、指定されたＲＡＩＤフォーマットでデータを記憶するように構成することができる一般記憶コンテナを提供する。これは、単純化されたメタデータ方式を提供するが、個別のデータ・ストライプ１３２の管理の関連するオーバーヘッドや断片化なしで動的容量割当ての柔軟性を提供する。
【００４７】
前述の諸実施例は、概してデータ記憶デバイス１０１を使用したが、本発明の諸実施例は、使用されているタイプのデータ記憶デバイスに限定されない。データ記憶デバイス１０１は、それだけには限らないが、固体メモリ・デバイスを含めて、ハード・ディスク・ドライブ、光ドライブ、ＷＯＲＭドライブ、ＣＤＲＯＭ、ＤＶＤ、ＥＥＰＲＯＭ、ＲＡＭドライブなどを含む電子、磁気、光、又は化学データ記憶デバイスを含む任意のタイプのデータ記憶デバイスを含むことができ、それらの組合せを含むことができ、さらに、揮発性データ記憶デバイスと不揮発性データ記憶デバイスの組合せを含むことができる。
【００４８】
ディスクをベースとする記憶システムは、しばしば予備記憶容量を含むが、本発明の諸実施例は、予備記憶容量のないシステム内で使用することができる。例えば、データを、ＣＤＲＯＭ又はＤＶＤなど書込み専用媒体上で１つ又は複数の記憶フォーマットで保存する又は別の方法で記憶することができる。本発明の諸実施例は、ファイルを複数のデータ記憶フォーマットで記憶するとき、記憶容量の割振りを単純化する。
【００４９】
図１８は、本発明の諸実施例に従ってデータを記憶するための方法２５０を実施するためのステップを示す流れ図である。本方法は、ブロック２５２で、システム１００Ｃから割振り要求を受け取ることによって開始される。割振り要求は、割振り要求に関連付けられたデータを記憶容量に保存すべきデータ・フォーマット、例えばＲＡＩＤフォーマットを指定する。ブロック２５４で、割振り要求から記憶フォーマットが決定される。
【００５０】
ブロック２５６で、指定された記憶フォーマットを調整する１つ又は複数の予め定められた候補から、ある一般記憶コンテナが選択される。シート内の記憶グリッドの数を指定している一般記憶コンテナと割振り要求によって指定された記憶容量のサイズとが与えられると、ブロック２５８で、記憶容量のシートの数を選択することができる。最後に、ブロック２６０で、ユーザ・データを記憶するために一般記憶コンテナ内のどのストライプ１３２が割り振られるか、また、あればどのストライプ１３２が耐障害性データを記憶するために割り振られるかを定め、上記で論じたユーザ／パリティ・マッピングなどシステム構成情報に従って、データを記憶するためにシートが割り振られる。
【００５１】
本発明の様々な実施例の多数の特徴及び利点について、本発明の様々な実施例の構造及び機能の詳細と共に、前述の説明で述べたが、この詳細な説明は例示的なものにすぎず、詳細において、特に本発明の原理内の部分の構造及び構成の点において、添付の特許請求の範囲が表現されている用語の広い、一般的な意味によって示される最大の範囲で変更を加えることができる。例えば、特定の要素は、本発明の精神及び範囲から逸脱することなしに、特定のデータ・コンテナ構造に応じて変わる可能性がある。
【図面の簡単な説明】
【００５２】
【図１】本発明の様々な実施例を使用することができる例示的な動作システムの略図である。
【図２】マス・ストレージを使用する広域ネットワークとして特徴付けられる、コンピュータをベースとするシステムの最上位機能ブロック図である。
【図３】図２のコントローラのうち選択された１つを示す機能ブロック図である。
【図４】データ記憶デバイス・メモリの略図である。
【図５】複数のＲＡＩＤフォーマットをサポートする記憶容量のための静的容量割当て構成を概略的に示す図である。
【図６】図５の静的容量構成の使用例を概略的に示す図である。
【図７】複数のＲＡＩＤフォーマットをサポートする記憶容量のための動的容量割当て構成を概略的に示す図である。
【図８】グリッドをベースとする記憶容量を概略的に示す図である。
【図９】複数のグリッドのためのシート編成テーブルを概略的に示す図である。
【図１０】図９のシート編成テーブルを図８のグリッドに適用することによって生成されるデータ記憶グリッドを概略的に示す図である。
【図１１】ユーザ・データ・グリッドを概略的に示す図である。
【図１２】図１１のユーザ・データ・グリッドのためのＲＡＩＤ１ミラー・グリッドを概略的に示す図である。
【図１３】ＲＡＩＤ５フォーマット及びＲＡＩＤ６フォーマットのために使用することができるユーザ／パリティ・マップを概略的に示す図である。
【図１４】様々なＲＡＩＤフォーマットで３０個のグリッドを使用するデータ記憶容量のシートのための割振りマップを概略的に示す図である。
【図１５】様々なＲＡＩＤフォーマットで１０個のグリッドを使用するデータ記憶容量のシートのための割振りマップを概略的に示す図である。
【図１６】Ａは、ＲＡＩＤ０のためのデータ／パリティ・マッピングとの組合せで８列５行グリッドを備える一般記憶コンテナを概略的に示す図である。  Ｂは、ＲＡＩＤ１のためのデータ／パリティ・マッピングとの組合せで８列５行グリッドを備える一般記憶コンテナを概略的に示す図である。  Ｃは、ＲＡＩＤ５のためのデータ／パリティ・マッピングとの組合せで８列５行グリッドを備える一般記憶コンテナを概略的に示す図である。
【図１７】Ａは、ＲＡＩＤ０のためのデータ／パリティ・マッピングとの組合せで５列８行グリッドを備える一般記憶コンテナを概略的に示す図である。  Ｂは、ＲＡＩＤ１のためのデータ／パリティ・マッピングとの組合せで５列８行グリッドを備える一般記憶コンテナを概略的に示す図である。  Ｃは、ＲＡＩＤ５のためのデータ／パリティ・マッピングとの組合せで５列８行グリッドを備える一般記憶コンテナを概略的に示す図である。
【図１８】本発明の諸実施例に従って記憶容量を割り振るための方法を実施するためのステップを示す流れ図である。
【符号の説明】
【００５３】
１００  動作システム
１００Ａ  コンピュータ
１００Ｂ  サーバ
１００Ｃ  インテリジェント記憶システム
１０１  データ記憶デバイス
１０１Ａ  データ記憶デバイス
１０１Ｂ  データ記憶デバイス
１０１Ｃ  データ記憶デバイス
１０１Ｄ  データ記憶デバイス
１０１Ｅ  データ記憶デバイス
１０１Ｆ  データ記憶デバイス
１０１Ｇ  データ記憶デバイス
１０１Ｈ  データ記憶デバイス
１０１Ｉ  データ記憶デバイス
１０１Ｊ  データ記憶デバイス
１０２  ホスト・コンピュータ
１０４  データ記憶アレイ
１０６  ファブリック
１０８  コントローラ
１１２  主プロセッサ
１１４  不揮発性メモリ
１１６  ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）
１１８  ファブリック・インターフェース（Ｉ／Ｆ）回路
１２０  デバイスＩ／Ｆ回路
１２２  パス・コントローラ
１２４  キャッシュ・メモリ
１３０  記憶マップ
１３２  ストライプ
１３４  ＬＢＡ
１３６  ＬＢＡ
１３８  ＬＢＡ
１４０  ＬＢＡ
１５０  使用分析
１５２  グラフ
１５４  グラフ
１５６  グラフ
１７０  シート編成テーブル
１７２  第１のグループ
１７４  第２のグループ
１８０  データ記憶グリッド
１９０  ユーザ／パリティ・マップ
１９２  行パリティ・グリッド
１９４  列パリティ・グリッド
２００  シート、割振りマップ
２０２  シート、割振りマップ
２０４  シート、割振りマップ
２０６  シート、割振りマップ
２０８  シート、割振りマップ
２２０  割振りマップ
２２２  割振りマップ
２２４  割振りマップ
２３０  一般記憶コンテナ
２４０  一般記憶コンテナ
２５０  方法
【図１】
2006120120.tif 000004
【図２】
2006120120.tif 000005
【図３】
2006120120.tif 000006
【図４】
2006120120.tif 000007
【図９】
2006120120.tif 000008
【図１０】
2006120120.tif 000009
【図１１】
2006120120.tif 000010
【図１２】
2006120120.tif 000011
【図１３】
2006120120.tif 000012
【図１４】
2006120120.tif 000013
【図１５】
2006120120.tif 000014
【図１６】
2006120120.tif 000015
【図１７】
2006120120.tif 000016
【図１８】
2006120120.tif 000017
【図５】
2006120120.tif 000018
【図６】
2006120120.tif 000019
【図７】
2006120120.tif 000020
【図８】
2006120120.tif 000021