ts-7000
[Top] [All Lists]

[ts-7000] Re: TS-7260 yaffs2/NAND problem

To:
Subject: [ts-7000] Re: TS-7260 yaffs2/NAND problem
From: "j.chitte" <>
Date: Thu, 23 Apr 2009 08:14:10 -0000
--- In  "Richard Williams" <> wrote:
>
> Hi,
> 
> I have been using a particular TS-7260 (NAND-2k) successfully for a few
> months but now the NAND appears to be faulty. I have been careful in my
> design to limit writes to the internal flash and use tmpfs and an
> external USB flash drive for files that are written often.
> 
> Could this be a hardware fault? What can I try to find out more?
> 
> 
> 
> df shows the yaffs partition is only 21% full
> 
> 
> # echo hello > /hello
> -sh: cannot create /hello: Cannot allocate memory
> 
> 
> I went looking for files that that are less than one day old to see if
> any files were unexpectly being updated and only found this one which
> seems to be updated on each boot.
> 
> # find / -mtime -1 | grep -v "/proc" | grep -v "/dev" | grep -v "/tmp"
> /etc/ioctl.save
> 
> 
> 
> The log shows all blocks 814-1000 are unusable and some 39-104 unusable.

That would seem to correspond to the 21% usage you noted assuming yaffs is 
reporting % of total size.

The question is whether these retired blocks are really fautly or whether some 
bug or electrical defect has caused them to be marked as bad.

How old is this board and what root fs is it running? Is it still on factory TS 
linux and kernel?

How much use did it get before you set up everything is tmpfs?



> 
> 
> Apr 23 00:10:46 (none) user.warn kernel: **>> Block 814 retired
> Apr 23 00:10:46 (none) user.warn kernel: **>> Block 815 needs retiring
> ...
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 999 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 999 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 1000 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 1000 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 39 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 39 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 40 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 40 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 41 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 41 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 49 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 49 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 50 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 50 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 51 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 51 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 55 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 55 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 57 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 57 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 58 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 58 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 59 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 59 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 63 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 63 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 64 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 64 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 65 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 65 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 68 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 68 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 71 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 71 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 72 needs retiring
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 72 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> yaffs write required 696
> attempts
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 7
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 7 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 66
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 66 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 94
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 94 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 96
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 96 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no space during
> cache write
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 97
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 97 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 98
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 98 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 99
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 99 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 100
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 100 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no space during
> cache write
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 101
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 101 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 102
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 102 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 103
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 103 retired
> Apr 23 00:10:47 (none) user.warn kernel: **>> Erasure failed 104
> Apr 23 00:10:47 (none) user.warn kernel: **>> Block 104 retired
> Apr 23 00:10:47 (none) user.warn kernel: yaffs tragedy: no more eraased
> blocks
> Apr 23 00:10:47 (none) user.warn kernel: !!!!!!!!! Allocator out
> !!!!!!!!!!!!!!!!!
>




------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU