五部門關(guān)于開展2024年新能源汽車下鄉(xiāng)活動(dòng)的通知
提高非易失性存儲(chǔ)系統(tǒng)的可靠性
提高非易失性存儲(chǔ)系統(tǒng)的可靠性駕駛輔助系統(tǒng) (ADAS)、醫(yī)療和工業(yè)應(yīng)用等復(fù)雜系統(tǒng)需要可靠、安全和安全。在這些系統(tǒng)中,固件和相關(guān)數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器 (NVM) 中,因?yàn)樵跀嚯姇r(shí)
駕駛輔助系統(tǒng) (ADAS)、醫(yī)療和工業(yè)應(yīng)用等復(fù)雜系統(tǒng)需要可靠、安全和安全。在這些系統(tǒng)中,固件和相關(guān)數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器 (NVM) 中,因?yàn)樵跀嚯姇r(shí)必須保留代碼和數(shù)據(jù)。因此,NVM 在系統(tǒng)可靠性方面起著至關(guān)重要的作用。
NVM 可靠性可以用兩種方式表示:數(shù)據(jù)保留時(shí)間和循環(huán)耐久性。保留時(shí)間決定了 NVM 可以保存數(shù)據(jù)和代碼可靠性的時(shí)間。耐久性衡量 NVM 可以被重寫多少次并且仍然可靠地保存數(shù)據(jù)和代碼。為了抵消這些限制,設(shè)計(jì)人員通常采用特殊的主機(jī)軟件和/或硬件,例如采用磨損均衡和/或錯(cuò)誤代碼校正 (ECC) 技術(shù)的閃存文件系統(tǒng),以確保數(shù)據(jù)自上次寫入后未發(fā)生更改。這些措施會(huì)導(dǎo)致系統(tǒng)開銷,通常會(huì)對性能產(chǎn)生負(fù)面影響。此外,復(fù)雜的補(bǔ)救措施會(huì)降低系統(tǒng)的穩(wěn)健性,尤其是在電源故障期間 NVM 運(yùn)行的情況下。
今天的 NVM 內(nèi)存采用下一代技術(shù)來提高 NVM 的可靠性。Cypress 等公司憑借其 Semper NOR 閃存引入了片上 ECC 和內(nèi)部磨損均衡等先進(jìn)措施,以顯著提高閃存 NVM 的保持力和耐用性(見圖 1)。
點(diǎn)擊查看大圖
圖 1:今天的 NVM 存儲(chǔ)器,如此處顯示的 Semper NOR 閃存架構(gòu),集成了先進(jìn)的措施來顯著提高 NVM 的保留和耐用性。(:賽普拉斯半導(dǎo)體)
保持力和耐力
NVM 設(shè)備需要確保數(shù)據(jù)的準(zhǔn)確存儲(chǔ)并且長期可用。同時(shí),系統(tǒng)需要能夠頻繁更新數(shù)據(jù),這會(huì)導(dǎo)致存儲(chǔ)介質(zhì)性能下降,從而影響其長期存儲(chǔ)數(shù)據(jù)的能力。通常,閃存設(shè)備的耐久性與設(shè)備在不丟失數(shù)據(jù)的情況下可以維持的編程/擦除 (P/E) 周期數(shù)有關(guān)。保留和耐久性也受用例(即,如何應(yīng)用編程/擦除/讀取操作)和使用環(huán)境(即,特別是電壓和溫度)的影響。
當(dāng)發(fā)生故障時(shí),無論故障機(jī)制如何,閃存單元中的位都會(huì)損壞。結(jié)果是存儲(chǔ)在單元格中的信息丟失。誤碼率 (BER) 為評估損壞提供了一個(gè)通用的可靠性指標(biāo),并用于定義特定應(yīng)用程序的預(yù)期可靠性。
隨著 NVM 設(shè)備轉(zhuǎn)向更先進(jìn)的技術(shù)節(jié)點(diǎn),滿足目標(biāo) BER 以獲得所需的保留和耐用性組合變得更加困難。原因是節(jié)點(diǎn)更小。因此,它們提供的面積更小,因此存儲(chǔ)信息的電荷更少。以更少的費(fèi)用存儲(chǔ)相同的信息使得閃存設(shè)備的可靠性更難以維護(hù)。
解決可靠性問題的選項(xiàng)
基本上有兩種提高 NVM 可靠性的選擇:
限度地減少位錯(cuò)誤的發(fā)生
糾正已發(fā)生的位錯(cuò)誤
可以通過減少由于編程/擦除循環(huán)引起的單元退化來化位錯(cuò)誤發(fā)生的可能性。這可以通過將此類循環(huán)的“磨損”均勻分布在設(shè)備中的所有單元上來實(shí)現(xiàn),其方式是限度地減少某些單元對重復(fù)存儲(chǔ)/擦除信息的暴露。例如,頻繁寫入同一地址/單元格時(shí)會(huì)發(fā)生過度磨損。傳播磨損的標(biāo)準(zhǔn)技術(shù)稱為磨損均衡 (WL)。
可以使用糾錯(cuò)碼 (ECC) 技術(shù)糾正已發(fā)生的錯(cuò)誤。ECC 技術(shù)被廣泛部署,因此這里不再進(jìn)一步討論。有關(guān)詳細(xì)信息,請參閱自動(dòng) ECC。相反,本文的其余部分將重點(diǎn)介紹使用磨損均衡來改善系統(tǒng)的 BER。
有兩種主要類型的磨損均衡:
由主機(jī)軟件實(shí)現(xiàn)的外部磨損均衡,通常作為閃存文件系統(tǒng) (FFS) 的一部分
內(nèi)部磨損均衡集成在 NVM 設(shè)備本身中,通常由集成 CPU 管理
外部磨損均衡的主要限制是需要能夠執(zhí)行任務(wù)的主機(jī)處理器。對于大量也沒有能力運(yùn)行閃存文件系統(tǒng)的小型系統(tǒng)來說,情況通常并非如此。如果 NVM 可以在不需要主機(jī)幫助的情況下滿足其自身的可靠性目標(biāo),則此類應(yīng)用程序?qū)⑹芤娣藴\。在 NVM 中集成磨損均衡,可以顯著提高小型應(yīng)用程序的可靠性。較大的系統(tǒng)也可以受益于內(nèi)部磨損均衡。在 NVM 中集成磨損均衡大大簡化了系統(tǒng)設(shè)計(jì),因?yàn)楣こ處煙o需開發(fā)自己的磨損均衡軟件,然后驗(yàn)證它是否符合各種安全標(biāo)準(zhǔn)。
內(nèi)部磨損均衡
Wear Leveling 是通過將邏輯地址映射到物理地址來實(shí)現(xiàn)的。邏輯地址呈現(xiàn)給用戶。在部件的生命周期內(nèi),磨損均衡功能動(dòng)態(tài)地將這些邏輯地址映射到不斷變化的物理地址,以保持物理地址上編程/擦除周期的均勻分布。由于擦除操作影響一組地址(通常稱為扇區(qū)或塊),磨損級別映射具有扇區(qū)粒度(相對于單個(gè)字節(jié)或字)。
步是將存儲(chǔ)設(shè)備的地址空間劃分為用戶可訪問的分區(qū),用于存儲(chǔ)用戶數(shù)據(jù)和代碼(請參閱邊欄:分區(qū)),以及用于存儲(chǔ)用戶不可訪問的磨損均衡元數(shù)據(jù)的分區(qū)。元數(shù)據(jù)包括有關(guān)邏輯到物理扇區(qū)映射的信息以及斷電元數(shù)據(jù)(請參閱下面的電源故障)。
邊欄:分區(qū)
第二級 NVM 分區(qū)使開發(fā)人員能夠配置單個(gè) NVM 設(shè)備以實(shí)現(xiàn)長期保留和高耐用性。例如,一個(gè)代碼分區(qū)可以提供 25 年的保留,而在同一個(gè) NVM 設(shè)備中,可以配置一個(gè)數(shù)據(jù)分區(qū)(即文件系統(tǒng)使用、數(shù)據(jù)記錄等)以支持大約 100 萬次編程/擦除的耐久性周期。側(cè)邊欄圖顯示了此類分區(qū)的示例。
點(diǎn)擊查看大圖
側(cè)邊欄圖:下一代NOR Flash支持二級分區(qū),支持代碼和系統(tǒng)參數(shù)的長期保留,以及數(shù)據(jù)記錄等應(yīng)用的高耐久性。(:賽普拉斯半導(dǎo)體)
每個(gè)分區(qū)都可以像傳統(tǒng) NOR 設(shè)備一樣使用。配置和設(shè)置分區(qū)后,開發(fā)人員無需進(jìn)一步努力來管理和使用分區(qū)。
交換候選人將從“高耐力”分區(qū)中的扇區(qū)中選擇。所有這些扇區(qū)構(gòu)成了所謂的磨損均衡池。由于“Long Retention”分區(qū)被排除在磨損均衡池之外,“Long Retention”中的扇區(qū)將永遠(yuǎn)不會(huì)被交換,從而限度地保留它們。
磨損均衡只能應(yīng)用于用戶地址空間。這意味著包含磨損均衡元數(shù)據(jù)的地址空間不受磨損均衡功能管理。因此,通過提供冗余來保證該地址空間的可靠性。這是基于單元內(nèi)的冗余以及通過將數(shù)據(jù)存儲(chǔ)在多個(gè)單元中提供的冗余。對該機(jī)制的詳細(xì)討論超出了本文的范圍。
每當(dāng)用戶地址空間中的扇區(qū)被擦除并超過給定閾值時(shí),將啟動(dòng)重新映射或交換操作并更新扇區(qū)映射。由于編程/擦除操作相對較慢(幾毫秒),與擦除操作本身相比,重新映射和更新映射表的時(shí)間可以忽略不計(jì)。
但是,還需要訪問邏輯到物理映射信息以進(jìn)行讀取操作。與編程/擦除操作相比,讀取訪問需要在納秒內(nèi)完成。為了提供這樣的性能,存儲(chǔ)在專用閃存地址空間中的映射信息需要在上電 (POR) 期間鏡像到快速 RAM 設(shè)備中并保存在那里(見圖 2)。
點(diǎn)擊查看大圖
圖 2:磨損均衡映射信息需要在快速 RAM 中進(jìn)行鏡像,以便能夠在納秒內(nèi)完成讀取操作。(:賽普拉斯半導(dǎo)體)
圖 3 顯示了采用內(nèi)部磨損均衡的系統(tǒng)中的操作流程。如前所述,磨損均衡由扇區(qū)擦除操作觸發(fā)。重要的是要注意,對于絕大多數(shù)扇區(qū)擦除,要擦除的扇區(qū)的編程/擦除計(jì)數(shù)將低于閾值,并且不會(huì)啟動(dòng)扇區(qū)交換。因此,僅執(zhí)行標(biāo)準(zhǔn)擦除過程(在步驟 4 結(jié)束)。在需要交換的極少數(shù)情況下,將調(diào)用交換過程。
點(diǎn)擊查看大圖
圖 3:采用內(nèi)部磨損均衡的系統(tǒng)中的操作流程,在本例中,是在賽普拉斯的 Semper NOR 閃存中實(shí)現(xiàn)的 EnduraFlex 架構(gòu)。(:賽普拉斯半導(dǎo)體)
請注意,映射表是邏輯到物理扇區(qū)地址的映射。驗(yàn)證位實(shí)際上是三個(gè)非易失性標(biāo)志,用于驗(yàn)證非易失性操作是否已成功完成。數(shù)據(jù)有效位是一個(gè)屏蔽位,用于將交換扇區(qū)中的無效數(shù)據(jù)屏蔽為全 0。
步驟1:邏輯扇區(qū)A映射到物理扇區(qū)X,邏輯扇區(qū)B映射到物理扇區(qū)Y,依此類推。
第 2 步:用戶向邏輯扇區(qū) A 發(fā)送擦除命令。
第 3 步:擦除物理扇區(qū) X
第 4 步:檢查物理扇區(qū) X 是否達(dá)到閾值:是否需要交換?
如果沒有結(jié)束進(jìn)程
第 5 步:找到擦除次數(shù)少的交換候選扇區(qū)(在本例中為物理扇區(qū) Y)
第 6 步:在 Flash 中編程映射表。請注意,RAM 中的映射表尚未更新。
第 7 步:程序驗(yàn)證位 1
第八步:將物理扇區(qū)Y中的數(shù)據(jù)復(fù)制到已經(jīng)被擦除的扇區(qū)X中。
第 9 步:程序驗(yàn)證位 2
第 10 步:更新 RAM 中的映射表。
步驟 11:擦除物理扇區(qū) Y
第 12 步:程序驗(yàn)證位 3
第十三步:擦除完成
現(xiàn)在,用戶完成擦除映射到物理扇區(qū) Y(空白)的邏輯扇區(qū) A,其中 Y 的編程/擦除周期少于物理扇區(qū) X。邏輯扇區(qū) B 現(xiàn)在映射到物理扇區(qū) X 并存儲(chǔ)原始數(shù)據(jù)(即,邏輯扇區(qū) B 包含與交換之前相同的數(shù)據(jù)。)通過在每個(gè)觸發(fā)扇區(qū)交換執(zhí)行的擦除周期重復(fù)此序列,磨損均衡池中的所有扇區(qū)在其整個(gè)生命周期中將具有統(tǒng)一的擦除循環(huán)歷史記錄。
圖 4 顯示了一個(gè)模擬,其中將約 130 萬個(gè)編程/擦除周期應(yīng)用于邏輯扇區(qū) (128)。內(nèi)部磨損均衡功能將 130 萬個(gè)周期分布到 256 個(gè)扇區(qū),導(dǎo)致每個(gè)扇區(qū)的平均周期數(shù)為 5089。
點(diǎn)擊查看大圖
圖 4 分布在 256 個(gè)扇區(qū)中的約 130 萬個(gè)編程/擦除周期的模擬結(jié)果,每個(gè)扇區(qū)的平均周期數(shù)為 5089。(:賽普拉斯半導(dǎo)體)
請注意,BER、數(shù)據(jù)保留和耐用性密切相關(guān)。BER 由與編程/擦除周期數(shù)的指數(shù)相關(guān)表示。因此,如果編程/擦除周期數(shù)減少 10 次方,則 BER 將改善幾個(gè)數(shù)量級。雖然完整的可靠性分析超出了本文的范圍,但顯然磨損均衡對 NVM 可靠性具有顯著的積極影響。內(nèi)部磨損均衡將磨損均衡集成到存儲(chǔ)設(shè)備中,以完全透明的方式為任何主機(jī)系統(tǒng)提供這種級別的改進(jìn)可靠性。
電源故障
實(shí)施可靠存儲(chǔ)時(shí)關(guān)鍵的問題和技術(shù)挑戰(zhàn)之一是對電源故障的魯棒性。具體來說,NVM 設(shè)備依賴于映射表是正確的。這就提出了一個(gè)問題,即如何處理更新映射信息時(shí)可能發(fā)生的電源故障情況,因?yàn)殄e(cuò)誤可能會(huì)導(dǎo)致整個(gè) NVM 設(shè)備受到損害。
正常擦除操作期間的電源故障會(huì)使要擦除的扇區(qū)“未完全擦除”。與擦除操作關(guān)聯(lián)的標(biāo)志指示此狀態(tài)并提示在下一個(gè)上電周期后重新擦除。
磨損均衡期間的電源故障更加復(fù)雜,因?yàn)槲锢聿脸僮鞑辉傧抻谟脩魢L試擦除的扇區(qū)。現(xiàn)在它涉及到由磨損均衡算法觸發(fā)的額外擦除操作;請參見圖 3,其中物理扇區(qū) Y 已被磨損均衡算法擦除,并且對應(yīng)用程序不可見。因此,電源故障恢復(fù)例程需要成為磨損均衡算法的一部分。
假設(shè)在圖 3 中,在第 11 步斷電。當(dāng)電源恢復(fù)時(shí),設(shè)備首先讀取磨損均衡地址空間中的映射表并檢查其有效性,然后在 RAM 中重建映射表。閃存中映射表的每個(gè)條目都包含一個(gè)驗(yàn)證位 (1,2,3)。如果在第 11 步斷電,則中斷交換的驗(yàn)證位可能為 (0,0,1)。擦除扇區(qū)(扇區(qū) Y)的數(shù)據(jù)有效位設(shè)置為“無效”,然后交換{A=Y,B=X}記錄在映射表(RAM)中。現(xiàn)在邏輯扇區(qū)A映射到物理扇區(qū)Y,但物理扇區(qū)Y的擦除可能仍然不完整。這不是問題,因?yàn)橛脩粼噲D擦除邏輯扇區(qū) A,但擦除被中斷并記錄為中斷。下次上電后,需要重新擦除扇區(qū) A。
點(diǎn)擊查看大圖
圖 5:需要將加電序列添加到磨損均衡算法中,以便在擦除周期中從電源故障中恢復(fù)。(:賽普拉斯半導(dǎo)體)
上述上電順序確保磨損均衡算法不會(huì)破壞任何用戶數(shù)據(jù)。也不要求應(yīng)用程序?qū)崿F(xiàn)任何特殊的軟件/硬件算法。因?yàn)槟p均衡是在內(nèi)部實(shí)現(xiàn)的,所以整個(gè)過程對應(yīng)用程序是透明的。這使得磨損均衡對于高可靠性應(yīng)用非常有用,例如滿足可靠性目標(biāo)可能具有挑戰(zhàn)性的汽車應(yīng)用。
集成磨損均衡的下一代 NVM 內(nèi)存對于高可靠性行業(yè)至關(guān)重要。例如,賽普拉斯 Semper NOR 閃存將先進(jìn)的 NVM 技術(shù)與磨損均衡和 ECC 相結(jié)合,可實(shí)現(xiàn)超過 1M 的耐久性和 25 年的數(shù)據(jù)保留。
無相關(guān)信息