IP Library Granted Patent US 7,685,385
Granted Patent B1
US 7,685,385 · App. 11/193,844 · Granted Mar 23, 2010

System and method for satisfying I/O requests before a replica has been fully synchronized

Assignee: Symantec Operating Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,685,385
App. No.
11/193,844
Granted
Mar 23, 2010
Kind
B1
Abstract

Various methods and systems are disclosed for handling I/O requests to a replica that has not yet been fully synchronized. One method involves detecting the transfer of the role of working volume from a first volume to a second volume. The second volume is configured as a replica of the first volume, but the second volume may not be fully synchronized with the first volume at the time that the role of working volume is transferred. Subsequent to the role of working volume being transferred to the second volume, a read request to the second volume is satisfied by accessing a log. The log is configured to store values that have been written to the first volume, and at least one of the values written to the first volume has not been written to the second volume.

Claims (119)

1. A method comprising:

detecting a designation of a second volume as a working volume, wherein

prior to the detecting, a first volume is the working volume,

the designation occurs in response to the first volume becoming inaccessible, and

the second volume is configured as a replica of the first volume; and

satisfying a read request to the second volume by accessing a log, subsequent to detecting the designation of the second volume as the working volume, wherein

the log stores values written to the first volume and at least one of the values written to the first volume has not been written to the second volume,

the satisfying the read request comprises retrieving a value from the log, and

the read request is satisfied prior to writing the value to the second volume.

2. The method of claim 1 , further comprising:

appending, to the log, an entry corresponding to a write access, in response to detecting the write access to a first region of the first volume; wherein

the entry stores information identifying the first region and a new value of the first region.

3. The method of claim 2 , further comprising:

storing the log at a bunker site, wherein

the first volume is located at a first site, and

the second volume is located at a second site.

4. The method of claim 3 , further comprising:

generating a map, wherein

the map stores information mapping entries in the log to the second volume;

detecting a read request to a region of the second volume, wherein

the read request is generated by an application;

determining whether a most recent value of the region is stored in the log, based on the map;

accessing the log, if the map indicates that the most recent value of the region is stored in the log; and

returning the most recent value to the application.

5. A system comprising:

a detection module configured to detect a designation of a second volume as a working volume, wherein prior to the detection, a first volume is the working volume, and the designation occurs in response to the first volume becoming inaccessible;

a read redirection module configured to detect a read request to the first volume;

a computer readable storage medium coupled to the read redirection module and storing a log, wherein

the read redirection module is configured to satisfy the read request by retrieving data from the log, instead of from the first volume,

the read request is satisfied prior to writing the data to the first volume,

the log stores values written to a second volume that have not been written to the first volume, and

the first volume is a replica of the second volume.

6. The system of claim 5 , wherein

the read request specifies a first region of the first volume,

the read redirection module is configured to access a map in response to detecting the read request, and

the map identifies whether a most recent value of the first region is stored in the log.

7. The system of claim 5 , wherein

the first volume, log, and the read redirection module are located at a first site,

the second volume is located at a second site, and

the first site is coupled to the second site by a network.

8. The system of claim 7 , wherein

the first volume and the read redirection module are located at a first site,

the log is located at a bunker site,

the second volume is located at a second site, and

a network couples the first site, second site, and bunker site.

9. A system comprising:

means for detecting a designation of a second volume as a working volume, wherein prior to the detecting, a first volume is the working volume,

the designation occurs in response to the first volume becoming inaccessible, and

the second volume is configured as a replica of the first volume;

means for accessing a log in order to satisfy a read request to the second volume, subsequent to detecting the designation of the second volume as the working volume, wherein

the log stores values written to the first volume and at least one of the values written to the first volume has not been written to the second volume,

the satisfying the read request comprises retrieving a value from the log, and

the read request is satisfied prior to writing the value to the second volume; and

a computer readable storage means for storing the log.

10. The system of claim 9 , further comprising:

means for appending an entry corresponding to a write access to the log, in response to detecting the write access to a first region of the first volume; wherein

the entry stores information identifying the first region and a new value of the first region.

11. The system of claim 10 , further comprising:

means for storing the log at a bunker site, wherein

the first volume is located at a first site, and

the second volume is located at a second site.

12. The system of claim 11 , further comprising:

means for generating a map, wherein

the map stores information mapping entries in the log to second first volume;

means for detecting a read request to a region of the second volume, wherein

the read request is generated by an application;

means for determining whether a most recent value of the region is stored in the log, based on the map;

means for accessing the log, if the map indicates that the most recent value of the region is stored in the log; and

means for returning the most recent value to the application.

13. A computer readable storage medium comprising program instructions executable to:

detect a designation of a second volume as a working volume, wherein

prior to detecting the designation, a first volume is the working volume,

the designation occurs in response to the first volume becoming inaccessible, and

the second volume is configured as a replica of the first volume; and

access a log in order to satisfy a read request to the second volume, subsequent to detecting the designation of the second volume as the working volume, wherein

the log stores values written to the first volume and at least one of the values written to the first volume has not been written to the second volume,

the satisfying the read request comprises retrieving a value from the log, and

the read request is satisfied prior to writing the value to the second volume.

14. The computer readable storage medium of claim 13 , wherein

the log comprises an entry,

the entry corresponds to a write access to a first region of the first volume, and

the entry stores information identifying the first region and a new value of the first region.

15. The computer readable storage medium of claim 14 , wherein

the log is stored at a bunker site,

the first volume is located at a first site, and

the second volume is located at a second site.

16. The computer readable storage medium of claim 15 , wherein the program instructions are further executable to:

detect a read request to a region of the second volume, wherein

the read request is generated by an application;

determine whether a most recent value of the region is stored in the log, based on a map, wherein

the map stores information mapping entries in the log to the second volume;

access the log, if the map indicates that the most recent value of the region is stored in the log; and

return the most recent value to the application.

17. A system comprising:

a processor; and

a memory coupled to the processor, wherein the memory stores program instructions executable by the processor to:

detect a designation of a second volume as a working volume, wherein

prior to detecting the designation, a first volume is the working volume,

the designation occurs in response to the first volume becoming inaccessible, and

the second volume is configured as a replica of the first volume; and

access a log in order to satisfy a read request to the second volume, subsequent to detecting the designation of the second volume as the working volume, wherein

the log stores values written to the first volume and at least one of the values written to the first volume has not been written to the second volume,

the satisfying the read request comprises retrieving a value from the log, and

the read request is satisfied prior to writing the value to the second volume.

18. The system of claim 17 , wherein

the log comprises an entry,

the entry corresponds to a write access to a first region of the first volume, and

the entry stores information identifying the first region and a new value of the first region.

19. The system of claim 18 , wherein

the log is stored at a bunker site,

the first volume is located at a first site, and

the second volume is located at a second site.

20. The system of claim 19 , wherein the program instructions are further executable by the processor to:

detect a read request to a region of the second volume, wherein

the read request is generated by an application;

determine whether a most recent value of the region is stored in the log, based on a map, wherein

the map stores information mapping entries in the log to the second volume;

access the log, if the map indicates that the most recent value of the region is stored in the log; and

return the most recent value to the application.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2005
From: CHOUDHARY, ANURAG; PANDE, ARVIND ARUN; KRISHNAMURTHY, RAGHU
To: VERITAS OPERATING CORPORATION
Reel/Frame 016856/0471 →
Continuity (1)
Provisional Application 6069582700 · Jun 30, 2005