JP6385995B2 - テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 - Google Patents
テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP6385995B2 JP6385995B2 JP2016179528A JP2016179528A JP6385995B2 JP 6385995 B2 JP6385995 B2 JP 6385995B2 JP 2016179528 A JP2016179528 A JP 2016179528A JP 2016179528 A JP2016179528 A JP 2016179528A JP 6385995 B2 JP6385995 B2 JP 6385995B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- memory
- processor
- client
- data structure
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
Description
システムが持続性ストレージにデータを書き込みかつ持続性ストレージからデータを読み出し得るスピードはしばしば、システムの全体の性能の重大なファクタである。持続性ストレージからのデータの読み出しおよび持続性ストレージへのデータの書き込みの従来のアプローチは、システムカーネルにおける複数のレイヤーおよびハードウェアにおける複数のエンティティによる処理を必要とする。結果として、持続性ストレージからのデータの読み出しおよび持続性ストレージへのデータの書き込みによって、システムにおいて著しいレイテンシーが導入され、その結果、システムの全体の性能が低減される。
一般に、1つの局面において、データを格納するための方法である。この方法は、第1の論理アドレスを使用して規定される第1のデータを持続性ストレージに書き込む要求を受け取るステップと、上記持続性ストレージにおいて、第1のブロックIDおよび第1のサブブロックIDを含む第1の物理アドレスを決定するステップと、上記第1の物理アドレスに上記第1のデータを書き込むステップと、上記第1の論理アドレスおよび上記第1のサブブロックIDを含む第1のテーブル・オブ・コンテンツエントリ(TE)を生成するステップと、上記持続性ストレージにおいて、上記第1のブロックIDおよび第2のサブブロックIDを含む第2の物理アドレスに上記第1のTEを書き込むステップとを含み、第2のサブブロックが上記第2のサブブロックIDに対応し、上記第2のサブブロックは上記第1のブロックIDに対応する第1のブロック内に配置される。
ページIDを含む第1のテーブル・オブ・コンテンツエントリ(TE)を上記最後のページから抽出するステップと、(d)上記第1のブロックIDおよび上記第1のページIDを使用して、上記第1のデータについて第1の物理アドレスを生成するステップと、(e)第1のハッシュ値を取得するよう上記第1の論理アドレスをハッシングするステップと、(f)上記第1のハッシュ値と上記第1の物理アドレスとの間の第1のマッピングを上記インメモリデータ構造にポピュレートするステップとを含む。
ここで、本発明の特定の実施形態を添付の図面を参照して詳細に記載する。本発明の実施形態の以下の詳細な説明において、本発明のより完全な理解を提供するために多くの特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細がなくても実施されてもよいことは当業者には明らかであろう。他の例では、説明を不必要に複雑にすることを回避するよう周知の機構は詳細に記載されない。
される任意の構成要素は、任意の他の図に関して記載された同様の名称を有する1つ以上の構成要素と同等であり得る。簡潔さのために、これらの構成要素の説明は、各図に関して繰り返されない。したがって、各図の構成要素の各実施形態は、参照により援用され、同様の名称を有する1つ以上の構成要素を有する他のすべての図内に随意に存在すると想定される。さらに、本発明のさまざまな実施形態に従うと、ある図の構成要素の如何なる記載も、任意の他の図中の対応する同様の名称を有する構成要素に関して記載された実施形態に加えて、当該実施形態に関連して、または当該実施形態の代わりに実施されてもよい随意の実施形態として解釈されるべきである。
over an Ethernet fabric、Non-Volatile Memory Express (NVMe) over an Infiniband fabricといったプロトコルの1つ以上を使用してストレージ機器(102)と通信するように構成される。当業者であれば、本発明は上記のプロトコルに限定されないということを理解するであろう。
る複数のストレージ機器(104A,104B,104C,104D)にクライアント(100A,100M)が接続されるシステムを示す。この構成では、各クライアント(100A,100M)は、ストレージ機器(104A,104B,104C,104D)の1つ以上に接続されるが、個々のストレージ機器(104A,104B,104C,104D)同士の間に通信は存在しない。
る)ルートコンプレックスを含んでいれば、クライアントメモリ(114)は、ルートコンプレックスを介してクライアントプロセッサ(112)に接続される。代替的には、クライアントメモリ(114)は、別のポイント・ツー・ポイント接続メカニズムを使用して、クライアントプロセッサ(112)に直接的に接続される。本発明の一実施形態において、クライアントメモリ(114)は、任意の揮発性メモリに対応する。当該揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスDRAM、SDR SDRAMおよびDDR SDRAMを含むが、これらに限定されない。
ッサがノントランスペアレントなブリッジの他方の側のプロセッサに割込を発行するのを可能にする。さらに、メールボックスシステムは、スイッチファブリックのいずれかの側のプロセッサによって読出可能および書込可能である1つ以上のレジスタを含む。上記のレジスタは、クライアントスイッチのいずれかの側のプロセッサがノントランスピアレントなブリッジに亘って制御および状態情報を通過させるのを可能にする。
を理解するであろう。さらに、当業者であれば、本発明から逸脱することがなければ、DMAエンジン(118)はクライアントスイッチ(116)の外部に配置されてもよいということを理解するであろう。
PCI−X、イーサネット(登録商標)(IEEE802.3a〜802.3bjの下で規定されるさまざまな規格を含むがこれらに限定されない)、インフィニバンド、およびリモート・ダイレクト・メモリ・アクセス(RDMA)・オーバ・コンバージド・イーサネット(RoCE)(Remote Direct Memory Access over Converged Ethernet)といっ
たプロトコルの1つ以上をサポートする。当業者であれば、本発明から逸脱することがなければ、IOMは、上でリストされたもの以外のプロトコルを使用して実現されてもよいということを理解するであろう。
るために、スイッチファブリックにおける少なくとも1つのスイッチは以下のように構成される、すなわち、宛先アドレスとしてマルチキャストアドレスを特定する書込が受け取られると、当該スイッチがマルチキャストグループにおける各メンバーについて新しい書込を生成し、ストレージ機器における適切なアドレスに書込を発行するように構成される。本発明の一実施形態において、マルチキャストアドレスに特定のオフセットを加えることによって、スイッチによって生成される各書込についてのアドレスが決定される。
SC))アーキテクチャまたは縮小命令セット(Reduced Instruction Set(RISC)
)アーキテクチャを使用して実現され得る。本発明の1つ以上の実施形態において、プロセッサ(208)は、(PCIeプロトコルによって規定されるように)ルートコンプレックスを含む。本発明の一実施形態において、制御モジュール(200)が(プロセッサ(208)へ統合され得る)ルートコンプレックスを含んでいれば、メモリ(210)は、ルートコンプレックスを介してプロセッサ(208)に接続される。代替的には、メモリ(210)は、別のポイント・ツー・ポイント接続メカニズムを使用して、プロセッサ(208)に直接的に接続される。本発明の一実施形態において、メモリ(210)は、任意の揮発性メモリに対応する。当該揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスDRAM、SDR SDRAMおよびDDR SDRAMを含むが、これらに限定されない。
ついての送信キュー、およびストレージ機器におけるストレージモジュールの各々についての完了キューの1つ以上を含む。本発明の一実施形態では、プロセッサについての送信キューは、コマンド(たとえば読出要求、書込要求)をプロセッサに送信するよう使用される。本発明の一実施形態において、プロセッサについての完了キューは、別のエンティティに発行したコマンドが完了したことを、プロセッサに信号通知するよう使用される。ストレージモジュールについての送信キューおよび完了キューは同様の態様で機能する。
)は、図2Aにおけるプロセッサ(208)と実質的に同様である。本発明の一実施形態では、メモリ(226,228)は、図2Aにおけるメモリ(210)と実質的に同様である。本発明の一実施形態では、IOM(218,220)は、図2AにおけるIOM(204)と実質的に同様である。本発明の一実施形態では、FPGA(230,232)は、図2AにおけるFPGA(212)と実質的に同様である。最後に、ストレージモジュールグループ(236,238)は、図2Aにおけるストレージモジュールグループ(202)と実質的に同様である。
06)と実質的に同様である。本発明の一実施形態では、各プロセッサ(248,250)は、図2Aにおけるプロセッサ(208)と実質的に同様である。本発明の一実施形態では、メモリ(252,254)は、図2Aにおけるメモリ(210)と実質的に同様である。本発明の一実施形態では、IOM(242,244)は、図2AにおけるIOM(204)と実質的に同様である。最後に、ストレージモジュールグループ(256,258,260,262)は、図2Aにおけるストレージモジュールグループ(202)と実質的に同様である。
を使用し得る。この機能により、ストレージモジュール内のデータの位置に関して、如何なるプロセッサも如何なるI/O要求も処理することが可能になる。さらにインメモリデータ構造をミラーリングすることによって、メモリのうちの1つに障害が起きても、ストレージ機器は動作し続け得る。
形態では、TOCページ(406)は、1つ以上のTOCエントリを含んでおり、TOCエントリの各々は、所与のフラグについてのメタデータを含んでいる。さらに、TOCページ(406)は、ブロック(402)における別のTOCページへの参照を含んでもよい。本発明の一実施形態において、TOCページは、TOCエントリ(および随意にブロックにおける別のTOCページへの参照)のみを含むが、如何なるフラグも含まない。本発明の一実施形態では、各TOCエントリは、ブロック(402)におけるフラグ(図4C参照)に対応する。TOCエントリは、ブロック内のフラグにのみ対応する。換言すると、TOCページは、ブロックに関連付けられ、当該ブロックにおけるフラグについてのTOCエントリのみを含む。本発明の一実施形態において、ソリッドステートメモリモジュールの各々内の各ブロックにおいて欠陥がない最後のページはTOCページである。
施形態では、各TOCエントリ(430)は、フラグ(および特にフラグにおけるユーザデータ)についてのメタデータを含んでおり、以下のフィールドの1つ以上を含み得る。すなわち、(i)格納されているオブジェクト(たとえばファイル)を識別するオブジェクトID(432)と、(ii)TOCエントリに対応するフラグがボールテッドメモリに書き込まれた時間(たとえば、制御モジュールにおけるプロセッサのプロセッサクロック値)を特定する発生時間(434)と、(iii)(オブジェクトIDによって識別される)オブジェクトの始まりに対する、フラグにおけるユーザデータの始点を識別するオフセットID(436)と、(iv)フラグのサイズを特定するフラグメントサイズ(438)と、(v)フラグが格納されるブロックにおけるページを識別するページID(440)と、(vi)(ページIDによって識別される)ページにおけるフラグの開始位置を識別するバイト(442)と、(vii)フラグにおけるユーザデータの非圧縮長さを特定する論理長さ(444)と、(viii)フラグにおけるユーザデータのタイプ(たとえばバッドページ(badpage)、データ、スナップショット、プール)を特定するタイ
プ(446)と、(ix)フラグが有効なユーザデータであるか、または(ソリッドステートメモリモジュールがガーベッジコレクションを行なう際に、当該フラグが消去され得ることを示す)トリム(trim)であるかを特定する種類(448)と、(ix)他のユーザデータを格納するよう使用され得るTOCエントリにおけるスペースに対応するリザーブ(450)といったフィールドの1つ以上を含み得る。
の情報を使用してTOCページを生成する。たとえば、制御モジュールは上記の情報を使用して、TOCページに書き込まれていない、所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しいかどうか決定する。TOCページに書き込まれていない、所与のブロックに関連付けられるすべてのTOCエントリの累積サイズがブロックにおけるページサイズと等しい場合、制御モジュールは上記のエントリを使用してTOCページを生成し、ストレージモジュールへのTOCページの書き込みを開始する。
トレージモジュールに、それぞれのボールテッドメモリからこのようなTOCエントリを除去するよう要求する。ステップ646では、プロセッサは、上記のTOCエントリが除去されたという確認をストレージモジュールから受ける。
ジからTOCエントリが抽出される。
ル(またはそのサブセット)が障害を起こしても、当該システムにおける他のソリッドステートメモリモジュールにおけるユーザデータは、他のソリッドステートメモリモジュールにおけるユーザデータにアクセスするのに必要なメタデータそれ自体が他のソリッドステートメモリモジュールに位置するので、それでもアクセス可能である。
Claims (15)
- インメモリデータ構造を生成するための方法であって、
ブロックを選択することを含み、選択された前記ブロックは、論理アドレスと第1のページの識別子とを含むテーブル・オブ・コンテンツエントリを含むページを含み、
前記方法はさらに、
選択された前記ブロックにおける最後のページを取得することと、
前記最後のページから前記テーブル・オブ・コンテンツエントリを抽出することと、
物理アドレスと抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることとを含み、
抽出された前記テーブル・オブ・コンテンツエントリは前記物理アドレスの全体を含まない、方法。 - 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、前記テーブル・オブ・コンテンツエントリから前記第1のページの識別子およびバイト情報を抽出することを含む、請求項1に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、抽出された前記第1のページの識別子および前記バイト情報を使用して前記物理アドレスを取得することをさらに含む、請求項2に記載の方法。
- 前記物理アドレスはさらにnタプルを使用して取得され、前記nタプルは、<ストレージモジュール,チャンネル,チップイネーブル,LUN,プレーン,ブロック>からなる、請求項3に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、前記テーブル・オブ・コンテンツエントリからオブジェクト識別子およびオフセット識別子を抽出することを含む、請求項1に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、ハッシュ値を取得するために、<オブジェクト識別子,オフセット識別子>からなるnタプルにハッシュ関数を適用することをさらに含む、請求項5に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、
前記ハッシュ値と前記物理アドレスとを使用してマッピングを取得することと、
前記マッピングを使用して前記インメモリデータ構造にポピュレートすることとをさらに含む、請求項6に記載の方法。 - 前記物理アドレスは前記第1のページの識別子およびバイト情報を使用して取得され、前記第1のページの識別子および前記バイト情報は前記テーブル・オブ・コンテンツエントリから抽出される、請求項7に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、前記テーブル・オブ・コンテンツエントリからオブジェクト識別子、オフセット識別子および発生時間を抽出することをさらに含む、請求項5に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、ハッシュ値を取得するために、<オブジェクト識別子,オフセット識別子,発生時間>からなるnタプルにハッシュ関数を適用することをさらに含む、請求項9に記載の方法。
- 抽出された前記テーブル・オブ・コンテンツエントリを使用して前記インメモリデータ構造にポピュレートすることは、
前記ハッシュ値と前記物理アドレスとを使用してマッピングを取得することと、
前記マッピングを使用して前記インメモリデータ構造にポピュレートすることとをさらに含む、請求項10に記載の方法。 - 前記物理アドレスは前記第1のページの識別子およびバイト情報を使用して取得され、前記第1のページの識別子および前記バイト情報は前記テーブル・オブ・コンテンツエントリから抽出される、請求項11に記載の方法。
- 取得された前記最後のページから、第2のテーブル・オブ・コンテンツページへの参照を抽出することと、
抽出された前記第2のテーブル・オブ・コンテンツページを使用して前記インメモリデータ構造にさらにポピュレートすることとをさらに含む、請求項1に記載の方法。 - 前記第2のテーブル・オブ・コンテンツページを使用して前記インメモリデータ構造にさらにポピュレートすることは、前記第2のテーブル・オブ・コンテンツページが格納される第2のブロックから第2のテーブル・オブ・コンテンツエントリを抽出することを含む、請求項13に記載の方法。
- 前記ブロックはソリッドステートメモリに格納され、前記インメモリデータ構造はメモリに格納される、請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/428,771 | 2012-03-23 | ||
US13/428,771 US8370567B1 (en) | 2012-03-23 | 2012-03-23 | Storage system with self describing data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501909A Division JP6211579B2 (ja) | 2012-03-23 | 2013-03-21 | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016691A JP2017016691A (ja) | 2017-01-19 |
JP6385995B2 true JP6385995B2 (ja) | 2018-09-05 |
Family
ID=47604714
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501909A Active JP6211579B2 (ja) | 2012-03-23 | 2013-03-21 | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
JP2016179528A Active JP6385995B2 (ja) | 2012-03-23 | 2016-09-14 | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501909A Active JP6211579B2 (ja) | 2012-03-23 | 2013-03-21 | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8370567B1 (ja) |
EP (1) | EP2828757B1 (ja) |
JP (2) | JP6211579B2 (ja) |
CN (1) | CN104246724B (ja) |
WO (1) | WO2013142673A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601206B1 (en) * | 2013-03-14 | 2013-12-03 | DSSD, Inc. | Method and system for object-based transactions in a storage system |
US9348537B2 (en) * | 2013-09-10 | 2016-05-24 | Qualcomm Incorporated | Ascertaining command completion in flash memories |
CN105980990A (zh) * | 2013-11-12 | 2016-09-28 | 斯凯拉有限责任公司 | 在基于非易失性存储器的存贮设备中对信息进行路由的装置和方法 |
US9430156B1 (en) * | 2014-06-12 | 2016-08-30 | Emc Corporation | Method to increase random I/O performance with low memory overheads |
US9684575B2 (en) * | 2014-06-23 | 2017-06-20 | Liqid Inc. | Failover handling in modular switched fabric for data storage systems |
US9378149B1 (en) * | 2014-08-29 | 2016-06-28 | Emc Corporation | Method and system for tracking modification times of data in a storage system |
US9600409B2 (en) * | 2014-08-29 | 2017-03-21 | EMC IP Holding Company LLC | Method and system for garbage collection in a storage system based on longevity of stored data |
KR20160075165A (ko) * | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10019168B2 (en) * | 2015-05-19 | 2018-07-10 | EMC IP Holding Company LLC | Method and system for multicasting data to persistent memory |
US9911487B2 (en) | 2015-05-19 | 2018-03-06 | EMC IP Holding Company LLC | Method and system for storing and recovering data from flash memory |
US10409514B2 (en) * | 2015-11-30 | 2019-09-10 | International Business Machines Corporation | IP multicast message transmission for event notifications |
US9858003B2 (en) | 2016-05-02 | 2018-01-02 | Toshiba Memory Corporation | Storage system that reliably stores lower page data |
US9996471B2 (en) * | 2016-06-28 | 2018-06-12 | Arm Limited | Cache with compressed data and tag |
KR102653389B1 (ko) * | 2016-06-30 | 2024-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10277677B2 (en) * | 2016-09-12 | 2019-04-30 | Intel Corporation | Mechanism for disaggregated storage class memory over fabric |
KR20180031851A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04323748A (ja) * | 1991-04-24 | 1992-11-12 | Fujitsu Ltd | アドレス変換方法および装置 |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
JPH1185589A (ja) * | 1997-09-12 | 1999-03-30 | Toshiba Corp | 情報記憶装置および同装置に適用される管理データ再構築方法 |
US7610438B2 (en) * | 2000-01-06 | 2009-10-27 | Super Talent Electronics, Inc. | Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table |
US7543100B2 (en) | 2001-06-18 | 2009-06-02 | 3Par, Inc. | Node controller for a data storage system |
US7685126B2 (en) * | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US6850969B2 (en) * | 2002-03-27 | 2005-02-01 | International Business Machined Corporation | Lock-free file system |
US6996682B1 (en) * | 2002-12-27 | 2006-02-07 | Storage Technology Corporation | System and method for cascading data updates through a virtual copy hierarchy |
JP2005085011A (ja) * | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
EP1805625A1 (en) * | 2004-09-03 | 2007-07-11 | Nokia Corporation | Storing and reading of data from a memory medium |
US7366825B2 (en) * | 2005-04-26 | 2008-04-29 | Microsoft Corporation | NAND flash memory management |
JP4547028B2 (ja) * | 2005-08-03 | 2010-09-22 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
US7634627B1 (en) * | 2005-08-19 | 2009-12-15 | Symantec Operating Corporation | System and method for performing extent level backups that support single file restores |
US20070073989A1 (en) * | 2005-08-31 | 2007-03-29 | Interdigital Technology Corporation | Method and apparatus for efficient data storage and management |
JP2006114064A (ja) * | 2005-12-28 | 2006-04-27 | Hitachi Ltd | 記憶サブシステム |
US7702870B2 (en) * | 2006-01-19 | 2010-04-20 | Network Appliance Inc. | Method and apparatus for defragmentation and for detection of relocated blocks |
US10303783B2 (en) * | 2006-02-16 | 2019-05-28 | Callplex, Inc. | Distributed virtual storage of portable media files |
US7650458B2 (en) * | 2006-06-23 | 2010-01-19 | Microsoft Corporation | Flash memory driver |
US7694091B2 (en) * | 2006-10-23 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Non-volatile storage for backing up volatile storage |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
JP4897524B2 (ja) * | 2007-03-15 | 2012-03-14 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのライト性能低下防止方法 |
US7870327B1 (en) * | 2007-04-25 | 2011-01-11 | Apple Inc. | Controlling memory operations using a driver and flash memory type tables |
US7913032B1 (en) * | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US7739312B2 (en) * | 2007-04-27 | 2010-06-15 | Network Appliance, Inc. | Data containerization for reducing unused space in a file system |
US20090019245A1 (en) * | 2007-07-10 | 2009-01-15 | Prostor Systems, Inc. | Methods for implementation of data formats on a removable disk drive storage system |
US7836018B2 (en) * | 2007-10-24 | 2010-11-16 | Emc Corporation | Simultaneously accessing file objects through web services and file services |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US8751755B2 (en) * | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
US7917803B2 (en) * | 2008-06-17 | 2011-03-29 | Seagate Technology Llc | Data conflict resolution for solid-state memory devices |
US8321652B2 (en) * | 2008-08-01 | 2012-11-27 | Infineon Technologies Ag | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks |
US8086799B2 (en) * | 2008-08-12 | 2011-12-27 | Netapp, Inc. | Scalable deduplication of stored data |
US8732388B2 (en) * | 2008-09-16 | 2014-05-20 | Micron Technology, Inc. | Embedded mapping information for memory devices |
US8219741B2 (en) * | 2008-10-24 | 2012-07-10 | Microsoft Corporation | Hardware and operating system support for persistent memory on a memory bus |
US7987162B2 (en) * | 2009-03-06 | 2011-07-26 | Bluearc Uk Limited | Data compression in a file storage system |
US8635402B2 (en) * | 2009-03-31 | 2014-01-21 | Nec Corporation | Storage system and storage access method and program |
US8321645B2 (en) * | 2009-04-29 | 2012-11-27 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
US8468293B2 (en) * | 2009-07-24 | 2013-06-18 | Apple Inc. | Restore index page |
JP5066209B2 (ja) * | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
US8812816B2 (en) * | 2010-03-23 | 2014-08-19 | Apple Inc. | Garbage collection schemes for index block |
-
2012
- 2012-03-23 US US13/428,771 patent/US8370567B1/en active Active
-
2013
- 2013-03-21 EP EP13716554.4A patent/EP2828757B1/en active Active
- 2013-03-21 WO PCT/US2013/033276 patent/WO2013142673A1/en active Application Filing
- 2013-03-21 JP JP2015501909A patent/JP6211579B2/ja active Active
- 2013-03-21 CN CN201380015085.4A patent/CN104246724B/zh active Active
-
2016
- 2016-09-14 JP JP2016179528A patent/JP6385995B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2828757A1 (en) | 2015-01-28 |
CN104246724A (zh) | 2014-12-24 |
CN104246724B (zh) | 2017-12-01 |
WO2013142673A1 (en) | 2013-09-26 |
US8370567B1 (en) | 2013-02-05 |
JP2015515678A (ja) | 2015-05-28 |
JP6211579B2 (ja) | 2017-10-11 |
EP2828757B1 (en) | 2018-05-09 |
JP2017016691A (ja) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6385995B2 (ja) | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 | |
US10229734B1 (en) | Method and system for storing and recovering data from flash memory | |
JP6005835B2 (ja) | マルチキャストdmaおよび統合されたアドレス空間を有するストレージシステム | |
US9921756B2 (en) | Method and system for synchronizing an index of data blocks stored in a storage system using a shared storage module | |
US8301832B1 (en) | Storage system with guaranteed read latency | |
US10445018B2 (en) | Switch and memory device | |
US8341342B1 (en) | Storage system with incremental multi-dimensional RAID | |
CN113253919A (zh) | 多功能存储装置和处理消息的方法 | |
US8392428B1 (en) | Method and system for hash fragment representation | |
US11240306B2 (en) | Scalable storage system | |
WO2019089057A1 (en) | Scalable storage system | |
US10289550B1 (en) | Method and system for dynamic write-back cache sizing in solid state memory storage | |
CN114637462A (zh) | 用于存储装置的数据复制卸载的***和方法 | |
CN106201328A (zh) | 一种管理存储节点的磁盘空间的方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170912 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20171208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180312 |
|
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: 20180710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6385995 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |