JP2017091546A - 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法 - Google Patents

多重モード動作のための多重パーティションを含む格納装置、及びその動作方法 Download PDF

Info

Publication number
JP2017091546A
JP2017091546A JP2016220982A JP2016220982A JP2017091546A JP 2017091546 A JP2017091546 A JP 2017091546A JP 2016220982 A JP2016220982 A JP 2016220982A JP 2016220982 A JP2016220982 A JP 2016220982A JP 2017091546 A JP2017091546 A JP 2017091546A
Authority
JP
Japan
Prior art keywords
storage
sue
manager
address
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016220982A
Other languages
English (en)
Other versions
JP6910131B2 (ja
Inventor
トムリン,アンドリュー
Tomlin Andrew
ジョーンズ,ジャスティン
Jones Justin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017091546A publication Critical patent/JP2017091546A/ja
Application granted granted Critical
Publication of JP6910131B2 publication Critical patent/JP6910131B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

【課題】効率的で、効果的な多重モード(Multimode)格納装置及びその動作方法を提供する。【解決手段】 本発明は第1格納パーティション及び第2格納パーティションを含む格納装置を提供する。第1格納パーティションは基本類型のインターフェイス、及び第1類型の情報を格納する第1情報格納領域を含む。第2格納パーティションは選別潜在露出(Selective Underlying Exposure)インターフェイス、及び第2類型の情報を格納する第2情報格納領域を含む。選別潜在露出インターフェイスは第2情報格納領域の様相(Aspect)を露出する。【選択図】図7

Description

本発明は情報格納(Information Storage)に関し、特に多重モード動作のための多重パーティションを含む格納装置、及びその動作方法に関する。
事業、科学、教育、及びエンターテイメントの大部分の分野で、多数の電子技術(例えば、デジタルコンピュータ、計算機、オーディオ装置、ビデオ装備、電話機システム等)は生産性を増加させ、費用を減少させてきた。この電子システムは情報格納システムを伴う動作を実行する。情報格納動作が進行される速度及び便宜性は情報格納システムの全般的な性能に大きな影響を与える。しかし、情報格納に関する既存の試図は速度と管理可能である複雑度との間の逆関係(Inverse Relationship)を随伴する。
情報格納システムは2つのカテゴリーの中で1つに属する動作を随伴する。1つのカテゴリーは使用者によって開始される活動(Activity)とそれに関連する格納動作を含む。他のカテゴリーはシステムによって開始される管理及び維持補修活動を含む。この動作が進行される速度及び便宜性は情報を格納するために活用されるアドレス空間(Address Space)の類型と関連する。
物理アドレス(Physical Address)基盤の空間を活用することに関する既存の試図は理論的には非常に速い速度で動作するものと看做されるが、既存の物理アドレス基盤の空間での実際の管理及び維持補修動作に関する試図は非常に複雑であり、事実上概ね具現されなかった。既存の論理アドレス(Logical Address)空間の管理及び維持補修は物理アドレス空間に比べて低い複雑度を有するものと看做された。しかし、既存の論理アドレス空間は物理アドレス空間ほど速く動作しない。
既存の格納システムは以前には収容できるものと看做される水準で動作することができる反面、この格納システムが改善されたアプリケーション(Application)及びプラットフォーム(Platform)のための要求事項、及び長い間待たされてきた必要性を充足させるのには徐々に不十分になってきている。改善されたシステム開発を可能にするために増加した速度及び管理可能である複雑度の全てを達成することに関する既存の試図は成功とはいえなかった。
本発明は、上記従来の情報格納システムにおける問題点に鑑みてなされたものであって、本発明の目的は、効率的で、効果的な多重モード(Multimode)格納装置及びその動作方法を提供することにある。多重モード格納方法は様々な異なる類型のアドレス空間を共に採用することができる。
本発明の実施形態による格納装置は第1格納パーティション及び第2格納パーティションを含むことができる。第1格納パーティションは基本類型のインターフェイス、及び第1類型の情報を格納するように構成される第1情報格納領域を含むことができる。第2格納パーティションは選別潜在露出 (Selective Underlying Exposure)インターフェイス、及び第2類型の情報を格納するように構成される第2情報格納領域を含むことができる。選別潜在露出インターフェイスは第2情報格納領域の様相(Aspect)を露出することができる。
本発明の実施形態による格納装置で、様相は第2格納パーティションの特性(Characteristic)、特徴(Feature)、機能、代表的幾何学構造(RepresentativeGeometry)、次元(Dimension)、及び管理動作の中の少なくとも1つを含むことができる。
本発明の実施形態による格納装置で、第1格納パーティションでのファイル格納管理活動(Activity)は基本類型のインターフェイスによって指示されることができ、第2格納パーティションでのファイル格納管理活動は選別潜在露出インターフェイスを通じて第2格納パーティションの外部から指示されることができる。
本発明の一実施形態で、基本類型のインターフェイスは論理インターフェイスを含むことが好ましい。
本発明の実施形態による格納装置で、第1格納パーティションの大きさは第2格納パーティションの大きさと互いに異なることが好ましい。
本発明の実施形態による格納装置で、第1格納パーティションでの動作のグラニュラリティ(Granularity)は第2格納パーティションでの動作のグラニュラリティと互いに異なることを特徴とする。
本発明の実施形態による格納装置で、第1格納パーティション及び第2格納パーティションの組合わせは第1格納パーティションが単独に採用される場合より向上された性能を許容することができ、第2格納パーティションが単独に採用される場合に比べて減少された複雑度を許容することができる。
本発明の実施形態による格納装置で、第1格納パーティションでのオーバープロビジョニング(Over−provisioning)の比率(Percentage)は第2格納パーティションでのオーバープロビジョニングの比率と互いに異なることを特徴とする。
本発明の実施形態による方法は、装置の第1部分を、第1類型の情報の格納のための第1領域として構成する段階、第1アドレス空間情報に基づいて、第1領域に対する第1類型インターフェイスの動作を実行する段階、装置の第2部分を、第2類型の情報の格納のための第2領域として構成する段階、及び第2アドレス空間情報に基づいて、第2領域に対する第2類型インターフェイスの動作を実行する段階を含むことができる。第2類型インターフェイスは潜在的な様相(Underlying Aspect)を選別的(Selective)に露出(Expose)することができる。
本発明の実施形態による方法で、潜在的な様相は潜在的な物理アドレス空間と関連することを特徴とし、潜在的な様相の選別的な露出は潜在的な物理アドレス空間と関連される複雑度を除去しながら、潜在的な物理アドレス空間の管理動作特性を露出することを特徴とする。
本発明の実施形態による方法で、潜在的な様相は選別潜在露出(Selective Underlying Exposure)アドレスページ及び選別潜在露出アドレスブロックによって取出(Abstract)され得る。
本発明の実施形態による方法で、潜在的な様相は潜在的なシステム管理動作と関連することを特徴とする。
本発明の実施形態による方法で、潜在的な様相はフリー空間(Free Space)の管理、フリー空間の使用のための再生(Reclamation)及び環境設定、オーバープロビジョニング(Over−provisioning)、トリム(Trim)動作、及びパワーサイクリング(Power Cycling)の中で少なくとも1つを実行するのに利用されることが好ましい。
本発明の実施形態による方法で、第1類型の情報はメタデータを含むことができ、第2類型の情報は使用者データを含むことができる。
本発明の実施形態による方法で、第2類型インターフェイスの動作は、第2類型の情報及びアドレスを受信する段階、及び受信されたアドレスのアドレス類型と潜在的なアドレス類型との間で変換を実行する段階を含むことを特徴とする。
本発明の実施形態による装置は第1格納パーティション及び第2格納パーティションを含むことができる。第1格納パーティションはアドレスインターフェイス、及びメタデータを格納するように構成される第1データ格納領域を含むことができる。第2格納パーティションは選別潜在露出(Selective Underlying Exposure)インターフェイス、及び使用者データを格納するように構成される第2データ格納領域を含むことを特徴とする。論理アドレスインターフェイスは第1データ格納領域のためのフラッシュ管理システム、及び論理アドレスを第1データ格納領域の対応する物理アドレスに変換するように構成されるフラッシュ変換ロジック(Flash Translation Logic)を含むことができる。選別潜在露出インターフェイスは第2データ格納領域の代表的幾何学構造(Representative Geometry)を露出することができる。
本発明の実施形態による装置で、選別潜在露出インターフェイスのファームウェアはインターフェイス露出を提供しながらも、直接的な物理インターフェイス露出を取り扱うことの複雑度を取り除くことを特徴とする。
本発明の実施形態による装置はソリッドステートドライブ(Solid State Drive)である。
本発明の実施形態による装置で、選別潜在露出インターフェイスは入出力装置及びコントローラを含むことができる。入出力装置は選別潜在露出アドレス空間の情報、及びデータを受信することができる。コントローラは選別潜在露出アドレス空間の情報を物理アドレス空間の情報に変換することができ、物理アドレス空間の情報にしたがってデータの格納を指示することができる。選別潜在露出アドレス空間の代表的幾何学構造は物理アドレス空間の代表的幾何学構造にマッチング(Matching)されることができる。
本発明の実施形態による装置で、選別潜在露出アドレス空間ブロックは装置によって1つの単位として管理される物理ブロックに対応することを特徴とする。
本発明の実施形態による多重モード格納装置及びその動作方法によれば、複雑度を管理可能である範囲に制限しながらも、格納システムの性能を改善することができる。
本発明の実施形態による選別潜在露出(Selective Underlying Exposure、以下、SUE)格納パーティション(Partition)を含む例示的な格納装置を示すブロック図である。 本発明の実施形態による例示的な多重モード格納装置(Multimode Storage Device)を示すブロック図である。 本発明の実施形態による他の例示的な多重モード格納装置を示すブロック図である。 本発明の実施形態による例示的な多重モードソリッドステートドライブ(Multimode Solid State Drive)を示すブロック図である。 本発明の実施形態によってアドレス空間情報を論理アドレス空間情報に変換する例示的な過程を示す概念図である。 本発明の実施形態によるシステムを示すブロック図である。 本発明の実施形態によるシステムを示すブロック図である。 本発明の実施形態によって多重モード選別潜在露出を駆動する方法を説明するフローチャートである。 本発明の実施形態による多重モードソリッドステートドライブを例示的に示すブロック図である。 本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEブロック及び対応するSUEページを示すブロック図である。 本発明の実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間の例示的なSUEブロック及び対応するSUEページを示すブロック図である。 本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEメタページ及び対応するSUEページを示すブロック図である。 本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEメタブロック及び対応するSUEメタページを示すブロック図である。 本発明の実施形態による多重モード格納装置の使用者領域への格納のための他の例示的なSUEメタブロック及び対応するSUEブロックを示すブロック図である。 本発明の実施形態によって論理アドレスからSUEアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現される例示的なSUEマッピングスキームを示す概念図である。 図15のSUEマッピングスキームを具現できる例示的な格納システムを示すブロック図である。 本発明の実施形態によって論理アドレス空間をSUEアドレス空間にマッピングする例示的な方法を説明するフローチャートである。 格納システムが本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した例示的な多重モード格納管理システムを示すブロック図である。 格納システムが本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した他の例示的な多重モード格納管理システムを示すブロック図である。 格納システムが本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用したその他の例示的な多重モード格納管理システムを示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができる使用者領域アクセス管理器を示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができる使用者領域マッピングエンジンを示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができるメタブロック管理器を示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができる格納装置制御管理器を示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができる格納装置アクセス管理器を示すブロック図である。 本発明の実施形態による多重モード格納管理システムによって具現することができる全域状態管理器を示すブロック図である。
上述した特性及び以下の詳細な説明は全て本発明の説明及び理解を助けるための例示的な事項である。即ち、本発明はこのような実施形態に限定されなく、他の形態に具体化されることができる。次の実施形態は単なる本発明を完全に開示するための例示であり、本発明が属する技術分野の通常の技術者に本発明を伝達するための説明である。したがって、本発明の構成要素を具現化するための方法が多数ある場合には、これらの方法の中で特定なもの又はこれと同一性があるものの中でいずれも本発明の具現化が可能であることを明らかにする必要がある。
本明細書で所定の構成が特定要素を含むと言及した場合、又は所定の過程が特定段階を含むと言及した場合は、その外の他の要素又は他の段階がさらに含まれ得ることを意味する。即ち、本明細書で使用する用語は特定実施形態を説明するためのものであり、本発明の概念を限定するためのものではない。さらに、発明の理解を助けるために説明した例示はそれぞれの補完的な実施形態も含む。幾つかの例で、本発明の技術思想を不必要に曖昧にしないために、広く公知された方法、過程、構成要素、及び回路は詳細に説明されないこともあり得る。
本明細書で使用する用語は本発明が属する技術分野の通常の技術者が一般的に理解する意味を有する。普遍的に使用される用語は本明細書の脈絡にしたがって一貫的な意味として解釈されるべきである。また、本明細書で使用する用語は、その意味が明確に定義された場合ではなければ、あまりにも理想的であるか、或いは形式的な意味として解釈されてはならない。
この明細書の一部分として含まれる添付された図面は本発明の原理に関する例示を説明するためのものであり、説明した特定具現に本発明を限定するためのものではない。
効率的で、効果的な多重モード(Multimode)格納方法が説明される。多重モード格納方法は様々な異なる類型のアドレス空間(Address Space)及びアドレス空間活動(Activity)を採用することができる。幾つかの実施形態で、多重モード選別潜在露出(Selective Underlying Exposure、以下SUE)格納装置は格納装置の幾つかの潜在的な様相(Aspect)の選別的な露出を可能にする反面、他の潜在的な様相を露出しないこともあり得る。多重モード格納及びSUEのアプローチは複雑度を管理可能である範囲に制限しながらも、性能を改善することができる。
幾つかの例示的な具現で、物理アドレス空間(Physical Address Space)の潜在的な様相が選別的に露出され得る。全般的な格納階層(Hierarchical)のアプローチが具現化され、一階層の潜在的な様相は他の階層レベルに選別的に露出され得る。選別的な露出はアドレス空間構成及びアドレス空間の間のマッピング(Mapping)を通じて発生することができる。選別的に露出された潜在的な様相はその露出された潜在的な様相を有する階層レベルと異なる他の階層レベルで実行される多様な活動をさらに効率的で、効果的に具現化することができる。この多様な活動は格納管理動作を含むことができる。多重モード格納及びSUEのアプローチは多様な構成及び具現を含むことが理解できる。
以下添付した図面を通じて本発明の実施形態について説明する。
I.多重モード格納装置
図1は本発明の実施形態による選別潜在露出(SUE)格納パーティション(Partition)101を含む例示的な格納装置100を示すブロック図である。SUE格納パーティション101は選別潜在露出(SUE)インターフェイス102及び潜在格納領域(Underlying Storage Region)103を含む。
潜在格納領域103は情報を格納し、SUEインターフェイス102は潜在格納領域103自体(例えば、次元(Dimension)と関連する物理的な様相、代表的幾何学構造(Representative Geometry)、管理機能、書込み動作、消去動作等)の様相(例えば、特性(Characteristic)、特徴(Feature)、機能等)を外部構成要素又は格納システム階層レベル(図示せず)に選別的に露出する。この露出は潜在格納領域103に格納された情報(使用者データ及びメタデータ)の様相と関連される。SUE格納パーティション101は潜在的な様相(例えば、特性、特徴、機能等)の一部を露出する。
潜在的な様相の一部を露出する例示的な具現で、露出された様相と関連される活動(例えば、フリー空間(Free Space)の管理、フリー空間の使用のための再生(Reclamation)及び環境設定、オーバープロビジョニング(Over−provisioning)、トリム(Trim)動作、パワーサイクリング(Power Cycling)等)は潜在的な様相の一部を選別的に露出しないシステムに比べてさらに効率的に(例えば、さらに速く、さらに少ない帯域幅で、少ない消費電力で)実行することができる。この活動は潜在的な様相をさらに多く又は全て露出するアプローチに比べて、低い複雑度にて実行され得る。
潜在的な様相の中でいずれの部分を露出させるかを選択することは速度と複雑度とを比較するか、或いは速度と複雑度との間の均衡を考慮して決定される。SUE格納パーティション101が単一パーティションを利用して単一モード格納装置に含まれてもよく、又はSUE格納パーティション101が複数のパーティションを利用して多重モード格納装置に含まれてもよいことも理解できる。
図2は本発明の実施形態による例示的な多重モード格納装置220を示すブロック図である。格納装置220は第1パーティション230及び第2パーティション240を含む。
様々なモード及びこれに対応するパーティションは多様な要素と関連するか、或いは多様な要素を基盤とすることが理解できる。この多様な要素は潜在格納領域の異なる露出、異なるアドレス空間(例えば、論理的なもの、仮想(Virtual)なもの、又は物理的なもの)、異なる格納管理モード(例えば、内部管理及び外部管理)、異なる潜在格納情報(例えば、メタデータ及び使用者データ)等を含むことができる。内部管理及び外部管理は格納装置管理システムの構成要素及び動作(例えば、フラッシュ管理システム(Flash Management System;FMS)、ソリッドステート(Solid State)装置管理システム等)を含む。パーティション及びこれに対応する構成要素は異なる類型であってもよい。
多重モード格納装置220のパーティション及びこれに対応するインターフェイスは異なる類型のアドレス空間(例えば、論理アドレス空間及び選別潜在露出(SUE)アドレス空間)と関連する。多重モード格納装置220の1つより多いパーティション及びこれに対応するインターフェイスは同一の類型のアドレス空間と関連する(例として、多重モード格納装置220の1つより多いパーティション及びこれに対応するインターフェイスはSUEアドレス空間と関連する)。
第1パーティション230は第1類型のインターフェイス231及び潜在格納領域233を含む。第2パーティション240は第2類型のインターフェイス241及び潜在格納領域243を含む。幾つかの実施形態で、第1パーティション230は第1類型のアドレス空間パーティション(例えば、論理アドレス空間パーティション)であり、第2パーティション240は第2類型のアドレス空間パーティション(例えば、SUEアドレス空間及び仮想アドレス空間パーティション)である。パーティションはSUE格納パーティションであることが理解できる。
図3は本発明の実施形態による他の例示的な多重モード格納装置350を示すブロック図である。格納装置350は第1パーティション370及び第2パーティション380を含む。
幾つかの実施形態で、第1パーティション370は第1類型のアドレス空間パーティションであり、第2パーティション380はSUEアドレス空間パーティションである。第1パーティション370は第1類型のインターフェイス371及び潜在格納領域373を含む。第2パーティション380はSUEインターフェイス381及び潜在格納領域383を含む。第1パーティション関連活動372(例えば、FMS)のような幾つかの活動が1つのパーティションのために内部的に(例えば、格納装置350で)実行され、他のパーティションのために外部的に(図示せず)実行される。
異なるパーティションには異なる類型の情報が格納され得る。幾つかの実施形態で、2つの類型の情報(例えば、メタデータ及び使用者データ)があり得る。使用者データは主に使用者アプリケーション(Application)によって生成され、メタデータは主に使用者データと関連される補助情報(例えば、格納システム階層でのファイルの位置、ファイルの内容の大きさ、アクセス(Access)時刻、修正時刻、使用者ID等)である。第1フラッシュ管理システムはメタデータを管理するのに焦点を当てる。メタデータは結局使用者データの格納を管理するために利用される。
管理又は維持補修活動と関連するシステム動作とは異なるように、使用者によって開始される(User−initiated)活動と関連する動作を格納システムが指示するか、或いは具現することが理解できる。例として、使用者によって開始される読出し又は書込みは使用者観点から提供される特定アドレス又は位置に向けることができる反面、システム動作はシステム観点から提供される物理ブロック(Block)及びページ(Page)に向けることができる。
格納装置350が多様な構成及び具現を含むものであることが理解できる。幾つかの実施形態で、格納装置350はソリッドステート装置である。格納装置350はフラッシュ構成要素(例えば、NANDフラッシュ構成要素、NORフラッシュ構成要素等)を含む。
図4は本発明の実施形態による例示的な多重モードソリッドステートドライブ(Multimode Solid State Drive)400を示すブロック図である。多重モードソリッドステートドライブ400は多重モード格納装置の例示的な具現の1つである。多重モードソリッドステートドライブ400は論理アドレス空間パーティション410、フラッシュ変換ロジック(Flash Translation Logic;FTL)413を含む論理インターフェイス411、潜在物理アドレス空間412、SUEアドレス空間パーティション420、SUEインターフェイス421、及び潜在物理アドレス空間423を含む。
論理アドレス空間パーティション410は論理アドレス基盤のシステムデータ(例えば、メタデータ)を受信し、格納し、SUEアドレス空間パーティション420は潜在露出アドレス空間にしたがうアドレス基盤の使用者データ(例えば、アプリケーションデータ)を受信する。使用者データは潜在物理アドレス空間423に格納され、潜在物理アドレス空間423はフラッシュ格納構成要素(例えば、異なる類型のフローティングゲートトランジスタ(Floating Gate Transistor))を含む。フラッシュ格納構成要素は多様な構成及びグラニュラリティ(Granularity)に配列される。例として、フラッシュ格納構成要素は複数のダイ(Die)として配列され、複数のダイの中でダイ470はブロック473、479及びブロック内のページを含む。
幾つかの実施形態で、SUEインターフェイス421は潜在物理アドレス空間423の様相を露出する。潜在物理アドレス空間423の選別的な様相は多重モードソリッドステートドライブ400の潜在的な動作を伴う使用者データアドレッシングの調整(Coordination)によって露出される。この調整は潜在物理アドレス空間423の管理動作の露出と関連される。潜在的な物理格納管理の様相は共に管理される複数の潜在物理アドレスブロック(例えば、471、472、473、474)を分類(Grouping)することを含む。例として、共に管理される複数の潜在物理アドレスブロック(例えば、471、472、473、474)は単一管理単位として単一動作で共に管理されるか、ブロック集合や帯域(Band)で共に管理されるか、或いは単一管理コマンド(Command)に応答して共に管理され得る。
図5は本発明の実施形態によってアドレス空間情報を論理アドレス空間情報に変換する例示的な過程を示す概念図である。SUEアドレスブロック503は多様な管理及び維持補修動作と関連される情報(例えば、505、507、508)を含む。物理アドレス空間502は複数のダイ511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544を含む。各ダイは複数の物理アドレス基盤のブロック(例えば、515、519)を含み、各物理アドレス基盤のブロックは複数の物理アドレスページを含む。
物理アドレス空間502は物理ブロック及び物理ページ基盤のアドレス格納位置にアクセスすることができる。SUEインターフェイス501はSUEアドレスブロック503の情報を受信し、受信された情報を物理アドレス空間502と互換可能である構成に変換するか、或いは再構成する。SUEアドレスブロック503の情報は物理的な管理動作に関与する情報に対応する。
幾つかの実施形態で、管理及び維持補修動作は物理アドレス空間502内の物理ブロック(例えば、515、519、539)に提供され得る。管理動作は物理アドレス空間又は物理レベル管理ユニットに提供される。物理レベル管理ユニットは実質的に同一の時点に(例えば、管理動作又はコマンドに応答して)管理される複数のアドレス、ページ、ブロック等を管理することを含む。例として、消去動作は(ブロック515と類似に黒色で示した)物理ブロックに提供される。
SUEアドレスブロック503が物理ブロックにマッチング(Matching)するように構成されることによって、各物理ブロックに対応する各情報(例えば、505、507、508)はSUEアドレスブロック503に含まれる。幾つかの例で、SUEインターフェイス501はSUEアドレスブロック503の情報を受信し、情報505、507、508が各々物理ブロック515、517、528に対応すると識別し、したがって対応する管理及び維持補修動作を実行する。幾つかの実施形態で、消去管理動作は複数の物理ブロックの情報に対して実行され、書込み動作はページの情報に対して実行される。
2つのアドレス空間の幾何学構造もやはり互いに異なることができる。幾つかの実施形態で、論理アドレス空間は単一次元であり(例えば、論理ブロックアドレス(Logical Block Address、LBA)のオフセット(Offset)がどのようにして調整されるかと関連)、物理アドレス空間は多様な様相(例えば、ECC(Error Correction Code)、物理ページ、物理ブロック、物理ダイ等又はそれらの一部又は部分集合)を含んで多次元である。SUEアドレス空間は一次元であるか、或いは制限された又は減少した数の次元である。SUEアドレス空間に幾つかの例で、潜在物理アドレス空間の次元は単一の又は減少した数の次元に抽出(Abstract)され得る。潜在物理アドレス空間の管理活動(例えば、再生/ガーベッジコレクション(Garbage Collection)、パワーサイクリング等)と関連する選択された次元(例えば、ブロック及びページ)はSUEアドレス空間に抽出される一方、潜在物理アドレス空間の他の様相又は活動(例えば、ECC)はSUEアドレス空間に抽出されないこともあり得る。
潜在的な様相の選別的な露出は全体的なシステムで多重モードソリッドステートドライブ400ではない他の構成要素(図示せず)によって使用者データを多重モードソリッドステートドライブ400に伝送する前の調整を含むことが理解できる。幾つかの実施形態で、多重モードソリッドステートドライブ400は全般的なシステム階層の異なるレベルで動作する管理構成要素に連結される。
図6は本発明の実施形態によるシステム600を示すブロック図である。システム600は多重モード格納管理システム610と通信するように接続される複数の多重モードソリッドステートドライブ(例えば、620、630、640、650)を含む。
幾つかの活動(例えば、幾つかの格納管理動作及びフラッシュ管理システム動作)は多重モード格納管理システム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に対する幾つかの活動を制御するか、或いは指示する。
幾つかの例示的な具現で、コントローラ621、631、641、651は各々多重モードソリッドステートドライブ620、630、640、650の第1パーティションの活動を制御するか、或いは指示することができ、コントローラ611は多重モードソリッドステートドライブ620、630、640、650の第2パーティションの活動を制御するか、或いは指示することができる。コントローラ611は選別潜在露出(SUE)インターフェイスを通じて多重モードソリッドステートドライブ620、630、640、650の活動を制御する。
幾つかの実施形態で、システム600は様々なボリューム(Volume、例えば、671、672、673)を含むことができる。幾つかの例示的な具現で、システム600は使用者空間を含むことができる。使用者空間は様々なボリュームにマッピングされ、格納空間は様々なボリュームとして使用者に表現される。ボリュームが異なる大きさを有することが理解できる。また、異なる大きさのSUEアドレス基盤単位が様々なボリュームと関連され得ることが理解できる。
図7は本発明の実施形態によるシステム700を示すブロック図である。システム700は機器710に含まれる多重モード格納管理システム720と通信するように接続される多重モードソリッドステートドライブ750を含む。機器710は多様なコンピュータ/電子機器(装置)の中でいずれもよい。他の多重モードソリッドステートドライブが多重モード格納管理システム720に接続されてもよいことが理解できる。システム700はメタデータ730及び使用者データ740の格納を管理する。
多重モード格納管理システム720はコントローラ745を含む。コントローラ745は(使用者データのための)フラッシュ管理システム(FMS)741、及びSUEマッパー742を含む。
多重モードソリッドステートドライブ750は論理アドレス空間パーティション770及びSUEアドレス空間パーティション780を含む。論理アドレス空間パーティション770は物理アドレス空間777及びコントローラ775を含み、コントローラ775は(メタデータのための)フラッシュ管理システム(FMS)771を含む。フラッシュ管理システム771は論理インターフェイス772を含み、論理インターフェイス772はフラッシュ変換ロジック(FTL)773を含む。物理アドレス空間777はNANDフラッシュを含む。SUEアドレス空間パーティション780はSUEインターフェイス782及び物理アドレス空間787を含み、物理アドレス空間787はNANDフラッシュを含む。
メタデータ730の情報は論理アドレスブロック791から受信される。メタデータ730の情報は論理アドレスブロック792に伝達されて、多重モード格納管理システム720から論理アドレス空間パーティション770に提供される。論理アドレスブロック791、792は同一であること(例えば、論理アドレスブロック791が変更されることなく、単純に論理アドレス空間パーティション770に伝達される)が理解できる。
論理インターフェイス772はメタデータと関連される論理ブロックアドレス(LBA)を、物理アドレス空間777と関連される物理アドレスブロック793に変換する。フラッシュ管理システム771は物理アドレス空間777と関連される格納管理及び維持補修動作を指示する。メタデータは物理アドレス空間777のNANDフラッシュに格納される。
論理アドレスブロック797の使用者データはフラッシュ管理システム741に伝達される。物理アドレス空間787の潜在的な特徴及び特性がSUEインターフェイス782を通じて露出されることにしたがって、フラッシュ管理システム741は物理アドレス空間787の潜在的な特徴及び特性と関連されるフラッシュ管理及び維持補修動作を指示する。SUEマッパー742は論理アドレスブロック797をSUEアドレスブロック798にマッピングする。
これによって、SUEアドレスブロック798はSUEインターフェイス782によって、(図5の物理ブロック517、519と類似な)物理アドレスブロック799に変換される。物理アドレスブロック799は物理アドレス空間787に含まれるNANDフラッシュ構成要素と関連される。論理アドレスブロックはSUEアドレスブロックと異なる大きさを有し、これによって物理アドレスブロックと異なる大きさを有することが理解できる。
階層レベルの上位で多様な活動を実行することは既存のアプローチに比べてさらに効率的であり、便利な管理を可能にする。従来のアプローチの場合、様々な階層に影響を与える活動を取り扱うことの柔軟性が制限的であった。従来の幾つかのアプローチは全般的な性能に幾何級数的に否定的な影響を引き起こす活動(例えば、ログ−オン−ログ(Log−on−Log)、駆動レベルのフラッシュ管理システム、及びシステムレベルのフラッシュ管理システム)を様々な階層に対して実行しなければならない。
例として、RAID(Redundant Array of Independent Disks)格納システムには、上位格納階層レベル(例えば、RAIDシステム管理レベル)及び下位格納階層レベル(例えば、格納駆動レベル)の全てに影響を与え、共に管理される必要がある要素が多くある(例えば、データ格納及び対応するパリティー(Parity)の格納)。情報のライフサイクル(Lifecycle)が各階層毎に互いに異なり(例えば、使用者は情報を上書き(Overwrite)しようとするのに、RAIDシステムはパリティーを再び計算する必要がある)、この場合、駆動レベルは使用者のために“新しい”データを書き込むが、しかし、システムレベルはRAIDシステムのために“既存の”情報を維持しようとすることができる。これはトリム動作を実行するための能力がない書込み増幅指数(Write Amplification Factor)を可能にする。
図8は本発明の実施形態によって多重モード選別潜在露出を駆動する方法を説明するフローチャートである。
7%のオーバープロビジョニング(例えば、ソリッドステートドライブ)で駆動することはオーバープロビジョニングを駆動すること無しで直接上書きを実行するシステム(例えば、ハードディスクドライブ)に比べて15倍過度の作業を要求し、システムオーバープロビジョニングを採用しないシステムに比べて15倍さらに過度の作業を要求して、全体的に225(=15×15)倍難しい。
フラッシュ管理システムが上位格納階層レベルへ移動されるようにする多重モード格納装置は作業の減少を可能にし(例えば、7%のオーバープロビジョニングはオーバープロビジョニングがない場合に比べ単純に15倍難しくなり、28%のオーバープロビジョニングはオーバープロビジョニングがない場合に比べ単純に3倍難しくなる)、これは書込み増幅指数の減少を可能にする。
幾つかの例示的な具現で、上位レベルからの管理動作を指示するために利用される選別された潜在アドレスブロック及びページは潜在物理レベルと調和されるか、或いはマッチングされ得る。これは使用者水準での情報ライフサイクルがシステム水準での情報ライフサイクルと異なるようにすることができる。しかし、管理の観点で、2つのライフサイクルは同様に調整され得る(例えば、使用者水準でのライフサイクルの長さ及びシステム水準でのライフサイクルの長さは使用者空間の利用及び消去に対応することができる)。
S810動作で、装置の第1部分を第1類型の情報を格納するための第1領域として構成するか、或いは指定する。幾つかの実施形態で、第1領域はメタデータ領域であり、第1類型の情報はメタデータである。ECCの大きさは可変(Vary)である。
S820動作で、第1アドレス空間情報に基づいて第1類型インターフェイス動作を実行する。幾つかの例示的な具現で、第1領域はメタデータ領域であり、第1類型の情報はメタデータである。幾つかの実施形態で、第1類型インターフェイスは論理アドレス空間インターフェイスであり、論理アドレス基盤の情報に基づいて動作を実行することができる。論理インターフェイス動作はFTLを含む。FTLはメタデータ及び論理アドレスを受信し、システムレベル構成で示すアドレスブロックを物理レベル構成のアドレスブロックに変換する。
S830動作で、装置の第2部分を第2類型の情報を格納するための第2領域として構成するか、或いは指定する。幾つかの実施形態で、第2領域は使用者データ領域であり、第2類型の情報は使用者データである。SUEアドレス空間は潜在物理アドレス空間構成との関係又は対応を相変わらず露出させ、物理アドレス空間と関連される複雑度をまとめるか、或いは除去し得る。幾つかの実施形態で、物理空間次元はSUEアドレスページ次元及びSUEアドレスブロック次元に抽出され得る。物理アドレス空間はSUEアドレスによってまとめられる。
S840動作で、第2アドレス空間情報に基づいて第2類型インターフェイス動作を実行する。第2類型インターフェイスは潜在的な様相を露出する。第2アドレス空間情報はSUEアドレス空間情報である。SUEアドレス空間情報は潜在的な様相に対応することができる。潜在的な様相は物理アドレス空間幾何学構造の代表的幾何学構造又は次元を含む。SUEインターフェイスは潜在的なシステム管理動作(例えば、フリー空間の管理、フリー空間の使用のための整備及び環境設定等)と関連される次元を露出することができる。メタデータ領域でのオーバープロビジョニングの比率は使用者データ領域でのオーバープロビジョニングの比率と互いに異なることができる。
図9は本発明の実施形態による多重モードソリッドステートドライブ920を例示的に示すブロック図である。図9で、多重モードソリッドステートドライブ920は論理アドレス基盤のソリッドステートドライブ910及び物理アドレス基盤のソリッドステートドライブ930に関する既存の試図と比較される。
論理アドレス基盤のソリッドステートドライブ910は論理インターフェイス911、フラッシュ変換ロジック(FTL)912、及び論理アドレス空間913を含む。物理アドレス基盤のソリッドステートドライブ930は物理インターフェイス931及び物理アドレス空間932を含む。多重モードソリッドステートドライブ920は論理インターフェイス921、FTL922、論理アドレス空間923、SUEインターフェイス924、及び物理アドレス空間925を含む。
多重モードソリッドステートドライブ920はドライブの潜在的な様相の便利で、選別的な露出を可能にする。十分に露出をしないか、或いは過度な複雑度を有する既存のアプローチと異なり、多重モードソリッドステートドライブ920は過渡な複雑さ無しで適切な量の露出を可能にする。
実際、既存のソリッドステートドライブは良好な線型アドレス空間を有するよりは、複数のフラッシュチップと共にコントローラを含む。このフラッシュチップ及びコントローラはダイ上でトランジスタのグループ又はストリング(String)に格納されるデータを有するページからなるブロックで動作するように構成される。
物理アドレス基盤のソリッドステートドライブ930は格納媒体のすべての潜在的な物理アドレス様相を露出しようとし、これは(論理アドレス基盤のソリッドステートドライブ910に比べて)非常に速い動作を可能にするが、非常に複雑なアプローチをもたらす。論理アドレス基盤のソリッドステートドライブ910は格納媒体の潜在的な細部様相を全て又は概ね隠すスキーム(Scheme)を利用して単一の線型フラットマッピング空間(Linear Flat Mapping Space)を有するが、潜在的な細部様相の大部分を隠しながら、根本的にはデータを物理領域に格納しようとすることは(物理アドレス基盤のソリッドステートドライブ930に比べて)システムを遅くさせる。
多重モードソリッドステートドライブ920はフラッシュ管理システムの動作を便利で、柔軟に構成し、具現できるようにする。多重モードソリッドステートドライブ920は論理アドレス空間923に対するフラッシュ管理システムの動作を主に多重モードソリッドステートドライブ920の内部コントローラ(例えば、図7のコントローラ775)で実行する。一方、物理アドレス空間925に対するフラッシュ管理システムの動作は主に多重モードソリッドステートドライブ920の外部コントローラ(例えば、図7のコントローラ745)でシステムレベルに実行される。
多重モードソリッドステートドライブ920のフラッシュ管理システムの動作を分離又は分割する能力はこのような分離又は分割を許容しない論理アドレス基盤のソリッドステートドライブ910及び物理アドレス基盤のソリッドステートドライブ930で利用されるフラッシュ管理システムの動作とは異なる。論理アドレス基盤のソリッドステートドライブ910のためのフラッシュ管理システムの動作は主に論理アドレス基盤のソリッドステートドライブ910の内部コントローラで実行され、物理アドレス基盤のソリッドステートドライブ930のためのフラッシュ管理システムの動作は主に物理アドレス基盤のソリッドステートドライブ930の外部コントローラでシステムレベルに実行される。
幾つかの実施形態で、多重モードソリッドステートドライブ920は潜在アドレス空間の幾つかの特徴を選別的に露出することができ、論理アドレス基盤のソリッドステートドライブ910及び物理アドレス基盤のソリッドステートドライブ930は潜在アドレス空間の幾つかの特徴及びその他のことの選別的な露出を可能にしない。幾つかの実施形態で、潜在的な様相を外部フラッシュ管理システム(例えば、図7の多重モード格納管理システム720)に露出することはその潜在的な様相の選択された露出をマッピングすることを随伴することができる。
II.選別潜在露出(SUE)マッピング
本発明の他の実施形態は選別潜在露出(SUE)マッピングスキームを具現化して、格納システムで使用者データのために論理アドレス空間からSUEアドレス空間へのマッピングを生成する。個別的な格納装置レベルよりは複数の格納装置に渡るシステムレベルで実行される特定な格納媒体管理機能を許容するために、SUEマッピングスキームは潜在物理格納媒体の重要な特徴を選別的に露出することができる。
例として、幾つかの実施形態は格納機器で複数のNANDフラッシュ不揮発性メモリ装置に渡る使用者アドレス空間の様相の選別的な露出を可能にすることができる。SUEマッピングスキームのSUEページ及びブロックは物理的なNANDフラッシュ不揮発性メモリ装置の各々で1つの単位として共に管理される対応する物理ページ及びブロックと整列される。物理的なNANDフラッシュ不揮発性メモリ装置の個別的なダイはSUEマッピングスキームでは区別されなくとも、SUEブロックの大きさに間接的に反映される。
格納装置の物理ページ及びブロックとSUEマッピングスキームのSUEページ及びブロックとの間の相関は格納システムですべてのNANDフラッシュ不揮発性メモリ装置に渡ってシステムレベルに組織され、具現される特定なNANDフラッシュ管理機能(例えば、消去、プログラム、及びフリー空間の再生(ガーベッジコレクション)及び管理)を許容する。特定な格納媒体管理機能のシステムレベルの具現は格納資源の提供(Provision)に関する有益な効率性を提供することができる。
図3を再び参照すると、NANDフラッシュ不揮発性メモリ装置のような多重モード格納装置(例えば、350、400、620)はこの明細書で説明されるSUEマッピングスキームを利用して具現化され得る。例として、幾つかの実施形態で、多重モード格納装置はNANDフラッシュ基盤のソリッドステートドライブである。幾つかの実施形態で、多重モード格納装置は標準ディスクドライブフォームファクタ(Standard Disk Drive Form Factor)や標準メモリカードフォームファクタ(Standard Memory Card Form Factor)のような標準化された物理的なフォームファクタにしたがう。
図5を再び参照すると、上述したように、多重モード格納装置は複数のNANDフラッシュメモリセルを有する様々なダイ511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544又はメモリチップを含むことができる。各ダイ上のNANDフラッシュメモリセルは、物理ブロック515、517、519、528、539のように、様々な個別的な物理ブロックにさらに区分されることができる。
消去及びフリー空間の管理は多重モード格納装置のダイの1つ以上の個別グループ上のメモリセルのブロックに対して実行され得る。例として、多重モード格納装置は128個のダイを含むことができ、1つのグループ又は単位として、128個のダイの中の1つのブロックに対して消去及びフリー空間の管理を実行することができる。代案的に、多重モード格納装置は128個のダイを含むことができ、1つのグループとして、ダイの部分集合(例えば、32個のダイのグループ)の中の1つのブロックに対して消去及びフリー空間の管理を実行することができる。
図10は本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEブロック及び対応するSUEページを示すブロック図である。
図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を含む。
幾つかの実施形態で、メモリセルのSUE構成が多重モード格納装置(例えば、350、400、620)で生成される。SUEページ及びSUEブロックはプログラム及び消去の単位として共に管理される、格納装置上のダイの各グループに対して準備され得る。SUEブロックは多重モード格納装置のダイの部分集合に含まれるダイから各々1つずつ選択される物理ブロックのメモリセルを含むように定義することができ、この物理ブロックは1つの単位として共に消去し、管理することができる。SUEページは1つのSUEブロックの個別セクション(Section)又はセグメント(Segment)を含むように定義することができ、この個別セクション又はセグメントは共にプログラムされ得る。
例として、幾つかの実施形態で、多重モード格納装置は128個のダイを含むことができ、各ダイに含まれる該当物理ブロック上のフリー空間を共に消去し、管理することができる。対応するSUEブロック1010は多重モード格納装置の128個のダイから各々1つずつ選択される128個の物理ブロックのメモリセルを含むように定義することができる。対応するSUEページ1030は128個の物理ブロックに各々対応する128個のセクション又はセグメントを含むように定義することができる。
例として、他の実施形態で、多重モード格納装置は128個のダイを含むことができ、1回に32個のダイの該当物理ブロック上のフリー空間を共に消去し、管理することができる。対応するSUEブロック1010は多重モード格納装置の32個のダイから各々1つずつ選択される32個の物理ブロックのメモリセルを含むように定義することができる。この場合、対応するSUEページ1030は32個の物理ブロックに各々対応する32個のセクション又はセグメントを含むように定義することができる。
その他の実施形態で、多重モード格納装置は各々が4つのプレーン(Plane)に分けられる128個のダイを含むことができ、各ダイに含まれる各々のプレーンのブロック上のフリー空間を管理することができる。対応するSUEブロック1010はメモリ装置に含まれる各々のプレーンの128個のブロックのメモリセルを含むように定義することができる。この場合、対応するSUEページ1030は各々のプレーンのブロックに対応する128個のセクション又はセグメントを含むように定義することができる。
図11は本発明の実施形態による多重モード格納装置の使用者領域への格納のための使用者格納空間の例示的なSUEブロック及び対応するSUEページを示すブロック図である。
図11を参照すると、使用者格納空間の例示的なSUEブロック1110が示されている。幾つかの実施形態で、SUEブロック1110は仮想ブロック(Virtual Block)と類似すると看做される。SUEブロック1110は個別格納装置レベルでメモリ媒体を管理するための動作の基本単位である。SUEブロックは様々なSUEページで構成することができる。幾つかの例示的な具現で、SUEページは仮想ページと類似すると看做される。例として、図11に示したSUEブロック1110は4つのSUEページ1121、1122、1123、1124を含む。
図5に示したように、SUEブロックのSUEページに割当される物理的なメモリセルは1つの多重モード格納装置(例えば、350、400、620)に含まれる様々なダイに渡って分布する対応する物理ページ及び物理ブロックに位置することができる。代案的な実施形態は多重モード格納装置の物理的な消去ブロックの大きさとプログラム可能である物理ページの大きさとの間の関係に基づいて所定個数のページに分割されるブロックを含むことができる。
図12は本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEメタページ及び対応するSUEページを示すブロック図である。
図12を参照すると、例示的なメタページ(Metapage)1210が示されている。メタページ1210は格納システムで様々な格納装置に渡って様々なSUEページで構成される。例として、図12に示したメタページ1210は5つのSUEページ1211、1212、1213、1214、1215を含む。代案的な実施形態は格納システムの個別的な多重モード格納装置の個数及び多重モード格納装置の各々で1つの単位として共に管理されるダイの個数に基づいて所定個数のSUEページに分割されるメタページを含むことができる。
各SUEページに割当される物理的なメモリセルは個別的な多重モード格納装置(例えば、350、400、620)に位置することができる。メタページ1210を形成する様々なSUEページ1211、1212、1213、1214、1215に割当されるメモリセルは格納システム(例えば、格納機器)と関連される様々な格納装置(例えば、620、630、640、650)に位置することができる。
したがって、SUEページ1121、1122、1123、1124の大きさ又は幅(Width)は各多重モード格納装置で1つの単位として共に管理されるダイの個数に対応できる反面、メタページ1210の大きさ又は幅は格納システムに含まれる多重モード格納装置の個数に対応することができる。
図13は本発明の実施形態による多重モード格納装置の使用者領域への格納のための例示的なSUEメタブロック及び対応するSUEメタページを示すブロック図である。
図13を参照すると、例示的なメタブロック(Metablock)1310が示されている。メタブロック1310は様々なメタページ1311、1312、1313、1314で構成される。メタページ1210と共に参照すると、メタブロック1310に割当される物理的なメモリセルは格納システムと関連される様々な格納装置に位置することができる。即ち、メタブロック1310は格納システムに含まれる多重モード格納装置(例えば、620、630、640、650)の各々で、1つの単位として共に管理されるダイの対応する部分集合に含まれる各ダイから選択される該当ブロックを含むことができる。したがって、メタブロック1310の大きさは各多重モード格納装置(例えば、350、400、620)で共に管理されるダイの個数、及び格納システムに含まれる多重モード格納装置620、630、640、650の個数に対応することができる。
図14は本発明の実施形態による多重モード格納装置の使用者領域への格納のための他の例示的なSUEメタブロック及び対応するSUEブロックを示すブロック図である。
図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)の結合である。
幾つかの実施形態で、特定メモリ媒体管理機能(例えば、消去、プログラム、フリー空間の再生(ガーベッジコレクション)及び管理等)はメタブロックレベルで実行される。即ち、このメモリ媒体管理機能は個別的な格納装置レベルの代わりに、格納システムレベルで提供され得る。
所望するシステムレベルのメモリ管理を可能にするために、使用者データに割当され、アプリケーション及びバーチャルマシンオペレーティングシステム(Virtual Machine Operating System)によって取り扱われる論理アドレス空間がSUEアドレス空間にマッピングされ得る。したがって、格納システムに含まれる多重モード格納装置の使用者領域は潜在露出インターフェイスを通じて取り扱うことができる。システムレベルのメモリマッピング及び管理は書込み増幅因子を減少させることができ、これは格納領域の提供を減らして費用減少を可能にする。
図15は本発明の実施形態によって論理アドレスからSUEアドレスへのアドレスマッピングを提供するために多重モード格納システムによって具現される例示的なSUEマッピングスキームを示す概念図である。
図15を参照すると、SUEマッピングスキーム1500が示されている。SUEマッピングスキーム1500は図6の多重モード格納管理システム610のような格納システムによって具現されて、本発明の実施形態によって論理アドレスからSUEアドレスへのアドレスマッピングを提供することができる。SUEマッピングスキーム1500は論理アドレス空間をSUEアドレス空間と関連させる。SUEアドレス空間は潜在物理格納媒体の重要な特徴を示す。SUEアドレス空間は格納システムに含まれる様々な格納装置の結合された物理的な格納空間を取り扱うために利用することができる。
使用者データ1502は、例としてホストアプリケーション及びバーチャルマシンオペレーティングシステムから入力として受信される。ホスト使用者データは元のホストファイルシステム、インターフェイス標準等と関連される論理ブロックの大きさ(例えば、512Kバイトの大きさの情報)に対応する格納単位(例えば、論理アドレス基盤のブロック又は論理ブロック)に組織することができる。受信された使用者データの各論理ブロックは論理ブロックアドレス(LBA)によって取り扱われ得る。例として、幾つかの実施形態で、入力された論理ブロックのアドレッシング動作はANSI(American National Standards Institute)によって配布されたSCSI(Small Computer System Interface)標準と関連されて取り扱われる。
使用者データ1502の論理アドレス基盤のブロックはSUEアドレスを有する(SUE Addressable)単位(又は、ハイブリッドマッピングシステム(Hybrid Mapping System)のマッピングブロック)に結合され得る。幾つかの実施形態で、所定個数(Integral Number)の論理ブロックがSUEアドレスを有する1つの単位を形成するためにグループ化される。例として、図15で、8つの論理ブロックがSUEアドレスを有する単位を形成するために結合される。代案的な実施形態で、SUEアドレスを有する1つの単位を形成するために整数個(Whole Number)又は実数個(Fractional Number)の論理ブロックが結合され得る。
幾つかの実施形態で、SUEアドレスを有する単位は格納システムのためのマッピングの最小グラニュラリティを有することができる。多様な実施形態で、SUEアドレスを有する単位は4Kバイト、8Kバイト、又はその他の適当な大きさを有することができる。
幾つかの実施形態で、格納システムは一連のボリューム(Volume)を含むことができる。各ボリュームはSUEアドレスを有する一連の単位を含むことができ、SUEアドレスを有する各単位は一連の論理単位を含むことができる。異なるボリュームは各々異なるSUEアドレスを有する単位の大きさを有することができる。ボリュームは多くの特性を有することが理解される。ボリュームはアプリケーション、単一の使用者レベルファイルシステム、論理的なドライブ、ネームスペース(Namespace、例えば、与えられたネームスペースと関連される隣接する論理アドレスの集合)、LUN(Logical Unit Number)等に対応することができる。
図示された例示的な具現で、論理ブロックアドレス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に結合され得る。論理ブロックはアドレスを有する単位にまたがることができるアドレスを有する単位毎に様々なブロックを含むことができる。
オプション(Option)として、SUEアドレスを有する単位(例えば、1503、1504、1505)の使用者データ1502に対してデータ圧縮アルゴリズムを実行することができ、これによってSUEアドレスを有する圧縮された単位(例えば、1507、1508、1509)が生成される。SUEアドレスを有する圧縮された単位(例えば、1507、1508、1509)に各々対応してヘッダー(Header)セクション(例えば、1511、1512、1513)が生成され得る。ヘッダーセクションは、例として、再生及びデータ復旧活動に利用される情報を含むことができる。
SUEアドレスを有する圧縮された単位及びヘッダーセクションは格納装置伝送ブロック(又は、ソリッドステートドライブ伝送ブロック1515、1517)に位置することができる。図示された例示で、ヘッダーセクション1511、1512、1513及びこれに対応するSUEアドレスを有する圧縮された単位1507、1508、1509がソリッドステートドライブ伝送ブロック1515、1517に含まれる。幾つかの実施形態で、SUEアドレスを有する圧縮された単位はもちろん、使用者データ1502に含まれる論理ブロックもやはり、2以上の格納装置伝送ブロックに渡って位置することができる。
所定個数(Integral Number)の格納装置伝送ブロックが多重モード格納装置への伝送のためにSUEページ1591、1592、1593、1594に合わせて整列され得る。幾つかの実施形態で、SUEアドレスを有する圧縮された単位はもちろん、使用者データ1502に含まれる論理ブロックもやはり、2以上のSUEページ1591、1592、1593、1594に渡って位置することができる。
幾つかの実施形態で、ECC等を利用して使用者データ1502に対して実行される誤謬訂正がシステムレベルでは具現されないこともあり得る。但し、誤謬訂正は個別の多重モード格納装置によって具現されることができる。
使用者データと関連されるメタデータは多重モード格納装置(例えば、350、400、620)の論理アドレス基盤のシステム領域に格納され得る。例として、幾つかの実施形態で、論理ブロックのアドレッシング動作を利用して管理される多重モード格納装置のメモリセルの一部分はマップテーブル(Map Table)を格納することができる。マップテーブルはSUEアドレスを有する単位をSUEアドレス空間にマッピングすることができる。例として、マップテーブルはポインター(Pointer)を格納でき、ポインターの各々はSUEアドレスを有する個別の単位を示すことができる。したがって、SUEアドレス空間で、使用者データの論理ブロックの対応する格納位置はSUEアドレスを有する単位のマッピング、及び論理ブロック及びSUEアドレスを有する単位の対応するオフセット(Offset)を利用して判別され得る。
幾つかの実施形態で、ボリューム(例えば、671、672、673)に情報が格納される。様々なボリューム又はネームスペースがあり、異なるボリューム又はネームスペースは異なる大きさのSUEアドレスを有する単位と関連され得る。異なる大きさのボリューム又はネームスペースが同一の大きさのSUEアドレスを有する単位と関連されることが理解できる。
図16は図15のSUEマッピングスキームを具現できる例示的な格納システムを示すブロック図である。図16を参照すると、例示的な格納システム1602はプロセッサ1604、メモリ1606、ネットワークインターフェイス1608、入出力装置1610、表示装置1612、バス1614、及び様々な不揮発性メモリ装置1616を含む。格納装置1602の多様な構成要素はローカルデータリンク(Local Data Link)1618によって接続される。ローカルデータリンク1618は、例としてアドレスバス、データバス、直列バス、並列バス、又はこれらの組合わせを含む。
プロセッサ1604は格納システム1602を制御するのに適合な汎用プロセッサ又はアプリケーション特定デジタルプロセッサ(Application Specific Digital Processor)を含むことができる。メモリ1606はプロセッサ1604によってアクセスされるデータ及び命令語(Instruction)を格納するのに適合なデジタルメモリ装置を含む。
ネットワークインターフェイス1608は格納システム1602を通信ネットワーク(例えば、LAN(Local Area Network)、IP(Internet Protocol)ネットワーク等)に通信接続するのに適合なネットワークインターフェイスを含む。ネットワークインターフェイス1608は格納ネットワーク標準(例えば、iSCSI(Internet Small Computer System Interface)プロトコル)を具現することができる。
入出力装置1610は格納システム1602でデジタル情報を送受信するのに適合な装置を含む。表示装置1612は文字又はGUI(Graphical User Interface)を表示するのに適合な装置を含む。
バス1614は、例としてPCIe(Peripheral Component Interconnect Express)バスや格納システムの通信のために利用可能なその他の何らかの高速直列拡張バスでも含むことができる。バス1614は格納システム1602の格納装置(例えば、不揮発性メモリ装置1616)のアクセスのために、NVMe(Nonvolatile Memory Express)又はNVMHCI(Nonvolatile Memory Host−Controller Interface)の標準を活用することができる。不揮発性メモリ装置1616は、例として、NANDフラッシュ基盤のソリッドステートドライブやその他の何らかの適合な不揮発性メモリ装置を含むことができる。
代案的な実施形態で、汎用コンピューティング装置が図15のSUEマッピングスキーム1500の機能を具現することができる。例として、汎用コンピューティング装置はサーバー、ワークステーション、パーソナルコンピュータ等を含むことができる。
不揮発性メモリ装置1616のようにコンピュータで読出しできる媒体に格納されるプログラムコード(例えば、ソースコード(Source Code)、オブジェクトコード(Object Code)、実行可能なコード(Executable Code)等)はワーキングメモリ又は演算メモリ(例えば、メモリ1606)にロード(Load)されて、図15のSUEマッピングスキーム1500の機能を実行するためにプロセッサ1604によって実行され得る。代案的な実施形態で、実行可能な命令語がファームウェア形態に格納されるか、或いは上記の機能が特殊目的ハードウェアによって実行される。
図17は本発明の実施形態によって論理アドレス空間をSUEアドレス空間にマッピングする例示的な方法を説明するフローチャートである。例として、図17の例示的な方法は、格納システムに含まれる様々な格納装置の結合物理格納空間を取り扱うために、論理アドレス空間をSUEアドレス空間にマッピングするSUEマッピングスキームを具現できる図16の格納システム1602によって実行される。
S1702動作で、例として、ホストアプリケーション又はバーチャルマシンオペレーティングシステムから使用者データを受信してから、図17の方法が開始される。受信した使用者データは論理ブロックで構成されて論理ブロックアドレスとして取り扱われる。論理ブロックは元のホストファイルシステム、データベース等と関連されて、アドレスを有するメモリ単位の最小の大きさに対応する。
S1704動作で、上述したように、論理ブロックがSUEアドレスを有する単位に結合される。例として、所定個数(Integral Number)の論理ブロックがSUEアドレスを有する各単位を形成するためにグループ化される。S1706動作で、上上述したように、オプションとして、SUEアドレスを有する単位の使用者データに対してデータ圧縮アルゴリズムが実行される(図17で、破線で示した動作はオプションである)。
S1708動作で、ヘッダーセクションを生成してSUEアドレスを有する各単位に加える。上述したように、例として、ヘッダーセクションは再生及びデータ復旧活動に利用するための情報を含むことができる。S1710動作で、上述したように、SUEアドレスを有する圧縮された単位及びヘッダーセクションを格納装置伝送ブロックに配置する。
上述のように、S1712動作で、所定個数(Integral Number)の格納装置伝送ブロックを結合してSUEページに合うように整列する。S1714動作で、SUEページに対応する格納装置伝送ブロックを多重モード格納装置に伝送して、使用者領域に格納する。S1716動作で、SUEページの使用者データに関するメタデータが多重モード格納装置に伝送されて、システム領域に格納される。
III.多重モード格納管理システム
図18は格納システム(例えば、図16の格納システム1602)が本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した例示的な多重モード格納管理システムを示すブロック図である。多重モード格納管理システム1802はSUE格納管理器1804、論理格納管理器1806、再生管理器1808、及び格納アレイ(Array)管理器1810を含む。
SUE格納管理器1804は使用者データ格納マッピング、読出し及び書込み機能を提供する。SUE格納管理器1804はSUEアドレスマッピングスキームを利用して、使用者データを格納システムの使用者領域にマッピングする。SUE格納管理器1804は格納システムの格納装置へのSUEインターフェイスを通じて、使用者領域に格納された使用者データにアクセスする。
SUEマッピングスキームは格納システムと格納装置との間で、論理ブロックアドレスから物理アドレスへのマッピング機能を分配する。即ち、SUEマッピングスキームは論理ブロックアドレスからSUEアドレスへの格納システムレベルのマッピング又は仮想化(Virtualization)と、SUEアドレスから物理アドレスへの格納装置水準のマッピング又は変換を結合する。
SUEマッピングスキームは格納装置の特定な物理的な特徴又は代表的幾何学構造を格納システムに露出することができ、使用者データに特定な不揮発性メモリ管理機能が個別の格納装置レベルよりは様々な格納装置に渡る格納システムレベルで実行されるようにする。このように、個別の格納装置レベルから格納システムレベルに使用者データ管理作業を再分配することは書込み増幅因子の減少を含んでシステム効率性を向上させて、資源提供を減らし、費用減少を可能にする。
論理格納管理器1806はシステムデータ格納マッピング、読出し、及び書込み機能を提供する。論理格納管理器1806は論理ブロックアドレス(LBA)のような論理アドレスマッピングスキームを利用して、システムデータを格納装置のシステム領域にマッピングする。論理格納管理器1806は格納装置への論理インターフェイスを通じて、システム領域に格納されたシステムデータにアクセスする。
したがって、幾つかの実施形態で、関連された格納装置又は関連された様々な格納装置の各々のメモリ領域は、論理アドレス基盤のシステム領域及びSUEアドレス基盤の使用者領域を含んで、別個の格納領域又はアドレス領域にさらに分けるか、或いは分割され得る。格納装置は2つのホストインターフェイスを含む。1つは論理アドレス基盤のシステム領域へのアクセスを提供できる論理ホストインターフェイスであり、その他の1つはSUEアドレス基盤の使用者領域へのアクセスを提供できるSUEホストインターフェイスである。システムデータに関する不揮発性メモリ管理機能は個別的な格納装置コントローラによって実行され得る。
再生管理器1808は使用者データに関して格納システムレベルで提供される不揮発性メモリ管理機能を提供するが、この不揮発性メモリ管理機能はフリー空間の管理及び再生、又はガーベッジコレクションを含む。したがって、格納システムに含まれる個別の格納装置は使用者データのためのローカル再生(ガーベッジコレクション)を実行しないことがあり得る。再生管理器1808は多様なフリー空間の管理及び再生方法を具現する。幾つかの実施形態で、再生管理器1808はこの明細書で説明する新しいフリー空間の管理及び再生方法を実行することもあり得る。
格納アレイ管理器1810、又はRAID(Redundant Array of Independent Disks)管理器は格納システムに含まれる様々な格納装置のアレイのための格納管理を提供するが、この格納管理は使用者データに関するデータ復旧機能を含む。したがって、格納システムに含まれる個別の格納装置は使用者データのためのダイレベルのRAID機能を実行しないことがあり得る。格納アレイ管理器1810は多様な格納管理及びデータ復旧方法を具現することができる。幾つかの実施形態で、格納アレイ管理器1810はこの明細書で説明する新しい格納管理及びデータ復旧方法を実行することができる。
図19は格納システム(例えば、図16の格納システム1602)が本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用した他の例示的な多重モード格納管理システムを示すブロック図である。多重モード格納管理システム1902はデータ整列器1904、SUE格納アクセス管理器1906、データ圧縮管理器1908、ボリュームマッピングエンジン1910、バッファ管理器1912、メタブロック管理器1914、再生管理器1916、格納アレイ管理器1918、及び論理格納アクセス管理器1920を含む。
データ整列器1904は論理アドレス基盤の媒体アクセスコマンド(例えば、読出しコマンド、書込みコマンド、マッピング解除(Unmapping)コマンド等)をSCSIターゲットから受信する。このコマンドは論理ブロックアドレス(LBA)方式を採用することができ、SCSIのメモリ位置抽出基準はメモリブロックが整数指標(Integer Index)によって指示される線型アドレススキームに基づく。論理ブロックアドレス方式で、単一整数基盤のアドレスがデータの各論理ブロックの開始を識別するために利用され、各線型基盤アドレスは単一論理ブロックと固有に関連される。したがって、論理ブロックアドレス方式は格納装置の細部的な事項又は特徴をオペレーティングシステム、ファイルシステム、装置ドライバー、及びホストアプリケーションから隠すか、或いはマスクすることができる。
書込み動作の間に、データ整列器1904はSCSIターゲット(Target)から受信されるデータの論理ブロックをSUEマッピングブロックに結合する。例として、幾つかの実施形態で、所定個数(Integral Number)の論理ブロックを1つのSUEマッピングブロックを形成するためにグループ化することができる。オプションとして、データ圧縮管理器1908はSUEマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを実行することができる。
読出し動作の間に、データ整列器1904は読出しコマンドをSCSIターゲットから受信し、読出し要求をSUE格納アクセス管理器1906に伝達する。データ整列器1904は要求された使用者データをSUE格納アクセス管理器1906から受信し、要求された使用者データをSCSIターゲットに伝達する。
SUE格納アクセス管理器1906は使用者データ読出し及び書込み機能を提供する。書込み動作の間に、SUE格納アクセス管理器1906は各SUEマッピングブロックに対してヘッダーセクションを生成する。ヘッダーセクションは、例として再生及びデータ復旧活動に利用することができる情報を含む。SUE格納アクセス管理器1906は圧縮されたSUEマッピングブロックとこれに対応するヘッダーセクションを共に格納装置伝送ブロックに位置させる。幾つかの実施形態で、圧縮されたSUEマッピングブロックはもちろん、使用者データに含まれる論理ブロックもやはり、2つ以上の格納装置伝送ブロックに渡って位置する。
SUE格納アクセス管理器1906は所定個数(Integral Number)の格納装置伝送ブロックを、格納装置への伝送のためのSUEページに整列する。SUE格納アクセス管理器1906はSUEページに対応する格納装置伝送ブロックを書込みバッファに伝送する。
幾つかの実施形態で、圧縮されたSUEマッピングブロックはもちろん、使用者データに含まれる論理ブロックもやはり、2つ以上のSUEページに渡って位置することができる。各SUEページは格納システムの個別の格納装置に対応する。SUEページはSUEマッピングスキームでプログラム又は書込み動作の基本単位である。
読出し動作の間に、SUE格納アクセス管理器1906は要求された使用者データの位置を判別でき、要求された使用者データが関連格納装置から読み出されるように読出しバッファに要求する。SUE格納アクセス管理器1906は使用者データを読出しバッファからデータ整列器1904に伝送する。
データ圧縮管理器1908はSUEアドレススキームの下位機能として又はSUEアドレススキームに相互補完的な機能として、使用者データに対して圧縮アルゴリズムを実行する。データ圧縮管理器1908によって実行されるデータ圧縮機能はオフセットが内在するシステムで書込み増幅を引き起こす要因を解消するのに役に立つ。
ボリュームマッピングエンジン1910はSUEアドレスマッピング機能を調整する。ボリュームマッピングエンジン1910は使用者データの現在位置を書き込む使用者領域マップテーブルを維持する。使用者領域マップテーブルは論理ブロックアドレスを格納された使用者データのSUEアドレスと関連させるマッピング情報を含む。使用者領域マップテーブルは関連格納装置の論理アドレス基盤のシステム領域に格納される。
書込み動作の間に、ボリュームマッピングエンジン1910は書き込まれた使用者データに対してSUE格納アクセス管理器1906から受信した新しい又は変更されたSUEアドレス位置に基づいて、使用者領域マップテーブルを更新する。
読出し動作の間に、ボリュームマッピングエンジン1910は要求された論理ブロックアドレスに基づいて、要求された使用者データのSUEアドレス位置を使用者領域マップテーブルで検索する。ボリュームマッピングエンジン1910はSUEアドレス位置をSUE格納アクセス管理器1906に提供する。
ボリュームマッピングエンジン1910は使用者データをSUEページ、SUEブロック、メタページ、及びメタブロックで構成する。SUEブロックは様々な物理ブロックを個別の格納装置にマッピングする。幾つかの実施形態で、同一のSUEブロックにマッピングされる物理ブロックは格納装置の個別のダイ上に各々位置することができる。同一のSUEブロックにマッピングされるすべての物理ブロックは格納装置レベルで1つの単位として消去され、管理される。したがって、SUEブロックはフリー空間の再生及び管理に対して各々のダイ上で共に管理される物理ブロックのグループに対応することができる。同様に、1つのSUEブロックに対応するダイ上の各々の物理ブロックのグループは格納媒体の1つの単位として管理される。
各SUEブロックは様々なSUEページを含み、このSUEページの各々はSUEブロックにマッピングされる該当物理ブロックの物理ページに整列される。格納システムに含まれるすべての格納装置に渡って位置する各々のSUEブロックの対応するSUEページはメタページにマッピングされる。同様に、格納システムに含まれるすべての格納装置に渡って位置する対応するSUEブロックはメタブロックにマッピングされ得る。
多重モード格納管理システム1902のレベルでの格納媒体管理機能(例えば、フリー空間の再生及び管理)は使用者データのメタブロックに対して実行される。したがって、多重モード格納管理システム1902のレベルでの格納媒体管理機能は格納システムに含まれる各格納装置で共に管理される該当物理ブロックのグループに対して実行され得る。
プログラム動作及び読出し動作は使用者データのメタページに対して実行される。よって、プログラム動作及び読出し動作は格納システムに含まれる各不揮発性メモリ装置で共に管理される該当物理ページのグループに対して実行され得る。
したがって、格納システムに含まれる格納装置は物理的な格納領域の重要な構成又は代表的幾何学構造を多重モード格納管理システム1902に露出する方式に仮想化され得る。単一の格納装置に含まれる各々のダイ上で共に管理される物理ブロックのグループは多重モード格納管理システム1902にSUEブロックとして提供され、そして格納システムに含まれるすべての格納装置に渡って位置する各々のダイ上で共に管理される物理ブロックの該当グループは多重モード格納管理システム1902にメタブロックとして提供される。
同様に、単一の格納装置に含まれる各々のダイ上で共にプログラムされる物理ページのグループは多重モード格納管理システム1902にSUEページとして提供され、そして格納システムに含まれるすべての格納装置に渡って位置する各々のダイ上で共にプログラムされる物理ページのグループは多重モード格納管理システム1902にメタページとして提供され得る。
バッファ管理器1912は読出し及び書込みバッファのプール(Pool)を管理する。書込み動作の間に、使用者データが格納アレイ管理器1918を経て個別の格納装置にSUEページとして別々に送る前に使用者データの完全なメタページが概ね累積される時まで、バッファ管理器1912はSUE格納アクセス管理器1906から受信した格納装置伝送ブロックを書込みバッファに累積させる。
読出し動作の間に、バッファ管理器1912は読出しキャッシュ(Cache)機能を支援するために読出しバッファを提供する。格納アレイ管理器1918から格納装置伝送ブロックとして受信される使用者データのSUEページはSUE格納アクセス管理器1906に伝達される時まで読出しバッファに格納される。
メタブロック管理器1914は格納装置の使用者領域で定義される個別のメタブロックの現在状態(例えば、消去される、活性化される(Actice)、閉じる(Closed)、再生、又は消去中)を継続して把握し、管理する。現在状態はメタブロック情報テーブルに格納され得るが、メタブロック情報テーブルはメモリに格納することができ、格納装置のシステム領域にバックアップすることができる。また、メタブロック管理器1914は現在特定な状態にあるメタブロックの該当リスト(例えば、消去されたリスト、再生リスト、消去中であるリスト等)を維持する。メタブロック管理器1914は再生活動のためにSUE格納アクセス管理器1906に伝送しようとする特定メタブロックを選択する。
再生管理器1916は指定されたメタブロックの有効な(Valid)使用者データを復旧し、その有効な使用者データを他のメタブロックに移動させるために、メタブロック管理器1914からの再生要求を処理する。再生管理器1916は格納装置の使用者領域にフリー空間を提供するために、指定されたメタブロックに対応する物理的なメモリセルが消去され、再生されるように要求する。
格納アレイ管理器1918は格納装置の使用者領域をSUEインターフェイスに提供する。それだけでなく、格納アレイ管理器1918は格納装置のシステム領域を論理インターフェイスに提供する。格納アレイ管理器1918はRAIDストライプ(Stripe)方式及びパリティー検査のようなデータ保護機能を提供する。例として、幾つかの実施形態で、格納装置伝送ブロックはRAID要素として利用することができ、RAIDストライプは1メタページのすべてのSUEページに渡って位置する格納装置伝送ブロックを含むことができる。したがって、格納システムで所定の格納装置が故障になれば、格納アレイ管理器1918は逆パリティー(Reverse Parity)演算を利用して、故障になった格納装置からデータを復旧することができる。
論理格納アクセス管理器1920は論理アドレス方式を利用して、システムデータの読出し及び書込み機能を提供する。論理格納アクセス管理器1920は使用者データにメタデータを格納し、読み出すことができるが、このメタデータは使用者領域マップテーブル、メタブロック情報テーブル、及びボリュームテーブルはもちろん、格納システムファイル、ログ(Log)ファイル等を含む。
使用者領域に格納される使用者データと関連して、個別の不揮発性メモリ装置は特定メモリ媒体の管理機能(例えば、読出しリトライ(Retry)、損傷された物理ブロックのマッピング、ECC、改善されたISPP(Incremental Step Pulse Programming)等)の責任を負う。システム領域に格納されるシステムデータと関連して、個別の不揮発性メモリ装置はすべてのメモリ媒体の管理機能(例えば、再生、ウェアレベリング(Wear−leveling)、読出し及び書込みキャッシング(Caching)、読出しリトライ、損傷された物理ブロックのマッピング、ECC、改善されたISPP等)の責任を負う。
図20は格納システムが本発明の実施形態によって格納装置で論理及びSUE格納空間を取り扱うためにSUEアドレススキームを採用したその他の例示的な多重モード格納管理システム(又は、ハイブリッドマッピングシステム)を示すブロック図である。
多重モード格納管理システム2002は格納システムに含まれる様々な格納装置に渡って分布する使用者領域に関する不揮発性メモリ媒体管理の責任を負う全域フラッシュ変換階層(Global Flash Translation Layer)として動作する。多重モード格納管理システム2002は不揮発性メモリ媒体のアクセス機能、ホストアプリケーションの論理アドレス空間の要素を物理的な不揮発性メモリ位置に整列されたSUEアドレス空間のデータ構造にマッピングするためのアドレスマッピング機能、再生、及びウェアレベリング機能を実行する。
多重モード格納管理システム2002はデータ整列器2004、使用者領域アクセス管理器2006、使用者領域マッピングエンジン2008、バッファ管理器2010、システム領域アクセス管理器2012、メタブロック管理器2014、メタブロック情報管理器2016、格納装置制御管理器2018、格納装置アクセス管理器2020、全域状態(Global State)管理器2022、及び全域誤謬(Global Error)管理器2024を含む。多重モード格納管理システム2002はシステム状態管理器2026、システムログ及び統計管理器2028、ターゲット装置2030、及び様々な不揮発性メモリ装置2032と通信するように接続される。
全域誤謬管理器2024は多重モード格納管理システム2002を含む格納システムで発生する全域誤謬を管理する。システム状態管理器2026は多重モード格納管理システム2002の状態(例えば、動作環境)を管理する。システムログ及び統計管理器2028は多重モード格納管理システム2002を含む格納システムの動作に基づいて、システムログ/統計を提供する。不揮発性メモリ装置2032は広く利用される何らかの種類の不揮発性メモリでも含むことができる。ターゲット装置2030は読出し/書込み動作の対象である他のメモリ装置である。
データ整列器2004はターゲット装置2030から論理アドレス基盤の媒体アクセスコマンド(例えば、読出しコマンド、書込みコマンド、マッピング解除コマンド等)を受信する。データ整列器2004は論理ブロックアドレス(LBA)のバッファリストを入力として受信する。書込み動作の間に、データ整列器2004はターゲット装置2030から受信されるデータの論理ブロックをSUEマッピングブロック(又は、ハイブリッドマッピングブロック(Hybrid Mapping Block))に結合する。例として、幾つかの実施形態で、所定個数(Integral Number)の論理ブロックが1つのSUEマッピングブロックを形成するためにグループ化される。
データ整列器2004はターゲット装置2030から受信される整列された使用者データのトラフィック(Traffic)及び整列されない使用者データのトラフィック全てを統合する。この時、データ整列器2004は論理アドレスから物理アドレスへのマッピングのための単位(SUEマッピングブロック)にデータを整列するために、整列されない書込みトラフィックのための読出し/修正/書込み(Read/Modify/Write)動作を実行する。データ整列器2004は使用者データを、SUEマッピングブロックに整列されたバッファリストに位置させる。多様な実施形態で、SUEマッピングブロックは4Kバイト、8Kバイト、16Kバイト等のように、固定されたデータ量を有することができる。
読出し動作の間に、データ整列器2004はターゲット装置2030から読出しコマンドを受信して、読出し要求を使用者領域アクセス管理器2006に伝達する。データ整列器2004は要求された使用者データを使用者領域アクセス管理器2006から受信して、その要求された使用者データをターゲット装置2030に伝達する。
図21は本発明の実施形態による多重モード格納管理システムによって具現することができる使用者領域アクセス管理器を示すブロック図である。図21を参照すると、使用者領域アクセス管理器2006は読出し管理器2102、書込み管理器2104、データ圧縮管理器2106、データ圧縮解除(Decompression)管理器2108、再生管理器2110、フリー空間書込み管理器2112、流れ制御管理器2114、及びサービス品質管理器2116を含む。
読出し管理器2102はデータ整列器2004から読出し要求を受信し、その読出し要求を処理する。読出し管理器2102は使用者領域マッピングエンジン2008に関連されたマッピング情報を要求する。読出し管理器2102は読出し要求を格納装置アクセス管理器2020に送る。読出し動作の間に、読出し管理器2102はバッファ管理器2010に読出しバッファの使用者データを送ることを要求する。読出し管理器2102は読出し要求された使用者データの圧縮解除要求をデータ圧縮解除管理器2108に送る。
書込み管理器2104はデータ整列器2004から書込み要求を受信する。書込み動作の間に、書込み管理器2104はSUEマッピングブロックストリームに対するメタデータヘッダーを生成し、使用者データのSUEアドレスに関して使用者領域マッピングエンジン2008のためにマッピング情報を生成する。書込み管理器2104は使用者データ圧縮コマンドをスケジューリング(Scheduling)するために圧縮要求をデータ圧縮管理器2106に送り、格納装置アクセス管理器2020に書込み要求を送る。書込み管理器2104はバッファ管理器2010に書込みバッファの使用者データを送ることを要求する。書込みデータの現在メタブロックが一杯になった場合、書込み管理器2104はメタブロック管理器2014に新しい活性化されたメタブロックを開けることを要求する。
データ圧縮管理器2106は書込み管理器2104から圧縮要求を受信し、その圧縮要求を処理する。幾つかの実施形態で、データ圧縮管理器2106はSUEマッピングブロックの使用者データに対してデータ圧縮アルゴリズムを具現することができる。幾つかの他の実施形態で、データ圧縮管理器2106は外部圧縮ユニット(図示せず)に対してデータ圧縮作業をスケジューリングすることができる。
データ圧縮解除管理器2108は読出し管理器2102から圧縮解除要求を受信し、その圧縮解除要求を処理する。幾つかの実施形態で、データ圧縮解除管理器2108はSUEマッピングブロックの使用者データに対してデータ圧縮解除アルゴリズムを具現することができる。幾つかの他の実施形態で、データ圧縮解除管理器2108は外部圧縮解除ユニット(図示せず)に対してデータ圧縮解除作業をスケジューリングすることができる。
再生管理器2110はメタブロック管理器2014から再生要求を受信し、フリー空間を再生するために指定されたメタブロックから有効データを復旧する再生要求を処理する。再生管理器2110は使用者領域マッピングエンジン2008に関連されたマッピング情報を要求し、指定されたメタブロックに関して読出し要求を読出し管理器2102に送る。再生管理器2110は格納装置からの読出しデータストリームのSUEマッピングブロックに伴うメタデータヘッダーを分析し、指定されたメタブロックに残っているすべての有効データに関して書込み管理器2104に書込み要求を送る。また、再生管理器2110は部分的なメタブロックデータを再生するために格納装置制御管理器2018からの要求を処理する。
フリー空間書込み管理器2112は書込み動作の間に書込み管理器2104からマッピング情報を受信し、メタブロックに格納された古くなった使用者データに関してフリー空間の情報を生成する。フリー空間書込み管理器2112はフリー空間の情報をメタブロック情報管理器2016に送って、該当メタブロック情報テーブルの登録を更新する。
流れ制御管理器2114は読出し/書込みバッファ、圧縮バッファ、格納バス及びその他のキュー深さ(Queue Depth)等のようなシステム資源をモニタリングする。システムレベルの資源提供が基準限界以下に低下される場合、流れ制御管理器2114はサービス品質管理器2116の調節水準(Throttling−down Level)をリセットする。幾つかの実施形態で、資源提供の要求水準はシステム管理者コマンドを利用して設定することができる。流れ制御管理器2114はシステム管理者に統計値を提供するが、この統計値はインターフェイスレベルの調節(Throttling)のために利用される。
サービス品質管理器2116はシステム資源提供水準及びレイテンシ(Latency)測定値に基づいて、サービス品質の方策を定義する。サービス品質管理器2116は異なるサービス品質方策プールを支援するために様々なキューを具現する。レイテンシ基盤の方策に関して、サービス品質管理器2116はキューエントリに対してタイムスタンプ(Time stamp)を具現する。サービス品質管理器2116は多様なキューパラメーター(Parameter)をモニタリングすることができ、方策に違反しないことを保障するための要求を選択する。流れ制御管理器2114の要求にしたがって、サービス品質管理器2116は資源提供基盤の方策キューに対してトラフィックを調節する。
図22は本発明の実施形態による多重モード格納管理システムによって具現することができる使用者領域マッピングエンジンを示すブロック図である。図22を参照すると、使用者領域マッピングエンジン2008はボリューム管理器2202、マップページ読出し管理器2204、マップページ書込み管理器2206、及びマップページキャッシュ管理器2208を含む。
ボリューム管理器2202はボリュームを生成し、除去し、管理するためのサービスを提供し、様々な提供方策を取り扱う。ボリューム管理器2202は関連された情報をボリュームテーブルで維持させるが、このボリュームテーブルはメモリに格納され、システム領域にバックアップされる。ボリューム管理器2202はボリュームテーブルの記載事項へのアクセスのためのサービスを提供する。ボリューム管理器2202はシステム領域アクセス管理器2012を利用してボリュームテーブルをバックアップし、復元する。
所定マップページ無し(Miss)がマップページキャッシュ管理器2208によって検出された場合、マップページ読出し管理器2204は欠如されたマッピングページに関してマップページキャッシュ管理器2208から提供される要求を受信し、処理する。マップページ書込み管理器2206はマッピングページを取り戻すためのマップページキャッシュ管理器2208からの要求を受信し、処理する。
マップページキャッシュ管理器2208は読出し管理器2102及び再生管理器2110から提供されるマッピング登録情報要求を処理する。また、マップページキャッシュ管理器2208は書込み管理器2104によって提供されるマッピング登録更新を処理する。所定マップページがないことが検出された場合、マップページキャッシュ管理器2208はマップページ読出し管理器2204に欠如されたマッピングページを要求する。マップページキャッシュ管理器2208はマップページ書込み管理器2206にマッピングページの回復を要求する。
バッファ管理器2010は読出し及び書込みバッファのプールを管理する。書込み動作の間に、バッファ管理器2010は格納装置伝送ブロックを割当及び放出(Release)して、書込み管理器2104から受信された使用者データを書込みバッファに累積させる。使用者データの完全なメタページが概ね累積された時、バッファ管理器2010は書込みバッファの使用者データ放出の要求を書込み管理器2014から受信する。そして、バッファ管理器2010は使用者データを格納装置アクセス管理器2020に伝達する。
読出し動作の間に、バッファ管理器2010は格納装置伝送ブロックを読出しバッファに割当及び放出して、読出しキャッシュ機能を支援する。格納装置アクセス管理器2020から格納装置伝送ブロックとして受信された使用者データのSUEページは最初に読出しバッファに格納される。バッファ管理器2010は読出しバッファの使用者データの放出の要求を読出し管理器2102から受信する。バッファ管理器2010は格納装置伝送ブロックを読出し管理器2102に伝達する。
システム領域アクセス管理器2012は格納システムに含まれる格納装置のシステム領域に格納されたシステムデータへのアクセスに関する要求を処理する。システム領域アクセス管理器2012はボリュームテーブル及びメタブロック情報テーブルをバックアップし、復元するために、ボリューム管理器2202及びメタブロック情報管理器2016からの要求を各々受信し、処理する。システム領域アクセス管理器2012は使用者領域マップテーブルにアクセスするために、マップページ書込み管理器2206、マップページ読出し管理器2204、及びマップページキャッシュ管理器2208からの要求を受信し、処理する。
図23は本発明の実施形態による多重モード格納管理システムによって具現することができるメタブロック管理器を示すブロック図である。図23を参照すると、メタブロック管理器2014は再生メタブロック選択器2302及びメタブロック状態管理器2304を含む。
再生メタブロック選択器2302は消去回数、古くなったデータの水準、保存時間等のような使用者領域メタブロックに関するパラメーターをモニタリングする。モニタリングされたパラメーターに基づいて、再生メタブロック選択器2302は再生又はガーベッジコレクションのためのメタブロックを選択する。再生メタブロック選択器2302は多様なウェアレベリング方策を具現する。例として、再生メタブロック選択器2302はメタブロック消去回数が適当な値範囲内で維持されるようにし、相対的に動的なデータ(ホット(Hot)データ)と相対的に静的なデータ(コールド(Cold)データ)が互いに別のメタブロックに分離されるようにする。
メタブロック状態管理器2304は使用者領域メタブロックの現在状態(例えば、活性化される、閉じる、消去中、消去される、再生又はガーベッジコレクション)を追跡する。メタブロック状態管理器2304はメタブロック情報テーブルを更新して、メタブロックを多様な状態に遷移(Transition)させる。また、メタブロック状態管理器2304は特定な状態にあるメタブロックの多様なリスト(例えば、消去されたメタブロックリスト、再生メタブロックリスト、及び消去中であるメタブロックリスト)を維持する。メタブロック状態管理器2304は再生(ガーベッジコレクション)が準備された個別のメタブロックを判別するために、消去されたメタブロックリストをモニタリングする。
メタブロック情報管理器2016はメタブロック情報テーブルを維持する。メタブロック情報管理器2016は他のモジュールのために、メタブロック情報テーブルにある記載事項へのアクセスサービスを提供する。メタブロック情報管理器2016はメタブロック情報テーブルをバックアップし、復元するために、システム領域アクセス管理器2012に要求を伝送する。
図24は本発明の実施形態による多重モード格納管理システムによって具現することができる格納装置制御管理器を示すブロック図である。図24を参照すると、格納装置制御管理器2018又はソリッドステート装置制御管理器は格納装置ログ及び統計管理器2402、SUEブロック消去エンジン2404、及び格納装置誤謬管理器2406を含む。
格納装置ログ及び統計管理器2402は格納装置のアクセス履歴(History)のログを維持する。
SUEブロック消去エンジン2404はメタブロック管理器2014を通じて再生管理器2110から消去要求を受信し、消去処理を管理する。SUEブロック消去エンジン2404はSUEブロックの消去要求を格納装置アクセス管理器2020に伝送する。
格納装置誤謬管理器2406は部分的なメタブロックデータを取り戻すために再生管理器2110に要求を伝送する。
図25は本発明の実施形態による多重モード格納管理システムによって具現することができる格納装置アクセス管理器を示すブロック図である。図25を参照すると、格納装置アクセス管理器2020は論理アクセス管理器2502、RAID管理器2504、読出しルックアップ(Lookup)エンジン2506、及び格納初期化管理器2508を含む。
読出しルックアップエンジン2506は読出し動作のルックアップを提供し、管理する。格納初期化管理器2508は格納システムの初期化動作を管理する。
論理アクセス管理器2502又はソリッドステートドライブ論理アクセス管理器は、格納装置のシステム領域のシステムデータに対するアクセスサービスを提供する。論理アクセス管理器2502は格納装置のシステム領域でシステムデータを取り扱うために多様な論理ブロックアドレス方式を利用する。論理アクセス管理器2502はNVMe又はNVMHCIの標準を活用する。論理アクセス管理器2502は格納システムに含まれる格納装置又はソリッドステートドライブへアクセスするためのコマンドを取り扱う。
RAID管理器2504は使用者データに関して、格納システムに含まれる様々な格納装置のアレイのための格納管理(データ復旧機能を含む)を提供する。したがって、格納システムに含まれる個別の格納装置は使用者データのためのダイレベルのRAID機能を実行しないことがあり得る。RAID管理器2504は多様な格納管理及びデータ復旧方法を具現する。幾つかの実施形態で、RAID管理器2504はこの明細書で説明する新しい格納管理及びデータ復旧方法を実行することができる。
RAID管理器2504は格納装置の使用者領域をSUEインターフェイスに提供する。それだけでなく、RAID管理器2504は格納装置のシステム領域を論理インターフェイスに提供する。RAID管理器2504はRAIDストライプ方式及びパリティー検査のようなデータ保護機能を提供する。例として、幾つかの実施形態で、格納装置伝送ブロックはRAID要素として利用され、RAIDストライプは1メタページのすべてのSUEページに渡って位置する格納装置伝送ブロックを含む。したがって、格納システムで所定の格納装置が故障になれば、RAID管理器2504は逆パリティー演算を利用して、故障になった格納装置からデータを復旧することができる。
図26は本発明の実施形態による多重モード格納管理システムによって具現することができる全域状態管理器を示すブロック図である。図26を参照すると、全域状態管理器2022は電力中断管理器2602、及び誤謬及び衝突(Crash)管理器2604を含む。
電力中断管理器2602は多重モード格納管理システム2002の電力中断に関するイッシューを管理する。誤謬及び衝突管理器2604は多重モード格納管理システム2002で発生する誤謬/衝突イッシューを管理する。
図18、図19、及び図20の多重モード格納管理システム1802、1902、2002の機能は図16の格納システム1602によって具現され得る。代案的な実施形態で、多重モード格納管理システム1802、1902、2002の機能は普通のコンピューティング装置又は特殊目的ハードウェアによって具現される。
説明した多重モードのアプローチは情報の効果的で、効率的な格納を可能にする多様な特徴及び特性を含む。この特徴及び特性は性能に関する様々な他の様相を向上させることができる。幾つかの実施形態で、説明したパーティション設定アプローチの柔軟性は比較的速い速度及び管理可能な複雑度の実現を可能にする。相対的に多量の使用者データがSUEアドレス空間に格納され、これは使用者データのための非常に速い格納及び管理動作を可能にする。反面、相対的に少量のメタデータが論理アドレス基盤の領域に格納でき、これは格納システムが複雑度減少のために活用されるメタデータの抽出特性を向上させることができるようにする。
その上、相対的にさらに少ないメタデータ領域のオーバープロビジョニングを増加させることの柔軟性はオーバープロビジョニング影響の比率をさらに大きくすることができ、これはメタデータ格納動作の速度を高めるか、複雑度の増加に起因して発生する速度減少を補償するのに役に立つ。これは、他の格納システムに比べて、オーバープロビジョニング資源のさらに良い全般的な割当及びさらに良い影響を可能にする。また、この柔軟性は異なる格納領域のブロックが2つのパーティションの間で再設定されるか、或いは再割当されるようになることによって、向上されたライフサイクル保護を可能にする。ある領域に格納されたデータの特性(例えば、類型)がその領域で一類型のデータが他の類型のデータより書き込みや消去が少ないことを示す(例えば、大部分のメタデータは使用者データに比べて多く変更されない)場合、パーティションの物理ブロックは他のパーティションに再割当されて特定領域の磨耗及び損傷を均等化させることができる。また、この柔軟性はパワーサイクリングの責任をシステムレベルまで高めることによって、パワーサイクリングの向上を可能にすることができる。
上記の詳細な説明の中で幾つかの部分はコンピュータメモリ内のデータビットに対する演算の手続、論理ブロック、処理、及びその他の象徴的な描写に関する用語を利用して提供した。この説明及び描写は本発明が属する技術分野で通常の知識を有する者に知識の要旨を効果的に伝達するために、データ処理分野で通常の知識を有する者によって一般的に使用される手段である。この明細書での手続、論理ブロック、又は処理は、所望する結果に導く段階又は命令語の一貫性あるシークェンス(Sequence)であることと看做す。この段階は物理的な量(Quantity)を物理的に操作する過程を含む。普通、必須的なことではないが、この物理的な量はコンピュータシステムで格納されるか、伝送されるか、結合されるか、比較されるか、或いはその他の異なる方式に取り扱われる電気的信号、磁気的信号、光学的信号、又は量子信号の形態を取る。主に共通に使用されるという理由から、この信号は時々ビット、値、要素、シンボル、文字、用語、数字等に言及されることが簡便なことと見える。
しかし、この用語及び類似な用語の全ては適切な物理的な量と関連され、単なるこの物理的な量に適用される簡便な標識のみであることが理解されなければならない。特に言及されない限り、さもなければ以下の論議からわかるように、この明細書の全般に渡って“処理”、“コンピューティング”、“計算”、“判別”、“表示”等のような用語を活用した説明は物理的な(例えば、電子的な)量として表現されるデータを操作し、変換するコンピュータシステム又は類似な処理装置(例えば、電気的コンピューティング装置、光学的コンピューティング装置、又は量子コンピューティング装置)の動作及び処理を意味することが理解できる。この用語はコンピュータシステムの構成要素(例えば、レジスター、メモリ、その他の類似な情報格納装置、伝送又は表示装置等)内での物理的な量を他の構成要素内での物理的な量として類似に表現される他のデータに操作又は変換する処理装置の動作及び処理を意味する。
各々の概念図に示した構成は単なる概念的な観点で理解しなければならない。本発明の理解を助けるために、概念図に示した構成要素の各々の形態、構造、大きさ等は誇張又は縮小して表現した。実際に具現される構成は各々の概念図に示したものとは異なる物理的形状を有することができる。各々の概念図は構成要素の物理的形状を制限するためのものではない。
各々のブロック図に示した装置構成は発明の理解を助けるためのものである。各々のブロックは機能によってさらに小さい単位のブロックで形成することができる。又は、複数のブロックは機能によってさらに大きい単位のブロックを形成することができる。即ち、本発明の技術思想はブロック図に図示した構成によって限定されない。
以上で、本発明に関する実施形態を中心に本発明について説明した。但し、本発明が属する技術分野の特性上、本発明が達成しようとする目的は本発明の要旨を含みながらも、上記の実施形態と他の形態に達成され得る。したがって、上記の実施形態は限定的なものではなく、説明的な側面であると理解しなければならない。即ち、本発明の要旨を含みながら、本発明のような目的を達成できる技術思想は本発明の技術思想に含まれることと解釈されなければならない。
したがって、本発明の本質的な特性を逸脱しない範囲内で修正又は変形された技術思想は本発明が請求する保護範囲に含まれる。また、本発明の保護範囲は上記の実施形態に限定されることはなく、請求項から読まれる技術思想をカバーすることと理解しなければならない。
100 格納装置
101 選別潜在露出(SUE)格納パーティション
102 選別潜在露出インターフェイス
103 潜在格納領域
220 多重モード格納装置
230 第1パーティション
231 第1類型のインターフェイス
233 潜在格納領域
240 第2パーティション
241 第2類型のインターフェイス
243 潜在格納領域
350 多重モード格納装置
370 第1パーティション
371 第1類型のインターフェイス
372 第1パーティション関連活動
373 潜在格納領域
380 第2パーティション
381 選別潜在露出インターフェイス
383 潜在格納領域
400 多重モードソリッドステートドライブ
410 論理アドレス空間パーティション
411 論理インターフェイス
412 潜在物理アドレス空間
413 フラッシュ変換ロジック
420 選別潜在露出アドレス空間パーティション
421 選別潜在露出インターフェイス
423 潜在物理アドレス空間
470 ダイ
471、472、473、474、479 潜在物理アドレスブロック
501 選別潜在露出インターフェイス
502 物理アドレス空間
503 選別潜在露出アドレスブロック
505、507、508 情報
511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544 ダイ
515、517、519、528、539 物理アドレス基盤のブロック
600 システム
610 多重モード格納管理システム
611 コントローラ
620、630、640、650 多重モードソリッドステートドライブ
621、631、641、651 コントローラ
671、672、673 ボリューム
700 システム
710 機器
720 多重モード格納管理システム
730 メタデータ
740 使用者データ
741 使用者データのためのフラッシュ管理システム
742 選別潜在露出マッパー
745 コントローラ
750 多重モードソリッドステートドライブ
770 論理アドレス空間パーティション
771 メタデータのためのフラッシュ管理システム
772 論理インターフェイス
773 フラッシュ変換ロジック
775 コントローラ
777 物理アドレス空間
780 選別潜在露出アドレス空間パーティション
782 選別潜在露出インターフェイス
787 物理アドレス空間
791、792、797 論理アドレスブロック
793、799 物理アドレスブロック
798 選別潜在露出アドレスブロック
910 論理アドレス基盤のソリッドステートドライブ
911 論理インターフェイス
912 フラッシュ変換ロジック
913 論理アドレス空間
920 多重モードソリッドステートドライブ
921 論理インターフェイス
922 フラッシュ変換ロジック
923 論理アドレス空間
924 選別潜在露出インターフェイス
925 物理アドレス空間
930 物理アドレス基盤のソリッドステートドライブ
931 物理インターフェイス
932 物理アドレス空間
1010 SUEブロック
1012、1014、1016、1018 物理ブロック
1021、1022、1023、1024 物理ページ
1030 SUEページ
1032、1034、1036、1038 物理ページ
1110 SUEブロック
1121、1122、1123、1124 SUEページ
1210 メタページ
1211、1212、1213、1214、1215 SUEページ
1310 メタブロック
1311、1312、1313、1314 メタページ
1410 メタブロック
1411、1412、1413、1414、1415 SUEブロック
1500 選別潜在露出マッピングスキーム
1502 使用者データ
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 ローカルデータリンク
1802 多重モード格納管理システム
1804 選別潜在露出格納管理器
1806 論理格納管理器
1808 再生管理器
1810 格納アレイ管理器
1902 多重モード格納管理システム
1904 データ整列器
1906 SUE格納アクセス管理器
1908 データ圧縮管理器
1910 ボリュームマッピングエンジン
1912 バッファ管理器
1914 メタブロック管理器
1916 再生管理器
1918 格納アレイ管理器
1920 論理格納アクセス管理器
2002 多重モード格納管理システム
2004 データ整列器
2006 使用者領域アクセス管理器
2008 使用者領域マッピングエンジン
2010 バッファ管理器
2012 システム領域アクセス管理器
2014 メタブロック管理器
2016 メタブロック情報管理器
2018 格納装置制御管理器
2020 格納装置アクセス管理器
2022 全域状態管理器
2024 全域誤謬管理器
2026 システム状態管理器
2028 システムログ及び統計管理器
2030 ターゲット装置
2032 不揮発性メモリ装置
2102 読出し管理器
2104 書込み管理器
2106 データ圧縮管理器
2108 データ圧縮解除管理器
2110 再生管理器
2112 フリー空間書込み管理器
2114 流れ制御管理器
2116 サービス品質管理器
2202 ボリューム管理器
2204 マップページ読出し管理器
2206 マップページ書込み管理器
2208 マップページキャッシュ管理器
2302 再生メタブロック選択器
2304 メタブロック状態管理器
2402 格納装置ログ及び統計管理器
2404 選別潜在露出ブロック消去エンジン
2406 格納装置誤謬管理器
2502 論理アクセス管理器
2504 RAID管理器
2506 読出しルックアップエンジン
2508 格納初期化管理器
2602 電力中断管理器
2604 誤謬及び衝突管理器

Claims (20)

  1. 基本類型のインターフェイス、及び第1類型の情報を格納するように構成される第1情報格納領域を含む第1格納パーティションと、
    選別潜在露出(Selective Underlying Exposure)インターフェイス、及び第2類型の情報を格納するように構成される第2情報格納領域を含む第2格納パーティションと、を含み、
    前記選別潜在露出インターフェイスは、前記第2情報格納領域の様相(Aspect)を露出することを特徴とする格納装置。
  2. 前記様相は、前記第2格納パーティションの特性(Characteristic)、特徴(Feature)、機能、代表的幾何学構造(Representative Geometry)、次元(Dimension)、及び管理動作の中の少なくとも1つを含むことを特徴とする請求項1に記載の格納装置。
  3. 前記第1格納パーティションでのファイル格納管理活動(Activity)は、前記基本類型のインターフェイスによって指示され、
    前記第2格納パーティションでのファイル格納管理活動は、前記選別潜在露出インターフェイスを通じて前記第2格納パーティションの外部から指示されることを特徴とする請求項1に記載の格納装置。
  4. 前記基本類型のインターフェイスは、論理インターフェイスを含むことを特徴とする請求項1に記載の格納装置。
  5. 前記第1格納パーティションの大きさは、前記第2格納パーティションの大きさと異なることを特徴とする請求項1に記載の格納装置。
  6. 前記第1格納パーティションでの動作のグラニュラリティ(Granularity)は、前記第2格納パーティションでの動作のグラニュラリティと異なることを特徴とする請求項1に記載の格納装置。
  7. 前記第1格納パーティション及び前記第2格納パーティションの組合わせは、前記第1格納パーティションが単独に採用される場合より向上された性能を許容し、前記第2格納パーティションが単独に採用される場合に比べて減少された複雑度を許容することを特徴とする請求項1に記載の格納装置。
  8. 前記第1格納パーティションでのオーバープロビジョニング(Over−provisioning)の比率(Percentage)は、前記第2格納パーティションでのオーバープロビジョニングの比率と異なることを特徴とする請求項1に記載の格納装置。
  9. 装置の第1部分を第1類型の情報の格納のための第1領域として構成する段階と、
    第1アドレス空間情報に基づいて、前記第1領域に対する第1類型インターフェイスの動作を実行する段階と、
    前記装置の第2部分を、第2類型の情報の格納のための第2領域として構成する段階と、
    第2アドレス空間情報に基づいて、前記第2領域に対する第2類型インターフェイスの動作を実行する段階と、を含み、
    前記第2類型インターフェイスは、潜在的な様相(Underlying Aspect)を選別的(Selective)に露出(Expose)することを特徴とする方法。
  10. 前記潜在的な様相は、潜在的な物理アドレス空間と関連され、
    前記潜在的な様相の選別的な露出は、前記潜在的な物理アドレス空間と関連される複雑度を除去しながら、前記潜在的な物理アドレス空間の管理動作特性を露出することを特徴とする請求項9に記載の方法。
  11. 前記潜在的な様相は、選別潜在露出(Selective Underlying Exposure)アドレスページ及び選別潜在露出アドレスブロックによって取出(Abstract)されることを特徴とする請求項9に記載の方法。
  12. 前記潜在的な様相は、潜在的なシステム管理動作と関連されることを特徴とする請求項9に記載の方法。
  13. 前記潜在的な様相は、フリー空間(Free Space)の管理、前記フリー空間の使用のための再生(Reclamation)及び環境設定、オーバープロビジョニング(Over−provisioning)、トリム(Trim)動作、及びパワーサイクリング(Power Cycling)の中の少なくとも1つを実行するのに利用されることを特徴とする請求項9に記載の方法。
  14. 前記第1類型の情報は、メタデータを含み、前記第2類型の情報は、使用者データを含むことを特徴とする請求項9に記載の方法。
  15. 前記第2類型インターフェイスの前記動作は、
    前記第2類型の情報及びアドレスを受信する段階と、
    前記受信されたアドレスのアドレス類型と潜在的なアドレス類型間で変換を実行する段階と、を含むことを特徴とする請求項9に記載の方法。
  16. 論理アドレスインターフェイス、及びメタデータを格納するように構成される第1データ格納領域を含む第1格納パーティションと、
    選別潜在露出(Selective Underlying Exposure)インターフェイス、及び使用者データを格納するように構成される第2データ格納領域を含む第2格納パーティションと、を含み、
    前記論理アドレスインターフェイスは、前記第1データ格納領域のためのフラッシュ管理システム、及び論理アドレスを前記第1データ格納領域の対応する物理アドレスに変換するように構成されるフラッシュ変換ロジック(Flash Translation Logic)を含み、
    前記選別潜在露出インターフェイスは、前記第2データ格納領域の代表的幾何学構造(Representative Geometry)を露出することを特徴とする装置。
  17. 前記選別潜在露出インターフェイスのファームウェアは、インターフェイス露出を提供しながら、直接的な物理インターフェイス露出を取り扱うことの複雑度を取り除くように構成されることを特徴とする請求項16に記載の装置。
  18. 前記装置は、ソリッドステートドライブ(Solid State Drive)であることを特徴とする請求項16に記載の装置。
  19. 前記選別潜在露出インターフェイスは、
    選別潜在露出アドレス空間の情報、及びデータを受信するための入出力装置と、
    前記選別潜在露出アドレス空間の情報を物理アドレス空間の情報に変換し、前記物理アドレス空間の情報にしたがって前記データの格納を指示するためのコントローラと、を含み、
    前記選別潜在露出アドレス空間の前記代表的幾何学構造は、前記物理アドレス空間の前記代表的幾何学構造にマッチング(Matching)されることを特徴とする請求項16に記載の装置。
  20. 選別潜在露出アドレス空間ブロックは、前記装置によって1つの単位として管理される物理ブロックに対応することを特徴とする請求項16に記載の装置。
