รูปปกบทความ

1. 🎯 ตอนที่ 8: ทำความรู้จัก Tracks, Sectors และ Cylinders สถาปัตยกรรมผังเมืองบนแผ่นจานแม่เหล็ก

2. 📖 เปิดฉาก (The Hook)

สวัสดีน้องๆ วิศวกรจบใหม่ทุกคนครับ! กลับมาพบกันอีกครั้งในซีรีส์ เจาะลึกวิศวกรรมเบื้องหลังอุตสาหกรรมฮาร์ดดิสก์ไดรฟ์

จากหลายตอนที่ผ่านมา เราได้รู้แล้วว่าแผ่นดิสก์ (Platter) หมุนด้วยมอเตอร์ Spindle อย่างไร และกล้ามเนื้ออย่าง VCM เหวี่ยงแขนหัวอ่านให้บินอยู่เหนือแผ่นดิสก์ได้อย่างไร แต่คำถามที่สำคัญมากๆ คือ… เมื่อหัวอ่านบินไปถึงหน้างานแล้ว มันรู้ได้อย่างไรว่า “ข้อมูลถูกเก็บไว้ตรงไหน?” แผ่นดิสก์เรียบๆ เงาๆ ดูด้วยตาเปล่าก็ไม่เห็นเส้นแบ่งอะไรเลย แล้วคอมพิวเตอร์มันหาไฟล์งานของเราเจอได้ยังไงในเสี้ยววินาที?

วันนี้พี่จะพาน้องๆ ไปทำความรู้จักกับ “สถาปัตยกรรมการแบ่งพื้นที่จัดเก็บข้อมูลแบบดั้งเดิม” บนฮาร์ดดิสก์กันครับ เพื่อให้เห็นภาพง่ายที่สุด พี่อยากให้น้องๆ จินตนาการถึง “สนามกีฬาที่มีลู่วิ่งซ้อนกันหลายๆ วง และในลู่วิ่งนั้นก็ถูกตีเส้นแบ่งเป็นช่องจอดรถ” ผังเมืองจำลองนี้แหละครับ คือรากฐานที่เรียกว่าโครงสร้าง CHS (Cylinder-Head-Sector) ที่วิศวกรยุคบุกเบิกสร้างไว้!

3. 🧠 แก่นวิชาวิศวกรรม (Core Concepts)

การที่จะให้หัวอ่าน (Read/Write Head) สามารถอ้างอิงตำแหน่งของข้อมูลได้ เราต้องทำการตีเส้นสมมติทางแม่เหล็กเพื่อแบ่งพื้นที่บนแผ่นดิสก์ออกเป็นส่วนๆ ซึ่งประกอบด้วย 3 โครงสร้างหลักดังนี้ครับ:

  • Tracks (เปรียบเสมือน “ลู่วิ่ง”): แผ่นจานแม่เหล็กจะถูกตีเส้นแบ่งเป็นวงกลมซ้อนกันเป็นชั้นๆ (Concentric circles) เหมือนวงปีของต้นไม้ หรือลู่วิ่งในสนามกีฬา วงกลมแต่ละวงนี้เราเรียกว่า Track โดยวงนอกสุดจะเริ่มนับเป็น Track 0 และเพิ่มขึ้นเรื่อยๆ เมื่อเข้าสู่ด้านใน ความหนาแน่นของลู่วิ่งเหล่านี้วัดเป็นหน่วย Tracks Per Inch (TPI) ในฮาร์ดดิสก์ยุคใหม่ แผ่นหนึ่งอาจมีลู่วิ่งมากถึงหลักแสนวงเลยทีเดียว!
  • Sectors (เปรียบเสมือน “ช่องจอดรถ”): ถ้าน้องมีลู่วิ่งที่ยาวมากๆ (Track) การจะหาข้อมูลสักตัวคงหากันตาเหลือก วิศวกรจึงนำลู่วิ่งแต่ละวงมาหั่นย่อยออกเป็นท่อนๆ เหมือนการตีเส้นแบ่ง “ช่องจอดรถ” ในแต่ละลู่วิ่ง เราเรียกช่องจอดรถเหล่านี้ว่า Sector ซึ่ง Sector ถือเป็นหน่วยจัดเก็บข้อมูลที่เล็กที่สุดที่สามารถอ้างอิงได้ (Addressable unit) โดยปกติแล้ว 1 Sector จะเก็บข้อมูล User Data ได้ 512 Bytes ครับ
  • Cylinders (เปรียบเสมือน “ลู่วิ่งแนวตั้งของตึกจอดรถ”): ฮาร์ดดิสก์หนึ่งตัวมักจะมีแผ่น Platter ซ้อนกันหลายแผ่น (เช่น 4 แผ่น มี 8 หน้า) และหัวอ่านทุกหัวจะถูกยึดติดกับแกน Actuator เดียวกัน หมายความว่า ถ้าหัวอ่านแผ่นบนสุดอยู่ที่ Track ที่ 720 หัวอ่านแผ่นอื่นๆ ด้านล่างก็จะอยู่ที่ Track 720 ตรงกันเป๊ะๆ ในแนวดิ่ง! หากเราลากเส้นเชื่อม Track ที่ 720 ของทุกแผ่นเข้าด้วยกัน มันจะเกิดเป็นรูปทรง “กระบอก (Cylinder)” ขึ้นมาครับ ดังนั้น Cylinder ก็คือกลุ่มของ Track ที่อยู่ในตำแหน่งรัศมีเดียวกันของทุกๆ แผ่นนั่นเอง
