IP Library Granted Patent US 9,767,041
Granted Patent B2
US 9,767,041 · App. 14/721,625 · Granted Sep 19, 2017

Managing sectored cache

Inventors: Aravindh V. Anantaraman (Folsom, CA); Zvika Greenfield (Kfar Sava, IL); Israel Diamand (Aderet, IL); Anant V. Nori (Banglore, IN); Pradeep Ramachandran (Bangalore, IN); Nir Misgav (Netanya, IL)
Assignee: Intel Corporation
G06F12/121G06F12/0804G06F12/0868G06F12/0891G06F12/0893G06F9/4418G06F12/0864G06F12/123G06F12/128G06F2212/1021G06F2212/1024G06F2212/214G06F2212/608
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 9,767,041
App. No.
14/721,625
Granted
Sep 19, 2017
Kind
B2
Abstract

Apparatus, systems, and methods to manage memory operations are described. In one example, a controller comprises logic to receive a first transaction to operate on a first data element in the cache memory, perform a lookup operation for the first data element in the volatile memory and in response to a failed lookup operation, to generate a cache scrub hint forward the cache scrub hint to a cache scrub engine and identify one or more cache lines to scrub based at least in part on the cache scrub hint. Other examples are also disclosed and claimed.

Claims (53)

1. An electronic device comprising:

at least one processor;

a cache memory communicatively coupled to the at least one processor;

a controller communicatively coupled to the cache memory and comprising logic, at least partially including hardware logic, to:

receive a first transaction to operate on a first data element in the cache memory;

perform a lookup operation for the first data element in the cache memory; and

in response to a failed lookup operation, to:

generate a cache scrub hint;

forward the cache scrub hint to a cache scrub engine; and

identify one or more cache lines to scrub based at least in part on the cache scrub hint; and

in response to a successful lookup operation, to:

determine whether an active cache scrub capability is activated; and

in response to a determination that the active cache scrub capability is activated, to:

generate a cache scrub hint;

forward the cache scrub hint to a cache scrub engine; and

identify one or more cache lines to scrub based at least in part on the cache scrub hint.

2. The electronic device of claim 1 , wherein the controller further comprises logic, at least partially including hardware logic, to:

scrub a section of the cache memory associated with one or more tags.

3. The electronic device of claim 2 , wherein the controller further comprises logic, at least partially including hardware logic, to:

designate the section of the cache memory as a potential victim for a replacement operation.

4. The electronic device of claim 3 , wherein the controller further comprises logic, at least partially including hardware logic, to:

implement a replacement operation to overwrite at least a portion of data in the potential victim.

5. The electronic device of claim 1 , wherein the controller further comprises logic, at least partially including hardware logic, to:

locate a least recently used (LRU) cache block; and

assign the LRU cache block as a cache hint.

6. The electronic device of claim 1 , wherein the controller further comprises logic, at least partially including hardware logic, to:

locate a cache block associated with a cache hit; and

assign cache block as a cache hint.

7. A controller communicatively coupled to a cache memory and comprising logic, at least partially including hardware logic, to:

receive a first transaction to operate on a first data element in the cache memory;

perform a lookup operation for the first data element in the cache memory; and

in response to a failed lookup operation, to:

generate a cache scrub hint;

forward the cache scrub hint to a cache scrub engine; and

identify one or more cache lines to scrub based at least in part on the cache scrub hint; and

in response to a successful lookup operation, to:

determine whether an active cache scrub capability is activated; and

in response to a determination that the active cache scrub capability is activated, to:

generate a cache scrub hint;

forward the cache scrub hint to a cache scrub engine; and

identify one or more cache lines to scrub based at least in part on the cache scrub hint.

8. The controller of claim 7 , wherein the controller further comprises logic, at least partially including hardware logic, to:

scrub a section of the cache memory associated with one or more tags.

9. The controller of claim 8 , wherein the controller further comprises logic, at least partially including hardware logic, to:

designate the section of the cache memory as a potential victim for a replacement operation.

10. The controller of claim 9 , wherein the controller further comprises logic, at least partially including hardware logic, to:

implement a replacement operation to overwrite at least a portion of data in the potential victim.

11. The controller of claim 7 , wherein the controller further comprises logic, at least partially including hardware logic, to:

locate a least recently used (LRU) cache block; and

assign the LRU cache block as a cache hint.

12. The controller of claim 7 , wherein the controller further comprises logic, at least partially including hardware logic, to:

locate a cache block associated with a cache hit; and

assign cache block as a cache hint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2015
From: ANANTARAMAN, ARAVINDH V.; GREENFIELD, ZVIKA; DIAMAND, ISRAEL; NORI, ANANT V.; RAMACHANDRAN, PRADEEP; MISGAV, NIR
To: INTEL CORPORATION
Reel/Frame 035768/0698 →
Continuity (1)
Related Publication 20160350237A1 · Dec 1, 2016