COS 518: Advanced Computer Systems Lecture 8 Michael Freedman

Slides:



Advertisements
Similar presentations
Flash storage memory and Design Trade offs for SSD performance
Advertisements

A New Cache Management Approach for Transaction Processing on Flash-based Database Da Zhou
Thank you for your introduction.
Storing Data: Disks and Files: Chapter 9
0 秘 Type of NAND FLASH Discuss the Differences between Flash NAND Technologies: SLC :Single Level Chip MLC: Multi Level Chip TLC: Tri Level Chip Discuss:
Avishai Wool lecture Introduction to Systems Programming Lecture 8.3 Non-volatile Memory Flash.
1 CS143: Disks and Files. 2 System Architecture CPU Main Memory Disk Controller... Disk Word (1B – 64B) ~ x GB/sec Block (512B – 50KB) ~ x MB/sec System.
Embedded Real-Time Systems Design Selecting memory.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
Buying a Laptop. 3 Main Components The 3 main components to consider when buying a laptop or computer are Processor – The Bigger the Ghz the faster the.
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
Storage Systems: Advanced Topics Learning Objectives: To understand major characteristics of SSD To understand Logical Volume Management – its motivations.
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. NON.
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
File Systems in Real-Time Embedded Applications March 7th Eric Julien Choosing the Right Storage Media 1.
Lecture 16: Storage and I/O EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014, Dr.
STORAGE DEVICES Presentation By: Saurabh Mishra. A data storage device is a device for recording (storing) information (data). CD, Hard Disk and Flash.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Disk Basics CS Introduction to Operating Systems.
Lecture 22 SSD. LFS review Good for …? Bad for …? How to write in LFS? How to read in LFS?
Katie Hintze.  A non-volatile storage device that stores digitally encoded data  Introduced in 1956  Long-term persistent storage.
A Presentation on Hard Disks By: Team 4 (HIS44): (1)Samarjyoti Das (972151) (2)Subhadeep Ghosh (986570) (3)Dipanjan Das (986510) (4)Sudhamayee Pradhan.
대용량 플래시 SSD의 시스템 구성, 핵심기술 및 기술동향
XIP – eXecute In Place Jiyong Park. 2 Contents Flash Memory How to Use Flash Memory Flash Translation Layers (Traditional) JFFS JFFS2 eXecute.
1 Paolo Bianco Storage Architect Sun Microsystems An overview on Hybrid Storage Technologies.
Operating Systems, Winter Semester 2011 Practical Session 9, Memory 1.
Computer Storage. What is Primary Storage? ● Primary storage is computer memory that is directly accessible to the CPU of a computer without the use of.
Internal Parallelism of Flash Memory-Based Solid-State Drives
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
CS161 – Design and Architecture of Computer
Storage Devices CS 161: Lecture 11 3/21/17.
Memory Management Virtual Memory.
Understanding Modern Flash Memory Systems
What you should know about Flash Storage
COMP SYSTEM ARCHITECTURE
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
Database Management Systems (CS 564)
Spanner Storage insights
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
CS 105 Tour of the Black Holes of Computing
The Memory Hierarchy Chapter 5
Operating Systems ECE344 Lecture 11: SSD Ding Yuan
File Processing : Storage Media
Lecture 11: DMBS Internals
Information Storage and Spintronics 09
Disk scheduling In multiprogramming systems several different processes may want to use the system's resources simultaneously. The disk drive needs some.
Lecture 9: Data Storage and IO Models
Vulnerabilities in MLC NAND Flash Memory Programming: Experimental Analysis, Exploits, and Mitigation Techniques Yu Cai, Saugata Ghose, Yixin Luo, Ken.
reFresh SSDs: Enabling High Endurance, Low Cost Flash in Datacenters
CS 105 Tour of the Black Holes of Computing
CS 140 Lecture Notes: Technology and Operating Systems
File Processing : Storage Media
What is trying to solve any virtual memory implementation ?
CS 140 Lecture Notes: Technology and Operating Systems
Chap. 12 Memory Organization
Electronics for Physicists
Parallel Garbage Collection in Solid State Drives (SSDs)
Random access memory Sequential circuits all depend upon the presence of memory. A flip-flop can store one bit of information. A register can store a single.
Lecture 5 Memory and storage
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
CS 295: Modern Systems Storage Technologies Introduction
Memory Management & Virtual Memory
Introduction to Operating Systems
Information Storage and Spintronics 08
Dong Hyun Kang, Changwoo Min, Young Ik Eom
Presentation transcript:

COS 518: Advanced Computer Systems Lecture 8 Michael Freedman Flash storage COS 518: Advanced Computer Systems Lecture 8 Michael Freedman

~2016 Seagate ($50) 1TB HDD 7200RPM Operation HDD Performance Model: STD1000DM003-1SB10C Operation HDD Performance Sequential Read 176 MB/s Sequential Write 190 MB/s Random Read 4KiB 0.495 MB/s 121 IOPS Random Write 4KiB 0.919 MB/s 224 IOPS DQ Random Read 4KiB 1.198 MB/s 292 IOPS DQ Random Write 4KiB 0.929 MB/s 227 IOPS http://www.tomshardware.com/answers/id-3201572/good-normal-read-write-speed-hdd.html

~2016 Seagate ($50) Samsung ($330) 1TB HDD 7200RPM Model: STD1000DM003-1SB10C Samsung ($330) 512 GB 960 Pro NVMe PCIe M.2 Model: MZ-V6P512BW Operation HDD Performance SSD Performance Sequential Read 176 MB/s 2268 MB/s Sequential Write 190 MB/s 1696 MB/s Random Read 4KiB 0.495 MB/s 121 IOPS 44.9 MB/s 10,962 IOPS Random Write 4KiB 0.919 MB/s 224 IOPS 151 MB/s 36,865 IOPS DQ Random Read 4KiB 1.198 MB/s 292 IOPS 348 MB/s 84961 IOPS DQ Random Write 4KiB 0.929 MB/s 227 IOPS 399 MB/s 97,412 IOPS http://www.tomshardware.com/answers/id-3201572/good-normal-read-write-speed-hdd.html http://ssd.userbenchmark.com/SpeedTest/182182/Samsung-SSD-960-PRO-512GB

Idea: Traditionally disks laid out with spatial locality due to cost of seeks Observation: main memory getting bigger → most reads from memory Implication: Disk workloads now write-heavy → avoid seeks → write log New problem: Many seeks to read, need to occasionally defragment New tech solution: SSDs → seeks cheap, erase blocks change defrag

Flash: Storing individual bits

Threshold Voltage (Vth) Flash cell Flash cell A flash cell stores different amount of charges in the floating gate to represent different states. A flash cell that stores a single bit has two states, 1 and 0. The different states are represented as an analog threshold voltage of the cell, which is shown on the x-axis. In reality, 1 Normalized Vth

Threshold Voltage (Vth) Distribution Probability Density Function (PDF) In reality, due to program variation, the threshold voltage of each state is actually distributed across a range. We typically represent this range on a graph of probability density function as a hump of threshold voltage distribution. 1 Normalized Vth

Read Reference Voltage (Vref) Probability Density Function (PDF) Vref In reality, due to program variation, the threshold voltage of each state is actually distributed across a range. We typically represent this range on a graph of probability density function as a hump of threshold voltage distribution. 1 Normalized Vth

Multi-Level Cell (MLC) Erased (11) P1 (10) P2 (00) P3 (01) Today’s flash memory typically use multi-level cell that actually store 2 bits instead of 1 bit. To represent two bits, we now need 4 threshold voltage states, the erased, P1, P2, and P3 states. For example, if the cell’s threshold voltage is between P1-P2 Vref and P2-P3 Vref, the cell is in P2 state. In the rest of our talk, we will not show the erased state, because the erased state is less affected by retention loss. Normalized Vth

Flash: Storing many bits

Flash: Bit vs. page-level access NOR flash Cells connected in parallel to bit lines Cells can be read and written to individually NAND flash Cells connected in series, consuming less space Smaller area needed to implement certain capacity Reduce cost per bit, increase max chip capacity Cells can only be written and read at the page level

NAND Flash: Architecture Pages: 8-16 KB, assembled into Blocks: 4-8 MB

NAND Flash: Reading / writing Always read an entire page: Can only read entire aligned page from SSD Always write an entire page: To change single byte, need to write entire page Pages cannot be overwritten Page can be written only if the “free” state. Updating: Read page to internal register, modify, then write to free page Erases are aligned on block size To make a page “free”, need to erase it Erasures can only occur at block boundary

Why Erase then Write? Hardware limitation A freshly erased, blank page of NAND flash has no charged gates; it stores all 1s. 1s can be turned into 0s at the page level, but one- way process. Turning 0s back into 1s is a difficult operation b/c it uses high voltages. Difficult to confine the effect only to desired cells; high voltages can change adjacent cells.

Implication: Buffer small writes To maximize throughput: Keep small writes into a buffer in RAM Perform large batch write when buffer full Suited well for log-structured write (e.g., LSM trees)

SSD architecture

SSD: Solid State Driver Host Interface Logic SSD Controller RAM Buffer Flash Memory Package

SSD: Solid State Driver Host Interface Logic SSD Controller RAM Buffer Flash Memory Package

Last twist Disk lifetime: each page can only be written some fixed number of times: SLC: 100,000 P/E cycles MLC: 3,000 P/E cycles TLC: 100 P/E cycles When blocks get bad, take them out of rotation Need indirection layer to not use bad pages Want to load balance writes over pages! FTL: Flash-Translation Layer for “wear leveling”