请输入您要查询的百科知识:

 

词条 Wear leveling
释义

  1. {{Anchor|ERASE-BLOCK}}Rationale

  2. Types

      No wear leveling    Dynamic wear leveling    Static wear leveling    Comparison  

  3. Techniques

  4. See also

  5. References

  6. External links

Wear leveling (also written as wear levelling) is a technique[1] for prolonging the service life of some kinds of erasable computer storage media, such as flash memory, which is used in solid-state drives (SSDs) and USB flash drives, and phase-change memory. There are several wear leveling mechanisms that provide varying levels of longevity enhancement in such memory systems.[2][3]

The term preemptive wear leveling (PWL) has been used by Western Digital to describe their preservation technique used on hard disk drives (HDDs) designed for storing audio and video data.[4] However, HDDs generally are not wear-leveled devices in the context of this article.

{{Anchor|ERASE-BLOCK}}Rationale

EEPROM and flash memory media have individually erasable segments, each of which can be put through a limited number of erase cycles before becoming unreliable. This is usually around 3,000/5,000 cycles[5][6] but many flash devices have one block with a specially extended life of 100,000+ cycles that can be used by the Flash memory controller to track wear and movement of data across segments. Erasable optical media such as CD-RW and DVD-RW are rated at up to 1,000 cycles (100,000 cycles for DVD-RAM media).

Wear leveling attempts to work around these limitations by arranging data so that erasures and re-writes are distributed evenly across the medium. In this way, no single erase block prematurely fails due to a high concentration of write cycles.[7][8] In flash memory, a single block on the chip is designed for longer life than the others so that the memory controller can store operational data with less chance of its corruption.[3][9]

Conventional file systems such as FAT, UFS, HFS, ext2, and NTFS were originally designed for magnetic disks and as such rewrite many of their data structures (such as their directories) repeatedly to the same area. When these systems are used on flash memory media, this becomes a problem. The problem is aggravated by the fact that some file systems track last-access times, which can lead to file metadata being constantly rewritten in-place.[10]

Types

There are three basic types of wear leveling mechanisms used in flash memory storage devices:[2]

No wear leveling

A flash memory storage system with no wear leveling will not last very long if data is written to the flash. Without wear leveling, the underlying flash controller must permanently assign the logical addresses from the operating system (OS) to the physical addresses of the flash memory. This means that every write to a previously written block must first be read, erased, modified, and re-written to the same location. This approach is very time-consuming and frequently written locations will wear out quickly, while other locations will not be used at all. Once a few blocks reach their end of life, such a device becomes inoperable.[2]

Dynamic wear leveling

The first type of wear leveling is called dynamic wear leveling and it uses a map to link logical block addresses (LBAs) from the OS to the physical flash memory. Each time the OS writes replacement data, the map is updated so the original physical block is marked as invalid data, and a new block is linked to that map entry. Each time a block of data is re-written to the flash memory, it is written to a new location. However, flash memory blocks that never get replacement data would sustain no additional wear, thus the name comes only from the dynamic data being recycled. Such a device may last longer than one with no wear leveling, but there are blocks still remaining as active even though the device is no longer operable.[2][3]

Static wear leveling

The other type of wear leveling is called static wear leveling which also uses a map to link the LBA to physical memory addresses. Static wear leveling works the same as dynamic wear leveling except the static blocks that do not change are periodically moved so that these low usage cells are able to be used by other data. This rotational effect enables an SSD to continue to operate until most of the blocks are near their end of life.[2][3] This is also sometimes referred to as global wear leveling, as the entire image is leveled.{{Citation needed|date=January 2014}}

Comparison

The following table compares static and dynamic wear leveling:[3]

Item Static Dynamic
Endurance Longer life expectancy Shorter life expectancy
Performance Slower Faster
Design complexity More complex Less complex
Typical use SSDs,[2]
industrial-grade flash drives[11]
Consumer-grade flash drives

Techniques

There are several techniques for extending the media life:

  • A checksum or error-correcting code can be kept for each block or sector in order to detect errors or correct errors.
  • A pool of reserve space can also be kept. When a block or sector does fail, future reads and writes to it can be redirected to a replacement in that pool.
  • Blocks or sectors on the media can be tracked in a least frequently used (LFU) queue of some sort. The data structures for the queue itself must either be stored off-device or in such a way that the space it uses is itself wear-leveled or, in the case of flash memory, in a block with a specially extended life. However, usual cache algorithms are designed to manage the data flow into and out of RAM-based caches, making them not directly suitable for flash-based storage devices as they have an asymmetrical nature{{snd}} reads are usually much faster than writes, and erase operations can be performed only one "block" at a time.[12]

On some specialist Secure Digital cards,[11] techniques are implemented in hardware by a built-in microcontroller. On such devices, wear leveling is transparent, and most conventional file systems can be used on them as-is.

Wear leveling can also be implemented in software by special-purpose file systems such as JFFS2 and YAFFS on flash media or UDF on optical media. All three are log-structured file systems in that they treat their media as circular logs and write to them in sequential passes. File systems which implement copy-on-write strategies, such as ZFS, also implement a form of wear leveling.

See also

{{Portal|Computing}}
  • Flash file system
  • Write amplification
  • Battery balancing

References

1. ^{{US patent|6850443}} Wear leveling techniques for flash EEPROM systems.
2. ^{{cite web|last=Perdue|first=Ken|title=Wear Leveling Application Note|url=http://www.eettaiwan.com/STATIC/PDF/200808/EETOL_2008IIC_Spansion_AN_13.pdf|publisher=Spansion|accessdate=12 August 2010|date=2010-04-30}}
3. ^{{cite web|title=USB Flash Wear-Leveling and Life Span|url=http://www.corsair.com/_faq/FAQ_flash_drive_wear_leveling.pdf|publisher=Corsair|accessdate=27 July 2013|archiveurl=https://web.archive.org/web/20071013150729/http://www.corsair.com/_faq/FAQ_flash_drive_wear_leveling.pdf|archivedate=13 October 2007|date=June 2007}}
4. ^{{cite web |url=http://wdc.com/en/products/products.asp?driveid=285 |archive-url=https://web.archive.org/web/20100102045638/http://wdc.com/en/products/products.asp?driveid=285 |dead-url=yes |archive-date=2010-01-02 |title=Western Digital AV Hard Drive Product Information |date= |work= |publisher=Western Digital |accessdate=2010-06-01}}
5. ^http://www.hardwarecanucks.com/forum/storage/39762-so-you-wanna-buy-ssd-read-first.html
6. ^http://www.storagereview.com/ssds_shifting_25nm_nand_what_you_need_know
7. ^"[https://www.researchgate.net/publication/277637285_A_Survey_of_Software_Techniques_for_Using_Non-Volatile_Memories_for_Storage_and_Main_Memory_Systems A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems]", S. Mittal and J. Vetter, IEEE TPDS, 2015
8. ^"Algorithms and data structures for flash memories", E. Gal, and S. Toledo, ACM Computing Surveys, 2005
9. ^{{cite web | url = https://lwn.net/Articles/428584/ | title = Optimizing Linux with cheap flash drives | date = 2011-02-18 | accessdate = 2013-10-03 | author = Arnd Bergmann | publisher = LWN.net}}
10. ^{{Cite web | url = https://lwn.net/Articles/244829/ | title = Once upon atime | date = 2007-08-08 | accessdate = 2014-01-21 | author = Jonathan Corbet | publisher = LWN.net}}
11. ^{{cite web|url=http://eu.mouser.com/new/Swissbit/swissbit-industrial-SD-memory/|title=Swissbit Industrial SD Memory Cards|publisher=Mouser Electronics|accessdate=21 April 2017}}
12. ^{{cite web | url = http://www.velobit.com/storage-performance-blog/bid/118134/Why-Standard-Cache-Algorithms-Won-t-Work-For-SSDs | title = Why Standard Cache Algorithms Won’t Work For SSDs | date = 2012-02-25 | accessdate = 2013-11-26 | author = Qing Yang | publisher = velobit.com}}

External links

  • [https://web.archive.org/web/20070202230957/http://www.bitmicro.com/press_resources_flash_ssd.php Flash SSDs{{snd}} Inferior Technology or Closet Superstar?], bitmicro.com, archived from the original on February 2, 2007
{{Solid-state drive|state=collapsed}}{{DEFAULTSORT:Wear Leveling}}Wear-Leveling

5 : Computer memory|Non-volatile memory|Flash file systems|Solid-state computer storage|Balancing technology

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/13 12:28:45