Encoded Data Block Headers for Predictable Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for storing encoded blocks of data in memory lack predictability and efficiency, particularly in scenarios where encoded blocks are of varying sizes and need to be accessed randomly, leading to increased memory bandwidth and power consumption.
Innovation Solution
The method involves generating headers for encoded blocks that indicate their memory locations, with these headers stored in a tiled layout based on tiles of adjacent blocks, allowing for efficient access and reducing the number of memory accesses needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If encoded blocks of data are stored at arbitrary locations in memory to improve flexibility and memory reuse, then memory utilization is improved, but the predictability of encoded block locations deteriorates
Solution Approach 1:
The patent introduces headers as intermediary data structures that are stored at predictable scan-line locations and contain pointers to the actual encoded blocks. This mediator allows the system to maintain both flexibility in block placement and predictability in header access, resolving the contradiction between adaptability and measurement precision.
Solution Approach 2:
The patent segments the data structure into two parts: headers stored in a predictable scan-line order and encoded blocks stored at arbitrary locations. This segmentation allows each part to serve its specific function - headers provide predictability while blocks provide flexibility - thereby resolving the contradiction.
2Ease of operation
If headers are stored contiguously in scan-line order to enable easy header location, then header access efficiency is improved, but memory bandwidth consumption deteriorates due to increased number of memory accesses
Solution Approach 1:
The patent merges multiple headers into a single continuous header buffer stored in scan-line order. This allows the system to access multiple headers in a single memory operation rather than multiple separate operations, reducing memory bandwidth consumption while maintaining ease of header location through the contiguous structure.
3Adaptability or versatility
If encoded blocks are accessed randomly without predictable locations, then partial updating capability is improved, but the number of memory accesses increases leading to higher power consumption
Solution Approach 1:
The patent performs preliminary action by pre-calculating and storing header information in scan-line order before actual data access. This allows the system to quickly locate and access only the necessary encoded blocks for partial updates without scanning through entire memory regions, thereby reducing the number of memory accesses and power consumption while maintaining random access capability.
Data Source
AI summary
A method of storing encoded blocks of data in memory comprises generating headers for the encoded blocks of data. The headers are stored in memory according to a tiled layout based on tiles of plural adjacent blocks of data elements of the array of data elements. Respective sets of the encoded blocks of data are also stored in respective distinct regions of memory locations that have been allocated to those sets. The method provides an efficient way to access headers and corresponding encoded blocks of data in memory.


