NVDIMM Memory Controller Backup Buffer for Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems using non-volatile dual in-line memory modules (NVDIMM), when errors occur in read data, the memory controller must re-execute all read commands following the latest correct read command, leading to significant performance degradation due to the long processing time required for each read command.
Innovation Solution
Implementing a backup buffer system where the medium controller stores data sent to the memory controller, allowing it to quickly resend erroneous data by determining the location of the data in the backup buffer based on sequence information included in a retransmission command, thereby avoiding the need to re-read data from the storage medium.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the memory controller re-executes all read commands following the latest correct read command when an error occurs, then the erroneous data can be recovered, but the system performance degrades significantly due to the long processing time required for each read command
Solution Approach 1:
The medium controller pre-loads data from the storage medium into a buffer before the memory controller requests it. This preliminary action ensures that when an error is detected, the data is already available in the buffer for immediate retransmission without requiring re-execution of read commands, thus resolving the contradiction between reliable data recovery and maintaining high system performance
Solution Approach 2:
A buffer is introduced as an intermediary component between the storage medium and the memory controller. The buffer temporarily stores data, allowing the medium controller to quickly resend erroneous data without involving the storage medium again. This intermediary mechanism eliminates the need to re-execute read commands while ensuring data availability for recovery
2Loss of information
If the memory controller parses obtained data to identify which read command was used, then it can determine which data to re-execute, but this additional processing time further degrades system performance
Solution Approach 1:
The medium controller sends feedback information including sequence numbers of sent data to the memory controller. This feedback mechanism allows the memory controller to identify which data was sent without needing to parse and analyze the obtained data, significantly reducing processing time while maintaining accurate command tracking
Solution Approach 2:
The medium controller preliminarily tags each piece of sent data with sequence number information before transmitting it to the memory controller. This preliminary action ensures that the memory controller can immediately identify which data corresponds to which read command without additional parsing, resolving the contradiction between accurate command tracking and minimizing processing time
Data Source
AI summary
A memory access technology and a computer system, where the computer system includes a memory controller and a medium controller connected to the memory controller. In the computer system, when detecting that an error occurs in first data that is returned by the medium controller in response to a first send command, the memory controller determines sequence information of the first send command in a plurality of send commands that have been sent by the memory controller within a time period from a time point at which the first send command is sent to a current time, and sends a data retransmission command to the medium controller to instruct the medium controller to resend the first data based on the sequence information.


