Solid-State Drive Array Write Atomicity via FTL Separation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In RAID technology, ensuring atomicity of data write operations across multiple solid-state drives is challenging, especially when power is interrupted during write operations, leading to inconsistencies and invalidation of data redundancy.

Innovation Solution

The method separates data storage and FTL list updates, using write logs to maintain consistency and integrity by generating update commands for each data block, sending them to solid-state drives, and re-triggering FTL updates based on stored logs after power restoration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data write operations are performed concurrently on multiple disks in the disk array, then data write speed is improved, but atomicity of write operations cannot be ensured when power is interrupted

Engineering Contradiction:
Improvedata write speedVSAvoidatomicity of write operations
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating checkpoints before data write operations and recording operation logs. When power is interrupted, these preliminary records enable the system to restore atomicity by determining which operations were completed and which need to be rolled back, thus ensuring reliability without sacrificing concurrent write speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system waits for all write operations to complete before acknowledging success, then atomicity is ensured, but data write speed decreases

Engineering Contradiction:
Improveatomicity of write operationsVSAvoiddata write speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback mechanisms through operation logs and checkpoints that track the status of concurrent write operations. This feedback allows the system to acknowledge write success to the host before all operations complete, while still ensuring atomicity through post-power-on verification using the logged information, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #23Feedback

3Reliability

If extra verification and recovery procedures are implemented to ensure atomicity, then data integrity is improved, but I/O overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidI/O overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces operation logs and checkpoints as intermediary structures that mediate between concurrent write operations and atomicity verification. These intermediaries record operation states without blocking I/O flow, allowing the system to verify atomicity and perform recovery only when necessary, thus improving data integrity while minimizing I/O overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3726364B1Data write-in method and solid-state drive array
Publication Date: 2022.07.27 HUAWEI TECH CO LTD
  • EP3726364B1 patent drawingFigure 1
  • EP3726364B1 patent drawingFigure 2
  • EP3726364B1 patent drawingFigure 3

AI summary

The present invention provides a data write method and a solid-state drive array. The solid-state drive array is based on a RAID system and includes n solid-state drives. Before to-be-written data is written into the solid-state drive array, the to-be-written data is divided into n data blocks that are in a one-to-one correspondence with the n solid-state drives. After the n data blocks are all stored into the corresponding solid-state drives, FTL update of the n data blocks is performed, to complete write of the to-be-written data. If the solid-state drive array is powered off during storage of the n data blocks, because FTL update of the data blocks is not performed, all the n data blocks fail to be written into the solid-state drive array, thereby ensuring atomicity of write operations of the n data blocks.