SoC Memory Segmentation for FOTA Update Flexibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing smart devices used for safety-critical applications, such as electronic control units in vehicles, have limited configurability for firmware over-the-air (FOTA) updates, which restricts their ability to handle a range of simple to complex updates effectively.
Innovation Solution
A System on Chip (SoC) configuration that includes a combination of fixed and swappable memory segments, allowing each core to have an active segment and multiple backup segments, with configuration information that can be modified during FOTA updates to support multiple firmware backups and flexible memory arrangements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If fixed memory segments are used in smart devices, then device stability is improved, but configurability for FOTA updates deteriorates
Solution Approach 1:
The memory is divided into multiple swappable segments (first swappable segment, second swappable segment, third swappable segment) that can be independently configured and assigned to different cores. Each segment can store different firmware images, allowing flexible configuration for various FOTA update scenarios while maintaining system stability through structured organization.
Solution Approach 2:
The memory configuration is made dynamic through the enable indicator that can selectively activate or deactivate specific swappable segments. This allows the system to adapt its memory configuration during FOTA updates by enabling appropriate segments based on update requirements, transforming a static memory structure into a dynamically configurable one.
2Adaptability or versatility
If multiple swappable segments are implemented, then configurability for FOTA updates is improved, but device complexity increases
Solution Approach 1:
Different swappable segments are assigned to different cores with specific configurations tailored to each core's requirements. The first swappable segment is assigned to the first core, the second to the second core, and the third can be selectively enabled. This localized assignment simplifies the overall complexity by providing clear, role-specific configurations rather than a monolithic complex structure.
Solution Approach 2:
The multiple swappable segments serve universal functions across different cores and update scenarios. The same memory structure can support simple FOTA updates, complex multi-core updates, and backup scenarios, reducing the need for separate specialized configurations for each scenario and thereby managing complexity through multi-functionality.
3Adaptability or versatility
If memory configuration is modified during FOTA updates, then update flexibility is improved, but risk of configuration errors increases
Solution Approach 1:
The memory configuration information, including the enable indicator and segment assignments, is prepared and validated before the FOTA update is applied. The configuration is stored in advance in a structured format that defines the state of each swappable segment, allowing verification before execution and reducing the risk of errors during the actual update process.
Solution Approach 2:
The system incorporates validation mechanisms that check the memory configuration information during and after FOTA updates. The enable indicator and segment assignments are verified to ensure proper configuration, providing feedback that detects and prevents configuration errors, thereby maintaining reliability while allowing flexible updates.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A System on Chip (SoC) includes a first core coupled to an interconnect; a second core coupled to the interconnect; a memory coupled to the interconnect and including a plurality of evenly sized partitions; and storage circuitry configured to store memory configuration information. The memory configuration information defines a memory configuration and is configured to indicate a series of swappable segments for each core of the SoC by indicating, for each core, a first number of partitions of the memory assigned to each of a first swappable segment and a second swappable segment for the core, the first swappable segment designated as an active segment and the second swappable segment designated as a first backup segment, and an enable indicator to indicate whether or not to assign the first number of partitions to a third swappable segment designated as a second backup segment.