Storage Controller Parallel Command Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage devices face challenges in achieving high throughput and efficient command execution while minimizing processing impact on both the host and the device, particularly in managing multiple memory chips and handling commands like metadata reading, bad block scanning, copying data, and verifying writes.
Innovation Solution
A data storage device configuration with multiple memory boards and a controller board that processes commands in parallel, utilizing a high-speed interface like PCIe, and includes features such as metadata reading, bad block scanning, copy commands, and verify on write operations, enabling efficient data management and error correction without intermediate host steps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple memory chips are used to increase storage capacity, then the throughput and command processing capability should improve, but the device complexity and processing overhead increase
Solution Approach 1:
The patent divides the storage device into multiple independent memory boards, each containing multiple memory chips. This segmentation allows the controller to process commands in parallel across different memory boards, increasing throughput while managing complexity through modular architecture where each board operates independently but can be controlled simultaneously.
Solution Approach 2:
The patent introduces a new dimension to command processing by enabling parallel command execution across multiple memory boards. Instead of sequential processing, the system can issue and execute multiple commands simultaneously to different memory boards, effectively adding a temporal-parallel dimension to the command processing architecture.
2Ease of operation
If copy commands are implemented to reduce host processing steps, then the ease of operation improves, but the device complexity increases
Solution Approach 1:
The copy command enables the storage device to perform data copying operations autonomously without requiring intermediate host processing steps. The controller internally manages the read-from-source and write-to-destination operations, allowing the device to serve itself in the copying process and reducing the operational burden on the host system.
Solution Approach 2:
The copy command merges multiple operations (read command, data transfer, write command) into a single atomic operation. By combining these separate steps into one unified command, the system simplifies the interface with the host while managing the internal complexity of coordinating multiple memory accesses and data transfers.
3Productivity
If parallel command processing is implemented to increase throughput, then the productivity improves, but the device complexity and processing overhead increase
Solution Approach 1:
The controller is designed with separate command processing channels for each memory board, enabling parallel command issuance and execution. This segmentation of the control architecture allows independent processing of commands across multiple boards while managing complexity through dedicated processing paths that reduce interference between parallel operations.
Solution Approach 2:
The system implements preliminary actions by pre-establishing command queues and buffers for each memory board, allowing commands to be prepared and staged before execution. This enables the controller to issue multiple commands in parallel without waiting for previous operations to complete, increasing throughput while managing complexity through pre-organized data structures and processing pipelines.
Data Source
AI summary
A data storage device may include an interface that is arranged and configured to interface with a host, a command bus, multiple memory devices that are operably coupled to the command bus and a controller that is operably coupled to the interface and to the command bus. The controller may be arranged and configured to receive a read metadata command for a specified one of the memory devices from the host using the interface, read metadata from the specified memory device and communicate the metadata to the host using the interface.


