วันเสาร์ที่ 6 มิถุนายน พ.ศ. 2552

การ Low-level Format และ High-level Format

ลองมดูกันว่า วิธี format มีกี่วิธี

การ Low-lovel Format เป็นกระบวนการทำงานของฮาร์ดดิสก์โดยมีจุดประสงค์เพื่อสร้างหรือกำหนด Track, Sector หรืออธิบายได้อีกอย่างว่าเป็นการเขียนโครงสร้างของ Track,Sector ตามรูปแบบที่ Firmware ภายในฮาร์ดดิสก์ได้กำหนดไว้ เพื่อให้การทำงานของกลไกภายในกับวงจรควบคุมหรือ PCB สอดคล้องเป็นระบบเดียวกัน ซึ่งการ Low-level Format นั้นเป็นการลบข้อมูลทุกสิ่งทุกอย่าง โดยที่ข้อมูลทุกสิ่งทุกอย่างจะถูกลบไปอย่างถาวรจริง ๆ

ก่อนอื่นเราต้องเข้าใจกันเสียก่อนว่า การ Low-level Format นั้น เป็นกระบวนการทำงานหรือเป็นคำสั่งของฮาร์ดดิสก์รุ่นเก่า ที่ยังใช้ Actuator แบบ Stepper Motor ,ใช้ระบบ Servo เก่า ๆ แบบ Dedicated Servo, มีการใช้โครงสร้างของ Track, Sector แบบเก่า ซึ่งฮาร์ดดิสก์ในปัจจุบันนี้ไม่ใช่และไม่เหมือนกันเลย การใช้ Stepper Motor เป็น Actuator ของฮาร์ดดิสก์รุ่นเก่า ๆ นั้น มีข้อเสียหรือจุดอ่อนตรงที่เมื่อเราใช้ไปนาน ๆ เฟืองกลไกภายใน Motor จะหลวม ทำให้การควบคุมให้หัวอ่าน/เขียนอยู่นิ่ง ๆ บน Track (ที่จะอ่านข้อมูล)เป็นไปได้ยาก และอีกสาเหตุที่กลไกหลวม ก็เพราะอุณหภูมิที่สูงซึ่งเกิดจากการที่ตัว Actuator เคลื่อนที่ไปมาเพื่อหาข้อมูล แน่นอนค่ะ

มันเป็นโลหะที่ต้องมีความร้อนเกิดขึ้น เปรียบเทียบก็เหมือนกับ Ster รถจักรยานหรือรถจักรยานยนต์ ที่ต้องรูด เมื่อเจอกับโซ่ที่ลากผ่านไปมาเป็นเวลานาน ๆ และก็เป็นสาเหตุให้หัว/อ่านเขียน ไม่สามารถอ่านข้อมูลได้อย่าง ถูกต้อง ยิ่งนับวันอาการก็จะรุนแรงมากขึ้น

อีกประการหนึ่งที่การ Low-level Format ไม่สามารถนำมาใช้กับ ฮาร์ดดิสก์รุ่นใหม่ได้ก็เพราะโครงสร้างการจัดวาง Track, Sector ไม่เหมือนกัน ฮาร์ดดิสก์รุ่นเก่าจะมีจำนวนของ Sector ต่อ Track คงที่ ทุก ๆ Track แต่ในฮาร์ดดิสก์รุ่นใหม่ จำนวนของ Sector จะแปรผันไปตามความยาว ของเส้นรอบวง (ของ Trackนั่นแหละค่ะ) ยิ่งต่างรุ่นต่างยี่ห้อต่างความจุ ก็ยิ่งต่างไปกันใหญ่ หากเราฝืนไป Low-level Format บอกตรง ๆ ว่านึกไม่ออกว่าจะเกิดอะไรขึ้น ฮาร์ดดิสก์อาจไม่รับคำสั่งนี้เพราะ ไม่รู้จักหรืออาจรับคำสั่งแล้วแต่ไม่รู้จะทำอย่างไร จนอาจจะทำให้วงจรคอนโทรลเลอร์ (PCB) สับสนกันเอง (ระหว่าง IC) จนตัวมันเสียหายก็ได้ แต่ถ้าฮาร์ดดิสก์ของเพื่อนท่านใดเป็นรุ่นเก่า ซึ่งมีลักษณะตรงกับที่เอ่ยมา และมี BIOS ที่สนับสนุนก็สามารถ Low-level Format ได้ครับ (เช่น คอมฯ รุ่น 286 ที่มี Hdd 40MB.) เราจะเห็นได้ว่า BIOS รุ่นใหม่จะไม่มีฟังก์ชั่น Low-level Format แล้ว เพราะ BIOS ก็ไม่อาจที่จะรู้จักโครงสร้าง Track, Sector ของฮาร์ดดิสก์ได้ทุกยี่ห้อ ทุกรุ่นเพราะความต่างอย่างที่บอกไว้ละค่ะ

