External Memory Interface Address Translation for Dual Memory Types
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory interface controllers require duplicative circuitry to communicate with both volatile and non-volatile external memory devices, leading to large design area and cost inefficiencies.
Innovation Solution
An address protocol controller modifies addresses in access requests based on the type of external memory, allowing a single external memory interface controller to interface with both volatile and non-volatile memory types, reducing the need for additional circuitry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a general-purpose memory interface controller is used to communicate with both volatile and non-volatile external memory devices, then the controller can interface with multiple memory types, but the design area increases due to large controller size
Solution Approach 1:
The memory interface controller is segmented into distinct modules: an address protocol controller that handles memory type identification and address modification, and a data protocol controller that manages data transfers. This segmentation allows the controller to support multiple memory types without requiring a complete duplicate interface for each type, reducing the overall design area while maintaining versatility.
Solution Approach 2:
The address protocol controller is designed as a universal component that can adapt to different memory types (volatile and non-volatile) through configuration-based address modification. Instead of creating separate specialized controllers for each memory type, this single universal controller can interface with multiple memory types by dynamically adjusting its address translation behavior based on the detected memory type.
2Adaptability or versatility
If distinct circuitry is provided in the interface controller for communicating with different types of external memory, then communication with various memory types is enabled, but device complexity increases
Solution Approach 1:
The controller employs dynamic address modification where the address translation behavior changes based on the detected memory type. The address protocol controller dynamically adjusts its operation mode (whether to modify addresses or pass them through) based on configuration information about the connected memory device, allowing a single static hardware design to perform multiple dynamic functions.
Solution Approach 2:
The address protocol controller acts as an intermediary layer between the processing core and the external memory device. It mediates the communication by translating between the processing core's address format and the memory device's expected address format, eliminating the need for separate specialized interface circuitry for each memory type.
3Device complexity
If a single external memory interface controller is used to interface with both volatile and non-volatile memory types, then the number of controllers is reduced, but additional circuitry is required to handle different memory protocols
Solution Approach 1:
The address modification functionality and the data transfer functionality are merged into a single integrated controller. The address protocol controller works in tandem with the data protocol controller within the same hardware block, eliminating the need for separate dedicated controllers for volatile and non-volatile memory while minimizing additional circuitry through shared resources.
Data Source
AI summary
In an example embodiment, a device includes an address protocol controller configured to receive an access request that includes an address associated with an external memory, and an external memory interface controller coupled to the address protocol controller and configured to couple to the external memory. The address protocol controller is configured to determine, based on a type of the external memory device, whether to generate a modified address associated with the address in the access request. Based on the external memory device being a first type, the address protocol controller is configured to provide the address to the external memory. Based on the external memory being a second type, the address protocol controller is configured to generate the modified address and provide the modified address to the external memory interface controller to access the external memory.


