• Nenhum resultado encontrado

Taxa de Transferência Interna (Internal Transfer Rate)

A taxa de transferência interna é a velocidade "real" do HD ao ler arquivos gravados em setores seqüenciais. Se tivéssemos à mão todas as especificações do HD, incluindo o número de setores por trilha, seria simples calcular a taxa de leitura real do HD. Num HD que tivesse 1584 setores por trilha na área mais externa dos discos e 740 na área mais interna, com 2 patters, rotação de 7200 RPM, tempo de busca Track-to-Track de 0.8 ms e Head Switch Time de 0.6 ms, teríamos o seguinte:

Cada trilha externa possui 1584 setores, cada um com 512 bytes, de forma que temos 792 KB por trilha.

Os discos giram a 7200 RPM, de forma que temos 120 rotações por segundo. Dividindo um segundo por 120 rotações, temos 8.33 milessegundos para cada rotação completa do disco, que corresponde à leitura de cada trilha.

Como o disco tem 2 patters, temos um total de 4 trilhas por cilindro. Para ler cada cilindro, a cabeça de leitura precisa realizar 3 chaveamentos entre as cabeças (0.6 ms cada) e em seguida precisa mover o braço de leitura para o cilindro seguinte, o que demora mais 0.8 ms.

Somando tudo, a leitura de cada cilindro demora aproximadamente 36 ms, o que significa que temos a leitura de 27.7 cilindros por segundo.

Cada cilindro é composto por 4 trilhas, o que corresponde a 3.093 MB. Se o HD consegue ler 27.7 deles por segundo, significaria que nosso HD hipotético teria uma taxa de transferência interna (nas trilhas externas) de aproximadamente 85.9 MB/s. Nas trilhas internas a densidade cai para apenas 1.44 MB por cilindro (já que cada trilha

possui apenas 740 setores), de forma que a taxa de leitura cai para apenas 40.1 MB/s. Ao ler pequenos arquivos, temos a interferência do cache de disco, mas ao ler uma grande quantidade de arquivos, ele deixa de ser eficaz (já que armazena apenas uma pequena quantidade de dados), de forma que a taxa real de transferência cai para os valores da taxa de transferência interna, variando entre 85.9 MB/s e 40.1 MB/s, de acordo com a parte do disco que estivesse sendo lida.

Quando houver referências à "Internal Transfer Rate" ou "Buffer to Disc" nas especificações de um HD, pode ter certeza de tratar-se da velocidade "máxima", atingida quando lidos setores seqüenciais nas bordas do disco. Tenha em mente que no centro do disco você obterá um pouco menos da metade do número divulgado.

No caso dos HDs de notebook, ou de HDs que utilizam platters de 2.5" (como o Raptor) a diferença entre a taxa de leitura nas trilhas internas e externas é menor, numa relação de aproximadamente 2/3 ao invés de 1/2.

O grande problema é que os fabricantes raramente divulgam o número de setores por trilha, nem o Head Switch Time dos HDs, de forma que acaba sendo impossível calcular diretamente a taxa de transferência interna com base nas especificações. Normalmente, você encontrará apenas o número de setores por trilhas visto pelo BIOS (64), que não tem nenhuma relação com o número real.

Resta então usar o método empírico, realizando um teste longo de leitura, como o teste realizado pelo HD Tach, onde são lidos grandes volumes de dados, começando pela borda e prosseguindo até o centro dos discos. O cache pode ajudar o início da leitura, mas os dados armazenados logo se esgotam, deixando apenas a taxa real.

Um bom lugar para pesquisar sobre as taxas de leitura (e outros índices) de diversos modelos é a tabela do Storage Review, disponível no:

http://www.storagereview.com/comparison.html.

Outra tabela recomendada é a disponível no TomsHardware: http://www23.tomshardware.com/storage.html.

Outra curiosidade é que é comum que os fabricantes produzam alguns modelos de HDs onde não são utilizadas todas as trilhas dos discos, de forma a criar HDs com

capacidades definidas, que se adaptem a determinados nichos do mercado. Imagine, por exemplo, que o fabricante X está produzindo todos os seus discos usando platters de 200 GB. Isto significaria que ele teria modelos de 200, 400, 600 e 800 GB, de acordo com o número de platters usados. Imagine agora, que o fabricante Y, que ainda usa uma técnica anterior de produção, lança um HD de 160 GB, que é mais barato que o de 200 GB do fabricante X e por isso começa a roubar mercado dele.

Ao invés de reduzir o custo do HD de 200 GB e perder dinheiro na venda de todos os HDs, o fabricante X pode criar um HD de 160 GB fazendo uma simples alteração no firmware do HD de 200 GB, que faça a controladora deixar de usar as trilhas mais externas do disco. Ele pode agora vender estes HDs de "160 GB" a um preço mais baixo, sem ter que mexer no preço do restante da linha. Por incrível que possa parecer, isto é bastante comum.

Ao medir o desempenho deste HD "castrado", você perceberia que a diferença entre o desempenho nas trilhas internas e internas é bem menor que nos outros modelos. O tempo de acesso médio tente também a ser um pouco menor, já que a cabeça de leitura precisa se deslocar por uma área menor.

NCQ

A grande maioria dos HDs SATA atuais suporta o NCQ, onde a controladora utiliza o tempo ocioso, entre uma leitura e outra, para estudar e reorganizar a ordem das leituras seguintes, de forma que elas possam ser executadas na ordem em que seja necessário o menor movimento possível dos discos. É como no caso de um ônibus, que precisa fazer um itinerário passando por diversos pontos da cidade. Com o NCQ o motorista tem autonomia para fazer alterações na rota, de acordo com as condições do trânsito, escolhendo a rota mais rápida :).

Na prática, o NCQ pode melhorar a taxa de transferência do HD em até 10% em situações específicas, onde são lidos diversos arquivos pequenos espalhados pelo HD, como durante o carregamento do sistema operacional, ou de um programa pesado, mas faz pouca diferença quando você está transferindo grandes arquivos. De qualquer forma, ele é uma otimização implementada via software, que não aumenta o custo de produção dos discos.

Cache (Buffer)

Embora não seja tão importante para o desempenho quanto geralmente se pensa, o cache permite à controladora executar um conjunto de operações úteis para melhorar o desempenho.

Geralmente ao ler um arquivo, serão lidos vários setores seqüenciais. A forma mais rápida de fazer isso é naturalmente fazer com que a cabeça de leitura leia de uma vez todos os setores da trilha, passe para a trilha seguinte, passe para a terceira e assim por diante. Isso permite obter o melhor desempenho possível.

O problema é que na prática não é assim que funciona. O sistema pede o primeiro setor do arquivo e só solicita o próximo depois de recebê-lo e certificar-se de que não existem erros.

Se não houvesse nenhum tipo de buffer, a cabeça de leitura do HD acabaria tendo que passar várias vezes sobre a mesma trilha, lendo um setor a cada passagem, já que não daria tempo de ler os setores seqüencialmente depois de todo tempo perdido antes de cada novo pedido.

Graças ao cache, este problema é resolvido, pois a cada passagem a cabeça de leitura lê todos os setores próximos, independentemente de terem sido solicitados ou não. Após fazer sua verificação de rotina, o sistema solicitará o próximo setor, que por já estar carregado no cache será fornecido em tempo recorde.

Nos HDs atuais, o cache pode ser usado também nas operações de escrita. Imagine, por exemplo, que a controladora está ocupada lendo um arquivo longo e o sistema solicita que ela atualize um pequeno arquivo de log. Ao invés de precisar parar o que está fazendo, a controladora pode armazenar a operação no cache e executá-la mais adiante, num momento de ociosidade.

Nos HDs SATA com NCQ, a controladora possui liberdade para reorganizar as operações, realizando-as de forma que sejam concluídas mais rápido. A controladora passa então a armazenar os dados no cache, de forma que, depois de concluídas as operações, possa organizar os dados e entregá-los na ordem correta para o sistema. O espaço excedente é usado para armazenar os últimos arquivos acessados, de forma que eles possam ser fornecidos rapidamente caso requisitados novamente. A principal vantagem de usar um cache maior, seria justamente ter mais espaço para arquivos. A questão é que o sistema operacional também mantém um cache de leitura e gravação utilizando a memória RAM que, por ser maior que o cache do HD, acaba sendo mais eficiente e também mais rápido, já que o cache do HD tem sua velocidade de

transferência limitada à velocidade da interface IDE ou SATA, enquanto o cache feito pelo sistema operacional está limitado apenas à velocidade de acesso da própria memória RAM.

Este é o principal motivo de um HD com mais cache não ser tão mais rápido quanto se pensa. Enquanto dobrar o tamanho do cache L2 de um processador aumenta seu

desempenho em até 10%, aumentar o cache de um HD de 16 para 32 MB, por exemplo, acaba aumentando seu desempenho real em menos de 1% na maioria das aplicações. Uma pequena quantidade de cache é importante por causa de todos os recursos que vimos, mas a partir de um certo ponto, o tamanho do cache acaba fazendo pouca diferença.

No final das contas, a melhor forma de melhorar o desempenho do HD é comprando mais memória :). No caso do Windows XP, verifique a configuração do cache de disco no Painel de Controle > Sistema > Avançado > Configurações > Avançado > Uso de memória, mudando de "Uso dos programas" para "Cache do sistema". No caso do Windows 98/ME a configuração fica no Painel de Controle > Sistema > Performance, onde a opção "Servidor de rede" é a que reserva mais memória para o cache. No caso do Linux, o cache é gerenciado de forma automaticamente pelo sistema, usando a memória disponível, de forma que não é necessária nenhuma configuração adicional.

Atualmente muito se fala nos HDs híbridos, onde é utilizado um cache maior, feito de memória flash. A principal vantagem neste caso é que os dados armazenados no cache são preservados mesmo ao desligar o micro, permitindo que sejam usados no boot seguinte. Muitos arquivos carregados durante o boot (sobretudo arquivos pequenos) podem então ficar permanentemente armazenados no cache, tornando mais rápido o boot e carregamento dos programas mais usados. Veremos mais detalhes sobre os HDs híbridos e outras tecnologias similares mais adiante.

Documentos relacionados