Flash Memory Write Latency via Dynamic Queue Priority

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices face challenges in meeting latency requirements during data writes, especially when in a dirty mode, due to the need for Host-Flash table updates and garbage collection processes, which can lead to increased waiting times for host write commands.

Innovation Solution

A method is introduced to determine if immediate host write commands are present in the submission queue before performing Host-Flash table updates or garbage collection processes, executing these commands in batches to prioritize immediate writes and optimize processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Host-Flash table updates and garbage collection processes are performed in NAND flash memory, then data integrity and storage reliability are improved, but write latency increases and QoS requirements are not met

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

Solution Approach 1:

The patent implements dynamic priority adjustment for host write commands based on queue depth and latency thresholds. When the submission queue contains fewer than a threshold number of commands or latency exceeds a threshold, the system dynamically changes priority from background maintenance tasks to immediate host write processing, allowing flexible adaptation between reliability and latency requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs self-service by autonomously monitoring its own queue depth and latency metrics, then automatically adjusting the priority of maintenance tasks versus host commands without external intervention. The controller itself manages the trade-off between garbage collection/table updates and host write latency by evaluating its own state

Inventive Principle:
Principle #25Self-service

2Productivity

If garbage collection processes are performed to prevent insufficient write space, then storage availability is improved, but write latency increases due to process execution time

Engineering Contradiction:
Improvestorage availabilityVSAvoidwrite latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts the execution priority of garbage collection based on real-time queue depth monitoring. When host write commands exceed a threshold in the submission queue, garbage collection is deferred or interrupted, allowing the system to prioritize immediate host writes over background maintenance, thus reducing write latency while maintaining storage availability

Inventive Principle:
Principle #15Dynamics

3Reliability

If Host-Flash table updates are performed to reduce SPO recovery time, then system reliability is improved, but immediate host write command processing is delayed

Engineering Contradiction:
ImproveSPO recoveryVSAvoidcommand processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic priority switching where the system evaluates queue depth and latency metrics to determine whether to proceed with Host-Flash table updates or prioritize immediate host write commands. When latency thresholds are exceeded or queue depth is low, the system dynamically suspends table updates in favor of host command processing, balancing SPO recovery preparation with immediate productivity requirements

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11960396B2Method and computer program product for performing data writes into a flash memory
Publication Date: 2024.04.16 SILICON MOTION INC
  • US11960396B2 patent drawing
  • US11960396B2 patent drawing
  • US11960396B2 patent drawing

AI summary

The invention introduces a method for performing data writes into a flash memory, at least including the steps: determining whether at least one host write command that requires to process immediately is presented in a submission queue (SQ) before performing a portion of a Host-Flash mapping (H2F) table update or a GC process; and executing the host write command that requires to process immediately in a batch and then performing the portion of the H2F table update or the GC process when the determination is positive.