Back Next
Detecting changes in signal/data stream is easier than detecting levels.

So, any protocol that increases the number of changes in a data stream 
improves detection.

RLL - Run Length Limited 

  Encodes word of data on larger symbol of 'encoding' bits 
    to guarantee changes in signal level with in a limited span.

  Data is encoded so that length of non-changing bit sequence is limited.

  Often also limits the number of transitions in a given time period,
    reduces power use, high frequency attenuation, other issues with
    fast changing signals.

  # Whether a change signals a one or a zero 1 is left to the protocol.
 
  RLL encoding almost always implemented using NRZI encoding.

  Cost - Increases the number of bits needed.

   Generic example 
     
   Data   RLL 
          000 
          001 
   00     010   010
   01     011   011
          100 
   10     101   101
   11     110   110
          111 
   
   When combined as a stream of bits,
     At most 2 zeros or 4 ones next to each other.

   Implementations of real RLL encoding is more complex.

   Once data is encoded as RLL, any of the transmission/storage methods 
     may be used.

  • FM - Digital Frequency encoding or Delay encoding Delay encoding - (0,1) RLL 0 10 1 11 2x data stream. If minimum detectable width of a pulse is 1 ns. 1 Gbits/sec. then a data bit occupies 2 ns. 500 Mbits/sec. Same data as NRZ Always change at beginning of dat bit unit. Change in middle if data = 1 (this example) No change in middle if data = 0 Delay encoding is also known differential Manchester encoding. Used on floppies and early hard drives.
  • Modified Frequency Modulation (MFM) - FM using (1,3) RLL encoding. Data is encoded so that there is a zero after any one and no more than 3 zeros in a row. Sometimes called (1,3)RLL Notice there is always a change at the edge of the bit. Like NRZI with a clock signal embedded. Produced (~50%) higher bit density that FM. Even though there are more 'bits', MFM can represent 50% more bits in the same time period. Used on early hard drives (until mid 1980's)
  • 4B5B ecoding Encodes 4 bits of data on a 5 bit encoding value. Each of 16 values on 1 of 32 possible values. Because of the available number of encoding values, a variety of alternative encodings have been implemented. Usage Fiber Distributed Data Interface (FDDI) Early to mid 1990s Modern Gigibit out performs. Fiber distributed local area network usually configured in a ring, Often dual ring to protect against interruption. Fast Ethernet 100BaseT (copper) Group coded recording Used in magnetic tape.
  • RLL(2,7) - encodes n bits of data on 2n bits. Most common on current storage. But done in data bit groupings of 2, 3, or 4. Guarantees that at least 2 consecutive 0s between bits Guarantees that at most 7 consecutive 0s RLL vs. MFM. The number of actual transitions in the RLL signal allow for 1/3 smaller foot print when storing bit sequences. Early hard drives 20 MB (MFM), 30 MB (RLL) - same physical drive. Standard coding for hard drives for a long time. Produced higher bit density that FM. Used on floppies and earliest hard drives.
  • 8b/10b DC balancing. Encodes 8-bit word on a 10-bit symbol. Gigabit Fiber Ethernet. SATA (serial ATA) SAS (serial SCSI) Firewire (Apple - similar to USB) DisplayPort
  • Eight to Fourteen Used on CDs, provides pit/land sequences resistant to physical disc defects. DVDs use EFMPlus (8 to 16) variation.
  • 64b/66b Also 128b/1xxb DC balancing Also offers efficiencies coupled with Hamming code. 64/66b 10 GiB Ethernet (most varieties) 100 GiB Ehternet Fibre Channel - alternative to Ethernet. Most often used to link nodes in a NAS cloud facility. Thunderbolt High performance computer/device interface. 128/1xxb PCIe 3.0 USB 3.1 SAS 4