| CPC G06F 3/0613 (2013.01) [G06F 3/0604 (2013.01); G06F 3/064 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01)] | 17 Claims |

|
1. A computer-implemented method comprising:
receiving, by a computing device, a plurality of input/output (IO) requests;
aggregating a portion of the plurality of IO requests based upon a block size, including selecting the portion of the plurality of IO requests to obtain a desired block size of aggregated requests by selecting at least one IO request from different lists based upon an IO size of each respective IO request until the desired block size of the aggregated requests is reached; and
committing the portion of the plurality of IO requests to persistent storage in a batch using only full blocks based upon, at least in part, aggregating the portion of the plurality of IO requests based upon the desired block size of the aggregated requests, wherein in a state of committing pages from all the aggregated requests, a transaction of each of the respective IO request for the aggregated portion of the plurality of IO requests is locked separately.
|