fbpx
Wikipedia

Ejecución de longitud limitada

La codificación ejecución de longitud limitada o RLL (del inglés Run-Length Limited) es una técnica de codificación en línea que se utiliza para enviar datos arbitrarios a través de un canal de comunicaciones con límites en el ancho de banda. Los códigos RLL están definidos por cuatro parámetros principales: m, n, d, k. Los dos primeros, m/n, se refieren a la tasa del código, mientras que los dos restantes especifican el número mínimo d y máximo k de ceros entre «1» consecutivos. Esto se usa tanto en telecomunicaciones como en sistemas de almacenamiento que mueven un soporte en un cabezal de grabación fijo.

Específicamente, RLL limita la longitud de los tramos de bits repetidos durante los cuales la señal no cambia. Si los tramos son demasiado largos, la recuperación del reloj es difícil; si son demasiado cortos, las altas frecuencias pueden ser atenuadas por el canal de comunicaciones. Al modular los datos, RLL reduce la el tiempo de incertidumbre en la decodificación de los datos almacenados, lo que conduciría a la posible inserción o eliminación errónea de bits al leer el datos de vuelta. Este mecanismo garantiza que los límites entre los bits siempre se puedan encontrar con precisión (evitando el deslizamiento de bits), al tiempo que utiliza de manera eficiente el soporte para almacenar de manera confiable la cantidad máxima de datos en un espacio determinado.

Las primeras unidades de disco usaban esquemas de codificación muy simples, como el código RLL (0,1) FM, seguido del código RLL (1,3) MFM, que se usaron ampliamente en unidades de disco duro hasta mediados de la década de 1980 y todavía se utilizan en discos ópticos digitales como CD, DVD, MD, Hi-MD y Blu-ray. Los códigos RLL (2,7) y RLL (1,7) de mayor densidad se convirtieron en el estándar industrial de facto para discos duros a principios de la década de 1990.

Necesidad de la codificación RLL editar

En una unidad de disco duro, la información se representa mediante cambios en la dirección del campo magnético en el disco, y en los soportes magnéticos; la salida de la reproducción es proporcional a la densidad de la transición de flujo. En una computadora, la información está representada por el voltaje en un cable. Ningún voltaje en el cable con relación a un nivel de tierra definido sería un cero binario, y un voltaje positivo en el cable con relación a tierra representa un uno binario. Los medios magnéticos, por otro lado, siempre llevan un flujo magnético – ya sea un polo «norte» o un polo «sur». Para convertir los campos magnéticos en datos binarios, se debe usar algún método de codificación para traducir entre estos dos.

Uno de los códigos prácticos más simples, sin retorno a cero invertido modificado (NRZI), simplemente codifica un 1 como una transición de polaridad magnética, también conocida como «inversión de flujo», y un cero sin transición. Con el disco girando a una velocidad constante, a cada bit se le asigna un período de tiempo igual, una «ventana de datos», para la señal magnética que representa ese bit, y la inversión del flujo, si la hay, ocurre al comienzo de esta ventana. (Nota: los discos duros más antiguos usaban un período de tiempo fijo como ventana de datos en todo el disco, pero los discos modernos son más complicados; para obtener más información, consulte grabación de bits por zonas).

Este método no es tan simple, ya que la salida de reproducción es proporcional a la densidad de unos, una serie larga de ceros significa que no se reproduce una salida.

En un ejemplo simple, considere el patrón binario 101 con una ventana de datos de 1 ns (un nanosegundo o una milmillonésima de segundo). Esto se almacenará en el disco como un cambio, seguido de ningún cambio y luego otro cambio. Si la polaridad magnética anterior ya era positiva, el patrón resultante podría verse así: −−+. Un valor de 255, o todos unos binarios, se escribiría como −+−+−+−+ o +−+−+−+−. Un byte cero se escribiría como ++++++++ o −−−−−−−−. Un sector de ceros de 512 bytes se escribiría como 4096 bits secuenciales con la misma polaridad.

Dado que una unidad de disco es una pieza física de hardware, la velocidad de rotación de la unidad puede cambiar ligeramente debido a un cambio en la velocidad del motor o a la expansión térmica del plato del disco. Los soporte físico de un disquete también pueden deformarse, lo que provoca mayores errores de temporización, y el circuito de temporización del propio controlador puede sufrir pequeñas variaciones de velocidad. El problema es que, con una larga cadena de ceros, no hay forma de que el controlador de la unidad de disco sepa la posición exacta del cabezal de lectura y, por lo tanto, no hay forma de saber exactamente cuántos ceros hay. Una variación de velocidad de incluso 0,1%, que es más precisa que cualquier unidad de disquete práctica, podría resultar en la adición o eliminación de 4 bits del flujo de datos de 4096 bits. Sin alguna forma de sincronización y corrección de errores, los datos se volverían completamente inutilizables.

El otro problema se debe a los límites de los soportes magnéticos en sí: solo es posible escribir tantos cambios de polaridad en una cierta cantidad de espacio, por lo que hay un límite máximo de cuántos unos se pueden escribir secuencialmente, esto depende de la velocidad lineal y del espacio del cabezal.

Para evitar este problema, los datos se codifican de tal manera que no se produzcan largas repeticiones de un único valor binario. Al limitar el número de ceros escritos consecutivamente, esto hace posible que el controlador de la unidad permanezca sincronizado. Al limitar el número de unos escritos en una fila, se reduce la frecuencia general de los cambios de polaridad, lo que permite que la unidad almacene más datos en la misma cantidad de espacio, lo que da como resultado un paquete más pequeño para la misma cantidad de datos o más almacenamiento en un paquete del mismo tamaño.

Historia editar

 
Seagate ST11R, una controladora de disco duro ISA RLL de 8 bits producida en 1990.

Todos los códigos utilizados para grabar en discos magnéticos tienen una duración limitada de las ejecuciones sin transición y, por lo tanto, pueden caracterizarse como códigos RLL. Las variantes más antiguas y simples recibieron nombres específicos, como modulación de frecuencia modificada (MFM), y el nombre «RLL» se usa comúnmente solo para las variantes más complejas que no reciben nombres tan específicos, pero el término técnicamente se aplica a todos ellos.

El primer código «RLL» utilizado en discos duros fue el RLL (2,7), desarrollado por ingenieros de IBM y utilizado comercialmente por primera vez en 1979 en el DASD IBM 3370,[1][2][3]​ para usar con la computadora central de la serie 4300. A fines de la década de 1980, los discos duros de PC comenzaron a usar el RLL propiamente dicho (es decir, variantes más complejas que las que habían recibido sus propios nombres, como MFM). Los códigos RLL han encontrado una aplicación casi universal en la grabación de discos ópticos desde 1980. En la electrónica de consumo, los RLL como el código EFM (índice = 8/17, d = 2, k = 10) se emplean en el disco compacto (CD) y Minidisc (MD), y el código EFMPlus (índice = 8/16, d = 2, k = 10) es utilizado en el DVD. Los parámetros d y k son las longitudes de ejecución mínimas y máximas permitidas. Para obtener más cobertura sobre las tecnologías de almacenamiento, las referencias citadas en este artículo son útiles.[4][5]

Resumen técnico editar

Generalmente, la «longitud de ejecución» es el número de bits durante los cuales la señal permanece sin cambios. Una longitud de ejecución de 3 para el bit 1 representa una secuencia 111. Por ejemplo, el patrón de polarizaciones magnéticas en el disco podría ser +−−−−++−−−++++++, con ejecuciones de longitud 1, 4, 2, 3 y 6. Sin embargo, la terminología de codificación de ejecución de longitud limitada asume la codificación NRZI, por lo que los bit 1 indican cambios y los bits 0 indican ausencia de cambio, la secuencia anterior se expresaría como 11000101001000001, y solo ejecuciones de bits cero se cuentan.

De manera un tanto confusa, la ejecución de longitud es el número de ceros (0, 3, 1, 2 y 5 en el anterior) entre los adyacentes, que es uno menos que el número de veces que la señal permanece sin cambios. Las secuencias de ejecución limitada se caracterizan por dos parámetros, «d» y «k», que estipulan la longitud mínima y máxima de ejecución de bits cero que puede ocurrir en la secuencia. Por lo tanto, los códigos RLL generalmente se especifican como RLL (d,k), por ejemplo: RLL (1,3).

Codificación editar

En el formato codificado, un bit "1" indica una transición de flujo, mientras que un "0" indica que el campo magnético del disco no cambia durante ese intervalo de tiempo.

FM: RLL (0,1) editar

Generalmente, el término «código RLL» se usa para referirse a codificaciones más elaboradas, pero el código original de Modulación de frecuencia, también llamado codificación diferencial de Manchester, puede verse como un código RLL de índice simple 1/2. Los bits 1 agregados se denominan bits de reloj.

Datos Codificado
0 10
1 11

Ejemplo:

 Datos: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado: 1010111011111011101010111110 Reloj: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

GCR: RLL (0,2) editar

Al extender la ejecución de longitud máxima a 2 bits 0 adyacentes, la tasa de datos se puede mejorar a 4/5. Esta es la variante original del grupo de grabación codificada de IBM.

Datos Codificado
0000 11001
0001 11011
0010 10010
0011 10011
0100 11101
0101 10101
0110 10110
0111 10111
Datos Codificado
1000 11010
1001 01001
1010 01010
1011 01011
1100 11110
1101 01101
1110 01110
1111 01111

Siempre que sea posible (11 de 16 códigos), el patrón de bits abcd se codifica prefijándolo con el complemento de a: aabcd. En los 5 casos en los que esto violaría una de las reglas (000d o ab00), se sustituye un código que comienza con 11 (11bea, donde e = ad).

Ejemplo:

Datos: 0010 1101 0001 1000 Codificado: 10010011011101111010 

Tenga en cuenta que para cumplir con la definición de RLL (0,2), no es suficiente solo que cada código de 5 bits no contenga más de dos ceros consecutivos, sino que también es necesario que cualquier par de códigos de 5 bits combinados secuencialmente no contengan más de dos ceros consecutivos. Es decir, no debe haber más de dos ceros entre el último bit del primer código y el primer bit del segundo código, para cualquiera de los dos códigos elegidos arbitrariamente. Esto es necesario porque para cualquier código RLL, los límites de ejecución de longitud  – 0 y 2 en este caso – se aplican al flujo general de bits modulado, no solo a los componentes que representan secuencias discretas de bits de datos (Esta regla debe cumplirse para cualquier par arbitrario de códigos, sin excepción, porque los datos de entrada pueden ser cualquier secuencia arbitraria de bits). El código IBM GCR anterior cumple esta condición, ya que la longitud máxima de ejecución de ceros al comienzo de cualquier código de 5 bits es uno, del mismo modo, la longitud máxima de ejecución al final de cualquier código es uno, lo que hace una longitud total de ejecución de dos en la unión entre códigos adyacentes (Un ejemplo de la ejecución de longitud máxima que ocurre entre códigos se puede ver en el ejemplo anterior, donde el código para los datos «0010» termina con un cero y el código para los siguientes datos, «1101», comienza con un cero, formando una secuencia de dos ceros en la unión de estos dos códigos de 5 bits).

MFM: RLL (1,3) editar

La modulación de frecuencia modificada comienza a ser interesante, porque sus propiedades especiales permiten que sus bits se escriban en un medio magnético con el doble de densidad que un flujo de bits arbitrario. Hay un límite en cuanto a qué tan cerca en tiempo pueden estar las transiciones de flujo para que el equipo de lectura las detecte, y eso restringe qué tan cerca se pueden grabar los bits en el soporte: en el peor de los casos, con un flujo de bits arbitrario, hay dos unos consecutivos, que produce dos transiciones de flujo consecutivas en el tiempo, por lo que los bits deben estar lo suficientemente separados para que haya suficiente tiempo entre esas transiciones de flujo para que el lector las detecte. Pero este código impone una restricción de d = 1, es decir, hay un mínimo de un cero entre cada dos unos. Esto significa que, en el peor de los casos, las transiciones de flujo tienen una separación de dos bits, por lo que los bits pueden estar el doble de juntos que con el flujo de bits arbitrario sin exceder las capacidades del lector.

Esta densidad de grabación duplicada compensa la tasa de codificación de 1/2 de este código (se necesitan dos bits para representar un bit de información real) y lo hace equivalente a un código de tasa 1.

Datos Codificado
0 x0
1 01

Aquí «x» es el complemento del bit codificado anterior (que también es el bit de datos anterior). Excepto por los bits del reloj – , ese bit «x», y el «0» en el código «01» – , esto es lo mismo que la tabla FM, y así es como este código recibe su nombre. Los bits de reloj insertados son 0 excepto entre dos bits de datos 0.

Ejemplo:

 Datos: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado: x010010001010001001010010100 Reloj: x 1 0 0 0 0 0 0 0 1 1 0 0 0 

RLL (1,7) editar

RLL (1,7) asigna 2 bits de datos a 3 bits en el disco y la codificación se realiza en grupos de 2 o 4 bits. Las reglas de codificación son: (x, y) se convierte en (NO x, x Y y, NO y), excepto (x, 0, 0, y) se convierte en (NO x, x Y y, NO y, 0, 0, 0).[6]​ Al codificar de acuerdo con la siguiente tabla, se debe usar la coincidencia «más larga» (última en la tabla); esas son situaciones de manejo de excepciones en las que la aplicación de las reglas anteriores conduciría a una violación de las restricciones del código.

Datos Codificado
00 101
01 100
10 001
11 010
00 00 101 000
00 01 100 000
10 00 001 000
10 01 010 000

Ejemplo:

Datos: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado: 101 001 010 100 100 000 001 

RLL (2,7) editar

RLL (2,7) es un código de taza 12, que mapea n bits de datos en 2n bits en el disco, como el MFM, pero debido a que la longitud mínima de ejecución es 50% mayor (3 bits en lugar de 2), los bits se pueden escribir más rápido, logrando una densidad de datos efectiva 50% mayor. La codificación se realiza en grupos de 2, 3 o 4 bits.

Western Digital WD5010A, WD5011A, WD50C12

Datos Codificado
11 1000
10 0100
000 100100
010 000100
011 001000
0011 00001000
0010 00100100

Seagate ST11R, IBM

Datos Codificado
11 1000
10 0100
000 000100
010 100100
011 001000
0011 00001000
0010 00100100

Perstor Systems ADRC

Datos Codificado
11 1000
10 0100
000 100100
010 000100
001 001000
0111 00001000
0110 00100100

Las formas codificadas comienzan con un máximo de 4 bits y terminan con un máximo de 3 bits cero, lo que da una longitud de ejecución máxima de 7.

Ejemplo:

 Datos: 1 1 0 1 1 0 0 1 1 Codificado: 1000 001000 00001000 

RLL (1,7) sin DC editar

También hay una codificación RLL (1,7) alternativa que a veces se usa para evitar un DC bias (que ayuda cuando se envía una señal a larga distancia o con algunos tipos de soportes de grabación).

Datos Codificado
00 x01
01 010
10 x00
11 00 010 001
11 01 x00 000
11 10 x00 001
11 11 010 000

Aquí «x» es el complemento del bit codificado anterior (es decir, 1 si el bit anterior era 0 y 0 si el bit anterior era 1).

Ejemplo:

 Datos: 0 1 0 0 1 1 0 1 0 1 Codificado: 010 101 000 000 010 

HHH(1,13) editar

El código HHH(1,13) es un código de velocidad 2/3 desarrollado por tres investigadores de IBM (Hirt, Hassner y Heise) para su uso en la capa física IrDA VFIR de 16 MB/s.[7]​ A diferencia de la codificación magnética, está diseñada para un transmisor de infrarrojos, donde un bit 0 representa «apagado» y un bit 1 representa «encendido». Debido a que 1 bit consume más energía para transmitir, esto está diseñado para limitar la densidad de 1 bit a menos del 50%. En particular, es un código RLL (1,13|5), donde el 5 final indica la restricción adicional de que hay como máximo 5 pares de bits «10» consecutivos.

Datos Codificado
00 010
01 001
10 100
11 101
01 10 001 000
01 11 010 000
11 10 101 000
11 11 100 000
00 11 00 010 000 000
00 11 01 001 000 000
10 11 00 100 000 000
10 11 01 101 000 000
00 11 10 11 010 000 000 000
10 11 10 11 100 000 000 000

Las primeras ocho filas describen un código estándar RLL (1,7). Las seis excepciones adicionales aumentan la serie máxima de ceros a 13 (en el patrón legal 100 000 000 000 001, que representa 10 11 10 11, seguido de 01), pero limitan la densidad media máxima de unos a 13. La serie más larga de pares 1–0 es 000 101 010 101 000.

Este código limita la densidad de unos entre 112 y 13, con un promedio de 25,8%.

Ejemplos editar

Por ejemplo, codifiquemos la secuencia de bits 10110010 con diferentes codificaciones:

Codificación Dato Codificado
RLL(0,1) 10110010 1110111110101110
RLL(0,2) 1011 0010 01011 10010
RLL(1,3) 10110010 0100010100100100
RLL(1,7) 10 11 00 10 001 010 101 001
RLL(2,7) 10 11 0010 0100 1000 00100100

 

Densidades editar

Suponga que una cinta magnética puede contener hasta 3200 inversiones de flujo por pulgada. Una modulación de frecuencia modificada, o codificación RLL (1,3), almacena cada bit de datos como dos bits en la cinta, pero dado que se garantiza que habrá un bit cero (sin inversión de flujo) entre bits unos cualquiera (inversión de flujo), entonces es posible almacenar 6400 bits codificados por pulgada en la cinta, o 3200 bits de datos por pulgada. Una codificación RLL (1,7) también puede almacenar 6400 bits codificados por pulgada en la cinta, pero dado que solo se necesitan 3 bits codificados para almacenar 2 bits de datos, esto es 4267 bits de datos por pulgada. Una codificación RLL (2,7) requiere 2 bits codificados para almacenar cada bit de datos, pero dado que se garantiza que habrá dos bits 0 entre cualquier bit 1, entonces es posible almacenar 9600 bits codificados por pulgada en la cinta, o 4800 bits de datos por pulgada.

Las densidades de inversión de flujo en los discos duros son significativamente mayores, pero se observan las mismas mejoras en la densidad de almacenamiento al usar diferentes sistemas de codificación.

Véase también editar

Referencias editar

  1. A Quarter Century of Disk File Innovation, IBM Journal of Research and Development.
  2. P. A. Franaszek (1972), “Run-Length-Limited Variable Length Coding with Error Propagation Limitation”, Patente USPTO n.º 3689899.
  3. , DISK/TREND, Inc., publisher of market studies of the worldwide disk drive and data storage industries. web.archive.org.
  4. Kees Schouhamer Immink (December 1990). «Runlength-Limited Sequences». Proceedings of the IEEE 78 (11): 1745-1759. doi:10.1109/5.63306. «A detailed description is furnished of the limiting properties of runlength limited sequences. » 
  5. Kees A. Schouhamer Immink (November 2004). Codes for Mass Data Storage Systems (Second fully revised edición). Eindhoven, The Netherlands: Shannon Foundation Publishers. ISBN 90-74249-27-2. Consultado el 23 de agosto de 2015. (requiere registro). 
  6. Mee, C. Denis; Daniel, Eric D. (1996). Magnetic Storage Handbook (2nd edición). McGraw Hill. ISBN 0-07-041275-8. 
  7. Hirt, Walter; Hassner, Martin; Heise, Nyles (February 2001), «IrDA-VFIr (16 Mb/s): modulation code and system design», IEEE Personal Communications 8 (1): 58-71, doi:10.1109/98.904900 ..

Enlaces externos editar

  • Digital Magnetic Tape Recording (en inglés)
  •   Datos: Q281884

