Remote test facility with wireless interface to local test facilities

A central test facility transmits wirelessly test data to a local test facility, which tests electronic devices using the test data. The local test facility transmits wirelessly response data generated by the electronic devices back to the central test facility, which analyzes the response data to determine which electronic devices passed the testing. The central test facility may provide the results of the testing to other entities, such as a design facility where the electronic devices were designed or a manufacturing facility where the electronic devices where manufactured. The central test facility may accept requests for test resources from any of a number of local test facilities, schedule test times corresponding to each test request, and at a scheduled test time, wirelessly transmits test data to a corresponding local test facility.

BACKGROUND

This invention relates generally to testing devices, products, or articles of manufacture (hereinafter referred to collectively as “devices”).

After being manufactured, most devices are subjected to at least some testing before being sold or incorporated into other products. For example, newly manufactured semiconductor dies may be subjected to one or more types of tests. For example, the dies may be subjected to wafer probing tests while still in wafer form. The dies may be subjected to further testing before or after being singulated and still further testing after being integrated into an electronics module. Such tests may be designed to determine whether the dies are good or bad, or the tests may be designed to rate the performance of the dies. As another example, semiconductor dies may be burned in, which may involve at least exercising the dies while subjecting the dies to elevated or reduced temperatures. As is known, burn in tends to accelerate the appearance of latent defects in the dies. (As used herein, the term “test” (or any form of the word “test”) is intended to broadly cover any activity intended to rate a device or determine the operability or operating parameters of the device or whether the device is good or bad and thus includes, among other things, exercising the device during a process like burn in that is intended to accelerate failure of the device.)

No matter how a device is tested, there is a need to control efficiently the testing of the device. As described below, exemplary embodiments of this invention include a remotely located central test facility that efficiently controls testing at one or more local test sites.

BRIEF SUMMARY

The present invention relates generally to test systems and methods. In one exemplary embodiment, a central test facility transmits wirelessly test data to a local test facility, which tests newly manufactured devices (e.g., electronic devices) using the test data. The local test facility transmits wirelessly response data generated by the electronic devices back to the central test facility, which analyzes the response data to determine which electronic devices passed the testing and/or to rate the devices. The central test facility may provide the results of the testing to other entities, which may be remotely located. Such entities include a design facility where the devices were designed and a manufacturing facility where the devices were manufactured. The central test facility may provide the test results to such entities via wireless transmissions.

In another exemplary embodiment, a central test facility accepts requests for test resources from any of a number of local test facilities. The central test facility schedules test times corresponding to each test request. At a scheduled test time, the central test facility wirelessly transmits test data to a corresponding local test facility, which tests devices using the test data. The local test facility may transmit wirelessly response data generated by the devices back to the central test facility, which may analyze the response data to determine which devices passed the testing and/or to rate the devices.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The present invention relates generally to testing devices. The present invention is, however, particularly suited for testing electronic devices (e.g., semiconductor dies). For ease of illustration and discussion, the exemplary embodiments are described herein as testing electronic devices. The invention is not, however, limited to testing electronic devices but is broadly applicable to testing any type of device. Indeed, although this specification describes exemplary embodiments and applications of the invention, the invention is not limited to these exemplary embodiments and applications or to the manner in which the exemplary embodiments and applications operate or are described herein.

FIG. 1illustrates an exemplary system for designing, manufacturing, and testing electronic devices. As shown, the system includes a design facility104, a manufacturing facility106, a local test facility108, and a central test facility102. Electronic devices are designed at design facility104, manufactured at manufacturing facility106, and tested at local test facility108. As discussed in more detailed below, the central test facility102may receive requests regarding testing of the electronic devices from the design facility104, the manufacturing facility106, and the local test facility108. For example, the local test facility108may send a request for testing to the central test facility102, which then schedules the requested testing and sends test data to the local test facility108to effect the testing. The design facility104and the manufacturing facility106may send requests for results of testing to the central test facility102.

Central test facility102controls testing of the electronic devices at local test facility108. As shown inFIG. 1, central test facility102may have a wireless transceiver112by which it communicates wirelessly with local test facility108, which also includes a wireless transceiver120. Design facility104and manufacturing facility106may also include wireless transceivers116and118, respectively. Transceivers112,116,118, and120may be any type of device for wirelessly transmitting and receiving data, and many such devices are well know. Such devices include devices for transmitting and receiving data via radio frequency transmissions (e.g., microwave devices) and devices for transmitting and receiving data via light transmission (e.g., laser light). Satellites and repeater stations may be employed for long distance transmissions. These and other devices for wirelessly transmitting and receiving data may be used.

Central test facility102may send wirelessly test data to local test facility108to initiate and control testing of the electronic devices at local test facility108. Local test facility108may in turn wirelessly communicate test response data to central test facility112, which may then send wirelessly the test response data or other data representing the results of testing the electronic devices to design facility104and/or manufacturing facility106. The design facility104and/or the manufacturing facility106may then use the results of testing the electronic devices to modify the design or manufacture of the electronic devices to improve the yield or ratings of the devices.

The electronic devices designed, made, and tested using the exemplary system ofFIG. 1may be any type of electronic device, including semiconductor devices, which may be manufactured as dies on a wafer at manufacturing facility106. Such dies may then be tested at local test facility108in wafer form. Alternatively, the dies may be singulated from the wafer and tested in singulated form, packaged or unpackaged. Of course, the dies may undergo some testing while in wafer form and some testing after being singulated from the wafer. The dies may also be assembled into modules, which are also tested.

FIG. 2illustrates exemplary operation of the system ofFIG. 1in which the electronic devices designed, manufactured, and tested are semiconductor dies. At step202, the die is designed at design facility106. Many processes for designing semiconductor dies are know, and any suitable design process may be used. For example, the functional circuitry of the die may be designed, followed by floor planning and layout of the die, which produces a tape out. Once designed at step202, dies are manufactured (step204) at manufacturing facility106. Again, many processes for manufacturing semiconductor dies are known, and any suitable manufacturing process may be used. Typically, semiconductor dies are manufactured many at a time on a semiconductor wafer.

The manufactured dies are then tested at step206at local test facility108. There are many different types of tests that may be run on semiconductor dies, and any such tests may be run at step206. For example, local test facility108may include probing equipment (e.g., a prober) for performing parametric and/or functional tests on semiconductor wafers. As another example, local test facility108may include equipment for testing singulated semiconductor dies, whether packaged or unpackaged, electronic modules comprising a plurality of electronic components, or other types of electronic devices. As yet another example, local test facility108may include equipment for burning-in or otherwise exercising the semiconductor dies with or without also testing the functionality of the dies while the dies are in wafer form, singulated but not packaged, singulated and packaged, or in other forms.

Central test facility102controls testing of the dies at local test facility108, and thus, central test facility102and local test facility108together execute step206ofFIG. 2. As mentioned above, central test facility102wirelessly transmits via transceiver112test data to local test facility108, which receives the test data via its transceiver120and tests the dies in accordance with the test data. The test data may be any type of data suitable for testing the dies. For example, the test data may be commands that cause local test facility108to run specified tests on the dies, the test data may be test vectors to be written to the dies, or the test data may be a combination of test commands and vectors. The dies are tested at local test facility108in accordance with the test data from central test facility102. Response data representing the results of testing the dies are wirelessly transmitted by local test facility108to central test facility102. The response data may be in any suitable format. For example, the response data may be raw output data generated by the dies in response to the testing. As another example, the response data may represent a summary or analysis of the raw output data generated by the dies.

If it is determined at step208that test results are to be sent to the manufacturing facility108, test results are sent to the manufacturing facility at step210. Central test facility102wirelessly transmits the test results via transceiver112, and manufacturing facility106receives the test results via its transceiver118. Similarly, if it is determined at step212that test results are to be sent to the design facility104, test results are sent to the design facility at step214. Again, central test facility102wirelessly transmits the test results via transceiver112, and design facility104receives the test results via its transceiver116. The test results sent to the manufacturing facility106or the design facility104may be in any suitable form. For example, the test results may be raw data generated by the dies or may represent an analysis or summary of all or part of the testing of the dies.

Generally speaking, the test results may be used at the manufacturing facility106to alter the manufacture of the die in an attempt to improve the yield or rating of the dies. For example, if the test results show that the dies made on an identified area of the semiconductor wafers have a higher fail rate than dies made on other areas of the wafers, workers at the manufacturing facility106may take steps to improve the yield on the identified area of the wafer. For example, the workers may adjust the manufacturing equipment in order to improve the yield of dies on the identified area of the wafer. Alternatively, the workers may examine the batch of blank wafers at the manufacturing facility106for defects in the identified area. These are just two exemplary ways in which the workers may take steps to improve the yield on the identified area of the wafer

Likewise, designers at the design facility104may use test results to improve the yield or rating of manufactured dies. For example, the designers may move the location of circuits or subcircuits in the layout of the dies. As another example, designers may change the design rules to which the design of the dies adheres.

FIG. 3illustrates a simplified block diagram of an exemplary central test facility102, andFIG. 4illustrates exemplary operation of the controller318in the central test facility102.FIG. 5illustrates exemplary operation of a local test facility108in interacting with central test facility102, andFIG. 6illustrates exemplary operation of either the design facility104or the manufacturing facility106also in interacting with the central test facility102.

Turning first toFIG. 3, controller318controls overall operation of central test facility102. Controller318may be a microprocessor or a microcontroller operating under software (e.g., software, microcode, firmware, etc.) control, hardwired logic, or a combination of software and hardwired logic. Alternatively, controller318may be a computer or a system of computers. Input/output module316provides for the input and output of signals through transceiver112as well as other devices for transmitting or receiving data signals. Communications bus320allows the entities of central test facility102to communicate one with another.

Test generator310generates test data that is sent to the local test facility108for testing the dies at the local test facility108. Analyzer314analyzes response data generated at the local test facility108by the dies in response to test data generated by the test generator310. Like the controller318, the test generator310and the analyzer314may be microprocessors or microcontrollers operating under software control, hardwired logic, or a combination of software and hardwired logic. Indeed, the test generator310and the analyzer314may themselves be computers or a group of computers. Input/output module316may be similar.

Storage312may be any type of data storage device, including without limitation a semiconductor based storage device or devices (e.g., random access memory (“RAM”) or read only memory (“ROM”), a magnetic-based storage device or devices (e.g., a disk or floppy drive or a tape), an optical-based storage device or devices (e.g., a compact disk), any other type of storage device for storing data electronically, or any combination of the foregoing. A variety of data may be stored in storage312, including without limitation software to be run on controller318, the test generator310, or the analyzer314; data received via input/output module316; etc. The controller318, test generator310, or the analyzer314may also include storage (not shown) for software, data, etc.

As mentioned above,FIG. 4illustrates exemplary operation of controller318, which may be implemented in software, hardwired logic, or a combination of software and hardwired logic. At step402, controller318may initialize central test facility102. Thereafter, as shown inFIG. 4, controller318looks for and responds to any of a variety of possible messages.FIG. 4shows five exemplary messages that controller318may look for and process: a request-for-testing message (steps404,406,408,410, and412), a start-delayed-testing message (steps410and412), a response-data-received message (steps414,415,416, and417)), a set-trigger message (steps418and420), and a trigger-activated message(steps422and424). Each of these exemplary messages and the way in which the messages are processed inFIG. 4will now be described.

The request-for-testing message represents a request from local test facility108for test data to test newly manufactured dies. This message is generated by local test facility108and sent to central test facility102. Such a message may request immediate testing of the new dies or delayed testing (that is, testing that is to begin at a specified future date and time). A request-for-testing message may identify the type of dies to be tested or may simply request a particular type of testing. If controller318detects a request-for-testing message at step404, controller determines at step406whether the request is for delayed testing. If yes, the controller schedules at step408testing to begin on the date and at the time requested. Controller may do so by using internal scheduling software. Processing of step408could also include additional sub-steps, such as finding an alternative testing time if the requested time is already scheduled, and sending notice of the alternative testing time to local test facility108.

If the request-for-testing message was not for delayed testing (but was for immediate testing), controller318branches from step406to step412. At step412, controller318starts test generator310, which then generates test data and sends the test data to local test facility108. As discussed above, test generator310generates test data, and sends the test data via input/output module316and transceiver112to local test facility108. As also discussed above, the test data may be test vectors, test commands, or a combination of test vectors and test commands. Whether the test data consists of test vectors, test commands, or a combination of both, test generator310may generate the test data by reference to a data table stored in storage312.

Table I below illustrates an example of such a data table.

In the example shown in Table I, central test102supports testing of three die types (X, Y, and Z), and the test data for each die type consists of a series of test vectors. If the request-for-testing message detected at step404identifies die-type X as the type of dies to be tested, test generator310writes X Test Vector 1, X Test Vector 2, and X Test Vector 3 to input/output module316, which sends those three test vectors to local test facility108. Similarly, if the die type is “Y,” test generator310writes Y Test Vector 1 and Y Test Vector 2 to input/output module316, which sends those two test vectors to local test facility108. Similarly, if the die type is “Z,” test generator310writes Z Test Vector 1, Z Test Vector 2, and Z Test Vector 3 to input/output module316, which sends those three test vectors to local test facility108. As will be seen, local test facility108receives the test vectors and writes the test vectors to the dies to be tested. The data table shown in Table I could, alternatively, contain a list of test commands that correspond to each die type rather than a list of test vectors. Moreover, a data table with die types and corresponding test vectors or test commands is only one of many possible ways in which test generator310may be configured to generate and send test data at step412.

At step410, controller318determines whether there is a start-delayed-testing message. A start-delayed-testing message is generated internally by the controller318when the time has arrived for delayed testing, as previously scheduled at step408, to begin. If controller318detects such a message at step410, controller318processes step412as described above.

At step414, controller318determines whether there is a response-data-received message. As described above, in response to test data generated and sent at step412to the local test facility108, the dies at the local test facility108generate response data. The local test facility108transmits this response data through its transceiver120to central test102, which is received by central test facility's transceiver112and decoded by input/output module316. (See also step512inFIG. 5, which describes operation of local test facility108and is discussed below.) Upon receiving and decoding response data from local test facility108, input/output module316generates a response-data-received message, which controller318detects at step414.

If the receipt of response data is detected at step414, controller318activates analyzer314to analyze the response data. As discussed above, the response data may be in any format, such as raw response data or a summary of the response data generated at the local test facility108. How the analyzer314analyzes the data will depend on the format of the data, among other things. Table II illustrates one exemplary way in which analyzer314utilizes a table of expected responses to analyze the actual response data generated by a die.

TABLE IIDie TypeExpected Response“X”X Expected Response 1X Expected Response 2X Expected Response 3“Y”Y Expected Response 1Y Expected Response 2“Z”Z Expected Response 1Z Expected Response 2Z Expected Response 3

As in the example discussed above and illustrated in Table I above, the example shown in Table II, assumes that the central test facility102supports testing of three die types (X, Y, and Z). In response to the input of the test vectors shown in Table I, analyzer314expects the responses shown in Table II. Thus, in the example shown in Table II, analyzer expects an “X” type die to produce response data consisting of X Expected Response 1, X Expected Response 2, and X Expected Response 3. The analyzer314compares the actual response data from an “X” type die to the expected response data stored in Table II: X Expected Response 1, X Expected Response 2, and X Expected Response 3. If the actual response data matches the expected response data, the die passes the test. Otherwise, the die does not pass the test. Analyzer314makes similar comparisons for “Y” and “Z” type dies, using the expected response Y Expected Response 1 and Y Expected response 2 or Z Expected Response 1, Z Expected Response 2, and Z Expected Response 3. Of course, however, use of a table with expected responses, such as Table II, is but one of many possible ways in which analyzer314may be configured to analyze response data generated by the dies at local test facility108. Moreover, tests other than pass-fail tests may be performed on the dies. For example, tests for rating the operating speed of a die may be performed, in which case analyzer314would be configured to use response data to categorize the operating speed of each die. Regardless of the type of analysis analyzer314performs, analyzer314may store the test results in storage312.

At step415, it is determined whether test results—the analysis of the response data produced by analyzer416—should be sent to one or more of the design facility104or manufacturing facility106. Indeed, the rest results could even be sent back to the local test facility108. This determination could be made by determining if any of the facilities104,106, or108has requested real-time delivery of test results. If so, the test results are sent to the requestor at step417. It should be noted that a copy of the unanalyzed response data received from the local test facility108could be sent to the design facility104or the manufacturing facility106before the response data is analyzed at step416. As yet another alternative, response data may be sent by the local test facility108directly to one or more of the design facility104or the manufacturing facility106before, at the same time as, or after the response data is sent from the local test facility108to the central test facility102. Of course, the response data could be sent to the design facility104and/or the manufacturing facility106rather than the central test facility102.

At step418, controller318determines whether central test facility102has received a set-trigger message from the design facility104or the manufacturing facility106. A trigger describes a condition that, when met, causes central test facility102to send specified test results to the requester (e.g., the design facility104or the manufacturing facility106). If a set-trigger message is detected at step418, the trigger is set at step420, which may be done by storing a description of the trigger, the type of test results data requested upon activation of the trigger, and the entity to which the test results are to be sent.

Any type of trigger may be used. For example, a trigger may be set to activate after a specified number of dies on a single wafer fail testing. As another example, a trigger may be set to activate after a specified number of dies fail on a specified number of wafers. As yet another example, a trigger may be set to activate after a specified number of dies are rated below a given operating speed. At step422, controller318determines whether the conditions of any stored trigger have been met, and if so, the controller318retrieves from storage312the test results specified for the trigger and sends the retrieved results to the entity that requested the trigger (e.g., design facility104or manufacturing facility106) at step424.

