This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Disk controller" – news ·newspapers ·books ·scholar ·JSTOR(October 2023) (Learn how and when to remove this message) |
Adisk controller is a controllercircuit that enables aCPU to communicate with ahard disk,floppy disk or other kind ofdisk drive. It also provides an interface between the disk drive and the bus connecting it to the rest of the system.[1][2]
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 toSCSI.
Modern disk controllers are integrated into the disk drive as peripheral controllers. For example,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.
These integrated peripheral controllers communicate with ahost adapter in the host system over a standardized, high-levelstorage bus interface. The most common types of interfaces provided nowadays by host controllers arePATA (IDE) andSerial ATA for home use. High-end disks useParallel SCSI,Fibre Channel orSerial Attached SCSI. The peripheral controller integrated onPATA (IDE),Serial ATA,Parallel SCSI orSerial Attached SCSI hard disk is usually amicrocontroller or anASIC.
Disk controllers can also control the timing of access toflash memory which is not mechanical in nature (i.e. no spinning disk).
The component that allows acomputer to talk to a peripheral bus is ahost adapter or host bus adapter (HBA, e.g.Advanced Host Controller Interface or AHDC). A disk controller allows adisk to talk to the same bus. Signals read by adisk 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 themotherboard's bus, and then read by theCPU into the memory (RAM).
Sometimes there may be yet another controller between a host adapter and a disk controller - adisk array controller that allowshardware RAID to be formed. Sometimes it may be even physically integrated with an HBA.