Simptome
Luați în considerare următoarele scenarii.
Scenariul 1
-
Instalați o aplicație care utilizează codul de control IOCTL_SCSI_PASS_THROUGH dispozitiv pe un computer care execută Windows 8.1 sau Windows Server 2012 R2.
-
Aplicația a trimite comenzi de citire sau scriere utilizând mecanismul SCSI directă la interfață Non-Volatile memorie Express (NVMe). Componenta pentru interfața NVMe din Windows este Stornvme.sys.
-
Dimensiunea tampon nu este un multiplu de dimensiune de sector.
În acest scenariu, apare deteriorarea datelor.
Scenariul 2
Să presupunem că instalați un dispozitiv NVMe pe un computer Windows 8.1 sau Windows Server 2012 R2. Când dispozitivul NVMe raportează o problemă de starea de sănătate sau o problemă de stare auto-monitorizare, analiză și raportare tehnologie (SMART) utilizând evenimentul Async, multe evenimente Async sunt utilizate în mod neașteptat.
Cauza
Scenariul 1
Această problemă apare deoarece dispozitivul NVMe și interfață StorNVMe suportul fizic regiunea pagina (SSP) listează numai pentru date transfer operațiuni.
Atunci când Windows efectuează o operațiune de transfer de date, dispozitivul primește o memorie începând adresa și numărul de sector care este transferat. De aceea, când dimensiunea buffer de date nu este un multiplu de dimensiuni de sector, citire și scriere comenzi nu funcționează corect. Mai precis, citiți comenzi face dispozitivul pentru a transfera mai multe date decât dimensiunea buffer de date și comenzi de scriere face dispozitivul să scrie pe disc cu datele de memorie kernel aleatorii în buffer de date.
Notă Spre deosebire de alte protocoale de dispozitiv care acceptă listele de tip Scatter/Gather care au lungimile tampon în octeți, lista pentru transferul de date SSP ştie numai numărul de sector pentru a fi transferate. De aceea, StorNVMe transformă dimensiunea de transfer de date cu o dimensiune de sector.
Scenariul 2
Această problemă se produce deoarece driverul Stornvme.sys golește raportul când dispozitivul NVMe generează SMART Async evenimentului. De aceea, dispozitivul este într-o buclă de a trimite un eveniment asincron dacă starea de sănătate a controlerului nu se modifică.
Rezolvare
Informaţii despre actualizare
Pentru a rezolva această problemă, instalați pachetul de actualizare 2887595. Pentru mai multe informații despre cum se obține acest pachet set de actualizări, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2887595 Windows RT 8.1, Windows 8.1 şi Windows Server 2012 R2 pachetul de actualizare: noiembrie 2013
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Mai multe informații
Pentru mai multe informaţii despre terminologia privind actualizarea software-ului, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software Microsoft