Multi-tier cache and method for implementing such a system
AssigneeSun Microsystems, Inc.
InventorBrian Berliner
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorBrian Berliner
Estimating the term…
A multi-tier cache system and a method for implementing the multi-tier cache system is disclosed. The multi-tier cache system has a small cache in random access memory (RAM) that is managed in a Least Recent Used (LRU) fashion. The RAM cache is a subset of a much larger non-volatile cache on rotating magnetic media (e.g., a hard disk drive). The non-volatile cache is, in turn a subset of a local CD-ROM or of a CD-ROM or mass storage device controlled by a server system. In a preferred embodiment of the invention, a heuristic technique is employed to establish a RAM cache of optimum size within the system memory. Also in a preferred embodiment, the RAM cache is made up of multiple identically-sized sub-blocks. A small amount of RAM is utilized to maintain a table which implements a Least Recently Used (LRU) RAM cache purging scheme. A hashing mechanism is employed to search for the "bucket" within the RAM cache in which the requested data may be located. If the requested data is in the RAM cache, the request is satisfied with that data. If the requested data is not in the RAM cache, the least recently used sub-block is purged from the cache if the cache is full, and the RAM cache is updated from the non-volatile cache whenever possible, and from the cached storage device when the non-volatile cache does not contain the requested data.
A method for implementing a multi-tier caching system, said multi-tier caching system being implemented on a computer system having a random access memory (RAM), a portion of which is set aside and initialized as a RAM cache for storing first-tier data within a plurality of RAM data blocks, and at least one local non-volatile local mass storage device on which data can be alterably stored and on which a portion thereof functions as a non-volatile cache for storing second-tier data within non-volatile data blocks, said computer system having a data path to a mass storage device with an access speed slower than that of the local mass storage device, said slower mass storage device storing a full set of file data, said method comprising the steps of:
A method for implementing a multi-tier caching system, said multi-tier caching system being implemented on a computer system having a random access memory (RAM), a portion of which is set aside and initialized as a RAM cache for storing first-tier data within a plurality of RAM data blocks, and at least one local non-volatile local mass storage device on which data can be alterably stored and on which a portion thereof functions as a non-volatile cache for storing second-tier data within non-volatile data blocks, said computer system having a data path to a mass storage device with an access speed slower than that of the local mass storage device, said slower mass storage device storing a full set of file data, said method comprising the steps of:
A computer program product comprising a computer usable medium having computer readable code embodied therein for implementing a multi-tier caching system on a computer system, said computer system having a random access memory (RAM), a portion of said RAM being is set aside and initialized as a RAM cache for storing first-tier data within a plurality of equal sized RAM data blocks, and at least one local non-volatile local mass storage device on which data can be alterably stored, a portion of said local mass storage device functioning as a non-volatile cache for storing second-tier data in non-volatile data blocks, said computer program product further comprising:
A multi-tier caching system implemented in conjunction with a computer system having a random access memory (RAM), and at least one local non-volatile local mass storage device on which data can be alterably stored, said multi-tier caching system comprising:
Dependencies are inferred from the claim text.