Since digital information is a stream of ones and zeros, hard disks store information in the form of magnetic pulses. In order for the PC’s data to be stored on the hard disk, therefore, it must be converted to magnetic information. When it is read from the disk, it must be converted back to digital information. This work is done by the integrated controller built into the hard drive, in combination with sense and amplification circuits that are used to interpret the weak signals read from the platters themselves.
In short, the disk controller consists of a ROM that embedded some disk commands to translate and implement some write and read orders from a PC, it is like a disk controller chip, and a little glue to make it all work.
I used to imagine that a Hard disk controller is a talented translator who lives in a chip of PCB, translating between the magnet signal of ones of HDD and zeros and commands from PC.
Modern disk controllers are integrated into the disk drive. For example, disks called “SCSI disks” have built-in SCSI controllers. In the past, before most SCSI controller functionality was implemented in a single chip, separate SCSI controllers interfaced disks to the SCSI bus.
The most common types of interfaces provided nowadays by a disk controller are ATA (IDE) and Serial ATA for home use. High-end disks use SCSI, Fibre Channel or Serial Attached SCSI.