- Технические сведения
- Жесткие диски
Переход к жестким дискам с секторами размером 4 КБ (Advanced Format)
Обзор
В отрасли жестких дисков происходят серьезные перемены. В то время как в прошедшие годы наблюдался стремительный рост плотности хранения данных, один из базовых параметров конструкции жестких дисков — размер логического блока, называемого сектором — оставался неизменным.
Примерно с 2010 года производители жестких дисков начали переход от традиционного размера сектора (512 байт) к новому, более эффективному размеру 4096 байт. Его обычно называют размером 4 КБ, а теперь он получил название Advanced Format (расширенный формат), присвоенное Международной ассоциацией производителей жестких дисков IDEMA.
В этой статье рассказывается о причинах такого перехода и перспективных преимуществах для потребителей, а также о возможных «подводных камнях», которых следует избегать при переходе от секторов размером 512 байт к секторам размером 4 КБ.
Вместо предисловия
Уже более 30 лет данные на жестких дисках форматируются в виде небольших логических блоков по 512 байт, называемых секторами. Этот стандартный формат до сих пор принимается за основу при проектировании современных компьютеров.
Такой сектор содержит раздел интервала, раздел синхронизации, раздел метки адреса, область данных и область кода обнаружения и исправления ошибок (рис. 1).

Рис. 1. Расположение традиционных секторов на носителе жесткого диска
Сектор диска имеет следующую структуру
- Интервал: промежуток между секторами.
- Код синхронизации: метка синхронизации, обозначающая начало сектора и позволяющая синхронизировать работу диска.
- Метка адреса: метка, содержащая данные для идентификации номера и расположения сектора. В ней также хранится информация о состоянии сектора.
- Область данных: в этой области хранятся данные пользователя.
- Область исправления ошибок: в этой области хранятся коды исправления ошибок, с помощью которых исправляются и восстанавливаются данные, которые могли быть повреждены во время чтения или записи.
Этот низкоуровневый формат используется в нашей отрасли уже многие годы. Однако в связи с ростом емкости жестких дисков размер сектора неизбежно становится конструктивным ограничением для дальнейшего повышения емкости дисков и эффективности исправления ошибок. К примеру, если соотнести размер сектора с емкостью устаревших и современных дисков, то можно увидеть, что разрешение сектора многократно уменьшилось. Разрешение сектора (отношение размера сектора к общей емкости диска, выраженное в процентах) в значительной мере сократилось и, как следствие, стало неэффективным (таблица 1).
| Емкость | Общее количество секторов | Разрешение сектора |
| 40 МБ | 80 000 | 0,001 % |
| 400 ГБ | 800 000 000 | 0,0000001 % |
| 12 ТБ | 24 000 000 000 | 0,000000004 |
Низкое разрешение подходит для управления небольшими разрозненными последовательностями данных. Однако современные приложения, как правило, оперируют блоками данных, которые намного больше размера сектора 512 байт.
И что еще более важно, небольшие сектора размером 512 байт занимают все меньшую площадь поверхности диска по мере повышения плотности записи. Это становится проблемой в контексте исправления ошибок и вследствие дефектов покрытия. На рис. 2, например, данные в секторе жесткого диска занимают меньшую площадь, что делает исправление ошибок сложнее, так как дефекты покрытия, имеющие прежний размер, повреждают больший процент данных и для их восстановления требуются более совершенные средства.

Рис. 2. Дефекты носителя и плотность записи
В секторе размером 512 байт, как правило, можно исправить дефект длиной до 50 байт. Современные жесткие диски с наибольшей плотностью записи практически достигли предела в области исправления ошибок. Поэтому основной потребностью отрасли для дальнейшего развития средств исправления ошибок и повышения эффективности жестких дисков стал переход к секторам большего размера.
Переход к секторам размером 4 КБ (расширенный формат)
В индустрии хранения данных уже несколько лет ведутся совместные работы над переходом к секторам большего размера. Компания Seagate вместе с партнерами проводит масштабные работы в этом направлении с 2005 года (рис. 3). В декабре 2009 года в результате совместных усилий IDEMA был создан и утвержден новый формат Advanced Format. Это название стало официальным для стандарта секторов размером 4 КБ. Кроме того, все производители жестких дисков договорились начать поставки новых моделей накопителей этого формата для настольных и переносных ПК к январю 2011 года. Однако накопители расширенного формата появились на рынке даже раньше. Компания Seagate первой начала поставлять такие накопители производителям вычислительной техники и включать их в свои продукты.

Рис. 3. Основные вехи разработки стандарта Advanced Format
Перспективные преимущества секторов размером 4 КБ
Поскольку производители жестких дисков договорились перейти к новому формату секторов к январю 2011 года, остальным участникам отрасли ИТ нужно было подготовиться к этому переходу, чтобы избежать возможных негативных последствий. В краткосрочной перспективе преимущества таких дисков были не слишком заметны конечным пользователям, потому что новый формат не привел к моментальному увеличению емкости, однако в долгосрочной перспективе переход на секторы размером 4 КБ позволил увеличивать плотность записи данных и емкость жестких дисков, а также повышать надежность исправления ошибок.
Повышение эффективности формата за счет сокращения пространства, занимаемого кодом исправления ошибок
На рис. 4 показана структура традиционного сектора размером 512 байт, из которой видно, что для каждого 512-байтного сектора на диск дополнительно записываются 50 байт, содержащие код исправления ошибок, и еще 15 байт с интервалом, кодом синхронизации и меткой адреса. В результате эффективность секторного1 формата составляет примерно 88% (512/(512 65)).

Рис. 4. Структура традиционного сектора размером 512 байт
В новом стандарте Advanced Format размер сектора составляет 4 КБ, то есть восемь традиционных секторов размером 512 байт каждый объединяются в один сектор размером 4 КБ (рис. 5).

Рис. 5. Новый формат: структура сектора размером 4 КБ
В новом формате под интервал, код синхронизации и метку адреса отводится столько же места, сколько и раньше, а код исправления ошибок увеличен до 100 байт. В результате эффективность секторного1 формата увеличивается до 97% (4096/(4096 115)), то есть почти на 10%.
Со временем такое повышение эффективности формата окупится и поможет добиться большей емкости и повышения целостности данных.
Надежность и исправление ошибок
Физический размер секторов на дисках уменьшается, и каждый сектор занимает все меньше места, в то время как размеры дефектов поверхности остаются прежними. На рис. 6 показаны предметы, которые мы считаем очень мелкими. Однако по сравнению с величиной зазора между головкой чтения-записи и поверхностью жесткого диска эти предметы оказываются большими. Дефекты на поверхности жесткого диска могут появиться от микроскопических частиц, которые значительно меньше показанных на рисунке.

Рис. 6. Величина зазора между головкой и жестким диском в масштабе
В секторе размером 4 КБ нового формата Advanced Format размеры блока ECC увеличены почти вдвое2, с 50 до 100 байт, что обеспечило давно ожидаемое повышение эффективности исправления ошибок и устойчивости к мелким частицам и дефектам поверхности.
Таким образом, совместный выигрыш от возросшей эффективности нового формата и повышения надежности исправления ошибок делает переход на сектора размером 4 КБ вполне оправданным. Главная задача производителей жестких дисков — правильно организовать этот переход, чтобы в перспективе достичь наибольшей отдачи с минимальными побочными эффектами.
Последствия перехода на сектора размером 4 КБ
Как уже отмечалось, во многих случаях современные компьютерные системы по-прежнему исходят из того, что размер сектора всегда равен 512 байтам. При переводе целой отрасли на новый стандарт 4 КБ нельзя ожидать, что все эти устаревшие предположения тут же изменятся. Конечно, со временем произойдет переход к использованию секторов размером 4 КБ, когда и компьютер и жесткий диск будут при обмене данными использовать блоки именно такого размера. Но до этого момента производителям жестких дисков придется организовывать переход на сектора размером 4 КБ с использованием приема, называемого эмуляцией секторов размером 512 байт.
Эмуляция секторов размером 512 байт
Внедрение секторов размером 4 КБ во многом зависит от технологии эмуляции секторов размером 512 байт. Этим термином называют процесс преобразования данных из нового формата с размером сектора 4 КБ, используемого новыми дисками, в традиционный формат с размером сектора 512 байт, используемый компьютерами.
Эмуляция секторов размером 512 байт допустима, поскольку не требует серьезных изменений в существующих компьютерных системах. Однако она может привести к снижению производительности, особенно при записи данных, размер которых не кратен восьми традиционным секторам. Чтобы пояснить это, рассмотрим подробнее процессы чтения и записи, которые будут применяться при эмуляции секторов размером 512 байт.
Процессы чтения и записи при эмуляции
Процесс чтения данных из секторов размером 4 КБ в режиме эмуляции секторов размером 512 байт оказывается достаточно простым, как это видно на рис. 7.

Рис. 7. Возможная последовательность чтения данных в режиме эмуляции секторов размером 512 байт
Чтение блока данных размером 4 КБ и переформатирование конкретного сектора размером 512 байт, запрошенного компьютером, выполняется в динамической памяти диска и не оказывает заметного влияния на производительность.
Процесс записи может оказаться несколько сложнее, особенно когда данные, которые компьютер пытается записать на диск, являются подмножеством физического сектора размером 4 КБ. В этом случае жесткий диск сначала вынужден считать нужный сектор размером 4 КБ целиком, объединить считанные данные с новыми и затем записать весь сектор размером 4 КБ (рис. 8).

Рис. 8. Возможная последовательность записи данных в режиме эмуляции секторов размером 512 байт
Жесткому диску приходится выполнять дополнительные механические действия — чтение сектора размером 4 КБ, изменение его содержимого и запись данных. Этот процесс называется циклом «чтение-изменение-запись» и является нежелательным из-за негативного влияния на производительность диска. Для того чтобы переход на сектора размером 4 КБ прошел безболезненно и с наименьшим количеством затруднений, важнее всего снизить до минимума вероятность и частоту возникновения циклов «чтение-изменение-запись».
Предотвращение циклов «чтение-изменение-запись»
- Запросы на запись не выровнены по границам секторов из-за несоответствия логической структуры раздела диска его физической структуре
- Запросы на запись с объемом данных меньше 4 КБ.
Соответствие и несоответствие логической и физической структуры разделов
До текущего момента мы не обсуждали, как согласуется положение сектора на носителе между компьютером и жестким диском. Пора поговорить о логических адресах блоков (Logical Block Address, LBA).
Каждому сектору размером 512 байт назначается уникальный логический адрес с номером от 0 до максимального значения, которое зависит от емкости диска. Компьютер обращается к нужному блоку данных по его логическому адресу. Когда компьютер передает запрос на запись данных, логический адрес блока возвращается после записи как информация о том, куда записаны данные. Это становится важным при переходе на сектора размером 4 КБ, поскольку появляются восемь различных вариантов того, где начинается логический блок.
Если логический адрес блока 0 соответствует первому виртуальному блоку размером 512 байт в физическом секторе размером 4 КБ, такое состояние сопоставления физической и логической структуры в режиме эмуляции секторов размером 512 байт называется «Выравнивание 0». Возможен вариант, когда логический адрес блока 0 назначен второму виртуальному блоку размером 512 байт в физическом секторе размером 4 КБ. Такое состояние сопоставления называется «Выравнивание 1». Сравнение этих состояний приведено на рис. 9. Есть еще шесть возможностей в случаях, когда логическая структура раздела не соответствует его физической структуре, что приводит к возникновению циклов «чтение-изменение-запись». Эти случаи аналогичны случаю «Выравнивание 1».

