Patent ID: 8166258

Claim:
A method of reading data from a plurality of non-contiguous sectors of a solid-state memory, the method comprising: at a host layer: receiving a read request to read data from non-contiguous sectors of the solid-state memory, wherein the read request comprises i) a starting sector address, ii) a skip mask indicating a span of sector addresses in the request and the sectors to be read, and iii) a total number of sectors to be read; at a buffer layer: segmenting the span of the read request into a plurality of chunks, wherein each chunk corresponds to at least one sector; determining, based on the skip mask, a number of chunks to be read from the solid-state memory; and allocating storage space in the buffer corresponding to the number of chunks to be read; and then: transferring, by a flash translation layer, data from the solid-state memory for each chunk to the buffer; and transferring to a communication link, by the host layer, only data for requested sectors, based on the skip mask.