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.
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- J. M. P. Cardoso and Michael Hübner. 2011. Reconfigurable Computing: From FPGAs to Hardware/Software Codesign. Springer, Berlin. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- CMP. 2012. CMP Project. Retrieved from http://cmp.imag.fr/.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Evatronix. 2012. Evatronix NANDFLASH-CTRL NAND Flash Memory Controller. Retrieved from http://www.evatronix.pl/products/docs.html?id=10&product=TkFOREZMQVNILUN UUkw=.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- iozone.org. 2012. IOzone File System Benchmark. Retrieved from http://www.iozone.org.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- R. Micheloni, L. Crippa, and A. Marelli. 2010. Inside NAND Flash Memories. Springer-Verlag, Berlin.Google Scholar
- R. Micheloni, A. Marelli, and K. Eshghi. 2013. Inside Solid State Drives (SSDs). Springer, Berlin. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- ONFI Workgroup. 2012. Open NAND Flash Interface. Retrieved from http://onfi.org.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Samsung. 2012. Samsung KFG4GH6x4M 4Gb Flex-OneNAND M-die Datasheet.Google Scholar
- 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 Scholar
- Standard Performance Evaluation Corporation. 2013. SPEC Benchmarks. Retrieved from http://www.spec.org.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers
Recommendations
Improving the Reliability of MLC NAND Flash Memories Through Adaptive Data Refresh and Error Control Coding
NAND Flash memory has become the most widely used non-volatile memory technology. We focus on multi-level cell (MLC) NAND Flash memories because they have high storage density. Unfortunately MLC NAND Flash memory also has reliability problems due to ...
Improving Write Performance and Extending Endurance of Object-Based NAND Flash Devices
Special Issue on Autonomous Battery-Free Sensing and Communication, Special Issue on ESWEEK 2016 and Regular PapersWrite amplification is a major cause of performance and endurance degradations in NAND flash-based storage systems. In an object-based NAND flash device (ONFD), two causes of write amplification are onode partial update and cascading update. Here, onode ...
A design to reduce write amplification in object-based NAND flash devices
CODES '16: Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System SynthesisWrite amplification is a major cause of performance and endurance degradations in NAND flash based storage systems. In an object-based NAND flash device, two causes of write amplification are onode partial update and cascading update. Updating one onode,...






Comments