Reducing Write Amplification of Flash Storage Through Cooperative Data Management with NVM Eunji Lee Julie Kim Hyokyung Bahn* Sam H

Total Page:16

File Type:pdf, Size:1020Kb

Load more

Reducing Write Amplification of Flash Storage through Cooperative Data Management with NVM Eunji Lee Julie Kim Hyokyung Bahn* Sam H. Noh Chungbuk Nat’l University Ewha University Ewha University UNIST Cheongju, Korea Seoul, Korea Seoul, Korea Ulsan, Korea [email protected] [email protected] [email protected] [email protected] Abstract—Write amplification is a critical factor that limits the wear-out of flash storage. This is an important contribution the stable performance of flash-based storage systems. To reduce when one considers the fact that NVM density, cost, and write amplification, this paper presents a new technique that performance is constantly improving, while the endurance of cooperatively manages data in flash storage and nonvolatile flash keeps deteriorating [16-19]. memory (NVM). Our scheme basically considers NVM as the cache of flash storage, but allows the original data in flash The basic workings of our scheme can be summarized in storage to be invalidated if there is a cached copy in NVM, which the following two situations. First, when cached data becomes can temporarily serve as the original data. This scheme dirty, our scheme immediately notifies this state change to the eliminates the copy-out operation for a substantial number of storage, allowing early invalidation of storage data. Second, cached data, thereby enhancing garbage collection efficiency. Experimental results show that the proposed scheme reduces the when garbage collection is activated, our scheme erases victim copy-out overhead of garbage collection by 51.4% and decreases blocks without copying out their valid data if the data, the standard deviation of response time by 35.4% on average. possibly being clean, resides in NVM. To support this mechanism, we define a new flash page state that we call Keywords-Flash Memory; Write Amplification; Non-volatile “removable” and discuss how this state can be utilized when Memory managing data in flash storage and the NVM cache. I. INTRODUCTION The proposed scheme is implemented on SSDsim, which is Developments in nonvolatile memory (NVM) technologies an extended version of DiskSim for SSDs [20]. Experimental such as PCM (phase-change memory), STT-MRAM (spin results with various storage workloads show that the proposed torque transfer magnetic RAM) and 3D XPoint are advancing scheme reduces the copy-out overhead of garbage collection rapidly [1-5]. While deploying emerging nonvolatile by 51.4% on average. This also leads to an average of 15% memories requires making changes in the storage management reduction in response time. Such reduction in write mechanisms devised for conventional volatile memory based amplification also results in a 35.4 % reduction in standard architectures [6], it also opens opportunities to improve on deviation of the response time. limitations that also exist. In this paper, we consider the use of NVM as a cache for flash based storage devices and propose II. ANALYZING WRITE AMPLIFICATION FACTOR the Cooperative Data Management (CDM) scheme that The write amplification factor is defined as the amount of cooperatively manages data in flash and the NVM cache in data actually written to flash storage over the amount of data order to reduce the write amplification of flash memory. writes that was requested. We investigate the write Flash memory is widely used as storage in high-end amplification factor of SSD by making use of SSDsim, which systems as well as small embedded devices. Flash memory is is a high-fidelity event-driven SSD simulator, as commercial an erase-before-write medium and the erasure unit (called SSD devices do not provide internal information to the end block) is much larger than the write unit (called page) [7]. users. (Detailed configurations of the experiment will be Thus, an entire block needs to be erased even if a small described later in Section 4.) We observe the write portion of the block is updated. To alleviate this inefficiency, amplification factor with respect to the workload writes in flash memory are performed out-of-place, and space characteristics by using two synthetic workloads (Random and containing obsolete data is periodically recycled. This Sequential) and two real workloads (JEDEC and OLTP). For procedure, which is called garbage collection, selects blocks to be recycled, copies out valid pages in the blocks, if any, and the synthetic workloads, we generate 5 million write then erases the blocks. Garbage collection incurs additional operations in random and sequential patterns, respectively, by writes to flash, that is, writes are amplified. This write making use of the internal workload generator in SSDsim [20]. amplification is a critical factor that limits the stable Each operation is in 8 sector (4KB) units and the total performance of flash storage [8-15]. footprint is 20GB. Table 1 summarizes the characteristics of The key idea of the CDM scheme comes from the the real workloads used in our experiments. JEDEC (JEDEC observation that we can recycle victim blocks in flash without 219A) is a workload that is used for SSD endurance copying out their valid data if the data resides in nonvolatile verification [21]. OLTP trace that is attained at financial cache, which provides durability, instead of flash storage. This institutions generates I/O accesses for financial transactions scheme exploits the non-volatility of scalable cache to relieve [22]. Table 1: Summary of workload characteristics. 7.0 7.0 JEDEC OLTP 6.0 6.0 5.0 5.0 # of ops. 5,000,000 9,034,179 4.0 4.0 write 89%, trim 6%, read 52% Ratio of ops. 3.0 3.0 flush 5% write 48% 2.0 2.0 Write Amplification Factor Footprint 31.2GB 30.7GB Write Amplification Factor 1.0 1.0 0.0 0.0 Before measurements begin we warm up the simulator by 4GB 8GB 16GB 32GB 64GB 4GB 8GB 16GB 32GB 64GB SSD Capacity SSD Capacity writing data sequentially until the number of free blocks reduces to less than 5% of the total flash blocks. The results (a) Random (b) Sequential reported are those of repeatedly running the workload 10 times 7.0 7.0 for each workload. As shown in Figure 1, the average write 6.0 6.0 amplification factors of random and sequential are 2.84 and 5.0 5.0 1.00, respectively. In random workloads, as flash pages are 4.0 4.0 updated at random, the victim block selected during garbage 3.0 3.0 collection is likely to have many valid pages. This leads to 2.0 2.0 Write Amplification Factor increased write amplification. In contrast, as pages within a 1.0 Write Amplification Factor 1.0 0.0 0.0 block are invalidated together in sequential workloads, there is 4GB 8GB 16GB 32GB 64GB 4GB 8GB 16GB 32GB 64GB no write amplification. SSD Capacity SSD Capacity (c) JEDEC (d) OLTP However, most workloads in real systems are a certain mixture of sequential and random workloads. To mimic such Figure 1: Write amplification factor for various workloads. real situations, we generate mixed workloads and investigate the write amplification factor as the ratio of sequential and random accesses is varied. All other configurations other than 1.40 the ratio of random to sequential requests are the same as that 1.35 of Figure 1. Figure 2 shows the write amplification factor of a 1.30 32GB SSD as the ratio of sequential and random accesses is 1.25 varied. As shown in the figure, the write amplification factor 1.20 of mixed workloads is almost identical to that of a pure 1.15 1.10 random workload and does not decrease even when most 1.05 accesses are sequential. That is, only a small fraction of factor amplification Write 1.00 10:0m 9:1:1 8:2:2 7:3:3 6:4:4 5:5:5 4:6:6 3:7 :7 2:8 :8 1:9 :9 0:10 random accesses is necessary to intensify the write ial t 9 8 7 6 5 4 3 2 1 o Access ratio (random:sequential) amplification factor, which implies that the write amplification of real workloads would be similar to that of random accesses. Figure 2: Write amplification factor as access ratio is varied. This is also consistent with the write amplification factor measured from real I/O workloads as shown in Figures 1(c) preserved even though there is another copy in the cache. and 1(d), which are very similar to that of Random in Figure However, when the cache becomes nonvolatile and data is 1(a). When storage capacity is small compared to the data to cached, we now have two persistent copies in the system; one be stored, the write amplification factor becomes very high, in flash, which we refer to as the storage (or flash) copy and going up to as much as 6.0 in our experiments. Such write the other in NVM cache, which we refer to as the cached copy. amplification degrades the performance of flash storage and One of these copies can (and should) be eliminated as keeping also reduces the lifetime of flash storage. both is redundant and thus, may be costly. Whether to discard To solve this problem, we propose a new data management the cache or the flash copy will depend on which benefits the scheme that enables flash memory to minimize valid page system more. For example, if the storage copy is a candidate copy-out by making use of nonvolatile cache. The next section to be moved due to garbage collection, it might be better to describes the design and implementation details of the simply discard it instead as a valid, nonvolatile cached copy Cooperative Data Management (CDM) scheme that we exists.
Recommended publications
  • Technology of Enterprise Solid State Drive

    Technology of Enterprise Solid State Drive

    White Paper | April 2014 Technology of Enterprise Solid State Drive Recently, large capacity and high-performance storages are highly required in the cloud computing and data center due to rapidly increasing amount of information and number of access. When many people heavily access to internet services such as social network service (SNS) or web search engine, they will always expect an instant response from the service. In the corporate on-premise network system and financial trading system, micro seconds range of the response time makes big difference to the business outcome. As an evolution of the enterprise server and storage system, more focus is placed on speed, response time and latency to support large number of SNS user accesses and time-critical business transactions. Then Solid State Drive (SSD) plays an important role for server system to make the transactions faster. Enterprise class SSD is a storage device with NAND flash memories and required the design to store and retrieve data at very high speed under high duty operation conditions with reliable endurance performance. It will be very beneficial for system managers to deploy SSD for boosting up computing process and storage access speed. By positioning between host processor and hard disk drive (HDD) storage pools as a large cache memory, SSD increases the system transaction speed. SSD has also good points, in addition to higher performance, such as smaller footprint and lower power consumption. Toshiba has matured leading edge technologies in the SSD as the first company developing NAND flash memory. Interfaces Host Controller Interface) is popular for client application.
  • MULTI-STREAM SSD TECHNOLOGY 2X READ PERFORMANCE & WRITE ENDURANCE T10 SCSI STANDARD

    MULTI-STREAM SSD TECHNOLOGY 2X READ PERFORMANCE & WRITE ENDURANCE T10 SCSI STANDARD

    MULTI-STREAM SSD TECHNOLOGY 2x READ PERFORMANCE & WRITE ENDURANCE T10 SCSI STANDARD NAND flash solid-state drives (SSDs) are increasingly deployed within enterprise datacenters thanks to their high performance and low power consumption. Decreasing NAND flash cost-per-gigabyte is also accelerating SSD adoption to replace hard disk drives (HDDs) in storage applications. One SSD drawback is that, as a device continually writes data, valid data can be fragmented across the NAND flash medium (See Figure 1). To reclaim free space, garbage collection activity copies user data to new storage blocks and erases invalid data storage blocks, thereby allowing the media to store new write data. However, garbage collection processing decreases both SSD read and write performance. In addition, garbage collection increases write amplification because individual host data write requests can result in multiple internal SSD writes to the NAND medium. Here, valid data is first read from a media block about to be erased, then rewritten to another media storage block, accompanied by the write to store new host data. Consequently, write amplification decreases SSD lifetime because each NAND chip can endure a certain number of writes before it begins to fail. MULTI-STREAM SSD TECHNOLOGY With multi-stream technology, an innovative new technology System Configuration FIO Configuration standardized in T10, implemented in Samsung PM953S NVMe SSD, garbage collection can be eliminated or reduced by storing • Hardware system • I/O workload: associated or similar lifetime data in the same erase block. This Quad Core Intel i7-4790 70% Read/ 30% Write helps avoid NAND erase block fragmentation for data with the CPU 3.60GHz • 4 sequential write jobs same lifetime.
  • Filesystem Considerations for Embedded Devices ELC2015 03/25/15

    Filesystem Considerations for Embedded Devices ELC2015 03/25/15

    Filesystem considerations for embedded devices ELC2015 03/25/15 Tristan Lelong Senior embedded software engineer Filesystem considerations ABSTRACT The goal of this presentation is to answer a question asked by several customers: which filesystem should you use within your embedded design’s eMMC/SDCard? These storage devices use a standard block interface, compatible with traditional filesystems, but constraints are not those of desktop PC environments. EXT2/3/4, BTRFS, F2FS are the first of many solutions which come to mind, but how do they all compare? Typical queries include performance, longevity, tools availability, support, and power loss robustness. This presentation will not dive into implementation details but will instead summarize provided answers with the help of various figures and meaningful test results. 2 TABLE OF CONTENTS 1. Introduction 2. Block devices 3. Available filesystems 4. Performances 5. Tools 6. Reliability 7. Conclusion Filesystem considerations ABOUT THE AUTHOR • Tristan Lelong • Embedded software engineer @ Adeneo Embedded • French, living in the Pacific northwest • Embedded software, free software, and Linux kernel enthusiast. 4 Introduction Filesystem considerations Introduction INTRODUCTION More and more embedded designs rely on smart memory chips rather than bare NAND or NOR. This presentation will start by describing: • Some context to help understand the differences between NAND and MMC • Some typical requirements found in embedded devices designs • Potential filesystems to use on MMC devices 6 Filesystem considerations Introduction INTRODUCTION Focus will then move to block filesystems. How they are supported, what feature do they advertise. To help understand how they compare, we will present some benchmarks and comparisons regarding: • Tools • Reliability • Performances 7 Block devices Filesystem considerations Block devices MMC, EMMC, SD CARD Vocabulary: • MMC: MultiMediaCard is a memory card unveiled in 1997 by SanDisk and Siemens based on NAND flash memory.
  • SATA 6Gb/S 3I+1 SSD Hybrid Pcie Quick Installation Guide

    SATA 6Gb/S 3I+1 SSD Hybrid Pcie Quick Installation Guide

    SATA 6Gb/s 3i+1 SSD Hybrid PCIe Quick Installation Guide Introduction The SATA 6Gb/s 3i+1 SSD Hybrid PCIe is a high performance SATA host adapter which adds three Serial ATA 6Gb/s channels and one SATA SSD socket to your PCIe-equipped computer and helps users to save more space in their computer. Features and Benefits • Compliant with Serial ATA specification, Revision 3.0 • Built-in socket for a 2.5" SATA SSD for space saving and superior drive performance • Hybrid (HyperDuo) enables 80% of SSD performance at one-third the cost • Hardware RAID to offload the host CPU for max performance. Supports RAID 0, 1 & 10 04-0897A 1 • Supports Port Multiplier FIS-based and Native Command Queuing (NCQ) • Supports TRIM to extend the life of SSDs for maximum durability System Requirements • Desktop PC with an available 4-lane (or more) PCIe slot • Windows® 8 (32-/64-bit) / 7 (32-/64-bit) / Vista (32-/64-bit) / XP (32-/64-bit) /Server 2003 & 2008 (32/64-bit) / Server 2008 R2 Package Contents • SATA 6Gb/s 3i+1 SSD Hybrid PCIe • SATA data cables (2) • Screws (4) • Driver CD • Quick installation guide 2 Layout + - HDD LED pins (Front chassis LED) 3 SATA internal connectors Screw holes SSD slot Figure 1: Layout Application Three HDDs or SSDs connected to the internal SATA channels One SSD installed to the SSD slot Figure 2: Application 3 Hardware Installation SSD Installation Install the 2.5" SATA SSD to the SATA 6Gb/s 3i+1 SSD Hybrid PCIe before card installation. 1. Simply insert the SATA SSD to end of the SSD slot.
  • Things You Should Know About Solid State Storage

    Things You Should Know About Solid State Storage

    ThingsPRESENTATION You Should TITLE Know GOES HERE About Solid State Storage Snippets from SNIA Tutorials and other Giblets Marty Czekalski - President SCSI Trade Association, Sr. Staff Program Manager - Seagate Technology SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies and individual members may use this material in presentations and literature under the following conditions: Any slide or slides used must be reproduced in their entirety without modification The SNIA must be acknowledged as the source of any material used in the body of any document containing material from these presentations. This presentation is a project of the SNIA Education Committee. Neither the author nor the presenter is an attorney and nothing in this presentation is intended to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney. The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK. What You Should Know About Solid State Storage © 2013 Storage Networking Industry Association. All Rights Reserved. 2 Abstract What You Should Know About Solid State Storage This session will appeal to Data Center Managers, Development Managers, and those that are seeking an overview of Solid State Storage. It’s comprised of excerpts from SNIA Solid State Tutorials and other sources.
  • How Controllers Maximize SSD Life

    How Controllers Maximize SSD Life

    SSSI TECH NOTES How Controllers Maximize SSD Life January 2013 by SNIA SSSI Member: Jim Handy Objective Analysis “The SSD Guy” www.snia.org1 About the Solid State Storage Initiative The SNIA Solid State Storage Initiative (SSSI) fosters the growth and success of the market for solid state storage in both enterprise and client environ- ments. Members of the SSSI work together to promote the development of technical standards and tools, educate the IT communities about solid state storage, perform market outreach that highlights the virtues of solid state storage, and collaborate with other industry associations on solid state stor- age technical work. SSSI member companies come from a wide variety of segments in the SSD industry www.snia.org/forums/sssi/about/members. How Controllers Maximize SSD Life by SNIA SSSI Member: Jim Handy “The SSD Guy”, Objective Analysis Table of Contents Introduction 2 How Controllers Maximize SSD Life 2 Better Wear Leveling 3 External Data Buffering 6 Improved ECC 7 Other Error Management 9 Reduced Write Amplification 10 Over Provisioning 11 Feedback on Block Wear 13 Internal NAND Management 14 1 Introduction This booklet contains a collection of posts from Jim Handy’s SSD Guy blog www.TheSSDGuy.com which explores the various techniques designers use to increase SSD life. How Controllers Maximize SSD Life How do controllers maximize the life of an SSD? After all, MLC flash has a lifetime of only 10,000 erase/write cycles or fewer and that is a very small number compared to the write traffic an SSD is expected to see in a high- workload environment, especially in the enterprise.
  • Parafs: a Log-Structured File System to Exploit the Internal Parallelism of Flash Devices

    Parafs: a Log-Structured File System to Exploit the Internal Parallelism of Flash Devices

    ParaFS: A Log-Structured File System to Exploit the Internal Parallelism of Flash Devices Jiacheng Zhang, Jiwu Shu, Youyou Lu Tsinghua University 1 Outline • Background and Motivation • ParaFS Design • Evaluation • Conclusion 2 Solid State Drives – Internal Parallelism • Internal Parallelism – Channel Level, Chip Level, Die Level, Plane Level – Chips in one package share the same 8/16-bit-I/O bus, but have separated chip enable (CE) and ready/busy (R/B) control signals. – Each die has one internal R/B signal. – Each plane contains thousands of flash blocks and one data register. ü Internal Parallelism à High Bandwidth. Die Level Plane Level Channel Level Block 0 Block 0 Block 1 Block 1 H/W Interface Flash Flash Chip Chip Block ... Block ... Host FTL Register Register Interconnect Plane 0 Plane 1 Flash Flash Die 0 Die 1 Chip Chip Chip Level Flash File Systems • Log-structured File System – Duplicate Functions: Space Allocation, Garbage Collection. – Semantic Isolation: FTL Abstraction, Block I/O Interface, Log on Log. Log-structured File System Namespace Alloc. GC READ / WRITE / TRIM FTL Mapping Alloc. GC WL ECC Channel 0 Channel 1 Channel N … Flash Flash Flash Flash Memory 4 Observation • F2FS vs. EXt4 (under heavy write traffic) – YCSB: 1000w random Read and Update operations – 16GB flash space + 24GB write traffic 100 EXT4 F2FS 75 7 50 6 5 25 4 (%) Efficiency GC 0 3 1 4 8 16 32 25000 2 20000 1 Blocks Normalized Throughput Normalized 0 15000 1 4 8 16 32 10000 Number of Channels 5000 F2FS has poorer performance than Ext4 Recycled of # 0 on SSDs.
  • Write Amplification Analysis in Flash-Based Solid State Drives

    Write Amplification Analysis in Flash-Based Solid State Drives

    Write Amplification Analysis in Flash-Based Solid State Drives Xiao-Yu Hu, Evangelos Eleftheriou, Robert Haas, Ilias Iliadis, Roman Pletka IBM Research IBM Zurich Research Laboratory CH-8803 Rüschlikon, Switzerland {xhu,ele,rha,ili,rap}@zurich.ibm.com ABSTRACT age computer architecture, ranging from notebooks to en- Write amplification is a critical factor limiting the random terprise storage systems. These devices provide random I/O write performance and write endurance in storage devices performance and access latency that are orders of magnitude based on NAND-flash memories such as solid-state drives better than that of rotating hard-disk drives (HDD). More- (SSD). The impact of garbage collection on write amplifica- over, SSDs significantly reduce power consumption and dra- tion is influenced by the level of over-provisioning and the matically improve robustness and shock resistance thanks to choice of reclaiming policy. In this paper, we present a novel the absence of moving parts. probabilistic model of write amplification for log-structured NAND-flash memories have unique characteristics that flash-based SSDs. Specifically, we quantify the impact of pose challenges to the SSD system design, especially the over-provisioning on write amplification analytically and by aspects of random write performance and write endurance. simulation assuming workloads of uniformly-distributed ran- They are organized in terms of blocks, each block consist- dom short writes. Moreover, we propose modified versions ing of a fixed number of pages, typically 64 pages of 4 KiB of the greedy garbage-collection reclaiming policy and com- each. A block is the elementary unit for erase operations, pare their performance.
  • Why Data Retention Is Becoming More Critical in Automotive

    Why Data Retention Is Becoming More Critical in Automotive

    White Paper Why Data Retention is Becoming More Critical in Automotive Applications Understanding and Improving Managed NAND Flash Memory for Higher Data Retention and Extended Product Life Christine Lee – Kevin Hsu – Scott Harlin KIOXIA America, Inc. Assisted and self-driving vehicles are fully loaded with electronics that support the infrastructure within. They have become mobile data centers that require an immense amount of computing power to capture, process and analyze data ‘near-instantaneously’ from a myriad of sensors, recorders, algorithms and external connections. A massive amount of this data is either stored locally or uploaded to cloud storage to be leveraged and transformed into real-time intelligence and value. Data storage has now become a critical part of automotive design, placing a precedence on high data retention and continual data integrity. The automotive environment creates unique challenges and presents a much different scenario from computing equipment in air-conditioned server rooms under controlled temperatures. Due to the extreme temperatures that can affect the NAND flash storage used within vehicles, there are information technology (IT) considerations that require different design approaches. Understanding how data wears out, how temperature and NAND flash memory characteristics can affect data retention and product life, and what practices can be used to improve them, are the focuses of this paper. ‘Under the Hood’ in Automotive Data Storage Depending on the source, assisted and self-driving vehicles generate terabytes (TB)1 of data daily. One prediction2 forecasts that between 5 TB and 20 TB of data will be consumed per day per vehicle, which is overwhelmingly more data than the average person consumes on a smartphone3.
  • Getting the Most out of SSD: Sometimes, Less Is More

    Getting the Most out of SSD: Sometimes, Less Is More

    Getting the Most Out of SSD: Sometimes, Less is More Bruce Moxon Chief Solutions Architect STEC Flash Memory Summit 2012 Santa Clara, CA 1 Overview • A Quick Solid State Backgrounder • NAND Flash, Log structured file systems, GC, and Overprovisioning – less really is more! • Benchmarking • Operationally representative testing • Applications • Why Flash, why now? Enough • Caching – Less *is* more • Optimizing the Stack and Changing Application Architectures Flash Memory Summit 2012 Santa Clara, CA 2 Solid State Performance Characteristics (General) HDD (SAS) Sequential Random General Performance Characteristics. Read 200 MB/s 200 IOPS YMMV, depending on Write 200 MB/s 200 IOPS . Device architecture . Interface (SATA, SAS, PCIe) 2-8x 100-1000x • 2-4x performance range SSD / PCIe Sequential 4K Random . Transfer sizes Read .5 – 1.5 GB/s 60-200K IOPS . QDs (concurrency) Write .3 – 1 GB/s 15-40K IOPS Cost Differential . $0.50 - $1.50 / GB SAS HDD . $2 - $12 / GB SSD/PCIe Rand Read Write Sweet Spot Response . High Random IOPS (esp. Read) HDD 8 ms 0.5 ms* . Low Latency SSD 60 us 20 us Solid State Storage Fundamentals Everything I Needed to Know I learned at FMS … . Data is read/written in pages (typically 4-8 KB) . Data is *erased* in multi-page blocks (e.g., 128) . Data can only be written (programmed) into a previously erased block (no “overwrite”) . Background garbage collection (GC) copies valid pages to “squeeze out” deleted pages and make room for new data • OS/FS integration (TRIM) . Additional write amplification can occur in support of wear leveling and GC . Flash memory can only be programmed/erased (P/E) a limited number of times (Endurance) • Performance degrades over device lifetime .
  • Improving Endurance with Garbage Collection, TRIM and Wear Leveling

    Improving Endurance with Garbage Collection, TRIM and Wear Leveling

    ® Application Note Solid State Storage and Memory AN07-0819-01 Improving Endurance with Garbage Collection, TRIM and Wear Leveling Introduction Prior to the advent of solid state drives (SSD), hard disk drives (HDD) were the primary storage medium. HDDs use heads and platters to store data and can be written to and erased an almost unlimited number of times, assuming no failure of mechanical or circuit components (one of the main drawbacks of HDDs for industrial applications). SSDs, on the other hand, have no moving parts, thus are much more durable; however, they only support a finite number of program/erase (P/E)1 operations. For single-level cell (SLC) NAND, each cell can be programmed/erased 60,000 to 100,000 times. Wear-leveling and other flash management techniques, while will use some of the cycles, provide protection for the NAND and the data on the SSD. These are part of the Write amplification factor (WAF)3. The final number is typically translated as Terabytes Written (TBW)2. For (industrial-grade) multi-level cell (MLC) and triple-level cell (TLC), each cell can be programmed/erased 3,000 to 10,000 times. These conventional NAND flash types use what is referred to as “floating gate” technology whereby during writing operations, tunnel current passes through the oXide layer of the floating gate in the NAND cell (Figure 1.). Figure 1. NAND Flash Floating Gate This occurrence, known as electron tunneling causes the oxide layer to degrade with each charged/trapped electron; the more the cell is programmed (written to or erased), the faster it degrades, eventually causing the cell block to wear out where it then cannot be programmed any longer and turns into a read-only device.
  • UNIVERSITY of CALIFORNIA, SAN DIEGO Model and Analysis of Trim

    UNIVERSITY of CALIFORNIA, SAN DIEGO Model and Analysis of Trim

    UNIVERSITY OF CALIFORNIA, SAN DIEGO Model and Analysis of Trim Commands in Solid State Drives A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Electrical Engineering (Intelligent Systems, Robotics, and Control) by Tasha Christine Frankie Committee in charge: Ken Kreutz-Delgado, Chair Pamela Cosman Philip Gill Gordon Hughes Gert Lanckriet Jan Talbot 2012 The Dissertation of Tasha Christine Frankie is approved, and it is acceptable in quality and form for publication on microfilm and electronically: Chair University of California, San Diego 2012 iii TABLE OF CONTENTS Signature Page . iii Table of Contents . iv List of Figures . vi List of Tables . x Acknowledgements . xi Vita . xii Abstract of the Dissertation . xiv Chapter 1 Introduction . 1 Chapter 2 NAND Flash SSD Primer . 5 2.1 SSD Layout . 5 2.2 Greedy Garbage Collection . 6 2.3 Write Amplification . 8 2.4 Overprovisioning . 10 2.5 Trim Command . 11 2.6 Uniform Random Workloads . 11 2.7 Object Based Storage . 13 Chapter 3 Trim Model . 15 3.1 Workload as a Markov Birth-Death Chain . 15 3.1.1 Steady State Solution . 17 3.2 Interpretation of Steady State Occupation Probabilities . 18 3.3 Region of Convergence of Taylor Series Expansion . 22 3.4 Higher Order Moments . 23 3.5 Effective Overprovisioning . 24 3.6 Simulation Results . 26 Chapter 4 Application to Write Amplification . 35 4.1 Write Amplification Under the Standard Uniform Random Workload . 35 4.2 Write Amplification Analysis of Trim-Modified Uniform Random Workload . 37 4.3 Alternate Models for Write Amplification Under the Trim-Modified Uniform Random Workload .