черепичная запись на жестких дисках что это
SMR: понятно в теории, сложно на практике
Сегодня рост объема данных на человека растет в геометрической прогрессии, а компании, предлагающие решения для хранения этих данных, стремятся сделать все возможное, чтобы увеличить доступную емкость своих устройств. Технология черепичной магнитной записи Seagate SMR (Shingled Magnetic Recording) позволяет повысить плотность записи, за счет чего емкость диска увеличивается на 25%. Это возможно благодаря увеличению количества дорожек на каждой пластине и сокращению расстояния между ними. Дорожки размещаются друг над другом (как черепица на крыше), что позволяет записать больше данных, не увеличивая площади пластины. При записи новых данных дорожки частично накладываются друг на друга, или «усекаются». Ввиду того, что считывающий элемент на дисковой головке меньше записывающего, он может считывать данные даже с усеченной дорожки, не нарушая их целостности и достоверности.
Однако с технологией SMR связана следующая проблема: чтобы перезаписать или обновить информацию, необходимо переписать не только требуемый фрагмент, но и данные на последних дорожках. Из-за того, что записывающий элемент шире, он захватывает данные на граничащих дорожках, поэтому необходимо перезаписать и их. Таким образом, при изменении данных на нижней дорожке нужно скорректировать данные на ближайшей наложенной дорожке, потом на следующей, и так далее, пока не будет переписана вся пластина.
По этой причине дорожки SMR-диска объединены в небольшие группы, называемые лентами. Накладываются друг на друга, соответственно, только дорожки в пределах одной ленты. Благодаря такому группированию в случае обновления некоторых данных перезаписывать придется не всю пластину, а лишь ограниченное количество дорожек, что существенно упрощает и ускоряет процесс. Для каждого типа дисков разрабатывается своя архитектура ленты с учетом сферы его применения. Каждая линейка продуктов Seagate рассчитана на определенную сферу применения и конкретные условия работы, и технология SMR позволяет достичь при правильном использовании наилучших результатов.
Seagate SMR — это технология, позволяющая удовлетворить постоянно растущий спрос на дополнительную емкость. На сегодняшний день она активно совершенствуется и в сочетании с другими инновационными методами может быть использована для повышения плотности записи на жестких дисках следующих поколений.
Но прежде всего, необходимо разобраться в некоторых нюансах ее применения.
Выделяют три типа устройств, поддерживающих черепичную запись:
Автономные (Drive Managed)
Работа с этими устройствами не требует никаких изменений в программном обеспечении хоста. Вся логика записи/чтения организована самим устройством. Значит ли, что мы можем просто установить их и расслабиться? Нет.
Диски, в которых реализована Drive Managed технология записи, обычно обладают большим объемом write-back кэша (от 128МБ на диск). При этом последовательные запросы обрабатываются в режиме write-around. Основные сложности, c которыми сталкиваются разработчики устройств и СХД, основанных на данной технологии записи, следующие:
1. Размер кэша лимитирован и по мере его заполнения мы можем получить непредсказуемую производительность устройств.
2. Иногда возникают значительные уровни задержек при интенсивном сбросе кэша.
3. Определение последовательностей — далеко не всегда тривиальная задача, и в сложных случаях мы можем ожидать деградацию производительности.
Основным достоинством данного подхода является полная обратная совместимость устройств с существующими ОС и приложениями. Хорошо понимая вашу задачу, вы можете уже сейчас покупать Drive Managed устройства и получать преимущества от использования технологии. Дальше в статье вы увидите результаты тестирования подобных устройств и сможете определиться, насколько они вам подходят.
Управляемые хостом (Host Managed)
В данных устройствах используется набор расширений к ATA и SCSI для взаимодействия с дисками. Это устройство другого типа (14h), которое требует серьезных изменений во всем Storage Stack и несовместимо с классическими технологиями, то есть без специальной адаптации приложений и операционных систем вы не сможете использовать эти диски. Хост должен выполнять запись на устройства строго последовательно. При этом производительность устройств на 100% предсказуема. Но необходима корректность работы более высокоуровневого ПО для того, чтобы производительность подсистемы хранения была действительно предсказуемой.
Поддерживаемые хостом (Host Aware)
Это гибридные решения, объединяющие преимущества Device Managed и Host Managed технологий. Приобретая такие диски, мы получаем поддержку обратной совместимости с возможностью использования специальных расширений ATA и SCSI для оптимальной работы с SMR-устройствами. То есть мы можем, как просто выполнять запись на устройства, как делали это раньше, так и делать это наиболее оптимальным образом.
Для того, чтобы обеспечить работу с Host Managed и Host Aware устройствами, разрабатывается пара новых стандартов: ZBC и ZAC, которые входят в T10/T13. ZBC является расширение SCSI и ратифицируется T10. Стандарты разрабатываются для SMR дисков, но в будущем могут быть применены и для других устройств.
ZBC/ZAC определяют логическую модель устройств, где основным элементом является зона, которая отображается как диапазон LBA.
Стандарты задают три типа логических зон, на которые разбиты устройства:
1. Conventional zone — зона, с которой мы можем работать традиционным образом, как с обычными жесткими дисками. То есть, можем писать последовательно и случайно.
2. Два типа Write Pointer Zone:
2.1. Sequential write preferred — основной тип зон для Host Aware устройств, отдается предпочтение последовательной записи. Случайная запись на устройства обрабатывается как в Device Managed устройствах и может стать причиной потери производительности.
2.2. Sequential write only — основной тип зон для Host Manged устройств, возможна только последовательная запись. Случайная запись недопустима, при попытках её произвести будет возвращена ошибка.
Каждая зона обладает своим Write Pointer и своим статусом. Для всех устройств, поддерживающих HM тип записи, первый LBA следующей команды записи обязательно должен соответствовать положению Write Pointer. Для HA устройств Write Pointer является информационным и служит для оптимизации работы с диском.
Кроме новой логической структуры в стандартах появляются и новые команды:
REPORT_ZONES является основным методом, благодаря которому можно получить информацию о существующих зонах на устройстве и их статусе. Диск в ответ на эту команду сообщает о существующих зонах, их типах (Conventional, Sequential Write Required, Sequential Write Preferred), состоянии зон, размере, информацию о нахождении Write Pointer.
RESET_WRITE_POINTER является преемником команды TRIM для ZBC устройств. При ее вызове происходит стирание зоны и перемещение Write Pointer на начало зоны.
Для управления статусом зоны используются 3 опциональные команды:
OPEN_ZONE
CLOSE_ZONE
FINISH_ZONE
В VPD страницах появилась новая информация, включая максимальное количество открытых зон, обеспечивающее лучшую производительность и максимальное количество зон, доступных для случайной записи с лучшей производительностью.
Производителям СХД необходимо позаботиться о поддержке устройств HA/HM, внося изменения на всех уровнях стека: библиотеки, планировщики, RAID engine, логические тома, файловые системы.
Кроме того, нужно обеспечить два типа интерфейсов для работы приложений: традиционный интерфейс, организовав массив как device managed устройство, а также реализацию виртуального тома как HOST AWARE устройства. Это необходимо, так как ожидается появление приложений, работающих с HM/HA устройствами напрямую.
В общем виде алгоритм работы с HA устройствами выглядит следующим образом:
1. Определите конфигурацию устройства, использую REPORT_ZONES
2. Определите зоны для случайной записи
2.1. Количество ограничено возможностями устройства
2.2. В этих зонах нет необходимости отслеживать положение Write Pointer
3. Используйте остальные зоны для последовательной записи и используя информацию о положении Write-Pointer и выполняя только последовательную запись
4. Контролируйте количество открытых зон
5. Используйте сборку мусора для высвобождения пула зон
Некоторые техники записи можно применять из имеющихся all-flash СХД, для которых решались проблемы предстательной последовательной записи и сборки мусора.
Компания RAIDIX провела тестирование SMR дисков Seagate у себя в лаборатории и дает несколько рекомендаций по их использованию. Эти диски отличаются тем, что являются Device Managed и не требуют никаких серьезных изменений в работе приложений.
При тестировании была сделана попытка проверить ожидания производительности таких дисков и понять, для чего мы можем их использовать.
В тестах участвовали два диска Seagate Archive HDD объемом 8000GB.
Тестирование выполнялось на операционной системе Debian версии 8.1
CPU Intel i7 c частотой 2,67 MHz
16 GB RAM
Диски имеют интерфейс SATA 3, мы включили контроллер в режим AHCI.
Для начала мы приводим информацию об устройствах, выполнив Inquiry запрос.
Ничего особенного мы не увидели. Попытки прочитать информацию о зонах обернулись неудачей.
RAIDIX делает ПО для СХД, работающих в различных индустриях, и мы стремились не использовать специализированные или платные бенчмарки.
Начинаем с того, что проверяем потоковую производительность дисков на внутренних и внешних дорожках. Результаты тестов дадут максимальную ожидаемую производительность устройства и соответствуют в первую очередь таким задачам, как архивирование данных.
Настройки блочной подсистемы мы не трогали. Выполняем тестирование, записывая на диски данные блоками 1 мегабайт. Для этого мы используем бенчмарк fio v.2.1.11.
Джобы (Jobs) отличаются друг от друга только смещением от начала устройства и запускаются один за другим. В качестве библиотеки ввода-вывода выбрана libaio.
Результаты представляются неплохими:
Производительность на внешних и внутренних дорожках отличается практически в 2 раза.
Мы видим периодические провалы производительности. Они не критичны для архивирования, но могут стать проблемой для других задач. При корректной работе write-back кэша СХД мы предполагаем, что не будем наблюдать подобной ситуации. Мы провели схожий опыт, создав массив RAID 0 из обоих дисков, выделив 2ГБ RAM кэша на каждый диск, и не увидели провалов производительности.
При чтении провалов не видно. И последующие тесты покажут, что на операциях чтения SMR диски по производительности ничем не отличаются от обычных.
Теперь мы проведем более интересные тесты. Запустим 10 потоков c разными offset одновременно. Это мы делаем для того, чтобы проверить корректность буферизации и посмотреть, как диски будут работать на задачах CCTV, Video Ingest и подобных.
На графиках приведена суммарная производительность по всем работам:
Диск неплохо справился с нагрузкой!
Производительность держится на уровне 90 МБ/с, равномерно распределена по потокам, и не наблюдается серьезных провалов. График на чтение абсолютно аналогичен, только приподнят на 20 МБ. Для хранения и раздачи видеоконтента, обмена большими файлами производительность подходящая и практически не отличается от производительности обычных дисков.
Как и ожидалось, диски неплохо показали себя на операциях потоковых чтения и записи, а работа в несколько потоков стала для нас приятным сюрпризом.
Переходим к «случайным» чтению и записи. Посмотрим, как диски поведут себя в классических задачах предприятий: хранение файлов СУБД, виртуализация и пр. Кроме того, в «случайные» операции подпадают частая работа с метаданными и, например, включённая дедупликация на массиве.
Тестирование мы проводим блоками 16 килобайт и по-прежнему верны fio.
В тесте мы настроили несколько джобов с разной глубиной очереди, но полностью результаты приводить не будем. Показательно только начало теста.
Первые 70,5 секунд мы видим нереальные для жесткого диска 2500 IOps. При этом происходят частые провалы. Видимо, в этот момент происходит запись в буфер и его периодический сброс. Потом происходит резкое падение до 3 IOps, которые держатся до конца теста.
Если подождать несколько минут, то после того, как сбросится кэш, ситуация повторится.
Можно ожидать, что при наличии небольшого числа случайных операций диск будет вести себя неплохо. Но если мы ожидаем интенсивную нагрузку на устройство, лучше воздержаться от использования SMR дисков. RAIDIX рекомендует при возможности выносить всю работу с метаданными на внешние устройства.
А что же со случайным чтением?
В этом тесте мы ограничили время отклика 50 мс. Наши устройства справляются неплохо.
Чтение оказывается в промежутке 144-165 IOPs. Сами числа неплохи, но немного пугает разброс в 20 IOPs. Ориентируйтесь на нижнюю границу. Результат неплохой, на уровне классических дисков.
Несколько изменим подход. Давайте еще взглянем на работу с большим количеством файлов.
С этим нам поможет утилита frametest от SGI. Этот бенчмарк создан для проверки производительности СХД при выполнении монтажа несжатого видео. Каждый фрейм является отдельным файлом.
Мы создали файловую систему xfs и смонтировали ее со следующими параметрами:
-o noatime,nodiratime,logbufs=8,logbsize=256k,largeio,inode64,swalloc,allocsize=131072k,nobarrier
Запускаем frametest со следующими параметрами:
Бенчмарк создает 2000 файлов размером 8МБ.
Начало теста проходит неплохо:
Averaged details:
Open I/O Frame Data rate Frame rate
Last 1s: 0.028 ms 79.40 ms 79.43 ms 100.37 MB/s 12.6 fps
5s: 0.156 ms 83.37 ms 83.53 ms 95.44 MB/s 12.0 fps
Но после записи 1500 фреймов ситуация значительно ухудшается:
Averaged details:
Open I/O Frame Data rate Frame rate
Last 1s: 0.035 ms 121.88 ms 121.92 ms 65.39 MB/s 8.2 fps
5s: 0.036 ms 120.78 ms 120.83 ms 65.98 MB/s 8.3 fps
Averaged details:
Open I/O Frame Data rate Frame rate
Last 1s: 0.036 ms 438.90 ms 438.94 ms 18.16 MB/s 2.3 fps
5s: 0.035 ms 393.50 ms 393.55 ms 20.26 MB/s 2.5 fps
Проведем тест на чтение:
В течение всего теста производительность отличная:
Averaged details:
Last 1s: 0.004 ms 41.09 ms 41.10 ms 193.98 MB/s 24.3 fps
5s: 0.004 ms 41.09 ms 41.10 ms 193.98 MB/s 24.3 fps
Сейчас ведется работа над специализированными файловыми системами для SMR дисков.
Seagate разрабатывает основанную на ext4 SMR_FS-EXT4. Можно обнаружить несколько log-structured файловых систем, спроектированных специально для Device Managed SMR дисков, но ни одну из них нельзя назвать зрелым, рекомендуемым к внедрению продуктом. Также Seagate ведется разработка поддерживаемой хостом (Host Aware) версии SMR диска, которая должна быть завершена до конца года.
Какие мы можем сделать выводы по результатам замеров производительности?
Device Managed устройства можно смело использовать для задач, не отличающихся интенсивной записью. Они очень неплохо справляются с задачами однопоточной и многопоточной записи. Для чтения данных они подходят отлично. Периодические “случайные” запросы к дискам при обновлении метаданных поглощаются большим кэшем.
Для решения задач, отличающихся интенсивной “случайной” записью или обновлением большого количества файлов такие устройства не очень подходят, как минимум, без использования дополнительных технических средств.
Параметр MTBF протестированных дисков составляет 800 000 часов, что в 1,5 раза ниже, чем у, например, NAS-дисков. Большой объем дисков значительно увеличивает время восстановления и делает практически невозможным регулярный media-скан. Мы рекомендуем при проектировании хранилища с такими дисками полагаться на RAID с количеством parity, большим чем 2 и/или подходах позволяющих сократить время восстановления (Например, Parity Declustering).
CMR против SMR: выводим производителей HDD на чистую воду
Страница 1: CMR против SMR: выводим производителей HDD на чистую воду
Интерес к магнитной записи SMR за последние месяцы значительно возрос. Причина в том, что производители жестких дисков выпустили ряд моделей, использующих SMR, но не указали это в спецификациях. Между тем наши тесты определенно указывали на наличие SMR. Последним примером можно назвать WD Red 6 TB WD60EFAX, жесткий диск для NAS с явным использованием SMR по результатам тестов. Позднее WD уже официально подтвердила использование SMR в данной модели. Но так ли плоха магнитная запись SMR? В статье мы подробно расскажем о данной технологии, взвесим преимущества и недостатки, чтобы наши читатели смогли сделать обоснованный выбор. Конечно, мы приведем список моделей разных производителей с использованием SMR.
Когда мы начинали наше руководство, скандал насчет линейки Western Digital RED еще не полыхал во всю силу. Сегодня же появилось еще больше аргументов для публикации подобной статьи. Тем более многие пользователи паникуют, если обнаружат SMR в своих накопителях, чаще всего совершенно напрасно. Но позвольте рассказать обо всем по порядку.
Технология перпендикулярной магнитной записи PMR является преемником продольной LMR (Longitudinal Magnetic Recording). В случае LMR магнитные домены расположены параллельно плоскости пластины диска. Чтобы повысить плотность расположения доменов, в случае PMR или перпендикулярной магнитной записи они ориентированы уже вертикально. Конечно, такой шаг привел к полной перестройке головок чтения/записи, которые отличаются от классических головок LMR. Благодаря вертикальной ориентации магнитных доменов удалось увеличить плотность записи в три раза по сравнению с LMR. Производители HDD Toshiba и Seagate используют PMR с середины нулевых годов. Переход на PMR позволил увеличить емкость выше 750 Гбайт в стандартном 3,5″ формате, а также получить 300 Гбайт на 15.000 об/мин у жестких дисков SAS без чрезмерного нагрева.
Два данных способа одинаковы в том, что головки чтения/записи выполняют запись напрямую на целевую дорожку, не затрагивая соседние. К сожалению, в случае SMR это сделать уже не получится.
Как можно догадаться по названию «черепичная» магнитная запись SMR (Shingled Magnetic Recording), дорожки накладываются друг на друга как черепица. Идея возникла из-за разных размеров головок: для чтения головка может быть очень маленькой, но головка записи физически намного крупнее. Поэтому дорожки можно расположить плотнее, сохранив их читаемость. Но при записи целевой дорожки придется перезаписывать и соседнюю, с которой имеется «перехлест». Затем следующую, если в ней есть данные. В худшем случае придется переписать все дорожки зоны. Но благодаря меньшему расстоянию между дорожками плотность записи существенно увеличивается по сравнению с PMR.
Жесткие диски SMR оснащаются дисковым кэшем (on-disk cache) на быстрых внешних дорожках, который дополняет традиционный кэш контроллера. Дисковый кэш записывается по технологии PMR без перехлеста дорожек. При поступлении данных на запись HDD размещает их в кэше, а позднее контроллер диска перемещает данные в область SMR. Собственно, в этом и кроется недостаток всей концепции. Если быстрый дисковый кэш заполнится до того, как контроллер перенесет его содержимое в область SMR, то входящий поток данных придется притормозить на время очистки кэша. После чего новые данные уже можно записывать в кэш. Так что если вы будете записывать на жесткий диск SMR большой массив данных, то после определенного объема скорость записи существенно снизится. Технологию SMR разделяют на управляемую диском (device-managed) и управляемую хостом (host-managed). В последнем случае процесс записи данных регламентируется не контроллером HDD, а операционной системой или драйвером.
Ниже мы привели несколько фактов, которые следует принимать во внимание при чтении статьи.
К сожалению, есть другая проблема. Производители жестких дисков, особенно в потребительском сегменте, не спешат публично раскрывать преимущества и недостатки SMR, когда используют данную технологию.
Seagate использует SMR (device managed) в тех же жестких дисках BarraCuda (3,5″), FireCuda SSHD (2,5″), BarraCuda и BarraCuda Pro в формате 2,5″. 3,5″ жесткие диски BarraCuda Pro, все модели IronWolf, IronWolf Pro, SkyHawk AI и Exos X работают по технологии CMR. В линейке SkyHawk на рынке присутствуют обе версии (HDD SMR объявлены, но еще не вышли на рынок). К сожалению, маркетинговые материалы не уточняют используемые технологии записи. Но Seagate публикует довольно подробные технические характеристики, которые позволяют легко и быстро узнать нужную информацию.
Что касается Western Digital, лишь некоторые жесткие диски линейки UltraStar (ранее HGST) опираются на SMR (device managed и host-managed). Новые жесткие диски Red и Blue, начиная с 2018 года с функцией дискового кэша (см. наш тест WD60EFAX), а также ряд моделей Red используют SMR. В отличие от Seagate, способ записи по спецификациям узнать невозможно. То же самое касается и Toshiba, которая подтвердила, что не собирается публиковать информацию об используемом методе записи. Между тем модели линейки P300 используют SMR, хотя об этом нигде не указано.
Многие пользователи жалуются на то, что после приобретения жестких дисков SMR они столкнулись с проблемой резкого падения скорости записи при продолжительной нагрузке. Здесь нельзя говорить о том, что жесткий диск «плохой», как можно часто слышать. Просто HDD для данного сценария выбран неудачно. С другой стороны, кто мешал производителям жестких дисков в полной мере информировать пользователей об имеющихся особенностях?
Жесткие диски SMR не такие плохие, как можно было бы подумать. Мы протестировали немало жестких дисков в лаборатории, как с SMR, так и без. Есть сценарии, для которых жесткие диски SMR отлично подойдут. Об этом мы поговорим в конце статьи, а пока позвольте пояснить, как можно узнать наличие SMR на практике.
Подписывайтесь на группы Hardwareluxx ВКонтакте и Facebook, а также на наш канал в Telegram (@hardwareluxxrussia).
Мы рекомендуем ознакомиться с нашим руководством по выбору SSD. Если подбирать SSD для компьютера, то придется разбираться со многими техническими тонкостями: в спецификациях указываются контроллер, интерфейс, тип флэш-памяти, характеристики надежности и многое другое. Поэтому неопытные пользователи могут легко запутаться в подобной информации. В нашем руководстве мы рассмотрим наиболее важные характеристики и отличия, поговорим об актуальных технологиях, интерфейсах и форм-факторах. А также приведем советы экспертов.
Мы подготовили руководство по выбору лучшего SSD за свои деньги на текущий квартал. Оно поможет сориентироваться во всем многообразии накопителей и подобрать самый оптимальный вариант.
Как определить, что в жестком диске применена технология SMR
В последние месяцы на глаза попадалось много материалов о том, что производители скрывают использование технологии SMR в своих устройствах. Новости о том, что покупатели жестких дисков подают в суд на производителей и тому подобное.
Дело в том, что в силу особенностей технологии, такие устройства плохо подходят для многих сценариев использования, в которых находят своё применение жесткие диски. Выражается это в катастрофическом падении производительности.
Для определения того что в диске, лежащем на полке магазина, применена технология SMR, если эта информация не указывается производителем явно, требуется знать модельные ряды и их особенности. По другому, похоже, никак. Не получится со 100% вероятностью определить это и по заявленным характеристикам диска.
Но если диск уже попал к вам в руки, определить использование технологии SMR можно достаточно просто. Далее я расскажу о том, как это сделать.
В настоящий момент используется три подхода к реализации технологии SMR:
Shingled Magnetic Recording — черепичная магнитная запись. На таких дисках данные хранятся в областях, называемых лентами, представляющих собой группы перекрывающихся подобно черепице треков.
Делается такое перекрытие для того, чтобы путём частичного наложения треков друг на друга уменьшить их ширину без изменения ширины головки записи. Это вынужденная мера, т.к. при дальнейшем уменьшении размера головки возникают сложности с созданием нужной для записи напряженности магнитного поля.
Плюс такого подхода — более высокая плотность записи. Минус — то, что при записи данных на какую-либо дорожку, затираются данные на соседней. Перезапись соседней вызовет повреждения данных на следующей. И так далее.
Поэтому, чтобы не требовалось перезаписывать диск до конца, перекрывающиеся дорожки разбиты на группы, называемые лентами. Причём особенность работы механизма позиционирования такова, что диск не может производить перезапись, например, с середины ленты до её конца. Возможна только запись всей ленты от начала до конца.
Для сохранения данных на конкретный трек, SMR диску может потребоваться выполнить в сотни раз больше операций, чем диску без технологии SMR. И это приведёт к многократному падению производительности.
Поэтому данные сначала кэшируются в специальные области, дорожки в которых не перекрывают друг друга (медиакэш). Там можно сохранять данные не затирая соседние треки. А потом уже в фоновом режиме диск сам раскладывает их по лентам.
Используемые алгоритмы распределения данных достаточно сложны, применяются всевозможные оптимизации. Ведь получается, что для того, чтобы перезаписать ленту, надо сначала куда-то сохранить с неё данные. А место под перенос тоже может потребоваться освободить. И куда-то деть данные уже оттуда. И так далее. И чем сложнее алгоритм, тем сложнее тщательно протестировать все возможные варианты. Отсюда баги.
С Host Managed SMR и Host Aware SMR в «обычной жизни» вы, вероятнее всего, не столкнётесь. В свободной продаже эти модификации не представлены или поставляются ограниченно и только под заказ. И в обычной ситуации у некорпоративного пользователя шанс столкнуться с такими дисками очень мал.
Поэтому далее речь пойдёт только о Drive Managed SMR дисках. Именно такой диск вы можете купить в магазине, не зная о том, что в нём используется SMR.
Быстрый способ определения применения SMR в HDD на основе информации о вендор-семействах
Если бы все производители жестких дисков придерживались стандарта в этом отношении, то ответ на вопрос об использовании SMR конкретным устройством мог бы быть получен очень просто. Достаточно было бы взглянуть на состояние соответствующего бита в паспорте накопителя:
Но на сегодняшний день только SATA-диски Toshiba официально сообщают в паспорте, что они SMR. Для этого в АТА-стандарте предусмотрены соответствующие биты в данных команды Identify Device. Все остальные производители стандарт игнорируют.
Единственный известный мне на данный момент способ «мгновенного» определения использования SMR основан на знаниях об особенностях вендор-семейств и определении принадлежности жесткого диска к конкретному семейству. Этот подход использует R.tester при установке соответствующего флага:
Определение использования черепичной записи в жестком диске путём тестирования
Легко определить, что в жестком диске реализована технология SMR, увидев отражение её врождённых особенностей в результатах тестов чтения-записи. Об этом далее.
Тест чтения
Если диск занят данными частично, или пуст, на графике теста чтения можно увидеть картину, характерную исключительно для моделей с SMR. Прошивка «знает», что в запрошенный программой сектор ничего не писалось, и отдаёт нули, не выполняя чтения с поверхности. Отсюда этот скачок в скорости чтения, либо просто феноменальная скорость, если диск пустой:
Для экономии времени, простое линейное чтение можно заменить на чтение с прыжками. При этом каждый следующий блок читается начиная с адреса, превышающему адрес предыдущего чтения на длину прыжка.
Приведённый выше график как раз отражает результаты такого теста.
Тест записи
Самый наглядный способ проявить использование технологии SMR — подобрать такой режим записи, при котором кэш будет заполняться максимально быстро, а его раскладывание по лентам потребует от микропрограммы большого объёма работы.
Предполагаю, что для большинства моделей SMR-дисков и наиболее распространённых способов их подключения, это будет случайная запись блоков размером в 2048 секторов. Не сильно облегчит участь диска замена случайной записи на запись согласно любому правилу, по которому записываемые последовательно блоки будут попадать в разные ленты.
В качестве основного тестового алгоритма я выбрал линейную запись с прыжками. Аналогично чтению, при этом каждый следующий блок пишется по адресу, превышающему адрес предыдущей записи на длину прыжка.
Считаю график с результатами такого теста наиболее наглядным. Ведь при отображении зависимости от LBA, ось адресов является также осью времени, хоть и в нелинейном масштабе.
Длины прыжков подбирались таким образом, чтобы в каждую ленту попадало от одного до пяти блоков. Рекомендуемый согласно стандарту размер ленты — 524288 блоков. Производители эту рекомендацию чаще всего игнорируют, но в качестве ориентира для примерного определения длины прыжка его использовать можно.
Объём данных, который требуется записать для того, чтобы SMRность проявилась во всей красе, зависит от конструкции диска и реализации его микропрограммы. А также от заполнения диска и наличия в кэше неразложенных по лентам данных, полученных в предыдущий период времени. И может отличаться буквально на порядки. Один диск покажет кардинальное падение производительности после записи 3ГБ, другому потребуется 300ГБ.
Получающиеся в результате графики могут значительно отличаться даже для одного конкретного экземпляра диска, в зависимости от разных, на первый взгляд малозначительных мелочей. Например, может сильно влиять размер отступа от нулевого LBA перед началом записи.
И это не говоря уже о влиянии заполненности кэша, распределения данных по диску, и различиях между разными производителями и моделями.
Вот, к примеру, параметры теста не менялись, диск один и тот же. Каждый запуск — новая картина. Причём между запусками у диска каждый раз было достаточно времени для завершения фоновых процессов:
И это исправный диск. Общий объём записи в процессе всего набора тестов из скрипта составил лишь 30 гигабайт!
Поэтому запоминать параметры конкретных тестов и сравнивать формы графиков с точки зрения определения применения SMR смысла нет. Достаточно представления об общей картине, которая качественно выглядит примерно одинаково для всех SMR дисков, которые мне попались в качестве испытуемых.
Вот ещё, для дополнения представления. Другая модель диска, снова одинаковые параметры теста:
А теперь разные параметры:
Глядя на вышеприведённые графики, легко понять, какие характерные черты показывают, что диск использует SMR. Особенно, если знать, что результаты аналогичных тестов не-SMR устройств выглядят примерно так:
Скорость немного падает по мере увеличения LBA.
Выше приведены графики скорости записи, поскольку этот параметр более понятен широкой аудитории. Примеры графиков времени доступа под спойлером, кому интересно. Там также наблюдается характерная картина и выражена она ещё заметнее.
Диск с SMR, последовательно три теста в процессе выполнения одного скрипта:
Графики с исправных дисков без SMR намного однообразнее и выглядят примерно так:
Тест чтения сразу после теста записи
Можно считать это ещё одним способом определения использования SMR. Сравните графики тестов чтения, полученные в процессе выполнения одного тестового скрипта. Один до выполнения записи (он же был приведён в разделе «Тест чтения»), другой — после. Параметры тестов одинаковы.
Дополнительная информация
На тему конструкции SMR дисков и особенностей их работы, мой коллега сделал ролик. Достаточно коряво получилось, но было решено, что лучше выложить в таком виде сейчас, чем в улучшенном в сильно отдалённом будущем.
Если вас интересуют детали тестов, значения конкретных параметров, полные наборы результатов — пишите, выложу. В статье эту информацию не размещал, поскольку целью было дать качественное представление о картине, сделав это лаконично.