UBIFS Corrupt during power failure

Urs Muff urs_muff at trimble.com
Fri Jul 3 10:47:40 EDT 2009


I can't find the data-sheet reference to that, but I would not characterize it as 'erasing from the end'.

As far as I understand it is a 2 phase process, and you can lose power at any point so you can see a partial phase I or a partial phase II state.
- phase I: set all data to 00: a partial picture would be to see 00 at the beginning and random at the end of the block
- phase II: set all data to FF: a partial picture would be to see FF at the beginning and 00 at the end of the block

From looking at your dumps, it appears that you got interrupted during phase II.  I'm not sure why you still have the header, but that might be b/c the block has been reclaimed / reinitialized (I'm not familiar with the actual code, but it appears that way from the dump).

URS C. MUFF
FIRMWARE ENGINEER
CONSTRUCTION SERVICES, TRIMBLE, WESTMINSTER, CO
OFFICE: 720-587-4683


> -----Original Message-----
> From: Artem Bityutskiy [mailto:dedekind at infradead.org]
> Sent: Friday, July 03, 2009 8:06 AM
> To: Urs Muff
> Cc: Eric Holmberg; Stefan Roese; Adrian Hunter; linux-
> mtd at lists.infradead.org
> Subject: RE: UBIFS Corrupt during power failure
> 
> On Fri, 2009-07-03 at 07:33 -0600, Urs Muff wrote:
> > Trimble is closed until 7/13 and Eric is already gone.
> > I'm not a flash expert at all, and only know things from passing,
> > but from what I have heard, NOR flash does physical erasing quite
> > different from NAND flash, by togging everything to 00, and then
> > to FF.  So what you are seeing is absolutely explainable with what
> > I understand.
> 
> Hmm, I'll try to google. But if this is true, I do not understand
> how JFFS2 may work on NOR...
> 
> I wonder if it is possible to ask NOR to erase from the beginning,
> not from the end, which should help.
> 
> --
> Best regards,
> Artem Bityutskiy (Битюцкий Артём)



More information about the linux-mtd mailing list