Reduced Latency Majority Logic Decoding for Error Detection and Correction

Similar documents
Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Majority Logic Decoding Of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES

Effective Implementation of LDPC for Memory Applications

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May-2013 ISSN

HDL Implementation of an Efficient Partial Parallel LDPC Decoder Using Soft Bit Flip Algorithm

Reliability of Memory Storage System Using Decimal Matrix Code and Meta-Cure

Design of Majority Logic Decoder for Error Detection and Correction in Memories

J. Manikandan Research scholar, St. Peter s University, Chennai, Tamilnadu, India.

DETECTION AND CORRECTION OF CELL UPSETS USING MODIFIED DECIMAL MATRIX

DESIGN OF FAULT SECURE ENCODER FOR MEMORY APPLICATIONS IN SOC TECHNOLOGY

[Kalyani*, 4.(9): September, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Performance Analysis of Gray Code based Structured Regular Column-Weight Two LDPC Codes

Error Correction Using Extended Orthogonal Latin Square Codes

Available online at ScienceDirect. Procedia Technology 25 (2016 )

Energy Efficient Layer Decoding Architecture for LDPC Decoder

Optimized ARM-Based Implementation of Low Density Parity Check Code (LDPC) Decoder in China Digital Radio (CDR)

FPGA Implementation of Double Error Correction Orthogonal Latin Squares Codes

BER Evaluation of LDPC Decoder with BPSK Scheme in AWGN Fading Channel

COMPARISON OF SIMPLIFIED GRADIENT DESCENT ALGORITHMS FOR DECODING LDPC CODES

Error Correction and Detection using Cyclic Redundancy Check

Error Detecting and Correcting Code Using Orthogonal Latin Square Using Verilog HDL

Fault Tolerant Parallel Filters Based on ECC Codes

Design and Implementation of Low Density Parity Check Codes

Capacity-approaching Codes for Solid State Storages

ISSN (Print) Research Article. *Corresponding author Akilambigai P

Improved Error Correction Capability in Flash Memory using Input / Output Pins

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

FPGA Implementation of Binary Quasi Cyclic LDPC Code with Rate 2/5

REVIEW ON CONSTRUCTION OF PARITY CHECK MATRIX FOR LDPC CODE

An Integrated ECC and BISR Scheme for Error Correction in Memory

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES

On the construction of Tanner graphs

VLSI Implementation of Parallel CRC Using Pipelining, Unfolding and Retiming

Error Control Coding for MLC Flash Memories

PERFORMANCE ANALYSIS OF HIGH EFFICIENCY LOW DENSITY PARITY-CHECK CODE DECODER FOR LOW POWER APPLICATIONS

An Efficient Carry Select Adder with Less Delay and Reduced Area Application

[Indu*, 5(4): April, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785

Design and Implementation of Hamming Code using VHDL & DSCH

VHDL CODE FOR SINGLE BIT ERROR DETECTION AND CORRECTION WITH EVEN PARITY CHECK METHOD USING XILINX 9.2i

Comparative Analysis of DMC and PMC on FPGA

Single error correction, double error detection and double adjacent error correction with no mis-correction code

Non-recursive complexity reduction encoding scheme for performance enhancement of polar codes

Enhanced Detection of Double Adjacent Errors in Hamming Codes through Selective Bit Placement

Novel Implementation of Low Power Test Patterns for In Situ Test

An HVD Based Error Detection and Correction Code in HDLC Protocol Used for Communication

VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM

Implementation of Efficient Modified Booth Recoder for Fused Sum-Product Operator

Check-hybrid GLDPC Codes Without Small Trapping Sets

New Message-Passing Decoding Algorithm of LDPC Codes by Partitioning Check Nodes 1

DESIGN AND SIMULATION OF 1 BIT ARITHMETIC LOGIC UNIT DESIGN USING PASS-TRANSISTOR LOGIC FAMILIES

ABSTRACT I. INTRODUCTION

Error Detection and Correction by using Bloom Filters R. Prem Kumar, Smt. V. Annapurna

A Review on Optimizing Efficiency of Fixed Point Multiplication using Modified Booth s Algorithm

THE DESIGN OF STRUCTURED REGULAR LDPC CODES WITH LARGE GIRTH. Haotian Zhang and José M. F. Moura

Fault Tolerant Parallel Filters Based On Bch Codes

International Journal of Advance Engineering and Research Development SYSTEMATIC ERROR CODES IMPLIMENTATION FOR MATCHED DATA ENCODED

Implementation of Decimal Matrix Code For Multiple Cell Upsets in Memory

Fixed Point LMS Adaptive Filter with Low Adaptation Delay

Modern Communications Chapter 5. Low-Density Parity-Check Codes

Exploiting Unused Spare Columns to Improve Memory ECC

Low Complexity Quasi-Cyclic LDPC Decoder Architecture for IEEE n

Chapter 10 Error Detection and Correction 10.1

Simulation Results Analysis Of Basic And Modified RBSD Adder Circuits 1 Sobina Gujral, 2 Robina Gujral Bagga

Optimized Min-Sum Decoding Algorithm for Low Density PC Codes

TESTING OF FAULTS IN VLSI CIRCUITS USING ONLINE BIST TECHNIQUE BASED ON WINDOW OF VECTORS

Performance study and synthesis of new Error Correcting Codes RS, BCH and LDPC Using the Bit Error Rate (BER) and Field-Programmable Gate Array (FPGA)

POWER REDUCTION IN CONTENT ADDRESSABLE MEMORY

DESIGN OF PARAMETER EXTRACTOR IN LOW POWER PRECOMPUTATION BASED CONTENT ADDRESSABLE MEMORY

Quasi-Cyclic Non-Binary LDPC Codes for MLC NAND Flash Memory

Chapter 10 Error Detection and Correction. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Carry Checking/Parity Prediction Adders and ALUs

Area And Power Efficient LMS Adaptive Filter With Low Adaptation Delay

Quantized Iterative Message Passing Decoders with Low Error Floor for LDPC Codes

ASIC IMPLEMENTATION OF 16 BIT CARRY SELECT ADDER

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

Implementation of Fault Tolerant Parallel Filters Using ECC Technique

On the Design of High Speed Parallel CRC Circuits using DSP Algorithams

Implementation of Reduce the Area- Power Efficient Fixed-Point LMS Adaptive Filter with Low Adaptation-Delay

An Efficient Hybrid Parallel Prefix Adders for Reverse Converters using QCA Technology

Australian Journal of Basic and Applied Sciences

A Ripple Carry Adder based Low Power Architecture of LMS Adaptive Filter

Design of Flash Controller for Single Level Cell NAND Flash Memory

EDAC FOR MEMORY PROTECTION IN ARM PROCESSOR

A Parallel Decoding Algorithm of LDPC Codes using CUDA

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

Hardware Implementation of Single Bit Error Correction and Double Bit Error Detection through Selective Bit Placement for Memory

High Speed Radix 8 CORDIC Processor

VLSI Design and Implementation of High Speed and High Throughput DADDA Multiplier

Low Complexity Architecture for Max* Operator of Log-MAP Turbo Decoder

DESIGN OF HYBRID PARALLEL PREFIX ADDERS

Delay efficient mux approach for finding the first two minimum values

VLSI IMPLEMENTATION OF ERROR TOLERANCE ANALYSIS

Implementation of low power wireless sensor node with fault tolerance mechanism

ECE 341 Midterm Exam

IMPLEMENTATION OF TWIN PRECISION TECHNIQUE FOR MULTIPLICATION

OPTIMIZING THE POWER USING FUSED ADD MULTIPLIER

Error Recovery Flows in NAND Flash SSDs

A Low-Cost Correction Algorithm for Transient Data Errors

Transcription:

Reduced Latency Majority Logic Decoding for Error Detection and Correction D.K.Monisa 1, N.Sathiya 2 1 Department of Electronics and Communication Engineering, Mahendra Engineering College, Namakkal, Tamilnadu, India 2 Department of Electronics and Communication Engineering, Mahendra Engineering College, Namakkal, Tamilnadu, India Abstract In order to rectify the errors that occurs in a storage device, Majority Logic Decoding is used. In MLD, the number of iterations performed for Error Detection and Error Correction (ED & EC) is equal to the number of bits in the codeword. Thus, as the number of bits in the codeword increases, number of iterations increases accordingly. This means that the latency of MLD is high. This paper aims to reduce the latency of MLD. This can be achieved by means of Modified MLD (MMLD) and Modified MLD with Control (MMLDC). In MMLD, the number of iterations has been reduced to 7 and in MMLDC the number of iterations has been reduced to 3.Xilinx ISE 14.1 simulator is used to carry out the work. Keywords: Majority Logic Decoding (MLD), Modified Majority Logic Decoding (MMLD), Modified Majority Logic decoding with Control (MMLDC),Multiple Cell Upset(MCU),Difference Set Low Density Parity Check (DS- LDPC). 1. Introduction Semiconductor memory is a storage element which stores binary 0 or 1. It is widely used in cellular phones, digital cameras, smart pads etc. As the size of the memory is reduced, multiple data bits are stored in a memory cell which results in Multiple Cell Upset (MCU). The errors may occur in the data stored in memory due to MCU and Cell to Cell Interference. This type of error is called as soft error. In order to correct the errors that occur in the data stored, several ED & EC algorithms are used, such as LDPC Codes. LDPC code is a Forward Error Correcting Code, introduced by Gallagar at MIT [1]. Since the implementation of LDPC codes were difficult, it remained unnoticed for 35 years. Later on, LDPC codes were rediscovered at the time of the invention of Tanner Graph [2]. LDPC codes can be represented either in the form of matrix or graph. In LDPC, the percentage of number of zeros are greater than the percentage of number of one s. Thus the power consumed by LDPC is less because of the reduced switching activity. This has made the LDPC codes very popular. Hard Decision Algorithms such as Hamming code, Message Passing, Bit-Flipping were proposed for the decoding of LDPC codes [3], [4], [5], [6], [7]. Hard Decision Algorithms is based on the binary values. Its performance is poor when compared to Soft- Decision Algorithms, but the complexity is high in Soft- Decision Algorithms. Some of the Soft- Decision Algorithms are Min-Sum Algorithm, a posteriori probability based algorithm (APP) [8], [9], [10]. To reduce the complexity of operations, MLD algorithm is used for decoding. One step MLD is implemented serially, but the latency is high [9]. In this paper, specific group of LDPC codes called as Difference Set LDPC (DS-LDPC) [10] is considered which is widely used in FM broadcasting systems. MLD is used for decoding DS-LDPC since the complexity is less. Number of iterations in MLD will be same as the size of the code word. The main target of this paper is to lower the decoding time (iterations) taken for the correction of error. Organization of this paper is as follows: Section 2 portrays the technique MMLD, Section 3 portrays the 616

proposed method MMLDC, and Section 4 illustrates analysis of results of both the techniques. 2. Modified MLD In MMLD, message bits are alone considered for error correction so that the number of iterations required for ED&EC is reduced to 7. In MMLD, the number of iterations required for ED&EC is equal to the length of the message bits. If the number of iterations gets reduced, then the power consumed by the system is also reduced. Here, the parity bits are not considered for the process of error correction. A different set of parity check equations are chosen from the LDPC matrix H which is constructed by using Gauss-Jordan elimination. After the generation of codeword by the encoder, error detecting and correcting process will start. In a 15 bit codeword which is generated by encoder, first 7 bits corresponds to message bits and the rest of them are parity bits. At the decoder, the codeword is loaded into 15 bit cyclic shift register. MMLD consists of four parts namely 1. a shift register (cyclic) 2. an array of XOR gates for checking the parity equations 3. a majority gate which is a carry circuit of a full adder and 4. an XOR gate which performs the error correction MMLD consists of two steps, the first involves producing the result for check equations and in the second step, the majority value of the results obtained is determined. Check equations used in MMLD are 1. c(11) xor c(9) xor c(8) xor c(0) 2. c(13) xor c(12) xor c(4) xor c(0) 3. c(14) xor c(6) xor c(2) xor c(0) 4. c(7) xor c(3) xor c(1) xor c(0) Cyclic shift register is stored with the input i.e., the received code word. Initially, first bit of the message is considered. Outcome of the four above mentioned check equations is calculated from the values in the shift register and is sent to the majority circuit. In the majority circuit, if the number of 1 s is greater than number of 0 s, output of the majority circuit will be 1, otherwise it will be 0. It is the majority value of the output which determines the correctness of the each bit in the code word. If the majority output is 1, then one of the input of XOR gate will be 1 (corresponding bit will be inverted), otherwise the input to the XOR gate will be 0. When all the check equations output is zero, the codeword doesn t have any flaws. Fig.1. MMLD of DS-LDPC Then, first bit of the message is shifted left arithmetically. This is repeated until all the message bits in the code word is checked. Since 7 message bits are considered here, MMLD takes 7 iterations to complete the process of ED&EC which is very less when compared to MLD. But the shortcome of MMLD is same decoding time for codeword with error and without error. This can be overcome by means of checking the presence of error in the codeword at the beginning itself. 3. Modified MLD with Control Modified MLD with Control overcomes the shortcoming of MMLD. At the initial stage, the presence of error in the codeword is found out by introducing a control/decision block in MMLD. This section provides complete details about the proposed decoding technique MMLDC. In MMLDC, the number of iterations required for ED & EC is reduced from 7 to 3 for an error-free codeword. At the encoder, codeword is generated based on the Generator Matrix G. Block diagram of MMLDC is shown in Fig.2. Here the presence of error is detected at the end of three iterations. If error is present, then the remaining four iterations will be performed for the correction of error, otherwise the process of error correction is skipped. 617

4. Result discussion 4.1MMLD After the process of encoding, a codeword is obtained to which a one-bit error or two-bit error is added. Now the erroneous data is passed to MMLD. In the first iteration, the data will be loaded to the cyclic shift register and the parity check equations will be computed. Fig.2. Block diagram of MMLDC 3.1 MMLDC Flow diagram Fig 4. Simulation result of MMLD of (15, 7) DS- LDPC If the number of 1 s is greater than the number of 0 s, then there is an error in the codeword. So, the LSB of the codeword is XOR ed with the output of majority logic block and is shifted. This is a single iteration. In this manner, 7 iterations takes place and the end of 7 th iteration, the corrected message bits is obtained. Fig.4 gives the simulation result of MMLD. Here, the one bit and two bit errors in the message are corrected. In Fig.4, the signal correcteda is the final output of MMLD. MMLD takes 7 iterations to complete ED & EC. Fig.3. Flow diagram of MMLDC In MMLDC, the input codeword is stored in the cyclic shift register. An array of XOR gates computes the value of check equations. Based on the outcome of check equations, control logic detects the presence of error in the codeword. MMLDC takes 3 iterations to detect the error. A counter is used to count the number of iterations. At the end of third iteration, the error correction occurs when one outcome of the majority logic is 1. The process of error correction is same as that of MMLD. 4.2 MMLDC In MMLDC, from first three iterations, the value of check equation (given as check in Fig.5) is OR ed. If the output of the OR gate is 1, then error is present in the message bits so the correction of the corrupted message bits will be performed. Otherwise the output of the OR gate becomes zero which states that there is no error in the message. Fig.5 gives the simulation result of detection block in MMLDC. 618

Method Number of iterations MLD 15 MMLD 7 MMLDC 3 5. Conclusion Fig.5. Simulation result of detection block of MMLDC Fig.6 gives the simulation result of MMLDC of (15,7)DS-LDPC code. Here a is the 7-bit input message to the encoder and correcteda is the output of MMLDC. In the encoder, codeword is generated. The codeword gets corrupted which is given by error_detected_out in Fig.6. The signal check gives the value check equation in the first three iterations. If error_presence is 1, error is present in the message bits so the process of correction is performed. Otherwise the output becomes 0 so there is no error in the message bits. This takes around three iterations for an error-free data. Fig 6. Simulation result of MMLDC of (15, 7) DS- LDPC 4.3 Comparison of the results Table.1 shows that the number of iteration is reduced to three in MMLDC which inturn reduces the latency of the LDPC decoder. Table 1. Number of iterations required In this paper, MLD, MMLD and MMLDC are analyzed to correct the error that occurs as a result of MCU. All the methods are simulated using XILINX 14.2 and their results are compared for analysis. The result shows that proposed method (MMLDC) is superior to the existing method (MLD) and MMLD in terms of latency. MMLDC needs 3 iteration for the detection and correction of errors. The latency is thus reduced in MMLDC. Acknowledgments Authors would like to thank Mahendra Engineering College, Namakkal and Anna University for their valuable support. References [1] R.G.Gallager, Low-density parity-check codes, IRE Trans. Inf.Theory, vol. 8, no. 1, pp. 21 28, Jan. 1962 [2] Sarah J. Johnson, Introducing Low-Density Parity-Check Codes, School of Electrical Engineering and Computer Science,The University of Newcastle,Australia. [3] V. Zyablov and M. Loncar On the asymptotic performance of low-complexity decoded LDPC codes with constituent hamming codes IEEE Trans.(VLSI) Sept 2008 [4] W. Liu, J. Rho, and W. Sung, Low-power highthroughput BCH error correction VLSI design for multi-level cell NAND flash memories, in Proc. IEEE Workshop Signal Process. Syst. Design Implement.,Oct. 2006, pp. 303 308. [5] N. Milanidovic and M.P.C. Fossorier, Improved bit-flipping decoding of low-density parity-check codes IEEE Trans.(VLSI) Apr 2009 [6] E. Sharon, S. Litsyn, and J. Goldberge 619

Efficient serial message-passingschedules for LDPC decoding, IEEE Trans. Inf. Theory, vol. 53, no. 11,pp. 4076 4091, Nov. 2007. [7] J.Cho, J.Kim, and W. Sung, VLSI implementation of a highthroughput soft-bitflipping decoder for geometric LDPC codes, IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 57, no. 5, pp. 1083 1094, May 2010. [8] Jonghong Kim, Wonyong Sung Rate-0.9 LDPC Decoding VLSI for Soft-Decision Error Correction of NAND Flash Memory IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Vol. 22, No. 5, May 2014 [9] Zhengya Zhang, Design of LDPC Decoders for Improved Low Error Rate Performance Electrical Engineering and Computer Science University of California at Berkeley Technical Report No. UCB/EECS-2009-99 July 10, 2009 [10] Pedro Reviriego and Juan A. Maestro Error Detection in Majority Logic Decoding of LDPC Codes IEEE Trans.(VLSI) Jan 2013 620