พื้นที่ดิสก์เหลือน้อยส่งผลต่อประสิทธิภาพของ SSD หรือไม่


16

ฉันสงสัยว่าการมีพื้นที่ว่างน้อยกว่า 5-10GB บน SSD จะส่งผลกระทบต่อประสิทธิภาพหรือไม่ มันเฉพาะเจาะจงกับ SSD หรือเป็นเรื่องของระบบปฏิบัติการมากกว่านี้หรือไม่?

ตัวอย่างเช่นใน Intel X-25 G2 ที่มีการรองรับ TRIM (บน Windows 7)

คำตอบ:


14

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

การดำเนินการของ TRIM ที่ไดรฟ์ของคุณรองรับทำให้ระบบปฏิบัติการสามารถบอกไดรฟ์เพื่อกำจัดข้อมูลที่ถูกลบ สิ่งนี้ทำให้ไดรฟ์สามารถเรียกคืนบล็อกว่างเปล่าได้ อย่างไรก็ตามระบบปฏิบัติการเดียวที่รองรับ TRIM คือ Windows 7, Windows Server 2008 R2 และการกระจาย Linux โดยใช้เคอร์เนล 2.6.33 หรือใหม่กว่า

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


1
เลเยอร์ FTL อยู่ต่ำกว่าระดับระบบไฟล์ แม้ว่ามันอาจดูเหมือนว่าระบบไฟล์มีการแยกส่วน แต่ก็ไม่ได้หมายความว่าเลเยอร์ FTL นั้นมีการแยกส่วน โปรแกรม "defrag" SSD เหล่านั้นไร้ค่าพวกเขาไม่สามารถเข้าถึงเลเยอร์ FTL ได้นั่นคือน้ำมันงู ตอนนี้การไม่มีพื้นที่ว่างทำให้ SSD ทำงานช้าลงเนื่องจากมีที่ว่างน้อยลงในการเก็บขยะและปรับระดับการสึกหรอและทุกสิ่งที่ดี SSD ไม่เลือกบล็อกว่างเปล่าโดยอัตโนมัติต่อพวกเขาจำเป็นต้องคำนึงถึงระดับการสึกหรอเช่นกัน บรรทัดล่างคือระบบไฟล์ไม่ทราบอะไรเกี่ยวกับวิธีการจัดเก็บสิ่งต่าง ๆ บนเลเยอร์ FTL
Time Twin

ระบบไฟล์ที่ไม่เหมาะสำหรับ SSD ไม่สามารถตัดได้มากซึ่งมีผลเช่นเดียวกับพื้นที่ว่างที่เล็กลง
Basilevs

4

ในบทความที่ยอดเยี่ยมนี้ที่ AnandTech พวกเขาสำรวจความสัมพันธ์ระหว่างพื้นที่ว่างกับประสิทธิภาพของ SSD บรรทัดล่างคือ SSD ทั้งหมดได้รับ / รักษาประสิทธิภาพเมื่อไม่ได้ใช้พื้นที่บางส่วน บางครั้งมีความแตกต่างระหว่างพื้นที่ว่าง 25% และพื้นที่ว่าง 50%


3

ขึ้นอยู่กับรุ่น SSD ผู้จำหน่ายและรูปแบบการใช้งานเฉพาะ

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


ตัวอย่างเช่นใน Intel X-25 G2 ที่มีการรองรับ TRIM (บน Windows 7)
Gabe

0

ฉันได้ยินมาว่า SSD มีแนวโน้มที่จะชะลอตัวลงเมื่อพวกเขาเกือบเต็ม แต่ฉันเดาว่ามันจะต้องมีพื้นที่ว่างเหลือน้อยกว่า 5-10GB เพื่อให้คุณรู้สึกได้ถึงสิ่งนั้น บางทีเมื่อคุณเหลือน้อยกว่า 1GB หรือบางอย่าง


0

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


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

1
ยังคงมีความแตกต่างระหว่างการอ่านตามลำดับและการอ่านแบบสุ่ม ตัวอย่างเช่นcodinghorror.com/blog/2008/06/…ให้ 26MB / s สำหรับการอ่านตามลำดับและ 6Mb / s สำหรับการอ่านแบบสุ่ม
กอริลลา

@TuxRug: ไดรฟ์ถูกจัดกลุ่มเป็นบล็อกการลบหลายร้อย Kbytes หรือมากกว่า เมื่อมีการเขียนหน้า (คิดเป็น 512 หรือ 4096 ไบต์ของข้อมูล "โลจิคัลดิสก์") จะไม่สามารถเขียนใหม่ได้ยกเว้นการลบหน้าทั้งหมดภายในบล็อก เมื่อเซกเตอร์ "โลจิคัลดิสก์" ถูกเขียนทับไดรฟ์จะจัดสรรหน้าว่างก่อนหน้านี้เพื่อเก็บเนื้อหาใหม่และบันทึกว่าหน้าเก่าอาจถูกพิจารณาว่าล้าสมัย แทนที่จะลบหน้าล้าสมัยทันทีไดรฟ์ส่วนใหญ่จะรอจนกว่าพวกเขาต้องการพื้นที่แล้วมองหาบล็อกที่ส่วนใหญ่หรือทั้งหมดของหน้าล้าสมัย
supercat

@TuxRug: หากจำนวนหน้าว่างเหลือน้อยมากประสิทธิภาพของไดรฟ์จะแปรผันตามจำนวนหน้าที่ว่างหรือล้าสมัยมากที่สุดในบล็อกใด ๆ [หากมี 10 บล็อกแต่ละบล็อกมี 15 หน้าล้าสมัยดังนั้นสำหรับ 150 การเขียนถัดไปจะเป็นการเขียน / ลบรอบจะต้องทุก ๆ วันที่ 15 หากมีสามบล็อกแต่ละหน้ามี 50 หน้าล้าสมัยแล้ววงจรการเขียน / ลบจะต้องเฉพาะในทุก ๆ การเขียน 50th] การกระจายตัวของมันทำให้มีโอกาสมากขึ้นที่จะจบลงด้วยบล็อกจำนวนมากที่มีหน้าล้าสมัยเพียงไม่กี่แต่ละ
supercat

0

อีกหนึ่งปัจจัยสำคัญคือถ้าและวิธีการมากมากกว่าการตั้งสำรองจะถูกกำหนดโดยผู้ผลิต SSD ที่ตามที่อธิบายไว้ที่นี่ การจัดสรรพื้นที่มากเกินไปหมายถึงพื้นที่บางส่วนถูกสงวนไว้สำหรับกิจกรรมพื้นหลังเช่นการรวบรวมขยะและไม่ได้ให้บริการแก่ผู้ใช้ ตัวอย่างเช่น SSD ที่โฆษณาเป็น 256 GB อาจเป็น 282 GB หากตั้งค่าการจัดสรรเกิน 10% ไว้

หากผู้ผลิต SSD มีพื้นที่เหลือเฟือมากเกินไปพื้นที่ดิสก์เหลือน้อยอาจไม่ส่งผลกระทบต่อประสิทธิภาพการทำงานอย่างมากเช่นแม้แต่ SSD ที่แสดงเต็ม 100% อาจจริงเพียง 85% เท่านั้น แต่ถ้าคุณสามารถเติม SSD ของคุณได้ใกล้เคียง 100% นั่นจะทำให้ประสิทธิภาพลดลงอย่างมาก

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

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