Low power multi-core decoder system and method

Information

  • Patent Grant
  • 9092686
  • Patent Number
    9,092,686
  • Date Filed
    Monday, July 1, 2013
    11 years ago
  • Date Issued
    Tuesday, July 28, 2015
    9 years ago
Abstract
A portable data terminal including a multi-core processor having at least a first core and a second core, at least one illumination assembly and at least one imaging assembly and data storage means configured to store a plurality of program instructions, the program instructions including at least one one-dimensional decoder and at least one two-dimensional decoder.
Description
TECHNICAL FIELD

The present invention relates to portable data terminals and more particularly, to portable data terminals configured to capture an image and decode any bar code contained in the image.


BACKGROUND INFORMATION

Portable data terminals (PDTs) such as laser indicia reading devices, optical indicia reading devices, barcode scanners and barcode readers, for example, typically read data represented by printed indicia such as symbols, symbology, and bar codes, for example. One type of symbol is an array of rectangular bars and spaces that are arranged in a specific way to represent elements of data in machine readable form. Optical indicia reading devices typically transmit light onto a symbol and receive light scattered and/or reflected back from a bar code symbol or indicia. The received light is interpreted by an image processor to extract the data represented by the symbol. Laser indicia reading devices typically utilize transmitted laser light. One-dimensional (1D) optical bar code readers are characterized by reading data that is encoded along a single axis, in the widths of bars and spaces, so that such symbols can be read from a single scan along that axis, provided that the symbol is imaged with a sufficiently high resolution.


In order to allow the encoding of larger amounts of data in a single bar code symbol, a number of one-dimensional (1D) stacked bar code symbologies have been developed which partition encoded data into multiple rows, each including a respective 1D bar code pattern, all or most all of which must be scanned and decoded, then linked together to form a complete message. Scanning still requires relatively higher resolution in one dimension only, but multiple linear scans are needed to read the whole symbol.


A class of bar code symbologies known as two-dimensional (2D) matrix symbologies have been developed which offer orientation-free scanning and greater data densities and capacities than 1D symbologies. 2D matrix codes encode data as dark or light data elements within a regular polygonal matrix, accompanied by graphical finder, orientation and reference structures.


Conventionally, a PDT includes a central processor which directly controls the operations of the various electrical components housed within the PDT. For example, the central processor controls detection of keypad entries, display features, wireless communication functions, trigger detection, and bar code read and decode functionality. More specifically, the central processor typically communicates with an illumination assembly configured to illuminate a target, such as a bar code, and an imaging assembly configured to receive an image of the target and generate an electric output signal indicative of the data optically encoded therein.


The output signal is generally representative of the pixel data transmitted by an image sensor of the imaging assembly. Because the pixel data may not be high enough quality for the processor to reliably decode the bar code in the image, PDTs generally successively capture images, or image frames, until a reliable decode is complete. Further, where the bar codes being decoded vary from 1D and 2D symbologies, the PDT generally sequentially executes decode algorithms for the multiple symbologies. This process can be time-intensive because the processor must wait for the pixel data to be stored in memory before it can access the data in order to execute a decode algorithm and then must further wait for a decode algorithm to complete before a second decode algorithm can execute. Further, in many settings such as warehouses, shopping centers, shipping centers, and numerous others, PDTs are used to decode bar codes in serial fashion such that a faster decode operation generally increases throughput.


Attempts have been made to increase decode speed particularly by multi-threading. Multi-threading, or hyper-threading, allows multiple threads to use a single processing unit by providing processor cycles to one thread when another thread incurs a latency such as a cache miss, for example, which would cause the processor to incur several cycles of idle time while off-chip memory is accessed. Using multi-threading, the central processor idle time is minimized but not substantially parallelized. Further, context switching between threads can significantly increase overhead, as the state of one process/thread is saved while another is loaded, further minimizing any efficiency gain.


Accordingly, there remains a need in the art for a PDT system architecture that will allow for faster, substantially parallel, bar code decoding operations.





BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is disclosed with reference to the accompanying drawings, wherein:



FIG. 1A is a plan view of an exemplary PDT and FIG. 1B is a side perspective view of an exemplary PDT.



FIG. 2A is a block schematic diagram of an exemplary PDT according to the present invention.



FIG. 2B is a block schematic diagram of an exemplary PDT according to the present invention.



FIG. 3 is a block schematic diagram of an exemplary multi-core processor according to the present invention.



FIG. 4 is a block schematic diagram of an exemplary dual port memory module according to the present invention.



FIG. 5 is a block schematic diagram of an exemplary multi-core processor according to the present invention.





It will be appreciated that for purposes of clarity and where deemed appropriate, reference numerals have been repeated in the figures to indicate corresponding features.


DETAILED DESCRIPTION

Referring to FIGS. 1A and 1B, two exemplary PDTs 100 for reading/scanning printed indicia are shown. The PDT housing can be shaped so as to fit comfortably into a human hand using a handle portion 104 and can include a finger actuatable scan/capture or trigger button 101 as well as a keypad 102 for inputting data and commands, power button, and antenna for facilitating communication with a local or remote host processor, for example. The PDT also includes a display 103, such as an LCD or OLED display, for example, for displaying information to the user. If the display 103 is a touch screen, a stylus (not shown) may also be included to facilitate interaction with the touch screen. An aperture in the housing is included such that the illumination 108 and imaging optics 109 have substantially unobstructed access to the target 114. The PDT can also include a power port for receiving a power supply as well as one or more communication ports for facilitating wired or wireless communication with a network interface 134. Although the present invention is described with respect to a PDT, the invention can be utilized in any bar code scanner, mobile device, mobile computer, or personal data assistant, for example.


Referring to FIGS. 2A and 2B, there is shown a block schematic diagram of the basic structures that together comprise a PDT 105 according to the present invention. The PDT 105 includes an illumination assembly 108 for illuminating a target 114, such as a bar code, and an imaging assembly 109 for receiving an image of the target 114 and generating an electric output signal indicative of the pixel data optically encoded therein. The illumination assembly 108 includes at least one light source 112 together with illumination optics 110, such as one or more reflectors, for directing light from the light source in the direction of the target 114. The light source 112 can include at least one LED configured to emit light in the near-infrared range and/or at least one LED configured to emit light in the visible range. The imaging assembly 102 includes a 2D image sensor 106, such as a CCD, CMOS, NMOS, PMOS, CID, or CMD solid state imagine sensor, along with imaging optics 107 for receiving and focusing an image of the target 114 onto the image sensor 106.


Still referring to FIGS. 2A and 2B, the PDT 105 further includes a processing architecture 115 which controls the operation of the PDT 105 by implementing program instructions it retrieves from the data storage means 122. More specifically, the processing architecture 115 is configured to receive, output and process data, including image/pixel data, operate the imaging 109 and illumination 108 assemblies, and communicate with a system bus 138 among other operations. Further, the processing architecture 115 may be configured to control the illumination of the light source 112, the timing of the image sensor 106, analog-to-digital conversion, transmission and reception of data to and from a processor of a remote computer 136 external to the reader through a network interface 134, such as an RS-232, RS-485, USB, Ethernet, Wi-Fi, Bluetooth.™., IrDA and Zigbee interface, control a user input interface to manage user interaction with a scan/trigger button 101 and/or keypad 102, and control an output device 103, such as an LCD or an OLED display, through the display interface 132. The processing architecture 115 includes at least one multi-core processor 116 as described in detail below with respect to FIGS. 3 and 5 but optionally can include an additional processor(s) or microprocessor(s) such as VLSI or ASIC integrated circuit microprocessor(s). In one embodiment shown in FIG. 2A the data storage means 122a includes at least one dual port memory module 160, such as RAM for example, described in detail below with respect to FIG. 4 but optionally can include additional memory modules such as local, network-accessible, removable and/or non-removable memory, such as RAM, ROM, and/or flash. In another embodiment shown in FIG. 2B, the data storage means 122b includes at least one single port memory module 163, such as RAM for example, in communication with a direct memory access (DMA) controller 161 as described further below. The data storage means 122 is shown as including applications 125, such as an operating system for example, a 1D decoder 127, and a 2D decoder 129. The decoders 127 and 129 include program instructions that, when executed by the multi-core processor 116, retrieve image pixel data and decode any bar code contained in the image as is known in the art. Although the decoders 127 and 129 are shown as separate from the dual port memory 160 in FIG. 2A, in another embodiment the decoder 127 and 129 program instructions are stored in the dual port memory 160. The PDT 105 also includes one or more power supplies 128, such as one or more batteries and/or circuitry for receiving an alternating current, and a user input interface 130 for receiving data from a user input device 102, such as a keyboard, keypad, and/or touch screen. The PDT 105 structures shown in FIG. 2 are preferably supported on one or more printed circuit boards (not shown).


Referring to FIG. 3, a multi-core processor 116 according to the present invention is shown as a dual-core processor 116a having a first core 140 and a second core 142. The cores can also share one cache, or in a multilevel cache architecture, each utilize its own respective cache (e.g. L1) and share another cache (e.g. L2) or any combination thereof. In the embodiment shown in FIG. 3, a first level of cache 144 is shown as having instruction and data caches for each core 140, 142 and a second level of cache 146 is shown as being shared among both cores 140 and 142. The cores 140 and 142 can be integrated on the same integrated circuit die or they can be integrated onto multiple dies in the same integrated circuit package as is known in the art. Further, the processor 116 can also include one or more independent or shared bus interfaces such as a shared bus interface 148 for communication with a system bus and/or the data storage means 122. Each core 140 and 142 has its own processing unit and is capable of issuing instructions transmitted through the bus interface to a bus as well as simultaneously performing operations.


Referring to one embodiment shown in FIGS. 2A and 4, dual port memory 160 is shown as including a first port 162 and a second port 164. At least a portion of the dual port memory, identified as frame buffer 166 in FIG. 4, is configured to store image frame data as received from the image sensor. Dual port memory, such as the dual port memory described by U.S. Pat. No. 5,276,842 to Sugita, incorporated herein by reference, is preferably configured to be accessed by two cores simultaneously on the same clock. Contention issues are preferably handled by arbitration system or arbitration logic as is known in the art and as one exemplary implementation of an arbitration system is also described in the '842 patent. Dual port memory can also be implemented with a single port memory core as taught by Balasubramanian et al. in U.S. Pat. No. 7,349,285, incorporated herein by reference, whereby access requests are processed on both the high and low logic states of the memory clock cycle.


In an exemplary operation, the processing architecture 115 retrieves program instructions from data storage means 122a, over system bus 138, which the architecture implements to control the illumination assembly 108 to focus light on a target 114 containing a bar code and imaging assembly 109 to receive the reflected light. The image sensor 106 then transmits output signals, representative of pixel data of the captured image, to the first port 162 of the dual port memory 164 where it is stored in a frame buffer 166. Each of the first core 140 and the second core 142 can then access the frame buffer 166 and retrieve the pixel data. To allow for parallel decoding, the first core 140 can be configured to execute the program instructions of the 1D decoder and the second core 142 can be configured to execute the program instructions of the 2D decoder. Accordingly, whether the image contains a 1D or 2D bar code, decoding can occur at substantially the same time decreasing the time required for a successful decode. Further, image pixel/frame data can be stored in the dual port memory 160 on the same clock cycle as image pixel/frame data is being retrieved by the first core 140 and/or the second core 142. PDT 105 can be configured to continuously image the target 114 and store the pixel data, or each frame, in the frame buffer and the cores 140 and 142 can continually process the image frame data, in parallel, until a successful decode event occurs. Upon successful decode, the decoded data is optionally transmitted to the data storage means 122 where it can be accessed, for example, by an application 125.


In another embodiment, the first core is configured to execute 1D decoder 127 program instructions as well as image quality filter program instructions stored in data storage means 122. When executed by the first core 140, the image quality filter program instructions analyze, in real time, the pixel data/each frame retrieved by the core from the frame buffer for quality with respect to contrast, for example. The frame can then be assigned an image quality score which can be factored into a decode algorithm's decision with respect to selecting the highest image quality score frame available in the frame buffer. Further, the image quality filter program instructions can be configured to interrupt an existing decode 127 process which is decoding a frame/image with a low image quality score should a frame/image with a higher image quality score be captured.


In yet another embodiment, the first core 140 is configured to execute image quality filter program instructions, or any other program instructions related to image processing, for example, stored in data storage means 122 and the second core 142 is configured to execute 1D decoder 127 program instructions as well as 2D decoder program instructions 129.


Referring to FIG. 5, another embodiment is shown wherein the multi-core processor is a quad-core processor further including a third core and a fourth core as well as a first cache level 178, a second shared cache level 180 and a bus interface 182. A quad-core processor 116b generally refers to four processing units or cores 170, 172, 174 and 176 manufactured on the same integrated circuit. In this embodiment, the third core 174 can be configured to execute the program instructions of the image quality filter and the fourth core 176 can execute program instructions related to communication with the network interface 134. Accordingly, the user does not have to wait to pull the trigger or press the scan button again until the first or second core has executed communication routines to transmit the decode results, for example through the network interface 134 to a remote computer 136, because the fourth core 176 can handle communication with the network interface 134 in parallel with the first and/or second core causing the PDT 105 to capture a new image and begin a new process of decoding any bar code contained in the image.


Referring to FIG. 2B, although the invention has thus far been described as including a dual port memory module, in another embodiment the data storage means 122b includes a single port memory 163 configured to store a frame buffer. In this embodiment, preferably a DMA controller 161 is included as being in communication with the imaging assembly 109, the processing architecture 115 and the data storage means 122b. The DMA controller 161 can off-load the processor by transferring pixel data from the image sensor 106 directly to the single port memory 163 without involving the processing architecture 115 including the multi-core processor 116. Accordingly, processor cycles that otherwise would be used to manage a frame buffer can instead be used to run decode 127, 129 algorithms and/or otherwise as described above,


While the present invention substantially reduces the time required for a successful decode, it can also effectively manage the system clock and/or the power supplied to each core to reduce overall power consumption. Particularly in PDTs that are mostly powered by battery, power consumption is a concern because the greater the power dissipated, the faster the remaining battery life is reduced. Accordingly, and as shown in FIGS. 3 and 5, a clock management module/logic 150 configured to dynamically vary the clock speed received by each respective core based on the workload/utilization of each core and/or a power management module/logic 150 configured to dynamically vary the voltage received by at least a portion of each core can be utilized to manage resources consumed by the multi-core processor 116b. One method of power management is described in U.S. patent application Ser. No. 11/238,489 to Borkar et al., incorporated herein by reference, as including voltage regulators to supply power to each core or a part of a core depending on a number of factors including activity, core temperature, transient current consumption, and reliability. Another method of power management has been described by Kim in U.S. patent application Ser. No. 11/424,080, incorporated herein by reference, which includes modulating the mode of the processor to single core or multi-core depending on a number of factors including whether the PDT is connected to AC or battery power, remaining battery level, available memory, and memory usage. One exemplary clock management module is disclosed by Naveh et al. in U.S. patent application Ser. No. 10/899,674, incorporated herein by reference, wherein the clock management module utilizes independent clock throttle settings for each core, independent clock throttle of various functional blocks of one or more core's internal architecture such as reorder buffers and reservation station tables, for example, and scaling the clock frequency of the bus that the multi-core processor uses to communicate with system components.


While the principles of the invention have been described herein, it is to be understood by those skilled in the art that this description is made only by way of example and not as a limitation as to the scope of the invention. Other embodiments are contemplated within the scope of the present invention in addition to the exemplary embodiments shown and described herein. Modifications and substitutions by one of ordinary skill in the art are considered to be within the scope of the present invention, which is not to be limited except by the following claims.

Claims
  • 1. A portable data terminal, comprising: a multi-core processor having at least a first core and a second core, the multi-core processor receiving image data on a first clock cycle;at least one illumination assembly and at least one imaging assembly; anddata storage means configured to store a plurality of program instructions, the program instructions including at least one one-dimensional decoder and at least one two-dimensional decoder, the decoders running in parallel on the first clock cycle, andwherein the program instructions stored in the data storage means further includes an image quality filter.
  • 2. The portable data terminal of claim 1 wherein the data storage means further includes including at least one multi-port memory module having at least a first port and a second port, the at least one multi-port memory module being configured to receive output signals from the imaging assembly and communicate with the multi-core processor.
  • 3. The portable data terminal of claim 1 further including a power supply, at least one system bus, a network interface, a display interface, and a user input interface.
  • 4. The portable data terminal of claim 1 further including at least one management module selected from the group consisting of a clock management module configured to dynamically vary the clock speed received by each respective core based on the workload of each core and a power management module configured to dynamically vary the voltage received by at least a portion of each core.
  • 5. The portable data terminal of claim 1 wherein the first core of the multi-core processor executes the one-dimensional decoder and the second core executes the two-dimensional decoder.
  • 6. The portable data terminal of claim 1 wherein the first core of the multi-core processor executes the image quality filter and the second core of the multi-core processor communicates with the network interface.
  • 7. The portable data terminal of claim 1, wherein the image quality filter is configured with filter program instructions that analyze pixel data retrieved by the multi-core processor and assign an image quality score to the pixel data.
  • 8. The portable data terminal of claim 1, wherein the multi-core processor comprises a frame buffer receiving the image data from the imaging assembly and the image quality filter assigns a score to each frame of data in the buffer.
  • 9. The portable data terminal of claim 1, wherein the image quality filter is processed in the first core.
  • 10. The portable data terminal of claim 9, wherein the second core processes the decoders.
  • 11. A portable data terminal, comprising: a multi-core processor having at least a first core and a second core;at least one illumination assembly and at least one imaging assembly;a dual port memory receiving output signals from the imaging assembly on a first clock cycle and the multi-core processor retrieving image data from the dual port memory on the first clock cycle;data storage means configured to store a plurality of program instructions, the program instructions including at least one one-dimensional decoder and at least one two-dimensional decoder; andwherein the first core of the multi-core processor executes the one-dimensional decoder and the second core executes the two-dimensional decoder, andwherein the one-dimensional decoder and two-dimensional decoder run in parallel and on the first clock cycle.
  • 12. The portable data terminal of claim 11, comprising a first level of cache and a second level of cache, the first level including an instruction cache and a data cache for each core and the second level being shared among all the cores.
  • 13. The portable data terminal of claim 11, wherein the multi-core processor comprises a third core and a fourth core, wherein the program instructions stored in the data storage means comprises an image quality filter and wherein the third core of the multi-core processor executes the image quality filter and the fourth core of the multi-core processor communicates with the network interface.
  • 14. The portable data terminal of claim 11, comprising a direct memory access controller in communication with the imaging assembly, multi-core processor and data storage means and wherein the data storage means comprises at least one single port memory module.
  • 15. A portable data terminal, comprising: a multi-core processor having at least a first core and a second core;at least one illumination assembly and at least one imaging assembly;a dual port memory receiving output signals from the imaging assembly on a first clock cycle and the multi-core processor retrieving image data from the dual port memory on the first clock cycle;data storage means configured to store a plurality of program instructions, the program instructions including at least one one-dimensional decoder and at least one two-dimensional decoder; andwherein the one-dimensional decoder and two-dimensional decoder run in parallel and on the first clock cycle.
  • 16. The portable data terminal of claim 15, comprising a power supply, at least one system bus, a network interface, a display interface, a system bus, and a user input interface.
  • 17. The portable data terminal of claim 15, wherein the imaging assembly comprises imaging optics and an image sensor and the illumination assembly comprises illumination optics and at least one light source.
  • 18. The portable data terminal of claim 15, comprising at least one management module selected from the group consisting of a clock management module configured to dynamically vary the clock speed received by each respective core based on the workload of each core and a power management module configured to dynamically vary the voltage received by at least a portion of each core.
  • 19. The portable data terminal of claim 15, wherein a first port of the memory is configured to receive at least one output signal from the imaging assembly, the output signals representing pixel data transmitted by the image sensor, and a second port of the memory is configured to communicate with the multi-core processor.
  • 20. The portable data terminal of claim 15, wherein the multi-core processor comprises a third core and a fourth core, wherein the program instructions stored in the data storage means comprises an image quality filter and wherein the third core of the multi-core processor executes the image quality filter and the fourth core of the multi-core processor communicates with the network interface.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/571,911 filed Oct. 1, 2009 entitled, “Low Power Multi-Core Decoder System and Method.” The above application is incorporated herein by reference in its entirety.

US Referenced Citations (341)
Number Name Date Kind
3582884 Shepard Jun 1971 A
3663762 Joel, Jr. May 1972 A
3684868 Christie et al. Aug 1972 A
3723970 Stoller Mar 1973 A
3906166 Cooper et al. Sep 1975 A
4004237 Kratzer Jan 1977 A
4041391 Deerkoski Aug 1977 A
4097847 Forsen et al. Jun 1978 A
4114155 Raab Sep 1978 A
4164628 Ward et al. Aug 1979 A
4210802 Sakai et al. Jul 1980 A
4291410 Caples et al. Sep 1981 A
4315245 Nakahara et al. Feb 1982 A
4435822 Spencer et al. Mar 1984 A
4445118 Taylor et al. Apr 1984 A
4488678 Hara et al. Dec 1984 A
4488679 Bockholt et al. Dec 1984 A
4500776 Laser Feb 1985 A
4538060 Sakai et al. Aug 1985 A
4542528 Sanner et al. Sep 1985 A
4561089 Rouse et al. Dec 1985 A
4570057 Chadima, Jr. et al. Feb 1986 A
4610359 Muller et al. Sep 1986 A
4628532 Stone et al. Dec 1986 A
4636624 Ishida et al. Jan 1987 A
4639932 Schiff Jan 1987 A
4644523 Horwitz Feb 1987 A
4646353 Tenge et al. Feb 1987 A
4653076 Jerrim et al. Mar 1987 A
4686363 Schoon Aug 1987 A
4690530 Fujino et al. Sep 1987 A
4710817 Ando et al. Dec 1987 A
4785463 Janc et al. Nov 1988 A
4791446 Ishida et al. Dec 1988 A
4794239 Allais Dec 1988 A
4807256 Holmes et al. Feb 1989 A
4818856 Matsushima et al. Apr 1989 A
4825058 Poland Apr 1989 A
4841544 Nuytkens Jun 1989 A
4874936 Chandler et al. Oct 1989 A
4877949 Danielson et al. Oct 1989 A
4896029 Chandler et al. Jan 1990 A
4901073 Kibrick Feb 1990 A
4908500 Baumberger et al. Mar 1990 A
4942474 Akimoto et al. Jul 1990 A
4998010 Chandler et al. Mar 1991 A
5001560 Ericsson Mar 1991 A
5019699 Koenck May 1991 A
5113445 Wang May 1992 A
5138140 Siemiatkowski et al. Aug 1992 A
5153418 Batterman et al. Oct 1992 A
5153421 Tandon et al. Oct 1992 A
5155343 Chandler et al. Oct 1992 A
5159340 Smith Oct 1992 A
5189292 Batterman et al. Feb 1993 A
5212777 Gove et al. May 1993 A
5223701 Batterman et al. Jun 1993 A
5227614 Danielson et al. Jul 1993 A
5235167 Dvorkis et al. Aug 1993 A
5237163 Collins et al. Aug 1993 A
5245695 Basehore Sep 1993 A
5262871 Wilder et al. Nov 1993 A
5272323 Martino Dec 1993 A
5276842 Sugita Jan 1994 A
5278397 Barkan et al. Jan 1994 A
5286960 Longacre, Jr. et al. Feb 1994 A
5294783 Hammond, Jr. et al. Mar 1994 A
5304786 Pavlidis et al. Apr 1994 A
5304787 Wang Apr 1994 A
5311001 Joseph et al. May 1994 A
5313533 Scott May 1994 A
5319185 Obata et al. Jun 1994 A
5327441 Kawazoe et al. Jul 1994 A
5331176 Sant' Anselmo et al. Jul 1994 A
5343028 Figarella et al. Aug 1994 A
5345266 Denyer et al. Sep 1994 A
5354977 Roustaei Oct 1994 A
5378881 Adachi et al. Jan 1995 A
5378883 Batterman et al. Jan 1995 A
5392447 Schlack et al. Feb 1995 A
5396054 Krichever et al. Mar 1995 A
5399852 Zheng et al. Mar 1995 A
5401949 Ziemacki et al. Mar 1995 A
5412197 Smith May 1995 A
5414251 Durbin May 1995 A
5418862 Zheng et al. May 1995 A
5420409 Longacre, Jr. et al. May 1995 A
5422470 Kubo et al. Jun 1995 A
5428211 Zheng et al. Jun 1995 A
5430286 Hammond, Jr. et al. Jul 1995 A
5430472 Curry Jul 1995 A
5446271 Cherry et al. Aug 1995 A
5461425 Fowler et al. Oct 1995 A
5463214 Longacre, Jr. et al. Oct 1995 A
5471515 Fossum et al. Nov 1995 A
5471592 Gove et al. Nov 1995 A
5477042 Wang Dec 1995 A
5478997 Bridgelall et al. Dec 1995 A
5478999 Figarella et al. Dec 1995 A
5479515 Longacre, Jr. Dec 1995 A
5481098 Davis et al. Jan 1996 A
5487115 Surka Jan 1996 A
5489769 Kubo et al. Feb 1996 A
5502297 Sherman Mar 1996 A
5504524 Lu et al. Apr 1996 A
5512739 Chandler et al. Apr 1996 A
5517018 Zheng et al. May 1996 A
5521366 Wang et al. May 1996 A
5524068 Kacandes et al. Jun 1996 A
5537431 Chen et al. Jul 1996 A
5545886 Metlitsky et al. Aug 1996 A
5565669 Liu Oct 1996 A
5567934 Zheng et al. Oct 1996 A
5569901 Bridgelall et al. Oct 1996 A
5572006 Wang et al. Nov 1996 A
5585616 Roxby et al. Dec 1996 A
5591955 Laser Jan 1997 A
5591956 Longacre, Jr. et al. Jan 1997 A
5598007 Bunce et al. Jan 1997 A
5600119 Dvorkis et al. Feb 1997 A
5610387 Bard et al. Mar 1997 A
5612524 Sant'Anselmo et al. Mar 1997 A
5621203 Swartz et al. Apr 1997 A
5637849 Wang et al. Jun 1997 A
5638465 Sano et al. Jun 1997 A
5640202 Kondo et al. Jun 1997 A
5663549 Katz et al. Sep 1997 A
5665959 Fossum et al. Sep 1997 A
5666167 Tults Sep 1997 A
5668803 Tymes et al. Sep 1997 A
5672858 Li et al. Sep 1997 A
5698833 Skinger Dec 1997 A
5699447 Alumot et al. Dec 1997 A
5702059 Chu et al. Dec 1997 A
5703349 Meyerson et al. Dec 1997 A
5710417 Joseph et al. Jan 1998 A
5723823 Bell Mar 1998 A
5723853 Longacre, Jr. et al. Mar 1998 A
5723868 Hammond, Jr. et al. Mar 1998 A
5726435 Hara et al. Mar 1998 A
5739518 Wang Apr 1998 A
5756981 Roustaei et al. May 1998 A
5763864 O'Hagan et al. Jun 1998 A
5773806 Longacre, Jr. Jun 1998 A
5773810 Hussey et al. Jun 1998 A
5774357 Hoffberg et al. Jun 1998 A
5780832 Watanabe et al. Jul 1998 A
5780834 Havens et al. Jul 1998 A
5783811 Feng et al. Jul 1998 A
5784102 Hussey et al. Jul 1998 A
5811774 Ju et al. Sep 1998 A
5811784 Tausch et al. Sep 1998 A
5814801 Wang et al. Sep 1998 A
5814803 Olmstead et al. Sep 1998 A
5815200 Ju et al. Sep 1998 A
5818028 Meyerson et al. Oct 1998 A
5818528 Roth et al. Oct 1998 A
5825006 Longacre, Jr. et al. Oct 1998 A
5831254 Karpen et al. Nov 1998 A
5831674 Ju et al. Nov 1998 A
5841121 Koenck Nov 1998 A
5841126 Fossum et al. Nov 1998 A
5867594 Cymbalski Feb 1999 A
5867595 Cymbalski Feb 1999 A
5875108 Hoffberg et al. Feb 1999 A
5877487 Tani et al. Mar 1999 A
5900613 Koziol et al. May 1999 A
5914476 Gerst, III et al. Jun 1999 A
5917171 Sasai et al. Jun 1999 A
5917945 Cymbalski Jun 1999 A
5920477 Hoffberg et al. Jul 1999 A
5926214 Denyer et al. Jul 1999 A
5929418 Ehrhart et al. Jul 1999 A
5932862 Hussey et al. Aug 1999 A
5942741 Longacre, Jr. et al. Aug 1999 A
5949052 Longacre, Jr. et al. Sep 1999 A
5949054 Karpen et al. Sep 1999 A
5949056 White Sep 1999 A
5962838 Tamburrini Oct 1999 A
5965863 Parker et al. Oct 1999 A
5979763 Wang et al. Nov 1999 A
5979768 Koenck Nov 1999 A
5984186 Tafoya Nov 1999 A
5986297 Guidash et al. Nov 1999 A
6003008 Postrel et al. Dec 1999 A
6012640 Liu Jan 2000 A
6017496 Nova et al. Jan 2000 A
6019286 Li et al. Feb 2000 A
6053407 Wang et al. Apr 2000 A
6064763 Maltsev May 2000 A
6070800 Fujita et al. Jun 2000 A
6082619 Ma et al. Jul 2000 A
6082621 Chan et al. Jul 2000 A
6094739 Miller et al. Jul 2000 A
6119179 Whitridge et al. Sep 2000 A
6123264 Li et al. Sep 2000 A
6129278 Wang et al. Oct 2000 A
6144453 Hallerman et al. Nov 2000 A
6152368 Olmstead et al. Nov 2000 A
6155491 Dueker et al. Dec 2000 A
6161760 Marrs et al. Dec 2000 A
6170749 Goren et al. Jan 2001 B1
6173894 Olmstead et al. Jan 2001 B1
6176428 Joseph et al. Jan 2001 B1
6176429 Reddersen et al. Jan 2001 B1
6179208 Feng Jan 2001 B1
6186404 Ehrhart et al. Feb 2001 B1
6215992 Howell et al. Apr 2001 B1
6219182 McKinley Apr 2001 B1
6230975 Colley et al. May 2001 B1
6264105 Longacre, Jr. et al. Jul 2001 B1
6276605 Olmstead et al. Aug 2001 B1
6311895 Olmstead et al. Nov 2001 B1
6315204 Knighton et al. Nov 2001 B1
6329139 Nova et al. Dec 2001 B1
6347163 Roustaei Feb 2002 B2
6360948 Yang et al. Mar 2002 B1
6371373 Ma et al. Apr 2002 B1
6385352 Roustaei May 2002 B1
6398112 Li et al. Jun 2002 B1
6429934 Dunn et al. Aug 2002 B1
6443360 Marchi et al. Sep 2002 B1
6462842 Hamilton Oct 2002 B1
6486911 Denyer et al. Nov 2002 B1
6491223 Longacre, Jr. et al. Dec 2002 B1
6493029 Denyer et al. Dec 2002 B1
6505778 Reddersen et al. Jan 2003 B1
6508404 Hecht Jan 2003 B2
6512218 Canini et al. Jan 2003 B1
6525827 Liu Feb 2003 B2
6547139 Havens et al. Apr 2003 B1
6547142 Goren et al. Apr 2003 B1
6552323 Guidash et al. Apr 2003 B2
6552746 Yang et al. Apr 2003 B1
6565003 Ma May 2003 B1
6575367 Longacre, Jr. Jun 2003 B1
6578766 Parker et al. Jun 2003 B1
6585159 Meier et al. Jul 2003 B1
6598797 Lee Jul 2003 B2
6606171 Renk et al. Aug 2003 B1
6634558 Patel et al. Oct 2003 B1
6637658 Barber et al. Oct 2003 B2
6655595 Longacre, Jr. et al. Dec 2003 B1
6661521 Stern Dec 2003 B1
6665012 Yang et al. Dec 2003 B1
6666377 Harris Dec 2003 B1
6672511 Shellhammer Jan 2004 B1
6678412 Shigekusa et al. Jan 2004 B1
6685095 Roustaei et al. Feb 2004 B2
6698656 Parker et al. Mar 2004 B2
6714239 Guidash Mar 2004 B2
6714665 Hanna et al. Mar 2004 B1
6722569 Ehrhart et al. Apr 2004 B2
6729546 Roustaei May 2004 B2
6732929 Good et al. May 2004 B2
6732930 Massieu et al. May 2004 B2
6736321 Tsikos et al. May 2004 B2
6739511 Tsikos et al. May 2004 B2
6742707 Tsikos et al. Jun 2004 B1
6814290 Longacre Nov 2004 B2
6832729 Perry et al. Dec 2004 B1
6834806 Benedetti et al. Dec 2004 B2
6837432 Tsikos et al. Jan 2005 B2
6854649 Worner et al. Feb 2005 B2
6857570 Tsikos et al. Feb 2005 B2
6858159 Lyons Feb 2005 B2
6860428 Dowling et al. Mar 2005 B1
6863216 Tsikos et al. Mar 2005 B2
6877665 Challa et al. Apr 2005 B2
6982800 Cavill et al. Jan 2006 B1
7014416 Lund Mar 2006 B2
7055747 Havens et al. Jun 2006 B2
7059525 Longacre et al. Jun 2006 B2
7077317 Longacre, Jr. et al. Jul 2006 B2
7077321 Longacre, Jr. et al. Jul 2006 B2
7080786 Longacre, Jr. et al. Jul 2006 B2
7086596 Meier et al. Aug 2006 B2
7090132 Havens et al. Aug 2006 B2
7093147 Farkas et al. Aug 2006 B2
7097102 Patel et al. Aug 2006 B2
D528146 Fitch Sep 2006 S
7104456 Parker et al. Sep 2006 B2
7261238 Carlson et al. Aug 2007 B1
7270273 Barber et al. Sep 2007 B2
7349285 Balasubramanian et al. Mar 2008 B2
7540424 Knowles et al. Jun 2009 B2
7571284 Olson et al. Aug 2009 B1
7596705 Kim Sep 2009 B2
7694158 Melpignano et al. Apr 2010 B2
7740176 Wang et al. Jun 2010 B2
7852519 Meier et al. Dec 2010 B2
7984854 Nadabar Jul 2011 B2
7984855 Wang Jul 2011 B2
8321693 Melpignano et al. Nov 2012 B2
8587595 Wang Nov 2013 B2
8726048 Naveh et al. May 2014 B2
20020035715 Hatakeyama Mar 2002 A1
20020039099 Harper Apr 2002 A1
20020039197 Hikichi Apr 2002 A1
20020039457 Helms et al. Apr 2002 A1
20020135683 Tamama et al. Sep 2002 A1
20020145043 Challa et al. Oct 2002 A1
20020158127 Hori et al. Oct 2002 A1
20030042311 Longacre et al. Mar 2003 A1
20030062418 Barber et al. Apr 2003 A1
20030085282 Parker et al. May 2003 A1
20030136843 Ralph et al. Jul 2003 A1
20030146283 Longacre et al. Aug 2003 A1
20030218067 Parker et al. Nov 2003 A1
20040004128 Pettinelli et al. Jan 2004 A1
20040094627 Parker et al. May 2004 A1
20040195332 Barber et al. Oct 2004 A1
20040206821 Longacre et al. Oct 2004 A1
20040256464 Longacre et al. Dec 2004 A1
20040256465 Longacre Dec 2004 A1
20040262392 Longacre et al. Dec 2004 A1
20040262394 Longacre et al. Dec 2004 A1
20040262395 Longacre et al. Dec 2004 A1
20040262396 Longacre et al. Dec 2004 A1
20040262399 Longacre et al. Dec 2004 A1
20050056699 Meier et al. Mar 2005 A1
20050103851 Zhu et al. May 2005 A1
20050161511 Parker et al. Jul 2005 A1
20060026447 Naveh et al. Feb 2006 A1
20060054704 Fitch et al. Mar 2006 A1
20060097054 Biss et al. May 2006 A1
20060126129 Barber et al. Jun 2006 A1
20060175413 Longacre, Jr. et al. Aug 2006 A1
20060255150 Longacre, Jr. Nov 2006 A1
20060259799 Melpignano et al. Nov 2006 A1
20060282692 Oh Dec 2006 A1
20060283954 Ralph et al. Dec 2006 A1
20060288243 Kim Dec 2006 A1
20070070673 Borkar et al. Mar 2007 A1
20070140574 Yamaguchi et al. Jun 2007 A1
20070285698 Wang et al. Dec 2007 A1
20080011855 Nadabar Jan 2008 A1
20100078477 Wang et al. Apr 2010 A1
20100108769 Wang et al. May 2010 A1
20100161939 Melpignano et al. Jun 2010 A1
20100289915 Wang Nov 2010 A1
Foreign Referenced Citations (1)
Number Date Country
2309418 Apr 2011 EP
Non-Patent Literature Citations (2)
Entry
EPO, European Search Report from corresponding EP Application EP 10 182186 (EP2309418), darted Jan. 11, 2011 (3 pages).
Chinese Office Action (Second) issued Nov. 3, 2014, in application 201010537775.4, Original with English Translation provided, 23 pages.
Related Publications (1)
Number Date Country
20140008439 A1 Jan 2014 US
Continuations (1)
Number Date Country
Parent 12571911 Oct 2009 US
Child 13932634 US