Wear Leveling support in NOR Flash - WinCE 6.0

SIDDIQ posted on Monday, December 14, 2009 7:14 AM

I am using 256MB NOR Flash. I need to support "wear Leveling". Is WinCE 6.0
FAL.lib supports "Wear Leveling" by default. If yes, Where can I find the
support in WinCE 6.0?. Please help me in this regard.

Thanks in advance.

Windows CE 6.

cjay replied to SIDDIQ on Monday, December 14, 2009 7:37 AM

Windows CE 6.0 does provide some implementation for wear-leveling although on
NOR flash devices this is not as critical as it is on NAND flash devices as
NOR flash devices are not prone to bad blocks unlike NAND flash.

Depending upon the level of PRIVATE source code you have installed the FAL
sources are here: \WINCE600\PRIVATE\WINCEOS\DRIVERS\MSFLASH\SRC

CJ
--
http://developce.blogspot.com/

Thanks Cjay for your information.

SIDDIQ replied to cjay on Tuesday, December 15, 2009 12:31 AM

Thanks Cjay for your information.

So this wear Leveling support will be added by default in WinCE for both NOR
Flash & NAND Flash.

If your block driver links with FAL.

Henrik Viklund [eMVP] replied to SIDDIQ on Tuesday, December 15, 2009 8:26 AM

If your block driver links with FAL.lib you should be OK, and you are
probably OK even if it dosn't. In fact, wear leveling comes as a side
effect of the sector write speed optimization algoritms that you
pretty much need to have in place in order to get decent modify/write
performance out of flash devices. Rather than waiting for a slow erase
operation to finish the modified data is instead moved to a fresh
sector and the old sector is then erased in a background operation.
This functionality is implemented by FAL.

Henrik Viklund
Prevas AB

NOR
ugh on
as
FAL
CE 6.0
the
ing

 

On 12/14/2009 1:37 PM, cjay wrote:Wear leveling is not only about bad-blocks

Valter Minute [eMVP] replied to cjay on Monday, December 21, 2009 9:28 AM

Wear leveling is not only about bad-blocks management. it is true, as you
said, that NOR flash has no bad-blocks and do not need CRC or other ways
to manage corrupted data, but the number of erase cycles of each flash
block is still limited (and usually lower on NOR flashes than in NAND
ones), so you have to distribut the block-rewrite operation evenly among
the blocks or you will risk to "kill" your flash by repeatedly changing
the same block (and if you have FAT filesystem this may happen on the
block that holds FAT sectors and it is update every time you access a
file, modifying its access date). Obviously you can damage your flash
also with wear-leveling, only in a much longer time.


If you do not have this directory on your system you may need to install
the shared source. Simply restart windows CE setup from the original
DVD, select "modify installation" and choose the shared source component.

--
Valter Minute (eMVP)
Training, support and development for Windows CE:
www.fortechembeddedlabs.it
My embedded programming and cooking blog:
www.geekswithblogs.net/WindowsEmbeddedCookbook
Windows Embedded support forums in Italian:
http://social.msdn.microsoft.com/Forums/it-IT/windowsembeddedit/threads
(the reply address of this message is invalid)
posted on 2010-05-31 09:41  xilentz  阅读(645)  评论(0编辑  收藏  举报