JP6916751B2 - ハイブリッドメモリーモジュール及びその動作方法 - Google Patents
ハイブリッドメモリーモジュール及びその動作方法 Download PDFInfo
- Publication number
- JP6916751B2 JP6916751B2 JP2018023874A JP2018023874A JP6916751B2 JP 6916751 B2 JP6916751 B2 JP 6916751B2 JP 2018023874 A JP2018023874 A JP 2018023874A JP 2018023874 A JP2018023874 A JP 2018023874A JP 6916751 B2 JP6916751 B2 JP 6916751B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- metadata
- dram
- data
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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
- G06F12/0646—Configuration or reconfiguration
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- 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
-
- 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
- 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
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/068—Hybrid storage device
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/221—Static RAM
-
- 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/28—Using a specific disk cache architecture
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
特許文献2:米国特許第9389965号公報
特許文献3:米国特許第8478934号公報
特許文献4:米国特許第9524235号公報
特許文献5:米国公開特許第20160266795号公報
特許文献6:米国公開特許第20130173853号公報
特許文献7:米国公開特許第20160188623号公報
このような数多くの追加特徴及び開示を活用する代表的な例は、添付した図面を参照して、別途にまたは共にさらに詳しく説明する。斯かる詳細な説明は、当業者が本発明の態様を実行するための細部的な内容を開示するためであり、請求範囲を制限するものではない。従って、詳細な説明に開示した特徴の組合せは、最も広い意味での本発明の教示(teaching)の実践に必要ではなく、本発明の教示する所の代表的な例示を説明するために開示する。
他のアクセス方式は、SRAMをメタデータをキャッシュするために使用し、DRAMキャッシュミス(miss)を効果的に取り除くためブルームフィルターを使用してタグ(tag)がマッチする場合のみDRAM検索を遂行するが、ブルームフィルターは誤判定(false positives)を誘発する場合がある。しかし、SRAMでのブルームフィルターの使用はDRAMキャッシュの劣等な性能のため、一般的に非効率的である。
504ステップにおいて、メタデータキャッシュにマッチングするキャッシュラインがなければ、キャッシュ制御器はDRAM制御器に、DRAMキャッシュのメタデータにアクセスして、DRAMキャッシュに要請されたデータのキャッシュされたコピーが存在するかを判定(即ち、真のDRAMキャッシュヒット又はミス)するように要請する。
101、201 DRAMキャッシュ
102、202 メタデータ
103、203 読取りキャッシュ
104、204 書込みバッファ
111、211 メモリーアクセス制御器
121、221 DRAM制御器
124、224 キャッシュ制御器
126、226 SRAM
127、227,327 メタデータキャッシュ
131、231 フラッシュ制御器
140、240 メモリーインターフェース
150、250 フラッシュ流れ
151、251 フラッシュメモリー
221 DRAM制御器
229、401 ブルームフィルターアレイ
240 メモリーインターフェース
301 ホストアドレス
302 タグ
303 インデックス
304 オフセット
311 メタデータアドレス
312 メタデータタグ
313 メタデータインデックス
332 DRAMキャッシュタグ
333 MDCタグ
MDC メタデータ
DRAM ダイナミックランダムアクセスメモリー(dynamic random−access memory)
SRAM スタティックランダムアクセスメモリー(static random−access memory)
Claims (20)
- ハイブリッドメモリーモジュールの動作方法であって、
DRAMキャッシュ(cache)、フラッシュメモリー(flash memory)、ブルームフィルター(bloom Filter)、メタデータキャッシュ(metadata cache)を保存するSRAMを含むハイブリッドメモリーモジュールを提供するステップと、
ここで、前記DRAMキャッシュは、前記フラッシュメモリーに保存された複数のデータのキャッシュされたコピー及び前記複数のデータのキャッシュされたコピーに対応するメタデータを含み、前記メタデータキャッシュは前記DRAMキャッシュに含まれたメタデータの一部のキャッシュされたコピーを含み、
ホストコンピュータから前記ハイブリッドメモリーモジュールに保存されたデータに対するデータアクセス要請を受信するステップと、
前記データアクセス要請を復号化してホストアドレスを獲得するステップと、
ここで、前記ホストアドレスはDRAMキャッシュタグ(tag)及びDRAMキャッシュインデックス(index)を含み、
前記DRAMキャッシュインデックスからメタデータアドレスを獲得するステップと、
ここで、前記メタデータアドレスはメタデータキャッシュタグ及びメタデータキャッシュインデックスを含み、
前記SRAMに保存された前記メタデータキャッシュに存在してマッチングするメタデータキャッシュエントリー(matching metadata cache entry)の存在に基づいて、メタデータキャッシュヒット(hit)を判定するステップと、
ここで、前記マッチングするメタデータキャッシュエントリーは前記メタデータキャッシュタグ及び前記DRAMキャッシュタグをペア(pair)で含み、
前記メタデータキャッシュヒットの場合、前記メタデータキャッシュエントリーの前記DRAMキャッシュタグを使用し、前記DRAMキャッシュに含まれた前記メタデータに対するアクセスを省略して、前記DRAMキャッシュに含まれたデータのキャッシュされたコピーからデータを獲得するステップと、
前記DRAMキャッシュから獲得された前記データのキャッシュされたコピーを前記ホストコンピュータに返還するステップと、
前記SRAMに保存された前記メタデータキャッシュの前記マッチングする前記メタデータキャッシュエントリーが存在しないことに基づいてメタデータキャッシュミスを判定するステップと、
前記メタデータキャッシュミスに基づいて、前記ブルームフィルターによってブルームフィルターテストを遂行し、前記ブルームフィルターテストの結果に基づいてDRAMキャッシュミスまたは潜在的なDRAMキャッシュヒットを判定するステップと、を包含する、ことを特徴とする動作方法。 - 前記メタデータキャッシュヒットを判定するステップは、
前記メタデータキャッシュに存在して前記マッチングする前記メタデータキャッシュエントリーの存在を判定するため、前記メタデータアドレスの前記メタデータキャッシュタグを一つ以上の前記メタデータキャッシュエントリーの前記メタデータキャッシュタグと比較するステップをさらに包含する、ことを特徴とする請求項1に記載の動作方法。 - 前記DRAMキャッシュに含まれた前記メタデータに対するアクセスを省略して、前記DRAMキャッシュミスに基づいて前記フラッシュメモリーに保存された複数のデータからデータを獲得するステップと、
そして前記フラッシュメモリーから獲得された前記データを前記ホストコンピュータに返還するステップと、をさらに包含する、ことを特徴とする請求項1に記載の動作方法。 - 前記メタデータキャッシュタグの比較と前記ブルームフィルターテストは、同時に遂行される、ことを特徴とする請求項1に記載の動作方法。
- 前記メタデータキャッシュミスと前記潜在的なDRAMキャッシュヒットに基づいて、前記DRAMキャッシュに含まれた前記メタデータにアクセスするステップと、
前記ホストアドレスの前記DRAMキャッシュタグと前記DRAMキャッシュに含まれた前記メタデータの比較に基づいて、前記DRAMキャッシュに前記データが保存されたか否かを判定するステップと、
前記ホストアドレスの前記DRAMキャッシュタグにマッチングするエントリーが、前記DRAMキャッシュに含まれた前記メタデータに存在する場合、前記DRAMキャッシュから獲得されたデータのキャッシュされたコピーを前記ホストコンピュータに返還するステップと、
前記ホストアドレスの前記DRAMキャッシュタグにマッチングするエントリーが前記DRAMキャッシュに含まれた前記メタデータに存在しない場合、前記フラッシュメモリーから前記データを獲得し、前記フラッシュメモリーから獲得された前記データを前記ホストコンピュータに返還するステップと、をさらに包含する、ことを特徴とする請求項1に記載の動作方法。 - 前記ブルームフィルターは複数のエントリーを含むブルームフィルターアレイ(array)を含み、
前記ブルームフィルターテストは前記ブルームフィルターアレイにハッシュ関数(hash function)を適用し、肯定結果又は否定結果を提供する、ことを特徴とする請求項1に記載の動作方法。 - 前記ブルームフィルターアレイを削除するか又は前記ブルームフィルターアレイを再設定するステップをさらに包含する、ことを特徴とする請求項6に記載の動作方法。
- 前記メタデータキャッシュヒットの比率が臨界値より高い場合、前記ブルームフィルターを使用しないように前記ハイブリッドメモリーモジュールのキャッシュ制御器をプログラムするステップをさらに包含する、ことを特徴とする請求項1に記載の動作方法。
- 前記ハイブリッドメモリーモジュールはキャッシュ制御器を含み、
前記メタデータキャッシュヒットの比率が臨界値より低い場合、前記メタデータキャッシュを使用しないように前記キャッシュ制御器をプログラムするステップをさらに包含する、ことを特徴とする請求項1に記載の動作方法。 - 低電力の条件で、前記ブルームフィルター及び前記メタデータキャッシュを順次にアクセスするステップをさらに包含する、ことを特徴とする請求項1に記載の動作方法。
- フラッシュメモリーと、
前記フラッシュメモリーに保存された複数のデータのキャッシュされたコピーと前記複数のデータのキャッシュされたコピーに対応するメタデータを含むDRAMキャッシュと、
前記DRAMキャッシュに含まれた前記メタデータの一部のキャッシュされたコピーを含むメタデータキャッシュとブルームフィルターを保存するSRAMと、
ホストコンピュータにインターフェースを提供するメモリーインターフェースと、
前記DRAMキャッシュに含まれたキャッシュされたコピー及び前記フラッシュメモリーに保存された複数のデータにアクセスするメモリーアクセス制御器と、
前記DRAMキャッシュに対するアクセスを制御するDRAM制御器と、
前記フラッシュメモリーに対するアクセスを制御するフラッシュ制御器と、
前記ホストコンピュータから受信したデータアクセス要請で要請されたデータに対応する前記DRAMキャッシュに含まれたキャッシュされたデータの存在を判定するキャッシュ制御器と、を含み、
前記キャッシュ制御器は、
前記メモリーインターフェースを経由して前記ホストコンピュータから受信した前記データアクセスの要請を復号化してホストアドレスを獲得し、前記ホストアドレスはDRAMキャッシュタグ及びDRAMキャッシュインデックスを含み、
前記DRAMキャッシュインデックスからメタデータアドレスを獲得し、前記メタデータアドレスはメタデータキャッシュタグ及びメタデータキャッシュインデックスを含み、
前記SRAMに保存された前記メタデータキャッシュに存在してマッチングするメタデータキャッシュエントリーの存在に基づいて、メタデータキャッシュヒットを判定し、前記マッチングするメタデータキャッシュエントリーは前記メタデータキャッシュタグ及び前記DRAMキャッシュタグのペアを含み、
前記DRAMキャッシュに含まれた前記メタデータに対するアクセスを省略して、前記DRAM制御器に、前記マッチングするメタデータキャッシュエントリーの前記DRAMキャッシュタグを使ってメタデータキャッシュヒットに基づき、前記DRAMキャッシュに含まれたキャッシュされたコピーからデータを獲得するように指示し、
前記メモリーアクセス制御器は前記DRAMキャッシュから獲得された前記データのキャッシュされたコピーを前記ホストコンピュータに返還するように構成され、
前記キャッシュ制御器は、さらに前記SRAMに保存されたメタデータキャッシュの前記マッチングするメタデータキャッシュが存在しないことに基づいてメタデータキャッシュミスを判定し、前記ブルームフィルターによってブルームフィルターテストを行い、前記ブルームフィルターテストの結果に基づいてDRAMキャッシュミス、または潜在的なDRAMキャッシュヒットを判定するよう構成されることを特徴とするハイブリッドメモリーモジュール。 - 前記キャッシュ制御器は、前記メタデータキャッシュに存在して前記マッチングする前記メタデータキャッシュエントリーの前記存在を判定するため、前記メタデータアドレスの前記メタデータキャッシュタグと一つ以上の前記メタデータキャッシュエントリーの前記メタデータキャッシュタグを比較するように、さらに構成される、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記キャッシュ制御器は、
前記DRAMキャッシュミスの場合、前記DRAMキャッシュに含まれたメタデータに対するアクセスを省略し、前記フラッシュ制御器に前記フラッシュメモリーに保存された前記複数のデータから前記データを獲得するように指示し、
前記メモリーアクセス制御器は前記フラッシュメモリーから獲得された前記データを前記ホストコンピュータに返還するように、さらに構成される、ことを特徴とする請求項12に記載のハイブリッドメモリーモジュール。 - 前記キャッシュ制御器は、前記メタデータキャッシュタグの比較と前記ブルームフィルターテストを同時に遂行する、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記メタデータキャッシュミスと前記潜在的なDRAMキャッシュヒットに基づいて、
前記DRAM制御器は、
前記DRAMキャッシュの前記メタデータにアクセスし、
前記ホストアドレスの前記DRAMキャッシュタグと前記DRAMキャッシュに保存された前記メタデータの比較に基づいて、前記DRAMキャッシュに前記データが保存されたか否かを判定するように構成され、
前記ホストアドレスの前記DRAMキャッシュタグにマッチングするエントリーが、前記DRAMキャッシュに含まれた前記メタデータに存在する場合、前記DRAM制御器は前記DRAMキャッシュに含まれた前記キャッシュデータを獲得するように構成され、前記メモリーアクセス制御器は前記DRAMキャッシュから獲得された前記データのキャッシュされたコピーを前記ホストコンピュータに返還するように構成され、
前記ホストアドレスの前記DRAMキャッシュタグにマッチングするエントリーが、前記DRAMキャッシュに含まれた前記メタデータに存在しない場合、前記フラッシュ制御器は前記フラッシュメモリーから前記データを獲得するように構成され、前記メモリーアクセス制御器は前記フラッシュメモリーから獲得された前記データを前記ホストコンピュータに返還するように構成される、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記ブルームフィルターは複数のエントリーを含むブルームフィルターアレイを含み、前記ブルームフィルターテストは前記ブルームフィルターアレイにハッシュ関数を適用し、肯定結果又は否定結果を提供する、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記キャッシュ制御器は、前記ブルームフィルターアレイを削除するか又は前記ブルームフィルターアレイを再設定するように、さらに構成される、ことを特徴とする請求項16に記載のハイブリッドメモリーモジュール。
- 前記キャッシュ制御器は、前記メタデータキャッシュヒットの比率が臨界値より高い場合、前記ブルームフィルターを使用しないようにプログラムされる、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記キャッシュ制御器は、前記メタデータキャッシュヒットの比率が臨界値より低い場合、前記メタデータキャッシュを使用しないようにプログラムされる、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
- 前記キャッシュ制御器は、低電力の条件で、前記ブルームフィルターと前記メタデータキャッシュに順次にアクセスするように構成される、ことを特徴とする請求項11に記載のハイブリッドメモリーモジュール。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762459414P | 2017-02-15 | 2017-02-15 | |
US62/459414 | 2017-02-15 | ||
US15/587286 | 2017-05-04 | ||
US15/587,286 US10282294B2 (en) | 2017-02-15 | 2017-05-04 | Mitigating DRAM cache metadata access overhead with SRAM metadata cache and bloom filter |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018133086A JP2018133086A (ja) | 2018-08-23 |
JP2018133086A5 JP2018133086A5 (ja) | 2021-04-01 |
JP6916751B2 true JP6916751B2 (ja) | 2021-08-11 |
Family
ID=63106399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018023874A Active JP6916751B2 (ja) | 2017-02-15 | 2018-02-14 | ハイブリッドメモリーモジュール及びその動作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10282294B2 (ja) |
JP (1) | JP6916751B2 (ja) |
KR (1) | KR102231792B1 (ja) |
CN (1) | CN108427647B (ja) |
TW (1) | TWI744457B (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
US10402337B2 (en) * | 2017-08-03 | 2019-09-03 | Micron Technology, Inc. | Cache filter |
US11169920B2 (en) | 2018-09-17 | 2021-11-09 | Micron Technology, Inc. | Cache operations in a hybrid dual in-line memory module |
US10761986B2 (en) * | 2018-10-23 | 2020-09-01 | Advanced Micro Devices, Inc. | Redirecting data to improve page locality in a scalable data fabric |
US20220012329A1 (en) * | 2018-11-12 | 2022-01-13 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
TWI688859B (zh) | 2018-12-19 | 2020-03-21 | 財團法人工業技術研究院 | 記憶體控制器與記憶體頁面管理方法 |
CN109800185B (zh) * | 2018-12-29 | 2023-10-20 | 上海霄云信息科技有限公司 | 一种数据存储系统中的数据缓存方法 |
KR20200092710A (ko) * | 2019-01-25 | 2020-08-04 | 주식회사 리얼타임테크 | 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치 |
US10853165B2 (en) * | 2019-02-21 | 2020-12-01 | Arm Limited | Fault resilient apparatus and method |
US11061670B2 (en) * | 2019-03-05 | 2021-07-13 | Marvell Asia Pte, Ltd. | Dual-interface flash memory controller with execute-in-place cache control |
US11537521B2 (en) | 2019-06-05 | 2022-12-27 | Samsung Electronics Co., Ltd. | Non-volatile dual inline memory module (NVDIMM) for supporting dram cache mode and operation method of NVDIMM |
CN110688062B (zh) * | 2019-08-26 | 2021-03-30 | 华为技术有限公司 | 一种缓存空间的管理方法及装置 |
EP3812892B1 (en) | 2019-10-21 | 2022-12-07 | ARM Limited | Apparatus and method for handling memory load requests |
TWI739227B (zh) * | 2019-12-03 | 2021-09-11 | 智成電子股份有限公司 | 避免多餘記憶體存取的系統單晶片模組 |
GB2594732B (en) * | 2020-05-06 | 2022-06-01 | Advanced Risc Mach Ltd | Adaptive load coalescing |
CN113934361B (zh) * | 2020-06-29 | 2024-05-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN112084216B (zh) * | 2020-09-16 | 2021-05-11 | 上海嗨普智能信息科技股份有限公司 | 基于布隆过滤器的数据查询系统 |
US11914517B2 (en) | 2020-09-25 | 2024-02-27 | Advanced Micro Devices, Inc. | Method and apparatus for monitoring memory access traffic |
CN114095585B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
US11886291B1 (en) * | 2022-07-21 | 2024-01-30 | Dell Products L.P. | Providing cache line metadata over multiple cache lines |
US20240054072A1 (en) * | 2022-08-10 | 2024-02-15 | Astera Labs, Inc. | Metadata-caching integrated circuit device |
CN116303126B (zh) * | 2023-03-22 | 2023-09-01 | 摩尔线程智能科技(北京)有限责任公司 | 缓存、数据的处理方法及电子设备 |
CN117217977A (zh) * | 2023-05-26 | 2023-12-12 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的数据访问处理方法、装置及存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920477B2 (en) * | 2001-04-06 | 2005-07-19 | President And Fellows Of Harvard College | Distributed, compressed Bloom filter Web cache server |
US20080155229A1 (en) * | 2006-12-21 | 2008-06-26 | Kevin Scott Beyer | System and method for generating a cache-aware bloom filter |
US20110276744A1 (en) | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
US8478934B2 (en) | 2010-07-19 | 2013-07-02 | Lsi Corporation | Managing extended RAID caches using counting bloom filters |
US20130173853A1 (en) | 2011-09-26 | 2013-07-04 | Nec Laboratories America, Inc. | Memory-efficient caching methods and systems |
US8868843B2 (en) | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
US9268705B2 (en) * | 2012-02-23 | 2016-02-23 | Marvell International Ltd. | Data storage device and method of managing a cache in a data storage device |
US9389965B1 (en) | 2012-03-12 | 2016-07-12 | Emc Corporation | System and method for improving performance of backup storage system with future access prediction |
US10474584B2 (en) * | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
US9032152B2 (en) * | 2013-03-22 | 2015-05-12 | Applied Micro Circuits Corporation | Cache miss detection filter |
US9552301B2 (en) * | 2013-07-15 | 2017-01-24 | Advanced Micro Devices, Inc. | Method and apparatus related to cache memory |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9396112B2 (en) * | 2013-08-26 | 2016-07-19 | Advanced Micro Devices, Inc. | Hierarchical write-combining cache coherence |
CN104035887B (zh) * | 2014-05-22 | 2017-10-31 | 中国科学院计算技术研究所 | 一种基于精简配置系统的块设备缓存装置及其方法 |
CN104090852B (zh) * | 2014-07-03 | 2017-04-05 | 华为技术有限公司 | 管理混合缓存的方法及设备 |
US10268584B2 (en) * | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
CA2876466C (en) | 2014-12-29 | 2022-07-05 | Ibm Canada Limited - Ibm Canada Limitee | Scan optimization using bloom filter synopsis |
KR102403202B1 (ko) | 2015-03-13 | 2022-05-30 | 삼성전자주식회사 | 메타 데이터 관리자를 포함하는 메모리 시스템 및 동작 방법 |
CN104809179B (zh) * | 2015-04-16 | 2018-10-02 | 华为技术有限公司 | 访问哈希表的装置和方法 |
-
2017
- 2017-05-04 US US15/587,286 patent/US10282294B2/en active Active
- 2017-09-19 KR KR1020170120595A patent/KR102231792B1/ko active IP Right Grant
- 2017-11-16 CN CN201711136385.4A patent/CN108427647B/zh active Active
-
2018
- 2018-01-08 TW TW107100584A patent/TWI744457B/zh active
- 2018-02-14 JP JP2018023874A patent/JP6916751B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI744457B (zh) | 2021-11-01 |
KR20180094469A (ko) | 2018-08-23 |
TW201832086A (zh) | 2018-09-01 |
CN108427647A (zh) | 2018-08-21 |
CN108427647B (zh) | 2023-08-08 |
KR102231792B1 (ko) | 2021-03-25 |
JP2018133086A (ja) | 2018-08-23 |
US20180232310A1 (en) | 2018-08-16 |
US10282294B2 (en) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6916751B2 (ja) | ハイブリッドメモリーモジュール及びその動作方法 | |
US8370575B2 (en) | Optimized software cache lookup for SIMD architectures | |
US7426626B2 (en) | TLB lock indicator | |
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US6584549B2 (en) | System and method for prefetching data into a cache based on miss distance | |
US8566607B2 (en) | Cryptography methods and apparatus used with a processor | |
US8185692B2 (en) | Unified cache structure that facilitates accessing translation table entries | |
US8402248B2 (en) | Explicitly regioned memory organization in a network element | |
US7472253B1 (en) | System and method for managing table lookaside buffer performance | |
JP2018133086A5 (ja) | ||
JP2018163659A (ja) | 逆キャッシュテーブルを用いるハードウェアベースのマップアクセラレーション | |
US8583874B2 (en) | Method and apparatus for caching prefetched data | |
US20140143499A1 (en) | Methods and apparatus for data cache way prediction based on classification as stack data | |
JP2019096309A (ja) | メンテナンス動作の実行 | |
KR101109210B1 (ko) | 데이터 액세스 위반을 검출하기 위한 방법 및 장치 | |
US7549035B1 (en) | System and method for reference and modification tracking | |
US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
US6810473B2 (en) | Replacement algorithm for a replicated fully associative translation look-aside buffer | |
JP2006018841A (ja) | さまざまなメモリラインサイズに適応的に対応可能なキャッシュメモリシステムおよび方法 | |
US20220398198A1 (en) | Tags and data for caches | |
JP2016057763A (ja) | キャッシュ装置、及びプロセッサ | |
JP2007286990A (ja) | キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム | |
US7664919B2 (en) | Cache system | |
US11500638B1 (en) | Hardware compression and decompression engine | |
US7546439B1 (en) | System and method for managing copy-on-write faults and change-protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210209 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210209 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210209 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210701 |
|
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: 20210713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210716 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6916751 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |