Черепичная запись - беда современных HDD

Nov 24, 2021 21:00

Большинство современных жёстких дисков использует технологию черепичной записи (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.

Технологии, Накопители, Компьютерное

Previous post Next post
Up