IP Library Granted Patent US 9,626,294
Granted Patent B2
US 9,626,294 · App. 13/633,893 · Granted Apr 18, 2017

Performance-driven cache line memory access

Inventors: Robert H. Bell, Jr. (Austin, TX); Men-Chow Chiang (Austin, TX); Hong L. Hua (Austin, TX); Mysore S. Srinivas (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/084G06F12/0855G06F12/0886G06F12/0897
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,626,294
App. No.
13/633,893
Granted
Apr 18, 2017
Kind
B2
Abstract

According to one aspect of the present disclosure a system and technique for performance-driven cache line memory access is disclosed. The system includes: a processor, a cache hierarchy coupled to the processor, and a memory coupled to the cache hierarchy. The system also includes logic executable to, responsive to receiving, a request for a cache line: divide the request into a plurality of cache subline requests, wherein at least one of the cache subline requests comprises a high priority data request and at least one of the cache subline requests comprises a low priority data request; service the high priority data request; and delay servicing of the low priority data request until a low priority condition has been satisfied.

Claims (36)

1. A system, comprising:

a processor;

a cache hierarchy coupled to the processor;

a memory coupled to the cache hierarchy; and

logic executable to, responsive to receiving a request for a cache line:

divide the request into a plurality of cache subline requests, wherein at least one of the cache subline requests comprises a high priority data request and at least one of the cache subline requests comprises a low priority data request;

service the high priority data request;

place the low priority data request into a low priority queue;

delay servicing of the low priority data request until a low priority condition has been satisfied; and

responsive to receiving a sector address request corresponding to the low priority data request, transfer the low priority data request to a high priority queue.

2. The system of claim 1 , wherein the logic is executable to:

initiate a timer; and

responsive to expiration of the timer, service the low priority data request.

3. The system of claim 1 , wherein the logic is executable to:

determine bus utilization; and

responsive to the bus utilization being below a threshold, service the low priority data request.

4. The system of claim 1 , wherein the logic is executable to, responsive to the processor cancelling the low priority data request, remove the low priority data request from the low priority queue.

5. The system of claim 1 , wherein the logic is executable to, responsive to receiving a castout request corresponding to an address of the low priority data request, remove the low priority data request from the low priority queue and write data corresponding to the address to the memory.

6. The system of claim 1 , wherein the logic is executable to:

place the high priority data request into the high priority queue; and

service requests from the high priority queue before servicing requests from the low priority queue.

7. A computer program product for performance-driven cache line memory access, the computer program product comprising:

a non-transitory computer readable medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to, responsive to receiving a request for a cache line:

divide the request into a plurality of cache subline requests, wherein at least one of the cache subline requests comprises a high priority data request and at least one of the cache subline requests comprises a low priority data request;

service the high priority data request;

place the low priority data request into a low priority queue;

delay servicing of the low priority data request until a low priority condition has been satisfied; and

responsive to receiving a sector address request corresponding to the low priority data request, transfer the low priority data request to a high priority queue.

8. The computer program product of claim 7 , wherein the computer readable program code is configured to:

initiate a timer; and

responsive to expiration of the timer, service the low priority data request.

9. The computer program product of claim 7 , wherein the computer readable program code is configured to:

determine bus utilization; and

responsive to the bus utilization being below a threshold, service the low priority data request.

10. The computer program product of claim 7 , wherein the computer readable program code is configured to, responsive to a processor cancelling the low priority data request, remove the low priority data request from the low priority queue.

11. The computer program product of claim 7 , wherein the computer readable program code is configured to, responsive to receiving a castout request corresponding to an address of the low priority data request, remove the low priority data request from the low priority queue and write data corresponding to the address to a memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2012
From: BELL, ROBERT H., JR.; CHIANG, MEN-CHOW; HUA, HONG L.; SRINIVAS, MYSORE S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029065/0932 →
Continuity (1)
Related Publication 20140095791A1 · Apr 3, 2014