通过在基于 Windows 嵌入式 CE 6.0 R3 的设备的 NAND 闪存 IOCTL_FLASH_PDD_SET_BLOCK_STATUS I/O 控制错误地标记块


症状


请考虑以下情况:
  • 您必须使用 NAND 闪存的基于 Windows 嵌入式 CE 6.0 R3 的设备。
  • 闪存使用模型设备驱动 (MDD) 和平台相关驱动程序 (PDD) 闪存驱动程序模型。
  • 在 NAND 闪存中执行某些读取的操作。
  • 块,执行读取的操作,然后将错误返回到 IOCTL_FLASH_PDD_READ_PHYSICAL_SECTORS I/O 控制。
在这种情况下,IOCTL_FLASH_PDD_SET_BLOCK_STATUS I/O 控制标记为损坏另一个块。 如果第一个块执行写操作时,会发生数据损坏。

原因


发生此问题是由于错误处理代码将错误视为失败到目标块写入扇区。 但是,错误是实际上无法从原块读该扇区。 因此,目标块被标记为坏扇区。

解决方案


软件更新信息

受支持的软件有可用的更新现在 microsoft 作为 Windows 嵌入式 CE 6.0 平台生成器每月更新 (2010 年 7 月)。 您可以滚动到"文件信息"部分进行确认。 包文件的名称包含产品版本、 日期、 知识库文章编号和处理器类型。 包文件名的格式如下所示:产品版本 yymmdd 月日处理器的类型,例如: Wincepb50 060503 kb917590 armv4i.msi 是 ARMV4i Windows CE 5.0 Platform Builder 解决知识文库文章 917590 中介绍的就是2006 年 5 月每月更新中包含。 要立即解决此问题,请单击下面的文章编号,以了解如何获取 Windows CE Platform Builder 和核心操作系统软件更新:
837392 如何找到核心操作系统修补程序的 Microsoft Windows CE Platform Builder 产品

先决条件

仅当已安装了以前针对该产品发布的所有更新时,才支持此更新。

重启要求

应用此更新后,必须对整个平台执行清理生成。 为此,请使用下列方法之一:
  • 构建菜单中,单击清理,然后单击构建平台
  • 构建菜单上,单击重新构建平台
应用此软件更新后无需重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

文件信息

此修补程序的英语(美国)版本将安装具有下表所列属性的文件。 这些文件的日期和时间使用协调世界时 (UTC) 列出。 这些文件在本地计算机上显示的日期和时间是本地时间再加上当前夏令时 (DST) 偏差。 此外,如果对这些文件执行某些操作,日期和时间可能会更改。
安装程序文件
文件名文件大小日期时间
Wincepb60-100722-kb2263918-armv4i.msi986,11222-Jul-201019:55
Wincepb60-100722-kb2263918-mipsii.msi963,58422-Jul-201019:55
Wincepb60-100722-kb2263918-mipsii_fp.msi964,09622-Jul-201019:55
Wincepb60-100722-kb2263918-mipsiv.msi968,70422-Jul-201019:55
Wincepb60-100722-kb2263918-mipsiv_fp.msi968,70422-Jul-201019:55
Wincepb60-100722-kb2263918-sh4.msi955,39222-Jul-201019:55
Wincepb60-100722-kb2263918-x86.msi905,21622-Jul-201019:55
此修补程序包中包括的文件
文件名文件大小日期时间路径
Windows 嵌入式 ce 6.0_update_kb2263918.htm7,65722-Jul-201019:30100722_kb2263918
Flashcommon.lib169,32428-Jun-201016:04Public\Common\Oak\Lib\Armv4i\Debug
Flashmddcore.lib746,15628-Jun-201016:04Public\Common\Oak\Lib\Armv4i\Debug
Flashcommon.lib135,12828-Jun-201016:04Public\Common\Oak\Lib\Armv4i\Retail
Flashmddcore.lib586,60228-Jun-201016:04Public\Common\Oak\Lib\Armv4i\Retail
Flashcommon.lib165,23028-Jun-201016:04Public\Common\Oak\Lib\Mipsii\Debug
Flashmddcore.lib721,10028-Jun-201016:04Public\Common\Oak\Lib\Mipsii\Debug
Flashcommon.lib135,52428-Jun-201016:04Public\Common\Oak\Lib\Mipsii\Retail
Flashmddcore.lib558,89228-Jun-201016:04Public\Common\Oak\Lib\Mipsii\Retail
Flashcommon.lib165,28628-Jun-201016:05Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashmddcore.lib721,21828-Jun-201016:05Public\Common\Oak\Lib\Mipsii_fp\Debug
Flashcommon.lib135,57028-Jun-201016:05Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashmddcore.lib558,99228-Jun-201016:04Public\Common\Oak\Lib\Mipsii_fp\Retail
Flashcommon.lib166,06828-Jun-201016:05Public\Common\Oak\Lib\Mipsiv\Debug
Flashmddcore.lib731,55028-Jun-201016:05Public\Common\Oak\Lib\Mipsiv\Debug
Flashcommon.lib137,38628-Jun-201016:05Public\Common\Oak\Lib\Mipsiv\Retail
Flashmddcore.lib567,41628-Jun-201016:05Public\Common\Oak\Lib\Mipsiv\Retail
Flashcommon.lib166,12428-Jun-201016:05Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashmddcore.lib731,66828-Jun-201016:05Public\Common\Oak\Lib\Mipsiv_fp\Debug
Flashcommon.lib137,43228-Jun-201016:05Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashmddcore.lib567,51628-Jun-201016:05Public\Common\Oak\Lib\Mipsiv_fp\Retail
Flashcommon.lib151,06428-Jun-201016:06Public\Common\Oak\Lib\Sh4\Debug
Flashmddcore.lib655,06628-Jun-201016:06Public\Common\Oak\Lib\Sh4\Debug
Flashcommon.lib129,73228-Jun-201016:06Public\Common\Oak\Lib\Sh4\Retail
Flashmddcore.lib529,28428-Jun-201016:05Public\Common\Oak\Lib\Sh4\Retail
Flashcommon.lib150,87628-Jun-201016:04Public\Common\Oak\Lib\X86\Debug
Flashmddcore.lib603,12628-Jun-201016:04Public\Common\Oak\Lib\X86\Debug
Flashcommon.lib128,55628-Jun-201016:04Public\Common\Oak\Lib\X86\Retail
Flashmddcore.lib517,21428-Jun-201016:04Public\Common\Oak\Lib\X86\Retail

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息


有关软件更新术语的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明