Fault tolerant dual cache system
First Claim
1. A method of managing data in cache, comprising:
- providing data from a disk storage area to a first cache memory;
providing data from the disk storage area to a second cache memory, wherein at least some of the data that is provided to the first cache memory is not provided to the second cache memory and at least some of the data that is provided to the second cache memory is not provided to the first cache memory; and
writing the same data to both of the cache memories in response to the data being modified while stored in the cache memories.
9 Assignments
0 Petitions
Accused Products
Abstract
Managing data in cache includes providing data from a disk storage area to a first cache memory, providing data from the disk storage area to a second cache memory, where the first and second cache memories contain at least some data that is not stored in the other one of the cache memories, and writing the same data to both of the cache memories in response to the data being modified while stored in the cache memories. Managing data in a cache may also include subdividing the first cache memory into primary and secondary storage areas, subdividing the second cache memory into primary and secondary storage areas, where primary areas of the first cache correspond to secondary areas of the second cache and where secondary areas of the first cache correspond to primary areas of the second cache, and providing data from the disk storage area to the one of the cache memories having a corresponding primary storage area. Managing data in a cache memory may also include subdividing the disk storage area into a plurality of slots, where each of the slots corresponds to a primary area of one of the cache memories and to a secondary area of the other one of the cache memories.
61 Citations
35 Claims
-
1. A method of managing data in cache, comprising:
-
providing data from a disk storage area to a first cache memory;
providing data from the disk storage area to a second cache memory, wherein at least some of the data that is provided to the first cache memory is not provided to the second cache memory and at least some of the data that is provided to the second cache memory is not provided to the first cache memory; and
writing the same data to both of the cache memories in response to the data being modified while stored in the cache memories. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
subdividing the first cache memory into primary and secondary storage areas;
subdividing the second cache memory into primary and secondary storage areas, wherein primary areas of the first cache correspond to secondary areas of the second cache and wherein secondary areas of the first cache correspond to primary areas of the second cache; and
providing data from the disk storage area to the one of the cache memories having a corresponding primary storage area.
-
-
3. A method, according to claim 2, further comprising:
subdividing the disk storage area into a plurality of slots, wherein each of the slots corresponds to a primary area of one of the cache memories and to a secondary area of the other one of the cache memories.
-
4. A method, according to claim 2, further comprising:
in response to data in a primary area of one of the cache memories being modified, copying related data into the corresponding secondary area of the other one of the cache memories.
-
5. A method, according to claim 1, further comprising:
providing control data for each of the areas of the cache memories, wherein the control data indicates whether the corresponding area has been modified since being provided to one of the cache memories from the disk storage area.
-
6. A method, according to claim 5, further comprising:
causing the control data for one of the cache memories to be the same as the control data for the other one of the cache memories.
-
7. A method, according to claim 6, further comprising:
writing control data to both of the cache memories at the same time.
-
8. A method, according to claim 1, further comprising:
in response to hardware for the first cache memory failing, using the second cache memory.
-
9. A method, according to claim 8, wherein using the second cache memory includes using portions of the second cache memory corresponding to data provided to the second cache memory from the disk storage area.
-
10. A method, according to claim 8, further comprising:
for data stored in the first cache memory but not in the second cache memory, indicating that the data is not stored in cache after the first cache memory fails.
-
11. A method of managing data in cache, comprising:
-
providing first and second physical cache areas;
subdividing each of the first and second physical cache areas into first and second logical cache areas, wherein portions of the first logical cache area are provided on both the first and second physical cache areas and portions of the second logical cache area are provided on both the first and second physical cache areas;
assigning portions of data from a disk storage area to one of;
the first logical cache area and the second logical cache area; and
providing data from the disk storage area to one of the physical cache areas according to assignment of the data to a particular one of the logical cache areas. - View Dependent Claims (12, 13, 14, 15, 16)
writing data to both of the physical cache areas in response to the data being modified while stored in the cache.
-
-
13. A method, according to claim 11, further comprising:
providing control data for portions of the physical cache areas, wherein the control data indicates whether the corresponding portion has been modified since being provided from the disk storage area.
-
14. A method, according to claim 13, further comprising:
causing control data from one of the physical cache areas to equal control data from the other one of the physical cache areas.
-
15. A method, according to claim 14, wherein the control data is written to both of the physical cache areas each time the control data is modified.
-
16. A method, according to claim 11, further comprising:
in response to hardware for one of the physical cache areas failing, using the other one of the physical cache areas.
-
17. A memory device, comprising:
-
a disk storage area;
a first cache memory that is provided data by said disk storage area;
a second cache memory that is provided data by said disk storage area, wherein at least some of the data that is provided to the first cache memory is not provided to the second cache memory and at least some of the data that is provided to the second cache memory is not provided to the first cache memory and wherein data is provided to both of the cache memories in response to the data being modified while stored in one of the cache memories. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A memory device, comprising:
-
a disk storage area;
a first physical cache area subdivided into a first logical cache area and a second logical cache area, wherein data from the disk storage area is assigned to one of the first and the second logical cache areas of the first physical cache area; and
a second physical cache area subdivided into a first logical cache area and a second logical cache area, wherein data from the disk storage area is assigned to one of the first and the second logical cache areas of the second physical cache area and wherein data is provided from said disk storage area to one of said first and second physical cache areas according to assignment of the data to one of the logical cache areas. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
Specification