เหตุใดฮาร์ดไดรฟ์จึงไม่ใหญ่เท่ากับโฆษณา


18

จากฮาร์ดไดรฟ์ทั้งหมดที่ฉันซื้อมาพวกเขาดูเหมือนจะไม่ใหญ่เท่ากับขนาดโฆษณา จาก 320 GB ลงไปที่ 290 GB, จาก 500 GB ลงไปที่ 450 GB, ฯลฯ มีเหตุผลทางเทคนิคหรือไม่?


3
แน่นอนว่าด้วยเหตุผลที่ไม่ใช่ทางเทคนิคก็คือผู้ผลิตจะใส่จำนวนมากเท่าที่พวกเขาจะพิสูจน์ได้ในกล่องเพื่อผลักดันยอดขาย มันคล้ายกับโฆษณาที่มีการพิมพ์เล็ก ๆ "ถึง" บนความสามารถและ "เริ่มต้นที่" สำหรับราคา
David Thornley

5
ไดรฟ์ของคุณมีขนาดใหญ่เท่ากับโฆษณา ระบบปฏิบัติการเพียงแค่วัดว่ามันผิด
endolith

2
อย่าลืมว่าไดรฟ์นั้นถูกระบุว่าเป็นขนาดที่ไม่ฟอร์แมตเสมอและเมื่อฟอร์แมตแล้วจะมีพื้นที่ว่างน้อยลงเนื่องจากตารางการจัดรูปแบบตารางการแทนที่หน้าและอื่น ๆ ที่คล้ายกัน
Daniel R Hicks

( แต่ 16G ติดผมได้เสียบอยู่ในขณะนี้มี 16000761856 ไบต์รวมตามคุณสมบัติ .)
แดเนียลฮิกส์ R

@DanielRHicks ขอแสดงความยินดี! คุณได้มากกว่าที่คุณต่อรอง! ;-)
Samir

คำตอบ:


29

เหตุผลทางเทคนิคคือผู้ผลิตฮาร์ดไดรฟ์ขายความสามารถให้คุณในหน่วยเมตริก ดังนั้น GB = 1,000,000,000 ไบต์โดยระบบเมตริก อย่างไรก็ตามคอมพิวเตอร์จะวัดขนาดไดรฟ์โดยใช้กำลัง 2 ดังนั้น 1GiB = 1,024MiB, 1MiB = 1,024KiB เป็นต้นสิ่งนี้หมายความว่า 1GiB = 1,073,741,824 ไบต์แตกต่างกันคือ 73,741,824

ดังนั้นเมื่อคุณติดตั้งไดรฟ์ 1GB (เพื่อประโยชน์ของตัวอย่าง) ระบบปฏิบัติการจะเห็น 0.93GiB เท่านั้นและนี่คือสาเหตุของความคลาดเคลื่อน

(หากคุณไม่เคยเห็นตัวย่อของ GiB มาก่อนมันเป็นสัญกรณ์ใหม่ที่นำมาใช้เพื่อแสดงพลังที่ 1024 เมื่อเทียบกับ 1,000 อย่างไรก็ตามระบบปฏิบัติการส่วนใหญ่จะรายงานว่า GiB เป็น GB ทำให้เกิดความสับสนมากยิ่งขึ้น)


6
Gi => Gibi มากกว่า G => Giga
ChrisF

@ChrisF: อ๋อฉันเพิ่มภาคผนวกที่โพสต์ของฉันอธิบายว่า
ไคล์โครนิน

11
และอย่าให้ฉันเริ่มต้นจากฟลอปปี้ดิสก์ "1.44Mb" แบบเก่า สิ่งเหล่านี้ผลิตจาก 1440 * 1024 ไบต์โดยใช้ทั้งการวัด 1,000 และ 1024 พร้อมกัน มันไม่ใช่ทั้ง MiB และ MB
R. Martinho Fernandes

1
Wikipedia มีการเขียนและแผนภูมิแสดงความแตกต่างen.wikipedia.org/wiki/Hard_disk_drive#Capacity_measurements
Chris Nava

1
Apple เพิ่งเปลี่ยนการแสดงขนาดดิสก์ภายใน MacOSX เพื่อใช้ค่าตัวชี้วัด
คริสนว

9

แต่เดิมนี่คือคำตอบสำหรับคำถามนี้(รวม)เกี่ยวกับไดรฟ์ปากกา 4GB

เรามาเริ่มจากคำแถลงว่า " ระบบของมนุษย์ขึ้นอยู่กับพลังของ 10, เลขฐานสองต่อกำลัง 2 "
สิ่งต่อไปนี้สามารถให้คำตอบแรกกับคำถามของคุณ

เมตริกคำนำหน้าเป็นอำนาจของ 10 1000 หรือ 10 ^ 3 เป็นk , 10 ^ 6 M , 10 ^ 9 G ... ไบนารีคำนำหน้าเป็นอำนาจของ 2 (2 ^ 10 = 1024 ไม่ไกลจาก 1000 แต่ที่แตกต่างกัน2.4% )

4000000000/1024/1024/1024  Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250     That becames around 3.73 GiB 

ผู้ขายและกฎหมาย : ผู้ขายปฏิบัติตามกฎของตลาดเมื่อกฎหมายไม่ได้บังคับให้พวกเขาทำอย่างอื่น 4 ขายดีขึ้นแล้ว 3.78 ด้วยเหตุผลเดียวกันผู้ให้บริการอินเตอร์เน็ตมักจะพูดเกี่ยวกับbpsและช่วยให้คุณเข้าใจBps มีปัจจัย 8: a ไบต์ ( B ) คือ 8 บิต ( b )

ปัญหาคือว่ากฎหมายมีอยู่ แต่ไม่ได้อยู่ในทุกประเทศเหมือนกัน

ระบบอินเตอร์เนชั่นแนลหรือเอสไอจะใช้กันอย่างแพร่หลายมากที่สุดในโลกสำหรับการพาณิชย์และวิทยาศาสตร์ (มันถูกตีพิมพ์ในปี 1960 และในปัจจุบันกำลังบางส่วนออกมาเพียงสหรัฐอเมริกาว่าเป็นการนำพม่าและประเทศไลบีเรีย)
มันไม่เพียงสร้างหน่วยวัดเท่านั้น แต่ยังมีส่วนนำหน้าด้วย

เพราะมันเป็นธรรมชาติในโลกของคอมพิวเตอร์การใช้ฐานตัวเลขที่อยู่ในอำนาจของ 2 (และไม่ได้ 10 เช่นเดียวกับในโลกมนุษย์ ) มันถูกนำขึ้นในปี 1998 ระบบของคำนำหน้าไบนารี นี่โดยตรงตาราง ทุกวันนี้เราพบในสถานการณ์ที่

the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations 
for a new set of binary prefixes that refer unambiguously to powers of 1024

เมื่อคุณอ่าน1GBมันควรจะเป็น1 000 000 Bytes,
แทนเมื่อคุณอ่านมันควรจะเป็น 1GiB1 073 741 824 Bytes

ทำไมถึงต้องเป็นและไม่เป็นเช่นนั้น ? เพราะมันขึ้นอยู่กับวิธีการที่สมาชิกสภานิติบัญญัติของประเทศที่ผลิตรายการและผู้ออกกฎหมายของประเทศที่นำเข้าสินค้านำมาใช้และเปลี่ยนกฎหมายเป็นคำสั่งของคณะกรรมการระหว่างประเทศ

ดังนั้นจงเปิดตาของคุณให้ดี

(แม้เพราะในหลายประเทศก็มีการกำหนดในการเขียนข้อมูลในการปฏิบัติหน้าที่ของกฎหมายเกี่ยวกับฉลากกาว. ปกติมันจึงเป็นเรื่องเล็ก ๆ น้อย ๆ กว่าที่คุณจริงๆต้องให้ดีเปิดตาของคุณเพื่ออ่านอ่านมัน)


อ้างอิงเพิ่มเติม


7

เมื่อผู้ผลิตไดรฟ์สร้างไดรฟ์ความจุ 500 GB นั้นจะมีความจุ 500,000,000,000 ไบต์และพวกเขาแน่ใจว่าจะโฆษณาเช่นนั้น คอมพิวเตอร์ที่เป็นอุปกรณ์ไบนารีชอบพลังของสองด้วยชุดคำนำหน้าที่แตกต่างกันดังนั้นนั่นคือสิ่งที่พวกเขาใช้สำหรับการวัดพื้นที่เก็บข้อมูล:

1 kibibyte = 2 ^ 10, 1 mebibyte = 2 ^ 20, 1 gibibyte = 2 ^ 30 เป็นต้น

ตัวอย่างเช่นฉันมีไดรฟ์ 300 GB ติดกับเครื่องนี้และ Windows จะแสดงความจุต่อไปนี้:

Capacity:          300,082,855,936     279 GB

300,082,855,936 / 2 ^ 30 = ~ 279 สิ่งที่มันเป็นจริงแสดงให้คุณเห็นคือขนาดของไดรฟ์ในgibiไบต์ไม่Gigaไบต์ ดังนั้นควรอ่าน:

Capacity:          300,082,855,936     279 Gi

อาจมีคนบอกว่านี่เป็นข้อบกพร่องใน Windows แต่เห็นได้ชัดว่าไม่มีมาตรฐานที่ชัดเจนสำหรับความหมายของคำนำหน้าความจุ จำนวนข้อมูลที่ดีมากขึ้นรวมทั้งส่วนที่เกี่ยวกับ "ความสับสนของผู้บริโภค" ในบทความวิกิพีเดียนี้


4

ดูบทความนี้สำหรับคำอธิบาย

โดยทั่วไปมีสองคำจำกัดความของ "กิกะไบต์" หนึ่งคำจำกัดความคือ 1GB = 1024 3ไบต์ นี่คือคำจำกัดความที่คอมพิวเตอร์รายงาน (ด้วยเหตุผลทางเทคนิค)

