Host-Trusted Module for Atomic Operations in Data Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional atomic operations in data storage devices (DSDs) introduce delays and increase data traffic due to the need for host-mediated synchronization and data transfer for operations like read-modify-write, which can be inefficient in multi-threaded applications and RAID systems.
Innovation Solution
Implementing a host-trusted module within the DSD that performs predefined atomic operations locally, reducing the need for data transfer between the host and DSD by executing operations such as read-modify-write, test-and-set, and compare-and-swap directly on the DSD, thereby minimizing latency and data traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If atomic operations are managed by the host with synchronization and data transfer, then the operations can be performed correctly, but the operation time increases and data traffic increases
Solution Approach 1:
A trusted module is introduced as an intermediary component within the storage device that handles atomic operations locally. This module receives operation requests from the host, executes the atomic operations (such as read-modify-write, test-and-set, compare-and-swap) directly in the storage device, and returns results to the host, eliminating the need for the host to manage synchronization and data transfer for these operations.
Solution Approach 2:
The storage device is segmented into a host interface component and a trusted module component. The trusted module is a separate functional unit that specifically handles atomic operations, isolating this functionality from the main storage device controller and host processing, thereby enabling independent execution of atomic operations without involving the host.
2Reliability
If atomic operations are managed by the host with synchronization and data transfer, then the operations can be performed correctly, but the data traffic between host and DSD increases
Solution Approach 1:
The trusted module acts as an intermediary that processes atomic operations locally within the storage device, preventing the need to transfer data between the host and storage device for each atomic operation. The module handles read-modify-write sequences, test-and-set operations, and compare-and-swap operations entirely within the storage device, minimizing data traffic to only the essential request and response messages.
3Ease of operation
If atomic operations are performed with host-mediated synchronization, then the host can control the operations, but the communication delay increases
Solution Approach 1:
The system is divided into host control functions and execution functions. The host maintains control by issuing atomic operation requests to the trusted module, while the trusted module independently executes the operations and manages synchronization locally. This segmentation eliminates communication delays associated with host-mediated synchronization while preserving host control over the operations.
4Productivity
If atomic operations are executed by the host, then the host can perform the operations, but the host processing load increases
Solution Approach 1:
The trusted module serves as an intermediary that offloads atomic operation execution from the host. It receives operation requests from the host, performs the atomic operations (including complex sequences like read-modify-write and synchronization operations), and returns results to the host, thereby reducing the host's processing load while maintaining operation execution capability.
Data Source
AI summary
A Data Storage Device (DSD) includes a Non-Volatile Memory (NVM) for storing data. A processor of the DSD receives a command from a host to access data in the NVM, and performs the command to access data in the NVM. The DSD further includes a host-trusted module functionally isolated from at least a portion of the DSD. The host-trusted module is configured to receive an instruction from the host, and perform an operation based on the instruction. According to one aspect, the operation includes a predetermined atomic operation to modify data stored in the NVM.


