Meu professor publicou um slide sobre como calcular a recuperação de dados do disco rígido usando o modelo de bloco. As especificações foram:
- 7200 RPM
- 5ms PROCURAR
- 80MB / s TAXA DE TRANSFERÊNCIA
- MODELO DE BLOCO: Tamanho do bloco 4KB
Não entendo como ele fez o cálculo a seguir ou de onde vieram alguns números:
5ms + 1000/240 ms + 0,05ms = 9,216ms para ler o bloco.
Alguém pode me dizer de onde vêm 1000/240 ms e 0,05ms?
Edição: Se os números estavam completamente errados, como você faria isso então?
Respostas:
O disco em questão possui uma taxa de transferência de 80 MiB / s, ou 81920 kiB / s, ou 20480 blocos / s. Aqui, arredondaremos para 20.000 blocos / segundo, pois esse parece ser o que seu professor fez. Isso equivale a 0,05 ms para transferir um bloco, explicando o último termo na equação.
Finalmente, além de buscar tempo (tempo para mover o cabeçote da unidade para a pista), há também a latência rotacional do próprio disco para lidar. Em 7200 RPM, no pior dos casos, temos que esperar uma revolução completa, mas, em média, temos que esperar uma meia revolução - ou 4.166ms (7200 RPM = 120 rev / s = 8.333ms / rev).
Assim, para transferir um bloco para o computador, devemos esperar o equivalente
Seek Time
+Rotational Latency
+Transfer Time
:Observe que, para as unidades de estado sólido, embora não haja latência de rotação a ser levada em consideração, certamente ainda há um tempo de busca mensurável (para realmente abordar o conteúdo dos setores na memória flash) e o tempo de transferência (amplamente limitado pelo barramento sendo usado para transferir os dados em si, por exemplo, SATA).
Portanto, em geral, o tempo total de acesso para ler um único setor de uma unidade é (negligenciando o software):
fonte
O tempo de busca de 5 ms é o tempo para o disco rígido mover sua cabeça para o caminho certo (e selecionar a cabeça certa, algo que também leva tempo, mas que seu professor ignorou).
Uma vez que o cabeçote está no caminho certo, ele precisa aguardar o setor certo passar por baixo do cabeçote R / W. Nos é dado que é uma unidade de 7200 RPM. Que significa:
Para obter tempo para uma rotação completa da unidade em uma unidade de 7200 RPM:
Então, metade de uma rotação deve levará metade do tempo, 1 / 240 th de um segundo.
1 segundo é 1000 ms
Este é o seu 1000 / 240 ms.
Tudo isso é o tempo até a unidade começar a ler os dados. Ainda será necessário lê-lo e transmiti-lo ao host.
Ler a partir da unidade é geralmente muito mais rápido do que passá-la, por isso vou focar na parte mais lenta:
Dado são:
1) TAXA DE TRANSFERÊNCIA DE 80 MB / s
2) MODELO DE BLOCO: Tamanho do bloco 4KB
Observe que esta resposta ignora que:
fonte