* OOB questions
@ 2008-10-06 18:40 Curt Scott
0 siblings, 0 replies; 6+ messages in thread
From: Curt Scott @ 2008-10-06 18:40 UTC (permalink / raw)
To: linux-mtd
Hi,
I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
My NAND hardware controller performs all the ECC control
under-the-hood. Although is has OOB bytes available there are some
limitaitions...
L1.) Page data and OOB data must be written at the same time.
L2.) OOB data is limited to 16 bytes / page (of a 2k page).
I have some questions about the OOB requirements for MTD/JFFS2 combo.
Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
Or can the system be set up operate with no OOB available?
Q2.) Is it a requirement for OOB and non-OOB writes to happen independently?
thank you for you help,
Curt
^ permalink raw reply [flat|nested] 6+ messages in thread
* OOB questions
@ 2008-10-06 18:41 Curt Scott
2008-10-07 4:04 ` Jason Liu
2008-10-07 4:11 ` Ravi Vasarla
0 siblings, 2 replies; 6+ messages in thread
From: Curt Scott @ 2008-10-06 18:41 UTC (permalink / raw)
To: linux-mtd
Hi,
I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
My NAND hardware controller performs all the ECC control
under-the-hood. Although is has OOB bytes available there are some
limitaitions...
L1.) Page data and OOB data must be written at the same time.
L2.) OOB data is limited to 16 bytes / page (of a 2k page).
I have some questions about the OOB requirements for MTD/JFFS2 combo.
Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
Or can the system be set up operate with no OOB available?
Q2.) Is it a requirement for OOB and non-OOB writes to happen independently?
thank you for you help,
Curt
^ permalink raw reply [flat|nested] 6+ messages in thread
* OOB questions
@ 2008-10-06 19:03 Curt Scott
0 siblings, 0 replies; 6+ messages in thread
From: Curt Scott @ 2008-10-06 19:03 UTC (permalink / raw)
To: linux-mtd
Hi,
I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
My NAND hardware controller performs all the ECC control
under-the-hood. Although is has OOB bytes available there are some
limitaitions...
L1.) Page data and OOB data must be written at the same time.
L2.) OOB data is limited to 16 bytes / page (of a 2k page).
I have some questions about the OOB requirements for MTD/JFFS2 combo.
Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
Or can the system be set up operate with no OOB available?
Q2.) Is it a requirement for OOB and non-OOB writes to happen independently?
thank you for you help,
Curt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: OOB questions
2008-10-06 18:41 Curt Scott
@ 2008-10-07 4:04 ` Jason Liu
2008-10-07 4:11 ` Ravi Vasarla
1 sibling, 0 replies; 6+ messages in thread
From: Jason Liu @ 2008-10-07 4:04 UTC (permalink / raw)
To: Curt Scott; +Cc: linux-mtd
2008/10/7 Curt Scott <curt_scott@yahoo.com>:
> Hi,
>
> I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
> My NAND hardware controller performs all the ECC control
> under-the-hood. Although is has OOB bytes available there are some
> limitaitions...
>
> L1.) Page data and OOB data must be written at the same time.
Not only your NFC but also some others require to written page data
and oob data
at the same time espically for large page size nand flash since it use oob to
store the ECC data.
> L2.) OOB data is limited to 16 bytes / page (of a 2k page).
>
It should be ok for jffs2 filesystem.
> I have some questions about the OOB requirements for MTD/JFFS2 combo.
>
> Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
> Or can the system be set up operate with no OOB available?
jffs2 can work without oob.
> Q2.) Is it a requirement for OOB and non-OOB writes to happen independently?
>
May provide the interface to MTD layer. For MLC Nand flash, it's
impossible to write data and oob indepently since NOP is 1.
The file system should take care not to write it without erase it for MLC.
> thank you for you help,
> Curt
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: OOB questions
2008-10-06 18:41 Curt Scott
2008-10-07 4:04 ` Jason Liu
@ 2008-10-07 4:11 ` Ravi Vasarla
1 sibling, 0 replies; 6+ messages in thread
From: Ravi Vasarla @ 2008-10-07 4:11 UTC (permalink / raw)
To: Curt Scott, linux-mtd
Hi,
Yes JAFFS2 or YAFFS2 will require the ability to read or write in OOB
bytes, refer also yaffs2 call flow for read and write operations. It is
upto the driver or file system how it is identifying the OOB area and
doing the operations so that file system should aware of actual read or
write size in NAND in below it is like 2048 byte + 16 Bytes of oob area.
While doing the raw block device read or write operation, in that case
it is not required to send the OOB details. Also there is no such
requirement for OOB and non OOB happens independently.
Regards,
Ravi
-----Original Message-----
From: linux-mtd-bounces@lists.infradead.org
[mailto:linux-mtd-bounces@lists.infradead.org] On Behalf Of Curt Scott
Sent: Tuesday, October 07, 2008 12:11 AM
To: linux-mtd@lists.infradead.org
Subject: OOB questions
Hi,
I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
My NAND hardware controller performs all the ECC control under-the-hood.
Although is has OOB bytes available there are some limitaitions...
L1.) Page data and OOB data must be written at the same time.
L2.) OOB data is limited to 16 bytes / page (of a 2k page).
I have some questions about the OOB requirements for MTD/JFFS2 combo.
Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
Or can the system be set up operate with no OOB available?
Q2.) Is it a requirement for OOB and non-OOB writes to happen
independently?
thank you for you help,
Curt
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
SASKEN BUSINESS DISCLAIMER
-------------------------
This message may contain confidential, proprietary or legally privileged information. In
case you are not the original intended Recipient of the message, you must not, directly or
indirectly, use, Disclose, distribute, print, or copy any part of this message and you are
requested to delete it and inform the sender. Any views expressed in this message are
those of the individual sender unless otherwise stated. Nothing contained in this message
shall be construed as an offer or acceptance of any offer by Sasken Communication
Technologies Limited ("Sasken") unless sent with that express intent and with due
authority of Sasken. Sasken has taken enough precautions to prevent the spread of
viruses. However the company accepts no liability for any damage caused by any virus
transmitted by this email
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: OOB questions
[not found] <825594.10285.qm@web81806.mail.mud.yahoo.com>
@ 2008-10-08 2:23 ` Jason Liu
0 siblings, 0 replies; 6+ messages in thread
From: Jason Liu @ 2008-10-08 2:23 UTC (permalink / raw)
To: Curt Scott; +Cc: linux-mtd
2008/10/8 Curt Scott <curt_scott@yahoo.com>:
> Hi Jason,
>
> Thank you for your answers they are very helpful. I now understand that the system I am working with is comparable to an MLC NAND system. I have a couple more questions.
>
> Q1.) From what I can find looking around, my only option is to incorporate a NAND MLC patch (support for NOP=1), Is this my only option?
> Example (http://patchwork.ozlabs.org/patch/623/)
>
Jffs2 will only use oob to store the cleanmarker.You can search for a
patch with "jffs2 not use oob patch"
> Q2.) I did try and report through add_mtd_device() that mtd->oobsize=0 and mtd->oobavail=0. After I did that, I found that the JFFS2/MTD system was calling the write/writev functions with less than a page size.
> Example:
> - write: addr=0, size=44
> - write: addr=44, size=32
>
> Is this expected behavior?
>
This is correct since jffs2 has one page cache machanism.
> Q3.) I have heard that it is possible to disable the OOB functionality. Is this true? If so, is there a way to make it work for the MLC NAND model?
>
Jffs2 does not support MLC nand flash if not apply some patch. I have
found two patches so far. I once use the patch with not use oob. With
this patch, jffs2 will not use oob to store cleanmarker.
> Thank you for your help,
> Curt
>
>
>
>
> ----- Original Message ----
> From: Jason Liu <liu.h.jason@gmail.com>
> To: Curt Scott <curt_scott@yahoo.com>
> Cc: linux-mtd@lists.infradead.org
> Sent: Monday, October 6, 2008 9:04:33 PM
> Subject: Re: OOB questions
>
> 2008/10/7 Curt Scott <curt_scott@yahoo.com>:
>> Hi,
>>
>> I am writing a MTD NAND (2K page) driver module for Linux 2.6.23.
>> My NAND hardware controller performs all the ECC control
>> under-the-hood. Although is has OOB bytes available there are some
>> limitaitions...
>>
>> L1.) Page data and OOB data must be written at the same time.
> Not only your NFC but also some others require to written page data
> and oob data
> at the same time espically for large page size nand flash since it use oob to
> store the ECC data.
>> L2.) OOB data is limited to 16 bytes / page (of a 2k page).
>>
> It should be ok for jffs2 filesystem.
>
>> I have some questions about the OOB requirements for MTD/JFFS2 combo.
>>
>> Q1.) Does MTD/JFFS2 require the ability to read/write OOB bytes?
>> Or can the system be set up operate with no OOB available?
> jffs2 can work without oob.
>> Q2.) Is it a requirement for OOB and non-OOB writes to happen independently?
>>
> May provide the interface to MTD layer. For MLC Nand flash, it's
> impossible to write data and oob indepently since NOP is 1.
> The file system should take care not to write it without erase it for MLC.
>
>> thank you for you help,
>> Curt
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-08 2:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-06 19:03 OOB questions Curt Scott
[not found] <825594.10285.qm@web81806.mail.mud.yahoo.com>
2008-10-08 2:23 ` Jason Liu
-- strict thread matches above, loose matches on Subject: below --
2008-10-06 18:41 Curt Scott
2008-10-07 4:04 ` Jason Liu
2008-10-07 4:11 ` Ravi Vasarla
2008-10-06 18:40 Curt Scott
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox