Novel Correction and Detection for Memory Applications 1 B.Pujita, 2 SK.Sahir

Similar documents
Fault Detection And Correction Using MLD For Memory Applications

FAULT SECURE ENCODER AND DECODER WITH CLOCK GATING

SIC Vector Generation Using Test per Clock and Test per Scan

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

I. INTRODUCTION. S Ramkumar. D Punitha

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

Design of Fault Coverage Test Pattern Generator Using LFSR

FPGA Implementation of Convolutional Encoder And Hard Decision Viterbi Decoder

An MFA Binary Counter for Low Power Application

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Design of Polar List Decoder using 2-Bit SC Decoding Algorithm V Priya 1 M Parimaladevi 2

Efficient Test Pattern Generator for BIST using Multiple Single Input Change Vectors

ISSN:

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

A High- Speed LFSR Design by the Application of Sample Period Reduction Technique for BCH Encoder

PIPELINE ARCHITECTURE FOR FAST DECODING OF BCH CODES FOR NOR FLASH MEMORY

Using Embedded Dynamic Random Access Memory to Reduce Energy Consumption of Magnetic Recording Read Channel

VLSI System Testing. BIST Motivation

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

A Low Power Delay Buffer Using Gated Driver Tree

THE USE OF forward error correction (FEC) in optical networks

Design of Test Circuits for Maximum Fault Coverage by Using Different Techniques

LFSR Counter Implementation in CMOS VLSI

DESIGN OF LOW POWER TEST PATTERN GENERATOR

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

Operating Bio-Implantable Devices in Ultra-Low Power Error Correction Circuits: using optimized ACS Viterbi decoder

Techniques for Compensating Memory Errors in JPEG2000

Area Efficient Pulsed Clock Generator Using Pulsed Latch Shift Register

Abstract 1. INTRODUCTION. Cheekati Sirisha, IJECS Volume 05 Issue 10 Oct., 2016 Page No Page 18532

Efficient Test Pattern Generation Scheme with modified seed circuit.

Area-efficient high-throughput parallel scramblers using generalized algorithms

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Design of BIST with Low Power Test Pattern Generator

Design of a Low Power and Area Efficient Flip Flop With Embedded Logic Module

ERROR control codes (also known as error correcting

Design of Low Power Efficient Viterbi Decoder

Design and Implementation of Low Power Linear Feedback Shift Segisters for Vlsi Application

LOW POWER & AREA EFFICIENT LAYOUT ANALYSIS OF CMOS ENCODER

March Test Compression Technique on Low Power Programmable Pseudo Random Test Pattern Generator

FPGA Implementation OF Reed Solomon Encoder and Decoder

ECE 715 System on Chip Design and Test. Lecture 22

Optimization and Power Reduction of Built-In Repair Analyzer for Memories

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Figure 1.LFSR Architecture ( ) Table 1. Shows the operation for x 3 +x+1 polynomial.

Optimization of Multi-Channel BCH. Error Decoding for Common Cases. Russell Dill

Analysis of Low Power Test Pattern Generator by Using Low Power Linear Feedback Shift Register (LP-LFSR)

Synthesis Techniques for Pseudo-Random Built-In Self-Test Based on the LFSR

Weighted Random and Transition Density Patterns For Scan-BIST

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Power Problems in VLSI Circuit Testing

Design and Implementation of Uart with Bist for Low Power Dissipation Using Lp-Tpg

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

Design And Implimentation Of Modified Sqrt Carry Select Adder On FPGA

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

An Efficient High Speed Wallace Tree Multiplier

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

Design And Implementation Of Coding Techniques For Communication Systems Using Viterbi Algorithm * V S Lakshmi Priya 1 Duggirala Ramakrishna Rao 2

TEST PATTERN GENERATION USING PSEUDORANDOM BIST

A Compact and Fast FPGA Based Implementation of Encoding and Decoding Algorithm Using Reed Solomon Codes

Implementation of CRC and Viterbi algorithm on FPGA

Soft Errors re-examined

Response Compaction with any Number of Unknowns using a new LFSR Architecture*

Testing Digital Systems II

An FPGA Implementation of Shift Register Using Pulsed Latches

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Built-In Self-Test (BIST) Abdil Rashid Mohamed, Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

VLSI Test Technology and Reliability (ET4076)

A Reed Solomon Product-Code (RS-PC) Decoder Chip for DVD Applications

DESIGN OF TEST PATTERN OF MULTIPLE SIC VECTORS FROM LOW POWER LFSR THEORY AND APPLICATIONS IN BIST SCHEMES

NUMEROUS elaborate attempts have been made in the

Design of BIST Enabled UART with MISR

ISSN (c) MIT Publications

Part 2.4 Turbo codes. p. 1. ELEC 7073 Digital Communications III, Dept. of E.E.E., HKU

Figure.1 Clock signal II. SYSTEM ANALYSIS

Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

An Implementation of a Forward Error Correction Technique using Convolution Encoding with Viterbi Decoding

Controlling Peak Power During Scan Testing

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Implementation of High Speed Adder using DLATCH

A Reconfigurable Parallel Signature Analyzer for Concurrent Error Correction in DRAM

EFFICIENT DESIGN OF SHIFT REGISTER FOR AREA AND POWER REDUCTION USING PULSED LATCH

[Dharani*, 4.(8): August, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Power Optimization by Using Multi-Bit Flip-Flops

LUT Design Using OMS Technique for Memory Based Realization of FIR Filter

AN EFFICIENT LOW POWER DESIGN FOR ASYNCHRONOUS DATA SAMPLING IN DOUBLE EDGE TRIGGERED FLIP-FLOPS

Efficient Implementation of Multi Stage SQRT Carry Select Adder

Design Of Error Hardened Flip-Flop Withmultiplexer Using Transmission Gates And N-Type Pass Transistors

An Efficient Reduction of Area in Multistandard Transform Core

BUILT-IN SELF-TEST BASED ON TRANSPARENT PSEUDORANDOM TEST PATTERN GENERATION. Karpagam College of Engineering,coimbatore.

A New Approach to Design Fault Coverage Circuit with Efficient Hardware Utilization for Testing Applications

LUT Optimization for Memory Based Computation using Modified OMS Technique

A Symmetric Differential Clock Generator for Bit-Serial Hardware

Implementation of Low Power and Area Efficient Carry Select Adder

/$ IEEE

Implementation of Memory Based Multiplication Using Micro wind Software

Low Transition Test Pattern Generator Architecture for Built-in-Self-Test

Diagnosis of Resistive open Fault using Scan Based Techniques

Low Power Area Efficient Parallel Counter Architecture

Transcription:

Novel Correction and Detection for Memory Applications 1 B.Pujita, 2 SK.Sahir 1 M.Tech Research Scholar, Priyadarshini Institute of Technology & Science, Chintalapudi, India 2 HOD, Priyadarshini Institute of Technology & Science, Chintalapudi, India Abstract: As a result of technology scaling and higher integration densities there may be variations in parameters and noise levels which will lead to larger error rates at various levels of the computations. As far as memory applications are concerned the soft errors and single event upsets are always a matter of problem. The paper mainly focuses on the design of an efficient Multi Detector/Decoder (MLDD) for fault detection along with correction of fault for memory applications, by considerably reducing fault detection time. The error detection and correction method is done by one step majority logic decoding and is made effective for Euclidean Geometry Low Density Parity Check Codes (EG-LDPC). Even though majority decodable codes can correct large number of errors, they need high decoding time for detection of errors and ML Decoding method may take same fault detecting time for both erroneous and error free code words, which in turn delays the memory performance. The proposed fault-detection method can detect the fault in less decoding cycles (almost in three). When the data read is error free, it can obviously reduce memory access time. The technique keeps the area overhead minimal and power consumption low for large code word sizes. Keywords: One step majority logic decoding; error correction codes (ECCs); Euclidean geometry low-density parity check (EG- LDPC); memory; control logic. 1. INTRODUCTION Memories are the most universal component today. For more than a decade, memory cells have been protected from soft errors. Some type of embedded memory, such as ROM, SRAM, DRAM, flash memory etc is seen in almost all system chips. Now days, the memory failure rates are increasing due to the impact of technology scaling-smaller dimensions, high integration densities, lower operating voltages etc.[4],[5]. The ability to quickly determine that a bit has flipped is key to high reliability and high availability applications. Some commonly used error detecting techniques are Triple Modular Redundancy (TMR) and Error Correction Codes (ECCs).The TMR triplicates all the P a g e 1315

memory parts of the system and to choose the correct data using a voter. This method have disadvantage of large area and complexity overhead of three times. Therefore the ECC became the best way to mitigate soft errors in memory [4].Dr.M.Jagadeeswari M.E VLSI DESIGN Sri Ramakrishna Engineering College Coimbatore, India jagadee_raj@rediffmail.com The most commonly used ECC codes are Single Error Correction (SEC) codes that can correct one bit error in a memory word. Due to consequence of augmenting integration densities, there is an increase in soft errors which points the need for higher error correction capabilities [1], [3]. More advanced ECCs have been proposed for memory applications but even Double Error Correction (DEC) codes with a parallel implementation incur in a significant power consumption penalty. The usual multierror correction codes, such as Reed- Solomon (RS) or Bose Chaudhuri-Hocquenghem (BCH) are not suitable for this task due to complex decoding algorithm. Cyclic block codes have the property of being majority logic (ML) decodable. Therefore cyclic block codes have been identified as more suitable among the ECC codes that meet the requirements of higher error correction capability and low decoding complexity. Euclidean geometry low-density parity check (EG-LDPC) codes, a subgroup of the low-density parity check (LDPC) codes, which belongs to the family of the ML decodable codes, is focused here. The advantages of ML decoding are that it is very simple to implement and thus it is very practical and has low complexity. The drawback of ML decoding is that, it needs as many cycles as the number of bits in the input signal, which is also the number of taps, N, in the decoder and also same decoding time for both error and error free code words. This is a great impact on the performance of the system, depending on the size of the code. Another alternative is to first detect if there are errors in the word and only perform the rest of the decoding process when there are errors. This greatly reduces the average power consumption as most words will have no errors. Error detection in a block code can also be implemented by computing the syndrome and checking whether all its bits are zero [15]. By calculating the syndrome, we can implement a fault detector for an ECC is but this also would add an additional complex functional unit. This paper focus on using the MLD circuitry itself as an error detecting module therefore with no additional hardware the read operations could be accelerated. The remainder of this paper is organized as follows. Section II gives an overview of existing ML decoding solutions. Section III presents the novel ML detector/decoder (MLDD) using EG- LDPC cyclic codes. Section IV discusses the results obtained in respect to speedup, delay and power consumption. P a g e 1316

Finally, Section V discusses conclusions and future work. II. MAJORITY LOGIC DECODING (MLD) SOLUTONS One-step majority-logic correction is a fast and relatively efficient error-correcting technique [6]. One-step-majority correctable ECC codes are limited which include type-i two-dimensional EG-LDPC. This type of decoder can be implemented in two ways. The first one is called the Type-I ML decoder, which determines the bits need to be corrected from the XOR combinations of the syndrome, [9]. The Type-II ML decoder that calculates the information of correctness of the current bit under decoding, directly out of the codeword bits [6]. Both are quite similar, but when implementation is considered the Type-II uses less area, since it does not have a syndrome calculation as an intermediate step. For this reason the paper focus on this type II implementation. A. Existent Plain ML Decoder Fig 1.Memory system Schematic The memory system schematic shown in Figure 1 show that the word is first encoded and is then written to the memory [2]. After the reading process of the memory it is passed to a majority logic detector block which detects and corrects the errors which occurred while the reading code word. One-Step Majority-Logic Corrector: Onestep majority logic correction is the process in which from the received codeword itself the correct values of each bit under decoding can directly found out. This method consists of mainly two steps- 1) Generating a specific set of linear sums of the received vector bits using the xor matrix 2) Determining the majority value of the computed linear sums. It is the majority logic output which determines the correctness of the bit under decoding. If the majority output is '1', then the bit is inverted, otherwise would be kept unchanged. Figure 2: Existed plain ML decoder As described before, the ML decoder is powerful and simple decoder, which has the capability of correcting multiple random bitflips depending on the number of parity check equations. It consists of four parts: 1) a cyclic shift register; 2) an XOR matrix; 3) a majority gate; and 4) an XOR for correcting P a g e 1317

P a g e 1318 International Journal of Research (IJR) Vol-1, Issue-11 December 2014 ISSN 2348-6848 the codeword bit under decoding. The circuit implementing a serial one-step majority logic corrector [6], [12] for (15, 7, 5) EG-LDPC code is shown in Figure 2. The cyclic shift register is initially stored with the input signal x and shifted through all the taps. The results {Bj} of the check sum equations from the XOR matrix is calculated from the intermediate values in each tap. In the Nth cycle, the result would reach the final tap, producing the output signal, which is the decoded version of input [2].Figure 2. Serial one-step majority logic corrector for (15, 7, 5) EG-LDPC code This is the situation of error free case. The input x might correspond to wrong data corrupted by a soft error or SEUs. The decoder is designed to handle this situation as follows. From the parity check sum equations hardwired in the xor matrix the decoding starts at the very next moment after the codeword x are loaded into the cyclic shift register. The linear sum outputs {Bj} is then forwarded to the majority logic circuit which determines the correctness of the bit under decoding. If the majority of the Bj bits are "1" that is greater than the majority number of zeros then the current bit is erroneous and should be corrected, otherwise it is kept unchanged. The process is repeated and contents of the shift registers are rotated up to the whole N bits of the codeword are processed. When all the parity check sums outputs are zero the codeword is correctly decoded. Further details on how this algorithm works can be found in [6], [12]. The whole algorithm [2] is depicted in Figure 3. The algorithm needs as many cycles as the number of bits in the input signal, which is number of taps, N, in the decoder and also needs same decoding time for both error and error free code words. III. PROPOSED MULTI- DETECTOR/DECODER A novel version of the MD decoder for improving performance is presented here. With reference to the original ML decoder, the proposed MD detector/decoder (MDD) has been implemented using the Hamming and parity check (HMPC) and general decoder. This proposed design uses much more easy way implementation for detecting and correcting. The proof of the hypothesis that all error will be detected in eight cycles is very simple from the mathematical point of view. It is practical to generate and check all possible error combinations for codes with small words and affected by a small number of bit flips. When the size of code and the number of bit flips increases, it is difficult to exhaustively test all possible combinations. Therefore the simulations are done in two ways, the error combinations are exhaustively checked when it is feasible and in the rest of the cases the combinations are checked randomly. A. Design structure of the encoder The encoder and corrector are two different operation that is used which

randomly checking the memory but in this case we have considered a generalized encoder (3:8 or convolution encoder) which can encode the data (as shown in figure). As per the corrector we have the hamming parity check where each code data is divided into sub sectors which enables to check the parity based on the division and then compared to its original value. Considering the original value will equal to the expected corrected value results in correction successfully. position and no of the errors found in the given sequence of the data is decoded accordingly. Figure 3: representing the correction and detection of memory B. Design Structure of Decoder The decoder and detector structure have been shown in the figure. The decoder design is a complex design based on the (BCH decoder/hamming decoder) which comprises of the received signal and error position from the detector. So hence based on the Figure 4: Representing the encoding and decoding of the memory. Simulation Results: Number of Cycles Technique Proposed MDDD Existing MLD Total Power Consumption 30mW 49 mw P a g e 1319

P a g e 1320

P a g e 1321 IV CONCLUSIONS: The paper focuses on the design of a Multi Decoder/Detector (MDD) for fault detection along with correction of fault, suitable for memory applications, with reduced fault detection time. From the simulation results, (A codeword of size 8 is chosen here for designing), when compared to the existing MLD, The proposed MLDD has comparatively less delay of 12.578 ns and can detect the presence of errors in just 8 cycles even for multiple bit flips.

REFERENCES: [1] S.Lin and D.J.Costello, Error control coding,2 nd ed. Englewood Cliffs, NJ: Prentice- Hall,2004. [2] I. S. Reed, A class of multiple-errorcorrecting codes and the decoding scheme, IRE Trans. Inf. Theory, vol. IT-4, pp. 38 49, 1954. [9] P. Girard, L. Guiller, C. Landrault, S.Pravossoudovitch, J. Figueras, S. Manich, P.Teixeira, and M. Santos, Low-energy BIST design: Impact of the LFSR TPG parameters on the weighted switching activity, in Proc. IEEE Int. Symp. Circuits Syst., vol. 1. Jul. 1999, pp.110 113. [3] J. L. Massey, Threshold Decoding. Cambridge,MA: MIT Press, 1963. [4] Y. Kato and T. Morita, Error correction circuit using difference-set cyclic code, in Proc. ASP-DAC, 2003, pp. 585 586. [5] T. Kuroda, M. Takada, T. Isobe, and O. Yamada, Transmission scheme of high capacity FM multiplex broadcasting system, IEEE Trans.Broadcasting, vol. 42, no. 3, pp. 245 250, Sep. 1996. [6] O. Yamada, Development of an errorcorrection method for data packet multiplexed with TV signals, IEEE Trans. Commun., vol. COM-35,no. 1, pp. 21 31, Jan. 1987. [7] H. Naeimi and A. DeHon, Fault secure encoder and decoder for NanoMemory applications,ieee Trans. Very Large Scale Integr. (VLSI) Syst., vol. 17, no. 4, pp. 473 486, Apr. 2009. [8] S. Lin and D. J. Costello, Error Control Coding,2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 2004. P a g e 1322