มีสองวิธีที่แตกต่างกันในการเข้าถึงตำแหน่งภายในไดรฟ์หนึ่งคือโครงการ CHS และอื่น ๆ คือโครงการ LBA
CHS ย่อมาจาก Cylinder, Head, Sector และเป็นวิธีการระดับต่ำที่สุดในการกำหนดว่าจะอ่านหรือเขียนจากไดรฟ์ คุณบอกให้ใช้ cylinder 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 GiB! เมื่อใช้ CHS จะไม่สามารถเข้าถึงดิสก์ที่มีขนาดใหญ่กว่า 8 GiB ได้!
ดังนั้น LBA จึงถูกนำเสนอด้วยขีด จำกัด แบบ 32 บิตที่ให้คุณมีขนาด 2 ^ 32 x 512 ไบต์หรือขีด จำกัด ของ 2 TiB กับขนาดดิสก์นี่คือเหตุผลที่ดิสก์ MBR ไม่สามารถเกิน 2TiB ได้เนื่องจากใช้ CHS และ LBA เพื่อระบุขนาดพาร์ติชัน สนับสนุนอะไรก็ได้มากกว่า 2TiB
ใหม่กว่ามีตัวเลือกที่ดีกว่าเช่น GPT partitioning scheme ซึ่งขยาย LBA เป็น 64 บิตทำให้คุณมีความต้องการมากกว่าที่คุณต้องการที่ 2 ^ 64 x 512 ไบต์ - แต่ก็มีสิ่งที่น่าสนใจมากมาย ฮาร์ดแวร์และระบบปฏิบัติการรุ่นเก่าและการใช้งาน BIOS รุ่นเก่าและไดรเวอร์รุ่นเก่าไม่รองรับ UEFI หรือ GPT และผู้คนจำนวนมากต้องการมีสิ่งที่สามารถอัปเกรดได้ง่ายขึ้นผ่านขีด จำกัด 2TiB โดยไม่ต้องเขียนสแต็กทั้งหมดใหม่ ตั้งแต่เริ่มต้น และในที่สุดเราก็มีขนาดของภาคธุรกิจถึง 4096 ราย
ดูข้อ จำกัด ทั้งหมดที่กล่าวถึงข้างต้นสิ่งหนึ่งเป็นข้อสันนิษฐานที่แน่นอนนั่นคือขนาดเซกเตอร์ ตั้งแต่วันแรกมันมีขนาด 512 ไบต์และนับตั้งแต่นั้นมา แต่เมื่อเร็ว ๆ นี้ผู้ผลิตฮาร์ดไดรฟ์ตระหนักว่ามีโอกาสที่จะใช้เวทมนตร์: ใช้ CHS แบบดั้งเดิมหรือ LBA แบบ 32 บิตและเปลี่ยนขนาดเซกเตอร์ด้วย 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 ไบต์เหล่านี้เพื่อชดเชย xxx" ดิสก์จะใช้4096 ไบต์เพื่อจัดเก็บ 512 ไบต์เหล่านี้ (ส่วนที่เหลือเป็นศูนย์หรือข้อมูลขยะสมมติว่าคุณไม่ได้จบด้วย หน่วยความจำอันเดอร์โฟลว์) เพราะพวกเขาไม่ได้สื่อสารเป็นไบต์พวกมันสื่อสารกันในเซกเตอร์
ดังนั้นไบออสในตอนนี้ (บางครั้ง) จึงมีตัวเลือกให้คุณระบุว่าควรใช้ขนาดเซกเตอร์ 512 ไบต์แทนขนาดเซกเตอร์ 4096 ไบต์ดั้งเดิมที่ดิสก์รุ่นใหม่ใช้อยู่ - โดยข้อแม้ที่คุณไม่สามารถใช้งานได้มากกว่า 2TiB ของดิสก์บนระบบ MBR เหมือนกับใน "วันเก่า ๆ " แต่ระบบปฏิบัติการที่ทันสมัยที่ 4k ทราบสามารถใช้ประโยชน์จากสิ่งนี้เพื่อใช้เวทมนตร์นี้ในการอ่านและเขียนในชิ้น 4096- ไบต์ไบต์และvoilà!
(ข้อได้เปรียบเพิ่มเติมคือสิ่งต่าง ๆ นั้นเร็วกว่ามากเพราะถ้าคุณกำลังอ่านและเขียน 4096 ไบต์ในแต่ละครั้งมันจะมีการดำเนินการน้อยลงในการอ่านหรือเขียนพูด 4GiB ของข้อมูล)