JP5597666B2 - 半導体記憶装置、情報処理システムおよび制御方法 - Google Patents
半導体記憶装置、情報処理システムおよび制御方法 Download PDFInfo
- Publication number
- JP5597666B2 JP5597666B2 JP2012070322A JP2012070322A JP5597666B2 JP 5597666 B2 JP5597666 B2 JP 5597666B2 JP 2012070322 A JP2012070322 A JP 2012070322A JP 2012070322 A JP2012070322 A JP 2012070322A JP 5597666 B2 JP5597666 B2 JP 5597666B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- key
- value
- storage unit
- page
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 73
- 239000004065 semiconductor Substances 0.000 title claims description 39
- 230000010365 information processing Effects 0.000 title claims description 4
- 230000008569 process Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 63
- 238000010586 diagram Methods 0.000 description 21
- 238000007726 management method Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005056 compaction Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013518 transcription Methods 0.000 description 4
- 230000035897 transcription Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
・登録コマンド(PUT):キーに関連付けられた新たな集合(バリュー)を登録する。
・書込コマンド(APPEND):あるキーに関連付けられた集合(バリュー)に新たな要素(バリュー)を追加する。
・取得コマンド(GET):キーに関連付けられた集合(バリュー)の要素をワークメモリ(またはバッファメモリ)に格納しそのサイズを返す。
・読出コマンド(READ):ワークメモリ(またはバッファメモリ)に格納されている要素(バリュー)を読み出す。
(1)キーをHash関数などにより固定長データへ変換し、その固定長データを使用可能なメモリのアドレスに変換して固定長アドレスを得る。変換した固定長アドレスをキーアドレスとする。
(2)NANDフラッシュメモリ内に保存されているK2Pテーブルを参照し、物理アドレスを得る。
(3)物理アドレスのデータを読み、メモリシステム外へ出力する。
図1は、第1の実施形態にかかる半導体記憶装置であるデバイス100およびホストシステム200のハードウェア構成の一例を示すブロック図である。図1に示すように、ホストシステム200は、CPU201と、メインメモリ202と、CPU201およびメインメモリ202を接続するバス211と、を備えている。
<KeyID>=hash(<Key>) mod BitLength
変形例1では、物理ブロックテーブルを用いる例を説明する。図14は、物理ブロックテーブルを用いる場合のデータアクセスの仕組みを説明する図である。
変形例2では、多段階の検索テーブルを用いてL2Pテーブルへアクセスする例を説明する。図16に示すように、分類機能401により論理アドレス(実データ)とキーアドレス(KVSデータ)のいずれを参照するか分類した後、さらに1以上の検索テーブルを用いて、論理アドレスに対応する物理アドレスを参照するように構成してもよい。
図4では、キーアドレスと物理アドレスの対応を複数個まとめたものを1つのエントリとしたK2Pテーブル132bの例を示した。変形例3では、これを拡張し、物理アドレスのあとにバリューのハッシュ値を格納する例を示す。図17は、変形例3のK2Pテーブル132bのデータ形式の一例を示す図である。
第2の実施形態にかかる半導体記憶装置は、CAM(Content Addressable Memory)を用いてデータを検索可能とする。図19は、第2の実施形態にかかるデバイス100−2のハードウェア構成の一例を示すブロック図である。図19に示すように、デバイス100−2は、ホストインタフェース101と、デバイス制御部110と、メモリ制御部120−2と、記憶部130と、を備えている。
第3の実施形態にかかる半導体記憶装置は、ワークメモリ以外に、ワークメモリよりも大きなサイズのバッファメモリをさらに備える。図21は、第3の実施形態にかかるデバイス100−3のハードウェア構成の一例を示すブロック図である。図21に示すように、デバイス100−3は、ホストインタフェース101と、デバイス制御部110と、メモリ制御部120と、記憶部130と、に加えて、バッファメモリ140−3を備えている。
第4の実施形態にかかる半導体記憶装置は、ダイレクトメモリアクセスコントローラ(DMAC)をさらに備える。図22−1は、第4の実施形態にかかるデバイス100−4のハードウェア構成の一例を示すブロック図である。図22−1に示すように、デバイス100−4は、ホストインタフェース101−4と、デバイス制御部110と、メモリ制御部120と、記憶部130と、に加えて、DMAC150−4を備えている。
第4の実施形態の変形例は、ダイレクトメモリアクセスコントローラ(DMAC)にホストとデバイスを繋ぐ別の通信線300をさらに備える。図22−2は、第4の実施形態の変形例のデバイス100−5のハードウェア構成の一例を示すブロック図である。図22−2に示すように、デバイス100−5は、ホストインタフェース101−4と、デバイス制御部110と、メモリ制御部120と、記憶部130と、に加えて、DMAC150−5を備えている。また、DMAC150−5は、デバイス100−5からホストシステム200−4へのホストインタフェース101−4とは別の通信線300を介してホストシステム200−4と接続される。
第5の実施形態では、ホストシステムが、デバイスと同様のK2P処理の実行機能(サブ制御部)を備える。図23は、第5の実施形態にかかるデバイス100−4と、ホストシステム200−5のハードウェア構成の一例を示すブロック図である。デバイス100−4の構成は第4の実施形態(図22−1)と同様である。
101 ホストインタフェース
102 バス
110 デバイス制御部
111 ワークメモリ
120 メモリ制御部
121 バッファメモリ
130 記憶部
200 ホストシステム
201 CPU
202 メインメモリ
211 バス
Claims (18)
- バリュー、および、前記バリューに対応するキーに基づいて生成されるキーアドレスと前記バリューの物理アドレスとを対応づけるアドレス情報を記憶する第1記憶部と、
前記キーを含む、当該キーに対応する前記バリューの取得要求を受け付ける受付部と、
前記アドレス情報に基づいて、前記取得要求に含まれる前記キーの前記キーアドレスに対応する前記物理アドレスを取得する取得部と、
取得された前記物理アドレスの前記バリューを前記第1記憶部から取得し、取得した前記バリューを、前記取得要求に対する応答として出力する出力制御部と、
を備える半導体記憶装置。 - キーとバリューとを対応づけるキーバリュー情報を記憶し、指定された前記キーを含む前記キーバリュー情報が記憶されている場合に、指定された前記キーに対応する前記バリューを出力する第2記憶部をさらに備える、
請求項1に記載の半導体記憶装置。 - 前記第2記憶部は、指定された前記キーを含む前記キーバリュー情報が記憶されていない場合に、記憶されていないことを示す情報を出力する、
請求項2に記載の半導体記憶装置。 - 前記第2記憶部は、特定情報が記憶されている場合に、前記特定情報に応じて定められた処理を実行し、実行結果を出力する、
請求項2に記載の半導体記憶装置。 - 前記第2記憶部は、前記バリューの記憶位置を表す前記特定情報が記憶されている場合に、前記記憶位置に記憶されている前記バリューを出力する、
請求項4に記載の半導体記憶装置。 - 前記第1記憶部より高速にアクセス可能であり、前記第1記憶部から転送される前記アドレス情報を記憶する第3記憶部をさらに備え、
前記取得部は、前記第3記憶部に記憶された前記アドレス情報に基づいて、前記取得要求に含まれる前記キーの前記キーアドレスに対応する前記物理アドレスを取得する、
請求項1に記載の半導体記憶装置。 - 前記第1記憶部より高速にアクセス可能な第4記憶部へのアクセスを制御するアクセス制御部をさらに備え、
前記取得部は、前記アクセス制御部を介して、前記第4記憶部に記憶された前記アドレス情報を参照することにより、前記取得要求に含まれる前記キーの前記キーアドレスに対応する前記物理アドレスを取得する、
請求項1に記載の半導体記憶装置。 - 前記取得部は、起動時に前記アドレス情報を前記第1記憶部から読み出し、読み出した前記アドレス情報を前記第4記憶部に記憶する、
請求項7に記載の半導体記憶装置。 - 前記アクセス制御部は、前記取得要求が受付けられるインタフェースと異なるインタフェースを介して、前記第4記憶部へのアクセスを制御する、
請求項7に記載の半導体記憶装置。 - 前記第1記憶部は、前記バリュー、および、前記キーに基づいて生成される固定長のキーアドレスと前記物理アドレスとを対応づける前記アドレス情報を記憶する、
請求項1に記載の半導体記憶装置。 - 前記第1記憶部は、複数のページを含むブロックを複数含み、前記バリューが記憶される前記ページの物理アドレスを表すページアドレスと、前記キーアドレスと、前記ページアドレスのページが有効であるか否かを表す判定情報と、を対応づけてさらに記憶し、
第1ブロックに含まれるページのうち前記判定情報が有効であることを表す有効ページを第2ブロックに書き込み、前記第1ブロックに記憶された前記有効ページを消去する転記処理部をさらに備える、
請求項1に記載の半導体記憶装置。 - 前記第1記憶部は、複数のページを含むブロックを複数含み、前記ページに、当該ページの次に読み出すページの物理アドレスを表す次ページアドレスを対応づけて記憶し、
取得部は、前記ページを読み出した後に、当該ページに対応づけられた前記次ページアドレスのページを読み出す、
請求項1に記載の半導体記憶装置。 - 前記第1記憶部は、さらに、前記バリューと異なるデータを記憶し、
前記アドレス情報は、前記データの論理アドレスと前記データの物理アドレスとを対応づけた情報をさらに含む、
請求項1に記載の半導体記憶装置。 - 前記キーアドレスの長さと、前記論理アドレスの長さとが等しい、
請求項13に記載の半導体記憶装置。 - 前記第1記憶部は、前記バリューが記憶されるページの物理アドレスを表すページアドレスと、前記キーアドレスと、前記ページアドレスのページが有効であるか否かを表す判定情報と、前記ページアドレスのページの書換え頻度と、を対応づけて記憶し、
前記書換え頻度が低い前記ページに対して優先してデータを書き込む書込部をさらに備える、
請求項1に記載の半導体記憶装置。 - 前記第1記憶部は、前記バリュー、および、前記キーアドレスと前記物理アドレスと前記バリューのハッシュ値とを対応づける前記アドレス情報を記憶する、
請求項1に記載の半導体記憶装置。 - ホスト装置と、半導体記憶装置と、を備える情報処理システムであって、
前記半導体記憶装置は、
バリュー、および、前記バリューに対応するキーに基づいて生成されるキーアドレスと前記バリューの物理アドレスとを対応づけるアドレス情報を記憶する第1記憶部を備え、
前記ホスト装置は、
前記キーを含む、当該キーに対応する前記バリューの取得要求を受け付ける受付部と、
前記アドレス情報に基づいて、前記取得要求に含まれる前記キーの前記キーアドレスに対応する前記物理アドレスを取得する取得部と、
取得された前記物理アドレスの前記バリューを前記第1記憶部から取得し、取得した前記バリューを、前記取得要求に対する応答として出力する出力制御部と、を備える、
情報処理システム。 - バリュー、および、前記バリューに対応するキーに基づいて生成されるキーアドレスと前記バリューの物理アドレスとを対応づけるアドレス情報を記憶する第1記憶部を備える半導体記憶装置で実行される制御方法であって、
前記キーを含む、当該キーに対応する前記バリューの取得要求を受け付ける受付ステップと、
前記アドレス情報に基づいて、前記取得要求に含まれる前記キーの前記キーアドレスに対応する前記物理アドレスを取得する取得ステップと、
取得された前記物理アドレスの前記バリューを前記第1記憶部から取得し、取得した前記バリューを、前記取得要求に対する応答として出力する出力ステップと、
を含む制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012070322A JP5597666B2 (ja) | 2012-03-26 | 2012-03-26 | 半導体記憶装置、情報処理システムおよび制御方法 |
US13/762,986 US20130250686A1 (en) | 2012-03-26 | 2013-02-08 | Semiconductor memory device, information processing system and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012070322A JP5597666B2 (ja) | 2012-03-26 | 2012-03-26 | 半導体記憶装置、情報処理システムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013200839A JP2013200839A (ja) | 2013-10-03 |
JP5597666B2 true JP5597666B2 (ja) | 2014-10-01 |
Family
ID=49211682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012070322A Expired - Fee Related JP5597666B2 (ja) | 2012-03-26 | 2012-03-26 | 半導体記憶装置、情報処理システムおよび制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130250686A1 (ja) |
JP (1) | JP5597666B2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9536016B2 (en) * | 2013-01-16 | 2017-01-03 | Google Inc. | On-disk multimap |
KR102044023B1 (ko) * | 2013-03-14 | 2019-12-02 | 삼성전자주식회사 | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 |
DE102013212525A1 (de) * | 2013-06-27 | 2014-12-31 | Siemens Aktiengesellschaft | Datenspeichervorrichtung zum geschützten Datenaustausch zwischen verschiedenen Sicherheitszonen |
CN103593477A (zh) | 2013-11-29 | 2014-02-19 | 华为技术有限公司 | 一种哈希数据库的配置方法和装置 |
JP6211949B2 (ja) * | 2014-02-12 | 2017-10-11 | 株式会社東芝 | データベース装置 |
US9785547B2 (en) * | 2014-02-13 | 2017-10-10 | Hitachi, Ltd. | Data management apparatus and method |
WO2015136612A1 (ja) * | 2014-03-11 | 2015-09-17 | 株式会社日立製作所 | 計算機システム、不揮発メモリシステム及びホストシステム |
US9384144B1 (en) * | 2014-03-25 | 2016-07-05 | SK Hynix Inc. | Error detection using a logical address key |
JP6192171B2 (ja) * | 2014-09-02 | 2017-09-06 | 日本電信電話株式会社 | プログラムおよびクラスタシステム |
US9846642B2 (en) * | 2014-10-21 | 2017-12-19 | Samsung Electronics Co., Ltd. | Efficient key collision handling |
JP6291435B2 (ja) * | 2015-02-20 | 2018-03-14 | 日本電信電話株式会社 | プログラムおよびクラスタシステム |
JP6268116B2 (ja) * | 2015-03-20 | 2018-01-24 | 東芝メモリ株式会社 | データ処理装置、データ処理方法およびコンピュータプログラム |
US11301422B2 (en) * | 2016-02-23 | 2022-04-12 | Samsung Electronics Co., Ltd. | System and methods for providing fast cacheable access to a key-value device through a filesystem interface |
JP6122170B1 (ja) * | 2016-03-16 | 2017-04-26 | 株式会社東芝 | 不揮発性ram及び不揮発性ramを含むシステム |
KR102532581B1 (ko) * | 2016-03-17 | 2023-05-17 | 에스케이하이닉스 주식회사 | 메모리 장치를 포함하는 메모리 시스템 및 그의 동작 방법 |
JP6542152B2 (ja) * | 2016-03-29 | 2019-07-10 | 東芝メモリ株式会社 | オブジェクトストレージ、コントローラおよびプログラム |
US11256431B1 (en) | 2017-01-13 | 2022-02-22 | Lightbits Labs Ltd. | Storage system having a field programmable gate array |
JP6785205B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2019079464A (ja) | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR102545167B1 (ko) | 2017-11-23 | 2023-06-19 | 삼성전자주식회사 | 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법 |
US20190294497A1 (en) * | 2018-03-22 | 2019-09-26 | Winbond Electronics Corp. | Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same |
US10514980B2 (en) * | 2018-03-22 | 2019-12-24 | Winbond Electronics Corp. | Encoding method and memory storage apparatus using the same |
JP2019194780A (ja) | 2018-05-01 | 2019-11-07 | 富士通株式会社 | 情報処理装置、データ管理プログラム及びデータ管理方法 |
US20220035737A1 (en) * | 2018-09-27 | 2022-02-03 | Sony Corporation | Storage apparatus, high dimensional gaussian filtering circuit, stereo depth calculation circuit, and information processing apparatus |
US11580162B2 (en) * | 2019-04-18 | 2023-02-14 | Samsung Electronics Co., Ltd. | Key value append |
US11237953B2 (en) * | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
US20210357533A1 (en) * | 2019-07-22 | 2021-11-18 | Andrew Duncan Britton | Runtime Signature Integrity |
JP7237782B2 (ja) * | 2019-09-13 | 2023-03-13 | キオクシア株式会社 | ストレージシステム及びその制御方法 |
US11593258B2 (en) * | 2019-11-26 | 2023-02-28 | Micron Technology, Inc. | Enhanced filesystem support for zone namespace memory |
US11568077B2 (en) * | 2019-12-26 | 2023-01-31 | Micron Technology, Inc. | Memory device data security based on content-addressable memory architecture |
US11880584B2 (en) * | 2021-06-15 | 2024-01-23 | Vmware, Inc. | Reverse range lookup on a unified logical map data structure of snapshots |
US11853607B2 (en) | 2021-12-22 | 2023-12-26 | Western Digital Technologies, Inc. | Optimizing flash memory utilization for NVMe KV pair storage |
US11817883B2 (en) | 2021-12-27 | 2023-11-14 | Western Digital Technologies, Inc. | Variable length ECC code according to value length in NVMe key value pair devices |
US11733876B2 (en) | 2022-01-05 | 2023-08-22 | Western Digital Technologies, Inc. | Content aware decoding in KV devices |
US11966630B2 (en) | 2022-06-27 | 2024-04-23 | Western Digital Technologies, Inc. | Key-to-physical table optimization for key value data storage devices |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728690A (ja) * | 1993-07-14 | 1995-01-31 | Hitachi Ltd | フラッシュメモリシステム |
US5640591A (en) * | 1995-05-15 | 1997-06-17 | Nvidia Corporation | Method and apparatus for naming input/output devices in a computer system |
JP3197815B2 (ja) * | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
US6067547A (en) * | 1997-08-12 | 2000-05-23 | Microsoft Corporation | Hash table expansion and contraction for use with internal searching |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
JP2001067258A (ja) * | 1999-08-25 | 2001-03-16 | Mitsubishi Electric Corp | フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法 |
JP2001188686A (ja) * | 1999-10-22 | 2001-07-10 | Sony Corp | データ書換装置、制御方法および記録媒体 |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US8463781B1 (en) * | 2002-06-25 | 2013-06-11 | Emc Corporation | Pre-fetch of records identified by an index record |
JP2004334273A (ja) * | 2003-04-30 | 2004-11-25 | Tokai Univ | デバイスおよびデバイスの制御方法およびデバイス制御用プログラム |
JPWO2006067923A1 (ja) * | 2004-12-22 | 2008-06-12 | 松下電器産業株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 |
JP2007310823A (ja) * | 2006-05-22 | 2007-11-29 | Matsushita Electric Ind Co Ltd | メモリカード、メモリカード処理方法、制御プログラム、及び集積回路 |
US8234327B2 (en) * | 2007-03-30 | 2012-07-31 | Netapp, Inc. | System and method for bandwidth optimization in a network storage environment |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8397051B2 (en) * | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
WO2010114006A1 (ja) * | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
US8402242B2 (en) * | 2009-07-29 | 2013-03-19 | International Business Machines Corporation | Write-erase endurance lifetime of memory storage devices |
JP2011123601A (ja) * | 2009-12-09 | 2011-06-23 | Nec Corp | イベント一致判定装置、イベント一致判定方法、および、イベント一致判定プログラム |
JP2011227802A (ja) * | 2010-04-22 | 2011-11-10 | Funai Electric Co Ltd | データ記録装置 |
US20110276744A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
US9026717B2 (en) * | 2011-09-30 | 2015-05-05 | SanDisk Technologies, Inc. | Apparatus, system, and method for a persistent object store |
-
2012
- 2012-03-26 JP JP2012070322A patent/JP5597666B2/ja not_active Expired - Fee Related
-
2013
- 2013-02-08 US US13/762,986 patent/US20130250686A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130250686A1 (en) | 2013-09-26 |
JP2013200839A (ja) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5597666B2 (ja) | 半導体記憶装置、情報処理システムおよび制御方法 | |
US10579683B2 (en) | Memory system including key-value store | |
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
KR102603070B1 (ko) | 메모리 시스템, 메모리 시스템에 데이터를 기록하는 방법 및 메모리 시스템으로부터 데이터를 판독하는 방법 | |
US8812816B2 (en) | Garbage collection schemes for index block | |
KR20210057835A (ko) | 압축한 키-값 저장소 트리 데이터 블록 유출 | |
US10628303B2 (en) | Storage device that maintains a plurality of layers of address mapping | |
JP6034183B2 (ja) | 半導体記憶装置 | |
JP2013137770A (ja) | Lbaビットマップの使用 | |
US20190391756A1 (en) | Data storage device and cache-diversion method thereof | |
US11494115B2 (en) | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) | |
TWI777720B (zh) | 用來藉助於裝置側表資訊而在主機效能增幅器架構中進行記憶裝置的存取管理的方法及設備 | |
JP2007280108A (ja) | 記憶媒体制御装置、記憶媒体制御方法、プログラム | |
JP6258436B2 (ja) | メモリシステムのローカルコントローラ | |
JP5646775B2 (ja) | key−valueストア方式を有するメモリシステム | |
JP5833212B2 (ja) | key−valueストア方式を有するメモリシステム | |
JP6034467B2 (ja) | システム | |
CN108304331B (zh) | 基于NorFlash的环形队列式数据存储方法及装置 | |
Munegowda et al. | Adapting Endurance and Performance Optimization Strategies of ExFAT file system to FAT file system for embedded storage devices | |
KR20190080110A (ko) | 플래시 기반 스토리지에서의 중복 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140623 |
|
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: 20140715 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140811 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5597666 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |