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 predetermined 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.
8 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 predetermined 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 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;
program code for, 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;
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