Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2643634.2643685guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

FlexECC: partially relaxing ECC of MLC SSD for better cache performance

Published: 19 June 2014 Publication History

Abstract

The ever-growing capacity and continuously-dropping price have enabled flash-based MLC SSDs to be widely deployed as large non-volatile cache for storage systems. As MLC SSDs become increasingly denser and larger-capacity, more complex and complicated Error Correction Code (ECC) schemes are required to fight against the decreasing raw reliability associated with shrinking cells. However, sophisticated ECCs could impose excessive overhead on page decoding latency and thus hurt performance. In fact, we could avoid employing expensive ECC schemes inside SSDs which are utilized at the cache layer. We propose FlexECC, a specifically designed MLC SSD architecture for the purpose of better cache performance without compromising system reliability and consistency. With the help of an upper-layer cache manager classifying and passing down block access hints, FlexECC chooses to apply either regular ECC or lightweight Error Detection Code (EDC) for blocks. To reduce performance penalty caused by retrieving backend copies for corrupted blocks from the next-level store, FlexECC periodically schedules a scrubbing process to verify the integrity of blocks protected by EDC and replenish corrupted ones into the cache in advance. Experimental results of a proof-of-concept FlexECC implementation show that compared to SSDs armed with regular ECC schemes, FlexECC improves cache performance by up to 30.8% for representative workloads and 63.5% for read-intensive workloads due to reduced read latency and garbage collection overhead. In addition, FlexECC also retains its performance advantages even under various faulty conditions without sacrificing system resiliency.

References

