Є два різних способи доступу до місця розташування в одному диску, одна - схема CHS, а інша - схема LBA.
CHS означає Циліндр, Голова, Сектор і є найбільш низьким рівнем методу визначення місця читання або запису з диска. Ви вказуєте їй використовувати циліндр x, head y, і сектор z і читати або записувати вміст цього місця в або з адреси в пам'яті (буфер). Вона походить від фактичних, фізичних компонентів жорсткого диска (традиційної, спінінгової іржі), де є фізичні циліндри і читаються голови. Сектор є найменшою адресною одиницею і традиційно фіксується на рівні 512 байт.
LBA є адресою логічного байта, в якому диск читає і записує адресу сектора за своїм зміщенням, наприклад, зчитує 123837-й сектор на диску або записує його в 123734-й сектор на диску (починаючи з нуля).
Проблема? Кожне з цих значень обмежене в діапазоні. Насправді, зважаючи на те, наскільки сильно обмежувалася CHS, LBA повинна була бути введена. Для CHS можливими значеннями для C (циліндра) є 1023, в той час як H (головки) можуть бути максимум 255, а S (сектор) може доходити до 63, тобто ви можете мати не більше 1024 циліндрів x 255 головок x 64 сектори x 512 байт відображені в традиційному форматі CHS, що дає вам загальну суму до 8 ГБ! Використовуючи CHS, просто неможливо отримати доступ до диска розміром більше 8 ГБ!
Так LBA була введена з 32-бітним обмеженням, що дає вам 2 ^ 32 x 512 байт або 2 TiB обмеження на розмір диска - це причина MBR диска не може перевищувати 2TiB, оскільки він використовує CHS і LBA для визначення розмірів розділів, і ні підтримувати що-небудь більше 2TiB.
Новіші, кращі варіанти були введені, як схема розділення GPT, яка розширює LBA до 64 біт, що дає вам ще більше, ніж вам знадобиться у 2 ^ 64 x 512 байт - але є улов: багато застарілих апаратних засобів і застарілих операційних систем і застарілих реалізацій BIOS і застарілих драйверів не підтримують UEFI або GPT, і багато людей хотіли б мати те, що можна легко модернізувати, щоб пройти повз 2TiB обмежити без необхідності переписувати весь стек з нуля. І, нарешті, ми досягаємо розміру 4096 секторів.
Див. У всіх обмеженнях, що обговорювалися вище, одне було фіксованим припущенням: розмір сектора. З першого дня, це було 512 байт, і він залишився таким чином до цих пір. Але нещодавно виробники жорстких дисків зрозуміли, що є можливість попрацювати з магією: візьміть традиційний CHS або 32-бітний LBA і просто заміните розмір сектора 4096 (4k) замість 512 байт. Коли операційна система каже "дайте мені 2-й сектор на диску", запитавши LBA 1 (оскільки LBA 0 перший), ми не збираємося надавати їй байти 512 - 1023, а байти 4096 - 8191.
Раптом наш ліміт 2TiB підвищений до 2 ^ 32 x 4096 байт, або 16 TiB, без необхідності виконувати MBR, перемикатися на UEFI або GPT, або що завгодно!
Єдиний висновок полягає в тому, що якщо операційна система не знає, що це чарівний диск, який використовує 4096 секторів замість секторів 512 байт, буде невідповідність. Кожен раз, коли операційна система каже: "Ей, ти, диск, напиши мені ці 512 байт, щоб компенсувати ххх", диск буде використаний 4096 байт для зберігання цих 512 байт (решта - це нулі або небажані дані, якщо ви не потрапили до переповнення пам'яті), оскільки вони не спілкуються в байтах, вони спілкуються в секторах.
Таким чином, BIOS зараз (іноді) включають опцію, що дозволяє вручну вказати, що розмір сектору в 512 байт повинен використовуватися замість рідного розміру сектору 4096 байт, який використовують нові диски, - застереження, що ви не можете використовувати його для доступу до 2TiB диска на системі MBR, як і в "старі добрі часи". Але сучасні операційні системи, які мають 4k-обізнаність, можуть скористатися всім цим, щоб використовувати цю магію для читання і запису в 4096-байтових шматках і вуалях!
(Додатковою перевагою є те, що все набагато швидше, тому що, якщо ви читаєте і записуєте 4096 байт за раз, це менше операцій для читання або запису, наприклад, 4GiB даних.)