Memory Macro Address Mapping to Reduce Address Bus Toggle Power
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems dissipate power due to unnecessary toggling of memory macro address buses, particularly when input addresses are outside the mapped address range, leading to inefficient power consumption.
Innovation Solution
Implement bipartite-parking address mappers that determine if input addresses fall within specific address ranges, preventing access to memory macros outside these ranges and maintaining their address buses at fixed values, thereby reducing unnecessary toggling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If traditional address mapping is used, then memory access functionality is provided, but power is dissipated due to unnecessary address bus toggling when input addresses are outside the mapped range
Solution Approach 1:
The address mapper determines in advance whether an input address falls within a mapped address range before activating the memory macro. When the address is outside the range, the mapper proactively sets the address bus to a fixed value and prevents activation, avoiding unnecessary toggling before it occurs.
Solution Approach 2:
The patent applies different address mapping strategies to different address ranges. For addresses within the mapped range, normal mapping is applied; for addresses outside the range, a fixed parking value is applied. This localized differentiation optimizes power consumption for specific address regions without affecting overall system functionality.
2Loss of energy
If address bus toggling is prevented for addresses outside mapped range, then power consumption is reduced, but additional control logic is required to determine address range membership
Solution Approach 1:
The address mapper performs a preliminary determination of whether the input address falls within the mapped address range before activating the memory macro. This advance check prevents unnecessary address bus toggling by proactively setting the address bus to a fixed value when the address is outside the range.
Solution Approach 2:
The address mapper acts as an intermediary component between the input address and the memory macro. It determines address range membership and conditionally routes addresses to the memory macro or parks them at a fixed value, thereby controlling address bus toggling without requiring modifications to the memory macro itself.
3Productivity
If normal address mapping is applied, then all input addresses are processed, but address bus toggles occur even when input address remains outside the mapped range
Solution Approach 1:
The address mapper determines in advance whether an input address falls within a mapped address range before activating the memory macro. When the address is outside the range, the mapper proactively sets the address bus to a fixed value and prevents activation, avoiding unnecessary toggling before it occurs.
Solution Approach 2:
The patent applies different address mapping strategies to different address ranges. For addresses within the mapped range, normal mapping is applied to maintain productivity; for addresses outside the range, a fixed parking value is applied to eliminate wasted toggling.
Data Source
AI summary
A memory device includes a first address mapper and a first memory macro connected to the first address mapper. The first address mapper is configured to determine if an input address falls within a first address range mapped to the first memory macro, in response to determining that the input address falls within the first address range mapped to the first memory macro, access the first memory macro with an address on an address bus of the first memory macro mapped from the input address, and in response to determining that the input address does not fall within the first address range mapped to the first memory macro, prevent access to the first memory macro and set the address bus of the first memory macro to a value that depends on whether the input address is lower or higher than the first address range.


