Sie sind auf Seite 1von 7

Proceedings of International Conference on Advances in Engineering and Technology

ISBN : 978 - 1505606395

Efficient Majority Logic Fault Detection With


Difference-Set Codes for Memory Applications
N.Muralikrishna yadav1, PG Student, Department of ECE, ASCET, Gudur, Andhra Pradesh, India.
Email: muralikrishnayadav.nethi@gmail.com
K. Dhanunjaya2, Head of the Department, Department of ECE, ASCET, Gudur, Andhra Pradesh,
India. Email: hod.ece@audisankara.com
Abstract:

Electronic space provided by silicon chips


(semiconductor memory chips) or magnetic/optical media as
temporary or permanent storage for data and/or instructions
to control a computer or execute one or more programs.
Two main types of computer memory are: (1) Read only
memory (ROM), smaller part of a computer's silicon (solid
state) memory that is fixed in size and permanently stores
manufacturer's instructions to run the computer when it is
switched on. (2) Random access memory (RAM), larger
part of a computer's memory comprising of hard disk, CD,
DVD, floppies etc., (together called secondary storage) and
employed in running programs and in archiving of data.
Memory chips provide access to stored data or instructions
that is hundreds of times faster than that provided by
secondary storage.
Index Terms: Error correction codes, Euclidean geometry
low-density parity check (EG-LDPC) codes, majority logic
decoding, memory

being decoded contains errors. If there are no errors, then


decoding can be stopped without completing the remaining
iterations, therefore greatly reducing the decoding time.
For a code with block length N, majority logic decoding
(when implemented serially) requires N iterations, so that as
the code size grows, so does the decoding time. In the
proposed approach, only the first three iterations are used to
detect errors, thereby achieving a large speed increase when
N is large. It was shown that for DS-LDPC codes, all error
combinations of up to five errors can be detected in the first
three iterations. Also, errors affecting more than five bits
were detected with a probability very close to one. The
probability of undetected errors was also found to decrease
as the code block length increased. For a billion error
patterns only a few errors (or sometimes none) were
undetected. This may be sufficient for some applications.
TABLE I
ONE STEP MLD EG-LDPC CODES

I. INTRODUCTION
Error correction codes are commonly used to protect
memories from so-called soft errors, which change the
logical value of memory cells without damaging the circuit.
As technology scales, memory devices become larger and
more powerful error correction codes are needed. To this
end, the use of more advanced codes has been recently
proposed. These codes can correct a larger number of errors,
but generally require complex decoders. To avoid a high
decoding complexity, the use of one step majority logic
decodable codes was first proposed in for memory
applications. Further work on this topic was then presented
in. One step majority logic decoding can be implemented
serially with very simple circuitry, but requires long
decoding times. In a memory, this would increase the access
time which is an important system parameter. Only a few
classes of codes can be decoded using one step majority
logic decoding. Among those is some Euclidean geometry
low density parity check (EG-LDPC) codes which were
used in, and difference set low density parity check (DSLDPC) codes.
A method was recently proposed to accelerate a serial
implementation of majority logic decoding of DS-LDPC
codes. The idea behind the method is to use the first
iterations of majority logic decoding to detect if the word

www.iaetsd.in

Another advantage of the proposed method is that it


requires very little additional circuitry as the decoding
circuitry is also used for error detection. For example, it was
shown that the additional area required to implement the
scheme was only around 1% for large word sizes.
The proposed method that relies on the properties of
DS-LDPC codes and therefore it is not directly applicable to
other code classes. In the following, a similar approach for
EG-LDPC codes is presented.
The rest of this brief is divided into the following
sections. Section II provides Existing System. Section III
presents the Proposed System (Enhanced MLDD). Section
IV Presents the Results and Analysis and Finally Section V
gives the conclusion and Future work of this paper.
II. EXISTING SYSTEM
This section deals with the existing decoding
methodologies used for error detection. In error detection
and correction, majority logic decoding is a method to

72
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

decode repetition codes, based on the assumption that the


largest number of occurrences of a symbol was the
transmitted symbol. Majority logic decoder is based on a
number of parity check equations which are orthogonal to
each other. So the majority result of these parity check
equations decide the correctness of the current bit under
decoding.

ISBN : 978 - 1505606395

general, the decoding algorithm is still the same as the


majority logic decoder. The difference is that instead of
decoding all codeword bits, the MLDD method stops
intermediately in the third cycle, which can able to detect up
to five bit flips in three decoding cycles. So the number of
decoding cycles can be reduced to get improved
performance. The schematic of majority logic
decoder/detector is illustrated in Fig.2.

A. One Step Majority Logic Decoder


As described in earlier, Majority-logic decoder is a
simple and effective decoder capable of correcting multiple
bit flips depending on the number of parity checksum
equations. It consists of four parts: 1) a cyclic shift register;
2) an XOR matrix; 3) a majority gate; 4) an EXOR gate for
error correction, as illustrated in Fig.1.

Fig.2. Schematic of Majority Logic Decoder/Detector


(MLDD)

Fig.1. One step Majority Logic Decoder for (15, 7) EGLDPC Codes
In one step majority logic decoding, initially the code
word is loaded into the cyclic shift register. Then the check
equations are computed. The resulting sums are then
forwarded to the majority gate for evaluating its correctness.
If the number of 1s received in is greater than the number
of 0s which means that the current bit under decoding is
wrong, and a signal to correct it would be triggered.
Otherwise the bit under decoding is correct and no extra
operations would be needed on it. In next, the content of the
registers are rotated and the above procedure is repeated
until codeword bits have been processed. Finally, the parity
check sums should be zero if the codeword has been
correctly decoded. In this process, each bit may be corrected
only once. As a result, the decoding circuitry is simple, but
it requires a long decoding time if the code word is large.
Thus, by one-step majority-logic decoding, the code is
capable of correcting any error pattern with two or fewer
errors. For example, for a code word of 15-bits, the
decoding would take 15 cycles, which would be excessive
for most applications.

Initially the code word is stored into the cyclic shift


register and it shifted through all the taps. The intermediate
values in each tap are given to the XOR matrix to perform
the checksum equations. The resulting sums are then
forwarded to the majority gate for evaluating its correctness.
If the number of 1s received is greater than the number of
0s which would mean that the current bit under decoding is
wrong, so it move on the decoding process. Otherwise, the
bit under decoding would be correct and no extra operations
would be needed on it. Decoding process involving the
operation of the content of the registers is rotated and the
above procedure is repeated and it stops intermediately in
the third cycle. If in the first three cycles of the decoding
process, the evaluation of the XOR matrix for all is 0, the
code word is determined to be error-free and forwarded
directly to the output. If the error contains in any of the three
cycles at least a 1, it would continue the whole decoding
process in order to eliminate the errors. Finally, the parity
check sums should be zero if the code word has been
correctly decoded. In conclusion the MLDD method is used
to detect the five bit errors and correct four bit errors
effectively. If the code word contain more than five bit
error, it produces the output but it did not show the errors
presented in the input. This type of error is called the silent
data error. Drawback of this method is did not detecting the
silent data error and it consuming the area of the majority
gate. The schematic for this memory system is shown in
Fig.3. It is very similar to the one shown in fig.1;
additionally the control unit was added in the MLDD
module to manage the decoding process (to detect the error).

B. Majority Logic Decoder/Detector (MLDD)


In order to overcome the drawback of MLD method,
majority logic decoder/detector was proposed, in which the
majority logic decoder itself act as a fault detector. In

www.iaetsd.in

73
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

Fig.3. Schematic of memory system with MLDD


Overall operation of the MLDD is illustrated in Fig.4.

ISBN : 978 - 1505606395

The data words are initially encoded and then the


codeword is stored in the memory. When the memory is
read, the codeword is then fed through the enhanced MLDD
before sent to the output for further processing. The code
word contains message bits and parity or redundant bits.
The code efficiency is defined as the ratio of message bits to
the number of transmitted bits per block. The silent data
error detection using enhanced MLDD algorithm performs
the decoding as in the MLDD with some modifications.
When the MLDD having more than 5 errors will be detected
and corrected by the enhanced MLDD method. The MLDD
is used the control unit for detecting the error. If it has any
error in this iteration it will be perform with the modified
algorithm is illustrated in Fig.6. It is used to avoid silent
data corruption of the MLDD output. This would increase
the error detection capabilities at the expense of the errorcorrection capabilities. In this algorithm up to four errors
will be done as in the MLDD algorithm. If it has more than
four errors will detected by after third iteration. Then
correction will be done by after nth iteration.

Fig.4. MLDD Algorithm


III PROPOSED SYSTEM (ENHANCED MLDD)
This section presents an enhanced version of the ML
decoder/detector that improves the designs presented before,
by detecting the silent data error. Memory schematic of an
enhanced MLDD is illustrated in Fig.5.

Fig.6. Enhanced MLDD algorithm


A. Sorting network

Fig.5. Memory schematic of an Enhanced MLDD

