Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
First Claim
1. A method for reserving space in a hierarchic data storage system;
- the data storage system comprising a disk array with a number of storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
the method comprising the following steps;
(a) allocating virtual blocks in the application-level virtual storage space in mirror RAID areas for storing data according to mirror redundancy;
(b) storing data in the virtual blocks;
(c) determining an allocated capacity representing a total number of virtual blocks that are presently being used to store data; and
(d) dynamically computing a maximum allowable number of virtual blocks in mirror RAID areas as a function of the physical capacity, the allocated capacity, and the number of storage disks in the disk array in response to changes in the allocated capacity.
3 Assignments
0 Petitions
Accused Products
Abstract
A hierarchic disk array data storage system has multiple storage disks that define a physical storage space and a RAID management system that maps the physical storage space into two virtual storage spaces. The RAID-level virtual storage space presents the physical storage space as mirror and parity RAID areas where the mirror RAID areas contain mirror allocation blocks to store data according to RAID Level 1 and the parity RAID areas contain parity allocation blocks to store data according to RAID Level 5. The application-level virtual storage space presents the physical storage space as multiple virtual blocks. The RAID management system migrates data between the mirror and parity RAID areas to optimize performance and reliability. To ensure that sufficient space is retained for this migration, the RAID management system limits the number of virtual blocks that are allocated in the mirror RAID areas. The maximum number of virtual blocks in mirror RAID areas is dynamically computed based upon a function of the physical capacity of the storage disks, the number of storage disks, and the allocated capacity at the time of each storage request from the user.
124 Citations
20 Claims
-
1. A method for reserving space in a hierarchic data storage system;
- the data storage system comprising a disk array with a number of storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
the method comprising the following steps;(a) allocating virtual blocks in the application-level virtual storage space in mirror RAID areas for storing data according to mirror redundancy; (b) storing data in the virtual blocks; (c) determining an allocated capacity representing a total number of virtual blocks that are presently being used to store data; and (d) dynamically computing a maximum allowable number of virtual blocks in mirror RAID areas as a function of the physical capacity, the allocated capacity, and the number of storage disks in the disk array in response to changes in the allocated capacity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- the data storage system comprising a disk array with a number of storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
-
10. A method for reserving space in a hierarchic data storage system;
- the data storage system comprising a disk array of multiple storage disks that define a physical storage space;
the method comprising the following steps;(a) providing a physical capacity of the physical storage space in the disk array; (b) mapping the physical storage space into a RAID-level virtual storage space having multiple mirror and parity RAID areas; (c) mapping the RAID-level virtual storage space into an application-level virtual storage space having multiple virtual blocks; (d) allocating the virtual blocks in the application-level virtual storage space in mirror RAID areas for storing data according to mirror redundancy; (e) storing data in the virtual blocks; (f) determining an allocated capacity representing a total number of virtual blocks that are presently being used to store data; (g) comparing the allocated capacity to the physical capacity; and (h) if the allocated capacity is greater than or equal to one-half of the physical capacity, conducting the following steps; (1) dynamically computing a maximum allowable number of virtual blocks in mirror RAID areas as a function of the physical capacity and the allocated capacity in response to changes in the allocated capacity; (2) restricting allocation of more virtual blocks in mirror RAID areas than the computed maximum allowable number of virtual blocks in mirror RAID areas; (3) allocating the virtual blocks in the application-level virtual storage space in parity RAID areas for storing data according to parity redundancy; and (4) storing data in virtual blocks in both the mirror and parity RAID areas. - View Dependent Claims (11, 12, 13)
- the data storage system comprising a disk array of multiple storage disks that define a physical storage space;
-
14. A hierarchic data storage system comprising:
-
a disk array having a number of storage disks that define a physical storage space; a disk array controller coupled to the disk array for coordinating data transfer to and from the disks; a RAID management system operatively coupled to the disk array controller for mapping a RAID-level virtual storage space into the physical storage space of the storage disks;
the RAID-level virtual storage space having multiple mirror and parity RAID areas;the RAID management system allocating virtual blocks in mirror RAID areas for storing data according to mirror redundancy and virtual blocks in parity RAID areas for storing data according to parity redundancy, the RAID management system maintaining a count of the virtual blocks; and the RAID management system being configured to dynamically compute a maximum allowable number of virtual blocks in the mirror RAID areas as a function of the physical capacity, the allocated capacity based on the count of virtual blocks, and the number of storage disks in response to changes in the allocated capacity.
-
-
15. A hierarchic data storage system comprising:
-
a homogenous disk array having a number of equal sized storage disks that define a physical storage space; a disk array controller coupled to the disk array for coordinating data transfer to and from the disks; a RAID management system operatively coupled to the disk array controller for mapping a RAID-level virtual storage space into the physical storage space of the storage disks;
the RAID-level virtual storage space having multiple mirror and parity RAID areas;the RAID management system allocating virtual blocks in mirror RAID areas for storing data according to mirror redundancy and virtual blocks in parity RAID areas for storing data according to parity redundancy, the RAID management system maintaining a count of the virtual blocks; and the RAID management system being configured to dynamically compute a maximum allowable number of virtual blocks in the mirror RAID areas according to the following equation;
##EQU3## where "n" equals the number of storage disks in the disk array, "AllCap" represents the allocated capacity based on the count of the virtual blocks, and "PhyCap" represents the physical capacity of the disk array.
-
-
16. A hierarchic data storage system comprising:
-
a heterogeneous disk array having a number of various sized storage disks that define a physical storage space; a disk array controller coupled to the disk array for coordinating data transfer to and from the disks; a RAID management system operatively coupled to the disk array controller for mapping a RAID-level virtual storage space into the physical storage space of the storage disks;
the RAID-level virtual storage space having multiple mirror and parity RAID areas;the RAID management system allocating virtual blocks in mirror RAID areas for storing data according to mirror redundancy and virtual blocks in parity RAID areas for storing data according to parity redundancy, the RAID management system maintaining a count of the virtual blocks; and the RAID management system being configured to dynamically compute a maximum allowable number of virtual blocks in the mirror RAID areas according to the following equation;
##EQU4## where "n" equals the number of storage disks in the disk array, "AllCap" represents the allocated capacity based on the count of the virtual blocks, "PhyCap" represents the physical capacity of the disk array, and "i" is the number of homogenous disk array representations that can be created from the heterogeneous disk array.
-
-
17. A method for reserving space in a hierarchic data storage system;
- the data storage system comprising a homogeneous disk array with a number of equal sized storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
the method comprising the following steps;allocating virtual blocks in the application-level virtual storage space in mirror RAID areas for storing data according to mirror redundancy; storing data in the virtual blocks; determining an allocated capacity representing a total number of virtual blocks that are presently being used to store data; and computing a maximum allowable number of virtual blocks in the mirror RAID areas according to the following equation;
##EQU5## where "n" equals the number of storage disks in the disk array, "AllCap" represents the allocated capacity based on the count of the virtual blocks, and "PhyCap" represents the physical capacity of the disk array. - View Dependent Claims (18)
- the data storage system comprising a homogeneous disk array with a number of equal sized storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
-
19. A method for reserving space in a hierarchic data storage system;
- the data storage system comprising a heterogeneous disk array with a number of various sized storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
the method comprising the following steps;allocating virtual blocks in the application-level virtual storage space in mirror RAID areas for storing data according to mirror redundancy; storing data in the virtual blocks; determining an allocated capacity representing a total number of virtual blocks that are presently being used to store data; and computing a maximum allowable number of virtual blocks in the mirror RAID areas according to the following equation;
##EQU6## where "n" equals the number of storage disks in the disk array, "AllCap" represents the allocated capacity, "PhyCap" represents the physical capacity of the disk array, and "i" is the number of homogenous disk array representations that can be created from the heterogeneous disk array. - View Dependent Claims (20)
- the data storage system comprising a heterogeneous disk array with a number of various sized storage disks that define a physical storage space of a physical capacity, the physical storage space being mapped into a RAID-level virtual storage space having mirror and parity RAID areas, the RAID-level virtual storage space being mapped into an application-level virtual storage space having multiple virtual blocks which are associated with the mirror and parity RAID areas;
Specification