Systolic Array Data Loading via Status Checks Without Queue Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The use of queues in data storage systems for reading data into systolic arrays leads to increased chip area requirements due to the occupation of registering resources, which affects the efficiency and performance of peak computing power.
Innovation Solution
A data reading method that involves acquiring reference status identifications for systolic array registers to determine the availability of weight and feature map attribute data before reading and writing them to the systolic array, ensuring a time sequence relationship and reducing the need for queues, thereby minimizing chip area.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If queues are used to store data before writing to the systolic array, then data reading reliability is improved, but chip area increases due to occupation of registering resources
Solution Approach 1:
The patent extracts the queue structure from the data storage system and replaces it with direct status identification checking. Instead of using queues to buffer data, the system directly checks the status of the weight attribute register and feature map register to determine when data can be written to the systolic array, thereby eliminating the need for queue structures and reducing chip area.
Solution Approach 2:
The patent introduces status identification as an intermediary mechanism between the storage and the systolic array. Rather than using queues as intermediaries to buffer data, status identifications serve as intermediaries to coordinate data writing timing by indicating whether the registers are ready to accept data, thus reducing resource occupation while maintaining reliable data transfer.
2Extent of automation
If queues are used to buffer data, then data transfer timing is controlled, but device complexity increases due to additional registering resources
Solution Approach 1:
The patent removes the queue buffering mechanism and replaces it with direct status checking. The automatic timing control previously provided by queues is now achieved by checking status identifications that indicate when registers are ready to receive data, thereby reducing device complexity while maintaining automated timing control.
Solution Approach 2:
The system uses self-service timing control where the weight attribute register and feature map register automatically indicate their own readiness status through status identifications. This eliminates the need for external queue management and complex control logic, allowing the system to self-regulate data transfer timing with simpler device architecture.
3Measurement precision
If queues occupy registering resources, then data reading accuracy is maintained, but productivity decreases due to reduced available resources
Solution Approach 1:
The patent extracts and removes the queue structures that were occupying registering resources. By eliminating queues and using direct status identification checking, more registering resources become available for actual data processing operations, thereby improving productivity while maintaining data reading accuracy through the status-based timing control mechanism.
Data Source
AI summary
A data reading method includes acquiring a first weight read request for requesting to read weight attribute data from storage and a first feature map read request for requesting to read feature map attribute data from the storage; acquiring a reference status identification indicating a status of a weight attribute register in a systolic array after a pre-defined elapsed time; based on the reference status identification satisfying a first pre-defined condition, reading the weight attribute data from the storage, and writing the weight attribute data to the systolic array in response to the first weight read request; and based on the reference status identification satisfying a second pre-defined condition, reading the feature map attribute data from the storage, and writing the feature map attribute data to the systolic array in response to the first feature map read request.


