IP Library Granted Patent US 8,547,985
Granted Patent B2
US 8,547,985 · App. 12/942,677 · Granted Oct 1, 2013

Network interface controller capable of sharing buffers and buffer sharing method

Inventors: Kuo-Nan Yang (Hsinchu, TW); Yen-Hsu Shih (Changhua County, TW); Chia-Ying Chiu (Taoyuan County, TW); Kai-Wen Cheng (Hsinchu County, TW)
Assignee: Realtek Semiconductor Corp.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,547,985
App. No.
12/942,677
Granted
Oct 1, 2013
Kind
B2
Abstract

The disclosure is a network interface controller (NIC) capable of sharing buffers, which is coupled to a host and a network to make the network connection. The NIC includes a transmitting buffer, a transmitting controller, a receiving buffer, and a receiving controller. The transmitting controller controls the transmitting buffer to transmit the transmission data provided by the host to the network. The receiving controller controls the receiving buffer to transmit the reception data received from the network to the host, and determines a storage capacity of the receiving buffer. When the storage capacity is smaller than a set value, the receiving controller transmits a request signal to the transmitting controller, the transmitting controller generates a response signal according to the request signal and a status signal corresponding to the transmitting buffer, and the receiving controller controls whether reception data is stored in the transmitting buffer according to the response signal.

Claims (46)

1. A network interface controller (NIC), coupled to a host connected to a network through the NIC, comprising:

a transmitting buffer, storing a transmission data provided by the host;

a transmitting controller, coupled to the transmitting buffer, controlling the transmitting buffer to transmit the transmission data to the network;

a receiving buffer, storing a reception data received from the network; and

a receiving controller, coupled to the receiving buffer, controlling the receiving buffer to transmit the reception data to the host, and determining a storage capacity of the receiving buffer;

wherein when the storage capacity of the receiving buffer is smaller than a set value, the receiving controller transmits a request signal to the transmitting controller, the transmitting controller generates a response signal to the receiving controller according to the request signal received from the receiving controller and a status signal received from the transmitting buffer, and the receiving controller controls whether the reception data is stored in the transmitting buffer according to the response signal, when the reception data is stored in the transmitting buffer, the receiving controller sets a break point in the receiving buffer, that identifies the location of the reception data stored in the transmitting buffer according to the break point,

wherein the break point is an interrupt stored in the receiving buffer that points to an address in the transmitting buffer.

2. The NIC according to claim 1 , wherein the status signal comprises a first use status of the transmitting buffer, and a second use status between the host and the transmitting buffer.

3. The NIC according to claim 2 , wherein when the first use status is that the transmission data is not stored in the transmitting buffer, or the second use status is that the host does not have transmission data to be transmitted to the transmitting buffer, the response signal permits the receiving controller to control the reception data to be stored in the transmitting buffer.

4. The NIC according to claim 1 wherein the transmitting controller further generates the response signal according to a number of the break points.

5. The NIC according to claim 4 , wherein when the number of the break points is greater than or equal to 1, the response signal does not permit the receiving controller to control the reception data to be stored in the transmitting buffer.

6. The NIC according to claim 1 , wherein after the receiving controller controls the transmitting buffer uploading the reception data to the host, when the transmitting buffer is empty, the receiving controller invalidates the break point.

7. A buffer sharing method, applied to a host connected to a network, comprising the steps of:

providing a transmitting buffer for storing transmission data provided by the host;

controlling the transmitting buffer to transmit the transmission data to the network;

providing a receiving buffer for storing reception data received from the network;

controlling the receiving buffer to transmit the reception data to the host;

determining a storage capacity of the receiving buffer;

when the storage capacity of the receiving buffer is smaller than a set value, the receiving controller transmitting a request signal to the transmitting controller;

generating by the transmitting controller a response signal to the receiving controller according to the request signal received from the receiving controller and a status signal received from the transmitting buffer;

controlling by the receiving controller whether the reception data is stored in the transmitting buffer according to the response signal; and

when the reception data is stored in the transmitting buffer, the receiving controller setting a break point in the receiving buffer that identifies the location of the reception data stored in the transmitting buffer according to the break point;

wherein the break point is an interrupt stored in the receiving buffer that points to an address in the transmitting buffer.

8. The buffer sharing method according to claim 7 , wherein the status signal comprises a first use status of the transmitting buffer, and a second use status between the host and the transmitting buffer.

9. The buffer sharing method according to claim 8 , further comprising the step of:

when the first use status is that the transmission data is not stored in the transmitting buffer, or the second use status is that the host does not have the transmission data to be transmitted to the transmitting buffer, generating the response signal that permits storage; and

controlling the reception data to be stored in the transmitting buffer.

10. The buffer sharing method according to claim 7 , wherein the generating the response signal step comprises:

further according to a number of the break points, generating the response signal.

11. The buffer sharing method according to claim 10 , further comprising the step of:

when the number of the break points is greater than or equal to 1, generating the response signal that does not permit storage.

12. The buffer sharing method according to claim 7 , further comprising the step of:

uploading the reception data stored in the transmitting buffer to the host;

when the transmitting buffer is empty, the receiving controller invalidates the break point.

13. A network interface controller (NIC), comprising:

a transmitting buffer, storing a transmission data;

a transmitting controller, coupled to the transmitting buffer, controlling the transmitting buffer to transmit the transmission data to a network;

a receiving buffer, storing a reception data received from the network; and

a receiving controller, coupled to the receiving buffer, for determining a storage capacity of the receiving buffer;

wherein when the storage capacity of the receiving buffer is smaller than a set value, the receiving controller transmits a request signal to the transmitting controller, the transmitting controller generates a response signal to the receiving controller according to the request signal received from the receiving controller and a status signal received from the transmitting buffer, and the receiving controller controls whether the reception data is stored into the transmitting buffer according to the response signal, when the reception data is stored in the transmitting buffer, the receiving controller sets a break point in the receiving buffer, that identifies the location of the reception data stored in the transmitting buffer according to the break point,

wherein the break point is an interrupt stored in the receiving buffer that points to an address in the transmitting buffer.

14. The NIC according to claim 13 , wherein the status signal comprises a first use status of the transmitting buffer, and a second use status between the host and the transmitting buffer.

15. The NIC according to claim 14 , wherein when the first use status is that the transmission data is not stored in the transmitting buffer, or the second use status is that the host does not have the transmission data to be transmitted to the transmitting buffer, the response signal permits the receiving controller to control the reception data to be stored in the transmitting buffer.

16. The NIC according to claim 13 , wherein the transmitting controller further generates the response signal according to a number of the break points.

17. The NIC according to claim 16 , wherein when the number of the break points is greater than or equal to 1, the response signal does not permit the receiving controller to control the reception data to be stored in the transmitting buffer.

18. The NIC according to claim 13 , wherein after the receiving controller controls the transmitting buffer uploading the reception data, when the transmitting buffer is empty, the receiving controller invalidates the break point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2010
From: YANG, KUO-NAN; SHIH, YEN-HSU; CHIU, CHIA-YING; CHENG, KAI-WEN
To: REALTEK SEMICONDUCTOR CORP.
Reel/Frame 025337/0833 →
Priority Claims (1)
TW 98138038 A · Nov 10, 2009 · national
Continuity (1)
Related Publication 20110110383A1 · May 12, 2011