Memory Access Control for Consistent Lossless Data Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing semiconductor devices face challenges in ensuring data consistency during lossless compression and expansion processes, particularly when the processing unit is unclear or when data is shared between modules, leading to inconsistencies and inefficiencies in memory bandwidth utilization.
Innovation Solution
A semiconductor device architecture that includes two compression/expansion modules, a memory for storing compressed data, and a managing module for exclusive control of memory access in defined data sizes, ensuring data consistency through lossless compression and expansion processing units and compression information management, allowing controlled writing and reading of data without altering module configurations or adding software control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If lossless compression is used to reduce data amount, then memory bandwidth utilization is improved, but data consistency cannot be ensured when processing units are unclear
Solution Approach 1:
The patent introduces a managing module as an intermediary between compression/expansion modules and memory. This managing module exclusively controls memory access by defining data sizes and managing address spaces, ensuring that compression and expansion operations maintain data consistency while still achieving memory bandwidth optimization through controlled access patterns.
Solution Approach 2:
The patent segments memory access control into defined data size units. By dividing memory access into discrete, manageable segments with clear boundaries, the system can perform compression and expansion operations on well-defined data units, ensuring that processing endpoints are clear and data consistency is maintained even when optimizing for memory bandwidth.
2Productivity
If buffer holds data until compression data is accumulated, then compression efficiency is improved, but terminal data remains in buffer causing inconsistency when shared with other modules
Solution Approach 1:
The managing module implements feedback control by monitoring buffer status and memory access patterns. When compression data is accumulated and ready for output, the managing module receives feedback about the data readiness and coordinates the memory access timing, ensuring that terminal data is properly flushed from buffers to memory at appropriate intervals, thereby maintaining data consistency across modules while preserving compression efficiency.
Solution Approach 2:
The system performs preliminary actions by pre-defining data size units and address space allocations before compression operations begin. This allows the buffer management to operate with clear guidelines about when and how to flush data, ensuring that compression efficiency is maintained through proper buffering while data consistency is preserved through predetermined flush conditions and address space management.
3Reliability
If exclusive control of memory access is implemented in defined data sizes, then data consistency is ensured, but memory access flexibility is reduced
Solution Approach 1:
The managing module implements dynamic control of memory access within the defined data size framework. While the basic unit of access is fixed for consistency, the managing module can dynamically adjust access patterns, timing, and allocation of address spaces based on actual compression and expansion operations. This dynamic management ensures data consistency through defined boundaries while maintaining flexibility to adapt to varying computational needs and data patterns.
Data Source
AI summary
A semiconductor device for achieving consistency of data is provided. The process performed by the semiconductor device includes a step of compressing data to generate compression information representing compressed data and the amount of information, a step of accessing management data for controlling access to a memory area, a step of permitting writing to a memory area in units of a predetermined data size based on the fact that the management data indicates that the accessed area is not exclusively allocated to another compression/expansion module, a step of writing data to update management data, a step of permitting reading from the area in units of the data size based on the fact that the management data indicates that the accessed area is not exclusively owned to another compression/expansion module, and a step of reading the compressed data and the compressed information from the area in units of the data size.


