交換器及數(shù)據(jù)訪問方法
【專利摘要】本發(fā)明涉及一種儲存資源集中管理的交換器。所述交換器適用于在至少一源節(jié)點以及至少一目標(biāo)節(jié)點之間傳輸數(shù)據(jù)封包。所述交換器包括儲存單元、控制單元、至少一接收端口以及至少一發(fā)送端口。所述儲存單元具有多個儲存區(qū)塊,用以緩存所述數(shù)據(jù)封包。所述控制單元用以管理所述儲存區(qū)塊。所述交換器經(jīng)由所述接收端口而接收并緩存所述至少一源節(jié)點所傳輸?shù)臄?shù)據(jù)封包。所述交換器經(jīng)由所述發(fā)送端口而將緩存的數(shù)據(jù)封包發(fā)送給至少一所述目標(biāo)節(jié)點。
【專利說明】
交換器及數(shù)據(jù)訪問方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種交換器,特別是涉及一種儲存資源集中管理的交換器以及此交換 器的數(shù)據(jù)訪問方法。
【背景技術(shù)】
[0002] 圖1為傳統(tǒng)交換器的方塊圖。如圖1所示,交換器100具有多個傳輸端口 11,交換器 100經(jīng)由多個傳輸端口 11而與多個計算器節(jié)點10進行數(shù)據(jù)傳輸,每一個傳輸端口 11各自對 應(yīng)于一個具備特定儲存空間的儲存單元。具體來說,每一個傳輸端口 11各自具備一個數(shù)據(jù) 接收儲存單元12以及一個數(shù)據(jù)發(fā)送儲存單元13,數(shù)據(jù)接收儲存單元12以及數(shù)據(jù)發(fā)送儲存單 元13分別用來儲存交換器100所接收到與所要發(fā)送的數(shù)據(jù)封包。一般來說,由于傳統(tǒng)的交換 器的每一個傳輸端口是各自具備專用的儲存空間,因此每一個儲存空間都必須要設(shè)計為最 大值以滿足每一個傳輸端口的各種儲存狀況,例如數(shù)據(jù)封包傳輸?shù)乃俣?、帶寬以及讀取時 的延遲等因素都會對儲存空間的使用造成影響。然而,并不是每一次的數(shù)據(jù)封包的傳輸都 需要使用到全部的儲存空間,且傳統(tǒng)的交換器具備的多個傳輸端口也不一會同時進行數(shù)據(jù) 封包的傳輸,也就是說,當(dāng)傳統(tǒng)的交換器運作時可能僅使用了一部分的傳輸端口而閑置了 另一部分的傳輸端口,在這種情況下,這些閑置的傳輸端口所配置的儲存空間并不會被使 用,因此傳統(tǒng)的交換器往往存在著因為儲存空間的閑置而造成資源的浪費等問題。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供一種交換器,其可用來改善【背景技術(shù)】的問題。
[0004] 本發(fā)明另提供一種適用于上述交換器的數(shù)據(jù)訪問方法。
[0005] 本發(fā)明提出的一種交換器,適用于在第一源節(jié)點與第一目標(biāo)節(jié)點之間,以及在第 二源節(jié)點與第二目標(biāo)節(jié)點之間傳輸數(shù)據(jù)封包。所述交換器包括儲存單元、控制單元、第一端 口、第二端口、第三端口以及第四端口。所述儲存單元具有多個儲存區(qū)塊,用以緩存所述數(shù) 據(jù)封包。所述控制單元用以管理所述儲存區(qū)塊。所述第一源節(jié)點通過所述第一端口與所述 控制單元建立第一通信鏈接。所述第一目標(biāo)節(jié)點通過所述第二端口與所述控制單元建立第 二通信鏈接。所述第二源節(jié)點通過所述第三端口與所述控制單元建立第三通信鏈接。所述 第二目標(biāo)節(jié)點通過所述第四端口與所述控制單元建立第四通信鏈接。所述第一源節(jié)點以及 所述第二源節(jié)點分別經(jīng)由所述第一通信鏈接以及所述第三通信鏈接而共享所述儲存單元 的所述儲存區(qū)塊,以緩存所述第一源節(jié)點以及所述第二源節(jié)點所傳輸?shù)臄?shù)據(jù)封包,所述第 一目標(biāo)節(jié)點以及所述第二目標(biāo)節(jié)點分別經(jīng)由所述第二通信鏈接以及所述第四通信鏈接而 接收所述第一目標(biāo)節(jié)點和所述第二目標(biāo)節(jié)點所傳輸?shù)臄?shù)據(jù)封包。
[0006] 本發(fā)明又提出一種適用于上述交換器的數(shù)據(jù)訪問方法,其包括下列步驟:通過所 述第一通信鏈接與所述第三通信鏈接至少其中之一而傳送數(shù)據(jù)封包給所述交換器并由所 述控制單元將所述數(shù)據(jù)封包中的信息存入所述儲存單元;以及通過所述第二通信鏈接與所 述第四通信鏈接至少其中之一而從所述儲存單元取出所述數(shù)據(jù)封包中的信息。
[0007] 本發(fā)明的交換器經(jīng)由上述硬件架構(gòu)以及數(shù)據(jù)訪問方法而讓多個源節(jié)點和目標(biāo)節(jié) 點共享儲存空間,并且經(jīng)由控制單元來管理所述的儲存空間,因此可以讓多個源節(jié)點經(jīng)由 對應(yīng)的通信鏈接而將數(shù)據(jù)封包緩存于所述儲存空間,并且讓多個目標(biāo)節(jié)點經(jīng)由對應(yīng)的通信 鏈接而從所述儲存空間取出緩存的數(shù)據(jù)封包,因此在儲存空間的配置以及數(shù)據(jù)封包的存取 效率都能夠優(yōu)于傳統(tǒng)的交換器。
[0008] 為使本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例, 并結(jié)合附圖詳細說明如下。
【附圖說明】
[0009] 藉由下列附圖及說明,可使得對本發(fā)明有更深入的了解:
[0010] 圖1為傳統(tǒng)交換器的方塊圖。
[0011] 圖2為本發(fā)明一實施例的交換器的方塊圖。
[0012] 圖3為本發(fā)明一實施例的交換器更進一步的方塊圖。
[0013] 圖4為本發(fā)明一實施例的交換器在存取數(shù)據(jù)時的方塊圖。
[0014] 圖5為本發(fā)明一實施例的交換器在存取數(shù)據(jù)時的方塊圖。
[0015] 圖6為本發(fā)明一實施例的數(shù)據(jù)訪問方法的流程圖。
[0016] 附圖符號說明
[0017] 附圖中所包含的各組件列示如下:
[0018] 100:交換器
[0019] 10:計算器節(jié)點
[0020] 11:傳輸端口
[0021] 12:數(shù)據(jù)接收儲存單元
[0022] 13:數(shù)據(jù)發(fā)送儲存單元
[0023] 200:交換器
[0024] 20:儲存單元
[0025] 201 :數(shù)據(jù)區(qū)塊
[0026] 202:標(biāo)頭區(qū)塊
[0027] 203:錯誤校驗區(qū)塊
[0028] 21:控制單元
[0029] 211 :數(shù)據(jù)區(qū)塊控制單元
[0030] 212:標(biāo)頭區(qū)塊控制單元
[0031] 213:錯誤校驗區(qū)塊控制單元
[0032] 22:第一端口
[0033] 23:第二端口
[0034] 24:第三端口
[0035] 25:第四端口
[0036] 26:第一源節(jié)點
[0037] 27:第一目標(biāo)節(jié)點
[0038] 28:第二源節(jié)點
[0039] 29:第二目標(biāo)節(jié)點
[0040] 2111:數(shù)據(jù)條目鏈接單元
[0041 ] 2112:數(shù)據(jù)可用條目標(biāo)示單元
[0042] 2121:標(biāo)頭可用條目標(biāo)示單元
[0043] 401:端口
[0044] 40、41、42、43、44、45、46、47、48:源節(jié)點
[0045] 601、602、603、604、605、606、607:步驟
【具體實施方式】
[0046] 圖2為本發(fā)明一實施例的交換器的方塊圖。如圖2所示,交換器200適用于在第一源 節(jié)點26與第一目標(biāo)節(jié)點27之間,以及在第二源節(jié)點28與第二目標(biāo)節(jié)點29之間傳輸數(shù)據(jù)封 包,交換器200包括儲存單元20、控制單元21、第一端口 22、第二端口 23、第三端口 24以及第 四端口 25。儲存單元20具有多個儲存區(qū)塊,用以緩存所傳輸?shù)臄?shù)據(jù)封包??刂茊卧?1用以管 理這些儲存區(qū)塊。第一源節(jié)點26通過第一端口 22與控制單元21建立第一通信鏈接。第一目 標(biāo)節(jié)點27通過第二端口 23與控制單元21建立第二通信鏈接。第二源節(jié)點28通過第三端口 24 與控制單元21建立第三通信鏈接。第二目標(biāo)節(jié)點29通過第四端口 25與控制單元21建立第四 通信鏈接。第一源節(jié)點26以及第二源節(jié)點28分別經(jīng)由第一通信鏈接以及第三通信鏈接而共 享儲存單元20的儲存區(qū)塊,以緩存第一源節(jié)點26以及第二源節(jié)點28所傳輸?shù)臄?shù)據(jù)封包,第 一目標(biāo)節(jié)點27以及第二目標(biāo)節(jié)點29分別經(jīng)由第二通信鏈接以及第四通信鏈接而分別經(jīng)由 儲存單元20接收第一源節(jié)點26和第二源節(jié)點28所傳輸?shù)臄?shù)據(jù)封包。在本發(fā)明所舉出的實施 例中,所傳輸?shù)臄?shù)據(jù)封包具有一標(biāo)頭信息、一數(shù)據(jù)信息以及一錯誤校驗信息,所述信息分別 依序緩存于儲存單元20的不同儲存區(qū)塊,但本發(fā)明并不以此為限。以第一端口到第四端口 22-25為高速外設(shè)部件互連PCIE(Peripheral Component Interconnect Express)標(biāo)準(zhǔn)端 口為例,所傳輸?shù)臄?shù)據(jù)封包可以是事務(wù)層TLP(Transaction Layer Packet)封包,該標(biāo)頭信 息包括了該數(shù)據(jù)封包要發(fā)送至哪個目標(biāo)端口的相關(guān)信息以及其它頭(header)信息,在多個 交換器200級聯(lián)的實施方式中,所有端口統(tǒng)一編號,中轉(zhuǎn)端口可根據(jù)該標(biāo)頭信息得知最終該 數(shù)據(jù)封包要發(fā)給哪個目標(biāo)端口。
[0047] 儲存區(qū)塊20包括數(shù)據(jù)區(qū)塊201、標(biāo)頭區(qū)塊202以及錯誤校驗區(qū)塊203??刂茊卧?1包 括數(shù)據(jù)區(qū)塊控制單元211、標(biāo)頭區(qū)塊控制單元212以及錯誤校驗區(qū)塊控制單元213。數(shù)據(jù)區(qū)塊 控制單元211用以將來自第一源節(jié)點26與第二源節(jié)點28至少其中之一的數(shù)據(jù)封包中的數(shù)據(jù) 信息儲存于數(shù)據(jù)區(qū)塊201,標(biāo)頭區(qū)塊控制單元212用以將數(shù)據(jù)封包中的標(biāo)頭信息儲存于標(biāo)頭 區(qū)塊202,錯誤校驗區(qū)塊控制單元213用以將數(shù)據(jù)封包中的錯誤校驗信息儲存于錯誤校驗區(qū) 塊203。在本發(fā)明所舉出的實施例中,控制單元21可以是經(jīng)由多個邏輯門所構(gòu)成的邏輯電路 來實現(xiàn),本領(lǐng)域技術(shù)人員可以經(jīng)由不同的邏輯電路架構(gòu)來實現(xiàn)本發(fā)明的控制單元21,因此 不再贅述。
[0048]圖3為本發(fā)明一實施例的交換器更進一步的方塊圖。圖3與圖2中相同的符號標(biāo)示 為相同的組件。如圖3所示,標(biāo)頭區(qū)塊202具有多個條目0-Y,標(biāo)頭區(qū)塊控制單元212包括標(biāo)頭 可用條目標(biāo)示單元2121,標(biāo)頭可用條目標(biāo)示單元2121用以標(biāo)示標(biāo)頭區(qū)塊202中的可用條目, 標(biāo)頭區(qū)塊控制單元212根據(jù)標(biāo)頭可用條目標(biāo)示單元2121所標(biāo)示的可用條目而將所述標(biāo)頭信 息存入對應(yīng)的可用條目。舉例來說,當(dāng)標(biāo)頭可用條目標(biāo)示單元2121標(biāo)示了條目0為可用狀態(tài) (也就是尚未存有信息),則標(biāo)頭區(qū)塊控制單元212會將來自于源節(jié)點(第一源節(jié)點26或第二 源節(jié)點28)的數(shù)據(jù)封包中的標(biāo)頭信息緩存于標(biāo)頭區(qū)塊201中的條目0。本實施例中,標(biāo)頭區(qū)塊 202的每個條目的存儲空間設(shè)計為可以存儲一個最大標(biāo)頭信息的長度,舉例而言為192比特 (bit),即本實施例中,一個標(biāo)頭信息最多占用一個條目的存儲空間。
[0049] 請繼續(xù)參照圖3,錯誤校驗區(qū)塊203具有多個條目0-Y,錯誤校驗區(qū)塊控制單元213 根據(jù)標(biāo)頭區(qū)塊控制單元212的標(biāo)頭可用條目標(biāo)示單元2121所標(biāo)示的可用條目而將所述錯誤 校驗信息存入相對應(yīng)的可用條目,也即是說,本發(fā)明的標(biāo)頭信息以及錯誤校驗信息是同步 存入對應(yīng)的可用條目。舉例來說,當(dāng)標(biāo)頭可用條目標(biāo)示單元2121標(biāo)示了條目0為可用狀態(tài) (也就是尚未存有信息),除了標(biāo)頭區(qū)塊控制單元212會將來自于源節(jié)點(第一源節(jié)點26或第 二源節(jié)點28)的數(shù)據(jù)封包中的標(biāo)頭信息緩存于標(biāo)頭區(qū)塊202中的條目0以外,錯誤校驗區(qū)塊 控制單元213也會將來自所述源節(jié)點的數(shù)據(jù)封包中的錯誤校驗信息緩存于錯誤校驗區(qū)塊 203中的條目0,這是因為標(biāo)頭區(qū)塊202所具有的條目數(shù)量0-Y等同于錯誤校驗區(qū)塊203所具 有的條目數(shù)量0-Y,且錯誤校驗區(qū)塊203的每個條目的存儲空間設(shè)計為可以存儲一個最大錯 誤校驗信息的長度,舉例而言為32比特(bit),即本實施例中,一個錯誤校驗信息最多占用 一個條目的存儲空間。因此只要經(jīng)由標(biāo)頭區(qū)塊控制單元212的標(biāo)頭可用條目標(biāo)示單元2121 所標(biāo)示的可用條目即可讓標(biāo)頭區(qū)塊控制單元212以及錯誤校驗區(qū)塊控制單元213同步地將 所述封包的標(biāo)頭信息以及錯誤校驗信息分別緩存于標(biāo)頭區(qū)塊202以及錯誤校驗區(qū)塊203的 對應(yīng)條目,藉此減少交換器系統(tǒng)的運算負(fù)擔(dān),但其并非用以限制本發(fā)明。
[0050] 請繼續(xù)參照圖3,數(shù)據(jù)區(qū)塊201具有多個條目0-X,數(shù)據(jù)區(qū)塊控制單元211包括數(shù)據(jù) 條目鏈接單元2111以及數(shù)據(jù)可用條目標(biāo)示單元2112。數(shù)據(jù)可用條目標(biāo)示單元2112用以標(biāo)示 數(shù)據(jù)區(qū)塊201中的可用條目,數(shù)據(jù)區(qū)塊控制單元211根據(jù)數(shù)據(jù)可用條目標(biāo)示單元2112所標(biāo)示 的可用條目而將所述數(shù)據(jù)信息存入對應(yīng)的可用條目。數(shù)據(jù)條目鏈接單元2111是用來指向?qū)?應(yīng)位置條目的下一個已使用條目。舉例來說,假設(shè)第一源節(jié)點26的數(shù)據(jù)封包的數(shù)據(jù)信息需 要占用數(shù)據(jù)區(qū)塊201當(dāng)中的3個條目來進行緩存,且當(dāng)數(shù)據(jù)可用條目標(biāo)示單元2112標(biāo)示數(shù)據(jù) 區(qū)塊201中的條目0-2為可用的時候,所述數(shù)據(jù)封包的所述數(shù)據(jù)信息會分別分成3筆而依序 緩存在所述的條目0-2,而當(dāng)所述目標(biāo)節(jié)點要取出所述3筆數(shù)據(jù)信息時,便會根據(jù)數(shù)據(jù)條目 鏈接單元2111所指向的條目來依序取出對應(yīng)的數(shù)據(jù)信息。具體來說,假設(shè)當(dāng)數(shù)據(jù)可用條目 標(biāo)示單元2112標(biāo)示數(shù)據(jù)區(qū)塊201中的條目0-2為可用,那么所述的第1筆數(shù)據(jù)信息會緩存在 條目0而第2筆數(shù)據(jù)信息緩存在條目1,而數(shù)據(jù)條目鏈接單元2111將會指向條目1,以表示在 第1筆數(shù)據(jù)信息之后被緩存的第2筆數(shù)據(jù)信息是緩存在條目1,同樣的道理,當(dāng)?shù)?筆數(shù)據(jù)信 息緩存在條目1而第3筆數(shù)據(jù)信息緩存在條目2,那么數(shù)據(jù)條目鏈接單元2111將會指向條目 2,以表示在第2筆數(shù)據(jù)信息之后被緩存的第3筆數(shù)據(jù)信息是緩存在條目2,如圖3所示。要特 別說明的是,雖然在上述的實施方式里面所提到的數(shù)據(jù)信息是依照順序而緩存在條目0-2 之中,但本發(fā)明并不以此為限,數(shù)據(jù)信息是根據(jù)可用條目標(biāo)示單元2112所標(biāo)示的可用條目 來決定要緩存在哪一個條目之中,不限定在依照順序。本發(fā)明的數(shù)據(jù)區(qū)塊控制單元211是以 條目為單位緩存數(shù)據(jù)封包的數(shù)據(jù)信息的,以第一端口到第四端口 22-25為高速外設(shè)部件互 連PCIE(Peripheral Component Interconnect Express)標(biāo)準(zhǔn)端口為例,一個數(shù)據(jù)封包的 數(shù)據(jù)信息的長度是不固定的,PCIE標(biāo)準(zhǔn)中規(guī)定TLP封包的數(shù)據(jù)信息最長為1024雙字(DW),假 設(shè)數(shù)據(jù)區(qū)塊201中每個條目的存儲空間設(shè)計為32雙字(1024比特)為例,一個TLP封包的數(shù)據(jù) 信息最多需占32個條目。在一實施例中,數(shù)據(jù)區(qū)塊201由8個128位寬的存儲器構(gòu)成。本發(fā)明 的數(shù)據(jù)區(qū)塊控制單元211每個時鐘周期最多緩存一個條目(即32雙字)的數(shù)據(jù)信息,如果一 個TLP封包的數(shù)據(jù)信息為1024雙字,則需要32個時鐘周期才能緩存完畢。概括而言,本發(fā)明 的數(shù)據(jù)區(qū)塊控制單元211根據(jù)數(shù)據(jù)可用條目標(biāo)示單元2112將來自源節(jié)點(第一源節(jié)點26或 第二源節(jié)點28)的數(shù)據(jù)封包中的數(shù)據(jù)信息部分存入數(shù)據(jù)區(qū)塊201,并根據(jù)數(shù)據(jù)條目鏈接單元 2111將該數(shù)據(jù)封包中的數(shù)據(jù)信息部分按照存入順序從數(shù)據(jù)區(qū)塊201讀取至目標(biāo)節(jié)點(第一 目標(biāo)節(jié)點27或第二目標(biāo)節(jié)點29)。
[0051]圖4為本發(fā)明一實施例的交換器在存取數(shù)據(jù)時的方塊圖。在圖4與圖3當(dāng)中,相同的 符號表示為相同的組件或信號。如圖4所示,交換器400具有多個端口 401,所述的端口 401各 自與多個源節(jié)點40、41、42、43、44、45、46、47、48建立通信鏈接。如前所述,在一實施例中,來 自于源節(jié)點40-48的每一個數(shù)據(jù)封包當(dāng)中的標(biāo)頭信息僅會占用到標(biāo)頭區(qū)塊202當(dāng)中的一個 條目,來自于源節(jié)點40-48的每一個數(shù)據(jù)封包當(dāng)中的錯誤校驗信息也僅會占用到錯誤校驗 區(qū)塊203當(dāng)中的一個條目,因此不再多做說明,但是來自于源節(jié)點40-48的每一個數(shù)據(jù)封包 當(dāng)中的數(shù)據(jù)信息由于長度不固定,有可能會占用到數(shù)據(jù)區(qū)塊201當(dāng)中的多個條目,因此便需 要經(jīng)由數(shù)據(jù)條目鏈接單元2111的指示去將每一個數(shù)據(jù)封包中的多筆數(shù)據(jù)信息所緩存的條 目做鏈接,如此一來可以提高數(shù)據(jù)信息的存取效率并降低交換器400的運算負(fù)擔(dān)。在本實施 例中,為了使源節(jié)點40-48能夠同時將數(shù)據(jù)封包當(dāng)中的數(shù)據(jù)信息寫入數(shù)據(jù)區(qū)塊201,因此在 初始期間(源節(jié)點還沒有將資料封包寫入的期間),數(shù)據(jù)區(qū)塊201會為每一個源節(jié)點40-48預(yù) 先保留一個條目,例如條目0會預(yù)先保留給源節(jié)點40,條目1會預(yù)先保留給源節(jié)點41,條目2 會預(yù)先保留給源節(jié)點42…條目8會預(yù)先保留給源節(jié)點48,所以當(dāng)源節(jié)點40-48同時傳輸數(shù)據(jù) 封包給交換器400的時候,會各自將其數(shù)據(jù)信息寫入上述的預(yù)先保留條目0-8,但是實際上 并不一定所有的源節(jié)點40-48都會同時傳輸數(shù)據(jù)封包給交換器400,因此若有源節(jié)點沒有傳 輸數(shù)據(jù)封包,那么其預(yù)先保留的條目仍然會被保留而不會被其它源節(jié)點所傳輸?shù)臄?shù)據(jù)信息 占用。
[0052]承上述,假設(shè)圖4中所有的源節(jié)點40-48都將各自的數(shù)據(jù)信息寫入數(shù)據(jù)區(qū)塊201所 保留的條目0-8,那么數(shù)據(jù)可用條目標(biāo)示單元2112會依據(jù)一個讀取指針(read pointer)的 提示而將可用條目指向9,也就是說當(dāng)源節(jié)點40-48有下一筆數(shù)據(jù)信息要寫入時,根據(jù)該讀 取指針可知該筆數(shù)據(jù)信息會寫入到數(shù)據(jù)區(qū)塊210當(dāng)中的條目9,在下一個段落將搭配圖5來 做詳細說明。此外,數(shù)據(jù)可用條目標(biāo)示單元2112還會利用一個寫入指針(write pointer)指 向緩存空間被釋放后的可用條目,這個部分也將會在后面的段落當(dāng)中來做說明。在本實施 例中,由于在初始期間,所有的源節(jié)點40-48是各自將數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201當(dāng)中對 應(yīng)的預(yù)先保留條目0-8,因此數(shù)據(jù)條目鏈接單元2111的條目0-8的位置是依序指向條目1-9, 即指示出條目〇的下一個已使用條目是1,條目1的下一個已使用條目是2……以此類推。 [0053]圖5為本發(fā)明一實施例的交換器在存取數(shù)據(jù)時的方塊圖。在圖5與圖4當(dāng)中,相同的 符號表示為相同的組件或信號。圖5所繪的方塊圖是用來描述圖4的交換器400的源節(jié)點40-48各自在初始期間將數(shù)據(jù)封包當(dāng)中的數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201當(dāng)中的條目0-8之后的 寫入期間。要注意的是,源節(jié)點40-48要傳輸?shù)臄?shù)據(jù)封包的所述數(shù)據(jù)信息可占用數(shù)據(jù)區(qū)塊 201中的多個條目,這在圖5會繼續(xù)描述。
[0054] 請參照圖5,在所述寫入期間內(nèi),假設(shè)源節(jié)點40-48中的源節(jié)點40、42、44、45所傳輸 的數(shù)據(jù)封包尚有第二筆數(shù)據(jù)信息要寫入,因此會根據(jù)圖4中的數(shù)據(jù)可用條目標(biāo)示單元2112 所標(biāo)示的可用條目9(經(jīng)由讀取指針?biāo)崾荆┒鴮⒃垂?jié)點40、42、44、45所傳輸?shù)牡诙P數(shù)據(jù) 信息寫入到數(shù)據(jù)區(qū)塊201當(dāng)中的條目9-12,值得注意的是,在一實施例中,即使源節(jié)點40-48 各自在初始期間沒有寫入數(shù)據(jù)信息到條目0-8,條目0-8也分別對應(yīng)地為源節(jié)點40-48保留 而不會存儲其它源節(jié)點的其它數(shù)據(jù),即條目標(biāo)示單元2112所標(biāo)示的可用條目仍是條目9。此 時條目0-12都已存有數(shù)據(jù)信息,因此數(shù)據(jù)可用條目標(biāo)示單元2112的讀取指針會提示條目13 而使數(shù)據(jù)可用條目標(biāo)示單元2112根據(jù)讀取指針的提示而標(biāo)示條目13為可用。
[0055]請參照圖4以及圖5,具體來說,源節(jié)點40將所傳輸?shù)臄?shù)據(jù)封包當(dāng)中的第一筆數(shù)據(jù) 信息寫入到數(shù)據(jù)區(qū)塊201的可用條目0,并將當(dāng)中的第二筆數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201的 可用條目9,因此數(shù)據(jù)條目鏈接單元2111會在條目0的位置標(biāo)示出對應(yīng)于已使用條目0的下 一個已使用條目是9,以便目標(biāo)節(jié)點(圖未示)在讀取此數(shù)據(jù)封包的時候會在讀取緩存于條 目〇當(dāng)中的數(shù)據(jù)信息之后,接著再根據(jù)數(shù)據(jù)條目鏈接單元2111的標(biāo)示而讀取緩存于條目9當(dāng) 中的數(shù)據(jù)信息。類似地,源節(jié)點42將所傳輸?shù)臄?shù)據(jù)封包當(dāng)中的第一筆數(shù)據(jù)信息寫入到數(shù)據(jù) 區(qū)塊201的可用條目2,并將第二筆數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201的可用條目10,因此數(shù)據(jù)條 目鏈接單元2111會在條目2的位置標(biāo)示出對應(yīng)于已使用條目2的下一個已使用條目是10,以 便目標(biāo)節(jié)點(圖未示)在讀取此數(shù)據(jù)封包的時候會在讀取緩存于條目2當(dāng)中的數(shù)據(jù)信息之 后,接著再根據(jù)數(shù)據(jù)條目鏈接單元2111的標(biāo)示而讀取緩存于條目10當(dāng)中的數(shù)據(jù)信息。類似 地,源節(jié)點44將所傳輸?shù)臄?shù)據(jù)封包當(dāng)中的第一筆數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201的可用條目 4,并將第二筆數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201的可用條目11,因此數(shù)據(jù)條目鏈接單元2111會 在條目4的位置標(biāo)示出對應(yīng)于已使用條目4的下一個已使用條目是11,以便目標(biāo)節(jié)點(圖未 示)在讀取此數(shù)據(jù)封包的時候會在讀取緩存于條目4當(dāng)中的數(shù)據(jù)信息之后,接著再根據(jù)數(shù)據(jù) 條目鏈接單元2111的標(biāo)示而讀取緩存于條目11當(dāng)中的數(shù)據(jù)信息。類似地,源節(jié)點45將所傳 輸?shù)臄?shù)據(jù)封包當(dāng)中的第一筆數(shù)據(jù)信息寫入到數(shù)據(jù)區(qū)塊201的可用條目5,并將第二筆數(shù)據(jù)信 息寫入到數(shù)據(jù)區(qū)塊201的可用條目12,因此數(shù)據(jù)條目鏈接單元2111會在條目5的位置標(biāo)示出 對應(yīng)于已使用條目5的下一個已使用條目是12,以便目標(biāo)節(jié)點(圖未示)在讀取此數(shù)據(jù)封包 的時候會在讀取緩存于條目5當(dāng)中的數(shù)據(jù)信息之后,接著再根據(jù)數(shù)據(jù)條目鏈接單元2111的 標(biāo)示而讀取緩存于條目12當(dāng)中的數(shù)據(jù)信息。
[0056] 總的來說,由于同時會有多個源節(jié)點將其所傳輸?shù)臄?shù)據(jù)封包中的數(shù)據(jù)信息寫入數(shù) 據(jù)區(qū)塊201,因此每一個源節(jié)點所傳輸?shù)臄?shù)據(jù)封包當(dāng)中的第二筆數(shù)據(jù)信息(若有第二筆數(shù)據(jù) 信息存在)或是第二筆以上的數(shù)據(jù)信息(若有第二筆以上的數(shù)據(jù)信息存在)并不會被寫入與 該源節(jié)點的第一筆數(shù)據(jù)信息寫入的條目順序連續(xù)的條目,因此數(shù)據(jù)條目鏈接單元2111當(dāng)中 所標(biāo)示的條目并不是依照順序排列,其是指向?qū)?yīng)位置條目的下一個已使用條目,以使目 標(biāo)節(jié)點能夠更快速且正確地讀取對應(yīng)的數(shù)據(jù)信息。
[0057] 例如,當(dāng)目標(biāo)節(jié)點在讀取源節(jié)點40、45緩存于數(shù)據(jù)區(qū)塊201內(nèi)的數(shù)據(jù)信息時,會依 序讀取緩存于條目〇、9當(dāng)中的數(shù)據(jù)信息以獲得源節(jié)點40所傳輸?shù)臄?shù)據(jù)封包,還會依序讀取 緩存于條目5、12當(dāng)中的數(shù)據(jù)信息以獲得源節(jié)點45所傳輸?shù)臄?shù)據(jù)封包,而在數(shù)據(jù)區(qū)塊201的 條目0、9、5、12當(dāng)中的數(shù)據(jù)信息被讀取之后,條目0、9、5、12所對應(yīng)的緩存空間會被釋放以供 再次緩存。要特別注意的是,本實施例中的數(shù)據(jù)可用條目標(biāo)示單元2112除了利用讀取指針 來標(biāo)示出目前數(shù)據(jù)區(qū)塊201可供緩存數(shù)據(jù)信息的當(dāng)前可用條目之外(例如條目13),還會利 用寫入指針來標(biāo)示出緩存空間已被釋放的條目(例如條目〇、9、5、12)為4個。圖5未示出,當(dāng) 條目0、9、5、12對應(yīng)的緩存空間被釋放之后,寫入指針會由0加4,表示在向數(shù)據(jù)可用條目標(biāo) 示單元2112中添加空條目時從位置4開始寫入,而相應(yīng)地,數(shù)據(jù)可用條目標(biāo)示單元2112的位 置0-3存放被釋放的條目0、9、5、12的條目號。在本發(fā)明所提出的實施例中,儲存單元20中的 儲存區(qū)塊201-203例如是用靜態(tài)隨機存取存儲器(SRAM)來實現(xiàn),但本發(fā)明并不以此為限。 [0058]接下來將配合圖2來繼續(xù)對本實施例做說明。請參照圖2,當(dāng)源節(jié)點26及/或源節(jié)點 28通過對應(yīng)的通信鏈接而將所述數(shù)據(jù)封包傳輸至所述交換器200,標(biāo)頭區(qū)塊控制單元212、 錯誤校驗區(qū)塊控制單元213以及數(shù)據(jù)區(qū)塊控制單元211分別將所述數(shù)據(jù)封包當(dāng)中的標(biāo)頭信 息、錯誤校驗信息以及數(shù)據(jù)信息儲存到對應(yīng)的條目,交換器200會對應(yīng)地產(chǎn)生一個儲存地 址,并將所產(chǎn)生的儲存地址返回給對應(yīng)的源節(jié)點26及/或源節(jié)點28。具體來說,所述儲存地 址包括數(shù)據(jù)起始地址以及標(biāo)頭地址(詳細格式舉例見后表格1)。應(yīng)明確的是,本發(fā)明的每個 源節(jié)點的端口(例如第一端口 22和第三端口24)中會設(shè)置一地址隊列(圖未示)存放交換器 200返回的關(guān)于標(biāo)頭信息、錯誤校驗信息以及數(shù)據(jù)信息分別在標(biāo)頭區(qū)塊202、錯誤校驗區(qū)塊 203以及數(shù)據(jù)區(qū)塊201的該儲存地址。源節(jié)點26及/或28再通過旁路信道(圖未示)而將該地 址隊列中所暫存的該儲存地址傳送給對應(yīng)的目標(biāo)節(jié)點27及/或29,當(dāng)目標(biāo)節(jié)點27及/或29通 過對應(yīng)的通信鏈接而從交換器200取出數(shù)據(jù)封包時,目標(biāo)節(jié)點27及/或29依據(jù)所述儲存地址 以及傳輸指令中的控制信息(詳細格式舉例見后表格2)而從數(shù)據(jù)區(qū)塊201中的對應(yīng)條目取 出數(shù)據(jù)信息。接著,當(dāng)目標(biāo)節(jié)點27及/或29成功地從數(shù)據(jù)區(qū)塊201中的對應(yīng)條目取出數(shù)據(jù)信 息后,依據(jù)取出的結(jié)果而返回一個清空信息(詳細格式舉例見后表格3),交換器200依據(jù)所 述清空信息而清除標(biāo)頭區(qū)塊202、錯誤校驗區(qū)塊203以及數(shù)據(jù)區(qū)塊201中的對應(yīng)條目所儲存 的標(biāo)頭信息、錯誤校驗信息以及數(shù)據(jù)信息。所述控制信息以及所述清空信息包括所述數(shù)據(jù) 起始地址、所述標(biāo)頭地址、所述源節(jié)點的識別信息、數(shù)據(jù)封包格式信息、數(shù)據(jù)封包長度信息、 端口操作信息以及封包狀態(tài)信息。
[0059]舉例來說,表格1表示了所述儲存地址的格式,其中該儲存地址的長度例如是0-20 比特(bit),其中0-10比特所記錄的信息代表了儲存單元20當(dāng)中緩存的數(shù)據(jù)信息在數(shù)據(jù)區(qū) 塊201中的起始地址,11-20比特所記錄的信息代表了儲存單元20當(dāng)中緩存的標(biāo)頭信息在標(biāo) 頭區(qū)塊202中的地址,所述信息長度的比特數(shù)僅為舉例而已,本發(fā)明并不以此為限。此外,在 本實施例中的儲存地址并不包含數(shù)據(jù)封包中的錯誤校驗信息在錯誤校驗區(qū)塊203中的地 址,這是因為錯誤校驗信息以及標(biāo)頭信息的長度都是固定的(數(shù)據(jù)信息僅有總長度的限制 而每一筆數(shù)據(jù)信息的長度沒有限制),因此可以與標(biāo)頭信息共享標(biāo)頭可用條目標(biāo)示單元 2121所標(biāo)示的可用條目而將錯誤校驗信息同步緩存于錯誤校驗區(qū)塊203的可用條目中,即 是說,錯誤校驗信息的在錯誤校驗區(qū)塊203的存儲地址等同于標(biāo)頭信息在的標(biāo)頭區(qū)塊202的 存儲地址。但本發(fā)明并不以此為限。
[0060] 表格1-儲存地址格式
[0062]表格2表示了所述控制信息的信息長度例如是0-41比特(bit),但本發(fā)明并不以此 為限,其中比特0-10所記錄的信息代表了數(shù)據(jù)區(qū)塊201當(dāng)中緩存的數(shù)據(jù)信息的起始地址,比 特11-20所記錄的信息代表了標(biāo)頭區(qū)塊202當(dāng)中緩存的標(biāo)頭信息的地址。比特21-26所記錄 的信息代表了所有源節(jié)點的編號,以藉此分辨不同的源節(jié)點,在多個交換器200級聯(lián)的實施 方式中,所有端口統(tǒng)一編號,中轉(zhuǎn)端口可根據(jù)該源節(jié)點編號得知該數(shù)據(jù)封包來源于哪個源 節(jié)點。比特28-27所記錄的信息代表了數(shù)據(jù)封包的類型,在端口 22-25采用PCIE標(biāo)準(zhǔn)的實施 例中,數(shù)據(jù)封包的類型包括Non_posted、CPL及Posted Write等,但本發(fā)明并不限于此。比特 29-38所記錄的信息代表了數(shù)據(jù)封包的長度。比特39-40所記錄的信息代表了控制信息是屬 于讀取信息或是清空信息的狀態(tài),例如二進制信息碼11代表了清空信息狀態(tài),二進制信息 碼10代表了讀取狀態(tài),比特39-40所記錄的信息碼若為11則可以視為所述的確收信息,表示 目標(biāo)節(jié)點已經(jīng)完成數(shù)據(jù)封包的讀取,可以清空儲存單元20中的對應(yīng)條目的儲存空間。比特 41所記錄的信息代表了所述數(shù)據(jù)封包是否含有數(shù)據(jù)信息,例如二進制信息碼0代表了數(shù)據(jù) 封包不包含數(shù)據(jù)信息,二進制信息碼1代表了數(shù)據(jù)封包含有數(shù)據(jù)信息。所述信息長度的比特 數(shù)僅為舉例而已,本發(fā)明并不以此為限。
[0063]表格2-控制信息格式
[0066]表格3表示了所述清空信息的信息長度例如是0-41比特(bit),但本發(fā)明并不以此 為限,其中比特0-10所記錄的信息代表了數(shù)據(jù)區(qū)塊201當(dāng)中緩存的數(shù)據(jù)信息的起始地址,比 特11-20所記錄的信息代表了標(biāo)頭區(qū)塊202當(dāng)中緩存的標(biāo)頭信息的地址。比特21-26所記錄 的信息代表了所有源節(jié)點的編號,以藉此分辨不同的源節(jié)點。比特28-27所記錄的信息代表 了數(shù)據(jù)封包的類型。比特29-38所記錄的信息代表了數(shù)據(jù)封包的長度。比特39-40所記錄的 信息代表了清空信息是否屬清空信息的狀態(tài),例如二進制信息碼11代表了清空信息狀態(tài), 而其余的信息碼10代表了保留狀態(tài),當(dāng)交換器200接收到的數(shù)據(jù)清空信息的39-40比特所記 錄的信息碼為11,便會清空儲存單元20當(dāng)中對應(yīng)條目的儲存空間,以供下一次的緩存,而當(dāng) 交換器200接收到的數(shù)據(jù)清空信息的39-40比特所記錄的信息碼不是11,便會保留儲存單元 20當(dāng)中對應(yīng)條目所緩存的數(shù)據(jù)封包。比特41所記錄的信息代表了所述數(shù)據(jù)封包是否含有數(shù) 據(jù)信息,例如二進制信息碼〇代表了數(shù)據(jù)封包不包含數(shù)據(jù)信息,二進制信息碼1代表了數(shù)據(jù) 封包含有數(shù)據(jù)信息。所述信息長度的比特數(shù)僅為舉例而已,本發(fā)明并不以此為限。
[0067]此外,在本實施例的表格2和3中,所述控制信息以及所述清空信息的差異僅在比 特39-40所代表的信息意義不同,但是當(dāng)控制信息的比特39-40記錄的信息碼為11的時候, 清空信息的比特39-40所記錄的信息碼也會是11,藉此可以通知交換器200清空儲存單元20 中對應(yīng)條目的儲存空間。
[0068]表格3-清空信息格式
[0071]圖6為本發(fā)明一實施例的數(shù)據(jù)訪問方法的流程圖。本發(fā)明所提出的數(shù)據(jù)訪問方法 適用于一交換器(例如是圖2所繪的交換器200)。所述交換器適用于在所述第一源節(jié)點與所 述第一目標(biāo)節(jié)點之間以及在所述第二源節(jié)點與所述第二目標(biāo)節(jié)點之間傳輸數(shù)據(jù)封包。交換 器200具有儲存單元20、控制單元21、第一端口 22、第二端口 23、第三端口 24以及第四端口 25。第一源節(jié)點26以及第一目標(biāo)節(jié)點27分別通過第一端口 22以及第二端口 23與控制單元21 建立第一通信鏈接以及第二通信鏈接。第二源節(jié)點28以及第二目標(biāo)節(jié)點29分別通過第三端 口 24以及第四端口 25與控制單元21建立第三通信鏈接以及第四通信鏈接。
[0072]如圖6所示,所述數(shù)據(jù)訪問方法包括步驟601-607。步驟601:通過第一通信鏈接與 所述第三通信鏈接至少其中之一而傳送一數(shù)據(jù)封包給交換器200并由控制單元21將該數(shù)據(jù) 封包中的信息存入儲存單元20。步驟602:將數(shù)據(jù)封包中的信息(包括標(biāo)頭信息、錯誤校驗信 息以及數(shù)據(jù)信息)存入儲存單元20而對應(yīng)地產(chǎn)生一儲存地址。步驟603:將該儲存地址返回 給對應(yīng)的源節(jié)點(第一源節(jié)點26或第二源節(jié)點28)。步驟604:通過對應(yīng)的旁路信道而將該儲 存地址傳送給對應(yīng)的目標(biāo)節(jié)點(第一目標(biāo)節(jié)點27或第二目標(biāo)節(jié)點29)。步驟605:根據(jù)所接收 到的該儲存地址而通過第二通信鏈接與第四通信鏈接至少其中之一而從儲存單元20取出 該數(shù)據(jù)封包中的信息。步驟606:判斷是否成功取出所述數(shù)據(jù)封包中的信息。步驟607:若成 功取出所述數(shù)據(jù)封包中的信息,則通過第二通信鏈接與第四通信鏈接至少其中之一而發(fā)送 一清空信息給控制單元21以使控制單元21根據(jù)所述清空信息而清除儲存在儲存單元20中 的該數(shù)據(jù)封包中的信息(包括標(biāo)頭信息、錯誤校驗信息以及數(shù)據(jù)信息)。
[0073] 綜上所述,本發(fā)明所提出的交換器是藉由讓多個源節(jié)點能夠同時在同一個儲存單 元緩存數(shù)據(jù)而實現(xiàn)儲存資源共享的概念,由于多個源節(jié)點是共享同一個儲存單元,因此在 儲存資源的配置上可以比傳統(tǒng)的交換器節(jié)省總儲存空間,并藉由控制單元來管理所述的儲 存單元而使數(shù)據(jù)的存取更有效率。
[0074] 雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,本領(lǐng)域的技術(shù) 人員,在不脫離本發(fā)明的精神和范圍的前提下,可作若干的更動與潤飾,因此本發(fā)明的保護 范圍是以本發(fā)明的權(quán)利要求為準(zhǔn)。
【主權(quán)項】
1. 一種交換器,適用于在一第一源節(jié)點與一第一目標(biāo)節(jié)點之間,以及在一第二源節(jié)點 與一第二目標(biāo)節(jié)點之間傳輸數(shù)據(jù)封包,其特征在于,所述交換器包括: 一儲存單元,具有多個儲存區(qū)塊,用以緩存所述數(shù)據(jù)封包; 一控制單元,用以管理所述儲存區(qū)塊; 一第一端口,所述第一源節(jié)點通過所述第一端口與所述控制單元建立一第一通信鏈 接; 一第二端口,所述第一目標(biāo)節(jié)點通過所述第二端口與所述控制單元建立一第二通信鏈 接; 一第三端口,所述第二源節(jié)點通過所述第三端口與所述控制單元建立一第三通信鏈 接;以及 一第四端口,所述第二目標(biāo)節(jié)點通過所述第四端口與所述控制單元建立一第四通信鏈 接; 其中,所述第一源節(jié)點以及所述第二源節(jié)點分別經(jīng)由所述第一通信鏈接以及所述第三 通信鏈接而共享所述儲存單元的所述儲存區(qū)塊,以緩存所述第一源節(jié)點以及所述第二源節(jié) 點所傳輸?shù)臄?shù)據(jù)封包,所述第一目標(biāo)節(jié)點以及所述第二目標(biāo)節(jié)點分別經(jīng)由所述第二通信鏈 接以及所述第四通信鏈接而接收所述第一源節(jié)點和所述第二源節(jié)點所傳輸?shù)臄?shù)據(jù)封包。2. 如權(quán)利要求1所述的交換器,其特征在于,所述儲存區(qū)塊包括一數(shù)據(jù)區(qū)塊、一標(biāo)頭區(qū) 塊以及一錯誤校驗區(qū)塊,所述控制單元包括一數(shù)據(jù)區(qū)塊控制單元、一標(biāo)頭區(qū)塊控制單元以 及一錯誤校驗區(qū)塊控制單元,其中,所述數(shù)據(jù)區(qū)塊控制單元用以將來自所述第一源節(jié)點與 所述第二源節(jié)點至少其中之一的所述數(shù)據(jù)封包中的數(shù)據(jù)信息儲存于所述數(shù)據(jù)區(qū)塊,所述標(biāo) 頭區(qū)塊控制單元用以將所述數(shù)據(jù)封包中的標(biāo)頭信息儲存于所述標(biāo)頭區(qū)塊,所述錯誤校驗區(qū) 塊控制單元用以將所述所述數(shù)據(jù)封包中的錯誤校驗信息儲存于所述錯誤校驗區(qū)塊。3. 如權(quán)利要求2所述的交換器,其特征在于,所述標(biāo)頭區(qū)塊具有多個條目,所述標(biāo)頭區(qū) 塊控制單元包括一標(biāo)頭可用條目標(biāo)示單元,所述標(biāo)頭可用條目標(biāo)示單元用以標(biāo)示所述標(biāo)頭 區(qū)塊中的可用條目,所述標(biāo)頭區(qū)塊控制單元根據(jù)所述標(biāo)頭可用條目標(biāo)示單元所標(biāo)示的可用 條目而將所述標(biāo)頭信息存入對應(yīng)的可用條目。4. 如權(quán)利要求3所述的交換器,其特征在于,所述錯誤校驗區(qū)塊具有多個條目,所述錯 誤校驗區(qū)塊控制單元根據(jù)所述標(biāo)頭區(qū)塊控制單元的所述標(biāo)頭可用條目標(biāo)示單元所標(biāo)示的 可用條目而將所述錯誤校驗信息存入對應(yīng)的可用條目,其中,所述標(biāo)頭信息以及所述錯誤 校驗信息是同步存入對應(yīng)的可用條目。5. 如權(quán)利要求2所述的交換器,其特征在于,所述數(shù)據(jù)區(qū)塊具有多個條目,所述數(shù)據(jù)區(qū) 塊控制單元包括一數(shù)據(jù)條目鏈接單元以及一數(shù)據(jù)可用條目標(biāo)示單元,所述數(shù)據(jù)可用條目標(biāo) 示單元用以標(biāo)示所述數(shù)據(jù)區(qū)塊中的可用條目,所述數(shù)據(jù)區(qū)塊控制單元根據(jù)所述數(shù)據(jù)可用條 目標(biāo)示單元所標(biāo)示的可用條目而將所述數(shù)據(jù)信息存入對應(yīng)的可用條目,所述數(shù)據(jù)條目鏈接 單元用以指向?qū)?yīng)位置條目的下一個已使用條目。6. 如權(quán)利要求5所述的交換器,其特征在于,所述數(shù)據(jù)封包的所述數(shù)據(jù)信息可占用所述 數(shù)據(jù)區(qū)塊中的多個條目。7. 如權(quán)利要求2所述的交換器,其特征在于,當(dāng)所述第一源節(jié)點與所述第二源節(jié)點中的 至少一對應(yīng)源節(jié)點通過所述第一通信鏈接與所述第三通信鏈接至少其中之一而將所述數(shù) 據(jù)封包傳輸至所述交換器,所述標(biāo)頭區(qū)塊控制單元、所述錯誤校驗區(qū)塊控制單元以及所述 數(shù)據(jù)區(qū)塊控制單元分別將所述標(biāo)頭信息、所述錯誤校驗信息以及所述數(shù)據(jù)信息儲存到對應(yīng) 的條目而產(chǎn)生一儲存地址,并將所述儲存地址返回給所述對應(yīng)源節(jié)點。8. 如權(quán)利要求7所述的交換器,其特征在于,所述儲存地址包括一數(shù)據(jù)起始地址以及一 標(biāo)頭地址。9. 如權(quán)利要求7所述的交換器,其特征在于,所述對應(yīng)源節(jié)點通過一旁路信道而將所述 儲存地址傳送給所述第一目標(biāo)節(jié)點與所述第二目標(biāo)節(jié)點中的一對應(yīng)目標(biāo)節(jié)點,當(dāng)所述對應(yīng) 目標(biāo)節(jié)點通過所述第二通信鏈接與所述第四通信鏈接至少其中之一而從所述交換器取出 所述數(shù)據(jù)封包時,所述對應(yīng)目標(biāo)節(jié)點依據(jù)所述儲存地址而從所述數(shù)據(jù)區(qū)塊中的對應(yīng)條目取 出所述數(shù)據(jù)信息,并依據(jù)取出的結(jié)果而返回一清空信息給所述交換器,所述交換器依據(jù)所 述清空信息而判斷是否清除所述標(biāo)頭區(qū)塊、所述錯誤校驗區(qū)塊以及所述數(shù)據(jù)區(qū)塊中的對應(yīng) 條目所儲存的所述標(biāo)頭信息、所述錯誤校驗信息以及所述數(shù)據(jù)信息。10. 如權(quán)利要求7所述的交換器,其特征在于,所述清空信息包括所述數(shù)據(jù)起始地址、所 述標(biāo)頭地址、所述對應(yīng)源節(jié)點的識別信息、一數(shù)據(jù)封包格式信息、一數(shù)據(jù)封包長度信息、一 端口操作信息以及一封包狀態(tài)信息。11. 一種數(shù)據(jù)訪問方法,適用于一交換器,所述交換器適用于在一第一源節(jié)點與一第一 目標(biāo)節(jié)點之間以及在一第二源節(jié)點與一第二目標(biāo)節(jié)點之間傳輸數(shù)據(jù)封包,所述交換器具有 一儲存單元、一控制單元、一第一端口、一第二端口、一第三端口以及一第四端口,所述第一 源節(jié)點以及所述第一目標(biāo)節(jié)點分別通過所述第一端口以及所述第二端口與所述控制單元 建立一第一通信鏈接以及一第二通信鏈接,所述第二源節(jié)點以及所述第二目標(biāo)節(jié)點分別通 過所述第三端口以及所述第四端口與所述控制單元建立一第三通信鏈接以及一第四通信 鏈接,其特征在于,所述數(shù)據(jù)訪問方法包括: 通過所述第一通信鏈接與所述第三通信鏈接至少其中之一而傳送一數(shù)據(jù)封包給所述 交換器并由所述控制單元將所述數(shù)據(jù)封包中的信息存入所述儲存單元;以及 通過所述第二通信鏈接與所述第四通信鏈接至少其中之一而從所述儲存單元取出所 述數(shù)據(jù)封包中的信息。12. 如權(quán)利要求11所述的數(shù)據(jù)訪問方法,其特征在于,所述數(shù)據(jù)訪問方法更包括: 將所述數(shù)據(jù)封包中的信息存入所述儲存單元而對應(yīng)地產(chǎn)生一儲存地址; 將所述儲存地址返回給對應(yīng)的所述源節(jié)點; 通過一旁路信道而將所述儲存地址傳送給所述第一目標(biāo)節(jié)點與所述第二目標(biāo)節(jié)點中 的一對應(yīng)目標(biāo)節(jié)點;以及 根據(jù)所接收到的所述儲存地址而通過所述第二通信鏈接與所述第四通信鏈接至少其 中之一而從所述儲存單元取出所述數(shù)據(jù)封包中的信息。13. 如權(quán)利要求12所述的數(shù)據(jù)訪問方法,其特征在于,所述數(shù)據(jù)訪問方法更包括: 判斷是否成功取出所述數(shù)據(jù)封包中的信息;以及 若成功取出所述數(shù)據(jù)封包中的信息,則通過所述第二通信鏈接與所述第四通信鏈接至 少其中之一而發(fā)送一清空信息給所述控制單元以使所述控制單元根據(jù)所述清空信息而清 除儲存在所述儲存單元中的所述數(shù)據(jù)封包中的信息。14. 如權(quán)利要求11所述的數(shù)據(jù)訪問方法,其特征在于,所述儲存單元包括一數(shù)據(jù)區(qū)塊、 一標(biāo)頭區(qū)塊以及一錯誤校驗區(qū)塊,所述控制單元包括一數(shù)據(jù)區(qū)塊控制單元、一標(biāo)頭區(qū)塊控 制單元以及一錯誤校驗區(qū)塊控制單元,其中,所述數(shù)據(jù)封包中的信息包含一標(biāo)頭信息、一錯 誤校驗信息以及一數(shù)據(jù)信息,所述標(biāo)頭區(qū)塊控制單元用以將所述數(shù)據(jù)封包中的所述標(biāo)頭信 息儲存于所述標(biāo)頭區(qū)塊,所述錯誤校驗區(qū)塊控制單元用以將所述數(shù)據(jù)封包中的所述錯誤校 驗信息儲存于所述錯誤校驗區(qū)塊,所述數(shù)據(jù)區(qū)塊控制單元用以將所述數(shù)據(jù)封包中的所述數(shù) 據(jù)信息儲存于所述數(shù)據(jù)區(qū)塊。15. 如權(quán)利要求14所述的數(shù)據(jù)訪問方法,其特征在于,所述標(biāo)頭區(qū)塊具有多個條目,所 述標(biāo)頭區(qū)塊控制單元包括一標(biāo)頭可用條目標(biāo)示單元,所述標(biāo)頭可用條目標(biāo)示單元用以標(biāo)示 所述標(biāo)頭區(qū)塊中的可用條目,所述標(biāo)頭區(qū)塊控制單元根據(jù)所述標(biāo)頭可用條目標(biāo)示單元所標(biāo) 示的可用條目而將所述標(biāo)頭信息存入對應(yīng)的可用條目。16. 如權(quán)利要求15所述的數(shù)據(jù)訪問方法,其特征在于,所述錯誤校驗區(qū)塊具有多個條 目,所述錯誤校驗區(qū)塊控制單元根據(jù)所述標(biāo)頭區(qū)塊控制單元的所述標(biāo)頭可用條目標(biāo)示單元 所標(biāo)示的可用條目而將所述錯誤校驗信息存入對應(yīng)的可用條目,其中,所述標(biāo)頭信息以及 所述錯誤校驗信息是同步地被存入對應(yīng)的可用條目。17. 如權(quán)利要求14所述的數(shù)據(jù)訪問方法,其特征在于,所述數(shù)據(jù)區(qū)塊具有多個條目,所 述數(shù)據(jù)區(qū)塊控制單元包括一數(shù)據(jù)條目鏈接單元以及一數(shù)據(jù)可用條目標(biāo)示單元,所述數(shù)據(jù)可 用條目標(biāo)示單元用以標(biāo)示所述數(shù)據(jù)區(qū)塊中的可用條目,所述數(shù)據(jù)區(qū)塊控制單元根據(jù)所述數(shù) 據(jù)可用條目標(biāo)示單元所標(biāo)示的可用條目而將所述數(shù)據(jù)信息存入對應(yīng)的可用條目,所述數(shù)據(jù) 條目鏈接單元用以指向?qū)?yīng)位置條目的下一個已使用條目。18. 如權(quán)利要求17所述的數(shù)據(jù)訪問方法,其特征在于,所述數(shù)據(jù)封包的所述數(shù)據(jù)信息可 占用所述數(shù)據(jù)區(qū)塊中的多個條目。19. 如權(quán)利要求14所述的數(shù)據(jù)訪問方法,其特征在于,當(dāng)所述第一源節(jié)點與所述第二源 節(jié)點中的至少一對應(yīng)源節(jié)點通過所述第一通信鏈接與所述第三通信鏈接至少其中之一而 將所述數(shù)據(jù)封包傳輸至所述交換器,所述標(biāo)頭區(qū)塊控制單元、所述錯誤校驗區(qū)塊控制單元 以及所述數(shù)據(jù)區(qū)塊控制單元分別將所述標(biāo)頭信息、所述錯誤校驗信息以及所述數(shù)據(jù)信息儲 存到對應(yīng)的條目而產(chǎn)生一儲存地址,并將所述儲存地址返回給所述對應(yīng)源節(jié)點。20. 如權(quán)利要求19所述的數(shù)據(jù)訪問方法,其特征在于,所述儲存地址包括一數(shù)據(jù)起始地 址以及一標(biāo)頭地址。
【文檔編號】H04L12/937GK106027422SQ201610318355
【公開日】2016年10月12日
【申請日】2016年5月13日
【發(fā)明人】康瀟亮, 賴瑾, 王惟林, 沈鵬
【申請人】上海兆芯集成電路有限公司