skip to main content
research-article

Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers

Published:21 January 2015Publication History
Skip Abstract Section

Abstract

NAND flash memories are becoming the predominant technology in the implementation of mass storage systems for both embedded and high-performance applications. However, when considering data and code storage in Non-Volatile Memories (NVMs), such as NAND flash memories, reliability and performance become a serious concern for systems designers. Designing NAND flash-based systems based on worst-case scenarios leads to waste of resources in terms of performance, power consumption, and storage capacity. This is clearly in contrast with the request for runtime reconfigurability, adaptivity, and resource optimization in modern computing systems. There is a clear trend toward supporting differentiated access modes in flash memory controllers, each one setting a differentiated tradeoff point in the performance-reliability optimization space. This is supported by the possibility of tuning the NAND flash memory performance, reliability, and power consumption through several tuning knobs such as the flash programming algorithm and the flash error correcting code. However, to successfully exploit these degrees of freedom, it is mandatory to clearly understand the effect that the combined tuning of these parameters has on the full NVM subsystem. This article performs a comprehensive quantitative analysis of the benefits provided by the runtime reconfigurability of an MLC NAND flash controller through the combined effect of an adaptable memory programming circuitry coupled with runtime adaptation of the ECC correction capability. The full NVM subsystem is taken into account, starting from a characterization of the low-level circuitry to the effect of the adaptation on a wide set of realistic benchmarks in order to provide readers a clear view of the benefit this combined adaptation may provide at the system level.

References

  1. G. Atwood, A. Fazio, D. Mills, and B. Reaves. 1997. Intel strataflash memory technology overview. Intel Technology Journal Quarterly 4 (1997). Retrieved from https://noggin.intel.com/content/intel-strataflash- memory-technology-overview.Google ScholarGoogle Scholar
  2. R. Bez, E. Camerlenghi, A. Modelli, and A. Visconti. 2003. Introduction to flash memory. Proceedings of the IEEE 91, 4 (April 2003), 489--502.Google ScholarGoogle ScholarCross RefCross Ref
  3. R. C. Bose and D. K. Ray-Chaudhuri. 1960. On a class of error correcting binary group codes. Information and Control 3, 1 (1960), 68--79.Google ScholarGoogle ScholarCross RefCross Ref
  4. J. M. P. Cardoso and Michael Hübner. 2011. Reconfigurable Computing: From FPGAs to Hardware/Software Codesign. Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T.-H. Chen, Y.-Y. Hsiao, Y.-T. Hsing, and C.-W. Wu. 2009. An adaptive-rate error correction scheme for NAND flash memory. In Proceedings of the 27th IEEE VLSI Test Symposium (VTS’09). IEEE, 53--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CMP. 2012. CMP Project. Retrieved from http://cmp.imag.fr/.Google ScholarGoogle Scholar
  7. J. Cooke. 2007. The inconvenient truths of NAND flash memory. Flash Memory Summit. Retrieved from http://download.micron.com/pdf/presentations/events/flash_mem_summit_jcooke_inconvenient_truths_ nand.pdf.Google ScholarGoogle Scholar
  8. R. Dan and R. Singer. 2003. Implementing MLC NAND flash for cost-effective, high-capacity memory. M-Syst. White paper. Retrieved from http://tinyurl.com/o2443mh.Google ScholarGoogle Scholar
  9. S. Di Carlo, M. Fabiano, P. Prinetto, and M. Caramia. 2011. Design Issues and Challenges of File Systems for Flash Memories. InTech, Croatia, Chapter 1, 3--30.Google ScholarGoogle Scholar
  10. Evatronix. 2012. Evatronix NANDFLASH-CTRL NAND Flash Memory Controller. Retrieved from http://www.evatronix.pl/products/docs.html?id=10&product=TkFOREZMQVNILUN UUkw=.Google ScholarGoogle Scholar
  11. M. Fabiano, M. Indaco, S. Di Carlo, and P. Prinetto. 2013. Design and optimization of adaptable BCH codecs for NAND flash memories. Microprocessors and Microsystems 37, 4--5 (2013), 407--419.Google ScholarGoogle ScholarCross RefCross Ref
  12. E. Grochowski and R. E. Fontana. 2012. Future technology challenges for NAND flash and HDD products. Flash Memory Summit. Retrieved from http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2012/20120821_S102A_Grochowski.pdf.Google ScholarGoogle Scholar
  13. J. Henkel, L. Bauer, M. Hübner, and A. Grudnitsky. 2011. i-Core: A run-time adaptive processor for embedded multi-core systems. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA’11). ERSA-ADN.Google ScholarGoogle Scholar
  14. iozone.org. 2012. IOzone File System Benchmark. Retrieved from http://www.iozone.org.Google ScholarGoogle Scholar
  15. F. Irom and D. N. Nguyen. 2007. Single event effect characterization of high density commercial NAND and NOR nonvolatile flash memories. IEEE Transactions on Nuclear Science 54, 6 (Dec. 2007), 2547--2553.Google ScholarGoogle ScholarCross RefCross Ref
  16. JEDEC Solid State Technology Association. 2011. Failure mechanisms and models for semiconductor devices (JEP122G). Retrieved from http://www.jedec.org/standards-documents/docs/jep-122e.Google ScholarGoogle Scholar
  17. Y. H. Kang, J. K. Kim, S. W. Hwang, J. Y. Kwak, J. Y. Park, D. Kim, C. H. Kim, J. Y. Park, Y. T. Jeong, J. N. Baek, et al. 2008. High-voltage analog system for a mobile NAND flash. IEEE Journal of Solid-State Circuits 43, 2 (Feb. 2008), 507--517.Google ScholarGoogle ScholarCross RefCross Ref
  18. J. Katcher. 1997. PostMark: A New File System Benchmark. Network Appliance Tech Report TR3022. Retrieved from https://communities.netapp.com/servlet/JiveServlet/download/2609-1551/Katcher97- postmark-netapp-tr3022.pdf.Google ScholarGoogle Scholar
  19. J. D. Lee, J. H. Choi, D. Park, and K. Kim. 2003. Data retention characteristics of sub-100 nm NAND flash memory cells. IEEE Electron Device Letters 24, 12 (Dec. 2003), 748--750.Google ScholarGoogle Scholar
  20. R.-S. Liu, C.-L. Yang, and W. Wu. 2012. Optimizing NAND flash-based SSDs via retention relaxation. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX Association. Retrieved from http://static.usenix.org/event/fast12/tech/full_papers/Liu.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. Miccoli, C. Monzio Compagnoni, A. S. Spinelli, and A. L. Lacaita. 2011. Investigation of the programming accuracy of a double-verify ISPP algorithm for nanoscale NAND Flash memories. In Proceedings of the IEEE International Reliability Physics Symposium (IRPS’11). IEEE, MY.5.1--MY.5.6.Google ScholarGoogle Scholar
  22. R. Micheloni, L. Crippa, and A. Marelli. 2010. Inside NAND Flash Memories. Springer-Verlag, Berlin.Google ScholarGoogle Scholar
  23. R. Micheloni, A. Marelli, and K. Eshghi. 2013. Inside Solid State Drives (SSDs). Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. R. Nevill. 2008. Bit error rate in NAND Flash memories. In Proceedings of the IEEE International Reliability Physics Symposium (IRPS’08). IEEE, 9--19.Google ScholarGoogle Scholar
  25. V. Mohan, S. Gurumurthi, and M. R. Stan. 2010. FlashPower: A detailed power model for NAND flash memory. In Proceedings of Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 502--507. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. ONFI Workgroup. 2012. Open NAND Flash Interface. Retrieved from http://onfi.org.Google ScholarGoogle Scholar
  27. J. Ouyang, S. Lin, S. Jiang, Z. Hou, Y. Wang, and Y. Wang. 2014. SDF: Software-defined flash for web-scale internet storage systems. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, New York, NY, 471--484. DOI: http://dx.doi.org/10.1145/2541940.2541959 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Y. Pan, G. Dong, and T. Zhang. 2011. Exploiting memory device wear-out dynamics to improve NAND flash memory system performance. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST’11). USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Sampson, J. Nelson, K. Strauss, and L. Ceze. 2013. Approximate storage in solid-state memories. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-46). ACM, New York, NY, 25--36. http://www.datasheetarchive.com/dl/Datasheets-SW18/DSASW00344250.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Samsung. 2012. Samsung KFG4GH6x4M 4Gb Flex-OneNAND M-die Datasheet.Google ScholarGoogle Scholar
  31. A. Spessot, A. Calderoni, P. Fantini, A. S. Spinelli, C. M Compagnoni, F. Farina, A. L. Lacaita, and A. Marmiroli. 2010. Variability effects on the VT distribution of nanoscale NAND flash memories. In IEEE International Reliability Physics Symposium (IRPS’10). IEEE, 970--974.Google ScholarGoogle Scholar
  32. Standard Performance Evaluation Corporation. 2013. SPEC Benchmarks. Retrieved from http://www.spec.org.Google ScholarGoogle Scholar
  33. H. Sun, B. Wood, and P. Grayson. 2011. Qualifying reliability of solid-state storage from multiple aspects. In Proceedings 7th IEEE International Workshop on Storage Network Architecture and Parallel I/O (SNAPI’11). IEEE. Retrieved from http://storageconference.org/2011/Papers/SNAPI/1.Sun.pdf.Google ScholarGoogle Scholar
  34. A. Wilson. 2008. The new and improved filebench. In Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST’08). USENIX, Retrieved from https://www.usenix.org/legacy/events/fast08/wips_posters/wilson-wip.pdf.Google ScholarGoogle Scholar
  35. E. Yaakobi, J. Ma, A. Caulfield, L. Grupp, S. Swanson, P. H. Siegel, and J. K. Wolf. 2009. Error correction coding for flash memories. Flash Memory Summit. Retrieved from http://www.bswd.com/FMS09/FMS09-201-Yaakobi.pdf.Google ScholarGoogle Scholar
  36. E. Yaakobi, J. Ma, L. Grupp, P. H. Siegel, S. Swanson, and J. K. Wolf. 2010. Error characterization and coding schemes for flash memories. In Proceedings of the IEEE GLOBECOM Workshops (GC Wkshps’10). IEEE, 1856--1860.Google ScholarGoogle Scholar
  37. C. Zambelli, M. Indaco, M. Fabiano, S. Di Carlo, P. Prinetto, P. Olivo, and D. Bertozzi. 2012. A cross-layer approach for new reliability-performance trade-offs in MLC NAND flash memories. In Proceedings of Design, Automation Test in Europe Conference Exhibition (DATE’12). IEEE, 881--886. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!