[發明專利]基于入口FIFO和鏈表結構的以太網幀存儲轉發的方法無效
| 申請號: | 200910153239.1 | 申請日: | 2009-10-29 |
| 公開(公告)號: | CN101697541A | 公開(公告)日: | 2010-04-21 |
| 發明(設計)人: | 陳偉強;張宇 | 申請(專利權)人: | 杭州欽鉞科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 杭州中成專利事務所有限公司 33212 | 代理人: | 金祺 |
| 地址: | 310012 浙江省杭州市西*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 入口 fifo 結構 以太網 存儲 轉發 方法 | ||
技術領域
本發明涉及使用外部存儲器進行以太網幀的存儲并轉發的技術,尤其涉及基于入口FIFO和鏈表結構的以太網幀存儲轉發的方法。
背景技術
以太網芯片在處理以太網幀時,一般需要對以太網幀進行存儲并轉發,即首先把接收到的以太網幀存儲在外部的大容量的存儲器中,并提取該以太網幀的信息,例如幀的長度、幀的優先級等,然后從外部存儲器中取出以太網幀,并轉發。
目前在使用外部大容量存儲器進行以太網幀的存儲轉發時,一般會首先把以太網幀存入外部存儲器,在存儲完一個完整的幀后,會進行幀合法性的判定,例如判定以太網幀的CRC校驗是否正確、幀長度是否符合要求等;而在外部存儲器中存儲以太網幀時,則把存儲器劃分為兩個存儲空間:一部分空間存儲以太網幀的數據;另一部分空間則存儲以太網幀的幀信息,例如幀的長度、幀的優先級等。這種操作模式如圖1、2所示。
接收以太網幀過程:芯片在IDLE狀態下等待以太網幀的到來,如果有幀到來,則把以太網幀數據存入外部存儲器,并判定當前幀是否接收完畢;如果沒有接收完畢,則繼續接收幀數據,并繼續利用外部存儲器存儲幀數據;如果接收完畢,則開始進行幀合法性的判定,然后把幀信息寫入外部存儲器。
讀取以太網幀過程:芯片在IDLE狀態下等待讀取幀的請求;當有讀取幀請求時,首先需要從外部存儲器中讀出幀的合法性信息以及幀的其他信息,然后根據幀的信息,把幀數據從外部存儲器中讀出。
從圖1、2的操作流程可以看出,這種操作模式主要有兩個不足:如果以太網幀是非法的以太網幀,即不是以太網芯片所需要的幀,但仍然需要進行外部存儲器的讀寫操作,造成存儲轉發效率的降低;其次,在存儲或者轉發一個以太網幀時,需要管理兩套讀寫地址信息:以太網幀數據的讀寫地址、以太網幀信息的讀寫地址。雖然利用外部存儲器的突發操作模式,可以部分提高存儲轉發效率,但仍然需要兩次突發的操作,無法進一步提高存儲轉發效率。
如果存儲轉發效率不高,會有大量的以太網幀無法得到及時處理,從而被丟棄,因此需要有一種高效的以太網幀存儲轉發方法,提高存儲轉發效率,減少因存儲轉發效率過低造成的丟包。
發明內容
本發明所要解決的技術問題是,提供一種基于入口FIFO和鏈表結構的以太網幀存儲轉發的方法。
為了解決上述技術問題,本發明中基于入口FIFO和鏈表結構的以太網幀存儲轉發的方法,包括:
(1)在外部存儲器讀寫控制邏輯模塊之前設置入口FIFO,在從網絡中接收以太網幀時,利用入口FIFO剔除不合法的以太網幀,并同時統計出以太網幀的幀信息;利用入口FIFO,剔除不合法的以太網幀,而不是在把以太網幀存入外部存儲器后再判定當前以太網幀是否合法。通過入口FIFO的過濾作用,可以減少外部存儲器的讀寫次數,即針對非法以太網幀,外部存儲器不存在讀寫開銷,從而提高外部存儲器的存儲轉發效率;
(2)將以太網幀存儲至外部存儲器時,把以太網幀構造成鏈表結構,只使用一套讀寫地址信息,即只需要一次突發操作。
本發明中,所述以太網幀的幀信息包括幀長度和幀優先級。
本發明中,所述步驟(1)中包括:
A、針對入口FIFO設置寄存以太網相關信息的寄存器;
B、在有以太網幀到來時,把以太網幀數據緩存在入口FIFO中,并同時進行以太網幀長度的計數以及以太網幀的CRC32校驗;
C、當以太網幀接收結束時,完成對該以太網幀的長度信息、CRC32校驗信息提取;同時根據以太網芯片設計的需求,對該以太網幀進行合法性的判定,并利用寄存器寄存這些信息;
D、當以太網幀被判定為非法的以太網幀時,直接清空入口FIFO,并把寄存以太網信息的寄存器復位到初始值;
E、當以太網幀被判定為合法的以太網幀時,首先從寄存以太網信息的寄存器中讀出以太網幀的相關信息,并寫入外部存儲器,然后從入口FIFO中讀取以太網幀數據,并寫入外部存儲器。
本發明中,步驟C所述對以太網幀進行合法性的判定,包括對幀長度和幀的目的地址是否符合需求進行判定。
本發明中,在進行入口FIFO的讀操作時,繼續向入口FIFO中寫入新的以太網幀;同時為了能夠線速處理以太網幀,根據設計需要調節入口FIFO的深度,保證不會丟幀。
本發明中,所述步驟(2)中包括向外部存儲器存儲以太網幀的過程:
a、在向外部存儲器存儲以太網幀時,設置幀計數器,統計當前外部存儲器中存有多少個以太網幀;并設置讀地址寄存器,存儲以太網幀的地址信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州欽鉞科技有限公司,未經杭州欽鉞科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910153239.1/2.html,轉載請聲明來源鉆瓜專利網。





