亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種緩存地址的管理方法及裝置的制作方法

文檔序號:7957113閱讀:317來源:國知局
專利名稱:一種緩存地址的管理方法及裝置的制作方法
技術領域
本發(fā)明屬于通信領域,尤其涉及一種緩存地址的管理方法以及管理裝置。
背景技術
交換網(wǎng)(Switch Fabric)是路由器的核心模塊,負責完成多個端口之間包或信元的交換,將到達輸入端口的包或信元交換到相應的輸出端口。由于大部分交換網(wǎng)內(nèi)部不是基于連接的,因此會出現(xiàn)多個輸入端口競爭一個輸出端口的情況,導致信元阻塞或丟失。因此交換網(wǎng)的基本功能之一就是處理輸出端口沖突。緩存與反壓是解決端口沖突的兩種有效手段。按照結構不同,緩存主要包括輸入緩存、輸出緩存以及中間共享緩存三種形式。中間共享緩存技術能保證較高的通過率、緩存利用率以及服務質(zhì)量(Quality Of Service,QOS)特性支持。
在中間共享緩存技術中,緩存地址先進先出(Free Address First In First Out,F(xiàn)AFIFO)管理空閑緩存地址,空閑緩存地址存儲于FAFIFO的靜態(tài)隨機存取存儲器(Static Random Access Memory,SRAM)中。SRAM中的每一個條目(Entry)代表一個空閑緩存地址,每個緩存地址對應的緩存容量為一個信元。假設緩存容量為4k,則每個緩存地址的寬度為12bit,SRAM中一個Entry如下表所示

其中,F(xiàn)a為緩存中的空閑緩存地址,例如,緩存地址0的Fa=0,緩存地址1的Fa=1,依次類推,緩存地址4095的Fa=4095。
FAFIFO由內(nèi)部邏輯進行初始化,初始化完成后,SRAM處于滿狀態(tài),讀寫指針都指向緩存地址0。分配一個空閑緩存地址就是FAFIFO從SRAM中讀出一個Entry,回收一個空閑緩存地址就是FAFIFO向SRAM寫入一個Entry。當信元入隊時,F(xiàn)AFIFO分配一個空閑緩存地址,將入隊信元存儲到該空閑緩存地址對應的緩存空間,并進行輸出排隊。當信元出隊后,F(xiàn)AFIFO回收該緩存地址。
在上述緩存地址的分配和回收過程中,由于沒有保護機制,當某一Entry對應SRAM的某些bit失效或者錯誤時,F(xiàn)AFIFO可能會為兩個不同信元分配相同的地址,導致后存入緩存的信元會覆蓋前一信元,此時輸出排隊的緩存地址中也會有兩個相同的地址,當調(diào)度信元出緩存時,就會從同一個地址兩次讀出后存入的信元,造成信元輸出錯誤。相應的FAFIFO也進行了兩次回收同一個緩存地址的操作,造成緩存地址重復回收,這樣在下一輪地址分配時又有相同的地址分配出去,同樣又會在回收時發(fā)生輸出信元錯誤以及緩存地址重復回收錯誤,周而復始從而導致交換網(wǎng)失效。除此以外,系統(tǒng)的內(nèi)部電路錯誤(例如噪聲、電源紋波或者偶然的硬件錯誤),也會造成將同一信元從緩存中重復多次讀出,以致同一緩存地址重復回收。因此,現(xiàn)有技術中一旦緩存地址發(fā)生錯誤,無法自動恢復,且錯誤會不斷發(fā)生直至系統(tǒng)復位重啟,影響系統(tǒng)的正常運行。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種緩存地址的管理方法,旨在解決現(xiàn)有技術中當FAFIFO的SRAM的某些bit失效或者錯誤,以及內(nèi)部電路錯誤造成緩存地址重復分配、緩存地址重復回收,影響系統(tǒng)正常運行的問題。
本發(fā)明的另一目的在于提供一種緩存地址的管理裝置。
本發(fā)明是這樣實現(xiàn)的,一種緩存地址的管理方法,所述方法包括記錄緩存地址的分配狀態(tài);校驗緩存地址的分配狀態(tài),根據(jù)緩存地址的分配狀態(tài)校驗結果分配或者回收所述緩存地址。
在分配緩存地址時,當校驗所述緩存地址處于空閑狀態(tài)時,分配所述緩存地址,并修改所述緩存地址的分配狀態(tài)為占用狀態(tài)。
在分配緩存地址時,當校驗所述緩存地址處于占用狀態(tài)時,不進行緩存地址分配。
所述方法進一步包括上報緩存地址重復分配錯誤,并計數(shù)的步驟。
在回收緩存地址時,當校驗所述緩存地址處于占用狀態(tài)時,回收所述緩存地址,并修改所述緩存地址的分配狀態(tài)為空閑狀態(tài)。
所述方法進一步包括計算并存儲所述緩存地址的奇偶校驗位的步驟。
當分配緩存地址時,在校驗緩存地址的分配狀態(tài)前,所述方法進一步包括下述步驟校驗所述緩存地址的奇偶校驗位,奇偶校驗通過則校驗所述緩存地址的分配狀態(tài),奇偶校驗失敗則不進行地址分配。
所述方法進一步包括上報緩存地址重復回收錯誤,并計數(shù)的步驟。
在回收緩存地址時,當校驗所述緩存地址處于空閑狀態(tài)時,不進行緩存地址回收。
所述方法進一步包括上報奇偶校驗錯誤,并計數(shù)的步驟。
一種緩存地址的管理裝置,所述裝置包括緩存地址存儲器,用于存儲空閑緩存地址;地址狀態(tài)存儲模塊,用于記錄緩存地址的分配狀態(tài);地址狀態(tài)校驗模塊,用于校驗緩存地址的分配狀態(tài);以及緩存地址管理模塊,用于根據(jù)緩存地址的分配狀態(tài)校驗結果分配或者回收緩存地址。
所述裝置進一步包括奇偶校驗位計算模塊,用于當回收緩存地址時,當校驗緩存地址處于占用狀態(tài)時,計算所述緩存地址的奇偶校驗位;以及奇偶校驗模塊,用于當分配緩存地址時,在校驗緩存地址的分配狀態(tài)前,校驗所述緩存地址的奇偶校驗位。
本發(fā)明在緩存地址分配或回收時進行分配狀態(tài)校驗,從而通過耗費較少的緩存資源,避免緩存地址重復分配、緩存地址重復回收的循環(huán)出錯導致交換網(wǎng)失效。同時,即使FAFIFO的SRAM某些bit失效或者錯誤以及內(nèi)部電路錯誤造成緩存地址錯誤,也不影響系統(tǒng)正常運行。


圖1是本發(fā)明提供的緩存地址分配的實現(xiàn)流程圖;圖2是本發(fā)明提供的緩存地址回收的實現(xiàn)流程圖;圖3是本發(fā)明優(yōu)選實施例中提供的緩存地址分配的實現(xiàn)流程圖;圖4是本發(fā)明優(yōu)選實施例中提供的緩存地址回收的實現(xiàn)流程圖;圖5是本發(fā)明提供的緩存地址管理裝置的結構圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明中,記錄緩存地址的分配狀態(tài),系統(tǒng)在分配或者回收緩存地址時,時緩存地址的分配狀態(tài)進行校驗,從而避免緩存地址的重復分配或重復回收錯誤。
記錄緩存地址分配狀態(tài)的Entry的示例結構如下表所示

初始時所有緩存地址的狀態(tài)值為零,即所有緩存地址處于空閑狀態(tài)。
圖1示出了本發(fā)明提供的緩存地址分配流程,詳述如下在步驟S101中,當有信元入隊時,讀出一個緩存地址;
在步驟S102中,對該緩存地址的分配狀態(tài)進行校驗,判斷該緩存地址是否占用,如果該緩存地址處于空閑狀態(tài),則執(zhí)行步驟S103,否則執(zhí)行步驟S104;在步驟S103中,將該緩存地址分配給該入隊信元,修改該緩存地址的分配狀態(tài)為占用狀態(tài);在步驟S104中,丟棄當前信元,不執(zhí)行緩存地址分配操作;在步驟S105中,上報緩存地址重復分配錯誤,并計數(shù),以便系統(tǒng)進行錯誤統(tǒng)計和分析;圖2示出了本發(fā)明提供的緩存地址回收流程,詳述如下在步驟S201中,當有信元出隊時,讀取該信元對應的緩存地址的分配狀態(tài);在步驟S202中,對該緩存地址的分配狀態(tài)進行校驗,判斷該緩存地址是否占用,如果該緩存地址處于占用狀態(tài),則執(zhí)行步驟S203,否則執(zhí)行步驟S204;在步驟S203中,信元出隊,回收該緩存地址,修改該緩存地址的分配狀態(tài)為空閑狀態(tài);在步驟S204中,信元出隊,不執(zhí)行后續(xù)的緩存地址回收操作;在步驟S205中,上報緩存地址重復回收錯誤,并計數(shù),以便系統(tǒng)進行錯誤統(tǒng)計和分析。
作為本發(fā)明的一個優(yōu)選實施例,對緩存地址配置奇偶校驗位Par,當分配緩存地址時,在對緩存地址的分配狀態(tài)進行校驗前,先對緩存地址進行奇偶校驗,便于系統(tǒng)進行準確的錯誤定位、統(tǒng)計以及分析。
記錄添加了奇偶校驗位Par的Entry的示例結構如下表所示(假定緩存容量為4k,則FAFIFO地址寬度為12bit)

