Síntomas
Considere los escenarios siguientes.
Escenario 1
-
Instalar una aplicación que utiliza el código de control de dispositivo IOCTL_SCSI_PASS_THROUGH en un equipo que está ejecutando Windows 8.1 o R2 de Windows Server 2012.
-
La aplicación envía comandos de lectura o escritura mediante el mecanismo de paso de SCSI a la interfaz no volátil de memoria Express (NVMe). El componente de la interfaz NVMe en Windows es Stornvme.sys.
-
El tamaño del búfer no es un múltiplo del tamaño de sector.
En este escenario, se producen daños en los datos.
Escenario 2
Suponga que instala un dispositivo de NVMe en un equipo basado en Windows Server 2012 R2 o Windows 8.1. Cuando el dispositivo NVMe informa de un problema de estado de salud o un problema de estado de supervisión automática, análisis y tecnología de generación de informes (SMART) mediante el evento asincrónico, muchos eventos Async se utilizan inesperadamente.
Causa
Escenario 1
Este problema se produce porque el dispositivo de NVMe y la compatibilidad de interfaz de StorNVMe listas de página física de región (PRP) sólo para datos de operaciones de transferencia.
Cuando Windows realiza una operación de transferencia de datos, el dispositivo recibe una memoria comenzando la dirección y el número de sectores que se transfiere. Por lo tanto, cuando el tamaño del búfer de datos no es un múltiplo de los tamaños de sector, leer y escribir comandos no funcionan correctamente. Concretamente, lea los comandos de hacer que el dispositivo transferir más datos que el tamaño del búfer de datos y comandos de escritura que el dispositivo escribir en el disco con los datos de memoria del núcleo aleatorios en el búfer de datos.
Nota: A diferencia de otros protocolos de dispositivos que admiten listas de dispersión y recopilación que tiene longitudes de búfer, en bytes, la lista PRP para la transferencia de datos sólo sabe el recuento del sector que se transferirá. Por lo tanto, StorNVMe convierte el tamaño de la transferencia de datos a un tamaño de sector.
Escenario 2
Este problema se produce porque el controlador Stornvme.sys borra el informe cuando el dispositivo de NVMe genera el evento de SMART Async. Por lo tanto, el dispositivo está en un bucle de enviar un evento asincrónico si no cambia el estado del controlador.
Solución
Información de actualización
Para resolver este problema, instale el paquete acumulativo de actualizaciones 2887595. Para obtener más información acerca de cómo obtener este paquete acumulativo de actualizaciones, haga clic en el número de artículo siguiente para ir al artículo en Microsoft Knowledge Base:
2887595 Windows RT 8.1 8.1 de Windows y Windows Server 2012 R2 acumulativo: noviembre de 2013
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Más información
Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft