[發(fā)明專利]一種提高NVM擦寫效率的方法有效
| 申請?zhí)枺?/td> | 202210140090.9 | 申請日: | 2022-02-16 |
| 公開(公告)號: | CN114510198B | 公開(公告)日: | 2023-06-30 |
| 發(fā)明(設(shè)計)人: | 何迪 | 申請(專利權(quán))人: | 北京中電華大電子設(shè)計有限責任公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 102209 北京市昌平區(qū)北七家鎮(zhèn)未*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 提高 nvm 擦寫 效率 方法 | ||
本發(fā)明提出一種提高NVM擦寫效率的方法,該方法除使用一般的緩存機制緩存待寫入數(shù)據(jù)之外,還加入了LRU算法用于優(yōu)化CACHE中的頁面置換方法,使得頻繁更新的數(shù)據(jù)能夠一直存儲在CACHE中,加快寫的效率,同時頻繁更新的數(shù)據(jù)在修改時也不用每次都從NVM中讀取,進一步加快寫的效率。本發(fā)明主要解決NVM存儲的壽命問題以及更新數(shù)據(jù)的效率問題,通過間接減少NVM的擦寫次數(shù)來提高NVM的壽命,同時通過減少NVM的讀的次數(shù)提高整體寫性能與功耗。
技術(shù)領(lǐng)域
本發(fā)明涉NVM存儲與更新技術(shù)領(lǐng)域,以及智能卡、SE、MCU等需要用到NVM擦寫的所有芯片。PC機端作為對比測試也可以使用本發(fā)明中提到的方法。
背景技術(shù)
一般芯片中都會有NVM作為存儲代碼和數(shù)據(jù)使用,在實際使用當中會有更新數(shù)據(jù)的需求。但由于目前NVM的技術(shù),擦寫次數(shù)有限,長時間擦寫會使得芯片NVM報廢,同時應(yīng)用層對于指令的執(zhí)行時間有苛刻的要求,所以需要通過減少NVM的擦寫次數(shù)來提高壽命,加快指令處理時間。
一般減少NVM擦寫次數(shù)的方法是定義N頁RAM(稱之為CACHE,下同),單頁大小和NVM的單頁大小相同,假如是N=6頁(本文的其他描述有關(guān)于CACHE頁數(shù)總大小的都按照6頁來描述)。當準備執(zhí)行寫行為時,先根據(jù)寫入的地址計算待寫頁號PN,然后從CACHEPN[i](其中0≤i<6,下同)中查找有沒有相同的PN,找到相同的直接更新CACHE[i],沒找到則查看CACHE中是否存滿了用戶待寫入數(shù)據(jù),如果存滿了則執(zhí)行把數(shù)據(jù)全部進行提交到NVM的行為,然后再把待寫入的頁的內(nèi)容從NVM中讀取到CACHE中,然后再根據(jù)傳入的修改數(shù)據(jù)修改這頁CACHE。待這條指令結(jié)束時,再把這頁CACHE提交到NVM中,并清空CACHE。
這樣做雖然可以有效減少擦寫NVM的次數(shù),但是如果寫入數(shù)據(jù)比較多,且處于不同頁,并且不同頁的數(shù)量大于6,則依然會出現(xiàn)多次擦寫NVM的情況。且每條指令結(jié)束后,全部數(shù)據(jù)提交后,下一條指令執(zhí)行寫操作時,依然需要先把數(shù)據(jù)讀到CACHE再修改。
因此,為了進一步提高擦寫性能,減少擦寫次數(shù),在CACHE滿了之后,此時并不能把所有CACHE都提交到NVM中,而是需要選擇一頁最久未更新的CACHE頁進行提交,然后把新的需要寫入的頁讀到該頁CACHE中,然后進行修改。與此同時,在每條指令結(jié)束前進行CACHE提交時,提交之后不應(yīng)該清空CACHE,但是需要每頁置一個標記,標明該頁數(shù)據(jù)不需要提交,當下條指令寫入的數(shù)據(jù)正好處于CACHE中時,直接修改CACHE,而不再需要從NVM中讀取一整頁數(shù)據(jù),加快整體性能,降低整體功耗。
發(fā)明內(nèi)容
在具體講解發(fā)明內(nèi)容之前先介紹一些基本概念,有助于理解整個發(fā)明內(nèi)容。
1、NVM一般指FLASH或E2P,其中E2P可以按字節(jié)進行更新,F(xiàn)LASH只能按頁更新,且必須先擦再寫。本文提到的NVM一般指FLASH。
2、NVM中存儲的數(shù)據(jù),掉電之后不丟失,RAM中存儲的數(shù)據(jù)掉電之后丟失,更新NVM的時間很長,且只能按頁更新;更新RAM的時間很短,可以按字節(jié)更新。
3、更新NVM會產(chǎn)生很大的功耗,讀NVM也會產(chǎn)生功耗,而讀寫RAM的功耗很低。
4、NVM擦寫有次數(shù)限制,一般單頁是10W次,當擦寫次數(shù)超過此限制時,數(shù)據(jù)將不可寫入,如果軟件沒有做其他處理,芯片將無法繼續(xù)使用;RAM沒有限制,可以寫無數(shù)次。
5、CACHE是一種RAM緩存,本質(zhì)是RAM,大小以NVM一頁為單位,一頁大小必須是2的冪次,一般是512。每一個CACHE頁都會對應(yīng)某一個物理頁中的一整頁數(shù)據(jù),同時附加兩個數(shù)據(jù),一個是該頁對應(yīng)的物理頁號,記做CACHEPN,一個是該頁的更新標記,記做CACHEFLAG。
我們執(zhí)行讀寫數(shù)據(jù)的原則是功耗盡量低,速度盡量快,盡可能少的擦寫FLASH次數(shù),盡可能少的讀FLASH次數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京中電華大電子設(shè)計有限責任公司,未經(jīng)北京中電華大電子設(shè)計有限責任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210140090.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出





