IP Library Granted Patent US 7,383,391
Granted Patent B2
US 7,383,391 · App. 11/131,582 · Granted Jun 3, 2008

Prefetch mechanism based on page table attributes

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 7,383,391
App. No.
11/131,582
Granted
Jun 3, 2008
Kind
B2
Abstract

A prefetch mechanism using prefetch attributes is disclosed. In one aspect, an explicit request for data stored in a memory is provided, and a prefetch attribute in a page table entry associated with the explicit request is examined to determine whether to provide one or more prefetch requests based on the prefetch attribute. Another aspect includes determining dynamic prefetch attributes for use in prefetching data, in which prefetch attributes are adjusted based on memory access requests that target next sequential blocks of memory relative to the most recent previous access in a page of memory.

Claims (8)

1. A method for prefetching data for use by a processor, the method comprising:

providing an explicit request for data stored in a page of a memory;

checking whether the explicit request matches any previously-provided prefetch request, wherein if the explicit request matches a previously-provided prefetch request, removing the previously-provided prefetch request from a prefetch request queue if it has not yet been issued to the memory;

examining a prefetch attribute stored in a page table entry associated with the page of memory for the explicit request, the page table entry used for translating an address used by the explicit request to a physical address of the page of the memory, wherein the prefetch attribute indicates the suitability of prefetching additional data in the page of the memory associated with the page table entry; and

determining whether to provide one or more prefetch requests based on the prefetch attribute, the prefetch requests operative to retrieve and store the additional data from the memory that potentially will be requested by the processor.

2. A method for determining a dynamic prefetch attribute for use in prefetching data for a processor, the method comprising:

incrementing a counter value if a memory access request to a page of memory targets a next sequential block of memory relative to the most recent previous access in the page of memory; and

transferring the counter value to a prefetch attribute for the page of memory when a memory access does not target the next sequential block of memory and when the counter value is greater than a current value of the prefetch attribute, the prefetch attribute being stored in a page table entry associated with the page of memory, wherein the prefetch attribute indicates the suitability of prefetching additional data in the page of the memory associated with the page table entry and is examined during explicit access requests to the memory to determine the number of prefetch requests to provide.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026894/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2005
From: DAVIS, GORDON TAYLOR; GENDUSO, THOMAS B.; KOSSMAN, HAROLD F.; TODD, ROBERT W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016543/0729 →
Continuity (1)
Related Publication 20060265552A1 · Nov 23, 2006