Cache memory arrangement and methods for use in a cache memory system
First Claim
1. A cache memory arrangement for use in a data storage system, the arrangement comprising:
- first cache means having non-volatile memory means for storing a first copy of data; and
second cache means having non-volatile memory means for storing a second copy of said data, and additional non-volatile memory means associated with at least one of the first cache means and the second cache means, the additional non-volatile memory means being arranged to hold a list of ongoing cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have not been completed, the list being arranged to be cleared of cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have been completed.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement and methods for operation in a cache memory system to facitate re-synchronising non-volatile cache memories (150B, 160B) following interruption in communication. A primary adapter (150) creates a non-volatile record (150C) of each cache update before it is applied to either cache. Each such record is cleared when the primary adapter knows that the cache update has been applied to both adapters'"'"' caches. In the event of a reset or other failure, the primary adapter can read the non-volatile list of transfers which were ongoing. For each entry in this list, the primary adapter negotiates with the secondary adapter (160) and transfers only the data which may be different.
The amount of data to be transferred between the adapters following reset/failure is generally much lower than under previous solutions, since the data to be transferred represents only the transactions which were in progress at the time of the reset or failure, rather than the entire non-volatile cache contents; also, new transactions need not be suspended while even this reduced resynchronisation takes place: all that is necessary is for the (relatively short) list of in-doubt quanta of data to be searched (if the transaction does not overlap any entries in this list then it need not be suspended; if it does overlap then the transaction may be queued until the resynchronisation completes).
-
Citations
11 Claims
-
1. A cache memory arrangement for use in a data storage system, the arrangement comprising:
-
first cache means having non-volatile memory means for storing a first copy of data; and
second cache means having non-volatile memory means for storing a second copy of said data, and additional non-volatile memory means associated with at least one of the first cache means and the second cache means, the additional non-volatile memory means being arranged to hold a list of ongoing cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have not been completed, the list being arranged to be cleared of cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have been completed. - View Dependent Claims (2, 3)
-
-
4. A method for operation in a cache memory system including first cache means having non-volatile memory means for storing a first copy of data;
- and second cache means having non-volatile memory means for storing a second copy of said data, the method comprising;
providing additional non-volatile memory means associated with at least one of the first cache means and the second cache means, storing in the additional non-volatile memory means a list of ongoing cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have not been completed, and removing from the list cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have been completed. - View Dependent Claims (5, 6, 10)
- and second cache means having non-volatile memory means for storing a second copy of said data, the method comprising;
-
7. A method for operation in a cache memory system including first cache means having non-volatile memory means for storing a first copy of data, second cache means having non-volatile memory means for storing a second copy of said data, and additional non-volatile memory means associated with at least one of the first cache means and the second cache means for storing a list of ongoing cache data storage transactions for which data storage in the non-volatile memory means of both the first and second cache means have not been completed, the method comprising:
-
re-synchronising the first and second cache means by;
reading from the list stored in the additional non-volatile memory means; and
for each transaction in the list, transferring data from the non-volatile memory means of one of the first and second cache means to the non-volatile memory means of the other of the first and second cache means. - View Dependent Claims (8, 9, 11)
-
Specification