Como detectar o tamanho do buffer ou do cache em discos rígidos ATA
Os discos rígidos ATA são definidos por uma especificação de engenharia escrita por um consórcio do setor chamado de comitê T13. O documento de especificação é usado pelo setor de computação para garantir a compatibilidade entre fabricantes de discos, fabricantes de sistemas e chipsets, fabricantes de adaptadores de host, fabricantes de sistemas operacionais, programadores de software e muito mais. Especificações e grupos semelhantes existem para SATA, SCSI, USB e 1394.
A especificação atual se chama ATA-8. A primeira especificação, ATA-1 (1991), definiu os primeiros comandos (com base na interface ESDI) que incluíram o comando Identify Device (Identificar dispositivo). O comando Identify Device (ECh) na especificação ATA retorna 512 bytes de informações binárias sobre um disco rígido. Essas informações incluem dados como o número de modelo, número de série e capacidade. Também incluem recursos, como oferecer suporte a diagnóstico ou a capacidade de funcionar a determinadas velocidades. Quando um computador é inicializado, por exemplo, ele emite o comando Identify Device para detectar automaticamente o tamanho do disco.
A Palavra 21 da resposta do comando Identify Device do ATA-1 (1991) foi definida como:
"Tamanho do buffer em incrementos de 512 bytes (0000h=not specified)"
A resposta na Palavra 21 no ATA-3 (1997) foi alterada para "Obsolete."
A resposta na Palavra 21 no ATA-8 (2006) está atualmente definida como "Retired".
Embora não seja necessário, mesmo com a alteração de especificação do ATA-3, muitos fabricantes de discos continuam a usar a Palavra 21 para indicar o tamanho do buffer. Ao longo dos anos, muitas ferramentas de diagnóstico de disco rígido e utilitários de benchmark foram desenvolvidos que esperam os dados na Palavra 21. Por exemplo, se a Palavra 21 mostrar 8000h, isso seria o equivalente a um tamanho de cache de 16 MB (8000h = 32.768 x 512 = 16.777.216 de bytes).
A Seagate não oferece software de diagnóstico que exiba o tamanho de buffer do disco. As especificações, incluindo o tamanho de buffer, de todos os modelos de disco da Seagate estão disponíveis neste site, na ferramenta de pesquisa de Localização de Suporte.
Por que o tamanho do cache indica 0 MB?
Se seu software de diagnóstico ou benchmark de disco rígido identificar o tamanho de buffer como 0 MB, seu disco pode, na realidade, ter 32 MB de cache. Consulte as especificações publicadas do seu disco para confirmar. O valor máximo que poderia ser armazenado na Palavra 21 é FFFFh. Um disco rígido moderno com 32 MB de buffer precisaria de mais um byte para representar o tamanho do buffer: 10000h. Os dois primeiros bytes de 10000h (palavra 21) é 0000h, ou zero.
É importante entender que quaisquer valores ou informações retornados pelo comando Identify Device são dados simples fornecidos pelo fabricante. Em outras palavras, quando ele retornar um buffer de 8 MB, está apenas lendo dados fornecidos pelo desenvolvedor do disco. Não se trata de uma detecção automática do chip de memória real. Quando um disco informa 0 MB, não se trata de uma detecção automática do tamanho, mas uma leitura dos dados armazenados na Palavra 21.
Portanto, até que uma nova especificação ATA seja adotada pelo comitê T13 para possibilitar a exibição de tamanhos de cache maiores do que FFFFh, o tamanho de buffer será apenas uma especificação publicada.