[發(fā)明專利]記錄指針處理方法有效
| 申請?zhí)枺?/td> | 201710576070.5 | 申請日: | 2017-07-14 |
| 公開(公告)號: | CN107463507B | 公開(公告)日: | 2020-05-08 |
| 發(fā)明(設(shè)計(jì))人: | 石教輝;黃俊祥;曾憲聰 | 申請(專利權(quán))人: | 惠州市天澤盈豐物聯(lián)網(wǎng)科技股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 深圳市德錦知識(shí)產(chǎn)權(quán)代理有限公司 44352 | 代理人: | 丁敬偉 |
| 地址: | 516000 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 記錄 指針 處理 方法 | ||
本發(fā)明公開了一種記錄指針處理方法,包括以下步驟:進(jìn)行寫操作;從數(shù)據(jù)紀(jì)錄區(qū)的首地址開始寫入數(shù)據(jù)記錄;寫完成后將數(shù)據(jù)記錄區(qū)的首地址設(shè)為讀記錄指針p1,本次寫的最后一條數(shù)據(jù)記錄的首地址設(shè)為寫記錄指針p2;算出總寫的數(shù)據(jù)記錄的條數(shù)X;再次寫操作;將上次的寫記錄指針p2設(shè)為本次的讀記錄指針p1;將讀記錄指針p1對應(yīng)的地址加上M長度,所得地址為本次寫數(shù)據(jù)記錄的首地址D1;從首地址D1開始寫入數(shù)據(jù)記錄,將本次所有數(shù)據(jù)記錄的最后一條數(shù)據(jù)記錄對應(yīng)的首地址設(shè)為本次寫的寫記錄指針p2;算出本次寫的數(shù)據(jù)記錄的條數(shù)X1;計(jì)算總寫的數(shù)據(jù)記錄的條數(shù)X。本發(fā)明有效提高Flash芯片的使用壽命和空間利用率。
技術(shù)領(lǐng)域
本發(fā)明涉及物聯(lián)網(wǎng)設(shè)備技術(shù)領(lǐng)域,尤其涉及一種記錄指針處理方法。
背景技術(shù)
NorFlash因具有易擦除、讀寫速度快、性價(jià)比高等優(yōu)點(diǎn),廣泛應(yīng)用于嵌入式數(shù)據(jù)存儲(chǔ)解決方案。如華邦W25系列Flash芯片,該芯片存儲(chǔ)空間為4M字節(jié),劃分為64塊,每塊16扇區(qū),每扇區(qū)4K字節(jié),總計(jì)1024扇區(qū)。
由于Flash寫操作只能將存儲(chǔ)單元由1變?yōu)?,因此寫數(shù)據(jù)前必須先進(jìn)行擦除操作(即將存儲(chǔ)單元變?yōu)?)。以上提到的Flash芯片只支持扇區(qū)擦除,假設(shè)要寫一段100字節(jié)的數(shù)據(jù)到第n扇區(qū),存儲(chǔ)位置為該扇區(qū)第1000到1099字節(jié),先將該扇區(qū)所有數(shù)據(jù)讀入CPU內(nèi)存,然后將第1000到1099字節(jié)的內(nèi)容替換為想要寫入的數(shù)據(jù),再將Flash該扇區(qū)4K字節(jié)全部擦除,最后將內(nèi)存中經(jīng)過替換的該扇區(qū)的數(shù)據(jù)寫入Flash,這就相當(dāng)于將100字節(jié)的數(shù)據(jù)寫入Flash特定地址而該扇區(qū)其他數(shù)據(jù)不變。若寫數(shù)據(jù)時(shí)不用考慮該扇區(qū)原有數(shù)據(jù)保留問題的話,可以只擦一次,然后連續(xù)寫入,所以通常的做法是先不擦除寫一遍,若不成功則先擦除再重寫。
顯而易見,F(xiàn)lash只適用于數(shù)據(jù)變動(dòng)不太頻繁的存儲(chǔ),因?yàn)镕lash的擦寫次數(shù)是有限的。現(xiàn)有的數(shù)據(jù)存儲(chǔ)方式多采用固定分區(qū),將芯片存儲(chǔ)空間按地址人為劃分為若干個(gè)區(qū),每個(gè)區(qū)存儲(chǔ)指定類別的數(shù)據(jù),每次更新數(shù)據(jù)均從分區(qū)的起始地址開始擦除,同時(shí)寫入數(shù)據(jù),如下載程序、字庫時(shí)都是采用這種方式。但是對于實(shí)時(shí)存儲(chǔ)讀取的記錄數(shù)據(jù),如適用于電子刷卡設(shè)備,每刷一次卡,按一次鍵都要保存記錄,一天可以產(chǎn)生數(shù)百條記錄,靠近分區(qū)起始地址的存儲(chǔ)單元擦寫次數(shù)會(huì)明顯多于其他位置,造成部分壞區(qū),影響芯片的使用效果。
發(fā)明內(nèi)容
本發(fā)明為解決傳統(tǒng)Flash芯片擦寫不均,使用壽命短的技術(shù)問題,提供了一種記錄指針處理方法。
本發(fā)明提供了一種記錄指針處理方法,包括以下步驟:
步驟S12,將每條數(shù)據(jù)記錄的字節(jié)長度設(shè)定為M,數(shù)據(jù)紀(jì)錄區(qū)最大存儲(chǔ)N條數(shù)據(jù)記錄,當(dāng)前數(shù)據(jù)記錄總數(shù)量為X;
步驟S13,進(jìn)行寫操作,寫每條數(shù)據(jù)記錄前先擦除M長度的數(shù)據(jù)記錄區(qū);
步驟S14,從數(shù)據(jù)紀(jì)錄區(qū)的首地址開始寫入數(shù)據(jù)記錄;
步驟S15,寫完成后將數(shù)據(jù)記錄區(qū)的首地址設(shè)為讀記錄指針p1,本次寫的最后一條數(shù)據(jù)記錄的首地址設(shè)為寫記錄指針p2;
步驟S16,將寫記錄指針p2減去讀記錄指針p1,然后除以每條數(shù)據(jù)記錄的字節(jié)長度M,再加上1,算出總寫的數(shù)據(jù)記錄的條數(shù)X,即X=(p2-p1)/M+1;
步驟S17,再次寫操作,寫每條數(shù)據(jù)記錄前先擦除M長度的數(shù)據(jù)記錄區(qū);
步驟S18,將上次記錄指針中包含的寫記錄指針p2所對應(yīng)的地址設(shè)為本次的讀記錄指針p1對應(yīng)的地址;
步驟S19,將讀記錄指針p1對應(yīng)的地址加上M長度,所得地址為本次寫數(shù)據(jù)記錄的首地址D1;
步驟S20,從首地址D1開始寫入數(shù)據(jù)記錄,將本次所有數(shù)據(jù)記錄的最后一條數(shù)據(jù)記錄對應(yīng)的首地址設(shè)為本次寫的寫記錄指針p2;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于惠州市天澤盈豐物聯(lián)網(wǎng)科技股份有限公司,未經(jīng)惠州市天澤盈豐物聯(lián)網(wǎng)科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710576070.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





