
A disk controller is a controller
circuit that enables a
CPU
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
to communicate with a
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
,
floppy disk
A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
or other kind of
disk drive
Disc or disk may refer to:
* Disk (mathematics), a two dimensional shape, the interior of a circle
* Disk storage
* Optical disc
* Floppy disk
Music
* Disc (band), an American experimental music band
* ''Disk'' (album), a 1995 EP by Moby
Other ...
. It also provides an interface between the disk drive and the bus connecting it to the rest of the system.
[{{Cite book , url=https://ieeexplore.ieee.org/document/955038 , access-date=2023-10-18 , date=2001 , doi=10.1109/ICCD.2001.955038 , s2cid=3084914 , language=en-US , last1=Jeppesen , first1=J. , last2=Allen , first2=W. , last3=Anderson , first3=S. , last4=Pilsl , first4=M. , title=Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001 , chapter=Hard disk controller: The disk drive's brain and body , pages=262–267 , isbn=0-7695-1200-3 ]
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
Run-length limited (RLL) is a line coding technique that is used to send arbitrary data over a communications channel with bandwidth limits. RLL codes are defined by four main parameters: ''m'', ''n'', ''d'', ''k''. The first two, ''m''/''n'', r ...
(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
Shugart Associates (later Shugart Corporation) was a computer peripheral manufacturer that dominated the floppy disk drive market in the late 1970s and is famous for introducing the -inch "Minifloppy" floppy disk drive. In 1979 it was one of the ...
Systems Interface (
SASI) was a predecessor to
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced ...
.
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 a
host adapter
In computer hardware a host controller, host adapter or host bus adapter (HBA) connects a computer system bus which acts as the host system to other network and storage devices. The terms are primarily used to refer to devices for connecting ...
in the host system over a standardized, high-level
storage bus
Storage may refer to:
Goods Containers
* Dry cask storage, for storing high-level radioactive waste
* Food storage
* Intermodal container, cargo shipping
* Storage tank
Facilities
* Mail storage, storage by mail or delivery service
* Self storag ...
interface. The most common types of interfaces provided nowadays by host controllers are
PATA (IDE) and
Serial ATA
SATA (Serial AT Attachment) is a computer bus interface that connects host adapter, host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PAT ...
for home use. High-end disks use
Parallel SCSI
Parallel SCSI (formally, SCSI Parallel Interface, or SPI) is the earliest of the interface implementations in the SCSI family. SPI is a parallel bus; there is one set of electrical connections stretching from one end of the SCSI bus to the ot ...
,
Fibre Channel
Fibre Channel (FC) is a high-speed data transfer protocol providing in-order, lossless delivery of raw block data. Fibre Channel is primarily used to connect computer data storage to Server (computing), servers in storage area networks (SAN) in ...
or
Serial Attached SCSI
In computing, Serial Attached SCSI (SAS) is a point-to-point serial Communications protocol, protocol that moves data to and from Computer storage, computer-storage devices such as hard disk drives, solid-state drives and tape drives. SAS replac ...
. The peripheral controller integrated on
PATA (IDE),
Serial ATA
SATA (Serial AT Attachment) is a computer bus interface that connects host adapter, host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PAT ...
,
Parallel SCSI
Parallel SCSI (formally, SCSI Parallel Interface, or SPI) is the earliest of the interface implementations in the SCSI family. SPI is a parallel bus; there is one set of electrical connections stretching from one end of the SCSI bus to the ot ...
or
Serial Attached SCSI
In computing, Serial Attached SCSI (SAS) is a point-to-point serial Communications protocol, protocol that moves data to and from Computer storage, computer-storage devices such as hard disk drives, solid-state drives and tape drives. SAS replac ...
hard disk is usually a
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
or an
ASIC
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
.
Disk controllers can also control the timing of access to
flash memory
Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
, which is not mechanical in nature (i.e. no spinning disk).
Disk controller versus host adapter
The component that allows a ''computer'' to talk to a peripheral bus is a
host adapter
In computer hardware a host controller, host adapter or host bus adapter (HBA) connects a computer system bus which acts as the host system to other network and storage devices. The terms are primarily used to refer to devices for connecting ...
or host bus adapter (HBA, e.g.
Advanced Host Controller Interface
The Advanced Host Controller Interface (AHCI) is a technical standard defined by Intel that specifies the register-level interface of Serial ATA (SATA) host controllers in a non-implementation-specific manner in its motherboard chipsets.
The ...
or AHDC). A disk controller allows a ''disk'' to talk to the same bus. Signals read by a
disk read-and-write head
A disk read-and-write head is the small part of a disk drive that moves above the disk platter and transforms the platter's magnetic field into electric current (reads the disk) or, vice versa, transforms electric current into magnetic field ...
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
A motherboard, also called a mainboard, a system board, a logic board, and informally a mobo (see #Nomenclature, "Nomenclature" section), is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It ho ...
's bus, and then read by the
CPU
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
into the memory (RAM).
Sometimes there may be yet another controller between a host adapter and a disk controller - a
disk array controller
A disk array controller is a device that manages the physical disk drives and presents them to the computer as logical units. It often implements hardware RAID, thus it is sometimes referred to as RAID controller. It also often provides additio ...
that allows
hardware RAID to be formed. Sometimes it may be even physically integrated with an HBA.
References
See also
*
Disk array controller
A disk array controller is a device that manages the physical disk drives and presents them to the computer as logical units. It often implements hardware RAID, thus it is sometimes referred to as RAID controller. It also often provides additio ...
*
Floppy-disk controller
A floppy-disk controller (FDC) is a hardware component that directs and controls reading from and writing to a computer's floppy disk drive (FDD). It has evolved from a discrete set of components on one or more circuit boards to a special-purpo ...
*
Forensic disk controller
A forensic disk controller or hardware write-block device is a specialized type of computer hard disk controller made for the purpose of gaining read-only access to computer Hard disk drive, hard drives without the risk of damaging the drive's ...
Computer data storage
Integrated circuits
fr:Disque dur#Contrôleur de disque