Memory Controller Task Aging Weight Starvation Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems, tasks can enter a starvation state due to inefficient prioritization and aging weight management, leading to performance deterioration in portable electronic devices.

Innovation Solution

A memory system that divides tasks into read and write operations, assigns different aging weights based on task types, and accumulates these weights to determine starvation states, prioritizing urgent tasks to prevent starvation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If tasks are queued based on priorities, then system organization is improved, but tasks may enter starvation state due to continuous high-priority tasks

Engineering Contradiction:
Improvetask queue managementVSAvoidtask execution guarantee
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary aging weight accumulation for tasks in the queue before execution. Each task is assigned an aging weight that increases over time based on its waiting duration and type. This preliminary action ensures that even if high-priority tasks continuously occupy the queue, low-priority tasks will eventually accumulate sufficient aging weight to be selected for execution, preventing starvation before it occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the parameter of task priority by combining original task priorities with accumulated aging weights. The selection criterion for task execution is not static but evolves based on the aging weight accumulation process. This parameter change allows the system to adapt between maintaining priority order and preventing starvation, resolving the contradiction between organized queue management and reliable task execution guarantee.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If different aging weights are assigned to read and write tasks, then task differentiation is improved, but system complexity increases

Engineering Contradiction:
Improvetask type differentiationVSAvoidaging weight management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments tasks into distinct types (read tasks and write tasks) and assigns different aging weight characteristics to each segment. Read tasks and write tasks have different aging weight accumulation rates or initial values, allowing differentiated treatment. This segmentation provides adaptability for different task types while keeping the complexity manageable by creating clear, distinct categories rather than continuous differentiation.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If urgent tasks are preferentially executed, then response time is improved, but fairness among tasks deteriorates

Engineering Contradiction:
Improveurgent task response timeVSAvoidtask execution fairness
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system implements feedback through the aging weight accumulation mechanism. As tasks wait in the queue, their aging weights continuously accumulate based on their type and waiting duration. This feedback loop ensures that urgent tasks can be executed promptly when they arrive (maintaining good response time), while simultaneously ensuring that tasks neglected due to lower priority will eventually accumulate sufficient aging weight to be selected, thereby maintaining fairness. The feedback mechanism dynamically balances response time and fairness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10725702B2Memory system and method of operating the same
Publication Date: 2020.07.28 SK HYNIX INC
  • US10725702B2 patent drawing
  • US10725702B2 patent drawing
  • US10725702B2 patent drawing

AI summary

Provided herein may be a memory system and a method of operating the memory system. The memory system may include a memory device configured to perform read operations and write operations, and a controller configured to control the memory device such that tasks received from a host are queued based on priorities thereof, and the read operations or the write operations corresponding to the tasks are executed according to a sequence of the queued tasks. The controller may divide the plurality of tasks into a plurality of types, assign different aging weights to the queued tasks depending on the respective types, accumulate an aging weight of an executed task of the queued tasks to a starvation state determination value of each of residual tasks of the queued tasks, and determine whether each of the residual tasks is in a starvation state using the corresponding starvation state determination value.