Flash Memory Controller Trimming Flag Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory data trimming methods fail to efficiently manage data storage by not effectively marking pages with uniform data patterns after a data trimming process, leading to inadequate data management and storage efficiency.

Innovation Solution

A data storage device with a controller that determines the last page of an address range and sets a trimming flag to 1 if all data values subsequent to the ending address match a specific pattern, ensuring accurate page management post-data trimming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the controller repeatedly writes data bit 0 to the address range to perform data trimming, then the data trimming operation is completed, but the controller cannot efficiently mark the data trimmed pages without additional checking mechanisms

Engineering Contradiction:
Improvedata trimming operation efficiencyVSAvoidpage marking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller performs preliminary actions by checking data values in the last page before setting the trimming flag. Specifically, the controller determines whether data values stored in the last page with addresses subsequent to the ending address are all equal to a specific data pattern (0x00) before marking the page as trimmed. This preliminary check prevents incorrect marking and ensures accurate page management.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the controller sets trimming flag to 1 for all pages in the address range, then page marking is simplified, but pages with uniform data patterns subsequent to the ending address may be incorrectly marked

Engineering Contradiction:
Improvepage marking simplicityVSAvoidpage marking accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The controller applies local quality by differentiating the marking process for the last page compared to intermediate pages. For the last page, the controller performs an additional check on data values at addresses subsequent to the ending address before setting the trimming flag. This localized differentiation ensures that only pages truly requiring trimming are marked, maintaining both simplicity and accuracy.

Inventive Principle:
Principle #3Local quality

3Reliability

If the controller checks all data values in the last page subsequent to the ending address before setting trimming flag, then page marking accuracy is improved, but the processing time increases

Engineering Contradiction:
Improvepage marking accuracyVSAvoiddata trimming processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller applies partial action by checking only the specific region of data values in the last page that are subsequent to the ending address, rather than checking all data values in the entire last page. This partial check is sufficient to determine whether the page should be marked as trimmed, reducing unnecessary processing time while maintaining accuracy.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9304686B2Data storage device and data trimming method
Publication Date: 2016.04.05 SILICON MOTION INC
  • US9304686B2 patent drawing
  • US9304686B2 patent drawing
  • US9304686B2 patent drawing

AI summary

A data storage device is disclosed. In one embodiment, the data storage device comprises a flash memory and a controller. The flash memory comprises a plurality of blocks, wherein each block comprises a plurality of pages, and each page comprises a plurality of data trimming units which is a smallest unit for data modification. After a data trimming process has been performed on an address range of the flash memory, the controller determines a last page corresponding to an ending address of the address range, determines whether data values stored in the last page with addresses subsequent to the ending address are all equal to a specific data pattern, and sets the value of a trimming flag corresponding to the last page to be 1 when the data values stored in the last page with addresses subsequent to the ending address are all equal to the specific data pattern.