Storage Systems Sudhanva Gurumurthi.

Slides:



Advertisements
Similar presentations
Homework Reading Machine Projects Labs
Advertisements

Flash storage memory and Design Trade offs for SSD performance
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
Multiprocessing Memory Management
©Brooks/Cole, 2003 Chapter 5 Computer Organization.
Chapter 9 Virtual Memory Produced by Lemlem Kebede Monday, July 16, 2001.
Computer System Structures memory memory controller disk controller disk controller printer controller printer controller tape-drive controller tape-drive.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output – 3 I/O Software CS 342 – Operating Systems Ibrahim Korpeoglu.
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
Chapter 2: Computer-System Structures
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
 Memory Memory  Types of Memory Types of Memory  Memory Representation Memory Representation  Random Access Memory Random Access Memory  Read Only.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Disk Access. DISK STRUCTURE Sector: Smallest unit of data transfer from/to disk; 512B 2/4/8 adjacent sectors transferred together: Blocks Read/write heads.
Introduction to Database Systems 1 Storing Data: Disks and Files Chapter 3 “Yea, from the table of my memory I’ll wipe away all trivial fond records.”
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
1 CSE Department MAITSandeep Tayal Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
2: Computer-System Structures
1 Chapter 2: Computer-System Structures  Computer System Operation  I/O Structure  Storage Structure  Storage Hierarchy  Hardware Protection  General.
Lecture 16: Storage and I/O EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014, Dr.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
2.1 Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 2 Computer-System Structures Slide 1 Chapter 2 Computer-System Structures.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
Chapter 2: Computer-System Structures(Hardware) or Architecture or Organization Computer System Operation I/O Structure Storage Structure Storage Hierarchy.
A Presentation on Hard Disks By: Team 4 (HIS44): (1)Samarjyoti Das (972151) (2)Subhadeep Ghosh (986570) (3)Dipanjan Das (986510) (4)Sudhamayee Pradhan.
Von Neumann Machines. 3 The Von Neumann Architecture Model for designing and building computers, based on the following three characteristics: 1)The.
Paper by: Chris Ruemmler and John Wikes Presentation by: Timothy Goldberg, Daniel Sink, Erin Collins, and Tony Luaders.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
Solid State Disk Prof. Moinuddin Qureshi Georgia Tech.
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Chapter 2 content Basic organization of computer What is motherboard
Computer System Structures Storage
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Database Management Systems (CS 564)
Introduction to Computer Architecture
CS703 - Advanced Operating Systems
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Computer Architecture
Introduction I/O devices can be characterized by I/O bus connections
Disk scheduling In multiprogramming systems several different processes may want to use the system's resources simultaneously. The disk drive needs some.
Module IV Memory Organization.
Computer-System Architecture
Module 2: Computer-System Structures
So far… Text RO …. printf() RW link printf Linking, loading
Operating Systems Chapter 5: Input/Output Management
Chapter 5: I/O Systems.
PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS
Persistence: I/O devices
Module 2: Computer-System Structures
Lecture 11: Flash Memory and File System Abstraction
Lecture 5 Memory and storage
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Networks & I/O Devices.
Module 2: Computer-System Structures
Chapter 13: I/O Systems.
CS 295: Modern Systems Storage Technologies Introduction
Lecture Topics: 11/20 HW 7 What happens on a memory reference Traps
Memory Management & Virtual Memory
Introduction to Operating Systems
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Storage Systems Sudhanva Gurumurthi

Abstraction Split up the design problem into several layers At each intermediate layer: Use what its lower layer provides to do something Hide the characteristics of the lower layer to the one above. Functionality Physics 2

Associating Meaning to Physical Phenomena Presence or absence of current defines operating states No Current => “Off” Current Flowing => “On” Abstraction: Switch We can implement this abstraction using a transistor 3

Abstracting Electricity via Transistors A processor is: A collection of transistors connected by wires, where each transistor is either in the on/off state 4

Requirements for Storage Need a non-volatile medium for housing data Retain data when external power is removed Needs to keep the data for many years Low Cost $/GB

Data Representation for Storage Electrical Representation: No Current => “Off” Current Flowing => “On” This representation does not work for storage due to the non-volatility requirement

Magnetism! Use magnetic polarity to represent data Ferromagnetism Retain magnetization even after the external magnetic field is removed. Ferromagenetism – Materials whose magnetic dipole moments remain aligned even after the external magnetic field is removed. Ferroelectric material – Dielectric materials that can be given a permanent electrical polarization even after the external electric field is removed. Image Source: http://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Bar_magnet.jpg/800px-Bar_magnet.jpg

Hysteresis Loop Logic “1” Logic “0” Ferromagenetism – Materials whose magnetic dipole moments remain aligned even after the external magnetic field is removed. Ferroelectric material – Dielectric materials that can be given a permanent electrical polarization even after the external electric field is removed. Logic “0” Image Source: http://www.ndt-ed.org/EducationResources/CommunityCollege/MagParticle/Physics/HysteresisLoop.htm

Hard Disk Drive (HDD) Faraday’s Law Magnetic Induction

A Magnetic ‘Bit’ Logic “0” Logic “1” Region of grains of uniform magnetic polarity Logic “1” Boundary between regions of opposite magnetization Source: http://www.hitachigst.com/hdd/research/storage/pm/index.html

Abstracting the Magnetics Bits are grouped into 512-byte sectors To read data on a different track, we need to move the arm (seek) Source: http://www.victimoftechnology.com/hard/harddriveadventure.html

Disk Seeks Arm Platter

Disk Seek “Flight Plan” Speedup Arm accelerates Coast Arm moves at maximum velocity (long seeks) Slowdown Arm brought to rest near desired track Settle Head is adjusted to reach the access the desired location

Using the Disk Drive Hardware/Software Interface of the disk drive (Architecture) Instructions/Commands to read and write data from/to various sectors Memory and Registers to buffer the data between the electronics and the platters Other electronic components: Error Correcting Code Motor drivers

Memory Mapped I/O Can read and write to disk just like normal memory through address ranges. The addresses to these devices may not need to go through address translation OS is the one accessing them and protection does not need to be enforced There is no swapping/paging for these addresses.

Reading Data from Disk 0x00…0 Memory Bus Main Memory 0x0ff..f 0x100…0 I/O Bus RAM Controller 0x1ff….f

Reading a Sector from Disk Processing On the CPU Store [Command_Reg], READ_COMMAND Store [Track_Reg], Track # Store [Sector_Reg], Sector # /* Device starts operation */ L: Load R, [Status_Reg] cmp R, 0 jeq /* Data now available in disk RAM */ For i = 1 to sectorsize Memtarget[i] = MemOnDisk[i] CPU Overhead! Instead, block/switch to other process and let an interrupt wake you up. Again too much CPU overhead!

Direct-Memory Access (DMA) Store [Command_Reg], READ_COMMAND Store [Track_Reg], Track # Store [Sector_Reg], Sector # Store [Memory_Address_Reg], Address /* Device starts operation */ P(disk_request); … /* Operation complete and data is now in required memory locations*/ Assume that the DMA controller is integrated into the disk drive Called when DMA raises interrupt after Completion of transfer ISR() { V(disk_request); }

Memory Technologies Volatile Flash Memory Non-Volatile

Solid State Disk (SSD) Disks that use Flash Memory No moving parts Less power and heat Quiet operation Shock and vibration tolerant Drop-in replacement for disks Image Source: L. Waldock, “Intel X-25M Solid-State Drive”, Reghardware, September 2008.

The Architecture of an SSD Source: Agrawal et al., “Design Tradeoffs for SSD Performance”, USENIX 2008

Characteristics of Flash Memory Reads/Writes done at the page granularity Page Size: 2-4 Kilobytes Writes can be done only to pages in the erased state In-place writes are very inefficient Erases done at a larger block granularity Block Size: 32-128 pages Time for Page-Read < Page-Program < Block-Erase Limited endurance due to programs and erases These issues are handled by the Flash Translation Layer (FTL) inside the SSD

Logical Block Map Each write to a logical disk Logical Block Address (LBA) happens to a different physical Flash page Need a LBA -> Flash page mapping table Mapping table stored in SSD DRAM and reconstructed when booting Target flash page for a LBA write is chosen from an allocation pool of free blocks

Cleaning Writes leave behind blocks with stale copies of the page (superseded pages) Invoke garbage collection to erase these blocks and add them to the allocation pool page-size < block-size => copy non-superseded pages in the block to another block before erasure

Cleaning and Wear-Leveling Choose blocks that have the highest number of superseded pages to reduce the number of copies SSD capacity is overprovisioned to mask garbage collection overheads Wear-Leveling Distribute the program/erase cycles evenly over all the blocks in the SSD