07 external memory
TRANSCRIPT
![Page 1: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/1.jpg)
Chapter 6
External Memory
![Page 2: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/4.jpg)
Disk Data Layout - Platter
![Page 5: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/5.jpg)
Tracks and Cylinders
![Page 6: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/6.jpg)
Multiple Platters
![Page 7: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/7.jpg)
Disk Layout Methods Diagram
![Page 8: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/8.jpg)
Physical Characteristics of Disk Systems
![Page 9: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/9.jpg)
Inductive Write MR Read
![Page 10: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/10.jpg)
Typical Hard Disk Drive Parameters
![Page 11: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/11.jpg)
Formating
• Why?
– Must be able to identify position of data: start of track and sector
– Marks tracks and sectors
![Page 12: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/12.jpg)
Winchester Disk Format
30 fixed-length sectors per track
![Page 13: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/14.jpg)
Timing of Disk I/O Transfer
![Page 15: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/16.jpg)
Redundant Array of Independent Disks
Not used
Not used
Not RAID
![Page 17: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/17.jpg)
RAID 0, 1, 2
![Page 18: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/21.jpg)
RAID 3 & 4
![Page 22: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/24.jpg)
RAID 5 & 6
![Page 25: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/27.jpg)
RAID Comparison (1)
Not used
Not RAID
![Page 28: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/28.jpg)
Raid Comparison (2)
Not used
![Page 29: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/30.jpg)
Optical Products
![Page 31: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/32.jpg)
CD Construction
![Page 33: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/33.jpg)
CD Layout
![Page 34: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/34.jpg)
CD reader
![Page 35: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/36.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/37.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/38.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/39.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/40.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/41.jpg)
CD vs DVD
![Page 42: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/42.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/43.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/44.jpg)
Magnetic Tape
• Serial access• Slow• Very cheap
• Used for backup and archive
![Page 45: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/45.jpg)
Chapter 7
Input/Output
![Page 46: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/46.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/47.jpg)
Generic Model of I/O Device Interface (Module)
![Page 48: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/48.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/49.jpg)
I/O Device Interface Diagram
![Page 50: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/50.jpg)
Input/Output Alternatives
• Programmed I/O Interface
• Interrupt driven I/O Interface
• Direct Memory Access (DMA) I/O Interface
![Page 51: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/51.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/52.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/53.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/54.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/55.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/56.jpg)
Interrupt Sequence
1) What does the programmer do?
2) What does the computer do?
![Page 57: 07 External Memory](https://reader030.vdocuments.site/reader030/viewer/2022020301/587c8da11a28ab260d8b5c32/html5/thumbnails/57.jpg)
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