Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Competitive analysis of flash memory algorithms

Published: 31 March 2011 Publication History
  • Get Citation Alerts
  • Abstract

    Flash memories are widely used in computer systems ranging from embedded systems to workstations and servers to digital cameras and mobile phones. The memory cells of flash devices can only endure a limited number of write cycles, usually between 10,000 and 1,000,000. Furthermore, cells containing data must be erased before they can store new data, and erasure operations erase large blocks of memory, not individual cells. To maximize the endurance of the device (the amount of useful data that can be written to it before one of its cells wears out), flash-based systems move data around in an attempt to reduce the total number of erasures and to level the wear of the different erase blocks. This data movement introduces an interesting online problem called the wear-leveling problem. Wear-leveling algorithms have been used at least since 1993, but they have never been mathematically analyzed. In this article we analyze the two main wear-leveling problems. We show that a simple randomized algorithm for one of them is essentially optimal both in the competitive sense and in the absolute sense (our competitive result relies on an analysis of a nearly-optimal offline algorithm). We show that deterministic algorithms cannot achieve comparable endurance. We also analyze a more difficult problem and show that offline algorithms for it can improve upon naive approaches, but that online algorithms essentially cannot.

    References

    [1]
    Assar, M., Nemazie, S., and Estakhri, P. 1995. Flash memory mass storage architecture incorporation wear leveling technique. US patent 5479638.
    [2]
    Assar, M., Nemazie, S., and Estakhri, P. 1996. Flash memory mass storage architecture incorporation wear leveling technique without using CAM cells. US patent 5485595.
    [3]
    Ban, A. 1995. Flash file system. US patent 5404485.
    [4]
    Ban, A. 1999. Flash file system optimized for page-mode flash technologies. US patent 5937425.
    [5]
    Ban, A. 2004. Wear leveling of static areas in flash memory. US patent 6732221.
    [6]
    Bruce, R. H., Bruce, R. H., Cohen, E. T., and Christie, A. J. 1999. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volitile flash ram mass storage. US patent 6000006.
    [7]
    Chiang, M.-L. and Chang, R.-C. 1999. Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48, 3, 213--231.
    [8]
    Chiang, M.-L., Lee, P. C., and Chang, R.-C. 1999. Using data clustering to improve cleaning performance for flash memory. Softw. Pract. Exper. 29, 3.
    [9]
    Dan, R. and Williams, J. 1997. A TrueFFS and FLite technical overview of M-Systems' flash file systems. Tech. rep. 80-SR-002-00-6L Rev. 1.30, M-Systems-ch.
    [10]
    Estakhri, P., Assar, M., Reid, R., Alan, and Iman, B. 1998. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volitile mass storage memory. US patent 5835935.
    [11]
    Gal, E. and Toledo, S. 2005. Algorithms and data structures for flash memories. ACM Comput. Surv. 37, 138--163.
    [12]
    Han, S.-W. 2000. Flash memory wear leveling system and method. US patent 6016275.
    [13]
    Jou, E. and Jeppesen III, J. H. 1996. Flash memory wear leveling system providing immediate direct access to microprocessor. US patent 5568423.
    [14]
    Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash-memory based file system. In Proceedings of the USENIX Technical Conference. 155--164.
    [15]
    Kim, H.-J. and Lee, S.-G. 2002. An effective flash memory manager for reliable flash memory space management. IEICE Trans. Inf. Syst. E85-D, 6, 950--964.
    [16]
    Lofgren, K. M., Norman, R. D., Thelin, Gregory, B., and Gupta, A. 2003. Wear leveling techniques for flash EEPROM systems. US patent 6594183.
    [17]
    Lofgren, K. M. J., Norman, R. D., Thelin, G. B., and Gupta, A. 2000. Wear leveling techniques for flash EEPROM systems. US patent 6081447.
    [18]
    McDiarmid, C. 1998. Concentration. In Probabilistic Methods for Algorithmic Discrete Mathematics, M. Habib, C. McDiarmid, J. Ramirez-Alfonsin, and B. Reed Eds., Springer, 195--248.
    [19]
    Mitzenmacher, M. 1996. The power of two choices in randomized load balancing. Ph.D. thesis, University of California, Berkeley.
    [20]
    Raab, M. and Steger, A. 1998. “Balls into bins”—A simple and tight analysis. In Proceedings of the 2nd International Workshop on Randomization and Approximation Techniques in Computer Science (RANDOM'98). Springer, 159--170.
    [21]
    Wells, S. E. 1994. Method for wear leveling in a flash EEPROM memory. US patent 5341339.
    [22]
    Woodhouse, D. 2001. JFFS: The journaling flash file system. http://sources.redhat.com/jffs2/jffs2.pdf.
    [23]
    Wu, M. and Zwaenepoel, W. 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. ACM Press, 86--97.

    Cited By

    View all
    • (2024)Streaming Algorithms with Few State ChangesProceedings of the ACM on Management of Data10.1145/36511452:2(1-28)Online publication date: 14-May-2024
    • (2022)Data Representation Aware of Damage to Extend the Lifetime of MLC NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.313984741:11(5005-5015)Online publication date: 1-Nov-2022
    • (2021)Offline and Online Algorithms for SSD ManagementProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/34910455:3(1-28)Online publication date: 15-Dec-2021
    • Show More Cited By

    Index Terms

    1. Competitive analysis of flash memory algorithms

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Algorithms
      ACM Transactions on Algorithms  Volume 7, Issue 2
      March 2011
      284 pages
      ISSN:1549-6325
      EISSN:1549-6333
      DOI:10.1145/1921659
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 31 March 2011
      Accepted: 01 September 2010
      Revised: 01 December 2009
      Received: 01 January 2007
      Published in TALG Volume 7, Issue 2

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Competitive analysis
      2. flash memories
      3. online algorithms
      4. wear leveling

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)19
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 11 Aug 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Streaming Algorithms with Few State ChangesProceedings of the ACM on Management of Data10.1145/36511452:2(1-28)Online publication date: 14-May-2024
      • (2022)Data Representation Aware of Damage to Extend the Lifetime of MLC NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.313984741:11(5005-5015)Online publication date: 1-Nov-2022
      • (2021)Offline and Online Algorithms for SSD ManagementProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/34910455:3(1-28)Online publication date: 15-Dec-2021
      • (2020)Long Live TIME: Improving Lifetime and Security for NVM-based Training-In-Memory SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.2977079(1-1)Online publication date: 2020
      • (2017)Lower Bounds in the Asymmetric External Memory ModelProceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3087556.3087583(247-254)Online publication date: 24-Jul-2017
      • (2016)Erasing Belady's limitationsProceedings of the 2016 USENIX Conference on Usenix Annual Technical Conference10.5555/3026959.3026994(379-392)Online publication date: 22-Jun-2016
      • (2016)Write-Avoiding Algorithms2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2016.114(648-658)Online publication date: May-2016
      • (2015)Space and write overhead are inversely proportional in flash memoryProceedings of the 8th ACM International Systems and Storage Conference10.1145/2757667.2757682(1-6)Online publication date: 26-May-2015
      • (2012)GANGRENEProceedings of the 7th USENIX conference on Hot Topics in Security10.5555/2372387.2372388(1-1)Online publication date: 7-Aug-2012
      • (2011)Phase Change Memory: From Devices to SystemsSynthesis Lectures on Computer Architecture10.2200/S00381ED1V01Y201109CAC0186:4(1-134)Online publication date: 30-Nov-2011
      • Show More Cited By

      View Options

      Get Access

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media