IP Library › Granted Patent US 11,709,776
Granted Patent B2
US 11,709,776 · App. 17/216,447 · Granted Jul 25, 2023

Methods and systems for a stripe mode cache pool

Inventor: Changqi Yang (Dublin, CA)
Assignee: Pensando Systems Inc.
G06F12/0864G06F12/0238G06F12/084G06F12/0811G06F2212/1021
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,709,776
App. No.
17/216,447
Granted
Jul 25, 2023
Kind
B2
Abstract

N-way associative cache pools can be implemented in an N-way associative cache. Different cache pools can be indicated by pool values. Different processes running on a computer can use different cache pools. An N-way associative cache circuit can be configured to have one or more stripe mode cache pools that are N-way associative. A cache control circuit can receive a physical address for a memory location and can interpret the physical address as fields including a tag field that contains a tag value and a set field that contains a set value. The physical address can also be used to determine a pool value that identifies one of the stripe mode cache pools. A set of N cache entries in the one of the stripe mode cache pools can be concurrently searched for the tag value. The set of N cache entries is determined using the set value.

Claims (65)

1. A method implemented by a cache control circuit operatively coupled to an N-way associative cache circuit, the method including:

configuring a plurality of sets of the N-way associative cache circuit as a plurality of stripe mode cache pools that are N-way associative;

receiving a physical address for a memory location that includes

a tag field that contains a tag value and a set field that contains a set value;

using the physical address to determine a pool value that identifies one of the stripe mode cache pools;

using the set value and the pool value to identify one of the sets of the N-way associative cache circuit that is in the one of the stripe mode cache pools; and

concurrently searching the one of the sets in the one of the stripe mode cache pools for the tag value,

wherein

the one of the stripe mode cache pools is N-way associative, and

the one of the stripe mode cache pools includes a plurality of the sets.

2. The method of claim 1 , wherein a lookup table uses P consecutive bits of the physical address to determine the pool value.

3. The method of claim 1 , wherein nonconsecutive bits of the physical address determine the pool value.

4. The method of claim 1 , further including:

receiving a second physical address that includes a second tag value and a second set value;

using the second physical address to determine a second pool value that identifies a second one of the stripe mode cache pools;

using the second set value and the second pool value to identify a second one of the sets of the N-way associative cache circuit; and

concurrently searching the second one of the sets for the tag value,

wherein the pool value is a P1-bit pool value,

wherein the second pool value is a P2-bit pool value, and

wherein P1 does not equal P2.

5. The method of claim 1 , further including reconfiguring the sets of the N-way associative cache circuit as a single stripe mode cache pool.

6. The method of claim 1 , further including adding an additional stripe mode cache pool to the stripe mode cache pools, wherein the additional stripe mode cache pool includes at least one of the sets.

7. The method of claim 1 , further including indicating a cache miss after concurrently searching the one of the sets in the one of the stripe mode cache pools for the tag value.

8. The method of claim 1 , further including indicating a cache hit after concurrently searching the one of the sets in the one of the stripe mode cache pools for the tag value.

9. The method of claim 1 , further including returning a cached data block after concurrently searching the one of the sets in the one of the stripe mode cache pools for the tag value.

10. The method of claim 1 , wherein a dynamic random-access memory (DRAM) controller is configured to cache data in the N-way associative cache circuit.

11. A system comprising:

an N-way associative cache circuit that includes a plurality of sets that are N-way associative; and

a cache control circuit configured to:

configure the sets as a plurality of stripe mode cache pools that are N-way associative,

receive a physical address for a memory location that includes a tag field that contains a tag value and a set field that contains a set value,

use the physical address to determine a pool value that identifies one of the stripe mode cache pools,

use the set value and the pool value to identify one of the sets of the N-way associative cache circuit that is in the one of the stripe mode cache pools; and

concurrently search the one of the sets in the one of the stripe mode cache pools for the tag value,

wherein

the set includes-N cache entries,

the one of the stripe mode cache pools is N-way associative, and

the one of the stripe mode cache pools includes a plurality of the sets.

12. The system of claim 11 , wherein a lookup table uses P consecutive bits of the physical address to determine the pool value.

13. The system of claim 11 , wherein nonconsecutive bits of the physical address determine the pool value.

14. The system of claim 11 , wherein the cache control circuit is further configured to:

receive a second physical address that includes a second tag value and a second set value;

use the second physical address to determine a second pool value that identifies a second one of the stripe mode cache pools;

use the second set value and the second pool value to identify a second one of the sets of the N-way associative cache circuit; and

concurrently search the second one of the sets for the tag value,

wherein the pool value is a P1-bit pool value,

wherein the second pool value is a P2-bit pool value, and

wherein P1 does not equal P2.

15. The system of claim 11 , wherein the cache control circuit is configured to:

add an additional stripe mode cache pool to the stripe mode cache pools; and

remove the additional stripe mode cache pool from the stripe mode cache pools.

16. The system of claim 11 , wherein the cache control circuit is configured to indicate a cache miss after concurrently searching the one of the sets for the tag value.

17. The system of claim 11 , wherein the cache control circuit is configured to indicate a cache hit after concurrently searching the one of the sets for the tag value.

18. The system of claim 11 , wherein the cache control circuit is configured to return a cached data block after concurrently searching the one of the sets for the tag value.

19. The system of claim 11 further including a dynamic random-access memory (DRAM) controller wherein the DRAM controller is configured to cache data in the N-way associative cache circuit.

20. A system comprising:

a last level caching means that is N-way associative and that includes a plurality of sets that are N-way associative;

a means for configuring the sets as a plurality of stripe mode cache pools that are N-way associative;

an identification means that includes an addressing means and that identifies a DRAM memory location;

a means for determining a pool identification means from the identification means; and

a means for specifying a one of the sets based on the addressing means and the pool identification means,

wherein

the one of the stripe mode cache pools is N-way associative,

the one of the stripe mode cache pools includes a plurality of the sets, and

the one of the sets includes N cache entries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2021
From: YANG, CHANGQI
To: PENSANDO SYSTEMS INC.
Reel/Frame 055759/0265 →
Continuity (1)
Related Publication 20220309002A1 · Sep 29, 2022