Gigabit single-optical-port server adapter

文档序号:1190589 发布日期:2020-08-28 浏览:10次 中文

阅读说明:本技术 一种千兆单光口服务器适配器 (Gigabit single-optical-port server adapter ) 是由 不公告发明人 于 2020-05-15 设计创作,主要内容包括:本发明提供一种千兆单光口服务器适配器,所述适配器包括一个PHY层控制器、一个MAC层控制器、一个PCIE接口和一个千兆光纤端口,其中,MAC层控制器包括总线接口、接收缓存模块、发送缓存模块、流量控制模块、接收模块、第一发送模块、第二发送模块和PHY接口,发送缓存模块包括第一发送数据子模块和第二发送数据子模块,该适配器支持电脑端接口和光纤端口,可实现服务器与台式机等高端设备的通信;通过设置第一发送数据子模块、第二发送数据子模块和第一发送模块及第二发送模块解决了不断发送pause帧导致的传输速率降低的问题。(The invention provides a gigabit single optical server adapter, which comprises a PHY layer controller, an MAC layer controller, a PCIE interface and a gigabit optical fiber port, wherein the MAC layer controller comprises a bus interface, a receiving cache module, a sending cache module, a flow control module, a receiving module, a first sending module, a second sending module and a PHY interface; the problem of reduction of transmission rate caused by continuous transmission of pause frames is solved by arranging the first data sending submodule, the second data sending submodule, the first sending module and the second sending module.)

1. A gigabit single port server adapter, said adapter comprising:

a PHY layer controller for controlling the operation of the mobile station,

a controller of a MAC layer is provided,

a PCIE interface connected to the MAC layer controller; and

one gigabit fiber port configured to connect to the PHY layer controller;

the MAC layer controller comprises a bus interface, a receiving cache module, a sending cache module, a flow control module, a receiving module, a first sending module, a second sending module and a PHY interface;

the bus interface is configured to connect with a PCIE interface;

the receiving buffer module is connected with the bus interface and is configured to be used for managing the buffer of the received data frames;

the sending buffer module is connected with the bus interface and is configured to be used for managing the buffer of the sent data frames;

the sending and caching module comprises:

a first transmit data submodule configured to buffer a data frame to be transmitted;

the second data transmission submodule is configured to cache a data frame to be transmitted when the flow control module compares that the number of the data frames cached in the first data transmission submodule is greater than a data frame threshold value;

the first sending module is connected with the PHY interface and is configured to be used for sending the data frame to be sent, which is cached in the first sending data sub-module, to the PHY layer controller through the PHY interface;

the second sending module is connected with the PHY interface and is configured to send the data frame to be sent, which is cached by the second sending data submodule, to the PHY layer controller through the PHY interface;

the receiving module is connected with the PHY interface and is configured to analyze the data frame and cache the legal frame to the receiving cache module;

the flow control module is also configured to monitor the number of buffered data frames in the first sending data sub-module in real time and compare the number with a data frame threshold; and the second sending module is also configured to control the second sending module to read and send the data frame in the second sending data sub-module after a preset time.

2. The gigabit single optical server adapter as recited in claim 1 wherein the flow control module changes the buffered flow control field in the flow status register to 1 when the number of buffered data frames in the first transmit data sub-module is greater than the data frame threshold, continues the test, and changes the flow control field to 0 when the number of buffered data frames is not greater than the data frame threshold.

3. The gigabit single optical server adapter according to claim 1, wherein said transmit cache module further comprises:

a first transmit queue configured to buffer transmit buffer descriptors;

a transmission completion queue configured to buffer a frame number and a transmission state after transmission is completed;

the sending cache control submodule is configured to be used for generating a sending cache descriptor corresponding to a data frame to be sent;

and when the number of the data frames cached in the first data sending sub-module is greater than the threshold value of the data frame threshold, the sending caching state queue is configured to read the frame number of which the last sending state in the sending completion queue is the sending success, and record all the frame numbers after the frame number.

