Patent ID: 8688636

Claim:
A computerized method comprising: receiving, by a storage server, a request to clone a source data object; determining a source range of the source data object in a source logical storage unit; creating an empty data object in a destination logical storage unit; determining a destination range of the empty data object in the destination logical storage unit; mapping the source range to the destination range, the mapping comprising: computing a cloning range consisting of a source logical block address (LBA), a destination LBA, and a number of blocks to clone based on the source range and the destination range, comparing a number of source bytes in the source range and a number of destination bytes in the destination range, wherein the comparing comprises: if the number of source bytes is less than the number of destination, determining the number of destination bytes by subtracting the number of blocks to clone from the number of destination bytes, if the number of source bytes is equal to the number of destination bytes, determining the number of source bytes by subtracting the number of blocks to clone from the number of source bytes and determining the number of destination bytes by subtracting the number of blocks to clone from the number of destination bytes, and if the number of source bytes is greater than the number of destination bytes, determining the number of source bytes by subtracting the number of blocks to clone from the number of source bytes; and cloning the source data object based on the mapping.