Dual Buffer SSD for Data Integrity During Host Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid State Drives (SSDs) face a tradeoff between performance and data integrity when handling dirty data in volatile buffers before writing to non-volatile flash memory, as existing methods either compromise data integrity or introduce inefficient command latencies and flash usage inefficiencies.

Innovation Solution

Implementing a dual buffer system within the SSD, where a primary buffer handles normal operations and a secondary buffer provides a temporary backup for dirty data during host writes, ensuring data integrity without significant performance loss, by allocating two memory pages for each cache entry and using a copy engine for data transfer between buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dirty data is transferred to the same buffer location to overwrite, then host performance is improved, but data integrity is compromised

Engineering Contradiction:
Improvehost performanceVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates a copy of the dirty data from the first buffer location to a second buffer location before overwriting. This copying mechanism preserves the original dirty data as a backup, allowing the system to maintain data integrity while enabling efficient overwrites in the first buffer location, thus resolving the contradiction between host performance and data integrity.

Inventive Principle:
Principle #26Copying

2Reliability

If dirty data is flushed to media before accepting new host data, then data integrity is ensured, but command latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidcommand latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary copying of dirty data to a second buffer location before the overwrite operation. This preliminary action prepares the backup in advance, so when new host data needs to be written, the system can safely overwrite the first buffer location without flushing to media first, thereby ensuring data integrity while avoiding the latency penalty of immediate flushing.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a full page program is performed to protect dirty data, then data integrity is maintained, but flash usage efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidflash usage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the buffer into multiple locations (first buffer location and second buffer location) rather than using a single buffer. This segmentation allows the system to protect dirty data by copying to a specific second location rather than performing a full page program, thereby maintaining data integrity while improving flash usage efficiency by avoiding unnecessary writes.

Inventive Principle:
Principle #1Segmentation

4Productivity

If volatile buffer is used to aggregate write data, then write performance is improved, but data loss risk increases during power failure

Engineering Contradiction:
Improvewrite performanceVSAvoiddata safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a copying mechanism where dirty data in the volatile buffer is replicated to a second buffer location before being overwritten. This creates redundant copies of critical data within the volatile buffer, reducing the risk of data loss during power failures while maintaining the performance benefits of volatile memory aggregation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9910619B2Dual buffer solid state drive
Publication Date: 2018.03.06 KIOXIA CORP
  • US9910619B2 patent drawing
  • US9910619B2 patent drawing
  • US9910619B2 patent drawing

AI summary

A solid state drive includes a dual buffer for buffering incoming write data prior to committal to a non-volatile memory. The buffer is operated to provide a temporary backup of dirty data pending successful completion of a host transfer. The dual buffer may be operated as a primary buffer and a secondary buffer. The primary buffer may be used as the default buffer during normal operation. The secondary buffer is written to during a host transfer that is a cache write to dirty data. A copying process may be used to copy data between the primary and the secondary buffer to preserve the backup data pending successful completion of the host transfer.