Chapter 6 External Memory Types of External Memory

  • Slides: 57
Download presentation
Chapter 6 External Memory

Chapter 6 External Memory

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks)

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks) – Removable • Optical – – – CD-ROM CD-Recordable (CD-R) CD-R/W DVD-RW • Magnetic Tape

Magnetic Disk • Disk substrate coated with magnetizable material (iron oxide…rust) • Substrate originally

Magnetic Disk • Disk substrate coated with magnetizable material (iron oxide…rust) • Substrate originally was aluminium - Is now glass – Improved surface uniformity • Increases reliability – Reduction in surface defects • Reduced read/write errors – Lower flight heights (head rides on air gap) – Better stiffness – Better shock/damage resistance

Disk Data Layout - Platter

Disk Data Layout - Platter

Tracks and Cylinders

Tracks and Cylinders

Multiple Platters

Multiple Platters

Disk Layout Methods Diagram

Disk Layout Methods Diagram

Physical Characteristics of Disk Systems

Physical Characteristics of Disk Systems

Inductive Write MR Read

Inductive Write MR Read

Typical Hard Disk Drive Parameters

Typical Hard Disk Drive Parameters

Formating • Why? – Must be able to identify position of data: start of

Formating • Why? – Must be able to identify position of data: start of track and sector – Marks tracks and sectors

Winchester Disk Format 30 fixed-length sectors per track

Winchester Disk Format 30 fixed-length sectors per track

Speed Parameters • Seek time – Time to position head at track • Latency

Speed Parameters • Seek time – Time to position head at track • Latency (Rotational) – Time for head to rotate to beginning of sector • Access time - Seek time + Latency time • Transfer rate - The rate at which data can be transferred after access T = b / N * 1/r Transfer time = bytes transferred / bytes/track * sec/revolution (track) Note: How does organization on disk (e. g. random vs sequential) effect total time?

Timing of Disk I/O Transfer

Timing of Disk I/O Transfer

RAID – Goals: Speed, Reliability, Standardization • Redundant Array of Independent Disks (or Redundant

RAID – Goals: Speed, Reliability, Standardization • Redundant Array of Independent Disks (or Redundant Array of Inexpensive Disks ? ) – Set of physical disks viewed as single logical drive by O/S – Data distributed across physical drives – Can use redundant capacity to store parity information • 7 “levels” of RAID organization (not a hierarchy) – 0 not really a RAID organization (no redundancy) – – – 1, 3 used for high transfer rate 5, 6 used for high transaction rate 2, 4 not commercially available • Requirements for high transfer rate: – High transfer rate along entire path between host memory to disk drives – Application must make I/O requests that drive disks efficiently

Redundant Array of Independent Disks Not RAID Not used

Redundant Array of Independent Disks Not RAID Not used

RAID 0, 1, 2

RAID 0, 1, 2

RAID 0 Description: • No redundancy (Not “really” RAID) • Data striped across all

RAID 0 Description: • No redundancy (Not “really” RAID) • Data striped across all disks • Round Robin striping Characteristics: • Increase speed – Multiple data requests probably not on same disk – Disks seek in parallel – A set of data is likely to be striped across multiple disks

RAID 1 Description: • • • Mirrored Disks Data is striped across disks 2

RAID 1 Description: • • • Mirrored Disks Data is striped across disks 2 copies of each stripe on separate disks Read from either Write to both Characteristics: • Recovery is simple – Swap faulty disk & re-mirror – No down time • Expensive

RAID 2 (not used) Description: • Disks are synchronized • Very small stripes –

RAID 2 (not used) Description: • Disks are synchronized • Very small stripes – Often single byte/word • Error correction calculated across corresponding bits on disks • Multiple parity disks store Hamming code error correction in corresponding positions Characteristics: • Lots of redundancy • Very Expensive – Not used commercially

RAID 3 & 4

RAID 3 & 4

RAID 3 Description: • Similar to RAID 2 • Only one “redundant” disk, no

RAID 3 Description: • Similar to RAID 2 • Only one “redundant” disk, no matter how large the array • Simple parity bit for each set of corresponding bits Characteristics: • Data on failed drive can be reconstructed from surviving data and parity info • Very high transfer rates • Not very expensive or complex

RAID 4 (not used) Description: • • • Each disk operates independently Good for

RAID 4 (not used) Description: • • • Each disk operates independently Good for high I/O request rate Large stripes Bit by bit parity calculated across stripes on each disk Parity stored on parity disk Characteristics: • Good for high request rates rather than high transfer rates • Every write impacts the parity disk so it becomes a bottleneck. • Not used commercially

RAID 5 & 6

RAID 5 & 6

RAID 5 Description: • Very similar to RAID 4 • Parity striped across all

RAID 5 Description: • Very similar to RAID 4 • Parity striped across all disks • Round robin allocation for parity stripe Characteristics: • Avoids RAID 4 bottleneck at parity disk • Commonly used in network servers

RAID 6 Description: • Two parity calculations • Stored in separate blocks on different

RAID 6 Description: • Two parity calculations • Stored in separate blocks on different disks • User requirement of N disks needs N+2 disks Characteristics: • High data availability – Three disks need to fail for data loss – Significant write penalty (two parity calculations)

RAID Comparison (1) Not RAID Not used

RAID Comparison (1) Not RAID Not used

Raid Comparison (2) Not used

Raid Comparison (2) Not used

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks)

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks) – Removable • Optical – – – CD-ROM CD-Recordable (CD-R) CD-R/W DVD-RW • Magnetic Tape

Optical Products

Optical Products

Optical Storage CD-ROM • Originally for audio • 650 Mbytes giving over 70 minutes

Optical Storage CD-ROM • Originally for audio • 650 Mbytes giving over 70 minutes audio • Polycarbonate coated with highly reflective coat, usually aluminium • Data stored as pits • Read by reflecting laser • Constant packing density • Constant linear velocity

CD Construction

CD Construction

CD Layout

CD Layout

CD reader

CD reader

CD-ROM Drive Speeds • Audio is single speed – – Constant linear velocity 1.

CD-ROM Drive Speeds • Audio is single speed – – Constant linear velocity 1. 2 m/sec Track (spiral) is 5. 27 km long Gives 4391 seconds = 73. 2 minutes • Other speeds are quoted as multiples – e. g. 24 x – Quoted figure is maximum drive can achieve • Note: CD-ROM has option of error correction (not on CD)

CD-ROM Format • Mode 0 = blank data field • Mode 1 = 2048

CD-ROM Format • Mode 0 = blank data field • Mode 1 = 2048 byte data + error correction • Mode 2 = 2336 byte data

Random Access on CD-ROM & CD-R • Difficult • Process: – – Move head

Random Access on CD-ROM & CD-R • Difficult • Process: – – Move head to rough position Set correct speed Read address Adjust to required location

CD-ROM CD-R for & against • • Large capacity (? ) Easy to mass

CD-ROM CD-R for & against • • Large capacity (? ) Easy to mass produce Removable Robust Expensive for small runs Slow Read only

CD-RW – – Erasable Getting cheaper Mostly CD-ROM drive compatible Phase change • Material

CD-RW – – Erasable Getting cheaper Mostly CD-ROM drive compatible Phase change • Material has two different reflectivities in different phase states

DVD - technology • Multi-layer • Very high capacity (4. 7 G per layer)

DVD - technology • Multi-layer • Very high capacity (4. 7 G per layer) • Full length movie on single disk – Using MPEG compression

CD vs DVD

CD vs DVD

DVD’s Two objectives had to be resolved to make the DVDs viable. • The

DVD’s Two objectives had to be resolved to make the DVDs viable. • The linear velocity of a DVD must be held constant and be able to reproduce a vertical frame rate of 29. 97 frames/second • Every DVD player had to have absolute tracking accuracy to insure the extremely narrow laser beam would scan exactly in the middle of the track where the data was recorded. The solution: • The disk is pressed with the track grooves accurately pre-cut and encoded with a constant bit rate frequency. Thus a blank DVD disk isn't really blank at all.

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks)

Types of External Memory • Magnetic Disk – RAID (Redundant Array of Independent Disks) – Removable • Optical – – – CD-ROM CD-Recordable (CD-R) CD-R/W DVD-RW • Magnetic Tape

Magnetic Tape • Serial access • Slow • Very cheap • Used for backup

Magnetic Tape • Serial access • Slow • Very cheap • Used for backup and archive

Chapter 7 Input/Output

Chapter 7 Input/Output

Input/Output Challenges • Must support a wide variety of peripherals – Delivering different amounts

Input/Output Challenges • Must support a wide variety of peripherals – Delivering different amounts of data – At different speeds – In different formats • All slower than CPU and RAM • Need standardized I/O Interfaces (modules) or channels

Generic Model of I/O Device Interface (Module)

Generic Model of I/O Device Interface (Module)

I/O Interface Function • Support single or multiple devices • Hide or reveal device

I/O Interface Function • Support single or multiple devices • Hide or reveal device properties • Provide – – – Control & Timing CPU Communication Device Communication Data Buffering Perhaps Error Detection

I/O Device Interface Diagram

I/O Device Interface Diagram

Input/Output Alternatives • Programmed I/O Interface • Interrupt driven I/O Interface • Direct Memory

Input/Output Alternatives • Programmed I/O Interface • Interrupt driven I/O Interface • Direct Memory Access (DMA) I/O Interface

Programmed I/O • Programmer has direct control over I/O – Sensing status – Read/write

Programmed I/O • Programmer has direct control over I/O – Sensing status – Read/write commands – Transferring data • CPU (program) must wait for I/O module to complete operation – Usually not a good use of CPU time

Programmed I/O - details • Program initiates I/O operation • Requests Write, sends data,

Programmed I/O - details • Program initiates I/O operation • Requests Write, sends data, and waits for done • Requests Read and waits for data ready – I/O module performs operation – I/O module sets status bits (in Status Register) to confirm operation is done • Program is continuously “Polling the I/O status register” checking status bits for I/O Ready/Done – Actually program may wait or come back later • Program completes I/O operation (processes data) – Reads data or Writes next data • Program continues In Programmed I/O, the program must wait for the I/O operation to be completed before moving on

Interrupt driven I/O • Programmer Issues I/O command to I/O interface – Similar to

Interrupt driven I/O • Programmer Issues I/O command to I/O interface – Similar to step one in programmed I/O • Programmer goes on to other work, i. e. does not have to “poll the device” and wait for I/O completion • Interface Requests an Interrupt when I/O is ready – Interface Requests “Service Routine (program) be executed” • CPU switches context and executes the I/O service routine. • At the end of the service routine, the context is switched back and the original program continues. Interrupt driven I/O relieves the need for polling I/O devices and programming the I/O service

Interrupt Physical Model • CPU – General Purpose Registers • Program counter (PC) •

Interrupt Physical Model • CPU – General Purpose Registers • Program counter (PC) • Stack Pointer (SP) – – • Program Status Word (PSW) – Includes • • • State – user/supervisor, priority, etc. Program Priority Condition Codes (CC) Hardware to communicate over the BUS • • Address, Data, and Data Control Bus status and control Memory – User program – Interrupt Service Routine Program – Operating System – Interrupt Vector Table • • User stack Pointer Storage Supervisor Stack Pointer Storage Includes an entry that points to the Interrupt Service Routine (Interrupt vector #) Device – Status/Control Register(s) – Includes: • • – – – Interrupt Enable bit Interrupt bit (sometimes called ready or done) Priority Level for Interrupt Service Routine (In hardware or firmware) Interrupt vector number (In hardware or firmware) Hardware to communicate with CPU over the BUS

Interface Registers • Keyboard Device: Keyboard Status Register (16 bit) • • • Bit

Interface Registers • Keyboard Device: Keyboard Status Register (16 bit) • • • Bit 15 Done Bit 14 Interrupt Enable Bits 0 -2 Priority Keyboard Data Register (16 bit) Contains character entered Keyboard Interrupt Vector (16 bit) Contains the “address” in the Interrupt Vector Table • Display Device: Display Status Register (16 bit) • • • Bit 15 Ready Bit 14 Interrupt Enable Bits 0 -2 Priority Display Data Register (16 Bit) Contains character to be displayed Display Interrupt vector (16 bit) Contains the “address” in the Interrupt Vector Table

Interrupt Sequence 1) What does the programmer do? 2) What does the computer do?

Interrupt Sequence 1) What does the programmer do? 2) What does the computer do?

Interrupt Sequence 1) Programmer Action: 2) Enabling Mechanism for device: 4) Process to Service

Interrupt Sequence 1) Programmer Action: 2) Enabling Mechanism for device: 4) Process to Service the Interrupt: 5) The Processor Loads the PC from the Interrupt Vector Table 6) Interrupt Service Routine is executed 7) The context is switched back 8) Enable Interrupts by setting “intr enable” bit in Device Status Reg When device wants service, and its enable bit is set (i. e, the I/O device has the right to request service), and the device priority is higher than the priority of the presently running program, and execution of an instruction is complete, then The Processor saves the “state” of the program (must be able to return to program) The Processor goes into Privileged (or Supervisor) Mode The Priority level is set (established by the interrupting device) The context is switched The user SP is saved and the Supervisor SP loaded The (PC) and the (PSR) are PUSHED onto the Supervisor Stack The contents of the other registers are not saved. Why? The CC’s are cleared. Why? The device provides the Vector Table entry number The routine ends with an “RTI” instruction The stored user: PSR (POP into PSR), PC (POP into PC), USP loaded (POP into SP) The Processor goes into User mode And the next instruction in the original program is fetched