37.hard disk drives - github pages · hard disk driver p hard disk driver have been the main form...

24
37. Hard Disk Drives Operating System: Three Easy Pieces 1 AOS@UC

Upload: others

Post on 24-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

37. Hard Disk DrivesOperating System: Three Easy Pieces

1AOS@UC

Page 2: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Hard Disk Driver

p Hard disk driver have been the main form of persistent data storage

in computer systems for decades (… and consequently file system

technology is predicated on their characteristics).

w The drive consists of a large number of sectors (512-byte blocks).

w Address Space :

¢ We can view the disk with n sectors as an array of sectors; 0 to n-1.

AOS@UC 2

Page 3: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

The Interface

p The only guarantee is that a single 512-byte write is atomic

w Either complete all or nothing

p Multi-sector operations are possible.

w Many file systems will read or write 4KB at a time.

w Torn write:

¢ If an untimely power loss occurs, only a portion of a larger write may complete.

p Accessing blocks in a contiguous chunk is the fastest access mode.

w A sequential read or write

w Much faster than any more random access pattern.

AOS@UC 3

Page 4: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Basic Geometry

p Platter (Aluminum coated with a thin magnetic layer)

w A circular hard surface

w Data is stored persistently by inducing magnetic changes to it.

w Each platter has 2 sides, each of which is called a surface.

123

4

5

6

78 9

10

11

0

spindle

A Disk with Just A Single Track (12 sectors)

AOS@UC 4

Page 5: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Basic Geometry (Cont.)

p Spindle

w Spindle is connected to a motor that spins the platters around (constantly)

w The rate of rotations is measured in RPM (Rotations Per Minute).

¢ Typical modern values : 7,200 RPM to 15,000 RPM.

¢ E.g., 10000 RPM : A single rotation takes about 6 ms.

p Track

w Concentric circles of sectors

w Data is encoded on each surface in a track.

w A single surface contains many thousands and thousands of tracks.

AOS@UC 5

Page 6: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

A Simple Disk Drive

p Disk head (One head per surface of the drive)

w The process of reading and writing is accomplished by the disk head.

w Attached to a single disk arm, which moves across the surface.

A Single Track Plus A Head

123

4

5

6

78 9

10

11

0

spindle

Rotates this way

AOS@UC 6

Page 7: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Example of a Disk

AOS@UC 7

Page 8: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

123

4

5

6

78 9

10

11

0

Single-track Latency: The Rotational Delay

p Rotational delay: Time for the desired sector to rotate

w Ex) Full rotational delay is R and we start at sector 6

¢ Read sector 0: Rotational delay = !"

¢ Read sector 5: Rotational delay = R-1 (worst case.)

spindle

Rotates this way

A Single Track Plus A Head

AOS@UC 8

Page 9: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

1

2

3

4

56

7

8

9

10

110

13

14

15

16

1718

19

20

21

22

2312

25

26

27

28

293031

32

33

34

35 24

1

23

4

5

6

7

89

10

11

0

13

141516

17

18

19

20 2122

23

12

252627

28

29

30

3132 33

34

35

24

Multiple Tracks: Seek Time

p Seek: Move the disk arm to the correct track

w Seek time: Time to move head to the track contain the desired sector.

w One of the most costly disk operations.

spindle

Three Tracks Plus A Head (Right: With Seek)(e.g., read to sector 11)

spindle

Rotates this way Rotates this way

AOS@UC 9

Page 10: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Phases of Seek

p Acceleration à Coasting à Deceleration à Settling

w Acceleration: The disk arm gets moving.

w Coasting: The arm is moving at full speed.

w Deceleration: The arm slows down.

w Settling: The head is carefully positioned over the correct track.

¢ The settling time is often quite significant, e.g., 0.5 to 2ms.

AOS@UC 10

Page 11: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Transfer

p The final phase of I/O

w Data is either read from or written to the surface.

p Complete I/O time:

w Seek

w Waiting for the rotational delay

w Transfer

AOS@UC 11

Page 12: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Track Skew

p Make sure that sequential reads can be properly serviced even when

crossing track boundaries.

w Without track skew, the head would be moved to the next track but the

desired next block would have already rotated under the head.

Three Tracks: Track Skew Of 2

9

19

29

35

13

3

32 22 06 16 26

10

1120

2130

31

3334 23

121

2

2425

14

15

4

5

27

2817

187

8

Spindle

Rotates this way

AOS@UC 12

Page 13: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Cache (Track Buffer)

p Hold data read from or written to the disk

w Allow the drive to quickly respond to requests (to recently seen sectors).

w Small amount of memory (usually around 64 MB for multi TB drives)

AOS@UC 13

Page 14: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Write on cache (a.k.a store buffer)

p Writeback (Immediate reporting)

w Acknowledge a write has completed when it has put the data in its

memory.

w faster but dangerous

p Write through

w Acknowledge a write has completed after the write has actually been

written to disk.

p Like in memory hierarchy, this can be source of headaches

w Consistency issues (order is not guaranteed)

AOS@UC 14

Page 15: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

I/O Time: Doing The Math

p I/O time (𝑇$/&):

p The rate of I/O (𝑅$/&):

𝑇$/& = 𝑇)**+ + 𝑇-./0/1.2 + 𝑇/-02)3*-

𝑅$/& =𝑆𝑖𝑧𝑒8-02)3*-

𝑇$/&

Cheetah 15K.5 Barracuda

Capacity 300 GB 1 TB

RPM 15,000 7,200

Average Seek 4 ms 9 ms

Max Transfer 125 MB/s 105 MB/s

Platters 4 4

Cache 16 MB 16/32 MB

Connects Via SCSI SATA

Disk Drive Specs: SCSI Versus SATA

AOS@UC 15

Page 16: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

ASIDE: The “Average” disk-seek

p Usually referred as a third of full seek time

p Average of all seek distances (for a disk with N tracks is), between two

tracks x,y

1𝑁";; 𝑥 − 𝑦

?

@AB

?

CAB

F?G ∫ ∫ 𝑥 − 𝑦 𝑑𝑥𝑑𝑦?

@AB =?CAB

F?G

FJ𝑥J − ?

"𝑥" + ?G

"𝑥 |𝑁0 = ?

J

AOS@UC 16

Page 17: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Performacne

p Trotation

w 15000RPM -> T1rot= 1/250RPS = 4ms AverageT1rot= T1rot/2 = 2ms

w 75000RPM à AverageT1rot = 4 ms

p Sequential access

w 1 rotation and no extra time in rotation or seeking

¢ 15K RMP à 2ms+4ms+100MB/125MB/s = 800 ms

¢ 𝑅$/& = 100MB/800ms = 125 MB/s

p Random access

¢ 15K RPM à 2ms+4ms + 4K/125 = 30 ms

¢ 𝑅$/& = 4KB/30ms = 0.66 MB/s

AOS@UC 17

Page 18: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

I/O Time Example (doing the math)

p Random workload: Issue 4KB read to random locations on the disk

p Sequential workload: Read 100MB consecutively from the disk

Cheetah 15K.5 Barracuda

𝑇)**+ 4 ms 9 ms

𝑇-./0/1.2 2 ms 4.2 ms

Random

𝑇/-02)3*- 30 microsecs 38 microsecs

𝑇$/& 6 ms 13.2 ms

𝑅$/& 0.66 MB/s 0.31 MB/s

Sequential

𝑇/-02)3*- 800 ms 950 ms

𝑇$/& 806 ms 963.2 ms

𝑅$/& 125 MB/s 105 MB/s

Disk Drive Performance: SCSI Versus SATA

There is a huge gap in drive performance between random and sequential workloads

AOS@UC 18

Page 19: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Disk Scheduling

p Disk Scheduler decides which I/O request to schedule next.

p SSTF (Shortest Seek Time First)

w Order the queue of I/O request by track

w Pick requests on the nearest track to complete first

9

21

33

27

15

3

24 12 06 18 30

10

1122

2334

35

2526 13

141

2

2829

16

17

4

5

31

3219

207

8

Spindle

Rotates this way

SSTF: Scheduling Request 21 and 2

Issue the request to 21 à issue the request to 2

AOS@UC 19

Page 20: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

SSTF is not a panacea.

p Problem 1: The drive geometry is not available to the host OS

w Solution: OS can simply implement Nearest-block-first (NBF). Assume that

sector “address” means ”something”

p Problem 2: Starvation

w If there were a steady stream of request to the inner track, request to

other tracks would then be ignored completely.

AOS@UC 20

Page 21: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Elevator (a.k.a. SCAN or C-SCAN)

p Move across the disk servicing requests in order across the tracks.

w Sweep: A single pass across the disk

¢ If a request comes for a block on a track that has already been services on this

sweep of the disk, it is queued until the next sweep (in both sweeps)

w F-SCAN

¢ Freeze the queue to be serviced when it is doing a sweep

¢ Avoid starvation of far-away requests

w C-SCAN (Circular SCAN)

¢ Sweep only from outer-to-inner, or inner-to-outer, etc. (better fairness since

middle tracks are no longer favored)

p All of then ignore rotation

AOS@UC 21

Page 22: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

How to account for Disk rotation costs?

w If rotation is faster than seek : request 16 à request 8

w If seek is faster than rotation : request 8 à request 16

9

21

33

27

15

3

24 12 06 18 30

10

1122

2334

35

2526 13

141

2

2829

16

17

4

5

31

3219

207

8

Spindle

Rotates this way

SSTF: Sometimes Not Good Enough

On modern drives, both seek and rotation are roughly equivalent:Thus, SPTF (Shortest Positioning Time First) is useful.

AOS@UC 22

Page 23: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

Other issues

p Where scheduling is performed?

w Old systems: OS

w Modern systems: hardware can do a lot: accommodate multiple outstanding

requests which allows accurate SPTF scheduling (the hardware knows the hw),

¢ Duplicate effort in OS and hardware. Hardware will do whatever is best (little effect

of OS decision in order)

p Reduce the number of request sent to the disk and lowers overhead

w E.g., read blocks 33, then 8, then 34:

¢ The scheduler merge the request for blocks 33 and 34 into a single two-block

request.

w Performed at OS level

p How long wait before sent a request to the disk?

w Wait for a bit can be better : non-work-conserving

AOS@UC 23

Page 24: 37.Hard Disk Drives - GitHub Pages · Hard Disk Driver p Hard disk driver have been the main form of persistent data storage in computer systems for decades (…and consequently file

p Disclaimer: This lecture slide set has been used in AOS course at University of Cantabria by

V.Puente. Was initially developed for Operating System course in Computer Science Dept. at

Hanyang University. This lecture slide set is for OSTEP book written by Remzi and Andrea

Arpaci-Dusseau (at University of Wisconsin)

AOS@UC 24