JP2018163659A - 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション - Google Patents
逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション Download PDFInfo
- Publication number
- JP2018163659A JP2018163659A JP2018056219A JP2018056219A JP2018163659A JP 2018163659 A JP2018163659 A JP 2018163659A JP 2018056219 A JP2018056219 A JP 2018056219A JP 2018056219 A JP2018056219 A JP 2018056219A JP 2018163659 A JP2018163659 A JP 2018163659A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- map
- map page
- stored
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Memory System Of A Hierarchy Structure (AREA)
- Computer Security & Cryptography (AREA)
Abstract
Description
本出願は、米国特許法第119条(e)の定めにより、米国仮出願第62/476,178号、出願日2017年3月24日について国内優先権を主張し、その内容は参照によってここで組み込まれる。
本開示内容は、一般にデータストレージに関し、より詳細には、ハードウェア回路を用いてデータ・ストレージ・デバイス内のマップデータを管理し、プログラム可能なプロセッサからキャッシュ管理タスクをオフロードする方法及び装置に関する。
Claims (20)
- 装置であって、
複数のマップページとして不揮発性メモリ(NVM)に格納され、ユーザ・データ・ブロックの論理アドレスを、前記ユーザブロックが格納される前記NVM内の物理アドレスと関連付けるマップ構造と、
前記NVMに格納された前記マップページの第一サブセットのコピーを格納する第一キャッシュと、
前記NVMに格納された前記マップページの第一サブセットのコピー、並びに前記マップページの第二サブセットのコピーを格納する第二キャッシュと、
関連のメモリに格納されたプログラミングを有し、実行されたとき、検索コマンドを発行し、受け取ったホストコマンドに関連してリクエスト済みマップページを位置確認し、前記第一キャッシュに配置するプログラム可能なプロセッサと、
プログラム不可能なハードウェア回路を備え、前記ハードウェア回路は、前記検索コマンドに応じて、前記NVMから前記リクエスト済みマップページの取得を導き、メモリ内の逆テーブルにアクセスし、前記第二キャッシュ内の所定の物理アドレスに格納された可能な置換マップページを識別し、前記可能な置換マップページは、前記第一キャッシュの前記マップページの第一サブセット内にはないという、前記ハードウェア回路による決定に応じて、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導くように構成される、装置。 - メモリ内のデータ構造として前記第二キャッシュ内に物理アドレスの先入れ先出し(FIFO)リストを更に備え、前記プログラム不可能なハードウェア回路は、前記所定の物理アドレスとして前記FIFOリストから第一物理アドレスを選択し、前記逆テーブルにインデックスを付け、前記第一物理アドレスに格納された第一マップページとして前記可能な置換マップページを識別し、前記第一キャッシュを検索し、前記第一マップページが前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバではないことを決定するように更に構成される、請求項1に記載の装置。
- 前記可能な置換マップページが、前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバであるという前記プログラム不可能なハードウェア回路による決定に応じて、前記プログラム不可能なハードウェア回路は、前記所定の物理アドレスとして前記FIFOリストから第二物理アドレスを選択し、前記逆テーブルにインデックスを付け、前記第二物理アドレスに格納された第二マップページとして前記可能な置換マップページを識別し、前記第一キャッシュを検索し、前記第二マップページが前記第一キャッシュに格納されたマップページの前記第一サブセットのメンバではないことを決定するように更に構成される、請求項2に記載の装置。
- 前記プログラム不可能なハードウェア回路は、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを実行することによって、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導く、請求項1に記載の装置。
- 前記プログラム不可能なハードウェア回路は、前記プログラム可能なプロセッサに前記所定の物理アドレスの通知を提供し、続いて、前記プログラム可能なプロセッサによって前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みによって、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページのコピーの書込みを導く、請求項1に記載の装置。
- 前記逆テーブルは、前記第二キャッシュ内の物理アドレスによって論理アドレスを関係付ける変換テーブルであり、前記第二キャッシュの所定の物理アドレスを前記逆テーブルに入力することによって、前記逆テーブルは、その所定の物理アドレスに格納された対応する前記マップページを指示する、請求項1に記載の装置。
- 前記プログラム不可能なハードウェア回路は、変換テーブルとして配置されたデータ構造として格納されたメモリ内の順テーブルを検索するように更に構成され、前記変換テーブルは、前記第二キャッシュ内の物理アドレスを前記マップページに関連した論理アドレスに関連付け、前記順テーブルに所定の論理アドレスを入力することによって、前記順テーブルは、前記所定の論理アドレスに関連した前記マップページが格納される前記第二キャッシュ内の対応する前記所定の物理アドレスを指示する、請求項1に記載の装置。
- 前記プログラム不可能なハードウェア回路は、前記第一キャッシュを検索し、前記検索コマンドに応じて、及び前記第一キャッシュ上でのキャッシュヒットに応じて、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを前記プログラム可能なプロセッサに通知するように更に構成される、請求項1に記載の装置。
- 前記プログラム可能なプロセッサは、前記プログラム不可能なハードウェア回路に対して、前記検索コマンドと共に前記第一キャッシュ内の第二の可能な置換マップページを識別するように更に構成され、前記プログラム不可能なハードウェア回路は、前記第一キャッシュ内の前記第二の可能な置換マップページを前記リクエスト済みマップページで上書きするように更に構成される、請求項1に記載の装置。
- 前記プログラム可能なプロセッサは、データ・ストレージ・デバイス用の全体の処理制御を提供するプログラム可能なコアプロセッサであり、前記装置は、関連のメモリに格納されたプログラミングを有するプログラム可能なバック・エンド・プロセッサを更に備え、プログラミング及び読込み動作を導き、前記NVMとバッファメモリの間でデータを転送するように構成され、前記プログラム不可能なハードウェア回路は、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記プログラム可能なバック・エンド・プロセッサに読込みリクエストを発行し、前記NVMから前記リクエスト済みマップページを取得するように更に構成される、請求項1に記載の装置。
- 前記第二キャッシュ内の前記リクエスト済みマップページの位置において、前記リクエスト済みマップページが前記第二キャッシュ内にあることを示す順テーブルに応じて、前記プログラム不可能なハードウェア回路は、前記第二キャッシュから前記第一キャッシュへの前記リクエスト済みマップページのコピーの少なくとも所定の一つを実行するか、又は前記第二キャッシュ内の前記リクエスト済みマップページの物理的位置を識別するポインタを前記プログラム可能メモリに提供するように更に構成される、請求項1に記載の装置。
- データ・ストレージ・デバイスであって、
マップページの総数として配置されるマップ構造を格納し、ユーザ・データ・ブロックの論理アドレスを、前記ユーザ・データ・ブロックが格納される前記NVMの物理アドレスに関連付ける不揮発性メモリ(NVM)と、
前記総数より少ない第一の数の前記マップページを格納する第一キャッシュと、
前記総数より少ない第二の数のマップページを格納し、前記第二の数のマップページは前記第一の数のマップページの各々を含む、第二キャッシュと、
メモリ内のデータ構造として格納され、前記第二キャッシュに格納された前記第二の数のマップページの各々に関連した論理アドレスを識別する順テーブルと、
メモリ内のデータ構造として格納され、前記第二の数のマップページが各々格納される前記第二キャッシュメモリの物理アドレスを識別する逆テーブルと、
関連のメモリに格納されたプログラミングを有し、検索コマンドを発行し、ホストからのホスト・アクセス・コマンドの受取りに応じて、リクエスト済みマップページを検索するように構成されるプログラム可能なプロセッサと、
非プロセッサベースのマップハードウェア支援管理回路として特徴付けられ、次のように構成されるハードウェア回路を備え、
前記検索コマンドに応じて、前記第一キャッシュを検索し、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを前記プログラム可能なプロセッサに通知し、
前記第一キャッシュ上でのキャッシュミスに応じて、前記順テーブルを検索し、前記順テーブルに応じて前記第二キャッシュから前記第一キャッシュに前記リクエスト済みマップページをコピーし、前記リクエスト済みマップページが前記第二キャッシュ内にあることを指示し、
前記第二キャッシュ上でのキャッシュミスに応じて、前記逆テーブルを検索し、前記所定の物理アドレスに格納された第二マップページを識別し、前記第一キャッシュを検索し、前記第二マップページが前記第一キャッシュに格納されていないことを決定し、前記プログラム可能なプロセッサに対して、前記第二キャッシュからの退避用の候補として前記可能な置換マップページを識別する、データ・ストレージ・デバイス。 - 前記プログラム可能なプロセッサは、前記プログラム不可能なハードウェア回路に対して、前記検索コマンドと共に前記第一キャッシュ内の可能な置換マップページを識別するように更に構成され、前記ハードウェア回路は、前記第一キャッシュ内の前記可能な置換マップページを前記リクエスト済みマップページで上書きするように更に構成される、請求項12に記載のデータ・ストレージ・デバイス。
- 前記プログラム可能なプロセッサは、データ・ストレージ・デバイス用の全体の処理制御を提供するプログラム可能なコアプロセッサであり、前記データ・ストレージ・デバイスは、関連のメモリに格納されたプログラミングを有し、プログラミング及び読込み動作を導き、前記主メモリとバッファメモリの間でデータを転送するように構成されるプログラム可能なバック・エンド・プロセッサを更に備え、前記ハードウェア回路は、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記マップ構造にアクセスし、前記リクエスト済みマップページが配置される前記主メモリ内の主メモリ物理アドレスを識別し、前記プログラム可能なバック・エンド・プロセッサへの読込みリクエストと共に、前記バック・エンド・プロセッサに前記主メモリ物理アドレスを供給し、前記主メモリから前記リクエスト済みマップページを取得するように更に構成される、請求項12に記載のデータ・ストレージ・デバイス。
- 前記ハードウェア回路によってアクセスされるローカルメモリ内のデータ構造として先入れ先出し(FIFO)リストを更に備え、前記逆テーブルへの入力として前記第二キャッシュ内の前記所定の物理アドレスを識別し、前記FIFOリストは最長未使用時間(LRU)ベースで前記第二キャッシュ内の位置を配置する、請求項12に記載のデータ・ストレージ・デバイス。
- 前記マップ構造は、第一レベルマップと第二レベルマップを含むマルチレベルマップを備え、前記第二レベルマップは前記主メモリに格納され、前記リクエスト済みマップページを含む複数のマップページを備え、前記第一レベルマップは、前記複数のマップページが前記主メモリに格納される物理アドレスを識別するエントリを備え、前記第二レベルマップの第一の数のマップページは前記第一キャッシュに格納され、前記第二レベルの第二のより大きな数のマップページは前記第二キャッシュに格納され、前記第一キャッシュに格納される各マップページも、前記第二キャッシュに格納される、請求項12に記載のデータ・ストレージ・デバイス。
- ソリッド・ステート・ドライブ(SSD)として特徴付けられ、前記主メモリはフラッシュメモリアレイを備える、請求項12に記載のデータ・ストレージ・デバイス。
- 方法であって、
関連のメモリに格納されたプログラミングを有するプログラム可能なプロセッサによって検索コマンドを発行し、マップ構造のリクエスト済みマップページを位置確認し、第一キャッシュに配置し、受け取ったホストコマンドにサービスを提供し、前記リクエスト済みマップページは、ユーザ・データ・ブロックの論理アドレスを、前記ユーザ・データ・ブロックが格納される不揮発性メモリ(NVM)内の物理アドレスと関連付けることと、
プログラム不可能なハードウェア回路を用いて、
順テーブルを検索し、前記順テーブルに応じて、第二キャッシュから前記第一キャッシュに前記リクエスト済みマップページをコピーし、前記リクエスト済みマップページは前記第二キャッシュ内にあることを示し、前記第一キャッシュ上でのキャッシュミスに応じて、前記順テーブルはメモリ内のデータ構造として格納され、前記第二キャッシュに格納された前記マップ構造の複数のマップページの各々に関連した論理アドレスを識別し、
前記第二キャッシュ内の所定の物理アドレスを識別し、逆テーブルを検索し、前記所定の物理アドレスに格納された可能な置換マップページを識別し、前記第一キャッシュを検索し、前記可能な置換マップページが前記第一キャッシュに格納されていないことを決定し、前記第二キャッシュ内の前記所定の物理アドレスへの前記リクエスト済みマップページの上書きを導くことを備える、方法。 - 前記プログラム不可能なハードウェア回路を用いて、前記第一キャッシュを検索し、検索コマンドに応じて及び前記第一キャッシュ上でのキャッシュヒットに応じて、前記リクエスト済みマップページが格納される前記第一キャッシュの物理アドレスを、前記プログラム可能なプロセッサに通知することを更に備える、請求項18に記載の方法。
- 前記プログラム不可能なハードウェア回路を動作させ、前記リクエスト済みマップページ用の前記第二キャッシュ上でのキャッシュミスに応じて、前記マップ構造にアクセスし、前記リクエスト済みマップページが配置される前記NVM内の物理アドレスを識別し、バック・エンド・プロセッサへの読込みリクエストと共に前記物理アドレスを供給し、前記NVMから前記リクエスト済みマップページを取得し、前記バック・エンド・プロセッサは、メモリに格納された関連のプログラミングを有するプログラム可能な第二プロセッサを備え、前記NVMとデータのプログラム及び書込みを行うことを更に備える、請求項18に記載の方法。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762476178P | 2017-03-24 | 2017-03-24 | |
| US62/476,178 | 2017-03-24 | ||
| US15/605,442 US10126964B2 (en) | 2017-03-24 | 2017-05-25 | Hardware based map acceleration using forward and reverse cache tables |
| US15/605,442 | 2017-05-25 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2018163659A true JP2018163659A (ja) | 2018-10-18 |
| JP2018163659A5 JP2018163659A5 (ja) | 2021-01-28 |
| JP7046669B2 JP7046669B2 (ja) | 2022-04-04 |
Family
ID=63581054
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018056219A Active JP7046669B2 (ja) | 2017-03-24 | 2018-03-23 | 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10126964B2 (ja) |
| JP (1) | JP7046669B2 (ja) |
| KR (1) | KR20180108513A (ja) |
| CN (1) | CN108628772A (ja) |
| TW (1) | TWI673608B (ja) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10229052B2 (en) * | 2017-05-31 | 2019-03-12 | Seagate Technology Llc | Reverse map logging in physical media |
| US11138069B2 (en) | 2018-06-11 | 2021-10-05 | Seagate Technology, Llc | Providing additional parity for non-standard sized parity data sets |
| US10896002B2 (en) | 2018-06-29 | 2021-01-19 | Seagate Technology Llc | Reverse directory structure in a garbage collection unit (GCU) |
| KR102686749B1 (ko) * | 2018-11-14 | 2024-07-22 | 삼성전자주식회사 | 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치 |
| CN109684238A (zh) * | 2018-12-19 | 2019-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘 |
| CN111475429B (zh) * | 2019-01-24 | 2023-08-29 | 爱思开海力士有限公司 | 存储器访问方法 |
| KR102818164B1 (ko) * | 2019-04-01 | 2025-06-10 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
| CN112835820B (zh) * | 2019-11-22 | 2025-09-30 | 北京忆芯科技有限公司 | 快速访问hmb的方法与存储设备 |
| US11016889B1 (en) | 2019-12-13 | 2021-05-25 | Seagate Technology Llc | Storage device with enhanced time to ready performance |
| CN111190835B (zh) * | 2019-12-29 | 2022-06-10 | 北京浪潮数据技术有限公司 | 一种数据写入方法、装置、设备及介质 |
| KR102901778B1 (ko) | 2020-03-25 | 2025-12-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
| US11726921B2 (en) | 2020-05-21 | 2023-08-15 | Seagate Technology Llc | Combined page footer for parallel metadata storage |
| US11392304B2 (en) | 2020-05-29 | 2022-07-19 | Seagate Technology Llc | Data storage device with adaptive object storage capabilities |
| CN111966298B (zh) * | 2020-08-24 | 2021-07-27 | 深圳三地一芯电子有限责任公司 | 一种基于Flash存储器的倒序编程实现方法及装置 |
| US11392499B2 (en) | 2020-09-18 | 2022-07-19 | Kioxia Corporation | Dynamic buffer caching of storage devices |
| KR20220082509A (ko) * | 2020-12-10 | 2022-06-17 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
| JP2022144314A (ja) * | 2021-03-18 | 2022-10-03 | キオクシア株式会社 | メモリシステム及びストレージ装置 |
| TWI771079B (zh) * | 2021-06-24 | 2022-07-11 | 群聯電子股份有限公司 | 記憶體存取方法、記憶體儲存裝置及記憶體控制電路單元 |
| US11966336B2 (en) * | 2021-11-08 | 2024-04-23 | Sap Se | Caching data based on greenhouse gas data |
| US11669449B1 (en) | 2021-11-30 | 2023-06-06 | Dell Products L.P. | Ghost list cache eviction |
| CN114415966B (zh) * | 2022-01-25 | 2022-08-12 | 武汉麓谷科技有限公司 | 一种kv ssd存储引擎的构建方法 |
| US12105626B2 (en) | 2022-02-09 | 2024-10-01 | Dell Products L.P. | Method for optimized cache insertion |
| US12105627B2 (en) | 2022-02-09 | 2024-10-01 | Dell Products L.P. | Methods for cache insertion using ghost lists |
| US12169456B2 (en) | 2022-04-13 | 2024-12-17 | Dell Products L.P. | Methods for cache insertion and cache eviction using ghost list in a cache system that includes a reverse cache and a main cache |
| US12105639B2 (en) | 2022-05-17 | 2024-10-01 | Dell Products L.P. | Methods for cache insertion and cache eviction in a cache system that includes a reverse cache and a main cache |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03142644A (ja) * | 1989-10-30 | 1991-06-18 | Hitachi Ltd | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 |
| JP2012174086A (ja) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | 記憶装置およびそれを搭載した計算機 |
| US20170068621A1 (en) * | 2015-09-04 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system and information processing system |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5933857A (en) * | 1997-04-25 | 1999-08-03 | Hewlett-Packard Co. | Accessing multiple independent microkernels existing in a globally shared memory system |
| US6804741B2 (en) | 2002-01-16 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Coherent memory mapping tables for host I/O bridge |
| US7010645B2 (en) * | 2002-12-27 | 2006-03-07 | International Business Machines Corporation | System and method for sequentially staging received data to a write cache in advance of storing the received data |
| US8533401B2 (en) | 2002-12-30 | 2013-09-10 | Intel Corporation | Implementing direct access caches in coherent multiprocessors |
| US7613876B2 (en) * | 2006-06-08 | 2009-11-03 | Bitmicro Networks, Inc. | Hybrid multi-tiered caching storage system |
| US7844778B2 (en) | 2006-07-11 | 2010-11-30 | International Business Machines Corporation | Intelligent cache replacement mechanism with varying and adaptive temporal residency requirements |
| US8799586B2 (en) * | 2009-09-30 | 2014-08-05 | Intel Corporation | Memory mirroring and migration at home agent |
| WO2011044154A1 (en) * | 2009-10-05 | 2011-04-14 | Marvell Semiconductor, Inc. | Data caching in non-volatile memory |
| US8495299B2 (en) | 2009-11-16 | 2013-07-23 | Microsoft Corporation | Non-blocking data transfer via memory cache manipulation |
| JP2012141946A (ja) * | 2010-12-16 | 2012-07-26 | Toshiba Corp | 半導体記憶装置 |
| US9218281B2 (en) | 2012-05-04 | 2015-12-22 | Seagate Technology Llc | Maintaining ordering via a multi-level map of a solid-state media |
| US9250901B2 (en) | 2013-03-12 | 2016-02-02 | Intel Corporation | Execution context swap between heterogeneous functional hardware units |
| WO2014209984A1 (en) * | 2013-06-25 | 2014-12-31 | Marvell World Trade Ltd. | Adaptive cache memory controller |
| US9405672B2 (en) | 2013-06-25 | 2016-08-02 | Seagate Technology Llc | Map recycling acceleration |
| US10282138B2 (en) * | 2016-09-27 | 2019-05-07 | International Business Machines Corporation | Secondary read cache optimization in data replication environments |
-
2017
- 2017-05-25 US US15/605,442 patent/US10126964B2/en active Active
-
2018
- 2018-03-23 JP JP2018056219A patent/JP7046669B2/ja active Active
- 2018-03-26 KR KR1020180034514A patent/KR20180108513A/ko not_active Ceased
- 2018-03-26 TW TW107110184A patent/TWI673608B/zh not_active IP Right Cessation
- 2018-03-26 CN CN201810255148.8A patent/CN108628772A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03142644A (ja) * | 1989-10-30 | 1991-06-18 | Hitachi Ltd | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 |
| JP2012174086A (ja) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | 記憶装置およびそれを搭載した計算機 |
| US20170068621A1 (en) * | 2015-09-04 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system and information processing system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7046669B2 (ja) | 2022-04-04 |
| TWI673608B (zh) | 2019-10-01 |
| KR20180108513A (ko) | 2018-10-04 |
| CN108628772A (zh) | 2018-10-09 |
| TW201903614A (zh) | 2019-01-16 |
| US10126964B2 (en) | 2018-11-13 |
| US20180275899A1 (en) | 2018-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7046669B2 (ja) | 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション | |
| US10922235B2 (en) | Method and system for address table eviction management | |
| US20230409473A1 (en) | Namespace change propagation in non-volatile memory devices | |
| US11347428B2 (en) | Solid state tier optimization using a content addressable caching layer | |
| US9256527B2 (en) | Logical to physical address mapping in storage systems comprising solid state memory devices | |
| US9104327B2 (en) | Fast translation indicator to reduce secondary address table checks in a memory device | |
| US8966155B1 (en) | System and method for implementing a high performance data storage system | |
| US10152428B1 (en) | Virtual memory service levels | |
| US9280478B2 (en) | Cache rebuilds based on tracking data for cache entries | |
| US9489239B2 (en) | Systems and methods to manage tiered cache data storage | |
| US9063862B2 (en) | Expandable data cache | |
| US9639481B2 (en) | Systems and methods to manage cache data storage in working memory of computing system | |
| US20190087323A1 (en) | Memory system and method for controlling nonvolatile memory | |
| KR20120120186A (ko) | 캐시 아키텍처에서 하이브리드 미디어의 효율적인 사용 | |
| CN117369715B (zh) | 基于存储设备中的引用更新使用回收单元的系统、方法和设备 | |
| CN113254363B (zh) | 具有部分逻辑到物理地址转换表的非易失性存储控制器 | |
| US10152236B2 (en) | Hybrid data storage device with partitioned local memory | |
| US7877547B2 (en) | Method, system and circuit for efficiently managing a cache storage device | |
| US9454488B2 (en) | Systems and methods to manage cache data storage | |
| KR20240173164A (ko) | 스토리지 장치에서 캐시 동작을 위한 시스템, 방법 및 장치 | |
| JP6640940B2 (ja) | メモリシステムの制御方法 | |
| US20240402924A1 (en) | Systems, methods, and apparatus for cache configuration based on storage placement | |
| CN117369718A (zh) | 在存储装置中形成和选择回收单元的系统、方法和装置 | |
| JP2022143762A (ja) | メモリシステム、制御方法およびメモリコントローラ | |
| JP2014170325A (ja) | ストレージ装置と方法並びにプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201208 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201208 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211216 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220203 |
|
| 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: 20220301 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220323 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7046669 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |