[發(fā)明專利]一種SPI Flash數(shù)據(jù)快速存取方法在審
| 申請(qǐng)?zhí)枺?/td> | 202310085981.3 | 申請(qǐng)日: | 2023-02-02 |
| 公開(kāi)(公告)號(hào): | CN116089322A | 公開(kāi)(公告)日: | 2023-05-09 |
| 發(fā)明(設(shè)計(jì))人: | 孫利剛;曹學(xué)欽;王沼鈞;王棋;魏文華;李沛;許曉晨;崔建鐵;史京浩 | 申請(qǐng)(專利權(quán))人: | 東方電子股份有限公司 |
| 主分類(lèi)號(hào): | G06F12/02 | 分類(lèi)號(hào): | G06F12/02;G06F12/1009 |
| 代理公司: | 煙臺(tái)上禾知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 37234 | 代理人: | 趙加鑫 |
| 地址: | 264000 *** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 spi flash 數(shù)據(jù) 快速 存取 方法 | ||
本發(fā)明屬于數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種SPI?Flash數(shù)據(jù)快速存取方法,包括索引表和數(shù)據(jù)區(qū),所述索引表用于定位每種類(lèi)型數(shù)據(jù)的位置,所述數(shù)據(jù)區(qū)用于存放SPI?Flash數(shù)據(jù);所述索引表包括索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng),所述索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng)采用同一的數(shù)據(jù)結(jié)構(gòu),索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng)包括狀態(tài)、地址偏移、對(duì)應(yīng)數(shù)據(jù)區(qū)需要的扇區(qū)數(shù)目;所述數(shù)據(jù)區(qū)的第一個(gè)扇區(qū)是該類(lèi)型數(shù)據(jù)的索引表,每條數(shù)據(jù)對(duì)應(yīng)一條索引,保存數(shù)據(jù)的關(guān)鍵信息,其關(guān)鍵信息包括條目編號(hào)、狀態(tài)、數(shù)據(jù)存儲(chǔ)的絕對(duì)物理地址。本發(fā)明索引表與數(shù)據(jù)分區(qū)相結(jié)合,有效降低扇區(qū)擦除次數(shù),并能快速定位數(shù)據(jù)的存放位置。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種SPI?Flash數(shù)據(jù)快速存取方法。
背景技術(shù)
在嵌入式系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)存取、管理等功能,一般會(huì)采用文件系統(tǒng)。常用的文件系統(tǒng),如FatFs(通用FAT文件系統(tǒng))、LittleFs(一種為微控制器設(shè)計(jì)的小型安全文件系統(tǒng))均是基于非易失性物理存儲(chǔ)介質(zhì)。非易失性存儲(chǔ)器主要有EEPROM(帶電可擦可編程只讀存儲(chǔ)器,Electrically?Erasable?Programmable?read?only?memory)和SPI?Flash(串行外設(shè)接口存儲(chǔ)器,Serial?Peripheral?interface?Flash)。
傳統(tǒng)的EEPROM的特點(diǎn)是可以隨機(jī)訪問(wèn)和修改任何一個(gè)字節(jié),無(wú)需擦除操作。但是其存儲(chǔ)容量因成本的緣故受到限制,絕少有超過(guò)512K?Bytes(字節(jié))的。在需要進(jìn)行大量數(shù)據(jù)存儲(chǔ)且嚴(yán)格控制成本的嵌入式系統(tǒng)中,通常會(huì)選用SPI?Flash,其有如下特性:存儲(chǔ)容量大,價(jià)格較低;讀寫(xiě)次數(shù)有限制,一般壽命為10萬(wàn)次,讀寫(xiě)速度慢;寫(xiě)入Flash時(shí),只能把數(shù)據(jù)位從1改為0,反之則需要先進(jìn)行擦除操作;以扇區(qū)(大小為4K?Bytes)方式擦除,擦除后數(shù)據(jù)全部為0xFF,典型的擦除時(shí)間為50ms。
由于SPI?Flash的以上特性,對(duì)文件系統(tǒng)的使用帶來(lái)諸多問(wèn)題。如對(duì)于FatFs的操作,每次都需要擦除扇區(qū),所以在頻繁存取數(shù)據(jù)的應(yīng)用中會(huì)大大降低存儲(chǔ)器壽命;而LittleFs雖然使用了均衡算法來(lái)降低擦除次數(shù),但由于使用遍歷整個(gè)存儲(chǔ)區(qū)地址域的方法,會(huì)導(dǎo)致存儲(chǔ)數(shù)據(jù)越多執(zhí)行速度越慢。可見(jiàn),應(yīng)用需求和物理特性的矛盾難以調(diào)和。基于此,本發(fā)明提出了一種基于SPI?Flash的數(shù)據(jù)存取方法。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)中的問(wèn)題,本發(fā)明提出一種SPI?Flash數(shù)據(jù)快速存取方法。
本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:
一種SPI?Flash數(shù)據(jù)快速存取方法,包括索引表和數(shù)據(jù)區(qū),所述索引表用于定位每種類(lèi)型數(shù)據(jù)的位置,所述數(shù)據(jù)區(qū)用于存放SPI?Flash數(shù)據(jù);
所述索引表包括索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng),所述索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng)采用同一的數(shù)據(jù)結(jié)構(gòu),索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng)包括狀態(tài)、地址偏移、對(duì)應(yīng)數(shù)據(jù)區(qū)需要的扇區(qū)數(shù)目;
所述數(shù)據(jù)區(qū)的第一個(gè)扇區(qū)是每種類(lèi)型數(shù)據(jù)的數(shù)據(jù)區(qū)索引表,每條數(shù)據(jù)對(duì)應(yīng)一條索引,保存數(shù)據(jù)的關(guān)鍵信息,其關(guān)鍵信息包括條目編號(hào)、狀態(tài)、數(shù)據(jù)存儲(chǔ)的絕對(duì)物理地址。
進(jìn)一步地,所述索引表屬性項(xiàng)和數(shù)據(jù)索引項(xiàng)的狀態(tài)用魔術(shù)數(shù)0x9824f8e9來(lái)表征該數(shù)據(jù)類(lèi)型是否已經(jīng)存在;扇區(qū)個(gè)數(shù)根據(jù)需要的數(shù)據(jù)大小計(jì)算;地址偏移是Flash的絕對(duì)物理地址。
進(jìn)一步地,系統(tǒng)上電后,依據(jù)每種數(shù)據(jù)類(lèi)型編號(hào)進(jìn)行索引表的創(chuàng)建和更新,包括以下步驟:
步驟101:根據(jù)編號(hào)n從索引表中讀出數(shù)據(jù)索引項(xiàng)的內(nèi)容;
步驟102:判斷數(shù)據(jù)索引項(xiàng)狀態(tài)是否已存在;若是,執(zhí)行步驟103,若否,執(zhí)行步驟1a~步驟1d后執(zhí)行步驟103;
步驟1a:新建編號(hào)為n的數(shù)據(jù)索引項(xiàng);
步驟1b:讀取索引表全部?jī)?nèi)容;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于東方電子股份有限公司,未經(jīng)東方電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310085981.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類(lèi)專利
- 專利分類(lèi)
- SPI接口以及經(jīng)由SPI接口的串行通信方法
- VxWorks操作系統(tǒng)下實(shí)現(xiàn)驅(qū)動(dòng)SPI設(shè)備的方法和系統(tǒng)
- 一種解決SPI總線通信延時(shí)的SPI設(shè)備
- 一種基于FPGA的SPI接口配置方法
- 一種SPI ROM轉(zhuǎn)接板
- 一種高魯棒性SPI總線驅(qū)動(dòng)電路
- 基于ROM的SPI NOR FLASH識(shí)別方法、裝置、系統(tǒng)及存儲(chǔ)介質(zhì)
- 增強(qiáng)型SPI控制器以及操作SPI控制器的方法
- 一種基于SPI設(shè)備的信號(hào)驅(qū)動(dòng)系統(tǒng)及方法
- 一種多主一從的SPI安全通信裝置及通信方法
- Flash存儲(chǔ)芯片總線信號(hào)分析工具
- 基于內(nèi)容結(jié)構(gòu)特征的網(wǎng)絡(luò)Flash搜索系統(tǒng)及搜索方法
- 一種測(cè)試Flash引擎的方法及裝置
- 處理flash文件的方法和系統(tǒng)
- 一種flash視頻播放方法及裝置
- 一種陣列雷達(dá)回波模擬器及其模擬方法
- 一種安全加載Flash文件的方法及裝置
- 數(shù)據(jù)中心交換機(jī)雙flash熱備份方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種雙FLASH熱備份方法、裝置、設(shè)備和介質(zhì)
- 一種flash磨損均衡方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





