HDD เขียนทับด้วยเลขศูนย์เร็วขึ้นหรือไม่


52

ฉันมีพีซีที่ติดตั้งสองระบบปฏิบัติการซึ่งฮาร์ดไดรฟ์ที่ฉันลบโดยใช้ดิสก์จาก UbuntuUSB ฉันเลือกลบอย่างรวดเร็ว ดังที่ฉันเข้าใจมันได้ลบตารางพาร์ติชัน แต่ไฟล์และศูนย์ทั้งหมดยังคงอยู่บน HDD ฉันสร้างตารางพาร์ติชันใหม่แล้วติดตั้ง Win10

คำถาม: HDD จะทำงาน (อ่าน / เขียน) เร็วขึ้นไหมถ้าฉันเขียนทับมันด้วยเลขศูนย์?
หรือ: กำลังเขียนข้อมูลลงบน HDD ที่ไม่มีการเขียนทับเร็วกว่า HDD "สกปรก" หรือไม่?


1
น่าจะเป็นไปได้ที่จะกล่าวถึงการลบ ATA Secureในเรื่องนี้ สิ่งนี้อาจไม่ได้ใช้โดยตรงกับ OP แต่อาจเป็นประโยชน์กับผู้อื่น
StephenG

คุณกำลังถามเกี่ยวกับ (แม่เหล็ก) HDD, SSD หรือทั้งสองอย่าง? คำตอบขึ้นอยู่กับ
smci

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

คำตอบ:


92

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

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

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


9
can only be erased a certain number of times- ที่จริงแล้วตัวเลขไม่แน่นอน ความแปรปรวนมีขนาดค่อนข้างใหญ่
Ruslan

19
@ Ruslan เลือกคำไม่ดีฉันเดา ไม่แน่ชัด (มีเพียงความตายและภาษีดูเหมือนจะแน่นอน) แต่แน่นอนว่า จำกัด และผู้ผลิตรับประกันประสิทธิภาพได้มากถึง "รอบการทำงาน" จำนวนครั้ง
phyrfox

บน SSD เก่าที่มีการบีบอัดภายใน แต่ไม่มีการรองรับ TRIM การเขียนค่าศูนย์อาจทำให้เลเยอร์การแมปแฟลชใช้พื้นที่แฟลชจริงน้อยกว่าสำหรับอาร์เรย์แบบลอจิคัลของข้อมูลที่เปิดเผยผ่านอินเตอร์เฟส SATA ... มันยืดออกและแย่กว่าความปลอดภัยของ SATA ลบแม้ว่า
Peter Cordes

5
ปัญหาสองข้อกับคำตอบของคุณ; Solid state drives go through a similar process1) สิ่งนี้ไม่ถูกต้อง ฮาร์ดไดรฟ์จะไม่ผ่านรอบการอ่าน / ลบ / เขียนเหมือนที่ SSD ทำ พวกเขาสามารถเขียนทับส่วนต่าง ๆ ได้ทันทีโดยไม่ต้องลบออกก่อน 2) A long run of 0s or 1s could actually cause sync issues when trying to read the dataยังไม่ถูกต้อง เซ็กเตอร์ฮาร์ดไดรฟ์มีช่องว่างระหว่างเซ็กเตอร์ที่บันทึกหมายเลขเซกเตอร์บิตการซิงค์และข้อมูล ECC ที่อยู่และข้อมูลการซิงค์ช่วยป้องกันไม่ให้หัว "หลงทาง" บนแผ่นเสียง ภาค 4k ยาว 4211 ไบต์เพราะสิ่งนี้
Wes Sayeed

2
@WesSayeed "กระบวนการที่คล้ายกัน" หมายความว่า SSD ยังเขียนส่วนทั้งหมดในครั้งเดียว จริงปกติ HDD ไม่ได้ลบก่อน แต่ก็ยังเป็นกระบวนการที่คล้ายกัน ทั้งเขียนเซกเตอร์ทั้งหมดในครั้งเดียว และใช่ฉันทราบถึงช่องว่างระหว่างส่วนที่มี ECC และอะไร แต่พวกเขายังคงใช้อะไรบางอย่างเช่น MMFM / GCR เพื่อให้แน่ใจว่านาฬิกาไม่ได้ถูกซิงโครไนซ์ภายในเซกเตอร์ซึ่งหมายความว่าพวกเขาไม่สามารถ บิตเป็นศูนย์มากเกินไปในแถว
phyrfox

53

ไม่มันจะไม่เร็วขึ้น การเขียนใช้เวลาเท่ากันโดยไม่คำนึงถึงข้อมูลที่ถูกเขียนทับ


12
นั่นเป็นความจริงสำหรับแม่เหล็ก HD แต่เป็นไปได้ว่า SSD ที่ใช้การบีบอัดภายในและไม่รองรับTRIMอาจเร็วขึ้นหากเขียนทับด้วยศูนย์ พวกเขาต้องการพื้นที่จริงบนที่เก็บข้อมูลแฟลชน้อยลงปล่อยให้เลเยอร์ remapping ของแฟลชมีพื้นที่ว่างมากขึ้นในการทำงานกับ ดังนั้นมันจะเหมือนกับ TRIM / discard เล็กน้อย
Peter Cordes

2
@PeterCordes - ในขณะที่จริงสัดส่วนของ SSD ที่ใช้จริงในปัจจุบันไม่รองรับ TRIM ฉันรู้ว่ามีหลายประเภทที่ฉันใช้จากผลิตภัณฑ์หลายรุ่นและจากผู้ผลิตหลากหลาย (ตั้งแต่ระดับสูงไปจนถึงแบรนด์ที่ไม่มีแบรนด์ / ร้านค้า) ทั้งหมดที่ฉันเคยทำ
จูลส์

