Un controlador de disco es un circuito controlador que permite que una CPU se comunique con un disco duro , un disquete u otro tipo de unidad de disco . También proporciona una interfaz entre la unidad de disco y el bus que la conecta con el resto del sistema. [1] [2]
Los primeros controladores de disco se identificaban por sus métodos de almacenamiento y codificación de datos. Por lo general, se implementaban en una tarjeta controladora separada. Los controladores de modulación de frecuencia modificada (MFM) eran el tipo más común en las computadoras pequeñas, y se usaban tanto para disquetes como para unidades de disco duro. Los controladores de longitud de ejecución limitada (RLL) usaban compresión de datos para aumentar la capacidad de almacenamiento en aproximadamente un 50%. Priam creó un algoritmo de almacenamiento propietario que podía duplicar el almacenamiento en disco. Shugart Associates Systems Interface ( SASI ) fue un predecesor de SCSI .
Los controladores de disco modernos están integrados en la unidad de disco como controladores periféricos. Por ejemplo, los discos SCSI tienen controladores SCSI integrados. En el pasado, antes de que la mayoría de las funciones de los controladores SCSI se implementaran en un solo chip, los controladores SCSI independientes conectaban los discos al bus SCSI.
Estos controladores periféricos integrados se comunican con un adaptador host en el sistema host a través de una interfaz de bus de almacenamiento de alto nivel estandarizada. Los tipos de interfaces más comunes que ofrecen actualmente los controladores host son PATA (IDE) y Serial ATA para uso doméstico. Los discos de alta gama utilizan SCSI paralelo , canal de fibra o SCSI conectado en serie .
Los controladores de disco también pueden controlar el tiempo de acceso a la memoria flash , que no es de naturaleza mecánica (es decir, no hay disco giratorio).
El componente que permite que una computadora se comunique con un bus periférico es un adaptador host o adaptador de bus host (HBA, por ejemplo, Interfaz avanzada de controlador host o AHDC). Un controlador de disco permite que un disco se comunique con el mismo bus. Las señales leídas por un cabezal de lectura y escritura de disco son convertidas por un controlador de disco, luego transmitidas por el bus periférico, luego convertidas nuevamente por el adaptador host al formato adecuado para el bus de la placa base y luego leídas por la CPU en la memoria (RAM).
A veces, puede haber otro controlador entre un adaptador host y un controlador de disco: un controlador de matriz de discos que permite formar un RAID de hardware . A veces, incluso puede estar integrado físicamente con un HBA.