(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022111153
(43)【公開日】2022-07-29
(54)【発明の名称】格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20220722BHJP
G06F 3/08 20060101ALI20220722BHJP
【FI】
G06F3/06 301Y
G06F3/06 301K
G06F3/06 301Z
G06F3/06 540
G06F3/08 H
【審査請求】有
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2022085166
(22)【出願日】2022-05-25
(62)【分割の表示】P 2016215540の分割
【原出願日】2016-11-02
(31)【優先権主張番号】14/941,512
(32)【優先日】2015-11-13
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】110000051
【氏名又は名称】特許業務法人共生国際特許事務所
(72)【発明者】
【氏名】トムリン, アンドリュー
(72)【発明者】
【氏名】ジョーンズ, ジャスティン
(57)【要約】
【課題】効率的で、効果的な多重モード格納アプローチを提供する。
【解決手段】論理インターフェイスで取り扱われる第1パーティション及び格納装置の潜在格納領域自体の潜在的な様相を外部構成要素又は格納システム階層レベルに選別的に開示する選別潜在開示インターフェイスで取り扱われる第2パーティションを含む複数の格納装置と、複数の格納装置への情報の伝達を指示するための多重モード格納管理システムと、を含み、第2パーティションの特性、特徴、機能を含む潜在的な様相の内、選別された潜在的な様相が開示され、多重モード格納管理システムは、選別潜在開示インターフェイス及び第2パーティションの開示され選別された潜在的な様相を通じて第2パーティションの動作を指示するためのコントローラを含み、第2パーティションの開示され選別された潜在的な様相は、開示され選別された潜在的な様相による物理アドレス空間の代表的な幾何学的構造を含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
論理インターフェイスで取り扱われる第1パーティション(Partition)及び格納装置の潜在格納領域(Underlying Storage Region)自体の潜在的な様相(Underlying Aspect)を、外部構成要素又は格納システム階層レベルに選別的に開示する選別潜在開示(Selective Underlying Exposure)インターフェイスで取り扱われる第2パーティションを含む複数の格納装置と、
前記複数の格納装置への情報の伝達を指示するための多重モード(Multimode)格納管理システムと、を含み、
前記第2パーティションの特性、特徴、機能を含む潜在的な様相の内、選別された潜在的な様相(Selected Underlying Aspect)が開示され、
前記多重モード格納管理システムは、前記選別潜在開示インターフェイス及び前記第2パーティションの前記開示され選別された潜在的な様相を通じて前記第2パーティションの動作(Activity)を指示するためのコントローラを含み、
前記第2パーティションの前記開示され選別された潜在的な様相は、前記開示され選別された潜在的な様相による物理アドレス空間の代表的な幾何学的構造を含み、
前記複数の格納装置はアレイ(Array)を構成し、
前記多重モード格納管理システムは、前記潜在格納領域に格納され、前記選別潜在開示インターフェイスによって選別的に開示される開示が関連付けられた様相を有する使用者データを、前記格納システムに関連する前記格納装置の前記アレイでの物理的な格納領域の代表的な幾何学的構造に対応する前記開示され選別された潜在的な様相による物理アドレス空間にマッピングすることを特徴とする格納システム。
【請求項2】
前記複数の格納装置は、ソリッドステートドライブ(Solid State Drive)を含むことを特徴とする請求項1に記載の格納システム。
【請求項3】
前記多重モード格納管理システムは、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する単位を生成するために複数の論理アドレスに基づいて構成されるブロックを結合することを特徴とする請求項1に記載の格納システム。
【請求項4】
前記多重モード格納管理システムは、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する複数の単位を生成するために複数の論理アドレスに基づいて構成されるブロックを結合することを特徴とする請求項1に記載の格納システム。
【請求項5】
前記複数の格納装置は、ボリューム(Volume)を含むことを特徴とする請求項1に記載の格納システム。
【請求項6】
前記複数の格納装置は、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する第1単位の第1サイズに関連する第1ボリューム、及び前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する第2単位の第2サイズに関連する第2ボリュームを含み、
前記前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する前記第1単位の前記第1サイズは、前記前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する前記第2単位の前記第2サイズと異なることを特徴とする請求項3に記載の格納システム。
【請求項7】
前記複数の格納装置は、複数のボリュームを含み、
前記複数のボリュームの中で第1ボリューム及び第2ボリュームは、同一サイズの前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する単位に関連することを特徴とする請求項3に記載の格納システム。
【請求項8】
格納システムに関連する格納装置のアレイ(Array)で格納媒体を管理するための方法において、
プロセッサを利用して、格納領域に格納された使用者データを、前記格納システムに関連する前記格納装置の前記アレイでの物理的な前記格納領域(Physical Storage Area)の代表的な幾何学的構造(Representative Geometry)に対応する開示され選別された潜在的な様相によるアドレス空間(Selective Underlying Exposure Address Space)にマッピング(Mapping)する段階を含むことを特徴とする方法。
【請求項9】
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する複数の論理アドレスを前記開示され選別された潜在的な様相によるアドレス空間でのアドレスの開示され選別された潜在的な様相によるブロックにマッピングする段階を含み、
前記開示され選別された潜在的な様相によるブロックは、前記格納システムに関連する個別の格納装置で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応することを特徴とする請求項8に記載の方法。
【請求項10】
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する前記複数の論理アドレスの部分集合を前記開示され選別された潜在的な様相によるブロックでのアドレスの選別された潜在的な様相によるページにマッピングする段階をさらに含み、
前記開示され選別された潜在的な様相によるページは、前記メモリセルの前記様々な物理ブロックの各々での物理ページに対応することを特徴とする請求項9に記載の方法。
【請求項11】
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する複数の論理アドレスを前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロック(Metablock)にマッピングする段階を含み、
前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応し、
前記格納装置の各々の前記メモリセルの前記様々な物理ブロックは、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスの別個の選別された潜在的な様相によるブロックに対応することを特徴とする請求項8に記載の方法。
【請求項12】
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する前記複数の論理アドレスの部分集合を前記メタブロックでのアドレスのメタページ(Metapage)にマッピングする段階をさらに含み、
前記メタページは、前記別個の選別された潜在的な様相によるブロックの選別された潜在的な様相によるページに対応することを特徴とする請求項11に記載の方法。
【請求項13】
前記使用者データと前記開示され選別された潜在的な様相によるアドレス空間との間のマッピングを格納するテーブルを維持させる段階をさらに含むことを特徴とする請求項8に記載の方法。
【請求項14】
前記開示され選別された潜在的な様相によるアドレス空間でのフリー空間(Free Space)を管理する段階をさらに含み、
前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロックに関連する有効データ(Valid Data)の量(Quantity)に基づいて返還(Reclamation)のための前記開示され選別された潜在的な様相によるアドレス空間での前記アドレスの前記メタブロックを選択する段階を含み、
前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応することを特徴とする請求項8に記載の方法。
【請求項15】
前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、
前記メタブロックに関連する前記有効データを移動させる段階と、
前記メタブロックに対応する前記メモリセルの前記様々な物理ブロックの消去を要請する段階と、
前記メタブロックを前記フリー空間として指定する段階と、をさらに含むことを特徴とする請求項14に記載の方法。
【請求項16】
前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、現在前記フリー空間として指定されたメタブロックの目録を維持させる段階をさらに含むことを特徴とする請求項15に記載の方法。
【請求項17】
論理アドレスに基づいて構成されるブロックを識別するためにヘッダー(Header)にアクセスする段階と、
前記識別された論理アドレスに基づいて構成されるブロックの論理ブロックアドレスがポインター(Pointer)に関連するか否かを判別する段階をさらに含むことを特徴とする請求項15に記載の方法。
【請求項18】
前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタページに対応する前記使用者データを格納する段階をさらに含み、
前記メタページは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックの各々の物理ページに対応することを特徴とする請求項8に記載の方法。
【請求項19】
前記メタページに対応する前記使用者データに対して圧縮アルゴリズムを実行する段階をさらに含むことを特徴とする請求項18に記載の方法。
【請求項20】
格納システムに関連する格納装置のアレイ(Array)で格納媒体を管理するためのシステムであって、
機械命令語(Machine Instruction)を格納するためのメモリと、
前記機械命令語を実行して、前記格納装置の格納領域に格納される使用者データを、開示され選別された潜在的な様相による(Selective Underlying Exposure)アドレス空間にマッピングするためのプロセッサと、を含み、
前記開示され選別された潜在的な様相によるアドレス空間は、前記格納システムに関連する前記格納装置の前記アレイでの物理的な格納領域の代表的な幾何学的構造(Representative Geometry)に対応することを特徴とするシステム。
【請求項21】
前記プロセッサは、前記機械命令語をさらに実行して、
前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応する前記使用者データに関連する複数の論理アドレスを、前記開示され選別された潜在的な様相によるアドレス空間での選別された潜在的な様相によるアドレス空間のアドレスのメタブロック(Metablock)にマッピングし、
前記アレイの各個別の格納装置で単一単位として共に管理される前記メモリセルの前記様々な物理ブロックに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、前記メタブロックに関連する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの選別された潜在的な様相によるブロックにマッピングし、
前記アレイの各個別の格納装置で単一単位として共に管理される前記メモリセルの前記様々な物理ブロックの各々での各物理ページに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、各選別された潜在的な様相によるブロックに関連する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各選別された潜在的な様相によるページにマッピングし、
各選別された潜在的な様相によるブロックの前記各選別された潜在的な様相によるページに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、前記メタブロックに関連するアドレスのメタページ(Metapage)にマッピングすることを特徴とする請求項20に記載のシステム。
【請求項22】
前記プロセッサは、前記機械命令語をさらに実行して、前記使用者データと前記開示され選別された潜在的な様相によるアドレス空間との間のマッピングを格納するテーブルを維持させることを特徴とする請求項20に記載のシステム。
【請求項23】
前記プロセッサは、前記機械命令語をさらに実行して、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロックに関連する有効データ(Valid Data)の量(Quantity)に基づいて返還(Reclamation)のための前記開示され選別された潜在的な様相によるアドレス空間での前記アドレスの前記メタブロックを選択し、
前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応し、
前記プロセッサは、前記機械命令語をさらに実行して、
前記メタブロックに関連する前記有効データを移動させ、
前記メタブロックに対応する前記メモリセルの前記様々な物理ブロックの消去を要請し、
前記メタブロックをフリー空間(Free Space)として指定することを特徴とする請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報格納(Information Storage)に関し、より詳しくは、格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法に関する。
【背景技術】
【0002】
ビジネス、科学、教育、及びエンターテイメントのほとんどの分野で、多くの電子技術(例えば、デジタルコンピュータ、計算機、オーディオ装置、ビデオ装置、電話機システム等)は、生産性を増加させ、費用を減少させてきた。これらの電子システムは、情報格納システムを伴う動作を遂行する。情報格納動作が進行する速度及び容易性は、情報格納システムの全般的な性能に大きな影響を与える。しかし、情報格納に関する従来の試みは、速度と管理の複雑度との間の逆関係(Inverse Relationship)を伴う。
【0003】
情報格納システムは、2つのカテゴリーの中の1つに属する動作を含む。1つのカテゴリーは、使用者によって開始される活動(Activity)に関連付けられた格納動作を含む。他のカテゴリーは、システムによって開始される管理及び維持補修活動を含む。これらの動作が進行する速度及び容易性は、情報を格納するために利用されるアドレス空間(Address Space)のタイプに関連付けられる。
【0004】
物理アドレス(Physical Address)基盤の空間を利用することに関する従来の試みは、理論的には非常に高速で動作すると考えられるが、従来の物理アドレス基盤の空間における実際の管理及び維持補修動作に関する試みは、非常に複雑であり、実用上は実施されなかった。従来の論理アドレス(Logical Address)空間の管理及び維持補修は、物理アドレス空間に比べて低い複雑度を有すると考えられる。しかし、従来の論理アドレス空間は物理アドレス空間ほど速く動作しない。
【0005】
従来の格納システムは、以前には許容できると考えられるレベルで動作することができる反面、この格納システムが改善されたアプリケーション(Application)及びプラットフォーム(Platform)のための要求事項及び長い間待ってきた必要性を充足させるには段々不十分になっている。改善されたシステム開発を可能にするために、高速化及び管理可能な複雑度をともに達成することに関する従来の試みは成功していない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、効率的で、効果的な多重モード(Multimode)格納アプローチを提供することにある。多重モード格納方法は様々な異なる類型のアドレス空間を共に採用することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた本発明の一態様による格納システムは、論理インターフェイスで取り扱われる第1パーティション(Partition)及び格納装置の潜在格納領域(Underlying Storage Region)自体の潜在的な様相(Underlying Aspect)を、外部構成要素又は格納システム階層レベルに選別的に開示する選別潜在開示(Selective Underlying Exposure)インターフェイスで取り扱われる第2パーティションを含む複数の格納装置と、前記複数の格納装置への情報の伝達を指示するための多重モード(Multimode)格納管理システムと、を含み、前記第2パーティションの特性、特徴、機能を含む潜在的な様相の内、選別された潜在的な様相(Selected Underlying Aspect)が開示され、前記多重モード格納管理システムは、前記選別潜在開示インターフェイス及び前記第2パーティションの前記開示され選別された潜在的な様相を通じて前記第2パーティションの動作(Activity)を指示するためのコントローラを含み、前記第2パーティションの前記開示され選別された潜在的な様相は、前記開示され選別された潜在的な様相による物理アドレス空間の代表的な幾何学的構造を含み、前記複数の格納装置はアレイ(Array)を構成し、前記多重モード格納管理システムは、前記潜在格納領域に格納され、前記選別潜在開示インターフェイスによって選別的に開示される開示が関連付けられた様相を有する使用者データを、前記格納システムに関連する前記格納装置の前記アレイでの物理的な格納領域の代表的な幾何学的構造に対応する前記開示され選別された潜在的な様相による物理アドレス空間にマッピングすることを特徴とする。
【0008】
前記複数の格納装置は、ソリッドステートドライブ(Solid State Drive)を含むことが好ましい。
前記多重モード格納管理システムは、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する単位を生成するために複数の論理アドレスに基づいて構成されるブロックを結合することが好ましい。
前記多重モード格納管理システムは、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する複数の単位を生成するために複数の論理アドレスに基づいて構成されるブロックを結合することが好ましい。
前記複数の格納装置は、ボリューム(Volume)を含むことが好ましい。
前記複数の格納装置は、前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する第1単位の第1サイズに関連する第1ボリューム、及び前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する第2単位の第2サイズに関連する第2ボリュームを含み、前記前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する前記第1単位の前記第1サイズは、前記前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する前記第2単位の前記第2サイズと異なることが好ましい。
前記複数の格納装置は、複数のボリュームを含み、前記複数のボリュームの中で第1ボリューム及び第2ボリュームは、同一サイズの前記第2パーティションの前記開示され選別された潜在的な様相による物理アドレス空間のアドレスを有する単位に関連することが好ましい。
【0009】
上記目的を達成するためになされた本発明の一態様による方法は、格納システムに関連する格納装置のアレイ(Array)で格納媒体を管理するための方法において、プロセッサを利用して、格納領域に格納された使用者データを、前記格納システムに関連する前記格納装置の前記アレイでの物理的な前記格納領域(Physical Storage Area)の代表的な幾何学的構造(Representative Geometry)に対応する開示され選別された潜在的な様相によるアドレス空間(Selective Underlying Exposure Address Space)にマッピング(Mapping)する段階を含むことを特徴とする。
【0010】
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する複数の論理アドレスを前記開示され選別された潜在的な様相によるアドレス空間でのアドレスの開示され選別された潜在的な様相によるブロックにマッピングする段階を含み、前記開示され選別された潜在的な様相によるブロックは、前記格納システムに関連する個別の格納装置で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応することが好ましい。
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する前記複数の論理アドレスの部分集合を前記開示され選別された潜在的な様相によるブロックでのアドレスの選別された潜在的な様相によるページにマッピングする段階をさらに含み、前記開示され選別された潜在的な様相によるページは、前記メモリセルの前記様々な物理ブロックの各々での物理ページに対応することが好ましい。
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する複数の論理アドレスを前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロック(Metablock)にマッピングする段階を含み、前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応し、前記格納装置の各々の前記メモリセルの前記様々な物理ブロックは、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスの別個の選別された潜在的な様相によるブロックに対応することが好ましい。
前記使用者データを前記開示され選別された潜在的な様相によるアドレス空間にマッピングする段階は、前記使用者データに関連する前記複数の論理アドレスの部分集合を前記メタブロックでのアドレスのメタページ(Metapage)にマッピングする段階をさらに含み、前記メタページは、前記別個の選別された潜在的な様相によるブロックの選別された潜在的な様相によるページに対応することが好ましい。
前記使用者データと前記開示され選別された潜在的な様相によるアドレス空間との間のマッピングを格納するテーブルを維持させる段階をさらに含むことが好ましい。
前記開示され選別された潜在的な様相によるアドレス空間でのフリー空間(Free Space)を管理する段階をさらに含み、前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロックに関連する有効データ(Valid Data)の量(Quantity)に基づいて返還(Reclamation)のための前記開示され選別された潜在的な様相によるアドレス空間での前記アドレスの前記メタブロックを選択する段階を含み、前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応することが好ましい。
前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、前記メタブロックに関連する前記有効データを移動させる段階と、前記メタブロックに対応する前記メモリセルの前記様々な物理ブロックの消去を要請する段階と、前記メタブロックを前記フリー空間として指定する段階と、をさらに含むことが好ましい。
前記開示され選別された潜在的な様相によるアドレス空間での前記フリー空間を管理する段階は、現在前記フリー空間として指定されたメタブロックの目録を維持させる段階をさらに含むことが好ましい。
論理アドレスに基づいて構成されるブロックを識別するためにヘッダー(Header)にアクセスする段階と、前記識別された論理アドレスに基づいて構成されるブロックの論理ブロックアドレスがポインター(Pointer)に関連するか否かを判別する段階をさらに含むことが好ましい。
前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタページに対応する前記使用者データを格納する段階をさらに含み、前記メタページは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックの各々の物理ページに対応することが好ましい。
前記メタページに対応する前記使用者データに対して圧縮アルゴリズムを実行する段階をさらに含むことが好ましい。
【0011】
上記目的を達成するためになされた本発明の一態様によるシステムは、格納システムに関連する格納装置のアレイ(Array)で格納媒体を管理するためのシステムであって、機械命令語(Machine Instruction)を格納するためのメモリと、前記機械命令語を実行して、前記格納装置の格納領域に格納される使用者データを、開示され選別された潜在的な様相による(Selective Underlying Exposure)アドレス空間にマッピングするためのプロセッサと、を含み、前記開示され選別された潜在的な様相によるアドレス空間は、前記格納システムに関連する前記格納装置の前記アレイでの物理的な格納領域の代表的な幾何学的構造(Representative Geometry)に対応することを特徴とする。
【0012】
前記プロセッサは、前記機械命令語をさらに実行して、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応する前記使用者データに関連する複数の論理アドレスを、前記開示され選別された潜在的な様相によるアドレス空間での選別された潜在的な様相によるアドレス空間のアドレスのメタブロック(Metablock)にマッピングし、前記アレイの各個別の格納装置で単一単位として共に管理される前記メモリセルの前記様々な物理ブロックに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、前記メタブロックに関連する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの選別された潜在的な様相によるブロックにマッピングし、前記アレイの各個別の格納装置で単一単位として共に管理される前記メモリセルの前記様々な物理ブロックの各々での各物理ページに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、各選別された潜在的な様相によるブロックに関連する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各選別された潜在的な様相によるページにマッピングし、各選別された潜在的な様相によるブロックの前記各選別された潜在的な様相によるページに対応する前記開示され選別された潜在的な様相によるアドレス空間のアドレスの各部分集合を、前記メタブロックに関連するアドレスのメタページ(Metapage)にマッピングすること。
前記プロセッサは、前記機械命令語をさらに実行して、前記使用者データと前記開示され選別された潜在的な様相によるアドレス空間との間のマッピングを格納するテーブルを維持させること。
前記プロセッサは、前記機械命令語をさらに実行して、前記開示され選別された潜在的な様相によるアドレス空間でのアドレスのメタブロックに関連する有効データ(Valid Data)の量(Quantity)に基づいて返還(Reclamation)のための前記開示され選別された潜在的な様相によるアドレス空間での前記アドレスの前記メタブロックを選択し、前記メタブロックは、前記アレイの前記格納装置の各々で単一単位として共に管理されるメモリセルの様々な物理ブロックに対応し、前記プロセッサは、前記機械命令語をさらに実行して、前記メタブロックに関連する前記有効データを移動させ、前記メタブロックに対応する前記メモリセルの前記様々な物理ブロックの消去を要請し、前記メタブロックをフリー空間(Free Space)として指定すること。
【発明の効果】
【0013】
本発明によれば、複雑度を管理可能な範囲に制限しながらも、格納システムの性能を改善することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態による選別潜在露出格納パーティションを含む格納装置の一例を示すブロック図である。
【
図2】本発明の一実施形態による多重モード格納装置の一例を示すブロック図である。
【
図3】本発明の一実施形態による多重モード格納装置の他の例を示すブロック図である。
【
図4】本発明の一実施形態による多重モードソリッドステートドライブ(Multimode Solid State Drive)を示すブロック図である。
【
図5】本発明の一実施形態によるアドレス空間情報を論理アドレス空間情報に変換する過程を示す概念図である。
【
図6】本発明の一実施形態によるシステムを示すブロック図である。
【
図7】本発明の一実施形態によるシステムを示すブロック図である。
【
図8】本発明の一実施形態による多重モード選別潜在露出を駆動する方法を説明するフローチャートである。
【
図9】本発明の一実施形態による多重モードソリッドステートドライブを示すブロック図である。
【
図10】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEブロック及び対応するSUEページの一例を示すブロック図である。
【
図11】本発明の一実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間のSUEブロック及び対応するSUEページの他の例を示すブロック図である。
【
図12】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタページ及び対応するSUEページの例を示すブロック図である。
【
図13】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタブロック及び対応するSUEメタページの一例を示すブロック図である。
【
図14】本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタブロック及び対応するSUEブロックの他の例を示すブロック図である。
【
図15】本発明の一実施形態による論理アドレスからSUEアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現されるSUEマッピングスキームの例を示す概念図である。
【
図16】
図15のSUEマッピングスキームを具現する格納システムの例を示すブロック図である。
【
図17】本発明の一実施形態による論理アドレス空間をSUEアドレス空間にマッピングする方法を説明するフローチャートである。
【
図18】格納システムが本発明の一実施形態による格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システムの一例を示すブロック図である。
【
図19】格納システムが本発明の一実施形態による格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システムの他の例を示すブロック図である。
【
図20】格納システムが本発明の一実施形態による格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システムのさらに他の例を示すブロック図である。
【
図21】本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域アクセス管理器を示すブロック図である。
【
図22】本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域マッピングエンジンを示すブロック図である。
【
図23】本発明の一実施形態による多重モード格納管理システムによって具現されるメタブロック管理器を示すブロック図である。
【
図24】本発明の一実施形態による多重モード格納管理システムによって具現される格納装置制御管理器を示すブロック図である。
【
図25】本発明の一実施形態による多重モード格納管理システムによって具現される格納装置アクセス管理器を示すブロック図である。
【
図26】本発明の一実施形態による多重モード格納管理システムによって具現される全域状態管理器を示すブロック図である。
【発明を実施するための形態】
【0015】
上述した特性及び以下の詳細な説明は、全て本発明の説明及び理解を助けるための例示的な事項である。即ち、本発明はこのような実施形態に限定されず、他の形態で具体化される。以下の実施形態は、本発明を完全に開示するための単なる例であり、本発明が属する技術分野の通常の技術者に本発明を伝達するための説明である。したがって、本発明の構成要素を具現するための方法が多数ある場合には、これらの方法の中で特定なもの又はこれと同一性があるものの中のいずれも本発明の具現が可能である。
【0016】
本明細書で所定の構成が特定要素を含むと記載した場合、又は所定の過程が特定段階を含むと記載した場合、その外の他の要素又は他の段階がさらに含まれる。即ち、本明細書で使用される用語は特定の実施形態を説明するためのものであり、本発明の概念を限定するためのものではない。さらに、発明の理解を助けるために説明した例はその相補的な実施形態も含む。幾つかの例で、本発明の技術思想を曖昧にしないために、広く公知された方法、過程、構成要素、及び回路は詳細に説明されない。
【0017】
本明細書で使用される用語は、本発明が属する技術分野の通常の技術者が一般的に理解する意味を有する。一般的に使用される用語は本明細書の脈絡にしたがって一貫的な意味として解釈される。また、本明細書で使用される用語は、その意味が明確に定義された場合でなければ、あまりにも理想的であるか又は形式的な意味に解釈されない。
【0018】
以下で、効率的で、効果的な多重モード(Multimode)格納アプローチを説明する。多重モード格納方法は、複数の異なる類型(type)のアドレス空間(Address Space)及びアドレス空間活動を採用する。本実施形態で、多重モード選別潜在露出(Selective Underlying Exposure、以下、SUEと略記)格納装置は、格納装置の幾つかの潜在的な様相(Aspect)の選別的な露出を可能にする反面、他の潜在的な様相を露出しないこともある。多重モード格納及びSUEアプローチは、複雑度を管理可能な範囲に制限しながら、性能を改善することができる。
【0019】
幾つかの実施形態で、物理アドレス空間(Physical Address Space)の潜在的な様相が選別的に露出される。全般的な格納階層(Hierarchical)アプローチが適用され、一つの階層レベルの潜在的な様相は、他の階層レベルに選別的に露出される。選別的な露出は、アドレス空間の構成及びアドレス空間のマッピング(Mapping)を通じて発生する。選別的に露出された潜在的な様相は、その露出された潜在的な様相を有する階層レベルと異なる他の階層レベルで実行される多様な活動(Activity)をさらに効率的で、効果的に具現する。この多様な活動は、格納管理動作を含む。多重モード格納及びSUEアプローチは、多様な構成及び具現を含むことが理解できる。
【0020】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【0021】
<I.多重モード格納装置>
【0022】
図1は、本発明の一実施形態による選別潜在露出格納パーティションを含む格納装置の一例を示すブロック図である。格納装置100の選別潜在露出格納パーティション101は、選別潜在露出インターフェイス102及び潜在格納領域(Underlying Storage Region)103を含む。
【0023】
潜在格納領域103は、情報を格納し、選別潜在露出インターフェイス102は、潜在格納領域103自体(例えば、次元(Dimension)に関連する物理的な様相、代表幾何構造(Representative Geometry)、管理機能、書込み動作、消去動作等)の様相(例えば、特性(Characteristic)、特徴(Feature)、機能等)を、外部構成要素又は格納システム階層レベル(図示せず)に選別的に露出する。この露出は、潜在格納領域103に格納された情報(使用者データ及びメタデータ)の様相に関連付けられる。選別潜在露出格納パーティション101は、潜在的な様相(例えば、特性、特徴、機能等)の一部を露出する。
【0024】
潜在的な様相の一部を露出する具体例として、露出された様相に関連する活動(例えば、フリー空間(Free Space)の管理、フリー空間使用のための返還(Reclamation)及び環境設定、オーバープロビジョニング(Over-provisioning)、トリム(Trim)動作、パワーサイクリング(Power Cycling)等)は、潜在的な様相の一部を選別的に露出しないシステムに比べてより効率的に(例えば、より速く、より少ない帯域幅、省電力)実行される。この活動は潜在的な様相をより多く又は全て露出するアプローチに比べて、低い複雑度で実行される。
【0025】
潜在的な様相の中のいずれの部分を露出させるかの選択は、速度と複雑度とを比較するか、又は速度と複雑度とのバランスを考慮して決定される。選別潜在露出格納パーティション101は、単一パーティションを利用する単一モード格納装置に含まれるか、又は複数のパーティションを利用する多重モード格納装置に含まれることが理解される。
【0026】
図2は、本発明の一実施形態による多重モード格納装置の一例を示すブロック図である。多重モード格納装置220は、第1パーティション230及び第2パーティション240を含む。
【0027】
様々なモード及びこれに対応するパーティションは、多様な要素に関連するか、又は多様な要素に基づくことが理解される。多様な要素は、潜在格納領域の異なる露出、異なるアドレス空間(例えば、論理的、仮想(Virtual)、又は物理的アドレス空間)、異なる格納管理モード(例えば、内部管理及び外部管理)、異なる潜在格納情報(例えば、メタデータ及び使用者データ)等を含む。内部管理及び外部管理は、格納装置管理システムの構成要素及び動作(例えば、フラッシュ管理システム(FMS:Flash Management System)、ソリッドステート装置(Solid State Device)管理システム等)を含む。パーティション及びこれに対応する構成要素は、異なる類型(type)であってもよい。
【0028】
多重モード格納装置220のパーティション及びこれに対応するインターフェイスは、異なる類型のアドレス空間(例えば、論理アドレス空間及び選別潜在露出(SUE)アドレス空間)に関連する。多重モード格納装置220の1つ以上のパーティション及びこれに対応するインターフェイスは、同一類型のアドレス空間に関連する(例えば、多重モード格納装置220の1つ以上のパーティション及びこれに対応するインターフェイスはSUEアドレス空間に関連する)。
【0029】
第1パーティション230は、第1類型のインターフェイス231及び潜在格納領域233を含む。第2パーティション240は、第2類型のインターフェイス241及び潜在格納領域243を含む。本実施形態において、第1パーティション230は、第1類型のアドレス空間パーティション(例えば、論理アドレス空間パーティション)であり、第2パーティション240は、第2類型のアドレス空間パーティション(例えば、SUEアドレス空間及び仮想アドレス空間パーティション)である。パーティションは、SUE格納パーティションであることが理解される。
【0030】
図3は、本発明の一実施形態による多重モード格納装置の他の例を示すブロック図である。多重モード格納装置350は、第1パーティション370及び第2パーティション380を含む。
【0031】
本実施形態において、第1パーティション370は、第1類型のアドレス空間パーティションであり、第2パーティション380は、SUEアドレス空間パーティションである。第1パーティション370は、第1類型のインターフェイス371及び潜在格納領域373を含む。第2パーティション380は、選別潜在露出インターフェイス381及び潜在格納領域383を含む。第1パーティション関連活動372(例えば、FMS)のような幾つかの活動が1つのパーティションのために内部的に(例えば、多重モード格納装置350で)実行され、他のパーティションのために外部的に(図示せず)実行される。
【0032】
異なるパーティションには、異なる類型の情報が格納される。本実施形態では、2つの類型の情報(例えば、メタデータ及び使用者データ)がある。使用者データは、主に使用者アプリケーション(Application)によって生成され、メタデータは、主に使用者データに関連する補助情報(例えば、格納システム階層中のファイルの位置、ファイルの内容の大きさ、アクセス(Access)時刻、修正時刻、使用者ID等)である。第1フラッシュ管理システムは、メタデータの管理に焦点を当てる。メタデータは、結局使用者データの格納を管理するために利用される。
【0033】
管理又は維持補修活動に関連するシステム動作とは異なるように、使用者によって開始される(User-initiated)活動に関連する動作を、格納システムが指示するか、又は具現する。例えば、使用者によって開始される読出し又は書込みは、使用者観点から提供される特定アドレス又は位置に向けることができる反面、システム動作は、システム観点から提供される物理ブロック(Block)及びページ(Page)に向けられる。
【0034】
多重モード格納装置350は、多様な構成及び具現を含む。本実施形態で、多重モード格納装置350はソリッドステート装置である。多重モード格納装置350は、フラッシュ構成要素(例えば、NANDフラッシュ構成要素、NORフラッシュ構成要素等)を含む。
【0035】
図4は、本発明の一実施形態による多重モードソリッドステートドライブ(Multimode Solid State Drive)を示すブロック図である。多重モードソリッドステートドライブ400は、多重モード格納装置の具現例の1つである。多重モードソリッドステートドライブ400は、論理アドレス空間の格納パーティションA(410)、フラッシュ変換ロジック(FTL:Flash Translation Logic)413を含む論理インターフェイス411、潜在物理アドレス空間412、選別潜在露出アドレス空間の格納パーティションB(420)、選別潜在露出インターフェイス421、及び潜在物理アドレス空間423を含む。
【0036】
論理アドレス空間の格納パーティションA(410)は、論理アドレス基盤のシステムデータ(例えば、メタデータ)を受信して格納し、SUEアドレス空間の格納パーティションB(420)は、潜在露出アドレス空間にしたがうアドレス基盤の使用者データ(例えば、アプリケーションデータ)を受信する。使用者データは、潜在物理アドレス空間423に格納され、潜在物理アドレス空間423はフラッシュ格納構成要素(例えば、異なる類型のフローティングゲートトランジスタ(Floating Gate Transistor))を含む。フラッシュ格納構成要素は、多様な構成及びグラニュラリティ(Granularity)で配列される。例えば、フラッシュ格納構成要素は、複数のダイ(Die)として配列され、複数のダイの中でダイ470はブロック(473、479)及びブロック内のページを含む。
【0037】
本実施形態において、SUEインターフェイス421は、潜在物理アドレス空間423の様相を露出する。潜在物理アドレス空間423の選別的な様相は、多重モードソリッドステートドライブ400の潜在的な動作を取り扱う(Addressing)使用者データの調整(Coordination)によって露出される。この調整は、潜在物理アドレス空間423の管理動作の露出に関連する。潜在的な物理格納管理の様相は、共に管理される複数の潜在物理アドレスブロック(例えば、471、472、473、474)を分類(Grouping)することを含む。例えば、共に管理される複数の潜在物理アドレスブロック(例えば、471、472、473、474)は、単一管理単位として単一動作で共に管理されるか、ブロック集合や帯域(Band)で共に管理されるか、又は単一管理コマンド(Command)に応答して共に管理される。
【0038】
図5は、本発明の一実施形態によるアドレス空間情報を論理アドレス空間情報に変換する過程を示す概念図である。選別潜在露出アドレスブロック503は、多様な管理及び維持補修動作に関連する情報(例えば、505、507、508)を含む。物理アドレス空間502は、複数のダイ(511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544)を含む。各ダイは、複数の物理アドレス基盤のブロック(例えば、515、519)を含み、各物理アドレス基盤のブロックは、複数の物理アドレスページを含む。
【0039】
物理アドレス空間502は、物理ブロック及び物理ページ基盤のアドレス格納位置にアクセスする。選別潜在露出インターフェイス501は、選別潜在露出アドレスブロック503の情報を受信し、受信した情報を物理アドレス空間502と互換可能な構成に変換するか、又は再構成する。選別潜在露出アドレスブロック503の情報は、物理的な管理動作に関与する情報に対応する。
【0040】
本実施形態で、管理及び維持補修動作は、物理アドレス空間502内の物理ブロック(例えば、515、519、539)に提供される。管理動作は、物理アドレス空間又は物理レベル管理ユニットに提供される。物理レベル管理ユニットは、実質的に同一時点に(例えば、管理動作又はコマンドに応答して)管理される複数のアドレス、ページ、ブロック等を管理することを含む。例えば、消去動作は(ブロック515と同様に黒色で示した)物理ブロックに提供される。
【0041】
選別潜在露出アドレスブロック503が物理ブロックにマッチング(Matching)するように構成されることによって、各物理ブロックに対応する各情報(例えば、505、507、508)は選別潜在露出アドレスブロック503に含まれる。本例では、選別潜在露出インターフェイス501は、SUEアドレスブロック503の情報を受信し、情報(505、507、508)が各々物理ブロック(515、517、528)に対応することを識別し、したがって対応する管理及び維持補修動作を実行する。本実施形態において、消去管理動作は複数の物理ブロックの情報に対して実行され、書込み動作はページの情報に対して実行される。
【0042】
2つのアドレス空間の幾何構造もまた互いに異なる。本実施形態で、論理アドレス空間は、単一次元であり(例えば、論理ブロックアドレス(LBA:Logical Block Address)のオフセット(Offset)がどのようにして調整されるかに関連)、一方、物理アドレス空間は、多様な様相(例えば、ECC(Error Correction Code)、物理ページ、物理ブロック、物理ダイ等又はそれらの一部又は部分集合)を含む多次元である。選別潜在露出(SUE)アドレス空間は、一次元であるか、又は制限された又は減少した数の次元である。SUEアドレス空間の幾つかの例で、潜在物理アドレス空間の次元は、単一又は減少した数の次元に抽出(Abstract)される。潜在物理アドレス空間の管理活動(例えば、返還/ガーベッジコレクション(Garbage Collection)、パワーサイクリング等)に関連する選択された次元(例えば、ブロック及びページ)は、SUEアドレス空間に抽出される一方、潜在物理アドレス空間の他の様相又は活動(例えば、ECC)は、SUEアドレス空間に抽出されない。
【0043】
潜在的な様相の選別的な露出は、全体システム中の多重モードソリッドステートドライブ400ではない他の構成要素(図示せず)によって使用者データを多重モードソリッドステートドライブ400に伝送する前の調整を含む。本実施形態で、多重モードソリッドステートドライブ400は、全体システム階層の異なるレベルで動作する管理構成要素に連結される。
【0044】
図6は、本発明の一実施形態によるシステムを示すブロック図である。システム600は、多重モード格納管理システム610と通信可能に連結された複数の多重モードソリッドステートドライブ(例えば、620、630、640、650)を含む。
【0045】
幾つかの活動(例えば、幾つかの格納管理動作及びフラッシュ管理システム動作)は、多重モード格納管理システム610によって制御され、他の活動(例えば、他の格納管理動作及びフラッシュ管理システム動作)は、多重モードソリッドステートドライブ(620、630、640、650)によって制御される。本実施形態において、多重モードソリッドステートドライブ(620、630、640、650)は、各々コントローラ(621、631、641、651)を含む。コントローラ(621、631、641、651)は、多重モードソリッドステートドライブ(620、630、640、650)に対する幾つかの活動を制御するか、又は指示する。多重モード格納管理システム610は、コントローラ611を含む。コントローラ611は、多重モードソリッドステートドライブ(620、630、640、650)に対する幾つかの活動を制御するか、又は指示する。
【0046】
具体例として、コントローラ(621、631、641、651)は、各々多重モードソリッドステートドライブ(620、630、640、650)の第1パーティションの活動を制御するか、又は指示し、コントローラ611は、多重モードソリッドステートドライブ(620、630、640、650)の第2パーティションの活動を制御するか、又は指示する。コントローラ611は、選別潜在露出(SUE)インターフェイスを通じて多重モードソリッドステートドライブ(620、630、640、650)の活動を制御する。
【0047】
本実施形態で、システム600は、複数のボリューム(Volume、例えば、671、672、673)を含む。具体例として、システム600は、使用者空間を含む。使用者空間は、複数のボリュームにマッピングされ、格納空間は複数のボリュームとして使用者に表される。ボリュームは、異なる大きさを有する。また、異なる大きさのSUEアドレス基盤単位は、複数ボリュームに関連する。
【0048】
図7は、本発明の一実施形態によるシステムを示すブロック図である。システム700は、機器710に含まれる多重モード格納管理システム720と通信可能に連結される多重モードソリッドステートドライブ750を含む。機器710は、多様なコンピュータ/電子機器(装置)の中のいずれもよい。他の多重モードソリッドステートドライブが多重モード格納管理システム720に連結される。システム700は、メタデータ730及び使用者データ740の格納を管理する。
【0049】
多重モード格納管理システム720は、コントローラ745を含む。コントローラ745は(使用者データのための)FMS(フラッシュ管理システム)741、及び選別潜在露出マッパー742を含む。
【0050】
多重モードソリッドステートドライブ750は、論理アドレス空間パーティション770及び選別潜在露出アドレス空間パーティション780を含む。論理アドレス空間パーティション770は、物理アドレス空間777及びコントローラ775を含み、コントローラ775は、(メタデータのための)FMS(フラッシュ管理システム)771を含む。FMS771は、論理インターフェイス772を含み、論理インターフェイス772は、FTL773を含む。物理アドレス空間777は、NANDフラッシュを含む。選別潜在露出アドレス空間パーティション780は、選別潜在露出インターフェイス782及び物理アドレス空間787を含み、物理アドレス空間787は、NANDフラッシュを含む。
【0051】
メタデータ730の情報は、論理アドレスブロック791に受信されて、論理アドレスブロック792に伝達され、多重モード格納管理システム720から論理アドレス空間パーティション770に提供される。論理アドレスブロック(791、792)は同一である(即ち、論理アドレスブロック791が変更さず、単純に論理アドレス空間パーティション770に伝達される)。
【0052】
論理インターフェイス772は、メタデータに関連する論理ブロックアドレス(LBA)を、物理アドレス空間777に関連する物理アドレスブロック793に変換する。フラッシュ管理システム771は、物理アドレス空間777に関連する格納管理及び維持補修動作を指示する。メタデータは、物理アドレス空間777のNANDフラッシュに格納される。
【0053】
論理アドレスブロック797の使用者データは、フラッシュ管理システム(FMS)741に伝達される。物理アドレス空間787の潜在的な特徴及び特性が選別潜在露出インターフェイス782を通じて露出されるのにしたがって、フラッシュ管理システム741は、物理アドレス空間787の潜在的な特徴及び特性に関連するフラッシュ管理及び維持補修動作を指示する。選別潜在露出マッパー742は、論理アドレスブロック797を選別潜在露出アドレスブロック798にマッピングする。
【0054】
これによって、SUEアドレスブロック798は、SUEインターフェイス782によって物理アドレスブロック799(
図5の物理ブロック517、519と同様)に変換される。物理アドレスブロック799は、物理アドレス空間787に含まれるNANDフラッシュ構成要素に関連付けられる。論理アドレスブロックは、SUEアドレスブロックとは異なる大きさを有し、これによって物理アドレスブロックとは異なる大きさを有する。
【0055】
階層レベルの上位で多様な活動を実行することは、従来のアプローチに比べてより効率的であり、便利な管理を可能にする。従来のアプローチの場合、様々な階層に影響を与える活動を取り扱うことにおける柔軟性に制限があった。従来のアプローチは、全体性能に幾何級数的に否定的な影響を引き起こす活動(例えば、ログ-オン-ログ(Log-on-Log)、駆動レベルのフラッシュ管理システム、及びシステムレベルのフラッシュ管理システム)を様々な階層に対して遂行しなければならない。
【0056】
例えば、RAID(Redundant Array of Independent Disks)格納システムでは、上位格納階層レベル(例えば、RAIDシステム管理レベル)及び下位格納階層レベル(例えば、格納駆動レベル)の全てに影響を与え、共に管理される必要がある多くの要素がある(例えば、データ格納及び対応するパリティー(Parity)の格納)。情報のライフサイクルが各階層毎に互いに異なり(例えば、使用者は情報を上書き(Overwrite)したいが、RAIDシステムは未だパリティーを再計算するためにその情報を必要とする)、この場合、駆動レベルは使用者のために「新しい」データを書き込むが、システムレベルではRAIDシステムのために「既存の」情報を維持する。これは、トリム動作を実行する能力がない書込み増幅指数(Write Amplification Factor)を可能にする。
【0057】
図8は、本発明の一実施形態による多重モード選別潜在露出を駆動する方法を説明するフローチャートである。
【0058】
7%のオーバープロビジョニング(例えば、ソリッドステートドライブ)で駆動することは、オーバープロビジョニングを駆動すること無しに直接上書きを実行するシステム(例えば、ハードディスクドライブ)に比べて15倍難しい作業を要求し、システムオーバープロビジョニングを採用しないシステムに比べてさらに15倍難しい作業を要求して、全体では225(=15×15)倍難しい。フラッシュ管理システムが上位格納階層レベルへ移動されるのを認める多重モード格納装置は、作業の減少を可能にし(例えば、7%のオーバープロビジョニングはオーバープロビジョニングがないシステムに比べ単に15倍難しくなり、28%のオーバープロビジョニングはオーバープロビジョニングがないものに比べて単に3倍難しくなる)、これにより、書込み増幅指数の減少を可能にする。具体例で、上位レベルからの管理動作を指示するために利用される選別された潜在アドレスブロック及びページは潜在物理レベルと調和されるか、又はマッチングされる。これは使用者レベルでの情報ライフサイクルがシステムレベルでの情報ライフサイクルと異なるようにすることができる。しかし、管理の観点から、両方のライフサイクルは同様に調整される(例えば、使用者レベルでのライフサイクルの長さ及びシステムレベルでのライフサイクルの長さは使用者空間の利用及び消去に対応する)。
【0059】
図8のステップS810で、装置の第1部分が第1類型の情報を格納するための第1領域として構成されるか、又は指定される。本実施形態において、第1領域はメタデータ領域であり、第1類型の情報はメタデータである。ECCの大きさは可変(Vary)である。
【0060】
ステップS820で、第1アドレス空間情報に基づいて第1類型インターフェイス動作が実行される。具体例として、第1領域はメタデータ領域であり、第1類型の情報はメタデータである。本実施形態で、第1類型インターフェイスは論理アドレス空間インターフェイスであり、論理アドレス基盤の情報に基づいて動作が実行される。論理インターフェイス動作はFTL(フラッシュ変換ロジック)を含む。FTLは、メタデータ及び論理アドレスを受信し、システムレベル構成で示すアドレスブロックを物理レベル構成のアドレスブロックに変換する。
【0061】
ステップS830で、装置の第2部分が第2類型の情報を格納するための第2領域として構成されるか、又は指定される。本実施形態で、第2領域は使用者データ領域であり、第2類型の情報は使用者データである。選別潜在露出(SUE)アドレス空間は、物理アドレス空間に関連する複雑度を抽象化するか、又は除去するが、潜在物理アドレス空間構成との関係又は対応を依然として露出する。本実施形態で、物理空間次元は、SUEアドレスページ次元及びSUEアドレスブロック次元に抽出される。物理アドレス空間はSUEアドレスによって抽象化される。
【0062】
ステップS840、第2アドレス空間情報に基づいて第2類型インターフェイス動作が実行される。第2類型インターフェイスは潜在的な様相を露出する。第2アドレス空間情報はSUEアドレス空間情報である。SUEアドレス空間情報は潜在的な様相に対応する。潜在的な様相は、物理アドレス空間幾何構造の代表幾何構造又は次元を含む。SUEインターフェイスは、潜在的なシステム管理動作(例えば、フリー空間の管理、フリー空間の使用のための整備及び環境設定等)に関連する次元を露出する。メタデータ領域でのオーバープロビジョニングの比率は使用者データ領域でのオーバープロビジョニングの比率と互いに異なる。
【0063】
図9は、本発明の一実施形態による多重モードソリッドステートドライブを示すブロック図である。
図9で、多重モードソリッドステートドライブ920は、論理アドレス基盤のソリッドステートドライブ910及び物理アドレス基盤のソリッドステートドライブ930に関する従来の試みと比較される。
【0064】
論理アドレス基盤のソリッドステートドライブ910は、論理インターフェイス911、フラッシュ変換ロジック(FTL)912、及び論理アドレス空間913を含む。物理アドレス基盤のソリッドステートドライブ930は、物理インターフェイス931及び物理アドレス空間932を含む。多重モードソリッドステートドライブ920は、論理インターフェイス921、フラッシュ変換ロジック(FTL)922、論理アドレス空間923、SUEインターフェイス924、及び物理アドレス空間925を含む。
【0065】
多重モードソリッドステートドライブ920は、ドライブの潜在的な様相の便利で、選別的な露出を可能にする。十分に露出をしないか、又は過度な複雑度を有する従来のアプローチと異なり、多重モードソリッドステートドライブ920は、過渡な複雑さ無しで適切な量の露出を可能にする。
【0066】
実際、従来のソリッドステートドライブは、良好な線型アドレス空間を有するよりは、多数のフラッシュチップを有するコントローラを含む。このフラッシュチップは、ダイ上でトランジスタのグループ又はストリング(String)に格納されるデータを有するページからなるブロックで動作するように構成される。物理アドレス基盤のソリッドステートドライブ930は、格納媒体のすべての潜在的な物理アドレス様相を露出しようとする、これは(論理アドレス基盤のソリッドステートドライブ910に比べて)非常に速い動作を可能にするが、非常に複雑なアプローチをもたらす。論理アドレス基盤のソリッドステートドライブ910は、格納媒体の潜在的な細部様相を全て又は概ね隠すスキーム(Scheme)を利用して単一の線型フラットマッピング空間(Linear Flat Mapping Space)を有するが、潜在的な細部様相の大部分を隠しながら、根本的にはデータを物理領域に格納しようとすることは(物理アドレス基盤のソリッドステートドライブ930に比べて)システムを遅くする。
【0067】
多重モードソリッドステートドライブ920は、フラッシュ管理システムの動作を便利で、柔軟な構成とし、実装できるようにする。多重モードソリッドステートドライブ920は、論理アドレス空間923に対するフラッシュ管理システムの動作を、主に多重モードソリッドステートドライブ920の内部コントローラ(例えば、
図7のコントローラ775)で実行する。一方、SUEアドレス空間925に対するフラッシュ管理システムの動作は、主に多重モードソリッドステートドライブ920の外部コントローラ(例えば、
図7のコントローラ745)においてシステムレベルで実行される。
【0068】
多重モードソリッドステートドライブ920のフラッシュ管理システムの動作を分離又は分割する能力は、このような分離又は分割を許容しない物理アドレス基盤のソリッドステートドライブ910及び論理アドレス基盤のソリッドステートドライブ930で利用されるフラッシュ管理システムの動作とは異なる。論理アドレス基盤のソリッドステートドライブ910のためのフラッシュ管理システムの動作は、主に論理アドレス基盤のソリッドステートドライブ910の内部コントローラで実行され、物理アドレス基盤のソリッドステートドライブ930のためのフラッシュ管理システムの動作は、主に物理アドレス基盤のソリッドステートドライブ930の外部コントローラでシステムレベルに実行される。
【0069】
本実施形態で、多重モードソリッドステートドライブ920は、潜在アドレス空間の幾つかの特徴を選別的に露出し、論理アドレス基盤のソリッドステートドライブ910及び物理アドレス基盤のソリッドステートドライブ930は潜在アドレス空間の幾つかの特徴などを選別的に露出しない。本実施形態で、潜在的な様相を外部フラッシュ管理システム(例えば、
図7の多重モード格納管理システム720)に露出することは、その潜在的な様相の選択された露出のマッピングを含む。
【0070】
<II.選別潜在露出(SUE)マッピング>
【0071】
本発明の他の実施形態は、選別潜在露出(SUE)マッピングスキームを具現して、格納システムにおいて使用者データのために論理アドレス空間からSUEアドレス空間へのマッピングを生成する。個別の格納装置レベルよりはむしろ複数の格納装置に亘るシステムレベルで実行される特定の格納媒体管理機能を許容するために、SUEマッピングスキームは、潜在物理格納媒体の重要な特徴を選別的に露出する。
【0072】
例えば、本実施形態は、格納機器中の複数のNANDフラッシュ不揮発性メモリ装置に亘る使用者アドレス空間の様相の選別的な露出を可能にする。SUEマッピングスキームのSUEページ及びブロックは、対応する物理ページ及びブロックと整列させる。対応する物理ページ及びブロックは、物理的なNANDフラッシュ不揮発性メモリ装置の各々において1つの単位として共に管理される。物理的なNANDフラッシュ不揮発性メモリ装置の個別のダイ(die)は、SUEマッピングスキームでは区別されないが、SUEブロック大きさに間接的に反映される。
【0073】
格納装置の物理ページ及びブロックとSUEマッピングスキームのSUEページ及びブロックとの間の相関は、格納システム中のすべてのNANDフラッシュ不揮発性メモリ装置に亘るシステムレベルで組織され、具現される特定のNANDフラッシュ管理機能(例えば、消去、プログラミング、返還(ガーベッジコレクション)、及びフリー空間の管理)を許容する。特定の格納媒体管理機能のシステムレベルの具現は、格納資源の提供(Provision)に関する有益な効率性を提供する。
【0074】
図3を参照すると、NANDフラッシュ不揮発性メモリ装置のような多重モード格納装置(例えば、350、400、620)は、本明細書で説明するSUEマッピングスキームを利用して具現される。例えば、本実施形態において、多重モード格納装置はNANDフラッシュ基盤のソリッドステートドライブである。本実施形態で、多重モード格納装置は、標準ディスクドライブフォームファクタ(Standard Disk Drive Form Factor)や標準メモリカードフォームファクタ(Standard Memory Card Form Factor)のような標準化された物理的なフォームファクタにしたがう。
【0075】
図5を参照すると、上述のように、多重モード格納装置は、多数のNANDフラッシュメモリセルを有する複数のダイ(511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544)又はメモリチップを含む。各ダイ上のNANDフラッシュメモリセルは、物理ブロック(515、517、519、528、539)のように、複数の個別の物理ブロックにさらに区分される。
【0076】
消去及びフリー空間の管理は、多重モード格納装置のダイの1つ以上の個別グループ上のメモリセルのブロックに対して遂行される。例えば、多重モード格納装置は、128個のダイを含み、1つのグループ又は単位として、128個のダイの中の1つのブロックに対して消去及びフリー空間の管理を遂行する。或いは、多重モード格納装置は、128個のダイを含み、1つのグループとして、ダイの部分集合(例えば、32つのダイのグループ)の中の1つのブロックに対して消去及びフリー空間の管理を遂行する。
【0077】
図10は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEブロック及び対応するSUEページの一例を示すブロック図である。
【0078】
図10には、SUEブロック1010を形成する物理ブロック(1012、1014、1016、1018)の配列が示されている。メモリセルの物理ブロック(1012、1014、1016、1018)の各々は、さらにメモリセルの複数の個別物理ページ(例えば、1021、1022、1023、1024)に区分される。SUEページ1030は、対応するSUEブロック1010の物理ブロック(1012、1014、1016、1018)に対応する物理ページ(1032、1034、1036、1038を)含む。
【0079】
本実施形態では、メモリセルのSUE構成が多重モード格納装置(例えば、350、400、620)中に生成される。SUEページ及びSUEブロックは、プログラム及び消去の単位として共に管理される、格納装置上のダイの各グループに対して準備される。SUEブロックは、多重モード格納装置のダイの部分集合に含まれる各ダイから各々1つずつ選択される物理ブロックのメモリセルを含むように定義され、これらの物理ブロックは、1つの単位として共に消去され、管理される。SUEページは、1つのSUEブロックの個別セクション(Section)又はセグメント(Segment)を含むように定義され、この個別セクション又はセグメントは共にプログラムされる。
【0080】
例えば、本実施形態で、多重モード格納装置は、128個のダイを含み、各ダイに含まれる該当物理ブロック上のフリー空間を共に消去し、管理する。対応するSUEブロック1010は、多重モード格納装置の128個のダイから各々1つずつ選択される128個の物理ブロックのメモリセルを含むように定義される。対応するSUEページ1030は、128個の物理ブロックに各々対応する128個のセクション又はセグメントを含むように定義される。
【0081】
例えば、他の実施形態として、多重モード格納装置は、128個のダイを含み、1度に32個のダイの各物理ブロック上のフリー空間を共に消去し、管理する。対応するSUEブロック1010は、多重モード格納装置の32個のダイから各々1つずつ選択される32の物理ブロックのメモリセルを含むように定義される。この場合、対応するSUEページ1030は、32の物理ブロックに各々対応する32つのセクション又はセグメントを含むように定義される。
【0082】
さらに他の実施形態として、多重モード格納装置は、各々が4つのプレーン(Plane)に分けられた128個のダイを含み、各ダイに含まれる各々のプレーンのブロック上のフリー空間を管理する。対応するSUEブロック1010は、メモリ装置に含まれる各々のプレーンの128個のブロックのメモリセルを含むように定義される。この場合、対応するSUEページ1030は、各々のプレーンのブロックに対応する128個のセクション又はセグメントを含むように定義される。
【0083】
図11は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間のSUEブロック及び対応するSUEページの他の例を示すブロック図である。
【0084】
図11には、使用者格納空間のSUEブロック1110が示されている。本実施形態で、SUEブロック1110は、仮想ブロック(Virtual Block)と同様に考えることができる。SUEブロック1110は、個別格納装置レベルでメモリ媒体を管理するための動作の基本単位である。SUEブロックは、複数のSUEページで構成される。具体例として、SUEページは、仮想ページと同様に考えられる。例えば、
図11に示すSUEブロック1110は、4つのSUEページ(1121、1122、1123、1124)を含む。
【0085】
図5に示したように、SUEブロックのSUEページに割当られる物理的なメモリセルは、1つの多重モード格納装置(例えば、350、400、620)に含まれる複数のダイに亘って分布する物理ページ及び物理ブロックに対応して位置する。他の実施形態は、多重モード格納装置の物理的な消去ブロックサイズとプログラム可能な物理ページサイズとの間の関係に基づいて所定個数のページに分割されるブロックを含む。
【0086】
図12は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタページ及び対応するSUEページの例を示すブロック図である。
【0087】
図12には、メタページ(Metapage)1210が示されている。メタページ1210は、格納システム中で複数の格納装置に亘る複数のSUEページで構成される。例えば、
図12に示すメタページ1210は、5つのSUEページ(1211、1212、1213、1214、1215)を含む。他の実施形態としては、格納システム中の個別多重モード格納装置の個数及び多重モード格納装置の各々で1つの単位として共に管理されるダイの個数に基づいて、所定数のSUEページに分割されたメタページを含む。
【0088】
各SUEページに割当られる物理的なメモリセルは、個別の多重モード格納装置(例えば、350、400、620)に位置する。メタページ1210を形成する様々なSUEページ(1211、1212、1213、1214、1215)に割当られるメモリセルは、格納システム(例えば、格納機器)に関連する複数の格納装置(例えば、620、630、640、650)に位置する。
【0089】
したがって、SUEページ(1121、1122、1123、1124)のサイズ又は幅(Width)は、各多重モード格納装置で1つの単位として共に管理されるダイの個数に対応する一方、メタページ1210のサイズ又は幅は、格納システムに含まれる多重モード格納装置の個数に対応する。
【0090】
図13は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタブロック及び対応するSUEメタページの一例を示すブロック図である。
【0091】
図13には、メタブロック(Metablock)1310の例が示されている。メタブロック1310は、複数のメタページ(1311、1312、1313、1314)で構成される。メタページ1210と同様に、メタブロック1310に割当られる物理的なメモリセルは、格納システムに関連する複数の格納装置に位置する。即ち、メタブロック1310は、格納システムに含まれる多重モード格納装置(例えば、620、630、640、650)の各々において、1つの単位として共に管理されるダイの対応する部分集合に含まれる各ダイから選択される該当ブロックを含む。したがって、メタブロック1310の大きさは、各多重モード格納装置(例えば、350、400、620)で共に管理されるダイの個数、及び格納システムに含まれる多重モード格納装置(620、630、640、650)の個数に対応する。
【0092】
図14は、本発明の一実施形態による多重モード格納装置の使用者領域への格納のためのSUEメタブロック及び対応するSUEブロックの他の例を示すブロック図である。
【0093】
図14には、メタブロック1410が複数のSUEブロック(例えば、1110)で構成されることが示されている。メタブロック1410は、格納システムに含まれる多重モード格納装置(例えば、620、630、640、650)の各々で共に管理されるダイの各部分集合から選択される各々のSUEブロック(1411、1412、1413、1414、1415)の結合である。同様に、メタページ1210は、メタブロック1410で対応するSUEブロック(1411、1412、1413、1414、1415)の各々から選択される対応するSUEページ(例えば、1211、1212、1213、1214、1215)の結合である。
【0094】
本実施形態で、特定のメモリ媒体管理機能(例えば、消去、プログラミング、返還(ガーベッジコレクション)、及びフリー空間の管理等)は、メタブロックレベルで実行される。即ち、このメモリ媒体管理機能は、個別の格納装置レベルに代わり、格納システムレベルで提供される。
【0095】
所望のシステムレベルのメモリ管理を可能にするために、使用者データに割当され、アプリケーション及びバーチャルマシンオペレーティングシステム(Virtual Machine Operating System)によって取り扱われる論理アドレス空間がSUEアドレス空間にマッピングされる。したがって、格納システムに含まれる多重モード格納装置の使用者領域は、潜在露出インターフェイスを通じて取り扱われる。システムレベルのメモリマッピング及び管理は、書込み増幅因子を減少させ、これは格納領域の提供を減らして費用減少を可能にする。
【0096】
図15は、本発明の一実施形態による論理アドレスからSUEアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現されるSUEマッピングスキームの例を示す概念図である。
【0097】
図15には、SUEマッピングスキーム1500が示されている。SUEマッピングスキーム1500は、
図6の多重モード格納管理システム610のような格納システムによって具現され、本施形態において、論理アドレスからSUEアドレスへのアドレスマッピングを提供する。SUEマッピングスキーム1500は、論理アドレス空間をSUEアドレス空間に関連させる。SUEアドレス空間は、潜在物理格納媒体の重要な特徴を示す。SUEアドレス空間は、格納システムに含まれる複数の格納装置の結合された物理的な格納空間を取り扱うために利用される。
【0098】
使用者データ1502は、例えば、ホストアプリケーション及びバーチャルマシンオペレーティングシステムから入力として受信される。ホスト使用者データは、元のホストファイルシステム、インターフェイス標準等に関連する論理ブロックサイズ(例えば、512Kバイトサイズの情報)に対応する格納単位(例えば、論理アドレス基盤のブロック又は論理ブロック)に組織される。受信された使用者データの各論理ブロックは、論理ブロックアドレス(LBA)によって取り扱われる。例えば、本実施形態で、入力された論理ブロックのアドレッシング動作は、ANSI(American National Standards Institute)によって配布されたSCSI(Small Computer System Interface)標準に関連して取り扱われる。
【0099】
使用者データ1502の論理アドレス基盤のブロックは、SUEアドレスを有する(SUE Addressable)単位、又は(ハイブリッドマッピングシステム(Hybrid Mapping System)のマッピングブロック)に結合される。本実施形態で、所定個数(Integral Number)の論理ブロックが、SUEアドレスを有する1つの単位を形成するためにグループ化される。例えば、
図15で、8つの論理ブロックがSUEアドレスを有する単位を形成するために結合される。代案的な実施形態で、SUEアドレスを有する1つの単位を形成するために整数個(Whole Number)又は実数個(Fractional Number)の論理ブロックが結合される。
【0100】
本実施形態で、SUEアドレスを有する単位は、格納システムのためのマッピングの最小グラニュラリティを有する。多様な実施形態で、SUEアドレスを有する単位は、4Kバイト、8Kバイト、又はその他の適当なサイズを有する。
【0101】
本実施形態で、格納システムは、一連のボリューム(Volume)を含む。各ボリュームは、SUEアドレスを有する一連の単位を含み、SUEアドレスを有する各単位は、一連の論理単位を含む。異なるボリュームは、各々異なるSUEアドレスを有する単位の大きさを有する。ボリュームは、多くの特性を有することが理解される。ボリュームは、アプリケーション、単一の使用者レベルファイルシステム、論理的なドライブ、ネームスペース(Namespace、例えば、与えられたネームスペースに関連する隣接する論理アドレスの集合)、LUN(Logical Unit Number)等に対応する。
【0102】
図15に示す具体例で、論理ブロックアドレス(1521、1522、1523、1524、1525、1526、1527、1528)によって取り扱われる論理アドレス基盤のブロック(1531、1532、1533、1534、1535、1536、1537、1538)は、SUEアドレスを有する単位1503に結合され、論理ブロックアドレス(1541、1542、1543、1544、1545、1546、1547、1548)によって取り扱われる論理アドレス基盤のブロック(1551、1552、1553、1554、1555、1556、1557、1558)は、SUEアドレスを有する単位1504に結合され、論理ブロックアドレス(1571、1572、1573、1574、1575、1576、1577、1578)によって取り扱われる論理アドレス基盤のブロック(1581、1582、1583、1584、1585、1586、1587、1588)は、SUEアドレスを有する単位1505に結合される。論理ブロックは、アドレスを有する単位にまたがるアドレスを有する単位毎に複数のブロックが含まれる。
【0103】
オプション(Option)として、SUEアドレスを有する単位(例えば、1503、1504、1505)の使用者データ1502に対してデータ圧縮アルゴリズムが実行され、これによってSUEアドレスを有する圧縮された単位(例えば、1507、1508、1509)が生成される。SUEアドレスを有する圧縮された単位(例えば、1507、1508、1509)に各々対応してヘッダー(Header)セクション(例えば、1511、1512、1513)が生成される。ヘッダーセクションは、例えば、返還及びデータ復旧活動に利用される情報を含む。
【0104】
SUEアドレスを有する圧縮された単位及びヘッダーセクションは、格納装置伝送ブロック(又は、ソリッドステートドライブ伝送ブロック)(1515、1517)に位置する。図示された例で、ヘッダーセクション(1511、1512、1513)及びこれに対応するSUEアドレスを有する圧縮された単位(1507、1508、1509)が、ソリッドステートドライブ伝送ブロック(1515、1517)に含まれる。本実施形態で、SUEアドレスを有する圧縮された単位はもちろん、使用者データ1502に含まれる論理ブロックも、2以上の格納装置伝送ブロックに亘って位置する。
【0105】
所定個数(Integral Number)の格納装置伝送ブロックが、多重モード格納装置への伝送のためにSUEページ(1591、1592、1593、1594)に合わせて整列される。本実施形態で、SUEアドレスを有する圧縮された単位はもちろん、使用者データ1502に含まれる論理ブロックも、2以上のSUEページ(1591、1592、1593、1594)に亘って位置する。
【0106】
本実施形態で、ECC等を利用して使用者データ1502に対して実行される誤謬訂正がシステムレベルでは具現されない。但し、誤謬訂正は、個別の多重モード格納装置によって具現される。
【0107】
使用者データに関連するメタデータは、多重モード格納装置(例えば、350、400、620)の論理アドレス基盤のシステム領域に格納される。例えば、本実施形態で、論理ブロックのアドレッシング動作を利用して管理される多重モード格納装置のメモリセルの一部分は、マップテーブル(Map Table)を格納する。マップテーブルは、SUEアドレスを有する単位をSUEアドレス空間にマッピングする。例えば、マップテーブルは、ポインター(Pointer)を格納でき、ポインターの各々はSUEアドレスを有する個別の単位を示す。したがって、SUEアドレス空間で、使用者データの論理ブロックの対応する格納位置は、SUEアドレスを有する単位のマッピング、及び論理ブロック及びSUEアドレスを有する単位の対応するオフセット(Offset)を利用して判別される。
【0108】
本実施形態において、ボリューム(例えば、671、672、673)に情報が格納される。複数のボリューム又はネームスペースがあり、異なるボリューム又はネームスペースは異なるサイズのSUEアドレスを有する単位に関連される。異なるサイズのボリューム又はネームスペースが同一サイズのSUEアドレスを有する単位に関連する。
【0109】
図16は、
図15のSUEマッピングスキームを具現する格納システムの例を示すブロック図である。
図16を参照すると、格納システム1602は、プロセッサ1604、メモリ1606、ネットワークインターフェイス1608、入出力装置1610、表示装置1612、バス1614、及び複数の不揮発性メモリ装置1616を含む。格納システム1602の多様な構成要素は、ローカルデータリンク(Local Data Link)1618によって連結される。ローカルデータリンク1618は、例えば、アドレスバス、データバス、直列バス、並列バス、又はこれらの組み合せを含む。
【0110】
プロセッサ1604は、格納システム1602を制御するのに好適な汎用プロセッサ又は特定用途向けデジタルプロセッサ(Application Specific Digital Processor)を含む。メモリ1606は、プロセッサ1604によってアクセスされるデータ及び命令語(Instruction)を格納するのに好適なデジタルメモリ装置を含む。
【0111】
ネットワークインターフェイス1608は、格納システム1602を通信ネットワーク(例えば、LAN(Local Area Network)、IP(Internet Protocol)ネットワーク等)に通信連結するのに好適なネットワークインターフェイスを含む。ネットワークインターフェイス1608は、格納ネットワーク標準(例えば、iSCSI(Internet Small Computer System Interface)プロトコル)を具現する。
【0112】
入出力装置1610は、格納システム1602でデジタル情報を送受信するのに好適な装置を含む。表示装置1612は、文字又はGUI(Graphical User Interface)を表示するのに好適な装置を含む。
【0113】
バス1614は、例えば、PCIe(Peripheral Component Interconnect Express)バスや格納システムの通信のために利用されるその他の何らかの高速直列拡張バスを含む。バス1614は、格納システム1602の格納装置(例えば、不揮発性メモリ装置1616)にアクセスするために、NVMe(Nonvolatile Memory Express)又はNVMHCI(Nonvolatile Memory Host-Controller Interface)標準を利用する。不揮発性メモリ装置1616は、例えば、NANDフラッシュ基盤のソリッドステートドライブやその他の何らかの好適な不揮発性メモリ装置を含む。
【0114】
他の実施形態として、汎用コンピューティング装置が、
図15のSUEマッピングスキーム1500の機能を具現する。例えば、汎用コンピューティング装置は、サーバー、ワークステーション、及び個人用コンピュータ等を含む。
【0115】
不揮発性メモリ装置1616のようにコンピュータで読出できる媒体に格納されるプログラムコード(例えば、ソースコード(Source Code)、オブジェクトコード(Object Code)、及び実行可能なコード(Executable Code)等)は、ワーキングメモリ又は演算メモリ(例えば、メモリ1606)にロード(Load)されて、
図15のSUEマッピングスキーム1500の機能を遂行するためにプロセッサ1604によって実行される。他の実施形態として、実行可能な命令語がファームウェア形態に格納されるか、又はその機能が専用ハードウェアによって実行される。
【0116】
図17は、本発明の一実施形態による論理アドレス空間をSUEアドレス空間にマッピングする方法を説明するフローチャートである。例えば、
図17に示す方法は、格納システムに含まれる複数の格納装置の結合物理格納空間を取り扱うために論理アドレス空間をSUEアドレス空間にマッピングするSUEマッピングスキームを具現する
図16の格納システム1602によって実行される。
【0117】
先ず、ステップS1702で、例えば、ホストアプリケーション又はバーチャルマシンオペレーティングシステムから使用者データを受信する。受信した使用者データは、論理ブロックに構成されて論理ブロックアドレスとして取り扱われる。論理ブロックは、元のホストファイルシステム、データベース等に関連して、アドレスを有するメモリ単位の最小サイズに対応する。
【0118】
ステップS1704で、上述のように、論理ブロックが選別潜在露出(SUE)アドレスを有する単位に結合される。例えば、所定個数(Integral Number)の論理ブロックがSUEアドレスを有する各単位を形成するためにグループ化される。ステップS1706で、オプションとして、SUEアドレスを有する単位の使用者データに対してデータ圧縮アルゴリズムが実行される(
図17で破線で表示された動作はオプションである)。
【0119】
ステップS1708で、ヘッダーセクションが生成されてSUEアドレスを有する各単位に加えられる。例えば、ヘッダーセクションは、返還及びデータ復旧活動に利用するための情報を含む。ステップS1710で、SUEアドレスを有する圧縮された単位及びヘッダーセクションが格納装置伝送ブロックに配置される。
【0120】
その後、ステップS1712で、所定個数(Integral Number)の格納装置伝送ブロックが結合されて、選別潜在露出(SUE)ページに合うように整列される。ステップS1714で、SUEページに対応する格納装置伝送ブロックが多重モード格納装置に伝送されて、使用者領域に格納される。ステップS1716で、SUEページの使用者データに関するメタデータが、多重モード格納装置に伝送されて、システム領域に格納される。
【0121】
<III.多重モード格納管理システム>
【0122】
図18は、格納システム(例えば、
図16の格納システム1602)が本発明の一実施形態による格納システムで論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システムの一例を示すブロック図である。多重モード格納管理システム1802は、選別潜在露出格納管理器1804、論理格納管理器1806、返還管理器1808、及び格納アレイ(Array)管理器1810を含む。
【0123】
選別潜在露出格納管理器1804は、使用者データ格納マッピング、読出し及び書込み機能を提供する。選別潜在露出格納管理器1804は、選別潜在露出(SUE)アドレスマッピングスキームを利用して、使用者データを格納システムの使用者領域にマッピングする。選別潜在露出格納管理器1804は、格納システムの格納装置への選別潜在露出インターフェイスを通じて、使用者領域に格納された使用者データにアクセスする。
【0124】
SUEマッピングスキームは、格納システムと格納装置との間で、論理ブロックアドレスから物理アドレスへのマッピング機能を分配する。即ち、SUEマッピングスキームは、論理ブロックアドレスからSUEアドレスへの格納システムレベルのマッピング又は仮想化(Virtualization)と、選別潜在露出アドレスから物理アドレスへの格納装置水準のマッピング又は変換を結合する。
【0125】
SUEマッピングスキームは、格納装置の特定の物理的な特徴又は代表幾何構造を格納システムに露出し、使用者データに特定の不揮発性メモリ管理機能が個別の格納装置レベルよりは複数の格納装置に亘って格納システムレベルで実行されるようにする。このように、個別の格納装置レベルから格納システムレベルに使用者データ管理作業を再分配することは、書込み増幅因子の減少を含んでシステム効率性を向上させ、資源提供を減らし、費用減少を可能にする。
【0126】
論理格納管理器1806は、システムデータ格納マッピング、読出し、及び書込み機能を提供する。論理格納管理器1806は、論理ブロックアドレス(LBA)のような論理アドレスマッピングスキームを利用して、システムデータを格納装置のシステム領域にマッピングする。論理格納管理器1806は、格納装置への論理インターフェイスを通じて、システム領域に格納されたシステムデータにアクセスする。
【0127】
したがって、本実施形態において、関連する格納装置又は関連する複数の格納装置の各々のメモリ領域は、論理アドレス基盤のシステム領域及び選別潜在露出(SUE)アドレス基盤の使用者領域を含んで、別個の格納領域又はアドレス領域にさらに分けるか、又は分割される。格納装置は、2つのホストインターフェイスを含む。1つは論理アドレス基盤のシステム領域へのアクセスを提供できる論理ホストインターフェイスであり、他の1つは選別潜在露出アドレス基盤の使用者領域へのアクセスを提供できるSUEホストインターフェイスである。システムデータに関する不揮発性メモリ管理機能は、個別の格納装置コントローラによって実行される。
【0128】
返還管理器1808は、使用者データに関して格納システムレベルで提供される不揮発性メモリ管理機能を提供するが、この不揮発性メモリ管理機能はフリー空間の管理及び返還、又はガーベッジコレクションを含む。したがって、格納システムに含まれる個別の格納装置は、使用者データのためのローカル返還(ガーベッジコレクション)を実行しない。返還管理器1808は、多様なフリー空間の管理及び返還方法を具現する。本実施形態で、返還管理器1808は、本明細書で説明する新しいフリー空間の管理及び返還方法を実行する。
【0129】
格納アレイ管理器1810、又はRAID(Redundant Array of Independent Disks)管理器は、格納システムに含まれる複数の格納装置のアレイのための格納管理を提供するが、この格納管理は使用者データに関するデータ復旧機能を含む。したがって、格納システムに含まれる個別の格納装置は、使用者データのためのダイレベルのRAID機能を実行しない。格納アレイ管理器1810は、多様な格納管理及びデータ復旧方法を具現する。本実施形態で、格納アレイ管理器1810は、本明細書で説明する新しい格納管理及びデータ復旧方法を実行する。
【0130】
図19は、格納システム(例えば、
図16の格納システム1602)が本発明の一実施形態による格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システムの他の例を示すブロック図である。多重モード格納管理システム1902は、データ整列器1904、選別潜在露出格納アクセス管理器1906、データ圧縮管理器1908、ボリュームマッピングエンジン1910、バッファ管理器1912、メタブロック管理器1914、返還管理器1916、格納アレイ管理器1918、及び論理格納アクセス管理器1920を含む。
【0131】
データ整列器1904は、論理アドレス基盤の媒体アクセスコマンド(例えば、読出しコマンド、書込みコマンド、マッピング解除(Unmapping)コマンド等)をSCSIターゲットから受信する。このコマンドは論理ブロックアドレス(LBA)方式を採用し、SCSIのメモリ位置抽出基準は、メモリブロックが整数指標(Integer Index)によって指示される線型アドレススキームに基づく。論理ブロックアドレス方式で、単一整数基盤のアドレスがデータの各論理ブロックの開始を識別するために利用され、各線型基盤アドレスは単一論理ブロックと固有に関連される。したがって、論理ブロックアドレス方式は、格納装置の細部的な事項又は特徴をオペレーティングシステム、ファイルシステム、装置ドライバー、及びホストアプリケーションから隠すか又はマスクする。
【0132】
書込み動作の間に、データ整列器1904は、SCSIターゲット(Target)から受信したデータの論理ブロックをSUEマッピングブロックに結合する。例えば、本実施形態で、所定個数(Integral Number)の論理ブロックが1つのSUEマッピングブロックを形成するためにグループ化される。オプションとして、データ圧縮管理器1908は、SUEマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを実行する。
【0133】
読出し動作の間に、データ整列器1904は、読出しコマンドをSCSIターゲットから受信し、読出し要請を選別潜在露出格納アクセス管理器1906に伝達する。データ整列器1904は、要請された使用者データを選別潜在露出格納アクセス管理器1906から受信し、要請された使用者データをSCSIターゲットに伝達する。
【0134】
選別潜在露出格納アクセス管理器1906は、使用者データ読出し及び書込み機能を提供する。書込み動作の間に、選別潜在露出格納アクセス管理器1906は、各SUEマッピングブロックに対してヘッダーセクションを生成する。ヘッダーセクションは、例えば返還及びデータ復旧活動に利用される情報を含む。選別潜在露出格納アクセス管理器1906は、圧縮されたSUEマッピングブロックとこれに対応するヘッダーセクションを共に格納装置伝送ブロックに位置させる。本実施形態において、圧縮されたSUEマッピングブロックはもちろん、使用者データに含まれる論理ブロックも、2以上の格納装置伝送ブロックに亘って位置する。
【0135】
選別潜在露出格納アクセス管理器1906は、所定個数(Integral Number)の格納装置伝送ブロックを、格納装置への伝送のためのSUEページに整列する。選別潜在露出格納アクセス管理器1906は、SUEページに対応する格納装置伝送ブロックを書込みバッファに伝送する。
【0136】
本実施形態で、圧縮されたSUEマッピングブロック及び使用者データに含まれる論理ブロックは、2以上のSUEページに亘って位置する。各SUEページは、格納システムの個別の格納装置に対応する。SUEページは、SUEマッピングスキームでプログラム又は書込み動作の基本単位である。
【0137】
読出し動作の間に、選別潜在露出格納アクセス管理器1906は、要請された使用者データの位置を判別し、要請された使用者データが関連格納装置から読み出されるように読出しバッファに要請する。選別潜在露出格納アクセス管理器1906は、使用者データを読出しバッファからデータ整列器1904に伝送する。
【0138】
データ圧縮管理器1908は、SUEアドレススキームの下位機能として又はSUEアドレススキームに相互補完的な機能として、使用者データに対して圧縮アルゴリズムを実行する。データ圧縮管理器1908によって実行されるデータ圧縮機能はオフセットが内在するシステムで書込み増幅を引き起こす要因を解消するのに役に立つ。
【0139】
ボリュームマッピングエンジン1910は、SUEアドレスマッピング機能を調整する。ボリュームマッピングエンジン1910は、使用者データの現在位置を書き込む使用者領域マップテーブルを維持する。使用者領域マップテーブルは、論理ブロックアドレスを格納された使用者データの選別潜在露出(SUE)アドレスと連関させるマッピング情報を含む。使用者領域マップテーブルは、関連格納装置の論理アドレス基盤のシステム領域に格納される。
【0140】
書込み動作の間に、ボリュームマッピングエンジン1910は、書き込まれた使用者データに対して選別潜在露出格納アクセス管理器1906から受信された新しい又は変更されたSUEアドレス位置に基づいて、使用者領域マップテーブルを更新する。
【0141】
読出し動作の間に、ボリュームマッピングエンジン1910は、要請された論理ブロックアドレスに基づいて、要請された使用者データのSUEアドレス位置を使用者領域マップテーブルで検索する。ボリュームマッピングエンジン1910はSUEアドレス位置を選別潜在露出格納アクセス管理器1906に提供する。
【0142】
ボリュームマッピングエンジン1910は、使用者データをSUEページ、SUEブロック、メタページ、及びメタブロックで構成する。SUEブロックは、多数の物理ブロックを個別の格納装置にマッピングする。本実施形態で、同一のSUEブロックにマッピングされる物理ブロックは格納装置の別個のダイ上に各々位置する。同一のSUEブロックにマッピングされるすべての物理ブロックは、格納装置レベルで1つの単位として消去され、管理される。したがって、SUEブロックは、フリー空間の返還及び管理に対して各々のダイ上で共に管理される物理ブロックのグループに対応する。同様に、1つのSUEブロックに対応するダイ上の各々の物理ブロックのグループは格納媒体の1つの単位として管理される。
【0143】
各SUEブロックは、多数のSUEページを含み、このSUEページの各々は、SUEブロックにマッピングされる該当物理ブロックの物理ページに整列される。格納システムに含まれるすべての格納装置に亘って位置する各々のSUEブロックの対応するSUEページはメタページにマッピングされる。同様に、格納システムに含まれるすべての格納装置に亘って位置する対応するSUEブロックはメタブロックにマッピングされる。
【0144】
多重モード格納管理システム1902のレベルでの格納媒体管理機能(例えば、フリー返還及び自由空間の管理)は、使用者データのメタブロックに対して実行される。したがって、多重モード格納管理システム1902のレベルでの格納媒体管理機能は、格納システムに含まれる各格納装置で共に管理される該当物理ブロックのグループに対して遂行される。
【0145】
プログラム動作及び読出し動作は、使用者データのメタページに対して実行される。したがって、プログラム動作及び読出し動作は格納システムに含まれる各不揮発性メモリ装置で共に管理される該当物理ページのグループに対して実行される。
【0146】
したがって、格納システムに含まれる格納装置は、物理的な格納領域の重要な構成又は代表幾何構造を多重モード格納管理システム1902に露出する方式に仮想化する。単一の格納装置に含まれる各々のダイ上で共に管理される物理ブロックのグループは、多重モード格納管理システム1902にSUEブロックとして提供され、そして格納システムに含まれるすべての格納装置に亘って位置する各々のダイ上で共に管理される物理ブロックの該当グループは、多重モード格納管理システム1902にメタブロックとして提供される。
【0147】
同様に、単一の格納装置に含まれる各々のダイ上で共にプログラムされる物理ページのグループは、多重モード格納管理システム1902にSUEページとして提供され、そして格納システムに含まれるすべての格納装置に亘って位置する各々のダイ上で共にプログラムされる物理ページのグループは多重モード格納管理システム1902にメタページとして提供される。
【0148】
バッファ管理器1912は、読出し及び書込みバッファのプール(Pool)を管理する。書込み動作の間に、使用者データが格納アレイ管理器1918を経て個別の格納装置にSUEページとして別々に送られる前に使用者データの完全なメタページが概ね累積される時まで、バッファ管理器1912は選別潜在露出格納アクセス管理器1906から受信された格納装置伝送ブロックを書込みバッファに累積させる。
【0149】
読出し動作の間に、バッファ管理器1912は、読出しキャッシュ(Cache)機能を支援するために読出しバッファを提供する。格納アレイ管理器1918から格納装置伝送ブロックとして受信される使用者データのSUEページは、SUE格納アクセス管理器1906に伝達される時まで読出しバッファに格納される。
【0150】
メタブロック管理器1914は、格納装置の使用者領域で定義される個別のメタブロックの現在状態(例えば、消去される、活性化される(Active)、閉じる(Closed)、返還、又は消去中)を続いて把握し、管理する。現在状態はメタブロック情報テーブルに格納されるが、メタブロック情報テーブルはメモリに格納され、格納装置のシステム領域にバックアップされる。また、メタブロック管理器1914は、現在特定の状態にあるメタブロックの該当リスト(例えば、消去されたリスト、返還リスト、消去中であるリスト等)を維持する。メタブロック管理器1914は返還活動のために選別潜在露出格納アクセス管理器1906に伝送しようとする特定メタブロックを選択する。
【0151】
返還管理器1916は、指定されたメタブロックの有効な(Valid)使用者データを復旧し、その有効な使用者データを他のメタブロックに移動させるために、メタブロック管理器1914からの返還要請を処理する。返還管理器1916は、格納装置の使用者領域にフリー空間を提供するために、指定されたメタブロックに対応する物理的なメモリセルが消去され、返還されるように要請する。
【0152】
格納アレイ管理器1918は、格納装置の使用者領域をSUEインターフェイスに提供する。それだけでなく、格納アレイ管理器1918は、格納装置のシステム領域を論理インターフェイスに提供する。格納アレイ管理器1918は、RAIDストライプ(Stripe)方式及びパリティー検査のようなデータ保護機能を提供する。例えば、本実施形態で、格納装置伝送ブロックはRAID要素として利用され、RAIDストライプは1メタページのすべてのSUEページに亘って位置する格納装置伝送ブロックを含む。したがって、格納システムで所定の格納装置が故障になると、格納アレイ管理器1918は逆パリティー(Reverse Parity)演算を利用して、故障になった格納装置からデータを復旧する。
【0153】
論理格納アクセス管理器1920は、論理アドレス方式を利用して、システムデータの読出し及び書込み機能を提供する。論理格納アクセス管理器1920は、使用者データにメタデータを格納し、読み出すが、このメタデータは使用者領域マップテーブル、メタブロック情報テーブル、及びボリュームテーブルはもちろん、格納システムファイル、ログ(Log)ファイル等を含む。
【0154】
使用者領域に格納される使用者データと関連して、個別の不揮発性メモリ装置は、特定メモリ媒体の管理機能(例えば、読出し再試行(Retry)、損傷した物理ブロックのマッピング、ECC、改善されたISPP(Incremental Step Pulse Programming)等)を責任を負う。システム領域に格納されるシステムデータと関連して、個別の不揮発性メモリ装置は、すべてのメモリ媒体の管理機能(例えば、返還、ウェアレベリング(Wear-leveling)、読出し及び書込みキャッシング(Caching)、読出し再試行、損傷した物理ブロックのマッピング、ECC、改善されたISPP等)を責任を負う。
【0155】
図20は、格納システムが本発明の一実施形態による格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した多重モード格納管理システム(又は、ハイブリッドマッピングシステム)のさらに他の例を示すブロック図である。
【0156】
多重モード格納管理システム2002は、格納システムに含まれる複数の格納装置に亘って分布する使用者領域に不揮発性メモリ媒体管理を、責任を負う全域フラッシュ変換階層(Global Flash Translation Layer)として動作する。多重モード格納管理システム2002は、不揮発性メモリ媒体のアクセス機能、ホストアプリケーションの論理アドレス空間の要素を物理的な不揮発性メモリ位置に整列されたSUEアドレス空間のデータ構造にマッピングするためのアドレスマッピング機能、返還、及びウェアレベリング機能を遂行する。
【0157】
多重モード格納管理システム2002は、データ整列器2004、使用者領域アクセス管理器2006、使用者領域マッピングエンジン2008、バッファ管理器2010、システム領域アクセス管理器2012、メタブロック管理器2014、メタブロック情報管理器2016、格納装置制御管理器2018、格納装置アクセス管理器2020、全域状態(Global State)管理器2022、及び全域誤謬(Global Error)管理器2024を含む。多重モード格納管理システム2002は、システム状態管理器2026、システムログ及び統計管理器2028、ターゲット装置2030、及び様々な不揮発性メモリ装置2032と通信するように連結される。
【0158】
全域誤謬管理器2024は、多重モード格納管理システム2002を含む格納システムで発生する全域誤謬を管理する。システム状態管理器2026は、多重モード格納管理システム2002の状態(例えば、動作環境)を管理する。システムログ及び統計管理器2028は多重モード格納管理システム2002を含む格納システムの動作に基づいて、システムログ/統計を提供する。不揮発性メモリ装置2032は、広く利用される何らかの種類の不揮発性メモリでも含む。ターゲット装置2030は、読出し/書込み動作の対象である他のメモリ装置である。
【0159】
データ整列器2004は、ターゲット装置2030から論理アドレス基盤の媒体アクセスコマンド(例えば、読出しコマンド、書込みコマンド、マッピング解除コマンド等)を受信する。データ整列器2004は、論理ブロックアドレス(LBA)のバッファリストを入力として受信する。書込み動作の間に、データ整列器2004は、ターゲット装置2030から受信したデータの論理ブロックをSUEマッピングブロック(又は、ハイブリッドマッピングブロック(Hybrid Mapping Block))に結合する。例えば、本実施形態で、所定個数(Integral Number)の論理ブロックが1つのSUEマッピングブロックを形成するためにグループ化される。
【0160】
データ整列器2004は、ターゲット装置2030から受信される整列された使用者データのトラフィック(Traffic)及び整列されない使用者データのトラフィック全てを統合する。この時、データ整列器2004は、論理アドレスから物理アドレスへのマッピングのための単位(SUEマッピングブロック)にデータを整列するために、整列されない書込みトラフィックのための読出し/修正/書込み(Read/Modify/Write)動作を遂行する。データ整列器2004は、使用者データを、SUEマッピングブロックに整列されたバッファリーストに位置させる。多様な実施形態で、SUEマッピングブロックは4Kバイト、8Kバイト、16Kバイト等のように、固定されたデータ量を有する。
【0161】
読出し動作の間に、データ整列器2004は、ターゲット装置2030から読出しコマンドを受信して、読出し要請を使用者領域アクセス管理器2006に伝達する。データ整列器2004は、要請された使用者データを使用者領域アクセス管理器2006から受信して、その要請された使用者データをターゲット装置2030に伝達する。
【0162】
図21は、本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域アクセス管理器を示すブロック図である。
図21を参照すると、使用者領域アクセス管理器2006は、読出し管理器2102、書込み管理器2104、データ圧縮管理器2106、データ圧縮解除(Decompression)管理器2108、返還管理器2110、フリー空間書込み管理器2112、流れ制御管理器2114、及びサービス品質管理器2116を含む。
【0163】
読出し管理器2102は、データ整列器2004から読出し要請を受信し、その読出し要請を処理する。読出し管理器2102は、使用者領域マッピングエンジン2008に関連されたマッピング情報を要請する。読出し管理器2102は、読出し要請を格納装置アクセス管理器2020に送る。読出し動作の間に、読出し管理器2102は、バッファ管理器2010に読出しバッファの使用者データを送ることを要請する。読出し管理器2102は、読出し要請された使用者データに圧縮解除要請をデータ圧縮解除管理器2108に送る。
【0164】
書込み管理器2104は、データ整列器2004から書込み要請を受信する。書込み動作の間に、書込み管理器2104は、SUEマッピングブロックストリームに対するメタデータヘッダーを生成し、使用者データのSUEアドレスに関して使用者領域マッピングエンジン2008のためにマッピング情報を生成する。書込み管理器2104は、使用者データ圧縮コマンドをスケジューリング(Scheduling)するために圧縮要請をデータ圧縮管理器2106に送り、格納装置アクセス管理器2020に書込み要請を送る。書込み管理器2104は、バッファ管理器2010に書込みバッファの使用者データを送ることを要請する。書込みデータの現在メタブロックがいっぱになった場合、書込み管理器2104は、メタブロック管理器2014に新しい活性化されたメタブロックを開けることを要請する。
【0165】
データ圧縮管理器2106は、書込み管理器2104から圧縮要請を受信し、その圧縮要請を処理する。本実施形態で、データ圧縮管理器2106は、SUEマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを具現する。他の実施形態で、データ圧縮管理器2106は、外部圧縮ユニット(図示せず)に対してデータ圧縮作業をスケジューリングする。
【0166】
データ圧縮解除管理器2108は、読出し管理器2102から圧縮解除要請を受信し、その圧縮解除要請を処理する。本実施形態で、データ圧縮解除管理器2108は、SUEマッピングブロックの使用者データに対してデータ圧縮解除アルゴリズムを具現する。他の実施形態で、データ圧縮解除管理器2108は、外部圧縮解除ユニット(図示せず)に対してデータ圧縮解除作業をスケジューリングする。
【0167】
返還管理器2110は、メタブロック管理器2014から返還要請を受信し、フリー空間を返還するために指定されたメタブロックから有効データを復旧するためにその返還要請を処理する。返還管理器2110は、使用者領域マッピングエンジン2008に関連されたマッピング情報を要請し、指定されたメタブロックに関して読出し要請を読出し管理器2102に送る。返還管理器2110は、格納装置からの読出しデータストリームのSUEマッピングブロックに伴うメタデータヘッダーを分析し、指定されたメタブロックに残っているすべての有効データに関して書込み管理器2104に書込み要請を送る。また、返還管理器2110は、部分的なメタブロックデータを返還するために格納装置制御管理器2018からの要請を処理する。
【0168】
フリー空間書込み管理器2112は、書込み動作の間に書込み管理器2104からマッピング情報を受信し、メタブロックに格納された古くなった使用者データに関してフリー空間の情報を生成する。フリー空間書込み管理器2112は、フリー空間の情報をメタブロック情報管理器2016に送って、該当メタブロック情報テーブルの個体を更新する。
【0169】
流れ制御管理器2114は、読出し/書込みバッファ、圧縮バッファ、格納バス及びその他のキュー深さ(Queue Depth)等のようなシステム資源をモニターリングする。システムレベルの資源提供が基準限界の以下に低下される場合、流れ制御管理器2114は、サービス品質管理器2116の調節水準(Throttling-down Level)をリセットする。本実施形態で、資源提供の要求水準はシステム管理者コマンドを利用して設定される。流れ制御管理器2114は、システム管理者に統計値を提供するが、この統計値はインターフェイスレベルの調節(Throttling)のために利用される。
【0170】
サービス品質管理器2116は、システム資源提供水準及びレイテンシ(Latency)測定値に基づいて、サービス品質の政策を定義する。サービス品質管理器2116は、異なるサービス品質政策プールを支援するために様々なキューを具現する。レイテンシ基盤の政策に関して、サービス品質管理器2116は、キュー個体に対してタイムスタンプ(Time stamp)を具現する。サービス品質管理器2116は、多様なキューパラメーター(Parameter)をモニターリングし、政策が違反されないことを保障するための要請を選択する。流れ制御管理器2114の要請にしたがって、サービス品質管理器2116は、資源提供基盤の政策キューに対してトラフィックを調節する。
【0171】
図22は、本発明の一実施形態による多重モード格納管理システムによって具現される使用者領域マッピングエンジンを示すブロック図である。
図22を参照すると、使用者領域マッピングエンジン2008は、ボリューム管理器2202、マップページ読出し管理器2204、マップページ書込み管理器2206、及びマップページキャッシュ管理器2208を含む。
【0172】
ボリューム管理器2202は、ボリュームを生成し、除去し、管理するためのサービスを提供し、様々な提供政策を取り扱う。ボリューム管理器2202は、関連する情報をボリュームテーブルで維持させるが、このボリュームテーブルはメモリに格納され、システム領域にバックアップされる。ボリューム管理器2202は、ボリュームテーブルの個体へのアクセスのためのサービスを提供する。ボリューム管理器2202は、システム領域アクセス管理器2012を利用してボリュームテーブルをバックアップし、復元する。
【0173】
所定マップページ無し(Miss)がマップページキャッシュ管理器2208によって検出された場合、マップページ読出し管理器2204は、欠如したマッピングページに関してマップページキャッシュ管理器2208から提供される要請を受信し、処理する。マップページ書込み管理器2206は、マッピングページを取り戻すためのマップページキャッシュ管理器2208からの要請を受信し、処理する。
【0174】
マップページキャッシュ管理器2208は、読出し管理器2102及び返還管理器2110から提供されるマッピング個体情報要請を処理する。また、マップページキャッシュ管理器2208は、書込み管理器2104によって提供されるマッピング個体更新を処理する。所定マップページがないことが検出された場合、マップページキャッシュ管理器2208は、マップページ読出し管理器2204に欠如したマッピングページを要請する。マップページキャッシュ管理器2208は、マップページ書込み管理器2206にマッピングページを取り戻すことを要請する。
【0175】
バッファ管理器2010は、読出し及び書込みバッファのプールを管理する。書込み動作の間に、バッファ管理器2010は、格納装置伝送ブロックを割当及び放出(Release)して、書込み管理器2104から受信した使用者データを書込みバッファに累積させる。使用者データの完全なメタページが概ね累積された時、バッファ管理器2010は、書込みバッファの使用者データの放出のための要請を書込み管理器2014から受信する。そして、バッファ管理器2010は、使用者データを格納装置アクセス管理器2020に伝達する。
【0176】
読出し動作の間に、バッファ管理器2010は、格納装置伝送ブロックを読出しバッファに割当及び放出して、読出しキャッシュ機能を支援する。格納装置アクセス管理器2020から格納装置伝送ブロックとして受信された使用者データのSUEページは、最初は読出しバッファに格納される。バッファ管理器2010は、読出しバッファの使用者データの放出のための要請を読出し管理器2102から受信する。バッファ管理器2010は、格納装置伝送ブロックを読出し管理器2102に伝達する。
【0177】
システム領域アクセス管理器2012は、格納システムに含まれる格納装置のシステム領域に格納されたシステムデータへのアクセスに関する要請を処理する。システム領域アクセス管理器2012は、ボリュームテーブル及びメタブロック情報テーブルをバックアップし、復元するために、ボリューム管理器2202及びメタブロック情報管理器2016からの要請を各々受信し、処理する。システム領域アクセス管理器2012は、使用者領域マップテーブルにアクセスするために、マップページ書込み管理器2206、マップページ読出し管理器2204、及びマップページキャッシュ管理器2208からの要請を受信し、処理する。
【0178】
図23は、本発明の一実施形態による多重モード格納管理システムによって具現されるメタブロック管理器を示すブロック図である。
図23を参照すると、メタブロック管理器2014は、返還メタブロック選択器2302及びメタブロック状態管理器2304を含む。
【0179】
返還メタブロック選択器2302は、消去回数、古くなったデータの水準、保存時間等のような使用者領域メタブロックに関するパラメーターをモニターリングする。モニターリングされたパラメーターに基づいて、返還メタブロック選択器2302は、返還又はガーベッジコレクションのためのメタブロックを選択する。返還メタブロック選択器2302は、多様なウェアレベリング政策を具現する。例えば、返還メタブロック選択器2302は、メタブロック消去回数が適当な値範囲内で維持されるようにし、相対的に動的なデータ(ホット(Hot)データ)と相対的に静的なデータ(コールド(Cold)データ)が互いに別個のメタブロックに分離されるようにする。
【0180】
メタブロック状態管理器2304は、使用者領域メタブロックの現在状態(例えば、活性化される、閉じ、消去中、消去される、返還又はガーベッジコレクション)を追跡する。メタブロック状態管理器2304は、メタブロック情報テーブルを更新して、メタブロックを多様な状態に遷移(Transition)させる。また、メタブロック状態管理器2304は、特定の状態にあるメタブロックの多様なリスト(例えば、消去されたメタブロックリスト、返還メタブロックリスト、及び消去中であるメタブロックリスト)を維持する。メタブロック状態管理器2304は返還(ガーベッジコレクション)が準備された個別的なメタブロックを判別するために、消去されたメタブロックリストをモニターリングする。
【0181】
メタブロック情報管理器2016は、メタブロック情報テーブルを維持する。メタブロック情報管理器2016は、他のモジュールのために、メタブロック情報テーブルにある個体へのアクセスサービスを提供する。メタブロック情報管理器2016は、メタブロック情報テーブルをバックアップし、復元するために、システム領域アクセス管理器2012に要請を伝送する。
【0182】
図24は、本発明の一実施形態による多重モード格納管理システムによって具現される格納装置制御管理器を示すブロック図である。
図24を参照すると、格納装置制御管理器2018又はソリッドステート装置制御管理器は、格納装置ログ及び統計管理器2402、SUEブロック消去エンジン2404、及び格納装置誤謬管理器2406を含む。
【0183】
格納装置ログ及び統計管理器2402は、格納装置のアクセス履歴(History)のログを維持する。
【0184】
SUEブロック消去エンジン2404は、メタブロック管理器2014を通じて返還管理器2110から消去要請を受信し、消去処理を管理する。SUEブロック消去エンジン2404は、SUEブロックの消去要請を格納装置アクセス管理器2020に伝送する。
【0185】
格納装置誤謬管理器2406は、部分的なメタブロックデータを取り戻すために返還管理器2110に要請を伝送する。
【0186】
図25は、本発明の一実施形態による多重モード格納管理システムによって具現される格納装置アクセス管理器を示すブロック図である。
図25を参照すると、格納装置アクセス管理器2020は、論理アクセス管理器2502、RAID管理器2504、読出しルックアップ(Lookup)エンジン2506、及び格納初期化管理器2508を含む。
【0187】
読出しルックアップエンジン2506は、読出し動作のルックアップを提供し、管理する。格納初期化管理器2508は、格納システムの初期化動作を管理する。
【0188】
論理アクセス管理器2502又はソリッドステートドライブ論理アクセス管理器は、格納装置のシステム領域のシステムデータに対するアクセスサービスを提供する。論理アクセス管理器2502は、格納装置のシステム領域でシステムデータを取り扱うために多様な論理ブロックアドレス方式を利用する。論理アクセス管理器2502は、NVMe又はNVMHCIの標準を活用する。論理アクセス管理器2502は、格納システムに含まれる格納装置又はソリッドステートドライブへアクセスするためのコマンドを取り扱う。
【0189】
RAID管理器2504は、使用者データに関して、格納システムに含まれる複数の格納装置のアレイのための格納管理(データ復旧機能を含む)を提供する。したがって、格納システムに含まれる個別の格納装置は、使用者データのためのダイレベルのRAID機能を実行しない。RAID管理器2504は、多様な格納管理及びデータ復旧方法を具現する。本実施形態で、RAID管理器2504は、本明細書で説明する新しい格納管理及びデータ復旧方法を実行する。
【0190】
RAID管理器2504は、格納装置の使用者領域をSUEインターフェイスに提供する。それだけでなく、RAID管理器2504は、格納装置のシステム領域を論理インターフェイスに提供する。RAID管理器2504は、RAIDストライプ方式及びパリティー検査のようなデータ保護機能を提供する。例えば、本実施形態で、格納装置伝送ブロックはRAID要素として利用され、RAIDストライプは1つのメタページのすべてのSUEページに亘って位置する格納装置伝送ブロックを含む。したがって、格納システムで単一の格納装置が故障すると、RAID管理器2504は逆パリティー演算を利用して、故障した格納装置からデータを復旧することができる。
【0191】
図26は、本発明の一実施形態による多重モード格納管理システムによって具現される全域状態管理器を示すブロック図である。
図26を参照すると、全域状態管理器2022は、電力中断管理器2602、及び誤謬及び衝突(Crash)管理器2604を含む。
【0192】
電力中断管理器2602は、多重モード格納管理システム2002の電力中断に関する問題(issue)を管理する。誤謬及び衝突管理器2604は、多重モード格納管理システム2002で発生する誤謬/衝突問題を管理する。
【0193】
図18、
図19、及び
図20の多重モード格納管理システム(1802、1902、2002)の機能は、
図16の格納システム1602によって具現される。他の実施形態で、多重モード格納管理システム(1802、1902、2002)の機能は、一般のコンピューティング装置又は専用ハードウェアによって具現される。
【0194】
上述した多重モードアプローチは、情報の効果的で、効率的な格納を可能にする多様な特徴及び特性を含む。この特徴及び特性は、性能に様々な他の様相を向上させる。本実施形態で、上述したパーティション設定アプローチの柔軟性は、比較的高速で、管理可能な複雑度の実現を可能にする。相対的に多量の使用者データがSUEアドレス空間に格納され、これは使用者データのための非常に高速な格納及び管理動作を可能にする。反面、相対的に少量のメタデータが論理アドレス基盤の領域に格納され、これは格納システムが複雑度減少のために活用されるメタデータの抽象化特性を向上させる。
【0195】
さらに、相対的により小さいメタデータ領域のオーバープロビジョニングを増加させることの柔軟性は、オーバープロビジョニング影響の比率をさらに大きくし、これはメタデータ格納動作の速度を高め、或は複雑度の増加に起因して発生する速度減少を補償するのに役に立つ。これは、他の格納システムに比べて、オーバープロビジョニング資源のより良い全般的な割当及びより良い影響を可能にする。また、この柔軟性は異なる格納領域のブロックが2つのパーティションの間で再配定されるか、又は再割当されることによって、向上されたライフサイクル保護を可能にする。ある領域に格納されたデータの特性(例えば、類型)は、その領域で一類型のデータが他の類型のデータより少なく書き込まれ又は消去されることを示す(例えば、大部分のメタデータは使用者データに比べてあまり変更されない)限り、パーティションの物理ブロックは他のパーティションに再割当されて特定領域の磨耗及び損傷を安定させる。また、この柔軟性はパワーサイクリングの責任をシステムレベルまで移動させることによって、パワーサイクリングの向上を可能にする。
【0196】
上述の詳細な説明の中で幾つかの部分は、コンピュータメモリ内のデータビットに対する演算の手続、論理ブロック、処理、及びその他の象徴的な描写に関する用語を利用して提供された。この説明及び表示は、本発明が属する技術分野において通常の知識を有する者に知識の要旨を効果的に伝達するために、データ処理分野で当業者によって一般的に使用される手段である。本明細書での手続、論理ブロック、又は処理は、望む結果を取り戻す段階又は命令語の一貫性あるシーケンス(Sequence)であることと看做す。この段階は物理的な量(Quantity)を物理的に操作する過程を含む。普通、必須的なことではないが、この物理的な量はコンピュータシステムに格納されるか、伝送されるか、結合されるか、比較されるか、或いはその他の異なる方式に取り扱われる電気的信号、磁気的信号、光学的信号、又は量子信号の形態を取る。主に共通使用のための理由から、この信号は、ビット、値、要素、シンボル、文字、用語、数字等に参照される。
【0197】
しかし、これらの用語及び同様の用語の全ては、適切な物理量に関連し、この物理量に適用される簡便な単なる標識である。以下の論議からわかるように、特に言及されない限り、本明細書の全般に亘って、「処理」、「コンピューティング」、「計算」、「判別」、「表示」等のような用語を使用した説明は物理量(例えば、電子的な)として表現されるデータを操作し、変換するコンピュータシステム又は同様の処理装置(例えば、電気的コンピューティング装置、光学的コンピューティング装置、又は量子コンピューティング装置)の動作及び処理を意味する。この用語はコンピュータシステムの構成要素(例えば、レジスター、メモリ、その他の同様な情報格納装置、伝送又は表示装置等)内での物理量を他の構成要素内での物理量として同様に表現する他のデータに操作又は変換する処理装置の動作及び処理を意味する。
【0198】
各々の図面に示した構成は、単に概念的な観点で理解される。本発明の理解を助けるために、図面に示した構成要素の各々の形態、構造、大きさ等は誇張又は縮小されて表現される。実際に具現される構成は、各々の図面に示したものと異なる物理的形状を有する。各々の図面は、構成要素の物理的形状を制限するものではない。
【0199】
各々のブロック図に示した装置構成は、本発明の理解を助けるためのものである。各々のブロックは、機能によってさらに小さい単位のブロックで形成される。又は、複数のブロックは機能によってさらに大きい単位のブロックを形成する。即ち、本発明の技術的思想はブロック図に示された構成によって限定されない。
【0200】
以上、本発明の実施形態ついて図面を参照しながら詳細に説明した。但し、本発明が属する技術分野の特性上、本発明が達成しようとする目的は本発明の要旨を含みながらも、上述した実施形態とは異なる形態で達成され得る。したがって、上述の実施形態は限定的なものではなく、単に説明的なものである。
【0201】
したがって、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0202】
100 格納装置
101 選別潜在露出格納パーティション
102、381、421、501、782、924 選別潜在露出インターフェイス
103 潜在格納領域
220、350 多重モード格納装置
230、370 第1パーティション
231、371 第1類型のインターフェイス
233、234、243、373、383 潜在格納領域
240、380 第2パーティション
241 第2類型のインターフェイス
372 第1パーティション関連活動
400、620、630、640、650、750、920 多重モードソリッドステートドライブ
410 論理アドレス空間の格納パーティションA
411、772、911、921 論理インターフェイス
412、423 潜在物理アドレス空間
413、773、912、922 フラッシュ変換ロジック
420 選別潜在露出アドレス空間の格納パーティションB
470、511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544 ダイ
471、472、473、474、479 潜在物理アドレスブロック
502、777、787、925、932 物理アドレス空間
503 選別潜在露出アドレスブロック
505、507、508 情報
515、517、519、528、539 物理ブロック
600、700 システム
610、720、1802、1902、2002 多重モード格納管理システム
611、621、631、641、651、745、775 コントローラ
671、672、673 ボリューム
710 機器
730 メタデータ
740、1502 使用者データ
741 (使用者データのための)FMS
742 選別潜在露出マッパー
770 論理アドレス空間パーティション
771 (メタデータのための)FMS
780 選別潜在露出アドレス空間パーティション
791、792、797 論理アドレスブロック
793、799 物理アドレスブロック
798 選別潜在露出アドレスブロック
910 論理アドレス基盤のソリッドステートドライブ
913、923 論理アドレス空間
930 物理アドレス基盤のソリッドステートドライブ
931 物理インターフェイス
1010、1110、1411、1412、1413、1414、1415 SUEブロック
1012、1014、1016、1018 物理ブロック
1021、1022、1023、1024、1032、1034、1036、1038 物理ページ
1030、1121、1122、1123、1124、1211、1212、1213、1214、1215 SUEページ
1210、1311、1312、1313、1314 メタページ
1310、1410 メタブロック
1500 選別潜在露出マッピングスキーム
1503、1504、1505 SUEアドレスを有する単位
1507、1508、1509 SUEアドレスを有する圧縮された単位
1511、1512、1513 ヘッダーセクション
1515、1517 ソリッドステートドライブ伝送ブロック
1521、1522、1523、1524、1525、1526、1527、1528、1541、1542、1543、1544、1545、1546、1547、1548、1571、1572、1573、1574、1575、1576、1577、1578 論理ブロックアドレス
1531、1532、1533、1534、1535、1536、1537、1538、1551、1552、1553、1554、1555、1556、1557、1558、1581、1582、1583、1584、1585、1586、1587、1588 論理アドレス基盤のブロック
1591、1592、1593、1594 SUEページ
1602 格納システム
1604 プロセッサ
1606 メモリ
1608 ネットワークインターフェイス
1610 入出力装置
1612 表示装置
1614 バス
1616 不揮発性メモリ装置
1618 ローカルデータリンク
1804 選別潜在露出格納管理器
1806 論理格納管理器
1808、1916、2110 返還管理器
1810、1918 格納アレイ管理器
1904、2004 データ整列器
1906 選別潜在露出格納アクセス管理器
1908 データ圧縮管理器
1910 ボリュームマッピングエンジン
1912、2010 バッファ管理器
1914、2014 メタブロック管理器
1920 論理格納アクセス管理器
2006 使用者領域アクセス管理器
2008 使用者領域マッピングエンジン
2012 システム領域アクセス管理器
2016 メタブロック情報管理器
2018 格納装置制御管理器
2020 格納装置アクセス管理器
2022 全域状態管理器
2024 全域誤謬管理器
2026 システム状態管理器
2028 システムログ及び統計管理器
2030 ターゲット装置
2032 不揮発性メモリ装置
2102 読出し管理器
2104 書込み管理器
2106 データ圧縮管理器
2108 データ圧縮解除管理器
2112 フリー空間書込み管理器
2114 流れ制御管理器
2116 サービス品質管理器
2202 ボリューム管理器
2204 マップページ読出し管理器
2206 マップページ書込み管理器
2208 マップページキャッシュ管理器
2302 返還メタブロック選択器
2304 メタブロック状態管理器
2402 格納装置ログ及び統計管理器
2404 選別潜在露出ブロック消去エンジン
2406 格納装置誤謬管理器
2502 論理アクセス管理器
2504 RAID管理器
2506 読出しルックアップエンジン
2508 格納初期化管理器
2602 電力中断管理器
2604 誤謬及び衝突管理器