Memory Trainer Using Buffer for DRAM Retention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dynamic Random-Access Memory (DRAM) requires precise tuning of voltage offsets and timing delays for reliable interfacing, which is complex due to numerous pins and possible values, and must be trained periodically to maintain high performance in diverse computing environments with limited time budgets.
Innovation Solution
A method and apparatus for memory training involve a data buffer and a memory trainer that selects a memory address, writes and reads data to perform retraining, using a memory controller and physical layer circuitry to generate and transmit training data, and determine the usability of memory areas by comparing read-back data with predefined parameters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If comprehensive memory training is performed to ensure high performance and reliability, then memory interface reliability is improved, but training time increases
Solution Approach 1:
The patent divides the memory training process into multiple stages: initial training during boot, periodic retraining during operation, and selective training of specific memory areas. This segmentation allows the system to maintain reliability through comprehensive training while reducing the time impact by spreading training operations across different time periods and selectively training only necessary memory regions.
Solution Approach 2:
The patent performs memory training in advance during system boot before normal operation begins. This preliminary action ensures that memory interfaces are fully trained and reliable before the system needs to operate at full performance, eliminating the need for extensive training during time-critical operations.
2Productivity
If memory training is performed frequently to adapt to changing computing environments, then performance is maintained, but time budget is exceeded
Solution Approach 1:
The patent implements periodic retraining operations during memory access operations rather than continuous training. The training is triggered at specific intervals and conditions, allowing the system to adapt to environmental changes while maintaining a predictable time budget that doesn't interfere with normal productivity operations.
Solution Approach 2:
The patent performs training on selected memory areas rather than the entire memory space. By identifying and training only the memory regions that are actually used or showing degradation, the system maintains high performance in critical areas while reducing the overall training time to fit within available time budgets.
3Manufacturing precision
If detailed tuning of voltage offsets and timing delays is performed for each pin, then manufacturing variation compensation is improved, but device complexity increases
Solution Approach 1:
The patent implements self-training functionality where the memory system automatically performs its own training operations without external intervention. The memory controller autonomously adjusts voltage offsets and timing delays based on observed signal characteristics, eliminating the need for complex external tuning equipment and reducing device complexity while maintaining manufacturing variation compensation.
Solution Approach 2:
The patent uses feedback from read-back data during training to automatically adjust voltage offsets and timing delays. The system monitors the quality of memory responses and iteratively refines tuning parameters based on this feedback, replacing complex manual tuning processes with automated closed-loop control that achieves precise compensation with simpler device architecture.
Data Source
AI summary
A method and apparatus for training data in a computer system includes reading data stored in a first memory address in a memory and writing it to a buffer. Training data is generated for transmission to the first memory address. The data is transmitted to the first memory address. Information relating to the training data is read from the first memory address and the stored data is read from the buffer and written to the memory area where the training data was transmitted.


