Cache object store
First Claim
Patent Images
1. 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.
5 Assignments
0 Petitions
Accused Products
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.
-
Citations
22 Claims
-
1. 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. - View Dependent Claims (2, 3, 4)
-
-
5. 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. - View Dependent Claims (6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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. - View Dependent Claims (16, 17, 18, 19, 20)
conducting a search for a preconfigured level of free space around an area of the disk that is last accessed; and
upon discovering the preconfigured level of free space, storing the certain cache object group on the free space.
-
-
17. The method of claim 16 wherein the step of implementing the storage management policy further comprises the steps of:
-
if the preconfigured level of free space is not discovered, generating a list of all free spaces on the disk; and
generating a list of available spaces on the disk.
-
-
18. The method of claim 17 wherein the step of implementing the storage management policy further comprises the steps of:
-
comparing combinations of certain cache object groups that fit the listed free spaces; and
if combinations of certain cache object groups are found that fit the free spaces, storing those certain cache object groups on the free disk spaces.
-
-
19. The method of claim 18 wherein the step of implementing the storage management policy further comprises the steps of:
-
if combinations of certain cache object groups are not found that fit the free spaces, comparing combinations of certain cache object groups that fit the listed available spaces; and
storing the remaining certain cache object groups on the available disk spaces.
-
-
20. The method of claim 19 wherein the step of comparing combinations of certain cache object groups that fit the listed available spaces comprises the step of calculating the available spaces by coalescing boundaries between the two lists of spaces.
-
21. 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.
-
-
22. 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.
-
Specification