Nonvolatile Memory Read Scheduling During Erase and Program
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently controlling access to nonvolatile memories, particularly in balancing the execution of read, erase, and program commands to manage latency and ensure optimal performance in storage devices like SSDs.
Innovation Solution
A memory system controller employs a scheduling algorithm that prioritizes commands based on cumulative weights, suspending longer operations like erase/program commands when certain conditions are met to maintain optimal read command execution and reduce latency variability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If erase/program commands are executed with high priority, then data management operations are completed faster, but read command latency increases significantly
Solution Approach 1:
The scheduler dynamically adjusts command execution priority based on real-time system state and command types. Read commands are assigned higher priority during normal operation, while erase/program commands can be expedited when memory management requires, creating a flexible priority system that adapts to different operational conditions rather than using fixed priorities
Solution Approach 2:
A command scheduling algorithm acts as an intermediary between command submission and execution. This scheduler queue manages the timing and priority of different command types, buffering read and erase/program commands to balance their execution without direct conflict, thereby reducing read latency while still completing data management operations
2Loss of time
If read commands are prioritized over erase/program commands, then read latency is reduced, but data management efficiency deteriorates
Solution Approach 1:
The scheduling system implements periodic evaluation of command queues and memory state, alternating between prioritizing read commands for low latency and processing erase/program commands for data management. This periodic switching ensures both read performance and data management efficiency are maintained over time rather than one consistently dominating
3Reliability
If command execution is strictly sequential, then resource conflicts are avoided, but overall system throughput decreases
Solution Approach 1:
The system transitions from strict sequential execution to dynamic parallel execution where multiple commands can be processed simultaneously based on resource availability and command compatibility. The scheduler monitors system state and adjusts execution patterns in real-time, allowing parallel processing when safe and sequential when conflicts might occur
Solution Approach 2:
The command scheduling system uses feedback from memory state monitoring and command completion status to dynamically adjust execution timing. When resources are available and no conflicts are detected, commands are executed in parallel; when conflicts are anticipated, the scheduler adjusts timing to maintain stability while still improving throughput compared to strict sequencing
Data Source
AI summary
According to one embodiment, when a command executed in a nonvolatile memory is an erase/program command and when a cumulative weight value satisfies a condition that a first input is selected as an input of high priority, a memory system suspends execution of the erase/program command by transmitting a suspend command to the nonvolatile memory. The memory system repeats executing an operation of starting the execution of one read command of the first input and an operation of updating the cumulative weight by using the weight associated with the read command until read command no longer exists in the first input or until the condition that the cumulative weight is larger than the first value is not satisfied, and resumes the execution of the suspended erase/program command.


