1 / 25. CS 137: File Systems. Persistent Solid-State Storage



Similar documents
Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Solid State Technology What s New?

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

With respect to the way of data access we can classify memories as:

COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University. (

COS 318: Operating Systems. Storage Devices. Kai Li and Andy Bavier Computer Science Department Princeton University

Yaffs NAND Flash Failure Mitigation

Memory. The memory types currently in common usage are:

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Computer Architecture

Solid State Drive (SSD) FAQ

Programming NAND devices

Linux flash file systems JFFS2 vs UBIFS

Computer Systems Structure Main Memory Organization

How To Write On A Flash Memory Flash Memory (Mlc) On A Solid State Drive (Samsung)

Flash Memories. João Pela (52270), João Santos (55295) December 22, 2008 IST

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez

SLC vs MLC: Which is best for high-reliability apps?

SLC vs MLC: Proper Flash Selection for SSDs in Industrial, Military and Avionic Applications. A TCS Space & Component Technology White Paper

NAND Basics Understanding the Technology Behind Your SSD

Speeding Up Cloud/Server Applications Using Flash Memory

A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems

Nasir Memon Polytechnic Institute of NYU

Price/performance Modern Memory Hierarchy

Solid State Drive Technology

NAND Flash Architecture and Specification Trends

Memory Basics. SRAM/DRAM Basics

Indexing on Solid State Drives based on Flash Memory

Choosing the Right NAND Flash Memory Technology

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

The Technologies & Architectures. President, Demartek

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Flash Memory. Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日. technische universität dortmund

FLASH TECHNOLOGY DRAM/EPROM. Flash Year Source: Intel/ICE, "Memory 1996"

SLC vs. MLC: An Analysis of Flash Memory

An Overview of Flash Storage for Databases

A New Chapter for System Designs Using NAND Flash Memory

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Flash Memory Jan Genoe KHLim Universitaire Campus, Gebouw B 3590 Diepenbeek Belgium

Chapter 7 Memory and Programmable Logic

Disks and RAID. Profs. Bracy and Van Renesse. based on slides by Prof. Sirer

WP001 - Flash Management A detailed overview of flash management techniques

Implementation and Challenging Issues of Flash-Memory Storage Systems

A Flash Storage Technical. and. Economic Primer. and. By Mark May Storage Consultant, By James Green, vexpert Virtualization Consultant

Flash 101. Violin Memory Switzerland. Violin Memory Inc. Proprietary 1

In-Block Level Redundancy Management for Flash Storage System

MCF54418 NAND Flash Controller

Design of a NAND Flash Memory File System to Improve System Boot Time

Sistemas Operativos: Input/Output Disks

Comparison of NAND Flash Technologies Used in Solid- State Storage

A Direct-Access File System for a New. Generation of Flash Memory

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Understanding Flash SSD Performance

How it can benefit your enterprise. Dejan Kocic Netapp

Lecture 9: Memory and Storage Technologies

NAND Flash & Storage Media

Enterprise Flash Drive

Chapter 10: Mass-Storage Systems

High-Performance SSD-Based RAID Storage. Madhukar Gunjan Chakhaiyar Product Test Architect

Chapter 9 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

The Quest for Speed - Memory. Cache Memory. A Solution: Memory Hierarchy. Memory Hierarchy

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

WEBTECH EDUCATIONAL SERIES

Caching Mechanisms for Mobile and IOT Devices

File System Management

Important Differences Between Consumer and Enterprise Flash Architectures

Trabajo Memorias flash

Data Distribution Algorithms for Reliable. Reliable Parallel Storage on Flash Memories

A N. O N Output/Input-output connection

Temperature Considerations for Industrial Embedded SSDs

Managing the evolution of Flash : beyond memory to storage

The What, Why and How of the Pure Storage Enterprise Flash Array

Solid State Drive Architecture

NAND Flash Architecture and Specification Trends

NAND Flash Memories. Understanding NAND Flash Factory Pre-Programming. Schemes

Flash-optimized Data Progression

enabling Ultra-High Bandwidth Scalable SSDs with HLnand

Memoright SSDs: The End of Hard Drives?

The Bleak Future of NAND Flash Memory

How To Perform Analysis Of An Flash Flash Memory Solidstate Disk

Writing Assignment #2 due Today (5:00pm) - Post on your CSC101 webpage - Ask if you have questions! Lab #2 Today. Quiz #1 Tomorrow (Lectures 1-7)

Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages

Scalus Winter School Storage Systems

Solid State Drives Data Reliability and Lifetime. Abstract

Technologies Supporting Evolution of SSDs

Chapter 9: Peripheral Devices: Magnetic Disks

Computer Architecture

AN1837. Non-Volatile Memory Technology Overview By Stephen Ledford Non-Volatile Memory Technology Center Austin, Texas.

SLC vs MLC NAND and The Impact of Technology Scaling. White paper CTWP010

Semiconductor Memories

Disk Storage & Dependability

p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer

An Exploration of Hybrid Hard Disk Designs Using an Extensible Simulator

Transcription:

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 enough for some purposes $/MB 1000 100 10 1 0.1 0.01 0.001 0.0001 Hard Disk Paper/Film 3.5" Technology Flash Digital- Photography Boom 0.00001 1980 1985 1990 1995 2000 2005 2010 Year 2 / 25

3 / 25 ROM Before Flash ROM (Read-Only Memory) chips were programmed in the factory Array of transistors Trivial to leave out a wire to make one defective Result was array of ones and zeros Most of chip predesigned; only one mask layer changed Still fairly expensive for that mask Ultra-low cost in large volumes

4 / 25 PROM Before Flash PROM (Programmable ROM) is field-programmable Array of fuses (literally!) Blow a fuse to generate a zero Special high-voltage to select fuse Much more expensive per-chip than ROM But low startup cost made cheaper in low volumes One-time use meant lots of chips thrown away

EPROM Before Flash EPROM (Erasable PROM) used floating-gate technology Direct predecessor to flash Electrons in floating gate (see later slide) store data UV light used to drive out electrons and erase 15 minutes to erase Reusability dropped cost All images from Wikipedia 5 / 25

6 / 25 Before Flash EEPROM EEPROM (Electrically Erasable PROM) used thinner oxide layer Introduced ca. 1983 High voltage could erase without UV

7 / 25 The Flash Cell Flash Cells Source line provides voltage, bit line senses Current flows between N regions, through P Voltage on control gate restricts current flow in P Charge on floating gate screens control gate Allows sensing charge

8 / 25 Programming NOR Flash Flash Cells Default state is 1 (current can flow) Apply high voltage to control gate Run current through channel Hot electrons jump through insulation to floating gate

9 / 25 Erasing NOR Flash Flash Cells Apply reverse voltage to control gate Disconnect source Electrons will now tunnel off floating gate

10 / 25 Flash Cells Wear-Out Some electrons get stuck in oxide during programming Add to electric field Eventually becomes impossible to erase effectively

11 / 25 Multilevel Cells (MLC) Flash Cells Classic flash stores charge or not: zero or one Possible to store different charge quantities Sense varying current levels Can translate back into multiple bits Current limit is eight levels, three bits Obvious density improvement Slower to read and write Poorer reliability Chips often combine single-level cells (SLC) for speed with MLC for density.

NOR Flash NOR vs. NAND Flash All bit lines tied together Readout voltage placed on exactly one word line If 0 stored, nobody conducts If 1 stored, bit line is shorted to ground Works like NOR of word lines 12 / 25

13 / 25 NAND Flash NOR vs. NAND Flash Extra-high voltage placed on all but one word line All will conduct Remaining line gets just barely voltage If programmed, will conduct Lower number of bit & ground lines means better density Programming via tunnel injection, erase via tunnel release

14 / 25 NOR vs. NAND Flash Comparison of NOR and NAND NOR flash: Lower density Usually wired for true random read access Wired to allow writing of individual cells Erase in blocks of 64-256 KB NAND flash: Cells take about 60% of NOR space More space saved by block-read wiring Writing ( programming ) is in page-sized chunks of 0.5-4 KB Erase in blocks of 16-512 kb Extra bits to provide ECC and per-page metadata OK to have bad blocks

15 / 25 Structure of a NAND Chip A NAND Flash Chip Samsung K9F8G08U0M (1G 8) Each page is 4K bytes + 128 extra One block is 64 pages Entire device is 8448 Mbits 5-cycle access: CAS1, CAS2, RAS1, RAS2, RAS3 Eight address bits per cycle CAS is 13 bits + 3 for future RAS is 18 + 6 for future RAS loads 4K+128 into Page Register

16 / 25 A NAND Flash Chip Chip Commands Samsung K9F8G08U0M accepts 16-bit commands, such as: Reset Read Block Erase Page Program Read Status Read for Copy Back Copy-Back Program Two-plane commands available for overlapped speedup Random programming prohibited but can go back and change metadata

17 / 25 Chip Timing A NAND Flash Chip For Samsung K9F8G08U0M: Block erase: 2ms (probably not accurate to µs level) Program: 700µs Read page to buffer: 25µs Read bytes: 25ns per byte Bottom line: 25µs + 4096.025 = 25 + 102.4 = 127.4µs to read a page 102.4µs + 700 = 802.4µs to write if already erased Otherwise extra 31.25µs (amortized) to erase

17 / 25 Chip Timing A NAND Flash Chip For Samsung K9F8G08U0M: Block erase: 2ms (probably not accurate to µs level) Program: 700µs Read page to buffer: 25µs Read bytes: 25ns per byte Bottom line: 25µs + 4096.025 = 25 + 102.4 = 127.4µs to read a page 102.4µs + 700 = 802.4µs to write if already erased Otherwise extra 31.25µs (amortized) to erase BUT 2ms latency if nothing currently erased.

18 / 25 A NAND Flash Chip Comparison to Disk Timing For 3-TB Seagate Barracuda XT (3.5-inch): Average latency: 4.16 ms (7200 RPM) Average seek time: 8.5 ms (read), 9.5 ms (write) 12.66 ms to read one random page Sustained transfer rate: 149 MB/s = 27.5µs per 4K bytes Bottom line: 12.66 ms to read one random page (ouch!), but sequential reads are 5X faster than flash chip, and sequential writes are 30X faster

18 / 25 A NAND Flash Chip Comparison to Disk Timing For 3-TB Seagate Barracuda XT (3.5-inch): Average latency: 4.16 ms (7200 RPM) Average seek time: 8.5 ms (read), 9.5 ms (write) 12.66 ms to read one random page Sustained transfer rate: 149 MB/s = 27.5µs per 4K bytes Bottom line: 12.66 ms to read one random page (ouch!), but sequential reads are 5X faster than flash chip, and sequential writes are 30X faster But can wire flash chips in parallel to increase bandwidth

19 / 25 Building a Flash Disk Design Issues Issues in Using Flash for Storage Pre-erasing blocks Wear leveling Clustering blocks for group writing Efficient updates ECC and bad-block mapping

20 / 25 Building a Flash Disk Design Issues Issues in Simulating a Disk Can t tell what blocks are live Expected to allow random updates Some blocks (e.g., FAT, inode table) much hotter than others

21 / 25 Building a Flash Disk Flash Translation Layers General Solution: Flash Translation Layer All flash drives have embedded µprocessor (usually 8051 series) Give block-numbered interface to outside world Hold back some memory (e.g., 5G drive pretends to be 4G) Map externally visible blocks to internal physical ones Use metadata to track what s live, bad, etc.

22 / 25 Problems in FTLs Building a Flash Disk Flash Translation Layers Wear leveling (what if most blocks are read-only?) Solution: must sometimes move RO data File system wants to rewrite randomly Solution: group newly written blocks together regardless of logical address Called Log-Structured File System (LFS) Unused block might or might not be live Solution: only reclaim block when overwritten Solution: know that it s FAT and reverse-engineer data as it s written

23 / 25 A Better Way Building a Flash Disk Flash Translation Layers Pretending to be a disk is just plain dumb When disks came out, we didn t make them look like punched cards Well... mostly If filesystem designed for flash, don t need FTL Problem: need entirely new interface So far, manufacturers reluctant (chicken and egg) Some filesystems designed just for flash: YAFFS, JFFS2, TrueFFS, etc. Can expect further development

24 / 25 The Bad News The Bad News Feature-size limit is around 20 nm We re hitting that just about now! Some density improvement from MLC, maybe 3-D stacking This might kill flash as a disk replacement

25 / 25 The Bad News Other options Flash isn t the only choice: Phase-change memory (PRAM or PCRAM) Magnetic RAM (MRAM)??? New technologies offer Read/write times slightly slower than DRAM No wear-out Longer storage life without refresh Byte addressability What happens when filesystems are just like memory?