ejecución, longitud, limitada, codificación, ejecución, longitud, limitada, inglés, length, limited, técnica, codificación, línea, utiliza, para, enviar, datos, arbitrarios, través, canal, comunicaciones, límites, ancho, banda, códigos, están, definidos, cuatr. La codificacion ejecucion de longitud limitada o RLL del ingles Run Length Limited es una tecnica de codificacion en linea que se utiliza para enviar datos arbitrarios a traves de un canal de comunicaciones con limites en el ancho de banda Los codigos RLL estan definidos por cuatro parametros principales m n d k Los dos primeros m n se refieren a la tasa del codigo mientras que los dos restantes especifican el numero minimo d y maximo k de ceros entre 1 consecutivos Esto se usa tanto en telecomunicaciones como en sistemas de almacenamiento que mueven un soporte en un cabezal de grabacion fijo Especificamente RLL limita la longitud de los tramos de bits repetidos durante los cuales la senal no cambia Si los tramos son demasiado largos la recuperacion del reloj es dificil si son demasiado cortos las altas frecuencias pueden ser atenuadas por el canal de comunicaciones Al modular los datos RLL reduce la el tiempo de incertidumbre en la decodificacion de los datos almacenados lo que conduciria a la posible insercion o eliminacion erronea de bits al leer el datos de vuelta Este mecanismo garantiza que los limites entre los bits siempre se puedan encontrar con precision evitando el deslizamiento de bits al tiempo que utiliza de manera eficiente el soporte para almacenar de manera confiable la cantidad maxima de datos en un espacio determinado Las primeras unidades de disco usaban esquemas de codificacion muy simples como el codigo RLL 0 1 FM seguido del codigo RLL 1 3 MFM que se usaron ampliamente en unidades de disco duro hasta mediados de la decada de 1980 y todavia se utilizan en discos opticos digitales como CD DVD MD Hi MD y Blu ray Los codigos RLL 2 7 y RLL 1 7 de mayor densidad se convirtieron en el estandar industrial de facto para discos duros a principios de la decada de 1990 Indice 1 Necesidad de la codificacion RLL 2 Historia 3 Resumen tecnico 4 Codificacion 4 1 FM RLL 0 1 4 2 GCR RLL 0 2 4 3 MFM RLL 1 3 4 4 RLL 1 7 4 5 RLL 2 7 4 6 RLL 1 7 sin DC 4 7 HHH 1 13 5 Ejemplos 6 Densidades 7 Vease tambien 8 Referencias 9 Enlaces externosNecesidad de la codificacion RLL editarEn una unidad de disco duro la informacion se representa mediante cambios en la direccion del campo magnetico en el disco y en los soportes magneticos la salida de la reproduccion es proporcional a la densidad de la transicion de flujo En una computadora la informacion esta representada por el voltaje en un cable Ningun voltaje en el cable con relacion a un nivel de tierra definido seria un cero binario y un voltaje positivo en el cable con relacion a tierra representa un uno binario Los medios magneticos por otro lado siempre llevan un flujo magnetico ya sea un polo norte o un polo sur Para convertir los campos magneticos en datos binarios se debe usar algun metodo de codificacion para traducir entre estos dos Uno de los codigos practicos mas simples sin retorno a cero invertido modificado NRZI simplemente codifica un 1 como una transicion de polaridad magnetica tambien conocida como inversion de flujo y un cero sin transicion Con el disco girando a una velocidad constante a cada bit se le asigna un periodo de tiempo igual una ventana de datos para la senal magnetica que representa ese bit y la inversion del flujo si la hay ocurre al comienzo de esta ventana Nota los discos duros mas antiguos usaban un periodo de tiempo fijo como ventana de datos en todo el disco pero los discos modernos son mas complicados para obtener mas informacion consulte grabacion de bits por zonas Este metodo no es tan simple ya que la salida de reproduccion es proporcional a la densidad de unos una serie larga de ceros significa que no se reproduce una salida En un ejemplo simple considere el patron binario 101 con una ventana de datos de 1 ns un nanosegundo o una milmillonesima de segundo Esto se almacenara en el disco como un cambio seguido de ningun cambio y luego otro cambio Si la polaridad magnetica anterior ya era positiva el patron resultante podria verse asi Un valor de 255 o todos unos binarios se escribiria como o Un byte cero se escribiria como o Un sector de ceros de 512 bytes se escribiria como 4096 bits secuenciales con la misma polaridad Dado que una unidad de disco es una pieza fisica de hardware la velocidad de rotacion de la unidad puede cambiar ligeramente debido a un cambio en la velocidad del motor o a la expansion termica del plato del disco Los soporte fisico de un disquete tambien pueden deformarse lo que provoca mayores errores de temporizacion y el circuito de temporizacion del propio controlador puede sufrir pequenas variaciones de velocidad El problema es que con una larga cadena de ceros no hay forma de que el controlador de la unidad de disco sepa la posicion exacta del cabezal de lectura y por lo tanto no hay forma de saber exactamente cuantos ceros hay Una variacion de velocidad de incluso 0 1 que es mas precisa que cualquier unidad de disquete practica podria resultar en la adicion o eliminacion de 4 bits del flujo de datos de 4096 bits Sin alguna forma de sincronizacion y correccion de errores los datos se volverian completamente inutilizables El otro problema se debe a los limites de los soportes magneticos en si solo es posible escribir tantos cambios de polaridad en una cierta cantidad de espacio por lo que hay un limite maximo de cuantos unos se pueden escribir secuencialmente esto depende de la velocidad lineal y del espacio del cabezal Para evitar este problema los datos se codifican de tal manera que no se produzcan largas repeticiones de un unico valor binario Al limitar el numero de ceros escritos consecutivamente esto hace posible que el controlador de la unidad permanezca sincronizado Al limitar el numero de unos escritos en una fila se reduce la frecuencia general de los cambios de polaridad lo que permite que la unidad almacene mas datos en la misma cantidad de espacio lo que da como resultado un paquete mas pequeno para la misma cantidad de datos o mas almacenamiento en un paquete del mismo tamano Historia editar nbsp Seagate ST11R una controladora de disco duro ISA RLL de 8 bits producida en 1990 Todos los codigos utilizados para grabar en discos magneticos tienen una duracion limitada de las ejecuciones sin transicion y por lo tanto pueden caracterizarse como codigos RLL Las variantes mas antiguas y simples recibieron nombres especificos como modulacion de frecuencia modificada MFM y el nombre RLL se usa comunmente solo para las variantes mas complejas que no reciben nombres tan especificos pero el termino tecnicamente se aplica a todos ellos El primer codigo RLL utilizado en discos duros fue el RLL 2 7 desarrollado por ingenieros de IBM y utilizado comercialmente por primera vez en 1979 en el DASD IBM 3370 1 2 3 para usar con la computadora central de la serie 4300 A fines de la decada de 1980 los discos duros de PC comenzaron a usar el RLL propiamente dicho es decir variantes mas complejas que las que habian recibido sus propios nombres como MFM Los codigos RLL han encontrado una aplicacion casi universal en la grabacion de discos opticos desde 1980 En la electronica de consumo los RLL como el codigo EFM indice 8 17 d 2 k 10 se emplean en el disco compacto CD y Minidisc MD y el codigo EFMPlus indice 8 16 d 2 k 10 es utilizado en el DVD Los parametros d y k son las longitudes de ejecucion minimas y maximas permitidas Para obtener mas cobertura sobre las tecnologias de almacenamiento las referencias citadas en este articulo son utiles 4 5 Resumen tecnico editarGeneralmente la longitud de ejecucion es el numero de bits durante los cuales la senal permanece sin cambios Una longitud de ejecucion de 3 para el bit 1 representa una secuencia 111 Por ejemplo el patron de polarizaciones magneticas en el disco podria ser con ejecuciones de longitud 1 4 2 3 y 6 Sin embargo la terminologia de codificacion de ejecucion de longitud limitada asume la codificacion NRZI por lo que los bit 1 indican cambios y los bits 0 indican ausencia de cambio la secuencia anterior se expresaria como 11000101001000001 y solo ejecuciones de bits cero se cuentan De manera un tanto confusa la ejecucion de longitud es el numero de ceros 0 3 1 2 y 5 en el anterior entre los adyacentes que es uno menos que el numero de veces que la senal permanece sin cambios Las secuencias de ejecucion limitada se caracterizan por dos parametros d y k que estipulan la longitud minima y maxima de ejecucion de bits cero que puede ocurrir en la secuencia Por lo tanto los codigos RLL generalmente se especifican como RLL d k por ejemplo RLL 1 3 Codificacion editarEn el formato codificado un bit 1 indica una transicion de flujo mientras que un 0 indica que el campo magnetico del disco no cambia durante ese intervalo de tiempo FM RLL 0 1 editar Generalmente el termino codigo RLL se usa para referirse a codificaciones mas elaboradas pero el codigo original de Modulacion de frecuencia tambien llamado codificacion diferencial de Manchester puede verse como un codigo RLL de indice simple 1 2 Los bits 1 agregados se denominan bits de reloj Datos Codificado0 101 11Ejemplo Datos 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado 1010111011111011101010111110 Reloj 1 1 1 1 1 1 1 1 1 1 1 1 1 1 GCR RLL 0 2 editar Al extender la ejecucion de longitud maxima a 2 bits 0 adyacentes la tasa de datos se puede mejorar a 4 5 Esta es la variante original del grupo de grabacion codificada de IBM Datos Codificado0000 110010001 110110010 100100011 100110100 111010101 101010110 101100111 10111 Datos Codificado1000 110101001 010011010 010101011 010111100 111101101 011011110 011101111 01111Siempre que sea posible 11 de 16 codigos el patron de bits abcd se codifica prefijandolo con el complemento de a span style text decoration overline a span abcd En los 5 casos en los que esto violaria una de las reglas 000d o ab00 se sustituye un codigo que comienza con 11 11be span style text decoration overline a span donde e a d Ejemplo Datos 0010 1101 0001 1000 Codificado 10010011011101111010 Tenga en cuenta que para cumplir con la definicion de RLL 0 2 no es suficiente solo que cada codigo de 5 bits no contenga mas de dos ceros consecutivos sino que tambien es necesario que cualquier par de codigos de 5 bits combinados secuencialmente no contengan mas de dos ceros consecutivos Es decir no debe haber mas de dos ceros entre el ultimo bit del primer codigo y el primer bit del segundo codigo para cualquiera de los dos codigos elegidos arbitrariamente Esto es necesario porque para cualquier codigo RLL los limites de ejecucion de longitud 0 y 2 en este caso se aplican al flujo general de bits modulado no solo a los componentes que representan secuencias discretas de bits de datos Esta regla debe cumplirse para cualquier par arbitrario de codigos sin excepcion porque los datos de entrada pueden ser cualquier secuencia arbitraria de bits El codigo IBM GCR anterior cumple esta condicion ya que la longitud maxima de ejecucion de ceros al comienzo de cualquier codigo de 5 bits es uno del mismo modo la longitud maxima de ejecucion al final de cualquier codigo es uno lo que hace una longitud total de ejecucion de dos en la union entre codigos adyacentes Un ejemplo de la ejecucion de longitud maxima que ocurre entre codigos se puede ver en el ejemplo anterior donde el codigo para los datos 0010 termina con un cero y el codigo para los siguientes datos 1101 comienza con un cero formando una secuencia de dos ceros en la union de estos dos codigos de 5 bits MFM RLL 1 3 editar La modulacion de frecuencia modificada comienza a ser interesante porque sus propiedades especiales permiten que sus bits se escriban en un medio magnetico con el doble de densidad que un flujo de bits arbitrario Hay un limite en cuanto a que tan cerca en tiempo pueden estar las transiciones de flujo para que el equipo de lectura las detecte y eso restringe que tan cerca se pueden grabar los bits en el soporte en el peor de los casos con un flujo de bits arbitrario hay dos unos consecutivos que produce dos transiciones de flujo consecutivas en el tiempo por lo que los bits deben estar lo suficientemente separados para que haya suficiente tiempo entre esas transiciones de flujo para que el lector las detecte Pero este codigo impone una restriccion de d 1 es decir hay un minimo de un cero entre cada dos unos Esto significa que en el peor de los casos las transiciones de flujo tienen una separacion de dos bits por lo que los bits pueden estar el doble de juntos que con el flujo de bits arbitrario sin exceder las capacidades del lector Esta densidad de grabacion duplicada compensa la tasa de codificacion de 1 2 de este codigo se necesitan dos bits para representar un bit de informacion real y lo hace equivalente a un codigo de tasa 1 Datos Codificado0 x01 01Aqui x es el complemento del bit codificado anterior que tambien es el bit de datos anterior Excepto por los bits del reloj ese bit x y el 0 en el codigo 01 esto es lo mismo que la tabla FM y asi es como este codigo recibe su nombre Los bits de reloj insertados son 0 excepto entre dos bits de datos 0 Ejemplo Datos 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado x010010001010001001010010100 Reloj x 1 0 0 0 0 0 0 0 1 1 0 0 0 RLL 1 7 editar RLL 1 7 asigna 2 bits de datos a 3 bits en el disco y la codificacion se realiza en grupos de 2 o 4 bits Las reglas de codificacion son x y se convierte en NO x x Y y NO y excepto x 0 0 y se convierte en NO x x Y y NO y 0 0 0 6 Al codificar de acuerdo con la siguiente tabla se debe usar la coincidencia mas larga ultima en la tabla esas son situaciones de manejo de excepciones en las que la aplicacion de las reglas anteriores conduciria a una violacion de las restricciones del codigo Datos Codificado00 10101 10010 00111 01000 00 101 00000 01 100 00010 00 001 00010 01 010 000Ejemplo Datos 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Codificado 101 001 010 100 100 000 001 RLL 2 7 editar RLL 2 7 es un codigo de taza 1 2 que mapea n bits de datos en 2n bits en el disco como el MFM pero debido a que la longitud minima de ejecucion es 50 mayor 3 bits en lugar de 2 los bits se pueden escribir mas rapido logrando una densidad de datos efectiva 50 mayor La codificacion se realiza en grupos de 2 3 o 4 bits Western Digital WD5010A WD5011A WD50C12 Datos Codificado11 100010 0100000 100100010 000100011 0010000011 000010000010 00100100Seagate ST11R IBM Datos Codificado11 100010 0100000 000100010 100100011 0010000011 000010000010 00100100Perstor Systems ADRC Datos Codificado11 100010 0100000 100100010 000100001 0010000111 000010000110 00100100Las formas codificadas comienzan con un maximo de 4 bits y terminan con un maximo de 3 bits cero lo que da una longitud de ejecucion maxima de 7 Ejemplo Datos 1 1 0 1 1 0 0 1 1 Codificado 1000 001000 00001000 RLL 1 7 sin DC editar Tambien hay una codificacion RLL 1 7 alternativa que a veces se usa para evitar un DC bias que ayuda cuando se envia una senal a larga distancia o con algunos tipos de soportes de grabacion Datos Codificado00 x0101 01010 x0011 00 010 00111 01 x00 00011 10 x00 00111 11 010 000Aqui x es el complemento del bit codificado anterior es decir 1 si el bit anterior era 0 y 0 si el bit anterior era 1 Ejemplo Datos 0 1 0 0 1 1 0 1 0 1 Codificado 010 101 000 000 010 HHH 1 13 editar El codigo HHH 1 13 es un codigo de velocidad 2 3 desarrollado por tres investigadores de IBM Hirt Hassner y Heise para su uso en la capa fisica IrDA VFIR de 16 MB s 7 A diferencia de la codificacion magnetica esta disenada para un transmisor de infrarrojos donde un bit 0 representa apagado y un bit 1 representa encendido Debido a que 1 bit consume mas energia para transmitir esto esta disenado para limitar la densidad de 1 bit a menos del 50 En particular es un codigo RLL 1 13 5 donde el 5 final indica la restriccion adicional de que hay como maximo 5 pares de bits 10 consecutivos Datos Codificado00 01001 00110 10011 10101 10 001 00001 11 010 00011 10 101 00011 11 100 00000 11 00 010 000 00000 11 01 001 000 00010 11 00 100 000 00010 11 01 101 000 00000 11 10 11 010 000 000 00010 11 10 11 100 000 000 000Las primeras ocho filas describen un codigo estandar RLL 1 7 Las seis excepciones adicionales aumentan la serie maxima de ceros a 13 en el patron legal 100 000 000 000 001 que representa 10 11 10 11 seguido de 01 pero limitan la densidad media maxima de unos a 1 3 La serie mas larga de pares 1 0 es 000 101 010 101 000 Este codigo limita la densidad de unos entre 1 12 y 1 3 con un promedio de 25 8 Ejemplos editarPor ejemplo codifiquemos la secuencia de bits 10110010 con diferentes codificaciones Codificacion Dato CodificadoRLL 0 1 10110010 1110111110101110RLL 0 2 1011 0010 01011 10010RLL 1 3 10110010 0100010100100100RLL 1 7 10 11 00 10 001 010 101 001RLL 2 7 10 11 0010 0100 1000 00100100 nbsp Densidades editarSuponga que una cinta magnetica puede contener hasta 3200 inversiones de flujo por pulgada Una modulacion de frecuencia modificada o codificacion RLL 1 3 almacena cada bit de datos como dos bits en la cinta pero dado que se garantiza que habra un bit cero sin inversion de flujo entre bits unos cualquiera inversion de flujo entonces es posible almacenar 6400 bits codificados por pulgada en la cinta o 3200 bits de datos por pulgada Una codificacion RLL 1 7 tambien puede almacenar 6400 bits codificados por pulgada en la cinta pero dado que solo se necesitan 3 bits codificados para almacenar 2 bits de datos esto es 4267 bits de datos por pulgada Una codificacion RLL 2 7 requiere 2 bits codificados para almacenar cada bit de datos pero dado que se garantiza que habra dos bits 0 entre cualquier bit 1 entonces es posible almacenar 9600 bits codificados por pulgada en la cinta o 4800 bits de datos por pulgada Las densidades de inversion de flujo en los discos duros son significativamente mayores pero se observan las mismas mejoras en la densidad de almacenamiento al usar diferentes sistemas de codificacion Vease tambien editarCodificacion 8b 10b Bit slip Eight to fourteen Modulation y EFMplus son codigos RLL 2 10 sin DC que se utilizan en los CD y DVD respectivamente Codigo de correccion de errores Codigos en linea Modulacion telecomunicacion Capa fisica PRML Run length encoding Self synchronizing code y bit de sincronizacion Compresion de datosReferencias editar A Quarter Century of Disk File Innovation IBM Journal of Research and Development P A Franaszek 1972 Run Length Limited Variable Length Coding with Error Propagation Limitation Patente USPTO n º 3689899 Five decades of disk drive industry firsts DISK TREND Inc publisher of market studies of the worldwide disk drive and data storage industries web archive org Kees Schouhamer Immink December 1990 Runlength Limited Sequences Proceedings of the IEEE 78 11 1745 1759 doi 10 1109 5 63306 A detailed description is furnished of the limiting properties of runlength limited sequences Kees A Schouhamer Immink November 2004 Codes for Mass Data Storage Systems Second fully revised edicion Eindhoven The Netherlands Shannon Foundation Publishers ISBN 90 74249 27 2 Consultado el 23 de agosto de 2015 requiere registro Mee C Denis Daniel Eric D 1996 Magnetic Storage Handbook 2nd edicion McGraw Hill ISBN 0 07 041275 8 Hirt Walter Hassner Martin Heise Nyles February 2001 IrDA VFIr 16 Mb s modulation code and system design IEEE Personal Communications 8 1 58 71 doi 10 1109 98 904900 Enlaces externos editarDigital Magnetic Tape Recording en ingles Esta obra contiene una traduccion derivada de Run length limited de Wikipedia en ingles publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 4 0 Internacional nbsp Datos Q281884 Obtenido de https es wikipedia org w index php title Ejecucion de longitud limitada amp oldid 149938816, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos