Background Built-In Self-Testing Memory with Redundant Repair
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory technologies are ineffective in correcting double-bit errors, leading to unrecoverable errors and system failures, as they rely on scrubbing methods that can only handle single-bit errors, and require offline testing and potential system downtime for diagnosis and repair.
Innovation Solution
A system and method for background built-in self-test (BBIST), self-diagnosis (BBISD), and self-repair (BBISR) that operates transparently to normal data operations, identifying and replacing failed or weak memory components in real-time, using adjustable parameters and redundant memory resources to prevent failures and extend memory lifespan.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If scrubbing is used to correct detected errors, then single-bit errors can be corrected, but double-bit errors cannot be corrected and lead to unrecoverable errors
Solution Approach 1:
The memory system is divided into multiple independently testable and repairable segments. Each segment can be individually tested using BBIST and repaired using BBISR, allowing the system to handle errors in isolated portions without affecting the entire memory array. This segmentation enables more sophisticated error correction strategies that can address multi-bit errors in specific locations.
Solution Approach 2:
The background built-in self-test (BBIST) continuously monitors memory health and identifies weak or failing memory cells before they cause unrecoverable errors. By performing tests in the background during normal operation, the system can preemptively replace or repair problematic cells, preventing the accumulation of errors that would lead to double-bit failure scenarios.
2Measurement precision
If offline testing is performed to diagnose and repair memory issues, then accurate diagnosis can be achieved, but system downtime occurs
Solution Approach 1:
The background built-in self-test (BBIST) and background built-in self-repair (BBISR) mechanisms operate continuously during normal memory operations, eliminating the need to stop the system for testing and repair. The test and repair actions are performed in the background, maintaining continuous useful action throughout the memory's operational lifecycle and preventing system downtime.
Solution Approach 2:
The memory system performs its own diagnosis and repair operations autonomously through BBIST and BBISR. The system identifies weak memory cells and initiates repair procedures without requiring external intervention or system shutdown. This self-service capability allows accurate diagnosis and repair to occur while the system remains operational.
3Reliability
If redundant memory resources are consumed to improve reliability, then error correction capability increases, but available memory capacity decreases
Solution Approach 1:
Instead of using dedicated redundant memory resources for error correction, the system creates copies of weak or failing memory cells during background repair operations. These copies are integrated into the memory array and activated only when needed, providing error correction capability without permanently reducing available memory capacity.
Solution Approach 2:
The system dynamically changes the operational parameters of memory cells based on their health status. Weak memory cells are identified through BBIST and their parameters are adjusted or they are replaced through BBISR. This dynamic parameter adjustment allows the system to maintain high reliability without requiring static redundant memory resources, as the available capacity adapts based on actual memory health conditions.
Data Source
AI summary
A memory device with background built-in self-testing (BBIST) includes a plurality of memory blocks; a memory buffer to offload data from one of the plurality of memory blocks temporarily; and a memory block stress controller to control a stress test applied to the one of the memory blocks when the data is temporarily offloaded on the memory buffer. The stress test tests for errors in the one of the plurality of the memory blocks.


