1 / 19

CS 295: Modern Systems Storage Technologies Introduction

CS 295: Modern Systems Storage Technologies Introduction. Sang-Woo Jun Spring, 2019. Storage Used To be a Secondary Concern. Typically, storage was not a first order citizen of a computer system As allured by its name “secondary storage”

evangeline
Download Presentation

CS 295: Modern Systems Storage Technologies Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 295: Modern SystemsStorage Technologies Introduction Sang-Woo Jun Spring, 2019

  2. Storage Used To be a Secondary Concern • Typically, storage was not a first order citizen of a computer system • As allured by its name “secondary storage” • Its job was to load programs and data to memory, and disappear • Most applications only worked with CPU and system memory (DRAM) • Extreme applications like DBMSs were the exception • Because conventional secondary storage was very slow • Things are changing!

  3. Some (Pre)History Rope memory (ROM) 1960’s 72 KiB per cubic foot! Hand-woven to program the Apollo guidance computer Magnetic core memory 1950~1970s (1024 bits in photo) Drum memory 100s of KiB 1950’s Photos from Wikipedia

  4. Some (More Recent) History Floppy disk drives 1970’s~2000’s 100 KiBs to 1.44 MiB Hard disk drives 1950’s to present MBs to TBs Photos from Wikipedia

  5. Some (Current) History Solid State Drives 2000’s to present GB to TBs Non-Volatile Memory 2010’s to present GBs

  6. Hard Disk Drives • Dominant storage medium for the longest time • Still the largest capacity share • Data organized into multiple magnetic platters • Mechanical head needs to move to where data is, to read it • Good sequential access, terrible random access • 100s of MB/s sequential, maybe 1 MB/s 4 KB random • Time for the head to move to the right location (“seek time”) may be ms long • 1000,000s of cycles! • Typically “ATA” (Including IDE and EIDE), and later “SATA” interfaces • Connected via “South bridge” chipset

  7. Ding Yuan, “Operating Systems ECE344 Lecture 11: File System”

  8. Solid State Drives • “Solid state”, meaning no mechanical parts, addressed much like DRAM • Relatively low latency compared to HDDs (10s of us, compared to ms) • Easily parallelizable using more chips – Multi-GB/s • Simple explanation: flash cells store state in a “floating gate” by charging it at a high voltage • High voltage acquired via internal charge pump (no need for high V input)

  9. Solid State Drives • Serial ATA (SATA) interface, over Advanced Host Controller Interface (AHCI) standard • Used to be connected to south bridge, • Up to 600 MB/s, quickly became too slow for SSDs • Non-Volatile Memory Express (NVMe) • PCIe-attached storage devices – multi-GB/s • Redesigns many storage support components in the OS for performance

  10. Non-Volatile Memory • Naming convention is a bit vague • Flash storage is also often called NVM • Storage-Class Memory (SCM)? • Anything that is non-volatile and fast? • Too fast for even PCIe/NVMe software • Plugged into memory slots, accessed like memory • But not quite as fast as DRAM • Latency/Bandwidth/Access granularity • Usage under active research! Souce: NetApp blog, “Storage Class Memory: What’s Next in Enterprise Storage,” 2018

  11. System Architecture Snapshot (2019) SATA Up to 600 MB/s GPU South Bridge SSD NVMe CPU I/O Hub (IOH) DDR4 2666 MHz 128 GB/s 100s of GB Network Interface … QPI/UPI 12.8 GB/s (QPI) 20.8 GB/s (UPI) PCIe 16-lane PCIe Gen3: 16 GB/s … Storage-Class Memory Host Memory (DDR4,…) Lots of moving parts!

  12. Storage for Analytics(2019) Fine-grained, DRAM TB of DRAM Irregular access Terabytes in size $$$ $8000/TB, 200W The goal: $ $ $400/TB, 10W $150/TB, 2W

  13. Performance Challenges in Flash Storage 1 DRAM Flash Bandwidth: Not bad! Considering local DRAM and RAID ~50 GB/s 0.6-10 GB/s

  14. Performance Challenges in Flash Storage 2 DRAM Flash Bandwidth: 😃 ? Latency: ~50 GB/s ~15 ns 0.6-10 GB/s ~100 µs Most latency from device itself Xu et. al., “Performance Analysis of NVMe SSDs and their Implication on Real World Databases” SYSTOR 2015

  15. Performance Challenges in Flash Storage 2 DRAM Flash Bandwidth: ! Latency: Becomes the norm after a while ~50 GB/s ~15 ns 0.6-10 GB/s ~100 µs Xu et. al., “Performance Analysis of NVMe SSDs and their Implication on Real World Databases” SYSTOR 2015

  16. Flash Fabric Characteristic Read/Write Imbalance Limited Cell Lifetime “block” (~2 MB) Blocks can die after ~3000 erases “page” (~8 KB) In-place writes are bad! In-place writes are bad! Only “erased” pages can be written Erasures done in “block” granularity

  17. Flash Translation Layer • Logical-to-Physical mapping • Wear leveling • Write-ahead logging • Error correction • Garbage collection • Deduplication • … Bus, Chip, Block, Page… … Flash Translation Layer DRAM Logical Block Address Host Quad-core ARM chip, GBs of DRAM

  18. Performance Challenges in Flash Storage 3 DRAM Flash Bandwidth: Latency: Access Granularity: 128 Bytes ~50 GB/s ~15 ns 0.6-10 GB/s 8192 Bytes ~100 µs * Wastes performance by not using most of fetched page

  19. Things to Come

More Related