IP Library Granted Patent US 10,866,969
Granted Patent B2
US 10,866,969 · App. 15/938,058 · Granted Dec 15, 2020

Storage system with loopback replication process providing unique identifiers for collision-free object pairing

Inventors: Xiangping Chen (Sherborn, MA); Bar David (Rishon Lezion, IL); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F16/275G06F16/273
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 10,866,969
App. No.
15/938,058
Granted
Dec 15, 2020
Kind
B2
Abstract

A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage system implements a loopback replication process in which one or more source storage objects are replicated to one or more corresponding target storage objects within the storage system. The storage system obtains a pairing identifier, pairs a source storage object with a target storage object by associating respective distinct instances of the pairing identifier with the source storage object and the target storage object, and replicates the source storage object to the target storage object based at least in part on the associated instances of the pairing identifier. Each of the source and target instances of the pairing identifier comprises a collision field. The collision fields of the source and target instances of the pairing identifier have respective distinct values in order to prevent collisions between the source and target storage objects during loopback replication.

Claims (53)

1. An apparatus comprising:

a storage system comprising a plurality of storage devices and a storage controller;

the storage system being configured:

to obtain a pairing identifier, wherein the pairing identifier identifies a source storage object of the storage system to be replicated to a corresponding target storage object of the storage system as part of a loopback replication process;

to pair the source storage object of the storage system with the target storage object of the storage system by associating respective distinct instances of the pairing identifier with the source storage object and the target storage object; and

to replicate the source storage object to the target storage object in the loopback replication process based at least in part on the associated instances of the pairing identifier;

wherein each of the instances of the pairing identifier comprises a collision field, the collision field having a first value in the instance of the pairing identifier associated with one of the source storage object and the target storage object and a second value different than the first value in the instance of the pairing identifier associated with the other one of the source storage object and the target storage object;

wherein each of the instances of the pairing identifier further comprises a loopback field, the loopback field having a first value to specify the pairing identifier as a loopback pairing identifier and a second value to specify the pairing identifier as a non-loopback pairing identifier;

wherein the loopback field comprises a portion of the pairing identifier that is overwritten with one of the first value that specifies the pairing identifier as a loopback pairing identifier and the second value that specifies the pairing identifier as a non-loopback pairing identifier; and

wherein the storage system is implemented using at least one processing device comprising a processor coupled to a memory.

2. The apparatus of claim 1 wherein the loopback replication process comprises at least one of:

a cycle-based asynchronous replication mode in which differential data derived from snapshots of the source storage object is utilized to update the target storage object in each of a plurality of replication cycles; and

a synchronous replication mode in which host write operations directed to the source storage object are mirrored to the target storage object.

3. The apparatus of claim 1 wherein the storage system further comprises at least one loopback communication link over which replication-related information is both transmitted and received by the storage system.

4. The apparatus of claim 1 wherein the source and target storage objects comprise respective source and target logical volumes of the storage system.

5. The apparatus of claim 1 wherein the loopback field comprises a designated number of initial bytes of the pairing identifier.

6. The apparatus of claim 1 wherein the pairing identifier comprises a globally-unique identifier randomly generated within the storage system.

7. The apparatus of claim 6 wherein the globally-unique identifier is modified to incorporate the collision field.

8. The apparatus of claim 1 wherein the collision field comprises a single bit having a logic zero value in one of the instances of the pairing identifier and a logic one value in the other of the instances of the pairing identifier.

9. The apparatus of claim 8 wherein the single-bit collision field comprises a final bit of the pairing identifier.

10. The apparatus of claim 1 wherein in conjunction with replication of the source storage object to the target storage object based at least in part on the associated instances of the pairing identifier, the storage system is further configured:

to receive the instance of the pairing identifier associated with the source storage object;

to modify the value of the collision field of the instance of the pairing identifier associated with the source storage object to obtain the instance of the pairing identifier associated with the target storage object; and

to identify the target storage object utilizing its associated pairing identifier.

11. The apparatus of claim 1 wherein the instance of the pairing identifier having the first value in its collision field comprises the instance associated with the source storage object.

