Storage Controller Command Decomposition for Legacy Protocol Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy SSDs struggle to process new commands added to storage interface protocols without requiring redesign of the SSD controller, limiting their ability to handle evolving feature sets.
Innovation Solution
The method involves decomposing host commands into internal read and write commands, which are processed concurrently by internal controllers within the storage device, allowing for efficient execution without exposing the internal controller to the host and enabling processing of commands across different logical block address formats and namespaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If new commands are added to the storage interface protocol, then the functionality and versatility of the storage system is improved, but legacy SSD controllers cannot process these new commands without redesign
Solution Approach 1:
The storage device is divided into multiple controllers: a first controller that interfaces with the host and handles new protocol commands, and a second controller that executes specific operations. This segmentation allows the first controller to interpret new commands while delegating to the second controller, enabling legacy controllers to process new protocols without complete redesign.
Solution Approach 2:
The first controller acts as an intermediary between the host and the second controller. It receives new protocol commands from the host, translates them into internal operations, and submits them to the second controller via an internal queue. This intermediary role allows legacy controllers to handle new commands without direct exposure to protocol changes.
2Productivity
If copy commands are processed by a single controller, then the control logic is simplified, but the processing speed and throughput are limited
Solution Approach 1:
The copy command processing is segmented across two controllers: the first controller handles command reception and decomposition, while the second controller executes the actual read and write operations. This segmentation enables parallel processing of copy operations, significantly improving throughput compared to single-controller sequential processing.
Solution Approach 2:
The first controller performs preliminary actions by decomposing the copy command into read and write commands and preparing them in an internal queue before the second controller executes them. This preliminary preparation enables the second controller to efficiently process multiple operations without waiting for complex coordination during execution.
3Ease of operation
If the internal controller is exposed to the host, then direct command execution is possible, but security and control are reduced
Solution Approach 1:
The first controller serves as a protected intermediary between the host and the second controller. It receives commands from the host, validates and translates them, then submits processed commands to the second controller through an internal queue. This intermediary architecture allows direct command execution while maintaining security boundaries and centralized control.
Solution Approach 2:
The controller architecture is segmented into an external-facing first controller that handles host communication and an internal second controller that executes operations. This segmentation isolates the critical second controller from direct host access, protecting it while still enabling efficient command execution through controlled interfaces.
Data Source
AI summary
Systems and methods for processing copy commands are disclosed. A first controller of the storage device receives a copy command from a host via a first queue. The storage device generates, based on the copy command, a read command and a write command, and submits the read and write commands to a second controller of the storage device via a second queue. The second controller retrieves and processes the read and write commands from the second queue. The storage device reads, based on the processing of the read command, data stored in a first location of a storage media associated with a source address, and writes the data to a second location of the storage media associated with a destination address. The first controller transmits a signal to the host for indicating completion of the copy command.


