Storage Device Buffer Flush on Host Communication Timeout

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data loss can occur in storage devices due to communication interruptions between the host and the storage device, even after recovery schemes are implemented, leading to reliability issues and potential user damage.

Innovation Solution

A storage device configuration that includes nonvolatile memory, a buffer, and a memory controller, which temporarily stores data from the host in the buffer and automatically flushes it to nonvolatile memory either upon absence of host communication, without a flush command, or before a reset command is received, using a timer to predict communication errors and prevent data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in buffer for faster access, then write speed is improved, but data loss risk increases when communication is interrupted

Engineering Contradiction:
Improvewrite speedVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory controller performs preliminary actions by detecting communication interruption through timeout and proactively flushing buffer data to nonvolatile memory before a reset command is received, preventing data loss without requiring host intervention

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller implements a feedback mechanism by monitoring communication status with the host and automatically triggering buffer flush operations when communication interruption is detected, creating a closed-loop system that responds to actual system state

Inventive Principle:
Principle #23Feedback

2Reliability

If automatic flush is performed on communication interruption, then data loss is prevented, but device complexity increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidcontrol logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory controller performs self-service by autonomously detecting communication interruptions and flushing buffer data without requiring external commands from the host, making the system self-protecting against data loss

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The timeout mechanism performs preliminary detection of communication failures, triggering buffer flush operations before the host becomes aware of the interruption, preventing data loss in advance

Inventive Principle:
Principle #10Preliminary action

3Speed

If buffer flush is delayed until flush command, then memory access speed is improved, but data integrity is compromised during interruptions

Engineering Contradiction:
Improvememory access speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The system uses feedback from timeout detection to dynamically determine when to flush buffer data, balancing speed and integrity by flushing only when communication interruption is detected rather than on fixed schedule

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The buffer flush timing is made dynamic rather than static - data is flushed based on actual communication status detected through timeout, allowing the system to optimize between speed and safety based on real-time conditions

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10599341B2Storage device operating to prevent data loss when communicating is interrupted
Publication Date: 2020.03.24 SAMSUNG ELECTRONICS CO LTD
  • US10599341B2 patent drawing
  • US10599341B2 patent drawing
  • US10599341B2 patent drawing

AI summary

A storage device comprising: at least one nonvolatile memory; a buffer; and a memory controller configured to: receive data from a host; store the data in the buffer; and flush the data in the buffer to the at least one nonvolatile memory in response to an absence of communication with the host for a reference time duration.