Calcular el tiempo de lectura del disco duro

Calcular el tiempo de lectura del disco duro

Estoy estudiando para mis exámenes y estoy atrapado en el siguiente problema:

Un disco tiene 20.000 pistas, una velocidad de 7.200 RPM y un tiempo de búsqueda de 1 ms. La pregunta me pide que calcule el tiempo total necesario para leer todas las pistas del disco. Nos da una pista: el tiempo de transferencia de una pista es el tiempo que necesita para dar una vuelta completa bajo el cabezal del disco.

Primero intenté encontrar la hora de transferencia, pero no sé si es correcta. Obtengo 7200/3600.

¿Cómo puedo solucionar este?

Respuesta1

Creo que el problema no tiene que ver realmente con las computadoras o los discos duros, si se plantea como en la pregunta del examen. Se trata más de lo básico.

  • Si tiene 7200 RPM, eso significa que el disco girará (7200/60) = 120veces por segundo.
  • Cada vez que el disco realiza una rotación completa, en teoría puedes leer 1 pista completa. Eso significa que se necesita leer 1 pista.(1/120)s

Entonces, ahora la cuestión del tiempo de búsqueda de 1 ms:

  • Si puede realizar una lectura continua, deberá agregar el tiempo de búsqueda solo una vez. Así que tienes (1/120)spara cada pista y la adición única del tiempo de búsqueda. Esto parece una simplificación excesiva.
  • De manera más realista: suponiendo que la pregunta implica que necesita un adicional 1ms (1/1000)spara cambiar de una pista a la siguiente, no puede leer 120 pistas por segundo como sugeriría la rotación por sí sola.
  • Teniendo en cuenta la rotación y el tiempo de búsqueda, cada pista tardará (1/1000 + 1/120)sen leerse.

Nota:

Como @sawdust señala correctamente en los comentarios, esta respuesta utiliza múltiples simplificaciones. Esto se debe a que no se proporcionó más información en la pregunta y traté de trabajar con lo básico. Si la pregunta es más compleja (o trata sobre hardware real, en lugar de ser una pregunta de examen), se deben tener en cuenta estos factores:

  • El disco puede tener varios (por ejemplo, N) platos, por lo que las 20.000 pistas se pueden distribuir entre los Nplatos. En general, un plato se puede utilizar por ambos lados.[1] Entonces, las 20000 pistas de cada uno de los 2Ncabezales de lectura/escritura de la unidad no son 20000 cilindros, sino más bien 20000/(2N)cilindros. Eso podría permitir leer 2Npistas al mismo tiempo. Luego, la lectura de 2Nlas pistas lleva (1/120)s.
  • El tiempo de búsqueda no debe fijarse en 1ms. Generalmente es una combinación detiempo de búsqueda de cabeza, donde la cabeza se mueve al cilindro correcto (que puede no ser siempre constante dependiendo de dónde se encuentre en la unidad),MÁSla latencia rotacional, lo que significa que el disco mismo tiene que girar hasta que la cabeza esté por encima del sector correcto. En promedio, la latencia rotacional podría simplificarse para que sea la mitad del tiempo que le toma al disco realizar una revolución completa. Por lo tanto, la latencia rotacional podría variar (1/240)spara cada nuevo cilindro.
  • Las unidades reales pueden tener ciertos problemas de latencia cuando enfrentan problemas para leer los datos correctamente. Esto sucede cuando los bloques están dañados o son difíciles de leer y la unidad intenta leer los sectores con diferentes posiciones y parámetros del cabezal para aumentar las posibilidades de recuperar datos. Las latencias resultantes a veces pueden observarse incluso con unidades comerciales nuevas y deben tenerse en cuenta al planificar un sistema real que depende de lecturas de disco oportunas. Por lo tanto, no siempre se puede asumir que una pista se leerá por completo después de 1 sola revolución. El problema puede volverse muy grave, por lo que cada vez más unidades empresariales ofrecen funciones como TLER para limitar el tiempo permitido para volver a intentar leer un sector.[2]

[1]:Wikipedia: sector de culata
[2]:Western Digital: diferencia entre las unidades de edición Desktop (WD Blue, WD Green y WD Black) y RAID (Enterprise)

información relacionada