Skip to main content

What is encoding and scrambling ?

Encoding and scrambling are techniques used in Fibre Channel to improve signal integrity and ensure reliable data transmission over the physical media. Here's a brief explanation of encoding and scrambling in Fibre Channel:

Encoding: encoding refers to the process of converting binary data into a specific code that can be effectively transmitted over the physical media. Fibre Channel uses a technique called 8b/10b encoding, which is a widely adopted encoding scheme in various high-speed data communication protocols. Here's an explanation of 8b/10b encoding in Fibre Channel:

8b/10b Encoding:

The 8b/10b encoding scheme maps 8-bit data patterns to 10-bit transmission symbols. Each 8-bit input data is encoded into a unique 10-bit code, ensuring a balanced distribution of 0s and 1s and providing DC-balance. DC-balance helps in maintaining signal integrity and synchronization by avoiding the accumulation of DC bias or long strings of identical bits.

In 8b/10b encoding, the 10-bit transmission symbols consist of two parts: a 5-bit control character (known as a disparity control character) and a 5-bit data character. The control character ensures DC-balance, while the data character represents the actual encoded data.

Types of 8b/10b Encoding Variants:

Within the 8b/10b encoding scheme, several variants or sets of encoding tables are available, each designed for specific applications or protocols. These variants define the specific mappings between 8-bit data patterns and 10-bit transmission symbols. Some commonly used 8b/10b encoding variants in Fibre Channel include:

  • Fibre Channel (FC-0): This variant is specifically designed for Fibre Channel networks and is defined in the Fibre Channel standard. It provides the encoding and decoding rules for Fibre Channel data transmission.
  • Gigabit Ethernet (GbE): The GbE variant is used in Gigabit Ethernet networks and provides encoding rules for Gigabit Ethernet data transmission.
  • PCI Express (PCIe): The PCIe variant is used in PCI Express technology, which is commonly used for interconnecting computer components. It provides encoding rules suitable for PCIe data transmission.
  • Serial Attached SCSI (SAS): The SAS variant is used in Serial Attached SCSI, a point-to-point computer bus technology used for connecting storage devices. It provides encoding rules optimized for SAS data transmission.

Each encoding variant within the 8b/10b encoding scheme defines its own set of rules and mappings between input data patterns and transmission symbols. These variants are tailored to specific applications and protocols, ensuring efficient and reliable data transmission over the respective networks.

It's worth noting that while 8b/10b encoding is commonly used in Fibre Channel and other high-speed communication protocols, there may be other encoding schemes used in different contexts or technologies.


64b/66b encoding is an encoding scheme used in certain high-speed data communication protocols, including Fibre Channel and 10 Gigabit Ethernet. It is an improvement over the traditional 8b/10b encoding scheme and provides increased efficiency and better bandwidth utilization. Here's an overview of 64b/66b encoding:

64b/66b Encoding:

In 64b/66b encoding, 64-bit data blocks are encoded into 66-bit transmission symbols. Unlike 8b/10b encoding, which uses fixed-length encoding, 64b/66b encoding operates on fixed-size data blocks. The additional bits in the encoding allow for more efficient use of the available bandwidth.

The encoding process involves mapping each 64-bit data block to a unique 66-bit transmission symbol. The encoding scheme is designed to maintain signal balance and facilitate clock recovery by ensuring a limited number of consecutive 0s or 1s. This reduces the occurrence of long runs of identical bits, which can negatively affect signal integrity and synchronization.

Benefits of 64b/66b Encoding:

64b/66b encoding offers several advantages over the traditional 8b/10b encoding scheme:

  • Increased Efficiency: 64b/66b encoding achieves better bandwidth utilization compared to 8b/10b encoding. With the larger data block size and reduced overhead, more of the available bandwidth can be utilized for transmitting actual data.
  • Error Detection: The encoding scheme includes built-in error-detection capabilities. It uses control bits within the 66-bit transmission symbol to detect and flag certain types of errors during transmission, enabling error detection and recovery mechanisms.
  • Forward Error Correction (FEC): The 64b/66b encoding scheme can be combined with Forward Error Correction techniques to provide enhanced error correction capabilities. FEC adds redundant bits to the encoded data, allowing the receiver to detect and correct certain types of errors without requiring retransmission.
  • Higher Data Rates: 64b/66b encoding facilitates higher data rates by utilizing the available bandwidth more efficiently. This makes it suitable for high-speed data communication protocols such as Fibre Channel and 10 Gigabit Ethernet.


Applications:

64b/66b encoding is commonly used in various high-speed communication protocols, including:

  • Fibre Channel: Fibre Channel utilizes 64b/66b encoding in its higher-speed versions, such as 16GFC, 32GFC, and 64GFC. It enables efficient data transmission and improved performance in Fibre Channel storage networks.
  • 10 Gigabit Ethernet: 64b/66b encoding is also used in 10 Gigabit Ethernet (10GbE) to transmit data at higher speeds over Ethernet networks.
  • 64b/66b encoding is an important encoding scheme that enables efficient and reliable data transmission in high-speed communication protocols, offering improved bandwidth utilization and error detection capabilities.


Scrambling is a technique used in Fibre Channel (FC) to introduce controlled randomness into the transmitted data stream. It is applied after encoding and before transmission over the physical media. The purpose of scrambling is to improve signal integrity, reduce the impact of noise, and ensure reliable data transmission. Here's how scrambling works in FC:

  • Scrambling Process: The scrambling algorithm in Fibre Channel operates on the encoded data stream, which has already undergone encoding (such as 8b/10b encoding). The algorithm manipulates the encoded data by XORing it with a predefined bit sequence known as the scrambler polynomial.
  • Controlled Randomness: The scrambler polynomial introduces controlled randomness into the transmitted data stream. This randomization helps to eliminate deterministic patterns and long strings of identical bits, which can cause synchronization problems or be susceptible to interference.
  • DC-Balance Preservation: One important aspect of scrambling in Fibre Channel is the preservation of DC-balance. DC-balance refers to the equal distribution of 0s and 1s in the transmitted signal, which helps maintain signal integrity and synchronization. The scrambling algorithm ensures that the scrambling process does not disrupt the DC-balance property.
  • Descrambling at the Receiver: The receiver in the Fibre Channel system performs the complementary descrambling process using the same scrambler polynomial. This restores the original encoded data by reversing the effects of scrambling.

The purpose of scrambling in Fibre Channel is to improve the reliability of data transmission by reducing the impact of noise, crosstalk, and other sources of signal degradation. Scrambling adds a controlled amount of randomness to the transmitted data, which helps mitigate the adverse effects of interference and ensures that the received data can be accurately interpreted by the receiver.

It's important to note that the specific details of the scrambling algorithm and the scrambler polynomial used in Fibre Channel may vary based on the Fibre Channel standard version and implementation.

Both encoding and scrambling techniques are employed in Fibre Channel to enhance signal quality, reduce errors, and ensure reliable data transmission over the physical media. These techniques contribute to the overall performance and integrity of Fibre Channel-based storage networks.

Comments

Popular posts from this blog

What is FCID ?

In Fibre Channel (FC), the Fibre Channel ID, also known as FC_ID or FCID, is a unique identifier assigned to each Fibre Channel device within a Fibre Channel fabric. The FC_ID is a 24-bit value that helps identify and address individual devices in the fabric. Here are a few key points about Fibre Channel IDs: Uniqueness: Each Fibre Channel device connected to the fabric is assigned a unique FC_ID. No two devices within the same fabric can have the same FC_ID. Dynamic Assignment: FC_IDs are dynamically assigned by the fabric switches during the device login process. When a device logs into the fabric, the switch assigns an FC_ID to that device. Domain ID and Port ID: The FC_ID consists of two parts: the Domain ID (D_ID) and the Port ID (P_ID). The D_ID represents the switch or fabric to which the device is connected, while the P_ID represents the specific port or interface of the device within that fabric. Routing and Addressing: The FC_ID is used for routing and addressing Fibre Ch...

What do you know about FLOGI ?

FLOGI stands for Fabric Login , which is a process in Fibre Channel (FC) that allows a Fibre Channel device to log in and establish communication with the FC fabric. During the FLOGI process, the device exchanges information with the fabric switches to acquire a Fibre Channel ID (FC_ID) and become an active participant in the fabric. Here's an overview of how the FLOGI process works: Device Initialization: When a Fibre Channel device is powered on or connected to the fabric, it starts the initialization process. The device initializes its Fibre Channel interfaces and prepares to establish a connection with the fabric. FLOGI Request: The device sends a FLOGI request frame, also known as a FLOGI primitive, to the fabric. The FLOGI request contains information about the device, such as its Fibre Channel address and capabilities. Fabric Response: The fabric switches receive the FLOGI request and process it. The switches assign a unique Fibre Channel ID (FC_ID) to the device. The switch...