This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
STAR : An Efficient Coding Scheme for Correcting Triple Storage Node Failures
July 2008 (vol. 57 no. 7)
pp. 889-901
Proper data placement schemes based on erasure correcting code are one of the most important components for a highly available data storage system. For such schemes, low decoding complexity for correcting (or recovering) storage node failures is essential for practical systems. In this paper, we describe a new coding scheme, which we call the STAR code, for correcting triple storage node failures (erasures). The STAR code is an extension of the double-erasure-correcting EVENODD code, and a modification of the generalized triple-erasure-correcting EVENODD code. The STAR code is an MDS code, and thus is optimal in terms of node failure recovery capability for a given data redundancy. We provide detailed STAR code"?s decoding algorithms for correcting various triple node failures. We show that the decoding complexity of the STAR code is much lower than those of the existing comparable codes, thus the STAR code is practically very meaningful for storage systems that need higher reliability.

[1] G.A. Alvarez, W.A. Burkhard, and F. Christian, “Tolerating Multiple Failures in RAID Architectures with Optimal Storage and Uniform Declustering,” Proc. 24th Ann. Int'l Symp. Computer Architecture, pp. 62-72, 1997.
[2] T.E. Anderson, D.E. Culler, and D.A. Patterson, “A Case for NOW (Networks of Workstations),” IEEE Micro, vol. 15, no. 1, pp. 54-64, 1995.
[3] T. Anderson, M. Dahlin, J. Neefe, D. Patterson, D. Roselli, and R. Wang, “Serverless Network File Systems,” ACM Trans. Computer Systems, pp. 41-79, Feb. 1996.
[4] A. Bhide, E. Elnozahy, and S. Morgan, “A Highly Available Network File Server,” Proc. Usenix Winter Technical Conf., pp. 199-205, Jan. 1991.
[5] M. Blaum, J. Brady, J. Bruck, and J. Menon, “EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in RAID Architectures,” IEEE Trans. Computers, vol. 44, no. 2, pp. 192-202, Feb. 1995.
[6] M. Blaum, J. Brady, J. Bruck, J. Menon, and A. Vardy, “The EVENODD Code and Its Generalization,” High Performance Mass Storage and Parallel I/O, pp. 187-208, John Wiley & Sons, 2002.
[7] M. Blaum, J. Bruck, and A. Vardy, “MDS Array Codes with Independent Parity Symbols,” IEEE Trans. Information Theory, vol. 42, no. 2, pp. 529-542, Mar. 1996.
[8] M. Blaum and R.M. Roth, “New Array Codes for Multiple Phased Burst Correction,” IEEE Trans. Information Theory, vol. 39, no. 1, pp. 66-77, Jan. 1993.
[9] M. Blaum and R.M. Roth, “On Lowest-Density MDS Codes,” IEEE Trans. Information Theory, vol. 45, no. 1, pp. 46-59, Jan. 1999.
[10] J. Blomer, M. Kalfane, R. Karp, M. Karpinski, M. Luby, and D. Zuckerman, “An xor-Based Erasure-Resilient Coding Scheme,” Technical Report TR-95-048, ICSI, Berkeley, Calif., Aug. 1995.
[11] J. Blomer, M. Kalfane, R. Karp, M. Karpinski, M. Luby, and D. Zuckerman, http://www.icsi.berkeley.edu/~lubycauchy.tar. uu , 2007.
[12] V. Bohossian, C. Fan, P. LeMahieu, M. Riedel, L. Xu, and J. Bruck, “Computing in the RAIN: A Reliable Array of Independent Node,” IEEE Trans. Parallel and Distributed Systems, special issue on dependable network computing, vol. 12, no. 2, pp. 99-114, Feb. 2001.
[13] M. Castro and B. Liskov, “Practical Byzantine Fault Tolerance,” Operating Systems Rev., pp. 173-186, 1999.
[14] P.M. Chen, E.K. Lee, G.A. Gibson, R.H. Katz, and D.A. Patterson, “RAID—High-Performance, Reliable Secondary Storage,” ACM Computing Surveys, vol. 26, no. 2, pp. 145-185, 1994.
[15] P. Corbett, B. English, A. Goel, T. Grcanac, S. Kleiman, J. Leong, and S. Sankar, “Row-Diagonal Parity for Double Disk Failure Correction,” Proc. Third Usenix Conf. File and Storage Technologies, Mar.-Apr. 2004.
[16] C. Fan and J. Bruck, “The Raincore API for Clusters of Networking Elements,” IEEE Internet Computing, vol. 5, no. 5, pp. 70-76, Sept./Oct. 2001.
[17] P.G. Farrell, “A Survey of Array Error Control Codes,” European Trans. Telecomm., vol. 3, no. 5, pp. 441-454, 1992.
[18] G.-L. Feng, R.H. Deng, F. Bao, and J.-C. Shen, “New Efficient MDS Array Codes for RAID Part I: Reed-Solomon-Like Codes for Tolerating Three Disk Failures,” IEEE Trans. Computers, vol. 54, no. 9, pp. 1071-1080, Sept. 2005.
[19] S. Ghemawat, H. Gobioff, and S.-T. Leung, “The Google File System,” Proc. 19th ACM Symp. Operating Systems Principles, pp.29-43, Oct. 2003.
[20] G.A. Gibson and R. van Meter, “Network Attached Storage Architecture,” Comm. ACM, vol. 43, no. 11, pp. 37-45, Nov. 2000.
[21] G.A. Gibson, D. Stodolsky, F.W. Chang, W.V. Courtright II, C.G. Demetriou, E. Ginting, M. Holland, Q. Ma, L. Neal, R.H. Patterson, J. Su, R. Youssef, and J. Zelenka, “The Scotch Parallel Storage Systems,” Proc. 40th IEEE CS Int'l Conf., 1995.
[22] A.V. Goldberg and P.N. Yianilos, “Towards an Archival Intermemory,” Proc. IEEE Int'l Forum Research and Technology Advances in Digital Libraries, Apr. 1998.
[23] R.M. Goodman, R.J. McEliece, and M. Sayano, “Phased Burst Error Correcting Arrays Codes,” IEEE Trans. Information Theory, vol. 39, pp. 684-693, 1993.
[24] J.H. Hartman and J.K. Ousterhout, “The Zebra Striped Network File System,” ACM Trans. Computer Systems, vol. 13, no. 3, pp. 274-310, 1995.
[25] J. Kubiatowicz, D. Bindel, Y. Chen, S. Czerwinski, P. Eaton, D. Geels, R. Gummadi, S. Rhea, H. Weatherspoon, W. Weimer, C. Wells, and B. Zhao, “OceanStore: An Architecture for Global-Scale Persistent Storage,” Proc. Ninth Int'l Conf. Architectural Support for Programming Languages and Operating Systems, Nov. 2000.
[26] E. Lee and C. Thekkath, “Petal: Distributed Virtual Disks,” Proc. Seventh Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 84-92, Oct. 1996.
[27] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error Correcting Codes. North Holland, 1977.
[28] R.J. McEliece and D. Sarwate, “On Sharing Secrets and Reed-Solomon Codes,” Comm. ACM, vol. 24, no. 9, pp. 583-584, 1981.
[29] J. Ousterhout, A. Cherenson, F. Douglis, M. Nelson, and B. Welch, “The Sprite Network Operating System,” Computer, vol. 21, no. 2, pp. 23-26, Feb. 1988.
[30] J.S. Plank, “A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-Like Systems,” Software: Practice and Experience, vol. 27, no. 9, pp. 995-1012, Jan. 1999.
[31] J.S. Plank, R.L. Collins, A.L. Buchsbaum, and M.G. Thomason, “Small Parity-Check Erasure Codes—Exploration and Observations,” Proc. Int'l Conf. Dependable Systems and Networks, June 2005.
[32] J.S. Plank, M. Beck, and T. Moore, “Logistical Networking Research and the Network Storage Stack,” Proc. Usenix Conf. File and Storage Technologies, work in progress report, Jan. 2002.
[33] J.S. Plank and L. Xu, “Optimizing Cauchy Reed-Solomon Codes for Fault-Tolerant Network Storage Applications,” Proc. Fifth IEEE Int'l Symp. Network Computing and Applications, July 2006.
[34] M. Rabin, “Efficient Dispersal of Information for Security, Load Balancing and Fault Tolerance,” J. ACM, vol. 32, no. 4, pp. 335-348, Apr. 1989.
[35] I.S. Reed and G. Solomon, “Polynomial Codes over Certain Finite Fields,” J. SIAM, vol. 8, no. 10, pp. 300-304, 1960.
[36] M. Satyanarayanan, “Scalable, Secure and Highly Available Distributed File Access,” Computer, vol. 23, no. 5, pp. 9-21, May 1990.
[37] M. Satyanarayanan, J.J. Kistler, P. Kumar, M.E. Okasaki, E.H. Siegel, and D.C. Steere, “CODA—A Highly Available File System for a Distributed Workstation Environment,” IEEE Trans. Computers, vol. 39, no. 4, pp. 447-459, Apr. 1990.
[38] A. Shamir, “How to Share a Secret,” Comm. ACM, pp. 612-613, Nov. 1979.
[39] NFS: Network File System Version 3 Protocol Specification, Sun Microsystems, Feb. 1994.
[40] M. Waldman, A.D. Rubin, and L.F. Cranor, “Publius: A Robust, Tamper-Evident, Censorship-Resistant, Web Publishing System,” Proc. Ninth Usenix Security Symp., pp. 59-72, http://www.cs.nyu.edu/~waldman/publiuspublius.pdf , Aug. 2000.
[41] J.J. Wylie, M.W. Bigrigg, J.D. Strunk, G.R. Ganger, H. Kiliccote, and P.K. Khosla, “Survivable Information Storage Systems,” Computer, vol. 33, no. 8, pp. 61-68, Aug. 2000.
[42] L. Xu and J. Bruck, “X-Code: MDS Array Codes with Optimal Encoding,” IEEE Trans. Information Theory, vol. 45, no. 1, pp. 272-276, Jan. 1999.
[43] L. Xu, V. Bohossian, J. Bruck, and D. Wagner, “Low Density MDS Codes and Factors of Complete Graphs,” IEEE Trans. Information Theory, vol. 45, no. 1, pp. 1817-1826, Nov. 1999.
[44] L. Xu, “Hydra: A Platform for Survivable and Secure Data Storage Systems,” Proc. Int'l Workshop Storage Security and Survivability, Nov. 2005.

Index Terms:
fault tolerance, high availability, error control, codes, storage systems.
Citation:
Cheng Huang, Lihao Xu, "STAR : An Efficient Coding Scheme for Correcting Triple Storage Node Failures," IEEE Transactions on Computers, vol. 57, no. 7, pp. 889-901, July 2008, doi:10.1109/TC.2007.70830
Usage of this product signifies your acceptance of the Terms of Use.