cannot access NAND STL partition

Iram Shahzad iram.shahzad at jp.fujitsu.com
Fri Feb 6 06:07:07 EST 2009


> I assume BML = Block Management Layer and STL = Sector Transition Layer?
> From an MTD and JFFS2 point of view the terminology sounds slightly odd, 
> exactly what type of file system are you using and exactly what type of 
> BML and STL are you referring to?

To simplify the problem, I have kept filesystem out of the discussion.
I am talking about raw read/write. In other words, I am reading the
NAND in the following two ways and then checking whether the read
data is expected data or not:

   From u-boot:
      onenand read 0x50000000 0x0c500000 0x20000

   From Linux:
     hexdump -C /dev/mtdblock0

Both ways I see the same data.

If I write the flash from u-boot or Linux using "onenand write", "dd" etc,
I can read the expected data in the above ways.

The problem starts when I write the flash with the flash writer.
The flash writer can write either in BML or STL details of which
I don't know. I guess the words refer to Block Management Layer and
Sector Translation Layer.

I also guess that when writing in BML, it writes raw data, so when read
from u-boot/Linux, the data is as expected; but when writing in STL,
it does some kind of translation for wear leveling etc. So I thought if
there is a similar kind of translation layer in Linux, then I can put it
on top of the raw Linux onenand driver to get the expected result.

Many thanks for the reply.

Best regards
Iram





More information about the linux-mtd mailing list