JP7160792B2 - キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 - Google Patents
キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 Download PDFInfo
- Publication number
- JP7160792B2 JP7160792B2 JP2019501642A JP2019501642A JP7160792B2 JP 7160792 B2 JP7160792 B2 JP 7160792B2 JP 2019501642 A JP2019501642 A JP 2019501642A JP 2019501642 A JP2019501642 A JP 2019501642A JP 7160792 B2 JP7160792 B2 JP 7160792B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- location
- tag
- 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/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
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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
-
- 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/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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
- 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
-
- 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/1028—Power efficiency
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims (15)
- 第1キャッシュ(120)でのキャッシュミスに応じて、第1データ(170)を、第2キャッシュ(140)のエントリ(145)から前記第1キャッシュに転送することと、
前記第2キャッシュのエントリ及びウェイを示す位置情報(171)を、前記第1データの一部のステータスビットに記憶することであって、前記ステータスビットは、再利用されるコヒーレンシステータスビットである、ことと、
前記第1キャッシュにおいて第2データを受信したことに応じて、前記第1データを、前記第1キャッシュから、記憶された位置情報によって示される前記第2キャッシュのエントリに転送すること(510)と、を含む、
方法。 - 前記位置情報を記憶することは、前記第2キャッシュのエントリを示す位置タグを生成することを含む、
請求項1の方法。 - 前記位置タグを生成することは、前記第1データのメモリコヒーレンスステータスを示すステータスタグを変更することを含む、
請求項2の方法。 - 前記位置タグを位置タグバッファ(335)に記憶することをさらに含む、
請求項2の方法。 - 前記位置タグを前記第1データと共に前記第1キャッシュに記憶することをさらに含む、
請求項2の方法。 - 前記第1データを前記第1キャッシュから前記第2キャッシュのエントリに転送する前に、前記第2データを受信したことに応じて前記第1データを変更することをさらに含む、
請求項1の方法。 - 前記第2キャッシュは、前記第1キャッシュに記憶されたキャッシュラインの各々を記憶するように、前記第1キャッシュを含む、
請求項1の方法。 - 第1キャッシュ(140)に配置された第1データ(171)に対するメモリアクセス要求に応じて、前記第1データを記憶する前記第1キャッシュのエントリ(145)のセット及びウェイを示す位置タグ(171)を生成することと、
前記第1データ及び前記位置タグを第2キャッシュ(120)に転送することであって、前記位置タグは、前記第1データの一部のステータスビットに記憶されており、前記ステータスビットは、再利用されるコヒーレンシステータスビットである、ことと、
前記第2キャッシュにおいて第2データを受信したことに応じて、前記第1データを、前記位置タグによって示された前記第1キャッシュのエントリに転送し戻すことと、を含む、
方法。 - 第1キャッシュ(120)と、
第2キャッシュ(140)と、
キャッシュコントローラ(130)と、を備え、
前記キャッシュコントローラは、
第1データ(170)を、前記第2キャッシュのエントリ(145)から前記第1キャッシュに転送することと、
前記第2キャッシュのエントリ及びウェイを示す位置情報(171)を、前記第1データの一部のステータスビットに記憶することであって、前記ステータスビットは、再利用されるコヒーレンシステータスビットである、ことと、
前記第1キャッシュにおいて第2データを受信したことに応じて、前記第1データを、前記第1キャッシュから、記憶された位置情報によって示される前記第2キャッシュのエントリに転送することと、
を行うように構成されている、
デバイス(100)。 - 前記キャッシュコントローラは、前記第1キャッシュからの前記第1データのエビクトに応じて、前記第1データを、前記第1キャッシュから、記憶された位置情報によって示される前記第2キャッシュのエントリに転送するようにさらに構成されている、
請求項9のデバイス。 - 前記キャッシュコントローラは、前記第1データを、前記第1キャッシュから、記憶された位置情報によって示される前記第2キャッシュのセット及びウェイに転送する前に、前記第1データを更新するようにさらに構成されている、
請求項10のデバイス。 - 前記第2キャッシュは、前記第1キャッシュに記憶された前記キャッシュラインの各々を記憶するように、前記第1キャッシュを含む、
請求項9のデバイス。 - 前記キャッシュコントローラは、前記位置情報を位置タグバッファ(335)に記憶するように構成されている、
請求項9のデバイス。 - 前記キャッシュコントローラは、前記位置情報を前記第1データと共に前記第1キャッシュに記憶するように構成されている、
請求項9のデバイス。 - 前記キャッシュコントローラは、前記位置情報を、前記第1データのコヒーレンシステータスを示すステータスタグに記憶するように構成されている、
請求項9のデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/210,846 | 2016-07-14 | ||
US15/210,846 US10956339B2 (en) | 2016-07-14 | 2016-07-14 | System and method for storing cache location information for cache entry transfer |
PCT/US2017/041956 WO2018013824A1 (en) | 2016-07-14 | 2017-07-13 | System and method for storing cache location information for cache entry transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019521447A JP2019521447A (ja) | 2019-07-25 |
JP7160792B2 true JP7160792B2 (ja) | 2022-10-25 |
Family
ID=60941122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019501642A Active JP7160792B2 (ja) | 2016-07-14 | 2017-07-13 | キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10956339B2 (ja) |
EP (1) | EP3485382B1 (ja) |
JP (1) | JP7160792B2 (ja) |
KR (2) | KR20190018730A (ja) |
CN (1) | CN109478164B (ja) |
WO (1) | WO2018013824A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11294572B2 (en) * | 2017-07-06 | 2022-04-05 | Seagate Technology, Llc | Data storage system with late read buffer assignment after arrival of data in cache |
KR20190023433A (ko) * | 2017-08-29 | 2019-03-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI697902B (zh) * | 2019-01-24 | 2020-07-01 | 瑞昱半導體股份有限公司 | 電子裝置及電子裝置的管理方法 |
US20220004501A1 (en) * | 2020-07-02 | 2022-01-06 | Ampere Computing Llc | Just-in-time synonym handling for a virtually-tagged cache |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178329A1 (en) | 2001-04-11 | 2002-11-28 | Shailender Chaudhry | Reverse directory for facilitating accesses involving a lower-level cache |
JP2008040982A (ja) | 2006-08-09 | 2008-02-21 | Toshiba Microelectronics Corp | マイクロプロセッサおよびその制御方法 |
US20140156931A1 (en) | 2012-12-05 | 2014-06-05 | Advanced Micro Devices, Inc. | State encoding for cache lines |
US20150347302A1 (en) | 2014-05-29 | 2015-12-03 | Green Cache AB | Management of shared pipeline resource usage based on level information |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222989A (ja) * | 1992-11-30 | 1994-08-12 | Sgs Thomson Microelectron Inc | コピーバックキャッシュタグメモリ |
US5623627A (en) * | 1993-12-09 | 1997-04-22 | Advanced Micro Devices, Inc. | Computer memory architecture including a replacement cache |
US6321297B1 (en) | 1998-01-05 | 2001-11-20 | Intel Corporation | Avoiding tag compares during writes in multi-level cache hierarchy |
US6751720B2 (en) * | 2000-06-10 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy |
US7159070B2 (en) | 2003-12-09 | 2007-01-02 | Emc Corp | Methods and apparatus for caching a location index in a data storage system |
US20070073974A1 (en) * | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Eviction algorithm for inclusive lower level cache based upon state of higher level cache |
JP4297968B2 (ja) | 2006-02-14 | 2009-07-15 | 富士通株式会社 | コヒーレンシ維持装置およびコヒーレンシ維持方法 |
US7711902B2 (en) * | 2006-04-07 | 2010-05-04 | Broadcom Corporation | Area effective cache with pseudo associative memory |
US20090055589A1 (en) | 2007-08-24 | 2009-02-26 | Arm Limited | Cache memory system for a data processing apparatus |
TW201015319A (en) * | 2008-09-17 | 2010-04-16 | Panasonic Corp | Cache memory, memory system, data copying method and data rewriting method |
US8572323B2 (en) * | 2010-12-30 | 2013-10-29 | Freescale Semiconductor, Inc. | Cache result register for quick cache information lookup |
WO2013058745A1 (en) * | 2011-10-18 | 2013-04-25 | Soft Machines, Inc. | Methods and systems for managing synonyms in virtually indexed physically tagged caches |
US9753858B2 (en) * | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US8856455B2 (en) * | 2012-03-28 | 2014-10-07 | International Business Machines Corporation | Data cache block deallocate requests |
US9514044B2 (en) | 2013-05-24 | 2016-12-06 | Hewlett Packard Enterprise Development Lp | Multi-level cache tracking table |
CN104346294B (zh) * | 2013-07-31 | 2017-08-25 | 华为技术有限公司 | 基于多级缓存的数据读/写方法、装置和计算机*** |
WO2015075674A1 (en) * | 2013-11-21 | 2015-05-28 | Green Cache AB | Systems and methods for direct data access in multi-level cache memory hierarchies |
US20160055100A1 (en) | 2014-08-19 | 2016-02-25 | Advanced Micro Devices, Inc. | System and method for reverse inclusion in multilevel cache hierarchy |
US9990289B2 (en) | 2014-09-19 | 2018-06-05 | Advanced Micro Devices, Inc. | System and method for repurposing dead cache blocks |
-
2016
- 2016-07-14 US US15/210,846 patent/US10956339B2/en active Active
-
2017
- 2017-07-13 JP JP2019501642A patent/JP7160792B2/ja active Active
- 2017-07-13 WO PCT/US2017/041956 patent/WO2018013824A1/en unknown
- 2017-07-13 EP EP17828472.5A patent/EP3485382B1/en active Active
- 2017-07-13 KR KR1020197002814A patent/KR20190018730A/ko not_active IP Right Cessation
- 2017-07-13 KR KR1020237011379A patent/KR102680596B1/ko active IP Right Grant
- 2017-07-13 CN CN201780043666.7A patent/CN109478164B/zh active Active
-
2021
- 2021-02-22 US US17/181,879 patent/US12026099B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178329A1 (en) | 2001-04-11 | 2002-11-28 | Shailender Chaudhry | Reverse directory for facilitating accesses involving a lower-level cache |
JP2005509204A (ja) | 2001-04-11 | 2005-04-07 | サン・マイクロシステムズ・インコーポレイテッド | 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ |
JP2008040982A (ja) | 2006-08-09 | 2008-02-21 | Toshiba Microelectronics Corp | マイクロプロセッサおよびその制御方法 |
US20140156931A1 (en) | 2012-12-05 | 2014-06-05 | Advanced Micro Devices, Inc. | State encoding for cache lines |
US20150347302A1 (en) | 2014-05-29 | 2015-12-03 | Green Cache AB | Management of shared pipeline resource usage based on level information |
Also Published As
Publication number | Publication date |
---|---|
CN109478164B (zh) | 2024-04-16 |
US20180018271A1 (en) | 2018-01-18 |
US12026099B2 (en) | 2024-07-02 |
WO2018013824A1 (en) | 2018-01-18 |
EP3485382A4 (en) | 2020-03-25 |
CN109478164A (zh) | 2019-03-15 |
KR20230050477A (ko) | 2023-04-14 |
KR102680596B1 (ko) | 2024-07-03 |
EP3485382B1 (en) | 2024-05-01 |
EP3485382A1 (en) | 2019-05-22 |
JP2019521447A (ja) | 2019-07-25 |
KR20190018730A (ko) | 2019-02-25 |
US10956339B2 (en) | 2021-03-23 |
US20210173789A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US12026099B2 (en) | System and method for storing cache location information for cache entry transfer | |
JP6630449B2 (ja) | 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 | |
KR100978156B1 (ko) | 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체 | |
US20110320720A1 (en) | Cache Line Replacement In A Symmetric Multiprocessing Computer | |
JP2019525330A (ja) | キャッシュテスト領域に基づくプリフェッチデータに対するキャッシュ転送ポリシーの選択 | |
JP2009524137A (ja) | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
JP7264806B2 (ja) | キャッシュエントリでメモリアクセス要求のペンデンシを識別するシステム及び方法 | |
WO2016131175A1 (zh) | 多核***中数据访问者目录的访问方法及设备 | |
US20130282977A1 (en) | Cache control device, cache control method, and program thereof | |
EP3724774B1 (en) | Rinsing cache lines from a common memory page to memory | |
JP2019521410A (ja) | 別のキャッシュレベルからのヒントに基づくキャッシュエントリエイジの設定 | |
US10503640B2 (en) | Selective data retrieval based on access latency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200710 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210930 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220620 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220620 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220701 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220705 |
|
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: 20220920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221013 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7160792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |