Hardware Compression Buffer Selection for Lower Memory Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression methods in physical computer memory face challenges with fragmentation, as the size of compressed data is unknown beforehand, leading to inefficient use of space and reduced effectiveness due to unused space after compression.

Innovation Solution

The proposed solution involves compression hardware that selects optimal buffers of different sizes to store compressed data, minimizing unused space by splitting data across multiple buffers, and communicates with the memory management program to manage fragmentation and optimize storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If compression hardware stores compressed data in fixed-size buffers, then buffer management is simplified, but fragmentation increases and compression effectiveness decreases

Engineering Contradiction:
Improvebuffer management complexityVSAvoidmemory space utilization
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The patent divides the buffer into multiple segments or slots of different sizes. Instead of using a single fixed-size buffer, the system creates multiple smaller buffer segments that can be flexibly allocated to match the actual size of compressed data, thereby reducing fragmentation and improving space utilization while maintaining manageable complexity through structured organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic buffer allocation where buffer sizes are adjusted based on the actual compression results. The system dynamically selects or creates buffer segments that match the compressed data size, transitioning from static fixed-size buffers to dynamic adaptive buffers that optimize space usage for each compression operation

Inventive Principle:
Principle #15Dynamics

2Device complexity

If the memory management program makes all buffer selection decisions, then buffer allocation is centralized, but interaction overhead increases and compression speed decreases

Engineering Contradiction:
Improvebuffer allocation controlVSAvoidcompression speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces an intermediary buffer management structure that sits between the compression hardware and the memory management program. This intermediary layer handles buffer selection and allocation decisions locally, reducing the need for constant communication with the memory management program while maintaining centralized control through predefined buffer pools or segment structures

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables the compression hardware to autonomously select and manage buffers without requiring extensive memory management program intervention. The compression hardware can independently choose from available buffer segments based on compression size requirements, making self-service decisions that improve compression speed while the memory management program retains overall oversight

Inventive Principle:
Principle #25Self-service

3Reliability

If larger buffers are allocated to accommodate unknown compressed data size, then overflow is prevented, but unused space increases and compression effectiveness decreases

Engineering Contradiction:
Improvedata storage capacityVSAvoidwasted memory space
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments buffers into multiple smaller units that can be combined or selected based on actual compression needs. Instead of allocating one large buffer that may be partially unused, the system uses multiple smaller segments that can be precisely matched to the compressed data size, preventing overflow while minimizing wasted space

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the buffer size parameter dynamically based on compression results. The system adjusts buffer allocation parameters to match the actual compressed data size, transitioning from fixed large buffer allocation to adaptive buffer sizing that maintains reliability by preventing overflow while optimizing space utilization

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10474385B2Managing memory fragmentation in hardware-assisted data compression
Publication Date: 2019.11.12 GOOGLE LLC
  • US10474385B2 patent drawing
  • US10474385B2 patent drawing
  • US10474385B2 patent drawing

AI summary

Systems, devices, and methods for managing fragmentation in hardware-assisted compression of data in physical computer memory which may result in reduced internal fragmentation. An example computer-implemented method comprises: providing, by a memory management program to compression hardware, a compression command including an address in physical computer memory of data to be compressed and a list of at least two available buffers for storing compressed data; using, by the compression hardware, the address included in the compression command to retrieve uncompressed data; compressing the uncompressed data; and selecting, by the compression hardware, from the list of at least two available buffers, at least two buffers for storing compressed data based on an amount of space that would remain if the compressed data were stored in the at least two buffers, wherein each of the at least two selected buffers differs in size from at least one other of the selected buffers.