Большинство современных жёстких дисков использует технологию черепичной записи (SMR).
Такой диск иногда может «задумываться» на десятки минут, а не вовремя выключенное питание может привести к очень тяжелым последствиям.
Первый в мире 3.5″ жёсткий диск был выпущен в 1983 году и имел объём 20 МБ (0.00002 ТБ), сейчас объём диска с такими же габаритами достиг 18 ТБ. У первого диска было две пластины по 10 МБ, у 18-терабайтного 9 пластин по 2 ТБ, таким образом за 38 лет плотность записи выросла в двести тысяч раз (!).
В процессе увеличения плотности записи производители столкнулись с проблемой: для того, чтобы создавать достаточное магнитное поле, головка записи должна иметь определённые минимальные габариты, при этом головка чтения может быть меньше по размерам и сама магнитная дорожка может быть более узкой, чем она записывается. А ещё приходилось делать защитные области между дорожками, чтобы головка во время записи не портила соседние дорожки.
И тогда придумали технологию черепичной записи (Shingled Magnetic Recording — SMR), идея которой в том, что дорожки записываются «внахлёст» — каждая новая дорожка затирает часть предыдущей так, чтобы маленькая головка чтения смогла прочитать «остаток».
На первый взгляд всё отлично: плотность записи увеличилась почти вдвое, всё пишется и читается.
Проблема возникает в тот момент, когда на то же место нужно записать новую информацию. Просто так сделать это невозможно — перезапись любой дорожки приведёт к порче следующей, поэтому был придуман «костыль»: на диске размещаются блоки по несколько дорожек, записанных «внахлёст», такие блоки называются band (лента).
Даже если нужно перезаписать один байт, приходится перезаписывать все дорожки, входящие в одну ленту. Для этого вся лента считывается в память или переписывается в специальную буферную область на диске,
в ней меняется нужная часть данных и вся лента записывается обратно. Объём данных в ленте у разных дисков разный, обычно от 150 до 256 МБ.
У SMR дисков есть таблица заполненности лент — диск знает, в какие ленты ещё не было записи и туда пишет без предварительного чтения, а, заодно, при чтении из лент, в которые ещё не было записи, отдаёт нули, ничего не читая, за счёт чего при тестах чтения новых дисков получаются очень большие и красивые цифры. 🙂
При последовательной записи большого количества информации также не происходит предварительного чтения лент, ведь диск уже знает, что ленту хотят перезаписать целиком, поэтому и на тестах последовательной записи получаются отличные результаты.
А вот при реальном использовании всё будет гораздо хуже. Если требуется переписать много мелких файлов в разные части диска, вся эта система с чтением-записью лент начинает «захлёбываться», скорость записи снижается в десятки, сотни, а иногда и тысячи раз. А потом диск «впадает в ступор» на десятки минут. Причина в том, что для временного хранения данных используется не только память, но и специальная «скоростная» область в начале диска, имеющая объём в несколько десятков гигабайт. Когда место в ней заканчивается, диск «перестаёт реагировать на внешние раздражители» и начинает «разгребать завалы», записывая данные из этой области на свои места. Если в этот момент выключить питание или отключить USB-диск («он же всё равно завис и ничего не делает»), будет совсем плохо и можно потерять не только отдельные данные, но и логическую структуру диска.
Хоть плотность черепичной записи почти вдвое выше обычной, SMR диск в целом имеет плотность записи лишь на 25% выше, чем обычный.
Конечно, лучше диски с технологией SMR не покупать, но их всё больше и определить, какой тип записи у диска — SMR или обычный CMR (conventional magnetic recording) очень сложно — производители и продавцы часто скрывают, что в дисках используется технология SMR.
Вчера я рассказывал о том, как восстанавливают данные в компании R.LAB (https://ammo1.livejournal.com/1285797.html). Директор этой компании Николай Хозяинов ещё год назад написал статью «Как определить, что в жестком диске применена технология SMR» https://habr.com/ru/post/529860/.
На сайте R.Lab можно скачать бесплатную программу тестирования жёстких дисков R.Tester (https://rlab.ru/tools/rtester.html), которая, в числе прочего, умеет определять тип записи у диска по флагу в «паспорте диска» или вендор-семейству.
Вот, к примеру, внешний 4-терабайтный диск Seagate Expansion+ Portable. R.Tester показывает, что у него тип записи SMR.
А вот внешний диск Seagate Backup Plus Portable 2TB (я очень удачно купил пять таких дисков в 2013 или 2014 году и все живы). В поле прочерк — диск обычный (на самом деле тогда ещё SMR не изобрели 🙂 ).
Сейчас обычная (CMR) технология записи применяется в серверных дисках, в топовых дисках большого объёма (к примеру, 18-терабайтные диски, о которых я писал в начале, не SMR). Остались ли в продаже внешние диски без SMR, а также недорогие внутренние диски, я не знаю.
P.S. Нашлась вот такая табличка SMR-дисков https://www.truenas.com/community/resources/list-of-known-smr-drives.141/, но думаю она не полная.
© 2021, Алексей Надёжин
Десять лет я каждый день пишу о технике, скидках, интересных местах и событиях. Читайте мой блог на сайте ammo1.ru, в ЖЖ, Дзен, МирТесен, Telegram.
Мои проекты:
Lamptest.ru. Тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.
Elerus.ru. Собираю информацию об отечественных электронных устройствах для личного использования и делюсь ей.
Вы можете связаться со мной в Телеграм @ammo1 и по почте ammo1@mail.ru.
Этот пост в моём блоге LiveJournal: Черепичная запись — беда современных HDD