EP0725324A2

Methods for avoiding overcommitment of virtual capacity in a redundant hierarchic data storage system

Abstract

A hierarchic disk array data storage system (10) has a disk array (11) with multiple storage disks (12) and a disk array controller (14) which coordinates data transfer to and from the disks. The storage disks define a physical storage space (34). A RAID management system (16) maps a RAID-level virtual storage space (40) 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 (16) 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. The total virtual capacity is computed based upon a pessimistic assumption regarding a worst case data storage mix between mirror and parity RAID areas. The RAID management system will approve the new storage request without resorting to data migration if the new space requirements and already existing committed capacity does not exceed the total virtual capacity. In this manner, the RAID management system avoids over-commitment to the user.

EP0725324A2, drawing sheet 1
Sheet 1 of 25

Term

Term ended

Projected expiry passed 4 August 2015, 11.1 years ago.

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

10 claims: 4 independent, 6 dependent

  1. 1
    A method for avoiding over-commitment of virtual storage space in a hierarchic data storage system; the data storage system (10) comprising a disk array (11) of multiple storage disks (12) of selected capacities that define a physical storage space (34) of a total physical capacity; the method comprising the following steps:mapping the physical storage space (34) into a RAID-level virtual storage space (40) 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 mirror RAID areas consuming an equal or greater quantity of RAID-level virtual storage space to store an amount of data in comparison to a quantity of RAID-level virtual storage space consumed by parity RAID areas to store the same amount of data;mapping the RAID-level virtual storage space (40) into an application-level storage space (50);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 (50) 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.
  2. 8
    A method for avoiding over-commitment of virtual storage space in a hierarchic data storage system; the data storage system (10) comprising a disk array (11) 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 (40) 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 ½MR*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;(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) theoretically placing the minimum percentage of mirror RAID areas in one or more sets that contain the group of RAID areas with the highest number of storage disks;(e) theoretically placing the parity RAID areas 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 located set 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 located set 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.
  3. 9
    A method for operating a hierarchic data storage system; the data storage system (10) comprising a disk array (11) 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 (40) 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 (40);(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.
  4. 10
    A hierarchic data storage system comprising:a disk array (11) having a number of storage disks (12) that define a physical storage space;a disk array controller (14) coupled to the disk array (11) for coordinating data transfer to and from the disks (12);a RAID management system (16) operatively coupled to the disk array controller for mapping a RAID-level virtual storage space (40) onto the physical storage space (34) 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 (16) 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 (16) mapping the RAID-level virtual storage space (40) into an application-level storage space (50) 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.