Dynamic Byte Configuration for Multi-Program Data Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems fail to efficiently utilize computational and communication resources when executable and non-executable data associated with individual programs are separately loaded on computational storage devices, leading to inefficiencies in data processing.
Innovation Solution
A method is implemented to load structured data with a computational program header and dynamic fields, using a block of structured data organized according to a script, which includes segment metadata for efficient extraction and execution of data segments by a data processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If executable and non-executable data associated with each individual program are separately loaded on a computational storage device, then each program can be loaded independently, but computational and communication resources are not efficiently utilized
Solution Approach 1:
The patent combines multiple individual program loadings into a single bulk loading operation. A block of structured data containing multiple executable and non-executable data segments is loaded once into the computational storage device, replacing the traditional approach of loading each program separately. This merging of loading operations efficiently utilizes computational and communication resources while maintaining the ability to independently access and execute individual programs through segment extraction.
2Productivity
If a block of structured data with dynamic byte configuration is used to load multiple programs concurrently, then resource utilization efficiency is improved, but the device complexity increases
Solution Approach 1:
The patent segments the block of structured data into distinct executable and non-executable data segments, each with specific metadata. This segmentation allows the system to efficiently extract and process only the required segments while ignoring others, managing the complexity through organized structure. The dynamic byte configuration uses delimiters and metadata to clearly define segment boundaries and properties, making the complex data structure manageable and interpretable.
Solution Approach 2:
The patent introduces a firmware layer as an intermediary between the host device and the computational storage device. This firmware is responsible for interpreting the dynamic byte configuration, extracting the required data segments, and managing the block of structured data. By placing this interpretation and management logic in the firmware, the complexity of handling dynamic byte configurations is isolated from both the host device and the computational storage device, simplifying their respective designs.
3Ease of operation
If separate loading operations are performed for each program, then data extraction is simple, but data processing time is increased
Solution Approach 1:
The patent performs preliminary organization of multiple programs and their associated data into a single pre-structured block of data before loading. This block contains all executable and non-executable segments with their metadata and delimiters already in place. When a specific program needs to be executed, the system can quickly extract the relevant segment from the pre-organized block without needing to perform time-consuming search or assembly operations, significantly reducing data processing time while maintaining extraction simplicity through the structured format.
Data Source
AI summary
This application is directed to data processing in an electronic device that includes a processing unit and a non-volatile memory (e.g., NAND flash memory). The electronic device obtains a block of structured data having a block header and one or more data segments that includes at least a first data segment associated with a first program. The block header of the block of structured data to determine segment metadata of the first data segment. The electronic device extracts the first data segment from the block of structured data based on the segment metadata, and executes the first program based on the first data segment. An example of the electronic device is a memory device having a computational capability. Each data segment may include one more of an executable program, an instruction to execute the executable program, machine learning parameters, security information, and a firmware flow.


