* ECC on 2048 byte page size 8-bit NAND on Samsung S3C2440
@ 2007-05-15 0:30 Harald Welte
2007-05-15 5:37 ` Ben Dooks
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Harald Welte @ 2007-05-15 0:30 UTC (permalink / raw)
To: linux-mtd; +Cc: Ben Dooks
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 ;)
Cheers,
--
- Harald Welte <laforge@openmoko.org> http://openmoko.org/
============================================================================
Software for the world's first truly open Free Software mobile phone
^ 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: 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
end of thread, other threads:[~2007-05-15 8:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox