[go: up one dir, main page]

WO2005024403A1 - Ball grid array inspection system and method - Google Patents

Ball grid array inspection system and method Download PDF

Info

Publication number
WO2005024403A1
WO2005024403A1 PCT/IB2003/003791 IB0303791W WO2005024403A1 WO 2005024403 A1 WO2005024403 A1 WO 2005024403A1 IB 0303791 W IB0303791 W IB 0303791W WO 2005024403 A1 WO2005024403 A1 WO 2005024403A1
Authority
WO
WIPO (PCT)
Prior art keywords
ball
grid array
ball contact
ball grid
height
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2003/003791
Other languages
French (fr)
Inventor
Ajharali Amanullah
Seow Hoon Tan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Tech and Instruments Pte Ltd
Original Assignee
Semiconductor Tech and Instruments Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Tech and Instruments Pte Ltd filed Critical Semiconductor Tech and Instruments Pte Ltd
Priority to PCT/IB2003/003791 priority Critical patent/WO2005024403A1/en
Priority to AU2003264916A priority patent/AU2003264916A1/en
Publication of WO2005024403A1 publication Critical patent/WO2005024403A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures

Definitions

  • the present invention pertains to the field of inspection systems, and ' more particularly to a system and method for inspecting ball grid arrays to determine co- planarity and ball contact tip flatness from two sets of two-dimensional image data.
  • the processes for determining the co-planarity of ball contacts of ball grid arrays include mechanical measuring devices or generating three-dimensional data through three-dimensional imaging devices. Such methods are time intensive, which greatly increases inspection cost and slows down the speed at which semiconductor packages that use ball grid arrays can be inspected.
  • a system and method for inspecting ball grid arrays are provided that overcome known problems with systems and methods for inspecting ball grid arrays .
  • a system and method for inspecting ball grid arrays use two sets of two- dimensional image data to determine co-planarity and ball contact tip flatness for each ball contact of the ball grid array.
  • a system for determining co-planarity of a ball grid array includes a lateral lighting system that illuminates the ball grid array from one or more locations that are adjacent to the ball grid array.
  • An inner diameter system generates inner diameter data of an inner region of each illuminated ball contact of the ball grid array, such as an inner diameter of an annulus or other suitable shapes formed by the lateral lighting of the ball contacts.
  • An outer diameter system generates outer diameter data of an inner region of each illuminated ball contact of the ball grid array, such as the outer diameter of the annulus.
  • a ball contact height system receives the inner diameter data and the outer diameter data for each ball contact of the ball grid array and determines a height for each ball contact, such as by cross-referencing the difference in inner and out diameter to a predetermined height associated with the difference.
  • the present invention provides many important technical advantages.
  • One important technical advantage of the present invention is a system and method for inspecting ball grid arrays that allows the co-planarity and ball contact tip flatness of each ball contact of the ball grid array to be quickly determined from two sets of image data, where each set of image data is generated using a different light source.
  • FIGURE 1 is a diagram of a system for inspecting ball grid arrays in accordance with an exemplary embodiment of the present invention
  • FIGURE 2 is a diagram of a system for rough and fine diameter coordinate determination in accordance with an exemplary embodiment of the invention
  • FIGURE 3 is a diagram of a system for determining ball contact tip flat part area in accordance with exemplary embodiment of the present invention
  • FIGURE 4 is a diagram of a system for determining ball contact height in accordance with an exemplary embodiment of the present invention
  • FIGURE 5 is a diagram of system for determining ball contact height co-planarity in accordance with an exemplary embodiment of the present invention
  • FIGURE 6 is a flow chart of a method for performing a ball grid array inspection in accordance with an exemplary embodiment of the present invention
  • FIGURE 7 is flow chart of a method for determining co-planarity of a ball grid
  • FIGURE 1 is a diagram of a system 100 for inspecting ball grid arrays in accordance with an exemplary embodiment of the present invention.
  • System 100 allows the tip flatness and height of each ball contact of a ball grid array to be determined from two sets of image data.
  • System 100 includes image data analysis system 102, which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
  • a hardware system can include discrete semiconductor devices, an application-specific integrated circuit, a field programmable gate array or other suitable devices.
  • a software system can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, user-readable (source) code, machine-readable (object) code, two or more lines of code in two or more corresponding software applications, databases, or other suitable software architectures.
  • a software system can include one or more lines of code in a general purpose software application, such as an operating system, and one or more lines of code in a specific purpose software application.
  • Image data analysis system 102 is coupled to image data system 104, which can be implemented in hardware or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
  • Couple and its cognate terms, such as “couples” and “coupled,” can include a physical connection (such as a copper conductor) , a virtual connection (such as through randomly assigned memory locations of a data memory device) , a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections.
  • systems and components are coupled to other systems and components through intervening systems ' and components, such as through an operating system.
  • Communications media can be a local area network, a wide area network, a public network such as the Internet, the public switched telephone network, a wireless network, a fiber optic network, other suitable media, or a suitable combination of such media.
  • Image data system 104 generates image data when ball grid array 116 (shown with a single exemplary ball contact) is illuminated by direct or overhead lighting system 118 and indirect or lateral lighting systems 120A and 120B.
  • Image data system 104 includes overhead lighting control system 110 and lateral lighting control system 112, which control overhead lighting system 118 and lateral lighting systems 120A and 120B, respectively.
  • Lateral lighting systems 120A and 120B are located a height H above the surface upon which ball grid array support 114 and ball grid array 116 rest.
  • Overhead lighting control system 110 causes overhead lighting system 118 to illuminate the ball grid array 116 while image data system 104 generates two- dimensional image data of ball grid array 116 for analysis by image data analysis system 102.
  • DALLAS 602656 vl lighting control system 112 causes lateral lighting systems 120A and 12OB to illuminate ball grid array 116 while image data system 104 generates image data of ball grid array 116 for analysis by image data analysis system 102.
  • Image data system 104 is coupled to overhead lighting system 118 and lateral lighting systems 120A and 120B, such that these lighting systems can be controlled to be on, off, or alternately on and off, as suitable. In this manner, ball grid array 116 can be inspected for co-planarity and ball tip flatness without the need to move ball grid array 116 to different inspection positions.
  • Image data set 122 is an exemplary set of image data that is generated when ball grid array 116 is illuminated by overhead lighting system 118.
  • image data set 122 includes an area of dark pixels having a diameter of Dl and an area of light pixels having a diameter of D2.
  • ball grid array support 114 generates light pixel values when illuminated by overhead lighting system 118.
  • Image data set 124 is an exemplary set of image data generated by when ball grid array 116 is illuminated by lateral lighting systems 120A and 120B.
  • an annulus or other suitable shape of light pixels is formed, such as by the reflection of light from the lateral sources off the sides of each ball contact of ball grid array 116 towards image data system 104.
  • lateral lighting systems 120A and 120B do not illuminate ball grid array support 114 or the top of the ball contacts of ball grid array 116, these areas appear dark.
  • an annulus having two diameters, Dl and D3 is formed by illumination of ball contacts of ball grid array 116 with lateral lighting systems 120A and 120B. The difference between Dl and D3 will be a function of the height of the corresponding ball contact .
  • ball contact height system 108 can store a table of such values, and can also receive diameter data from a plurality of locations around the circumference of the light annulus of image data set 124.
  • the light annulus of image data set 124 may have a different diameter value for D3 and Dl around the circumference of each ball contact, such that an accurate estimate of the ball contact height for each ball contact of ball grid array 116 can be obtained by checking the difference between diameter Dl and D3 at different circumferential locations, and selecting the difference which correlates to the maximum height.
  • Ball contact height system 108 can perform this function based on image data set 124 or other image data generated by image data system 104. [0023] In operation, system 100 is used to inspect the ball contacts of ball grid array 116 for co-planarity and ball contact tip flatness.
  • Image data system 104 generates a first image data set when ball grid array 116 is illuminated by overhead lighting system 118, and a second set of image data when ball grid array 116 is illuminated by the lateral lighting systems 120A and 120B.
  • a greater or lesser number of lateral lighting sources can be used, lateral lighting sources at different heights H can be used, or other suitable lighting sources can be used to generate image data for performing ball contact height analysis .
  • image data such as that shown as image data set 122 can be generated.
  • a flat part on the top of a ball contact can reflect light back such that a light area is formed, such as one having a diameter D2 as shown.
  • ball grid array support 114 of ball grid array 116 will also reflect light, but the ball contacts of ball grid array 116 will diffuse such overhead lighting and appear darker.
  • the circumference of the flat part having a diameter of D2 can be determined, such that the area of the flat part can be determined from the circumference.
  • other analytical techniques can be used to determine the size of a flat part, such as for areas that are irregular in shape .
  • FIGURE 2 is a diagram of a system 200 for rough and fine diameter coordinate determination in accordance with an exemplary embodiment of the invention.
  • System 200 includes rough diameter coordinate boxes 202A through 202D, and fine diameter coordinate boxes 204A through 204K.
  • the rough diameter coordinate boxes 202A through 202D can be used to determine the coordinates of the ball contact at four locations that are approximately 90 degrees apart from each other circumferentially .
  • the edge of a ball contact can be determined by comparing changes in pixel brightness values for ' adjacent pixels, such as by moving from one end of box 202A to the other end. For example, starting at the top of box 202A as shown in FIGURE 2, the image data generated when ball grid array 116 is illuminated by overhead lighting system 118 results in light pixel values for the base and dark pixel values for the ball contact.
  • FIGURE 3 is a diagram of a system 300 for determining ball contact tip flat part area in accordance with exemplary embodiment of the present invention.
  • System 300 includes ball contact tip flatness system 106 and flat part detection system 302, rough diameter system 304, fine diameter system 306, and flat part area system 308, each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
  • Flat part detection system 302 detects changes in brightness values of pixels within an area that has been determined to be a ball contact in an image data set generated when overhead lighting is used to illuminate ball grid array 116 and generates flat part edge coordinate data.
  • flat part detection system 302 can look for variations in pixel brightness values that exceed predetermined allowable variations within an area bounded by a diameter determined through a rough and/or subsequent fine diameter determination processes, so that only pixels within the diameter of a ball contact are analyzed to locate flat parts. Other suitable processes can also be used.
  • Rough diameter system 304 performs rough diameter analysis of a ball contact, a flat part, an annulus, or other suitable features within image data.
  • rough diameter system 304 can be used in conjunction with a golden template or other suitable processes to confirm the location of ball contacts at predetermined locations.
  • rough diameter system 304 can also be used to find ball contacts in an undefined set of image data such as by using a template of rough diameter blocks such as that shown on FIGURE 2 and determining whether patterns in the image data match expected ball contact image pattern.
  • Rough diameter system 304 generates circumference coordinate data.
  • Fine diameter system 306 generates additional circumference coordinate data, such as by moving boxes 204A through 204K circumferentially, by a predetermined angular amount, or in other suitable manners.
  • fine diameter system 306 can be used to generate ball ' contact diameter data, ball contact circumference data, ball contact perimeter data, annulus diameter data, annulus circumference data, annulus perimeter data, flat part diameter data, flat part circumference data, flat part perimeter data, or other suitable data.
  • Flat part area system 308 receives flat part edge coordinate data and performs area calculations based on the edge coordinate data.
  • a flat part area system 308 can compare the calculated area to predetermined criteria for such areas, such as where it is specified that a ball contact is allowed to have flat parts with a total area that is less than a predetermined amount.
  • Flat part' area system 308 can also generate pass/fail test data, such as identifying ball contacts having unacceptable amounts of flatness .
  • system 300 is used to perform ball contact tip flatness analysis.
  • System 300 receives image data from a direct or overhead lighting system and analyzes ball contacts to determine whether any flat parts are present, and whether the surface area of such flat parts is within allowable limits.
  • FIGURE 4 is a diagram of a system 400 for determining ball contact height in accordance with an exemplary embodiment of the present invention.
  • System 400 includes ball contact height system 108 and direct outer diameter system 402, lateral outer diameter system 404, lateral inner diameter system 406 and height analysis system 408, ' each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
  • Direct outer diameter system 402 receives image data generated while ball grid array 116 is illuminated by overhead lighting system 118 and determines the diameter of each ball contact in ball grid array 116.
  • direct outer diameter system 402 can use rough and fine diameter analysis to determine the diameter, can perform deviation analyses of the diameter measurements to determine whether diameter variations for a ball contact are unacceptable, and can perform other suitable analyses.
  • Lateral outer diameter system 404 receives image data generated while ball grid array 116 is illuminated with a lateral lighting source such as lateral lighting systems 120A and 120B of FIGURE 1, and determines the outer diameter of the annulus formed when a ball contact is illuminated in that manner, such as shown in image data set 124 of FIGURE 1.
  • Lateral outer diameter system 404 can use rough and fine diameter processes to generate diameter data, can perform analysis of diameter variations, and can perform other suitable analyses. For example, when performing rough and fine diameter analysis on a set of image data, rough diameter system 304 and fine diameter system 306 can be used to detect changes from dark pixel values to light pixel values for the lateral outer diameter data values.
  • Lateral inner diameter system 406 receives image data generated while ball grid array 116 is illuminated with a lateral lighting source such as lateral lighting systems 120A and 120B of FIGURE 1, and determines the inner diameter of the annulus formed when a ball contact is illuminated in that manner, such as shown in image data set 124 of FIGURE 1.
  • Lateral inner diameter system 406 can use rough and fine diameter processes to generate diameter data, can perform analysis of diameter variations, and can perform other suitable analyses. For example, when performing rough and fine diameter analysis on a set of image data, rough diameter system 304 and fine diameter system 306 can be used to detect changes from dark pixel values to light pixel values for the lateral inner diameter data values .
  • Height analysis system 408 receives inner diameter and outer diameter data for an annulus formed when a ball contact is illuminated with a lateral lighting source and determines the ball contact height from the difference between the inner diameter and outer diameter data. In one exemplary embodiment, height analysis system 408 can be calibrated such that the differences in diameters are correlated to measured ball contact heights.
  • system 400 allows the height of ball contacts of a ball grid array to be determined, such as by using image data generated by overhead lighting and image data generated through lateral lighting or other suitable processes. System 400 allows the height of each ball contact to be determined for use in determining co-planarity of the ball contacts of the ball grid array.
  • FIGURE 5 is a diagram of system 500 for determining ball contact height co-planarity in accordance with an exemplary embodiment of the present invention.
  • System 500 includes height analysis system 408 and datum plane height system 502, best fit plane system 504, and co- planarity system 506, each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
  • Datum plane height system 502 determines the height of each of a plurality of ball contacts in a ball grid array from a datum plan.
  • the datum plane can be ball grid array support 114 of ball grid array 116 in FIGURE 1, an inspection base on which ball grid array support 114 rests, or other suitable datum planes.
  • Datum plane height system 502 can also associate an ⁇ X'' and " " " " Y" coordinate with each height or * ⁇ * ⁇ Z'' coordinate of an associated ball contact.
  • Best fit plane system 504 generates best fit plane coordinate data based on height coordinate data for ball contacts of a ball grid array, such as using a regression analysis, a lease squares fit analysis, or other suitable analyses. Best fit plane system 504 generates plane coordinate data that is used to determine the difference between the best fit plane and the tops of each of the ball contacts of the ball grid array. In one exemplary embodiment, best fit plane system 504 can also move the best fit plane axially to the top of the highest ball contact, such that all other ball contacts lie at or below the best fit plane, and can perform other suitable processes. [0043] Co-planarity system 506 generates co-planarity data based on ball contact height data.
  • co-planarity system 506 can determine a deviation of a ball contact top from a best fit plane and can determine whether the deviation exceeds a maximum allowable deviation.
  • the maximum allowable deviation may be specified by customer requirements or standards as being within a certain number of microns, a certain percentage of total ball contact height, or other figures of merit.
  • Co-planarity system 506 can determine whether the deviation for each ball contact exceed the maximum allowable deviation.
  • co-planarity system 506 can determine whether co-planarity data relevant to a relocated best, fit plane have been met, or whether other suitable co-planarity indicators as specified by customers or standards are present or absent.
  • Co-planarity system 506 can also generate pass/fail data, so as to indicate whether a particular ball grid array is acceptable or in accordance with specifications.
  • system 500 is used to analyze ball contact height in a ball grid array to determine whether the ball grid array meets manuf cturing specifications.
  • System 500 allows customer or standard specified processes to be implemented for analysis of ball grid array ball contact heights .
  • FIGURE 6 is a flow chart of a method 600 for performing • a ball grid array inspection in accordance with an exemplary embodiment of the present invention. Method 600 begins at 602 where the ball contacts are illuminated with a direct or overhead illumination source.
  • the direct or overhead illumination source can be approximately directly overhead of the ball grid array, such that the light impinging on the ball grid array tends to be dispersed on ball contacts but to illuminate the base of the ball grid array. Likewise, any flat spots on the tops of ball contacts will also be illuminated such that the flat parts appear brighter than the ball contacts.
  • the method then proceeds to 604.
  • rough ball contact location is performed at four points.
  • a golden template or other suitable processes can be used to locate the approximate location of ball contacts and a rough location process can be used to calculate the coordinates at each of four locations that are roughly 90 degrees apart, such as by analyzing changes in pixel brightness values for adjacent pixels over a pre-determined pixel range. When a change in pixel brightness values exceeds a predetermined allowable change, the rough ball location process can indicate that the diameter or circumference edge of the ball contact has been located. Other suitable processes can also be used.
  • the method then proceeds to 606.
  • fine ball location is performed at additional points.
  • the pixel boxes can be moved circumferentially by a predetermined distance, a predetermined angular distance, or in other suitable manners so as to generate coordinate data for the circumferential edge of a ball contact .
  • the method then proceeds to 608.
  • pass/fail testing can be performed such that subsequent analysis of the ball grid array is suspended if it is determined that the ball grid array has unacceptable flat parts.
  • the method then proceeds to 612.
  • the ball contacts are illuminated with indirect illumination, such as from a lateral source that is placed at a lateral distance from the ball grid array, so as to illuminate only the sides of the ball contacts and not the tops or the base, thus forming an annulus or other suitable shapes.
  • the method then proceeds to 614 where the inner diameter of the annulus that is created from indirect illumination of ball contacts is determined, such as by using a rough and fine location technique or in other suitable manners.
  • the inner diameter can be determined or analyzed by traversing a pixel box from an outer edge to an inner edge pixel by pixel and looking for a change from bright to dark pixel values in adjacent pixels, or other suitable processes can be used. The method then proceeds to 616.
  • an outer diameter of a light 'annulus formed by illumination of ball contacts with lateral illumination is performed.
  • the rough and fine diameter processes can be used to ' determine the diameter/perimeter/circumference, deviations in diameter can be determined so as to determine whether an unacceptable level of deviation exists, or other suitable processes can be used.
  • the method then proceeds to 618.
  • the ball contact height is determined from the difference between the inner and outer diameters determined at step 614 and 616.
  • the coordinates for inner and outer diameters can be determined at the same angular locations, such that the difference between the inner and outer diameter as a function of angular location on the annulus can be determined.
  • additional analyses of the differences can be performed, such as to determine whether an unacceptable degree of variation exists, to determine the maximum height, or other suitable analyses.
  • the height of the ball contact can be determined by using the difference between the inner and outer diameter as cross correlated to calibrated height measurements that have been compared to previously measured differences between inner and outer diameter under similar lighting conditions, the mathematical relationship of the light to the ball grid array can be used to calculate the expected difference between the inner or outer diameter, or other suitable processes can be used. The method then proceeds to 620.
  • co-planarity of the ball grid array is determined.
  • co- planarity can be determined by determining the distribution of ball contact heights and analyzing whether the variation in the distribution exceed predetermined allowable variations .
  • operation method 600 allows a ball grid array to be examined or inspected by using direct or overhead illumination and lateral or indirect illumination, to generate two sets of image data, each of which illuminates different types of features of the ball contacts of the ball grid array.
  • FIGURE 7 is flow chart of a method ' 700 for determining co-planarity of a ball grid array in accordance with an exemplary embodiment of the present invention.
  • Method 700 begins at 702 where the ball contact height from a datum plate is determined for each ball contact of the ball grid array.
  • the ball contact heights from a datum plane can include (X,Y,Z) coordinates for a ball contact height as determined from lateral or indirect lighting measurements or other suitable data. The method then proceeds to 704.
  • a best fit plane is determined based on the ball contact heights of the ball grid array.
  • a regression analysis can be used to determine a least squares fit plane based on all measured ball contact heights.
  • the coordinates for the plane can be generated and the method proceeds to 706.
  • the best fit plane is moved axially to be aligned with the tallest ball contact or contacts.
  • the best fit- plane can be moved by adding a " " " " ⁇ Z * ' coordinate displacement equal to the difference between the location of the best fit plane and " Z M coordinate of the tallest ball contact or contacts to the coordinates for the best fit plane. The method then proceeds to 708.
  • the ball contact height of each ball contact from the best fit plane is determined, such as by subtracting the ball contact coordinate height data from the height data for the best fit plane as shifted to the highest ball contact. The method then proceeds to 710. [0058] At 710 it is determined whether the difference in height from the best fit plane for any contact is greater than the maximum allowable height variation. For example, a predetermined absolute distance for a given ball contact array can be determined, a percentage of the ball contact height can be used, or other suitable processes can be used.
  • method 700 allows the co-planarity of a ball grid array to be determined, such as by determining whether the variation in ball contact heights for each ball contact in the ball grid array exceeds allowable parameters.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

A system (100) for determining co-planarity of a ball grid array (116) is provided. The system includes a lateral lighting system (120A,120B) that illuminates the ball grid array from one or more locations that are adjacent to the ball grid array. An inner diameter system generates inner diameter data of an inner region of each illuminated ball contact of the ball grid array, such as an inner diameter of an annulus or other suitable shapes formed by the lateral lighting of the ball contacts. An outer diameter system generates outer diameter data of an inner region of each illuminated ball contact of the ball grid array, such as the outer diameter of the annulus. A ball contact height system (108) receives the inner diameter data and the outer diameter data for each ball contact of the ball grid array and determines a height for each ball contact, such as by cross-referencing the difference in inner and out diameter to a predetermined height associated with the difference.

Description

IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
SPECIFICATION accompanying
Application for Grant of U.S. Letters Patent
TITLE: BALL GRID ARRAY INSPECTION SYSTEM AND METHOD
FIELD OF THE INVENTION
[0001] The present invention pertains to the field of inspection systems, and ' more particularly to a system and method for inspecting ball grid arrays to determine co- planarity and ball contact tip flatness from two sets of two-dimensional image data.
BACKGROUND [0002] Systems for inspecting ball grid arrays are known in the art. Such systems are used to determine whether the co-planarity of each ball contact of the ball grid array is adequate to allow the ball grid array to be used in an application. For example, if the tops of each of the ball contacts of the ball grid array do not have a suitable co- planarity, then it is possible that some of the ball contacts will not make contact when the ball grid array package is placed into an application.
[0003] The processes for determining the co-planarity of ball contacts of ball grid arrays include mechanical measuring devices or generating three-dimensional data through three-dimensional imaging devices. Such methods are time intensive, which greatly increases inspection cost and slows down the speed at which semiconductor packages that use ball grid arrays can be inspected.
SUMMARY OF THE INVENTION
[0004] In accordance with the present invention, a system and method for inspecting ball grid arrays are provided that overcome known problems with systems and methods for inspecting ball grid arrays .
[0005] In particular, a system and method for inspecting ball grid arrays are provided that use two sets of two- dimensional image data to determine co-planarity and ball contact tip flatness for each ball contact of the ball grid array.
[0006] In accordance with an exemplary embodiment of the present invention, a system for determining co-planarity of a ball grid array is provided. The system includes a lateral lighting system that illuminates the ball grid array from one or more locations that are adjacent to the ball grid array. An inner diameter system generates inner diameter data of an inner region of each illuminated ball contact of the ball grid array, such as an inner diameter of an annulus or other suitable shapes formed by the lateral lighting of the ball contacts. An outer diameter system generates outer diameter data of an inner region of each illuminated ball contact of the ball grid array, such as the outer diameter of the annulus. A ball contact height system receives the inner diameter data and the outer diameter data for each ball contact of the ball grid array and determines a height for each ball contact, such as by cross-referencing the difference in inner and out diameter to a predetermined height associated with the difference. [0007] The present invention provides many important technical advantages. One important technical advantage of the present invention is a system and method for inspecting ball grid arrays that allows the co-planarity and ball contact tip flatness of each ball contact of the ball grid array to be quickly determined from two sets of image data, where each set of image data is generated using a different light source.
[0008] Those skilled in the art will further appreciate the advantages and superior features of the invention together with other important aspects thereof on reading the detailed description that follows in conjunction with the drawings .
BRIEF DESCRIPTION OF THE DRAWINGS [0009] FIGURE 1 is a diagram of a system for inspecting ball grid arrays in accordance with an exemplary embodiment of the present invention; [0010] FIGURE 2 is a diagram of a system for rough and fine diameter coordinate determination in accordance with an exemplary embodiment of the invention; [0011] FIGURE 3 is a diagram of a system for determining ball contact tip flat part area in accordance with exemplary embodiment of the present invention; [0012] FIGURE 4 is a diagram of a system for determining ball contact height in accordance with an exemplary embodiment of the present invention; [0013] FIGURE 5 is a diagram of system for determining ball contact height co-planarity in accordance with an exemplary embodiment of the present invention; [0014] FIGURE 6 is a flow chart of a method for performing a ball grid array inspection in accordance with an exemplary embodiment of the present invention; and [0015] FIGURE 7 is flow chart of a method for determining co-planarity of a ball grid array in accordance with an exemplary embodiment of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS [0016] In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals, respectively. The drawing figures might not be to scale, and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness . [0017] FIGURE 1 is a diagram of a system 100 for inspecting ball grid arrays in accordance with an exemplary embodiment of the present invention. System 100 allows the tip flatness and height of each ball contact of a ball grid array to be determined from two sets of image data. [0018] System 100 includes image data analysis system 102, which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform. As used herein, a hardware system can include discrete semiconductor devices, an application-specific integrated circuit, a field programmable gate array or other suitable devices. A software system can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, user-readable (source) code, machine-readable (object) code, two or more lines of code in two or more corresponding software applications, databases, or other suitable software architectures. In one exemplary embodiment, a software system can include one or more lines of code in a general purpose software application, such as an operating system, and one or more lines of code in a specific purpose software application. [0019] Image data analysis system 102 is coupled to image data system 104, which can be implemented in hardware or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform. As used herein, the term "couple" and its cognate terms, such as "couples" and "coupled," can include a physical connection (such as a copper conductor) , a virtual connection (such as through randomly assigned memory locations of a data memory device) , a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections. In one exemplary embodiment, systems and components are coupled to other systems and components through intervening systems ' and components, such as through an operating system. Communications media can be a local area network, a wide area network, a public network such as the Internet, the public switched telephone network, a wireless network, a fiber optic network, other suitable media, or a suitable combination of such media. [0020] Image data system 104 generates image data when ball grid array 116 (shown with a single exemplary ball contact) is illuminated by direct or overhead lighting system 118 and indirect or lateral lighting systems 120A and 120B. Image data system 104 includes overhead lighting control system 110 and lateral lighting control system 112, which control overhead lighting system 118 and lateral lighting systems 120A and 120B, respectively. Lateral lighting systems 120A and 120B are located a height H above the surface upon which ball grid array support 114 and ball grid array 116 rest. Overhead lighting control system 110 causes overhead lighting system 118 to illuminate the ball grid array 116 while image data system 104 generates two- dimensional image data of ball grid array 116 for analysis by image data analysis system 102. Likewise, lateral 7
015113.0000 DALLAS 602656 vl lighting control system 112 causes lateral lighting systems 120A and 12OB to illuminate ball grid array 116 while image data system 104 generates image data of ball grid array 116 for analysis by image data analysis system 102. Image data system 104 is coupled to overhead lighting system 118 and lateral lighting systems 120A and 120B, such that these lighting systems can be controlled to be on, off, or alternately on and off, as suitable. In this manner, ball grid array 116 can be inspected for co-planarity and ball tip flatness without the need to move ball grid array 116 to different inspection positions.
[0021] Image data set 122 is an exemplary set of image data that is generated when ball grid array 116 is illuminated by overhead lighting system 118. In this exemplary embodiment, image data set 122 includes an area of dark pixels having a diameter of Dl and an area of light pixels having a diameter of D2. Likewise, ball grid array support 114 generates light pixel values when illuminated by overhead lighting system 118. [0022] Image data set 124 is an exemplary set of image data generated by when ball grid array 116 is illuminated by lateral lighting systems 120A and 120B. In this exemplary embodiment, an annulus or other suitable shape of light pixels is formed, such as by the reflection of light from the lateral sources off the sides of each ball contact of ball grid array 116 towards image data system 104. Likewise, because lateral lighting systems 120A and 120B do not illuminate ball grid array support 114 or the top of the ball contacts of ball grid array 116, these areas appear dark. Thus, an annulus having two diameters, Dl and D3 , is formed by illumination of ball contacts of ball grid array 116 with lateral lighting systems 120A and 120B. The difference between Dl and D3 will be a function of the height of the corresponding ball contact . While a mathematical formula can be derived to determine the difference based on the spatial Relationship between image data system 104, lateral lighting systems 120A and 120B, and the height H of lateral lighting systems 120A and 120B over the reference plane, it is also possible to calibrate the height, such as by using physically-measured ball contact heights and cross-referencing those heights to the difference between diameters Dl and D3. In this manner, the ball contact height can be determined from the difference between diameter Dl and diameter D3. In one exemplary embodiment, ball contact height system 108 can store a table of such values, and can also receive diameter data from a plurality of locations around the circumference of the light annulus of image data set 124. For example, the light annulus of image data set 124 may have a different diameter value for D3 and Dl around the circumference of each ball contact, such that an accurate estimate of the ball contact height for each ball contact of ball grid array 116 can be obtained by checking the difference between diameter Dl and D3 at different circumferential locations, and selecting the difference which correlates to the maximum height. Ball contact height system 108 can perform this function based on image data set 124 or other image data generated by image data system 104. [0023] In operation, system 100 is used to inspect the ball contacts of ball grid array 116 for co-planarity and ball contact tip flatness. Image data system 104 generates a first image data set when ball grid array 116 is illuminated by overhead lighting system 118, and a second set of image data when ball grid array 116 is illuminated by the lateral lighting systems 120A and 120B. Likewise, a greater or lesser number of lateral lighting sources can be used, lateral lighting sources at different heights H can be used, or other suitable lighting sources can be used to generate image data for performing ball contact height analysis .
[0024] In addition, when ball grid array 116 is illuminated by overhead lighting system 118, image data such as that shown as image data set 122 can be generated. In this exemplary embodiment, a flat part on the top of a ball contact can reflect light back such that a light area is formed, such as one having a diameter D2 as shown. Likewise, ball grid array support 114 of ball grid array 116 will also reflect light, but the ball contacts of ball grid array 116 will diffuse such overhead lighting and appear darker. In this exemplary embodiment, the circumference of the flat part having a diameter of D2 can be determined, such that the area of the flat part can be determined from the circumference. Likewise, other analytical techniques can be used to determine the size of a flat part, such as for areas that are irregular in shape . [0025] System 100 thus allows ball grid array 116 to be inspected to determine co-planarity and ball 'Contact tip flatness using two sets of image data while ball grid array 116 is held at a single inspection location. In this manner, repeated registering of ball grid array 116 to a golden template or other related processes do not have to be performed, thus allowing the inspection to be performed quickly and accurately. [0026] FIGURE 2 is a diagram of a system 200 for rough and fine diameter coordinate determination in accordance with an exemplary embodiment of the invention. System 200 includes rough diameter coordinate boxes 202A through 202D, and fine diameter coordinate boxes 204A through 204K. As shown in FIGURE 2, the rough diameter coordinate boxes 202A through 202D can be used to determine the coordinates of the ball contact at four locations that are approximately 90 degrees apart from each other circumferentially . The edge of a ball contact can be determined by comparing changes in pixel brightness values for ' adjacent pixels, such as by moving from one end of box 202A to the other end. For example, starting at the top of box 202A as shown in FIGURE 2, the image data generated when ball grid array 116 is illuminated by overhead lighting system 118 results in light pixel values for the base and dark pixel values for the ball contact. As pixel values are compared to adjacent pixel values moving from the top of box 202a down towards the bottom the direction of box 202b, the pixel values will be close in value until the edge of a ball contact of ball grid array 116 is reached, at which point the pixel values will change to dark values. Thus, using predetermined differences in pixel value rays, it is possible to' locate a rough edge coordinate for a ball contact in box 202a. Similar process can be used in boxes 202B, 202C and 202d. [0027] After coordinate locations are found in the rough diameter system or process, they can be verified against expected ball contact dimension data. A fine diameter process can then be used by rotating the boxes angularly around the circumference to generate additional coordinate data for the circumference of each ball contract . In this manner, the coordinates of the diameter or the circumference of each ball contact of ball grid array 116, or of another area of interest such as thep annulus shown in exemplary image data set 124, or such as a flat part shown in exemplary image data set 122, or other features can be determined for subsequent analysis . [0028] FIGURE 3 is a diagram of a system 300 for determining ball contact tip flat part area in accordance with exemplary embodiment of the present invention. System 300 includes ball contact tip flatness system 106 and flat part detection system 302, rough diameter system 304, fine diameter system 306, and flat part area system 308, each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform. [0029] Flat part detection system 302 detects changes in brightness values of pixels within an area that has been determined to be a ball contact in an image data set generated when overhead lighting is used to illuminate ball grid array 116 and generates flat part edge coordinate data. In one exemplary embodiment, flat part detection system 302 can look for variations in pixel brightness values that exceed predetermined allowable variations within an area bounded by a diameter determined through a rough and/or subsequent fine diameter determination processes, so that only pixels within the diameter of a ball contact are analyzed to locate flat parts. Other suitable processes can also be used. [0030] Rough diameter system 304 performs rough diameter analysis of a ball contact, a flat part, an annulus, or other suitable features within image data. In one exemplary embodiment, rough diameter system 304 can be used in conjunction with a golden template or other suitable processes to confirm the location of ball contacts at predetermined locations. Likewise, rough diameter system 304 can also be used to find ball contacts in an undefined set of image data such as by using a template of rough diameter blocks such as that shown on FIGURE 2 and determining whether patterns in the image data match expected ball contact image pattern. Rough diameter system 304 generates circumference coordinate data. [0031] Fine diameter system 306 generates additional circumference coordinate data, such as by moving boxes 204A through 204K circumferentially, by a predetermined angular amount, or in other suitable manners. In this exemplary embodiment, fine diameter system 306 can be used to generate ball' contact diameter data, ball contact circumference data, ball contact perimeter data, annulus diameter data, annulus circumference data, annulus perimeter data, flat part diameter data, flat part circumference data, flat part perimeter data, or other suitable data.
[0032] Flat part area system 308 receives flat part edge coordinate data and performs area calculations based on the edge coordinate data. In one exemplary embodiment, a flat part area system 308 can compare the calculated area to predetermined criteria for such areas, such as where it is specified that a ball contact is allowed to have flat parts with a total area that is less than a predetermined amount. Flat part' area system 308 can also generate pass/fail test data, such as identifying ball contacts having unacceptable amounts of flatness . [0033] In operation, system 300 is used to perform ball contact tip flatness analysis. System 300 receives image data from a direct or overhead lighting system and analyzes ball contacts to determine whether any flat parts are present, and whether the surface area of such flat parts is within allowable limits. Likewise, rough diameter system 304 and fine diameter system 306 can also be used to determine the edge, perimeter, or circumference coordinates of other suitable features or objects, or with other suitable sets of image data. [0034] FIGURE 4 is a diagram of a system 400 for determining ball contact height in accordance with an exemplary embodiment of the present invention. System 400 includes ball contact height system 108 and direct outer diameter system 402, lateral outer diameter system 404, lateral inner diameter system 406 and height analysis system 408,' each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform.
[0035] Direct outer diameter system 402 receives image data generated while ball grid array 116 is illuminated by overhead lighting system 118 and determines the diameter of each ball contact in ball grid array 116. In one exemplary embodiment, direct outer diameter system 402 can use rough and fine diameter analysis to determine the diameter, can perform deviation analyses of the diameter measurements to determine whether diameter variations for a ball contact are unacceptable, and can perform other suitable analyses. [0036] Lateral outer diameter system 404 receives image data generated while ball grid array 116 is illuminated with a lateral lighting source such as lateral lighting systems 120A and 120B of FIGURE 1, and determines the outer diameter of the annulus formed when a ball contact is illuminated in that manner, such as shown in image data set 124 of FIGURE 1. Lateral outer diameter system 404 can use rough and fine diameter processes to generate diameter data, can perform analysis of diameter variations, and can perform other suitable analyses. For example, when performing rough and fine diameter analysis on a set of image data, rough diameter system 304 and fine diameter system 306 can be used to detect changes from dark pixel values to light pixel values for the lateral outer diameter data values. [0037] Lateral inner diameter system 406 receives image data generated while ball grid array 116 is illuminated with a lateral lighting source such as lateral lighting systems 120A and 120B of FIGURE 1, and determines the inner diameter of the annulus formed when a ball contact is illuminated in that manner, such as shown in image data set 124 of FIGURE 1. Lateral inner diameter system 406 can use rough and fine diameter processes to generate diameter data, can perform analysis of diameter variations, and can perform other suitable analyses. For example, when performing rough and fine diameter analysis on a set of image data, rough diameter system 304 and fine diameter system 306 can be used to detect changes from dark pixel values to light pixel values for the lateral inner diameter data values . [0038] Height analysis system 408 receives inner diameter and outer diameter data for an annulus formed when a ball contact is illuminated with a lateral lighting source and determines the ball contact height from the difference between the inner diameter and outer diameter data. In one exemplary embodiment, height analysis system 408 can be calibrated such that the differences in diameters are correlated to measured ball contact heights. In another exemplary embodiment, the mathematical relationship between the illumination source providing the lateral lighting and the size of the ball can be used to determine the expected difference between an inner diameter and outer diameter. Likewise, other suitable processes can be used to determine the ball contact height from the inner diameter and outer diameter measurements or the suitable measurements. [0039] In operation, system 400 allows the height of ball contacts of a ball grid array to be determined, such as by using image data generated by overhead lighting and image data generated through lateral lighting or other suitable processes. System 400 allows the height of each ball contact to be determined for use in determining co-planarity of the ball contacts of the ball grid array. [0040] FIGURE 5 is a diagram of system 500 for determining ball contact height co-planarity in accordance with an exemplary embodiment of the present invention. System 500 includes height analysis system 408 and datum plane height system 502, best fit plane system 504, and co- planarity system 506, each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform. [0041] Datum plane height system 502 determines the height of each of a plurality of ball contacts in a ball grid array from a datum plan. In one exemplary embodiment, the datum plane can be ball grid array support 114 of ball grid array 116 in FIGURE 1, an inspection base on which ball grid array support 114 rests, or other suitable datum planes. Datum plane height system 502 can also associate an ■^X'' and """Y" coordinate with each height or *~*~Z'' coordinate of an associated ball contact.
[0042] Best fit plane system 504 generates best fit plane coordinate data based on height coordinate data for ball contacts of a ball grid array, such as using a regression analysis, a lease squares fit analysis, or other suitable analyses. Best fit plane system 504 generates plane coordinate data that is used to determine the difference between the best fit plane and the tops of each of the ball contacts of the ball grid array. In one exemplary embodiment, best fit plane system 504 can also move the best fit plane axially to the top of the highest ball contact, such that all other ball contacts lie at or below the best fit plane, and can perform other suitable processes. [0043] Co-planarity system 506 generates co-planarity data based on ball contact height data. In one exemplary embodiment, co-planarity system 506 can determine a deviation of a ball contact top from a best fit plane and can determine whether the deviation exceeds a maximum allowable deviation. For example, the maximum allowable deviation may be specified by customer requirements or standards as being within a certain number of microns, a certain percentage of total ball contact height, or other figures of merit. Co-planarity system 506 can determine whether the deviation for each ball contact exceed the maximum allowable deviation. Likewise, co-planarity system 506 can determine whether co-planarity data relevant to a relocated best, fit plane have been met, or whether other suitable co-planarity indicators as specified by customers or standards are present or absent. Co-planarity system 506 can also generate pass/fail data, so as to indicate whether a particular ball grid array is acceptable or in accordance with specifications. [0044] In operation, system 500 is used to analyze ball contact height in a ball grid array to determine whether the ball grid array meets manuf cturing specifications. System 500 allows customer or standard specified processes to be implemented for analysis of ball grid array ball contact heights . [0045] FIGURE 6 is a flow chart of a method 600 for performing a ball grid array inspection in accordance with an exemplary embodiment of the present invention. Method 600 begins at 602 where the ball contacts are illuminated with a direct or overhead illumination source. The direct or overhead illumination source can be approximately directly overhead of the ball grid array, such that the light impinging on the ball grid array tends to be dispersed on ball contacts but to illuminate the base of the ball grid array. Likewise, any flat spots on the tops of ball contacts will also be illuminated such that the flat parts appear brighter than the ball contacts. The method then proceeds to 604. [0046] At 604 rough ball contact location is performed at four points. In one exemplary embodiment, a golden template or other suitable processes can be used to locate the approximate location of ball contacts and a rough location process can be used to calculate the coordinates at each of four locations that are roughly 90 degrees apart, such as by analyzing changes in pixel brightness values for adjacent pixels over a pre-determined pixel range. When a change in pixel brightness values exceeds a predetermined allowable change, the rough ball location process can indicate that the diameter or circumference edge of the ball contact has been located. Other suitable processes can also be used. The method then proceeds to 606.
[0047] At 606 fine ball location is performed at additional points. In one exemplary embodiment, the pixel boxes can be moved circumferentially by a predetermined distance, a predetermined angular distance, or in other suitable manners so as to generate coordinate data for the circumferential edge of a ball contact . The method then proceeds to 608.
[0048] At 608 it is determined whether there are additional ball contacts to be analyzed. If additional contacts remain the method returns to 604. Otherwise the method proceeds to 608 where it is determined whether there are any flat parts contained within the circumference of the ball contacts. In one exemplary embodiment, when direct or overhead illumination of ball contacts is used, flat parts will be indicated by areas within the perimeter or circumference of the ball contact having brightness values that are greater than a pre-determined brightness level. If it is determined that flat parts exist, additional processes can be used to measure the area of the flat part, such as by performing rough ' and fine perimeter analysis or other suitable analysis. Likewise, if pass/fail specification data exists for such flat parts, pass/fail testing can be performed such that subsequent analysis of the ball grid array is suspended if it is determined that the ball grid array has unacceptable flat parts. The method then proceeds to 612. [0049] At 612 the ball contacts are illuminated with indirect illumination, such as from a lateral source that is placed at a lateral distance from the ball grid array, so as to illuminate only the sides of the ball contacts and not the tops or the base, thus forming an annulus or other suitable shapes. The method then proceeds to 614 where the inner diameter of the annulus that is created from indirect illumination of ball contacts is determined, such as by using a rough and fine location technique or in other suitable manners. In this exemplary embodiment, the inner diameter can be determined or analyzed by traversing a pixel box from an outer edge to an inner edge pixel by pixel and looking for a change from bright to dark pixel values in adjacent pixels, or other suitable processes can be used. The method then proceeds to 616. [0050] At 616 an outer diameter of a light 'annulus formed by illumination of ball contacts with lateral illumination is performed. In one exemplary embodiment, the rough and fine diameter processes can be used to ' determine the diameter/perimeter/circumference, deviations in diameter can be determined so as to determine whether an unacceptable level of deviation exists, or other suitable processes can be used. The method then proceeds to 618. [0051] At 618, the ball contact height is determined from the difference between the inner and outer diameters determined at step 614 and 616. In one exemplary embodiment, the coordinates for inner and outer diameters can be determined at the same angular locations, such that the difference between the inner and outer diameter as a function of angular location on the annulus can be determined. Likewise, additional analyses of the differences can be performed, such as to determine whether an unacceptable degree of variation exists, to determine the maximum height, or other suitable analyses. The height of the ball contact can be determined by using the difference between the inner and outer diameter as cross correlated to calibrated height measurements that have been compared to previously measured differences between inner and outer diameter under similar lighting conditions, the mathematical relationship of the light to the ball grid array can be used to calculate the expected difference between the inner or outer diameter, or other suitable processes can be used. The method then proceeds to 620.
[0052] At 620, it is determined whether there are more contacts requiring analysis. If it is determined that more contacts exist, the method returns to 612. Otherwise, the method proceeds to 622 where co-planarity of the ball grid array is determined. In one exemplary embodiment, co- planarity can be determined by determining the distribution of ball contact heights and analyzing whether the variation in the distribution exceed predetermined allowable variations . [0053] In operation method 600 allows a ball grid array to be examined or inspected by using direct or overhead illumination and lateral or indirect illumination, to generate two sets of image data, each of which illuminates different types of features of the ball contacts of the ball grid array. Method 600 thus allows a ball grid array to be inspected for co-planarity and ball contact tip flatness using two dimensional image data that is generated while the package is in a single locat'ion by alternating lighting sources . [0054] FIGURE 7 is flow chart of a method' 700 for determining co-planarity of a ball grid array in accordance with an exemplary embodiment of the present invention. Method 700 begins at 702 where the ball contact height from a datum plate is determined for each ball contact of the ball grid array. In one exemplary embodiment, the ball contact heights from a datum plane can include (X,Y,Z) coordinates for a ball contact height as determined from lateral or indirect lighting measurements or other suitable data. The method then proceeds to 704.
[0055] At 704 a best fit plane is determined based on the ball contact heights of the ball grid array. In one exemplary embodiment, a regression analysis can be used to determine a least squares fit plane based on all measured ball contact heights. In this exemplary embodiment, the coordinates for the plane can be generated and the method proceeds to 706. [0056] At 706 the best fit plane is moved axially to be aligned with the tallest ball contact or contacts. In one exemplary embodiment, the best fit- plane can be moved by adding a """~Z*' coordinate displacement equal to the difference between the location of the best fit plane and " ZM coordinate of the tallest ball contact or contacts to the coordinates for the best fit plane. The method then proceeds to 708. [0057] At 708 the ball contact height of each ball contact from the best fit plane is determined, such as by subtracting the ball contact coordinate height data from the height data for the best fit plane as shifted to the highest ball contact. The method then proceeds to 710. [0058] At 710 it is determined whether the difference in height from the best fit plane for any contact is greater than the maximum allowable height variation. For example, a predetermined absolute distance for a given ball contact array can be determined, a percentage of the ball contact height can be used, or other suitable processes can be used. If it is determined that no contact exceeds the maximum allowable variation, the method proceeds to 714 and pass data is generated, such as data that allows the ball grid array piece to be picked up and moved to another inspection station, to be placed in shipping materials, or for other suitable processes to be performed. Likewise, if it is determined at 710 that the difference between the best fit plane and the ball contact height is greater than the maximum allowable variation, the method proceeds to 712 where ball grid array failure data is generated. Likewise, the failed ball grid array can be removed and placed in a storage area for subsequent analysis by an operator. [0059] In operation method 700 allows the co-planarity of a ball grid array to be determined, such as by determining whether the variation in ball contact heights for each ball contact in the ball grid array exceeds allowable parameters. [0060] Although exemplary embodiments of a system and method of the present invention have been described in detail herein, those skilled in the art will also recognize that various substitutions and modifications can be made to the systems and methods without departing from the scope and spirit of the appended claims.

