FIX: A block that you have marked as reserved is not skipped when you use the Windows Embedded CE 6.0 R2 flash MDD

Article translations Article translations
Article ID: 951076 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

You use a flash memory storage device that uses the Windows Embedded CE 6.0 R2 flash model device driver (MDD). If you have marked block 0 as reserved, the block is not skipped. The block is erased.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows CE 6.0 Platform Builder Monthly Update (April 2008). 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 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 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 software update, you must perform a clean build of the whole platform. To clean the platform, click Clean on the Build menu. To build the platform, click Build Platform on the Build menu. You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this software update package has the file attributes or the later file attributes that are listed in the following table.
Collapse this tableExpand this table
File nameFile sizeDateTime
Wincepb60-080411-kb951076-armv4i.msi1,110,01611-Apr-200820:24
Wincepb60-080411-kb951076-mipsii.msi1,081,85611-Apr-200820:23
Wincepb60-080411-kb951076-mipsii_fp.msi1,082,36811-Apr-200820:23
Wincepb60-080411-kb951076-mipsiv.msi1,092,09611-Apr-200820:24
Wincepb60-080411-kb951076-mipsiv_fp.msi1,092,60811-Apr-200820:24
Wincepb60-080411-kb951076-sh4.msi1,072,12811-Apr-200820:23
Wincepb60-080411-kb951076-x86.msi1,015,80811-Apr-200820:23
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.
Collapse this tableExpand this table
File nameFile sizeDateTimePath
Flashcommon.lib168,89007-Apr-200818:38Public\Common\Oak\Lib\Armv4i\Debug
Flashmddcore.lib743,86607-Apr-200818:38Public\Common\Oak\Lib\Armv4i\Debug
Flashpart.lib154,66007-Apr-200818:38Public\Common\Oak\Lib\Armv4i\Debug
Flashcommon.lib135,06407-Apr-200818:38Public\Common\Oak\Lib\Armv4i\Retail
Flashmddcore.lib586,44607-Apr-200818:37Public\Common\Oak\Lib\Armv4i\Retail
Flashpart.lib126,76007-Apr-200818:38Public\Common\Oak\Lib\Armv4i\Retail
Flashcommon.lib164,79807-Apr-200818:39Public\Common\Oak\Lib\Mipsii\Debug
Flashmddcore.lib719,75207-Apr-200818:38Public\Common\Oak\Lib\Mipsii\Debug
Flashpart.lib151,81007-Apr-200818:38Public\Common\Oak\Lib\Mipsii\Debug
Flashcommon.lib135,43607-Apr-200818:39Public\Common\Oak\Lib\Mipsii\Retail
Flashmddcore.lib559,11807-Apr-200818:38Public\Common\Oak\Lib\Mipsii\Retail
Flashpart.lib123,05807-Apr-200818:38Public\Common\Oak\Lib\Mipsii\Retail
Flashcommon.lib164,85407-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashmddcore.lib719,87007-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashpart.lib151,85007-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashcommon.lib135,48207-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashmddcore.lib559,21807-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashpart.lib123,07807-Apr-200818:39Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashcommon.lib165,63607-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Debug
Flashmddcore.lib730,15207-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Debug
Flashpart.lib153,95607-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Debug
Flashcommon.lib137,30607-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Retail
Flashmddcore.lib567,76407-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Retail
Flashpart.lib125,72007-Apr-200818:40Public\Common\Oak\Lib\Mipsiv\Retail
Flashcommon.lib165,69207-Apr-200818:41Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashmddcore.lib730,27007-Apr-200818:40Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashpart.lib153,99607-Apr-200818:41Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashcommon.lib137,35207-Apr-200818:41Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashmddcore.lib567,86407-Apr-200818:40Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashpart.lib125,74007-Apr-200818:41Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashcommon.lib150,66807-Apr-200818:41Public\Common\Oak\Lib\Sh4\Debug
Flashmddcore.lib653,74607-Apr-200818:41Public\Common\Oak\Lib\Sh4\Debug
Flashpart.lib140,71607-Apr-200818:41Public\Common\Oak\Lib\Sh4\Debug
Flashcommon.lib129,66007-Apr-200818:41Public\Common\Oak\Lib\Sh4\Retail
Flashmddcore.lib529,70807-Apr-200818:41Public\Common\Oak\Lib\Sh4\Retail
Flashpart.lib117,73607-Apr-200818:41Public\Common\Oak\Lib\Sh4\Retail
Flashcommon.lib150,47807-Apr-200818:37Public\Common\Oak\Lib\X86\Debug
Flashmddcore.lib602,31207-Apr-200818:37Public\Common\Oak\Lib\X86\Debug
Flashpart.lib136,12207-Apr-200818:37Public\Common\Oak\Lib\X86\Debug
Flashcommon.lib128,48007-Apr-200818:37Public\Common\Oak\Lib\X86\Retail
Flashmddcore.lib516,95007-Apr-200818:37Public\Common\Oak\Lib\X86\Retail
Flashpart.lib116,58607-Apr-200818:37Public\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

The reserved blocks must be contiguous, except for bad blocks. The first block that is not bad and is not reserved is the start location that the flash MDD manages. The start location contains a bad block table and a partition table. The flash MDD reserves some blocks for backup in case blocks become bad. If you want backup blocks for the reserved blocks, you must mark the backup blocks as reserved.

To create reserved blocks in flash memory, you must create a reserved partition by setting the FLASH_PARTITION_FLAG_RESERVED flag to CreatePartition(IOCTL_FLASH_CREATE_PARTITION). When you do this, the operating system ignores this partition.

When you create partitions in flash memory, you must specify the logical block count of each partition. You cannot specify an exact physical block location for a partition. The partitions must be put in the next available spaces. Any bad blocks must be skipped.

For more information about the flash driver MDD input/output controls (IOCTLs), visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/bb821589.aspx
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

Properties

Article ID: 951076 - Last Review: October 8, 2011 - Revision: 2.0
APPLIES TO
  • Windows Embedded CE 6.0 R2
Keywords: 
kbfix kbexpertiseinter kbqfe KB951076

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com