Virtual Bank Manager Allocation in DRAM Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing DRAM controller designs require a significant amount of surface area for bank managers, which increases with the number of DRAM banks, and many bank managers remain idle due to varying access patterns, leading to inefficient utilization.

Innovation Solution

Implementing a method to allocate virtual bank managers dynamically within the DRAM controller, where virtual bank managers are assigned to physical banks based on availability, reducing the need for multiple bank managers and optimizing surface area usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of DRAM banks is increased to improve memory capacity and access parallelism, then memory performance is improved, but the number of bank managers increases proportionally, consuming more surface area on the DRAM controller

Engineering Contradiction:
Improvememory access parallelismVSAvoidsurface area on DRAM controller
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent implements a pool of virtual bank managers that can be dynamically allocated to multiple physical banks. Instead of having dedicated bank managers for each physical bank, a smaller set of virtual bank managers serves multiple banks through time-multiplexed allocation, reducing the total number of bank manager units needed on the DRAM controller

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces dynamic allocation of virtual bank managers to physical banks based on access patterns and timing requirements. The virtual bank manager pool dynamically assigns managers to active banks and reclaims them when inactive, allowing the system to adapt to varying workload demands and reduce idle resource consumption

Inventive Principle:
Principle #15Dynamics

2Reliability

If dedicated bank managers are assigned to each DRAM bank, then each bank can be managed independently, but many bank managers remain idle during periods when their associated banks are not actively accessed

Engineering Contradiction:
Improveindependent bank managementVSAvoidpower consumption of idle bank managers
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements a mechanism where virtual bank managers are temporarily allocated to physical banks when needed and then reclaimed when the banks become inactive. This allows the system to discard (de-allocate) virtual bank managers from idle banks and recover them for use with active banks, eliminating continuous power consumption of dedicated managers for inactive banks

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system dynamically tracks the activity status of each physical bank and adjusts the allocation of virtual bank managers accordingly. When a bank transitions from active to inactive state, its associated virtual bank manager is reclaimed; when a bank becomes active, a virtual bank manager is allocated to it, ensuring that bank management resources are always matched to actual workload requirements

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If a large number of bank managers are implemented to support increased DRAM banks, then complete bank coverage is achieved, but the complexity of the DRAM controller increases

Engineering Contradiction:
ImproveDRAM bank coverageVSAvoidDRAM controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the bank management function into two parts: a pool of shared virtual bank managers and a virtualization layer that manages allocation. Instead of implementing one complex dedicated bank manager per physical bank, the system uses fewer simpler virtual bank managers that are multiplexed across multiple banks through the virtualization layer

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual bank manager pool as an intermediary layer between the physical DRAM banks and the control logic. This intermediary abstracts the complexity of managing multiple physical banks by providing a standardized interface and handling the dynamic allocation logic, thereby reducing the overall controller complexity while maintaining full bank coverage

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9436625B2Approach for allocating virtual bank managers within a dynamic random access memory (DRAM) controller to physical banks within a DRAM
Publication Date: 2016.09.06 NVIDIA CORP
  • US9436625B2 patent drawing
  • US9436625B2 patent drawing
  • US9436625B2 patent drawing

AI summary

Banks within a dynamic random access memory (DRAM) are managed with virtual bank managers. A DRAM controller receives a new memory access request to DRAM including a plurality of banks. If the request accesses a location in DRAM where no virtual bank manager includes parameters for the corresponding DRAM page, then a virtual bank manager is allocated to the physical bank associated with the DRAM page. The bank manager is initialized to include parameters needed by the DRAM controller to access the DRAM page. The memory access request is then processed using the parameters associated with the virtual bank manager. One advantage of the disclosed technique is that the banks of a DRAM module are controlled with fewer bank managers than in previous DRAM controller designs. As a result, less surface area on the DRAM controller circuit is dedicated to bank managers.