1. Field of the Invention
The present invention relates to storage systems. More particularly, the present invention relates to a system, a method and a storage format that provides protection against uncorrectable media errors.
2. Description of the Related Art
The two primary sources of data loss from HDDs, such as the exemplary HDD shown in
HDD storage capabilities have been increasing at a rate of between 60 and 100 percent per year. The probability of uncorrectable read errors, however, has been relatively constant at about 1 uncorrectable read error in 1014 bits. Accordingly, as HDD storage capabilities have increased, the probability of data loss due to an uncorrectable media error has become a significant factor.
Multiple HDD storage systems configured as RAID level 5 systems are commonly deployed in the industry and can tolerate loss of a single disk HDD. While a failed HDD is being rebuilt, however, a second HDD failure or an uncorrectable media error on any of the remaining HDDs will result in data loss. Data loss caused by a second HDD failure is referred to as an “array loss,” while data loss caused by an uncorrectable media error is referred to as a “strip kill.” It is estimated that there will be 1.48 array losses and 2570 strip kills in a one-year period for an installed base of one million 300 GB HDDs that are configured in 8-drive RAID 5 array systems with each HDD having an MTBF of 500,000 hours. It should be noted that over 90% of media errors affect single sectors. About 5% of media errors affect two to four sectors. Very few media errors affect multiple (seven or more) sectors.
Techniques have been proposed for reducing the probability of data loss. In particular, RAID-type protection techniques have been developed for protecting against drive failure by increasing the redundancy of the array using levels (such as RAID 51, RAID 6, RAID (3+3) and so on). When a RAID level is chosen for a storage system, factors that are considered include storage efficiency, reliability and performance. Optimizing any one of these three factors causes at least one of the other factors to become less than optimal.
Table 1 is a comparison of the different conventional RAID techniques.
The parameters on which the reliability calculations in Table 1 are based are an installed base of one million 300 GB disk drives each having an MTBF of 500,000 hours and a hard error rate of 1 error in 1014 bits.
As can be seen from Table 1, a RAID) 6 system configuration provides an adequate protection against array loss events exhibiting only 2.41×10−3 array loss events per year. The number of strip kills (i.e., 1.61 strip kill events per year) is too many to meet the requirements of high-end storage systems. Adding another level of protection comes at a price, such as reduced storage efficiency (i.e., a RAID (3+3) or a RAID 51 system configuration) or reduced performance (i.e., a RAID N+3 system configuration).
While RAID-type protection techniques have been developed for protecting against drive failure, RAID techniques do not protect well against uncorrectable media error and result in coarse granularity and sub-optimal tradeoffs. Consequently, what is needed is a technique that provides protection against uncorrectable media errors.
The present invention provides a technique that provides protection against uncorrectable media errors.
The advantages of the present invention are provided by a method and a system for protecting data stored in a RAID-configured storage system from uncorrectable media errors. The RAID-configured storage system includes a plurality of storage units, such as HDDs, optical drives and/or random access memory. According to the invention, c redundancy information sectors are associated with n data information sectors, such that the c redundancy information sectors are based on the n data information sectors. The n data information sectors are written with c redundancy information sectors in a data segment on the same storage unit. The RAID-configured storage system can be configured, for example, as a RAID 6 storage system, a RAID 5 storage system, a RAID 51 storage system, a RAID 3+3 storage system or a RAID N+3 storage system. The c redundancy sectors effectively protect the n information sectors against up to c uncorrectable media errors in the n sectors. The redundancy information can be based on a Reed-Solomon code, an XOR-based code, or one-dimensional parity. The n data information sectors and the c redundancy information sectors can be arranged to be consecutive or intermingled.
The present invention also provides a storage medium having a recording format therein having c redundancy information sectors that are associated with n data information sectors to form a segment. The c redundancy information sectors are based on the n data information sectors, and the segment is stored on a single storage unit in an array of storage units in a RAID-configured storage system.
The present invention is illustrated by way of example and not by limitation in the accompanying figures in which like reference numerals indicate similar elements and in which:
The present invention provides protection against uncorrectable media errors by writing data and redundancy information on the same disk drive using a technique referred to as SPIDRE (Sector Protection through Intra Disk REdundancy).
According to the invention, a segment of n data sectors is associated with a set of c code (correction code or SPIDRE code) sectors.
The present invention provides the advantage of flexible tradeoffs in storage efficiency, performance and reliability, which can be optimized by properly selecting values for n and c. For example, when c is selected to be 10% of n, the resulting storage efficiency is about 91%. Additionally, the performance impact when c code sectors are written is minimized because no seek operation is required. The data and SPIDRE code are written together. Moreover, while write operations for the present invention require a read-modify-write operation, these are, however, performed for a RAID-configured system that provides protection against drive failures “above” the protection provided by the present invention. Thus, the overhead associated with the SPIDRE codes of the present invention involves only the writing of the n+c sectors, instead of writes of the requested sector, which occur for a worst case single-sector write. For a 10,000 rpm HDD having 350 Kbytes per track, reading or writing 64 Kbytes takes about 1 ms. Data reliability is significantly enhanced, particularly when the technique of the present invention is used in conjunction with a technique such as RAID 6.
For example, a code length of 8 sectors over a segment size of 128 sectors (64 Kbytes) will have a storage efficiency of 94% (82.25% when used in a RAID 6-configured system) and have a performance overhead of about 12% when used with 10,000 rpm drives. The number of annual strip kill events will drop from 1.61 to 2.21×10−3. By selecting proper values of data segment size and code length, the three main parameters affecting RAID system design selection—storage efficiency, reliability and performance—can be optimized at a granularity not available with conventional RAID system configurations alone, which are primarily intended to deal with drive failure.
Table 2 shows a comparison of a RAID 6 system configuration using SPIDRE codes according to the present invention with the other RAID configurations set forth in Table 1.
While SPIDRE codes are illustrated in connection with a RAID 6 system configuration, SPIDRE codes can be used with a system configured for any RAID level, such as RAID 5 and RAID 0. Regardless of the RAID system configuration that the present invention is used with, the combined reliability of the present invention in conjunction with the underlying RAID-configured system is significantly higher than for the RAID-configured system alone.
Several different types of erasure codes can to be used for SPIDRE codes. For example, a Reed-Solomon erasure code, which is a general code, can be selected as a SPIDRE code for protecting any combination of n and c. Alternatively, an XOR-based code can be used for large values of n. Variations of one-dimensional parity can be used as yet another alternative type of erasure code. For instance, one sector from each group of, for example, 8 sectors, is XORed with corresponding sectors from other groups. This alternative approach is simple and protects against media errors of consecutive sectors up to the group size.
While the present invention has been described in terms of storage arrays formed from storage units, such as HDDs, the present invention is applicable to storage systems formed from arrays of other memory devices, such as Random Access Memory (RAM) storage devices (both volatile and non-volatile), optical storage devices, and tape storage devices. Additionally, it is suitable to virtualized storage systems, such as arrays built out of network-attached storage.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced that are within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5265104 | Weng | Nov 1993 | A |
5396620 | Burghart et al. | Mar 1995 | A |
5469453 | Glider et al. | Nov 1995 | A |
5526507 | Hill | Jun 1996 | A |
5644697 | Matsumoto et al. | Jul 1997 | A |
5737344 | Belser et al. | Apr 1998 | A |
5940233 | Malone, Sr. | Aug 1999 | A |
5958067 | Kaneda et al. | Sep 1999 | A |
5996105 | Zook | Nov 1999 | A |
6092231 | Sze | Jul 2000 | A |
6237052 | Stolowitz | May 2001 | B1 |
6311251 | Merritt et al. | Oct 2001 | B1 |
6397292 | Venkatesh et al. | May 2002 | B1 |
6415355 | Hirofuji | Jul 2002 | B1 |
6535955 | Huang et al. | Mar 2003 | B1 |
6606629 | DeKoning et al. | Aug 2003 | B1 |
6851082 | Corbett | Feb 2005 | B1 |
20020174295 | Ulrich et al. | Nov 2002 | A1 |
20040107400 | Servi et al. | Jun 2004 | A1 |
20040141387 | Hanji et al. | Jul 2004 | A1 |
20050015700 | Hetzler et al. | Jan 2005 | A1 |
Number | Date | Country |
---|---|---|
05692236 | Nov 1993 | EP |
Entry |
---|
S. Jay, “OneWorld Xe Performance, Comparison of RAID 5 vs. RAID 10, Performance on an IBM FASIT500 Storage Server,” IBM/J.D. Edwards Technical Brief, Version: 1.0, Jan. 2003. |
Integrated CRC for Sector Buffer Memory and Disk Drive, IBM Research Disclosure, 409103, p. 616, May 1998. |
J. Anglin at al., “RAID technology and IBM TotaiStorage NAS products,” IBM TotalStorage Network Attached Storage, Oct. 2001. |
Number | Date | Country | |
---|---|---|---|
20050108594 A1 | May 2005 | US |