Method and apparatus for cache synchronization in a clustered environment
First Claim
1. A method of writing to cache in a clustered environment comprising:
- receiving a request to write data in a first node of a storage cluster from a host;
obtaining allocated memory space in a cache of the first node for said data;
receiving the data into the allocated memory space from the host prior to the first node receiving a requested lock state grant;
notifying a relevant secondary node in the storage cluster of the request to write data; and
transferring the data from the first node to the secondary node.
3 Assignments
0 Petitions
Accused Products
Abstract
Providing high availability cache coherency in a distributed cache environment for a storage cluster. An extent owner node in a cluster controls extent disk requests and the locking and demotion of extent data. An extent client node may access the data but does not control destaging or locking. The extent client waits for a lock state grant prior to completing any I/O request. An extent client is allowed to receive data from a host for a write request and later let the extent owner sort out the proper cache coherency order. An extent client is not required to request a lock state change from the extent owner when a read cache hit occurs in the extent client. When a read miss occurs in an extent client, the extent client can initiate a stage request from disk and request the owner for a lock state change at a later time.
-
Citations
39 Claims
-
1. A method of writing to cache in a clustered environment comprising:
-
receiving a request to write data in a first node of a storage cluster from a host;
obtaining allocated memory space in a cache of the first node for said data;
receiving the data into the allocated memory space from the host prior to the first node receiving a requested lock state grant;
notifying a relevant secondary node in the storage cluster of the request to write data; and
transferring the data from the first node to the secondary node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of reading data from cache in a clustered environment comprising:
-
receiving a request to read data in a first node of a storage cluster from a host;
allocating a track in cache of the first node for the requested data;
asking permission from the owner of the track to access the track;
obtaining the data into the cache;
providing the host with access to the data after obtaining permission from a node responsible for the data. - View Dependent Claims (10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21)
-
-
14. An apparatus for writing cache in a clustered environment comprising:
-
(a) a cache;
(b) a first storage node and a second storage node organized in a storage cluster, each storage node having an interface for connecting to a host and a storage disk, wherein each storage node maintains cache, and wherein at least one of the storage nodes is configured to;
(i) receive a request to write data from a host;
(ii) obtain allocated memory space in the cache of the storage node;
(iii) receive the data into the allocated memory space from the host prior to the storage node receiving a requested lock state grant;
(iv) notify one of the storage nodes of the request to write data; and
(v) transfer the data from one of the storage nodes to the other storage node.
-
-
22. An apparatus for reading cache in a clustered environment comprising:
-
(a) a cache;
(b) a first storage node and a second storage node organized in a storage cluster, each storage node having an interface for connecting to a host and a storage disk, wherein each storage node maintains cache, and wherein at least one of the storage nodes is configured to;
(i) receive a request to read data from a host;
(ii) obtain allocated memory space in the cache;
(iii) ask permission from the owner of the track to access the track;
(iv) obtain the data into the cache; and
(v) provide the host with access to the data after obtaining permission from a node responsible for the data. - View Dependent Claims (23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39)
-
-
27. An article of manufacture, embodying logic to perform a method of writing cache in a clustered environment, the method comprising:
-
receiving a request to write data in a first node of a storage cluster from a host;
obtaining allocated memory space in cache of the first node for said data;
receiving the data into the allocated memory space from the host prior to the first node receiving a requested lock state grant;
notifying a relevant second node in the storage cluster of the request to write data; and
transferring the data from the first node to the second node.
-
-
35. An article of manufacture, embodying logic to perform a method of reading cache in a clustered environment, the method comprising:
-
receiving a request to read data in a first node of a storage cluster from a host;
allocating a track in cache of the first node for the requested data;
asking permission from the owner of the track to access the track;
obtaining the data into the cache; and
providing the host with access to the data after obtaining permission from a node responsible for the data.
-
Specification