OSSD: Object-based Solid State Drive Jin-Soo Kim ( jinsookim - - PowerPoint PPT Presentation

ossd object based solid state drive
SMART_READER_LITE
LIVE PREVIEW

OSSD: Object-based Solid State Drive Jin-Soo Kim ( jinsookim - - PowerPoint PPT Presentation

OSSD: Object-based Solid State Drive Jin-Soo Kim ( jinsookim @skku.edu ) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu OSSD S S D O + S D O S S D 2 NVRAMOS 2011, Cheju Island, Korea, April 1820,


slide-1
SLIDE 1

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

OSSD: Object-based Solid State Drive

slide-2
SLIDE 2

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

2

OSSD

O O S S S S S D D D +

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

4

Storage Interface Evolution

“Dumb”

ST-506 1980, Seagate

“Integrated controller”

Logical block addressing

1986, SCSI 1994, ATA

More intelligence?

slide-5
SLIDE 5

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

5

Graphics Interface Analogy

Raster graphics

Setpoint (x, y);

Vector graphics

Drawline (x1, x2, y1, y2); Drawtext (x, y, “Hello”); …

OpenGL Direct3D

Polygons, Lighting, Z-buffering, Texture mapping, Alpha blending, …

slide-6
SLIDE 6

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

6

Interfaces for SSDs (1)

▪ Traditional block interface

  • ATA/SCSI
  • No block-level liveness

information

  • No high-level semantics
  • n data
  • Several “unwritten contracts”

do not hold for SSDs

FTL

SSD Host

Block device driver File system

Block I/F

NAND Flash

Flash I/F

slide-7
SLIDE 7

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

7

FTL

SSD Host

Block device driver File system NAND Flash

Block I/F + SSD-Specific I/F Flash I /F

Interfaces for SSDs (2)

▪ Block interface with SSD extensions

  • TRIM command
  • What else?
  • Not practical, sometimes

impossible

slide-8
SLIDE 8

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

8

FTL

SSD Host

SSD driver File system

Simplified SSD I /F

NAND Flash

Flash I/F

Interfaces for SSDs (3)

▪ Simplified SSD interface

  • Interfaces specific to SSDs
  • NVMHCI (Non-Volatile

Memory Host Controller Interface)

  • Mainly for PCIe-based SSDs
  • Still works at the block level
slide-9
SLIDE 9

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

9

SSD Host

Flash device driver File system NAND Flash

Flash I/F

FTL Flash File system

Interfaces for SSDs (4)

▪ Native flash interface

  • READ PAGE,

PROGRAM PAGE, ERASE BLOCK

  • Used in many embedded

systems

  • Host handles everything,

storage remains dumb and simple

slide-10
SLIDE 10

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

10

Interfaces for SSDs (5)

▪ Object interface

  • More abstract interface
  • Improved drive intelligence
  • OSSD:

Object-based Solid State Drive

OSD layer

OSSD Host

OSD driver

Object-based File System

OSD I /F

NAND Flash

Flash I/F

slide-11
SLIDE 11

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

11

OSD

▪ Object-based Storage Device

  • Virtualizes physical storage as a pool of objects
  • Offloads space management to storage devices
  • Standardized as a subset of SCSI command set

Block interface Object interface

slide-12
SLIDE 12

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

12

Storage Model

Application System Call Interface g File System Storage Management Sector/LBA Interface Block I/O Manager Physical Media File System User Component Application System Call Interface g OSD Storage Management OSD Interface Block I/O Manager Physical Media File System User Component

Host Storage Device Traditional OSD

slide-13
SLIDE 13

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

13

Linux Support for OSD

▪ Since Linux kernel 2.6.30

  • Exofs + OSD initiator + iSCSI transport

SCSI SATA

iSCSI initiator SCSI initiator SCSI/ SATA

SCSI core (scsi_mod.ko) VFS exofs ext3 udf bsg sd sr st

  • sd_uld (osd.ko)
  • sd_lld (libosd.ko)
slide-14
SLIDE 14

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

14

OSSD Benefits (1)

▪ Simplified host file system

  • No need for SSD-specific parameter tuning
  • File-to-object mapping & access control

▪ More efficient management of flash storage

  • Block-level liveness
  • Metadata separation
  • Object-aware storage management
slide-15
SLIDE 15

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

15

OSSD Benefits (2)

▪ Application-aware storage management

  • QoS requirements via attributes
  • Application hints

▪ Storage virtualization

  • Dynamic storage pool
  • Multi-tier storage architecture with DRAM,

PCM, SLC NAND, MLC NAND, and HDD

slide-16
SLIDE 16

Prototype Implementation

slide-17
SLIDE 17

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

17

Object-based File System Object-aware I/O Scheduler Object Management Layer (OML) Flash Management Layer (FML) NAND Flash VFS OSD Interface OSSD Initiator Host OSSD Target OSSD Firmware Flash Abstraction Layer (FAL)

Overall Architecture

slide-18
SLIDE 18

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

18

Prototype Architecture

SCSI Subsystem libata OAQ OFS FAL VFS Host OSSD Firmware NAND Flash RawSSD SATA-2 FML OML

READ/ WRITE/ ERASE

46 7 7 OID-Context Hash Qn Q1 Q0

16:8

Priority Queue

  • id =7
  • id =46

I/O Context Object I /O instances

W W C

LRU Attribute

Object Descriptor

Mapping

OID-Descriptor Index

9

Allocation Bitmap FML OML

...

  • id=7
  • id=21

OAQ

slide-19
SLIDE 19

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

19

Legacy Stack

SCSI Subsystem libata I/O Scheduler (CFQ) EXT4 FAL VFS Host NAND Flash RawSSD SATA-2 sFTL

READ/WRITE/ERASE

slide-20
SLIDE 20

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

20

RawSSD

▪ Native NAND I/O interface over SATA-2 ▪ 16 chips * 8 dies/chip * 2GB/die = 256GB ▪ 8 channels (2 channels logically combined) ▪ 16KB logical page, 8MB logical block

  • Two dies with two-plane operation

▪ Page-wise channel-level striping ▪ Asynchronous writes with DRAM buffer

slide-21
SLIDE 21

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

21

Base Performance

slide-22
SLIDE 22

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

22

Multi-threaded writes

slide-23
SLIDE 23

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

23

Prioritized Reads

HDV 1080i Requirement (128KB@40ms = 3.2MB/s)

slide-24
SLIDE 24

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

24

Prioritized Writes

slide-25
SLIDE 25

The OpenSSD Project

slide-26
SLIDE 26

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

26

http://www.openssd-project.org

slide-27
SLIDE 27

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

27

Why OpenSSD?

▪ No more simulations ▪ Broaden research horizon ▪ Train people ▪ Share expertise ▪ … ▪ Initiated with Prof. Sang-Won Lee (SKKU) and Indilinx

slide-28
SLIDE 28

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

28

Jasmine OpenSSD Platform

Indilinx Barefoot controller

slide-29
SLIDE 29

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

29

Jasmine Firmware

▪ Firmware 1.0.0 released on April 7, 2011 ▪ The latest version: 1.0.2 (April 15, 2011) ▪ Three sample FTLs

  • Tutorial FTL (By Indilinx)
  • Greedy FTL (By VLDB Lab. @ SKKU)
  • Dummy FTL (By Indilinx)

▪ Toolchains

  • ARM RVDS
  • Codesourcery G++ lite edition
slide-30
SLIDE 30

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

30

Participants

▪ 30 sets shipped to 9 institutions (15 labs)

  • Sungkyunkwan U., Hanyang U., Ajou U.,

Hongik U., Korea U., Kwangwoon U., POSTECH, Soongsil U., U of Seoul

▪ 1 set shipped abroad ▪ We plan to have a workshop in May.

slide-31
SLIDE 31

NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

31

Jasmine Resources

▪ FAQs ▪ Board schematics ▪ Technical Reference Manual ▪ FTL Developer’s Guide ▪ Barefoot Controller Technical Reference ▪ Contributions from community

  • Developer Information (by Jeremy Brock)
slide-32
SLIDE 32

Thank You!