IP Library Granted Patent US 9,361,227
Granted Patent B2
US 9,361,227 · App. 14/015,086 · Granted Jun 7, 2016

Systems and methods for faster read after write forwarding using a virtual address

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,361,227
App. No.
14/015,086
Granted
Jun 7, 2016
Kind
B2
Abstract

Methods for read after write forwarding using a virtual address are disclosed. A method includes determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address and determining if all stores occupying a store queue before the remapping have been retired from the store queue. Loads that are younger than the stores that occupied the store queue before the remapping are prevented from being dispatched and executed until the stores that occupied the store queue before the remapping have left the store queue and become globally visible.

Claims (33)

1. A method for read after write forwarding using a virtual address, comprising:

determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address;

determining if all stores occupying a store queue before said remapping have been retired from said store queue; and

preventing loads that are more recent than the stores that occupied the store queue before said remapping from being dispatched and executed until the stores that occupied the store queue before said remapping have left the store queue and become globally visible.

2. The method of claim 1 wherein said read after write forwarding is not delayed by a virtual address to physical address translation.

3. The method of claim 1 wherein said read after write forwarding is based on said virtual address.

4. The method of claim 1 wherein said read after write forwarding comprises a load that has the same virtual address as a prior store.

5. The method of claim 4 wherein said load and said prior store have different physical addresses.

6. The method of claim 4 wherein said load obtains data from said store queue if said virtual address matches a virtual address that is present in said store queue.

7. A cache system operable to perform read after write (RAW) forwarding, comprising:

data storage components; and

a cache controller, wherein said cache controller includes a system that comprises:

a determining component for determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address;

a determining component for determining if all stores occupying a store queue before said remapping have been retired from said store queue; and

a load enabling component for preventing loads that are more recent than the stores that occupied the store queue before said remapping from being dispatched and executed until the stores that occupied the store queue before said remapping have left the store queue and become globally visible.

8. The cache system of claim 7 wherein said RAW forwarding is not delayed by a virtual address to physical address translation.

9. The cache system of claim 7 wherein said RAW forwarding is based on said virtual address.

10. The cache system of claim 7 wherein said RAW forwarding comprises a load that has the same virtual address as a prior store.

11. The cache system of claim 10 wherein said load and said prior store have different physical addresses.

12. The cache system of claim 10 wherein said load obtains data from said store queue if said virtual address matches a virtual address that is present in said store queue.

13. A computer system, comprising:

a memory;

a processor;

a cache system operable to perform read after write (RAW) forwarding; and

a cache controller, wherein said cache controller includes a system that comprises:

a determining component for determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address;

a determining component for determining if all stores occupying a store queue before said remapping have been retired from said store queue; and

a load enabling component for preventing loads that are more recent than the stores that occupied the store queue before said remapping from being dispatched and executed until the stores that occupied the store queue before said remapping have left the store queue and become globally visible.

14. The computer system of claim 13 wherein said RAW forwarding is not delayed by a virtual address to physical address translation.

15. The computer system of claim 13 wherein said RAW forwarding is 20 based on said virtual address.

16. The computer system of claim 13 wherein said RAW forwarding comprises a load that has the same virtual address as a prior store.

17. The cache system of claim 16 wherein said load and said prior store have different physical addresses.

18. The cache system of claim 16 wherein said load obtains data from said store queue if said virtual address matches a virtual address that is present in said store queue.

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 Aug 30, 2013
From: AVUDAIYAPPAN, KARTHIKEYAN; CHAN, PAUL
To: SOFT MACHINES, INC.
Reel/Frame 031119/0221 →