The Nerd Page:

cooline.gif (479 bytes)

LATEST NEWS on DATA STORAGE:

Traditional storage is rapidly approaching a point where further leaps will no longer be possible.
For 35 years of consisent technology has pushed the annual growth rate and will no longer work
due to the laws of physics. The future is in the hands of scientists' Ingenuity like IBM's
Holographic data storage. It works like this, you process a image or flat page of binary code,
record via an object beam and a reference beam into a solid crystal. The next page of data is
recorded with the same object beam, but this time the reference beam is aimed at a slightly
different angle and the process is repeated uptill the crystal will no longer take any more data.
One crystal is a cubic centimeter and they have it holding 48 MB now and are working toward it
holding 10 GB pursuent to more research. The beauty is that it not only stores tons but retrieves
it at warp speed. Catch you later, bye.

PARTITION SECTOR/RECORD/TABLE BASICS

FDISK creates all partition records (sectors). The primary purpose of a partition record is to hold a partition table. The rules for how FDISK works are unwritten but so far most FDISK programs (DOS, OS/2, WinNT, etc) seem to follow the same basic idea. First, all partition table records (sectors) have the same format. This includes the partition table record at cylinder 0, head 0, sector 1 -- what is known as the Master Boot Record (MBR). The last 66 bytes of a partition table record contain a partition table and a 2 byte signature. The first 446 bytes of these sectors usually contain a program but only the program in the MBR is ever executed (so extended partition table records could contain something other than a program in the first 466 bytes).
Second, extended partitions are "nested" inside one another and extended partition table
records form a "linked list". I will attempt to show this in a below.

PARTITION TABLE ENTRY FORMAT.

Each partition table entry is 16 bytes and contains things like the start and end location of a
partition in CHS, the start in LBA, the size in sectors, the partition "type" and the "active"
flag. Warning: older versions of FDISK may compute incorrect LBA or size values. And note:
When your computer boots itself, only the CHS fields of the partition table entries are used
(another reason LBA doesn't solve the >528MB problem). The CHS fields in the partition tables
are in L-CHS format --- CHS Translation".

There is no central clearing house to assign the codes used in the one byte "type" field. But
codes are assigned (or used) to define most every type of file system that anyone has ever
implemented on the x86 PC: 12-bit FAT, 16-bit FAT, HPFS, NTFS, etc. Plus, an extended
partition also has a unique type code. Note: I know of no complete list of all the type codes that
have been used to date.

MASTER BOOT RECORD

This article is a disassembly of a Master Boot Record (MBR). The MBR is the sector at cylinder 0, head 0, sector 1 of a hard disk. An MBR is created by the FDISK program.

The FDISK program of all operating systems must create a functionally similar MBR. The MBR is first of what could be many partition sectors, each one containing a four entry partition table. At the completion of your system's Power On Self Test (POST), INT 19 is called. Usually INT 19 tries to read a boot sector from the first floppy drive. If a boot sector is found on the floppy disk, the that boot sector is read into memory at location 0000:7C00 and INT 19 jumps to memory location 0000:7C00.
However, if no boot sector is found on the first floppy drive, INT 19 tries to read the MBR from
the first hard drive. If an MBR is found it is read into memory at location 0000:7c00 and INT 19
jumps to memory location 0000:7c00. The small program in the MBR will attempt to locate an
active (bootable) partition in its partition table.
If such a partition is found, the boot sector of that partition is read into memory at location
0000:7C00 and the MBR program jumps to memory location 0000:7C00. Each operating system
has its own boot sector format. The small program in the boot sector must locate the first part of
the operating system's kernel loader program (or perhaps the kernel itself or perhaps a "boot manager program") and read that into memory.
INT 19 is also called when the CTRL-ALT-DEL keys are used. On most systems,
CTRL-ALT-DEL causes an short version of the POST to be executed before INT 19 is called.

The MBR program code starts at offset 0000. The MBR messages start at offset 008b. The
partition table starts at offset 00be. The signature is at offset 00fe. Here is a summary of what
this thing does: If an active partition is found, that partition's boot record is read into 0000:7c00
and the MBR code jumps to 0000:7c00 with SI pointing to the partition table entry that describes the partition being booted. The boot record program uses this data to determine the drive being booted from and the location of the partition on the disk.
If no active partition table enty is found, ROM BASIC is entered via INT 18. All other errors
cause a system hang.

NOTES (VERY IMPORTANT): 1) The first byte of an active partition table entry is 80. This
byte is loaded into the DL register before INT 13 is called to read the boot sector. When INT 13
is called, DL is the BIOS device number. Because of this, the boot sector read by this MBR
program can only be read from BIOS device number 80 (the first hard disk). This is one of the
reasons why it is usually not possible to boot from any other hard disk.

