US 12,248,797 B2
Aggregating block mapping metadata to improve linked clone read performance
Enning Xiang, San Jose, CA (US); and Wenguang Wang, Santa Clara, CA (US)
Assigned to VMware LLC, Palo Alto, CA (US)
Filed by VMware LLC, Palo Alto, CA (US)
Filed on Jun. 14, 2021, as Appl. No. 17/346,607.
Prior Publication US 2022/0398115 A1, Dec. 15, 2022
Int. Cl. G06F 9/455 (2018.01); G06F 16/11 (2019.01); G06F 16/22 (2019.01)
CPC G06F 9/45558 (2013.01) [G06F 16/113 (2019.01); G06F 16/128 (2019.01); G06F 16/2246 (2019.01); G06F 2009/45562 (2013.01); G06F 2009/45583 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
generating, by a virtual storage area network (VSAN) component of a virtualization platform, primary metadata for a child clone of a VSAN object in a software-defined storage (SDS) data store managed by the VSAN component, the primary metadata for the child clone comprising a logical block address (LBA) for data in a data region of the child clone and a physical sector address (PSA) for data in the data region of the child clone, the primary metadata for the child clone mapping the LBA for data in the data region of the child clone to the PSA for data in the data region of the child clone;
copying, by the VSAN component, at least a portion of primary metadata for a parent clone of the child clone into archival metadata for the child clone, the archival metadata for the child clone comprising an LBA for data in a data region of the parent clone and a clone identifier (ID) identifying the parent clone;
receiving, by the VSAN component, a read request having a read request LBA;
determining, by the VSAN component, whether the read request LBA is within the primary metadata for the child clone;
returning, by the VSAN component and based on at least determining that the read request LBA is within the primary metadata for the child clone, data from the data region of the child clone;
determining, by the VSAN component and based on at least determining that the read request LBA is not within the primary metadata for the child clone, whether the read request LBA is within the archival metadata for the child clone; and
returning, by the VSAN component and based on at least determining that the read request LBA is within the archival metadata for the child clone, data from the data region of the parent clone or a data region of another ancestor of the child clone.