Control Flow Generation and Execution in Semiconductor Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing semiconductor memory systems face challenges in efficiently generating and executing control flows, as they often require a single device to both generate and execute instructions, limiting concurrent processing and increasing data transfer needs.
Innovation Solution
The proposed solution involves separating the generation of control flows from their execution, where a first device (e.g., host) generates control flow instructions, and a second device (e.g., memory device) executes these instructions using an execution unit and controller, allowing for concurrent execution and reduced data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single device generates and executes control flow instructions, then device complexity is reduced, but productivity decreases due to sequential processing
Solution Approach 1:
The system is divided into two separate devices: a first device responsible for generating control flow instructions and a second device responsible for executing them. This segmentation enables concurrent operation of generation and execution functions, thereby improving productivity while distributing system complexity across multiple specialized components.
Solution Approach 2:
The patent combines the generation and execution functions into a coordinated two-device system where the first device generates control flow instructions and the second device executes them. This merging of functions across devices allows concurrent processing, improving overall system productivity while maintaining manageable complexity through functional specialization.
2Loss of time
If control flow instructions are generated and executed by the same device, then data transfer needs are reduced, but loss of time increases due to sequential processing
Solution Approach 1:
By segmenting the system into a first device for generating control flow instructions and a second device for executing them, the patent enables parallel operation. This reduces the total execution time as generation and execution occur concurrently, accepting increased data transfer between devices as a trade-off for time efficiency.
Solution Approach 2:
The patent introduces an intermediary mechanism (the communication interface between the two devices) that facilitates the transfer of control flow instructions from the first device to the second device. This intermediary enables efficient data exchange, minimizing the time penalty associated with increased data transfer volume.
3Use of energy by moving object
If computational resources are concentrated in one device, then device complexity is simplified, but use of energy decreases due to underutilization
Solution Approach 1:
The patent segments computational resources across two devices: the first device utilizes computational resources for generating control flow instructions, while the second device utilizes computational resources for executing them. This segmentation ensures both devices are actively engaged in computational tasks, improving overall energy utilization while distributing system configuration complexity.
Solution Approach 2:
Each device in the system is designed with multi-functionality, where the first device performs both generation and can execute instructions, and the second device performs both execution and can generate instructions. This universality allows flexible resource allocation and ensures high utilization of computational resources across different operational scenarios.
Data Source
AI summary
Examples of the present disclosure provide apparatuses and methods related to generating and executing a control flow. An example apparatus can include a first device configured to generate control flow instructions, and a second device including an array of memory cells, an execution unit to execute the control flow instructions, and a controller configured to control an execution of the control flow instructions on data stored in the array.


