Looplengte beperkt

Run Length Limited (RLL) is een groep lijncodes , die op het gebied van telecommunicatie en opslagmedia zoals magnetische schijfgeheugens als schrijfmethode kunnen worden gebruikt. Deze codes worden gekenmerkt door het feit dat ze de lengte van uniforme gegevensreeksen beperken vanaf de toestanden logisch 0 of logisch 1 . De naam is afgeleid van deze eigenschap.

De eerste RLL-codes werden in 1972 door IBM gepatenteerd en vanaf 1979 commercieel gebruikt in het opslagapparaat voor directe toegang IBM 3370 voor de mainframecomputerserie 4300. In de jaren tachtig en negentig werden eenvoudige RLL-codes gebruikt op het gebied van gegevensregistratie van harde schijven . Met aanpassingen worden ze vandaag de dag nog steeds gebruikt op het gebied van magnetische gegevensregistratie en optische opslagmedia zoals compactdiscs (cd).

Classificatie

In de literatuur worden RLL-codes geclassificeerd door twee parameters d en κ en geschreven in de vorm ( d , κ ) -RLL. De parameter d specificeert het minimum en κ het maximum aantal logische 0 dat kan voorkomen tussen twee logische 1 in de gegevensreeks. Als beperkend geval van een gedegenereerde RLL-code kan κ ook oneindig zijn.

Als de RLL-code wordt gebruikt in combinatie met de differentiële NRZI-lijncode , zoals gebruikelijk is wanneer de RLL-codes worden gebruikt in magnetische opslagmedia, kan een voldoende aantal signaalflanken worden gegarandeerd voor klokherstel bij het lezen van de datareeks . Dit dynamische klokherstel van het datasignaal is essentieel voor synchronisatie met mechanische aandrijvingen en hun wow en flutter wanneer de rotatiesnelheid slechts bij benadering is gespecificeerd.

Alle RLL-codes kunnen worden beschreven door middel van een eindige automaat , die κ + 1 toestanden moet hebben. Een specifieke RLL-code kan dan duidelijk worden gespecificeerd als een toestandsdiagrammatrix , alleen de specificatie ( d , κ ) -RLL classificeert geen specifieke RLL-code.

Een andere essentiële parameter is de minimale lengte n van de vereiste codewoorden die voldoen aan een bepaalde ( d , κ ) voorwaarde. De lengtes van de specifiek geselecteerde codewoorden kunnen uniform zijn, maar dat hoeft niet. In het geval van een uniforme codewoordlengte wordt aan elk gebruikersdatabit of vast blok van gebruikersdatabits met lengte k op unieke wijze een codewoord met lengte n toegewezen , met als voorwaarde: n> k. Een voorbeeld is de 4B5B-code , die op unieke wijze 4 nuttige databits toewijst aan een 5-bits lang codewoord. De verhouding k / n is de codesnelheid R . Het aantal k informatiebits dat een codewoordreeks met lengte N ( n ) draagt, wordt in het algemeen gegeven als:

De capaciteit C ( d , κ ) van een RLL-code is

en kan worden bepaald met behulp van de wet van Shannon-Hartley met behulp van de grootste eigenwaarden λ van de toestandsovergangsmatrix. Tabellen van de capaciteit als functie van ( d , κ ) zijn te vinden in de relevante literatuur.

De efficiëntie van een bepaalde RLL-code is de verhouding tussen de codesnelheid R en de capaciteit C ( d , κ ). In praktische toepassingen wordt meestal geprobeerd om RLL-codes zo efficiënt mogelijk te gebruiken.

varianten

(0,1) -RLL - FM

De eenvoudigste (0.1) RLL-code met een vaste codewoordlengte en een snelheid van ½ wordt ook wel Frequentiemodulatie (FM) genoemd in combinatie met de differentiële lijncodering NRZI en wordt beschreven door de volgende coderingstabel:

Invoergegevens codewoord
0 10
1 11

(1,3) -RLL - MFM

De (1,3) -RLL-code, ook wel Modified Frequency Modulation (MFM) genoemd, wordt gebruikt voor magnetische opslagmedia zoals floppy disks . Deze code heeft ook een tarief van ½:

Invoergegevens codewoord
0 x0
1 01

De toestand van x hangt af van de vorige databit: x is 1 als de vorige databit 0 was , en 0 als de vorige databit 1 was .

(0.2) -RLL

Een (0,2) -RLL-code met een vaste bloklengte is onder meer de (0,2) -RLL-code die oorspronkelijk door IBM is ontwikkeld voor magnetische opslagapparaten, die behoort tot de groep van Group Coded Recording (GCR) codes. Het is een variant van een 4B5B-code , maar niet identiek eraan. Er zijn ook andere GCR-codes van verschillende andere bedrijven die geen (0,2) -RLL-codes zijn, d.w.z. H. niet alle GCR-codes zijn automatisch (0,2) -RLL.

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

Een andere zeer eenvoudige (0,2) -RLL-code, maar met variabele gegevenslengte en vaste codewoordlengte, is de volgende:

Invoergegevens codewoord
0 01
10 10
11 11

(2,7) -RLL

De volgende niet-triviale (2,7) -RLL-code met zowel variabele datalengte als variabele codewoordlengte werd in de jaren 80 en 90 gebruikt door fabrikanten van harde schijven met "RLL-opname" (het komt van Peter Franaszek ). Het voldoet zowel aan de prefixvoorwaarde als aan een vaste codesnelheid van ½. Hier zijn enkele varianten van, een mogelijke variant wordt gegeven in de volgende tabel:

Invoergegevens codewoord
10 0100
11 1000
011 001000
010 100100
000 000100
0010 00100100
0011 00001000

(1,7) -RLL

A (1,7) RLL code met een vaste snelheid van 2 / 3 is, waarbij door een Booleaanse vormingsvoorschrift en daardoor gemakkelijk in de digitale technologie kan worden gerealiseerd zonder een tafel, is de volgende code:

Invoergegevens codewoord
00 00 101.000
00 01 100.000
10 00 001000
10 01 010 000
00 101
01 100
10 001
11 010

De vormingsregel luidt: Als de invoergegevensreeks van de vorm (x, 0, 0, y) voldoende is, wordt het codewoord ( NIET x, x EN y, NIET y, 0, 0, 0) gevormd. Als de invoergegevens niet aan deze eis voldoen, wordt het codewoord (NIET x, x EN y, NIET y) gevormd uit de invoergegevens (x, y). Aangezien deze code niet voldoet aan de prefixvoorwaarde , is de volgorde van de regels in de codewoordopstelling belangrijk.

Ook het vermelden waard zijn RLL-codes die geen gelijke delen bevatten. De vrijheid van DC-componenten wordt vervuld als elke datawoordreeks gemiddeld hetzelfde aantal enen en nullen heeft. Met andere woorden, elke datawoordsequentie resulteert in een reeks codewoorden die, in het geval van antipodale representatie, d.w.z. H. logic-0 ontvangt de waarde −1, logic-1 de waarde +1, heeft een equivalente waarde van 0. Deze eigenschap is belangrijk wanneer de codesequentie moet worden verzonden via kanalen die geen DC-signalen kunnen verzenden, bijvoorbeeld radiokanalen of pulstransformatoren voor galvanische scheiding in elektrische circuits.

Het volgende is een gelijke componentvrije (1,7) -RLL-code:

Invoergegevens codewoord
00 x01
01 010
10 x00
11 00 010001
11 01 x00.000
11 10 x00 001
11 11 010 000

De toestand van x hangt af van het laatste bit van het codewoord dat onmiddellijk ervoor is opgetreden: x is 1 als het laatste codebit 0 was , en 0 als het laatste codebit 1 was .

literatuur

  • John G. Proakis, Masoud Salehi: Communication Systems Engineering . 2e editie. Prentice Hall, 2002, ISBN 0-13-095007-6 .

Individueel bewijs

  1. JM Harker, DW Brede, RE Pattison, GR Santana, LG Taft: A Quarter Century of Disk File Innovation . In: IBM Journal of Research and Development . plakband 25 , nummer 5, 1981, blz. 677-690 , doi : 10.1147 / ongeveer 255.0677 .
  2. ^ PA Franaszek: Run-Length-Limited Variable Length Coding with Error Propagation Limitation. 1972, Amerikaans octrooi nr. 3689899
  3. John G. Proakis, Masoud Salehi: Communication Systems Engineering . 2e editie. Prentice Hall, 2002, ISBN 0-13-095007-6 , blz. 512 .
  4. C. Denis Mee, Eric D. Daniel: Magnetic Storage Handbook . 2e editie. McGraw Hill, 1996, ISBN 0-07-041275-8 .