Multi-Precision Memory Retrieval for Speed-Accuracy Tradeoffs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The computational speed of processors often outpaces the speed at which memory can be retrieved, creating a bottleneck that decreases overall computational throughput, particularly in high-speed data processing tasks like machine learning and artificial intelligence applications.
Innovation Solution
A system is implemented that allows data to be retrieved from memory at multiple levels of precision by splitting data into portions and storing them in different memory interfaces, using a combiner unit with buffers and multiplexers to selectively retrieve and combine data portions based on precision levels, optionally with adjustment values to maintain accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is retrieved from memory at high speed, then memory retrieval speed is improved, but data precision is reduced
Solution Approach 1:
The patent divides data into multiple precision portions (e.g., first portion and second portion) and stores them separately in memory. The combiner unit can selectively retrieve only the necessary precision level needed for the current computation, allowing fast retrieval of lower-precision data when sufficient while maintaining the option to access higher-precision data when required.
Solution Approach 2:
The combiner unit dynamically adjusts the precision level of retrieved data based on the specific computational requirements. By using multiplexers and state control, the system can adaptively select between different precision portions (first portion alone, or combined first and second portions) to match the needed accuracy for each operation.
2Measurement precision
If full precision data is always retrieved, then data accuracy is maintained, but computational throughput decreases
Solution Approach 1:
The system retrieves only the necessary portion of data needed for accurate computation. By analyzing which precision portions are actually required for each computational task, the combiner unit avoids the overhead of transferring unnecessary high-precision data, thus improving throughput while maintaining sufficient accuracy.
Solution Approach 2:
The patent changes the precision parameter of retrieved data based on computational needs. The combiner unit can output data at different precision levels (first precision level or second precision level) by selectively combining or excluding data portions, allowing the system to optimize the balance between accuracy and speed for each operation.
3Adaptability or versatility
If data is split into multiple portions and stored separately, then memory retrieval flexibility is improved, but device complexity increases
Solution Approach 1:
The combiner unit is designed as a universal interface that handles multiple precision portions and can adapt to different computational requirements. The multiplexers and buffer units are configured to work with various precision levels, making the system versatile across different applications without requiring separate dedicated paths for each precision level.
Solution Approach 2:
The patent implements a nested structure where the second precision portion is effectively nested within the overall data structure, and the combiner unit can selectively include or exclude it. The buffer units and multiplexers are arranged in a nested configuration where lower-precision data paths are embedded within the higher-precision data structure, allowing efficient selective access.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
A system for retrieving data at multiple precision levels includes a processor (102), a memory device (104) for storing a first portion of data in association with a first interface and a second portion of data in association with a second interface, and a combiner unit. The combiner unit (118) is communicably coupled to the memory device (104) and the processor (102) and includes a first buffer coupled to the first interface for receiving the first portion of data; and a second buffer coupled to the second interface for receiving the second portion of data. The combiner unit (118) further includes selectors coupled to the first and second buffers. The one or more selector units select for output the first portion of data based on the combiner unit (118) being in a first state and the first portion of data and the second portion of data based on the combiner unit (118) being in a second state.