The present application is related to U.S. application Ser. Nos. 10/157,384, 10/156,893, and 10/157,409 titled Transaction Management In Systems Having Multiple Multi-Processor Clusters (Attorney Docket No. NWISP012), Routing Mechanisms In Systems Having Multiple Multi-Processor Clusters (Attorney Docket No. NWISP013), and Address Space Management In Systems Having Multiple Multi-Processor Clusters (Attorney Docket No. NWISP014) respectively, all by David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh, and Richard R. Oehler, the entireties of which are incorporated by reference for all purposes.
1. Field of the Invention
The present invention generally relates to distributing system management signals in a computer system. More specifically, the present invention provides techniques for distributing system management signals precisely to designated resources, such as the resources in a partition.
2. Description of Related Art
A relatively new approach to the design of multi-processor systems replaces broadcast communication among processors with a point-to-point data transfer mechanism in which the processors communicate similarly to network nodes in a tightly-coupled computing system. In typical implementations, groups of resources or computer system boxes can be interconnected to form a cluster or a computer system complex. Multiple partitions can then run on top of the computer system complex.
However, mechanisms for distributing system management signals are limited. Consequently, it is desirable to provide techniques for improving system management signal distribution in systems having multiple clusters of multiple interconnected processors.
Methods and apparatus are provided for improving the distribution of system management signals within a computer system complex. Mechanisms are provided for transmission both within a box and between computer system boxes. Local routing tables and general routing tables allow the distribution of system management signals precisely to resources associated with particular partitions. Signals are sequenced to put resources associated with one or more boxes in the appropriate states. The distribution of signals between boxes in the computer system complex can be accomplished without the use of a dedicated wire.
In one embodiment, a computer system is provided. The computer system includes a plurality of local resources including a plurality of local processors and a local service processor coupled to the plurality of local resources. The local service processor is configured to receive reset information. The reset information is sent to a subset of the plurality of local resources including a subset of the plurality of local processors. The subset of the plurality of local resources is determined by using a local routing table.
In another embodiment, a method for distributing reset information is provided. A plurality of local resources including a plurality of local processors are identified. A local service processor coupled to the plurality of local resources are identified. The local service processor is configured to receive reset information. The reset information is sent to a subset of the plurality of local resources including a subset of the plurality of local processors. The subset of the plurality of local resources is determined by using a local routing table.
In another embodiment, a computer system is provided. The computer system includes a plurality of local components including a local cluster of processors. The local cluster of processors are interconnected in a point-to-point architecture and are coupled to a plurality of remote clusters of processors. The computer system also includes a local I/O hub configured to receive a power management request from an operating system associated with a partition and forward the power management request to a plurality of remote boxes through a coherent interface.
According to yet another embodiment, a method for distributing power management information is provided. A plurality of local components including a local cluster of processors are identified. The local cluster of processors are interconnected in a point-to-point architecture and coupled to a plurality of remote clusters of processors. A power management request is received at a local I/O hub from an operating system associated with a partition. The power management request is forwarded to a plurality of remote boxes through a coherent interface.
A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings.
The invention may best be understood by reference to the following description taken in conjunction with the accompanying drawings, which are illustrative of specific embodiments of the present invention.
Reference will now be made in detail to some specific embodiments of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. Multi-processor architectures having point-to-point communication among their processors are suitable for implementing specific embodiments of the present invention.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. Well known process operations have not been described in detail in order not to unnecessarily obscure the present invention. Furthermore, the present application's reference to a particular singular entity includes that possibility that the methods and apparatus of the present invention can be implemented using more than one entity, unless the context clearly dictates otherwise.
According to specific embodiments, the service processor of the present invention has the intelligence to partition system resources according to a previously specified partitioning schema. The partitioning can be achieved through direct manipulation of routing tables associated with the resources within a box by the service processor which is made possible by the point-to-point communication infrastructure. The routing tables are used to control and isolate various system resources, the connections between which are defined therein. According to various embodiments, each service processor may also be associated with a configuration system module for directly accessing the routing tables. In one embodiment, the configuration system module is configured to distribute system management signals. Any signal used to manage resources in a computer system complex is referred to herein as a system management signal. Some examples of system management signals include reset and power management signals sent to various nodes. In some examples, a configuration system module is implemented as logic within a service processor or as an entirely separate component.
In typical implementations, a box containing some number of processors includes system management functions that operate on all of the components in the box indiscriminately. For example, a reset signal function distributed by an operating system running on the system would reset all of the components in the box. Similarly, a power management operation instruction for processors to operate in a power conservation mode such as a particular sleep state would result in all processors in that box entering a sleep state. Processors and other resources interconnected having a local bus or point-to-point architecture and using read and write operations for data transfer are referred to herein as residing within a box. Boxes are connected together by controllers for data transfer. Messaging types associated with the interfaces are used for out-of-band communication between boxes.
According to various embodiments, the techniques of the present invention allow the controlling of system management functions such that only selected nodes or resources are the target of the system management functions. The techniques of the present invention also provide mechanisms for distributing system management signals to other boxes either through existing links. Logic or mechanisms for distributing management signals to resources such as processors and I/O components are referred to herein as configuration system modules. System management functions such as reset and power management operations can be distributed to selected resources such as processors 202a-d, controller 230, and I/O switch 210. It will be appreciated that each processor 202a-d shown in
The processors 202a-d are coupled to an interconnection controller 230 through point-to-point links 232a-d. According to various embodiments, interconnection controller 230 performs a variety of functions such as the maintenance of a node ID space associated with each of a plurality of processor clusters, communication of interrupts and associated transmissions, and maintenance of cache coherency. Interconnection controller 230 can be coupled to similar controllers associated with other multiprocessor clusters. It should be noted that there can be more than one such interconnection controller in one cluster. Interconnection controller 230 communicates with both processors 202a-d as well as remote clusters using a point-to-point protocol.
More generally, it should be understood that the specific architecture shown in
According to one embodiment, service processor 212 is a Motorola MPC855T microprocessor that includes integrated chipset functions, and interconnection controller 230 is an Application Specific Integrated Circuit (ASIC) supporting the local point-to-point coherence protocol. Interconnection controller 230 can also be configured to handle a non-coherent protocol to allow communication with I/O devices. In one embodiment, interconnection controller 230 is a specially configured programmable chip such as a programmable logic device or a field programmable gate array. In another embodiment, interconnection controller 230 is a general purpose processor with an interface to point-to-point links 232a-d.
According to various embodiments, I/O switch 210 includes one or more I/O hub components 211a and 211b, corresponding I/O bridges, I/O processors, I/O adapters, and I/O devices or network connections. The I/O hub manages the transition from high speed, very short distance system processor links to the I/O bus. The I/O bus can take on a variety of forms. Some I/O buses, support point-to-point topologies, and can span distances of a mile or more. Other buses, such as the PCI bus, support a parallel data, multi-drop I/O adapter environment over short distances of generally less than one foot. Logic or mechanisms for managing the flow of data to and from various system resources and performing data protocol translation are referred to as I/O hubs.
The protocol engine 305 has access to a pending buffer 309 that allows the interconnection controller to track transactions such as recent requests and probes and associate the transactions with specific processors. Transaction information maintained in the pending buffer 309 can include transaction destination nodes, the addresses of requests for subsequent collision detection and protocol optimizations, response information, tags, and state information.
The interconnection controller has a coherent protocol interface 307 that allows the interconnection controller to communicate with other processors in the cluster as well as external processor clusters. The interconnection controller may also include other interfaces such as a non-coherent protocol interface 311 for communicating with I/O devices. According to various embodiments, each interface 307 and 311 is implemented either as a full crossbar or as separate receive and transmit units using components such as multiplexers and buffers. It should be noted that the interconnection controller 230 does not necessarily need to provide both coherent and non-coherent interfaces. It should also be noted that an interconnection controller 230 in one cluster can communicate with an interconnection controller 230 in another cluster.
According to various embodiments, however, service processor 212 has a direct connection to the configuration system module 405. The service processor communicates with other service processors in the complex using a connection such as an Ethernet connection 403. In one example, an I2C bus 401 connects the configuration system module with the configuration system modules associated with other boxes in the complex. The I2C bus serves as an alternate path in the event of failure of the service processor or its associated Ethernet connection.
The operating system uses various instructions to activate the system management functions provided in I/O hubs 404a and 404b that in turn, are routed to the configuration system module. In addition, the local reset routing matrix, 407, serves as input to the logic in the configuration system module to select the target components of the system management action.
The configuration system module drives the system management interface 406, as a function of the setting in the local routing matrix 407. The system management interface drives signals such as warm reset, cold reset, as well as components such as the power sequencer to turn off power. According to various embodiments, the configuration system module serves as a conduit to write configuration data into the local reset routing matrix 407 from the I2C bus 401 or the service processor 402. It also generates messages on the initiative of the system management signals from the I/O hubs 404a and 404b to the service processor 402, or the I2C bus 401 for communication to other boxes in the complex. The message generation is also under control of the settings in the local reset routing matrix 407.
It should be noted that boxes 591, 593, 595, and 597 also include other resources such as service processors and I/O hubs. The service processor associated with each box communicates with service processors in other boxes, typically using an internal Ethernet connection. According to various embodiments, one of the service processors is designated as the primary service processor (PSP) and all other service processors are designated secondary service processors (SSPs). In one implementation, the secondary service processors communicate only with the primary service processor. The primary service processor communicates not only with secondary service processors, but also a management console and other external mechanisms. According to various embodiments, boxes 591, 593, 595, and 597 each include a service processor.
According to various embodiments, other lines are also used to connect the various boxes. In one embodiment, a dedicated line is provided to connect resources in various boxes to allow for the transmission of power management signals. In one embodiment, service processors are configured to partition the resources in each box based on particular user needs. In one example, box 591 includes resources for partition 543, partition 545, and partition 541. Box 595, however, includes only resources allocated in a single partition 545.
In many typical implementations, a box containing some number of processors and other resources has system management signals that apply to all of the resources in the box. The techniques of the present invention allow for partitioning of the resources in the box into multiple individual partitions, each capable of running its own operating system. For example, box 593 includes resources for both partition 547 and 549. In one example, if an operating system running in partition 549 signals for a reset of the resources in box 593, typical implementations would reset all the resources in box 593 including resources for partition 547 associated with a separate operating system. The reset would occur even if the operating system running on partition 547 did not request any reset of resources. The techniques of the present invention allow all of the various partitions to apply system management operations such as reset or power management functions to resources that are part of the partition, even if resources of other partitions reside within the same box.
In another example, resources in partition 545 may need to signal resources in other boxes to affect the same system management operations because other resources associated with partition 545 reside outside of the local box. The techniques of the present invention allow the control of system management functions such that only appropriate resources are affected. The control of the system management functions can be changed dynamically to accommodate the addition and removal of resources in particular boxes and partitions. More information about setting up routing tables is described in U.S. patent application Ser. No. 10/157,384, filed May 28, 2002, (Attorney Docket No. NWISP012) entitled “Transaction Management In Systems Having Multiple Multi-Processor Clusters”, by David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh, and Richard R. Oehler; U.S. patent application Ser. No. 10/156,893, Filed May 28, 2002, (Attorney Docket No. NWISP013) entitled “Routing Mechanisms In Systems Having Multiple Multi-Processor Clusters”, by David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh, and Richard R. Oehler; and U.S. patent application Ser. No. 10/157,409, May 28, 2002, (Attorney Docket No. NWISP014) entitled “Address Space Management In Systems Having Multiple Multi-Processor Clusters”, by David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh and Richard R. Oehler.
A general routing table 600 is associated with a service processor or other components in a box to allow the box to route system management signals to the appropriate boxes in the complex. According to various embodiments, partition numbers are used to identify entries in the general routing table 600. In one embodiment, a computer system complex including four boxes each with four processors has a maximum of 16 partitions. In the embodiment shown in
If a first box indicates that partition 3 resources should be reset, a second box would apply the reset to partition 3 resources. However, in a complex using a large number of partitions, it becomes inefficient to send a large bit sequence to represent each of the possible partitions when each box can only have a much smaller maximum number of partitions. In one example, a box with four processors could only have a 4 possible partitions. According to various embodiments, the techniques of the present invention provide a slot number to identify the actual partition that a system management signal should be applied to. An individual box could map the slot number onto an actual partition number to determine the actual partition. Alternatively, the box need not even know the partition number and may simply apply the system management signal to resources associated with a particular slot number.
In one example, box 0 includes resources for partitions 541, 543, and 545. When a system management signal is received, the partition number associated with the system management signal is identified and a general routing table is accessed using the partition number. If box 0 as shown in
In another example, box 0 receives a system management signal associated with partition number 4. Using entry 609, box 0 recognizes that the system management signal should be routed to box 1 slot 1. According to various embodiments, box 0 sends a message with an Ethernet address or an I2C address identified in entry 609 with information indicating the system management function to be applied as well as a slot number that the system management function should be applied to.
According to various embodiments, a general routing table is used by a primary service processor to distribute system management signals to various boxes. In one implementation, all system management signals are first routed to the primary service processor. The primary service processor then distributes the system management function to secondary service processors based on the general routing table. Although service processors here are used to distribute the various signals, it should be recognized that other mechanisms such as I2C interfaces can be used to distribute system management signals as well. In the example where primary and secondary service processors are used, system management signals are distributed to the selected secondary service processors. When the boxes associated with the secondary service processors receive the system management signals, local routing tables are used to distribute the system management signals to various resources within each box.
According to various embodiments, the system management signal may originate from one of several I/O hubs, from a service processor, or from an I2C interface. Routing table 701 indicates that a system management signal associated with slot number 1 may originate from I/O hub 1, a service processor, or an I2C interface. The entry 705 indicates that a reset signal should be asserted on lines associated with Processor and I/O resource 0, and processor 1. It should be noted that system management signals within a box are typically asserted on various lines. Resources such as processors typically have reset pins and other system management pins. On the other hand, system management signals are sent typically as messages from a first box to a second box. Messages typically include an action type, slot number information, and an assert/de-assert bit. According to various embodiments, the slot number is mapped at configuration time from the partition number. In one example, the assert/de-assert bit is used to control the length of the reset action. The assert bit is turned on in the message to begin a reset action and the action is terminated in a subsequent message when the assert bit is turned off (de-asserted).
Routing table 711 is associated with box 1. As shown in
According to various embodiments, the resets across boxes are sequenced so that the reset action on the boot strap processor envelops the reset action of all other resources of the partition in other boxes. In one embodiment, the boot strap processor is the last to de-assert the reset action. Typical assertion times are greater than 1 ms.
System management signals such as reset signals may arise from several different sources. In one example, a system reset signal stems from an I/O hub. In this case, the resources belonging to the partition in the same box as the I/O hub see reset signals asserted by the I/O hub. The signals are an initiative to the boot strap processor secondary service processor to send a request message to the primary service processor to initiate the appropriate reset for the entire partition. The primary service processor then proceeds to generate reset messages to all the boxes containing resources associated with the partition, starting with the boot strap processor box. The hardware reset signal from the I/O hub is extended in the boot strap processor resource by hardware until the reset message arrives at the boot strap processor secondary service processor by way of the primary service processor. The reset signals, typically sequenced by a state machine, remain asserted until de-asserted by an initiative from the primary service processor.
In another case, a reset initiative arises from a management console. In this case the primary service processor sends the reset message to the boot strap processor service processor to initiate the reset. The reset message is then sent to the other boxes participating in the partition. According to various embodiments, deassertion messages can come in any sequence as long as a message to the boot strap processor is last.
If it is determined at 903 that the service processor is not the primary service processor, the reset message is sent to the primary service processor. At 907, the local configuration system module receives the reset signal from the local service processor and also in some cases from the I/O hub. At 909, the configuration system module determines the partition/slot and accesses a local routing table to determine the subset of resources to reset. In one instance, all resources in the box are reset while in some other instances some of resources are reset. At 913, the configuration system module asserts reset signals on output lines based on a local routing table. At 915, resources such as processors, processor and I/O resources, and interconnection controllers associated with the output lines are reset. At 925, the de-assert reset message is sent to boxes in the partition to complete the reset. At 931, the secondary service processor waits for the reset deassertion message, deasserts the reset signal to the configuration system module and acknowledges the message. Typically, the reset de-assert signal to the boot strap processor is sent last. At 927, the reset of resources is completed.
Although the techniques of the present invention allow for the distribution of reset signals using service processors, it should be noted that a variety of other signals and mechanisms can be used. For example, other system management signals such as power management signals can be sent to various resources to manage the amount of power consumed in a computer system complex. Several types of power management signals are available. In one example, signals can be sent to processors by an operating system to manage processor performance states. Processors associated with a particular partition can run at a lower frequency (clock speed) and voltage when an OS determines that a partition should be running in a low power mode. In another example, signals can be sent to place various resources in sleep states. A wide variety of sleep states are available. Methods and apparatus for power management are described in U.S. patent application Ser. No. 10/188,271, filed Jul. 1, 2002, (Attorney Docket No. NWISP005) entitled “Methods And Apparatus For Power Management” by Richard R. Oehler, Carl Zeitler, and Richard 0. Simpson.
In one sleep state, complete system context and machine state are preserved but voltage is reduced and clocks are stopped to reduce power consumption. No reset is involved. Entry into the sleep state can be performed by an I/O hub associated with the partition. Wakeup is controlled by a primary service processor. In a second sleep state, power is removed from the processor and all I/O devices. Memory contents are maintained by placing the memory in self refresh mode. The second sleep states allows a greater power savings then the first sleep state, but the time to exit or wakeup is longer. In a third sleep state, all necessary state information is saved to disk and subsequently restored on reboot. In still another state, no status is saved. In most cases, more time is needed to restore the system to an operational state from sleep states that allow for greater power savings. It should be noted that a variety of sleep states can be used with the techniques of the present invention.
According to various embodiments, signals such as power management signals can be handled locally using components such as I/O hubs and service processors. In one example, signaling local resources is governed by local routing tables. Power management messages sent to other boxes are simply broadcasts to other boxes without using a global routing table. Components at a local box are then controlled by a local reset routing matrix to determine whether the power management signal should be forwarded to local components.
At 1003, the operating system issues an instruction that orders the processor to generate a system management message containing a power management action code describing a change in power. At 1007, the processor sends the message to the host bridge. It should be noted that the service processor or a management console can also direct the operating system to initiate a management action. At 1009, the host bridge broadcasts the message to all boxes and all nodes in the boxes in the partition. At 1011, the local controller in each box decodes the system management message and passes the power management action portion to the configuration system module. At 1013, the configuration system module decodes the power management action and generates the proper power management signal to effect the power management action.
At 1015, the power management signal is routed to the nodes specified in the local reset routing matrix. At 1017, the power management operation is complete. By using the existing coherent interface to send power management notifications, the need to install an additional communication mechanism is eliminated, enhancing reliability and simplifying cable management.
According to various embodiments, wakeup events are routed to local I/O hubs and also to local service processors associated with configuration system modules. If other boxes belong to the partition, the wakeup events to local I/O hubs are blocked, in order to allow the primary service processor to perform the appropriate sequencing of the wakeup events. According to various embodiments, the sleep and wakeup events are transmitted between boxes using service processor messaging using a mechanisms such as Ethernet or I2C.
While the invention has been particularly shown and described with reference to specific embodiments thereof, it will be understood by those skilled in the art that changes in the form and details of the disclosed embodiments may be made without departing from the spirit or scope of the invention. For example, embodiments of the present invention may be employed with multiple processor clusters connected through a point-to-point, switch, or bus architecture. In another example, multiple clusters of processors may have multiple service processors. Therefore, the scope of the invention should be determined with reference to the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4667287 | Allen et al. | May 1987 | A |
4783657 | Bouchard et al. | Nov 1988 | A |
4783687 | Rees | Nov 1988 | A |
5125081 | Chiba | Jun 1992 | A |
5166674 | Baum et al. | Nov 1992 | A |
5191651 | Halim et al. | Mar 1993 | A |
5197130 | Chen et al. | Mar 1993 | A |
5301311 | Fushimi et al. | Apr 1994 | A |
5371852 | Attanasio et al. | Dec 1994 | A |
5394555 | Hunter et al. | Feb 1995 | A |
5561768 | Smith | Oct 1996 | A |
5623644 | Self et al. | Apr 1997 | A |
5682512 | Tetrick | Oct 1997 | A |
5692123 | Logghe | Nov 1997 | A |
5781187 | Gephardt et al. | Jul 1998 | A |
5796605 | Hagersten | Aug 1998 | A |
5805839 | Singhal | Sep 1998 | A |
5819075 | Forsmo | Oct 1998 | A |
5822531 | Gorczyca et al. | Oct 1998 | A |
5931938 | Drogichen et al. | Aug 1999 | A |
5940870 | Chi et al. | Aug 1999 | A |
6003075 | Arendt et al. | Dec 1999 | A |
6018791 | Arimilli et al. | Jan 2000 | A |
6038651 | VanHuben et al. | Mar 2000 | A |
6047332 | Viswanathan et al. | Apr 2000 | A |
6065053 | Nouri et al. | May 2000 | A |
6067603 | Carpenter et al. | May 2000 | A |
6081874 | Carpenter et al. | Jun 2000 | A |
6085295 | Ekanadham et al. | Jul 2000 | A |
6097707 | Hodzic et al. | Aug 2000 | A |
6151663 | Pawlowski et al. | Nov 2000 | A |
6167492 | Keller et al. | Dec 2000 | A |
6192451 | Arimilli et al. | Feb 2001 | B1 |
6209065 | Van Doren et al. | Mar 2001 | B1 |
6219775 | Wade et al. | Apr 2001 | B1 |
6226671 | Hagersten et al. | May 2001 | B1 |
6256671 | Strentzsch et al. | Jul 2001 | B1 |
6259701 | Shur et al. | Jul 2001 | B1 |
6330643 | Arimilli et al. | Dec 2001 | B1 |
6331983 | Haggerty et al. | Dec 2001 | B1 |
6334172 | Arimilli et al. | Dec 2001 | B1 |
6338122 | Baumgartner et al. | Jan 2002 | B1 |
6349091 | Li | Feb 2002 | B1 |
6370585 | Hagersten et al. | Apr 2002 | B1 |
6377640 | Trans | Apr 2002 | B2 |
6378029 | Venkitakrishnan | Apr 2002 | B1 |
6385174 | Li | May 2002 | B1 |
6385705 | Keller et al. | May 2002 | B1 |
6397255 | Nurenberg et al. | May 2002 | B1 |
6405289 | Arimilli et al. | Jun 2002 | B1 |
6463529 | Culley et al. | Oct 2002 | B1 |
6467007 | Armstrong et al. | Oct 2002 | B1 |
6490661 | Keller et al. | Dec 2002 | B1 |
6542926 | Zalewski et al. | Apr 2003 | B2 |
6553439 | Greger et al. | Apr 2003 | B1 |
6578071 | Hagersten et al. | Jun 2003 | B2 |
6598130 | Harris et al. | Jul 2003 | B2 |
6601165 | Morrison et al. | Jul 2003 | B2 |
6615319 | Khare et al. | Sep 2003 | B2 |
6631447 | Morioka et al. | Oct 2003 | B1 |
6633960 | Kessler et al. | Oct 2003 | B1 |
6675253 | Brinkmann et al. | Jan 2004 | B1 |
6687751 | Wils et al. | Feb 2004 | B1 |
6690757 | Bunton et al. | Feb 2004 | B1 |
6704842 | Janakiraman et al. | Mar 2004 | B1 |
6718552 | Goode | Apr 2004 | B1 |
6751698 | Deneroff et al. | Jun 2004 | B1 |
6754782 | Arimilli et al. | Jun 2004 | B2 |
6760819 | Dhong et al. | Jul 2004 | B2 |
6772226 | Bommareddy et al. | Aug 2004 | B1 |
6785726 | Freeman et al. | Aug 2004 | B1 |
6820174 | Vanderwiel | Nov 2004 | B2 |
6826660 | Hagersten et al. | Nov 2004 | B2 |
6842857 | Lee et al. | Jan 2005 | B2 |
6847993 | Novaes et al. | Jan 2005 | B1 |
6854069 | Kampe et al. | Feb 2005 | B2 |
6856621 | Artes | Feb 2005 | B1 |
6865595 | Glasco et al. | Mar 2005 | B2 |
6920519 | Beukema et al. | Jul 2005 | B1 |
6977908 | De Azevedo et al. | Dec 2005 | B2 |
7010617 | Kampe et al. | Mar 2006 | B2 |
7043569 | Chou et al. | May 2006 | B1 |
7103636 | Glasco et al. | Sep 2006 | B2 |
7103823 | Nemawarkar et al. | Sep 2006 | B2 |
7117419 | Nemawarkar et al. | Oct 2006 | B2 |
7155525 | Glasco et al. | Dec 2006 | B2 |
7222262 | Prasadh et al. | May 2007 | B2 |
7251698 | Glasco et al. | Jul 2007 | B2 |
7281055 | Glasco et al. | Oct 2007 | B2 |
20010014097 | Beck et al. | Aug 2001 | A1 |
20010037435 | Van Doren | Nov 2001 | A1 |
20020004886 | Hagersten et al. | Jan 2002 | A1 |
20020004915 | Fung | Jan 2002 | A1 |
20020007463 | Fung | Jan 2002 | A1 |
20020052914 | Zalewski et al. | May 2002 | A1 |
20020083149 | Van Huben et al. | Jun 2002 | A1 |
20020083243 | Van Huben et al. | Jun 2002 | A1 |
20020087811 | Khare et al. | Jul 2002 | A1 |
20020156888 | Lee et al. | Oct 2002 | A1 |
20020157035 | Wong et al. | Oct 2002 | A1 |
20020174168 | Beukema et al. | Nov 2002 | A1 |
20030149844 | Duncan et al. | Aug 2003 | A1 |
20030196047 | Kessler et al. | Oct 2003 | A1 |
20030212873 | Lee et al. | Nov 2003 | A1 |
20030225909 | Glasco et al. | Dec 2003 | A1 |
20030225938 | Glasco et al. | Dec 2003 | A1 |
20030233388 | Glasco et al. | Dec 2003 | A1 |
20040073755 | Webb et al. | Apr 2004 | A1 |
20040098475 | Zeitler et al. | May 2004 | A1 |
Number | Date | Country |
---|---|---|
0978781 | Feb 2000 | EP |
WO0239242 | May 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040098475 A1 | May 2004 | US |