Disk Formatting

Two formatting procedures are required before you can write user data to a disk:

  • Physical, or low-level formatting

  • Logical, or high-level formatting

When you format a blank floppy disk, the Windows Explorer or DOS FORMAT command performs both types of formats simultaneously. If the floppy was already formatted, DOS and Windows will default to doing only a high-level format.

A hard disk, however, requires two separate formatting operations. Moreover, a hard disk requires a third step, between the two formatting procedures, to write the partitioning information to the disk. Partitioning is required because a hard disk is designed to be used with more than one operating system.

Using multiple operating systems on one hard drive is possible by separating the physical formatting in a procedure that is always the same, regardless of the operating system used and the high-level format (which is different for each operating system).

Partitioning enables a single hard disk drive to run more than one type of operating system, or it can enable a single operating system to use the disk as several volumes or logical drives. A volume or logical drive is any section of the disk to which the operating system assigns a drive letter or name.

Consequently, preparing a hard disk drive for data storage involves three steps:

  1. Low-level formatting (LLF)

  2. Partitioning

  3. High-level formatting (HLF)

Low-Level Formatting

During a low-level format, the formatting program divides the disk's tracks into a specific number of sectors, creating the intersector and intertrack gaps and recording the sector header and trailer information. The program also fills each sector's data area with a dummy byte value or a pattern of test values.

For floppy disks, the number of sectors recorded on each track depends on the type of disk and drive. For hard disks, the number of sectors per track depends on the drive and the controller interface. Originally, PC hard disk drives used a separate controller that took the form of an expansion card or was integrated into the motherboard.

Because the controller could be used with various disk drives and might even have been made by a different manufacturer, some uniformity had to exist in the communications between the controller and the drive. For this reason, the number of sectors written to a track tended to be relatively consistent.

The original ST-506/412 MFM controllers always placed 17 sectors per track on a disk, although ST-506/412 controllers with RLL encoding increased the number of sectors to 25 or 26 per track; ESDI drives had 32 or more sectors per track. The ATA/IDE and SCSI drives found in PCs today can have anywhere from 17 to 900 or more sectors per track.

Virtually all ATA and SCSI drives use a technique called zoned-bit recording (ZBR), sometimes shortened to zoned recording, which writes a variable number of sectors per track. Without zoned recording, the number of sectors, and therefore bits, on each track is a constant.

This means the actual number of bits per inch will vary. More bits per inch will exist on the inner tracks, and fewer will exist on the outer. The data rate and rotational speed will remain constant, as will the number of bits per track. Figure below shows a drive recorded with the same number of sectors per track.

A standard recording wastes capacity on the outer tracks because it is longer and yet holds the same amount of data (more loosely spaced) as the inner tracks.

One way to increase the capacity of a hard drive during the low-level format is to create more sectors on the disks' outer cylinders than on the inner ones.

Because they have a larger circumference, the outer cylinders can hold more data. Drives without zoned recording store the same amount of data on every cylinder, even though the tracks of the outer cylinders might be twice as long as those of the inner cylinders.

The result is wasted storage capacity because the disk medium must be capable of storing data reliably at the same density as on the inner cylinders. When the number of sectors per track is fixed, as in older controllers, the drive capacity is limited by the density of the innermost (shortest) track.

Drives that use zoned recording split the cylinders into groups called zones, with each successive zone having more sectors per track as you move outward from the center of the disk.

All the cylinders in a particular zone have the same number of sectors per track. The number of zones varies with specific drives, but most drives have 10 or more zones. Figure below shows a drive with zoned-bit recording.

Another effect of zoned recording is that transfer speeds vary depending on which zone the heads are in. A drive with zoned recording still spins at a constant speed.

Because more sectors exist per track in the outer zones, however, data transfer is fastest there. Consequently, data transfer is slowest when reading or writing to the inner zones.

That is why virtually all drives today report minimum and maximum sustained transfer rates, which depend on where on the drive you are reading from or writing to.

With SCSI and ATA disks, however, formatting individual tracks with different numbers of sectors became possible because these drives have the disk controller built in.

The built-in controllers on these drives are fully aware of the zoning algorithm and can translate the physical cylinder, head, and sector numbers to logical cylinder, head, and sector numbers so the drive appears to have the same number of sectors on each track.

Because the PC BIOS is designed to handle only a single number of sectors per track throughout the entire drive, a zoned drive must run by using a sector translation scheme.

The use of zoned recording enables drive manufacturers to increase the capacity of their hard drives by 20%–50% compared with a fixed–sector-per-track arrangement. All modern ATA (IDE) and SCSI drives today use zoned recording.

Partitioning

Creating a partition on a hard disk drive enables it to support separate file systems, each in its own partition. Each file system can then use its own method to allocate file space in logical units called clusters or allocation units.

Every hard disk drive must have at least one partition on it and can have up to four partitions, each of which can support the same or different type file systems. Three common file systems are used by PC operating systems today:

  • FAT (file allocation table). The standard file system supported by DOS and Windows 9x/Me. FAT partitions support filenames of 11 characters maximum (8 characters + a 3-character extension) under DOS, and 255 characters under Windows 9x (or later).

The standard FAT file system uses 12- or 16-bit numbers to identify clusters, resulting in a maximum volume size of 2GB. Using FDISK, you can create only two physical FAT partitions on a hard disk drive—primary and extended—but you can subdivide the extended partition into as many as 25 logical volumes.

Alternative partitioning programs, such as Partition Magic, can create up to four primary partitions or three primary and one extended.

  • FAT32 (file allocation table, 32-bit). An optional file system supported by Windows 95 OSR2 (OEM Service Release 2), Windows 98, Windows Me, and Windows 2000/XP. FAT32 uses 32-bit numbers to identify clusters, resulting in a maximum single volume size of 2TB or 2,048GB.

  • NTFS (Windows NT File System). The native file system for Windows NT/2000/XP that supports filenames up to 256 characters long and partitions up to (a theoretical) 16 exabytes. NTFS also provides extended attributes and file system security features that do not exist in the FAT file system.

Up until the release of XP, FAT32 was by far the most popular file system. Because NTFS is native to XP, NTFS is now becoming more popular in newer systems. Still, the FAT file system is accessible by nearly every operating system, which makes it the most compatible in a mixed OS environment.

FAT32 and NTFS provide additional features but are not universally accessible by other operating systems. Partitioning normally is accomplished by running the disk partitioning program that comes with your operating system. The name and exact operation of the disk partitioning program varies with the operating system.

For example, FDISK is used by DOS and Windows 9x/Me for this task, whereas the DISKPART command or the Disk Management snap-in component of the Computer Management service are used with Windows XP.

FDISK, DISKPART, and other disk partitioning tools enable you to select the amount of space on the drive to use for a partition, from a single megabyte (or 1%) of the drive up to the entire capacity of the drive or as much as the particular file system will allow.

You usually should have as few partitions as possible, and many people (myself included) try to stick with only one or two at the most. This was more difficult before FAT32 because the maximum partition size for a FAT16 partition was only 2GB. With FAT32, though, the maximum partition size can be up to 2048GB. After a drive is partitioned, each partition must then be high-level formatted by the operating system that will use it.

High-Level Formatting

During the high-level format, the operating system writes the structures necessary for managing files and data on the disk. For example, FAT partitions have a Volume Boot Sector (VBS), two copies of a file allocation table (FAT), and a root directory on each formatted logical drive.

These data structures enable the operating system to manage the space on the disk, keep track of files, and even manage defective areas so they do not cause problems. High-level formatting is not really a physical formatting of the drive, but rather the creation of a table of contents for the disk.

In low-level formatting, which is the real physical formatting process, tracks and sectors are written on the disk. As mentioned, the DOS and Windows 9x/Me FORMAT command can perform both low-level and high-level format operations on a floppy disk, but it performs only the high-level format for a hard disk.

Low-level formats of ATA and SCSI hard disk drives are performed by the manufacturer and should almost never be performed by the end user. The only time I low-level format ATA or SCSI drives is when I am attempting to repair a format that has become damaged (parts of the disk become unreadable) or in some cases when I want to wipe away all data on the drive.