skip to main content
research-article

P-BMS: A Bad Block Management Scheme in Parallelized Flash Memory Storage Devices

Published:27 September 2017Publication History
Skip Abstract Section

Abstract

Flash memory is used as a main data storage medium in increasingly large areas of applications, rapidly replacing hard disk drives because of its low power consumption, fast random access, and high shock resistance. Such flash-based storage devices generally incorporate multiple flash memory chips to meet the ever growing capacity demands. Using multiple chips in a single storage device, at the same time, opens an opportunity to boost the performance based on multi-unit parallelism. However, parallel execution of multiple flash operations introduces complications when bad blocks occur, which is unavoidable due to flash memory’s physical characteristics. The situation gets even worse when bad block occurrences are accompanied by sudden power failures. We propose a bad block management scheme called P-BMS that can fully utilize flash-level parallelism, while guaranteeing provably correct block replacement. Experiments show that our P-BMS achieves a throughput that is more than 95% of the maximum bandwidth of the flash controller, even with bad block occurrences far heavier than in real flash memory.

References

  1. B. H. Bloom. 1970. Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13, 7 (July1970), 422--426. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Broder and M. Mitzenmacher. 2004. Network applications of bloom filters: A survey. Internet Mathematics 1, 4 (2004), 485--509.Google ScholarGoogle ScholarCross RefCross Ref
  3. Y.-H. Chang and T.-W. Kuo. 2010. A reliable MTD design for MLC flash-memory storage systems. In Proceedings of the 10th ACM International Conference on Embedded Software (EMSOFT’10). 179--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Y.-H. Chang, M.-C. Yang, T.-W. Kuo, and R.-H. Hwang. 2013. A reliability enhancement design under the flash translation layer for MLC-based flash-memory storage systems. ACM Transactions on Embedded Computing Systems 13, 1 (Aug. 2013). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Choi and K. S. Seol. 2011. 3D approaches for non-volatile memory. In Proceedings of the 2011 Symposium on VLSI Technology (VLSIT). 178--179.Google ScholarGoogle Scholar
  6. B. Gerd, D. Alexandre, and K. G. Larsen. 2004. A tutorial on UPPAAL. Formal Methods for the Design of Real-Time Systems (Sep. 2004), 200--236.Google ScholarGoogle Scholar
  7. P. Gillingham, D. Chinn, E. Choi, J.-K. Kim, D. Macdonald, H. Oh, H.-B. Pyeon, and R. Schuetz. 2013. 800 MB/s DDR NAND flash memory multi-chip package with source-synchronous interface for point-to-point ring topology. IEEE Access 1 (Dec. 2013), 811--816.Google ScholarGoogle Scholar
  8. T. Gleixner, F. Haverkamp, and A. Bityutskiy. 2006. UBI - Unsorted Block Images. http://linux-mtd.infradead.org/doc/ubidesign/ubidesign.pdf. (June 2006).Google ScholarGoogle Scholar
  9. L. M. Grupp, A. M. Caulfield, J. Coburn, S. Swanson, E. Yaakobi, P. H. Siegel, and J. K. Wolf. 2009. Characterizing flash memory: Anomalies, observations, and applications. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42). 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. M. Grupp, J. D. Davis, and S. Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 17--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Gupta, Y. Kim, and B. Urgaonkar. 2009. DFTL: A flash tranlation layer employing demand-based selective caching of page-level address mapping. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’09). 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Huffman. 2013. NVM Express Overview 8 Ecosystem Update. Flash Memory Summit. (Aug. 2013).Google ScholarGoogle Scholar
  13. S. K. Jo. 2008. Flash Memory Device for Performaing Bad Block Management and Method of Performing Bad Block Management of Flash Memory Device. US Patent, No. 7,434,122 B2. (Oct. 2008).Google ScholarGoogle Scholar
  14. H.-J. Kim and others. 2015. 1 GB/s 2 Tb NAND flash multi-chip package with frequency-boosting interface chip. In Proceedings of the 2015 IEEE International Solid-State Circuits Conference (ISSCC). 138--140.Google ScholarGoogle Scholar
  15. J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Transactions on Consumer Electronics 48, 2 (May 2002), 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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). 9--19.Google ScholarGoogle Scholar
  17. E. H. Nam, B. S. J. Kim, H. Eom, and S. L. Min. 2011. Ozone (O3): An out-of-order flash memory controller architecture. IEEE Trans. Comput. 60, 5 (May 2011), 653--666. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. ONFI. 2014. Open NAND Flash Interface Specification 4.0. http://www.onfi.org/specifications. (Apr. 2014).Google ScholarGoogle Scholar
  19. K. Smith. 2012. Understanding SSD Over Provisioning. Flash Memory Summit. (Aug. 2012).Google ScholarGoogle Scholar
  20. STMicroelectronics. 2004. Bad Block Management in NAND Flash Memories. Application Note AN-1819, Geneva, Switzerland. (May 2004).Google ScholarGoogle Scholar
  21. D. Woodhouse. 2005. Memory Technology Device (MTD) Subsystem for Linux. http://www.linux-mtd.infradead.org/archive/index.html. (Mar. 2005).Google ScholarGoogle Scholar
  22. M. Wu and W. Zwaenepoel. 1994. eNVy: A non-volatile, main memory storage system. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’94). 86--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. H. Yun. 2011. X-BMS: A Provably-Correct Bad Block Management Scheme for Flash Memory Based Storage Systems. Ph.D. Dissertation. Seoul National University.Google ScholarGoogle Scholar
  24. J. H. Yun, J. H. Yoon, E. H. Nam, and S. L. Min. 2012. An abstract fault model for NAND flash memory. IEEE Embedded Systems Letter 4, 4 (Dec. 2012), 86--89. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. P-BMS: A Bad Block Management Scheme in Parallelized Flash Memory Storage Devices

        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!