群符号化記録

計算機科学において、群符号化記録(英: group coded recording)または群符号記録()とは、磁気メディア上のデータを表現するための、別個ではあるが関連するいくつかの符号化方法を指す。1つ目は、1973年以来の磁気テープで使用されている、ランレングス制限 (RLL) 符号化方式と組み合わせられたであり、のグループに属する。もう1つは、1980年代後半まで一部のマイクロコンピュータで使用されていた、メインフレームのハードディスクとフロッピーディスクの異なるエンコード方式である。GCRはNRZI符号の修正形式であるが、必然的に遷移密度は高くなる。

 磁気テープ 
群符号化記録は、オープンリールテープの磁気テープ・データストレージで初めて使用された。この用語は、両方とも1973年に導入された モデル4/6/8 磁気テープ・ユニットおよび対応する モデル2 テープ・コントロールユニットの開発中に造られた。IBMは、誤り訂正符号自体を「群符号化記録」と呼んでいる。しかし、GCRはbpi (250ビット/mm) の記録形式テープの全体を指すようになり、後に誤り訂正符号のない同様のRLL符号を使用する形式を指すようになった。

磁気テープに確実に読み取りおよび書き込みを行うには、書き込まれる信号に関するいくつかの制約に従う必要がある。1つ目は、2つの隣接するが媒体上で媒体自体の磁気特性によって定義される一定の距離だけ離れていなければならないということ。2つ目は、読み取りクロックと書き込まれた信号の位相を保つために十分な頻度で反転が必要であるということである。つまり、信号はである必要があり、最も重要なことは、再生出力は磁束遷移の密度に比例するため再生出力を十分に高く保つことである。bpiテープが使用される前は、bpiテープは位相エンコード (PE) と呼ばれる技術を使用してこれらの制約を満たしていたが、その効率はわずか50%であった。bpi GCRテープの場合、(0, 2) RLL符号、またはより具体的には時々GCR (4B-5B) エンコーディングとも呼ばれる、 (0, 2) ブロック符号が使用される。この符号では、4ビットのデータごとに5ビットを書き込む必要がある。符号はデータが何であったとしても、符号内または符号間で、0ビット (磁束反転の欠如によって表される) が2つを超えて連続して発生できないように構造化されている。このRLL符号は9つのトラックのそれぞれに送信されるデータに独立して適用される。

32の5ビット・パターンのうち、8つは連続する2つの0ビットで始まり、他の6つは連続する2ビットで終わり、さらに1つ (10001) には3つの連続する0ビットが含まれる。残りからオール1パターン (11111) を除去すると、16個の適切な符号ワードが残る。

bpi GCR RLL 符号一覧:
4ビット値GCR符号16進2進2進16進0x000001.10010x190x100011.10110x1B0x200101.00100x120x300111.00110x130x401001.11010x1D0x501011.01010x150x601101.01100x160x701111.01110x174ビット値GCR符号16進2進2進16進0x810001.10100x1A0x910010.10010x090xA10100.10100x0A0xB10110.10110x0B0xC11001.11100x1E0xD11010.11010x0D0xE11100.11100x0E0xF11110.11110x0F
ニブルのうち11個 (xx00と0001を除く) は、最上位ビットの補数を先頭に追加することによって形成された符号を持つ、つまりabcdはabcdとしてエンコードされる。他の5つの値には、11で始まる符号が割り当てられる。ab00形式のニブルには符号11ba、つまりab11の符号のビット反転が含まれる。符号0001には残りの値11011が割り当てられる。

当時のbpiテープは非常に高密度であったため、RLL符号では信頼性の高いデータストレージを確保するには十分ではなかった。RLL符号の上に、 (ORC) と呼ばれる誤り訂正符号が適用される。この符号は、パリティトラックとCRCに似た多項式符号の組み合わせだが、誤り検出ではなく誤り訂正用に構造化されている。テープに7バイトが書き込まれるごとに (RLLエンコード前)、8番目のチェックバイトが計算されてテープに書き込まれる。読み取り時には、パリティが各バイトで計算され、パリティトラックの内容と排他的論理和が計算され、多項式チェック符号が計算され、受信したチェック符号と排他的論理和が計算され、2つの8ビット・シンドローム(※原文ママ)・ワードが生成される。これらが両方とも0の場合、データには誤りがない。それ以外の場合は、テープコントローラの誤り訂正ロジックがデータをホストに転送する前に訂正する。誤り訂正符号は、任意の1つのトラック、または誤りのあるトラックが他の手段で識別できる場合は2つのトラック内の任意の数の誤りを訂正できる。

bpiで記録する新しいIBMハーフインチ 18トラック テープドライブでは、 (0, 2) GCR が、8ビットを9ビットにマッピングする、より効率的な (0, 3) 変調符号に置き換えられた。

 ハードディスク 
1970年代半ば、(スペリー・UNIVACの)ISS部門は、群符号を使用してメインフレームビジネス向けの大型ハードドライブの開発に取り組んでいた。

 フロッピーディスク 
磁気テープドライブと同様、フロッピーディスクドライブには磁束反転 (遷移とも呼ばれ、1ビットで表される) の間隔に物理的な制限がある。

 マイクロポリス 
GCR互換のディスケットドライブと (100163-51-8や100163-52-6)など) を提供し、は 5¼インチ 100tpi 77トラック ディスケットでの群符号化記録によるデータエンコーディングを承認した。1977~78年以来ドライブはトラックあたり12個の512バイトセクタを保存するようになった。

 マイクロ・ペリフェラルズ 
 (MPI) は、1978年初頭から倍密度5¼インチ ディスクドライブ (片面B51ドライブや両面B52ドライブなど) とGCRを実装したコントローラソリューションを販売した。

 デュランゴ 
 (1978年9月発表) は、独自の高密度群符号化エンコーディングを利用して480KBを提供する片面5¼インチ 100tpi ディスケットドライブを使用した。このマシンは、元スペリーISSエンジニアによって設計されたフロッピーディスクコントローラを使用しており、77トラックのマイクロポリスドライブが搭載されていた。デュランゴ800シリーズなどの後のモデルでは、これはディスケットあたり960KB (フォーマット済み946KB) の両面オプションに拡張された。

 アップル 
Apple IIフロッピー ドライブについては、スティーブ・ウォズニアックが (ドライブ自体とともに) 2つの制約を課すフロッピーコントローラを発明した:

 任意の2つの1ビットの間に、最大1つの0ビットが存在する可能性がある。
 8ビットの各バイトは1ビットで始まる必要がある。

これらの制限への準拠を保証する最も簡単な方式は、または (デジタル) FM (周波数変調) に従って、各データビットの前に追加の「クロック」遷移を記録することである。4-and-4エンコーディングとして知られるこのAppleの実装では、トラックあたり256バイトのセクタを10個だけ単密度の5¼インチ フロッピーに記録することができた。各バイトに2バイトを使用する。, 
|+4-and-4 エンコーディング表

値 符号 16進  2進  2進  16進 0x00  0000.0000  1010.1010 1010.1010  0xAA 0xAA 0x01  0000.0001  1010.1010 1010.1011  0xAA 0xAB 0x02  0000.0010  1010.1011 1010.1010  0xAB 0xAA 0x03  0000.0011  1010.1011 1010.1011  0xAB 0xAB 0x04  0000.0100  1010.1010 1010.1110  0xAA 0xAE 0x05  0000.0101  1010.1010 1010.1111  0xAA 0xAF 0x06  0000.0110  1010.1011 1010.1110  0xAB 0xAE 0x07  0000.0111  1010.1011 1010.1111  0xAB 0xAF 0x08  0000.1000  1010.1110 1010.1010  0xAE 0xAA 0x09  0000.1001  1010.1110 1010.1011  0xAE 0xAB 0x0A  0000.1010  1010.1111 1010.1010  0xAF 0xAA 0x0B  0000.1011  1010.1111 1010.1011  0xAF 0xAB 0x0C  0000.1100  1010.1110 1010.1110  0xAE 0xAE 0x0D  0000.1101  1010.1110 1010.1111  0xAE 0xAF 0x0E  0000.1110  1010.1111 1010.1110  0xAF 0xAE 0x0F  0000.1111  1010.1111 1010.1111  0xAF 0xAF 0x10  0001.0000  1010.1010 1011.1010  0xAA 0xBA 0x11  0001.0001  1010.1010 1011.1011  0xAA 0xBB 0x12  0001.0010  1010.1011 1011.1010  0xAB 0xBA 0x13  0001.0011  1010.1011 1011.1011  0xAB 0xBB 0x14  0001.0100  1010.1010 1011.1110  0xAA 0xBE 0x15  0001.0101  1010.1010 1011.1111  0xAA 0xBF 0x16  0001.0110  1010.1011 1011.1110  0xAB 0xBE 0x17  0001.0111  1010.1011 1011.1111  0xAB 0xBF 0x18  0001.1000  1010.1110 1011.1010  0xAE 0xBA 0x19  0001.1001  1010.1110 1011.1011  0xAE 0xBB 0x1A  0001.1010  1010.1111 1011.1010  0xAF 0xBA 0x1B  0001.1011  1010.1111 1011.1011  0xAF 0xBB 0x1C  0001.1100  1010.1110 1011.1110  0xAE 0xBE 0x1D  0001.1101  1010.1110 1011.1111  0xAE 0xBF 0x1E  0001.1110  1010.1111 1011.1110  0xAF 0xBE 0x1F  0001.1111  1010.1111 1011.1111  0xAF 0xBF 0x20  0010.0000  1011.1010 1010.1010  0xBA 0xAA 0x21  0010.0001  1011.1010 1010.1011  0xBA 0xAB 0x22  0010.0010  1011.1011 1010.1010  0xBB 0xAA 0x23  0010.0011  1011.1011 1010.1011  0xBB 0xAB 0x24  0010.0100  1011.1010 1010.1110  0xBA 0xAE 0x25  0010.0101  1011.1010 1010.1111  0xBA 0xAF 0x26  0010.0110  1011.1011 1010.1110  0xBB 0xAE 0x27  0010.0111  1011.1011 1010.1111  0xBB 0xAF 0x28  0010.1000  1011.1110 1010.1010  0xBE 0xAA 0x29  0010.1001  1011.1110 1010.1011  0xBE 0xAB 0x2A  0010.1010  1011.1111 1010.1010  0xBF 0xAA 0x2B  0010.1011  1011.1111 1010.1011  0xBF 0xAB 0x2C  0010.1100  1011.1110 1010.1110  0xBE 0xAE 0x2D  0010.1101  1011.1110 1010.1111  0xBE 0xAF 0x2E  0010.1110  1011.1111 1010.1110  0xBF 0xAE 0x2F  0010.1111  1011.1111 1010.1111  0xBF 0xAF 0x30  0011.0000  1011.1010 1011.1010  0xBA 0xBA 0x31  0011.0001  1011.1010 1011.1011  0xBA 0xBB 0x32  0011.0010  1011.1011 1011.1010  0xBB 0xBA 0x33  0011.0011  1011.1011 1011.1011  0xBB 0xBB 0x34  0011.0100  1011.1010 1011.1110  0xBA 0xBE 0x35  0011.0101  1011.1010 1011.1111  0xBA 0xBF 0x36  0011.0110  1011.1011 1011.1110  0xBB 0xBE 0x37  0011.0111  1011.1011 1011.1111  0xBB 0xBF 0x38  0011.1000  1011.1110 1011.1010  0xBE 0xBA 0x39  0011.1001  1011.1110 1011.1011  0xBE 0xBB 0x3A  0011.1010  1011.1111 1011.1010  0xBF 0xBA 0x3B  0011.1011  1011.1111 1011.1011  0xBF 0xBB 0x3C  0011.1100  1011.1110 1011.1110  0xBE 0xBE 0x3D  0011.1101  1011.1110 1011.1111  0xBE 0xBF 0x3E  0011.1110  1011.1111 1011.1110  0xBF 0xBE 0x3F  0011.1111  1011.1111 1011.1111  0xBF 0xBF

値 符号 16進  2進  2進  16進 0x40  0100.0000  1010.1010 1110.1010  0xAA 0xEA 0x41  0100.0001  1010.1010 1110.1011  0xAA 0xEB 0x42  0100.0010  1010.1011 1110.1010  0xAB 0xEA 0x43  0100.0011  1010.1011 1110.1011  0xAB 0xEB 0x44  0100.0100  1010.1010 1110.1110  0xAA 0xEE 0x45  0100.0101  1010.1010 1110.1111  0xAA 0xEF 0x46  0100.0110  1010.1011 1110.1110  0xAB 0xEE 0x47  0100.0111  1010.1011 1110.1111  0xAB 0xEF 0x48  0100.1000  1010.1110 1110.1010  0xAE 0xEA 0x49  0100.1001  1010.1110 1110.1011  0xAE 0xEB 0x4A  0100.1010  1010.1111 1110.1010  0xAF 0xEA 0x4B  0100.1011  1010.1111 1110.1011  0xAF 0xEB 0x4C  0100.1100  1010.1110 1110.1110  0xAE 0xEE 0x4D  0100.1101  1010.1110 1110.1111  0xAE 0xEF 0x4E  0100.1110  1010.1111 1110.1110  0xAF 0xEE 0x4F  0100.1111  1010.1111 1110.1111  0xAF 0xEF 0x50  0101.0000  1010.1010 1111.1010  0xAA 0xFA 0x51  0101.0001  1010.1010 1111.1011  0xAA 0xFB 0x52  0101.0010  1010.1011 1111.1010  0xAB 0xFA 0x53  0101.0011  1010.1011 1111.1011  0xAB 0xFB 0x54  0101.0100  1010.1010 1111.1110  0xAA 0xFE 0x55  0101.0101  1010.1010 1111.1111  0xAA 0xFF 0x56  0101.0110  1010.1011 1111.1110  0xAB 0xFE 0x57  0101.0111  1010.1011 1111.1111  0xAB 0xFF 0x58  0101.1000  1010.1110 1111.1010  0xAE 0xFA 0x59  0101.1001  1010.1110 1111.1011  0xAE 0xFB 0x5A  0101.1010  1010.1111 1111.1010  0xAF 0xFA 0x5B  0101.1011  1010.1111 1111.1011  0xAF 0xFB 0x5C  0101.1100  1010.1110 1111.1110  0xAE 0xFE 0x5D  0101.1101  1010.1110 1111.1111  0xAE 0xFF 0x5E  0101.1110  1010.1111 1111.1110  0xAF 0xFE 0x5F  0101.1111  1010.1111 1111.1111  0xAF 0xFF 0x60  0110.0000  1011.1010 1110.1010  0xBA 0xEA 0x61  0110.0001  1011.1010 1110.1011  0xBA 0xEB 0x62  0110.0010  1011.1011 1110.1010  0xBB 0xEA 0x63  0110.0011  1011.1011 1110.1011  0xBB 0xEB 0x64  0110.0100  1011.1010 1110.1110  0xBA 0xEE 0x65  0110.0101  1011.1010 1110.1111  0xBA 0xEF 0x66  0110.0110  1011.1011 1110.1110  0xBB 0xEE 0x67  0110.0111  1011.1011 1110.1111  0xBB 0xEF 0x68  0110.1000  1011.1110 1110.1010  0xBE 0xEA 0x69  0110.1001  1011.1110 1110.1011  0xBE 0xEB 0x6A  0110.1010  1011.1111 1110.1010  0xBF 0xEA 0x6B  0110.1011  1011.1111 1110.1011  0xBF 0xEB 0x6C  0110.1100  1011.1110 1110.1110  0xBE 0xEE 0x6D  0110.1101  1011.1110 1110.1111  0xBE 0xEF 0x6E  0110.1110  1011.1111 1110.1110  0xBF 0xEE 0x6F  0110.1111  1011.1111 1110.1111  0xBF 0xEF 0x70  0111.0000  1011.1010 1111.1010  0xBA 0xFA 0x71  0111.0001  1011.1010 1111.1011  0xBA 0xFB 0x72  0111.0010  1011.1011 1111.1010  0xBB 0xFA 0x73  0111.0011  1011.1011 1111.1011  0xBB 0xFB 0x74  0111.0100  1011.1010 1111.1110  0xBA 0xFE 0x75  0111.0101  1011.1010 1111.1111  0xBA 0xFF 0x76  0111.0110  1011.1011 1111.1110  0xBB 0xFE 0x77  0111.0111  1011.1011 1111.1111  0xBB 0xFF 0x78  0111.1000  1011.1110 1111.1010  0xBE 0xFA 0x79  0111.1001  1011.1110 1111.1011  0xBE 0xFB 0x7A  0111.1010  1011.1111 1111.1010  0xBF 0xFA 0x7B  0111.1011  1011.1111 1111.1011  0xBF 0xFB 0x7C  0111.1100  1011.1110 1111.1110  0xBE 0xFE 0x7D  0111.1101  1011.1110 1111.1111  0xBE 0xFF 0x7E  0111.1110  1011.1111 1111.1110  0xBF 0xFE 0x7F  0111.1111  1011.1111 1111.1111  0xBF 0xFF

値 符号 16進  2進  2進  16進 0x80  1000.0000  1110.1010 1010.1010  0xEA 0xAA 0x81  1000.0001  1110.1010 1010.1011  0xEA 0xAB 0x82  1000.0010  1110.1011 1010.1010  0xEB 0xAA 0x83  1000.0011  1110.1011 1010.1011  0xEB 0xAB 0x84  1000.0100  1110.1010 1010.1110  0xEA 0xAE 0x85  1000.0101  1110.1010 1010.1111  0xEA 0xAF 0x86  1000.0110  1110.1011 1010.1110  0xEB 0xAE 0x87  1000.0111  1110.1011 1010.1111  0xEB 0xAF 0x88  1000.1000  1110.1110 1010.1010  0xEE 0xAA 0x89  1000.1001  1110.1110 1010.1011  0xEE 0xAB 0x8A  1000.1010  1110.1111 1010.1010  0xEF 0xAA 0x8B  1000.1011  1110.1111 1010.1011  0xEF 0xAB 0x8C  1000.1100  1110.1110 1010.1110  0xEE 0xAE 0x8D  1000.1101  1110.1110 1010.1111  0xEE 0xAF 0x8E  1000.1110  1110.1111 1010.1110  0xEF 0xAE 0x8F  1000.1111  1110.1111 1010.1111  0xEF 0xAF 0x90  1001.0000  1110.1010 1011.1010  0xEA 0xBA 0x91  1001.0001  1110.1010 1011.1011  0xEA 0xBB 0x92  1001.0010  1110.1011 1011.1010  0xEB 0xBA 0x93  1001.0011  1110.1011 1011.1011  0xEB 0xBB 0x94  1001.0100  1110.1010 1011.1110  0xEA 0xBE 0x95  1001.0101  1110.1010 1011.1111  0xEA 0xBF 0x96  1001.0110  1110.1011 1011.1110  0xEB 0xBE 0x97  1001.0111  1110.1011 1011.1111  0xEB 0xBF 0x98  1001.1000  1110.1110 1011.1010  0xEE 0xBA 0x99  1001.1001  1110.1110 1011.1011  0xEE 0xBB 0x9A  1001.1010  1110.1111 1011.1010  0xEF 0xBA 0x9B  1001.1011  1110.1111 1011.1011  0xEF 0xBB 0x9C  1001.1100  1110.1110 1011.1110  0xEE 0xBE 0x9D  1001.1101  1110.1110 1011.1111  0xEE 0xBF 0x9E  1001.1110  1110.1111 1011.1110  0xEF 0xBE 0x9F  1001.1111  1110.1111 1011.1111  0xEF 0xBF 0xA0  1010.0000  1111.1010 1010.1010  0xFA 0xAA 0xA1  1010.0001  1111.1010 1010.1011  0xFA 0xAB 0xA2  1010.0010  1111.1011 1010.1010  0xFB 0xAA 0xA3  1010.0011  1111.1011 1010.1011  0xFB 0xAB 0xA4  1010.0100  1111.1010 1010.1110  0xFA 0xAE 0xA5  1010.0101  1111.1010 1010.1111  0xFA 0xAF 0xA6  1010.0110  1111.1011 1010.1110  0xFB 0xAE 0xA7  1010.0111  1111.1011 1010.1111  0xFB 0xAF 0xA8  1010.1000  1111.1110 1010.1010  0xFE 0xAA 0xA9  1010.1001  1111.1110 1010.1011  0xFE 0xAB 0xAA  1010.1010  1111.1111 1010.1010  0xFF 0xAA 0xAB  1010.1011  1111.1111 1010.1011  0xFF 0xAB 0xAC  1010.1100  1111.1110 1010.1110  0xFE 0xAE 0xAD  1010.1101  1111.1110 1010.1111  0xFE 0xAF 0xAE  1010.1110  1111.1111 1010.1110  0xFF 0xAE 0xAF  1010.1111  1111.1111 1010.1111  0xFF 0xAF 0xB0  1011.0000  1111.1010 1011.1010  0xFA 0xBA 0xB1  1011.0001  1111.1010 1011.1011  0xFA 0xBB 0xB2  1011.0010  1111.1011 1011.1010  0xFB 0xBA 0xB3  1011.0011  1111.1011 1011.1011  0xFB 0xBB 0xB4  1011.0100  1111.1010 1011.1110  0xFA 0xBE 0xB5  1011.0101  1111.1010 1011.1111  0xFA 0xBF 0xB6  1011.0110  1111.1011 1011.1110  0xFB 0xBE 0xB7  1011.0111  1111.1011 1011.1111  0xFB 0xBF 0xB8  1011.1000  1111.1110 1011.1010  0xFE 0xBA 0xB9  1011.1001  1111.1110 1011.1011  0xFE 0xBB 0xBA  1011.1010  1111.1111 1011.1010  0xFF 0xBA 0xBB  1011.1011  1111.1111 1011.1011  0xFF 0xBB 0xBC  1011.1100  1111.1110 1011.1110  0xFE 0xBE 0xBD  1011.1101  1111.1110 1011.1111  0xFE 0xBF 0xBE  1011.1110  1111.1111 1011.1110  0xFF 0xBE 0xBF  1011.1111  1111.1111 1011.1111  0xFF 0xBF

値 符号 16進  2進  2進  16進 0xC0  1100.0000  1110.1010 1110.1010  0xEA 0xEA 0xC1  1100.0001  1110.1010 1110.1011  0xEA 0xEB 0xC2  1100.0010  1110.1011 1110.1010  0xEB 0xEA 0xC3  1100.0011  1110.1011 1110.1011  0xEB 0xEB 0xC4  1100.0100  1110.1010 1110.1110  0xEA 0xEE 0xC5  1100.0101  1110.1010 1110.1111  0xEA 0xEF 0xC6  1100.0110  1110.1011 1110.1110  0xEB 0xEE 0xC7  1100.0111  1110.1011 1110.1111  0xEB 0xEF 0xC8  1100.1000  1110.1110 1110.1010  0xEE 0xEA 0xC9  1100.1001  1110.1110 1110.1011  0xEE 0xEB 0xCA  1100.1010  1110.1111 1110.1010  0xEF 0xEA 0xCB  1100.1011  1110.1111 1110.1011  0xEF 0xEB 0xCC  1100.1100  1110.1110 1110.1110  0xEE 0xEE 0xCD  1100.1101  1110.1110 1110.1111  0xEE 0xEF 0xCE  1100.1110  1110.1111 1110.1110  0xEF 0xEE 0xCF  1100.1111  1110.1111 1110.1111  0xEF 0xEF 0xD0  1101.0000  1110.1010 1111.1010  0xEA 0xFA 0xD1  1101.0001  1110.1010 1111.1011  0xEA 0xFB 0xD2  1101.0010  1110.1011 1111.1010  0xEB 0xFA 0xD3  1101.0011  1110.1011 1111.1011  0xEB 0xFB 0xD4  1101.0100  1110.1010 1111.1110  0xEA 0xFE 0xD5  1101.0101  1110.1010 1111.1111  0xEA 0xFF 0xD6  1101.0110  1110.1011 1111.1110  0xEB 0xFE 0xD7  1101.0111  1110.1011 1111.1111  0xEB 0xFF 0xD8  1101.1000  1110.1110 1111.1010  0xEE 0xFA 0xD9  1101.1001  1110.1110 1111.1011  0xEE 0xFB 0xDA  1101.1010  1110.1111 1111.1010  0xEF 0xFA 0xDB  1101.1011  1110.1111 1111.1011  0xEF 0xFB 0xDC  1101.1100  1110.1110 1111.1110  0xEE 0xFE 0xDD  1101.1101  1110.1110 1111.1111  0xEE 0xFF 0xDE  1101.1110  1110.1111 1111.1110  0xEF 0xFE 0xDF  1101.1111  1110.1111 1111.1111  0xEF 0xFF 0xE0  1110.0000  1111.1010 1110.1010  0xFA 0xEA 0xE1  1110.0001  1111.1010 1110.1011  0xFA 0xEB 0xE2  1110.0010  1111.1011 1110.1010  0xFB 0xEA 0xE3  1110.0011  1111.1011 1110.1011  0xFB 0xEB 0xE4  1110.0100  1111.1010 1110.1110  0xFA 0xEE 0xE5  1110.0101  1111.1010 1110.1111  0xFA 0xEF 0xE6  1110.0110  1111.1011 1110.1110  0xFB 0xEE 0xE7  1110.0111  1111.1011 1110.1111  0xFB 0xEF 0xE8  1110.1000  1111.1110 1110.1010  0xFE 0xEA 0xE9  1110.1001  1111.1110 1110.1011  0xFE 0xEB 0xEA  1110.1010  1111.1111 1110.1010  0xFF 0xEA 0xEB  1110.1011  1111.1111 1110.1011  0xFF 0xEB 0xEC  1110.1100  1111.1110 1110.1110  0xFE 0xEE 0xED  1110.1101  1111.1110 1110.1111  0xFE 0xEF 0xEE  1110.1110  1111.1111 1110.1110  0xFF 0xEE 0xEF  1110.1111  1111.1111 1110.1111  0xFF 0xEF 0xF0  1111.0000  1111.1010 1111.1010  0xFA 0xFA 0xF1  1111.0001  1111.1010 1111.1011  0xFA 0xFB 0xF2  1111.0010  1111.1011 1111.1010  0xFB 0xFA 0xF3  1111.0011  1111.1011 1111.1011  0xFB 0xFB 0xF4  1111.0100  1111.1010 1111.1110  0xFA 0xFE 0xF5  1111.0101  1111.1010 1111.1111  0xFA 0xFF 0xF6  1111.0110  1111.1011 1111.1110  0xFB 0xFE 0xF7  1111.0111  1111.1011 1111.1111  0xFB 0xFF 0xF8  1111.1000  1111.1110 1111.1010  0xFE 0xFA 0xF9  1111.1001  1111.1110 1111.1011  0xFE 0xFB 0xFA  1111.1010  1111.1111 1111.1010  0xFF 0xFA 0xFB  1111.1011  1111.1111 1111.1011  0xFF 0xFB 0xFC  1111.1100  1111.1110 1111.1110  0xFE 0xFE 0xFD  1111.1101  1111.1110 1111.1111  0xFE 0xFF 0xFE  1111.1110  1111.1111 1111.1110  0xFF 0xFE 0xFF  1111.1111  1111.1111 1111.1111  0xFF 0xFF

1978年春のディスクドライブの出荷の1か月近く前に、ウォズニアックは、より複雑なエンコード方式により、ディスク上の8ビットの各バイトに4ビットではなく5ビットの有用なデータを保持できることに気付いた。これは先頭ビットが設定されたバイトが34バイトあり、連続する2つの0ビットがないためである。このエンコーディングスキームは5-and-3エンコーディングとして知られるようになり、トラックあたり13セクタが許可された。これは 3.1、3.2、および3.2.1、およびの初期バージョン:で使用された。, 
|+5-and-3 エンコーディング表

5ビット値 GCR符号 16進  2進  2進  16進 0x00  0.0000  1010.1011  0xAB 0x01  0.0001  1010.1101  0xAD 0x02  0.0010  1010.1110  0xAE 0x03  0.0011  1010.1111  0xAF 0x04  0.0100  1011.0101  0xB5 0x05  0.0101  1011.0110  0xB6 0x06  0.0110  1011.0111  0xB7 0x07  0.0111  1011.1010  0xBA 0x08  0.1000  1011.1011  0xBB 0x09  0.1001  1011.1101  0xBD 0x0A  0.1010  1011.1110  0xBE 0x0B  0.1011  1011.1111  0xBF 0x0C  0.1100  1101.0110  0xD6 0x0D  0.1101  1101.0111  0xD7 0x0E  0.1110  1101.1010  0xDA 0x0F  0.1111  1101.1011  0xDB

5ビット値 GCR符号 16進  2進  2進  16進 0x10  1.0000  1101.1101  0xDD 0x11  1.0001  1101.1110  0xDE 0x12  1.0010  1101.1111  0xDF 0x13  1.0011  1110.1010  0xEA 0x14  1.0100  1110.1011  0xEB 0x15  1.0101  1110.1101  0xED 0x16  1.0110  1110.1110  0xEE 0x17  1.0111  1110.1111  0xEF 0x18  1.1000  1111.0101  0xF5 0x19  1.1001  1111.0110  0xF6 0x1A  1.1010  1111.0111  0xF7 0x1B  1.1011  1111.1010  0xFA 0x1C  1.1100  1111.1011  0xFB 0x1D  1.1101  1111.1101  0xFD 0x1E  1.1110  1111.1110  0xFE 0x1F  1.1111  1111.1111  0xFF
予約済みGCRコード: 0xAAおよび0xD5。

ウォズニアックはこのシステムを「アップルでの私の最も素晴らしい経験であり、私が行った最高の仕事」と呼んだ。

その後フロッピードライブ コントローラの設計が変更され、ディスク上の1バイトに最大1組の0ビットを連続して含めることができるようになった。これにより各8ビットバイトに6ビットの有用なデータを保持できるようになり、トラックあたり16セクタが可能になった。このスキームは6-and-2エンコーディングとして知られており、、Apple DOS 3.3、およびで使用され、その後Apple LisaのドライブとMacintoshおよびApple IIの400Kおよび800K 3½インチディスクでも使用された。Appleは当初このスキームを「GCR」と呼んでいなかったが、後にMFMエンコーディングスキームを使用するIBM PCフロッピーと区別するためにこの用語が適用された。, 
|+6-and-2 エンコーディング表

6ビット値 GCR符号 16進  2進  2進  16進 0x00  00.0000  1001.0110  0x96 0x01  00.0001  1001.0111  0x97 0x02  00.0010  1001.1010  0x9A 0x03  00.0011  1001.1011  0x9B 0x04  00.0100  1001.1101  0x9D 0x05  00.0101  1001.1110  0x9E 0x06  00.0110  1001.1111  0x9F 0x07  00.0111  1010.0110  0xA6 0x08  00.1000  1010.0111  0xA7 0x09  00.1001  1010.1011  0xAB 0x0A  00.1010  1010.1100  0xAC 0x0B  00.1011  1010.1101  0xAD 0x0C  00.1100  1010.1110  0xAE 0x0D  00.1101  1010.1111  0xAF 0x0E  00.1110  1011.0010  0xB2 0x0F  00.1111  1011.0011  0xB3

6ビット値 GCR符号 16進  2進  2進  16進 0x10  01.0000  1011.0100  0xB4 0x11  01.0001  1011.0101  0xB5 0x12  01.0010  1011.0110  0xB6 0x13  01.0011  1011.0111  0xB7 0x14  01.0100  1011.1001  0xB9 0x15  01.0101  1011.1010  0xBA 0x16  01.0110  1011.1011  0xBB 0x17  01.0111  1011.1100  0xBC 0x18  01.1000  1011.1101  0xBD 0x19  01.1001  1011.1110  0xBE 0x1A  01.1010  1011.1111  0xBF 0x1B  01.1011  1100.1011  0xCB 0x1C  01.1100  1100.1101  0xCD 0x1D  01.1101  1100.1110  0xCE 0x1E  01.1110  1100.1111  0xCF 0x1F  01.1111  1101.0011  0xD3

6ビット値 GCR符号 16進  2進  2進  16進 0x20  10.0000  1101.0110  0xD6 0x21  10.0001  1101.0111  0xD7 0x22  10.0010  1101.1001  0xD9 0x23  10.0011  1101.1010  0xDA 0x24  10.0100  1101.1011  0xDB 0x25  10.0101  1101.1100  0xDC 0x26  10.0110  1101.1101  0xDD 0x27  10.0111  1101.1110  0xDE 0x28  10.1000  1101.1111  0xDF 0x29  10.1001  1110.0101  0xE5 0x2A  10.1010  1110.0110  0xE6 0x2B  10.1011  1110.0111  0xE7 0x2C  10.1100  1110.1001  0xE9 0x2D  10.1101  1110.1010  0xEA 0x2E  10.1110  1110.1011  0xEB 0x2F  10.1111  1110.1100  0xEC

6ビット値 GCR符号 16進  2進  2進  16進 0x30  11.0000  1110.1101  0xED 0x31  11.0001  1110.1110  0xEE 0x32  11.0010  1110.1111  0xEF 0x33  11.0011  1111.0010  0xF2 0x34  11.0100  1111.0011  0xF3 0x35  11.0101  1111.0100  0xF4 0x36  11.0110  1111.0101  0xF5 0x37  11.0111  1111.0110  0xF6 0x38  11.1000  1111.0111  0xF7 0x39  11.1001  1111.1001  0xF9 0x3A  11.1010  1111.1010  0xFA 0x3B  11.1011  1111.1011  0xFB 0x3C  11.1100  1111.1100  0xFC 0x3D  11.1101  1111.1101  0xFD 0x3E  11.1110  1111.1110  0xFE 0x3F  11.1111  1111.1111  0xFF
予約済み GCR コード: 0xAA および 0xD5。

 コモドール 
独立して、Commodore Business Machines (CBM) は、フロッピーディスクドライブ (1979年春発売) 用の群符号化記録スキームを作成した。2040ドライブに関連する制約は、連続して発生する0ビットが2つまでであるということであった; ドライブはバイトの最初のビットに特別な制約を課さなかった。これによりbpiテープドライブで使用されているものと同様のスキームを使用できるようになった。次の表に従ってデータの4ビットごとがディスク上で5ビットに変換される:
4ビット値GCR符号16進2進2進16進0x000000.10100x0A0x100010.10110x0B0x200101.00100x120x300111.00110x130x401000.11100x0E0x501010.11110x0F0x601101.01100x160x701111.01110x174ビット値GCR符号16進2進2進16進0x810000.10010x090x910011.10010x190xA10101.10100x1A0xB10111.10110x1B0xC11000.11010x0D0xD11011.11010x1D0xE11101.11100x1E0xF11111.01010x15
各コードは最大1つの0ビットで開始および終了するため、コードが連結された場合でも、エンコードされたデータに連続して2つを超える0ビットが含まれることはない。このエンコードでは、最大8つの1ビットを連続して使用できる。したがって、コモドールは10個以上の1ビットが連続するシーケンスを同期マークとして使用した。

このより効率的なGCRスキームでは、クロックレートを段階的に増加させることによる一定のビット密度記録でのアプローチ（、ZCAV）と、内側のトラックよりも外側のトラックに多くの物理セクタを保存する（、ZBR）を組み合わせることにより、コモドールは標準の片面単密度5.25インチ フロッピーに170KBを収めることができた(Appleは140KB（6-and-2エンコードの場合）または114KB（5-and-3エンコードの場合）もしくは(標準)FMエンコードフロッピーの容量は88KBのみであった)。

 シリウス/ヴィクター 
同様に、1981~82年にチャック・ペドルによって設計されたVictor 9000 (別名 Sirius 1) の 5.25インチ フロッピードライブは、10ビットGCRと、9つのゾーンに分割された外側のトラックのドライブの回転速度を徐々に下げることによる一定のビット密度記録 (w:ゾーン等線速度 (ZCLV) の一種)維持と同時にトラックあたりのセクタ数を増加させて (ゾーンビットレコーディング (ZBR) の一種)の組み合わせを使い、96tpiメディアで606kB (片面) / kB (両面) のフォーマット済み容量を達成した。

 ブラザー 
1985年頃から、ブラザーは3.5インチ38トラックディスケットドライブを内蔵した専用ワードプロセッサ タイプライターシリーズを発売した。WPおよびの初期モデルは、12個の256バイト セクタを備えたブラザー独自の群符号化記録スキームを使用して、片面(倍密度)で最大120KB、両面倍密度 (DD) ディスケットで最大240KBを保存した。伝えられるところによると、プロトタイプはすでにベルリン国際コンシューマ・エレクトロニクス展1979 (IFA) で披露されていた。

 シャープ 
1986年シャープはGCR (4/5) 記録を備えた片面あたりバイト(公称64kB×2、16トラック、8セクタ/トラック、512バイト/セクタ、48tpi、250kbit/s、270rpm)のフォーマット済み容量を持つポケットコンピュータシリーズ用に回転可能な2.5インチポケットディスクドライブソリューション(ドライブ: 、CE-140F;  内部的にはFDU-250シャーシに基づく。メディア: )を発表した。

 その他の用途 
GCRは、バーコード・エンコード方式 (パッキング効率、タイミング許容値、タイミング情報のストレージ・バイト量、およびDC出力レベル) での使用の可能性についても評価された。

 関連項目 

 修正周波数変調 (MFM)
 ランレングス制限 (RLL)
 8対14変調 (EFM)
  (ECC)
 8b/10bエンコーディング
 群符号
 4B5B
 Integrated Woz Machine (IWM、AppleコンピュータのGCRディスク・コントローラ)
  (MOS Technology 8364、コモドールAmigaコンピュータのGCR対応ディスク・コントローラ)
  (一部のGCRフォーマットを読み取ることができる特殊なディスケット・コントローラ)
  (一部のGCRフォーマットを読み取ることができる特別なディスケット・コントローラ)

 ノート 

 リファレンス 

 参考文献 
 ANSI INCITS 40-1993 (R2003) Unrecorded Magnetic Tape for Information Interchange (9-track, 800 bpi, NRZI;  bpi, PE; and  bpi, GCR)
 ANSI INCITS 54-1986 (R2002) Recorded Magnetic Tape for Information Interchange ( bpi, GCR)



  (NB. Mentions the 5/4 RLL code used on  bpi tape drives.)
  (NB. Additional detail on the GCR tape format.)
  (NB. Application No: US . See also: CA993998A, CA993998A1, DE2142428A1)
  (NB. Application Number: US 5/904420)
  (NB. Application Number: US 06/559210. See also: CA1208794A, CA1208794A1, DE3443272A1, DE3443272C2)













 外部リンク 
 , , 
 かつて広く使われていた「フロッピーディスク」についてプログラマーが解説GIGAZINE, 2024年3月14日

Category:コンピュータストレージメディア
Category:伝送路符号
Category:誤り検出訂正