Patentable/Patents/US-11520659
US-11520659

Refresh-hiding memory system staggered refresh

PublishedDecember 6, 2022
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A computer-implemented method includes refreshing a set of memory channels in a memory system substantially simultaneously, each memory channel refreshing a rank that is distinct from each of the other ranks being refreshed. Further, the method includes marking a memory channel from the set of memory channels as being unavailable for the rank being refreshed in the memory channel. In one or more examples, the method further includes blocking a fetch command to the memory channel for the rank being refreshed in the memory channel.

Patent Claims
14 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 2

Original Legal Text

2. The computer-implemented method of claim 1, further comprising blocking a fetch command to the first memory channel for the rank a being refreshed in the first memory channel.

Plain English Translation

This invention relates to memory management in computer systems, specifically addressing inefficiencies during memory refresh operations. In dynamic random-access memory (DRAM), periodic refresh cycles are required to maintain data integrity, but these operations can disrupt normal memory access, leading to performance bottlenecks. The invention improves system performance by coordinating memory refresh operations with memory access commands to minimize disruptions. The method involves monitoring memory channels and ranks within a memory system to identify when a refresh operation is scheduled for a specific rank in a memory channel. During the refresh of this rank, the system blocks fetch commands directed to that rank, preventing data access conflicts. This ensures that memory access operations do not interfere with the refresh process, reducing latency and improving overall system efficiency. The method may also include similar coordination for other memory channels and ranks to optimize refresh scheduling across the entire memory system. By dynamically managing refresh operations and access commands, the invention enhances memory system performance without requiring hardware modifications.

Claim 3

Original Legal Text

3. The computer-implemented method of claim 2, wherein in response to the fetch command being blocked and an error in a third memory channel that is different from the first memory channel, the fetch command is repeated for the third rank being refreshed in the third memory channel.

Plain English Translation

This invention relates to memory management in computer systems, specifically addressing issues that arise when memory fetch commands are blocked due to refresh operations in memory channels. The problem occurs when a fetch command targeting a specific rank in a memory channel is blocked because that rank is undergoing a refresh operation, causing delays in data access. The invention provides a solution by dynamically rerouting the blocked fetch command to an alternative rank in a different memory channel that is not undergoing refresh, thereby improving system efficiency and reducing latency. The method involves monitoring memory channels for refresh operations and detecting when a fetch command is blocked due to a refresh in the target rank. If the fetch command is blocked and an error is detected in a third memory channel, the system repeats the fetch command for a different rank in that third channel, which is currently being refreshed. This ensures that the fetch operation can proceed without waiting for the original refresh to complete, leveraging available resources in other channels to maintain performance. The approach optimizes memory access by dynamically rerouting commands and handling errors in alternative channels, enhancing overall system responsiveness.

Claim 5

Original Legal Text

5. The computer-implemented method of claim 4, further comprising, in response to an error during reconstructing the fetch data, reissuing the fetch command to the first memory channel for the rank a being refreshed in the first memory channel.

Plain English Translation

This invention relates to error handling in memory systems, specifically during data reconstruction operations in a multi-channel memory architecture. The problem addressed is ensuring data integrity when errors occur during the reconstruction of fetch data from a memory rank undergoing a refresh operation. In such systems, memory ranks are periodically refreshed to maintain data integrity, but this can disrupt ongoing data access operations. The invention provides a method to handle errors that occur during these reconstruction operations by reissuing the fetch command to the same memory channel where the rank is being refreshed. This ensures that the data is correctly retrieved even if an initial attempt fails due to the refresh operation. The method involves detecting an error during the reconstruction of fetch data, identifying the affected memory channel and rank, and automatically reissuing the fetch command to that channel. This approach improves reliability by mitigating the impact of refresh-induced errors without requiring additional hardware or complex error correction mechanisms. The solution is particularly useful in high-performance computing environments where memory access delays must be minimized while maintaining data accuracy.

Claim 6

Original Legal Text

6. The computer-implemented method of claim 4, further comprising, in response to an error during reconstructing the fetch data, reissuing the fetch command to all of the available memory channels for the rank a.

Plain English Translation

The invention relates to error handling in memory systems, specifically for improving data reconstruction in multi-channel memory architectures. The problem addressed is the inefficiency and potential data loss when errors occur during data reconstruction from memory channels, particularly in systems where memory is organized into ranks and channels. Traditional approaches may fail to recover data correctly or may require complex error correction mechanisms, leading to performance degradation or system instability. The method involves a computer-implemented process for handling errors during data reconstruction in a memory system with multiple memory channels. When an error is detected during the reconstruction of fetch data from a rank, the system automatically reissues the fetch command to all available memory channels associated with that rank. This ensures that the data is re-fetched from all channels, increasing the likelihood of successful reconstruction by leveraging redundant data paths. The method may also include steps for identifying the rank and available channels, as well as determining the appropriate fetch command parameters to ensure consistency and correctness in the re-fetch operation. This approach improves reliability and reduces the risk of data corruption or system crashes due to unrecoverable memory errors. The technique is particularly useful in high-performance computing environments where memory access speed and reliability are critical.

Claim 7

Original Legal Text

7. The computer-implemented method of claim 1, wherein the memory system is a redundant array of independent memory (RAIM) error correcting code memory system.

Plain English Translation

A redundant array of independent memory (RAIM) error correcting code memory system improves data reliability and availability by distributing data across multiple memory modules. The system detects and corrects errors using error correction codes (ECC) applied across the distributed memory modules. This approach enhances fault tolerance by allowing the system to continue operating even if one or more memory modules fail. The RAIM system dynamically redistributes data to maintain redundancy and correct errors without requiring manual intervention. This method is particularly useful in high-availability computing environments where data integrity and uptime are critical. The system may include mechanisms for detecting memory failures, reconstructing data from redundant copies, and updating error correction codes to ensure ongoing data protection. By leveraging multiple memory modules, the RAIM system provides a robust solution for error correction, reducing the risk of data loss and system downtime.

Claim 9

Original Legal Text

9. The system of claim 8, further comprising blocking a fetch command to the first memory channel for the rank a being refreshed in the first memory channel.

Plain English Translation

A memory system includes multiple memory channels, each with multiple ranks of memory devices. The system monitors refresh operations in each rank and detects when a refresh operation is active in a particular rank. When a refresh operation is detected, the system blocks fetch commands directed to that rank to prevent data access conflicts during the refresh cycle. This ensures data integrity by avoiding read or write operations that could interfere with the refresh process. The system may also track refresh timings and prioritize refresh operations to maintain system performance while minimizing disruptions. The blocking mechanism can be implemented in a memory controller or a dedicated refresh management module, ensuring seamless integration with existing memory architectures. This approach improves reliability in high-performance computing environments where memory access and refresh operations must coexist efficiently.

Claim 10

Original Legal Text

10. The system of claim 9, wherein in response to the fetch command being blocked and an uncorrectable error in a third memory channel that is different from the first memory channel, the fetch command is repeated for the third rank being refreshed in the third memory channel.

Plain English Translation

A system for managing memory operations in a multi-channel memory architecture addresses the problem of handling uncorrectable errors during data retrieval. The system includes multiple memory channels, each containing one or more ranks of memory modules. When a fetch command is issued to retrieve data from a first memory channel, the system monitors for errors during the fetch operation. If an uncorrectable error occurs in a different memory channel (a third memory channel), the system blocks the fetch command and initiates a refresh operation for a rank within the third memory channel. After refreshing the affected rank, the system repeats the fetch command to ensure data integrity. This approach prevents data corruption by ensuring that memory ranks are in a stable state before retrying the fetch operation, particularly when errors are detected in unrelated memory channels. The system dynamically adjusts memory operations to maintain reliability in high-performance computing environments where multiple memory channels operate simultaneously.

Claim 12

Original Legal Text

12. The system of claim 11, wherein the method further comprises, in response to an error during reconstructing the fetch data, reissuing the fetch command to the first memory channel for the rank a.

Plain English Translation

The system involves a memory controller for managing data transfers between a processor and a memory system, particularly in a multi-channel memory architecture. The problem addressed is ensuring reliable data reconstruction when errors occur during memory operations, such as fetching data from a memory module. The system includes a memory controller configured to issue fetch commands to a first memory channel for accessing data from a specific rank within a memory module. If an error is detected during the data reconstruction process, the system automatically reissues the fetch command to the same memory channel and rank to retry the operation. This retry mechanism improves data integrity and system reliability by mitigating transient errors that may occur during memory access. The memory controller may also include error detection and correction logic to identify and handle errors before triggering the retry process. The system is designed to operate in environments where memory access errors are possible, such as in high-performance computing or systems with high error rates due to environmental factors. The retry mechanism ensures that data is accurately retrieved even in the presence of temporary faults, maintaining system stability and performance.

Claim 13

Original Legal Text

13. The system of claim 11, wherein the method further comprises, in response to an error during reconstructing the fetch data, reissuing the fetch command to all of the available memory channels for the rank a being refreshed in the first memory channel.

Plain English Translation

This invention relates to memory systems, specifically addressing errors during data reconstruction in multi-channel memory architectures. The problem being solved involves ensuring data integrity and system reliability when errors occur during memory refresh operations in systems with multiple memory channels. The system includes a memory controller configured to manage multiple memory channels, each containing one or more ranks of memory modules. During a refresh operation, data is fetched from a first memory channel and reconstructed for storage in another channel. If an error is detected during this reconstruction process, the system reissues the fetch command to all available memory channels associated with the rank being refreshed in the first channel. This ensures that the data is correctly retrieved and reconstructed, maintaining system stability and data accuracy. The method involves detecting errors during the reconstruction phase, triggering a re-fetch operation across all relevant channels to recover the data. This approach mitigates the risk of data corruption and system failures, particularly in high-reliability applications where memory integrity is critical. The solution is applicable to systems with redundant memory configurations, such as those used in servers, data centers, or other high-performance computing environments.

Claim 14

Original Legal Text

14. The system of claim 8, wherein a mark for the memory channel can include an indication of a correctable error check or of an uncorrectable error check.

Plain English Translation

A system for memory channel error detection and correction includes a memory controller and one or more memory channels. The memory controller is configured to detect and correct errors in data transmitted over the memory channels. The system further includes a mechanism to mark memory channels with indicators that specify whether an error check is correctable or uncorrectable. When an error is detected, the system determines whether the error can be corrected based on the mark associated with the memory channel. If the error is correctable, the system applies error correction techniques to recover the data. If the error is uncorrectable, the system may take alternative actions, such as signaling an error condition or retrying the operation. The system improves reliability by distinguishing between correctable and uncorrectable errors, allowing for more efficient error handling and system recovery. The memory controller may also include logic to log error events and track error rates for diagnostic purposes. This system is particularly useful in high-reliability computing environments where data integrity is critical.

Claim 16

Original Legal Text

16. The computer program product of claim 15, further comprising blocking a fetch command to the memory channel for the rank a being refreshed in the first memory channel.

Plain English Translation

A computer program product is designed to manage memory refresh operations in a system with multiple memory channels, each containing multiple memory ranks. The system includes a memory controller that coordinates refresh operations to prevent data corruption during memory access. The invention addresses the problem of potential data integrity issues when a memory rank is being refreshed while another operation attempts to access it. To solve this, the program product includes instructions for blocking a fetch command directed to a memory rank that is currently undergoing a refresh operation in a first memory channel. This ensures that no conflicting access attempts occur during the refresh cycle, thereby maintaining data integrity and system stability. The solution involves detecting the refresh state of a memory rank and temporarily halting or delaying any fetch commands targeting that rank until the refresh is complete. This approach is particularly useful in high-performance computing environments where multiple memory channels and ranks are actively used, and ensuring synchronized access is critical for reliable operation. The program product may also include additional features such as prioritizing refresh operations or dynamically adjusting refresh intervals based on system workload to optimize performance while maintaining data integrity.

Claim 17

Original Legal Text

17. The computer program product of claim 16, wherein in response to the fetch command being blocked and an uncorrectable error in a third memory channel that is different from the first memory channel, the fetch command is repeated for the third rank being refreshed in the third memory channel.

Plain English Translation

This invention relates to error handling in memory systems, specifically addressing uncorrectable errors in multi-channel memory architectures. The technology domain involves computer systems with multiple memory channels, where data integrity is critical for reliable operation. The problem being solved is the handling of uncorrectable errors in a memory channel during a fetch operation, particularly when the affected channel is undergoing a refresh cycle, which can disrupt system performance and data availability. The invention describes a method for managing fetch commands in a memory system with at least three memory channels. When a fetch command is blocked due to an uncorrectable error in a first memory channel, the system detects whether a third memory channel, distinct from the first, is experiencing an uncorrectable error. If so, the system repeats the fetch command for a specific rank within the third memory channel that is currently being refreshed. This ensures that the fetch operation is retried in a manner that avoids further disruptions caused by the refresh cycle, thereby improving system reliability and data access efficiency. The solution dynamically adjusts fetch operations based on error conditions across multiple memory channels, optimizing memory access during error scenarios.

Claim 19

Original Legal Text

19. The computer program product of claim 18, wherein the method further comprises, in response to an error during reconstructing the fetch data, reissuing the fetch command to the first memory channel for the rank a being refreshed in the first memory channel.

Plain English Translation

This invention relates to error handling in memory systems, specifically during data reconstruction in a multi-channel memory architecture. The problem addressed is ensuring data integrity when errors occur during fetch operations in a memory system where one or more memory ranks are being refreshed. Memory refresh operations can temporarily disrupt access to certain ranks, leading to potential data corruption or loss if errors are not properly managed. The invention describes a method implemented in a computer program product for handling such errors. When a fetch command is issued to a first memory channel to retrieve data from a specific rank, and an error occurs during the data reconstruction process, the system automatically reissues the fetch command to the same memory channel. This reissue occurs specifically when the rank being accessed is currently undergoing a refresh operation in the first memory channel. The reissue ensures that the fetch operation is retried, allowing the system to obtain the correct data once the refresh operation is complete. This approach prevents data corruption and ensures reliable data retrieval even during refresh cycles. The method is particularly useful in high-performance computing environments where memory access reliability is critical.

Claim 20

Original Legal Text

20. The computer program product of claim 18, wherein the method further comprises, in response to an error during reconstructing the fetch data, reissuing the fetch command to all of the available memory channels for the rank a.

Plain English Translation

This invention relates to error handling in memory systems, specifically for reconstructing fetch data in a multi-channel memory architecture. The problem addressed is the occurrence of errors during data reconstruction, which can disrupt system operations and reduce reliability. The solution involves a method for reissuing fetch commands to all available memory channels when an error is detected during data reconstruction, ensuring data integrity and system stability. The method operates within a memory system where data is distributed across multiple memory channels and ranks. When a fetch command is issued to retrieve data from a specific rank, the system reconstructs the data from the available channels. If an error occurs during this reconstruction, the system automatically reissues the fetch command to all available memory channels for the affected rank. This ensures that the data is correctly retrieved, even if one or more channels initially fail to provide valid data. The reissuing process may involve retrying the fetch operation or using alternative data paths to recover the missing or corrupted data. This approach improves fault tolerance in memory systems by dynamically responding to errors during data reconstruction, reducing the likelihood of data loss or system crashes. The method is particularly useful in high-performance computing environments where memory reliability is critical.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

January 13, 2020

Publication Date

December 6, 2022

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Refresh-hiding memory system staggered refresh” (US-11520659). https://patentable.app/patents/US-11520659

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-11520659. See llms.txt for full attribution policy.