Subject: Re: MTD devices in NetBSD
To: Charles M. Hannum <mycroft@MIT.EDU>
From: Terry Moore <tmm@mcci.com>
List: tech-kern
Date: 03/23/2006 18:45:30
At 06:06 PM 3/23/2006 -0500, Charles M. Hannum wrote:
>On Thu, Mar 23, 2006 at 11:52:18PM +0100, Jachym Holecek wrote:
> > Is there a good reason why the block remapper should be prevented from
> > only operating over a couple of flash device extents and leaving the
> > rest mapped 1:1 (in other words, have the bootloader partition 1:1 and
> > only block-remap the "/" partition)?
>
>Yes. There's no guarantee that any particular physical block on a NAND
>device is usable. Except, as I noted before, that most devices are
>guaranteed to have a good block 0. So if your "boot partition" happens
>to fit entirely in block 0, and you're not rewriting it too often,
>sure...
I agree with Charles.
FWIW, these guarantees on block 0 cost money (for high volume
products); additional test, sorting time, or possibly some extra
silicon area, etc., so the chips cost a little more to make, and
therefore normally cost a little more to put into a product. For
general-purpose applications, normally one would try to avoid
depending on any particular location. Instead one does what FFS (for
example) does, namely sprinkle header blocks across the media, which
reduces the probability of disaster to something much more tolerable.
As Charles points out, if you have a fixed bootloader that can't deal
with a flash abstraction layer, you have to depend on block zero, but
that's probably a 2005/2006/2007 kind of problem; the bootloaders are
probably going to have to get smarter.
--Terry