www.iaetsd.in

A sorting network is an abstract mathematical model of


a network of wires and comparator modules that is used to
sort a sequence of numbers. Each comparator connects two
wires and sorts the values by outputting the smaller value to
one wire, and the larger to the other. The main difference
between sorting networks and comparison sorting
algorithms is that with a sorting network the sequence of
comparisons is set in advance, regardless of the outcome of
previous comparisons. This independence of comparison
sequences is useful for parallel execution of the algorithms.

74
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

Fig.7 (a): Comparator circuit


A sorting network consists of wires and comparators
that will correctly sort all possible inputs into ascending
order. . So it used to reducing the gates and their
interconnections of the majority gate. Each wire carries with
it a value, and each comparator takes two wires as input and
output. When two values enter a comparator, the comparator
emits the lower value from the top wire, and the higher
value from the bottom wire. Using sorting network number
of gates reduced in the majority gate. Initially it compares
the inputs using comparator circuit. Comparator consist of
AND gate and then OR gate for selecting maximum and
minimum value shown in Fig.7 (a). OR gate producing
maximum value will be placed in top of the wire and the
AND gate producing minimum value will be placed in
bottom of the wire in the comparator circuit.

Fig.7 (b): 2-bit sorter

ISBN : 978 - 1505606395

Fig.8.Behavioral simulation waveform for the fault


secure encoder

Fig.9.Post route simulation waveform for the fault


secure encoder
The behavioral simulation and post route simulation
waveforms for the fault secure memory system is shown in
Fig.10 and Fig.11. In Fig.10 inputs are I (information
vector), clk, wen(write enable), ren(read enable), and e
(error vector) to introduce an error. In this the encoded word
is given to the memory for this if wen is 1(high) data is
write into memory in a perticular address, here address line
is the information vector. If ren is high data is read and
given as an output of memory. The memory output is
combination of coded vector and error vector. This memory
output is given as an input to the corrector which corrects
the coded word. This corrected coded word is given to the
detector to check whether coded word is correct or not.At
the corrector side detector sinal is md.

Each of the vertical lines represents one comparator


which compares two bits and assigns the larger one to the
top output and the smaller one to the bottom. Those value
given to the AND gate for getting the minimum value and
given to the OR gate for selecting the maximum value
shown in Fig.7 (b).
IV.RESULTS AND ANALYSIS
4.1 Simulation Results:
The behavioral simulation and post rout simulations
waveforms for the fault secure encoder is shown in Fig.8
and Fig.9. In the Fig.8,the input is information vector and
output is the detector output d which detects the errors in
the encoder. First information vector is given to encoder it
gives encoded vector as an output which is n-bit length.
This encoded vector is given as input to the detector. Any
error is present in encoded vector the detector output is 1.
If it is 0 encoded codeword is correct.

www.iaetsd.in

Fig.10.Behavioral simulation waveform for the fault


secure memory system

75
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

ISBN : 978 - 1505606395

After the HDL synthesis phase of the synthesis process,


use the RTL Viewer to view a schematic representation of
the pre-optimized design in terms of generic symbols that
are independent of the targeted Xilinx device, for example,
in terms of adders, multipliers, counters, AND gates, and
OR gates. The RTL schematic for the Fault secure encoder
generated by the Xilinx Synthesis tool is shown in Fig.12
below.

Fig.11.Post route simulation waveform for the fault


secure memory system

Fig.12.RTL Schematic for Fault secure encoder


Table II
Design Implementation summary for fault secure
memory system

The RTL schematic for the memory generated by the


Xilinx Synthesis tool is shown in Fig.13 below.

Fig.13.RTL Schematic for memory


The RTL schematic for the Fault secure memory
system generated by the Xilinx Synthesis tool is shown in
Fig.14 below.

Timing summary
Minimum period: 3.516ns (Maximum Frequency:
284.414MHz)
Minimum input arrival time before clock: 4.711ns
Maximum output required time after clock: 55.255ns
Maximum combinational path delay: 55.733ns
4.2 RTL Schematic

Fig.14.RTL Schematic for Fault secure memory


system
4.3 Technology schematic:
The technology schematic for the Fault secure memory
system generated by the Xilinx Synthesis tool is shown in
Fig.15 below.

In integrated circuit design, register transfer level (RTL)


description is a way of describing the operation of a
synchronous digital circuit. In RTL design, a circuit's
behavior is defined in terms of the flow of signals (or
transfer of data) between hardware registers, and the logical
operations performed on those signals.

www.iaetsd.in

76
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

ISBN : 978 - 1505606395

(corrector), and detector circuitries). The main advantage of


the proposed architecture is using this detect-and-repeat
technique we can correct potential transient errors in the
encoder or corrector output and provide fault-tolerant
memory system with fault-tolerant supporting circuitry. And
also takes less area compared to other ecc techniques and in
this architecture there is no need of decoder because we use
systematic generated matrix.
5.2. Future work:

4.4 Floor plan of an fault secure encoder and decoder for


memory:

Fault secure encoder and decoder for memory


applications is to protect the memory and supporting logic
from soft errors. The proposed architecture
tolerates
transient faults both in the storage unit and in the supporting
logic. Scope for further work is instead of memory we use
nano memory which provides smaller, faster, and lower
energy devices which allow more powerful and compact
circuitry.

The floor plan for the Fault secure memory system


generated by the Xilinx Synthesis tool is shown in Fig.16
below.

VI. REFERENCES

Fig.15.Technology schematic for fault secure encoder


and decoder for memory

[1] Pedro Reviriego, Juan A. Maestro, and Mark F.


Flanagan, Error Detection in Majority Logic Decoding of
Euclidean Geometry Low Density Parity Check (EG-LDPC)
Codes, IEEE Transactions on Very Large Scale Integration
(VLSI) Systems, Vol. 21, No. 1, January 2013.
[2] R. C. Baumann, Radiation-induced soft errors in
advanced semiconductor technologies, IEEE Trans. Device
Mater. Reliab, vol. 5, no. 3, pp. 301316, Sep. 2005.
[3] M. A. Bajura, Y. Boulghassoul, R. Naseer, S. DasGupta,
A. F.Witulski, J. Sondeen, S. D. Stansberry, J. Draper, L.
W. Massengill, and J. N. Damoulakis, Models and
algorithmic limits for an ECC-based approach to hardening
sub-100-nm SRAMs, IEEE Trans. Nucl. Sci., vol. 54, no.
4, pp. 935945, Aug. 2007.
[4] R. Naseer and J. Draper, DEC ECC design to improve
memory reliability in sub-100 nm technologies, Proc. IEEE
ICECS, pp. 586589, 2008.
[5] S. Ghosh and P. D. Lincoln, Dynamic low-density
parity check codes for fault-tolerant nano-scale memory,
presented at the Foundations Nanosci. (FNANO), Snowbird,
Utah, 2007.

V.CONCLUSION AND FUTURE SCOPE


5.1. Conclusion:
In this project FPGA implementations of fault secure
encoder and decoder for memory applications. Using this
architecture tolerates transient faults both in the storage unit
and in the supporting logic (i.e., encoder, decoder

www.iaetsd.in

[6] S. Ghosh and P. D. Lincoln, Low-density parity check


codes for error correction in nano-scale memory, SRI
Computer Science Lab., Menlo Park, CA, Tech. Rep. CSL0703, 2007.
[7] H. Naeimi and A. DeHon, Fault secure encoder and
decoder for memory applications, in Proc. IEEE Int. Symp.
Defect Fault Toler. VLSI Syst., 2007, pp. 409417.

77
International Association of Engineering and Technology for Skill Development

Proceedings of International Conference on Advances in Engineering and Technology

ISBN : 978 - 1505606395

[8] B. Vasic and S. K. Chilappagari, An information


theoretical framework for analysis and design of nano-scale
fault-tolerant memories based on low-density parity-check
codes, IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 54,
no. 11, pp. 24382446, Nov. 2007.
[9] H. Naeimi and A. DeHon, Fault secure encoder and
decoder for Nano-memory applications, IEEE Trans. Very
Large Scale Integr. (VLSI) Syst., vol. 17, no. 4, pp. 473
486, Apr. 2009.
[10] S. Lin and D. J. Costello, Error Control Coding, 2nd
ed. Englewood Cliffs, NJ: Prentice-Hall, 2004.
[11] S. Liu, P. Reviriego, and J. Maestro, Efficient
majority logic fault detection with difference-set codes for
memory applications, IEEE Trans. Very Large Scale
Integr. (VLSI) Syst., vol. 20, no. 1, pp. 148156, Jan. 2012.
[12] H. Tang, J. Xu, S. Lin, and K. A. S. Abdel-Ghaffar,
Codes on finite geometries, IEEE Trans. Inf. Theory, vol.
51, no. 2, pp. 572596, Feb. 2005.

www.iaetsd.in

78
International Association of Engineering and Technology for Skill Development

Das könnte Ihnen auch gefallen