CS 295: Modern Systems Storage Technologies Introduction

Slides:



Advertisements
Similar presentations
Tuning the Dennis Shasha and Philippe Bonnet, 2013.
Advertisements

Solid State Drive. Advantages Reliability in portable environments and no noise No moving parts Faster start up Does not need spin up Extremely low.
Flash storage memory and Design Trade offs for SSD performance
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Secondary Storage Unit 013: Systems Architecture Workbook: Secondary Storage 1G.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
Storage Systems: Advanced Topics Learning Objectives: To understand major characteristics of SSD To understand Logical Volume Management – its motivations.
 Memory Memory  Types of Memory Types of Memory  Memory Representation Memory Representation  Random Access Memory Random Access Memory  Read Only.
Lecture 16: Storage and I/O EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014, Dr.
NVMe & Modern PC and CPU Architecture 1. Typical PC Layout (Intel) Northbridge ◦Memory controller hub ◦Obsolete in Sandy Bridge Southbridge ◦I/O controller.
I/O Computer Organization II 1 Introduction I/O devices can be characterized by – Behavior: input, output, storage – Partner: human or machine – Data rate:
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Programming for GCSE Topic 5.1: Memory and Storage T eaching L ondon C omputing William Marsh School of Electronic Engineering and Computer Science Queen.
More on data storage and representation CSC 2001.
This courseware is copyrighted © 2016 gtslearning. No part of this courseware or any training material supplied by gtslearning International Limited to.
Introduction to Programming. Key terms  CPU  I/O Devices  Main memory  Secondary memory  Operating system  User interface  Application  GUI 
CSE 451: Operating Systems Spring 2010 Module 12.5 Secondary Storage John Zahorjan Allen Center 534.
Computer System Structures Storage
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
TYPES OF MEMORY.
STORAGE DEVICES Towards the end of this unit you will be able to identify the type of storage devices and their storage capacity.
Chapter 10: Mass-Storage Systems
CS 704 Advanced Computer Architecture
Operating System (013022) Dr. H. Iwidat
Database Management Systems (CS 564)
CS 554: Advanced Database System Notes 02: Hardware
Chapter 12: Mass-Storage Structure
Introduction to Computer Architecture
Introduction to Computing
STORAGE DEVICES Towards the end of this unit you will be able to identify the type of storage devices and their storage capacity.
The Memory Hierarchy Chapter 5
IT 344: Operating Systems Winter 2008 Module 13 Secondary Storage
CS703 - Advanced Operating Systems
IT 0213: INTRODUCTION TO COMPTER ARCHITECTURE LECTURE 2
Operating Systems ECE344 Lecture 11: SSD Ding Yuan
Unit 2 Computer Systems HND in Computing and Systems Development
File Processing : Storage Media
Lecture 11: DMBS Internals
Introduction I/O devices can be characterized by I/O bus connections
Influence of Cheap and Fast NVRAM on Linux Kernel Architecture
Chapter 12: Mass-Storage Systems
Lecture 9: Data Storage and IO Models
STORAGE DEVICES Towards the end of this unit you will be able to identify the type of storage devices and their storage capacity.
What is the maximum capacity for DDR3 RAM?
Overview of Mass Storage Structure
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
CS 140 Lecture Notes: Technology and Operating Systems
File Processing : Storage Media
CSE 451: Operating Systems Winter 2006 Module 13 Secondary Storage
CS 140 Lecture Notes: Technology and Operating Systems
Introduction to Computer Architecture
CSE 451: Operating Systems Autumn 2003 Lecture 12 Secondary Storage
CSE 451: Operating Systems Winter 2007 Module 13 Secondary Storage
CSE 451: Operating Systems Spring 2006 Module 13 Secondary Storage
GCSE OCR 4 Storage Computer Science J276 Unit 1
Storage Systems Sudhanva Gurumurthi.
Persistence: hard disk drive
CSE 451: Operating Systems Secondary Storage
CSE 451: Operating Systems Winter 2003 Lecture 12 Secondary Storage
What is the maximum capacity for DDR3/DDR4 RAM?
CSE 451: Operating Systems Spring 2005 Module 13 Secondary Storage
CSE 451: Operating Systems Autumn 2004 Secondary Storage
CSE 451: Operating Systems Winter 2004 Module 13 Secondary Storage
Lecture 5 Memory and storage
Chapter 11: Mass-Storage Systems
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Introduction to Operating Systems
Presentation transcript:

CS 295: Modern Systems Storage Technologies Introduction Sang-Woo Jun Spring, 2019

Storage Used To be a Secondary Concern Typically, storage was not a first order citizen of a computer system As allured by its name “secondary storage” Its job was to load programs and data to memory, and disappear Most applications only worked with CPU and system memory (DRAM) Extreme applications like DBMSs were the exception Because conventional secondary storage was very slow Things are changing!

Some (Pre)History Rope memory (ROM) 1960’s 72 KiB per cubic foot! Hand-woven to program the Apollo guidance computer Magnetic core memory 1950~1970s (1024 bits in photo) Drum memory 100s of KiB 1950’s Photos from Wikipedia

Some (More Recent) History Floppy disk drives 1970’s~2000’s 100 KiBs to 1.44 MiB Hard disk drives 1950’s to present MBs to TBs Photos from Wikipedia

Some (Current) History Solid State Drives 2000’s to present GB to TBs Non-Volatile Memory 2010’s to present GBs

Hard Disk Drives Dominant storage medium for the longest time Still the largest capacity share Data organized into multiple magnetic platters Mechanical head needs to move to where data is, to read it Good sequential access, terrible random access 100s of MB/s sequential, maybe 1 MB/s 4 KB random Time for the head to move to the right location (“seek time”) may be ms long 1000,000s of cycles! Typically “ATA” (Including IDE and EIDE), and later “SATA” interfaces Connected via “South bridge” chipset

Ding Yuan, “Operating Systems ECE344 Lecture 11: File System”

Solid State Drives “Solid state”, meaning no mechanical parts, addressed much like DRAM Relatively low latency compared to HDDs (10s of us, compared to ms) Easily parallelizable using more chips – Multi-GB/s Simple explanation: flash cells store state in a “floating gate” by charging it at a high voltage High voltage acquired via internal charge pump (no need for high V input)

Solid State Drives Serial ATA (SATA) interface, over Advanced Host Controller Interface (AHCI) standard Used to be connected to south bridge, Up to 600 MB/s, quickly became too slow for SSDs Non-Volatile Memory Express (NVMe) PCIe-attached storage devices – multi-GB/s Redesigns many storage support components in the OS for performance

Non-Volatile Memory Naming convention is a bit vague Flash storage is also often called NVM Storage-Class Memory (SCM)? Anything that is non-volatile and fast? Too fast for even PCIe/NVMe software Plugged into memory slots, accessed like memory But not quite as fast as DRAM Latency/Bandwidth/Access granularity Usage under active research! Souce: NetApp blog, “Storage Class Memory: What’s Next in Enterprise Storage,” 2018

System Architecture Snapshot (2019) SATA Up to 600 MB/s GPU South Bridge SSD NVMe CPU I/O Hub (IOH) DDR4 2666 MHz 128 GB/s 100s of GB Network Interface … QPI/UPI 12.8 GB/s (QPI) 20.8 GB/s (UPI) PCIe 16-lane PCIe Gen3: 16 GB/s … Host Memory (DDR4,…) Storage-Class Memory Lots of moving parts!

Storage for Analytics (2019) Fine-grained, TB of DRAM DRAM Irregular access Terabytes in size $$$ $8000/TB, 200W The goal: $ $400/TB, 10W $ $150/TB, 2W

Performance Challenges in Flash Storage 1 DRAM Bandwidth: 0.6-10 GB/s ~50 GB/s Not bad! Considering local DRAM and RAID

Performance Challenges in Flash Storage 2 DRAM Bandwidth: 0.6-10 GB/s ~50 GB/s 😃 ? Latency: ~100 µs ~15 ns Most latency from device itself Xu et. al., “Performance Analysis of NVMe SSDs and their Implication on Real World Databases” SYSTOR 2015

Performance Challenges in Flash Storage 2 DRAM Bandwidth: 0.6-10 GB/s ~50 GB/s ! Latency: ~100 µs ~15 ns Becomes the norm after a while Xu et. al., “Performance Analysis of NVMe SSDs and their Implication on Real World Databases” SYSTOR 2015

Flash Fabric Characteristic Read/Write Imbalance Limited Cell Lifetime “page” (~8 KB) “block” (~2 MB) Blocks can die after ~3000 erases In-place writes are bad! In-place writes are bad! Only “erased” pages can be written Erasures done in “block” granularity

Flash Translation Layer Logical-to-Physical mapping Wear leveling Write-ahead logging Error correction Garbage collection Deduplication … Bus, Chip, Block, Page… … Flash Translation Layer DRAM Host Logical Block Address Quad-core ARM chip, GBs of DRAM

Performance Challenges in Flash Storage 3 DRAM Bandwidth: 0.6-10 GB/s ~50 GB/s Latency: ~100 µs ~15 ns Access Granularity: 8192 Bytes 128 Bytes * Wastes performance by not using most of fetched page

Things to Come