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.
- B. H. Bloom. 1970. Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13, 7 (July1970), 422--426. Google Scholar
Digital Library
- A. Broder and M. Mitzenmacher. 2004. Network applications of bloom filters: A survey. Internet Mathematics 1, 4 (2004), 485--509.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- T. Gleixner, F. Haverkamp, and A. Bityutskiy. 2006. UBI - Unsorted Block Images. http://linux-mtd.infradead.org/doc/ubidesign/ubidesign.pdf. (June 2006).Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Huffman. 2013. NVM Express Overview 8 Ecosystem Update. Flash Memory Summit. (Aug. 2013).Google Scholar
- 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 Scholar
- 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 Scholar
- 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 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). 9--19.Google Scholar
- 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 Scholar
Digital Library
- ONFI. 2014. Open NAND Flash Interface Specification 4.0. http://www.onfi.org/specifications. (Apr. 2014).Google Scholar
- K. Smith. 2012. Understanding SSD Over Provisioning. Flash Memory Summit. (Aug. 2012).Google Scholar
- STMicroelectronics. 2004. Bad Block Management in NAND Flash Memories. Application Note AN-1819, Geneva, Switzerland. (May 2004).Google Scholar
- D. Woodhouse. 2005. Memory Technology Device (MTD) Subsystem for Linux. http://www.linux-mtd.infradead.org/archive/index.html. (Mar. 2005).Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
P-BMS: A Bad Block Management Scheme in Parallelized Flash Memory Storage Devices
Recommendations
A hybrid SSD with PRAM and NAND Flash memory
The speed of computing processor has been improved dramatically with multi-core architecture. However, the overall computer system performance shows slow improvement because of the sluggish speed of storage system. Several researches have been done to ...
Ozone (O3): An Out-of-Order Flash Memory Controller Architecture
Ozone (O3) is a flash memory controller that increases the performance of a flash storage system by executing multiple flash operations out of order. In the O3 flash controller, data dependencies are the only ordering constraints on the execution of ...
A reliability enhancement design under the flash translation layer for MLC-based flash-memory storage systems
Although flash memory has gained very strong momentum in the storage market, the reliability of flash-memory chips has been dropped significantly in the past years. This article presents a reliability enhancement design under the flash management layer (...






Comments