Prueba de desasignación de NVMe (LOGO)
Esta prueba comprueba el cumplimiento de las especificaciones del comando deallocate en las unidades del controlador NVMe.
Detalles de las pruebas
Especificaciones |
|
Plataformas |
|
Versiones admitidas |
|
Tiempo de ejecución esperado (en minutos) | 2 |
Categoría | Desarrollo |
Tiempo de espera (en minutos) | 120 |
Requiere reinicio | false |
Requiere una configuración especial | false |
Tipo | automatic |
Documentación adicional
Las pruebas de este área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:
Ejecución de la prueba
Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de pruebas de unidad de disco duro.
La prueba requiere que una unidad de controlador NVMe esté conectada. La unidad también debe cumplir los siguientes requisitos:
La unidad debe ser una unidad que no sea de arranque. La prueba es destructiva. Preparará el disco con la partición y el formato correctos para las pruebas.
La unidad debe admitir el comando Deallocate (Trim/Unmap/Discard). La prueba enviará comandos Deallocate mediante el comando DATA SET MANAGEMENT Trim.
Asegúrese de que hay una unidad independiente disponible para usarse como unidad registrador. La prueba seleccionará automáticamente la unidad de registro. Es importante minimizar la cantidad de actividad que se produce en la unidad fuera de la prueba del logotipo. Dado que se trata de una prueba de rendimiento, la actividad externa puede afectar a los resultados.
Solución de problemas
Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.
Comprobación del seguimiento de WTT
Vea el registro de tareas de la prueba de rendimiento de recorte de ejecución.
Abra el archivo de registro TrimPerf.wtl.
Busque mensajes que puedan resolver el problema.
Copie el archivo de registro .wtl. Este es el seguimiento de WTT descrito en la sección Seguimiento de WTT.
Comprobación de los resultados del comando iniciado
Examine los registros de trabajo de la prueba de rendimiento de recorte (LOGO).
Abra LaunchCommand.result.
Si el error está relacionado con el inicio de un proceso, determine por qué error logman o tracerpt.
No se encontraron métricas
La prueba depende de que se habilite el seguimiento etw de Storport para obtener las métricas de finalización de comandos. Consulte la sección Seguimiento de ETW para obtener más información sobre cómo habilitar este seguimiento.
Asegúrese de que no hay ningún otro seguimiento etW de Storport que registre actualmente. Solo un seguimiento etw de Storport puede estar activo a la vez.
Si recibe el mensaje de error "La versión de prueba no admite trim/unmap/unmap/deallocate/discard", pruebe lo siguiente:
Compruebe la unidad NVMe para asegurarse de que el bit LBPU de la página VPD B2h está establecido en uno.
Intente enviar un comando Deallocate mediante el comando Trim de DATA SET MANAGEMENT.
Vuelva a ejecutar la prueba.
Error de prueba con errores de "Error de coincidencia"
La prueba envía comandos Deallocate y comprueba el contenido de la región desasignada. Comprueba los tres escenarios siguientes. Si se produce un error en todos ellos, notifica un error.
Datos anteriores: el comando Deallocate no hizo nada en esa región.
Todos los 0x00s: el comando Deallocate escribió todos los 0x00s en la región.
Todos los 0xFFs: el comando Deallocate escribió todos los 0xFFs en la región.
La prueba imprime la ubicación de una infracción. Al comprobar el desplazamiento de infracción, use el desplazamiento impreso en el archivo de registro más el desplazamiento de bytes de la infracción.
Por ejemplo, en el archivo de registro se imprime:
Comprobación de los datos anteriores: Error de coincidencia en el byte X; Se esperaba: 0x3D, Real: 0xFF
Error en la comprobación de validación de recorte en el desplazamiento Y, longitud Z
A continuación, el desplazamiento del byte de infracción es X + Y (en bytes).
Error de prueba con el "evento de restablecimiento encontrado"
Los comandos de desasignación no deben provocar el evento de restablecimiento de disco. Si se produce este error, compruebe la implementación del comando NVMe deallocate.
Si desea depurar el error ejecutando casos de prueba concretos, puede probar las siguientes opciones de línea de comandos:
Mostrar todos los casos de prueba con números: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Compliance /PrintTestCaseName
Ejecute un caso de prueba determinado por número de caso de prueba: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /Scenario Compliance /Precondition F /TestCase [TestCaseNumber]
Si desea depurar el error más rápido, pruebe a deshabilitar la condición previa (rellene la unidad en un 90 % completo, tarde mucho tiempo) agregando el parámetro /Condición previa F de la siguiente manera:
- TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Complaince /DiskSize 0 /Cooldown 2 /Precondition F
Para obtener más información de solución de problemas, consulte Solución de problemas de Device.Storage Testing.
Más información
La prueba evalúa las métricas siguientes:
Comando Deallocate
Todos los comandos Deallocate deben escribir todos los 0x00, o todos los 0xFF o los datos anteriores en las regiones desasignadas.
Los comandos de desasignación no deben generar eventos de restablecimiento de disco.
Comandos de E/S (con desasignar el envío simultáneamente en diferentes regiones)
- Los comandos desasignar no deben afectar a la corrección de las operaciones de lectura y escritura.
Pasos de reproducción manual
Abra el Editor del Registro y vaya a la siguiente ruta de acceso: HKEY_LOCAL_MACHINE - SYSTEM ->> CurrentControlSet -> Enum-> SCSI -> Disk&Ven_[name of NVMe drive (not controller) under test] -> [device instance path] -> Device Parameters -> Storport
Haga clic con el botón derecho en Storport, haga clic en Nuevoy, a continuación, en Valor DWORD (32 bits).
Asigne un nombre a la clave como EnableLogoETW y establezca el valor en 1.
Vuelva a conectar la unidad en prueba al sistema o reinicie la máquina para habilitar la clave del Registro.
Copie los archivos TrimPerf.exe, EtwProcessor.dll, Wex.Common.dll y Wex.Communication.dll en el equipo local.
Ejecute la línea de comandos.
Sintaxis de comandos
Comando | Descripción |
---|---|
TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LogDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2 |
|
Ejecuta la prueba. |
Nota
Para obtener ayuda de la línea de comandos para este binario de prueba, escriba /h.
Lista de archivos
Archivo | Ubicación |
---|---|
TrimPerf.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\ |
Etwprocessor.dll |
<[taefbinroot]>\ |
Wex.common.dll |
<[taefbinroot]>\ |
Wex.communication.dll |
<[taefbinroot]>\ |
Parámetros
Nombre de parámetro | Descripción de los parámetros |
---|---|
WDKDeviceID | Ruta de acceso de instancia del dispositivo que se va a probar. |
LLU_NetAccessOnly | Cuenta de usuario para acceder al recurso compartido de archivos de prueba. |
LLU_LclAdminUsr | Cuenta de usuario para ejecutar la prueba. |
Destructivo | (0,1) 0=Pasivo, 1=Destructiva |
StorageDriveNumber | Número de unidad de almacenamiento |