US 6,628,656 B1Grant
Circuit, method and/or architecture for improving the performance of a serial communication link
Issue Date:2003-09-30
•29 Claims
•3 Drawing Sheets
Abstract
A circuit comprising a plurality of communication devices each configured to receive and transmit one or more data packets in response to one or more control signals and a control circuit configured to generate the one or more control signals in response to the one or more data packets.
Metadata
Assignee
- Cypress Semiconductor Corp.
Inventor
- S. Babar Raza
Application Information
Application Number:US 09/371,051
Filing Date:1999-08-09
Priority Date:1999-08-09
Art Unit:7
Classifications
IPC:
H04J 1256
Field of Search:
3703893703903703923703951370395423703954370396370397370398370399370508370538370359
Patent Drawings (3 sheets)
Description
Cross-Reference to Related Applications
[0002] The present invention may relate to co-pending application Ser. No. 09/347,830, filed Jul. 2, 1999, Ser. No. 09/347,046, filed Jul. 2, 1999 and Ser. No. 09/347,045, filed Jul. 2, 1999, which are each hereby incorporated by reference in their entirety.
Field of the Invention
[0003] The present invention relates to communication devices generally and, more particularly, to a circuit, method and/or architecture for improving the performance of a serial communication link.
Background of the Invention
[0004] Referring to FIG. 1, a block diagram illustrating a communications circuit 10 is shown. The circuit 10 comprises a number of ports 14a-14n.Each of the ports 14a-14ncomprises receive block 16, a transmit block 18 and a multiplexer 20.
[0005] The ports 14a-14nare connected to each other via serial links 21a-21nand 22a-22n.The ports 14a-14neach comprise serial inputs 24a-24n,26a-26nand 28a-28n,and serial outputs 25a-25n,27a-27nand 29a-29n,respectively. The serial connection from each port 14a-14nto another port 14a-14nis in both directions (i.e., both receive and transmit communication). The data arrives in the transmit block 18a-18nfrom a parallel interface 15a-15n,respectively, for each port 14a-14n.The data is then transmitted through a selectable multiplexer 20a-20nto the serial outputs 25a-25n,27a-27nand/or 29a-29n.The serial outputs 25a-25n,27a-27nand/or 29a-29ntransmit the data to one of the serial communication links 22a-22n.
[0006] For the receive side, the data is received from one of the serial communication links 21a-21nor 22a-22nat the serial input 24a-24n,26a-26nand/or 28a-28nand passed through the selectable multiplexer 20a-20nto the receive (RX) block 16. The receive block 16 then passes the data to one of the parallel interfaces 15a-15n.
[0007] The selectable multiplexers 20a-20ncan be configured by management registers or by interface pins. When the connection from a particular port 14a-14nfor either transmit or receive needs to be changed, the configuration interface or the configuration registers pass this new information to the particular selectable multiplexers 20a-20b.For the receive side, the receiver 16 has to wait for a period of time to acquire a lock.
[0008] The performance of the circuit 10 is significantly reduced since the amount of time to acquire a lock to a new port is of the order of the time it takes to send a block of data. Such a condition occurs in data communication switches.
Summary of the Invention
[0009] The present invention concerns a circuit comprising a plurality of communication devices each configured to receive and transmit one or more data packets in response to one or more control signals and a control circuit configured to generate the one or more control signals in response to the one or more data packets.
[0010] The objects, features and advantages of the present invention include providing a communication device that may (i) eliminate a lock time between successive transfers, (ii) improve the overall performance of the device, and/or (iii) conserve power.
Brief Description of the Drawings
[0011] These and other objects, features and advantages of the present invention will be apparent from the following detailed description and the appended claims and drawings in which:
[0012] FIG. 1 is a block diagram of a conventional communication device;
[0013] FIG. 2 is a block diagram of a preferred embodiment of the present invention; and
[0014] FIG. 3 is a more detailed block diagram of one of the ports of FIG. 2.
Detailed Description of the Preferred Embodiments
[0015] Referring to FIG. 2, a block diagram of a circuit 100 is shown in accordance with a preferred embodiment of the present invention. The circuit 100 generally comprises a number of ports 102a-102nand a circuit 104. In one implementation, circuit 104 may be a scheduler circuit. The ports 102a-102nmay have one or more input streams at inputs 110a-110nand one or more output streams at outputs 112a-112n,respectively. The inputs 110a-110nand the outputs 112a-112nmay be considered a parallel interface.
[0016] Each of input streams 110a-110nmay be connected to one of the ports 102a-102nthrough one or more classifier circuits 114a-114n.The classifier circuits 114a-114nmay look at information embedded within one or more data packets (e.g., multicast information, destination information, priority information, etc.) to generate one or more signals (e.g., classifier control signals CLASSCTRa-n) at one or more outputs 116a-116n.The classifier control signals CLASSCTRa-n may determine the appropriate outgoing port 102a-102nas well as the priority of the traffic in the appropriate port 102a-102n.The packet classifiers 114a-114nmay determine the priority of the data packet as well as the number of destination ports 102a-102nfrom the information embedded in the data packets.
[0017] The scheduler 104 is generally configured to present a plurality of port control signals (e.g., PORTCTRa-n) in response to a number of control signals (e.g., CLASSCTRa-n). The port control signals PORTCTRa-n may comprise a first and second list. The first and second list may indicate (i) which port to transfer and/or receive the packet of data to and/or from, and (ii) the order to transfer the data packets within each port.
[0018] The ports 102a-102ngenerally communicate the data packets to each other through a plurality of serial links 120a-120nand/or 121a-121n.The present invention may have a number of serial links (e.g., P), where P is an integer. The number of serial links P depends on the number of ports 102a-102n.The ports 102a-102nmay be configured to both transfer and receive the data packets. The data packets may be presented in an order determined in response to one of the plurality of control signals PORTCTRa-n presented at the outputs 122a-122n.The ports 102a-102bmay present data packets to the outputs 112a-112n.
[0019] Each of ports 102a-102nmay comprise a (i) plurality of serial inputs 126a-126n,128a-128nand 130a-130n,and (ii) a plurality of serial outputs 127a-127n,129a-129nand 131a-131n,respectively. One or more of the serial inputs 126a-126nof the port 102amay be connected to the serial links 120a-120n.One or more of the serial links 120a-120nmay also be connected to one or more of the serial outputs 129a-129nof the port 102band one or more of the serial outputs 131a-131nof the port 102n.One or more of the serial links 121a-121nmay be connected to the serial outputs 127a-127nof the port 102a.The serial links 120a-120nand 121a-121nmay allow the packets of data to be transferred and/or received by one or more of the ports 102a-102n.The transferred data packets generally become outgoing data. The ports 102a-102nmay receive and transfer the outgoing data packets over the outputs 112a-112n.
[0020] Referring to FIG. 3, a detailed block diagram of an exemplary port 102ais shown. Each of the ports 102a-102ngenerally comprise a selectable multiplexer 140, a transmit block (or circuit) 142 and a receive block (or circuit) 144. The receive circuit 144 generally comprises a circuit 146 that may include a multiplexer circuit, a select circuit, serial to parallel converter, etc., a first receive circuit (e.g., RXPC) 148 and a second receive circuit (e.g., RXPC) 150. In one example, the first receive circuits 148a-148nand the second receive circuits 150a-150nmay be receive PLL circuits. The selectable multiplexer 140 may be configured by the scheduler 104, through management registers or through interface pins. When the connection from a particular port 102a-102nfor either transmit or receive needs to be changed, the configuration interface or the configuration registers may pass this new information to the particular port 102a-102n.
[0021] The classifier circuits 114a-114nhave been described in the context of separate circuits. However, the particular classifier circuits 114a-114nmay be embedded into the transmit blocks 142a-142n.In such an example, the transmit circuits 142a-142nand the classifier circuits 114a-114nmay be implemented as a single integrated circuit. More specifically, the classifier circuit 114aand the transmit circuit 142amay be implemented as a single integrated circuit within the port 102a.However, independently implemented transmit circuits 142a-142nand classifier circuits 114a-114nmay be implemented to meet the design criteria of a particular implementation.
[0022] The selectable multiplexer 140amay receive data packets from the serial inputs 126a-126n.The ports 102b-102nare generally connected to the port 102athrough the serial links 120a-120nand 12la-121n.One or more of the serial links 120a-120nare generally connected to the serial inputs 126a-126nof the port 102a.The selectable multiplexer 140amay transmit data through the serial outputs 127a-127n.The selectable multiplexer 140amay receive data through the serial inputs 126a-126n.The selectable multiplexer 140amay transmit or receive data packets in response to the port control signal PORTCTRa received at an input 152 from the scheduler 104. The selectable multiplexer generally presents the data packets to the receive circuit 144.
[0023] The data packet within the first receive PLL circuit 148a-148nmay be multiplexed to the ports 102a-102nthrough the serial connections 121a-121n.The selectable multiplexers 140a-140nare generally controlled by port control signals PORTCTRa-n generated by the scheduler 104. The scheduler 104 may synchronize the operation of all the ports 102a-102n,in response to the classifier control signals CLASSCTRa-n. A slot time may be defined as the time it takes to transfer a fixed block of data from one of the ports 102a-102nto another one of the ports 102a-102n.
[0024] The scheduler 104 may configure the selectable multiplexers 140a-140nin the ports 102a-102nfor a first slot time. The circuit 100 may use the scheduler 104 to look ahead by one slot time and set the selectable multiplexers 140a-140nfor a second slot time. The port 102a-102nmay receive the data packet in the first slot time and transmit the data packet during the second slot time to one or more of the ports 102a-102n.One of the receive PLL circuits 148a-148nor 150a-150nmay be connected to one of the receive circuits 146a-146nof the ports 102a-102nto perform the receive data function. However, a second one of the receive PLL circuits 148a-148nand/or 150a-150nmay start listening to the particular one of the ports 102a-102nfor the transmission that will occur in the next slot time. This look ahead may allow the lock time to overlap with the reception of data and may eliminate the receive lock time for back-to-back transfers.
[0025] In one example, if the lock time is in the order of the packet transmit time, two receive PLL circuits 148a-148nand 150a-150nmay be sufficient to reduce lock time. However, if the lock time is in the order of 10 times the transmit time, then more receive PLL circuits M, where M is an integer, may be needed. For example, 10 receive PLL circuits may be implemented. The particular number of receive circuits 148a-148nand 150a-150nmay be implemented accordingly to meet the design criteria of a particular implementation.
[0026] For the transmit side, the selectable multiplexers 140a-140nmay enable transmission on one or more serial outputs 127a-127n,128a-128nand/or 131a-131n.One of the serial links 120a-120nand 121a-121nmay carry the data packet for the current slot time and another of the serial links 120a-120nand 121a-121nmay send the data packet in the next slot time. The present invention may significantly improve the performance of the ports 102a-102nby eliminating (or reducing) the lock time.
[0027] While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention.
Claims
What is claimed is:
1. A circuit comprising:
a plurality of communication devices each configured (i) to receive one or more data packets via a first serial link during a first slot time, (ii) to lock on to one or more second serial links to receive one or more data packets in a second slot time, wherein a lock time for said one or more second serial links overlaps said first slot time, (iii) to transmit one or more data packets to one or more third serial links, and (iv) to select said first serial link, said one or more second serial links, and said one or more third serial links from a plurality of serial links in response to one or more control signals; and
a control circuit configured to generate said one or more control signals in response to said one or more data packets.
2. The circuit according to claim 1, wherein each of said communication devices comprises:
a receive circuit; and
a selector circuit configured to couple two or more of said plurality of serial links to said receive circuit in response to said one or more control signals.
3. The circuit according to claim 1, wherein said control circuit is configured to generate said one or more control signals in response to information embedded in said data packets.
4. The circuit according to claim 3, wherein said embedded information comprises multicast information.
5. The circuit according to claim 3, wherein said embedded information comprises destination information.
6. The circuit according to claim 5, wherein said embedded information further comprises data priority information.
7. The circuit according to claim 2, wherein said selector circuit comprises a selectable multiplexer.
8. The circuit according to claim 1, wherein one or more of said plurality of communication devices are further configured to present one or more of said data packets to another one or more of said plurality of communication devices.
9. The circuit according to claim 1, wherein said one or more control signals comprise a first list comprising destination information and data priority information for execution during said first slot time and a second list comprising destination information and data priority information for execution during said second slot time.
10. The circuit according to claim 1, wherein one or more of said plurality of communications devices are configured to transmit said one or more data packets to a first and a second one of said communication devices, wherein said first communication device is configured to receive said one or more data packets during said first slot time and said second communication device is configured to lock onto said transmitting communication device during said first slot time and receive said one or more data packets during said second slot time.
11. The circuit according to claim 2, wherein said receive circuit comprises a plurality of receive circuits.
12. The circuit according to claim 11, wherein a first one of said plurality of receive circuits is configured to receive a first one of said one or more data packets from a first one of said plurality of serial links coupled by said selector circuit.
13. The circuit according to claim 12, wherein at least one other of said plurality of receive circuits is configured to lock to another one of said plurality of serial links during the reception of said data packet.
14. A circuit comprising:
means for (i) receiving and transmitting one or more data packets via one or more of a plurality of serial links during a first slot time and (ii) locking on to one or more other ones of said plurality of serial links during a lock time in response to one or more control signals, wherein said lock time overlaps said first slot time; and
means for generating said one or more control signals in response to said one or more data packets.
15. The circuit according to claim 14, wherein said one or more control signals are generated in response to information embedded in said one or more data packets.
16. The circuit according to claim 14, wherein said one or more control signals comprise a first list operable during said first slot time and a second list operable during a second slot time.
17. A circuit comprising:
a plurality of communication devices each configured (i) to receive and transmit one or more data packets via one or more of a plurality of links during a first slot time and (ii) to lock on to one or more other ones of said plurality of links in a lock time in response to one or more first control signals, wherein said lock time overlaps said first slot time;
a plurality of classifier circuits configured to generate one or more second control signals in response to said one or more data packets; and
a control circuit configured to generate said one or more first control signals in response to said one or more second control signals.
18. The circuit according to claim 17, wherein each of said communication devices comprises (i) a selector circuit configured to present and receive said one or more data packets, (ii) a receive circuit configured to receive packets from a first link and listen to one or more second links and (iii) a transmit circuit.
19. The circuit according to claim 17, wherein each one of said plurality of classifier circuits is configured to generate one of said second control signals in response to information embedded in one or more of said one or more data packets.
20. The circuit according to claim 19, wherein said embedded information comprises destination information, priority information or multicast information.
21. A communication circuit comprising:
a transmit circuit configured to transfer one or more data packets from an input stream to one or more of a plurality of serial links;
a receive circuit configured (i) to transfer one or more data packets from one of said plurality of serial links to an output stream and (ii) to lock on to one or more other ones of said plurality of serial links, wherein a lock time for said one or more other serial links overlaps reception of said one or more data packets; and
a selector circuit configured to couple said transmit circuit and said receive circuit to said plurality of serial links in response to one or more first control signals.
22. The communication circuit according to claim 21, further comprising:
a classifier circuit configured to (i) couple said input stream to said transmit circuit and (ii) generate one or more second control signals in response to information embedded in said one or more data packets; and
a control circuit configured to generate said one or more first control signals in response to one or more of said second control signals.
24. The circuit according to claim 11, wherein each of said plurality of receive circuits comprises a receive PLL circuit.
25. The circuit according to claim 1, wherein each of said communication devices comprises:
a transmit circuit; and
a selector circuit configured to couple two or more of said plurality of serial links to said transmit circuit in response to said one or more control signals.
26. The communication circuit according to claim 21, wherein said one or more first control signals comprise a first list comprising destination information and data priority information for execution during said first slot time and a second list comprising destination information and data priority information for execution during said second slot time.
27. The circuit according to claim 17, wherein one or more of said plurality of communications devices are configured to transmit said one or more data packets to a first and a second one of said communication devices, wherein said first communication device is configured to receive said one or more data packets during said first slot time and said second communication device is configured to lock onto said transmitting communication device during said first slot time and receive said one or more data packets during said second slot time.
28. The circuit according to claim 1, wherein each of said communication devices comprise a first receive circuit and at least one other receive circuit, wherein the first receive circuit is configured to receive a first one of said one or more data packets from said first serial link and said at least one other receive circuit is configured to lock onto said one or more second serial links during reception of said first one of said one or more data packets.
29. The circuit according to claim 1, wherein each of said communication devices comprises a selector circuit configured to couple said first serial link and said one or more second serial links to said communications device in response to said one or more control signals during said first slot time.
Patent Citations (56)
| Patent | Date | Inventor | Cited By |
|---|---|---|---|
| US4956839(A) | 1990-09-01 | Torii et al. | Applicant |
| US5062105(A) | 1991-10-01 | McKnight et al. | Examiner |
| US5101404(A) | 1992-03-01 | Kunimoto et al. | Applicant |
| US5175511(A) | 1992-12-01 | Fujiwara | Examiner |
| US5247671(A) | 1993-09-01 | Adkins et al. | Applicant |
| US5251206(A) | 1993-10-01 | Calvignac et al. | Applicant |
| US5280591(A) | 1994-01-01 | Garcia et al. | Applicant |
| US5313591(A) | 1994-05-01 | Averill | Applicant |
| US5319754(A) | 1994-06-01 | Meinecke et al. | Applicant |
| US5321691(A) | 1994-06-01 | Pashan | Applicant |
| USRE34896(E) | 1995-04-01 | Calvignac et al. | Applicant |
| US5408469(A) | 1995-04-01 | Opher et al. | Applicant |
| US5418781(A) | 1995-05-01 | Kaufman et al. | Applicant |
| US5436893(A) | 1995-07-01 | Barnett | Applicant |
| US5438681(A) | 1995-08-01 | Mensch, Jr. | Applicant |
| US5440549(A) | 1995-08-01 | Min et al. | Applicant |
| US5440698(A) | 1995-08-01 | Sindhu et al. | Applicant |
| US5446726(A) | 1995-08-01 | Rostoker et al. | Examiner |
| US5450398(A) | 1995-09-01 | Abefelt et al. | Applicant |
| US5452259(A) | 1995-09-01 | McLaury | Applicant |
| US5459840(A) | 1995-10-01 | Isfeld et al. | Applicant |
| US5469545(A) | 1995-11-01 | Vanbuskirk et al. | Applicant |
| US5487170(A) | 1996-01-01 | Bass et al. | Applicant |
| US5499239(A) | 1996-03-01 | Munter | Applicant |
| US5504741(A) | 1996-04-01 | Yamanaka et al. | Applicant |
| US5537400(A) | 1996-07-01 | Diaz et al. | Applicant |
| US5577032(A) | 1996-11-01 | Sone et al. | Applicant |
| US5577035(A) | 1996-11-01 | Hayter et al. | Applicant |
| US5577075(A) | 1996-11-01 | Cotton et al. | Examiner |
| US5579278(A) | 1996-11-01 | McLaury | Applicant |
| US5581713(A) | 1996-12-01 | Myers et al. | Applicant |
| US5583858(A) | 1996-12-01 | Hanaoka | Applicant |
| US5598405(A) | 1997-01-01 | Hirose | Examiner |
| US5617367(A) | 1997-04-01 | Holland et al. | Applicant |
| US5634074(A) | 1997-05-01 | Devon et al. | Applicant |
| US5654968(A) | 1997-08-01 | Smiroldo | Applicant |
| US5668807(A) | 1997-09-01 | Schachar et al. | Applicant |
| US5673132(A) | 1997-09-01 | Carbone, Jr. et al. | Applicant |
| US5724351(A) | 1998-03-01 | Chao et al. | Applicant |
| US5724358(A) | 1998-03-01 | Headrick et al. | Applicant |
| US5787095(A) | 1998-07-01 | Myers et al. | Applicant |
| US5790539(A) | 1998-08-01 | Chao et al. | Applicant |
| US5793764(A) | 1998-08-01 | Bartoldus et al. | Applicant |
| US5799014(A) | 1998-08-01 | Kozaki et al. | Applicant |
| US5802052(A) | 1998-09-01 | Venkataraman | Applicant |
| US5835498(A) | 1998-11-01 | Kim et al. | Applicant |
| US5844887(A) | 1998-12-01 | Oren et al. | Applicant |
| US5850395(A) | 1998-12-01 | Hauser et al. | Applicant |
| US5852606(A) | 1998-12-01 | Prince et al. | Applicant |
| US5875190(A) | 1999-02-01 | Law | Applicant |
| US5912889(A) | 1999-06-01 | Preas et al. | Applicant |
| US5991295(A) | 1999-11-01 | Tout et al. | Applicant |
| US6215769(B1) | 2001-04-01 | Ghani et al. | Applicant |
| US6246682(B1) | 2001-06-01 | Roy et al. | Applicant |
| US6295295(B1) | 2001-09-01 | Wicklund | Applicant |
| US6339596(B1) | 2002-01-01 | Kozaki et al. | Applicant |