3Hardware Error Detection and Recovery Through Hardware‐Implemented Techniques
3.1 Introduction
A reliable computer system is one that provides its normal level of service even in the presence of hardware and software faults [1, 2]. There are two philosophies on how to achieve reliability: fault avoidance, wherein techniques prevent the occurrence of faults; and fault tolerance, wherein techniques allow the system to continue to execute despite the occurrence of faults. This discussion focuses on methods for achieving fault tolerance.
Fault tolerance can be achieved using either of two basic approaches: error masking, in which the system avoids the effect of an error through some form of redundancy; and error detection and recovery, in which the system notices the presence of an error, locates and isolates the error, reconfigures in a spare system, and restarts the system [3].
This chapter and the next three chapters (Chapters 3–6) will discuss example experiences of applying error detection techniques to actual systems. We first introduce and characterize a variety of hardware‐ and software‐based error detection techniques, illustrating them in real‐world systems and applications. Quantitative evaluation (in terms of error coverage and performance overhead) will also be provided for many of the techniques presented. The techniques discussed here can be implemented in hardware and/or in software, and they can be applied to uniprocessor, multiprocessor, distributed, or networked ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access