IP Library › Granted Patent US 8,316,187
Granted Patent B2
US 8,316,187 · App. 12/169,091 · Granted Nov 20, 2012

Cache memory including a predict buffer

Assignee: International Business Machines Corporation
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 8,316,187
App. No.
12/169,091
Granted
Nov 20, 2012
Kind
B2
Abstract

Disclosed is a cache memory, design structure, and corresponding method for improving cache performance comprising one or more cache lines of equal size, each cache line adapted to store a cache block of data from a main memory in response to an access request from a processor; and a predict buffer, of size equal to the size of the cache lines, configured to store a next block of data from said main memory in response to a predict-fetch signal generated using at least one previous access request.

Claims (16)

1. A cache memory comprising:

one or more cache lines of equal size, each said cache line adapted to store a cache block of data from a main memory in response to an access request from a processor; and

a predict buffer, of size equal to the size of said cache lines, configured to store a next block of data from said main memory in response to a predict-fetch signal generated using at least one previous said access request to the same cache block in said cache memory, wherein said next block of data from said main memory having an address next to an address of said same cache block in said memory;

wherein said predict-fetch signal is generated by comparing a number of successive cache hits generated by said access requests from said processor to said same cache block with a predetermined threshold and asserting said predict-fetch signal based on said comparison, wherein said generating further comprises comparing, if an access request by said processor generates a cache miss, an address of a requested cache block with an address of the cache block in said predict buffer and moving the cache block in the predict buffer to one of said cache lines based on said comparison, wherein if a predict-fetch from the main memory is in progress, the number of the successive cache hits is reset.

2. The cache memory of claim 1 , wherein said predict-fetch signal is not asserted if said next cache block is already stored in a cache line of said cache memory.

3. The cache memory of claim 1 , wherein said predict-fetch signal is not asserted if said next cache block is already stored in said predict buffer.

4. The cache memory of claim 1 , wherein said data from said main memory comprises instructions for said processor.

5. A method of storing a block of data in a cache memory, said method comprising:

comparing a number of successive cache hits generated by access requests from a processor to the same cache block already stored within said cache memory with a predetermined threshold, and

storing, based on said comparison, a next block of data from a main memory in said cache memory, said next block having an address next to the address of said same cache block in said main memory, wherein said next block of data is stored in a predict buffer in said cache memory, wherein the cache memory comprises one or more cache lines, and wherein said predict buffer is of size equal to a size of each of the cache lines in said cache memory, wherein if a predict-fetch from the main memory is in progress, the number of successive cache hits is reset; and

comparing, if an access request by said processor generates a cache miss, an address of a requested cache block with an address of the cache block in said predict buffer and moving the cache block in the predict buffer to one of said cache lines based on said comparison.

6. The method of claim 5 , wherein said next block of data is not stored if said next cache block is already stored in a cache line of said cache memory.

7. The method of claim 5 , wherein said data from said main memory comprises instructions for said processor.

8. A design structure embodied in a non-transitory machine readable medium for designing, manufacturing, or testing an integrated circuit, the design structure comprising:

one or more cache lines of equal size, each said cache line adapted to store a cache block of data from a main memory in response to an access request from a processor; and

a predict buffer, of size equal to the size of said cache lines, configured to store a next block of data from said main memory in response to a predict-fetch signal generated using at least one previous said access request to the same cache block in one of said cache lines, wherein said next block of data from said main memory has an address next to an address of said same cache block in said main memory, wherein said predict-fetch signal is generated by comparing a number of successive cache hits generated by said access requests from said processor to said same cache block with a predetermined threshold and asserting said predict-fetch signal based on said comparison, wherein said generating further comprises comparing, if an access request by said processor generates a cache miss, an address of a requested cache block with an address of the cache block in said predict buffer and moving the cache block in the predict buffer to one of said cache lines based on said comparison, wherein if a predict-fetch from the main memory is in progress, the number of successive cache hits is reset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2008
From: POTHIREDDY, ANIL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021204/0384 →
Continuity (1)
Related Publication 20100011169A1 · Jan 14, 2010