Dynamic Task Scheduling in Semiconductor Memory Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional semiconductor devices struggle to dynamically adjust the priority of tasks generated by multiple task generators, as they operate based on predetermined rules, making it difficult to adapt to varying conditions and optimize resource allocation.
Innovation Solution
A semiconductor device with a task controller that generates target shares based on respective target and measured states of task generators, a scheduler that allocates tasks according to these shares, and a share controller that determines the allocated shares by comparing target and measured shares, allowing for flexible priority adjustments and real-time performance optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If predetermined scheduling rules are used, then device complexity is reduced, but adaptability to varying task priorities deteriorates
Solution Approach 1:
The patent implements dynamic task scheduling by introducing a task priority register that can be dynamically updated with priority values for different task generators. The scheduler reads these priority values and adjusts task allocation in real-time, transforming the static predetermined scheduling into a dynamic adaptive system that responds to changing task priorities without requiring complex reconfiguration of the entire scheduling mechanism.
Solution Approach 2:
The patent changes the scheduling parameter from fixed predetermined rules to variable priority values stored in registers. By allowing these priority parameters to be modified based on system state and task importance, the scheduling behavior adapts to different conditions while maintaining a relatively simple scheduler structure that processes tasks based on the stored priority parameters.
2Ease of operation
If fixed scheduling rules are applied, then ease of operation is improved, but productivity under varying conditions deteriorates
Solution Approach 1:
The patent implements a self-service mechanism where the system automatically adjusts task scheduling based on priority values stored in registers. The scheduler continuously monitors task generator priorities and reallocates tasks accordingly without requiring external intervention or complex control logic, thereby maintaining ease of operation while improving productivity through adaptive resource allocation.
Solution Approach 2:
The scheduling system dynamically adapts to changing task priorities by reading priority values from registers and adjusting task allocation in real-time. This dynamic behavior allows the system to optimize productivity for varying workloads and task importance levels while maintaining simple operation through automated priority-based scheduling.
3Device complexity
If predetermined scheduling is used, then device complexity is minimized, but response to changing task priorities deteriorates
Solution Approach 1:
The patent prepares priority values in advance by storing them in task priority registers before scheduling decisions are made. This preliminary action allows the scheduler to quickly retrieve and use pre-computed priority values without performing complex real-time calculations, thereby achieving fast response to task priority changes while keeping the control mechanism relatively simple.
Solution Approach 2:
The system implements feedback by continuously monitoring the priority values of task generators and adjusting task allocation based on these inputs. The scheduler reads current priority values from registers and modifies scheduling decisions accordingly, creating a responsive closed-loop system that adapts to changing priorities without requiring complex control logic.
Data Source
AI summary
A semiconductor device may include a task controller configured to generate a target share for a plurality of task generators according to respective target states and respective measured states of the plurality of task generators, a task scheduler configured to schedule the plurality of tasks according to an allocated share, the plurality of tasks being provided from the plurality of task generators, and a share controller configured to determine the allocated share according to the target share and a measured share of the plurality of task generators.


