Orthogonal Data Transposition for Memory-Processing Array Alignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing technologies face challenges in efficiently transferring data between storage memory and processing arrays due to differences in data storage orientations, requiring a mechanism to orthogonally transpose data words.
Innovation Solution
A transposer device or a combination of a transposer and a buffer is used to orthogonally transpose data between storage memory and processing arrays, facilitating data transfers by shifting data in a two-dimensional array format, eliminating the need for column-addressability in the processing array.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If data is transferred directly between storage memory and processing array without transposition, then transfer speed is fast, but data storage orientation mismatch causes incorrect data mapping
Solution Approach 1:
A transposer unit is introduced as an intermediary component between storage memory and processing array. This transposer receives data from storage memory in row-major order and reorganizes it into column-major order for the processing array, or performs the reverse operation during writebacks, ensuring correct data mapping without requiring changes to the fundamental architecture of either storage memory or processing array
Solution Approach 2:
The data transfer system is segmented into distinct functional units: storage memory, transposer, and processing array. The transposer itself is divided into multiple banks that can operate in parallel, with each bank handling specific data transposition tasks. This segmentation allows the system to manage complexity through modular design while maintaining data mapping accuracy
2Manufacturing precision
If a transposer is added to transpose data between storage memory and processing array, then data mapping accuracy is improved, but device complexity increases
Solution Approach 1:
The transposer is designed as a universal data reorganization unit that can handle multiple operations: transposing data from row-major to column-major order, transposing from column-major to row-major order, and operating in bypass mode when transposition is not needed. This multi-functionality reduces the need for separate dedicated circuits for each operation, thereby managing complexity
Solution Approach 2:
The transposer incorporates dynamic control mechanisms that allow it to switch between different operational modes (transpose forward, transpose backward, bypass) based on the current data transfer requirements. Control signals dynamically configure the internal routing and banking structure of the transposer, enabling adaptive operation that simplifies the overall system architecture
3Adaptability or versatility
If column-addressability is implemented in processing array, then data access flexibility is improved, but processing array complexity increases
Solution Approach 1:
Instead of modifying the processing array to support column-addressability directly, the invention inverts the approach by having the transposer perform the column-major reorganization of data before it reaches the processing array. The processing array maintains its simpler row-addressable structure, while the transposer handles the complexity of column-oriented data organization
Data Source
AI summary
A device and method for facilitating orthogonal data transposition during data transfers to/from a processing array and a storage memory since the data words processed by the processing array (using computational memory cells) are stored orthogonally to how the data words are stored in storage memory. Thus, when data words are transferred between storage memory and the processing array, a mechanism orthogonally transposes the data words.


