Secondary Storage Devices Magnetic Disks CENG 351 Fall

  • Slides: 55
Download presentation
Secondary Storage Devices: Magnetic Disks CENG 351 Fall 2004 1

Secondary Storage Devices: Magnetic Disks CENG 351 Fall 2004 1

Secondary Storage Devices Ø Two major types of storage devices: 1. Direct Access Storage

Secondary Storage Devices Ø Two major types of storage devices: 1. Direct Access Storage Devices (DASDs) – – Magnetic Discs Hard disks (high capacity, low cost per bit) Floppy disks (low capacity, slow, cheap) Optical Disks CD-ROM = (Compact disc, read-only memory 2. Serial Devices – Magnetic tapes (very fast sequential access) CENG 351 Fall 2004 2

Magnetic Disks • Bits of data (0’s and 1’s) are stored on circular magnetic

Magnetic Disks • Bits of data (0’s and 1’s) are stored on circular magnetic platters called disks. • A disk rotates rapidly (& never stops). • A disk head reads and writes bits of data as they pass under the head. • Often, several platters are organized into a disk pack (or disk drive). CENG 351 Fall 2004 3

A Disk Drive surfaces Boom Spindle Read/Write heads Disk drive with 4 platters and

A Disk Drive surfaces Boom Spindle Read/Write heads Disk drive with 4 platters and 8 surfaces CENG 351 Fall 2004 4

Looking at a surface tracks sector Surface of disk showing tracks and sectors CENG

Looking at a surface tracks sector Surface of disk showing tracks and sectors CENG 351 Fall 2004 5

Organization of Disks • Disk contains concentric tracks. • Tracks are divided into sectors

Organization of Disks • Disk contains concentric tracks. • Tracks are divided into sectors • A sector is the smallest addressable unit in a disk. CENG 351 Fall 2004 6

Accessing Data • When a program reads a byte from the disk, the opearting

Accessing Data • When a program reads a byte from the disk, the opearting system locates the surface, track and sector containing that byte, and reads the entire sector into a special area in main memory called buffer. • The bottleneck of a disk access is moving the read/write arm. So it makes sense to store a file in tracks that are below/above each other in different surfaces, rather than in several tracks in the same surface. CENG 351 Fall 2004 7

Cylinders • A cylinder is the set of tracks at a given radius of

Cylinders • A cylinder is the set of tracks at a given radius of a disk pack. – i. e. a cylinder is the set of tracks that can be accessed without moving the disk arm. • All the information on a cylinder can be accessed without moving the read/write arm. CENG 351 Fall 2004 8

Cylinders CENG 351 Fall 2004 9

Cylinders CENG 351 Fall 2004 9

Estimating Capacities • • Track capacity = # of sectors/track * bytes/sector Cylinder capacity

Estimating Capacities • • Track capacity = # of sectors/track * bytes/sector Cylinder capacity = # of tracks/cylinder * track capacity Drive capacity = # of cylinders * cylinder capacity Number of cylinders = # of tracks in a surface CENG 351 Fall 2004 10

Exercise • Store a file of 20000 records on a disk with the following

Exercise • Store a file of 20000 records on a disk with the following characteristics: # of bytes per sector = 512 # of sectors per track = 40 # of tracks per cylinder = 11 # of cylinders = 1331 Q 1. How many cylinders does the file require if each data record requires 256 bytes? Q 2. What is the total capacity of the disk? CENG 351 Fall 2004 11

Organizing Tracks by sector 6 10 7 5 3 6 4 8 2 7

Organizing Tracks by sector 6 10 7 5 3 6 4 8 2 7 3 9 9 11 2 5 10 1 11 4 1 Pysically adjacent sectors 8 Sectors with 3: 1 interleaving CENG 351 Fall 2004 12

Exercise • Suppose we want to read consecutively the sectors of a track in

Exercise • Suppose we want to read consecutively the sectors of a track in order: sector 1, sector 2, … sector 11. Suppose the disk cannot read consecutive sectors • How many revolutions to read the disk? a) Without interleaving b) With 3: 1 interleaving • Note that nowadays most disk controllers are fast enough so that no interleaving is needed. CENG 351 Fall 2004 13

Clusters • Another view of sector organization is the one maintained by the O.

Clusters • Another view of sector organization is the one maintained by the O. S. ’s file manager. • It views the file as a series of clusters of sectors. • File manager uses a file allocation table (FAT) to map logical sectors of the file to the physical clusters. CENG 351 Fall 2004 14

Extents • If there is a lot of room on a disk, it may

Extents • If there is a lot of room on a disk, it may be possible to make a file consist entirely of contiguous clusters. Then we say that the file is one extent. (very good for sequential processing) • If there isn’t enough contiguous space available to contain an entire file, the file is divided into two or more noncontiguous parts. Each part is an extent. CENG 351 Fall 2004 15

Fragmentation Ø Internal fragmentation: loss of space within a sector or a cluster. 1)

Fragmentation Ø Internal fragmentation: loss of space within a sector or a cluster. 1) Due to records not fitting exactly in a sector: e. g. Sector size is 512 and record size is 300 bytes. Either – store one record per sector, or – allow records span sectors. 2) Due to the use of clusters: If the file size is not a multiple of the cluster size, then the last cluster will be partially used. CENG 351 Fall 2004 16

Choice of cluster size Ø Some operating systems allow system administrator to choose cluster

Choice of cluster size Ø Some operating systems allow system administrator to choose cluster size. • When to use large cluster size? • What about small cluster size? CENG 351 Fall 2004 17

Organizing Tracks by Block • Disk tracks may be divided into user-defined blocks rather

Organizing Tracks by Block • Disk tracks may be divided into user-defined blocks rather than into sectors. • Blocks can be fixed or variable length. • A block is usually organized to hold an integral number of logical records. • Blocking Factor = number of records stored in a block. • No internal fragmentation, no record spanning two blocks. • In block-addressing scheme each block of data is accompanied by one or more subblocks containing extra information about the block. CENG 351 Fall 2004 18

Non-data Overhead • Both blocks and sectors require non-data overhead (written during formatting) •

Non-data Overhead • Both blocks and sectors require non-data overhead (written during formatting) • On sector addressable disks this information involves sector address, track address, and condition (usable/defective). Also pre-formatting involves placing gaps and synchronization marks. • On block-organized disk, more information is needed and the programmer should be aware of some of this information. CENG 351 Fall 2004 19

Exercise • Consider a block-addressable disk with the following characteristics: – Size of track

Exercise • Consider a block-addressable disk with the following characteristics: – Size of track 20, 000 bytes. – Nondata overhead per block = 300 bytes. – Record size = 100 byte. • Q) How many records can be stored per track if blocking factor is a) 10 b) 60 CENG 351 Fall 2004 20

The Cost of a Disk Access Ø The time to access a sector in

The Cost of a Disk Access Ø The time to access a sector in a track on a surface is divided into 3 components: Time Component Action Seek Time to move the read/write arm to the correct cylinder Rotational delay (or latency) Time it takes for the disk to rotate so that the desired sector is under the read/write head Transfer time Once the read/write head is positioned over the data, this is the time it takes for transferring data CENG 351 Fall 2004 21

Seek time • Seek time is the time required to move the arm to

Seek time • Seek time is the time required to move the arm to the correct cylinder. • Largest in cost. Typically: – 5 ms (miliseconds) to move from one track to the next (track-to-track) – 50 ms maximum (from inside track to outside track) – 30 ms average (from one random track to another random track) CENG 351 Fall 2004 22

Average Seek Time (s) • Since it is usually impossible to know exactly how

Average Seek Time (s) • Since it is usually impossible to know exactly how many tracks will be traversed in every seek, we usually try to determine the average seek time (s) required for a particular file operation. • If the starting and ending positions for each access are random, it turns out that the average seek traverses one third of the total number of cylinders. • Manufacturer’s specifications for disk drives often list this figure as the average seek time for the drives. • Most hard disks today have s of less than 10 ms, and highperformance disks have s as low as 7. 5 ms. CENG 351 Fall 2004 23

Latency (rotational delay) • Latency is the time needed for the disk to rotate

Latency (rotational delay) • Latency is the time needed for the disk to rotate so the sector we want is under the read/write head. • Hard disks usually rotate at about 5000 rpm, which is one revolution per 12 msec. • Note: – Min latency = 0 – Max latency = Time for one disk revolution – Average latency (r) = (min + max) / 2 = max / 2 = time for ½ disk revolution • Typically 6 – 8 ms average CENG 351 Fall 2004 24

Transfer Time • Transfer time is the time for the read/write head to pass

Transfer Time • Transfer time is the time for the read/write head to pass over a block. • The transfer time is given by the formula: number of bytes transferred Transfer time = ----------------- x rotation time number of bytes on a track • e. g. if there are 63 sectors per track, the time to transfer one sector would be 1/63 of a revolution. CENG 351 Fall 2004 25

Exercise Given the following disk: – 20 surfaces 800 tracks/surface 25 sectors/track 512 bytes/sector

Exercise Given the following disk: – 20 surfaces 800 tracks/surface 25 sectors/track 512 bytes/sector – 3600 rpm (revolutions per minute) – 7 ms track-to-track seek time 28 ms avg. seek time 50 ms max seek time. Find: a) Average latency b) Disk capacity c) Time to read the entire disk, one cylinder at a time CENG 351 Fall 2004 26

Exercise • Disk characteristics: – Average seek time = 8 msec. – Average rotational

Exercise • Disk characteristics: – Average seek time = 8 msec. – Average rotational delay = 3 msec – Maximum rotational delay = 6 msec. – Spindle speed = 10, 000 rpm – Sectors per track = 170 – Sector size = 512 bytes • Q) What is the average time to read one sector? CENG 351 Fall 2004 27

Sequential Reading • Given the following disk: – s = 16 ms – r

Sequential Reading • Given the following disk: – s = 16 ms – r = 8. 3 ms – Block transfer time = 8. 4 ms a) Calculate the time to read 10 sequential blocks b) Calculate the time to read 100 sequential blocks CENG 351 Fall 2004 28

Random Reading Given the same disk, a) Calculate the time to read 10 blocks

Random Reading Given the same disk, a) Calculate the time to read 10 blocks randomly b) Calculate the time to read 100 blocks randomly CENG 351 Fall 2004 29

Fast Sequential Reading • We assume that blocks are arranged so that there is

Fast Sequential Reading • We assume that blocks are arranged so that there is no rotational delay in transferring from one track to another within the same cylinder. This is possible if consecutive track beginnings are staggered (like running races on circular race tracks) • We also assume that the consecutive blocks are arranged so that when the next block is on an adjacent cylinder, there is no rotational delay after the arm is moved to new cylinder • Fast sequential reading: no rotational delay after finding the first block. CENG 351 Fall 2004 30

Consequently … Reading b blocks: i. Sequentially: s + r + b * btt

Consequently … Reading b blocks: i. Sequentially: s + r + b * btt insignificant for large files b * btt ii. Randomly: b * (s + r + btt) CENG 351 Fall 2004 31

Exercise • i) Given a file of 30000 records, 1600 bytes each, and block

Exercise • i) Given a file of 30000 records, 1600 bytes each, and block size 2400 bytes, how does record placement affect sequential reading time? Empty space in blocks. ii) Records overlap block boundaries. CENG 351 Fall 2004 32

Exercise • Specifications of a 300 MB disk drive: – – – Min seek

Exercise • Specifications of a 300 MB disk drive: – – – Min seek time = 6 ms. Average seek time = 18 ms Rotational delay = 8. 3 ms transfer rate = 16. 7 ms/track or 1229 bytes/ms Bytes per sector = 512 Sectors per track = 40 Tracks per cylinder = 12 Tracks per surface = 1331 Interleave factor = 1 Cluster size= 8 sectors Smallest extent size = 5 clusters Q) How long will it take to read a 2048 Kb file that is divided into 8000 256 byte records? i) ii) Access the file sequentially Access the file randomly CENG 351 Fall 2004 33

Secondary Storage Devices: Magnetic Tapes CENG 351 Fall 2004 34

Secondary Storage Devices: Magnetic Tapes CENG 351 Fall 2004 34

Characteristics • No direct access, but very fast sequential access. • Resistant to different

Characteristics • No direct access, but very fast sequential access. • Resistant to different environmental conditions. • Easy to transport, store, cheaper than disk. • Before it was widely used to store application data; nowadays, it’s mostly used for backups or archives CENG 351 Fall 2004 35

Magnetic tapes • A sequence of bits are stored on magnetic tape. • For

Magnetic tapes • A sequence of bits are stored on magnetic tape. • For storage, the tape is wound on a reel. • To access the data, the tape is unwound from one reel to another. • As the tape passes the head, bits of data are read from or written onto the tape. CENG 351 Fall 2004 36

Reel 2 Reel 1 tape Read/write head CENG 351 Fall 2004 37

Reel 2 Reel 1 tape Read/write head CENG 351 Fall 2004 37

Tracks • Typically data on tape is stored in 9 separate bit streams, or

Tracks • Typically data on tape is stored in 9 separate bit streams, or tracks. • Each track is a sequence of bits. • Recording density = # of bits per inch (bpi). Typically 800 or 1600 bpi. 30000 bpi on some recent devices. CENG 351 Fall 2004 38

In detail 8 bits = 1 byte … … … 0 1 1 0

In detail 8 bits = 1 byte … … … 0 1 1 0 1 1 0 1 0 … ½” … … parity bit CENG 351 Fall 2004 39

