NVMe Command Splitting via Key Index Table for Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing automation methods for NVMe SSDs face significant performance degradation due to the manual handling of partitioned commands, which complicates data access across multiple locations and leads to failed command executions.
Innovation Solution
Implementing command partitioning that generates task-IDs based on a key index table to determine the appropriate encryption key, splitting commands into partitions with the same attributes, and using these task-IDs for automation to ensure completion reporting to the host device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual handling of partitioned commands is used, then security requirements are met, but performance degradation occurs
Solution Approach 1:
The command is divided into multiple parts (first part and second part) with different processing paths. The first part contains control-path information that is processed manually to ensure security, while the second part contains data-path information that can be processed automatically. This segmentation allows the system to maintain security requirements while improving overall command processing performance through automated handling of the data-path portion.
2Reliability
If all partitioned commands are treated as exceptions with manual handling, then security is maintained, but automation is reduced
Solution Approach 1:
The command processing is segmented into control-path handling (manual, security-critical) and data-path handling (automated, performance-critical). By identifying which parts of the command require manual security verification and which can be automated, the system maintains security compliance while significantly increasing the extent of automation for the data-path portion.
Solution Approach 2:
An intermediary mechanism is introduced that bridges the control-path and data-path processing. The control-path processing generates information that is passed to the data-path processing, allowing automated handling of the data-path while maintaining security oversight through the control-path. This intermediary approach enables partial automation without compromising security.
3Loss of information
If commands access multiple locations for FLBA and security information, then complete information is obtained, but automation complexity increases
Solution Approach 1:
The information retrieval process is segmented into two distinct parts: FLBA information retrieval and security information retrieval. Each part is handled separately with its own processing logic, allowing the system to obtain complete information from multiple locations while maintaining manageable automation complexity through clear separation of concerns.
Solution Approach 2:
An intermediary structure is introduced to manage the complexity of accessing multiple information locations. The intermediary coordinates the retrieval of FLBA and security information, organizing the complex access patterns into a structured process that maintains information completeness while reducing automation complexity through centralized coordination.
Data Source
AI summary
Improved automation can be achieved using command-parts. Rather than using a command to determine which key to use, command partitioning will generate a task-ID based on a key index table to determine what key to use. Based on the task-ID, an encryption engine (XTS) will know which key to use. The command is split into partitions with the same attributes. The amount of task-IDs created will equal the amount of partitions. Automation will be based on the task-IDs to create a completion for a host. The controller will then return to the key index table to count the completed commands and send the completion to the host.


