SSD Task Allocation via Dynamic CPU Core Assignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid State Drives (SSDs) face challenges in achieving high-quality service or high bandwidth under limited hardware resources, particularly due to limited CPU cores allocated to data managers, which affects concurrency and processing capacity.
Innovation Solution
The SSD task allocation method divides data managers into groups with sibling master and slave managers, determining service scenarios based on working states to allocate tasks effectively, where in high-bandwidth scenarios all managers work in CPU cores, and in high-quality-service scenarios, only sibling master data managers handle tasks to reduce delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more CPU cores are allocated to data managers to increase concurrency and bandwidth, then data processing capacity improves, but hardware resources are consumed
Solution Approach 1:
The patent implements dynamic task allocation where the data manager adjusts the number of active CPU cores based on current workload conditions. When high bandwidth is needed, more CPU cores are activated; when quality of service is prioritized, fewer cores are used. This dynamic adjustment resolves the contradiction by matching resource consumption to actual processing needs rather than maintaining fixed high resource usage.
Solution Approach 2:
The system changes the parameter of active CPU core count based on service scenarios. By detecting whether the current operation requires high bandwidth or high quality of service, the system adjusts the number of participating CPU cores accordingly. This parameter change allows the system to achieve high productivity when needed while reducing hardware consumption when not required.
2Productivity
If more data managers work in parallel to increase bandwidth, then data throughput improves, but task processing delays increase
Solution Approach 1:
The patent segments data managers into sibling master and sibling slave groups, with master data managers handling critical timing-sensitive tasks and slave data managers handling bandwidth-intensive tasks. This segmentation allows the system to achieve high throughput by activating slave managers while maintaining low delay by ensuring master managers process urgent tasks independently, resolving the contradiction between throughput and delay.
Solution Approach 2:
Different data managers are assigned different functional qualities based on task requirements. Master data managers focus on quality-critical operations with strict timing requirements, while slave data managers handle bandwidth-optimized operations. This local differentiation of functional quality allows the system to simultaneously achieve both low delay for critical tasks and high throughput for non-critical tasks.
3Loss of time
If task allocation is optimized for high quality of service, then processing timeliness improves, but data bandwidth decreases
Solution Approach 1:
The system dynamically switches between quality-of-service-optimized and bandwidth-optimized task allocation modes based on detected service scenarios. When timeliness is critical, the system activates master data managers with dedicated CPU cores for low-latency processing. When bandwidth is the priority, the system activates slave data managers for parallel processing. This dynamic mode switching resolves the contradiction by selecting the appropriate optimization strategy based on current needs.
Solution Approach 2:
The system performs preliminary detection of service scenarios to determine the appropriate task allocation strategy before processing begins. By anticipating whether the current operation requires high quality of service or high bandwidth, the system pre-configures the appropriate data manager activation pattern, avoiding the need to switch modes mid-processing and ensuring optimal performance from the start.
Data Source
AI summary
Provided are a task allocation method and system for a solid state drive, an electronic device, and a storage medium. The task allocation method includes: dividing data managers into a plurality of data management groups; determining a service scenario according working states of all sibling master data managers; when the service scenario is a high-band-width scenario, controlling the sibling master data managers and sibling slave data managers to work in corresponding Central Processing Unit (CPU) cores, and allocating tasks to all the sibling master data managers and all the sibling slave data managers; and when the service scenario is a high-quality-of-service scenario, controlling the sibling master data managers to work in corresponding CPU cores, and allocating tasks to all the sibling master data managers.


