KimJinuk
                     JungJihun
                     ParkSungju*
               
                  - 
                           
                        (Dept. of Computer Science & Engineering, Hanyang University, Korea
                        )
                        
 
               
             
            
            
            Copyright © The Institute of Electronics and Information Engineers(IEIE)
            
            
            
            
            
               
                  
Index Terms
               
               MLC flash memory, ECC, LDPC, reprogramming, data reliability
             
            
          
         
            
                  I. INTRODUCTION
               
                  Solid-state drives (SSDs) have been widely adopted due to the rapid growth of diverse
                  applications that require high capacity and fast performance. To satisfy the customer
                  demand for ever-increasing flash memory storage size, 3D-stacked flash memory is now
                  available. However, more errors are observed in flash memory as the storage density
                  increases. 
                  
               
               
                  There are four types of error that can occur in flash memory: erase error, read error,
                  program interference error, and retention error. Among these errors, retention error
                  comprises the highest proportion of total errors (1). Retention error occurs when data is stored for a long period of time, and corrupted
                  due to the leakage of charged electrons. For flash memory, program-erase cycle (p-e
                  cycle) also has a major impact on performance. The p-e cycle causes the memory cells
                  to gradually wear out, resulting in data corruption of stored data. Generally, single-level
                  cell (SLC) and multi-level cell (MLC) flash memory tolerate up to 100k and, 10k p-e
                  cycles, respectively (1). To maintain high reliability of stored data, various error correcting codes (ECCs)
                  are adopted. Typically, several high-performance ECCs like turbo code, Bose-Chaudhuri-Hocquenghem
                  (BCH) code, and low-density parity-check code (LDPC) are used to ensure the data integrity
                  of flash memory (2,5). However, these ECCs cannot correct errors, or even causes miscorrections if the
                  stored data is corrupted more than its correction ability. If the retention errors
                  are corrected periodically, the number of errors might not exceed the correction capability
                  of ECCs. To better handle retention errors, the refresh technique is introduced (6). Refresh minimization scheme, which considers the process variation (PV), is also
                  employed to reduce the overhead of refresh operation (7). With Stronger ECC, refresh minimization can even reduce the refresh rate of flash
                  memory. However, the refresh operation at the system level can cause unintended program
                  interference error due to the inherent characteristics of flash memory chip products.
                  
                  
               
               
                  
                        
                        
Fig. 1. Threshold voltage distributions of SLC and MLC flash memory.
                      
                  
                  
               
               
                  In this paper, we introduce (1)a safe reprogramming scheme for MLC flash memory at the system level and (2)an efficient LDPC decoding scheme utilizing uncorrected error information after refresh
                  operations. With these schemes, (1)unintended data corruption during refresh operations is reduced and (2)data reliability is improved by enhancing the error correction ability of soft-decision
                  LDPC (3)reliable retention time of data is extended by using proposed LDPC decoding method
                  along with proposed safe reprogramming scheme.
                  
               
             
            
                  II. BACKGROUND
               
                     1. Flash Memory and Retention Error
                  
                     NAND flash can be classified into SLC and MLC types. SLC stores one bit in a cell
                     while MLC stores two bits or more in a cell. MLC flash memory cell represents $n$
                     bits using 2$^{n}$ threshold voltage levels. The voltage level of a flash memory cell
                     is related to the quantity of charged electrons. Furthermore, the encoding of voltage
                     level is different for each flash memory product. Fig. 1 shows the threshold voltage distribution of a flash memory cell. Some MLC products
                     encode each voltage level as shown in Fig. 1. Meanwhile, other flash memory products may adopt entirely different encoding schemes.
                     
                     
                  
                  
                     
                           
                           
Fig. 2. NAND flash organization of (a) SLC and MLC flash memory, (b) floating gate
                              transistor.
                           
                         
                     
                     
                  
                  
                     A NAND flash memory chip is an array of floating gate transistors. Fig. 2 shows the NAND flash memory cell organization and floating gate transistor structure.
                     A NAND flash is organized as a block-page hierarchy. A page is the basic data unit
                     of flash memory, and each block is composed of multiple pages (e.g., 64 pages = 1
                     block), which is a group of wordlines. Most of NAND flash products include single
                     plane, which is comprised of multiple blocks. Nowadays, some products are composed
                     of multiple planes to provide a higher storage capacity.
                     
                  
                  
                     Flash memory stores data in a corresponding page using group of cells on a corresponding
                     bitline that belong to the same wordline group. To store data, charged electrons are
                     trapped in floating gate as shown in Fig. 2(b). SLC flash stores each page to each corresponding wordline, while MLC flash group
                     wordlines into an even group and an odd group and store 2 bits in a single cell. However,
                     data stored in the same location for a long period (e.g., 1 year) could be corrupted
                     due to gradual leakage of charged electrons through the floating gate. This type of
                     data corruption is called retention error (1), which holds the highest proportion of flash memory error. Leakage of electrons decreases
                     the voltage level close to the threshold voltage of the flash memory cell and can
                     cause the misreading of data. To cope with these errors and to enhance the voltage
                     level sensing precision of overlapping voltage lever, G. Dong et al. (8) introduced the usage of soft-decision ECC and non-uniform voltage sensing scheme
                     for NAND flash memory.
                     
                  
                  
                     
                           
                           
Fig. 3. A single iteration of soft-decision LDPC Bit error probability ${P}_{error}
                              : 0 < {P}_{error} < 1$ (${P}_{error} = error$ probability of bit node).
                           
                         
                     
                     
                  
                
               
                     2. Flash Memory and Retention Error
                  
                     Generally, a flash memory chip uses several error correction techniques (e.g. turbo
                     code, BCH, LDPC) to detect and correct errors (2,5). In early lifetime of flash memory, hard-decision BCH code is applied. However, to
                     ensure the longer lifetime and data integrity of high-capacity flash memory (e.g.,
                     MLC flash memory), stronger ECC is required. Thus, soft-decision LDPC is adopted to
                     handle the large number of errors that occur in MLC flash memory.
                     
                  
                  
                     
                     
                     
                     
                     
                  
                  
                     
                     
                     
                     
                     
                  
                  
                     
                     
                     
                     
                     
                  
                  
                     
                     
                     
                     
                     
                  
                  
                     
                     
                     
                     
                     
                  
                  
                     Soft-decision LDPC is an iteration-based block code that uses the soft log-likelihood-ratio
                     (LLR) to determine the value of bit node. LLR is calculated using the bit error probability
                     ${p}_{error}$ (1)as shown in Eqs. (2-4) (8,9). During the decoding procedure, the higher bit error probability means that the bit
                     node has more chance of error, therefore makes the bit node to be flipped easily.
                     Its decoding procedure is depicted in Fig. 3. The bit node passes the soft-decision LLR value to the connected check node. Then
                     the check node calculates the next LLR value and transmits the calculated value to
                     connected bit nodes. Then, the check node calculates the next LLR value and transmits
                     the calculated value to connected bit nodes. This is called as iteration of LDPC decoding
                     (10). After a single iteration, the bit node updates the LLR value to the received LLR
                     value from the connected check node. After iteration, syndrome is calculated by using
                     parity check matrix of ${H}$ and decoded codeword ${c}$. By using Eq. (5), decoder gets the syndrome ${S}$. If the syndrome is 0, iteration is terminated,
                     then data is extracted from codeword. Else, iteration is repeated until the syndrome
                     becomes 0 or the iteration count reaches the maximum limitation of iteration. 
                     
                  
                  
                     Typically, soft-decision LDPC is adopted in flash memory that requires a high correction
                     ability. However, soft-decision LDPC can cause read latency due to its iteration.
                     To handle the latency problem, S.Tanakamaru et al. (9) proposed error-prediction LDPC (EP-LDPC) and error recover schemes to reduce read
                     latency and extend data retention time by using an accurate error probability table
                     based on the number of ‘1’s in data, p-e cycle, and stored location (upper or lower
                     page). By using an accurate error probability table during the LDPC decoding, the
                     retention time of stored data is enhanced. 
                     
                  
                  
                     Additional parity bits can also improve the correction ability of ECCs; however, this
                     type of approach requires excessive space overhead. To reduce the overhead, H. Park
                     et al. proposed incremental redundancy (IR) that only reinforces the minimum redundancy
                     (11). IR monitors the retention time of cold data and adaptively assign the minimal number
                     of pages for incremental redundancy after a safe period. Therefore, the retention
                     of cold data and the correction ability of ECC are enhanced.
                     
                  
                
               
                     3. Flash Memory Refresh (reprogramming)
                  
                     Flash memory operates on an erase-before-program basis due to the features of a flash
                     memory cell. As shown in Fig. 1, a flash memory cell represents data using several voltage levels. A flash memory
                     cell should be erased to program new data if the target cell is once programmed. However.
                     a flash memory cell can be selectively reprogrammed through refresh (6). For example, a SLC flash memory cell can be reprogrammed from ‘1’ to ‘0’. In case
                     of MLC flash memory, reprogramming is more restricted than SLC flash memory because
                     an MLC flash memory cell uses four voltage levels to represent data. Thus, reprogramming
                     is only available in the direction of higher voltage level (e.g., from ‘11’ to ‘10’).
                     
                  
                  
                     To correct the retention error with refresh, a flash-correct-and-refresh (FCR) technique
                     has been studied by Cai et al.(6). They introduced an in-place reprogramming based on FCR, adaptive-rate FCR, and hybrid
                     FCR mechanism. Hybrid FCR selectively applies refreshing or remapping, based on the
                     bit error rate. The remapping moves the corrupted data, instead of refreshing it.
                     Adaptive-rate FCR refreshes the flash memory cell less frequently for small retention
                     errors. For both cases, refreshing reduces the p-e cycle and enhances the flash memory
                     lifetime. However, unlike the cell-level approach, in-place reprogramming is hard
                     to be achieved at the system-level. As described above, NAND flash memory can be reprogrammed
                     in a direction of higher voltage level at the memory cell level. On the other hand,
                     it is hard to apply reprogramming technique in system-level because data stored in
                     paired pages may change unexpectedly if the paired page is already programmed. Additionally,
                     even if the target page is safe to perform in-place reprogramming, refresh should
                     be performed carefully in system-level. It is noted that if the program operation
                     is abnormally aborted, data stored in a paired page might be damaged (16,17). It indicates that not only the data of single page is damaged when program operation
                     is not successful, but also the data stored in paired page may corrupted by unsuccessful
                     program operation. 
                     
                  
                  
                     Generally, MLC flash memory applies incremental step pulse programming (ISPP), which
                     programs upper page first (12,13), to properly program the data in both paired page. Thus, unintended interference
                     can occur in the upper page if the reprogramming operation is done in lower page.
                     For example, as shown in Fig. 2(a), data stored in upper page (page 124) might be unintentionally changed when the reprogramming
                     is occurred in lower page (page 118). Therefore, reprogramming should be performed
                     only if the data in both page is not altered by its operation.
                     
                  
                
             
            
                  III. PROPOSED METHOD
               
                     1. Reprogramming MLC Flash in System Level
                  
                     During the lifetime of flash memory, any type of error can occur in the flash memory.
                     According to Cai et al. (1), some errors can be corrected by refresh. Refresh can reduce the number of errors
                     in a codeword (page), thus the retention time and lifetime of flash memory are extended
                     by reducing the p-e cycle. However, overly frequent refreshing can degrade the lifetime
                     and performance of flash memory. Y. Di et al.proposed a process variation (PV) based
                     refresh minimization scheme for flash memory to reduce the number of refresh operation
                     (7).
                     
                  
                  
                     Although in-place reprogramming has the advantages of extending lifetime and improving
                     performance of flash memory, it can corrupt data stored in paired pages when performed
                     at the system-level, as described in section II-3. Thus, safe in-place reprogramming
                     should be applied to guarantee the data integrity while taking advantages of in-place
                     reprogramming.
                     
                  
                  
                     To perform the safe in-place reprogramming at system level, the flash memory chips
                     were verified for all available cases where in-place reprogramming is performed. Based
                     on the datasheet of several flash memory products (14,17), whole pages in same block are pre-programmed before in-place reprogramming. Then,
                     the data that overwrites ‘00’, ‘01’, ‘10’, ‘11’ to same flash memory cell is overwritten
                     to paired page to verify safe reprogramming operation for each memory chip product.
                     
                  
                  
                     
                           
                           
Fig. 4. State diagram of a reprogramming operation (cell-level) for four MLC flash
                              memory chip products (at the system level).
                           
                         
                     
                     
                  
                  
                     In this paper, four different NAND flash memory chips have considered. Fig. 4 shows the reprogramming state diagrams of each MLC flash memory product (14,17) at the system level. In Fig. 4, each arrow indicates the safe reprogramming operation (in memory cell-level) which
                     does not affect data stored in paired pages while correcting the erroneous bits. Each
                     table at the right side of Fig. 4 indicates the result of reprogramming operation. In Fig. 4(a), it is observed that the data is properly reprogrammed if ‘11’ is preprogrammed in
                     certain memory cell. However, if ‘00’ is preprogrammed, there is no data that can
                     change the state of memory cell by reprogramming. For example, for Fig. 4(d) chip, a reprogrammed value of ‘01’ can be achieved by reprogramming either ‘00’ or
                     ‘10’ when ‘11’ is already stored. Thus, some erroneous bits can be corrected by using
                     the proposed in-place reprogramming at system-level. 
                     
                  
                  
                     
                           
                           
Fig. 5. Generating uncorrected error count information during decoding procedure.
                         
                     
                     
                  
                  
                     As shown in Fig. 4, the reprogramming is restricted to some directions at the system-level. Thus, we
                     propose a safe system level reprogramming scheme for MLC flash memory that considers
                     the operational characteristic of each chip. In Fig. 4(a), system level reprogramming does not disturb the paired page when ‘11’ is overwritten
                     on preprogrammed data. On the other hand, for the Fig. 4(b) chip, reprogramming is more restricted than for the Fig. 4(a) chip. Meanwhile, reprogramming of Fig. 4(d) chip is only available for ‘11’${\rightarrow}$’01’ direction. Thus, system-level
                     reprogramming should be performed using the proper data for each chip. 
                     
                  
                  
                     As a result of proposed in-place reprogramming scheme, correctable retention errors
                     that occurred in stored data can be corrected safely at system level. As a result,
                     only small number of uncorrected errors remain in codeword. Therefore, performance
                     of flash memory is enhanced since LDPC decoder causes less iteration to decode codeword,
                     and lifetime of flash memory is also extended without degrading reliability of stored
                     data.
                     
                  
                  
                     However, as depicted in Fig. 4, every flash memory product requires different safe reprogramming operation. And
                     the efficiency of reprogramming varies because each flash memory product has different
                     reprogramming result. Nevertheless, still proposed reprogramming method is effective
                     to reduce the amount of retention error. According to M. Zhang et al. (18), the most common type of retention errors are “00”${\rightarrow}$”01”, “01${\rightarrow}$10”,
                     “01”${\rightarrow}$”11”, and “10”${\rightarrow}$“11”, with their relative percentages
                     over all retention errors being 46%, 44%, 5%, and 2%, respectively. Among these retention
                     errors, “00”${\rightarrow}$”01”, “01”${\rightarrow}$”11”, and “10”${\rightarrow}$”11”
                     are correctable for Fig. 4(a) flash memory chip. Therefore, 53% of retention errors can be corrected for Fig. 4(a) chip. In the same way, 51%, 53%, and 5% of retention errors can be corrected for
                     Fig. 4(b)-(d), respectively.
                     
                  
                  
                     Fig. 5 shows the procedure to the uncorrected error information for the Fig. 4(a) chip. First, the codeword is read from flash memory and corrected by LDPC ECC. Then,
                     reprogrammable errors are partially corrected to good values through system-level
                     reprogramming. In Fig. 5, errors marked by black rectangles are overwritten by using the reprogram data; however,
                     errors marked by red rectangles are not corrected because reprogramming operations
                     of ”00”${\rightarrow}$”10” and “10”${\rightarrow}$”11” are not available for Fig. 4(a) chip. During this process, the upper page and lower page for a codeword would be
                     read simultaneously, and properly processed by LDPC ECC.
                     
                  
                  
                     Fig. 6 shows an example of correction procedure with the proposed partial reprogramming
                     scheme for the Fig. 4(a) chip. Two codewords in upper and lower pages are decoded by LDPC ECC and system level
                     reprogramming is performed for both upper and lower page. To correct an erroneous
                     page, ‘1101111111101111’ and ‘1111110111111111’ are overwritten to the same page.
                     Then data stored in the corrected pages is ‘0100101011101011’ and ‘0110010110110110’.
                     It is noted that uncorrectable errors and correct data need to be overwritten with
                     ‘11’ for the Fig. 4(a) chip to avoid the unintended change of data. 
                     
                  
                
               
                     2. Utilizing Error Information while LDPC Decoding
                  
                     After performing the proposed system level in-place reprogramming, each codeword may
                     still contain some uncorrected errors. Using the information about the uncorrected
                     errors, the correction ability and decoding performance of LDPC decoder can be further
                     improved with accurate LLR input values. Precise LLR values for each code is known
                     to be very helpful for improving the decoding performance of soft-decision LDPC (18).
                     
                  
                  
                     
                           
                           
Fig. 6. System-level reprogramming for a codeword
                         
                     
                     
                  
                  
                     As shown in Fig. 3, soft-decision LDPC calculates log-likelihood ratio (LLR) with each iteration. The
                     LLR indicates that each bit node is more likely ‘0’ or ‘1’. To calculate the LLR value,
                     the error probability (1)is assigned to Eqs. (2, 3). In proposed decoding scheme, the number of uncorrected errors is given as additional
                     input for decoding to get the precise LLR. In the early lifetime of flash memory,
                     low bit error probability (e.g., 10$^{-7}$) is assigned for decoding. However, a higher
                     bit error probability (e.g., 10$^{-4}$, 10$^{-3}$) is required to handle potentially
                     massive errors after the p-e cycle exceeds a certain level (e.g., 10k p-e cycles).
                     Accordingly, the bit error probability of each bit node is adaptively assigned in
                     proposed scheme.
                     
                  
                  
                     To improve the performance of LDPC decoding, the number of uncorrected errors after
                     reprogramming is given as additional input of LDPC decoder. The proposed scheme utilizes
                     spare area to indicate the number of uncorrected errors. Each bit of error information
                     area can be marked to ‘0’ to store information about the number of errors in each
                     codeword. The input BER used for decoding is given to decoder based on error information
                     and predetermined BER table. Each input BER is determined as a value between 10$^{-7}$
                     and 10$^{-4}$, and the value is determined by how many bits are flipped to ‘0’. In
                     Fig. 7, codeword 1 have four uncorrected errors and two bits of uncorrected error count
                     field of codeword 1 are flipped to ‘0’. Then, the input BER (Bit error probability)
                     used for decoding is determined as BER$_{2}$. Likewise, BER$_{3}$ is given as input
                     BER for decoding of codeword 2. However, if the decoding is performed first time,
                     error information cannot be provided to decoder. Therefore, the uncorrected error
                     information is given as input after the first decoding as shown in Fig. 8.
                     
                  
                  
                     
                           
                           
Fig. 7. Decision of input BER (Bit error probability) based on uncorrected error information.
                         
                     
                     
                  
                  
                     
                           
                           
Fig. 8. Flow of proposed decoding scheme and codeword structure.
                         
                     
                     
                  
                  
                     As shown in Fig. 7 and 8, implementation of proposed scheme requires additional space to indicate the
                     level of error. For example, 1Mbytes of dedicated space (2 byte per page$\times $524,288
                     pages) is required for 2 Gbyte NAND flash memory chip (4K page$\times $524,288) to
                     store error information when each codeword contains additional 2 bytes of error information
                     field. The space overhead may be different for other NAND flash chips which uses different
                     page size. To implement the proposed scheme, spare area can be considered as dedicated
                     space for storing the additional error information. In general, spare area is reserved
                     area for system usage (e.g., bad block management, garbage collection). However, spare
                     area is not fully utilized during the lifetime of SSDs. Thus, remaining empty space
                     in spare area can be used for implementation of proposed method.
                     
                  
                  
                     As discussed above, proposed method dynamically assigns the input BER depending on
                     the number of uncorrected errors after performing LDPC decoding and proposed reprogramming
                     scheme. Error prediction (9) scheme can also calculate proper input BER value for decoding when the system requests
                     a lot of sequential read. However, its prediction performance is limited when a lot
                     of random read operations occurred in system level. This is because the estimation
                     algorithm of error prediction scheme can only utilize the number of ‘1’s in left and
                     right cell, while it requires additional parameters like BER and number of ‘1’s (initial
                     value and measured value) of lower page, p-e cycle, retention day, and coupling information.
                     These additional parameters for error prediction help to calculate accurate BER value
                     of certain cell, but at the expense of more complex calculation and resulting in longer
                     delay.
                     
                  
                  
                     On the other hand, the proposed methods can be applied to any systems where both sequential
                     reads and random reads occur frequently. It is because the proposed method only requires
                     the uncorrected error count after decoding codewords and correction of correctable
                     retention errors. Although the proposed method requires additional space to store
                     the uncorrected error information, proposed method reduces the number of error in
                     each codeword and enhances the reliability of stored data. As a result, the proposed
                     method reduces the RBER (Raw bit error rate) and increases the chance of successful
                     decoding of codeword. In addition, low read latency is also achievable by reducing
                     the RBER of flash memory. According to Y. Du et al.(25), higher RBER causes longer read latency. Thus, the read latency of flash memory can
                     be further reduced by using the proposed input BER optimization method along with
                     proposed reprogramming scheme.
                     
                  
                  
                     In some flash memories, spare area can be used instead of using extra space to reduce
                     overhead. However, still some of the uncorrected error information field may contain
                     correctable retention errors. In this case, additional BER information bits are also
                     reprogrammed along with the reprogramming of codewords to prevent the corruption of
                     BER information field. Despite the BER information field has been reprogrammed, this
                     field still may contain some errors which has not been restored by reprogramming.
                     Thus, this field may require ECC to ensure higher reliability of proposed methods.
                     However, the error information field is unlikely to contain multiple bit errors. Thus,
                     among several ECCs, SEC-DED is a feasible solution because it requires less delay
                     and hardware overhead. Since the size of additional BER information field is small
                     (e.g. 8 or 16 bits for 2Gbyte NAND flash memory chip) and reprogramming operation
                     reduces the number of errors, SEC-DED code is strong enough to recover the retention
                     error occurred in error information field. 
                     
                  
                
             
            
                  IV. EXPERIMENTAL RESULTS
               
                  For verification of proposed methods, MLC NAND flash chip that the most reprogramming
                  operations are available (14) was applied, and LDPC simulation code (19) is modified to build the check / generator matrices, encode the data, simulate the
                  error based on baking test, and decode the codewords. The check matrix and generator
                  matrix for our experiment are 4-cycle-free quasi-cyclic LDPC (QC-LDPC) with a code
                  rate of 0.94. Generally, QC-LDPC is known to be efficient and gives fast response
                  of encoding and decoding among LDPC codes (23,24). Therefore, QC-LDPC code is applied to verification to reduce the encoding and decoding
                  complexity. Additionally, the codewords are encoded and decoded under BSC (Binary
                  Symmetric Channel) with given error probability between 10$^{-7}$  and 5$\times $10$^{-3}$,
                  which showed the acceptable decoding ability. During the decoding iteration, each
                  bit node decides the bit value based on BP (belief propagation) algorithm with sum-product
                  algorithm. For evaluation, LDPC decoding is performed on both normal data with errors
                  and reprogrammed data whose correctable errors were corrected with the proposed reprogramming
                  method.
                  
               
               
                  To accurately measure how many errors occurred when the flash memory chip is left
                  for a long period, we programmed 1,000 randomly generated codewords and baked in 125℃
                  to accelerate the retention effect (2), according to the classic temperature-activated Arrhenius law (22). Additionally, the p-e cycle of target chip is fixed to 5k cycles to easily accelerate
                  the retention effect. It is observed that the accelerated retention effect causes
                  up to 0.4% (4$\times $10$^{-3}$) of RBER (Raw bit error rate, the bit error rate in
                  data before ECC processing) to certain codeword stored in flash memory. The acceleration
                  of retention effect is performed until the chip has same retention effect lasted about
                  24 months. The performance of the LDPC decoder with proposed scheme was evaluated
                  through a simulation using 1-byte error information field. Therefore, extra space
                  used for storing uncorrected error information is 500 Kbytes for 4 Gbyte flash memory
                  chip (1 byte per each 8K-size page$\times $524,288 = 500 Kbytes). If the spare area
                  is not fully utilized by system, the extra space is not required. 
                  
               
               
                  Tables 1-4 shows comparison of the average iteration and number of successfully decoded codewords.
                  Average iteration causes the latency due to its iterative message passing. Thus, lower
                  average iteration results in less delay. The number of successfully decoded codewords
                  indicates the correction ability of LDPC decoder. If the performance of LDPC decoder
                  is stronger, it can correct more potential errors occurred in codeword. Thus, higher
                  number of successfully decoded codewords indicates the correction ability of LDPC
                  decoder.
                  
               
               
                  As discussed in section III, random errors which are simulated in codewords are reprogrammed
                  at system level using proper data, and the uncorrected error count information generated
                  from system-level reprogramming is given as the input of LDPC decoder. A fraction
                  of correctable errors (e.g., retention error) are reprogrammed at the system level,
                  as shown in Fig. 4(a). After reprogramming, the codewords are decoded to evaluate the performance of proposed
                  method. The same LDPC check matrix is used for evaluation of proposed decoding method
                  with maximum 20 iterations. The following decoding simulation result shows the average
                  iteration performed for decoding, and the number of codewords decoded successfully.
                  The maximum input RBER value was 10$^{-2}$ that can successfully decode the codeword.
                  However, since input RBER value of 10$^{-2}$ did not showed acceptable performance,
                  we assigned the seven levels of input RBER value between 10$^{-7}$  and 5$\times $10$^{-3}$
                  to conventional LDPC decoder and input RBER table of proposed method during the verification.
                  
               
               
                  
                  
                  
                  
                        
                        
Table 1. Comparison of average iteration of typical LDPC decoding (with fixed input
                           RBER) and proposed LDPC decoding
                        
                     
                     
                        
                        
                        
                              
                                 
                                    | 
                                       
                                    			
                                     Retention Time 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Conventional LDPC decoding 
                                    
                                    			
                                    (with fixed input RBER) 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Proposed 
                                    
                                    			
                                    LDPC decoding 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Comparison with conventional LDPC decoding 
                                    
                                    			
                                    (compared with best-case scenario) 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     $10^{-7}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-6}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-5}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-3}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-3}$ 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 week 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.004 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 month 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.012 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     2 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     3 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.17 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.08 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -11.12% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     6 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.56 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.12 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.58 
                                    			
                                  | 
                                 
                                       
                                    			
                                     +3.57% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     12 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     10.78 
                                    			
                                  | 
                                 
                                       
                                    			
                                     10.12 
                                    			
                                  | 
                                 
                                       
                                    			
                                     9.40 
                                    			
                                  | 
                                 
                                       
                                    			
                                     6.09 
                                    			
                                  | 
                                 
                                       
                                    			
                                     2.94 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.90 
                                    			
                                  | 
                                 
                                       
                                    			
                                     2.60 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.92 
                                    			
                                  | 
                                 
                                       
                                    			
                                     +1.05% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     18 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.99 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.93 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.92 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -0.36% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     24 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     - 
                                    			
                                  | 
                              
                           
                        
                     
                   
                  
                  
                  
               
               
                  
                  
                  
                  
                        
                        
Table 2. Comparison of number of successfully decoded codewords of typical LDPC decoding
                           (fixed input RBER) and proposed LDPC decoding
                        
                     
                     
                        
                        
                        
                              
                                 
                                    | 
                                       
                                    			
                                     Retention Time 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Conventional LDPC decoding 
                                    
                                    			
                                    (with fixed input RBER) 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Proposed 
                                    
                                    			
                                    LDPC decoding 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Comparison with conventional LDPC decoding 
                                    
                                    			
                                    (compared with best-case scenario) 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     $10^{-7}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-6}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-5}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-3}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-3}$ 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 week 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 month 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     2 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     3 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     6 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     12 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     536 
                                    			
                                  | 
                                 
                                       
                                    			
                                     571 
                                    			
                                  | 
                                 
                                       
                                    			
                                     605 
                                    			
                                  | 
                                 
                                       
                                    			
                                     814 
                                    			
                                  | 
                                 
                                       
                                    			
                                     948 
                                    			
                                  | 
                                 
                                       
                                    			
                                     993 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     18 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1 
                                    			
                                  | 
                                 
                                       
                                    			
                                     5 
                                    			
                                  | 
                                 
                                       
                                    			
                                     6 
                                    			
                                  | 
                                 
                                       
                                    			
                                     +20% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     24 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     - 
                                    			
                                  | 
                              
                           
                        
                     
                   
                  
                  
                  
               
               
                  Table 1 shows the average iteration of conventional LDPC decoding and proposed LDPC decoding,
                  without performing proposed reprogramming method. During the 24 months of retention
                  time, proposed method showed lower average iteration which is closer to the lowest
                  average iteration of conventional decoding. As shown in Table 1, it is observed that the proposed LDPC decoding method shows almost similar performance
                  of best-case scenario of conventional LDPC decoding with fixed input RBER value. However,
                  LDPC decoding of codeword was not successfully completed for whole 1,000 codewords
                  when the data retention time was longer than 12 months because the number of errors
                  exceeded the correction limit of LDPC decoder. In this case, the average iteration
                  is calculated only for the decoding-successful codewords. 
                  
               
               
                  Table 2 shows the number of successfully decoded codewords of conventional LDPC decoding
                  and proposed decoding method. Proposed method shows similar level of robust correction
                  ability compared to the best-case scenario of conventional LDPC decoding method while
                  reducing the average iteration. However, the decoding failed for most of the codewords
                  when the retention time is longer than 18 months. In this case, the number of successfully
                  decoded codeword of proposed LDPC decoding is 20% higher than conventional scheme.
                  From this, it can be inferred that additional uncorrected error information improves
                  the correction ability of LDPC decoder, and the correction limit under proposed LDPC
                  decoding is up to 18 months. 
                  
               
               
                  
                  
                  
                  
                        
                        
Table 3. Comparison of average iteration of typical LDPC decoding (with fixed input
                           RBER) and proposed LDPC decoding with proposed reprogramming scheme
                        
                     
                     
                        
                        
                        
                              
                                 
                                    | 
                                       
                                    			
                                     Retention Time 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Conventional LDPC decoding 
                                    
                                    			
                                    (with fixed input RBER, applied proposed reprogramming scheme) 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Proposed 
                                    
                                    			
                                    LDPC decoding 
                                    
                                    			
                                    along with proposed reprogramming 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Comparison with conventional LDPC decoding 
                                    
                                    			
                                    without reprogramming 
                                    
                                    			
                                    (compared with best-case scenario) 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     $10^{-7}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-6}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-5}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-3}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-3}$ 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 week 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.004 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.002 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 month 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.012 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.006 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     2 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.01 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     3 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.119 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.06 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -33.34% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     6 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.488 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.488 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.488 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.488 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.486 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.486 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.973 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0.487 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -13.04% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     12 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     8.698 
                                    			
                                  | 
                                 
                                       
                                    			
                                     8.13 
                                    			
                                  | 
                                 
                                       
                                    			
                                     7.51 
                                    			
                                  | 
                                 
                                       
                                    			
                                     4.78 
                                    			
                                  | 
                                 
                                       
                                    			
                                     2.34 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.86 
                                    			
                                  | 
                                 
                                       
                                    			
                                     2.68 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.86 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -3.13% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     18 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.95 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.817 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.823 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.20 
                                    			
                                  | 
                                 
                                       
                                    			
                                     18.18 
                                    			
                                  | 
                                 
                                       
                                    			
                                     17.17 
                                    			
                                  | 
                                 
                                       
                                    			
                                     15.85 
                                    			
                                  | 
                                 
                                       
                                    			
                                     15.52 
                                    			
                                  | 
                                 
                                       
                                    			
                                     -22.09% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     24 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     fail 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.975 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.986 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.89 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.72 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19.51 
                                    			
                                  | 
                                 
                                       
                                    			
                                     18.85 
                                    			
                                  | 
                                 
                                       
                                    			
                                     18.81 
                                    			
                                  | 
                                 
                                       
                                    			
                                     - 
                                    			
                                  | 
                              
                           
                        
                     
                   
                  
                  
                  
               
               
                  
                  
                  
                  
                        
                        
Table 4. Comparison of number of successfully decoded codewords of typical LDPC decoding
                           (fixed input RBER) and proposed LDPC decoding with proposed reprogramming scheme
                        
                     
                     
                        
                        
                        
                              
                                 
                                    | 
                                       
                                    			
                                     Retention Time 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Conventional LDPC decoding 
                                    
                                    			
                                    (with fixed input RBER, applied proposed reprogramming scheme) 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Proposed 
                                    
                                    			
                                    LDPC decoding 
                                    
                                    			
                                    along with proposed reprogramming 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Comparison with conventional LDPC decoding without reprogramming 
                                    
                                    			
                                    (compared with best-case scenario) 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     $10^{-7}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-6}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-5}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-4}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $10^{-3}$ 
                                    			
                                  | 
                                 
                                       
                                    			
                                     $5$ × $10^{-3}$ 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 week 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     1 month 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     2 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     3 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     6 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     12 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     632 
                                    			
                                  | 
                                 
                                       
                                    			
                                     664 
                                    			
                                  | 
                                 
                                       
                                    			
                                     695 
                                    			
                                  | 
                                 
                                       
                                    			
                                     870 
                                    			
                                  | 
                                 
                                       
                                    			
                                     967 
                                    			
                                  | 
                                 
                                       
                                    			
                                     990 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1000 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     18 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     2 
                                    			
                                  | 
                                 
                                       
                                    			
                                     19 
                                    			
                                  | 
                                 
                                       
                                    			
                                     14 
                                    			
                                  | 
                                 
                                       
                                    			
                                     74 
                                    			
                                  | 
                                 
                                       
                                    			
                                     135 
                                    			
                                  | 
                                 
                                       
                                    			
                                     192 
                                    			
                                  | 
                                 
                                       
                                    			
                                     299 
                                    			
                                  | 
                                 
                                       
                                    			
                                     300 
                                    			
                                  | 
                                 
                                       
                                    			
                                     +6,000% 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     24 months 
                                    			
                                  | 
                                 
                                       
                                    			
                                     0 
                                    			
                                  | 
                                 
                                       
                                    			
                                     3 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1 
                                    			
                                  | 
                                 
                                       
                                    			
                                     15 
                                    			
                                  | 
                                 
                                       
                                    			
                                     23 
                                    			
                                  | 
                                 
                                       
                                    			
                                     38 
                                    			
                                  | 
                                 
                                       
                                    			
                                     98 
                                    			
                                  | 
                                 
                                       
                                    			
                                     100 
                                    			
                                  | 
                                 
                                       
                                    			
                                     - 
                                    			
                                  | 
                              
                           
                        
                     
                   
                  
                  
                  
               
               
                  Table 3 and 4 shows the average iteration and number of decoding-successful codewords of conventional
                  LDPC decoding and proposed LDPC decoding along with proposed reprogramming method.
                  Unlike Tables 1 and 2, Tables 3 and 4 show that codewords are still available to decode even after longer than 12 months
                  of retention time. It is because the proposed in-place reprogramming scheme corrected
                  the error (correctable retention error) in each codeword, thus the LDPC decoder can
                  recover the data through decoding. In Table 4, it can be seen that the proposed method successfully decoded the largest number
                  of codewords. Compared to best-case scenario of conventional LDPC decoding without
                  reprogramming (Table 2), the proposed in-place reprogramming method significantly enhanced the data reliability.
                  Additionally, Table 3 shows that the proposed schemes requires similar amount of iterations to decode the
                  codewords. Thus, it can be inferred that the proposed LDPC decoding and reprogramming
                  scheme can extend the reliable retention time and enhance the performance of LDPC
                  decoder without degrading reliability of stored data.
                  
               
               
                  It is observed from experimental results that the proposed LDPC decoding method along
                  with proposed reprogramming scheme can improve the correction ability of LDPC decoder
                  and reduce the average iteration up to 33%, which causes read latency, while maintaining
                  the robust correction ability. Also, the proposed in-place reprogramming scheme reduces
                  the number of errors by correcting the correctable retention errors in a codeword.
                  In general, most of block-code ECC fails decoding or causes miscorrection when the
                  codeword contains a large number of errors near its correction limit. However, proposed
                  reprogramming method reduces the error and helps LDPC decoder to easily decode the
                  codeword. As a result, the reliable retention time is extended by using proposed safe
                  in-place reprogramming scheme. 
                  
               
             
            
                  V. CONCLUSIONS
               
                  In this paper, we proposed a reliable system-level in-place reprogramming scheme and
                  a LDPC decoding scheme that uses the additional error information generated from system-level
                  reprogramming. With these schemes, (1)errors can be safely corrected at the system level without corrupting other data stored
                  in neighboring pages, and (2)the correction ability of the LDPC decoder is improved by utilizing additional uncorrected
                  error information generated after in-place reprogramming at system level. The simulation
                  results show that the proposed methods reduce the average iteration up to 33% compared
                  to conventional LDPC decoding, and reliable retention time of data is also extended
                  without degrading the performance.
                  
               
             
          
         
            
                  ACKNOWLEDGMENTS
               
                  This work was supported in part by the National Research Foundation of Korea Grant
                  through the Ministry of Education, Science and Technology under Grant (NRF-2017R1D1A1B03030821),
                  in part by the Ministry of Trade, Industry and Energy under Grant (10052875), and
                  in part by the Korea Semiconductor Research Consortium support program for the development
                  of future semiconductor device.
                  
               
             
            
                  
                     REFERENCES
                  
                     
                        
                        Cai Y., Haratsch E. F., Mutlu O., 2012, Error Patterns in MLC NAND Flash Memory: Measurement,
                           Characterization, and Analysis, in Proc. Design, Automation & Test in Europe Conference
                           & Exhibition (DATE)

 
                      
                     
                        
                        Gallager R. G., Jan 1962, Low-density Parity-check Codes, IRE Transactions on Information
                           Theory, Vol. it-8, No. 1, pp. 21-28

 
                      
                     
                        
                        MacKay D. J. C., Mar 1999, Good error-correcting codes based on very sparse matrices,
                           IEEE Transactions on Information Theory, Vol. 45, No. 2, pp. 399-431

 
                      
                     
                        
                        Berrou C., Glavieus A., Thitimajshima P., May 1993, Near Shannon limit error-correcting
                           coding and decoding: Turbo-codes, in Proc. Communications, 1993. ICC ’93 Geneva, Technical
                           Program, Conference Record, IEEE International Con-ference on, pp. 1064-1070

 
                      
                     
                        
                        Cho S., Kim D., Choi J., Ha J., Apr 2014, Block-Wise Concatenated BCH Codes for NAND
                           Flash Memories, IEEE Transactions on Communi-cations, Vol. 62, No. 4

 
                      
                     
                        
                        Cai Y., Yalcin G., O.Mutlu , Cristal A., Unsal O. S., Mai K., 2012, Flash Correct-and-Refresh:
                           Retention-Aware Error Management for Increased Flash Memory Lifetime, in Proc. Computer
                           Design (ICCD), 2012 IEEE 30th International Conference on

 
                      
                     
                        
                        Di Y., Shi L., Wu K., Xue C. J., 2016, Exploiting Process Variation for Retention
                           Induced Refresh Minimization on Flash Memory, in Proc. Design, Automation & Test in
                           Europe Conference & Exhibition (DATE)

 
                      
                     
                        
                        Dong G., Xie N., Zhang T., Feb 2011, On the Use of Soft-Decision Error-Correction
                           Codes in NAND Flash Memory, IEEE Transactions on Circuits and Systems-I: Regular Papers,
                           Vol. 58, No. 2

 
                      
                     
                        
                        Tanakamaru S., Yanagihara Y., Takeuchi K., Nov 2013, Error-Prediction LDPC and Error-Recovery
                           Schemes for Highly Reliable Solid-State Drives (SSDs), IEEE Journal of Solid-State
                           Circuits, Vol. 48, No. 11

 
                      
                     
                        
                        Johnson S. J., , Introducing Low-Density Parity-Check Codes, May 2010 [Online]. Available:
                           http://researchgate.net/publication/228977165_Introducing_Low-Density_Parity-Check_Codes

 
                      
                     
                        
                        Park H., Kim J., Choi J., Lee D., Noh S. H., 2015, Incremental Redundancy to Reduce
                           Data Retention Errors in Flash-based SSDs, in Proc. Mass Storage Systems and Technologies
                           (MSST), 2015 31st Symposium on

 
                      
                     
                        
                        Suh K.-D., Suh B.-H., Lim Y.-H., Kim J.-K., Choi Y.-J., Koh Y.-N., Lee S.-S., Kwon
                           S.-C., Choi B.-S., Yum J.-S., Choi J.-H., Kim J.-R, Lim H.-K., Nov 1995, A 3.3 V 32
                           Mb NAND Flash memory with Incremental Step Pulse Programming Scheme, IEEE Journal
                           of Solid-State Circuits, Vol. 30, No. 11, pp. 1149-1156

 
                      
                     
                        
                        Park K.-T., Song Y., Kang M., Lee S., Lim Y.-H., Suh K.-D., Chung C., Oct 2010, Dynamic
                           Vpass Controlled Program Scheme and Optimized Erase Vth Control for High Program Inhibition
                           in MLC NAND Flash Memories, IEEE Journal of Solid-State Circuits, Vol. 45, No. 10

 
                      
                     
                        
                        Samsung Electronics , Feb. 2007, Datasheet: K9XXG08UXM (Preliminary-Flash Memory),
                           [Online] Available:http://downloadsqi-hardwarecom/hardware/datasheets/qi_lb60/U9~K9GAG08U0M~~2GB-FINAL_NAND-NOT_ON_SOME_PROTOTYPES~~pdf

 
                      
                     
                        
                        Toshiba Electronics , Aug. 2012, TC58NVG0S3HTA00 Data sheet/English, [Online] Available:
                           https://toshibasemicon-storagecom/info/docget jsp?did=12571&prodName=TC58NVG0S3HTA00

 
                      
                     
                        
                        SK Hynix, Dec. 2009, 32GB NAND Flash H27UBG8T2A Data sheet (Rev 0.6), [Online] Available:
                           http://datasheetiiiccc/datasheets-0/sk_ hynix/H27UBG8T2ATR-BCpdf

 
                      
                     
                        
                        Micron , May. 2008, NAND Flash memory (MT29F16G08X, MT29F32G08X, MT29F64G08X) Features
                           (Rev. D), [Online] Available: http://www datasheetspdfcom/datasheet/downloadphp?id=720595

 
                      
                     
                        
                        Zhang M., Wu F., He X., Huang P., Wang S., Xie and C., 2016, REAL: A retention Error
                           Aware LDPC Decoding Scheme to Improve NAND Flash Read Performance, in Proc. Mass Storage
                           Systems and Technologies (MSST), 2016 32nd Symposium on

 
                      
                     
                        
                        Radford Neal , Feb. 2012, Software for Low Density Parity Check Codes, [Online] Available:
                           http://wwwcsutorontoca/~radford/ftp/LDPC-2012 -02-11/indexhtml

 
                      
                     
                        
                        Gupta A., Kim Y., Urgaonkar B., Mar 2009, DFTL: A Flash Translation Layer Employing
                           Demand-based Selective Caching of Page-level Address Mappings, in Proc. 14th International
                           Conference on Architectural Support for Programming Languages and Operating System,
                           ASPLOS 2009s

 
                      
                     
                        
                        Lee D., Shin M., Choi W., Roh H., Park S., Jan 2018, MV-FTL: An FTL That Provides
                           Page-Level Multi-Version Management, IEEE Transaction on Knowledge on Data Engineering,
                           Vol. 30, No. 1

 
                      
                     
                        
                        Xu M., Tan C., 2003, Extended Arrhenius Law of Time-to-breakdown of Ultrathin Gate
                           Oxides, Applied Physics Letters, Vol. 82

 
                      
                     
                        
                        Myung S., Yang K., Kim J., Aug 2005, Quasi-cyclic LDPC codes for fast encoding, IEEE
                           Transactions on Information Theory, Vol. 51, No. 8

 
                      
                     
                        
                        Zhang L., Huang Q., Lin S., Ghaffar K. A., Blake I. F., Nov 2010, Quasi-cyclic LDPC
                           codes : an algebraic construction, rank analysis, and codes on Latin squares, IEEE
                           Transactions on Communications, Vol. 58, No. 11

 
                      
                     
                        
                        Du Y., Zou D., Li Q., Shi L., Jin H., Xue C. J., 2017, LaLDPC: Latency-aware LDPC
                           for Read Performance Improvement of Solid-State Drives, in Proc. 33rd International
                           Conference on Massive Storage Systems and Technology (MSST 2017)

 
                      
                   
                
             
            Author
             
            
            
               Jinuk Kim received the B.S. in computer science and engineering from Hanyang University,
               South Korea in 2015.
               
            
            
               Since 2015 he has been working toward the combined M.S. and Ph.D. degree in computer
               science and engineering at the same university.
               
            
            
               His interests include design-for-testability (DFT), memory ECC, memory test, 3D-IC
               testing, aging monitoring, and low-power design.
               
            
             
            
             
               Jihun Jung received the B.S. and Ph.D. degrees in computer science and engineering
               from Hanyang University, Seoul, South Korea, in 2010 and 2017, respectively. 
               
            
            
               Since 2017, he has been with Teradyne, Boston, MA, USA, for system level testing.
               
               
            
            
               His current research interests include design for testability, memory test, memory
               ECC, 3-D-IC testing, on-line test, aging monitoring, and system level testing.
               
            
             
            
            
               Sungju Park received the BS degree in Electronic Engineering from Hanyang University,
               South Korea, in 1983. 
               
            
            
               He received the M.S. and Ph.D. degrees in Electrical and Computer Engineering from
               University of Massachusetts, United States, in 1988 and 1992, respectively.
               
            
            
               From 1983 to 1986, he was with the Gold Star Company in South Korea. From 1992 to
               1995, he served IBM Microelectronics, Endicott, NY as a Development Staff in-charge
               of boundary scan and LSSD scan design.
               
            
            
               Since then, he has been a Professor in the department of Computer Science and Engineering
               in Hanyang University, South Korea. 
               
            
            
               His research interests lie in the area of VLSI testing including scan design, built-in
               self-test, test pattern generation, fault simulation, and synthesis of test. 
               
            
            
               Additional interests include graph theory and design verification. Prof. Park is a
               member of the Institute of Electronics Engineers of Korea, the Korea Information Science
               Society, and the Institute of Electronics and Information and Communication Engineers.