An Improved Analytical Expression for Write Amplification in NAND Flash

Reading time: 5 minute
...

📝 Original Info

  • Title: An Improved Analytical Expression for Write Amplification in NAND Flash
  • ArXiv ID: 1110.4245
  • Date: 2014-06-01
  • Authors: : Agarwal, S., Kurkoski, J., & Honma, T.

📝 Abstract

Agarwal et al. gave an closed-form expression for write amplification in NAND flash memory by finding the probability of a page being valid over the whole flash memory. This paper gives an improved analytic expression for write amplification in NAND flash memory by finding the probability of a page being invalid over the block selected for garbage collection. The improved expression uses Lambert W function. Through asymptotic analysis, write amplification is shown to depend on overprovisioning factor only, consistent with the previous work. Comparison with numerical simulations shows that the improved expression achieves a more accurate prediction of write amplification. For example, when the overprovisioning factor is 0.3, the expression proposed by this paper gives a write amplification of 2.36 whereas that of the previous work gives 2.17, when the actual value is 2.35.

💡 Deep Analysis

Figure 1

📄 Full Content

Flash memory is a storage medium with growing significance. It has many appealing features including non-volatility, small size, low-cost, mechanical reliability, low power consumption and low read latencies particularly when compared to hard disk drives [1] [2].

Flash memory is organised in blocks. A block has a fixed number of pages (typically 64 pages). A page has a fixed size (typically 4KiB) [3]. There are three kinds of operations on flash memory: read, write and erase. Read and write operation can be performed on a page basis [4].

Flash memory has limitations that challenge the design of flash memory systems. One fundamental limitation of flash memory is nonsupport of overwriting and block erase. After data are written into a page, new data can not be written into the page by overwriting. The page must be erased before new data can be written to it. But erase operation can be performed only on a block basis [5]. Another fundamental limitation of flash memory is limited endurance. Flash memory can tolerate a limited number of program and erase cycles before it becomes unreliable. The latest multi-level cell (MLC) memories can endure 5000 ∼ 10000 program and erase cycles [1] [2]. Thus, it is a critical problem to limit the number of program and erase cycles to a minimum to increase the flash memory’s lifetime.

This research was supported in part by the Ministry of Education, Science, Sports and Culture; Grant-in-Aid for Scientific Research (C) number 21560388 and Grant-in-Aid for Scientific Research (C) number 23560439. Contact email: kurkoski.ice.uec.ac.jp Erasing an entire block when a page is needed to be updated is inefficient. Moreover, this can wear out the flash memory very quickly. Thus, in flash memory, out-of-place write is used [2]. When a page already written needs to be updated, the new data are not written into that page but to a new page free for writing and the old page is marked as invalid. A mapping table is maintained to record the mappings of logical address and physical address. In this paper, pages are classified into three categories and their definition is given as follows. A free page is a page into which no data have been written. It is available to accommodate new user writes. A valid page is a page into which data have been written but hasn’t been updated. A valid page is the page that stores the user data. An invalid page is a page into which data have been written and has been updated. An invalid page once stores user data, but it is updated and no longer stores user data due to out-of-place write.

Out-of-place results in invalid pages. Invalid pages consume the flash memory but do not store user data. Thus, when the number of invalid pages accumulate to some extent, the invalid pages should be reclaimed for new user writes. The mechanism in flash memory to reclaim invalid pages and translate them into free pages is called garbage collection [2]. Garbage collection is performed in the following way: first a block is selected for garbage collection. Then, the valid pages in the selected block are copied to some other free space in the flash memory. After this, the selected block is erased and becomes free. Various algorithms for garbage collection have been proposed in previous work [6] [7] [8].

During garbage collection, valid pages in the selected block are copied to some other free space before the selected block is erased and copied back to the flash memory afterwards. This copy operation causes additional writes. The actual number of writes on the flash memory would be more than the number of pages needed to be written. This phenomenon is called write amplification. Write amplification reduces the flash memory’s lifetime and therefore should be minimized. In flash memory, a common practice is that, user can only use a portion of the raw flash memory space. The portion the user cannot use is called overprovisioning. Overprovisioning provides flash memory with an increased endurance and an improved performance. Increasing the amount of overprovisioning decreases write amplification.

Due to the significance of minimizing write amplification, previous works analyzed write amplification. Hu et al. first developed a probabilistic model to describe the write amplification [3]. They then developed an empirical model to compute the write amplification [4].

Agarwal et al. gave a closed-form expression for write amplification [2]. They assumed that initially, the user space of the flash memory is full and the valid pages are randomly distributed over the physical flash memory. The number of valid pages in an arbitrary block is then binomially distributed. After a sufficiently large number of user writes, the distribution of the number of valid pages in an arbitrary block is empirically approximated by a uniform distribution. Because both the total number of pages and the total number of valid pages remains the same, the average number of valid pages in an arbitrary block

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut