Virtual disk drive system and method
View Patent ↗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.
1. A disk drive system capable of dynamically allocating data storage space, the disk drive system comprising:
a RAID subsystem comprising a plurality of storage devices having different classes and a plurality of RAID devices of different RAID type configured on the storage devices, each RAID device broken into a set of pages;
a plurality of user data storage volumes, each comprising allocated storage space from the RAID subsystem;
a matrix of virtual volumes, comprising a plurality of virtual volumes, each virtual volume being a predetermined abstraction of multiple RAID devices, comprising a set of pages from the plurality of RAID devices; and
a disk manager having at least one disk storage system controller;
wherein the matrix of virtual volumes and the disk manager are configured to:
maintain a list of free pages from the virtual volumes; and
dynamically allocate free pages from the virtual volumes based on I/O requests from the user data storage volumes.
2. The system of claim 1 , wherein the RAID subsystem and the disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required.
3. The system of claim 1 , wherein the disk manager manages a plurality of disk storage system controllers.
4. The system of claim 3 , further comprising a plurality of redundant disk storage system controllers to cover failure of an operated disk storage system controller.
5. The system of claim 1 , wherein the RAID subsystem comprises a combination of at least two of RAID types RAID-0, RAID-1, RAID-5, and RAID-10.
6. The system of claim 5 , further comprising at least one of RAID types RAID-3, RAID-4, RAID-6, and RAID-7.
7. A method of dynamically allocating data storage space of a RAID storage system, the method comprising:
providing a RAID subsystem comprising a plurality of storage devices having different classes and a plurality of RAID devices of different RAID type configured on the storage devices, each RAID device broken into a set of pages;
providing a plurality of user data storage volumes, each comprising allocated storage space from the RAID subsystem;
generating a matrix of virtual volumes, comprising a plurality of virtual volumes, each virtual volume being a predetermined abstraction of multiple RAID devices, comprising a set of pages from the plurality of RAID devices;
maintaining a list of free pages from the virtual volumes; and
dynamically allocating free pages from the virtual volumes based on I/O requests from the user data storage volumes.
8. The method of claim 7 , further comprising setting a size of the virtual volumes as a default and changeable by a user.
9. The method of claim 7 , further comprising setting a size of the pages as a default and changeable by a user.
10. The method of claim 7 , wherein the RAID subsystem comprises a combination of at least two of RAID types RAID-0, RAID-1, RAID-5, and RAID-10.
11. The method of claim 10 , wherein the RAID subsystem further comprises at least one of RAID types RAID-3, RAID-4, RAID-6, and RAID-7.
12. The method of claim 7 , further comprising:
determining whether additional storage devices for the RAID subsystem are required; and
providing a notification if additional storage devices are required.
13. The method of claim 12 , further comprising providing the notification via email.