Non-Volatile Storage Access Performance Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The access performance of non-volatile storage devices deteriorates when programming data of a size smaller than the fixed minimum program number (FMPN), as existing methods require combining such data with additional data to reach the FMPN, leading to inefficient data transfer and reduced performance.

Innovation Solution

Divide the FMPN into three parts: a L side, an M side, and a dummy side, where the L side stores the data to be updated, the M side is read into the storage buffer, and the dummy side is used to combine with the L and M sides to form a final data block that meets the FMPN, optimizing data transfer by minimizing unnecessary data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data smaller than FMPN is combined with additional data to reach FMPN, then the programming requirement is met, but the data transfer amount increases and access performance deteriorates

Engineering Contradiction:
Improveprogramming requirement complianceVSAvoidaccess performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The FMPN data block is segmented into three parts: L side (data to be updated), M side (data to be read), and dummy side (padding data). This segmentation allows selective processing where only necessary data portions are transferred, avoiding the need to transfer entire FMPN blocks when only small updates are required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the FMPN block are treated differently: the L side receives new data, the M side is read from storage, and the dummy side is filled with padding. This local differentiation allows the system to optimize data transfer by only moving necessary data portions rather than treating the entire block uniformly.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If FMPN is increased, then the programming capacity per operation increases, but the access performance for small data sizes deteriorates

Engineering Contradiction:
Improveprogramming capacityVSAvoidaccess performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By segmenting the FMPN block into L side, M side, and dummy side, the system can handle small data updates efficiently even when FMPN is large. Only the necessary L side and M side portions are transferred, while the dummy side is locally generated, preventing performance degradation with larger FMPN values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial action by only transferring the necessary data portions (L side and M side) rather than the entire FMPN block. The dummy side is handled locally without transfer, representing an excessive action that is avoided through selective processing.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If complement data is read out to maintain validity, then data integrity is preserved, but the data transfer amount increases

Engineering Contradiction:
Improvedata integrityVSAvoiddata transfer amount
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The M side data is selectively read from storage to maintain integrity of existing valid data, while the L side is updated with new data. The dummy side is locally generated without requiring transfer, optimizing the balance between data integrity and transfer efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9690489B2Method for improving access performance of a non-volatile storage device
Publication Date: 2017.06.27 STORART TECHSHENZHEN CO LTD
  • US9690489B2 patent drawing
  • US9690489B2 patent drawing
  • US9690489B2 patent drawing

AI summary

A method for improving access performance of a non-volatile storage device when programming data of a size smaller than a fixed minimum program number (FMPN) is disclosed. The method includes the steps of: predetermining a size of a blank data section for combining with a first data section and a second data section, the total size of the first data section, the second data section and the blank data section equals the FMPN; reading out data located at the second data section; updating a new data to the first data section; combining the new data with the data at the second data section; and incorporating the combined data with the blank data of the blank data section to become a final data, and programming the final data.