Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
177 words
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.
Claim 2
Independent Claim
177 words
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.
Claim 3
Dependent Claim
49 words
A method according to claim 1 further comprising the additional step of restricting allocation of more virtual blocks in mirror RAID areas than the computed maximum allowable number of virtual blocks in mirror RAID areas to thereby ensure space reservation for data migration between parity and mirror RAID areas.
Claim 4
Dependent Claim
56 words
A method according to claim 2 further comprising the following additional steps: allocating the virtual blocks in the application-level virtual storage space in parity RAID areas for storing data according to parity redundancy; and migrating virtual blocks between mirror and parity storage using reserved space ensured by restricting allocation of virtual blocks in mirror RAID areas.
Claim 5
Dependent Claim
28 words
A method according to claim 1 further comprising the additional step of initially reserving an amount of physical storage space equivalent to at least one mirror RAID area.
Claim 6
Dependent Claim
97 words
A method according to claim 1 further comprising the following additional steps: in the event that the number of virtual blocks in mirror RAID areas is less than the maximum allowable number, storing data only in the virtual blocks in mirror RAID areas; and in the event that the number of virtual blocks in mirror RAID areas exceeds the maximum allowable number, allocating the virtual blocks in the application-level virtual storage space in parity RAID areas for storing data according to parity redundancy; and storing data in virtual blocks in both the mirror and parity RAID areas.
Claim 7
Dependent Claim
95 words
A method according to claim 1 further comprising the following additional steps: allocating the virtual blocks in the application-level virtual storage space in parity RAID areas for storing data according to parity redundancy; storing data in virtual blocks in both the mirror and parity RAID areas; and as more data is stored in the disk array such that the allocated capacity approaches the physical capacity, migrating virtual blocks from mirror RAID areas to parity RAID areas to produce a decreasing proportion of data stored in mirror RAID areas to data stored in parity RAID areas.
Claim 8
Dependent Claim
23 words
A method according to claim 6 further comprising the additional step of maintaining a minimum number of virtual blocks in mirror RAID areas.
Claim 9
Dependent Claim
48 words
A method according to claim 1 further comprising the following additional steps: comparing the allocated capacity to the physical capacity; and computing the maximum allowable number in step (d) only in the event that the allocated capacity is greater than or equal to one-half of the physical capacity.
Claim 10
Dependent Claim
17 words
A computer-readable medium having computer-executable instructions for performing the steps in the method recited in claim 1.
Claim 11
Independent Claim
258 words
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.
Claim 12
Independent Claim
258 words
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.
Claim 13
Dependent Claim
51 words
A method according to claim 10 wherein the mapping steps (b) and (c) yield RAID-level and application-level virtual storage spaces that have respective capacities which are less than the capacity of the physical storage space to logically reserve an amount of space that is not committed for use by a user.
Claim 14
Dependent Claim
23 words
A method according to claim 10 further comprising the additional step of maintaining a minimum number of virtual blocks in mirror RAID areas.
Claim 15
Dependent Claim
55 words
A method according to claim 10, wherein as more data is stored in the disk array such that the allocated capacity approaches the physical capacity, migrating virtual blocks from mirror RAID areas to parity RAID areas to produce a decreasing proportion of data stored in mirror RAID areas to data stored in parity RAID areas.
Claim 16
Dependent Claim
174 words
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.
Claim 17
Dependent Claim
174 words
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.
Claim 18
Dependent Claim
187 words
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.
Claim 19
Dependent Claim
187 words
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.
Claim 20
Dependent Claim
205 words
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.
Claim 21
Dependent Claim
205 words
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.
Claim 22
Independent Claim
189 words
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.
Claim 23
Independent Claim
189 words
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.
Claim 24
Dependent Claim
17 words
A computer-readable medium having computer-executable instructions for performing the steps in the method recited in claim 17.
Claim 25
Independent Claim
199 words
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.
Claim 26
Independent Claim
199 words
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.
Claim 27
Dependent Claim
17 words
A computer-readable medium having computer-executable instructions for performing the steps in the method recited in claim 19.