Patent ID: 8892807
Filing Date: 2014-11-18
Classification: G06F

Abstract:
1. A method comprising: receiving a skip read command from a client that requests transfer of at least one requested block within a range of consecutive logical blocks from a storage device to the client and that requests non-transfer of at least one skipped block within said range of consecutive logical blocks from the storage device, said skip read command including skip data specifying, with respect to each logical block within said range of logical blocks, whether the respective logical block is a requested block or a skipped block; determining whether the storage device supports a skip read operation; responsive to determining that the storage device supports the skip read operation, sending the skip read command to the storage device, and responsive thereto, receiving the at least one requested block from the storage device into a destination buffer; responsive to determining that the storage device does not support the skip read operation, (a) creating a read command to the storage device, the read command requesting transfer of all blocks within said range of consecutive logical blocks from the storage device, (b) sending the read command to the storage device, (c) in response to sending the read command, receiving the at least one requested block and the at least one skipped block from the storage device, and (d) in response to receiving the at least one requested block and the at least one skipped block from the storage device, writing only the at least one requested block without the at least one skipped block to said destination buffer; and providing the contents of said destination buffer to the client.