Dynamic Cache Line Allocation for Compressed Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caching systems employing data compression are unable to fully utilize the increased cache capacity due to their fixed-sized cache lines, which leads to inefficient allocation of memory resources and limited performance improvements.

Innovation Solution

The proposed solution involves compressing data prior to writing it to cache memory, allowing the cache controller to determine the exact size of the compressed data and allocate memory accordingly, thereby optimizing storage and improving cache hit rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is compressed before writing to cache memory, then cache capacity is increased and memory resources are utilized more efficiently, but device complexity increases due to the need for compression algorithms and processing

Engineering Contradiction:
Improvecache capacityVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Data is compressed before being written to cache memory, preparing it in advance for efficient storage. The compression operation is performed as a preliminary step in the data flow, allowing the cache to store more data in the same physical space without requiring expansion of the cache hardware itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data undergoes a parameter change through compression, transforming from uncompressed form to compressed form with reduced size. This parameter change (size reduction) enables more data to be stored in the same cache memory, effectively increasing cache capacity without adding physical memory resources.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If fixed-sized cache lines are used, then device complexity is reduced and implementation is simpler, but memory resources are allocated inefficiently and cache hit rates are limited

Engineering Contradiction:
Improvedevice complexityVSAvoidcache hit rates
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache line size becomes dynamic rather than fixed, adjusting to match the actual size of compressed data. This dynamic sizing allows the cache to optimize storage for each data element, improving memory utilization and cache hit rates without requiring complex manual configuration or management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache line size parameter changes based on the compressed data size, allowing flexible allocation of memory resources. This parameter adaptation enables the cache to efficiently store data of varying sizes, improving overall cache effectiveness and hit rates compared to rigid fixed-size lines.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If cache memory size is increased to improve cache hit rates, then productivity is improved, but cost increases and the size is limited by cost considerations

Engineering Contradiction:
Improvecache hit ratesVSAvoidcache memory size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The effective cache capacity is increased through data compression rather than by adding more physical memory. By changing the state of data from uncompressed to compressed, the same physical memory space can accommodate more data, effectively increasing cache capacity without incurring additional hardware costs.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of physically expanding cache memory, the system creates a more efficient representation of data in the existing cache through compression. This allows the cache to hold more data representations in the same space, effectively multiplying the useful capacity without proportional cost increases.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9996466B2Apparatus, system and method for caching compressed data
Publication Date: 2018.06.12 TAHOE RES LTD
  • US9996466B2 patent drawing
  • US9996466B2 patent drawing
  • US9996466B2 patent drawing

AI summary

Techniques and mechanisms to efficiently cache data based on compression of such data. The technologies of the present disclosure include cache systems, methods, and computer readable media to support operations performed with data that is compressed prior to being written as a cache line in a cache memory. In some embodiments, a cache controller determines the size of compressed data to be stored as a cache line. The cache controller identifies a logical block address (LBA) range to cache the compressed data, where such identifying is based on the size of the compressed data and on reference information describing multiple LBA ranges of the cache memory. One or more such LBA ranges are of different respective sizes. In other embodiments, LBA ranges of the cache memory concurrently store respective compressed cache lines, wherein the LBA ranges and are of different respective sizes.