Self repairing computer memory

Assignment title: Self repairing computer memory
Start date: July 2010
Client: Durham University
Investigator Dr David Nugent



Researchers at Durham University have developed a method for automated computer memory preservation and restoration based on a technique called Convergent Cellular Automata (CCA). In simple terms, each memory cell contains a look-up table which can restore the status of any cell within a larger cell array based on the status of neighbouring cells. This process is analogous to biological cell repair whereby each cell contains a DNA description of every other cell in the body, but whose own status depends on the status of neighbouring cells.

The images below show how a memory array, represented here as a colored flag, can programme or repair itself using the CCA method. The upper row shows image formation from a single data cell; the lower row shows image self-repair from a globally corrupt cell array.


The simulated reliability of a self-repairing arithmetic logic unit (ALU) is shown to be considerably greater than an N-modular redunant ALU of equivalent size. The superior reliability demonstrated by the self-repairing design is due to its ability to tolerate those failure modes that can be corrected by reconfiguring the device. The reliability of the self-repairing ALU can be further increased by introducing a small number of redundant cells to replace broken cells. The figure below (right) shows the reliability of a system with 10 redundant cells compared to the N-mod ALU of equivalent size. Here the MTTF is increased by a factor of 10^10 hours over the equivalent N-mod design.


Detect memory cell malfunction: By comparing the outcome of each CCA iteration with its desired and known output, the CCA method immediately detects anomalous data entries caused by malicious attack or environment damage. Any discrepancies are flagged and the correct status of the entire memory array automatically restored.
Data restoration: The entire memory array is constantly restored to its original configuration. This is possible even if only a single cell survives within the entire array.
Memory configuration: Depending on the design of the look-up tables, the cell array memory can be rewritten by changing the boundary conditions of the CCA. In other words, given a different starting point, the CCA method can converge onto a different end result.

Documents available for download

Joint development and licensing opportunity

Click here

Design of a self-assembling, repairing and reconfiguring arithmetic logic unit

Click here

PCT Application WO 2009/098521

Click here

Mimicking morphogenesis for robust behaviour of cellular architectures

Click here

Model and application of the community effect

Click here