mtd filesystem across different sector sizes in the same part

Cam Mayor cmayor at iders.ca
Mon Oct 6 16:45:45 EDT 2003


On Monday 06 October 2003 14:36, David Woodhouse wrote:
> On Mon, 2003-10-06 at 14:33 -0500, Cam Mayor wrote:
> > In my flash part (intel 28f320c3) there are 8 x 8kB blocks and 63 x 64 kB
> > blocks.  I believe that [1] MTD can span the two block sizes effectively
> > for it to be recognized as a single MTD device.  JFFS2, IIRC, uses 5
> > flash blocks for flash filesystem overhead.  Do those blocks have to be
> > any specific size relative to the rest of the filesystem blocks?  Will it
> > use the first five blocks, or does it move around for wear levelling? 
> > Will JFFS2 get confused by different block sizes, or is that already
> > handled in the MTD layer?
>
> JFFS2 will use the 'major' erase size, and treat your 8 * 8KiB blocks as
> a single 64KiB block.

In my particular usage, the first two (of eight) "small" blocks are used by 
the bootloader, leaving a free area of 6 x 8kiB blocks + 6 x 64 kiB blocks.   
Just now i tried specifying this oddly shaped area on the kernel command 
line, with the result:
	mtd: partition "free" doesn't start on an erase block boundary -- force 
read-only

So, it sounds like JFFS2 won't handle this specific situation, as mtd itself 
is unwilling to deal with it.  (the partition "free" does start on an erase 
block boundary - but it is one of the smaller block boundaries, not the major 
erase size)

I don't have a multi-flash system, so i can't test this, but i wonder how 
this would work for a system concatenated across two flash chips with 
different erase block sizes where the numbers don't allow them to align 
nicely.

Here's another thing i just thought of but haven't noticed in my mtd research 
in the past (and couldn't see anything relevant in Configure.help): is there 
a way to get two non-continuous mtd partitions to host a jffs2 filesystem?  
eg. 
mtd5: 00400000 00020000 "userarea1"
mtd6: 00400000 00020000 "something_else"
mtd7: 00400000 00020000 "userarea2"
is there a way to use the disjoint mtd5+mtd7 together to host a continuous 
filesystem?

thanks for the info.

-- 
Cameron Mayor
Iders Incorporated



More information about the linux-mtd mailing list