JIT Scheduler for Memory Subsystems Reducing Host Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory subsystems face issues with increased latency due to die contention and head-of-line blocking, where background operations temporarily render the system unavailable to the host, and prioritizing host-initiated memory access can starve background operations, leading to inefficiencies in data transfer and resource management.

Innovation Solution

A just-in-time (JIT) scheduler is implemented to manage buffer allocations, data transfers, and memory operation submissions, using multiple scheduling pools and a quality of service (QoS) traffic manager to prioritize requests and allocate resources effectively, ensuring that no traffic class is starved and reducing latency by managing QoS credits and backend resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If background operations are executed in memory subsystems, then data management functions (wear leveling, garbage collection, ECC) are performed, but host-initiated memory access experiences increased latency due to die contention and head-of-line blocking

Engineering Contradiction:
Improvedata management function executionVSAvoidhost command latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments memory operations into different pools based on priority and type. High-priority host-initiated operations are separated from lower-priority background operations into distinct scheduling pools, allowing them to be processed independently without mutual interference. This segmentation eliminates head-of-line blocking where background operations would otherwise delay host commands.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic scheduling where the memory controller adapts operation scheduling in real-time based on system conditions. The scheduler dynamically adjusts which operations are executed and when, prioritizing host commands when they arrive while still ensuring background operations eventually execute. This dynamic approach optimizes latency by responding to actual workload conditions rather than following a fixed schedule.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If host-initiated memory access is prioritized to reduce latency, then host command response time improves, but background operations are starved and cannot execute properly

Engineering Contradiction:
Improvehost command response timeVSAvoidbackground operation execution
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent ensures continuous execution of both host-initiated and background operations through multiple scheduling pools. Instead of allowing background operations to be completely starved during host access bursts, the system maintains continuous progress on background tasks by executing them in dedicated pools when resources are available. This ensures wear leveling, garbage collection, and ECC operations continue without interruption while still prioritizing host commands.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements feedback mechanisms where the memory controller monitors the execution status of both host and background operations. When background operations fall behind or resources become available, the scheduler adjusts priorities to ensure background tasks execute. This feedback loop prevents starvation by continuously monitoring and adjusting scheduling decisions based on actual system state and operation completion status.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple memory operations access the same die simultaneously, then throughput is increased, but die contention occurs leading to increased latency

Engineering Contradiction:
Improvememory operation throughputVSAvoidcommand latency due to die contention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments operations destined for the same die into different scheduling pools based on priority and timing requirements. By separating high-priority host commands from lower-priority background operations that target the same die, the system allows high-priority operations to execute without being delayed by lower-priority contention. This segmentation maintains throughput by ensuring all operations eventually execute while eliminating latency spikes from contention.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240078199A1Just-in-time (JIT) scheduler for memory subsystems
Publication Date: 2024.03.07 MICRON TECHNOLOGY INC
  • US20240078199A1 patent drawing
  • US20240078199A1 patent drawing
  • US20240078199A1 patent drawing

AI summary

A just-in-time (JIT) scheduling method includes the operations of: receiving a request to perform a memory operation using a hardware resource associated with a memory device; determining a type of the memory operation; identifying a traffic class corresponding to the memory operation; determining, based on the traffic class and the type of the memory operation, whether the memory operation is to be processed during a current scheduling time frame; and responsive to determining the memory operation is to be processed during the current scheduling time frame, submitting the memory operation to the memory device.