Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
175 words
In a logical cache memory including a plurality of maximal-size pages beginning at a logical cache base memory address, each maximal-size logical cache memory page configured to store data objects of a given size, a method for dynamically reconfiguring one of the logical cache memory pages to store data objects having a size different from the size of the data object previously stored by that cache page, the method comprising the steps of: (a) receiving a data object to be cached having a size smaller than the maximal size; (b) determining whether one of a plurality of logical cache memory pages is already configured to store data objects having the smaller size of the received data object; (c) selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of the maximal logical cache memory pages; and (d) reconfiguring the selected cache page into more than two equally-sized blocks for storing data objects having the smaller size of the received data object.
Claim 2
Dependent Claim
175 words
In a logical cache memory including a plurality of maximal-size pages beginning at a logical cache base memory address, each maximal-size logical cache memory page configured to store data objects of a given size, a method for dynamically reconfiguring one of the logical cache memory pages to store data objects having a size different from the size of the data object previously stored by that cache page, the method comprising the steps of: (a) receiving a data object to be cached having a size smaller than the maximal size; (b) determining whether one of a plurality of logical cache memory pages is already configured to store data objects having the smaller size of the received data object; (c) selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of the maximal logical cache memory pages; and (d) reconfiguring the selected cache page into more than two equally-sized blocks for storing data objects having the smaller size of the received data object.
Claim 3
Dependent Claim
48 words
The method of claim 1 wherein step (a) comprises: (a-a) receiving a data object to be cached, having a size smaller than the maximal size; and (a-b) assigning the data object a quantized size by rounding the size of the received data object up to a predetermined quanta.
Claim 4
Dependent Claim
60 words
The method of claim 1 wherein step (a) comprises: (a-a) receiving a data object to be cached; and (a-b) assigning the data object a quantized size selected from the set consisting of 128 bytes, 512 bytes, and 2 kilobytes, wherein the quantized size is assigned by rounding the size of the received data object up to the next predetermined size.
Claim 5
Dependent Claim
29 words
The method of claim 1 wherein step (a) comprises receiving a graphical user interface data object to be cached the object having a size smaller than the maximal size.
Claim 6
Dependent Claim
37 words
The method of claim 1 wherein step (b) comprises determining more than one of a plurality of logical cache memory pages that is configured to store data objects having the smaller size of the received data object.
Claim 7
Dependent Claim
47 words
The method of claim 1 wherein step (c) comprises selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of a plurality of logical cache memory pages on least recently used (LRU) basis.
Claim 8
Dependent Claim
44 words
The method of claim 2 wherein step (d) comprises subdividing the selected cache page into a plurality of equally-sized smaller pages, each equally-sized smaller page configured to store data objects of the quantized size and identified as storing data objects of the quantized size.
Claim 9
Dependent Claim
98 words
The method of claim 7, further comprising the step of mapping a logical address for the data object relative to the logical cache base memory address by: (i) mapping a logical address for the data object to a maximal-size page index corresponding to the page location of the maximal-size logical cache memory page relative to the logical cache memory base address; and (ii) mapping the logical address for the data object to a smaller page index that describes which of the plurality of smaller pages is being addressed within the maximal-size page designated by the maximal-size page index.
Claim 10
Dependent Claim
81 words
The method of claim 8 further comprising the step of generating a logical address for the data object by forming a product of the maximal-size page index of the maximal-size page that contains the data object and a value corresponding to the maximum number of objects of the smaller size that can be contained within the maximal-size page, forming a sum of the product and the smaller page index, and multiplying the sum by the quantized size of the data object.
Claim 11
Dependent Claim
23 words
The method of claim 8, further comprising the step of providing the mapped logical address for the data object as a single handle.
Claim 12
Dependent Claim
167 words
In a logical cache memory including a plurality of maximal-size pages beginning at a logical cache base memory address, each maximal-size logical cache memory page configured to store data objects of a given size, a method for dynamically reconfiguring one of the logical cache memory pages to store data objects having a size different from the size of the data object previously stored by that cache page, the method comprising the steps of: (a) receiving a data object to be cached having a size greater than the maximal size; (b) subdividing the data object into first and second data chunks; (c) assigning a first chunk index to the first data chunk and a second chunk index to the second data chunk, each index representing the maximal-size page in which the respective data chunk is stored; and (d) storing the second chunk index at a location in a control store that corresponds to the first chunk index for use in identifying the location of the second data chunk.
Claim 13
Dependent Claim
167 words
In a logical cache memory including a plurality of maximal-size pages beginning at a logical cache base memory address, each maximal-size logical cache memory page configured to store data objects of a given size, a method for dynamically reconfiguring one of the logical cache memory pages to store data objects having a size different from the size of the data object previously stored by that cache page, the method comprising the steps of: (a) receiving a data object to be cached having a size greater than the maximal size; (b) subdividing the data object into first and second data chunks; (c) assigning a first chunk index to the first data chunk and a second chunk index to the second data chunk, each index representing the maximal-size page in which the respective data chunk is stored; and (d) storing the second chunk index at a location in a control store that corresponds to the first chunk index for use in identifying the location of the second data chunk.
Claim 14
Dependent Claim
41 words
The method of claim 11 wherein step (d) comprises storing the second chunk index at a location in a control store that corresponds to the first chunk index for use in identifying the location of the first and second data chunks.
Claim 15
Dependent Claim
59 words
The method of claim 11 further comprising the steps of: (e) accessing the control store using the first page index corresponding to the first chunk index; (f) recovering an index stored in the control store starting at a location corresponding to the first chunk index; and (g) reading a maximal-size logical cache page corresponding to the first chunk index.
Claim 16
Independent Claim
265 words
A method for efficiently caching data objects in a logical cache memory including a plurality of maximal-size pages beginning at a logical base memory address, the logical cache memory using prescribed portions of a plurality of heterogeneous physical memory units for storage of data, the method comprising: (a) labeling each of the plurality of physical memory units with a unique rank index, the rank index indicative of the relative memory speed of the physical memory unit; (b) allocating a portion of each physical memory unit for use by the logical cache memory; (c) forming a continuous, addressable logical address space for the logical cache memory that encompasses the allocated portions of the physical memory units by ordering the allocated portions of the physical memory units based on the rank indices the logical cache memory beginning at a logical cache memory base address, each maximal-size page configured to store data objects of a maximal size and identified as storing data objects of a maximal-size, (d) receiving a data object to be cached having a size smaller than the maximal size; (e) determining whether one of the plurality of logical cache memory pages is already configured to store data objects having the smaller size of the received data object; (f) selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of the maximal-size logical cache memory pages; and (g) reconfiguring the selected cache page into more than two equally-sized blocks for storing data objects having the smaller size of the received data object.
Claim 17
Independent Claim
265 words
A method for efficiently caching data objects in a logical cache memory including a plurality of maximal-size pages beginning at a logical base memory address, the logical cache memory using prescribed portions of a plurality of heterogeneous physical memory units for storage of data, the method comprising: (a) labeling each of the plurality of physical memory units with a unique rank index, the rank index indicative of the relative memory speed of the physical memory unit; (b) allocating a portion of each physical memory unit for use by the logical cache memory; (c) forming a continuous, addressable logical address space for the logical cache memory that encompasses the allocated portions of the physical memory units by ordering the allocated portions of the physical memory units based on the rank indices the logical cache memory beginning at a logical cache memory base address, each maximal-size page configured to store data objects of a maximal size and identified as storing data objects of a maximal-size, (d) receiving a data object to be cached having a size smaller than the maximal size; (e) determining whether one of the plurality of logical cache memory pages is already configured to store data objects having the smaller size of the received data object; (f) selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of the maximal-size logical cache memory pages; and (g) reconfiguring the selected cache page into more than two equally-sized blocks for storing data objects having the smaller size of the received data object.
Claim 18
Dependent Claim
47 words
The method of claim 14 wherein step (d) comprises: (d-a) receiving a data object to be cached having a size smaller than the maximal-size; and (d-b) assigning the data object a quantized size by rounding the size of the received data object up to a predetermined quanta.
Claim 19
Dependent Claim
60 words
The method of claim 14 wherein step (d) comprises: (d-a) receiving a data object to be cached; and (d-b) assigning the data object a quantized size selected from the set consisting of 128 bytes, 512 bytes and 2 kilobytes; wherein the quantized size is assigned by rounding the size of the reviewed data object up to the next predetermined size.
Claim 20
Dependent Claim
29 words
The method of claim 14 wherein step (d) comprises receiving a graphical user interface data object to be cached, the object having a size smaller than the maximal size.
Claim 21
Dependent Claim
37 words
The method of claim 14 wherein step (e) comprises determining more than one of a plurality of logical cache memory pages that is configured to store data objects having the smaller size of the received data object.
Claim 22
Dependent Claim
48 words
The method of claim 14 wherein step (f) comprises selecting, when no logical cache memory page is already configured to store data objects having the smaller size of the received data object, one of the logical cache memory pages for reconfiguring on a least recently used (LRU) basis.
Claim 23
Dependent Claim
44 words
The method of claim 15 wherein step (g) comprises subdividing the selected cache page into a plurality of equally-sized smaller pages, each equally-sized smaller page configured to store data objects of the quantized size and identified as storing data objects of the quantized size.
Claim 24
Dependent Claim
98 words
The method of claim 20, further comprising the step of mapping a logical address for the data object relative to the logical cache base memory address by: (i) mapping a logical address for the data object to a maximal-size page index corresponding to the page location of the maximal-size logical cache memory page relative to the logical cache memory base address; and (ii) mapping the logical address for the data object to a smaller page index that describes which of the plurality of smaller pages is being addressed within the maximal-size page designated by the maximal-size page index.
Claim 25
Dependent Claim
81 words
The method of claim 21 further comprising the step of generating a logical address for the data object by forming a product of the maximal-size page index of the maximal-size page that contains the data object and a value corresponding to the maximum number of objects of the smaller size that can be contained within the maximal-size page, forming a sum of the product and the smaller page index, and multiplying the sum by the quantized size of the data object.
Claim 26
Dependent Claim
23 words
The method of claim 21, further comprising the step of providing the mapped logical address for the data object as a single handle.