5Hardware Error Detection Through Software‐Implemented Techniques
5.1 Introduction
Even if multiple layers of hardware reliability are being used, fault manifestations may escape one, or more, or all, of the applied techniques. In that scenario, a software‐level technique can provide an additional layer of error detection and recovery for such fault modes.
In addition to detecting errors that escape the hardware techniques, software techniques can also be geared toward detection of software bugs and application errors, which are not directly visible to the hardware. This chapter aims at describing techniques implemented in software that are geared toward detection of errors in hardware that evade hardware‐level detection and surface up to the operating system or application layer.
Techniques implemented in software benefit from the flexibility available in developing and installing software, compared to the costs of fabricating and deploying hardware. Software‐level techniques can also benefit from detailed knowledge of the application in question, which is irrelevant to most general‐purpose hardware, which will have been designed to support a wide range of applications. At the same time, software‐level techniques have the drawback that they more heavily impact performance, relative to similar techniques implemented in hardware. We analyze that trade‐off in discussing techniques such as duplication, control‐flow checking, and heartbeats. A symbiotic scenario could occur if ...
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