Memory Management Unit Compressed Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Coordinating access to shared resources, particularly memory, in electronic systems is complex due to differences in storage capacity and access speeds, and conventional compression techniques are inflexible, hindering efficient virtual to physical address translation.

Innovation Solution

A shared resource management system with a memory management unit (MMU) that handles access requests for compressed data, using a compression status indication and page table entries to manage compression formats and virtual to physical address translations, allowing flexible compression and efficient memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional compression techniques are used, then storage efficiency is improved, but flexibility in compression is limited

Engineering Contradiction:
Improvestorage efficiencyVSAvoidflexibility in compression
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects compression techniques based on data characteristics and access patterns. The compression manager can switch between different compression algorithms and levels depending on the specific needs of each data access operation, making the compression approach adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes compression parameters such as compression level, algorithm type, and data block size based on access patterns and storage requirements. This allows the system to optimize storage efficiency for different workloads while maintaining flexibility in how compression is applied.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If virtual memory space addressing is used, then memory access flexibility is improved, but complexity of address translation increases

Engineering Contradiction:
Improvememory access flexibilityVSAvoidaddress translation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system introduces a compression manager as an intermediary component that handles the complexity of coordinating compression with virtual-to-physical address translation. This mediator manages the interaction between virtual memory addressing and compression techniques, simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The address translation process is segmented into manageable components: virtual address translation, compression status determination, and physical address calculation. By dividing the complex translation process into separate stages handled by different system components, the overall complexity is reduced while maintaining flexibility.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If compressed data is stored, then storage capacity utilization is improved, but access speed may be reduced

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system applies compression only to portions of data that benefit from it, rather than compressing all data uniformly. This partial compression approach allows the system to optimize storage capacity for compressible data while maintaining fast access for data that requires rapid retrieval, balancing storage efficiency with access speed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8700865B1Compressed data access system and method
Publication Date: 2014.04.15 NVIDIA CORP
  • US8700865B1 patent drawing
  • US8700865B1 patent drawing
  • US8700865B1 patent drawing

AI summary

A shared resource management system and method are described. In one embodiment a shared resource management system includes a plurality of engines, a shared resource, and a shared resource management unit. In one exemplary implementation the shared resource is a memory and the shared resource management unit is a memory management unit (MMU). The plurality of engines perform processing. The shared resource supports the processing. For example, a memory stores information and instructions for the engines. The shared resource management unit manages memory operations and handles access requests associated with compressed data.