Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TFAT and NAND FMD block driver

12 views
Skip to first unread message

paolo patierno

unread,
Nov 19, 2009, 4:13:01 AM11/19/09
to

Hello,
I'm working on Windows CE 5.0 and Freescale BSP iMX31.
I want to use TFAT on my NAND Flash device but Microsoft Documentation said
that the block driver have to execute atomic sector writes.
Where I can see if my NAND FMD driver executes atomic sector writes ?

Thanks,
Paolo

AndrewScholan[MCTS]

unread,
Nov 19, 2009, 6:36:53 AM11/19/09
to
On Nov 19, 9:13 am, paolo patierno

This means that when the block driver is asked to write a sector, the
sector is written in a single action before returning. I have not done
this in CE 5.0 on an i.MX31, but in CE 6.0 the block driver *is*
atomic on the i.MX31. Basically there is no caching in the block
driver and the operation to write a sector is simply a page write
command on the NFC, with the status of the write operation being
verified before the call returns.

You can see the registry settings for TFAT on CE 6.0 at the following
thread
http://www.google.com/url?url=http://groups.google.com/g/7917fef4/t/ba8470fb5733459f/d/70f2ce37570ab950%3Fhl%3Den%26q%3D%2370f2ce37570ab950&ei=wCwFS4W_O4ngQratzbsM&sa=t&ct=res&cd=7&source=groups&usg=AFQjCNEj342hapQzHdHEEHjtdxatXzx9vQ
but you will have to adapt if for CE 5.0 as not all of the features
are available in CE 5.0.

Andrew.

paolo patierno

unread,
Nov 19, 2009, 8:36:02 AM11/19/09
to
Can you post the function FMD_Write() of BSP iMX31 for Windows CE 6.0 ?

Thanks,
Paolo

"AndrewScholan[MCTS]" wrote:

> .
>

AndrewScholan[MCTS]

unread,
Nov 19, 2009, 9:25:58 AM11/19/09
to
On Nov 19, 1:36 pm, paolo patierno

<paolopatie...@discussions.microsoft.com> wrote:
> Can you post the function FMD_Write() of BSP iMX31 for Windows CE 6.0 ?
>
> Thanks,
> Paolo
>
>
>
> "AndrewScholan[MCTS]" wrote:
> > On Nov 19, 9:13 am, paolo patierno
> > <paolopatie...@discussions.microsoft.com> wrote:
> > > Hello,
> > > I'm working on Windows CE 5.0 and Freescale BSP iMX31.
> > > I want to use TFAT on my NAND Flash device but Microsoft Documentation said
> > > that the block driver have to execute atomic sector writes.
> > > Where I can see if my NAND FMD driver executes atomic sector writes ?
>
> > > Thanks,
> > > Paolo
>
> > This means that when the block driver is asked to write a sector, the
> > sector is written in a single action before returning. I have not done
> > this in CE 5.0 on an i.MX31, but in CE 6.0 the block driver *is*
> > atomic on the i.MX31. Basically there is no caching in the block
> > driver and the operation to write a sector is simply a page write
> > command on the NFC, with the status of the write operation being
> > verified before the call returns.
>
> > You can see the registry settings for TFAT on CE 6.0 at the following
> > thread
> >http://www.google.com/url?url=http://groups.google.com/g/7917fef4/t/b...

> > but you will have to adapt if for CE 5.0 as not all of the features
> > are available in CE 5.0.
>
> > Andrew.
> > .- Hide quoted text -
>
> - Show quoted text -

Unfortunately I don't think that the license that we have with
Freescale will permit that. I suggest you contact Freescale or one of
their distributors and obtain the CE 6.0 BSP directly from them (it is
free of charge to qualifying developers).
Andrew.

paolo patierno

unread,
Nov 19, 2009, 10:30:02 AM11/19/09
to
I have installed BSP Windows CE 6.0 and it is the same.There is a page write
to store a sector and after there is a status verification. I have a doubt :
the write function receives the start address of the sector and the number of
sectors to write and executes a "while" cycle to write a sector for each
iteration. The question is : what happens if I want to write 3 sectors for
example and an error happens during the third write ? The first two are
written and the third failed ! It isn't atomic...or not ?

Thanks,
Paolo

"AndrewScholan[MCTS]" wrote:

> > >http://www.google.com/url?url=http://groups.google.com/g/7917fef4/t/b....


> > > but you will have to adapt if for CE 5.0 as not all of the features
> > > are available in CE 5.0.
> >
> > > Andrew.
> > > .- Hide quoted text -
> >
> > - Show quoted text -
>
> Unfortunately I don't think that the license that we have with
> Freescale will permit that. I suggest you contact Freescale or one of
> their distributors and obtain the CE 6.0 BSP directly from them (it is
> free of charge to qualifying developers).
> Andrew.

> .
>

AndrewScholan[MCTS]

unread,
Nov 19, 2009, 11:18:20 AM11/19/09
to
On Nov 19, 3:30 pm, paolo patierno

But as far as the upper OS is concerned, you are atomic. If you are
executing the while loop, you are still only performing one
transaction as far as the OS is concerned. It will either complete and
you return success then the OS will mark the transaction as complete,
or you will be interrupted (e.g. by power off) and TFAT will know this
because the transaction has not completed.

paolo patierno

unread,
Nov 19, 2009, 12:00:06 PM11/19/09
to
So this function is always called to write 1 sector (512 bytes) ?

Thanks,
Paolo

"AndrewScholan[MCTS]" wrote:

> .
>

0 new messages