Understanding the Impact of Power Loss on Flash Memory
|
|
|
- Andrea Short
- 10 years ago
- Views:
Transcription
1 Understanding the Impact of Power Loss on Flash Memory Hung-Wei Tseng Laura M. Grupp Steven Swanson The Department of Computer Science and Engineering University of California, San Diego Abstract Flash memory is quickly becoming a common component in computer systems ranging from music players to mission-critical server systems. As flash plays a more important role, data integrity in flash memories becomes a critical question. This paper examines one aspect of that data integrity by measuring the types of errors that occur when power fails during a flash memory operation. Our findings demonstrate that power failure can lead to several nonintuitive behaviors. We find that increasing the time before power failure does not always reduce error rates and that a power failure during a program operation can corrupt data that a previous, successful program operation wrote to the device. Our data also show that interrupted program operations leave data more susceptible to read disturb and increase the probability that the programmed data will decay over time. Finally, we show that incomplete erase operations make future program operations to the same block unreliable. Categories and Subject Descriptors B.3.4 [Memory Structures]: Tolerance General Terms Reliability, Testing, and Fault- Experimentation,Measurement,Performance,Reliability Keywords flash memory, power failure, power loss. INTRODUCTION As flash-based solid-state drives (SSDs) make inroads into computer systems ranging from data centers to sensor networks, the integrity of flash memory as a storage technology becomes increasingly important. A key component of that integrity is what happens to the data on an SSD when power failure occurs unexpectedly. Power loss in flash is potentially much more dangerous than it is for conventional hard drives. If power fails during a write to a hard drive, the data being written may be irretrievable, but the other data on the disk remains intact. However, SSDs use complex flash translation layers (FTLs) to manage the mapping between logical block addresses and physical flash memory locations. FTLs must store metadata about this mapping in the flash memory itself, and, 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. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. DAC 2, June 5-, 2, San Diego, California, USA. Copyright 2 ACM ACM $.. as a result, corruption of the storage array can potentially render the entire drive inoperable: Not only will the in-progress write not succeed, but all the data on the drive may become inaccessible. To ensure reliability, system designers must engineer the SSDs to withstand power failures and the resulting data corruption. To do this, they must understand what kinds of corruption power failure can cause. This paper characterizes the effect of power failure on flash memory devices. We designed a testing platform to repeatedly cut power to a raw flash device during program and erase operations. Our data show that flash memory s behavior under power failure is surprising in several ways. First, operations that come closer to completion do not necessarily exhibit fewer bit errors. Second, power failure not only results in failure of the operation in progress, it can also corrupt data already present in the flash device. Third, power failure can negatively impact the integrity of future data written to the device. Our results point out potential pitfalls in designing flash file systems and the importance of understanding failure modes in design embedded storage systems. The rest of this paper is organized as follows: Section 2 describes the aspects of flash memory pertinent to this study. Section 3 describes our experimental platform and methodology for characterizing flash memory s behavior during power failure. Section 4 presents our results and describes the sources of data corruption due to power failure. Section 5 provides a summary of related work to put this project in context, and Section 6 concludes the paper. 2. FLASH MEMORY Flash memory has several unique characteristics that make power failure particularly dangerous. The long latency of program and erase operations present large "window of vulnerability" and the complex programming algorithms and data encoding schemes they employ can lead to non-intuitive failure modes. This section presents a summary of flash s characteristics that are most pertinent to this work. Flash memory stores data by trapping electrons using a floating gate transistor. The electrons affect the transistor s threshold voltage, and the chip measures this change to read data from the cell. The flash chip organizes cells into pages (between 2 and 8 KB) and pages into blocks (between 32 and 256 pages). Erasing a block sets all the bits to. Finer grain erasure is not possible. Programs operate on pages and convert s to s. To hide the difference in granularity between programs and erases and increase reliability, SSDs use complex flash translation layers (FTLs) to perform outof-place update and remapping operations. To support these functions, FTLs store metadata in the flash storage array along with the user data. Program and erase operations are iterative. Program operations selectively inject electrons into floating gates to change the threshold voltage and then perform a read-verify operation to check if the
2 Logic Bits Gray coding 2 s complement coding Voltage st page 2nd page st page 2nd page Levels bit bit bit bit Lowest Highest Table : The mapping of voltage level and logic bits in 2-bit MLC chips using Gray coding and 2 s complement coding. cells have reached the desired threshold voltage. If any of the cells in a page has not reached the target threshold voltage, the chip will repeat the program and read-verify process [5, 6]. For erase operations, the chip removes the electrons from cells within the block. The chip will continue to remove electrons until the voltages of cells reach the erased state. There are two types of flash cells: single-level cell (SLC) and multi-level cell (MLC). SLC devices store one bit per cell, while MLC devices store two or more. SLC chips provides better and more consistent performance than MLC chips. According to empirical measurements in [3] it takes an SLC chip 2 µs to perform a read operation, 2 µs to perform a program operation, and 4 µs - 2 ms to perform an erase operation. MLC chips achieve higher densities by using 2 n threshold voltage levels to represent n bits. MLC chips need 3 µs - 2 ms to perform a program operation, and 2 ms 4 ms to perform an erase operation. In this paper, we focus on 2-bit MLC cells, since they are most prevalent in current systems. For 2-bit MLC chips, cells store data of two different pages. Manufactures require that pages within a block be programmed in order, so to differentiate between the two pages in a cell, we refer to them as first page and second page. Programming a second page is consistently slower than programming a first page, since programming the second page requires a more complex programming algorithm. Table shows the mappings between threshold voltages and logic bits of a 2-bit MLC cell using gray coding and 2 s complement coding. 3. METHODOLOGY To study the effect of power failure on flash memory, we built a test platform that allows us to issue command to raw flash chips and to cut off the power supply to the chip at precise moments. This section describes our test bed, testing methodology, and the flash chips we used in this study. 3. Experimental hardware For this work, we built a test platform that consists of three components: the Xilinx XUP board, a custom flash testing board, and the power control circuit. The FPGA on the Xilinx XUP board contains a PowerPC 45 core running Linux. A custom flash controller on the FPGA provides us direct access to the flash device via the flash testing board. The FPGA also controls the power to the flash chips by means of a pair of high-speed power transistors. Measurements with an oscilloscope show that the system can switch the chip s power supply to V within 3.7 µs. 3.2 Test procedure To test the impact of power failure during program and erase operations, we cut power to flash at different points during the operation. We define the power cut off interval as the time between issuing the command to the flash chip and when we trigger the power cut off circuit. We start the cut off interval after sending Abbrev. Manufa- Cell Cap. Tech. Page Pgs/ cturer Type (GBit) Node Size Blk (nm) (B) A-SLC2 A SLC A-SLC4 A SLC A-SLC8 A SLC B-SLC2 B SLC B-SLC4 B SLC E-SLC8 E SLC A-MLC6 A MLC B-MLC32-2 B MLC D-MLC32 D MLC E-MLC8 E MLC F-MLC6 F MLC Table 2: Parameters for the flash devices we studied in this work the last byte of the command to the flash chip. High-resolution measurements of the chips power consumption show that the chip starts executing the command with a few microseconds. For program tests, we use cut off intervals varying from.4 µs to 2.4 ms at increments of.4 µs. For erase, we use power cut off intervals varying from 2 µs to 4.8 ms at increments of 2 µs. 3.3 Flash devices The behavior of flash memory chips from different manufacturers varies because of architectural differences within the devices and because of differences in manufacturing technologies. To understand the variation in power failure performance, we selected chips that cover a variety of technologies and capacities. Table 2 lists the flash memory chips that we studied in this work. They come from five different vendors. Their capacities range from 2 GBits to 32 GBits and their feature sizes range from 72 nm to 34 nm. Values that are not publicly available from the manufacturer are from [3]. 4. EXPERIMENTAL RESULTS We found unexpected behavior for both program and erase operations in the presence of power failure. For both program and erase, the variation in bit error rate as the power cut off interval changes is non-monotonic, and our measurements show that power loss can lead to both immediate and long-term data integrity issues. We describe the results for each operation in turn. 4. Program and power failure To understand the impact of power failure during programming, we begin by programming random data and cutting off power at different intervals. Then, we measure the resulting bit error rate. Figure contains the results for SLC chips and MLC chips. Intuitively, the more time we give the flash chip to program a page before power failure, the fewer errors there should be. However, the graphs show that the bit error rate does not decrease monotonically. Instead, the bit error rate for each chip has multiple plateaus where the error rate remains constant, and spikes where the bit error rate increases briefly. For example, the error rate for E-SLC8 jumps dramatically at 3 µs, drops slowly until 75 µs when it plummets to nearly zero. The other SLC chips exhibit much more predictable behavior. MLC behavior is much more complex. For example, B-MLC32-2 s error rate remains constant at 5% until µs and then drops sharply to 25% by µs, where it remains until 2 µs. The error rate starts increasing at 2 µs and reaches 29% at 29 µs.
3 A-SLC2 A-SLC4 A-SLC8 B-SLC2 B-SLC4 E-SLC B-MLC32-2 A-MLC6 D-MLC32 E-MLC8 F-MLC6 Figure : The bit error rate of program operations with different power cut off intervals for SLC chips and MLC chips The error rate decreases again after 36 µs and then stays at 25% until 5 µs. After 5 µs, the error rate decreases as steps until it reaches at 4 µs. The chip also shows numerous spikes in error rate, for example, at 54 µs. These results are unexpected because programming flash chips should only be able to move bits from to, yet the non-monotone error rates suggest that program operations are moving cells in both directions at different times. Below, we investigate this behavior in finer detail. 4.. Per-page MLC error rates To understand the cause of MLC chips non-monotonic error rates, we examine the behavior of pairs of first and second pages in more detail. A pair of corresponding bits from the two pages can be in four states: (i.e., the first page bit is and the second page bit is ),,, and. We used program operations to move the pair between those states and interrupted the power to see which intermediate states the cell passes through. We consider four transitions: () : we program the first page bit to from the erased state. (2) : we program a to the second page bit after programming a to the first page bit. (3) : we program a to the second page bit after programming a to the first page bit. (intuitively, this should cause no change) (4) : we program a to the second page bit from the erased state. Other transitions are not possible because we must program the first page first, and because programs can only convert s to s. For and, we only cut off power while programming the second page. Figure 2 shows the experimental results for B-MLC32-2. For each graph in Figure 2, the x-axis shows the power cut off interval, and the y-axis depicts the distribution of cells for four different states in a block. Figure 2 plots the distribution of cell states for the transition. The graph shows the shift in state between and 22 µs, but it is not a smooth transition: There are two clear steps with spikes that suggest that some cells temporarily move State State State State State State State State State State State State (c) State State State State (d) Figure 2: Cell state breakdown for B-MLC32-2 for,, (c), (d) transitions. The results show that even for seeming no-ops, cells may pass through multiple states from state to state during programming. The chip reads the cells as state because the second page bits are not programmed yet, but the voltage levels are actually at state instead of state at this point. Figure 2 provides some additional insight into this behavior. It shows the graph for the transition. The cell states remain at until 3 µs, when they all instantly become. This instantaneous change of cell states indicates, we believe, that the chip switches reference voltages at this point to a new reference that allows the chip to distinguish state from state. Since all the cells move to state immediately after the chip applies a new
4 B-MLC-32-2 (st page) E-MLC8 (st page) Figure 3: A power failure while programming a second page can corrupt data programmed to the corresponding first page, even if the first page program completed without interruption. reference, it appears that the cells were already at a voltage level corresponding to a state after programming the first page was complete. Figure 2(c) shows the result when we try to perform a transition, a seeming no-op. However, if power cuts off between 25 and µs, a large fraction of the cells will be in state and some may be in state. In Figure 2(d), we make a transition. Though we only change the second page bits, the cells move through all possible states during the operation. The chip changes state from to (a shift of one voltage level) during 2 µs to 6 µs. Between 5 µs and 9 µs, it seems to adjust reference voltage to differentiate between states and and result in the abrupt transitions from state to state. Then it applies a new reference voltage at 9 µs. The chip can differentiate state from state with the new threshold voltage. This also causes the transition of cell states from to Retroactive data corruption The unpredictable effect of power loss during an MLC program operation demonstrated above makes it clear that SSDs must assume that data written during an interrupted program is corrupt. However, the data in Figure 2 also show something more dangerous: Power failure while programming a second page can corrupt data that the chip successfully programmed into a first page. We call this effect retroactive data corruption. Figure 2(d) demonstrates the phenomenon. We expect the program operation to move the cell from to, leaving the first page s data untouched. However, we can find cells in any of the four states depending on when power failure occurred. Figure 3 illustrates this effect in more detail. In this graph, we first program random data to first page bits in B-MLC32-2 and E- MLC8 without power failure. Then we cut off power when we program the corresponding second page bits with random data. The x-axis shows the power cut off intervals for second pages, and the y-axis shows the bit error rates for the first pages. For B-MLC32-2, the bit error rate of the first page reaches 25% with power cut off interval between 2 µs and 9 µs even though the program operation of the first page completed successfully! For E-MLC8, the retroactive data corruption effect is more serious. The bit error rate can reach 5% if the power cut off interval for the second page is between 5 µs and µs. Flash device datasheets make no mention of this phenomenon, so FTL designers may assume that once a program operation completes, the data will remain intact regardless of any future failures. This assumption is incorrect for MLC devices. Since retroactive data corruption can affect both user data and FTL metadata, it poses a serious threat to SSD reliability..... e-5 Program w/o power failure Program with power cut off interval of.35ms e-6 5 e+6.5e+6 2e+6 2.5e+6 3e+6 Number of Reads Figure 4: Incompletely programmed pages are more susceptible to read disturb than completely programmed pages. Besides backup batteries and capacitors, SSDs can take (at least) three steps to mitigate the effects of retroactive data corruption. First, the FTL could program corresponding pairs of first and second pages together and treat them as a logical unit. If programming the second page failed, the FTL would consider them to both have failed. This is not as easy as it sounds, however, since first and second pages are not logically consecutive within the flash block: In most cases the first page at address n is paired with the second page at address n+6. Flash device datasheets require programming pages in a block in order because of the flash array organizations. However, our experiment shows that for chips like E-MLC8, programming the first and second pages together does not increase the program error rate. Second, since the retroactive data corruption never affects the second page, the FTL could protect its metadata by storing it solely in second pages. While it would leave user data exposed to retroactive data corruption, the SSD would, at least, remain operational. Third, the FTL could adopt a specialized data encoding that would avoid the cell state transitions that can lead to retroactive corruption. For E-MLC8, corruption occurs only when making a transition. Sacrificing some bit capacity and applying some simple data coding techniques could prevent that transition from occurring. However, for B-MLC32-2, this scheme does not work since the retroactive data corruption happens in all the cases where the first page bit is Read disturb sensitivity Power failure can also affect the data integrity of programmed data by making it more susceptible to other flash failure modes. In this section, we examine the relationship of power failure and read disturb. Read disturb arises because reading data from a flash array applies weak programming voltages to cells in pages not involved in the read operation. Measurements in [3] shows that it typically takes several million read operations to cause significant errors due to read disturb. Figure 4 compares the read disturb sensitivity of pages programmed to completion (i.e., no power cut off) and pages programmed with a power cut off interval of.35 ms using B-MLC32-2. For that interval, reading the page back reveals no errors. For both sets of pages, the error rate starts at after programming. For the completely programmed page, errors from read disturb appear after 2.8 million reads. For the partially programmed page, errors appear after just reads and the error rate rises quickly to It appears that the power failure prevents the program operation from completely tuning the voltage level on some of the cells leaving them susceptible to read disturb. This effect is potentially dangerous, especially given the very steep increase in error rate. A common approach to dealing with
5 2.4e-6 2e-6.6e-6.2e-6 8e-7 Barely programmed Partially programmed Fully programmed 4e e-7 4e-7 3e-7 2e-7 e-7 2e-7 e-7 Barely programmed Partially programmed Fully programmed Year(s) Barely programmed Partially programmed Fully programmed Year(s) Year(s) (c) Figure 5: Baking chips to accelerate aging reveals that power failure during program operations reduces the long-term reliability of data stored in flash chips. read disturb is to copy data to a fresh page when errors begin to appear. However, if the error rate rises too quickly, the data may become uncorrectable before this can occur. The flash memory controller should copy the data programmed under power failure to a fresh page as soon as possible Data Retention Programming data with power failure may also reduce the longterm stability of the data stored in the flash chip. We use a laboratory oven to accelerate the aging effect of flash memory chips up to years. According to the JESD22-A3 standard [5], we bake the chips for 9 hours and 2 minutes at 25 C to achieve the aging of one year. For each chip, we programed 5 blocks for each of the three conditions: () Barely programmed: the power cut off interval is as short as possible without resulting in increased bit error rates (for some MLC chips, the programmed error rate is never zero). (2) Fully programmed: the program operation completes without power failure. (3) Partially programmed: the power cut off interval is halfway between barely programmed and fully programmed. Figure 5 shows the result for B-MLC32-2, E-MLC8, and (c) B-SLC4. The x-axis of the graph is accelerated age in years. The y-axis shows the average bit error rates in a block after aging for each accelerated year. We slightly shift the points horizontally for partially programmed and fully programmed results to make the error bars visible. B-MLC32-2 does not exhibit any relationship between power failure and data retention. However, for E-MLC8, the effect is clear. After years, the error rate for barely programmed data is.9 7 rather than for partially programmed or for fully programmed. B-SLC4 shows the robustness common among SLC chips. The chip only shows errors for the barely programmed case. 4.2 Erase and power failure Erase operations are subject to a different set of reliability requirements than program operations. While it is important that an erase operation reliably write a to every bit in a block, it is equally important that the erase prepare the block properly for the program operations that will follow it. We investigate both aspects of this reliability below Erasing bits A-SLC2 A-SLC4 A-SLC8 B-SLC2 B-SLC4 E-SLC B-MLC32-2 A-MLC6 D-MLC32 E-MLC8 F-MLC6 Figure 6: Bit error rates after an interrupted erase operation are well-behaved for SLC devices, but MLC behavior is much more complex. Figure 6 presents the bit error rates of erase operations for different power cut off intervals for SLC chips and MLC chips. For each test, we initially programmed the block with random data. Behavior is similar among the SLC chips that we tested. The bit error rate stays at 5% (since the block contains random data) for between 5 and 24 µs, after which all the cells become erased in less than µs. However, chips do not report that the command has completed until 4 µs 2 ms. For MLC chips, the bit error rate is, once again, non-monotone. For all chips except E-MLC8, it reaches as high as 75%. The timing of MLC chips also varies among different models: It takes between 5 µs 475 µs for every cell to become. However, these chips report that erase command completes after 2 4 ms Programming blocks after an erase failure In previous experiments, we found that erases appear to be complete long before the chip reports that they are finished. Based on discussions with flash manufacturers, we suspect that the chip spends this time fine-tuning the voltage levels in the cells. Presumably, this step is important (or the manufacturers would save time and skip it), so it is important to understand what impact cutting it short will have. To measure this effect, we cut power during erase operations, performed a complete program operation, and then read back the data to measure the bit error rate. Figure 7 shows the results for SLC and MLC chips. The x-axis measures the power cut off interval of the previous erase operation and the y-axis depicts the bit error rates of the later programming operations. We start the experiment at 3 µs for SLC and 5 µs for MLC, since by this time, the erase appears to be complete. In both cases, interrupting an erase operation reduces reliability for future program operations to the block. For SLC and most MLC chips, the error rate rises from to between.4% and.9%. For B-MLC32-2, the program error rate is never zero, and the bit error rate rises from.2 7 to.2%. For E-MLC8, the
6 e-5 e B-MLC32-2 A-MLC6 D-MLC32 E-MLC8 A-SLC2 A-SLC4 A-SLC8 B-SLC2 B-SLC4 E-SLC8 e F-MLC6 Figure 7: Bit error rates after an interrupted erase operation are well-behaved for SLC devices, but MLC behavior is much more complex program error rate varies between.4% and % for power cut off intervals between 747 and 262 µs. The program error rate of A- MLC6 also bounces for power cut off interval between 264 µs and 284 µs. These frequent variations cause the two vertical bands in the graph. 5. RELATED WORK Flash manufactures provide limited information about many aspects of their chips, including their behavior under power loss. Our work is similar in spirit to Grupp et al. [3] in that we empirically quantify flash behavior in order to better understand the opportunities and design challenges that it presents. In addition to chip level performance, Boboila et. al [] also explored device-level characteristics including timing, endurance, and FTL designs. However, neither of the above works focus on the power failure behavior of flash memory chips. Many high-end SSDs have backup batteries or capacitors to ensure that operations complete even if power fails. Our results argue that these systems should provide power until the chip signals that the operation is finished rather than until the data appears to be correct. Low-end SSDs and embedded systems, however, often do not contain backup power sources due to cost or space constraints, and these systems must be extremely careful to prevent data loss and/or reduced reliability after a power failure. Existing work on recovery from power failure aims to restore or repair flash file systems using logs and other techniques [6, 4, 2, ] or page-level atomic writes [7, 2]. Numonyx [] also provides guidelines to repeat interrupted operations after power failure. These designs may work for SLC chips, but the retroactive data corruption we observed for MLC chips suggests that they will be less effective there. Some commercial systems avoid retroactive corruption by treating a block as the basic unit of atomic writes [9, 3, 4]. This approach is inefficient for small writes since it requires re-writing at least one entire block for each write operation. We described several alternative solutions. System software and embedded applications are critical in dealing with reliability issues like power loss. Kim et al. [8] designed a software framework to mimic faults, including power failure, in flash memory. This work (and the results in [3]) demonstrates that flash has many non-intuitive error modes, so fault-injection frameworks require input from real hardware measurements to ensure the faults they inject are representative of what can occur in real systems. 6. CONCLUSION The flash memory devices we studied in this work demonstrated unexpected behavior when power failure occurs. The error rates do not always decrease as the operation proceeds, and power failure can corrupt the data from operations that completed successfully. We also found that relying on blocks that have been programmed or erased during a power failure is unreliable, even if the data appears to be intact. 7. REFERENCES [] S. Boboila and P. Desnoyers. Write endurance in flash drives: measurements and analysis. In FAST : Proceedings of the 8th USENIX conference on File and storage technologies, pages 9 9, Berkeley, CA, USA, 2. USENIX Association. [2] T.-S. Chung, M. Lee, Y. Ryu, and K. Lee. Porce: An efficient power off recovery scheme for flash memory. Journal of Systems Architecture, 54(): , 28. [3] L. Grupp, A. Caulfield, J. Coburn, S. Swanson, E. Yaakobi, P. Siegel, and J. Wolf. Characterizing flash memory: Anomalies, observations, and applications. In MICRO-42: 42nd Annual IEEE/ACM International Symposium on Microarchitecture, pages 24 33, [4] A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In ASPLOS 9: In Proceeding of the 4th international conference on Architectural support for programming languages and operating systems, pages , 29. [5] JEDEC. Preconditioning of Plastic Surface Mount Devices Prior to Reliability Testing. [6] T.-S. Jung, Y.-J. Choi, K.-D. Suh, B.-H. Suh, J.-K. Kim, Y.-H. Lim, Y.-N. Koh, J.-W. Park, K.-J. Lee, J.-H. Park, K.-T. Park, J.-R. Kim, J.-H. Yi, and H.-K. Lim. A 7-mm2 3.3-v only 28-mb multilevel nand flash memory for mass storage applications. IEEE Journal of Solid-State Circuits, 3(): , Nov [7] J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho. A space efficient flash translation layer for compactflash systems. IEEE Transactions on Consumer Electronics, 48: , 22. [8] S.-K. Kim, J. Choi, D. Lee, S. H. Noh, and S. L. Min. Virtual framework for testing the reliability of system software on embedded systems. In SAC 7: Proceedings of the 27 ACM symposium on Applied computing, pages 92 96, New York, NY, USA, 27. ACM. [9] K. Y. Lee, H. Kim, K.-G. Woo, Y. D. Chung, and M. H. Kim. Design and implementation of mlc nand flash-based dbms for mobile devices. Journal of Systems and Software, 82(9): , 29. [] P. March. Power Loss Recovery (PLR) for cell phones using NAND Flash memory. US/ResourceCenter/SoftwareArticles/Pages/PLRforNAND.aspx. [] Numonyx. How to operate Power Loss Recovery for the Numonyx 65nm Flash Memory Devices. [2] C. Park, P. Talawar, D. Won, M. Jung, J. Im, S. Kim, and Y. Choi. A High Performance Controller for NAND Flash-based Solid State Disk (NSSD). In NVSMW 6: Non-Volatile Semiconductor Memory Workshop, 26., pages 7 2, feb. 26. [3] S. Park, J. H. Yu, and S. Y. Ohm. Atomic write FTL for robust flash file system. In ISCE 5: Proceedings of the Ninth International Symposium on Consumer Electronics, 25., pages 55 6, June 25. [4] F. M. Systems. Power failure prevention, recovery, and test. Failure Corruption Prevention.pdf. [5] K. Takeuchi, T. Tanaka, and T. Tanzawa. A multipage cell architecture for high-speed programming multilevel NAND flash memories. IEEE Journal of Solid-State Circuits, 33(8): , Aug [6] D. Woodhouse. JFFS2: The Journalling Flash File System, version 2.
The Bleak Future of NAND Flash Memory
The Bleak Future of NAND Memory Laura M. Grupp, John D. Davis, Steven Swanson Department of Computer Science and Engineering, University of California, San Diego Microsoft Research, Mountain View Abstract
In-Block Level Redundancy Management for Flash Storage System
, pp.309-318 http://dx.doi.org/10.14257/ijmue.2015.10.9.32 In-Block Level Redundancy Management for Flash Storage System Seung-Ho Lim Division of Computer and Electronic Systems Engineering Hankuk University
Trends in NAND Flash Memory Error Correction
Trends in NAND Flash Memory Error Correction June 2009 Eric Deal Cyclic Design Introduction NAND Flash is a popular storage media because of its ruggedness, power efficiency, and storage capacity. Flash
Yaffs NAND Flash Failure Mitigation
Yaffs NAND Flash Failure Mitigation Charles Manning 2012-03-07 NAND flash is one of very few types of electronic device which are knowingly shipped with errors and are expected to generate further errors
SLC vs. MLC: An Analysis of Flash Memory
SLC vs. MLC: An Analysis of Flash Memory Examining the Quality of Memory: Understanding the Differences between Flash Grades Table of Contents Abstract... 3 Introduction... 4 Flash Memory Explained...
Solid State Drive Technology
Technical white paper Solid State Drive Technology Differences between SLC, MLC and TLC NAND Table of contents Executive summary... 2 SLC vs MLC vs TLC... 2 NAND cell technology... 2 Write amplification...
SLC vs MLC: Which is best for high-reliability apps?
SLC vs MLC: Which is best for high-reliability apps? Here's an examination of trade-offs, with an emphasis on how they affect the reliability of storage targeted at industrial, military and avionic applications.
SLC vs MLC: Proper Flash Selection for SSDs in Industrial, Military and Avionic Applications. A TCS Space & Component Technology White Paper
SLC vs MLC: Proper Flash Selection for SSDs in Industrial, Military and Avionic Applications A TCS Space & Component Technology White Paper Introduction As with most storage technologies, NAND Flash vendors
Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages
Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages Soohyun Yang and Yeonseung Ryu Department of Computer Engineering, Myongji University Yongin, Gyeonggi-do, Korea
Important Differences Between Consumer and Enterprise Flash Architectures
Important Differences Between Consumer and Enterprise Flash Architectures Robert Sykes Director of Firmware Flash Memory Summit 2013 Santa Clara, CA OCZ Technology Introduction This presentation will describe
1 / 25. CS 137: File Systems. Persistent Solid-State Storage
1 / 25 CS 137: File Systems Persistent Solid-State Storage Technology Change is Coming Introduction Disks are cheaper than any solid-state memory Likely to be true for many years But SSDs are now cheap
Destroying Flash Memory-Based Storage Devices (draft v0.9)
Destroying Flash Memory-Based Storage Devices (draft v0.9) Dr. Steven Swanson Director, Non-volatile Systems Laboratory Department of Computer Science and Engineering University of California, San Diego
NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ
What is NAND Flash? What is the major difference between NAND Flash and other Memory? Structural differences between NAND Flash and NOR Flash What does NAND Flash controller do? How to send command to
Solid State Drive (SSD) FAQ
Solid State Drive (SSD) FAQ Santosh Kumar Rajesh Vijayaraghavan O c t o b e r 2 0 1 1 List of Questions Why SSD? Why Dell SSD? What are the types of SSDs? What are the best Use cases & applications for
Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis
Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis Yu Cai 1, Erich F. Haratsch 2, Onur Mutlu 1 and Ken Mai 1 1 Department of Electrical and Computer Engineering, Carnegie
Don t Let RAID Raid the Lifetime of Your SSD Array
Don t Let RAID Raid the Lifetime of Your SSD Array Sangwhan Moon Texas A&M University A. L. Narasimha Reddy Texas A&M University Abstract Parity protection at system level is typically employed to compose
p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer
p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer Wei Wang, Youyou Lu, and Jiwu Shu Department of Computer Science and Technology, Tsinghua University, Beijing, China Tsinghua National
Data Storage Framework on Flash Memory using Object-based Storage Model
2011 International Conference on Computer Science and Information Technology (ICCSIT 2011) IPCSIT vol. 51 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V51. 118 Data Storage Framework
NAND Flash Memory Reliability in Embedded Computer Systems
WHITE PAPER NAND Flash Memory Reliability in Embedded Computer Systems Ian Olson INTRODUCTION NAND flash memory named after the NAND logic gates it is constructed from is used for nonvolatile data storage
Linux flash file systems JFFS2 vs UBIFS
Linux flash file systems JFFS2 vs UBIFS Chris Simmonds 2net Limited Embedded Systems Conference UK. 2009 Copyright 2009, 2net Limited Overview Many embedded systems use raw flash chips JFFS2 has been the
PowerProtector: Superior Data Protection for NAND Flash
PowerProtector: Superior Data Protection for NAND Flash Introduction The unstable power conditions of outdoor applications such as transportation, telecommunications/networking and embedded systems run
Design of a NAND Flash Memory File System to Improve System Boot Time
International Journal of Information Processing Systems, Vol.2, No.3, December 2006 147 Design of a NAND Flash Memory File System to Improve System Boot Time Song-Hwa Park*, Tae-Hoon Lee*, and Ki-Dong
Technologies Supporting Evolution of SSDs
Technologies Supporting Evolution of SSDs By TSUCHIYA Kenji Notebook PCs equipped with solid-state drives (SSDs), featuring shock and vibration durability due to the lack of moving parts, appeared on the
Data Retention in MLC NAND Flash Memory: Characterization, Optimization, and Recovery
Data Retention in MLC NAND Flash Memory: Characterization, Optimization, and Recovery Yu Cai, Yixin Luo, Erich F. Haratsch*, Ken Mai, Onur Mutlu Carnegie Mellon University, *LSI Corporation 1 Many use
SLC vs MLC NAND and The Impact of Technology Scaling. White paper CTWP010
SLC vs MLC NAND and The mpact of Technology Scaling White paper CTWP010 Cactus Technologies Limited Suite C, 15/F, Capital Trade Center 62 Tsun Yip Street, Kwun Tong Kowloon, Hong Kong Tel: +852-2797-2277
Nasir Memon Polytechnic Institute of NYU
Nasir Memon Polytechnic Institute of NYU SSD Drive Technology Overview SSD Drive Components NAND FLASH Microcontroller SSD Drive Forensics Challenges Overview SSD s are fairly new to the market Whereas
Understanding endurance and performance characteristics of HP solid state drives
Understanding endurance and performance characteristics of HP solid state drives Technology brief Introduction... 2 SSD endurance... 2 An introduction to endurance... 2 NAND organization... 2 SLC versus
NAND Flash Architecture and Specification Trends
NAND Flash Architecture and Specification Trends Michael Abraham ([email protected]) NAND Solutions Group Architect Micron Technology, Inc. August 2012 1 Topics NAND Flash Architecture Trends The Cloud
Temperature Considerations for Industrial Embedded SSDs
I-Temp SSDs: Temperature Considerations for Industrial Embedded SSDs NAND flash-based SSDs and memory cards continue to be the dominant storage media for most industrial-embedded systems. Historically,
A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems
1 A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems Chul Lee Software Laboratory Samsung Advanced Institute of Technology Samsung Electronics Outline 2 Background
Flash Memory. Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日. technische universität dortmund
12 Flash Memory Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日 These slides use Microsoft clip arts Microsoft copyright restrictions apply Springer,
Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer
Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Institut für Informatik Wintersemester 2007/08 Solid State Disks Motivation 2 10 5 1980 1985 1990 1995 2000 2005 2010 PRODUCTION
The Technologies & Architectures. President, Demartek
Deep Dive on Solid State t Storage The Technologies & Architectures Dennis Martin Dennis Martin President, Demartek Demartek Company Overview Industry analysis with on-site test lab Lab includes servers,
Offline Deduplication for Solid State Disk Using a Lightweight Hash Algorithm
JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.15, NO.5, OCTOBER, 2015 ISSN(Print) 1598-1657 http://dx.doi.org/10.5573/jsts.2015.15.5.539 ISSN(Online) 2233-4866 Offline Deduplication for Solid State
FLASH TECHNOLOGY DRAM/EPROM. Flash. 1980 1982 1984 1986 1988 1990 1992 1994 1996 Year Source: Intel/ICE, "Memory 1996"
10 FLASH TECHNOLOGY Overview Flash memory technology is a mix of EPROM and EEPROM technologies. The term flash was chosen because a large chunk of memory could be erased at one time. The name, therefore,
An In-Depth Look at Variable Stripe RAID (VSR)
An In-Depth Look at Variable Stripe RAID (VSR) A white paper by Robbie Stevens, Senior Marketing/Technical Writer 10777 Westheimer Rd. Houston, TX 77042 www.ramsan.com Scan this QR code with your smartphone
Challenges and Solutions for Effective SSD Data Erasure
Challenges and Solutions for Effective SSD Data Erasure Blancco White Paper Published 8 October 2013 First Edition Table of contents Introduction...3 The Simplicity And Complexity Of SSDs...4 Traditional
White Paper. Avoiding premature failure of NAND Flash memory. Inhalt
Avoiding premature failure of NAND Flash memory In practice, the real lifetime of flash memory is dependent on a large number of parameters which are often not even mentioned in the data sheets from the
High-Performance SSD-Based RAID Storage. Madhukar Gunjan Chakhaiyar Product Test Architect
High-Performance SSD-Based RAID Storage Madhukar Gunjan Chakhaiyar Product Test Architect 1 Agenda HDD based RAID Performance-HDD based RAID Storage Dynamics driving to SSD based RAID Storage Evolution
Addressing Fatal Flash Flaws That Plague All Flash Storage Arrays
Addressing Fatal Flash Flaws That Plague All Flash Storage Arrays By Scott D. Lowe, vexpert Co-Founder, ActualTech Media February, 2015 Table of Contents Introduction: How Flash Storage Works 3 Flash Storage
SH-Sim: A Flexible Simulation Platform for Hybrid Storage Systems
, pp.61-70 http://dx.doi.org/10.14257/ijgdc.2014.7.3.07 SH-Sim: A Flexible Simulation Platform for Hybrid Storage Systems Puyuan Yang 1, Peiquan Jin 1,2 and Lihua Yue 1,2 1 School of Computer Science and
Unexpected Power Loss Protection
White Paper SanDisk Corporation Corporate Headquarters 951 SanDisk Drive Milpitas, CA 95035, U.S.A. Phone +1.408.801.1000 Fax +1.408.801.8657 www.sandisk.com Table of Contents Executive Summary 3 Overview
21 st Century Storage What s New and What s Changing
21 st Century Storage What s New and What s Changing Randy Kerns Senior Strategist Evaluator Group Overview New technologies in storage - Continued evolution - Each has great economic value - Differing
RNFTL: A Reuse-Aware NAND Flash Translation Layer for Flash Memory
RNFTL: A Reuse-Aware NAND Flash Translation Layer for Flash Memory Yi Wang, DuoLiu, MengWang, ZhiweiQin, Zili Shao and Yong Guan Department of Computing College of Computer and Information Management The
Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology
Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology Nahid Rahman Department of electronics and communication FET-MITS (Deemed university), Lakshmangarh, India B. P. Singh Department
How it can benefit your enterprise. Dejan Kocic Netapp
PRESENTATION Case for flash TITLE GOES storage HERE How it can benefit your enterprise Dejan Kocic Netapp SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless otherwise
Data Center Solutions
Data Center Solutions Systems, software and hardware solutions you can trust With over 25 years of storage innovation, SanDisk is a global flash technology leader. At SanDisk, we re expanding the possibilities
Flash-optimized Data Progression
A Dell white paper Howard Shoobe, Storage Enterprise Technologist John Shirley, Product Management Dan Bock, Product Management Table of contents Executive summary... 3 What is different about Dell Compellent
2LGC: An Atomic-Unit Garbage Collection Scheme with a Two-Level List for NAND Flash Storage
2LGC: An Atomic-Unit Garbage Collection Scheme with a Two-Level List for NAND Flash Storage Sanghyuk Jung and Yong Ho Song Department of Electronics Computer Engineering, Hanyang University, Seoul, Korea
NAND Basics Understanding the Technology Behind Your SSD
03 Basics Understanding the Technology Behind Your SSD Although it may all look the same, all is not created equal: SLC, 2-bit MLC, 3-bit MLC (also called TLC), synchronous, asynchronous, ONFI 1.0, ONFI
Comparison of NAND Flash Technologies Used in Solid- State Storage
An explanation and comparison of SLC and MLC NAND technologies August 2010 Comparison of NAND Flash Technologies Used in Solid- State Storage By Shaluka Perera IBM Systems and Technology Group Bill Bornstein
How To Write On A Flash Memory Flash Memory (Mlc) On A Solid State Drive (Samsung)
Using MLC NAND in Datacenters (a.k.a. Using Client SSD Technology in Datacenters) Tony Roug, Intel Principal Engineer SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA.
Choosing the Right NAND Flash Memory Technology
Choosing the Right NAND Flash Memory Technology A Basic Introduction to NAND Flash Offerings Dean Klein Vice President of System Memory Development Micron Technology, Inc. Executive Summary A 75% increase
Speeding Up Cloud/Server Applications Using Flash Memory
Speeding Up Cloud/Server Applications Using Flash Memory Sudipta Sengupta Microsoft Research, Redmond, WA, USA Contains work that is joint with B. Debnath (Univ. of Minnesota) and J. Li (Microsoft Research,
Impact of Stripe Unit Size on Performance and Endurance of SSD-Based RAID Arrays
1 Impact of Stripe Unit Size on Performance and Endurance of SSD-Based RAID Arrays Farzaneh Rajaei Salmasi Hossein Asadi Majid GhasemiGol [email protected] [email protected] [email protected]
Understanding the Robustness of SSDs under Power Fault
Understanding the Robustness of SSDs under Power Fault Mai Zheng Feng Qin The Ohio State University Joseph Tucek Mark Lillibridge HP Labs Solid-State Drives (SSDs) - a truly revolutionary and disruptive
Reliably Erasing Data From Flash-Based Solid State Drives
Reliably Erasing Data From Flash-Based Solid State Drives Michael Wei, Laura M. Grupp, Frederick E. Spada, Steven Swanson Department of Computer Science and Engineering, University of California, San Diego
Empirical Inspection of IO subsystem for Flash Storage Device at the aspect of discard
, pp.59-63 http://dx.doi.org/10.14257/astl.2016.135.16 Empirical Inspection of IO subsystem for Flash Storage Device at the aspect of discard Seung-Ho Lim and Ki-Jin Kim Division of Computer and Electronic
HybridLog: an Efficient Hybrid-Mapped Flash Translation Layer for Modern NAND Flash Memory
HybridLog: an Efficient Hybrid-Mapped Flash Translation Layer for Modern NAND Flash Memory Mong-Ling Chiao and Da-Wei Chang Abstract A Flash Translation Layer (FTL) emulates a block device interface on
An Overview of Flash Storage for Databases
An Overview of Flash Storage for Databases Vadim Tkachenko Morgan Tocker http://percona.com MySQL CE Apr 2010 -2- Introduction Vadim Tkachenko Percona Inc, CTO and Lead of Development Morgan Tocker Percona
Solid State Technology What s New?
Solid State Technology What s New? Dennis Martin, President, Demartek www.storagedecisions.com Agenda: Solid State Technology What s New? Demartek About Us Solid-state storage overview Types of NAND flash
Buffer-Aware Garbage Collection for NAND Flash Memory-Based Storage Systems
Buffer-Aware Garbage Collection for NAND Flash Memory-Based Storage Systems Sungin Lee, Dongkun Shin and Jihong Kim School of Computer Science and Engineering, Seoul National University, Seoul, Korea {chamdoo,
Solid State Storage in Massive Data Environments Erik Eyberg
Solid State Storage in Massive Data Environments Erik Eyberg Senior Analyst Texas Memory Systems, Inc. Agenda Taxonomy Performance Considerations Reliability Considerations Q&A Solid State Storage Taxonomy
Solid State Drives Data Reliability and Lifetime. Abstract
Solid State Drives Data Reliability and Lifetime White Paper Alan R. Olson & Denis J. Langlois April 7, 2008 Abstract The explosion of flash memory technology has dramatically increased storage capacity
HP Smart Array Controllers and basic RAID performance factors
Technical white paper HP Smart Array Controllers and basic RAID performance factors Technology brief Table of contents Abstract 2 Benefits of drive arrays 2 Factors that affect performance 2 HP Smart Array
Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1
Module 2 Embedded Processors and Memory Version 2 EE IIT, Kharagpur 1 Lesson 5 Memory-I Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would Pre-Requisite
NAND Flash Architecture and Specification Trends
NAND Flash Architecture and Specification Trends Michael Abraham ([email protected]) NAND Solutions Group Architect Micron Technology, Inc. August 2011 1 Topics NAND Flash trends SSD/Enterprise application
SSD Performance Tips: Avoid The Write Cliff
ebook 100% KBs/sec 12% GBs Written SSD Performance Tips: Avoid The Write Cliff An Inexpensive and Highly Effective Method to Keep SSD Performance at 100% Through Content Locality Caching Share this ebook
Scalus Winter School Storage Systems
Scalus Winter School Storage Systems Flash Memory André Brinkmann Flash Memory Floa:ng gate of a flash cell is electrically isolated Applying high voltages between source and drain accelerates electrons
Flash Memory Basics for SSD Users
Flash Memory Basics for SSD Users April 2014, Rainer W. Kaese Toshiba Electronics Europe Storage Products Division SSD vs. HDD Enterprise SSD Can write the full capacity 30x per day over lifetime Client/Laptop
A Data De-duplication Access Framework for Solid State Drives
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 28, 941-954 (2012) A Data De-duplication Access Framework for Solid State Drives Department of Electronic Engineering National Taiwan University of Science
Indexing on Solid State Drives based on Flash Memory
Indexing on Solid State Drives based on Flash Memory Florian Keusch MASTER S THESIS Systems Group Department of Computer Science ETH Zurich http://www.systems.ethz.ch/ September 2008 - March 2009 Supervised
Data Center Storage Solutions
Data Center Storage Solutions Enterprise software, appliance and hardware solutions you can trust When it comes to storage, most enterprises seek the same things: predictable performance, trusted reliability
Samsung 3bit 3D V-NAND technology
White Paper Samsung 3bit 3D V-NAND technology Yield more capacity, performance and power efficiency Stay abreast of increasing data demands with Samsung's innovative vertical architecture Introduction
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
UBIFS file system. Adrian Hunter (Адриан Хантер) Artem Bityutskiy (Битюцкий Артём)
UBIFS file system Adrian Hunter (Адриан Хантер) Artem Bityutskiy (Битюцкий Артём) Plan Introduction (Artem) MTD and UBI (Artem) UBIFS (Adrian) 2 UBIFS scope UBIFS stands for UBI file system (argh...) UBIFS
A File-System-Aware FTL Design for Flash-Memory Storage Systems
A File-System-Aware FTL Design for Flash-Memory Storage Systems Po-Liang Wu Department of Computer Science and Information Engineering National Taiwan University, Taipei 16, Taiwan, R.O.C. Email: [email protected]
On Benchmarking Embedded Linux Flash File Systems
On Benchmarking Embedded Linux Flash File Systems Pierre Olivier Université de Brest, 20 avenue Le Gorgeu, 29285 Brest cedex 3, France [email protected] Jalil Boukhobza Université de Brest, 20
Programming Matters. MLC NAND Reliability and Best Practices for Data Retention. Data I/O Corporation. Anthony Ambrose President & CEO
Programming Matters MLC NAND Reliability and Best Practices for Data Retention Data I/O Corporation Anthony Ambrose President & CEO Flash Memory Summit 2013 Santa Clara, CA 1 Executive Summary As Process
ISSCC 2003 / SESSION 13 / 40Gb/s COMMUNICATION ICS / PAPER 13.7
ISSCC 2003 / SESSION 13 / 40Gb/s COMMUNICATION ICS / PAPER 13.7 13.7 A 40Gb/s Clock and Data Recovery Circuit in 0.18µm CMOS Technology Jri Lee, Behzad Razavi University of California, Los Angeles, CA
With respect to the way of data access we can classify memories as:
Memory Classification With respect to the way of data access we can classify memories as: - random access memories (RAM), - sequentially accessible memory (SAM), - direct access memory (DAM), - contents
Programming NAND devices
Technical Guide Programming NAND devices Kelly Hirsch, Director of Advanced Technology, Data I/O Corporation Recent Design Trends In the past, embedded system designs have used NAND devices for storing
Database!Fatal!Flash!Flaws!No!One! Talks!About!!!
MarcStaimer,President&CDSDragonSlayerConsulting W h i t e P A P E R DatabaseFatalFlashFlawsNoOne TalksAbout AndHowtoAvoidThem WHITEPAPER DatabaseFatalFlashFlawsNoOneTalksAbout AndHowtoAvoidThem DatabaseFatalFlashFlawsNoOneTalksAbout
