Symptoms
Consider the following scenario:
-
You have a Windows Embedded CE 6.0 R3-based device that uses NAND flash memory.
-
The flash memory uses the model device driver (MDD) and the platform-dependent driver (PDD) flash driver models.
-
You perform some read operations in the NAND flash memory.
-
A read operation is performed to a block, and then an error is returned to the IOCTL_FLASH_PDD_READ_PHYSICAL_SECTORS I/O control.
In this scenario, an IOCTL_FLASH_PDD_SET_BLOCK_STATUS I/O control tags another block as bad. If a write operation is performed to the first block, data corruption occurs.
Cause
This problem occurs because the error handling code considers the error as a failure to write a sector to the destination block. However, the error is actually a failure to read the sector from the source block. Therefore, the destination block is marked as a bad block.
Resolution
Software update information
A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Platform Builder Monthly Update (July 2010). You can confirm this by scrolling to the "File information" section. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is as follows:
Product version-yymmdd-kbnnnnnn-processor type
For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows 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 how to obtain Windows CE Platform Builder and core operating system software updates:
837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products
Prerequisites
This update is supported only if all previously issued updates for this product have also been installed.
Restart requirement
After you apply this 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, and then click Build Platform.
-
On the Build menu, click Rebuild Platform.
You do not have to restart the computer after you apply this software update.
Hotfix replacement information
This hotfix does not replace a previously released hotfix.
File information
The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
Installer files
File name |
File size |
Date |
Time |
---|---|---|---|
Wincepb60-100722-kb2263918-armv4i.msi |
986,112 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-mipsii.msi |
963,584 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-mipsii_fp.msi |
964,096 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-mipsiv.msi |
968,704 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-mipsiv_fp.msi |
968,704 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-sh4.msi |
955,392 |
22-Jul-2010 |
19:55 |
Wincepb60-100722-kb2263918-x86.msi |
905,216 |
22-Jul-2010 |
19:55 |
Files that are included in this hotfix package
File name |
File size |
Date |
Time |
Path |
---|---|---|---|---|
Windows embedded ce 6.0_update_kb2263918.htm |
7,657 |
22-Jul-2010 |
19:30 |
100722_kb2263918 |
Flashcommon.lib |
169,324 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Armv4i\Debug |
Flashmddcore.lib |
746,156 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Armv4i\Debug |
Flashcommon.lib |
135,128 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Armv4i\Retail |
Flashmddcore.lib |
586,602 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Armv4i\Retail |
Flashcommon.lib |
165,230 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Mipsii\Debug |
Flashmddcore.lib |
721,100 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Mipsii\Debug |
Flashcommon.lib |
135,524 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Mipsii\Retail |
Flashmddcore.lib |
558,892 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Mipsii\Retail |
Flashcommon.lib |
165,286 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsii_fp\Debug |
Flashmddcore.lib |
721,218 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsii_fp\Debug |
Flashcommon.lib |
135,570 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsii_fp\Retail |
Flashmddcore.lib |
558,992 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\Mipsii_fp\Retail |
Flashcommon.lib |
166,068 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv\Debug |
Flashmddcore.lib |
731,550 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv\Debug |
Flashcommon.lib |
137,386 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv\Retail |
Flashmddcore.lib |
567,416 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv\Retail |
Flashcommon.lib |
166,124 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv_fp\Debug |
Flashmddcore.lib |
731,668 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv_fp\Debug |
Flashcommon.lib |
137,432 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv_fp\Retail |
Flashmddcore.lib |
567,516 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Mipsiv_fp\Retail |
Flashcommon.lib |
151,064 |
28-Jun-2010 |
16:06 |
Public\Common\Oak\Lib\Sh4\Debug |
Flashmddcore.lib |
655,066 |
28-Jun-2010 |
16:06 |
Public\Common\Oak\Lib\Sh4\Debug |
Flashcommon.lib |
129,732 |
28-Jun-2010 |
16:06 |
Public\Common\Oak\Lib\Sh4\Retail |
Flashmddcore.lib |
529,284 |
28-Jun-2010 |
16:05 |
Public\Common\Oak\Lib\Sh4\Retail |
Flashcommon.lib |
150,876 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\X86\Debug |
Flashmddcore.lib |
603,126 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\X86\Debug |
Flashcommon.lib |
128,556 |
28-Jun-2010 |
16:04 |
Public\Common\Oak\Lib\X86\Retail |
Flashmddcore.lib |
517,214 |
28-Jun-2010 |
16:04 |
Public\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