| CPC G06F 11/3034 (2013.01) [G06F 9/30047 (2013.01); G06F 9/467 (2013.01); G06F 11/0757 (2013.01); G06F 11/0772 (2013.01); G06F 11/1402 (2013.01); G06F 12/0246 (2013.01); G06F 12/0253 (2013.01); G06F 2201/84 (2013.01)] | 18 Claims |

|
1. A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
receiving, from a client, a batch of data blocks for storage on memory hardware in communication with the data processing hardware;
partitioning the batch of data blocks into a plurality of sub-batches of data blocks;
assigning each sub-batch of data blocks of the plurality of sub-batches of data blocks to a respective buffered stream, each respective buffered stream configured to write the assigned sub batches to the memory hardware;
writing, using the assigned respective buffered stream, the sub-batch of data blocks to the memory hardware;
determining that a particular sub-batch of data blocks of the plurality of sub-batches of data blocks failed to be written to the memory hardware; and
based on determining that the particular sub-batch of data blocks of the plurality of sub-batches of data blocks failed to be written to the memory hardware, retrying to write the particular sub-batch of data blocks to the memory hardware using the assigned respective buffered stream.
|