Cache object store
AssigneeNovell, Inc.
InventorRobert Drew Major
Life of this patent
Estimating the term…
Abstract
A cache object store is organized to provide fast and efficient storage of data as cache objects organized into cache object groups. The cache object store preferably embodies a multi-level hierarchical storage architecture comprising a primary memory-level cache store and, optionally, a secondary disk-level cache store, each of which is configured to optimize access to the cache object groups. These levels of the cache object store further exploit persistent and non-persistent storage characteristics of the inventive architecture.
Claims22
A cache object store organized to provide fast and efficient storage of data as cache objects organized into cache object groups, the cache object store comprising:
- a primary-level store and a secondary-level store;
- a cache grouper for logically associating cache objects into cache object groups;
- and
- a cache object manager cooperatively coupled to the cache grouper and configured to implement an aging policy, the aging policy maintaining a first cache object groups on the primary-level store and a second cache object groups on the secondary-level store;
- a cache directory manager cooperatively coupled to the cache object manager to implement a storage management policy that moves certain first cache object groups from the primary-level store for storage on the secondary-level store as second cache object groups, and the aging policy is a modified least recently used (LRU) algorithm that marks each cache object group with (i) a time of last access (TLA) factor within the cache object store, and (ii) a cost of reacquisition (COA) factor used to determine which cache object group to delete or move.
A cache object store, comprising:
- a primary-level store having random access memory;
- a secondary-level store coupled to the primary-level store, the secondary-level store having at least one non-volatile disk;
- a cache grouper for logically associating cache objects into cache object groups;
- a cache object manager cooperatively coupled to the cache grouper and configured to implement an aging policy that maintains a first cache object groups on the primary-level store, the aging policy further maintaining a second cache object groups on the secondary-level store;
- and,
- a cache directory manager cooperatively coupled to the cache object manager to implement a storage management policy that moves certain of the first cache object groups from the primary-level store for storage on the secondary-level store as the second cache object groups, the storage management policy substantially improving storage of the second cache object groups on the secondary-level store by avoiding fragmentation of the second cache object groups on the secondary-level store, and wherein the storage management policy moves the first cache object groups from the primary-level store to the secondary-level store by first searching the secondary-level store at a location in proximity to where the secondary-level store was last accessed.
A method for efficiently storing data as cache objects on a cache object store, the method comprising the steps of:
- providing a primary-level volatile store coupled to a secondary-level non-volatile store;
- organizing the cache objects into cache object groups;
- implementing an aging policy that maintains first, frequently-accessed cache object groups on the primary-level store and second, less-frequently-accessed cache object groups on the secondary-level store;
- and
- implementing a storage management policy that efficiently moves certain first cache object groups from the primary-level store for storage on the secondary-level store as second cache object groups, and the aging policy is a modified least recently used (LRU) algorithm for marking each cache object group with (i) a time of last access (TLA) factor indicating a frequency at which the cache object group is accessed within the cache object store, and (ii) a cost of reacquisition (COA) factor used to determine which cache object group to delete or move.
A method for storing data as cache objects on a cache object store, the method comprising the steps of:
- providing a primary-level volatile store coupled to a secondary-level non-volatile store;
- organizing the cache objects into cache object groups;
- implementing an aging policy that maintains first, frequently-accessed cache object groups on the primary-level store and second, less-frequently-accessed cache object groups on the secondary-level store;
- and,
- implementing a storage management policy that moves certain first cache object groups from the primary-level store for storage on the secondary-level store as second cache object groups, the management policy by avoiding fragmentation to each certain cache object group on the secondary-level, non-volatile store, and wherein and wherein the management policy moves the first cache object groups from the primary-level store to the secondary-level store by first searching the secondary-level store at a location in proximity to where the secondary-level store was last accessed.
A cache object store, comprising:
- a primary-level store;
- a secondary-level store coupled to the primary-level store;
- a cache grouper for logically associating cache objects into cache object groups;
- a cache object manager cooperatively coupled to the cache grouper and configured to implement an aging policy that maintains a first cache object groups on the primary-level store, the aging policy further maintaining a second cache object groups on the secondary-level store;
- and,
- a cache directory manager cooperatively coupled to the cache object manager to implement a storage management policy that moves certain of the first cache object groups from the primary-level store for storage on the secondary-level store as the second cache object groups, the storage management policy substantially improving storage of the second cache object groups on the secondary-level store by avoiding fragmentation of the second cache object groups on the secondary-level store, and wherein the storage management policy moves the first cache object groups from the primary-level store to the secondary-level store by first searching the secondary-level store at a location in proximity to where the secondary-level store was last accessed.
A method for storing data as cache objects on a cache object store, the method comprising the steps of:
- providing a primary-level store coupled to a secondary-level;
- organizing the cache objects into cache object groups;
- implementing an aging policy that maintains first, frequently-accessed cache object groups on the primary-level store and second, less-frequently-accessed cache object groups on the secondary-level store;
- and,
- implementing a storage management policy that moves certain first cache object groups from the primary-level store for storage on the secondary-level store as second cache object groups, the management policy by avoiding fragmentation to each certain cache object group on the secondary-level, non-volatile store, and wherein the storage management policy moves the first cache object groups from the primary-level store to the secondary-level store by first searching the secondary-level store at a location in proximity to where the secondary-level store was last accessed.
Dependencies are inferred from the claim text.