Device controller

A device controller is a system that handles the incoming and outgoing signals of the CPU by acting as a bridge between CPU and the I/O devices. A device is connected to the computer via a plug and socket, and the socket is connected to a device controller. Device controllers use binary and digital codes. An IO device contains mechanical and electrical parts. A device controller is the electrical part of the IO device.
Device-Operating System Communication.
The Device Controller receives the data from a connected device and stores it temporarily in some special purpose registers (i.e. local buffer) inside the controller. Then it communicates the data with a Device Driver. For each device controller there is an equivalent device driver which is the standard interface through which the device controller communicates with the Operating Systems through Interrupts. Device controller is a hardware whereas device driver is a software.
The controller's job is to convert the serial bit stream to block bytes and perform any error correction necessary. 
Each device controller is in charge of a specific type of device (for example disk drives, audio devices, or video displays). Each device controller has a local buffer.