The present invention relates generally to computing devices and, more particularly, to methods and apparatus for controlling peripheral devices.
Computing systems include a number of internal and external components and devices that must communicate and operate in compatible manner order to perform the functions of the computing device. A typical computing environment includes components and devices manufactured by various manufacturers Bridge logic devices are often employed to provide connectivity between the various devices in a computing system.
A second bridge logic device 150, typically referred to as a “South” bridge, is typically used to provide a standard interface to a number of peripheral devices and other devices. The South bridge 150 permits manufacturers of peripheral devices to provide devices that are compatible with computer systems of other manufacturers. The South bridge 150 aggregates communications between the various peripheral devices and the processor 110. As shown in
Supporting the peripheral devices in the manner shown in
Communications between the South bridge 150 and the North bridge 130 are often over a parallel Peripheral Component Interconnect (PCI) bus. The shared nature of the PCI bus, however, requires that only one peripheral device can communicate on the bus at a time. Further, as additional devices are connected to the PCI bus, additional wires and routing are required. Thus, the PCI bus architecture of the South bridge is generally not scaleable as the number of connected peripheral devices increases.
A need therefore exists for a more cost effective architecture for controlling and communicating with peripheral devices. A further need exists for an integrated controller that is scaleable as the number of connected peripheral devices increases.
Generally, an integrated controller is provided for controlling communications with a plurality of peripheral devices. The integrated controller includes a bus interface for processing communications with a processor; a switch for routing communications between the processor and one or more of the peripheral devices; and a plurality of controllers, where each of the controllers provide an interface to at least one peripheral device. The controllers include at least one PHY controller for a corresponding peripheral device that provides an electrical interface to a connection, such as a network connection. The controllers also include at least one MAC controller that stores and forwards packets to and from a network connection.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
The present invention recognizes that System on a Chip (SoC) technology permits a number of devices to be integrated on a single chip to reduce overall system cost. The present invention also recognizes that such SoC techniques can be employed to provide a universal peripheral controller 300 that improves the reliability and reduces the cost of supporting peripheral devices in a computing system, such as the computing system 100 of
In the conventional architecture 100 shown in
In one exemplary implementation, the universal peripheral controller 300 employs a PCI-Express bus architecture. For a detailed discussion of the PCI-Express bus architecture, see, for example, www.pcisig.com, incorporated by reference herein. Generally, the PCI-Express bus architecture can be scaled as the number of peripheral devices increases. In addition, the PCI-Express bus provides for serial communications at a high speed, thus allowing for a smaller connector with a reduced number of pins. The original PCI specification defined a 32-bit PCI bus that operated at 33 MHz with a peak throughput of 132 Megabytes/second. Until recently, the performance of the original PCI specification was adequate for most applications. As the processing rates of commercially available processors have increased, the processing capacity of the processors to process data eventually exceeded the capacity of the PCI bus to deliver data. Thus, recent processors can process data faster than the PCI bus can deliver the data to processor.
An updated version of the PCI specification, referred to as PCI Express, proposes to improve the computer performance by increasing the flow of data between a processor and various peripheral devices, such as network cards, printers and storage disks. Rather than transmitting data on a parallel bus, which limits the maximum transmitting speed, PCI-Express uses high speed serial lanes at 2.5 Gbit/second or higher to transmit the data. When multiple lanes are used, e.g., 32 lanes, the maximum speed can be up to 80 Gbit/second. In addition, PCI-Express includes a number of new features that are said to improve reliability, timing and scalability of the bus.
According to one aspect of the present invention, the computer architecture 200 includes the universal peripheral controller 300, discussed further below in conjunction with
As shown in
For each supported peripheral connection, the universal peripheral controller 300 includes appropriate MAC and PHY controllers 330-n, 340-n and a peripheral connector 350-n. The MAC controllers 330 store and forward packets to and from a network, in a known manner. The PHY controllers 340 provide the electrical interface onto the network (or another connection, such as a USB or Firewire connection). It is noted that the peripheral devices that are connected to the connectors 350-n would typically include their own MAC and PHY controllers, as appropriate, in a known manner. In this manner, the universal peripheral controller 300 supports various peripheral protocols without requiring redundant PHY controllers for each peripheral device on the motherboard. In addition, the universal peripheral controller 300 exhibits reduced complexity, cost and power consumption, relative to the conventional architecture 100 of
When fabricating the integrated circuits incorporating the universal peripheral controller 300 of the present invention, a plurality of identical die are typically formed in a repeated pattern on a surface of the wafer. Each die includes a universal peripheral controller device 300 described herein, and may include other structures or circuits. The individual die are cut or diced from the wafer, then packaged as an integrated circuit. One skilled in the art would know how to dice wafers and package die to produce integrated circuits. Integrated circuits so manufactured are considered part of this invention.
It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/525,929, filed Nov. 25, 2003, incorporated by reference herein.
| Number | Name | Date | Kind |
|---|---|---|---|
| 6065073 | Booth | May 2000 | A |
| 6141719 | Rafferty et al. | Oct 2000 | A |
| 6226700 | Wandler et al. | May 2001 | B1 |
| 6324605 | Rafferty et al. | Nov 2001 | B1 |
| 6363439 | Battles et al. | Mar 2002 | B1 |
| 6385211 | Williams et al. | May 2002 | B1 |
| 6421735 | Jung et al. | Jul 2002 | B1 |
| 6549960 | Allison et al. | Apr 2003 | B1 |
| 6647438 | Connor et al. | Nov 2003 | B1 |
| 6701406 | Chang et al. | Mar 2004 | B1 |
| 6785751 | Connor | Aug 2004 | B1 |
| 6922548 | Moore et al. | Jul 2005 | B1 |
| 6947438 | Chang et al. | Sep 2005 | B1 |
| 7065582 | Dwork et al. | Jun 2006 | B1 |
| 7167923 | Lo | Jan 2007 | B2 |
| 7535913 | Minami et al. | May 2009 | B2 |
| 7835371 | Krischer et al. | Nov 2010 | B2 |
| 8073002 | Minami et al. | Dec 2011 | B2 |
| 20010037397 | Boucher et al. | Nov 2001 | A1 |
| 20010039600 | Brooks et al. | Nov 2001 | A1 |
| 20010042147 | Adams et al. | Nov 2001 | A1 |
| 20020053927 | Stevens | May 2002 | A1 |
| 20020146014 | Karlsson et al. | Oct 2002 | A1 |
| 20020165947 | Akerman et al. | Nov 2002 | A1 |
| 20020181055 | Christiansen et al. | Dec 2002 | A1 |
| 20030205995 | Odaohhara et al. | Nov 2003 | A1 |
| 20030208652 | Kuhlmann et al. | Nov 2003 | A1 |
| 20030221026 | Newman | Nov 2003 | A1 |
| 20040054689 | Salmonsen et al. | Mar 2004 | A1 |
| 20050108696 | Dai et al. | May 2005 | A1 |
| 20050114554 | Azadet et al. | May 2005 | A1 |
| 20110286338 | Gonda | Nov 2011 | A1 |
| Number | Date | Country |
|---|---|---|
| 11-308218 | Nov 1999 | JP |
| 2003-143352 | May 2003 | JP |
| WO 0159565 | Aug 2001 | WO |
| Entry |
|---|
| Fuller, S., “RapidIO Und PCI Express,” Communications Serial Bus Systems, vol. 52, No. 5, pp. 76-80 (Mar. 4, 2003). |
| Mayhew et al., “PCT Express and Advanced Switching: Evolutionary Path to Building Next Generation Interconnects,” Proceedings of the 11th Symposium on High Performance Interconnects, pp. 21-29 (Aug. 20-22, 2003). |
| “PCI-Express,” Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/wiki/Pci-express, Downloaded on Jan. 30, 2007. |
| “PCI Express—An Overview of the PCI Express Standard,” National Instruments, NI Developer Zone, http://zone.ni.com/devzone/cda/tut/p/id/3767, Downloaded on Jan. 30, 2007. |
| Number | Date | Country | |
|---|---|---|---|
| 20050114581 A1 | May 2005 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60525229 | Nov 2003 | US |