技術進步,與其說是技術人員的努力,不如說是無數使用者血淚控訴的結果……
事實上,在消費領域,因為異常掉電導致使用者整盤資料丟失的現象屢見不鮮,而ssd廠商基本沒有能力提供資料恢復工具(除非controller廠商願意提供給ssd廠商)。
那麼,異常掉電會導致那些問題的產生呢?
通常情況下,如果沒有斷電保護,固態硬碟會面臨三大問題:
1、丟盤,即,在重新上電之後,ssd無法被bios所識別,更無法登入os。
儘管廠商採取了各種技術手段,如:備份多份對映表,一旦發生錯誤進行對映表回滾等方式保證ssd最起碼不「丟盤」,從理論上看似乎比較穩妥,使用者最多就是損失一些最後寫入的資料。
但是,如果不進行額為的斷電保護設計,從實際測試結果看,效果並不理想,「丟盤」的現象仍舊存在較高的概率。
2、丟失快取中的資料
固態硬碟一般採用sdram或者ddr做快取,ddr屬易失性儲存介質,一旦斷電,ddr中的所有資料全部丟失。
3、導致誤判的「壞塊」增加
對於mlc來說,page通常是以shared page的方式存在,shared page實際上是乙個物理cell中的兩個bit在邏輯上被分配為到兩個page上,如果在program的過程中,lower page沒有被成功program,會導致這個cell的電壓傳送偏移,從而影響到upper page的資料,因此,如果錯誤bit數超過ecc糾錯能力,那麼,在重新上電讀取錯誤時,這個block會被作為壞塊對待。
實際的測試結果是,如果在program的過程中不停進行掉電,有些廠商的ssd會非常快的產生大量新增壞塊。
掉電保護的應對方案
掉電保護通常是通過超級電容或者鉭電容進行資料保護,兵哥工廠也使用過其他冷門方案,如:鈷酸鋰電池等。
超級電容:適合大容量ssd,原理上講,超級電容要麼可以過高溫、要麼可以過低溫,無法同時過高低溫,應用與生活於溫室之中的企業級方案或者消費級比較適合,因此,工業領域和軍工領域一般不會選擇使用超級電容,但是,實際的測試,超級電容是可以同時過高溫和低溫的,但一般不會冒險使用在環境苛刻的領域。
鉭電容:容量較小,但可以過高低溫,是軍工和工業常用電容,缺點是,當ssd容量很大時,需要很多顆電容,對有限的pcb面積來說是個嚴峻的挑戰。
掉電保護需要韌體和外圍電路兩方面的配合,異常掉電資料保護的原理是:超級電容(或者鉭電容)通過正常電源充電,在超級電容(或者鉭電容)輸入端及sata電源輸入端分別對輸入電源進行偵測,偵測電路連線到對應的gpio口。 電源發生突然斷電瞬間,由gpio反饋到firmware:埠5v斷電後,反饋給host,不再接收還未傳輸到ssd的資料;限流電路端(防止瞬間輸入電流過大擊穿硬體的保護電路)的偵測電路反饋到主控,切換電源輸入,轉由超級電容(或者鉭電容)**,滿足斷電後更新對映表及快取內資料寫入所需的電力。
框圖如下:
自從加了電容,一切看上去那麼完美,然而……
使用電容做斷電保護的安全隱患
眾所周知,電容跟電池一樣,在使用一定的期限後,會出現老化,即,充電後無法達到初始供電電量。假設,ssd使用3年以後,電容的供電量只有初始設計的一半,ssd的資料可靠性將如何保證?
更嚴重的隱患是:這個隱患目前似乎在整個行業內極少有人想起。換句話說,即使在保修期內,使用者的資料安全也是無法得到保障的。
兵哥告訴你乙個殘酷的事實:
這種方案好像解決了未來的掉電保護隱患,卻事實上卻帶來另外兩個更嚴重的問題:
1、重新啟動時可能會無法識別ssd,需要先關閉電源一段時間後,ssd才能被識別和啟動,因為ssd需要電容充分放電後才能被識別。
2、電容足夠大時,需要充電的時間就會變的很長,如果快速的做重新啟動並執行寫操作然後立即斷電,因為此時電容充電不足,將無法起到掉電保護作用,資料仍然會存在丟失或者對映表丟失的嚴重隱患,此所謂:過猶不及。
完美的解決方案到底有木有?
以下內容涉及專利內容,不便公開,但在事實上完美使用的解決了此問題:
rbackup意思為「rapid backup」,此項技術是香港理工大學邵教授的團隊與瑞耐斯共同為解決此問題而提出的革新技術,並形成了一項發明專利:《一種異常斷電時固態硬碟資料快速備份的方法及系統》,這項技術解決了在不改變電容數量的情況下,即使電容老化到初始設計值(正常使用值)的30%,剩餘的電量仍有足夠的能力將快取資料完整的寫入nand flash。
是否很完美?不用擔心重啟不了的問題,還可以保證使用者在保修期之後仍然安全無憂的使用ssd。
分級保護測評檢查技術方案
分級保護測評檢查技術方案 一 簡介 分級保護測評檢查技術方案,是根據國家保密局保密分級保護要求,採取從網路接入到單位區域網使用者終端一系列的軟,硬體保護方法。不僅僅是要通過分級保護測評檢查,更重要的是使使用者單位的網路,通訊,電源,無線訊號,電磁資訊得到有效安全的遮蔽,隔離,檢查和過濾 使使用者單位...
Linux掉電保護方案設計
2.軟體增強 裝置異常掉電,通常是嵌入式裝置不得不面對的難題。如果處理不當,異常掉電會造成檔案系統損壞 資料丟失,嚴重者還會造成外部器件的損壞。乙個完備的掉電保護方案,從原理上講,可以從以下幾個方面進行加強 硬體掉電保護電路主要提供了以下功能 1 提供了24v掉電檢測和5v掉電檢測功能。sign 5...
談談高速SSD資料保護及卷管理
在計算機領域,有乙個問題一直困擾大家很多年,這個問題就是io效能瓶頸問題。隨著cpu效能的不斷提公升,io和cpu之間的效能差距變得越來越大,這種差距也就是計算機領域著名的 剪刀差 問題。圍繞著這個 剪刀差 問題,提出了一系列的理論及方法 多級儲存 快取 針對磁碟的效能優化。ssd半導體儲存介質的出...