Hard drive features - Winchester
Disk(s) - 3.5" or 5.25" and others.
Magnetic media on both sides of disk or platter.
Constant rotational speed 3600, 7200, 10800 RPM
Set of many parallel tracks on each surface of a platter.
Read/write head for each side of each platter.
Only one head active at any time.
Heads make no contact with media allowing high rotatonal speed.
Tracks broken into sectors (512 bytes).
The set of tracks found at the same place on each disk surface is
called a cylinder.
CHS - cylinder, head, sector
Early design of PCs and their OSes limited the CHS values
Thus limited the overall size of the drives.
Hard Drive sector arrangements
All tracks have the same number of sectors unless zoned.
Zoning - because a track near the center is shorter than a track near
the outside, zoning can fit more sectors on outer tracks.
All track in a zone have the same number of sectors.
Different zones have different sector counts, more toward edge.
Sector
- Preamble - preps the head for reading data (timing marks).
- Data
- ECC block - error correcting code (Hamming or better)
- Intersector gap - spacing between sectors.
One reasone why you buy a 2 GB drive but end up with 1.8 GB of storage
space.
Issues of optimal data access
In order to access data, the read/write head must be correctly
positioned. This requires two steps.
Finding the track.
Finding the sector.
Seek time - time required to move the head to the correct track.
Rotational latency - time required for platter to spin around to the
correct location (sector on track).
Interleaving
Problem
Data often occupies several sectors or clusters.
Locating a sector is primarily a mechanical action.
Data processed and moved to secondary device one sector at a time.
Result
Next sector may not be immediately accessable.
Solution
Interleaving - allows for optimal placement of sectors. Sectors spaced
so that next sector in access sequence is available just after
processing of previous sector finished.
Interfaces
Hard drives are extensively mechanical.
CPUs and memory are electronic.
To connect these two dissimilar environments requires an interface.
An interface translates (transparently) signals (levels and meanings),
buffers data, handles timing issues, translates addresses.
Original Interface types
General
Uses small magnetic dots (domains) to record data.
Changes in flux reversal rather than actual polarity represents data,
easier to detect and non-arbitrary.
Allows for embedded timing, even if long strings of just 1's or 0's
MFM - modified fm
Earliest pc interface
Modified fm - technique for storing data
timing information stored with data
low storage density
Extensive software/firmware support to complete interface
The data encoding aspect of MFM still used with floppies.
RLL - run length limited
Next stage in pc/harddrive interface
Run length limited - modified data storage format (how long strings
of zeros handled)
50% improvement in storage density
Extensive software/firmware support to complete interface
The data encoding aspect of RLL still has been used extensively with
even the newer drives (until recently).
PRML (EPRML) - partial response, maximum likely hood
Magnetic domains are actually an analog effect.
When a domain is read, its read at its maximum value.
Better quality heads allow for smaller domains and denser data.
As the domains get smaller, harder to distinguish individual domains.
An alternative is sampling to determine what flux is occuring.
30%-40% improvement in data density.
EPRML can offer another 20%-70% over PRML
Note that the data is still stored using RLL encoding.
IDE interface - Integrated Drive Electronics
Note that the interface protocol is independent of the bus protocols,
such as PCI or SCSI.
Internally uses RLL
Extensively used in the pc environment.
Reasonably fast data transfers.
Supports two drives on a single interface.
Most of the control performed by the circuitry on the drive and
interface card.
Lies about number of cylinders, heads, sectors
Overcomes limits to the pc's basic input output system.
Supports drives up 528 MB.
Limits(barriers) and conflicts
Although most of the control now done on the interface, some still
the responsibility of the OS.
Mirosoft andl IBM in their initial design chose an OS that recognized:
1024 cylinders(10 bit), 256 heads(8 bit), 63 sectors of 512 bytes(6 bit)
as a maximum possible configuration, so coded the BIOS as such.
1024*256*63*512 = 8455716864 or 8 Gig
The standard IDE provided for:
65536 cylinders(16 bit), 16 heads(4 bit), 255 sectors(8 bit) of 512 bytes.
or 136 902 082 560
However when the two interact, only the lower value in each used.
1024 cylinders, 16 heads, 63 sectors.
1024*16*63*512 = 528482304 or 528 MB (decimal) or 504 MiB(binary)
Bios extender software allowed for an alternative configuration to
be recognized, but it had to be loaded each time the sytem powered up.
Because the interrupt table is in RAM, interrupts can be redirected.
Additionally, other limits occur because of the file pointer sizes coded
into the operating systems.
There are additional hardware (poor design) and OS barriers
Some of which we will look at later.
Extended - EIDE and ATA-IDE
Advanced versions of IDE
Originally EIDE and ATA-IDE were competing protocols, but most
interface cards are designed to accept either protocol.
Supports 4 drives per interface.
Provides LBA (Logical block addressing) - an alternative way of
tracking sectors. Again to overcome pc design limits.
Supports drives up to 8 Gig. (or more).
SCSI - Small computer systems Interface
Combination interface and bus (daisy chained devices)
Used in mini-computers, work stations and high end PCs.
Reasonably high throughput of data.
Single interface can support up to 7 (or 15, updated protocol) devices.
Allows devices on bus to interact without CPU assistance.
Since, SCSI is usually a secondary bus, it often does not compete with
cpu/memory access.
Providing all of the control for the devices, but required alternative
drivers to the standard ROM-BIOS interface.
Because SCSI interface has complete control,
size limits of the original MFM/RLL/IDE designs did not occur.