Дисковое устройство

С самого начала эволюции компьютеров требовалось где-то хранить данные вне оперативной памяти, которая при выключении питания обнулялась. Кроме того, хранить данные требовалось не только между включениями компьютера, но и во время его работы — ведь оперативная память не безгранична, поэтому нужно где-то размещать промежуточные данные или окончательный результат их обработки.

В течение продолжительного периода для долговременного хранения данных использовали жёсткие магнитные диски (HDD, Hard Disk Drive) и магнитные ленты (МТ, Magnetic Tape). Первые — обеспечивают произвольный доступ к данным и, поэтому, высокую скорость операций с ними. Вторые — записывают и считывают данные последовательно, поэтому их скорость доступа к данным невысока, зато себестоимость хранения данных на лентах чрезвычайно низкая.

В последнее десятилетие бурно развиваются носители нового типа — на базе полупроводниковой энергонезависимой памяти, в быту: «флэш-памяти». Для совместимости с прежними системами её стали выпускать в корпусах и с разъёмами, совместимыми с корпусами и разъёмами жёстких дисков. В результате, их стали тоже называть дисками, но твёрдотельными (SSD, Solid-State Drive), хотя, конечно, никаких подвижных частей в них нет. Их правильное русское название — твёрдотельный накопитель.

Далее мы рассмотрим основные характеристики устройств, обеспечивающих быстрый и произвольный доступ к хранимым данным — жёстких магнитных дисков и твёрдотельных накопителей.

Как устроены диски?

Физическое устройство дисков разного типа имеет прямое отношение к их базовым характеристикам, поэтому кратко осветим этот аспект.

HDD

Жесткие диски (HDD, Hard Disk Drive). Данные на носители этого типа записываются путём намагничивания микроскопических областей ферромагнитного материала, нанесённого тонким слоем на поверхность алюминиевого диска.

Намагничивание производится специальной головкой, расположенной на специальном поворотном коромысле. Диск вращается, головка перемещается в радиальном, относительно диска, направлении.

Когда требуется записать или прочитать данные, головка перемещается на соответствующую магнитную дорожку и ожидает поворота диска до нужного участка дорожки, чтобы начать непосредственную запись или чтение данных.

На эти действия уходит, хоть и небольшое, но вполне измеримое время. Время позиционирования на нужную дорожку называется временем поиска (Seek Time), а время поворота диска — временем ожидания, или задержкой (Rotational Latency).

Иногда все временны́е характеристики суммируют, объединяют в одну, которую называют просто задержкой (Latency).

SSD

Твёрдотельные накопители (SSD, Solid-State Drive). В них нет механических частей. Данные записываются в энергонезависимые ячейки памяти. Энергонезависимость означает то, что состояние ячеек памяти при отключении электропитания сохраняется. Быстродействие носителей этого типа намного выше быстродействия механических дисков. Электроны и дырки перемещаются в полупроводнике быстрее магнитной головки над поверхностью жёсткого диска.

Из-за особенностей устройства полупроводниковой памяти операции записи и чтения могут занимать в ней разное время: запись проходит немного медленнее. Но в отличии от механических дисков в твёрдотельных накопителях нет потери времени на позиционирование магнитной головки и ожидание поворота диска.

Общее

Блоки данных

Данные на долговременных носителях обрабатываются блоками (порциями). То есть если на носитель требуется записать лишь один байт или даже один бит, под новый файл будет сразу выделена некоторая фиксированная порция дискового пространства. Соответственно, продолжительность операции с целым блоком или с одним из байтов этого блока будет одинаковой.

Очевидный вывод: если вы измените 100 байтов из разных блоков, вы потратите на эти операции примерно в 100 раз больше времени, чем в случае, когда эти 100 байтов находятся в одном блоке.

На минимальные порции данные делятся на двух уровнях: на уровне физического носителя минимальная порция данных — сектор в 512 байтов (в случае HDD) или страница в 4 килобайта (в случае SSD). На уровне файловой системы минимальной порцией данных является кластер, который объединяет в себе несколько соседних секторов или страниц.

Сектора и страницы требуются для оптимизации работы аппаратной части носителя данных. Кластеры нужны для оптимизации работы файловой системы. Без секторов и кластеров обработка отдельных байтов была бы крайне неэффективной, а их адреса имели бы гигантскую длину.

