DOC filesystem questions
Chuck Meade
chuckmeade at mindspring.com
Fri Sep 19 18:27:58 EDT 2003
> On Thu, 2003-08-07 at 17:56, Chuck Meade wrote:
> > David Woodhouse wrote:
> >
> > > We _must_ retain the bad block table which was on the device when it
> > > arrived from the factory.
> >
> > OK I see. Would it be valuable then to have a Linux command-line
> > utility which captures the BBT before calling nftl_format, then
> > is used to restore the BBT after calling nftl_format but before
> > nftl tries to mount any partitions (via 'insmod nftl' or whatever)?
>
> ... or which writes it back as _part_ of the nftl_format process,
> perhaps?
>
> Yes, it would be extremely useful to do this.
I have been working on the utilities to do this. It is working on my
DOC Millennium device that is soldered to the target board. I now
have a requirement to do the same with a DIMM DOC device.
The device has the following markings:
MD-2220-D16-V3
DiskOnChip B-1.21
DIMM (serial number follows)
This device is identified as a DOC 2000 at bootup, while my other one is
identified as a DOC Millennium.
I am starting out saving and restoring the bad block table from the command
line using dd. Since the bad block table is to be saved before the
nftl_format, and restored afterwards, I thought it would be handy to do
it with a shell script that uses dd.
This approach is working on the DOC Millennium device. It is not working,
however, on my DOC 2000 device. I get:
Read of bad sector table failed (err -5)
when I boot after restoring the bad block table via dd.
The -5 is an EIO being returned because it is unhappy with the ECC
that is read out. I modified doc2000.c to print out the ECC codes that
are being written in doc_write_ecc, and read in doc_read_ecc. They
do not match at all.
Is there a known problem with ECC reading/writing with DOC 2000
devices, or a subset of DOC 2000 devices?
Thanks very much,
Chuck Meade
More information about the linux-mtd
mailing list