IP Library Granted Patent US 9,971,529
Granted Patent B1
US 9,971,529 · App. 15/198,684 · Granted May 15, 2018

Selective data replication

Inventors: Douglas E. LeCrone (Hopkinton, MA); Paul A. Linstead (Shrewsbury, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0619G06F3/065G06F3/067
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 9,971,529
App. No.
15/198,684
Granted
May 15, 2018
Kind
B1
Abstract

Described are data replication techniques that may include receiving, on a host, a write operation that writes first data to a target location on a first logical device having storage provisioned on a first data storage system; determining, on the host and in accordance with one or more criteria, whether the first data is to be replicated on a second logical device on a second data storage system; and issuing the write operation from the host to the first data storage system, wherein the write operation denotes whether to disable replication of the first data to the second logical device on the second data storage system. Such techniques may include partitioning a single write operation into multiple write operations and setting an indicator in each of the multiple writes denoting whether remote replication of the write operation is enabled or disabled.

Claims (53)

1. A method of performing data replication comprising:

receiving, on a host, a write operation that writes first data to a target location on a first logical device having storage provisioned on a first data storage system;

determining, on the host and in accordance with one or more criteria, whether the first data is to be replicated on a second logical device on a second data storage system; and

issuing the write operation from the host to the first data storage system, wherein the write operation denotes whether to disable replication of the first data to the second logical device on the second data storage system, wherein an I/O driver on the host performs said determining and said issuing, and wherein the I/O driver performs first processing comprising:

determining, in accordance with the one or more criteria on the host, whether all the first data of the write operation is to be replicated to the second logical device of the second data storage system; and

responsive to determining, in accordance with the one or more criteria, that not all of the first data is to be replicated on the second logical device of the second data storage system, performing second processing by the I/O driver, said second processing including:

partitioning the write operation into a plurality of write operations each writing some of the first write data to the first logical device;

determining, in accordance with the one or more criteria, a set of one or more of the plurality of write operations each writing a portion of the first write data to the first logical device where the portion is not being replicated on the second logical device of the second data storage system; and

inserting an indicator into each write operation of the set denoting that replication is disabled for data written by said each write operation of the set whereby data of said each write operation of the set is not replicated on the second logical device of the second data storage system.

2. The method of claim 1 , wherein the first logical device on the first data storage system is configured to have data automatically replicated on the second logical device of the second data storage system.

3. The method of claim 1 , further comprising:

writing the first data to the target location on the first logical device on the first data storage system; and

determining, on the first data storage system in accordance with an indicator of the write operation previously set by the I/O driver of the host, whether to replicate the first data to the second logical device on the second data storage system.

4. The method of claim 3 , further comprising:

responsive to determining to replicate the first data to the second logical device on the second data storage system, issuing another write operation from the first data storage system to the second data storage system, said another write operation writing the first data to the target location on the second logical device of the second data storage system.

5. The method of claim 1 , further comprising:

sending the plurality of write operations from the host to the first data storage system; and

selectively replicating, on the second logical device on the second data storage system, data that is written by each of the plurality of write operations not included in the set.

6. The method of claim 5 , wherein the I/O driver has a mapping indicating which portions of the logical device are selectively replicated.

7. The method of claim 1 , wherein the one or more criteria include one or more predefined types of data for which data replication of the first logical device is selectively indicated as enabled or disabled.

8. The method of claim 7 , wherein the predefined types of data include any one or more of: user data, metadata, paging data sets, dump data sets, work files, and temporary files.

9. The method of claim 8 , wherein the one or more criteria indicate, for at least a first of the predefined types, to disable replication of data of the first logical device of the first data storage system to the second logical device of the second data storage system.

10. The method of claim 8 , wherein the one or more criteria indicate to selectively enable or disable data replication for a specified portion of at least one of the predefined types of data.

11. The method of claim 10 , wherein the one or more criteria indicate to selectively enable or disable data replication for any of: one or more user data files, one or more user file systems, one or more logical device portions, one or more specified extents or portions of a file, one or more particular data sets, one or more specified portions of metadata, data written by one or more specified applications, and data written by code executing on a particular operating system image on the host.

12. The method of claim 7 , wherein the one or more criteria include a schedule denoting a frequency of when data written to specified portions of the first logical device are selectively replicated from the first logical device of the first data storage system to the second logical device of the second data storage system.

13. The method of claim 12 , wherein the schedule indicates to replicate, at a single point in time, all data written to a particular portion of the first logical during a first time period.

14. The method of claim 13 , further comprising:

monitoring a frequency of modifications made to the particular portion of the first logical device; and

modifying the schedule by adjusting, in accordance with said monitoring, a frequency of data replication of the particular portion of the first logical device.

15. The method of claim 7 , wherein the one or more criteria includes at least a first criterion defining a significant data change for a particular portion of the first logical device, and the method includes:

enabling replication of the particular portion of the first logical device responsive to detecting the significant data change for the particular portion of the first logical device, and otherwise disabling replication of the particular portion of the first logical device.

16. The method of claim 1 , wherein the second data storage system is one of a plurality of remote data storage systems and wherein the write operation is selectively replicated on one or more of the plurality of remote data storage systems in accordance with the one or more criteria.

17. A computer readable medium comprising code stored therein, that, when executed, performs a method of data replication comprising:

receiving, on a host, a write operation that writes first data to a target location on a first logical device having storage provisioned on a first data storage system;

determining, on the host and in accordance with one or more criteria, whether the first data is to be replicated on a second logical device on a second data storage system; and

issuing the write operation from the host to the first data storage system, wherein the write operation denotes whether to disable replication of the first data to the second logical device on the second data storage system, wherein an I/O driver on the host performs said determining and said issuing, and wherein the I/O driver performs first processing comprising:

determining, in accordance with the one or more criteria on the host, whether all the first data of the write operation is to be replicated to the second logical device of the second data storage system; and

responsive to determining, in accordance with the one or more criteria, that not all of the first data is to be replicated on the second logical device of the second data storage system, performing second processing by the I/O driver, said second processing including:

partitioning the write operation into a plurality of write operations each writing some of the first write data to the first logical device;

determining, in accordance with the one or more criteria, a set of one or more of the plurality of write operations each writing a portion of the first write data to the first logical device where the portion is not being replicated on the second logical device of the second data storage system; and

inserting an indicator into each write operation of the set denoting that replication is disabled for data written by said each write operation of the set whereby data of said each write operation of the set is not replicated on the second logical device of the second data storage system.

18. The computer readable medium of claim 17 , wherein the write operation is received from an application executing on the host.

19. A system comprising:

a processor; and

a memory comprising code stored therein that, when executed, performs a method of performing data replication comprising:

receiving, on a host, a write operation that writes first data to a target location on a first logical device having storage provisioned on a first data storage system;

determining, on the host and in accordance with one or more criteria, whether the first data is to be replicated on a second logical device on a second data storage system; and

issuing the write operation from the host to the first data storage system, wherein the write operation denotes whether to disable replication of the first data to the second logical device on the second data storage system, wherein an I/O driver on the host performs said determining and said issuing, and wherein the I/O driver performs first processing comprising:

determining, in accordance with the one or more criteria on the host, whether all the first data of the write operation is to be replicated to the second logical device of the second data storage system; and

responsive to determining, in accordance with the one or more criteria, that not all of the first data is to be replicated on the second logical device of the second data storage system, performing second processing by the I/O driver, said second processing including:

partitioning the write operation into a plurality of write operations each writing some of the first write data to the first logical device;

determining, in accordance with the one or more criteria, a set of one or more of the plurality of write operations each writing a portion of the first write data to the first logical device where the portion is not being replicated on the second logical device of the second data storage system; and

inserting an indicator into each write operation of the set denoting that replication is disabled for data written by said each write operation of the set whereby data of said each write operation of the set is not replicated on the second logical device of the second data storage system.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2016
From: LINSTEAD, PAUL A.
To: EMC CORPORATION
Reel/Frame 039057/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2016
From: LECRONE, DOUGLAS E.
To: EMC CORPORATION
Reel/Frame 039057/0147 →