説明

グリッド・ベース・データ記憶システム用メタデータ

【課題】グリッド・ベース記憶容量を用いるデータ記憶システムのアーキテクチャと方法。
【解決手段】他の軸に沿った複数の記憶ストライプの行に対する軸に沿った複数の記憶領域を各グリッドが定義し、グリッドのグループであるシートが記憶容量を定義する。メタデータは記憶容量内のシートの割り当て状態を特徴とするメモリ・スペースに記憶された識別情報を含む。既存論理デバイスに割り当てが関連していれば割り当てテーブルにより、選択された記憶ユニットへメモリを割り当て、関連していなければ、シート割り当てデスクリプタとシート割り当てマップにより、選択された記憶ユニットへメモリを割り当てる。論理デバイス割り当てマップおよびドライブ組織テーブルにより選択された記憶ユニットへ(から)データを転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の諸実施例は、一般にコンピュータ・システム記憶容量(storage capacity)に関し、特に、記憶容量若しくはストレージ・キャパシティ内に割り当てられるメモリの構成(configuration)を記述するメタデータ・アーキテクチャに関するが、これに限定されない。
【背景技術】
【0002】
コンピュータ・システムは入力装置、出力装置、1つまたはそれ以上の中央処理装置(CPU)および記憶容量若しくはストレージ・キャパシティを含む。この記憶容量は、半導体メモリ、ディスク・ドライブおよび光ドライブのような多くのデータ記憶装置の形を取る。オペレーティング・システムは、アプリケーション環境および諸ファイルが生成され修正されまたは削除される記憶容量を、割り当てまたは解除するファイル・システムを供給する。サーバなどのデータ記憶システムはまた、ネットワークまたは他の接続を通じてアクセスされる記憶容量を割り当てるためのファイル・システムを使用する。サーバおよび記憶アレイは、複数のデータ記憶装置を横切って記憶される情報を分配する独立ドライブの冗長アレイ若しくはレイド(redundant array of independent drive)(RAID)などのデータ記憶フォーマットを、サポートする。メモリへデータがマップされる方法を記述する情報を含むデータ構造は、メタデータ(metadata)と名付けられる。ファイルが生成され修正されまたは削除されるときメタデータが更新されて、記憶容量の割り当てまたは解除(時々集合的に「割り当て」と、呼ばれる)を反映する。
【0003】
メタデータの構造は、記憶システムの性能に著しく影響する可能性がある。システムの記憶容量が増大するにつれて、このシステムを管理するために使用されるメタデータの量も増大する。メタデータを使用するデータ構造が大きくなるにつれて、この構造からの情報を解析し、これらの構造を更新するために必要な時間の量が著しいものになる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本書に実施例を示し特許請求の範囲に後述するように、本発明の実施例は、一般にコンピュータ・システム構成情報を記述する装置と、関連の方法に向けられている。
【課題を解決するための手段】
【0005】
本発明のいくつかの実施例は、グリッド・ベース(grid based)記憶容量を採用するデータ記憶システムのためのメタデータへ向けられており、他の軸に沿った複数の記憶ストライプの1つまたはそれ以上の行に対する1つの軸に沿った複数の記憶領域に関する記憶ユニットを各グリッドが定義し、また2つまたはそれ以上のグリッドのグリッド・グルーピングが、データ記憶容量の1シートを定義する。このメタデータは、記憶システム(storage system)内の諸シートの割り当て状態を特徴とするメモリ・スペース内に記憶された識別情報を含む。
【0006】
本発明の他の諸実施例において、既存の論理デバイスに関連するかどうかを決定することを含むグリッド・ベース・データ記憶システムのためにメモリの割り当てる方法が供給される。この決定するステップが既存の論理デバイスに関連するならば、そのときは論理デバイス割り当てマップおよびシート割り当てテーブルがアクセスされて、選択された記憶ユニット(storage unit)が割り当てられる。さもなければ、シート割り当てデスクリプタおよびシート割り当てマップがアクセスされて、選択された記憶ユニットが割り当てられる。
【0007】
本発明の他の諸実施例において、グリッド・ベース・データ記憶システムのためにデータを転送する方法が供給され、それは論理デバイス割り当てマップおよびドライブ組織テーブルにアクセスして、選択された記憶ユニットへデータを転送し、またはそこからデータを転送することを含む。
【実施例】
【0008】
図1は、実施例の例示的なオペレーティング・システムを図示し、コンピュータ100A、または内部的または付加的なデータ記憶装置101を有するサーバ100B、またはインテリジェント記憶システム100Cにおいて、本発明を採用できる。インテリジェント記憶システム100Cは、インテリジェント・コントローラおよびインターフェイスを有し、また、1つまたはそれ以上のデータ記憶アレイを有し得る記憶システムを表現する。
【0009】
オペレーティング・システム100は、それぞれ少なくとも1つの中央処理装置(CPU)、データ記憶容量を定義する複数のデータ記憶装置101およびデータ記憶容量の構成を記述するメタデータを含む。「構成(configuration)」の意味は、記憶容量の特定部分がデータを記憶するために使用されているかどうか、すなわちデータを記憶するのに利用可能な部分すなわち「割り当て可能な(allocatable)」スペースに対して、「割り当て済みの(allocated)」スペースであるかどうかの記述が供給されていることである。
【0010】
本発明の種々な実施例と共に使用するのに適した他のオペレーティング・システムには、追加のデータ記憶装置101、追加のデータ記憶アレイ、追加のデータ記憶装置コントローラまたはネットワーク・インターフェイス・コントローラなど図1に図示されていないものが含まれる。たとえば本発明の諸実施例は、少なくとも2つのデータ記憶装置101および1つのコントローラを含むシステム100に使用できる。本発明の諸実施例は、故障許容冗長度(fault tolerance redundancy)が少ないかまたは全くない単純なシステムから、障害点が全くない高度に冗長なシステムに至るまで、採用できる。
【0011】
本発明の好ましい実施例を有利に実行できる例示的な環境を図示するために、図2は大容量記憶装置を採用した広域通信ネットワーク(wide area network)(WAN)を特徴とするコンピュータ・ベースのシステム100Cを示す。
【0012】
システム100Cは、それぞれホストA、B、およびCとして識別される複数のホストコンピュータ102を含む。ホスト・コンピュータ102は、生地、若しくはファブリック(fabric)106を介して、データ記憶アレイ104のペア(それぞれAおよびBと示されている)と互いに作用している。ファブリック106は、好ましくはファイバ・チャネル・ベースのスイッチング・ネットワークを特徴とするが、インターネットを含む他の構成も同様に使用できる。
【0013】
各アレイ104は、一対のコントローラ108(A1、A2およびB1、B2で示す)および、好ましくはRAIDとして動作することを特徴とするディスクドライブであることを特徴とする一組のデータ記憶装置101を含む。コントローラ108およびデータ記憶装置101は好ましくはフォールト・トレラント配置を採用して、それにより種々のコントローラ108が並列の冗長リンクを採用するようになっており、また少なくともシステム100Cにより記憶されるユーザ・データのいくつかは、データ記憶装置101の少なくとも一組の中に、冗長フォーマットで記憶されている。
【0014】
さらにAホスト・コンピュータ102およびAデータ記憶アレイ104が第1サイトに物理的に配置され、Bホスト・コンピュータ102およびB記憶アレイ104が第2サイトに物理的に配置され、Cホスト・コンピュータ102も第3サイトに配置されるように考えられるが、これらは単に例示的なものであって限定的なものではない。
【0015】
図3は、コントローラ108の選択された1つを一層詳細に示す。コントローラ108を単一の集積回路に実施し、または希望により複数の離散回路の間に分散することができる。好ましくはプログラム可能で、コンピュータ・プロセッサであることを特徴とするメイン・プロセッサ112が、好ましくは非揮発性メモリ114(フラッシュ・メモリまたは類似のもの)およびダイナミック・ランダム・アクセス・メモリ(DRAM)116に記憶されたプログラミング・ステップおよび処理データに従って、制御を供給する。
【0016】
ファブリック・インターフェイス(I/F)回路118が、ファブリック106を介して他のコントローラ108およびホスト・コンピュータと連絡し、またデバイスI/F回路120が記憶装置101と連絡する。I/F回路118、120およびパス・コントローラ122が、キャッシュ・メモリ124を使用するなどにより、記憶アレイ104とホスト102の間に命令とデータを通すために通信回路を形成する。通信経路122およびI/F回路118、120は離散的に図示されているが、単一に構築できることを理解すべきである。
【0017】
所与のアレイ104内のデータ記憶装置101のエクステントにより定義されるアレイ104のデータ記憶容量は、アレイ104に書き込まれ読み出すことが可能な論理ユニット(logical unit)(「LUN」)へ組織される。システム構成情報が、それぞれの記憶位置により、関連のパリティおよびミラー・データを含むユーザ・データの間の関係を定義する。このシステム構成はさらに、ユーザ・データおよび論理ブロック・アドレス(logical block address)(LBA)などのメモリ記憶位置に対して割り当てられた記憶容量のブロックの間の関係を識別する。システム構成は、さらに論理ブロック・アドレスへマップされたバーチャル・ブロック・アドレスを定義することによる、仮想化を含むことができる。
【0018】
新しいファイルを保存したり既存ファイルを拡張するときなど、または既存ファイルのサイズを削減するときなど記憶容量を解除した後に、システム構成情報が変更される。システム・メタデータは、ファイル割り当て情報および割り当て情報をサポートする他のデータ構造を定義する。
【0019】
図4は、記憶マップ130に関する概略の図式的表現であって、データ記憶装置101(図1)に含まれる記憶容量の一部分を示す。以下の説明において「ストライプ(stripe)」は総称的な意味に使用され、RAID審議会(RAID Advisory Board)(RAB)により定義されたRAIDストライプにのみ関するものではない。記憶マップ130は、ストライプ132(時には本書では、「サブ・パーティション」132と呼ばれる)を図示し、ストライプ132は各々記憶容量の所定部分を含む。ストライプ132内の記憶容量の大きさは、システムの記憶アプリケーションのタイプを反映できる。各ストライプ132はLBAで開始する。説明のために、ストライプ1はLBA134で始まり、ストライプ2はLBA136で始まり、ストライプ3はLBA138で始まる。複数の他のストライプ132を、LBA140で始まるストライプNまで定義することができる。好ましくは1つのストライプ132の終了が次のストライプ132に直接に隣接して、これにより隣接するストライプ132の間に、使用されない記憶容量がないようにする。
【0020】
図5は、システム100Cのためのグリッド150ベースの記憶容量アレンジメント若しくは配置を図示する。グリッド150内の各カラム(column)は、1つのデータ記憶装置101または記憶領域(storage domain)に対応し、またグリッド150の各行(ROW)は複数のストライプ132に対応し、各データ記憶装置ドライブ101内に1つのストライプ132がある。一行の中のストライプ132は、同一または異なったLBAで開始できる。
【0021】
スペアの容量が、データ記憶装置101パーティションのサブ・パーティションを横切って配置される。従って、ストライプ132はデータを記憶するために割り当てられるし、またはスペアでもあり得る。データを含むストライプ132は、ユーザ情報、ミラー・データ、またはパリティ・データなどの事柄を記憶する。スペア・ストライプ132は、特定のデータ記憶装置101上にのみ存在するように構成でき、または所定の方法で一部または全てのデータ記憶装置101を横切って分配することができる。スペア・ストライプ132の指定は、1つのグリッドから次のグリッドへと変化し得る。一群の連続したグリッド150はシートと名付けられ、しばしばグリッド・グループと呼ばれる。サブ・パーティションはシートと並んでいて、「シート・セル」(「scell」)と名付けられる。グリッド150を形成するために採用されたデータ記憶装置101は、ブック(book)と名付けられる。
【0022】
図6は、シート・バージョン162、164、166、168および170を有するシート組織(sheet organization)テーブル160を図示し、これらのシートが採用するグリッド150が、10個のデータ記憶装置101(連続的にA、C、E、G、I、B、D、F、HおよびJと示される)およびデータ記憶装置101全体にわたり配分された2つのデータ記憶装置101のスペア容量を有することを図示する。シート組織テーブル160はシート組織バージョン172を定義し、どのデータ記憶装置101がスペアである(文字「s」で示す)かを示し、また、どのデータ記憶装置101がデータを含む(文字「d」で示される)かを図示する。注意すべきは、好ましくはデータ・セルとスペア・セルの配置が、異なったシート・バージョンごとに変ることである。これにより、データ・ストライプ132およびスペア・ストライプ132がブック内の全てのデータ記憶装置101を横切って配分されることができ、それによりマルチスレッドの環境において全てのデータ記憶装置101に同時的にアクセスすることができる。そうしたスペアリング配置は、全てのスペア・ストライプ132が全てのデータ記憶装置101よりも少ないものの中に含まれるシステム100よりも、高い性能を提供する。
【0023】
バージョン172の各々について、2つまたはそれ以上の記憶装置101がスペア容量を供給する例示的な実施例において、データ記憶装置101はグループおよびペアに構成される。たとえば表160において、ドライブA&B、C&D、E&F、G&HおよびH&Jはペアを構成し、ペア内に含まれるデータ・ストライプ132が、各シート・バージョン172についてスペアまたはデータの同一の宛て先を有するように、スペアリングを配分できる。データ記憶装置101もまたグループに組織できる。たとえば表160において、第1グループ174はドライブA、C、E、GおよびIを含み、第2グループ176はドライブB、D、F、HおよびJを含む。RAID1データ・フォーマットについてペアリングを採用することにより、ペアの1つのメンバがユーザ・データ(一次データ)を含み、ペアのもう1つのメンバがミラー・データ(二次データ)の形で同一データを含み、またはその逆にすることができる。RAID5データ・フォーマットについてもグルーピングを採用でき、それによりユーザ・データは1つのグループ174、176に含まれ、パリティ・データが他のグループ176、174に記憶されるようにできる。そのようにして、障害許容データ記憶フォーマットを構成するときに、データ記憶装置101内のペアリングとグルーピングが有利に採用される。図6のペアリングとグルーピングは例示的なものであって、どのデータ記憶装置101がペアまたはグループを形成するかについては何の制限もなく、所与のデータ記憶装置101(そこの全てのパーティション)が常に1つのみの特定の他のデータ記憶装置101とペアになって、最大フォールト・トレランスを形成する。
【0024】
あるデータ記憶装置101が失敗すれば、作用中のデータ記憶装置101からのデータはコピーされまたは再構成されて、シート組織テーブル160により規定された通りに、スペア・ストライプ132へ書き込まれる。図6の例示的な実施例において、シート組織テーブル160は循環テーブルであって、一組のスペア・バージョン(ドライブ組織)172を通じて、繰り返し循環する。たとえば6番目のシート(図示なし)が第1シートとして同一シート・バージョン162により参照されるが、しかし異なったスペア・バージョン172(ドライブ組織)により参照されるかも知れない。異なった番号のバージョン172、データ記憶装置101およびスペア構成をサポートするために、シート組織テーブル160が修正され得る。
【0025】
グリット150(図5)へシート組織テーブル160を適用すると、スペア・ストライプ132として設計された指定サブ・パーティション内のストライプ132の第1セット、およびユーザ・データ、ミラー・データまたはパリティ・データを記憶できるサブ・パーティション内のストライプ132の第2セットが供給される。シート組織テーブル160(SV1 162)およびグリッド150のこの組み合わせは、割り当て可能な記憶グリッドであって、ときには本書で「記憶ユニット」(SU)180と呼ぶものを、図7に図示するように定義する。各長方形はデータ・ストライプ132を表現し、各長方形内の文字は関連データ記憶装置101を指示する。SU180は、8個のデータ記憶装置101にまたがる8つの行を含む。たとえば128KBのサイズのストライプ132が規定されれば、SU180は8MBの記憶容量を供給する。あるブック内のそうしたSU180は一連番号を付けられるか、さもなければ各々1つの番号または独自の識別子を割り当てられる。
【0026】
前記のように、複数のグリッド150を1つのシート内に組織できる。シートは典型的にただ1つの記憶フォーマットに構成されるが、RAIDレベル変換のようなあるオペレーションの最中には、1つよりも多い記憶フォーマットが1つのシート内に存在し得る。
【0027】
図8はSU180に類似した記憶ユニット(storage unit)(SU)185を図示するが、しかし全てのストライプ132がユーザ・データを含んでおり、これらはData A−1、Data A−2、Data A−3、Data A−4、Data B−1などで、Data P−4までを示す。他のSU180内に記憶されたパリティ・データまたはミラー・データなどの冗長情報を通じて、SU185内に記憶されるデータにフォールト・トレランスが供給される。1つまたはそれ以上の他のSU180内に収納されたフォールト・トレランス情報に関連するSU185は、「高信頼記憶ユニット」(RSU)と名付けられる。本明細書と添付特許請求の範囲のために、用語「SU」は、関連のフォールト・トレランス情報付きまたはなしの、あらかじめ選択されたユーザ・データ記憶容量を意図している。すなわち用語「SU」は関連のフォールト・トレランス情報なしのユーザ・データを含むSU185を意味し、また用語「SU」は均等の代替実施例において1つのRSUを意味し得る。
【0028】
図9は、図8のSU185の例示的なRAID1ミラー・データ・グリッド190を図示する。SU185の左側からのデータが、ミラー・データ・グリッド190の右側にミラーされRAID1のペアを生成する。つまりSU185内の各ストライプ132について、ミラー・データ・グリッド190内に対応する1つのストライプ132がある。たとえばミラー・データ・グリッド190内のストライプA−1は、SU185内にストライプA−1に関してミラーされる。注意すべきは、データ・フォールト・トレランスの要求に応じて、異なったデータ記憶装置101内にミラー・データが記憶されることである。
【0029】
図10は、1つのSU185およびカラム(column)と行(row)のパリティ値204、206を計算し配置する方法を示す。SU185は、図8のそれと同様に、文字インデックスと数字インデックスによりラベルされたSU185内の各ストライプ132を有する。文字インデックスは、行パリティ・ストライプ206を発生するために使用されるRAID5のための、行パリティ・ストライプ・セットを規定する。たとえば、ユーザ・データ・ストライプA−1、A−2、A−3およびA−4はXORされて(論理的に排他的ORされて)、行パリティ値206内にストライプ「AP」を生成する。数字インデックスは、RAID6データ記憶フォーマットのために対角パリティ(diagonal parity)を発生するために使用される、カラム・パリティ・ストライプ・セットを規制する。たとえばユーザ・データ・ストライプA−1、B−1、C−1およびD−1はXORされて、カラム・パリティ値204内に「1P」を生成する。SU185の8個の行とカラムは、2行の行パリティ・データ206および2行のカラム・パリティ・データ204を発生するために、使用される。最適性能のために、フォールト・トレランス情報はSU185内に含まれず、むしろ1つまたはそれ以上の他のSU180内に含まれる。好ましくはRAIDフォーマット変形を容易にするために、パリティ値204、206が2つの異なったSU180内に含まれている。
【0030】
図11はシート212、214、216、218および220のグリッドの利用チャートを図示し、各シートはSU185およびグリッド180からなる全部で30個のグリッドを採用し、それぞれRAID 0、RAID 1x2、RAID 1x3、RAID 5およびRAID 6により構成されている。RAID 0(212)について、シートは30個のSU185を含み、これらはData 1−30とラベルされている。RAID 1x2(214)について15個のSU185が、データ1−15とラベルされたユーザ・データを含み、15個のグリッド180が、MData 1−15とラベルされたミラー・データを含む。RAID 1x3(216)について、10個のSU185がData 1−10とラベルされたユーザ・データを含み、10個のグリッド180がMdata 1−10とラベルされたミラー・データを含み、10個のグリッド180がMdata 1’−10’とラベルされた代替ミラー・データを含む。代替ミラー・データは、ミラー・データと異なったグリッド利用チャート210内のストライプの順序付けを採用するが、一方ユーザ・データ、ミラー・データおよび代替ミラーデータを、異なったデータ記憶装置101内に記憶されている通りに維持する。RAID 5(218)について、24個のSU185がData 1−4とラベルされたユーザ・データを含み、6個のグリッド180がRP1−4ないしRP21−24とラベルされた行パリティを含む。RAID 6(220)について、20個のSU180がData1−20とラベルされたユーザ・データを含み、5個のグリッド180がRP1−4ないしRP17−20とラベルされた行パリティを含み、5個のグリッド180がCP1−4ないしCP17−20とラベルされたカラム・パリティを含む。
【0031】
これらの構成は「パック・パリティ(packed parity)」フォーマットを例示し、そこでユーザ・データがシートの一部分に排他的に記憶され、またミラーまたは(あるとすれば)パリティ・チェックがそのシートの他の部分に排他的に記憶される。これは連続的な読取性能を増大させる。シートあたり30個のSU185またはグリッド180の組み合わせ全体配置(combined total arrangement)を有する図11の例示的な構成について、異なったRAIDレベルは異なった数のSU185の結果を生じる。

【0032】
図12は、本発明の実施例により記憶容量をマップするために良く適合したグリッド・ベース・アーキテクチャの略図的なブロック図である。図12に示したのは、番号を付けられた複数のシートのマップ230、それらシート232の中の1つ、およびグリッド180である。前述のように、グリッド180はSU185として働き、すなわちミラー・データまたはパリティ・データを収納できる。
【0033】
ふたたび用語「メタデータ」は、データの効率的な管理と操作のために記憶容量の現在の配置を記述するのに有用なシステム100の構成を記述するのに使用される。メタデータはディスク上および/またはディスクでないメモリ、たとえばキャッシュ・メモリに記憶できる。ディスク上に記憶されるメタデータの部分は、非ディスク・メモリ内にも記憶できる。メタデータは、さらに論理ディスクなどの論理デバイスと組み合わせることができる。
【0034】
図13は、本発明の実施例によるメタデータを図示する。シート割り当てマップ(sheet allocation map)(SAM)240は、ブック内の各シートについて1ビットを有するビット・アレイである。SAM240内のビットは、対応するシートが割り当て済みであれば第1の値へセットされ、対応するシートが割り当て可能であれば第2の値へセットされる。従ってSAM240は、割り当て可能なシートを識別するために使用できる。SAM240は、ゾーンごとのシートのあらかじめ選択された数により、複数のゾーン242、244、246および248へ組織されて示されている。つまり図13の例示的な実施例において、シート212、214は、ゾーン1(242)内にあり、シート216はゾーン2(244)内にあり、シート218、220はゾーン3(246)内にある。
【0035】
このメタデータは、さらにシート割り当てデスクリプタ(sheet allocation descriptor)(SAD)260を含み、これはSAM240の状態について要約情報を供給する。SAD260は、シート262の全数、番号割り当て可能シート264およびSAM240のゾーン内の割り当て可能シートの数を含むアレイを含む。たとえばSAD260のゾーン1割り当て可能シート266は、SAM240のゾーン1(242)内の割り当て可能シートの数を含む。本発明のいくつかの実施例は、各ブックについて1つのSAM240およびSAD260を採用する。本発明の代わりの実施例は、複数のブックについて単一のSAM240を採用し、または各SAM240が単数または複数のブックの一部分をカバーすることにより、複数のSAM240を含むことができる。SAD260は割り当て可能なシートを有し、または割り当て可能なシートのあらかじめ決定された数を有することにより、記憶領域の識別を単純化する。
【0036】
前に議論したように、シートを論理デバイス(logical device)(LD)へ割り当てることができる。図14は、本発明のメタデータを論理デバイス割り当てマップ(logical device allocation map)(LDAM)280の形式でさらに図示し、これはポインタ・ペアのアレイ282を有する。第1ポインタがSUデスクリプタ・アレイ284を指定し、第2ポインタがRビット・アレイ(R−bit Array)(RBA)286を指定する。入力288は、SUデスクリプタ290、拡張SUデスクリプタ292およびXビット294を含む。Xビット294は、SU185の一部分が書き込み済みであるかどうかを指示するために使用できる。SUデスクリプタ290は、SU番号298を含むフィールド296、RAIDレベル300、ブックID 302、ドライブ組織304、Dビット306および予備ビット308を含む。
【0037】
SU番号298およびブックID 302は、記憶容量内の特定のSU185を定義する。特定のSU185を含むシートのシート・バージョン172(図6)は、シート内のグリッドの数により(図11の例における30などにより)SU番号298を割り算して、それからその結果をシート組織バージョン(図6の例では、5)で割り算して、その剰余がシート・バージョンであることにより定義される。Dビット306が、メディアの有効性を指示するために使用される。大容量データ記憶装置101のために必要な場合は、拡張SUデスクリプタ292が追加SU185番号ビットを供給する。各RBA入力287は、SU185のサブ・セットのための状態情報を指示するために使用されるRビットを含む。これらのRビットは、たとえば、データ・カレンシー(data currency)を指示するために使用される。
【0038】
シートおよびSU185をLDへ割り当てることを通じて、ストライプ132の論理ブロック・アドレス(logical block address)(LBA)は、各LD内に仮想ブロック・アドレス(virtual block address)(VBA)として仮想化される。言い換えれば、SUデスクリプタ290(および適用可能な所では拡張SUデスクリプタ292)は、所与のLDへ割り当てできる記憶域の最少ユニットをマップする。SU185内のブロックのLBAは、さらに後述するようにSU番号298を通じて一部決定される。図14に図示されたLDAM280構造は、好ましくはLDまたは他の階層構造によりインデックスされるが、これは特定LDについてSUデスクリプタ・アレイ284およびRBA286またはその一部分にアクセスするためである。これによりSU185の最少番号からSU185の大きな番号までにわたるLDを割り当てるときに、メモリ使用効率の柔軟性が提供される。代わりに本発明のある実施例では、「フラット」構造を採用しそこでは各LDについてのSUデスクリプタ284およびRBA286は、単一のアレイ内に連続的に記憶される。
【0039】
図15は、リンク・データ320、322を含む例示的なリンク・リステッド(link listed)LDAM280’構造を図示し、リンク・データ320、322は、SUデスクリプタ・アレイ284’およびRBA286’のリンケージを供給する。
【0040】
図16は、さらにLDにより索引付け(インデックス)可能なアレイ332を供給するSU割り当てデスクリプタ・アレイ330の形式における本実施例のメタデータを図示する。各SU割り当てデスクリプタ入力334は、LDへ割り当てられたシート336の総数、LDへ割り当てられたSU185の総数、オールド・シート・ポインタ340、ニュー・シート・ポインタ342および予備ビット344を含む。オールド・シート・ポインタ340およびニュー・シート・ポインタ342は、追加記憶容量が利用可能な時に追加ブックを横切って、LDを再マップするために使用できる。この割り当て処理は複数ブック割り当てを採用することができ、その場合あるLDへ割り当てられる第1シートは、第1ブックからであり、そのLDへ割り当てられる第2シートは第2ブックからであり、以下同様である。あるLDの第1割り当てシートのための開始ブックは、LD番号モジューロ・ブックの数(LD number modulo the number of books)により決定される。
【0041】
図17は、さらに記憶容量内のほぼ全てのシートにデータの索引付け可能なアレイ362であるシート割り当てテーブル(sheet allocation table)(SHAT)360の形式における本発明の実施例のメタデータを図示する。SHAT入力(エントリ)364は、それぞれのシートが割り当てられるLD番号366、シートのRAIDレベル368、シート内のどちらのSU185が論理デバイスへ割り当てられるかを示し、またどちらのSU185が割り当て可能であるかを示すビットを有するSUマップ370を含んでなり、予備ビット372を含み得る。RAIDレベル368は、1つのRAIDレベルからもう1つのRAIDレベルへの変換が進行中であることを示す値を含み得る。SHAT360は、LDマップが具体化された時にメモリ内に設立される。SHAT360は、SU185が1つのLDへ割り当てられ(アロケート)、またはそこから解除(デ・アロケート)される時に更新される。SHAT360は、LDへの割り当て要求への応答において、特定のLD内に充分な幾つかの割り当て可能SU185が存在するかどうかを決定するのに有効な資源として役立つ。SHAT360は、さらに多重(マルチプライ)割り当て(割り当てミス)されたシートおよびマップ具体化の最中のSU185の可能性についてのメタデータのチェックとして役立ち、シート及びSU185の割り当ておよび解除中に特別なクロス・チェックを供給できる。SHAT360は、また、オペレーション類似のRAIDレベル変換およびまばらな(sparse)解除の結果として残された、LD内の部分的に割り当てられたシートの単純な(ストレートフォワード)がらくた状の(ガーベージ)コレクションのための計算を供給できる。
【0042】
図18は、さらにカレント・アレイ・テーブル(current array table)(CAT)入力384のインデックス可能アレイ382を供給するドライブ組織テーブル(drive organization table)(DOT)380の形式における本発明の実施例のメタデータを図示する。DOT380内のCAT384の数は、ブックの数、ドライブ組織304(図14)の数およびシート・バージョン172(図6)の数を反映する。各CAT384は、シートへストライプ132を供給するデータ記憶デバイス101の順序付きセットを規定する。図10のSU185から連想できるように、図18の例示的な実施例において、CAT入力384により規定された8個のデータ記憶装置101がある。各入力384は、ドライブ・ステータス386、オフセット・インデックス388およびドライブID390を含む。
【0043】
ドライブ・ステータス386はドライブ・コンデション情報を含み、これにはリポーティング技術(SMART)からの情報が含まれる。SMARTは、故障警告についての業界で採用された標準仕様である。SMARTは、ビット読み取りエラーおよびトラック・シーク・エラーなどの多過ぎる内部データ記憶装置101のエラーを監視することに基づいている。SMARTは、データ記憶装置101マイクロ・プロセッサ内で走る故障警告アルゴリズムを採用して、エラー率が閾値を越えるかどうかをチェックし、そうした状態が存在すればデータ記憶装置インターフェイス120上でホスト102へ警告を送る。
【0044】
オフセット・インデックス388をLBAオフセット・テーブルに付加して、データ記憶装置101の領域をスキップしたり、アクセスされる領域をオフセットしたりできる。オフセット・インデックス388は、テーブルにアクセスして、特定のデータ記憶装置101上のパーティションの開始LBAを獲得する。そのパーティションは、所与のデータ記憶装置101からそれぞれのブックへのデータ・キャパシティのコントリビューション全体である。ブックは、連続するLBAのパーティションから形成される。前記のように、DOT382内のCAT384の数はブックの数、ドライブ組織304の数およびシート・バージョン172の数を反映する。データ記憶装置101が故障すれば除去され、さもなければ仕事から外され、スペア・ストライプ132を含むと指定されたスペアのデータ記憶装置101によって、機能的にとって変わられる。下記の表2は、図6のシート・バージョン5(SV5)に対応するCAT入力(エントリ)384を指示する。ドライブ・ステータス386は0の値として示され、問題がないことを示すが、ドライブ・ステータス386の他の値および表現を使用することができる。ドライブID390は、図6のデータ記憶装置101表記に対応する文字の値として示される。

【0045】
下記の表3は、データ記憶装置「E」が故障した後に除去されたか、さもなければ作業をやめているシート・バージョン5についてのCAT384を示す。図6から認められることは、ドライブAおよびBがシート・バージョン5(SV5)のために、スペアとして働くことである。スペアは、ドライブAが選択されてドライブEに置き換わるように、グループ174、176に関して選択される。
【0046】
CAT384は、1つの異なったドライブ組織であって、SU185が再配置済みになって、新組織に一致した後にSUデスクリプタ290から参照される。変更に先立って、SUデスクリプタ290は、失敗したドライブが失われたことを示すために修正されたCAT384を参照する。変更の後にSUデスクリプタが修正されて、この新しいCAT384を参照する。

【0047】
表3に示すCAT384は、たとえばCAT10などDOT380内の他の索引付け可能な入力382として記憶され得る。ドライブEはまた、3つの他のシート・バージョン172に影響するので、SV1、SV2およびSV4内にスペアがあることを反映するために追加のCAT384が生成される。ドライブEを採用するSU185内のデータはコピーされ再構成されて、図4のシート・バージョン172に指定されるスペアのデータ記憶装置へ記憶され得る。データをコピーし再構成するのに先立って、ドライブ組織304はスペアがある以前のCAT385を規定することができる。コピーまたは再構成の後に、ドライブ組織304は、スペアがある後のCAT384を規定することができる。データ記憶装置101故障後のSU185の配置は、新しいドライブ組織304を採用する。ドライブ組織304は、故障または除去されたデータ記憶装置101の下記の置き換えを更新することができる。DOT380のためのCAT384値は、表4に示すように図4のシート組織表160について図示できる。

【0048】
番号0−9は、各シート・バージョン172のためにストライプ132を供給するデータ記憶装置101の順序を表現し、第1グループ174を表現する4つの番号、第2グループ176を表現する4つの番号およびスペア・データ記憶装置101を指示する2つの番号としてリストされる。表4の中のドライブ組織2(Drive Org 2)は、データ記憶装置3が故障した場合に実施できるドライブ組織304を表現する。シート・バージョン1において、ドライブ組織2、データ記憶装置4は、グループ1内のデータ記憶装置3に取って代わり、データ記憶装置3は、故障(またはアクセス不可能)を指示するために打ち消し線で示されている。さらに、シート・バージョン1において、ドライブ組織3、データ記憶装置9は、故障したデータ記憶装置4に置き換わる。表4は、さらにSV2、SV3およびSV4のための種々のドライブ再組織方式を図示し、そこで同一のデータ記憶装置101が含まれる。
【0049】
前記のように、図6および上記の諸表に図示した文字はブック内のデータ記憶装置101の分担を指示する。ブックID302およびCAT384からの関連のドライブ位置が組み合わされて、他の表にアクセスするために使用されるメンバ記憶域プール順序タグ(member storage pool ordinal tag)(MSPOT)を形成し、それは物理ドライブ・アドレスを得るためのファイバ・チャネル裁定若しくは調停ループ物理アドレス(arbitrated loop physical address)(ALPA)のようなものである。ある実施例においては、MSPOTはブック内のデータ記憶装置101の最大数に等しいかまたはそれ以上の数(たとえば10個のデータ記憶装置101システムにおいて16のように)によりブックID302を乗算して、それからシステム・テーブル内に1つのインデックスを生成するために、SU185へ記憶容量を供給するデータ記憶装置のメンバ・インデックスを規定するCAT384の値を加えることにより、生成される。使用されるデータ記憶装置101のタイプによって、テーブルはSCSI ID、ファイバ・チャネルID、または、データ記憶装置101を物理的にアドレスするための、いずれか他のアドレスまたはIDを含むように構成することができる。代わりに、前記のようにCAT384内のドライブ文字は、たとえばALPAまたはSCSI IDなどのドライブID390に対応することができ、それにより、MSPOTテーブルおよびMSPOT/物理ドライブ・アドレス・テーブルは、使用されないようにされる。
【0050】
上記に例示したように、本発明の諸実施例はデータ記憶装置101の除去、故障または追加を容易に受け入れることができるメタデータ構造を提供する。その上、SUデスクリプタ入力290内に規定されたドライブ組織304は、SU185の管理を簡単にする。たとえば、たとえデータ記憶装置101が除去され、故障し、さもなければサービスを止めたとしても、第2のドライブ組織304を定義することができる。データ記憶装置101故障の後に新しいSU185があるLDへ割り当てられれば、次に続くドライブ組織304がSUデスクリプタ290内に規定される。前もって割り当てられたSU185についてデータが再構成でき、ドライブ組織304は第1の値から第2の値へ変更される。そういうわけで、ドライブ組織304はどちらの既存SU185が再構成済みであることの指示を供給し、また、後続のデータ記憶装置101の除去または故障を継続するための割り当てを可能にする。言い換えれば、本発明のドライブ組織304の実施例は、単一の高レベル構造を通じて種々の故障順列を可能にする。
【0051】
図19は、本発明の実施例による記憶容量割り当て方法400を実行するステップを図示する。方法400は、記憶容量の割り当てについてシステム100Cからの割り当て要求402により開始する。好ましくは、割り当て要求402は、LD番号、RAIDレベルおよび記憶容量に関連する。記憶容量は、SU185の番号へ変換できる。割り当てるべきシートの数は、割り当て要求内のSU185の数を、規定されたRAIDレベルについてシートごとのSU185の数により、割り算することにより決定できる。
【0052】
決定ブロック404は、割り当て要求402のLDが既存LDに関連するかどうかを決定する。ブロック404の決定がノーであれば、そのときはこのブックのためにSAD260がアクセスされたブロックへ制御が通過して、割り当て可能なシートを含む記憶容量が識別される。ブロック408において、SAM204がアクセスされて、1つまたはそれ以上の個別シートが選択される。
【0053】
それから制御はブロック410へ通過して、そこでシートがLDへ割り当てられる。新しいLDへ割り当てられる最初のシートのためのブックは、LD番号から決定できる。たとえば、このブックは、LD番号モジューロ・ブック番号として計算される。複数のシートが割り当てられた場合は、ラウンド・ロビン(round−robin)または循環テーブル(circular table)法のように、種々のブックの間からシートを選択できる。新しく割り当てられたSU185のためのドライブ組織304は、その特定のブックのために最近に定義されたものである。ドライブ組織304、ブックID302、RAIDレベル300およびSU番号298は、SUデスクリプタ入力288として記憶される。ブック内のデータ記憶装置101が大容量であれば、追加SU185番号ビットは、拡張SUデスクリプタ入力292として記憶できる。SUデスクリプタ・アレイ入力284は、それからフラット・アレイ配列のためのLDに対応するオフセットにおいてか、またはインデック付きアレイ配列のためにLDAM280内にインデックスがそれから記憶されるもう1つの位置において、LDAM280内に記憶される。
【0054】
ブロック412でSU185が、LDへ割り当てられ、ブロック414でSAD260およびSAM240が、更新されて割り当て要求402の完了を反映する。
【0055】
決定ブロック404の決定がイエスであれば、そのときは制御がブロック418へ渡されそこで割り当て要求402に関連するLDに割り当てられた最後のSU185を問い合わせるためにSAD330がアクセスされると共に、SU185が常駐するそれぞれのシート番号も問い合わせられる。それから、制御はブロック420へ渡され、そこでSUアレイ・デスクリプタ330のニューシート342内のSUマップ370を問い合わせるためにシート番号が使用される。それから、制御は決定ブロック424へ渡され、そこで割り当て要求402を満足させるのに充分な数のSU185がLDへ割り当てられたシート内にあるかどうかが決定される。決定ブロック404の決定がノーであれば、そのときはあらゆる割り当て可能なSUがブロック426でLDへ割り当てられ、割り当て要求402は、ブロック428で調節されて、ブロック426でLDへ割り当てられた割り当て可能なSU185の数を反映し、それから制御はブロック406へ通過する。処理はそれから上記のように継続する。決定ブロック424の決定がイエスであれば、そのときはSU185はブロック412内のLDに割り当てられ、ブロック414でSHAT360が更新される。
【0056】
割り当てられたSU185の数が1枚のシート内に割り当て可能なSU185の数を超える場合は、同一ブックまたは別のブックから追加のシートが割り当てられる。(既存LDへ、SU185が割り当てられて)LDが拡張された時は、SUアレイ・デスクリプタ330がアクセスされて、既に割り当てられたシート内に充分な割り当て可能なSU185が存在するかどうか、または新しいシートを割り当てなければならないかが決定される。追加の幾つかのシートを含むブックは、LD番号およびそのLDへ既に割り当てられたシートの数によって、SUアレイ・デスクリプタ330により指示される通りに決定される。SU185をLDへ割り当てることを通じて、各LD内のVBAと同様にストライプ132のLBAが仮想化される。LDおよびVBAを参照して、それからデータを記憶したり、または記憶されたデータを読み取ることができる。
【0057】
図20は、本発明の実施例によりデータの転送方法450を実行するステップを示す。方法450は、記憶容量へデータを記憶しまたはそこからデータを読み取るために、メタデータ・アーキテクチャを使用する。方法450は、ブロック452の入出力(I/O)要求により開始し、これは1つのLD、少なくとも1つのVBAおよびデータ読み取りまたは書き込み動作などのI/O動作を規定する。
【0058】
それから制御はブロック454へ行き、そこでデータ転送要求452に関連するLDへ割り当てられた入力288のために、SUデスクリプタ・アレイ284を索引付けするのに、LDAM280がアクセスされる。それからSUデスクリプタ290を決定するために、入力288がVBAに関して解析されるが、SUデスクリプタ290は、他の情報と共にドライブ組織304、ブックID302およびSU番号298を含むフィールド296を識別する。上記から想起されるのは、所望のSU185を含むシートのシート・バージョン172(図6)が、SU番号298をシート内のSU185の数で割り、(図11の例では30により)それからその結果をシート組織バージョンの数(図6の例では5)で割り、その剰余がシート・バージョンであることにより決定されることである。
【0059】
それから制御は456へ行き、そこで所望のSU185に関連するCAT384を決定するために、ドライブ組織304、ブックID302およびシート・バージョン172により索引付け可能なアレイ382を解析するために、DOT380がアクセスされる。ブックID302と選択されたCAT384から得られる相対メンバ位置が組み合わされて、MSPOTを形成する。前述のように、個別のドライブ・アドレスを得るために、MSPOTをMSPOT/ALPAテーブルまたは類似の構造へ付加することができる。ドライブ・アドレスを指示するためにSU番号298を直接に使用できるし、または、それをスケールしマスクしオフセットおよび他のように調節して、データLBAを生成することができる。データLBAは、また、CAT384のオフセット・インデックス388により、規定されるオフセットにより修飾することができる。追加的に、オフセット・インデックス388をオフセット・テーブルへ付加して各データ記憶装置101のための特定のオフセット値を得ることができる。代わりに、DOT380、CAT384、MSPOTおよびMSPOT/ALPAアレイを組み合わせる単一のテーブルを採用することができる。最後に、ブロック458においてデータ転送コマンドが実行される。
【0060】
本発明の実施例のディスク・ベースのメタデータは、ユーザ・データのそれに似た方法でシートおよびSU185を割り当てられる。ディスク・ベース、メタデータを記憶するために、たとえば、RAID−1x3のような高信頼データ記憶フォーマットを使用できる。
【0061】
図13ないし図18の例示的な実施例は、グリッド・ベース記憶システム100Cを管理するためにデータ記憶装置101に記憶されるメタデータ構造を図示する。メタデータに基づく記憶装置101に加えて、メモリ好ましくは非揮発性メモリ内にメタデータ構造を実施して記憶システム100Cを管理することができる。
【0062】
これまでの説明から注意すべきは、本発明の割り当て/アクセス・メタデータ構造は、ユーザ・データ・グリッド202のみを取り扱い、ミラーまたはパリティ・データ・グリッド204、206の処理に煩わされないことである。つまり、ユーザ・データ・グリッド202の割り当ては、関連するミラーまたはパリティ・データ・グリッド204、206の割り当てに対して暗示的に原因になる。これは、能率の増大と性能の向上を提供する。ミラーまたはパリティ・データの処理は、割り当ておよびアクセス処理に対してトランスペアレントな方法により遂行でき、コンピュータ・プログラム・コード、テーブルまたはデータおよびパリティ・マッピングを反映する他の構造を採用できる。
【0063】
本書に記述した種々の構造は本発明の実施例内で組み合わせることができる。たとえばLDMA280のSUデスクリプタ・アレイ入力288およびRbit入力288は、別々のアレイとして実施でき、単一アレイとして実施でき、または、各SU185について組み合わせおよび索引付けし、またはリンクすることができる。さらなる例として、SU割り当てデスクリプタ入力334をLDAM280のポインタ・ペア282の一部分として実施でき、各LDへ索引付けすることができる。他のデータ構造を、本発明の実施例内で同様に組み合わせることができる。
【0064】
本発明の実施例のこれまでの説明は、例示と説明のために提供されてきた。それは、網羅的であることや本発明の実施例を開示された通りの形式に限定することを意図するものではなく、上記の教示に照らして他の修正や変形が可能である。メタデータ・アーキテクチャの例示的な組み合わせと使用は、必要な機能性を提供し、これにより本発明の実施例の範囲を当業者が理解するために、全ての可能な配置のエミュレーションが必要でないようにしてある。選択され説明された実施例は本発明の諸原則を説明し、その実際的な応用により当業者が種々の実施例と考えられる特定の使用に適した種々の修正において、本発明を使用することを可能にする。添付の特許請求の範囲は、本発明の他の代わりの実施例を含むことを含むものと考えられる。
【図面の簡単な説明】
【0065】
【図1】本発明の種々の実施例が採用できる例示的なオペレーティング・システムの略図である。
【図2】大容量記憶装置を使用した広域通信ネットワークを特徴とするコンピュータに基づくシステムの最上位レベルの機能ブロック図である。
【図3】図2のコントローラの選択された1つを例示する機能的なブロック図を供給する。
【図4】データ記憶装置メモリの略図である。
【図5】グリッド・ベース・データ記憶容量の略図である。
【図6】グリッド内に10個のドライブを使用するデータ記憶シートのシート組織テーブルの略図である。
【図7】データ容量グリッドの略図である。
【図8】ユーザ・データ・グリッドの略図である。
【図9】図8のユーザ・データ・グリッドのためのRAID1ミラー・データ・グリッドの略図である。
【図10】RAID5レベルおよびRAID6レベルに適合した、ユーザ/パリティ・グリッドの略図である。
【図11】種々のRAIDレベルのためのグリッド使用の略図である。
【図12】データ・シート容量階層の略図である。
【図13】シート割り当てマップおよびシート割り当て記述子若しくはデスクリプタの略図である。
【図14】論理デバイス割り当てマップの略図である。
【図15】リンク・リステッド論理デバイス割り当てマップの略図である。
【図16】高信頼記憶ユニット割り当てデスクリプタ・アレイの略図である。
【図17】シート割り当てテーブルの略図である。
【図18】ドライブ組織テーブルの略図である。
【図19】本発明の実施例による記憶容量割り当てのためのステップを図示する処理フローチャートである。
【図20】本発明の実施例によるデータ転送のためのステップを図示する処理フロー・チャートである。
【符号の説明】
【0066】
100 オペレーティング・システム
101 データ記憶装置
102 ホスト・コンピュータ
104 データ記憶アレイ
106 ファブリック
108 コントローラ
112 メイン・プロセッサ
114 非揮発性メモリ
116 ダイナミック・ランダム・アクセス・メモリ
118 ファブリック・インターフェイス回路
120 インターフェイス回路
122 パス・コントローラ
124 キャッシュ・メモリ
130 記憶マップ
132 ストライプ
150 グリッド
160 シート組織テーブル
162,164,166,168 シート・バージョン
174,176 グループ
180 記憶ユニット
185 記憶ユニット
190 ミラー・データ・グリッド
204,206 パリティ値
212,214,216,218 シート
230 マップ
240 シート割り当てマップ
260 シート割り当てデスクリプタ
280 論理デバイス割り当てマップ
290 記憶ユニット・デスクリプタ
300 RAIDレベル
302 ブックID
304 ドライブ組織
320,322 リンク・データ
330 記憶ユニット割り当てデスクリプタ・アレイ
340 オールド・シート・ポインタ
342 ニュー・シート・ポインタ
360 シート割り当てテーブル
380 ドライブ組織テーブル
390 ドライブID
400 記憶容量割り当て方法
450 データの転送方法

