En informática , la grabación codificada en grupo o grabación de código de grupo ( GCR ) se refiere a varios métodos de codificación distintos pero relacionados para representar datos en medios magnéticos . El primero, utilizado en Cinta magnética de 6250 bpi desde 1973, [1] [2] es un código de corrección de errores combinado con un esquema de codificación de longitud de ejecución limitada (RLL), perteneciente al grupo de códigos de modulación. [3] Los otros son métodos de codificación similares utilizados en discos duros de mainframes o disquetes de microcomputadoras hasta fines de los años 1980. GCR es una forma modificada de un código NRZI , pero necesariamente con una densidad de transición más alta. [3]
La grabación con codificación grupal se utilizó por primera vez para el almacenamiento de datos en cinta magnética en una cinta de carrete a carrete de 9 pistas . [3] El término se acuñó durante el desarrollo de la unidad de cinta magnética IBM 3420 modelo 4/6/8 [1] y la correspondiente unidad de control de cinta 3803 modelo 2, [4] [1] ambas introducidas en 1973. [1] [5] IBM se refirió al código de corrección de errores en sí como "grabación con codificación grupal". Sin embargo, GCR ha llegado a referirse al formato de grabación de Cinta de 6250 bpi (250 bits/mm [3] ) en su conjunto, y posteriormente a formatos que utilizan códigos RLL similares sin el código de corrección de errores.
Para leer y escribir de manera confiable en cinta magnética , se deben cumplir varias restricciones en la señal que se va a escribir. La primera es que dos inversiones de flujo adyacentes deben estar separadas por una cierta distancia en el medio, definida por las propiedades magnéticas del propio medio. La segunda es que debe haber una inversión con la suficiente frecuencia para mantener el reloj del lector en fase con la señal escrita; es decir, la señal debe tener sincronización automática y, lo que es más importante, mantener la salida de reproducción lo suficientemente alta, ya que esto es proporcional a la densidad de transiciones de flujo.Cintas de 6250 bpi ,Las cintas de 1600 bpi satisfacían estas restricciones mediante una técnica llamada codificación de fase (PE), que tenía una eficiencia de solo el 50%.En las cintas GCR de 6250 bpi se utiliza un código RLL (0, 2) , o más específicamente un 4/5Código de bloque ( 0, 2) [3] a veces también denominadocodificación GCR (4B-5B) . [6] Este código requiere que se escriban cinco bits por cada cuatro bits de datos. [3] El código está estructurado de modo que no puedan aparecer más de dos bits cero (que se representan por la falta de una inversión de flujo) en una fila, [3] ya sea dentro de un código o entre códigos, sin importar cuáles sean los datos. Este código RLL se aplica independientemente a los datos que van a cada una de las nueve pistas.
De los 32 patrones de cinco bits, ocho comienzan con dos bits cero consecutivos, otros seis terminan con dos bits cero consecutivos y uno más (10001) contiene tres bits cero consecutivos. Si se elimina el patrón de todos unos (11111) del resto, quedan 16 palabras de código adecuadas.
ElCódigo RLL GCR de 6250 bpi : [7] [8] [9] [6]
11 de los nibbles (excepto xx00 y 0001) tienen su código formado anteponiendo el complemento del bit más significativo ; es decir, abcd se codifica como abcd . A los otros cinco valores se les asignan códigos que comienzan con 11. Los nibbles de la forma ab00 tienen códigos 11ba a , es decir, el bit inverso del código para ab11. Al código 0001 se le asigna el valor restante 11011.
Como el código de todos los unos no se utiliza en los datos normales, pueden aparecer como máximo 8 bits de uno seguidos. Se utilizan secuencias de 9 o más bits de uno (en la práctica se utilizaban 14 códigos de todos los unos, o 70 bits de uno) como patrón de sincronización .
Debido a la densidad extremadamente alta (para la época) deEn una cinta de 6250 bpi , el código RLL no es suficiente para garantizar un almacenamiento de datos confiable. Sobre el código RLL, se aplica un código de corrección de errores llamado Código Rectangular Óptimo (ORC). [10] Este código es una combinación de una pista de paridad y un código polinomial similar a un CRC , pero estructurado para la corrección de errores en lugar de la detección de errores. Por cada siete bytes escritos en la cinta (antes de la codificación RLL), se calcula un octavo byte de verificación y se escribe en la cinta. Al leer, se calcula la paridad en cada byte y se aplica una OR exclusiva con el contenido de la pista de paridad, y se calcula el código de verificación polinomial y se aplica una OR exclusiva con el código de verificación recibido, lo que da como resultado dos palabras de síndrome de 8 bits. Si ambas son cero, los datos están libres de errores. De lo contrario, la lógica de corrección de errores en el controlador de cinta corrige los datos antes de que se envíen al host. El código de corrección de errores puede corregir cualquier cantidad de errores en una sola pista o en dos pistas si las pistas erróneas se pueden identificar por otros medios.
En las unidades de cinta IBM de 18 pistas y media pulgada más nuevas, la grabación en24 000 ppp , 4/5 (0, 2) El GCR fue reemplazado por un modelo más eficiente .8/9Código de modulación (0, 3), que asigna ocho bits a nueve bits. [3]
A mediados de la década de 1970, Sperry Univac , División ISS, estaba trabajando en discos duros de gran tamaño para el negocio de mainframes utilizando codificación de grupo. [11]
Al igual que las unidades de cinta magnética, las unidades de disquete tienen límites físicos en el espaciado de las inversiones de flujo (también llamadas transiciones, representadas por bits uno).
Al ofrecer unidades de disquete compatibles con GCR y controladores de disquete (como el 100163-51-8 y el 100163-52-6 [12] ), Micropolis respaldó la codificación de datos con grabación codificada por grupo [13] en unidades de disquete de 5¼ pulgadas, 100 tpi y 77 pistas para almacenar doce sectores de 512 bytes por pista desde 1977 o 1978. [14] [15] [16] [17]
Micro Peripherals, Inc. (MPI) comercializó unidades de disco de 5¼ pulgadas de doble densidad (como las unidades B51 de una cara y B52 de doble cara) y una solución de controlador que implementaba GCR desde principios de 1978. [18] [19]
El Durango Systems F-85 (presentado en septiembre de 1978 [20] [21] ) utilizaba unidades de disquete de 5¼ pulgadas y 100 tpi de una sola cara que proporcionaban 480 KB utilizando una codificación de grupo 4/5 de alta densidad patentada. La máquina utilizaba un controlador de disquete Western Digital FD1781 , diseñado por un ex ingeniero de Sperry ISS, [17] con unidades Micropolis de 77 pistas. [22] En modelos posteriores, como la serie Durango 800 [23], esto se amplió a una opción de doble cara para 960 KB (946 KB formateados [23] [nb 1] ) por disquete. [21] [24] [22] [14]
Para la unidad de disquete Apple II , Steve Wozniak inventó un controlador de disquete que (junto con la propia unidad de disquete II ) impuso dos restricciones:
El esquema más simple para garantizar el cumplimiento de estos límites es grabar una transición de "reloj" adicional antes de cada bit de datos según la codificación Manchester diferencial o FM (modulación de frecuencia) (digital). Conocida como codificación 4 y 4 , la implementación resultante de Apple permitió que solo se grabaran diez sectores de 256 bytes por pista en un disquete de 5¼ pulgadas de densidad única. Utiliza dos bytes para cada byte.
Casi un mes antes del lanzamiento de la unidad de disco en la primavera de 1978, [26] Wozniak se dio cuenta de que un esquema de codificación más complejo permitiría que cada byte de ocho bits del disco contuviera cinco bits de datos útiles en lugar de cuatro bits. Esto se debe a que hay 34 bytes que tienen el bit superior establecido y no hay dos bits cero seguidos. Este esquema de codificación se conoció como codificación 5 y 3 y permitía 13 sectores por pista; se utilizó para Apple DOS 3.1, 3.2 y 3.2.1 , así como para la primera versión de Apple CP/M : [27]
Códigos GCR reservados: 0xAA y 0xD5. [27]
Wozniak calificó el sistema como "mi experiencia más increíble en Apple y el mejor trabajo que hice". [26]
Más tarde, el diseño del controlador de la unidad de disquete se modificó para permitir que un byte en el disco contuviera hasta un par de bits cero en una fila. Esto permitió que cada byte de ocho bits contuviera seis bits de datos útiles y permitió 16 sectores por pista. Este esquema se conoce como codificación 6 y 2 , [27] y se utilizó en Apple Pascal , Apple DOS 3.3 [27] y ProDOS , [29] y más tarde con las unidades Apple FileWare en el Apple Lisa y los discos de 3½ pulgadas de 400K y 800K en Macintosh y Apple II. [30] [31] Apple originalmente no llamó a este esquema "GCR", pero el término se le aplicó más tarde [31] para distinguirlo de los disquetes IBM PC que usaban el esquema de codificación MFM .
Códigos GCR reservados: 0xAA y 0xD5. [27] [29]
De forma independiente, Commodore Business Machines (CBM) creó un esquema de grabación codificado por grupos para su unidad de disquete Commodore 2040 (lanzada en la primavera de 1979). Las restricciones relevantes de la unidad 2040 eran que no podían aparecer más de dos bits cero seguidos; la unidad no imponía ninguna restricción especial sobre el primer bit de un byte. Esto permitía el uso de un esquema similar al utilizado enUnidades de cinta de 6250 bpi . Cada cuatro bits de datos se traducen a cinco bits en el disco, utilizando los mismos códigos de 5 bits que IBM para garantizar que nunca haya más de dos bits cero seguidos, pero en un orden diferente:
Al igual que el código de IBM, son posibles como máximo ocho bits uno en fila, por lo que Commodore utilizó secuencias de diez o más bits uno en fila como secuencia de sincronización .
Este esquema GCR más eficiente, combinado con un enfoque de grabación de densidad de bits constante mediante el aumento gradual de la frecuencia de reloj ( velocidad angular constante de zona , ZCAV) y el almacenamiento de más sectores físicos en las pistas externas que en las internas ( grabación de bits de zona , ZBR), permitió a Commodore adaptarse170 KiB en un disquete estándar de una sola cara y densidad simple de 5,25 pulgadas, donde Apple lo colocó140 KiB (con codificación 6 y 2) o114 KiB (con codificación 5 y 3) y un disquete codificado en FM que solo se puede guardar88 KiB .
De manera similar, las unidades de disquete de 5,25 pulgadas del Victor 9000, también conocido como Sirius 1 , diseñado por Chuck Peddle en 1981/1982, utilizaban una combinación de GCR y grabación de bits de zona disminuyendo gradualmente la velocidad de rotación de una unidad para las pistas externas en nueve zonas mientras aumentaba el número de sectores por pista [33] para lograr capacidades formateadas de606 KiB (una cara) /1188 KiB (doble cara) en un medio de 96 tpi . [34] [35] [36] [37] El código GCR es idéntico al del Commodore. [38]
A partir de 1985, Brother presentó una familia de máquinas de escribir dedicadas al procesamiento de textos con una unidad de disquete integrada de 3,5 pulgadas y 38 pistas [nb 2] . Los primeros modelos de las series WP y LW utilizaban un esquema de grabación de codificación grupal específico de Brother con doce sectores de 256 bytes para almacenar hasta 120 KB [nb 3] en disquetes de una cara y hasta 240 KB [nb 3] en disquetes de doble densidad (DD) de doble cara. [17] [39] [40] [41] Según se informa, ya se mostraron prototipos en la Internationale Funkausstellung 1979 (IFA) en Berlín.
En 1986, Sharp presentó una solución de unidad de disco de bolsillo giratoria de 2,5 pulgadas (unidades: CE-1600F , CE-140F; internamente basadas en el chasis FDU-250; medio: CE-1650F ) para su serie de computadoras de bolsillo con una capacidad formateada de62 464 bytes por lado (2× 64 kB nominales, 16 pistas, 8 sectores/pista, 512 bytes por sector, 48 tpi , 250 kbit/s, 270 rpm) con grabación GCR (4/5). [42] [43]
También se evaluó el GCR para un posible uso en esquemas de codificación de códigos de barras (eficiencia de empaquetado, tolerancias de tiempo, cantidad de bytes de almacenamiento para información de tiempo y nivel de salida de CC ). [44]
IBM agregó tres nuevos modelos al sistema de cinta magnética 3420 que pueden grabar datos con la "capacidad de grabación más densa ofrecida hasta ahora", según la compañía. Usando un nuevo método llamado Group Coded Recording (GCR), las unidades IBM pueden manejar cintas que contienen una densidad de datos de 6250 bytes/pulgada en comparación con los 1600 bytes/pulgada de los modelos anteriores del 3420. [...] También se anunció una unidad de control mejorada, el 3803 Modelo 2, que funciona con las unidades de cinta 3420 anteriores y las más recientes. El Modelo 2 incluye la capacidad de corregir errores en una o dos pistas "simultáneamente mientras la cinta está en movimiento", dijo IBM. [...] El método GCR segmenta los datos escritos en cinta en grupos de caracteres a los que se añade un carácter de codificación especial. Y la mayor densidad se basa en una combinación de un esquema de codificación modificado, un espacio entre registros más pequeño (llamado espacio entre bloques) y componentes electrónicos y electromecánicos modificados, dijo IBM. Los sistemas de cinta 3803/3420 instalados se pueden convertir a las densidades más altas en el campo. [...]
[...] Me mudé al laboratorio de Poughkeepsie en 1958 [...] Más tarde fui el diseñador principal y arquitecto de la unidad de control de cinta 2802 y unos años después, el diseñador principal y arquitecto de la 3803, que fue una modificación muy grande basada en la 2802. Tres de nosotros compartimos un premio corporativo por la 3803 y yo, junto con el planificador Charlie Von Reyn, se nos ocurrió el nombre "
Grabación codificada en grupo
(GCR)" como el nombre del método de grabación. [...](NB. Un comentario anónimo de uno de los desarrolladores sobre el origen del nombre "Group Coded Recording".)
[...]
Micropolis
ha ampliado la capacidad de los subsistemas de disquete de 5,25 pulgadas mediante modelos de doble cara con almacenamiento de archivos formateados de hasta casi 2 millones de bytes [...] La serie
Megafloppy
también cuenta con un controlador inteligente que facilita la interconexión de cuatro subsistemas a una interfaz de host común para una capacidad total de almacenamiento en línea de más de 15 M bytes [...] Las versiones de doble cara de la línea de productos se implementarán primero en dos series
OEM
: modelo 1015 y modelo 1055 [...] El modelo 1015 es una unidad sin empaquetar diseñada para el fabricante que integra el almacenamiento de disquetes en su propia carcasa del sistema. Hay disponible una gama de capacidades de almacenamiento de 143.000 a 630.000 bytes por unidad [...] Los clientes del modelo 1015 tienen la opción de utilizar el controlador inteligente Micropolis y el método
de grabación de código de grupo
(GCR) para ampliar aún más el espacio de archivo hasta 946.000 bytes [...] El modelo 1055, que ofrece GCR y un controlador basado en microprocesador como características estándar, tiene cuatro formatos
de sectores suaves
para cada una de sus 77 pistas, lo que produce una capacidad máxima de 1.892.000 bytes de espacio de archivo en su versión de doble cara [...] Un módulo adicional disponible para el 1055 se compone de dos cabezales de lectura/escritura y dos unidades, que comparten un controlador común. La capacidad del subsistema (formateado) con el módulo es de 3.784.000 bytes [...] Se pueden
conectar en cadena
hasta cuatro 1055, cada uno con un módulo adicional,
a un host común para una capacidad máxima de almacenamiento en línea de más de 15 M bytes [...]
[...] Se han añadido cuatro nuevos productos de 96 pistas por pulgada a la línea actual de
Micropolis
de disquetes de una y dos caras de 100 tpi. Las unidades de 96 tpi ofrecen 70 pistas por lado, a diferencia de las 77 que ofrece la línea
MegaFloppy
. Los cuatro modelos son: 1) El 1015-V: 436 KB, sin formato, grabación FM/MFM [...] 2) El 1016-V: 532 KB sin formato,
grabación codificada por grupo
(GCR) [...] 3) El 1015-VI: una versión de dos cabezales de la unidad MFM, 872 KB [...] 4) El 1016-VI: también una unidad de dos cabezales, codificación GCR de 1,064 MB [...]
[...] Al mismo tiempo, Micropolis estaba trabajando en una unidad de 5,25" que podía contener tanto como una de 8", utilizando algunos trucos. La unidad Micropolis tenía 100 tpi, 77 pistas y, al utilizar GCR, podía contener 12 sectores de 512 bytes por pista. Eso es 462 KiB. Esto fue alrededor de 1977-78. [...] La [...] implementación de la unidad y el controlador (la nuestra la hizo un chico que habíamos reclutado de Sperry ISS) fue [...] compleja y costosa [...] Los discos Brother WP [...] son GCR de 38 pistas, de una sola cara, codificados por Brother que contienen [...] 120K en disquetes 2D. [...]
[...] De los códigos alternativos utilizados para lograr una doble densidad, GCR (Group Coded Recording) parece bastante atractivo. Micro Peripherals Inc ha implementado la doble densidad utilizando GCR en un sistema de controlador y disquete de tamaño completo que actualmente se comercializa. [...] GCR no es más que el viejo NRZ de reserva con sus ventajas asociadas, pero, dado que el NRZ ordinario no tiene información de reloj y un contenido de CC potencialmente alto durante largas cadenas de unos o ceros, los datos se reformatean para eliminar las largas cadenas. El reformateo convierte cada grupo de cuatro bits de datos originales en cinco bits de datos codificados en grupo; los cinco bits de la versión codificada siempre tendrán una mezcla de unos y ceros, incluso si los datos reales están todos en un mismo estado. El reformateo en GCR se puede realizar en software, a diferencia de MFM, etc., que casi inevitablemente deben codificarse y decodificarse en hardware. Por lo tanto, GCR tiene buenas posibilidades como un esquema de bajo costo y alta confiabilidad para lograr una densidad doble. [...][1]
[...] La unidad de disquete de una sola cara ofrece 80 pistas a
96 TPI
[...] La unidad de disquete de doble cara ofrece 160 pistas a 96 TPI [...] Las unidades de disquete tienen sectores de 512 bytes; utilizan una técnica de grabación GCR de 10 bits. [...] Aunque el
Victor 9000
utiliza minifloppies de 5 1/4 pulgadas de un tipo similar a los utilizados en otras computadoras, los disquetes en sí no son legibles en otras máquinas, ni el Victor 9000 puede leer un disco de la máquina de otro fabricante. El Victor 9000 utiliza un método de grabación único para permitir que los datos se empaqueten con una densidad de hasta 600 kbytes en un minifloppy de una sola cara y densidad simple; Este método de grabación implica la regulación de la velocidad a la que gira el disquete, lo que explica el hecho de que el ruido de la unidad a veces cambie de frecuencia.
[...] La densidad de pistas es de 96 pistas por pulgada y la densidad de grabación se mantiene en aproximadamente 8000 bits por pulgada en todas las pistas. [...] El
VICTOR 9000
utiliza una técnica de codificación llamada grabación de código de grupo (GCR) para convertir los datos de la representación interna a una forma aceptable. GCR convierte cada nibble (de 4 bits) en un código de 5 bits que garantiza un patrón de grabación que nunca tiene más de dos ceros juntos. Luego, los datos se graban en el disco provocando una inversión de flujo para cada bit "uno" y ninguna inversión de flujo para cada bit "cero". [...]
[...] La unidad de disco de 3,5" y 240 Kb es una unidad Brother de un solo cabezal, número de pieza 13194989, y está conectada con una cinta de 15 pines. [...] inicializa (formatea) el disco a una capacidad de 236,5 Kb. [...]
[...] Uno tenía sectores de 1296 bytes y otro tenía 12 sectores GCR de 256 bytes [...]
GCR es una abreviatura de
Group Coded Recording (Grabación codificada por grupo
). Un solo byte, 8 bits, de datos se divide en dos datos de 4 bits que también se convierten en datos de 5 bits. Por lo tanto, un solo byte (8 bits) se graba en el medio como datos de 10 bits.
{{cite journal}}
: La cita utiliza un título genérico ( ayuda )