CAM-Based DRAM Controller Access Priority Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory controllers for DRAM devices face inefficiencies in optimizing access requests due to limitations in stream length and complexity in state machine decision mechanisms, leading to suboptimal access times and bandwidth utilization.
Innovation Solution
A content addressable memory (CAM) based decision control module is introduced, comprising a CAM access storage module, a next access table module, and a decision logic module to determine the next best access request, along with a DRAM access control interface for optimized signaling, allowing for more efficient access stream optimization and priority decision-making.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a traditional state machine is used to make access priority decisions, then the memory controller can implement basic access control, but the state machine becomes unmanageably complex as multiple accesses are added to the decision mechanism
Solution Approach 1:
The patent replaces the traditional mechanical state machine with a content addressable memory (CAM)-based decision control module. The CAM structure allows parallel searching of access requests stored in entries, enabling efficient priority decision-making without the complexity of traditional state machines. The CAM can simultaneously compare multiple access requests and their associated attributes (age, priority, bank availability) to determine the next best access, substituting complex sequential state machine logic with parallel hardware search operations.
Solution Approach 2:
The patent introduces a CAM access storage module as an intermediary between the access request queue and the decision logic. This intermediary structure stores access requests in a standardized format with associated metadata, allowing the decision control module to efficiently query and compare requests without directly managing the complexity of multiple access streams. The CAM acts as a mediator that simplifies the interaction between different control functions.
2Productivity
If the memory controller optimizes access requests to maximize bandwidth and minimize latency, then access efficiency improves, but the complexity of managing multiple access streams increases
Solution Approach 1:
The patent segments the access request management into distinct functional components: a CAM access storage module for storing access requests, a next access table module for tracking optimal accesses, and a decision logic module for determining priority. This segmentation allows each component to handle specific aspects of access optimization independently, reducing the overall management complexity while maintaining high productivity.
Solution Approach 2:
The patent implements preliminary action by pre-storing access requests in the CAM access storage module and pre-calculating their attributes (age, priority, bank availability) before the decision-making process. The next access table module also pre-tracks optimal access patterns. This preliminary preparation allows the decision logic module to quickly determine the next best access without complex real-time calculations, improving productivity while reducing management complexity.
Data Source
AI summary
A method and system for accessing a dynamic random access memory (DRAM) is provided. A memory controller includes a content addressable memory (CAM) based decision control module for determining a next best access request for the DRAM. The CAM based decision control module includes a CAM access storage module for storing access requests, a next access table module for storing the next best access request, and a decision logic module for determining the next best access request based on results from the CAM access storage module and the next access table module. Further, the memory controller includes a DRAM access control interface for implementing signaling required to access the DRAM. The method includes storing access requests in a CAM access storage module. The method includes determining which of the stored access requests is a next best access request. Further, the method includes processing the next best access request.


