作者nknudpa (nknu)
看板Storage_Zone
標題[請益] NAND flash的寫入次數是如何測出來的?
時間Thu Sep 2 22:33:43 2010
如題,我們常看到很多人問隨身碟或固態硬碟壽命如何如何,回答者常回答slc可以寫入
100000次,mlc可以寫入10000次,但這數字是怎麼出來的,難道是廠商真的請工讀生寫入
10000次嗎?還是用程式去跑的?如果是用程式跑的話,我曾寫過一個程式對隨身碟單一磁
區寫入10000000次(它沒有wear leaving,而且有用檔案回覆軟體證實沒有蓋到其他磁區
),結果隨身碟也沒壞,容量也沒變小,為什麼?
我寫的程式如下:
include<stdio.h>
int
main(void)
{
register long double i;
FILE *output;
i=1;
while(1)
{
output=fopen("w.txt","w");
fprintf(output,"%d", (int)i);
printf("%d", (int)i);//程式會在寫入的檔案內顯示次數,也會在螢幕顯示
fclose(output);
}
return(0);
}
程式概念大致上是如此,文句上可能略有打錯,請多包涵
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.190.187
1F:→ coldreflect :要直接用windows api函式 應該才能抓到實體磁區 09/02 22:35
2F:→ coldreflect :你用fopen 他又不一定再硬碟同實體位置產生檔案 09/02 22:36
3F:→ coldreflect :不然你用diskmon 或者xperf去看寫入讀取狀況 09/02 22:37
4F:→ coldreflect :即使在一般硬碟 你同樣fopen也不一定在同實體位址 09/02 22:37
5F:→ coldreflect :產生檔案 09/02 22:38
6F:→ coldreflect :另外你想這問題前也可以想 傳統硬碟MTTF怎麼求出的 09/02 22:38
7F:→ ChampionHare:推樓上 XD 09/02 23:10
8F:→ JeffMcBride :為什麼i不變呢 09/03 01:15
9F:→ y3k :寫入一萬次"failure的機率大於某門檻"的大約值吧 09/03 02:52
10F:→ y3k : ^是 09/03 02:53
11F:→ y3k :另外壞掉幾個的時候通常有映射可以用 還有一樓講的 09/03 03:09
12F:推 sdbb :這還跟SSD控制器的寫入演算法有關 09/03 13:30