Hyperspectral thermoreflectance imaging
10816401 ยท 2020-10-27
Assignee
Inventors
Cpc classification
G01J5/0096
PHYSICS
G01J5/026
PHYSICS
G01J3/10
PHYSICS
G01J5/025
PHYSICS
International classification
G01J3/10
PHYSICS
G01J3/32
PHYSICS
Abstract
A method for providing a high spatial resolution thermal imaging of an active electronic device. The method includes placing an electronic device on a testing stage of an imaging system. The method, calibrating the imaging system by determining thermoreflectance coefficient for a plurality of pixels forming thermal images, each pixel having a coordinate (x,y) captured from the electronic device at each of a plurality of wavelengths of illumination (C.sub.TRi(x,y,.sub.i), activating the electronic device, and determining changes in reflection for each of the plurality of pixels at each of the plurality of wavelengths (R/R), determining R/R vs. C.sub.TRi(x,y,.sub.i) for each of the plurality of pixels for each of the plurality of wavelengths, fitting R/R vs. C.sub.TRi(x,y,.sub.i) to a predetermined mathematical function and use the parameters to calculate the temperature at each pixel.
Claims
1. A method for providing a high spatial resolution thermal imaging of an active electronic device, comprising: placing an electronic device on a testing stage of an imaging system, wherein the testing stage is configured to align the electronic device according to a set of coordinates and change the temperature of the electronic device; calibrating the imaging system by determining thermoreflectance coefficient for a plurality of pixels forming thermal images, each pixel having a coordinate (x,y) captured from the electronic device at each of a plurality of wavelengths of illumination (C.sub.TRi(x,y,.sub.i); activating the electronic device; determining changes in reflection for each of the plurality of pixels at each of the plurality of wavelengths (R/R); determining R/R vs. C.sub.TRi(x,y,.sub.i) for each of the plurality of pixels for each of the plurality of wavelengths; fitting R/R vs. C.sub.TRi(x,y,.sub.i) to a predetermined mathematical function; determining parameters of the predetermined mathematical function; and calculating T.sub.i(x,y,.sub.i) based on the parameters for each pixel at each wavelength.
2. The method of claim 1, the step of determining the thermoreflectance coefficient includes: activating the testing stage to cause the electronic device to reach a low temperature (T.sub.low); capturing low temperature reflectance for each of the plurality of pixels (x,y) and at each of the plurality of wavelengths (R.sub.lowi(x,y,.sub.i)); and activating the testing stage to cause the electronic device to reach a high temperature (T.sub.high); and capturing high temperature reflectance for each of the plurality of pixels (x,y) and at each of the plurality of wavelengths (R.sub.highi(x,y,.sub.i); wherein the thermoreflectance coefficient (C.sub.TRi(x,y,.sub.i)) is obtained from the predetermined mathematical function based on change in reflectance (R/R=(R.sub.highi(x,y,.sub.i)R.sub.lowi(x,y,.sub.i))/R.sub.lowi(x,y,.sub.i)) and change in temperature (T) for each pixel at each wavelength.
3. The method of claim 2, further comprising aligning the electronic device prior to capturing thermal images.
4. The method of claim 2, the thermoreflectance coefficient (C.sub.TRi(x,y,.sub.i) is determined based on
5. The method of claim 4, further comprising determining reflection of the electronic device at an intermediate temperature while the electronic device is off for each of the plurality of pixels at each of the plurality of wavelengths (R.sub.OFFi(x,y,.sub.i)), wherein R and R in the step of fitting R/R vs. C.sub.TRi(x,y,.sub.i) is based on (R.sub.ONi(x,y,.sub.i))(R.sub.OFFi(x,y,.sub.i)) and (R.sub.OFFi(x,y,.sub.i)), respectively, and R.sub.ONi(x,y,.sub.i)) is the reflectance of the electronic device in the activated state for each of the plurality of pixels at each of the plurality of wavelengths.
6. The method of claim 5, the intermediate temperature is T.sub.low and R.sub.OFFi(x,y,.sub.i) is R.sub.lowi(x,y,.sub.i).
7. The method of claim 1, further comprising minimizing fitting error by performing the calibrating step and the fitting R/R vs. C.sub.TRi((x,y,.sub.i) step as function of time for any group of neighboring pixels of the plurality of pixels associated with a structure on the electronic device.
8. The method of claim 1, further comprising providing a T image for each of the plurality of pixels for each range of the wavelengths and a variance map associated with fitting error.
9. The method of claim 7, further comprising providing a T image for each of the plurality of pixels for each range of the wavelengths and a variance map associated with fitting error.
10. The method of claim 1, where the fitting of R/R vs. C.sub.TRi(x,y,.sub.i) is to a linear curve (Y=mX).
11. A system for providing a high spatial resolution thermal imaging of an active electronic device, comprising: a testing stage for placement of an electronic device, wherein the testing stage is configured to align the electronic device according to a set of coordinates and change the temperature of the electronic device; an illumination source configured to selectively illuminate the staging stage with a plurality of wavelengths; a processor configured to calibrate the imaging system by determining thermoreflectance coefficient for a plurality of pixels forming thermal images, each pixel having a coordinate (x,y) captured from the electronic device at each of a plurality of wavelengths of illumination (C.sub.TRi(x,y,.sub.i), activate the electronic device, determine changes in reflection for each of the plurality of pixels at each of the plurality of wavelengths (R/R), determine R/R vs. C.sub.TRi(x,y,.sub.i) for each of the plurality of pixels for each of the plurality of wavelengths, fit R/R vs. C.sub.TRi(x,y,.sub.i) to a predetermined mathematical function; determine parameters of the predetermined mathematical function; and calculate T.sub.i(x,y,.sub.i) based on the parameters for each pixel at each wavelength.
12. The system of claim 11, the step of determining the thermoreflectance coefficient includes: activate the testing stage to cause the electronic device to reach a low temperature (T.sub.low); capture low temperature reflectance for each of the plurality of pixels (x,y) and at each of the plurality of wavelengths (R.sub.lowi(x,y,.sub.i); and activate the testing stage to cause the electronic device to reach a high temperature (T.sub.high); and capture high temperature reflectance for each of the plurality of pixels (x,y) and at each of the plurality of wavelengths (R.sub.highi(x,y,.sub.i); wherein the thermoreflectance coefficient (C.sub.TRi(x,y,.sub.i)) is obtained from the predetermined mathematical function based on change in reflectance (R/R=(R.sub.highi(x,y,.sub.i)R.sub.lowi(x,y,.sub.i))/R.sub.lowi(x,y,.sub.i)) and change in temperature (T) for each pixel at each wavelength.
13. The system of claim 12, the processor further configured to align the electronic device prior to capturing thermal images.
14. The system of claim 12, the thermoreflectance coefficient (C.sub.TRi(x,y,.sub.i)) is determined based on
15. The system of claim 14, the processor further configured to determine reflection of the electronic device at an intermediate temperature while the electronic device is off for each of the plurality of pixels at each of the plurality of wavelengths (R.sub.OFFi(x,y,.sub.i)), wherein R and R in the step of fitting R/R vs. C.sub.TRi(x,y,.sub.i) is based on (R.sub.ONi(x,y,.sub.i))(R.sub.OFFi(x,y,.sub.i)) and (R.sub.OFFi(x,y,.sub.i)), respectively, and R.sub.ONi(x,y,.sub.i)) is the reflectance of the electronic device in the activated state for each of the plurality of pixels at each of the plurality of wavelengths.
16. The system of claim 15, the intermediate temperature is T.sub.low and R.sub.OFFi(x,y,.sub.i) is R.sub.lowi(x,y,.sub.i).
17. The system of claim 11, the processor further configured to minimize fitting error by performing the calibrating step and the fitting R/R vs. C.sub.TRi(x,y,.sub.i) step as function of time for any group of neighboring pixels of the plurality of pixels associated with a structure on the electronic device.
18. The system of claim 11, the processor configured to provide a T image for each of the plurality of pixels for each range of the wavelengths and a variance map associated with fitting error.
19. The system of claim 17, the processor configured to provide a T image for each of the plurality of pixels for each range of the wavelengths and a variance map associated with fitting error.
20. The system of claim 11, where the fitting of R/R vs. C.sub.TRi((x,y,.sub.i) is to a linear curve (Y=mX).
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) For the purposes of promoting an understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings, and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of this disclosure is thereby intended.
(13) In the present disclosure the term about can allow for a degree of variability in a value or range, for example, within 10%, within 5%, or within 1% of a stated value or of a stated limit of a range.
(14) In the present disclosure the term substantially can allow for a degree of variability in a value or range, for example, within 90%, within 95%, or within 99% of a stated value or of a stated limit of a range.
(15) A new method and system for obtaining absolute temperature maps of various samples, e.g., electronic and optoelectronic devices and integrated circuits, using the thermoreflectance imaging technique are disclosed. Fully calibrated thermal images are obtained by hyperspectral or multispectral curve fitting. Referring to
(16) Referring to
(17) Prior to measuring temperature, the system 10 must be calibrated. Referring to
(18) Once the autofocus and auto-alignment process is finished, the processor 30 requests the CCD Camera 24 to capture low temperature reflectance images for a plurality of pixels in a grid measured in x and y and for a plurality of wavelengths (R.sub.lowi(x,y,.sub.i)), as provided in block 112.
(19) Thereafter, in block 114 the processor 30 controls the x-y testing stage 22 to deliver thermal energy to the sample 12 to bring its temperature to T.sub.high. The thermal energy is delivered by activating the heating-cooling device 23. In other words, the heating-cooling device 23 applies thermal energy to the sample 12 to cause it to reach the T.sub.high. Next, the processor 30 controls the x-y testing stage 22 to center the sample 12 as the processor 30 examines images that the processor 30 commands the CCD camera 24 to capture, as provided in block 116. The processor 30 continues to control the CCD Camera 24 and the x-y testing stage 22 until the images are focused and aligned, as provided in blocks 118 and 116.
(20) Once the autofocus and auto-alignment process is finished, the processor 30 requests the CCD Camera 24 to capture high temperature reflectance images for a plurality of pixels in a grid measured in x and y and for a plurality of wavelengths (R.sub.highi(x,y,.sub.i)), as provided in block 120.
(21) Next in block 122, the processor computes the thermoreflectance coefficient C.sub.TR based on the relationship provided in equation 1.
(22)
wherein C.sub.TRi(x,y,.sub.i) is the thermoreflectance coefficient of a pixel having coordinates (x,y) at wavelength .sub.i. The ranges for wavelengths .sub.i are between about 300 nm to about 2000 nm. The range of temperature T.sub.low is between about 10 C. and about 50 C. The range of temperature T.sub.high is between about 20 C. and about 200 C. The difference between T.sub.high and T.sub.low ranges between about 10 C. and 100 C. The calibration process 100 ends at block 124. The calibration can be performed at cryogenic temperatures by choosing T.sub.low to be 4-100K or at very high temperatures (500-1000K). In both cases placing the sample inside a cryostat will help to avoid water condensation or oxidation effects. A temperature difference of a few Kelvins (1-10K) to 100K can be used to obtain the thermoreflectance coefficient with sufficient resolution and in a range where the change in reflection coefficient with temperature can be modeled based on a predetermined mathematical function.
(23) Once the initial calibration is complete, the processor 30 carries out a secondary characterization process 200, as provided in
(24) Referring to
(25) Once the autofocus and auto-alignment process is finished, the processor 30 requests the CCD Camera 24 to capture off-state temperature reflectance images for a plurality of pixels in a grid measured in x and y and for a plurality of wavelengths (R.sub.offi(x,y,.sub.i), as provided in block 212.
(26) Thereafter, in block 214 the processor 30 controls the sample 12 by activating it to an on-state. Next, the processor 30 controls the x-y testing stage 22 to center the sample 12 as the processor 30 examines images that the processor 30 commands the CCD camera 24 to capture, as provided in block 216. The processor 30 continues to control the CCD Camera 24 and the x-y testing stage 22 until the images are focused and aligned, as provided in blocks 218 and 216.
(27) Once the autofocus and auto-alignment process is finished, the processor 30 requests the CCD Camera 24 to capture on-state temperature reflectance images for a plurality of pixels in a grid measured in x and y and for a plurality of wavelengths (R.sub.ONi(x,y,.sub.i), as provided in block 220.
(28) Next in block 122, the processor computes the R/R based on the relationship provided in equation 2.
(29)
where R/R is the relative change in temperature reflectance between the off state and the on state of the sample 12.
(30) The secondary calibration process 200 ends in block 224.
(31) Once the initial calibration and secondary characterization processes 100 and 200 is complete, the processor 30 carries out a hyperspectral thermoreflectance imaging process 300, as provided in
(32) Referring to
(33) Next, the processor 30 calculates the slope of
(34)
for each pixel having coordinates (x,y) and for each wavelength .sub.i. C.sub.Tri is a material property that should not change so long as the range of calibrations in
(35) Next the processor 30 curve-fits the above relationship (R/R vs. C.sub.TRi) to a predetermined mathematical function. One such predetermined mathematical function is a linear curve (i.e., Y=mX), for which the slope represents T. However, other mathematical functions are possible.
(36) Next the processor 30 outputs a temperature map T for each pixel having coordinates (x,y) and a variance map associated with error representing the average fitting error for all wavelengths.
(37) The hyperspectral thermoreflectance imaging process 300 then ends in block 314.
(38) Referring to
(39) Referring to
(40) Referring to
(41) Referring to
(42) The hyperspectral measurement system and method of the present disclosure, provides the following advantages:
(43) 1) Hyperspectral image curve fitting provides a fully calibrated thermal image over the entire region of interest that can include different materials and surfaces finishes. By curve fitting to a predetermined mathematical function (e.g., a linear function), using all of the hyperspectral data including thermoreflectance data for each pixel at each swept wavelength and obtaining the parameters of that function, according to the teachings of the present disclosure, temperature information regarding each pixel on the surface of interest can be estimated based on the fitted curve. Temperature obtained based on initial calibration techniques described herein can be used to establish a measure of regression (R, seen in
(44) 2) Improved absolute temperature accuracy.
(45) 3) Self-calibrating & self-correcting. By using the data from multiple wavelength measurements, one can verify calibration accuracy and eliminate outliers which can be affected by surface condition, thermal expansion, or other sources of error.
(46) 4) Reduced optical anomalies from devices with passivation layers (e.g., semi-transparent Si.sub.3N.sub.4, SiO.sub.2, etc., on top of metal or semiconductor surfaces). Passivation layer can create surface interference for different illumination wavelengths. A slight change in the passivation layer thickness, can change the reflection coefficient and the thermoreflectance coefficient at a single wavelength significantly. Using hyperspectral technique, the surface response is more smooth and this can provide accurate pixel-by-pixel thermal maps on passivated layers.
(47) 5) All reflectance data is used to calculate the temperature change (not just the peak value of the thermoreflectance coefficient, C.sub.TR for a given material).
(48) 6) A map of the regression (e.g., R in
(49) Referring to
(50) Processor 1086 can implement processes of various aspects described herein. Processor 1086 can be or include one or more device(s) for automatically operating on data, e.g., a central processing unit (CPU), microcontroller (MCU), desktop computer, laptop computer, mainframe computer, personal digital assistant, digital camera, cellular phone, smartphone, or any other device for processing data, managing data, or handling data, whether implemented with electrical, magnetic, optical, biological components, or otherwise. Processor 1086 can include Harvard-architecture components, modified-Harvard-architecture components, or Von-Neumann-architecture components.
(51) The phrase communicatively connected includes any type of connection, wired or wireless, for communicating data between devices or processors. These devices or processors can be located in physical proximity or not. For example, subsystems such as peripheral system 1020, user interface system 1030, and data storage system 1040 are shown separately from the data processing system 1086 but can be stored completely or partially within the data processing system 1086.
(52) The peripheral system 1020 can include one or more devices configured to provide digital content records to the processor 1086. For example, the peripheral system 1020 can include digital still cameras, digital video cameras, cellular phones, or other data processors. The processor 1086, upon receipt of digital content records from a device in the peripheral system 1020, can store such digital content records in the data storage system 1040.
(53) The user interface system 1030 can include a mouse, a keyboard, another computer (connected, e.g., via a network or a null-modem cable), or any device or combination of devices from which data is input to the processor 1086. The user interface system 1030 also can include a display device, a processor-accessible memory, or any device or combination of devices to which data is output by the processor 1086. The user interface system 1030 and the data storage system 1040 can share a processor-accessible memory.
(54) In various aspects, processor 1086 includes or is connected to communication interface 1015 that is coupled via network link 1016 (shown in phantom) to network 1050. For example, communication interface 1015 can include an integrated services digital network (ISDN) terminal adapter or a modem to communicate data via a telephone line; a network interface to communicate data via a local-area network (LAN), e.g., an Ethernet LAN, or wide-area network (WAN); or a radio to communicate data via a wireless link, e.g., WiFi or GSM. Communication interface 1015 sends and receives electrical, electromagnetic or optical signals that carry digital or analog data streams representing various types of information across network link 1016 to network 1050. Network link 1016 can be connected to network 1050 via a switch, gateway, hub, router, or other networking device.
(55) Processor 1086 can send messages and receive data, including program code, through network 1050, network link 1016 and communication interface 1015. For example, a server can store requested code for an application program (e.g., a JAVA applet) on a tangible non-volatile computer-readable storage medium to which it is connected. The server can retrieve the code from the medium and transmit it through network 1050 to communication interface 1015. The received code can be executed by processor 1086 as it is received, or stored in data storage system 1040 for later execution.
(56) Data storage system 1040 can include or be communicatively connected with one or more processor-accessible memories configured to store information. The memories can be, e.g., within a chassis or as parts of a distributed system. The phrase processor-accessible memory is intended to include any data storage device to or from which processor 1086 can transfer data (using appropriate components of peripheral system 1020), whether volatile or nonvolatile; removable or fixed; electronic, magnetic, optical, chemical, mechanical, or otherwise. Exemplary processor-accessible memories include but are not limited to: registers, floppy disks, hard disks, tapes, bar codes, Compact Discs, DVDs, read-only memories (ROM), erasable programmable read-only memories (EPROM, EEPROM, or Flash), and random-access memories (RAMs). One of the processor-accessible memories in the data storage system 1040 can be a tangible non-transitory computer-readable storage medium, i.e., a non-transitory device or article of manufacture that participates in storing instructions that can be provided to processor 1086 for execution.
(57) In an example, data storage system 1040 includes code memory 1041, e.g., a RAM, and disk 1043, e.g., a tangible computer-readable rotational storage device such as a hard drive. Computer program instructions are read into code memory 1041 from disk 1043. Processor 1086 then executes one or more sequences of the computer program instructions loaded into code memory 1041, as a result performing process steps described herein. In this way, processor 1086 carries out a computer implemented process. For example, steps of methods described herein, blocks of the flowchart illustrations or block diagrams herein, and combinations of those, can be implemented by computer program instructions. Code memory 1041 can also store data, or can store only code.
(58) Various aspects described herein may be embodied as systems or methods. Accordingly, various aspects herein may take the form of an entirely hardware aspect, an entirely software aspect (including firmware, resident software, micro-code, etc.), or an aspect combining software and hardware aspects These aspects can all generally be referred to herein as a service, circuit, circuitry, module, or system.
(59) Furthermore, various aspects herein may be embodied as computer program products including computer readable program code stored on a tangible non-transitory computer readable medium. Such a medium can be manufactured as is conventional for such articles, e.g., by pressing a CD-ROM. The program code includes computer program instructions that can be loaded into processor 1086 (and possibly also other processors), to cause functions, acts, or operational steps of various aspects herein to be performed by the processor 1086 (or other processors). Computer program code for carrying out operations for various aspects described herein may be written in any combination of one or more programming language(s), and can be loaded from disk 1043 into code memory 1041 for execution. The program code may execute, e.g., entirely on processor 1086, partly on processor 1086 and partly on a remote computer connected to network 1050, or entirely on the remote computer.
(60) Those skilled in the art will recognize that numerous modifications can be made to the specific implementations described above. The implementations should not be limited to the particular limitations described. Other implementations may be possible.