Dynamic Polling Timer Adjustment for Memory Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory sub-systems experience significant latency in responding to read requests due to the inability to initiate the program suspend protocol during the periodic status polling phase, leading to increased command operation time and degraded quality of service, especially in mixed workloads with a high percentage of read commands.

Innovation Solution

A memory sub-system controller dynamically adjusts the initial polling timer based on the workload type, increasing it for mixed workloads to allow for program suspend operations, thereby reducing read latency and improving overall performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the initial polling timer is set to a fixed value for program workloads, then program command processing is efficient, but read latency increases significantly in mixed workloads due to inability to initiate program suspend protocol

Engineering Contradiction:
Improveprogram command processing efficiencyVSAvoidread latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies dynamics by transitioning from a fixed initial polling timer to a dynamically adjustable one. The controller now adapts the timer value based on workload characteristics: using a first value for program workloads and a second value for mixed workloads. This dynamic adjustment enables the system to optimize for program efficiency when needed while reducing read latency in mixed workloads by allowing program suspend protocol initiation during the extended polling period.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If the initial polling timer is increased to allow program suspend operations, then read latency decreases, but command operation time increases for pure program workloads

Engineering Contradiction:
Improveread latencyVSAvoidcommand operation time
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

The patent applies parameter changes by modifying the initial polling timer parameter based on workload type. Instead of using a single timer value, the system changes the parameter to match operational requirements: a first timer value for program workloads maintains efficient command processing, while a second timer value for mixed workloads enables program suspend operations and reduces read latency. This conditional parameter adjustment resolves the trade-off between the two performance metrics.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a fixed polling timer is used, then device complexity is low, but adaptability to different workload types deteriorates

Engineering Contradiction:
Improvepolling timer control complexityVSAvoidworkload type adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies feedback by implementing a workload detection mechanism that monitors incoming command patterns and provides information to the controller about the current workload type. Based on this feedback, the controller automatically selects the appropriate initial polling timer value. This feedback loop enables the system to adapt to different workload types without manual intervention while maintaining relatively simple device complexity through automated decision-making.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240160367A1Dynamically adjusting the initial polling timer in memory devices
Publication Date: 2024.05.16 MICRON TECHNOLOGY INC
  • US20240160367A1 patent drawing
  • US20240160367A1 patent drawing
  • US20240160367A1 patent drawing

AI summary

Systems and methods are disclosed including a memory device and a processing device operatively coupled to the memory device. The processing device can perform operations comprising receiving, from a host system, a memory access command; responsive to determining that the memory access command is a program command, incrementing a consecutive counter value; determining whether the consecutive counter value satisfies a threshold criterion; responsive to determining that the consecutive counter value satisfies a threshold criterion, and setting an initial polling timer to a value associated the consecutive counter value satisfying the threshold criterion.