IP Library Granted Patent US 7,962,778
Granted Patent B2
US 7,962,778 · App. 12/610,619 · Granted Jun 14, 2011

Virtual disk drive system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,962,778
App. No.
12/610,619
Granted
Jun 14, 2011
Kind
B2
Abstract

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.

Claims (45)

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. 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. The system of claim 1 , wherein the disk manager manages a plurality of disk storage system controllers.

4. The system of claim 1 , 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 data storage subsystem further comprises a combination of at least one of RAID types, such as RAID-0, RAID-1, RAID-5, and RAID-10.

6. The system of claim 5 , wherein the data storage subsystem further comprises RAID types RAID-3, RAID-4, RAID-6, and RAID-7.

7. The system of claim 1 , wherein the virtual volumes are an abstraction of multiple RAID devices.

8. The system of claim 1 , wherein the at least one disk storage system controller automatically generates a snapshot for each of the virtual volumes at predetermined time intervals and stores an address index of each snapshot in an associated virtual volume such that the snapshot of the virtual volume can be instantly located via a stored address index, wherein the snapshot comprises changes to data in an associated virtual volume that have taken place since a previous snapshot taken at a previous time interval.

9. The system of claim 1 , 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.

10. 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.

11. The method of claim 10 , 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.

12. The method of claim 11 , further comprising sending notification via an email.

13. The method of claim 10 , wherein the predefined size of a virtual volume is a default size and is changeable by a user.

14. The method of claim 10 , wherein the plurality of user volumes comprise disk space blocks from at least one of a plurality of RAID types RAID-0, RAID-1, RAID-5, and RAID-10.

15. The method of claim 10 , 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.

16. The method of claim 15 , wherein each snapshot comprises a record of write operations to an associated virtual volume.

17. The method of claim 15 , wherein the predetermined time intervals are user defined.

18. The method of claim 15 , wherein the time intervals are in a range of every few minutes to every few hours.

19. The method of claim 15 , wherein the snapshots are 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.

20. The method of claim 15 , further comprising generating a snapshot for at least one virtual volume upon a user request.

21. The method of claim 15 , further comprising coalescing at least two snapshots for an associated virtual volume.

22. The method of claim 10 , 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.

23. The method of claim 22 , wherein the snapshots are generated at predetermined time intervals.

24. The method of claim 22 , further comprising modifying the temporary volume without altering underlying data of the virtual volume.

25. The method of claim 22 , 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.

26. The method of claim 22 , 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.

27. The method of claim 22 , wherein the temporary volume is used for backup of the data.

28. The method of claim 22 , wherein the temporary volume is used for data recovery.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
MERGER Recorded Mar 10, 2016
From: COMPELLENT TECHNOLOGIES, INC.
To: DELL INTERNATIONAL L.L.C.
Reel/Frame 038058/0502 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →