Compartilhar via


Teste de conformidade do SCSI 2.0 (LOGOTIPO)

Este teste automatizado verifica se um dispositivo de armazenamento de blocos (adaptador RAID ou destino de disco) compatível com o sistema operacional está totalmente em conformidade com os padrões scsi (interface do sistema de computador pequeno) descritos nos comandos primários SCSI-3-3 (SPC-3) ou posterior, e scsi block commands-2 (SBC-2) ou especificações posteriores. Para ver essas especificações, acesse Interfaces de Armazenamento T10 SCSI do Comitê Técnico.

Garantir que o dispositivo de bloco e o sistema operacional mantenham a conformidade com esses padrões resulta em um sistema mais robusto e confiável. Embora alguns dispositivos de bloco possam não estar usando um transporte SCSI, o sistema operacional se comunica com eles usando comandos SCSI (exceto para unidades de disco do ATA individuais que não fazem parte de um conjunto RAID).

O teste usa solicitações de passagem SCSI (IOCTL_SCSI_PASS_THROUGH) para construir e enviar blocos de descritor de comando SCSI (CDBs) para o dispositivo. O teste avalia os resultados dos comandos para verificar a conformidade.

Observação

   Se você estiver executando esse teste como parte de um envio raid baseado em hardware de armazenamento (Matriz de Armazenamento) e sua matriz de armazenamento der suporte a E/S Multipath (MPIO), você deverá configurar seu MPIO para usar Fail-Over política Somente e definir o disco de armazenamento de destino para usar o mesmo caminho ativo para todos os discos compatíveis com MPIO.

Se você estiver executando esse teste como parte de um envio RAID (Matriz de Armazenamento) baseado em hardware raid de armazenamento, verifique se o LUN0 está configurado como o LUN de maior tamanho que não é de inicialização.

 

Detalhes do teste

   
Especificações
  • Device.Storage.Hd.ScsiProtocol.SpcCompliance
  • Device.Storage.Controller.Raid.BasicFunction
  • Device.Storage.Hd.ScsiProtocol.ReferenceSpec
  • Device.Storage.Hd.ScsiProtocol.SamCompliance
Plataformas
  • Windows 10, edições de cliente (x86)
  • Windows 10, edições de cliente (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edições de cliente (Arm64)
Versões com suporte
  • Windows 10
  • Windows 10, versão 1511
  • Windows 10, versão 1607
  • Windows 10, versão 1703
  • Windows 10, versão 1709
  • Windows 10, versão 1803
  • Windows 10, versão 1809
  • Windows 10, versão 1903
  • Próxima atualização para Windows 10
Tempo de execução esperado (em minutos) 5
Categoria Compatibilidade
Tempo limite (em minutos) 300
Requer reinicialização false
Requer configuração especial false
Tipo automático

 

Documentação adicional

Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:

Executando o teste

Antes de executar o teste, conclua a configuração de teste conforme descrito nos requisitos de teste para o tipo de controlador de armazenamento que você está testando. Consulte Pré-requisitos de teste de disco rígido para obter mais informações.

Solucionando problemas

Para solucionar problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.

Para obter informações gerais de solução de problemas, consulte Solução de problemas de device.storage testing.

Além disso, o teste grava os resultados nos arquivos de log Scsicompliance.wtl e Scsicompliance.wtl.txt. Você pode usar os resultados para determinar:

  • Se um dispositivo estiver em conformidade com a especificação SCSI

  • Os comandos SCSI opcionais compatíveis com um dispositivo

Para passar, o dispositivo SCSI deve dar suporte a todos os comandos obrigatórios e deve estar totalmente em conformidade com esses comandos. Cada comando tem um limite diferente para aprovação ou falha, e as expectativas são especificadas explicitamente no teste e no arquivo de log.

Comandos opcionais também são testados. Se um dispositivo der suporte aos comandos opcionais e os comandos forem considerados não compatíveis, o teste falhará. Se o dispositivo não der suporte a comandos opcionais, o teste será aprovado.

Observação

   Os erros desse teste ocorrem por meio de problemas identificados no arquivo de log e em erros de parada produzidos por meio do estresse do driver em teste.

 

Durante o teste, se você estiver tendo problemas para remover um LUN que está falhando ou não consegue criar um LUN do controlador de armazenamento, siga estas etapas:

  1. Antes de executar esse teste, verifique se o dispositivo de armazenamento funciona corretamente. Abra diskmgmt.msc, selecione o disco e verifique se você pode colocar o dispositivo Online e Inicializado.

  2. Reinicie o computador de teste do Windows HLK.

  3. Selecione e execute novamente o Teste de Conformidade do SCSI 2.0. Não execute nenhum teste antes dele.

  4. Execute o Teste de Conformidade do SCSI (não o Teste de Conformidade do SCSI 2.0 (LOGO)) no mesmo cliente de teste e no mesmo dispositivo de armazenamento de teste. Se o teste falhar novamente, verifique se o dispositivo de armazenamento está funcionando corretamente. Se o teste falhar durante as etapas 3 e 4, execute os blocos de dados de comando com falha individual (cdbs) um de cada vez com o nível de detalhamento de log definido como 4 (o nível mais alto de log de teste). Isso mostrará quais dados foram enviados e quais dados foram retornados. Um teste pode falhar depois que vários cdbs forem concluídos, mas passar em autônomo. Se isso ocorrer, haverá um problema no firmware ou no teste.

Se você tiver uma redefinição de dispositivo que resulta na queda do dispositivo do barramento e os comandos subsequentes falharem, siga estas etapas:

  1. Copie o binário de teste (Scsicompliance.exe) do controlador do Windows HLK. Esse arquivo está localizado em \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\

  2. Copie o arquivo wttlog.dll do controlador do Windows HLK. Esse arquivo está localizado em \\<controllername>\Tests\<processorarchitectureofyourclient >\wtt

  3. Coloque esses dois arquivos no computador de teste em uma pasta separada.

  4. Em um prompt de comando, no diretório que contém o binário de teste, digite o seguinte comando: Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failcdbname>

    Observação

       DeviceID e valores de cenário podem ser encontrados verificando a linha de reprodução no log de teste. O failcdbname pode ser encontrado executando o binário de teste com a opção /?(scsicompliance.exe /?).

     

  5. Voltar para o mesmo diretório e examine os resultados para ver se você pode determinar o motivo da falha no teste.

  6. Se precisar de ajuda adicional, colete os logs txt e wtl e compartilhe os logs com o Suporte ao Cliente da Microsoft.

Se você estiver executando esse teste no Windows Server 2003, verifique se os discos ou LUNs não são pseudo-LUNs do MPIO. Não há suporte para MPIO no Windows Server 2003.

Mais informações

Os seguintes comandos são validados:

Observação

   Para obter mais informações sobre Referência, visite o site interfaces de armazenamento T10 SCSI do Comitê Técnico .

 

Comando: Unidade de teste pronta

Título: TEST UNIT READY Basic Verification Test

Descrição: o comando TEST UNIT READY fornece um meio para marcar se a unidade lógica estiver pronta. Essa não é uma solicitação para um auto-teste. Se o logicalunit for capaz de aceitar um comando de acesso médio apropriado sem retornarCHECK CONDITION status, esse comando retornará uma status GOOD.

Referência: ScSI Primary Commands – 3 (SPC-3) Revision 23 (or published) specification Section 6.33

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Racionalidade: esse é um comando SPC-3/SPC-4 obrigatório.

Comando: Solicitar Sensor

Título: Teste de suporte REQUEST SENSE (6)

Descrição: verificando se há suporte para o Comando Solicitar Sensor e retorna BOAS status.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Lógica: esse comando é obrigatório no SPC-3/SPC-4 e é usado pelo iniciador para recuperar dados de sensor de erro para comandos com falha.

Título: TESTE DE CÓDIGO DE RESPOSTA DE SOLICITAÇÃO (6)

Descrição: verifique se RESPONSE CODE é 0x70 ou 0x71 ou 0x72 ou 0x73

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27

Expectativa: RESPONSE CODE == 0x70 ou RESPONSE CODE == 0x71 ou RESPONSE CODE == 0x72 ou RESPONSE CODE == 0x73

Título: Teste de comprimento de dados de sensor (6) DE SOLICITAÇÃO (6)

Descrição: verifique se o comprimento dos dados SENSE está correto (os dados transferidos correspondem ao comprimento dos dados relatados pela resposta do comando).

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.27

Expectativa: Comprimento <do Sensor Adicional = Tamanho dos dados de sensor - 8.

Comando: Leitura 6

Título: READ (6) Teste de verificação básico

Descrição: o dispositivo deve retornar status SCSI GOOD (0x0) e os dois primeiros blocos de dados corretamente. Esse teste envia dois comandos READ lendo dois blocos de dados diferentes, mas sobrepostos. Em seguida, ele compara os dados sobrepostos. Ele retornará true se os dados sobrepostos forem os mesmos entre as operações de leitura (implicando que os dois comandos leem os mesmos dados corretamente).

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.5

Expectativa: ScsiStatus == 0x0.

Lógica: alguns dos aplicativos ainda usam a Leitura 6 e não foram transferidos para a Leitura 10. Portanto, marcar se esse comando for implementado e prosseguir com o teste.

Título: READ (6) Teste de Leitura Sequencial

Descrição: o dispositivo deve ler 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, lendo 1024 bytes de dados sequencialmente começando em um endereço de bloco aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.5

Expectativa: todos os comandos READ (6) são bem-sucedidos.

Título: READ (6) Teste de Leitura Aleatório

Descrição: o dispositivo deve ler 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando 1000 vezes, lendo dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.5

Expectativa: todos os comandos READ (6) são bem-sucedidos.

Título: Read (6) Read-With-Disk-Cache-Cleared Test

Descrição: o dispositivo deve retornar dados corretamente depois de limpar o cache de disco de 12 MB. Esse teste primeiro lê dados sequenciais de 12 MB para verificação posterior. Em seguida, ele limpa o cache de disco lendo dados aleatórios de 12 MB. Por fim, ele lê os mesmos dados sequenciais de 12 MB para ver se os dados são iguais aos da primeira leitura.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.5

Expectativa: os dados de 12 MB lidos após a limpeza do cache estão corretos.

Comando: Gravar 6

Título: WRITE (6) Basic Functionality Test

Descrição: o comando grava corretamente um bloco de dados no dispositivo. Esse teste compara os dados que desejamos gravar e o retornado pelo READ após a operação de gravação. Se os dados forem os mesmos, isso implica que o comando WRITE grava os dados no disco corretamente.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.24

Expectativa: ScsiStatus == 0x0.

Lógica: alguns dos aplicativos ainda usam a Gravação 6 e não foram transferidos para a Gravação 10. Portanto, marcar se esse comando for implementado e prosseguir com o teste.

Título: WRITE (6) Teste de Gravação Sequencial

Descrição: o comando grava 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, gravando dados sequencialmente começando em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.24

Expectativa: todos os comandos WRITE (6) são bem-sucedidos.

Título: Write (6) Random Write Test

Descrição: o comando grava 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando WRITE 1000 vezes, gravando dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.24

Expectativa: todos os comandos WRITE (6) são bem-sucedidos.

Título: WRITE (6) Write-With-Disk-Cache-Disabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache desabilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele lê os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.24

Expectativa: os dados de 12 MB são gravados corretamente.

Título: WRITE (6) Write-With-Disk-Cache-Enabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache habilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele envia um comando SYNCHRONIZE CACHE (10) para sincronizar o endereço de bloco lógico no cache com os do disco. Por fim, ele lerá os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.24

Expectativa: os dados de 12 MB são gravados corretamente.

Comando: Inquiry

Título: Teste de verificação básica inquiry

Descrição: o dispositivo deve retornar status SCSI GOOD (0x0) e dados de tamanho menor ou igual a 255 bytes em resposta ao comando INQUIRY com o campo ALLOCATION LENGTH definido como 255 (0xFF) bytes. O campo ALLOCATION LENGTH especifica o número máximo de bytes que um cliente de aplicativo alocou para dados retornados.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0) e dados de tamanho menor ou igual a 255 bytes.

