Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processing
Abstract
A method and system for decreasing the time needed for a mirror split operation in a data storage device by preparing for the mirror split operation during a time interval between notification of an intended mirror split operation and the subsequent time of the mirror split operation. In general, local writes are processed preferentially and asynchronously with respect to corresponding mirror writes, but, after receiving a split advance warning, the data storage device controller preferentially processes backlogged mirror writes in order that the mirrored data storage units are nearly consistent at the time that the intended mirror split operation request is received.
Claims
exact text as granted — not AI-modified1 . A method for improving the performance of a mirror split operation by a data storage device controller, the method comprising:
providing a split advance warning interface for receiving a split advance warning; upon receiving a split advance warning, determining a mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio in order to process backlogged mirror I/O requests prior to receiving a corresponding mirror split operation request; and processing mirror I/O requests and local I/O requests according to the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio until an expected time of occurrence of the corresponding mirror split operation.
2 . The method of claim 1 further including determining the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio based on an estimated time for executing backlogged mirror I/O requests.
3 . The method of claim 1 further including determining the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio based on an estimated number of backlogged mirror I/O requests.
4 . The method of claim 1 further including determining the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio based on a current number of backlogged mirror I/O requests.
5 . The method of claim 1 further including:
while processing mirror I/O requests and local I/O requests until the expected time of occurrence of the corresponding mirror split operation, periodically re-determining the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio according to currently backlogged mirror I/O requests.
6 . The method of claim 1 wherein the data storage device is a disk array.
7 . The method of claim 6 wherein the mirror split operation is directed to a mirrored logical unit comprising a first logical unit and a second logical unit, the disk array controller mirroring all local I/O requests directed to the first logical unit that change data stored in the first logical unit to the second logical unit as mirror I/O requests.
8 . The method of claim 7 wherein the first and second logical units are both contained in the data storage device.
9 . The method of claim 7 wherein the first logical unit is contained in the data storage device and the second logical unit is contained in a remote data storage device.
10 . The method of claim 6 wherein the mirror split operation is directed to a mirrored logical unit comprising a first logical unit and a number of mirror logical units, the disk array controller mirroring all local I/O requests directed to the first logical unit that change data stored in the first logical unit to the number of mirror logical units as mirror I/O requests.
11 . The method of claim 1 wherein the data storage device controller maintains a number of mirrored logical units and concurrently manages split advance warnings directed to a number of mirrored logical units.
12 . The method of claim 1 wherein processing mirror I/O requests and local I/O requests according to the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio until an expected time of occurrence of the corresponding mirror split operation further includes:
when mirror I/O requests are backlogged, and local I/O requests are pending, processing mirror I/O requests and local I/O requests at rates corresponding to the mirror-I/O-request. processing-to-local-I/ 0 -request-processing-rate ratio;
when mirror I/O requests are backlogged, and no local I/O requests are pending, processing mirror I/O requests; and
when no mirror I/O requests are backlogged, and local I/O requests are pending, processing local I/O requests.
13 . A data storage device controller that provides a split advance warning interface, the data storage device controller comprising:
a mirroring component that executes local I/O requests directed to a mirrored logical unit by executing the local I/O requests to a first logical unit and automatically generating a mirror I/O request directed to a second logical unit; a buffering component for buffering incoming local I/O requests and for buffering mirror I/O requests; and a split advance warning component that receives a split advance warning directed to mirrored logical unit and that, after receiving the split advance warning, controls the data storage device controller to preferentially process buffered mirror I/O requests over processing buffered incoming local I/O requests in order to bring the second logical unit into a data state consistent with a current data state of the first logical unit upon reception by the data storage device controller of a corresponding mirror split operation request.
14 . The data storage device controller of claim 13 wherein the split advance warning component determines a mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio according to which the data storage device controller processes buffered mirror I/O requests in preference to processing buffered incoming local I/O requests.
15 . The data storage device controller of claim 14 wherein, after receiving the split advance warning and before receiving the corresponding mirror split operation request by the data storage device controller, the split advance warning component re-determines the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio in order to more closely tune respective rates of buffered mirror I/O requests processing and buffered incoming local I/O requests processing in order to bring the second logical unit into a data state consistent with a current data state of the first logical unit upon reception by the data storage device controller of a corresponding mirror split operation request.
16 . The data storage device controller of claim 14 wherein processing by data storage device controller of the mirror I/O requests and local I/O requests according to the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio further includes:
when mirror I/O requests are backlogged, and local I/O requests are pending, processing mirror I/O requests and local I/O requests at rates corresponding to the mirror-I/O-request-processing-to-local-I/O-request-processing-rate ratio;
when mirror I/O requests are backlogged, and no local I/O requests are pending, processing mirror I/O requests; and
when no mirror I/O requests are backlogged, and local I/O requests are pending, processing local I/O requests.
17 . The data storage device controller of claim 13 wherein the first logical unit is contained within the data storage device and the second logical unit is contained within a remote data storage device.
18 . The data storage device controller of claim 13 wherein both the first logical unit and the second logical unit is contained within a the data storage device.
19 . The data storage device controller of claim 13 wherein the data storage device controller manages a number of mirrored logical units and concurrently manages advance split warnings directed to a number of mirrored logical units.Join the waitlist — get patent alerts
Track US2004128404A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.