IP Library Granted Patent US 11,216,371
Granted Patent B2
US 11,216,371 · App. 16/480,123 · Granted Jan 4, 2022

Cache memory and method for controlling the same

Inventor: Keita Yamaguchi (Tokyo, JP)
Assignee: MITSUBISHI ELECTRIC CORPORATION
G06F12/0646G06F12/10G06F2212/1041
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 11,216,371
App. No.
16/480,123
Granted
Jan 4, 2022
Kind
B2
Abstract

In a cache memory, a main unit stores memory address information which is associated with part of data stored in a memory space to be accessed, on a cache line-by-cache line basis. The memory space is divided into a plurality of memory regions. The address generation unit generates a cache memory address from a memory address specified by an external access request, based on a memory region among the plurality of memory regions which is associated with the memory address specified by the access request. A main unit is searched according to the cache memory address, thereby searching and replacing different ranges of cache lines for different memory regions.

Claims (37)

1. A cache memory, comprising:

a main unit storing a copy of part of data stored in a memory space to be accessed and a memory address information associated with the part of the data, on a cache line-by-cache line basis, the memory space being divided into a plurality of memory regions, different ranges of cache lines being associated with different memory regions of the plurality of memory regions; and

an address generation unit configured to receive a memory address in the memory space, specified by an external access request, determine which memory region among the plurality of memory regions the received memory address belongs to, and generate a cache memory address from the memory address specified by the external access request, based on the determined memory region, wherein

the main unit is searched according to the cache memory address, thereby searching and replacing different ranges of cache lines for different memory regions.

2. The cache memory according to claim 1 , wherein

the address generation unit includes:

an address translation information storage storing the address translation information representing association between a range of memory addresses of each of the plurality of memory regions and a range of cache lines; and

an address translator configured to generate the cache memory address by translating a portion of the memory address specified by the external access request or adding additional information to the memory address specified by the external access request, based on the address translation information.

3. The cache memory according to claim 2 , wherein

a mapping scheme of the cache memory is set-associative mapping or direct mapping,

the memory address includes a tag in upper bits, an index in middle bits, and an offset in lower bits, and

the address translator is configured to generate the cache memory address by translating the index of the memory address specified by the access request, based on the address translation information.

4. The cache memory according to claim 3 , wherein

the main unit includes:

a data storage storing data on a cache line-by-cache line basis;

a tag storage storing tag information included in a memory address which is associated with the data stored in the data storage;

a line selector configured to select one or more cache lines, based on an index of the cache memory address or the additional information; and

a tag comparator/data selector configured to compare a tag included in the cache memory address and tags of the selected one or more cache lines to determine whether a cache hit has occurred, and, on a cache hit, select data based on an offset of the cache memory address.

5. The cache memory according to claim 2 , wherein

a mapping scheme of the cache memory is fully associative mapping,

the memory address includes a tag in upper bits and an offset in lower bits, and

the address translator generates the cache memory address by adding additional information to the memory address specified by the access request, based on the address translation information.

6. The cache memory according to claim 5 , wherein

the main unit includes:

a data storage storing data on a cache line-by-cache line basis;

a tag storage storing tag information included in a memory address which is associated with the data stored in the data storage;

a line selector configured to select one or more cache lines, based on an index of the cache memory address or the additional information; and

a tag comparator/data selector configured to compare a tag included in the cache memory address and tags of the selected one or more cache lines to determine whether a cache hit has occurred, and, on a cache hit, select data based on an offset of the cache memory address.

7. A cache memory control method, comprising

receiving a memory address in a memory space specified by an external access request, the memory space being divided into a plurality of memory regions, different ranges of cache lines of a cache being associated with the different memory regions;

determining which memory region among the plurality of memory regions the received memory address belongs to;

based on the determined memory region, translating a portion of the memory address specified by the external access request or adding additional information to the memory address specified by the external access request, to generate a cache memory address;

selecting one or more cache lines of the cache according to the cache memory address; and

determining whether a cache hit has occurred, based on memory address information stored in the selected one or more cache lines.

8. The cache memory control method according to claim 7 , further comprising

storing address translation information into an address translation information storage, the address translation information representing association of a range of memory addresses of each of the plurality of memory regions and a range of cache lines, wherein

generating the cache memory address includes generating the cache memory address based on the address translation information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2019
From: YAMAGUCHI, KEITA
To: MITSUBISHI ELECTRIC CORPORATION
Reel/Frame 049834/0464 →
Continuity (1)
Related Publication 20200019499A1 · Jan 16, 2020