Patent ID: 11886730
Assignee: DELL PRODUCTS L.P.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:
maintaining, for a storage system, a deduplication data structure comprising a target total number of entries for data block identifiers, the deduplication data structure comprising two or more sub-portions associated with different compression ratio ranges, the two or more sub-portions of the deduplication data structure having respective target numbers of entries wherein a sum of the target numbers of entries of the two or more sub-portions of the deduplication data structure is less than or equal to the target total number of entries of the deduplication data structure, the two or more sub-portions of the deduplication data structure comprising a first sub-portion having a first target number of entries for data block identifiers of data blocks having compression ratios in a first compression ratio range and at least a second sub-portion having a second target number of entries for data block identifiers of data blocks having compression ratios in a second compression ratio range, the second target number being different than the first target number, the second compression ratio range being different than the first compression ratio range;
identifying, for a given data block to be stored in the storage system, a given data block identifier and a given compression ratio;
determining whether the given data block identifier of the given data block is in a given one of the two or more sub-portions of the deduplication data structure having a given compression ratio range including the given compression ratio;
responsive to determining that the given data block identifier for the given data block is not in the given sub-portion of the deduplication data structure, (i) writing the given data block to a given one of a plurality of physical space blocks of the storage system, the given physical space block being selected based at least in part on the given compression ratio of the given data block and an amount of unused space in the given physical space block and (ii) determining whether to add the given data block identifier as an entry in the given sub-portion of the deduplication data structure based at least in part on whether a number of allocated entries of the given sub-portion of the deduplication data structure is less than a given target number of entries of the given sub-portion of the deduplication data structure; and
responsive to determining that the given data block identifier for the given data block is in the given sub-portion of the deduplication data structure, incrementing a deduplication reference count for the given data block identifier.