12.12.2012 Views

Dependable Memory - Laboratoire Interface Capteurs ...

Dependable Memory - Laboratoire Interface Capteurs ...

Dependable Memory - Laboratoire Interface Capteurs ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.1. ERROR DETECTION 35<br />

2.1.3 Information Redundancy<br />

The basic idea behind an information scheme is to add redundant information to the data being<br />

transmitted or stored or processed to determine if errors have been introduced [IK03]. It is the way of<br />

protecting data through mathematical encoding, which can be reuse after decode the original data (as<br />

in figure 2.5). The encoding and decoding circuitry adds additional delays, which make them slower<br />

than DMR, but the area overhead is much lower than DMR. In coding, the consideration is given to<br />

the information stored or maybe to the functionality of the circuit but no consideration given to the<br />

structure of the circuit. Typically, information redundancy is used to protect storage elements (like<br />

memory, caches, register files, etc) [HCTS10] e.g. in Power 6 and 7 [KMSK09]. These codes are<br />

classified based on their ability of detection and correction, code efficiency and complexity. In this<br />

section, we will discuss only error detection codes.<br />

Data Encode<br />

Add<br />

Redundancy<br />

Noise<br />

Transmit<br />

or<br />

Store<br />

Decode Data<br />

Check<br />

Redundancy<br />

Figure 2.5: Information redundancy principle<br />

The error detecting codes (EDC) have less hardware overhead than the error correcting codes.<br />

There are different EDCs e.g. parity, Borden, Berger and Bose codes. We will not go in much details<br />

but will compare their salient features will be discussed.<br />

The parity-coding strategies is simplest and it has lowest HW overhead [ARM + 11]. It is based on<br />

calculation of even or odd parity for data of word length N. The parity can be calculated with XOR<br />

operation among the data bit. A parity code has a distance of 2 and can detect all odd-bit errors.<br />

Input<br />

Parity<br />

Generator<br />

P<br />

Data<br />

Data<br />

Received data<br />

comparator<br />

Figure 2.6: Parity coder in data storage<br />

Error<br />

Signal<br />

Output<br />

Before storing data in the register, the parity generator is used to compute the parity bit required<br />

(as shown in the figure 2.6). Then both the computed parity and the original data are stored in register.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!