US 12,130,734 B2
Saving virtual memory space in a clone environment
Tanay Ganguly, Bangalore (IN); Zubraj Singha, Bangalore (IN); Goresh Musalay, Bangalore (IN); and Kashish Bhatia, Bangalore (IN)
Assigned to VMware LLC, Palo Alto, CA (US)
Filed by VMware LLC, Palo Alto, CA (US)
Filed on Nov. 17, 2022, as Appl. No. 18/056,445.
Application 18/056,445 is a continuation of application No. 16/991,125, filed on Aug. 12, 2020, granted, now 11,531,614.
Claims priority of application No. 202041023073 (IN), filed on Jun. 2, 2020.
Prior Publication US 2023/0080935 A1, Mar. 16, 2023
Int. Cl. G06F 12/02 (2006.01); G06F 12/10 (2016.01)
CPC G06F 12/023 (2013.01) [G06F 12/10 (2013.01); G06F 2212/1044 (2013.01); G06F 2212/152 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of managing virtual memory space, the method comprising:
receiving, from one of a plurality of virtual machines (VMs) in a VM chain, a swap out request for writing a block of memory to a storage medium, the plurality of VMs being clones of a parent VM, the parent VM and the plurality of VMs forming the VM chain;
based on the swap out request, generating a hash value for the block of memory to be written to the storage medium;
determining whether the hash value for the block of memory is available within a chain hash table, the chain hash table being shared across the plurality of VMs in the VM chain;
based on determining that the hash value for the block of memory is available within the chain hash table, updating, without writing the block of memory to the storage medium, a logical addressing table for the one of the plurality of VMs in the VM chain to indicate a location of a prior-existing duplicate of the block of memory on the storage medium; and
based on determining that the hash value for the block of memory is not available within the chain hash table:
writing the block of memory to the storage medium;
updating the logical addressing table for the one of the plurality of VMs in the VM chain to indicate a location of the block of memory on the storage medium; and
updating the chain hash table with the hash value.