US 12,271,625 B1
Key-value engine
Anthony Paul Astolfi, Framingham, MA (US)
Assigned to The Math Works, Inc., Natick, MA (US)
Filed by The MathWorks, Inc., Natick, MA (US)
Filed on Mar. 4, 2024, as Appl. No. 18/595,064.
Claims priority of provisional application 63/492,575, filed on Mar. 28, 2023.
Int. Cl. G06F 3/06 (2006.01); G06F 16/22 (2019.01)
CPC G06F 3/0656 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01); G06F 16/2246 (2019.01)] 20 Claims
OG exemplary drawing
 
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.