SoC Algorithm Control via Dynamic Enablement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing systems for consumer electronics require multiple SoC designs to accommodate varying customer and regional needs, leading to high costs and unnecessary royalties for algorithms that may not be used in certain regions.
Innovation Solution
A system-on-chip (SoC) design and software platform that enables or disables processing algorithms based on user-defined instructions and partial encryption, allowing a single SoC design to meet diverse needs by authorizing the use of selected algorithms, thereby reducing design complexity and costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple SoC designs are created to accommodate varying customer and regional needs, then customer-specific functionality requirements are met, but design costs and device complexity increase
Solution Approach 1:
The patent implements a universal SoC design that can perform multiple functions by selectively enabling or disabling algorithms based on customer needs and regional requirements. A single SoC design incorporates multiple algorithms that can be activated or deactivated through control mechanisms, eliminating the need for multiple custom SoC designs while maintaining adaptability to different customer specifications.
Solution Approach 2:
The system employs dynamic control of algorithm execution through enable/disable mechanisms. Algorithms can be selectively activated or deactivated based on runtime conditions, customer licensing agreements, and regional requirements. This dynamic approach allows a single static SoC design to adapt to varying functional requirements without requiring multiple hardware designs.
2Adaptability or versatility
If licensable algorithms are included in a worldwide product, then global functionality is provided, but royalty costs increase for algorithms that may not be used in certain countries
Solution Approach 1:
The system dynamically controls algorithm execution based on geographic location and licensing agreements. Algorithms are enabled or disabled at runtime depending on the detected region and customer authorization, ensuring that royalties are only paid for algorithms actually executed. This prevents unnecessary royalty payments for algorithms that remain inactive in certain countries while maintaining global functionality where needed.
Solution Approach 2:
The system changes the operational state of algorithms based on regional parameters and licensing conditions. By monitoring geographic location and authorization status, the system adjusts which algorithms are active, allowing the same hardware to comply with different royalty structures in different regions without requiring separate software versions.
3Ease of manufacture
If a single SoC design is used to meet differing customer needs, then design efficiency and cost are improved, but control over algorithm usage and protection becomes more difficult
Solution Approach 1:
The system segments the control of individual algorithms within the single SoC design. Each algorithm has independent enable/disable control mechanisms, allowing selective activation based on customer licensing agreements. This segmentation maintains design efficiency while providing granular control over which specific algorithms are permitted to execute, ensuring compliance with various customer requirements.
Solution Approach 2:
The patent introduces intermediary control mechanisms between the algorithms and their execution. These intermediaries include control registers, authorization checks, and regional detection systems that mediate between the single SoC design and multiple customer requirements. This intermediary layer maintains reliability of algorithm usage control while preserving the benefits of a unified design.
Data Source
AI summary
The present invention provides systems and methods for controlling the use of processing algorithms, and applications thereof. In an embodiment, authorization to use an algorithm is validated in a system having a processor capable of executing user defined instructions, by executing a user defined instruction that writes a first value to a first storage of a user defined instruction block, uses the first value to transform a second value located in a second storage of the user defined instruction block, and compares the transformed second value to a third value located in a third storage. Use of the algorithm is permitted only if the comparison of the transformed second value to the third value indicates that use of the algorithm is authorized. In another embodiment, authorization to use an at least partially decrypted algorithm is validated via a key for enablement.


