Patent ID: 7451269
Filing Date: 2008-11-11
Classification: G06F,G11B

Abstract:
1. A method in a computer system for servicing read requests for a storage medium, the storage medium having units of data, each unit of data identified by an identifier, the storage medium capable of being accessed at different read speeds, the method comprising: tracking read statistics generated from attempts to read units of data of the storage medium when servicing read requests, the read statistics being tracked on a per-unit of data basis, the read statistics for one unit of data indicating, for each of a plurality of attempted reads to service one read request for the unit of data, a read speed of the attempted read and whether the attempted read was successful; estimating read times for read requests, each read request including the identifier of a unit of data to be read, the estimated read time for a read request being based on the read statistics for the unit of data identified by the identifier of the read request; identifying a read request for the storage medium, the read request including an identifier of a unit of data, the unit have data having tracked read statistics that include, for a read request specifying the identifier of that unit of data, for each of a plurality of attempted reads to that unit of data, a speed of the attempted read and whether the attempted read was successful; determining whether there is enough time to service another read request before servicing the identified read request based on comparison of the estimated read times; when it is determined that there is enough time to service another read request, indicating an order in which the other read request is to be serviced before the identified read request; and servicing the identified read request and the other read request in the indicated order.