IP Library Granted Patent US 6,891,740
Granted Patent B2
US 6,891,740 · App. 10/651,461 · Granted May 10, 2005

Method for speculative streaming data from a disk drive

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 6,891,740
App. No.
10/651,461
Granted
May 10, 2005
Kind
B2
Abstract

A method and program product supporting speculative data transfers in a disk drive. Requested first data are read from a disk. Before the first data are read, a determination is made as to whether there are un-requested second data that are likely to be requested at a later time as part of a data stream. If so, then a determination is made as to whether the second data and the first data are stored in locations that are physically/logically proximate on the disk. If the second data are close to the first data, then the second data are speculatively read and stored in a local disk cache. If a subsequent request comes to the disk drive for the second data, then the second data are quickly produced from the disk cache rather than being slowly read off the disk.

Claims (30)

1. A method for speculatively reading data from a secondary storage device, the method comprising:

reading a first datum from a secondary storage device, the secondary storage device being capable of storing data on a storage medium;

determining a probability of the secondary storage device receiving a read request for a second datum stored on the storage medium, the second datum being logically related to the first datum;

if the probability is above a pre-determined probability value, then determining a cost to speculatively read the second datum, the cost being based on a position of a read/write head, relative to the second datum's physical location on the fixed medium, when the read/write head is reading the first datum;

if the cost to speculatively read the second datum is below a pre-determined cost value, then reading the second datum without a request being received from outside the secondary storage device for the second datum;

storing the second datum in a secondary storage device cache; and

producing the second datum from the secondary storage device cache if the secondary storage device receives a later request for the second datum.

2. The method of claim 1 , wherein the secondary storage device is a hard disk drive.

3. The method of claim 2 , wherein the storage medium is a magnetic disk.

4. The method of claim 1 , wherein the storage medium is an optical disk.

5. The method of claim 1 , where in the probability of the secondary storage device receiving the request for the second datum is determined by a history of the second datum being requested when the first datum is requested.

6. The method of claim 1 , wherein the probability of the secondary storage device receiving the request for the second datum is determined by a physical proximity of the first and second datum on the storage medium.

7. The method of claim 1 , wherein the cost to speculatively read the second datum is determined by the first and second datum being on a same track on the storage medium.

8. The method of claim 1 , wherein the probability of the secondary storage device receiving the request for the second datum is determined by the first and second datum being of a same format.

9. The method of claim 1 , wherein the first and second datum are on different disk surfaces associated with a first read/write head and a second read/write head respectively, and wherein the cost to speculatively read the second datum is determined by the second read/write head being near the physical location of the second datum when the first read/write head is near the physical location of the first datum.

10. A computer program product, residing on a computer usable medium, for speculatively reading data from a secondary storage device, the computer program product comprising:

program code for reading a first datum from a secondary storage device, the secondary storage device being capable of storing data on a storage medium;

program code for determining a probability of the secondary storage device receiving a read request for a second datum stored on the storage medium, the second datum being logically related to the first datum;

program code for, if the probability is above a predetermined probability value, then determining a cost to speculatively read the second datum, the cost being based on a position of a read/write head, relative to the second datum's physical location on the fixed medium, when the read/write head is reading the first datum;

program code for, if the cost to speculatively read the second datum is below a predetermined cost value, then reading the second datum without a request being received from outside the secondary storage device for the second datum;

program code for storing the second datum in a secondary storage device cache; and

program code for producing the second datum from the secondary storage device cache if the secondary storage device receives a later request for the second datum.

11. The computer program product of claim 10 ; wherein the secondary storage device is a hard disk drive.

12. The computer program product of claim 10 , wherein the storage medium is a magnetic disk.

13. The computer program product of claim 10 , wherein the storage medium is an optical disk.

14. The computer program product of claim 10 , wherein the probability of the secondary storage device receiving the request for the second datum is determined by a history of the second datum being requested when the first datum is requested.

15. The computer program product of claim 10 , wherein the probability of the secondary storage device receiving the request for the second datum is determined by a physical proximity of the first and second datum on the storage medium.

16. The computer program product of claim 10 , wherein the cost to speculatively read the second datum is determined by the first and second datum being on a same track on the storage medium.

17. The computer program product of claim 10 , wherein the cost to speculatively read the second datum is determined by the first and second datum being on a same track on the storage medium.

18. The computer program product of claim 10 , wherein the first and second datum are on different disk surfaces associated with a first read/write head and a second read/write head respectively, and wherein the cost to speculatively read the second datum is determined by the second read/write head being near the physical location of the second datum when the first read/write head is near the physical location of the first datum.

Assignments (7)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040820/0802 →
CHANGE OF NAME Recorded Oct 25, 2012
From: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.
To: HGST NETHERLANDS B.V.
Reel/Frame 029341/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2003
From: WILLIAMS, LARRY LYNN
To: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.
Reel/Frame 014465/0178 →