Patent ID: 10235286

Abstract:
A data storage system manages a pool of secondary storage by internal file systems hosting logical data storage objects accessed by clients, the pool organized into fixed-size, dynamically provisioned slices. A first choose-and-mark-slices operation scans a set of slices to identify a first subset as evacuatable, and records them as a recorded subset in an in-memory structure. Iterations of an evacuate-slices operation (1) select slices from among the recorded subset, observing a per-iteration limit, (2) move data from the selected slices to remaining slices of the set, and (3) subsequently (i) updates file system metadata to reflect the data movement and (ii) de-provisions the selected slices and returns them to the pool. Between iterations, a change in the composition of evacuatable slices is detected, and a second choose-and-mark-slices operation re-scans the slices and records a second subset as the recorded subset for a subsequent iteration of the evacuate-slices operation.