
A floppy-disk controller (FDC) has evolved from a discrete set of components on one or more circuit boards to a special-purpose
integrated circuit (IC or "chip") or a component thereof. An FDC directs and controls reading from and writing to a computer's
floppy disk drive (FDD). The FDC is responsible for reading data presented from the host computer and converting it to the drive's on-disk format using one of a number of encoding schemes, like
FM encoding
Frequency modulation encoding, or simply FM, is a method of storing data that saw widespread use in early floppy disk drives and hard disk drives. The data is modified using differential Manchester encoding when written to allow clock recove ...
(single density) or
MFM encoding (double density), and reading those formats and returning it to its original binary values.
Depending on the platform, data transfers between the controller and host computer would be controlled by the computer's own
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
, or an inexpensive dedicated microprocessor like the
MOS 6507
The 6507 (typically "''sixty-five-oh-seven''" or "''six-five-oh-seven''") is an 8-bit microprocessor from MOS Technology, Inc. It is a version of their 40-pin 6502 packaged in a 28-pin DIP, making it cheaper to package and integrate in systems ...
or
Zilog Z80. Early controllers required additional circuitry to perform specific tasks like providing clock signals and setting various options. Later designs included more of this functionality on the controller and reduced the complexity of the external circuitry; single-chip solutions were common by the later 1980s.
By the 1990s, the floppy disk was increasingly giving way to
hard drives, which required similar controllers. In these systems, the controller also often combined a
microcontroller to handle data transfer over standardized connectors like
SCSI and
IDE that could be used with any computer. In more modern systems, the FDC, if present at all, is typically part of the many functions provided by a single