Tema 4.1 – La interfaz ATA/IDE Gabriel Fernández Díaz Rafael Casanova Morera Periféricos e Interfaces – Curso 2009/2010 Universidad de Las Palmas de Gran Canaria
Contenido ● Historia y evolución – Historia – Evolución ● Características ● RAID
Historia ● En los primeros ordenadores, controlador separado del disco: Poca flexibilidad, mucho cable. – ST-506/412 – ESDI ● Solución: IDE (Integrated Drive Electronics). ● Primeras arquitecturas IDE: IBM PC/2 – PS/2 Model 70: MCA IDE – PS/2 Model 30: XT IDE
Historia ● 1986: Western Digital, Control Data Corporation y Compaq crean ATA (Advanced Technology Attachment). ● Se crea como una extensión del bus ISA. ● 1989: ANSI y fabricantes lanzan CAM ATA (Common Access Method ATA). ● Actualidad: INCITS (International Committee on Information Technology Standards) Technical Committee T13 es el comité encargado de actualizar las especificaciones ATA. –
Evolución estándares ATA
Contenido ● Historia y evolución ● Características – Generales – PATA – SATA ● RAID
Características generales ● Comandos ATA – IDENTIFY DRIVE ● Direccionamiento ● ATAPI ● Seguridad ATA
Comandos ATA ● El ATA tiene un ancho de datos de 16 bits (aparte de las lineas de control, estado y de dirección de registro). INSUFICIENTE. ● Solución: Command Block Registers: Se inicializa la instrucción a través de ellos. ● Escritura en registro Command: Se lanza la instrucción. ● Cuando instrucción termina: Dispositivo lanza interrupción. ● Se leen los registros y memoria (si DMA) para ver resultado del comando.
Ejemplo de comando ATA: READ SECTOR(S) COMMAND: 20h
Un comando muy útil: IDENTIFY DRIVE ● Hardware que se puede conectar a puerto ATA muy variado. ● IDENTIFY DRIVE: – Comando que hace que el propio dispositivo nos de su información de funcionamiento para que la BIOS configure el dispositivo. – Nº de bloques LBA, nº físico y lógico de CHS, modos y velocidades de transferencia, fabricante, nº de modelo, nº de firmware, nº de serie, tamaño y tipo de buffer,...
Direccionamiento ● Para el sistema: Un dispositivo ATA funciona como un array de bloques de 512 Bytes. ● 3 métodos de direccionamiento: – CHS (28 bits) – LBA (28 bits) – LBA (48 bits)
Direccionamiento CHS ● CHS (Cilinder-Head-Sector): – Mas antiguo, basado en la estructura física del disco duro. – Conflicto con la BIOS: Menor espacio direccionable.
Direccionamiento LBA ● LBA (Logical Block Address): – Originalmente de 28 bits. – Disco duro es visto por el ordenador como un array lineal de bloques. – Soportado desde ATA-1 pero no por las BIOS: Traducción a CHS. – EDD (BIOS Enhaced Disk Drive Specification): Soporte comandos BIOS nativos LBA. – Máximo direccionable con 28 bits: 128 GB. – ATA-6 introduce LBA de 48 bits: 128 PB.
ATAPI ● Conexión ATA no solo para discos duros. CDs, DVDs, unidades de cinta también se conectan a los puertos ATA. ● Estos dispositivos tienen un funcionamiento diferente a disco duro: – Operan con otra interfaz software distinta, no ATA, parecida a la SCSI. ● Solución: ATAPI (ATA Packet Interface): Se pasan al dispositivo un paquete de datos con el comando por medio del comando PACKET.
ATA Security Mode ● Problema: Poca seguridad, se puede montar un disco en otro ordenador y acceder a su contenido. ● Solución: Poner contraseña al disco duro, necesaria para acceder a él. A partir de ATA-3 se incluyen instrucciones de seguridad. ● 2 Contraseñas: – User (bloquear y desbloquear). – Master (solo desbloquear). ● La BIOS puede usar sus contraseñas como contraseña del disco.
Host Protected Area ● Problema: Comandos de lectura usan direcciones absolutas, un mal funcionamiento puede estropear varias particiones a la vez, incluyendo la de restauración del sistema. ● Solución: SET MAX ADDRESS crea un área protegida (Host Protected Area) al final del disco, solo accesible mediante comandos PARTIES (Protected Area Run Time Interface Extension Services).
Contenido ● Historia y evolución ● Características – Generales – PATA – SATA ● RAID
Parallel ATA (PATA) ● Primera interfaz física: 40 pines. ● Dos dispositivos: Maestro y esclavo. ● Cable: 40 conductores, que evoluciona en uno de 80 conductores ● PATA para 2'5 pulgadas: 50 pines. ● Obsoleto. Máxima velocidad: UDMA/133 (133 MB/s).
Parallel ATA (PATA)
● IDE44 (discos 2 1/2”) ● Cable ATA
Serial ATA (SATA) ● Distinta tecnología: – Transmisión diferencial ( 0'25V). – Codificación 8b/10b. ● 1 solo dispositivo por puerto (15 con multiplicador). ● Compatible con PATA a nivel de software: simulación hardware conjunta entre el chipset y controlador. ● 3 Velocidades y revisiones: SATA-150, SATA-300, SATA-600.
Serial ATA (SATA) ● Cable de siete conductores: – 1 par para disco – 1 par para placa – 3 tierras ● Nueva toma de corriente – 3'3, 5 y 12 Voltios – Hasta 4.5 A por Voltaje ● Hot plugging.
Serial ATA (SATA)
eSATA (external SATA) ● SATA-300 adaptado para uso externo. – Cable y puerto mas durable. – Mayor voltaje mínimo de transmisión, menor voltaje máximo de recepción. ● Ventajas: Soporta más comandos que USB, no necesita adaptadores. ● Inconvenientes: Necesita cable de alimentación. Longitud de cable máxima de dos metros.
AHCI ● Advanced Host Controller Interface (AHCI): Desarrollado por Intel, nuevo estándar de paso de comandos usando la memoria. Actualmente permite: – Hot plugging. – NCQ (Native Command Queuing) – Administración de energía.
Contenido ● Historia y evolución ● Características ● RAID
RAID ● RAID (Redundant Array of Independent/Inexpensive disks): Varios discos funcionando como uno. ● Desarrollado originalmente por la Universidad de Berkeley en ● Varios modos según se busque velocidad o seguridad.
RAID 0 y RAID 1 ● RAID 0 (Striping): – Varios discos actuando como uno – + Velocidad – + Almacenamiento – - fiabilidad ● RAID 1 (Mirroring): – + fiabilidad – Pero 1 disco al precio de dos
RAID 2, RAID 3 y RAID 4 ● RAID 2 (Bit-level ECC): – Control de paridad bit a bit. – ¡1 disco por bit! ● RAID 3 (Striped with parity): – Control a nivel de byte – 2 discos almacenamiento. – 1 paridad. ● RAID 4 (Blocked data with parity): – Como RAID3 pero bloques mas grandes.
RAID 5 y RAID 6 ● RAID 5 (Blocked data with distributed parity): – Similar al RAID4, pero divide las listas de paridad por una serie de discos. ● RAID 6 Blocked data with double distributed parity): – Similar al RAID5, pero usa dos algoritmos distintos para guardar la información de paridad en dos discos distintos. – 4 discos como mínimo.
¡Y muchos mas! ● RAID 0+1 ● RAID 1+0 ● RAID 30 ● RAID 100 ● RAID Z ● Matrix RAID ●...
FIN >:3 ¿Dudas, preguntas, clarificaciones?