In un computer, il controller del disco è un circuito che consente all’unità di elaborazione centrale (CPU) di comunicare con altri dischi del computer, come un disco floppy, un disco rigido o un altro tipo di unità disco. I controller del disco utilizzano interfacce come Advanced Technology Attachment (ATA) e Integrated Drive Electronic (IDE), che vengono utilizzate più frequentemente nei personal computer (PC) e Small Computer System Interface (SCSI), che viene utilizzata più frequentemente nei computer di ” classe impresa”. Le operazioni di base dei controller del disco includono variazioni sulle operazioni di lettura e scrittura. Il sistema operativo (SO) del controller utilizza blocchi numerati mentre il disco utilizza altri fattori, inclusi cilindro fisico, numeri di settore e traccia per operare. Un driver di dispositivo esegue la mappatura.
Le comuni interfacce ATA e IDE utilizzate dai controller del disco operano tramite insiemi di registri, che si trovano in vari punti dell’indirizzo Input/Output (I/O). Questi registri vengono utilizzati per la specifica delle informazioni su richieste di I/O separate. Dopo aver scritto il “registro dei comandi” del dispositivo, il controller del disco inizia l’esecuzione di un’operazione richiesta. Alcuni trasferimenti di dati si verificano tra la memoria di un computer e il suo disco quando il bit designato “richiesta dati” viene impostato in un registro di stato. Ciò si verifica nelle operazioni di scrittura di un controller del disco poco dopo l’invio di un comando e nelle operazioni di lettura, un comando di interruzione indica la disponibilità dei dati.
I controller del disco dispongono di determinati registri del controller che svolgono funzioni diverse. In un registro, i byte di dati vengono letti e scritti, ma i comandi sono impostati per essere letti o scritti in un registro completamente diverso. Un altro registro è il “registro degli errori” che produce errori di codice. Due registri operano insieme e indicano il numero di cilindro di un controller del disco, mentre un altro registro indica un numero di unità o testina. Gli ultimi due registri sono utilizzati per indicare il numero di settori da leggere/scrivere e il numero del settore.
Esistono diversi tipi di controller del disco che possono essere componenti di un computer. Un tipo di controller del disco è il controller dell’array di dischi, che gestisce il componente dell’unità disco fisica e lo presenta a un computer in termini di unità logiche. Implementa l’hardware RAID (Redundant Array of Independent Disks) e spesso viene chiamato controller RAID. L’Hard Disk Controller (HDC) standard è un’interfaccia che consente ai computer di leggere/scrivere informazioni su un’unità disco rigido (HD). Un controller del disco forense è un HDC specializzato per ottenere l’accesso in sola lettura dalle unità HD dei computer senza danneggiare il contenuto della sua unità.