อธิบายการจัดเรียงข้อมูลบนดิสก์
เผยแพร่แล้ว: 2011-02-14การจัดเรียงข้อมูลบนดิสก์เคยถูกล้อมรอบด้วยความลึกลับ โดยแนะนำให้อย่าแตะต้องเมาส์คอมพิวเตอร์ของคุณในขณะที่ทำการ Defrag ให้ทำใน Safe Mode และเตรียมพร้อมสำหรับโอกาสที่ข้อมูลจะสูญหายจากไฟฟ้าขัดข้องในบางครั้ง หลายคนยังคงกลัวการจัดเรียงข้อมูลหรือเพียงแค่พยายามที่จะไม่คิดถึงมันเพราะคำแนะนำเก่าที่ยังคงเกิดขึ้นในการค้นหาทางอินเทอร์เน็ต ในบทความนี้ ฉันจะพยายามอธิบายการจัดเรียงข้อมูลบนดิสก์และแนวคิดที่เกี่ยวข้องทั้งหมดในรูปแบบง่ายๆ เพื่อขจัดความกลัวหรือตำนานที่เกี่ยวข้องทั้งหมด
เพื่อทำความเข้าใจว่าการจัดเรียงข้อมูลบนดิสก์คืออะไร ก่อนอื่นต้องทำความเข้าใจว่าฮาร์ดดิสก์ทำงานอย่างไร ระบบไฟล์คืออะไร และการแตกแฟรกเมนต์เกิดขึ้นได้อย่างไร สิ่งเหล่านี้อาจฟังดูเหมือนเป็นศัพท์เทคนิค แต่ในความเป็นจริงแล้ว แนวคิดเหล่านี้เข้าใจได้ง่ายด้วยการอธิบายเล็กน้อยและภาพประกอบบางส่วน ลองดูที่พวกเขาที่นี่
HDD ของคุณทำงานอย่างไร
HDD ของคุณ (ฮาร์ดดิสก์ไดรฟ์) เป็นส่วนที่ช้าที่สุดในคอมพิวเตอร์ของคุณ เนื่องจากมีชิ้นส่วนที่เคลื่อนไหว ได้แก่ จานหมุนและหัวอ่าน-เขียน นี่คือลักษณะที่ปรากฏภายในคอมพิวเตอร์ของคุณ:

