Storage Controller Command Distribution Module for Multi-Core Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face inefficiencies in command distribution to multiple cores, leading to suboptimal performance and resource utilization in various storage system environments.
Innovation Solution
A storage device with a command distribution module that sets different states based on received commands from a host, distributing I/O and ADMIN commands to multiple cores to optimize operations, such as maximizing performance, reducing latency, or conserving power, depending on the storage system's environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If commands are distributed to multiple cores, then command processing efficiency is improved, but device complexity increases
Solution Approach 1:
The storage device divides command processing into separate handling paths: I/O commands are distributed to multiple cores for parallel processing, while ADMIN commands are handled by a dedicated core. This segmentation allows efficient utilization of multiple cores without requiring complex coordination logic across all cores, thus improving productivity while controlling device complexity.
2Adaptability or versatility
If the storage device adapts to various storage system environments, then adaptability is improved, but device complexity increases
Solution Approach 1:
The storage device dynamically adjusts its command distribution strategy based on the storage system environment. The controller can configure which cores handle I/O commands versus ADMIN commands, and can modify this distribution in response to changing operational conditions. This dynamic adaptability allows the device to optimize performance for different environments without requiring multiple fixed configurations, thereby improving adaptability while avoiding the complexity of multiple dedicated systems.
Data Source
AI summary
A storage device includes a non-volatile memory; a plurality of cores; a host interface configured to receive a first set command, an I/O command, and an ADMIN command from a host; and a storage controller including a command distribution module configured to be set to a first state according to the first set command, and distribute the I/O command to the plurality of cores according to the set first state. Each of the plurality of cores may be configured to perform an operation instructed by the I/O command and an operation instructed by the ADMIN command on the non-volatile memory in response to the distributed I/O command.


