Cache Controller Priority Management for Memory Subsystem Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory subsystems do not effectively prioritize read requests from host systems, leading to increased latency and inefficiencies in processing, as they treat all memory requests equally without considering their origin or dependency, resulting in suboptimal quality of service (QoS).

Innovation Solution

The memory subsystem employs a cache controller that assigns high priority to read requests from host systems and their dependencies, while limiting the number of outstanding low-priority requests, ensuring that high-priority requests are always available by alternating issuance and using a high priority flag, thereby prioritizing read requests over write and other requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If all memory requests are treated equally without prioritization, then the memory subsystem maintains simple processing logic, but the latency of read requests from host systems increases significantly

Engineering Contradiction:
Improvelatency of read requestsVSAvoidprocessing logic complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different priority levels to different types of memory requests. Specifically, read requests from host systems are assigned high priority while other requests (such as write requests or requests from other sources) are assigned low priority. This differentiation in treatment based on request characteristics resolves the contradiction by reducing read request latency through prioritization while maintaining relatively simple processing logic through clear priority classification.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of request priority from a uniform state to a differentiated state. By introducing priority levels (high and low) and using a high priority flag to mark specific requests, the system dynamically adjusts the processing order based on request type and origin. This parameter change enables the system to reduce latency for critical read requests while maintaining manageable complexity through structured priority management.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the memory subsystem prioritizes read requests from host systems, then the quality of service for host systems improves, but the complexity of command management increases

Engineering Contradiction:
Improvequality of serviceVSAvoidcommand management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments memory requests into distinct priority categories (high priority and low priority) based on their origin and type. Read requests from host systems are segmented into the high priority category, while other requests are placed in the low priority category. This segmentation improves quality of service for host systems by ensuring their requests are processed first, while the complexity of command management is controlled through clear segmentation rules and a straightforward priority-based processing mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic priority management where the processing order of memory commands is adjusted based on the presence of high priority requests. The system dynamically switches between processing high priority requests (when present) and low priority requests (when no high priority requests are pending). This dynamic approach improves quality of service by responsive prioritization while managing complexity through adaptive rather than rigid control logic.

Inventive Principle:
Principle #15Dynamics

3Speed

If the memory subsystem processes all memory requests in order of receipt, then the processing logic remains simple, but the latency for high-priority read requests increases

Engineering Contradiction:
Improveprocessing speed of read requestsVSAvoidrequest handling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by assigning priority flags to memory requests at the time of their creation or reception, before actual processing occurs. Read requests from host systems are pre-marked with high priority status, ensuring they will be processed ahead of low priority requests. This preliminary classification enables faster processing speed for critical read requests while maintaining simple request handling complexity through upfront rather than runtime decision-making.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11301383B2Managing processing of memory commands in a memory subsystem with a high latency backing store
Publication Date: 2022.04.12 MICRON TECHNOLOGY INC
  • US11301383B2 patent drawing
  • US11301383B2 patent drawing
  • US11301383B2 patent drawing

AI summary

A method is described for managing the issuance and fulfillment of memory commands. The method includes receiving, by a cache controller of a memory subsystem, a first memory command corresponding to a set of memory devices. In response, the cache controller adds the first memory command to a cache controller command queue such that the cache controller command queue stores a first set of memory commands and sets a priority of the first memory command to either a high or low priority based on (1) whether the first memory command is of a first or second type and (2) an origin of the first memory command.