@RomanStrlcpy

Умеют ли HDD читать\писать цилиндры в параллель?

Под чтением в параллель я имел ввиду чтение со всех поверхностей единомоментно. Что-то вроде прочитай мне 1-й сектор цилиндра 5, на что к примеру 8-ми головочный HDD выдаст 8 порций информации.

Тоже самое для записи.
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 3
Zoominger
@Zoominger
System Engineer
она ещё должна поддерживаться драйвером.

Нет.

Предполагаю это должна быть некая специальная команда для устройства

Да, но она в прошивке самого диска.

Умеют ли HDD читать\писать цилиндры в параллель?

Нет, запись и чтение осуществляются на каждом блину последовательно. Одновременно или параллельно научились совсем недавно, гуглите "Multi Actuator Technology" (пример: https://3dnews.ru/984114 ).

Ответ на подправленный вопрос: нет, не может. Дополнительные блины только для объёма, параллельно может читать только технология сверху.
Ответ написан
firedragon
@firedragon
Senior .NET developer
SATA и SAS вам в помощь.
Там таких команд нет. Возможно есть команды управления на конкретном винчестере, в виде сервисного разъема, но в обычной работе это не используется.

Винчестер это в общем случае черный ящик, причем калибруется он на заводе каждый отдельно.
Ответ написан
@Karpion
Современный HDD - это высокоинтеллектуальная система как бы типа файлового сервера. (Слово "как бы" - не словесный мусор, а означает, что оно подобно, но при этом сильно отличается.)
Так же, как файловый сервер скрывает от клиентов количество установленных на нём дисков; так же и HDD скрывает свою внутреннюю архитектуру. Оба получают высокоуровневые запросы и сами внутри себя решают, как их выполнять.

HDD получает запрос "прочитать/записать такое-то количество секторов, начиная с такого-то" - и выполняет команду. При этом HDD имеет полное право (точнее, не HDD, а конструктор, который его проектировал) расположить последовательные секторы (с последовательными номерами) как на одном треке, так и на разных треках внутри одного цилиндра. И HDD не сообщает наружу (контроллеру и всем, кто имеет доступ к контроллеру, т.е. процессору, операционке, драйверам, прикладным программам, etc) о том, как у него внутри это устроено.
Например, HDD может получить приказ прочитать/записать блок данных; так получилось, что все они - внутри одного трека. При этом, когда он вывел головку на нужный трек, головка оказалась в середине запрошенного блока. Так HDD может читать/писать с того места, где оказалась головка; потом по достижении конца блока - сделать паузу; и потом завершить задание, прочитав/записав оставшуюся часть (начало блока). Я думаю, выигрыш по скорости - очевиден. Гораздо менее очевидна опасность потери данных - транзакционный метод работы с данными вообще в ужасе от такого поведения HDD.

Т.е. ответ на Ваш вопрос - "да, может, если его так спроектировали; однако, данный метод имеет ряд сложностей, так что если этот метод используется, то не очень давно". Сложность связана с тем, что при работе диска головки могут деформироваться; и если они разойдутся достаточно далеко, то диск утратит работоспособность. Правда, его можно будет починить низкоуровневым форматированием - при этом треки будут прочерчены в соответствии с новым расположением головок.
Хуже, если головки смещаются в зависимости от температуры (т.е. смещаются от термического расширения). Я думаю, Вы сами понимаете, что тогда будет.

PS: В совсем экстремальном случае - каждый сектор размазан по всем поверхностям.

PPS: А вот Ваш вариант с явно видимым снаружи параллелизмом - наверняка не существует, ибо не имеет смысла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы