US 12,242,874 B2
Migration of virtual computing storage resources using smart network interface controller acceleration
Gaurav Chawla, Austin, TX (US); William Price Dawkins, Lakeway, TX (US); Mahmoud B. Ahmadian, Austin, TX (US); and Waseem Ali Raja, Austin, TX (US)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Jul. 23, 2021, as Appl. No. 17/384,459.
Prior Publication US 2023/0026015 A1, Jan. 26, 2023
Int. Cl. G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/45545 (2013.01); G06F 9/5088 (2013.01); G06F 9/542 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45595 (2013.01)] 18 Claims
OG exemplary drawing
 
1. An information handling system comprising:
a processor;
a network interface, wherein the network interface comprises a Smart Network Interface Card (SmartNIC); and
a physical storage resource having data stored thereon that is usable by a virtual resource that is executable on the processor;
wherein the network interface is configured to accelerate migration of the data to a destination system by, in response to a command from a virtual machine manager:
offloading, from the processor, a copying process that is configured to copy the data to the destination system, wherein the offloading includes performing selected processing related to the copying process on the network interface instead of performing the selected processing on the processor, wherein the selected processing includes notifying a hypervisor associated with the virtual resource to set up a shared memory region between the processor and the network interface, the shared memory region being usable to track storage blocks associated with the data that are changed by the virtual resource while the copying process is in progress;
tracking portions of the data that are changed by the virtual resource during the copying process;
in response to a designated checkpoint being reached in the copying process:
if a number of remaining changed storage blocks is smaller than a threshold number, performing a fast suspend of the virtual resource;
completing the copying process; and
performing a fast resume of the virtual resource and causing the resumed virtual resource to use the copied data at the destination instead of the data on the physical storage resource.