JP2013041414A - 記憶制御システムおよび方法、置換方式および方法 - Google Patents
記憶制御システムおよび方法、置換方式および方法 Download PDFInfo
- Publication number
- JP2013041414A JP2013041414A JP2011177710A JP2011177710A JP2013041414A JP 2013041414 A JP2013041414 A JP 2013041414A JP 2011177710 A JP2011177710 A JP 2011177710A JP 2011177710 A JP2011177710 A JP 2011177710A JP 2013041414 A JP2013041414 A JP 2013041414A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage means
- address
- stored
- partial data
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing 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/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】DRAM100内のロウバッファ102は、メモリアレイ101から所定のデータ長を単位とするいずれかのデータを読み出して格納する。LLC206は、ロウバッファ102に記憶されたデータの一部をキャッシュデータとして抽出して記憶するキャッシュメモリである。MAC601において、LLC206の追い出し制御が実施される場合に、MRQ203のキューイング状態に基づいて近い将来ロウバッファ102にどのDIMMアドレスのデータが記憶されるかを予測する。MACにおいて、LLC上の追い出し対象範囲702のキャッシュデータデータの各物理アドレスをDIMMアドレスに変換する。変換された各アドレスと予測されたデータのアドレスとが一致した場合に、その一致アドレスに対応するキャッシュデータを優先してLLCから追い出す。
【選択図】図8
Description
図1は、DRAMの構成図である。
DRAMのメモリアレイ(図中、「Memory Array」と表記。以下の図でも同様。)101には、ロウバッファ(図中、「Row Buffer」と表記。以下の図でも同様。)102が接続される。また、メモリアレイ101には、ロウデコーダ(図中、「Row Decoder」と表記。以下の図でも同様。)103が接続される。また、ロウバッファ102には、カラムデコーダ(図中、「Column Decoder」と表記。以下の図でも同様。)104が接続される。ロウバッファ102は例えば、1024から2048バイト程度の記憶容量を有する。
図10において、図2および図9の構成と同じ処理を行う部分には、同じ番号を付してある。図10では、制御部901内のPA/DA変換部902とアドレス比較部903のそれぞれの構成を、具体的なハードウェアイメージで示している。まず、PA/DA変換部902は、LLC206の追い出し対象範囲702(図8参照)内の各LRUポジションにアクセスしてそれぞれ32ビットの物理アドレスPAを順次入力する。そして、入力された32ビットのアドレスを、図10の902として示されるように、Rank、Bank、Row、Column、Burstの5つのアドレス種別に分割する。なお、それぞれ分割されるアドレスのビット割当ては、DRAM100の仕様に基づいて決定される。そして、PA/DA変換部902は、上記分割したアドレスのうちDIMMアドレスDAに対応するアドレス部分(例えばRowアドレス部分)を抽出し、アドレス比較部903に出力する。アドレス比較部903は、MRQ203のエントリごとに対応した比較器1001を有する。この比較器1001は、PA/DA変換部902から出力されるDIMMアドレスDAと、MRQ203の1つのエントリから入力されたDIMMアドレスDAとが一致するか否かをビット単位で比較する論理回路群である。ここで、FR−FCFS方式に基づいて近い将来のロウバッファ102でのオープンが予測されたMRQ203のエントリの出力のみが有効になるように設定することができる。また、比較器1001は、制御部901内で将来オープンされると判定されたMRQ203内のエントリに対応する比較器1001のみがオンされるように構成することができる。なお、将来オープンされると判定されるMRQ203内のエントリは、必ずしも一つである必要はなく、オープンされる順に上位複数のエントリの出力が、それぞれに対応する比較器1001に入力して比較されるように構成することができる。そして、いずれかの比較器1001で一致が検出された場合に、その一致出力信号によって、その時点においてLLC206上で指示されているLRUポジションの物理アドレスPAのデータが無効化されて追い出される。この追い出された物理アドレスPAは、既にMRQ203内に格納されているため、MRQ203に新たに格納する必要はない。
まず、追い出し対象範囲702を静的に設定する手法が採用可能である。静的手法では、事前にLLC206のキャッシュウェイ数の1/4または1/2または全てというように、追い出し対象範囲702を決定しておき,動作中にこの範囲を変更しない方式である。
101 メモリアレイ
102 ロウバッファ
103 ロウデコーダ
104 カラムデコーダ
201、701 MAC(メモリアクセスコントローラ)
202、902 PA/DA変換部
203 MRQ(メモリリクエストキュー)
204 スケジューラ
205 プロセッサコア
206 LLC(ラストレベルキャッシュ)
207 インターコネクト
702 追い出し対象範囲
901 制御部
903 アドレス比較部
1001 比較器
Claims (7)
- 所定のデータ長を単位としてデータの読み書きが可能な第1の記憶手段と、
前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して格納する第2の記憶手段と、
該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して記憶する第3の記憶手段と、
前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されていない場合に、前記第1の記憶手段から前記部分データの抽出元のデータを読み出して前記第2の記憶手段に記憶させて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されている場合に、前記第2の記憶手段に記憶されている前記部分データの抽出元のデータについて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、前記第2の記憶手段に抽出元のデータが記憶されている前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除する処理を行う制御手段と、
を備えたことを特徴とする記憶制御システム。 - 前記第3の記憶手段に、最後に書き込み又は更新されたタイミングが最も古い第1のデータと、2番目に最も古い第2のデータが記憶されており、前記第1のデータの抽出元のデータ又は前記第2のデータの抽出元のデータのいずれかが前記第2の記憶手段に記憶されている場合には、前記第1又は第2のデータのうち前記第2の記憶手段に記憶されている抽出元のデータに対応するほうのデータが前記削除可能とされるデータとして優先的に選択される、
ことを特徴とする請求項1に記載の記憶制御システム。 - 所定のデータ長を単位としてデータの読み書きが可能な第1の記憶手段と、
前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して格納する第2の記憶手段と、
該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して記憶する第3の記憶手段と、
前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測する制御手段と、
前記第3の記憶手段から削除可能な1つ以上の前記部分データ又は前記更新部分データの各アドレスを前記第1の記憶手段上の各アドレスに変換するアドレス変換手段と、
前記変換された各アドレスと前記予測されたデータのアドレスとにより前記所定のデータ長を単位とするアドレス部分の一致を検出し、該一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除させるアドレス比較手段と、
を備えたことを特徴とする置換方式。 - 前記第1の記憶手段から前記第2の記憶手段に読み出されるべきデータのアクセスリクエストを予め定められた複数リクエスト分一時保持するメモリリクエストキューをさらに備え、
前記制御手段は、前記メモリリクエストキューに一時保持されたリクエストを所定の規則に従って読み出すことにより、該リクエストに対応するデータを前記第1の記憶手段から前記第2の記憶手段に読み出し、前記メモリリクエストキューに一時保持されたリクエストのうち前記所定のデータ長を単位とするアドレスが一致するリクエストをまとめてアクセス処理し、前記メモリリクエストキューから次に読み出されるリクエストを判定することにより前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測し、 - 前記アドレス比較手段は、前記一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除し、該部分データ又は更新部分データの前記第1の記憶手段への書き戻しのリクエストを前記メモリリクエストキューに格納する、
ことを特徴とする請求項4に記載の置換方式。 - 第1の記憶手段に対して所定のデータ長を単位としてデータの読み書きを行い、
前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して第2の記憶手段に格納し、
該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して第3の記憶手段に記憶し、
前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されていない場合に、前記第1の記憶手段から前記部分データの抽出元のデータを読み出して前記第2の記憶手段に記憶させて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、
前記第2の記憶手段に前記部分データの抽出元のデータが記憶されている場合に、前記第2の記憶手段に記憶されている前記部分データの抽出元のデータについて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、
前記第2の記憶手段に抽出元のデータが記憶されている前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除する、
ことを特徴とする記憶制御方法。 - 第1の記憶手段に対して所定のデータ長を単位としてデータの読み書きを行い、
前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して第2の記憶手段に格納し、
該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して第3の記憶手段に記憶し、
前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測し、
前記第3の記憶手段から削除可能な前記部分データ又は前記更新部分データの各アドレスを前記第1の記憶手段上の各アドレスに変換し、
前記変換された各アドレスと前記予測されたデータのアドレスとにより前記所定のデータ長を単位とするアドレス部分の一致を検出し、該一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除させる、
ことを特徴とするキャッシュメモリの置換方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011177710A JP5699854B2 (ja) | 2011-08-15 | 2011-08-15 | 記憶制御システムおよび方法、置換方式および方法 |
US13/545,073 US9311988B2 (en) | 2011-08-15 | 2012-07-10 | Storage control system and method, and replacing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011177710A JP5699854B2 (ja) | 2011-08-15 | 2011-08-15 | 記憶制御システムおよび方法、置換方式および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013041414A true JP2013041414A (ja) | 2013-02-28 |
JP5699854B2 JP5699854B2 (ja) | 2015-04-15 |
Family
ID=47713494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011177710A Expired - Fee Related JP5699854B2 (ja) | 2011-08-15 | 2011-08-15 | 記憶制御システムおよび方法、置換方式および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9311988B2 (ja) |
JP (1) | JP5699854B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811453B1 (en) * | 2013-07-31 | 2017-11-07 | Juniper Networks, Inc. | Methods and apparatus for a scheduler for memory access |
KR20150017526A (ko) * | 2013-08-07 | 2015-02-17 | 삼성전자주식회사 | 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법 |
US10061617B2 (en) * | 2016-06-07 | 2018-08-28 | International Business Machines Corporation | Smart memory analog DRAM |
CN113849455B (zh) * | 2021-09-28 | 2023-09-29 | 致真存储(北京)科技有限公司 | 一种基于混合式存储器的mcu及缓存数据的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066946A (ja) * | 1998-08-17 | 2000-03-03 | Nec Corp | メモリコントローラ |
JP2012043202A (ja) * | 2010-08-19 | 2012-03-01 | Nec Computertechno Ltd | ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103169A (ja) | 1992-09-18 | 1994-04-15 | Nec Corp | 中央演算処理装置のリードデータプリフェッチ機構 |
US5452440A (en) * | 1993-07-16 | 1995-09-19 | Zitel Corporation | Method and structure for evaluating and enhancing the performance of cache memory systems |
JPH09244957A (ja) | 1996-03-08 | 1997-09-19 | Nec Eng Ltd | バス接続装置及び方法 |
US6145065A (en) * | 1997-05-02 | 2000-11-07 | Matsushita Electric Industrial Co., Ltd. | Memory access buffer and reordering apparatus using priorities |
JP3718599B2 (ja) * | 1998-12-28 | 2005-11-24 | 富士通株式会社 | キャッシュ装置、メモリ制御システムおよび方法、記録媒体 |
US6799257B2 (en) | 2002-02-21 | 2004-09-28 | Intel Corporation | Method and apparatus to control memory accesses |
US20040088472A1 (en) * | 2002-10-31 | 2004-05-06 | Nystuen John M. | Multi-mode memory controller |
US7130967B2 (en) | 2003-12-10 | 2006-10-31 | International Business Machines Corporation | Method and system for supplier-based memory speculation in a memory subsystem of a data processing system |
KR100607987B1 (ko) * | 2004-06-24 | 2006-08-02 | 삼성전자주식회사 | 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 |
US20090187733A1 (en) * | 2006-03-13 | 2009-07-23 | Tarek El-Ghazawi | Virtual Configuration Management for Effiicient Use of Reconfigurable Hardwware |
US20090198910A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Ravi K | Data processing system, processor and method that support a touch of a partial cache line of data |
US8838901B2 (en) * | 2010-05-07 | 2014-09-16 | International Business Machines Corporation | Coordinated writeback of dirty cachelines |
US20120059983A1 (en) * | 2010-09-03 | 2012-03-08 | David Wilkins Nellans | Predictor-based management of dram row-buffers |
-
2011
- 2011-08-15 JP JP2011177710A patent/JP5699854B2/ja not_active Expired - Fee Related
-
2012
- 2012-07-10 US US13/545,073 patent/US9311988B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066946A (ja) * | 1998-08-17 | 2000-03-03 | Nec Corp | メモリコントローラ |
JP2012043202A (ja) * | 2010-08-19 | 2012-03-01 | Nec Computertechno Ltd | ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5699854B2 (ja) | 2015-04-15 |
US9311988B2 (en) | 2016-04-12 |
US20130046943A1 (en) | 2013-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5417879B2 (ja) | キャッシュ装置 | |
US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
US7921260B2 (en) | Preferred write-mostly data cache replacement policies | |
JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
CN107479860B (zh) | 一种处理器芯片以及指令缓存的预取方法 | |
JP5536658B2 (ja) | バッファメモリ装置、メモリシステム及びデータ転送方法 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US20130205089A1 (en) | Cache Device and Methods Thereof | |
JP4218820B2 (ja) | ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体 | |
US20170168957A1 (en) | Aware Cache Replacement Policy | |
US11301250B2 (en) | Data prefetching auxiliary circuit, data prefetching method, and microprocessor | |
WO2010004497A1 (en) | Cache management systems and methods | |
US8151058B2 (en) | Vector computer system with cache memory and operation method thereof | |
US8271732B2 (en) | System and method to reduce power consumption by partially disabling cache memory | |
JP5699854B2 (ja) | 記憶制御システムおよび方法、置換方式および方法 | |
US20110167223A1 (en) | Buffer memory device, memory system, and data reading method | |
US10831673B2 (en) | Memory address translation | |
US11036639B2 (en) | Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US8356141B2 (en) | Identifying replacement memory pages from three page record lists | |
CN114398298A (zh) | 一种缓存流水线处理方法及装置 | |
US20140082286A1 (en) | Prefetching Method and Apparatus | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JP6451475B2 (ja) | 演算処理装置、情報処理装置および演算処理装置の制御方法 | |
US20120102271A1 (en) | Cache memory system and cache memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141219 |
|
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: 20150120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5699854 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |