Calculando o tempo de leitura do modelo de bloco do disco rígido

8

Meu professor postou um slide sobre como calcular a recuperação de dados do disco rígido usando o modelo de bloco. As especificações eram:

  • 7200 RPM
  • 5ms SEEK
  • 80MB / s TAXA DE TRANSFERÊNCIA
  • MODELO DE BLOCO: tamanho do bloco de 4KB

Eu não entendo como ele fez o seguinte cálculo ou de onde vieram alguns dos números:

5ms + 1000/240 ms + 0.05ms = 9,216ms para ler o bloco.

Alguém pode me dizer de onde vieram 1000/240 ms e 0.05ms?

EDITAR: SE os números estiverem completamente errados, como você faria isso?

    
por drum 15.05.2013 / 19:38

2 respostas

11

O disco em questão tem uma taxa de transferência de 80 MiB / s ou 81920 kiB / s, ou 20480 blocos / s. Aqui, arredondaremos para 20.000 blocos / segundo, já que isso 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 a cabeça da unidade para a trilha), há também a latência rotacional do próprio disco para lidar. A 7200 RPM, na pior das hipóteses, 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 / seg = 8,333ms / rev).

Assim, para transferir um bloco para o computador, devemos aguardar o equivalente Seek Time + Rotational Latency + Transfer Time :

5 ms + 4.166 ms + 0.05 ms = 9.216 ms

Observe que, para drives de estado sólido, embora não haja latência rotacional 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 pelo barramento sendo usado para transferir os dados em si, por exemplo, SATA).

Assim, em geral, o tempo total de acesso para ler um setor único para uma unidade é (negligenciando o software):

Rotational/Hard Drive:  Seek Time + Rotational Latency + Transfer Time

Solid-State Drive:      Seek Time + Transfer Time
    
por 15.05.2013 / 19:48
5

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 direita, algo que também leva tempo, mas que o seu professor ignorou).

Quando a cabeça estiver no caminho certo, ela precisa aguardar o setor direito passar por baixo da cabeça do R / W. Nós somos dados que é uma unidade de 7200 RPM. Isso significa:

  • Na pior das hipóteses, os dados acabaram de passar e tem que esperar uma rotação completa.
  • No melhor dos casos, o setor de dados acaba de chegar. Tudo está feliz.
  • No caso média , a unidade precisa aguardar meia rotação.

Para obter tempo para uma rotação completa da unidade em uma unidade de 7200 RPM:

  • 7200 rotação por minuto (aka 7200 RPM)
  • Ou 7200/60 vezes por segundo.
  • Ou 120 vezes por segundo.
  • Ou uma única rotação leva 1 / 120 th de segundo.
  • Qual é 8,3 ms

Então meia rotação deve demorar metade do tempo, 1 / 240 th de segundo.

1 segundo é de 1000 ms

Esta é a sua 1000 / 240 ms.

Tudo isso é o tempo até que a unidade possa começar a ler os dados. Ainda será necessário lê-lo e passar para o host.

Ler a partir da unidade geralmente é muito mais rápido do que passá-la, então vou focar na parte mais lenta:

São dados:

1) TAXA DE TRANSFERÊNCIA DE 80 MB / s
2) MODELO DE BLOCO: tamanho do bloco 4KB

  • 80 MiB em um segundo, ou 80 * 1024 KiB um segundo, ou 4 * 20 * 1024 KiB / segundo.
  • Divida por 20480.
  • 4 KB por 1 / 20480 th de segundo.
  • Ou 0,488281 ms, que é seu mais recente 0,05 ms .

Observe que essa resposta ignora isso:

  1. a unidade precisa ler os dados antes de transmiti-los, o que o tornará um pouco mais lento.
  2. Mas não há informações sobre a rapidez com que os dados são lidos do prato. (que é uma questão de velocidade de rotação, comprimento dos dados a serem lidos, comprimento dos dados da soma de verificação e lacunas intersetoriais. (4KiB pode ser 8 leituras de "Cabeçalho | dados | soma de verificação | lacuna" ou uma única leitura.
  3. Ele também ignora que os dados podem já estar presentes no cache de unidades.
  4. E presume-se que calcular a soma de verificação não leva tempo.
por 15.05.2013 / 19:58