Read data error check

Data error occurs in NAND Flash Memory (NAND) due to various factors.

  • Read Distrub
    •    Pages other than those read in the block are damaged, resulting in garbled bits.
  • Data Retantion
    •    If it is not accessed for a long time, the electric charge is lost and bits are garbled.
  • Power off
    •    If the power is interrupted during access, the NAND state becomes unstable and data error occurs.
      Of course, there are cases where the correct data was not recorded due to a problem during programming.

An example of inspection using Script is shown below.

Identifying Anomalies

SigNAS3 has a script command that dumps the read data as it is or compares it with the specified pattern to identify abnormal points.

【Script example】

  1. BKERAS 0 0000
  2. VSET04 1 0000
  3. REPEAT 0000005 0000006
  4. PGPROG 0 0000 $V04_01$ INCRMT 03020100 04040404
  5. PGREAD 0 0000 $V04_01$
  6. PGDUMP 0 0400
  7. PGRDCP 0 0000 $V04_01$ 0400 INCRMT 03020100 04040403
    (Intentionally set different values because they cause data discrepancies)
  8. VADD04 1 0001 

PGRDCP command

For the comparison length, specify the number of data in 4-byte units with 4 hexadecimal digits.

For example, if 0400 is specified, 1024 pieces of 4-byte unit data, that is, 4096-byte data are compared.

【Result

Dump File

 LineCntChannelChipBlockPageWordNoDump
310000003020100
310000107060504
31000020B0A0908
31000030F0E0D0C
310000413121110
310000517161514

【Commentary

In this example, the data according to the preset pattern is programmed and read.

Compare File

 LineCntChannelChipBlockPageWordNoComp
310000100000007
31000020000000E
310000300000005
31000040000001C
31000050000001B

【Commentary】

Save the mismatch location and the comparison result (XOR value, mismatch bit is represented by 1) in Compare File.

Word 0 : In this example, there are no unmatched bits, so they are not recorded in the Compare File.

Word 1 : 7, which is the XOR of comparison data 3 and lowest data 4 of read data, is recorded.

Word 2 : E, which is the XOR of comparison data 6 and lowest data 8 of read data, is recorded.

Error count analysis for each ECC block

There is also a function to analyze the number of errors for each ECC block based on the ECC Code length.

【Example】

Evaluation of NAND with the following specifications

Block Size: 1152page

Page Size: 18592byte

ECC Code Length: 1162byte

∴Number of ECC blocks per page = 18592byte/1162byte = 16

【Script example

Evaluation of blocks that were damaged and bit garbled after recorded Random data (seed: 456789AB).

PGRDEC command

Reads the specified page, compares with the specified pattern, and counts the number of errors.

When ECCANA is set to 1, the error count results (number of bit errors per ECC block) are saved in the Error Count File.

  1. ECCANA 1
  2. VSET04 1 0000
  3. PGRDEC 0 0000 0000 RDMOVL 456789AB
  4. REPEAT 0000002 0000003
  5. PGRDEC 0 0000 $V04_01$ RDMOVL 
  6. VADD04 1 0001

※ RDMOVL is a command to read and compare pages in a block programmed with the RDMOVL pattern.

Please note that the usage is different from other patterns as shown below.

PGRDEC 0 0000 0000 RDMOVL 456789AB(Initialize only, do not read or compare)

PGRDEC 0 0000 0000 RDMOVL(Page 0 Reads and Compare)

 Error Count file 

ChannelCEBlockPageBitErrorECBK0ECBK1ECBK2ECBK3ECBK4ECBK5ECBK6ECBK7ECBK8ECBK9ECBK10ECBK11ECBK12ECBK13ECBK14ECBK15
2001062483202553642122452
2001066442101524412215491

BKRDEC command

Read all pages of the specified block, compares with the specified pattern, and counts the number of errors.

When ECCANA is set to 1, the error count result (histogram of bit error count in ECC block) are saved in Error Count File.

255 results are saved in order of the number of ECC blocks with 0-bit error, the number of ECC blocks with 1-bit error, the number of ECC blocks with 253-bit error, and the number of ECC blocks with 254-bit or more error.

Script

ECCANA 1

BKRDEC 0 $V04_00$ RDMOVL 456789AB

 Error Count file

SigNAS3 has some error analysis functions in the GUI, so please use them according to your purpose.

Please refer to the Operation Manual for details.