Memory Controller Task Scheduling for Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory system controllers struggle to efficiently perform internal operations while maintaining input/output (I/O) performance, especially when data throughput is lower than the maximum required throughput under a current workload pattern.

Innovation Solution

A controller with a host interface and a processor that determines a remaining resource index based on data throughput and selects internal tasks to perform alongside I/O tasks, using resource consumption indexes and priority settings for each workload pattern.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the controller performs internal tasks during I/O operations, then resource utilization improves, but I/O performance may deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoidI/O performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The controller dynamically adjusts task scheduling based on real-time resource availability and I/O performance requirements. The host interface monitors system state and dynamically selects which internal tasks to execute during I/O operations, transitioning between different operational modes to balance resource utilization and performance maintenance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The host interface continuously monitors whether I/O performance is maintained during internal task execution. Based on this feedback, it either continues allowing internal tasks to run (when performance is maintained) or cancels them (when performance degrades), creating a closed-loop control system that adapts to changing conditions.

Inventive Principle:
Principle #23Feedback

2Reliability

If the controller waits for I/O operations to complete before performing internal tasks, then I/O performance is maintained, but resource utilization decreases

Engineering Contradiction:
ImproveI/O performanceVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller enables continuous execution of useful work by allowing internal tasks to run concurrently with I/O operations when resources permit. Instead of idle waiting periods, the system continuously processes internal tasks during available capacity, maximizing resource utilization without compromising I/O performance through the monitoring and cancellation mechanisms.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the controller selects multiple internal tasks based on remaining resource index, then throughput utilization improves, but system complexity increases

Engineering Contradiction:
Improvethroughput utilizationVSAvoidtask scheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The task selection process is segmented into discrete, manageable steps: calculating remaining resource index, comparing against task requirements, selecting eligible tasks, and monitoring execution. This segmentation transforms a complex scheduling problem into a series of simple, rule-based decisions that are easier to implement and manage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses parameter changes (remaining resource index, task priority levels, throughput thresholds) to simplify decision-making. By converting complex resource availability assessments into quantitative parameter comparisons, the controller can automatically select tasks based on predefined criteria without requiring complex scheduling algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12277342B2Controller and method of performing internal operation thereof
Publication Date: 2025.04.15 SK HYNIX INC
  • US12277342B2 patent drawing
  • US12277342B2 patent drawing
  • US12277342B2 patent drawing

AI summary

Disclosed are a controller and an operating method thereof. According to an embodiment of the present disclosure, a controller that controls a memory device, comprises: a host interface for determining a remaining resource index and outputting a task scheduling instruction when a data throughput determined based on data inputted/outputted between a host and the controller is lower than a maximum throughput required under a current workload pattern; and a processor for: selecting, in response to the task scheduling instruction, at least one of a plurality of internal tasks based on the remaining resource index and resource consumption indexes of the respective internal tasks, and performing the selected internal task while performing an input/output task.