JP2007004801A - アドレス関連テーブル構造を持つスキップ・リスト - Google Patents
アドレス関連テーブル構造を持つスキップ・リスト Download PDFInfo
- Publication number
- JP2007004801A JP2007004801A JP2006173240A JP2006173240A JP2007004801A JP 2007004801 A JP2007004801 A JP 2007004801A JP 2006173240 A JP2006173240 A JP 2006173240A JP 2006173240 A JP2006173240 A JP 2006173240A JP 2007004801 A JP2007004801 A JP 2007004801A
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- level
- index
- 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.)
- Granted
Links
Images
Classifications
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】データ構造(200)は正方向ポインタ(210)のアレイを有するノード(206)のスキップ・リストを含む。各ノード(206)はそのノード(206)をメモリ空間内のテーブル(202)内に記憶するためのインデックスから導かれるノード・レベルを有する。ノード(206)の利用可能な総数はインデックスのビット数で表すことができる最大の2の累乗の半分より小さくなるように選択し、またノード(206)はテーブルの偶数インデックスまたは奇数インデックスにだけ記憶される。この場合、ノード(206)のフリー・リストは利用可能なノード(206)を識別するためのカウントおよびインデックスの対のアレイから生成する。
【選択図】図3
Description
或る実施の形態では、データ構造はメモリ空間内に常駐し、正方向ポインタのアレイを有するノードのスキップ・リストを含む。スキップ・リスト内の各ノードは、前記ノードに関連するアレイからの正方向ポインタの数に関連するノード・レベル(a node level in relation to a number of forward pointers)を有する。各ノード・レベルはメモリ空間内のテーブル内に記憶されたノードのインデックス(index:索引)から導かれる。
テーブルの利用可能なインデックスは好ましくは順次に偶数および奇数のインデックス(sequentially even and odd indices)を含み、ノードは前記偶数インデックスまたは奇数インデックスの選択された1つにだけ記憶する。この場合、ノードのフリー・リストは好ましくはカウントおよびインデックスの対のアレイからのテーブルから生成する。
好ましくは、インデクシング・ステップ(indexing step:インデクシングするステップ)は、テーブル内の前記ノードのアドレスに関連するインデックス値内の先行ゼロの数に関係して各ノードのノード・レベルを導くことを含む。インデックス値は好ましくは2の累乗(例えば、16ビット、32ビットなど)で構成する。
本発明を特徴づけるかかる機能および利点は、以下の詳細な説明を読みまた関連する図面を参照すれば明らかになる。
システム100は、それぞれホストA,B,Cで示す多数のホスト・コンピュータ102を含む。ホスト・コンピュータ102は相互に、またファブリック(fabric)106を介して一対(AおよびB)のデータ記憶アレイ104と、相互作用する。ファブリック106は好ましくはファイバ・チャンネル・ベースのスイッチング・ネットワークとして特徴づけられる。ただし、インターネットを含む他の構成を用いてもよい。
好ましくは1つ以上のプログラム可能なコンピュータ処理ユニット(CPU)で構成するプロセッサ・ブロック112は、好ましくは不揮発性メモリ114(フラッシュ・メモリなど)およびダイナミック・ランダム・アクセス・メモリ(DRAM)116内に記憶されているプログラミング・ステップおよび処理データに従って制御を行う。好ましくは、プロセッサ・ブロック112は後で説明するインテリジェントな記憶およびキャッシュ管理の機能を行う。
動作中、キャッシュ・メモリ124はホスト102と記憶装置110との間のI/O転送に関連するユーザ・データおよびその他の情報を記憶する。装置110から検索された読取りデータ(投機的なデータ(speculative data)を含む)は後で「キャッシュ・ヒット」することを予想してキャッシュ・メモリ124内に一時的に保持されるので、後でデータが要求されたときには装置110とのアクセス動作を計画する必要がなく、データはキャッシュから直接転送される。
このように、一般にプロセッサ・ブロック112は、各項目の状態を追跡するなど、キャッシュの内容を正確に制御することが望ましい。かかる制御は、好ましくは本発明の好ましい実施の形態に係るアドレス関係テーブル構造を用いるスキップ・リスト配列により行う。スキップ・リストは好ましくはキャッシュ・メモリ124の一部内に保持するが、必要に応じて他のメモリ空間を用いてもよい。
各ノード206は、好ましくはキャッシュ・メモリ124内の或る量のデータ(a quantum of data)および/または情報(メタデータなど)に関連する。各ノード206は、論理ブロック・アドレス(LBA)値などの個別のキーを有する。各ノード206に関連する正方向ポインタ210の数は、リスト200内に挿入するときに実質的にランダムに割り当てる。ノード毎の追加(extra)の正方向ポインタの数をそのノードのノード・レベルと呼ぶ。
好ましくは、正方向ポインタ210の数はリストのサイズに関係して選択する。表1は多数の種々のノード・レベルのそれぞれにおけるノードの代表的な分布を示す。ここで、Nノードの中の1つはx以上のレベルを有する。
表1は30ビットのインデックスを用いて1,073,741,824(0x40000000)の可能なノードという最大のプールを与える。このサイズのプールは、例えば米国内で発行される「社会保障番号」(SSN)を全てカバーするのに十分である。
表1から分かるように、一般に、4ノードの中の1つは「0」より大きなレベルを有する。すなわち、ノードの全母集団の25%は1つ以上の追加の正方向ポインタを有する。逆に、4ノードの中の3つ(75%)は一般に「0」のレベル(追加の正方向ポインタがない)を有する。同様に16ノードの中の3つは一般に「1」のレベルを有し、64ノードの中の3つは「2」のレベルを有する。以下同様である。
キャッシュ・ライン(cache lines)に基づいてデータ・キャッシングを用いるCPU(例えば、ブロック112)では、より高いレベルのノードが一般にキャッシュ内に残る傾向がある。また、検索は一般に低いレベルでメモリ参照をトリガする。
ここに示すスキップ・リスト構造の第1の例示的な実施の形態について、図2のコントローラ108のシーク・キュー(seek queue)管理に関して以下に説明する。
この例では、シーク・キュー(ノード)の全集合にわたるホスト要求の最大数は16,384(214)とする。ノードの追加および削除がメモリ参照に関して効率的であることが望ましい。なぜなら、この動作はそれぞれのホスト要求を扱うクリティカル・パスにあるからである。また時には、或るキューはほとんど空であるが他のキューは何千もの要求が並んでいるとする。また、スキップ・リストの検索および記憶に用いられるメモリを最小にすることが望ましい。
表1から、16,384ノードの中の1024(16の中の1つ)はレベル2以上であると一般に予想される。アドレスから導かれたレベルに基づいて、これらのノードにはこれに従ってテーブル202内の0x0000から0x03FFの範囲のインデックスが割り当てられる。
これは、ノードの「フリー・リスト(free list)」を作ることにより対処することができる。フリー・リストを作る好ましい方法は、一般に図4のフリー・リスト生成ルーチン220により与えられる。ステップ222で、或るレベルをランダムに選択し、ステップ226のカウントおよびインデックスの対のアレイから、ステップ224で、選択されたレベルでの次の利用可能なインデックスを選択する。ステップ228で、識別されたノードがフリー・リストの終わりに連結され、ステップ230で流れは戻る。
低い重みの状態は、図5の240で示すような、0x0000から0x03FFの範囲内の奇数インデックスを持つノードを保つように第2の1次テーブル(8KB、すなわち512*16など)を割り当てることにより補償することができる。レベルが2より大きくかつインデックスが奇数のときは、ノード・アドレスの計算に第1のベース・アドレスではなく第2のベース・アドレスを用いる。
エレベータ検索方式の逆の手順の好ましい別の方法は、図6の250,252に示すように2つのキューを用いることである。アップ・キュー250は「現在」位置より高い全ての要求を保持して昇順のLBAに維持される。ダウン・キュー252は現在位置より低い全ての要求を保持して降順のLBAに維持される。
アドレス関係テーブル構造を持つスキップ・リストの第2の例示的な実施の形態について、メディア(データ記憶装置110)上に保持される比較的大きなデータベースを参照して以下に説明する。この実施の形態では、データベース内の種々のレコードの検索オーバーヘッドを最小にするためにスキップ・リスト200が一般に用いられる。
かかるデータベース内でのレコードの割当ておよび割当て解除に関係する問題は、以下の説明では大部分省略する。ただし、上に説明した方式(例1)を調整して、大きな割当て解除作業を必要としないデータベースの最小メタデータ(すなわち、単なるテーブル)を用いてノードを直接割り当てるように容易にすることができることに注意していただきたい。
この説明を助けるベンチマークとして、アクセス方法はレコード毎に4バイトのポインタの従来のフラット・マップ構造(flat map architecture)を用いてよい。これは一般に、装置110上に4ギガバイト(GB)のディスク空間と、レコード毎にデータを見つけてアクセスするための2つのディスク・アクセスI/O動作(1つのI/Oは関連するレコード自体のデータを検索することである)とを必要とする。
ここで、この例で230(1,073,741,824)の可能な全レコードをサポートするために32ビットのインデックスが選択されたのと同様に、割当て可能なノードの総数より大きくなるようにインデックス値が選択される場合は、特別の処理が必要であることに注意していただきたい。ここで起こる1つの問題は、ノード・レベルを決定するのにインデックス内の先行ゼロの「正しい」数をどのようにして識別するかである。
この例では、同等重み分布は15番目のレベル(0−14を用いるレベル14)の中に0,1,2,3のインデックスを持つ正確に4つのノードを与える。表5はこれらのインデックス値の関連する32ビット表現を示す。
次にノード・レベルは、好ましくはこのLZ値から、(LZ−2)/2の関係に従い、必要に応じて端数を全て切り捨てて(整数除算)決定される。レベル14では、LZ値が31および30のとき14という値になる((31−2)/2=14.5→14、および(30−2)/2=14)。
この例を続けると、「基本」ノードは、全部で16バイトについて、32ビットのキーと3レベル(0−2)の32ビットのポインタとを用いる。1次の基本ノードはメディア上に31.5ミリオン(M)セクタ(15.75GB)を占める。64ノードの中の1つが2より大きなレベルを有するので、これらの値は表1から得ることができる。1ビリオン(G)の16バイト・ノード(K*M)では、正確に32M(16*K*M/512)セクタを必要とする。しかし、レベル2より上には基本ノードでない16Mノードがある。したがって、32Mは16M*16/512、すなわち512Kだけ減少する。
16,384ノードの中の1つ(例えば、65,536、すなわち216ノード)は64バイトのトップ・ノードであることに注意していただきたい。トップ・ノードは4MB(8Kセクタ)を占める。更に全部で16,711,680(224マイナス216)の中間ノードがあり、これは約500MBのセクタを占める。重要であるが、この方式ではセクタ境界を横切るノードはない。
或る実施の形態では、データ構造(200など)はメモリ空間(114,116,124など)内に常駐し、正方向ポインタ(210など)のアレイを有するノード(206など)のスキップ・リストを含み、スキップ・リスト内の各ノードは前記ノードに関連するアレイからの多数の正方向ポインタに関係するノード・レベルを有し、また各ノード・レベルはそのノードをメモリ空間内のテーブル(202など)内に記憶するためのインデックスから導かれる。
テーブルの利用可能なインデックスは好ましくは順次に偶数および奇数のインデックスを含み、ノードは前記偶数インデックスまたは奇数インデックスの選択された1つ(表4内など)にだけ記憶する。この場合、ノードのフリー・リスト(例えば、200による)は好ましくはカウントおよびインデックスの対(例えば、206による)のアレイから生成されたテーブルから生成する。
前と同様に、生成するステップのスキップ・リストのノードの総数は、好ましくはインデクシング・ステップのテーブルをアドレス指定するのに用いられる多数のビットのインデックス・フィールドで表すことができる最大の2の累乗の半分より小さくなるように選択する(例えば、16ビットのインデックスでは214ノードを用い、32ビットのインデックスでは230ノードを用いる)。
124 キャッシュ・メモリ
200 データ構造
202 メモリ空間内のテーブル
206 ノード
210 正方向ポインタ
Claims (20)
- メモリ空間内に常駐するデータ構造であって、正方向ポインタのアレイを有するノードのスキップ・リストを含み、前記スキップ・リスト内の各ノードは前記ノードに関連する前記アレイからの正方向ポインタの数に関係するノード・レベルを有し、また各ノード・レベルは前記ノードを前記メモリ空間内のテーブル内に記憶するためのインデックスから導かれる、データ構造。
- 最高のノード・レベルのノードが前記テーブルの利用可能なインデックスの最低の集合でグループ化されるように、前記ノードはノード・レベルにより前記テーブル内に配列される、請求項1記載のデータ構造。
- 各ノードのノード・レベルは前記関連するインデックス内の先行ゼロの数に関係して決定される、請求項1記載のデータ構造。
- 前記スキップ・リストのノードの利用可能な総数は多数のビットのインデックスで表すことができる最大の2の累乗の半分より小さくなるように選択する、請求項1記載のデータ構造。
- 比較的低いノード・レベルのノードはmビットのフォーマットで構成し、比較的高いノード・レベルのノードはnビットのフォーマットで構成し、mはnより小さい、請求項1記載のデータ構造。
- 前記テーブルの利用可能なインデックスは順次に偶数および奇数のインデックスを含み、前記ノードは前記偶数インデックスまたは奇数インデックスの選択された1つにだけ記憶する、請求項1記載のデータ構造。
- カウントおよびインデックスの対のアレイから生成されるテーブルからのノードのフリー・リストを更に含む、請求項6記載のデータ構造。
- 前記テーブルは第1の1次テーブルとして特徴づけられ、また前記データ構造は前記第1の1次テーブル内の比較的高いノード・レベルのノードの分布が減少したときに追加のノードを記憶するための第2の1次テーブルを更に備える、請求項1記載のデータ構造。
- 前記スキップ・リストのノードは第1のタイプの情報を含むものとして特徴づけられ、また前記データ構造は前記第1のタイプの情報に関連する第2のタイプの情報を与えるための2次テーブルを更に含む、請求項1記載のデータ構造。
- ノードの検索動作を容易にするためのそれぞれのアップ・キューおよびダウン・キューを更に含む、請求項1記載のデータ構造。
- 正方向ポインタのアレイを有するノードのスキップ・リストを生成するステップであって、前記スキップ・リスト内の各ノードは前記ノードに関連する前記アレイからの多数の正方向ポインタに関係するノード・レベルを含む、前記スキップ・リストを生成するステップと、最高のノード・レベルのノードがテーブルの利用可能なインデックスの最低の集合でグループ化されるように、メモリ空間内のテーブル内のノードにノード・レベルによりインデクシングするステップと、を含む方法。
- 前記インデクシングするステップは、前記テーブル内の前記ノードのアドレスに関連するインデックス値内の先行ゼロの数に関係して各ノードのノード・レベルを導くことを含む、請求項11記載の方法。
- 前記インデクシングするステップのインデックス値は2の累乗である、請求項12記載の方法。
- 前記生成するステップの前記スキップ・リストのノードの総数は、前記インデクシングするステップのテーブルをアドレス指定するのに用いられるインデックス・フィールドのビット数により表すことができる最大の2の累乗の半分より小さくなるように選択する、請求項11記載の方法。
- 前記生成するステップは、比較的低いノード・レベルのノードにmビットのフォーマットを与え、比較的高いノード・レベルのノードにnビットのフォーマットを与え、mはnより小さい、請求項11記載の方法。
- 前記テーブルの利用可能なインデックスは順次に偶数および奇数のインデックスを含み、また前記インデクシングするステップ中は、前記ノードは前記偶数インデックスまたは奇数インデックスの選択された1つにだけ記憶する、請求項11記載の方法。
- 前記インデクシングするステップはカウントおよびインデックスの対のアレイからノードのフリー・リストを生成することを更に含む、請求項16記載の方法。
- メモリ空間と、前記メモリ空間内のデータを効率的に配列し検索するための第1の手段とを含む装置。
- 前記第1の手段は正方向ポインタのアレイを有するノードのスキップ・リストを含み、前記スキップ・リスト内の各ノードは前記ノードに関連するアレイからの正方向ポインタの数に関係するノード・レベルを有し、また各ノード・レベルは前記ノードを前記メモリ空間内のテーブル内に記憶するためのインデックスから導かれる、請求項18記載の装置。
- 前記メモリ空間はデータ記憶アレイ・コントローラのキャッシュ・メモリを含む、請求項19記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/166,901 US7831624B2 (en) | 2005-06-24 | 2005-06-24 | Skip list with address related table structure |
US11/166,901 | 2005-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007004801A true JP2007004801A (ja) | 2007-01-11 |
JP4921865B2 JP4921865B2 (ja) | 2012-04-25 |
Family
ID=37568840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006173240A Expired - Fee Related JP4921865B2 (ja) | 2005-06-24 | 2006-06-23 | アドレス関連テーブル構造を持つスキップ・リスト |
Country Status (2)
Country | Link |
---|---|
US (1) | US7831624B2 (ja) |
JP (1) | JP4921865B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727398B (zh) * | 2008-10-31 | 2012-07-11 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620646B1 (en) * | 2006-01-03 | 2009-11-17 | Emc Corporation | Real-time construction of a selection representation for items in tree structures |
US7574445B2 (en) * | 2006-01-03 | 2009-08-11 | Emc Corporation | Generating a selection representation for items in tree structures |
US7605815B1 (en) | 2006-01-03 | 2009-10-20 | Emc Corporation | Selection representation methods applied to logical groupings |
US7526495B2 (en) * | 2006-01-03 | 2009-04-28 | Emc Corporation | Real-time construction of a selection representation for items in tree structures |
JP2008003976A (ja) * | 2006-06-26 | 2008-01-10 | Sony Corp | メモリアクセス制御装置および方法、並びに、通信装置 |
US7664766B2 (en) * | 2006-09-12 | 2010-02-16 | International Business Machines Corporation | System, method and computer program product for managing data |
US8086820B2 (en) * | 2007-06-29 | 2011-12-27 | Seagate Technology Llc | Data structure for highly efficient data queries |
US9329800B2 (en) | 2007-06-29 | 2016-05-03 | Seagate Technology Llc | Preferred zone scheduling |
US8959309B2 (en) * | 2009-06-18 | 2015-02-17 | Canon Kabushiki Kaisha | Skip list generation |
AU2009202442A1 (en) * | 2009-06-18 | 2011-01-13 | Canon Kabushiki Kaisha | Skip list generation |
US9703829B2 (en) * | 2011-12-26 | 2017-07-11 | Hitachi, Ltd. | Database system and database management method |
US20170017414A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices |
US20170017420A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Enabling High Read Rates To Data Element Lists |
US20170017567A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Implementing Distributed-Linked Lists For Network Devices |
US20170017419A1 (en) | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Enabling High Read Rates To Data Element Lists |
CN106649790A (zh) * | 2016-12-28 | 2017-05-10 | 华中科技大学 | 一种多层链接分离的skiplist构造方法及系统 |
EP3644196B1 (en) * | 2018-10-26 | 2022-05-11 | Tata Consultancy Services Limited | Systems and methods for storing data in an integrated array and linked list based structure |
CN111694989B (zh) * | 2020-06-09 | 2023-03-10 | 中国民用航空飞行学院 | Ae300航空发动机数据日志文件解析方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112814A (ja) * | 1998-10-06 | 2000-04-21 | Canon Inc | メモリアロケ―ション方法及びメモリアロケ―ション装置 |
WO2002052442A1 (en) * | 2000-12-22 | 2002-07-04 | Samsung Electronics Co., Ltd | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761501A (en) * | 1995-10-02 | 1998-06-02 | Digital Equipment Corporation | Stacked skip list data structures |
US5991520A (en) | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
US6117185A (en) | 1997-09-24 | 2000-09-12 | International Business Machines Corporation | Skip list data storage during compilation |
US6088701A (en) | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
US6457021B1 (en) * | 1998-08-18 | 2002-09-24 | Microsoft Corporation | In-memory database system |
US6321304B1 (en) | 1999-01-22 | 2001-11-20 | Apple Computer, Inc. | System and method for deleting read-only head entries in multi-processor computer systems supporting cache coherence with mixed protocols |
US6246682B1 (en) * | 1999-03-05 | 2001-06-12 | Transwitch Corp. | Method and apparatus for managing multiple ATM cell queues |
US6216199B1 (en) | 1999-08-04 | 2001-04-10 | Lsi Logic Corporation | Hardware mechanism for managing cache structures in a data storage system |
US6671694B2 (en) | 2001-06-04 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | System for and method of cache-efficient digital tree with rich pointers |
US6654760B2 (en) | 2001-06-04 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | System and method of providing a cache-efficient, hybrid, compressed digital tree with wide dynamic ranges and simple interface requiring no configuration or tuning |
US7257711B2 (en) * | 2001-11-08 | 2007-08-14 | The Johns Hopkins University | Efficient authenticated dictionaries with skip lists and commutative hashing |
US7613796B2 (en) * | 2002-09-11 | 2009-11-03 | Microsoft Corporation | System and method for creating improved overlay network with an efficient distributed data structure |
-
2005
- 2005-06-24 US US11/166,901 patent/US7831624B2/en not_active Expired - Fee Related
-
2006
- 2006-06-23 JP JP2006173240A patent/JP4921865B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112814A (ja) * | 1998-10-06 | 2000-04-21 | Canon Inc | メモリアロケ―ション方法及びメモリアロケ―ション装置 |
WO2002052442A1 (en) * | 2000-12-22 | 2002-07-04 | Samsung Electronics Co., Ltd | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables |
JP2004517519A (ja) * | 2000-12-22 | 2004-06-10 | サムスン エレクトロニクス カンパニー リミテッド | 高速インターネットプロトコルルートルックアップ遂行及びルーティング/フォワーディングテーブル管理のための装置及び方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727398B (zh) * | 2008-10-31 | 2012-07-11 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
Also Published As
Publication number | Publication date |
---|---|
US7831624B2 (en) | 2010-11-09 |
US20060294118A1 (en) | 2006-12-28 |
JP4921865B2 (ja) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4921865B2 (ja) | アドレス関連テーブル構造を持つスキップ・リスト | |
JP5524144B2 (ja) | key−valueストア方式を有するメモリシステム | |
US8868926B2 (en) | Cryptographic hash database | |
JP6356675B2 (ja) | 集約/グループ化動作:ハッシュテーブル法のハードウェア実装 | |
KR100529995B1 (ko) | 데이터베이스에 엘리먼트를 저장하는 방법 | |
US7962700B2 (en) | Systems and methods for reducing latency for accessing compressed memory using stratified compressed memory architectures and organization | |
US6415375B2 (en) | Information storage and retrieval system | |
US20080059728A1 (en) | Systems and methods for masking latency of memory reorganization work in a compressed memory system | |
CN108984420A (zh) | 管理非易失性存储器(nvm)中的多个名称空间 | |
KR20040036681A (ko) | 데이터 베이스 | |
JPH08185275A (ja) | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 | |
JPS62113234A (ja) | レコ−ドセツト分類方法 | |
JP6258436B2 (ja) | メモリシステムのローカルコントローラ | |
JP5646775B2 (ja) | key−valueストア方式を有するメモリシステム | |
Li et al. | Multi-copy cuckoo hashing | |
JP5833212B2 (ja) | key−valueストア方式を有するメモリシステム | |
US20200019539A1 (en) | Efficient and light-weight indexing for massive blob/objects | |
CN111338569A (zh) | 一种基于直接映射的对象存储后端优化方法 | |
JP6034467B2 (ja) | システム | |
JP4349803B2 (ja) | データベースのデータの編成 | |
CN109871355B (zh) | 一种快照元数据存储方法、装置及设备、介质 | |
CN116737664B (zh) | 一种面向对象的嵌入式数据库高效索引组织方法 | |
WO2013035287A1 (ja) | データベース管理装置、データベース管理方法、及びプログラム | |
JP2004021338A (ja) | ディスク記憶領域割当方法およびディスク記憶領域割当装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070917 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090623 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100526 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111124 |
|
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: 20120110 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |