Virtual storage controller

US10656877B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10656877-B2
Application numberUS-201715831744-A
CountryUS
Kind codeB2
Filing dateDec 5, 2017
Priority dateDec 6, 2016
Publication dateMay 19, 2020
Grant dateMay 19, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An exemplary embodiment disclosed herein is a method including a virtual storage controller receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine is unresponsive to the virtual storage controller; translating the I/O command from the native drive communications protocol to an IP-based storage communications protocol to create a translated I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the translated I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the translated I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: by a virtual storage controller running on a host machine, receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine on a same node as the virtual storage controller is unresponsive to the virtual storage controller by: pinging the local service virtual machine; and detecting whether the local service virtual machine fails to respond to the virtual storage controller within a pre-determined amount of time after pinging by the virtual storage controller; embedding an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the embedded I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the embedded I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine. 2. The method of claim 1 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 3. The method of claim 1 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 4. The method of claim 1 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify data integrity via data on the storage device, retrieve information about the storage device, initiate repair, overwrite data, or encrypt data. 5. The method of claim 1 , wherein the native drive communications protocol is a Small Computer System Interface (SCSI) protocol. 6. The method of claim 1 , wherein the IP-based storage communications protocol is an Internet SCSI (iSCSI) protocol. 7. The method of claim 1 , wherein receiving, by the virtual storage controller, the I/O command from the software application on the user virtual machine, is via a hypervisor. 8. The method of claim 1 , wherein the software application is an operating system. 9. An apparatus comprising a processor having programmed instructions to: receive an input/output (I/O) command at a virtual storage controller from a software application on a single user virtual machine to: determine whether a first service virtual machine on a same node as the virtual storage controller is unresponsive to the apparatus; ping the first service virtual machine; detect whether the first service virtual machine fails to respond to the apparatus within a pre-determined amount of time after pinging by the apparatus; embed an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the first service virtual machine being unresponsive to the apparatus; send the embedded I/O command to a second service virtual machine, wherein the second service virtual machine is configured to send the embedded I/O command to a second local storage and receive a response from the second local storage and receive the response from the second service virtual machine. 10. The apparatus of claim 9 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 11. The apparatus of claim 9 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 12. The apparatus of claim 9 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify data integrity via data on the storage device, retrieve information about the storage device, initiate repair, overwrite data, or encrypt data. 13. The apparatus of claim 9 , wherein the native drive communications protocol is a Small Computer System Interface (SCSI) protocol. 14. The apparatus of claim 9 , wherein the IP-based storage communications protocol is an Internet SCSI (i SCSI) protocol. 15. The apparatus of claim 9 , the processor having further programmed instructions to receive the I/O command from the software application on the single user virtual machine via a first hypervisor. 16. The apparatus of claim 9 , wherein the software application is an operating system. 17. A non-transitory computer-readable storage medium having instructions stored thereon that, upon execution by a computing device, causes the computing device to perform operations comprising: receiving an I/O command using a native drive communications protocol from a software application on a user virtual machine running on a host machine having a virtual storage controller; determining whether a local service virtual machine on a same node as the virtual storage controller is unresponsive to a virtual storage controller on the host machine by: pinging the local service virtual machine; and detecting whether the local service virtual machine has failed to respond to the virtual storage controller within a pre-determined amount of time after pinging by the virtual storage controller; embedding an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller; sending the embedded I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the embedded I/O command to a local storage and receive a response from the local storage; and receiving the response from the remote service virtual machine. 18. The storage medium of claim 17 , wherein the embedded I/O command comprises a read command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful read operation, an error message, or data retrieval. 19. The storage medium of claim 17 , wherein the embedded I/O command comprises a write command, and wherein the response comprises an acknowledgement of a receipt of the embedded I/O command, a confirmation of a successful write operation, an error message, or data retrieval. 20. The storage medium of claim 17 , wherein the embedded I/O command is a command to test whether a storage device is ready, format the storage device, read block limits for the storage device, reassign blocks for the storage device, verify data, copy data, erase data, determine or retrieve diagnostic data for the storage device, verify dat

Assignees

Inventors

Classifications

  • in relation to throughput · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • G06F3/067Primary

    Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10656877B2 cover?
An exemplary embodiment disclosed herein is a method including a virtual storage controller receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine; determining whether a local service virtual machine is unresponsive to the virtual storage controller; translating the I/O command from t…
Who is the assignee on this patent?
Nutanix Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/067. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 19 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).