# US 12,007,893 B1 · Method and apparatus for adaptively managing cache pool

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,893 B1
- Document ID: US12007893B1
- Status: Granted
- Kind: B1
- Application number: 18/504,966
- Filed: 2023-11-08
- Granted: 2024-06-11
- Earliest claimed: 2023-01-10
- Assignees: MetisX CO., Ltd.
- Applicants: MetisX CO., Ltd.
- Inventors: Dohun Kim; Jinyeong Kim; Juhyun Kim
- Web page: https://patentgrep.com/patent/US12007893B1

## CPC

- G06F 12/0802: Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F 12/0871: Allocation or management of cache space
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06F 2212/1016: Performance improvement
- G06F 2212/502: using adaptive policy
- G06F 2212/60: Details of cache memory
- G06F 2212/601: Reconfiguration of cache memory
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided is a method for managing an adaptive cache pool, which is performed by one or more processors, and includes receiving monitoring information on a cache memory divided into a plurality of cache pools, and adjusting a cache region associated with at least one of the plurality of cache pools based on the monitoring information.

## Claims

### Claim 1

A method for managing an adaptive cache pool, the method being performed by a processor and comprising:
receiving monitoring information on a cache memory divided into a plurality of cache pools; and
adjusting a cache region associated with at least one of the plurality of cache pools based on the monitoring information,
wherein each of the plurality of cache pools is allocated a different workload,
each workload is associated with a different data structure, and
the adjusting the cache region includes:
estimating a memory access pattern for each workload associated with the different data structure based on the monitoring information; and
adjusting the cache region associated with at least one of the plurality of cache pools based on the estimated memory access pattern for each workload.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the monitoring information includes at least one of an access log to an address associated with each of the plurality of cache pools, or a cache hit-rate.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the memory access pattern for each workload is estimated by inputting at least some of the monitoring information to a machine learning model.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the estimating the memory access pattern includes estimating an access probability or frequency for each main memory address for each workload based on at least some of the monitoring information.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the adjusting the cache region includes:
determining a target cache pool to change the cache region, based on the estimated memory access pattern for each workload; and
changing a main memory address associated with the determined target cache pool.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the adjusting the cache region includes:
determining a target cache pool to change the cache region, based on the estimated memory access pattern for each workload; and
changing a cache memory capacity allocated to the determined target cache pool.

### Claim 7 (depends on 1)

The method according to claim 1, wherein cache regions associated with the plurality of cache pools are adjusted such that different data structures are associated with different cache pools.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the monitoring information for the cache memory is received periodically or aperiodically, and
cache regions associated with the plurality of cache pools are adjusted periodically or aperiodically using the received monitoring information.

### Claim 9 (depends on 1)

The method according to claim 1, further comprising:
prior to receiving the monitoring information,
acquiring a type of an application requested to be executed; and
dividing the cache memory into the plurality of cache pools based on the type of the application.

### Claim 10 (depends on 1)

A computer-readable non-transitory recording medium storing instructions for causing performance of the method according to claim 1 on a computer.

### Claim 11

A computing device, comprising:
a cache memory; and
a processor connected to the cache memory and configured to execute at least one computer readable program for controlling the cache memory,
wherein the at least one program includes instructions for:
receiving monitoring information on the cache memory divided into a plurality of cache pools; and
adjusting a cache region associated with at least one of the plurality of cache pools based on the monitoring information,
each of the plurality of cache pools is allocated a different workload,
each workload is associated with a different data structure, and
the adjusting the cache region includes:
estimating a memory access pattern for each workload associated with the different data structure based on the monitoring information; and
adjusting the cache region associated with at least one of the plurality of cache pools based on the estimated memory access pattern for each workload.
