object based ssd ossd our practice and experience
play

Object-based SSD (OSSD): Our Practice and Experience Jaesoo Lee - PowerPoint PPT Presentation

Object-based SSD (OSSD): Our Practice and Experience Jaesoo Lee jaesu.lee@samsung.com Flash Solution Team, Memory Division Samsung Electronics Co. Outline SAMSUNG Part 1. OSD and


  1. ���� ������� ������� Object-based SSD (OSSD): Our Practice and Experience Jaesoo Lee jaesu.lee@samsung.com Flash Solution Team, Memory Division Samsung Electronics Co.

  2. Outline SAMSUNG � Part 1. OSD and Object-based SSD � Introduction � Our Practice and Experience � Part 2. Application-Aware Storage � Introduction � Introduction � Our Practice and Experience � Future Directions � Summary and Conclusion 2

  3. Outline SAMSUNG � Part 1. OSD and Object-based SSD � Introduction � Our Practice and Experience � Part 2. Application-Aware Storage � Introduction � Introduction � Our Practice and Experience � Future Directions � Summary and Conclusion 3

  4. Outdated Storage Stack SAMSUNG � HDD as main storage for decades � Structure is relatively simple � Physical location can be easily derived ( ) ( ) 1 = ⋅ ⋅ + ⋅ + − LBA c N N h N s sec sec heads tors tors � Storage stack has remained static Storage stack has remained static � Narrow block interfaces (ATA, SCSI) � No information flow except block reads/writes � File subsystems make HDD-specific assumptions � Sequential read is much faster than random read � No write amplification, wear-out, background activity, … � What if the underlying device changes ? [Excerpted from Block Management in SSD, Usenix 2009 ] 4

  5. Challenges in SSD Storage Stack SAMSUNG � Host-side optimization is no more feasible � Confidential, subject to changes, different among SSDs, … □ Striping method □ Buffer cache management policy □ Logical-to-physical mapping □ # of channels □ Garbage collection policy □ # of ways □ Wear-leveling policy □ # of planes per chip □ Bad block management □ # of blocks per plane □ # of pages per block □ # of pages per block □ Block size Processor □ Page size Core �������������������� ���������� 5

  6. SSD-Aware File System SAMSUNG � Preliminary results with in-house SSD-aware file system � Up to 1700% improvement for random writes � 13% degradation in sequential write performance 18 SSD-Aware FS 16 ughput ext3 14 Normalized Through 12 12 10 8 6 4 2 0 4 8 16 32 64 128 256 512 1024 2048 4096 8192 I/O Size (KB) 6

  7. OSD: The Basic Concept SAMSUNG � Optional command set defined for SCSI device � Provide object-based interface instead of traditional block- based interface � In OSD, an object is a flexible-sized data container � Unique object ID � A set of attributes � A set of attributes 7

  8. SSD as OSD SAMSUNG � OSD manages space for objects � Informed cleaning (utilize delete info) � Stripe aligned accesses � Logical to physical mapping � OSD supports object attributes � OSD supports object attributes � Wear-leveling using cold data information � Priority assigned to objects (i.e., QoS) � OSD handles low-level operations � Block management in SSD [Source: Block Management in SSD, Usenix 2009 ] 8

  9. Linux Support for OSD SAMSUNG � Linux provide a ready-to-use OSD prototype � open-osd: open source initiator and exofs filesystem � OSC-OSD: iSCSI OSD target � Open-iSCSI: iSCSI transport vfs exofs ext3 udf osd_uld (osd.ko) bsg sd sr st osd_lld (libosd.ko) SCSI core (scsi_mod.ko) iscsi iscsi SCSI/ SCSI/ scsi initiator initiator SATA scsi sata 9

  10. Target Platform SAMSUNG � OSD is the most promising for mobile storages � Storage and system vendors are decoupled inherently � QoS provisioning is essential � e.g., managed flash memory applications including � eMMC, UFD, miniSD, SD, … � Our primary target is a Linux-based mobile platform � Our primary target is a Linux-based mobile platform 10

  11. Outline SAMSUNG � Part 1. OSD and Object-based SSD � Introduction � Our Practice and Experience � Part 2. Application-Aware Storage � Introduction � Introduction � Our Practice and Experience � Future Directions � Summary and Conclusion 11

  12. OSSD Prototype SAMSUNG � Prototyped in the Linux-based host � MLD: object mapping, space management, … � New type of SSD developed (called rawSSD) VFS □ Get rawSSD information exofs from open-osd from open-osd □ Erase all blocks □ Erase all blocks □ Erase a block and Linux kernel OSSD ULD □ Read a flash page OSSD MLD □ Program a flash page OSSD LLD Flash Cmd I/F SCSI/SATA Flash Mng. Host (Linux) raw SSD SATA Link 12

  13. MLD: Object Management Layer SAMSUNG � Overall architecture OSD Commands {PID, OID} [127:0] Allocator Index GC (RB-Tree) (RB-Tree) Wear-leveling Wear-leveling Object descriptor Meta data User data OSSD LLD READ / PROGRAM / ERASE Flash media 13

  14. MLD: Object Descriptor SAMSUNG � Containing metadata including extents and attributes � Cached in memory (LRU) □ Object ID Descriptor Header □ PPN □ Object information □ PPNs for object data Block Table □ Extent: support 9MB 1page □ Indirect table: support 4GB (16KB) □ Attr. data of object □ Usually contain i-node and length Attributes □ Managed using original code 14

  15. MLD: Object Mapping SAMSUNG � Support page-wise mapping � Based on page extents � Association policies of an update block � Fully associative � Separation of index and user data � No separation (called unified ) � Object associative (called per object ) � Garbage collection � Victim selection � Highest invalid pages � Bitmap for invalid information � Background GC supported 15

  16. Low Level Driver SAMSUNG � Provide block + Raw SSD specific interfaces to upper layers Raw SSD interface Block interface - obtain_config() - submit_bio() - erase_block() - format() � Sanity check OSSD LLD � Page overwrite Sanity Checker � Out-of-order page write � Out-of-order page write Backend dispatcher � Provide backend flexibility � RawSSD SCSI subsystem � Via SCSI-ATA Translation Layer (SATL) Raw � Loop RAM Loop SSD � RAM 16

  17. Experimental Setup SAMSUNG Read Thread Write Threads � Host system � Quad Q9650 3GHz … � 4GB RAM � Linux kernel 2.6.33 � 4GB partition for OSSD VFS exofs OSSD Driver Flash Cmd I/F SCSI/SATA Flash Mng. raw SSD Host 17

  18. Experiments SAMSUNG � 1. Better performance for fragmented/multi-stream writes � Effect of incorporating space management in OSSD � 2. QoS support (read prioritized service) � Effect of having knowledge on the contexts of data blocks � Effect of having knowledge on the contexts of data blocks and a request 18

  19. Exp1. Multi-thread File Write SAMSUNG � Scenario � Write 800 MB 4 thread � delete 2 file � write 800 MB 2 thread � Show the effect of fragmentation Unified update Index / Data Index / Per object block block Write 800MB 3m48.470s 3m52.263s 3m49.769s 4 thread After delete, 6m34.535s 2m59.239s 1m59.375s write 800MB 2 thread Erase 689 599 414 Valid copy 34887 23605 0 19

  20. Exp2. Read Priority SAMSUNG � Scenario � 200MB read over total 2.4G write (e.g., 300MB x 8) 20

  21. Outline SAMSUNG � Part 1. OSD and Object-based SSD � Introduction � Our Practice and Experience � Part 2. Application-Aware Storage � Introduction � Introduction � Our Practice and Experience � Future Directions � Summary and Conclusion 21

  22. Capacity Outran Bandwidth SAMSUNG � Capacity of HDD grows exponentially � Ratio of the capacity to the interface bandwidth also grows exponentially 1000000 1000000 Capacity width (sec) C/B Ratio 100000 100000 cale) Capacity / Interface Bandwidt Capacity (MB, log scale 10000 10000 Seagate Barracuda 1000 1000 (SATA/300) Seagate Barracuda IV IBM Deskstar 16GP (UltraATA/100) 100 100 (UltraATA/33) Quantum Fireball ST (UltraATA/33) 10 10 Maxtor 7000 (IDE) 1 1 1990 1995 2000 2005 2010 Year 22

  23. Application-Aware Storage SAMSUNG � With a small database proxy, the amount of data transferred can be decreased significantly � scan, aggregation, join, sorting, … � Other promising areas � Data mining, search indexing, image processing, Anti-Virus, … 23

  24. Application-Aware Storage SAMSUNG � Application-awareness can be easily achieved in OSSD � Integrated object (i.e., file) management � Fluent attribute mechanism � Furthermore, SSD is no more dumb � 4 Cortex-R4 CPUs, SATA 6Gbps, 512MB RAM, AXI bus matrix, � 4 Cortex-R4 CPUs, SATA 6Gbps, 512MB RAM, AXI bus matrix, 16 flash memory controllers, … � What about moving some of application’s work to OSSD? � Issues are models for programming, execution, and deployment 24

  25. Outline SAMSUNG � Part 1. OSD and Object-based SSD � Introduction � Our Practice and Experience � Part 2. Application-Aware Storage � Introduction � Introduction � Our Practice and Experience � Future Directions � Summary and Conclusion 25

  26. DB-Aware OSSD SAMSUNG � PostgreSQL PostgreSQL � Free and open source Query Parser Query Parser � Object-relational database Query Planner Query Planner Query Query OSSD Plug-in Optimizer Optimizer � Developed a plug-in for Executor Executor accelerating: accelerating: VFS � Aggregation ioctl EXOFS � Selection OSD Driver DB Proxy � Query is processed in a similar Kernel way to the active disk DB-Aware OSSD 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend