| CPC G06F 3/0656 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01); G06F 16/2246 (2019.01)] | 20 Claims |

|
1. A data storage system, comprising:
at least one processor; and
at least one non-transitory, computer-readable medium containing instructions that, when executed by the at least one processor, cause the data storage system to implement a key-value engine, wherein:
the key-value engine comprises a storage structure including nodes and leaves, a first node:
including an update buffer containing key-value data; and
having child nodes; and
the key-value engine is configured to:
determine the update buffer satisfies a buffer flush condition, the buffer flush condition being dependent on a height of the first node in the storage structure and a space amplification parameter;
generate, in response to the determination, a batch of key-value data using the update buffer, wherein a size of the batch depends on the height of the first node in the storage structure and the space amplification parameter; and
provide the batch to update a first child node of the child nodes.
|