Flash Memory Controller Running Sum Data Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash memory devices experience performance degradation due to high write amplifier index (WAI) values, resulting from excessive data processing and integration operations, which increase processing load and delay times during data writing.

Innovation Solution

A data access method for flash memory devices that calculates a running sum value for write data, compares it with stored data, and uses remapping tables to identify identical data, thereby reducing the need for physical writing and minimizing data processing, thus lowering the WAI value and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the controller removes old data and integrates data to handle write commands, then data integrity is maintained, but the data processing load increases and write command execution time is extended

Engineering Contradiction:
Improvedata integrityVSAvoidwrite command execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-calculates and stores running sum values in a running sum recording table before actual write operations. When a write command arrives, the controller checks if the running sum of the new data matches an existing entry, allowing it to skip the time-consuming data removal and integration steps. This preliminary preparation enables rapid comparison and decision-making, resolving the contradiction between maintaining data integrity and improving write efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the controller allocates a new block for write data when old data cannot be removed, then data storage capacity is preserved, but the data processing load increases and performance degrades

Engineering Contradiction:
Improvedata storage capacityVSAvoidcontroller processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a virtual copy of the data through running sum values stored in the running sum recording table. Instead of physically moving or removing data blocks, the controller uses these computational copies to determine whether new data can overwrite existing data. This copying approach preserves storage capacity while avoiding the heavy processing load of actual data manipulation, thus improving controller efficiency.

Inventive Principle:
Principle #26Copying

3Productivity

If the host sends a small amount of data to the flash memory, then storage efficiency is improved, but if the controller physically accesses a large amount of data, the write amplifier index increases and performance decreases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidwrite amplifier index
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces the mechanical data access system with a computational system. Instead of physically reading and comparing large amounts of data from the flash memory, the controller substitutes this with rapid mathematical calculations of running sum values in memory. This substitution dramatically reduces the physical data access requirements, lowering the write amplifier index while maintaining storage efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8661190B2Flash memory device and data access method thereof
Publication Date: 2014.02.25 SILICON MOTION INC
  • US8661190B2 patent drawing
  • US8661190B2 patent drawing
  • US8661190B2 patent drawing

AI summary

In one embodiment, the flash memory device is coupled to a host, and comprises a flash memory and a controller. The flash memory is used for data storage. The controller receives write data and a write logical address from the host, calculates a running sum value according to the write data, determines whether target data with a running sum equal to the running sum value is stored in the flash memory, reads the target data from the flash memory when the target data is stored in the flash memory, determines whether the target data is identical to the write data, and records a mapping relationship between an original logical address of the target data and a write logical address of the write data in a remapping table without writing the write data to the flash memory when the target data is identical to the write data.