SLC/MLC Storage Queue Timing for Free-Block Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges in managing host write commands efficiently, particularly in critical situations where the availability of single-level cell (SLC) blocks is low, leading to potential read-only mode due to insufficient free space and increased risk of command timeouts.

Innovation Solution

The controller delays execution of host write commands based on their pending time in the queue and dynamically adjusts the delay based on available SLC blocks, prioritizes critical commands, and uses timers to manage command execution, ensuring sufficient time for internal operations to recover SLC blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the data storage device executes host write commands immediately from the queue, then command response time is improved, but SLC block availability decreases leading to read-only mode

Engineering Contradiction:
Improvecommand response timeVSAvoidSLC block availability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary detection of SLC block availability and pending time assessment before executing write commands. By checking these conditions in advance and delaying execution when necessary, the system ensures SLC blocks are available before commands are processed, preventing read-only mode while maintaining responsive command handling.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the data storage device delays execution of host write commands to perform internal memory operations, then SLC block availability is improved, but command response time increases

Engineering Contradiction:
ImproveSLC block availabilityVSAvoidcommand response time
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically adjusts the delay duration based on real-time conditions including pending time of commands and current SLC block availability. This dynamic adaptation allows the system to minimize delays when possible while ensuring sufficient time for internal operations, optimizing both reliability and response time based on current system state.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the data storage device prioritizes critical commands over other commands, then command reliability is improved, but queue management complexity increases

Engineering Contradiction:
Improvecommand execution reliabilityVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different quality levels of service to different commands based on their criticality and pending time. Critical commands with long pending times receive priority treatment with shorter delays, while non-critical commands follow standard delay protocols. This localized differentiation improves command reliability without requiring complete reorganization of queue management.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12417053B2Data storage device and method for delaying execution of a host write command to perform an internal memory operation
Publication Date: 2025.09.16 SANDISK TECHNOLOGIES LLC
  • US12417053B2 patent drawing
  • US12417053B2 patent drawing
  • US12417053B2 patent drawing

AI summary

A data storage device and method for delaying execution of a host write command to perform an internal memory operation. In one embodiment, a data storage device is provided comprising a memory with single-level cell (SLC) blocks and multi-level cell (MLC) blocks, as well as a controller. The controller is configured to store, in a queue, a plurality of write commands received from a host, wherein each write command is associated with a timeout window; determine how long each of the plurality of write commands has been pending in the queue; and for each write command, delay execution of the write command within the write command's timeout window until the write command has been pending in the queue for a specified amount of time, wherein delaying execution of each write command provides the controller with time to perform a memory operation to increase an amount of available SLC blocks in the memory. Other embodiments are provided.