Memory Controller Sequencing Engine Bank Group Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face inefficiencies in scheduling memory operations due to the complexities of managing multiple bank groups within memory devices, leading to suboptimal performance and increased delays in operations such as row activations and CAS operations.
Innovation Solution
A sequencing engine in a memory controller receives operations targeting memory devices with multiple bank groups, determines the targeted bank group for each operation, selects operations based on the bank group of a previously sent operation, and sends them to the memory device, employing various bank group selection policies to optimize timing and reduce delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory operations are scheduled without bank group optimization, then the scheduling process is simple, but memory access delays increase and system performance deteriorates
Solution Approach 1:
The patent segments the memory device into multiple bank groups and implements separate queues for each bank group in the sequencing engine. This segmentation allows independent management and scheduling of operations for each bank group, enabling parallel processing and reducing contention between operations targeting different bank groups, thereby improving memory operation throughput without excessive complexity
Solution Approach 2:
The patent performs preliminary classification of incoming memory operations by their target bank group before scheduling. The sequencing engine determines the bank group for each operation in advance and places it in the appropriate queue, allowing the scheduling process to proceed efficiently by selecting from pre-organized queues rather than making complex decisions at execution time
2Loss of time
If operations are sent to memory without bank group awareness, then the control logic is simple, but operation delays increase due to bank conflicts
Solution Approach 1:
The patent implements a feedback mechanism where the sequencing engine tracks the bank group of the previously sent operation and uses this information to make scheduling decisions for subsequent operations. This feedback loop enables the engine to avoid sending operations to the same bank group consecutively when possible, reducing bank conflicts and operation delays through adaptive scheduling
Solution Approach 2:
The patent employs dynamic scheduling policies that adapt to the current state of memory bank groups. The sequencing engine selects operations based on real-time conditions such as which bank groups are currently active or idle, allowing the system to optimize for minimum delays by dynamically adjusting the selection criteria rather than using fixed scheduling rules
Data Source
AI summary
Scheduling memory operations using bank groups including receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups; determining, by the sequencing engine, a targeted bank group of each of the set of operations; selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation; and sending, by the sequencing engine, the selected one of the set of operations to the memory device.


