Nova Patents
EP2385458A2

Virtual disk drive system and method

Abstract

A disk drive system, capable of dynamically allocating data in a pool of storage, comprising: a data storage subsystem; a plurality of user volumes comprising storage space from the data storage subsystem; and a disk manager having at least one disk storage system controller, wherein the disk manager is configured to: maintain a pool of storage comprising a matrix of virtual volumes of the data storage subsystem, each of the virtual volumes being an abstraction of multiple physical storage devices and having a predefined size; dynamically allocate free virtual volumes from the matrix of virtual volumes to the plurality of user volumes; and write data to the allocated virtual volumes.

EP2385458A2, drawing sheet 1
Sheet 1 of 26

Term

Term ended

Projected expiry passed 13 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

22 claims: 3 independent, 19 dependent

  1. 1
    A disk drive system, capable of dynamically allocating data in a pool of storage, comprising:a data storage subsystem;a plurality of user volumes comprising storage space from the data storage subsystem;and a disk manager having at least one disk storage system controller, wherein the disk manager is configured to: maintain a pool of storage comprising a matrix of virtual volumes of the data storage subsystem, each of the virtual volumes being an abstraction of multiple physical storage devices and having a predefined size;dynamically allocate free virtual volumes from the matrix of virtual volumes to the plurality of user volumes;and write data to the allocated virtual volumes.
  2. 2
    The system of Claim 1, wherein the data storage 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. 6
    The system of any of Claims 1-4, wherein the at least one disk storage system controller automatically generates a snapshot for each of the virtual volumes, stores an address index of each snapshot, accesses at least one of the snapshots via the stored address index, and creates a temporary volume from each of the at least one of the snapshots based on the at least one of the snapshots that provides a view of contents of an associated virtual volume at a first point in time, wherein the snapshots comprise changes to data in an associated virtual volume that have taken place since a previous snapshot taken at a second past point in time.
  4. 7
    A method of dynamically allocating data of a data storage subsystem, comprising the steps of:generating a plurality of user volumes of storage space from a plurality of data storage devices of the data storage subsystem;managing a pool of storage comprising a matrix of virtual volumes of the data storage subsystem, each of the virtual volumes being an abstraction of multiple physical storage devices and having a predefined size;dynamically allocating free virtual volumes from the matrix of virtual volumes to the plurality of user volumes using the pool of storage;writing data to the allocated virtual volumes.
  5. 8
    The method of Claim 7, further comprising:determining occupancy rate of the disk space of the data storage subsystem based on historical occupancy rate of the disk space of the data storage subsystem;based on the occupancy rate, determining whether additional disk drives for the data storage system are required;and sending a notification to the data storage subsystem if the additional disk drives are required.
  6. 9
    The method of any of Claims 7 or 8, wherein the predefined size of a virtual volume is a default size and is changeable by a user.
  7. 10
    The method of any of Claims 7-9, further comprising automatically generating a snapshot for each of the virtual volumes at predetermined time intervals, wherein each snapshot comprises changes to the data in an associated virtual volume that have taken place since a previous snapshot taken at a previous time interval;and storing an address index of each snapshot such that each snapshot of the virtual volumes can be instantly located via the stored address index.
  8. 11
    The method of Claim 10, wherein each snapshot comprises a record of write operations to an associated virtual volume.
  9. 12
    The method of any of Claims 10 or 11, wherein the predetermined time intervals are user defined.
  10. 13
    The method of any of Claims 10-12, wherein the snapshots arc stored at a remote data storage subsystem such that if a major system crash occurs, integrity of data is not affected, and the data can be instantly recovered.
  11. 14
    The method of any of Claims 10-13, further comprising generating a snapshot for at least one virtual volume upon a user request.
  12. 15
    The method of any of Claims 10-14, further comprising coalescing at least two snapshots for an associated virtual volume.
  13. 16
    The method of any of Claims 7-9, further comprising:generating a plurality of snapshots for the virtual volumes;storing address indexes of the snapshots;accessing at least one of the plurality of snapshots via the stored address index;and creating a temporary volume from the at least one of the plurality of snapshots accessed, the temporary volume providing a view of contents of an associated virtual volume at a specific point in time.
  14. 17
    The method of Claim 16, wherein the snapshots are generated at predetermined time intervals.
  15. 18
    The method of any of Claims 16 or 17, further comprising modifying the temporary volume without altering underlying data of the virtual volume.
  16. 19
    The method of any of Claims 16-18, wherein the temporary volume is used for testing, and the testing is performed on data as it was at the point in time without altering underlying data in the virtual volume.
  17. 20
    The method of any of Claims 16-19, wherein the temporary volume is used for training, and the training is performed on data as it was at the point in time without altering underlying data in the virtual volume.
  18. 21
    The method of any of Claims 16-20, wherein the temporary volume is used for backup of the data.
  19. 22
    The method of any of Claims 16-21, wherein the temporary volume is used for data recovery.