Tape Organization logical record 2400’ … BOT marker Data blocks Header block (describes data

Tape Organization logical record 2400’ … BOT marker Data blocks Header block (describes data blocks) CENG 351 Fall 2004 EOT Interblock gap marker (for acceleration & deceleration of tape) 40

Data Blocks and Records • Each data block is a sequence of contiguous records.

Data Blocks and Records • Each data block is a sequence of contiguous records. • A record is the unit of data that a user’s program deals with. • The tape drive reads an entire block of records at once. • Unlike a disk, a tape starts and stops. • When stopped, the read/write head is over an interblock gap. CENG 351 Fall 2004 41

Example: tape capacity • Given the following tape: – Recording density = 1600 bpi

Example: tape capacity • Given the following tape: – Recording density = 1600 bpi – Tape length = 2400 ' – Interblockgap = ½ " – 512 bytes per record – Blocking factor = 25 • How many records can we write on the tape? (ignoring BOT and EOT markers and the header block for simplicity) CENG 351 Fall 2004 42

Secondary Storage Devices: CD-ROM CENG 351 Fall 2004 43

Secondary Storage Devices: CD-ROM CENG 351 Fall 2004 43

Physical Organization of CD-ROM • • Compact Disk – read only memory (write once)

Physical Organization of CD-ROM • • Compact Disk – read only memory (write once) Data is encoded and read optically with a laser Can store around 600 MB data Digital data is represented as a series of Pits and Lands: – Pit = a little depression, forming a lower level in the track – Land = the flat part between pits, or the upper levels in the track CENG 351 Fall 2004 44

Organization of data • Reading a CD is done by shining a laser at

Organization of data • Reading a CD is done by shining a laser at the disc and detecting changing reflections patterns. – 1 = change in height (land to pit or pit to land) – 0 = a “fixed” amount of time between 1’s LAND PIT LAND. . . ------+ +-------+ +---. . . |_____| |_______|. . 0 0 1 0 0 0 1 0 0. . • Note : we cannot have two 1’s in a row! => uses Eight to Fourteen Modulation (EFM) encoding table. CENG 351 Fall 2004 45

Properties • Note that: Since 0's are represented by the length of time between

Properties • Note that: Since 0's are represented by the length of time between transitions, we must travel at constant linear velocity (CLV)on the tracks. • Sectors are organized along a spiral • Sectors have same linear length • Advantage: takes advantage of all storage space available. • Disadvantage: has to change rotational speed when seeking (slower towards the outside) CENG 351 Fall 2004 46

Addressing • 1 second of play time is divided up into 75 sectors. •

Addressing • 1 second of play time is divided up into 75 sectors. • Each sector holds 2 KB • 60 min CD: 60 min * 60 sec/min * 75 sectors/sec = 270, 000 sectors = 540, 000 KB ~ 540 MB • A sector is addressed by: Minute: Second: Sector e. g. 16: 22: 34 CENG 351 Fall 2004 47

A journey of a Byte and Buffer Management Reference: Sections 3. 8 & 3.

A journey of a Byte and Buffer Management Reference: Sections 3. 8 & 3. 9 CENG 351 Fall 2004 48

A journey of a byte • Suppose in our program we wrote: outfile <<

A journey of a byte • Suppose in our program we wrote: outfile << c; • This causes a call to the file manager (a part of O. S. responsible for I/O operations) • The O/S (File manager) makes sure that the byte is written to the disk. • Pieces of software/hardware involved in I/O: – – Application Program Operating System/ file manager I/O Processor Disk Controller CENG 351 Fall 2004 49

 • Application program – Requests the I/O operation • Operating system / file

• Application program – Requests the I/O operation • Operating system / file manager – – Keeps tables for all opened files Brings appropriate sector to buffer. Writes byte to buffer Gives instruction to I/O processor to write data from this buffer into correct place in disk. – Note: the buffer is an exact image of a cluster in disk. • I/O Processor – a separate chip; runs independently of CPU – Find a time when drive is available to receive data and put dat in proper format for the disk – Sends data to disk controller • Disk controller – A separate chip; instructs the drive to move R/W head – Sends the byte to th surface when the proper sector comes under R/W head. CENG 351 Fall 2004 50

Buffer Management • Buffering means working with large chunks of data in main memory

Buffer Management • Buffering means working with large chunks of data in main memory so the number of accesses to secondary storage is reduced. • Today, we’ll discuss the System I/O buffers. These are beyond the control of application programs and are manipulated by the O. S. • Note that the application program may implement its own “buffer” – i. e. a place in memory (variable, object) that accumulates large chunks of data to be later written to disk as a chunk. • Read Section 4. 2 for using classes to manipulate program buffers. CENG 351 Fall 2004 51

System I/O Buffer Data transferred by blocks Secondary Storage Buffer Program Data transferred by

System I/O Buffer Data transferred by blocks Secondary Storage Buffer Program Data transferred by records Temporary storage in MM for one block of data CENG 351 Fall 2004 52

Buffer Bottlenecks • Consider the following program segment: while (1) { infile >> ch;

Buffer Bottlenecks • Consider the following program segment: while (1) { infile >> ch; if (infile. fail()) break; outfile << ch; } • What happens if the O. S. used only one I/O buffer? Buffer bottleneck • Most O. S. have an input buffer and an output buffer. CENG 351 Fall 2004 53

Buffering Strategies • Double Buffering: Two buffers can be used to allow processing and

Buffering Strategies • Double Buffering: Two buffers can be used to allow processing and I/O to overlap. – Suppose that a program is only writing to a disk. – CPU wants to fill a buffer at the same time that I/O is being performed. – If two buffers are used and I/O-CPU overlapping is permitted, CPU can be filling one buffer while the other buffer is being transmitted to disk. – When both tasks are finished, the roles of the buffers can be exchanged. • The actual management is done by the O. S. CENG 351 Fall 2004 54

Other Buffering Strategies • Multiple Buffering: instead of two buffers any number of buffers

Other Buffering Strategies • Multiple Buffering: instead of two buffers any number of buffers can be used to allow processing and I/O to overlap. • Buffer pooling: – There is a pool of buffers. – When a request for a sector is received, O. S. first looks to see that sector is in some buffer. – If not there, it brings the sector to some free buffer. If no free buffer exists, it must choose an occupied buffer. (usually LRU strategy is used) CENG 351 Fall 2004 55