Рис. 9. Состояния выравнивания
Состояние «Выравнивание 0» очень хорошо работает с новыми секторами размером 4 КБ в расширенном формате. Жесткий диск может легко сопоставить восемь последовательных секторов размером 512 байт с одним сектором размером 4 КБ. Это достигается за счет хранения запросов на запись секторов размером 512 байт в кэш-памяти жесткого диска до тех пор, пока не получено достаточное количество последовательных блоков размером 512 байт для записи сектора размером 4 КБ. Поскольку современные приложения, как правило, работают с последовательностями данных, размер которых превышает 4 КБ, «карликовые» блоки возникают очень редко. В то же время состояние «Выравнивание 1» вызывает определенные трудности.
Если разделы жесткого диска созданы так, что логическая структура не соответствует физической, как это показано на рис. 9, начинают возникать циклы «чтение-изменение-запись», что ведет к снижению производительности жесткого диска. При внедрении жестких дисков нового формата этого состояния следует избегать прежде всего, как рекомендуется ниже.
Запись небольших объемов данных
В современных приложениях данные, такие как документы, изображения и потоковое видео, имеют размер гораздо больше 512 байт. Поэтому жесткий диск легко может хранить запросы на запись этих блоков в кэш-памяти до тех пор, пока не будет накоплено достаточное количество блоков размером 512 байт для записи сектора размером 4 КБ. Если логическая структура разделов диска соответствует его физической структуре, то жесткий диск может легко сопоставить сектора размером 512 байт сектору размером 4 КБ без ущерба для производительности. Однако существуют низкоуровневые процессы, которые могут заставить жесткий диск работать с «карликовыми» блоками, независимо от соответствия логической и физической структуры. Это происходит в редких случаях, когда компьютер отправляет жесткому диску отдельные запросы, размер которых меньше 4 КБ. Как правило, такие запросы отправляет операционная система при работе с файловой системой, журналировании и выполнении других подобных низкоуровневых задач. В общем случае такие запросы встречаются нечасто и не оказывают существенного влияния на производительность. Однако проектировщикам ПО рекомендуется пересмотреть подобные процессы, чтобы добиться оптимальной производительности после перехода к секторам размером 4 КБ.
Подготовка и организация перехода к секторам размером 4 КБ
Теперь, когда преимущества перехода к секторам размером 4 КБ, а также возможное влияние такого перехода на производительность понятны, настало время определить наилучший способ организации перехода. Правильнее всего обсуждать эту тему в контексте двух самых популярных современных операционных систем: Windows и Linux.
Организация перехода к секторам размером 4 КБ в ОС Windows
Самый главный вопрос организации перехода к секторам размером 4 КБ — это вопрос соответствия физической и логической структуры, уже рассмотренный выше. Диски нового формата хорошо работают в состоянии «Выравнивание 0», в котором физическая и логическая начальные точки совпадают. Состояние выравнивания возникает в тот момент, когда создаются разделы жесткого диска. Разделы создаются программным обеспечением, которое можно разделить на две категории:
- Версии ОС Windows.
- Специальные средства разбиения жесткого диска на разделы.
Когда разделы созданы ОС Windows, следует рассмотреть три версии этой ОС: Windows XP, Windows Vista и Windows 7. Компания Microsoft участвовала в обсуждении и планировании перехода к большему размеру сектора. В результате начиная с Windows Vista с пакетом обновления Service Pack 1 в ее продуктах появилась поддержка секторов размером 4 КБ. Программные продукты, создающие разделы с «Выравниванием 0» (разделы, хорошо работающие с новым форматом), называются продуктами с поддержкой секторов размером 4 КБ. В таблице 2 отражена ситуация для текущих поколений ОС Microsoft Windows.
| Версия операционной системы | Поддержка секторов размером 4 КБ | Результаты |
| Windows XP | Нет | Создается первичный раздел в состоянии «Выравнивание 1» (без выравнивания) |
| Windows Vista — без пакета обновления Service Pack 1 | Нет | Поддерживаются сектора большого размера, но разделы создаются неправильно (без выравнивания) |
| Windows Vista — с пакетом обновления Service Pack 1 или более поздней версии | Да | Создаются разделы в состоянии «Выравнивание 0» (с выравниванием) |
| Windows 7 | Да | Создаются разделы в состоянии «Выравнивание 0» (с выравниванием) |
| Windows 10 | Да | Создаются разделы в состоянии «Выравнивание 0» (с выравниванием) |
Очевидно, что новые компьютеры с последними версиями Windows лучше всего подготовлены к использованию жестких дисков нового формата. Однако на компьютерах с Windows XP или Windows Vista без пакета обновления Service Pack 1 существует значительный риск снижения производительности при использовании разделов, созданных операционной системой.
Помимо риска несоответствия логической и физической структуры диска при использовании старых версий ОС Windows, существует несколько средств, которыми активно пользуются сборщики систем, производители вычислительной техники, реселлеры и ИТ-менеджеры. Использование этих средств также может стать причиной несоответствия между логической и физической структурой диска. Фактически чаще можно встретить разделы, созданные с помощью этих средств, чем с помощью ОС Windows. Поэтому велик риск создания разделов, в которых логическая структура не соответствует физической, что приводит к потере производительности при использовании дисков с размером сектора 4 КБ. Еще больше эта проблема осложняется тем, что сегодня поставляемые вместе с компьютерами жесткие диски обычно содержат несколько разделов. Это означает, что каждый из разделов такого диска должен быть создан с помощью программы с поддержкой секторов размером 4 КБ, чтобы обеспечить соответствие между логической и физической структурой, а значит, и высокую производительность. На рис. 10 показаны возможные результаты создания нескольких разделов на жестком диске с использованием программы, не поддерживающей секторы размером 4 КБ.

