Introducción al controlador de puerto de ATA

Nota:

Los modelos de controlador de puerto ATA y controlador de minipuerto de ATA pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport storport .

Además del controlador de puerto SCSI y el controlador Storport, Windows Vista y versiones posteriores del sistema operativo Windows proporcionan el controlador de puerto ATA (Ataport.sys), un controlador de puerto de almacenamiento especialmente adecuado para su uso con controladores IDE.

La diferencia más importante entre el controlador de puerto de ATA y otros controladores de puerto de almacenamiento proporcionados por el sistema es el protocolo que el controlador de puerto de ATA usa para comunicarse con otros controladores. Todos los demás controladores de puerto de almacenamiento proporcionados por el sistema usan bloques de solicitudes SCSI (SRB) para comunicarse tanto con controladores de nivel superior, como controladores de clase de almacenamiento, como con controladores de minipuerto. El controlador de puerto de ATA usa SRB para comunicarse solo con controladores de nivel superior. Para comunicarse con sus controladores de minipuerto, el puerto de ATA usa un paquete denominado bloque de solicitudes IDE (IRB), que se define mediante la estructura de IDE_REQUEST_BLOCK . Los IRB están mejor diseñados que los SRB para las características de los dispositivos ATA.

Otra diferencia entre el controlador de puerto ATA y otros controladores de almacenamiento proporcionados por el sistema es que el controlador de puerto ATA blinda los controladores de miniporte de ATA de determinados requisitos definidos por el estándar SCSI. Por ejemplo, el controlador de puerto ATA usa comandos ATA para recopilar el equivalente de datos de detección SCSI del controlador de miniporte de ATA, traduce los datos para que cumpla con un formato de datos de sentido SCSI y pase los datos a controladores de nivel superior como si fueran datos de sentido SCSI. Por lo tanto, los controladores de minipuerto de ATA no tienen que responder directamente a las solicitudes de controladores de nivel superior para los datos de detección SCSI.

La interfaz del controlador de miniporte de ATA se parece mucho a la interfaz del controlador de puerto SCSI. Por lo tanto, si ya ha escrito un controlador de miniporte SCSI, debería poder aprender fácilmente a escribir un controlador de miniporte de ATA. Los controladores para las tecnologías actuales de ATA/ATAPI, como Serial ATA (SATA), deben usar la interfaz de miniporte storport de mayor rendimiento.

Junto con el controlador de puerto ATA, el sistema operativo proporciona un controlador de miniport de ATA predeterminado y un minidriver de controlador predeterminado. Los controladores predeterminados proporcionados por el sistema funcionan para la mayoría del hardware del controlador, y se recomienda encarecidamente que los minidrivers predeterminados se usen siempre que sea posible.