Skip to main content

O que é o enfileiramento de comandos nativo?

O enfileiramento de comandos nativo é um sistema que permite que os discos rígidos de conexão avançada de tecnologia avançada (SATA) controlem sua própria fila interna de solicitações de leitura e gravação. Em sistemas que não usam enfileiramento de comandos nativo, a unidade executa comandos na ordem em que foram recebidos do sistema principal. O enfileiramento de comandos nativo permite que a unidade reordene os comandos para tornar o processo de recuperação mais eficiente. Isso acelera o tempo de recuperação de informações e diminui o desgaste físico na unidade.

Os dados no disco rígido são armazenados em folhas magnéticas finas como papel, chamadas de pratos. Cada unidade possui vários pratos, todos contendo informações. Para ler e escrever no prato, os discos rígidos usam um braço semelhante ao de um toca-discos. À medida que o prato gira, o braço se move para frente e para trás nas seções do prato que contêm os dados.

Quando observados por um ser humano, os dados no disco rígido parecem totalmente aleatórios. Duas informações relacionadas podem estar amplamente espaçadas na unidade. Para ler as duas peças, o braço encontra a primeira e depois se move na posição para localizar a segunda. Se o inversor receber um comando de leitura ou gravação após o outro, o braço precisará se mover constantemente para alinhar-se com os dados. Se cada um dos comandos exigir que o braço se mova para o lado oposto do mesmo prato, muito tempo será perdido no processo de vaivém.

Ao usar o enfileiramento de comandos nativo, a unidade pode escolher a ordem em que executa um determinado conjunto de comandos. Em essência, ele realiza o maior número possível de operações em uma área e depois se move para uma área diferente. Isso significa que o inversor reduziu o tempo de busca e a espera entre os comandos. Como um benefício adicional, o inversor gasta menos tempo fazendo movimentos desnecessários. Isso reduzirá o desgaste na unidade em uma pequena quantidade.

Os sistemas avançados podem tirar proveito de outro benefício da fila de comandos nativa. Quando um processador está ocupado e incapaz de aceitar comandos, a unidade pode enviar todas as solicitações de gravação para a frente da fila. Como o processador está ocupado demais para aceitar comandos de leitura, a unidade pode optar por não resolver nenhum. Isso pode resultar em uma enorme melhoria de desempenho, especialmente em sistemas com várias unidades e múltiplos núcleos.

Essa tecnologia também é usada em algumas formas de unidades de estado sólido. Essas unidades não usam o sistema de braço e prato de unidades padrão; portanto, geralmente trabalham muito mais rápido. Como são muito rápidos, geralmente trabalham mais rápido que o resto do sistema e acabam com gargalos. Ao usar o enfileiramento de comandos nativo, eles podem reordenar seus comandos para enviar leituras sempre que possível e gravar quando o sistema ficar para trás.