Технология черепичной записи SMR
Введение
В области компьютерного оборудования сложно найти технологию, которая на первый взгляд выглядит более консервативной, чем жесткие диски. Принципы записи и хранения информации на магнитных пластинах были изобретены и внедрены более полувека назад и с тех пор принципиально не изменились. Однако рынок накопителей огромен и требует постоянных инноваций и улучшений характеристик продуктов. Поэтому под капотом жестких дисков постоянно происходят изменения, которые мы, конечные потребители, можем и не замечать. Эти изменения особенно актуальны сейчас, когда индустрия вплотную подошла к физическим пределам плотности магнитной записи, и создание дисков большего объема требует все больше инноваций с каждым поколением.
В этой статье мы рассмотрим технологию черепичной магнитной записи (Shingled Magnetic Recording — SMR), предпосылки ее создания, технические особенности и готовность экосистемы.
Технические основы SMR
Название технологии «черепичная магнитная запись» (SMR) само по себе хорошо иллюстрирует ее основной принцип. В отличие от традиционных дисков (CMR — conventional magnetic recording), где данные записываются на дорожки, изолированные друг от друга небольшими промежутками (рис. 1), в дисках с черепичной записью дорожки накладываются друг на друга, подобно черепице на крыше (рис. 2).

width of write head – ширина записывающей головки
width of read head – ширина считывающего сенсора


write width – ширина записи
write overlapping tracks – запись дорожек с перекрытием
data track pitch – ширина дорожки с данными
Такая конфигурация дорожек возможна благодаря тому, что для чтения используется сенсор, размеры которого меньше, чем размеры пишущей головки жесткого диска, и для успешного считывания достаточно только части ширины дорожки. Именно за счет устранения этого избыточного зазора между дорожками и достигается увеличение плотности записи и повышение максимального объема диска, который и требует рынок. При этом, с точки зрения механики работы накопителя, такое поведение не требует серьезных изменений — используются те же самые магнитные пластины, моторы, пишущие и считывающие головки. Изменения касаются только микрокода накопителя, что не влияет на стоимость производства диска. На выходе имеем больший объем хранения при той же себестоимости производства диска. Идеальный технологический рывок!
Обратная сторона технологии SMR — ограничение возможностей записи на диск. Как невозможно заменить черепицу на крыше, не разобрав соседние, так же и невозможно осуществить запись поверх имеющихся данных в SMR диске, не перезаписывая соседние дорожки. Это довольно серьезное ограничение, которое делает черепичные диски непригодными для применения в среде с активной случайной записью. Диски SMR требуют серьезного планирования при внедрении, поскольку их использование с неподходящим профилем нагрузки приведет к неприемлемо низкой производительности. Идеальное приложение для таких дисков — работа с последовательной записью в задачах холодного хранения данных, резервного копирования, мультимедиа. С точки зрения чтения эти диски не отличаются от обычных, и им подходит любая нагрузка.
Drive-managed и Host-managed SMR
Вопрос о том, как ограничить операционную систему, чтобы она осуществляла только последовательную запись, является ключевым при работе с SMR дисками. Производители предлагают несколько вариантов решения, в зависимости от задачи. Для дисков потребительского класса, которые используются в домашних компьютерах, лаптопах и небольших домашних NAS, задача решается с помощью микрокода самого диска. Небольшая часть емкости диска выделена в буфер, куда хост может писать, в том числе, и случайным образом. Микропрограмма диска сама занимается разбором этого буфера и преобразованием записей в случайные места диска в последовательные потоки. Данная технология получила название drive-managed SMR. В условиях домашнего применения, когда случайная запись — довольно редкое явление, DM-SMR диски довольно неплохо себя зарекомендовали — их стоимость за 1ТБ ощутимо ниже, а работа SMR под капотом скрыта от конечного пользователя.
Хуже обстоит дело с применением DM-SMR дисков в домашних NAS системах. Профиль нагрузки на них, в целом, мало отличается от обычной работы за компьютером, и отталкиваясь от этого, SMR диски стали широко применять в домашних NAS. Однако, довольно быстро проявилась особенность таких систем — при реконструкции RAID нагрузка сильно отличается от ожидаемой, возникает большое количество записей в непоследовательные сектора, что быстро забивает небольшой буфер DM-SMR дисков и снижает их производительность практически до нуля. Поспешность с выводом SMR моделей на рынок и отсутствие четких ответов на вопросы пользователей, столкнувшихся с проблемами, привели к тому, что диски SMR стали ассоциироваться у рядовых пользователей с непредсказуемостью и сыростью технологии. Сейчас, когда технология уже значительно шагнула вперед, производители NAS адаптировали свои системы под DM-SMR, а производители дисков намного лучше информируют покупателей о наличии черепичной записи в той или иной модели, ситуация начинает постепенно исправляться, но урон репутации был нанесен, и доверие к технологии необходимо восстанавливать.
Абсолютно другая ситуация в мире облачных технологий и серверных дисков. Здесь господствуют стандартизация, контролируемые Proof-of-concept инсталляции и выборочные пилотные проекты с подходящими заказчиками. Перед выводом на рынок серверная SMR технология прошла стандартизацию внутри INCITS T10/T13, и интерфейс для работы с дисками получил название ZBC (Zone Block Commands) для SAS и ZAC (Zoned Device ATA Command Set) для SATA. Серверные SMR диски лишены части микрокода, которая занимается упорядочиванием случайной записи. Вместо этого такие накопители ожидают, что операционная система хоста сама сделает всю работу, и на диск будет поступать информация исключительно последовательно. Для этого диск поделен на зоны фиксированного размера, которые заполняются от 0 до 100% последовательно. Каждая зона отслеживает уровень заполнения (write pointer — указатель записи), и при поступлении следующей операции записи, она начинается с места окончания предыдущей. В случае необходимости удалить данные, можно удалить только зону целиком, передвинув указатель записи на 0. Такой тип SMR получил название host-managed (HM-SMR), и он подразумевает, что хост берет на себя всю работу по обеспечению последовательной записи — диск не будет принимать команды на запись в произвольный LBA.

