System and method for distributing volume status information in a storage system
First Claim
Patent Images
1. A system, comprising:
- a plurality of volumes configured to store data, wherein said volumes are configured as mirrors of one another; and
a plurality of hosts configured to access said plurality of volumes;
wherein a first one of said plurality of hosts is configured to execute a mirror recovery process with respect to said plurality of volumes and to maintain a progress indication of said mirror recovery process;
wherein said first host is further configured to distribute said progress indication to another one or more of said plurality of hosts including a second host; and
wherein said second host is configured to;
detect a read operation directed to a particular data block stored by said plurality of volumes;
dependent upon said progress indication distributed by said first host, determine whether said particular data block has been recovered by said mirror recovery process; and
in response to determining that said particular data block has not been recovered by said mirror recovery process, convert said read operation into a read-writeback operation, wherein said read-writeback operation is operable both to read a data value corresponding to said particular data block from a given one of said plurality of volumes and to write said data value to each other one of said plurality of volumes.
9 Assignments
0 Petitions
Accused Products
Abstract
System and method for distributing volume status information in a storage system. According to one embodiment, a system may include a plurality of volumes configured to store data, where the volumes are configured as mirrors of one another, and a plurality of hosts configured to access the plurality of volumes. A first one of the plurality of hosts may be configured to execute a mirror recovery process and to maintain a progress indication of the mirror recovery process, and the first host may be further configured to distribute the progress indication to another one or more of the plurality of hosts.
49 Citations
23 Claims
-
1. A system, comprising:
-
a plurality of volumes configured to store data, wherein said volumes are configured as mirrors of one another; and a plurality of hosts configured to access said plurality of volumes; wherein a first one of said plurality of hosts is configured to execute a mirror recovery process with respect to said plurality of volumes and to maintain a progress indication of said mirror recovery process; wherein said first host is further configured to distribute said progress indication to another one or more of said plurality of hosts including a second host; and wherein said second host is configured to; detect a read operation directed to a particular data block stored by said plurality of volumes; dependent upon said progress indication distributed by said first host, determine whether said particular data block has been recovered by said mirror recovery process; and in response to determining that said particular data block has not been recovered by said mirror recovery process, convert said read operation into a read-writeback operation, wherein said read-writeback operation is operable both to read a data value corresponding to said particular data block from a given one of said plurality of volumes and to write said data value to each other one of said plurality of volumes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
storing data on a plurality of volumes, wherein said volumes are configured as mirrors of one another; a first one of a plurality of hosts executing a mirror recovery process with respect to said plurality of volumes; said first host maintaining a progress indication of said mirror recovery process; said first host distributing said progress indication to one or more of said plurality of hosts, including a second host, configured to access said plurality of volumes; said second host detecting a read operation directed to a particular data block stored by said plurality of volumes; dependent upon said progress indication distributed by said first host, said second host determining whether said particular data block has been recovered by said mirror recovery process; and in response to determining that said particular data block has not been recovered by said mirror recovery process, said second host converting said read operation into a read-writeback operation, wherein said read-writeback operation is operable both to read a data value corresponding to said particular data block from a given one of said plurality of volumes and to write said data value to each other one of said plurality of volumes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement:
-
storing data on a plurality of volumes, wherein said volumes are configured as mirrors of one another; a first one of a plurality of hosts executing a mirror recovery process respect to said plurality of volumes; said first host maintaining a progress indication of said mirror recovery process; said first host distributing said progress indication to one or more of a plurality of hosts, including a second host, configured to access said plurality of volumes; said second host detecting a read operation directed to a particular data block stored by said plurality of volumes; dependent upon said progress indication distributed by said first host, said second host determining whether said particular data block has been recovered by said mirror recovery process; and in response to determining that said particular data block has not been recovered by said mirror recovery process, said second host converting said read operation into a read-writeback operation, wherein said read-writeback operation is operable both to read a data value corresponding to said particular data block from a given one of said plurality of volumes and to write said data value to each other one of said plurality of volumes. - View Dependent Claims (18, 19)
-
-
20. A system, comprising:
-
a plurality of volumes configured to store data, wherein said volumes are configured as mirrors of one another; and a plurality of hosts configured to access said plurality of volumes; wherein a first one of said plurality of hosts is configured to distribute a progress indication of a mirror recovery process in addition to a lock indication corresponding to a particular data block stored by said plurality of volumes to a second one of said plurality of hosts in response to receiving a particular distributed lock request corresponding to said particular data block from said second host; wherein said progress indication comprises an indication of data blocks stored by said plurality of volumes that have already been recovered by said mirror recovery process; and wherein said second host is configured to generate one or more additional distributed lock requests for data blocks stored by said plurality of volumes dependent upon said progress indication returned in response to said particular distributed lock request. - View Dependent Claims (21, 22, 23)
-
Specification