Académique Documents
Professionnel Documents
Culture Documents
Vol.03,Issue.01,
January-2014,
Pages:0066-0072
www.semargroup.org,
www.ijsetr.com
Abstract: Error control coding (ECC) is essential for correcting soft errors in Flash memories. Memory cells were the only
circuitries susceptible to transient faults. The supporting circuitries around the memory were assumed to be fault-free. Due to
the increase in soft error rate in logic circuits, the encoder and decoder circuitry around the memory blocks have become
susceptible to soft errors as well and must be protected. The key novel contribution of this paper is identifying and defining a
new class of error-correcting codes whose redundancy makes the design of a reliable memory system that can tolerate multiple
errors in the memory words as well as transient errors in the encoder and decoder (corrector) circuitry. ECC algorithm
correction strength (number of bit errors that can be corrected) depends on the ECC algorithm used to correct the soft errors.
Simple Hamming codes can only correct single bit errors. Reed-Solomon code can correct more errors but limited to multiple
bit errors only. While these schemes have slightly larger latency and require additional parity bit storage, they provide an easy
mechanism to increase the lifetime of the Flash memory devices and achieve higher reliability and reduced hardware overhead.
In this work, efficient fault tolerant memory system architecture can capable of lossless transmission of data and sophisticated
error correction capability is achieved by implementing product code schemes which can reduce different types of soft errors in
the flash memory. This architecture is authorized in Verilog. Behavior simulation is done by using the ISE simulator and
synthesis can be done by using the synthesis Xilinx ISE 9.2i.
I. INTRODUCTION
Flash memory is a non-volatile computer storage device NAND Flash memories and support longer lifetimes,
that can be electrically erased and reprogrammed. It is combinations of hardware and software techniques are
used in memory cards, USB flash drives and solid-state used. These include wear levelling, bad block
drives in application platforms such as personal digital management and garbage collection. Wear leveling
assistants, laptops, computers, digital audio players, digital distributes the data to different physical locations so that all
cameras and mobile phones. NAND Flash memories are memory blocks are used approximately the same number
not preferred over NOR since they have lower erase of times. Bad block management marks blocks once they
times, less chip area per cell which allows greater storage show unrecoverable errors and avoids mapping data to
density, and lower cost per bit and increase maximum the same bad block. While these F l a s h management
chip capacity so that flash memory could compete with techniques increase the life time of Flash memories,
magnetic storage devices like hard disks. But there are they are not good at correcting soft errors. Error
some limitations of NAND Flash memories. correction code (ECC) techniques, w h i c h can detect
and correct errors by storing and processing extra
There are some inherent limitations of NAND Flash parity bits, have now become an integral part of Flash
memories. These include write/read d istur bs , data memory design
retention errors, bad block accumulation, limited number
of writes, and stress-induced leakage current. In recent II. NAND FLASH MEMORY, SLC & MLC
years, due to cell size scaling, these issues have become NAND Flash memories are accessed much like block
critical. In particular, re-liability of MLC memory memory devices such as hard disks or memory cards.
significantly degrades due to reduced gap between A NAND Flash memory bank consists of several
adjacent threshold levels. To enhance the reliability of blocks, where each block consists of a number of pages.
stay in memory for a number of cycles and, during this product of information vector and a column of X, from
period, each memory bit can be upset by a transient G=[I:X]
fault with certain probability. Therefore, transient
errors accumulate in the memory words over time. In
order to avoid accumulation of too many errors in any
memory word that surpasses the code correction
capability, the system must perform memory scrubbing.
Memory scrubbing is the process of periodically.
C. Corrector
One-step majority-logic correction is a fast and relatively
compact error-correcting technique. There is a limited
class of ECCs that are one-step-majority correctable
Fig. 4 Fault-secure detector for (15, 7, 5) EG-LDPC code. which include type-I two-dimensional EG-LDPC.
A. Fault Secure Detector
D. One-Step Majority-Logic Corrector
The core of the detector operation is to generate the
One-step majority logic correction is the
syndrome vector, which is basically implementing the
procedure that identifies the correct value of a each bit
following vector- matrix multiplication on the received
in the codeword directly from the received codeword;
encoded vector c and parity-check matrix H: s = c×HT,
this is in contrast to the general message-passing error
and therefore each bit of the syndrome vector is the
correction strategy (e.g., [14]) which may demand
product of the following vector-vector multiply: si = c ·
multiple iterations of error diagnosis and trial
hi T , where hi T is the transposed of the ith row of the
correction. Avoiding iteration makes the correction
parity-check matrix. The above product is a linear binary
latency both small and deterministic. This technique
sum over digits of c where the corresponding digit in it is
can be implemented serially to provide a compact
1.This binary sum is implemented with an xor gate. Since
implementation or in parallel to minimize correction
the row weight of the parity-check matrix is P , to generate
latency. This method consists of two parts: 1) generating
one digit of the syndrome vector we need a P-input xor
a specific set of linear sums of the received vector bits
gate, or (P− 1) 2-input xor gates in a tree structure. For
and 2) finding the majority value of the computed
the whole detector, it takes n(P − 1) 2-input xor gates.
linearsums. The majority value indicates the correctness
An error is detected if any of the syndrome bits has a
of the code-bit under consideration; if the majority value
nonzero value. The final error detection signal is
is 1, the bit is inverted, otherwise it is kept
implemented by an or function of all the syndrome put of
unchanged. The circuit implementing a serial one-step
this n-input or gate is the error detector signal.
majority logic corrector for (15,7, 5) EG-LDPC code is
B. Encoder shown in Fig. 6.
An n-bit codeword, which encodes a n-bit information
Vector i is generated by multiplying the n-bit information
vector with a kXn bit generator matrix; i.e., c=i.G. EG-
LDPC codes are not systematic and the information bits
must be decoded from the encoded vector, which is not
desirable for our fault-tolerant approach due to the
further complication and delay that it adds to the
operation. However, these codes are cyclic codes. We
used the procedure to convert the cyclic generator
matrices to systematic generator matrices for all the EG-
LDPC codes under consideration shown in Fig.5.The Fig.6. Serial one-step majority logic corrector structure
encoded vector consists of information bits followed by to correct last bit (bit 14th) of 15-bit (15, 7, 5) EG-
parity bits, where each parity bit is simply an inner LDPC code.
International Journal of Scientific Engineering and Technology Research
Volume.03, IssueNo.01, January-2014, Pages:0066-0072
P. PAVANI KUMARI, VENUGOPAL BASANI
G. Parallel Corrector
For high error rates, the corrector is used more
frequently and its latency can impact the system
performance. Therefore we can implement a parallel one-
step majority corrector which is essentially copies of the
single one-step majority-logic corrector. Fig. 1 shows a
system integration using the parallel corrector. All the
memory words are pipelined through the parallel
corrector.
Fig.9. Block level diagram of FTS
Fig.11. RTL schematic of Fault tolerant system Fig.12. waveform of encoder in FTS
International Journal of Scientific Engineering and Technology Research
Volume.03, IssueNo.01, January-2014, Pages:0066-0072
P. PAVANI KUMARI, VENUGOPAL BASANI
The waveforms shows that for input codeword of 7 bit F. Advanced HDL Synthesis Report
i[6:0] has given an output of 16 bit codeword c[15:0] by
appending 8 parity bits which obtained by coding the
given figure12.
V. CONCLUSION
This project work presents the Error control coding for
MLC NAND Flash memories by using Fault Tolerant
Memory system architecture based on product code
schemes. Error detection and correction or error control is
techniques that enable reliable delivery of digital data
over unreliable communication channels or storage
medium. Error detection is the detection of errors caused
Fig13. Waveform of fault secure detector in FTS by noise or other impairments during transmission from
the transmitter to the receiver. Error correction is the
E. Simulation of Corrector detection of errors and reconstruction of the original,
error-free data. Here the proposed Error control
coding(ECC) based on product code schemes, the no of
hardware resources require to implement is also very
much reduced. In this report, a fully fault-tolerant memory
system that is capable of tolerating errors not only in the
memory but also in the supporting logic is designed; Loss
Less transmission of data is possible. The efficient error
control schemes used which can handle both random and
MBU errors. The Designed FTM architecture is modeled
for each block in the Verilog HDL and the synthesis
results prove that the reduction of hardware complexity in
the implementation of proposed ECC in MLC NAND
Flash memories