ฉันตัดสินใจว่าข้อมูลพื้นหลังบางอย่างอาจมีประโยชน์ในการทำให้คำตอบชัดเจน แต่อย่างที่คุณเห็นฉันเป็นโรค OCD เล็กน้อยดังนั้นคุณอาจต้องการข้ามไปยังจุดสิ้นสุดและจากนั้นกลับไปถ้าจำเป็น ขณะที่ฉันจะรู้อีกเล็กน้อยฉันไม่ได้เป็นผู้เชี่ยวชาญเกี่ยวกับ SSDs ดังนั้นหากใครเห็นความผิดพลาดแก้ไขมัน :)
ข้อมูลพื้นฐาน:
SSD คืออะไร:
SSD หรือโซลิดสเตตไดร์ฟเป็นอุปกรณ์เก็บข้อมูลที่ไม่มีชิ้นส่วนเคลื่อนไหว คำว่า SSD นั้นมักหมายถึงการอ้างถึงไดรฟ์โซลิดสเตตแบบ nand-flash ที่ตั้งใจจะทำหน้าที่เป็นทางเลือกของฮาร์ดไดรฟ์ แต่ในความเป็นจริงแล้วมันเป็น SSD เพียงรูปแบบเดียวเท่านั้น SSD ที่ได้รับความนิยมมากที่สุดคือสื่อที่ถอดได้แบบ nand-flash เช่น usb sticks (แฟลชไดรฟ์) และการ์ดหน่วยความจำแม้ว่าจะอ้างถึงว่าเป็น SSD SSD สามารถใช้ RAM ได้ แต่ ram-drive ส่วนใหญ่เป็นซอฟต์แวร์ที่สร้างขึ้นเมื่อเทียบกับฮาร์ดแวร์จริง
ทำไม Nand-flash SSDs ตั้งใจที่จะทำหน้าที่เป็นฮาร์ดไดรฟ์ทางเลือกที่มีอยู่:
ในการใช้งานระบบปฏิบัติการและเป็นซอฟต์แวร์ที่จำเป็นต้องใช้สื่อจัดเก็บข้อมูลที่รวดเร็ว นี่คือที่ที่ RAM เข้ามาเล่น แต่ในอดีต ram มีราคาแพงและซีพียูไม่สามารถตอบสนองต่อปริมาณมหาศาล เมื่อคุณเรียกใช้ระบบปฏิบัติการหรือโปรแกรมส่วนของข้อมูลที่ต้องการในปัจจุบันจะถูกคัดลอกไปยังหน่วยความจำของคุณเนื่องจากอุปกรณ์เก็บข้อมูลของคุณไม่เร็วพอ มีการสร้างคอขวดเนื่องจากคุณต้องรอข้อมูลที่จะคัดลอกจากอุปกรณ์เก็บข้อมูลช้าไปยัง ram แม้ว่า SSD แบบ nand-flash บางตัวจะไม่ได้ประสิทธิภาพที่ดีกว่าฮาร์ดไดรฟ์ทั่วไป แต่ตัวที่ช่วยลดปัญหาคอขวดด้วยการให้เวลาในการเข้าถึงที่เร็วขึ้นความเร็วในการอ่านและความเร็วในการเขียน
Nand-flash คืออะไร:
ที่จัดเก็บข้อมูลแฟลชเป็นสื่อกลางในการจัดเก็บข้อมูลที่ใช้กระแสไฟฟ้าแทนที่จะใช้อำนาจแม่เหล็กในการจัดเก็บข้อมูล Nand-flash เป็นที่เก็บข้อมูลแฟลชที่ใช้เกตเวย์ NAND ซึ่งแตกต่างจาก A nor-flash ซึ่งเป็นการเข้าถึงแบบสุ่ม nand-flash ถูกเข้าถึงตามลำดับ
Nand-flash SSDs เก็บข้อมูลได้อย่างไร:
ที่เก็บข้อมูล Nand-flash ประกอบด้วยบล็อกบล็อกเหล่านั้นแบ่งออกเป็นเซลล์เซลล์มีหน้า สื่อแฟลชใช้ไฟฟ้าเนื่องจากข้อมูลนี้ไม่สามารถเขียนทับได้ซึ่งต่างจากฮาร์ดไดรฟ์ที่ใช้แม่เหล็กในการจัดเก็บข้อมูล ข้อมูลจะต้องถูกลบเพื่อที่จะใช้พื้นที่อีกครั้ง อุปกรณ์ไม่สามารถลบหน้าแต่ละหน้าได้ การลบต้องเกิดขึ้นที่ระดับบล็อก เนื่องจากไม่สามารถเขียนข้อมูลไปยังบล็อกที่ใช้งานอยู่แล้ว (แม้ว่าจะไม่ใช่ทุกหน้าในนั้น) บล็อกทั้งหมดจะต้องถูกลบก่อนแล้วบล็อกว่างเปล่าในขณะนี้สามารถมีข้อมูลที่เขียนไปยังหน้าของมันได้ ปัญหาคือคุณจะสูญเสียข้อมูลใด ๆ ที่มีอยู่แล้วในหน้าเหล่านั้นรวมถึงข้อมูลที่คุณไม่ต้องการทิ้ง! เพื่อป้องกันไม่ให้มีการเก็บข้อมูลที่มีอยู่นี้ไว้ที่อื่นก่อนที่จะทำการลบบล็อก
ในฮาร์ดไดรฟ์จะใช้แผ่นแม่เหล็กเพื่อจัดเก็บข้อมูล เช่นเดียวกับแผ่นเสียงไวนิลแผ่นมีแทร็กและแทร็กเหล่านี้แบ่งออกเป็นส่วนที่เรียกว่าภาค เซกเตอร์สามารถเก็บข้อมูลจำนวนหนึ่งได้ (โดยทั่วไปคือ 512 ไบต์ แต่บางส่วนที่ใหม่กว่าคือ 4KB) เมื่อคุณใช้เซ็กเตอร์ของระบบไฟล์จะถูกจัดกลุ่มเป็นกลุ่ม (ขึ้นอยู่กับขนาดที่คุณระบุเรียกว่าขนาดการจัดสรรหรือขนาดคลัสเตอร์) จากนั้นไฟล์จะถูกเขียนข้ามกลุ่ม นอกจากนี้ยังเป็นไปได้ที่จะแบ่งภาคเพื่อให้กลุ่มมีขนาดเล็กกว่าขนาดภาคของคุณ พื้นที่ที่ไม่ได้ใช้ในคลัสเตอร์หลังจากไฟล์ถูกเขียนข้ามคลัสเตอร์ (หรือหลาย ๆ ) ไม่สามารถใช้งานได้ไฟล์ถัดไปจะเริ่มในคลัสเตอร์ใหม่ เพื่อหลีกเลี่ยงพื้นที่ที่ไม่สามารถใช้งานได้จำนวนมากโดยทั่วไปจะใช้ขนาดคลัสเตอร์ที่เล็กลง แต่สิ่งนี้สามารถลดประสิทธิภาพเมื่อเขียนไฟล์ขนาดใหญ่ Nand-flash SSD ไม่มีแผ่นแม่เหล็ก พวกเขาใช้ไฟฟ้าผ่านบล็อกหน่วยความจำ บล็อกทำจากเซลล์ที่มีหน้า หน้ามีความจุ X (ปกติ 4 KB) และจำนวนหน้าจะกำหนดความจุของบล็อก (ปกติ 512 KB) ใน SSD เพจนั้นมีค่าเท่ากับเซกเตอร์ในฮาร์ดไดรฟ์เพราะทั้งคู่เป็นตัวแทนของส่วนจัดเก็บที่เล็กที่สุด
Leveling Wear คืออะไร:
สามารถเขียนบล็อกหน่วยเก็บข้อมูล Nand-flash และลบจำนวนครั้งที่ จำกัด (อ้างถึงวงจรชีวิตของมัน) เพื่อป้องกันไม่ให้ไดรฟ์ที่ต้องทนทุกข์ทรมานจากการลดกำลังการผลิต (บล็อกที่ตายแล้ว) มันสมเหตุสมผลที่จะทำให้บล็อกสึกหรอเท่ากันเท่าที่จะเป็นไปได้ วงจรชีวิตที่ จำกัด ยังเป็นสาเหตุหลักที่ทำให้หลายคนแนะนำว่าไม่มีไฟล์เพจหรือสลับพาร์ติชั่นในระบบปฏิบัติการของคุณหากคุณใช้ SSD ที่ใช้ Nand-flash (แม้ว่าความเร็วในการถ่ายโอนข้อมูลที่รวดเร็วจากอุปกรณ์ไปยัง RAM ก็เป็นสิ่งสำคัญเช่นกัน ปัจจัยในข้อเสนอแนะนั้น)
การจัดสรรเกินคืออะไร:
การจัดสรรมากกว่ากำหนดความแตกต่างระหว่างจำนวนพื้นที่ว่างที่มีเมื่อเปรียบเทียบกับจำนวนที่ปรากฏ อุปกรณ์จัดเก็บข้อมูลแบบ Nand-flash อ้างว่ามีขนาดเล็กกว่าอุปกรณ์ดังกล่าวเพื่อให้มีการรับประกันว่าเป็นบล็อกว่างเปล่าสำหรับการกำจัดขยะที่จะใช้ มีการจัดสรรส่วนเกินประเภทที่สองที่เรียกว่าไดนามิกการจัดสรรพื้นที่เกินซึ่งหมายถึงพื้นที่ว่างที่รู้จักภายในพื้นที่ว่างที่แสดง ไดนามิกมีอยู่สองประเภทด้วยกัน: ระดับระบบปฏิบัติการและระดับตัวควบคุมไดรฟ์ ที่ระดับระบบปฏิบัติการ Trim สามารถใช้เพื่อปลดบล็อคที่สามารถเขียนลงไปได้ทันที ที่ระดับตัวควบคุมที่ไม่ได้ถูกจัดสรรพื้นที่ไดรฟ์ (ไม่แบ่งพาร์ติชันระบบไฟล์) อาจถูกใช้ การมีบล็อคฟรีมากขึ้นจะช่วยให้ไดรฟ์ทำงานได้อย่างเต็มประสิทธิภาพเพราะสามารถเขียนได้ทันที
การขยายการเขียนคืออะไร:
เนื่องจากสื่อ Nand-flash ต้องการบล็อกที่จะถูกลบก่อนจึงจะสามารถเขียนได้ข้อมูลใด ๆ ในบล็อกที่ไม่ได้ถูกลบจะต้องคัดลอกไปยังบล็อกใหม่โดยการกำจัดขยะ การเขียนเพิ่มเติมเหล่านี้เรียกว่าการขยายการเขียน
Trim คืออะไร?:
ระบบปฏิบัติการสร้างขึ้นโดยคำนึงถึงฮาร์ดไดรฟ์แบบดั้งเดิม โปรดจำไว้ว่าฮาร์ดไดรฟ์แบบดั้งเดิมสามารถเขียนทับข้อมูลได้โดยตรง เมื่อคุณลบไฟล์ระบบปฏิบัติการจะทำเครื่องหมายว่าถูกลบ (โอเคกับการเขียนทับมากเกินไป) แต่ข้อมูลยังคงอยู่ที่นั่นจนกว่าจะมีการดำเนินการเขียน บน SSD ที่ใช้ Nand-flash นี่เป็นปัญหาเนื่องจากข้อมูลต้องถูกลบก่อน การลบเกิดขึ้นที่ระดับบล็อกดังนั้นอาจมีข้อมูลเพิ่มเติมที่ไม่ถูกลบ การกำจัดขยะคัดลอกข้อมูลใด ๆ ที่ไม่ได้มีไว้สำหรับการลบบล็อกว่างเปล่าจากนั้นบล็อกที่มีปัญหาสามารถลบได้ ทั้งหมดนี้ต้องใช้เวลาและทำให้เกิดการเขียนที่ไม่จำเป็น (การขยายการเขียน)! ในการหลีกเลี่ยงคุณลักษณะนี้เรียกว่าการตัดแต่ง Trim ช่วยให้ระบบปฏิบัติการมีอำนาจในการบอก SSD เพื่อลบบล็อกที่มีหน้าที่มีข้อมูลซึ่งระบบปฏิบัติการทำเครื่องหมายว่าถูกลบในช่วงระยะเวลาที่คุณไม่ได้ร้องขอให้ทำการเขียน การรวบรวมขยะทำสิ่งนี้และบล็อกผลลัพธ์จะถูกทำให้เป็นอิสระเพื่อให้การเขียนสามารถเกิดขึ้นกับบล็อกที่ไม่จำเป็นต้องถูกลบก่อนซึ่งทำให้กระบวนการเร็วขึ้นและช่วยลดการขยายการเขียนให้เหลือน้อยที่สุด สิ่งนี้ไม่ได้ทำบนพื้นฐานของไฟล์ Trim ใช้การกำหนดบล็อกแบบลอจิคัล LBA ระบุว่าจะลบเซกเตอร์ (หน้า) ส่วนใดและการลบเกิดขึ้นที่ระดับบล็อก และช่วยลดการขยายการเขียนให้เหลือน้อยที่สุด สิ่งนี้ไม่ได้ทำบนพื้นฐานของไฟล์ Trim ใช้การกำหนดบล็อกแบบลอจิคัล LBA ระบุว่าจะลบเซกเตอร์ (หน้า) ส่วนใดและการลบเกิดขึ้นที่ระดับบล็อก และช่วยลดการขยายการเขียนให้เหลือน้อยที่สุด สิ่งนี้ไม่ได้ทำบนพื้นฐานของไฟล์ Trim ใช้การกำหนดบล็อกแบบลอจิคัล LBA ระบุว่าจะลบเซกเตอร์ (หน้า) ส่วนใดและการลบเกิดขึ้นที่ระดับบล็อก
คำตอบสำหรับคำถามของคุณ "ข้อเสียของการแบ่งพาร์ติชัน SSD":
SSD ที่ใช้ RAM:
ไม่มีข้อเสียอย่างแน่นอนเพราะพวกเขาเข้าถึงแบบสุ่ม!
SSD ที่ใช้ Nand-flash:
ข้อเสียเดียวที่อยู่ในใจของฉันคือ:
การปรับระดับการสึกหรอจะไม่มีพื้นที่ว่างมากพอที่จะเล่นได้เนื่องจากการดำเนินการเขียนจะกระจายไปทั่วพื้นที่ขนาดเล็กดังนั้นคุณ "ทำได้" แต่ไม่จำเป็นว่าจะต้องเสื่อมสภาพส่วนหนึ่งของไดรฟ์เร็วกว่าที่คุณต้องการ เป็นพาร์ติชันเดียวเว้นแต่ว่าคุณจะทำการสึกหรอที่เทียบเท่าบนพาร์ติชั่นเพิ่มเติม (เช่น: บูทคู่)
เช่นเดียวกับฮาร์ดไดรฟ์ nand-flash SSD คือการเข้าถึงตามลำดับดังนั้นข้อมูลใด ๆ ที่คุณเขียน / อ่านจากพาร์ติชั่นเพิ่มเติมจะห่างออกไปมากกว่าที่มัน "อาจ" ได้รับถ้ามันถูกเขียนในพาร์ติชันเดียวเพราะคนมักจะออกจากพื้นที่ว่าง . สิ่งนี้จะเพิ่มเวลาการเข้าถึงข้อมูลที่จัดเก็บในพาร์ติชันเพิ่มเติม
พื้นที่โดยรวมที่น้อยกว่าเพิ่มความน่าจะเป็นของการเขียนไฟล์แยกส่วนและในขณะที่ประสิทธิภาพการทำงานมีขนาดเล็กโปรดจำไว้ว่าโดยทั่วไปแล้วถือว่าเป็นความคิดที่ดีที่จะใช้ SSD nand-flash เพราะมันจะทำให้ไดรฟ์เสื่อมสภาพ แน่นอนขึ้นอยู่กับระบบไฟล์ที่คุณกำลังใช้บางผลลัพธ์ในการกระจายตัวที่ต่ำมากเพราะพวกเขาถูกออกแบบมาเพื่อเขียนไฟล์ทั้งหมดเมื่อใดก็ตามที่เป็นไปได้มากกว่าที่จะทิ้งมันไปทั่วเพื่อสร้างความเร็วในการเขียนที่เร็วขึ้น
ฉันว่ามันโอเคที่จะมีหลายพาร์ติชั่น แต่การสวมเลเวลอาจเป็นเรื่องที่น่ากังวลถ้าคุณมีพาร์ติชั่นบางส่วนที่มีกิจกรรมการเขียนมากมายและอื่น ๆ ก็มีน้อยมาก หากคุณไม่ได้แบ่งพาร์ติชันคุณไม่ได้วางแผนที่จะใช้และปล่อยให้มันเป็นแบบไดนามิกมากกว่าการจัดสรรคุณอาจได้รับการเพิ่มประสิทธิภาพเพราะมันจะง่ายต่อการบล็อกฟรีและเขียนข้อมูลตามลำดับ อย่างไรก็ตามไม่มีผู้รับประกันว่าจะต้องใช้พื้นที่ในการจัดเตรียมมากเกินไปซึ่งจะนำเรากลับไปที่จุดที่ 1 เกี่ยวกับการปรับระดับการสึกหรอ
บางคนในกระทู้นี้พูดถึงการแบ่งพาร์ติชันว่าจะกระทบกับการมีส่วนร่วมของ Trim อย่างไรในการจัดสรรพื้นที่ เพื่อความเข้าใจของฉัน TRIM ใช้เพื่อระบุส่วน (หน้า) ที่มีการตั้งค่าสถานะข้อมูลเพื่อการลบและการกำจัดขยะสามารถลบบล็อกเหล่านั้นได้ฟรี พื้นที่ว่างนี้ทำหน้าที่เป็นแบบไดนามิกมากกว่าการจัดสรรภายในพาร์ติชันนั้นเท่านั้นเนื่องจากเซกเตอร์เหล่านั้นเป็นส่วนหนึ่งของกลุ่มที่ใช้โดยระบบไฟล์ของพาร์ติชันนั้น พาร์ทิชันอื่น ๆ มีระบบไฟล์ของตัวเอง อย่างไรก็ตามฉันอาจจะผิดอย่างสิ้นเชิงกับเรื่องนี้เนื่องจากความคิดทั้งหมดของการจัดสรรพื้นที่ส่วนเกินนั้นค่อนข้างชัดเจนสำหรับฉันเนื่องจากข้อมูลจะถูกเขียนไปยังสถานที่ที่ไม่มีระบบไฟล์หรือปรากฏในความจุของไดรฟ์ สิ่งนี้ทำให้ฉันสงสัยว่าอาจใช้พื้นที่การจัดสรรมากกว่าชั่วคราวก่อนที่จะทำการเขียน optomized ขั้นสุดท้ายไปยังบล็อกภายในระบบไฟล์หรือไม่? แน่นอนว่าการมีส่วนร่วมของ Trim ในการสร้างสรรมากกว่าการจัดสรรภายในระบบไฟล์จะไม่เป็นการชั่วคราวเนื่องจากพวกมันสามารถเขียนลงไปได้โดยตรงเนื่องจากมันอยู่ในพื้นที่ใช้งานแล้ว นั่นคือทฤษฎีของฉันอย่างน้อย บางทีความเข้าใจของฉันเกี่ยวกับ filesytems ไม่ถูกต้อง? ฉันไม่สามารถหาแหล่งข้อมูลที่มีรายละเอียดเกี่ยวกับเรื่องนี้ได้