NoC Relaxed Write Order Scheme for Parallel Request Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network on a chip (NoC) systems face delays due to strict ordering requirements, where an ingress logic block must wait for responses from multiple egress logic blocks before issuing subsequent requests, which is not efficient for applications that do not require sequential processing.
Innovation Solution
Implementing a system that allows for relaxed ordering of requests, where an ingress logic block can transmit subsequent requests to different egress logic blocks in parallel without waiting for responses, using a write tracker and linked list management to differentiate between strict and relaxed ordered requests based on communication protocols and destination IDs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If strict ordering is enforced in NoC request processing, then data consistency and protocol compliance are ensured, but system throughput and processing speed deteriorate due to sequential waiting
Solution Approach 1:
The system dynamically adjusts ordering requirements based on request type. The write tracker determines whether each request is strict-ordered or relaxed-ordered, allowing the system to switch between sequential processing (for strict requests requiring consistency) and parallel processing (for relaxed requests prioritizing throughput). This dynamic adaptation resolves the contradiction by making ordering enforcement flexible rather than fixed.
Solution Approach 2:
Different ordering policies are applied to different requests based on their specific requirements. Strict-ordered requests maintain sequential processing to ensure data consistency, while relaxed-ordered requests allow parallel execution to improve throughput. The write tracker categorizes requests locally according to their ordering requirements, applying appropriate quality of service to each request type.
2Reliability
If the ingress logic block waits for responses from egress logic blocks before issuing subsequent requests, then strict ordering is maintained, but delay increases substantially
Solution Approach 1:
The request processing is segmented into two categories: strict-ordered requests and relaxed-ordered requests. The write tracker separates these segments and applies different handling mechanisms. Relaxed-ordered requests can be processed in parallel without waiting for responses, while strict-ordered requests maintain sequential processing. This segmentation reduces overall processing delay while preserving ordering correctness where required.
Solution Approach 2:
The write tracker acts as an intermediary between the ingress logic block and egress logic blocks. It receives requests, determines their ordering requirements, and manages the parallel or sequential execution accordingly. This intermediary enables relaxed-ordered requests to bypass the sequential waiting mechanism, reducing delay while maintaining protocol compliance through its mediation.
3Productivity
If parallel execution of requests is enabled, then throughput and efficiency improve, but complexity of request tracking and management increases
Solution Approach 1:
The write tracker maintains a data structure (linked list or array) that copies and stores information about outstanding requests. This copy allows the system to track multiple parallel requests without complex interdependencies. Each request's status, destination, and ordering requirements are recorded in this data structure, enabling efficient parallel management while reducing tracking complexity through information replication.
Solution Approach 2:
The system changes the parameter of request identification by including the destination egress logic block identifier in the tracking data structure. This parameter change enables the write tracker to efficiently manage parallel requests by grouping and organizing them according to their destinations, simplifying the tracking complexity through structured parameter organization.
Data Source
AI summary
Embodiments herein describe a SoC that includes a NoC that supports both strict and relax ordering requests. That is, some applications may require strict ordering where requests transmitted from the same ingress logic to different egress logic blocks are performed sequentially. However, other applications may not require strict ordering, such as interleaved writes to memory. In those applications, relax ordering can be used were the same ingress logic block can transmit multiple requests to different egress logic blocks in parallel. For example, an ingress logic block may receive a first request that is indicated as being a relaxed ordered request. After transmitting the request to an egress logic block, the ingress logic block may receive a second request. The ingress logic block can transmit the second request to a different egress logic block without waiting for a response for the first request.