2) The MBR program uses the CHS based INT 13H AH=02H call to read the boot sector of the
active partition. The location of the active partition's boot sector is in the partition table entry in
CHS format. If the drive is >528MB, this CHS must be a translated CHS (or L-CHS, see my
BIOS TYPES document). No addresses in LBA form are used (another reason why LBA doesn't
solve the >528MB problem).

Why translation?

Both the 'int13' software interface used by the BIOS to communicate with the outside and the
Cylinder/Head/Sector (CHS) fields in the partition table reserve bits for the cylinder field, for a
total of up to 1024 cylinders; 8 bits for the head field, good for up to 256 heads; 6 bits for the
sector field, which gives a maximum of 63 sectors since for historic reasons the sector field starts
at sector 1, not 0. The maximum disk capacity accessible through the traditional int13 interface
is therefore 8GB (1024*256*63 sectors of 512 bytes). In some books, you may encounter references to 12-bit cylinder numbers; this extension (using the upper two bits of the sector field) was never widely implemented and isn't supported anywhere.

Now IDE disks have their own set of limitations; these disks, no matter if they're ATA/IDE or
ATA-2/EIDE, use 16 bits for the cylinder field, giving 65536 cylinders; 4 bits for the head field,
or only 16 heads at most; 6 bits for the sector field, just like the BIOS. This is good for a
maximum disk capacity of 128GB. However, combine this with the BIOS limitations and you suddenly can't see more than the first 1024 cylinders of the IDE disk, which makes for a limit of just 504MB or 528 million bytes. This is unacceptable today. In the long term, the BIOS limit of 8GB is just as unacceptable, but as a short term solution it is desirable to get the maximum out of the standard int13 interface with IDE drives. This is where translation comes in.

How does translation work?

There are roughly three ways today's BIOSes can handle translation: standard CHS addressing,
Extended CHS addressing, and LBA addressing. Translation does NOT automatically imply
LBA, as you will see. Standard CHS: no translation at all :-( Communication between drive,
BIOS and operating system goes like this:
+-------- DRIVE --------+
+- BIOS --+
+---- OS ----+ | | | | | & APPS | | physical T1 logical logical | | geometry used ====>
geometry ----> geometry | |internally only (CHS) (CHS) | | | | | | |

+-----------------------+ +---------+ +------------+

There is only one translation step, T1, which is internal to the drive ('universal translation'). The
drive's actual, physical geometry is completely invisible from the outside---the Cylinders, Heads
and Sectors printed on the label for use in the BIOS setup have nothing to do with the physical
geometry! The logical geometry, used throughout, is subject to both IDE's limitation to 16
heads and to the BIOS' limitation of 1024 cylinders, which gives the (in)famous 504MB
limitation.

Extended CHS +-------- DRIVE --------+ +- BIOS --+ +---- OS ----+ | | | | | & APPS |

| physical T1 logical T2 translated | | geometry used ====> geometry ====> geometry |

|internally only (CHS) (CHS) | | | | | | | +-----------------------+ +---------+ +------------+

Logical geometry is used to communicate between the drive and the BIOS, while a different,
translated geometry is used to communicate between the BIOS and everything else.

There is an additional translation step, T2, performed by the BIOS. This procedure breaks the
504MB barrier because the geometries used are not subjected to the BIOS and IDE limitations
simultaneously: the logical geometry is subject to IDE's 16 head limitation, but not to the 1024
cylinder limitation. For the translated geometry, it is just the reverse.

Most BIOSes denote extended CHS translation with 'Large'. Note that the geometry usually
entered in the BIOS setup is the logical geometry, not the translated one. In case of doubt,
consult the BIOS manual.

Logical Block Addressing (LBA) Here, the logical geometry is dispensed with entirely and
replaced by a single, large, linear block number. This makes far more sense than using a logical
geometry that is completely fake anyway.

+-------- DRIVE --------+ +- BIOS --+ +---- OS ----+ | | | | | & APPS | | physical T1 linear T2
translated | | geometry
used ====> block no.====> geometry | |internally only (LBA) (CHS) | | | | | | |
+-----------------------+ +---------+
+------------+

This breaks the 504MB barrier in essentially the same way as extended CHS does. Conceptually, using a single linear number to address a sector on the harddisk is simpler than a CHS style address, but it takes more CPU cycles and is sometimes slower on the drive side as well. The differences are pretty insignificant either way.

A translating BIOS can be implemented via the system BIOS or on-board controller
BIOS.Basically, this takes the drive's logical default geometry, and if the cylinder count is
beyond 1024, will divide the cylinder count by an appropriate factor and multiply the heads by
the same. For instance, let's take a 540 Meg drive: it has 1057 cylinders, 16 heads, and 63 sectors per track. Well, the int13 interface used by the BIOS to talk with the world can only handle 1024 cylinders, but it can address up to 255 heads. So, the x-lating BIOS will pass to the OS, via int13 calls, the geometry 528 cylinders (1057/2 (approx)) and 32 heads (16*2).

Then, when the OS makes a request to the drive, the BIOS will re-translate the request to the
original order, or to an LBA number if LBA is enabled. This allows for capacities of up to 8
gigabytes.

A final word about the 8GB capacity limit, which is inherent in the int13 interface and cannot be
solved without ditching the traditional calls. To that purpose, the IBM/Microsoftint13
extensions document specifies a new interface between the BIOS and the operating system or
applications. These extended int13 calls are made in terms of LBA addresses and can handle
huge disks. Note that the BIOS is required to translate these LBA addresses back to CHS if the
drive doesn't support LBA---exactly the reverse of the translation process outlined above.

Reliability....

Hard drive reliability is crucial for servers handling mission-critical data. Drive reliability has
improved with higher levels of ASIC integration, fewer moving parts within the drive and
through power reduction. High-end drives use just one single-sided printed circuit board (PCB)
as compared to early high-end drives that had as many as four interconnected PCBs. And now,
five disks achieve the 4GB capacity point that required ten disks just one year ago.

Drive reliability is further improved through rigorous environment testing. For example, the
PCBs drives are tested over a broader range of temperatures (-40�C to 100�C). This and other
types of stress testing provides valuable information to Quantum engineers who can design more
robust drives.

A terabyte “site” for a virtual world’s fair The new role of high-capacity 3.5-inch drives in the
digitized world is exemplified by the Internet 1996 World Exposition, a virtual world’s fair for the
information age, conceived of by Carl Malamud, founder of the Internet Multicasting Society. As
an official organizer of the event, Manufactures are donating more than a terabyte worth of
storage space in the form of 250 drives that will be distributed to content providers around the
globe. The drives will constitute one of the largest collections of data storage ever assembled.
Preliminary plans include storage solutions for everything from a Global Schoolhouse to an
online exhibit of Thai food. Washington’s Kennedy Center will host performances in cyberspace,
and one exhibit will feature a virtual Huis Ten Bosch, a city near Nagasaki that has become a
model for environmental activism.

As a virtual event, the Exposition’s size is measured not in acres, but in gigabytes. As Malamud
has noted, “Our Eiffel Tower is 1.2 terabytes of disk space.” For this event, and for future
applications of the digitized world, the disk drive is the stuff that 21st century dreams are made
of.

More Nerd But Softer Stuff....

Recent Technological Developments and the Impact ....

The basic principles of hard disk drive operation, have not changed since the technology
debuted over three decades ago. Still, manufacturers have made so many enhancements that
today's advanced hard disk drives barely resemble the first hard drive on the original IBM
RAMAC 350. To understand the importance of a given feature, you need to understand that
progress in the hard disk drive industry generally is measured in three dimensions: increases in
areal density, increases in speed, and decreases in cost per megabyte. This chapter discusses
some of the most recent technological developments that have already or will soon deliver
significant advances in performance, capacity, cost, and size. Every technology reakthrough
enables hard disk drive manufacturers to achieve improvements on one or more of these fronts. Often, an advance in one area brings improvements in others.

For example, the advent of thin film media enabled an increase in areal density that resulted in increased performance and a reduction in the cost per megabyte of storage. Technology advances generally take place in six major areas: Material improvements - such as thin film and magnetoresistive (MR) heads. Mechanical improvements - such as faster disk rotation and seek time. Semiconductor innovations - such as digital signal processors and more powerful microprocessors operating at faster frequencies. Read/write signal processing
improvements - such as PRML (Partial Response Maximum Likelihood) read channels. Disk
drive controller technology improvements in the areas of firmware and custom
application-specific integrated circuit (ASIC) hardware. Firmware is software permanently stored
in read-only memory or on the disk itself. Custom ASIC devices implement the speediest control
functions, such as data caching and error correction. Pioneering many of the important firmware
features common in today's drives who--is a leader in the use of ASIC hardware, and implements
custom-designed ASICs --well, everybody is performing at record speed.

Bus and disk interface improvements.

The technologies described in the sections that follow are among the most important recent
innovations for delivering further advances to hard disk drives in the areas of areal density,
performance, and value.

Magnetoresistive Head Technology.

Several different types of read/write heads exist. Among the earliest were monolithic ferrite
heads, or those made of a single block of ferrite, a magnetic ceramic material. An improvement
on all ferrite heads were composite heads consisting primarily of non-magnetic material with a
small ferrite structure added. Next came metal-in-gap, or MIG, heads with very thin metal
layers added inside the gap to improve magnetic performance. Currently, many drives use thin
film heads, whose name reflects the fact that their structural elements are deposited on a
substrate in much the same way that microchips are manufactured. Thin film technology allows
head vendors to achieve much smaller physical dimen-sions and to better control the fabrication
process, both of which result in higher performance products. The newest head technology is
called magnetoresistive (MR), which is designed to support media with very high recording
densities in the range of one to two billion BPSI compared with the densities of less than 200
million BPSI achievable with current head technologies. Unlike current head technologies - all
of which are basically tiny inductive electromagnets - MR technology uses a different approach
for reading, based on a special material whose electrical resistance changes in the presence of a
magnetic field. A small stripe of MR material is deposited on the head structure

A little about SCSI drives....

Command reordering techniques for SCSI drives are not new. Command reordering is made
possible by the command queue, a "holding place" for commands waiting to be executed.
(Currently, only SCSI drives provide the command queue feature, so command reordering is
limited to use on SCSI drives.) In the absence of command reordering techniques, the hard drive
would execute the commands in the queue in the order it received them. The result is that the
read/write head randomly sweeps over the surface of the platter executing each command in the
queue in sequence. The idea behind command reordering is to reorder the commands in the
queue to minimize the random movement of the read/write head that would occur if commands
were executed in the order in which they were received by the drive. In the past, there were two
major techniques for command reordering: Storing and Retrieving Data.

HOW AVERAGE SEEK TIMES ARE DETERMINED

The "average seek time" specification that Maxtor uses for all disk drives is determined by the
average of 10,000 random seek times as measured on independent test equipment, not "off the
shelf" performance software, i.e. Coretest, PC mag, Ontrack, Norton etc.. The test equipment used in our manufacturing which measures the average seek times on every drive we build is made by FLEXSTAR. Flexstar test equipment is well known, and widely used throughout the industry. In Maxtor's manufacturing process each and every drive is tested for and must not exceed the seek time we specify for that drive. If a drive is above the specified seek time it will fail the testing and be rejected. We do not use "off the shelf" software due to the fact that it contains overhead time as well as being inconsistent. Included here is a sample of a manufacturing test printout for a typical drive in our process. The highlighted area {} on the report shows the tested average seek time that was measured for this drive. If that number exceeds our specification the drive is rejected.

HOST TEST REPORT FOR RACK 00 PORT 46

----------- DRIVE CONFIGURATION -----------

Tested Available

# Cylinders: 1024 1024

# Heads: 14 14

Track Length: 8704 8704

Configuration: 425A

Fixed Cyls: 1024 Remov Cyls: 0

Fixed Heads: 14 Remov Heads: 0

Min Bytes/Trk: 10336 Bytes/Sector: 608

Sectors/Trk: 17 PLO Sync Fld: 19

ISG Bytes: 45 After Index: 0

Contrlr Type: 3 Contrlr Size: 36

ECC Bytes: 4

Drive FW Rev: 294226

Line #: 65 Current Cmd: PROGRAM END

It's A Geek World

blue_line.jpg (2430 bytes)

INDEX  arrowboth.gif (6812 bytes)  TOP