CN106027422A - 交换器及数据访问方法 - Google Patents
交换器及数据访问方法 Download PDFInfo
- Publication number
- CN106027422A CN106027422A CN201610318355.4A CN201610318355A CN106027422A CN 106027422 A CN106027422 A CN 106027422A CN 201610318355 A CN201610318355 A CN 201610318355A CN 106027422 A CN106027422 A CN 106027422A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- control unit
- information
- header
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种储存资源集中管理的交换器。所述交换器适用于在至少一源节点以及至少一目标节点之间传输数据封包。所述交换器包括储存单元、控制单元、至少一接收端口以及至少一发送端口。所述储存单元具有多个储存区块,用以缓存所述数据封包。所述控制单元用以管理所述储存区块。所述交换器经由所述接收端口而接收并缓存所述至少一源节点所传输的数据封包。所述交换器经由所述发送端口而将缓存的数据封包发送给至少一所述目标节点。
Description
技术领域
本发明涉及一种交换器,特别是涉及一种储存资源集中管理的交换器以及此交换器的数据访问方法。
背景技术
图1为传统交换器的方块图。如图1所示,交换器100具有多个传输端口11,交换器100经由多个传输端口11而与多个计算器节点10进行数据传输,每一个传输端口11各自对应于一个具备特定储存空间的储存单元。具体来说,每一个传输端口11各自具备一个数据接收储存单元12以及一个数据发送储存单元13,数据接收储存单元12以及数据发送储存单元13分别用来储存交换器100所接收到与所要发送的数据封包。一般来说,由于传统的交换器的每一个传输端口是各自具备专用的储存空间,因此每一个储存空间都必须要设计为最大值以满足每一个传输端口的各种储存状况,例如数据封包传输的速度、带宽以及读取时的延迟等因素都会对储存空间的使用造成影响。然而,并不是每一次的数据封包的传输都需要使用到全部的储存空间,且传统的交换器具备的多个传输端口也不一会同时进行数据封包的传输,也就是说,当传统的交换器运作时可能仅使用了一部分的传输端口而闲置了另一部分的传输端口,在这种情况下,这些闲置的传输端口所配置的储存空间并不会被使用,因此传统的交换器往往存在着因为储存空间的闲置而造成资源的浪费等问题。
发明内容
本发明提供一种交换器,其可用来改善背景技术的问题。
本发明另提供一种适用于上述交换器的数据访问方法。
本发明提出的一种交换器,适用于在第一源节点与第一目标节点之间,以及在第二源节点与第二目标节点之间传输数据封包。所述交换器包括储存单元、控制单元、第一端口、第二端口、第三端口以及第四端口。所述储存单元具有多个储存区块,用以缓存所述数据封包。所述控制单元用以管理所述储存区块。所述第一源节点通过所述第一端口与所述控制单元建立第一通信链接。所述第一目标节点通过所述第二端口与所述控制单元建立第二通信链接。所述第二源节点通过所述第三端口与所述控制单元建立第三通信链接。所述第二目标节点通过所述第四端口与所述控制单元建立第四通信链接。所述第一源节点以及所述第二源节点分别经由所述第一通信链接以及所述第三通信链接而共享所述储存单元的所述储存区块,以缓存所述第一源节点以及所述第二源节点所传输的数据封包,所述第一目标节点以及所述第二目标节点分别经由所述第二通信链接以及所述第四通信链接而接收所述第一目标节点和所述第二目标节点所传输的数据封包。
本发明又提出一种适用于上述交换器的数据访问方法,其包括下列步骤:通过所述第一通信链接与所述第三通信链接至少其中之一而传送数据封包给所述交换器并由所述控制单元将所述数据封包中的信息存入所述储存单元;以及通过所述第二通信链接与所述第四通信链接至少其中之一而从所述储存单元取出所述数据封包中的信息。
本发明的交换器经由上述硬件架构以及数据访问方法而让多个源节点和目标节点共享储存空间,并且经由控制单元来管理所述的储存空间,因此可以让多个源节点经由对应的通信链接而将数据封包缓存于所述储存空间,并且让多个目标节点经由对应的通信链接而从所述储存空间取出缓存的数据封包,因此在储存空间的配置以及数据封包的存取效率都能够优于传统的交换器。
为使本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
藉由下列附图及说明,可使得对本发明有更深入的了解:
图1为传统交换器的方块图。
图2为本发明一实施例的交换器的方块图。
图3为本发明一实施例的交换器更进一步的方块图。
图4为本发明一实施例的交换器在存取数据时的方块图。
图5为本发明一实施例的交换器在存取数据时的方块图。
图6为本发明一实施例的数据访问方法的流程图。
附图符号说明
附图中所包含的各组件列示如下:
100:交换器
10:计算器节点
11:传输端口
12:数据接收储存单元
13:数据发送储存单元
200:交换器
20:储存单元
201:数据区块
202:标头区块
203:错误校验区块
21:控制单元
211:数据区块控制单元
212:标头区块控制单元
213:错误校验区块控制单元
22:第一端口
23:第二端口
24:第三端口
25:第四端口
26:第一源节点
27:第一目标节点
28:第二源节点
29:第二目标节点
2111:数据条目链接单元
2112:数据可用条目标示单元
2121:标头可用条目标示单元
401:端口
40、41、42、43、44、45、46、47、48:源节点
601、602、603、604、605、606、607:步骤
具体实施方式
图2为本发明一实施例的交换器的方块图。如图2所示,交换器200适用于在第一源节点26与第一目标节点27之间,以及在第二源节点28与第二目标节点29之间传输数据封包,交换器200包括储存单元20、控制单元21、第一端口22、第二端口23、第三端口24以及第四端口25。储存单元20具有多个储存区块,用以缓存所传输的数据封包。控制单元21用以管理这些储存区块。第一源节点26通过第一端口22与控制单元21建立第一通信链接。第一目标节点27通过第二端口23与控制单元21建立第二通信链接。第二源节点28通过第三端口24与控制单元21建立第三通信链接。第二目标节点29通过第四端口25与控制单元21建立第四通信链接。第一源节点26以及第二源节点28分别经由第一通信链接以及第三通信链接而共享储存单元20的储存区块,以缓存第一源节点26以及第二源节点28所传输的数据封包,第一目标节点27以及第二目标节点29分别经由第二通信链接以及第四通信链接而分别经由储存单元20接收第一源节点26和第二源节点28所传输的数据封包。在本发明所举出的实施例中,所传输的数据封包具有一标头信息、一数据信息以及一错误校验信息,所述信息分别依序缓存于储存单元20的不同储存区块,但本发明并不以此为限。以第一端口到第四端口22-25为高速外设部件互连PCIE(Peripheral Component Interconnect Express)标准端口为例,所传输的数据封包可以是事务层TLP(Transaction Layer Packet)封包,该标头信息包括了该数据封包要发送至哪个目标端口的相关信息以及其它头(header)信息,在多个交换器200级联的实施方式中,所有端口统一编号,中转端口可根据该标头信息得知最终该数据封包要发给哪个目标端口。
储存区块20包括数据区块201、标头区块202以及错误校验区块203。控制单元21包括数据区块控制单元211、标头区块控制单元212以及错误校验区块控制单元213。数据区块控制单元211用以将来自第一源节点26与第二源节点28至少其中之一的数据封包中的数据信息储存于数据区块201,标头区块控制单元212用以将数据封包中的标头信息储存于标头区块202,错误校验区块控制单元213用以将数据封包中的错误校验信息储存于错误校验区块203。在本发明所举出的实施例中,控制单元21可以是经由多个逻辑门所构成的逻辑电路来实现,本领域技术人员可以经由不同的逻辑电路架构来实现本发明的控制单元21,因此不再赘述。
图3为本发明一实施例的交换器更进一步的方块图。图3与图2中相同的符号标示为相同的组件。如图3所示,标头区块202具有多个条目0-Y,标头区块控制单元212包括标头可用条目标示单元2121,标头可用条目标示单元2121用以标示标头区块202中的可用条目,标头区块控制单元212根据标头可用条目标示单元2121所标示的可用条目而将所述标头信息存入对应的可用条目。举例来说,当标头可用条目标示单元2121标示了条目0为可用状态(也就是尚未存有信息),则标头区块控制单元212会将来自于源节点(第一源节点26或第二源节点28)的数据封包中的标头信息缓存于标头区块201中的条目0。本实施例中,标头区块202的每个条目的存储空间设计为可以存储一个最大标头信息的长度,举例而言为192比特(bit),即本实施例中,一个标头信息最多占用一个条目的存储空间。
请继续参照图3,错误校验区块203具有多个条目0-Y,错误校验区块控制单元213根据标头区块控制单元212的标头可用条目标示单元2121所标示的可用条目而将所述错误校验信息存入相对应的可用条目,也即是说,本发明的标头信息以及错误校验信息是同步存入对应的可用条目。举例来说,当标头可用条目标示单元2121标示了条目0为可用状态(也就是尚未存有信息),除了标头区块控制单元212会将来自于源节点(第一源节点26或第二源节点28)的数据封包中的标头信息缓存于标头区块202中的条目0以外,错误校验区块控制单元213也会将来自所述源节点的数据封包中的错误校验信息缓存于错误校验区块203中的条目0,这是因为标头区块202所具有的条目数量0-Y等同于错误校验区块203所具有的条目数量0-Y,且错误校验区块203的每个条目的存储空间设计为可以存储一个最大错误校验信息的长度,举例而言为32比特(bit),即本实施例中,一个错误校验信息最多占用一个条目的存储空间。因此只要经由标头区块控制单元212的标头可用条目标示单元2121所标示的可用条目即可让标头区块控制单元212以及错误校验区块控制单元213同步地将所述封包的标头信息以及错误校验信息分别缓存于标头区块202以及错误校验区块203的对应条目,藉此减少交换器系统的运算负担,但其并非用以限制本发明。
请继续参照图3,数据区块201具有多个条目0-X,数据区块控制单元211包括数据条目链接单元2111以及数据可用条目标示单元2112。数据可用条目标示单元2112用以标示数据区块201中的可用条目,数据区块控制单元211根据数据可用条目标示单元2112所标示的可用条目而将所述数据信息存入对应的可用条目。数据条目链接单元2111是用来指向对应位置条目的下一个已使用条目。举例来说,假设第一源节点26的数据封包的数据信息需要占用数据区块201当中的3个条目来进行缓存,且当数据可用条目标示单元2112标示数据区块201中的条目0-2为可用的时候,所述数据封包的所述数据信息会分别分成3笔而依序缓存在所述的条目0-2,而当所述目标节点要取出所述3笔数据信息时,便会根据数据条目链接单元2111所指向的条目来依序取出对应的数据信息。具体来说,假设当数据可用条目标示单元2112标示数据区块201中的条目0-2为可用,那么所述的第1笔数据信息会缓存在条目0而第2笔数据信息缓存在条目1,而数据条目链接单元2111将会指向条目1,以表示在第1笔数据信息之后被缓存的第2笔数据信息是缓存在条目1,同样的道理,当第2笔数据信息缓存在条目1而第3笔数据信息缓存在条目2,那么数据条目链接单元2111将会指向条目2,以表示在第2笔数据信息之后被缓存的第3笔数据信息是缓存在条目2,如图3所示。要特别说明的是,虽然在上述的实施方式里面所提到的数据信息是依照顺序而缓存在条目0-2之中,但本发明并不以此为限,数据信息是根据可用条目标示单元2112所标示的可用条目来决定要缓存在哪一个条目之中,不限定在依照顺序。本发明的数据区块控制单元211是以条目为单位缓存数据封包的数据信息的,以第一端口到第四端口22-25为高速外设部件互连PCIE(Peripheral Component Interconnect Express)标准端口为例,一个数据封包的数据信息的长度是不固定的,PCIE标准中规定TLP封包的数据信息最长为1024双字(DW),假设数据区块201中每个条目的存储空间设计为32双字(1024比特)为例,一个TLP封包的数据信息最多需占32个条目。在一实施例中,数据区块201由8个128位宽的存储器构成。本发明的数据区块控制单元211每个时钟周期最多缓存一个条目(即32双字)的数据信息,如果一个TLP封包的数据信息为1024双字,则需要32个时钟周期才能缓存完毕。概括而言,本发明的数据区块控制单元211根据数据可用条目标示单元2112将来自源节点(第一源节点26或第二源节点28)的数据封包中的数据信息部分存入数据区块201,并根据数据条目链接单元2111将该数据封包中的数据信息部分按照存入顺序从数据区块201读取至目标节点(第一目标节点27或第二目标节点29)。
图4为本发明一实施例的交换器在存取数据时的方块图。在图4与图3当中,相同的符号表示为相同的组件或信号。如图4所示,交换器400具有多个端口401,所述的端口401各自与多个源节点40、41、42、43、44、45、46、47、48建立通信链接。如前所述,在一实施例中,来自于源节点40-48的每一个数据封包当中的标头信息仅会占用到标头区块202当中的一个条目,来自于源节点40-48的每一个数据封包当中的错误校验信息也仅会占用到错误校验区块203当中的一个条目,因此不再多做说明,但是来自于源节点40-48的每一个数据封包当中的数据信息由于长度不固定,有可能会占用到数据区块201当中的多个条目,因此便需要经由数据条目链接单元2111的指示去将每一个数据封包中的多笔数据信息所缓存的条目做链接,如此一来可以提高数据信息的存取效率并降低交换器400的运算负担。在本实施例中,为了使源节点40-48能够同时将数据封包当中的数据信息写入数据区块201,因此在初始期间(源节点还没有将资料封包写入的期间),数据区块201会为每一个源节点40-48预先保留一个条目,例如条目0会预先保留给源节点40,条目1会预先保留给源节点41,条目2会预先保留给源节点42…条目8会预先保留给源节点48,所以当源节点40-48同时传输数据封包给交换器400的时候,会各自将其数据信息写入上述的预先保留条目0-8,但是实际上并不一定所有的源节点40-48都会同时传输数据封包给交换器400,因此若有源节点没有传输数据封包,那么其预先保留的条目仍然会被保留而不会被其它源节点所传输的数据信息占用。
承上述,假设图4中所有的源节点40-48都将各自的数据信息写入数据区块201所保留的条目0-8,那么数据可用条目标示单元2112会依据一个读取指针(read pointer)的提示而将可用条目指向9,也就是说当源节点40-48有下一笔数据信息要写入时,根据该读取指针可知该笔数据信息会写入到数据区块210当中的条目9,在下一个段落将搭配图5来做详细说明。此外,数据可用条目标示单元2112还会利用一个写入指针(write pointer)指向缓存空间被释放后的可用条目,这个部分也将会在后面的段落当中来做说明。在本实施例中,由于在初始期间,所有的源节点40-48是各自将数据信息写入到数据区块201当中对应的预先保留条目0-8,因此数据条目链接单元2111的条目0-8的位置是依序指向条目1-9,即指示出条目0的下一个已使用条目是1,条目1的下一个已使用条目是2……以此类推。
图5为本发明一实施例的交换器在存取数据时的方块图。在图5与图4当中,相同的符号表示为相同的组件或信号。图5所绘的方块图是用来描述图4的交换器400的源节点40-48各自在初始期间将数据封包当中的数据信息写入到数据区块201当中的条目0-8之后的写入期间。要注意的是,源节点40-48要传输的数据封包的所述数据信息可占用数据区块201中的多个条目,这在图5会继续描述。
请参照图5,在所述写入期间内,假设源节点40-48中的源节点40、42、44、45所传输的数据封包尚有第二笔数据信息要写入,因此会根据图4中的数据可用条目标示单元2112所标示的可用条目9(经由读取指针所提示)而将源节点40、42、44、45所传输的第二笔数据信息写入到数据区块201当中的条目9-12,值得注意的是,在一实施例中,即使源节点40-48各自在初始期间没有写入数据信息到条目0-8,条目0-8也分别对应地为源节点40-48保留而不会存储其它源节点的其它数据,即条目标示单元2112所标示的可用条目仍是条目9。此时条目0-12都已存有数据信息,因此数据可用条目标示单元2112的读取指针会提示条目13而使数据可用条目标示单元2112根据读取指针的提示而标示条目13为可用。
请参照图4以及图5,具体来说,源节点40将所传输的数据封包当中的第一笔数据信息写入到数据区块201的可用条目0,并将当中的第二笔数据信息写入到数据区块201的可用条目9,因此数据条目链接单元2111会在条目0的位置标示出对应于已使用条目0的下一个已使用条目是9,以便目标节点(图未示)在读取此数据封包的时候会在读取缓存于条目0当中的数据信息之后,接着再根据数据条目链接单元2111的标示而读取缓存于条目9当中的数据信息。类似地,源节点42将所传输的数据封包当中的第一笔数据信息写入到数据区块201的可用条目2,并将第二笔数据信息写入到数据区块201的可用条目10,因此数据条目链接单元2111会在条目2的位置标示出对应于已使用条目2的下一个已使用条目是10,以便目标节点(图未示)在读取此数据封包的时候会在读取缓存于条目2当中的数据信息之后,接着再根据数据条目链接单元2111的标示而读取缓存于条目10当中的数据信息。类似地,源节点44将所传输的数据封包当中的第一笔数据信息写入到数据区块201的可用条目4,并将第二笔数据信息写入到数据区块201的可用条目11,因此数据条目链接单元2111会在条目4的位置标示出对应于已使用条目4的下一个已使用条目是11,以便目标节点(图未示)在读取此数据封包的时候会在读取缓存于条目4当中的数据信息之后,接着再根据数据条目链接单元2111的标示而读取缓存于条目11当中的数据信息。类似地,源节点45将所传输的数据封包当中的第一笔数据信息写入到数据区块201的可用条目5,并将第二笔数据信息写入到数据区块201的可用条目12,因此数据条目链接单元2111会在条目5的位置标示出对应于已使用条目5的下一个已使用条目是12,以便目标节点(图未示)在读取此数据封包的时候会在读取缓存于条目5当中的数据信息之后,接着再根据数据条目链接单元2111的标示而读取缓存于条目12当中的数据信息。
总的来说,由于同时会有多个源节点将其所传输的数据封包中的数据信息写入数据区块201,因此每一个源节点所传输的数据封包当中的第二笔数据信息(若有第二笔数据信息存在)或是第二笔以上的数据信息(若有第二笔以上的数据信息存在)并不会被写入与该源节点的第一笔数据信息写入的条目顺序连续的条目,因此数据条目链接单元2111当中所标示的条目并不是依照顺序排列,其是指向对应位置条目的下一个已使用条目,以使目标节点能够更快速且正确地读取对应的数据信息。
例如,当目标节点在读取源节点40、45缓存于数据区块201内的数据信息时,会依序读取缓存于条目0、9当中的数据信息以获得源节点40所传输的数据封包,还会依序读取缓存于条目5、12当中的数据信息以获得源节点45所传输的数据封包,而在数据区块201的条目0、9、5、12当中的数据信息被读取之后,条目0、9、5、12所对应的缓存空间会被释放以供再次缓存。要特别注意的是,本实施例中的数据可用条目标示单元2112除了利用读取指针来标示出目前数据区块201可供缓存数据信息的当前可用条目之外(例如条目13),还会利用写入指针来标示出缓存空间已被释放的条目(例如条目0、9、5、12)为4个。图5未示出,当条目0、9、5、12对应的缓存空间被释放之后,写入指针会由0加4,表示在向数据可用条目标示单元2112中添加空条目时从位置4开始写入,而相应地,数据可用条目标示单元2112的位置0-3存放被释放的条目0、9、5、12的条目号。在本发明所提出的实施例中,储存单元20中的储存区块201-203例如是用静态随机存取存储器(SRAM)来实现,但本发明并不以此为限。
接下来将配合图2来继续对本实施例做说明。请参照图2,当源节点26及/或源节点28通过对应的通信链接而将所述数据封包传输至所述交换器200,标头区块控制单元212、错误校验区块控制单元213以及数据区块控制单元211分别将所述数据封包当中的标头信息、错误校验信息以及数据信息储存到对应的条目,交换器200会对应地产生一个储存地址,并将所产生的储存地址返回给对应的源节点26及/或源节点28。具体来说,所述储存地址包括数据起始地址以及标头地址(详细格式举例见后表格1)。应明确的是,本发明的每个源节点的端口(例如第一端口22和第三端口24)中会设置一地址队列(图未示)存放交换器200返回的关于标头信息、错误校验信息以及数据信息分别在标头区块202、错误校验区块203以及数据区块201的该储存地址。源节点26及/或28再通过旁路信道(图未示)而将该地址队列中所暂存的该储存地址传送给对应的目标节点27及/或29,当目标节点27及/或29通过对应的通信链接而从交换器200取出数据封包时,目标节点27及/或29依据所述储存地址以及传输指令中的控制信息(详细格式举例见后表格2)而从数据区块201中的对应条目取出数据信息。接着,当目标节点27及/或29成功地从数据区块201中的对应条目取出数据信息后,依据取出的结果而返回一个清空信息(详细格式举例见后表格3),交换器200依据所述清空信息而清除标头区块202、错误校验区块203以及数据区块201中的对应条目所储存的标头信息、错误校验信息以及数据信息。所述控制信息以及所述清空信息包括所述数据起始地址、所述标头地址、所述源节点的识别信息、数据封包格式信息、数据封包长度信息、端口操作信息以及封包状态信息。
举例来说,表格1表示了所述储存地址的格式,其中该储存地址的长度例如是0-20比特(bit),其中0-10比特所记录的信息代表了储存单元20当中缓存的数据信息在数据区块201中的起始地址,11-20比特所记录的信息代表了储存单元20当中缓存的标头信息在标头区块202中的地址,所述信息长度的比特数仅为举例而已,本发明并不以此为限。此外,在本实施例中的储存地址并不包含数据封包中的错误校验信息在错误校验区块203中的地址,这是因为错误校验信息以及标头信息的长度都是固定的(数据信息仅有总长度的限制而每一笔数据信息的长度没有限制),因此可以与标头信息共享标头可用条目标示单元2121所标示的可用条目而将错误校验信息同步缓存于错误校验区块203的可用条目中,即是说,错误校验信息的在错误校验区块203的存储地址等同于标头信息在的标头区块202的存储地址。但本发明并不以此为限。
表格1-储存地址格式
比特(bit) | 代表信息 |
20:11 | 数据封包中的标头信息的地址 |
10:0 | 数据封包中的数据信息的起始地址 |
表格2表示了所述控制信息的信息长度例如是0-41比特(bit),但本发明并不以此为限,其中比特0-10所记录的信息代表了数据区块201当中缓存的数据信息的起始地址,比特11-20所记录的信息代表了标头区块202当中缓存的标头信息的地址。比特21-26所记录的信息代表了所有源节点的编号,以藉此分辨不同的源节点,在多个交换器200级联的实施方式中,所有端口统一编号,中转端口可根据该源节点编号得知该数据封包来源于哪个源节点。比特28-27所记录的信息代表了数据封包的类型,在端口22-25采用PCIE标准的实施例中,数据封包的类型包括Non-posted、CPL及Posted Write等,但本发明并不限于此。比特29-38所记录的信息代表了数据封包的长度。比特39-40所记录的信息代表了控制信息是属于读取信息或是清空信息的状态,例如二进制信息码11代表了清空信息状态,二进制信息码10代表了读取状态,比特39-40所记录的信息码若为11则可以视为所述的确收信息,表示目标节点已经完成数据封包的读取,可以清空储存单元20中的对应条目的储存空间。比特41所记录的信息代表了所述数据封包是否含有数据信息,例如二进制信息码0代表了数据封包不包含数据信息,二进制信息码1代表了数据封包含有数据信息。所述信息长度的比特数仅为举例而已,本发明并不以此为限。
表格2-控制信息格式
表格3表示了所述清空信息的信息长度例如是0-41比特(bit),但本发明并不以此为限,其中比特0-10所记录的信息代表了数据区块201当中缓存的数据信息的起始地址,比特11-20所记录的信息代表了标头区块202当中缓存的标头信息的地址。比特21-26所记录的信息代表了所有源节点的编号,以藉此分辨不同的源节点。比特28-27所记录的信息代表了数据封包的类型。比特29-38所记录的信息代表了数据封包的长度。比特39-40所记录的信息代表了清空信息是否属清空信息的状态,例如二进制信息码11代表了清空信息状态,而其余的信息码10代表了保留状态,当交换器200接收到的数据清空信息的39-40比特所记录的信息码为11,便会清空储存单元20当中对应条目的储存空间,以供下一次的缓存,而当交换器200接收到的数据清空信息的39-40比特所记录的信息码不是11,便会保留储存单元20当中对应条目所缓存的数据封包。比特41所记录的信息代表了所述数据封包是否含有数据信息,例如二进制信息码0代表了数据封包不包含数据信息,二进制信息码1代表了数据封包含有数据信息。所述信息长度的比特数仅为举例而已,本发明并不以此为限。
此外,在本实施例的表格2和3中,所述控制信息以及所述清空信息的差异仅在比特39-40所代表的信息意义不同,但是当控制信息的比特39-40记录的信息码为11的时候,清空信息的比特39-40所记录的信息码也会是11,藉此可以通知交换器200清空储存单元20中对应条目的储存空间。
表格3-清空信息格式
图6为本发明一实施例的数据访问方法的流程图。本发明所提出的数据访问方法适用于一交换器(例如是图2所绘的交换器200)。所述交换器适用于在所述第一源节点与所述第一目标节点之间以及在所述第二源节点与所述第二目标节点之间传输数据封包。交换器200具有储存单元20、控制单元21、第一端口22、第二端口23、第三端口24以及第四端口25。第一源节点26以及第一目标节点27分别通过第一端口22以及第二端口23与控制单元21建立第一通信链接以及第二通信链接。第二源节点28以及第二目标节点29分别通过第三端口24以及第四端口25与控制单元21建立第三通信链接以及第四通信链接。
如图6所示,所述数据访问方法包括步骤601-607。步骤601:通过第一通信链接与所述第三通信链接至少其中之一而传送一数据封包给交换器200并由控制单元21将该数据封包中的信息存入储存单元20。步骤602:将数据封包中的信息(包括标头信息、错误校验信息以及数据信息)存入储存单元20而对应地产生一储存地址。步骤603:将该储存地址返回给对应的源节点(第一源节点26或第二源节点28)。步骤604:通过对应的旁路信道而将该储存地址传送给对应的目标节点(第一目标节点27或第二目标节点29)。步骤605:根据所接收到的该储存地址而通过第二通信链接与第四通信链接至少其中之一而从储存单元20取出该数据封包中的信息。步骤606:判断是否成功取出所述数据封包中的信息。步骤607:若成功取出所述数据封包中的信息,则通过第二通信链接与第四通信链接至少其中之一而发送一清空信息给控制单元21以使控制单元21根据所述清空信息而清除储存在储存单元20中的该数据封包中的信息(包括标头信息、错误校验信息以及数据信息)。
综上所述,本发明所提出的交换器是藉由让多个源节点能够同时在同一个储存单元缓存数据而实现储存资源共享的概念,由于多个源节点是共享同一个储存单元,因此在储存资源的配置上可以比传统的交换器节省总储存空间,并藉由控制单元来管理所述的储存单元而使数据的存取更有效率。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围是以本发明的权利要求为准。
Claims (20)
1.一种交换器,适用于在一第一源节点与一第一目标节点之间,以及在一第二源节点与一第二目标节点之间传输数据封包,其特征在于,所述交换器包括:
一储存单元,具有多个储存区块,用以缓存所述数据封包;
一控制单元,用以管理所述储存区块;
一第一端口,所述第一源节点通过所述第一端口与所述控制单元建立一第一通信链接;
一第二端口,所述第一目标节点通过所述第二端口与所述控制单元建立一第二通信链接;
一第三端口,所述第二源节点通过所述第三端口与所述控制单元建立一第三通信链接;以及
一第四端口,所述第二目标节点通过所述第四端口与所述控制单元建立一第四通信链接;
其中,所述第一源节点以及所述第二源节点分别经由所述第一通信链接以及所述第三通信链接而共享所述储存单元的所述储存区块,以缓存所述第一源节点以及所述第二源节点所传输的数据封包,所述第一目标节点以及所述第二目标节点分别经由所述第二通信链接以及所述第四通信链接而接收所述第一源节点和所述第二源节点所传输的数据封包。
2.如权利要求1所述的交换器,其特征在于,所述储存区块包括一数据区块、一标头区块以及一错误校验区块,所述控制单元包括一数据区块控制单元、一标头区块控制单元以及一错误校验区块控制单元,其中,所述数据区块控制单元用以将来自所述第一源节点与所述第二源节点至少其中之一的所述数据封包中的数据信息储存于所述数据区块,所述标头区块控制单元用以将所述数据封包中的标头信息储存于所述标头区块,所述错误校验区块控制单元用以将所述所述数据封包中的错误校验信息储存于所述错误校验区块。
3.如权利要求2所述的交换器,其特征在于,所述标头区块具有多个条目,所述标头区块控制单元包括一标头可用条目标示单元,所述标头可用条目标示单元用以标示所述标头区块中的可用条目,所述标头区块控制单元根据所述标头可用条目标示单元所标示的可用条目而将所述标头信息存入对应的可用条目。
4.如权利要求3所述的交换器,其特征在于,所述错误校验区块具有多个条目,所述错误校验区块控制单元根据所述标头区块控制单元的所述标头可用条目标示单元所标示的可用条目而将所述错误校验信息存入对应的可用条目,其中,所述标头信息以及所述错误校验信息是同步存入对应的可用条目。
5.如权利要求2所述的交换器,其特征在于,所述数据区块具有多个条目,所述数据区块控制单元包括一数据条目链接单元以及一数据可用条目标示单元,所述数据可用条目标示单元用以标示所述数据区块中的可用条目,所述数据区块控制单元根据所述数据可用条目标示单元所标示的可用条目而将所述数据信息存入对应的可用条目,所述数据条目链接单元用以指向对应位置条目的下一个已使用条目。
6.如权利要求5所述的交换器,其特征在于,所述数据封包的所述数据信息可占用所述数据区块中的多个条目。
7.如权利要求2所述的交换器,其特征在于,当所述第一源节点与所述第二源节点中的至少一对应源节点通过所述第一通信链接与所述第三通信链接至少其中之一而将所述数据封包传输至所述交换器,所述标头区块控制单元、所述错误校验区块控制单元以及所述数据区块控制单元分别将所述标头信息、所述错误校验信息以及所述数据信息储存到对应的条目而产生一储存地址,并将所述储存地址返回给所述对应源节点。
8.如权利要求7所述的交换器,其特征在于,所述储存地址包括一数据起始地址以及一标头地址。
9.如权利要求7所述的交换器,其特征在于,所述对应源节点通过一旁路信道而将所述储存地址传送给所述第一目标节点与所述第二目标节点中的一对应目标节点,当所述对应目标节点通过所述第二通信链接与所述第四通信链接至少其中之一而从所述交换器取出所述数据封包时,所述对应目标节点依据所述储存地址而从所述数据区块中的对应条目取出所述数据信息,并依据取出的结果而返回一清空信息给所述交换器,所述交换器依据所述清空信息而判断是否清除所述标头区块、所述错误校验区块以及所述数据区块中的对应条目所储存的所述标头信息、所述错误校验信息以及所述数据信息。
10.如权利要求7所述的交换器,其特征在于,所述清空信息包括所述数据起始地址、所述标头地址、所述对应源节点的识别信息、一数据封包格式信息、一数据封包长度信息、一端口操作信息以及一封包状态信息。
11.一种数据访问方法,适用于一交换器,所述交换器适用于在一第一源节点与一第一目标节点之间以及在一第二源节点与一第二目标节点之间传输数据封包,所述交换器具有一储存单元、一控制单元、一第一端口、一第二端口、一第三端口以及一第四端口,所述第一源节点以及所述第一目标节点分别通过所述第一端口以及所述第二端口与所述控制单元建立一第一通信链接以及一第二通信链接,所述第二源节点以及所述第二目标节点分别通过所述第三端口以及所述第四端口与所述控制单元建立一第三通信链接以及一第四通信链接,其特征在于,所述数据访问方法包括:
通过所述第一通信链接与所述第三通信链接至少其中之一而传送一数据封包给所述交换器并由所述控制单元将所述数据封包中的信息存入所述储存单元;以及
通过所述第二通信链接与所述第四通信链接至少其中之一而从所述储存单元取出所述数据封包中的信息。
12.如权利要求11所述的数据访问方法,其特征在于,所述数据访问方法更包括:
将所述数据封包中的信息存入所述储存单元而对应地产生一储存地址;
将所述储存地址返回给对应的所述源节点;
通过一旁路信道而将所述储存地址传送给所述第一目标节点与所述第二目标节点中的一对应目标节点;以及
根据所接收到的所述储存地址而通过所述第二通信链接与所述第四通信链接至少其中之一而从所述储存单元取出所述数据封包中的信息。
13.如权利要求12所述的数据访问方法,其特征在于,所述数据访问方法更包括:
判断是否成功取出所述数据封包中的信息;以及
若成功取出所述数据封包中的信息,则通过所述第二通信链接与所述第四通信链接至少其中之一而发送一清空信息给所述控制单元以使所述控制单元根据所述清空信息而清除储存在所述储存单元中的所述数据封包中的信息。
14.如权利要求11所述的数据访问方法,其特征在于,所述储存单元包括一数据区块、一标头区块以及一错误校验区块,所述控制单元包括一数据区块控制单元、一标头区块控制单元以及一错误校验区块控制单元,其中,所述数据封包中的信息包含一标头信息、一错误校验信息以及一数据信息,所述标头区块控制单元用以将所述数据封包中的所述标头信息储存于所述标头区块,所述错误校验区块控制单元用以将所述数据封包中的所述错误校验信息储存于所述错误校验区块,所述数据区块控制单元用以将所述数据封包中的所述数据信息储存于所述数据区块。
15.如权利要求14所述的数据访问方法,其特征在于,所述标头区块具有多个条目,所述标头区块控制单元包括一标头可用条目标示单元,所述标头可用条目标示单元用以标示所述标头区块中的可用条目,所述标头区块控制单元根据所述标头可用条目标示单元所标示的可用条目而将所述标头信息存入对应的可用条目。
16.如权利要求15所述的数据访问方法,其特征在于,所述错误校验区块具有多个条目,所述错误校验区块控制单元根据所述标头区块控制单元的所述标头可用条目标示单元所标示的可用条目而将所述错误校验信息存入对应的可用条目,其中,所述标头信息以及所述错误校验信息是同步地被存入对应的可用条目。
17.如权利要求14所述的数据访问方法,其特征在于,所述数据区块具有多个条目,所述数据区块控制单元包括一数据条目链接单元以及一数据可用条目标示单元,所述数据可用条目标示单元用以标示所述数据区块中的可用条目,所述数据区块控制单元根据所述数据可用条目标示单元所标示的可用条目而将所述数据信息存入对应的可用条目,所述数据条目链接单元用以指向对应位置条目的下一个已使用条目。
18.如权利要求17所述的数据访问方法,其特征在于,所述数据封包的所述数据信息可占用所述数据区块中的多个条目。
19.如权利要求14所述的数据访问方法,其特征在于,当所述第一源节点与所述第二源节点中的至少一对应源节点通过所述第一通信链接与所述第三通信链接至少其中之一而将所述数据封包传输至所述交换器,所述标头区块控制单元、所述错误校验区块控制单元以及所述数据区块控制单元分别将所述标头信息、所述错误校验信息以及所述数据信息储存到对应的条目而产生一储存地址,并将所述储存地址返回给所述对应源节点。
20.如权利要求19所述的数据访问方法,其特征在于,所述储存地址包括一数据起始地址以及一标头地址。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610318355.4A CN106027422B (zh) | 2016-05-13 | 2016-05-13 | 交换器及数据访问方法 |
US15/299,486 US10270714B2 (en) | 2016-05-13 | 2016-10-21 | Switch and data accessing method thereof |
JP2016225050A JP6718798B2 (ja) | 2016-05-13 | 2016-11-18 | スイッチおよびそのデータアクセス方法 |
EP16199870.3A EP3244582B1 (en) | 2016-05-13 | 2016-11-21 | Switch and data accessing method thereof |
US16/297,551 US10826850B2 (en) | 2016-05-13 | 2019-03-08 | Switch and data accessing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610318355.4A CN106027422B (zh) | 2016-05-13 | 2016-05-13 | 交换器及数据访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106027422A true CN106027422A (zh) | 2016-10-12 |
CN106027422B CN106027422B (zh) | 2020-05-08 |
Family
ID=57100382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610318355.4A Active CN106027422B (zh) | 2016-05-13 | 2016-05-13 | 交换器及数据访问方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10270714B2 (zh) |
EP (1) | EP3244582B1 (zh) |
JP (1) | JP6718798B2 (zh) |
CN (1) | CN106027422B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027422B (zh) * | 2016-05-13 | 2020-05-08 | 上海兆芯集成电路有限公司 | 交换器及数据访问方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904039B1 (en) * | 2000-07-25 | 2005-06-07 | Infineon Technologies Ag | Packet queuing for a network switch |
US20090268740A1 (en) * | 1996-12-16 | 2009-10-29 | Juniper Networks, Inc. | Memory organization in a switching device |
US8391302B1 (en) * | 2009-12-03 | 2013-03-05 | Integrated Device Technology, Inc. | High-performance ingress buffer for a packet switch |
CN103135957A (zh) * | 2013-02-01 | 2013-06-05 | 北京邮电大学 | 使用、管理多队列数据的共用缓存空间的方法和系统 |
CN104125169A (zh) * | 2013-04-26 | 2014-10-29 | 联发科技股份有限公司 | 链表处理装置、链表处理方法及相关网络交换机 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763319A (en) * | 1986-05-19 | 1988-08-09 | Bell Communications Research, Inc. | Multi-rate synchronous virtual circuit network for voice and data communications |
JP6119562B2 (ja) * | 2013-11-06 | 2017-04-26 | 日立金属株式会社 | ネットワークシステムおよびネットワーク中継装置 |
CN106027422B (zh) * | 2016-05-13 | 2020-05-08 | 上海兆芯集成电路有限公司 | 交换器及数据访问方法 |
-
2016
- 2016-05-13 CN CN201610318355.4A patent/CN106027422B/zh active Active
- 2016-10-21 US US15/299,486 patent/US10270714B2/en active Active
- 2016-11-18 JP JP2016225050A patent/JP6718798B2/ja active Active
- 2016-11-21 EP EP16199870.3A patent/EP3244582B1/en active Active
-
2019
- 2019-03-08 US US16/297,551 patent/US10826850B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090268740A1 (en) * | 1996-12-16 | 2009-10-29 | Juniper Networks, Inc. | Memory organization in a switching device |
US6904039B1 (en) * | 2000-07-25 | 2005-06-07 | Infineon Technologies Ag | Packet queuing for a network switch |
US8391302B1 (en) * | 2009-12-03 | 2013-03-05 | Integrated Device Technology, Inc. | High-performance ingress buffer for a packet switch |
CN103135957A (zh) * | 2013-02-01 | 2013-06-05 | 北京邮电大学 | 使用、管理多队列数据的共用缓存空间的方法和系统 |
CN104125169A (zh) * | 2013-04-26 | 2014-10-29 | 联发科技股份有限公司 | 链表处理装置、链表处理方法及相关网络交换机 |
Also Published As
Publication number | Publication date |
---|---|
JP2017204846A (ja) | 2017-11-16 |
US10826850B2 (en) | 2020-11-03 |
CN106027422B (zh) | 2020-05-08 |
US10270714B2 (en) | 2019-04-23 |
JP6718798B2 (ja) | 2020-07-08 |
US20170331768A1 (en) | 2017-11-16 |
EP3244582B1 (en) | 2021-06-30 |
US20190207874A1 (en) | 2019-07-04 |
EP3244582A1 (en) | 2017-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101635682B (zh) | 一种存储管理的方法和系统 | |
US9253093B2 (en) | Method for processing data packets in flow-aware network nodes | |
CN101094183B (zh) | 一种缓存管理方法及装置 | |
CN100571195C (zh) | 多端口以太网交换装置及数据传输方法 | |
CN103227778B (zh) | 内存访问方法、设备和系统 | |
CN104484295B (zh) | 并行计算机系统中基于接收方滑动窗口的数据传输方法 | |
CN108171603A (zh) | 一种基于区块链的积分管理系统 | |
CN103581055B (zh) | 报文的保序方法、流量调度芯片及分布式存储系统 | |
DE60130079D1 (de) | Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers | |
KR20090110291A (ko) | 병렬 컴퓨팅시스템을 위한 네트워크 인터페이스 카드 | |
CN100370784C (zh) | 用于分布式共享存储器分组交换机的带内消息同步 | |
US20090196288A1 (en) | Efficient Packet Replication | |
CN102868604A (zh) | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 | |
CN113535633A (zh) | 一种片上缓存装置和读写方法 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及系统 | |
CA2151180C (en) | Method and apparatus for multicast of atm cells | |
CN111611180A (zh) | 一种支持多协议的动态共享缓冲区 | |
CN101594201B (zh) | 链式队列管理结构整合错误数据过滤的方法 | |
CN106027422A (zh) | 交换器及数据访问方法 | |
CN105516023A (zh) | 一种报文转发方法和装置 | |
CN101237405B (zh) | 数据缓存方法和装置 | |
US8363653B2 (en) | Packet forwarding method and device | |
CN1984042B (zh) | 一种缓存地址的管理方法及装置 | |
CN101883046B (zh) | 一种应用于epon终端系统的数据缓存架构 | |
CN103401775A (zh) | 源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |