Wear Leveling support in NOR Flash - WinCE 6.0

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)

你可能感兴趣的:(Flash)