Circular Addressing for Convolutional Memory Bandwidth Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In embedded devices with limited SRAM capacity, the segmentation of high-resolution images or videos for CNN-based applications leads to duplicative loading of boundary data, wasting memory access bandwidth due to the inability to cache overlapping data segments consecutively, as the next segment's data often exceeds the remaining memory space after storing the last segment's data.
Innovation Solution
Implementing circular addressing instructions using hardware and software modules to redefine memory addresses, allowing data segments to wrap around to the beginning of the circular buffer when exceeding the buffer length, thereby avoiding duplicative caching of boundary data and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data segments are cached consecutively in linear memory addressing, then memory access is simple and sequential, but the next segment cannot fit into remaining memory space after storing the last segment, causing boundary data to be unavailable
Solution Approach 1:
The patent implements dynamic memory addressing where the memory address space is treated as circular rather than linear. When the address reaches the end of the allocated memory region, it automatically wraps around to the beginning. This dynamic addressing mode allows the system to continuously access memory locations without manual intervention for address recalibration, enabling seamless transition from the end of the memory region back to the start.
Solution Approach 2:
The patent transforms the traditional one-dimensional linear memory addressing into a circular addressing space by adding the dimension of wrap-around behavior. Instead of addressing memory as a simple sequence from start to end, the system creates a topological loop where the end connects to the beginning, effectively adding a dimensional aspect to the addressing scheme that enables continuous access patterns.
2Reliability
If overlapping boundary data is cached in SRAM for multiple segments, then computation accuracy is maintained, but memory access bandwidth is wasted due to duplicative loading
Solution Approach 1:
The patent pre-loads the overlapping boundary data into the circular buffer at the appropriate position before it is needed for computation. By using circular addressing, the boundary data from the previous segment is automatically available in the buffer when the next segment is being processed, eliminating the need for duplicative loading operations and ensuring computation accuracy is maintained.
Solution Approach 2:
The circular buffer maintains continuous availability of boundary data across segment transitions. Instead of loading boundary data repeatedly for each segment, the system ensures that once data is loaded into the circular buffer, it remains available for subsequent segments that need it, creating a continuous useful action rather than repetitive loading cycles.
3Quantity of substance
If SRAM size is reduced to lower cost and power consumption, then embedded device requirements are met, but high-resolution image data cannot be buffered completely
Solution Approach 1:
The patent divides the high-resolution image data into multiple segments that can be processed sequentially. By using circular buffer addressing, the system processes one segment at a time while maintaining the overlapping boundary data in the buffer, allowing complete image processing with a fraction of the original memory requirements.
Solution Approach 2:
The patent applies different quality requirements to different parts of the data. The overlapping boundary regions are maintained with high precision in the circular buffer to ensure computation accuracy, while the non-overlapping interior regions can be processed with standard precision. This local differentiation of quality requirements allows accurate processing with reduced memory capacity.
Data Source
AI summary
A method and apparatus are disclosed to perform the circular addressing to emulate a virtually unlimited memory space despite the fixed capacity of a physical memory by readdressing the portion of the data that exceeds the pre-defined length of the circular addressing region to another pre-defined address in the circular addressing region. Data segments in a data sample can be loaded and computed with recalculated circular addresses for different applications.


