Patent ID: 7934052

Claim:
Performing the following steps in a system including a storage controller and storage: (a) in the storage controller, receiving a communication specifying a host read command and a first logical address range consisting of a starting logical address and a transfer length; (b) in the storage controller, creating a first data structure, the data structure including a command, and specifying a second logical address range, the second logical address range being a subset of the first logical address range and including a first logical address and a second logical address, the second logical address being higher in the logical address range than the first logical address; (c) in the storage controller, creating a second and third data structure, including: (1) specifying in each data structure one or more storage commands necessary to carry out a portion of the host read command; (2) specifying in each data structure a physical address corresponding to a different portion of the second logical address range, such that the second data structure includes a first physical address corresponding to the first logical address and the third data structure includes a second physical address corresponding to the second logical address; (d) commencing execution of a storage command associated with the third data structure prior to commencing execution of a storage command associated with the second data structure; such that data associated with the second logical address is read from the storage prior to data associated with the first logical address.