MULTI-TIER CACHING
First Claim
1. A non-transitory computer readable medium embodying instructions executed by a processor to perform a method for maintaining an index in multi-tier data structure, the method comprising:
- providing a plurality of a storage devices forming the multi-tier data structure;
caching a list of key-value pairs stored on one or more tiers of the multi-tier data structure as a plurality of sub-lists according to a caching method, 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 block allocators recording which blocks 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 block allocators, wherein each zone manager maintains a header object pointing to data to be stored in all allocated blocks.
2 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
26 Claims
-
1. A non-transitory computer readable medium embodying instructions executed by a processor to perform a method for maintaining an index in multi-tier data structure, the method comprising:
-
providing a plurality of a storage devices forming the multi-tier data structure; caching a list of key-value pairs stored on one or more tiers of the multi-tier data structure as a plurality of sub-lists according to a caching method, 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 block allocators recording which blocks 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 block allocators, wherein each zone manager maintains a header object pointing to data to be stored in all allocated blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium embodying instructions executed by a processor to perform a method for inserting and retrieving key-value pairs in a machine in communication with multiple storage devices managed in a hierarchy of tiers, the method steps comprising:
-
inserting the key-value pairs in the machine comprising; transferring first lists of sorted key-value pairs from a first memory on the machine to a highest storage tier of the machine according to a merging method, if there is space available on the highest storage tier; transferring second lists from the higher storage tiers to the lower storage tiers within the machine according to the merging method to create space in the higher storage tiers; and transferring third lists from higher machine tiers including the machine to lower machine tiers according to the merging method and conflict resolution algorithm to create space in the higher storage tiers; and retrieving the key-value pairs from the machine comprising; searching for a first value with a valid key in the first memory on the machine; searching for a second value with the valid key in the highest storage tier of the machine if not present in first memory on the machine; searching for a value with the valid key in the lower storage tiers of the machine if not present on the highest storage tier of the machine; and searching for a value with the valid key in lower machine tiers if not present on higher machine tiers of the machine. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium embodying instructions executed by a processor to perform a method for maintaining an index in multi-tier data structure, the method comprising:
-
managing a plurality of resources within a multi-tier storage system; inserting a copy of at least one of the resources into the multi-tier storage system; detecting, at a selective time, the copy of the at least one resource; and performing a merging method to redistribute the plurality of resources within the multi-tier storage system. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A non-transient computer readable medium embodying instructions executed by a processor to perform a method for maintaining an index in multi-tier data structure, the method comprising:
-
managing a plurality of resources within a multi-tier storage system; and performing a merging method to redistribute the plurality of resources within the multi-tier storage system, wherein the merging method is automatically tuned for a workload without disabling the machine. - View Dependent Claims (26)
-
Specification