JP7140972B2 - 演算処理装置、情報処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置、情報処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7140972B2 JP7140972B2 JP2018239503A JP2018239503A JP7140972B2 JP 7140972 B2 JP7140972 B2 JP 7140972B2 JP 2018239503 A JP2018239503 A JP 2018239503A JP 2018239503 A JP2018239503 A JP 2018239503A JP 7140972 B2 JP7140972 B2 JP 7140972B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- address
- request
- memory
- memory module
- 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
- 230000010365 information processing Effects 0.000 title claims description 5
- 238000000034 method Methods 0.000 title claims description 5
- 230000015654 memory Effects 0.000 claims description 336
- 230000004044 response Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 33
- 230000000052 comparative effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
-
- 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
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main 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/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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/313—In 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
第1のレイテンシで読み出し可能で第1の容量を有する揮発性メモリと、前記第1のレイテンシより長い第2のレイテンシで読み出し可能で前記第1の容量より大きい第2の容量を有する不揮発性メモリとを有し、前記揮発性メモリが前記不揮発性メモリのキャッシュとして動作するメモリモジュールに対し、前記演算部からの読み出し要求に対応するアクセス制御を行うメモリアクセス制御部とを有し、
前記メモリアクセス制御部は、
前記演算部からの読み出し要求の要求アドレスを含む所定単位アドレス(ページアドレス)が登録される複数のエントリを有するアドレステーブルを有し、
前記読み出し要求に応答して、前記要求アドレスが前記アドレステーブルに記憶されたいずれかの前記所定単位アドレスに含まれる第1のケースの場合、投機読み出しを前記メモリモジュールに発行し、前記要求アドレスが前記アドレステーブルに登録されたいずれの前記所定単位アドレスにも含まれない第2のケースの場合、通常読み出しを前記メモリモジュールに発行し、
前記通常読み出しを発行した場合、前記メモリモジュールからの読み出しレディー信号に応答して送信要求信号を返信し、前記送信要求信号の返信から第1の所定時間後に読み出しデータを受信し、
前記投機読み出しを発行した場合、前記メモリモジュールからヒットフラグと読み出しデータを受信すると前記読み出しデータを取得し、ミスフラグと読み出しデータを受信すると前記読み出しデータを取得せず、
前記第2のケースの場合、前記アドレステーブル内のいずれかの登録中の所定単位アドレスを、前記要求アドレスを含む所定単位アドレスに置き換える、演算処理装置である。
図1は、本実施の形態における演算処理装置と不揮発性メモリモジュールの構成例を示す図である。情報処理装置1は、演算処理装置(プロセッサまたは中央演算ユニット(Central Processor Unit)、以下プロセッサと称する。)CPUと、不揮発性メモリモジュールNV_MMとを有する。プロセッサCPUは、不揮発性メモリモジュールをメインメモリとして使用する。
メモリ要求が読み出し要求の場合について、メモリアクセス制御部MACと不揮発性メモリモジュールNV_MMの動作を簡単に説明する。前述したとおり、不揮発性メモリモジュールNV_MMは、メモリ制御部M_CONと、DRAM等の揮発性メモリV_MEMと、NAND型フラッシュメモリ等の不揮発性メモリNV_MEMとを有する。揮発性メモリV_MEMは、不揮発性メモリNV_MEMのキャッシュとして使用される。また、揮発性メモリV_MEMの読み出しのレイテンシは、不揮発性メモリNV_MEMより短く、一方、揮発性メモリのデータ容量は不揮発性メモリより小さい。
図2,図4は、通常読み出しでの動作シーケンスを示す図である。通常読み出しのコマンドは、例えばXREADである。図2,図4には、メモリアクセス制御部MACと、不揮発性メモリモジュールNV_MEM内のメモリ制御部M_CONと揮発性メモリV_MEMと不揮発性メモリNV_MEMが示される。
図6,図8は、投機読み出しでの動作シーケンスを示す図である。投機読み出しのコマンドは、例えばSREADである。図7,9は、投機読み出しでのメモリアクセス制御部と不揮発性メモリモジュール間の信号のタイミングチャートを示す図である。
図12は、本実施の形態におけるメモリアクセス制御部MACと不揮発性メモリモジュールNV_MMの構成例を示す図である。メモリアクセス制御部MACは、プロセッサ内のラストレベルキャッシュ(図1ではL2キャッシュ)から発行されるメモリ要求M_RQを受信し、受信したメモリ要求を要求キューRQ_QUEに保存する。リクエスト発行制御部RQ_ISSU_CONは、要求キューRQ_QUE内の発行可能なメモリ要求M_RQを選択する。発行可能か否かは、例えば不揮発性メモリモジュールの読み出しの発行禁止期間以外か否かなど読み出し発行ルールに基づく。そして、コマンド発行部CMD_ISSUは、選択されたメモリ要求M_RQが読み出し要求の場合、通常読み出しXREADか投機読み出しSREADのいずれかを選択し、不揮発性メモリモジュールNV_MMに発行する。
図13は、第1の実施の形態におけるメモリアクセス制御部内のコマンド発行部CMD_ISSUの構成例を示す図である。コマンド発行部CMD_ISSUは、投機読み出しSREAD対象のページアドレスを複数登録するページアドレステーブルTBLと、ページアドレスの更新エントリを指すポインタPTRと、コマンド選択部CMD_SELとを有する。
図1に示すとおり、不揮発性メモリモジュールに読み出し要求を発行するプロセッサが複数のコアを有する場合、複数のコアはそれぞれが実行するプロセスにおいて読み出し要求を別々に発行する。そのため、複数のコアがそれぞれ発行する読み出し要求のアドレスは、ランダムなアドレスになることが予想される。但し、1つのコアが発行する読み出し要求のアドレスは、一般に、ある時間内にあるアドレス領域内に集中する時間的局所性及び空間的局所性があることが予想できる。
CORE:コア、プロセッサコア
L2_CASCHE:レベル2キャッシュ
MAC:メモリアクセス制御部
NV_MM:不揮発性メモリモジュール、メモリモジュール
V_MEM:揮発性メモリ
NV_MEM:不揮発性メモリ
XREAD:通常読み出し
SREAD:投機読み出し
RD_RDY:リードレディ信号
SEND:送信要求信号
Claims (10)
- メモリへの読み出し要求を発行する演算部と、
第1のレイテンシで読み出し可能で第1の容量を有する揮発性メモリと、前記第1のレイテンシより長い第2のレイテンシで読み出し可能で前記第1の容量より大きい第2の容量を有する不揮発性メモリとを有し、前記揮発性メモリが前記不揮発性メモリのキャッシュとして動作するメモリモジュールに対し、前記演算部からの読み出し要求に対応するアクセス制御を行うメモリアクセス制御部とを有し、
前記メモリアクセス制御部は、
前記演算部からの読み出し要求の要求アドレスを含む所定単位アドレスが登録される複数のエントリを有するアドレステーブルを有し、
前記読み出し要求に応答して、前記要求アドレスが前記アドレステーブルに記憶されたいずれかの前記所定単位アドレスに含まれる第1のケースの場合、投機読み出しを前記メモリモジュールに発行し、前記要求アドレスが前記アドレステーブルに登録されたいずれの前記所定単位アドレスにも含まれない第2のケースの場合、通常読み出しを前記メモリモジュールに発行し、
前記通常読み出しを発行した場合、前記メモリモジュールからの読み出しレディー信号に応答して送信要求信号を返信し、前記送信要求信号の返信から第1の所定時間後に読み出しデータを受信し、
前記投機読み出しを発行した場合、前記メモリモジュールからキャッシュヒットを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを取得し、キャッシュミスを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを破棄し、
前記第2のケースの場合、所定の頻度で、前記アドレステーブル内のいずれかの登録中の所定単位アドレスを、前記要求アドレスを含む所定単位アドレスに置き換える、演算処理装置。 - 複数の前記演算部を有し、前記複数の演算部がそれぞれ前記読み出し要求を発行し、
前記メモリアクセス制御部は、
前記第2のケースの場合、毎回、前記いずれかの登録中の所定単位アドレスを前記要求アドレスを含む所定単位アドレスに置き換える、請求項1に記載の演算処理装置。 - 前記メモリアクセス制御部は、
前記演算部からの読み出し要求の回数、前記第1のケースの回数、または前記第2のケースの回数のいずれかをカウントし、
前記第2のケースの場合、前記カウントの値が基準値に達していれば、前記いずれかの登録中の所定単位アドレスを前記要求アドレスを含む所定単位アドレスに置き換えると共に前記カウントの値をクリアし、前記カウントの値が前記基準値未満であれば、前記置き換えを行わない、請求項1に記載の演算処理装置。 - 前記メモリモジュールは、前記通常読み出しまたは前記投機読み出しに応答して、前記所定単位アドレスの情報が登録されるキャッシュタグを参照し読み出しアドレスを含む前記所定単位アドレスの情報が登録されているか否かをチェックし、
前記アドレステーブルの複数のエントリの数が、前記キャッシュタグのエントリ数よりも少ない、請求項1に記載の演算処理装置。 - 前記アドレステーブルの複数のエントリの数が前記キャッシュタグのエントリ数に比較して少ないほど、前記アドレステーブルに登録中の所定単位アドレスを前記要求アドレスを含む所定単位アドレスに置き換える頻度が低く設定される、請求項4に記載の演算処理装置。
- 前記演算部の数が多いほど、前記アドレステーブルに登録中の所定単位アドレスを前記要求アドレスを含む所定単位アドレスに置き換える頻度が低く設定される、請求項4に記載の演算処理装置。
- 前記メモリアクセス制御部は、
前記アドレステーブルの前記複数のエントリ内の最も古く登録された前記所定単位アドレスを、前記要求アドレスを含む所定単位アドレスに置き換える、請求項2記載の演算処理装置。 - 前記アドレステーブルに登録中の所定単位アドレスを前記要求アドレスを含む所定単位アドレスに置き換える頻度が変更可能である、請求項1または4に記載の演算処理装置。
- 第1のレイテンシで読み出し可能で第1の容量を有する揮発性メモリと、前記第1のレイテンシより長い第2のレイテンシで読み出し可能で前記第1の容量より大きい第2の容量を有する不揮発性メモリとを有し、前記揮発性メモリが前記不揮発性メモリのキャッシュとして動作するメモリモジュールと、
前記メモリモジュールにアクセス可能な演算処理装置を有し、
前記演算処理装置は、
前記メモリモジュールへの読み出し要求を発行する演算部と、
前記メモリモジュールに対し、前記演算部からの読み出し要求に対応するアクセス制御を行うメモリアクセス制御部とを有し、
前記メモリアクセス制御部は、
前記演算部からの読み出し要求の要求アドレスを含む所定単位アドレスが登録される複数のエントリを有するアドレステーブルを有し、
前記読み出し要求に応答して、前記要求アドレスが前記アドレステーブルに記憶されたいずれかの前記所定単位アドレスに含まれる第1のケースの場合、投機読み出しを前記メモリモジュールに発行し、前記要求アドレスが前記アドレステーブルに登録されたいずれの前記所定単位アドレスにも含まれない第2のケースの場合、通常読み出しを前記メモリモジュールに発行し、
前記通常読み出しを発行した場合、前記メモリモジュールからの読み出しレディー信号に応答して送信要求信号を返信し、前記送信要求信号の返信から第1の所定時間後に読み出しデータを受信し、
前記投機読み出しを発行した場合、前記メモリモジュールからキャッシュヒットを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを取得し、キャッシュミスを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを破棄し、
前記第2のケースの場合、所定の頻度で、前記アドレステーブル内のいずれかの登録中の所定単位アドレスを、前記要求アドレスを含む所定単位アドレスに置き換える、情報処理装置。 - メモリへの読み出し要求を発行する演算部と、
第1のレイテンシで読み出し可能で第1の容量を有する揮発性メモリと、前記第1のレイテンシより長い第2のレイテンシで読み出し可能で前記第1の容量より大きい第2の容量を有する不揮発性メモリとを有し、前記揮発性メモリが前記不揮発性メモリのキャッシュとして動作するメモリモジュールに対し、前記演算部からの読み出し要求に対応するアクセス制御を行い、前記演算部からの読み出し要求の要求アドレスを含む所定単位アドレスが登録される複数のエントリを有するアドレステーブルを有するメモリアクセス制御部とを有する、演算処理装置の前記メモリアクセス制御部が、
前記読み出し要求に応答して、前記要求アドレスが前記アドレステーブルに記憶されたいずれかの前記所定単位アドレスに含まれる第1のケースの場合、投機読み出しを前記メモリモジュールに発行し、前記要求アドレスが前記アドレステーブルに登録されたいずれの前記所定単位アドレスにも含まれない第2のケースの場合、通常読み出しを前記メモリモジュールに発行し、
前記通常読み出しを発行した場合、前記メモリモジュールからの読み出しレディー信号
に応答して送信要求信号を返信し、前記送信要求信号の返信から第1の所定時間後に読み出しデータを受信し、
前記投機読み出しを発行した場合、前記メモリモジュールからキャッシュヒットを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを取得し、キャッシュミスを示すキャッシュヒットフラグと読み出しデータを受信すると前記読み出しデータを破棄し、
前記第2のケースの場合、所定の頻度で、前記アドレステーブル内のいずれかの登録中の所定単位アドレスを、前記要求アドレスを含む所定単位アドレスに置き換える、演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018239503A JP7140972B2 (ja) | 2018-12-21 | 2018-12-21 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
US16/695,282 US11314438B2 (en) | 2018-12-21 | 2019-11-26 | Arithmetic processing device, information processing device, and control method for arithmetic processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018239503A JP7140972B2 (ja) | 2018-12-21 | 2018-12-21 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020101983A JP2020101983A (ja) | 2020-07-02 |
JP7140972B2 true JP7140972B2 (ja) | 2022-09-22 |
Family
ID=71097661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018239503A Active JP7140972B2 (ja) | 2018-12-21 | 2018-12-21 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11314438B2 (ja) |
JP (1) | JP7140972B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297379A (ja) | 2001-03-29 | 2002-10-11 | Hitachi Ltd | ハードウェアプリフェッチシステム |
US20180060257A1 (en) | 2016-08-29 | 2018-03-01 | Advanced Micro Devices, Inc. | Nondeterministic memory access requests to non-volatile memory |
JP2018055683A (ja) | 2016-09-26 | 2018-04-05 | 三星電子株式会社Samsung Electronics Co.,Ltd. | バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法 |
US20180219562A1 (en) | 2017-01-27 | 2018-08-02 | Futurewei Technologies, Inc. | Transaction identification synchronization |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JP3175675B2 (ja) * | 1997-12-04 | 2001-06-11 | 日本電気株式会社 | プリフェッチ制御装置 |
US6249851B1 (en) * | 1998-08-25 | 2001-06-19 | Stmicroelectronics, Inc. | Computer system having non-blocking cache and pipelined bus interface unit |
US6704844B2 (en) * | 2001-10-16 | 2004-03-09 | International Business Machines Corporation | Dynamic hardware and software performance optimizations for super-coherent SMP systems |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
US7624236B2 (en) * | 2004-12-27 | 2009-11-24 | Intel Corporation | Predictive early write-back of owned cache blocks in a shared memory computer system |
US7475321B2 (en) * | 2004-12-29 | 2009-01-06 | Intel Corporation | Detecting errors in directory entries |
US10810144B2 (en) | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
-
2018
- 2018-12-21 JP JP2018239503A patent/JP7140972B2/ja active Active
-
2019
- 2019-11-26 US US16/695,282 patent/US11314438B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297379A (ja) | 2001-03-29 | 2002-10-11 | Hitachi Ltd | ハードウェアプリフェッチシステム |
US20180060257A1 (en) | 2016-08-29 | 2018-03-01 | Advanced Micro Devices, Inc. | Nondeterministic memory access requests to non-volatile memory |
JP2018055683A (ja) | 2016-09-26 | 2018-04-05 | 三星電子株式会社Samsung Electronics Co.,Ltd. | バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法 |
US20180219562A1 (en) | 2017-01-27 | 2018-08-02 | Futurewei Technologies, Inc. | Transaction identification synchronization |
Also Published As
Publication number | Publication date |
---|---|
US20200201556A1 (en) | 2020-06-25 |
JP2020101983A (ja) | 2020-07-02 |
US11314438B2 (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868618B2 (en) | Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits | |
US10908821B2 (en) | Use of outstanding command queues for separate read-only cache and write-read cache in a memory sub-system | |
US9792221B2 (en) | System and method for improving performance of read/write operations from a persistent memory device | |
JP5762930B2 (ja) | 情報処理装置および半導体記憶装置 | |
US11210020B2 (en) | Methods and systems for accessing a memory | |
US11914520B2 (en) | Separate read-only cache and write-read cache in a memory sub-system | |
US12007917B2 (en) | Priority scheduling in queues to access cache data in a memory sub-system | |
US11977491B2 (en) | Prefetch kill and revival in an instruction cache | |
WO2024078342A1 (zh) | 内存交换方法、装置、计算机设备及存储介质 | |
CN112840331A (zh) | 分层缓存系统中的预取管理 | |
US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
JP7140972B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
KR20220062399A (ko) | 하이브리드 dimm에서 비순차적 처리를 위한 데이터 의존도 관리 | |
US10649786B2 (en) | Reduced stack usage in a multithreaded processor | |
US20240168891A1 (en) | Page request interface support in handling host submission queues and completion automation associated with caching host memory address translation data | |
US20240143515A1 (en) | Caching host memory address translation data in a memory sub-system | |
US20240160577A1 (en) | Page request interface support in caching host memory address translation data in a memory sub-system | |
TW202223900A (zh) | 快閃記憶體系統及其快閃記憶體裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220728 |
|
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: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220822 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7140972 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |