A disk drive system and method capable of dynamically allocating data is
provided. The disk drive system may include a RAID subsystem having a
pool of storage, for example a page pool of storage that maintains a free
list of RAIDs, or a matrix of disk storage blocks that maintain a null
list of RAIDs, and a disk manager having at least one disk storage system
controller. The RAID subsystem and disk manager dynamically allocate data
across the pool of storage and a plurality of disk drives based on
RAID-to-disk mapping. The RAID subsystem and disk manager determine
whether additional disk drives are required, and a notification is sent
if the additional disk drives are required. Dynamic data allocation and
data progression allow a user to acquire a disk drive later in time when
it is needed. Dynamic data allocation also allows efficient data storage
of snapshots/point-in-time copies of virtual volume pool of storage,
instant data replay and data instant fusion for data backup, recovery
etc., remote data storage, and data progression, etc.