IP Library Granted Patent US 7,237,068
Granted Patent B2
US 7,237,068 · App. 10/766,698 · Granted Jun 26, 2007

Computer system employing bundled prefetching and null-data packet transmission

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 7,237,068
App. No.
10/766,698
Granted
Jun 26, 2007
Kind
B2
Abstract

Various embodiments of a computer system employing bundled prefetching are disclosed. In one embodiment, a cache memory subsystem implements a method for prefetching data. The method comprises the cache memory subsystem receiving a read request to access a line of data and determining that a cache miss with respect to the line occurred. The method further comprises transmitting a bundled transaction on a system interconnect in response to the cache miss, wherein the bundled transaction combines a request for the line of data and a prefetch request. In response to the bundled transaction, the method further comprises determining that a second cache is an owner of the first line of data, determining whether the second cache is also an owner for any of the selected lines of data beyond the first line, the second cache transmitting to the first cache any of the selected lines for which the second cache is an owner, and the second cache transmitting a null-data packet to the first cache for each of a remainder of the selected lines of data for which the second cache is not an owner.

Claims (17)

1. A method for prefetching data in a multiprocessing computer system comprising:

a first cache receiving a request to access a first line of data, wherein the request to access the first line of data is a read request;

determining that a cache miss with respect to the first line occurred; and

transmitting a bundled transaction on a system interconnect in response to the cache miss, wherein the bundled transaction combines a request for the first line of data and a prefetch request, and wherein the bundled transaction includes a bit-map indicating selected lines of data beyond the first line to be prefetched in response to the prefetch request;

wherein, in response to the bundled transaction, the method further comprises:

determining that a second cache is an owner of the first line of data;

determining whether the second cache is also an owner for any of the selected lines of data beyond the first line;

the second cache transmitting to the first cache any of the selected lines for which the second cache is an owner; and

the second cache transmitting a null-data packet to the first cache for each of a remainder of the selected lines of data for which the second cache is not an owner.

2. The method as recited in claim 1 wherein the prefetch request is a prefetch read request.

3. The method as recited in claim 2 wherein the prefetch read request is a request to a sequential cache line.

4. A multiprocessing computer system comprising:

a microprocessor configured to convey a request to access a first line of data, wherein the request to access the first line of data is a read request;

a first cache coupled to receive the request, wherein the first cache is configured to transmit a bundled transaction on a system interconnect in response to a cache miss, wherein the bundled transaction combines a request for the first line of data and a prefetch request, and wherein the bundled transaction includes a bit-map indicating selected lines of data beyond the first line to be prefetched in response to the prefetch request; and

a second cache, wherein in response to the bundled transaction and a determination that the second cache is an owner of the first line of data, the second cache is configured to transmit to the first cache any of the selected lines for which it is an owner and is configured to transmit a null data packet to the first cache for each of a remainder of the selected lines for which it is not an owner.

5. The multiprocessing computer system as recited in claim 4 wherein the prefetch request is a prefetch read request.

6. The multiprocessing computer system as recited in claim 5 wherein the prefetch read request is a request to a sequential cache line.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2004
From: WALLIN, DAN; HAGERSTEN, ERIK E.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015738/0356 →