Dynamic Bank Selection for Memory Refresh Optimization
Solution Overview
Problem
Existing memory sub-systems face inefficiencies in refreshing banks, particularly when refreshing predefined pairs of banks that share the same address, as this can consume more resources than necessary.
Innovation Solution
The solution involves expanding the predefined pairs of banks that can be refreshed, allowing for adjustable pairs that do not necessarily share an address, and enabling concurrent refreshing of banks to be defined at runtime using mode registers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If predefined pairs of banks that share the same address are refreshed, then memory reliability is maintained, but resource consumption increases
Solution Approach 1:
The memory banks are segmented into different groups based on their address characteristics. The refresh operation is divided into selective bank refreshing rather than refreshing all banks uniformly. This allows only the necessary banks to be refreshed, reducing resource consumption while maintaining reliability.
Solution Approach 2:
The refresh operation transitions from a static predefined pair approach to a dynamic selective approach. The system dynamically determines which banks need refreshing based on runtime conditions and address patterns, allowing optimization of resource usage while maintaining memory reliability.
2Ease of operation
If predefined pairs of banks are refreshed, then memory maintenance is simplified, but flexibility in bank selection is reduced
Solution Approach 1:
The refresh mechanism is designed to serve multiple functions: it can refresh predefined pairs of banks for simplicity, or it can selectively refresh individual banks or custom groups based on runtime needs. This multi-functionality provides both ease of operation and flexibility, resolving the contradiction between simplified maintenance and adaptable bank selection.
3Reliability
If all banks are refreshed concurrently, then memory reliability is ensured, but system performance decreases
Solution Approach 1:
The concurrent refresh of all banks is segmented into selective refresh operations on individual banks or small groups of banks. This segmentation allows the system to maintain reliability by refreshing only the necessary banks while avoiding the performance penalty of refreshing all banks concurrently.
Solution Approach 2:
Instead of performing a complete refresh of all banks (excessive action), the system performs a partial refresh only on the banks that require it. This partial action maintains sufficient reliability while significantly improving system performance by avoiding unnecessary refresh operations.
Data Source
AI summary
In various examples, refreshing a bank can include receiving a refresh command, wherein the refresh command comprises selector bits and receiving mode register bits from the mode registers. Refreshing a bank can also include refreshing a number of banks from the plurality of banks utilizing the mode register bits and the selector bits.