Рис. 10. Несколько разделов и условия выравнивания
Разделы с несоответствием между логической и физической структурой
Есть три способа избежать несоответствия между логической и физической структурой диска или исправить это несоответствие, чтобы предупредить потери производительности.
- Использовать новую версию ОС Windows или приобрести средство разбиения на разделы с поддержкой секторов размером 4 КБ.
- Выровнять разделы жесткого диска с помощью специального средства.
- Положиться на поставщика жесткого диска в части производительности, независимо от состояния структуры диска.
Использование версии Windows с поддержкой секторов размером 4 КБ — это самый простой и короткий путь обеспечить соответствие между логической и физической структурой диска. Поставщики других средств разбиения на разделы могут сообщить вам, существуют ли версии их средств с поддержкой секторов размером 4 КБ. Если такие версии есть, переходите на них, чтобы предупредить возникновение проблем.
Некоторые производители жестких дисков предлагают специальные средства, позволяющие проверить структуру разделов на жестком диске и изменить выравнивание разделов при необходимости. Для этого нужно потратить дополнительное время и выполнить дополнительные действия при сборке или обновлении компьютера.
Наконец, производители жестких дисков будут разрабатывать все более совершенные способы работы с разделами, в которых есть несоответствие между логической и физической структурой. Эти способы помогут избежать потерь производительности.
По мере роста популярности расширенного формата применяются все три способа, и каждый из них помогает потребителям добиться наибольшего полезного эффекта и избежать потерь производительности.
Организация перехода к секторам размером 4 КБ в ОС Linux
Основная стратегия перехода к секторам размером 4 КБ в Windows применима и в ОС Linux. У большинства пользователей Linux есть доступ к исходным кодам операционной системы, что дает им возможность подстраивать ее поведение под свои потребности. Это дает возможность заранее обновить ОС Linux для правильной работы с жесткими дисками нового формата.
Если внести нужные изменения в ОС Linux, то можно предупредить большинство проблем, связанных с выравниванием разделов в соответствии с новым форматом дисков и возникновением «карликовых» запросов на запись, которые создает операционная система.
Как в ядре, так и в дополнительных средствах Linux сделаны необходимые изменения для поддержки дисков нового формата. Эти изменения обеспечивают точное выравнивание всех разделов на дисках нового формата по границам секторов размером 4 КБ. Поддержка дисков нового формата в ядре ОС реализована начиная с версии 2.6.31. Поддержка разбиения на разделы и форматирования дисков нового формата реализована в следующих дополнительных средствах Linux.
Fdisk: GNU Fdisk — это инструмент командной строки для разбиения жестких дисков на разделы. Начиная с версии 1.2.3 поддерживаются диски нового формата.
Parted: GNU Parted — это графическое средство для разбиения жестких дисков на разделы. Начиная с версии 2.1 поддерживаются диски нового формата.
Заключение
Индустрия ИТ неизбежно отказывается от традиционного размера секторов 512 байт. Производители жестких дисков договорились внедрить расширенный формат не позднее января 2011 года для новых моделей жестких дисков для портативных и настольных компьютеров.
Разработчики жестких дисков продолжают увеличивать плотность записи данных и повышать надежность исправления ошибок. Потребители получают преимущества, поскольку жесткие диски, как и прежде, обладают самой большой емкостью и лучшей удельной стоимостью, а также традиционно ожидаемой от них надежностью.
Залогом безболезненного перехода стало обучение пользователей систем хранения данных, чтобы те смогли избежать «подводных камней». Самым главным условием успешного перехода к секторам размером 4 КБ является распространение средств разбиения жестких дисков на разделы, поддерживающих секторы размером 4 КБ. Всем сборщикам систем, производителям вычислительной техники, интеграторам, специалистам в области ИТ и даже конечным пользователям, собирающим компьютеры или определяющим их конфигурацию, рекомендуется принимать следующие меры.
- Создавать разделы жесткого диска с помощью Windows Vista (с пакетом обновления Service Pack 1 или новее) или Windows 7.
- При использовании стороннего ПО и средств для создания разделов на жестком диске удостовериться у производителя этих средств, что используемая версия поддерживает сектора размером 4 КБ.
- Если какой-либо заказчик регулярно создает и использует образы жестких дисков, убедиться, что используемое ПО для создания образов поддерживает сектора размером 4 КБ.
- При использовании Linux удостовериться у поставщика версии Linux или в обслуживающей организации, что в ОС сделаны необходимые изменения для поддержки секторов размером 4 КБ.
- Обратиться к своему поставщику жестких дисков за рекомендациями и советами по применению жестких дисков нового формата.
Вместе с нашими коллегами по отрасли и заказчиками мы можем обеспечить безболезненный и эффективный переход к новому формату жестких дисков с размером сектора 4 КБ и воспользоваться перспективными преимуществами для всей отрасли систем хранения данных.
Сноски
1 Секторный формат относится только к секторам данных и не рассматривает дополнительное пространство, занимаемое служебными данными, и другое неэффективно используемое дисковое пространство.
2 Не в каждой реализации секторов размером 4 КБ при переходе от секторов размером 512 байт область исправления ошибок увеличивается ровно в два раза.
