欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法

文檔序號(hào):6341657閱讀:218來(lái)源:國(guó)知局
專利名稱:一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種減少常駐內(nèi)存的方法,尤其涉及一種減少存儲(chǔ)技術(shù)設(shè)備中地址映 射表常駐內(nèi)存的方法。
背景技術(shù)
如今越來(lái)越多的嵌入式操作系統(tǒng)中,通常都使用flash作為主存介質(zhì)。許多開發(fā) 者和用戶為了方便以后升級(jí)用戶程序,通常在flash上建立文件系統(tǒng),建立文件系統(tǒng)后,就 可以像在windows操作系統(tǒng)下對(duì)硬盤操作一樣,進(jìn)行數(shù)據(jù)的拷貝、刪除以及文件的建立等 操作。不同廠商、不同flash結(jié)構(gòu)導(dǎo)致閃存的控制命令有所差異,不同容量導(dǎo)致地址字 節(jié)數(shù)不同。在存儲(chǔ)技術(shù)設(shè)備層(MTD,Memory Technology Driver s)需要針對(duì)這些差異,實(shí) 現(xiàn)相應(yīng)的驅(qū)動(dòng)。而且存儲(chǔ)技術(shù)設(shè)備層應(yīng)該封裝這些差異向FTUFlashTranslation Layer, 閃存翻譯層)層提供統(tǒng)一的接口,使得FTL層能夠訪問任意物理地址的數(shù)據(jù),而不關(guān)心控制 命令序列和地址字節(jié)數(shù)。存儲(chǔ)技術(shù)設(shè)備層的核心任務(wù)就是在不穩(wěn)定的物理介質(zhì)上實(shí)現(xiàn)一個(gè) 健壯的邏輯存儲(chǔ)設(shè)備。存儲(chǔ)技術(shù)設(shè)備存在一個(gè)從邏輯地址到物理地址的地址映射表,該映射表是以nand flash的塊(block)為單位的映射,映射表常駐在物理內(nèi)存中。現(xiàn)有的實(shí)現(xiàn)方式是采用數(shù)組緩沖所有的地址映射表的方式,毫無(wú)疑問,這種方式 簡(jiǎn)單、快速,不需要額外的代價(jià)直接由邏輯地址獲取物理地址。但是存在以下兩個(gè)方面的缺點(diǎn)。1)存儲(chǔ)技術(shù)設(shè)備占用的內(nèi)存很大,并且隨著nand flash塊數(shù)的增加會(huì)不斷的增 加。目前很多款nand flash的塊數(shù)達(dá)到了 8192個(gè),因?yàn)槊總€(gè)塊的地址至少要用兩個(gè)字節(jié) 的數(shù)據(jù)類型來(lái)表示,僅僅映射表就要占用16K的內(nèi)存。如果將來(lái)nand flash的塊數(shù)繼續(xù)以 指數(shù)增長(zhǎng),對(duì)內(nèi)存及其有限的嵌入式系統(tǒng)來(lái)說,是不可忍受的。2)某個(gè)時(shí)間段,系統(tǒng)訪問的地址只會(huì)是其中的一小部分,甚至,對(duì)于很大一部分地 址,整個(gè)運(yùn)行過程中都不會(huì)被訪問或者只訪問一次。16K的內(nèi)存空間一直被占用,導(dǎo)致極大 的浪費(fèi)。
權(quán)利要求
一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法,其特征在于,將部分需要使用的地址映射表和相應(yīng)的映射關(guān)系常駐在內(nèi)存中,當(dāng)要訪問不在內(nèi)存中的邏輯地址組時(shí),對(duì)常駐在內(nèi)存中的邏輯地址組進(jìn)行掃描,根據(jù)掃描結(jié)果把要訪問的邏輯地址組替換內(nèi)存中過期的邏輯地址組。
2.根據(jù)權(quán)利要求1所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法,其特 征在于,所述的邏輯地址組是多個(gè)連續(xù)邏輯地址的集合,邏輯地址組個(gè)數(shù)和邏輯地址組內(nèi) 元素個(gè)數(shù)是2的整數(shù)次冪,并且常駐在內(nèi)存中的總地址數(shù)小于256。
3.根據(jù)權(quán)利要求1所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法,其特 征在于,所述的替換過程首先進(jìn)行掃描預(yù)處理將所有的邏輯地址組組成一個(gè)先進(jìn)先出隊(duì) 列,最高邏輯地址組對(duì)應(yīng)隊(duì)列頭,最低邏輯地址組對(duì)應(yīng)隊(duì)列尾;然后從隊(duì)列頭開始掃描。
4.根據(jù)權(quán)利要求1或3所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法, 其特征在于,所述的掃描過程,當(dāng)掃描到?jīng)]有被引用而且沒有被修改的邏輯地址組,則將該 邏輯地址組作為被替換對(duì)象,掃描結(jié)束。
5.根據(jù)權(quán)利要求1或3所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法, 其特征在于,所述的掃描過程,當(dāng)掃描到?jīng)]有被引用但已經(jīng)被修改的邏輯地址組,則先記錄 第一個(gè)同類邏輯地址組的組號(hào),繼續(xù)查找下一個(gè)邏輯地址組。
6.根據(jù)權(quán)利要求1或3所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法, 其特征在于,所述的掃描過程,當(dāng)掃描到既被引用又被修改的邏輯地址組,則把被訪問標(biāo)識(shí) 清零后將該邏輯地址組放入隊(duì)列的尾,查看是否記錄了沒有被引用但已經(jīng)被修改的邏輯地 址組,如果有則將該邏輯地址組作為被替換對(duì)象,掃描結(jié)束;如果沒有找到?jīng)]有被引用但已 經(jīng)被修改的邏輯地址組,則重新掃描。
7.根據(jù)權(quán)利要求1或3所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法, 其特征在于,所述的掃描過程,當(dāng)掃描到被引用但沒有被修改的邏輯地址組,則把被訪問標(biāo) 識(shí)清零,查看是否記錄了沒有被引用但已經(jīng)被修改的邏輯地址組,如果有則將該邏輯地址 組作為被替換對(duì)象,掃描結(jié)束;如果沒有找到?jīng)]有被引用但已經(jīng)被修改的邏輯地址組,則重 新掃描。
8.根據(jù)權(quán)利要求1或3所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法, 其特征在于,所述的掃描過程,當(dāng)被替換的邏輯地址組的被修改標(biāo)識(shí)為1,則在替換該邏輯 地址組后更新記錄在nand flash中記錄的映射關(guān)系;否則直接替換該邏輯地址組,并且不 更新映射關(guān)系。
9.根據(jù)權(quán)利要求1所述的一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法,其 特征在于,所述的替換過程當(dāng)要被替換的邏輯地址組已經(jīng)被修改,在替換前先檢查nand flash塊的剩余空間是否足夠存儲(chǔ)該邏輯地址組的所有地址信息,如果剩余空間不夠,要分 配一個(gè)新的塊存儲(chǔ)該邏輯地址組的所有地址信息。
全文摘要
本發(fā)明公開了一種減少存儲(chǔ)技術(shù)設(shè)備中地址映射表常駐內(nèi)存的方法,將需要使用的部分地址映射表和相應(yīng)的映射關(guān)系常駐在內(nèi)存中,當(dāng)要訪問不在內(nèi)存中的邏輯地址組時(shí),對(duì)常駐在內(nèi)存中的邏輯地址組進(jìn)行掃描,根據(jù)掃描結(jié)果把要訪問的邏輯地址組替換內(nèi)存中過期的邏輯地址組。本發(fā)明相對(duì)現(xiàn)有技術(shù)優(yōu)點(diǎn)在于為了節(jié)省內(nèi)存的使用,利用局部性原理,只緩存地址映射表一部分和對(duì)應(yīng)的映射關(guān)系,系統(tǒng)利用這兩個(gè)信息就可以隨時(shí)通過掃描整個(gè)nand flash重新建立完整的映射關(guān)系。
文檔編號(hào)G06F12/12GK101833519SQ20091003784
公開日2010年9月15日 申請(qǐng)日期2009年3月12日 優(yōu)先權(quán)日2009年3月12日
發(fā)明者徐暢, 胡勝發(fā), 范敬才, 趙俊化 申請(qǐng)人:安凱(廣州)軟件技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
增城市| 延长县| 峨眉山市| 金塔县| 汕尾市| 贡嘎县| 石城县| 怀柔区| 赞皇县| 寿光市| 吴旗县| 锡林浩特市| 绥宁县| 乐山市| 杭州市| 平利县| 民权县| 玛纳斯县| 瑞昌市| 古浪县| 漳平市| 前郭尔| 焦作市| 溆浦县| 武穴市| 瑞丽市| 来宾市| 富裕县| 缙云县| 双鸭山市| 福鼎市| 迁西县| 清水河县| 永寿县| 西青区| 高安市| 湾仔区| 徐水县| 宝丰县| 宁武县| 金川县|