Storage Controller Atomic Writes for Out-of-Place Data Updates
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


