Patent ID: 9098419
Filing Date: 2015-08-04
Classification: G06F

Abstract:
1. A method in a data storage server for improved data layout of a storage, the method comprising: receiving a request from a client indicating a need to write a modified data block to a storage device, wherein the modified data block is a modified version of an existing data block stored by the storage device; inserting the modified data block into a cache memory; identifying a set of one or more optimizable data blocks stored by the storage device that are logically contiguous to the existing data block but not physically contiguous to the existing data block; posting a first set of one or more read requests for the set of optimizable data blocks to a queue of read request entries; in response to a cache flush request, determining whether all of the set of optimizable data blocks are located in the cache memory; in response to a determination that all of the set of optimizable data blocks are located in the cache memory, writing the set of optimizable data blocks and the modified data block in locations of the storage device that are physically contiguous; and in response to a determination that one or more but fewer than all of the set of optimizable data blocks are located in the cache memory, writing the modified data block to the storage device but not write any of the set of optimizable data blocks to the storage device.