12. The apparatus of claim 1 wherein the storage system comprises a content addressable storage system including a plurality of storage nodes each comprising one or more of the storage devices and wherein each of the storage nodes of the first storage system further comprises a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the storage nodes, the sets of processing modules of the storage nodes of the storage system collectively comprising at least a portion of the storage controller of the storage system, and further wherein each of the sets of processing modules of the storage system comprises one or more control modules, one or more routing modules and one or more data modules, and wherein at least one of the sets of processing modules comprises a management module.

13. A method comprising:

obtaining a pairing identifier in a storage system, wherein the pairing identifier identifies a source storage object of the storage system to be replicated to a corresponding target storage object of the storage system as part of a loopback replication process;

pairing the source storage object of the storage system with the target storage object of the storage system by associating respective distinct instances of the pairing identifier with the source storage object and the target storage object; and

performing loopback replication of the source storage object to the target storage object in the loopback replication process based at least in part on the associated instances of the pairing identifier;

wherein each of the instances of the pairing identifier comprises a collision field, the collision field having a first value in the instance of the pairing identifier associated with one of the source storage object and the target storage object and a second value different than the first value in the instance of the pairing identifier associated with the other one of the source storage object and the target storage object;

wherein each of the instances of the pairing identifier further comprises a loopback field, the loopback field having a first value to specify the pairing identifier as a loopback pairing identifier and a second value to specify the pairing identifier as a non-loopback pairing identifier;

wherein the loopback field comprises a portion of the pairing identifier that is overwritten with one of the first value that specifies the pairing identifier as a loopback pairing identifier and the second value that specifies the pairing identifier as a non-loopback pairing identifier; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

14. The method of claim 13 wherein performing loopback replication of the source storage object to the target storage object based at least in part on the associated instances of the pairing identifier further comprises:

receiving the instance of the pairing identifier associated with the source storage object;

modifying the collision field of the instance of the pairing identifier associated with the source storage object to obtain the instance of the pairing identifier associated with the target storage object; and

identifying the target storage object utilizing its associated pairing identifier.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device of a storage system causes the storage system:

to obtain a pairing identifier, wherein the pairing identifier identifies a source storage object of the storage system to be replicated to a corresponding target storage object of the storage system as part of a loopback replication process;

to pair the source storage object of the storage system with the target storage object of the storage system by associating respective distinct instances of the pairing identifier with the source storage object and the target storage object; and

to perform loopback replication of the source storage object to the target storage object in the loopback replication process based at least in part on the associated instances of the pairing identifier;

wherein each of the instances of the pairing identifier comprises a collision field, the collision field having a first value in the instance of the pairing identifier associated with one of the source storage object and the target storage object and a second value different than the first value in the instance of the pairing identifier associated with the other one of the source storage object and the target storage object;

wherein each of the instances of the pairing identifier further comprises a loopback field, the loopback field having a first value to specify the pairing identifier as a loopback pairing identifier and a second value to specify the pairing identifier as a non-loopback pairing identifier; and

wherein the loopback field comprises a portion of the pairing identifier that is overwritten with one of the first value that specifies the pairing identifier as a loopback pairing identifier and the second value that specifies the pairing identifier as a non-loopback pairing identifier.

16. The computer program product of claim 15 wherein performing loopback replication of the source storage object to the target storage object based at least in part on the associated instances of the pairing identifier further comprises:

receiving the instance of the pairing identifier associated with the source storage object;

modifying the collision field of the instance of the pairing identifier associated with the source storage object to obtain the instance of the pairing identifier associated with the target storage object; and

identifying the target storage object utilizing its associated pairing identifier.

17. The computer program product of claim 15 wherein the pairing identifier comprises a globally-unique identifier randomly generated within the storage system.

18. The computer program product of claim 17 wherein the globally-unique identifier is modified to incorporate the collision field.

19. The computer program product of claim 15 wherein the collision field comprises a single bit having a logic zero value in one of the instances of the pairing identifier and a logic one value in the other of the instances of the pairing identifier.

20. The computer program product of claim 19 wherein the single-bit collision field comprises a final bit of the pairing identifier.

Assignments (8)
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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2018
From: CHEN, XIANGPING; DAVID, BAR; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045370/0584 →
Continuity (1)
Related Publication 20190303491A1 · Oct 3, 2019