Dictionary Coder Memory Layout for Partial-Match Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems with dictionary coders face inefficiencies in data compression due to limitations in matching candidate data strings during the compression process, leading to suboptimal compression performance.

Innovation Solution

The proposed memory system incorporates a compression circuit with a history buffer, hash calculator, read pointer table, and matching circuit that generates substrings, calculates hash values, and compares input data strings with stored data strings to replace matching segments with reference information, improving compression efficiency by allowing partial matching and parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a dictionary coder is used to replace input data strings with reference information, then compression performance is improved, but the system complexity increases due to the need for history buffers, hash calculators, and matching circuits

Engineering Contradiction:
Improvecompression performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dictionary coder is divided into functional modules: history buffer for storing reference data, hash calculator for generating lookup keys, read pointer table for efficient address mapping, and matching circuit for comparison. This segmentation allows each component to perform a specific function efficiently while maintaining overall system organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A read pointer table is introduced as an intermediary data structure between the hash calculator and the history buffer. The read pointer table stores address information that facilitates efficient retrieval of matching candidate data strings, reducing the complexity of direct buffer access while improving compression performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If partial matching is allowed between input data strings and stored data strings, then compression efficiency is improved, but the matching precision requirements increase

Engineering Contradiction:
Improvecompression efficiencyVSAvoidmatching precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The matching circuit performs partial matching by comparing only portions of the input data string with candidate data strings from the history buffer. Instead of requiring complete string matches, the system identifies matching substrings and replaces them with reference information, thereby improving compression efficiency while managing matching precision requirements through selective comparison.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11461008B2Memory system for improving compression performance of a dictionary coder circuit
Publication Date: 2022.10.04 KIOXIA CORP
  • US11461008B2 patent drawing
  • US11461008B2 patent drawing
  • US11461008B2 patent drawing

AI summary

A memory system including a history buffer, a hash calculator, a read pointer table, a history buffer writing circuit, a read pointer writing circuit, a read pointer reading circuit, a history buffer reading circuit, a matching circuit replacing the input data string with a reference information referring the matching candidate data string in the case where at least a part of the input data string and a part of the matching candidate data string match. Reading of the read pointer by the read pointer reading circuit and reading of the stored input data string by the history buffer reading circuit are executed after writing of the read pointer by the read pointer writing circuit and writing of the input data string by the history buffer writing circuit are finished.