This invention relates generally to augmenting or updating computer platforms with wireless capabilities.
In many cases, purchasers of computer platforms, also known as processor-based systems, wish to have the latest technology. In some cases, the latest technology is not quite ready for release at the time a given platform is manufactured. In other cases, manufacturers of processor-based platforms may know of upcoming technology improvements that may or may not yet be available.
Manufacturers who would like to make those improvements available have several considerations. Firstly, manufacturers of platforms may realize that some users may not wish to incur the cost of updates, add-ons and improvements. If every technological improvement or capability were incorporated into every platform, the expense of platforms may become prohibitive for some purchasers.
Secondly, the technology may not yet be ready for release. Therefore, while a platform manufacturer may know of a new upcoming technology, the platform manufacturer may not yet be ready, willing or able to release that technology in the current platform generation. However, there may be some cases where components of the technology may be partially ready but other components needed are not yet available.
For example, wireless networking capabilities are not generally available on platforms. However, it would be desirable to make this technology available for users in the future without excessively burdening all users now, including those who will never use wireless networking.
However, to incorporate wireless networking into current platforms, before those technologies are generally accepted in the industry, may be cost ineffective. Some users may not wish to pay for the cost of wireless networking technologies, and other users may not wish to incur the cost even if those technologies become commonplace in platforms. Moreover, in some cases, all the components for implementing a given technology may not yet be available and therefore at the time of a given platform's release, only portions of the technology may be available.
Therefore, there is a need for a way to make platforms more upgradable to include wireless capabilities.
Referring to
A bus 78 may couple the bridge 11 and an add-in card 14. The add-in card 14 may provide specific components needed to achieve the function FnY via the device 28. Thus, certain capabilities for providing functions are partially integrated into the controller 11 and platform 10 while other capabilities may be provided only when an add-in card 14 is purchased and coupled to the platform 10.
The platform 10 may include a host bus 76 that couples a processor 70, a memory 72 and the bridge 11 in one embodiment. Other platform architectures may also be used.
In general, higher layer functions may reside on the host platform 10 while the remaining lower layer functional components reside in an add-in card 14 that may be plugged into an external bus 78 as desired by the user or designer of the system 10. Generally, when distributing device functions that are traditionally tightly integrated on add-in cards across an external bus, the bus protocol supports much lower latencies that are obtainable with conventional interfaces.
The partial integration architecture shown in
If the add-in card 14 is not found, a mating manager 36, shown in
Referring to
In the embodiment illustrated in
Advantageously, the mating manager 36 is not implemented in software in the bus driver 16b, but instead is implemented in the controller 12a hardware. In this case, the driver 16b works in conjunction with a conventional device driver 16a. The driver 16b interfaces with a PCI configuration space 18 while the device driver 16a interfaces with an interface 30. The device function FnX may be provided in the device 20. A space 22 provides information about the global unique identifier (GUID) for the integrated controller 12a. Also provided is a partial integration interface 32 that interfaces with the add-in card 14.
The global unique identifier (GUID) space 22 interfaces with a partial integration configuration space 34 also resident in the controller 12a. The mating manager 36 communicates with the partial integration configuration space 34 and a partial integration space 38 resident in the add-in card 14a. The card 14a may also include a global unique identifier (GUID) 26 and a device interface space 40 that interfaces with a corresponding interface on the controller 12a.
The add-in card 14a may include a device 28 to implement the function FnY. The mating manager 36 communicates with both the add-in card 14a and the controller 12a for discovery, enumeration and configuration. The mating manager 36 determines whether or not the add-in card 14a is present and then provides a pointer for add-in device 28 to the integrated device 20 and vice versa, by indicating where an interface, such as control registers, is mapped in memory. The devices 20 and 28 may be hardware, firmware or software modules.
Referring to
Thus, the embodiment shown in
Also in
The custom bus driver 16c also communicates with the configuration space 40 in the controller 12b and a partial integration space 18 in the controller 12b. Meanwhile, the conventional device driver 16d communicates through an interface 30.
In the embodiment shown in
The mating manager 36 compares the partial integration interface global unique identifier 26, from the partial integration configuration space 38 of the add-in card 14, with the partial integration, global unique identifiers 22 and the partial integration device 20 in the controller 12. If a match is found, the mating manager 36 writes the mated partial integration device bus information to the partial integration configuration spaces 18 and 38 of the controller 12 and add-in card 14, respectively. The bus information may include all the information necessary for the mated partial integration device 20, 28 components to communicate.
Referring to
If a match is detected at diamond 58, the mated partially integrated device information is written to the configuration space of the integrated and add-in components as indicated in block 60.
As an example of implementation of the present invention, in the embodiment shown in
Add-in cards or network interface cards currently support wake on local area network (LAN) functionality by filtering incoming MAC frames to decide whether the incoming frame is a special frame indicating that the entire system should be woken up. Thus, in existing add-in cards, both the MAC and PHY function is provided in the add-in card. This would appear to have some advantages in the wake on LAN situation because in such case, the add-in card can determine whether or not to wake the entire system by first testing or filtering the packet to decide it is necessary to wake up the entire system.
However, as described above, it would be desirable to partially integrate a wireless LAN function into existing platforms. In such case, the MAC may be incorporated into a chipset or otherwise incorporated into a platform at a reasonable cost and the PHY may be provided via an add-in card. However, since wake filtering is normally associated with the MAC function, this would mean that in order to test to determine whether or not a given packet is an appropriate wake packet, the entire system would have to be awoken.
A system that requires the entire operation to be awoken on each incoming packet may be power ineffective. One purpose of powering down the system until an appropriate wake packet is received is to reduce power consumption. Reduced power consumption may be particularly important in systems that are battery powered. Thus, while partial integration offers numerous advantages including more cost effective incorporation of new technologies, a problem arises with respect to achieving partial integration with effective power consumption for wireless LANs.
In accordance with one embodiment of the present invention, the device FnY 28 (for example as shown in
As a result, the testing, to determine whether a packet has been received that requires the system 10, 10a or 10b to be awoken, may be implemented in the add-in card 14. This results in better power management while still achieving the advantages of partial integration. In one embodiment, the minimum possible required wake filtering function is added to the PHY by shifting the essential components of that capability from the MAC.
Referring to
If so, as determined in diamond 76, the platform 10 is awakened as indicated in block 78. Otherwise, the packet is handled in the add-in card 14 and no awakening of the platform 10 is necessitated. Of course, wakening the platform 10, in some embodiments, involves causing the platform 10 to transform from a lower power consumption state to a higher power consumption state, in order to handle incoming communications as one example.
The bus interface between the MAC and PHY modules can be any available technology.
In battery powered embodiments, battery life may be extended by doing wake packet filtering in the add-on device while still proceeding the economic advantages of partial integration of wireless networking. In particular, a system that avoids unnecessary and power consumptive waking of the host system may be avoided. At the same time, partial integration of wireless networking in the host provides advantageous upgradeability.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Number | Name | Date | Kind |
---|---|---|---|
5802305 | McKaughan et al. | Sep 1998 | A |
6047378 | Garrett et al. | Apr 2000 | A |
6192230 | van Bokhorst et al. | Feb 2001 | B1 |
6285406 | Brusky | Sep 2001 | B1 |
6421782 | Yanagisawa et al. | Jul 2002 | B1 |
6493824 | Novoa et al. | Dec 2002 | B1 |
6496869 | Cheng | Dec 2002 | B1 |
6564056 | Fitzgerald | May 2003 | B1 |
6601180 | Paredes et al. | Jul 2003 | B1 |
6698654 | Zuppicich | Mar 2004 | B1 |
6795450 | Mills et al. | Sep 2004 | B1 |
6947768 | Adachi et al. | Sep 2005 | B2 |
6956834 | Stanwood et al. | Oct 2005 | B2 |
6972718 | Watanabe et al. | Dec 2005 | B2 |
7082129 | Cromer et al. | Jul 2006 | B2 |
20030097398 | Knox et al. | May 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20030171138 A1 | Sep 2003 | US |