SMR. Просто о сложном

Типичный представитель дисков с технологией SMR — Seagate Mobile HDD

Вместо предисловия

Когда-то давно (относительно, конечно) в индустрии производства накопителей на жестких магнитных дисках настал переломный момент: для того, чтобы увеличить емкость выпускаемых дисков, производители перешли от параллельной магнитной записи к записи перпендикулярной. Технология появилась 12 лет назад и ее единственной задачей было продлить век жесткого диска, сделать его конкурентноспособным за счет увеличения емкости и уменьшения цены. Надо сказать, что с задачей технология справилась на славу: емкость жестких дисков за эти годы выросла почти в 10 раз, а цена упала до смешного: за 1 Тбайт дискового пространства нынче просят меньше 50 долларов США.

Однако и технологии NAND, на которых строятся твердотельные диски, не стояли на месте. Появились ёмкие SSD (100 Тбайт) с очень высокой производительностью. Жесткие диски оказались позади аж по целым двум показателям: по емкости (потолок того, что можно сейчас купить на рынке — 18 Тбайт; производители обещают в скором времени диски емкостью 20 Тбайт, но по сравнению со 100 Тбайт это звучит, мягко говоря, не очень оптимистично) и по производительности (современный жесткий диск ограничен пропускной способностью интерфейса SATA или SAS, тогда как твердотельные диски последних поколений работают на скоростях шины PCI Express).

Единственный (и, надо сказать, пока еще определяющий выбор покупателя) плюс жестких дисков — их цена. Накопитель HDD на 1 Тбайт стоит в 3 — 5 раз дешевле твердотельного диска той же емкости, ну а повышение емкости SSD кратно одному Тбайту повышает его цену в некоторых случаях на порядок.

За то время, что развивалась технология перпендикулярной записи, ее возможности были практически исчерпаны, и перед производителем встала новая задача: как продолжать наращивать емкость? Для этого существует три пути: уменьшить толщину магнитных пластин и, как следствие, сделать возможным установить их в гермоблок жесткого диска больше (при этом по очевидным причинам страдает надежность); уменьшить величину записываемого участка (увеличить плотность на треке) и сделать возможным записать больше данных на трек (развиваются две технологии — MAMR и HAMR); изменить метод записи для более плотного расположения непосредственно треков. Вот об этом, последнем, пути увеличения емкости мы и поговорим.

Производители ведут разработки, естественно, во всех направлениях. Одним из революционных изобретений последних лет стала технология SMR — Shingled Magnetic Recording, черепичная магнитная запись. Про нее эта статья.

Что такое SMR

Черепичная запись — принцип организации записи треков так, чтобы они частично перекрывались. Соответственно, упаковка треков в этом случае максимальная — фактически они лежат так плотно, что головка чтения-записи уже не может работать с каким-то одним треком, ей приходится работать сразу с несколькими. Это заметно увеличивает скорость чтения и записи (пишем-то сразу несколько треков, как и читаем), но только в том случае, если запись или чтение производится последовательно. Если нам нужно работать с большим количеством мелких файлов, а тем более — начать перезапись данных внутри уже имеющихся (например, удалить один маленький файл и записать на его место другой), скорость записи и чтения может проваливаться всерьез и надолго — вплоть до значений, близких к единичным IOPS на несколько минут.

Схема упаковки треков при PMR-записи
Схема упаковки треков при SMR-записи

На рисунках выше мы показали разницу между PMR (причем не важно, параллельной или перпендикулярной) и SMR записью.

Как видим, писать-читать SMR-головки могут только порциями треков, причем довольно солидными, на ширину головки. Эти порции треков называются лентами (ленты могут быть и шире однократного прохода головки, но всегда кратны ему). Если старый добрый жесткий диск с PMR-записью оперировал треками, то новый, с записью SMR, оперирует уже лентами (хотя треками, естественно, оперировать он тоже умеет — но об этом ниже).

Как работает SMR-диск

Давайте представим, как это работает. Пользователь решил записать на SMR-диск какой-то файл. Система передала его на интерфейс, из которого он загрузился в буфер диска. Здесь уже логика жесткого диска определила, на какую ленту (или на какие ленты) этот файл положить. Если лента до этого была пустая — прекрасно, значит просто кладем туда данные, и дело в шляпе. А вот если там уже что-то лежало, то диску предстоит целый набор нетривиальных действий: считать то, что уже лежит на ленте; загрузить считанное в буфер; объединить с тем, что добавляется на ленту; положить весь кусок (старое и новое) туда, куда требуется. Если же укладываются не последовательно большие порции данных, то процесс может реально занимать немало времени — именно поэтому у SMR-дисков большой объем буферного ОЗУ. Хоть как-то процесс ускорить.

При последовательной записи картина обратная. На скриншоте ниже показана запись 2 Тбайт данных на SMR-диск с интерфейсом USB 3.0 производства Western Digital емкостью 4 Тбайт. Как видим, скорость весьма приличная, хотя и не максимальная. Если бы пересылались большие файлы (в нашем примере идет передача огромного количества фотографий), скорость записи была бы еще больше.

Копирование 2 ТБайт данных на внешний накопитель (SMR, 4 Tбайт, Western Digital) с интерфейсом USB 3.0

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

Да, это сложная задача, с которой программисты прошивок SMR-дисков постарались справиться двумя способами. Первый — это наличие у диска стандартных PMR-областей, а второй — введение в микропрограмму фоновых процессов реорганизации лент, сходных с обычной дефрагментацией (собственно, в микропрограмме она так и называется — фоновая дефрагментация).

PMR-области используются в тех случаях, когда буферное ОЗУ переполняется, и требуется быстро освободить его под новые очереди задач; также эти области используются для процессов фоновой дефрагментации.

Фоновая дефрагментация: корень всех зол или благо?

Теперь немного подробнее о самой дефрагментации. В те моменты, когда SMR-диск не имеет задач от операционной системы, микропрограмма автоматически запускает процессы реорганизации лент. Диск сканирует ленты, определяет, где данные следует перенести для оптимизации скорости чтения, и производит перенос: считывается вся лента (или несколько лент), выкладывается в буфер (и дублируется на другой части диска, в SMR- или PMR-области), затем данные переставляются в нужном порядке, лишнее удаляется, и лента (или ленты) кладется обратно. И так в цикле, пока не будет реорганизован весь массив данных.

Соответственно, чем больше на диске данных (и чем больше их было записано недавно и, соответственно, беспорядочно), тем больше диску требуется времени на фоновую дефрагментацию. Поскольку довольно часто сейчас SMR-диски используются во внешних накопителях, может возникнуть ситуация, когда ваш внешний диск начинает жутко «тормозить». Если при этом он не издает посторонних звуков, не был замечен в падениях или ударах и является относительно свежекупленным, мы рекомендуем подождать. Почти наверняка в нем идут фоновые процессы реорганизации информации, и через некоторое время диск завершит их и перейдет в нормальный режим работы. Если же вы будете пытаться в это время записать в него новые данные, то это просто приведет к значительной потере времени: данные вы, конечно, запишете. Но заметно дольше, чем могли бы.

Логика работы SMR-дисков. Двойной транслятор, шифрование и TRIM

Логика SMR-диска устроена по-другому, не как PMR-диск. Если в стандартных PMR-дисках имеется только одна система трансляции (физическая адресация сектор — трек — головка в логическую адресацию LBA), то у SMR-дисков систем трансляции две. Это классический транслятор «сектор — трек -головка в LBA» и новый транслятор «сектор — трек — головка в ленте», причем оба этих транслятора взаимосвязаны. Потеря любого из них приведет к полной потере данных (на этом, кстати, построены технологии «быстрого стирания» SMR-дисков — обнуляем один из трансляторов и все, данных нет). Восстановление будет возможно лишь в том случае, если получится восстановить утерянный транслятор. Это уже задача для компаний по восстановлению информации, на текущий момент — достаточно сложная и дорогостоящая.

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

Третья особенность SMR-дисков — TRIM. Гораздо проще и быстрее не перестраивать структуру лент, если это не требуется, а менять транслятор: удалили данные — ленты помечаются как пустые, и, соответственно, при запросе данных возвращают заполненные нулями сектора. Это, с одной стороны, удобно. А с другой — даже простой логический заказ (удаленные данные) после отработки TRIM может оказаться уже сложным, с необходимостью поднимать транслятор диска и извлекать данные из помеченных как очищенные лент. Поэтому прежде чем удалять информацию с SMR-диска — убедитесь, что эти данные вам больше не нужны. Иначе можно серьезно пострадать.

И как все это использовать?

Вполне закономерный вопрос, между прочим. Если вы дочитали до этого места, то уже поняли: SMR-диски очевидно лучше использовать под определенные задачи — по крайней мере, пока технология не обкатается и не будут решены описанные выше сложности. Ведь не спроста производители вдруг начали делить диски по типу использования: Survellance (для систем видеонаблюдения, то есть — для непрерывной потоковой записи), NAS (для дисковых массивов, то есть — для постоянной случайной записи и чтения), Gaming (для игр, то есть — для быстрого чтения больших объемов данных и предчтения их в буфер), Computing (для обычных персональных компьютеров, то есть — для стандартного повседневного использования).

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

В целом можно констатировать, что на текущий момент наиболее оптимально использовать SMR-диски в задачах, где производится последовательная запись и стирание данных — особенно больших объемов. С такими задачами в силу механизмов функционирования эти диски будут справляться намного лучше и быстрее PMR-дисков. Например, диски в системах видеонаблюдения, архивирования данных (системы резервного копирования, которые записывают резервную копию в виде одного файла), внешние накопители для хранения информации, и т.п. SMR-диски нежелательно использовать под установку операционной системы, под работу ПО (особенно, связанную с многочисленными постоянными переносами данных — например, в системах видеомонтажа или верстки документов типографского качества) и пр. Для этих задач мы рекомендуем или SSD, или HDD в традиционном PMR-исполнении.



Мы принимаем к оплате | We accept payments


Мы стажировались и работали в странах | We worked or practiced in following countries