Understanding the Robustness of SSDs under Power Fault

Similar documents
Solid State Drive Technology

<Insert Picture Here> Btrfs Filesystem

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

LSI MegaRAID CacheCade Performance Evaluation in a Web Server Environment

Solid State Drive (SSD) FAQ

COMPARISON OF FIXED & VARIABLE RATES (25 YEARS) CHARTERED BANK ADMINISTERED INTEREST RATES - PRIME BUSINESS*

COMPARISON OF FIXED & VARIABLE RATES (25 YEARS) CHARTERED BANK ADMINISTERED INTEREST RATES - PRIME BUSINESS*

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

PARALLELS CLOUD STORAGE

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

FAST 11. Yongseok Oh University of Seoul. Mobile Embedded System Laboratory

Virtual Desktops Security Test Report

Linux flash file systems JFFS2 vs UBIFS

A Comparison of Client and Enterprise SSD Data Path Protection

Secure Web. Hardware Sizing Guide

An Overview of Flash Storage for Databases

QuickSpecs. HP Solid State Drives (SSD) What's New. HP Solid State Drives (SSD) Overview

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

SWIFT. Page:1. Openstack Swift. Object Store Cloud built from the grounds up. David Hadas Swift ATC. HRL 2012 IBM Corporation

Google File System. Web and scalability

The Technologies & Architectures. President, Demartek

File Systems Management and Examples

Storage Architectures for Big Data in the Cloud

PowerVault MD1200/MD1220 Storage Solution Guide for Applications

Accelerating Datacenter Server Workloads with NVDIMMs

Best Practices for Optimizing SQL Server Database Performance with the LSI WarpDrive Acceleration Card

Speeding Up Cloud/Server Applications Using Flash Memory

Solid State Storage in Massive Data Environments Erik Eyberg

PowerProtector: Superior Data Protection for NAND Flash

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

Linux File System Analysis for IVI Systems

21 st Century Storage What s New and What s Changing

Windows 8 SMB 2.2 File Sharing Performance

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Flash for Databases. September 22, 2015 Peter Zaitsev Percona

SOLUTION BRIEF. Resolving the VDI Storage Challenge

Quo vadis Linux File Systems: An operations point of view on EXT4 and BTRFS. Udo Seidel

Important Differences Between Consumer and Enterprise Flash Architectures

AT&T Global Network Client for Windows Product Support Matrix January 29, 2015

Nimble Storage for VMware View VDI

Case 2:08-cv ABC-E Document 1-4 Filed 04/15/2008 Page 1 of 138. Exhibit 8

Chapter 12: Mass-Storage Systems

DSS. High performance storage pools for LHC. Data & Storage Services. Łukasz Janyst. on behalf of the CERN IT-DSS group

Technologies Supporting Evolution of SSDs

The Google File System

Understanding Enterprise NAS

How To Scale Myroster With Flash Memory From Hgst On A Flash Flash Flash Memory On A Slave Server

This talk is mostly about Data Center Replication, but along the way we'll have to talk about why you'd want transactionality arnd the Low-Level API.

Taking Linux File and Storage Systems into the Future. Ric Wheeler Director Kernel File and Storage Team Red Hat, Incorporated

Databases Acceleration with Non Volatile Memory File System (NVMFS) PRESENTATION TITLE GOES HERE Saeed Raja SanDisk Inc.

LSI MegaRAID FastPath Performance Evaluation in a Web Server Environment

Automated Data-Aware Tiering

Amadeus SAS Specialists Prove Fusion iomemory a Superior Analysis Accelerator

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

Understanding endurance and performance characteristics of HP solid state drives

09'Linux Plumbers Conference

Promise of Low-Latency Stable Storage for Enterprise Solutions

Silent data corruption in SATA arrays: A solution

Memory Channel Storage ( M C S ) Demystified. Jerome McFarland

Comparison of NAND Flash Technologies Used in Solid- State Storage

How To Fix A Fault Fault Fault Management In A Vsphere 5 Vsphe5 Vsphee5 V2.5.5 (Vmfs) Vspheron 5 (Vsphere5) (Vmf5) V

Nasir Memon Polytechnic Institute of NYU

EMC DATA DOMAIN DATA INVULNERABILITY ARCHITECTURE: ENHANCING DATA INTEGRITY AND RECOVERABILITY

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

Analyzing Big Data with Splunk A Cost Effective Storage Architecture and Solution

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

Berkeley Ninja Architecture

Planning Domain Controller Capacity

Understanding Flash SSD Performance

High Availability and Disaster Recovery Solutions for Perforce

Intel Solid-State Drive 320 Series

Flash-optimized Data Progression

File System Management

Assessing RAID ADG vs. RAID 5 vs. RAID 1+0

Managing Orion Performance

ZFS In Business. Roch Bourbonnais Sun Microsystems

White paper. QNAP Turbo NAS with SSD Cache

In-Memory Performance for Big Data

COS 318: Operating Systems

Ensuring Robust Data Integrity

THE CEO S GUIDE TO INVESTING IN FLASH STORAGE

Lecture 5: GFS & HDFS! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl

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

COMP 7970 Storage Systems

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

How to Choose your Red Hat Enterprise Linux Filesystem

Maximizing SQL Server Virtualization Performance

Client-aware Cloud Storage

Managing the evolution of Flash : beyond memory to storage

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

SOLID STATE DRIVES AND PARALLEL STORAGE

Oracle Database 10g: Backup and Recovery 1-2

Local Interconnect Network Training. Local Interconnect Network Training. Overview

NSS Volume Data Recovery

Which filesystem should I use? LinuxTag Heinz Mauelshagen Consulting Development Engineer

Transcription:

Understanding the Robustness of SSDs under Power Fault Mai Zheng Feng Qin The Ohio State University Joseph Tucek Mark Lillibridge HP Labs

Solid-State Drives (SSDs) - a truly revolutionary and disruptive technology Great performance Low power consumption 2

Solid-State Drives (SSDs) - a truly revolutionary and disruptive technology Great performance Low power consumption *** behavior in adverse conditions? 3

Power Faults - a threat never gone 4

Power Faults - a threat never gone Jan. 2013: A POWER OUTAGE at a key New Jersey data center... Jul. 2012:... human error was responsible for a data center POWER OUTAGE... Jul. 2012: POWER OUTAGE Hits London Data Center... Jun. 2012: Amazon Data Center LOSES POWER During Storm Aug, 2011: Colocation provider Colo4 experienced a POWER OUTAGE Nov. 2010: About 3,000 servers at Montreal web host iweb experienced an OUTAGE May 2010: Car Crash Triggers Amazon POWER OUTAGE 5

Power Faults - a threat never gone Jan. 2013: A POWER OUTAGE at a key New Jersey data center... Jul. 2012:... human error was responsible for a data center POWER OUTAGE... Jul. 2012: POWER OUTAGE Hits London Data Center... Jun. 2012: Amazon Data Center LOSES POWER During Storm Aug, 2011: Colocation provider Colo4 experienced a POWER OUTAGE Nov. 2010: About 3,000 servers at Montreal web host iweb experienced an OUTAGE May 2010: Car Crash Triggers Amazon POWER OUTAGE 6

Potential Failures

Simple Failures before power fault after power fault Bit Corruption record Metadata Corruption all data mess Dead Device 8

Simple Failures before power fault after power fault Shorn Writes new old new old Flying Writes disk block # 1 2 1 2 9

Complex Failure: Unserializable Writes thread A A1 A2 A3 Write Completion Time Serializable state Unserializable state 0 1 2 3 4 block # 0 A2 2 A3 4 0 A1 2 A3 4 10

Testing Framework

Design Scheduler Checker Workers Workers Workers Switcher Control Circuit ❸ read & check ❶ write records ❷ power off/on 12

What to Write? 0000 0000 all 0 s? 0000 ❸ read & check ❶ write records 13

What to Write? 4239 0817 3625 all 0 s? random numbers? ❸ read & check ❶ write records 14

Special Record Format - allows detecting all 6 types of failures checksum fixed-sized header block# timestamp thread_id op_cnt seed 15

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id Bit corruption & Shorn writes op_cnt seed 16

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id Bit corruption & Shorn writes Flying writes op_cnt seed 17

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id Bit corruption & Shorn writes Flying writes Unserializable writes op_cnt seed 18

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id Bit corruption & Shorn writes Flying writes Unserializable writes op_cnt seed 19

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id op_cnt seed Bit corruption & Shorn writes Flying writes Unserializable writes regenerating records 20

Special Record Format - allows detecting all 6 types of failures fixed-sized header checksum block# timestamp thread_id op_cnt seed Bit corruption & Shorn writes Flying writes Unserializable writes regenerating records Metadata corruption & Dead device 21

Special Record Format - allows detecting all 6 types of failures fixed-sized header extendable padding checksum block# timestamp thread_id op_cnt seed all 0 s? random numbers? duplicates of header 22

Advanced FTL: Compression 23

Randomization of Record Content - avoid interference of compression regular format random mask random format 24

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A thread B A1 A1 : generating time of B1 1 st record of A A1 B1 A1 : completion time of writing 1 st record of A A2 B2 Time 25

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 thread B B1 Intra-thread: A1 -> A1 -> A2 A1 B1 A2 Time B2 26

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 thread B B1 B1 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 A2 Time B2 27

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 A2 thread B B1 B1 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 Inter-thread: A1 -> B1 -> A2 -> B2 Time B2 28

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 A2 Time thread B B1 B1 B2 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 Inter-thread: A1 -> B1 -> A2 -> B2 A1 -> B1 or B1 -> A1 Conservatively report no errors 29

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 A2 Time thread B B1 B1 B2 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 30

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 A2 Time thread B B1 B1 B2 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 Inter-thread: A2 -> B1 31

Deriving Completion-time Partial Order - a key step of unserializable writes detection thread A A1 A1 A2 Time thread B B1 B1 B2 Intra-thread: A1 -> A1 -> A2 B1 -> B1 -> B2 Inter-thread: A2 -> B1 A1 -> B1 More details in our paper & Golab et al. PODC 11 32

Power Fault Injection SSD ❷ power off/on 33

Power Fault Injection Host SSD ❷ power off/on 34

Results

Experimental Environment Block Devices - 15 SSDs and 2 hard drives - SLC & MLC - Manufactured in 2009 2012-4 have power-loss protection - Low-end to high-end ($0.63/GB - $6.50/GB) Host System - Debian 6.0 w/ 2.6.32 kernel - LSI Logic SAS controller - no filesystem on devices - Synchronized & Direct I/O (O_SYNC O_DIRECT) 36

Summary of Observations Failures # of SSDs Bit Corruption 3 Metadata Corruption 1 Dead Device 1 Shorn Writes 3 Flying Writes 0 Unserializable Writes 8 None 2 13 of 15 SSDs exhibit failure(s) 2 perfect SSDs 5 of 6 failures observed 37

Shorn Writes: Subpage Programming pattern #1 new new 4K bytes pattern #2 512 bytes 38

Avg. # of serialization errors per fault Serialization Errors: Avg. Numbers Per Fault 1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0 15 7 6 10 11 12 8 9 4 13 2 5 14 SSD ID increasing price ($/GB) 39

Avg. # of serialization errors per fault Serialization Errors: Avg. Numbers Per Fault 1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0 15 7 6 10 11 12 8 9 4 13 2 5 14 SSD ID increasing price ($/GB) SLC 40

# of serialization errors Serialization Errors: Patterns Over Time 1000 SSD#2 SSD#4 SSD#7 SSD#8 100 10 1 1 10 20 30 40 50 60 70 80 90 100 testing cycle # 41

Metadata Corruption 1 SSD 8 injected power faults lost 31% (72 GB) data Dead Device 1 SSD 136 injected power faults can no long be detected by host 42

Conclusion An effective methodology to expose bugs in block devices under power fault Important implications to storage design e.g. write ahead logging V.S. unserializable writes Thank you! 43

Pristine Version of Our Paper can be Found at: http://www.cse.ohio-state.edu/~zhengm/ 44