sd卡隻能讀不能寫是什麼原理?最近我遇到點煩心事,手機相冊忽然不能用了開始時懷疑是小米手機的軟件問題,但是發現存在microSD卡(後文用uSD卡代替)上的電影也出現問題後,我終于找到問題的根源:uSD卡這讓我有些吃驚,畢竟我買的Samsung EVO Plus 128GB uSD卡價格并不便宜,出于我對uSD卡構成和渠道的深刻了解,我之前一直向人推薦購買Samsung或者SanDisk的卡片而我平時也就是看看電影,偶爾照照像,并不是自拍達人或者重度“視頻錄制愛好者”,按理來說并不需要Samsung Pro系列endurance很高的uSD也許這次是我的運氣不好,碰到個質量有問題的卡,那怎麼辦呢?盡管Samsung EVO号稱十年的保固期,但我的私人數據該如何處理呢?,我來為大家科普一下關于sd卡隻能讀不能寫是什麼原理?以下内容希望對你有幫助!
最近我遇到點煩心事,手機相冊忽然不能用了。開始時懷疑是小米手機的軟件問題,但是發現存在microSD卡(後文用uSD卡代替)上的電影也出現問題後,我終于找到問題的根源:uSD卡。這讓我有些吃驚,畢竟我買的Samsung EVO Plus 128GB uSD卡價格并不便宜,出于我對uSD卡構成和渠道的深刻了解,我之前一直向人推薦購買Samsung或者SanDisk的卡片。而我平時也就是看看電影,偶爾照照像,并不是自拍達人或者重度“視頻錄制愛好者”,按理來說并不需要Samsung Pro系列endurance很高的uSD。也許這次是我的運氣不好,碰到個質量有問題的卡,那怎麼辦呢?盡管Samsung EVO号稱十年的保固期,但我的私人數據該如何處理呢?
我決定Debug一下,将uSD插到我的樹莓派上,開始了一個下午的“奇幻之旅”。一番折騰後,發現幾乎所有的塊讀取指令都可以成功完成,但寫操作幾乎都是失敗的。這表明uSD卡的FTL(Flash Translation Layer)層出現了問題,壞塊可能已經導緻新建映射關系完全失敗了。更多關于FTL的知識可以看我的知乎專欄文章。
好在映射表并沒有損壞,所以讀操作都可以完成,已有數據還是安全的。在備份了所有的照片和電影之後,我長舒了一口氣,看着這個uSD我又犯了難。要質保的話,我需要退還舊uSD卡,而因為不能寫,導緻不能删除所有數據,鬼知道Samsung的售後會如何對待我自拍的”美圖“和電影!uSD有價而數據無價,為了安全起見還是用我的終極辦法吧
羊角錘,數據安全專家的必備工具!
這件事讓我想起很多朋友在讀了我的NAND Flash系列和SSD硬盤系列文章後,問我uSD卡裡面有沒有FTL層。網上也有很多誤解認為uSD卡是沒有FTL層的。為了大家對uSD卡有個清楚的認識,今天我們就來了解一下uSD的構成以及回應一下誤解。
什麼是uSD卡?關于uSD的由來我就不過多介紹了,網上資料很多。相信大家都希望自己的手機可以支持uSD卡,畢竟花500多塊錢,就可以購買到256G的額外容量,完全可以傲視iPhone的旗艦機的容量。雖說uSD的速度不及内置的NFS Flash,但作為存儲照片、影像和資料來說是綽綽有餘了。uSD很小:
它如此之小,以至于很多人認為它其中就是放的NAND Flash而别無它物,但事實是這樣嗎?
拆解uSD卡uSD卡結構十分緊湊,拆開它并不像拆開SD那麼輕松,而且很可能會損壞它。幸虧有專業數據恢複公司這麼做過(參考資料1),我們來一起一睹廬山真面目:
原始uSD
上锉刀
初露端倪
廬山真面目
這裡用锉刀,也有些人用酸液腐蝕掉外面的套,會更加清楚些。看到這麼複雜的結構,你這時也許會十分驚訝,但如果我們看看它真正的組成框圖,你也許會更吃驚!
uSD的構成将uSD描述為一個小SSD一點也不誇張,一個簡化的框圖如下:
它包括自己的控制器,内存(有可能是控制器自帶),和NAND Flash。猜猜這個控制器是什麼?
是ARM!尤其是在大多數Class 10的uSD上,ARM和DMA協調工作,才能保證傳輸速度。具體舉個例子,Samsung的uSD卡大多采用ARM7TDMI(詳情見參考資料2),它是基于ARMv4T架構的,T代表Thumb指令集,D是說支持JTAG調試(Debugging),M意指快速乘法器,I則對應一個嵌入式ICEBreaker模塊:
小小的uSD卡也是有程序的,也就是有固件的,Samsung的固件就有128KB大小。
這個ARM7TDMI據我所知,運行在100MHz的頻率上。它并不十分的昂貴,根據不同的出貨量,它的Cost也就在$0.10到$0.30之間。
結論很多人都沒想到,uSD卡雖小,五髒俱全。ARM控制器加上固件,它包括了馮諾依曼所有的元素,它實現了FTL層,從而實現了負載均衡。盡管SD卡的标準并沒有明确要求實現負載均衡,但沒有負載均衡的FTL層,某些特殊設計的寫操作,在幾分鐘之内就可以寫壞uSD卡,這是不可以接受的。所以,幾乎所有uSD卡都實現了FTL層。
有趣的是現在很多SD卡,為了方便起見,直接内嵌了個uSD卡,節省了成本:
還有很多古怪的玩法,譬如SSD實際上是一堆uSD卡拼成,十分有趣。
另外評論區有朋友問TF卡和uSD的區别的問題。現在可以說他們是一回事,叫做不同的名字是有曆史原因的,簡單來說TF(TransFlash)發明比較早,後來被SD卡組織吸收合并,就幾乎變成了一回事,有些細微的區别,詳見參考資料3,但一般用戶無感。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!
,
2023-07-19