Unified KV Command Interface for Storage Device
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of existing storage systems is increased due to the need for separate commands for input/output operations and administrative operations, leading to a complicated interface between hosts and storage devices, which results in higher costs and reduced performance.
Innovation Solution
A storage system that uses key-value (KV) commands to manage both user data and administrative operations, where a KV manager determines whether a key is internal or user-based, allowing for unified command types to perform various operations, thereby simplifying the interface and reducing the number of defined command formats.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate commands are defined for input/output operations and administrative operations, then the storage device can perform distinct functions, but the interface configuration becomes complicated
Solution Approach 1:
The patent applies universality by enabling a single KV command format to serve multiple functions. The same command structure is used for both input/output operations (reading/writing user data) and administrative operations (managing storage device settings), eliminating the need for separate command definitions. The command type is determined dynamically by the key prefix rather than requiring distinct command formats.
Solution Approach 2:
The patent merges previously separate I/O commands and admin commands into a unified KV command structure. By combining these operations under a single command format with differentiated key prefixes, the interface complexity is reduced while maintaining the ability to perform distinct functions.
2Adaptability or versatility
If multiple command types are defined for different operations, then the storage device can support various functions, but the number of command definitions increases
Solution Approach 1:
A single KV command format is designed to handle multiple operation types including data reading, data writing, and various administrative operations. The versatility is achieved through key prefix differentiation rather than command format differentiation, reducing the total number of command definitions required.
Solution Approach 2:
The key space is segmented into different prefixes to represent different operation types. User data keys have one prefix pattern while administrative operation keys have another prefix pattern, allowing the system to distinguish between operation types without requiring separate command structures.
3Device complexity
If the interface configuration is simplified by using unified commands, then the costs are reduced, but the ability to perform distinct administrative operations may be compromised
Solution Approach 1:
The key namespace is segmented into distinct prefixes: keys starting with 'user_' for user data operations and keys starting with 'admin_' for administrative operations. This segmentation preserves operation distinguishability and capability while using a unified command structure, achieving both simplicity and versatility.
Solution Approach 2:
The key prefix acts as an intermediary that carries operation type information within the unified KV command. Instead of requiring separate commands, the prefix serves as a mediator that directs the same command structure to perform different functions based on the key pattern.
Data Source
AI summary
An operation method of a storage device, which includes a nonvolatile memory device, includes receiving a first key-value (KV) command including a first key from an external host device; transmitting a first value corresponding to the first key from the nonvolatile memory device to the external host device as first user data, in response to the first KV command; receiving a second KV command including a second key, from the external host device; and performing a first administrative operation based on a second value corresponding to the second key, in response to the second KV command. The first KV command and the second KV command are KV commands of a same type.