Steps426and428represent detection and processing of other messages. For example, the design facility104or the manufacturing facility106may send to central test facility102a request for specified test results data. As another example, a stop message and an interrupt message that ends and pauses, respectively, processing of the method shown inFIG. 4may be detected and processed at steps426and428.

FIG. 5illustrates exemplary operation of local test facility108, showing in particular, how local test facility108may interact with central test facility102. The method ofFIG. 5may be executed by a controller, computer, or processor (not shown) at local test facility108, andFIG. 5may be implemented in software, hardware, or a combination of software and hardware. As shown, the method ofFIG. 5begins with general initialization at step501and thereafter consists primarily of looking for and processing messages. Three exemplary messages are shown inFIG. 5: a new-dies message (steps502and504), a test-data-received message (steps506and508), and a response-data-ready message (steps510and512). Each of these exemplary messages and the way in which the messages are processed inFIG. 5will now be described.

The local test facility108internally generates a new-dies message when new dies are brought to the local test facility and are ready for testing. If a new-dies message is detected at step502, local test facility108sends a request-for-testing message at step504to central test facility102. As discussed above, central test facility102detects and processes a request-for-testing message at steps404and406and one of steps408or412inFIG. 4. As also discussed above, the request-for-testing message may request immediate (or as-soon-as-available) testing or delayed testing. Although not shown inFIGS. 4or5, further messages may be exchanges, such as messages that confirm the requested test time is available or propose another time for testing.

A test-data-received message indicates that test data for testing dies at local test facility108have been received from central test facility102. As discussed above, central test facility102sends test data at step412ofFIG. 4. In response to detecting a test-data-received message at step506ofFIG. 5, local test facility108uses the received test data to test one or more of the dies at local test facility108at step508. As mentioned above, the test data may be test vectors, in which case the local test facility108writes the test data to the specified locations in the dies. If the test data are test commands, the local test facility108processes the test commands and thereby tests the dies. For example, the test commands may cause the local test facility108to generate specified test vectors, which are then written to the dies.

The dies at the local test facility108respond to the test data by generating response data. When such response data is generated by the dies, the local test facility108internally generates an internal response-data-ready message. If a response-data-ready message is detected at step510, local test facility108sends the response data to central test facility102at step512.

Steps514and516represent detection and processing of other or miscellaneous messages, including a stop message and an interrupt message that ends and pauses, respectively, processing of the method shown inFIG. 5.

FIG. 6illustrates exemplary operation of either design facility104or manufacturing facility106, again showing in particular how design facility104or manufacturing facility108may interact with central test facility102. The method ofFIG. 6may be executed by a controller, computer, or processor (not shown) at the design facility104or the manufacturing facility106, andFIG. 6may be implemented in software, hardware, or a combination of software and hardware. The method ofFIG. 6may begin with general initialization at step601and thereafter consists primarily of looking for and processing messages. Two exemplary messages are shown inFIG. 6: a set-trigger message (steps602,604, and606) and a results-download message (steps608,610, and612). Each of these exemplary messages and the way in which the messages are processed inFIG. 6will now be described.

The design facility104or manufacturing facility106internally generates a set-trigger message when a user (at the design facility104or the manufacturing facility106) indicates that he or she would like to set a trigger for sending test results data to the facility. (Triggers are discussed above with respect toFIG. 4.) If a set-trigger message is detected at step602, the user is prompted for input describing the trigger. For example, the user may be prompted to enter such input as the criteria that activates the trigger and the test results data desired upon activation of the trigger. At step606, a request for the trigger is sent to the central test facility102. As discussed above, the central test facility102detects and processes such a set-trigger message at steps418and420inFIG. 4.

A results-download-receive message indicates that test results have been received from the central test facility102. For example, the test results may have been sent by the central test facility at step424ofFIG. 4. At step610, the test results are stored locally at the design facility104or manufacturing facility106, and a user at the design facility104or manufacturing facility106is notified at step612.

Steps614and616represent detection and processing of other or miscellaneous messages, including a stop message and an interrupt message that ends and pauses, respectively, processing of the method shown inFIG. 6.

It should be apparent that all communications among the design facility104, manufacturing facility106, local test facility108, and central test facility102, may be made wirelessly via transceivers112,116,118, and120.

FIG. 7illustrates another exemplary system, which may be used to test electronic devices, such as semiconductor dies. As shown, the system ofFIG. 7includes a central test facility702and several local test facilities (four are shown,706,710,714, and718). The central test facility702includes a wireless transceiver704, and each of the local test facilities706,710,714, and718also include wireless transceivers708,712,716, and720. Wireless transceivers708,712,716, and720allow each of the local test facilities706,710,714, and718to wirelessly communicate with the central test facility702. Each of the wireless transceivers704,708,712,716, and720may be similar to the wireless transceivers shown inFIG. 1and discussed above.

As will be seen, central test702provides test resources to local test facilities706,710,714, and718, each of which may be generally similar to local test facility108shown inFIG. 1and described above. The local test facilities706,710,714, and718may be independent one from another and may include different types of equipment for testing different types of electronic devices. For example, any of the local test facilities706,710,714, and718may include probing equipment (e.g., a prober) for performing parametric and/or functional tests on semiconductor wafers. As another example, a local test facility706,710,714, or718may include equipment for testing singulated semiconductor dies, whether packaged or unpackaged, electronic modules comprising a plurality of electronic components, or other types of electronic devices. As yet another example, a local test facility706,710,714, or718may include equipment for burning-in or otherwise exercising an electronic device with or without also testing the functionality of the electronic device.

FIG. 8illustrates a simplified block diagram of an exemplary central test facility702. As shown,FIG. 8includes a main controller802, three test controllers808,810, and812, an input output module804, data storage806, and a communications bus814.

Main controller802controls overall operation of central test facility702. Like controller318inFIG. 3, main controller802may comprise a processor configured to operate under software control. The software may be stored in storage806or in other digital storage not shown inFIG. 8, such as a memory that composes main controller802. Alternatively, main controller may comprise hardwired logic circuits or a combination of a processor and software and hardwired logic circuits. Main controller802may also comprise a computer.

As also shown inFIG. 8, central test facility702may include one or more test controllers. For illustration purposes and not by way of limitation, three test controllers—test controller1808, test controller2810, and test controller3812—are shown inFIG. 8. As will be seen, test controllers808,810, and812control testing at a local test facility (e.g., local test facility706,710,714, or718). A test controller (e.g.,808,812, or812) may do so by sending test data to and then collecting response data from the local test facility (e.g., local test facility706,710,714, or718). As will also be seen, the test controller may also analyze the response data to determine whether the dies being tested at the local test facility pass testing or to rate the dies.

Input/output module804and storage806may be similar to input/output module316and storage312, respectively, inFIG. 3. That is, input/output module804controls wireless transmission of data via transceiver704, which may be transmitted to any of the transceivers708,712,716, and/or720of the local test facilities706,710,714, and/or718. Input/output module804likewise controls receipt of data at transceiver704, which may have been wirelessly transmitted from any of the transceivers708,712,716, and/or720of the local test facilities706,710,714, and/or718.

