Solid State Storage Technologies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Similar documents
Solid State Storage Technologies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

OSSD: A Case for Object-based Solid State Drives

OSSD: Object-based Solid State Drive. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

OSSD: A Case for Object-based Solid State Drives

Serial ATA (SATA) Interface. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

High Performance Solid State Storage Under Linux

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

16:30 18:00, June 20 (Monday), 2011 # (even student IDs) # (odd student IDs) Scope

File System Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

A New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd.

Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NVMFS: A New File System Designed Specifically to Take Advantage of Nonvolatile Memory

The Transition to PCI Express* for Client SSDs

How Next Generation NV Technology Affects Storage Stacks and Architectures

NVMe Direct. Next-Generation Offload Technology. White Paper

D E N A L I S T O R A G E I N T E R F A C E. Laura Caulfield Senior Software Engineer. Arie van der Hoeven Principal Program Manager

NVMe From The Server Perspective

Open-Channel SSDs Offer the Flexibility Required by Hyperscale Infrastructure Matias Bjørling CNEX Labs

Windows Support for PM. Tom Talpey, Microsoft

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010

Understanding Write Behaviors of Storage Backends in Ceph Object Store

FC-NVMe. NVMe over Fabrics. Fibre Channel the most trusted fabric can transport NVMe natively. White Paper

Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories

Open-Channel SSDs Then. Now. And Beyond. Matias Bjørling, March 22, Copyright 2017 CNEX Labs

User Guide. Storage Executive Command Line Interface. Introduction. Storage Executive Command Line Interface User Guide Introduction

2017 Storage Developer Conference. Mellanox Technologies. All Rights Reserved.

SoftFlash: Programmable Storage in Future Data Centers Jae Do Researcher, Microsoft Research

Windows Support for PM. Tom Talpey, Microsoft

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Serial ATA Interface. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

pblk the OCSSD FTL Linux FAST Summit 18 Javier González Copyright 2018 CNEX Labs

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

A Next Generation Home Access Point and Router

SAS Technical Update Connectivity Roadmap and MultiLink SAS Initiative Jay Neer Molex Corporation Marty Czekalski Seagate Technology LLC

Introducing Tegile. Company Overview. Product Overview. Solutions & Use Cases. Partnering with Tegile

Computer Systems Laboratory Sungkyunkwan University

Software-Defined Data Infrastructure Essentials

VSSIM: Virtual Machine based SSD Simulator

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

Hard Disk Drives (HDDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Building a High IOPS Flash Array: A Software-Defined Approach

I N V E N T I V E. SSD Firmware Complexities and Benefits from NVMe. Steven Shrader

OpenVMS Storage Updates

Enabling Cost-effective Data Processing with Smart SSD

Computer Systems Laboratory Sungkyunkwan University

STORAGE LATENCY x. RAMAC 350 (600 ms) NAND SSD (60 us)

VMware Virtual SAN. Technical Walkthrough. Massimiliano Moschini Brand Specialist VCI - vexpert VMware Inc. All rights reserved.

NetVault Backup Client and Server Sizing Guide 3.0

Optimizing Server Designs for Speed

Configuring Short RPO with Actifio StreamSnap and Dedup-Async Replication

Deduplication File System & Course Review

Replacing the FTL with Cooperative Flash Management

NVMe SSD s. NVMe is displacing SATA in applications which require performance. NVMe has excellent programing model for host software

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

Storage: HDD, SSD and RAID

Challenges of High-IOPS Enterprise-level NVMeoF-based All Flash Array From the Viewpoint of Software Vendor

Identifying Performance Bottlenecks with Real- World Applications and Flash-Based Storage

An FPGA-Based Optical IOH Architecture for Embedded System

FStream: Managing Flash Streams in the File System

I/O Devices & SSD. Dongkun Shin, SKKU

Boosting Quasi-Asynchronous I/Os (QASIOs)

NetVault Backup Client and Server Sizing Guide 2.1

I/O & Storage. Jin-Soo Kim ( Computer Systems Laboratory Sungkyunkwan University

An Adaptive Partitioning Scheme for DRAM-based Cache in Solid State Drives

Why NVMe/TCP is the better choice for your Data Center

Why? Storage: HDD, SSD and RAID. Computer architecture. Computer architecture. 10 µs - 10 ms. Johan Montelius

UCS Invicta: A New Generation of Storage Performance. Mazen Abou Najm DC Consulting Systems Engineer

NAS for Server Virtualization Dennis Chapman Senior Technical Director NetApp

Storage: HDD, SSD and RAID

Enabling NVMe I/O Scale

The Non-Volatile Memory Verbs Provider (NVP): Using the OFED Framework to access solid state storage

Flashed-Optimized VPSA. Always Aligned with your Changing World

Rapid Prototyping and Evaluation of Intelligence Functions of Active Storage Devices

Programmable Solutions for Data Center Applications

CompTIA Storage+ Powered by SNIA

File System Consistency. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Chapter 10: Mass-Storage Systems

Falcon: Scaling IO Performance in Multi-SSD Volumes. The George Washington University

App Note. Utilizing Everspin STT-MRAM in Enterprise SSDs to Simplify Power-fail Protection and Increase Density, Performance, and Endurance

Offloaded Data Transfers (ODX) Virtual Fibre Channel for Hyper-V. Application storage support through SMB 3.0. Storage Spaces

Mass-Storage Structure

Performance and Innovation of Storage. Advances through SCSI Express

Data Processing at the Speed of 100 Gbps using Apache Crail. Patrick Stuedi IBM Research

Application Advantages of NVMe over Fabrics RDMA and Fibre Channel

Dummy FTL. Dong-Yun Computer Systems Laboratory Sungkyunkwan University

Linux Kernel Abstractions for Open-Channel SSDs

Application-Managed Flash

Highly Scalable, Non-RDMA NVMe Fabric. Bob Hansen,, VP System Architecture

NVMe SSDs with Persistent Memory Regions

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Low-Overhead Flash Disaggregation via NVMe-over-Fabrics Vijay Balakrishnan Memory Solutions Lab. Samsung Semiconductor, Inc.

Near-Data Processing for Differentiable Machine Learning Models

Unblinding the OS to Optimize User-Perceived Flash SSD Latency

Application Acceleration Beyond Flash Storage

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24

Advanced Computer Networks. End Host Optimization

Tutorial FTL. Jinyong Computer Systems Laboratory Sungkyunkwan University

Transcription:

Solid State Storage Technologies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

NVMe (1) The industry standard interface for high-performance NVM storage NVMe 1.0 specification in 2011 (now 1.3) Supported by major OSes: Windows, Linux, Solaris, PCIe-based Low latency: direct connection to CPU Scalable performance: 1GB/s per lane, up to 32 lanes No HBA required: reduced power & cost Form factors Add-in-Card, M.2, BGA, etc. 2

NVMe (2) Deep queue: 64K commands/queue, up to 64K queues Streamlined command set: only 13 required commands One register write to issue a command ( doorbell ) Support for MSI-X and interrupt aggregation Doorbell 3

HW Kernel NVMe Driver User Queues Default Queues NVMeDirect Library I/O Queues User I/O Handles NVMeDirect Framework Admin Tool NVMeDirect API Handle Handle Block Cache I/O Scheduler I/O Completion Thread NVMe Controller H.-J. Kim, Y.-S. Lee, and J.-S. Kim, NVMeDirect: A User-space I/O Framework for Application-specific Optimization on NVMe SSDs, HotStorage, 2016. 4

All-Flash Array Interfaces 10Gb/40Gb Ethernet (iscsi) or 16Gb Fibre Channel or PCIe SAS or NVMe SSDs Functionalities Volume management Virtualization support RAID Snapshot Deduplication Compression, 5

Traditional Block Interface SATA/SCSI/SAS Read (sector #, length) Write (sector #, length, data) No block-level liveness information No high-level semantics on data Several unwritten contracts do not hold for SSDs Sequential accesses are several tens of times better than random accesses Distant LBNs lead to longer seek times Data written is equal to data issued Host File system Block device driver SSD FTL NAND Flash Block I/F Flash I/F 6

Extending Block I/F TRIM command The data in the specified sectors is no longer needed ATA interface standard (T13 technical committee) Non-queued command SATA 3.1 introduces the Queued TRIM command Host SSD File system Block device driver FTL NAND Flash Block I/F + SSD-Specific I/F Flash I/F 7

Atomic Write Transaction support for multi-block writes Simplifies file systems and DBMSes X. Quyang, et al., Beyond Block I/O: Rethinking Traditional Storage Primitives, HPCA, 2011. 8

Multi-streamed SSD (1) Previous write patterns (= current state) matter 9

Multi-streamed SSD (2) Mapping data with different lifetime to different streams Standardized in T10 SCSI/SAS (2015), NVMe 1.3 (2017) 10

Multi-streamed SSD (3) Cassandra with Multi-streamed SSD 11

Multi-streamed SSD (4) Cassandra s normalized updated throughput with 5 streams 12

OSSD: Object-based SSD (1) OSD (Object-based Storage Device) Virtualizes physical storage as a pool of objects Offloads space management to storage devices Standardized as a subset of SCSI command set Block interface Object interface 13

OSSD: Object-based SSD (2) OSD storage model Application Application Host System Call Interface File System User Component System Call Interface File System User Component File System Storage Management OSD Interface Storage Device Sector/LBA Interface Block I/O Manager Physical Media OSD Storage Management Block I/O Manager Physical Media Traditional OSD 14

OSSD: Object-based SSD (3) Host Target OSD Interface (iscsi) VFS OFS OAQ iscsi Initiator iscsi Target Daemon OSSD Framework OML READ/WRITE/ERASE FML FAL RawSSD TCP 1Gbps SATA-2 OID -Context Hash I/O OAQ Context OML Object Data Buffer Descriptor FML oid = 46 oid = 7 Object Data (Extents) Priority Queue 46 7 7 W W 16:8 Object I /O instances μ-tree C Q n Q 1 Q 0 Object Attr. Allocation Bitmap Y. S. Lee, S.-H. Kim, J.-S. Kim, J. Lee, C. park, and S. Maeng, OSSD: A Case for Object-based Solid State Drives, MSST, 2013. 15

OSSD: Object-based SSD (4) Simplified host file system No need for SSD-specific parameter tuning More efficient management of flash storage Block-level liveness Metadata separation Object-aware storage management (allocation, dedup,...) Application-aware storage management Application hints, QoS Storage virtualization Pooling, tiering, caching, backup, replication, etc. 16

In-Storage Computing (1) Samsung ISC SSD Prototype Commodity SSD: Samsung PM1725 NVMe with the ISC feature PCIe 3.0x4 800 GB Software C++11 C++STL G++ Software emulator 17

In-Storage Computing (2) ISC Application Development Process 18

In-Storage Computing (3) ISC Dataflow Programming Model 19

In-Storage Computing (4) Example: Simple Key-Value Store 20