57
Chapter 6 External Memory

07 External Memory

Embed Size (px)

Citation preview

Page 1: 07 External Memory

Chapter 6

External Memory

Page 2: 07 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

Page 3: 07 External Memory

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

Page 4: 07 External Memory

Disk Data Layout - Platter

Page 5: 07 External Memory

Tracks and Cylinders

Page 6: 07 External Memory

Multiple Platters

Page 7: 07 External Memory

Disk Layout Methods Diagram

Page 8: 07 External Memory

Physical Characteristics of Disk Systems

Page 9: 07 External Memory

Inductive Write MR Read

Page 10: 07 External Memory

Typical Hard Disk Drive Parameters

Page 11: 07 External Memory

Formating

• Why?

– Must be able to identify position of data: start of track and sector

– Marks tracks and sectors

Page 12: 07 External Memory

Winchester Disk Format

30 fixed-length sectors per track

Page 13: 07 External Memory

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?

Page 14: 07 External Memory

Timing of Disk I/O Transfer

Page 15: 07 External Memory

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

Page 16: 07 External Memory

Redundant Array of Independent Disks

Not used

Not used

Not RAID

Page 17: 07 External Memory

RAID 0, 1, 2

Page 18: 07 External Memory

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

Page 19: 07 External Memory

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

Page 20: 07 External Memory

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

Page 21: 07 External Memory

RAID 3 & 4

Page 22: 07 External Memory

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

Page 23: 07 External Memory

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

Page 24: 07 External Memory

RAID 5 & 6

Page 25: 07 External Memory

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

Page 26: 07 External Memory

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)

Page 27: 07 External Memory

RAID Comparison (1)

Not used

Not RAID

Page 28: 07 External Memory

Raid Comparison (2)

Not used

Page 29: 07 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

Page 30: 07 External Memory

Optical Products

Page 31: 07 External Memory

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

Page 32: 07 External Memory

CD Construction

Page 33: 07 External Memory

CD Layout

Page 34: 07 External Memory

CD reader

Page 35: 07 External Memory

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)

Page 36: 07 External Memory

CD-ROM Format

• Mode 0 = blank data field

• Mode 1 = 2048 byte data + error correction

• Mode 2 = 2336 byte data

Page 37: 07 External Memory

Random Access on CD-ROM & CD-R

• Difficult

• Process:– Move head to rough position– Set correct speed– Read address– Adjust to required location

Page 38: 07 External Memory

CD-ROM CD-R for & against

• Large capacity (?)• Easy to mass produce• Removable• Robust• Expensive for small runs• Slow• Read only

Page 39: 07 External Memory

CD-RW

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

• Material has two different reflectivities in different phase states

Page 40: 07 External Memory

DVD - technology

• Multi-layer

• Very high capacity (4.7G per layer)

• Full length movie on single disk– Using MPEG compression

Page 41: 07 External Memory

CD vs DVD

Page 42: 07 External Memory

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.

Page 43: 07 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

Page 44: 07 External Memory

Magnetic Tape

• Serial access• Slow• Very cheap

• Used for backup and archive

Page 45: 07 External Memory

Chapter 7

Input/Output

Page 46: 07 External Memory

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

Page 47: 07 External Memory

Generic Model of I/O Device Interface (Module)

Page 48: 07 External Memory

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

Page 49: 07 External Memory

I/O Device Interface Diagram

Page 50: 07 External Memory

Input/Output Alternatives

• Programmed I/O Interface

• Interrupt driven I/O Interface

• Direct Memory Access (DMA) I/O Interface

Page 51: 07 External Memory

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

Page 52: 07 External Memory

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

Page 53: 07 External Memory

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

Page 54: 07 External Memory

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

Page 55: 07 External Memory

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

Page 56: 07 External Memory

Interrupt Sequence

1) What does the programmer do?

2) What does the computer do?

Page 57: 07 External Memory

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