The Nerd Page:
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 worlds 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
worlds 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. Washingtons 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 Expositions 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