Parallel ATA ( PATA ), originalmente AT Attachment , también conocido como Integrated Drive Electronics ( IDE ), es una interfaz estándar diseñada para computadoras compatibles con IBM PC . Fue desarrollado por primera vez por Western Digital y Compaq en 1986 para discos duros compatibles y unidades de CD o DVD. La conexión se utiliza para dispositivos de almacenamiento como unidades de disco duro , unidades de disquete , unidades de disco óptico y unidades de cinta en computadoras .
El estándar es mantenido por el comité X3/ INCITS . [1] Utiliza los estándares subyacentes AT Attachment (ATA) y AT Attachment Packet Interface ( ATAPI ).
El estándar Parallel ATA es el resultado de una larga historia de desarrollo técnico incremental, que comenzó con la interfaz AT Attachment original, desarrollada para su uso en los primeros equipos AT de PC . La interfaz ATA en sí misma evolucionó en varias etapas a partir de la interfaz Integrated Drive Electronics (IDE) original de Western Digital . Como resultado, muchos sinónimos de ATA/ATAPI y sus encarnaciones anteriores todavía se usan informalmente, en particular Extended IDE (EIDE) y Ultra ATA (UATA). Después de la introducción de SATA en 2003, el ATA original pasó a llamarse Parallel ATA, o PATA para abreviar.
Los cables ATA paralelos tienen una longitud máxima permitida de 18 pulgadas (457 mm). [2] [3] Debido a este límite, la tecnología normalmente aparece como una interfaz de almacenamiento interno de la computadora. Durante muchos años, ATA proporcionó la interfaz más común y menos costosa para esta aplicación. En los sistemas más nuevos, ha sido reemplazada en gran medida por SATA.
El estándar fue concebido originalmente como "AT Bus Attachment", oficialmente llamado "AT Attachment" y abreviado "ATA" [4] [5] porque su característica principal era una conexión directa al bus ISA de 16 bits introducido con el IBM PC/AT . [6] Las especificaciones ATA originales publicadas por los comités de estándares usan el nombre "AT Attachment". [7] [8] [9] El "AT" en el IBM PC/AT se refería a "Tecnología avanzada", por lo que ATA también se ha denominado "Advanced Technology Attachment". [10] [4] [11] [12] Cuando se introdujo un nuevo Serial ATA (SATA) en 2003, el ATA original pasó a llamarse Parallel ATA, o PATA para abreviar. [13]
Las interfaces ATA físicas se convirtieron en un componente estándar en todas las PC, inicialmente en adaptadores de bus host, a veces en una tarjeta de sonido, pero finalmente como dos interfaces físicas integradas en un chip Southbridge en una placa base. Se denominaban interfaces ATA "primarias" y "secundarias" y se les asignaban las direcciones base 0x1F0 y 0x170 en los sistemas de bus ISA . Fueron reemplazadas por interfaces SATA .
La primera versión de lo que hoy se denomina interfaz ATA/ATAPI fue desarrollada por Western Digital bajo el nombre de Integrated Drive Electronics (IDE). Junto con Compaq (el cliente inicial), trabajaron con varios fabricantes de unidades de disco para desarrollar y comercializar los primeros productos con el objetivo de que el software siguiera siendo compatible con la interfaz de disco duro existente de IBM PC. [14] Las primeras unidades de este tipo aparecieron internamente en las PC de Compaq en 1986 [15] [16] y fueron ofrecidas por primera vez por separado por Conner Peripherals como CP342 en junio de 1987. [17]
El término Electrónica de Unidad Integrada se refiere a que el controlador de la unidad está integrado en la unidad, en lugar de un controlador separado situado al otro lado del cable de conexión a la unidad. En una máquina compatible con IBM PC, CP/M o similar, esto era típicamente una tarjeta instalada en una placa base . Las tarjetas de interfaz utilizadas para conectar una unidad ATA paralela a, por ejemplo, una ranura ISA , no son controladores de unidad: son simplemente puentes entre el bus host y la interfaz ATA . Dado que la interfaz ATA original es esencialmente solo un bus ISA de 16 bits , el puente era especialmente simple en el caso de que un conector ATA estuviera ubicado en una tarjeta de interfaz ISA. El controlador integrado presentaba la unidad al ordenador host como una matriz de bloques de 512 bytes con una interfaz de comando relativamente simple. Esto alivió a la placa base y a las tarjetas de interfaz en el ordenador host de las tareas de mover el brazo del cabezal del disco, mover el brazo del cabezal hacia adentro y hacia afuera, etc., como se debía hacer con los discos duros ST-506 y ESDI anteriores . Todos estos detalles de bajo nivel del funcionamiento mecánico de la unidad ahora eran manejados por el controlador de la propia unidad. Esto también eliminó la necesidad de diseñar un único controlador que pudiera manejar muchos tipos diferentes de unidades, ya que el controlador podía ser exclusivo para la unidad. El host solo tenía que solicitar que se leyera o escribiera un sector o bloque en particular y aceptar los datos de la unidad o enviarlos a ella.
La interfaz utilizada por estas unidades se estandarizó en 1994 como estándar ANSI X3.221-1994, Interfaz de conexión AT para unidades de disco . Después de que se desarrollaran versiones posteriores del estándar, se lo conoció como "ATA-1". [18] [19]
Se creó una implementación de ATA de corta duración y poco utilizada para IBM XT y máquinas similares que utilizaban la versión de 8 bits del bus ISA. Se la ha denominado "XT-IDE" , "XTA" o "XT Attachment". [20]
En 1994, aproximadamente al mismo tiempo que se adoptó el estándar ATA-1, Western Digital presentó unidades con un nombre más nuevo, Enhanced IDE (EIDE). Estas incluían la mayoría de las características de la futura especificación ATA-2 y varias mejoras adicionales. Otros fabricantes presentaron sus propias variaciones de ATA-1, como "Fast ATA" y "Fast ATA-2".
La nueva versión del estándar ANSI, AT Attachment Interface with Extensions ATA-2 (X3.279-1996), fue aprobada en 1996. Incluía la mayoría de las características de las variantes específicas del fabricante. [21] [22]
ATA-2 también fue el primero en señalar que se podían conectar a la interfaz otros dispositivos además de discos duros:
3.1.7 Dispositivo: Dispositivo es un periférico de almacenamiento. Tradicionalmente, un dispositivo en la interfaz ATA ha sido una unidad de disco duro, pero cualquier tipo de dispositivo de almacenamiento puede colocarse en la interfaz ATA siempre que cumpla con este estándar.
— Interfaz de conexión AT con extensiones (ATA-2) , página 2 [22]
ATA fue diseñado originalmente para unidades de disco duro y dispositivos que pudieran emularlas, y funcionaba únicamente con ellas. La introducción de ATAPI (ATA Packet Interface) por parte de un grupo llamado Small Form Factor Committee (SFF) permitió que ATA se utilizara para una variedad de otros dispositivos que requieren funciones más allá de las necesarias para las unidades de disco duro. Por ejemplo, cualquier dispositivo de medios extraíbles necesita un comando de "expulsión de medios" y una forma para que el host determine si el medio está presente, y estos no estaban previstos en el protocolo ATA.
ATAPI es un protocolo que permite que la interfaz ATA transmita comandos y respuestas SCSI ; por lo tanto, todos los dispositivos ATAPI en realidad "hablan SCSI" excepto en la interfaz eléctrica. Los comandos y respuestas SCSI se incorporan en "paquetes" (de ahí "Interfaz de paquetes ATA") para su transmisión a través del cable ATA. Esto permite que cualquier clase de dispositivo para el que se haya definido un conjunto de comandos SCSI se pueda interconectar a través de ATA/ATAPI.
Los dispositivos ATAPI también "hablan ATA", ya que se siguen utilizando la interfaz física y el protocolo ATA para enviar los paquetes. Por otro lado, los discos duros ATA y las unidades de estado sólido no utilizan ATAPI.
Los dispositivos ATAPI incluyen unidades de CD-ROM y DVD-ROM , unidades de cinta y unidades de disquete de gran capacidad, como la unidad Zip y la unidad SuperDisk . Algunos de los primeros dispositivos ATAPI eran simplemente dispositivos SCSI con un convertidor de protocolo ATA/ATAPI a SCSI añadido. [ cita requerida ]
Los comandos y respuestas SCSI utilizados por cada clase de dispositivo ATAPI (CD-ROM, cinta, etc.) se describen en otros documentos o especificaciones específicos de esas clases de dispositivos y no están dentro del ámbito de competencia de ATA/ATAPI o del comité T13 . Un conjunto de comandos de uso común se define en el conjunto de comandos SCSI MMC .
ATAPI fue adoptado como parte de ATA en INCITS 317-1998, AT Attachment with Packet Interface Extension (ATA/ATAPI-4) . [23] [24] [25]
El estándar ATA/ATAPI-4 también introdujo varios modos de transferencia " Ultra DMA ". Estos inicialmente admitían velocidades de 16 a 33 MB/s. En versiones posteriores, se añadieron modos Ultra DMA más rápidos, que requerían nuevos cables de 80 hilos para reducir la diafonía. Las últimas versiones de Parallel ATA admiten hasta 133 MB/s.
Ultra ATA, abreviado como UATA, es una denominación que ha sido utilizada principalmente por Western Digital para diferentes mejoras de velocidad en los estándares ATA/ATAPI. Por ejemplo, en 2000 Western Digital publicó un documento que describía "Ultra ATA/100", que aportaba mejoras de rendimiento para el estándar ATA/ATAPI-5 vigente en ese momento, al mejorar la velocidad máxima de la interfaz Parallel ATA de 66 a 100 MB/s. [26] La mayoría de los cambios de Western Digital, junto con otros, se incluyeron en el estándar ATA/ATAPI-6 (2002).
Inicialmente, el tamaño de una unidad ATA se almacenaba en el BIOS del sistema x86 utilizando un número de tipo (del 1 al 45) que predefinía los parámetros C/H/S [27] y también, a menudo, la zona de aterrizaje, en la que se estacionan los cabezales de la unidad cuando no se utilizan. Más tarde, se puso a disposición un formato "definible por el usuario" [27] llamado C/H/S o cilindros, cabezales, sectores. Estos números eran importantes para la interfaz ST-506 anterior, pero generalmente carecían de significado para ATA: los parámetros CHS para las unidades ATA de gran tamaño posteriores a menudo especificaban cantidades imposibles de cabezales o sectores que en realidad no definían en absoluto la disposición física interna de la unidad. Desde el principio, y hasta ATA-2, cada usuario tenía que especificar explícitamente el tamaño de cada unidad conectada. A partir de ATA-2, se implementó un comando "identificar unidad" que se puede enviar y que devolverá todos los parámetros de la unidad.
Debido a la falta de previsión por parte de los fabricantes de placas base, el BIOS del sistema a menudo se veía obstaculizado por limitaciones artificiales de tamaño de C/H/S debido a que el fabricante asumía que ciertos valores nunca superarían un máximo numérico particular.
El primero de estos límites del BIOS se produjo cuando las unidades ATA alcanzaron tamaños superiores a los 504 MiB , porque algunos BIOS de placas base no permitían valores C/H/S superiores a 1024 cilindros, 16 cabezales y 63 sectores. Multiplicado por 512 bytes por sector, esto da un total de 528 482 304 bytes que, dividido por 1 048 576 bytes por MiB , es igual a 504 MiB (528 MB ).
La segunda de estas limitaciones del BIOS se produjo en 1024 cilindros , 256 cabezales y 63 sectores , y un problema en MS-DOS limitó el número de cabezales a 255. Esto suma un total de 8 422 686 720 bytes (8032,5 MiB ), comúnmente conocido como la barrera de los 8,4 gigabytes. Este es nuevamente un límite impuesto por los BIOS x86, y no un límite impuesto por la interfaz ATA.
Finalmente, se determinó que estas limitaciones de tamaño se podían anular con un pequeño programa cargado al inicio desde el sector de arranque de un disco duro. Algunos fabricantes de discos duros, como Western Digital, comenzaron a incluir estas utilidades de anulación con discos duros grandes para ayudar a superar estos problemas. Sin embargo, si el equipo se iniciaba de alguna otra manera sin cargar la utilidad especial, se utilizarían las configuraciones de BIOS no válidas y el disco podría quedar inaccesible o aparecer como dañado para el sistema operativo.
Más tarde, se puso a disposición una extensión de los servicios de disco del BIOS x86 llamada " Unidad de disco mejorada " (EDD), que permite abordar unidades de hasta 264 sectores . [28]
La primera interfaz de unidad utilizó un modo de direccionamiento de 22 bits, lo que dio como resultado una capacidad máxima de unidad de dos gigabytes. Más tarde, la primera especificación ATA formalizada utilizó un modo de direccionamiento de 28 bits a través de LBA28 , lo que permitió el direccionamiento de 2 28 (268 435 456 ) sectores (bloques) de 512 bytes cada uno, lo que da como resultado una capacidad máxima de 128 GiB (137 GB ).
ATA-6 introdujo el direccionamiento de 48 bits, aumentando el límite a 128 PiB (144 PB ). Como consecuencia, cualquier unidad ATA con una capacidad superior a 137 GB aproximadamente debe ser una unidad ATA-6 o posterior. Conectar una unidad de este tipo a un host con una interfaz ATA-5 o anterior limitará la capacidad utilizable al máximo de la interfaz.
Algunos sistemas operativos, incluidos Windows XP pre-SP1 y Windows 2000 pre-SP3, deshabilitan LBA48 de forma predeterminada, lo que requiere que el usuario tome medidas adicionales para utilizar toda la capacidad de una unidad ATA mayor a aproximadamente 137 gigabytes. [29]
Los sistemas operativos más antiguos, como Windows 98 , no admiten LBA de 48 bits. Sin embargo, los miembros del grupo de terceros MSFN [30] han modificado los controladores de disco de Windows 98 para agregar compatibilidad no oficial con LBA de 48 bits a Windows 95 OSR2 , Windows 98 , Windows 98 SE y Windows ME .
Es posible que algunos sistemas operativos de 16 y 32 bits que admiten LBA48 aún no admitan discos de más de 2 TiB debido a que solo utilizan aritmética de 32 bits; una limitación que también se aplica a muchos sectores de arranque .
Poco después de su introducción, Parallel ATA (que en aquel entonces se denominaba simplemente ATA o IDE) se convirtió en la interfaz principal de dispositivos de almacenamiento para PC. En algunos sistemas, se proporcionó una tercera y una cuarta interfaz de placa base, lo que permitía conectar hasta ocho dispositivos ATA a la placa base. A menudo, estos conectores adicionales se implementaban mediante controladores RAID económicos .
Poco después de la introducción de Serial ATA (SATA) en 2003, el uso de Parallel ATA disminuyó. Algunas PC y portátiles de la época tenían un disco duro SATA y una unidad óptica conectada a PATA.
A partir de 2007, algunos chipsets para PC , como el Intel ICH10, dejaron de admitir PATA. Los proveedores de placas base que aún desean ofrecer Parallel ATA con esos chipsets deben incluir un chip de interfaz adicional. En los equipos más recientes, la interfaz Parallel ATA rara vez se utiliza, incluso si está presente, ya que la placa base suele incluir cuatro o más conectores Serial ATA y los dispositivos SATA de todo tipo son comunes.
Con la retirada de Western Digital del mercado PATA, las unidades de disco duro con interfaz PATA dejaron de producirse después de diciembre de 2013 para aplicaciones que no fueran especiales. [31]
Los cables ATA paralelos transfieren datos de 16 bits a la vez. El cable tradicional utiliza conectores de desplazamiento de aislamiento (IDC) hembra de 40 pines conectados a un cable plano de 40 u 80 conductores . Cada cable tiene dos o tres conectores, uno de los cuales se conecta a un adaptador host que interactúa con el resto del sistema informático. El o los conectores restantes se conectan a dispositivos de almacenamiento, más comúnmente unidades de disco duro o unidades ópticas. Cada conector tiene 39 pines físicos dispuestos en dos filas (2,54 mm, paso de 1 ⁄ 10 pulgadas), con un espacio o llave en el pin 20. Los conectores anteriores pueden no tener ese espacio, con los 40 pines disponibles. Por lo tanto, los cables posteriores con el espacio lleno son incompatibles con los conectores anteriores, aunque los cables anteriores son compatibles con los conectores posteriores.
Los cables ATA redondos paralelos (a diferencia de los cables de cinta) finalmente se pusieron a disposición de los " modificadores de carcasas " por razones estéticas, así como por afirmaciones de una mejor refrigeración de la computadora y eran más fáciles de manipular; sin embargo, las especificaciones ATA solo admiten los cables de cinta.
En el interior de las computadoras portátiles se utiliza un conector PATA de 44 pines para unidades de 2,5 pulgadas. Los pines están más juntos (paso de 2,0 mm) y el conector es físicamente más pequeño que el conector de 40 pines. Los pines adicionales transportan la energía.
Los cables de ATA han tenido 40 conductores durante la mayor parte de su historia (44 conductores para la versión de formato más pequeño utilizada para unidades de 2,5", los cuatro adicionales para la alimentación), pero apareció una versión de 80 conductores con la introducción del modo UDMA/66 . Todos los conductores adicionales en el nuevo cable son tierras , intercalados con los conductores de señal para reducir los efectos del acoplamiento capacitivo entre los conductores de señal vecinos, lo que reduce la diafonía . El acoplamiento capacitivo es un problema mayor a velocidades de transferencia más altas, y este cambio fue necesario para permitir que la velocidad de transferencia de 66 megabytes por segundo (MB/s) de UDMA4 funcione de manera confiable. Los modos UDMA5 y UDMA6 más rápidos también requieren cables de 80 conductores.
Aunque el número de conductores se duplicó, el número de pines del conector y la distribución de pines siguen siendo los mismos que en los cables de 40 conductores, y la apariencia externa de los conectores es idéntica. Internamente, los conectores son diferentes; los conectores para el cable de 80 conductores conectan una mayor cantidad de conductores de tierra a los pines de tierra, mientras que los conectores para el cable de 40 conductores conectan los conductores de tierra a los pines de tierra uno a uno. Los cables de 80 conductores generalmente vienen con tres conectores de diferentes colores (azul, negro y gris para el controlador, la unidad maestra y la unidad esclava respectivamente) a diferencia de los conectores de cable de 40 conductores de color uniforme (comúnmente todos grises). El conector gris en los cables de 80 conductores tiene el pin 28 CSEL sin conectar, lo que lo convierte en la posición esclava para las unidades configuradas con selección de cable.
Si dos dispositivos están conectados a un solo cable, uno debe designarse como Dispositivo 0 (en el pasado, comúnmente designado maestro ) y el otro como Dispositivo 1 (en el pasado, comúnmente designado como esclavo ). [34] Esta distinción es necesaria para permitir que ambas unidades compartan el cable sin conflictos. La unidad Dispositivo 0 es la unidad que generalmente aparece "primera" en el BIOS y/o sistema operativo de la computadora . En la mayoría de las computadoras personales, las unidades a menudo se designan como "C:" para el Dispositivo 0 y "D:" para el Dispositivo 1, haciendo referencia a una partición primaria activa en cada una.
El modo que debe utilizar un dispositivo suele configurarse mediante una configuración de puente en el propio dispositivo, que debe configurarse manualmente en Dispositivo 0 ( Maestro ) o Dispositivo 1 ( Esclavo ). Si hay un solo dispositivo en un cable, debe configurarse como Dispositivo 0. Sin embargo, algunas unidades de cierta era tienen una configuración especial llamada Single (Single) para esta configuración (Western Digital, en particular). Además, según el hardware y el software disponibles, una unidad Single en un cable a menudo funcionará de manera confiable incluso aunque esté configurada como la unidad Device 1 (lo que se ve con mayor frecuencia cuando una unidad óptica es el único dispositivo en la interfaz ATA secundaria).
Las palabras primario y secundario generalmente se refieren a los dos cables IDE, que pueden tener dos unidades cada uno (maestro primario, esclavo primario, maestro secundario, esclavo secundario).
Existen muchos debates sobre cuánto puede afectar un dispositivo lento al rendimiento de un dispositivo más rápido en el mismo cable. En los primeros adaptadores host ATA, las transferencias de datos de ambos dispositivos se pueden limitar a la velocidad del dispositivo más lento, si dos dispositivos con diferentes capacidades de velocidad están en el mismo cable. Para todos los adaptadores host ATA modernos, esto no es cierto, ya que los adaptadores host ATA modernos admiten temporización de dispositivo independiente . Esto permite que cada dispositivo en el cable transfiera datos a su propia mejor velocidad. Incluso con adaptadores anteriores sin temporización independiente, este efecto se aplica solo a la fase de transferencia de datos de una operación de lectura o escritura. [35] Esto se debe a la omisión de conjuntos de características superpuestos y en cola de la mayoría de los productos ATA paralelos. Solo un dispositivo en un cable puede realizar una operación de lectura o escritura a la vez; por lo tanto, un dispositivo rápido en el mismo cable que un dispositivo lento bajo un uso intensivo encontrará que tiene que esperar a que el dispositivo lento complete su tarea primero. Sin embargo, la mayoría de los dispositivos modernos informan que las operaciones de escritura se completan una vez que los datos se almacenan en su memoria caché incorporada, antes de que se escriban en el almacenamiento magnético (lento). Esto permite enviar comandos al otro dispositivo en el cable, lo que reduce el impacto del límite de "una operación a la vez". El impacto de esto en el rendimiento de un sistema depende de la aplicación. Por ejemplo, al copiar datos de una unidad óptica a un disco duro (como durante la instalación de software), este efecto probablemente no importe. Tales trabajos están necesariamente limitados por la velocidad de la unidad óptica, sin importar dónde se encuentre. Pero si también se espera que el disco duro en cuestión proporcione un buen rendimiento para otras tareas al mismo tiempo, probablemente no debería estar en el mismo cable que la unidad óptica.
En ATA-1 se describió como opcional un modo de unidad denominado selección de cable , que se ha generalizado con ATA-5 y posteriores. Una unidad configurada en "selección de cable" se configura automáticamente como Dispositivo 0 o Dispositivo 1 , según su posición en el cable. La selección de cable se controla mediante el pin 28. El adaptador host conecta a tierra este pin; si un dispositivo detecta que el pin está conectado a tierra, se convierte en el dispositivo Dispositivo 0 (maestro); si detecta que el pin 28 está abierto, el dispositivo se convierte en el dispositivo Dispositivo 1 (esclavo).
Esta configuración generalmente se elige mediante una configuración de puente en la unidad denominada "selección de cable", generalmente marcada como CS , que es independiente de la configuración del Dispositivo 0/1 .
Si dos unidades se configuran como Dispositivo 0 y Dispositivo 1 manualmente, no es necesario que esta configuración corresponda con su posición en el cable. El pin 28 solo se utiliza para que las unidades conozcan su posición en el cable; el host no lo utiliza cuando se comunica con las unidades. En otras palabras, la configuración manual maestro/esclavo mediante puentes en las unidades tiene prioridad y permite colocarlas libremente en cualquier conector del cable plano.
Con el cable de 40 conductores, era muy común implementar la selección de cable simplemente cortando el cable del pin 28 entre los dos conectores de dispositivo; colocando el dispositivo esclavo Device 1 en el extremo del cable y el dispositivo maestro Device 0 en el conector del medio. Esta disposición finalmente se estandarizó en versiones posteriores. Sin embargo, tenía un inconveniente: si solo hay un dispositivo maestro en un cable de 2 unidades, al usar el conector del medio, esto da como resultado un trozo de cable sin usar, lo cual no es deseable por conveniencia física y razones eléctricas. El trozo provoca reflejos de señal , particularmente a velocidades de transferencia más altas.
Comenzando con el cable de 80 conductores definido para su uso en ATAPI5/UDMA4, el dispositivo maestro Device 0 va en el extremo más alejado del host del cable de 18 pulgadas (460 mm) en el conector negro, el dispositivo esclavo Device 1 va en el conector gris del medio y el conector azul va al host (por ejemplo, conector IDE de la placa base o tarjeta IDE). Por lo tanto, si solo hay un dispositivo ( Device 0 ) en un cable de dos unidades, al usar el conector negro, no hay ningún trozo de cable que cause reflexiones (el conector sin usar ahora está en el medio de la cinta). Además, la selección de cable ahora se implementa en el conector de dispositivo gris del medio, generalmente simplemente omitiendo el contacto del pin 28 del cuerpo del conector.
Los protocolos ATA paralelos hasta ATA-3 requieren que una vez que se haya dado un comando en una interfaz ATA, este debe completarse antes de que se pueda dar cualquier comando posterior. Las operaciones en los dispositivos deben ser serializadas (con solo una operación en progreso a la vez) con respecto a la interfaz ATA del host. Un modelo mental útil es que la interfaz ATA del host está ocupada con la primera solicitud durante toda su duración y, por lo tanto, no se le puede informar sobre otra solicitud hasta que se complete la primera. La función de serializar las solicitudes a la interfaz generalmente la realiza un controlador de dispositivo en el sistema operativo del host.
La especificación ATA-4 y las versiones posteriores han incluido un "conjunto de características superpuestas" y un "conjunto de características en cola" como características opcionales, ambas con el nombre de " Tagged Command Queuing " (TCQ), una referencia a un conjunto de características de SCSI que la versión ATA intenta emular. Sin embargo, el soporte para estas características es extremadamente raro en los productos ATA paralelos y controladores de dispositivos reales porque estos conjuntos de características se implementaron de tal manera que mantuvieran la compatibilidad del software con su herencia como una extensión original del bus ISA. Esta implementación resultó en una utilización excesiva de la CPU que anuló en gran medida las ventajas de la cola de comandos. Por el contrario, las operaciones superpuestas y en cola han sido comunes en otros buses de almacenamiento; en particular, la versión de SCSI de la cola de comandos etiquetada no tenía necesidad de ser compatible con las API diseñadas para ISA, lo que le permitía alcanzar un alto rendimiento con una sobrecarga baja en buses que admitían DMA de primera parte como PCI. Esto se ha considerado durante mucho tiempo como una ventaja importante de SCSI.
El estándar Serial ATA ha admitido la cola de comandos nativa (NCQ) desde su primera versión, pero es una característica opcional tanto para los adaptadores host como para los dispositivos de destino. Muchas placas base de PC obsoletas no admiten NCQ, pero las unidades de disco duro SATA modernas y las unidades de estado sólido SATA suelen admitir NCQ, lo que no ocurre con las unidades extraíbles (CD/DVD) porque el conjunto de comandos ATAPI utilizado para controlarlas prohíbe las operaciones en cola.
Los dispositivos ATA pueden admitir una función de seguridad opcional que se define en una especificación ATA y, por lo tanto, no es específica de ninguna marca o dispositivo. La función de seguridad se puede habilitar y deshabilitar enviando comandos ATA especiales a la unidad. Si un dispositivo está bloqueado, rechazará todo acceso hasta que se desbloquee. Un dispositivo puede tener dos contraseñas: una contraseña de usuario y una contraseña maestra; se pueden configurar una o ambas. Existe una función de identificación de contraseña maestra que, si se admite y se utiliza, puede identificar la contraseña maestra actual (sin revelarla). La contraseña maestra, si se configura, puede ser utilizada por el administrador para cancelar dos contraseñas (maestra y de usuario) si el usuario final olvidó la contraseña de usuario. En algunas computadoras portátiles y algunas computadoras comerciales, su BIOS puede controlar las contraseñas ATA. [36]
Un dispositivo puede bloquearse en dos modos: modo de alta seguridad o modo de máxima seguridad. El bit 8 en la palabra 128 de la respuesta IDENTIFY muestra en qué modo se encuentra el disco: 0 = Alto, 1 = Máximo. En el modo de alta seguridad, el dispositivo puede desbloquearse con la contraseña de usuario o maestra, utilizando el comando ATA "SECURITY UNLOCK DEVICE". Hay un límite de intentos, normalmente establecido en 5, después del cual el disco debe apagarse y encenderse o reiniciarse por completo antes de poder intentar desbloquearlo nuevamente. También en el modo de alta seguridad, el comando SECURITY ERASE UNIT puede utilizarse con la contraseña de usuario o maestra. En el modo de máxima seguridad, el dispositivo puede desbloquearse solo con la contraseña de usuario. Si la contraseña de usuario no está disponible, la única forma restante de hacer que al menos el hardware vuelva a un estado utilizable es emitir el comando SECURITY ERASE PREPARE, seguido inmediatamente por SECURITY ERASE UNIT. En el modo de máxima seguridad, el comando SECURITY ERASE UNIT requiere la contraseña maestra y borrará por completo todos los datos del disco. La palabra 89 en la respuesta IDENTIFY indica cuánto tiempo llevará la operación. [37] Si bien el bloqueo ATA está pensado para que sea imposible de vencer sin una contraseña válida, existen supuestas soluciones alternativas para desbloquear un dispositivo. [ cita requerida ]
Para las unidades NVMe , las características de seguridad, incluidas las contraseñas de bloqueo, se definieron en el estándar OPAL . [38]
Para desinfectar discos enteros, el comando Secure Erase incorporado es efectivo cuando se implementa correctamente. [39] Se han informado algunos casos de fallas en el borrado de algunos o todos los datos. [40] [41] [39] En algunas computadoras portátiles y algunas computadoras comerciales, su BIOS puede utilizar Secure Erase para borrar todos los datos del disco.
Debido a la especificación de una longitud de cable corta y a problemas de blindaje, es extremadamente raro encontrar dispositivos PATA externos que utilicen PATA directamente para conectarse a una computadora. Un dispositivo conectado externamente necesita una longitud de cable adicional para formar una curva en forma de U de modo que el dispositivo externo pueda colocarse al costado o sobre la parte superior de la carcasa de la computadora, y la longitud de cable estándar es demasiado corta para permitir esto. Para facilitar el acceso desde la placa base al dispositivo, los conectores tienden a ubicarse hacia el borde frontal de las placas base, para la conexión a dispositivos que sobresalen del frente de la carcasa de la computadora. Esta posición del borde frontal hace que la extensión hacia atrás a un dispositivo externo sea aún más difícil. Los cables planos están mal blindados y el estándar depende de que el cableado se instale dentro de una carcasa de computadora blindada para cumplir con los límites de emisiones de RF.
Las unidades de disco duro externas o las unidades de disco óptico que tienen una interfaz PATA interna utilizan otra tecnología de interfaz para salvar la distancia entre el dispositivo externo y la computadora. USB es la interfaz externa más común, seguida de Firewire. Un chip puente dentro de los dispositivos externos convierte la interfaz USB a PATA y, por lo general, solo admite un único dispositivo externo sin selección de cable o maestro/esclavo.
La siguiente tabla muestra los nombres de las versiones de los estándares ATA y los modos de transferencia y las velocidades que admite cada uno. Tenga en cuenta que la velocidad de transferencia para cada modo (por ejemplo, 66,7 MB/s para UDMA4, comúnmente llamado "Ultra-DMA 66", definido por ATA-5) proporciona su velocidad de transferencia teórica máxima en el cable. Esto es simplemente dos bytes multiplicados por la velocidad de reloj efectiva y supone que cada ciclo de reloj se utiliza para transferir datos del usuario final. En la práctica, por supuesto, la sobrecarga del protocolo reduce este valor.
La congestión en el bus host al que está conectado el adaptador ATA también puede limitar la velocidad máxima de transferencia en ráfagas. Por ejemplo, la velocidad máxima de transferencia de datos para el bus PCI convencional es de 133 MB/s, y esta velocidad se comparte entre todos los dispositivos activos en el bus.
Además, en 2005 no existían discos duros ATA capaces de alcanzar velocidades de transferencia sostenidas medidas superiores a los 80 MB/s. Además, las pruebas de velocidad de transferencia sostenida no ofrecen expectativas realistas de rendimiento para la mayoría de las cargas de trabajo: utilizan cargas de E/S diseñadas específicamente para no encontrar prácticamente ningún retraso debido al tiempo de búsqueda o la latencia rotacional. El rendimiento del disco duro en la mayoría de las cargas de trabajo está limitado en primer y segundo lugar por esos dos factores; la velocidad de transferencia en el bus ocupa un distante tercer lugar en importancia. Por lo tanto, los límites de velocidad de transferencia superiores a los 66 MB/s realmente afectan al rendimiento solo cuando el disco duro puede satisfacer todas las solicitudes de E/S leyendo desde su caché interna , una situación muy inusual, especialmente si se considera que dichos datos suelen estar almacenados en búfer por el sistema operativo.
A partir de julio de 2021 [actualizar], las unidades de disco duro mecánicas pueden transferir datos a una velocidad de hasta 524 MB/s, [42] lo que supera con creces las capacidades de la especificación PATA/133. Las unidades de estado sólido de alto rendimiento pueden transferir datos a una velocidad de hasta 7000–7500 MB/s. [43]
Sólo los modos Ultra DMA utilizan el CRC para detectar errores en la transferencia de datos entre el controlador y la unidad. Se trata de un CRC de 16 bits, y se utiliza únicamente para bloques de datos. La transmisión de bloques de comandos y de estado no utiliza los métodos de señalización rápida que requerirían el CRC. A modo de comparación, en Serial ATA, se utiliza el CRC de 32 bits tanto para comandos como para datos. [44]
Los dispositivos ATAPI con medios extraíbles, distintos de las unidades de CD y DVD, se clasifican como ARMD (ATAPI Removal Media Device) y pueden aparecer como un super-floppy (medio no particionado) o un disco duro (medio particionado) para el sistema operativo . Estos pueden ser admitidos como dispositivos de arranque por un BIOS que cumpla con la especificación ATAPI Removal Media Device BIOS Specification , [49] desarrollada originalmente por Compaq Computer Corporation y Phoenix Technologies . Especifica disposiciones en el BIOS de una computadora personal para permitir que la computadora se inicie desde dispositivos como unidades Zip , unidades Jaz , unidades SuperDisk (LS-120) y dispositivos similares.
Estos dispositivos tienen medios extraíbles como las unidades de disquete , pero capacidades más acordes con los discos duros y requisitos de programación diferentes a los de ambos. Debido a las limitaciones en la interfaz del controlador de disquete, la mayoría de estos dispositivos eran dispositivos ATAPI , conectados a una de las interfaces ATA del ordenador anfitrión, de forma similar a un disco duro o un dispositivo de CD-ROM . Sin embargo, los estándares BIOS existentes no admitían estos dispositivos. Un BIOS compatible con ARMD permite que estos dispositivos se inicien y se utilicen en el sistema operativo sin necesidad de código específico del dispositivo en el SO.
Un BIOS que implementa ARMD permite al usuario incluir dispositivos ARMD en el orden de búsqueda de arranque. Por lo general, un dispositivo ARMD se configura antes en el orden de arranque que el disco duro. De manera similar a una unidad de disquete, si hay un medio de arranque presente en la unidad ARMD, el BIOS arrancará desde él; si no, el BIOS continuará en el orden de búsqueda, generalmente con el disco duro en último lugar.
Existen dos variantes de ARMD, ARMD-FDD y ARMD-HDD. Originalmente, ARMD hacía que los dispositivos aparecieran como una especie de unidad de disquete muy grande, ya fuera el dispositivo de disquete principal 00h o el dispositivo secundario 01h. Algunos sistemas operativos requerían cambios de código para admitir disquetes con capacidades mucho mayores que cualquier unidad de disquete estándar. Además, la emulación de unidad de disquete estándar resultó ser inadecuada para ciertas unidades de disquete de alta capacidad, como las unidades Iomega Zip . Más tarde, se desarrolló la variante ARMD-HDD, ARMD-"Hard disk device", para abordar estos problemas. Con ARMD-HDD, un dispositivo ARMD aparece en la BIOS y el sistema operativo como un disco duro.
En agosto de 2004, Sam Hopkins y Brantley Coile de Coraid especificaron un protocolo ATA sobre Ethernet liviano para transmitir comandos ATA a través de Ethernet en lugar de conectarlos directamente a un adaptador host PATA. Esto permitió que el protocolo de bloque establecido se reutilizara en aplicaciones de red de área de almacenamiento (SAN).
Compact Flash en su modo IDE es esencialmente una interfaz ATA miniaturizada, pensada para su uso en dispositivos que utilizan almacenamiento de memoria flash. No se necesitan chips ni circuitos de interfaz, salvo para adaptar directamente el zócalo CF más pequeño al conector ATA más grande. (Aunque la mayoría de las tarjetas CF solo admiten el modo IDE hasta PIO4, lo que las hace mucho más lentas en modo IDE que su velocidad compatible con CF [50] )
La especificación del conector ATA no incluye pines para suministrar energía a un dispositivo CF, por lo que la energía se inserta en el conector desde una fuente separada. La excepción a esto es cuando el dispositivo CF está conectado a un bus ATA de 44 pines diseñado para unidades de disco duro de 2,5 pulgadas, que se encuentran comúnmente en computadoras portátiles, ya que esta implementación de bus debe proporcionar energía a una unidad de disco duro estándar.
Los dispositivos CF pueden designarse como dispositivos 0 o 1 en una interfaz ATA, aunque como la mayoría de los dispositivos CF ofrecen solo un único conector, no es necesario ofrecer esta opción a los usuarios finales. Aunque los CF pueden conectarse en caliente con métodos de diseño adicionales, de manera predeterminada, cuando se conectan directamente a una interfaz ATA, no están diseñados para conectarse en caliente.
{{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters\EnableBigLba = 1
.