Memory Controller Decompression Using Intra-Block Data Reference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems with non-volatile memories face inefficiencies in decompression performance due to the need to read and write decoded data strings in separate cycles, limiting the ability to reference data strings within the same cycle, which hampers the decompression process.

Innovation Solution

The memory system incorporates a decompression circuit with an intra block reference section that allows for the generation and reference of shaped data strings within the same cycle, enabling the replication and reuse of previously shaped data strings without requiring additional reads from the history buffer, thereby improving decompression performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If decoded data strings are read from and written back to the history buffer in separate cycles, then the history buffer can be properly updated with decoded data, but the decompression performance is limited because subsequent symbols cannot reference previously decoded data within the same cycle

Engineering Contradiction:
Improvedecompression performanceVSAvoidcycle time for reading and writing decoded data
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by generating the first shaped data string from previously decoded data before the write-back operation completes. This allows the first shaped data string to be immediately available for generating subsequent shaped data strings within the same cycle, eliminating the need to wait for the history buffer update to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (the first shaped data string generation process) that bridges the gap between reading decoded data from the history buffer and writing it back. This intermediary allows subsequent symbols to reference the decoded data through the generated shaped data string without requiring the write-back operation to complete first.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If repeated reads from the history buffer are performed for each symbol shaping operation, then accurate reference data is obtained, but the processing efficiency decreases due to multiple memory access operations

Engineering Contradiction:
Improveaccuracy of reference dataVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary action by generating the first shaped data string from the decoded data string before subsequent shaping operations. This pre-generated data can then be reused for generating additional shaped data strings without requiring repeated reads from the history buffer, thereby maintaining accuracy while improving processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating the first shaped data string as a reusable reference that can be utilized multiple times for generating subsequent shaped data strings. Instead of repeatedly accessing the original decoded data from the history buffer, the system copies and reuses the already-shaped data, reducing memory access operations while maintaining data accuracy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11397546B2Memory system
Publication Date: 2022.07.26 KIOXIA CORP
  • US11397546B2 patent drawing
  • US11397546B2 patent drawing
  • US11397546B2 patent drawing

AI summary

A memory system including a storage device and a memory controller controlling the storage device and decoding an encoded data. The memory controller including: a history buffer storing a decoded data string; a history buffer read controller executing a read request to the history buffer; a decode executing section generating a first shaped data string based on the decoded data string read from the history buffer, generating a second shaped data string by referring the first shaped data string before the first shaped data string being written back to the history buffer in response to the read request, and generating a decoded result using the first shaped data string and the second shaped data string.