ทุกครั้งที่คุณเปิดไฟล์ (หรือระบบพยายามเข้าถึงไฟล์) CPU จะส่งคำขอไปยังฮาร์ดไดรฟ์ของคุณและหัวอ่าน-เขียนจะเริ่มเคลื่อนไหวเพื่อดึงข้อมูลที่ร้องขอ แทนที่จะพูดถึงรายละเอียดว่าหัวอ่าน-เขียนเคลื่อนที่อย่างไร (โดยใช้คำอย่าง "ความเร็วเชิงมุม", "แสวงหาเวลา" และอื่นๆ) ฉันจะบอกข้อเท็จจริงที่คุณจำเป็นต้องจำไว้ - ในแง่ของความเร็วในการเข้าถึงข้อมูล ส่วนด้านนอกของแผ่นฮาร์ดไดรฟ์หรือที่เรียกว่าด้านหน้าของไดรฟ์นั้นเร็วที่สุด ในขณะที่ส่วนด้านในหรือด้านหลังของไดรฟ์นั้นช้าที่สุด
พื้นผิวดิสก์แบ่งออกเป็นเซกเตอร์และแทร็ก (ดูภาพด้านล่าง) หากดูเหมือนว่าจะมีข้อมูลมากเกินไปก็อย่ากังวล มีเหตุผลสองประการที่ฉันใส่ข้อมูลนี้ในบทความของฉัน – อาจช่วยสร้างภาพในใจของคุณที่แสดงให้เห็นว่าข้อมูลถูกจัดเก็บในฮาร์ดไดรฟ์ของคุณอย่างไร และสิ่งเหล่านี้เป็นคำศัพท์ที่ใช้บ่อยในซอฟต์แวร์จัดเรียงข้อมูล
ดังนั้น หากคุณสามารถพยายามเป็นพิเศษได้ โปรดอ่านส่วนนี้ให้ละเอียดและพยายามทำความเข้าใจคำศัพท์ทางเทคนิคขั้นสูงที่จะปฏิบัติตามที่นี่
แทร็กนั้นเหมือนกับวงแหวนประจำปีบนต้นไม้ที่ถูกตัด และเซ็กเตอร์ก็เหมือนเวดจ์ในพิซซ่า ยกเว้นในคำศัพท์คอมพิวเตอร์ เซกเตอร์เดียวเป็นส่วนหนึ่งของพิซซ่าเวดจ์ที่อยู่ในแทร็กเดียวและโดยปกติมีขนาด 512 ไบต์
ฮาร์ดไดรฟ์รุ่นต่างๆ อาจมีจำนวนแทร็กและเซ็กเตอร์ต่างกัน อย่างไรก็ตาม ข้อเท็จจริงยังคงอยู่ที่ข้อมูลที่จัดเก็บบนแทร็กภายนอกของฮาร์ดไดรฟ์ใดๆ ใช้เวลาในการเข้าถึงหัวอ่าน-เขียนน้อยกว่าข้อมูลที่จัดเก็บไว้ในแทร็กภายใน
ระบบไฟล์คืออะไร?
ด้วยข้อมูลจำนวนมหาศาลที่จัดเก็บไว้ในฮาร์ดไดรฟ์ จึงต้องมีวิธีจัดระเบียบและควบคุมข้อมูลดังกล่าว ซึ่งเป็นสิ่งที่ระบบไฟล์ทำ NTFS คือระบบไฟล์ที่ใช้โดย Microsoft ในระบบปฏิบัติการ Windows (ตั้งแต่ Windows NT เป็นต้นไป) ระบบไฟล์จะรักษาตำแหน่งทางกายภาพของแต่ละไฟล์ในฮาร์ดไดรฟ์ และทำให้คอมพิวเตอร์ของคุณสามารถดึงข้อมูลได้เมื่อมีการร้องขอ ระบบไฟล์รวมกลุ่มของเซ็กเตอร์ขนาด 512 ไบต์เข้าเป็นคลัสเตอร์ ซึ่งเป็นหน่วยพื้นที่ที่เล็กที่สุดในการจัดเก็บไฟล์หรือบางส่วนของไฟล์ บนฮาร์ดไดรฟ์ NTFS โดยปกติจะมี 8 เซ็กเตอร์ต่อคลัสเตอร์ ซึ่งหมายความว่าขนาดของคลัสเตอร์เดียวคือ 4096 ไบต์ นี่คือขนาดของชิ้นส่วนที่แต่ละไฟล์จะถูกแบ่งออกเป็น เมื่อพิจารณาว่าขนาดของไฟล์จำนวนมากที่จัดเก็บไว้ในฮาร์ดไดรฟ์ของคุณมีหน่วยวัดเป็นเมกะไบต์หรือกิกะไบต์ โดยแบ่งเป็นไฟล์ขนาด 4096 ไบต์ แม้ว่าจะจำเป็นด้วยเหตุผลหลายประการ แต่ก็มีศักยภาพอย่างมากในการแตกแฟรกเมนต์
การแยกส่วนคืออะไร?
ไฟล์ในฮาร์ดไดรฟ์ที่ฟอร์แมตใหม่จะถูกเขียนอย่างต่อเนื่อง – คลัสเตอร์ทั้งหมดที่เป็นของไฟล์เดียวจะถูกจัดเก็บไว้ด้วยกันอย่างเรียบร้อย และไฟล์ทั้งหมดรวมอยู่ในชิ้นเดียว เนื่องจากมีพื้นที่ว่างเหลือเฟือสำหรับเขียนแต่ละไฟล์ จากนั้นคุณก็เริ่มใช้พีซีของคุณ ถ้าคุณไม่ได้ใช้มัน มันก็จะถูกจัดวางอย่างเรียบร้อยและคุณไม่จำเป็นต้องกังวลเกี่ยวกับการกระจัดกระจาย แต่หลังจากนั้นก็จะไม่มีอะไรนอกจากการตกแต่งห้องราคาแพง การแยกส่วนไม่ได้เกิดขึ้นเพราะคุณทำอะไรผิดหรือเพราะพีซีของคุณทำงานไม่ดี แต่เป็นสิ่งที่เกิดขึ้นกับการใช้พีซีตามปกติ ลองนึกภาพฮาร์ดไดรฟ์ที่มีไฟล์ที่จัดเก็บไว้อย่างเป็นระเบียบเรียงต่อกัน สมมติว่าคุณลบไฟล์ขนาด 1 เมกะไบต์ออกจากตรงกลางของกลุ่มที่จัดเก็บไว้อย่างเรียบร้อย จากนั้นบันทึกไฟล์ขนาด 2 เมกะไบต์ลงในฮาร์ดไดรฟ์ของคุณ ระบบของคุณมองหาพื้นที่ว่างในการเขียนไฟล์ โดยจะพบบล็อกพื้นที่ว่างขนาด 1 เมกะไบต์ที่คุณเพิ่งทำให้พร้อมใช้งานโดยการลบไฟล์เก่า และเริ่มเขียนไฟล์ใหม่ลงไป อย่างที่ใครๆ คาดคิดคือ 1 ต่อมาเมกะไบต์ พื้นที่ในจุดนี้หมดและเริ่มมองหาพื้นที่ว่างในบล็อกถัดไป หากหน้าต่างถัดไปของพื้นที่มีขนาด 1 เมกะไบต์ ไฟล์ที่บันทึกใหม่ของคุณจะถูกแบ่งออกเป็น 2 ส่วนเท่านั้น แต่สมมติว่าบล็อกถัดไปของพื้นที่ว่างคือครึ่งเมกะไบต์ จากนั้นเมื่อเขียนส่วนหนึ่งของไฟล์ลงในจุดนี้ ระบบจะค้นหาพื้นที่เพิ่มเติม และไฟล์ของคุณตอนนี้แบ่งออกเป็นมากกว่า 2 ชิ้น นี่คือคำอธิบายอย่างง่ายว่าการแตกแฟรกเมนต์เกิดขึ้นได้อย่างไร

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

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