新四季網

一種檢測內存單元的方法及設備的製作方法

2023-06-10 17:27:51 1

專利名稱:一種檢測內存單元的方法及設備的製作方法
技術領域:
本發明涉及計算機及通信領域,特別涉及一種檢測內存單元的方法及設備。
背景技術:
隨著網絡中的信息容量的 増加,網絡設備在處理數據的過程中,會將大量的數據緩存在外部緩存中,並且在處理數據的過程中對外部緩存進行有效的管理來充分利用外部緩存的帶寬和容量。網絡設備通過存儲訪問模塊和內存管理模塊來對外部緩存進行管理,其中,外部緩存被劃分成多個內存単元,內存管理模塊中包括外部緩存中空閒的內存單元的MMU(Memory Management Unit,內存管理單元)地址;存儲訪問模塊當需要將數據緩存到外部緩存中時,向內存管理模塊申請內存単元,內存管理模塊分配空閒的內存單元的MMU地址並將該內存単元的MMU地址發送給內存訪問模塊,內存訪問模塊根據該內存單元的MMU地址將該數據存儲在外部緩存中對應的內存單元中;內存訪問模塊當需要釋放申請的內存單元的MMU地址時,將該內存單元的MMU地址發送給存儲管理模塊,以請求內存管理模塊釋放該內存單元的MMU地址。在實現本發明的過程中,發明人發現現有技術至少存在以下問題存儲訪問模塊在向內存管理模塊釋放內存單元的MMU地址時,可能會出現同一內存單元的MMU地址被重複釋放;以及,存儲訪問模塊向內存管理模塊申請內存単元吋,內存管理模塊可能會出同一內存單元的MMU地址被重複分配,從而可能引起系統癱瘓。

發明內容
為了避免引起系統癱瘓,本發明提供了一種檢測內存單元的方法及設備。所述技術方案如下一種檢測內存單元的方法,所述方法包括獲得內存單元的地址,所述內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址,且所述內存單元為外部緩存中的內存單元;根據所述內存單元的地址獲取所述內存單元的內存狀態;根據所述內存單元的內存狀態檢測所述內存單元的地址的合法性; 如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存単元的地址分配給所述存儲訪問模塊。一種檢測內存單元的設備,所述設備包括第一獲取模塊,用於獲得內存單元的地址,所述內存単元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址,且所述內存単元為外部緩存中的內存單元;第二獲取模塊,用於根據所述內存單元的地址獲取所述內存單元的內存狀態;檢測模塊,用於根據所述內存單元的內存狀態檢測所述內存單元的地址的合法性,如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存単元的地址分配給所述存儲訪問模塊。在本發明實施例中,當存儲訪問模塊需要釋 放內存單元的地址或者內存管理模塊分配內存單元的地址時,獲得該內存単元的地址,檢測該內存単元的地址的合法性;如果該內存單元的地址合法且該內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址,控制內存管理模塊回收該內存單元的地址,如果該內存單元的地址合法且該內存單元的地址為內存管理模塊分配的內存單元的地址,把該內存単元的地址分配給存儲訪問模塊。其中,內存訪問模塊重複釋放同一內存單元的地址為不合法的內存單元的地址,以及內存管理模塊重複分配同一內存單元的地址為不合法的內存單元的地址,如此能夠防止內存訪問模塊重複向內存管理模塊釋放同一內存單元的地址,以及能夠防止內存管理模塊重複分配同一內存單元的地址,從而避免引起系統癱瘓。