Claims

WHAT IS CLAIMED IS: 1. A system for determining co-planarity of a ball grid array comprising: a lateral lighting system illuminating the ball grid array from one or more locations that are adjacent to the ball grid array; an inner diameter system generating inner diameter data of an inner region of each illuminated ball contact of the ball grid array; an outer diameter system generating outer diameter data of an inner region of each illuminated ball contact of the ball grid array; and a ball contact height system receiving the inner diameter data and the outer diameter data for each ball contact of the ball grid array and determining a height for each ball contact.
2. The system of claim 1 further comprising a rough diameter system determining a location of four edge points approximately 90 degrees apart from each other around a circumference of ball contact.
3. The system of claim 1 further comprising a fine diameter system determining a location of more than four edge points less than 90 degrees apart from each other around a circumference of ball contact.
4. The system of claim 1 further comprising: a direct lighting system illuminating the ball grid array from a locations that is approximately overhead from the ball grid array; and a ball tip flatness system receiving image data of each ball contact of the ball grid array and determining whether a flat part is present on each ball contact.
5. The system of claim 4 wherein the ball tip flatness system further comprises a rough diameter system determining a location of four edge points approximately 90 degrees apart from each other around a circumference of the flat part.
6. The system of claim 4 wherein the ball tip flatness system further comprises a fine diameter system determining a location of more than four edge points less than 90 degrees ' apart from each other around a circumference of the flat part .
7. The system of claim 4 wherein the ball tip flatness system further comprises a flat part area system determining an area of a flat part for one or more ball contacts and determining whether the area of the flat part exceeds a maximum allowable area.
8. The system of claim 1 wherein the ball contact height system further comprises a datum plane height system determining a height above a datum plane for each ball contact .
9. The system of claim 1 wherein the ball contact height system further comprises a best fit plane system receiving the ball contact height data for each ball and determining a best fit plane for the ball grid array.
10. A system for determining co-planarity and flatness of a ball grid array comprising: a direct lighting system illuminating the ball grid array approximately from an overhead location; a lateral lighting system illuminating the ball grid array from one or more positions adjacent to the ball grid array; a ball tip flatness system receiving image data of the ball grid array when it is illuminated by the direct lighting system and generating ball tip flatness data; and a ball contact height system receiving image data of the ball grid array when it is illuminated by the lateral lighting system and generating ball contact height data.
11. The system of claim 10 wherein the image data of the ball grid array when it is illuminated by the lateral lighting system comprises an inner diameter and an outer diameter.
12. The system of claim 11 wherein a difference between the inner diameter and the outer diameter is used to generate the ball contact height data.
13. The system of claim 12 wherein the ball contact height system determines the difference between the inner diameter and the outer diameter, at a plurality of locations.
14. A method for determining co-planarity of a ball grid array comprising: illuminating the ball grid array from one or more locations that are laterally adjacent to the ball grid array; generating image data of the illuminated ball grid array; generating an inner diameter and an outer diameter for each ball contact of the ball grid array; and generating a ball contact height from the inner diameter and the outer diameter for each ball contact of the ball grid array.
15. The method of claim 14 further comprising: illuminating the ball grid array from a location approximately overhead of the ball grid array; and generating ball tip flatness data for each ball contact of the ball grid array.
16. The method of claim 14 further comprising: determining a best fit plane from all ball contact heights; and determining co-planarity from the difference between the best fit plane and the ball contact height for each ball contact .
17. The method of claim 16 wherein determining the co- planarity from the difference between the best fit plane and the ball contact height for each ball contact comprises determining whether any of the differences between the best fit plane and the ball contact height for each ball contact exceed a predetermined maximum allowable difference.
18. The method of claim 16 wherein determining the co- planarity from the difference between the best fit plane and the ball contact height for each ball contact comprises : axially moving the best fit plane to the highest ball contact height; and determining the difference between each ball contact top and the location of the relocated best fit plane.
19. The method of claim 14 wherein generating the inner diameter and the outer diameter for each ball contact of the ball grid array comprises: generating a rough inner diameter location and a rough outer diameter at four locations approximately 90 degrees apart from each other around a circumference of an inner area and an outer area; and generating a fine inner diameter location and a' fine outer diameter at more than four locations less than 90 degrees apart from each other around the circumference of the inner area and the outer area ' .
20. The method of claim 19 wherein generating the ball contact height from the inner diameter and the outer diameter for each ball contact of the ball grid array comprises generating the ball contact height from a difference between the inner diameter and the outer diameter at two or more locations for each ball contact of the ball grid array.
PCT/IB2003/003791 2003-09-05 2003-09-05 Ball grid array inspection system and method Ceased WO2005024403A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/IB2003/003791 WO2005024403A1 (en) 2003-09-05 2003-09-05 Ball grid array inspection system and method
AU2003264916A AU2003264916A1 (en) 2003-09-05 2003-09-05 Ball grid array inspection system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2003/003791 WO2005024403A1 (en) 2003-09-05 2003-09-05 Ball grid array inspection system and method

Publications (1)

Publication Number Publication Date
WO2005024403A1 true WO2005024403A1 (en) 2005-03-17

Family

ID=34259873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2003/003791 Ceased WO2005024403A1 (en) 2003-09-05 2003-09-05 Ball grid array inspection system and method

Country Status (2)

Country Link
AU (1) AU2003264916A1 (en)
WO (1) WO2005024403A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110186392A (en) * 2019-05-28 2019-08-30 北京无线电计量测试研究所 Calipers inside and outside a kind of pipe fitting

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0638801A1 (en) * 1993-08-12 1995-02-15 International Business Machines Corporation Method of inspecting the array of balls of an integrated circuit module
US5652658A (en) * 1993-10-19 1997-07-29 View Engineering, Inc. Grid array inspection system and method
JPH11160027A (en) * 1997-11-25 1999-06-18 Todaka Seisakusho:Kk Height measuring apparatus of spherical object and its measuring method
EP0994328A2 (en) * 1998-10-13 2000-04-19 Yamagata Casio Co., Ltd. Electronic parts checking apparatus
US6177682B1 (en) * 1998-10-21 2001-01-23 Novacam Tyechnologies Inc. Inspection of ball grid arrays (BGA) by using shadow images of the solder balls
US6236747B1 (en) * 1997-02-26 2001-05-22 Acuity Imaging, Llc System and method for image subtraction for ball and bumped grid array inspection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0638801A1 (en) * 1993-08-12 1995-02-15 International Business Machines Corporation Method of inspecting the array of balls of an integrated circuit module
US5652658A (en) * 1993-10-19 1997-07-29 View Engineering, Inc. Grid array inspection system and method
US6236747B1 (en) * 1997-02-26 2001-05-22 Acuity Imaging, Llc System and method for image subtraction for ball and bumped grid array inspection
JPH11160027A (en) * 1997-11-25 1999-06-18 Todaka Seisakusho:Kk Height measuring apparatus of spherical object and its measuring method
EP0994328A2 (en) * 1998-10-13 2000-04-19 Yamagata Casio Co., Ltd. Electronic parts checking apparatus
US6177682B1 (en) * 1998-10-21 2001-01-23 Novacam Tyechnologies Inc. Inspection of ball grid arrays (BGA) by using shadow images of the solder balls

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 11 30 September 1999 (1999-09-30) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110186392A (en) * 2019-05-28 2019-08-30 北京无线电计量测试研究所 Calipers inside and outside a kind of pipe fitting

Also Published As

Publication number Publication date
AU2003264916A1 (en) 2005-03-29

Similar Documents

Publication Publication Date Title
CN101924053B (en) Systems and methods for inspecting wafers
CN101853797B (en) For detecting the system and method for wafer
EP0160781B1 (en) Measuring and detecting printed circuit wiring defects
CN103630549B (en) The system and method for detection wafer
EP3234861B1 (en) Screening of electronic components for detection of counterfeit articles using automated inspection system
US5477138A (en) Apparatus and method for testing the calibration of a variety of electronic package lead inspection systems
KR101021320B1 (en) Systems and Methods for Process Deviation Monitoring
WO2011064969A1 (en) Inspection apparatus, measurement method for three-dimensional shape, and production method for structure
US7187436B2 (en) Multi-resolution inspection system and method of operating same
CA2638415A1 (en) Patterned wafer defect inspection system and method
US9626752B2 (en) Method and apparatus for IC 3D lead inspection having color shadowing
US7019841B2 (en) System and method for inspecting a component using interferometry
US8208713B2 (en) Method and system for inspecting a diced wafer
WO2005024403A1 (en) Ball grid array inspection system and method
JP2005134294A (en) Cylindrical part shape inspection method and shape inspection apparatus
US20040086198A1 (en) System and method for bump height measurement
US7747066B2 (en) Z-axis optical detection of mechanical feature height
CN113176076A (en) Optical detection system and optical detection method
KR101771008B1 (en) bonding wire chip inspection apparatus
KR20170079967A (en) Vision inspection method
KR20160098640A (en) Device handler, and vision inspection method
KR100564871B1 (en) Inspecting method and apparatus for repeated micro-miniature patterns
KR20020017054A (en) Defect inspection method using automatized defect inspection system
CN107209128A (en) Component Handler and Vision Inspection Method
CN119680914A (en) AOI inspection machine and inspection method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP