Chunked Program Transfer for Computational Storage Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogram size supportVSAvoidtransfer process
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

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.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If programs are divided into multiple segments for transfer, then transfer restrictions are bypassed, but transfer complexity and coordination overhead increase

Engineering Contradiction:
Improveprogram size supportVSAvoidtransfer mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12517680B2Systems, methods, and apparatus for transferring programs for computational storage devices
Publication Date: 2026.01.06 SAMSUNG ELECTRONICS CO LTD
  • US12517680B2 patent drawing
  • US12517680B2 patent drawing
  • US12517680B2 patent drawing

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.