IP Library Granted Patent US 11,487,432
Granted Patent B2
US 11,487,432 · App. 17/065,754 · Granted Nov 1, 2022

Direct response to IO request in storage system with remote replication

Inventors: Dan Aharoni (Brookline, MA); Itay Keller (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
G06F3/061G06F3/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 11,487,432
App. No.
17/065,754
Granted
Nov 1, 2022
Kind
B2
Abstract

An apparatus comprising a processing device is configured to communicate with a storage node of a storage system via at least one network and to communicate with a compute node that implements at least a portion of an application via the at least one network. The at least one processing device is configured to obtain an input-output request associated with the application from the compute node via the at least one network and to associate information corresponding to the compute node with the input-output request. The at least one processing device is further configured to submit the input-output request and the associated information that corresponds to the compute node to the storage node. The storage node is configured to submit a response to the input-output request to the compute node via the at least one network based at least in part on the information.

Claims (75)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to memory, the apparatus being configured:

to communicate with a storage node of a storage system via at least one network; and

to communicate with a compute node that implements at least a portion of an application via the at least one network;

the at least one processing device being configured:

to obtain an input-output request associated with the application from the compute node via the at least one network;

to associate information corresponding to the compute node with the input-output request, wherein associating information corresponding to the compute node with the input-output request comprises at least one of (i) appending the associated information to the input-output request, and (ii) generating a message comprising the input-output request and the associated information that corresponds to the compute node; and

to submit the input-output request and the associated information that corresponds to the compute node to the storage node, wherein the storage node is configured to submit a response to the input-output request to the compute node via the at least one network based at least in part on the information.

2. The apparatus of claim 1 wherein the at least one processing device is further configured:

to check a consistency of data corresponding to the input-output request; and

to determine, based at least in part on the check, that the data is consistent; and

wherein submitting the input-output request and the associated information that corresponds to the compute node to the storage node comprises submitting the input-output request and the associated information that corresponds to the compute node to the storage node based at least in part on the determination that the data is consistent.

3. The apparatus of claim 2 wherein:

checking the consistency of the data comprises determining whether or not the data stored on the storage node that corresponds to the input-output request is up to date; and

determining that the data is consistent comprises determining that the data stored on the storage node that corresponds to the input-output request is up to date.

4. The apparatus of claim 1 wherein associating the information corresponding to the compute node with the input-output request comprises appending the information to the input-output request.

5. The apparatus of claim 1 wherein:

associating the information that corresponds to the compute node with the input-output request comprises generating a message comprising the input-output request and the associated information that corresponds to the compute node; and

submitting the input-output request and the associated information that corresponds to the compute node to the storage node comprises submitting the generated message to the storage node.

6. The apparatus of claim 1 wherein:

the at least one network comprises a first communication pathway between the compute node and the apparatus;

the at least one network comprises a second communication pathway between the apparatus and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the apparatus via the first communication pathway;

the at least one processing device is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

7. The apparatus of claim 6 wherein the at least one processing device is further configured to obtain a notification from the storage node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

8. A method comprising:

obtaining an input-output request associated with an application from a compute node via at least one network, the compute node being configured to implement at least a portion of the application;

associating information corresponding to the compute node with the input-output request, wherein associating information corresponding to the compute node with the input-output request comprises at least one of (i) appending the associated information to the input-output request, and (ii) generating a message comprising the input-output request and the associated information that corresponds to the compute node; and

submitting the input-output request and the associated information that corresponds to the compute node to a storage node of a storage system via the at least one network, wherein the storage node is configured to submit a response to the input-output request to the compute node via the at least one network based at least in part on the information;

wherein the method is implemented by at least one processing device of an apparatus, the at least one processing device comprising a processor coupled to memory, the apparatus being configured to communicate with the storage node of the storage system via the at least one network and to communicate with the compute node that implements the at least a portion of the application via the at least one network.

9. The method of claim 8 wherein the method further comprises:

checking a consistency of data corresponding to the input-output request, the checking comprising determining whether or not the data stored on the storage node that corresponds to the input-output request is up to date; and

determining, based at least in part on the checking, that the data stored on the storage node that corresponds to the input-output request is up to date; and

wherein submitting the input-output request and the associated information that corresponds to the compute node to the storage node comprises submitting the input-output request and the associated information that corresponds to the compute node to the storage node based at least in part on the determination that the data stored on the storage node that corresponds to the input-output request is up to date.

10. The method of claim 8 wherein associating the information corresponding to the compute node with the input-output request comprises appending the information to the input-output request.

11. The method of claim 8 wherein:

associating the information that corresponds to the compute node with the input-output request comprises generating a message comprising the input-output request and the associated information that corresponds to the compute node; and

submitting the input-output request and the associated information that corresponds to the compute node to the storage node comprises submitting the generated message to the storage node.

12. The method of claim 8 wherein:

the at least one network comprises a first communication pathway between the compute node and the apparatus;

the at least one network comprises a second communication pathway between the apparatus and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the apparatus via the first communication pathway;

the at least one processing device is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

13. The method of claim 12 wherein the at least one processing device is further configured to obtain a notification from the storage node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

14. 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 the at least one processing device of the apparatus, causes the at least one processing device to perform the method of claim 8 .

15. An apparatus comprising:

a storage node comprising at least one processing device comprising a processor coupled to memory and a plurality of storage devices, the storage node being configured:

to communicate with a replication node via at least one network; and

to communicate with a compute node that implements at least a portion of an application via the at least one network;

the at least one processing device being configured:

to obtain an input-output request associated with the application and information that corresponds to the compute node from the replication node via the at least one network, the replication node being configured to obtain the input-output request from the compute node; and

to submit a response to the input-output request to the compute node via the at least one network based at least in part on the information that corresponds to the compute node that was obtained from the replication node;

wherein the information corresponding to the compute node is at least one of (i) appended to the input-output request by the replication node, and (ii) included in a message generated by the replication node, the message comprising the input-output request.

16. The apparatus of claim 15 wherein the replication node is configured:

to check a consistency of data corresponding to the input-output request; and

to determine, based at least in part on the check, that the data is consistent; and

wherein obtaining the input-output request and the information that corresponds to the compute node from the replication node comprises obtaining the input-output request and the associated information that corresponds to the compute node based at least in part on the determination by the replication node that the data is consistent.

17. The apparatus of claim 16 wherein:

checking the consistency of the data comprises determining whether or not the data stored on the plurality of storage devices that corresponds to the input-output request is up to date; and

determining that the data is consistent comprises determining that the data stored on the plurality of storage devices that corresponds to the input-output request is up to date.

18. The apparatus of claim 15 wherein:

the information corresponding to the compute node is appended to the input-output request by the replication node; and

obtaining the information comprises obtaining the information from the input-output request.

19. The apparatus of claim 15 wherein:

the at least one network comprises a first communication pathway between the compute node and the replication node;

the at least one network comprises a second communication pathway between the replication node and the storage node;

the at least one network comprises a third communication pathway between the storage node and the compute node;

the compute node is configured to submit the input-output request to the replication node via the first communication pathway;

the replication node is configured to submit the input-output request to the storage node via the second communication pathway; and

the storage node is configured to submit the response to the compute node via the third communication pathway.

20. The apparatus of claim 19 wherein the at least one processing device is further configured to submit a notification to the replication node that comprises an indication that the response has been submitted to the compute node via the third communication pathway.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: AHARONI, DAN; KELLER, ITAY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054007/0948 →