Computational Storage Device Program Access via NVMe Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face difficulties in accessing device programs on computational storage devices for monitoring and troubleshooting user programs without additional hardware, as existing methods require connecting hardware or using storage protocols that do not support direct access to these programs.

Innovation Solution

A computational storage device is configured to execute user programs and provide access to device programs using a storage protocol like NVMe, allowing users to start, monitor, and retrieve output from device programs through commands, with output data exchanged via a shared buffer using a producer-consumer model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If hardware connections are used to access device programs for monitoring and troubleshooting, then access capability is improved, but device complexity and hardware requirements increase

Engineering Contradiction:
Improveaccess capabilityVSAvoidhardware requirements
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a mediator layer consisting of a device program interface and command processing logic that translates standard storage protocol commands into device program control operations. This intermediary enables access to device programs through the existing storage protocol infrastructure without requiring additional hardware connections or interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage protocol interface is enhanced to serve multiple functions: standard data transfer operations and device program control operations. The same storage protocol commands and data paths are used for both traditional storage operations and for launching, controlling, and retrieving output from device programs, eliminating the need for specialized hardware.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If additional hardware is connected to access device programs, then monitoring and troubleshooting capability is improved, but ease of operation deteriorates due to complex hardware connections

Engineering Contradiction:
Improvemonitoring and troubleshooting capabilityVSAvoidhardware connection complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The storage device provides self-service monitoring and troubleshooting capabilities through device programs that can be launched and controlled via standard storage protocol commands. The device autonomously executes monitoring functions (tracing, debugging, profiling) and makes output data available through the existing data paths, eliminating the need for external hardware assistants or complex connection setups.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If storage protocol is used to exchange output data, then ease of operation is improved, but data retrieval efficiency may worsen without dedicated data paths

Engineering Contradiction:
Improveprotocol compatibilityVSAvoiddata retrieval efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the control data path and output data path into the existing storage protocol infrastructure. The same command queues and data transfer mechanisms used for storage operations are utilized for device program control and output retrieval, simplifying the interface while maintaining efficiency through optimized buffer management and direct memory access.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Output data from device programs is pre-buffered in designated memory regions before being transferred to the host. The storage device prepares data buffers and manages data staging in advance, allowing efficient data retrieval through standard storage protocol commands without requiring specialized high-speed data paths.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12147701B2Systems, methods, and devices for accessing a device program on a storage device
Publication Date: 2024.11.19 SAMSUNG ELECTRONICS CO LTD
  • US12147701B2 patent drawing
  • US12147701B2 patent drawing
  • US12147701B2 patent drawing

AI summary

A method may include receiving, at a storage device, a command using a storage protocol, wherein the storage device is configured to execute a user program, and executing, at the storage device, a device program based on the command. The command may be a first command, and the method may further include receiving, at the storage device, using the storage protocol, a second command, and sending, from the storage device, using the storage protocol, information about the device program based on the second command. The method may further include sending, from the storage device, using the storage protocol, a list of device programs supported by the storage device based on the second command. The method may further include providing, by the storage device, output data from the device program. The providing may include sending, from the storage device, using the storage protocol, a log message.