Apparatus, system, and method for key-value pool identifier encoding
AssigneeFusion-Io, Inc.
InventorsNisha Talagala, Swaminathan Sundararaman, Bharath Ramsundar, Ashish Batwara
Life of this patent
Estimating the term…
Abstract
Apparatuses, systems, and methods are disclosed for a key-value store. A method includes encoding a key of a key-value pair into a logical address of a sparse logical address space for a non-volatile medium. A method includes mapping a logical address to a physical location in the non-volatile medium. A method includes storing a value of a key-value pair at a physical location.
Claims33
1-14. (canceled)
An apparatus comprising:
- a key-value mapping module configured to encode a key of a key-value pair into a key address portion of a logical address of a sparse logical address space for non-volatile storage media;
- a pool module configured to encode a pool identifier for the key-value pair into a value address portion of the logical address, the value address portion having a number of bits such that the value address portion addresses at least a maximum size key-value pair value;
- and
- a logical-to-physical translation layer configured to map the logical address to a location of at least a portion of the value of the key-value pair in the non-volatile storage media.
17-25. (canceled)
A method comprising:
- mapping a key of a key-value pair to a slot within a sparse logical address space of non-volatile memory media;
- encoding a pool identifier for the key-value pair as an offset for the key-value pair within the slot;
- and
- determining a logical address for the key-value pair, the logical address associated with the slot and the offset.
(canceled)
A method comprising:
- encoding a key of a key-value pair into a logical address within a sparse logical address space for a non-volatile medium;
- mapping the logical address to a physical location on the non-volatile medium;
- and
- storing a value of the key-value pair at the physical location.
An apparatus comprising:
- a key-value mapping module configured to determine a logical address for a key-value pair based on a key of the key-value pair in response to a key-value command;
- an exists module configured to determine whether data for the logical address is stored in a non-volatile device based on a logical-to-physical address mapping structure for the non-volatile device;
- and
- a device interface module configured to translate the key-value command to one or more primitive storage operations for the non-volatile device to satisfy the key-value command.
An apparatus comprising:
- means for mapping a key of a key-value pair to a logical address for a non-volatile memory medium using a known transform;
- means for mapping logical addresses for the non-volatile memory medium to physical locations in the non-volatile memory medium;
- and
- means for writing a value of the key-value pair and associated key-value metadata to the physical location.
A computer program product comprising a computer readable storage medium storing computer usable program code executable to perform operations, the operations comprising:
- hashing keys of key-value pairs into key address portions of logical addresses of a sparse logical address space for a non-volatile memory device;
- dividing the logical addresses into the key address portion and a value address portion, the value address portions configured to segment the sparse logical address space into contiguous data ranges for the key-value pairs;
- and
- maintaining a logical-to-physical address mapping structure mapping the logical addresses to physical locations in the non-volatile memory device.
Dependencies are inferred from the claim text.