device LBA range divided in zones – весь диапазон блоков поделен на зоны
zone size – размер зоны
zone Reset / rewind the zone write pointer – очистка зоны / “Перемотка” указателя записи на ноль
write / advance the zone write pointer – запись / продвижение указателя записи
write pointer position – позиция указателя записи
Помимо DM-SMR и HM-SMR, стандарт также подразумевает третий тип — host-aware SMR. Это идеальный вариант использования, когда накопитель работает в любом случае, даже если хост ничего не знает про специфику SMR, но при подключении операционной системы к работе по SMR стандарту, накопитель ведет себя подобно HM-SMR диску с предсказуемой производительностью. Во многом принцип работы host-aware SMR похожи на параллельно развивающуюся в среде NVMe технологию Flexible Data Placement. Преимущества жесткого контроля за записью для HDD и SSD очень велики, поэтому разработка методов упорядочивания данных на стороне хоста ведется параллельно для традиционных магнитных и твердотельных накопителей. В случае с HDD результатом является увеличение емкости без увеличения стоимости производства, а в случае с SSD — намного больший ресурс ячеек NAND при снижении коэффициента Write Amplification.
Готовность экосистемы
Работа с SMR, а особенно с HM-SMR, подразумевает серьезное изменение на стороне операционной системы или приложения. Хост должен взять на себя задачу по ограничению случайной записи и подготовке последовательных потоков к записи в зоны. Подходов к решению этой задачи несколько. В случае с крупными заказчиками, которые разрабатывают свои собственные приложения, поддержка SMR может быть интегрирована на прикладном уровне. Производители дисков предоставляют библиотеки, которые позволяют напрямую работать с зонами SMR и на уровне приложения оптимально размещать данные на диске. Такую стратегию выбирают, как правило, крупные облачные игроки, которые могут инвестировать человеко-часы работы программистов, и экономия от более дешевой цены за ТБ хранения окупит эти трудозатраты. Тем пользователям, которые не могут себе позволить вручную адаптировать приложение для работы с SMR, остается ждать готовности экосистемы и привычных им инструментов.

переводим только “recommended kernel versions – рекомендуемые версии ядра”
С точки зрения операционных систем, пока что поддержка SMR есть только в Linux. Начиная с версии ядра 4.14 можно успешно экспериментировать с HM-SMR дисками, и поддержка постоянно расширяется. Из файловых систем нативную готовность к работе с SMR имеет f2fs. Пока что не решен вопрос, как реализовывать функционал RAID с черепичными дисками. Для разработки приложений, поддерживающих SMR, можно эмулировать черепичные диски — этот функционал поддерживается QEMU.
Заключение
Тренд на рост объема хранимых данных не меняется, и потребность в дисках большого объема будет только расти. Индустрия жестких дисков вплотную подошла к физическим ограничениям плотности записи на магнитные пластины, поэтому для удовлетворения спроса на диски большого объема будут использоваться креативные методы повышения емкости, и SMR является ключевой технологией для этого. По аналогичному пути движется и разработка твердотельных накопителей с технологиями ZNS и FDP. Своевременная подготовка инфраструктуры и приложений для работы с зонированными накопителями позволят получить серьезные конкурентные преимущества за счет существенного снижения стоимости хранения. Экспертиза компании BAUM в области разработки ПО для хранения данных позволяет нашим заказчикам получать доступ к самым современным технологиям, обеспечивающим оптимальные технические и экономические показатели решения.
Автор: Олег Ларин
Добавить комментарий
Комментариев пока нет