CS 295: Modern Systems Storage Technologies Introduction Sang-Woo
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 o o o o 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 o Things are changing! Some (Pre)History Magnetic core memory 1950~1970s (1024 bits in photo) Photos from Wikipedia Rope memory (ROM) 1960s 72 KiB per cubic foot!
Hand-woven to program the Apollo guidance computer Drum memory 100s of KiB 1950s Some (More Recent) History Floppy disk drives 1970s~2000s 100 KiBs to 1.44 MiB Photos from Wikipedia
Hard disk drives 1950s to present MBs to TBs Some (Current) History Solid State Drives 2000s to present GB to TBs Non-Volatile Memory 2010s to present GBs Hard Disk Drives
Dominant storage medium for the longest time o Still the largest capacity share Data organized into multiple magnetic platters o Mechanical head needs to move to where data is, to read it o Good sequential access, terrible random access 100s of MB/s sequential, maybe 1 MB/s 4 KB random o 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 o Connected via South bridge chipset Ding Yuan, Operating Systems ECE344 Lecture 11: File System
Solid State Drives Solid state, meaning no mechanical parts, addressed much like DRAM o Relatively low latency compared to HDDs (10s of us, compared to ms) o 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 o High voltage acquired via internal charge pump (no need for high V input) Solid State Drives Serial ATA (SATA) interface, over Advanced Host Controller Interface (AHCI) standard o Used to be connected to south bridge, o Up to 600 MB/s, quickly became too slow for SSDs
Non-Volatile Memory Express (NVMe) o PCIe-attached storage devices multi-GB/s o Redesigns many storage support components in the OS for performance Non-Volatile Memory Naming convention is a bit vague o Flash storage is also often called NVM Storage-Class Memory (SCM)? o Anything that is non-volatile and fast? Too fast for even PCIe/NVMe software o Plugged into memory slots, accessed like memory
But not quite as fast as DRAM o Latency/Bandwidth/Access granularity o Usage under active research! Souce: NetApp blog, Storage Class Memory: Whats Next in Enterprise Storage, 2018 System Architecture Snapshot (2019) SATA Up to 600 MB/s GPU South Bridge SSD
NVMe CPU DDR4 2666 MHz 128 GB/s 100s of GB I/O Hub (IOH) Network Interface Host Memory
Storage for Analytics (2019) Fine-grained, Irregular access Terabytes in size TB DRAM of DRAM $$$ $8000/TB, 200W The goal:
$ $400/TB, 10W $ $150/TB, 2W Performance Challenges in Flash Storage 1 Flash Bandwidth: 0.6-10 GB/s DRAM ~50 GB/s Not bad! Considering local DRAM and RAID
Performance Challenges in Flash Storage 2 Flash Bandwidth: Latency: 0.6-10 GB/s ~100 s DRAM ~50 GB/s ? ~15 ns
Most latency from device itself Xu et. al., Performance Analysis of NVMe SSDs and their Implication on Real World Databases SYSTOR 2015 Performance Challenges in Flash Storage 2 Flash Bandwidth: Latency: DRAM 0.6-10 GB/s ~50 GB/s
! ~100 s ~15 ns Becomes the norm after a while Xu et. al., Performance Analysis of NVMe SSDs and their Implication on Real World Databases SYSTOR 2015 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! Only erased pages can be written Erasures done in block granularity In-place writes are bad! Flash Translation Layer Bus, Chip, Block, Page
DRAM Flash Translation Layer Logical Block Address Host Logical-to-Physical mapping Wear leveling Write-ahead logging Error correction Garbage collection Deduplication Quad-core ARM chip, GBs of DRAM Performance Challenges in Flash Storage 3
Flash Bandwidth: Latency: DRAM 0.6-10 GB/s ~50 GB/s ~100 s ~15 ns 8192 Bytes
128 Bytes Access Granularity: * Wastes performance by not using most of fetched page Things to Come
Benchmark map: A national or subnational land-cover/land-use map is developed and a forest mask identified. Example: Stock-change approach for estimating C emissions from deforestation. ... Estimating C emissions from forest degradation, e.g., selective logging ...
The words we use to describe people tend to have wide meanings - and these meanings often overlap and cover more than one kind of experience. ... The enduring pattern is inflexible and pervasive across a broad range of personal...
The philanthropy of the Alabama Scottish Rite Foundation began in the 1950's in Alabama and continues today. The mission of the Alabama Scottish Rite Foundation is to provide help to Alabama Schools as they work with students who struggle in...
How I learned to stop worrying and love WattpadWriting in the age of Digital Publishing. Dr. Anthony Bonato. Department of Mathematics. Ryerson University. Mathematics professor at Ryerson, research is on network science. 100+ articles in academic journals + 3 books.
Special issue on health and human security in border communities-Pan American Journal of Public Health Children's mental health and collective violence: A bi-national study on the United States/MexicoborderRev Panam Salud Publica. 2012 May;31(5):411-6.