Vous êtes sur la page 1sur 57

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 oxiderust)
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 RAID

Not used

Not used

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 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
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
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 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
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 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 (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

DVDs
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)
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)

Program Status Word (PSW) Includes

Address, Data, and Data Control


Bus status and control

Memory
User program
Interrupt Service Routine Program
Operating System
Interrupt Vector Table

State user/supervisor, priority, etc.


Program Priority
Condition Codes (CC)

Hardware to communicate over the BUS

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 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 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 CCs 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

Vous aimerez peut-être aussi