Flash Memory Polling Time Adjustment for IOPS Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage devices with flash memory, the inefficiency of status polling for determining if a die is busy leads to resource wastage and performance issues due to either excessive polling requests or prolonged waiting times, especially as device size increases and dedicated pins become impractical.

Innovation Solution

Logical grouping of flash memory portions based on Program/Erase cycles and physical location allows for tailored polling times to be set, adjusting initial and interval polling times based on monitored command performance latency to optimize resource usage and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If polling times are too short, then the controller can quickly determine if the die is ready, but resources are wasted with excessive polling requests and bus traffic

Engineering Contradiction:
Improvepolling speedVSAvoidresource wastage
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent implements dynamic polling time adjustment where the controller adapts polling intervals based on die status and command types. The system transitions from fixed polling to variable polling times, optimizing the balance between quick status detection and resource conservation by adjusting polling frequency according to actual die availability and operation complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller modifies polling time parameters based on monitored command performance latency and die readiness patterns. By changing the polling time parameter dynamically rather than using a fixed interval, the system achieves faster response when needed while reducing excessive polling during normal operations, thereby conserving resources.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If polling times are too long, then resource usage is reduced, but the efficiency and performance of the flash memory is wasted due to delayed command execution

Engineering Contradiction:
Improveresource usageVSAvoidflash memory efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system employs dynamic polling time adjustment that responds to die status and command characteristics. When the die is ready or commands are simple, polling intervals are extended to conserve resources. When commands are complex or the die is processing, polling intervals are shortened to maintain high productivity and prevent wasted memory efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller adjusts the polling time parameter based on monitored command performance latency and die readiness patterns. By dynamically changing this parameter, the system optimizes the trade-off between resource conservation and maintaining high flash memory throughput and IOPS performance.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If dedicated pins are used to determine die availability, then the controller can immediately know if the die is ready, but the device becomes impractical as size increases with more NAND flash dies due to insufficient pins

Engineering Contradiction:
Improvedie availability detection accuracyVSAvoidpin connection requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the die availability detection function from dedicated physical pins and implements it through software-based status polling over the memory bus. This removes the constraint of requiring one pin per die, allowing the system to scale to multiple dies without proportionally increasing pin complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory bus serves as an intermediary for status communication between the controller and multiple dies. Instead of direct pin-to-die availability signaling, the controller uses the shared memory bus to poll status registers, enabling scalable die detection without increasing physical connection complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10949115B2Flash memory polling
Publication Date: 2021.03.16 SANDISK TECHNOLOGIES LLC
  • US10949115B2 patent drawing
  • US10949115B2 patent drawing
  • US10949115B2 patent drawing

AI summary

A Data Storage Device (DSD) includes a flash memory for storing data. Portions of the flash memory are grouped into logical groups based on at least one of a number of Program/Erase (P/E) cycles and a physical level location of the portions of the flash memory. A command performance latency is monitored for each logical group, and at least one polling time for each respective logical is set based on the monitored command performance latency for the logical group. The at least one polling time indicates a time to wait before checking whether a portion of the flash memory in the logical group has completed a command.