электромеханической части, имеющей гигантское, по «электронным» меркам,
время реакции, обусловливает неизбежные задержки в поиске и передаче
данных. В спецификации SATA II приняты меры по уменьшению задержек за
счет изменения порядка выполнения команд, поддержанные средствами
организации очередей команд.
Наиболее известный алгоритм минимизации задержек поиска
(перемещения головок) и вращения называется Rotational Position Ordering
(упорядочение по вращению). Используя этот алгоритм, накопитель может
расположить команды обращения к магнитным носителям так, чтобы сократить
время доступа до минимума. Первоначально использовались алгоритмы,
минимизирующие расстояние, на которое перемещается головка, сокращая тем
самым время поиска. Но при этом общее время доступа могло увеличиваться,
поскольку после быстрого перемещения головки на нужную дорожку
приходилось ждать почти полного оборота пластины для появления под
головкой требуемого сектора. Алгоритм Rotational Position Ordering при
выстраивании очереди команд учитывает оба фактора — дистанцию поиска и
текущее положение головок на окружности пластин. В результате команды
выполняются в таком порядке, чтобы сократить до минимума общее время
доступа, включающее обе задержки— поиска и вращения. Именно этот
алгоритм был положен в основу технологии Native Command Queuing (NCQ).
Жесткие диски SATAII могут не только выстраивать принятые команды
наиболее оптимальным с точки зрения механических перемещений образом, но
и динамически добавлять поступившие в процессе обработки команды в
нужные позиции очереди. Перестановка ожидающих выполнения команд
производится с учетом не только положения головок после выполнения
последней команды, но и множества других факторов. Для определения того,
какая команда будет выполняться следующей, используются сложные
алгоритмы, учитывающие переключение головок, времена поиска
определенных дорожек, режимы работы (например, в режиме с пониженным
уровнем шума последовательность может отличаться от обычного режима,
поскольку здесь учитывается, что поиск должен создавать минимум шума).
Принимаются во внимание такие параметры, как расстояние, на которое
перемещаются головки, начальное положение и направление поиска,
характеристики ускорения и замедления позиционера, различные времена
установления головок на дорожке для чтения и записи, попадания и промахи в
кэш-памяти при чтении, наличие кэширования записи и многие другие. Кроме
того, применяются алгоритмы, предупреждающие «зависание» отдельных
команд в очереди.
Другая составляющая технологии — уменьшение задержек вращения
жесткого диска. Эффект достигается двумя методами. Первый — это
перегруппировка ожидающих выполнения команд аналогично тому, как это
делается для минимизации задержек поиска. Если накопитель выполняет
команды в порядке их поступления, то в ситуации, когда сначала поступает
команда чтения сектора А, затем В, а затем С, для выполнения всех трех