TF (MicroSD) 卡的損耗問題怎麼減輕?

因為快閃記憶體類的存儲器是有明確的寫入次數限制的,需要建立有針對性的文件系統,比如 JFFS2 和 YAFFS。但是目前手機上常用的文件系統FAT, FAT32都是針對硬碟設計,硬碟並沒有類似的寫入次數限制。目前已經有聽說,因為手機操作系統讀寫不當的緣故導致新TF卡的使用壽命只有一個月。那麼我們需要做點什麼來減少看似可以避免的損失呢? 謝謝

下面是摘自維基百科對快閃記憶體文件系統的描述:

快閃記憶體文件系統

快閃記憶體檔案系統

主條目:快閃記憶體文件系統

快閃記憶體文件系統是一種設計用來在快閃記憶體上儲存文件的文件系統。隨著移動設備的普及和快閃記憶體容量的增加,這類文件系統越來越流行。 儘管磁碟文件系統也能在快閃記憶體上使用,但快閃記憶體文件系統是快閃記憶體設備的首選,理由如下:

擦除區塊:快閃記憶體的區塊在重新寫入前必須先進行擦除。擦除區塊會佔用相當可觀的時間。因此,在設備空閑的時候擦除未使用的區塊有助於提高速度。

隨機訪問:由於在磁碟上定址有很大的延遲,磁碟文件系統有針對定址的優化,以盡量避免定址。但快閃記憶體沒有定址延遲。

寫入平衡(Wear levelling):快閃記憶體中經常寫入的區塊往往容易損壞。快閃記憶體文件系統的設計可以使數據均勻地寫到整個設備。

日誌文件系統具有快閃記憶體文件系統需要的特性。這類文件系統包括 JFFS2 和 YAFFS.

資料庫文件系統


一個月就太誇張了,事實上現在對tf的文件系統的沒有多少剛需,一般影響壽命最明顯的是顆粒,比如SLC,約10萬次擦寫壽命MLC,約3000---10000次擦寫壽命,TLC就很短一般也就800次左右(三星的840據說玩到了2800次,還有一傢伙跑了3900http://diybbs.zol.com.cn/66/231_653405.html實際上在3000的時候就已經用不了了,但還是很驚人了),這裡的次數指的是完整寫入,讀取不算。一個手機的壽命是多少,卡的速度是多少?一般就按16G,8M/S算,也要半個小時,而手機都是間歇性寫入,讀取更多,即使你不斷照相的,拼死拼活一張卡也足夠你用2,3年了,這個時候手機的壽命也差不多了。再其次,tf卡現在是白菜價啊。。。這個問題也許再過幾年會比較突出,這幾年暫時不用考慮了


最近也在研究SD卡的讀寫壽命,按我的經驗,1個月把卡寫壞都不算啥,我手上的伺服器一周就能把class10的原廠東芝卡寫壞。

卡的耐用性其實是取決於兩點:1、運行溫度。2、數據模型。

雖然sd卡的spec里註明可在是-25度到85度的溫度下工作,但是在我的實測數據里,環境溫度如果高於60度,卡的壽命會急速下降。

另外還要考慮寫入的數據模型。當使用SD卡做linux系統盤時,系統會向卡寫入大量的LOG數據和離散數據,對SD卡來說是致命的,如果再加上高溫環境一周把卡寫壞很容易。

後來翻閱了不少資料,發現這種應用就需要使用工業級的SD卡。工業卡的主要優勢是static wear leveling,其次是真正的寬溫nand和主控(操作溫度最高可達到75度),最後則是SLC和pSLC。

其中東芝的pSLC是一個很有意思的東西,原本是MLC顆粒,但是每個cell只有其中的1bit,容量縮水一半的同時,PE能翻10倍,19nm的顆粒能達到30000pe的水平。

sandisk的卡並不是全部都有wear leveling,目前只在它最頂級的Extreme PRO上看到,其餘的都沒有。

如果對這個感興趣的話歡迎交流,我的企鵝是思思伊漆二靈溜吧伊


昨天發現了UBIFS這個好東西,通讀了他的文檔,發現了若干個關於Flash存儲設備的事實:1.Flash類型的存儲設備包括兩級,底層一級叫raw nand,是裸晶元。高一級叫FTL,用來提供將raw nand模擬為塊設備,供操作系統讀寫,並且在FTL這一層提供了壞塊維護、均衡損耗等功能。

2.我們常用的SD,miniSD,microSD,SSD等設備都是帶有FTL的設備,FTL由設備提供商提供,實現機制各異,有好有壞,差異非常大

3.手機內部的nand存儲是裸設備,需要在上邊載入軟體的FTL驅動,也就是MTD,在MTD上再載入jffs2,yaffs2,ubifs等文件系統。

所有的基於裸設備的文件系統都提供了較好的均衡損耗功能,也就是將寫入請求平均的分配在每個存儲塊上。因為每個存儲單元都有使用壽命,通常是2萬次寫入,因此對他們進行均衡損耗非常重要。

所有SD,miniSD,microSD,SSD之類的外置設備雖然有FTL負責均衡損耗,但是因為設備商的開發能力和硬體成本不一樣,比如有些高端設備在內部增加了一個小的cpu專門處理均衡損耗之類的問題,而另一些設備可能只是一個很廉價的小晶元做非常簡單的處理。

以手機使用的microSD為例,FTL的不同帶來的問題就是不同品牌的microSD的使用壽命有很大的不同,低劣的FTL驅動將嚴重縮短microSD的壽命。我查閱了sandisk的一些文檔,貌似sandisk的所有存儲設備都有均衡損耗技術。

轉自 【12-15】關於Flash存儲設備的均衡損耗


題主,實際情況沒你說的這麼離譜。

你肯定沒仔細看過卡上有個標記或者看了不知道什麼意思,那個標記是個大寫字母C,裡面有數字2,或者4,或者6,或者10。它指代的是卡的讀寫的傳輸速率。這裡有偏介紹,你可以看一看:TF卡class級別真正定義。

我就不對標準進行解說了,只說個親身體驗過例子。

N年前用單反玩攝影,買過SD、SDHC的存儲卡,當然也試過帶卡套的MicroSD/TF卡,可以當成SD卡用。當時用的一張是ScanDisk Class 4的卡,一張是KingStone Class 4的卡,還有一張雜牌的標為Class 6的卡,可是沒用多久,那張雜牌的Class 6卡就掛了,原因是我為了抓拍運動的人像,用了連拍,雖然圖像格式是Medium JPEG,單張圖片不大,但連下來,每秒需要的寫入速率就不低了。ScanDisk 和KingStone的卡勉強還能撐的住,那張雜牌的,直接把機器搞死機了,試過幾次之後,雜牌卡自殺了。

所以說,這個東西不能怪機器。你選對卡了嗎?


簡單講,東西別頻繁刪除,不用的東西馬上刪掉是好習慣,不過對存儲卡不好,因為下次寫入很可能又在同一塊區域,導致這塊過早損耗。


平衡損耗需要靜態均衡損耗Static Wear-leveling

存儲卡和U盤等一般都沒有靜態均衡損耗。

貌似松下儲存卡主控有靜態均衡損耗


看來我的最慘,基本上4個月壞一次。換了各種品牌了。


只能減少數據寫入,我的手機用link2sd,真是一個多月就費一張卡。這就是為什麼現在的安卓機很多也不能使用tf卡的原因之一。


一個月壽命太誇張了吧。

常識作答

看你卡的位置了,一般在攝像頭髮熱嚴重等部位,壽命肯定短。

經常不卸載就抽拔,肯定也是不好的。(參考強制關機對硬碟的傷害)

玩不兼容的遊戲,導致發熱過度或死機重啟,肯定也是不好的。

軟體裝在卡里,應該會加大讀取頻率吧。

我是安卓機,開發人員選項里有個對SD卡讀取進行保護的選項。。。

再,不買次卡,少刷機(越獄),經常備份,養成良好的使用習慣一般沒問題吧。

要穩定安全耐用,就最好不要折騰開發吧

回答很水,不刷別人timeline了。


推薦閱讀:

Android低端機如何避免用了一年後變得很卡的命運?
你是如何使用tasker的?
報道稱 HTC 或全面轉向 Windows Phone,你怎麼看?
Fragment與BackStack運作流程?
安卓手機顯示屏壞了怎麼備份資料?

TAG:手機 | 文件系統 | Android | microSDTF卡 | 數據存儲技術 |