- มีการทำการทดลองความน่าเชื่อถือของการ์ด microSDกับการ์ด 256 ใบจากหลากหลายแบรนด์/ผลิตภัณฑ์ เป็นเวลาประมาณ 1 ปี 10 เดือน
- พบว่า 82% ของการ์ดทั้งหมดเกิดข้อผิดพลาดอย่างน้อย 1 ครั้ง โดยค่าเฉลี่ยก่อนเกิดข้อผิดพลาดครั้งแรกอยู่ที่ 2,400 รอบ และค่ามัธยฐานอยู่ระหว่างรอบอ่าน/เขียน 1,450 รอบ
- หากใช้เกณฑ์ข้อผิดพลาดของเซกเตอร์ที่ 0.1% พบว่า เกือบครึ่งหนึ่งถึงจุดวิกฤตภายใน 4,500 รอบ (เฉลี่ย), 3,100 รอบ (มัธยฐาน)
- ความทนทานแตกต่างกันมากตามแต่ละแบรนด์ โดย Amazon Basics, Kingston, Kioxia(บางรุ่น), Lexar, OV ฯลฯ ทำได้ค่อนข้างดี ขณะที่ SanDisk, Silicon Power, Gigastone, onn. ฯลฯ ถูกประเมินว่าต่ำกว่าค่าเฉลี่ย
- การ์ด off-brand (แบรนด์รอง) หลายตัวก็ให้ผลลัพธ์ใกล้เคียงหรือดีกว่าแบรนด์ดัง โดยไม่ขึ้นกับชื่อแบรนด์
- ความเสียหายของการ์ดเกิดได้หลายรูปแบบ เช่น ถูกล็อกเขียน, CSD register เสียหาย, ข้อมูลเสียหายทั้งใบ, ล้มเหลวในขั้นตอนจ่ายไฟเริ่มต้น
- การ์ดที่ซื้อจาก Amazon โดยรวมให้ผลดีกว่าการ์ดที่ซื้อจาก AliExpress
How reliable are microSD cards? Well, as it turns out...
ภาพรวมการทดลอง
- ตลอดประมาณ 1 ปี 10 เดือน มีการทดสอบการ์ด microSD 256 ใบ (กำลังทดสอบอยู่ 223 ใบ, 105 ใบทดสอบจนพัง)
- เขียน/ตรวจสอบข้อมูลสุ่มลงในการ์ดอย่างต่อเนื่องรวมมากกว่า 47 เพตะไบต์
- ครอบคลุมการ์ดที่หลากหลายมาก ทั้งแบรนด์ ความจุ และไลน์ผลิตภัณฑ์
สรุปผลลัพธ์สำคัญ
ความถี่ของข้อผิดพลาดและความทนทานโดยรวม
- 82% ของการ์ดเกิดข้อผิดพลาดอย่างน้อย 1 ครั้ง: บางใบเกิดข้อผิดพลาดครั้งแรกในไม่ถึง 10 รอบ ขณะที่บางใบมากกว่า 100,000 รอบก็ยังไม่พบข้อผิดพลาด (มีเพียงส่วนน้อยมาก)
- จุดที่เกิดข้อผิดพลาดครั้งแรกโดยเฉลี่ย: 2,400 รอบ, ค่ามัธยฐาน: 1,450 รอบ ของการอ่าน/เขียน
- ถึงเกณฑ์วิกฤตข้อผิดพลาดของเซกเตอร์ 0.1%: เฉลี่ย 4,500 รอบ, ค่ามัธยฐาน 3,100 รอบ (เกือบครึ่งหนึ่งไปถึงจุดนี้)
- การ์ดบางใบพังทั้งหมดหรือถึงจุดวิกฤตก่อน 3,100 รอบ
ความแตกต่างด้านความทนทานตามแบรนด์
- ADATA: เฉลี่ย 2,352 รอบ ต่ำกว่าค่าเฉลี่ย
- Amazon Basics: ทั้ง 4 ใบไม่พังเลยตลอด 1 ปี และ 2 ใบไม่พบข้อผิดพลาดแม้แต่ครั้งเดียว
- Delkin Devices: สูงกว่าค่าเฉลี่ย และมีสถิติไม่พบข้อผิดพลาด (ตลอด 6~8 เดือน)
- Gigastone: 8 จาก 9 ใบพังทั้งหมด และหลายกรณีพังภายใน 6 เดือน
- Kingston: จาก 15 ใบ มีเพียง 1 ใบที่พังทั้งหมด โดยรุ่นอุตสาหกรรมยังทำได้ดีกว่า SanDisk
- Kioxia: Exceria พังเร็วทุกใบ ส่วน Exceria Plus/G2 ไม่พบข้อผิดพลาดเกิน 10,000 รอบ จัดอยู่ในกลุ่มความน่าเชื่อถือสูง
- Lexar: แม้บางรุ่นในยุค Micron จะมีปัญหาด้านการผลิต แต่โดยรวมความทนทานดี
- onn. (แบรนด์ private label ของ Walmart): ทั้ง 4 ใบพังก่อน 2,000 รอบ
- OV (AliExpress): ทั้ง 3 ใบทนได้เกิน 10,000 รอบ และมีความน่าเชื่อถือสูงกว่าค่าเฉลี่ย
- PNY, Samsung, Transcend: จากผลทดสอบเกิน 1 ปี ส่วนใหญ่ไม่พบข้อผิดพลาด และมีความน่าเชื่อถือสูงกว่าค่าเฉลี่ย
- SanDisk/WD: จาก 29 ใบ มี 14 ใบพังทั้งหมด โดยมีรายงานการพังแบบฉับพลันจำนวนมาก (ไฟเลี้ยงขัดข้อง, เปลี่ยน card reader ฯลฯ)
- Silicon Power: 5 จาก 8 ใบพังทั้งหมด เฉลี่ยไม่ถึง 2,000 รอบ
- XrayDisk: จาก 3 ใบ พังเพียง 1 ใบ ประสิทธิภาพต่ำแต่ความทนทานสูงกว่าค่าเฉลี่ย
อิทธิพลของแบรนด์และแหล่งซื้อ
- แบรนด์รอง/แบรนด์เล็ก ก็แทบไม่ต่างจากแบรนด์ดังในด้านความน่าเชื่อถือ และค่าเฉลี่ยยังสูงกว่าเล็กน้อยด้วยซ้ำ
- แฟลชปลอม/แฟลชมีตำหนิ พังเร็วที่สุด โดยเฉลี่ยที่ 2,200 รอบ
- การ์ดที่ซื้อจาก Amazon มีความทนทานโดยเฉลี่ยดีกว่า AliExpress
รูปแบบการเสียของการ์ด
- บิตป้องกันการเขียนถูกเปิดใช้งาน (ข้อมูลยังอยู่ สำรองออกได้)
- CSD register เสียหาย (เช่น การ์ดแสดงความจุเป็น 127MB)
- ข้อมูลเสียหายทั้งใบ, ล้มเหลวในขั้นตอน power-up sequence และรูปแบบความเสียหายอื่น ๆ
บทสรุปและข้อคิดเชิงปฏิบัติ
- ความทนทานของการ์ด microSD แตกต่างกันมากในแต่ละใบ และโดยเฉลี่ยมีโอกาสเกิดข้อผิดพลาดหลังการเขียน/ลบระดับไม่กี่พันรอบ
- ชื่อแบรนด์เพียงอย่างเดียวไม่รับประกันความน่าเชื่อถือ และแม้แต่ในแบรนด์เดียวกันก็ยังต่างกันมากตามไลน์ผลิตภัณฑ์และช่วงเวลาการผลิต
- หากใช้เก็บข้อมูลสำคัญ ควรเลือกอย่างระมัดระวังและสำรองข้อมูลเป็นประจำ
- ควรระวังเป็นพิเศษในสภาพแวดล้อมที่มีการเขียนต่อเนื่องสูง เช่น Raspberry Pi, กล้องวงจรปิด, อุปกรณ์ฝังตัว และ SBC อื่น ๆ
ดูตัวเลขอย่างละเอียดเพิ่มเติมได้ที่หน้าผลการทดลองของผู้เขียน - On the Capacity, Performance, and Reliability of microSD Cards)
สรุปคอมเมนต์เด่นจาก Reddit
- มีการกล่าวว่า ปัญหาความเข้ากันได้ระหว่าง Raspberry Pi กับ SD card ในอดีตเกิดจากปัญหา kernel/driver และปัจจุบันได้รับการปรับปรุงไปมากแล้ว
- มีประสบการณ์ใช้งานจริงจำนวนมากว่า รุ่นที่เสริมความทนทานอย่าง High Endurance/Industrial ทนกว่าการ์ดทั่วไปมาก โดยเฉพาะ Samsung PRO Endurance, SanDisk High/Max Endurance และ Kingston Industrial series ที่ถูกประเมินว่าดี
- การ์ด SanDisk/Nintendo Switch โดยเฉพาะรุ่นเฉพาะทาง ได้รับการประเมินว่าดีด้านความน่าเชื่อถือ และมีความเห็นว่าความจุสูง (เช่น 128GB) อาจทนกว่าได้ด้วย (แต่จากข้อมูลทดสอบยังไม่ชัดว่าความจุสูงจะทนกว่าจริงหรือไม่)
- สาเหตุหลักของการ์ดพัง คือไฟดับ/แรงดันตก (brownout, hard shutdown), ความร้อน, คุณภาพการผลิตต่ำ และการเขียน log ของระบบ/ฐานข้อมูลมากเกินไป โดยมีหลายกรณีชี้ว่า SD card เปราะบางมากเมื่อมีการตัดไฟ
- ชนิด NAND ของ SD card (SLC, MLC, TLC ฯลฯ) เป็นปัจจัยสำคัญต่อความทนทาน แต่สินค้า consumer ส่วนใหญ่มักไม่เปิดเผยข้อมูลนี้ ขณะที่การ์ด Industrial/รุ่นสูงมักระบุชัดเจน จึงมีคำแนะนำให้ซื้อจาก Digi-Key, Mouser ฯลฯ
- มีผู้ใช้จำนวนมากเลือกบูต/เก็บข้อมูลด้วย SSD, M.2, NVMe, USB drive และมองว่าในทางปฏิบัติทั้งความเร็วและความทนทานดีกว่า SD card
- มีข้อสังเกตว่า สภาพแวดล้อมการใช้งานของการ์ด เช่น อุณหภูมิ อุปกรณ์ หรือคุณภาพ card reader ก็ส่งผลต่ออายุการใช้งานเช่นกัน โดยความเสียหายในสภาพแวดล้อมของ Pi ขึ้นอยู่กับสภาพการใช้งาน ไฟเลี้ยง และคุณภาพเครื่องอ่านอย่างมาก
- ผลที่ Amazon Basics ทำได้ดีเกินคาด เป็นจุดที่หลายคนสนใจ เพราะผู้ใช้จำนวนมากเคยไม่ไว้ใจแบรนด์ราคาประหยัด แต่ผลทดสอบจริงกลับออกมาน่าพอใจ
- มีความเห็นว่า ในงานที่เป็นแบบอ่านอย่างเดียวหรือเน้นอ่านเป็นหลัก ความเสียหายจะน้อยลงอย่างชัดเจน แต่เมื่อเวลาผ่านไปก็ยังอาจเสื่อมได้จากปัญหาการเก็บประจุภายในแฟลช
- Kingston Canvas Go! Plus ก็ถูกแนะนำว่าเป็นตัวเลือกคุ้มค่าที่ดีมาก (ด้านความทนทาน+ประสิทธิภาพ+ราคา)
- มีข้อชี้ว่า หากเน้นเฉพาะความน่าเชื่อถือและความทนทาน การ์ดอุตสาหกรรม/รุ่นราคาสูงคือทางเลือกที่ดีที่สุด แต่ราคาก็อาจสูงเกินไปสำหรับผู้ใช้ทั่วไป
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
อยากชี้ให้เห็นว่าแบรนด์จำนวนมากในลิสต์นี้เป็นเพียงชื่อแบรนด์ ไม่ใช่ผู้ผลิตตัวจริง และผมคิดว่ากระบวนการตามหาผู้ผลิตตัวจริงก็เป็นประเด็นที่น่าสนใจในตัวเอง เพราะทำได้ทั้งจากการ query การ์ดหรือการตรวจดูของจริง เช่น การจัดวาง test point ด้านหลัง ซึ่งแตกต่างกันไปตามผู้ผลิต
คิดว่าดีมากที่มีคนลงแรงทำการทดสอบแบบนี้ เพราะในปัจจุบันผู้บริโภคประเมินคุณภาพของอุปกรณ์อิเล็กทรอนิกส์ราคาถูกได้ยากมาก โดยเฉพาะเมื่อสื่อรีวิวหลัก ๆ ค่อย ๆ หายไป Anandtech ก็กลายเป็นความทรงจำไปแล้ว ข้อมูลที่ผู้บริโภคส่วนใหญ่ได้รับมีแต่บทความแนว "ลิสต์" เชิงโฆษณาที่เรียงสเปกกับลิงก์ affiliate เท่านั้น
อยากฟังเพิ่มเติมเกี่ยวกับเกณฑ์อัตราความผิดพลาด 0.1% เพราะในความเป็นจริง 3 กรณีต่อไปนี้ต่างกันมาก: 1) การอ่านคืนข้อผิดพลาดแต่ retry แล้วสำเร็จ 2) การอ่านคืนข้อผิดพลาดต่อเนื่องตลอด 3) การอ่านคืนข้อมูลผิดแต่กลับรายงานว่าสำเร็จ
ต้องบอกว่าน่าทึ่งมากกับมาตรฐานความทนทานของ SD การ์ดเหล่านี้ สำหรับ consumer SSD ค่าสูงสุดที่โฆษณากันคือราว 600 drive cycles เทียบตามความจุ (วัดด้วย TBW) ซึ่งถือว่าค่อนข้างมาตรฐาน แม้จะเป็นการเสี่ยงดวง แต่ผลที่บาง SD การ์ดอยู่ได้ถึง 4000 cycles ก็น่าประทับใจมาก
จริง ๆ แล้ว NVMe/SATA SSD ก็มีแนวโน้มจะทนมากเหมือนกัน TechReport เคยทดสอบความทนทานจนสุดเมื่อ 10 ปีก่อน และ SSD ทุกตัวอยู่ได้ถึง 3000 cycles โดย Samsung 840 Pro ไปได้เกือบ 10,000 cycles การทดลองความทนทาน SSD ของ TechReport
ผมอยากเห็นการทดสอบ SSD รุ่นใหม่ด้วย อยากรู้ว่าใครทำแฟลชได้ดีที่สุดจริง ๆ (Kioxia, Micron ฯลฯ) ถ้าดูฐานข้อมูล SSD ของ TechReport จะมีสเปกแยกตามชิ้นส่วนครบ เช่น SanDisk/WD SN7100 ใช้ Kioxia 218-Layer BiCS8 3D TLC ซึ่งจริง ๆ แล้วบริษัทที่ผลิตแฟลชเองมีไม่กี่ราย
การทดสอบให้ถึงขีดจำกัดความทนทานของสแตกสำหรับผู้บริโภคก็น่าสนใจเช่นกัน 218 ชั้นเลยนะ! ผมกลับสงสัยว่าตลอด 10 ปีที่ผ่านมา ความทนทานดีขึ้นจริงหรือเปล่า เพราะของเก่าเคยอึดเกินความคาดหมายมาก สเปก Western Digital SN7100
สรุปผลและข้อสันนิษฐานเล็กน้อย
ข้อมูลความทนทานของ SD การ์ดตามค่ามัธยฐาน
เกิดข้อผิดพลาดครั้งแรก: ประมาณ 1450 รอบอ่าน/เขียน
จุดล้มเหลว: ประมาณ 3100 รอบอ่าน/เขียน (ล้มเหลวสมบูรณ์หรือมีข้อผิดพลาดแบบ chunk 0.1%)
ความทนทานแยกตามแบรนด์ (คะแนนยิ่งสูงยิ่งดี):
5 คะแนน: ซีรีส์แบรนด์ "Endurance"/"Industrial"
2 คะแนน: Adata
4 คะแนน: Amazon Basics
4 คะแนน: Delkin
1 คะแนน: Gigastone
5 คะแนน: Kingston
4 คะแนน: Kioxia (เฉพาะ Plus, G2)
4 คะแนน: Lexar
1 คะแนน: onn.
4 คะแนน: OV (ประสิทธิภาพอ่าน/เขียนแย่ที่สุด)
4 คะแนน: PNY
1 คะแนน: Sandisk (เวอร์ชันหลังการเข้าซื้อกิจการ)
1 คะแนน: Silicon Power
4 คะแนน: Transcend
น่าเสียดายกับสิ่งที่เกิดขึ้นกับ Sandisk เมื่อก่อนเคยดีที่สุด แต่ตอนนี้กลับแย่สุด ไม่นานมานี้ผมเพิ่งคืน USB drive ของ Sandisk ไป เพราะรับการเขียนต่อเนื่องไม่ไหวแล้วหลุดการเชื่อมต่อกลางคัน
การทดสอบแบบครอบคลุมลักษณะนี้เป็นสิ่งที่อยากให้เว็บอย่าง Storagereviews ทำ เพราะเขาก็ benchmark การ์ดหลากหลายรุ่นในหลายสถานการณ์อยู่แล้ว ถ้าเพิ่มเรื่องความทนทานเข้าไปด้วยก็คงดี
ถ้ารวมแล้วเขียนทั้งไดรฟ์ได้ 3000 ครั้ง ก็ถือว่าทนมากสำหรับการใช้งานกับ Raspberry Pi ในรุ่น 128GB ตัว OS และแอปใช้แค่ 20~30GB ดังนั้นทั้งอัปเดต OS และการเขียนฐานข้อมูลก็น่าจะรับไหวสบาย
ดีใจที่มีคนมาทดสอบเรื่องนี้จริง ๆ โดยส่วนตัวผมเลือกใช้แต่การ์ด endurance ระดับ A2 (Samsung) ตลอดมา ส่วน Sandisk บน Raspberry Pi ของผมไม่เคยพังเลยสักครั้งและยังใช้งานได้ปกติจนถึงตอนนี้ (แม้จะไม่ได้ใช้งานหนัก) ช่วงหลังผมย้ายไปใช้ Orange PI 5 plus กับ SSD แล้ว และในมุมมองทั้งด้านประสิทธิภาพกับความทนทาน SSD คือคำตอบสุดท้าย
การทดลองทำให้รู้ว่า SanDisk/WD ไวต่อ "brownout" (แรงดันไฟตก)
ผมเคยเจอ SBC ที่ใช้ SD การ์ดอยู่เกิดค้างและทำงานผิดปกติภายในไม่กี่วัน เพราะใช้ USB power adapter ราคาถูก ถึงขั้นติดต่อผู้ผลิตเพื่อขอซ่อม แต่พอเปลี่ยนเป็นอะแดปเตอร์ไฟตัวใหม่ ปัญหาก็หายไปหมด
สรุปแล้วต้นเหตุคือปัญหาไฟเลี้ยง และสิ่งที่น่าเสียดายคืออยากให้ผู้ผลิต SBC เปลี่ยนไปใช้ SSD เป็นสตอเรจเสียที เพราะแม้แต่ SSD รุ่นพื้นฐานก็ยังเชื่อถือได้กว่า TF card มาก
ผมมองว่า SD การ์ดเป็นสตอเรจชั่วคราวที่วันหนึ่งต้องพังแน่นอน
พอยอมรับเรื่องนี้ได้ก็เครียดน้อยลงเยอะ ถ้าข้อมูลสำคัญจริงก็ควรแยกไปเก็บไว้ในสตอเรจภายนอก
อ้างอิงถึงเรื่องนี้ ผมเคยใช้ฮาร์ดดิสก์ HGST ก่อนถูก WD ซื้อกิจการ ซึ่งมันจัดการ error เล็ก ๆ น้อย ๆ ได้ดีมาก และตอนที่มันพังจริง ๆ มันสลับตัวเองไปเป็นโหมดอ่านอย่างเดียว ทำให้กู้ข้อมูลทั้งหมดกลับมาได้สำเร็จ
สำหรับการใช้งาน SD การ์ดกับกล้อง ผมแยกการจัดการเป็นสองแบบ
แบบแรกคือ SD การ์ดใช้งานประจำวัน ซึ่งเอาไว้สลับใช้กับกล้องหรือ card reader เป็นหลัก และจะเปลี่ยนทุกเดือนหรือสองเดือน
แบบที่สองคือการ์ดสำหรับใช้งานแยกตามโปรเจกต์ พอจบโปรเจกต์ก็จะคัดลอกไฟล์ออกแล้วเก็บแยกไว้
ผมไม่ได้ถ่ายวิดีโอ และใช้กล้องที่ค่อนข้างช้าอย่าง Pentax 645Z ดังนั้นการ์ดความเร็วต่ำก็ไม่มีปัญหา เลยซื้อการ์ด 32GB ไว้จำนวนมาก
ตอนนี้ผมกำลังส่ง Seagate HDD ไปเคลม RMA อยู่ ใช้เป็นไดรฟ์สำรองข้อมูลรายสัปดาห์ แล้วมันเกิด error ตอนแบ็กอัปไปได้ราวครึ่งทาง หลังจากนั้นก็มีแต่ error กับเสียงคลิกวนซ้ำไม่หยุด ฟอร์แมตก็ไม่ได้ เรียกว่าพังสนิทเลย (ยังไม่ได้ลอง freezer trick)
SD การ์ดเป็นหนึ่งในสื่อเก็บข้อมูลที่ความน่าเชื่อถือต่ำก็จริง แต่ถ้าห่วงข้อมูลมากจริง ๆ การเขียนเก็บลง SD การ์ดสองใบสองชุดก็ดูจะดีกว่าเขียนลงฮาร์ดดิสก์ครั้งเดียวอยู่ดี แม้แน่นอนว่าจะไม่ใช่ตัวเลือกแรก
SD และ microSD การ์ดเดิมทีถูกออกแบบมาสำหรับอุปกรณ์ที่ใช้แบตเตอรี่
แต่ SBC ไม่ได้ทำงานด้วยแบตเตอรี่ และแทบจะเป็นเครื่องทรมาน SD การ์ดเสียมากกว่า
ในกรณีส่วนใหญ่ สาเหตุที่ SD การ์ดเสียไม่ใช่ตัวการ์ดเอง แต่เป็นคุณภาพของ power supply
อยากรู้ว่ามีหลักฐานที่ชัดเจนอะไรบ้างที่บอกว่าคุณภาพไฟเป็นสาเหตุ
ส่วนตัวผมรู้สึกว่า pattern การเขียนของ Linux distro หนักกับ SD การ์ดมากกว่าเยอะ เพราะกล้องดิจิทัลส่วนใหญ่มักเขียน sequential ขนาดใหญ่บน FAT/exFAT และไม่มี journaling
จากประสบการณ์ คนที่มาถามปัญหาเรื่อง microSD การ์ดแทบทั้งหมดล้วนใช้ power adapter ราคาถูก
ผมใช้แต่อะแดปเตอร์ทางการของ RPi กับการ์ด SanDisk รุ่นธรรมดา และเปิดใช้งานหลายเครื่องมานานกว่า 8 ปีโดยไม่เคยมีปัญหาเลยสักครั้ง
ผมไม่ได้ตั้งค่าด้านประสิทธิภาพหรือโหมดอ่านอย่างเดียวอะไรเป็นพิเศษ และสมัยก่อนกับ Pi รุ่นเก่า ๆ ก็เคยดึงปลั๊กรีสตาร์ตบ่อย ๆ แต่ก็ไม่มีปัญหา
กลับกัน ตอนที่ตัวเครื่อง RPi เองเสียแบบสุ่ม microSD การ์ดกลับยังปกติดี
ช่วงนี้ผมติดตั้ง DietPi ให้ Raspberry Pi ทุกตัว เพราะค่าเริ่มต้นต่าง ๆ (เช่น RAM log) ทำมาได้ดีมาก และข้อดีอีกอย่างคือมันติดตั้งได้บน SBC หลากหลายรุ่น ไม่ใช่แค่ Raspberry Pi เท่านั้น