ossd object based solid state drive
play

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,


  1. OSSD: Object-based Solid State Drive Jin-Soo Kim ( jinsookim @skku.edu ) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

  2. OSSD S S D O + S D O S S D 2 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  3. Motivation

  4. Storage Interface Evolution 1986, SCSI 1980, Seagate 1994, ATA Logical block ST-506 addressing “Dumb” “Integrated controller” More intelligence? 4 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  5. Graphics Interface Analogy Polygons, Lighting, Drawline (x1, x2, y1, y2); Z-buffering, Setpoint (x, y); Drawtext (x, y, “Hello”); Texture mapping, … Alpha blending, … OpenGL Raster graphics Vector graphics Direct3D 5 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 Host File system • No block-level liveness Block device driver information Block I/F • No high-level semantics on data FTL Flash I/F • Several “unwritten contracts” NAND Flash do not hold for SSDs SSD 6 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  7. Interfaces for SSDs (2) ▪ Block interface with SSD extensions • TRIM command Host • What else? File system Block device driver • Not practical, sometimes Block I/F + impossible SSD-Specific I/F FTL Flash I /F NAND Flash SSD 7 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  8. Interfaces for SSDs (3) ▪ Simplified SSD interface • Interfaces specific to SSDs Host • NVMHCI (Non-Volatile File system Memory Host Controller SSD driver Interface) Simplified SSD I /F FTL • Mainly for PCIe-based SSDs Flash I/F • Still works at the block level NAND Flash SSD 8 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  9. Interfaces for SSDs (4) ▪ Native flash interface • READ PAGE, Host PROGRAM PAGE, ERASE BLOCK File Flash system File • Used in many embedded system FTL systems Flash device driver Flash I/F • Host handles everything, NAND Flash storage remains dumb and SSD simple 9 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 Host • Improved drive intelligence Object-based File System OSD driver • OSSD: OSD I /F Object-based Solid State Drive OSD layer Flash I/F NAND Flash OSSD 10 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 11 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  12. Storage Model Application Application Host System Call Interface System Call Interface File System User File System User Component Component File System Storage Management g OSD Interface Sector/LBA Interface OSD Storage Management g Storage Block I/O Manager Block I/O Manager Device Physical Media Physical Media Traditional OSD 12 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 VFS exofs ext3 udf osd_uld (osd.ko) bsg sd sr st osd_lld (libosd.ko) SCSI core (scsi_mod.ko) iSCSI SCSI/ SCSI initiator initiator SATA SCSI SATA 13 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 14 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 15 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  16. Prototype Implementation

  17. Overall Architecture Host VFS Object-based File System Object-aware I/O Scheduler OSSD Initiator OSD Interface OSSD Target OSSD Firmware Object Management Layer (OML) Flash Management Layer (FML) Flash Abstraction Layer (FAL) NAND Flash 17 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  18. Prototype Architecture OID-Context Priority Queue Hash Host I/O 46 Q n OAQ Context C VFS oid =46 7 Q 1 OFS W 7 Q 0 oid =7 OAQ W 16:8 OSSD Firmware Object I /O instances OID-Descriptor OML OML Index FML oid=7 oid=21 9 FAL LRU Attribute Object SCSI Subsystem libata Descriptor Mapping SATA-2 READ/ WRITE/ ERASE ... RawSSD NAND Flash FML Allocation Bitmap 18 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  19. Legacy Stack Host VFS EXT4 I/O Scheduler (CFQ) sFTL FAL SCSI Subsystem libata READ/WRITE/ERASE SATA-2 RawSSD NAND Flash 19 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 20 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

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

  22. Multi-threaded writes 22 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) 23 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

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

  25. The OpenSSD Project

  26. http://www.openssd-project.org 26 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 27 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  28. Jasmine OpenSSD Platform Indilinx Barefoot controller 28 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 29 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. 30 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) • … 31 NVRAMOS 2011, Cheju Island, Korea, April 18—20, 2011. – Jin-Soo Kim (jinsookim @skku.edu)

  32. Thank You!

Recommend


More recommend