JP2016220982A 2015-11-13 2016-11-11 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法 Active JP6910131B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/941,525 2015-11-13
US14/941,525 US9940028B2 (en) 2015-11-13 2015-11-13 Multimode storage device

Publications (2)

Publication Number Publication Date
JP2017091546A true JP2017091546A (ja) 2017-05-25
JP6910131B2 JP6910131B2 (ja) 2021-07-28

Family

ID=56571176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016220982A Active JP6910131B2 (ja) 2015-11-13 2016-11-11 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法

Country Status (6)

Country Link
US (1) US9940028B2 (ja)
EP (1) EP3168736A1 (ja)
JP (1) JP6910131B2 (ja)
KR (1) KR102541492B1 (ja)
CN (1) CN106708751A (ja)
TW (1) TWI710900B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144399B (zh) * 2017-06-16 2021-12-17 杭州海康威视数字技术股份有限公司 一种数据存储方法、装置及电子设备
US10097202B1 (en) * 2017-06-20 2018-10-09 Samsung Electronics Co., Ltd. SSD compression aware
CN107526548B (zh) * 2017-08-31 2020-09-25 苏州浪潮智能科技有限公司 多namespace的固态硬盘及数据删除方法与装置
JP2019079464A (ja) * 2017-10-27 2019-05-23 東芝メモリ株式会社 メモリシステムおよび制御方法
CN110214305B (zh) 2017-12-29 2020-09-08 华为技术有限公司 一种数据访问方法及存储阵列
KR102503177B1 (ko) 2018-03-05 2023-02-24 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
TWI665550B (zh) * 2018-04-27 2019-07-11 威聯通科技股份有限公司 磁碟陣列的資料分佈方法及其資料儲存系統與記錄媒體
KR102538222B1 (ko) * 2018-06-26 2023-06-01 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법
CN109710411B (zh) * 2018-12-28 2020-09-22 深圳忆联信息系统有限公司 Tlp字段资源管理方法、装置、计算机设备及存储介质
CN116166570A (zh) * 2019-07-31 2023-05-26 华为技术有限公司 一种垃圾回收方法及装置
CN112306896B (zh) * 2019-07-31 2022-12-27 华为技术有限公司 一种垃圾回收方法及装置
US10909033B1 (en) * 2019-08-15 2021-02-02 Nvidia Corporation Techniques for efficiently partitioning memory
CN113946277A (zh) * 2020-07-16 2022-01-18 慧荣科技股份有限公司 主机效能加速模式的数据读取方法及装置
US11544185B2 (en) 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11429545B2 (en) 2020-07-16 2022-08-30 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11544186B2 (en) 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11561728B1 (en) * 2020-11-20 2023-01-24 Veritas Technologies Llc Methods and systems for efficient metadata management
WO2022110196A1 (zh) * 2020-11-30 2022-06-02 华为技术有限公司 一种数据处理方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040264A (ja) * 2004-06-21 2006-02-09 Toshiba Corp メモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2009153982A1 (ja) * 2008-06-20 2009-12-23 パナソニック株式会社 複数区分型不揮発性記憶装置およびシステム
JP2014071893A (ja) * 2012-09-27 2014-04-21 Hitachi Ltd 階層メモリ管理

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658528B2 (en) 2001-07-30 2003-12-02 International Business Machines Corporation System and method for improving file system transfer through the use of an intelligent geometry engine
US6775751B2 (en) 2002-08-06 2004-08-10 International Business Machines Corporation System and method for using a compressed main memory based on degree of compressibility
JP2005100262A (ja) * 2003-09-26 2005-04-14 Seiko Epson Corp メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法
WO2005124530A2 (en) 2004-06-21 2005-12-29 Kabushiki Kaisha Toshiba Method for controlling memory card and method for controlling nonvolatile semiconductor memory
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7624239B2 (en) * 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
KR100809320B1 (ko) * 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
US7685378B2 (en) * 2007-02-15 2010-03-23 Hitachi, Ltd. Methods and apparatus for adjusting a journal area for continuous data protection
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
CN102473140B (zh) * 2009-07-17 2015-05-13 株式会社东芝 存储器管理装置
US9134918B2 (en) 2009-12-31 2015-09-15 Sandisk Technologies Inc. Physical compression of data with flat or systematic pattern
WO2012051600A2 (en) 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US8639669B1 (en) 2011-12-22 2014-01-28 Emc Corporation Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
KR20130096881A (ko) 2012-02-23 2013-09-02 삼성전자주식회사 플래시 메모리 장치
US8526234B1 (en) * 2012-11-16 2013-09-03 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)
CN103797770B (zh) * 2012-12-31 2015-12-02 华为技术有限公司 一种共享存储资源的方法和系统
US8880838B2 (en) * 2013-01-08 2014-11-04 Lyve Minds, Inc. Storage network data allocation
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9804960B2 (en) * 2013-03-14 2017-10-31 Western Digital Technologies, Inc. Overprovision capacity in a data storage device
JP5902137B2 (ja) * 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
CN105917308B (zh) * 2014-01-22 2019-02-12 惠普发展公司,有限责任合伙企业 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器
US9727456B2 (en) 2014-11-03 2017-08-08 Pavilion Data Systems, Inc. Scheduled garbage collection for solid state storage devices
US9626312B2 (en) 2015-07-17 2017-04-18 Sandisk Technologies Llc Storage region mapping for a data storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040264A (ja) * 2004-06-21 2006-02-09 Toshiba Corp メモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2009153982A1 (ja) * 2008-06-20 2009-12-23 パナソニック株式会社 複数区分型不揮発性記憶装置およびシステム
JP2014071893A (ja) * 2012-09-27 2014-04-21 Hitachi Ltd 階層メモリ管理

