Как жесткий диск в формате MBR может превышать 1,81 ТБ?

7

Недавно я приобрел внешний накопитель емкостью 3 ТБ (2,72 ТБ).

Теперь, согласно статье Википедии о MBR , максимальный адресуемый объем памяти на диске, отформатированном по схеме MBR, ограничен 2 ТБ (1,81 ТБ), поэтому вполне естественно, что жесткие диски большой емкости (> 2 ТБ) должны быть отформатированы с использованием раздела GUID. Настольная (GPT) схема позволяет использовать всю емкость жесткого диска.

Почему тогда внешний накопитель WD My Book емкостью 3 ТБ в заводских условиях отформатирован по схеме MBR и, что еще более удивительно, почему он отображается в Windows как накопитель на 2,72 ТБ, когда MBR может адресовать только 1,81 ТБ?

Кто-нибудь еще с жестким диском Western Digital (или другой торговой марки) большой емкости видел это раньше?

Если это помогает, жесткий диск отформатирован с использованием NTFSразмера сектора 4096 bytes. Также вот несколько скриншотов:

3 TiB MBR WD My Book - 3 ТБ


РЕДАКТИРОВАТЬ: После того, как я опубликовал свой ответ, я прочитал этот пост от AnandTech, который говорит:

Теперь адреса LBA в разделах MBR адресуются с использованием 32-разрядных значений, максимальное из которых составляет 2 ^ 32 или 4294967296. Каждый LBA на жестком диске соответствует значению сектора 512 байт ( даже на дисках расширенного формата 4K они по-прежнему выглядят как 512-байтовый сектор дисков в ОС ), поэтому самый большой раздел, который вы можете иметь в многораздельном диске MBR, составляет 4294967296 * 512 байт или 2 199 023 255 552 байт .

Производители жестких дисков определяют 1 ТБ как 1 триллион байт. Если мы используем это определение, то самый большой 32-разрядный раздел MBR будет иметь размер 2,199 ТБ (2 199 023 255 552 байт / 1 000 000 000 000). Если мы определим 1 ТБ как 1024 ^ 4 байта (TiB), то самый большой 32-разрядный раздел MBR будет 2 ТБ (2 199 023 255 552 байта / 1 099 511 627 776). В любом случае, с диском объемом 3 ТБ мы не получим один раздел размером 3 ТБ с использованием MBR .

Но, как вы видите, My Book, которой я владею, имеет один раздел объемом 3 ТБ (2,72 ТБ) и использует MBR. Причина, по которой меня это беспокоит, связана с этим инцидентом, когда человек утверждает, что столкнулся с проблемами целостности данных на диске после передачи более 2 ТБ данных на диск 3 ТБ в формате MBR.

Винаяк
источник
1
Это расширенный формат (он же AF, размер сектора 4K)?
Hennes
@Hennes Да, я только что узнал об этом сразу после того, как опубликовал вопрос. Это кажется причиной, почему это возможно.
Винаяк
2
translate.google.com/… "Некоторые внешние 3-ТБ-накопители от Seagate (FreeAgent GoFlex) и Western Digital (My Book Essential) можно использовать благодаря другому техническому трюку на XP на полную мощность. Зарегистрируйтесь через USB или FireWire взаимодействовать не с обычными 512-байтовыми секторами, а с 4K-секторами системы. Таким образом, можно избежать ограничения MBR в 2 ТБ ».
bwDraco
2
Я говорю о 4Kn , где накопитель не эмулирует 512-байтовые сектора, а показывает фактический размер сектора 4K для системы.
bwDraco
1
@DragonLord Я только что посмотрел 4Kn, и я не уверен, что это 4Kn HDD. Я не знаю, какой жесткий диск использует WD для внутреннего использования, но подозреваю, что это диск WD Green.
Винаяк

Ответы:

7

Ваш накопитель использует расширенный формат 4Kn, где он использует собственный размер сектора 4K вместо эмуляции 512-байтовых секторов (512e). Это обеспечивает совместимость с устройствами, которые не поддерживают GPT, путем расширения предела MBR до 17,6 ТБ (16 ТиБ), что позволяет избежать необходимости использовать GPT.

  • MBR разрешает максимум 2 32 сектора. Это означает, что в обычных 512-байтовых секторах максимальный поддерживаемый размер диска составляет 2,2 ТБ (2 ТиБ). Однако для секторов 4K максимальный размер диска становится 17,6 ТБ (16 ТиБ).

  • Согласно этой статье (через Google Translate, слегка отредактированный), несколько внешних жестких дисков емкостью более 2,2 ТБ используют собственные 4K-сектора с таблицей разделов MBR для совместимости с Windows XP:

    Некоторые внешние диски Seagate (FreeAgent GoFlex) и Western Digital (My Book Essential) объемом 3 ТБ также можно использовать в XP на полную мощность благодаря еще одной технической возможности. Они не [подключаются] к системе через интерфейс USB или FireWire [с обычными] 512-байтовыми секторами, а скорее с секторами 4 КБ. Это обходит ограничение MBR в 2 ТБ. Но даже у этой хитрости есть недостатки: программы, которые обращаются к диску низкого уровня, такие как инструменты форматирования, могут не работать на дисках. [T] эй [также] не подходит [в качестве загрузочных дисков].

  • Производитель использует тот факт, что это внешний жесткий диск, при условии, что он будет использоваться только для хранения, а не для загрузки. Однако это создает еще один набор проблем совместимости, когда программы, использующие сектора размером 512 байт, могут работать неправильно:

    • Инструменты разметки, которые не поддерживают диски 4Kn, не будут правильно работать с этим диском.

    • Некоторые программы баз данных используют прямой дисковый ввод-вывод для производительности и целостности данных. Эти программы не будут работать правильно, если они не предназначены для обработки секторов 4K.

  • Внутренний жесткий диск, лежащий в основе, вполне может быть 512e - в этом случае электроника корпуса предоставляет системе 4K сектора для совместимости.

