IP Library Granted Patent US 9,678,882
Granted Patent B2
US 9,678,882 · App. 13/649,532 · Granted Jun 13, 2017

Systems and methods for non-blocking implementation of cache flush instructions

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,678,882
App. No.
13/649,532
Granted
Jun 13, 2017
Kind
B2
Abstract

Systems and methods for non-blocking implementation of cache flush instructions are disclosed. As a part of a method, data is accessed that is received in a write-back data holding buffer from a cache flushing operation, the data is flagged with a processor identifier and a serialization flag, and responsive to the flagging, the cache is notified that the cache flush is completed. Subsequent to the notifying, access is provided to data then present in the write-back data holding buffer to determine if data then present in the write-back data holding buffer is flagged.

Claims (36)

1. A method for non-blocking implementation of cache flush instructions, comprising:

accessing data received into a write-back data holding buffer from a software initiated cache flushing operation;

flagging said data with a flag that comprises a processor identifier and a serialization flag, wherein the serialization flag is a flush identifier;

responsive to said flagging, notifying said cache that said cache flushing operation is complete; and

subsequent to said notifying, providing access to data then present in said write-back data holding buffer to determine if said data then present in said write-back data holding buffer is flagged.

2. The method of claim 1 wherein data that replaces said data that is received in said write-back data holding buffer in L2 cache replaces said data that is received in said write-back data holding buffer in L2 cache before said cache flushing operation has been completed.

3. The method of claim 1 wherein said notifying is performed before said cache flushing operation is completed.

4. The method of claim 1 wherein said notifying is performed before an execution of a serialization instruction in said software that initiated said cache flushing operation.

5. The method of claim 1 wherein said data remains in said write-back data holding buffer for a period after said notifying is performed.

6. The method of claim 1 wherein said processor identifier identifies a specific processor core among a plurality of processor cores.

7. The method of claim 1 wherein said serialization flag identifies a specific flush operation associated with said processor.

8. A cache controller, comprising:

a system for non-blocking implementation of cache flush instructions, comprising:

an accessing component for accessing data received into a write-back data holding buffer from a cache flushing operation;

a flagging component for flagging said data with a processor identifier and a flush identifier;

a notifying component for, responsive to said tagging, notifying said cache that said cache flushing is completed; and

an access providing component for, subsequent to said notifying, providing access to data then present in said write-back data holding buffer to determine if said data then present in said write-back data holding buffer is flagged.

9. The cache controller of claim 8 wherein data that replaces said data that is received in said write-back data holding buffer in L2 cache replaces said data that is received in said write-back data holding buffer in L2 cache before said cache flushing operation has been completed.

10. The cache controller of claim 8 wherein said notifying is performed before said cache flushing operation is completed.

11. The cache controller of claim 8 wherein said notifying is performed before an execution of a serialization instruction in a software program that initiated said cache flushing operation.

12. The cache controller of claim 8 wherein said data remains in said write-back holding buffer for a period after said notifying is performed.

13. The cache controller of claim 8 wherein said processor identifier identifies a specific processor core among a plurality of processor cores.

14. The cache controller of claim 8 wherein said flush identifier identifies a specific flush operation associated with said processor.

15. A processor comprising:

cache components; and

cache controller, comprising:

a system for non-blocking implementation of cache flush instructions, comprising:

an accessing component for accessing data received into a write-back data holding buffer from a cache flushing operation;

a flagging component for flagging said data with a processor identifier and a flush identifier;

a notifying component for responsive to said tagging, notifying said cache that said cache flushing is completed; and

an access providing component for, subsequent to said notifying, providing access to data then present in said write-back data holding buffer to determine if said data then present in said write-back data holding buffer is flagged.

16. The processor of claim 15 wherein data that replaces said data that is received in said write-back data holding buffer in L2 cache replaces said data that is received in said write-back data holding buffer in L2 cache before said cache flushing operation has been completed.

17. The processor of claim 15 wherein said notifying is performed before said cache flushing operation is completed.

18. The processor of claim 15 wherein said notifying is performed before an execution of a serialization instruction in a software program that initiated said cache flushing operation.

19. The processor of claim 15 wherein said data remains in said write-back holding buffer for a period after said notifying is performed.

20. The processor of claim 15 wherein said processor identifier identifies a specific processor core among a plurality of processor cores.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: SOFT MACHINES, INC.
To: INTEL CORPORATION
Reel/Frame 040631/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2012
From: AVUDAIYAPPAN, KARTHIKEYAN; ABDALLAH, MOHAMMAD
To: SOFT MACHINES, INC.
Reel/Frame 029113/0312 →