IP Library Granted Patent US 12711067
Granted Patent B2
US 12711067 · App. 18/883,239 · Granted Aug 18, 2026

Cache memory controller for system including plurality of memory devices and operating method of cache memory controller

Inventor: Seungwon Yang (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0802
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711067
App. No.
18/883,239
Granted
Aug 18, 2026
Kind
B2
Abstract

A cache memory controller includes an internal memory configured to store a plurality of cost data sets and pieces of weight data on a plurality of internal elements included in the plurality of cost data sets, the plurality of cost data sets being related to data access, and a logic circuit configured to generate a first cost data set corresponding to data access to the first memory and a second cost data set corresponding to data access to the second memory, determine a target memory out of the first and second memory, based on a result of comparison of weighted sum of the first cost data set and a weighted sum of the second cost data set that are calculated based on the pieces of the weight data, and select a cache line to be replaced, out of cache lines in which data read from the target memory is stored.

Claims (40)

1 . A cache memory controller comprising:

an internal memory configured to store a plurality of cost data sets and pieces of weight data on a plurality of internal elements included in the plurality of cost data sets, the plurality of cost data sets being related to data access; and

a logic circuit configured to

generate a first cost data set corresponding to data access to a first memory and a second cost data set corresponding to data access to a second memory,

determine a target memory out of the first memory and the second memory, based on a weighted sum of the first cost data set and a weighted sum of the second cost data set that are calculated based on the pieces of the weight data, and

select a cache line to be replaced, out of cache lines in which data read from the target memory is stored, from among a plurality of cache lines included in a cache memory, when a cache miss occurs after the cache memory is full of data,

wherein the cache memory controller is configured to control the cache memory including the plurality of cache lines configured to temporarily store data from the first memory or the second memory.

2 . The cache memory controller of claim 1 , wherein the plurality of internal elements included in the plurality of cost data sets includes at least two of latency data for data access, data on power consumption, overhead data, data on usage of common resources comprising buses and systems, and low-power policy data reflecting impacts on a low-power policy.

3 . The cache memory controller of claim 2 , wherein the logic circuit is configured to calculate latency data for access to a read memory from which data is retrieved, together with data access, based on whether the cache miss has occurred or whether a cycle has been reached, or according to an external command, and the logic circuit is further configured to update latency data corresponding to the read memory based on the calculated latency data.

4 . The cache memory controller of claim 3 , wherein the logic circuit is configured to compare the weighted sum of the first cost data set and the weighted sum of the second cost data set again, based on a cost data set comprising the updated latency data, and the logic circuit is further configured to update the target memory.

5 . The cache memory controller of claim 1 , wherein the second memory is inside a second device, the second device being configured to be connected through a bus to a first device comprising the cache memory controller, the first memory, and the cache memory.

6 . The cache memory controller of claim 1 , wherein the logic circuit is configured to control the cache memory to store an index together during the storing of data in the cache memory, the index corresponding to information about a read memory from which data is retrieved, and

wherein the cache line to be replaced is selected out of cache lines in which an index of the target memory is stored in the cache memory, when the cache miss occurs after the cache memory is full of data.

7 . The cache memory controller of claim 1 , wherein the logic circuit is configured to

generate an N-th cost data set corresponding to data access to a memory in an N-th device connected to a first device through a bus,

compare the weighted sum of the first cost data set, the weighted sum of the second cost data set, and a weighted sum of the N-th cost data set, and

determine a target memory corresponding to a cost data set having a minimum weighted sum.

8 . The cache memory controller of claim 1 , wherein the logic circuit is configured to select the cache line to be replaced, based on at least one a Least Recently Used (LRU) scheme, a Most Recently Used (MRU) scheme, a Last In First Out (LIFO) scheme, and a First In First Out (FIFO) scheme.

9 . The cache memory controller of claim 1 , wherein the logic circuit is configured to update the pieces of weight data in response to an external command.

10 . An operating method of a cache memory controller, the method comprising:

generating a first cost data set corresponding to data access to a first memory;

generating a second cost data set corresponding to data access to a second memory;

determining a target memory out of the first memory and the second memory, based on a weighted sum of the first cost data set and a weighted sum of the second cost data set that are calculated based on pieces of weight data; and

selecting a cache line to be replaced, out of cache lines in which data read from the target memory is stored, from among cache lines included in a cache memory, when a cache miss occurs after the cache memory is full of data,

wherein the cache memory controller is configured to control the cache memory which is configured to temporarily store data from the first memory or the second memory.

11 . The method of claim 10 , wherein the pieces of weight data determine weights of a plurality of internal elements included in a plurality of cost data sets, and

wherein the plurality of internal elements include at least two of latency data for data access, data on power consumption, overhead data, data on usage of common resources comprising buses and systems, and low-power policy data reflecting impacts on a low-power policy.

12 . The method of claim 11 , further comprising:

calculating latency data for access to a read memory from which data is retrieved, together with data access, based on whether the cache miss has occurred or whether a cycle has been reached, or according to an external command; and

updating latency data corresponding to the read memory, based on the calculated latency data.

13 . The method of claim 12 , further comprising comparing the weighted sum of the first cost data set and the weighted sum of the second cost data set again, based on a cost data set including the updated latency data, and updating the target memory.

14 . The method of claim 10 , wherein the second memory is inside a second device, the second device being configured to be connected through a bus to a first device comprising the cache memory controller, the first memory, and the cache memory.

15 . The method of claim 10 , further comprising storing an index together during the storing of data in the cache memory, the index corresponding to information about a read memory from which data is retrieved,

wherein the selecting of the cache line to be replaced includes selecting the cache line to be replaced, out of cache lines in which an index of the target memory is stored in the cache memory.

16 . The method of claim 10 , further comprising generating an N-th cost data set corresponding to data access to a memory in an N-th device connected to a first device through a bus,

wherein the determining of the target memory includes

comparing the weighted sum of the first cost data set, the weighted sum of the second cost data set, and a weighted sum of the N-th cost data set, and

determining a target memory corresponding to a cost data set having a minimum weighted sum.

17 . The method of claim 10 , wherein the selecting of the cache line to be replaced is performed based on at least one a Least Recently Used (LRU) scheme, a Most Recently Used (MRU) scheme, a Last In First Out (LIFO) scheme, and a First In First Out (FIFO) scheme.

18 . The method of claim 10 , further comprising updating the pieces of weight data in response to an external command.