[go: up one dir, main page]

CN109074320A - 一种缓存替换方法,装置和系统 - Google Patents

一种缓存替换方法,装置和系统 Download PDF

Info

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
Application number
CN201780023595.4A
Other languages
English (en)
Other versions
CN109074320B (zh
Inventor
于绩洋
方磊
蔡卫光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109074320A publication Critical patent/CN109074320A/zh
Application granted granted Critical
Publication of CN109074320B publication Critical patent/CN109074320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

  1. PCT国内申请,权利要求书已公开。
CN201780023595.4A 2017-03-08 2017-03-08 一种缓存替换方法,装置和系统 Active CN109074320B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的数据缓存方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王会霞;石磊;卫琳;石云;: "Web缓存流量特征模型研究和应用", 计算机应用, no. 04 *

Cited By (8)

* Cited by examiner, † Cited by third party
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