Address-Range Memory Mirroring for Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in maintaining data integrity and reliability due to the cost and bandwidth inefficiencies of traditional memory mirroring methods, which require duplicating all memory writes, thereby reducing available memory resources and increasing write bandwidth.
Innovation Solution
Implementing address-range memory mirroring with programmable memory mirror agents that intercept write requests and redundantly mirror only specific memory address ranges, allowing flexible control over which data is duplicated, thereby improving data integrity without halving available memory resources or doubling write bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional memory mirroring is implemented to duplicate all memory writes, then data integrity is improved, but available memory resources are reduced by half and write bandwidth is doubled
Solution Approach 1:
The patent implements selective memory mirroring where only specific memory address ranges designated as critical are mirrored to redundant memory locations. The memory mirror agent intercepts write requests and determines whether to mirror based on the target address falling within programmed critical ranges, thereby providing enhanced reliability only where needed while preserving available memory resources for non-critical addresses.
Solution Approach 2:
The memory address space is segmented into critical and non-critical regions through programmable address range registers. The memory mirror agent processes write requests by checking whether the target address falls within any of the programmed critical ranges, allowing differential treatment of different memory segments. This segmentation enables selective mirroring that improves data integrity for critical data while avoiding the overhead of mirroring all memory.
2Reliability
If traditional memory mirroring is implemented to duplicate all memory writes, then data integrity is improved, but write bandwidth consumption is doubled
Solution Approach 1:
The memory mirror agent applies different write handling policies to different memory address ranges. For critical memory ranges, write requests are mirrored to redundant locations, providing enhanced reliability. For non-critical ranges, write requests are processed normally without mirroring, thereby maintaining standard write bandwidth consumption and avoiding the doubling effect of full memory mirroring.
Solution Approach 2:
Instead of performing full memory mirroring for all write requests, the system performs partial mirroring only for write requests targeting critical memory address ranges. The memory mirror agent selectively applies the mirroring action based on address range checks, implementing just enough redundancy for critical data without the excessive bandwidth consumption of universal mirroring.
3Quantity of substance
If selective address-range memory mirroring is implemented, then memory resource availability is maintained, but system complexity increases due to memory mirror agents and address range management
Solution Approach 1:
The memory mirror agent operates autonomously by intercepting write requests and independently determining whether mirroring is required based on the target address and programmed address ranges. The agent self-manages the mirroring decision process without requiring external intervention for each write operation, reducing the operational complexity despite the added structural components.
Solution Approach 2:
The memory mirror agent serves multiple functions: it intercepts write requests, determines whether the target address falls within critical ranges, performs mirroring when needed, and manages redundant memory locations. This multi-functionality consolidates what could be multiple separate components into a single agent, reducing overall system complexity while maintaining selective mirroring capabilities.
Data Source
AI summary
Address range memory mirroring in a computer system, and related methods and computer-readable media. The computer system includes one or more memory mirror agents that are each configured to be programmed to mirror write data of a write request to a memory address mapped to the memory mirror agent. The memory mirror agent is configured to mirror write data to a redundant memory space in memory if the write memory address is within a programmed memory space to be mirrored by the memory mirror agent. The memory mirror agent can be programmed to perform memory mirroring based on specific address ranges to provide flexibility in controlling and changing the exact memory space of the memory system to be mirrored. If an error is detected in read data in response to a memory read request, the memory mirror agent can retrieve the stored redundant data to maintain data integrity.


