This Article 
 Bibliographic References 
 Add to: 
Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD
January 2011 (vol. 60 no. 1)
pp. 80-92
Soojun Im, Sungkyunkwan University, Suwon
Dongkun Shin, Sungkyunkwan University, Suwon
Solid-state disks (SSDs), which are composed of multiple NAND flash chips, are replacing hard disk drives (HDDs) in the mass storage market. The performances of SSDs are increasing due to the exploitation of parallel I/O architectures. However, reliability remains as a critical issue when designing a large-scale flash storage. For both high performance and reliability, Redundant Arrays of Inexpensive Disks (RAID) storage architecture is essential to flash memory SSD. However, the parity handling overhead for reliable storage is significant. We propose a novel RAID technique for flash memory SSD for reducing the parity updating cost. To reduce the number of write operations for the parity updates, the proposed scheme delays the parity update which must accompany each data write in the original RAID technique. In addition, by exploiting the characteristics of flash memory, the proposed scheme uses the partial parity technique to reduce the number of read operations required to calculate a parity. We evaluated the performance improvements using a RAID-5 SSD simulator. The proposed techniques improved the performance of the RAID-5 SSD by 47 percent and 38 percent on average in comparison to the original RAID-5 technique and the previous delayed parity updating technique, respectively.

[1] D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron, "Migrating Server Storage to SSDs: Analysis of Tradeoffs," Proc. Fourth ACM European Conf. Computer Systems (EuroSys '09), pp. 145-158, 2009.
[2] D. Reinsel and J. Janukowicz, "Datacenter SSDs: Solid Footing for Growth," conductor/ news/downloads210290.pdf , 2008.
[3] C. Park, P. Talawar, D. Won, M. Jung, J. Im, S. Kim, and Y. Choi, "A High Performance Controller for NAND Flash-Based Solid State Disk (NSSD)," Proc. 21st IEEE Non-Volatile Semiconductor Memory Workshop, pp. 17-20, 2006.
[4] 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.
[5] Y. Kang and E.L. Miller, "Adding Aggressive Error Correction to a High-Performance Compressing Flash File System," Proc. Seventh ACM Int'l Conf. Embedded Software (EMSOFT '09), pp. 305-314, 2009.
[6] "Flash memory K9XXG08XXM," technical report, Samsung Electronics Co, LTD., Mar. 2007.
[7] J. Kim, J.M. Kim, S.H. Noh, S.L. Min, and Y. Cho, "A Space-Efficient Flash Translation Layer for Compact Flash Systems," IEEE Trans. Consumer Electronics, vol. 48, no. 2, pp. 366-375, May 2002.
[8] S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song, "A Log Buffer-Based Flash Translation Layer Using Fully-Associative Sector Translation," ACM Trans. Embedded Computing Systems, vol. 6, no. 3, 2007.
[9] J.-U. Kang, H. Jo, J.-S. Kim, and J. Lee, "A Superblock-Based Flash Translation Layer for NAND Flash Memory," Proc. Sixth ACM and IEEE Int'l Conf. Embedded Software (EMSOFT '06), pp. 161-170, 2006.
[10] C. Park, W. Cheon, J. Kang, K. Roh, W. Cho, and J.-S. Kim, "A Reconfigurable FTL (Flash Translation Layer) Architecture for NAND Flash-Based Applications," ACM Trans. Embedded Computing Systems, vol. 7, no. 4, 2008.
[11] S. Lee, D. Shin, Y.-J. Kim, and J. Kim, "LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems," ACM SIGOPS Operating Systems Rev., vol. 42, no. 6, pp. 36-42, 2008.
[12] C. Dirik and B. Jacob, "The Performance of PC Solid-State Disks (SSDs) as a Function of Bandwidth, Concurrency, Device Architecture, and System Organization," Proc. Int'l Symp. Computer Architecture, pp. 279-289, 2009.
[13] D. Kenchammana-Hosekote, D. He, and J.L. Hafner, "Reo: A Generic RAID Engine and Optimizer," Proc. Fifth USENIX Conf. File and Storage Technologies (FAST '07), pp. 31-31, 2007.
[14] D. Stodolsky, G. Gibson, and M. Holland, "Parity Logging Overcoming the Small Write Problem in Redundant Disk Arrays," Proc. 20th Ann. Int'l Symp. Computer Architecture (ISCA '93), pp. 64-75, 1993.
[15] J. Menon, J. Roche, and J. Kasson, "Floating Parity and Data Disk Arrays," J. Parallel and Distributed Computing, vol. 17, nos. 1/2, pp. 129-139, 1993.
[16] J. Menon and J. Cortney, "The Architecture of a Fault-Tolerant Cached RAID Controller," ACM SIGARCH Computer Architecture News, vol. 21, no. 2, pp. 76-87, 1993.
[17] Samsung, http:/, 2010.
[18] Intel,, 2010.
[19] J.-U. Kang, J.-S. Kim, C. Park, H. Park, and J. Lee, "A Multi-Channel Architecture for High-Performance NAND Flash-Based Storage System," J. Systems Architecture, vol. 53, no. 9, pp. 644-658, 2007.
[20] N. Agrawal, V. Prabhakaran, T. Wobber, J.D. Davis, M. Manasse, and R. Panigrahy, "Design Tradeoffs for SSD Performance," Proc. USENIX Ann. Technical Conf. (USENIX '08), pp. 57-70, 2008.
[21] J.-Y. Shin, Z.-L. Xia, N.-Y. Xu, R. Gao, X.-F. Cai, S. Maeng, and F.-H. Hsu, "FTL Design Exploration in Reconfigurable High-Performance SSD for Server Applications," Proc. 23rd Int'l Conf. Supercomputing (ICS '09), pp. 338-349, 2009.
[22] K. Greenan, D.D.E. Long, E.L. Miller, T. Schwarz, and A. Wildani, "Building Flexible, Fault-Tolerant Flash-Based Storage Systems," Proc. Fifth Workshop Hot Topics in System Dependability (HotDep '09), 2009.
[23] Y. Lee, S. Jung, and Y.H. Song, "FRA: A Flash-Aware Redundancy Array of Flash Storage Devices," Proc. Seventh IEEE/ACM Int'l Conf. Hardware/Software Codesign and System Synthesis (CODES+ISSS '09), pp. 163-172, 2009.
[24] R.F. Freitas and W.W. Wilcke, "Storage-Class Memory: The Next Storage System Technology," IBM J. Research and Development, vol. 52, no. 4, pp. 439-447, 2008.
[25] UMass Trace Repository "OLTP Application I/O," http://traces. Storage, 2010.

Index Terms:
Redundant arrays of inexpensive disks (RAID), flash memory, solid-state disk (SSD), reliability, dependability.
Soojun Im, Dongkun Shin, "Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD," IEEE Transactions on Computers, vol. 60, no. 1, pp. 80-92, Jan. 2011, doi:10.1109/TC.2010.198
Usage of this product signifies your acceptance of the Terms of Use.