Calculando o tempo de leitura do disco rígido

Calculando o tempo de leitura do disco rígido

Estou estudando para minhas provas e estou preso no seguinte problema:

Um disco possui 20.000 trilhas, uma velocidade de 7.200 RPM e um tempo de busca de 1 ms. A questão pede que eu calcule o tempo total necessário para ler todas as faixas do disco. Isso nos dá uma dica: o tempo de transferência de uma trilha é o tempo que ela precisa para dar uma volta completa sob a cabeça do disco.

Tentei encontrar o horário da transferência primeiro, mas não sei se está correto. Eu recebo 7200/3600.

Como posso resolver isso?

Responder1

Acho que o problema não é realmente sobre computadores ou discos rígidos, se for perguntado como na questão do exame. É mais sobre o básico.

  • Se você tiver 7200 RPM, isso significa que o disco girará (7200/60) = 120vezes por segundo
  • Cada vez que o disco faz uma rotação completa, teoricamente você será capaz de ler 1 trilha completa. Isso significa que a leitura de 1 faixa leva(1/120)s

Então, agora a questão do tempo de busca de 1ms:

  • Se você puder fazer uma leitura contínua, será necessário adicionar o tempo de busca apenas uma vez. Então você tem (1/120)spara cada faixa e a adição única do tempo de busca. Isso parece uma simplificação exagerada.
  • Mais realisticamente: assumindo que a pergunta implica que você precisa de um adicional 1ms (1/1000)spara mudar de uma faixa para outra, você não pode ler 120 faixas por segundo como a rotação por si só sugeriria.
  • Levando em consideração a rotação e o tempo de busca, cada trilha levará (1/1000 + 1/120)spara ser lida.

Observação:

Como @sawdust aponta corretamente nos comentários, esta resposta usa múltiplas simplificações. Isso se deve ao fato de não terem sido fornecidas mais informações na pergunta e tentei trabalhar com o básico. Se a questão for mais complexa (ou lidar com hardware real, em vez de ser uma questão de exame), estes fatores deverão ser considerados:

  • O disco pode ter vários (digamos N) pratos, de modo que as 20.000 faixas podem ser distribuídas pelos Npratos. Em geral, um prato pode ser usado em ambos os lados.[1] Portanto, as 20.000 trilhas de cada um dos 2Ncabeçotes de leitura/gravação na unidade não são 20.000 cilindros, mas sim 20000/(2N)cilindros. Isso pode permitir a leitura 2Nde faixas ao mesmo tempo. Então, a leitura 2Ndas faixas leva (1/120)s.
  • O tempo de busca não deve ser fixado em 1ms. Geralmente é uma combinação detempo de busca de cabeça, onde o cabeçote é movido para o cilindro correto (que pode nem sempre ser constante dependendo de onde você está na unidade),MAISa latência rotacional, o que significa que o próprio disco precisa girar até que a cabeça esteja acima do setor correto. Em média, a latência rotacional pode ser simplificada para ser metade do tempo que o disco leva para fazer uma revolução inteira. Portanto, a latência rotacional pode estar presente (1/240)spara cada novo cilindro.
  • Unidades reais podem ter certos problemas de latência quando enfrentam problemas para ler os dados corretamente. Isso acontece quando os blocos estão danificados ou difíceis de ler e o drive tenta ler os setores com diferentes posicionamentos e parâmetros do cabeçote para aumentar a chance de recuperação de quaisquer dados. Às vezes, as latências resultantes podem até ser observadas com novas unidades de varejo e devem ser levadas em consideração ao planejar um sistema real que depende de leituras de disco oportunas. Portanto, você nem sempre pode presumir que uma trilha será completamente lida após uma única revolução. O problema pode se tornar muito grave, portanto, mais unidades corporativas oferecem recursos como o TLER para limitar o tempo permitido para tentar novamente a leitura de um setor.[2]

[1]:Wikipedia: Setor de cabeçote de cilindro
[2]:Western Digital: Diferença entre unidades da edição Desktop (WD Blue, WD Green e WD Black) e da edição RAID (Enterprise)

informação relacionada