nandwrite and contiguous space
Hello.
I am looking for a NAND flasher that supports searching for the contiguous region of good blocks (within a specified range), and flashes an image to it. It seems nandwrite - the default linux flasher - can only skip bad blocks, but the scenario I need, doesn't seem to be supported.
Is there any other flasher that does support this?
Or maybe some trick with nandwrite exists?
If not, how difficult is it to implement such a capability into nandwrite?
Quoted 6 lines · Stas Sergeev
I am looking for a NAND flasher that supports searching for the contiguous region of good blocks (within a specified range), and flashes an image to it. It seems nandwrite - the default linux flasher - can only skip bad blocks, but the scenario I need, doesn't seem to be supported.
Isn't the point that the set of good blocks keeps changing over time? What might be good now, may be bad a second later or next year, doesn't matter as long as it won't stay good forever.
Quoted 4 lines
Is there any other flasher that does support this?
Or maybe some trick with nandwrite exists?
If not, how difficult is it to implement such a capability into nandwrite?
If you want a sequence of good blocks, this very much sounds like the LEBs which UBI provides. Aren't you asking for an UBI volume? What am I missing?
virtually yours
Gerhard Sittig
Signature · 3 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [email protected]
01.04.2014 22:23, Gerhard Sittig пишет:
Quoted 9 lines · Stas Sergeev
Quoted 5 lines
I am looking for a NAND flasher that supports searching for the contiguous region of good blocks (within a specified range), and flashes an image to it. It seems nandwrite - the default linux flasher - can only skip bad blocks, but the scenario I need, doesn't seem to be supported.
Isn't the point that the set of good blocks keeps changing over time? What might be good now, may be bad a second later or next year, doesn't matter as long as it won't stay good forever.
Hi, I think the point is that if they are no longer ever written, they won't change its goodness...
Anyway, this is how the ST soc chips work.
They search NAND for a specific signature, and once found, they map the contiguous block, starting from that signature, to memory, which allows to run u-boot in a nor-alike fashion. They do not do BBT lookups when mapping, AFAIK, and so such a requirement for flasher does exist.
Quoted 7 lines
Quoted 4 lines
Is there any other flasher that does support this?
Or maybe some trick with nandwrite exists?
If not, how difficult is it to implement such a capability into nandwrite?If you want a sequence of good blocks, this very much sounds like the LEBs which UBI provides. Aren't you asking for an UBI volume? What am I missing?
Unfortunately, I don't think the aforementioned ST chips can boot from UBI. Once booted, I want UBI for sure. But the only alternative to the aforementioned requirement would be to assume that 2 first blocks are good, and fit u-boot there, and it they are bad - throw away such a nand. I am considering this too, but I wonder how many nands will be wasted this way... Likely none, but who knows. :)
01.04.2014 22:23, Gerhard Sittig пишет:
Quoted 3 lines
If you want a sequence of good blocks, this very much sounds like the LEBs which UBI provides. Aren't you asking for an UBI volume? What am I missing?
Is is possible to configure ubi leb size to be multiple physically contiguous eraseblocks? With some googling it seems not, or what am I missing?
Quoted 10 lines · Stas Sergeev
01.04.2014 22:23, Gerhard Sittig пишет:
Quoted 5 lines
If you want a sequence of good blocks, this very much sounds like
the LEBs which UBI provides. Aren't you asking for an UBI volume? What am I missing?
Is is possible to configure ubi leb size to be multiple physically contiguous eraseblocks? With some googling it seems not, or what am I missing?
No, this is not possible.
Signature · 2 lines
Thanks, //richard
05.04.2014 02:00, Richard Weinberger пишет:
Quoted 10 lines · Stas Sergeev
Quoted 8 lines
01.04.2014 22:23, Gerhard Sittig пишет:
Quoted 4 lines
If you want a sequence of good blocks, this very much sounds like
the LEBs which UBI provides. Aren't you asking for an UBI volume? What am I missing?
Is is possible to configure ubi leb size to be multiple physically contiguous eraseblocks? With some googling it seems not, or what am I missing?
No, this is not possible.
OK so I patched nandwrite.
The patch is attached only for the preliminary review or if someone wants to help me with testing this. The problem is that I don't know how to even test it. What tool should I use to mark blocks as bad, test the patch, and then unmark the blocks back to good?