Byte Enable Reuse for Clock-Gated Fabric Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high power consumption in computing systems due to data transfer across communication fabrics in heterogeneous integrated circuits is a significant design issue, leading to increased cooling costs and system inefficiencies.
Innovation Solution
Implementing partition enable signals to conditionally enable or disable clock signals for storage elements in the routing components based on the validity of data partitions, thereby reducing power consumption by avoiding the transmission of invalid data patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If data is transmitted across the communication fabric, then data transfer functionality is achieved, but power consumption increases
Solution Approach 1:
The data payload is divided into multiple partitions (e.g., byte partitions), each with its own enable signal. This segmentation allows selective transmission of only valid data partitions, reducing unnecessary power consumption while maintaining data transfer functionality.
Solution Approach 2:
The patent introduces dynamic control signals (partition enable signals and clock enable signals) that adaptively adjust the operation of storage elements based on the validity of each data partition. This dynamic approach allows the system to optimize power consumption in real-time based on actual data transfer needs.
2Use of energy by moving object
If clock signals are continuously toggled for storage elements, then data storage and transfer operations are maintained, but power consumption increases
Solution Approach 1:
Instead of continuous clock toggling, the patent implements periodic clock enabling where clock signals are only activated when there is valid data to transfer. The clock enable signal is generated based on partition enable signals, creating a periodic rather than continuous operation pattern that reduces power consumption while maintaining data integrity.
Solution Approach 2:
The system uses feedback mechanisms where partition enable signals are generated based on the validity of data partitions, and these signals in turn control clock enable signals to storage elements. This feedback loop ensures that clock signals are only toggled when necessary, maintaining reliability while reducing power consumption.
3Productivity
If invalid data patterns are transmitted, then data transfer completeness is maintained, but power consumption and system efficiency worsen
Solution Approach 1:
The patent extracts and transmits only the valid portions of data by using partition enable signals to identify which data partitions contain valid information. Invalid data partitions are excluded from transmission entirely, eliminating the waste of energy on transmitting meaningless data while maintaining the completeness of valid data transfer.
Solution Approach 2:
Different data partitions are treated differently based on their validity status. Valid partitions are transmitted with clock signals enabled, while invalid partitions are excluded with clock signals disabled. This local differentiation optimizes power consumption by applying different transmission quality levels to different portions of the data.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, apparatuses, and methods for efficient data transfer in a computing system (200) are disclosed. A source (110) generates packets to send across a communication fabric (or fabric) to a destination (140). The source (110) generates partition enable signals (156) for the partitions of payload data (158). The source (110) negates an enable signal for a particular partition when the source (110) determines the packet type indicates the particular partition should have an associated asserted enable signal in the packet (150, 224), but the source also determines the particular partition includes a particular data pattern. Routing components (120) of the fabric disable (232) clock signals (130) to storage elements (234) assigned to store the particular partition. The destination (140) inserts the particular data pattern for the particular partition in the payload data.