Disk controller

From Wikipedia, the free encyclopedia

The disk controller (or "hard disk controller") is the circuit which allows the CPU to communicate with a hard disk, floppy disk or other kind of disk drive.

Early disk controllers were identified by their storage methods and data encoding. They were typically implemented on a separate controller card. Modified frequency modulation (MFM) controllers were the most common type in small computers, used for both floppy disk and hard disk drives. Run length limited (RLL) controllers used data compression to increase storage capacity by about 50%. Priam created a proprietary storage algorithm that could double the disk storage. Shugart Associates Systems Interface (SASI) was a predecessor to SCSI.

Main article: Hard drive

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 controllers are ATA (IDE) and Serial ATA for home use. High-end disks use SCSI, Fibre Channel or Serial Attached SCSI.

[edit] 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 other hand, a disk controller allows a disk to talk to the same bus. Those two are often confused, especially in PC world. In fact signals read by a disk read-and-write head are converted by a disk controller, then transmitted over peripheral bus, then converted again by host adapter into motherboard's bus suitable format and then read by 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.

[edit] See also

Languages