今天的lab meeting是由秉毅學長報告他的論文,他說他大約花了一個月讀spec、自己寫了一個windows上的USB driver,目的是改善flash寫入的效能,延長flash的壽命。主要是因為windows在寫入flash時,假如flash的file system是FAT32的話,會不做cache直接寫入,導致flash的壽命可能會大幅下降,尤其是寫入的檔案數量過多時更慘;若file system是NTFS的話看起來就不會有這種問題,不過在flash上做NTFS有其他致命的缺點,所以幾乎都是FAT32為主。

不過學長說其實他在實驗中最大的兩個發現是:減少寫入的檔案數量安全移除無用。前者是和flash的特性有關,讓檔案數量減少可以降低寫入時的overhead,所以他建議寫入前可以把小檔案先壓成一個archive再寫。後者是windows本身的缺失,因為"安全移除"本來的用意是類似Unix上的unmount ,確保external  storage在移除前可以完成所有的IO;可是windows上的driver在安全移除時卻只有送出signal 而已,並沒有實做flush  IO buffer(畢竟也沒有做cache嘛...),所以目前的windows 在遇到file system為FAT32的USB  flash時,其實是不需要做安全移除的~
arrow
arrow
    全站熱搜

    cym 發表在 痞客邦 留言(0) 人氣()