/Patent Tracker
MicrosoftGranted patentChips & hardwareInterest 3/10

Microsoft patents method to move virtual machines with fast storage

Patent drawing
Patent drawing from the official filing.

This patent describes a way to move a virtual machine between servers without interrupting its access to fast storage. The system checks each storage command to decide if it should be handled by the physical hardware or simulated by the software. It uses a placeholder command to keep the physical hardware busy while the software handles the specific task.

Why it mattersThis improves how data centers manage virtual machines, ensuring that moving them between servers does not cause delays in accessing fast storage drives.

In the filing’s own words

A device identifies a first entry, at a virtual submission queue, which includes a command identifier and an opcode. The device determines, based on the opcode, that a command is to be either: emulated by a virtual non-volatile memory express (NVMe) controller, or executed by a physical NVMe controller. The device inserts a second entry, into a physical controller submission queue, which includes the command identifier and either: the opcode (the physical execution determination), or a placeholder command opcode (the emulation determination). Later, the device identifies a third entry, at a physical controller completion queue, which includes the command identifier. Based on the command identifier, the device fetches the first entry from the virtual submission queue. The device inserts a fourth entry, into a virtual completion queue, which includes the command identifier and either: a result of emulating the command, or a result of the NVMe controller executing the command.

What exactly they claim (claim 1)

1. A method, implemented at a computer system that includes a processor, comprising: identifying a first submission queue entry at a virtual administrative submission queue of a virtual non-volatile memory express (NVMe) controller, the first submission queue entry having been written by a virtual machine (VM) guest to the virtual administrative submission queue, and including: a command identifier, and a first opcode of an administrative command; determining, based on the first opcode, that the administrative command is to be emulated by the virtual NVMe controller; inserting a second submission queue entry into a physical administrative submission queue of a physical NVMe controller, the second submission queue entry including: the command identifier, and a second opcode of a placeholder command that is different than the first opcode of the administrative command; identifying a first completion queue entry at a physical administrative completion queue of the physical NVMe controller, the first completion queue entry corresponding to the second submission queue entry and including the command identifier; responsive to identifying the first completion queue entry: identifying, based on the command identifier, a corresponding first submission queue entry from among a plurality of submission queue entries in the virtual administrative submission queue; fetching the first submission queue entry from the virtual administrative submission queue based on the identifying; and emulating the administrative command based on the first submission queue entry fetched from the virtual administrative submission queue; and inserting a second completion queue entry into a virtual administrative completion queue of the virtual NVMe controller, the second completion queue entry including the command identifier and a result of emulating the administrative command.

Facts

Company
Microsoft (Microsoft Technology Licensing, LLC)
Official title
Virtual machine live migration with direct-attached non-volatile memory express device
Patent number
US12754752B2
Application number
18075322
Filed
Dec 5, 2022
Granted
Oct 6, 2026
Inventors
5
Claims
20

Classified under

G06F 9/45558 Physics & computingG06F 2009/4557 Physics & computingG06F 2009/45583 Physics & computing

More from Microsoft in Chips & hardware

Summaries are simplified from the filing’s own abstract and first claim. A patent filing is not a product announcement.
Patent data and drawings: U.S. Patent and Trademark Office (USPTO). Nebula is not affiliated with or endorsed by the USPTO.