กลับมาสู่ความจริงของความรู้สึกเรากันหน่อยนะคะ ซึ่งเข้าใจดีว่า เพื่อน ๆ ทุกคนหากเมื่อเจอ Bad Sector ในฮาร์ดดิสก์ของตัวเองย่อมใจเสียแน่นอน เพราะข้อมูล ที่อยู่ข้างในนั้นมีผลกับจิตใจ กับความรู้สึกของเรามาก และเราต้องการที่จะได้มันคืน และในตอนนั้นเราก็ไม่ได้คิด ถึงด้วยซ้ำว่าเราซื้อมันมาแพงแค่ไหน และถ้าหากเราได้ยิน ได้ฟังอะไรที่เล่าต่อกันมาว่า มันสามารถที่จะทำให้ฮาร์ดดิสก์ของเราดีเช่นเดิมได้ เราย่อมให้ความสนใจ อยากลอง อยากได้ อยากมี แต่ว่าการ Low-level Format นั้นใช้ไม่ได้กับฮาร์ดดิสก์รุ่นใหม่ ๆ เราไม่สามารถเอา สนามแม่เหล็กมาเรียงให้ดีเหมือนเดิมได้ และไม่มีเครื่องมืออะไรที่จะมาช่วยได้ด้วย ก็ต้องปลง และถนอมมัน ให้ดีที่สุด
การ High-level Format หรือการ Format (หลังจากการแบ่ง Partition แล้ว) ที่เราเรียกกันอยู่บ่อย ๆ โดยใช้ DOS นั้นมีจุดประสงค์เพื่อทำการเขียนโครงสร้างของระบบไฟล์ (FAT: File Allcation Table ซึ่งมีทั้ง FAT32 และ FAT16) และเขียน Master Boot Record (ซึ่งเป็นพ.ท.ที่จะเก็บแกนหลักของระบบปฏิบัติการเช่น DOS) การ Format นี้นั้นฮาร์ดดิสก์จะไปลบ FAT และ Master Boot Record ทิ้งไป แต่มันไม่ได้ทำการลบทุกสิ่งทุกอย่าง เหมือนดังเช่นเรากวาดของบนโต๊ะทิ้งไปจนเหลือแต่พื้นเรียบๆ มันแค่ทำการเขียนข้อมูล "0000" ลงไปบนแผ่นดิสก์ เท่านั้น ซึ่งคำว่า "เขียนข้อมูล 0000 ก็คือการFormat ของเรานั่นแหละค่ะ" ดังนั้นหากใครคิดว่าการ Format บ่อย ๆ นั้น ไม่ดีก็นานาจิตตังค่ะ

บางคนถามว่า Virus ทำให้เกิด Bad Sector ได้หรือไม่ ขอตอบว่าไม่ แต่มันทำให้ ฮาร์ดดิสก์เสียได้ค่ะ เพราะการที่มันเข้าไปฝังที่ Master Boot Record ค่ะ ก็ต้องแก้กันโดยการ Fdisk กำหนด Partition กันใหม่ และVirus ก็เป็นเพียงแค่ข้อมูล ๆ หนึ่งที่เราจะลบทิ้งไปก็ได้ และ Virus จะเข้าไปใน Firmware และSystem Area ของฮาร์ดดิสก์ก็ไม่ได้เด็ดขาด เพราะ Firmware ของฮาร์ดดิสก์จะไม่ยอมให้แม้กระทั่ง BIOS ของคอมฯเห็น Cylinder นี้ซึ่งเสมือนว่า Cylinder นี้ไม่มีอยู่จริง การที่ฮาร์ดดิสก์พบ Bad Sector นั้น มันจะทำการทดลองเขียน/อ่านซ้ำ ๆ อยู่พักหนึ่งจนกว่าจะครบ Loop ที่ กำหนดแล้ว ว่าเขียนเท่าไหร่ก็อ่านไม่ได้ถูกต้องซักที ฮาร์ดดิสก์ก็จะตีให้จุดนั้นเป็นจุดต้องห้ามที่จะเข้าไปอ่านเขียนอีก แต่ถ้าข้อมูลสามารถกู้คืนมาได้มันก็จะถูกย้ายไปที่ ๆ เตรียมไว้เฉพาะ เมื่อฮาร์ดดิสก์ตีว่าจุดใดเสียแล้วมันจะเอาตำแหน่งนั้นไปเก็บที่ System Area ซึ่งข้อมูลที่บอกว่ามีจุดใดที่เสียบ้างนั้นจะถูกโหลดมาทุกครั้งที่ ฮาร์ดดิสก์ Boot และเราไม่สามารถเข้าไปแก้ข้อมูลนี้ได้ด้วยค่ะ Norton ก็ทำไม่ได้ สิ่งที่มันทำ ก็ทำได้แค่ Mark ไว้แล้วก็เก็บข้อมูล นี้ไว้ จากนั้นก็ทำเหมือนกับที่ Firmware ฮาร์ดดิสก์ทำ คือไม่เข้าไปยุ่งเกี่ยว พ.ท.นี้อีก หรือหลอกเราว่าไม่มี พ.ท.เสีย เกิดขึ้นเลย การ Format ด้วย DOS ก็แก้ไขไม่ได้เช่นกันคะ เพื่อน ๆ บางคนคิดว่าหากมี Bad Sector แล้วมันจะขยายลุกลามออกไป ขอตอบว่าไม่จริงค่ะ เราไม่ควรลืม ว่า บนแผ่นดิสก์นั้นคือสารแม่เหล็กที่ฉาบอยู่ และมันหลุดได้ยาก ต่อให้หลุดแล้วก็ลามไม่ได้ด้วยนะคะ

ที่มา http://www.dld.go.th/ict/article/hard/hw02.html