คำจำกัดความอื่น ๆ (จากหน่วย SI) คือ 1GB = 1,000 3ไบต์ นี่เหมือนกับหน่วยการวัดอื่น ๆ (1 gigameter = 1,000 3เมตร)

เนื่องจากคำจำกัดความของตัวชี้วัดของกิกะไบต์นั้นน้อยกว่าสิ่งที่คอมพิวเตอร์พิจารณากิกะไบต์

ระบบไฟล์ใช้พื้นที่เพียงเล็กน้อย แต่ความจุที่ขาดหายไปส่วนใหญ่มาจากคำจำกัดความของกิกะไบต์


4

หากคุณต้องการแน่ใจว่ามันมีขนาดใหญ่แค่ไหนให้หาขนาดเซกเตอร์ที่ใช้และจำนวนเซกเตอร์ทั้งหมด จากนั้นคูณตัวเลขทั้งสองนี้เพื่อให้ได้ขนาดรวมเป็นไบต์ นี่คือขนาดที่แท้จริง! ในระบบปฏิบัติการใด ๆ ! นอกจากนี้ยังเรียกว่าดิสก์ความจุ

T = b x S

Where T is the total disk size in bytes,
b is the sector size in bytes,
and S is the total number of sectors.

จำนวนภาค

คุณมักจะพบจำนวนภาคที่พิมพ์บนฉลากบนอุปกรณ์เอง ถ้าไม่เช่นนั้นดูแผ่นข้อมูลสำหรับแบบจำลองของคุณ นี่เป็นเอกสารที่ระบุรายละเอียดทางเทคนิคทุกอย่างเกี่ยวกับแบบจำลองของคุณ ในโลกที่เชื่อมต่ออินเทอร์เน็ตคุณจะพบสิ่งนี้บนเว็บไซต์ของผู้ผลิตไม่ว่าจะเป็นตารางบางส่วนบนหน้าเว็บหรือเป็นไฟล์ที่คุณสามารถดาวน์โหลด (PDF ทั่วไป) เพื่อการศึกษาและการอ้างอิง ในสมัยก่อน (ก่อนมีเว็บ) คุณอาจได้รับสำเนาที่พิมพ์ออกมาเมื่อคุณซื้อฮาร์ดดิสก์ไดรฟ์

ขนาดภาค

เซกเตอร์มีสองประเภท: กายภาพและตรรกะ โดยทั่วไปขนาดเซกเตอร์กายภาพจะมีขนาด 512 ไบต์บนดิสก์มาตรฐาน ขนาดเซกเตอร์ไม่แสดงอยู่บนฉลากของฮาร์ดดิสก์ไดรฟ์ที่ทันสมัย เพื่อให้เข้าใจว่าเหตุใดจึงเป็นเช่นนี้คุณต้องเข้าใจความแตกต่างระหว่างภาคตรรกะและกายภาพ ฉันจะพยายามอธิบายสั้น ๆ นี้

ดิสก์ LBA

ฮาร์ดดิสก์ที่ทันสมัยใช้เซกเตอร์แบบลอจิคัล คุณจะเห็นสิ่งนี้เรียกว่า LBA (การบล็อกที่อยู่แบบลอจิคัล) ในความเป็นจริงเมื่อมองหาจำนวนของภาคบนฉลากคุณจะเห็นจำนวนของภาคเรียกว่า LBA LBA: 123456789จึงจะพูดอะไรบางอย่างเช่น นี่คือจำนวนภาคทั้งหมดของคุณ นี่คือโลจิคัลเซ็กเตอร์บนดิสก์และถูกเขียนและอ่านจากการใช้วิธีการกำหนดแอดเดรส LBA วิธีนี้ช่วยให้ระบบปฏิบัติการใช้การจัดรูปแบบระบบไฟล์ (เช่น NTFS, FAT32) ด้วยหน่วยการจัดสรรที่ใหญ่กว่าขนาดเซกเตอร์กายภาพ

WD MAXTOR

หน่วยการจัดสรร

หน่วยการจัดสรรจะคล้ายกันในแนวคิดไปยังเซกเตอร์ขนาดแต่โฆษณาบางระดับของความยืดหยุ่นในการที่คุณสามารถเปลี่ยนขนาดของมันโดยไม่ต้องเปลี่ยนขนาดของภาคทางกายภาพ หากคุณซื้อและติดตั้งแล้วฟอร์แมตฮาร์ดดิสก์มากกว่าหนึ่งตัวในชีวิตของคุณคุณจะต้องเจอคำศัพท์นี้อย่างแน่นอน ขนาดหน่วยการจัดสรรทั่วไปสำหรับฮาร์ดดิสก์ที่ฟอร์แมต NTFS ในวันนี้คือ 4K, 8K และ 16K ฉันพูดว่า "วันนี้" เพราะขนาดของดิสก์ที่ฮาร์ดดิสก์มีให้บริการในสมัยนี้