Like, storage312ofFIG. 3, storage806may be any type of data storage device, including without limitation a semiconductor based storage device or devices (e.g., random access memory (“RAM”) or read only memory (“ROM”), a magnetic-based storage device or devices (e.g., a disk or floppy drive or a tape), an optical-based storage device or devices (e.g., a compact disk), any other type of storage device for storing data electronically, or any combination of the foregoing. A variety of data may be stored in storage806, including without limitation software to be run on main controller802and/or any of test controllers808,810, or812, or input/output module804. Other data that may be stored in storage806includes test data to be sent to dies in any of the local test facilities706,710,714, or718, expected response data, and the results of any such testing. Other types of data may also be stored in storage806.

FIG. 9illustrates exemplary operation of the main controller802of central test facility.FIG. 10illustrates exemplary operation of one of test controllers808,810, and812. Preferably, test controllers808,810, and812operate independently of one another but nevertheless operate similarly. Local test facilities706,710,714, and718also preferably operate independently of one other, and each may operate generally as local test facility108ofFIG. 1operates. As discussed above, exemplary operation of local test facility108ofFIG. 1is shown inFIG. 5.

FIG. 9begins with initialization at step901. As shown inFIG. 9, after initialization901, a loop is processed in which main controller looks for and processes any of a variety of possible messages. Three exemplary messages are shown inFIG. 9: a request-for-test-time message (steps902,904, and906), a start-test message (steps908,910, and912), and a test-finished message (steps914and916). Each of these exemplary messages and the way in which the messages are processed inFIG. 9will now be described.

At step902, main controller802determines whether a request-for-test-time message has been received from one of local test facilities706,710,714, or718. As mentioned above, each local test facility706,710,714, or718may operate generally as shown inFIG. 5, and as generally shown inFIG. 5, when new dies are loaded into a local test facility (e.g.,706) for testing, the local test facility (e.g.,706) sends a request-for-test-time message to the central test facility702. The request-for-test-time message may include a variety of information, including, for example, any of the following information: data identifying the local test facility (e.g.,706); the type of dies to be tested; the number of dies to be tested, an identifier identifying each die and its location relative to the other dies to be tested; a requested time for testing of the dies to begin; etc. If a request-for-test-time message is detected at step902, main controller802branches to steps904and906. At step904, main controller802schedules a test time for testing the dies. If the time requested by the local test facility (e.g.,706) is available, main controller802schedules that time at step904. Otherwise, main controller802schedules another time that is available at step904. A particular time may be deemed unavailable if the available test resources (e.g., the number of test controllers808,810, and812) would not be sufficient to perform all of the tests that, according to the schedule, will be on going at that time. For example, the exemplary central test facility702shown inFIG. 8has three test controllers808,810, and812and is thus capable to controlling testing at three local test facilities at any given time.

Main controller802may maintain a schedule in a digital memory (e.g., in a table kept in storage806or another storage device (not shown)). Table III below illustrates an example of such a table, in which three exemplary test times are scheduled: test of “X” type dies at local test facility1706to begin on Apr. 5, 2004 at 1:00 pm; a test of “Y” type dies at local test facility3714, also to be begin on Apr. 5, 2004 at 1:00 pm; and a test of “Z” type dies at local test facility4718, to begin on Apr. 9, 2004 at 9:00 am.

Of course, other or additional information could be stored in such a table in storage806. For example, additional information about the type of tests could be stored. For example, there may be multiple types of tests that may be run on a particular die type, and one or more such tests may be identified for each scheduled test time. Main controller802may schedule a test time for a requested test by creating a new entry in table III that corresponds to the requested test.

At step906, main controller802sends a notice to the local test facility (e.g.,706) identifying the scheduled test time. Further, communications between the central test facility702and the local test facility (e.g.,706) may be made to confirm the requested test time, particularly if the scheduled test time is not the same as the time requested by the local test facility.

Main controller802determines at step908whether a start-test message is present. A start-test message is generated internally when it is time to start a scheduled test. For example, when the schedule of test times, as set at step904, indicates that it is time to start a test, a start-test message is generated. There are any number of ways in which the schedule may be checked. For example, a sub-process (not shown) processing in the background on main controller802may periodically check the schedule (e.g., a table like table III above) and generate start-test messages as needed. As another example, rather than looking for a start-test message at step908, main controller802may scan at step908the test schedule for tests that are scheduled to start. Regardless of how main controller802determines at step908whether it is time to start a scheduled test, if main controller802determines that it is time to start a test, main controller processes steps910and912. At step910, main controller802identifies an available tester controller808,810, or812, and at step912, main controller802starts that test controller. (Operation of a test controller is described below with respect toFIG. 9.)

At step914, main controller802determines whether a test-controller-finished message is present. A test controller808generates such a message upon completing testing of dies started by the main controller802at step912. If a test-controller-finished message is detected at step914, main controller802collects and stores the results of the testing at step916. For example, the results of the testing may be stored in storage806. Alternatively or in addition, main controller802may transmit (e.g., via its transceiver704) the results of the testing to another entity, such as the local test facility706,710,714, or718at which the tests were performed. Alternatively, the test results may be transmitted to another entity not shown inFIG. 7. For example, one or more design facilities and/or manufacturing facilities, such as shown inFIG. 1, may be included in the system shown inFIG. 7, and the test results may be transmitted to such a facility or facilities as generally described above with respect toFIGS. 1-6.

It should be noted that raw response data generated by the dies being tested may be analyzed by any one or more of the local test facility706,710,714, or718where the testing takes place, the test controller808,812, or812that controls the testing, or the main controller802. Alternatively, an analyzer, such as the analyzer314shown inFIG. 3may be included to analyze response data. Alternatively, the system ofFIG. 7may be configured such that none of the foregoing entities analyzes the raw response data. Thus, the test results stored (and/or also processed) at step916may be raw response data or the results of analyzing the raw response data.

Steps918and920represent detection and processing of other or miscellaneous messages, including a stop message and an interrupt message that ends and pauses, respectively, processing of the method shown inFIG. 9.

As mentioned above,FIG. 10illustrates exemplary operation of any of test controllers808,810, and812, which may be implemented in software operating on a microprocessor, hardwired logic, or a combination of software and hardwired logic. As also mentioned above, operation of a test controller begins when main controller802starts the test controller at step912ofFIG. 9, and the main controller does so in order to implement testing of a particular type of die at a specified local test facility (e.g.,706). As shown inFIG. 10, the test controller (e.g.,808) sends at step1002to the local test facility a portion of the test data for testing the dies at the local test facility. The test controller may do so in a manner similar to that described above with respect to step412ofFIG. 4. That is, the test data may be in any of many different forms. For example, the test data may be test vectors that include data to be written to specified locations on the dies. (See Table I above.) As another example, the test data may be test commands or a combination of test vectors and test commends.

As generally described above with respect to steps506and508ofFIG. 5, the local test facility (e.g.,706) responds to the receipt of test data from a test controller (e.g.,808) by writing test data to the dies to be tested, and after the dies generate response data, sending the response data to the test controller (e.g.,808) (see, generally, steps510and512ofFIG. 5). At step1004, the test controller (e.g.,808) waits for response data generated by the dies in response to the test data sent at step1002. As mentioned above, the response data may be raw response data generated by the dies or the results of an analysis of the raw response data performed, for example, at the local test facility (e.g.,706). Once response data is ready at the local test facility (e.g.,706), the test controller (e.g.,808) collects the response data at step1006. At step1008, the test controller (e.g.,808) determines at step1008whether all of the test data for testing the dies has been sent to the local test facility (e.g.,706). If not, the test controller (e.g.808) repeats steps1002,1004, and1006until all of the test data for testing the dies has been sent and all of the response data generated by the dies collected, after which the test controller (e.g.,808) notifies at step1010the main controller802that testing is completed. The test controller (e.g.,808) may do so by generating a test-controller-finished message, which the main controller802detects at step914ofFIG. 9as discussed above.

Although not shown inFIGS. 7-10, one or more of each of a design facility and a manufacturing facility (e.g., similar to design facility104and manufacturing facility106inFIG. 1) may be included in the system shown inFIG. 7. Moreover, main controller802inFIG. 8may be configured to send test results to any such design facility or manufacturing facility as generally shown inFIGS. 1-6and described above.

It should again be apparent that all communications between the central test facility702and a local test facility (e.g.,706,710,714, or718) may be accomplished wirelessly via transceiver704of the central test facility702and the transceiver (e.g.,708,712,716, or720) of the local test facility.

FIG. 11illustrates a simplified block diagram of a prior art probing system1100for probing and testing semiconductor wafers. As is generally know, a semiconductor wafer1124comprising newly manufactured dies (not shown) is placed on a moveable chuck1114, which moves the wafer1124into contact with a probe card1106, establishing temporary electrical connections with terminals of dies of the wafer. Temporary electrical paths are thus established between a semiconductor tester1102and the dies to be tested. The electrical paths between the tester1102and the dies of the wafer1124include a communications cable1104, a probe head1118, electrical connectors1116, and the probe card1106. The tester1102generates test data that is written to the dies of the wafer1124, and the tester1102analyzes response data generated by the dies to determine whether the dies pass or fail the testing. Many other test systems are known in which a tester, which may be generally similar to tester1102, is disposed in general proximity to a mechanism for holding and providing electrical connections to an electronic device to be tested. Examples of such electronic devices include singulated semiconductor dies (packaged or unpackaged), multi-die modules, printed circuit boards, etc.

Any of the local test facilities (e.g.,108ofFIG. 1or706,710,714, or718ofFIG. 7) may include such test systems. The functions performed by the tester (e.g.,1102), however, may be fully or partially moved to the central test facility (102inFIG. 1or702inFIG. 7). This may, among other things, reduce the amount of equipment needed in the local test facilities (108inFIG. 1 and 706,710,714, and718ofFIG. 7), which may in turn, reduce the amount of floor space in a local test facility needed to test a given number of electronic devices.

Although exemplary embodiments and applications of the invention have been described herein, there is no intention that the invention be limited to these exemplary embodiments and applications or to the manner in which the exemplary embodiments and applications operate or are described herein. Indeed, many variations and modifications to the exemplary embodiments are possible. For example, although the embodiments described above test electronic devices, including semiconductor devices, the embodiments may be modified to test any type of electronic device or, indeed, any type of device, product, or manufacture. For example, the local test facilities may be modified to test a newly manufactured mechanical engine. In such a case, the central test facility could be modified to send test data for controlling the test equipment used to test the engines, and the central test facility could then collect response data showing the results of testing the engines.