Hard Drive

The hard drive stores the computer’s operating system and individual applications internally, so that they do not have to be loaded from discs each time the computer is started. These applications are accessed from the drive and pulled to RAM when needed. Saved files are also stored here, or on external drives for mobility. Hard drive storage is slower, but cheaper, than RAM.

Desktop Hard Drive
Laptop Hard Drive

Hard Drive Performance

To measure the performance of a drive, we use two main characteristics: data rate and seek time. Data rate is the bytes per second that the drive can deliver to the CPU. Seek time is the time it takes for the hard drive to start sending the first byte of data following the initial request from the CPU.

Hard drives contain two important pieces of equipment that allow them to function efficiently as primary data storage. This first piece is a magnetic recording medium layered on a high-precision glass or aluminum disk, called the “platter.” The second piece is called a “head,” and is used to read and write information on the platter. There are two heads per platter, one on each side, and most hard drives have multiple platters. An internal motor spins the platters, allowing the heads to read the magnetically stored data.

Solid-state drives (SSDs) use solid-state memory that emulates a hard disk drive interface to store data. SSDs have no moving parts, making them more durable and quieter than hard disk drives.

Hard drives also have a component called the cache. If data stored in the cache is requested, it can be read directly from the cache rather than searching and reading information from the disk itself.

An image of a hard drive displaying a "head" and "platter"

Storing the Data

Data is stored on the surface of the platter using organizational elements known as sectors and tracks. Tracks are concentric circles that surround the entire platter. Sectors are wedges that, when grouped together, form a track. Sectors contain a fixed number of bytes – usually 256 or 512 – and are grouped into clusters.

Visualization of tracks on a hard drive

Red: Track; Blue: Sector 

Before a drive can be used, it must be properly formatted. A low-level format is performed that establishes the tracks and sectors on the platter to prepare the disk to hold blocks of bytes. After the low-level formatting, a high-level format is performed to prepare the disc to hold files. The high-level format writes disc important structures for the operating system to the disc.

Hard Drive Interfaces

Historical: Integrated Drive Electronics (IDE)
IDE was used in PCs for about 20 years, and is being phased out. It is also referred to as AT Attachment (ATA) or Parallel ATA (PATA). IDE controllers have two channels, and each channel is a shared bus – only one drive can talk at a time and the drives can only talk to the controller. IDE limited computers to 4 drives without an expansion card, and is only for drives internal to the computer.

Small Computer System Interface (SCSI)
In 1986, another interface standard was developed, called SCSI, using a more intelligent and complicated controller to manage the bus. Up to 15 devices can be connected to a SCSI bus and some have dual controllers. Using SCSI will typically require an add-in card. Tape drives, scanners, and the first CD-ROM drives were designed for SCSI. Like IDE, only one device can talk on a SCSI bus at a time, but devices can talk directly to each other as well as to the controller.

Serial ATA (SATA)
SATA is the evolution of IDE. Adapters are available for use between the two, but they are not backwards-compatible. SATA uses a direct serial connection between the motherboard and each drive, which gives smaller/narrower connectors and cables and faster speeds than IDE. The latest version, SATA II, closed the speed gap with SCSI and kept the low price of IDE.

Hard Drive Configuration

Redundant Array of Independent Disks (RAID: Configuration)
RAID refers to a scheme, not an interface, of using multiple hard drives to create one or more logical units to gain fault tolerance or increased capacity. Historically, RAID was used exclusively in expensive server hardware, but is now affordable enough for personal desktops. There is hardware and software RAID, and they may be used with IDE, SCSI, or SATA hard drives.