Blöcke werden vom IOCTL_FLASH_PDD_SET_BLOCK_STATUS-E/A-Steuerelement auf dem NAND-Flashspeicher eines Windows Embedded CE 6.0 R3-basierten Geräts falsch markiert

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie haben ein Windows Embedded CE 6.0 R3-basiertes Gerät, das NAND-Flashspeicher verwendet.
  • Der Flashspeicher verwendet die Flashtreibermodelle Modellgerätetreiber (MDD) und PDD (Platform-Dependent Driver).
  • Sie führen einige Lesevorgänge im NAND-Flash-Speicher durch.
  • Ein Lesevorgang wird für einen Block ausgeführt, und dann wird ein Fehler an das IOCTL_FLASH_PDD_READ_PHYSICAL_SECTORS-E/A-Steuerelement zurückgegeben.

In diesem Szenario markiert ein IOCTL_FLASH_PDD_SET_BLOCK_STATUS-E/A-Steuerelement einen anderen Block als schlecht. Wenn ein Schreibvorgang auf den ersten Block ausgeführt wird, treten Datenbeschädigungen auf.

Ursache

Dieses Problem tritt auf, weil der Fehlerbehandlungscode den Fehler als Fehler beim Schreiben eines Sektors in den Zielblock betrachtet. Der Fehler ist jedoch tatsächlich ein Fehler beim Lesen des Sektors aus dem Quellblock. Daher wird der Zielblock als fehlerhafter Block markiert.

Lösung

Informationen zu Softwareupdates

Ein unterstütztes Softwareupdate ist jetzt von Microsoft als monatliches Update für Windows Embedded CE 6.0 Platform Builder (Juli 2010) verfügbar. Sie können dies überprüfen, indem Sie zum Abschnitt "Dateiinformationen" scrollen. Der Dateiname des Pakets enthält die Produktversion, das Datum, die Nummer des Knowledge Base-Artikels und den Prozessortyp. Das Paketdateinamenformat lautet wie folgt:

Produktversion-jjmmtt-kbnnnn-Prozessortyp

Beispiel: Wincepb50-060503-kb917590-armv4i.msi ist der ARMV4i Windows CE 5.0 Platform Builder-Fix, der in KB-Artikel 917590 dokumentiert ist und im monatlichen Update vom Mai 2006 enthalten ist. Um das Problem sofort zu beheben, klicken Sie auf die folgende Artikelnummer, um Informationen zum Abrufen von Updates für Windows CE Platform Builder und die wichtigsten Betriebssystemsoftware zu erhalten:

837392 So finden Sie die wichtigsten Betriebssystemfixes für Microsoft Windows CE Platform Builder-Produkte

Voraussetzungen

Dieses Update wird nur unterstützt, wenn alle zuvor veröffentlichten Updates für dieses Produkt ebenfalls installiert wurden.

Neustartanforderung

Nach der Installation dieses Updates müssen Sie die gesamte Plattform neu erstellen. Wenden Sie hierzu eine der folgenden Methoden an:

  • Klicken Sie im Menü "Erstellen " auf "Bereinigen" und dann auf "Plattform erstellen".
  • Klicken Sie im Menü "Erstellen " auf "Plattform neu erstellen".

Sie müssen den Computer nicht neu starten, nachdem Sie dieses Update installiert haben.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keinen zuvor veröffentlichten Hotfix.

Dateiinformationen

Die englische Version (USA) dieses Hotfix installiert Dateien mit den in der nachstehenden Tabelle aufgelisteten Attributen. Datums- und Uhrzeitangaben für diese Dateien sind in der koordinierten Weltzeit (UTC) angegeben. Die Datums- und Uhrzeitangaben für diese Dateien werden auf Ihrem lokalen Computer in Ihrer Ortszeit und unter Berücksichtigung der Sommerzeit angegeben. Außerdem können sich die Datums- und Uhrzeitangaben ändern, wenn Sie bestimmte Operationen mit den Dateien ausführen.

Installationsdateien

                  

Dateiname Dateigröße Datum Zeit
Wincepb60-100722-kb2263918-armv4i.msi 986,112 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-mipsii.msi 963,584 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-mipsii_fp.msi 964,096 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-mipsiv.msi 968,704 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-mipsiv_fp.msi 968,704 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-sh4.msi 955,392 22. Juli 2010 19:55
Wincepb60-100722-kb2263918-x86.msi 905,216 22. Juli 2010 19:55

Files, die in diesem Hotfixpaket enthalten sind

                  

Dateiname Dateigröße Datum Zeit Pfad
Windows Embedded CE 6.0_update_kb2263918.htm 7,657 22. Juli 2010 1,930 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 hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Weitere Informationen

Weitere Informationen zur Terminologie für Softwareupdates von Microsoft finden Sie im folgenden Artikel der Microsoft Knowledge Base:

824684 Erläuterung von Standardbegriffen bei Microsoft-Softwareupdates