Network-on-Chip Memory Banking for Faster ML Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing chip architectures face challenges with high memory access overhead, high bandwidth blockage, and low data reading/writing efficiency, particularly in machine learning chips with complex data access and shared storage requirements.
Innovation Solution
A network-on-chip (NoC) system with interconnected computation devices and a shared memory, utilizing flag bits in data operation signals to optimize data access through direct connections, broadcast, and multicast instructions, and efficient data processing methods to improve access speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a large number of transistors are integrated on a single chip to enable parallel computation, then computation resources are improved, but memory access overhead and bandwidth blockage increase
Solution Approach 1:
The patent divides the memory system into multiple independent memory banks (first memory bank, second memory bank, third memory bank) that can be accessed in parallel. Each memory bank operates independently with its own control logic, allowing simultaneous data operations without interfering with each other. This segmentation eliminates the bottleneck of single memory access and reduces memory access overhead while supporting large-scale parallel computation.
2Adaptability or versatility
If complex instructions are used for data access in shared storage, then data manipulation capability is improved, but data reading/writing efficiency deteriorates
Solution Approach 1:
The patent extracts the data access control logic from complex shared storage instructions and implements dedicated control circuits for each memory bank. These control circuits directly manage data reading and writing operations without requiring complex instruction decoding, thereby simplifying the access process and significantly improving data reading/writing efficiency while maintaining full data manipulation capability through the control logic.
3Device complexity
If data is accessed from a single memory location, then memory structure is simplified, but data access speed decreases
Solution Approach 1:
The patent implements multiple memory banks that can be accessed simultaneously by different computation devices. Each memory bank maintains a simple structure, but the parallel access capability of multiple banks collectively provides high-speed data access. The system controller manages the parallel operations across banks, achieving high data access speed without complicating individual memory bank structures.
4Adaptability or versatility
If broadcast or multicast operations are implemented, then data distribution capability is improved, but control logic complexity increases
Solution Approach 1:
The patent introduces a controller as an intermediary between computation devices and memory banks to manage broadcast and multicast operations. The controller receives data from computation devices and intelligently distributes it to appropriate memory banks or multiple targets based on operation type. This intermediary approach simplifies the control logic by centralizing the decision-making process, while still providing sophisticated data distribution capability across the system.
Data Source
Figure 1~2
Figure 3~5
Figure 6~8
AI summary
The present application relates to a network-on-chip data processing method. The method is applied to a network-on-chip processing system, the network-on-chip processing system is used for executing machine learning calculation, and the network-on-chip processing system comprises a storage device and a calculation device. The method comprises: accessing the storage device in the network-on-chip processing system by means of a first calculation device in the network-on-chip processing system, and obtaining first operation data; performing an operation on the first operation data by means of the first calculation device to obtain a first operation result; and sending the first operation result to a second calculation device in the network-on-chip processing system. According to the method, operation overhead can be reduced and data read/write efficiency can be improved.