IP Library Granted Patent US 12,086,431
Granted Patent B1
US 12,086,431 · App. 16/862,678 · Granted Sep 10, 2024

Selective communication protocol layering for synchronous replication

Inventors: Roland Dreier (Mountain View, CA); Anatoliy Glagolev (Sunnyvale, CA); Logan Jennings (Menlo Park, CA); Aaron Dailey (San Jose, CA); Nicole Tselentis (Los Altos, CA); Daquan Zuo (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/0631G06F3/067G06F13/42G06F16/1824G06F16/1827G06F30/34H03K19/017581H04L67/1095H04L67/1097
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 12,086,431
App. No.
16/862,678
Granted
Sep 10, 2024
Kind
B1
Abstract

Selective communication protocol layering for synchronous replication, including: initiating, by a first storage system issuing a command in accordance with a first communication protocol, a connection specifying the first storage system to be a target of storage content from a second storage system; receiving, from the second storage system by the first storage system, a connection request in accordance with the first communication protocol, wherein the connection request specifies the first storage system to be a source of storage content to the second storage system; and based on both initiating the connection and receiving the connection request in accordance with the first communication protocol: establishing, by the first storage system and in accordance with a second communication protocol, both a connection for receiving storage content from the second storage system and a connection for sending storage content to the second storage system.

Claims (38)

1. A method comprising:

initiating, by a first storage system, using a first communication protocol, a first connection request specifying the first storage system to be a target of storage content from a second storage system;

in response to the first storage system issuing the first connection request, receiving, from the second storage system by the first storage system, a second connection request that also uses the first communication protocol, wherein the second connection request specifies the first storage system to be a source of storage content to the second storage system; and

based on the first connection request in accordance with and the second connection request that both use the first communication protocol:

establishing, by the first storage system and in accordance with a second communication protocol, a bidirectional replication connection between the first storage system and the second storage system.

2. The method of claim 1 , wherein the first communication protocol is non-volatile memory express over Fabrics (NVMeoF).

3. The method of claim 2 , wherein the second communication protocol is a replication protocol specifying portions of the first communication protocol to use, specifying an active storage system as an initiator of bidirectional communication, and specifying a passive storage system as responsive to creating bidirectional communication.

4. The method of claim 3 , wherein the replication protocol further specifies that an NVMe qualified name (NON) is formatted to include a replication protocol identifier that corresponds to a storage system.

5. The method of claim 4 , wherein a third communication protocol is used for the first storage system to request one or more replication protocol identifiers for one or more storage systems, and wherein the third communication protocol is TCP/IP.

6. The method of claim 1 , further comprising:

replicating a dataset among the first storage system and the second storage system, and wherein replication of the dataset is based on both the first connection request for receiving storage content from the second storage system and the second connection request for sending storage content to the second storage system.

7. The method of claim 6 , wherein replication of the dataset is synchronous or asynchronous.

8. The method of claim 1 , further comprising:

based on the first connection request and the second connection request that both use the first communication protocol:

establishing, by the first storage system and in accordance with a second communication protocol, one or more of an administrative communication connection or a migration connection between the first storage system and the second storage system.

9. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

initiating, by a first storage system, using a first communication protocol, a first connection request specifying the first storage system to be a target of storage content from a second storage system;

in response to the first storage system issuing the first connection request, receiving, from the second storage system by the first storage system, a second connection request that also uses the first communication protocol, wherein the second connection request specifies the first storage system to be a source of storage content to the second storage system; and

based on the first connection request in accordance with and the second connection request that both use the first communication protocol:

establishing, by the first storage system and in accordance with a second communication protocol, a bidirectional replication connection between the first storage system and the second storage system.

10. The apparatus of claim 9 , wherein the first communication protocol is non-volatile memory express over Fabrics (NVMeoF).

11. The apparatus of claim 10 , wherein the second communication protocol is a replication protocol specifying portions of the first communication protocol to use, specifying an active storage system as an initiator of bidirectional communication, and specifying a passive storage system as responsive to creating bidirectional communication.

12. The apparatus of claim 11 , wherein the replication protocol further specifies that an NVMe qualified name (NON) is formatted to include a replication protocol identifier that corresponds to a storage system.

13. The apparatus of claim 12 , wherein a third communication protocol is used for the first storage system to request one or more replication protocol identifiers for one or more storage systems, and wherein the third communication protocol is TCP/IP.

14. The apparatus of claim 12 , wherein the program instructions, when executed by the computer processor, further cause the processor to carry out the steps of:

replicating a dataset among the first storage system and the second storage system, and wherein replication of the dataset is based on both the first connection request for receiving storage content from the second storage system and the second connection request for sending storage content to the second storage system.

15. The apparatus of claim 14 , wherein replication of the dataset is synchronous or asynchronous.

16. A computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

initiating, by a first storage system, using a first communication protocol, a first connection request specifying the first storage system to be a target of storage content from a second storage system;

in response to the first storage system issuing the first connection request, receiving, from the second storage system by the first storage system, a second connection request that also uses the first communication protocol, wherein the second connection request specifies the first storage system to be a source of storage content to the second storage system; and

based on the first connection request in accordance with and the second connection request that both use the first communication protocol:

establishing, by the first storage system and in accordance with a second communication protocol, a bidirectional replication connection between the first storage system and the second storage system.

17. The computer program product of claim 16 , wherein the first communication protocol is non-volatile memory express over Fabrics (NVMeoF).

18. The computer program product of claim 17 , wherein the second communication protocol is a replication protocol specifying portions of the first communication protocol to use, specifying an active storage system as an initiator of bidirectional communication, and specifying a passive storage system as responsive to creating bidirectional communication.

19. The computer program product of claim 18 , wherein the replication protocol further specifies that an NVMe qualified name (NON) is formatted to include a replication protocol identifier that corresponds to a storage system.

20. The computer program product of claim 19 , wherein a third communication protocol is used for the first storage system to request one or more replication protocol identifiers for one or more storage systems, and wherein the third communication protocol is TCP/IP.

21. The computer program product of claim 16 , wherein the computer program instructions, when executed, further cause a computer to carry out the steps of:

replicating a dataset among the first storage system and the second storage system, and wherein replication of the dataset is based on both the first connection request for receiving storage content from the second storage system and the second connection request for sending storage content to the second storage system.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: DREIER, ROLAND; GLAGOLEV, ANATOLIY; JENNINGS, LOGAN; DAILEY, AARON; TSELENTIS, NICOLE; ZUO, DAQUAN
To: PURE STORAGE, INC.
Reel/Frame 052533/0981 →
Continuity (6)
Continuation In Part 16400665 · May 1, 2019
Continuation 16175316 · Oct 30, 2018
Continuation In Part 16050698 · Jul 31, 2018
Provisional Application 62695433 · Jul 9, 2018
Provisional Application 62674691 · May 22, 2018
Provisional Application 62674570 · May 21, 2018
Cited By (13)
US 12,265,884 US 12,307,129 US 12,346,599 US 12,367,320 US 12,461,793 US 12,499,021 US 12,517,682 US 12,587,945 US 12,608,158 US 12,615,298 US 12,656,954 US 12,670,120 US 12,719,903