WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Динамика роста ёмкости жёстких дисков с 1980 года. Ось Y в логарифмическом масштабе, поэтому аппроксимирующая линия соответствует экспоненциальному росту

Объём жёсткого диска (также используются термины размер, ёмкость) — максимальное количество информации, которое способен вместить жёсткий магнитный диск.

Ограничения ёмкости

По мере развития жёстких дисков их максимальная ёмкость стремительно увеличивалась. На пути этого увеличения время от времени возникали препятствия — ограничения широко используемых программных и аппаратных интерфейсов, используемых способов адресации, а также характеристики ПО. В этом списке приводятся ограничения (большей частью исторические) существующие или существовавшие в персональных компьютерах на размер жёстких дисков, разделов и/или файловых систем.

ОграничениеОписание
8 Мб

Ограничение на диск в ОС CP/M (при общем числе не более 16 дисков).

10,4 Мб

Фиксированный размер диска в PC/XT: 312 цилиндров, 4 головки, 17 секторов на трек.[1]

15 Mб

Максимальный размер раздела для MS-DOS 1 и 2.[2]

16 Мб

Предельный размер для FAT12.[1]

32 Мб

Ограничение на размер раздела для MS-DOS 3 для файловой системы FAT16: размер кластера 2 кб, не более 16 384 кластеров.[1]

128 Мб

Ограничение на размер FAT16 в MS-DOS 4: число кластеров до 65 526, размер кластера 2 кб.[1]

504 МбОграничение схемы адресации CHS (см. ниже).
2 Гб

Максимальный размер файловой системы FAT16 при 32-кб кластере. Для Windows NT это величина за счёт 64-кб кластеров равна 4 Гб.[3]

2,1 Гб

Некоторые материнские платы выделяли 12 бит на хранение числа цилиндров (4095*16*63 — 2,1 Гб).[4]

3,2 Гб

Ошибка некоторых биосов Phoenix (4.03 и 4.04), приводящая к зависанию в CMOS setup, если диск превышает в размере 3277 Мб.[4]

4 Гб Лимит на размер FAT16 раздела в Windows NT.
Лимит раздела, создаваемого Windows NT 3.51/4.0 Workstation при установке[5] (связано с тем, что при установке создаётся раздел FAT16, который конвертируется потом в NTFS).
4,2 Гб

Прямая трансляция числа секторов/головок методом последовательного уменьшения в 2 раза числа цилиндров и удвоения числа головок (т. н. Large или ECHS (Extended CHS)) приводила к лимиту в 1024 головки: 1024*128*63*512 — 4,2 Гб.[4]

7,8 Гб

Лимит на размер системного диска Windows NT 4.0.[6]

7,9 Гб

При уменьшении числа головок до 15, ECHS (revised ECHS) позволял методом удвоения получить конфигурацию с 15*2*2*2=240 головками, что давало предел в 7,9 Гб.

8,4 ГбОграничение BIOS (см. ниже).
32 Гб Искусственное ограничение на размер FAT32-раздела в Windows 2000, XP. Разделы большего размера форматировать система отказывалась.[7][8] Причиной является рациональное использование ресурсов: FAT32 при большем размере раздела теряет производительность, а NTFS, напротив, при малом размере раздела (~10 GiB) слишком расточителен.
Максимальный поддерживаемый размер диска Windows 95.[9]
33,8 Гб

Большие диски сообщают о себе 16 головок, 63 секторах и 16 383 цилиндрах. При использовании для вычисления реального числа цилиндров (деления ёмкости на 16*63) число цилиндров получается больше, чем 65535, что приводит к зависанию некоторых биосов. Именно из-за этой проблемы на многих дисках того времени присутствовали джамперы ограничения ёмкости до 32 Гб.

128 Гб
137 Гб[4]
Ограничение стандартов с ATA-1 по ATA/ATAPI-5 (см. ниже).
Лимит в Windows XP SP1 на размер раздела NTFS (исправлено в SP2).
Максимальный размер FAT32, создаваемый Windows 98.[7]
Максимальный размер SFS в ОС семейства Amiga.
2 Тб Максимальный размер всего диска (без учёта разделов), поддерживаемый MBR. Ограничения MBR: размер раздела, а также расстояние от начала раздела до контейнера (до начала диска в случае первичного раздела, до начала расширенного раздела в случае логических томов) — 32-битное число секторов, то есть и тот, и другой параметр не может быть больше 2 Тб.
Максимальный размер файловой системы ext3 на 32-битной архитектуре.
Максимальный размер раздела для загрузки Windows XP (в силу ограничений MBR).
8 Тб

Предел FAT32.[8]

16 Тб Максимальный размер ext3 на 64-битной архитектуре (4-кб блок), на Alpha при 8-кб блоке может быть до 32 Тб.
Максимальный размер NTFS при 4-кб кластере.
Максимальный размер файловой системы ReiserFS 3.6.[10]
Максимальный размер файловой системы ISO 9660 (используемой на оптических дисках).
64 Тб

Лимит на размер spanned-массива дисков в Windows 2003.[11]

256 Тб

Максимальный размер файловой системы NTFS (при 64-кБ кластере) в существующих 32-битных реализациях.[7][11]

48-bit LBA способно адресовать до байт, что составляет 256 ТиБ. К концу 2011 года на рынке имелись внутренние жёсткие диски объёмом не более 4 Тб.

512 Тб

Рекомендуемый максимальный размер файловой системы exFAT.[12]

4 Пб

Лимит JFS при 4-кб блоке.[10]

8 Пб

Лимит NFS.[10]

137 Пб

Лимит адресации секторов ATA-6 (48-bit LBA).

1 Эб

Максимальный размер ext4.[13]

8 Эб

Лимит XFS.[10]

16 Эб

Лимит HFS+.

64 Эб

Теоретический максимальный размер файловой системы exFAT.[12]

256 ЗиБ

Максимальный размер файловой системы ZFS

1 Йб

Теоретический предел NTFS при 64-кб блоках и 64-битной адресации (в настоящий момент используется 32-битная).[7]

504 Мб

Ограничение MS-DOS на допустимое число головок — 16 (1024 цилиндра, 63 сектора на трек, 16 головок, 512 байт на сектор).[4][14]

Программное обеспечение времен начала 1990-х, такое как MS-DOS, для работы с жёстким диском использовало вызов Int 13h.

Адресация блоков диска в вызове Int 13h выглядит как номера цилиндра (cylinder), головки (head) и сектора (sector) — C/H/S. При этом на C отводится 10 бит, на H — 8, на S — 6.

Обработчик Int 13h в BIOS вписывает эти номера в управляющие регистры контроллера IDE. В этих регистрах на C отводится 16 бит, на H — 4, на S — 8.

Совокупность того и другого приводит к общему ограничению C/H/S = 10/4/6 бит (всего 20 бит), что позволяет адресовать 1 032 192[15] секторов. При размере сектора в 512 байт это даёт 528 482 304 байт (504 МБ).

Максимум BIOSIDEОбщее ограничение
Секторов/трек 6325563
Поверхностей (головок) 2561616
Треков 1024655361024
Объём 8 064 Мбайт127,5 Гбайт504 Мбайт

Данное ограничение стало ощутимым в 1994—1995 годах, примерно во время первых микропроцессоров Pentium. Для его обхода была придумана трансляция значений CHS в коде обработчика Int 13h в BIOS. Среди алгоритмов трансляции был и LBA (Linear Block Addressing), когда CHS-адрес преобразовывается в линейный адрес, который уже и передаётся в контроллер диска.

Теоретически разные методы трансляции должны давать одинаковый результат, однако из-за особенностей некоторых реализаций трансляции, а также организации структур данных (разделов) на дисках, информация, записанная на диск в одной трансляции, могла быть недоступна в других трансляциях. Для смены режима трансляции диска необходимо было «переразбить» диск (пересоздать таблицу разделов), что означало потерю информации, уже записанной на диск.

8,4 Гб

Максимально возможная величина для прерывания INT 13, 1024 цилиндра, 63 сектора, 255 головок. Ограничение многих BIOS того времени (P1-P2), при попытке определить диск с размером больше 8 Гб такие BIOS зависали, так как число головок обязано быть меньше 256.[4]

В интерфейсе Int 13h для номера цилиндра отведено 10 бит, для номера головки — 8, для номера сектора — 6, всего 24 бита. Это позволяет адресовать 16 515 072[15] секторов, что при размере сектора в 512 байт даёт 8 455 716 864 байт (8064 Мб, 7,875 Гб).

К тому времени, когда это стало проблемой — около 1997—1998 годов — стали массово использоваться полноценные многозадачные ОС, такие, как GNU/Linux, FreeBSD и Windows NT. Так как код Int 13h в BIOS никогда не разрабатывался с учётом многозадачности (в частности, он нагружает процессор бесконечным циклом в ожидании прерывания от контроллера), эти ОС не могли пользоваться Int 13h в своей работе. Вместо этого они — как ранее Novell NetWare — включали драйвер IDE, напрямую обращающийся к аппаратуре контроллера. Это снимало связанные с Int 13h ограничения при работе уже загруженной ОС, но проблема с загрузкой (запуском загрузчика системы из раздела диска, расположенного за доступной для BIOS границей) оставалась.

Для решения проблемы разработчики BIOS расширили Int 13h новыми подфункциями, принимавшими номер сектора как 64-битное целое число (LBA) без деления на C/H/S. Разработчики ОС внедрили поддержку этого новшества в загрузчики (в Windows — это один из пакетов обновления для Windows NT 4.0 в 1997 году), после чего проблема перестала существовать.

128 Гб

Аппаратный интерфейс регистров IDE-контроллера стандартов с ATA-1 по ATA/ATAPI-5 использует 16 бит для номера C, 4 — для H и 8 — для S, всего 28 бит. Это позволяет адресовать 267 386 880[15] секторов, что при размере сектора в 512 байт даёт 136 902 082 560 байт (127,5 Гб).

Решение проблемы с таким ограничением возможно только на уровне аппаратуры (и обновления драйверов для использования новых возможностей аппаратуры). Оно было принято в стандарте ATA/ATAPI-6 в виде отправки адреса в контроллер дважды в определённой последовательности (48-bit LBA).[16]

В семействе Windows поддержка 48-bit LBA была добавлена в SP4 для Windows 2000 и в SP2 для Windows XP. Кроме того, в Windows 2000 также требуется явно активизировать эту поддержку с помощью редактирования реестра.[17]

Другие ограничения

Помимо ограничений интерфейсов IDE и BIOS, имелись и другие барьеры — ошибки и ограничения в программах, ОС и в коде BIOS.

Например, DOS не поддерживает работу с количеством головок больше 255, поэтому в этой операционной системе не приемлема геометрия, в которой количество головок равно 256. Это означает, что в компьютерах, где в BIOS не поддерживалась трансляция с заменой количества головок 256 на 255, доступ к дискам объёмом больше 8 257 536 секторов был под вопросом. При размере сектора в 512 байт это даёт 4 227 858 432 байт (4032 МБ, 3,94 ГБ).

Примечания

  1. 1 2 3 4 Hard Disk Size Barriers The PC Guide
  2. MS-DOS Partitioning Summary Microsoft
  3. Максимальный размер раздела на диске с файловой системой FAT16 Microsoft
  4. 1 2 3 4 5 6 Properties of partition tables Win.tue.nl
  5. Boot Partition Created During Setup Limited to 4 Gigabytes Microsoft
  6. Windows NT 4.0 не поддерживает системных разделов размером более 7,8 Гб Microsoft
  7. 1 2 3 4 NTFS.com NTFS vs FAT32 FAT64 exFAT FAT. Comparing. Performance
  8. 1 2 Ограничения файловой системы FAT32 в Windows XP Microsoft
  9. Does Not Support Hard Disks Larger Than 32 GB Microsoft
  10. 1 2 3 4 File system guide. File system guide Linuxreviews.org
  11. 1 2 Reviewing Storage Limits Microsoft Technet
  12. 1 2 Description of the exFAT file system driver update package Microsoft
  13. Migrating to ext4 IBM
  14. The 1,024 Cylinder (504 MiB / 528 MB) Barrier The PC Guide
  15. 1 2 3 Нумерация секторов начинается с единицы, поэтому всего секторов , а не для BIOS и 255, а не 256 для IDE.
  16. 6.20. 48-bit Address feature set // AT Attachment with Packet Interface — 6 (ATA/ATAPI-6). — ANSI, T13 Commitee, 14 декабря 2001. — P. 51.
  17. KB305098: Поддержка 48-разрядной логической адресации блоков для дисководов ATAPI в Windows 2000. Microsoft Knowledge Base (13 апреля 2006). Проверено 13 января 2010. Архивировано 23 марта 2012 года.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии