專利名稱:一種提高存儲器數(shù)據(jù)緩存可靠性的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及提高存儲器數(shù)據(jù)緩存可靠性的 方法和裝置。
背景技術(shù):
在路由交換設(shè)備中,對數(shù)據(jù)進行緩存時,如圖l所示,數(shù)據(jù)緩存控制模
塊101通常將數(shù)據(jù)包按照一定的規(guī)則拆分成多個數(shù)據(jù)片存儲到存儲器102, 在數(shù)據(jù)包輸出時,再將被拆分成的多個數(shù)據(jù)片進行組合,恢復(fù)成原來的數(shù)據(jù) 包。數(shù)據(jù)包拆分的數(shù)據(jù)片長度應(yīng)該與數(shù)據(jù)包最小長度、內(nèi)部包處理速度、存 儲器數(shù)據(jù)位寬等因素有關(guān)。隊列保存通常選用不同隊列存儲區(qū)域動態(tài)保存的 方式,在考慮動態(tài)存儲器的帶寬利用率的條件下,任何空閑區(qū)域隨時都可以 放入需要緩存的隊列數(shù)據(jù)。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,路由交換設(shè)備中數(shù)據(jù)動態(tài)緩存的容量越來越大, 數(shù)據(jù)緩存的可靠性問題成為不得不考慮的問題。通常的處理方式是通過糾錯 碼(Error correction code,簡稱ECC )提高數(shù)據(jù)緩存容錯能力,即接收數(shù)據(jù) 時,對每個數(shù)據(jù)片生成糾錯碼,輸出數(shù)據(jù)時,根據(jù)每個數(shù)據(jù)片的糾錯碼對此 數(shù)據(jù)片進行糾錯后輸出,以提高緩存數(shù)據(jù)的可靠性。但是ECC是通過增加 冗余數(shù)據(jù)來實現(xiàn)容錯能力的,不同的ECC算法的冗余數(shù)據(jù)長度不同,而不 同應(yīng)用場景下的數(shù)據(jù)片的長度亦不同,數(shù)據(jù)片的切分一定是將數(shù)據(jù)片地址整 數(shù)切分,加入不同的冗余數(shù)據(jù)長度后??赡軙斐蓴?shù)據(jù)地址生成和尋址的復(fù) 雜化,所以路由交換設(shè)備中的對數(shù)據(jù)緩存時一般不考慮增加冗余數(shù)據(jù)的方 式。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種提高存儲 數(shù)據(jù)緩存可靠性的方法和裝置,檢測存儲器中是否存在不安全存儲空間,并提高數(shù)據(jù)緩存的可靠 性。為了解決上述技術(shù)問題,本發(fā)明提供了一種提高存儲器數(shù)據(jù)緩存可靠性 的裝置,包括與所述存儲器相連的數(shù)據(jù)緩存控制模塊,所述數(shù)據(jù)緩存控制模 塊用于將接收到的數(shù)據(jù)緩存于所述存儲器中,并在緩存結(jié)束后將緩存在所述存儲器的數(shù)據(jù)讀出,還包括與所述數(shù)據(jù)緩存控制模塊相連的數(shù)據(jù)檢測模塊; 所述數(shù)據(jù)緩存控制模塊,還用于在所述存儲器中寫入緩存數(shù)據(jù)之前向所述數(shù) 據(jù);險測模塊提供待寫入的緩存數(shù)據(jù)和存儲器中用于存儲此緩存數(shù)據(jù)的存儲 空間地址;從所述存儲器中的所述存儲空間地址讀出所述緩存數(shù)據(jù)之后,向 所述數(shù)據(jù)檢測模塊提供已讀出的緩存數(shù)據(jù);還用于從所述數(shù)據(jù)檢測模塊處獲 知所述存儲器中存儲空間的正?;虍惓5臓顟B(tài),并只向正常的存儲空間存入 后續(xù)的緩存數(shù)據(jù);所述數(shù)據(jù)檢測模塊,用于判斷所述已讀出的緩存數(shù)據(jù)與所 述待寫入的緩存數(shù)據(jù)是否相同,相同時,則判定所述存儲器中用于存儲此緩 存數(shù)據(jù)的存儲空間正常;不相同時,判定所述存儲器中用于存儲此緩存數(shù)據(jù) 的存儲空間異常;并將所述存儲器中存儲空間的正常或異常的狀態(tài)通知至所 述數(shù)據(jù)緩存控制模塊。進一步地,上述裝置還具有以下特點所述數(shù)據(jù)檢測模塊包括依次相連的數(shù)據(jù)輸入控制單元、存儲單元、數(shù)據(jù) 輸出控制單元;所述數(shù)據(jù)輸入控制單元,用于從所述數(shù)據(jù)緩存控制模塊處獲 取所述待寫入的緩存數(shù)據(jù)后,所述待寫入的緩存數(shù)據(jù)生成第一校驗數(shù)據(jù)并保 存至所述存儲單元;還用于從所述數(shù)據(jù)緩存控制模塊處獲取所述已讀出的緩 存數(shù)據(jù)后,根據(jù)所述已讀出的緩存數(shù)據(jù)生成第二校驗數(shù)據(jù),判斷所述第一校 -瞼數(shù)據(jù)和第二校驗數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的 存儲空間正常;判斷所述第一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)不同時,則判定所述 存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常,并將所述存儲器中用于存儲 此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài)存儲在所述存儲單元;所述數(shù)據(jù)輸 出控制單元,用于從所述存儲單元獲取所述存儲器中用于存儲此緩存數(shù)據(jù)的 存儲空間的正?;虍惓顟B(tài),將此存儲空間的狀態(tài)通知至所述數(shù)據(jù)緩存控制 模塊。進一步地,上述裝置還具有以下特點所述數(shù)據(jù)檢測模塊包括依次相連的數(shù)據(jù)輸入控制單元、存儲單元、數(shù)據(jù) 輸出控制單元;所述數(shù)據(jù)輸入控制單元,用于從所述數(shù)據(jù)緩存控制^^莫塊處獲 取所述待寫入的緩存數(shù)據(jù)后存儲至所述存儲單元;還用于從所述數(shù)據(jù)緩存控 制模塊處獲取所述已讀出的緩存數(shù)據(jù)后,比較所述已讀出的緩存數(shù)據(jù)和存儲 的待寫入的緩存數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存 儲空間正常;比較所述已讀出的緩存數(shù)據(jù)和存儲的待寫入的緩存數(shù)據(jù)不同 時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常,并將所述存 儲器中用于存儲此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài)存儲在所述存儲 單元;所述數(shù)據(jù)輸出控制單元,用于從所述存儲單元獲取所述存儲器中用于 存儲此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài),將此存儲空間的狀態(tài)通知至 所述數(shù)據(jù)緩存控制模塊。進一步地,上述裝置還具有以下特點所述存儲單元,還用于維護一存儲器映射表,所述存儲器映射表的組成 元素一一對應(yīng)于所述存儲器的存儲空間段,各組成元素表示對應(yīng)的存儲空間 段的狀態(tài);所述數(shù)據(jù)輸入控制單元,還用于判斷出存儲空間段的狀態(tài)后,將 此存儲空間段的狀態(tài)寫入所述存儲器映射表;所述數(shù)據(jù)輸出控制單元,還用 于將所述存儲器映射表提供至所述數(shù)據(jù)緩存控制模塊。進一步地,上述裝置還具有以下特點所述存儲器映射表的組成元素占用的空間為一比特,所述存儲器映射表 的每個組成元素對應(yīng)的存儲空間段的容量相同。進一步地,上迷裝置還具有以下特點所述裝置應(yīng)用于路由交換設(shè)備。為了解決上述技術(shù)問題,本發(fā)明還提供了 一種提高存儲器數(shù)據(jù)緩存可靠 性的方法,包括在存儲器中存儲緩存數(shù)據(jù);從存儲器中保存所述緩存數(shù) 據(jù)的存儲空間地址中讀出所述緩存數(shù)據(jù)之后,判斷所述已讀出的緩存數(shù)據(jù)與 進行存儲之前待寫入的緩存數(shù)據(jù)是否相同,相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正常;不相同時,判定所述存儲器中用于存儲 此緩存數(shù)據(jù)的存儲空間異常;在后續(xù)數(shù)據(jù)緩存過程中對緩存數(shù)據(jù)進行存儲 時,只向存儲器中處于正常狀態(tài)的存儲空間存入緩存數(shù)據(jù)。進一步地,上述方法還具有以下特點以判斷校驗數(shù)據(jù)的方式判斷所述已讀出的緩存數(shù)據(jù)與進行存儲之前待 寫入的緩存數(shù)據(jù)是否相同,具體包括根據(jù)進行存儲之前所述待寫入的緩存 數(shù)據(jù)生成第一校驗數(shù)據(jù)并保存;從存儲器中保存所述緩存數(shù)據(jù)的存儲空間地 址中讀出所述緩存數(shù)據(jù)之后,根據(jù)所述已讀出的緩存數(shù)據(jù)生成第二校驗數(shù)據(jù) 判斷所述第 一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)相同時,則判定所述存儲器中用于存 儲此緩存數(shù)據(jù)的存儲空間正常;判斷所述第一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)不同 時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常;存儲此緩存 數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài)。進一步地,上述方法還具有以下特點通過維護一存儲器映射表記錄所述存儲器中存儲空間的狀態(tài),所述存儲 器映射表的組成元素一一對應(yīng)于所述存儲器的存儲空間段,各組成元素表示 對應(yīng)的存儲空間段的狀態(tài);將判斷出存儲空間段的狀態(tài)寫入所述存儲器映射表。進一步地,上述方法還具有以下特點所述存儲器映射表的組成元素占用的空間為一比特,所述存儲器映射表 的每個組成元素對應(yīng)的存儲空間段的容量相同。采用本發(fā)明所述方法,與現(xiàn)有提高容^l晉能力的糾錯碼技術(shù)相比,使用簡 易的代碼移植實現(xiàn),直接應(yīng)用于進行數(shù)據(jù)緩存的現(xiàn)有設(shè)備,檢測存儲器中是 否存在不安全存儲空間,進一步提高數(shù)據(jù)緩存的可靠性。
圖1是現(xiàn)有技術(shù)中路由交換設(shè)備進行數(shù)據(jù)緩存的模塊結(jié)構(gòu)圖; 圖2是實施例中提高存儲器數(shù)據(jù)緩存可靠性的裝置的模塊結(jié)構(gòu)圖;圖3是實施例中數(shù)據(jù)檢測模塊的具體組成結(jié)構(gòu)圖。
具體實施方式
如圖2所示,提高存儲器數(shù)據(jù)緩存可靠性的裝置包括數(shù)據(jù)緩存控制模塊 101和與數(shù)據(jù)緩存控制模塊101相連的存儲器102,還包括與數(shù)據(jù)緩存控制 模塊101相連的數(shù)據(jù)檢測模塊103;數(shù)據(jù)緩存控制模塊101,用于將接收到的數(shù)據(jù)緩存于存儲器102中,并 在緩存結(jié)束后將緩存在所述存儲器的數(shù)據(jù)讀出,還用于在所述存儲器中寫入 緩存數(shù)據(jù)之前向所述數(shù)據(jù)檢測模塊提供待寫入的緩存數(shù)據(jù)和存儲器中用于 存儲此緩存數(shù)據(jù)的存儲空間地址;還用于從所述存儲器中的所述存儲空間地 址讀出所述緩存數(shù)據(jù)之后,向所述數(shù)據(jù)檢測模塊提供已讀出的緩存數(shù)據(jù);還 用于從數(shù)據(jù)檢測才莫塊處獲知所述存儲器中存儲空間的正?;虍惓G闆r,并只 向正常的存儲空間存入緩存數(shù)據(jù),將異常的存儲空間進行隔離。數(shù)據(jù)檢測模塊103,用于在判斷所述已讀出的緩存數(shù)據(jù)與所述待寫入的 緩存數(shù)據(jù)是否相同,相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存 儲空間正常;不相同時,判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間 異常,并將所述存儲器中存儲空間的正?;虍惓G闆r通知至所述數(shù)據(jù)緩存控 制模塊;如圖3所示,數(shù)據(jù)檢測模塊103包括依次相連的數(shù)據(jù)輸入控制單元201、 存儲單元202、凄史據(jù)輸出控制單元203;數(shù)據(jù)輸入控制單元201 ,用于從所述數(shù)據(jù)緩存控制模塊處獲取所述待寫 入的緩存數(shù)據(jù)后,根據(jù)所述待寫入的緩存數(shù)據(jù)生成第一校驗數(shù)據(jù),并將所述 校驗數(shù)據(jù)存儲至所述存儲單元;從所述數(shù)據(jù)緩存控制模塊處獲取所述已讀出 的緩存數(shù)據(jù)后,才艮據(jù)所述已讀出的緩存數(shù)據(jù)生成第二校驗數(shù)據(jù);判斷所述第 一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù) 據(jù)的存儲空間正常;判斷所述第一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)不同時,則判定 所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常,并將所述存儲器中用于 存儲此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài)存儲在所述存儲單元;或者, 從數(shù)據(jù)緩存控制才莫塊處獲取所述待寫入的緩存數(shù)據(jù)后存儲至所述存儲單元;9從所述數(shù)據(jù)緩存控制模塊處獲取所述已讀出的緩存數(shù)據(jù)后,判斷所述已讀出 的緩存數(shù)據(jù)和存儲的待寫入的緩存數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正常;判斷所述已讀出的緩存數(shù)據(jù)和存儲的待寫入 的緩存數(shù)據(jù)不同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常。數(shù)據(jù)輸出控制單元203,用于從所述存儲單元獲取所述存儲器中用于存 儲此緩存數(shù)據(jù)的存儲空間的正常或異常狀態(tài),將此存儲空間的狀態(tài)通知至所 述數(shù)據(jù)緩存控制模塊。存儲單元202,還用于維護一存儲器映射表,存儲器映射表的組成元素 一一對應(yīng)于所述存儲器的存儲空間段,存儲器映射表的組成元素占用的空間 為一比特(例如,比特值為1時表示此組成元素對應(yīng)的存儲空間段正常,比 特值為0時表示此組成元素對應(yīng)的存儲空間段正常),存儲器映射表的每個 組成元素對應(yīng)的存儲空間段的容量相同或者不同,為了存儲流程的易于實 現(xiàn), 一般設(shè)置存儲空間段的容量相同(例如均為1K比特)。存儲單元202 在設(shè)備啟動時,對存儲器映射表進行初始化,默認(rèn)存儲器中各存儲地址空間 均是正常狀態(tài)。數(shù)據(jù)輸入控制單元201判斷出存儲空間段的狀態(tài)后,將此存 儲空間段的狀態(tài)寫入所述存儲器映射表;數(shù)據(jù)輸出控制單元203將所述存儲 器映射表提供至數(shù)據(jù)緩存控制模塊101,數(shù)據(jù)緩存控制模塊101存儲新的緩 存數(shù)據(jù)時,查詢此存儲器映射表,只在標(biāo)識為正常的存儲空間段中存儲數(shù)據(jù)。上述裝置中通過建立數(shù)據(jù)片的映射鏈表來標(biāo)識物理存儲區(qū)域,將寫入數(shù) 據(jù)進行備份,當(dāng)數(shù)據(jù)讀出時做存儲數(shù)據(jù)驗證,將出錯的數(shù)據(jù)片隔離,可以快 速檢測出存儲器中是否存在不安全存儲空間(即由于硬件原因會造成數(shù)據(jù)存 儲錯誤的存儲空間),通過降低數(shù)據(jù)緩存的出錯率來提高可靠性。相比于現(xiàn) 有技術(shù)的ECC容錯方法,不需要生成冗余數(shù)據(jù),易于對存儲器的存儲空間 地址的管理,且簡單易行。使用圖2圖3所示的裝置提高存儲器數(shù)據(jù)緩存可靠性的 法包括 步驟l, i殳備在上電或復(fù)位后啟動;步驟2,數(shù)據(jù)輸入控制模塊201自動將映射鏈表初始化值寫入映射表, 并存入存儲單元202,初始時先將映射表中所有組成元素的值均設(shè)為1,表 示存儲器的各個存儲空間均正常;步驟3,設(shè)備開啟存儲器檢測狀態(tài);步驟4,在數(shù)據(jù)緩存控制模塊101向存儲器102中寫入緩存數(shù)據(jù)之前, 數(shù)據(jù)輸入控制模塊201從數(shù)據(jù)緩存控制模塊101獲知待寫入的緩存數(shù)據(jù)以及 存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間地址,并根據(jù)所述待寫入的緩存數(shù) 據(jù)生成第一校驗數(shù)據(jù)并保存到存儲單元202;此步驟中,本發(fā)明對根據(jù)待寫入的緩存數(shù)據(jù)生成校驗數(shù)據(jù)的方法不做限 制,本領(lǐng)域技術(shù)人員可采用其知曉的檢驗數(shù)據(jù)生成方式。步驟5,數(shù)據(jù)緩存控制模塊101在存儲器102中存儲所述緩存數(shù)據(jù);步驟6,數(shù)據(jù)緩存控制模塊101需要從存儲器中讀出所述緩存數(shù)據(jù)時, 數(shù)據(jù)輸出控制模塊203從數(shù)據(jù)緩存控制模塊101處獲得讀出的緩存數(shù)據(jù)以及 存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間地址,根據(jù)此讀出的緩存數(shù)據(jù)生成 第二校驗數(shù)據(jù);步驟7,數(shù)據(jù)輸入控制模塊201判斷此存儲空間地址對應(yīng)的第一校驗數(shù) 據(jù)和第二校驗數(shù)據(jù)是否相同,如果不同,則在存儲器映射表中標(biāo)識存儲此緩 存數(shù)據(jù)的存儲空間地址對應(yīng)的組成元素的值為0,表示此存儲空間異常,將 更新后的存儲器映射表通知至數(shù)據(jù)緩存控制模塊101;如果相同,不對此存 儲器映射表作標(biāo)識操作;步驟8,數(shù)據(jù)緩存控制模塊101在后續(xù)的數(shù)據(jù)緩存操作中只在存儲器映 射表中值為1的組成元素所指示的存儲空間地址中存儲數(shù)據(jù)。上述方法可以方便的檢測存儲器中是否存在不安全存儲空間,進一步提 高數(shù)據(jù)緩存的可靠性。并且,本發(fā)明適用于大量數(shù)據(jù)動態(tài)緩存,數(shù)據(jù)切分處 理的有數(shù)據(jù)緩存可靠性要求的硬件設(shè)備,典型適用于路由交換設(shè)備。當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1、一種提高存儲器數(shù)據(jù)緩存可靠性的裝置,包括與所述存儲器相連的數(shù)據(jù)緩存控制模塊,所述數(shù)據(jù)緩存控制模塊用于將接收到的數(shù)據(jù)緩存于所述存儲器中,并在緩存結(jié)束后將緩存在所述存儲器的數(shù)據(jù)讀出,其特征在于,還包括與所述數(shù)據(jù)緩存控制模塊相連的數(shù)據(jù)檢測模塊;所述數(shù)據(jù)緩存控制模塊,還用于在所述存儲器中寫入緩存數(shù)據(jù)之前向所述數(shù)據(jù)檢測模塊提供待寫入的緩存數(shù)據(jù)和存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間地址;從所述存儲器中的所述存儲空間地址讀出所述緩存數(shù)據(jù)之后,向所述數(shù)據(jù)檢測模塊提供已讀出的緩存數(shù)據(jù);還用于從所述數(shù)據(jù)檢測模塊處獲知所述存儲器中存儲空間的正?;虍惓5臓顟B(tài),并只向正常的存儲空間存入后續(xù)的緩存數(shù)據(jù);所述數(shù)據(jù)檢測模塊,用于判斷所述已讀出的緩存數(shù)據(jù)與所述待寫入的緩存數(shù)據(jù)是否相同,相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正常;不相同時,判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常;并將所述存儲器中存儲空間的正常或異常的狀態(tài)通知至所述數(shù)據(jù)緩存控制模塊。
2、 如權(quán)利要求l所述的裝置,其特征在于,所述數(shù)據(jù);險測模塊包括依次相連的數(shù)據(jù)輸入控制單元、存儲單元、數(shù)據(jù) 輸出控制單元;所述數(shù)據(jù)輸入控制單元,用于從所述數(shù)據(jù)緩存控制模塊處獲取所述待寫 入的緩存數(shù)據(jù)后,所述待寫入的緩存數(shù)據(jù)生成第一校驗數(shù)據(jù)并保存至所述存 儲單元;還用于從所述數(shù)據(jù)緩存控制模塊處獲取所述已讀出的緩存數(shù)據(jù)后, 根據(jù)所述已讀出的緩存數(shù)據(jù)生成第二校驗數(shù)據(jù),判斷所述第一校驗數(shù)據(jù)和第 二校驗數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正 常;判斷所述第一校驗數(shù)據(jù)和第二校^r數(shù)據(jù)不同時,則判定所述存儲器中用 于存儲此緩存數(shù)據(jù)的存儲空間異常,并將所述存儲器中用于存儲此緩存數(shù)據(jù) 的存儲空間的正?;虍惓顟B(tài)存儲在所述存儲單元;所述數(shù)據(jù)輸出控制單元,用于從所述存儲單元獲取所述存儲器中用于存 儲此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài),將此存儲空間的狀態(tài)通知至所述數(shù)據(jù)緩存控制模塊。
3、 如權(quán)利要求l所述的裝置,其特征在于,所述數(shù)據(jù)檢測模塊包括依次相連的數(shù)據(jù)輸入控制單元、存儲單元、數(shù)據(jù)輸出控制單元;所述數(shù)據(jù)輸入控制單元,用于從所述數(shù)據(jù)緩存控制模塊處獲取所述待寫 入的緩存數(shù)據(jù)后存儲至所述存儲單元;還用于從所述數(shù)據(jù)緩存控制模塊處獲 取所述已讀出的緩存數(shù)據(jù)后,比較所述已讀出的緩存數(shù)據(jù)和存儲的待寫入的 緩存數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正 常;比較所述已讀出的緩存數(shù)據(jù)和存儲的待寫入的緩存數(shù)據(jù)不同時,則判定 所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常,并將所述存儲器中用于 存儲此緩存數(shù)據(jù)的存儲空間的正?;虍惓顟B(tài)存儲在所述存儲單元;所述數(shù)據(jù)輸出控制單元,用于從所述存儲單元獲取所述存儲器中用于存 儲此緩存數(shù)據(jù)的存儲空間的正常或異常狀態(tài),將此存儲空間的狀態(tài)通知至所 述數(shù)據(jù)緩存控制模塊。
4、 如權(quán)利要求2或3所述的裝置,其特征在于,所述存儲單元,還用于維護一存儲器映射表,所述存儲器映射表的組成 元素——對應(yīng)于所述存儲器的存儲空間段,各組成元素表示對應(yīng)的存儲空間 段的狀態(tài);所述數(shù)據(jù)輸入控制單元,還用于判斷出存儲空間段的狀態(tài)后,將此存儲 空間段的狀態(tài)寫入所述存儲器映射表;所述數(shù)據(jù)輸出控制單元,還用于將所述存儲器映射表提供至所述數(shù)據(jù)緩 存控制模塊。
5、 如權(quán)利要求4所述的裝置,其特征在于,所述存儲器映射表的組成元素占用的空間為一比特,所述存儲器映射表 的每個組成元素對應(yīng)的存儲空間段的容量相同。
6、 如權(quán)利要求4所述的裝置,其特征在于, 所述裝置應(yīng)用于路由交換設(shè)備。
7、 一種提高存儲器數(shù)據(jù)緩存可靠性的方法,包括 在存儲器中存儲緩存數(shù)據(jù);從存儲器中保存所述緩存數(shù)據(jù)的存儲空間地址中讀出所述緩存數(shù)據(jù)之 后,判斷所述已讀出的緩存數(shù)據(jù)與進行存儲之前待寫入的緩存數(shù)據(jù)是否相 同,相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正常;不 相同時,判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常;在后續(xù)數(shù)據(jù)緩存過程中對緩存數(shù)據(jù)進行存儲時,只向存儲器中處于正常 狀態(tài)的存儲空間存入緩存數(shù)據(jù)。
8、 如權(quán)利要求7所述的方法,其特征在于,以判斷校驗數(shù)據(jù)的方式判斷所述已讀出的緩存數(shù)據(jù)與進行存儲之前待 寫入的緩存數(shù)據(jù)是否相同,具體包括根據(jù)進行存儲之前所述待寫入的緩存數(shù)據(jù)生成第一校驗數(shù)據(jù)并保存;從存儲器中保存所述緩存數(shù)據(jù)的存儲空間地址中讀出所述緩存數(shù)據(jù)之 后,根據(jù)所述已讀出的緩存數(shù)據(jù)生成第二校驗數(shù)據(jù)判斷所述第 一校驗數(shù)據(jù)和 第二校驗數(shù)據(jù)相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間 正常;判斷所述第一校驗數(shù)據(jù)和第二校驗數(shù)據(jù)不同時,則判定所述存儲器中 用于存儲此緩存數(shù)據(jù)的存儲空間異常;存儲此緩存數(shù)據(jù)的存儲空間的正?;?異常狀態(tài)。
9、 如權(quán)利要求8所述的方法,其特征在于,通過維護一存儲器映射表記錄所述存儲器中存儲空間的狀態(tài),所述存儲 器映射表的組成元素一一對應(yīng)于所述存儲器的存儲空間革爻,各組成元素表示 對應(yīng)的存儲空間段的狀態(tài);將判斷出存儲空間段的狀態(tài)寫入所述存儲器映射 表。
10、 如權(quán)利要求9所述的方法,其特征在于,所述存儲器映射表的組成元素占用的空間為一比特,所述存儲器映射表 的每個組成元素對應(yīng)的存儲空間^殳的容量相同。
全文摘要
本發(fā)明提供了一種提高存儲器數(shù)據(jù)緩存可靠性的方法和裝置,包括在存儲器中存儲緩存數(shù)據(jù);從存儲器中保存所述緩存數(shù)據(jù)的存儲空間地址中讀出所述緩存數(shù)據(jù)之后,判斷所述已讀出的緩存數(shù)據(jù)與進行存儲之前待寫入的緩存數(shù)據(jù)是否相同,相同時,則判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間正常;不相同時,判定所述存儲器中用于存儲此緩存數(shù)據(jù)的存儲空間異常;在后續(xù)數(shù)據(jù)緩存過程中對緩存數(shù)據(jù)進行存儲時,只向存儲器中處于正常狀態(tài)的存儲空間存入緩存數(shù)據(jù)。采用本發(fā)明所述方法,應(yīng)用于進行數(shù)據(jù)緩存現(xiàn)有設(shè)備,檢測存儲器中是否存在不安全存儲空間,進一步提高數(shù)據(jù)緩存的可靠性。
文檔編號G06F11/07GK101615145SQ200910161519
公開日2009年12月30日 申請日期2009年7月24日 優(yōu)先權(quán)日2009年7月24日
發(fā)明者昶 周, 陳紅旗 申請人:中興通訊股份有限公司