Method for speculative streaming data from a disk drive
First Claim
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.
7 Assignments
0 Petitions
Accused Products
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.
53 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification