[Yaffs] why two mtd partitions display the same content?

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: qgd_8903@sina.com
Date:  
To: yaffs
Subject: [Yaffs] why two mtd partitions display the same content?
my question is that : i use 1GB mlc flash, when i write to mtd0, mtd1 often have the same contents (not every time), and then when i erase mtd1 ,the mtd0 may also be erased.

i don't know how this can happen, can anybody give me some help? thanks  very much!
 
the serial output is below :
Scanning device for bad blocks
Bad eraseblock 0 at 0x00000000
Bad eraseblock 1 at 0x00040000
Bad eraseblock 2 at 0x00080000
Bad eraseblock 3 at 0x000c0000
Bad eraseblock 4 at 0x00100000
Bad eraseblock 5 at 0x00140000
Bad eraseblock 6 at 0x00180000
Bad eraseblock 16 at 0x00400000
Bad eraseblock 24 at 0x00600000
Bad eraseblock 31 at 0x007c0000
Bad eraseblock 257 at 0x04040000
Bad eraseblock 311 at 0x04dc0000
Bad eraseblock 314 at 0x04e80000
Bad eraseblock 315 at 0x04ec0000
Bad eraseblock 316 at 0x04f00000
Bad eraseblock 317 at 0x04f40000
Bad eraseblock 512 at 0x08000000
Bad eraseblock 517 at 0x08140000
Bad eraseblock 1064 at 0x10a00000
Bad eraseblock 1978 at 0x1ee80000
Bad eraseblock 2004 at 0x1f500000
Bad eraseblock 2048 at 0x20000000
Bad eraseblock 2049 at 0x20040000
Bad eraseblock 2050 at 0x20080000
Bad eraseblock 2051 at 0x200c0000
Bad eraseblock 2052 at 0x20100000
Bad eraseblock 2053 at 0x20140000
Bad eraseblock 2054 at 0x20180000
Bad eraseblock 2064 at 0x20400000
Bad eraseblock 2072 at 0x20600000
Bad eraseblock 2079 at 0x207c0000
Bad eraseblock 2305 at 0x24040000
Bad eraseblock 2359 at 0x24dc0000
Bad eraseblock 2362 at 0x24e80000
Bad eraseblock 2363 at 0x24ec0000
Bad eraseblock 2364 at 0x24f00000
Bad eraseblock 2365 at 0x24f40000
Bad eraseblock 2560 at 0x28000000
Bad eraseblock 2565 at 0x28140000
Bad eraseblock 3112 at 0x30a00000
Bad eraseblock 4026 at 0x3ee80000
Bad eraseblock 4052 at 0x3f500000
Creating 2 MTD partitions on "NAND 1GiB 3,3V 8-bit":
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
      device=eth0, addr=192.168.60.118, mask=255.255.255.0, gw=255.255.255.255,
     host=192.168.60.118, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.60.127, rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.60.127
Looking up port of RPC 100005/1 on 192.168.60.127
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 0KiB freed (0xc0000000 - 0xc0000000)
mkswap: error: swap area needs to be at least 160kB
BusyBox v1.1.0 (2006.11.06-08:45+0000) multi-call binary
                                                                                                                             
Usage: mkswap [-c] [-v0|-v1] device [block-count]
                                                                                                                             
Prepare a disk partition to be used as a swap partition.
                                                                                                                             
Options:
        -c              Check for read-ability
        -v0             Make version 0 swap [max 128 Megs]
        -v1             Make version 1 swap [big!] (default for kernels >
                        2.1.117)
        block-count     Number of block to use (default is entire partition)
                                                                                                                             
                                                                                                                             
                                                                                                                             
BusyBox v1.1.0 (2006.11.06-08:45+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
# ./flash_eraseall /dev/mtd0
                                                                                                                             
Skipping bad block at 0x00000000
                                                                                                                             
Skipping bad block at 0x00040000
                                                                                                                             
Skipping bad block at 0x00080000
                                                                                                                             
Skipping bad block at 0x000c0000
                                                                                                                             
Skipping bad block at 0x00100000
                                                                                                                             
Skipping bad block at 0x00140000
                                                                                                                             
Skipping bad block at 0x00180000
Erasing 256 Kibyte @ 3c0000 --  2 % complete.
Skipping bad block at 0x00400000
Erasing 256 Kibyte @ 5c0000 --  4 % complete.
Skipping bad block at 0x00600000
Erasing 256 Kibyte @ 780000 --  5 % complete.
Skipping bad block at 0x007c0000
Erasing 256 Kibyte @ 4000000 -- 50 % complete.
Skipping bad block at 0x04040000
Erasing 256 Kibyte @ 4d80000 -- 60 % complete.
Skipping bad block at 0x04dc0000
Erasing 256 Kibyte @ 4e40000 -- 61 % complete.
Skipping bad block at 0x04e80000
                                                                                                                             
Skipping bad block at 0x04ec0000
                                                                                                                             
Skipping bad block at 0x04f00000
                                                                                                                             
Skipping bad block at 0x04f40000
Erasing 256 Kibyte @ 7fc0000 -- 99 % complete.
# ./flash_eraseall /dev/mtd1
Skipping bad block at 0x00000000
Erasing 256 Kibyte @ 100000 --  0 % complete.
Skipping bad block at 0x00140000
Erasing 256 Kibyte @ 89c0000 -- 15 % complete.
Skipping bad block at 0x08a00000
Erasing 256 Kibyte @ 16e40000 -- 40 % complete.
Skipping bad block at 0x16e80000
Erasing 256 Kibyte @ 174c0000 -- 41 % complete.
Skipping bad block at 0x17500000
Erasing 256 Kibyte @ 17fc0000 -- 42 % complete.
Skipping bad block at 0x18000000
                                                                                                                             
Skipping bad block at 0x18040000
                                                                                                                             
Skipping bad block at 0x18080000
                                                                                                                             
Skipping bad block at 0x180c0000
                                                                                                                             
Skipping bad block at 0x18100000
                                                                                                                             
Skipping bad block at 0x18140000
                                                                                                                             
Skipping bad block at 0x18180000
Erasing 256 Kibyte @ 183c0000 -- 43 % complete.
Skipping bad block at 0x18400000
Erasing 256 Kibyte @ 185c0000 -- 43 % complete.
Skipping bad block at 0x18600000
Erasing 256 Kibyte @ 18780000 -- 43 % complete.
Skipping bad block at 0x187c0000
Erasing 256 Kibyte @ 1c000000 -- 50 % complete.
Skipping bad block at 0x1c040000
Erasing 256 Kibyte @ 1cd80000 -- 51 % complete.
Skipping bad block at 0x1cdc0000
Erasing 256 Kibyte @ 1ce40000 -- 51 % complete.
Skipping bad block at 0x1ce80000
                                                                                                                             
Skipping bad block at 0x1cec0000
                                                                                                                             
Skipping bad block at 0x1cf00000
                                                                                                                             
Skipping bad block at 0x1cf40000
Erasing 256 Kibyte @ 1ffc0000 -- 57 % complete.
Skipping bad block at 0x20000000
Erasing 256 Kibyte @ 20100000 -- 57 % complete.
Skipping bad block at 0x20140000
Erasing 256 Kibyte @ 289c0000 -- 72 % complete.
Skipping bad block at 0x28a00000
Erasing 256 Kibyte @ 36e40000 -- 98 % complete.
Skipping bad block at 0x36e80000
Erasing 256 Kibyte @ 374c0000 -- 98 % complete.
Skipping bad block at 0x37500000
Erasing 256 Kibyte @ 37fc0000 -- 99 % complete.
# mount -t yaffs2 /dev/mtdblock0 /mnt/0
yaffs: dev is 7936 name is "1f:00"
yaffs: Attempting MTD mount on 31.0, "1f:00"
restore entry: isCheckpointed 0
ecc error=-1 colParity=0x22 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x24 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x2a lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x2c lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x28 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x6 lineParity=0x2 lineParityPrime=0xfffffff4
ecc error=1 colParity=0x29 lineParity=0x3 lineParityPrime=0xfffffffc
ecc error=-1 colParity=0x4 lineParity=0x1 lineParityPrime=0x0
ecc error=1 colParity=0x0 lineParity=0xa lineParityPrime=0xa
found no more checkpt blocks
checkpoint byte count 0
restore exit: isCheckpointed 0
block 1 is bad
block 2 is bad
block 3 is bad
block 4 is bad
block 5 is bad
block 6 is bad
block 7 is bad
block 17 is bad
block 25 is bad
block 32 is bad
block 258 is bad
block 312 is bad
block 315 is bad
block 316 is bad
block 317 is bad
block 318 is bad
# mount -t yaffs2 /dev/mtdblock1 /mnt/1
yaffs: dev is 7937 name is "1f:01"
yaffs: Attempting MTD mount on 31.1, "1f:01"
restore entry: isCheckpointed 0
ecc error=-1 colParity=0x22 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x24 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x2a lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x2c lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x28 lineParity=0x0 lineParityPrime=0x0
ecc error=-1 colParity=0x6 lineParity=0x2 lineParityPrime=0xfffffff4
ecc error=1 colParity=0x29 lineParity=0x3 lineParityPrime=0xfffffffc
ecc error=-1 colParity=0x4 lineParity=0x1 lineParityPrime=0x0
ecc error=1 colParity=0x0 lineParity=0xa lineParityPrime=0xa
found no more checkpt blocks
checkpoint byte count 0
restore exit: isCheckpointed 0
block 1 is bad
block 6 is bad
block 553 is bad
block 1467 is bad
block 1493 is bad
block 1537 is bad
block 1538 is bad
block 1539 is bad
block 1540 is bad
block 1541 is bad
block 1542 is bad
block 1543 is bad
block 1553 is bad
block 1561 is bad
block 1568 is bad
block 1794 is bad
block 1848 is bad
block 1851 is bad
block 1852 is bad
block 1853 is bad
block 1854 is bad
block 2049 is bad
block 2054 is bad
block 2601 is bad
block 3515 is bad
block 3541 is bad
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/mtdblock0          128.0M      8.0M    120.0M   6% /mnt/0
/dev/mtdblock1          896.0M     10.5M    885.5M   1% /mnt/1
# ls /mnt/0
lost+found
# ls /mnt/1
lost+found
# cd /mnt/0
# ls
lost+found
# cp /sys-root.tgz .
# ls
lost+found    sys-root.tgz
# umount /mnt/1
save entry: isCheckpointed 0
checkpt blocks available = 3553
checking blocks 0 to 3583
allocating checkpt block 1
checkpoint byte count 114920
save exit: isCheckpointed 1
# mount -t yaffs2 /dev/mtdblock1 /mnt/1
yaffs: dev is 7937 name is "1f:01"
yaffs: Attempting MTD mount on 31.1, "1f:01"
restore entry: isCheckpointed 0
found checkpt block 1
ecc error=-1 colParity=0x0 lineParity=0x2ffff lineParityPrime=0xfffd0000
checkpoint byte count 0
restore exit: isCheckpointed 0
block 1 is bad
block 6 is bad
block 553 is bad
block 1467 is bad
block 1493 is bad
block 1537 is bad
block 1538 is bad
block 1539 is bad
block 1540 is bad
block 1541 is bad
block 1542 is bad
block 1543 is bad
block 1553 is bad
block 1561 is bad
block 1568 is bad
block 1794 is bad
block 1848 is bad
block 1851 is bad
block 1852 is bad
block 1853 is bad
block 1854 is bad
block 2049 is bad
block 2054 is bad
block 2601 is bad
block 3515 is bad
block 3541 is bad
Freechunks verification failure 446977 447105 -128
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/mtdblock0          128.0M     23.8M    104.3M  19% /mnt/0
/dev/mtdblock1          896.0M     26.8M    869.3M   3% /mnt/1
# ls /mnt/1
lost+found    sys-root.tgz
# ls /mnt/0
lost+found    sys-root.tgz



-------------------------------------------------------------------
快来参加博狂终级PK,IPod Nano等你来拿!( http://d1.sina.com.cn/sina/limeng3/mail_zhuiyu/2007/mail_zhuiyu_20070918.html )

===================================================================
注册新浪2G免费邮箱(http://mail.sina.com.cn/