SSD Memory Controller Write Consistency via Dual-Die Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for replicating data in cloud storage, such as server-to-server and server-to-SSD, are prone to data loss due to single points of failure and are inefficient, while RAID replication is expensive and time-consuming with significant hardware requirements and failure points.

Innovation Solution

A solid state drive (SSD) architecture that writes data payloads to both a primary and secondary memory die, with a memory controller managing write commands and updating status, ensuring redundant copies and efficient data replication, thereby reducing the risk of data loss and failure points.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If server-to-server replication is used, then data can be replicated across servers, but there is a high risk of data loss due to single points of failure and network connection failures

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines server-to-SSD replication with SSD-to-SSD replication across different locations. The SSD device acts as an intermediary that receives data from the host server and simultaneously replicates it to a remote SSD device, merging multiple replication functions into a unified architecture that eliminates single points of failure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The SSD device serves as an intermediary between the host server and the remote storage system. It receives write commands from the host, maintains a journal of pending operations, and manages the replication process to a remote SSD, thereby isolating the host from network failures and providing a reliable replication mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If RAID replication is used, then data redundancy is achieved, but it is expensive, time consuming, and hardware intensive with significant processing cycles and permanent memory capacity requirements

Engineering Contradiction:
Improvedata redundancyVSAvoidreplication speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses a journal with a limited lifespan and automatic cleanup mechanism. The journal stores pending write operations temporarily and is cleared once replication is confirmed, avoiding the need for permanent additional memory capacity while still providing robust replication tracking and recovery capabilities.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The system performs preliminary actions by maintaining a journal of pending write operations before actual replication occurs. This allows the system to track and manage replication status in advance, enabling efficient batch processing and reducing the time required for actual data transfer compared to traditional RAID methods.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If RAID replication is used, then data redundancy is provided, but it requires significant hardware resources including processing cycles and permanent memory capacity

Engineering Contradiction:
Improvedata protectionVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory allocation where the journal size and retention period adapt based on replication progress and system conditions. The journal automatically expands when needed to track pending operations and contracts or clears once replication is confirmed, optimizing memory usage without sacrificing data protection capabilities.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system discards journal entries and temporary data structures once replication is successfully confirmed, recovering memory capacity for future operations. This cyclic pattern of allocating memory for replication tracking and then releasing it after successful completion eliminates the need for permanent additional memory capacity while maintaining robust data protection.

Inventive Principle:
Principle #34Discarding and recovering

4Productivity

If conventional server-to-SSD replication is used, then data can be written to SSD storage, but there is potential for data loss if replication does not proceed to completion

Engineering Contradiction:
Improvewrite speedVSAvoidwrite consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the SSD controller continuously monitors the replication status and maintains a journal of pending write operations. The system only confirms write completion to the host after verifying that data has been successfully replicated to the remote SSD, providing real-time feedback on replication status and ensuring write consistency without sacrificing speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary replication to the remote SSD before confirming write completion to the host. By advancing the replication process in advance and tracking it through the journal mechanism, the system ensures that data is already replicated when the host needs confirmation, maintaining both high write speed and reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11340826B2Systems and methods for strong write consistency when replicating data
Publication Date: 2022.05.24 KIOXIA CORP
  • US11340826B2 patent drawing
  • US11340826B2 patent drawing
  • US11340826B2 patent drawing

AI summary

A solid state drive is provided for improving write consistency when replicating data. The solid state drive includes a plurality of memory die, a host interface, and a memory controller. The memory controller is configured to receive write commands from a host server, update a list of write commands and a status of execution of the write commands to include the write commands from the host server, and write data payloads associated with the write commands to at least a first memory die and a second memory die of the plurality of memory die. In response to the data payloads being written, the memory controller is configured to update the status of execution for the data payloads in the list of write commands and receive an indication that the data payloads have been written to an external device.