Method and apparatus for improving write performance in a cluster-based file system
AssigneeInternational Business Machines Corporation
InventorsYing Chen, Honesty Cheng Young
Life of this patent
Estimating the term…
Abstract
A method of writing to cache in a clustered environment. A first node in a storage cluster receives a request to write data from a user application. The first node determines if the data is owned by a remote node. If the data is owned by a remote node, the data in the remote node may be invalidated, if necessary. Such invalidation may not be necessary if a global cache directory is utilized. Thereafter, the data is written in a cache of the first node. Additionally, the data is written in a cache of a partner node of the first node. Confirmation of the cache write in the partner node is then received in the first node.
Claims48
A method of writing to cache in a clustered environment comprising
- (a) receiving a request to write data in a first node of a storage cluster from a user application;
- (b) determining if the data is owned by a remote node;
- (c) if the data is owned by the remote node;
- causing an invalidation of the data in the remote node if necessary;
- (d) writing the data in a cache of the first node;
- (e) causing the data to be written in a cache of a partner node of the first node, wherein the partner node maintains, in the partner node's cache, a secondary data copy of the first node's cached data;
- (f) receiving, in the first node, a response from the partner node;
- and
- (g) removing the first node from the storage duster by;
- (i) ensuring that data in the cache of the first node is safely stored;
- (ii) establishing an owner-partner relationship between die partner node and a second node for which the first node was a partner;
- and
- (iii) removing the first node.
An apparatus for writing cache in a clustered environment comprising:
- (a) a cache;
- (b) a first storage node and a partner storage node organized in a storage duster, each storage node having an interface for connecting to a host and a storage disk, wherein each storage node maintains cache, wherein the partner storage node maintains, in the partner storage node's cache, a secondary data copy of the first storage node's cached data and wherein at least one of the storage nodes is configured to:
- (i) receive a request to write data from a user application;
- (ii) determine if the data is owned by a remote node;
- (iii) if the data is owned by the remote node, cause an invalidation of the data in the remote node if necessary;
- (iv) write the data in a cache of the first node;
- (v) cause the data to be written in a cache of a partner node of the first node;
- and
- (vi) receive, in the first node, a response from the partner node;
- (vii) remove the first node from the storage cluster by:
- (1) ensuring that data in the cache of the first node is safely stored;
- (2) establishing an owner-partner relationship between the partner node and a second node for which the first node was a partner;
- and
- 3) removing the first node.
An article of manufacture, embodying logic to perform a method of writing cache in a clustered environment, the method comprising:
- (a) receiving a request to write data in a first node of a storage cluster from a user application;
- (b) determining if the data is owned by a remote node;
- (c) if the data is owned by the remote node, causing an invalidation of the data in the remote node if necessary;
- (c) writing the data in a cache of the first node;
- (e) causing the data to be written in a cache of a partner node of the first node, wherein the partner node maintains, in the partner node's cache, a secondary data copy of the first node's cached data;
- and
- (f) receiving, in the first node, a response from the partner node;
- and
- (g) removing the first node from the storage cluster by:
- (i) ensuring that data in the cache of the first node is safely stored;
- (ii) establishing an owner-partner relationship between the partner node and a second node for which the first node was a partner;
- and
- (iii) removing the first node.
Dependencies are inferred from the claim text.