4. The gigabit single optical server adapter as recited in claim 1 wherein the second transmit data submodule is configured to update the buffer of the nth data frame to the last data frame transmitted by the first transmit data submodule within a predetermined time period, and is further configured to buffer the data frame to be transmitted when the number of buffered data frames in the first transmit data submodule is greater than a data frame threshold;

the sending and caching module further comprises:

a first transmit queue configured to buffer transmit buffer descriptors;

a transmission completion queue configured to buffer a frame number and a transmission state after transmission is completed;

the sending cache control submodule is configured to be used for generating a sending cache descriptor corresponding to a data frame to be sent.

5. The gigabit single optical server adapter as recited in claim 2, wherein the transmit cache module further comprises:

a second transmit queue configured as a ring queue for buffering write pointers and corresponding frame sequence numbers;

a third transmit queue configured as a circular queue for buffering read pointers and corresponding frame sequence numbers;

the first sending queue and the first sending data submodule are both annular queues, and the depths of the data structures of the first sending data submodule, the first sending queue, the second sending queue and the third sending queue are equal; in a cycle time period t, N-1 is N1+ N2, where N is the number of frame sequence numbers stored in the first transmission queue, N1 is the number of frame sequence numbers stored in the second transmission queue, and N3 is the number of frame sequence numbers stored in the third transmission queue;

a sending state judgment sub-module, wherein the sending state control sub-module is configured to record the storage state of the data frame in the first sending data sub-module, when the storage state is close to full, the bit is 1, and when the storage state is close to empty, the bit is 0; and is further configured to determine the size of N1 and N2, at which time the first send data submodule storage state approaches empty when N1 > N2, and at which time the first send data submodule storage state approaches full when N1 < N2, and is labeled with a corresponding flag within the first send data submodule.

6. The gigabit single optical server adapter as recited in claim 5, wherein the data frame threshold value x is calculated as follows:

x=(N1+N2-1)/t。

7. the gigabit single optical server adapter according to claim 1, wherein the receive cache module comprises:

a receive data submodule configured as a circular queue for buffering received data frames for reading by a host;

a first receive queue configured for buffering receive buffer control symbols;

the second receiving queue is configured as a ring queue, empty and full marks exist on the ring queue, and the second receiving queue is also configured to be used for buffering the frame sequence numbers corresponding to the reading and writing of each read pointer and each write pointer of the data receiving submodule within a cycle time t;

the capacity and the depth of the data receiving submodule, the first receiving queue and the second receiving queue are equal;

a receiving empty-full judgment submodule, configured to read frame numbers corresponding to a read pointer and a write pointer in a second receiving queue, judge an empty state in the second receiving queue when a position corresponding to the read pointer is empty and a position adjacent to the read pointer does not have a write pointer frame number, and judge a full state in the annular queue when a position corresponding to the write pointer is full and a position adjacent to the write pointer does not have a read pointer number;

a receive buffer control submodule configured to generate a receive buffer control symbol for a data frame to be received.

8. The gigabit single optical server adapter as recited in claim 4, wherein the flow control module is further configured to monitor an application in use and to monitor the number of data frames transmitted by the application, and wherein the application to perform the binary backoff algorithm is determined based on the number of data frames transmitted by the application when it is detected that the number of data frames buffered in the first transmit data sub-module is greater than the data frame threshold.

9. The gigabit single optical server adapter according to claim 1, wherein the receiving module comprises an address filtering sub-module configured to determine whether a filtering rule table corresponding to the destination IP of the data frame exists locally, and look up the corresponding filtering rule according to the filtering rule table; the fields included in the filtering rule table comprise a source IP address, a source port, a destination port, a transport layer protocol, a first hash value and a second hash value; the first HASH value is a HASH code generated by the IP address according to fixed bits; the second HASH value is a HASH code generated by the IP address in a random number of bits.

10. The gigabit single optical server adapter according to claim 1, wherein a priority transmit queue is disposed within the traffic control module, the priority transmit queue being configured to buffer Pause frames.

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:航电系统虚通道链路实时创建方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!