【特許請求の範囲】
【請求項1】
複数の記憶ストライプの1つまたはそれ以上の行に対する1つの軸に沿った複数の記憶領域で、前記複数の記憶ストライプは他の軸に沿っていて、該複数の記憶領域で定められた記憶ユニットを含むグリッド・ベース記憶容量を使用したデータ記憶システムのためのメタデータであって、2つまたはそれ以上の記憶ユニットをグループ化する1つの記憶ユニットが、データ記憶容量のシートを定めて、前記記憶システム内の前記シートの割り当てステータスを特徴づけるメモリ内記憶識別情報を含む前記メタデータ。
【請求項2】
前記シートの各々の割り当て可能性を示すアレイを特徴とするシート割り当てマップを含む、請求項1記載のメタデータ。
【請求項3】
前記記憶容量内の前記割り当て可能なシートの数を示すシート割り当てデスクリプタを含む、請求項2記載のメタデータ。
【請求項4】
前記記憶容量が複数のゾーンへ配置され、また前記シート割り当てデスクリプタが1つのゾーン内の前記割り当て可能なシートの数を示す、請求項3記載のメタデータ。
【請求項5】
選択された記憶ユニットについて、前記記憶容量の基準(リファレンス)論理ブロック・アドレスを識別する記憶ユニット・デスクリプタを含む、請求項1記載のメタデータ。
【請求項6】
前記グリッドの記憶領域を識別するブック識別を前記記憶ユニット・デスクリプタが含む、請求項5記載のメタデータ。
【請求項7】
前記ブック内の各記憶ユニットについて固有の記憶ユニット番号を前記記憶ユニット・デスクリプタが含む、請求項6記載のメタデータ。
【請求項8】
前記選択された記憶ユニットの前記基準論理ブロック・アドレスを、前記記憶ユニット番号が定める、請求項7記載のメタデータ。
【請求項9】
前記記憶ユニット・デスクリプタが、フォールト・トレランス情報を含む、請求項8記載のメタデータ。
【請求項10】
スペア記憶領域を実施する順序付き方式を定めるドライブ組織インジケータを、前記フォールト・トレランス情報が含む、請求項9記載のメタデータ。
【請求項11】
前記記憶ユニット・デスクリプタが、独立のドライブの冗長アレイ(RAID)レベルを含む、請求項9記載のメタデータ。
【請求項12】
前記アレイ内の各論理デバイスについての記憶ユニット・デスクリプタのアレイを特徴とする論理デバイス割り当てマップを含む、請求項8記載のメタデータ。
【請求項13】
前記論理デバイスの各々へ割り当てられた前記シートの数を示す論理デバイス・インデックスのアレイを特徴とする記憶ユニット割り当てデスクリプタを含む、請求項12記載のメタデータ。
【請求項14】
前記論理デバイスの各々へ割り当てられた前記記憶ユニットの数を前記記憶ユニット割り当てデスクリプタが示す、請求項13記載のメタデータ。
【請求項15】
各シートが割り当てられる論理デバイスを示すシート番号により索引付け可能なアレイを特徴とするシート割り当てテーブルを含む、請求項12記載のメタデータ。
【請求項16】
前記シート割り当てテーブルがフォールト・トレランス情報を含む、請求項15記載のメタデータ。
【請求項17】
どの記憶領域がスペアとして割り当てられるかをシート組織が定め、ブック識別、ドライブ組織およびシート・バージョンの全ての順列のアレイとして特徴付けられるドライブ組織テーブルを含む、請求項10記載の前記メタデータ。
【請求項18】
前記データ記憶容量内の前記記憶ユニットのシステム構成を管理するステップにより、データ記憶システム・コマンドに応答して、1つまたはそれ以上のターゲット記憶ユニットを識別するように適合された、請求項15記載のメタデータ。
【請求項19】
前記データ記憶システムからの割り当て要求に応答して、前記シート割り当てマップおよび前記シート割り当てデスクリプタにアクセスすることにより、前記1つまたはそれ以上のターゲット記憶ユニットを識別することを前記システム構成を管理する前記ステップが含む請求項18記載のメタデータ。
【請求項20】
論理デバイスに関連する前記データ記憶システムからの割り当て要求に応答して、前記論理デバイス割り当てマップおよび前記シート割り当てテーブルへアクセスすることにより、前記論理デバイスに関連する前記1つまたはそれ以上のターゲット記憶ユニットを識別することを前記システム構成を管理する前記ステップが含む、請求項18記載のメタデータ。
【請求項21】
前記論理デバイスへあらかじめ割り当てられた前記シート内に不十分な割り当て可能な記憶ユニットがあるならば、前記シート割り当てマップおよび前記シート割り当てデスクリプタへアクセスすることにより前記1つまたはそれ以上のターゲット記憶ユニットを識別することを、前記システム構成を管理する前記ステップが含む、請求項20記載のメタデータ。
【請求項22】
1つの軸に沿った複数の記憶領域であって、他の軸に沿った複数の記憶ストライプの1つまたはそれ以上の行に対する前記1つの軸に沿った複数の記憶領域に関して定められる記憶ユニットを含み、2つまたはそれ以上の記憶ユニットのグループ化がデータ記憶容量のシートを定めるグリッド・ベース記憶容量を採用するデータ記憶システムのためのメモリ割り当て方法であって、
前記メモリ割り当てが既存の論理デバイスに関連するかどうかを決定するステップと、
前記決定するステップがイエスであれば、そのときは論理デバイス割り当てマップおよびシート割り当てテーブルにアクセスして、選択された記憶ユニットを割り当てるステップと、
前記決定するステップがノーであれば、そのときはシート割り当てデスクリプタおよびシート割り当てマップにアクセスして、選択した記憶ユニットを割り当てるステップとを含む前記方法。
【請求項23】
1つの軸に沿った複数の記憶領域であって、他の軸に沿った複数の記憶ストライプの1つまたはそれ以上の行に対する前記1つの軸に沿った複数の記憶領域に関して定められる記憶ユニットを含み、2つまたはそれ以上の記憶ユニットのグループ化がデータ記憶容量のシートを定めるグリッド・ベース記憶容量を採用するデータ記憶システムのためにデータを転送する方法であって、論理デバイス割り当てマップおよびドライブ組織テーブルにアクセスして、選択された記憶ユニットから又は記憶ユニットへデータを転送する前記方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図5】
image rotate


【公開番号】特開2006−120118(P2006−120118A)
【公開日】平成18年5月11日(2006.5.11)
【国際特許分類】
【出願番号】特願2005−137979(P2005−137979)
【出願日】平成17年5月11日(2005.5.11)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】