Chunked Program Transfer for Computational Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face limitations in transferring large programs to computational storage devices due to size thresholds imposed by operating systems and device controllers, which hampers the adoption and functionality of computational storage devices.
Innovation Solution
A mechanism is developed to transfer large programs by breaking them into smaller chunks, specifying each chunk's offset and size, and allowing out-of-order segment transfers, bypassing OS and driver restrictions, thereby supporting various program types and compute namespaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If large programs are transferred to computational storage devices, then computational capabilities are enhanced, but transfer restrictions imposed by operating systems and device controllers prevent successful transfer
Solution Approach 1:
The patent divides large programs exceeding the OS transfer size limit into multiple smaller segments or chunks. Each segment is transferred separately using standard NVMe commands, bypassing the operating system's transfer restrictions. The segments are then reassembled on the computational storage device to form the complete program, enabling transfer of arbitrarily large programs while maintaining compatibility with existing transfer protocols.
2Adaptability or versatility
If programs are divided into multiple segments for transfer, then transfer restrictions are bypassed, but transfer complexity and coordination overhead increase
Solution Approach 1:
The patent performs preliminary actions by first determining the total program size and calculating the appropriate segment divisions before initiation of transfer. Transfer parameters including segment boundaries, offsets, and sizes are pre-configured, allowing the transfer process to proceed systematically without complex real-time coordination. This preliminary planning reduces the complexity during actual execution.
Solution Approach 2:
The patent implements feedback mechanisms where the computational storage device tracks received segments, verifies their integrity, and monitors the reassembly process. This feedback allows the system to detect and correct transfer issues, ensure complete program reconstruction, and manage the complexity of multi-segment transfers through systematic verification and status reporting.
Data Source
AI summary
Provided are systems, methods, and apparatuses for transferring programs from a host to a computational storage device is described. The method can include: determining a program to transfer from a host to a computational storage device, determining that a size of the program exceeds a predetermined threshold, and transferring, based on the size, at least a portion of the program to the computational storage device.