Also Published As

Publication number Publication date
US20170139591A1 (en) 2017-05-18
TWI710900B (zh) 2020-11-21
TW201729102A (zh) 2017-08-16
KR20170056413A (ko) 2017-05-23
CN106708751A (zh) 2017-05-24
US9940028B2 (en) 2018-04-10
EP3168736A1 (en) 2017-05-17
JP6910131B2 (ja) 2021-07-28
KR102541492B1 (ko) 2023-06-08

Similar Documents

Publication Publication Date Title
JP6890401B2 (ja) 多重モード格納管理装置、多重モード格納装置、及びその選別潜在露出(sue)マッピング動作方法
JP7404442B2 (ja) 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法
JP6910131B2 (ja) 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法
CN106708425B (zh) 分布式多模存储管理
US20210165737A1 (en) Namespace mapping optimization in non-volatile memory devices
TWI772311B (zh) 固態儲存器容量管理系統與方法
JP2011192259A (ja) ストレージシステムのためのi/o変換方法及び装置
US8447947B2 (en) Method and interface for allocating storage capacities to plural pools
TWI607303B (zh) 具有虛擬區塊及磁碟陣列架構之資料儲存系統及其管理方法
JP2019003416A (ja) ストレージ制御装置、制御プログラム及び制御方法
US8688908B1 (en) Managing utilization of physical storage that stores data portions with mixed zero and non-zero data
KR102032878B1 (ko) 플래시 메모리 컨트롤러의 에러 정정 방법
CN107132996B (zh) 基于智能精简配置的存储方法、模块及系统
US11422931B2 (en) Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210706

R150 Certificate of patent or registration of utility model

Ref document number: 6910131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150