In a computer, the disk controller is a circuit that allows the central processing unit (CPU) to communicate with other computer disks, such as a floppy disk, hard disk or some other type of disk drive. Disk controllers use interfaces such as Advanced Technology Attachment (ATA) and Integrated Drive Electronic (IDE), which are used most frequently in personal computers (PCs), and Small Computer System Interface (SCSI), which is used most frequently in computers of “enterprise” class. Basic operations of disk controllers include variations on the read and write operations. The controller’s operating system (OS) uses numbered blocks while the disk uses other factors, including physical cylinder, sector numbers, and track to operate. A device driver performs mapping.
The common ATA and IDE interfaces that disk controllers use operate by sets of registers, which are located at various spots in the Input/Output (I/O) address. These registers are used for information specification about separate I/O requests. Upon writing the device’s “command register,” the disk controller begins the performance of a requested operation. Certain data transfers occur between a computer’s memory and its disk when the bit designated “data request” sets in a status register. This occurs in the writing operations of a disk controller shortly after a command sends, and in the reading operations, an interrupt command indicates the availability of data.
Disk controllers have certain controller registers that perform different functions. In one register, the bytes of data are read and written, but the commands are set to be read or written in an entirely different register. Another register is the “error register” which yields code errors. Two registers operate in conjunction and indicate a disk controller’s cylinder number, while another register indicates a drive or head number. The last two registers are used to indicate the number of sectors to read/write, and the sector number.
There are different types of disk controller that can be a component in a computer. One type of disk controller is the disk array controller, which manages the physical disk drive component and presents it to a computer in terms of logical units. It implements the Redundant Array of Independent Disks (RAID) hardware and so often goes by the name RAID controller. The standard Hard Disk Controller (HDC) is an interface enabling computers to read/write information on to a hard disk (HD) drive. A forensic disk controller is an HDC that is specialized to gain read-only access from HD drives of computers without damaging the contents of its drive.