/dev/cfi NOR flash driver

Marcel Moolenaar xcllnt at mac.com
Mon Feb 25 17:11:09 UTC 2008


On Feb 25, 2008, at 6:30 AM, Andrew Duane wrote:

> Havig worked on projects with both NOR and NAND before, there isn't  
> much
> value to be had in combining them. The operations and control flows  
> just
> aren't close enough to make it worthwhile.

I didn't mean to write a signle driver to handle both,
but rather a single infratsructure in which both live.

> Also, what were you referring to with "eraseblock" operation? The
> concept of eraseblocks is critical, as when a page is written, an  
> entire
> eraseblock needs to be "allocated" and updated. It can get tricky,
> knowing which sectors in an eraseblock are available, and when a new  
> one
> needs to be allocated.

The OOB/metadata is on a per-page level. You don't have
to erase a block just to write to a page when you know
it's erased already. In particular: you can always flip
a bit from 1 to 0. You need to erase to flip it from 0
to 1. That may be used to design an algorithm that uses
the page as the primary granularity, while doing the
erase on the block level. An algorithm like that would
probably bundle pages with equivalent write frequencies
in the same block...

In any case: I don't know of any algorithms so I don't
know if such an approach would be efficient at all. It
may be something that just isn't going to work well and
that you might as well use the block as the primary
granularity. At this time I just don't see a reason to
close the door on more advanced algorithms...

-- 
Marcel Moolenaar
xcllnt at mac.com




More information about the freebsd-embedded mailing list