CN108431786B - 混合高速缓存 - Google Patents
混合高速缓存 Download PDFInfo
- Publication number
- CN108431786B CN108431786B CN201680073767.4A CN201680073767A CN108431786B CN 108431786 B CN108431786 B CN 108431786B CN 201680073767 A CN201680073767 A CN 201680073767A CN 108431786 B CN108431786 B CN 108431786B
- Authority
- CN
- China
- Prior art keywords
- cache
- logical
- logical cache
- processor
- control unit
- 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
Classifications
-
- 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/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 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/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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared 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/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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/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/0871—Allocation or management of cache space
-
- 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/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 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/1016—Performance improvement
-
- 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
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- 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/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/973,448 | 2015-12-17 | ||
| US14/973,448 US10255190B2 (en) | 2015-12-17 | 2015-12-17 | Hybrid cache |
| PCT/US2016/052722 WO2017105575A1 (en) | 2015-12-17 | 2016-09-20 | Hybrid cache |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108431786A CN108431786A (zh) | 2018-08-21 |
| CN108431786B true CN108431786B (zh) | 2024-05-03 |
Family
ID=59057364
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201680073767.4A Active CN108431786B (zh) | 2015-12-17 | 2016-09-20 | 混合高速缓存 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10255190B2 (https=) |
| EP (1) | EP3391227B1 (https=) |
| JP (1) | JP6730434B2 (https=) |
| KR (1) | KR102414157B1 (https=) |
| CN (1) | CN108431786B (https=) |
| WO (1) | WO2017105575A1 (https=) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103946812B (zh) * | 2011-09-30 | 2017-06-09 | 英特尔公司 | 用于实现多级别存储器分级体系的设备和方法 |
| CN106095587B (zh) * | 2016-06-24 | 2019-12-24 | 北京金山安全软件有限公司 | 应用程序的缓存扫描方法、装置及电子设备 |
| US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
| US11016665B2 (en) * | 2018-01-23 | 2021-05-25 | Seagate Technology Llc | Event-based dynamic memory allocation in a data storage device |
| CN109117291A (zh) * | 2018-08-27 | 2019-01-01 | 惠州Tcl移动通信有限公司 | 基于多核处理器的数据调度处理方法、装置和计算机设备 |
| US10740234B2 (en) * | 2018-09-04 | 2020-08-11 | International Business Machines Corporation | Virtual processor cache reuse |
| CN112148665B (zh) * | 2019-06-28 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
| US11372758B2 (en) * | 2020-05-12 | 2022-06-28 | Jackson State University | Dynamic reconfigurable multi-level cache for multi-purpose and heterogeneous computing architectures |
| KR102612947B1 (ko) * | 2021-03-31 | 2023-12-11 | 광운대학교 산학협력단 | 통합 l2 캐시-변환 색인 버퍼 메모리의 제어 방법 및 장치 |
| CN113259177B (zh) * | 2021-06-17 | 2021-10-15 | 国网江苏省电力有限公司信息通信分公司 | 虚拟网络切片的重构方法和装置 |
| KR102514268B1 (ko) * | 2021-07-14 | 2023-03-24 | 연세대학교 산학협력단 | 데이터 마이그레이션 정책 스위칭 방법 및 장치 |
| US11841798B2 (en) * | 2021-08-09 | 2023-12-12 | Arm Limited | Selective allocation of memory storage elements for operation according to a selected one of multiple cache functions |
| US11989142B2 (en) | 2021-12-10 | 2024-05-21 | Samsung Electronics Co., Ltd. | Efficient and concurrent model execution |
| US12197350B2 (en) | 2021-12-10 | 2025-01-14 | Samsung Electronics Co., Ltd. | Low-latency input data staging to execute kernels |
| GB2622841B (en) | 2022-09-29 | 2024-09-25 | Imagination Tech Ltd | Distributed system level cache |
| US20250086114A1 (en) * | 2023-09-13 | 2025-03-13 | Qualcomm Incorporated | Performance-based cache adjustment |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101331465A (zh) * | 2005-12-21 | 2008-12-24 | 英特尔公司 | 分区的共享高速缓存 |
| CN102567224A (zh) * | 2010-12-02 | 2012-07-11 | 微软公司 | 高效高速缓存管理 |
| CN102934046A (zh) * | 2010-05-11 | 2013-02-13 | 超威半导体公司 | 高速缓存控制的方法和装置 |
| KR101480143B1 (ko) * | 2013-08-02 | 2015-01-06 | 전남대학교산학협력단 | 멀티코어 프로세서의 캐쉬 교체 방법 및 그 방법에 의해 동작하는 멀티코어 프로세서 |
| CN104375958A (zh) * | 2013-08-15 | 2015-02-25 | 国际商业机器公司 | 高速缓存存储器管理事务性存储器访问请求 |
| CN104516830A (zh) * | 2013-09-26 | 2015-04-15 | 凯为公司 | 多阶段地址转换中的转换旁路 |
| CN105027211A (zh) * | 2013-01-31 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6324621B2 (en) * | 1998-06-10 | 2001-11-27 | International Business Machines Corporation | Data caching with a partially compressed cache |
| US6792509B2 (en) | 2001-04-19 | 2004-09-14 | International Business Machines Corporation | Partitioned cache of multiple logical levels with adaptive reconfiguration based on multiple criteria |
| US20030145170A1 (en) * | 2002-01-31 | 2003-07-31 | Kever Wayne D. | Dynamically adjusted cache power supply to optimize for cache access or power consumption |
| US6868485B1 (en) | 2002-09-27 | 2005-03-15 | Advanced Micro Devices, Inc. | Computer system with integrated directory and processor cache |
| US20040103251A1 (en) | 2002-11-26 | 2004-05-27 | Mitchell Alsup | Microprocessor including a first level cache and a second level cache having different cache line sizes |
| US7643480B2 (en) * | 2004-01-22 | 2010-01-05 | Hain-Ching Liu | Method and system for reliably and efficiently transporting data over a network |
| US7257678B2 (en) | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Dynamic reconfiguration of cache memory |
| US8037281B2 (en) * | 2005-04-07 | 2011-10-11 | Advanced Micro Devices, Inc. | Miss-under-miss processing and cache flushing |
| US20060248287A1 (en) * | 2005-04-29 | 2006-11-02 | Ibm Corporation | Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures |
| US7389402B2 (en) | 2005-06-07 | 2008-06-17 | Advanced Micro Devices, Inc. | Microprocessor including a configurable translation lookaside buffer |
| US7577793B2 (en) * | 2006-01-19 | 2009-08-18 | International Business Machines Corporation | Patrol snooping for higher level cache eviction candidate identification |
| US20080104323A1 (en) | 2006-10-26 | 2008-05-01 | Colglazier Daniel J | Method for identifying, tracking, and storing hot cache lines in an smp environment |
| US8433851B2 (en) * | 2007-08-16 | 2013-04-30 | International Business Machines Corporation | Reducing wiring congestion in a cache subsystem utilizing sectored caches with discontiguous addressing |
| US8223650B2 (en) * | 2008-04-02 | 2012-07-17 | Intel Corporation | Express virtual channels in a packet switched on-chip interconnection network |
| US8019946B2 (en) * | 2008-07-31 | 2011-09-13 | Samsung Electronics Co., Ltd. | Method and system for securing instruction caches using cache line locking |
| US8990506B2 (en) * | 2009-12-16 | 2015-03-24 | Intel Corporation | Replacing cache lines in a cache memory based at least in part on cache coherency state information |
| US8788783B1 (en) * | 2010-06-18 | 2014-07-22 | Disney Enterprises, Inc. | Dynamically tuning the size of a cache stored in a shared memory |
| US20120144123A1 (en) * | 2010-12-01 | 2012-06-07 | International Business Machines Corporation | Read-ahead processing in networked client-server architecture |
| US20120303897A1 (en) * | 2011-05-28 | 2012-11-29 | Sakthivel Komarasamy Pullagoundapatti | Configurable set associative cache way architecture |
| WO2013101092A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Data control using last accessor information |
| GB2509755B (en) * | 2013-01-14 | 2015-07-08 | Imagination Tech Ltd | Partitioning a shared cache using masks associated with threads to avoiding thrashing |
| US9336144B2 (en) * | 2013-07-25 | 2016-05-10 | Globalfoundries Inc. | Three-dimensional processing system having multiple caches that can be partitioned, conjoined, and managed according to more than one set of rules and/or configurations |
| US9251081B2 (en) | 2013-08-01 | 2016-02-02 | Advanced Micro Devices, Inc. | Management of caches |
| US9612961B2 (en) | 2013-08-29 | 2017-04-04 | Empire Technology Development Llc | Cache partitioning in a multicore processor |
| CN105579978B (zh) * | 2013-10-31 | 2020-06-09 | 英特尔公司 | 用于动态控制高速缓存存储器的寻址模式的方法、设备和系统 |
| US20150205724A1 (en) | 2014-01-20 | 2015-07-23 | Honeywell International Inc. | System and method of cache partitioning for processors with limited cached memory pools |
| US9710383B1 (en) * | 2015-09-29 | 2017-07-18 | EMC IP Holding Company LLC | Caching techniques |
-
2015
- 2015-12-17 US US14/973,448 patent/US10255190B2/en active Active
-
2016
- 2016-09-20 EP EP16876201.1A patent/EP3391227B1/en active Active
- 2016-09-20 WO PCT/US2016/052722 patent/WO2017105575A1/en not_active Ceased
- 2016-09-20 KR KR1020187017114A patent/KR102414157B1/ko active Active
- 2016-09-20 CN CN201680073767.4A patent/CN108431786B/zh active Active
- 2016-09-20 JP JP2018531516A patent/JP6730434B2/ja active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101331465A (zh) * | 2005-12-21 | 2008-12-24 | 英特尔公司 | 分区的共享高速缓存 |
| CN102934046A (zh) * | 2010-05-11 | 2013-02-13 | 超威半导体公司 | 高速缓存控制的方法和装置 |
| CN102567224A (zh) * | 2010-12-02 | 2012-07-11 | 微软公司 | 高效高速缓存管理 |
| CN105027211A (zh) * | 2013-01-31 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
| KR101480143B1 (ko) * | 2013-08-02 | 2015-01-06 | 전남대학교산학협력단 | 멀티코어 프로세서의 캐쉬 교체 방법 및 그 방법에 의해 동작하는 멀티코어 프로세서 |
| CN104375958A (zh) * | 2013-08-15 | 2015-02-25 | 国际商业机器公司 | 高速缓存存储器管理事务性存储器访问请求 |
| CN104516830A (zh) * | 2013-09-26 | 2015-04-15 | 凯为公司 | 多阶段地址转换中的转换旁路 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3391227A1 (en) | 2018-10-24 |
| WO2017105575A1 (en) | 2017-06-22 |
| US10255190B2 (en) | 2019-04-09 |
| KR102414157B1 (ko) | 2022-06-28 |
| JP6730434B2 (ja) | 2020-07-29 |
| KR20180085752A (ko) | 2018-07-27 |
| EP3391227B1 (en) | 2024-09-11 |
| EP3391227A4 (en) | 2019-08-28 |
| JP2019502996A (ja) | 2019-01-31 |
| CN108431786A (zh) | 2018-08-21 |
| US20170177492A1 (en) | 2017-06-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108431786B (zh) | 混合高速缓存 | |
| US11294808B2 (en) | Adaptive cache | |
| JP6928123B2 (ja) | メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム | |
| US20220058132A1 (en) | Adaptive Cache Partitioning | |
| US10235290B2 (en) | Hot page selection in multi-level memory hierarchies | |
| EP3839747B1 (en) | Multi-level memory with improved memory side cache implementation | |
| JP6203937B2 (ja) | 計算機およびメモリ制御方法 | |
| US10255191B2 (en) | Logical memory address regions | |
| US10310985B2 (en) | Systems and methods for accessing and managing a computing system memory | |
| US20120221785A1 (en) | Polymorphic Stacked DRAM Memory Architecture | |
| US10860244B2 (en) | Method and apparatus for multi-level memory early page demotion | |
| US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
| US10031854B2 (en) | Memory system | |
| US10019358B2 (en) | Bank address remapping to load balance memory traffic among banks of memory | |
| US20180088853A1 (en) | Multi-Level System Memory Having Near Memory Space Capable Of Behaving As Near Memory Cache or Fast Addressable System Memory Depending On System State | |
| US9880778B2 (en) | Memory devices and methods | |
| EP3506112A1 (en) | Multi-level system memory configurations to operate higher priority users out of a faster memory level | |
| US20160103766A1 (en) | Lookup of a data structure containing a mapping between a virtual address space and a physical address space | |
| US11003591B2 (en) | Arithmetic processor, information processing device and control method of arithmetic processor | |
| US20250245147A1 (en) | Storage device and operation method thereof | |
| US20220229552A1 (en) | Computer system including main memory device having heterogeneous memories, and data management method thereof |
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 |