0% found this document useful (0 votes)
103 views

Disk-Based Storage Oct. 23, 2008: "The Course That Gives CMU Its Zip!"

The document discusses disk-based storage in computers. It covers the memory hierarchy and how disks fit into it. Disks provide persistence by storing data on a non-volatile medium, even when power is lost. However, disks have much higher access times than main memory. The document discusses disk geometry, structure, operation, and the components of disk access time, including seek time and rotational latency. It also covers how disks are accessed as arrays of logical blocks.

Uploaded by

ah chong
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

Disk-Based Storage Oct. 23, 2008: "The Course That Gives CMU Its Zip!"

The document discusses disk-based storage in computers. It covers the memory hierarchy and how disks fit into it. Disks provide persistence by storing data on a non-volatile medium, even when power is lost. However, disks have much higher access times than main memory. The document discusses disk geometry, structure, operation, and the components of disk access time, including seek time and rotational latency. It also covers how disks are accessed as arrays of logical blocks.

Uploaded by

ah chong
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

The course that gives CMU its Zip!

15-213

Disk-based Storage Oct. 23, 2008


Topics

Storage technologies and trends Locality of reference Caching in the memory hierarchy

lecture-17.ppt

Announcements
Exam next Thursday

style like exam #1: in class, open book/notes, no electronics

15-213, F08

Disk-based storage in computers

Memory/storage hierarchy

Combining many technologies to balance costs/benefits Recall the memory hierarchy and virtual memory lectures

15-213, F08

Memory/storage hierarchies

Balancing performance with cost


Small memories are fast but expensive Large memories are slow but cheap

Exploit locality to get the best of both worlds


locality = re-use/nearness of accesses allows most accesses to use small, fast memory Capacity

15-213, F08

Performance

An Example Memory Hierarchy


Smaller, faster, and costlier (per byte) storage devices
L0: registers
CPU registers hold words retrieved from L1 cache.

L1: on-chip L1 cache (SRAM) L2:


off-chip L2 cache (SRAM) main memory (DRAM)

L1 cache holds cache lines retrieved from the L2 cache memory. L2 cache holds cache lines retrieved from main memory.

L3: Larger, slower, and cheaper (per byte) storage devices L5:

Main memory holds disk blocks retrieved from local disks.

L4:

local secondary storage (local disks)


Local disks hold files retrieved from disks on remote network servers.

remote secondary storage (tapes, distributed file systems, Web servers)


15-213, F08

From lecture-9.ppt

Page Faults
A page fault is caused by a reference to a VM word that is not in physical (main) memory

Example: An instruction references a word contained in VP 3, a miss that triggers a page fault exception
Physical page Virtual address number or Valid disk address null PTE 0 0
1 1 0 1 0 0 PTE 7 1

Physical memory (DRAM)


VP 1 VP 2 VP 7 VP 4

PP 0
PP 3

null

Virtual memory (disk)


VP 1 VP 2 VP 3 VP 4 VP 6

Memory resident page table (DRAM)

From lecture-14.ppt

VP 7

15-213, F08

Disk-based storage in computers

Memory/storage hierarchy

Combining many technologies to balance costs/benefits Recall the memory hierarchy and virtual memory lectures

Persistence

Storing data for lengthy periods of time

DRAM/SRAM is volatile: contents lost if power lost Disks are non-volatile: contents survive power outages
this brings in many interesting data organization, consistency, and management issues

To be useful, it must also be possible to find it again later

take 18-746/15-746 Storage Systems

well talk a bit about file systems next


15-213, F08

Whats Inside A Disk Drive?


Arm Actuator Spindle Platters

Electronics SCSI connector 8

Image courtesy of Seagate Technology


15-213, F08

Disk Electronics
Just like a small computer processor, memory, network iface
Connect to disk Control processor Cache memory Control ASIC Connect to motor

15-213, F08

Disk Geometry
Disks contain platters, each with two surfaces
Each surface organized in concentric rings called tracks Each track consists of sectors separated by gaps
tracks
surface track k gaps

spindle

sectors

10

15-213, F08

Disk Geometry (Muliple-Platter View)


Aligned tracks form a cylinder
cylinder k

surface 0
surface 1 surface 2 surface 3 surface 4 surface 5 spindle platter 0 platter 1 platter 2

11

15-213, F08

Disk Structure
Read/Write Head Upper Surface Platter Lower Surface Arm

Cylinder

Track Sector Actuator

12

15-213, F08

Disk Operation (Single-Platter View)


The disk surface spins at a fixed rotational rate The read/write head is attached to the end of the arm and flies over the disk surface on a thin cushion of air spindle spindle spindle

spindle

By moving radially, the arm can position the read/write head over any track

13

15-213, F08

Disk Operation (Multi-Platter View)


read/write heads move in unison from cylinder to cylinder

arm

spindle

14

15-213, F08

Disk Structure - top view of single platter


Surface organized into tracks
Tracks divided into sectors

15

15-213, F08

Disk Access

Head in position above a track

16

15-213, F08

Disk Access

Rotation is counter-clockwise

17

15-213, F08

Disk Access Read

About to read blue sector

18

15-213, F08

Disk Access Read

After BLUE read

After reading blue sector

19

15-213, F08

Disk Access Read

After BLUE read

Red request scheduled next

20

15-213, F08

Disk Access Seek

After BLUE read

Seek for RED

Seek to reds track

21

15-213, F08

Disk Access Rotational Latency

After BLUE read

Seek for RED

Rotational latency

Wait for red sector to rotate around

