不使用雙儲存單元 EEPROM,資料很容易遺失
身為工程師,在您的職業生涯中,有許多時間都有個人筆記型電腦相伴。我一開始使用 IBM 的 ThinkPad 系列,因為其具備紮實的構造,而且非常可靠。我曾擁有一部 ThinkPad 560x,在 20 年前可說是可攜式電腦,因為沒有光碟機或軟碟機 (還記得這些裝置嗎?)。但最終還是被另一台筆記型電腦取代,再由另一台取代,然後無止盡循環。
大約十年前,我決定組裝一部數位家庭音響系統,並由一台美觀小巧,不太佔用層架空間的筆記型電腦控制。針對此任務,賦予老舊硬體新的用途是合理的做法。對 ThinkPad 560X 的 Pentitum 處理器來說,要讓內建的 3.5 mm 磁碟機當作音訊輸出裝置並沒有問題,因此我將筆電從倉庫中取出,並此以為基礎打造我的家庭音響系統。
我在晴朗的星期天早上將筆記型電腦開機,就可一邊品嚐咖啡,一邊透過喇叭聆聽「肉塊合唱團」的歌曲。那是正常不過的週日早晨,直到幾秒鐘後,我聽到 ThinkPad 的喇叭發出:
嗶嗶嗶! 嗶嗶嗶!
熟悉老舊 BIOS 系統的人,聽到筆記型電腦在開機自我檢測 (POST) 時不斷發出蜂鳴聲,應該都會陷入恐懼。我望向螢幕,看到三位數的 POST 錯誤碼。
我在每天使用的筆電上搜尋此錯誤碼資訊,希望或許只是筆電不喜歡我的音樂品味而已。唉,這代碼告訴我,用來保留 BIOS 配置的 EEPROM 再也不想保存資料。不管重新啟動多少次都無濟於事,已經壽終正寢了。
進一步調查發現,ThinkPad 當時將其 BIOS 配置資料儲存在主機板焊接式序列 EEPROM 中。EEPROM 技術在當時仍不斷演進,且半導體製造商努力讓裝置的運作速度加快且更加可靠,同時改善資料的保留能力並降低成本。
我將筆記型電腦放在倉庫且偶爾會開機,希望某天會成功啟動讓我驚喜,但就像任何已變質的關係一樣,再也回不去了。
如今,EEPROM 的資料保留能力比以往更加重要。物聯網 (IoT)、工業 IoT (IIOT) 和節點都要求更長的資料保留時間,同時還要提高可靠性,因此 EEPROM 製造商都大幅改進,讓資料安全保留長達數十年。
舉例來說,ROHM Semiconductor 就提供一系列汽車級 EEPROM,可達到超長久的資料保留時間和可靠性。BR24G64NUX-3ATTR 是採用 I2C 介面的 64 Kbit 車用 EEPROM,ROHM 指明其擁有超過 40 年的資料保留能力以及超過 100 萬次的寫入週期。此元件採用 8 引腳的 UFDFN 裸焊盤封裝(圖 1)。I2C 序列介面能在 1.7 至 5.5 VCC 範圍內,以 1 MHz 速度與主機微控制器介接。
圖 1:BR24G64NUX-3ATTR 是 64 Kbit 的 EEPROM,具有雙儲存單元記憶體結構,可保留資料超過 40 年。(圖片來源:ROHM Semiconductor)
BR24G64 EEPROM 系列具有多種資料保護功能。寫入保護 (WP) 引腳能讓外部電路對 EEPROM 資料施加硬體式寫入保護。當 WP = GND,可允許寫入資料。當 WP = VCC,會阻止任何資料寫入到 EEPROM 記憶體陣列中。允許讀取,也可允許對內部暫存器進行讀取和寫入。在外部事件與寫入操作發生衝突時,這有助於預防微控制器主機韌體寫入到 EEPROM。
在正常操作下,許多 EEPROM 單位元故障並不會發生,但會在短暫啟動和斷電事件期間發生。這些事件會造成雜散的低電壓暫態,會導致意外產生的寫入訊號施加到 EEPROM 儲存單元,進而導致單位元故障。為了避免此情況,ROHM 的車用 EEPROM 具有兩個內部保護電路。開機重置保護電路會等到 VCC 上升到最低內部電壓,再將 VCC 施加到晶片的其餘部分。如此即可避免內部低壓暫態,並可確保 EEPROM 記憶體陣列不會在開機期間受損。第二種電路是欠壓保護電路,可在 VCC 下降太多時,避免對記憶體進行無關的寫入。如果 VCC 低於最低工作電壓,EEPROM 會自行重置,避免 EEPROM 假性寫入。
EEPROM 資料記憶體的設計可達到快速讀取操作和相對快速的寫入。EEPROM 以電子通過穿隧氧化物薄膜的方式將資料寫入到記憶體儲存單元中。薄膜會隨著時間和溫度而衰退,且儲存單元的每次寫入都會讓薄膜退化。即使處於存放狀態,高溫也會讓薄膜衰退。儲存單元最終會衰退,導致記憶體位元故障,而讓儲存單元停留在邏輯 1 的位置。這就是 EEPROM 多年來不斷受到單位元記憶體故障困擾的原因,也是我將 ThinkPad 560X 開機要播放「肉塊合唱團」歌曲時發生的悲劇。EEPROM 壽終正寢後,560X 顯示了核對和故障的代碼,正式宣告由單位元故障引發的悲慘結局。
ROHM 的車用 EEPROM 針對各個記憶體位元採用雙儲存單元結構。感測電路會監測第一個儲存單元的狀態。若儲存單元即將故障,第二個單元就會在第一個單元停用時介入操作。雖然這會讓晶粒尺寸變大,但可達到 40 年的資料保留時間,以及超過 100 萬次的寫入週期。嗯,就像肉塊合唱團的歌曲《Two Out of Three Ain’t Bad》,這樣已經不錯了。
結論
如果 ROHM Semiconductor 在大約 20 年前就推出高可靠度車用 EEPROM,我的 ThinkPad 560X 現在還可播放音樂,而不只是不停發出嗶嗶聲而已。嗶!緬懷於晴朗週日早晨當之無愧的消逝。

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum