Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system
First Claim
1. A method for avoiding over-commitment of virtual storage space in a hierarchic data storage system;
- the data storage system comprising a disk array of multiple storage disks of selected capacities that define a physical storage space of a total physical capacity, the physical storage space being mapped into a RAID-level virtual storage space which presents the physical storage space as multiple RAID areas, the RAID areas including mirror RAID areas which store data according to mirror redundancy and parity RAID areas which store data according to parity redundancy, the RAID-level virtual storage space being mapped into an application-level storage space;
the method comprising the following steps;
mapping the RAID-level virtual storage space into an application-level storage space;
providing for a minimum percentage of user data to be kept in the mirror RAID areas;
providing for a remaining percentage of user data to be kept in parity RAID areas; and
computing a total virtual capacity of the application-level virtual storage space that can be committed to a user based upon the provision for the minimum percentage of user data to be kept in mirror RAID areas and the remaining percentage of user data to be kept in parity RAID areas.
3 Assignments
0 Petitions
Accused Products
Abstract
A hierarchic disk array data storage system has a disk array with multiple storage disks and a disk array controller which coordinates data transfer to and from the disks. The storage disks define a physical storage space. A RAID management system maps a RAID-level virtual storage space onto the physical storage space. The RAID-level virtual storage space presents the physical storage space as multiple RAID areas. The RAID areas include mirror RAID areas which contain mirror allocation blocks to store data according to mirror redundancy and parity RAID areas which contain parity allocation blocks to store data according to parity redundancy. The RAID management system dynamically migrates data between the mirror and parity RAID areas in a manner which optimizes performance and data reliability. As new storage requests are made, the RAID management system evaluates the existing storage conditions and computes a total virtual capacity that is available to the user given a disk array configuration. A total virtual capacity can be calculated without including the capacity of any given storage disk in the disk array data storage system. The total virtual capacity calculation is used to support hot spare space reservation, disk removal, rebuild of a failed disk, and to prevent over-commitment of storage to user data.
180 Citations
23 Claims
-
1. A method for avoiding over-commitment of virtual storage space in a hierarchic data storage system;
- the data storage system comprising a disk array of multiple storage disks of selected capacities that define a physical storage space of a total physical capacity, the physical storage space being mapped into a RAID-level virtual storage space which presents the physical storage space as multiple RAID areas, the RAID areas including mirror RAID areas which store data according to mirror redundancy and parity RAID areas which store data according to parity redundancy, the RAID-level virtual storage space being mapped into an application-level storage space;
the method comprising the following steps;mapping the RAID-level virtual storage space into an application-level storage space; providing for a minimum percentage of user data to be kept in the mirror RAID areas; providing for a remaining percentage of user data to be kept in parity RAID areas; and computing a total virtual capacity of the application-level virtual storage space that can be committed to a user based upon the provision for the minimum percentage of user data to be kept in mirror RAID areas and the remaining percentage of user data to be kept in parity RAID areas. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 21)
- the data storage system comprising a disk array of multiple storage disks of selected capacities that define a physical storage space of a total physical capacity, the physical storage space being mapped into a RAID-level virtual storage space which presents the physical storage space as multiple RAID areas, the RAID areas including mirror RAID areas which store data according to mirror redundancy and parity RAID areas which store data according to parity redundancy, the RAID-level virtual storage space being mapped into an application-level storage space;
-
10. A method for avoiding over-commitment of virtual storage space in a hierarchic data storage system;
- the data storage system comprising a disk array of N storage disks of selected capacities that define a physical storage space of a total physical capacity;
the method comprising the following steps;(a) mapping the physical storage space into a RAID-level virtual storage space which presents the physical storage space as multiple RAID areas, individual RAID areas extending across multiple storage disks, the RAID areas including a number of mirror RAID areas (MR) which store data according to mirror redundancy and a number of parity RAID areas (PR) which store data according to parity redundancy, the mirror RAID areas consuming a quantity of RAID-level virtual storage space (MVT) equal to 1/2MR*N, the parity RAID areas consuming a quantity of RAID-level virtual storage space (PVT) equal to PR(N-1); (b) providing for a minimum percentage of user data to be kept in the mirror RAID areas (MR); (c) defining one or more sets of RAID-level virtual storage space, individual sets comprising a group of RAID areas which extend across the same number of storage disks; (d) assuming that the mirror RAID areas (MR) reside in one or more sets that contain the group of RAID areas with a highest number of storage disks; (e) assuming that the parity RAID areas (PR) reside in the remaining RAID-level virtual storage space; (f) locating the set which contains both the mirror RAID areas and the parity RAID areas; (g) computing a capacity of the RAID-level virtual storage space of the set located in step (f) as a function of both MVT and PVT; (h) computing a capacity of the RAID-level virtual storage space of any set other than the set located in step (f) as a function of one of MVT or PVT; and (i) summing the capacities of the RAID-level virtual storage spaces for each set computed in steps (g) and (h) to yield a total virtual capacity. - View Dependent Claims (11, 12, 13, 22)
- the data storage system comprising a disk array of N storage disks of selected capacities that define a physical storage space of a total physical capacity;
-
14. A method for operating a hierarchic data storage system;
- the data storage system comprising a disk array of multiple storage disks of selected capacities that define a physical storage space of a total physical capacity;
the method comprising the following steps;(a) mapping the physical storage space into a RAID-level virtual storage space which presents the physical storage space as multiple RAID areas, the RAID areas including mirror RAID areas which contain mirror allocation blocks to store data according to mirror redundancy and parity RAID areas which contain parity allocation blocks to store data according to parity redundancy, individual RAID areas extending across multiple storage disks and being associated with a region from individual storage disks, the RAID-level virtual storage space also having unused allocation blocks; (b) providing reserved storage space in a non-contiguous manner throughout the RAID-level virtual storage space; (c) receiving a request to allocate a new allocation block as one of a mirror allocation block or a parity allocation block; (d) examining individual RAID areas to identify any unused allocation blocks; (e) counting a number of unused allocation blocks; and (f) allowing the request to allocate a new allocation block if the number of unused allocation blocks is greater than or equal to the reserved storage space. - View Dependent Claims (15, 23)
- the data storage system comprising a disk array of multiple storage disks of selected capacities that define a physical storage space of a total physical capacity;
-
16. 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 onto the physical storage space of the storage disks;
the RAID-level virtual storage space presenting the physical storage space as multiple RAID areas, individual RAID areas extending across multiple storage disks, the RAID areas including mirror RAID areas which store data according to mirror redundancy and parity RAID areas which store data according to parity redundancy;
the RAID management system providing for a minimum percentage of user data to be kept in the mirror RAID areas and for a remaining percentage of user data to be kept in parity RAID areas;the RAID management system mapping the RAID-level virtual storage space into an application-level storage space presented to a user; and the RAID management system computing a total virtual capacity of the application-level virtual storage space that can be committed to a user based upon the provision for the minimum percentage of user data to be kept in the mirror RAID areas and for the remaining percentage of user data to be kept in the parity RAID areas. - View Dependent Claims (17, 18, 19, 20)
-
Specification