VMware ESXi and vSphere Cluster Management

Hard Disk Interfaces: PATA, SATA, SCSI, and Linux Device Names

Learn how PATA, SATA, and SCSI storage interfaces differ, how Linux names disks and partitions, and why UUIDs are safer than /dev/sdX paths.

A disk interface is the hardware and protocol mechanism through which a storage device communicates with a computer or storage controller. The interface determines matters such as signaling, cabling, commands, and device connectivity. It does not determine how the disk is partitioned, which filesystem is used, or where that filesystem is mounted.

This lesson compares three historically important interface families: PATA, SATA, and SCSI. It also explains Linux block-device names such as /dev/sda and /dev/hda.

Storage interfaces and the layers around them

A block device is storage accessed as addressable blocks of data. A whole disk is a block device, and each partition on that disk can also be exposed as a block device.

LayerExamplesQuestion it answers
Physical interfacePATA, SATA, SCSI, SASHow does the drive communicate with the host?
Linux block-device name/dev/hda, /dev/sdaHow does the kernel currently expose the device?
Partition tableMBR, GPTHow is the disk divided into partitions?
Filesystem or swapext4, XFS, swapHow is a partition or volume used?

A partition is a logical subdivision of a physical disk. A mount point is a directory where Linux makes a filesystem's contents available. Neither partitions nor mount points are part of the disk interface.

PATA: Parallel Advanced Technology Attachment

PATA expands to Parallel Advanced Technology Attachment. It is also commonly called IDE, a historical term for ATA storage hardware and its associated interfaces. The terms are closely related, although they are not perfectly interchangeable in every technical context.

With parallel transmission, multiple data bits are carried simultaneously over separate signal paths. Traditional PATA used a wide ribbon cable with many conductors. An ATA channel could traditionally support two devices on one cable.

Shared cables and legacy device selection

Because two devices could share an ATA channel, the devices needed a way to identify their roles. Older documentation uses the terms master and slave. The device-selection setting could be configured with jumpers. Cable select was another option in which the cable position helped determine the device role.

These are legacy configuration concepts. Always follow the labels printed on the drive and the controller documentation when working with old PATA hardware. Power down before changing internal cables or jumpers.

PATA in older Linux systems

Traditional Linux IDE drivers commonly named the first PATA disk /dev/hda and the second disk /dev/hdb. Partition numbers were appended to the disk name:

  • /dev/hda: the whole first IDE-style disk
  • /dev/hda1: its first partition
  • /dev/hda2: its second partition

Modern Linux systems may expose PATA hardware through the general SCSI-style storage stack. In that case, the same physical PATA disk might appear as /dev/sda instead of /dev/hda. Do not assume that a name from an old guide still exists on a current system.

SATA: Serial Advanced Technology Attachment

SATA expands to Serial Advanced Technology Attachment. With serial transmission, data is sent in sequence over a serial link rather than as several bits at once over a wide parallel cable.

A typical SATA connection is point-to-point: one motherboard or controller port connects directly to one drive through one data cable. SATA cables are much narrower than traditional PATA ribbon cables, and there is normally no master/slave jumper arrangement for sharing a single data cable.

SATA became the common consumer successor to PATA because its cabling and point-to-point topology simplified installation and supported newer interface generations. Serial signaling itself does not automatically mean higher or lower performance. Interface generation, controller design, protocol overhead, and the storage medium all affect actual performance.

Typical SATA names in Linux

Linux commonly presents SATA disks with SCSI-style names:

  • /dev/sda: one whole disk
  • /dev/sda1: the disk's first partition
  • /dev/sda2: the disk's second partition
  • /dev/sdb: another detected whole disk

The sd prefix means that Linux is exposing the device through a SCSI-style block-device interface. It does not prove that the physical disk is SCSI. The letter is an enumeration order assigned by the kernel, not a permanent identity for the drive.

SCSI: Small Computer System Interface

SCSI expands to Small Computer System Interface. SCSI is a family of storage interfaces and command protocols. Traditional parallel SCSI used a shared bus and was especially common in servers, workstations, and higher-end storage systems.

