JP2017016691A - テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 - Google Patents
テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2017016691A JP2017016691A JP2016179528A JP2016179528A JP2017016691A JP 2017016691 A JP2017016691 A JP 2017016691A JP 2016179528 A JP2016179528 A JP 2016179528A JP 2016179528 A JP2016179528 A JP 2016179528A JP 2017016691 A JP2017016691 A JP 2017016691A
- Authority
- JP
- Japan
- Prior art keywords
- page
- block
- memory
- data
- toc
- 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
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)
- Multi Processors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】第1のオブジェクトID及び第1のオフセットIDを使用して規定される第1のデータを持続性ストレージに書き込む要求を受け取る。持続性ストレージにおいて、第1のブロックID及び第1のサブブロックIDを含む第1の物理アドレスを決定する。第1の物理アドレスに第1のデータを書き込み、第1のオブジェクトID、第1のオフセットID及び第1のサブブロックIDを含む第1のテーブル・オブ・コンテンツエントリ(TE)を生成する。さらに、持続性ストレージにおいて、第2の物理アドレスに第1のTEを書き込む。第2の物理アドレスは、第1のブロックIDと、第2のサブブロックIDに対応する第2のサブブロックIDを含み、第2のサブブロックは、第1のブロックIDに対応する第1のブロック内に配置される。
【選択図】図4F
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 (17)
- データを格納するための方法であって、
第1の論理アドレスを使用して規定される第1のデータを持続性ストレージに書き込む要求を受け取るステップと、
前記持続性ストレージにおいて、第1のブロックIDおよび第1のページIDを含む第1の物理アドレスを決定するステップと、
前記第1のデータのコピーを含む第1のフラグを前記第1の物理アドレスに書き込むステップと、
前記第1の論理アドレスおよび前記第1のページIDを含み、前記第1のページIDによって識別されるページに格納されない第1のテーブル・オブ・コンテンツエントリ(TE)を生成するステップとを含み、前記第1のTEは前記第1の物理アドレス全体を含んでおらず、前記方法はさらに、
第2の論理アドレスを使用して規定される第2のデータを前記持続性ストレージに書き込む要求を受け取るステップと、
前記持続性ストレージにおいて、前記第1のブロックIDおよび第2のページIDを含む第2の物理アドレスを決定するステップと、
前記第2のデータのコピーを含む第2のフラグを前記第2の物理アドレスに書き込むステップと、
前記第2の論理アドレスおよび前記第2のページIDを含み、前記第2のページIDによって識別されるページに格納されない第2のTEを生成するステップとを含み、前記第2のTEは前記第2の物理アドレス全体を含んでおらず、前記方法はさらに、
前記第1のTEおよび前記第2のTEを含み、前記第1のデータおよび前記第2のデータを含まない第1のテーブル・オブ・コンテンツ(TOC)ページを生成するステップと、
前記持続性ストレージにおいて、前記第1のブロックIDおよび第3のページIDを含む第3の物理アドレスに前記第1のTOCページを書き込むステップとを含む、方法。 - 第3の論理アドレスを使用して規定される第3のデータを前記持続性ストレージに書き込む要求を受け取るステップと、
前記持続性ストレージにおいて、前記第1のブロックIDおよび第4のページIDを含む第4の物理アドレスを決定するステップと、
前記第3のデータのコピーを含む第3のフラグを前記第4の物理アドレスに書き込むステップと、
前記第3の論理アドレスおよび前記第4のページIDを含み、前記第3のページIDによって識別されるページに格納されない第3のTEを生成するステップとを含み、前記第3のTEは前記第4の物理アドレス全体を含んでおらず、前記方法はさらに、
前記第3のTEを含む第2のTOCページを生成するステップと、
前記持続性ストレージにおいて、前記第1のブロックIDおよび第5のページIDを含む第5の物理アドレスに前記第2のTOCページを書き込むステップとをさらに含み、前記第2のTOCページは前記第3のデータを含まない、請求項1に記載の方法。 - 前記第5のページIDに対応する第5のページは、前記第1のブロックにおける最後のページである、請求項2に記載の方法。
- 前記第2のTOCページは、前記第1のTOCページへの参照を含む、請求項3に記載の方法。
- 前記参照は、前記第2のTOCページの終わりに配置される、請求項4に記載の方法。
- 前記持続性ストレージにおいて前記第1の物理アドレスに前記第1のフラグを書き込む前に、前記第1のフラグの第1のコピーが第1のメモリに格納されるとともに前記第1のフラグの第2のコピーが第2のメモリに格納され、前記第1のフラグの前記第2のコピーについて第3のTEが生成され、ひとたび前記第1のTOCページが前記第3の物理メモリアドレスに書き込まれると、前記第3のTEが消去される、請求項1に記載の方法。
- 前記第1のメモリは第1のストレージモジュールに配置され、前記第2のメモリは第2のストレージモジュールに配置され、前記持続性ストレージは、前記第1のメモリモジュールに配置される、請求項6に記載の方法。
- 前記第1のTEは、発生時間フィールド、タイプフィールド、論理長さフィールドおよび種類フィールドからなる群から選択される少なくとも1つをさらに含む、請求項1に記載の方法。
- 前記第1の論理アドレスはオブジェクトIDおよびオフセットIDを含む、請求項1に記載の方法。
- インメモリデータ構造にポピュレートするための方法であって、
(a)持続性ストレージにおいて第1のブロックを選択するステップと、
(b)前記第1のブロックにおいて最後のページを抽出するステップとを含み、前記第1のブロックは第1のブロックIDに関連付けられており、前記方法はさらに、
(c)前記第1のブロックにおいて、第1のデータについての第1の論理アドレス、および前記第1のデータが配置される前記第1のブロックにおけるページを識別する第1のページIDを含む第1のテーブル・オブ・コンテンツエントリ(TE)を前記最後のページから抽出するステップを含み、前記ページは前記最後のページではなく、前記第1の論理アドレスは前記第1のページIDを含んでおらず、前記方法はさらに、
(d)前記第1のブロックIDおよび前記第1のTEから抽出される前記第1のページIDを使用して、前記第1のデータについて、前記第1のページIDを含む第1の物理アドレスを生成するステップを含み、前記第1のTEは前記第1の物理アドレス全体を含んでおらず、前記方法はさらに、
(e)第1のハッシュ値を取得するよう前記第1の論理アドレスをハッシングするステップと、
(f)前記第1のハッシュ値と前記第1の物理アドレスとの間の第1のマッピングを前記インメモリデータ構造にポピュレートするステップとを含む、方法。 - (g)前記持続性ストレージにおいて第2のブロックを選択するステップと、
(h)前記第2のブロックにおいて最後のページを抽出するステップとをさらに含み、前記第2のブロックは第2のブロックIDに関連付けられており、前記方法はさらに、
(i)前記第2のブロックにおいて、第2のデータについての第2の論理アドレスと、前記第2のデータが配置される前記第2のブロックにおけるページに対応する第2のページIDとを含む第2のTEを前記最後のページから抽出するステップと、
(j)前記第2のブロックIDと前記第2のTEから抽出される前記第2のページIDとを使用して、前記第2のデータについて第2の物理アドレスを生成するステップとを含み、前記第2のTEは前記第2の物理アドレス全体を含んでおらず、前記方法はさらに、
(k)第2のハッシュ値を取得するよう前記第2の論理アドレスをハッシングするステップと、
(l)前記第2のハッシュ値と前記第2の物理アドレスとの間の第2のマッピングを前記インメモリデータ構造にポピュレートするステップとを含む、請求項10に記載の方法。 - ステップ(a)〜(c)およびステップ(g)〜(i)は並列に行われる、請求項11に記載の方法。
- 前記第1のブロックは第1のストレージモジュールに配置され、前記第2のブロックは前記第2のストレージモジュールに配置され、前記インメモリデータ構造は、前記第1のストレージモジュールおよび前記第2のストレージモジュールの外部のメモリに配置される、請求項11に記載の方法。
- 前記第1のブロックにおける最後のページが前記第1のブロックにおける前記第2のページへの参照を含むという決定をするステップをさらに含み、前記第2のページは第2のTEを含んでおり、前記第2のTEは、第2のデータについての第2の論理アドレスと、前記第2のデータが配置される前記第1のブロックにおけるページに対応する第2のページIDとを含んでおり、前記方法はさらに、
前記第1のブロックIDおよび前記第2のページIDを使用して、前記第2のデータについて第2の物理アドレスを生成するステップを含み、前記第2のTEは前記第2の物理アドレス全体を含んでおらず、前記方法はさらに、
第2のハッシュ値を取得するよう前記第2の論理アドレスをハッシングするステップと、
前記第2のハッシュ値と前記第2の物理アドレスとの間の第2のマッピングを前記インメモリデータ構造にポピュレートするステップとを含む、請求項10に記載の方法。 - 前記持続性ストレージはソリッドステートメモリである、請求項10に記載の方法。
- 読出動作、書込動作および消去動作からなる群における任意の動作が前記持続性ストレージに格納される任意のデータに対して行われる前に、前記インメモリデータ構造には前記持続性ストレージにおけるすべてのTEがポピュレートされる、請求項10に記載の方法。
- 前記第1の論理アドレスはオブジェクトIDおよびオフセットIDを含む、請求項10に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/428,771 US8370567B1 (en) | 2012-03-23 | 2012-03-23 | Storage system with self describing data |
US13/428,771 | 2012-03-23 |
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 true JP2017016691A (ja) | 2017-01-19 |
JP6385995B2 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 |
AU2014348774A1 (en) * | 2013-11-12 | 2016-06-30 | Western Digital Technologies, Inc. | Apparatus and method for routing information in a non-volatile memory-based storage device |
US9430156B1 (en) * | 2014-06-12 | 2016-08-30 | Emc Corporation | Method to increase random I/O performance with low memory overheads |
US10180889B2 (en) * | 2014-06-23 | 2019-01-15 | Liqid Inc. | Network failover handling in modular switched fabric based data storage systems |
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 |
US9378149B1 (en) * | 2014-08-29 | 2016-06-28 | Emc Corporation | Method and system for tracking modification times of data in a storage system |
KR20160075165A (ko) * | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9911487B2 (en) * | 2015-05-19 | 2018-03-06 | EMC IP Holding Company LLC | Method and system for storing and recovering data from flash memory |
US10019168B2 (en) * | 2015-05-19 | 2018-07-10 | EMC IP Holding Company LLC | Method and system for multicasting data to persistent 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 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04323748A (ja) * | 1991-04-24 | 1992-11-12 | Fujitsu Ltd | アドレス変換方法および装置 |
JPH09500997A (ja) * | 1993-07-28 | 1997-01-28 | ナショナル・セミコンダクター・コーポレイション | オーディオ品質のメモリ装置に記憶された情報のための分散ディレクトリ |
JPH1185589A (ja) * | 1997-09-12 | 1999-03-30 | Toshiba Corp | 情報記憶装置および同装置に適用される管理データ再構築方法 |
JP2005085011A (ja) * | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
JP2006114064A (ja) * | 2005-12-28 | 2006-04-27 | Hitachi Ltd | 記憶サブシステム |
JP2009503745A (ja) * | 2005-08-03 | 2009-01-29 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
WO2010114006A1 (ja) * | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
JP2011511388A (ja) * | 2008-02-04 | 2011-04-07 | アップル インコーポレイテッド | メモリマッピング技術 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2008511886A (ja) * | 2004-09-03 | 2008-04-17 | ノキア コーポレイション | メモリ媒体へのデータの記憶及びそこからの読み取り |
US7366825B2 (en) * | 2005-04-26 | 2008-04-29 | Microsoft Corporation | NAND flash memory management |
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 |
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 |
US8762620B2 (en) * | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
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 |
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 CN CN201380015085.4A patent/CN104246724B/zh 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
-
2016
- 2016-09-14 JP JP2016179528A patent/JP6385995B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04323748A (ja) * | 1991-04-24 | 1992-11-12 | Fujitsu Ltd | アドレス変換方法および装置 |
JPH09500997A (ja) * | 1993-07-28 | 1997-01-28 | ナショナル・セミコンダクター・コーポレイション | オーディオ品質のメモリ装置に記憶された情報のための分散ディレクトリ |
JPH1185589A (ja) * | 1997-09-12 | 1999-03-30 | Toshiba Corp | 情報記憶装置および同装置に適用される管理データ再構築方法 |
JP2005085011A (ja) * | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
JP2009503745A (ja) * | 2005-08-03 | 2009-01-29 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
JP2006114064A (ja) * | 2005-12-28 | 2006-04-27 | Hitachi Ltd | 記憶サブシステム |
JP2011511388A (ja) * | 2008-02-04 | 2011-04-07 | アップル インコーポレイテッド | メモリマッピング技術 |
WO2010114006A1 (ja) * | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN104246724B (zh) | 2017-12-01 |
WO2013142673A1 (en) | 2013-09-26 |
EP2828757A1 (en) | 2015-01-28 |
US8370567B1 (en) | 2013-02-05 |
JP6211579B2 (ja) | 2017-10-11 |
CN104246724A (zh) | 2014-12-24 |
JP6385995B2 (ja) | 2018-09-05 |
JP2015515678A (ja) | 2015-05-28 |
EP2828757B1 (en) | 2018-05-09 |
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 | |
CN104765575B (zh) | 信息存储处理方法 | |
US8341342B1 (en) | Storage system with incremental multi-dimensional RAID | |
US8392428B1 (en) | Method and system for hash fragment representation | |
US11240306B2 (en) | Scalable storage system | |
EP3679478A1 (en) | Scalable storage system | |
US10289550B1 (en) | Method and system for dynamic write-back cache sizing in solid state memory storage | |
CN106201328A (zh) | 一种管理存储节点的磁盘空间的方法、装置和服务器 | |
EP4303711A1 (en) | Systems, methods, and apparatus for data placement in a storage device |
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 |