The project developed cross-layer resilience techniques to tolerate memory errors in both individual memory nodes and across multiple memory nodes within a rack. One of the key innovations was the development of FlexDIMM, a memory module designed to provide configurable protection against random bit cell errors, particularly in high-density memory technologies like Resistive RaM (ReRAM). FlexDIMM uses two types of protection codes: a fixed-protection code that opportunistically corrects bit errors, and a configurable code that employs BCH error-correcting codes (ECC) to address more severe errors. This module serves as the lower-tier protection in a two-tier resilience approach, complementing an upper-tier memory-replication scheme that ensures more robust error correction. An analytical model was created to assess the reliability of FlexDIMM, predicting its failure rates and helping to refine the design of the overall memory error protection system.
Additionally, the project developed a Replication-Aware Memory-Error Protection (RAMP) framework that enables resilience across multiple memory blades. RAMP integrates the lower-tier FlexDIMM protection with an upper memory-replication tier that uses rack-scale replication and erasure coding to correct errors that remain unaddressed by the FlexDIMM module. This tier offers a cost-effective and efficient method to handle memory errors, ensuring high availability with minimal storage overhead. An analytical model was also developed to guide the design of the two-tier memory resilience system, balancing performance, energy, and storage costs.
The scientific results of this project are documented in: (1) a technical report on applying the two-tier resilience framework to improve the efficiency of a resilient disaggregated memory system, (2) a paper summarizing the resilience approach and reliability model, along with another paper developing an experimental methodology for addressing performance variation, and (3) papers on improving the energy efficiency of data center servers, developed as part of the training activities.