* Re: ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440
2007-05-15 0:30 ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440 Harald Welte
@ 2007-05-15 5:37 ` Ben Dooks
2007-05-15 7:04 ` David Woodhouse
2007-05-15 8:39 ` Charles Manning
2 siblings, 0 replies; 4+ messages in thread
From: Ben Dooks @ 2007-05-15 5:37 UTC (permalink / raw)
To: Harald Welte; +Cc: linux-mtd
On Tue, May 15, 2007 at 08:30:40AM +0800, Harald Welte wrote:
> Hi!
>
> On openmoko's future mobile communications devices, we're using 2048
> byte page sized NAND chips (x8 organization such as K9F8G08U0A).
>
> However, it seems to me that the ECC support for 2048byte page sized
> NAND chips is not really implemented yet, neither by the NAND core, nor
> by the S3C2440 NAND driver.
>
> As far as I understand it (I haven't worked with 2k page before), the
> 2440 NAND controller can generate a 4-byte ECC for each 2048byte page (8
> bytes in case of x16 organization, this seems somehow strange).
>
> In addition to ECC on the actual main data area, it also supports ECC on
> the OOB data, too. I haven't found any piece of code in any other NAND
> driver in the kernel that uses this feature.
>
> Also, I don't see something like a standard ECC layout for the 2048byte
> page deivces. Is there one?
>
> I can certainly spend my time hacking up some working code. The
> quesetion is if there is already some thought by one of the people
> involved for some longer time with linux-mtd and/or the s3c2440.
>
> So if you have implementation thoughts / wishes / guidelines: THis is
> the time to raise them, before I just doo what I deem appropriate ;)
Hi. we're in the process of upgrading to large page nand ourselves,
expect patches released before the end of the week, we're just doing
QA on our patchset and updating our release tool.
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440
2007-05-15 0:30 ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440 Harald Welte
2007-05-15 5:37 ` Ben Dooks
@ 2007-05-15 7:04 ` David Woodhouse
2007-05-15 8:39 ` Charles Manning
2 siblings, 0 replies; 4+ messages in thread
From: David Woodhouse @ 2007-05-15 7:04 UTC (permalink / raw)
To: Harald Welte; +Cc: linux-mtd, Ben Dooks
On Tue, 2007-05-15 at 08:30 +0800, Harald Welte wrote:
> Hi!
>
> On openmoko's future mobile communications devices, we're using 2048
> byte page sized NAND chips (x8 organization such as K9F8G08U0A).
> of
> However, it seems to me that the ECC support for 2048byte page sized
> NAND chips is not really implemented yet, neither by the NAND core, nor
> by the S3C2440 NAND driver.
The NAND core shouldn't be a problem -- in development of both the
CS553x and CAFÉ drivers for OLPC, we've used software ECC to start with,
then later switched over to hardware ECC support.
> As far as I understand it (I haven't worked with 2k page before), the
> 2440 NAND controller can generate a 4-byte ECC for each 2048byte page (8
> bytes in case of x16 organization, this seems somehow strange).
>
> In addition to ECC on the actual main data area, it also supports ECC on
> the OOB data, too. I haven't found any piece of code in any other NAND
> driver in the kernel that uses this feature.
Right. We haven't used ECC in the spare area. JFFS2 doesn't really need
it, although I _suppose_ we could use it for the cleanmarker.
Maybe there's something to be said for using it on the BBT too.
> Also, I don't see something like a standard ECC layout for the 2048byte
> page deivces. Is there one?
Basically, no.
> I can certainly spend my time hacking up some working code. The
> quesetion is if there is already some thought by one of the people
> involved for some longer time with linux-mtd and/or the s3c2440.
Well, since I just got my Neo1973 working I need to make a ppc->arm
cross-toolchain anyway. I suppose I could try it with one of the 512MiB
or 1GiB chips I have lying around.
Probably better just to see what Ben comes up with :)
--
dwmw2
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440
2007-05-15 0:30 ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440 Harald Welte
2007-05-15 5:37 ` Ben Dooks
2007-05-15 7:04 ` David Woodhouse
@ 2007-05-15 8:39 ` Charles Manning
2 siblings, 0 replies; 4+ messages in thread
From: Charles Manning @ 2007-05-15 8:39 UTC (permalink / raw)
To: linux-mtd; +Cc: Harald Welte, Ben Dooks
On Tuesday 15 May 2007 12:30, Harald Welte wrote:
> Hi!
>
> On openmoko's future mobile communications devices, we're using 2048
> byte page sized NAND chips (x8 organization such as K9F8G08U0A).
>
> However, it seems to me that the ECC support for 2048byte page sized
> NAND chips is not really implemented yet, neither by the NAND core, nor
> by the S3C2440 NAND driver.
>
> As far as I understand it (I haven't worked with 2k page before), the
> 2440 NAND controller can generate a 4-byte ECC for each 2048byte page (8
> bytes in case of x16 organization, this seems somehow strange).
>
> In addition to ECC on the actual main data area, it also supports ECC on
> the OOB data, too. I haven't found any piece of code in any other NAND
> driver in the kernel that uses this feature.
You could use that if you use yaffs with the tags stored in oob, but most of
the time yaffs_ecc.c is used to do an ECC on tags calculation.
Using yaffs_ecc.c to do ECC on a few bytes is very low cost.
>
> Also, I don't see something like a standard ECC layout for the 2048byte
> page deivces. Is there one?
I don't believe there is really such a thing as a standard, except for the
standards that ONFI are driving for. Scratch around on www.onfi.org.
>
> I can certainly spend my time hacking up some working code. The
> quesetion is if there is already some thought by one of the people
> involved for some longer time with linux-mtd and/or the s3c2440.
>
> So if you have implementation thoughts / wishes / guidelines: THis is
> the time to raise them, before I just doo what I deem appropriate ;)
>
> Cheers,
^ permalink raw reply [flat|nested] 4+ messages in thread