10 Gigabit MAC PHY Interface Rate Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-port Ethernet devices with PHYs operating at less than 10 Gb/s data rate require significant buffer memory to match the 10 Gb/s data rate of MACs, leading to inefficient use of resources.
Innovation Solution
Inserting idle blocks of predefined size within data frames on the 10 Gigabit/second data path between MAC and PHY, allowing for dynamic rate adjustment and reduced buffer memory requirements, and using stream identifiers and bandwidth factors to manage multiple data streams over a single data path.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If buffer memory is increased to match 10 Gb/s data rate between MAC and lower-speed PHY, then data transfer reliability is improved, but device complexity and resource utilization worsen
Solution Approach 1:
The patent applies dynamics by making the transmission rate adjustable rather than fixed. The system can dynamically switch between 10 Gb/s and lower data rates based on PHY capabilities, eliminating the need for large buffers to accommodate rate mismatches. The transmitter and receiver cooperate to select appropriate rates, transforming a static buffer-intensive system into a dynamic rate-adaptive system.
Solution Approach 2:
The patent changes the data rate parameter from a fixed 10 Gb/s requirement to a variable parameter that can take multiple values. By allowing the data rate to change based on the specific PHY implementation, the system achieves reliable data transfer without requiring excessive buffer memory. This parameter flexibility resolves the contradiction between reliability and buffer requirements.
2Speed
If fixed 10 Gb/s interface is used between MAC and PHY, then data transfer speed is maximized, but adaptability to different PHY data rates deteriorates
Solution Approach 1:
The system transitions from a fixed-speed interface to a dynamic rate-selectable interface. The transmitter and receiver jointly determine the appropriate data rate based on PHY capabilities, allowing the system to adapt between 10 Gb/s and lower rates. This dynamic approach maintains high speed when possible while providing versatility for different PHY implementations.
Solution Approach 2:
The patent creates a universal interface that can serve multiple PHY data rate requirements through a single MAC. The MAC is designed to work with both 10 Gb/s and lower-speed PHYs, making the interface multi-functional. This universality is achieved through cooperative rate selection mechanisms that allow one MAC to adapt to different PHY capabilities without requiring separate interfaces for each rate.
3Device complexity
If single data path is used for all data streams, then device complexity is reduced, but data stream management capability deteriorates
Solution Approach 1:
The patent segments data streams using virtual channel identifiers (VCIs) within a single physical data path. Multiple data streams are distinguished by their VCIs, allowing the system to manage multiple streams without requiring separate physical paths. This segmentation approach maintains simple hardware architecture while providing sophisticated stream management capability through software-based identification and routing.
Data Source
Figure 1~4
Figure 2~3
AI summary
A transmitter transmits a data frame as an uninterrupted stream of codeblocks of predefined size on a first 10 Gigabit/second data path between a MAC and PHY. It inserts a first idle block of predefined size within the data frame if there is insufficient data. A receiver receives a second idle block on a second data path, the second idle block including a request to slow down the transmission on the first data path. The receiver causes the transmitter to insert a third idle block in response to receiving the second idle block. The transmitter may further send a stream identifier including an identifier for a data stream and a bandwidth factor. The transmitter may send one codeblock chosen from data blocks for the data stream and idle blocks, and then send the bandwidth factor number of codeblocks chosen from data blocks for other data streams and idle blocks.