Flash Memory Request Scheduling Under Power and Thermal Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory storage devices face challenges in optimizing performance while adhering to power and thermal constraints, often failing to meet performance guarantees due to suboptimal scheduling approaches.
Innovation Solution
A system that assigns priorities and costs to requests based on request type and target memory type, using a dynamic utilization counter and weighted round robin algorithm to manage workload distribution across channels and targets, ensuring power and thermal limits are not exceeded.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If flash memory storage devices perform more operations in a given time interval, then productivity is improved, but use of energy increases beyond safe operating limits
Solution Approach 1:
The system dynamically adjusts the utilization counter based on temperature conditions and request priorities. The counter is incremented at different rates depending on whether temperature thresholds are exceeded, and decremented based on the priority and type of requests being processed. This dynamic adjustment allows the system to adapt its power consumption profile to match safe operating limits while maintaining maximum productivity when conditions permit.
Solution Approach 2:
The system changes the parameter of utilization cost assignment based on request type and target characteristics. Different request types (read, write, erase) are assigned different utilization costs, and the same request type can have different costs depending on the target's current state and temperature. This parameter change enables fine-grained control over power consumption to optimize the balance between productivity and energy usage.
2Reliability
If existing scheduling approaches are used, then device complexity is kept simple, but performance guarantees cannot be met
Solution Approach 1:
The utilization counter acts as an intermediary mechanism between the scheduling logic and the physical constraints of the flash memory device. Rather than implementing complex temperature monitoring and power management logic directly in the scheduler, the system uses the counter as an abstract resource representation that mediates between performance goals and operational constraints. This intermediary simplifies the scheduling decisions while still ensuring performance guarantees are met.
Solution Approach 2:
The system implements feedback by continuously monitoring temperature conditions and adjusting the utilization counter accordingly. When temperature thresholds are exceeded, the counter increment rate is reduced or halted, providing immediate feedback that constrains further operations. This feedback loop enables the system to automatically adapt to changing conditions and maintain performance guarantees without requiring complex predictive models or external control systems.
3Reliability
If priority-based scheduling is implemented, then reliability of performance guarantees is improved, but device complexity increases
Solution Approach 1:
The system applies local quality by assigning different utilization costs to different request types and targets based on their specific characteristics. Rather than using a single global priority scheme, the system tailors the cost assignment to local conditions - for example, write operations may have higher costs than read operations, and operations on hotter targets may have higher costs than operations on cooler targets. This local differentiation enables reliable performance guarantees for critical operations without requiring a uniformly complex scheduling algorithm across all operations.
Data Source
AI summary
An apparatus and method for scheduling memory requests including receiving a plurality of requests having a type and associating each request of the received plurality of requests with a corresponding target, which is associated with one channel of a plurality of channels. The method assigning a priority to each request, assigning a utilization cost to each request based on the request's target and request type, and queueing each request of the plurality of requests for scheduling. The method selecting a first request of the received plurality of requests to be scheduled based on its priority, scheduling the first request for processing at a time when the first request utilization cost is less than or equal to a current value of a dynamic utilization counter, and debiting the dynamic utilization counter by the first request utilization cost.


