Nonvolatile Memory Command Scheduling for Read Latency Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently managing access to nonvolatile memory, particularly in balancing the execution of erase/program commands with read commands to maintain low latency and prevent excessive suspension of operations.
Innovation Solution
A memory system controller suspends and resumes erase/program commands based on conditions such as the number of read commands or elapsed time, using a scheduler to manage cumulative weights and virtual time, ensuring efficient execution of read commands and reducing latency variations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If erase/program commands are executed continuously to maintain high productivity, then memory operation throughput is improved, but read command latency increases due to excessive suspensions
Solution Approach 1:
The scheduler dynamically adjusts the execution strategy of erase/program commands based on real-time system state. When read latency thresholds are exceeded, the scheduler transitions from continuous erase/program execution to selective suspension, allowing read commands to be executed promptly. This dynamic adaptation resolves the contradiction by making the system flexible enough to prioritize reads when necessary while maintaining high throughput during normal operation.
Solution Approach 2:
The system implements feedback mechanisms where the scheduler monitors read command latency and adjusts erase/program command execution accordingly. When latency exceeds thresholds, the scheduler receives feedback and modifies behavior by suspending or resuming commands. This closed-loop control ensures that read latency is kept within acceptable bounds while maximizing overall memory operation productivity.
2Speed
If read commands are prioritized to reduce read latency, then read access speed is improved, but erase/program operation efficiency deteriorates due to frequent suspensions
Solution Approach 1:
The scheduler applies partial suspension of erase/program commands rather than complete interruption. By suspending only when read latency thresholds are exceeded and resuming when thresholds are satisfied, the system achieves partial action that prioritizes reads when necessary without completely halting erase/program operations. This resolves the contradiction by balancing read speed improvement with maintained erase/program efficiency.
Solution Approach 2:
The system changes operational parameters dynamically by adjusting the suspension/resumption behavior of erase/program commands based on read latency conditions. When read access speed needs improvement, parameters are changed to allow suspensions; when efficiency is paramount, parameters return to continuous execution mode. This parameter-based adaptation resolves the contradiction between read speed and erase/program efficiency.
3Adaptability or versatility
If the scheduler manages cumulative weights and virtual time to balance command execution, then command scheduling flexibility is improved, but system complexity increases
Solution Approach 1:
The scheduler acts as an intermediary layer between read commands and erase/program commands, managing cumulative weights and virtual time to balance their execution. This intermediary mechanism provides the flexibility to adapt scheduling decisions based on system state without requiring complex changes to the underlying memory operations. The scheduler absorbs the complexity while presenting a simplified interface for command management.
Solution Approach 2:
The system introduces virtual time and cumulative weight as additional dimensions for scheduling decisions beyond simple command queuing. By operating in this extended dimensional space, the scheduler achieves flexible command balancing without requiring complex temporal or spatial management. The virtual time dimension allows the system to track and balance command execution in a way that simplifies overall scheduling logic while maintaining high adaptability.
Data Source
AI summary
According to one embodiment, when a command being executed in a nonvolatile memory is an erase/program command and either a first condition or a second condition is satisfied, a memory system suspends an execution of the erase/program command by transmitting a suspend command to the nonvolatile memory. The first condition is that either the number of read commands included in the first command group or a sum of weights associated with the read commands is equal to or greater than a first value. The second condition is that one or more read commands are included in the first command group and a time elapsed from when an execution of the erase/program command is started or resumed becomes equal to or greater than a second value.


