Flash Translation Layer Stamp Sequence for SSD Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The asynchronous data write issue in flash memory-based SSDs leads to difficulties in maintaining data integrity during reboot, as the flash translation layer tables are not instantly updated, causing challenges in distinguishing between host write and garbage collection blocks, resulting in inefficiencies and resource wastage.

Innovation Solution

A memory management method that uses stamps to differentiate between host write and garbage collection blocks by updating the stamps in a specific sequence, ensuring that the flash translation layer tables are updated correctly even after reboot, thereby maintaining data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hot/cold data separation FTL is used to improve garbage collection efficiency, then garbage collection efficiency is improved, but asynchronous data write issue occurs between host write block and garbage collection block

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a third physical block as an intermediary for garbage collection operations, separating it from the host write block. This mediator block allows garbage collection to proceed independently without interfering with host writes, while the write sequence number mechanism ensures proper ordering and data integrity across all blocks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses write sequence numbers as a parameter to track and distinguish the order of writes across different physical blocks. By comparing write sequence numbers, the system can determine which block contains the latest valid data, resolving the asynchronous write issue without sacrificing garbage collection efficiency.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If FTL tables are not instantly updated to save resources, then resource consumption is reduced, but time slot window appears causing data integrity issues after reboot

Engineering Contradiction:
Improveresource consumptionVSAvoiddata integrity
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent performs preliminary actions by recording write sequence numbers in the FTL tables before actual write operations complete. This preliminary recording allows the system to reconstruct the correct data state after reboot without requiring continuous table updates, thus saving resources while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If firmware compares data in host write block and garbage collection block to identify valid data, then data recovery is achieved, but great deal of time is consumed in comparing logical block addresses

Engineering Contradiction:
Improvedata recoveryVSAvoiddata comparison time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the critical identification information (write sequence numbers) from the complex data comparison task. By storing and comparing only these sequence numbers rather than full logical block addresses, the system achieves rapid identification of valid data with minimal time consumption while ensuring accurate data recovery.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10120615B2Memory management method and storage controller using the same
Publication Date: 2018.11.06 SHENZHEN EPOSTAR ELECTRONICS LTD
  • US10120615B2 patent drawing
  • US10120615B2 patent drawing
  • US10120615B2 patent drawing

AI summary

A memory management method is provided. The method includes writing a plurality of first data into a first physical block and storing a first stamp corresponding to the first physical block; writing a plurality of second data into a second physical block and storing a second stamp corresponding to the second physical block, wherein the second stamp is greater than the first stamp; moving a plurality of third data in the first data in the first physical block to a third physical block, wherein the third data are valid data and the third data match a specific type; and storing a third stamp corresponding to the third physical block and updating the second stamp corresponding to the second physical block to a fourth stamp, wherein the fourth stamp is greater than the third stamp and the third stamp is greater than or equal to the second stamp.