Patent ID: 11861222
Assignee: MICRON TECHNOLOGY, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A system, comprising:
a first memory device that comprises a first type of memory medium, the first type of memory medium is a non-volatile memory comprising phase-change memory or resistive random access memory (RAM);
a second memory device that comprises a second type of memory medium, the second type of memory medium comprising NAND Flash or NOR Flash;
wherein the first memory device and the second memory device are external to a host; and
a controller coupled to the first memory device and the second memory device, the controller configured to:
write a plurality of memory objects to the first memory device, wherein the plurality of memory objects are each associated with a first set of keys of a key-value database structure associated with the first memory device and the first set of keys are stored in the first memory device;
determine:
whether a size of data of any of the plurality of memory objects exceeds a threshold data size;
whether an access frequency of any of the plurality of memory objects exceeds a threshold access frequency; and
whether any of the plurality of memory objects are accessed in a non-sequential manner;

in response to the respective sizes of the data of the respective plurality of memory objects being less than the threshold data size and the respective access frequencies of the respective plurality of memory objects being greater than the threshold access frequency, maintaining the respective memory objects in the first memory device; and
in response to the respective sizes of the data of the respective plurality of memory objects being greater than the threshold data size and the respective access frequencies of the respective plurality of memory objects being less than the threshold access frequency, writing the respective memory objects to the second memory device by:
deleting a respective key of the first set of keys associated with the respective memory objects from the first memory device; and
associating the respective memory objects with a second set of keys associated with the second memory device; and
storing the second set of keys in the first memory device.