กล่าวคือขนาดของหน่วยการจัดสรรใดที่เหมาะสมสำหรับฮาร์ดไดรฟ์ตัวหนึ่งอาจไม่เหมาะกับอีกขนาดหนึ่ง ขึ้นอยู่กับว่ามันใหญ่แค่ไหน หน่วยที่เล็กกว่าจะดีกว่าด้วยขนาดหน่วยการจัดสรรที่เล็กกว่าและหน่วยที่ใหญ่กว่าก็จะดีกว่าด้วยขนาดหน่วยการจัดสรรที่ใหญ่กว่า อย่างไรก็ตามนั่นไม่ได้หยุดคุณจากการใช้ขนาดหน่วยการจัดสรรขนาดใหญ่บนฮาร์ดดิสก์ไดรฟ์ขนาดเล็ก ในทางตรงกันข้าม! ด้วยลักษณะทางตรรกะของหน่วยการจัดสรรสามารถตั้งค่าได้ในระหว่างกระบวนการจัดรูปแบบและสามารถกำหนดให้มีขนาดใหญ่กว่าเซกเตอร์กายภาพ บนฮาร์ดไดรฟ์ขนาดเล็กหน่วยการจัดสรรขนาดใหญ่มีแนวโน้มที่จะเพิ่มประสิทธิภาพการทำงานเล็กน้อยโดยเสียค่าใช้จ่ายของพื้นที่ดิสก์

นี่คือเหตุผลที่ Microsoft เปลี่ยนคำศัพท์จากขนาดเซกเตอร์เป็นหน่วยการจัดสรร เรื่องนี้เกิดขึ้นใน Windows หลายเวอร์ชันกลับมา ถ้าฉันจำได้ถูกต้องมันเป็นหนึ่งใน Windows 9x ในตระกูลที่พวกเขาเริ่มใช้คำนี้

จากนั้นหน่วยการปันส่วนจะถูกแปลและแม็พภายในกับฟิสิคัลเซกเตอร์หนึ่งหรือหลายตัวบนดิสก์ งานนี้ดำเนินการโดยตัวควบคุมไดรฟ์ ตัวควบคุมคือบอร์ด PCB ที่ด้านหลังของฮาร์ดดิสก์ สำหรับฮาร์ดไดรฟ์ ATA รุ่นแรก (ปัจจุบันรู้จักกันในชื่อ Parallel ATA หรือ PATA) บอร์ดควบคุมเรียกว่า IDE (Integrated Drive Electronics) ในอดีตฮาร์ดดิสก์ไดรฟ์ไม่ได้มีตัวควบคุมอยู่ภายใน นี่เป็นอินเทอร์เฟซแยกต่างหากแทน

ขนาดเซกเตอร์กายภาพที่พบมากที่สุดบนฮาร์ดดิสก์ไดรฟ์ LBA ที่มีขนาด 512 ไบต์ แต่ตั้งแต่ประมาณปี 2010 เป็นต้นมาฮาร์ดดิสก์ไดรฟ์ใหม่หลายรุ่นก็เป็นประเภทฟอร์แมตขั้นสูง นี่หมายความว่ามันใช้ขนาดเซกเตอร์ที่ใหญ่กว่า 512 ไบต์ ปัจจุบันขนาดเซกเตอร์ที่ใหญ่ที่สุดคือ 4K หรือ 4096 ไบต์

ประเด็นหลักคือ: ขนาดเซกเตอร์กายภาพในฮาร์ดไดรฟ์ทันสมัยมีความเกี่ยวข้องเพียงเล็กน้อยถึงไม่มีเลยสำหรับผู้ใช้ ขนาดเซกเตอร์กายภาพถูกจัดระเบียบเป็นเซกเตอร์ตรรกะและหน่วยการปันส่วนและแยกออกจากผู้ใช้ มีอีกหนึ่งเลเยอร์ของนามธรรมที่มีดิสก์รูปแบบขั้นสูงเพราะดิสก์เหล่านั้นสามารถจำลองเซ็กเตอร์ 512 ไบต์ แต่ใช้ 4096 เซกเตอร์กายภาพ ด้วยเหตุนี้ขนาดเซกเตอร์มักจะไม่ถูกพิมพ์บนฉลากของ LBA ที่ระบุถึงฮาร์ดดิสก์ไดรฟ์และยิ่งกว่านั้นสำหรับดิสก์รูปแบบขั้นสูง แต่พวกเขามีขนาดเซกเตอร์กายภาพอย่างไรก็ตาม คุณจะพบรายละเอียดนี้ในแผ่นข้อมูลสำหรับแต่ละรุ่นหรือใช้ซอฟต์แวร์ยูทิลิตี้บนระบบที่กำลังทำงาน

ดิสก์ CHS

ดิสก์ประเภทนี้ล่วงหน้าดิสก์ไดรฟ์ LBA ที่กำหนดล่วงหน้า พวกเขาใช้วิธีการที่เรียกว่า CHS (ภาคหัวถัง) ที่อยู่สำหรับการอ่านและการเขียน ผู้ใช้มีการเข้าถึงโดยตรงไปยังภาคกายภาพ ซึ่งแตกต่างจาก LBA ไม่มีเลเยอร์นามธรรมของเซกเตอร์ ขนาดเซกเตอร์ของดิสก์เหล่านี้เกือบจะรับประกันว่าจะเป็น 512 ไบต์ แต่มันสามารถเปลี่ยนแปลงได้โดยผู้ใช้

