Lectura óptica

En los discos magnéticos hemos visto que la lectura de los unos y ceros se hacía midiendo cambios de polaridad en la superficie magnética. En discos ópticos la lectura se hace de acuerdo a la reflexión de un rayo láser sobre una superficie tratada en la cual se graban los datos mediante 'marquitas' llamadas pits.

A las superficies que quedan entre dos pits se las denomina 'lands'.

La transición de land a pit y vuelta a land representa un uno. Un cierto período de tiempo sin transiciones representa un cero.

CD ROM

Debido a las características de los lectores no es posible mediante este esquema que existan dos unos seguidos en la superficie del disco. Dos unos siempre están separados por dos o más ceros, con lo cual no podríamos leer correctamente 8 bits que representen un byte pues el 00110000, por ejemplo, no podría almacenarse.

El problema se corrige empleando un sistema de traducción de los bits leídos desde el disco a bytes 'comunes'. Este sistema traduce 14 bits leídos del CD en un byte. (14 es la cantidad mínima de bits que deben leerse para poder formar las 256 configuraciones posibles de unos y cero para un byte.) El sistema se conoce como EFM (eight to fourteen modulation. En castellano modulación 8 - 14)

La traducción de 8 bits a 14 y viceversa se hace utilizando una tabla de doble entrada.

Ejemplo (según la tabla):

8 bits 14 bits
00000000 01001000100000
00000001 10000100000000
00000010  10010000100000
00000011  10001000100000
00000100  01000100000000

etc....

Organización de los datos

Cada CD tiene una única pista en espiral sobre la cual se graban los datos. Sobre esta pista se estructuran sectores todos ellos de la misma longitud lo cual permite grabar todos los sectores con la misma densidad de grabación. Esto implica que cuanto más nos acercamos por la espiral al centro de disco menos sectores podrán acomodarse en cada circunferencia inscripta. Como la velocidad de lectura debe ser constante (pensar por qué) es necesario que la unidad haga girar al disco más rápido cuanto más nos acercamos al centro pues:

Si la velocidad de lectura tuviera que ser de 1 sector por segundo, en la pista externa podríamos tener 10 sectores (comienzo de la espiral) con lo cual leeríamos 10 sectores en una vuelta y deberíamos tardar 10 segundos por vuelta para mantener la velocidad pedida. En la pista central en cambio entrarían menos sectores (por ejemplo 3) con lo cual leeríamos 3 sectores por vuelta. Para mantener la velocidad constante el disco debería girar a 3 segundos por vuelta, es decir más rápido que antes.

Este tipo de organización se denomina CLV (Constant linear velocity) pues la velocidad lineal de lectura es constante (espero hayan notado porque es que esto debe ser así) y se diferencia de la organización CAV (constant angular velocity) empleada en los discos en donde la velocidad de rotación es constante.

El esquema CLV perjudica el acceso random a los datos ya que para "saltar" desde una posición del disco hasta otra la unidad debe re-calcular la velocidad a la cual deberá girar el disco. Esto se hace lamentablemente utilizando prueba y error, con lo cual los seeks se encarecen notablemente. Además por características propias el lector solo puede 'saltar' hacia adelante con lo cual si queremos buscar un dato que se encuentra detrás de la posición actual del lector este tendrá que volver al comienzo de la espiral y desde allí 'saltar' hacia adelante en busca del dato y además recalcular la velocidad de lectura por prueba y error. En términos prácticos decimos que solo hay acceso directo 'hacia adelante' y que en caso contrario hay que “rebobinar” el disco y leer hacia adelante.

El lector puede deducir que los seeks en un CD son muy costosos y esta en lo cierto, por ejemplo 500ms. Esto se debe a que los CDs de datos se basan en la industria ya existente para los CDs de música y en el caso de los CDs de música las características de la organización CLV son ideales, pues se maximiza el espacio utilizado en detrimento de los accesos random que rara vez se hacen en un CD de música. La operación más frecuente es la lectura secuencial y hacia adelante que es casi lo único que puede hacer un lector de CDs sin demoras excesivas.

Un sector de un disco CLV se referencia mediante un número de la forma:

MM:SS:XX

siendo:

MM: Numero de minuto.
SS: Numero de segundo.
XX: Numero de sector.

Cada CD puede almacenar aproximadamente 74min de audio, y sabiendo que cada segundo se divide en 75 sectores nos da un total de 333000 sectores. Cada sector a su vez puede almacenar 2352 bytes, lo cual representa EN PRINCIPIO una capacidad de 783216000 bytes o sea unos 747 Mb, veremos que esto en realidad no es así.

CLV características

  • Una única pista en espiral por disco.
  • 333000 sectores de igual tamaño grabados con la máxima densidad de grabación posible.
  • Sectores de 2352 bytes.
  • La velocidad lineal de lectura es constante.
  • La velocidad angular varía, el disco debe girar más rápido cuando se leen las pistas más cercanas al centro.
  • Solo se pueden hacer accesos aleatorios hacia adelante.
  • Para acceder a un dato anterior a la posición de la lectora hay que volver al principio de la espiral y saltar hacia adelante desde allí.
  • Se recalcula la velocidad angular por prueba y error.

Nota: El esquema CLV fue utilizado por los lectores de CDs que manejaban velocidades desde 1x (ver más adelante Tiempos en CDs) hasta 12x aproximadamente. A partir de allí, debido a la enorme dificultad en recalcular la velocidad de rotación de la lectora se empleó un mix de tecnologías CLV y CAV, en donde la velocidad lineal de lectura dejó de ser constante, siendo mayor en la parte exterior de la pista.

CDs de Audio

Capacidad

Partimos de 333000 sectores de 2352 bytes es decir 783216000 bytes de capacidad. Veamos cuantos bytes se necesitan para grabar un segundo de audio.

Para grabar un sonido en un CD es necesario digitalizarlo, es decir, convertir las ondas acústicas en una serie de unos y ceros. Esto se hace tomando una 'muestra' del patrón de onda a intervalos regulares y grabando esta muestra en el disco como una serie de unos y ceros. Cada muestra ocupa 2 bytes.

Cuanto más muestras por segundo se tomen mejor será la digitalización. Si se tomaran pocas muestras por segundo se perderían variaciones en la onda acústica que determinarían una reproducción de baja calidad. Por características del oído humano se ha determinado que más allá de los 22.05 Khz no se distinguen diferencias. Para no perder información en el muestreo existe un teorema que indica que se deben tomar muestras como mínimo al doble de velocidad de la máxima frecuencia de la onda. Entonces para un CD se utilizan 44.1 Khz lo que implica tomar 44100 muestras por segundo. Como cada muestra requiere 2 bytes necesitamos 88200 bytes para cada segundo de audio, pero aun falta. El sonido en un CD se graba en stereo lo cual implica hacer 2x88200=176400 que son finalmente la cantidad de bytes necesarios para grabar un segundo de audio.

Para calcular la capacidad del CD en segundos calculamos:

783216000 / 176400 = 4440 segundos = 74 minutos.

De aquí surge que la capacidad estándar de un CD de audio es de 74 minutos es decir una hora y catorce minutos.

CDs de Datos

Grabar datos en un CD no es lo mismo que grabar audio. Cada sector de 2352 bytes no se aprovecha íntegramente para grabar datos. En realidad por cada sector solamente 2048 bytes pueden contener datos. La capacidad de un CD de datos es entonces de:

2048 x 333000 = 681984000 = 650 Mb.

A efectos de cálculos puede considerarse a un CD como un disco sectorizado con clusters de 2048 bytes.

Organización de un sector

La organización de un sector de 2352 bytes para grabar datos es la siguiente:

Sector de un CD ROM

SYNC 12 bytes. destinados a sincronización.
SECTOR ID 4 bytes, cada sector se identifica por número de minuto, número de segundo y número de sector. (Recordar 75 sectores por segundo)
DATOS 2048 bytes.
ED 4 bytes, para detección de errores.
null 8 bytes no se utilizan.
Error correction 276 bytes. Códigos autocorrectores.

Como podemos ver hay varios bytes por sector destinados a corrección de errores. Ocurre que en un CD de audio el promedio de fallas es de un byte cada dos CDs. Este porcentaje no es para nada aceptable para grabación de datos. Con el agregado de los códigos correctores el promedio de fallas es de un byte equivocado cada 20000 discos.

Tiempos en CDs

En este tipo de dispositivos se maneja un solo valor de tiempo llamado tiempo de acceso, el cual está formado por las siguientes métricas:

  • Tiempo de variación de velocidad: Para las lectoras con tecnología CLV, es el tiempo que insume el motor en cambiar a la velocidad de rotación correcta.
  • Tiempo de Seek: Es el tiempo que insume la lectora en mover las cabezas a la ubicación correcta del disco.
  • Latencia: Es el tiempo que insume el disco en rotar de forma que la información a leer pase por la cabeza lectora-grabadora.

El tiempo de acceso es en promedio de 100ms en las lectoras más modernas. Las unidades más antiguas tenían tiempos promedio de acceso del orden de los 500ms y podían llegar a ser de un segundo o incluso más.

La velocidad de transferencia depende de la unidad y partía de 150Kb/s en las unidades de simple velocidad (1x), actualmente trepa hasta los 7800Kb/s en unidades 52 veces más veloces que la original. (52x)

Vie, 27/10/2006 - 14:18