Demand Paging Decompression Blocks for Faster Instruction Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decompression time of compressed pages in demand paging systems creates a performance bottleneck, as pages are received faster than they can be decompressed, leading to delays in executing instructions or data, especially when compression algorithms independently compress small blocks, reducing lookback opportunities and degrading compression ratios.

Innovation Solution

The method involves determining decompression blocks within a compressed page, generating metadata for block boundaries, and terminating decompression when a requested code instruction is accessed, allowing for partial decompression and execution of instructions before completing the full decompression, and utilizing lookbacks across multiple blocks for improved efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If pages are compressed prior to copying to main memory, then the size of the page is reduced and resources required to load the page are reduced, but the decompression time creates a performance bottleneck

Engineering Contradiction:
Improvepage sizeVSAvoiddecompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent divides a compressed page into multiple decompression blocks that can be decompressed independently and in parallel. The compression engine processes the entire page as one unit, but the decompression engine splits it into blocks that can be decompressed concurrently across multiple processor cores, reducing total decompression time while maintaining compression efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary decomposition of the compressed page into multiple decompression blocks during the compression phase, storing metadata about block boundaries. This preliminary action enables parallel decompression to occur efficiently during execution, as the structure is already prepared for concurrent processing.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If compression algorithms independently compress blocks of data, then the compression process is simplified, but lookback opportunities are reduced and compression ratio degrades

Engineering Contradiction:
Improvecompression process complexityVSAvoidcompression ratio
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent segments the compressed page into multiple blocks that are independently compressed, which simplifies the compression process. However, it compensates for the reduced lookback opportunities by using metadata to track block boundaries and enabling parallel processing, maintaining acceptable compression ratios while improving decompression performance.

Inventive Principle:
Principle #1Segmentation

3Reliability

If the entire compressed page is decompressed, then all instructions and data are available for use, but decompression work is done for pages that won't be used and delays the use of other instructions and data

Engineering Contradiction:
Improveavailability of instructions and dataVSAvoidinstruction execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and decompresses only the specific decompression block containing the requested instruction or data, rather than decompressing the entire page. The metadata system enables the decompression engine to locate and process only the necessary block, eliminating wasted decompression work and enabling faster access to required information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by decompressing only the necessary portion (specific block) of the compressed page rather than the entire page. This selective approach reduces unnecessary decompression work while ensuring that the required instructions and data are made available for immediate use.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9652152B2Efficient decompression locality system for demand paging
Publication Date: 2017.05.16 QUALCOMM INC
  • US9652152B2 patent drawing
  • US9652152B2 patent drawing
  • US9652152B2 patent drawing

AI summary

Aspects include computing devices, systems, and methods for implementing executing decompression of a compressed page. A computing device may determine a decompression block belonging to a compressed page that contains a code instruction requested in a memory access request. Decompression blocks, other than the decompression block containing the requested code instruction, may be selected for decompression based on their locality with respect to the decompression block containing the requested code instruction. Decompression blocks not identified for decompression may be substituted for a fault or exception code. The computing device may decompress decompression blocks identified for decompression, terminating the decompression of the compressed page upon filling all blocks with decompressed blocks, faults, or exception code. The remaining decompression blocks belonging to the compressed page may be decompressed after or concurrently with the execution of the requested code instruction.