A traditional SCSI bus could connect multiple devices to one controller. The exact limit depended on the SCSI generation and bus width. Common arrangements allowed up to 8 or 16 IDs, including the controller. Each device used an address known conceptually as a target ID. More detailed SCSI addressing can include a controller, bus, target, and logical unit, or LUN.

Linux commonly names SCSI disks in the same style as SATA disks: /dev/sda, /dev/sdb, and so on. Their partitions use numeric suffixes such as /dev/sda1.

Traditional SCSI should not be confused with every later technology that uses the SCSI command family. SAS, or Serial Attached SCSI, is a later serial SCSI technology often used in enterprise systems. Therefore, “SCSI” does not always mean a traditional parallel cable and shared bus.

Comparison of PATA, SATA, and traditional parallel SCSI

InterfaceFull nameTransmission modelConnection or bus topologyTypical historical useDevices per cable or busTypical Linux naming contextCurrent relevance
PATAParallel Advanced Technology AttachmentParallelShared ribbon-cable channelOlder desktop computersUsually up to two devices per ATA channelOlder IDE drivers: /dev/hdX; modern drivers may use /dev/sdXLegacy hardware
SATASerial Advanced Technology AttachmentSerialPoint-to-point connectionConsumer desktops, laptops, hard drives, and SATA SSDsNormally one drive per data cable and portCommonly /dev/sdXStill common, although newer technologies are also widespread
Traditional parallel SCSISmall Computer System InterfaceParallelShared busServers, workstations, and high-end storageOften up to 8 or 16 IDs, depending on generation and widthCommonly /dev/sdXMostly legacy; later SCSI technologies include SAS

Linux disk and partition device names

Linux exposes devices through the /dev directory. A whole-disk device represents the complete disk, while a partition device represents one region described by the disk's partition table.

Storage contextWhole-disk exampleFirst-partition exampleWhat the name meansNaming caveat
Legacy IDE/PATA driver/dev/hda/dev/hda1Whole disk and its first partitionMostly encountered in older driver arrangements and documentation
SATA disk/dev/sda/dev/sda1Whole disk and its first partitionsdX is a kernel-assigned ordering, not a permanent identity
Another SCSI-style device/dev/sdb/dev/sdb1Another whole disk and its first partitionCould be SATA, USB mass storage, SAS, or a virtual disk

Many storage technologies use the Linux SCSI disk subsystem. SATA, USB mass-storage devices, SAS disks, and some virtual disks commonly receive /dev/sdX names. Consequently, a name such as /dev/sda identifies the current kernel block-device ordering, not necessarily a physical SCSI interface.

MBR, GPT, partitions, and swap

MBR, or Master Boot Record, is a partition-table scheme. It is separate from PATA, SATA, and SCSI. A SATA disk can use MBR, and a SCSI disk can use GPT.

The traditional MBR layout supports four primary partitions. To create more partitions, MBR can use an extended partition containing logical partitions. This arrangement works around the four-primary-partition limit but adds another level of partition organization.

GPT, or GUID Partition Table, is a newer partition-table format that avoids key MBR limitations, including its traditional partition-count and disk-size constraints.

A swap partition is disk space designated for Linux virtual memory. It is not normally mounted as a regular filesystem. Swap can be configured either as a partition or as a swap file. Neither choice is tied to PATA, SATA, or SCSI.

Stable device references

For persistent configuration, prefer stable identifiers over raw /dev/sdX names. Common options include:

  • UUID: an identifier commonly associated with a filesystem or swap area.
  • PARTUUID: an identifier for a partition entry.
  • Filesystem labels: human-readable names assigned to filesystems.
  • /dev/disk/by-id/: links generally based on hardware or device identity.
  • /dev/disk/by-uuid/: links based on filesystem UUIDs.

These references help prevent a mount or swap configuration from selecting the wrong device when enumeration order changes.

Inspect disks safely

lsblk -o NAME,TYPE,SIZE,MODEL,TRAN,FSTYPE,UUID,MOUNTPOINTS

This command lists disks and partitions, sizes, models, transport hints, filesystem types, UUIDs, and mount points.

sudo fdisk -l

This displays detected disks and partition tables. Treat it as an inspection command, but carefully read the target disk before using any partition-editing operation.

sudo blkid

This displays filesystem and swap identifiers, including UUID values. These commands can provide additional context:

ls -l /dev/disk/by-id/ /dev/disk/by-uuid/
cat /proc/partitions
dmesg | grep -Ei 'ata|sata|scsi|sd[a-z]|hd[a-z]'

UUID-based /etc/fstab examples

A filesystem can be mounted persistently without depending on a changing disk letter:

UUID=<filesystem-uuid> /data ext4 defaults 0 2

A swap partition can also be activated by UUID:

UUID=<swap-uuid> none swap sw 0 0

Replace the placeholder with the verified value from blkid. Check the filesystem type, mount point, and target UUID carefully before changing /etc/fstab.

Practical recognition examples

Recognizing an older PATA disk

In a legacy IDE arrangement, the first whole disk might be /dev/hda, with partitions /dev/hda1 and /dev/hda2. On a current kernel using libata and the SCSI storage layer, the same physical PATA hardware may instead be exposed as /dev/sda. Identify it by model, size, partition layout, and UUID rather than by blindly translating one name to another.

Recognizing a SATA disk

A SATA drive typically connects to one motherboard SATA port with one dedicated data cable. Linux may show it as /dev/sda, with /dev/sda1 holding a Linux filesystem and /dev/sda2 holding swap. If another device is detected first, the same drive may be assigned /dev/sdb.

Interpreting an sdX name

A SATA disk, a USB external drive, and a true SCSI or SAS disk can all appear as /dev/sdX. The shared naming style reflects Linux's storage subsystem, not proof of the physical interface. Use the TRAN field from lsblk, kernel messages, hardware information, and the device model to investigate further.

Troubleshooting

A drive changes from /dev/sda to /dev/sdb

Device discovery order may have changed because of another boot device, a USB drive, or an additional controller. Locate the disk using its model, serial-derived by-id path, UUID, or PARTUUID. Use the stable reference in mount and swap configuration.

An older guide refers to /dev/hda

The guide may assume an older IDE driver model, while the installed system uses modern libata or SCSI-layer drivers. Compare disk size, model, UUID, and partition layout before performing any operation. Never substitute /dev/sda automatically without confirming that it is the intended disk.

One of two PATA drives is not detected

Check master/slave or cable-select jumper settings, cable orientation, connector position, cable condition, and controller compatibility. Power down before changing internal cables or jumpers.

A detected partition does not mount

It may have no filesystem, may not be configured in /etc/fstab, or may have an incorrect UUID or device reference. Inspect it with lsblk and blkid, then verify the mount point, filesystem type, and stable identifier.

Swap does not activate at boot

Check active swap with:

swapon --show

Confirm the swap UUID with blkid. If the intended partition was recreated or reformatted, its UUID may have changed. Only after verifying the target device, initialize it with mkswap, then update /etc/fstab and activate it with swapon. Selecting the wrong device can destroy data.

Modern scope and exam notes

  • NVMe and USB storage are important modern technologies, but they are outside the core PATA, SATA, and traditional parallel-SCSI comparison.
  • Serial transmission is not automatically faster or slower than parallel transmission. Generation, controller, protocol, and media technology matter.
  • /dev/sdX does not prove that a device is physically SCSI.
  • /dev/sda usually refers to a whole disk; /dev/sda1 refers to its first partition.
  • MBR and GPT describe partition-table organization, not the disk interface.
  • A filesystem and a swap area are different uses for storage space, and both can exist on disks using different interfaces.
  • Use UUID, PARTUUID, labels, or /dev/disk/by-id/ paths when a configuration must remain correct across reboots.

For related study, continue with Hard Disk Interfaces as a reference point for interface terminology and Linux device naming.