Мой профессор опубликовал слайд о том, как рассчитать получение данных с жесткого диска, используя блочную модель. Спецификации были:
- 7200 об / мин
- 5 мсек
- Скорость передачи 80 МБ / с
- МОДЕЛЬ БЛОКА: Размер блока 4KB
Я не понимаю, как он сделал следующий расчет или откуда взялись некоторые цифры:
5 мс + 1000/240 мс + 0,05 мс = 9,216 мс для чтения блока.
Кто-нибудь может сказать мне, откуда взялись 1000/240 мс и 0,05 мс?
РЕДАКТИРОВАТЬ: Если бы цифры оказались совершенно неверными, как бы вы сделали это тогда?
Ответы:
Данный диск имеет скорость передачи 80 МБ / с, или 81920 КБ / с, или 20480 блоков / с. Здесь мы округлим до 20000 блоков в секунду, так как, похоже, это сделал ваш профессор. Это равняется 0,05 мс для передачи блока, объясняя последний член в уравнении.
Наконец, в дополнение к поиску времени (времени для перемещения головки привода на дорожку) существует также задержка вращения самого диска, с которой приходится иметь дело. При 7200 об / мин в худшем случае нам приходится ждать 1 полный оборот, но в среднем нам приходится ждать пол оборота - или 4,166 мс (7200 об / мин = 120 об / сек = 8,333 мс / об).
Таким образом, для передачи одного блока к компьютеру, мы должны ждать эквивалент
Seek Time
+Rotational Latency
+Transfer Time
:Обратите внимание, что для твердотельных накопителей, хотя нет необходимости учитывать задержку вращения, определенно все же есть измеримое время поиска (для фактического обращения к содержимому секторов во флэш-памяти) и время передачи (в значительной степени ограниченное шиной). используется для передачи самих данных, например, SATA).
Таким образом, в общем случае общее время доступа для чтения одного сектора диска составляет (без учета программного обеспечения):
источник
Время поиска 5 мс - это время, когда жесткий диск перемещает свою головку на правильную дорожку (и выбирает правую головку, что также требует времени, но которое ваш проф. Проигнорировал).
Как только головка находится над правильной дорожкой, нужно подождать, пока правый сектор пройдет под головкой R / W. Нам говорят, что это 7200 оборотов в минуту. Это значит:
Чтобы узнать время полного вращения на 7200 об / мин:
Таким образом , половина вращения должна будет взять половину того времени, 1 / 240 - й секунды.
1 секунда - 1000 мс
Это ваши 1000 / 240 мс.
Все это время, когда накопитель может начать чтение данных. Это все еще должно будет прочитать это и передать с хозяином.
Чтение с диска обычно намного быстрее, чем прохождение, поэтому я сосредоточусь на более медленной части:
Даны:
1) Скорость передачи 80 МБ / с
2) МОДЕЛЬ БЛОКА: Размер блока 4 КБ
Обратите внимание, что этот ответ игнорирует, что:
источник