Input/output (I/O) I/O devices. Performance aspects. CS/COE1541: Intro. to Computer Architecture. Input/output subsystem.



Similar documents
Price/performance Modern Memory Hierarchy

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

CS 6290 I/O and Storage. Milos Prvulovic

Input / Ouput devices. I/O Chapter 8. Goals & Constraints. Measures of Performance. Anatomy of a Disk Drive. Introduction - 8.1

Disk Storage & Dependability

COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University. (

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

RAID. RAID 0 No redundancy ( AID?) Just stripe data over multiple disks But it does improve performance. Chapter 6 Storage and Other I/O Topics 29

Introduction to I/O and Disk Management

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Robert Wagner

Chapter 10: Mass-Storage Systems

Storage. The text highlighted in green in these slides contain external hyperlinks. 1 / 14

1. Computer System Structure and Components

Communicating with devices

1 Storage Devices Summary

Solid State Drive Architecture

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.

COS 318: Operating Systems. Storage Devices. Kai Li and Andy Bavier Computer Science Department Princeton University

Chapter 9: Peripheral Devices: Magnetic Disks

Sistemas Operativos: Input/Output Disks

Big Picture. IC220 Set #11: Storage and I/O I/O. Outline. Important but neglected

Lecture 36: Chapter 6

Storing Data: Disks and Files

Chapter 12: Mass-Storage Systems

Hard Disk Drives and RAID

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Disks and RAID. Profs. Bracy and Van Renesse. based on slides by Prof. Sirer

Devices and Device Controllers

Lecture 9: Memory and Storage Technologies

CS161: Operating Systems

Data Storage and Backup. Sanjay Goel School of Business University at Albany, SUNY

Q & A From Hitachi Data Systems WebTech Presentation:

Floppy Drive & Hard Drive

How To Improve Performance On A Single Chip Computer

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture

Chapter 11 I/O Management and Disk Scheduling

Computer Organization & Architecture Lecture #19

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Computer Systems Structure Input/Output

EUCIP IT Administrator - Module 1 PC Hardware Syllabus Version 3.0

Indexing on Solid State Drives based on Flash Memory

Computer Systems Structure Main Memory Organization

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15

Understanding Flash SSD Performance

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

Operating Systems. RAID Redundant Array of Independent Disks. Submitted by Ankur Niyogi 2003EE20367

760 Veterans Circle, Warminster, PA Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA

Computer Architecture Prof. Mainak Chaudhuri Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Read this before starting!

Intel RAID Controllers

SSDs and RAID: What s the right strategy. Paul Goodwin VP Product Development Avant Technology

RAID Performance Analysis

I/O. Input/Output. Types of devices. Interface. Computer hardware

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 5 Storage Devices

Distribution One Server Requirements

Data storage and high-speed streaming

Reliability and Fault Tolerance in Storage

Unexpected Power Loss Protection

Chapter 7: Storage Devices

COMP 7970 Storage Systems

Supporting Hard Drives

CS 61C: Great Ideas in Computer Architecture. Dependability: Parity, RAID, ECC

Benefits of Intel Matrix Storage Technology

Storage and File Systems. Chester Rebeiro IIT Madras

Chapter 7 Types of Storage. Discovering Computers Your Interactive Guide to the Digital World

This user guide describes features that are common to most models. Some features may not be available on your computer.

High-Performance SSD-Based RAID Storage. Madhukar Gunjan Chakhaiyar Product Test Architect

Nasir Memon Polytechnic Institute of NYU

Storing Data: Disks and Files. Disks and Files. Why Not Store Everything in Main Memory? Chapter 7

Flash for Databases. September 22, 2015 Peter Zaitsev Percona

Architecting High-Speed Data Streaming Systems. Sujit Basu

IDE/ATA Interface. Objectives. IDE Interface. IDE Interface

Dependable Systems. 9. Redundant arrays of. Prof. Dr. Miroslaw Malek. Wintersemester 2004/05

Technologies Supporting Evolution of SSDs

Understanding endurance and performance characteristics of HP solid state drives

An Exploration of Hybrid Hard Disk Designs Using an Extensible Simulator

The Bus (PCI and PCI-Express)

Choosing the Right NAND Flash Memory Technology

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Bandwidth Calculations for SA-1100 Processor LCD Displays

HP Smart Array Controllers and basic RAID performance factors

William Stallings Computer Organization and Architecture 7 th Edition. Chapter 6 External Memory

Outline. CS 245: Database System Principles. Notes 02: Hardware. Hardware DBMS Data Storage

RoHS Compliant SATA High Capacity Flash Drive Series Datasheet for SAFD 25NH-M

Guide to SATA Hard Disks Installation and RAID Configuration

Enterprise-class versus Desktopclass

Scaling from Datacenter to Client

technology brief RAID Levels March 1997 Introduction Characteristics of RAID Levels

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Discovering Computers Chapter 7 Storage

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

SATA II 3Gb/s SSD. SSD630 Benefits. Enhanced Performance. Applications

Chapter 8. Secondary Storage. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved.

VAIO Computer Recovery Options Guide

HP Z Turbo Drive PCIe SSD

SOLID STATE DRIVES AND PARALLEL STORAGE

Transcription:

Input/output (I/O) CS/COE1541: Intro. to Computer Architecture Input/output subsystem Sangyeun Cho Computer Science Department I/O connects User (human) and CPU (or a program running on it) Environment (physical world) and CPU (or a program running on it) Bottom line: I/O devices and CPU I/O devices have vastly different performance requirements E.g., Hard disk vs. mouse Bandwidth (e.g., block-oriented) vs. latency (e.g., character-oriented) I/O system architecture Control: Polling (I/O device is passive ) vs. interrupt (I/O device is active ) Synchronous or asynchronous buses Parallel or serial buses DMA (direct memory access) I/O interfaces are driven by standards I/O devices Performance aspects To/from users Display, keyboard, mouse, To/from non-volatile storage Hard disk, tape, flash drives, To/from other computers Network interface card (NIC), Questions What are the performance requirements of these devices? Are there changing needs? I/O devices typically have fixed bandwidth requirements What is the necessary bandwidth (to/from video buffer) for a 1024x768 screen at 60Hz refresh rate? Two tiers Between user and device Display screen video card (VGA cable & signal interface) Between device and CPU Video card CPU (e.g., AGP) Another bandwidth example How many transactions per second can be handled? Latency

I/O bus CPU-I/O interfacing Processor-memory bus Main Memory processor DMA I/O bridge I/O bus I/O ctrl I/O ctrl I/O ctrl I/O device I/O device I/O device Processor-memory bus Masters: processor, I/O bridge (esp. DMA) Slave: main memory I/O bus Decouples memory and I/O bus transactions Accommodates (slower) I/O devices and allows efficient data transfer using dedicated buffers and DMA Memory-mapped I/O I/O control bits (e.g., turn on, turn off, change color, ) are located in memory addresses Use regular load and store to read from and write to those bits These addresses are volatile Dedicated I/O address space and instructions In any case, I/O device control is done via well-defined interface register specification DMA (direct memory access) DMA and virtual memory Taps into the main memory bus and I/O device buffers From I/O device to main memory (e.g., copying a new network packet from NIC to main memory) From main memory to I/O device (e.g., writing a block of data from memory to hard disk) From I/O device to I/O device From a main memory location to another Key is programmability Source and destination Total transfer size (how many bytes in total?) Transfer unit (how many bytes at a time?) Transfer triggering condition & transfer termination condition Various event notification methods (e.g., termination, error, ) Different virtual memory pages have different physical page numbers DMA operation over multiple pages can pose a problem what is the next page? Solutions DMA using VM addresses With translation hardware OS does not remap those pages until DMA is done Partition DMA transfer into pages OS chains the pages for the requester DMA vs. CPU priority

DMA and cache coherence Bus Two copies One in cache One in main memory When transferring data from memory to I/O When transferring data from I/O to memory Solutions Do not cache I/O data Flush cache whenever needed (e.g., write dirty data to main memory before I/O write) Similarly, invalidate cache before I/O read Primitives (special instructions or registers to control the actions) are provided by hardware Connects different components in a computer system CPU-memory Memory-I/O Chip-to-chip There are serial buses Processor-memory bus vs. I/O bus Synchronous vs. asynchronous Master & slave When we have multiple masters, we need arbitration Address & data Separate signals or multiplexed Split transaction bus Decouples address transfer and data transfer and allows multiple address transfers before the first data transfer takes place increased bus utilization, high bandwidth at the cost of increased design complexity Master & slave Bus signals Master Address Bus entity that can initiate a bus transaction Examples: CPU, DMA Data Slave Bus entity that does not initiate a transaction by itself Rather, it only responds to a request from a bus master Example: Memory Control Signals that show or govern: bus transaction type, arbitration, data transfer timing, exception, etc. As to timing, address and control signals precede data for read (why?) or they can come (close) together for write

AMBA example Transfer with wait states AMBA (Advanced Microcontroller Bus Architecture) from ARM Multiple transfers Burst, sequential (increasing)

Burst, wrapping Magnetic disk drive platter Stack of platters Two surfaces per platter Tracks & sectors Heads move together (single arm) Disk access time Queueing + seek Rotation + transfer Magnetic disk drive, performance Improving magnetic disk drive Queueing time How many jobs are queued at the time of request Seek time Time needed to move the arm to the target track Mechanical! Rotation delay Time for the target sector to be under the head ½ rotation time on average Mechanical! Transfer time Time to read out, buffer, and transfer data Has to do with rotation speed, recording density, buffering method, and interface used Use smart scheduling to reduce queueing time Locality-based scheduling Faster seeking or arm movement (Mechanical) Faster rotation speed (currently 7200rpm or higher) (Mechanical) Denser recording E.g., vertical magnetization Get perpendicular - http://www.hitachigst.com/hdd/research/recording_head/pr/perpendicular Animation.html Larger buffer (currently 16MB for PCs) Smart caching Flash buffer (a.k.a. hybrid hard drive) Higher-bandwidth bus stanrards Serial ATA or SATA: 150MB/s 300MB/s 600MB/s C.f., parallel ATA or PATA: max 133MB/s

Magnetic disk drive, some metrics Hard disk product families Capacity GB Performance Latency (ms) + transfer rate (MB/s) Power consumption Watt There are different modes (e.g., spindle off) Form factor Inch inch inch Reliability MTBF (mean time between failures), POH (power-on hours) Vibration, thermal, EMI, Cost $$, MB/$ PC/workstation (3.5-in) Performance, price, and capacity 200~1,000GB Notebook (2.5-in) Power, capacity, and form factor 40~250GB Embedded products Cost sensitivity and reliability 80~250GB (PVR) Micro-drive (<1-in) Form factor, power, and cost 2~8GB Example specification Price per GB trend

Cost vs. access time Hybrid hard drive SRAM DRAM All disks have a DRAM cache DRAM Cache Disk ATA Interface A H-HDD also has a non-volatile cache NV Cache Hybrid hard drive Up to 90% Power Saving when powered down Read and Write instantly while spindle stopped Read instantly even while spindle spinning for higher IO rate DRAM Cache NV Cache Disk comes ready in less than 1 second ATA Interface HHD boot/resume (Windows) During shutdown or hibernate all the disk sectors needed to boot or resume are pinned into the NV cache On next power on the BIOS POST runs and the disk is powered on but the spindle won t be ready for 2~4 seconds BIOS can read data from the NV cache and all boot process I/O can be read from the NV cache Once the rotating media is ready I/O can be satisfied by both NV cache and rotating media for optimized read performance

Power saving mode (Windows) Hybrid hard drive summary SuperFetch buffers disk data in system DRAM to fulfill reads Write I/Os buffered in NV cache while disk is spun down Disk spins up only when Read cache miss NV cache full The disk spin-down and continues to use the NV cache Basic idea Implement a 64~128MB NV cache using NAND flash memory The NV cache size will increase as NAND flash memory price goes down Potential benefits Reduce boot time and resume time Extend spindle down time lower power Higher reliability Problem Cost Full flash-based hard drives are already on the market Solid-state disk (SSD) Optical discs Instead of magnetic media accessed via mechanical parts (spindle motor, arm, ), SSD uses only solid-state components (NAND flash chips) to store information NAND flash memories are optimized for storage applications (larger read/write data unit than other addressable memories like SRAM and DRAM) C.f. NOR flash has been favored to store codes NAND flash memories are susceptible to write endurance Various wear-leveling techniques have been developed Hidden in flash translation layer or FTL Optical disc drives have become a standard archive/backup device for personal computing Based on optics/laser technology For writing, phase-change materials used (i.e., two different reflection rate) ~700MB A fun video: http://www.youtube.com/watch?v=96dwoea4djs ~4.7GB ~27GB

Storage devices trend Reliability issues in storage Hard disk We will see 1TB hard disks become mainstream in PC soon 2 capacity increase per year Perpendicular recording has been fully adopted Hybrid disks has been used somewhat (from notebook market) Solid-state disks are gaining momentum (Samsung s 64GB SSD was <$200 @Amazon, 11/06/2009) Optical disk CD speed of ~52 (saturated) Writeable DVD drives prevalent now (~16, speed saturated) Standard battle ended; Blu-ray group (Sony, Samsung, ) won over HD- DVD (previously AOD) group (Toshiba, NEC, ) Flash memory cards 16GB cards and 8GB USB drives are available Device (NAND flash) capacity has doubles every year (will slow down) We don t want to lose valuable data Fault is the cause of an error When a fault occurs, it creates a latent error, which can later manifest itself System failure occurs because of a manifested error Example Alpha particle hits DRAM cell (fault) Bit inversed (error) latent until it is read Error is propagated and affects the delivered service (failure) MTTF, MTTR, Reliability improvement MTTF (mean time to failure) 1/MTTF: rate of failures Fault avoidance How to prevent, by construction, fault occurrences MTTR (mean time to repair) MTBF (mean time between failures) MTTF + MTTR Module availability = MTTF/MTBF Fault tolerance How to provide, by redundancy, continued service in spite of faults Error removal How to minimize, by verification, the presence of latent errors Error forecasting How to estimate, by evaluation, the presence, creation, and consequences of errors

RAID RAID 0 and 1 Redundant array of inexpensive dirks Disk array with striped data can provide high bandwidth But not necessarily smaller latency What about reliability? Error rate with 100 hard disks is 100 times higher than that of 1 disk RAID 0 Data striped No provision for reliability This is not really a RAID it s AID RAID 1 Data mirrored Every bit is written in two different disks Expensive RAID 2 and 3 Optimizing small writes RAID 2 Bit interleaved parity Memory style ECC (error correction code) Still expensive 3R + 2W RAID 3 Byte-interleaved parity Add 1 check disk for N disks (overhead ~1/N) 2R + 2W

RAID 4 and 5 RAID 6 RAID 4 Block-interleaved parity 1 check disk for N data disks Check is done on a block (with the original data block possibly residing in a single disk) Allows parallel reads RAID 5 Same as RAID 4 but check blocks are also interleaved P+Q redundancy Added more parity for improved error recovery Berkeley s RAID prototype c. 1989 Sun 4/280 workstation w/ 128MB of DRAM Four dual-string SCSI controllers 28 5.25-in SCSI disks and specialized disk striping software