В информатике групповая кодированная запись или групповая кодовая запись ( GCR ) относится к нескольким различным , но связанным между собой методам кодирования для представления данных на магнитных носителях . Первый, используемый в Магнитная лента 6250 bpi с 1973 года, [1] [2] представляет собой код с исправлением ошибок в сочетании со схемой кодирования с ограниченной длиной бега (RLL), относящийся к группе кодов модуляции. [3] Другие представляют собой аналогичные методы кодирования, использовавшиеся в жестких дисках мэйнфреймов или дискетах микрокомпьютеров до конца 1980-х годов. GCR представляет собой модифицированную форму кода NRZI , но обязательно с более высокой плотностью перехода. [3]
Групповая кодированная запись была впервые использована для хранения данных на магнитной ленте на 9-дорожечной катушечной ленте . [3] Термин был придуман во время разработки IBM 3420 Model 4/6/8 Magnetic Tape Unit [1] и соответствующего 3803 Model 2 Tape Control Unit, [4] [1] оба были представлены в 1973 году. [1] [5] IBM называла сам код исправления ошибок «групповой кодированной записью». Однако GCR стал обозначать формат записиЛента 6250 bpi (250 бит/мм [3] ) в целом, а позднее и форматы, использующие аналогичные коды RLL без кода исправления ошибок.
Для надежного чтения и записи на магнитную ленту необходимо соблюдать несколько ограничений на записываемый сигнал. Первое заключается в том, что два соседних изменения потока должны быть разделены определенным расстоянием на носителе, определяемым магнитными свойствами самого носителя. Второе заключается в том, что изменение должно происходить достаточно часто, чтобы часы считывателя были в фазе с записанным сигналом; то есть сигнал должен быть самосинхронизирующимся и, что наиболее важно, чтобы поддерживать выход воспроизведения достаточно высоким, поскольку это пропорционально плотности переходов потока. ДоЛенты 6250 бит/дюйм ,Ленты с разрешением 1600 бит/дюйм удовлетворяли этим ограничениям, используя технологию, называемую фазовым кодированием (PE), которая была эффективна только на 50%.Ленты GCR 6250 bpi , используется код RLL (0, 2) , или, точнее, 4/5 (0, 2) блочный код [3] иногда также называется кодировкой GCR (4B-5B) . [6] Этот код требует записи пяти бит для каждых четырех бит данных. [3] Код структурирован таким образом, что не более двух нулевых бит (которые представлены отсутствием инверсии потока) могут встречаться подряд, [3] как внутри кода, так и между кодами, независимо от того, какие были данные. Этот код RLL применяется независимо к данным, идущим на каждую из девяти дорожек.
Из 32 пятибитных шаблонов восемь начинаются с двух последовательных нулевых битов, шесть других заканчиваются двумя последовательными нулевыми битами, а еще один (10001) содержит три последовательных нулевых бита. Удаление шаблона из всех единиц (11111) из остатка оставляет 16 подходящих кодовых слов.
The6250 бит/дюйм GCR RLL код: [7] [8] [9] [6]
11 полубайтов (кроме xx00 и 0001) имеют свой код, сформированный путем добавления дополнения к самому значимому биту ; т. е. abcd кодируется как abcd . Остальным пяти значениям назначаются коды, начинающиеся с 11. Полубайты формы ab00 имеют коды 11ba a , т. е. обратный бит кода для ab11. Коду 0001 назначается оставшееся значение 11011.
Поскольку код «все единицы» не используется в обычных данных, в строке может быть максимум 8 единичных битов. Последовательности из 9 или более единичных битов (на практике использовалось 14 единичных кодов или 70 единичных битов) используются в качестве шаблона синхронизации .
Из-за чрезвычайно высокой плотности (для того времени)Лента 6250 бит/дюйм , код RLL недостаточен для обеспечения надежного хранения данных. Поверх кода RLL применяется код исправления ошибок , называемый Оптимальным прямоугольным кодом (ORC). [10] Этот код представляет собой комбинацию дорожки четности и полиномиального кода, похожего на CRC , но структурированного для исправления ошибок, а не для их обнаружения. Для каждых семи байтов, записанных на ленту (до кодирования RLL), вычисляется и записывается на ленту восьмой контрольный байт. При чтении четность вычисляется для каждого байта и подвергается операции « исключающее ИЛИ» с содержимым дорожки четности, а полиномиальный контрольный код вычисляется и подвергается операции «исключающее ИЛИ» с полученным контрольным кодом, в результате чего получается два 8-битных синдромных слова. Если оба они равны нулю, данные не содержат ошибок. В противном случае логика исправления ошибок в контроллере ленты исправляет данные перед их отправкой на хост. Код исправления ошибок способен исправить любое количество ошибок в любой отдельной дорожке или в любых двух дорожках, если ошибочные дорожки можно идентифицировать другими способами.
В более новых полудюймовых 18-дорожечных ленточных накопителях IBM запись производится со скоростью24 000 бит/дюйм , 4/5 (0, 2) GCR был заменен более эффективным 8/9 (0, 3) код модуляции, отображающий восемь бит в девять бит. [3]
В середине 1970-х годов Sperry Univac , подразделение ISS, работало над большими жесткими дисками для мэйнфреймов , используя групповое кодирование. [11]
Как и накопители на магнитной ленте, накопители на гибких магнитных дисках имеют физические ограничения на интервалы между сменами полярности магнитного потока (также называемыми переходами, представленными единицами бита).
Предлагая совместимые с GCR дисководы и контроллеры гибких дисков (например, 100163-51-8 и 100163-52-6 [12] ), Micropolis одобрила кодирование данных с групповой кодированной записью [13] на 5¼-дюймовых 100 tpi 77-дорожечных дисководах для хранения двенадцати 512-байтовых секторов на дорожку с 1977 или 1978 года. [14] [15] [16] [17]
Компания Micro Peripherals, Inc. (MPI) с начала 1978 года выпускала на рынок 5¼-дюймовые дисковые накопители двойной плотности (например, односторонние B51 и двухсторонние B52), а также контроллерное решение, реализующее GCR. [18] [19]
Durango Systems F-85 (представленный в сентябре 1978 года [20] [21] ) использовал односторонние 5¼-дюймовые дисководы 100 tpi, обеспечивающие 480 КБ, используя фирменную высокоплотную кодировку 4/5 групп. Машина использовала контроллер гибких дисков Western Digital FD1781 , разработанный бывшим инженером Sperry ISS, [17] с 77-дорожечными дисководами Micropolis. [22] В более поздних моделях, таких как серия Durango 800 [23], это было расширено до двухстороннего варианта для 960 КБ (946 КБ отформатированных [23] [nb 1] ) на дискету. [21] [24] [22] [14]
Для дисковода Apple II Стив Возняк изобрел контроллер гибких дисков, который (как и сам дисковод Disk II ) накладывал два ограничения:
Самая простая схема для обеспечения соответствия этим ограничениям — запись дополнительного «тактового» перехода перед каждым битом данных в соответствии с дифференциальным манчестерским кодированием или (цифровой) FM (частотной модуляцией). Известная как кодирование 4-и-4 , полученная реализация Apple позволяла записывать только десять 256-байтовых секторов на дорожку на 5¼-дюймовую дискету одинарной плотности. Она использует два байта для каждого байта.
Примерно за месяц до поставки дисковода весной 1978 года [26] Возняк понял, что более сложная схема кодирования позволит каждому восьмибитному байту на диске хранить пять бит полезных данных, а не четыре. Это потому, что есть 34 байта, в которых установлен верхний бит, и нет двух нулевых битов подряд. Эта схема кодирования стала известна как кодирование 5-и-3 и позволяла 13 секторов на дорожку; она использовалась для Apple DOS 3.1, 3.2 и 3.2.1 , а также для самой ранней версии Apple CP/M : [27]
Зарезервированные GCR-коды: 0xAA и 0xD5. [27]
Возняк назвал систему «моим самым невероятным опытом работы в Apple и лучшей работой, которую я проделал» [26] .
Позже конструкция контроллера дисковода была изменена, чтобы позволить байту на диске содержать до одной пары нулевых бит подряд. Это позволило каждому восьмибитному байту хранить шесть бит полезных данных и позволило иметь 16 секторов на дорожку. Эта схема известна как кодирование 6-и-2 [27] и использовалась в Apple Pascal , Apple DOS 3.3 [27] и ProDOS [29] и позже с дисководами Apple FileWare в Apple Lisa и 400K и 800K 3½-дюймовых дисках на Macintosh и Apple II. [30] [31] Изначально Apple не называла эту схему «GCR», но позже этот термин был применен к ней [ 31], чтобы отличить ее от дискет IBM PC , которые использовали схему кодирования MFM .
Зарезервированные GCR-коды: 0xAA и 0xD5. [27] [29]
Независимо от этого, Commodore Business Machines (CBM) создала схему групповой кодированной записи для своего дисковода Commodore 2040 (выпущенного весной 1979 года). Соответствующие ограничения на дисковод 2040 заключались в том, что не более двух нулевых битов могли встречаться подряд; дисковод не накладывал никаких специальных ограничений на первый бит в байте. Это позволило использовать схему, похожую на ту, что использовалась вЛенточные накопители 6250 bpi . Каждые четыре бита данных преобразуются в пять бит на диске, используя те же 5-битные коды, что и IBM, чтобы гарантировать, что никогда не будет более двух нулевых битов подряд, но в другом порядке:
Как и в коде IBM, возможно максимум восемь единичных битов подряд, поэтому Commodore использовала последовательности из десяти и более единичных битов подряд в качестве последовательности синхронизации .
Эта более эффективная схема GCR в сочетании с подходом к записи с постоянной плотностью битов путем постепенного увеличения тактовой частоты ( зонная постоянная угловая скорость , ZCAV) и сохранением большего количества физических секторов на внешних дорожках, чем на внутренних ( зонная битовая запись , ZBR), позволила Commodore разместить170 КБ на стандартной односторонней одинарной дискете размером 5,25 дюйма, куда Apple поместила140 КБ (с кодировкой 6 и 2) или114 КБ (с кодировкой 5 и 3) и дискета с кодировкой FM, хранящаяся только88 КБ .
Аналогично, 5,25-дюймовые дисководы Victor 9000, также известные как Sirius 1 , разработанные Чаком Педдлом в 1981/1982 годах, использовали комбинацию GCR и зонной битовой записи путем постепенного уменьшения скорости вращения дисковода для внешних дорожек в девяти зонах при одновременном увеличении количества секторов на дорожку [33] для достижения форматированной емкости606 КБ (односторонний) /1188 КБ (двусторонний) на носителе с плотностью 96 точек на дюйм . [34] [35] [36] [37] Код GCR идентичен коду Commodore. [38]
Начиная примерно с 1985 года, Brother представила семейство специализированных текстовых процессоров пишущих машинок со встроенным 3,5-дюймовым 38-дорожечным [nb 2] дисководом. Ранние модели серий WP и LW использовали специфическую для Brother схему групповой кодированной записи с двенадцатью 256-байтовыми секторами для хранения до 120 КБ [nb 3] на односторонних и до 240 КБ [nb 3] на двухсторонних дискетах двойной плотности (DD). [17] [39] [40] [41] Как сообщается, прототипы уже были показаны на Международной выставке звукозаписи 1979 (IFA) в Берлине.
В 1986 году компания Sharp представила поворотный 2,5-дюймовый карманный дисковод (дисководы: CE-1600F , CE-140F; внутренне на базе шасси FDU-250; носитель: CE-1650F ) для своей серии карманных компьютеров с форматируемой емкостью62 464 байта на сторону (2× 64 кБ номинал, 16 дорожек, 8 секторов на дорожку, 512 байт на сектор, 48 точек на дюйм , 250 кбит/с, 270 об/мин) с записью GCR (4/5). [42] [43]
GCR также оценивался для возможного использования в схемах кодирования штрих-кодов (эффективность упаковки, допуски синхронизации, объем байтов хранения для информации о синхронизации и уровень выходного постоянного тока ). [44]
IBM добавила три новые модели к системе магнитной ленты 3420 , которые могут записывать данные с "самой плотной возможностью записи из когда-либо предлагаемых", по словам компании. Используя новый метод, называемый Group Coded Recording (GCR), приводы IBM могут обрабатывать ленты, содержащие плотность данных 6250 байт/дюйм. по сравнению с 1600 байт/дюйм. в более ранних моделях 3420. [...] Также был анонсирован модернизированный блок управления — 3803 Model 2 — который работает как с более ранними, так и с новейшими ленточными устройствами 3420. Модель 2 включает возможность исправления ошибок на одной или двух дорожках «одновременно во время движения ленты», заявила IBM. [...] Метод GCR сегментирует данные, записанные на ленту, на группы символов, к которым добавляется специальный символ кодирования. А более высокая плотность основана на сочетании измененной схемы кодирования, меньшего межзаписного промежутка (называемого межблочным промежутком) и измененных электронных и электромеханических компонентов, заявила IBM. Установленные ленточные системы 3803/3420 могут быть преобразованы в более высокие плотности в полевых условиях. [...]
[...] Я переехал в лабораторию в Покипси в 1958 году [...] Позже я был ведущим конструктором и архитектором блока управления лентой 2802, а несколько лет спустя — ведущим конструктором и архитектором 3803, который был очень большой модификацией на основе 2802. Трое из нас разделили корпоративную награду за 3803, и я, вместе с планировщиком Чарли фон Рейном, придумали название "
Групповая кодированная запись
(GCR)" в качестве названия метода записи. [...](Примечание. Анонимный комментарий одного из разработчиков о происхождении названия «Групповая кодированная запись».)
[...]
Micropolis
расширила емкость 5,25-дюймовых подсистем гибких дисков с помощью двусторонних моделей с форматированным файловым хранилищем почти до 2 миллионов байт [...] Серия
Megafloppy
также оснащена интеллектуальным контроллером, который упрощает взаимодействие четырех подсистем с общим хост-интерфейсом для общей емкости онлайн-хранилища более 15 Мбайт [...] Двусторонние версии линейки продуктов будут впервые реализованы в двух
OEM-
сериях – Model 1015 и Model 1055 [...] Модель 1015 представляет собой бескорпусный дисковод, разработанный для производителя, который интегрирует хранилище гибких дисков в свой собственный системный корпус. Доступен диапазон емкостей хранения от 143 000 до 630 000 байт на диск [...] Клиенты модели 1015 имеют возможность использовать интеллектуальный контроллер Micropolis и метод
групповой кодовой записи
(GCR) для дальнейшего расширения файлового пространства до 946 000 байт [...] Предлагая GCR и контроллер на базе микропроцессора в качестве стандартных функций, 5,25-дюймовая дискета модели 1055 имеет четыре формата
с программной разметкой секторов
для каждой из своих 77 дорожек, что обеспечивает максимальную емкость 1 892 000 байт файлового пространства в ее двусторонней версии [...] Дополнительный модуль, доступный для 1055, состоит из двух головок чтения/записи и двух приводов, использующих общий контроллер. Емкость подсистемы (отформатированная) с модулем составляет 3 784 000 байт [...] До четырех 1055, каждый с дополнительным модулем, можно
последовательно подключить
к общему хосту для получения максимальной емкости онлайн-хранилища более 15 Мбайт [...]
[...] Четыре новых продукта с 96 дорожками на дюйм были добавлены в
текущую линейку односторонних и двухсторонних дискет Micropolis с 100 tpi. Дисководы с 96 tpi предлагают 70 дорожек на сторону, в отличие от 77, предлагаемых
линейкой
MegaFloppy
. Четыре модели: 1) 1015-V: 436 КБ, неформатированный, запись FM/MFM [...] 2) 1016-V: 532 КБ, неформатированный,
групповая кодированная запись
(GCR) [...] 3) 1015-VI: двухголовочная версия привода MFM, 872 КБ [...] 4) 1016-VI: также двухголовочный привод, 1,064 МБ, кодирование GCR [...]
[...] В то же время Micropolis работал над 5,25-дюймовым дисководом, который мог вместить примерно столько же, сколько 8-дюймовый, используя некоторые трюки. Дисковод Micropolis имел 100 точек на дюйм, 77 дорожек и, используя GCR, мог вмещать 12 секторов по 512 байт на дорожку. Это 462 КиБ. Это было примерно в 1977–78 годах. [...] Реализация [...] привода и контроллера (наша была сделана парнем, которого мы наняли из Sperry ISS) была [...] сложной и дорогой [...] Диски Brother WP [...] представляют собой 38-дорожечные, односторонние, закодированные Brother GCR, которые вмещают [...] 120 КБ на 2D-дискетах. [...]
[...] Из альтернативных кодов, используемых для достижения двойной плотности, GCR (Group Coded Recording) выглядит довольно привлекательно. Micro Peripherals Inc реализовала двойную плотность с использованием GCR в полноразмерной гибкой дисковой системе и контроллере, которые в настоящее время продаются. [...] GCR — это не что иное, как старый резервный NRZ с сопутствующими преимуществами, но, поскольку обычный NRZ не имеет тактовой информации и потенциально высокого содержания постоянного тока во время длинных строк единиц или нулей, данные переформатируются для устранения длинных строк. Переформатирование преобразует каждую четырехбитную группу исходных данных в пять бит групповых кодированных данных; пять бит в закодированной версии всегда будут иметь смесь единиц и нулей, даже если реальные данные находятся в одном состоянии. Переформатирование в GCR может быть выполнено программно, в отличие от MFM и т. д., которые почти неизбежно должны быть закодированы и декодированы аппаратно. Таким образом, GCR имеет хорошие возможности как недорогая, высоконадежная схема для достижения двойной плотности. [...][1]
[...] Односторонний дисковод предлагает 80 дорожек при
96 TPI
[...] Двусторонний дисковод предлагает 160 дорожек при 96 TPI [...] Дисководы имеют 512-байтовые сектора; используют GCR, 10-битную технику записи. [...] Хотя
Victor 9000
использует 5 1/4-дюймовые мини-дискеты аналогичного типа, которые используются в других компьютерах, сами дискеты не читаются на других машинах, и Victor 9000 не может читать диск от машины другого производителя. Victor 9000 использует уникальный метод записи, позволяющий упаковывать данные так плотно, как 600 кбайт на односторонней мини-дискете одинарной плотности; Этот метод записи подразумевает регулирование скорости вращения дискеты, что объясняет тот факт, что шум привода иногда меняет частоту.
[...] Плотность дорожек составляет 96 дорожек на дюйм, а плотность записи поддерживается на уровне приблизительно 8000 бит на дюйм на всех дорожках. [...]
VICTOR 9000
использует метод кодирования, называемый групповой кодовой записью (GCR), для преобразования данных из внутреннего представления в приемлемую форму. GCR преобразует каждый (4-битный) полубайт в 5-битный код, который гарантирует шаблон записи, который никогда не имеет более двух нулей вместе. Затем данные записываются на диск, вызывая изменение потока для каждого бита «единица» и отсутствие изменения потока для каждого бита «ноль». [...]
[...] Дисковод 3,5" 240 КБ представляет собой одноголовочный Brother номер детали 13194989 и подключается с помощью 15-контактной ленты. [...] он инициализирует (форматирует) диск до емкости 236,5 КБ. [...]
[...] Было несколько 3,5-дюймовых дисков Brother, которые были совершенно нестандартными. [...] У одного были сектора по 1296 байт, а у другого — 12 x 256 байт GCR-секторов [...]
GCR — это аббревиатура от
Group Coded Recording
. Один байт, 8 бит, данные делятся на два 4-битных данных, которые также преобразуются в 5-битные данные. Таким образом, один байт (8 бит) записывается на носитель как 10-битные данные.
{{cite journal}}
: Цитата использует общее название ( помощь )