The present invention relates generally to peripheral component interconnect buses.
Peripheral component interconnect PCI Express (or “PCIe”) is a high performance, generic and scalable system interconnect bus for a wide variety of applications ranging from personal computers to embedded applications. PCIe implements a serial, full duplex, multi-lane, point-to-point interconnect, packet-based, and switch based technology. Current versions of PCIe buses allow for a transfer rate of 2.5 Gb/Sec per lane, with a total of 32 lanes.
As depicted in
In the current technology, peripheral components are physically coupled to the PCIe. To wirelessly connect the peripheral devices a new protocol has to be defined. For example, the UWB is a wireless technology for USB, and Wi-Fi is a standard for Ethernet connection. However, each such wireless interconnect solution can only support the connectivity of a limited set of peripheral devices. For example, the Wi-Fi standard aims to decouple Ethernet cards and the UWB allows the wireless connection of USB devices, such as a mouse, a keyboard, a printer and the like.
It would be therefore highly advantageous to provide a solution that enables the wireless connection between all types of peripheral devices to the computing device.
Certain embodiments disclosed herein include a wireless peripheral interconnect bus capable of providing a high rate data transfer between peripheral devices and a host bridge of a computing device over a wireless medium. The wireless peripheral interconnect bus comprises a first wireless pair for transferring data from a first peripheral component to a second peripheral component and receiving data transmitted from the second peripheral component to the first peripheral component, wherein the first wireless pair implements at least a layered protocol; and a second wireless pair for transferring data from the second peripheral component and the first peripheral component and receiving data transmitted from the first peripheral component to a second peripheral component, wherein the second wireless pair implements at least a layered protocol.
Certain embodiments disclosed herein also include a wireless peripheral component interconnect PCI Express (PCIe) fabric. The PCI Express (PCIe) fabric comprises a switch coupled to a host bridge of a computing device and a plurality of PCIe endpoints; a first wireless pair of a wireless peripheral interconnect bus connected to the switch; and a second wireless pair of a wireless peripheral interconnect bus connected to a PCIe component, wherein the first wireless pair and the second wireless pair communicates over a wireless link.
This disclosure describes the best mode or modes of practicing the invention as presently contemplated. It is important to note that these embodiments are only examples to advise one of ordinary skill in the art of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed inventions. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the various views of the drawings, like reference characters designate like or similar parts.
A wireless link 340 is unidirectional and capable of transferring data at a high rate with limited latency. As a non-limiting example, the wireless bus 300 enables a transfer data rate of 2.5 Gb/s per lane over an unlicensed frequency band such as 57-64 GHz or 5-6 GHz. The links 340 aggregate an unbound number of PCIe lanes, for example, the number of aggregated lanes is 32. The wireless receiver 310 and wireless transmitter 320 implement a wireless modem, such as an orthogonal frequency division multiplexing (OFDM) modem, a single-carrier modem, a multi-carrier modem, and the like. Furthermore, the wireless receiver 310 and wireless transmitter 320 can implement sophisticated communication techniques, such as multiple-input-multiple-output (MIMO), beam forming, advanced coding, space time block codes, and so on.
The wireless peripheral interconnect bus 300 also supports a layered protocol such as the PCIe. Specifically, as illustrated in
The wireless adaptation layer 420 controls and manages the access to the wireless link 340 in either a full-duplex or half-duplex mode of operation. Specifically, the wireless adaptation layer 420 is responsible for accessing the link and serves as a medium access controller (MAC), by establishing the link between the components 330 and preferably using authentication and encryption techniques to secure the established link.
In accordance with one embodiment of the present invention, the adaptation layer 420 receives transaction layer packets (TLPs) from the transaction link layer 440 and assembles the TLPs in a wireless PCIe adaptation packet (WPAP). An exemplary structure of a WPAP 500 as generated by the wireless adaptation layer 420 is provided in
The WPHY layer 410 receives the WPAP 500 and constructs a WPHY frame 550, such as shown in
Both the wireless adaptation layer 420 and the WPHY layer 410 in the transmitter 320 and receiver 310 apply a re-transmission mechanism to ensure a reliable wireless link. In one embodiment, the transmitter maintains a retransmission buffer to include all packets that have not been acknowledged by the receiver 310, and non-acknowledged packets are retransmitted by the transmitter 320. The WPHY layer 410 controls the transmission rate of re-transmitted symbols 560 in order to avoid situations of the transmitting of out-of-order TLPs provided by the transaction link layer 440.
In accordance with one embodiment of the invention the wireless bus 300 can be integrated in a computing device to wirelessly connect a plurality of peripheral components to the device. The computing device may be, but is not limited to, a personal computer, a laptop, a media player, a mobile phone, a personal digital assistant (PDA), and the like.
The host bridge 610 identifies wireless peripheral interconnect bus 300 as a standard bus terminator (e.g., a PCIe endpoint, a PCIe switch, etc.). A first wireless pair of the bus 300 is connected to a switch 650 and a second wireless pair of the bus 300 is coupled to an endpoint 620-5. Therefore, data is transferred between the switch 650 and endpoint 620-5 over a wireless link (e.g., link 340), where the underlying wireless specifics are transparent to any component connected to fabric 600. Each wireless pair of the bus 300 includes a wireless receiver and transmitter and implements a layered protocol as discussed in greater detail above. The endpoint 620-5 may be, but is not limited to, a legacy endpoint, a PCIe endpoint, and so on. The fabric 600 may further include a wireless peripheral interconnect switch 640 formed by coupling a first wireless pair of the bus 300 to the switch 650 and a second wireless pair to a PCIe switch 620-6.
The WPHY frame is received as a series of symbols at the WHPY layer 410 which, at S760, transfers the symbols to the wireless adaptation layer 420 as WPAPs. At S770, for each WPAP, the wireless adoption layer computes the CRC value on the data portion and compares the computed value to the value stored in the CRC field. If the CRC values are not equal, the adoption layer 420 corrects the data according to the CRC code. At S780, the TPLs in the WPAP are disassembled and forwarded to the transaction layer 430.
The invention has now been described with reference to embodiments where the wireless peripheral interconnect bus is implemented as a wireless PCIe. Other embodiments will be apparent to those of ordinary skill in the art. For example, the wireless peripheral interconnect bus can be adapted for the use with peripheral devices utilizing connection formats, such as PCIe second generation, PCIe third generation, and the like.
In an embodiment of the invention, some or all of the method components are implemented as a computer executable code. Such a computer executable code contains a plurality of computer instructions that when performed result with the execution of the tasks disclosed herein. Such computer executable code may be available as source code or in object code, and may be further comprised as part of, for example, a portable memory device or downloaded from the Internet, or embodied on a program storage unit or computer readable medium. The principles of the present invention may be implemented as a combination of hardware and software and because some of the constituent system components and methods depicted in the accompanying drawings may be implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present invention is programmed.
The computer executable code may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a random access memory (“RAM”), and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. Explicit use of the term CPU, “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor hardware, ROM, RAM, and non-volatile storage.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
This application is a continuation application of U.S. patent application Ser. No. 12/034,645, filed on Feb. 20, 2008, now allowed, which claims the benefit of U.S. Provisional Application No. 60/938,190 filed on May 16, 2007. The above-referenced applications are incorporated herein in their entirely by reference thereto.
Number | Name | Date | Kind |
---|---|---|---|
4862454 | Dias et al. | Aug 1989 | A |
5825617 | Kochis et al. | Oct 1998 | A |
5923757 | Hocker et al. | Jul 1999 | A |
5926629 | Gulick | Jul 1999 | A |
5930368 | Hocker et al. | Jul 1999 | A |
6170026 | Kimura et al. | Jan 2001 | B1 |
6226700 | Wandler et al. | May 2001 | B1 |
6396809 | Holden et al. | May 2002 | B1 |
6499079 | Gulick | Dec 2002 | B1 |
6798775 | Bordonaro et al. | Sep 2004 | B1 |
6898766 | Mowery et al. | May 2005 | B2 |
6937468 | Lin et al. | Aug 2005 | B2 |
7058738 | Stufflebeam, Jr. | Jun 2006 | B2 |
7079544 | Wakayama et al. | Jul 2006 | B2 |
7096310 | Norden et al. | Aug 2006 | B2 |
7293129 | Johnsen et al. | Nov 2007 | B2 |
7320080 | Solomon et al. | Jan 2008 | B2 |
7340555 | Ashmore et al. | Mar 2008 | B2 |
7356635 | Woodings et al. | Apr 2008 | B2 |
7363404 | Boyd et al. | Apr 2008 | B2 |
7467313 | Han et al. | Dec 2008 | B2 |
7469366 | Reed | Dec 2008 | B1 |
7519761 | Gregg | Apr 2009 | B2 |
7525986 | Lee et al. | Apr 2009 | B2 |
7543096 | Davies et al. | Jun 2009 | B2 |
7596646 | Kim et al. | Sep 2009 | B2 |
7916750 | Sharma et al. | Mar 2011 | B2 |
8006014 | Lai et al. | Aug 2011 | B2 |
8050290 | Tamir et al. | Nov 2011 | B2 |
8374157 | Tamir et al. | Feb 2013 | B2 |
8472436 | Meiri et al. | Jun 2013 | B2 |
20020080756 | Coppola et al. | Jun 2002 | A1 |
20020138565 | Kustov et al. | Sep 2002 | A1 |
20030198015 | Vogt | Oct 2003 | A1 |
20030219034 | Lotter | Nov 2003 | A1 |
20040122771 | Celi et al. | Jun 2004 | A1 |
20040208130 | Mizutani et al. | Oct 2004 | A1 |
20040220803 | Chiu et al. | Nov 2004 | A1 |
20050047079 | Gasbarro et al. | Mar 2005 | A1 |
20050075080 | Zhang | Apr 2005 | A1 |
20050220173 | Zyren et al. | Oct 2005 | A1 |
20050246470 | Brenner | Nov 2005 | A1 |
20050248502 | Okuley et al. | Nov 2005 | A1 |
20050262269 | Pike | Nov 2005 | A1 |
20050278756 | Brown | Dec 2005 | A1 |
20060050707 | Sterin | Mar 2006 | A1 |
20060061963 | Schrum | Mar 2006 | A1 |
20060080722 | Santhoff | Apr 2006 | A1 |
20060126612 | Sandy et al. | Jun 2006 | A1 |
20060129709 | Bandholz et al. | Jun 2006 | A1 |
20060143338 | Hunsaker et al. | Jun 2006 | A1 |
20060206655 | Chappell et al. | Sep 2006 | A1 |
20060222125 | Edwards, Jr. et al. | Oct 2006 | A1 |
20060233191 | Pirzada et al. | Oct 2006 | A1 |
20060251096 | Metsker | Nov 2006 | A1 |
20070067551 | Ikeda et al. | Mar 2007 | A1 |
20070173202 | Binder et al. | Jul 2007 | A1 |
20070189270 | Borislow et al. | Aug 2007 | A1 |
20070198763 | Suzuki et al. | Aug 2007 | A1 |
20070283181 | Shelton et al. | Dec 2007 | A1 |
20070291636 | Rajagopal et al. | Dec 2007 | A1 |
20080018491 | Berkman et al. | Jan 2008 | A1 |
20080071961 | Higuchi et al. | Mar 2008 | A1 |
20080147904 | Freimuth et al. | Jun 2008 | A1 |
20080219376 | Qi et al. | Sep 2008 | A1 |
20090024782 | Elboim | Jan 2009 | A1 |
20130124762 | Tamir et al. | May 2013 | A1 |
Number | Date | Country |
---|---|---|
200709616 | Mar 2007 | TW |
WO-0111476 | Feb 2001 | WO |
Entry |
---|
Chiang J., et al., “Advanced Switching Versus PCI-Express for Peer-to-Peer Communications,” May 2004, ASI-SIG, Vitesse Semiconductor Corp., Camarillo, CA. Retrieved Mar. 12, 2009. |
Digital-Logic AG: “Solution Guide Embedded Computer 2008, vol. II” (Fall issue), Sep. 5, 2008,Digital-Logic AG, Switzerland, Retrieved date Oct. 8, 2009. |
International Search Report and the Written Opinion of the International Searching Authority for the corresponding International Application No. PCT/US2008/070405, dated Jan. 28, 2009. |
PC/104 Embedded Consortium: “What is PCI/104-Express (TM)?”, Rev. A, published Apr. 3, 2008. |
PCI Express Base Specification Revision 1.0 Jul. 22, 2002. |
PCI Express* Ethernet Networking, Sep. 2005 Intel White Paper. |
Number | Date | Country | |
---|---|---|---|
20120017015 A1 | Jan 2012 | US |
Number | Date | Country | |
---|---|---|---|
60938190 | May 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12034645 | Feb 2008 | US |
Child | 13242110 | US |