Tiny6410 UBI error after restart

Jaybee
Hello,
I have a problem with recent Tiny6410 modules. After flashing root
filesystem using bootable SD card, everything seems to be ok - reading and
writing the filesystem. After restart, there is just lot of UBI error
messages and kernel panic.

Example error message:
UBI error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from
PEB 345:0, read 64 bytes

One year old Tiny6410 modules are working correctly, without any problem
with the same kernel and root file system.

Where can be a problem?

Thank you

Juergen
Maybe the NAND memory device is different in your old and recent modules?

Jaybee
Yes, they are different. One is 42nm technology and other one is 21nm
technology. Everything other should be same.

Old module has K9K8G08U0D
New module has K9K8G08U0E

Problem is, that it is official Tiny6410 module running official stock FA
kernel (already flashed on the module) and it does not work anymore with
UBI and it should.

Any ideas? Currently, it is not an option for us to switch to YAFFS2.

Juergen
Compare the so called "sub-page writes" feature of both NANDs. Older NANDs
support it, newer not. The software (e.g. driver) must be adapted to honor
that.

Jaybee
I have compared all parameters of both NANDs. There are only few different
things

Old K9K8G08U0D
 Process: 42nm
 Program/erase cycles: 100k
 Block Erase Time: 2ms
 Page Program time: 250us
 Random Read: 25us

New K9K8G08U0E
 Process: 21nm
 Program/erase cycles: unknown
 Block Erase Time: 4.5ms
 Page Program time: 400us
 Random Read: 40us

All other parameters like erase block size, page size, subpage size are
same (according to datasheets).

Juergen
Maybe this will help you:

http://www.phytec.de/fileadmin/user_upload/pictures/Support/LPN-134e_1.pdf

Jaybee
Thank you for this document. I didn't find it.

Only one significant difference is also ID, but in Linux kernel, only first
two bytes are used

First one is manufacture

#define NAND_MFR_SAMSUNG        0xec

Second one is NAND type

{"NAND 1GiB 3,3V 8-bit",  0xD3, 0, 1024, 0, LP_OPTIONS},

Other 3 bytes are ignored.

Jaybee
Still don't know what is wrong.

Can anybody reproduce this problem?

Juergen
The significant change is the "Number of Partial Program cycles" which must
handled by UBI and/or MTD layer and/or NAND driver.

Juergen
Sounds like your problem:

http://oselas.community.pengutronix.narkive.com/RRe7tqur/problem-with-ne...

But I still have no solution.

Juergen
Maybe this will help you: https://community.freescale.com/thread/319855

Jaybee
Ahg, I see, the "Number of Partial Program cycles" is the problem.

Thank you very much! and thank you for links to further reading.


I still have a problem while creating the image using mkfs.ubifs and
ubinize. A can create bootable image only using fa's mkubimage-slc, but I
can't reproduce it using standard commands.