網絡裝置以及應用在網絡裝置中的方法
【專利摘要】一種在網絡裝置中使用的方法,用來在每一周期以一個數據總線頻寬輸出數據至總線,該方法包含:使用封包產生器來在一個周期內的一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始;以及使用一個封包間隙產生器接收該封包產生器傳輸來的數據,動態寫入接收到的數據至緩沖器,并且依據該封包結束以及該封包產生器產生的該空閑數據,插入一個包含該空閑數據的間隙至該封包結束與該封包開始之間。上述方法與網絡裝置能夠有效地減少封包產生器的電路成本并且同時滿足標準IEEE802.3的要求。
【專利說明】網絡裝置以及應用在網絡裝置中的方法
【技術領域】
[0001]本申請請求2013年7月11日提交的美國專利臨時申請號61/845,368的優先權,并且該申請的全文在此作為引用基礎。
[0002]摶術領域
[0003]本發明有關于高速網絡。具體來說,有關于在高速網絡中的封包傳輸。
【背景技術】
[0004]通常來講,應用至一個高速網絡(例如40GHz以太網或者10GHz以太網)的傳統網絡裝置被配置為產生多個封包至該高速網絡,并在兩個連續封包之間產生空閑數據(idle data)。封包之間產生的空閑數據的數量,例如空閑字節的數量,是預先配置的。并且配置的數量小于傳統網絡裝置在每一個周期(cycle)產生的全部字節的數量。因此,對于傳統網絡裝置來說,可能在一個相同的周期內產生當前封包的封包結束以及下一封包的封包開始。對于傳統網絡裝置,設計封包產生機制是十分困難的。此外,在每兩個封包之間設計固定數量的空閑字節也可能是不實際的。
【發明內容】
[0005]本發明的目的之一是提供一種網絡裝置以及應用在網絡裝置中的方法,通過在不同的周期產生封包的結束與封包的開始,并且動態調整并輸出不同數量的空閑字節作為一個間隙(gap)來插入兩個封包之間,以在每一周期中輸出數據至一個具有數據總線頻寬的數據總線,從而解決如上所述的技術問題。
[0006]依據本發明的實施例,提出一種在網絡裝置中使用的方法,用來在每一周期以一個數據總線頻寬輸出數據至總線,該方法包含:使用封包產生器來在一個周期內的一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始;以及使用一個封包間隙產生器接收該封包產生器傳輸來的數據,動態寫入接收到的數據至該緩沖器,并且依據該封包結束以及該封包產生器產生的該空閑數據,插入一個包含該空閑數據的間隙至該封包結束與該封包開始之間。
[0007]依據本發明的另一實施例,提出一種網絡裝置,用來在每一周期以一個數據總線頻寬輸出數據至總線,該網絡裝置包含:封包產生器,用于在一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始;以及封包間隙產生器,耦接至該封包產生器,用于接收從該封包產生器傳輸的數據,動態寫入接收到的數據至緩沖器,并且依據該封包結束以及該封包產生器產生的該空閑數據,插入一個包含該空閑數據的間隙至該封包結束與該封包開始之間。
[0008]本發明所述的封包產生器在不同的周期產生當前封包的封包結束以及下一封包的封包開始,并且封包間隙產生器動態調整并且輸出不同數量的空閑字節作為一個間隙插入到兩個封包之間。上述方法與網絡裝置能夠有效地減少封包產生器的電路成本并且同時滿足標準IEEE802.3的要求。
【專利附圖】
【附圖說明】
[0009]圖1是依據本發明第一實施例的網絡裝置的結構示意圖。
[0010]圖2A是圖1的封包產生器在時鐘CLK的不同的周期CO - C5產生的數據的舉例說明。
[0011]圖2B是當數據寫入封包間隙產生器時,針對圖1所示的封包產生器在圖2A所示的不同的周期CO - C5產生的舉例數據寫入緩沖器的相對應的存儲地址的示意圖。
[0012]圖2C是圖2B所示的舉例說明的由封包間隙產生器選擇并傳輸的數據結果的示意圖。
[0013]圖2D是圖1的封包產生器在時鐘CLK的不同的周期CO - C5產生的數據的另一舉例說明。
[0014]圖3A是當缺陷空閑計數小于或者等于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。
[0015]圖3B是當缺陷空閑計數大于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。
[0016]圖4A顯示在依據圖1所示的實施例接收EOP的一個周期,封包間隙產生器在該周期處理數據操作的流程圖。
[0017]圖4B顯示在依據圖1所示的實施例接收EOP的一個周期的下一周期,封包間隙產生器在該下一周期處理/輸出數據操作的流程圖。
[0018]圖5是依據本發明第二實施例的網絡裝置的結構示意圖。
[0019]圖6A是圖5的封包產生器在時鐘CLK的不同的周期CO - C5以較高的頻率FW產生的數據的舉例說明。
[0020]圖6B是當數據寫入封包間隙產生器時,針對圖5所示的封包產生器在圖6A所示的不同的周期CO - C5產生的舉例數據寫入緩沖器的相對應的存儲地址的示意圖。
[0021]圖7A是依據圖5所示的實施例,當缺陷空閑計數小于或者等于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。
[0022]圖7B是依據圖5所示的實施例,當缺陷空閑計數大于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。
[0023]圖8是依據本發明第三實施例的網絡裝置的結構示意圖。
【具體實施方式】
[0024]圖1是依據本發明第一實施例的網絡裝置100的結構示意圖。網絡裝置100包含封包產生器105,封包間隙產生器(inter-pack gap, IPG generator) 110,以及緩沖器115。網絡裝置100整體稱接(但不局限于整體稱接)至一個接口電路(interface circuit) 120以及一個總線(bus) 125。網絡裝置100是用來依據IEEE802.3標準在不同的周期產生數據(例如封包)至總線。對于每一封包,網絡裝置100產生封包的開始(可以縮寫為S0P)、前導碼(preamble)、封包數據、以及封包的結束(可以縮寫為Ε0Ρ)。此外,依據標準IEEE802.3的說明,網絡裝置100產生以及/或者插入(insert)足夠的空閑數據(例如空閑字節)在每兩個連續的封包之間。網絡裝置100能夠產生/插入足夠的空閑字節來滿足IEEE802.3標準的需求。每兩個連續的封包之間插入的空閑字節的數量是由網絡裝置100決定。對于不同的周期,空閑字節的數量是變化的,而不是固定不變的。網絡裝置100設置空閑字節的數量,使其落在一個由一個最大值和一個最小值組成的范圍之內。此外,網絡裝置100設置的對于不同封包的空閑字節的平均數量滿足標準IEEE802.3的要求。舉例來說,網絡裝置100設置空閑字節的數量的范圍為從5字節(最小空閑字節數量)至19字節(最大空閑字節數量),來獲得平均12空閑字節并滿足IEEE802.3標準的要求。然而,這并非是本發明的限制。
[0025]網絡裝置100產生數據(包含封包與空閑字節),通過接口電路120傳輸至總線125。W*CS代表用來傳輸數據至總線125的數據總線頻寬,CS代表一個數據行的數據字節的數量,并且W代表一個周期中的數據行的數量。網絡裝置100產生的數據由緩沖器115緩沖,接著從緩沖器115中讀出并且通過具有數據總線頻寬W*CS的接口電路120寫入總線125。為了有效地減少電路成本,在第一實施例中,網絡裝置100配置封包產生器105在每一周期來產生比數據總線頻寬W*CS相對應的數據更多的數據,并且配置封包間隙產生器110來寫入所有的封包數據并且適當地寫入部分空閑字節。封包間隙產生器110過濾掉由封包產生器105產生的一部分空閑字節。具體來說,封包產生器105以較寬的數據總線頻寬(W+EB) *CS產生數據(包含封包以及空閑數據),其中EB*CS代表由封包產生器105在每一周期產生的附加數據。封包間隙產生器110在一個周期傳輸所有的封包數據,并且僅僅使一部分的空閑字節通過,而并非是將封包產生器105產生的所有空閑字節通過。封包間隙產生器110等效地對于選擇的部分空閑字節使能(enable)數據寫入至緩沖器115,并且對于沒有選擇的部分空閑字節禁能(disable)數據寫入。過濾/選擇的空閑字節以及封包數據由封包間隙產生器110傳輸至緩沖器115緩沖,并且接口電路120從緩沖器115中讀出數據,并寫入數據至具有數據總線頻寬W*CS的總線125。因此,網絡裝置100能夠產生封包數據以及足夠的空閑數據,并依據由IEEE802.3標準規定的數據總線頻寬W*CS傳輸至總線125。當緩沖器115是滿額或者接近滿額時,封包產生器105停止數據產生。由封包間隙產生器110來決定緩沖器115是否是滿額,并且如果封包間隙產生器110決定緩沖器115是滿額的,封包間隙產生器110通過傳輸一個禁能通知信號(disable notificat1n signal)來通知封包產生器105。此實施例的多種變型也在本發明的范圍之中。
[0026]數據總線頻寬W*CS,舉例來說,包含每周期24數據字節,即每周期3個數據行,每一數據行包含8數據字節。但上述舉例僅僅為舉例說明,而并非是用來限制本發明。封包產生器105也可以在每一周期產生多于3個數據行(即24字節)的更多的數據。在第一實施例中,封包產生器105在每一周期產生四個數據行(即總共32字節)。即上述的EB等于I。每一周期的32字節可包含封包數據、一部分的前序碼、EOP、SOP以及/或者空閑字節等等。與數據總線頻寬W*CS相比較,封包產生器105更進一步在每一周期產生一個數據行。在一個周期中,當封包產生器105對于當前封包產生Ε0Ρ,封包產生器105在這個周期中在EOP之后以空閑字節來填充其余的字節空間。封包產生器105在這個周期中,在EOP之后產生空閑數據,并且在一個不同的周期產生下一封包的S0P。
[0027]此外,封包產生器105依據這一周期中在EOP之后的剩余字節空間的數量來決定是否在下一個周期產生空閑字節。如果剩余字節空間的數量大于或者等于如上所述的空閑字節范圍的最小空閑字節(例如五個字節),封包產生器105決定在下一個周期不產生空閑字節,并且在下一周期的開始產生下一封包的SOP。如果剩余字節空間的數量小于最小空閑字節(例如五個字節),封包產生器105決定在下一周期產生32空閑字節,并且在下一周期之后的一個周期的開始產生下一封包的SOP。因此,在產生EOP之后,封包產生器105被設置為產生空閑數據來填充同一個周期中剩余字節空間,并在一個不同的周期的開始產生下一封包的S0P。由于封包產生器105并非設置為在一個相同的周期中產生一個封包的EOP與下一個封包的S0P,本發明所提出的架構能夠有效地減少封包產生器105的成本。EOP與SOP分別對應不同的周期。
[0028]圖2A是圖1的封包產生器105在時鐘CLK的不同的周期CO - C5產生的數據的舉例說明。如圖2A所示,在周期CO,封包產生器105針對當前封包產生SOP SI,當前封包的前序碼P,以及封包數據Dl。在周期Cl與C2,封包產生器105產生當前封包的封包數據Dl。在周期C3,封包產生器105產生封包數據D1、當前封包的EOP Tl、以及空閑數據II,其中空閑數據Il在當前封包的EOP Tl之后,并且封包產生器105利用空閑數據(即空閑字節)Il填充EOP Tl之后的剩余字節空間。在周期C3之后的周期C4,封包產生器105產生下一封包的S0PS2、前序碼P、以及下一封包的封包數據D2。在周期C5,封包產生器105產生封包數據D2。需注意上述舉例說明并非本發明的限制。在其他的實施例中,封包產生器105可替代地在周期C4產生空閑數據II,并且在周期C5產生下一封包的SOP S2、前序碼P、以及封包數據D2。
[0029]圖2D是圖1的封包產生器105在時鐘CLK的不同的周期CO - C5產生的數據的另一舉例說明。下一封包的SOP S2在周期C3的下一周期C4發生,或者在下一周期C4的再下一周期C5發生。封包產生器105在周期C4產生空閑數據II。即在這個舉例說明中,周期C4產生的數據都是空閑字節。上述修正也在本發明的范圍之中。如上所述,封包產生器105在周期C3被設置為產生空閑數據并且以空閑數據填充EOP Tl之后的剩余字節空間,并且在一個不同的周期(例如C4或者C5)的開始產生下一封包的S0P。封包產生器105不在相同的周期內產生EOP Tl以及SOP S2。通道(Lanes)O-31代表較寬的數據總線頻寬(ff+EB) *CS,其中W*CS包含24字節并且EB*CS包含8字節。
[0030]圖2B是當數據寫入封包間隙產生器110時,針對圖1所示的封包產生器105在圖2A所示的不同的周期CO - C5產生的舉例數據寫入緩沖器的相對應的存儲地址的示意圖。如圖2B所示,舉例來說,封包產生器105在周期C3產生的數據(包含封包數據D1、當前封包的EOP Tl、以及一部分空閑數據II)位于具有初始地址0x60-0x78的行。封包產生器105在周期C3產生的該部分空閑數據Il位于具有初始地址0x70 - 0x78的行,并由封包間隙產生器110過濾掉。
[0031]如上所述,為了減少電路成本并且滿足IEEE802.3標準的要求,封包產生器105在每一周期產生比標準IEEE802.3規定的數據量更多的數據。對于封包數據的字節來說,封包間隙產生器110傳輸所有的封包產生器105產生的封包數據至緩沖器115。對于空閑數據的字節來說,封包間隙產生器110選擇性地過濾出封包產生器105產生的一部分空閑字節,并且選擇并且傳輸(transfer/transmit)被選的空閑字節至緩沖器115。封包間隙產生器110被設置為傳輸封包產生器105產生的部分空閑數據至緩沖器115。封包間隙產生器110并不傳輸封包產生器105產生的所有的空閑數據至緩沖器115。傳輸至緩沖器115的部分空閑數據的數量是由封包間隙產生器110依據當前封包的EOPTl來動態決定。舉例來說,如圖2B所示,封包產生器105在周期C3產生I個字節的封包數據、I個字節的EOP以及30個空閑字節的空閑數據,并且產生的數據分別對應于4個平行的行的初始地址0x60-0x78,如圖2B的上方所示。位于初始地址0x70與0x78的行的空閑數據由封包間隙產生器110過濾掉,并且位于初始地址0x60與0x68的行的數據被封包間隙產生器110選擇并傳輸至緩沖器115。
[0032]圖2C是圖2B所示的舉例說明的由封包間隙產生器110選擇并傳輸的數據結果的示意圖。如圖2C所示,當前封包與下一封包的空閑數據的間隙包含15個字節。位于初始地址0x70與0x78的空閑數據Il的空閑字節被下一封包的SOP S2、下一封包的前導碼p、以及下一封包的封包數據D2替換。在另一個舉例說明中,封包間隙產生器110傳輸不同數量的空閑字節至緩沖器115。封包間隙產生器110被設置為在每兩個連續的封包之間動態輸出、產生、或者插入一個不同數量的空閑字節,來滿足在兩個連續的封包之間平均產生12個空閑字節的標準IEEE802.3的要求。
[0033]在下面的說明中,詳細說明了封包間隙產生器110的操作。封包間隙產生器110過濾掉部分空閑字節,從而使得插入在兩個連續的封包之間的空閑字節的數量滿足標準IEEE802.3的要求。封包間隙產生器110決定插入兩個連續的封包之間的空閑字節的數量,依據在相同的數據行中在EOP之后的剩余字節的數量。當每次需要時,封包間隙產生器110進一步產生一個數據行的空閑字節。如果相同的數據行中在EOP之后的剩余字節的數量小于標準IEEE802.3中規定的最小空閑字節的數量(例如5個),封包間隙產生器110進一步增加/產生空閑字節的一個數據行來形成空閑字節。如果相同的數據行中在EOP之后的剩余字節的數量不小于標準IEEE802.3中規定的最小空閑字節的數量(例如5個),封包間隙產生器110并不增加/產生空閑字節的一個數據行至剩余空閑字節,而是封包間隙產生器110設置與數據行中在EOP之后的剩余空閑字節空間相同的數量來形成空閑字節。舉例來說,同一數據行在EOP之后的剩余空閑字節的數量等于4,即小于5,封包間隙產生器110增加一個空閑字節的數據行(即8個空閑字節)至剩余的4個空閑字節,來形成12個空閑字節(即平均的標準IEEE802.3規定的空閑字節數量)。此外,舉例來說,相同的數據行在EOP之后的剩余空閑字節的數量等于7,即不小于5,封包間隙產生器110使用7個空閑字節空間來形成所需的空閑字節。
[0034]封包間隙產生器110設置為通過比較插入兩個連續的封包之間的空閑字節的數量與標準IEEE802.3規定的平均空閑字節數量來計算并累加缺陷空閑字節的數量來產生一個缺陷空閑計數。需注意的是,缺陷空閑字節的數量代表空閑字節的數量與兩個封包之間的一個間隙的空閑字節的平均數量之差,并且缺陷空閑計數代表的是缺陷空閑字節的當前累加值。一旦缺陷空閑計數大于或者等于該特定數量,封包間隙產生器110補償空閑字節的總體數量,該封包間隙產生器110通過增加一個特定數量的空閑字節來插入至如上所述的選擇的空閑字節來補償/調整缺陷空閑計數。在這個實施例中,封包間隙產生器110設置的空閑字節特定數量為一個數據行的數量,即8。每一次當缺陷空閑計數并不小于8時,封包間隙產生器110補償插入兩個連續的封包之間的空閑字節的總體數量。需注意的是,上述特定數量并非是本發明的一個限制。一旦缺陷空閑計數不小于8,封包間隙產生器110進一步增加8個空閑字節至如上所述的選擇的空閑字節,來形成插入兩個連續封包之間的生成空閑字節(resultant idle bytes)。如果缺陷空閑計數小于一個數據行的數量(即8),在這種情況下,封包間隙產生器110并不增加8個空閑字節至選擇的空閑字節來形成兩個封包之間由插入的空閑字節組成的間隙。
[0035]在上述的舉例說明中,如果在相同的數據行中在EOP之后的剩余字節的數量小于5,例如剩余字節的數量等于3,封包間隙產生器110選擇3個空閑字節以及一個空閑字節的數據行緊跟著這3個空閑字節。因此,封包間隙產生器110選擇11個空閑字節。其他沒有選擇的空閑字節被封包間隙產生器110過濾掉或者忽略。封包間隙產生器110與平均數量相比,計算并且決定缺陷空閑數量等于I。封包間隙產生器110依據缺陷空閑數量以及缺陷空閑計數的先前值,累加并且獲得缺陷空閑計數。如果在這種情況下,獲得的缺陷空閑計數小于8,封包間隙產生器110使用所選的11個空閑字節來形成兩個封包之間由插入的空閑字節組成的間隙。因此,在這個舉例說明中,插入兩個連續的封包之間空閑字節的總體數量等于11。
[0036]然而,如果在這個舉例說明中,缺陷空閑計數并非小于8,封包間隙產生器110進一步增加8個空閑字節至所選擇的11個空閑字節來產生19個空閑字節,來插入以補償缺陷空閑計數,并且使用19個空閑字節來形成兩個封包之間由插入的空閑字節組成的間隙。在補償缺陷空閑計數之后,缺陷空閑計數由封包間隙產生器110重新計算。因此,兩個連續的封包之間待插入的空閑字節的總體數量等于19。通過計算以及缺陷空閑字節的數量、以及補償缺陷空閑計數的數量,封包間隙產生器110能夠等效地產生/插入具有平均數量(即12)的空閑字節,來滿足標準IEEE802.3的規定。
[0037]需要注意的是封包間隙產生器110是用來傳輸封包產生器105產生的一部分空閑數據至緩沖器115,并且過濾出封包產生器105產生的空閑數據的其余部分。封包間隙產生器110傳輸封包產生器105產生的所有的封包數據。沒有封包數據被封包間隙產生器110過濾掉。當封包產生器105產生S0P、前序碼、以及封包數據,封包間隙產生器110傳輸所有的四個數據行的數據。當封包產生器105在一個周期產生Ε0Ρ,封包間隙產生器110是用來傳輸部分數據。因此,當封包產生器105產生EOP的周期,封包間隙產生器110傳輸由封包產生器105產生的包含僅僅一個數據行、兩個數據行、三個數據行或者四個數據行的選擇數據。
[0038]圖3A是當缺陷空閑計數小于或者等于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。圖3B是當缺陷空閑計數大于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。如圖3A所示,MOD的值代表在一個周期(例如圖2A所示的周期C3)E0P在4個數據行(即32字節)中的不同位置。舉例來說,如圖2A所示,EOP Tl的位置等于1,并且MOD的值代表“I”。此外,舉例來說,MOD的值“O”與“31”分別代表EOP在4個數據行的開始以及在4個數據行的結束。ΕΝ_Ε0Ρ代表當EOP發生時,封包間隙產生器110在這個周期輸出至緩沖器115的數據行的數量。在不同的情況下,EN_EOP的值I至4分別表明封包間隙產生器110輸出的數據大小從I個數據行(即8字節)至4個數據行(即32字節)。IBN的值代表封包間隙產生器110是否進一步產生空閑字節的數據行在下一周期,該下一周期是緊接著這一周期的,其中在這一周期EOP發生。IBN的值“O”代表封包間隙產生器110在下一周期并不產生空閑字節的數據行,并且在下一周期產生下一封包的SOP。IBN值“I”代表封包間隙產生器110進一步在下一周期產生I個數據行的空閑字節,該下一周期緊接著當前周期之后,其中在當前周期EOP發生,并且封包間隙產生器110在緊接著該下一周期的后面一個周期產生下一封包的SOP。IS代表封包間隙中待插入的空閑字節最后數量,該待插入的空閑字節的間隙是封包間隙產生器對當前的封包選擇寫入的空閑字節加上EOP形成的。圖3A中該“IS”的最小值等于最小空閑數量,即5。圖3A中該“IS”的最大值等于平均空閑數量,即12。DS的值代表與平均空閑數量(即12)相比較的缺陷空閑字節數量,即缺陷空閑計數的變化值。圖3A中DS的最小值等于0,對應到IS的值“12”,并且圖3A中的“DS”的最大值等于7,對應到由標準IEEE規定的最小空閑數量,即5。
[0039]因此,當缺陷空閑計數小于或者等于8時,封包間隙產生器110能夠參考圖3A所示的查找表來獲得在這個間隙的足夠的空閑字節,決定這個周期需要傳輸多少字節,決定是否在下一周期進一步產生空閑字節,以及依據缺陷空閑數量重新計算缺陷空閑計數。在這種情況下,封包間隙產生器110決定并產生的空閑字節的數量等于12或者小于12。如果當前封包的EOP對應到MOD的值“6”,封包間隙產生器110在這一周期被設置為寫入兩行數據(即16字節)至緩沖器115,并且封包間隙產生器110在下一周期并不進一步產生32空閑字節,而是在下一周期產生下一封包的SOP。在這個舉例說明中,“ IS ”的值對應為“10”,代表兩個連續的封包之間的間隙(包含空閑字節以及Ε0Ρ)應包含10個字節。因此,封包間隙產生器110輸出兩行數據(總共16字節),包含6個字節的封包數據、I個字節的EOP以及9個字節的空閑數據。最后兩個空閑字節的數據行被封包間隙產生器110過濾掉。缺陷空閑計數通過2來增加,由值為2的DS代表。此外,在另一個舉例說明中,如果當前封包的EOP對應于值為“30”的M0D,封包間隙產生器110在當前周期被設置為寫入4行(即32字節)的數據至緩沖器115,并且封包間隙產生器110進一步在下一周期產生32個空閑字節,并且在緊隨著下一周期的后面的一個周期產生下一封包的SOP ;封包產生器105被設置為在下一周期產生32空閑字節,并且在緊隨著下一周期的后面的一個周期產生下一封包的SOP。“IS”的值對應于“10”,代表兩個連續的封包之間的間隙(包含空閑字節以及封包的結束)包含10個字節。因此,封包間隙產生器110在當前周期以及下一周期輸出5行數據(總共40字節),包含30字節的封包數據、I個字節的EOP以及9個字節的空閑數據。在下一周期的最后3個數據行的空閑數據被封包間隙產生器110過濾掉。缺陷空閑計數增加2,以值為“2”的DS來代表。
[0040]圖3B所示的查找表描述了當缺陷空閑計數大于8時,不同的待插入的空閑字節數量的例子。在圖3B的舉例說明中,封包間隙產生器110決定并產生的空閑字節的數量大于12。如圖3B所示,MOD的值代表在一個周期(例如圖2A所示的周期C3)E0P在4個數據行(即32字節)的不同位置。舉例來說,如圖2A所示,EOP Tl的位置等于I,并且MOD的值代表“I”。此外,舉例來說,MOD的值“O”與“31”分別代表EOP在4個數據行的開始以及在4個數據行的結束。其中,M0D4, 12,20,24應只存在圖3A中,而在圖3b中表示為空格。其原因為,如圖4a的流程說明,本申請所述實施例的處理流程是先查詢圖3a,調整缺陷空閑計數,如果>8,才再改查詢圖3B。在此流程下,因圖3A Mod4, 12,20,24的DS = 0,缺陷空閑計數不會增加,所以不會再去查到圖3B。ΕΝ_Ε0Ρ代表封包間隙產生器110在當前周期輸出至緩沖器115的數據行的數量。EN_EOP的值從2至4分別表明封包間隙產生器110輸出的數據大小從2個數據行(即16字節)至4個數據行(即32字節)。IBN的值代表封包間隙產生器110是否進一步在下一周期產生空閑字節,以及封包間隙產生器110產生多少字節。
[0041]IBN的值“O”代表封包間隙產生器110在下一周期并不產生空閑字節的數據行,并且在下一周期產生下一封包的SOP。IBN值“I”代表封包間隙產生器110進一步在下一周期產生I個數據行的空閑字節,并且在緊接著該下一周期的后面一個周期產生下一封包的SOP。IBN值“2”代表封包間隙產生器110進一步在下一周期產生2個數據行的空閑字節,并且在緊接著該下一周期的后面一個周期產生下一封包的S0P。封包間隙產生器110進一步產生I個數據行的空閑字節的操作可視為封包間隙產生器110在下一周期從封包產生器105產生的4行空閑字節選擇I行空閑字節(即在數據行的開始的8個空閑字節)。封包間隙產生器110進一步產生2個數據行的空閑字節的操作可視為封包間隙產生器110在下一周期從封包產生器105產生的4行空閑字節選擇2行空閑字節(即在數據行的開始的16個空閑字節)。IG的值代表在封包間隙產生器110輸出的2個封包之間的間隙中的待插入的空閑字節的數量(包含初始選擇空閑字節以及進一步增加的8個空閑字節)加上Ε0Ρ。DG的值代表與平均空閑數量(即12)相比較的缺陷空閑字節數量。DG的值為負代表缺陷空閑計數應當減少。
[0042]如圖3B所示,當缺陷空閑計數大于8時,如果當前封包的EOP對應到MOD的值“6 ”,封包間隙產生器110在當前周期被設置為寫入三行數據(即24字節)至緩沖器115,并且封包間隙產生器110在下一周期并不進一步產生32空閑字節,而是在下一周期產生下一封包的SOP。“IG”的值對應為“18”,代表兩個連續的封包之間的間隙(包含空閑字節以及Ε0Ρ)應包含18個字節。因此,封包間隙產生器110輸出三行數據(總共24字節)包含6個字節的封包數據、I個字節的EOP以及17個字節的空閑數據。缺陷空閑計數通過6來減少,由值為-6的DG代表。此外,在另一個舉例說明中,如果當前封包的EOP對應于值為“30”的M0D,封包間隙產生器110在當前周期被設置為寫入4行(即32字節)的數據至緩沖器115,并且封包間隙產生器110進一步在下一周期從封包產生器105產生的32個空閑字節中選擇16個空閑字節,并且在緊隨著下一周期的后面的一個周期產生下一封包的SOP ;封包產生器105產生被設置為在下一周期產生16空閑字節,并且在緊隨著下一周期的后面的一個周期產生下一封包的SOP。“IG”的值對應于“18”,代表兩個連續的封包之間的間隙(包含空閑字節以及Ε0Ρ)包含18個字節。因此,封包間隙產生器110在當前周期以及下一周期輸出6行數據(總共48個字節)包含30個字節的封包數據、I個字節的Ε0Ρ、以及17字節的空閑數據。在下一周期的最后2個數據行的空閑數據被封包間隙產生器110過濾掉。缺陷空閑計數減少6,以值為“_6”的DG來代表。
[0043]圖4A顯示在依據圖1所示的實施例接收EOP的一個周期,封包間隙產生器110在該周期處理數據操作的流程圖。如果可以得到相似的結果,則不局限于圖4A所示的流程順序,因此,其他的步驟也可以整合進來。圖4A中的各個步驟如下詳述:
[0044]步驟405A:開始;
[0045]步驟410A:封包間隙產生器110通過參考圖3A所示的查找表,依據在相同的周期內EOP在4行數據中的位置計算并且獲得待插入的空閑字節的數量、相對應的缺陷空閑數量、以及多少字節應被寫入緩沖器115,舉例來說,封包間隙產生器110能夠通過參考圖3A所示的查找表,依據MOD的值獲得待插入的空閑字節的數量、相對應的缺陷空閑數量、以及多少字節應被寫入緩沖器115 ;
[0046]步驟415A:封包間隙產生器110計算相對應的缺陷空閑數量與先前累加的缺陷空閑數量(即缺陷空閑計數)的和,來調整以及獲得調整之后的缺陷空閑計數,并且檢查調整之后的缺陷空閑計數是否小于I個數據行的字節數量(即8)。如果調整之后的缺陷空閑計數小于8,接著執行步驟420A ;否則,流程執行步驟425A ;
[0047]步驟420A:封包間隙產生器110依據先前調整的缺陷空閑計數以及MOD的值,通過參考圖3A所示的查找表重新計算缺陷空閑計數;
[0048]步驟425A:封包間隙產生器110通過參考圖3B所示的查找表,依據在相同的周期內EOP在4行數據中的位置計算并且獲得待插入的空閑字節的數量、相對應的缺陷空閑數量、以及多少字節應被寫入緩沖器115。舉例來說,封包間隙產生器110能夠通過參考圖3B所示的查找表,依據MOD的值獲得待插入的空閑字節的數量、相對應的缺陷空閑數量、以及多少字節應被寫入緩沖器;
[0049]步驟430A:封包間隙產生器110在該周期輸出字節與封包的結束至緩沖器115 ;以及
[0050]步驟435A:結束。
[0051]圖4B顯示在依據圖1所示的實施例在接收EOP的當前周期的下一周期,封包間隙產生器110在該下一周期處理/輸出數據操作的流程圖。如果可以得到相似的結果,則不局限于圖4B所示的流程順序,因此,其他的步驟也可以整合進來。圖4B中的各個步驟如下詳述:
[0052]步驟405B:開始;
[0053]步驟410B:封包間隙產生器110檢查相對接收到EOP的周期的下一個周期中,空閑字節的數據行的數量;
[0054]步驟415B:封包間隙產生器110決定是否空閑字節的數據行的數量為O。如果是具有O個數據行的空閑字節,接著處理至步驟425B ;否則,該流程處理至步驟420B ;
[0055]步驟420B:封包間隙產生器110以空閑字節填充數據,并且產生I個具有IBN值的行使能信號,來控制緩沖器115 ;
[0056]步驟425B:封包間隙產生器110檢查是否下一封包是可用的。如果是可用的,處理流程前進至步驟430B ;否則處理流程執行步驟435B ;
[0057]步驟430B:通過設置行使能信號具有對應所有數據行總量的值,封包間隙產生器110傳輸從封包產生器105接收的下一封包的所有的封包數據字節至緩沖器115 ;
[0058]步驟435B:封包間隙產生器110使能以空閑數據傳輸所有的字節,這些空閑數據是封包產生器110在下一周期產生的;以及
[0059]步驟440B:結束。
[0060]圖5是依據本發明第二實施例的網絡裝置500的結構示意圖。網絡裝置500包含封包產生器505、封包間隙產生器510,以及緩沖器515。網絡裝置500整體耦接(但不局限于整體耦接)至一個接口電路520、一個總線525以及一個時鐘產生器530。網絡裝置500是用來依據標準IEEE802.3的規定,在不同的周期產生數據(例如封包)至總線525。對于每一封包,網絡裝置500產生封包的開始(可以縮寫為SOP)、前序碼、封包數據、以及封包的結束(可以縮寫為EOP)。此外,網絡裝置500產生以及/或者插入足夠的空閑數據(例如空閑字節)在每兩個連續的封包之間。每兩個連續的封包之間插入的空閑字節的數量是由網絡裝置500決定。網絡裝置500設置空閑字節的數量,使其落在一個由一個最大值和一個最小值組成的范圍之內。此外,網絡裝置500設置不同封包的空閑字節的平均數量來滿足標準IEEE802.3的規定。網絡裝置500也產生數據(包含封包與空閑字節)至總線525經由接口電路520。W*CS代表用來傳輸數據至總線525的數據總線頻寬。因此,網絡裝置500產生的數據由緩沖器515緩沖,接著從緩沖器515中讀出并且通過具有數據總線頻寬W*CS的接口電路520寫入總線525。
[0061]具體來說,在第二實施例中,網絡裝置500配置封包產生器505以一個較高的操作頻率FM產生更多的數據,并且配置封包間隙產生器510以這個較高的操作頻率FM來寫入所有的封包數據并且適當地寫入部分空閑字節。該較高的操作頻率FW由時鐘產生器530提供,并且在第二實施例中,等于(K+l) /K*F,其中K等于4并且F代表一個正常的由標準IEEE802.3規定的操作頻率。舉例來說,在10GHz高速網絡的距離中,F等于521MHz,并且因此FW等于652MHz。然而,這并非本發明的一個限制。
[0062]封包產生器505以較高的操作頻率FW產生封包以及空閑數據,并且封包間隙產生器510以較高的操作頻率FW傳輸所有的封包數據以及使得部分的空閑字節通過,而不是將封包產生器505產生的所有空閑字節通過。當緩沖器525是滿額或者接近滿額時,封包產生器505停止數據產生。舉例來說,在每一周期,封包產生器505產生3行(即24字節)的數據,包含封包以及/空閑字節。當封包產生器505在一個周期產生當前封包的EOP時,封包產生器505在這個周期以空閑字節填充EOP之后的剩余字節空間。封包產生器505在這個周期的EOP之后產生空閑數據(空閑字節),并且在一個不同的周期產生下一封包的S0P。封包產生器505依據這一周期中在EOP之后的剩余字節空間的數量來決定是否在下一個周期產生空閑字節。如果剩余字節空間的數量大于或者等于如上所述的空閑字節范圍的最小空閑字節,封包產生器505決定在下一個周期不產生空閑字節,并且在下一周期的開始產生下一封包的S0P。如果剩余字節空間的數量小于最小空閑字節,封包產生器505決定在下一周期產生24空閑字節,并且在下一周期之后的一個周期的開始產生下一封包的S0P。因此,在產生EOP之后,封包產生器505被設置為產生空閑數據來填充同一個周期中剩余字節空間,并在一個不同的周期的開始產生下一封包的S0P。由于封包產生器505并非設置為在一個相同的周期中產生一個封包的EOP與下一個封包的S0P,本發明所提出的架構能夠有效地減少封包產生器505的成本。EOP與SOP分別對應不同的周期。
[0063]接口電路520被設置為以較高的操作頻率FW來從緩沖器515中讀出數據,并且以較高的操作頻率FW寫入數據至總線525。為了滿足標準IEEE802.3的規定,接口電路520被設置為使能或者禁能數據寫入至總線525。舉例來說,在每K+1個連續的周期,接口電路520在K個周期使能數據寫入至總線525,并且在I個周期禁能數據寫入。對于100GHz的以太網,K等于4。因此,通過總線525的數據依然滿足標準IEEE802.3的規定。
[0064]圖6A是圖5的封包產生器505在時鐘CLK的不同的周期CO - C5以較高的頻率FW產生的數據的舉例說明。在周期CO,封包產生器505針對當前封包產生SOP SI,當前封包的前序碼P,以及封包數據Dl。在周期Cl與C2,封包產生器505產生當前封包的封包數據Dl。在周期C3,封包產生器505產生封包數據Dl、當前封包的EOP Tl、以及空閑數據II,其中空閑數據Il在當前封包的EOP Tl之后,并且封包產生器505利用空閑數據(即空閑字節)Il填充EOP Tl之后的剩余字節空間。在周期C3之后的周期C4,封包產生器505產生下一封包的SOP S2、前序碼P、以及下一封包的封包數據D2。在周期C5,封包產生器505產生封包數據D2。需注意上述舉例說明并非本發明的限制。在其他的實施例中,封包產生器505在周期C3產生空閑數據填充EOP Tl之后的剩余字節空間,并且在一個不同的周期(例如周期C4或者周期C5)產生下一封包的SOP S2。封包產生器505不在相同的周期內產生EOP Tl以及SOP S2。通道(Lanes) O-23代表包含24字節的數據總線頻寬W*CS。
[0065]圖6B是當數據寫入封包間隙產生器510時,針對圖5所示的封包產生器505在圖6A所示的不同的周期CO - C5產生的舉例數據寫入緩沖器的相對應的存儲地址的示意圖。舉例來說,封包產生器505在周期C3產生的數據(包含封包數據Dl、當前封包的EOP Tl、以及一部分空閑數據II)位于具有初始地址0x48 - 0x58的行。封包產生器105在周期C3產生的該部分空閑數據Il位于具有初始地址0x50 - 0x58的行,并由封包間隙產生器510過濾掉。圖6C是圖6B所示的舉例說明的由封包間隙產生器510選擇并傳輸的數據結果的示意圖。如圖6C所示,當前封包與下一封包的空閑數據的間隙包含7個字節,包含6個空閑字節以及I個字節的當前封包的Ε0Ρ。在另一個舉例說明中,封包間隙產生器510傳輸不同數量的空閑字節至緩沖器515。封包間隙產生器510被設置為在每兩個連續的封包之間動態輸出、產生、或者插入一個不同數量的空閑字節,來滿足在兩個連續的封包之間平均產生12個空閑字節的標準IEEE802.3的要求。需說明的是,封包間隙產生器510的操作與圖1所示的封包間隙產生器110的操作相似,在此不再贅述。與封包間隙產生器110的操作相比較,一個較大的差別是封包間隙產生器510在一個較高的操作頻率FW下工作,并且處理3行數據每周期。
[0066]圖7A是依據圖5所示的實施例,當缺陷空閑計數小于或者等于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。圖7B是依據圖5所示的實施例,當缺陷空閑計數大于8時,依據不同的EOP舉例,包含空閑字節的間隙與相比較平均空閑字節數量的缺陷空閑字節數量之間的關系的查找表。M0D、EN_E0P、IBN, IS、DS、IG以及DG的值的定義與圖3A與圖3B中對應的值的定義相似,在此不再贅述。一個不同之處在于圖7A與圖7B所示的查找表是被封包間隙產生器510以較高的操作頻率FW每周期處理24字節來使用。圖3A與圖3B所示的查找表是封包間隙產生器110以一個較低的操作頻率每周期處理32字節時使用。
[0067]在另一個舉例說明中,設置一個先近先出(first-1n-first-out, FIFO)電路在緩沖器與接口電路之間。圖8是依據本發明第三實施例的網絡裝置800的結構示意圖。網絡裝置800包含封包產生器805、封包間隙產生器810,緩沖器815以及先進先出電路817。網絡裝置800是整體耦接(但不局限于整體耦接)至一個接口電路820、一個總線825以及一個時鐘產生器830。網絡裝置800是用來依據標準IEEE802.3的規定,在不同的周期產生數據(例如封包)至總線825。對于每一封包,網絡裝置800產生封包的開始(可以縮寫為S0P)、前序碼、封包數據、以及封包的結束(可以縮寫為Ε0Ρ)。此外,網絡裝置800產生以及/或者插入足夠的空閑數據(例如空閑字節)在每兩個連續的封包之間。每兩個連續的封包之間插入的空閑字節的數量是由網絡裝置800決定。網絡裝置800設置空閑字節的數量,使其落在一個由一個最大值和一個最小值組成的范圍之內。此外,網絡裝置800設置不同封包的空閑字節的平均數量來滿足標準IEEE802.3的規定。網絡裝置800也產生數據(包含封包與空閑字節)經由接口電路820至總線825。W*CS代表用來傳輸數據至總線825的數據總線頻寬。因此,網絡裝置800產生的數據由緩沖器815緩沖,接著從緩沖器815中讀出并且通過具有數據總線頻寬W的接口電路820寫入總線825。先進先出電路817以較高的操作頻率FW從緩沖器815中讀出數據,并且以操作頻率FW將數據寫入先進先出電路817。接口電路820以正常的頻率F從先進先出電路817中讀出數據,并以正常的頻率F將數據寫入總線。因此,并不需要將總線825的數據存取速率從正常的操作頻率F增加至較高的操作頻率FW。
[0068]此外,如上所述的實施例并不局限于10GHz的以太網,而能夠應用在其他的以太網,例如40GHz以太網或者400GHz以太網。以上所述的實施方式能夠應用至所有高速的以太網。
[0069]雖然本發明以較佳實施方式揭露如上,然而此較佳實施方式并非用以限定本發明,本領域技術人員不脫離本發明的精神和范圍內,凡依本發明申請專利范圍所做的均等變化與修飾,都應屬本發明的涵蓋范圍。
【權利要求】
1.一種在網絡裝置中使用的方法,用來在每一周期以一個數據總線頻寬輸出數據至總線,該方法包含: 使用封包產生器在一個周期內的一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始;以及 使用封包間隙產生器接收從該封包產生器傳輸來的數據,動態寫入接收到的數據至緩沖器,并且依據該封包結束以及該封包產生器產生的該空閑數據,插入一個包含該空閑數據的間隙至該封包結束與該封包開始之間。
2.如權利要求1所述的方法,其特征在于,該一個周期是第一周期并且該一個不同的周期是在該第一周期之后的第二周期;以及該在一個周期內,使用封包產生器來在一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始的步驟包含: 在該第一周期中的該封包結束之后產生該空閑數據;以及 在該第二周期的開始產生該封包開始。
3.如權利要求1所述的方法,其特征在于,該一個周期是第一周期并且該一個不同的周期是在該第一周期之后的第二周期之后的第三周期;以及該在一個周期內,使用封包產生器來在一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始的步驟包含: 在該第一周期中的該封包結束之后以及該第二周期產生該空閑數據;以及 在該第三周期的開始產生該封包開始.
4.如權利要求1所述的方法,其特征在于,進一步包含: 使用該封包產生器在每一周期產生比對應該數據總線頻寬的數據更多的數據。
5.如權利要求4所述的方法,其特征在于,在每一周期產生的數據對應到數據行的大小,該數據行的大小等于該數據總線頻寬的行數量加上一個數據行。
6.如權利要求1所述的方法,其特征在于,該插入包含空閑數據的間隙的步驟包含: 依據該封包結束以及該封包產生器產生的該空閑數據,決定該間隙中的空閑數據的空閑字節的數量;以及 依據該空閑字節的數量,選擇該封包結束以及在該封包結束之后的一部分的該空閑數據來形成兩個連續的封包之間的該間隙,并且輸出該封包結束以及該部分空閑數據。
7.如權利要求6所述的方法,其特征在于,該決定空閑字節的數量的步驟包含: 依據該封包的該封包結束來計算空閑字節的初始數量; 通過比較該空閑字節初始數量與空閑字節的平均數量,計算缺陷空閑數量; 在一個先前封包的封包結束之后,通過增加該缺陷空閑數量至缺陷空閑計數,針對空閑字節累加該缺陷空閑計數; 依據該累加的缺陷空閑計數,選擇性地參考兩個不同的查找表中的一個查找表來決定兩個封包之間的該間隙的空閑字節的數量; 其中該兩個查找表中的一個第一查找表與空閑字節的數量小于該平均數量的情況相關,并且該兩個查找表中的一個第二查找表與空閑字節的數量不小于該平均數量的情況相關。
8.如權利要求7所述的方法,其特征在于,該選擇性地參考兩個不同的查找表中的一個查找表來決定兩個封包之間的該間隙的空閑字節的數量的步驟包含: 當該缺陷空閑計數小于或者等于一個閾值數量,通過參考該第一查找表與該封包的封包結束決定該空閑字節的數量,其中該缺陷空閑計數被增加,并且決定的該兩個連續的封包之間的該間隙的空閑字節的數量不大于該平均數量;并且 當該缺陷空閑計數大于該閾值數量,通過參考該第二查找表與該封包的封包結束決定并且補償該空閑字節的數量,其中該缺陷空閑計數被減少,并且決定該兩個連續的封包之間的該間隙的空閑字節的數量大于該平均數量。
9.如權利要求8所述的方法,其特征在于,該閾值數量是一個數據行的字節的數量。
10.如權利要求1所述的方法,其特征在于,該在一個周期內使用封包產生器來在一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始的步驟包含: 使用該封包產生器以一個高于該數據總線頻寬速率的頻率來產生數據,來在該周期內在該封包結束之后產生該空閑數據,并且在該不同的周期產生該下一封包的該封包開始; 其中從該封包產生器傳輸的該數據被該封包間隙產生器以該高于該數據總線頻寬速率的頻率來處理。
11.一種網絡裝置,用來在每一周期以一個數據總線頻寬輸出數據至總線,該網絡裝置包含: 封包產生器,用于在一個封包的封包結束之后產生空閑數據,并且在一個不同的周期產生下一封包的封包開始;以及 封包間隙產生器,耦接至該封包產生器,用于接收從該封包產生器傳輸的數據,動態寫入接收到的數據至緩沖器,并且依據該封包結束以及該封包產生器產生的該空閑數據,插入一個包含該空閑數據的間隙至該封包結束與該封包開始之間。
12.根據權利要求11所述的網絡裝置,其特征在于,該一個周期是第一周期并且該一個不同的周期是在該第一周期之后的第二周期;該封包產生器設置為在該第一周期中的該封包結束之后產生該空閑數據,以及在該第二周期的開始產生該封包開始。
13.根據權利要求11所述的網絡裝置,其特征在于,該一個周期是第一周期并且該一個不同的周期是在該第一周期之后的第二周期之后的第三周期;以及該封包產生器設置為在該第一周期中的該封包結束之后以及該第二周期產生該空閑數據,以及在該第三周期的開始產生該封包開始。
14.根據權利要求11所述的網絡裝置,其特征在于,該封包產生器設置為在每一周期來產生比對應該數據總線頻寬的數據更多的數據。
15.根據權利要求14所述的網絡裝置,其特征在于,在每一周期產生的數據對應到數據行的大小,該數據行的大小等于該數據總線頻寬的行數量加上一個數據行。
16.根據權利要求11所述的網絡裝置,其特征在于,該封包間隙產生器設置為依據該封包結束以及該封包產生器產生的該空閑數據,決定該間隙中的空閑數據的空閑字節的數量,并且依據該空閑字節的數量,選擇該封包結束以及在該封包結束之后的一部分的該空閑數據來形成兩個連續的封包之間的該間隙,并且輸出該封包結束以及該部分空閑數據至該緩沖器。
17.根據權利要求16所述的網絡裝置,其特征在于,該封包間隙產生器用來: 依據該封包結束,計算空閑字節的初始數量; 通過比較該初始空閑字節數量與空閑字節的平均數量,計算缺陷空閑數量; 在一個先前封包的封包結束之后,通過增加該缺陷空閑數量至缺陷空閑計數,針對空閑字節累加該缺陷空閑計數; 依據該累加的缺陷空閑計數,選擇性地參考兩個不同的查找表中的一個查找表來決定兩個封包之間的該間隙的空閑字節的數量; 其中該兩個查找表中的一個第一查找表與空閑字節的數量小于該平均數量的情況相關,并且該兩個查找表中的一個第二查找表與空閑字節的數量不小于該平均數量的情況相關。
18.根據權利要求17所述的網絡裝置,其特征在于,當該缺陷空閑計數小于或者等于一個閾值數量,該封包間隙產生器通過參考該第一查找表與該封包的封包結束決定該空閑字節的數量,其中該缺陷空閑計數被增加,并且決定的該兩個連續的封包之間的該間隙的空閑字節的數量不大于該平均數量;并且 當該缺陷空閑計數大于該閾值數量,該封包間隙產生器通過參考該第二查找表與該封包的封包結束決定并且補償該空閑字節的數量,其中該缺陷空閑計數被減少,并且決定該兩個連續的封包之間的該間隙的空閑字節的數量大于該平均數量。
19.根據權利要求18所述的網絡裝置,其特征在于,該閾值數量是一個數據行的字節的數量。
20.根據權利要求11所述的網絡裝置,其特征在于,該封包產生器以一個高于該數據總線頻寬速率的頻率來產生數據,來在該周期內在該封包結束之后產生該空閑數據,并且在該不同的周期產生該下一封包的該封包開始; 其中從該封包產生器傳輸的該數據被該封包間隙產生器以該高于該數據總線頻寬速率的頻率來處理。
21.根據權利要求20所述的網絡裝置,其特征在于,進一步包含: 先進先出電路,耦接在該封包間隙產生器與該總線之間,用來以高于該數據總線頻寬的速率的頻率讀出從該封包間隙產生器傳輸的數據,并且用來以該數據總線頻寬的速率輸出數據至該總線。
【文檔編號】H04L12/951GK104283818SQ201410320279
【公開日】2015年1月14日 申請日期:2014年7月7日 優先權日:2013年7月11日
【發明者】林奇鋒, 陳威仁 申請人:聯發科技股份有限公司