Self-healing hardware systems: A review. (November 2019) - Khalil, Kasem; Eldash, Omar; Kumar, Ashok; Bayoumi, Magdy
Abstract: Self-healing is increasingly becoming a promising approach to designing reliable digital systems, and it refers to the ability of a system to detect faults or failures and fix them through healing or repairing. Digital systems with architecture for self-healing are expected to compensate faults. However, there are a few research challenges that need to be overcome before self-healing becomes a mainstream approach. For example, current self-healing techniques face challenges such as scalability, reliability, area overhead, and mapping. This paper explains the self-healing concept and investigates the self-healing approaches related to digital design in the literature. It gives a general overview of the topic and explains levels of abstraction at which self-healing can be used: hardware level, application level, and system level. The paper presents multiple related works at each level of abstraction. In the faulted phase, different types of faults and fault detection methods are described. For the evaluation of a self-healing technique, this paper presents the parameters which can be used to evaluate a self-healing method. These parameters are redundancy rate, the maximum ratio of repair, self-healing time consumption, reliability, and area overhead. The paper also presents a comparison between previous works of self-healing in terms of evaluation techniques. Implementations using VHDL and ISE Xilinx Vertex-5 for self-healing on Embryonic Hardware (EmHW) and Network-on-Chip (NoC) are also presented. The simulation results show the contribution of self-healing to improve system reliability and mean time to failure.