bwDraco
источник
Хотя сам накопитель, вероятно, действительно является расширенным форматом, я готов поспорить, что он на самом деле не отображает свой собственный размер сектора. Вместо этого чип моста USB-SATA делает это.
Даниэль Б
1
@DanielB: Если диск с точки зрения системы составляет 4Kn, маловероятно, что диск будет 512e с мостом USB-SATA, преобразующим обратно в 4Kn. Намного проще, если базовый накопитель составляет 4Kn, и для этого требуется немного больше, чем прошивка.
bwDraco
1
Это может быть проще, но есть тонны корпусов, выполняющих все виды темной магии, чтобы включить разделы по 3 ТБ, которые также работают на XP.
Даниэль Б
1
@DanielB Я запустил, fsutil fsinfo sectorinfo <drive_letter:>и он сообщает, что логические и физические байты на сектор равны 4096 . Я не собираюсь разбирать его, подключать к порту SATA и запускать ту же команду снова в ближайшее время, но когда и если я это сделаю, я сообщу об этом здесь.
Винаяк
@Vinayak Это само собой разумеющееся, иначе раздел MBR при таком размере был бы невозможен. WD не предлагает 4Kn накопителей , поэтому вряд ли сам накопитель будет 4Kn.
Даниэль Б
4

Я связался со специалистом службы поддержки WD, и он сказал мне, что это аномалия, и что вместо этого я должен преобразовать диск в GPT, чтобы в будущем не произошло случайной потери данных.

Однако он не был уверен, действительно ли это приведет к потере данных, но порекомендовал мне преобразовать диск в GPT, и он также дал мне знать, что у меня был первый случай использования диска большой емкости в формате MBR (> 2 ТБ), который он встречается.

Если вы уже сталкивались с подобной ситуацией и знаете, почему это так или нет, добавьте свой ответ.

Не обращайте внимания на все, что я написал ниже. Это может или не может быть правильно.


Я думаю, что нашел ответ. @Hennes и AIDA64 помогли. Кажется, что Western Digital разработала решение для предотвращения медленного прекращения MBR, и оно называется Advanced Format .

Благодаря этой технологии WD увеличил размер блока жесткого диска с 512 байт до 4 килобайт, поэтому диски расширенного формата могут увеличиться до 16 ТБ без ограничения 32-битного размера LBA .

Стивен Фоскетт очень хорошо объяснил это в своем блоге .


Из блога:

Текущая схема адресации жесткого диска составляет около 2,1 ТБ. В этом уравнении есть два простых фактора:

  1. В 4,294,967,29632-разрядном «пространстве имен» есть адресуемые блоки, и это все, с чем может справиться большинство компьютеров
  2. Каждый блок имеет 512 bytesразмер, и с тех пор, как динозавры продали компьютеры

Если мы умножим 4,294,967,296раз 512, мы получим 2,147,483,648 KBемкость. В дурацкой индустрии хранения Base-10, это емкость составляет 2,15 ТБ.

У производителей жестких дисков есть два пути вперед, и они не являются взаимоисключающими:

  1. Компания Western Digital впервые выпустила накопитель Advanced Format в конце 2009 года. Это устраняет (архаичный) размер блока, увеличивая его с 512 bytesдо 4 kilobytes. Теперь, когда каждый адрес в восемь раз больше, нам нужно в восемь раз больше адресов для данного размера диска. Диски Advanced Format могут увеличиваться до 16 ТБ без ограничения 32-битного размера LBA.

  2. Seagate атаковал другую переменную, увеличив адресное пространство до полных 48 бит, указанных в стандарте LBA. Это дает удивительные 128 петабайт емкости даже с крошечными 512 byteблоками.

Винаяк
источник
Я думаю, что предпочел бы решение Seagate с большим количеством крошечных файлов по 4 КБ, каждый из которых может занимать довольно много места
Xen2050
@ Xen2050 - Что? Маленькие файлы занимают одинаковое количество места, несмотря ни на что.
Ramhound
1
@Ramhound Нет, когда на диске с размером блока 4k используется куча файлов <4k, теперь каждый из них занимает 4k.
Xen2050
Вы все еще получаете тот же объем данных из устройства хранения, хотя. Думайте об этом так. Прежде чем файл 4 КБ займет несколько блоков, а не один.
Ramhound
@Ramhound Итак, для файла 4 КБ вы используете 4 КБ раньше и 4 КБ сейчас - без разницы. Но для файла 1B вы используете 512B раньше и 4096B сейчас - потеря 3584B. На самом деле, если мы можем ожидать, что размеры файлов будут равномерно распределены в 512 байт, что выглядит как минимум поверхностно, то можно ожидать потери (4096B / 2 - 512B / 2) = 1792B на файл в среднем.
wchargin
1

Я склонен идти с блогом, а не ответом техника поддержки WD. У меня есть пара накопителей Toshiba Stor.e Canvio 3 ТБ. Оба формата отформатированы на заводе с использованием «расширенного формата» с размерами кластеров и секторов 4k.

Диски используются на смарт-телевизоре Samsung, который не распознает раздел GPT (большинство мультимедийных устройств распознают только MBR).

user409837
источник
Это интересно. Вы использовали более 2 ТБ дискового пространства на любом из этих жестких дисков?
Винаяк