Выбор правильного размера кластера — задача не совсем простая.

Если установить размер кластера очень большим, операции с данными ускорятся, но в результате, на диске будет образовываться много пустых, не занятых полезными данными, участков. Впрочем, бесполезные зоны большего или меньшего размера всегда образуются в «хвостах» кластеров и на HDD, и на SSD, так как длина файлов всегда меньше суммарного размера выделенных для него кластеров. — Это неизбежное следствие выравнивания выделяемого дискового пространства по кратности.

Если кластер сделать слишком маленьким, в файловой системе придётся хранить больше данных о месте размещения файлов.

Таким образом, в файловой системе минимальная порция данных — один кластер. Обычно чем больше размер диска, тем больше секторов включают в один кластер.

Файловая система

Операционная система и приложения работают не с абстрактными блоками данных, а с прикладными файлами. Для того, чтобы получить тот или иной файл, сначала нужно узнать, в каких блоках он размещён. Сведения об этом хранятся среди данных файловой системы, которые сами хранятся на диске, то есть для получения данных из файла, сначала нужно выполнить ряд вспомогательных (накладных!) дисковых операций.

Отсюда первый вывод: на скорость дисковых операций существенно влияют особенности файловой системы (FAT, ext, NTFS, ReFS, …).

Второй, тоже достаточно очевидный, вывод: большие файлы удельно обрабатываются быстрее, чем множество небольших файлов такого же суммарного объёма. Ведь во втором случае потребуется большее число обращений к файловой системе.

Фрагментированность файлов

Файлы на диске редко хранятся в виде непрерывной последовательности блоков. Практически одновременно на нём обрабатываться разные файлы, кластеры которых могут быть записаны вперемешку. В результате, содержимое конкретного файла может оказаться в цепочке фрагментов, размещённых в разных частях диска. При обращении к этому файлу потребуется дополнительное время на сборку фрагментов. Чем больше фрагментов, тем больше времени.

Физическая фрагментированность файлов не является большой проблемой в случае твёрдотельных накопителей (SSD), но на жёстких механических дисках (HDD) замедление обработки данных из-за неё может быть очень заметным.

Контроллеры

Посредником между непосредственным физическим носителем данных и операционной системой является контроллер. Ведь операционной системе совсем неважно, в каком конкретном месте диска хранятся её данные, ей нужно просто иметь возможность записать, изменить или получить их.

На прикладном уровне речь идёт о файлах, на уровне дисковых операций — о блоках данных (кластерах, секторах, страницах). Контроллеры выполняют действия трёх типов:

  1. принимают данные от операционной системы или передают их ей;
  2. обрабатывают передаваемые данные;
  3. записывают данные непосредственно на физический носитель или читают их с него.

Все эти действия требуют определённого времени, поэтому их продолжительность и эффективность сказывается на общей производительности дисковой подсистемы.

Интерфейсы

Одна из причин бурного развития компьютерной техники — унификация её элементов и, соответственно, их взаимозаменяемость, которая, среди прочего, включает в себя стандартные соединители. Но под интерфейсом устройства понимается не только электрический разъём, но и протокол обмена данными.

Очень долго использовались жёсткие диски с интерфейсами IDE, который обеспечивал скорость передачи данных до 133 МБ/с, и SCSI со скоростью до 640 МБ/с.

Интерфейс SATA поднял максимальную скорость до 750 МБ/с. Уже появляются модели с пропускной способностью контроллера до 1 500 МБ/с.

Интерфейс SAS имеет такую же максимальную скорость, но у сопоставимых моделей дисков он обеспечивает лучшие скоростные показатели. Кроме того, у него выше надёжность. Его протокол передачи данных является развитием протокола SCSI.

Следует различать скорость чтения-записи данных в отношении физического носителя и максимальную скорость передачи данных через интерфейс контроллера. В настоящее время скорость физических операций на дисках HDD достигает 200–300 МБ/с, а на дисках SSD — 600–700 МБ/с.

Интерфейс имеет более высокую пропускную способность, что позволяет контроллеру кэшировать и буферизировать обрабатываемые данные.

Здесь перечислены основные на сегодняшний день интерфейсы. Существуют контроллеры и с другими аппаратными и программными интерфейсами, но они имеют меньшее распространение, чем указанные.

Интеллектуальность

На результирующей производительности дисковых устройств сказывается не только скорость передачи данных, но и то, как обрабатываются запросы на дисковые операции.

Какие методы оптимизации применяются?

Очередь. Напомним, что у механических дисков существенное время расходуется на перемещение считывающей головки до нужно кластера.
Если контроллер умеет и ему разрешено работать с очередью запросов, он может оптимизировать порядок выполнения запрошенных дисковых операций и тем самым, в целом, ускорить их исполнение. Например, контроллер может изменить порядок записи или чтения данных для разных запросов из очереди с целью минимизации перемещения магнитной головки.

Буферизация. Очередь — это способ буферизации запросов. Аналогично можно поступать и с данными. Например, если они подготовлены, и их нужно передать дальше, совсем не обязательно ожидать окончания передачи — можно начать обработку следующей порции.

Кэширование. Нередко возникают ситуации, при которых в разных дисковых операциях запрашиваются одни и те же блоки данных. Если в состав контроллера включить дополнительную быструю память и хранить в ней часто запрашиваемые блоки данных, появится возможность реже обращаться к более медленному физическому носителю. Это сократит время выполнения операции.

Массивы дисков

Особым способом ускорения дисковой подсистемы является совместное использование нескольких дисков (RAID-массивов). В этом случае разные блоки одного и того же файла одновременно записываются на разные диски, что тоже сокращает продолжительность дисковой операции.

Показатели производительности

Среди многих возможных характеристик дисковых подсистем наиболее важными в прикладном смысле являются: время задержки, скорость передачи данных и число операций в единицу времени. При этом следует уточнять, о каких операциях идёт речь: записи или чтения.

Задержка

Как было сказано ранее, в общее время задержки можно включить разные фазы дисковых операций. Однако для операционной системы и приложений важен общий временной интервал между моментом отправки команды на выполнение дисковой операции и моментом начала получения её результата.

Если при записи данных результатом операции является короткое сообщение о её завершении, то при чтении данных их передача может иметь заметную продолжительность.

В значительной степени время задержки характеризует физические особенности носителя. В среднем, задержка дисковых операций с SSD существенно меньше задержки дисковых операций с HDD.

У современных дисков в штатном режиме время задержки составляет единицы миллисекунд или даже доли миллисекунд.

Скорость передачи данных

Для замера скорости также требуется временной интервал между какими-то событиями. В качестве пары таких событий логично выбрать начало передачи данных и её окончание.

Определять скорость передачи данных лучше с помощью файлов большего размера с нерегулярным содержанием. Как правило, этим условиям соответствуют видео- или аудиофайлы, архивы сжатых файлов, большие jpeg-изображения и т. п.

В первую очередь, скорость передачи данных характеризует возможности контроллера, его пропускную способность. Это особенно относится к SSD-дискам.

Число дисковых операций

Во время реальной эксплуатации дисков редко бывает, что на них только записывают или с них только читают данные. Обычно запись и чтение постоянно чередуются между собой. Поэтому в качестве характеристики общей прикладной производительности диска был предложен такой показатель как число операций ввода-вывода в единицу времени: IOPS (Input/output Operations Per Second).

Для правильного сравнения дисков по этой характеристике нужно, чтобы тестовые замеры на каждом из дисков производились с одинаковыми порциями (блоками) данных. Сейчас в качестве таких «стандартных» порций для бытовых компьютеров часто используют блоки размером в 4 килобайта, а для серверов — в 32, 64 и даже 128 килобайтов.

В принципе, число операций с блоками одного размера можно пропорционально пересчитать в число операций с блоками другого размера, но это не будет достаточно корректным, так как удельные накладные расходы при обработке меньших блоков выше.

Другое важное обстоятельство. Как было отмечено при обсуждении скорости передачи данных контроллером диска, в реальности операции записи и чтения перемешаны между собой. — Но… в какой пропорции?

Однозначного ответа этот вопрос нет и быть не может. В одних системах данные чаще записывают, чем читают; в других — наоборот. Например, при видеохостинге данные, в основном, читают; в системах протоколирования (log-данные), видеонаблюдения или резервного копирования — записывают; в корпоративных информационных системах — и записывают, и читают.