[1]
Introduction to EMC VFCache. White paper. http://www.emc.com/collateral/hardware/white-papers/h10502- vfcache-intro-wp.pdf, February 2012.
[2]
AGRAWAL, N., PRABHAKARAN, V., WOBBER, T., AND DAVIS, J. D. Design Tradeoffs for SSD Performance. In Proceedings of the USENIX ATC (2008).
[3]
ALAMELDEEN, A. R., WAGNER, I., CHISHTI, Z., WU, W., WILKERSON, C., AND LU, S.-L. Energy-Efficient Cache Design Using Variable-Strength Error-Correcting Codes. In Proceedings of ISCA (2011).
[4]
ALBRECHT, C., MERCHANT, A., STOKELY, M., WALIJI, M., LABELLE, F., COEHLO, N., SHI, X., AND SCHROCK, C. E. Janus: Optimal Flash Provisioning for Cloud Storage Workloads. In Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC) (2013).
[5]
BADAM, A., AND PAI, V. S. SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy. In Proceedings of NSDI (2011).
[6]
CAI, Y., YALCIN, G., MUTLU, O., HARATSCH, E. F., CRISTAL, A., UNSAL, O. S., AND MAI, K. Flash Correct-and-Refresh: Retention-Aware Error Management for Increased Flash Memory Lifetime. In Proceedings of the 30th IEEE International Conference on Computer Design(ICCD) (2012).
[7]
CHIEN, A. A., AND KARAMCHETI, V. Moore's Law: The First Ending and a New Beginning. IEEE Computer Magazine 46, 12 (December 2013), 48-53.
[8]
CHO, J., AND SUNG, W. Efficient Software-Based Encoding and Decoding of BCH Codes. IEEE Transations on Computers 58, 7 (July 2009), 878-889.
[9]
CHOI, H., LIU, W., AND SUNG, W. VLSI Implementation of BCH Error Correction for Multilevel Cell NAND Flash Memory. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 18, 5 (April 2010), 843-847.
[10]
C. ZAMBELLI, M. INDACO, M. FABIANO, CARLO, S., P. PRINETTO, P. OLIVO, AND D. BERTOZZI. A Cross-Layer Approach for New Reliability-Performance Trade-Offs in MLC NAND Flash Memories. In Proceedings of the Design Automation & Test in Europe Conference & Exhibition(DATE) (2012).
[11]
DEAL, E. Trends in NAND Flash Memory Error Correction. Cyclic Design White Paper (2009).
[12]
DENG, Y., LU, L., ZOU, Q., HUANG, S., AND ZHOU, J. Modeling the Aging Process of Flash Storage by Leveraging Semantic I/O. Future Generation Comp. Syst. 32 (March 2014), 338-344.
[13]
DENG, Y., AND ZHOU, J. Architectures and Optimization Methods of Flash Memory Based Storage Systems. Journal of Systems Architecture 57, 2 (February 2011), 214-227.
[14]
GRUPP, L. M., CAULFIELD, A. M., COBURN, J., AND SWANSON, S. Characterizing Flash Memory: Anomalies, Observations, and Applications. In Proceedings of MICRO (2009).
[15]
GRUPP, L. M., DAVIS, J. D., AND SWANSON, S. The Bleak Future of NAND Flash Memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies(FAST) (2012).
[16]
GRUPP, L. M., DAVIS, J. D., AND SWANSON, S. The Harey Tortoise: Managing Heterogeneous Write Performance in SSDs. In Proceedings of the 2013 USENIX Annual Technical Conference (USENIX) (2013).
[17]
GUNAWI, H. S., PRABHAKARAN, V., KRISHNAN, S., ARPACIDUSSEAU, A. C., AND ARPACI-DUSSEAU, R. H. Improving File System Reliability with I/O Shepherding. In Proceedings of SOSP (2007).
[18]
HOLLAND, D. A., ANGELINO, E., WALD, G., AND SELTZER, M. I. Flash Caching on the Storage Client. In Proceedings of the USENIX ATC (2013).
[19]
HUANG, P., WU, G., HE, X., AND XIAO, W. An Aggressive Worn-out Flash Block Management Scheme to Alleviate SSD Performance Degradation. In Proceedings of Eurosys (2014).
[20]
HUANG, P., ZHOU, K., WANG, H., AND LI, C. BVSSD: Build Built-in Versioning Flash-based Solid State Drives. In Proceedings of SYSTOR (2012).
[21]
KGIL, T., ROBERTS, D., AND MUDGE, T. Improving NAND Flash Based Disk Caches. In Proceedings of the 35th Annual International Symposium on Computer Architecture(ISCA) (2008).
[22]
KOLLER, R., MARMOL, L., RANGASWAMI, R., SUNDARARAMAN, S., TALAGALA, N., AND ZHAO, M. Write Policies for Host-side Flash Caches. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST) (2013).
[23]
LEE, E., BAHN, H., AND NOH, S. H. Unioning of the Buffer Cache and Journaling Layers with Non-volatile Memory. In Proceedings of FAST (2013).
[24]
LIN, S., AND COSTELLO, D. J. Error Control Coding(2nd Edition). Prentice Hall, Inc., 2004.
[25]
LIU, R.-S., YANG, C.-L., AND WU, W. Optimizing NAND Flash-Based SSDs via Retention Relaxation. In Proceedings of FAST (2012).
[26]
LU, Y., SHU, J., AND ZHENG, W. Extending the Lifetime of Flash-based Storage through Reducing Write Amplification from File Systems. In Proceedings of FAST (2013).
[27]
LUO, T., MA, S., LEE, R., ZHANG, X., LIU, D., AND ZHOU, L. S-CAVE: Effective SSD Caching to Improve Virtual Machine Storage Performance. In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques(PACT) (2013).
[28]
MESNIER, M., CHEN, F., LUO, T., AND AKERS, J. B. Differentiated Storage Services. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles(SOSP) (2011).
[29]
MIELKE, N., MARQUART, T., WU, N., KESSENICH, J., BELGAL, H., SCHARES, E., AND TRIVEDI, F. Bit Error Rate in NAND Flash Memories. In Proceedings of IEEE International Reliability Physics Symposium(IRPS) (2008).
[30]
NARAYANAN, D., THERESKA, E., DONNELLY, A., ELNIKETY, S., AND ROWSTRON, A. Migrating Server Storage to SSDs: Analysis of Tradeoffs. In Proceedings of the 4th ACM European conference on Computer systems(Eurosys) (2009).
[31]
OPREA, A., AND JUELS, A. A Clean-Slate Look at Disk Scrubbing. In Proceedings of the 8th USENIX conference on File and storage technologies(FAST) (2010).
[32]
PAN, Y., DONG, G., WU, Q., AND ZHANG, T. Quasi-Nonvolatile SSD: Trading Flash Memory Nonvolatility to Improve Storage System Performance for Enterprise Applications. In Proceedings of the 18th IEEE International Symposium on High Performance Computer Architecture(HPCA) (2012).
[33]
PAN, Y., DONG, G., AND ZHANG, T. Exploiting Memory Device Wear-Out Dynamics to Improve NAND Flash Memory System Performance. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies(FAST) (2011).
[34]
PARK, S., AND SHEN, K. FIOS: A Fair, Efficient Flash I/O Scheduler. In Proceedings of FAST (2012).
[35]
PRITCHETT, T., AND THOTTETHODI, M. SieveStore: A Highly-Selective, Ensemble-level Disk Cache for Cost-Performance. In Proceedings of ISCA (2010).
[36]
REN, J., AND YANG, Q. I-CASH: Intelligently Coupled Array of SSDs and HDDs. In Proceedings of HPCA (2011).
[37]
SAXENA, M., SWIFT, M. M., AND ZHANG, Y. FlashTier: a Lightweight, Consistent and Durable Storage Cache. In Proceedings of Eurosys (2012).
[38]
SAXENA, M., ZHANG, Y., SWIFT, M. M., ARPACI-DUSSEAU, A. C., AND ARPACI-DUSSEAU, R. H. Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems. In Proceedings of FAST (2013).
[39]
SHEN, K., AND PARK, S. FlashFQ: A Fair Queueing I/O Scheduler for Flash-Based SSDs. In Proceedings of the 2013 USENIX Annual Technical Conference(USENIX ATC) (2013).
[40]
STRUKOV, D. The Area and Latency Tradeoffs of Binary Bit-parallel BCH Decoders for Prospective Nanoelectronic Memories. In Proceedings of Fortieth Asilomar Conference on Signals, Systems and Computers(ACSSC) (2006).
[41]
SUN, F., ROSE, K., AND ZHANG, T. On the Use of Strong BCH Codes for Improving Multilevel NAND Flash Memory Storage Capacity. In Proceedings of the IEEE Workshop on Signal Processing Systems(SiPS): Design and Implementation (2006).
[42]
UNGUREANU, C., DEBNATH, B., RAGO, S., AND ARANYA, A. TBF: A Memory-Efficient Replacement Policy for Flash-based Caches. In Proceedings of the IEEE 29th International Conference on Data Engineering (ICDE) (2013).
[43]
WU, G., AND HE, X. Reducing SSD Read Latency via NAND Flash Program and Erase Suspension. In Proceedings of the 10th USENIX conference on File and Storage Technologies(FAST) (2012).
[44]
WU, G., HE, X., XIE, N., AND ZHANG, T. DiffECC: Improving SSD Read Performance Using Differentiated Error Correction Coding Schemes. In Proceedings of the 18th IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems(MASCOTS) (2010).
[45]
YANG, J., PLASSON, N., GILLIS, G., TALAGALA, N., SUNDARARAMAN, S., AND WOOD, R. HEC: Improving Endurance of High Performance Flash-based Cache Devices. In Proceedings of the 6th Annual International Systems and Storage Conference (SYSTOR) (2013).
[46]
YOON, D. H., AND EREZ, M. Flexible Cache Error Protection using an ECC FIFO. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis(SC) (2009).
[47]
YOON, D. H., AND EREZ, M. Memory Mapped ECC: Low-Cost Error Protection for Last Level Caches. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA) (2009).
[48]
ZHANG, Y., SOUNDARARAJAN, G., STORER, M. W., BAIRAVASUNDARAM, L. N., SUBBIAH, S., ARPACIDUSSEAU, A. C., AND ARPACI-DUSSEAU, R. H. Warming up Storage-Level Caches with Bonfire. In Proceedings of FAST (2013).
[49]
ZHAO, K., ZHAO, W., SUN, H., ZHANG, T., ZHANG, X., AND ZHENG, N. LDPC-in-SSD: Making Advanced Error Correction Codes Work Effectively in Solid State Drives. In Proceedings of FAST (2013).