คุณเคยได้ยินเรื่อง "การจัดรูปแบบระดับต่ำ" หรือไม่? นี่คือที่มาของคำนั้น อันเป็นผลมาจากการเข้าถึงโดยตรงไปยังภาคกายภาพมีความเป็นไปได้ที่จะเปลี่ยนขนาดของภาค สิ่งนี้ช่วยให้ผู้ใช้ฟอร์แมตดิสก์ในระดับ "ต่ำ" ซึ่งหมายถึงการเขียนเซกเตอร์ซ้ำอีกครั้งบนดิสก์ บางครั้งสิ่งนี้มีประโยชน์เมื่อเกิดปัญหากับดิสก์ มันเป็นวิธีการฟื้นฟูดิสก์ การฟอร์แมตระดับต่ำจริงไม่สามารถทำได้อีกต่อไปด้วยฮาร์ดไดรฟ์สมัยใหม่ นี่ไม่ควรสับสนกับการจัดรูปแบบระบบไฟล์

ควอนตัม IBM

ดิสก์ CHS จะมีจำนวนของภาคต่อแทร็ก (SPT) พิมพ์อยู่บนฉลากเสมอในรายละเอียดอื่น ๆ หากไม่มีการกล่าวถึงขนาดเซกเตอร์จะถือว่ามีขนาด 512 ไบต์ รายละเอียดอื่น ๆ ได้แก่ จำนวนกระบอกสูบและจำนวนหัว นั่นคือหลักสามประการ ดังนั้นชื่อภาคหัวถัง มีเหตุผลที่ดีสำหรับเรื่องนี้ด้วย เนื่องจากในฮาร์ดดิสก์ไดรฟ์รุ่นแรก ๆ ที่ใช้การกำหนดแอดเดรส CHS พารามิเตอร์เหล่านี้ทั้งหมดจึงต้องตั้งค่าด้วยตนเองในโปรแกรมการตั้งค่า BIOS ของระบบ นี่เป็นส่วนหนึ่งของกระบวนการติดตั้ง! ดังนั้นนี่เป็นข้อมูลชิ้นสำคัญในการติดตั้งอย่างถูกต้อง เมื่อแพลตฟอร์มพีซีพัฒนาขึ้นรวมถึงการปรับปรุง BIOS ดิสก์ไดรฟ์และนวัตกรรมอินเทอร์เฟซคุณจึงสามารถเสียบเข้ากับฮาร์ดดิสก์และระบบจะตรวจจับและกำหนดค่าโดยอัตโนมัติ

คุณอาจสังเกตเห็นว่าฉันเขียนเกี่ยวกับดิสก์เหล่านี้ในอดีตกาล นี่เป็นเพราะพวกเขาล้าสมัยและพวกเขาเกือบจะไม่มีที่ไหนเลยที่จะพบ อาจยกเว้นพิพิธภัณฑ์เทคนิค

คำนำหน้าขนาดไบต์

พื้นฐานบางอย่างเกี่ยวกับการวัด:

  • เลขฐานสอง (บิต) เป็นหน่วยการวัดที่เล็กที่สุดในคอมพิวเตอร์ไบนารี มันอาจเป็น 1 หรือ 0 (หรือทั้งสองอย่างในคอมพิวเตอร์ควอนตัม)
  • บิตย่อกับกรณีที่ต่ำกว่าBหรือสะกดออกมาเป็น บิต
  • หน่วยต่อไปคือไบต์
  • ไบต์ย่อกับกรณีบนBหรือสะกดออกมาเป็น ไบต์หรือไบต์
  • ไบต์คือ 8 บิต
  • หน่วยต่อไปคือคำและมันก็มักจะเพียงแค่สะกดออกมาเป็น คำพูด
  • ความยาวของ Word ขึ้นอยู่กับสถาปัตยกรรมของโปรเซสเซอร์ เป็นปกติ 8 บิต, 16 บิตหรือ 32 บิตหรือ 64 บิต
  • หน่วยถัดไปหลังจากนั้นคือคำหลายคำเช่นคำสองคำหรือคำสี่คำ
  • คำที่สองคือตัวย่อเป็นDwordหรือ Dw และคำที่สี่คือตัวย่อเป็นQwordหรือ Qw

สิ่งเหล่านี้เป็นการวัดขั้นพื้นฐาน แต่คุณจะไม่พบคำศัพท์เว้นแต่คุณจะเป็นโปรแกรมเมอร์ ขนาดดิสก์พาร์ติชันและไฟล์กำลังใช้งานเป็นไบต์ ไบต์คือการวัดที่ใช้งานได้จริงที่สุดในการทำงานกับ เซกเตอร์บนดิสก์คือบล็อกของไบต์ ตามแบบแผนนี่คือ 512 ไบต์โดยทั่วไปซึ่งเป็นผลคูณของ 2

2^0 = 1 byte
2^1 = 2 byte
2^2 = 4 byte
2^3 = 8 byte
2^4 = 16 byte
2^5 = 32 byte
2^6 = 64 byte
2^7 = 128 byte
2^8 = 256 byte
2^9 = 512 byte

ขนาดไบต์ที่เล็กที่สุดเหล่านี้สามารถแสดงได้อย่างง่ายดายด้วยตัวเลขเท่านั้น แต่ตัวคูณที่ 20 ของ 2 คือ 1048576 และตัวคูณที่ 30 คือ 1073741824 ถ้านี่แทนไบต์เราสามารถใช้ส่วนนำหน้าเพื่อแสดงค่าเดียวกันได้ง่ายขึ้น นี่คือเหตุผลที่เรามีคำนำหน้าเช่น kilo, mega และ giga แต่ปัญหาคือสิ่งเหล่านี้คือส่วนนำหน้าSI (Système International)ที่ใช้ในระบบการวัดทศนิยมแบบเมตริก แต่ละคำนำหน้าในระบบนี้แสดงถึงค่าที่เป็นหลาย ๆ 10 ในขณะที่คอมพิวเตอร์ไบนารีใช้ฐาน 2 เพื่อวัดข้อมูล

unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000

ด้วยเหตุนี้ IEC ซึ่งเป็นหน่วยงานมาตรฐานระหว่างประเทศจึงได้นำเสนอแนวคิดของคำนำหน้าแบบไบนารี ชื่อ kilo, mega, giga และอื่น ๆ มีการเปลี่ยนแปลงเล็กน้อยในระบบนี้เพื่อแสดงว่าพวกเขาจะใช้กับการวัดแบบไบนารี

kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3

ชื่อคือการต่อกันของชื่อนั้น ๆ ในระบบ SI และคำว่า binary ตัวอย่างเช่น kibi เกิดจากki lo และbi nary

ถ้าฉันบอกว่าวัตถุมีมวล 5,000 กรัมฉันสามารถแสดงมูลค่านั้นได้ด้วยคำนำหน้าว่า 5 kG (กิโลกรัม) ฉันหารมันด้วยหลักพันเพื่อลบศูนย์ต่อท้าย เนื่องจากรู้ค่าของคำนำหน้าคนที่สองไม่จำเป็นต้องถามฉันว่าฉันวัดได้กี่กรัมในครั้งแรก เขาเพียงแค่ย้อนกลับกระบวนการโดยใช้สัญกรณ์ของฉัน 5 kG และคูณด้วยพันเพื่อแปลงเป็นกรัม Kilo หมายถึงพันดังนั้น 5 x 1,000 = 5,000

30 เซกเตอร์แรกบนดิสก์คือ 15360 ไบต์หากแต่ละเซกเตอร์มี 512 ไบต์ เพื่อที่จะแสดงสิ่งนี้ได้ง่ายขึ้นฉันสามารถหารด้วย 1,000 ผลลัพธ์คือ 15.36 กิโลไบต์หรือ 15.36 kB ถ้าฉันหมุนมันเป็นจำนวนเต็มที่ใกล้ที่สุดมันจะเป็น 15 kB หากบุคคลอื่นดูที่หมายเลขนี้เขาจะสมมติว่า 15 kB เป็นหน่วยวัดที่แน่นอนและคูณด้วย 1,000 เพื่อแปลงเป็นไบต์ นั่นก็คือ 15,000 ไบต์ซึ่งไม่ถูกต้องเพราะการวัดดั้งเดิมคือ 15360 ไบต์ ในทางตรงกันข้ามถ้าฉันจะแบ่ง 15360 ไบต์ด้วย 1024 ฉันจะได้รับ 15 KiB! ว่ากิบิไบต์ ไม่มีการขยายทศนิยม! เนื่องจากมันบอกว่า "KiB" และไม่ใช่ "KB" คนอื่นจะรู้ว่าคูณด้วย 1024 และไม่ใช่ 1,000 เพื่อรับค่าดั้งเดิม

ในทำนองเดียวกันเมื่อผู้ผลิตพิมพ์ 8 GB บนอุปกรณ์พวกเขากำลังใช้คำนำหน้าทศนิยม คนที่มีค่าศูนย์ต่อท้าย! ดังนั้น 8 GB ไม่ใช่ 8 GiB (gibibyte) หรือ 8 x 2 ^ 30 แต่ 8 x 10 ^ 9 = 8 000 000 000 bytes อย่างไรก็ตาม Windows กำลังใช้การคำนวณขนาดแบบไบนารี (กำลัง 2) กับสิ่งที่ดูเหมือนคำนำหน้าทศนิยม (เช่น "GB") ดังนั้นใน Windows 8,000 000 000 ไบต์จะถูกหารด้วย 2 ^ 30 (หรือ 1024 ^ 3) เพื่อรับ 7.450580597 "GB" (ในความเป็นจริง GiB) สิ่งนี้จะถูกปัดเศษเป็นตำแหน่งที่ร้อยใกล้ที่สุดดังนั้นจะแสดงเป็น 7.45 "GB" ใน Windows ฉันอ้างถึง "GB" อยู่เสมอเพราะ Microsoft ควรใช้ GiB สำหรับความหมายนี้ไม่ใช่ GB โฆษณานี้เฉพาะในหัวข้อที่สับสนอยู่แล้ว

ตัวอย่างการทำงาน

ตอนนี้ฉันจะวิ่งผ่านตัวอย่างโดยใช้ข้อมูลฉลากจากฮาร์ดดิสก์ไดรฟ์ในรูปภาพ ลองดูที่ดิสก์ 500 GB ก่อน

Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB

ดังนั้นนี่คือ 466 GiB หรือ 466 GB ในเงื่อนไขของ Microsoft (และ JEDEC) โปรดทราบว่าหมายเลขไม่ได้อยู่หลังการหาร ฉันเชื่อว่านี่เป็นเพราะมีภาคมากกว่าผู้ใช้สามารถใช้ในการจัดเก็บข้อมูล บางส่วนได้รับการคุ้มครองและบางส่วนใช้สำหรับการทำแผนที่ใหม่ บางส่วนเริ่มแย่ลงเมื่อเวลาผ่านไปดังนั้นนี่คือเมื่อใช้ส่วนอื่นเป็นสำรอง ฮาร์ดดิสก์ไดรฟ์ทำเครื่องหมายและติดตามเซกเตอร์เสียและหยุดใช้

หากคุณใช้เฉพาะจำนวนความจุและแปลงเป็น GiB มันจะมีลักษณะเช่นนี้

500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB

คุณจะเห็นว่ามันเป็นตัวเลขที่ค่อนข้างเล็ก แต่ก็ยังอยู่ที่ 466 GiB แต่ในจำนวนไบต์ที่แน่นอนนี่จะใกล้เคียงกับจำนวนที่คุณสามารถใช้งานได้จริง ด้วยวิธีนี้คุณไม่จำเป็นต้องรู้ขนาดเซกเตอร์ กำลังการผลิตที่แน่นอนยังคงคำนวณโดยใช้หมายเลข LBA และขนาดเซกเตอร์ นั่นคือสิ่งที่ฉันจะใช้ในตัวอย่างที่เหลือ

Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB

สุดท้ายนี่คือหนึ่งในดิสก์ CHS แนวคิดพื้นฐานคล้ายกันมาก ขนาดเซกเตอร์จะถือว่าเป็น 512 ไบต์หากไม่มีการระบุเป็นอย่างอื่น ฉันจะดูดิสก์ควอนตัม คุณสามารถทำ IBM ด้วยตัวคุณเอง ควอนตัมดิสก์ไม่ได้พูดอะไรเกี่ยวกับความจุของมัน

C: 2484
H: 16
S: 63
2048 x 16 x 63 x 512 = 1056964608 bytes
1056964608 bytes = 1056964608 / 1024^2 = 1008 MiB
1056964608 bytes = 1056964608 / 1024^3 = 0.984375 ≈ 0.98 GiB

ไปแล้ว! มหันต์ 0.98 GB! ยกโทษให้ฉัน! ฉันหมายถึง 0.98 GiB! ;-)

การตลาด

มีสิ่งที่เรียกว่า "ภาคการรับประกัน" คุณจะพบสิ่งนี้พิมพ์บนฉลากของฮาร์ดดิสก์ไดรฟ์หรือในแผ่นข้อมูลของพวกเขา นี่คือผลลัพธ์ของข้อพิพาทอย่างต่อเนื่องระหว่างผู้ใช้ / ผู้บริโภคและผู้ขายอุปกรณ์จัดเก็บข้อมูล ความสับสนนี้ยังคงมีอยู่ในปัจจุบันในยุคของคลาวด์คอมพิวติ้งและในโลกที่ดิสก์โซลิดสเตตกลายเป็นเทคโนโลยีหลักและค่อย ๆ เปลี่ยนฮาร์ดไดรฟ์เก่า

ฉันจะบอกว่าการตลาดมีน้อยมากถ้ามีอะไรจะทำอย่างไรกับเรื่องนี้ มันเป็นปัญหาทางคณิตศาสตร์อย่างหมดจดและไม่ใช่ปัญหาของคณิตศาสตร์ แต่เป็นกับคนทั่วไป มันเป็นเพียงความสับสนใหญ่ที่ได้รับอนุญาตให้ดำเนินการต่อไป อย่างน้อยที่สุด Microsoft ควรแสดงส่วนนำหน้าแบบไบนารีเช่น KiB, MiB และ GiB Windows ยังคงเป็นระบบปฏิบัติการหลักของพีซีในปัจจุบัน


3

โดยปกติแล้วจะมีขนาดใหญ่เท่าที่โฆษณา แต่:

  1. พวกเขาใช้เสมอ (เท่าที่ฉันรู้) ใช้ 1,000 แทน 1024 เมื่อทำ B ถึง KB และอื่น ๆ
  2. ระบบไฟล์ใช้พื้นที่จำนวนเล็กน้อยเพื่อติดตามทุกสิ่ง

อาจเป็นเหตุผลอื่นเช่นกัน แต่สิ่งเหล่านี้เป็นสิ่งสำคัญที่ฉันรู้


3

ในสมัยก่อนคอมพิวเตอร์ทุกการคำนวณมีราคาแพง (ในแง่ของประสิทธิภาพ) โปรแกรมเมอร์ใช้ทางลัดทุกชนิดเพื่อทำการคำนวณเพียงเล็กน้อยเท่าที่จะทำได้ หนึ่งในเทคนิคเหล่านั้นคือการจัดเก็บวันที่ปีไว้เป็นตัวเลขสองหลักเท่านั้นซึ่งท้ายที่สุดก็นำไปสู่ปัญหา y2k เคล็ดลับอีกข้อหนึ่งคือพวกเขากำหนด 1k (กิโล) เพื่อไม่ให้มีค่า 1,000 เท่ากับคนอื่น ๆ ในโลกที่เจริญแล้ว แต่หมายถึง 1024 แทน นี่ทำให้พวกเขาตัดมุมเล็กน้อยเมื่อทำการคำนวณขนาด นิสัยนั้นติดอยู่และยังคงถูกใช้งานอยู่ในปัจจุบันแม้ว่าการคำนวณด้วยคอมพิวเตอร์จะมีราคาถูกลงมาก

ผู้ผลิตฮาร์ดแวร์ให้ขนาดที่เหมาะสมโดยที่ K = 1,000, M = 1000000 และ G = 1000000000 เป็นซอฟต์แวร์ที่ให้ค่าเท็จแก่คุณ

ผู้ผลิตซอฟต์แวร์กำลังเปลี่ยนนิสัยในปัจจุบัน เช่น OSX แสดงขนาดที่เหมาะสม


ดีใจที่ได้ทราบว่าพวกเขากำลังเริ่มเปลี่ยนแปลง
09stephenb

6
ฉันไม่คิดว่ามันถูกต้องที่จะบอกถึงนิสัยของพลังแห่งนิสัยการตัด ตัวอย่างเช่นขีด จำกัด ขนาด MBR HD ที่ 2.2 TB (2 TiB) ไม่ได้อยู่ที่ 2.2 TB เพราะบางคนในวันนี้ (หรือในอดีต) ถูกตัดมุม แต่เพราะทุกวันนี้ก็ยังเหมาะสมที่จะใช้รูปแบบไบนารีสำหรับที่อยู่และ 2 ^ 32 บล็อก 512 ไบต์หมายถึง 2.2 * 10 ^ 12 ไบต์ (นี่หมายความว่ามันไม่มีจุดหมายอย่างสมบูรณ์ในการขายแฟลชไดรฟ์ในขนาดที่ดูเหมือนพลังของสอง - 4GB, 512GB - เพราะจำนวนไบต์ที่แท้จริงไม่ใกล้เคียงกับกำลังสอง)
arne.b

1
ฉันคิดว่าคุณผิดที่ผิด ... การใช้หน่วย SI ขนาดช่วยให้ผู้ผลิตเข้าถึงสิ่งที่พวกเขาเรียกว่า "2GB" ถูกกว่าด้วยฮาร์ดแวร์น้อยกว่า ...
พื้นฐาน

ที่เกี่ยวข้อง - superuser.com/q/287375/8972
paradroid

2
ฮาร์ดดิสก์และระบบเครือข่ายมีแนวโน้มที่จะใช้หน่วยทศนิยมและค่าที่เกี่ยวข้องกับหน่วยความจำใช้ไบนารี
Paradroid

-1

ควรล้างความคิดเห็นอื่น ๆ ที่คิดว่ามีมาตรฐานและตัวชี้วัดที่เทียบเท่าเมื่ออ้างถึงขนาดของฮาร์ดไดรฟ์

ไม่เราไม่ได้ใช้ระบบเมตริกสำหรับข้อมูลอย่างแน่นอน ฉันคิดว่าเป็น "meta-metric" - หน่วยที่เป็น "metric-metric จริง"

คำนำหน้าตัวชี้วัดถูกยืมเพื่อแสดงขนาดข้อมูล - กิโล =, เมกะ =, giga-, tera-, peta- ฯลฯ

อย่างไรก็ตาม SI ไม่มีหน่วยสำหรับ "บิต" หรือ "ไบต์"

และยังมีการยืมหน่วยที่เล็กกว่าหลายพันมิลลิไมโครและนาโนแม้ว่าจะไม่ได้นำไปใช้กับข้อมูล แต่ใช้กับ“ ตัวประมวลผล” (“ Minicomputers” เป็นคอมพิวเตอร์ขนาดเล็กเมื่อเทียบกับเฟรมหลัก“ ไมโครโปรเซสเซอร์” และ“ ไมโครคอมพิวเตอร์” มีขนาดเล็กกว่า minicomputers มากไม่ว่าในกรณีใดอัตราส่วน 1000: 1 จะบอกเป็นนัย)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.