Method and apparatus for implementing a software cache
First Claim
1. A method for creating a cache hierarchy in a computer system, the method comprising an act of:
- (A) creating a software cache hierarchy having at least two software caches that are interrelated to form the cache hierarchy, the at least two software caches including at least a first software cache and a second software cache, wherein the first and second software caches employ different hashing techniques for mapping an address into the first and second software caches.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for use in a computer system including a plurality of host computers including a root host computer and at least one child host computer. The root host computer exports at least a portion of the volume of storage to the at least one child host computer so they can share access to the volume of storage. In one embodiment, the volume of storage is stored on at least one non-volatile storage device. In another aspect, the volume of storage is made available to the root from a storage system. In a further aspect, at least a second portion of the volume of storage is exported from a child host computer to at least one grandchild host computer.
120 Citations
96 Claims
-
1. A method for creating a cache hierarchy in a computer system, the method comprising an act of:
(A) creating a software cache hierarchy having at least two software caches that are interrelated to form the cache hierarchy, the at least two software caches including at least a first software cache and a second software cache, wherein the first and second software caches employ different hashing techniques for mapping an address into the first and second software caches. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. A computer for use in a computer system, the computer comprising:
at least one processor programmed to implement a software cache hierarchy having at least two software caches that are interrelated to form the cache hierarchy, the at least two software caches including at least a first software cache and a second software cache, wherein the first and second software caches employ different hashing techniques for mapping an address into the first and second software caches. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
29. A computer readable medium encoded with a program for execution on a computer system which, when executed, performs a method for creating a cache hierarchy, the method comprising an act of:
(A) creating a software cache hierarchy having at least two software caches that are interrelated to form the cache hierarchy, the at least two software caches including at least a first software cache and a second software cache, wherein the first and second software caches employ different hashing techniques for mapping an address into the first and second software caches. - View Dependent Claims (30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42)
- 35. The computer readable medium of 32, wherein the stacked hierarchy comprises a plurality of caches including a bottom cache disposed at a bottom of the stacked hierarchy, and wherein the act (A) comprises an act of creating an overflow area in the cache hierarchy, beneath the bottom cache, to which data replaced out of the bottom cache can be stored so that data replaced out of the bottom cache need not be stored outside of the cache hierarchy prior to allowing new data to be written in the bottom cache.
-
43. A method for determining whether an address hits in a cache hierarchy in a computer system, the cache hierarchy including at least two software caches that are interrelated to form the cache hierarchy, the at least two software caches including at least a first software cache and a second software cache, the method comprising acts of:
-
applying a first hashing algorithm to the address to map the address into the first software cache; determining whether the address hits or misses in the first software cache; and when it is determined that the address misses in the first software cache, performing the acts of; applying a second hashing algorithm to the address to map the address into the second software cache, the second hashing algorithm being different from the first hashing algorithm; and determining whether the address hits in the second software cache. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A method for managing a cache arrangement in a computer system, the cache arrangement having a plurality of caches that are interrelated to form the cache arrangement, the method comprising an act of:
(A) dynamically reconfiguring the cache arrangement without reconfiguring an application, executing on the computer system, that accesses the cache arrangement. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
69. A computer for use in a computer system, the computer comprising:
-
a cache arrangement comprising a plurality of caches that are interrelated to form the cache arrangement; and at least one controller capable of dynamically reconfiguring the cache arrangement without reconfiguring an application, executing on the computer system, that accesses the cache arrangement. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82)
-
-
83. A computer readable medium encoded with a program for execution on a computer system having a cache arrangement, the cache arrangement having a plurality of caches that are interrelated to form the cache arrangement, wherein the program, when executed, performs a method for managing the cache arrangement, the method comprising an act of:
(A) dynamically reconfiguring the cache arrangement without reconfiguring an application, executing on the computer system, that accesses the cache arrangement. - View Dependent Claims (84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
Specification