Cited By

View all
  • (2021)Performance Modeling and Practical Use Cases for Black-Box SSDsACM Transactions on Storage10.1145/344002217:2(1-38)Online publication date: 8-Jun-2021
  • (2020)Cache What You Need to CacheACM Transactions on Storage10.1145/339776616:3(1-24)Online publication date: 16-Jul-2020
  • (2019)Who's afraid of uncorrectable bit errors? online recovery of flash errors with distributed redundancyProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358891(977-991)Online publication date: 10-Jul-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
USENIX ATC'14: Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference
June 2014
512 pages
ISBN:9781931971102

Sponsors

  • VMware
  • NetApp
  • IBMR: IBM Research
  • Facebook: Facebook
  • HP: HP

Publisher

USENIX Association

United States

Publication History

Published: 19 June 2014

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Performance Modeling and Practical Use Cases for Black-Box SSDsACM Transactions on Storage10.1145/344002217:2(1-38)Online publication date: 8-Jun-2021
  • (2020)Cache What You Need to CacheACM Transactions on Storage10.1145/339776616:3(1-24)Online publication date: 16-Jul-2020
  • (2019)Who's afraid of uncorrectable bit errors? online recovery of flash errors with distributed redundancyProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358891(977-991)Online publication date: 10-Jul-2019
  • (2018)Efficient SSD Caching by Avoiding Unnecessary Writes using Machine LearningProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225126(1-10)Online publication date: 13-Aug-2018
  • (2018)Demystifying Cache Policies for Photo Stores at ScaleProceedings of the 2018 International Conference on Supercomputing10.1145/3205289.3205299(284-294)Online publication date: 12-Jun-2018
  • (2018)SSDcheckProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00044(455-468)Online publication date: 20-Oct-2018
  • (2017)Building Efficient Key-Value Stores via a Lightweight Compaction TreeACM Transactions on Storage10.1145/313992213:4(1-28)Online publication date: 24-Nov-2017
  • (2017)A Program Interference Error Aware LDPC Scheme for Improving NAND Flash Decoding PerformanceACM Transactions on Embedded Computing Systems10.1145/312656316:5s(1-20)Online publication date: 27-Sep-2017
  • (2017)CDF-LDPCACM Transactions on Storage10.1145/301743013:1(1-22)Online publication date: 25-Feb-2017
  • (2016)Improving Flash-Based Disk Cache with Lazy Adaptive ReplacementACM Transactions on Storage10.1145/273783212:2(1-24)Online publication date: 26-Feb-2016

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media