#嵌入式系統 #微控制器MCU #快閃記憶體FlashMemory #EEPROM
【「EEPROM」不退流行】
在許多關於微控制器 (MCU) 的產品描述中都會提到「EEPROM」(電子抹除式可複寫唯讀記憶體)。它是一種可編程的非揮發性 (易失性) 記憶體,意味著當關閉電源時,當中所儲存的內容不會丟失,幾近 99% 的 EEPROM 都支援串行 (序列) 介面,以 SPI 及 I2C 兩種最常見。
EEPROM 其實由來已久,為何經過時間洗滌、依然佔有一席之地?一起透過演示視頻來了解更多關於它的故事吧!
演示視頻:
《What Is EEPROM?》
http://www.compotechasia.com/a/CTOV/2021/0118/46947.html
https://www.youtube.com/watch?v=7qa1dsCpMMo&feature=emb_logo
#微芯科技Microchip
P.S.《COMPOTECHAsia 電子與電腦》在 YouTube 也有專屬頻道哦!歡迎各位朋友訂閱+開啟小鈴鐺。
https://www.youtube.com/user/compotechasia/videos
eeprom 讀 寫 在 麥克風的市場求生手冊 Facebook 的最佳解答
【台積電佈局新存儲技術】
近年來,在人工智能(AI)、5G等推動下,以MRAM(磁阻式隨機存取存儲器)、鐵電隨機存取存儲器 (FRAM)、相變隨機存取存儲器(PRAM),以及可變電阻式隨機存取存儲器(RRAM)為代表的新興存儲技術逐漸成為市場熱點。這些新技術吸引各大晶圓廠不斷投入,最具代表性的廠商包括台積電、英特爾、三星和格羅方德(Globalfoundries)。
那麼,這些新興存儲技術為什麼會如此受期待呢?主要原因在於:隨着半導體制造技術持續朝更小的技術節點邁進,傳統的DRAM和NAND Flash面臨越來越嚴峻的微縮挑戰,DRAM已接近微縮極限,而NAND Flash則朝3D方向轉型。
此外,傳統存儲技術在高速運算上也遭遇阻礙,處理器與存儲器之間的「牆」成為了提升運算速度和效率的最大障礙。特別是AI的發展,數據需求量暴增,「牆」的負面效應愈加突出,越來越多的半導體廠商正在加大對新興存儲技術的研發和投資力度,尋求成本更佳、速度更快、效能更好的存儲方案。
從目前來看,最受期待的就是MRAM,各大廠商在它上面投入的力度也最大。MRAM屬於非易失性存儲技術,是利用具有高敏感度的磁電阻材料製造的存儲器,斷電時,MRAM儲存的數據不會丟失,且耗能較低,讀寫速度快,可媲美SRAM,比Flash速度快百倍,在存儲容量方面能替代DRAM,且數據保存時間長,適合高性能應用。
MRAM的基本結構是磁性隧道結,研發難度高,目前主要分為兩大類:傳統MRAM和STT-MRAM,前者以磁場驅動,後者則採用自旋極化電流驅動。
另外,相較於DRAM、SRAM和NAND Flash等技術面臨的微縮困境,MRAM可滿足製程進一步微縮需求。目前,DRAM製程工藝節點為1X nm,已接近極限,而Flash走到20 nm以下後,就朝3D製程轉型了。MRAM製程則可推進至10nm以下。
在過去幾年裏,包括台積電、英特爾、三星、格羅方德等晶圓代工廠和IDM,相繼大力投入MRAM 研發,而且主要着眼於STT-MRAM,也有越來越多的嵌入式解決方案誕生,用以取代Flash、EEPROM和SRAM。
- 台積電
早在2002年,台積電就與工研院簽訂了MRAM合作發展計劃。近些年,該公司一直在開發22nm製程的嵌入式STT-MRAM,採用超低漏電CMOS技術。
2018年,台積電進行了eMRAM芯片的「風險生產」,2019年生產採用22nm製程的eReRAM芯片。
2019年,台積電在嵌入式非易失性存儲器技術領域達成數項重要的里程碑:在40nm製程方面,該公司已成功量產Split-Gate(NOR)技術,支持消費類電子產品應用,如物聯網、智慧卡和MCU,以及各種車用電子產品。在28nm製程方面,該公司的嵌入式快閃存儲器支持高能效移動計算和低漏電製程平台。
在ISSCC 2020上,台積電發佈了基於ULL 22nm CMOS工藝的32Mb嵌入式STT-MRAM。該技術基於台積電的22nm ULL(Ultra-Low-Leakage)CMOS工藝,具有10ns的極高讀取速度,讀取功率為0.8mA/MHz/bit。對於32Mb數據,它具有100K個循環的寫入耐久性,對於1Mb數據,具有1M個循環的耐久性。
它支持在260°C下進行90s的IR迴流焊,在150°C下10年的數據保存能力。它以1T1R架構實現單元面積僅為0.046平方微米,25°C下的32Mb陣列的漏電流僅為55mA。
目前,台積電已經完成22nm嵌入式STT-MRAM技術驗證,進入量產階段。在此基礎上,該公司還在推進16 nm 製程的STT-MRAM研發工作。
除了MRAM,台積電也在進行着ReRAM的研發工作,並發表過多篇基於金屬氧化物結構的ReRAM論文。
工研院電光所所長吳志毅表示,由於新興存儲技術將需要整合邏輯製程技術,因此現有存儲器廠商要卡位進入新市場,門檻相對較高,而台積電在這方面具有先天優勢,因為該公司擁有很強的邏輯製程生產能力,因此,台積電跨入新興存儲市場會具有競爭優勢。
據悉,工研院在新興存儲技術領域研發投入已超過10年,通過元件創新、材料突破、電路優化等方式,開發出了更快、更耐久、更穩定、更低功耗的新一代存儲技術,目前,正在與台積電在這方面進行合作。未來,台積電在新興存儲器發展方面,工研院將會有所貢獻,但具體內容並未透露。
- 三星
三星在MRAM研發方面算是起步較早的廠商,2002年就開始了這項工作,並於2005年開始進行STT-MRAM的研發,之後不斷演進,到了2014年,生產出了8Mb的eMRAM。
三星Foundry業務部門的發展路徑主要分為兩條,從28nm節點開始,一條是按照摩爾定律繼續向下發展,不斷提升FinFET的工藝節點,從14nm到目前的7nm,進而轉向下一步的5nm。
另一條線路就是FD-SOI工藝,該公司還利用其在存儲器製造方面的技術和規模優勢,着力打造eMRAM,以滿足未來市場的需求。這方面主要採用28nm製程。
三星28nm製程FD-SOI(28FDS)嵌入式NVM分兩個階段。第一個是2017年底之前的電子貨幣風險生產,第二個是2018年底之前的eMRAM風險生產。並同時提供eFlash和eMRAM(STT-MRAM)選項。
該公司於2017年研製出了業界第一款採用28FDS工藝的eMRAM測試芯片。
2018年,三星開始在28nm平台上批量生產eMRAM。2019年3月,該公司推出首款商用eMRAM產品。據悉,eMRAM模塊可以通過添加三個額外的掩膜集成到芯片製造工藝的後端,因此,該模塊不必要依賴於所使用的前端製造技術,允許插入使用bulk、FinFET或FD-SOI製造工藝生產的芯片中。
三星表示,由於其eMRAM在寫入數據之前不需要擦除週期,因此,它比eFlash快1000倍。與eFlash相比,它還使用了較低的電壓,因此在寫入過程中的功耗極低。
2018年,Arm發佈了基於三星28FDS工藝技術的eMRAM編譯器IP,包括一個支持18FDS (18nm FD-SOI工藝)的eMRAM編譯器。這一平台有助於推動在5G、AI、汽車、物聯網和其它細分市場的功耗敏感應用領域的前沿設計發展。
2019年,三星發佈了採用28FDS工藝技術的1Gb嵌入STT-MRAM。基於高度可靠的eMRAM技術,在滿足令人滿意的讀取,寫入功能和10年保存時間的情況下,可以實現90%以上的良率。並且具備高達1E10週期的耐久性,這些對於擴展eMRAM應用有很大幫助。
2019年底,Mentor宣佈將為基於Arm的eMRAM編譯器IP提供IC測試解決方案,該方案基於三星的28FDS工藝技術。據悉,該測試方案利用了Mentor的Tessent Memory BIST,為SRAM和eMRAM提供了一套統一的存儲器測試和修復IP。
- Globalfoundries(格羅方德半導體股份有限公司)
2017年,時任Globalfoundries首席技術官的Gary Patton稱,Globalfoundries已經在其22FDX(22nm製程的FD-SOI工藝技術)製程中提供了MRAM,同時也在研究另一種存儲技術。
由於Globalfoundries重點發展FD-SOI技術,特別是22nm製程的FD-SOI,已經很成熟,所以該公司的新興存儲技術,特別是MRAM,都是基於具有低功耗特性的FD-SOI技術展開的。
今年年初,Globalfoundries宣佈基於22nm FD-SOI 平台的eMRAM投入生產。該eMRAM技術平台可以實現將數據保持在-40°C至+125°C的温度範圍內,壽命週期可以達到100,000,可以將數據保留10年。該公司表示,正在與多個客户合作,計劃在2020年安排多次流片。
據悉,該公司的eMRAM旨在替代NOR閃存,可以定期通過更新或日誌記錄進行重寫。由於是基於磁阻原理,在寫入所需數據之前不需要擦除週期,大大提高了寫入速度,宏容量從4-48Mb不等。
- 英特爾
英特爾也是MRAM技術的主要推動者,該公司採用的是基於FinFET技術的22 nm製程。
2018年底,英特爾首次公開介紹了其MRAM的研究成果,推出了一款基於22nm FinFET製程的STT-MRAM,當時,該公司稱,這是首款基於FinFET的MRAM產品,並表示已經具備該技術產品的量產能力。
結語
由於市場需求愈加凸顯,且有各大晶圓廠大力投入支持,加快了以MRAM為代表的新興存儲技術的商業化進程。未來幾年,雖然DRAM和NAND Flash將繼續站穩存儲芯片市場主導地位,但隨着各家半導體大廠相繼投入發展,新興存儲器的成本將逐步下降,可進一步提升 MRAM等技術的市場普及率。
原文:
https://mp.weixin.qq.com/s/sMZ0JwclWf1zAEPkW8Rn0Q
eeprom 讀 寫 在 OSSLab Geek Lab Facebook 的最佳貼文
https://www.facebook.com/photo.php?fbid=10216019118603397
分享資安前輩 Kuon大大文
剛好上禮拜收到了一座 WD DUO 3TB*2 Raid 1
用戶說沒有設定密碼
就算沒有設定用戶密碼 一樣有eDEK密鑰
預設就是全扇區AES硬體加密
拿起昂貴資料救援設備來分析.
PC3000 跟MRT,從韌體Module 25,38讀出來
WTF?Keyblock (eDEK不正確)解密錯誤...
好 OSSLab Geek Lab還算看得懂論文跟原始碼
eDEK除了韌體外,在硬碟Lba也有備份
https://github.com/andlabs/reallymine/issues/45…
不同晶片的 Keyblock LBA位置
3 TB 5860528160
3 TB 5860529539
3 TB 5860533120
都翻過了 都是00 都沒有eDEK...
學前文Kuon大大查簽名
57 44 76 31
53 59 4D 57
53 49 6E 45
57 44 01 14 都失敗.
https://github.com/andlabs/reallymine/issues/15…
這案子搞到頭有點痛..看起來是都沒有人對WD DUO JMS561做過完整加解密分析.如果如同前文只是主控版損壞那就簡單..晚點再從與Usb to Bridge EEPROM內找看看eDEK
看不懂前文請先看這篇
https://www.osslab.com.tw/wd-usb-aes-recovery/
資料救援真的不一定會100%成功,只是我們會盡力研究與處理.
#OSSLab
咚!
#資料救援
這兩天剛好有朋友資料掉了,也是 WD 外接硬碟系列,來分享我今年的處理過程。
這篇會是個長篇,各位看倌要有心理準備 XD
也因為早就預期是個長篇,所以想了很久卻一直沒有開動。
====
[為什麼需要救援]
7 月份辦公室事故,樓下的高溫粒子沿著 1) 管道間 或 2)玻璃帷幕與牆壁中間的夾縫 亂竄,管道間旁,除了窗戶冷氣外,還堆了一堆易燃雜物 (紙 & 塑膠包材),這些雜物熔點一到自燃,所以我在路邊吃冰淇淋的時候,可以看到火苗從窗戶冒出。
吃冰淇淋的同時,我念茲在茲的只有硬碟(裡面的資料),因為備份用的幾十 TB 硬碟平常是離線儲存,擺在鐵櫃裡,而鐵櫃離火源非常接近....
幸好火源在窗戶旁邊,所以很快被發現並被撲滅。
到我可以進入現場,第一件事情就是開鐵櫃,手摸到鐵櫃的第一感覺,更,鐵櫃是溫熱的 :(
最重要的那顆 16TB 硬碟,是鐵櫃內最靠近火源的角落,連外包裝的紙盒都是燙的...,而且紙盒的底部,黏在鐵櫃上,我用力拔出來...
熔化了 :( 心都涼了!(拍一下驚堂木)
由於 1) 當時已經晚上 6 點左右,雖是夏日但天色已晚,室內當然因為事故無光源 2) 事故中間,開放進入現場不到 5 分鐘又撤離,二次燃燒
所以,為了避免可能的三次燃燒(?),當下我就把 16TB 隨手一扔,連放進可以上鎖的鐵櫃都沒有,先搶救其他設備,逃離現場。
因為我以為沒救了。物理毀損ㄟ...
====
[取出硬碟]
事後回想,把那顆硬碟隨便一丟,是個 #潛在的錯誤,因為如果後來建築物又發生什麼狀況,那硬碟可能就真的找不回來了。
我使用的外接硬碟,是 WD My Book Duo 16TB,USB 3.0,外觀可以參考 [1],是亮銀色的外觀。
事故第一晚,我想來想去,都覺得我太心急了,雖然那個外接盒,看起來快要 1/6 的比例熔掉,像是面積用 3x2 六等份排列時缺了一個角,是真的熔了一些東西。
硬碟外接盒,外包裝是紙盒,紙盒內還有一組保麗龍用來固定硬碟外接盒,紙盒在鐵櫃內,鐵櫃還在,紙盒和鐵櫃接觸面僅有焦掉,代表熔點低於這兩者,Google 查了一下保麗龍和塑膠熔點,研判是保麗龍和塑膠被(鐵櫃傳導熱度)熔掉,溫度僅需要 50C~60C,也查了硬碟工作時溫度,大概還撐得住 70C 高溫。
覺得應該慎重點,隔天就去把那顆熔掉的外接盒帶出來研究。
這個外接盒是自帶 2 顆硬碟的,買來插電就可以使用,所以原本也不知道裡面長什麼樣。
前面所提到的,亮銀色部分,研判是熱塑型塑膠,遇熱整個都軟化變形了,變形完一冷,就又固定住了,也就變得很難拆。
我在拆解的時候,很怕塑膠去黏到硬碟的軟板或是堵住氣孔,那就麻煩了,幸好沒有。原來,塑膠裡面是一個(有各種小孔呈網狀的)鐵盒子,硬碟和控制電路板,都在鐵盒子裡面,變形過的塑膠只有黏在鐵盒子外圍。
鐵盒子打開後,硬碟除了有碳粒附著和焦味外,外觀看起來都沒有受損。硬碟拆下來,我就把鐵盒子和塑膠丟掉了。
====
[資料救援前置作業]
事後回想,那個鐵盒子上面還有控制電路版,我在沒有確認電路板(或上面的 ROM)是壞掉的狀況下,就把它丟掉(因為塑膠碎片整個卡在上面,不想聞那個味道),是個 #潛在的嚴重錯誤。萬一外接盒的 1)控制晶片 2) I/O 演算法 3) 金鑰產生方式,依賴硬體,那我就真的救不回來了!!
獲得硬碟之後,因為外接盒(殘骸和那個鐵盒子)被我丟了,所以要再買一組新的。
當我上去 PCHome 看時 (原本的也是 PCHome 買的),我找到的是 [2],同樣都是 WD My Book Duo 16TB,[1] 和 [2] 的區別在一個是 USB 3.0,新的是 USB 3.1。
舊款 USB 3.0 的在別的購物平台有賣,牌價要 2 萬多,新款 3.1 的只要 1 萬 6。
#第一個抉擇來了,要買新款還是舊款?新款便宜個好幾千元,I/O 傳輸速度還比較快 ...
後來我決定打電話,問 WD 的代理商聯強,我還記得是在高鐵接駁車回台南市區的路上。舊款各種容量它們庫存都還有貨,但 16TB 的只剩一台。
#第二個抉擇來了,如果控制晶片都一樣,要買最小容量 6TB 就好,還是要跟原本一樣,買到 16TB?這關乎到 $$$$$$ 啊 ...
我後來決定買舊款,因為我怕新款的控制晶片不同顆,而且買了一樣容量 16 TB,因為在跟聯強工程師通話過程中,得知一個資訊,我覺得我得 Sector-by-Sector 複製了 ....
聯強:「WD 這個系列有 AES 加密」
我 :「我知道,但我沒有開啟,我也沒設過密碼」
聯強:「#就算你沒有設密碼_它還是有一組預設金鑰_而且是硬體加密」
我 :「...」(我瞬間知道這代表的意義,以及對救援難度的增加!!)
SATA-to-USB 轉接線,由於我手上原本的線材也在辦公室,當然得重買新的,跑去北門路買了 2 條。
====
[第一次救援]
在真的討論救援前,讓大家瞭解一下目前的資料架構。
軟體 -- USB -- 硬體
軟體: Data -- Linux EXT4 -- Linux LUKS -- USB
硬體: USB -- Firmware -- HDD
其中,LUKS 作了一次加密,Firmware 層又作了一次加密。也就是將硬碟拔出外接盒的時候,是 2 層加密,LUKS 的密碼是我設的,外接盒 Firmware 設的密碼,#我不知道!!
舊的外接盒中的硬碟,稱為舊硬碟,新的類推。
由於不知道新的控制晶片,會不會偷偷寫入 metadata 到舊硬碟,我不敢貿然的將舊硬碟插入新的外接盒,所以,我直接用 2 條 USB-to-SATA 傳輸線,採用 Linux dd 整顆對拷。
對了,我在拆舊硬碟的時候,有特別注意硬碟的順序。
每一次 copy 前,我都會檢查 3 次命令列參數和磁碟資訊,看看 if 和 of 有沒有設反 (設反就會把舊硬碟資料覆蓋過去....)
#三十小時過去,16 TB 總算拷完
拷完將新硬碟插回新的外接盒 (儘量不使用舊硬碟),這樣就搞定收工了。
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案,透過 USB-to-SATA 傳輸線直接對新硬碟 I/O,直接在這層就先破密,不使用外接盒。
為什麼會有備案呢,因為我以前讀過 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" 這系列文件 (參考附圖一),知道 WD 外接盒系列加密演算法有漏洞,想說趁這個機會練習一下。
找了一些 GitHub 專案,要來對 WD 外接盒加密過的硬碟,進行破密,結果一直出現錯誤訊息,回去看 Source Code,發現是 Signature 找不到。
回去對照簡報檔 和 Source Code,發現外接盒 Firmware 會將 Metadata 存到硬碟的尾部,為了識別 Metadata,有一組固定的常數 Signature。
沒有找到 Signature,當然就意味著無法讀取正確的 Metadata。仔細讀過工具的 Source Code,發現沒有支援 8TB 的 offset (用來定位硬碟尾部位置),新增了一組我自己算的 offset,還是沒有找到。
有可能是我算錯,所以我改寫了工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。
囧了,只好直接拿起 Linux hd 指令,看 hexdump 結果,在我搜尋許多位置後,在 4TB 位置,觀察到一件事,就是 4TB 之後的內容都是 0x00!!
不對啊,我記得我這組外接硬碟使用超過 2/3 了,在有加密的情況下 (而且這個情況是雙重加密),不可能大量的 0x00 啊 ...
我重新思考了所有可能性,最後,發現了一件事情,我新買的 USB-to-SATA 傳輸線,外包裝盒寫著 "支援 4TB",它又沒說是 "最大支援 4TB" 阿 @@ TMD 採到雷!!!
我要找的 signature 會配置在硬碟的尾部,也就是 4TB~8TB 之間,傳輸線讀不到,當然找不到。
====
[第二次救援]
第一次救援的時候,我們家三寶還沒出生,中間那個禮拜特別忙,忙完三寶就出來 "Hello World!!\n" 了,所以,第二次救援已經是在月子中心處理的 XD
這次不用(雷雷的) USB-to-SATA 傳輸線了,請家裡人從光華帶了一台 4bay 的外接盒,有確認支援到單顆 8TB,而且故意挑沒有 RAID 功能。
#RAID!各位看完前面的描述,都沒有人注意到這件事情。WD My Book Duo 的 16TB,是由 2 顆 8TB WD 紅標組成。
當外接盒 WD My Book Duo 插進電腦時,預設只會出現一顆外接硬碟。也就是說,這個外接盒的預設模式,要麼是 JBOD 要麼是 RAID 0 (以下通通簡稱 RAID-like)。這也是我前面提到,我必須特別注意,2 顆 8TB 硬碟順序的原因。
#六十小時過去,真 16 TB 總算拷完
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案的備案,不對,我沒有備案的備案了阿...
我用前面提到的改寫過的工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。但硬碟尾部是有亂碼資料沒錯。
重新翻閱文件 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" ,你會發現文件是針對 WD 的 My Book 和 My Passport 系列的外接盒,這些都是單顆硬碟的外接盒。我的是 My Book Duo,多了個 Duo 也就多了個 RAID-like 的行為。
很好,我的情況 no prior art .... 那麼現在的硬體處理資料的流程將會是:
#第一種可能,USB -- AES -- RAID-like -- HDD
#第二種可能,USB -- RAID-like -- AES -- HDD
#第三種可能,USB -- 我不知道 -- HDD
而韌體面,Signature 也有可能換一個未知的,但這點和上面的資料流程,都非得對韌體逆向工程才會知道。
我甚至都已經想過,寫 Linux 上的 FUSE 或 dm-* module,自己疊 RAID-like + AES 的透明轉換層 ... 如果我知道 AES 的 Key 的話,#可是我不知道阿。
坦白說,這個時候,我心都涼了,#我真的覺得救回來的機率很渺茫了。
要特別注意,這時候無論是新硬碟在 WD My Book Duo 裡面或是 4bay 外接盒,都無法正確判斷是 LUKS。
我可是 dd 的說,雖然不是 ddrescue,但拷貝過程就算有 bit error,對解密的錯誤擴散過程,也相當有限阿,除非好死不死,bit error 剛好發生在 Metadata 結構吧。
====
[第三次救援]
#這時候有馬比無馬好,有馬才能當活馬醫 XDD
我想說,好,至少我已經有一份 1:1 的備份了,把舊的硬碟按順序,插上新的 WD My Book Duo。
視窗彈出來了,不是小算盤,是 GNOME Disk 彈出來要求我輸入 LUKS 密碼的輸入框,嘿嘿,輸入密碼,16TB Get Back :)
這次前面有一些錯誤,資料能 100% 救回來,真的是運氣好。另外,也是 WD 的演算法有考慮到一些東西,至少沒有完全依賴控制電路板。
#我都已經準備好要逆向韌體了,雖然好玩,但還是資料救回來比較重要!
====
#自己的硬碟自己救
收工。
[1] https://support.wdc.com/product.aspx?ID=134&lang=en
[2] https://24h.pchome.com.tw/prod/DRAA6H-A9008G9W6?fq=/S/DRAA6H
#牆壁文