Organization of a Surface

Each disk surface is partitioned into a number of concentric tracks.

Each track is partitioned into a number of sectors.

Each sector contains 512 bytes of data, plus control information
    (synchronization information to position the disk heads and error correcting codes).


The File Allocation Table

Physically the disk contains a large number of sectors, each of which
contains either data or programs.  The term “cluster” will be defined in the next slide.

Logically the disk contains a large number of files, also program and data.

The disk will have one or more index structures that associate files with their sectors.

The two important structures are

          the disk directory                  associates a file with its first sector

          the File Allocation Table     maintains the “linked list” of sectors for that file.

An example from the textbook shows the structure of the FAT.

Here the disk directory indicates that the first sector for a file is at address 121.

The FAT entry at 121 indicates that the next sector is at address 124.

The FAT entry at 126 indicates that the next sector is at address 122.

The FAT entry at 122 indicates that sector 122 is the last for this file.  Sector 125 is bad.

FAT–16 and Its Consequences

The FAT–16 system was implemented by Microsoft for early versions of MS–DOS.

This system used a 16–bit index into the FAT.

As there is one FAT entry per sector, this makes this limits the sector count to 216.

The maximum disk size is thus 216· 512 = 216· 29 = 225 = 25· 220 = 32 MB.

In 1987, my brand–new PC/XT had a 20MB disk!  FAT–16 worked very well.

What about a 40 MB disk?  How about a 256 MB disk?

Few people in the late 1980’s contemplated disk drives with capacities of over 100 GB,
but it was obvious that unmodified FAT–16 would not do the job.

We consider two short–term remedies to this problem, one transient and
one with longer term consequences.

 


FAT–16 and Its Consequences
Part 2: Disk Partitioning

The first solution was to partition a larger physical disk drive
into two logical disk drives.

A 40 MB disk drive would support two logical disks, each with its own
directory structure and File Allocation Table.

          Drive C         with capacity of 32 MB

          Drive D         with capacity of 8 MB.

As a short–term fix, this worked well.  However, it just raised the limit to 64 MB.

This solution was obsolete by about 1992.

 


FAT–16 and Its Consequences
Part 3: Disk Clusters

The main problem with the FAT–16 system arose from the fact that each sector was individually addressable.  With 216 addresses available, we have a maximum
of 216 sectors or 32 MB.

The second solution was to remove the restriction that each sector be addressable.

Sectors were grouped into clusters, and only clusters could be addressed.

The number of sectors a cluster contained was constrained to be a power of 2;
so we had 2, 4, 8, 16, etc. sectors per cluster.  The effect on disk size is easy to see.

Sectors in Cluster

1

2

4

8

16

32

64

Bytes in Cluster

512

1024

2048

4096

8192

16384

32768

Disk Size

32 MB

64 MB

128 MB

256 MB

512 MB

1 GB

2 GB

In the early 1990’s, it seemed that this solution would work for a while.

Nobody back then envisioned multi–gigabyte disk drives on personal computers.

There is a problem associated with large clusters; it is called “internal fragmentation”.


FAT–16 and Its Consequences
Part 4: Internal Fragmentation

This problem arises from the fact that files must occupy an integer number of clusters.

Consider a data file having exactly 6,000 bytes of data, with several cluster sizes.

Sectors in Cluster

1

2

4

8

16

32

64

Bytes in Cluster

512

1024

2048

4096

8192

16384

32768

Clusters needed

12

6

3

2

1

1

1

File size on disk

6144

6144

6144

8192

8192

16384

32768

Disk efficiency

97.7%

97.7%

97.7%

73.2%

73.2%

36.6%

18.3%

There is also the consideration of the time required to read a cluster.

Consider a disk for which the maximum data rate is 8 MB per second.
Here, we are saying that 8MB = 223 bytes.  More on this later.

Sectors in Cluster

1

2

4

8

16

32

64

Bytes in Cluster

29

210

211

212

213

214

215

Transfer time
(seconds)

2-14

2-13

2-12

2-11

2-10

2-9

2-8

Time in msec.

0.06

0.122

0.244

0.488

0.977

1.95

3.91

 


Marketing Hype: Sizing Large Disk Drives

All large disk drives are sized in gigabytes.

Traditionally 1GB = 230 bytes = 1, 073, 741, 824 bytes.

Recent commercial practice uses 1GB = 109 bytes = 1, 000, 000 ,000 bytes.

Let’s look at some comparative sizes.

               Size in GB                              Size in GB
       with 1GB = 109 bytes              with 1GB = 230 bytes

                      10                                          9.314

                      40                                          37.25

                      80                                          74.51

                     200                                         186.3

Some disk utilities will report free disk space using both units.
This is the reason for the discrepancies.

 


Computing Disk Capacities

The capacity of a disk drive is expressed in a number of equivalent ways.

Disk Capacity         = (number of surfaces)·(bytes per surface)

                                = (number of surfaces)·(tracks per surface)·(bytes per track)

                                = (number of surfaces)·(tracks per surface)
                               
· (sectors per track)·512

Data from an earlier disk drive (now rather small).

          8 surfaces

          3196 tracks per surface

          132 sectors per track

          512 bytes per sector

Surface capacity = 3196·132·512 = 421872·512 = 210936·1024 bytes
                                                        = 210936 KB 
» 206.0 MB

Disk capacity = 8·210936 KB = 1,687,488 KB » 1.61 GB


Computing Disk Maximum Transfer Rate

Disk rotation rates are given in RPM (Revolutions per Minute).
Common values are 3,600 RPM, 7,200 RPM, and higher.

3,600 RPM is 60 revolutions per second.  7,200 PRM is 120 per second.

Disks can transfer at maximum rate while reading from a single cylinder.

Moving to another cylinder takes time, called the track–to–track seek time.

Consider our sample disk.  Suppose it rotates at 7,200 RPM.
One revolution every (1/120) second.

One track contains 132·512 bytes = 66·1024 bytes = 66KB.

This track can be read in (1/120) of a second.

The maximum data rate is      66 KB in (1/120) of a second.

                                                120 · 66 KB in one second.

                                                7,920 KB per second      = 7.73 MB per second.


Sustaining the Maximum Data Transfer Rate

Recall the definition of a cylinder as a set of tracks, one per surface.

The number of tracks per cylinder is always exactly the same
as the number of surfaces in the disk drive.

Our sample drive has 8 surfaces; each cylinder has 8 tracks.

Each track can be read in one revolution of the disk drive.

The data rate can be sustained for as long as it takes to read all tracks from the cylinder.

In our sample drive, rotating at 7200 RPM or 120 per second:

          Each track can be read in 1/120 second.

          The cylinder, containing 8 tracks, is read in 8/120 second or 1/15 second.

The maximum data transfer rate can be sustained for 1/15 second.

 


Modern Disk Organization

Older disk drives divided the surface into a number of equally sized tracks.

This facilitated design of the disk controller, but made poor use of the disk surface,
as the inner tracks (with maximum linear density) determined the number of sectors.

Modern disk drives divide the disk surface into a number of zones.
Each zone has the same number of sectors per track.

This gives only a modest increase in complexity of the controller.


Security Issues: Erasing and Reformatting

Remember the disk directory and the FAT.

What happens when a file is erased from the disk?  Are the file data removed?

Answer:   No, the file data are not removed.  What actually happens is:

          1.   The file name is removed from the disk directory.

          2.   The FAT is modified to place all the sectors (clusters) for that file
                into a special file, called the “Free List”.

          3.   Sectors do not have their data erased or changed until they are allocated
                to another file and that a program writes data to that file.

For this reason, many companies sell utilities to “Wipe the File” or “Shred the File”.

How about reformatting the disk?  Certainly, that removes data.

Answer: No, the file data are not removed.

The directory structure and FAT are reinitialized.

The free list is built in an efficient form.

The sectors containing data are not overwritten.