MULTI-TIER CACHING
First Claim
1. A method of storing data as a plurality of key-value pairs in a multi-tier storage system, the system comprising at least one lower-latency non-volatile memory storage device and at least one higher-latency non-volatile memory storage device, the method comprising:
- generating a first zone manager for managing a first partition of storage of a first non-volatile memory device among the lower-latency non-volatile memory storage devices to generate a tier of the multi-tier storage system;
generating a second zone manager for managing a second partition of storage of a second non-volatile memory device among the higher-latency non-volatile memory storage devices to generate another tier of the multi-tier storage system;
allocating, from a partition managed by the first zone manager, bytes pointed at by a first sub-list among all the key-value pairs in a key-value relation;
allocating, from a partition managed by the second zone manager, bytes pointed at by a second sub-list among all the key-value pairs in the key-value relation;
allocating bytes from the first zone manager for storing meta-data, where the meta-data comprises at least one association of the key-value relation with an array of pointers to sub-lists belonging to the relation, wherein each sub-list includes at least one pointer to bytes allocated for sorted key-value pairs comprising the corresponding sub-list,wherein each partition comprises at least one block of a given size, andwherein the system maintains a hierarchy structure in one of the tiers that stores the key-value relation and enables the key-value pairs to be stored in any one of the tiers.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for maintaining an index in multi-tier data structure includes providing a plurality of a storage devices forming the multi-tier data structure, caching an index of key-value pairs across the multi-tier data structure, wherein each of the key-value pairs includes a key, and one of a data value and a data pointer, the key-value pairs stored in the multi-tier data structure, providing a journal for interfacing with the multi-tier data structure, providing a plurality of zone allocators recording which zones of the multi-tier data structure are in used, and providing a plurality of zone managers for controlling access to cache lines of the multi-tier data structure through the journal and zone allocators, wherein each zone manager maintains a header object pointing to data to be stored in an allocated zone.
-
Citations
24 Claims
-
1. A method of storing data as a plurality of key-value pairs in a multi-tier storage system, the system comprising at least one lower-latency non-volatile memory storage device and at least one higher-latency non-volatile memory storage device, the method comprising:
-
generating a first zone manager for managing a first partition of storage of a first non-volatile memory device among the lower-latency non-volatile memory storage devices to generate a tier of the multi-tier storage system; generating a second zone manager for managing a second partition of storage of a second non-volatile memory device among the higher-latency non-volatile memory storage devices to generate another tier of the multi-tier storage system; allocating, from a partition managed by the first zone manager, bytes pointed at by a first sub-list among all the key-value pairs in a key-value relation; allocating, from a partition managed by the second zone manager, bytes pointed at by a second sub-list among all the key-value pairs in the key-value relation; allocating bytes from the first zone manager for storing meta-data, where the meta-data comprises at least one association of the key-value relation with an array of pointers to sub-lists belonging to the relation, wherein each sub-list includes at least one pointer to bytes allocated for sorted key-value pairs comprising the corresponding sub-list, wherein each partition comprises at least one block of a given size, and wherein the system maintains a hierarchy structure in one of the tiers that stores the key-value relation and enables the key-value pairs to be stored in any one of the tiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification