JP6730434B2 - ハイブリッドキャッシュ - Google Patents
ハイブリッドキャッシュ Download PDFInfo
- Publication number
- JP6730434B2 JP6730434B2 JP2018531516A JP2018531516A JP6730434B2 JP 6730434 B2 JP6730434 B2 JP 6730434B2 JP 2018531516 A JP2018531516 A JP 2018531516A JP 2018531516 A JP2018531516 A JP 2018531516A JP 6730434 B2 JP6730434 B2 JP 6730434B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- logical
- logical cache
- processor
- core
- 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/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/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/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; 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
- G06F12/0871—Allocation or management of cache space
-
- 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
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/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; CALCULATING OR 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; CALCULATING OR 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)
Description
Claims (19)
- 第1コアに接続された第1物理キャッシュと、
第2コアに接続された第2物理キャッシュと、
コントロールユニットと、を備え、
前記コントロールユニットは、
前記第1物理キャッシュを第1論理キャッシュと第2論理キャッシュの第1部分とに分割することと、
前記第2物理キャッシュを第3論理キャッシュと前記第2論理キャッシュの第2部分とに分割することであって、前記第1論理キャッシュ及び前記第3論理キャッシュはキャッシュ階層の第1レベルを表し、前記第2論理キャッシュは前記キャッシュ階層の第2レベルを表し、前記第1論理キャッシュ及び前記第2論理キャッシュの各々は高いレベルのメモリから取得されたデータを記憶するように構成されている、ことと、
前記第2論理キャッシュの前記第1部分の第1ウェイを前記第1論理キャッシュに再割り当てすることと、
前記第2論理キャッシュの前記第1ウェイに記憶した第1キャッシュラインを識別することと、
前記第1ウェイを前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることに応じて、前記第1キャッシュラインを無効化することと、
を行うように構成されている、
プロセッサ。 - 前記第1論理キャッシュは前記第1コアの専用キャッシュであり、
前記第3論理キャッシュは前記第2コアの専用キャッシュであり、
前記第2論理キャッシュは前記第1コア及び前記第2コアの両方によって共有されている、請求項1に記載のプロセッサ。 - 前記コントロールユニットは、
アドレスを含む要求を受信したことに応じて、前記第1論理キャッシュにおいてルックアップを実行することと、
前記第1論理キャッシュにおいて前記要求がミスしたと判別した場合に、
前記アドレスが前記第2論理キャッシュの前記第1部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第1部分においてルックアップを実行することと、
前記アドレスが前記第2論理キャッシュの前記第2部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第2部分においてルックアップを実行することと、
を行うように構成されている、請求項1に記載のプロセッサ。 - 前記プロセッサは、1つ以上のキャッシュのキャッシュヒット率及び前記第1論理キャッシュと前記第3論理キャッシュとの間のキャッシュデータのマイグレーション率のうち1つ以上に応じて、前記第1論理キャッシュ、前記第2論理キャッシュ及び前記第3論理キャッシュのうち1つ以上のサイズを変更するように構成されている、請求項1に記載のプロセッサ。
- 前記プロセッサは、
第1メモリアドレスにおいてミスを検出したことに応じて、前記第2論理キャッシュ内の元の位置をターゲットとする第1要求を送信することと、
前記第1要求をメモリに送信した後であって第1フィルデータをメモリから受信する前に、前記元の位置を前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることであって、前記第1フィルデータは前記第1要求に対応している、ことと、
前記第1フィルデータをメモリから受信することと、
前記第1メモリアドレスが前記第2論理キャッシュの前記元の位置とは異なる前記第2論理キャッシュ内の新たな位置に再マッピングされたことを判別することと、
前記第1フィルデータを前記第2論理キャッシュの前記新たな位置に記憶することと、
を行うように構成されている、請求項1に記載のプロセッサ。 - 前記プロセッサは、第1アプリケーションの実行から第2アプリケーションの実行への切り替えに応じて、前記第1論理キャッシュの記憶容量を減らし、前記第2論理キャッシュの記憶容量を増加させるように構成されている、請求項1に記載のプロセッサ。
- 第1コアに接続された第1物理キャッシュを第1論理キャッシュと第2論理キャッシュの第1部分とに分割することと、
第2コアに接続された第2物理キャッシュを第3論理キャッシュと前記第2論理キャッシュの第2部分とに分割することであって、前記第1論理キャッシュ及び前記第3論理キャッシュはキャッシュ階層の第1レベルを表し、前記第2論理キャッシュは前記キャッシュ階層の第2レベルを表し、前記第1論理キャッシュ及び前記第2論理キャッシュの各々は高いレベルのメモリから取得されたデータを記憶するように構成されている、ことと、
前記第2論理キャッシュの前記第1部分の第1ウェイを前記第1論理キャッシュに再割り当てすることと、
前記第2論理キャッシュの前記第1ウェイに記憶した第1キャッシュラインを識別することと、
前記第1ウェイを前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることに応じて、前記第1キャッシュラインを無効化することと、を含む、
方法。 - 前記第1論理キャッシュは前記第1コアの専用キャッシュであり、
前記第3論理キャッシュは前記第2コアの専用キャッシュであり、
前記第2論理キャッシュは前記第1コア及び前記第2コアの両方によって共有されている、請求項7に記載の方法。 - アドレスを含む要求を受信したことに応じて、前記第1論理キャッシュにおいてルックアップを実行することと、
前記第1論理キャッシュにおいて前記要求がミスしたと判別した場合に、
前記アドレスが前記第2論理キャッシュの前記第1部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第1部分においてルックアップを実行することと、
前記アドレスが前記第2論理キャッシュの前記第2部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第2部分においてルックアップを実行することと、を含む、請求項7に記載の方法。 - 1つ以上のキャッシュのキャッシュヒット率及び前記第1論理キャッシュと前記第3論理キャッシュとの間のキャッシュデータのマイグレーション率のうち1つ以上に応じて、前記第1論理キャッシュ、前記第2論理キャッシュ及び前記第3論理キャッシュのうち1つ以上のサイズを変更することを含む、請求項7に記載の方法。
- 第1メモリアドレスにおいてミスを検出したことに応じて、前記第2論理キャッシュ内の元の位置をターゲットとする第1要求を送信することと、
前記第1要求をメモリに送信した後であって第1フィルデータをメモリから受信する前に、前記元の位置を前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることであって、前記第1フィルデータは前記第1要求に対応している、ことと、
前記第1フィルデータをメモリから受信することと、
前記第1メモリアドレスが前記第2論理キャッシュの前記元の位置とは異なる前記第2論理キャッシュ内の新たな位置に再マッピングされたことを判別することと、
前記第1フィルデータを前記第2論理キャッシュの前記新たな位置に記憶することと、を含む、請求項7に記載の方法。 - 第1アプリケーションの実行から第2アプリケーションの実行への切り替えに応じて、前記第1論理キャッシュの記憶容量を減らし、前記第2論理キャッシュの記憶容量を増加させることを含む、請求項7に記載の方法。
- メモリと、
第1コアに接続された第1物理キャッシュと、第2コアに接続された第2物理キャッシュと、コントロールユニットと、を含むプロセッサと、を備え、
前記コントロールユニットは、
前記第1物理キャッシュを第1論理キャッシュと第2論理キャッシュの第1部分とに分割することと、
前記第2物理キャッシュを第3論理キャッシュと前記第2論理キャッシュの第2部分とに分割することであって、前記第1論理キャッシュ及び前記第3論理キャッシュはキャッシュ階層の第1レベルを表し、前記第2論理キャッシュは前記キャッシュ階層の第2レベルを表し、前記第1論理キャッシュ及び前記第2論理キャッシュの各々は高いレベルのメモリから取得されたデータを記憶するように構成されている、ことと、
前記第2論理キャッシュの前記第1部分の第1ウェイを前記第1論理キャッシュに再割り当てすることと、
前記第2論理キャッシュの前記第1ウェイに記憶した第1キャッシュラインを識別することと、
前記第1ウェイを前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることに応じて、前記第1キャッシュラインを無効化することと、
を行うように構成されている、
システム。 - 前記第1論理キャッシュは前記第1コアの専用キャッシュであり、
前記第3論理キャッシュは前記第2コアの専用キャッシュであり、
前記第2論理キャッシュは前記第1コア及び前記第2コアの両方によって共有されている、請求項13に記載のシステム。 - 前記コントロールユニットは、
アドレスを含む要求を受信したことに応じて、前記第1論理キャッシュにおいてルックアップを実行することと、
前記第1論理キャッシュにおいて前記要求がミスしたと判別した場合に、
前記アドレスが前記第2論理キャッシュの前記第1部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第1部分においてルックアップを実行することと、
前記アドレスが前記第2論理キャッシュの前記第2部分を選択することを判別したことに応じて、前記第2論理キャッシュの前記第2部分においてルックアップを実行することと、
を行うように構成されている、請求項13に記載のシステム。 - 前記プロセッサは、1つ以上のキャッシュのキャッシュヒット率及び前記第1論理キャッシュと前記第3論理キャッシュとの間のキャッシュデータのマイグレーション率のうち1つ以上に応じて、前記第1論理キャッシュ、前記第2論理キャッシュ及び前記第3論理キャッシュのうち1つ以上のサイズを変更するように構成されている、請求項13に記載のシステム。
- 前記プロセッサは、
第1メモリアドレスにおいてミスを検出したことに応じて、前記第2論理キャッシュ内の元の位置をターゲットとする第1要求を送信することと、
前記第1要求をメモリに送信した後であって第1フィルデータをメモリから受信する前に、前記元の位置を前記第2論理キャッシュから前記第1論理キャッシュに再割り当てすることであって、前記第1フィルデータは前記第1要求に対応している、ことと、
前記第1フィルデータをメモリから受信することと、
前記第1メモリアドレスが前記第2論理キャッシュの前記元の位置とは異なる前記第2論理キャッシュ内の新たな位置に再マッピングされたことを判別することと、
前記第1フィルデータを前記第2論理キャッシュの前記新たな位置に記憶することと、
を行うように構成されている、請求項13に記載のシステム。 - 前記プロセッサは、第1アプリケーションの実行から第2アプリケーションの実行への切り替えに応じて、前記第1論理キャッシュの記憶容量を減らし、前記第2論理キャッシュの記憶容量を増加させるように構成されている、請求項13に記載のシステム。
- 前記アドレスは、
前記第1論理キャッシュの少なくとも一部を識別する1つ以上のビットと、
前記第2論理キャッシュの第1部分及び前記第2論理キャッシュの第2部分のうち何れかを識別する1つ以上のビットと、を含む、請求項3に記載のプロセッサ。
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 (3)
Publication Number | Publication Date |
---|---|
JP2019502996A JP2019502996A (ja) | 2019-01-31 |
JP2019502996A5 JP2019502996A5 (ja) | 2019-10-31 |
JP6730434B2 true JP6730434B2 (ja) | 2020-07-29 |
Family
ID=59057364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018531516A Active JP6730434B2 (ja) | 2015-12-17 | 2016-09-20 | ハイブリッドキャッシュ |
Country Status (6)
Country | Link |
---|---|
US (1) | US10255190B2 (ja) |
EP (1) | EP3391227A4 (ja) |
JP (1) | JP6730434B2 (ja) |
KR (1) | KR102414157B1 (ja) |
CN (1) | CN108431786B (ja) |
WO (1) | WO2017105575A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2761466B1 (en) * | 2011-09-30 | 2020-08-05 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
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 |
GB2622841A (en) * | 2022-09-29 | 2024-04-03 | Imagination Tech Ltd | Distributed system level cache |
Family Cites Families (30)
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 |
US20070143546A1 (en) * | 2005-12-21 | 2007-06-21 | Intel Corporation | Partitioned shared cache |
US20080104323A1 (en) | 2006-10-26 | 2008-05-01 | Colglazier Daniel J | Method for identifying, tracking, and storing hot cache lines in an smp environment |
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 |
US8412971B2 (en) * | 2010-05-11 | 2013-04-02 | Advanced Micro Devices, Inc. | Method and apparatus for cache control |
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 |
US8775737B2 (en) * | 2010-12-02 | 2014-07-08 | Microsoft Corporation | Efficient cache management |
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 |
CN105027211B (zh) * | 2013-01-31 | 2018-09-21 | 慧与发展有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
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 |
KR101480143B1 (ko) * | 2013-08-02 | 2015-01-06 | 전남대학교산학협력단 | 멀티코어 프로세서의 캐쉬 교체 방법 및 그 방법에 의해 동작하는 멀티코어 프로세서 |
US9244724B2 (en) * | 2013-08-15 | 2016-01-26 | Globalfoundries Inc. | Management of transactional memory access requests by a cache memory |
WO2015030756A1 (en) | 2013-08-29 | 2015-03-05 | Empire Technology Development Llc | Cache partitioning in a multicore processor |
US9208103B2 (en) * | 2013-09-26 | 2015-12-08 | Cavium, Inc. | Translation bypass in multi-stage address translation |
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/EP3391227A4/en active Pending
- 2016-09-20 CN CN201680073767.4A patent/CN108431786B/zh active Active
- 2016-09-20 WO PCT/US2016/052722 patent/WO2017105575A1/en active Application Filing
- 2016-09-20 KR KR1020187017114A patent/KR102414157B1/ko active IP Right Grant
- 2016-09-20 JP JP2018531516A patent/JP6730434B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN108431786A (zh) | 2018-08-21 |
WO2017105575A1 (en) | 2017-06-22 |
EP3391227A4 (en) | 2019-08-28 |
JP2019502996A (ja) | 2019-01-31 |
US20170177492A1 (en) | 2017-06-22 |
KR20180085752A (ko) | 2018-07-27 |
CN108431786B (zh) | 2024-05-03 |
EP3391227A1 (en) | 2018-10-24 |
KR102414157B1 (ko) | 2022-06-28 |
US10255190B2 (en) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6730434B2 (ja) | ハイブリッドキャッシュ | |
JP6203937B2 (ja) | 計算機およびメモリ制御方法 | |
US9098417B2 (en) | Partitioning caches for sub-entities in computing devices | |
US9183157B2 (en) | Method for creating virtual machine, a virtual machine monitor, and a virtual machine system | |
US10282292B2 (en) | Cluster-based migration in a multi-level memory hierarchy | |
US10255191B2 (en) | Logical memory address regions | |
US20100312955A1 (en) | Memory system and method of managing the same | |
EP3462320B1 (en) | Dynamic page allocation in memory | |
US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
US20180150393A1 (en) | Cache memory device and electronic system including the same | |
US20220114086A1 (en) | Techniques to expand system memory via use of available device memory | |
EP3839747A1 (en) | Multi-level memory with improved memory side cache implementation | |
US11188467B2 (en) | Multi-level system memory with near memory capable of storing compressed cache lines | |
CN115904212A (zh) | 数据处理的方法、装置、处理器和混合内存*** | |
WO2014051544A2 (en) | Improved performance and energy efficiency while using large pages | |
US10101934B1 (en) | Memory allocation balancing for storage systems | |
CN115904688A (zh) | 内存管理方法、装置、处理器及计算设备 | |
EP3353664A1 (en) | Method and apparatus for pinning memory pages in a multi-level system memory | |
EP3166019B1 (en) | Memory devices and methods | |
EP3506112A1 (en) | Multi-level system memory configurations to operate higher priority users out of a faster memory level | |
KR20180078512A (ko) | 반도체 장치 | |
US11687359B2 (en) | Hybrid memory management apparatus and method for many-to-one virtualization environment | |
EP3017374A1 (en) | Lookup of a data structure containing a mapping between a virtual address space and a physical address space | |
KR20230011212A (ko) | 활용 인식 메모리 할당을 위한 시스템, 방법 및 장치 | |
JP2022121655A (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190919 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190919 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190919 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191210 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200508 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6730434 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |