NCQ
Origem: Wikipédia, a enciclopédia livre.
NCQ:
O Comando Nativo de Enfileiramento (NCQ) é um protocolo de comando para SATAs que possibilita ter diversos comandos proeminentes dentro de um driver ao mesmo tempo.
Em termos simples, a funcionalidade do NCQ é um tanto similar à um elevador. O elevador viaja sequencialmente de andar a andar e deixa as pessoas entrarem e sairem. Não segue a seqüê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 longos para esperar ou montar.
Um driver SATA que suporte NCQ tem uma fila interna em que os comandos podem dinâmicamente ser reagendados e requisitados novamente. NCQ inclui um mecanismo de rastreamento para ambas parcelas proeminentes e terminadas do workload do driver. Além disso, o NCQ pode deixar o host emitir comandos adicionais ào driver enquanto o driver procura outro comando.
Desempenho e resistência:
NCQ gera benefícios de 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 driver de 10K SATA. Adicionalmente, em conseqüência da sua manipulação de dados e de comandos, NCQ reduz o desgaste mecânico nos drivers e melhora sua resistência.
Como NCQ Trabalha?
NCQ compreende três componentes principais de funcionalidade. Dentro de cada um deles inclui as potencialidades que aumentam o desempenho e a durabilidade de movimentações de SATA.
- Comando de enfileiramento: Um driver SATA NCQ pode enfileirar comandos e executá-los imediatamente. O driver 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 driver ajustar uma operação de "acesso direto à memória" (DMA) para transferência de dados sem intervenção do software do host. O driver controla o motor do "Acesso Direto à Memória", seleciona transferências para minimizar latências, e otimizar o pedido de comando.
- Status de retorno para comandos terminados: O driver retorna um status para comandos terminados. O status do comando é "raça-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 driver usam um registo de 32-bit para comunicar-se sobre comandos proeminentes, e mantém este registo sempre exato