This application is generally related to digital processing systems, and more specifically to digital processing systems having multiple processing nodes.
In configurable systems, it is typically desirable to be able to execute multiple tasks concurrently. If some or all of these tasks have timing constraints (for example, if “real-time” operation is desired), the configurability of the system may be limited. This can be explained with reference to typical methodologies used to implement real-time systems.
Early real-time systems were often “hand crafted” in order to meet stringent timing constraints. In particular, real-time tasks that were to be executed concurrently were analyzed to determine their detailed timing requirements. Then, a real-time operating system was “built around” these tasks such that their timing requirements were satisfied. Because such real-time systems are tied so closely with the underlying tasks, they are not easily modifiable or extendible. For example, attempting to modify a task or add an additional task to the system could require a complete re-design of the system.
In order to make such systems “configurable,” the possible configurations are typically first determined and fixed, and then the system is designed to accommodate the timing constraints of the various possible configurations. If it is desired to add a new configuration or feature, detailed knowledge of the entire system, including knowledge of tasks that might be executed at any particular time, is typically required in order to ensure that the system can execute tasks in “real-time” under the various configurations. Alternatively, the entire system might need to be re-designed. Thus, the design of the system, and that of individual tasks that are to be executed, is typically tightly controlled. This can make it difficult to add new configurations to a device, and/or to permit third-parties to develop configurations for the device.
A more flexible approach to real-time systems is often referred to as the “scheduled reservation model.” Under the scheduled reservation model, the processor is viewed as a quantifiable resource that can be reserved like physical memory or disk blocks. But if two tasks require processor resources simultaneously, then one of the tasks will have to wait until the other is finished. If this task must wait too long, then it may not be able to execute in “real-time.” Thus, the scheduled reservation model cannot guarantee real-time execution of all tasks.
The scheduled reservation model provides a more flexible approach to design of real-time systems. In particular, design of a task or tasks does not require detailed knowledge of the entire system and/or other tasks. Thus, unlike “hand-crafted” real-time systems, task design need not be tightly controlled, and new configurations and/or features can be developed by those (e.g., third parties, etc.) without detailed knowledge of the system or of other tasks that may run on the system. For example, new features could be developed for a configurable device without requiring any changes to the underlying system or with other tasks previously designed for the system. Further, such features could be developed by third-parties with limited knowledge of the underlying system and/or of other features. As discussed above, however, “real-time” operation might not be guaranteed.
Another approach to real-time systems is often referred to as the “fixed priority model.” Under the fixed priority model, each task is assigned a priority level by developers. During operation, tasks are executed strictly based on their priority level. For example, a task with a higher priority than that of an executing task can interrupt that task, whereas a task with a lower priority than that of the executing task must wait until the executing task finishes. As with the scheduled reservation model, the fixed priority model cannot guarantee real-time execution of tasks (except for the highest priority task).
As with the scheduled reservation model, the fixed priority model provides a more flexible approach to design of real-time systems. In particular, design of a task or tasks does not require detailed knowledge of the entire system and/or other tasks. It does, however, require some knowledge of its priority vis-à-vis other tasks that may be executed by the system. Thus, task design need not be tightly controlled, but does usually require some degree of coordination. Thus, similar to systems employing a scheduled reservation model, new features for could be developed for a configurable device without requiring significant changes to the underlying system or with other tasks previously designed for the system. It may, however, require a reconfiguration of priorities of tasks that can be implemented on the device. Additionally, such features could be developed by third-parties with limited knowledge of the underlying system and/or of other features. But, “real-time” operation cannot be guaranteed.
Configurable systems having multiple processing nodes generally exacerbate the above-mentioned shortcomings and introduce others. It is desirable to provide techniques for use in configurable systems having multiple processing nodes that improve upon one or more of the above-mentioned (or other) shortcomings in the prior art.
Task definitions are used by a task scheduler and prioritizer to allocate task operations to a plurality of processing units. The task definition is an electronic record that specifies resources needed by, and other characteristics of, a task to be executed. Resources include types of processing nodes desired to execute the task, needed amount or rate of processing cycles, amount of memory capacity, number of registers, input/output ports, buffer sizes, etc. Characteristics of a task include maximum latency time, frequency of execution of a task communication ports, and other characteristics.
An examplary task definition language and syntax is described that uses constructs including order of attempted scheduling operations, percentage or amount of resources desired by different operations, handling of multiple executable images or modules, overlays, port aliases and other features.
In one embodiment the invention provides a computer program product comprising a computer readable storage structure embodying computer readable code therein, the computer readable code comprising a task definition code that specifies requirements of a task adapted to be executed on a configurable device having a plurality of processing nodes, the task definition code including code that indicates processing node resources required by the task.
In another embodiment the invention provides a computer data signal embodied in a carrier wave, the computer data signal comprising a task definition code that specifies requirements of a task adapted to be executed on a configurable device having a plurality of processing nodes, the task definition code including code that indicates processing node resources required by the task.
In another embodiment the invention provides a configurable device comprising a plurality of processing nodes; a scheduler, coupled to the plurality of processing nodes, tha t assigns tasks to the processing nodes for execution; and a memory, coupled to the scheduler, the memory including a task definition code that specifies requirements of at least one task adapted to be executed by the configurable device, the task definition code having code that indicates processing node resources required by the task.
Overview
Embodiments according to the present invention provide techniques for defining tasks to be implemented on a configurable device. In some specific embodiments, the target device includes a plurality of processing nodes on which tasks can be executed. In these embodiments, processing nodes can include one or more of common types of processing resources such as general purpose processors, general purpose digital signal processors, special purpose processors, finite-state machines (FSMs), application—specific integrated circuits (ASICs), etc.
Associated with each of tasks 115a, 115b, 115c, 115d, is a corresponding task definition (120a, 120b, 120c, 120d, . . . ). As is described subsequently, task definitions 120a, 120b, 120c, 120d, . . . provide information about their associated tasks. Such information can include a type of processing node required (or merely desired) to execute the task, required (or desired) processing resources, other required (or desired) resources (e.g., memory, buffers, ports, etc.), information for communicating with the task, etc.
Scheduler 110 can use information provided by task definitions 120a, 120b, 120c, 120d, . . . in order to assign tasks 115a, 115b, 115c, 115d to processing nodes 105a, 105b, 105c, 105d, . . . for execution in an attempt to satisfy the requirements of the tasks spelled out in the task definitions.
U.S. patent application Ser. No. 10/189,791, to Paul L. Spoltore, et al., entitled “Method and System for Real-Time Multitasking,” filed Jul. 3, 2002 (hereinafter “Spoltore et al.”), which is herein incorporated by reference in its entirety for all purposes, describes techniques for assigning tasks to processing nodes for execution. In a specific embodiment, scheduler 110 can use one or more of the techniques described in Spoltore et al. to assign 115a, 115b, 115c, 115d to processing nodes 105a, 105b, 105c, 105d, . . . for execution.
A Configurable Device
Device 150 can be, for example, a consumer electronics device (or a component thereof) such as a cell phone, pager, personal digital assistant (PDA), global positioning system (GPS) receiver, etc. It should be apparent, however, that device 150 can be any type of device that can benefit from a processing engine.
Device 150 includes input/output (I/O) system 152 for providing data exchange with the external environment (illustrated at 170), connection to peripherals 174, and interaction with a human user via user interface 172. Data exchange includes exchanges with digital networks such as an internet, the Internet, an intranet, an extranet, communication infrastructures such as a telephone network, radio frequency exchanges as to wireless networks, etc. Any type of physical communication or data transfer network can be employed. Any type of protocol can be used to perform the communication.
User interface 172 allows a human user to operate the device, and to perform other functions. Typically, a user interface includes a display screen and manual controls such as buttons, a pointing device (e.g., a mouse, trackball, touchpad, etc.), knobs, switches, and other types of controls. Additional output devices can include speakers, force feedback, etc. Peripherals 174 include storage devices such as disk drives, input/output devices such as keyboards, monitors, etc.
I/O system 152 can be in communication with different systems in device 150. For example,
Task definition store 154 is used to store programs, adaptation or configuration information, or other information used to control or manage the processing or functioning of device 150. In one embodiment, adaptation information is used to define tasks that are executed by systems within device 150 to achieve functionality. For example, one or more tasks might allow device 150 to communicate using time-division multiplexed access (TDMA) with a cellular phone network. One or more other tasks could provide a user with a phone directory including an interface for creating, modifying, organizing, searching, etc., the directory. Yet other tasks can implement a time-of-day clock, Internet web browsing, GPS position indication, calculator, email interface, etc. In general, any type of functionality can be implemented by a task. Combinations of functionality can be provided by one or more tasks. Further, a task may implement only a portion of a feature, function, or other process or functionality.
Scheduler 156 causes tasks, or portions of tasks, from task definition store 154 to be executed. Scheduler 156 can, optionally, use information provided by prioritizer 158 in determining how to specify the use of resources 160 to be used to execute a task. For example, scheduler 156 can assign all resources to a task that has been given a high priority by prioritizer 158. Conversely, scheduler 156 may reduce resources allocated to a task, or suspend execution of a task, if the task has a low priority.
Resources 160 include storage 162 and processing resources 164. Storage 162 can be, for example, system memory in the form of random-access memory (RAM), or other forms of storage. Storage 162 can be distributed throughout the processing elements, it can be centralized, or it can be a combination of centralized and distributed storage. Processing resources 164 can include one or more of common types of processing resources such as general purpose processors, FSMs, ASICs, etc. In one embodiment, processing resources 164 include multiple processing nodes 168 according to the adaptive computing engine (“ACE”)architecture as described in U.S. patent application Ser. No. 09/815,122, entitled “Adaptive Integrated Circuitry With Heterogeneous And Reconfigurable Matrices Of Diverse And Adaptive Computational Units Having Fixed, Application Specific Computational Elements,” filed Mar. 22, 2001 (“Masters”). In this embodiment, each node 168 can be of a specific type, such as math, bit/logical, FSM, reduced-instruction set computing (RISC), etc. In this embodiment, nodes are interconnected and may have associated resources, such as memory. A detailed description of the ACE architecture is provided in Masters, which is herein incorporated by reference in its entirety for all purposes. In other embodiments, all of the nodes may be general purpose or of one type.
Task Definition
Embodiments of task definitions according to the present invention will now be described. In these embodiments, a task is comprised of one or more modules, and the requirements of each module can be specified in the task definition. It is to be understood, however, that it is not a requirement that tasks be defined in terms of modules. This is merely an example of one implementation, and one skilled in the art will recognize many modifications, equivalents, and alternatives. For example, in other embodiments, a task may not be specified in terms of modules that make up the task. In still other embodiments, a task may comprise one or more modules, where each module may in turn be comprised of one or more sub-modules. In these embodiments, a task may be specified in terms of sub-modules.
Referring to
As described above, task definitions are associated with the tasks of which they provide information. In some embodiments, task definition may include a link, pointer, etc., to the task to which it is associated, or a location of the task in a memory, etc. In other embodiments, the task definition may be included with the task itself. For example, a task definition may be within a same file as the task itself, appended to the file, etc.
The type of information provided by task definitions will now be described. Some of this information can be used, for example, by scheduler 110 of
A. Processing Node Resources
In some embodiments, a task definition may specify resources of a processing node that are required (or desired) by the associated task. The resources could be specified, for example, in terms of a percentage of the processing node's processing power. Examples of source code for specifying processing node resources is provided subsequently.
The time between when a task can begin to execute (e.g., when data becomes available, a trigger occurs, etc.) and when the task actually begins to execute will be referred to herein as “latency.” For some tasks, it may be desired that the latency not exceed (or only occasionally exceed) some maximum amount (herein referred to as the “maximum allowable latency”). Thus, in some embodiments, specifying resource requirements of a task can include specifying a maximum allowable latency. A maximum allowable latency could be specified, for example, in units of time, clock cycles, etc.
In some embodiments, specifying resource requirements of a task can include specifying a minimum amount of time required to execute the task. Time required could be specified, for example, in units of time, clock cycles, etc.
In some embodiments, specifying resource requirements of a task can include specifying a minimum frequency of execution of the task. The frequency of execution could be specified, for example, in units of time (period), clock cycles (period), hertz (frequency), etc.
Spoltore et al. describes various types of resource requirements that, in some embodiments, can be included in task definitions.
B. Processing Node Type
In some embodiments in which a device on which the task can be executed includes processing nodes of different types, a task definition may specify the type of a processing node required (or desired) by the associated task. For example, as described with respect to
In some embodiments, a preferred choice of processing node type can be specified, as well as one or more back-up choices. In these embodiments, if the preferred type of processing node is unavailable, the task can be assigned to a processing node of one of the back-up choice types.
C. Other Resources
In some embodiments, a task definition may specify other types of required (or desired) resources. For example, a task definition may specify memory requirements, such as a minimum amount of memory, a maximum amount of memory, a type of memory, etc. Also for example, a task definition may specify input/output (I/O) requirements such as buffer requirements, I/O port requirements, etc. In some embodiments, I/O requirements can be specified, for example, in terms of a minimum buffer size, a maximum buffer size, a minimum throughput, a maximum throughput, a type of input, output, or I/O port, a specific input, output, or I/O port, etc. Examples of source code for specifying requirements of buffers will be described subsequently.
D. Port Aliases
In some embodiments, a task definition can include port aliases used for communicating between tasks, within a task, between a task and the operating system, etc. Ports can be, for example, I/O ports, registers, memories, sections of memories, etc., used for providing information to, or receiving information from, tasks. For instance, a task definition can include global alias names of ports for communicating with the task. Examples of source code for specifying port aliases will be described subsequently.
E. Task Loading
In some embodiments, a task definition can include requirements for loading the task. For example, a task definition can specify whether the task should be loaded for execution on a particular node, or within a particular group of nodes. Additionally, in some embodiments, a task definition can specify whether a task should be loaded for execution on a node on which another particular task or tasks is loaded for execution, or near a node or nodes on which another particular task or tasks is loaded for execution.
As described above, in some embodiments a task may comprise one or more modules. In these embodiments, a task definition can specify requirements relating to the node or nodes on which the modules should be loaded for execution. For instance, a task definition can specify that a particular module be loaded on a particular node or within a group of nodes. Also, a task definition can specify that two or more particular modules be loaded on a same node, or within one group of nodes. Similarly, a task definition can specify that two or more particular modules be loaded on different nodes, or on different groups of nodes. In some embodiments, a task definition can specify loading requirements for some modules while not specifying such requirements for other modules.
Examples of source code for implementing task definitions will now be described. It is to be understood that these examples are merely illustrative and are not limiting.
A. Module Definition
In some embodiments in which a task can comprise one or more modules, a task definition includes a module definition section. An example of source code included within a module definition section is provided below. In this example, a module definition section begins with a name indicating the module to be defined, followed by parentheses and brackets:
In the above example, a filename of an executable image of the module and an entry point within the file are specified within the parentheses. In particular, the filename of an executable images is “modSample.mlf” located in the directory “m_node_files.” Additionally, the entry point is “modSample_EntryPoint.” Within the brackets, other requirements of the module can be specified required, as will be described subsequently.
In some embodiments, multiple file names can be specified, corresponding to alternative executable images of the module. For example, if different types of nodes require different formats, different code, etc., then one or more alternative executable images can be specified in case a particular node type is unavailable, for example, because the device on which the module is to be executed does not include it, because all nodes of this type have already been reserved by other modules, etc. In the following example, it is assumed that a device on which the module could be loaded might include two types of processing nodes: m-type nodes and a-type nodes. A required (or desired) type of node for a particular node can be specified by the filename extension of the executable image of the module. In this particular example, a “.mlf” extension indicates, for example, to an operating system, to a scheduler, etc., that the module should be loaded to an m-type node, whereas a “.alf” extension indicates that the module should be loaded to an a-type node:
In the above example, the task definition specifies that the operating system, scheduler, etc., should first attempt to load the file named “modSample.mlf” to an m-type node (or, alternatively, to a node that supports an m-type format). If there is no such processing node available, then it should be attempted to load the file named “modSample.alf” to an appropriate processing node.
In some embodiments, multiple instances of a module can be loaded and executed. An example of source code included within a module definition section that defines multiple images of a module is provided below. In this example, two instances are defined which reference the same executable image “modSample.mlf”:
B. Module Resources Definition
The source code examples below illustrate one specific embodiment of a task definition that specifies node resources for a module. A keyword “cpu” followed by a number between 0 and 100 (inclusive) is used to specify a percentage of required processing resources of a node. In the following example, required processing node resources for the module whose executable image is included in the file “modSample.mlf” are specified. In particular, this module requires 25% of the processing node's processing power:
The granularity of the number specifying processing power can vary with different implementations, different devices on which the module is to be executed, different types of processing nodes, etc. For example, the granularity can be in units of 1, 5, 10, 25, etc. If desired, a smaller granularity can also be used.
If multiple executable images of a module are defined, required processing resources can be specified as the same for both images, or specified individually. In the following example, required processing resources for two executable images of a module (“m_node_files/modSample.mlf” and “a_node_files/modSample.alf”) are specified as having the same resource requirement:
In the following example, required processing resources for two executable images of a module (“m_node_files/modSample.mlf” and “a_node_files/modSample.alf”) are specified as having the different resource requirement:
C. Module Overlay Definition
In some embodiments, use of overlays is permitted. A source code example of a task definition that specifies overlay requirements is provided below. In this example, the keyword “overlays” is used followed by parentheses and brackets. The parentheses can be used to specify a particular executable image of a module. If only one executable image has been defined, or if the overlays are the same for the different executable images, the parentheses can be left empty. Within the brackets, the entry points and files of one or more overlays can be specified:
In the above example, three overlays are defined. This information can be used, for example, to ensure that enough memory is reserved for the module when it is loaded. For instance, in the above example, an operating system could reserve an amount of memory greater than or equal to the size of the executable image “modSample.mlf” plus the size of the largest of the three overlay files.
D. Port Aliases
In some embodiments, a task definition includes a port alias section. An example of source code that illustrates port aliases is provided below. In this example, a alias section is followed by a module definition section:
In the above example, two global aliases are defined: “inBuf_public” and “outBuf_public.” These aliases identify ports that can be used to communicate with the module “modSample.” The “0” following each of these port aliases specify that the ports requirements are default values. Source code examples of specifying requirments of ports will be described subsequently.
Within the module definition section, the global alias names are linked to internal port names of the module: “inBuf_private” and “outBuf_private.” This can be useful, for example, when multiple instances of the same module are to be loaded. And example of using port aliases with multiple module instances is provided below:
In the above example, two instances of the same module are to be loaded, and three global aliases are defined. The private aliases of the two module instances are linked with the public aliases such that the ports will be interfaced as shown in
E. Port Resource Definition
As described above, in some embodiments, a task definition may specify input/output (I/O) requirements such as buffer requirements, I/O port requirements, etc. Examples of source code for specifying requirements of buffers are provided below. In the following example, requirements of two ports are specified:
In the above example, the port “inBuf_public” is specified to include 512 words of memory. The port “outBuf_public” is specified to include 256 words of memory, comprised of 4 separate buffers, each having 64 words. Additionally, the port “outBuf_public” is specified to be capable of handling a sustained data rate of at least 2046 kilobits of data per second. Any appropriate word size can be used depending upon the particular implementation (e.g., 8-bits, 16-bits, 32-bits, etc.). Additionally, port requirements need not be specified in terms of words. For example, port requirements could be specified in terms of bits, fixed-size blocks of words, etc. Similarly, a particular representation of a specified data rate is not required. In the following example, three ports are defined, each specifying an equivalent minimum data rate using different representations:
F. Module Loading
As described above, in some embodiments, a task definition can specify requirements for loading the task. A source code example is provided below that specifies loading requirements for a plurality of modules that comprise a task. In a specific embodiment, the tasks are to be loaded on a device that includes a group of processing nodes referred to as “ACM.” Additionally, within the “ACM” processing nodes are organized into groups of four nodes, referred to as “quads.” In the example below, loading requirements of 5 different modules (“modSample1,” “modSample2,” “modSample3,” “modSample4,” “modSample5”) are specified:
In the above example, because modules “modSample1,” “modSample2,” “modSample3,” “modSample4,” and “modSample5” are included within the “ACM” brackets, these modules should be loaded onto the ACM group of processing nodes. Additionally, because module “modSample1” is not included within “Quad” or “Node” keyword brackets, then this module can be loaded on any “Quad” or “Node” in the “ACM” group, and without regard to any of the other modules.
Modules “modSample2,” “modSample3,” “modSample4” and “modSample5” are included within brackets of a “Quad” keyword. This specifies that “modSample2,” “modSample3,” “modSample4,” and “modSample5” should be loaded on the same “Quad.” Module “modSample2” is not included within “Node” keyword brackets. This specifies that this module can be loaded on any “Node” in the “Quad,” and without regard to any of the other modules. Modules “modSample3” and “modSample4” are included within one set of “Node” keyword brackets, and module “modSample5” is included within another set of “Node” keyword brackets. This specifies that modules “modSample3” and “modSample4” should be loaded on the same processing node, and that module “modSample5” should be loaded on a different processing node than that of modules “modSample3” and “modSample4.”
G. Example of a Task Definition
An example of a task definition is provided below. This example includes three sections: a “Port Aliases” section, a “Module Definition” section, and a “Module Loading” section:
While the above is a full description of the specific embodiments, various modifications, alternative constructions, and equivalents may be used. Therefore, the above description and illustrations should not be taken as limiting the scope of the present invention which is defined by the appended claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 3409175 | Byrne | Nov 1968 | A |
| 3666143 | Weston | May 1972 | A |
| 3938639 | Birrell | Feb 1976 | A |
| 3949903 | Benasutti et al. | Apr 1976 | A |
| 3960298 | Birrell | Jun 1976 | A |
| 3967062 | Dobias | Jun 1976 | A |
| 3991911 | Shannon et al. | Nov 1976 | A |
| 3995441 | McMillin | Dec 1976 | A |
| 4076145 | Zygiel | Feb 1978 | A |
| 4143793 | McMillin et al. | Mar 1979 | A |
| 4172669 | Edelbach | Oct 1979 | A |
| 4174872 | Fessler | Nov 1979 | A |
| 4181242 | Zygiel et al. | Jan 1980 | A |
| RE30301 | Zygiel | Jun 1980 | E |
| 4218014 | Tracy | Aug 1980 | A |
| 4222972 | Caldwell | Sep 1980 | A |
| 4237536 | Enelow et al. | Dec 1980 | A |
| 4252253 | Shannon | Feb 1981 | A |
| 4302775 | Widergren et al. | Nov 1981 | A |
| 4333587 | Fessler et al. | Jun 1982 | A |
| 4354613 | Desai et al. | Oct 1982 | A |
| 4377246 | McMillin et al. | Mar 1983 | A |
| 4380046 | Fung | Apr 1983 | A |
| 4393468 | New | Jul 1983 | A |
| 4413752 | McMillin et al. | Nov 1983 | A |
| 4458584 | Annese et al. | Jul 1984 | A |
| 4466342 | Basile et al. | Aug 1984 | A |
| 4475448 | Shoaf et al. | Oct 1984 | A |
| 4509690 | Austin et al. | Apr 1985 | A |
| 4520950 | Jeans | Jun 1985 | A |
| 4549675 | Austin | Oct 1985 | A |
| 4553573 | McGarrah | Nov 1985 | A |
| 4560089 | McMillin et al. | Dec 1985 | A |
| 4577782 | Fessler | Mar 1986 | A |
| 4578799 | Scholl et al. | Mar 1986 | A |
| RE32179 | Sedam et al. | Jun 1986 | E |
| 4633386 | Terepin et al. | Dec 1986 | A |
| 4649512 | Nukiyama | Mar 1987 | A |
| 4658988 | Hassell | Apr 1987 | A |
| 4694416 | Wheeler et al. | Sep 1987 | A |
| 4711374 | Gaunt et al. | Dec 1987 | A |
| 4713755 | Worley, Jr. et al. | Dec 1987 | A |
| 4719056 | Scott | Jan 1988 | A |
| 4726494 | Scott | Feb 1988 | A |
| 4747516 | Baker | May 1988 | A |
| 4748585 | Chiarulli et al. | May 1988 | A |
| 4758985 | Carter | Jul 1988 | A |
| 4760525 | Webb | Jul 1988 | A |
| 4760544 | Lamb | Jul 1988 | A |
| 4765513 | McMillin et al. | Aug 1988 | A |
| 4766548 | Cedrone et al. | Aug 1988 | A |
| 4781309 | Vogel | Nov 1988 | A |
| 4800492 | Johnson et al. | Jan 1989 | A |
| 4811214 | Nosenchuck et al. | Mar 1989 | A |
| 4824075 | Holzboog | Apr 1989 | A |
| 4827426 | Patton et al. | May 1989 | A |
| 4850269 | Hancock et al. | Jul 1989 | A |
| 4856684 | Gerstung | Aug 1989 | A |
| 4870302 | Freeman | Sep 1989 | A |
| 4901887 | Burton | Feb 1990 | A |
| 4905231 | Leung et al. | Feb 1990 | A |
| 4921315 | Metcalfe et al. | May 1990 | A |
| 4930666 | Rudick | Jun 1990 | A |
| 4932564 | Austin et al. | Jun 1990 | A |
| 4936488 | Austin | Jun 1990 | A |
| 4937019 | Scott | Jun 1990 | A |
| 4960261 | Scott et al. | Oct 1990 | A |
| 4961533 | Teller et al. | Oct 1990 | A |
| 4967340 | Dawes | Oct 1990 | A |
| 4974643 | Bennett et al. | Dec 1990 | A |
| 4982876 | Scott | Jan 1991 | A |
| 4993604 | Gaunt et al. | Feb 1991 | A |
| 5007560 | Sassak | Apr 1991 | A |
| 5021947 | Campbell et al. | Jun 1991 | A |
| 5040106 | Maag | Aug 1991 | A |
| 5044171 | Farkas | Sep 1991 | A |
| 5090015 | Dabbish et al. | Feb 1992 | A |
| 5099418 | Pian et al. | Mar 1992 | A |
| 5129549 | Austin | Jul 1992 | A |
| 5139708 | Scott | Aug 1992 | A |
| 5144166 | Camarota et al. | Sep 1992 | A |
| 5156301 | Hassell et al. | Oct 1992 | A |
| 5156871 | Goulet et al. | Oct 1992 | A |
| 5165023 | Gifford | Nov 1992 | A |
| 5165575 | Scott | Nov 1992 | A |
| 5190083 | Gupta et al. | Mar 1993 | A |
| 5190189 | Zimmer et al. | Mar 1993 | A |
| 5193151 | Jain | Mar 1993 | A |
| 5193718 | Hassell et al. | Mar 1993 | A |
| 5202993 | Tarsy et al. | Apr 1993 | A |
| 5203474 | Haynes | Apr 1993 | A |
| 5218240 | Camarota et al. | Jun 1993 | A |
| 5240144 | Feldman | Aug 1993 | A |
| 5245227 | Furtek et al. | Sep 1993 | A |
| 5261099 | Bigo et al. | Nov 1993 | A |
| 5263509 | Cherry et al. | Nov 1993 | A |
| 5269442 | Vogel | Dec 1993 | A |
| 5280711 | Motta et al. | Jan 1994 | A |
| 5297400 | Benton et al. | Mar 1994 | A |
| 5301100 | Wagner | Apr 1994 | A |
| 5303846 | Shannon | Apr 1994 | A |
| 5325525 | Shan et al. | Jun 1994 | A |
| 5335276 | Thompson et al. | Aug 1994 | A |
| 5336950 | Popli et al. | Aug 1994 | A |
| 5339428 | Burmeister et al. | Aug 1994 | A |
| 5343716 | Swanson et al. | Sep 1994 | A |
| 5361362 | Benkeser et al. | Nov 1994 | A |
| 5367651 | Smith et al. | Nov 1994 | A |
| 5367687 | Tarsy et al. | Nov 1994 | A |
| 5368198 | Goulet | Nov 1994 | A |
| 5379343 | Grube et al. | Jan 1995 | A |
| 5381546 | Servi et al. | Jan 1995 | A |
| 5381550 | Jourdenais et al. | Jan 1995 | A |
| 5388062 | Knutson | Feb 1995 | A |
| 5388212 | Grube et al. | Feb 1995 | A |
| 5392960 | Kendt et al. | Feb 1995 | A |
| 5428754 | Baldwin | Jun 1995 | A |
| 5437395 | Bull et al. | Aug 1995 | A |
| 5450557 | Kopp et al. | Sep 1995 | A |
| 5454406 | Rejret et al. | Oct 1995 | A |
| 5465368 | Davidson et al. | Nov 1995 | A |
| 5475856 | Kogge | Dec 1995 | A |
| 5479055 | Eccles | Dec 1995 | A |
| 5490165 | Blakeney, II et al. | Feb 1996 | A |
| 5491823 | Ruttenberg | Feb 1996 | A |
| 5504891 | Motoyama et al. | Apr 1996 | A |
| 5507009 | Grube et al. | Apr 1996 | A |
| 5515519 | Yoshioka et al. | May 1996 | A |
| 5517600 | Shimokawa | May 1996 | A |
| 5519694 | Brewer et al. | May 1996 | A |
| 5522070 | Sumimoto | May 1996 | A |
| 5530964 | Alpert et al. | Jun 1996 | A |
| 5534796 | Edwards | Jul 1996 | A |
| 5542265 | Rutland | Aug 1996 | A |
| 5553755 | Bonewald et al. | Sep 1996 | A |
| 5555417 | Odnert et al. | Sep 1996 | A |
| 5560028 | Sachs et al. | Sep 1996 | A |
| 5560038 | Haddock | Sep 1996 | A |
| 5570587 | Kim | Nov 1996 | A |
| 5572572 | Kawan et al. | Nov 1996 | A |
| 5590353 | Sakakibara et al. | Dec 1996 | A |
| 5594657 | Cantone et al. | Jan 1997 | A |
| 5600810 | Ohkami | Feb 1997 | A |
| 5600844 | Shaw et al. | Feb 1997 | A |
| 5602833 | Zehavi | Feb 1997 | A |
| 5603043 | Taylor et al. | Feb 1997 | A |
| 5607083 | Vogel et al. | Mar 1997 | A |
| 5608643 | Wichter et al. | Mar 1997 | A |
| 5611867 | Cooper et al. | Mar 1997 | A |
| 5619695 | Arbabi et al. | Apr 1997 | A |
| 5623545 | Childs et al. | Apr 1997 | A |
| 5625669 | McGregor et al. | Apr 1997 | A |
| 5626407 | Westcott | May 1997 | A |
| 5630206 | Urban et al. | May 1997 | A |
| 5635940 | Hickman et al. | Jun 1997 | A |
| 5646544 | Iadanza | Jul 1997 | A |
| 5646545 | Trimberger et al. | Jul 1997 | A |
| 5647512 | Assis Mascarenhas de Oliveira et al. | Jul 1997 | A |
| 5667110 | McCann et al. | Sep 1997 | A |
| 5684793 | Kiema et al. | Nov 1997 | A |
| 5684980 | Casselman | Nov 1997 | A |
| 5687236 | Moskowitz et al. | Nov 1997 | A |
| 5694613 | Suzuki | Dec 1997 | A |
| 5694794 | Jerg et al. | Dec 1997 | A |
| 5699328 | Ishizaki et al. | Dec 1997 | A |
| 5701398 | Glier et al. | Dec 1997 | A |
| 5701482 | Harrison et al. | Dec 1997 | A |
| 5704053 | Santhanam | Dec 1997 | A |
| 5706191 | Bassett et al. | Jan 1998 | A |
| 5706976 | Purkey | Jan 1998 | A |
| 5712996 | Schepers | Jan 1998 | A |
| 5720002 | Wang | Feb 1998 | A |
| 5721693 | Song | Feb 1998 | A |
| 5721854 | Ebcioglu et al. | Feb 1998 | A |
| 5729754 | Estes | Mar 1998 | A |
| 5732563 | Bethuy et al. | Mar 1998 | A |
| 5734808 | Takeda | Mar 1998 | A |
| 5737631 | Trimberger | Apr 1998 | A |
| 5742180 | DeHon et al. | Apr 1998 | A |
| 5742821 | Prasanna | Apr 1998 | A |
| 5745366 | Highma et al. | Apr 1998 | A |
| RE35780 | Hassell et al. | May 1998 | E |
| 5751295 | Becklund et al. | May 1998 | A |
| 5754227 | Fukuoka | May 1998 | A |
| 5758261 | Wiedeman | May 1998 | A |
| 5768561 | Wise | Jun 1998 | A |
| 5771362 | Bartkowiak et al. | Jun 1998 | A |
| 5778439 | Trimberger et al. | Jul 1998 | A |
| 5784636 | Rupp | Jul 1998 | A |
| 5784699 | McMahon et al. | Jul 1998 | A |
| 5787237 | Reilly | Jul 1998 | A |
| 5790817 | Asghar et al. | Aug 1998 | A |
| 5791517 | Avital | Aug 1998 | A |
| 5791523 | Oh | Aug 1998 | A |
| 5794062 | Baxter | Aug 1998 | A |
| 5794067 | Kadowaki | Aug 1998 | A |
| 5802055 | Krein et al. | Sep 1998 | A |
| 5802278 | Isfeld et al. | Sep 1998 | A |
| 5812851 | Levy et al. | Sep 1998 | A |
| 5818603 | Motoyama | Oct 1998 | A |
| 5819255 | Celis et al. | Oct 1998 | A |
| 5822308 | Weigand et al. | Oct 1998 | A |
| 5822313 | Malek et al. | Oct 1998 | A |
| 5822360 | Lee et al. | Oct 1998 | A |
| 5828858 | Athanas et al. | Oct 1998 | A |
| 5829085 | Jerg et al. | Nov 1998 | A |
| 5835753 | Witt | Nov 1998 | A |
| 5838165 | Chatter | Nov 1998 | A |
| 5838894 | Horst | Nov 1998 | A |
| 5845815 | Vogel | Dec 1998 | A |
| 5854929 | Van Pract et al. | Dec 1998 | A |
| 5860021 | Klingman | Jan 1999 | A |
| 5862961 | Motta et al. | Jan 1999 | A |
| 5870427 | Teidemann, Jr. et al. | Feb 1999 | A |
| 5873045 | Lee et al. | Feb 1999 | A |
| 5881106 | Cartier | Mar 1999 | A |
| 5884284 | Peters et al. | Mar 1999 | A |
| 5886537 | Macias et al. | Mar 1999 | A |
| 5887174 | Simons et al. | Mar 1999 | A |
| 5889816 | Agrawal et al. | Mar 1999 | A |
| 5889989 | Robertazzi et al. | Mar 1999 | A |
| 5890014 | Long | Mar 1999 | A |
| 5892900 | Ginter et al. | Apr 1999 | A |
| 5892950 | Rigori et al. | Apr 1999 | A |
| 5892961 | Trimberger | Apr 1999 | A |
| 5892962 | Cloutier | Apr 1999 | A |
| 5894473 | Dent | Apr 1999 | A |
| 5901884 | Goulet et al. | May 1999 | A |
| 5903886 | Heimlich et al. | May 1999 | A |
| 5907285 | Toms et al. | May 1999 | A |
| 5907580 | Cummings | May 1999 | A |
| 5910733 | Bertolet et al. | Jun 1999 | A |
| 5912572 | Graf, III | Jun 1999 | A |
| 5913172 | McCabe et al. | Jun 1999 | A |
| 5917852 | Butterfield et al. | Jun 1999 | A |
| 5920801 | Thomas et al. | Jul 1999 | A |
| 5931918 | Row et al. | Aug 1999 | A |
| 5933642 | Greenbaum et al. | Aug 1999 | A |
| 5940438 | Poon et al. | Aug 1999 | A |
| 5940612 | Brady et al. | Aug 1999 | A |
| 5949415 | Lin et al. | Sep 1999 | A |
| 5950011 | Albrecht et al. | Sep 1999 | A |
| 5950131 | Vilmur | Sep 1999 | A |
| 5951674 | Moreno | Sep 1999 | A |
| 5953322 | Kimball | Sep 1999 | A |
| 5956518 | DeHon et al. | Sep 1999 | A |
| 5956967 | Kim | Sep 1999 | A |
| 5959811 | Richardson | Sep 1999 | A |
| 5959881 | Trimberger et al. | Sep 1999 | A |
| 5963048 | Harrison et al. | Oct 1999 | A |
| 5966534 | Cooke et al. | Oct 1999 | A |
| 5970254 | Cooke et al. | Oct 1999 | A |
| 5987105 | Jenkins et al. | Nov 1999 | A |
| 5987611 | Freund | Nov 1999 | A |
| 5991302 | Berl et al. | Nov 1999 | A |
| 5991308 | Fuhrmann et al. | Nov 1999 | A |
| 5993739 | Lyon | Nov 1999 | A |
| 5999734 | Willis et al. | Dec 1999 | A |
| 6005943 | Cohen et al. | Dec 1999 | A |
| 6006249 | Leong | Dec 1999 | A |
| 6016395 | Mohamed | Jan 2000 | A |
| 6018783 | Chiang | Jan 2000 | A |
| 6021186 | Suzuki et al. | Feb 2000 | A |
| 6021492 | May | Feb 2000 | A |
| 6023742 | Ebeling et al. | Feb 2000 | A |
| 6023755 | Casselman | Feb 2000 | A |
| 6028610 | Deering | Feb 2000 | A |
| 6036166 | Olson | Mar 2000 | A |
| 6039219 | Bach et al. | Mar 2000 | A |
| 6041322 | Meng et al. | Mar 2000 | A |
| 6041970 | Vogel | Mar 2000 | A |
| 6046603 | New | Apr 2000 | A |
| 6047115 | Mohan et al. | Apr 2000 | A |
| 6052600 | Fette et al. | Apr 2000 | A |
| 6055314 | Spies et al. | Apr 2000 | A |
| 6056194 | Kolls | May 2000 | A |
| 6059840 | Click, Jr. | May 2000 | A |
| 6061580 | Altschul et al. | May 2000 | A |
| 6073132 | Gehman | Jun 2000 | A |
| 6076174 | Freund | Jun 2000 | A |
| 6078736 | Guccione | Jun 2000 | A |
| 6085740 | Ivri et al. | Jul 2000 | A |
| 6088043 | Kelleher et al. | Jul 2000 | A |
| 6091263 | New et al. | Jul 2000 | A |
| 6091765 | Pietzold, III et al. | Jul 2000 | A |
| 6092095 | Maytal | Jul 2000 | A |
| 6094065 | Tavana et al. | Jul 2000 | A |
| 6094726 | Gonion et al. | Jul 2000 | A |
| 6111893 | Volftsun et al. | Aug 2000 | A |
| 6111935 | Hughes-Hartogs | Aug 2000 | A |
| 6115751 | Tam et al. | Sep 2000 | A |
| 6119178 | Martin et al. | Sep 2000 | A |
| 6120551 | Law et al. | Sep 2000 | A |
| 6122670 | Bennett et al. | Sep 2000 | A |
| 6128307 | Brown | Oct 2000 | A |
| 6134605 | Hudson et al. | Oct 2000 | A |
| 6134629 | L'Ecuyer | Oct 2000 | A |
| 6138693 | Matz | Oct 2000 | A |
| 6141283 | Bogin et al. | Oct 2000 | A |
| 6150838 | Wittig et al. | Nov 2000 | A |
| 6154492 | Araki et al. | Nov 2000 | A |
| 6154494 | Sugahara et al. | Nov 2000 | A |
| 6157997 | Oowaki et al. | Dec 2000 | A |
| 6158031 | Mack et al. | Dec 2000 | A |
| 6173389 | Pechanek et al. | Jan 2001 | B1 |
| 6175854 | Bretscher | Jan 2001 | B1 |
| 6175892 | Sazzad et al. | Jan 2001 | B1 |
| 6181981 | Varga et al. | Jan 2001 | B1 |
| 6185418 | MacLellan et al. | Feb 2001 | B1 |
| 6192070 | Poon et al. | Feb 2001 | B1 |
| 6192255 | Lewis et al. | Feb 2001 | B1 |
| 6192388 | Cajolet | Feb 2001 | B1 |
| 6195788 | Leaver et al. | Feb 2001 | B1 |
| 6198924 | Ishii et al. | Mar 2001 | B1 |
| 6199181 | Rechef et al. | Mar 2001 | B1 |
| 6202130 | Scales, III et al. | Mar 2001 | B1 |
| 6202189 | Hinedi et al. | Mar 2001 | B1 |
| 6219697 | Lawande et al. | Apr 2001 | B1 |
| 6219756 | Kasamizugami | Apr 2001 | B1 |
| 6219780 | Lipasti | Apr 2001 | B1 |
| 6223222 | Fijolek et al. | Apr 2001 | B1 |
| 6226387 | Tewfik et al. | May 2001 | B1 |
| 6230307 | Davis et al. | May 2001 | B1 |
| 6237029 | Master et al. | May 2001 | B1 |
| 6246883 | Lee | Jun 2001 | B1 |
| 6247125 | Noel-Baron et al. | Jun 2001 | B1 |
| 6249251 | Chang et al. | Jun 2001 | B1 |
| 6258725 | Lee et al. | Jul 2001 | B1 |
| 6263057 | Silverman | Jul 2001 | B1 |
| 6266760 | DeHon et al. | Jul 2001 | B1 |
| 6272579 | Lentz et al. | Aug 2001 | B1 |
| 6272616 | Fernando et al. | Aug 2001 | B1 |
| 6281703 | Furuta et al. | Aug 2001 | B1 |
| 6282627 | Wong et al. | Aug 2001 | B1 |
| 6286134 | Click, Jr. et al. | Sep 2001 | B1 |
| 6289375 | Knight et al. | Sep 2001 | B1 |
| 6289434 | Roy | Sep 2001 | B1 |
| 6289488 | Dave et al. | Sep 2001 | B1 |
| 6292822 | Hardwick | Sep 2001 | B1 |
| 6292827 | Raz | Sep 2001 | B1 |
| 6292830 | Taylor et al. | Sep 2001 | B1 |
| 6292938 | Sarkar et al. | Sep 2001 | B1 |
| 6301653 | Mohamed et al. | Oct 2001 | B1 |
| 6304953 | Henstrom et al. | Oct 2001 | B1 |
| 6305014 | Roediger et al. | Oct 2001 | B1 |
| 6311149 | Ryan et al. | Oct 2001 | B1 |
| 6321985 | Kolls | Nov 2001 | B1 |
| 6326806 | Fallside et al. | Dec 2001 | B1 |
| 6346824 | New | Feb 2002 | B1 |
| 6347346 | Taylor | Feb 2002 | B1 |
| 6349394 | Brock et al. | Feb 2002 | B1 |
| 6353841 | Marshall et al. | Mar 2002 | B1 |
| 6356994 | Barry et al. | Mar 2002 | B1 |
| 6359248 | Mardi | Mar 2002 | B1 |
| 6360256 | Lim | Mar 2002 | B1 |
| 6360259 | Bradley | Mar 2002 | B1 |
| 6360263 | Kurtzberg et al. | Mar 2002 | B1 |
| 6363411 | Dugan et al. | Mar 2002 | B1 |
| 6366999 | Drabenstott et al. | Apr 2002 | B1 |
| 6377983 | Cohen et al. | Apr 2002 | B1 |
| 6378072 | Collins et al. | Apr 2002 | B1 |
| 6381293 | Lee et al. | Apr 2002 | B1 |
| 6381735 | Hunt | Apr 2002 | B1 |
| 6385751 | Wolf | May 2002 | B1 |
| 6405214 | Meade, II | Jun 2002 | B1 |
| 6408039 | Ito | Jun 2002 | B1 |
| 6410941 | Taylor et al. | Jun 2002 | B1 |
| 6411612 | Halford et al. | Jun 2002 | B1 |
| 6421372 | Bierly et al. | Jul 2002 | B1 |
| 6421809 | Wuytack et al. | Jul 2002 | B1 |
| 6426649 | Fu et al. | Jul 2002 | B1 |
| 6430624 | Jamtgaard et al. | Aug 2002 | B1 |
| 6433578 | Wasson | Aug 2002 | B1 |
| 6434590 | Blelloch et al. | Aug 2002 | B1 |
| 6438573 | Nilsen | Aug 2002 | B1 |
| 6438737 | Morelli et al. | Aug 2002 | B1 |
| 6446258 | McKinsey et al. | Sep 2002 | B1 |
| 6449747 | Wuytack et al. | Sep 2002 | B2 |
| 6456996 | Crawford, Jr. et al. | Sep 2002 | B1 |
| 6459883 | Subramanian et al. | Oct 2002 | B2 |
| 6467009 | Winegarden et al. | Oct 2002 | B1 |
| 6469540 | Nakaya | Oct 2002 | B2 |
| 6473609 | Schwartz et al. | Oct 2002 | B1 |
| 6483343 | Faith et al. | Nov 2002 | B1 |
| 6507947 | Schreiber et al. | Jan 2003 | B1 |
| 6510138 | Pannell | Jan 2003 | B1 |
| 6510510 | Garde | Jan 2003 | B1 |
| 6526570 | Click, Jr. et al. | Feb 2003 | B1 |
| 6538470 | Langhammer et al. | Mar 2003 | B1 |
| 6556044 | Langhammer et al. | Apr 2003 | B2 |
| 6563891 | Eriksson et al. | May 2003 | B1 |
| 6570877 | Kloth et al. | May 2003 | B1 |
| 6577678 | Scheuermann | Jun 2003 | B2 |
| 6587684 | Hsu et al. | Jul 2003 | B1 |
| 6590415 | Agrawal et al. | Jul 2003 | B2 |
| 6601086 | Howard et al. | Jul 2003 | B1 |
| 6601158 | Abbott et al. | Jul 2003 | B1 |
| 6604085 | Kolls | Aug 2003 | B1 |
| 6604189 | Zemlyak et al. | Aug 2003 | B1 |
| 6606529 | Crowder, Jr. et al. | Aug 2003 | B1 |
| 6611906 | McAllister et al. | Aug 2003 | B1 |
| 6615333 | Hoogerbrugge et al. | Sep 2003 | B1 |
| 6618434 | Heidari-Bateni et al. | Sep 2003 | B2 |
| 6618777 | Greenfield | Sep 2003 | B1 |
| 6640304 | Ginter et al. | Oct 2003 | B2 |
| 6647429 | Semal | Nov 2003 | B1 |
| 6653859 | Sihlbom et al. | Nov 2003 | B2 |
| 6675265 | Barroso et al. | Jan 2004 | B2 |
| 6675284 | Warren | Jan 2004 | B1 |
| 6684319 | Mohamed et al. | Jan 2004 | B1 |
| 6691148 | Zinky et al. | Feb 2004 | B1 |
| 6694380 | Wolrich et al. | Feb 2004 | B1 |
| 6711617 | Bantz et al. | Mar 2004 | B1 |
| 6718182 | Kung | Apr 2004 | B1 |
| 6718541 | Ostanevich et al. | Apr 2004 | B2 |
| 6721286 | Williams et al. | Apr 2004 | B1 |
| 6721884 | De Oliveira Kastrup Pereira et al. | Apr 2004 | B1 |
| 6732354 | Ebeling et al. | May 2004 | B2 |
| 6735621 | Yoakum et al. | May 2004 | B1 |
| 6738744 | Kirovski et al. | May 2004 | B2 |
| 6748360 | Pitman et al. | Jun 2004 | B2 |
| 6751723 | Kundu et al. | Jun 2004 | B1 |
| 6754470 | Hendrickson et al. | Jun 2004 | B2 |
| 6760587 | Holtzman et al. | Jul 2004 | B2 |
| 6760833 | Dowling | Jul 2004 | B1 |
| 6766165 | Sharma et al. | Jul 2004 | B2 |
| 6778212 | Deng et al. | Aug 2004 | B1 |
| 6785341 | Walton et al. | Aug 2004 | B2 |
| 6807590 | Carlson et al. | Oct 2004 | B1 |
| 6819140 | Yamanaka et al. | Nov 2004 | B2 |
| 6823448 | Roth et al. | Nov 2004 | B2 |
| 6829633 | Gelfer et al. | Dec 2004 | B2 |
| 6832250 | Coons et al. | Dec 2004 | B1 |
| 6836839 | Master et al. | Dec 2004 | B2 |
| 6859434 | Segal et al. | Feb 2005 | B2 |
| 6865664 | Budrovic et al. | Mar 2005 | B2 |
| 6871236 | Fishman et al. | Mar 2005 | B2 |
| 6883074 | Lee et al. | Apr 2005 | B2 |
| 6883084 | Donohoe | Apr 2005 | B1 |
| 6894996 | Lee | May 2005 | B2 |
| 6901440 | Bimm et al. | May 2005 | B1 |
| 6907598 | Fraser | Jun 2005 | B2 |
| 6912515 | Jackson et al. | Jun 2005 | B2 |
| 6941336 | Mar | Sep 2005 | B1 |
| 6980515 | Schunk et al. | Dec 2005 | B1 |
| 6985517 | Matsumoto et al. | Jan 2006 | B2 |
| 6986021 | Master et al. | Jan 2006 | B2 |
| 6986142 | Ehlig et al. | Jan 2006 | B1 |
| 6988139 | Jervis et al. | Jan 2006 | B1 |
| 7032229 | Flores et al. | Apr 2006 | B1 |
| 7044741 | Leem | May 2006 | B2 |
| 7082456 | Mani-Meitav et al. | Jul 2006 | B2 |
| 7139910 | Ainsworth et al. | Nov 2006 | B1 |
| 7142731 | Toi | Nov 2006 | B1 |
| 7249242 | Ramchandran | Jul 2007 | B2 |
| 20010003191 | Kovacs et al. | Jun 2001 | A1 |
| 20010023482 | Wray | Sep 2001 | A1 |
| 20010029515 | Mirsky | Oct 2001 | A1 |
| 20010034795 | Moulton et al. | Oct 2001 | A1 |
| 20010039654 | Miyamoto | Nov 2001 | A1 |
| 20010048713 | Medlock et al. | Dec 2001 | A1 |
| 20010048714 | Jha | Dec 2001 | A1 |
| 20010050948 | Ramberg et al. | Dec 2001 | A1 |
| 20020010848 | Kamano et al. | Jan 2002 | A1 |
| 20020013799 | Blaker | Jan 2002 | A1 |
| 20020013937 | Ostanevich et al. | Jan 2002 | A1 |
| 20020015401 | Subramanian et al. | Feb 2002 | A1 |
| 20020015435 | Rieken | Feb 2002 | A1 |
| 20020015439 | Kohli et al. | Feb 2002 | A1 |
| 20020023210 | Tuomenoksa et al. | Feb 2002 | A1 |
| 20020024942 | Tsuneki et al. | Feb 2002 | A1 |
| 20020024993 | Subramanian et al. | Feb 2002 | A1 |
| 20020031166 | Subramanian et al. | Mar 2002 | A1 |
| 20020032551 | Zakiya | Mar 2002 | A1 |
| 20020035623 | Lawande et al. | Mar 2002 | A1 |
| 20020041581 | Aramaki | Apr 2002 | A1 |
| 20020042907 | Yamanaka et al. | Apr 2002 | A1 |
| 20020061741 | Leung et al. | May 2002 | A1 |
| 20020069282 | Reisman | Jun 2002 | A1 |
| 20020072830 | Hunt | Jun 2002 | A1 |
| 20020078337 | Moreau et al. | Jun 2002 | A1 |
| 20020083305 | Renard et al. | Jun 2002 | A1 |
| 20020083423 | Ostanevich et al. | Jun 2002 | A1 |
| 20020087829 | Snyder et al. | Jul 2002 | A1 |
| 20020089348 | Langhammer | Jul 2002 | A1 |
| 20020101909 | Chen et al. | Aug 2002 | A1 |
| 20020107905 | Roe et al. | Aug 2002 | A1 |
| 20020107962 | Richter et al. | Aug 2002 | A1 |
| 20020119803 | Bitterlich et al. | Aug 2002 | A1 |
| 20020120672 | Butt et al. | Aug 2002 | A1 |
| 20020133688 | Lee et al. | Sep 2002 | A1 |
| 20020138716 | Master et al. | Sep 2002 | A1 |
| 20020141489 | Imaizumi | Oct 2002 | A1 |
| 20020147845 | Sanchez-Herrero et al. | Oct 2002 | A1 |
| 20020159503 | Ramachandran | Oct 2002 | A1 |
| 20020162026 | Neuman et al. | Oct 2002 | A1 |
| 20020168018 | Scheuermann | Nov 2002 | A1 |
| 20020181559 | Heidari-Bateni et al. | Dec 2002 | A1 |
| 20020184275 | Dutta et al. | Dec 2002 | A1 |
| 20020184291 | Hogenauer | Dec 2002 | A1 |
| 20020184498 | Qi | Dec 2002 | A1 |
| 20020191790 | Anand et al. | Dec 2002 | A1 |
| 20030007606 | Suder et al. | Jan 2003 | A1 |
| 20030012270 | Zhou et al. | Jan 2003 | A1 |
| 20030018446 | Makowski et al. | Jan 2003 | A1 |
| 20030018700 | Giroti et al. | Jan 2003 | A1 |
| 20030023830 | Hogenauer | Jan 2003 | A1 |
| 20030026242 | Jokinen et al. | Feb 2003 | A1 |
| 20030030004 | Dixon et al. | Feb 2003 | A1 |
| 20030046421 | Horvitz et al. | Mar 2003 | A1 |
| 20030061260 | Rajkumar | Mar 2003 | A1 |
| 20030061311 | Lo | Mar 2003 | A1 |
| 20030063656 | Rao et al. | Apr 2003 | A1 |
| 20030074473 | Pham et al. | Apr 2003 | A1 |
| 20030076815 | Miller et al. | Apr 2003 | A1 |
| 20030099223 | Chang et al. | May 2003 | A1 |
| 20030102889 | Master et al. | Jun 2003 | A1 |
| 20030105949 | Master et al. | Jun 2003 | A1 |
| 20030110485 | Lu et al. | Jun 2003 | A1 |
| 20030131162 | Secatch et al. | Jul 2003 | A1 |
| 20030142818 | Raghunathan et al. | Jul 2003 | A1 |
| 20030154357 | Master et al. | Aug 2003 | A1 |
| 20030163723 | Kozuch et al. | Aug 2003 | A1 |
| 20030172138 | McCormack et al. | Sep 2003 | A1 |
| 20030172139 | Srinivasan et al. | Sep 2003 | A1 |
| 20030200538 | Ebeling et al. | Oct 2003 | A1 |
| 20030212684 | Meyer et al. | Nov 2003 | A1 |
| 20030229864 | Watkins | Dec 2003 | A1 |
| 20040006584 | Vandeweerd | Jan 2004 | A1 |
| 20040010645 | Scheuermann et al. | Jan 2004 | A1 |
| 20040015970 | Scheuermann | Jan 2004 | A1 |
| 20040015973 | Skovira | Jan 2004 | A1 |
| 20040025159 | Scheuermann et al. | Feb 2004 | A1 |
| 20040049672 | Nollet et al. | Mar 2004 | A1 |
| 20040057505 | Valio | Mar 2004 | A1 |
| 20040062300 | McDonough et al. | Apr 2004 | A1 |
| 20040081248 | Parolari | Apr 2004 | A1 |
| 20040093479 | Ramchandran | May 2004 | A1 |
| 20040133745 | Ramchandran | Jul 2004 | A1 |
| 20040168044 | Ramchandran | Aug 2004 | A1 |
| 20050044344 | Stevens | Feb 2005 | A1 |
| 20050166038 | Wang et al. | Jul 2005 | A1 |
| 20050166073 | Lee | Jul 2005 | A1 |
| 20050198199 | Dowling | Sep 2005 | A1 |
| 20050203988 | Nollet et al. | Sep 2005 | A1 |
| 20060031660 | Master et al. | Feb 2006 | A1 |
| 20060168587 | Aslam-Mir | Jul 2006 | A1 |
| Number | Date | Country |
|---|---|---|
| 100 18 374 | Oct 2001 | DE |
| 0 301 169 | Feb 1989 | EP |
| 0 166 586 | Jan 1991 | EP |
| 0 236 633 | May 1991 | EP |
| 0 478 624 | Apr 1992 | EP |
| 0 479 102 | Apr 1992 | EP |
| 0 661 831 | Jul 1995 | EP |
| 0 668 659 | Aug 1995 | EP |
| 0 690 588 | Jan 1996 | EP |
| 0 691 754 | Jan 1996 | EP |
| 0 768 602 | Apr 1997 | EP |
| 0 817 003 | Jan 1998 | EP |
| 0 821 495 | Jan 1998 | EP |
| 0 866 210 | Sep 1998 | EP |
| 0 923 247 | Jun 1999 | EP |
| 0 926 596 | Jun 1999 | EP |
| 1 056 217 | Nov 2000 | EP |
| 1 061 437 | Dec 2000 | EP |
| 1 061 443 | Dec 2000 | EP |
| 1 126 368 | Aug 2001 | EP |
| 1 150 506 | Oct 2001 | EP |
| 1 189 358 | Mar 2002 | EP |
| 2 067 800 | Jul 1981 | GB |
| 2 237 908 | May 1991 | GB |
| 62-249456 | Oct 1987 | JP |
| 63-147258 | Jun 1988 | JP |
| 4-51546 | Feb 1992 | JP |
| 7-064789 | Mar 1995 | JP |
| 7066718 | Mar 1995 | JP |
| 10233676 | Sep 1998 | JP |
| 10254696 | Sep 1998 | JP |
| 11296345 | Oct 1999 | JP |
| 2000315731 | Nov 2000 | JP |
| 2001-053703 | Feb 2001 | JP |
| WO 8905029 | Jun 1989 | WO |
| WO 8911443 | Nov 1989 | WO |
| WO 9100238 | Jan 1991 | WO |
| WO 9313603 | Jul 1993 | WO |
| WO 9511855 | May 1995 | WO |
| WO 9633558 | Oct 1996 | WO |
| WO 9832071 | Jul 1998 | WO |
| WO 9903776 | Jan 1999 | WO |
| WO 9921094 | Apr 1999 | WO |
| WO 9926860 | Jun 1999 | WO |
| WO 9965818 | Dec 1999 | WO |
| WO 0019311 | Apr 2000 | WO |
| WO 0065855 | Nov 2000 | WO |
| WO 0069073 | Nov 2000 | WO |
| WO 0111281 | Feb 2001 | WO |
| WO 0122235 | Mar 2001 | WO |
| WO 0176129 | Oct 2001 | WO |
| WO 0212978 | Feb 2002 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20040054997 A1 | Mar 2004 | US |