22

15-213, F08

Disk Access Read

After BLUE read

Seek for RED

Rotational latency

After RED read

Complete read of red

23

15-213, F08

Disk Access Service Time Components

After BLUE read

Seek for RED

Rotational latency

After RED read

Seek Rotational Latency Data Transfer


24
15-213, F08

Disk Access Time


Average time to access a specific sector approximated by:

Taccess = Tavg seek + Tavg rotation + Tavg transfer

Seek time (Tavg seek)


Time to position heads over cylinder containing target sector Typical Tavg seek = 3-5 ms

Rotational latency (Tavg rotation)


Time waiting for first bit of target sector to pass under r/w head Tavg rotation = 1/2 x 1/RPMs x 60 sec/1 min

e.g., 3ms for 10,000 RPM disk

Transfer time (Tavg transfer)


Time to read the bits in the target sector Tavg transfer = 1/RPM x 1/(avg # sectors/track) x 60 secs/1 min

e.g., 0.006ms for 10,000 RPM disk with 1,000 sectors/track


given 512-byte sectors, ~85 MB/s data transfer rate
15-213, F08

25

Disk Access Time Example


Given:

Rotational rate = 7,200 RPM Average seek time = 5 ms Avg # sectors/track = 1000

Derived average time to access random sector:


Tavg rotation = 1/2 x (60 secs/7200 RPM) x 1000 ms/sec = 4 ms Tavg transfer = 60/7200 RPM x 1/400 secs/track x 1000 ms/sec = 0.008 ms Taccess = 5 ms + 4 ms + 0.008 ms = 9.008 ms

Time to second sector: 0.008 ms

Important points:

Access time dominated by seek time and rotational latency First bit in a sector is the most expensive, the rest are free SRAM access time is about 4 ns/doubleword, DRAM about 60 ns

~100,000 times longer to access a word on disk than in DRAM


15-213, F08

26

Disk storage as array of blocks

6 7

12

23

OSs view of storage device (as exposed by SCSI or IDE/ATA protocols)

Common logical block size: 512 bytes Number of blocks: device capacity / block size

Common OS-to-storage requests defined by few fields

R/W, block #, # of blocks, memory source/dest


15-213, F08

27

Page Faults
A page fault is caused by a reference to a VM word that is not in physical (main) memory

logical block number can a Example: An instruction references a word contained in VP 3,bemiss that triggers a page fault exception remembered in page table to
Physical memory identify disk location(DRAM) for pages Physical page Virtual address number or not resident in main memory VP 1 PP 0 Valid disk address VP 2 null PTE 0 0 VP 7
1 1 0 1 0 0 PTE 7 1 VP 4

PP 3

null

Virtual memory (disk)


VP 1 VP 2 VP 3 VP 4 VP 6

Memory resident page table (DRAM)

28

From lecture-14.ppt

VP 7

15-213, F08

In device, blocks mapped to physical store

Disk Sector (usually same size as block)

29

15-213, F08

Physical sectors of a single-surface disk

30

15-213, F08

LBN-to-physical for a single-surface disk


4 3 15 27 16 28 5 17 29 18 6

14

39 26 38 25 37 36

40 41

30
42 43 31 19 7

13

24
12 0

4 7

35 23 11

44 32 20 45 46 33 34 21
22 10

31

15-213, F08

Disk Capacity
Capacity: maximum number of bits that can be stored

Vendors express capacity in units of gigabytes (GB), where 1 GB = 109 Bytes (Lawsuit pending! Claims deceptive advertising)

Capacity is determined by these technology factors:

Recording density (bits/in): number of bits that can be squeezed into a 1 inch linear segment of a track Track density (tracks/in): number of tracks that can be squeezed into a 1 inch radial segment Areal density (bits/in2): product of recording and track density

32

15-213, F08

Computing Disk Capacity


Capacity = (# bytes/sector) x (avg. # sectors/track) x
(# tracks/surface) x (# surfaces/platter) x (# platters/disk) Example:

512 bytes/sector 1000 sectors/track (on average) 20,000 tracks/surface 2 surfaces/platter

5 platters/disk

Capacity = 512 x 1000 x 80000 x 2 x 5 = 409,600,000,000 = 409.6 GB

33

15-213, F08

Looking back at the hardware


CPU chip register file ALU

bus interface

main memory

34

15-213, F08

Connecting I/O devices: the I/O Bus


CPU chip register file ALU system bus memory bus

bus interface

I/O bridge

main memory

I/O bus USB controller mouse keyboard graphics adapter monitor disk disk controller

Expansion slots for other devices such as network adapters

35

15-213, F08

Reading from disk (1)


CPU chip register file ALU

CPU initiates a disk read by writing a READ command, logical block number, number of blocks, and destination memory address to a port (address) associated with disk controller

bus interface

main memory

I/O bus

USB controller mouse keyboard

graphics adapter
monitor

disk controller

disk

36

15-213, F08

Reading from disk (2)


CPU chip register file ALU

Disk controller reads the sectors and performs a direct memory access (DMA) transfer into main memory

bus interface

main memory

I/O bus

USB controller mouse keyboard

graphics adapter
monitor

disk controller

disk

37

15-213, F08

Reading from disk (3)


CPU chip register file ALU

When the DMA transfer completes, the disk controller notifies the CPU with an interrupt (i.e., asserts a special interrupt pin on the CPU)

bus interface

main memory

I/O bus

USB controller mouse keyboard

graphics adapter
monitor

disk controller

disk

38

15-213, F08

You might also like