其中,Par并不局限于作為緩存地址的最高位,也可以放在一個Entry的最低位或其他位置。
圖3示出了本實施例下的緩存地址分配流程,詳述如下在步驟S301中,當有信元入隊時,讀出一個緩存地址;在步驟S302中,對該緩存地址進行奇偶校驗,即驗證Par的值是否正確,如果奇偶校驗通過,則執(zhí)行步驟S303,否則執(zhí)行步驟S307;在步驟S303中,對該緩存地址的分配狀態(tài)進行校驗,判斷該緩存地址是否占用,如果該緩存地址處于空閑狀態(tài),則執(zhí)行步驟S304,否則執(zhí)行步驟S305;在步驟S304中,將該緩存地址分配給該入隊信元,修改該緩存地址的分配狀態(tài)為占用狀態(tài);在步驟S305中,丟棄當前信元,不執(zhí)行緩存地址分配操作;在步驟S306中,上報緩存地址重復分配錯誤,并計數(shù),以便系統(tǒng)進行錯誤統(tǒng)計和分析;在步驟S307中,丟棄當前信元,不執(zhí)行緩存地址分配操作;在步驟S308中,上報奇偶校驗錯誤,并計數(shù)。
相應的,圖4示出了本實施例下的緩存地址回收流程,詳述如下在步驟S401中,當有信元出隊時,讀取該信元對應的緩存地址的分配狀態(tài);在步驟S402中,對該緩存地址的分配狀態(tài)進行校驗,判斷該緩存地址是否占用,如果該緩存地址處于占用狀態(tài),則執(zhí)行步驟S403,否則執(zhí)行步驟S405;在步驟S403中,信元出隊,計算并添加該緩存地址的Par值;在步驟S404中,回收該緩存地址,修改該緩存地址的狀態(tài)為空閑狀態(tài);在步驟S405中,信元出隊,不執(zhí)行后續(xù)的地址回收操作;在步驟S406中,上報緩存地址重復回收錯誤,并計數(shù),以便系統(tǒng)進行錯誤統(tǒng)計和分析。
圖5示出了本發(fā)明提供的緩存地址管理裝置500的結構,緩存地址存儲器501存儲空閑緩存地址,地址狀態(tài)存儲模塊502記錄緩存地址的分配狀態(tài)。當信元入隊時,緩存地址管理模塊503從緩存地址存儲器501中讀出一個緩存地址,地址狀態(tài)校驗模塊504根據(jù)地址狀態(tài)存儲模塊502記錄的該緩存地址的分配狀態(tài),判斷該緩存地址是否處于空閑狀態(tài),如果該緩存地址處于空閑狀態(tài),緩存地址管理模塊503將該緩存地址分配給該入隊信元,否則丟棄該入隊信元,不進行緩存地址分配,地址狀態(tài)校驗模塊504上報緩存地址重復分配錯誤,并計數(shù)。緩存地址分配后,地址狀態(tài)存儲模塊502將該緩存地址的分配狀態(tài)修改為占用狀態(tài)。
當信元出隊時,地址狀態(tài)校驗模塊504根據(jù)地址狀態(tài)存儲模塊502記錄的該信元對應的緩存地址的分配狀態(tài),判斷緩存地址是否處于占用狀態(tài),如果該緩存地址處于占用狀態(tài),緩存地址管理模塊503回收該緩存地址,寫入緩存地址存儲器501,地址狀態(tài)存儲模塊502將該緩存地址的分配狀態(tài)修改為空閑狀態(tài)。如果該緩存地址處于空閑狀態(tài),緩存地址管理模塊503不進行緩存地址回收,地址狀態(tài)校驗模塊504上報緩存地址重復回收錯誤,并計數(shù)。
作為本發(fā)明的優(yōu)選實施例,緩存地址管理裝置500進一步包括奇偶校驗模塊505和奇偶校驗位計算模塊506。當信元入隊,對緩存地址進行分配時,在地址狀態(tài)校驗模塊504對緩存地址的分配狀態(tài)進行校驗前,奇偶校驗模塊505先對緩存地址進行奇偶校驗,校驗通過后,再由地址狀態(tài)校驗模塊504對緩存地址的分配狀態(tài)進行校驗。如果奇偶校驗失敗,奇偶校驗模塊505上報奇偶校驗錯誤,緩存地址管理模塊503不分配該緩存地址,丟棄當前信元。
當信元出隊,對緩存地址進行回收時,奇偶校驗位計算模塊506計算回收的緩存地址的奇偶校驗位,寫入緩存地址存儲器501。
需要說明的是,以上以單播信元的出、入隊為例對本發(fā)明提供的緩存地址保護方法進行說明,有關多播信元的實現(xiàn)流程類似,不再贅述。
本發(fā)明在耗費的額外資源比較少的情況下,能夠避免系統(tǒng)中由于保存空閑緩存地址的RAM部分bit失效和信元出隊管理異常導致的地址重復分配和重復回收從而引起交換網(wǎng)信元亂序或信元錯誤。實現(xiàn)本發(fā)明所需資源與緩存大小有關,對于一個4K大小的緩存,總共需要4k(奇偶校驗)+4k(地址狀態(tài)校驗)+少量控制邏輯,即8k RAM和少量控制邏輯即能夠?qū)崿F(xiàn)。
另外,本發(fā)明對各種可能的異常情況都做了考慮,即使出現(xiàn)了異常,不但能針對相應的異常情況報出中斷和計數(shù),而且除了丟棄相應信元外消除了后續(xù)對交換網(wǎng)的影響。即使出現(xiàn)異常情況,除當前報錯和丟棄信元外,系統(tǒng)能正常運行。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種緩存地址的管理方法,其特征在于,所述方法包括記錄緩存地址的分配狀態(tài);校驗緩存地址的分配狀態(tài),根據(jù)緩存地址的分配狀態(tài)校驗結果分配或者回收所述緩存地址。
2.如權利要求1所述的緩存地址的管理方法,其特征在于,在分配緩存地址時,當校驗所述緩存地址處于空閑狀態(tài)時,分配所述緩存地址,并修改所述緩存地址的分配狀態(tài)為占用狀態(tài)。
3.如權利要求1所述的緩存地址的管理方法,其特征在于,在分配緩存地址時,當校驗所述緩存地址處于占用狀態(tài)時,不進行緩存地址分配。
4.如權利要求3所述的緩存地址的管理方法,其特征在于,所述方法進一步包括上報緩存地址重復分配錯誤,并計數(shù)的步驟。
5.如權利要求1所述的緩存地址的管理方法,其特征在于,在回收緩存地址時,當校驗所述緩存地址處于占用狀態(tài)時,回收所述緩存地址,并修改所述緩存地址的分配狀態(tài)為空閑狀態(tài)。
6.如權利要求5所述的緩存地址的管理方法,其特征在于,所述方法進一步包括計算并存儲所述緩存地址的奇偶校驗位的步驟。
7.如權利要求6所述的緩存地址的管理方法,其特征在于,在分配緩存地址時,在校驗緩存地址的分配狀態(tài)前,所述方法進一步包括下述步驟校驗所述緩存地址的奇偶校驗位,奇偶校驗通過則校驗所述緩存地址的分配狀態(tài),奇偶校驗失敗則不進行地址分配。
8.如權利要求7所述的緩存地址的管理方法,其特征在于,所述方法進一步包括上報奇偶校驗錯誤,并計數(shù)的步驟。
9.如權利要求1所述的緩存地址的管理方法,其特征在于,在回收緩存地址時,當校驗所述緩存地址處于空閑狀態(tài)時,不進行緩存地址回收。
10.如權利要求9所述的緩存地址的管理方法,其特征在于,所述方法進一步包括上報緩存地址重復回收錯誤,并計數(shù)的步驟。
11.一種緩存地址的管理裝置,其特征在于,所述裝置包括緩存地址存儲器,用于存儲空閑緩存地址;地址狀態(tài)存儲模塊,用于記錄緩存地址的分配狀態(tài);地址狀態(tài)校驗模塊,用于校驗緩存地址的分配狀態(tài);以及緩存地址管理模塊,用于根據(jù)緩存地址的分配狀態(tài)校驗結果分配或者回收緩存地址。
12.如權利要求11所述的緩存地址的管理裝置,其特征在于,所述裝置進一步包括奇偶校驗位計算模塊,用于當回收緩存地址時,當校驗緩存地址處于占用狀態(tài)時,計算所述緩存地址的奇偶校驗位;以及奇偶校驗模塊,用于當分配緩存地址時,在校驗緩存地址的分配狀態(tài)前,校驗所述緩存地址的奇偶校驗位。
全文摘要
本發(fā)明適用于通信領域,提供了一種緩存地址的管理方法及裝置,所述方法包括記錄緩存地址的分配狀態(tài);校驗緩存地址的分配狀態(tài),根據(jù)緩存地址的分配狀態(tài)校驗結果分配或者回收所述緩存地址。本發(fā)明在緩存地址分配或回收時進行分配狀態(tài)校驗,從而通過耗費較少的緩存資源,避免緩存地址重復分配、緩存地址重復回收的循環(huán)出錯導致交換網(wǎng)失效。同時,即使FAFIFO的SRAM某些bit失效或者錯誤以及內(nèi)部電路錯誤造成緩存地址錯誤,也不影響系統(tǒng)正常運行。
文檔編號H04L29/06GK1984042SQ20061006087
公開日2007年6月20日 申請日期2006年5月23日 優(yōu)先權日2006年5月23日
發(fā)明者劉運華, 王凱, 劉松艷 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1