[發明專利]一種流隊列緩存空間地址回收的方法在審
| 申請號: | 202110135642.2 | 申請日: | 2021-02-01 |
| 公開(公告)號: | CN112835818A | 公開(公告)日: | 2021-05-25 |
| 發明(設計)人: | 武斌 | 申請(專利權)人: | 芯河半導體科技(無錫)有限公司 |
| 主分類號: | G06F12/0871 | 分類號: | G06F12/0871;G06F12/0891 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 214135 江蘇省無錫市新吳區菱*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 隊列 緩存 空間 地址 回收 方法 | ||
1.一種流隊列緩存空間地址回收的方法,包括正常的調度出隊,其特征在于,在正常調度出隊的基礎上增加了老化模塊,以老化在緩存內存儲時間最長的報文;
老化模塊的老化方法包括時間觸發老化,空間觸發老化,擁塞觸發老化;
老化模塊采用以入隊命令地址串接雙向鏈表,以命令地址存儲對應的隊列信息;
老化模塊老化先入隊的節點;
老化模塊能夠建議及拆解雙向鏈表。
2.根據權利要求1所述的一種流隊列緩存空間地址回收的方法,其特征在于,具體流程如下:
包到達入隊模塊后,先向空閑指針池申請空閑地址,產生包入隊命令;然后將包分片寫入申請的緩存空間,同時維護隊列鏈表串接關系,生成包入隊描述符給隊列調度模塊和包老化模塊;
包存儲空間接收來自入隊模塊的寫入命令,存儲包;接收來自出隊模塊的讀命令,讀返回包數據;
隊列調度模塊按照調度策略,合并老化模塊送過來的老化隊列后,綜合判斷調度隊列出隊,同時隊列調度模塊響應出口反壓;對于老化隊列的出隊,打上丟棄標記;
出隊模塊接收來自隊列調度模塊的出隊隊列號信息,維護隊列鏈表,生成出隊讀緩存命令,讀出數據,完成出隊操作;將完成出隊的命令地址送給存儲空間地址管理模塊回收,同時將沒有丟棄標記的出隊命令信息送給老化模塊,進行出隊操作;
老化模塊負責對緩存中報文的地址進行排序管理,并根據緩存的深度以及報文在緩存中的時間進行丟棄與否的判斷;當緩存深度超過一定閾值,或者報文在緩存中存儲時間超過一定閾值后,就要對報文進行丟棄。
3.根據權利要求2所述的一種流隊列緩存空間地址回收的方法,其特征在于,所述報文進行丟棄的判斷滿足如下三個條件:
(1)緩存深度Buffer_Depth設定緩存閾值Threshold_Depth;
(2)報文存儲時間Tpacket設定閾值Tdrop;
(3)收到擁塞狀態指示CNG_State。
4.根據權利要求3所述的一種流隊列緩存空間地址回收的方法,其特征在于,所述三個條件能夠通過寄存器配置選擇如下丟棄策略
(1)任何一個滿足即丟棄;
(2)任兩個滿足即丟棄;
(3)三個全部滿足即丟棄。
5.根據權利要求3所述的一種流隊列緩存空間地址回收的方法,其特征在于,所述緩存深度的維護分為系統級和用戶級;系統級管理整個緩存的使用情況,每個報文的進入或者退出緩存都會更新系統級緩存的深度;用戶級深度是統計特定用戶占用的緩存量,只有該用戶的報文進入或者退出緩存才會更新該用戶的緩存深度計數;報文丟棄能夠基于系統級和用戶級的緩存深度統計進行更豐富的策略配置。
6.根據權利要求3所述的一種流隊列緩存空間地址回收的方法,其特征在于,所述報文存儲時間的計算是根據當前時間減去報文進入緩存的時間計算得到的。
7.根據權利要求1-6任一所述的一種流隊列緩存空間地址回收的方法,其特征在于,每個報文進入緩存時,會將此刻的系統時間Tsystem作為報文進入緩存的時間Tinput存儲在一個時間戳緩存中,同時將報文存儲的地址一并存入時間戳緩存;每當有報文進入或退出緩存,都會觸發時間戳緩存內的數據與當前時間Tcurrent進行比較,選出差值最大的,并取出對應報文的存儲地址,將對應報文地址送給出隊調度模塊,進行丟棄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于芯河半導體科技(無錫)有限公司,未經芯河半導體科技(無錫)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110135642.2/1.html,轉載請聲明來源鉆瓜專利網。





