Native Command Queuing

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Este artigo não cita fontes confiáveis e independentes (desde janeiro de 2010). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)
Searchtool.svg
Esta página ou secção foi marcada para revisão, devido a inconsistências e/ou dados de confiabilidade duvidosa (desde janeiro de 2010). Se tem algum conhecimento sobre o tema, por favor, verifique e melhore a consistência e o rigor deste artigo. Considere utilizar {{revisão-sobre}} para associar este artigo com um WikiProjeto e colocar uma explicação mais detalhada na discussão.
Exemplo de como funciona o acesso ao disco sem NCQ (em vermelho) e com NCQ (em verde)

O Comando Nativo de Enfileiramento também conhecido como NCQ (do acrônimo do inglês Native Command Queuing), é um protocolo de comando para dispositivos com o padrão SATA que possibilita ter diversos comandos pendentes serem executados em uma ordem internamente determinada pelo dispositivo (disco rígido).

Em termos simples, a funcionalidade do NCQ é um tanto similar a um elevador. O elevador viaja sequencialmente de andar a andar e deixa as pessoas entrarem e saírem. Não segue a sequência que os usuários apertaram os botões de pedido do andar porque significaria uma carga mecânica excessiva e um tempo muito mais longo para esperar ou montar.

Um dispositivo SATA que suporte NCQ tem uma fila interna em que os comandos podem dinamicamente ser reagendados e requisitados novamente. NCQ inclui um mecanismo de rastreamento para ambas parcelas proeminentes e terminadas do workload do dispositivo. Além disso, o NCQ pode deixar o host emitir comandos adicionais ao dispositivo enquanto o dispositivo atende outro comando.

Desempenho e resistência[editar | editar código-fonte]

NCQ gera benefícios em grandes proporções, especialmente na área de desempenho, produzindo vasto desempenho com alta transição de workloads. O benefício do desempenho pode atingir uma adição de desempenho de um dispositivo de 10K SATA. Adicionalmente, em consequência da sua manipulação de dados e de comandos, NCQ reduz o desgaste mecânico nos dispositivos e melhora sua resistência.

Como o NCQ trabalha[editar | editar código-fonte]

NCQ compreende três componentes principais de funcionalidade. Dentro de cada um deles inclui as potencialidades que aumentam o desempenho e a duração de movimentações de SATA.

  • Comando de enfileiramento: um dispositivo SATA NCQ pode enfileirar comandos e executá-los imediatamente. O dispositivo sabe qual protocolo que deve ser aplicado aos diferentes comandos. Aplica um tag único para os comandos.
  • Transferindo dados para cada comando: NCQ deixa o dispositivo ajustar uma operação de "acesso direto à memória" (DMA) para transferência de dados sem intervenção do software do host. O dispositivo controla o motor do "Acesso Direto à Memória", seleciona transferências para minimizar latências, e otimiza o pedido de comando.
  • Status de retorno para comandos terminados: O dispositivo retorna um status para comandos terminados. O status do comando é "corrida-livre", que significa que um status para qualquer comando pode ser comunicado em qualquer momento, sem um "handshake" entre o dispositivo e o host. O host e o dispositivo usam um registro de 32-bit para comunicar-se sobre comandos proeminentes, e mantém este registro sempre exato.

Ver também[editar | editar código-fonte]