Условно принято, что в средней информационной системы операции записи составляют четверть или треть от общего числа дисковых операций. Но в конкретной информационной системе соотношение между количеством операций записи и чтения может быть другим.

Для правильного тестирования дисковых подсистем нужно моделировать нагрузку

Диски являются очень важной частью любой компьютерной системы: от настольного компьютера до большой корпоративной инфраструктуры. Их производительность сказывается на общей производительности системы.

Существует довольно много факторов, влияющих на скорость работы дисковой подсистемы. Частью из них можно управлять, другие изменить нельзя, но их тоже нужно принимать в расчёт.

Существует ряд утилит, позволяющих исследовать характеристики конкретной дисковой подсистемы. Они измеряют производительность исследуемых дисков, имитируя в разных режимах нагрузку на них. Однако число режимов, которые могут обеспечить эти утилиты, очень велико. Мы надеемся, что сведения, изложенные в этой статье, помогут выбрать правильные условия и параметры тестирования дисков, и конечно, лучше понять характеристики их производительности.

Я решил поплотнее разобраться с ситуацией, когда БП не хватет для полдюжины дисков. HDD заслуживают отдельного поста.
Начнём с WD. Эта уважаемая компания вообще решила, что чем потребитель меньше знает, тем лучше, и публикует всё меньше и меньше технической информации о жёстких дисках. Поэтому продукты WD оценим по тестам.

Рис из статьи. Энергопотребление 4 моделей дисков компании WD (напомню, Hitachi Global Storage Technologies — подразделение WD).
Темный тон — мощность, потребляемая по 5В и нижняя цифра; светлый тон — по 12В; верхняя цифра — суммарная мощность. UPD Прим. см также 1-ый коммент к этому посту, от scream_r
При чтении, записи и случайном чтении на 5В цепь приходится от 26% до 74% энергопотребления, в среднем — 45%
Давайте посмотрим на актуальные диски Seagate, Seagate Desktop HDD, Product Manual, ST4000DM000,ST3000DM003 — это новейшие 4 и 3 терабайтные диски, стр 15.
Table 2 DC power requirements (3TB and 4TB)
Power dissipation Avg (watts 25° C) Avg 5V typ amps Avg 12V typ amps
Spinup — — 2.0 Idle 5.0 0.17 0.35 Operating 7.50 0.48 0.43 Standby 0.750 0.138 0.005Sleep 0.750 0.138 0.005
При работе по 5В потребляется 32% мощности. Приятно, что паспотрные цифры по Seagate в целом бьются с замерами на дисках WD.
(Позже нам понадобится ещё один параметр, стр 16, Voltage tolerance (including noise): 5V ±5%; 12V ±10%.)
Это были установившиеся средние цифры. Чтобы увидеть пиковые, нужны осциллограмы. Раньше их публиковали, ср Product Manual Barracuda 7200.7 Serial ATA — это довольно старые (~2003 г) диски.
На стр 8 (с сокращениями)
Table 5: DC power requirements (example of 160GB and 200GB models not supporting NCQ)
Power dissipation Average (watts, 25° C) 5V typ amps 12V typ amps
Spinup — — 2.8 (peak)
Idle 7.5 0.482 0.424
Operating 12.1 0.638 0.739
Standby/Sleep 2.0 0.367 0.014
Стр 9 — осцилограммы энергопотребления по 5 и 12 В


Из них видно, что в таблицах не зря упомянут усреднённый ток. При работе по 5В он заявлен 0.638 А, но похоже, реально он принимает только значения 0.45 и 0.95А (+48%), между которыми колеблется. Полагаю, одно из значений соответствует считыванию, а другое — поиску (не поручусь — куда большее, а куда — меньшее ;). При раскрутке диска по 5B пиковое потребление превышает среднее рабочее более чем вдвое.
Картинка по 12В зрительно похожа, но здорово отличается по цифрам. При работе мгновенное значение тока часто оказывается возле нуля, а максимальное лишь незначительно превосходит заявленное в таблице. На старте указанные 2.8А по 12B, судя по графику — именно пиковые, достигаемые на столь короткие доли секунды, что на графике таких токов и не видно.
За последние годы конструкции дисков сильно продвинулись. Но не изменился характер работы диска — позиционируем головку, читаем, позиционируем, читаем. Поэтому разумно ожидать аналогичных в % цифр для пиковых значений токов.
Если вернуться к первому рисунку, то можно видеть, что у дисков WD здесь полный разнобой. Две актуальных модели при раскрутке потребляют в основном 5B, две — 12В. Так, зелёный 3 тербайтник 84% энергии при старте потребляет по 5И (можно было бы счесть опечаткой, но соседняя модель — 80%)
Итого вывод — при работе современный 3-4 Tb диск в среднем половину (до 74%) мощности потребляет по 5В. При старте диска доля потребления по 5В может превышать 80% в зависимости от модели.

Тестирование среднего тока работы HDD-накопителей (подключение HDD для Babana PI M1)

Просматривая документацию к HDD накопителям (которую я смог все таки найти), я обратил внимание на показатель среднего тока по шине 5в и 12в. Это у меня вызвало некоторые вопросы и вспомнился анекдот про среднюю температуру по больнице, где учитывали еще и морг. Логично, что для блинных накопителей которые я и собирался использовать указанный средний ток, это нечто из области маркетинга и что на старте HDD потребляет гораздо больше мощности на раскрутку своих блинов, а потом уже поддерживается их вращение и на это тратится гораздо меньшая мощность.

При проектировании домашнего хранилища я планировал использовать не очень современный двух терабайтный WD, к которому кстати сказать средний ток в спецификации по шине 12 вольт указан в 0.6 ампера, что довольно странно, ведь даже на вид эта тяжеленная махина должна потреблять больше чем выдает среднестатистический зарядник для сотового телефона. Для базового теста я использовал лабораторный блок питания с установленным реальным током защиты в 1А.

Естественно, что защита сработала и я не сказал бы, что для меня это было большой неожиданностью и что-то подобное я и предполагал. Я планировал использовать импульсный блок питания с небольшим запасом по мощности и для этого мне надо было замерить реальный ток старта жесткого диска и максимальный рабочий ток. У меня помимо жесткого диска WB на 2тб так же было еще несколько накопителей ток работы которых я так же замерил для полноты картины (возможно вам пригодится).

Твердотельные накопители SSD.

У меня есть два SSD накопителя на 128 GB (ADATA SP 900 и WD Green 128GB), они показали примерно одинаковое потребление 0.35А по шине 5 вольт, а питание 12 вольт в твердотельных накопителях не используется в принципе.

Накопитель 2.5 дюйма (жесткий диск ноутбука)

WD 250 GB Blue (для ноутбука) — ток на старте 0.7А а в среднем 0.4А (питание 12 вольт не используется)

У меня был только один накопитель, поэтому я не могу сказать, что во всех моделях 2.5 дюймовых жестких дисков не используется питание 12В и если вы знаете в каких моделях используется то я с удовольствием дополню таблицу.

Накопители 3.5 дюйма (стандартные жесткие диски ПК)

WD Black 2TB:

  • Ток старта 12 в — 1.4А
  • Ток работы по шине 12в -0,5А
  • Ток шины 5в — 0.4А

WD Blue 500GB:

  • Ток старта 12 в — 1.2А
  • Ток работы по шине 12в -0.3А
  • Ток шины 5в — 0.3А

Seagate Baracuda 500GB:

  • Ток старта 12 в — 1.2А
  • Ток работы по шине 12в -0.34А
  • Ток шины 5в — 0.3А

Hitachi 500GB:

  • Ток старта 12 в — 1.4А
  • Ток работы по шине 12в -0.37А
  • Ток шины 5в — 0.4А

Старый SCSI HDD (Just for fun)

ULTRA SCSI 320 MAX3073NP — ток по шине 12 вольт на старте 2.4А, в работе в среднем 1.5А ток по шине 5 вольт стабильно 0.6А

Это самый старый жесткий диск в моей коллекции который я сохранил для разборочного видео-блога и он как раз и показал самый высокий ток при старте и работе, что логично, ведь он работает на 10 тысяч оборотов и серверный, а для серверов ничего не жалко (да и как я помню тогда еще не заморачивались зелеными технологиями).

Стандартный винчестер потребляет относительно немного электроэнергии, при включении в работу за счет пускового тока потребление жесткого диска ограничивается 5 – 30 Вт, в режимах работы и ожидания потребление электроэнергии до 1 Вт.

Потребление энергии жестким диском зависит от скорости вращения, чем быстрее работает винчестер, тем больше энергопотребление. В свою очередь, потребление электроэнергии влияет на температуру накопительного устройства, от которой зависит долговечность и надежность жесткого диска. 1оС температуры накопителя эквивалентен его 10% росту рабочего срока жизни.

Поэтому логичнее предположить, что энергопотребление жесткого диска связано не с экономией электроэнергии, а его долговечностью и надежной работой. Если экономить, то нужно просто отключить все дополнительные порты, снизить уровень охлаждения и т. д.

Таблица №1. Потребление мощности различными моделями жестких дисков в разных рабочих режимах

Для вычисления энергопотребления накопителей, применяемых в профессиональной сфере необходимо рассмотреть по их полной загруженности и работе с различными скоростями вращения шпинделя и спецификациями SCSI, SAS.

Спецификации по энергопотреблению указывают паспортные данные производителей с нижними и верхними или типичными значениями потребления мощностей, они зачастую не соответствуют действительному потреблению электроэнергии, поэтому было проведено контрольное тестирование некоторых образцов «винчестеров».

Тестовое исследование энергопотребления жесткого диска

На контрольном тесте использовалась следующая комплектация:

  1. Процессор Pentium 4
  2. Материнская плата Gigabyte GA-8KNXP Ultra-64
  3. Две линейки системная память на 256 Мбайт DDR400
  4. Основной накопитель Maxtor 6E040L0
  5. Блок питания на 400 ватт

Измерение проводилось в режиме простоя при обычном вращении (Idle), чтении (Read), поиске (Seek), записи (Write), и при тихом поиске. Производился замер нагрузки при пуске во время включения (Start). Измерение этих параметров позволяет получить наиболее точную картинку по энергоэффективности и по минимальному нагреву «винчестеров». Задание на выбор режима работы жесткого диска определяется в программе AIDA32 Disk Benchmark в Windows XP Professional SP2.

Таблица №2. Энергопотребление накопителей в различных режимах

Тест показывает, что накопитель, использующий интерфейс SAS потребляет гораздо больший ток чем с жесткий диск с интерфейсом SCSI примерно от 200 до 470 мА или 1 – 2,4 Вт.

Самые энергоэкономичные диски – это WD Raptorскорость вращения шпинделя 10000 об/мин и Seagate Barracuda 7200, контроллер, используемый этими дисками во время передачи данных использует только 2,5 Вт.

Результаты тестов дают возможность убедиться, что соответствие данных паспорта с действительными происходит только в режиме Idle.

Самая большая нагрузка жесткого диска происходит в стартовом режиме до 30 Вт.

SCSI-диски Fujitsu являются лучшими по энергопотреблению для использования в персональных компьютерах, они укладываются в мощность до 14 Вт.

Формулы расчета энергопотребления жесткого диска

Сколько потребляет жесткий диск можно высчитать по формуле, для низкой загруженности работой: Ptyp = (Idle х 90%+ Write х 2.5%+ Read х 7.5%)/100%

Ток потребления в режимах работы из вышеприведенной таблицы помноженный на процент занятости по времени нахождения в соответствующем режиме работы.

Для высоко загруженного работой накопителя нагрузка энергопотребления вычисляется по формуле: Pmax = (Write + Seek + Read х 3) /5

Энергопотребление зависит также от операций ввода и вывода,или блока случайного доступапри использовании шины +5 В, накопитель потребляет значительно большую мощность чем при поиске, используя шину +12 В – наоборот, из-за увеличения времени перемещения между блоками чтения и записи.

В использовании экономичных жестких дисков весьма заинтересованы большие серверные системы, имеющие в своей комплектации не одну сотню или даже тысячи накопителей. Пользователи, рассчитывающие сделать на своем компьютере эффективный апгрейд также, могут задуматься об использовании экономичной модели, жесткие диски WD могут составить конкуренцию многим моделям накопителей.

Рубрики: IT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *