Project Almanac: A Time-Traveling Solid-State...

128
Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan Yuan Chance C. Coats Jian Huang Systems and Platform Research Group You Zhou

Transcript of Project Almanac: A Time-Traveling Solid-State...

Page 1: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac: A Time-Traveling Solid-State Drive

Xiaohao Wang Yifan Yuan Chance C. Coats Jian Huang

Systems and Platform Research Group

You Zhou

Page 2: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Past Storage States is Important

User file operations such as multi-versioning

Page 3: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Past Storage States is Important

Recovering files following a system crash

Page 4: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Past Storage States is Important

Storage forensics and police investigations

Page 5: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Software-Based Approaches to Retain Past Storage States

Journaling and

Logging

Page 6: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Software-Based Approaches to Retain Past Storage States

Journaling and

Logging

Local and Cloud

Backups

Page 7: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Software-Based Approaches to Retain Past Storage States

Journaling and

Logging

Local and Cloud

BackupsSnapshots and

Checkpointing

Page 8: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Software-Based Approaches to Retain Past Storage States

Journaling and

Logging

Local and Cloud

BackupsSnapshots and

Checkpointing

Software-based approaches not only reduce storage

performance, but also increase storage cost!

Page 9: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Security Problem with Software-Based Approaches

Page 10: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Security Problem with Software-Based Approaches

Software systems are vulnerable to malware

Page 11: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Security Problem with Software-Based Approaches

Malware may obtain kernel privileges and stop

or destroy backups and logging functions

Page 12: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Underlying Problem: Threat Model Analysis

Block Interface Driver

Kernel Space

User Space

Applications

Block I/O Storage Device

Read/Write Requests

Page 13: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Underlying Problem: Threat Model Analysis

Block Interface Driver

Kernel Space

User Space

Applications

Block I/O Storage Device

Read/Write Requests

Software cannot be trusted to retain storage states

in the presence of malware attacks!

Page 14: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

The Underlying Problem: Threat Model Analysis

Block Interface Driver

Kernel Space

User Space

Applications

Block I/O Storage Device

Read/Write Requests

We therefore turn to hardware solutions to improve

the security of retaining storage states!

Page 15: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac: Our Goals

Firmware-isolated

Protection

Page 16: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac: Our Goals

Firmware-isolated

Protection

Minimal

Performance

Overhead

Page 17: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac: Our Goals

Firmware-isolated

Protection

Preserving

Software

Functionality

Minimal

Performance

Overhead

Page 18: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Hardware Protection Motivated by Flash Technology

Block Interface Driver

Kernel Space

User Space

Applications

Read/Write Requests

Block I/O Storage Device

Page 19: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Hardware Protection Motivated by Flash Technology

Block Interface Driver

Kernel Space

User Space

Applications

Read/Write Requests

Hard Disk Drive

Page 20: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Hardware Protection Motivated by Flash Technology

Block Interface Driver

Kernel Space

User Space

Applications

Read/Write Requests

Hard Disk Drive Flash-based SSD

Page 21: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Why Solid-State Drives?

Lower Latency and

Higher Throughput

Page 22: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Why Solid-State Drives?

Lower Latency and

Higher Throughput

Massive

Parallelism

Page 23: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Why Solid-State Drives?

Lower Latency and

Higher Throughput

Massive

ParallelismCommodity Pricing

$0.20/GB

Page 24: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Why Solid-State Drives?

Lower Latency and

Higher Throughput

Massive

ParallelismCommodity Pricing

$0.20/GB

Flash is widely used in modern computing systems!

Page 25: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Solid-State Drive: A Perfect Candidate

SSD Controller/Firmware

Embedded

ProcessorBlock I/O

Interface

DRAM

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Channel 0

Channel 1

Channel 2

Channel 3

Page 26: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Solid-State Drive: A Perfect Candidate

SSD Controller/Firmware

Embedded

ProcessorBlock I/O

Interface

DRAM

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Channel 0

Channel 1

Channel 2

Channel 3

Firmware-Isolated Interface

Page 27: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Solid-State Drive: A Perfect Candidate

SSD Controller/Firmware

Embedded

ProcessorBlock I/O

Interface

DRAM

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Channel 0

Channel 1

Channel 2

Channel 3

Embedded Processor with DRAM

Page 28: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Solid-State Drive: A Perfect Candidate

SSD Controller/Firmware

Embedded

ProcessorBlock I/O

Interface

DRAM

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Flash

Chip

Channel 0

Channel 1

Channel 2

Channel 3

Massive Parallelism from Flash Channels

Page 29: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

Page 30: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Page 31: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash-based Disk

Page 32: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Page 33: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

Page 34: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

Write A

Page 35: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

Write A

A

Page 36: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

A

Page 37: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

A

Write A’

Page 38: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

A

Write A’

A A’

Page 39: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

AA A’

Page 40: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

AA A’

Garbage

Collection

Page 41: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How SSDs Used in Modern Computer Systems?

User Applications

File System

Flash Translation Layer (FTL)

Flash Chips

Out-of-Place Updates

AA A’

Garbage

Collection

Page 42: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

Page 43: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Write A

Blocks Blocks

Page 44: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Write A

Blocks Blocks

A

Page 45: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A

Page 46: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Write A

Blocks Blocks

A

Page 47: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Write A

Blocks Blocks

A A

Page 48: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

Page 49: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

Write A’

Page 50: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

Write A’

A’

A

Page 51: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

A’

A

Page 52: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

A’

A

Write A’

Page 53: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

A’

A

Write A’

A’

Page 54: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

A’

A A’

Page 55: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retaining Storage-States with Out-of-Place Update

Solid-State Drive Hard Disk Drive

Blocks Blocks

A A

A’

A A’

Past Storage States are Inherently Retained in Flash!

Page 56: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Differences between pages are encoded as deltas

Page 57: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Page

A’

Reference Flash

Page

Differences between pages are encoded as deltas

Page 58: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Page

A’

Reference Flash

Page

+

Retained Invalid

Flash Page

Page

A

Differences between pages are encoded as deltas

Page 59: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Page

A’

Reference Flash

Page

+ =Page

A

Delta

Compressed Delta

with CR of ~0.2

Retained Invalid

Flash Page

Page

A

Differences between pages are encoded as deltas

Page 60: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Page

A’

Reference Flash

Page

+ =Page

A

Delta

Compressed Delta

with CR of ~0.2

Retained Invalid

Flash Page

Page

A

Multiple deltas are coalesced into delta blocks

Page 61: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Limited Storage Capacity? Compression is Key!

Page

A’

Reference Flash

Page

+ =Page

A

Delta

Compressed Delta

with CR of ~0.2

Retained Invalid

Flash Page

Page

A

Delta Compression allows for retaining more storage state!

Page 62: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

Page 63: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

LPA

Page 64: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

LPATimestamp

Page 65: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

LPATimestampBack-Pointer

Page 66: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

PPA Y

Null

A’

A

Page X

Page Y

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

Maintain Chains of

Back-Pointers

LPATimestampBack-Pointer

Page 67: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

D → Z

C → Y

B → X

A → W

...PPA Y

Null

A’

A

Page X

Page Y

How to Achieve the Time-Traveling Property?

Flash Page

OOB Region

Data

Utilize Out-of-Band

Region

Maintain Chains of

Back-Pointers

Quickly Traverse

with Mapping Tables

LPATimestampBack-Pointer

Page 68: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

Data page chains are vulnerable to Garbage Collection

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Page 69: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Data page Y is selected for garbage collection!

Page 70: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Data page Y is selected for garbage collection!

Data Page A

Page 71: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Data page Y is selected for garbage collection!

Data page A and Z will be

lost!

Data Page A

Page 72: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Delta page chains are NOT vulnerable to garbage collection!

Data Page A

Page 73: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Page Y and Z are compressed to create a delta chain

Data Page A

Page 74: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

Page Y and Z are compressed to create a delta chain

...

B → Q

...

Index Mapping

Table

... ... ... ...

Delta Page Q Delta Page P

Delta Compress

Data Page A

Page 75: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Maintaining a Complete Chain

...

B → X

...

Address

Mapping Table

Data Y Data Z Data --

Data Page X Data Page Y Data Page Z

--

...

B → Q

...

Index Mapping

Table

... ... ... ...

Delta Page Q Delta Page P

All storage states can be retained with data and delta chains!

Data Page A

Page 76: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Garbage collection must quickly find the state of invalid pages

Page 77: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Garbage collection must quickly find the state of invalid pages

Page

A

Page

B

Page 78: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Garbage collection must quickly find the state of invalid pages

Page

A

Retained Invalid

Page → Keep

Page

B

Page 79: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Garbage collection must quickly find the state of invalid pages

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Page 80: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

A table could be used to track page invalidation timestamps

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

Page 81: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

Even for reasonable SSD sizes, this table is too large to cache

Page 82: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

We need a space-efficient solution!

Page 83: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

We use Bloom filters to track invalid pages efficiently

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

Page 84: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

Invalid pages are added to the active Bloom filter

Page 85: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

0

1

1

...

0

1

0

Inactive Bloom

Filter

More Bloom filters are created as pages are invalidated

Page 86: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

0

1

1

...

0

1

0

Inactive Bloom

Filter

All filters are checked for hits during garbage collection

Page 87: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

0

1

1

...

0

1

0

Inactive Bloom

Filter

Any pages which hit in the filters must be retained

Page 88: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Reclaiming Garbage Data in Time Order

Page

A

Retained Invalid

Page → Keep

Expired Page →

Reclaimable

Page

B

Physical Page

Address

Invalidation Time

0 T0

1 T11

...

N-2 T2

N-1 T5

0

1

1

...

0

1

0

Active Bloom

Filter

Invalid PPAs

Hash Functions

h0

h1

h2

0

1

1

...

0

1

0

Inactive Bloom

Filter

Bloom filters quickly identify expired data and save space!

Page 89: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Page 90: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Page 91: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Page 92: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Retention

Duration

Manager

Garbage

Collection

Garbage Collection

Feedback

Page 93: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retrievable Time Window

011...

010

T0

011...

010

T1

BF0

BF1

011...

010

T2

BF2

Invalid

PPAs

Hash Functions

h0

h1

h2

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Bloom Filters Hold

PPAs in Order

Retention

Duration

Manager

Garbage

Collection

Garbage Collection

Feedback

Page 94: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retrievable Time Window

011...

010

T0

011...

010

T1

BF0

BF1

011...

010

T2

BF2

Invalid

PPAs

Hash Functions

h0

h1

h2

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Bloom Filters Hold

PPAs in Order

Retention

Duration

Manager

Garbage

Collection

Garbage Collection

Feedback

Page 95: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Retrievable Time Window

011...

010

T0

011...

010

T1

BF0

BF1

011...

010

T2

BF2

Invalid

PPAs

Hash Functions

h0

h1

h2

Workload Variations: Keeping an Adaptive Window

Trade-off Between

Performance and

Retention Time

Bloom Filters Hold

PPAs in Order

Retention

Duration

Manager

Garbage

Collection

Garbage Collection

Feedback

Page 96: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeKits: State Query

Perform fast state queries by leveraging back-pointer chains

Page 97: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeKits: State Query

Per-address state queries retrieve the history of a given LPA

Page 98: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeKits: State Query

Time-range state queries retrieve all LPA changes in a range of time

Page 99: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeKits: State Rollback

Possible to rollback any address to a previous state

Page 100: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

A Timestamp

T1

TimeKits: State Rollback

Possible to rollback any address to a previous state

Page 101: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

A Timestamp

T1

TimeKits: State Rollback

Possible to rollback any address to a previous state

Update to A

Page 102: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

Possible to rollback any address to a previous state

Update to A

Page 103: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

Possible to rollback any address to a previous state

Page 104: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

Possible to rollback any address to a previous state

Rollback A to previous timestamp

Page 105: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

A Timestamp

T1

Possible to rollback any address to a previous state

Rollback A to previous timestamp

Page 106: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

A Timestamp

T1

Possible to rollback any address to a previous state

Page 107: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

A Timestamp

T1

Channel parallelism allows fast rollback of multiple addresses

Page 108: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

ATimestamp

T2

ATimestamp

T2

A Timestamp

T1

ATimestamp

T1

TimeKits: State Rollback

A Timestamp

T1

Channel parallelism allows fast rollback of multiple addresses

B Timestamp

T3

B Timestamp

T3

B Timestamp

T4

Page 109: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Implementation and Experimental Setup HW Platform

Cosmos+ OpenSSD FPGA

development Board

1TB SSD, 4KB page

with 12B OOB data

Benchmarks

Storage traces from MSR and FIU

IOZone benchmarks

PostMark benchmark

OLTP database engine

Ransomware malware samples

Experiment

Setup

Page 110: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Performance: TimeSSD vs. Regular SSDs

Page 111: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Performance: TimeSSD vs. Regular SSDs

<10% performance

overhead

Page 112: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Device Lifetime: TimeSSD vs. Regular SSDs

Page 113: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Device Lifetime: TimeSSD vs. Regular SSDs

10 - 15% increase in

write traffic

Page 114: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Device Lifetime: TimeSSD vs. Regular SSDs

10 - 15% increase in

write traffic

SW solutions have

WA factors of 2.5-6!

Page 115: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeSSD vs. Software-Based Solutions

Page 116: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeSSD vs. Software-Based Solutions

Similar Performance

Page 117: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

TimeSSD vs. Software-Based Solutions

Similar Performance1.5 - 2.2x better

performance

Page 118: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload-Adaptive State Retention

Page 119: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload-Adaptive State Retention

Guaranteed 3 day

retention window

Page 120: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload-Adaptive State Retention

Page 121: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Workload-Adaptive State Retention

Retained for > 50

days

Page 122: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Data Recovery Time After Ransomware Attacks

Page 123: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Data Recovery Time After Ransomware Attacks

14% overheadTimeSSD must

decompress past states

Page 124: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Data Recovery Time After Ransomware Attacks

14% overheadTimeSSD must

decompress past states

Future work using HW

accelerators!

Page 125: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac Summary

Firmware Isolation

Increased Security

Page 126: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Project Almanac Summary

Firmware Isolation

Increased Security

Minimal Impact on

Performance and

Lifetime

Page 127: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Achieved Software

Functionality

Project Almanac Summary

Firmware Isolation

Increased Security

Minimal Impact on

Performance and

Lifetime

Page 128: Project Almanac: A Time-Traveling Solid-State Drivejianh.web.engr.illinois.edu/papers/TimeSSD-eurosys2019.pdf · Project Almanac: A Time-Traveling Solid-State Drive Xiaohao Wang Yifan

Thanks!

Q&A

Xiaohao Wang Yifan Yuan Chance C. Coats Jian Huang

Systems and Platform Research Group

You Zhou