SSD Controller Delay for Volatile to Non-Volatile Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) face data loss and potential drive failure due to unclean shutdowns of host computing systems, where the SSD does not have time to write data from volatile memory to non-volatile memory before power is lost, leading to data corruption.

Innovation Solution

A controller detects an impending power down by monitoring the power button or system signals and introduces a configurable delay between specific signals to allow the SSD to write volatile data to non-volatile memory, ensuring data preservation during unclean shutdowns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the host computing system shuts down quickly when the power button is held for a threshold period, then the shutdown speed is improved, but data loss occurs because the SSD cannot complete writing data from volatile to non-volatile memory

Engineering Contradiction:
Improveshutdown speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The controller performs preliminary action by detecting the power button hold condition and initiating a delay period before actual power shutdown. This delay provides the SSD with advance notice to complete the critical data transfer from volatile DRAM cache to non-volatile flash memory, preventing data loss while maintaining relatively fast shutdown response

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller acts as an intermediary between the host computing system's power shutdown signal and the SSD's data persistence mechanism. It introduces a configurable delay period that mediates between the rapid shutdown requirement and the data transfer completion requirement, allowing both speed and reliability to be satisfied

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a delay is introduced to allow SSD to write data from volatile to non-volatile memory, then data integrity is improved, but the shutdown time is increased

Engineering Contradiction:
Improvedata integrityVSAvoidshutdown time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller changes the parameter of power signal timing by introducing a configurable delay period between the power button hold detection and actual power removal. This parameter adjustment allows data transfer completion while keeping the overall shutdown time acceptable for user expectations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically adjusts the delay period based on the specific shutdown scenario. The delay is introduced only when unclean shutdown conditions are detected (power button hold for threshold period), and its duration can be configured to balance data transfer needs with shutdown speed requirements

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11294442B2Delay of power off to write data from volatile to non-volatile memory of a solid state drive
Publication Date: 2022.04.05 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US11294442B2 patent drawing
  • US11294442B2 patent drawing
  • US11294442B2 patent drawing

AI summary

In an example, a method, non-transitory machine-readable storage medium, and apparatus is described for preserving data in a solid state drive in the event of an unclean shutdown of the host computing system. A controller of the host computing system detects an unclean shutdown that initiates a power down of the host computing system, In response to the detecting the controller asserts a first signal that signals the solid state drive to write data in a volatile memory of the solid state drive to a non-volatile memory of the solid state drive, The controller then initiates a timer to count down a predefined delay period after the asserting. Upon an expiration of the timer, the controller asserts a second signal that instructs a power supply of the host computing system to power off.