Рубрики Обзоры

Western Digital Advanced Format: осторожный дебют

Опубликовал
Евгений Пугач

Традиционный путь развития жестких дисков основывается на постепенном увеличении плотности записи на магнитные пластины, однако он сопряжен с большими затратами времени, усилий и средств. Поэтому разработчикам приходится обращаться к новым технологиям, и одна из них – Long Physical Sector, представленная недавно Western Digital под названием Advanced Format.

Восьмая ревизия стандарта ATA/ATAPI предусматривает введение двух новых параметров, ранее не применявшихся для жестких дисков: Long Physical Sector (LPS, длинный физический сектор) и Long Logical Sector (LLS, длинный логический сектор). Первый подразумевает, что на этапе литографии, когда на магнитной пластине создаются секторы для последующей записи данных, она будет размечаться по-новому: вместо традиционных секторов по 512 байт будут применяться более емкие, по 1, 2 или 4 КБ. LLS же введен для того, чтобы разграничить понятия физического и логического сектора, к которому обращается ОС при файловых операциях (также известного как LBA). В традиционных HDD с секторами по 512 байт эти понятия фактически идентичны, потому ранее нужды в разделении LPS и LLS попросту не было. Теперь же возникает целый ряд нюансов, которые производителям жестких дисков придется решать.

Для начала поговорим о том, что дает переход на использование длинных физических секторов. Каждая ячейка на магнитной пластине снабжается служебной зоной Sync/DAM, служащей для позиционирования головок чтения/записи, и зоной ECC, хранящей коды коррекции ошибок на случай ошибки чтения. Кроме того, между всеми ячейками имеется небольшое пространство, минимизирующее взаимное влияние магнитных полей в них и деградацию заряда. Объем зоны ECC в современных HDD и эффективность алгоритмов восстановления данных при ошибке – один из ключевых факторов, влияющих на надежность хранения и скорость работы с содержимым. Чем большей плотности записи добиваются разработчики, тем хуже становится соотношение сигнал/шум, и следовательно, возникает больше ошибок чтения. Если контроллеру не удастся исправить их с помощью ECC, придется повторно считывать ячейку, что означает как минимум один дополнительный оборот пластин. На сегодняшний день типичным объемом зоны ECC считаются 40 байт на каждый 512-байтовый сектор. В будущем при дальнейшем увеличении емкости пластин разработчикам придется пойти на удвоение этого показателя, чтобы повысить шансы успешного восстановления.

Традиционные пластины с секторами по 512 байт

Переход на использование длинных секторов позволяет, во-первых, уменьшить число зон Sync/DAM и межсекторных промежутков во столько же раз, во сколько они длиннее обычных 512-байтовых, однако на самом деле это верхушка айсберга. Специфика алгоритмов восстановления данных по кодам ECC такова, что чем больший объем был считан, тем они эффективней, и следовательно, требуется меньше места для кодов. На практике это означает, что если для одного 512-байтового сектора необходимо 40 байт ECC, то для 4 КБ достаточно уже 100 байт. Несложно посчитать, что при этом экономится 220 байт. В сумме с другими служебными зонами, по данным WD, уже на современных HDD эффективность использования дискового пространства увеличивается на 7-11%, а в сравнении с будущими дисками с 80-байтовыми зонами ECC – и на все 22%. В первую очередь это играет на руку потребителю – на базе одних и тех же пластин и головок (что составляет львиную долю затрат на разработку HDD) вендоры смогут предложить на 10-20% более емкие накопители. В конце концов, использование физических секторов по 512 байт на сегодняшний день фактически бессмысленно: ни одна из современных файловых систем не использует кластеров такого размера, стандартным параметром NTFS при форматировании раздела является как раз 4 КБ, и запись и считывание данных осуществляется именно такими порциями.

Новые пластины с длинными секторами по 4 КБ

Есть у LPS/LLS и менее явные достоинства: устраняется лимит на емкость раздела более 2 TiB, существующий при 32-битной адресации и 512-байтовых секторах; большая эффективность алгоритмов коррекции ошибок означает, что быстродействие при чтении вырастет; меньшее количество физических секторов означает меньшую вероятность возникновения так называемых bad-блоков; уменьшенное в восемь раз число логических секторов означает радикальное уменьшение размера таблиц адресации и неизбежный рост эффективности работы контроллера при высокой нагрузке (большом числе запросов на случайное чтение и запись). Правда, на сегодняшний день об этом речь не идет, о чем – во второй части описания технологии.

WD Advanced Format: сложное решение под простым названием

Western Digital Advanced Format – вовсе не простое маркетинговое название LPS/LLS. Дело в том, что работу с физическими секторами по 4 КБ поддерживают не все ОС: в семействе Windows она появилась лишь с Vista, Server 2008 и 7, а остающиеся популярной XP и Server 2003 этой поддержки лишены. В стане MacOS и Linux все несколько оптимистичней: все мало-мальски актуальные версии этих ОС нормально работают с длинными секторами. Также стоит вопрос обратной совместимости и на аппаратном уровне: BIOS материнской платы, прошивка и драйвер контроллера дисков также должны поддерживать длинные ячейки. Поэтому WD пошла на сложный, однако необходимый на сегодняшний день шаг: в жестких дисках компании, использующих Advanced Format, на уровне контроллера реализована эмуляция обычных 512-байтовых секторов из физических 4-килобайтовых.

Advanced Format – эмуляция старого диска на новых пластинах

Накопитель при инициализации сообщает материнской плате, что по-прежнему используются короткие ячейки, а при получении от файловой системы логического адреса блока (LBA) транслирует его в адрес физического сектора. В результате появляется полная совместимость со старыми операционными системами, однако возникают и свои сложности. Во-первых, эта эмуляция требует дополнительной операции на пути между запросом на чтение/запись и осуществлением этой операции и, соответственно, увеличивает время исполнения. Во-вторых, она вызывает дополнительную нагрузку на вычислительное ядро контроллера диска и, таким образом, снижает эффективность работы прошивки. В-третьих, в любом случае теперь при чтении даже 512 байт данных физически диску придется считать 4 КБ и 3,5 КБ из них отбросить (очень похоже на write amplification в SSD), а если нужно считать подряд два логических сектора, принадлежащих разным физическим – придется обрабатывать сразу 8 КБ. В-четвертых, и это самое важное, появляется главная проблема этой технологии – огромное падение производительности при использовании неправильно созданных разделов.

Дело в том, что старые операционные системы (до Vista) при создании раздела начинают разметку с блока №63 (LBA63), это «наследие» еще DOS, ныне ничем не обоснованное. Подчеркнем, что проблема эта возникает только при разметке диска из-под Windows XP и более ранних ОС либо клонировании разделов с помощью утилит, не поддерживающих 4-килобайтовые секторы, в любой ОС. Windows Vista и 7 размечают первый раздел с 2048-го сектора, а следующие – с ближайшего после окончания первого раздела кратного восьми, поэтому они сразу получается выровненными. Для HDD с секторами по 512 байт никакой проблемы также нет – каждая из ячеек существует физически и может быть адресована напрямую. Для 4-килобайтовых ячеек начало с нечетного логического сектора означает, что кластер операционной системы будет размещен сразу на двух физических ячейках, и производительность HDD очень сильно снизится.

Невыровненный кластер файловой системы на двух физических секторах

К примеру, если диску нужно подряд считать или записать n кластеров, на самом деле придется обращаться к n+1 ячеек, а если речь идет об операциях со случайным доступом и малым размером блоков, можно смело говорить об удвоении фактически считываемых и записываемых данных. В случае же если две ячейки находятся на разных дорожках, то к обычному процессу «адресация-позиционирование-чтение» добавляется еще поворот пластин, поиск второго сектора и позиционирование, что для HDD с частотой вращения 7200 об/мин добавляет минимум 8,3 мс. Поэтому крайне важно, чтобы созданный на диске раздел был «выровнен» с физическими ячейками, т.е. его начало совпадало с началом сектора на HDD.

