CN109074320A - 一种缓存替换方法,装置和系统 - Google Patents
一种缓存替换方法,装置和系统 Download PDFInfo
- Publication number
- CN109074320A CN109074320A CN201780023595.4A CN201780023595A CN109074320A CN 109074320 A CN109074320 A CN 109074320A CN 201780023595 A CN201780023595 A CN 201780023595A CN 109074320 A CN109074320 A CN 109074320A
- Authority
- CN
- China
- Prior art keywords
- cache
- cache lines
- caching
- level
- low
- 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- 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/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 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种计算机中的缓存替换方法、装置和系统。该计算机包括高层级缓存和低层级缓存,低层级缓存与高层级缓存为包含关系,该方法包括:处理器在低层级缓存中选择第一缓存行作为待替换缓存行,并监控高层级缓存中是否发生对第一缓存行的相应缓存行的命中,如果在低层级缓存发生缓存未命中前,高层级缓存中发生了对第一缓存行的相应缓存行的命中,则在低层级缓存中保留第一缓存行,并选择第二缓存行作为待替换缓存行。通过对高层级缓存访问情况的监控,避免了对高层级缓存中被频繁访问的缓存行的后无效,提升了缓存命中率。
Description
PCT国内申请,说明书已公开。
Claims (21)
- PCT国内申请,权利要求书已公开。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/075952 WO2018161272A1 (zh) | 2017-03-08 | 2017-03-08 | 一种缓存替换方法,装置和系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109074320A true CN109074320A (zh) | 2018-12-21 |
| CN109074320B CN109074320B (zh) | 2023-11-17 |
Family
ID=63447134
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201780023595.4A Active CN109074320B (zh) | 2017-03-08 | 2017-03-08 | 一种缓存替换方法,装置和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20190370187A1 (zh) |
| EP (1) | EP3572946B1 (zh) |
| CN (1) | CN109074320B (zh) |
| WO (1) | WO2018161272A1 (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112612727A (zh) * | 2020-12-08 | 2021-04-06 | 海光信息技术股份有限公司 | 一种高速缓存行替换方法、装置及电子设备 |
| CN112667534A (zh) * | 2020-12-31 | 2021-04-16 | 海光信息技术股份有限公司 | 缓冲存储装置、处理器及电子设备 |
| CN113760787A (zh) * | 2021-09-18 | 2021-12-07 | 成都海光微电子技术有限公司 | 多级高速缓存数据推送系统、方法、设备和计算机介质 |
| CN117971718A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 一种多核处理器的缓存替换方法及其装置 |
| CN119127731A (zh) * | 2024-11-15 | 2024-12-13 | 中科亿海微电子科技(苏州)有限公司 | 一种监听过滤器 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109144431B (zh) * | 2018-09-30 | 2021-11-02 | 华中科技大学 | 数据块的缓存方法、装置、设备及存储介质 |
| US20200226066A1 (en) * | 2020-03-27 | 2020-07-16 | Intel Corporation | Apparatus and method for efficient management of multi-level memory |
| US12099451B2 (en) | 2021-09-29 | 2024-09-24 | Advanced Micro Devices, Inc. | Re-reference interval prediction (RRIP) with pseudo-LRU supplemental age information |
| US20230244606A1 (en) * | 2022-02-03 | 2023-08-03 | Arm Limited | Circuitry and method |
| WO2025085056A1 (en) * | 2023-10-17 | 2025-04-24 | Google Llc | Cache snoop rejection |
| US20250363053A1 (en) * | 2024-05-22 | 2025-11-27 | Samsung Electronics Co., Ltd. | System and method for cache management |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1940892A (zh) * | 2005-09-29 | 2007-04-04 | 国际商业机器公司 | 逐出高速缓存的行的电路布置、数据处理系统和方法 |
| US20070168617A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | Patrol snooping for higher level cache eviction candidate identification |
| US20080183967A1 (en) * | 2008-01-30 | 2008-07-31 | Thomas Philip Speier | Apparatus and Methods to Reduce Castouts in a Multi-Level Cache Hierarchy |
| US20090106496A1 (en) * | 2007-10-19 | 2009-04-23 | Patrick Knebel | Updating cache bits using hint transaction signals |
| US20100100682A1 (en) * | 2008-10-22 | 2010-04-22 | International Business Machines Corporation | Victim Cache Replacement |
| US20100191916A1 (en) * | 2009-01-23 | 2010-07-29 | International Business Machines Corporation | Optimizing A Cache Back Invalidation Policy |
| GB201303302D0 (en) * | 2012-03-28 | 2013-04-10 | Ibm | Data processing |
| CN103348333A (zh) * | 2011-12-23 | 2013-10-09 | 英特尔公司 | 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置 |
| US20140115256A1 (en) * | 2012-10-18 | 2014-04-24 | Vmware, Inc. | System and method for exclusive read caching in a virtualized computing environment |
| CN103885890A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 高速缓冲存储器cache中cache块的替换处理方法和装置 |
| US20160055100A1 (en) * | 2014-08-19 | 2016-02-25 | Advanced Micro Devices, Inc. | System and method for reverse inclusion in multilevel cache hierarchy |
| US20160070651A1 (en) * | 2014-09-09 | 2016-03-10 | Intel Corporation | Instruction and logic for a cache prefetcher and dataless fill buffer |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060143400A1 (en) * | 2004-12-29 | 2006-06-29 | Steely Simon C Jr | Replacement in non-uniform access cache structure |
| US7805574B2 (en) * | 2005-02-09 | 2010-09-28 | International Business Machines Corporation | Method and cache system with soft I-MRU member protection scheme during make MRU allocation |
| US9177072B2 (en) * | 2013-03-14 | 2015-11-03 | Facebook, Inc. | Social cache |
| CN105930282B (zh) * | 2016-04-14 | 2018-11-06 | 北京时代民芯科技有限公司 | 一种用于nand flash的数据缓存方法 |
-
2017
- 2017-03-08 WO PCT/CN2017/075952 patent/WO2018161272A1/zh not_active Ceased
- 2017-03-08 EP EP17899829.0A patent/EP3572946B1/en active Active
- 2017-03-08 CN CN201780023595.4A patent/CN109074320B/zh active Active
-
2019
- 2019-08-19 US US16/544,352 patent/US20190370187A1/en not_active Abandoned
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1940892A (zh) * | 2005-09-29 | 2007-04-04 | 国际商业机器公司 | 逐出高速缓存的行的电路布置、数据处理系统和方法 |
| US20070168617A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | Patrol snooping for higher level cache eviction candidate identification |
| US20090106496A1 (en) * | 2007-10-19 | 2009-04-23 | Patrick Knebel | Updating cache bits using hint transaction signals |
| US20080183967A1 (en) * | 2008-01-30 | 2008-07-31 | Thomas Philip Speier | Apparatus and Methods to Reduce Castouts in a Multi-Level Cache Hierarchy |
| US20100100682A1 (en) * | 2008-10-22 | 2010-04-22 | International Business Machines Corporation | Victim Cache Replacement |
| US20100191916A1 (en) * | 2009-01-23 | 2010-07-29 | International Business Machines Corporation | Optimizing A Cache Back Invalidation Policy |
| CN103348333A (zh) * | 2011-12-23 | 2013-10-09 | 英特尔公司 | 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置 |
| GB201303302D0 (en) * | 2012-03-28 | 2013-04-10 | Ibm | Data processing |
| US20140115256A1 (en) * | 2012-10-18 | 2014-04-24 | Vmware, Inc. | System and method for exclusive read caching in a virtualized computing environment |
| CN103885890A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 高速缓冲存储器cache中cache块的替换处理方法和装置 |
| US20160055100A1 (en) * | 2014-08-19 | 2016-02-25 | Advanced Micro Devices, Inc. | System and method for reverse inclusion in multilevel cache hierarchy |
| US20160070651A1 (en) * | 2014-09-09 | 2016-03-10 | Intel Corporation | Instruction and logic for a cache prefetcher and dataless fill buffer |
Non-Patent Citations (1)
| Title |
|---|
| 王会霞;石磊;卫琳;石云;: "Web缓存流量特征模型研究和应用", 计算机应用, no. 04 * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112612727A (zh) * | 2020-12-08 | 2021-04-06 | 海光信息技术股份有限公司 | 一种高速缓存行替换方法、装置及电子设备 |
| CN112612727B (zh) * | 2020-12-08 | 2023-07-07 | 成都海光微电子技术有限公司 | 一种高速缓存行替换方法、装置及电子设备 |
| CN112667534A (zh) * | 2020-12-31 | 2021-04-16 | 海光信息技术股份有限公司 | 缓冲存储装置、处理器及电子设备 |
| CN112667534B (zh) * | 2020-12-31 | 2023-10-20 | 海光信息技术股份有限公司 | 缓冲存储装置、处理器及电子设备 |
| CN113760787A (zh) * | 2021-09-18 | 2021-12-07 | 成都海光微电子技术有限公司 | 多级高速缓存数据推送系统、方法、设备和计算机介质 |
| CN117971718A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 一种多核处理器的缓存替换方法及其装置 |
| CN117971718B (zh) * | 2024-03-28 | 2024-06-28 | 北京微核芯科技有限公司 | 一种多核处理器的缓存替换方法及其装置 |
| CN119127731A (zh) * | 2024-11-15 | 2024-12-13 | 中科亿海微电子科技(苏州)有限公司 | 一种监听过滤器 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109074320B (zh) | 2023-11-17 |
| WO2018161272A1 (zh) | 2018-09-13 |
| US20190370187A1 (en) | 2019-12-05 |
| EP3572946A1 (en) | 2019-11-27 |
| EP3572946B1 (en) | 2022-12-07 |
| EP3572946A4 (en) | 2020-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109074320A (zh) | 一种缓存替换方法,装置和系统 | |
| US6901483B2 (en) | Prioritizing and locking removed and subsequently reloaded cache lines | |
| US10860496B2 (en) | Method, apparatus and computer readable medium for building multi-tier flash cache by using spare flash drives and clean user data is flushed from main flash cache to one of the spare flash drives that only stores the clean user data, wherein the main flash cache is configured as one or more pairs of flash drives and the one of the spare flash drives is allocated as single drive to secondary flash cache | |
| CN110502452B (zh) | 访问电子设备中的混合缓存的方法及装置 | |
| US10169232B2 (en) | Associative and atomic write-back caching system and method for storage subsystem | |
| US10055349B2 (en) | Cache coherence protocol | |
| US20130111139A1 (en) | Optimizing a Cache Back Invalidation Policy | |
| US20130173863A1 (en) | Memory Management Among Levels Of Cache In A Memory Hierarchy | |
| US20110320720A1 (en) | Cache Line Replacement In A Symmetric Multiprocessing Computer | |
| EP2542989A2 (en) | Buffer pool extension for database server | |
| CN104166634A (zh) | 一种固态盘系统中的映射表缓存管理方法 | |
| EP3588913B1 (en) | Data caching method, apparatus and computer readable medium | |
| EP3885920A1 (en) | Apparatus and method for efficient management of multi-level memory | |
| US7571286B2 (en) | Reduced memory traffic via detection and tracking of temporally silent stores | |
| CN106164874B (zh) | 多核系统中数据访问者目录的访问方法及设备 | |
| WO2024258892A1 (en) | Snoop filter with disaggregated vector table | |
| CN115080459A (zh) | 缓存管理方法及装置、计算机可读存储介质 | |
| CN109478164B (zh) | 用于存储用于高速缓存条目传输的高速缓存位置信息的系统和方法 | |
| CN103885890B (zh) | 高速缓冲存储器cache中cache块的替换处理方法和装置 | |
| CN109002400A (zh) | 一种内容感知型计算机缓存管理系统及方法 | |
| Zhou et al. | LEA: A lazy eviction algorithm for SSD cache in cloud block storage | |
| US7469320B2 (en) | Adaptive replacement cache | |
| US20250217297A1 (en) | Systems and methods for indicating recently invalidated cache lines | |
| US7526615B2 (en) | Compressed victim cache | |
| CN113608698B (zh) | 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |