* query
@ 2004-06-25 13:13 Manish RATHI
0 siblings, 0 replies; 6+ messages in thread
From: Manish RATHI @ 2004-06-25 13:13 UTC (permalink / raw)
To: linux-mtd
Hi,
I am newbee in linux.
i've to write a nand flash driver for a Soc which is using ARM as core so that soc can boot from nand flash rather than ram based file system(initrd).
i need to write a nand flash driver. As far as i understand nand driver will be layer interacting with nand fLASH.
Above it there will be mtd layer and above it there will be file system.
Mtd layer is already available in linux. Can somebody suggest me good literature to understand it and nand based flash driver.?
I'd like to know how will be flow from user application to layer.
Will these primitives be same like open, close, read, write, lseek,
ioctl or some additional will be needed.
will boot block be in flash? Does kernel read by flash using open and write?
Pls also tell me relevant information sites.
Thanks
Regards
Manish
^ permalink raw reply [flat|nested] 6+ messages in thread
* Query
@ 2004-12-21 12:08 Rudresh NB
2004-12-21 12:19 ` Query Artem B. Bityuckiy
2004-12-21 12:42 ` Query Estelle HAMMACHE
0 siblings, 2 replies; 6+ messages in thread
From: Rudresh NB @ 2004-12-21 12:08 UTC (permalink / raw)
To: linux-mtd
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 412 bytes --]
Hi All,
Iam using samsung Nand flash (k9f2g08u0m). In
that there is restriction of random page program. I
heard that jffs2 takes care. but iam unable to find
where exactly (In which file ) it is taken care.
Brief explanation is appreciated.
Thanx in advance
Rgds
NBR
__________________________________
Do you Yahoo!?
All your favorites on one personal page Try My Yahoo!
http://my.yahoo.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Query
2004-12-21 12:08 Query Rudresh NB
@ 2004-12-21 12:19 ` Artem B. Bityuckiy
2004-12-21 12:42 ` Query Estelle HAMMACHE
1 sibling, 0 replies; 6+ messages in thread
From: Artem B. Bityuckiy @ 2004-12-21 12:19 UTC (permalink / raw)
To: Rudresh NB; +Cc: linux-mtd
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: TEXT/PLAIN; charset=X-UNKNOWN, Size: 927 bytes --]
On Tue, 21 Dec 2004, Rudresh NB wrote:
> Hi All,
> Iam using samsung Nand flash (k9f2g08u0m). In
> that there is restriction of random page program. I
> heard that jffs2 takes care. but iam unable to find
> where exactly (In which file ) it is taken care.
> Brief explanation is appreciated.
>
> Thanx in advance
Hi.
JFFS2 uses a buffer (wbuf) of size = NAND page size and accomulates all
the writes there. When the buffer become full, it flushes it to the
correspondent NAND page. See wbuf.c.
> Rgds
> NBR
>
>
>
>
> __________________________________
> Do you Yahoo!?
> All your favorites on one personal page Try My Yahoo!
> http://my.yahoo.com
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Query
2004-12-21 12:08 Query Rudresh NB
2004-12-21 12:19 ` Query Artem B. Bityuckiy
@ 2004-12-21 12:42 ` Estelle HAMMACHE
2004-12-22 9:05 ` Query Rudresh NB
1 sibling, 1 reply; 6+ messages in thread
From: Estelle HAMMACHE @ 2004-12-21 12:42 UTC (permalink / raw)
To: Rudresh NB; +Cc: linux-mtd
Hi,
JFFS2 write pages sequentially from the start of an erase
block to the end of the block. The current
write block is in c->nextblock. The current write offset
in this block is c->nextblock->offset.
There is a write buffer (see file wbuf.c) to ensure that
only full pages are written, even though data nodes may
overlap a page boundary.
Data nodes may not overlap an erase block boundary: if there
is no more room in the current block, a new (empty) block
is selected (and the page buffer is flushed in the old block
previously to writing to the new block). The new block
selection and the write address selection happen in
nodemgmt.c (jffs2_do_reserve_space).
Does this answer your question ?
Estelle
Rudresh NB wrote:
>
> Hi All,
> Iam using samsung Nand flash (k9f2g08u0m). In
> that there is restriction of random page program. I
> heard that jffs2 takes care. but iam unable to find
> where exactly (In which file ) it is taken care.
> Brief explanation is appreciated.
>
> Thanx in advance
>
> Rgds
> NBR
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Query
2004-12-21 12:42 ` Query Estelle HAMMACHE
@ 2004-12-22 9:05 ` Rudresh NB
2004-12-22 9:26 ` Query Estelle HAMMACHE
0 siblings, 1 reply; 6+ messages in thread
From: Rudresh NB @ 2004-12-22 9:05 UTC (permalink / raw)
To: Estelle HAMMACHE; +Cc: linux-mtd
Hi,
Thanx for the reply.
I have couple of questions.
1) How JFFS2 will take care of Updating the same page
in the block.
2) How does the logical addr to physical addr of block
no happens
Rgds
NBR
--- Estelle HAMMACHE <estelle.hammache@st.com> wrote:
> Hi,
> JFFS2 write pages sequentially from the start of an
> erase
> block to the end of the block. The current
> write block is in c->nextblock. The current write
> offset
> in this block is c->nextblock->offset.
> There is a write buffer (see file wbuf.c) to ensure
> that
> only full pages are written, even though data nodes
> may
> overlap a page boundary.
> Data nodes may not overlap an erase block boundary:
> if there
> is no more room in the current block, a new (empty)
> block
> is selected (and the page buffer is flushed in the
> old block
> previously to writing to the new block). The new
> block
> selection and the write address selection happen in
> nodemgmt.c (jffs2_do_reserve_space).
> Does this answer your question ?
> Estelle
>
> Rudresh NB wrote:
> >
> > Hi All,
> > Iam using samsung Nand flash (k9f2g08u0m).
> In
> > that there is restriction of random page program.
> I
> > heard that jffs2 takes care. but iam unable to
> find
> > where exactly (In which file ) it is taken care.
> > Brief explanation is appreciated.
> >
> > Thanx in advance
> >
> > Rgds
> > NBR
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.
http://info.mail.yahoo.com/mail_250
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Query
2004-12-22 9:05 ` Query Rudresh NB
@ 2004-12-22 9:26 ` Estelle HAMMACHE
0 siblings, 0 replies; 6+ messages in thread
From: Estelle HAMMACHE @ 2004-12-22 9:26 UTC (permalink / raw)
To: Rudresh NB; +Cc: linux-mtd
Rudresh NB wrote:
>
> Hi,
> Thanx for the reply.
>
> I have couple of questions.
>
> 1) How JFFS2 will take care of Updating the same page
> in the block.
JFFS2 will not _update_ a NAND Flash page. When the user
overwrites a file with new data, JFFS2 will NOT update the
previous data. Rather JFFS2 will write the new data at
another free place, increasing the version number. The
old data which is not needed anymore will disappear during
garbage collection. JFFS2 does not write twice to the same
physical page, unless the block was erased in the meantime.
I suggest that you read http://sources.redhat.com/jffs2/jffs2.pdf
if you haven't already.
> 2) How does the logical addr to physical addr of block
> no happens
JFFS2 is NOT an FTL. There are no logical block numbers
in JFFS2. I think the block adresses are relative to the
start of the partition, this is managed in mtd drivers (?).
bye
Estelle
> --- Estelle Hammache wrote:
>
> > Hi,
> > JFFS2 write pages sequentially from the start of an
> > erase
> > block to the end of the block. The current
> > write block is in c->nextblock. The current write
> > offset
> > in this block is c->nextblock->offset.
> > There is a write buffer (see file wbuf.c) to ensure
> > that
> > only full pages are written, even though data nodes
> > may
> > overlap a page boundary.
> > Data nodes may not overlap an erase block boundary:
> > if there
> > is no more room in the current block, a new (empty)
> > block
> > is selected (and the page buffer is flushed in the
> > old block
> > previously to writing to the new block). The new
> > block
> > selection and the write address selection happen in
> > nodemgmt.c (jffs2_do_reserve_space).
> > Does this answer your question ?
> > Estelle
> >
> > Rudresh NB wrote:
> > >
> > > Hi All,
> > > Iam using samsung Nand flash (k9f2g08u0m).
> > In
> > > that there is restriction of random page program.
> > I
> > > heard that jffs2 takes care. but iam unable to
> > find
> > > where exactly (In which file ) it is taken care.
> > > Brief explanation is appreciated.
> > >
> > > Thanx in advance
> > >
> > > Rgds
> > > NBR
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-12-22 9:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-21 12:08 Query Rudresh NB
2004-12-21 12:19 ` Query Artem B. Bityuckiy
2004-12-21 12:42 ` Query Estelle HAMMACHE
2004-12-22 9:05 ` Query Rudresh NB
2004-12-22 9:26 ` Query Estelle HAMMACHE
-- strict thread matches above, loose matches on Subject: below --
2004-06-25 13:13 query Manish RATHI
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox