MicroSD/eMMC Endurance?
讓我想試著測試MicroSD卡...
如同網路上對SSD作的測試
我想要對一張MicroSD卡持續讀寫,驗證它甚時候出現BadBlock
這個測試放在我的Server上面跑,因為一般PC沒有SD Interface
所以採用USB讀卡機作為SD Interface
因為MicroSD不像SSD有SMART資訊可以判讀總寫入量(Total Bytes Written)、錯誤發生數量(
Reallocated Sectors Count)
所以採用Badblocks直接對磁碟進行讀寫操作,判斷錯誤發生的數量
讀取/proc/diskstats的sectors written判斷總寫入量
最後,收集數據,自動上傳到Blogger,最後再來想怎呈現
測試的Log會自動發布在Sandisk 8G Write Test
目前測試的MicroSD卡是舊的,等整個測試驗證ok再拆新的卡來跑XD
測試shell script如下,如果有修改再更新
#!/bin/bash
# Loop badblock to write disk
# check the disk endurance, and update it to blogger
DISK='sdc '
while true
do
sudo badblocks -ws -o usbstick.log /dev/sdc
DATE=`date -R`
DISK_TOTAL_MBYTES_WRITEN=`grep $DISK /proc/diskstats|awk '{print $3"\t"$10 / 2 / 1024}' `
BADBLOCKS_LOG=`cat usbstick.log`
echo $DATE,$DISK_TOTAL_MBYTES_WRITEN,$BADBLOCKS_LOG >> Sandisk_8G_Write_test.txt
b.py post Sandisk_8G_Write_test.txt
done
8G的卡, MLC如果3000次,可以寫入24TB的資料量
假設2MBytes/Second
要花138天...