US 12,326,841 B1
Background incremental deletion cleanup techniques at storage services
Zhuzeng Lu, Mountain View, CA (US); Andrea Olgiati, Gilroy, CA (US); Terence Kelly, Redwood City, CA (US); Carlos Garcia-Alvarado, Gilroy, CA (US); Vikram Singh Bisht, Seattle, WA (US); Anurag Windlass Gupta, Atherton, CA (US); and John Benjamin Tobler, San Jose, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on May 24, 2017, as Appl. No. 15/604,616.
Claims priority of provisional application 62/471,828, filed on Mar. 15, 2017.
Int. Cl. G06F 16/215 (2019.01)
CPC G06F 16/215 (2019.01) 20 Claims
OG exemplary drawing
 
1. A system, comprising: a memory to store program instructions which, if performed by at least one processor, cause the at least one processor to implement a storage service configured to: determine whether a workload of performing client-submitted requests directed to a first collection of data items satisfies a workload condition, the first collection of data items including a first data item comprising one or more records, and in response to determining that the workload satisfies the workload condition: determine whether a metric that describes a cumulative size of one or more records in a first portion of the first data item meets a size condition, wherein individual ones of the one or more records comprise data currently marked for deletion;
and in response to determining that the metric meets the size condition, cause a first cleanup operation directed to a first group of one or more storage blocks at which the first portion of the first data item is stored, wherein the first group of one or more storage blocks comprises the data currently marked for deletion, wherein the first cleanup operation comprises replacing the first group with a second group of one or more storage blocks, wherein the second group excludes the data currently marked for deletion, and wherein a total number of storage blocks of the second group is less than a total number of storage blocks of the first group.