Microcontroller Intercepts Shared Non-Volatile Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions for sharing non-volatile memory among processors in computer systems are expensive, inflexible, and can cause system performance degradation, as they often require separate memory devices for each processor or costly manufacturing processes.
Innovation Solution
A system and method where a microcontroller intercepts communications between the processor and shared non-volatile memory, controlling access to ensure safe and exclusive access for itself during system state changes like power on reset, allowing it to retrieve data before relinquishing access to the processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate dedicated memory devices are provided for each processor/microcontroller, then reliability of memory access is improved, but device cost and system complexity increase
Solution Approach 1:
The patent merges the memory resources of the processor and microcontroller into a single shared non-volatile memory device, eliminating the need for separate memory devices. The memory sharing logic coordinates access between the two processors, allowing them to share a single memory device while maintaining reliable access for both.
Solution Approach 2:
The patent introduces memory sharing logic as an intermediary component that mediates access between the processor and microcontroller to the shared non-volatile memory. This intermediary manages arbitration and coordination, ensuring reliable access for both processors without requiring separate memory devices.
2Adaptability or versatility
If embedded flash memory is integrated on the microcontroller die, then flexibility and upgradability are improved, but manufacturing cost increases by 30%
Solution Approach 1:
The patent makes a standard non-volatile memory device serve multiple functions by allowing both the processor and microcontroller to access it. The memory can store firmware for the microcontroller, enabling updates and flexibility without requiring expensive embedded flash integration, thus achieving multi-functionality at lower cost.
Solution Approach 2:
The patent allows the microcontroller to read copies of firmware from the shared non-volatile memory device. This enables the microcontroller to obtain updated firmware without having embedded flash integrated into its die, achieving firmware flexibility through external memory access rather than expensive on-chip integration.
3Device complexity
If arbitration is attempted for shared memory access, then device cost is reduced, but system performance and reliability are degraded
Solution Approach 1:
The patent implements dynamic access control where the memory sharing logic can selectively enable or disable access for the processor or microcontroller based on system state. During reset operations, the microcontroller gains exclusive access; during normal operation, the processor accesses memory. This dynamic switching eliminates performance degradation from arbitration while still sharing the memory device.
Solution Approach 2:
The patent performs preliminary actions by having the memory sharing logic preemptively grant exclusive access to the microcontroller before the processor needs to access memory during reset operations. This prevents conflicts and performance degradation by establishing clear access rights in advance, ensuring the processor does not attempt simultaneous access.
4Ease of manufacture
If ROM is used with standard manufacturing process, then manufacturing cost is reduced, but firmware flexibility and update capability are lost
Solution Approach 1:
The patent uses preliminary action by having the memory sharing logic grant exclusive access to the microcontroller during specific system states (such as reset or initialization). This allows the microcontroller to load or update firmware from the shared non-volatile memory at predetermined times, achieving firmware flexibility without requiring expensive embedded flash or sacrificing standard manufacturing processes.
Data Source
AI summary
System and method for sharing a device, e.g., non-volatile memory, between a host processor and a microcontroller. In response to system state change to a first state wherein the microcontroller is assured safe access to the non-volatile memory (e.g., in response to power-on reset, system reset, sleep state, etc.), the microcontroller holds the system in the first state (e.g., system reset), and switches access to the non-volatile memory from the processor to the microcontroller. While the system is held in the first state, the microcontroller accesses the device (e.g., non-volatile memory), e.g., fetches program instructions/data from the non-volatile memory and loads the program instructions/data into a memory of the microcontroller. After the access, the microcontroller changes or allows change of the system state, e.g., switches access to the device, e.g., the non-volatile memory, from the microcontroller to the processor, and releases the system from the first state.