Выравнивание разделов – залог быстродействия

Добиться этого WD предлагает несколькими способами. Первый – можно просто замкнуть 7 и 8 контакты диска перемычкой. Тогда контроллер при адресации станет прибавлять 1 к получаемому от ОС LBA (соответственно, при обращении в LBA63 HDD на самом деле обратится в 64-й логический сектор), весь массив адресов сдвинется и совпадет с физическими ячейками. Этот вариант работает только в случае создания единственного раздела и только до разметки диска, если установить перемычку после нее – раздел перестанет распознаваться, если создать второй раздел – он не будет выровнен, поскольку между ним и первым снова будет промежуток в 63 логических сектора.

Второй, более универсальный вариант, предполагает использование утилиты WD Align, доступной бесплатно с сайта производителя. Она разработана компанией Paragon Software, известной своим ПО для работы с дисками, и позволяет «на лету» выровнять разделы в соответствии с физическими секторами без потери данных и необходимости их куда-либо копировать. Поддерживается работа как с загрузочного диска (при этом операция пройдет быстрее), так и прямо из-под работающей ОС (выравнивание происходит после перезагрузки, аналогично клонированию раздела). При этом уже записанные файлы копируются на новое место (скорость при этом примерно соответствует обычному копированию), а пустое пространство просто быстро переразмечается с внесением соответствующих изменений в MFT. К примеру, пустой раздел емкостью 2 ТБ был выровнен примерно за 3 минуты. При запуске утилита проверяет, действительно ли используется диск с Advanced Format и раздел не выровнен, поэтому риска случайного выравнивания нормального раздела нет.

 

Операционная
система
Новый диск,
1 раздел
Новый диск,
>1 раздела
Клонирование раздела менеджером
(любое кол-во разделов)
USB-диск
Windows XP перемычка
или WD Align
WD Align WD Align WD Align
Windows Vista не требуется не требуется
Windows 7
Mac OS не требуется
Linux

Тестирование

Перейдем от теории к практике. На сегодняшний день единственными HDD, в которых применены секторы емкостью 4 КБ, являются Western Digital Caviar Green с суффиксом EARS в названии модели. Что характерно, это первые накопители экономичной серии, предназначенной в качестве дисков для высокоемких, тихих и холодных систем хранения, в которых применен буфер емкостью 64 МБ – необходимость оперировать 4-килобайтовыми блоками вместо 512-байтовых предъявляет повышенные требования к кэшу.

Мы протестировали топовую модель этой серии – WD Caviar Green WD20EARS емкостью 2 ТБ. Диск форматировался в Windows XP и Windows 7 (таким образом снимались показания для выровненного и не выровненного разделов). Для сравнения использовался HDD WD AV-GP WD20EVDS – аналог Caviar Green, позиционируемый как накопитель для медиасерверов, записывающих устройств и т.п. Этот диск использует пластины с обычными секторами и оснащен буфером емкостью 32 МБ. Оба тестируемых устройства основаны на четырех пластинах емкостью 500 ГБ, однако напрямую их сравнивать нельзя: AV-GP оптимизированы под однопотоковые линейные операции, а у WD20EARS еще и вдвое больший кэш. Однако представление о том, какое влияние на быстродействие оказывает эмуляция в контроллере и как сказывается на ней невыровненность раздела, можно составить. Для снятия показателей линейных скоростей и времени отклика, а также для эмуляции рабочей станции, файлового и веб-серверов использовалась утилита IOMeter в режиме дискового доступа (без разбиения на разделы), также из-за особенностей работы IOMeter с разделами для иллюстрации необходимости выравнивания вместо него использовался Intel NAS Performance Toolkit.

Как видно из диаграмм, на линейных операциях необходимость трансляции логических адресов в физические на уровне контроллера практически не сказывается. WD20EARS демонстрирует неплохую производительность, заметно опережая своего собрата. Сложно сказать, чем обусловлено это превосходство: более емким буфером, большей итоговой плотностью записи из-за отсутствия большинства сервисных зон, или просто особенностями прошивки. Неудивительно, что WD решила «обкатать» Long Physical Sector именно на серии Caviar Green – эти HDD предназначены в первую очередь для домашних высокоемких хранилищ, где в основном на них записываются крупные мультимедийные файлы. В таком случае характер обращений к ним будет именно линейным (если не считать файлообменных систем), и проблем из-за эмуляции возникать не будет, поскольку в значительной мере они будут нивелироваться эффективностью кэширования.

В то же время, судя по показателям времени доступа на чтение и запись, эмуляция 512-байтовых секторов при адресации сказывается очень сильно: если для чтения показатели еще терпимы (20,5 мс у WD20EARS против 17,4 мс у WD20EVDS), то при записи этому диску не помогает даже кэширование – почти 33 мс ставят крест на возможности использования этого HDD в качестве системного.

Наиболее ужасны показатели производительности при работе с мелкими файлами: вплоть до размера блока 16 КБ WD20EARS записывает их со скоростью до 5,5 МБ/с (4 КБ, которым равен один кластер файловой системы, пишутся в среднем при 1,4 МБ/с, а пресловутые 512 байт – вообще на смехотворных 50 байтах в секунду). Причина этому проста: чем меньше файлы и чем их больше, тем тяжелее нагрузка на контроллер, которому приходится выполнять намного больше операций для нахождения реального места назначения отправленных ему на сохранение данных. Лишь начиная с 32 КБ эффективность эмуляции резко возрастает – аж до 92,6 МБ/с.

Диаграммы Intel NAS Performance Toolkit намекают, что WD стоит не просто наклеивать на упаковку своих новых HDD скромную инструкцию о том, как нужно их размечать под разными ОС, а не мешало бы это делать крупными красными буквами. Скорость записи на невыровненный раздел по сравнению с правильно размеченным HDD отличается почти в 4 раза! Под тяжелой нагрузкой эффективность падает в 5 раз, при одновременной работе двух потоков с линейным доступом – в полтора-два раза. Лишь при линейном чтении в один поток разницы почти нет – диску все равно, как соотносятся кластеры с секторами, поскольку он все равно проходит по ним последовательно.

Итоги

Однозначные выводы по итогам этого тестирования делать сложно. С одной стороны, переход на использование секторов емкостью 4 КБ – оправданная и давно назревшая мера, к которой в ближайшее время начнут обращаться и другие производители жестких дисков. Преимуществ у этого подхода много, а недостаток всего один – несовместимость с ОС прошлых поколений. Бороться с ним можно активно, как это делает WD посредством эмуляции в поддерживающих Advanced Format дисках, а можно пассивно – выжидая, когда инсталляционная база ПК с аппаратными ограничениями на использование 4-килобайтовых ячеек в HDD и под управлением Windows XP станет достаточно малой, чтоб ею можно было пренебречь. Вероятнее всего, этот момент настанет ближе к 2014 г., когда Microsoft окончательно прекратит поддержку Windows XP. Однако это не означает, что до тех пор мы сможем наблюдать новую технологию только в виде Advanced Format, вполне вероятно, что накопители более высокого класса для производительных ПК будут выпущены с отключенной эмуляцией и позиционированием на современные ПК, работающие под управлением современных ОС.

Что касается конкретных HDD Western Digital Caviar Green серии EARS, то, рассматривая их в качестве варианта покупки, нужно быть осторожным: они подойдут только в качестве хранилища, если же планируется мало-мальски серьезная нелинейная нагрузка – стоит обратить внимание на традиционные модели с суффиксом EADS. В данном же случае перед нами скорее «полевое испытание», и WD в чем-то даже заслуживает похвалы за то, что в компании рискнули самостоятельно начать подготовку рынка к будущему переходу на использование длинных секторов.

Продукт предоставлен Trinity Electronics
Опубликовал
Евгений Пугач

Контент сайту призначений для осіб віком від 21 року. Переглядаючи матеріали, ви підтверджуєте свою відповідність віковим обмеженням.

Cуб'єкт у сфері онлайн-медіа; ідентифікатор медіа - R40-06029.