Write Amplification Analysis in Flash-Based Solid State Drives

Total Page:16

File Type:pdf, Size:1020Kb

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. Finally, we analytically evaluate whereas reads and writes are processed in terms of pages. the benefits of separating static and dynamic data in reduc- Before data can be written to a page (i.e., the page is pro- ing write amplification, and how to address endurance with grammed with that data), the page must have been erased. proper wear leveling. Moreover, NAND-flash memories have a limited program- erase cycle count. Typically, flash chips based on single-level cells (SLC) sustain 105 and those based on multi-level cells Categories and Subject Descriptors (MLC) 104 program-erase cycles. B.3.3 [Memory Structures]: Performance Analysis and Flash memory uses relocate-on-write – also called out-of- Design Aids—formal models, simulation; C.3 [Special-pur- place write – mainly for performance reasons: If write-in- pose and application-based systems]: Real-time and place is used instead, flash will exhibit high latency due to embedded systems; D.4.2 [Storage Management]: Gar- the necessary reading, erasing, and reprogramming (writing) bage collection of the entire block in which data is being updated. However, relocate-on-write necessitates a garbage-collec- General Terms tion process, which results in additional read and write oper- ations. Whereas the reclaiming policy that selects the blocks Design, Performance, Algorithms to garbage-collect in Sprite LFS [13] was based only on the amount of free space to be gained, the policy defined in [10] Keywords also included the time elapsed since the last writing of the Solid State Drives, Solid State Storage Systems, Write Am- block with data. In general, the objective is to keep at a plification, Flash Memory minimum the number of valid pages in the blocks selected for garbage collection. The efficiency of garbage collection could, for instance, be improved by delaying those blocks 1. INTRODUCTION holding data being actively invalidated. The number of read The advent of solid-state drives (SSD) based on NAND- and write operations resulting from garbage collection de- flash memories is currently revolutionizing the primary stor- pends on the number of valid pages in the block. In contrast to disks, flash memory blocks eventually wear out with progressing number of program-erase cycles until they can no longer be written. Wear-leveling techniques are Permission to make digital or hard copies of all or part of this work for therefore used to exhaust the program-erase cycles available personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies (i.e., the cycle budget) of as many blocks as possible, in bear this notice and the full citation on the first page. To copy otherwise, to order to serve the largest number of user writes (or host republish, to post on servers or to redistribute to lists, requires prior specific writes), thereby maximizing endurance. Their performance permission and/or a fee. is measured by the total unconsumed cycle budget left when SYSTOR ’09 Haifa, Israel garbage collection can no longer return a free block. Note Copyright 2009 ACM X-XXXXX-XX-X/XX/XX ...$5.00. that retention is another issue that can be addressed by wear garbage collection. Kawaguchi et al. [7] showed that in leveling as well. a flash-based log-structured file system garbage collection Assuming independent and uniformly distributed random has a significant impact on performance when utilization short writes, the optimal wear-leveling technique consists is high. A common strategy for garbage collection is the of wearing out all blocks over time as uniformly as pos- greedy reclaiming policy [3], in which the block that has the sible. This can be achieved, for instance, by minimizing largest number of invalid pages will be recycled. However, the delta between maximum wear and average wear over all as garbage collection also contributes to using up the cycle blocks, with this delta corresponding to the wear-leveling budget of blocks, it is usually beneficial to combine it with inefficiency as described in [6]. wear leveling. In reality, host writes are not uniformly distributed. If a Various such combined algorithms have been proposed. distinction can be made between blocks with static data (i.e., The one described by Chang et al. [3] avoid unnecessary addresses to which the host only infrequently rewrites data) reclamations in garbage collection and combines this with and blocks with dynamic data (with frequent rewrites), wear wear leveling in the form of a periodical task that performs leveling can benefit from treating these two types of blocks a linear search for blocks with a small erase count to iden- differently instead of wearing them out uniformly. Hence, tify blocks to be recycled. Agrawal et al. [1] describe an- in this case, wear-leveling performance not only depends on other combined algorithm called modified greedy garbage- the unconsumed cycle budget, but also on the number of collection strategy. The algorithm generally selects the block cycles wasted by repeatedly moving unmodified static data. with the most invalid pages for garbage collection, while In all cases, wear leveling causes additional read and write avoiding a large spread in the remaining cycle budget among operations. Therefore, in flash, write amplification corre- all blocks and limiting the frequent movement of static data. sponds to the additional writes caused by garbage collec- Such a strategy is referred to as static wear-leveling in [14, tion and by wear leveling. Hence, the total number of user 4] and exhibits a four fold improvement in endurance over writes that can be served depends on the total cycle budget a strategy that does not relocate static data (assuming 75% available, write amplification, and the eventual unconsumed of dynamic and 25% of static data). Ben-Aroya et al. [2] cycle budget due to wear-leveling inadequacy. performed a worst-case competitive analysis with focus on Finally, the management of out-of-place updates involves endurance-based randomized algorithms. To achieve nearly a mapping between logical block1 addresses (LBA), i.e., the ideal endurance, they suggest separating garbage collection user (or host) address space, and physical block addresses from wear-leveling. (PBA). This mapping may be used to distinguish dynamic Initially, write amplification has been studied by Rosen- from static data. blum et al. [13] for log-structured file systems as a func- In the remainder of this paper, we present a probabilistic tion of disk utilization. Whereas the Sprite LSF analysis analysis of write amplification in log-structured flash-based distinguishes between hot and cold data (including reads SSDs. The analysis assumes a windowed greedy reclaiming and writes), we instead distinguish between static and dy- policy, which is a variation of the age-threshold-based policy namic data as only writes contribute to write amplification. described in [10]. Write amplification is derived assuming Furthermore, the Sprite LSF write-cost comparison includes 4 KiB independently and uniformly distributed user write time for seeks, rotational latency, and cleaning costs. There- requests. The analytical results are confirmed by simulation fore, our results can only be qualitatively compared to those results. Analytical results are then extended to the case in from Sprite LSF. which static and dynamic data can be distinguished. Although some of the flash memory papers briefly men- This paper is organized as follows. Section 2 reviews the tion performance impacts from garbage collection and wear relevant work in garbage collection and flash wear leveling. leveling, we did not find a detailed analysis of write ampli- In Section 3, we introduce an analytical model based on a fication in flash-based storage systems and how it relates to probabilistic approach and then continue with a description parameters, such as the spare factor, in the literature. of our flash storage simulator in Section 4. Based on these two sections, we present essential analytical and simulation- based numerical results that allow us to quantify write am- 3. WRITE AMPLIFICATION ANALYSIS plification in Section 5 before we extend our analytical model In this section, we first introduce a generic architecture to the more realistic scenario with static and dynamic data for a log-structured SSD with a windowed greedy reclaiming (Section 6).
Recommended publications
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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 .
    [Show full text]
  • 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 .
    [Show full text]
  • Determining Solid-State Drive (SSD) Lifetimes for SEL Rugged Computers
    Application Note AN2016-03 Determining Solid-State Drive (SSD) Lifetimes for SEL Rugged Computers Jerry Bennett and Ian Olson INTRODUCTION There are three types of solid-state drives (SSDs) offered for SEL’s computer family. The type of SSD you choose depends on your application. This application note briefly explains the types of SSDs offered by SEL and assists you in determining the best type of SSD to use for your application. PROBLEM It can be difficult to determine the correct SSD for your application. When evaluating which type of SSD best meets your application needs, consider the following key operational variables: environment, capacity, and endurance. Environmental factors include the temperature of the operating environment and the moisture or chemicals in the air that may cause the internal components of the SSDs to require conformal coating in order to be protected. Capacity is the amount of data storage space needed to store the operating system, application software, and data or log files (consider both current needs and future room for expansion). Endurance is a measure of how many times the drive can be overwritten before it wears out. For more information on SSD flash endurance, refer to the “NAND Flash Memory Reliability in Embedded Computer Systems” white paper available on the SEL website (https://www.selinc.com). The three types of SSDs that SEL offers use either single-level cell (SLC), industrial multilevel cell (iMLC), or consumer multilevel cell (MLC) flash memory. Use Figure 1 as a starting point to determine which type of SSD fits your application. For example, applications requiring high capacity and high endurance in an industrial environment should use SLC or iMLC SSD types.
    [Show full text]
  • KIOXIA Software-Enabled Flash™ Technology: How Can Hyperscale Environments Best Enable QLC Flash Memory?
    Technical Brief KIOXIA Software-Enabled Flash™ Technology: How Can Hyperscale Environments Best Enable QLC Flash Memory? Hyperscale data centers are deploying massive amounts of flash memory to power their real-time applications and services. Forward Insights market research predicts that hyperscale data centers will deploy over 196 exabytes of flash memory by 20241. This incredible growth is fueled by the latest flash technologies, of which quad-level cell (QLC) flash memory is at the forefront. While it delivers unique benefits and business advantages in hyperscale environments, obtaining the most from QLC flash memory can require a different approach than from prior flash memory generations. Software-Enabled Flash™ technology developed by KIOXIA simplifies the transition to QLC flash memory while enabling hyperscale environments to maximize its capabilities and value. Optimizing QLC Flash Memory Hyperscale developers optimize their data centers to improve application performance - from the highest level algorithm to the lowest-level mechanical server rack design. QLC flash memory can assist in this optimization as it delivers a 33% increase in bit density over triple-level cell (TLC) flash memory (Figure 1), providing a great value proposition for hyperscale data centers. Figure 1: QLC flash memory delivers a 33% increase in bit density over TLC Solid state drives (SSDs) based on QLC flash memory are designed to address the needs of a wide variety of applications, but hyperscale developers need more control to achieve optimal results for different application classes. This includes tight latency control in interactive server clusters to help meet critical service-level agreements (SLAs). It also includes fine-grained control of data placement in streaming clusters with heavy write workloads to help maximize flash memory lifecycles.
    [Show full text]
  • Using SMART Attributes to Estimate Drive Lifetime
    White Paper: USING SMART AttrIButES TO ESTImatE DRIVE LIFETIME Increase ROI by Measuring the SSD Lifespan in Your Workload USING SMART AttrIButES TO ESTImatE DRIVE ENduraNCE The lifespan of storage has always been finite. Hard disk drives (HDDs) contain rotating platters, which subject them to mechanical wear out. While SSDs don’t contain any moving parts since NAND is a semiconductor that operates through movement of electrons, the architecture of NAND sets a limit on write endurance. NAND works by storing electrons in a floating gate (conductor) or charge trap (insulator). The stored electrons then create a charge, and the amount of charge determines the bit value of a cell. In order to program or erase a cell, a strong electric field is created by applying a high voltage on the control gate, which then forces the electrons to flow from the channel to the floating gate or charge trap through an insulating tunnel oxide. The electric field induces stress on the tunnel oxide and as the cell is programmed and erased, the tunnel oxide wears out overtime, reducing the reliability of the cell by reducing its ability to withhold the charge. However, there is one big difference between SSD and HDD endurance. The write endurance, and thus lifetime of an SSD, can be accurately estimated, whereas mechanical wear out in HDDs is practically impossible to predict reliably. The estimation can be done using SMART (Self-Monitoring, Analysis and Reporting Technology) attributes, which provide various indicators of drive health and reliability. This whitepaper explains how SMART attributes and Samsung Magician DC’s built-in lifetime analyzer feature can be used to estimate drive’s expected lifetime in a specific workload.
    [Show full text]
  • Press Release
    PRESS RELEASE Hyperstone GmbH Line-Eid-Strasse 3, 78467 Konstanz, Germany Web: www.hyperstone.com, Email: [email protected] New Flash Management drastically reduces NAND Flash wear-out Konstanz, Germany, February 11th, 2015 – Released today, Hyperstone’s new hyMap® technology significantly improves endurance and random write performance for flash memory systems, thus for the first time enabling MLC for reliable industrial embedded storage systems. hyMap® reduces Write Amplification (WAF) by a factor of more than 100 in fragmented usage pattern and for small file random writes. Thereby, the reduction in effectively used write-erase-cycles results in higher performance, longer life and shorter random access response times. As a result, in many applications hyMap® together with Hyperstone controllers and MLC flash enables higher reliability and data retention than other controllers using SLC. hyMap® does not require any external DRAM or SRAM. Together with Hyperstone’s proprietary hyReliability™ feature set, hyMap® provides enhanced endurance, data retention management, as well as rigorous fail-safe features mandatory for industrial applications. Advantages: Extended device life-time/endurance for embedded systems Significantly decreased Write Amplification Factor (WAF) resulting in dramatically reduced flash wear-out High-speed performance for small data by minimizing data transfer time Fastest response time and reduced write latency Enabling MLC flashes for industrial storage applications MLC-aware Power Fail Management (PFM) Reliable-Write for MLC Flashes Optimized Data Reliability and Power Fail Safety Extended Wear Levelling concept for optimal flash usage Dynamic Data Refresh to maximize data retention and refresh data subject to read disturbance Intelligent Garbage Collection “Our hyMap® FTL architecture reliably enables lower-cost MLC for embedded Flash systems, achieving better reliability and endurance than other controllers.
    [Show full text]
  • Extending the Lifetime of Flash-Based Storage Through Reducing Write Amplification from File Systems
    Extending the Lifetime of Flash-based Storage through Reducing Write Amplification from File Systems Youyou Lu Jiwu Shu∗ Weimin Zheng Department of Computer Science and Technology, Tsinghua University Tsinghua National Laboratory for Information Science and Technology ∗Corresponding author: [email protected] [email protected], [email protected] Abstract storage systems. However, the increased density of flash memory requires finer voltage steps inside each cell, Flash memory has gained in popularity as storage which is less tolerant to leakage and noise interference. devices for both enterprise and embedded systems As a result, the reliability and lifetime of flash memory because of its high performance, low energy and reduced have declined dramatically, producing the endurance cost. The endurance problem of flash memory, however, problem [18, 12, 17]. is still a challenge and is getting worse as storage Wear leveling and data reduction are two common density increases with the adoption of multi-level cells methods to extend the lifetime of the flash storage. With (MLC). Prior work has addressed wear leveling and wear leveling, program/erase (P/E) operations tend to be data reduction, but there is significantly less work on distributed across the flash blocks to make them wear out using the file system to improve flash lifetimes. Some evenly [11, 14]. Data reduction is used in both the flash common mechanisms in traditional file systems, such as translation layers (FTLs) and the file systems. The FTLs journaling, metadata synchronization, and page-aligned introduce deduplication and compression techniques to update, can induce extra write operations and aggravate avoid updates of redundant data [15, 33, 34].
    [Show full text]
  • Algorithms Designs and Implementations for Page Allocation in SSD Firmware and SSD Caching in Storage Systems
    Algorithms Designs and Implementations for Page Allocation in SSD Firmware and SSD Caching in Storage Systems Thesis Presented in Partial Fulfillment of the Requirements for the Degre Master of Science in the Graduate School of The Ohio State University By Shuang Liang, B.E., M.E. Graduate Program in Computer Science and Engineering The Ohio State University 2010 Thesis Committee: Xiaodong Zhang, Adviser Feng Qin c Copyright by Shuang Liang 2010 ABSTRACT The emerging flash memory based SSD technology poses a new challenge for us to effectively use it in storage systems. Despite of its many advantages that promise a performance breakthrough for the next generation storage systems, the technical limitations of flash memory write operations call for innovative designs that can overcome the long latency of small random write pattern and the limited lifetime of flash memory cells. Previous studies have attempted to address the write performance limitations by trading ca- pacity at the firmware-level such that the write access pattern can be transformed to avoid small random write patterns. Although it may improve the write performance, it does not utilize the data access locality information available at system level to achieve optimal performance. In this thesis, we study techniques to improve the performance via. system-level designs. We consider a major application scenario of flash SSDs – SSD based disk cache. Based on a new disk cache model for SSD based cache, we propose cache management algorithms which utilize the data access local- ity for write access pattern transformation with minimal cost to cache hit ratio. We implemented the proposed algorithm in an SSD based second-level disk cache system.
    [Show full text]