(57)【要約】      （修正有）【課題】多重モード格納アプローチによる分散格納システム、方法、及び施設を提供する。【解決手段】分散格納システムは、複数の格納装置を含む機器と、格納装置への情報の伝送を指示する多重モード格納管理システムを含む分散多重モード格納管理コーディネーターと、多重モード格納管理システム間で分散多重モード格納管理メッセージを通信するための通信メカニズムと、を備える。格納装置は、基本類型のインターフェイス及び第１類型の情報を格納する第１情報格納領域を含む第１格納パーティションと、選別潜在露出インターフェイス及び第２類型の情報を格納する第２情報格納領域を含む第２格納パーティションと、を含む。選別潜在露出インターフェイスは、第２情報格納領域の様相を露出する。多重モード格納管理システムは、選別潜在露出インターフェイスを通じて第２格納パーティションのファイル活動を指示する多重モード選別潜在露出管理システムを含む。【選択図】図２７
2017091548.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つが複数の格納装置を含む複数の機器と、
前記複数の格納装置への情報の伝送を指示する複数の多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムを含む分散（Ｄｉｓｔｒｉｂｕｔｅｄ）多重モード格納管理コーディネーターと、
前記複数の多重モード格納管理システム間で分散多重モード格納管理メッセージ（Ｍｅｓｓａｇｅ）を含むメッセージを通信するための通信メカニズム（Ｍｅｃｈａｎｉｓｍ）と、を備え、
前記複数の格納装置の各々は、
基本類型のインターフェイス、及び第１類型の情報を格納する第１情報格納領域を含む第１格納パーティションと、
選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）インターフェイス、及び第２類型の情報を格納する第２情報格納領域を含む第２格納パーティションと、を含み、
前記選別潜在露出インターフェイスは、前記第２情報格納領域の様相（Ａｓｐｅｃｔ）を露出し、
前記複数の多重モード格納管理システムは、前記選別潜在露出インターフェイスを通じて前記第２格納パーティションのファイル活動（Ａｃｔｉｖｉｔｙ）を指示する多重モード選別潜在露出管理システムを含むことを特徴とする分散格納システム。
【請求項２】
前記分散多重モード格納管理メッセージは、選別された潜在的な様相が前記複数の機器に亘って露出されるように維持されることを特徴とする請求項１に記載の分散格納システム。
【請求項３】
メタデータの格納空間及び使用者データの格納空間は、前記複数の機器に亘って均一に広がることを特徴とする請求項１に記載の分散格納システム。
【請求項４】
選別潜在露出アドレス空間マッピングは、前記複数の機器に亘って維持され、
前記選別潜在露出アドレス空間マッピングの代表幾何構造（Ｒｅｐｒｅｓｅｎｔａｔｉｖｅ  Ｇｅｏｍｅｔｒｙ）の構成は、潜在的な物理アドレス空間の代表幾何構造構成にマッチングされることを特徴とする請求項１に記載の分散格納システム。
【請求項５】
冗長水準（Ｒｅｄｕｎｄａｎｃｙ）は、前記複数の多重モード格納管理システムレベルで制御されることを特徴とする請求項１に記載の分散格納システム。
【請求項６】
前記複数の機器は、構成要素が様々なシステムに亘って線形的に拡張可能な（Ｌｉｎｅａｒｌｙ  Ｓｃａｌａｂｌｅ）アーキテクチャ（Ａｒｃｈｉｔｅｃｔｕｒｅ）により配列されることを特徴とする請求項１に記載の分散格納システム。
【請求項７】
前記分散多重モード格納管理コーディネーターは、前記複数の格納装置に亘る選別潜在露出レベルに基づいて動作することを特徴とする請求項１に記載の分散格納システム。
【請求項８】
１つのノードが１つより多い格納装置を含み、
単一ユニット（Ｕｎｉｔ）の障害（Ｆａｉｌｕｒｅ）は、前記分散格納システムをダウンさせないことを特徴とする請求項１に記載の分散格納システム。
【請求項９】
フリー空間（Ｆｒｅｅ  Ｓｐａｃｅ）に関する記録（Ａｃｃｏｕｎｔｉｎｇ）は、選別された潜在的な様相のブロックレベルで発生することを特徴とする請求項１に記載の分散格納システム。
【請求項１０】
少なくとも１つが複数の格納装置を含む複数の機器をＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成に設定する段階と、
前記複数の格納装置への情報格納を管理する段階と、を有し、
前記情報格納を管理する段階は、基本類型のアドレス空間を選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）アドレス空間にマッピングする段階を含み、
前記選別潜在露出アドレス空間は、前記複数の格納装置の中の少なくとも１つの潜在的な様相（Ａｓｐｅｃｔ）に対応することを特徴とする分散格納方法。
【請求項１１】
マッピングデータは、前記複数の格納装置に亘って重複して論理的に分散されることを特徴とする請求項１０に記載の分散格納方法。
【請求項１２】
前記情報格納を管理する段階は、前記ＲＡＩＤ構成に亘って前記複数の格納装置への情報格納の管理をコーディネート（Ｃｏｏｒｄｉｎａｔｅ）する段階を含むことを特徴とする請求項１０に記載の分散格納方法。
【請求項１３】
前記情報格納の管理をコーディネートする段階は、前記複数の機器の中の第１機器と前記複数の機器の中の第２機器との間でメッセージを通信する段階を含むことを特徴とする請求項１２に記載の分散格納方法。
【請求項１４】
フリー空間（Ｆｒｅｅ  Ｓｐａｃｅ）に関する記録（Ａｃｃｏｕｎｔｉｎｇ）は、多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムレベルで発生することを特徴とする請求項１２に記載の分散格納方法。
【請求項１５】
分散ブロック選択（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｂｌｏｃｋ  Ｐｉｃｋｉｎｇ）をトリガー（Ｔｒｉｇｇｅｒ）する主要ブロック所有者（Ｐｒｉｍａｒｙ  Ｂｌｏｃｋ  Ｏｗｎｅｒ）によって返還（Ｒｅｃｌａｍａｔｉｏｎ）が管理され、選択されたブロックは、他のブロックに分散されることを特徴とする請求項１２に記載の分散格納方法。
【請求項１６】
非主要（Ｎｏｎ−ｐｒｉｍａｒｙ）ブロック所有者は、物理的な検査（Ｐｈｙｓｉｃａｌ  Ｓｃａｎ）及び有効判別ルックアップ（Ｖａｌｉｄ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ  Ｌｏｏｋｕｐ）を遂行することを特徴とする請求項１２に記載の分散格納方法。
【請求項１７】
ストライプ（Ｓｔｒｉｐｅ）単位に情報を格納し、少なくとも１つが複数のソリッドステート（Ｓｏｌｉｄ  Ｓｔａｔｅ）格納装置を含む複数の機器と、
前記複数のソリッドステート格納装置への情報の伝送を指示する複数の多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムを含む分散（Ｄｉｓｔｒｉｂｕｔｅｄ）多重モード格納管理コーディネーターと、
前記複数の多重モード格納管理システムと前記複数の機器との間でメッセージを通信するための通信メカニズム（Ｍｅｃｈａｎｉｓｍ）と、を備え、
前記複数のソリッドステート格納装置の各々は、
基本類型のインターフェイス、及び第１類型の情報を格納する第１情報格納領域を含む第１格納パーティションと、
選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）インターフェイス、及び第２類型の情報を格納する第２情報格納領域を含む第２格納パーティションと、を含み、
前記選別潜在露出インターフェイスは、前記第２情報格納領域の様相（Ａｓｐｅｃｔ）を露出し、
前記分散多重モード格納管理コーディネーターは、前記選別潜在露出インターフェイスを通じた前記第２格納パーティションのファイル活動（Ａｃｔｉｖｉｔｙ）及び前記第２格納パーティションの選別された潜在的な様相を指示する多重モード選別潜在露出管理システムを含むことを特徴とする分散施設。
【請求項１８】
様々なシステムに亘って物理的にストライピング（Ｓｔｒｉｐｉｎｇ）されるメタデータ及び使用者データを更に含むことを特徴とする請求項１７に記載の分散施設。
【請求項１９】
冗長水準（Ｒｅｄｕｎｄａｎｃｙ）は、格納装置より上位階層レベル（Ｈｉｇｈｅｒ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｌｅｖｅｌ）である前記分散多重モード格納管理コーディネーターレベルで制御されることを特徴とする請求項１７に記載の分散施設。
【請求項２０】
障害があるユニット（Ｕｎｉｔ）は、前記複数の機器の中の１つを含む格納ノード（Ｎｏｄｅ）であり、単一ノードの障害（Ｆａｉｌｕｒｅ）は、前記分散施設をダウンさせないことを特徴とする請求項１７に記載の分散施設。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報格納（Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｏｒａｇｅ）に関し、より詳細には、分散多重モード格納管理システムを含む分散格納システム及び分散格納方法並びに分散施設に関する。
【背景技術】
【０００２】
事業、科学、教育、及びエンターテイメントの大部分の分野で、多くの電子技術（例えば、デジタルコンピュータ、計算機、オーディオ装置、ビデオ装置、電話機システム等）は生産性を増加させ、費用を減少させてきた。このような電子システムは情報格納システムを伴う動作を遂行する。情報格納動作が進行する速度及び便宜性は情報格納システムの全般的な性能に大きい影響を与える。しかし、情報格納に関する既存の試図は速度と管理可能な複雑度との間の逆関係（Ｉｎｖｅｒｓｅ  Ｒｅｌａｔｉｏｎｓｈｉｐ）を随伴する。
【０００３】
情報格納システムは２つのカテゴリーの中の１つに属する動作を随伴する。１つのカテゴリーは使用者によって開始される活動（Ａｃｔｉｖｉｔｙ）に関連する格納動作を含む。他のカテゴリーはシステムによって開始される管理及び維持補修活動を含む。この動作が進行する速度及び便宜性は、情報を格納するために活用されるアドレス空間（Ａｄｄｒｅｓｓ  Ｓｐａｃｅ）の有型に関連する。
【０００４】
物理アドレス（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）基盤の空間を活用することに関する既存の試図は、理論的には非常に速い速度で動作することと看做されるが、既存の物理アドレス基盤の空間における実際の管理及び維持補修動作に関する試図は非常に複雑であり、事実上概ね具現されなかった。既存の論理アドレス（Ｌｏｇｉｃａｌ  Ａｄｄｒｅｓｓ）空間の管理及び維持補修は、物理アドレス空間に比べて低い複雑度を有することと看做された。しかし、既存の論理アドレス空間は物理アドレス空間ほど速く動作しない。
【０００５】
既存の格納システムは、以前には収容できるものとして看做されるレベルで動作することができたが、この格納システムが改善されたアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）及びプラットフォーム（Ｐｌａｔｆｏｒｍ）のための要求事項、及び長い間に待ってきた必要性を充足させるためには次第に不十分になっている。改善されたシステム開発を可能にするために増加した速度及び管理可能な複雑度の両方を達成することに関する既存の試図は成功的ではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、多重モード（Ｍｕｌｔｉｍｏｄｅ）格納アプローチによる分散格納システム及び分散格納方法並びに分散施設を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の一態様による分散格納システムは、少なくとも１つが複数の格納装置を含む複数の機器と、前記複数の格納装置への情報の伝送を指示する複数の多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムを含む分散（Ｄｉｓｔｒｉｂｕｔｅｄ）多重モード格納管理コーディネーターと、前記複数の多重モード格納管理システム間で分散多重モード格納管理メッセージ（Ｍｅｓｓａｇｅ）を含むメッセージを通信するための通信メカニズムと、を備え、前記複数の格納装置の各々は、基本類型のインターフェイス、及び第１類型の情報を格納する第１情報格納領域を含む第１格納パーティションと、選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）インターフェイス、及び第２類型の情報を格納する第２情報格納領域を含む第２格納パーティションと、を含み、前記選別潜在露出インターフェイスは、前記第２情報格納領域の様相（Ａｓｐｅｃｔ）を露出し、前記複数の多重モード格納管理システムは、前記選別潜在露出インターフェイスを通じて前記第２格納パーティションのファイル活動（Ａｃｔｉｖｉｔｙ）を指示する多重モード選別潜在露出管理システムを含む。
【０００８】
前記分散多重モード格納管理メッセージは、選別された潜在的な様相が前記複数の機器に亘って露出されるように維持され得る。
メタデータの格納空間及び使用者データの格納空間は、前記複数の機器に亘って均一に広がり得る。
選別潜在露出アドレス空間マッピングは、前記複数の機器に亘って維持され、前記選別潜在露出アドレス空間マッピングの代表幾何構造（Ｒｅｐｒｅｓｅｎｔａｔｉｖｅ  Ｇｅｏｍｅｔｒｙ）の構成は、潜在的な物理アドレス空間の代表幾何構造構成にマッチングされ得る。
冗長水準（Ｒｅｄｕｎｄａｎｃｙ）は、前記複数の多重モード格納管理システムのレベルで制御され得る。
前記複数の機器は、構成要素が様々なシステムに亘って線形的に拡張可能な（Ｌｉｎｅａｒｌｙ  Ｓｃａｌａｂｌｅ）アーキテクチャ（Ａｒｃｈｉｔｅｃｔｕｒｅ）により配列され得る。
前記分散多重モード格納管理コーディネーターは、前記複数の格納装置に亘る選別潜在露出レベルに基づいて動作し得る。
１つのノードが１つより多い格納装置を含み、単一ユニット（Ｕｎｉｔ）の障害（Ｆａｉｌｕｒｅ）は、前記分散格納システムをダウンさせないようにし得る。
フリー空間（Ｆｒｅｅ  Ｓｐａｃｅ）に関する記録（Ａｃｃｏｕｎｔｉｎｇ）は、選別された潜在的な様相のブロックレベルで発生し得る。
【０００９】
上記目的を達成するためになされた本発明の一態様による分散格納方法は、少なくとも１つが複数の格納装置を含む複数の機器をＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成に設定する段階と、前記複数の格納装置への情報格納を管理する段階と、を有し、前記情報格納を管理する段階は、基本類型のアドレス空間を選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）アドレス空間にマッピングする段階を含み、前記選別潜在露出アドレス空間は、前記複数の格納装置の中の少なくとも１つの潜在的な様相（Ａｓｐｅｃｔ）に対応する。
【００１０】
マッピングデータは、複数の格納装置に亘って重複して論理的に分散され得る。
前記情報格納を管理する段階は、ＲＡＩＤ構成に亘って前記複数の格納装置への情報格納の管理をコーディネート（Ｃｏｏｒｄｉｎａｔｅ）する段階を含み得る。
前記情報格納の管理をコーディネートする段階は、前記複数の機器の中の第１機器と前記複数の機器の中の第２機器との間でメッセージを通信する段階を含み得る。
フリー空間（Ｆｒｅｅ  Ｓｐａｃｅ）に関する記録（Ａｃｃｏｕｎｔｉｎｇ）は、多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムレベルで発生し得る。
分散ブロック選択（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｂｌｏｃｋ  Ｐｉｃｋｉｎｇ）をトリガー（Ｔｒｉｇｇｅｒ）する主要ブロック所有者（Ｐｒｉｍａｒｙ  Ｂｌｏｃｋ  Ｏｗｎｅｒ）によって返還（Ｒｅｃｌａｍａｔｉｏｎ）が管理され、選択されたブロックは、他のブロックに分散され得る。
非主要（Ｎｏｎ−ｐｒｉｍａｒｙ）ブロック所有者は、物理的な検査（Ｐｈｙｓｉｃａｌ  Ｓｃａｎ）及び有効判別ルックアップ（Ｖａｌｉｄ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ  Ｌｏｏｋｕｐ）を遂行し得る。
【００１１】
上記目的を達成するためになされた本発明の一態様による分散施設は、ストライプ（Ｓｔｒｉｐｅ）単位に情報を格納し、少なくとも１つが複数のソリッドステート（Ｓｏｌｉｄ  Ｓｔａｔｅ）格納装置を含む複数の機器と、前記複数のソリッドステート格納装置への情報の伝送を指示する複数の多重モード（Ｍｕｌｔｉｍｏｄｅ）格納管理システムを含む分散（Ｄｉｓｔｒｉｂｕｔｅｄ）多重モード格納管理コーディネーターと、前記複数の多重モード格納管理システムと前記複数の機器との間でメッセージを通信するための通信メカニズムと、を備え、前記複数のソリッドステート格納装置の各々は、基本類型のインターフェイス、及び第１類型の情報を格納する第１情報格納領域を含む第１格納パーティションと、選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）インターフェイス、及び第２類型の情報を格納する第２情報格納領域を含む第２格納パーティションと、を含み、前記選別潜在露出インターフェイスは、前記第２情報格納領域の様相（Ａｓｐｅｃｔ）を露出し、前記分散多重モード格納管理コーディネーターは、前記選別潜在露出インターフェイスを通じた前記第２格納パーティションのファイル活動（Ａｃｔｉｖｉｔｙ）及び前記第２格納パーティションの選別された潜在的な様相を指示する多重モード選別潜在露出管理システムを含む。
【００１２】
前記分散施設は、様々なシステムに亘って物理的にストライピング（Ｓｔｒｉｐｉｎｇ）されるメタデータ及び使用者データを更に含み得る。
冗長水準（Ｒｅｄｕｎｄａｎｃｙ）は、格納装置より上位階層レベル（Ｈｉｇｈｅｒ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｌｅｖｅｌ）である前記分散多重モード格納管理コーディネーターレベルで制御され得る。
障害があるユニット（Ｕｎｉｔ）は、前記複数の機器の中の１つを含む格納ノード（Ｎｏｄｅ）であり、単一ノードの障害（Ｆａｉｌｕｒｅ）は、分散施設をダウンさせないようにし得る。
【発明の効果】
【００１３】
本発明の多重モード格納アプローチは、複雑度を管理可能な範囲に制限しながらも、格納システムの性能を改善することができる。また、多重モード格納方法は、様々な異なる類型のアドレス空間を共に採用することができる。このような多重モード格納アプローチは、分散コンピューティングシステム（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍ）に採用することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による選別潜在露出（ＳＵＥ）格納パーティションを含む格納装置を示すブロック図である。
【図２】本発明の一実施形態による多重モード格納装置を示すブロック図である。
【図３】本発明の他の実施形態による多重モード格納装置を示すブロック図である。
【図４】本発明の一実施形態による多重モードソリッドステートドライブを示すブロック図である。
【図５】本発明の一実施形態によるアドレス空間情報を論理アドレス空間情報に変換する過程を示す概念図である。
【図６】本発明の一実施形態によるシステムを示すブロック図である。
【図７】本発明の一実施形態によるシステムを示すブロック図である。
【図８】本発明の一実施形態による多重モード選別潜在露出を駆動する方法を示すフローチャートである。
【図９】本発明の一実施形態による多重モードソリッドステートドライブを示すブロック図である。
【図１０】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥブロック及び対応するＳＵＥページを示すブロック図である。
【図１１】本発明の一実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間のＳＵＥブロック及び対応するＳＵＥページを示すブロック図である。
【図１２】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥメタページ及び対応するＳＵＥページを示すブロック図である。
【図１３】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥメタブロック及び対応するＳＵＥメタページを示すブロック図である。
【図１４】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥメタブロック及び対応するＳＵＥブロックを示すブロック図である。
【図１５】本発明の一実施形態による論理アドレスからＳＵＥアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現されるＳＵＥマッピングスキームを示す概念図である。
【図１６】図１５のＳＵＥマッピングスキームを具現する格納システムを示すブロック図である。
【図１７】本発明の一実施形態による論理アドレス空間をＳＵＥアドレス空間にマッピングする方法を示すフローチャートである。
【図１８】本発明の一実施形態による格納システムが格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システムを示すブロック図である。
【図１９】本発明の他の実施形態による格納システムが格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システムを示すブロック図である。
【図２０】本発明の更に他の実施形態による格納システムが格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システムを示すブロック図である。
【図２１】本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域アクセス管理器を示すブロック図である。
【図２２】本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域マッピングエンジンを示すブロック図である。
【図２３】本発明の一実施形態による多重モード格納管理システムによって具現されるメタブロック管理器を示すブロック図である。
【図２４】本発明の一実施形態による多重モード格納管理システムによって具現される格納装置制御管理器を示すブロック図である。
【図２５】本発明の一実施形態による多重モード格納管理システムによって具現される格納装置アクセス管理器を示すブロック図である。
【図２６】本発明の一実施形態による多重モード格納管理システムによって具現される全域状態管理器を示すブロック図である。
【図２７】本発明の一実施形態によるネットワークに連結される機器を示すブロック図である。
【図２８】本発明の一実施形態による分散システムを示すブロック図である。
【図２９】本発明の一実施形態による分散システムを示すブロック図である。
【図３０】本発明の一実施形態によるブロックライフサイクルを示すチャートである。
【図３１】本発明の一実施形態による分散システムメタブロックを示すブロック図である。
【図３２】本発明の一実施形態によるノードの追加及び除去に活用される一致するハッシュを説明するための概念図である。
【図３３】本発明の一実施形態による書込み過程を示すフローチャートである。
【図３４】本発明の一実施形態による書込み割当処理を示すフローチャートである。
【図３５】本発明の一実施形態による書込み割当処理動作を具現する分散システムの一具現例を示すブロック図である。
【図３６】本発明の一実施形態による書込みデータ伝送処理を示すフローチャートである。
【図３７】本発明の一実施形態による書込みデータ伝送処理動作を具現する分散システムの一具現例を示すブロック図である。
【図３８】本発明の一実施形態による書込みマッピング更新処理を示すフローチャートである。
【図３９】本発明の一実施形態による書込みマッピング更新処理動作を具現するシステムの一具現例を示すブロック図である。
【図４０】本発明の一実施形態による書込みフリー空間の記録処理を示すフローチャートである。
【図４１】本発明の一実施形態による書込みフリー空間の記録処理動作を具現するシステムの一具現例を示すブロック図である。
【図４２】本発明の一実施形態による書込み完了処理を示すフローチャートである。
【図４３】本発明の一実施形態による書込み完了処理動作を具現するシステムの一具現例を示すブロック図である。
【図４４】本発明の一実施形態による返還初期化処理を示すチャートである。
【図４５】本発明の一実施形態による返還処理を示すフローチャートである。
【図４６】本発明の一実施形態による返還の具現例を示すブロック図である。
【図４７】本発明の一実施形態による返還の具現例を示すブロック図である。
【図４８】本発明の一実施形態による返還の具現例を示すブロック図である。
【図４９】本発明の一実施形態による返還の具現例を示すブロック図である。
【図５０】本発明の一実施形態による返還の具現例を示すブロック図である。
【図５１】本発明の一実施形態による返還の具現例を示すブロック図である。
【発明を実施するための形態】
【００１５】
上述した特性及び以下の詳細な説明は全て本発明の説明及び理解を助けるための例示的な事項である。即ち、本発明はこのような実施形態に限定されず、他の形態に具現化され得る。本実施形態は、単なる本発明を完全に開示するための例示であり、本発明が属する技術分野の通常の技術者に本発明を伝達するための説明である。従って、本発明の構成要素を具現するための方法が多数ある場合には、これらの方法の中の特定のもの又はこれと同一性があるものの中からいずれも本発明の具現が可能である。
【００１６】
本明細書で所定の構成が特定要素を含むと言及する場合、或いは所定の過程が特定段階を含むと言及する場合は、それ以外の他の要素又は他の段階が更に含まれることを意味する。即ち、本明細書で使用する用語は特定実施形態を説明するためのものであり、本発明の概念を限定するためのものではない。更に、発明の理解を助けるために説明する例示はその相補的な実施形態も含む。幾つかの例で、本発明の技術思想を不必要に曖昧にしないために、広く公知された方法、過程、構成要素、及び回路は詳細に説明しないこともある。
【００１７】
本明細書で使用する用語は本発明が属する技術分野の通常の技術者が一般的に理解する意味を有する。普遍的に使用される用語は本明細書の脈絡に従って一貫的な意味として解釈されるべきである。また、本明細書で使用する用語は、その意味が明確に定義された場合ではなければ、過度に理想的であるか、或いは形式的な意味として解釈されない。
【００１８】
本明細書では、効率的且つ効果的な多重モード（Ｍｕｌｔｉｍｏｄｅ）格納アプローチを説明する。多重モード格納方法は、様々な異なる類型のアドレス空間（Ａｄｄｒｅｓｓ  Ｓｐａｃｅ）及びアドレス空間活動（Ａｃｔｉｖｉｔｙ）を採用する。幾つかの実施形態で、多重モード選別潜在露出（Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ、以下ＳＵＥ）格納装置は、格納装置の幾つかの潜在的な様相（Ａｓｐｅｃｔ）の選別的な露出を可能にする反面、他の潜在的な様相を露出しないこともある。多重モード格納及びＳＵＥアプローチは、複雑度を管理可能な範囲に制限しながらも、性能を改善する。
【００１９】
幾つかの具現例で、物理アドレス空間（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ  Ｓｐａｃｅ）の潜在的な様相が選別的に露出される。全般的な格納階層（Ｈｉｅｒａｒｃｈｉｃａｌ）のアプローチが具現され、一階層の潜在的な様相は他の階層レベルに選別的に露出される。選別的な露出はアドレス空間の構成及びアドレス空間の間のマッピング（Ｍａｐｐｉｎｇ）を通じて発生する。選別的に露出された潜在的な様相は、露出された潜在的な様相を有する階層レベルと異なる他の階層レベルで遂行される多様な活動をより効率的且つ効果的に具現する。この多様な活動は格納管理動作を含む。多重モード格納及びＳＵＥアプローチは多様な構成及び具現を含む。
【００２０】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００２１】
≪Ｉ．多重モード格納装置≫
【００２２】
図１は、本発明の一実施形態による選別潜在露出（ＳＵＥ：Ｓｅｌｅｃｔｉｖｅ  Ｕｎｄｅｒｌｙｉｎｇ  Ｅｘｐｏｓｕｒｅ）格納パーティション（Ｐａｒｔｉｔｉｏｎ）１０１を含む格納装置１００を示すブロック図である。ＳＵＥ格納パーティション１０１は選別潜在露出（ＳＵＥ）インターフェイス１０２及び潜在格納領域（Ｕｎｄｅｒｌｙｉｎｇ  Ｓｔｏｒａｇｅ  Ｒｅｇｉｏｎ）１０３を含む。
【００２３】
潜在格納領域１０３は情報を格納し、ＳＵＥインターフェイス１０２は、潜在格納領域１０３自体（例えば、次元（Ｄｉｍｅｎｓｉｏｎ）に関連する物理的な様相、代表幾何構造（Ｒｅｐｒｅｓｅｎｔａｔｉｖｅ  Ｇｅｏｍｅｔｒｙ）、管理機能、書込み動作、消去動作等）の様相（例えば、特性（Ｃｈａｒａｃｔｅｒｉｓｔｉｃ）、特徴（Ｆｅａｔｕｒｅ）、機能等）を外部構成要素又は格納システム階層レベル（図示せず）に選別的に露出する。この露出は潜在格納領域１０３に格納された情報（使用者データ及びメタデータ）の様相に関連する。ＳＵＥ格納パーティション１０１は潜在的な様相（例えば、特性、特徴、機能等）の一部を露出する。
【００２４】
潜在的な様相の一部を露出する一具現例で、露出された様相に関連する活動（例えば、フリー空間（Ｆｒｅｅ  Ｓｐａｃｅ）の管理、フリー空間の使用のための返還（Ｒｅｃｌａｍａｔｉｏｎ）及び環境設定、オーバープロビジョニング（Ｏｖｅｒ−ｐｒｏｖｉｓｉｏｎｉｎｇ）、トリム（Ｔｒｉｍ）動作、パワーサイクリング（Ｐｏｗｅｒ  Ｃｙｃｌｉｎｇ）等）は、潜在的な様相の一部を選別的に露出しないシステムに比べてより効率的に（例えば、より速く、より少ない帯域幅で、少ない電力を消耗して）遂行される。この活動は、潜在的な様相をより多く又は全て露出するアプローチに比べて低い複雑度で遂行される。
【００２５】
潜在的な様相の中のいずれの部分を露出させるかの選択は、速度と複雑度とを比較するか又は速度と複雑度との間の均衡を考慮して決定される。ＳＵＥ格納パーティション１０１は単一パーティションを利用して単一モード格納装置に含まれるか、或いはＳＵＥ格納パーティション１０１は複数のパーティションを利用して多重モード格納装置に含まれる。
【００２６】
図２は、本発明の一実施形態による多重モード格納装置（Ｍｕｌｔｉｍｏｄｅ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）２２０を示すブロック図である。多重モード格納装置２２０は第１パーティション２３０及び第２パーティション２４０を含む。
【００２７】
様々なモード及びこれに対応するパーティションは、多様な要素に関連するか又は多様な要素に基づく。この多様な要素は、潜在格納領域の異なる露出、異なるアドレス空間（例えば、論理的、仮想（Ｖｉｒｔｕａｌ）的、又は物理的）、異なる格納管理モード（例えば、内部管理モード及び外部管理モード）、異なる潜在格納情報（例えば、メタデータ及び使用者データ）等を含む。内部管理及び外部管理は、格納装置管理システムの構成要素及び動作（例えば、フラッシュ管理システム（Ｆｌａｓｈ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：ＦＭＳ）、ソリッドステート（Ｓｏｌｉｄ  Ｓｔａｔｅ）装置管理システム等）を含む。パーティション及びこれに対応する構成要素は異なる類型である。
【００２８】
多重モード格納装置２２０のパーティション及びこれに対応するインターフェイスは異なる類型のアドレス空間（例えば、論理アドレス空間及び選別潜在露出（ＳＵＥ）アドレス空間）に関連する。多重モード格納装置２２０の１つより多いパーティション及びこれに対応するインターフェイスは、同一の類型のアドレス空間に関連する（例として、多重モード格納装置２２０の１つより多いパーティション及びこれに対応するインターフェイスはＳＵＥアドレス空間に関連する）。
【００２９】
第１パーティション２３０は、第１類型のインターフェイス２３１及び潜在格納領域２３３を含む。第２パーティション２４０は第２類型のインターフェイス２４１及び潜在格納領域２４３を含む。本実施形態で、第１パーティション２３０は第１類型のアドレス空間パーティション（例えば、論理アドレス空間パーティション）であり、第２パーティション２４０は第２類型のアドレス空間パーティション（例えば、ＳＵＥアドレス空間及び仮想アドレス空間パーティション）である。パーティションはＳＵＥ格納パーティションである。
【００３０】
図３は、本発明の他の実施形態による多重モード格納装置３５０を示すブロック図である。多重モード格納装置３５０は第１パーティション３７０及び第２パーティション３８０を含む。
【００３１】
本実施形態で、第１パーティション３７０は第１類型のアドレス空間パーティションであり、第２パーティション３８０はＳＵＥアドレス空間パーティションである。第１パーティション３７０は第１類型のインターフェイス３７１及び潜在格納領域３７３を含む。第２パーティション３８０はＳＵＥインターフェイス３８１及び潜在格納領域３８３を含む。第１パーティション関連活動３７２（例えば、フラッシュ管理システム（ＦＭＳ））のような幾つかの活動は、１つのパーティションのために内部的に（例えば、多重モード格納装置３５０で）遂行され、他のパーティションのために外部的に（図示せず）遂行される。
【００３２】
異なるパーティションには異なる類型の情報が格納される。一実施形態で、２つの類型の情報（例えば、メタデータ及び使用者データ）がある。使用者データは主に使用者アプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）によって生成され、メタデータは主に使用者データに関連する補助情報（例えば、格納システム階層でのファイルの位置、ファイルの内容の大きさ、アクセス（Ａｃｃｅｓｓ）時刻、修正時刻、使用者ＩＤ等）である。第１フラッシュ管理システムはメタデータを管理することに焦点を当てる。結局、メタデータは使用者データの格納を管理するために利用される。
【００３３】
管理又は維持補修活動に関連するシステム動作とは異なるように、使用者によって開始される（Ｕｓｅｒ−ｉｎｉｔｉａｔｅｄ）活動に関連する動作を格納システムが指示するか又は具現する。例として、使用者によって開始される読出し又は書込みが使用者観点から提供される特定アドレス又は位置に向けられる反面、システム動作はシステム観点から提供される物理ブロック（Ｂｌｏｃｋ）及びページ（Ｐａｇｅ）に向けられる。
【００３４】
格納装置３５０は多様な構成及び具現を含む。一実施形態で、格納装置３５０はソリッドステート装置である。格納装置３５０はフラッシュ構成要素（例えば、ＮＡＮＤフラッシュ構成要素、ＮＯＲフラッシュ構成要素等）を含む。
【００３５】
図４は、本発明の一実施形態による多重モードソリッドステートドライブ（Ｍｕｌｔｉｍｏｄｅ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）４００を示すブロック図である。多重モードソリッドステートドライブ４００は多重モード格納装置の一具現例の１つである。多重モードソリッドステートドライブ４００は、論理アドレス空間パーティション４１０、フラッシュ変換ロジック（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｇｉｃ：ＦＴＬ）４１３を含む論理インターフェイス４１１、潜在物理アドレス空間４１２、ＳＵＥアドレス空間パーティション４２０、ＳＵＥインターフェイス４２１、及び潜在物理アドレス空間４２３を含む。
【００３６】
論理アドレス空間パーティション４１０は論理アドレス基盤のシステムデータ（例えば、メタデータ）を受信して格納し、ＳＵＥアドレス空間パーティション４２０は潜在露出アドレス空間に従うアドレス基盤の使用者データ（例えば、アプリケーションデータ）を受信する。使用者データは潜在物理アドレス空間４２３に格納され、潜在物理アドレス空間４２３はフラッシュ格納構成要素（例えば、異なる類型のフローティングゲートトランジスタ（Ｆｌｏａｔｉｎｇ  Ｇａｔｅ  Ｔｒａｎｓｉｓｔｏｒ））を含む。フラッシュ格納構成要素は多様な構成であり粒状（Ｇｒａｎｕｌａｒｉｔｙ）に配列される。例として、フラッシュ格納構成要素は複数のダイ（Ｄｉｅ）として配列され、複数のダイの中のダイ４７０は潜在物理アドレスブロック（４７３、４７９）及び潜在物理アドレスブロック内にページを含む。
【００３７】
本実施形態で、ＳＵＥインターフェイス４２１は潜在物理アドレス空間４２３の様相を露出する。潜在物理アドレス空間４２３の選別的な様相は多重モードソリッドステートドライブ４００の潜在的な動作を取り扱う（Ａｄｄｒｅｓｓｉｎｇ）使用者データのコーディネーション（Ｃｏｏｒｄｉｎａｔｉｏｎ）によって露出される。このコーディネートは潜在物理アドレス空間４２３の管理動作の露出に関連する。潜在的な物理格納管理の様相は共に管理される複数の潜在物理アドレスブロック（４７１、４７２、４７３、４７４）を分類（Ｇｒｏｕｐｉｎｇ）する。例として、共に管理される複数の潜在物理アドレスブロック（４７１、４７２、４７３、４７４）は単一管理単位として単一動作で共に管理されるか、ブロック集合や帯域（Ｂａｎｄ）で共に管理されるか、或いは単一管理コマンド（Ｃｏｍｍａｎｄ）に応答して共に管理される。
【００３８】
図５は、本発明の一実施形態によるアドレス空間情報を論理アドレス空間情報に変換する過程を示す概念図である。ＳＵＥアドレスブロック５０３は多様な管理及び維持補修動作に関連する情報（５０５、５０７、５０８）を含む。物理アドレス空間５０２は複数のダイ（５１１、５１２、５１３、５１４、５２１、５２２、５２３、５２４、５３１、５３２、５３３、５３４、５４１、５４２、５４３、５４４）を含む。各ダイは複数の物理アドレス基盤のブロック（５１５、５１９）を含み、各物理アドレス基盤のブロックは複数の物理アドレスページを含む。
【００３９】
物理アドレス空間５０２は物理ブロック及び物理ページ基盤のアドレス格納位置にアクセスする。ＳＵＥインターフェイス５０１は、ＳＵＥアドレスブロック５０３の情報を受信し、受信された情報を物理アドレス空間５０２と互換可能な構成に変換するか又は再構成する。ＳＵＥアドレスブロック５０３の情報は物理的な管理動作に関与する情報に対応する。
【００４０】
本実施形態で、管理及び維持補修動作は物理アドレス空間５０２内の物理ブロック（５１５、５１９、５３９）に提供される。管理動作は物理アドレス空間又は物理レベル管理ユニットに提供される。物理レベル管理ユニットは実質的に同一の時点に（例えば、管理動作又はコマンドに応答して）管理される複数のアドレス、ページ、ブロック等を管理する。例として、消去動作は（ブロック５１５と同様に黒色で示す）物理ブロックに提供される。
【００４１】
ＳＵＥアドレスブロック５０３が物理ブロックにマッチング（Ｍａｔｃｈｉｎｇ）されることによって、各物理ブロックに対応する各情報（５０５、５０７、５０８）はＳＵＥアドレスブロック５０３に含まれる。一例で、ＳＵＥインターフェイス５０１は、ＳＵＥアドレスブロック５０３の情報を受信し、情報（５０５、５０７、５０８）が各々物理ブロック（５１５、５１７、５２８）に対応するものと識別し、これにより対応する管理及び維持補修動作を遂行する。本実施形態で、消去管理動作は複数の物理ブロックの情報に対して遂行され、書込み動作はページの情報に対して遂行される。
【００４２】
２つのアドレス空間の幾何構造もやはり互いに異なる。本実施形態で、論理アドレス空間は単一次元であり（例えば、論理ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ：ＬＢＡ）のオフセット（Ｏｆｆｓｅｔ）がどのようにしてコーディネートされるかに関連）、物理アドレス空間は多様な様相（例えば、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）、物理ページ、物理ブロック、物理ダイ等、又はそれらの一部若しくは部分集合）を含んで多次元である。ＳＵＥアドレス空間は一次元であるか又は制限若しくは減少した数の次元である。一例として、ＳＵＥアドレス空間で潜在物理アドレス空間の次元は単一又は減少した数の次元に抽出（Ａｂｓｔｒａｃｔ）される。潜在物理アドレス空間の管理活動（例えば、返還又はガーベッジコレクション（Ｇａｒｂａｇｅ  Ｃｏｌｌｅｃｔｉｏｎ）、パワーサイクリング等）に関連する選択された次元（例えば、ブロック及びページ）はＳＵＥアドレス空間に抽出される一方、潜在物理アドレス空間の他の様相又は活動（例えば、ＥＣＣ）はＳＵＥアドレス空間に抽出されないこともある。
【００４３】
潜在的な様相の選別的な露出は全般的なシステムで多重モードソリッドステートドライブ４００ではない他の構成要素（図示せず）によって使用者データを多重モードソリッドステートドライブ４００に伝送する前のコーディネートを含む。本実施形態で、多重モードソリッドステートドライブ４００は全般的なシステム階層の異なるレベルで動作する管理構成要素に連結される。
【００４４】
図６は、本発明の一実施形態によるシステム６００を示すブロック図である。システム６００は多重モード格納管理システム６１０と通信するように連結される複数の多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）を含む。
【００４５】
幾つかの活動（例えば、幾つかの格納管理動作及びフラッシュ管理システム動作）は多重モード格納管理システム６１０によって制御され、他の活動（例えば、他の格納管理動作及びフラッシュ管理システム動作）は多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）によって制御される。本実施形態で、多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）は各々コントローラ（６２１、６３１、６４１、６５１）を含む。コントローラ（６２１、６３１、６４１、６５１）は多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）に対する幾つかの活動を制御するか又は指示する。多重モード格納管理システム６１０はコントローラ６１１を含む。コントローラ６１１は（多重モード格納管理コーディネーターとして）多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）に対する幾つかの活動を制御するか又は指示する。
【００４６】
一具現例で、コントローラ（６２１、６３１、６４１、６５１）は各々多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）の第１パーティションの活動を制御するか又は指示し、コントローラ６１１は多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）の第２パーティションの活動を制御するか又は指示する。コントローラ６１１は（多重モード選別潜在露出管理システムとして）選別潜在露出（ＳＵＥ）インターフェイスを通じて多重モードソリッドステートドライブ（６２０、６３０、６４０、６５０）の活動を制御する。
【００４７】
本実施形態で、システム６００は様々なボリューム（Ｖｏｌｕｍｅ）（６７１、６７２、６７３）を含む。一具現例で、システム６００は使用者空間を含む。使用者空間は様々なボリュームにマッピングされ、格納空間は様々なボリュームとして使用者に表現される。ボリュームは異なる大きさを有する。また、異なる大きさのＳＵＥアドレス基盤単位が様々なボリュームに関連する。
【００４８】
図７は、本発明の一実施形態によるシステム７００を示すブロック図である。システム７００は機器７１０に含まれる多重モード格納管理システム７２０と通信するように連結された多重モードソリッドステートドライブ７５０を含む。機器７１０は多様なコンピュータ及び電子機器（装置）の中のいずれかである。他の多重モードソリッドステートドライブが多重モード格納管理システム７２０に連結される。システム７００はメタデータ７３０及び使用者データ７４０の格納を管理する。
【００４９】
多重モード格納管理システム７２０はコントローラ７４５を含む。コントローラ７４５は（使用者データのための）フラッシュ管理システム（ＦＭＳ）７４１及びＳＵＥマッパー７４２を含む。
【００５０】
多重モードソリッドステートドライブ７５０は論理アドレス空間パーティション７７０及びＳＵＥアドレス空間パーティション７８０を含む。論理アドレス空間パーティション７７０は物理アドレス空間７７７及びコントローラ７７５を含み、コントローラ７７５は（メタデータのための）フラッシュ管理システム（ＦＭＳ）７７１を含む。フラッシュ管理システム７７１は論理インターフェイス７７２を含み、論理インターフェイス７７２はフラッシュ変換ロジック（ＦＴＬ）７７３を含む。物理アドレス空間７７７はＮＡＮＤフラッシュを含む。ＳＵＥアドレス空間パーティション７８０はＳＵＥインターフェイス７８２及び物理アドレス空間７８７を含み、物理アドレス空間７８７はＮＡＮＤフラッシュを含む。
【００５１】
メタデータ７３０の情報は論理アドレスブロック７９１から受信される。メタデータ７３０の情報は論理アドレスブロック７９２に伝達されて、多重モード管理システム７２０から論理アドレス空間パーティション７７０に提供される。論理アドレスブロック（７９１、７９２）は同一である（例えば、論理アドレスブロック７９１が変更されず、単純に論理アドレス空間パーティション７７０に伝達される）。
【００５２】
論理インターフェイス７７２はメタデータに関連する論理ブロックアドレス（ＬＢＡ）を物理アドレス空間７７７に関連する物理アドレスブロック７９３に変換する。メタデータのためのフラッシュ管理システム７７１は物理アドレス空間７７７に関連する格納管理及び維持補修動作を指示する。メタデータは物理アドレス空間７７７のＮＡＮＤフラッシュに格納される。
【００５３】
論理アドレスブロック７９７の使用者データは使用者データのためのフラッシュ管理システム７４１に伝達される。物理アドレス空間７８７の潜在的な特徴及び特性がＳＵＥインターフェイス７８２を通じて露出されることによって、使用者データのためのフラッシュ管理システム７４１は物理アドレス空間７８７の潜在的な特徴及び特性に関連するフラッシュ管理及び維持補修動作を指示する。ＳＵＥマッパー７４２は論理アドレスブロック７９７をＳＵＥアドレスブロック７９８にマッピングする。
【００５４】
これにより、ＳＵＥアドレスブロック７９８はＳＵＥインターフェイス７８２によって（図５の物理ブロック５１７、５１９と類似な）物理アドレスブロック７９９に変換される。物理アドレスブロック７９９は物理アドレス空間７８７に含まれるＮＡＮＤフラッシュ構成要素に関連する。論理アドレスブロックは、ＳＵＥアドレスブロックのものと異なる大きさ、即ち物理アドレスブロックのものと異なる大きさを有する。
【００５５】
階層レベルの上位で多様な活動を遂行することは既存のアプローチに比べてより効率的であり便利な管理を可能にする。従来のアプローチの場合、様々な階層に影響を与える活動を取り扱うことの柔軟性が制限的であった。従来の幾つかのアプローチは、全般的な性能に幾何級数的に否定的な影響を引き起こす活動（例えば、ログ−オン−ログ（Ｌｏｇ−ｏｎ−Ｌｏｇ）、駆動レベルのフラッシュ管理システム、システムレベルのフラッシュ管理システム）を様々な階層に対して遂行しなければならない。
【００５６】
例として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）格納システムには、上位格納階層レベル（例えば、ＲＡＩＤシステム管理レベル）及び下位格納階層レベル（例えば、格納駆動レベル）の両方に影響を与え、共に管理される必要がある要素が多くある（例えば、データ格納及び対応するパリティー（Ｐａｒｉｔｙ）の格納）。情報のライフサイクル（Ｌｉｆｅｃｙｃｌｅ）が階層毎に相違し（例えば、使用者が情報を上書き（Ｏｖｅｒｗｒｉｔｅ）使用とする場合に、ＲＡＩＤシステムはパリティーを再び計算する必要がある）、この場合、駆動レベルは使用者のために“新しい”データを書き込もうとするが、システムレベルはＲＡＩＤシステムのために“既存の”情報を維持しようとする。これはトリム動作を遂行するための能力がない書込み増幅指数（Ｗｒｉｔｅ  Ａｍｐｌｉｆｉｃａｔｉｏｎ  Ｆａｃｔｏｒ）を増大する。
【００５７】
図８は、本発明の一実施形態による多重モード選別潜在露出を駆動する方法を示すフローチャートである。
【００５８】
７％のオーバープロビジョニング（例えば、ソリッドステートドライブ）で駆動することは、オーバープロビジョニングを駆動すること無しで直接上書きを遂行するシステム（例えば、ハードディスクドライブ）に比べて１５倍難い作業を要求し、システムオーバープロビジョニングを採用しないシステムに比べて１５倍更に難い作業を要求し、全体的に２２５（＝１５×１５）倍難しい。フラッシュ管理システムが上位格納階層レベルに移動されるようにする多重モード格納装置は、作業の減少を可能にし（例えば、７％のオーバープロビジョニングはオーバープロビジョニングがない場合に比べて単に１５倍難しくなり、２８％のオーバープロビジョニングはオーバープロビジョニングがない場合に比べて単に３倍難しくなる）、これは書込み増幅指数の減少を可能にする。一具現例で、上位格納階層レベルからの管理動作を指示するために利用される選別された潜在アドレスブロック及びページは潜在物理レベルと調和するか又はマッチングする。これは使用者レベルにおける情報ライフサイクルがシステムレベルにおける情報ライフサイクルと異なるようにする。しかし、管理観点で、２つのライフサイクルは同様にコーディネートされる（例えば、使用者レベルにおけるライフサイクルの長さ及びシステムレベルにおけるライフサイクルの長さは使用者空間の利用及び消去に対応する）。
【００５９】
Ｓ８１０段階で、装置の第１部分が第１類型の情報を格納するための第１領域として構成されるか又は指定される。本実施形態で、第１領域はメタデータ領域であり、第１類型の情報はメタデータである。ＥＣＣの大きさは可変（Ｖａｒｙ）する。
【００６０】
Ｓ８２０段階で、第１アドレス空間情報に基づいて第１類型インターフェイス動作が遂行される。一具現例で、第１領域はメタデータ領域であり、第１類型の情報はメタデータである。本実施形態で、第１類型インターフェイスは、論理アドレス空間インターフェイスであり、論理アドレス基盤の情報に基づいて動作が遂行される。論理インターフェイス動作はフラッシュ変換ロジック（ＦＴＬ）を含む。ＦＴＬは、メタデータ及び論理アドレスを受信し、システムレベル構成で示すアドレスブロックを物理レベル構成のアドレスブロックに変換する。
【００６１】
Ｓ８３０段階で、装置の第２部分が第２類型の情報を格納するための第２領域として構成されるか又は指定される。本実施形態で、第２領域は使用者データ領域であり、第２類型の情報は使用者データである。ＳＵＥアドレス空間は、物理アドレス空間に関連する複雑度を抽象化するか又は除去しながらも、潜在物理アドレス空間の構成との関係又は対応を依然として露出する。本実施形態で、物理空間の次元はＳＵＥアドレスページの次元及びＳＵＥアドレスブロックの次元に抽出される。物理アドレス空間はＳＵＥアドレスによって抽象化される。
【００６２】
Ｓ８４０段階で、第２アドレス空間情報に基づいて第２類型インターフェイス動作が遂行される。第２類型インターフェイスは潜在的な様相を露出する。第２アドレス空間情報はＳＵＥアドレス空間情報である。ＳＵＥアドレス空間情報は潜在的な様相に対応する。潜在的な様相は物理アドレス空間の幾何構造の代表幾何構造又は次元を含む。ＳＵＥインターフェイスは潜在的なシステム管理動作（例えば、フリー空間の管理、フリー空間の使用のための整備及び環境設定等）に関連する次元を露出する。メタデータ領域におけるオーバープロビジョニングの比率は使用者データ領域におけるオーバープロビジョニングの比率と互いに異なる。
【００６３】
図９は、本発明の一実施形態による多重モードソリッドステートドライブ９２０を示すブロック図である。図９で、多重モードソリッドステートドライブ９２０は論理アドレス基盤のソリッドステートドライブ９１０及び物理アドレス基盤のソリッドステートドライブ９３０に関する既存の試図と比較される。
【００６４】
論理アドレス基盤のソリッドステートドライブ９１０は、論理インターフェイス９１１、フラッシュ変換ロジック（ＦＴＬ）９１２、及び論理アドレス空間９１３を含む。物理アドレス基盤のソリッドステートドライブ９３０は物理インターフェイス９３１及び物理アドレス空間９３２を含む。多重モードソリッドステートドライブ９２０は、論理インターフェイス９２１、フラッシュ変換ロジック（ＦＴＬ）９２２、論理アドレス空間９２３、ＳＵＥインターフェイス９２４、及び物理アドレス空間９２５を含む。
【００６５】
多重モードソリッドステートドライブ９２０は、便利さ及びドライブの潜在的な様相の選別的な露出を推進する。十分に露出しないか、或いは過度な複雑度を有する既存のアプローチと異なり、多重モードソリッドステートドライブ９２０は過渡な複雑さ無しで適切な量の露出を可能にする。
【００６６】
しかし、既存のソリッドステートドライブは、良い線型アドレス空間を有するというよりも、多くのフラッシュチップと共にコントローラを含む。このフラッシュチップ及びコントローラはダイ上でトランジスタのグループ又はストリング（Ｓｔｒｉｎｇ）に格納されるデータを有するページからなされるブロックで動作するように構成される。物理アドレス基盤のソリッドステートドライブ９３０は、格納媒体の全ての潜在的な物理アドレスの様相を露出しようとする際に、（論理アドレス基盤のソリッドステートドライブ９１０に比べて）非常に速い動作を可能にするが、非常に複雑なアプローチをもたらす。論理アドレス基盤のソリッドステートドライブ９１０は格納媒体の潜在的な細部様相を全て又は概ね隠すスキーム（Ｓｃｈｅｍｅ）を利用して単一の線型フラットマッピング空間（Ｌｉｎｅａｒ  Ｆｌａｔ  Ｍａｐｐｉｎｇ  Ｓｐａｃｅ）を有するが、潜在的な細部様相の大部分を隠しながら根本的にデータを物理領域に格納しようとすることは（物理アドレス基盤のソリッドステートドライブ９３０に比べて）システムを遅くする。
【００６７】
多重モードソリッドステートドライブ９２０は、フラッシュ管理システムの動作を便利なように柔軟に構成して具現する。多重モードソリッドステートドライブ９２０は論理アドレス空間９２３に対するフラッシュ管理システムの動作を主に多重モードソリッドステートドライブ９２０の内部コントローラ（例えば、図７のコントローラ７７５）で遂行する。一方、物理アドレス空間９２５に対するフラッシュ管理システムの動作は主に多重モードソリッドステートドライブ９２０の外部コントローラ（例えば、図７のコントローラ７４５）でシステムレベルにより遂行される。
【００６８】
多重モードソリッドステートドライブ９２０のフラッシュ管理システムの動作を分離又は分割する能力はこのような分離又は分割を許容しない物理アドレス基盤のソリッドステートドライブ９１０及び論理アドレス基盤のソリッドステートドライブ９３０で利用されるフラッシュ管理システムの動作とは異なる。論理アドレス基盤のソリッドステートドライブ９１０のためのフラッシュ管理システムの動作は主に論理アドレス基盤のソリッドステートドライブ９１０の内部コントローラで遂行され、物理アドレス基盤のソリッドステートドライブ９３０のためのフラッシュ管理システムの動作は主に物理アドレス基盤のソリッドステートドライブ９３０の外部コントローラでシステムレベルにより遂行される。
【００６９】
本実施形態で、多重モードソリッドステートドライブ９２０は潜在アドレス空間の幾つかの特徴を選別的に露出し、論理アドレス基盤のソリッドステートドライブ９１０及び物理アドレス基盤のソリッドステートドライブ９３０は潜在アドレス空間の幾つかの特徴及び他の選別的な露出を可能にしない。本実施形態で、潜在的な様相を外部フラッシュ管理システム（例えば、図７の多重モード格納管理システム７２０）に露出することはその潜在的な様相の選択された露出をマッピングすることを随伴する。
【００７０】
≪ＩＩ．選別潜在露出（ＳＵＥ）マッピング≫
【００７１】
本発明の他の実施形態は選別潜在露出（ＳＵＥ）マッピングスキームを具現して、格納システムで使用者データのために論理アドレス空間からＳＵＥアドレス空間へのマッピングを生成する。個別的な格納装置レベルよりも様々な格納装置に亘ってシステムレベルで遂行される特定の格納媒体管理機能を許容するために、ＳＵＥマッピングスキームは潜在物理格納媒体の重要な特徴を選別的に露出する。
【００７２】
例として、一実施形態は格納機器で様々なＮＡＮＤフラッシュ不揮発性メモリ装置に亘る使用者アドレス空間の様相の選別的な露出を可能にする。ＳＵＥマッピングスキームのＳＵＥページ及びブロックは物理的なＮＡＮＤフラッシュ不揮発性メモリ装置の各々で１つの単位として共に管理される対応する物理ページ及びブロックに整列される。物理的なＮＡＮＤフラッシュ不揮発性メモリ装置の個別的なダイはＳＵＥマッピングスキームで区別されなくても、ＳＵＥブロックの大きさに間接的に反映される。
【００７３】
格納装置の物理ページ及びブロックとＳＵＥマッピングスキームのＳＵＥページ及びブロックとの間の相関は格納システムで全てのＮＡＮＤフラッシュ不揮発性メモリ装置に亘ってシステムレベルにより組織されて具現される特定のＮＡＮＤフラッシュ管理機能（例えば、消去、プログラム、及びフリー空間の返還（ガーベッジコレクション）及び管理）を許容する。特定の格納媒体管理機能のシステムレベルの具現は格納資源の提供（Ｐｒｏｖｉｓｉｏｎ）に関する有益な効率性を提供する。
【００７４】
図３を再び参照すると、ＮＡＮＤフラッシュ不揮発性メモリ装置のような多重モード格納装置（例えば、３５０、４００、６２０）は本明細書で説明するＳＵＥマッピングスキームを利用して具現される。例として、一実施形態で、多重モード格納装置はＮＡＮＤフラッシュ基盤のソリッドステートドライブである。一実施形態で、多重モード格納装置は標準ディスクドライブフォームファクタ（Ｓｔａｎｄａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ  Ｆｏｒｍ  Ｆａｃｔｏｒ）や標準メモリカードフォームファクタ（Ｓｔａｎｄａｒｄ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｆｏｒｍ  Ｆａｃｔｏｒ）のような標準化された物理的なフォームファクタに従う。
【００７５】
図５を再び参照すると、上述したように、多重モード格納装置は多くのＮＡＮＤフラッシュメモリセルを有する様々なダイ（５１１、５１２、５１３、５１４、５２１、５２２、５２３、５２４、５３１、５３２、５３３、５３４、５４１、５４２、５４３、５４４）又はメモリチップを含む。各ダイ上のＮＡＮＤフラッシュメモリセルは、物理アドレス基盤のブロック（５１５、５１７、５１９、５２８、５３９）のように、様々な個別的な物理ブロックに更に区分される。
【００７６】
消去及びフリー空間の管理は多重モード格納装置のダイの１つ以上の個別グループ上のメモリセルのブロックに対して遂行される。例として、多重モード格納装置は、１２８個のダイを含み、１つのグループ又は単位として１２８個のダイの中の１つのブロックに対して消去及びフリー空間の管理を遂行する。代案として、多重モード格納装置は、１２８個のダイを含み、１つのグループとしてダイの部分集合（例えば、３２個のダイのグループ）の中の１つのブロックに対して消去及びフリー空間の管理を遂行する。
【００７７】
図１０は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥブロック及び対応するＳＵＥページを示すブロック図である。
【００７８】
図１０は、ＳＵＥブロック１０１０を形成する物理ブロック（１０１２、１０１４、１０１６、１０１８）の配列を示す。メモリセルの物理ブロック（１０１２、１０１４、１０１６、１０１８）の各々はメモリセルの様々な個別物理ページ（１０２１、１０２２、１０２３、１０２４）に更に区分される。ＳＵＥページ１０３０は対応するＳＵＥブロック１０１０の物理ブロック（１０１２、１０１４、１０１６、１０１８）に対応する物理ページ（１０３２、１０３４、１０３６、１０３８）を含む。
【００７９】
本実施形態で、メモリセルのＳＵＥ構成が多重モード格納装置（例えば、３５０、４００、６２０）で生成される。ＳＵＥページ及びＳＵＥブロックはプログラム及び消去の単位として共に管理される格納装置上のダイの各グループに対して準備される。ＳＵＥブロックは多重モード格納装置のダイの部分集合に含まれるダイから各々１つずつ選択される物理ブロックのメモリセルを含むように定義され、この物理ブロックは、１つの単位として共に消去され、管理される。ＳＵＥページは１つのＳＵＥブロックの個別セクション（Ｓｅｃｔｉｏｎ）又はセグメント（Ｓｅｇｍｅｎｔ）を含むように定義され、この個別セクション又はセグメントは共にプログラムされる。
【００８０】
例として、一実施形態で、多重モード格納装置は、１２８個のダイを含み、各ダイに含まれる該当する物理ブロック上のフリー空間を共に消去し、管理する。対応するＳＵＥブロック１０１０は多重モード格納装置の１２８個のダイから各々１つずつ選択される１２８個の物理ブロックのメモリセルを含むように定義される。対応するＳＵＥページ１０３０は１２８個の物理ブロックに各々対応する１２８個のセクション又はセグメントを含むように定義される。
【００８１】
例として、他の実施形態で、多重モード格納装置は、１２８個のダイを含み、１回に３２個のダイの該当する物理ブロック上のフリー空間を共に消去し、管理する。対応するＳＵＥブロック１０１０は多重モード格納装置の３２個のダイから各々１つずつ選択される３２個の物理ブロックのメモリセルを含むように定義される。この場合、対応するＳＵＥページ１０３０は３２個の物理ブロックに各々対応する３２個のセクション又はセグメントを含むように定義される。
【００８２】
他の実施形態で、多重モード格納装置は、各々が４つのプレーン（Ｐｌａｎｅ）に分けられた１２８個のダイを含み、各ダイに含まれる各々のプレーンのブロック上のフリー空間を管理する。対応するＳＵＥブロック１０１０はメモリ装置に含まれる各々のプレーンの１２８個のブロックのメモリセルを含むように定義される。この場合、対応するＳＵＥページ１０３０は各々のプレーンのブロックに対応する１２８個のセクション又はセグメントを含むように定義される。
【００８３】
図１１は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間のＳＵＥブロック及び対応するＳＵＥページを示すブロック図である。
【００８４】
図１１は、使用者格納空間の例示的なＳＵＥブロック１１１０を示す。本実施形態で、ＳＵＥブロック１１１０は仮想ブロック（Ｖｉｒｔｕａｌ  Ｂｌｏｃｋ）と同様に看做される。ＳＵＥブロック１１１０は個別格納装置レベルでメモリ媒体を管理するための動作の基本単位である。ＳＵＥブロックは様々なＳＵＥページで構成される。一具現例で、ＳＵＥページは仮想ページと同様に看做される。例として、図１１に示したＳＵＥブロック１１１０は、４つのＳＵＥページ（１１２１、１１２２、１１２３、１１２４）を含む。
【００８５】
図５に示したように、ＳＵＥブロックのＳＵＥページに割当られる物理的なメモリセルは１つの多重モード格納装置（例えば、３５０、４００、６２０）に含まれる様々なダイに亘って分布する対応する物理ページ及び物理ブロックに位置する。他の実施形態で、多重モード格納装置の物理的な消去ブロックの大きさとプログラム可能な物理ページの大きさとの間の関係に基づいていくつかの個数のページに分割されるブロックを含む。
【００８６】
図１２は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥメタページ及び対応するＳＵＥページを示すブロック図である。
【００８７】
図１２は、例示的なメタページ（Ｍｅｔａｐａｇｅ）１２１０を示す。メタページ１２１０は格納システムで様々な格納装置に亘って様々なＳＵＥページで構成される。例として、図１２に示したメタページ１２１０は５つのＳＵＥページ（１２１１、１２１２、１２１３、１２１４、１２１５）を含む。他の実施形態で、格納システムの個別的な多重モード格納装置の個数及び多重モード格納装置の各々で１つの単位として共に管理されるダイの個数に基づいて所定個数のＳＵＥページに分割されるメタページを含む。
【００８８】
各ＳＵＥページに割当られる物理的なメモリセルは個別的な多重モード格納装置（例えば、３５０、４００、６２０）に位置する。メタページ１２１０を形成する様々なＳＵＥページ（１２１１、１２１２、１２１３、１２１４、１２１５）に割当られるメモリセルは格納システム（例えば、格納機器）に関連する様々な格納装置（例えば、６２０、６３０、６４０、６５０）に位置する。
【００８９】
従って、ＳＵＥページ（１１２１、１１２２、１１２３、１１２４）の大きさ又は幅（Ｗｉｄｔｈ）は各多重モード格納装置で１つの単位として共に管理されるダイの個数に対応する反面、メタページ１２１０の大きさ又は幅は格納システムに含まれる多重モード格納装置の個数に対応する。
【００９０】
図１３は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのＳＵＥメタブロック及び対応するＳＵＥメタページを示すブロック図である。
【００９１】
図１３は、例示的なメタブロック（Ｍｅｔａｂｌｏｃｋ）１３１０を示す。メタブロック１３１０は様々なメタページ（１３１１、１３１２、１３１３、１３１４）で構成される。メタページ１２１０と共に参照すると、メタブロック１３１０に割当られる物理的なメモリセルは格納システムに関連する様々な格納装置に位置する。即ち、メタブロック１３１０は、格納システムに含まれる多重モード格納装置（例えば、６２０、６３０、６４０、６５０）の各々で、１つの単位として共に管理されるダイの対応する部分集合に含まれる各ダイから選択される該当ブロックを含む。従って、メタブロック１３１０の大きさは、各多重モード格納装置（例えば、３５０、４００、６２０）で共に管理されるダイの個数、及び格納システムに含まれる多重モード格納装置（６２０、６３０、６４０、６５０）の個数に対応する。
【００９２】
図１４は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のための他のＳＵＥメタブロック及び対応するＳＵＥブロックを示すブロック図である。
【００９３】
図１４は、例示的なメタブロック１４１０が様々なＳＵＥブロック（例えば、１１１０）で構成されることを示す。メタブロック１４１０は格納システムに含まれる多重モード格納装置（例えば、６２０、６３０、６４０、６５０）の各々で共に管理されるダイの各部分集合から選択される各々のＳＵＥブロック（１４１１、１４１２、１４１３、１４１４、１４１５）の結合である。同様に、メタページ１２１０はメタブロック１４１０で対応するＳＵＥブロック（１４１１、１４１２、１４１３、１４１４、１４１５）の各々から選択される対応するＳＵＥページ（例えば、１２１１、１２１２、１２１３、１２１４、１２１５）の結合である。
【００９４】
本実施形態で、特定メモリ媒体管理機能（例えば、消去、プログラム、フリー空間の返還（ガーベッジコレクション）及び管理等）はメタブロックレベルで遂行される。即ち、このメモリ媒体管理機能は、個別的な格納装置レベルの代わりに、格納システムレベルで提供される。
【００９５】
所望するシステムレベルのメモリ管理を可能にするために、使用者データに割当られてアプリケーション及びバーチャルマシンオペレーティングシステム（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって取り扱われる論理アドレス空間がＳＵＥアドレス空間にマッピングされる。従って、格納システムに含まれる多重モード格納装置の使用者領域は潜在露出インターフェイスを通じて取り扱われる。システムレベルのメモリマッピング及び管理は書込み増幅因子を減少させ、これは格納領域の提供を減らして費用減少を可能にする。
【００９６】
図１５は、本発明の一実施形態による論理アドレスからＳＵＥアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現されるＳＵＥマッピングスキームを示す概念図である。
【００９７】
図１５は、ＳＵＥマッピングスキーム１５００を示す。ＳＵＥマッピングスキーム１５００は、図６の多重モード格納管理システム６１０のような格納システムによって具現され、本実施形態によって論理アドレスからＳＵＥアドレスへのアドレスマッピングを提供する。ＳＵＥマッピングスキーム１５００は論理アドレス空間をＳＵＥアドレス空間に関連させる。ＳＵＥアドレス空間は潜在物理格納媒体の重要な特徴を示す。ＳＵＥアドレス空間は格納システムに含まれる様々な格納装置の結合された物理的な格納空間を取り扱うために利用される。
【００９８】
使用者データ１５０２は、例としてホストアプリケーション及びバーチャルマシンオペレーティングシステムから入力として受信される。ホスト使用者データは、元のホストファイルシステムやインターフェイス標準等に関連する論理ブロックの大きさ（例えば、５１２Ｋバイトの大きさの情報）に対応する格納単位（例えば、論理アドレス基盤のブロック又は論理ブロック）に組織される。受信された使用者データの各論理ブロックは論理ブロックアドレス（ＬＢＡ）によって取り扱われる。例として、一実施形態で、入力された論理ブロックのアドレッシング動作はＡＮＳＩ（Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）によって配布されたＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）標準に関連して取り扱われる。
【００９９】
使用者データ１５０２の論理アドレス基盤のブロックはＳＵＥアドレスを有する（ＳＵＥ  Ａｄｄｒｅｓｓａｂｌｅ）単位（又は、ハイブリッドマッピングシステム（Ｈｙｂｒｉｄ  Ｍａｐｐｉｎｇ  Ｓｙｓｔｅｍ）のマッピングブロック）に結合される。一実施形態で、所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の論理ブロックがＳＵＥアドレスを有する１つの単位を形成するためにグループ化される。例として、図１５で、８つの論理ブロックがＳＵＥアドレスを有する単位を形成するために結合される。他の実施形態で、ＳＵＥアドレスを有する１つの単位を形成するために整数個（Ｗｈｏｌｅ  Ｎｕｍｂｅｒ）又は実数個（Ｆｒａｃｔｉｏｎａｌ  Ｎｕｍｂｅｒ）の論理ブロックが結合される。
【０１００】
本実施形態で、ＳＵＥアドレスを有する単位は格納システムのためのマッピングの最小グラニュラリティを有する。一実施形態で、ＳＵＥアドレスを有する単位は４Ｋバイト、８Ｋバイト、又は他の適当な大きさを有する。
【０１０１】
本実施形態で、格納システムは一連のボリューム（Ｖｏｌｕｍｅ）を含む。各ボリュームはＳＵＥアドレスを有する一連の単位を含み、ＳＵＥアドレスを有する各単位は一連の論理単位を含む。異なるボリュームは各々異なるＳＵＥアドレスを有する単位の大きさを有する。ボリュームは多くの特性を有する。ボリュームは、アプリケーション、単一の使用者レベルファイルシステム、論理的なドライブ、ネームスペース（Ｎａｍｅｓｐａｃｅ、例えば所定のネームスペースに関連する隣接する論理アドレスの集合）、ＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）等に対応する。
【０１０２】
図示した具現例で、論理ブロックアドレス（１５２１、１５２２、１５２３、１５２４、１５２５、１５２６、１５２７、１５２８）によって取り扱われる論理アドレス基盤のブロック（１５３１、１５３２、１５３３、１５３４、１５３５、１５３６、１５３７、１５３８）はＳＵＥアドレスを有する単位１５０３に結合され、論理ブロックアドレス（１５４１、１５４２、１５４３、１５４４、１５４５、１５４６、１５４７、１５４８）によって取り扱われる論理アドレス基盤のブロック（１５５１、１５５２、１５５３、１５５４、１５５５、１５５６、１５５７、１５５８）はＳＵＥアドレスを有する単位１５０４に結合され、論理ブロックアドレス（１５７１、１５７２、１５７３、１５７４、１５７５、１５７６、１５７７、１５７８）によって取り扱われる論理アドレス基盤のブロック（１５８１、１５８２、１５８３、１５８４、１５８５、１５８６、１５８７、１５８８）はＳＵＥアドレスを有する単位１５０５に結合される。論理ブロックはアドレスを有する単位にまたがるアドレスを有する単位毎に様々なブロックが含まれる。
【０１０３】
オプション（Ｏｐｔｉｏｎ）として、ＳＵＥアドレスを有する単位（１５０３、１５０４、１５０５）の使用者データ１５０２に対してデータ圧縮アルゴリズムが遂行され、これによってＳＵＥアドレスを有する圧縮された単位（１５０７、１５０８、１５０９）が生成される。ＳＵＥアドレスを有する圧縮された単位（１５０７、１５０８、１５０９）に各々対応してヘッダー（Ｈｅａｄｅｒ）セクション（１５１１、１５１２、１５１３）が生成される。ヘッダーセクションは、例として返還及びデータ復旧活動に利用される情報を含む。
【０１０４】
ＳＵＥアドレスを有する圧縮された単位及びヘッダーセクションは格納装置伝送ブロック（又は、ソリッドステートドライブ伝送ブロック（１５１５、１５１７））に位置する。図示した例で、ヘッダーセクション（１５１１、１５１２、１５１３）及びこれに対応するＳＵＥアドレスを有する圧縮された単位（１５０７、１５０８、１５０９）がソリッドステートドライブ伝送ブロック（１５１５、１５１７）に含まれる。本実施形態で、ＳＵＥアドレスを有する圧縮された単位は勿論、使用者データ１５０２に含まれる論理ブロックも、やはり２以上の格納装置伝送ブロックに亘って位置する。
【０１０５】
所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の格納装置伝送ブロックが多重モード格納装置への伝送のためにＳＵＥページ（１５９１、１５９２、１５９３、１５９４）に合わせて整列される。本実施形態で、ＳＵＥアドレスを有する圧縮された単位は勿論、使用者データ１５０２に含まれる論理ブロックも、やはり２以上のＳＵＥページ（１５９１、１５９２、１５９３、１５９４）に亘って位置する。
【０１０６】
一実施形態で、ＥＣＣ等を利用して使用者データ１５０２に対して遂行される誤謬訂正がシステムレベルでは具現されないこともある。但し、誤謬訂正は個別的な多重モード格納装置によって具現される。
【０１０７】
使用者データに関連するメタデータは多重モード格納装置（例えば、３５０、４００、６２０）の論理アドレス基盤のシステム領域に格納される。例として、一実施形態で、論理ブロックのアドレッシング動作を利用して管理される多重モード格納装置のメモリセルの一部分はマップテーブル（Ｍａｐ  Ｔａｂｌｅ）を格納する。マップテーブルはＳＵＥアドレスを有する単位をＳＵＥアドレス空間にマッピングする。例として、マップテーブルはポインター（Ｐｏｉｎｔｅｒ）を格納し、ポインターの各々はＳＵＥアドレスを有する個別的な単位を示す。従って、ＳＵＥアドレス空間で、使用者データの論理ブロックの対応する格納位置は、ＳＵＥアドレスを有する単位のマッピング、並びに論理ブロック及びＳＵＥアドレスを有する単位の対応するオフセット（Ｏｆｆｓｅｔ）を利用して判別される。
【０１０８】
一実施形態で、ボリューム（例えば、６７１、６７２、６７３）に情報が格納される。様々なボリューム又はネームスペースがあり、異なるボリューム又はネームスペースは異なる大きさのＳＵＥアドレスを有する単位に関連する。異なる大きさのボリューム又はネームスペースが同一の大きさのＳＵＥアドレスを有する単位に関連する。
【０１０９】
図１６は、図１５のＳＵＥマッピングスキームを具現する格納システムを示すブロック図である。図１６を参照すると、格納システム１６０２は、プロセッサ１６０４、メモリ１６０６、ネットワークインターフェイス１６０８、入出力装置１６１０、表示装置１６１２、バス１６１４、及び様々な不揮発性メモリ装置１６１６を含む。格納装置１６０２の多様な構成要素はローカルデータリンク（Ｌｏｃａｌ  Ｄａｔａ  Ｌｉｎｋ）１６１８によって連結される。ローカルデータリンク１６１８は、例としてアドレスバス、データバス、直列バス、並列バス、又はこれらの組合せを含む。
【０１１０】
プロセッサ１６０４は格納システム１６０２を制御するために適合する汎用プロセッサ又はアプリケーション特定デジタルプロセッサ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｄｉｇｉｔａｌ  Ｐｒｏｃｅｓｓｏｒ）を含む。メモリ１６０６はプロセッサ１６０４によってアクセスされるデータ及び命令語（Ｉｎｓｔｒｕｃｔｉｏｎ）を格納するために適合するデジタルメモリ装置を含む。
【０１１１】
ネットワークインターフェイス１６０８は格納システム１６０２を通信ネットワーク（、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク等）に通信連結するために適合するネットワークインターフェイスを含む。ネットワークインターフェイス１６０８は格納ネットワーク標準（例えば、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）プロトコル）を具現する。
【０１１２】
入出力装置１６１０は格納システム１６０２でデジタル情報を送受信するために適合する装置を含む。表示装置１６１２は文字又はＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示するために適合する装置を含む。
【０１１３】
バス１６１４は、例としてＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）バスや格納システムの通信のために利用される他の何らかの高速直列拡張バスを含む。バス１６１４は、格納システム１６０２の格納装置（例えば、不揮発性メモリ装置１６１６）へのアクセスのために、ＮＶＭｅ（Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｅｘｐｒｅｓｓ）又はＮＶＭＨＣＩ（Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｈｏｓｔ−Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ）の標準を活用する。不揮発性メモリ装置１６１６は、例としてＮＡＮＤフラッシュ基盤のソリッドステートドライブや他の何らかの適合する不揮発性メモリ装置を含む。
【０１１４】
他の実施形態で、汎用コンピューティング装置が図１５のＳＵＥマッピングスキーム１５００の機能を具現する。例として、汎用コンピューティング装置は、サーバー、ワークステーション、個人用コンピュータ等を含む。
【０１１５】
不揮発性メモリ装置１６１６のように、コンピュータで読出し可能な媒体に格納されるプログラムコード（例えば、ソースコード（Ｓｏｕｒｃｅ  Ｃｏｄｅ）、オブジェクトコード（Ｏｂｊｅｃｔ  Ｃｏｄｅ）、実行可能なコード（Ｅｘｅｃｕｔａｂｌｅ  Ｃｏｄｅ）等）は、ウォーキングメモリ又は演算メモリ（例えば、メモリ１６０６）にロード（Ｌｏａｄ）されて、図１５のＳＵＥマッピングスキーム１５００の機能を遂行するためにプロセッサ１６０４によって実行される。他の実施形態で、実行可能な命令語がファームウェア形態に格納されるか、或いは上述した機能が特殊目的ハードウェアによって遂行される。
【０１１６】
図１７は、本発明の一実施形態による論理アドレス空間をＳＵＥアドレス空間にマッピングする方法を示すフローチャートである。例として、図１７の方法は格納システムに含まれる様々な格納装置の結合物理格納空間を取り扱うために論理アドレス空間をＳＵＥアドレス空間にマッピングするＳＵＥマッピングスキームを具現する図１６の格納システム１６０２によって遂行される。
【０１１７】
Ｓ１７０２段階で、例としてホストアプリケーション又はバーチャルマシンオペレーティングシステムから使用者データが受信されて図１７の方法が開始される。受信された使用者データは論理ブロックで構成されて論理ブロックアドレスとして取り扱われる。論理ブロックは、元のホストファイルシステム、データベース等に関連して、アドレスを有するメモリ単位の最小の大きさに対応する。
【０１１８】
Ｓ１７０４段階で、上述したように、論理ブロックがＳＵＥアドレスを有する単位に結合される。例として、所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の論理ブロックがＳＵＥアドレスを有する各単位を形成するためにグループ化される。Ｓ１７０６段階で、上述したように、オプションとしてＳＵＥアドレスを有する単位の使用者データに対してデータ圧縮アルゴリズムが遂行される（図１７で点線に示したＳ１７０６段階はオプションである）。
【０１１９】
Ｓ１７０８段階で、ヘッダーセクションが生成されてＳＵＥアドレスを有する各単位に加えられる。上述したように、例としてヘッダーセクションは返還及びデータ復旧活動に利用するための情報を含む。Ｓ１７１０段階で、上述したように、ＳＵＥアドレスを有する圧縮された単位及びヘッダーセクションが格納装置伝送ブロックに配置される。
【０１２０】
上述したように、Ｓ１７１２段階で、所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の格納装置伝送ブロックが結合されてＳＵＥページに合うように整列される。Ｓ１７１４段階で、ＳＵＥページに対応する格納装置伝送ブロックが多重モード格納装置に伝送されて使用者領域に格納される。Ｓ１７１６段階で、ＳＵＥページの使用者データにメタデータが多重モード格納装置に伝送されて、上述したようにシステム領域に格納される。
【０１２１】
≪ＩＩＩ．多重モード格納管理システム≫
【０１２２】
図１８は、本発明の一実施形態による格納システム（例えば、図１６の格納システム１６０２）が格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システムを示すブロック図である。多重モード格納管理システム１８０２は、ＳＵＥ格納管理器１８０４、論理格納管理器１８０６、返還管理器１８０８、及び格納アレイ（Ａｒｒａｙ）管理器１８１０を含む。
【０１２３】
ＳＵＥ格納管理器１８０４は、使用者データ格納マッピング、読出し及び書込み機能を提供する。ＳＵＥ格納管理器１８０４はＳＵＥアドレスマッピングスキームを利用して使用者データを格納システムの使用者領域にマッピングする。ＳＵＥ格納管理器１８０４は、格納システムの格納装置へのＳＵＥインターフェイスを通じて、使用者領域に格納された使用者データにアクセスする。
【０１２４】
ＳＵＥマッピングスキームは、格納システムと格納装置との間で、論理ブロックアドレスから物理アドレスへのマッピング機能を分配する。即ち、ＳＵＥマッピングスキームは、論理ブロックアドレスからＳＵＥアドレスへの格納システムレベルのマッピング又は仮想化（Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）と、ＳＵＥアドレスから物理アドレスへの格納装置レベルのマッピング又は変換を結合する。
【０１２５】
ＳＵＥマッピングスキームは、格納装置の特定の物理的な特徴又は代表幾何構造を格納システムに露出し、使用者データに特定の不揮発性メモリ管理機能が個別的な格納装置レベルよりも様々な格納装置に亘って格納システムレベルで遂行されるようにする。このように、個別的な格納装置レベルから格納システムレベルに使用者データ管理作業を再分配することは、書込み増幅因子の減少を含んでシステム効率性を向上させ、資源提供を減らし、費用減少を可能にする。
【０１２６】
論理格納管理器１８０６は、システムデータ格納マッピング、読出し及び書込み機能を提供する。論理格納管理器１８０６は、論理ブロックアドレス（ＬＢＡ）のような論理アドレスマッピングスキームを利用して、システムデータを格納装置のシステム領域にマッピングする。論理格納管理器１８０６は、格納装置への論理インターフェイスを通じて、システム領域に格納されたシステムデータにアクセスする。
【０１２７】
従って、一実施形態で、関連する格納装置又は関連する様々な格納装置の各々のメモリ領域は、論理アドレス基盤のシステム領域及びＳＵＥアドレス基盤の使用者領域を含んで、別個の格納領域又はアドレス領域に更に分けられるか、或いは分割される。格納装置は２つのホストインターフェイスを含む。１つは論理アドレス基盤のシステム領域へのアクセスを提供する論理ホストインターフェイスであり、他の１つはＳＵＥアドレス基盤の使用者領域へのアクセスを提供するＳＵＥホストインターフェイスである。システムデータに関する不揮発性メモリ管理機能は個別的な格納装置コントローラによって遂行される。
【０１２８】
返還管理器１８０８は使用者データに関して格納システムレベルで提供される不揮発性メモリ管理機能を提供するが、この不揮発性メモリ管理機能は、フリー空間の管理及び返還、又はガーベッジコレクションを含む。従って、格納システムに含まれる個別的な格納装置は使用者データのためのローカル返還（ガーベッジコレクション）を遂行しないことがある。返還管理器１８０８は多様なフリー空間の管理及び返還方法を具現する。一実施形態で、返還管理器１８０８は本明細書で説明する新しいフリー空間の管理及び返還方法を遂行する。
【０１２９】
格納アレイ管理器１８１０、又はＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）管理器は、格納システムに含まれる様々な格納装置のアレイのための格納管理を提供するが、この格納管理は使用者データに関するデータ復旧機能を含む。従って、格納システムに含まれる個別的な格納装置は使用者データのためのダイレベルのＲＡＩＤ機能を遂行しないことがある。格納アレイ管理器１８１０は多様な格納管理及びデータ復旧方法を具現する。一実施形態で、格納アレイ管理器１８１０は本明細書で説明する新しい格納管理及びデータ復旧方法を遂行する。
【０１３０】
図１９は、本発明の他の実施形態による格納システム（例えば、図１６の格納システム１６０２）が格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システムを示すブロック図である。多重モード格納管理システム１９０２は、データ整列器１９０４、ＳＵＥ格納アクセス管理器１９０６、データ圧縮管理器１９０８、ボリュームマッピングエンジン１９１０、バッファ管理器１９１２、メタブロック管理器１９１４、返還管理器１９１６、格納アレイ管理器１９１８、及び論理格納アクセス管理器１９２０を含む。
【０１３１】
データ整列器１９０４は、論理アドレス基盤の媒体アクセスコマンド（例えば、読出しコマンド、書込みコマンド、マッピング解除（Ｕｎｍａｐｐｉｎｇ）コマンド等）をＳＣＳＩターゲットから受信する。このコマンドは論理ブロックアドレス（ＬＢＡ）方式を採用し、ＳＣＳＩのメモリ位置抽出基準はメモリブロックが整数指標（Ｉｎｔｅｇｅｒ  Ｉｎｄｅｘ）によって指示される線型アドレススキームに基づく。論理ブロックアドレス方式で、単一整数基盤のアドレスがデータの各論理ブロックの開始を識別するために利用され、各線型基盤アドレスは単一論理ブロックと固有に関連する。従って、論理ブロックアドレス方式は、格納装置の細部的な事項又は特徴をオペレーティングシステム、ファイルシステム、装置ドライバー、及びホストアプリケーションから隠すか又はマスクする。
【０１３２】
書込み動作の間に、データ整列器１９０４はＳＣＳＩターゲット（Ｔａｒｇｅｔ）から受信されるデータの論理ブロックをＳＵＥマッピングブロックに結合する。例として、一実施形態で、所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の論理ブロックが１つのＳＵＥマッピングブロックを形成するためにグループ化される。オプションとして、データ圧縮管理器１９０８はＳＵＥマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを遂行する。
【０１３３】
読出し動作の間に、データ整列器１９０４は読出しコマンドをＳＣＳＩターゲットから受信して読出し要請をＳＵＥ格納アクセス管理器１９０６に伝達する。データ整列器１９０４は要請された使用者データをＳＵＥ格納アクセス管理器１９０６から受信して要請された使用者データをＳＣＳＩターゲットに伝達する。
【０１３４】
ＳＵＥ格納アクセス管理器１９０６は使用者データの読出し及び書込み機能を提供する。書込み動作の間に、ＳＵＥ格納アクセス管理器１９０６は各ＳＵＥマッピングブロックに対してヘッダーセクションを生成する。ヘッダーセクションは、例として返還及びデータ復旧活動に利用される情報を含む。ＳＵＥ格納アクセス管理器１９０６は圧縮されたＳＵＥマッピングブロックとこれに対応するヘッダーセクションを共に格納装置伝送ブロックに位置させる。一実施形態で、圧縮されたＳＵＥマッピングブロックは勿論、使用者データに含まれる論理ブロックも、やはり２以上の格納装置伝送ブロックに亘って位置する。
【０１３５】
ＳＵＥ格納アクセス管理器１９０６は所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の格納装置伝送ブロックを格納装置への伝送のためのＳＵＥページに整列する。ＳＵＥ格納アクセス管理器１９０６はＳＵＥページに対応する格納装置伝送ブロックを書込みバッファに伝送する。
【０１３６】
一実施形態で、圧縮されたＳＵＥマッピングブロックは勿論、使用者データに含まれる論理ブロックも、やはり２以上のＳＵＥページに亘って位置する。各ＳＵＥページは格納システムの個別的な格納装置に対応する。ＳＵＥページはＳＵＥマッピングスキームでプログラム又は書込み動作の基本単位である。
【０１３７】
読出し動作の間に、ＳＵＥ格納アクセス管理器１９０６は、要請された使用者データの位置を判別し、要請された使用者データが関連格納装置から読出されるように読出しバッファに要請する。ＳＵＥ格納アクセス管理器１９０６は使用者データを読出しバッファからデータ整列器１９０４に伝送する。
【０１３８】
データ圧縮管理器１９０８は、ＳＵＥアドレススキームの下位機能として、或いはＳＵＥアドレススキームに相互補完的な機能として、使用者データに対して圧縮アルゴリズムを遂行する。データ圧縮管理器１９０８によって遂行されるデータ圧縮機能はオフセットが内在するシステムで書込み増幅を引き起こす要因を解消するために役立つ。
【０１３９】
ボリュームマッピングエンジン１９１０はＳＵＥアドレスマッピング機能をコーディネートする。ボリュームマッピングエンジン１９１０は使用者データの現在位置を書き込む使用者領域マップテーブルを維持する。使用者領域マップテーブルは論理ブロックアドレスが格納された使用者データのＳＵＥアドレスに関連するマッピング情報を含む。使用者領域マップテーブルは関連格納装置の論理アドレス基盤のシステム領域に格納される。
【０１４０】
書込み動作の間に、ボリュームマッピングエンジン１９１０は書き込まれた使用者データに対してＳＵＥ格納アクセス管理器１９０６から受信された新しいか又は変更されたＳＵＥアドレス位置に基づいて使用者領域マップテーブルを更新する。
【０１４１】
読出し動作の間に、ボリュームマッピングエンジン１９１０は、要請された論理ブロックアドレスに基づいて、要請された使用者データのＳＵＥアドレス位置を使用者領域マップテーブルで検索する。ボリュームマッピングエンジン１９１０はＳＵＥアドレス位置をＳＵＥ格納アクセス管理器１９０６に提供する。
【０１４２】
ボリュームマッピングエンジン１９１０は、使用者データをＳＵＥページ、ＳＵＥブロック、メタページ、及びメタブロックで構成する。ＳＵＥブロックは様々な物理ブロックを個別的な格納装置にマッピングする。一実施形態で、同一のＳＵＥブロックにマッピングされる物理ブロックは格納装置の別個のダイ上に各々位置する。同一のＳＵＥブロックにマッピングされる全ての物理ブロックは、格納装置レベルで１つの単位として消去され、管理される。従って、ＳＵＥブロックはフリー空間の返還及び管理に対して各々のダイ上で共に管理される物理ブロックのグループに対応する。同様に、１つのＳＵＥブロックに対応するダイ上の各々の物理ブロックのグループは格納媒体の１つの単位として管理される。
【０１４３】
各ＳＵＥブロックは様々なＳＵＥページを含み、このＳＵＥページの各々はＳＵＥブロックにマッピングされる該当物理ブロックの物理ページに整列される。格納システムに含まれる全ての格納装置に亘って位置する各々のＳＵＥブロックの対応するＳＵＥページはメタページにマッピングされる。同様に、格納システムに含まれる全ての格納装置に亘って位置する対応するＳＵＥブロックはメタブロックにマッピングされる。
【０１４４】
多重モード格納管理システム１９０２レベルでの格納媒体管理機能（例えば、フリー空間の返還及び管理）は使用者データのメタブロックに対して遂行される。従って、多重モード格納管理システム１９０２レベルでの格納媒体管理機能は格納システムに含まれる各格納装置で共に管理される該当物理ブロックのグループに対して遂行される。
【０１４５】
プログラム動作及び読出し動作は使用者データのメタページに対して遂行される。従って、プログラム動作及び読出し動作は格納システムに含まれる各不揮発性メモリ装置で共に管理される該当物理ページのグループに対して遂行される。
【０１４６】
従って、格納システムに含まれる格納装置は物理的な格納領域の重要な構成又は代表幾何構造を多重モード格納管理システム１９０２に露出する方式に仮想化される。単一の格納装置に含まれる各々のダイ上で共に管理される物理ブロックのグループは多重モード格納管理システム１９０２にＳＵＥブロックとして提供され、そして格納システムに含まれる全ての格納装置に亘って位置する各々のダイ上で共に管理される物理ブロックの該当グループは多重モード格納管理システム１９０２にメタブロックとして提供される。
【０１４７】
同様に、単一の格納装置に含まれる各々のダイ上で共にプログラムされる物理ページのグループは多重モード格納管理システム１９０２にＳＵＥページとして提供され、そして格納システムに含まれる全ての格納装置に亘って位置する各々のダイ上で共にプログラムされる物理ページのグループは多重モード格納管理システム１９０２にメタページとして提供される。
【０１４８】
バッファ管理器１９１２は読出し及び書込みバッファのプール（Ｐｏｏｌ）を管理する。書込み動作の間に、使用者データが格納アレイ管理器１９１８を経て個別的な格納装置にＳＵＥページとして別々に送る前に使用者データの完全なメタページが概ね累積される時まで、バッファ管理器１９１２はＳＵＥ格納アクセス管理器１９０６から受信された格納装置伝送ブロックを書込みバッファに累積する。
【０１４９】
読出し動作の間に、バッファ管理器１９１２は読出しキャッシュ（Ｃａｃｈｅ）機能を支援するために読出しバッファを提供する。格納アレイ管理器１９１８から格納装置伝送ブロックとして受信された使用者データのＳＵＥページはＳＵＥ格納アクセス管理器１９０６に伝達される時まで読出しバッファに格納される。
【０１５０】
メタブロック管理器１９１４は、格納装置の使用者領域で定義される個別的なメタブロックの現在の状態（例えば、消去される、活性化される（Ａｃｔｉｃｅ）、閉じる（Ｃｌｏｓｅｄ）、返還する、又は消去中）を続いて把握し、管理する。現在の状態はメタブロック情報テーブルに格納されるが、メタブロック情報テーブルはメモリに格納され、格納装置のシステム領域にバックアップされる。また、メタブロック管理器１９１４は現在特定な状態にあるメタブロックの該当リスト（例えば、消去されたリスト、返還リスト、消去中であるリスト等）を維持する。メタブロック管理器１９１４は返還活動のためにＳＵＥ格納アクセス管理器１９０６に伝送しようとする特定メタブロックを選択する。
【０１５１】
返還管理器１９１６は、指定されたメタブロックの有効な（Ｖａｌｉｄ）使用者データを復旧し、その有効な使用者データを他のメタブロックに移動させるために、メタブロック管理器１９１４からの返還要請を処理する。返還管理器１９１６は、格納装置の使用者領域にフリー空間を提供するために、指定されたメタブロックに対応する物理的なメモリセルが消去され、返還されるように要請する。
【０１５２】
格納アレイ管理器１９１８は格納装置の使用者領域をＳＵＥインターフェイスに提供する。それだけでなく、格納アレイ管理器１９１８は格納装置のシステム領域を論理インターフェイスに提供する。格納アレイ管理器１９１８はＲＡＩＤストライプ（Ｓｔｒｉｐｅ）方式及びパリティー検査のようなデータ保護機能を提供する。例として、一実施形態で、格納装置伝送ブロックはＲＡＩＤ要素として利用され、ＲＡＩＤストライプは１メタページの全てのＳＵＥページに亘って位置する格納装置伝送ブロックを含む。従って、格納システムで所定の格納装置が故障した場合、格納アレイ管理器１９１８は、逆パリティー（Ｒｅｖｅｒｓｅ  Ｐａｒｉｔｙ）演算を利用して、故障した格納装置からデータを復旧する。
【０１５３】
論理格納アクセス管理器１９２０は論理アドレス方式を利用してシステムデータの読出し及び書込み機能を提供する。論理格納アクセス管理器１９２０は、使用者データにメタデータを格納し、読み出すことができるが、このメタデータは、使用者領域マップテーブル、メタブロック情報テーブル、及びボリュームテーブルは勿論、格納システムファイル、ログ（Ｌｏｇ）ファイル等を含む。
【０１５４】
使用者領域に格納される使用者データに関連して、個別的な不揮発性メモリ装置は、特定メモリ媒体の管理機能（例えば、読出し再試図（Ｒｅｔｒｙ）、損傷された物理ブロックのマッピング、ＥＣＣ、改善されたＩＳＰＰ（Ｉｎｃｒｅｍｅｎｔａｌ  Ｓｔｅｐ  Ｐｕｌｓｅ  Ｐｒｏｇｒａｍｍｉｎｇ）等）の責任を負う。システム領域に格納されるシステムデータに関連して、個別的な不揮発性メモリ装置は、全てのメモリ媒体の管理機能（例えば、返還、ウェアレベリング（Ｗｅａｒ−ｌｅｖｅｌｉｎｇ）、読出し及び書込みキャッシング（Ｃａｃｈｉｎｇ）、読出し再試図、損傷された物理ブロックのマッピング、ＥＣＣ、改善されたＩＳＰＰ等）の責任を負う。
【０１５５】
図２０は、本発明の更に他の実施形態による格納システムが格納装置で論理及びＳＵＥ格納空間を取り扱うためにＳＵＥアドレススキームを採用する多重モード格納管理システム（又は、ハイブリッドマッピングシステム）を示すブロック図である。
【０１５６】
多重モード格納管理システム２００２は、格納システムに含まれる様々な格納装置に亘って分布する使用者領域に不揮発性メモリ媒体管理を、責任を負う全域フラッシュ変換階層（Ｇｌｏｂａｌ  Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）として動作する。多重モード格納管理システム２００２は、不揮発性メモリ媒体のアクセス機能、ホストアプリケーションの論理アドレス空間の要素を物理的な不揮発性メモリ位置に整列されたＳＵＥアドレス空間のデータ構造にマッピングするためのアドレスマッピング機能、返還、及びウェアレベリング機能を遂行する。
【０１５７】
多重モード格納管理システム２００２は、データ整列器２００４、使用者領域アクセス管理器２００６、使用者領域マッピングエンジン２００８、バッファ管理器２０１０、システム領域アクセス管理器２０１２、メタブロック管理器２０１４、メタブロック情報管理器２０１６、格納装置制御管理器２０１８、格納装置アクセス管理器２０２０、全域状態（Ｇｌｏｂａｌ  Ｓｔａｔｅ）管理器２０２２、及び全域誤謬（Ｇｌｏｂａｌ  Ｅｒｒｏｒ）管理器２０２４を含む。多重モード格納管理システム２００２は、システム状態管理器２０２６、システムログ及び統計管理器２０２８、ターゲット装置２０３０、及び様々な不揮発性メモリ装置２０３２と通信するように連結される。
【０１５８】
全域誤謬管理器２０２４は多重モード格納管理システム２００２を含む格納システムで発生する全域誤謬を管理する。システム状態管理器２０２６は多重モード格納管理システム２００２の状態（例えば、動作環境）を管理する。システムログ及び統計管理器２０２８は多重モード格納管理システム２００２を含む格納システムの動作に基づいてシステムログ及び統計を提供する。不揮発性メモリ装置２０３２は広く利用される何らかの種類の不揮発性メモリを含む。ターゲット装置２０３０は読出し及び書込み動作の対象である他のメモリ装置である。
【０１５９】
データ整列器２００４はターゲット装置２０３０から論理アドレス基盤の媒体アクセスコマンド（例えば、読出しコマンド、書込みコマンド、マッピング解除コマンド等）を受信する。データ整列器２００４は論理ブロックアドレス（ＬＢＡ）のバッファリストを入力として受信する。書込み動作の間に、データ整列器２００４はターゲット装置２０３０から受信されたデータの論理ブロックをＳＵＥマッピングブロック（又は、ハイブリッドマッピングブロック（Ｈｙｂｒｉｄ  Ｍａｐｐｉｎｇ  Ｂｌｏｃｋ））に結合する。例として、一実施形態で、所定個数（Ｉｎｔｅｇｒａｌ  Ｎｕｍｂｅｒ）の論理ブロックが１つのＳＵＥマッピングブロックを形成するためにグループ化される。
【０１６０】
データ整列器２００４はターゲット装置２０３０から受信されて整列された使用者データのトラフィック（Ｔｒａｆｆｉｃ）及び整列されない使用者データのトラフィックの全てを統合する。この時、データ整列器２００４は、論理アドレスから物理アドレスへのマッピングのための単位（ＳＵＥマッピングブロック）にデータを整列するために、整列されない書込みトラフィックのための読出し、修正、書込み（Ｒｅａｄ、Ｍｏｄｉｆｙ、Ｗｒｉｔｅ）動作を遂行する。データ整列器２００４は使用者データをＳＵＥマッピングブロックに整列されたバッファリストに位置させる。一実施形態で、ＳＵＥマッピングブロックは、４Ｋバイト、８Ｋバイト、１６Ｋバイト等のように、固定されたデータ量を有する。
【０１６１】
読出し動作の間に、データ整列器２００４はターゲット装置２０３０から読出しコマンドを受信して読出し要請を使用者領域アクセス管理器２００６に伝達する。データ整列器２００４は要請された使用者データを使用者領域アクセス管理器２００６から受信して要請された使用者データをターゲット装置２０３０に伝達する。
【０１６２】
図２１は、本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域アクセス管理器を示すブロック図である。図２１を参照すると、使用者領域アクセス管理器２００６は、読出し管理器２１０２、書込み管理器２１０４、データ圧縮管理器２１０６、データ圧縮解除（Ｄｅｃｏｍｐｒｅｓｓｉｏｎ）管理器２１０８、返還管理器２１１０、フリー空間書込み管理器２１１２、流れ制御管理器２１１４、及びサービス品質管理器２１１６を含む。
【０１６３】
読出し管理器２１０２は、データ整列器２００４から読出し要請を受信して読出し要請を処理する。読出し管理器２１０２は使用者領域マッピングエンジン２００８に関連するマッピング情報を要請する。読出し管理器２１０２は読出し要請を格納装置アクセス管理器２０２０に送る。読出し動作の間に、読出し管理器２１０２はバッファ管理器２０１０に読出しバッファの使用者データを送ることを要請する。読出し管理器２１０２は読出し要請された使用者データにより圧縮解除要請をデータ圧縮解除管理器２１０８に送る。
【０１６４】
書込み管理器２１０４はデータ整列器２００４から書込み要請を受信する。書込み動作の間に、書込み管理器２１０４は、ＳＵＥマッピングブロックストリームに対するメタデータヘッダーを生成し、使用者データのＳＵＥアドレスに関して使用者領域マッピングエンジン２００８のためにマッピング情報を生成する。書込み管理器２１０４は、使用者データ圧縮コマンドをスケジューリング（Ｓｃｈｅｄｕｌｉｎｇ）するために圧縮要請をデータ圧縮管理器２１０６に送り、格納装置アクセス管理器２０２０に書込み要請を送る。書込み管理器２１０４はバッファ管理器２０１０に書込みバッファの使用者データを送ることを要請する。書込みデータの現在のメタブロックが一杯になった場合、書込み管理器２１０４はメタブロック管理器２０１４に新しい活性化されたメタブロックを開けることを要請する。
【０１６５】
データ圧縮管理器２１０６は書込み管理器２１０４から圧縮要請を受信して圧縮要請を処理する。一実施形態で、データ圧縮管理器２１０６はＳＵＥマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを具現する。他の実施形態で、データ圧縮管理器２１０６は外部圧縮ユニット（図示せず）に対してデータ圧縮作業をスケジューリングする。
【０１６６】
データ圧縮解除管理器２１０８は読出し管理器２１０２から圧縮解除要請を受信して圧縮解除要請を処理する。一実施形態で、データ圧縮解除管理器２１０８はＳＵＥマッピングブロックの使用者データに対してデータ圧縮解除アルゴリズムを具現する。他の実施形態で、データ圧縮解除管理器２１０８は外部圧縮解除ユニット（図示せず）に対してデータ圧縮解除作業をスケジューリングする。
【０１６７】
返還管理器２１１０は、メタブロック管理器２０１４から返還要請を受信し、フリー空間を返還するために指定されたメタブロックから有効データを復旧するためにその返還要請を処理する。返還管理器２１１０は使用者領域マッピングエンジン２００８に関連するマッピング情報を要請し、指定されたメタブロックに関して読出し要請を読出し管理器２１０２に送る。返還管理器２１１０は、格納装置からの読出しデータストリームのＳＵＥマッピングブロックに伴うメタデータヘッダーを分析し、指定されたメタブロックに残っている全ての有効データに関して書込み管理器２１０４に書込み要請を送る。また、返還管理器２１１０は部分的なメタブロックデータを返還するために格納装置制御管理器２０１８からの要請を処理する。
【０１６８】
フリー空間書込み管理器２１１２は、書込み動作の間に書込み管理器２１０４からマッピング情報を受信し、メタブロックに格納された古くなった使用者データに関してフリー空間の情報を生成する。フリー空間書込み管理器２１１２はフリー空間の情報をメタブロック情報管理器２０１６に送って該当するメタブロック情報テーブルの個体を更新する。
【０１６９】
流れ制御管理器２１１４は、読出し及び書込みバッファ、圧縮バッファ、格納バス及び他のキューの深さ（Ｑｕｅｕｅ  Ｄｅｐｔｈ）等のようなシステム資源をモニタリングする。システムレベルの資源提供が基準限界以下に低下すると、流れ制御管理器２１１４はサービス品質管理器２１１６の調節レベル（Ｔｈｒｏｔｔｌｉｎｇ−ｄｏｗｎ  Ｌｅｖｅｌ）をリセットする。一実施形態で、資源提供の要求レベルはシステム管理者コマンドを利用して設定される。流れ制御管理器２１１４はシステム管理者に統計値を提供するが、この統計値はインターフェイスレベルの調節（Ｔｈｒｏｔｔｌｉｎｇ）のために利用される。
【０１７０】
サービス品質管理器２１１６はシステム資源提供レベル及びレイテンシ（Ｌａｔｅｎｃｙ）測定値に基づいてサービス品質の政策を定義する。サービス品質管理器２１１６は異なるサービス品質政策プールを支援するために様々なキューを具現する。レイテンシ基盤の政策に関して、サービス品質管理器２１１６はキュー個体に対してタイムスタンプ（Ｔｉｍｅ  ｓｔａｍｐ）を具現する。サービス品質管理器２１１６は、多様なキューパラメーター（Ｐａｒａｍｅｔｅｒ）をモニタリングし、政策が違反しないことを保証するための要請を選択する。流れ制御管理器２１１４の要請に従って、サービス品質管理器２１１６は資源提供基盤の政策キューに対してトラフィックを調節する。
【０１７１】
図２２は、本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域マッピングエンジンを示すブロック図である。図２２を参照すると、使用者領域マッピングエンジン２００８は、ボリューム管理器２２０２、マップページ読出し管理器２２０４、マップページ書込み管理器２２０６、及びマップページキャッシュ管理器２２０８を含む。
【０１７２】
ボリューム管理器２２０２は、ボリュームを生成し、除去し、管理するためのサービスを提供し、様々な提供政策を取り扱う。ボリューム管理器２２０２は関連する情報をボリュームテーブルに維持させるが、このボリュームテーブルは、メモリに格納され、システム領域にバックアップされる。ボリューム管理器２２０２はボリュームテーブルの個体へのアクセスのためのサービスを提供する。ボリューム管理器２２０２は、システム領域アクセス管理器２０１２を利用してボリュームテーブルをバックアップし、復元する。
【０１７３】
所定マップページ無し（Ｍｉｓｓ）がマップページキャッシュ管理器２２０８によって検出された場合、マップページ読出し管理器２２０４は欠如したマッピングページに関してマップページキャッシュ管理器２２０８から提供される要請を受信して処理する。マップページ書込み管理器２２０６はマッピングページを取り戻すためのマップページキャッシュ管理器２２０８からの要請を受信して処理する。
【０１７４】
マップページキャッシュ管理器２２０８は読出し管理器２１０２及び返還管理器２１１０から提供されたマッピング個体情報要請を処理する。また、マップページキャッシュ管理器２２０８は書込み管理器２１０４によって提供されたマッピング個体更新を処理する。所定マップページがないことが検出された場合、マップページキャッシュ管理器２２０８はマップページ読出し管理器２２０４に欠如したマッピングページを要請する。マップページキャッシュ管理器２２０８はマップページ書込み管理器２２０６にマッピングページを取り戻すことを要請する。
【０１７５】
バッファ管理器２０１０は読出し及び書込みバッファのプールを管理する。書込み動作の間に、バッファ管理器２０１０は、格納装置伝送ブロックを割当及び放出（Ｒｅｌｅａｓｅ）し、書込み管理器２１０４から受信された使用者データを書込みバッファに累積する。使用者データの完全なメタページが概ね累積された時、バッファ管理器２０１０は書込みバッファの使用者データの放出のための要請を書込み管理器２０１４から受信する。そして、バッファ管理器２０１０は使用者データを格納装置アクセス管理器２０２０に伝達する。
【０１７６】
読出し動作の間に、バッファ管理器２０１０は格納装置伝送ブロックを読出しバッファに割当及び放出して読出しキャッシュ機能を支援する。格納装置アクセス管理器２０２０から格納装置伝送ブロックとして受信された使用者データのＳＵＥページは最初に読出しバッファに格納される。バッファ管理器２０１０は読出しバッファの使用者データの放出のための要請を読出し管理器２１０２から受信する。バッファ管理器２０１０は格納装置伝送ブロックを読出し管理器２１０２に伝達する。
【０１７７】
システム領域アクセス管理器２０１２は格納システムに含まれる格納装置のシステム領域に格納されたシステムデータへのアクセスに関する要請を処理する。システム領域アクセス管理器２０１２は、ボリュームテーブル及びメタブロック情報テーブルをバックアップし、復元するためにボリューム管理器２２０２及びメタブロック情報管理器２０１６からの要請を各々受信して処理する。システム領域アクセス管理器２０１２は、使用者領域マップテーブルにアクセスするために、マップページ書込み管理器２２０６、マップページ読出し管理器２２０４、及びマップページキャッシュ管理器２２０８からの要請を受信して処理する。
【０１７８】
図２３は、本発明の一実施形態による多重モード格納管理システムによって具現されるメタブロック管理器を示すブロック図である。図２３を参照すると、メタブロック管理器２０１４は返還メタブロック選択器２３０２及びメタブロック状態管理器２３０４を含む。
【０１７９】
返還メタブロック選択器２３０２は、消去回数、古くなったデータのレベル、保存時間等のような使用者領域メタブロックに関するパラメーターをモニタリングする。モニタリングされたパラメーターに基づいて、返還メタブロック選択器２３０２は返還又はガーベッジコレクションのためのメタブロックを選択する。返還メタブロック選択器２３０２は多様なウェアレベリング政策を具現する。例として、返還メタブロック選択器２３０２は、メタブロック消去回数が適当な値の範囲内で維持されるようにし、相対的に動的なデータ（ホット（Ｈｏｔ）データ）と相対的に静的なデータ（コールド（Ｃｏｌｄ）データ）とが互いに別個のメタブロックに分離されるようにする。
【０１８０】
メタブロック状態管理器２３０４は使用者領域メタブロックの現在状態（例えば、活性化される、閉じる、消去中、消去される、返還又はガーベッジコレクション）を追跡する。メタブロック状態管理器２３０４はメタブロック情報テーブルを更新してメタブロックを多様な状態に遷移（Ｔｒａｎｓｉｔｉｏｎ）させる。また、メタブロック状態管理器２３０４は特定の状態にあるメタブロックの多様なリスト（例えば、消去されたメタブロックリスト、返還メタブロックリスト、及び消去中であるメタブロックリスト）を維持する。メタブロック状態管理器２３０４は、返還（ガーベッジコレクション）が準備された個別的なメタブロックを判別するために、消去されたメタブロックリストをモニタリングする。
【０１８１】
メタブロック情報管理器２０１６はメタブロック情報テーブルを維持する。メタブロック情報管理器２０１６は他のモジュールのためにメタブロック情報テーブルにある個体へのアクセスサービスを提供する。メタブロック情報管理器２０１６は、メタブロック情報テーブルをバックアップし、復元するためにシステム領域アクセス管理器２０１２に要請を伝送する。
【０１８２】
図２４は、本発明の一実施形態による多重モード格納管理システムによって具現される格納装置制御管理器を示すブロック図である。図２４を参照すると、格納装置制御管理器２０１８又はソリッドステート装置制御管理器は、格納装置ログ及び統計管理器２４０２、ＳＵＥブロック消去エンジン２４０４、及び格納装置誤謬管理器２４０６を含む。
【０１８３】
格納装置ログ及び統計管理器２４０２は格納装置のアクセス履歴（Ｈｉｓｔｏｒｙ）のログを維持する。
【０１８４】
ＳＵＥブロック消去エンジン２４０４はメタブロック管理器２０１４を通じて返還管理器２１１０から消去要請を受信して消去処理を管理する。ＳＵＥブロック消去エンジン２４０４はＳＵＥブロックの消去要請を格納装置アクセス管理器２０２０に伝送する。
【０１８５】
格納装置誤謬管理器２４０６は部分的なメタブロックデータを取り戻すために返還管理器２１１０に要請を伝送する。
【０１８６】
図２５は、本発明の一実施形態による多重モード格納管理システムによって具現される格納装置アクセス管理器を示すブロック図である。図２５を参照すると、格納装置アクセス管理器２０２０は、論理アクセス管理器２５０２、ＲＡＩＤ管理器２５０４、読出しルックアップ（Ｌｏｏｋｕｐ）エンジン２５０６、及び格納初期化管理器２５０８を含む。
【０１８７】
読出しルックアップエンジン２５０６は、読出し動作のルックアップを提供し、管理する。格納初期化管理器２５０８は格納システムの初期化動作を管理する。
【０１８８】
論理アクセス管理器２５０２又はソリッドステートドライブ論理アクセス管理器は、格納装置のシステム領域のシステムデータに対するアクセスサービスを提供する。論理アクセス管理器２５０２は格納装置のシステム領域でシステムデータを取り扱うために多様な論理ブロックアドレス方式を利用する。論理アクセス管理器２５０２はＮＶＭｅ又はＮＶＭＨＣＩの標準を活用する。論理アクセス管理器２５０２は格納システムに含まれる格納装置又はソリッドステートドライブにアクセスするためのコマンドを取り扱う。
【０１８９】
ＲＡＩＤ管理器２５０４は、使用者データに関して、格納システムに含まれる様々な格納装置のアレイのための格納管理（データ復旧機能を含む）を提供する。従って、格納システムに含まれる個別的な格納装置は使用者データのためのダイレベルのＲＡＩＤ機能を遂行しないことがある。ＲＡＩＤ管理器２５０４は多様な格納管理及びデータ復旧方法を具現する。一実施形態で、ＲＡＩＤ管理器２５０４は本明細書で説明する新しい格納管理及びデータ復旧方法を遂行する。
【０１９０】
ＲＡＩＤ管理器２５０４は格納装置の使用者領域をＳＵＥインターフェイスに提供する。それだけでなく、ＲＡＩＤ管理器２５０４は格納装置のシステム領域を論理インターフェイスに提供する。ＲＡＩＤ管理器２５０４はＲＡＩＤストライプ方式及びパリティー検査のようなデータ保護機能を提供する。例として、一実施形態で、格納装置伝送ブロックはＲＡＩＤ要素として利用され、ＲＡＩＤストライプは１メタページの全てのＳＵＥページに亘って位置する格納装置伝送ブロックを含む。従って、格納システムで所定の格納装置が故障した場合、ＲＡＩＤ管理器２５０４は逆パリティー演算を利用して故障した格納装置からデータを復旧する。
【０１９１】
図２６は、本発明の一実施形態による多重モード格納管理システムによって具現される全域状態管理器を示すブロック図である。図２６を参照すると、全域状態管理器２０２２は、電力中断管理器２６０２、並びに誤謬及び衝突（Ｃｒａｓｈ）管理器２６０４を含む。
【０１９２】
電力中断管理器２６０２は多重モード格納管理システム２００２の電力中断に関するイッシューを管理する。誤謬及び衝突管理器２６０４は多重モード格納管理システム２００２で発生する誤謬及び衝突イッシューを管理する。
【０１９３】
図１８、図１９、及び図２０の多重モード格納管理システム（１８０２、１９０２、２００２）の機能は図１６の格納システム１６０２によって具現される。他の実施形態で、多重モード格納管理システム（１８０２、１９０２、２００２）の機能は普通のコンピューティング装置又は特殊な目的ハードウェアによって具現される。
【０１９４】
上述した多重モードアプローチは情報の効果的且つ効率的な格納を可能にする多様な特徴及び特性を含む。この特徴及び特性は性能に様々な他の様相を向上させる。一実施形態で、上述したパーティション設定アプローチの柔軟性は比較的速い速度及び管理可能な複雑度の実現を可能にする。相対的に多い量の使用者データがＳＵＥアドレス空間に格納され、これは使用者データのための非常に速い格納及び管理動作を可能にする。反面、相対的に少ない量のメタデータが論理アドレス基盤の領域に格納され、これは格納システムが複雑度減少のために活用されるメタデータの抽象化特性を向上させる。
【０１９５】
更に、相対的により少ないメタデータ領域のオーバープロビジョニングを増加させることの柔軟性は、オーバープロビジョニング影響の比率をより大きくし、これはメタデータ格納動作の速度を高め、複雑度の増加に起因して異なって発生する速度減少を補償することに役に立つ。これは、他の格納システムに比べて、オーバープロビジョニング資源のより良い全般的な割当及びより良い影響を可能にする。また、この柔軟性は、異なる格納領域のブロックが２つのパーティションの間で再配定されるか、或いは再割当されることによって、向上したライフサイクル保護を可能にする。あらゆる領域に格納されたデータの特性（例えば、類型）は、その領域で一類型のデータが他の類型のデータより少なく書き込まれ、消去されることを示す（例えば、大部分のメタデータは使用者データに比べて多く変更されない）限り、パーティションの物理ブロックは他のパーティションに再割当されて特定領域の磨耗及び損傷を安定させる。また、この柔軟性はパワーサイクリングの責任をシステムレベルまで移動させることによってパワーサイクリングの向上を可能にする。
【０１９６】
上述した詳細な説明の中で幾つかの部分は、コンピュータメモリ内のデータビットに対する演算の手続、論理ブロック、処理、及び他の象徴的な描写に関する用語を利用して提供した。この説明及び描写は、本発明が属する技術分野で通常の知識を有する者に知識の要旨を効果的に伝達するために、データ処理分野で通常の知識を有する者によって一般的に使用される手段である。本明細書での手続、論理ブロック、又は処理は、所望する結果を取り戻す段階又は命令語の一貫性あるシークェンス（Ｓｅｑｕｅｎｃｅ）であると看做す。この段階は物理的な量（Ｑｕａｎｔｉｔｙ）を物理的に操作する過程を含む。普通、必須的なことではないが、この物理的な量は、コンピュータシステムで格納されるか、伝送されるか、結合されるか、比較されるか、或いは他の異なる方式に取り扱われる電気的信号、磁気的信号、光学的信号、又は量子信号の形態を取る。主に共通の使用のための理由から、この信号は、時々ビット、値、要素、シンボル、文字、用語、数字等に言及することが簡便なことと見える。
【０１９７】
しかし、この用語及び類似な用語の全ては、適切な物理的な態様と関連し、単なる物理的な態様に適用される簡便な標識のみである。以下に論議するように、異なって特定に言及しない限り、この明細書の全般に亘って“処理”、“コンピューティング”、“計算”、“判別”、“表示”等のような用語を活用した説明は、物理的な（例えば、電子的な）量として表現されるデータを操作し、変換するコンピュータシステム又は類似な処理装置（例えば、電気的コンピューティング装置、光学的コンピューティング装置、又は量子コンピューティング装置）の動作及び処理を意味する。この用語はコンピュータシステムの構成要素（例えば、レジスター、メモリ、他の類似な情報格納装置、伝送又は表示装置等）内での物理的な態様を他の構成要素内での物理的な量として同様に表現される他のデータに操作又は変換する処理装置の動作及び処理を意味する。
【０１９８】
≪ＩＶ．分散≫
【０１９９】
本発明の多重モードアプローチは分散アーキテクチャ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）で具現される。分散アーキテクチャは多様な属性（Ａｔｔｒｉｂｕｔｅ）を含む。分散アーキテクチャは単一スレッド（Ｔｈｒｅａｄ）を実行するか或いは単一出口が狭い（Ｂｏｔｔｌｅｎｅｃｋ）ものと限定されずに機器又はシステムの数に従って線形的に拡張可能（Ｌｉｎｅａｒｌｙ  Ｓｃａｌａｂｌｅ）である。多重モード格納管理システムが様々な格納ノード（Ｓｔｏｒａｇｅ  Ｎｏｄｅ）に亘ってＳＵＥアドレスブロックレベルで動作し続けるため、分散アーキテクチャは非分散（Ｎｏｎ−ｄｉｓｔｒｉｂｕｔｅｄ）アーキテクチャに比べて低下（Ｄｅｇｒａｄａｔｉｏｎ）が概ね無いか又は低下が全く無しで具現される。
【０２００】
図２７は、本発明の一実施形態によるネットワーク２７０５に連結される機器２７０１を示すブロック図である。ネットワーク２７０５が他の装置又は機器（図示せず）に連結される。
【０２０１】
一具現例で、機器２７０１はシステム６００と類似する。機器又はシステム２７０１は多重モード格納管理システム２７１０及び格納装置（２７２０、２７３０、２７４０、２７５０）を含む。
【０２０２】
多重モード格納管理システム２７１０は、プロセッサ２７１３、メモリ（２７１４、２７１５、２７１７、２７１８）、バス２７１９、及びポート（２７１１、２７１２）を含む。例えば、バス２７１９はＰＣＩバスであり、ポート（２７１１、２７１２）はデュアル２５Ｇイーサーネット（Ｄｕａｌ  ２５Ｇ  Ｅｔｈｅｒｎｅｔ（登録商標））ポートである。プロセッサ２７１３は４又は６コアＩｎｔｅｌ  Ｘｅｏｎ（登録商標）であり、メモリ（２７１４、２７１５、２７１７、２７１８）は６４ＧＢのＲＡＭである。一実施形態で、ＰＣＩｅブリッジチップ（Ｂｒｉｄｇｅ  Ｃｈｉｐ）を必要としない（これはＰＣＩｅブリッジチップを利用するアプローチに比べて減少した費用及び電力消耗を可能にする）。
【０２０３】
格納装置（２７２０、２７３０、２７４０、２７５０）は、多重モードソリッドステートドライブであり、分散システムの多様な特性を有する（例えば、４つの装置又は多重モードソリッドステートドライブは、２００Ｗの電力エンベロープ（Ｐｏｗｅｒ  Ｅｎｖｅｌｏｐ）で動作し、費用に対してオーバープロビジョニングのレバレッジング（Ｌｅｖｅｒａｇｉｎｇ）があり、単一ＰＣＩｅアダプター上に固有のハードウェアがある）。一具現例で、ＰＣＩｅブリッジチップが除去されて費用及び電力消耗が減少する。
【０２０４】
図２８は、本発明の一実施形態による分散システム２８００を示すブロック図である。分散システム２８００はネットワーク２８９０及び機器（２８１０、２８２０、２８３０、２８４０、２８５０、２８６０、２８７０、２８８０）を含む。機器（２８１０、２８２０、２８３０、２８４０、２８５０、２８６０、２８７０、２８８０）の各々は多重モード格納管理システム及び様々な格納装置（２８９１、２８９２、２８９３、２８９４）を含む。一具現例で、機器（２８１０、２８２０、２８３０、２８４０、２８５０、２８６０、２８７０、２８８０）の各々は機器２７０１と類似する。
【０２０５】
図２９は、本発明の一実施形態による分散システム２９００を示すブロック図である。分散システム２９００は全域ネームスペース２９２０を含む様々な格納ノード（Ｓｔｏｒａｇｅ  Ｎｏｄｅ）（２９１１、２９１２、２９１３、２９１４）を含む。様々な格納ノード（２９１１、２９１２、２９１３、２９１４）は、（複数の多重モード格納管理システム間でメッセージを通信するための通信メカニズムとしての）外部連結メカニズム（Ｅｘｔｅｒｎａｌ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｍｅｃｈａｎｉｓｍ）２９３０に連結され、これは結果的にＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）クライアント２９４１、ＩＳＣＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）構成要素２９４２、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）構成要素２９４３、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）構成要素２９４４、及びウェブ（Ｗｅｂ）構成要素２９４５を含む複数の外部構成要素に連結される。様々な格納ノード（２９１１、２９１２、２９１３、２９１４）はノードからノードへの（Ｎｏｄｅ−ｔｏ−ｎｏｄｅ）連結メカニズム２９５０にも連結される。様々な格納ノード（２９１１、２９１２、２９１３、２９１４）は、ＦＴＰクライアント２９４１、ＩＳＣＩ構成要素２９４２、ＮＦＳ構成要素２９４３、ＣＩＦＳ構成要素２９４４、及びウェブ構成要素２９４５を含む複数の外部構成要素に関連する情報を格納する。
【０２０６】
単一機器又はシステムに対して上述したＳＵＥアプローチが様々な分散機器又はシステムを利用する活用に対して拡張される。論理アドレス基盤のブロックはＳＵＥアドレスを有するブロック又は単位に関連する。ＳＵＥアドレスを有する単位は、圧縮されヘッダーに関連し、その後、格納装置伝送ブロックに整列される。このような関連は図１５に示したものと類似する。
【０２０７】
但し、分散アプローチで、分散ＳＵＥメタブロックは複数の物理ブロックに関連する情報を含む。ここで、複数の物理ブロックの中の１つより多くない物理ブロックが単一格納装置に位置し、複数の物理ブロックの中の第１物理ブロックが第１機器又はノードに関連する格納装置に位置し、複数の物理ブロックの中の第２物理ブロックが第２機器又はノードに関連する格納装置に位置する。一具現例で、分散ＳＵＥメタブロックはソリッドステートドライブ当たり１つの物理フラッシュブロックに格納される情報を含み、この情報の格納は全てのドライブ及び全てのノードに亘って行われる。
【０２０８】
一般動作の間に、必要に応じて、主要ブロック所有者（Ｐｒｉｍａｒｙ  Ｂｌｏｃｋ  Ｏｗｎｅｒ）が存在し、冗長ブロック所有者（Ｒｅｄｕｎｄａｎｔ  Ｂｌｏｃｋ  Ｏｗｎｅｒ）が多く存在する。主要ブロック所有者及び冗長ブロック所有者の概念は様々な設計原理で利用される。主要ブロック所有者は所定のＳＵＥメタブロックのライフサイクル及びフリー空間の管理に責任を負う（Ｒｅｓｐｏｎｓｉｂｌｅ）ノードである。冗長ブロック所有者は所定のＳＵＥメタブロックに対するフリー空間管理情報の冗長コピーに責任を負うノードである。冗長ブロック所有者は、以前の主要ブロック所有者のノード障害（Ｎｏｄｅ  Ｆａｉｌｕｒｅ）の時に、新しい主要ブロック所有者に昇給されるか又は変更される。主要マップ所有者（Ｐｒｉｍａｒｙ  Ｍａｐ  Ｏｗｎｅｒ）は所定の論理アドレスに対するマッピング情報の所有者である。二次マップ所有者（Ｓｅｃｏｎｄａｒｙ  Ｍａｐ  Ｏｗｎｅｒ）は冗長マッピング情報の所有者である。
【０２０９】
図３０は、本発明の一実施形態によるブロックライフサイクルを示すャートである。
【０２１０】
ブロック３０１０は入力されたホストデータが記録される複数のブロックの中の１つであるホット（Ｈｏｔ）ブロックである。ブロック３０２０はホストデータが属するシステムで非活性化された複数の一般（Ｎｏｒｍａｌ）ブロックの中の１つである。一具現例で、大部分のホストデータは一般ブロックに属し、一般ブロックはシステムにおける大部分のブロックを構成する。
【０２１１】
ブロック３０３０は（例えば、ガーベッジコレクションの一部分として）返還されるブロック選択メカニズムによって選択された複数の整列されたリストのブロックの中の１つである。このブロックは最も多い量のフリー空間を有する点に基づいて選択される。ブロック３０４０は有効データを選択されたブロックからコールド（Ｃｏｌｄ）ブロックに移動させる過程に関連する返還ブロックである。コールドブロック３０８０は返還ブロックからの有効データが記録される複数のブロックの中の１つである。消去されたブロック３０５０は有効データがコールドブロック３０８０に伝送された後に消去される複数のブロックの整列されたリストにあるブロックである。
【０２１２】
一実施形態で、所定の開放（Ｏｐｅｎ）ブロックのための空間割当が単一機器又はシステム上の単一スレッドによって遂行される。一具現例で、単一ブロックに対して、ノード当たりホットブロックに指定される１つのブロック及びノード当たりコールドブロックに指定される１つのブロックが存在する。主要ブロック所有者は割当をブロック使用者に委ねられ、所定のブロックに対する割当者はブロック使用者である。割当自体は単一スレッドとして取り扱われ、メッセージの取扱いは並列化される。主要ブロック所有者に障害がある場合、ブロックは閉鎖（Ｃｌｏｓｅ）されたものとして取り扱われ、返還（例えば、ガーベッジコレクション）が遂行される時までそのブロックに対する書込みはそれ以上発生しない。
【０２１３】
一実施形態で、主要ブロック所有者（ブロックライフサイクル及びフリー空間情報を管理するブロックの所有者）の概念は空間割当者と分離される。従って、メタブロックがより小さくより多くなる。メタブロックは依然として様々なドライブ及び機器又はノードに亘って存在し、それは更に小さいチャンク（Ｃｈｕｎｋ）に分けられる。一具現例で、２Ｋ個のブロックの代わりに（２Ｋ×Ｎ’）個のブロックが存在する（ここで、Ｎ’は２の累乗に最も近くなるようにＮを切り上げ（Ｒｏｕｎｄ−ｕｐ）たものか又は１＜＜ｌｏｇ２（Ｎ−１）＋１である）。ノードはその“固有”のホットブロック及びコールドブロックからの割当を遂行する。データ自体は依然として様々なノードに亘って分散される。パリティーデータはノード自体に記録される。冗長水準が１より大きい場合、別個のノードに関して追加の冗長演算が遂行される。
【０２１４】
図３１は、本発明の一実施形態による分散システムメタブロックを示すブロック図である。分散ＳＵＥメタブロックは４つのノードのシステムで具現され、元のＳＵＥメタブロックの定義は分散ＳＵＥメタブロックを形成する４つの新しいブロックに更に分けられる。
【０２１５】
例として、４つのノード（３１１０、３１２０、３１３０、３１４０）がある。ノード３１１０はソリッドステートドライブ（３１１１、３１１２、３１１３、３１１４）を含む。ノード３１２０はソリッドステートドライブ（３１２１、３１２２、３１２３、３１２４）を含む。ノード３１３０はソリッドステートドライブ（３１３１、３１３２、３１３３、３１３４）を含む。ノード３１４０はソリッドステートドライブ（３１４１、３１４２、３１４３、３１４４）を含む。元のＳＵＥメタブロック３１５１は分散ＳＵＥメタブロックを形成する４つの新しいブロック（３１５２、３１５３、３１５４、３１５５）に更に分けられる。ノードが追加されるか又は除去されて２の累乗個数が交差する場合、新しく生成されるブロックは新たな大きさを採用する。ブロック選択は百分比に基づく。
【０２１６】
マッピングデータは様々な機器又はシステムに亘って重複して論理的に分散される。各機器又はシステムはマッピングデータの幾つかの一部分を重複して管理する。機器又はシステムはマッピングデータの主要所有者及び冗長所有者を算出する。マッピングデータの主要所有者及び冗長所有者を算出するためにハッシュ（Ｈａｓｈ）が利用される。読み出すために、この機器又はシステムはマッピング情報を要請する。書き込むために、この機器又はシステムはマッピングの更新をジャーナリング（Ｊｏｕｒｎａｌｉｎｇ）し、結果的にマッピングデータを記録する。
【０２１７】
多重モードアプローチは多様なＲＡＩＤバーションで具現される。ＲＡＩＤ演算はデータの保護のためにＲＳ消去コーディング（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  Ｅｒａｓｕｒｅ  Ｃｏｄｉｎｇ）を利用する。ＲＳエンコーディング演算はブロック所有者によって遂行される。一具現例で、障害のフォールバック（ｆａｉｌｕｒｅ  ｆａｌｌｂａｃｋ）が（主要機器の損失やシステムデータの損失をもたらさないように）利用される。１つ以上のシンボルが修正される場合、冗長演算が利用される（例えば、ＲＡＩＤ６）。
【０２１８】
一実施形態で、障害があるユニットは単一格納ノードであると看做され、その単一格納ノードの障害は機器又はシステムをダウン（ｄｏｗｎ）させない。また、分散アーキテクチャは爆発半径（Ｂｌａｓｔ  Ｒａｄｉｕｓ）イッシューに対処する。爆発半径は（例えば、データセンター、施設、ネットワーク等で）どのように多い機器又はシステムが単一要素の障害によって影響を受けるかのイッシューに関連する。データセンターにおける爆発半径は産業高可用性（Ｅｎｔｅｒｐｒｉｓｅ  Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）の問題と同様に考慮される。複製（Ｒｅｐｌｉｃａｔｉｏｎ）及び他の技法を通じて障害を取り扱うことが可能であるが、要素間における影響（Ｉｍｐａｃｔ）の概念は可用性イッシューに対して依然として重要である。分散機器又はシステムのアプローチで、作業負荷（Ｗｏｒｋｌｏａｄ）はＮ個の機器又はシステムに亘って共有され、これはＭ個の障害に対して（Ｎ−Ｍ）個の収容力（Ｃａｐａｃｉｔｙ）を付与する。あまりにも個別化（Ｃｕｓｔｏｍｉｚｅ）されたハードウェア上では、通常的に冗長性は下位レベルの代わりに上位階層又は構造レベルで考慮される。
【０２１９】
分散機器又はシステムアプローチで、フリー空間の管理は非分散アプローチでより複雑になる。一実施形態で、フリー空間に関する記録（Ａｃｃｏｕｎｔｉｎｇ）はＳＵＥアドレスブロックレベルで発生する。物理ブロックは機器又はシステム間で割当られる。各機器又はシステムはＦ個のブロックに対するフリー空間を追跡する。一実施形態で、フリー空間の追跡又は記録は関係（Ｒｅｌａｔｉｏｎｓｈｉｐ）によって表現される。機器又はシステム当たりのＦ個のフリー空間ブロックはＮ個の物理ブロックとＭ個の冗長ブロックを掛け算したものをＰ個の機器又はシステムで割ったものに等しい。特定の構成において、所定のブロックに対するフリー空間を追跡する機器又はシステムのより正確な数がストレージアレイにある何らかの機器又はシステムによって算出される。
【０２２０】
また、分散機器又はシステムアプローチは多様な返還活動（例えば、ガーベッジコレクション）を支援する。返還は、主要ブロック所有者によって開始されるが、ブロック使用者によって管理される。返還は所定のブロック使用者のためにブロックがコールド帯域（Ｃｏｌｄ  Ｂａｎｄ）に割当られた後に開始される。
【０２２１】
ブロック使用者は分散ブロック選択をトリガー（Ｔｒｉｇｇｅｒ）する。ブロックは多様な基準（Ｃｒｉｔｅｒｉａ）（例えば、有効空間、無効空間等）に基づいてブロック選択点数（Ｂｌｏｃｋ  Ｐｉｃｋｉｎｇ  Ｓｃｏｒｅ）が割当られる。各機器又はシステムはその範囲内にあるブロック（即ち、それがフリー空間を追跡するブロック対するブロック）に対するブロック選択点数を算出する。ブロックはブロック選択点数に基づいて選択され、選択されたブロックの表示（Ｉｎｄｉｃａｔｉｏｎ）が主要ブロック所有者に返還（Ｒｅｔｕｒｎ）されて、主要ブロック所有者が返還のための他の全般的なブロックを選択する。一例で、最もよいブロック選択点数を有するブロックが主要ブロック所有者に返還され、返還又はガーベッジコレクションのために全般的な最もよいブロックが選択される。選択されたブロックの表示は機器又はシステムに送信されて機器又はシステムがそれらのスーパーブロック（Ｓｕｐｅｒｂｌｏｃｋ）の物理破片に対して返還を開始する（非分散多重モード格納管理システムと類似する）。各機器又はシステムは、物理的な検査（Ｐｈｙｓｉｃａｌ  Ｓｃａｎ）及び有効の可否を判別するためのルックアップ（Ｌｏｏｋｕｐ）を遂行し、主要ブロック所有者に割当要請を送り、適切なノードにデータを送り、適切なノードにマッピング更新を送る。各機器又はシステムはホストと返還データとの間で自ら調節（Ｔｈｒｏｔｔｌｅ）する。
【０２２２】
一実施形態で、２つの選択されたブロックが存在する。１つのブロックは返還過程中であり、１つのブロックは返還過程のための準備をする。各ノードは、返還のための選択されたブロックを順次化（Ｓｅｑｕｅｎｔｉａｌｉｚｅ）するが、その固有のコールドブロックに空間を割当る。要請及び応答の全てでデータを順次的に維持させるために利用する最適化が存在する。データ劣化（Ａｇｉｎｇ）、ボリューム／論理分類（Ｇｒｏｕｐｉｎｇ）、スナップショット（Ｓｎａｐｓｈｏｔ）分類等のように、可能な他のフィルターが存在する。
【０２２３】
書込み過程で、書込みコマンドが所定の機器又はシステムに到達する。その機器又はシステムは書込み過程の全体の流れを通じてそのコマンドに対するオーケストレーター（Ｏｒｃｈｅｓｔｒａｔｏｒ）になる。一致するハッシング（Ｃｏｎｓｉｓｔｅｎｔ  Ｈａｓｈｉｎｇ）を利用して、所定のデータのための正しいノードが識別される。一具現例で、ハッシングの解（Ｓｏｌｕｔｉｏｎ）はオブジェクト（Ｏｂｊｅｃｔ）の追加又は除去のために単なる（１／ｎ）個のキー（Ｋｅｙ）のみが移動する向上した属性を有する（ｎはハッシュテーブルのスロットの数）。
【０２２４】
図３２は、本発明の一実施形態によるノードの追加及び除去に活用される一致するハッシュを説明するための概念図である。物理的なフリー空間に関する記録は一致するハッシングを通じて任意の他のシステム上の冗長コピーと共に様々な機器又はシステムに亘って均一に分散される。論理アドレス空間のマッピングは一致するハッシングを通じて任意の他のシステム上の冗長コピーと共に様々な機器又はシステムに亘って均一に分散される。
【０２２５】
図３３は、本発明の一実施形態による書込み過程を示すフローチャートである。Ｓ３３１０段階で、書込み指示が受信される。書込み指示はホストから送信されて機器はデータを圧縮する。Ｓ３３２０段階で、書込み割当処理が遂行される。Ｓ３３３０段階で、書込みデータ伝送処理が遂行される。Ｓ３３４０段階で、書込みマッピング更新処理が遂行される。Ｓ３３５０段階で、書込みフリー空間の記録処理が遂行される。Ｓ３３７０段階で、書込み完了処理が遂行される。
【０２２６】
図３４は、本発明の一実施形態による書込み割当処理を示すフローチャートである。Ｓ３４１０段階で、第１機器が開放ホットブロックへの割当を要請する。Ｓ３４２０段階で、第２機器が割当処理を遂行する。Ｓ３４３０段階で、第１機器は第２機器から割当情報を受信する。
【０２２７】
図３５は、本発明の一実施形態による書込み割当処理動作を具現する分散システムの一具現例を示すブロック図である。
【０２２８】
分散システム３５００はネットワーク３５９０及び分散アレイ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｒｒａｙ）３５９９を含む。分散アレイ３５９９は機器（３５１０、３５２０、３５３０、３５４０、３５５０、３５６０、３５７０、３５８０）を含む。機器（３５１０、３５２０、３５３０、３５４０、３５５０、３５６０、３５７０、３５８０）の各々は多重モード格納管理システム及び様々な格納装置（３５９１、３５９２、３５９３、３５９４）を含む。一具現例で、機器（３５１０、３５２０、３５３０、３５４０、３５５０、３５６０、３５７０、３５８０）の各々は機器２７０１と類似する。
【０２２９】
１番目の動作で、ホストは１００ＫＢのデータを機器３５１０に記録する。２番目の動作で、機器３５１０はそのデータを６０ＫＢに圧縮する。３番目の動作で、機器３５１０はホットブロックへの割当を要請する。４番目の動作で、機器３５３０は割当を遂行する。５番目の動作で、機器３５３０は機器３５１０に割当応答を送り返す。６番目の動作で、機器３５１０は割当応答を受信する。
【０２３０】
図３６は、本発明の一実施形態による書込みデータ伝送処理を示すフローチャートである。Ｓ３６１０段階で、割当られた機器にデータが伝送される。Ｓ３６２０段階で、割当られた機器はそのデータを記録する。Ｓ３６３０段階で、そのデータがパリティー算出のために伝送される。
【０２３１】
図３７は、本発明の一実施形態による書込みデータ伝送処理動作を具現する分散システムの一具現例を示すブロック図である。７番目の動作で、機器３５１０は割当られた機器にデータを伝送する。８番目の動作で、機器（３５２０、３５３０、３５４０）はそのデータを記録する。９番目の動作で、機器３５１０はパリティー算出のためにそのデータを機器３５７０に伝送する。１０番目の動作で、機器３５７０はパリティー情報を記録する。
【０２３２】
図３８は、本発明の一実施形態による書込みマッピング更新処理を示すフローチャートである。Ｓ３８１０段階で、マッピング更新が主要所有者及び冗長所有者に送られる。Ｓ３８２０段階で、主要所有者及び冗長所有者はマッピング更新をジャーナリングしてそのマッピングを後に記録する。Ｓ３８３０段階で、主要所有者及び冗長所有者は応答を伝送する。Ｓ３８４０段階で、応答が累積される。
【０２３３】
図３９は、本発明の一実施形態による書込みマッピング更新処理動作を具現するシステムの一具現例を示すブロック図である。図３９の１１番目の動作で、機器３５１０は主要所有者及び冗長所有者にマッピング更新を送る。１２番目の動作で、機器（３５４０、３５６０、３５７０）はマッピング更新を記録する。１３番目の動作で、機器（３５４０、３５６０、３５７０）は応答を伝送する。１４番目の動作で、機器３５１０は応答を累積する。
【０２３４】
図４０は、本発明の一実施形態による書込みフリー空間の記録処理を示すフローチャートである。Ｓ４０１０段階で、フリー空間更新が送られる。Ｓ４０２０段階で、機器はフリー空間を更新する。Ｓ４０３０段階で、機器は応答を伝送する。Ｓ４０４０段階で、応答が累積される。
【０２３５】
図４１は、本発明の一実施形態による書込みフリー空間の記録処理動作を具現するシステムの一具現例を示すブロック図である。１５番目の動作で、機器３５１０はフリー空間の更新を送る。１６番目の動作で、機器（３５２０、３５６０、３５７０）はフリー空間を更新する。１７番目の動作で、機器（３５２０、３５６０、３５７０）は応答を伝送する。１８番目の動作で、機器３５１０は応答を累積する。
【０２３６】
図４２は、本発明の一実施形態による書込み完了処理を示すフローチャートである。Ｓ４２１０段階で、データを記録した機器はデータが安全に記録されたことを示す指示を伝送する。Ｓ４２２０段階で、応答が累積される。Ｓ４２３０段階で、機器はパリティーが安全に記録されたことを示す指示を伝送する。Ｓ４２４０段階で、コマンド完了指示が伝達される。
【０２３７】
図４３は、本発明の一実施形態による書込み完了処理動作を具現するシステムの一具現例を示すブロック図である。１９番目の動作で、データを記録した機器（３５２０、３５３０、３５４０）は書込みデータが安全に格納されたという指示を伝達する。２０番目の動作で、機器３５１０は応答を累積する。２１番目の動作で、機器３５１０はパリティーを格納した機器３５７０からパリティーが安全に格納されたという指示を受信する。２２番目の動作で、コマンド完了指示がネットワーク３５９０を通じて他の格納ノード、他の機器、又は所定の外部システムに伝達される。
【０２３８】
図４４は、本発明の一実施形態による返還初期化処理を示すチャートである。ブロックが返還のための準備がなされることによって、そのブロックはフリーブロックリストに送られる。どれ位多くのホットブロック及びコールドブロックが現在活性化されているか及びフリーブロックリストにあるブロックの数に依存して、消去キュー（Ｅｒａｓｅ  Ｑｕｅｕｅ）の前の部分の主要ブロック所有者は自らをホットブロック又はコールドブロックに変更する。ブロックがコールドブロックになると、そのブロックは返還処理を遂行する。
【０２３９】
図４５は、本発明の一実施形態による返還処理を示すフローチャートである。Ｓ４５１０段階で、ブロックがコールドブロックに変更されて必要な場合にブロック選択が要請される。Ｓ４５２０段階で、返還のための潜在的なブロックのブロック選択が遂行されてその結果が伝達される。Ｓ４５３０段階で、ブロック選択が遂行される。Ｓ４５４０段階で、選択されたブロックが伝達される。Ｓ４５５０段階で、返還が開始されてマッピングルックアップが発行される。Ｓ４５６０段階で、マッピング応答が処理される。Ｓ４５７０段階で、返還書込み処理が遂行される。
【０２４０】
図４６〜図５１は、本発明の一実施形態による返還の具現例を示すブロック図である。物理的なフリー空間に関する記録はハッシングを通じて任意の他のシステム上の冗長コピーと共にシステムに亘って均一に分散される。マッピングに関して、論理アドレス空間はハッシングを通じて任意の他のシステム上の冗長コピーと共にシステムに亘って均一に分散される。一例で、ブロック３５２０が、フリーブロックリストの次にあり、コールドブロックになることを決定する。
【０２４１】
図４６は、５１番目の動作で、ブロックがコールドブロックになり、必要である場合にブロック選択を要請する機器３５２０からの伝達を示すブロック図である。返還が既に処理中にあると見える場合、選択されたブロックが既にキューに存在するため、コールドブロックへの変更に起因する割当要請が非常に速く開始される。
【０２４２】
図４７は、５２番目の動作でブロック選択を遂行し、その結果を機器３５２０に送り返す他の機器を示すブロック図である。返還が実行されずにブロック選択が必要な場合、（要請したシステム又は機器を含む）システム又は機器はブロック選択を遂行する。５３番目の動作で、機器３５２０はブロックを選択する。
【０２４３】
図４８は、５４番目の動作で、機器３５２０が選択されたブロックを伝達する例を示すブロック図である。
【０２４４】
図４９は、データが有効であるか否かを判別するために、ヘッダーに基づいて、５５番目の動作で機器３５１０にマッピングルックアップを発行する機器３５４０を示すブロック図である。様々な機器が返還を遂行する。機器３５４０は単純化されて示されている。機器３５４０は（第１番目のヘッダーを判別するために、隠されたヘッダー（例えば、図１５のヘッダー１５１１）を利用して）選択されたブロックの開始部分でマッピングルックアップの発行を開始する。
【０２４５】
図５０は、機器３５４０が機器３５１０からのマッピング応答を処理する５７番目の動作を示すブロック図である。データが有効でない場合、処理は有効なこととして推定される次のヘッダーに移動する。データが機器３５５０に移動する。データが有効である場合、データの第２番目の部分が機器３５５０からフェッチ（Ｆｅｔｃｈ）される（図示せず）。
【０２４６】
図５１は、返還書込み処理を示すブロック図である。返還書込み処理のための動作はホスト書込み動作と類似する。但し、返還書込み処理で、元の位置情報は古い更新が廃棄されるようにするマッピング更新の一部分として伝送されるという差異がある。７１番目の動作で、機器３５２０は割当を遂行する。７２番目の動作で、機器３５４０はコールドブロックへの割当を要請する。７３番目の動作で、機器３５２０は割当応答を伝送する。７４番目の動作で、機器３５４０は割当情報を受信する。
【０２４７】
上述した多重モードアプローチは情報の効果的且つ効率的な格納を可能にする多様な特徴及び特性を含む。この特徴及び特性は性能に様々な他の様相を向上させる。一実施形態で、上述したパーティション設定アプローチの柔軟性は比較的速い速度及び管理可能な複雑度の実現を可能にする。相対的に多い量の使用者データがＳＵＥアドレス空間に格納され、これは使用者データのための非常に速い格納及び管理動作を可能にする。反面、相対的に少ない量のメタデータが論理アドレス基盤の領域に格納され、これは格納システムが複雑度減少のために活用されるメタデータの抽象化特性を向上させる。
【０２４８】
更に、相対的に更に少ないメタデータ領域のオーバープロビジョニングを増加させることの柔軟性はオーバープロビジョニング影響の比率をより大きくし、これはメタデータ格納動作の速度を高め、複雑度の増加に起因して異なって発生する速度減少を補償することに役に立つ。これは、他の格納システムに比べて、オーバープロビジョニング資源のより良い全般的な割当及びより良い影響を可能にする。また、この柔軟性は異なる格納領域のブロックが２つのパーティションの間で再配定されるか又は再割当されることによって、向上したライフサイクル保護を可能にする。あらゆる領域に格納されたデータの特性がその領域で一類型のデータが他の類型のデータより少なく書き込まれ消去されることを示す（例えば、大部分のメタデータは使用者データに比べて多く変更されない）限り、パーティションの物理ブロックは他のパーティションに再割当されて特定領域の磨耗及び損傷を安定させる。また、この柔軟性は、パワーサイクリングの責任をシステムレベルまで移動させることによって、パワーサイクリングの向上を可能にする。
【０２４９】
一実施形態で、多重モードＳＵＥ格納装置又はアプローチは複数のＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置（例えば、ストレージ１００、３００、４００、６００、７００）を含む分散又は共有格納システム（例えば、ＮＡＳシステム又はクラスター（Ｃｌｕｓｔｅｒ））に含まれる。多重モードＳＵＥＮＡＳ装置はネットワークで他の装置（例えば、クライアント、サーバー等）のためにデータ格納サービスを提供する。格納サービスは、通常“ビックデータ（Ｂｉｇ  Ｄａｔａ）”と称される非常に大きなデータ集合のための格納、管理、及び維持補修を含む。一具現例で、多重モードＳＵＥＮＡＳ装置は通常トランザクション（Ｔｒａｎｓａｃｔｉｏｎ）データのデータベースを格納して維持するＯＬＴＰ（Ｏｎｌｉｎｅ  Ｔｒａｎｓａｃｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ）システムに含まれるか又はＯＬＴＰシステムの一部分である。ＤＢＭＳ（Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）又は分散ＤＢＭＳはＯＬＴＰでコンピュータシステム又は格納装置のクラスターに亘ってデータベースを分割する。
【０２５０】
異なる類型のデータ及び／又は格納管理動作をシステム（例えば、インターネット、ネットワーク上の“クラウド（Ｃｌｏｕｄ）”、データセンター、ネットワーク等）の異なる部分に柔軟に再配列するか又は移動させる点は、多様であり、より優れた能力を可能にする。多重モードＳＵＥ格納アプローチは異なる類型のデータ及びアドレスへのアクセスを分離することに関与する応用法の活用を可能にする。一実施形態で、“使用者データ”のように大きいと看做される類型の情報はシステム（例えば、クラウド、データセンター、ネットワーク等）の一部分に格納される反面、“メタデータ”のように小さいと看做される他の類型のデータはシステム（例えば、クラウド、データセンター、ネットワーク等）の他の部分で処理される。例として、以前には、使用者データ及びメタデータが分離されないか、或いは異なるようにアクセスされなかった。
【０２５１】
多重モードＳＵＥシステムを利用することで、頻繁にアクセスされる“ビックデータ”は、このような類型の情報を格納することにより適合するか（例えば、物理アドレス基盤の）、或いはこのような情報を処理することにより良い処理能力を備えた（従って、レイテンシ、及びネットワーク通信上の影響を減少する）格納領域によって処理される。“スモールデータ”又はメタデータは減少した複雑度に従って論理的にアクセスされるより小さい格納領域に格納される。
【０２５２】
上述した詳細な説明の中の幾つかの部分を、コンピュータメモリ内のデータビットに対する演算の手続、論理ブロック、処理、及び他の象徴的な描写に関する用語を利用して提供した。この説明及び描写は、本発明が属する技術分野で通常の知識を有する者に知識の要旨を効果的に伝達するために、データ処理分野で通常の知識を有する者によって一般的に使用される手段である。この明細書における手続、論理ブロック、又は処理は、所望する結果を取り戻す段階又は命令語の一貫性あるシークェンスであるものと看做す。この段階は物理的な量を物理的に操作する過程を含む。通常、必須的なことではないが、この物理的な量は、コンピュータシステムで格納されるか、伝送されるか、結合されるか、比較されるか、或いは他の異なる方式に取り扱われる電気的信号、磁気的信号、光学的信号、又は量子信号の形態を取る。主に共通の使用のための理由から、この信号は、時々ビット、値、要素、シンボル、文字、用語、数字等に言及されることが簡便なことに見える。
【０２５３】
しかし、この用語及び類似な用語の全ては、適切な物理的な態様に関連し、単なる物理的な態様に適用される簡便な標識のみである。以下の論議からわかるように、異なって特定に言及しない限り、本明細書の全般に亘って“処理”、“コンピューティング”、“計算”、“判別”、“表示”等のような用語を活用した説明は、物理的な（例えば、電子的な）量として表現されるデータを操作し、変換するコンピュータシステム又は類似の処理装置（例えば、電気的コンピューティング装置、光学的コンピューティング装置、又は量子コンピューティング装置）の動作及び処理を意味する。この用語はコンピュータシステムの構成要素（例えば、レジスター、メモリ、他の類似の情報格納装置、伝送又は表示装置等）内における物理的な態様を他の構成要素内における物理的な量として同様に表現される他のデータに操作又は変換する処理装置の動作及び処理を意味する。
【０２５４】
各々の概念図に示した構成は単なる概念的な観点で理解される。本発明の理解を助けるために、概念図に示した構成要素の各々の形態、構造、大きさ等は誇張又は縮小されて表現した。実際に具現される構成は各々の概念図に示したものと他の物理的形状を有する。各々の概念図は構成要素の物理的形状を制限するためのものではない。
【０２５５】
各々のブロック図に示した装置構成は発明の理解を助けるためのものである。各々のブロックは機能によってより小さい単位のブロックで形成される。或いは、複数のブロックは機能によってより大きい単位のブロックを形成する。即ち、本発明の技術思想はブロック図に示した構成によって限定されない。
【０２５６】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【０２５７】
１００、２７２０、２７３０、２７４０、２７５０、２８９１、２８９２、２８９３、２８９４、３５９１、３５９２、３５９３、３５９４    格納装置
１０１    選別潜在露出（ＳＵＥ）格納パーティション
１０２、３８１、４２１、５０１、７８２、９２４    選別潜在露出（ＳＵＥ）インターフェイス
１０３、２３３、２４３、３７３、３８３    潜在格納領域
２２０、３５０    多重モード格納装置
２３０、３７０    第１パーティション
２３１、３７１    第１類型のインターフェイス
２４０、３８０    第２パーティション
２４１    第２類型のインターフェイス
３７２    第１パーティション関連活動
４００、６２０、６３０、６４０、６５０、７５０、９２０    多重モードソリッドステートドライブ
４１０、７７０    論理アドレス空間パーティション
４１１、７７２、９１１、９２１    論理インターフェイス
４１２、４２３    潜在物理アドレス空間
４１３、７７３、９１２、９２２    フラッシュ変換ロジック（ＦＴＬ）
４２０、７８０    選別潜在露出（ＳＵＥ）アドレス空間パーティション
４７０、４７１、４７２、４７３、４７４、５１１、５１２、５１３、５１４、５２１、５２２、５２３、５２４、５３１、５３２、５３３、５３４、５４１、５４２、５４３、５４４    ダイ
４７１、４７２、４７３、４７４、４７９    潜在物理アドレスブロック
５０２、７７７、７８７、９２５、９３２    物理アドレス空間
５０３、７９８    選別潜在露出（ＳＵＥ）アドレスブロック
５０５、５０７、５０８    情報
５１５、５１７、５１９、５２８、５３９    物理アドレス基盤のブロック
６００、７００    システム
６１０、７２０、１８０２、１９０２、２００２、２７１０    多重モード格納管理システム
６１１、６２１、６３１、６４１、６５１、７４５、７７５    コントローラ
６７１、６７２、６７３    ボリューム
７１０    機器
７３０    メタデータ
７４０、１５０２    使用者データ
７４１    使用者データのためのフラッシュ管理システム（ＦＭＳ）
７４２    選別潜在露出（ＳＵＥ）マッパー
７７１    メタデータのためのフラッシュ管理システム（ＦＭＳ）
７９１、７９２、７９７    論理アドレスブロック
７９３、７９９    物理アドレスブロック
９１０    論理アドレス基盤のソリッドステートドライブ
９１３、９２３    論理アドレス空間
９３０    物理アドレス基盤のソリッドステートドライブ
９３１    物理インターフェイス
１０１０、１１１０、１４１１、１４１２、１４１３、１４１４、１４１５    ＳＵＥブロック
１０１２、１０１４、１０１６、１０１８    物理ブロック
１０２１、１０２２、１０２３、１０２４、１０３２、１０３４、１０３６、１０３８    物理ページ
１０３０、１１２１、１１２２、１１２３、１１２４、１２１１、１２１２、１２１３、１２１４、１２１５、１５９１、１５９２、１５９３、１５９４    ＳＵＥページ
１２１０、１３１１、１３１２、１３１３、１３１４    メタページ
１３１０、１４１０    メタブロック
１５００    選別潜在露出（ＳＵＥ）マッピングスキーム
１５０３、１５０４、１５０５    ＳＵＥアドレスを有する単位
１５０７、１５０８、１５０９    ＳＵＥアドレスを有する圧縮された単位
１５１１、１５１２、１５１３    ヘッダーセクション
１５１５、１５１７    ソリッドステートドライブ伝送ブロック
１５２１、１５２２、１５２３、１５２４、１５２５、１５２６、１５２７、１５２８、１５４１、１５４２、１５４３、１５４４、１５４５、１５４６、１５４７、１５４８、１５７１、１５７２、１５７３、１５７４、１５７５、１５７６、１５７７、１５７８    論理ブロックアドレス
１５３１、１５３２、１５３３、１５３４、１５３５、１５３６、１５３７、１５３８、１５５１、１５５２、１５５３、１５５４、１５５５、１５５６、１５５７、１５５８、１５８１、１５８２、１５８３、１５８４、１５８５、１５８６、１５８７、１５８８    論理アドレス基盤のブロック
１６０２    格納システム
１６０４、２７１３    プロセッサ
１６０６、２７１４、２７１５、２７１７、２７１８    メモリ
１６０８    ネットワークインターフェイス
１６１０    入出力装置
１６１２    表示装置
１６１４、２７１９    バス
１６１６、２０３２    不揮発性メモリ装置
１６１８    ローカルデータリンク
１８０４    選別潜在露出（ＳＵＥ）格納管理器
１８０６    論理格納管理器
１８０８、１９１６    返還管理器
１８１０、１９１８    格納アレイ管理器
１９０４、２００４    データ整列器
１９０６    選別潜在露出（ＳＵＥ）格納アクセス管理器
１９０８    データ圧縮管理器
１９１０    ボリュームマッピングエンジン
１９１２、２０１０    バッファ管理器
１９１４    メタブロック管理器
１９２０    論理格納アクセス管理器
２００６    使用者領域アクセス管理器
２００８    使用者領域マッピングエンジン
２０１２    システム領域アクセス管理器
２０１４    メタブロック管理器
２０１６    メタブロック情報管理器
２０１８    格納装置制御管理器
２０２０    格納装置アクセス管理器
２０２２    全域状態管理器
２０２４    全域誤謬管理器
２０２６    システム状態管理器
２０２８    システムログ及び統計管理器
２０３０    ターゲット装置
２１０２    読出し管理器
２１０４    書込み管理器
２１０６    データ圧縮管理器
２１０８    データ圧縮解除管理器
２１１０    返還管理器
２１１２    フリー空間書込み管理器
２１１４    流れ制御管理器
２１１６    サービス品質管理器
２２０２    ボリューム管理器
２２０４    マップページ読出し管理器
２２０６    マップページ書込み管理器
２２０８    マップページキャッシュ管理器
２３０２    返還メタブロック選択器
２３０４    メタブロック状態管理器
２４０２    格納装置ログ及び統計管理器
２４０４    選別潜在露出（ＳＵＥ）ブロック消去エンジン
２４０６    格納装置誤謬管理器
２５０２    論理アクセス管理器
２５０４    ＲＡＩＤ管理器
２５０６    読出しルックアップエンジン
２５０８    格納初期化管理器
２６０２    電力中断管理器
２６０４    誤謬及び衝突管理器
２７０１    機器（又はシステム）
２７０５、２８９０、３５９０    ネットワーク
２７１１、２７１２    ポート
２８００、２９００、３５００    分散システム
２８１０、２８２０、２８３０、２８４０、２８５０、２８６０、２８７０、２８８０、３５１０、３５２０、３５３０、３５４０、３５５０、３５６０、３５７０、３５８０    機器
２９１１、２９１２、２９１３、２９１４    格納ノード
２９２０    全域ネームスペース
２９３０    外部連結メカニズム
２９４１    ＦＴＰクライアント
２９４２    ＩＳＣＩ構成要素
２９４３    ＮＦＳ構成要素
２９４４    ＣＩＦＳ構成要素
２９４５    ウェブ構成要素
２９５０    ノードからノードへの連結メカニズム
３０１０    ホットブロック
３０２０    一般ブロック
３０３０    選択ブロック
３０４０    返還ブロック
３０５０    消去ブロック
３０８０    コールドブロック
３１１０、３１２０、３１３０、３１４０    ノード
３１１１、３１１２、３１１３、３１１４、３１２１、３１２２、３１２３、３１２４、３１３１、３１３２、３１３３、３１３４、３１４１、３１４２、３１４３、３１４４    ソリッドステートドライブ
３１５１    ＳＵＥメタブロック
３１５２、３１５３、３１５４、３１５５    新しいブロック
３５９９    分散アレイ
【図１】
2017091548.tif 000003
【図２】
2017091548.tif 000004
【図３】
2017091548.tif 000005
【図４】
2017091548.tif 000006
【図５】
2017091548.tif 000007
【図６】
2017091548.tif 000008
【図７】
2017091548.tif 000009
【図８】
2017091548.tif 000010
【図９】
2017091548.tif 000011
【図１０】
2017091548.tif 000012
【図１１】
2017091548.tif 000013
【図１２】
2017091548.tif 000014
【図１３】
2017091548.tif 000015
【図１４】
2017091548.tif 000016
【図１５】
2017091548.tif 000017
【図１６】
2017091548.tif 000018
【図１７】
2017091548.tif 000019
【図１８】
2017091548.tif 000020
【図１９】
2017091548.tif 000021
【図２０】
2017091548.tif 000022
【図２１】
2017091548.tif 000023
【図２２】
2017091548.tif 000024
【図２３】
2017091548.tif 000025
【図２４】
2017091548.tif 000026
【図２５】
2017091548.tif 000027
【図２６】
2017091548.tif 000028
【図２７】
2017091548.tif 000029
【図２８】
2017091548.tif 000030
【図２９】
2017091548.tif 000031
【図３０】
2017091548.tif 000032
【図３１】
2017091548.tif 000033
【図３２】
2017091548.tif 000034
【図３３】
2017091548.tif 000035
【図３４】
2017091548.tif 000036
【図３５】
2017091548.tif 000037
【図３６】
2017091548.tif 000038
【図３７】
2017091548.tif 000039
【図３８】
2017091548.tif 000040
【図３９】
2017091548.tif 000041
【図４０】
2017091548.tif 000042
【図４１】
2017091548.tif 000043
【図４２】
2017091548.tif 000044
【図４３】
2017091548.tif 000045
【図４４】
2017091548.tif 000046
【図４５】
2017091548.tif 000047
【図４６】
2017091548.tif 000048
【図４７】
2017091548.tif 000049
【図４８】
2017091548.tif 000050
【図４９】
2017091548.tif 000051
【図５０】
2017091548.tif 000052
【図５１】
2017091548.tif 000053