A method, system, apparatus, and computer-readable medium are provided for
improving storage in a disk array are provided. According to aspects of
the invention, a redundant disk array is combined with a mechanism for
thin provisioning of the array. Thin provisioning refers to a process of
allocating physical capacity to logical volumes on an as-needed basis.
Data structures containing a mapping between the logical location of
stored data and its actual location on a physical device are maintained.
Through the use of the thin provisioning mechanism, physical storage
space can be allocated sequentially, regardless of the order of logical
writes. In this manner, the data stored on the array grows in a linear
manner. The data structures maintained by the thin provisioning mechanism
can be used to identify the portions of a device or an array that have
been previously written. This information allows redundant arrays, such
as RAID arrays, to perform initialization, rebuild, and data migration
operations only on portions that been written, and not on areas that have
not been utilized by a higher layer.