Methods and apparatus to process commands from virtual machines
US-2020174819-A1 · Jun 4, 2020 · US
US11079968B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11079968-B1 |
| Application number | US-202016796983-A |
| Country | US |
| Kind code | B1 |
| Filing date | Feb 21, 2020 |
| Priority date | Feb 21, 2020 |
| Publication date | Aug 3, 2021 |
| Grant date | Aug 3, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer-implemented method to identify redundant Input/Output (I/O) queues in a multi-site storage system. The method includes receiving, from a host, by a backup storage system, a request to process a first set of Input/Output (I/O) queues, wherein the backup storage system is a second subsystem in a multi-site storage system. The method includes, allocating memory on the backup storage system. The method includes, identifying a second set of I/O queues established at a primary storage system, a first subsystem in the multi-site storage system. The method includes, determining the first set of I/O queues and the second set of I/O queues are redundant. The method includes, responsive to determining queues are redundant: notifying via the host, that the first set of the redundancy, terminating a connection between the host and the backup storage system, and de-allocating the memory to process the first set of I/O queues.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, from a host, by a backup storage system, a request to process a first set of Input/Output (I/O) queues on the backup storage system, wherein the backup storage system is a second subsystem in a multi-site storage system; allocating memory on the backup storage system for processing the first set of I/O queues; identifying a second set of I/O queues established at a primary storage system, wherein the primary storage system is a first subsystem in the multi-site storage system and the backup storage system includes a backup copy of data stored on the primary storage system; determining the first set of I/O queues are redundant, wherein the first set of I/O queues are redundant when the first set of I/O queues and the second set of I/O queues process an equivalent set of commands, as included in the request; responsive to determining that the first set of I/O queues are redundant: notifying via the host, that the first set of I/O queues are redundant; terminating a connection between the host and the backup storage system; and de-allocating the memory to process the first set of I/O queues. 2. The method of claim 1 further comprising: monitoring processing of the second set of I/O queues; determining a failure of the primary storage system; notifying the host of the failure of the primary storage system; in response to determining the failure of the primary storage system, re-establishing the connection between the host and the backup storage system and re-allocating the memory to the second set of I/O queues on the backup storage system; and processing the second set of I/O queues on the backup storage system. 3. The method of claim 1 , wherein the host, the primary storage system, and the backup storage system use a non-volatile memory express (NVMe) protocol. 4. The method of claim 3 , wherein the notifying occurs via an asynchronous event request through an NVMe qualified name (NQN) connection. 5. The method of claim 1 , further comprising: receiving, from the host, a second request to process the first set of I/O queues; determining the request includes an override flag; processing, in response to the determining that the request includes the override flag, the first set of I/O queues on the backup storage system. 6. The method of claim 1 , wherein the notifying occurs via an out-of-band communications. 7. The method of claim 6 , wherein the out of band communication includes an application programming interface call. 8. The method of claim 1 , wherein the primary storage system and the backup storage system are included in a disaster recovery system. 9. The method of claim 8 , wherein the disaster recovery system syncs data between the primary storage system and the backup storage system. 10. A system comprising: a processor; and a computer-readable storage medium communicatively coupled to the processor and storing program instructions which, when executed by the processor, are configured to cause the processor to: receive, from a host, by a backup storage system, a request to process a first set of Input/Output (I/O) queues on the backup storage system, wherein the backup storage system is a second subsystem in a multi-site storage system; allocate memory on the backup storage system for processing the first set of I/O queues; identify a second set of I/O queues established at a primary storage system, wherein the primary storage system is a first subsystem in the multi-site storage system and the backup storage system includes a backup copy of data stored on the primary storage system; determine the first set of I/O queues are redundant, wherein the first set of I/O queues are redundant when the first set of I/O queues and the second set of I/O queues process an equivalent set of commands, as included in the request; responsive to determining that the first set of I/O queues are redundant: notify via the host, that the first set of I/O queues are redundant; terminate a connection between the host and the backup storage system; and de-allocate the memory to process the first set of I/O queues. 11. The system of claim 10 , wherein the program instructions are further configured to cause the processor to: monitor processing of the second set of I/O queues; determine, a failure of the primary storage system; notify the host of the failure of the primary storage system; re-establish, in response to determining the failure of the primary storage system, the connection between the host and the backup storage system and re-allocate the memory to the second set of I/O queues on the backup storage system; and process the second set of I/O queues on the backup storage system. 12. The system of claim 10 , wherein the host, the primary storage system, and the backup storage system use a non-volatile memory express (NVMe) protocol. 13. The system of claim 10 , wherein the program instructions are further configured to cause the processor to: receive, from the host, a second request to process the first set of I/O queues; determine, the request includes an override flag; process, in response to determining the request includes the override flag, the first set of I/O queues on the backup storage system. 14. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing unit to cause the processing unit to: receive, from a host, by a backup storage system, a request to process a first set of Input/Output (I/O) queues on the backup storage system, wherein the backup storage system is a second subsystem in a multi-site storage system; allocate memory on the backup storage system for processing the first set of I/O queues; identify a second set of I/O queues established at a primary storage system, wherein the primary storage system is a first subsystem in the multi-site storage system and the backup storage system includes a backup copy of data stored on the primary storage system; determine the first set of I/O queues are redundant, wherein the first set of I/O queues are redundant when the first set of I/O queues and the second set of I/O queues process an equivalent set of commands, as included in the request; responsive to determining that the first set of I/O queues are redundant: notify via the host, that the first set of I/O queues are redundant; terminate a connection between the host and the backup storage system; and de-allocate the memory to process the first set of I/O queues. 15. The computer program product of claim 14 , wherein the program instructions are further configured to cause the processing unit to: monitor processing of the second set of I/O queues; determine, a failure of the primary storage system; notify the host of the failure of the primary storage system; re-establish, in response to determining the failure of the primary storage system, the connection between the host and the backup storage system and re-allocate the memory to the second set of I/O queues on the backup storage system; and process the second set of I/O queues on the backup storage system. 16. The computer program product of claim 14 , wherein the host, the primary storage system, and the backup storage system use a non-volatile memory express (NVMe) protocol. 17. The computer program product of claim 14 , wherein the program instructions are further configured to cause the processing unit to: receive, fro
where the redundant components share neither address space nor persistent storage · CPC title
with a single idle spare processing component · CPC title
using centralised failover control functionality · CPC title
in relation to availability · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.