Título: Teste INQUIRY para erro quando o campo PAGE CODE é diferente de zero e EVPD=0.

Descrição: verificando se um erro é retornado quando o campo PAGE CODE é um sinônimo e EVPD=0. Verificando se um erro é retornado quando o campo PAGE CODE isnonzero e EVPD=0.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: ScsiStatus == 0x2, CHECK CONDITION. ScsiStatus == 0x2, CHECK CONDITION.

Título: INQUIRY Recuperando dados de consulta padrão.

Descrição: verificando se podemos recuperar dados de consulta padrão. Verificando se podemos recuperar dados de consulta padrão.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: ScsiStatus == 0x0, GOOD.

Título: INQUIRY Verificando o tamanho dos dados de consulta padrão.

Descrição: os dados inquiry padrão devem conter pelo menos 36 bytes.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: Tamanho da >Transferência de Dados = 36 bytes.

Título: campo Tipo de dispositivo de teste INQUIRY

Descrição: verificando o campo de tipo de dispositivo para garantir que ele seja um dispositivo de acesso direto.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: Tipo de dispositivo == 0x0, dispositivo de acesso direto.

Título: campo qualificador periférico de teste INQUIRY.

Descrição: verificando o campo Qualificador Periférico.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: campo qualificador periférico == 0

Título: Teste de campo DA VERSÃO DO INQUIRY

Descrição: o dispositivo deve retornar um campo VERSION válido de 0x4, 0x5 ou 0x6

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: VERSÃO é 0x4 (SPC-2) ou posterior para o tipo de barramento não SCSI e VERSION é 0x3 (SPC) ou posterior para o tipo de barramento SCSI.

Título: VERIFICAÇÃO DE CONSULTA FORMATO DE DADOS DE RESPOSTA.

Descrição: verificando se RESPONSE DATA FORMAT == 2.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: FORMATO DE DADOS DE RESPOSTA == 2.

Título: INQUIRY Verificando o comprimento adicional.

Descrição: a verificação do campo de comprimento adicional está correta.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: campo Comprimento Adicional == Tamanho total dos dados - 5

Título: campo IDENTIFICAÇÃO DO FORNECEDOR de verificação de CONSULTA.

Descrição: verificando se o campo IDENTIFICAÇÃO DO FORNECEDOR contém ASCII válido.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: o campo IDENTIFICAÇÃO DO FORNECEDOR contém ASCII válido.

Título: campo Verificação DE PRODUTO DE CONSULTA.

Descrição: verificando se o campo IDENTIFICAÇÃO DO PRODUTO contém ASCII válido.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: o campo IDENTIFICAÇÃO DO PRODUTO contém ASCII válido.

Título: campo NÍVEL DE REVISÃO DO PRODUTO de Verificação DE CONSULTA.

Descrição: verificando se o campo NÍVEL DE REVISÃO DO PRODUTO contém ASCII válido.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: o campo NÍVEL DE REVISÃO DO PRODUTO contém ASCII válido.

Título: Teste de dados de suporte do comando INQUIRY.

Descrição: o dispositivo deve definir o bit HiSup nos dados de consulta padrão.

Referência: ScSI Architecture Model - 3 (SAM-3) Revisão 14 (ou posterior) especificação seção 4.9.2

Expectativa: o bit HiSup é definido em Dados de Consulta Padrão.

Título: Verificação inquiry para páginas de produtos vitais com suporte.

Descrição: verificando se há suporte para páginas de produtos vitais.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.4

Expectativa: a lista de páginas de dados vitais do produto com suporte é retornada.

Título: Consulta Testando o acesso a cada página de dados de produto vital com suporte.

Descrição: tentando acessar cada Página de Dados vitais do produto com suporte.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4.4

Expectativa: cada página com suporte é acessível (até 255 bytes).

Título: página número de série da unidade de tentativa inquiry 0x80.

Descrição: verificando se há suporte para a página número de série da unidade 0x80 e se é válido ASCII.

Referência: ScSI Primary Commands – 3 (SPC-3) Revision 23 (or published) specification Section 7.6.10

Expectativa: ScsiStatus == 0x0 e o resultado é ASCII válido.

Título: inquiry tentando a página de identificação do dispositivo 0x83.

Descrição: verificando se há suporte para a página de identificação do dispositivo 0x83.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.3

Expectativa: ScsiStatus == 0x0.

Título: Consultando descritores de identificação na página VPD 0x83.

Descrição: verificando se os Descritores de Identificação contêm dados significativos.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 7.6.3

Expectativa: todos os descritores são compatíveis e contêm dados significativos.

Título: Consultando descritores de versão.

Descrição: verificando se os descritores de versão estão em conformidade.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.4

Expectativa: existem descritores de versão.

Comando: Mode Select 6

Título: MODE SELECT (6) Teste Básico

Descrição: verificando se um comando MODE SELECT simples, com PF e SP == 0, passa

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Lógica: nossa pilha de armazenamento usa a Página do Modo de Cache para ativar/desativar o cache do dispositivo. Portanto, a capacidade de gravar em páginas de modo usando comandos Mode Select é necessária.

Título: MODE SELECT 6: MODE SENSE (6) Tentando obter a página modo cache.

Descrição: verificando se um comando MODE SENSE simples na página 0x08 retornará UMA BOA status.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit).

Descrição: verificando se o bit Desabilitar Parâmetros para a Página do Modo de Cache é 1.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: PS == 1.

Título: MODE SELECT 6: MODE SENSE (6) Check Mode Parameter Header

Descrição: verifique se MediumType == 0 e BlockDescriptorLength == 0.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: MediumType == 0x0 e BlockDescriptorLength == 0x0

Título: MODE SELECT 6: MODE SENSE (6) Verificando o tamanho da página do modo de cache.

Descrição: a verificação da página modo de cache é de 20 bytes.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: cachePageLength == 20 bytes.

Título: MODE SELECT 6: MODE SENSE (6) Obtendo valores alteráveis.

Descrição: salvando valores alteráveis para a página modo de cache

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 6: MODE SENSE (6) Obtendo valores padrão.

Descrição: salvando valores padrão para a página modo cache.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT (6) Alterando O WCE.

Descrição: aplicando MODE SELECT a WCE=0 para o dispositivo.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 6: MODE SENSE (6) Verificando se o WCE foi limpo.

Descrição: verificando se o comando MODE SELECT anterior realmente alterou os parâmetros do modo atual.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o WCE é claro.

Título: MODE SELECT 6: MODE SENSE (6) Verificando se os valores salvos foram alterados.

Descrição: verificando se o comando MODE SELECT anterior realmente alterou os parâmetros de modo salvo.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: os valores salvos foram alterados.

Título: CONFIGURAÇÃO DE MODE SELECT (6) WCE

Descrição: aplicando MODE SELECT para definir o WCE.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.7

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 6: MODE SENSE (6) Verificando se o WCE foi definido.

Descrição: verificando se o comando MODE SELECT anterior realmente definiu WCE.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.7

Expectativa: os valores atuais foram definidos.

Título: MODE SELECT (6) Tentando restaurar valores originais.

Descrição: o modo de teste SELECT pode retornar os valores da Página do Modo de Cache para seus valores originais.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.7

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Título: MODE SELECT 6: MODE SENSE (6) Verificar se os valores foram restaurados.

Descrição: verificando se os valores foram restaurados na página Modo cache.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.7

Expectativa: valores atuais são iguais aos valores padrão.

Comando: Mode Sense 6

Título: MODE SENSE (6) Teste Básico

Descrição: verificando se um comando MODE SENSE simples na página 0x3f retornará GOOD status

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Racionalidade: a pilha de armazenamento usa a Página do Modo de Cache para ativar/desativar o cache do dispositivo. Portanto, a capacidade de ler para páginas de modo usando comandos mode sense é necessária.

Título: MODE SENSE (6) Verificando o tamanho dos dados retornados.

Descrição: verificando se recebemos uma quantidade mínima de dados (ou seja, pelo menos o CABEÇALHO DE PARÂMETRO DE MODO).

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: Tamanho da Transferência de >Dados = 4 bytes

Título: MODE SENSE (6) CABEÇALHO DO PARÂMETRO MODO DE VERIFICAÇÃO

Descrição: verificando se as informações de comprimento de CABEÇALHO DO PARÂMETRO MODE são válidas.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: ModeDataLength = Data Transfer Length - 1 = -1 bytes.

Título: MODE SENSE (6) Test DBD (desabilitar descritores de bloco) bit.

Descrição: teste para garantir que, quando o bit DBD estiver definido, nenhum descritor de bloco seja retornado.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: bloquear comprimento do descritor = 0

Título: MODE SENSE (6) Testando o novo comprimento de dados quando o bit DBD é definido.

Descrição: : testar se o novo comprimento de dados deve ser igual ao comprimento de dados antigo menos o comprimento do descritor do bloco.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: Novo comprimento de dados = comprimento de dados antigo

Título: MODE SENSE (6) Comparando dados DE PÁGINA DO MODO antes e depois que o bit DBD é definido

Descrição: testar esses dados de página é o mesmo antes e depois que o bit DBD é definido.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: os dados da página corresponderão

Título: Campo de controle de página de teste MODE SENSE (6)

Descrição: teste valores diferentes do campo Controle de página e impondo o tamanho dos dados retornados.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: o comprimento dos dados para cada valor do pc está correto.

Título: MODE SENSE (6) Verificando todas as páginas de modo.

Descrição: verificando a página modo 0x3f dados para examinar páginas de modo com suporte.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: para localizar páginas de modo com suporte: página do modo de controle de exceção de informações e página modo de cache.

Título: MODE SENSE (6) Garantindo que as páginas de modo obrigatório sejam compatíveis

Descrição: verificando se as páginas de modo necessário estão presentes no MODO PÁGINA 0x3f

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: há suporte para cache e páginas de Exceção Informativa, no mínimo.

Título: MODE SENSE (6) Verificando páginas de modo individual

Descrição: teste para garantir que possamos acessar cada página de modo individual e que os paremeters estejam corretos

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: as páginas devem ser retornadas e os cabeçalhos devem estar em conformidade

Título: mode sense (6) verificando a página do modo de exceção informativa

Descrição: garantir que a página modo de exceção informativa esteja em conformidade

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: há suporte para a Página do Modo de Condição de Energia

Título: mode sense (6) verificando a página do modo de exceção informativa

Descrição: garantir que a página modo de exceção informativa esteja em conformidade

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: há suporte para a Página do Modo de Condição de Energia

Título: MODE SENSE (6) Verificando a página Modo de Condição de Energia.

Descrição: garantir que a página modo de condição de energia esteja em conformidade

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: há suporte para a página modo de exceção informativa

Título: MODE SENSE (6) Página verificando o modo de cache.

Descrição: garantir que a página modo de cache esteja em conformidade.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: há suporte para a Página do Modo de Cache.

Título: MODE SENSE (6) Verificando parâmetros específicos do dispositivo

Descrição: isso testa se há suporte para os parâmetros específicos do dispositivo.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) especificação seção 6.9

Expectativa: Nada.

Comando: Ler a Capacidade 10

Título: READ CAPACITY (10) Teste básico de verificação

Descrição: o dispositivo deve retornar GOOD (0x0) SCSI status e 8 bytes de dados de parâmetro que descrevem a capacidade e o formato médio do dispositivo de bloco para o buffer de dados.

Referência: ScSI Block Commands – 2 (SBC-2) Revision 16 (or published) specification Section 5.10

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Racionalidade: esse comando é necessário para operações de formatação e inicialização.

Comando: Leitura 10

Título: LEIA (10) Teste de Funcionalidade Básica

Descrição: o comando lê os dois primeiros blocos de dados corretamente. Esse teste envia dois comandos READ lendo dois blocos de dados diferentes, mas sobrepostos. Em seguida, ele compara os dados sobrepostos. Ele retornará true se os dados sobrepostos forem os mesmos entre as operações de leitura (implicando que os dois comandos leem os mesmos dados corretamente).

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.6

Expectativa: Status do Scsi == 0x0.

Racionalidade: usado para ler dados do dispositivo.

Título: Leitura (10) Teste de Leitura Sequencial

Descrição: o comando lê 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, lendo dados sequencialmente começando em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.6

Expectativa: todos os comandos READ (10) são bem-sucedidos.

Título: LEITURA (10) Teste de Leitura Aleatório

Descrição: o comando lê 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando 1000 vezes, lendo dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.6

Expectativa: todos os comandos READ (10) são bem-sucedidos.

Título: leitura (10) Teste de leitura com cache de disco limpo

Descrição: o comando lê 12 MB de dados corretamente com o cache de disco limpo. Este teste lê primeiro dados sequenciais de 12 MB para verificação posterior. Em seguida, ele limpa o cache de disco lendo dados aleatórios de 12 MB. Por fim, ele lê os mesmos dados sequenciais de 12 MB para ver se os dados são iguais aos da primeira leitura.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.6

Expectativa: os dados de 12 MB lidos após a limpeza do cache estão corretos.

Comando: Gravar 10

Título: Write (10) Basic Functionality Test

Descrição: o comando grava corretamente um bloco de dados no dispositivo. Esse teste compara os dados que desejamos gravar e o retornado pelo READ após a operação de gravação. Se os dados forem os mesmos, isso implica que o comando WRITE grava os dados no disco corretamente.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25

Expectativa: ScsiStatus == 0x0.

Racionalidade: usado para gravar dados no dispositivo.

Título: WRITE (10) Teste de Gravação Sequencial

Descrição: o comando grava 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, gravando dados sequencialmente começando em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25

Expectativa: todos os comandos WRITE (10) são bem-sucedidos.

Título: Write (10) Random Write Test

Descrição: o comando grava 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando WRITE 1000 vezes, gravando dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25

Expectativa: todos os comandos WRITE (10) são bem-sucedidos.

Título: WRITE (10) Write-With-Disk-Cache-Disabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache desabilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele lê os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25

Expectativa: os dados de 12 MB são gravados corretamente

Título: WRITE (10) Write-With-Disk-Cache-Enabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache habilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele envia um comando SYNCHRONIZE CACHE (10) para sincronizar o endereço de bloco lógico no cache com os do disco. Por fim, ele lerá os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25

Expectativa: os dados de 12 MB são gravados corretamente.

Título: Write (10) FUA Test

Descrição: o comando grava dados no disco corretamente com cache e FUA (Forçar Acesso à Unidade) ativados.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.25.

Expectativa: os dados são gravados corretamente no disco com FUA ativado. As somas de verificação de todas as GRAVAÇÕES (10) estão corretas.

Título: VERIFICAR (10) Teste de suporte

Descrição: verifique se o dispositivo dá suporte ao comando VERIFY (10). Esse teste emite um comando VERIFY (10) simples e verifica se o código de retorno é 0x2 (o que significa que não há suporte).

Referência: ScSI Block Commands - 3 (SBC-3) Revision 27 (or published) specification Section 5.28.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFY (10) Teste de comprimento zero

Descrição: o teste envia o comando VERIFY (10) com LOGICAL BLOCK ADDRESS e VERIFICATION LENGTH definidos como 0. Com base na especificação , o campo VERIFICATION LENGTH definido como zero especifica que nenhum bloco lógico deve ser verificado. Essa condição não deve ser considerada como um erro.

Referência: ScSI Block Commands - 3 (SBC-3) Revision 27 (or published) specification Section 5.28.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFICAR (10) Teste lba aleatório

Descrição: o teste envia o comando VEIRFY (10) com VERIFICATION LENGTH = 1 e LOGICAL BLOCK ADDRESS aleatório (aleatório entre 0 e o último LBA).

Referência: ScSI Block Commands - 3 (SBC-3) Revision 27 (or published) specification Section 5.28.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFICAR (10) Exceder o teste de capacidade

Descrição: o teste envia o comando VEIRFY (10) com VERIFICATION LENGTH = 2 e LOGICAL BLOCK ADDRESS definido como o último LBA.

Referência: ScSI Block Commands - 3 (SBC-3) Revision 27 (or published) specification Section 5.28.

Expectativa: o Status do Scsi é 0x2 (CHECK CONDITION).

Comando: Mode Select 10

Título: MODE SELECT (10) Teste Básico

Descrição: verificando se um comando MODE SELECT simples, com PF e SP == 0, passa

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Racionalidade: o modo Selecionar 6 é obrigatório e o Modo Selecionar 10 é Opcional e seria testado se implementado.

Título: MODE SELECT 10: MODE SENSE (10) Tentando obter a página modo cache.

Descrição: verificando se um comando MODE SENSE simples na página 0x08 retornará UMA BOA status.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit).

Descrição: verificando se o bit Desabilitar Parâmetros para a Página do Modo de Cache é 1.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: PS == 1.

Título: MODE SELECT 10: MODE SENSE (10) Check Mode Parameter Header

Descrição: verifique se MediumType == 0 e BlockDescriptorLength == 0.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: MediumType == 0x0 e BlockDescriptorLength == 0x0

Título: MODE SELECT 10: MODE SENSE (10) Verificando o tamanho da página do modo de cache.

Descrição: a verificação da página modo de cache é de 20 bytes.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: cachePageLength == 20 bytes.

Título: MODE SELECT 10: MODE SENSE (10) Obtendo valores alteráveis.

Descrição: salvando valores alteráveis para a página modo de cache

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 10: MODE SENSE (10) Obtendo valores padrão.

Descrição: salvando valores padrão para a página modo cache.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar o statu SCSI GOOD (0x0)

Título: MODE SELECT (10) Alterando O WCE.

Descrição: aplicando MODE SELECT a WCE=0 para o dispositivo.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 10: MODE SENSE (10) Verificando se o WCE foi limpo.

Descrição: verificando se o comando MODE SELECT anterior realmente alterou os parâmetros do modo atual.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: : O WCE está claro.

Título: MODE SELECT 10: MODE SENSE (10) Verificando se os valores salvos foram alterados.

Descrição: verificando se o comando MODE SELECT anterior realmente alterou os parâmetros de modo salvo.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: os valores salvos foram alterados.

Título: CONFIGURAÇÃO DE MODE SELECT (10) WCE

Descrição: aplicando MODE SELECT para definir o WCE.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 10: MODE SENSE (10) Verificando se o WCE foi definido.

Descrição: verificando se o comando MODE SELECT anterior realmente definiu o WCE.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: os valores atuais foram definidos.

Título: MODE SELECT (10) Tentando restaurar valores originais.

Descrição: Testando MODE SELECT pode retornar os valores de Página do Modo de Cache para seus valores originais

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Título: MODE SELECT 10: MODE SENSE (10) Verificando se os valores foram restaurados.

Descrição: verificando se os valores foram restaurados na página Modo cache.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.8

Expectativa: valores atuais são iguais aos valores padrão.

Comando: Mode Sense 10

Título: MODE SENSE (10) Teste Básico

Descrição: verificar se um comando MODE SENSE10 simples no 0x3f de página retornará GOOD status

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: o dispositivo deve retornar status SCSI GOOD (0x0)

Lógica: o Modo Sensor 6 é obrigatório e o Sensor de Modo 10 é Opcional e seria testado se implementado.

Título: MODE SENSE (10) Verificando o tamanho dos dados retornados.

Descrição: verificando se recebemos uma quantidade mínima de dados (ou seja, pelo menos o CABEÇALHO DO PARÂMETRO DE MODO).

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: Tamanho da Transferência de >Dados = 8 bytes

Título: MODE SENSE (10) VERIFICANDO O CABEÇALHO DO PARÂMETRO MODE

Descrição: verificando se as informações de comprimento de CABEÇALHO DO PARÂMETRO MODE são válidas.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: ModeDataLength = Comprimento da Transferência de Dados - 2 = -2 bytes.

Título: MODE SENSE (10) Test DBD (desabilitar descritores de bloco) bit.

Descrição: teste para garantir que, quando o bit DBD estiver definido, nenhum descritor de bloco seja retornado.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: comprimento do descritor de bloco = 0

Título: MODE SENSE (10) Comparing MODE PAGE data before and after DBD bit is set

Descrição: testar esses dados de página é o mesmo antes e depois que o bit DBD é definido.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: os dados da página corresponderão

Título: MODE SENSE (10) Campo de controle de página de teste

Descrição: testando valores diferentes do campo de controle Página e impondo o tamanho dos dados retornados.

Referência: ScSI Primary Commands - 3 (SPC-3) Revision 23 (or published) specification Section 6.10

Expectativa: o comprimento dos dados para cada valor do computador está correto e PC=0 e PC=2 retornam boas status.

Comando: Leitura 16

Título: Teste de suporte read (16)

Descrição: verifique se o dispositivo dá suporte ao comando READ (16). Esse teste emite um comando READ (16) simples e verifica se o código de retorno é 0x2 (o que significa que não há suporte).

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.8

Expectativa: o Status do Scsi é 0x0.

Título: Read (16) Basic Functionality Test

Descrição: o comando lê os dois primeiros blocos de dados corretamente. Esse teste envia dois comandos READ lendo dois blocos de dados diferentes, mas sobrepostos. Em seguida, ele compara os dados sobrepostos. Ele retornará true se os dados sobrepostos forem os mesmos entre as operações de leitura (implicando que os dois comandos leem os mesmos dados corretamente).

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.8

Expectativa: o Status do Scsi é 0x0.

Lógica: se o dispositivo for LBA de 64 bits, a Leitura 16 será obrigatória para ler o disco inteiro. Caso contrário, seu if-implemented.

Título: READ (16) Teste de Leitura Sequencial

Descrição: o dispositivo deve ler 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, lendo dados sequencialmente começando em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.8

Expectativa: todos os comandos READ (16) são bem-sucedidos.

Título: READ (16) Teste de Leitura Aleatório

Descrição: o comando lê 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando READ (16) 1000 vezes, lendo dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.8

Expectativa: todos os comandos READ (16) são bem-sucedidos.

Título: Read (16) Read-With-Disk-Cache-Cleared Test

Descrição: o comando lê 12 MB de dados corretamente com o cache de disco limpo. Esse teste primeiro lê dados sequenciais de 12 MB para verificação posterior. Em seguida, ele limpa o cache de disco lendo dados aleatórios de 12 MB. Por fim, ele lê os mesmos dados sequenciais de 12 MB para ver se os dados são iguais aos da primeira leitura.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.8

Expectativa: os dados de 12 MB lidos após a limpeza do cache estão corretos.

Comando: Gravar 16

Título: Teste de suporte write (16)

Descrição: verifique se o dispositivo dá suporte ao comando. Esse teste emite um comando WRITE (16) simples e verifica se o código de retorno é 0x2 (Verificar Condição).

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: ScsiStatus == 0x0.

Título: Write (16) Basic Functionality Test

Descrição: o comando grava corretamente um bloco de dados no dispositivo. Esse teste compara os dados que desejamos gravar e o retornado pelo READ após a operação de gravação. Se os dados forem os mesmos, isso implica que o comando WRITE grava os dados no disco corretamente.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: : ScsiStatus == 0x0.

Lógica: se o dispositivo for LBA de 64 bits, a Gravação 16 será obrigatória para gravar o disco inteiro. Caso contrário, seu if-implemented.

Título: WRITE (16) Teste de Gravação Sequencial

Descrição: o comando grava 1000 blocos sequenciais de dados corretamente. Esse teste envia o comando 1000 vezes, gravando dados sequencialmente começando em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: todos os comandos WRITE (16) são bem-sucedidos.

Título: Write (16) Random Write Test

Descrição: o comando grava 1000 blocos aleatórios de dados corretamente. Esse teste envia o comando WRITE 1000 vezes, gravando dados em um endereço de bloco lógico aleatório.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: todos os comandos WRITE (16) são bem-sucedidos.

Título: WRITE (16) Write-With-Disk-Cache-Disabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache desabilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele lê os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: os dados de 12 MB são gravados corretamente.

Título: WRITE (16) Write-With-Disk-Cache-Enabled Test

Descrição: o comando grava 12 MB de dados corretamente com o cache habilitado. Esse teste grava 12 MB de dados no disco. Em seguida, ele envia um comando SYNCHRONIZE CACHE (10) para sincronizar o endereço de bloco lógico no cache com os do disco. Por fim, ele lerá os mesmos dados de 12 MB que acabaram de ser gravados para verificar se os dados que acabamos de gravar estão corretos.

Referência: ScSI Block Commands - 2 (SBC-2) Revision 16 (or published) specification Section 5.27

Expectativa: os dados de 12 MB retornados pelos WRITEs estão corretos.

Título: VERIFICAR (16) Teste de suporte

Descrição: verifique se o dispositivo dá suporte ao comando VERIFY (16). Esse teste emite um comando VERIFY (16) simples e verifica se o código de retorno é 0x2 (o que significa que não há suporte).

Referência: ScSI Block Commands - 3 (SBC-3) Revision 27 (or published) specification Section 5.30.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFICAR (16) Teste de Comprimento Zero

Descrição: o teste envia o comando VERIFY (16) com ENDEREÇO DE BLOCO LÓGICO e COMPRIMENTO DE VERIFICAÇÃO definidos como 0. Com base na especificação, o campo VERIFICATION LENGTH definido como zero especifica que nenhum bloco lógico deve ser verificado. Essa condição não deve ser considerada como um erro.

Referência: ScSI Block Commands – 3 (SBC-3) Revisão 27 (ou publicado) especificação seção 5.30.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFICAR (16) Teste LBA aleatório

Descrição: o teste envia o comando VERIFY (16) com VERIFICATION LENGTH = 1 e ENDEREÇO DE BLOCO LÓGICO aleatório (aleatório entre 0 e o último LBA).

Referência: ScSI Block Commands – 3 (SBC-3) Revisão 27 (ou publicado) especificação seção 5.30.

Expectativa: o Status do Scsi é 0x0 (BOM).

Título: VERIFICAR (16) Exceder teste de capacidade

Descrição: o teste envia o comando VEIRFY (16) com VERIFICATION LENGTH = 2 e LOGICAL BLOCK ADDRESS definido como o último LBA.

Referência: ScSI Block Commands – 3 (SBC-3) Revisão 27 (ou publicado) especificação seção 5.30.

Expectativa: o Status do Scsi é 0x2 (CHECK CONDITION).

Comando: Relatar LUNS

Título: Teste de Verificação Básica do LUNS de RELATÓRIO

Descrição: tenta localizar o LUN 0 correspondente ao D.U.T. e executar o comando LUNS REPORT. Esse teste enviará apenas o LUNS de RELATÓRIO para o LUN 0 no endereço de destino atual por SAM-3. Esse teste emitirá apenas uma solicitação com SELECT REPORT definido como zero por SPC-3.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.21

Expectativa: o dispositivo deve retornar status DE SCSI GOOD (0x0) e dados de tamanho menor ou igual a 255 bytes.

Racionalidade: o LUNS de relatório é usado para descobrir LUNs presentes no dispositivo. É obrigatório para UAS. O BOT usa o comando específico da classe USB GetMaxLun. Portanto, isso é opcional para dispositivos BOT. Embora marcar para implementação desse CDB e testemos esse comando se implementado.

Título: Relatório luns lun0 teste

Descrição: esse teste só enviará LUNS DE RELATÓRIO para LUN 0 no endereço de destino atual por SAM-3. Esse teste emitirá apenas uma solicitação com SELECT REPORT definido como zero por SPC-3.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.21

Expectativa: o dispositivo deve retornar status DE SCSI GOOD (0x0) e dados de tamanho menor ou igual a 255 bytes.

Título: Teste válido de dados LUNS de RELATÓRIO

Descrição: esse teste só enviará LUNS DE RELATÓRIO para LUN 0 no endereço de destino atual por SAM-3. Esse teste emitirá apenas uma solicitação com SELECT REPORT definido como zero por SPC-3.

Referência: ScSI Primary Commands – 3 (SPC-3) Revisão 23 (ou publicado) Especificação da Seção 6.21

Expectativa: cada LUN relatado usa números de nível único restritos a <= 255.

Comando: Ler a Capacidade 16

Título: READ CAPACITY (16) Teste de comprimento de alocação

Descrição: o dispositivo deve retornar STATUS GOOD (0x0) SCSI, embora o comprimento da alocação seja definido como um valor de 0

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.11

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Racionalidade: esse comando é necessário para operações de formatação e inicialização.

Título: READ CAPACITY (16) Teste básico de verificação

Descrição: o dispositivo deve retornar GOOD (0x0) SCSI status e 8 bytes de dados de parâmetro que descrevem a capacidade e o formato médio do dispositivo de bloco para o buffer de dados.

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.11

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Título: Teste de capacidade de READ CAPACITY (16)

Descrição: envie um comando READ CAPACITY para marcar o endereço de bloco relatado. Se o endereço do bloco for maior que o limite de READ CAPACITY 10, verifique se o endereço de bloco READ CAPACITY 10 está definido como 0xFFFF_FFFF.

Referência: ScSI Block Commands – 2 (SBC-2) Revisão 16 (ou publicado) Especificação da Seção 5.11

Expectativa: para endereços de bloco maiores do que READ CAPACITY 10 pode descrever, o endereço de bloco READ CAPACITY 10 está definido como 0xFFFF_FFFF.

Comando: Iniciar Unidade de Parada

Título: START STOP UNIT Basic Test 1

Descrição: enviando StartStopUnit com IMMED=0, LOEJ=0, START=0, unidade de rotação para baixo

Referência: ScSI Block Commands – 2 (SBC-2) Revision 16 (or published) specification Section 5.17

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Racionalidade: esse comando é necessário para garantir a integridade dos dados em face das alterações de estado de energia e da desconexão do barramento.

Título: START STOP UNIT Basic Test 2

Descrição: enviando StartStopUnit com IMMED=0, LOEJ=0, START=1, unidade de rotação

Referência: ScSI Block Commands – 2 (SBC-2) Revision 16 (or published) specification Section 5.17

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Título: START STOP UNIT Basic Test 3

Descrição: enviando StartStopUnit com IMMED=1, LOEJ=0, START=0, unidade de rotação para baixo

Referência: ScSI Block Commands – 2 (SBC-2) Revision 16 (or published) specification Section 5.17

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Título: START STOP UNIT Basic Test 4

Descrição: enviando StartStopUnit com IMMED=1, LOEJ=0, START=1, unidade de rotação

Referência: ScSI Block Commands – 2 (SBC-2) Revision 16 (or published) specification Section 5.17

Expectativa: o dispositivo deve retornar STATUS DE SCSI GOOD (0x0)

Sintaxe de comando

Comando Descrição

Scsicompliance.exe

As opções para o teste estão listadas abaixo

/Dispositivo

O dispositivo no qual o teste deve ser executado

Exemplo: /Caminho do dispositivo físico do <dispositivo>

/Operação

A operação a ser executada.

Exemplo: /Operation Test

/Cenário

O recurso a ser testado.

Exemplo: /Scenario Common

/Verbosidade

O nível de detalhamento do registro em log. Valores maiores causam uma saída mais detalhada.

Exemplo: /Verbosity 4

Observação

   Para obter ajuda de linha de comando para esse binário de teste, digite /?.

 

Lista de arquivos

Arquivo Location

Scsicompliance.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\

 

Parâmetros

Nome do parâmetro Descrição do parâmetro
DiskDeviceObjLink Caminho do dispositivo do disco para testar EX: \\.\disk0
WDKDeviceID Caminho da instância do dispositivo a ser testado
LogVerbosity LoggingVerbosity: detalhes do registro em log. Os níveis são cumulativos. 0 = Declarações e resultados. 1 = Detalhes (padrão). 2 = CDBs, dados e informações de sensor. 3 = Informações detalhadas da página Depuração e Modo. 4 = Uso de memória
ScenarioId Nome do teste de cenário.
LLU_NetAccessOnly Conta de usuário para acessar o compartilhamento de arquivos de teste.
LLU_LclAdminUsr Conta de usuário para executar o teste.
OperationId
Destrutivo (0,1) 0=Passivo, 1=Destrutivo