В этой статье мы подробно рассмотрим как саму черепичную технологию записи SMR, так и особенности ее реализации двумя крупнейшими представителями индустрии — компаниями Seagate и Western Digital. И ответим на вопрос стоит ли покупать диси SMR.
До недавнего времени пользователь (по крайней мере — продвинутый пользователь, не поленившийся провести несколько дней на форумах) четко знал: в потребительских дисках Seagate используется черепичная запись SMR, и это плохо, а в дисках Western Digital — нет. Многие и многие пользователи делали свой выбор, исходя именно из этого критерия. Но недавнее журналистское расследование перевернуло их мир.
SMR-диски
Оказалось (а точнее — официально подтвердилось), что Western Digital давно и молча продает диски с SMR, наотрез отказываясь раскрыть эту информацию недоумевающим и возмущенным владельцам «рассыпавшихся» RAID-массивов.
Реализация SMR в жестких дисках WD
На сегодняшний день между реализацией SMR от Seagate и Western Digital есть одно, но очень важное отличие: поддержка накопителями WD команды Trim. Использование этой команды меняет если не все, то многое. Но позволяет ли поддержка Trim говорить о том, что накопители с SMR можно использовать в рамках RAID-массивов? Разберемся детально.
РЕКОМЕНДУЕМ:
Линейка внешних дисков Western Digital
Первые опыты Western Digital в отношении SMR были сугубо секретными: компания до сих пор не призналась, использовалась ли эта технология в модели WD My Passport объемом 4 Тбайт. Большинство склоняется к тому, что да: невысокая скорость случайной записи и низкая надежность модели привели к закономерным подозрениям. Впрочем, уверенности в этом до сих пор нет ни у кого, даже у технически подкованных специалистов AnandTech. Об использовании SMR в этой модели упоминается вскользь как о вероятности. Что интересно, в этой модели параметры S.M.A.R.T. декларируют поддержку функции Trim, но фактически ее активировать не удается. А вот в новой модели WD My Passport 5TB (а также WD_Black 5TB) функция Trim и декларируется, и поддерживается фактически.
Благодаря поддержке Trim последовательная запись большого массива данных всегда выполняется так, как будто данные сохраняются на свежий накопитель. Вот как выглядит график производительности диска WD My Passport 5TB (с поддержкой Trim).
А вот так — график производительности аналогичного диска Seagate (поддержки Trim нет).
Как видим, у диска Seagate первые десять минут идет запись в буфер CMR, после чего начинается бесконечный цикл уплотнения-перезаписи, из-за которого скорость записи то падает до 10 Мбайт/с, то восстанавливается до максимальной, то снова падает. Накопитель от Western Digital подобного поведения не демонстрировал.
Как проверить, поддерживает ли данный конкретный диск команду Trim? С одной стороны, можно посмотреть показания S.M.A.R.T. С другой — у меня есть несколько дисков, в параметрах которых поддержка Trim заявлена, но по факту отсутствует (вероятно, это особенности использованных производителем USB-контроллеров). Проверить же можно, запустив PowerShell с административными привилегиями и выполнив команду:
<strong>$ Optimize-Volume -DriveLetter X: -ReTrim</strong>
Если процесс оптимизации успешно начнется, то система выполняет тримминг накопителя. Если же выдаст ошибку — значит, функция Trim не поддерживается (кстати, она не поддерживается при использовании любой файловой системы, кроме NTFS).
Казалось бы, при чем здесь Trim — команда, традиционно использующаяся в твердотельных накопителях для упрощения сборки мусора?
В статье TRIM Command Support for WD External Drives дается подробный ответ. Согласно этой статье, функция Trim используется для оптимизации сборки мусора на дисках WD, использующих черепичный способ записи.
TRIM/UNMAP поддерживается для внешних (и внутренних, кстати, тоже) жестких дисков с технологией записи SMR для управления таблицами соответствия адресов и повышения производительности SMR с течением времени. Одним из преимуществ (там так и написано) черепичной записи является то, что все физические сектора записываются последовательно в радиальном направлении и перезаписываются только после циклического переноса. Перезапись ранее записанного логического блока приведет к тому, что предыдущая запись будет помечена как недействительная, и логический блок будет записан в следующий физический сектор. TRIM/UNMAP позволяет ОС информировать накопитель о том, какие блоки более не используются и могут быть вновь использованы жестким диском для выполнения последующих операций записи на полной скорости.
Что это означает на практике? Если ты используешь такой диск в Windows 10 (и диск отформатирован в NTFS), то скорость больших массивов данных будет оставаться высокой независимо от числа перезаписей. Система автоматически сообщит контроллеру об освобождении адресов, которые больше не используются. Соответственно, скорость записи будет восстанавливаться автоматически после удаления файла или форматирования диска — это то, чего катастрофически не хватает накопителям от Seagate.
Если речь идет о диске формата 3,5″, то некоторые NAS (например, производства Synology) также определят его как накопитель, поддерживающий Trim. Ты сможешь настроить работу Trim по расписанию.
Пусть тебя не введет в заблуждение название пункта SSD Trim: в накопителе установлен вполне себе механический жесткий диск на 6 Тбайт — как раз из новой серии WD с черепичной записью. Впрочем, у этого метода есть и ряд ограничений; в частности, Trim не работает в массивах RAID 5/6. Аналогичные ограничения есть и у других NAS.
А это приводит нас к очевидному выводу: даже поддержка накопителями команды Trim не делает новые диски Western Digital с черепичной записью SMR пригодными для использования в составе массивов RAID 5 и RAID 6 (а также, по опыту пользователей, в составе массивов SHR 1 и, возможно, SHR 2). В составе таких массивов непрерывная череда мелкоблочных операций записи быстро (в течение сорока минут) перенасытит контроллер и переполнит ограниченный буфер CMR.
Нельзя и использовать диск с SMR совместно с классическими в одном массиве: в зависимости от нагрузки диск с SMR может замедлить работу всего массива и даже привести к его деградации, если контроллеру покажется, что диск слишком долго не отвечает.
С другой стороны, новые диски WD с черепичной записью вполне допустимо использовать в однодисковых NAS, а также в составе массивов уровней JBOD, RAID 1 или RAID 0 в многодисковых сетевых накопителях, причем последние два (RAID 1/0) при условии, что все диски в составе массива используют одинаковую технологию записи (только CMR или только SMR).
И разумеется, диски WD с черепичной записью отлично работают в качестве архивных. Правда, до тех пор, пока ты используешь их совместно с Windows, а сам накопитель отформатирован в NTFS. Использование таких дисков в macOS способно преподнести неприятные сюрпризы из-за особенностей реализации Trim в ОС от Apple.
При этом использование диска SMR с поддержкой команды Trim предпочтительнее аналогичного диска без поддержки Trim — обширный список, в который входят практически все «домашние» накопители Seagate.
Реализация SMR в жестких дисках Seagate
Покупая диск Seagate, ты, скорее всего, получишь модель с черепичной записью. На сегодняшний день (ситуация может поменяться, и очень быстро) дела в стане Seagate обстоят следующим образом.
Линейки Seagate Archive и Barracuda Compute: как правило, SMR. Именно такие диски устанавливаются во внешние накопители линеек Expansion Desktop и Backup Plus Hub емкостью до 8 Тбайт включительно.
Линейка Barracuda Pro обходится без SMR. Кстати, все диски Seagate объемом от 10 Тбайт также используют обычный способ записи CMR; это объясняет заметную разницу в цене между моделями внешних накопителей Seagate на 8 и 10 Тбайт.
Во всех дисках для NAS линеек IronWolf и IronWolf Pro используется честная перпендикулярная запись (CMR).
Что такое черепичная запись? Подробная иллюстрированная статья выложена на сайте Seagate — очень рекомендую ознакомиться.
При черепичном способе записи дорожки записываются на диск не параллельно, а с перехлестом, как черепицы на крыше, что позволяет дополнительно уплотнить запись. Использование черепичного способа записи позволяет сэкономить на производстве, сделать диск менее шумным и менее тяжелым за счет меньшего количества вращающихся «блинов» и головок чтения-записи.
А что насчет надежности дисков с SMR? Когда технология только появилась на рынке, у пользователей были большие сомнения относительно долговременной надежности таких дисков. На сегодняшний день можно констатировать, что надежность дисков с SMR при обычном использовании в качестве архивных накопителей не ниже надежности дисков с CMR аналогичной емкости, а в отдельных случаях может даже превышать ее благодаря упрощению механической части.
Особенность реализации SMR у Seagate в том, что диски выдерживают хорошую скорость записи на протяжении первого цикла заполнения диска. Но стоит тебе заполнить диск целиком и начать перезаписывать данные (сценарий, совершенно типичный для регулярных резервных копий), как скорость перезаписи падает в разы по сравнению с записью на свежий диск. Ситуация чем-то напоминает ту, в которой оказались производители первых твердотельных накопителей SSD: запись в блок происходит быстро, а для перезаписи единственного байта требуется считать целый (и довольно крупный) блок данных, модифицировать нужные данные и сохранить измененную информацию. Так и здесь: для перезаписи единственной дорожки надо сначала считать все последующие дорожки, которые входят в объединенный блок (ленту), после чего записать нужную дорожку и восстановить из буфера все последующие.
Вот что имеет на эту тему сказать производитель Seagate:
C технологией SMR связана следующая проблема: если нужно перезаписать либо обновить часть информации, переписать придется не только требуемый фрагмент, но и данные на последующих дорожках. Поскольку записывающий элемент шире неперекрывающейся области дорожки, он захватывает также данные на граничащих дорожках, а значит, потом придется перезаписать и их (рис. 3). Таким образом, при изменении данных на нижней дорожке нужно скорректировать данные на ближайшей наложенной дорожке, потом на следующей и так далее, пока не будет переписана вся пластина.
По этой причине дорожки SMR-диска объединены в небольшие группы, называемые лентами. Накладываются друг на друга, соответственно, только дорожки в пределах одной ленты (рис. 4). Благодаря такому группированию в случае обновления некоторых данных перезаписывать придется не всю пластину, а лишь ограниченное количество дорожек, что существенно упрощает и ускоряет процесс.
Такая организация приводит к тому, что скорость перезаписи данных падает с условных 180 Мбайт/с до 40–50 Мбайт/с. Обойти проблему можно попытаться, включив для диска кеширование записи и записывая крупными блоками, размер которых не меньше размера одной ленты. Так, тестовый образец LaCie 2,5″ 4 Tбайт демонстрировал скорость записи на чистый накопитель порядка 130 Мбайт/с. После первого заполнения диска скорость записи данных упала до 20–40 Мбайт/с; что характерно, не помогло ни форматирование диска, ни переразбивка на разделы. Еще хуже себя показал вариант емкостью 5 Тбайт, скорость перезаписи данных которого упала ниже 10 Мбайт/с. Частично исправить дело помогло включение кеширования записи и запись данных крупными блоками; впрочем, даже так первоначальная высокая скорость записи не восстановилась.
Проиллюстрирую работу SMR в момент перезаписи данных. Сразу скажу: увидеть такие цифры получится лишь после того, как весь объем диска был заполнен хотя бы единожды, а объем записываемых в течение одной сессии данных превышает размер буфера CMR (при этом очистка или переформатирование диска никак не повлияют на производительность). На первом скриншоте — запись с отключенным кешированием записи. Скорость записи скачет от 0 до 10 Мбайт/с. Эта скорость обнажает внутреннюю суть процесса. Что происходит: контроллер считывает ленту (блок черепичных дорожек) в буфер, модифицирует одну дорожку, записывает всю ленту из буфера на диск. Следующая дорожка — повторение того же самого. В результате имеем процесс, который на Reddit описали так: «Многие говорят, что SMR — это медленно, но мало кто представляет, насколько медленно это на самом деле. Представьте, что вам нужно пропихнуть слона через замочную скважину. Представили? А теперь представьте, что с другой стороны активно сопротивляются. Вот это и будет запись SMR».
На втором скриншоте — то же самое, но с включенным кешированием записи. Теперь в буфер накопителя попадает не дорожка, а вся лента целиком (ну, может попадать — фактический размер ленты и то, как он соотносится с размером буфера накопителя, мы не знаем). Если бы накопитель был умным (или хотя бы поддерживал Trim, как в WD), то он понял бы, что нужно перезаписать всю ленту целиком, — и сделал бы именно это. Но нет, он снова читает ленту в буфер, после модифицирует данные и записывает их обратно. Скорость записи в результате скачет от нуля до максимальной (около 100 Мбайт/с в этой части диска).
На скриншотах хорошо видна одна из проблем накопителей с SMR: чрезвычайно медленная перезапись больших массивов данных. Учитывая, что такие диски (на скриншоте — модель Seagate Backup Plus 5TB) часто продаются для хранения резервных копий, размер которых может достигать от сотен гигабайт до нескольких терабайт, такая производительность на основной (и, по сути, единственной) задаче устройства совершенно неприемлема.
А что насчет скорости чтения? Хорошо известная проблема SMR — низкая скорость позиционирования головок, связанная с высокой плотностью расположения дорожек. Соответственно, случайный доступ к данным, в отличие от последовательного, при прочих равных условиях в моделях с SMR будет ниже, чем в дисках без «черепицы». Но на этом проблемы не заканчиваются. В дисках с SMR без Trim так же, как и в накопителях SSD, используется механизм трансляции адресов. Диск старается записать новую порцию данных сначала в CMR-буфер, а когда он заполнен — в первую свободную ленту. Соответственно, логические адреса транслируются в физические; при этом возникает внутренняя фрагментация данных. И если для SSD внутренняя фрагментация не играет никакой роли, то в случае с механическими дисками мы получаем двойной удар: файлы «размазываются» по незанятым лентам и при этом скорость случайного доступа низкая из-за увеличенных требований к точности позиционирования головки. В результате при неудачном стечении обстоятельств мы получаем диск, чтение данных с которого превращается в пресловутое пропихивание слона через замочную скважину.
Впрочем, модель модели рознь. В упомянутом выше внешнем накопителе используется диск Seagate Barracuda 5TB (ST5000LM000), который был одной из первых 2,5-дюймовых моделей с SMR. Реализация черепичной записи в нем сырая до невозможности, чем-то напоминает поведение самых первых SSD, которые моментально теряли в скорости записи сразу после первого заполнения. Мое мнение: в таком виде накопитель нельзя было выпускать на рынок.
А в каком — можно? Реально ли вообще сделать так, чтобы дисками с SMR пользоваться, не испытывая заметных неудобств? Оказывается, даже в рамках технологии SMR можно создавать вполне неплохие диски (разумеется, со своими ограничениями и узким спектром сценариев использования), если правильно сделать программную часть — прошивку контроллера. И получилось это сделать впервые не у Seagate, пионера технологии, а у основного конкурента — компании Western Digital, героя этой статьи.
Стоит ли покупать диски с SMR
Разница в цене между наполненным гелием накопителем WD My Book или WD Elements Desktop 8TB, использующими классическую запись CMR, и черепичными Seagate Backup Plus Hub или Seagate Expansion Desktop 8TB на сегодня порядка 10–15 евро. Разница в цене между WD Red 6TB с PMR (модель WD60EFRX) и SMR (WD60EFAX) — исторически те же 10 евро, но на фоне последних публикаций ценник на классическую модель резко и необоснованно взлетел, догнав ценник на 8-гигабайтный накопитель.
Стоит ли переплатить за отсутствие SMR и всегда ли это возможно? В некоторых компактных (2,5″) накопителях емкостью от 2 Тбайт используют SMR для того, чтобы получить более тонкий корпус. В компактных дисках емкостью в 5 Тбайт SMR используют просто для того, чтобы сделать такую емкость возможной. А вот десктопные диски емкостью 2, 4, 6 и 8 Тбайт вполне можно сделать и без SMR. Использование черепичной записи позволяет производителю сэкономить; часть этой экономии достается на долю покупателя, но большую часть денег производитель кладет в собственный карман.
Решать, купить тот или иной диск, в любом случае тебе. Есть сценарии использования, в которых использование SMR недопустимо в принципе, — это массивы RAID 5 и 6. Использовать SMR в составе массивов RAID 0 и RAID 1 — развлечение на любителя, но при соблюдении простого правила — использовать в рамках массива диски только без или только с SMR — это возможно, хоть и не оптимально. В однодисковом NAS, который умеет использовать Trim, ты не заметишь большой разницы между диском с PMR и диском SMR, поддерживающим команду Trim. Наконец, диски с SMR и Trim вполне допустимо использовать в качестве архивных.
А вот за использование дисков с SMR, но без поддержки Trim производитель просто обязан давать гигантскую скидку. В противном случае мне сложно понять потребителя, приобретающего себе заведомо медленный (очень медленный) и нестабильный по скорости работы накопитель.
Заключение
Является ли SMR абсолютным злом?
Нет, не является — если покупатель понимает, какие проблемы и ограничения он приобретает за свои деньги, и получает за это достаточную скидку. Но делать это нужно с открытыми глазами, а сознательно утаивать информацию совершенно недопустимо. Сейчас компания Western Digital, кажется, отделалась легким испугом. Мне очень хотелось бы увидеть коллективный иск, гигантский штраф и соответствующую компенсацию, выплаченную производителем за годы обмана и умолчаний.