Storage Controller Atomic Writes for Out-of-Place Data Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices face challenges in performing efficient atomic writes, particularly in log-structured file systems where the logical addresses of old and new data may differ, leading to inefficiencies and the need for improved data management during updates.

Innovation Solution

A storage device and host system that includes a non-volatile memory, volatile memory, and a storage controller to manage atomic writes by using remap commands, metadata write commands, and mapping information to ensure simultaneous updates of data and metadata, reducing the need for additional metadata writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a log-structured file system uses out-of-place update method, then data can be written to different locations, but the logical address of old data differs from new data requiring additional mapping management

Engineering Contradiction:
Improveflexibility in data locationVSAvoidmapping information management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a remap command as an intermediary mechanism that coordinates between the host and storage device. This remap command carries mapping information that links old data locations to new data locations, allowing the storage device to manage the complexity of out-of-place updates without requiring the host to handle detailed mapping operations. The remap command acts as a mediator that simplifies the interface while enabling flexible data relocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage device performs preliminary actions by pre-allocating space and preparing mapping structures before actual data updates occur. The device maintains mapping information in advance, allowing it to quickly redirect read operations to new locations without requiring real-time address translation during data access. This preliminary preparation reduces the computational burden during active data operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If metadata is written separately from data, then data and metadata can be managed independently, but additional metadata write operations increase write overhead

Engineering Contradiction:
Improveindependent data and metadata managementVSAvoidwrite operation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the metadata write operation with the data write operation by implementing atomic write functionality. When the storage device receives a write command, it simultaneously updates both the data blocks and the corresponding metadata in a single atomic operation. This combining of operations eliminates separate metadata write steps, reducing write overhead while maintaining the logical independence of data and metadata management through the use of write barriers and transactional semantics.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the operational parameters of the write process by introducing atomic write semantics and transaction IDs. Instead of treating data and metadata writes as separate sequential operations, the system uses a single transaction ID to group related write operations, allowing them to be executed atomically. This parameter change transforms the write process from multiple independent operations to a coordinated atomic operation, improving efficiency while preserving management independence.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If power supply is blocked during data writing, then data may be lost or corrupted, but implementing atomic write requires additional mechanisms to ensure data integrity

Engineering Contradiction:
Improvedata integrity during power interruptionVSAvoidatomic write mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage device implements beforehand cushioning by maintaining write barriers and transaction logs that protect against power interruptions. Before committing data to non-volatile storage, the device prepares atomic write structures and uses write barriers to ensure that either all data and metadata are written together or none are written. This preparatory cushioning mechanism ensures data integrity during power failures without requiring complex recovery procedures, as the atomic write structures inherently protect against partial writes.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent uses copying mechanisms by maintaining redundant copies of mapping information and using write barriers that create checkpoint copies of the storage state. When a write operation is initiated, the device creates a copy of the relevant metadata and data structures, then atomically updates them. If power is lost during the process, the copy mechanism ensures that either the original or the updated state is preserved, but never a corrupted intermediate state. This copying approach provides reliability without requiring overly complex atomic write mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12386558B2Storage device performing atomic write, host controlling storage device, and operating method of storage device
Publication Date: 2025.08.12 SAMSUNG ELECTRONICS CO LTD
  • US12386558B2 patent drawing
  • US12386558B2 patent drawing
  • US12386558B2 patent drawing

AI summary

A storage device includes a non-volatile memory; a volatile memory; and a storage controller configured to: receive a new data and append data write command from a host, write new data and append data to at least one of the non-volatile memory and the volatile memory, receive, from the host, a remap command including mapping information between old data and the new data and a first identification (ID), based on the remap command, store in the volatile memory the mapping information between the old data and the new data and the first ID, receive, from the host, a metadata write command requesting writing meta data for the append data and including the first ID, and based on the metadata write command, update the mapping information between the old data and the new data, and write metadata related to the append data to the non-volatile memory.