首頁
産品中心
新聞中心 加入得一 關于得一
首頁 技術Blog Blog發布
閃存的遺忘
發布時間:2023.11.27

01 記憶與遺忘


        正如艾賓浩斯記憶曲線所示:輸入的信息經過人腦的注意過程後被學習,學習的信息進入人腦短時記憶。遺忘在學習後立即開始,若不及時加以複習,短時記憶中的信息就會被遺忘;但遺忘的速度并不均衡——遵循先快後慢的原則。


        任何記憶體都會遺忘,閃存也不例外。對于閃存,通常用出錯率(RBER)來衡量其對數據的遺忘程度。出錯率小于ECC糾錯能力的可以被糾錯,反之則沒法糾錯。沒法糾錯的數據就相當于被“遺忘”了。


        影響閃存遺忘的因素主要有以下三種:


1.1 Read Retry

        一般來說,閃存都是用默認的讀取參考電壓(Default Vread,簡稱DVread)來讀取。用默認Vread讀取的出錯率稱之為DRBER。采用最優的Vread讀取的數據的出錯率為最優RBER,記為ORBER。相同條件下,ORBER通常比DRBER要小很多。


        下圖為某一款閃存在1000P/E cycles,1年40℃保持時間下,某一個Block中所有Frame的出錯率頻度統計。其中Frame大小為1Kbyte+Parity。



        縱坐标是對應RBER的Frame個數。ECC是ECC糾錯能力。從上圖可以看出,DRBER很多都不能被ECC引擎糾錯。如果DRBER不能被ECC引擎糾錯,那麼就會啟動Read Retry流程。Read Retry就是逐步逼近ORBER的過程。


        下圖說明了Read Retry的實際效果。DR是默認Vread。虛線是之前的阈值分布,實線是現在的阈值分布。區域A是默認讀的出錯數,區域B+A是當前默認Vread讀出數據的出錯bit數。區域B就是增加的錯誤bit數。可以看出,默認讀出錯的增加是很恐怖的。所以需要Read Retry。


        而區域C和區域D則是前後最優Vread下出錯的個數。很顯然,不管是增加的出錯數還是絕對出錯數都是很少的。



        總結:Read Retry可以減少數據出錯率,使得數據出錯率趨近ORBER。


1.2 Retention與P/E cycle

        P/E cycle和Retention時間是經常一起出現的一對。很難脫離一個來說明另一個對出錯率的影響。由于DRBER變化過于劇烈,實際中傾向于用ORBER來衡量出錯率。


        下圖是以Retention Time這個維度來看一個Block平均ORBER的變化趨勢。(最大值離散性比較大,不容易看出規律)


        從圖上可以看出,出錯率随着時間的增加而增加,然後增加量卻在減小。P/E cycle越大,增加的速度也越大。


        這個趨勢跟遺忘曲線正好反過來。這一點很好理解。出錯越多,那麼遺忘度就越多。一開始出錯增加很快,遺忘率就下降很快。


        用對數函數來很好的拟合這個增減率:


        如果用P/E cycle這個維度來看待一個Block的平均ORBER,那麼情況會變得更加有趣。下圖是不同Retention時間下,出錯率跟P/E cycle的關系:



        如圖中所示,在P/E cycle大于100的時候,出錯率跟P/E cycle幾乎是呈線性。總結:P/E cycle越大,Retention時間越長,出錯率就越大,遺忘的信息也就越多。


1.3 溫度

        溫度加劇了混亂度,溫度對混亂度的加劇可以用著名的阿倫尼烏斯公式(Arrhenius equation )來定量描述:


        這個公式說明對于溫度T1下,保持時間t1等效于溫度T2下等效的保持時間t2。簡單的來說,就是對于Flash的出錯率來說,在溫度T1下保持t1時間,跟T2下保持t2時間是等效的。


        不過這個公式不能直觀的看出溫度的“威力”。下表可以充分展示這種威力。



        上表可以看出,120℃下,保持1個小時,相當于常溫20℃下保持7.37年。


        總結:高溫是閃存遺忘的一個重要原因,溫度越高,閃存遺忘信息也就越快。


02 延緩遺忘的做法


        我們人類延緩遺忘的有效方法就是複習。而閃存延緩遺忘的辦法更多,主要有以下幾種:


1. 增加ECC的糾錯能力

        這一點本質上是延緩了Flash的遺忘。糾錯能力強了,那麼可以保持的時間就更久。


2. 刷新

        時不時的去讀一下閃存,如果發現數據出錯超過一個阈值,那麼就把這些數據讀出來,重新寫入Flash的另一個Block。


3. Read Retry

        Read Retry可以減少數據出錯率,使得數據出錯率趨近最小出錯率。


4. 降低溫度

        降低溫度是一個有效的辦法,隻是對于普通存儲來說,降低溫度成本較高。



        矽格(SiliconGo)是得一微電子(YEESTOR)旗下全自主工業存儲品牌,提供全系列工業用存儲解決方案,專為工規/車規應用而設計打造。産品覆蓋2.5寸SATA SSD、mSATA SSD、M.2 SSD、U.2 SSD、BGA SSD、eMMC等規格類型,皆搭載得一微自研的主控芯片,具備完全自主知識産權。适用于各種極端環境,廣泛應用于軌道交通、工業電腦、服務器、視頻監控、網絡通訊、電力能源、智能家居、車載等多個領域。


        此外,得一微通過其在存儲控制芯片和存儲解決方案的深厚技術積累,以及對工業和汽車存儲需求的深刻理解,提供定制化的存儲解決方案,以滿足不同行業和應用的特殊需求。


分享到:
得一微微信公衆号
掃描二維碼,關注得一微