project almanac: a time-traveling solid-state drive · 2019-06-06 · solid-state drive hard disk...
TRANSCRIPT
![Page 1: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/1.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/2.jpg)
Retaining Past Storage States is Important
User file operations such as multi-versioning
![Page 3: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/3.jpg)
Retaining Past Storage States is Important
Recovering files following a system crash
![Page 4: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/4.jpg)
Retaining Past Storage States is Important
Storage forensics and police investigations
![Page 5: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/5.jpg)
Software-Based Approaches to Retain Past Storage States
Journaling and
Logging
![Page 6: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/6.jpg)
Software-Based Approaches to Retain Past Storage States
Journaling and
Logging
Local and Cloud
Backups
![Page 7: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/7.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/8.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/9.jpg)
The Security Problem with Software-Based Approaches
![Page 10: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/10.jpg)
The Security Problem with Software-Based Approaches
Software systems are vulnerable to malware
![Page 11: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/11.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/12.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/13.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/14.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/15.jpg)
Project Almanac: Our Goals
Firmware-isolated
Protection
![Page 16: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/16.jpg)
Project Almanac: Our Goals
Firmware-isolated
Protection
Minimal
Performance
Overhead
![Page 17: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/17.jpg)
Project Almanac: Our Goals
Firmware-isolated
Protection
Preserving
Software
Functionality
Minimal
Performance
Overhead
![Page 18: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/18.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/19.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/20.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/21.jpg)
Why Solid-State Drives?
Lower Latency and
Higher Throughput
![Page 22: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/22.jpg)
Why Solid-State Drives?
Lower Latency and
Higher Throughput
Massive
Parallelism
![Page 23: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/23.jpg)
Why Solid-State Drives?
Lower Latency and
Higher Throughput
Massive
ParallelismCommodity Pricing
$0.20/GB
![Page 24: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/24.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/25.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/26.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/27.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/28.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/29.jpg)
How SSDs Used in Modern Computer Systems?
User Applications
![Page 30: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/30.jpg)
How SSDs Used in Modern Computer Systems?
User Applications
File System
![Page 31: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/31.jpg)
How SSDs Used in Modern Computer Systems?
User Applications
File System
Flash-based Disk
![Page 32: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/32.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/33.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/34.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/35.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/36.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/37.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/38.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/39.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/40.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/41.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/42.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/43.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/44.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/45.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/46.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/47.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/48.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/49.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/50.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/51.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/52.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/53.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/54.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/55.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/56.jpg)
Limited Storage Capacity? Compression is Key!
Differences between pages are encoded as deltas
![Page 57: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/57.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/58.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/59.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/60.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/61.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/62.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/63.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/64.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/65.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/66.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/67.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/68.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/69.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/70.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/71.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/72.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/73.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/74.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/75.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/76.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/77.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/78.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/79.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/80.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/81.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/82.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/83.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/84.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/85.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/86.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/87.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/88.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/89.jpg)
Workload Variations: Keeping an Adaptive Window
Trade-off Between
Performance and
Retention Time
![Page 90: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/90.jpg)
Workload Variations: Keeping an Adaptive Window
Trade-off Between
Performance and
Retention Time
![Page 91: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/91.jpg)
Workload Variations: Keeping an Adaptive Window
Trade-off Between
Performance and
Retention Time
![Page 92: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/92.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/93.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/94.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/95.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/96.jpg)
TimeKits: State Query
Perform fast state queries by leveraging back-pointer chains
![Page 97: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/97.jpg)
TimeKits: State Query
Per-address state queries retrieve the history of a given LPA
![Page 98: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/98.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/99.jpg)
TimeKits: State Rollback
Possible to rollback any address to a previous state
![Page 100: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/100.jpg)
A Timestamp
T1
TimeKits: State Rollback
Possible to rollback any address to a previous state
![Page 101: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/101.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/102.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/103.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/104.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/105.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/106.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/107.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/108.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/109.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/110.jpg)
Performance: TimeSSD vs. Regular SSDs
![Page 111: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/111.jpg)
Performance: TimeSSD vs. Regular SSDs
<10% performance
overhead
![Page 112: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/112.jpg)
Device Lifetime: TimeSSD vs. Regular SSDs
![Page 113: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/113.jpg)
Device Lifetime: TimeSSD vs. Regular SSDs
10 - 15% increase in
write traffic
![Page 114: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/114.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/115.jpg)
TimeSSD vs. Software-Based Solutions
![Page 116: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/116.jpg)
TimeSSD vs. Software-Based Solutions
Similar Performance
![Page 117: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/117.jpg)
TimeSSD vs. Software-Based Solutions
Similar Performance1.5 - 2.2x better
performance
![Page 118: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/118.jpg)
Workload-Adaptive State Retention
![Page 119: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/119.jpg)
Workload-Adaptive State Retention
Guaranteed 3 day
retention window
![Page 120: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/120.jpg)
Workload-Adaptive State Retention
![Page 121: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/121.jpg)
Workload-Adaptive State Retention
Retained for > 50
days
![Page 122: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/122.jpg)
Data Recovery Time After Ransomware Attacks
![Page 123: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/123.jpg)
Data Recovery Time After Ransomware Attacks
14% overheadTimeSSD must
decompress past states
![Page 124: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/124.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/125.jpg)
Project Almanac Summary
Firmware Isolation
Increased Security
![Page 126: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/126.jpg)
Project Almanac Summary
Firmware Isolation
Increased Security
Minimal Impact on
Performance and
Lifetime
![Page 127: Project Almanac: A Time-Traveling Solid-State Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/127.jpg)
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 Drive · 2019-06-06 · Solid-State Drive Hard Disk Drive Blocks Blocks. Retaining Storage-States with Out-of-Place Update Solid-State](https://reader033.vdocuments.site/reader033/viewer/2022042001/5e6dbf4b16f1b9735b64f65f/html5/thumbnails/128.jpg)
Thanks!
Q&A
Xiaohao Wang Yifan Yuan Chance C. Coats Jian Huang
Systems and Platform Research Group
You Zhou