AnsweredAssumed Answered

JFFS2 doesn't use OOB on I.MX53

Question asked by Mariano Dominguez on Oct 28, 2016
Latest reply on Nov 7, 2016 by Mariano Dominguez

Hi,

I'm using Connect Core IMX53 board with Kernel version 2.6.35.14 and Yocto 1.4 OS.

I have a random problem when writing operations are done over the Nand Flash: for instance when I insert rows into the database (the file grows) or when I copy new files to the jffs2 partition. Sometimes I got an input/output error and after that I won't be able to recovery the file neither if I try to remove or if a try to copy a new file which override the one who has problem.

Below you can see the logs:
When I insert "ls" command, the terminal throw:
'./res' input/output error   ("res" is the folders name)
And if I check the Kernel log:
jffs2_scan_inode_node(): CRC failed on node at 0x0df497c0: Read 0xffffffff, calculated 0x33b7fc9f
JFFS2 error: (1) jffs2_build_inode_pass1: child dir "res" (ino #9334) of dir ino #9333 appears to be a hard link
JFFS2 warning: (973) jffs2_get_inode_nodes: Eep. No valid nodes for ino #9334.
JFFS2 warning: (973) jffs2_do_read_inode_internal: no data nodes found for ino #9334
iget() failed for ino #9334
JFFS2 notice: (746) check_node_data: wrong data CRC in data node at 0x0df47474: read 0xfbf9abb7, calculated 0xbf64ad10.
JFFS2 warning: (1016) jffs2_get_inode_nodes: Eep. No valid nodes for ino #9334.
JFFS2 warning: (1016) jffs2_do_read_inode_internal: no data nodes found for ino #9334

 

Also I checked in U-boot if exist any bad blocks and it doesn't.

I was researching how a Nand flash works and I found that it has an Out-of-Band (OOB) area that contains an Error-Correcting-Code (ECC) algorithm. This ECC is used to check and fix any possible writing error.

So, when I was checking if that feature is enabled in my board I found in the kernel log the message:

 

user.warn kernel: Memory policy: ECC disabled, Data cache writeback

user.info kernel: JFFS2 doesn't use OOB.

 

 

I want to know if my hypothesis is correct and how can i enable and use the ECC and OOB?

 

Thanks

Outcomes