圖I是本發明實施例提供的一種檢測內存單元的方法流程圖;圖2是本發明另ー實施例提供的一種檢測內存單元的方法流程圖;圖3是本發明另ー實施例應用的系統架構;圖4是本發明另ー實施例提供的外部緩存的結構示意圖;圖5是本發明另ー實施例提供的一種檢測內存單元的設備結構示意圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進ー步地詳細描述。參見圖1,本發明實施例提供了一種檢測內存單元的方法,包括步驟101 :獲得內存單元的地址,該內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址,且該內存單元為外部緩存中的內存單元;步驟102 :根據該內存單元的地址獲取該內存單元的內存狀態;步驟103 :根據該內存單元的內存狀態檢測該內存單元的地址的合法性;步驟104 :如果該內存單元的內存狀態合法且該內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址,控制內存管理模塊回收內存単元的地址;步驟105 :如果該內存單元的內存狀態合法且該內存單元的地址為內存管理模塊分配的內存單元的地址,把該內存単元的地址分配給存儲訪問模塊。在本發明實施例中,當存儲訪問模塊需要釋放內存單元的地址或者內存管理模塊分配內存單元的地址時,獲得該內存単元的地址,檢測該內存単元的地址的合法性;如果該內存單元的地址合法且該內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址,控制內存管理模塊回收該內存單元的地址,如果該內存單元的地址合法且該內存單元的地址為內存管理模塊分配的內存單元的地址,把該內存単元的地址分配給存儲訪問模塊。其中,內存訪問模塊重複釋放同一內存單元的地址為不合法的內存單元的地址,以及內存管理模塊重複分配同一內存單元的地址為不合法的內存單元的地址,如此能夠防止內存訪問模塊重複向內存管理模塊釋放同一內存單元的地址,以及能夠防止內存管理模塊重複分配同一內存單元的地址,從而避免引起系統癱瘓。本發明實施例提供了一種檢測內存單元的方法。其中,在本發明實施例中,通過檢測設備來檢測存儲訪問模塊釋放的內存單元的地址的合法性以及檢測內存管理模塊分配的內存單元的地址的合法性,參 見圖2,該方法包括步驟201 :檢測設備接收存儲訪問模塊發送的釋放請求消息,且該釋放請求消息攜帯存儲訪問模塊需要釋放的內存單元的地址;其中,本實施例應用如圖3所示的系統架構,該系統架構包括外部緩存、存儲訪問模塊、內存管理模塊和檢測設備;外部緩存包括多個內存単元,每個內存單元對應ー個地址,內存管理模塊包括外部緩存中空閒的內存單元的地址,例如,參見圖4所示的外部緩存,該外部緩存包括5個內存單元,分別為第一內存單元、第二內存單元、第三內存單元、第四內存單元和第五內存單元,且第一內存單元的地址、第二內存單元的地址、第三內存單元的地址、第四內存單元的址址和第五內存單元的地址分別為0000、0001、0002、0003和0004。其中,當存儲訪問模塊需要從外部緩存中讀取數據時,根據存儲該數據的內存單元的地址,從外部緩存對應的內存單元中讀取該數據,當從該內存單元中讀取完數據,則需要釋放該內存單元的地址,並發送釋放請求消息給檢測設備,且該釋放請求消息攜帶該內存單元的地址,以請求釋放該內存單元的地址。其中,內存單元的地址可以為內存單元的MMU地址等。其中,檢測設備中包括內存信息表,且內存信息表包括以下兩種形式第一種形式、內存信息表用於存儲外部緩存中的每個內存單元的內存狀態;其中,事先根據外部緩存中的每個內存單元的地址計算出在內存信息表中存儲每個內存單元的內存狀態的地址,根據存儲每個內存單元的內存狀態的地址將每個內存單元的內存狀態存儲在內存信息表中。進ー步地,如果外部緩存中的某個內存單元的被存儲訪問模塊申請佔用,則在內存信息表中存儲該內存單元的內存狀態的地址對應的空間中除了存儲該內存單元的內存狀態,還可以存儲該內存単元的時間戳,該內存單元的時間戳為內存訪問模塊申請該內存単元的時間戳。例如,對於如圖3所示的外部緩存包括的5個內存單元,事先根據第一內存單元的地址0000、第ニ內存單元的地址0001、第三內存單元的地址0002、第四內存單元的地址0003和第五內存單元的地址0004分別計算出在內存信息表中存儲第一內存單元的內存狀態的地址al,第二內存單元的內存狀態的地址a2、第三內存單元的內存狀態的地址a3、第四內存單元的內存狀態的地址a4以及第五內存單元的內存狀態的地址a5 ;並根據存儲第一內存單元的內存狀態的地址al,第二內存單元的內存狀態的地址a2、第三內存單元的內存狀態的地址a3、第四內存單元的內存狀態的地址a4以及第五內存單元的內存狀態的地址a5分別將第一內存單元的內存狀態、第二內存單元的內存狀態、第三內存單元的內存狀態、第四內存單元的內存狀態和第五內存單元的內存狀態存儲在如表I所示的內存信息表中。表I

權利要求
1.一種檢測內存單元的方法,其特徵在於,所述方法包括 獲得內存單元的地址,所述內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址,且所述內存單元為外部緩存中的內存單元; 根據所述內存單元的地址獲取所述內存単元的內存狀態; 根據所述內存單元的內存狀態檢測所述內存單元的地址的合法性; 如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址; 如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存単元的地址分配給所述存儲訪問模塊。
2.如權利要求I所述的方法,其特徵在於,所述根據所述內存単元的地址獲取所述內存單元的內存狀態,包括 根據所述內存單元的地址計算出在內存信息表中存儲所述內存單元的內存狀態的地址,所述內存信息表用於存儲所述外部緩存中的內存單元的內存狀態; 根據所述計算出的在所述內存信息表中存儲所述內存単元的內存狀態的地址,從所述內存信息表中讀取所述內存単元的內存狀態。
3.如權利要求I所述的方法,其特徵在於,所述根據所述內存単元的地址獲取所述內存單元的內存狀態,包括 根據所述內存單元的地址從內存信息表中查找所述內存単元的內存狀態,所述內存信息表用於存儲所述外部緩存中的內存單元的地址和內存狀態。
4.如果權利要求I至3任一項權利要求所述的方法,其特徵在於,所述獲得內存單元的地址,包括 接收所述內存訪問模塊發送的釋放請求消息,所述釋放請求消息攜帯所述內存訪問模塊需要釋放的內存單元的地址; 相應地,所述根據所述內存単元的內存狀態檢測所述內存単元的地址的合法性,包括 如果所述內存單元的內存狀態為忙碌狀態,則檢測出所述內存單元的地址合法,如果所述內存単元的內存狀態為空閒狀態,則檢測出所述內存単元的地址不合法。
5.如權利要求4所述的方法,其特徵在於,所述檢測出所述內存単元的地址合法之後,還包括 在內存信息表中將所述內存單元的內存狀態修改為空閒狀態。
6.如權利要求4或5所述的方法,其特徵在於,所述內存信息表還用於存儲所述內存單元的時間戳,所述時間戳為所述內存単元被所述內存訪問模塊申請時的時間; 相應地,所述檢測出所述內存単元的地址合法之後,還包括 在內存信息表中將所述內存單元的時間戳清空。
7.如權利要求I至3任一項權利要求所述的方法,其特徵在於,所述獲得內存單元的地址,包括 接收所述內存管理模塊發送的申請響應消息,所述申請響應消息攜帯所述內存管理模塊為所述內存訪問模塊分配的內存單元的地址;相應地,所述根據所述內存単元的內存狀態檢測所述內存単元的地址的合法性,包括 如果所述內存單元的內存狀態為忙碌狀態,則檢測出所述內存單元的地址不合法,如果所述內存單元的內存狀態為空閒狀態,則檢測出所述內存単元的地址合法。
8.如權利要求7所述的方法,其特徵在於,所述檢測出所述內存単元的地址合法之後,還包括 在內存信息表中將所述內存單元的內存狀態修改為忙碌狀態。
9.如權利要求7或8所述的方法,其特徵在於,所述內存信息表還用於存儲所述內存單元的時間戳,所述時間戳用於存儲所述內存単元被所述內存訪問模塊申請時的時間; 所述檢測出所述內存単元的地址合法之後,還包括 根據所述內存單元被申請的時間獲取所述內存単元的時間戳,並在內存信息表中存儲所述內存単元的時間戳。
10.如權利要求9所述的方法,其特徵在於,所述方法還包括 對所述內存信息表中狀態為忙碌狀態的內存單元的時間戳進行監控; 當監控出在預設時間之前的時間戳,獲得所述時間戳對應的內存單元的地址,回收所述內存單元的地址。
11.一種檢測內存單元的設備,其特徵在於,所述設備包括 第一獲取模塊,用於獲得內存單元的地址,所述內存単元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址,且所述內存單元為外部緩存中的內存單元; 第二獲取模塊,用於根據所述內存単元的地址獲取所述內存単元的內存狀態; 檢測模塊,用於根據所述內存単元的內存狀態檢測所述內存単元的地址的合法性,如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存單元的地址分配給所述存儲訪問模塊。
12.如權利要求11所述的設備,其特徵在於,所述獲取模塊包括 計算單元,用於根據所述內存単元的地址計算出在內存信息表中存儲所述內存単元的內存狀態的地址,所述內存信息表用於存儲所述外部緩存中的內存單元的內存狀態; 讀取單元,用於根據所述計算出的在所述內存信息表中存儲所述內存単元的內存狀態的地址從所述內存信息表中讀取所述內存單元的內存狀態。
13.如權利要求11所述的設備,其特徵在幹, 所述第二獲取模塊,具體用於根據所述內存単元的地址從內存信息表中查找所述內存單元的內存狀態,所述內存信息表用於存儲所述外部緩存中的內存單元的地址和內存狀態。
14.如果權利要求11至13任一項權利要求所述的設備,其特徵在幹, 所述第一獲取模塊,具體用於接收所述內存訪問模塊發送的釋放請求消息,所述釋放請求消息攜帯所述內存訪問模塊需要釋放的內存單元的地址; 相應地,所述檢測模塊,具體用於如果所述內存単元的內存狀態為忙碌狀態,則檢測出所述內存単元的地址合法,如果所述內存單元的內存狀態為空閒狀態,則檢測出所述內存単元的地址不合法,如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存単元的地址分配給所述存儲訪問模塊。
15.如權利要求14所述的設備,其特徵在於,所述設備還包括 第一修改模塊,用於在內存信息表中將所述內存単元的內存狀態修改為空閒狀態。
16.如權利要求14或15所述的設備,其特徵在於,所述內存信息表還用於存儲所述內存單元的時間戳,所述時間戳為所述內存単元被所述內存訪問模塊申請時的時間戳; 相應地,所述設備還包括 清空模塊,用於在內存信息表中將所述內存単元的時間戳清空。
17.如權利要求11至13任一項權利要求所述的設備,其特徵在幹, 所述第一獲取模塊,具體用於接收所述內存管理模塊發送的申請響應消息,所述申請響應消息攜帯所述內存管理模塊為所述內存訪問模塊分配的內存單元的地址; 相應地,所述檢測模塊,具體用於如果所述內存単元的內存狀態為忙碌狀態,則檢測出所述內存単元的地址不合法,如果所述內存單元的內存狀態為空閒狀態,則檢測出所述內存單元的地址合法,如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存単元的地址分配給所述存儲訪問模塊。
18.如權利要求17所述的設備,其特徵在於,所述設備還包括 第二修改模塊,用於在內存信息表中將所述內存単元的內存狀態修改為忙碌狀態。
19.如權利要求17或18所述的設備,其特徵在於,所述內存信息表還用於存儲所述內存單元的時間戳,所述時間戳用於存儲所述內存単元被所述內存訪問模塊申請時的時間; 所述設備還包括 存儲模塊,用於根據所述內存単元被申請的時間獲取所述內存単元的時間戳,並在內存信息表中存儲所述內存単元的時間戳。
20.如權利要求19所述的設備,其特徵在於,所述設備還包括 回收模塊,用於對所述內存信息表中狀態為忙碌狀態的內存單元的時間戳進行監控;當監控出在預設時間之前的時間戳,獲得所述時間戳對應的內存單元的地址,回收所述內存單元的地址。
全文摘要
本發明公開了一種檢測內存單元的方法及設備,屬於計算機領域。所述方法包括獲得內存單元的地址,所述內存單元的地址為存儲訪問模塊需要釋放的內存單元的地址或者為內存管理模塊分配的內存單元的地址;根據所述內存單元的地址獲取所述內存單元的內存狀態;根據所述內存單元的內存狀態檢測所述內存單元的地址的合法性;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述存儲訪問模塊需要釋放的內存單元的地址,控制所述內存管理模塊回收所述內存單元的地址;如果所述內存單元的內存狀態合法且所述內存單元的地址為所述內存管理模塊分配的內存單元的地址,把所述內存單元的地址分配給所述存儲訪問模塊。本發明能夠避免引起系統癱瘓。
文檔編號G06F12/02GK102650959SQ20121009328
公開日2012年8月29日 申請日期2012年3月31日 優先權日2012年3月31日
發明者張朋, 戴崇經, 江龍 申請人:華為技術有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