The disk controller (or “hard disk controller”) is an circuit embedded in a hard disk and is the equivalent of a miniaturized computer, as it contains a small CPU and its own memory to obtain and transfer data from the physical disk drive.
Disk controller versus host adapter
The correct term for the components that allows a computer to talk to a peripheral bus is host adapter or host bus adapter (HBA). On the other hand, a disk controller allows a disk to talk to the same bus. Those two are often confused.
In fact signals read by a disk read-and-write head are:
- converted by a disk controller,
- then transmitted over the peripheral bus,
- then converted again by the host adapter into the suitable format for the motherboard's bus,
- and then read by the CPU.
Sometimes there may be yet another controller between a host adapter and a disk controller - a disk array controller that allows hardware RAID to be formed. Sometimes it may be even physically integrated with an HBA, but it performs different functions.