Data that is stored on a flash media device on a Windows Embedded CE 6.0 R3-based device may be corrupted


Symptoms


Consider the following scenario:
  • You have a Windows Embedded CE 6.0 R3-based device.
  • You try to write data to a flash media device on the Windows Embedded CE 6.0 R3-based device.
  • The flash media uses the transaction-safe file allocation table (TFAT) file system.
In this scenario, the data that is stored on the flash media device may be corrupted. This may cause one of the following issues:
  • Applications that use the data report an error.
  • You cannot use the Windows Embedded CE 6.0 R3-based run-time image when you restart the device.

Cause


This issue occurs because the Flash Abstraction Layer (FAL) inserts the same flash sector two times in the free sector list of Sector Manager. Therefore, when a used flash sector is used again as a free sector, data corruption occurs.

Resolution


Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Platform Builder Monthly Update (March 2011). You can confirm this by scrolling to the "File information" section of this article. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is:
Product version-yymmdd-kbnnnnnn-processor type
For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows Embedded CE 5.0 Platform Builder fix that is documented in KB article 917590 and that is contained in the May 2006 monthly update. To resolve this problem immediately, click the following article number for information about obtaining Windows Embedded CE Platform Builder and core operating system software updates:
837392 How to locate core operating system fixes for Microsoft Windows Embedded CE Platform Builder products


Note This Windows Embedded CE 6.0 Monthly Update is also available for download from the following Microsoft Download Center website:

Prerequisites

To apply this software update, you must have all previously issued software updates for this product installed.

Restart requirement

After you install this software update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
  • On the Build menu, click Clean Solution, and then click Build Solution.
  • On the Build menu, click Rebuild Solution.
You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any updates.

File information

The English version of this software update package has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Installer files
File nameFile sizeDateTime
Wincepb60-110331-kb2519657-mipsiv.msi678,91231-Mar-201118:37
Wincepb60-110331-kb2519657-mipsiv_fp.msi679,42431-Mar-201118:37
Wincepb60-110331-kb2519657-sh4.msi662,01631-Mar-201118:37
Wincepb60-110331-kb2519657-x86.msi650,24031-Mar-201118:37
Wincepb60-110331-kb2519657-armv4i.msi685,05631-Mar-201118:37
Wincepb60-110331-kb2519657-mipsii.msi675,84031-Mar-201118:37
Wincepb60-110331-kb2519657-mipsii_fp.msi675,84031-Mar-201118:37
Files that are included in this hotfix package
File nameFile sizeDateTimePath
Windows embedded ce 6.0_update_kb2519657.htm7,96731-Mar-201118:12110331_kb2519657
Sectormgr.cpp41,43528-Mar-201114:13Private\Winceos\Drivers\Fal\Src
Sectormgr.h4,85828-Mar-201114:13Private\Winceos\Drivers\Fal\Src
Fal.lib455,19228-Mar-201114:13Public\Common\Oak\Lib\Armv4i\Debug
Fal.lib220,46628-Mar-201114:13Public\Common\Oak\Lib\Armv4i\Retail
Fal.lib446,81828-Mar-201114:13Public\Common\Oak\Lib\Mipsii\Debug
Fal.lib212,36028-Mar-201114:13Public\Common\Oak\Lib\Mipsii\Retail
Fal.lib446,86028-Mar-201114:13Public\Common\Oak\Lib\Mipsii_fp\Debug
Fal.lib212,41628-Mar-201114:13Public\Common\Oak\Lib\Mipsii_fp\Retail
Fal.lib452,85028-Mar-201114:13Public\Common\Oak\Lib\Mipsiv\Debug
Fal.lib217,35628-Mar-201114:13Public\Common\Oak\Lib\Mipsiv\Retail
Fal.lib452,89228-Mar-201114:13Public\Common\Oak\Lib\Mipsiv_fp\Debug
Fal.lib217,41228-Mar-201114:13Public\Common\Oak\Lib\Mipsiv_fp\Retail
Fal.lib377,85228-Mar-201114:13Public\Common\Oak\Lib\Sh4\Debug
Fal.lib193,32028-Mar-201114:13Public\Common\Oak\Lib\Sh4\Retail
Fal.lib381,48828-Mar-201114:13Public\Common\Oak\Lib\X86\Debug
Fal.lib195,88028-Mar-201114:13Public\Common\Oak\Lib\X86\Retail

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information


For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates