IP Library Granted Patent US 7,139,879
Granted Patent B2
US 7,139,879 · App. 10/626,182 · Granted Nov 21, 2006

System and method of improving fault-based multi-page pre-fetches

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,139,879
App. No.
10/626,182
Granted
Nov 21, 2006
Kind
B2
Abstract

A system and method of improving fault-based multi-page pre-fetches are provided. When a request to read data randomly from a file is received, a determination is made as to whether previous data has been read from memory (i.e., RAM) or from a storage device. If the data has been read from memory, an attempt is made to read the present requested data from memory. If the data is in memory it is provided to the requester. If the data is not in memory, a page fault occurs. If the requested data has a range that spans more than one page, the entire range is read in by a page fault handler. If previous data has not been read from memory, it will be assumed that the present requested data is not in memory. Hence, the present requested data will be loaded into memory. Loading random data that spans a range of more than one page all at once into memory inhibits the system from pre-fetching on the range due to fault-based sequential data accesses.

Claims (23)

1. A method of improving fault-based multi-page pre-fetches comprising the steps of:

assigning a value to a file when the file is opened, the value for determining whether previous data has been read from a random access memory (RAM) or from a storage device;

determining whether data from the file is being read randomly or sequentially upon receiving a request to read data from the file, the request including a range of data to be read, the range of data spanning more than one page;

determining, if data is being read randomly from the file, whether previous data has been read from the RAM or from the storage device;

attempting to read the data from the RAM if previous data has been read from the RAM or read the data all at once from the storage device using only one page fault if previous data has been read from the storage device; and

increasing the value by an award if the requested data is in the RAM.

2. The method of claim 1 wherein if it is determined that previous data was read from the RAM, the value is decreased by a penalty if the requested data is not in the RAM.

3. The method of claim 2 wherein if it is determined that previous data was read from the storage device, the value is increased by the award.

4. The method of claim 3 wherein the penalty is larger than the award.

5. A computer program product on a computer readable medium for improving fault-based multi-page pre-fetches comprising:

code means for assigning a value to a tile when the file is opened, the value for determining whether previous data has been read from a random access memory (RAM) or from a storage device;

code means for determining whether data from the file is being read randomly or sequentially upon receiving a request to read data from the file, the request including a range of data to be read, the range of data spanning more than one page;

code means for determining, if data is being read randomly from the file, whether previous data has been read from the RAM or from the storage device; p 1 code means for attempting to read the data from the RAM if previous data has been read from the RAM or read the data all at once from the storage device using only one page fault if previous data has been read from the storage device; and

code means for increasing the value by an award if the requested data is in the RAM.

6. The computer program product of claim 5 wherein if it is determined that previous data read was from the RAM, the value is decreased by a penalty if the requested data is not in the RAM.

7. The computer program product of claim 6 wherein if it is determined that previous data was read from the storage device, the value is in creased by the award.

8. The computer program product of claim 7 wherein the penalty is larger than the award.

9. A computer system comprising:

at least one storage device for storing code data; and

at least one processor for processing the code data to assign a value to a file when the file is opened, the value for determining whether previous data has been read from a random access memory (RAM) or from a storage device, to determine whether data from the file is being read randomly or sequentially upon receiving a request to read data from the file, the request including a range of data to be read, the range of data spanning more than one page, to determine, if data is being read randomly from the file, whether previous data has been read from the RAM or from a the storage device, to attempt to read the data from the RAM if previous data has been read from the RAM or read the data all at once from the storage device using only one page fault if previous data has been read from the storage device, and to increase the value by an award if the requested data is in the RAM.

10. The computer system of claim 9 wherein if it is determined that previous data was read from the RAM, the value is decreased by a penalty if the requested data is not in the RAM.

11. The computer system of claim 10 wherein if it is determined that previous data was read from the storage device, the value is increased by the award.

12. The computer system of claim 11 wherein the penalty is larger than the award.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2003
From: LOAFMAN, ZACHARY MERLYNN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014334/0369 →