DDP stands for Dynamic Disk Pooling(DDP), also known as Distribute RAID, or D-RAID. A hardware declustered array implementation. Vendor's like IBM, DELL, NetApp, EMC etc.. all support this type of array on some of their storage products.

Dynamic Disk Pooling (DDP) dynamically distributes data, spare capacity, and protection information across a pool of disk drives. DDP improves the time and performance of traditional RAID arrays.


Technically speaking, I don't think all Vendors using the same technology, but in general, the concept, basic method are same. Here I'm using the DELL DDP document as a reference, make it more general.

Why DDP?

Because RAID cannot keep up with increasing disk capacities, especially large disk drives are being used. DDP was created to be more versatile by providing better rebuild times. In an RAID array when a drive fails, the remaining drives are read, parity recomputed, and the result is written to the spare drive. This is done from the initial logical block of the array to the last block in the array. This operation is time consuming because all data needs to be recomputed from the beginning of the array to the end of the array, and degrades performance, because although there are parallel reads, there is one single write to the spare drive. Thus, this single write becomes a bottleneck in the system.

What DDP look like?

Same as described in declustered array, In DDP, a disk pool is a set of drives that are logically grouped together in the storage subsystem, where data is distributed across all drives in the pool. The drives in each disk pool must be of the same drive type and drive media type, and they must be similar in size. 

The figure1 below shows 12 disks in a Dynamic DISK POOL, they are evenly splited into stripes, each strip on a disk called a D-Piece, 10 D-piece together forms an conventional array, called D-stripe.

How DDP works?

Both RAID and DDP are techniques for striping data and parity information across a set of disks to provide fault tolerance, but how they operate to attain this goal is different.

In essence, DDP functions as effectively another RAID level offering in addition to the previously available RAID 0, 1, 10, 5, and 6 traditional RAID Disk Groups. DDP greatly simplifies storage administration because there is no need to manage Idle spares or RAID groups.

The following discusses the intrinsic characteristics and architecture of the DDP feature.
DDPs are composed of several lower level elements.


The first of these is known as a D-Piece. A D-Piece consists of a contiguous 512MB section from a physical disk containing 4,096 128KB segments. Within a pool, 10 D-Pieces are selected using an intelligent optimization algorithm from selected drives within the pool.


The ten associated D-Pieces are then considered a D-Stripe which is 5GB in size. Within the D-Stripe itself, the contents are similar to a RAID 6, 8+2 scenario whereby 8 of the underlying segments potentially contain user data, 1 segment contains parity (P) information calculated from the user data segments, and the final segment containing the Q value as defined by RAID 6.


DDP Rebuilding

Unlike RAID, there is no specific spare drive, rather, all drives have spare space that is reserved. When a drive fails, the remaining drives are read, the missing data is recomputed, and the result is written to multiple drives in their spare space. This operation is done on the pieces of data that are missing. The result is parallel reads and parallel writes, which significantly speeds up the rebuild time after a single drive failure.