SSD Direct Streaming via Stream Identity for Secure FPGA Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face complexity and security issues when streaming data between a solid state drive (SSD) and a secondary device, such as a field programmable gate array (FPGA), due to the need for exposing data layout details and filesystems, which can lead to performance limitations and security vulnerabilities.
Innovation Solution
A system and method for direct streaming between an SSD and a secondary device, where the SSD receives a memory read request command from the secondary device, streams data based on a unique stream identity, and ends the streaming once the requested data is transferred, thereby minimizing host intervention and maintaining data security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data layout details and filesystems are exposed for data exchange between storage device and secondary device, then data transfer capability is improved, but system complexity and security vulnerabilities increase
Solution Approach 1:
The patent introduces a stream identity as an intermediary that mediates data transfer between the storage device and secondary device. Instead of exposing complex data layout details and filesystem structures, the stream identity serves as a simplified reference that the secondary device uses to request data. The storage device controller translates this simple reference into the actual complex data retrieval operations, thereby maintaining high data transfer capability while hiding system complexity and security vulnerabilities.
2Reliability
If host CPU intervention is increased to manage data streaming, then data security and control are improved, but data processing efficiency decreases
Solution Approach 1:
The patent implements a self-service mechanism where the storage device autonomously manages the data streaming process. The storage device controller directly handles data retrieval, buffering, and transfer to the secondary device without requiring host CPU intervention for each data transfer operation. The host CPU only needs to initiate the stream by providing a stream identity, after which the storage device independently completes the entire data transfer process, thereby maintaining data security through controlled access while maximizing data processing efficiency by eliminating CPU bottlenecks.
3Productivity
If direct streaming between SSD and secondary device is implemented, then host CPU resource usage is reduced, but data layout security exposure increases
Solution Approach 1:
The stream identity acts as a security intermediary that decouples the secondary device from direct access to data layout information. The secondary device submits requests using only the stream identity without needing to know or access underlying data structures, filesystems, or memory layouts. The storage device controller serves as the mediator that translates these secure, simplified requests into internal operations, thereby enabling direct streaming that reduces host CPU usage while simultaneously protecting data layout security by preventing unauthorized exposure of sensitive structural information.
Data Source
AI summary
A method of streaming between a storage device and a secondary device includes receiving, by the storage device, from the secondary device, a memory read request command including a memory address of the storage device corresponding to a stream identity, the stream identity being unique between the storage device and the secondary device; streaming, by the storage device, data between the storage device and the secondary device by transferring the data corresponding to the memory address of the storage device to the secondary device; determining, by the storage device, that the data requested by the secondary device in the memory read request command is transferred to the secondary device; and ending, by the storage device, the streaming between the storage device and the secondary device.


