Thẻ microSD đáng tin cậy đến mức nào? : Kết quả thử nghiệm dài hạn quy mô lớn dựa trên dữ liệu thực tế
(old.reddit.com)- Trong khoảng 1 năm 10 tháng, đã tiến hành thử nghiệm độ tin cậy của thẻ microSD trên 256 thẻ thuộc nhiều thương hiệu/sản phẩm khác nhau
- 82% tổng số thẻ gặp ít nhất 1 lỗi, trung bình lỗi đầu tiên xuất hiện sau 2.400 chu kỳ đọc/ghi, trung vị nằm giữa 1.450 chu kỳ đọc/ghi
- Với ngưỡng lỗi sector 0,1%, gần một nửa đạt ngưỡng trong vòng 4.500 lần (trung bình), 3.100 lần (trung vị)
- Chênh lệch độ bền theo từng thương hiệu khá lớn; Amazon Basics, Kingston, Kioxia (một phần), Lexar, OV... tương đối tốt, còn SanDisk, Silicon Power, Gigastone, onn. ... bị đánh giá dưới mức trung bình
- Bất kể thương hiệu, nhiều thẻ off-brand (thương hiệu ít tên tuổi) cũng cho kết quả tương đương hoặc tốt hơn các thương hiệu nổi tiếng
- Lỗi thẻ xảy ra theo nhiều cách khác nhau như khóa ghi, hỏng thanh ghi CSD, hỏng toàn bộ dữ liệu, lỗi chuỗi cấp nguồn...
- Các thẻ mua trên Amazon nhìn chung cho kết quả tốt hơn thẻ mua trên AliExpress
How reliable are microSD cards? Well, as it turns out...
Tổng quan thí nghiệm
- Trong khoảng 1 năm 10 tháng, đã thử nghiệm 256 thẻ microSD (223 thẻ vẫn đang được kiểm tra, 105 thẻ được thử đến lúc hỏng)
- Liên tục ghi/xác minh hơn tổng cộng 47 petabyte dữ liệu ngẫu nhiên lên các thẻ
- Đối tượng thử nghiệm gồm rất nhiều loại thẻ khác nhau về thương hiệu, dung lượng, dòng sản phẩm...
Tóm tắt các kết quả chính
Tần suất lỗi và độ bền nói chung
- 82% thẻ phát sinh ít nhất 1 lỗi: một số gặp lỗi đầu tiên trước 10 chu kỳ, một số rất ít vượt quá 100.000 chu kỳ mà vẫn không lỗi
- Thời điểm xuất hiện lỗi đầu tiên trung bình: 2.400 lần, trung vị: 1.450 lần chu kỳ đọc/ghi
- Đạt ngưỡng lỗi sector 0,1%: trung bình 4.500 chu kỳ, trung vị 3.100 chu kỳ (gần một nửa đạt tới mốc này)
- Một số thẻ hỏng hoàn toàn hoặc chạm ngưỡng ngay dưới 3.100 chu kỳ
Khác biệt về độ bền theo thương hiệu
- ADATA: trung bình 2.352 lần, dưới mức trung bình
- Amazon Basics: cả 4 thẻ đều không hỏng trong 1 năm, 2 thẻ hoàn toàn không có lỗi
- Delkin Devices: trên mức trung bình, ghi nhận không lỗi (trong 6~8 tháng)
- Gigastone: 8/9 thẻ hỏng hoàn toàn, nhiều trường hợp hỏng trong vòng 6 tháng
- Kingston: chỉ 1/15 thẻ hỏng hoàn toàn, cả dòng công nghiệp cũng tốt hơn SanDisk
- Kioxia: Exceria đều hỏng sớm, còn Exceria Plus/G2 vượt 10.000 chu kỳ không lỗi, thuộc nhóm đáng tin cậy hàng đầu
- Lexar: một số mẫu thời Micron có vấn đề sản xuất, nhưng nhìn chung độ bền tốt
- onn. (nhãn riêng của Walmart): cả 4 thẻ đều hỏng trước 2.000 chu kỳ
- OV (AliExpress): cả 3 thẻ đều chịu được hơn 10.000 chu kỳ, độ tin cậy trên mức trung bình
- PNY, Samsung, Transcend: phần lớn không lỗi sau hơn 1 năm thử nghiệm, độ tin cậy trên mức trung bình
- SanDisk/WD: 14/29 thẻ hỏng hoàn toàn, nhiều báo cáo hỏng đột ngột (mất nguồn, thay đầu đọc...)
- Silicon Power: 5/8 thẻ hỏng hoàn toàn, trung bình dưới 2.000 chu kỳ
- XrayDisk: chỉ 1/3 thẻ hỏng, hiệu năng thấp nhưng độ bền trên mức trung bình
Ảnh hưởng của thương hiệu và nơi mua
- Thẻ off-brand/thương hiệu nhỏ cũng không khác biệt lớn về độ tin cậy so với thương hiệu nổi tiếng, thậm chí trung bình còn nhỉnh hơn một chút
- Flash giả/lỗi hỏng nhanh nhất với trung bình 2.200 chu kỳ
- Thẻ mua trên Amazon có độ bền trung bình tốt hơn so với AliExpress
Cách thẻ bị hỏng
- Kích hoạt bit khóa ghi (dữ liệu vẫn còn, có thể sao lưu)
- Hỏng thanh ghi CSD (ví dụ dung lượng thẻ hiển thị thành 127MB)
- Hỏng toàn bộ dữ liệu, lỗi chuỗi khởi động nguồn và nhiều kiểu hỏng khác
Kết luận và hàm ý thực tế
- Độ bền của thẻ microSD khác nhau rất lớn giữa từng thẻ, và trung bình sau vài nghìn lần ghi/xóa thì xác suất lỗi là có thật
- Không thể chỉ dựa vào tên thương hiệu để đảm bảo độ tin cậy; độ lệch giữa các dòng sản phẩm và thời điểm sản xuất trong cùng một hãng là rất lớn
- Khi lưu trữ dữ liệu quan trọng, cần lựa chọn cẩn thận và sao lưu định kỳ
- Đặc biệt cần thận trọng trong các môi trường ghi liên tục như Raspberry Pi, SBC, camera giám sát, hệ thống nhúng...
Có thể xem các số liệu chi tiết hơn tại trang kết quả thí nghiệm của tác giả - On the Capacity, Performance, and Reliability of microSD Cards)
Tóm tắt các bình luận nổi bật trên Reddit
- Vấn đề tương thích giữa Raspberry Pi và thẻ SD trước đây từng liên quan đến kernel/driver, và gần đây được cho là đã cải thiện đáng kể
- Có nhiều trải nghiệm thực tế cho thấy các mẫu tăng cường độ bền như High Endurance/Industrial bền hơn thẻ thường rất nhiều. Đặc biệt Samsung PRO Endurance, SanDisk High/Max Endurance và dòng Kingston Industrial được đánh giá tốt
- Thẻ Sandisk/thẻ dành riêng cho Nintendo Switch được đánh giá tốt về độ tin cậy; cũng có ý kiến cho rằng dung lượng lớn hơn (như 128GB) có thể bền hơn, dù dữ liệu thử nghiệm chưa cho thấy rõ điều đó
- Nguyên nhân chính khiến thẻ hỏng là mất điện (brownout, tắt cứng), nhiệt độ cao, lỗi chất lượng và ghi log hệ thống/DB quá mức. Có nhiều trường hợp cho thấy thẻ SD rất dễ tổn thương khi bị ngắt nguồn
- Loại NAND của thẻ SD (SLC, MLC, TLC...) là yếu tố cốt lõi đối với độ bền, nhưng phần lớn sản phẩm tiêu dùng không công bố điều này. Các thẻ Industrial/cao cấp thường ghi rõ, nên được khuyên mua từ Digi-Key, Mouser...
- Nhiều người cũng khởi động/lưu dữ liệu bằng SSD, M.2, NVMe, USB drive, và cho rằng trên thực tế cả tốc độ lẫn độ bền đều tốt hơn thẻ SD
- Cũng có ý kiến cho rằng môi trường vận hành của thẻ (nhiệt độ, thiết bị, chất lượng đầu đọc...) ảnh hưởng đến tuổi thọ. Trong môi trường Pi, việc thẻ SD hỏng phụ thuộc nhiều vào cách dùng, nguồn điện và chất lượng đầu đọc
- Kết quả cho thấy thẻ Amazon Basics hoạt động tốt hơn dự kiến là điểm gây chú ý. Nhiều người vốn không tin tưởng thương hiệu giá rẻ, nhưng trong thử nghiệm thực tế chúng được đánh giá khá ổn
- Cũng có ý kiến cho rằng trong môi trường chỉ đọc hoặc chủ yếu đọc, số ca hỏng sẽ ít hơn đáng kể, nhưng theo thời gian vẫn có thể suy giảm do vấn đề giữ điện tích bên trong flash
- Kingston Canvas Go! Plus cũng được khuyên dùng như một lựa chọn có tỷ lệ giá/hiệu năng tốt (xét theo độ bền + hiệu năng + giá)
- Nếu chỉ ưu tiên độ tin cậy và độ bền thì thẻ công nghiệp/cao cấp là tốt nhất, nhưng cũng có ý kiến cho rằng mức giá quá cao đối với người dùng phổ thông
1 bình luận
Ý kiến trên Hacker News
Tôi muốn lưu ý rằng khá nhiều thương hiệu trong danh sách thực ra không phải nhà sản xuất thật mà chỉ là tên thương hiệu đơn thuần; tôi nghĩ quá trình lần ra nhà sản xuất thực sự cũng là một điểm rất thú vị, và việc này có thể làm bằng cách truy vấn thẻ hoặc kiểm tra phần cứng thực tế (ví dụ: bố trí test point ở mặt sau, khác nhau theo từng hãng)
Tôi thấy thật tốt khi có ai đó bỏ công sức làm kiểu thử nghiệm này; trong bối cảnh hiện nay, người tiêu dùng thực sự rất khó đánh giá đúng chất lượng của đồ điện tử giá rẻ, nhất là khi các kênh review lớn đang dần biến mất. Anandtech giờ cũng chỉ còn là kỷ niệm. Thứ mà đa số người dùng nhận được chỉ là những bài “listicle” mang tính quảng cáo, liệt kê thông số cùng các liên kết tiếp thị liên kết
Tôi muốn nghe thêm về tiêu chí tỷ lệ lỗi 0,1%; trên thực tế, ba tình huống sau rất khác nhau: 1) lần đọc trả về lỗi nhưng đọc lại thì thành công 2) lần đọc liên tục trả về lỗi 3) lần đọc trả về dữ liệu sai nhưng vẫn báo là thành công
Tôi thực sự ấn tượng với độ bền của các thẻ SD này; ở SSD consumer, mức cao nhất thường được quảng bá là khoảng 600 chu kỳ ghi đầy ổ theo dung lượng (theo TBW), đây là con số khá tiêu chuẩn. Dù có phần như đánh cược, kết quả cho thấy một số thẻ SD chịu được tới 4000 chu kỳ là cực kỳ ấn tượng
Thực tế thì SSD NVMe/SATA cũng có xu hướng bền hơn khá nhiều; TechReport đã làm bài test độ bền đến giới hạn từ 10 năm trước, và mọi SSD đều trụ được tới 3000 chu kỳ, còn Samsung 840 Pro gần chạm mốc 10.000 chu kỳ Thử nghiệm độ bền SSD của TechReport
Tôi muốn xem thêm các bài test với SSD đời mới để biết ai thực sự làm flash tốt nhất (Kioxia, Micron, v.v.). Nếu xem cơ sở dữ liệu SSD của TechReport thì thông số từng linh kiện đều có đủ; chẳng hạn SanDisk/WD SN7100 dùng Kioxia 218-Layer BiCS8 3D TLC. Thực ra số công ty tự sản xuất flash không nhiều.
Việc thử đến giới hạn độ bền của stack consumer hiện nay cũng sẽ rất thú vị. 218 lớp cơ đấy! Thậm chí tôi còn nghi ngờ không biết 10 năm qua độ bền có thực sự tăng hay không, vì ngày xưa chúng thường bền hơn kỳ vọng rất nhiều Thông số Western Digital SN7100
Tóm tắt kết quả và một chút suy luận
Dữ liệu độ bền thẻ SD theo trung vị
Xuất hiện lỗi đầu tiên: khoảng 1450 chu kỳ đọc/ghi
Thời điểm hỏng: khoảng 3100 chu kỳ đọc/ghi (hỏng hoàn toàn hoặc lỗi theo vùng 0,1%)
Độ bền theo thương hiệu (điểm càng cao càng tốt):
5 điểm: các dòng thương hiệu “Endurance”/“Industrial”
2 điểm: Adata
4 điểm: Amazon Basics
4 điểm: Delkin
1 điểm: Gigastone
5 điểm: Kingston
4 điểm: Kioxia (chỉ Plus, G2)
4 điểm: Lexar
1 điểm: onn.
4 điểm: OV (hiệu năng đọc/ghi tệ nhất)
4 điểm: PNY
1 điểm: Sandisk (phiên bản sau sáp nhập)
1 điểm: Silicon Power
4 điểm: Transcend
Những gì xảy ra với Sandisk thật đáng tiếc; trước đây họ từng là tốt nhất, giờ lại là tệ nhất. Gần đây tôi đã trả lại một USB Sandisk vì nó không chịu nổi ghi liên tục và bị ngắt kết nối giữa chừng
Đây là kiểu bài test tổng hợp mà tôi mong những nơi như Storagereviews sẽ làm; họ vốn đã benchmark nhiều loại thẻ ở nhiều kịch bản khác nhau, nên nếu có thêm độ bền nữa thì sẽ rất hay
Tổng cộng 3000 lần ghi đầy ổ là mức độ bền khá cao cho các trường hợp dùng Raspberry Pi; với bản 128GB thì hệ điều hành và ứng dụng chỉ chiếm khoảng 20–30GB, nên vẫn dư sức chịu được cập nhật hệ điều hành hay ghi cơ sở dữ liệu
Thật mừng khi có ai đó làm những bài test kiểu này. Cá nhân tôi chỉ chọn thẻ endurance hạng A2 (Samsung). Trong suốt thời gian qua, thẻ Sandisk chưa từng hỏng lần nào trên Raspberry Pi của tôi và đến giờ vẫn hoạt động bình thường (dù tôi không dùng quá nặng). Gần đây tôi chuyển sang Orange PI 5 plus và dùng SSD; xét về hiệu năng lẫn độ bền, SSD là giải pháp cuối cùng
Qua thử nghiệm tôi biết được rằng SanDisk/WD khá nhạy với hiện tượng ‘brownout’ (sụt áp)
Tôi từng trực tiếp gặp trường hợp một SBC đang dùng thẻ SD bị treo và hoạt động lỗi chỉ sau vài ngày vì bộ nguồn USB rẻ tiền; tôi còn liên hệ nhà sản xuất để hỏi sửa chữa, nhưng khi đổi sang bộ nguồn mới thì vấn đề biến mất hoàn toàn
Kết luận là nguồn điện mới là nguyên nhân, và điều đáng tiếc là tôi ước các nhà sản xuất SBC chuyển sang dùng SSD cho lưu trữ; ngay cả SSD cơ bản cũng đáng tin cậy hơn TF card rất nhiều
Tôi xem thẻ SD là loại lưu trữ tạm thời, sớm muộn gì cũng sẽ hỏng
Khi chấp nhận điều này thì cảm thấy bớt căng thẳng hơn nhiều. Nếu dữ liệu thực sự quan trọng thì nên lưu riêng ra bộ nhớ ngoài
Nhân tiện, trước đây tôi từng dùng ổ cứng HGST từ thời trước khi WD mua lại; nó xử lý khá tốt các lỗi lặt vặt trong quá trình sử dụng bình thường, và khi thực sự hỏng hẳn thì còn chuyển sang chế độ chỉ đọc, nhờ vậy tôi cứu được toàn bộ dữ liệu
Với thẻ SD cho máy ảnh, tôi quản lý theo hai hướng
Hướng thứ nhất là thẻ SD dùng hằng ngày; loại này chủ yếu luân phiên dùng trong máy ảnh hoặc đầu đọc thẻ, và mỗi tháng tôi thay một hoặc hai lần
Hướng thứ hai là thẻ dùng theo từng dự án; sau khi xong một dự án, tôi sao chép file rồi cất riêng thẻ đó
Tôi không quay video và dùng máy ảnh tương đối chậm như Pentax 645Z, nên thẻ tốc độ thấp cũng không thành vấn đề. Tôi mua số lượng lớn thẻ 32GB
Nhân tiện thì hiện tại tôi đang gửi RMA một ổ Seagate HDD; tôi dùng nó để backup hằng tuần, nhưng khi bản backup mới chạy được khoảng một nửa thì phát sinh lỗi, rồi sau đó chỉ lặp vô tận giữa lỗi và tiếng click, không format được và coi như hỏng hoàn toàn (tôi chưa thử mẹo bỏ tủ đông)
Thẻ SD đúng là một trong những loại lưu trữ kém tin cậy, nhưng nếu thực sự tiếc dữ liệu thì lưu hai lần trên hai thẻ SD có lẽ vẫn tốt hơn lưu một lần trên ổ cứng, dù tất nhiên đó không phải lựa chọn đầu tiên
SD và microSD vốn được thiết kế cho các thiết bị chạy pin
SBC thì không chạy bằng pin, và gần như là cỗ máy tra tấn thẻ SD
Trong đa số trường hợp, nguyên nhân làm thẻ SD hỏng không phải do bản thân thẻ mà là do chất lượng bộ nguồn
Tôi muốn biết liệu có bằng chứng cụ thể nào cho nhận định nguyên nhân là chất lượng điện hay không
Cá nhân tôi cảm thấy kiểu ghi của các bản phân phối Linux nặng nề hơn rất nhiều đối với thẻ SD; máy ảnh số thường chỉ ghi tuần tự dung lượng lớn trên FAT/exFAT và không có journaling
Theo kinh nghiệm của tôi, hầu như ai hỏi về lỗi microSD card cũng đều đang dùng bộ nguồn rẻ tiền
Tôi chỉ dùng adapter chính hãng của RPi và thẻ SanDisk bản thường, vận hành nhiều máy hơn 8 năm mà chưa gặp một lần trục trặc nào
Tôi cũng không cấu hình tối ưu hiệu năng hay chế độ chỉ đọc gì cả; ngay cả trên các đời Pi cũ, tôi cũng nhiều lần rút điện để khởi động lại mà không sao
Thậm chí có lúc chính bo mạch RPi hỏng ngẫu nhiên, còn microSD thì vẫn nguyên vẹn
Gần đây tôi cài DietPi cho mọi Raspberry Pi; cấu hình mặc định của nó (như RAM log, v.v.) rất xuất sắc nên tôi rất thích, và điểm cộng nữa là nó cài được cho nhiều SBC khác chứ không chỉ Raspberry Pi