รูปประกอบ

4. 🧮 ร่ายมนต์สมการและลอจิกการทำงาน (The Math & Logic)

ในยุคดั้งเดิม การที่คอมพิวเตอร์จะสั่งให้ฮาร์ดดิสก์อ่านหรือเขียนข้อมูล มันจะคุยกันผ่านระบบพิกัดที่เรียกว่า CHS Addressing (Cylinder, Head, Sector)

เราสามารถคำนวณ “ความจุรวม (Total Capacity)” ของฮาร์ดดิสก์ด้วยสมการคณิตศาสตร์พื้นฐานดังนี้ครับ:

$$ Capacity = C \times H \times S \times 512 \text{ (Bytes)} $$

  • $C$ คือ จำนวน Cylinders ทั้งหมดในไดรฟ์
  • $H$ คือ จำนวน Heads (หัวอ่าน) ทั้งหมด ซึ่งก็คือจำนวนหน้าของแผ่นดิสก์ที่ใช้
  • $S$ คือ จำนวน Sectors ต่อหนึ่ง Track (Sectors per track)
  • $512$ คือ ความจุมาตรฐานของหนึ่ง Sector (512 Bytes)

อธิบายภาษาคนสไตล์รุ่นพี่: ในอดีตนั้น ระบบ BIOS ของคอมพิวเตอร์ (Int 13h) ถูกออกแบบมาให้รองรับตัวเลขพิกัดเหล่านี้ได้อย่างจำกัดครับ คือมันยอมให้มี Cylinder สูงสุดแค่ 1,024, มี Head สูงสุดแค่ 256, และมี Sector สูงสุดแค่ 63 ถ้าน้องเอาตัวเลขเหล่านี้ไปแทนค่าในสมการ $ 1024 \times 256 \times 63 \times 512 $ น้องจะได้ตัวเลขออกมาประมาณ 528 ล้านไบต์ หรือ 504 MiB (Mebibytes) ซึ่งนี่คือที่มาของตำนาน “กำแพง 504 MB (504 MiB Barrier)” ที่ทำให้คอมพิวเตอร์ยุคเก่ามองเห็นฮาร์ดดิสก์ได้แค่นี้ ไม่ว่าฮาร์ดดิสก์น้องจะใหญ่แค่ไหนก็ตาม! จนกระทั่งต้องมีการใช้เทคนิค BIOS Translation หรือ LBA (Logical Block Addressing) เข้ามาช่วยแก้ปัญหาในภายหลังครับ

5. 🛡️ เคล็ดลับคนหน้างาน (Factory Floor Pro-Tips)

ถ้าน้องไปเปิดดูคู่มือการออกแบบ Firmware หรือ Data Format ของฮาร์ดดิสก์ พี่มีเรื่องสำคัญระดับ Pro-Tip มาฝากครับ:

  1. Format Efficiency (ความจุแฝงที่หายไป): น้องๆ อาจจะคิดว่า 1 Sector เก็บข้อมูลได้ 512 Bytes แล้วจบ แต่หน้างานจริง ในแต่ละ Sector (หรือแต่ละช่องจอดรถ) เราไม่ได้มีแค่ข้อมูล User Data นะครับ แต่มันต้องมี “พื้นที่ส่วนหัวและท้าย” ด้วย เช่น มี Sync Mark เพื่อจูนสัญญาณ, มี ID Field บอกตำแหน่ง, มี ECC (Error Correcting Code) ไว้เช็คและแก้ไฟล์เสีย และต้องมี Gap (ช่องว่าง) คั่นระหว่าง Sector อีก สิ่งเหล่านี้เราเรียกว่า “Overhead” ดังนั้น ฮาร์ดดิสก์ 1 TB อาจจะต้องใช้พื้นที่หน้าแผ่นจริงๆ มากกว่านั้นครับ
  2. พิกัด CHS ปัจจุบันเป็นแค่ “ภาพลวงตา”: สมัยก่อน Track วงนอกกับวงใน มีจำนวน Sector (ช่องจอดรถ) เท่ากันเป๊ะ! ซึ่งมันทำให้ลู่วิ่งวงนอกสุดที่ยาวกว่ามากๆ ดันมีช่องจอดรถเท่ากับวงในสุด พื้นที่วงนอกจึงหลวมและสูญเปล่ามหาศาล ปัจจุบันวิศวกรเลยใช้เทคนิค Zoned Bit Recording (ZBR) ทำให้ Track วงนอกมี Sector มากกว่าวงใน ดังนั้น ตัวเลข CHS ที่ BIOS เห็นในปัจจุบัน จึงเป็นแค่พิกัด “Logical (จำลอง)” ที่ Controller ของฮาร์ดดิสก์หลอก BIOS ไว้เท่านั้น ส่วนตำแหน่ง Physical (ของจริง) ตัว Controller จะแอบไปแปลพิกัด (Translate) เอาเองอยู่หลังบ้านครับ!

6. 🏁 บทสรุป (To be continued…)

เป็นยังไงบ้างครับน้องๆ ผังเมืองการจัดเก็บข้อมูลบนฮาร์ดดิสก์ไม่ได้ซับซ้อนอย่างที่คิดใช่ไหมครับ การจัดระเบียบด้วย Tracks (ลู่วิ่ง), Sectors (ช่องจอดรถ) และ Cylinders (ตึกจอดรถแนวดิ่ง) คือรากฐานคลาสสิกที่ทำให้ระบบ File System ของคอมพิวเตอร์สามารถวิ่งเข้ามาค้นหาข้อมูลระดับกิกะไบต์หรือเทราไบต์ได้อย่างแม่นยำ

แต่อย่างที่พี่เกริ่นไปในหัวข้อ Pro-Tip ว่า… การตีช่องจอดรถให้เท่ากันทุกขอบลู่วิ่ง มันทำให้พื้นที่วงนอกสูญเปล่า แล้ววิศวกรในวงการเขาแก้ปัญหานี้กันอย่างไรให้คุ้มค่าทุกตารางนาโนเมตร? ในตอนหน้า พี่จะพาน้องๆ ไปเจาะลึกเทคนิค “Zoned Bit Recording (ZBR)” ที่มาพลิกโฉมความจุของฮาร์ดดิสก์กันครับ รอติดตามได้เลย!


ต้องการที่ปรึกษาด้านการออกแบบระบบ Automation, Machine Vision หรือระบบควบคุมความแม่นยำสูงให้กับโรงงานของคุณ? ทีมงาน WP Solution พร้อมให้บริการออกแบบและติดตั้งระบบแบบครบวงจร ดูรายละเอียดบริการของเราได้ที่: www.wpsolution2017.com หรือพูดคุยปรึกษาเบื้องต้นได้ที่ Line: wisit.p