Chapter 6
External Memory
Types of External Memory• Magnetic Disk
– RAID (Redundant Array of Independent Disks)– Removable
• Optical– CD-ROM– CD-Recordable (CD-R)– CD-R/W– DVD– DVD-R– DVD-RW
• Magnetic Tape
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
Tracks and Cylinders
Multiple Platters
Disk Layout Methods Diagram
Physical Characteristics of Disk Systems
Inductive Write MR Read
Typical Hard Disk Drive Parameters
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
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
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 used
Not used
Not RAID
RAID 0, 1, 2
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 1Description:• 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
– 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 3Description:• 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 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 5Description:• 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 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 used
Not RAID
Raid Comparison (2)
Not used
Types of External Memory• Magnetic Disk
– RAID (Redundant Array of Independent Disks)– Removable
• Optical– CD-ROM– CD-Recordable (CD-R)– CD-R/W– DVD– DVD-R– DVD-RW
• Magnetic Tape
Optical Products
Optical Storage CD-ROM
• Originally for audio
• 650Mbytes 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 Layout
CD reader
CD-ROM Drive Speeds• Audio is single speed
– Constant linear velocity– 1.2 m/sec– Track (spiral) is 5.27km long– Gives 4391 seconds = 73.2 minutes
• Other speeds are quoted as multiples– e.g. 24x– 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 byte data + error correction
• Mode 2 = 2336 byte data
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 produce• Removable• Robust• Expensive for small runs• Slow• Read only
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.7G per layer)
• Full length movie on single disk– Using MPEG compression
CD vs DVD
DVD’sTwo 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)– Removable
• Optical– CD-ROM– CD-Recordable (CD-R)– CD-R/W– DVD– DVD-R– DVD-RW
• Magnetic Tape
Magnetic Tape
• Serial access• Slow• Very cheap
• Used for backup and archive
Chapter 7
Input/Output
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)
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
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 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, 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 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)• Stack Pointer (SP)
– User stack Pointer Storage– Supervisor Stack Pointer Storage
– 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
• 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 15 Done Bit• Bit 14 Interrupt Enable Bit• 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• Bit 14 Interrupt Enable Bit• 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 Sequence1) Programmer Action: Enable Interrupts by setting “intr enable” bit in Device Status Reg
2) Enabling Mechanism for device: 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
4) Process to Service the Interrupt: The Processor saves the “state” of the program (must be able to return to program)
The Processor goes into Privileged (or Supervisor) ModeThe 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?
5) The Processor Loads the PC from the Interrupt Vector Table The device provides the Vector Table entry number
6) Interrupt Service Routine is executed The routine ends with an “RTI” instruction
7) The context is switched back The stored user: PSR (POP into PSR), PC (POP into PC), USP loaded (POP into SP) The Processor goes into User mode 8) And the next instruction in the original program is fetched