1
@PeterCordes คำถามเกี่ยวกับศูนย์ที่ถูกเขียนทับมากกว่าที่จะใช้ในการเขียนทับ ดูเหมือนว่าการบีบอัดภายในจะไม่มีการยกออกเนื่องจากสามารถทำได้ที่ส่วนย่อยเท่านั้นและอาจมีปัญหาในการติดตามทรูพุต การเขียนทับค่าศูนย์อาจทำได้เร็วกว่านี้หาก SSD ไม่มีพื้นที่การจัดเตรียมและผู้ผลิตทำการแมปโลจิคัลศูนย์ลงในฟิสิคัลเพื่อให้ดิสก์ที่เต็มไปด้วยค่าศูนย์ทำจากหน้าแฟลช "ว่าง"
Margaret Bloom

@Jules: SSD เก่าบางตัวไม่รองรับ TRIM เนื่องจาก TRIM ถูกเพิ่มเข้ากับมาตรฐาน ATA หลังจากมี SSD แรกแล้วจากนั้นก็ต้องใช้เวลากว่าที่คอนโทรลเลอร์จะเริ่มรองรับ ฉันมีแล็ปท็อปเครื่องเก่า (ฉันคิดว่ามีการอัปเดตเฟิร์มแวร์สำหรับมันซึ่งเพิ่มการรองรับ TRIM) ฉันไม่แน่ใจว่า SSD ตัวเก่าที่ไม่มี TRIM ใช้การบีบอัดภายในหรือไม่ ฉันควรจะบอกว่า SSDs เหล่านี้หายากวันนี้ แต่งบแบบครอบคลุมคำตอบนี้มักจะเป็นแรงบันดาลใจให้ฉันมองหาตัวอย่างหรือกรณีพิเศษที่พวกเขาไม่ถือ
Peter Cordes

3
@Jules SSD ส่วนใหญ่ไม่รองรับ TRIM ส่วนใหญ่จะเป็นแฟลชที่ง่ายกว่าเช่น USB sticks หรือการ์ด SD หรือ MMC อะไรก็ได้ที่ไม่ใช่ ATA
ป่าไม้

10

ขึ้นอยู่กับ:

  • ไม่ว่าจะเป็น HDD เชิงกลหรือ SSD

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

  • ไม่ว่าจะมีเซ็กเตอร์ที่อ่านไม่ได้บนไดรฟ์

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

หากไม่มีเซกเตอร์ที่อ่านไม่ได้ HDD เชิงกลไม่ได้รับประโยชน์จากการเขียนทับแม้ว่ามันจะไม่ได้รับอันตรายใด ๆ นอกเหนือจากการใช้เวลานานมาก

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

TL; DR - โดยทั่วไปไม่ต้องทำ


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

1
ฉันคิดว่า SSD ที่ทันสมัยส่วนใหญ่มีการลดผลกระทบบางอย่างเช่นค่าสถานะผกผันรูปแบบการรบกวนหรือแม้แต่รูปแบบการบีบอัดที่ไม่รุนแรง ตัวอย่างเช่นไดรฟ์ที่ใช้การเข้ารหัสเรียลไทม์มีรูปแบบการรบกวนอย่างมีประสิทธิภาพเนื่องจากเลขศูนย์ถูกแปลงเป็นแฮชหลอกแบบหลอก ฉันยังมีหนึ่งในไดรฟ์ที่ใช้ SandForce รุ่นเก่าซึ่งใช้การบีบอัดและการทำซ้ำแทน แต่คุณถูกต้องแล้วว่าอุปกรณ์แฟลชที่ง่ายกว่า (Thumb-Drive และ SD การ์ด) จะเสื่อมสภาพเร็วกว่าศูนย์ข้อมูลจริง
Chromatix

นอกจากนี้ยังไม่มีประโยชน์ที่จะเขียนทับแฟลชไดรฟ์ด้วยวิธีนี้เนื่องจากมีพื้นที่มากเกินไป
ป่าไม้

ไม่จำเป็นต้องกังวลเกี่ยวกับการใช้ SSD มากเกินไป ลิงก์ภาษาเยอรมัน: heise.de/-3755009
3549596

5

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


2

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


0

ไม่มีความแตกต่างสำหรับ HDD หรือ SDD

ในกรณีของ HDD วันที่ในไดรฟ์จะถูกเปลี่ยนแปลงด้วยสนามแม่เหล็กในแต่ละส่วนที่คุณเขียนดังนั้นจึงไม่เกี่ยวข้องกับสิ่งที่คุณเขียน

นอกจากนี้การเขียนข้อมูลแบบสุ่มจะดีกว่าการเขียนศูนย์เพราะมันยุ่งเหยิงมากขึ้นด้วยร่องรอยการจัดตำแหน่งแม่เหล็กและนิติวิทยาศาสตร์ขั้นสูงจะค่อนข้างยากที่จะระบุว่ามีอะไรมาก่อนในกรณีของข้อมูลแบบสุ่มเขียนทับกับศูนย์ของการเขียนทับ

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


0

ไม่จะไม่มีความแตกต่างของความเร็ว แต่คุณมีการสึกหรอที่ไม่จำเป็นและโอกาสที่จะเกิดความล้มเหลวโดยไม่จำเป็น

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

ดังนั้นการเขียนเลขศูนย์จำนวนมากจึงเขียน "บิตสุ่มบิต" ได้อย่างมีประสิทธิภาพ

นั่นคือและมันไม่ได้เร็วกว่าที่จะอ่าน (หรือเขียนทับ) อย่างใดอย่างหนึ่งอย่างใดอย่างหนึ่ง

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

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

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