新四季網

一種晶片的數據讀寫方法、相應裝置和系統的製作方法

2023-06-18 14:09:21 1

專利名稱:一種晶片的數據讀寫方法、相應裝置和系統的製作方法
技術領域:
本發明涉及計算機領域,尤其涉及晶片的數據讀寫技術。
背景技術:
終端中有大量的數據需要在非易失快閃記憶體(NvRAM, Non-Volatile Random Access Memory)晶片中進行寫入和讀取,這些數據包括廠商進行自動生產測 試的數據、終端出廠時的預設配置數據、用戶更改的配置數據、終端應用使用 的數據等。
在終端運行過程中,會頻繁的讀寫NvRAM晶片上的數據,而每次讀寫的 數據量大小也有很大差異。目前終端上的NvRAM晶片基本上有NOR (Not R,或非門)和NAND (Not AND,與非門)兩類,對兩類快閃記憶體晶片的數據 寫入操作之前都需要先進行擦除操作,此外,NOR類型的NvRAM晶片與 NAND類型的NvRAM晶片相比,具有以下特點
1 、 NOR類型的NvRAM晶片的數據讀取速度比NAND類型的NvRAM芯 片的數據讀取速度稍快一些;
2、 NOR類型的NvRAM晶片的數據寫入速度比NAND類型的NvRAM芯 片的數據寫入速度慢很多;
3、 NOR類型的NvRAM晶片5s的數據擦除速度比NAND類型的NvRAM 晶片的4ms的數據擦除速度慢很多;
4、 NOR類型的NvRAM晶片的擦除單元比NAND類型的NvRAM晶片的 擦除單元更大,相應的擦除電路更複雜。
考慮到晶片容量、生產成本、電路設計、內存技術驅動程序等方面的因素, 不同廠商會選擇不同的快閃記憶體晶片。如果選擇了 NOR類型的快閃記憶體晶片,則需要考慮NOR類型NvRAM晶片的擦除或寫入的時間較長的因素。
現有技術應用比較普遍的方案是將晶片的擦除和寫入操作放在後臺線程 處理,即後臺線程調度時,首先將要讀取或寫入的數據加入到緩存中的單向鏈 表中。當寫入數據時,需針對NOR類型NvRAM晶片的特點,先擦除數據預 寫入的資源塊(Block)中存儲的內容,再將緩存中的單向鍊表中的每個節點 中的數據逐一寫入晶片中。當讀取數據時,首先在緩存中的單向鍊表中遍歷查 找,若緩存中的某個節點包含所需讀取的數據,則從緩存中讀取,否則,則將 緩存中的數據寫入晶片後,再從NvRAM晶片中進行讀取。 上述現行方案中,主要存在以下缺點
在寫入數據時,因為NvRAM晶片的寫入操作只能在空的或已擦除的Block 中進行,所以每將緩存中的一個節點寫入晶片前,都需要先擦除其所要寫入的 NvRAM晶片上的Block中的內容,然後再將數據寫入到空的或已擦除的Block 中。當緩存中的節點較多時,就需要^"除Block多次,例如拷貝USIM卡上 N條電話條目至終端上,首先將N個節點加入到緩存中的單向鍊表,後臺線程 調度時,每向NOR類型NvRAM晶片中寫入一個節點都要擦除要寫入數據的 Block—次。由於NOR類型NvRAM晶片中的Block—般為64-128KB,執 行一個寫入或擦除操作的時間為5s,比較耗時。如果N=200,則整個拷貝時 間約為16.7分鐘,並且需要擦除Block 200次。顯然,這樣不但非常耗時, 寫入效率低,而且對晶片擦除次數過多,會影響晶片的使用壽命。另外,如果 數據的寫入時間過長,緩存中的數據還沒有全部寫入到晶片中,如果在這個過 程中系統出現異常或斷電,就會造成緩存中的數據丟失。
在讀取數據時,當需要讀取的數據部分在緩存中,部分在NvRAM晶片中 時,也即需要讀取的數據的地址範圍超出緩存中某個節點的地址範圍,按照現 行的方案,需要先將緩存中的數據寫入到NvRAM晶片中,再從NvRAM晶片 中讀取需要的數據。例如緩存中的節點A保存的數據的地址範圍是 0x00001000—0x00001100 ,需要讀取數據的地址範圍是0x00001050—0x00001150,要讀取的數據不能全部從緩存中的節點A中讀取 到,則需要先將緩存中的節點A保存的數據寫入NvRAM晶片中對應地址範圍 的Block中,相應地,就需要預先擦除對應地址範圍的Block中的內容,在將 緩存中的節點A保存的數據寫入NvRAM晶片後,再從NvRAM晶片中讀取需 要的數據。可見,這樣無形中增加了擦寫晶片的時間,讀取效率低。 總之,現有的數據讀寫方法運行效率低,並且影響晶片的使用壽命。

發明內容
本發明提供了一種晶片的數據讀寫方法、相應裝置和系統,能夠解決現有 的數據讀寫方法運行效率低,並且影響晶片使用壽命的問題。 本發明實施例通過如下技術方案實現
本發明實施例4是供了一種晶片的數據寫入方法,該凝:據寫入方法包括 從晶片中找到與塊二叉樹的根節點對應的資源塊,並將該資源塊中存儲的 數據讀取到指定緩存中;以及,根據所述塊二叉樹的根節點及其左子樹上的所
有節點中存儲的數據信息,從緩存中找到相應的數據;
利用從緩存中找到的相應數據將讀取到指定緩存中的數據更新,並將更新 後得到的悽t據寫入到所述晶片中。
本發明實施例還提供了 一種晶片的數據讀取方法,該數據讀取方法包括
根據晶片中的各個資源塊對應的地址範圍,對需要讀取數據的地址範圍進 行切割,得到對應不同地址範圍的多個凝:據塊;
遍歷塊二叉樹的每個節點中存儲的數據信息,若所述多個數據塊的數據信 息全部能在塊二叉樹的節點中讀取到,則從緩存中讀取數據;若所述多個數據 塊的數據信息全部不能在塊二叉樹的節點中讀取到,則從晶片中讀取數據;若 所述多個數據塊的數據信息部分能在塊二叉樹的節點中讀取到,則讀取晶片中 的數據,並根據能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應 的數據,並利用從緩存中找到的相應數據將從晶片中讀取到的數據更新。
9本發明實施例還提供了 一種晶片的數據寫入裝置,該數據寫入裝置包括 晶片數據讀取單元、更新數據獲取單元以及數據更新及寫入單元;
其中,晶片數據讀取單元,用於從晶片中找到與塊二叉樹的根節點對應的 資源塊,並將該資源塊中存儲的數據讀取到指定緩存中;
更新數據獲取單元,用於根據所述塊二叉樹的根節點及其左子樹上的所有 節點中存儲的數據信息,從緩存中找到相應的數據;
數據更新及寫入單元,用於利用從緩存中找到的相應數據將讀取到指定緩 存中的數據更新,並將更新後得到的數據寫入到所述晶片中。
本發明實施例還提供了 一種晶片的數據讀取裝置,該數據讀取裝置包括 數據切割單元、遍歷單元、第一讀取單元、第二讀取單元以及第三讀取單元;
其中,數據切割單元,用於根據晶片中的各個資源塊對應的地址範圍,對 需要讀取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;
遍歷單元,用於遍歷塊二叉樹的每個節點中存儲的數據信息;
第 一讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完
全包含所述多個數據塊的數據信息時,則從緩存中讀取數據;
第二讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完 全不包含所述多個數據塊的數據信息時,則從晶片中讀取數據;
第三讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點部 分包含所述多個數據塊的數據信息時,則讀取晶片中的數據,並根據能在塊二 叉樹的節點中讀取到的數據信息,從緩存中找到相應的數據,並利用從緩存中 找到的相應數據將從晶片中讀取到的數據更新。
本發明實施例還提供了 一種晶片的數據讀寫系統,該數據讀寫系統包括 數據寫入裝置和數據讀取裝置;
其中,數據寫入裝置,用於從晶片中找到與塊二叉樹的根節點對應的資源
塊,並將該資源塊中存儲的數據讀取到指定緩存中;以及,根據所述塊二叉樹 的根節點及其左子樹上的所有節點中存儲的數據信息,從緩存中找到相應的數據;利用從緩存中找到的相應數據將讀取到指定緩存中的數據更新,並將更新 後得到的數據寫入到所述晶片中;
數據讀取裝置,用於根據晶片中的各個資源塊對應的地址範圍,對需要讀 取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;遍歷塊二 叉樹的每個節點中存儲的數據信息,若所述多個數據塊的數據信息全部能在塊 二叉樹的節點中讀^i到,則從緩存中讀取數據;若所述多個數據塊的數據信息 全部不能在塊二叉樹的節點中讀取到,則從晶片中讀取數據;若所述多個數據 塊的數據信息部分能在塊二叉樹的節點中讀取到,則讀取晶片中的數據,並根 據能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應的數據,並利 用從緩存中找到的相應數據將從晶片中讀取到的數據更新。
通過上述技術方案,本發明實施例在執行讀寫操作時,以晶片中的一個 Block在塊二叉樹中對應的所有節點為操作單位,不僅能夠提高讀寫效率,而 且也能夠減少對晶片的操作次數,從而能夠提高晶片的使用壽命。


圖1為本發明第一實施例的一種晶片的數據寫入方法流程圖2為本發明實施例的Block 二叉樹結構示意圖3為本發明實施例緩存和晶片的數據存儲關係示意圖4為本發明第一實施例的數據寫入過程示意圖5為本發明第二實施例的一種晶片的數據讀取方法流程圖6為本發明第三實施例的一種晶片的悽t據寫入裝置示意圖7為本發明第四實施例的 一種晶片的數據讀取裝置示意圖8為本發明第五實施例的 一 種晶片的悽史據讀寫系統示意圖。
具體實施例方式
本發明實施例提供了一種晶片的數據讀寫方法、相應裝置和系統,能夠提
ii高數據的讀寫效率和晶片的使用壽命,下面結合說明書附圖和具體實施例對本 發明技術方案進行詳細闡述。
本發明第 一 實施例提供了 一種晶片的數據寫入方法,在執行第 一 實施例
時,將緩存中的數據結構定義為塊(Block) 二叉樹結構。 該Block 二叉樹結構如圖2所示,包括以下特徵
1、 Block二叉樹的每個節點,用於存儲信息,該信息包括數據信息(即 數據起始地址和數據長度)、並選擇性地包括指向左子樹的指針和/或指向右子 樹的指針;
2、 Block 二叉樹的最大深度即為NvRAM晶片中的資源塊(Block)的數 目,塊二叉樹的實際深度為當前緩存中數據對應於晶片中資源塊的數目;
3、 Block二叉樹的根節點用於存儲第一次寫入緩存中數據的數據信息;
4、 Block二叉樹的任意一個節點及該節點的右子樹上的節點分別對應非易 失快閃記憶體晶片中的不同Block,例如,根節點Block—1_node a與NvRAM晶片的 Block 1對應,根節點的右子樹上的節點Block_2—node a與Block 2對應,依 次類推,根節點右子樹的右子樹上的節點Block—3—node a與Block 3對 應……;
5、 塊二叉樹的任意一個節點及該節點的左子樹上的節點對應非易失快閃記憶體 晶片中的同一個Block,例如,根節點Block—1_node a及其左子樹上的所有 節點(Block_1—node b、 Block_1—node c......)都對應NvRAM晶片中的
Block1;
6、 每個節點只保存數據的數據信息(數據起始地址和數據長度),而不保 存具體數據。
對於上述特徵1 ,當用於存儲信息的節點為根節點或右子樹上的子節點時, 則存儲於該節點的信息包括數據信息、並包括指向左子樹的指針和/或指向右 子樹的指針;當用於存儲信息的節點為左子樹上的子節點時,則存儲於該節點 的信息包括數據信息和指向左子樹的指針。對於上述特徵4,對Block—1—node a、 Block—2—node a、 Block—3—node a......的區分,僅用於區分NvRAM晶片中不同的Block,和晶片中的Block順
序無關。
對於上述特徵5,對Block—1—node a、 Block一1—node b、 Block—1—node c......的區分,僅用於區分向NvRAM晶片寫入數據時的操作次序,和數據的
存儲次序無關。
對於上述特徵6,具體數據保存在緩存中,如圖3所示,緩存中包括具 體數據、用來存儲Block 二叉樹的空間、以及用來存儲從晶片中讀取到的數據 的指定緩存A,該指定緩存A為緩存中的一個空白區域。
Block 二叉樹中每個節點可以定義如下
typedef struct —MAN—NVRAM_DATA—NODE—
kbuf—ptr;〃緩存中數據的起始地址 addr; 〃緩存中數據在寫入NvRAM晶片時所在的晶片
void
UINT32 中的起始地址
UINT32
struct 個Block上*/
struct
length;〃緩存中的數據長度 .MAN—NVRAM—DATA_NODE— *left—ptr; /*左子樹,在同一
_MAN—NVRAM—DATA—NODE— 、ight—ptr;"右子樹,在另一
個Block上*/
}MAN—NVRAM—DATA—NODE
第一實施例的具體實現過程,如圖1所示,包括如下內容 S101、根據NvRAM晶片中的各個資源塊對應的地址範圍,對輸入數據的 地址範圍進行切割,得到對應不同地址範圍的N個數據塊,並將得到的對應不 同地址範圍的N個數據塊的數據信息,存儲到塊二叉樹中與各個資源塊對應的 節點上。其中1<= N <=NvRAM晶片中Block數目。
例如NVRAM晶片的地址範圍為0x00000000—Ox0007FFFF,晶片中總 共有4個Block,每個Block的大小為128k,即Block 1的地址範圍是 0x00000000—0x0001 FFFF , Block 2 的地址範圍是 0x00020000—0x0003FFFF , Block 3 的地址範圍是 0x00040000—0x0005FFFF , Block 4 的地址範圍是 0x00060000—0x0007FFFF 。 第 一 次寫入數據的地址範圍是 0x00010000—0x00020100,該地址範圍在Block1和Block2的地址範圍間, 則將寫入的數據分成2個數據塊,數據塊1對應Block 1,其地址範圍為 0x00010000—0x0001 FFFF ,數據塊2對應Block 2,其地址範圍為 0x00020000—0x00020100,則將數據塊1對應的數據信息存儲到與Block1 對應的塊二叉樹的根節點Block—1一node a中,將數據塊2對應的數據信息存 儲到Block2對應的塊二叉樹的根節點的右子樹上的子節點Block_2_node a 中。之後若再有數據寫入,也按照此方法進行分割,並將分割後得到的對應不 同地址範圍的數據塊對應的數據信息,按照各個數據塊對應的地址範圍存儲到 對應的Block 二叉樹中,例如,第二次寫入數據的地址範圍依然是 0x00010000—0x00020100,則按照上述方法對該寫入的數據方法進行分割, 得到地址範圍為0x00010000—0x0001 FFFF的數據塊1,和地址範圍為 0x00020000—0x00020100的數據塊2,將數據塊1對應的數據信息存儲到 Block—1_node b中,將數據塊2對應的數據信息存儲到Block—2—node b中。
S102、將NvRAM晶片中與所述Block二叉樹的根節點對應的Block中的 數據讀取到指定緩存中;以及根據根節點中存儲的數據信息,從緩存中找到相 應的數據,並利用找到的數據將讀取到指定緩存中的數據更新,並將更新後得 到的數據寫入到NvRAM晶片中。
如圖4所示,該步驟具體過程如下
當後臺線程調度時,首先將Block 1上的數據全部讀取到指定緩存A中,如圖3所示,然後根據Block 1對應的節點Block—1—node a,以及 Block—1—node a的所有左子樹上的節點Block—1—node b、 Block—1—node c......上存儲的數據信息中記載的數據起始地址和數據長度,從緩存中找到具
體數據,再利用找到的具體數據依次將讀取到指定緩存A中的數據更新,也就 是說,利用找到的具體數據,將讀取到指定緩存A中與找到的具體數據的地址 範圍相同部分的數據替換掉,最後再將更新後的數據寫入晶片。
5103、 刪除所述根節點及其所有左子樹,更新Block 二叉樹,得到新的塊 二叉樹及其根節點。
5104、 判斷整個Block 二叉樹中所有節點存儲的數據信息對應的數據是否 全部寫入晶片中,若沒有全部寫入晶片中,則執行S102,若全部寫入晶片中, 則結束操作。
通過上述方法能夠提高數據的寫入效率,同樣還是以拷貝USIM卡上N條 電話條目至終端為例,NvRAM晶片有4個Block,每個Block的大小為128K, 當N-200時,最優情況下,此200條電話本記錄全部在同一個Block上,則 拷貝時間將縮小為5s左右(因為寫入A察除一個Block的時間就為5s),與現 有技術的方法相比效率提高了 200倍;最壞情況下,也就是說此200條電話 本記錄分布在4個Block上,則拷貝時間也僅為20s,與現有技術的方法相比 效率也提高了 50倍。
本發明第二實施例提供了 一種晶片的數據讀取方法,在執行該實施例之 前,將緩存中的數據結構存儲為塊(Block) 二叉樹結構。該過程與本發明第 一實施例中的相關描述一致,此處不再詳細描述。
本發明第二實施例的實現過程如圖5所示,包括如下內容
S201、根據NvRAM晶片中的各個資源塊對應的地址範圍,對需要讀取的 數據的地址範圍進行切割,得到對應不同地址範圍的N個數據塊。
其中1<= n <=NvRAM晶片中Block數目。
依然以NvRAM晶片的地址範圍為0x00000000—0x0007FFFF,總共有4
15個Block,每個Block的大小為128k為例進行說明,Block 1的地址範圍是 0x00000000—0x0001FFFF , Block 2 的地址範圍是 0x00020000—0x0003FFFF , Block 3 的地址範圍是 0x00040000—0x0005FFFF , Block 4 的地址範圍是 0x00060000—0x0007FFFF 。 需要讀取數據的地址範圍是 0x00010000—0x00020100,該地址範圍在Block 1和Block 2的地址範圍間, 將需要讀取的數據分成2個數據塊,數據塊1對應Block1,其地址範圍為 0x00010000—0x0001FFFF,數據塊2對應Block 2,其地址範圍為 0x00020000—0x00020100,則從與Block1對應的根節點Block_1—node a以 及Block_1—node a的所有左子樹上的節點中讀取數據塊1的數據信息,從與 Block2對應的根節點的右子樹上的節點Block—2—node a以及Block—2_node a的所有左子樹上的節點中讀取數據塊2的數據信息。
5202、 遍歷塊二叉樹每個節點中存儲的數據信息,判斷N個數據塊的數 據信息是否能在塊二叉樹的節點中讀取到,若N個數據塊的數據信息全部能在 塊二叉樹的節點中讀取到,則執行S203;若N個數據塊的數據信息全部不能 在塊二叉樹的節點中讀取到,則執行S204;若N個數據塊的數據信息部分能 在塊二叉樹的節點中讀取到,則執行S205。
5203、 從緩存中讀取數據;
5204、 從晶片中讀取數據;
5205、 讀取晶片中的全部數據,根據能在塊二叉樹的節點中讀取到的數 據信息記載的數據起始地址和數據長度,從緩存中找到具體數據,並利用找到 的具體數據將從晶片中讀取到的數據更新,也就是說,利用找到的具體數據將 從晶片中讀取到的與找到的具體數據的地址範圍相同部分的數據替換掉。
本發明第三實施例提供了一種晶片的數據寫入裝置,如圖6所示,該數據 寫入裝置包括晶片數據讀取單元、更新數據獲取單元、數據更新及寫入單元; 該數括數據切割單元和^t據信息存儲單元;該數據寫入裝置也可以進一步包括 塊二叉樹構造單元;
其中,晶片數據讀取單元,用於從晶片中找到與塊二叉樹的根節點對應的 資源塊,並將該資源塊中存儲的數據讀取到指定緩存中;
更新數據獲取單元,用於根據所述塊二叉樹的根節點及其左子樹上的所有 節點中存儲的數據信息,從緩存中找到相應的數據;
數據更新及寫入單元,用於利用從緩存中找到的相應數據將讀取到指定緩 存中的數據更新,並將更新後得到的數據寫入到所述晶片中。
該數據寫入裝置進一步包括的刪除單元,用於當晶片數據讀取單元和更新 數據獲取單元得到數據後,刪除所述根節點及其左子樹,得到新的塊二叉樹及 其根節點。
該數據寫入裝置進一步包括的塊二叉樹構造單元,用於在緩存中構造塊二 叉樹,並使構造的塊二叉樹滿足條件塊二叉樹的根節點,用於存儲信息,該 信息包括數據信息,並包括指向左子樹的指針和/或指向右子樹的指針;塊二 叉樹的子節點,用於存儲信息,該信息包括數據信息,並可選地包括指向左 子樹的指針和/或指向右子樹的指針;塊二叉樹的最大深度為晶片中的資源塊的 數目,塊二叉樹的實際深度為當前緩存中數據對應於晶片中資源塊的數目;塊 二叉樹的任意一個節點及該節點的左子樹上的節點對應晶片中的同一個資源 塊;塊二叉樹的任意一個節點及該節點的右子樹上的節點分別對應晶片中的不 同資源塊。
該數據寫入裝置進一步包括的數據切割單元,用於才艮據晶片中的各個資源 塊對應的地址範圍,對輸入數據的地址範圍進行切割,得到對應不同地址範圍 的多個數據塊;該數據寫入裝置進一步包括的數據信息存儲單元,用於將得到 的對應不同地址範圍的多個數據塊的數據信息,存儲到塊二叉樹中與各個資源 塊對應的節點上。
本發明第四實施例提供了一種晶片的數據讀取裝置,如圖7所示,該數據讀取裝置包括數據切割單元、遍歷單元、第一讀取單元、第二讀取單元、第 三讀取單元。
在實施該裝置之前,利用塊二叉樹構造單元將緩存中的數據結構存儲為塊 二叉樹結構,所述的塊二叉樹構造單元,用於在緩存中構造塊二叉樹,並使構 造的塊二叉樹滿足條件塊二叉樹的根節點,用於存儲信息,該信息包括數 據信息,並包括指向左子樹的指針和/或指向右子樹的指針;塊二叉樹的子節點, 用於存儲信息,該信息包括數據信息,並可選地包括指向左子樹的指針和/ 或指向右子樹的指針;塊二叉樹的最大深度為晶片中的資源塊的數目,塊二叉 樹的實際深度為當前緩存中數據對應於晶片中資源塊的數目;塊二叉樹的任意 一個節點及該節點的左子樹上的節點對應晶片中的同一個資源塊;塊二叉樹的 任意 一個節點及該節點的右子樹上的節點分別對應晶片中的不同資源塊。
該數據讀取裝置中的數據切割單元,用於根據晶片中的各個資源塊對應的 地址範圍,對需要讀取數據的地址範圍進行切割,得到對應不同地址範圍的多 個數據塊;
遍歷單元,用於遍歷塊二叉樹的每個節點中存儲的數據信息;
第 一讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完
全包含所述多個數據塊的數據信息時,則從緩存中讀取數據;
第二讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完
全不包含所述多個數據塊的數據信息時,則從晶片中讀取數據;
第三讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點部
分包含所述多個數據塊的數據信息時,則讀取晶片中的數據,根據能在塊二叉
樹的節點中讀取到的數據信息,從緩存中找到相應的邀:據,並利用從緩存中找
到的相應數據將從晶片中讀取到的數據更新。
本發明第五實施例提供了一種晶片的數據讀寫系統,如圖8所示,該數據
讀寫系統包括數據寫入裝置、數據讀取裝置;該數據讀寫系統還可以進一步
包括塊二叉樹構造裝置;其中,數據寫入裝置,用於從晶片中找到與塊二叉樹的根節點對應的資源
塊,並將該資源塊中存儲的數據讀取到指定緩存中;以及,根據所述塊二叉樹 的根節點及其左子樹上的所有節點中存儲的數據信息,從緩存中找到相應的數 據;利用從緩存中找到的相應數據將讀取到指定緩存中的數據更新,並將更新 後得到的數據寫入到所述晶片中;
該數據寫入裝置所包括的單元以及各個單元的功能,與第三實施例中所述 的單元以及各個單元的功能相同,此處不再詳細描述。
數據讀取裝置,用於根據晶片中的各個資源塊對應的地址範圍,對需要讀 取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;遍歷塊二 叉樹的每個節點中存儲的數據信息,若所述多個數據塊的數據信息全部能在塊 二叉樹的節點中讀取到,則從緩存中讀取數據;若所述多個數據塊的數據信息 全部不能在塊二叉樹的節點中讀取到,則從晶片中讀取數據;若所述多個數據 塊的數據信息部分能在塊二叉樹的節點中讀取到,則讀取晶片中的數據,根據 能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應的數據,並利用 從緩存中找到的相應數據將從晶片中讀取到的數據更新。
該數據讀取裝置所包括的單元以及各個單元的功能,與第四實施例中所述 的單元以及各個單元的功能相同,此處不再詳細描述。
該數據讀寫系統進一步包括的二叉樹構造裝置,用於在緩存中構造塊二叉 樹,並使構造的塊二叉樹滿足條件塊二叉樹的根節點,用於存儲信息,該信 息包括數據信息,並包括指向左子樹的指針和/或指向右子樹的指針;塊二叉 樹的子節點,用於存儲信息,該信息包括數據信息,並可選地包括指向左子 樹的指針和/或指向右子樹的指針;塊二叉樹的最大深度為晶片中的資源塊的數 目,塊二叉樹的實際深度為當前緩存中數據對應於晶片中資源塊的數目;塊二 叉樹的任意一個節點及該節點的左子樹上的節點對應晶片中的同一個資源塊; 塊二叉樹的任意一個節點及該節點的右子樹上的節點分別對應晶片中的不同 資源塊;所述數據寫入裝置還用於,根據晶片中的各個資源塊對應的地址範圍,對 輸入數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊,並將得 到的對應不同地址範圍的多個數據塊的數據信息,存儲到塊二叉樹中與各個資 源塊對應的節點上。
本發明實施例提供的技術方案,在執行讀寫操作時,以對應晶片中同一個 資源塊的塊二叉樹上的所有節點為操作單位,不僅能夠提高讀寫效率,也能夠 減少對晶片的操作次數,從而能夠提高晶片的使用壽命。
另外,當要讀取的數據部分在緩存中且部分在晶片中時,採取分別讀取的
方案,即從晶片中讀取數據,並利用塊二叉樹節點中存儲的數據信息,從緩存 中找到具體數據,利用找到的具體數據將從晶片中讀取到的數據更新,這樣就 無需先將緩存中的數據寫入晶片,進一步提高數據的讀取效率。
另外,通過本發明技術方案縮短了數據的寫入時間,如果數據的寫入時間
過長,緩存中的數據還沒有全部寫入NvRAM晶片,在這個過程中系統出現異 常或斷電問題,則緩存中還未完全寫入晶片中的其他數據就會丟失,通過本發 明提供的技術方案就能夠避免緩存中數據丟失的問題。
明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及 其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1、一種晶片的數據寫入方法,其特徵在於,該數據寫入方法包括從晶片中找到與塊二叉樹的根節點對應的資源塊,並將該資源塊中存儲的數據讀取到指定緩存中;以及,根據所述塊二叉樹的根節點及其左子樹上的所有節點中存儲的數據信息,從緩存中找到相應的數據;利用從緩存中找到的相應數據將讀取到指定緩存中的數據更新,並將更新後得到的數據寫入到所述晶片中。
2、 如權利要求1所述的數據寫入方法,其特徵在於,該數據寫入方法還 包括刪除所述根節點及其左子樹,得到新的塊二叉樹及其一艮節點。
3、 如權利要求1所述的數據寫入方法,其特徵在於,該數據寫入方法還 包括根據晶片中的各個資源塊對應的地址範圍,對輸入數據的地址範圍進行切 割,得到對應不同地址範圍的多個數據塊,並將得到的對應不同地址範圍的多 個數據塊的數據信息,存儲到塊二叉樹中與各個資源塊對應的節點上。
4、 如權利要求1、 2或3所述的數據寫入方法,其特徵在於,所述數據信 息包括數據起始地址和數據長度。
5、 如權利要求4所述的數據寫入方法,其特徵在於,該數據寫入方法還 包括在緩存中構造塊二叉樹,所述塊二叉樹滿足如下條件塊二叉樹的根節點,用於存儲信息,所述信息包括數據信息,並包括指 向左子樹的指針和/或指向右子樹的指針;塊二叉樹的子節點,用於存儲信息,所述信息包括數據信息,並可選地 包括指向左子樹的指針和/或指向右子樹的指針;塊二叉樹的最大深度為晶片中的資源塊的數目,塊二叉樹的實際深度為當 前緩存中數據對應於晶片中資源塊的數目;塊二叉樹的任意一個節點及所述節點的左子樹上的節點對應晶片中的同一個資源塊;塊二叉樹的任意一個節點及所述節點的右子樹上的節點分別對應晶片中 的不同資源塊。
6、 一種晶片的數據讀取方法,其特徵在於,該數據讀取方法包括 根據晶片中的各個資源塊對應的地址範圍,對需要讀取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;遍歷塊二叉樹的每個節點中存儲的數據信息,若所述多個數據塊的數據信 息全部能在塊二叉樹的節點中讀取到,則從緩存中讀取數據;若所述多個數據 塊的數據信息全部不能在塊二叉樹的節點中讀取到,則從晶片中讀取數據;若 所述多個數據塊的數據信息部分能在塊二叉樹的節點中讀取到,則讀取晶片中 的數據,並根據能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應 的數據,並利用從緩存中找到的相應數據將從晶片中讀取到的數據更新。
7、 如權利要求6所述的數據讀取方法,其特徵在於,所述數據信息包括 數據起始地址和數據長度。
8、 一種晶片的數據寫入裝置,其特徵在於,該數據寫入裝置包括 晶片數據讀取單元,用於從晶片中找到與塊二叉樹的根節點對應的資源塊,並將該資源塊中存儲的數據讀取到指定緩存中;更新數據獲取單元,用於根據所述塊二叉樹的根節點及其左子樹上的所有 節點中存儲的數據信息,從緩存中找到相應的數據;數據更新及寫入單元,用於利用從緩存中找到的相應數據將讀取到指定緩 存中的數據更新,並將更新後得到的數據寫入到所述晶片中。
9、 如權利要求8所述的數據寫入裝置,其特徵在於,該數據寫入裝置還 包括刪除單元,用於當晶片數據讀取單元和更新數據獲取單元得到數據後,刪 除所述根節點及其左子樹,得到新的塊二叉樹及其根節點。
10、 如權利要求8所述的數據寫入裝置,其特徵在於,該數據寫入裝置還包括數據切割單元,用於根據晶片中的各個資源塊對應的地址範圍,對輸入數 據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;數據信息存儲單元,用於將得到的對應不同地址範圍的多個數據塊的數據 信息,存儲到塊二叉樹中與各個資源塊對應的節點上。
11、 如權利要求8所述的數據寫入裝置,其特徵在於,該數據寫入裝置還 包括塊二叉樹構造單元,用於在緩存中構造塊二叉樹,並使構造的塊二叉樹滿 足條件塊二叉樹的根節點,用於存儲信息,所述信息包括數據信息,並包 括指向左子樹的指針和/或指向右子樹的指針;塊二叉樹的子節點,用於存儲信 息,所述信息包括數據信息,並可選地包括指向左子樹的指針和/或指向右子 樹的指針;塊二叉樹的最大深度為晶片中的資源塊的數目,塊二叉樹的實際深 度為當前緩存中數據對應於晶片中資源塊的數目;塊二叉樹的任意一個節點及 所述節點的左子樹上的節點對應晶片中的同一個資源塊;塊二叉樹的任意一個 節點及所述節點的右子樹上的節點分別對應晶片中的不同資源塊。
12、 一種晶片的悽t據讀取裝置,其特徵在於,該數據讀取裝置包括 數據切割單元,用於根據晶片中的各個資源塊對應的地址範圍,對需要讀取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊; 遍歷單元,用於遍歷塊二叉樹的每個節點中存儲的數據信息; 第 一讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完全包含所述多個數據塊的數據信息時,則從緩存中讀取數據;第二讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點完全不包含所述多個數據塊的數據信息時,則從晶片中讀取數據;第三讀取單元,用於當所述遍歷單元遍歷的結果為所述塊二叉樹的節點部分包含所述多個數據塊的數據信息時,則讀取晶片中的數據,並根據能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應的數據,並利用從緩存中找到的相應數據將從晶片中讀取到的數據更新。
13、 一種晶片的數據讀寫系統,其特徵在於,該凝:據讀寫系統包括 數據寫入裝置,用於從晶片中找到與塊二叉樹的根節點對應的資源塊,並將該資源塊中存儲的數據讀取到指定緩存中;以及,根據所述塊二叉樹的根節 點及其左子樹上的所有節點中存儲的數據信息,從緩存中找到相應的數據;利 用從緩存中找到的相應數據將讀取到指定緩存中的數據更新,並將更新後得到 的數據寫入到所述晶片中;數據讀取裝置,用於根據晶片中的各個資源塊對應的地址範圍,對需要讀 取數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊;遍歷塊二 叉樹的每個節點中存儲的數據信息,若所述多個數據塊的數據信息全部能在塊 二叉樹的節點中讀取到,則從緩存中讀取數據;若所述多個數據塊的數據信息 全部不能在塊二叉樹的節點中讀取到,則從晶片中讀取數據;若所述多個數據 塊的數據信息部分能在塊二叉樹的節點中讀取到,則讀取晶片中的數據,並根 據能在塊二叉樹的節點中讀取到的數據信息,從緩存中找到相應的數據,並利 用從緩存中找到的相應數據將從晶片中讀取到的數據更新。
14、 如權利要求13所述的數據讀寫系統,其特徵在於, 該數據讀寫系統還包括塊二叉樹構造裝置,用於在緩存中構造塊二叉樹,並使構造的塊二叉樹滿足條件塊二叉樹的根節點,用於存儲信息,所述信息 包括數據信息,並包括指向左子樹的指針和/或指向右子樹的指針;塊二叉樹 的子節點,用於存儲信息,所述信息包括數據信息,並可選地包括指向左子 樹的指針和/或指向右子樹的指針;塊二叉樹的最大深度為晶片中的資源塊的數 目,塊二叉樹的實際深度為當前緩存中數據對應於晶片中資源塊的數目;塊二 叉樹的任意一個節點及所述節點的左子樹上的節點對應晶片中的同一個資源 塊;塊二叉樹的任意一個節點及所述節點的右子樹上的節點分別對應晶片中的 不同資源塊;所述數據寫入裝置,還用於根據晶片中的各個資源塊對應的地址範圍,對輸入數據的地址範圍進行切割,得到對應不同地址範圍的多個數據塊,並將得 到的對應不同地址範圍的多個數據塊的數據信息,存儲到塊二叉樹中與各個資 源塊對應的節點上。
全文摘要
本發明公開了一種晶片的數據讀寫方法、相應裝置和系統,能夠解決現有技術讀寫效率低和影響晶片使用壽命的問題。本發明提供的技術方案在執行讀寫操作時,以晶片中的一個資源塊在塊二叉樹中對應的所有節點為操作單位,不僅能夠提高讀寫效率,也能夠減少對晶片的操作次數,從而能夠提高晶片的使用壽命。同時,當要讀取的數據部分在緩存中且部分在晶片中時,則分別讀取,這樣就無需先將緩存中的數據寫入晶片,從而能夠進一步提高數據的讀取效率。
文檔編號G06F12/08GK101452422SQ200710178398
公開日2009年6月10日 申請日期2007年11月29日 優先權日2007年11月29日
發明者馮增華, 王舒翀 申請人:大唐移動通信設備有限公司;上海大唐移動通信設備有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