Variable-Length Memory Block Layout with Shared Remainder Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for storing variable length data blocks in memory are inefficient, leading to increased memory access requests and reduced compression rates, especially when dealing with compressed blocks like frame buffer data.

Innovation Solution

The method involves grouping variable length data blocks into sets and allocating a portion of memory that includes a maximum accessible data unit section and a remainder section. Each block is stored in chunks of the maximum accessible data unit section, with any remaining portions stored in the shared remainder section, and information about block sizes is stored in a header section.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If variable length data blocks are stored using traditional allocation methods, then each block can be stored independently, but the number of memory access requests increases and memory usage efficiency decreases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple variable length data blocks into a single continuous memory allocation called a 'superblock'. Instead of allocating separate memory regions for each block, multiple blocks are merged and stored contiguously within one superblock allocation, reducing the number of memory access requests and improving memory usage efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the superblock into individual variable length data blocks that can be independently accessed and managed. Each block within the superblock maintains its own boundaries and can be individually modified or retrieved, preserving operational independence while benefiting from consolidated memory allocation.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If compression is applied to reduce data size, then storage efficiency improves, but the compression rate decreases when using fixed allocation methods

Engineering Contradiction:
Improvememory usageVSAvoidcompression rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic memory allocation where the superblock size and internal block structure adapt to the actual data requirements. Rather than using fixed allocation sizes, the system dynamically adjusts the superblock to fit the total compressed data size, allowing for optimal compression rates while efficiently utilizing memory resources.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250053324A1Methods and systems for storing variable length data blocks in memory
Publication Date: 2025.02.13 IMAGINATION TECH LTD
  • US20250053324A1 patent drawing
  • US20250053324A1 patent drawing
  • US20250053324A1 patent drawing

AI summary

A set of two or more variable length data blocks is stored in memory. Each variable length data block has a maximum size of N*B, wherein N is an integer greater than or equal to two, and B is a maximum data size that can be written to the memory using a single memory access request. For each variable length data block of the set, the first P non-overlapping portions of size B of the variable length data block are stored in a chunk of the memory allocated to that variable length data block, wherein P is a minimum of (i) a number of non-overlapping portions of size B of the variable length data block and (ii) X which is an integer less than N. Any remaining portions of the variable length data blocks are stored in a remainder section of the memory shared between the variable length data blocks of the set. Information indicating the size of each of the variable length data blocks in the set is stored in a header.