This Article 
 Bibliographic References 
 Add to: 
Flag Commit: Supporting Efficient Transaction Recovery in Flash-Based DBMSs
Sept. 2012 (vol. 24 no. 9)
pp. 1624-1639
Sai Tung On, Hong Kong Baptist University, Hong Kong
Jianliang Xu, Hong Kong Baptist University, Hong Kong
Byron Choi, Hong Kong Baptist University, Hong Kong
Haibo Hu, Hong Kong Baptist University, Hong Kong
Bingsheng He, Nanyang Technological University, Singapore
Owing to recent advances in semiconductor technologies, flash disks have been a competitive alternative to traditional magnetic disks as external storage media. In this paper, we study how transaction recovery can be efficiently supported in database management systems (dbmss) running on slc flash disks. Inspired by the classical shadow-paging approach, we propose a new commit scheme, called flagcommit, to exploit the unique characteristics of flash disks such as fast random read access, out-place updating, and partial page programming. To minimize the need of writing log records, we embed the transaction status into flash pages through a chain of commit flags. Based on flagcommit, we develop two recovery protocols, namely commit-based flag commit (cfc) and abort-based flag commit (afc), to meet different performance needs. They are flexible to support no-force buffer management and fine-grained concurrency control. Our performance evaluation based on the tpc-c benchmark shows that both cfc and afc outperform the state-of-the-art recovery protocols.

[1] Intel Information Tech nology, "Solid-State Drives in the Enterprise: A Proof of Concept," , 2009.
[2] OSDL Database Test 2, http:/, 2012.
[3] PostgreSQL, "The World's Most Advanced Open Source Database," http:/, 2012.
[4] STMicroelectronics NAND01G-B, view/131762/STMICROELECTRONICSNAND01G-B.html , 2012.
[5] Hynix HY27US08281A, view/170158/HYNIXHY27US08281A.html, 2012.
[6] Samsung K9XXG08UXA,, 2012.
[7] Super Talent Tech nology, "SLC vs. MLC: An Analysis of Flash Memory," MLCwhitepaper.pdf , 2012.
[8] TPC Benchmark C, "Standard Specification," http://www. , 2012.
[9] D. Agrawal, D. Ganesan, R. Sitaraman, and Y. Diao, "Lazy-Adaptive Tree: An Optimized Index Structure for Flash Devices," Proc. VLDB Endowment, vol. 2, pp. 361-372, 2009.
[10] 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), June 2008.
[11] P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrecy Control and Recovery in Database Systems. Addison Wesley, 1987.
[12] L. Bouganim, B.T. Jónsson, and P. Bonnet, "uFLIP: Understanding Flash IO Patterns," Proc. Fourth Biennial Conf. Innovative Data Systems (CIDR), 2009.
[13] J.S. Bucy and G.R. Ganger, "The Disksim Simulation Environment Version 3.0 Reference Manual," technical report, 2003.
[14] S. Byun, "Transaction Management for Flash Media Databases in Portable Computing Environments," J. Intelligent Information Systems, vol. 30, no. 2, pp. 137-151, 2008.
[15] Flash Memories, P. Cappelletti, C. Golla, P. Olivo, and E. Zanoni, eds. Kluwer, 1999.
[16] L.-P. Chang and C.-D. Du, "Design and Implementation of an Efficient Wear-Leveling Algorithm for Solid-State-Disk Microcontrollers," ACM Trans. Design Automation Electronic Systems, vol. 15, no. 1, pp. 1-36, 2009.
[17] L.-P. Chang, T.-W. Kuo, and S.-W. Lo, "Real-Time Garbage Collection for Flash-Memory Storage Systems of Real-Time Embedded Systems," ACM Trans. Embedded Computing Systems, vol. 3, no. 4, pp. 837-863, 2004.
[18] S. Chen, "FlashLogging: Exploiting Flash Devices for Synchronous Logging Performance," Proc. 35th ACM SIGMOD Int'l Conf. Management of Data (SIGMOD), 2009.
[19] E. Gal and S. Toledo, "Algorithms and Data Structures for Flash Memories," ACM Computing Survey, vol. 37, no. 2, pp. 138-163, 2005.
[20] J. Gray and B. Fitzgerald, "Flash Disk Opportunity for Server Applications," Queue, vol. 6, no. 4, pp. 18-23, 2008.
[21] J. Gray, P. McJones, M. Blasgen, B. Lindsay, R. Lorie, T. Price, F. Putzolu, and I. Traiger, "The Recovery Manager of the System R Database Manager," ACM Computing Survey, vol. 13, no. 2, pp. 223-242, 1981.
[22] T. Haerder and A. Reuter, "Principles of Transaction-Oriented Database Recovery," ACM Computing Survey, vol. 15, no. 4, pp. 287-317, 1983.
[23] A. Kawaguchi, S. Nishioka, and H. Motoda, "A Flash-Memory Based File System," Proc. USENIX Technical Conf., 1995.
[24] H. Kim and S. Ahn, "BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage," Proc. Sixth USENIX Conf. File and Storage Technologies (FAST '08), pp. 1-14, 2008.
[25] I. Koltsidas and S.D. Viglas, "Flashing up the Storage Layer," Proc. VLDB Endowment, vol. 1, pp. 514-525, 2008.
[26] S.W. Lee and B. Moon, "Design of Flash-Based DBMS: An In-Page Logging Approach," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD '07), pp. 55-66, 2007.
[27] S.-W. Lee, B. Moon, and C. Park, "Advances in Flash Memory SSD Technology for Enterprise Database Applications," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD '09), 2009.
[28] P.M. Lewis, A. Bernstein, and M. Kifer, Databases and Transaction Processing: An Application-Oriented Approach. Addison Wesley, 2002.
[29] Y. Li, B. He, Q. Luo, and K. Yi, "Tree Indexing on Flash Disks," Proc. IEEE Int'l Conf. Data Eng. (ICDE), 2009.
[30] Y. Li, S.T. On, J. Xu, B. Choi, and H. Hu, "DigestJoin: Exploiting Fast Random Reads for Flash-Based Joins," Proc. 10th Int'l Conf. Mobile Data Management (MDM '09), 2009.
[31] C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz, "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging," ACM Trans. Database Systems, vol. 17, no. 1, pp. 94-162, 1992.
[32] S. Nath and P.B. Gibbons, "Online Maintenance of Very Large Random Samples on Flash Storage," Proc. VLDB Endowment, vol. 1, pp. 970-983, 2008.
[33] Y. Ou, T. Härder, and P. Jin, "CFDC: A Flash-Aware Replacement Policy for Database Buffer Management," Proc. Fifth Int'l Workshop Data Management on New Hardware (DaMoN), 2009.
[34] V. Prabhakaran, T.L. Rodeheffer, and L. Zhou, "Transactional Flash," Proc. Eighth USENIX Symp. Operating Systems Design and Implementation (OSDI '08), 2008.
[35] R. Ramakrishnan and J. Gehrke, Database Management Systems. McGraw-Hill, 2003.
[36] K. Ross, "Modeling the Performance of Algorithms on Flash Memory Devices," Proc. Int'l Workshop Data Management on New Hardware (DaMoN), 2008.
[37] D. Tsirogiannis, S. Harizopoulos, M.A. Shah, J.L. Wiener, and G. Graefe, "Query Processing Techniques for Solid State Drives," Proc. 35th ACM SIGMOD Int'l Conf. Management of Data (SIGMOD), 2009.
[38] D. Woodhouse, "JFFS: The Journaling Flash File System," Proc. Ottawa Linux Symp., July 2001.
[39] C.-H. Wu, T.-W. Kuo, and L.-P. Chang, "Efficient Initialization and Crash Recovery for Log-Based File Systems over Flash Memory," Proc. ACM Symp. Applied Computing (SAC '06), 2006.
[40] C.-H. Wu, T.-W. Kuo, and L.-P. Chang, "An Efficient B-Tree Layer Implementation for Flash-Memory Storage Systems," ACM Trans. Embedded Computing Systems, vol. 6, no. 3,article 19, 2007.
[41] D.Z. Yazti, S. Lin, V. Kalogeraki, D. Gunopulos, and W.A. Najjar, "MicroHash: An Efficient Index Structure for Flash-Based Sensor Devices," Proc. USENIX Conf. File and Storage Technologies (FAST '05), 2005.

Index Terms:
Ash,Protocols,Programming,Concurrency control,Databases,Frequency control,Force,transaction recovery,Flash memory,database
Sai Tung On, Jianliang Xu, Byron Choi, Haibo Hu, Bingsheng He, "Flag Commit: Supporting Efficient Transaction Recovery in Flash-Based DBMSs," IEEE Transactions on Knowledge and Data Engineering, vol. 24, no. 9, pp. 1624-1639, Sept. 2012, doi:10.1109/TKDE.2011.122
Usage of this product signifies your acceptance of the Terms of Use.