AUTOMATED TEST EQUIPMENT AND METHOD USING DEVICE SPECIFIC DATA

20230100093 · 2023-03-30

    Inventors

    Cpc classification

    International classification

    Abstract

    An automated test equipment comprises a tester control configured to broadcast and/or specific upload to matching module input data and/or device-specific data including keys and/or credentials and/or IDs and/or configuration information. The automated test equipment further comprises a channel processing unit configured to transform input data using device specific data in order to obtain device-under-test adapted data for testing the device under test. The channel processing unit further configured to process the DUT data using device specific data in order to evaluate the DUT data. A method and a computer program for testing one or more devices under test in an automated test equipment are also disclosed.

    Claims

    1. An automated test equipment for testing a plurality of devices under test (DUTs), the automated test equipment comprising: a tester control, one or more channel processing units configured for testing the plurality of DUTs, including to: receive input data including device-specific data from the tester control; transform the input data using the device-specific data to obtain device-under-test adapted data for testing respective ones of the plurality of (DUTs); output the device-under-test adapted data to the respective ones of the plurality of DUTs; receive device under test data from the plurality of DUTs in response to the output device-under-test adapted data; and process the device under test data using the device-specific data.

    2. The automated test equipment according to claim 1, wherein the one or more channel processing units are further configured to communicate with one or more respective ones of the plurality of DUTs by respective device specific channels to communicate the device-under-test-adapted data to the respective ones of the plurality of DUTs or to receive the device under test data from the respective ones of the plurality of DUTs.

    3. The automated test equipment according to claim 1, wherein the tester control is configured to broadcast the input data to the one or more channel processing units by a tester interface.

    4. The automated test equipment according to claim 1, wherein at least one of the one or more the channel processing units comprises one or more sandboxes, where the one or more sandboxes are configured to perform one or more functions selected from a group consisting of; execute commands with individual memory, transform the input data using the device-specific data, and analyze results received from one or more of the plurality of DUTs.

    5. The automated test equipment according to claim 1, wherein at least one of the one or more channel processing units comprises a plurality of sandboxes configured to communicate with the one of the one or more channel processing units using one or more protected interfaces wherein different ones of the plurality of sandboxes are isolated from each other.

    6. The automated test equipment according to claim 1, wherein at least one of the one or more channel processing units comprises a plurality of sandboxes configured to execute a device specific functionality using the device-specific data.

    7. The automated test equipment according to claim 1, wherein at least one of the one or more channel processing units comprises one or more sandboxes including uploaded software to allow for a device specific processing of the input data or of the DUT data using the one or more sandboxes.

    8. The automated test equipment according to claim 1, wherein the one or more channel processing units are further configured to implement a communication protocol using the device-specific data to protect a communication between the one or more channel processing units and the plurality of DUTs.

    9. The automated test equipment according to claim 8, wherein the one or more channel processing units further comprise a computing unit configured to perform one or more functions selected from the group consisting of: encrypt the input data to obtain the device-under-test adapted data; decrypt the device under test data; perform error detection on the device under test data; perform error correction on the device under test data; implement a communication protocol using one or more packet counters, in order to obtain the device-under-test adapted data or to evaluate the device under test data; and implement a communication protocol using one or more device specific identifiers, in order to obtain the device-under-test-adapted data or in order to evaluate the device under test data.

    10. The automated test equipment according to claim 1, wherein the tester control is further configured to obtain security credentials or keys; and broadcast the security credentials or keys to the one or more channel processing units or to specifically upload the security credentials or keys to a respective one of the one or more channel processing units.

    11. The automated test equipment according to claim 1, further comprising a communication protocol implementation in the one or more channel processing units is configured to use one or more of functions selected from a group consisting of: one or more packet counters; handshake with device-specific contents; synchronous communication; and implementation of communication standards

    12. The automated test equipment according to claim 1, wherein the one or more channel processing units are further configured to perform one or more functions from the group consisting of: store an upstream result; analyze the upstream result data; pre-process the upstream result data; and transmit pre-processed or compressed upstream result data to the tester control.

    13. The automated test equipment according to claim 1, wherein: the automated test equipment further comprises a plurality of channel processing units; the tester control is configured to provide common data to the plurality of channel processing units; and different ones of the plurality of channel processing units are further configured to transform the common data into different device-under-test adapted data using different device-specific data, and to use the different device-under-test adapted data for testing different ones of the plurality of devices under test.

    14. The automated test equipment according to claim 1, further comprising: a plurality of channel processing units: wherein the tester control is configured to provide common expected result data to the plurality of channel processing units: and wherein different ones of the plurality of channel processing units are further configured to extract respective result data from respective device under test data using respective device-specific data, and to compare the respective result data with the common expected result data, to obtain respective test results associated with the respective devices under test.

    15. A method of testing a plurality of devices under test (DUTs) in an automated test equipment comprising a tester control and one or more channel processing units, the method comprising: transforming, in the one or more channel processing units, input data using device-specific data, to obtain device-under-test adapted data for testing respective ones of the plurality of DUTs; outputting, from the one or more channel processing units, the device under test adapted data to respective ones of the plurality of DUTs; receiving device under test data, by the one or more channel processing units; and processing, in the one or more channel processing units, device under test data using the device-specific data, to test a DUT.

    16. The method of testing according to claim 15, further comprising: communicating the device-under-test-adapted data from the one or more channel processing units to respective ones of the plurality of DUTs using respective device specific channels; and communicating the DUT data from the respective ones of the plurality of DUTs to respective ones of the one or more channel processing units using the respective device specific channels.

    17. The method of testing according to claim 15, further comprising: broadcasting the input data from the tester control to the one or more channel processing units by a tester interface.

    18. The method of testing according to claim 15, further comprising: communicating with the one or more channel processing units using one or more protected interfaces of one or more sandboxes of respective ones of the one or more channel processing units wherein different ones of the one or more sandboxes are isolated from each other.

    19. The method of testing according to claim 15, further comprising: implementing a communication protocol using the device-specific data to protect a communication between the one or more channel processing units and the plurality of DUTs.

    20. The method of testing according to claim 15, further comprising: obtaining, by the tester control, security credentials or keys; and broadcasting the security credentials or keys from the tester control to the one or more channel processing units or specifically uploading the security credentials or keys from the tester control to a respective one of the one or more channel processing units.

    21. One or more computing device readable media storing computing device executable instructions that when executed by one or more computing units perform a method comprising: transforming, in the one or more channel processing units, input data using device-specific data, to obtain device-under-test adapted data for testing respective ones of the plurality of DUTs; outputting, from the one or more channel processing units, the device under test adapted data to respective ones of the plurality of DUTs; receiving device under test data, by the one or more channel processing units; and processing, in the one or more channel processing units, device under test data using the device-specific data, to test a DUT.

    22. The one or more computing device readable media storing computing device executable instructions that when executed by one or more computing units perform the method to claim 21, further comprising: communicating the device-under-test-adapted data from the one or more channel processing units to respective ones of the plurality of DUTs using respective device specific channels.

    23. The one or more computing device readable media storing computing device executable instructions that when executed by one or more computing units perform the method to claim 21, further comprising: communicating the DUT data from the respective ones of the plurality of DUTs to respective ones of the one or more channel processing units using the respective device specific channels.

    24. The one or more computing device readable media storing computing device executable instructions that when executed by one or more computing units perform the method to claim 21, further comprising: communicating with the one or more channel processing units using one or more protected interfaces of one or more sandboxes of respective ones of the one or more channel processing units wherein different ones of the one or more sandboxes are isolated from each other.

    Description

    BRIEF DESCRIPTION OF THE FIGURES

    [0049] Embodiments according to the present invention will subsequently be described taking reference to the enclosed figures in which:

    [0050] FIG. 1a shows a block schematic diagram of an automated test equipment for providing device-specific communication to a device-under-test, according to an embodiment of the invention;

    [0051] FIG. 1b shows a block schematic diagram of an automated test equipment for providing device-specific communication to a device-under-test, according to an embodiment of the invention;

    [0052] FIG. 2 shows a block schematic diagram of an automated test equipment for providing device-specific communication to a device-under-test, according to an embodiment of the invention;

    [0053] FIG. 3 shows a block schematic diagram of a channel processing unit according to an embodiment of the invention;

    [0054] FIG. 4 shows a block schematic diagram of a sandbox in channel processing unit according to an embodiment of the invention;

    [0055] FIG. 5 shows a block schematic diagram of a channel processing unit comprising a security module according to an embodiment of the invention;

    [0056] FIG. 6 shows a block schematic diagram of an automated test equipment for credential management according to an embodiment of the invention;

    [0057] FIG. 7 shows a block schematic diagram of a channel processing unit comprising a protocol implementation unit according to an embodiment of the invention;

    [0058] FIG. 8 shows a block schematic diagram of a channel processing unit with pre-processing of upstream result data according to an embodiment of the invention;

    [0059] FIG. 9 shows a block schematic diagram of a sandbox in channel processing unit according to an embodiment of the invention; and

    [0060] FIG. 10 shows a block schematic diagram of a conventional automated test equipment.

    DETAILED DESCRIPTION OF THE FIGURES

    Automated Test Equipment According to FIG. 1a and FIG. 1b

    [0061] FIG. 1a shows a block schematic diagram of an automated test equipment 100, according to an embodiment of the present invention. The automated test equipment 100 comprises a tester control 110, which is configured to broadcast and/or specifically upload to a matching module (e.g., to a channel processing unit) input data 114a (e.g., a DUT stream, or an incoming tester command stream, or a broadcast data, or a shared data, or a data equal for different DUTs, or a common expected result data) and device specific data 114b.

    [0062] The automated test equipment 100 further comprises a channel processing unit 124 configured to transform input data 114a using device specific data 114b, in order to obtain device-under-test adapted data 126 for testing the device-under-test 130. Alternatively or an addition, the automated test equipment 100 is configured to process DUT data 128 from a DUT 130 using device specific data 114b, in order to test or evaluate a DUT 130.

    [0063] Accordingly, the channel processing unit may generate device-under-test adapted data in a decentralized manner, which may help to avoid a transmission of different device-under-test adapted data to different channel processing units which may all be coupled to the tester control. For example, a data volume of the input data 114a, which may be device-agnostic and which may not be adapted to an individual DUT, may be significantly larger than the device specific data, which may, for example, be different for each individual DUT. Consequently, it may only be necessary to individually send the small amount of device-specific data to different channel processing units in an automated test equipment comprising multiple channel processing units. Also, the tester control, which may, for example, handle a simultaneous testing of multiple devices under test using different channel processing units, does no longer need to perform the DUT-specific (DUT-individual) adaptation of the “input data”, because this functionality is taken over by the one or more channel processing units coupled to the tester control.

    [0064] Moreover, it should be noted that the automated test equipment of FIG. 1a may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    [0065] FIG. 1b shows a block schematic diagram of an automated test equipment 100 according to an embodiment of the present invention. The automated test equipment 100 comprises a tester control 110. The tester control 110 comprises a centralized test flow management 112 which is configured to broadcast and/or specifically upload to one or more matching modules (e.g., to the matching channel processing units 124a to 124z) input data 114a. Furthermore, the centralized test flow management is configured to broadcast and/or specifically upload to one or more matching modules (e.g., to the matching channel processing units 124a to 124z) device-specific data 114b (e.g., keys, and/or credentials, and/or IDs, and/or configuration).

    [0066] The automated test equipment 100 further comprises a tester 120. The tester comprises a tester data bus 122 which is coupled to the centralized test flow management 112 (which is part of the tester control 110) and to a plurality of channel processing units 124a to 124z. The tester data bus 122 is configured to receive (or obtain) the input data 114a with device specific data 114b from the centralized test flow management 112 (which is part of the tester control 110) and to transfer the input data 114a to one or more of the channel processing units 124a to 124z. The channel processing unit 124a comprises a memory unit 124a-1 and a computing unit 124a-2. The device specific data 114b is stored in the memory unit 124a-1. The input data 114a is processed with device specific data 114b in computing unit 124a-2 in order to obtain device-under-test adapted data 126 for testing the device-under-test 130a-1.

    [0067] The channel processing unit 124a is configured to transmit the device-under-test adapted data to a respective DUT 130a-1 which is mounted on a load board or probe card 130. The device-under-test adapted data is transmitted to a respective DUT 130a-1 by means of a device specific channel 1.1 and a respective DUT interface. The DUT interface may, for example, be coupled to a PCIe physical interface or the USB physical interface, but may also comprise a JTAG interface, an iJTAG interface or any other appropriate interface.

    [0068] The device-under-test adapted data may represent a program code of a test program (e.g., for testing a system-on-chip) and/or data to be processed and may be used (e.g., executed or processed) on the DUT 130a-1. After the test execution, the DUT data 128 is transmitted to the channel processing unit 124a by means of the respective DUT interface and the device specific channel 1.1. The channel processing unit 124a is configured to process the respective DUT data using device specific data, e.g., in order to extract the upstream result data (e.g., respective result data, or DUT data from the device-under-test). Accordingly, the channel processing unit 124a is configured to store upstream result data in the memory unit and/or to analyze upstream result data using expected result data, or compare with the expected result data. In other words, the analysis on the upstream result data is to specify if there is a difference between the upstream result data and the expected result data in which the difference may reflect the production defects on the respective DUT. Moreover, the upstream result data may be pre-processed, and/or compressed, and/or transmitted (forwarded) to the tester control 110 via the tester data bus (interface) 122 by the channel processing unit 124a.

    [0069] In multi-site DUT testing, driving a test efficiency is a key enabler. By reducing bus traffic and CPU requirements with an efficient test methodology may help to reduce overall costs and test time. In case of no software or hardware related defects or faults on DUT platforms, then the tests applied to multiple DUTs may have the tendency to have the same or similar results. Considering this aspect, in the channel processing unit of the present invention, a compare operation may be applied in the computing unit. Accordingly, in the computing unit, the common expected result data from the tester control is compared with the respective test result data from the DUT. After the comparison operation, solely the difference between the common expected test result data and the respective test result data may be compressed and transmitted to the tester control 110. This may reduce the bus traffic and the CPU requirements on the tester control.

    [0070] Another (optional) feature contributing to the DUT test efficiency is the optional sandboxing which provides a better memory (124a-1 to 124z-1) and a computing (124a-2 to 124z-2) resource utilization. The channel processing units 124a to 124z may optionally comprise one or more sandboxes (e.g., as shown at reference numeral 124z-3) wherein the one or more sandboxes 124z-3 are configured to execute commands with the virtual individual memory 124z-1 and the computing 124z-2 capability with or without resource-sharing depending on the architecture. The one or more sandboxes 124z-3 are configured to transform the input data 114a using the device-specific data 114b, and/or the one or more sandboxes 124z-3 are configured to analyze results received from the DUT 130 with individual computing capability. Moreover, the automated test equipment 100 is configured to upload a software to one or more sandboxes 124z-3, to allow for a device-specific processing of the input data 114a or of the DUT data 128 using the sandbox 124z-3. Accordingly, the sandboxing feature enables virtual, individual memory and computing capability to test the DUT 130a-1 in an isolated environment.

    [0071] As an additional remark, it should be noted that, optionally, two or more devices under test (e.g., DUTs 130a-1 and 130a-2) may be coupled to a single channel processing unit (e.g., to channel processing unit 124a), e.g., using separate channels (e.g., channel 1.1 and channel 1.2, as shown in FIG. 2). However, in some embodiments, a single DUT may be coupled to a channel processing unit. Also, there may by cases in which a plurality of channel processing unit are used to test a single DUT, e.g., if the DUT comprises a very high number of pins and/or is composed of multiple, potentially independent, interfaces.

    [0072] However, it should also be noted that the tester 120 does not necessarily need to have the component 124z. Rather, optionally, one or more of said components can be omitted or altered. Moreover, it should be noted that the automated test equipment 100 can optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 2

    [0073] FIG. 2 shows a block schematic diagram of an automated test equipment 200 for providing a device-specific communication to a device-under-test 230a-1, according to an embodiment of the invention. The automated test equipment 200 comprises a tester control 210. The tester control 210 comprises a centralized test flow management 212 which is configured to broadcast and/or specifically upload to one or more matching modules the input data (e.g. data 114a) and the device-specific data (e.g. data 114b).

    [0074] The automated test equipment 100 further comprises a tester 220. The tester comprises a tester data bus 222 which is coupled to the centralized test flow management 212 and to a plurality of channel processing units 224a to 224m. The tester data bus 222 is configured to receive the input data with device specific data from the centralized test flow management 212 and transfer the input data to the plurality of the channel processing units 224a to 224m. The channel processing unit 224a comprises a memory unit 224a-1 and a computing unit 224a-2. The device specific data for each respective DUT is stored in the memory unit 224a-1 of a respective channel processing unit. The input data is processed with respective device specific data in the computing unit 224a-2 in order to obtain device-under-test adapted data 126 for testing the respective device-under-test 230a-1.

    [0075] The use of per-channel processing units transforms the input data with the (local) device specific data (e.g., local device specific information and/or keys and/or credentials and/or IDs and/or a configuration). The encrypted/decrypted device specific communication is used in order to prevent the interfaces (e.g., channel 1.1. and channel 1.2) from unauthorized access to internal device structures.

    [0076] Moreover, it should be noted that the automated test equipment 200 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 3

    [0077] FIG. 3 shows a block schematic diagram of a channel processing unit 320 according to an embodiment of the invention. The channel processing unit 320 may, for example, take the place of the channel processing units 124a to 124z or of the channel processing units 224a to 224m. The channel processing unit 320 comprises a memory 320a and a computing unit 320b. The memory 320a unit is configured to store data (e.g. the device-specific data which may, for example, comprise keys and/or credentials and or IDs), and the configuration. The channel processing unit 320 is configured to transform input data (e.g., a DUT stream or incoming tester command stream or broadcast data or shared data or data equal for different DUTs or common expected result data) into device-specific data or device-specific communication, for example by using secured device communication or secured device communication coding and protocol-aware (or protocol-aware coding) with local device-specific information. The secured device communication is achieved with encryption or decryption of DUT communication or authorization which refers to granting certain level of access, or authentication which refers to confirming the identity of users.

    [0078] Moreover, in terms of secure device communication, the communication between the DUT and the channel processing unit may (alternatively or in addition) further be protected by using packet counters and/or error correction codes and/or error identification codes.

    [0079] The protocol-aware data (e.g., device-under-test adapted data, or data adapted to an individual device-under-test, or expected result data adapted to a device-under-test) is, for example, obtained by transforming the input data sent from tester control with local device specific information.

    [0080] Thus, the channel processing unit 320 may help to reduce the load of the tester control and of the tester data bus, while ensuring a high security level.

    [0081] Moreover, it should be noted that the channel processing unit 300 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 4

    [0082] FIG. 4 shows a block schematic diagram of a sandbox in a channel processing unit according to an embodiment of the invention. The channel processing unit 420 (which may, for example, take the place of any channel processing units disclosed herein) may optionally comprises at least one sandbox 420c wherein the at least one sandbox 420c comprises (or has associated) the memory 420a and the computing 420b units.

    [0083] The at least one sandbox 420c is configured to transform the input data using the device-specific data, and/or the at least one sandbox 420c is configured to analyze results received from the DUT 430 with individual computing capability. Moreover, the automated test equipment 400 is configured to upload a software to the at least one sandbox 420c, to allow for a device-specific processing of the input data or of the DUT data using the sandbox 420c. Moreover, the sandbox may comprise secure and well-defined interfaces to the rest of the channel processing unit, to allow for a provision of data from the sandbox to the DUT and/or vice versa. Accordingly, the sandboxing feature enables virtual, individual memory and computing capability to test the DUT 430 in an isolated environment.

    [0084] Moreover, it should be noted that the channel processing unit 400 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 5

    [0085] FIG. 5 shows a block schematic diagram of a channel processing unit comprising a security module according to an embodiment of the invention. The channel processing unit 520 (which may, for example, take the place of any of the channel processing units disclosed herein) comprises a memory 520a and a computing unit 520b. The computing unit 520b further comprises a security module 520c. The device-specific data (e.g., keys, credentials, IDs, and configuration) is stored in the local memory 520a before the DUT communication. The computing unit 520b, which comprises the security module 520c, is configured to interact with the DUT interface.

    [0086] The security module is configured to protect the DUT communication by managing and performing encryption/decryption, or authorization, or authentication functions. Moreover, the communication between the DUT and the channel processing unit may, for example be further protected by using packet counters and/or error correction codes and/or error identification codes in order to detect communication channel (e.g., transmission medium) related errors after the DUT data is received by the channel processing unit. The error identification and error correction codes add some redundancy to the input data, enabling to check consistency of the transmitted data (e.g., device-under-test adapted data) and to recover the received data when corrupted due to the channel transmission. The error identification (detection) codes may, for example, be (or comprise) a cyclic redundancy check. The error correction code may typically be (or comprise) one or more forward error correction codes (e.g., Viterbi decoding, block codes) and/or automatic repeat request.

    [0087] Moreover, it should be noted that the channel processing unit 500 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 6

    [0088] FIG. 6 shows a block schematic diagram of an automated test equipment 600 for credential management according to an embodiment of the invention. The tester control 610 comprises a centralized test flow management 612 and the centralized test flow management 612 further comprises a secure credentials 614 unit. The tester control is configured to obtain (e.g. receive or generate) security credentials and/or keys (e.g., automated test equipment 600 specific security credentials or keys, like a public key of the automated test equipment 600) and broadcast and/or specifically upload (e.g., the security credentials or keys) to one or more matching modules (e.g., to the respective channel processing units 524a to 624m, which may, for example, correspond to any of the channel processing units disclosed herein) and/or to one or more respective DUTs. Furthermore, the encryption may be applied by (or using) the tester-specific credentials known to the CPU.

    [0089] Moreover, it should be noted that the automated test equipment 600 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Example According to FIG. 7

    [0090] FIG. 7 shows a block schematic diagram of a channel processing unit comprising a protocol implementation unit according to an embodiment of the invention. The channel processing unit 720 (which may take the place of any of the channel processing units disclosed herein) comprises a memory 720a and a computing unit 720b. The computing unit 720b further comprises a protocol implementation unit 720c. The protocol communicating with the respective DUT is programmable in hardware or software and is therefore reconfigurable. The computing unit 720b is configured to interact with one or more DUT interfaces.

    [0091] The communication protocol implementation in the channel processing unit 720 is, for example, configured to use (consider) one or more packet counters, and/or handshake with device-specific contents (e.g. device ID), and/or synchronous communication including timestamp, and/or implementation of communication standards such as IEEE 1687.x, or IEEE 1500, or IEEE 1149.x.

    [0092] By using a protocol implementation in the computing unit 720b, the amount of data upload to the channel processing unit from the tester control can be kept small, because the protocol overhead can be generated by the channel processing unit. Also, device-specific protocol aspects are introduced at the side of the channel processing unit, which again significantly reduces the load of the tester bus.

    [0093] Moreover, it should be noted that the channel processing unit 700 may optionally be supplemented by any of the features, functionalities and details disclosed herein, both individually and taken in combination.

    Applications

    [0094] In the following, some applications will be described taking reference to FIGS. 8 to 9. FIG. 8 shows a block schematic diagram of a first scenario, in which results of a local preprocessing of the upstream results are stored and compared with the expected results.

    [0095] The channel processing unit 820 (which may take the place of any of the channel processing unit disclosed herein) comprises a memory 820a and a computing unit 820b. The memory unit 820a comprises an expected results unit or memory portion 820a-1 which may store the common expected result data provided by the tester control (which may be common of multiple devices under test). Moreover, the computing unit 820b comprises a comparator unit 820b-1 which may compare the received DUT data (or preprocessed DUT data, preprocessed in a device-specific or device-individual manner, e.g., using the device-specific data) and the expected result data (e.g., expected result data processed in a device-specific manner using the device-specific data by the channel processing unit) which may be stored in the memory unit 820a.

    [0096] The channel processing unit 820 is, for example, configured to process (or preprocess) the respective DUT data using device-specific data in order to extract the upstream result data (e.g., respective result data, or DUT data from the device-under-test). Accordingly, the channel processing unit 820 is, for example, configured to store upstream result data in the memory unit 820a. Furthermore, the channel processing unit 820 is, for example, configured to analyze the upstream result data using expected result data. This may be achieved in the comparator unit 820b-1 (which is part of the computing unit 820b) by comparing the upstream result data with the expected result data stored in expected results unit 820a-1 (which is part of the memory unit 820a).

    [0097] Moreover, the upstream result data may, for example, be pre-processed, and/or compressed, and/or transmitted (forwarded) to the tester control via the tester data bus (interface) 822 by the channel processing unit. The upstream result data may, for example, be compressed in order to reduce the volume of data for a fast exchange of data and to reduce the transmission time.

    [0098] The automated test equipment 800 is, for example, configured to control the test (e.g., an upload of a program, and/or an execution of one or more portions of a test program, and/or a download of a result data, and/or a debugging) of a device-under-test on the basis of an overall test execution program in test sequences. The channel processing unit 820 is, for example, configured to provide output to sequencing which controls the sequence execution (e.g., an adjustment of a timing of edges in a signal provided to a DUT) and transfers the digital data stream or sequence of signals with specific timing adjustment to the driver.

    [0099] The driver is configured to obtain input from sequencing and communicate with the device-under-test through (e.g., interactive) interfaces (which may, for example, be an iJTAG interface or an RSN interface or an IEEE-1687 interface). The driver may, for example, be configured to add or adjust analog voltage levels or the driver may act like a multiplexer to switch the device-under-test between different voltage levels to check the voltage level of which the driver-under-test can tolerate.

    [0100] The driver stimulates a sequence, which is then transferred via a data communication channel and communicated with device-under-test through the DUT interface. For example, the device-under-test functionality over various voltage and frequency levels may be checked through sequences stimulated by the driver. In some cases, the sequences received from the DUT and the sequences sent by the DUT have to be fully bit by bit identical. The DUT driver may, for example, send the data sequence to the automated test equipment 800 through the DfT interface that checks the received sequence for errors. It should be noted that, the channel processing unit is, for example, configured to compare the received sequence (DUT data) with the expected results in the comparator which is part of the computing unit.

    [0101] Generally speaking, different approaches are possible. As an example, the channel processing unit may receive common expected result data from the tester control, transform the common expected result data into device-adapted expected result data, store the device-adapted expected result data, and perform a comparison between the device-adapted expected result data and DUT data received from the DUT, to evaluate the DUT. Alternatively, the channel processing unit may store the common expected result data (which are common for a plurality of DUTs), extract result data from the DUT data using the device specific data (thereby considering device-individual protocol features) and to compare the extracted result data with the common result data, to thereby evaluate the DUT. However, different processing operations are also possible.

    [0102] FIG. 9 shows a block schematic diagram of a second scenario, in which a sandboxed channel processing unit 920 according to an embodiment of the invention is represented. The channel processing unit 920 comprises at least one sandbox 920c wherein the sandbox 920c comprises a memory unit 920a and a computing unit 920b. The memory unit 920a is configured to store the device-specific data and the configuration.

    [0103] The automated test equipment 900 is configured to upload a software to at least one sandbox 920c, to allow for a device-specific processing of the input data or of the DUT data using the sandbox 920c. Likewise, a device-specific functionality can be updated by uploading from a third-party software in order to enable efficient device-specific computation steps (e.g., communication with the specific DUT interfaces knowing the device configuration).

    [0104] The sandboxed channel processing unit 920 is configured to provide output to sequencing which controls the sequence execution and transfers sequence of signals with specific timing adjustment to the driver. The driver is configured to obtain the digital sequence of signals and add or adjust analog voltage levels and may transfer the signal to the device-under-test 930a through the DUT interface. For example, the device-under-test functionality over various voltage and frequency levels is checked through sequences stimulated by the driver. The DUT driver may, for example, send the sequences through the DfT interface to the debug interface. The debug interface may, for example, download the sequences of the DUT data and transfer it to the automated test equipment 900 in order to check the received sequence for errors.

    [0105] However, it should be noted that the automated test equipment 800,900 may optionally be supplemented by any features, functionalities and details disclosed herein, both individually and taken in combination.

    Conventional Solution According to FIG. 10

    [0106] FIG. 10 shows a block schematic diagram of a conventional automated test equipment 1000. However, it should be noted that the conventional automated test equipment 1000 is similar to the automated test equipment 100, or 200, or 600, except for the fact that there are no DUT-specific (or device specific) channel processing units and no security aspects such as encryption/decryption, utilization of an error detection mechanism, utilization of an error correction mechanism, or utilization of an authentication mechanism. Rather, prior art solutions rely on centralized channel architectures which cannot perform local data transformations. Furthermore, using a centralized channel architecture, data needs to be transported to a central processing unit and computed on a central processing unit. In this case, a high communication overhead or bottleneck for device-specific communication occurs due to central processing operation.

    CONCLUSIONS

    [0107] In the following, some conclusions will be provided. Also, aspects of the invention will be disclosed, which may be used individually or in combination, and which may optionally be introduced into any of the other embodiments, both individually and in combination.

    [0108] Embodiments according to the invention create an efficient and secured device specific communication in multi-site DUT tests.

    [0109] According to an aspect of the invention, per-channel processing units are used to transform a central data stream with local device-specific (or with local device specific data).

    [0110] According to an aspect, an encrypted and device-specific communication can be performed in this manner.

    [0111] According to another aspect, a communication with the channel processing unit (or channel processing units) is as device-agnostic as possible (e.g., in the sense that characteristics of an individual device under test, like individual encryption keys or individual credentials, are not considered, e.g., in the main data volume communicated between the tester control and the channel processing units)

    [0112] For example, an automated test equipment according to FIG. 2 may be used for this purpose.

    [0113] In the following, some aspects which relate to the channel processing unit will be described.

    [0114] According to an aspect, the channel processing unit may transform an incoming tester command stream into device specific communication, for example a secured device communication and/or protocol-aware with local device specific information.

    [0115] According to an aspect, there central processing unit may use a transparent input-output stream to an external workstation (which may, for example, implement the tester control).

    [0116] According to an aspect, embodiments according to the invention allow (or perform) a result analysis directly on the channel processing unit, to reduce bus traffic and/or CPU requirements.

    [0117] According to an aspect, the channel processing unit combines storage (e.g. memory) and computing (e.g. CPU and/or ASIC and/or FPGA).

    [0118] For example, the channel processing unit according to FIG. 3 may be used to implement these aspects.

    [0119] According to an aspect, the channel processing unit may use sandboxing.

    [0120] For example, sandboxing may comprise local execution of tester commands with its individual memory and computing capability (with or without resource-sharing depending on architecture).

    [0121] According to an aspect, the sandbox communicates with the hosting channel processing unit using protected interfaces such that one sandbox is isolated from the other one. In some embodiments, inter-sandbox communication is only possible if specifically allowed (e.g., using a configuration).

    [0122] According to an aspect, there may be one or more sandboxed per channel.

    [0123] An example of a channel processing unit using one or more sandboxes is shown in FIG. 4

    [0124] In the following, applications according to aspects of the invention will be described.

    [0125] According to an aspect, embodiments according to the invention may be used to perform secured device communication.

    [0126] According to an aspect, device-specific data (e.g., keys, credentials, ids, configuration) are stored in local memory before communication.

    [0127] According to another aspect, a computing module interacts with DUT interfaces, for example to achieve a protection of communication (e.g., using encryption and/or decryption and/or using package counters and/or using error correction and error identification codes, etc.).

    [0128] According to an aspect, the implementation of the communication protocol may be in hardware or in software.

    [0129] An example of a channel processing unit using secured device communication is shown in FIG. 5.

    [0130] According to an aspect, the secured device communication comprises a credential management.

    [0131] For example, in a first step, credentials (device-specific or device-identical) are presented to a test flow management.

    [0132] Moreover, for example, in a second step there is an upload to the channel processing unit, which may be performed using a broadcast or using a specific upload to a matching module.

    [0133] Moreover, according to an aspect, there may be an encryption (e.g., of the credentials) by tester specific credentials known to the CPU (e.g., to the CPU of the tester control and to the CPU of the channel processing units).

    [0134] An example of an automated test equipment using a credentials management is shown in FIG. 6.

    [0135] According to an aspect, embodiments according to the invention are adapted to perform a secure multi-site protocol-aware testing.

    [0136] According to an aspect of the invention, a protocol implementation on a channel processing unit can account for, [0137] Packet counters, [0138] Handshakes with device-specific content (e.g., id), [0139] Efficient non-multisite synchronous protocols-aware communication (e.g., using a local processing of a device-specific part), and/or [0140] Implementation of communication standards, such as IEEE1687.x, IEEE 1500, or IEEE 1149.4.

    [0141] An example of a channel processing unit for secure multi-standard protocol-aware testing is shown in FIG. 7.

    [0142] According to an aspect, embodiments according to the invention use a local pre-processing of upstream results.

    [0143] According to an aspect, expected results are stored on the channel processing unit (e.g., in a first step).

    [0144] According to an aspect, upon test execution, upstream result data is analyzed and pre-processed before transmission on a tester bus interface (e.g., using a signature generation and/or using a test result compression).

    [0145] This allows multi-site efficient interactive test flow execution.

    [0146] An example of a channel processing unit (or a test chain) using a local pre-processing of upstream results is shown in FIG. 8.

    [0147] According to another aspect, a customer may upload code to a sandbox.

    [0148] According to an aspect, a device-specific functionality can be directly executed on the sandboxed channel processing unit as specified by the customer. This enables efficient device-specific computation steps. For example, this enables communication with the specific DfT (design for test) interfaces knowing the device configuration. Moreover, this may allow multi-site efficient interactive test flow execution.

    [0149] An example of a channel processing unit (or of a test chain) is shown in FIG. 9.

    [0150] In the following, some advantages of embodiments of the invention over conventional solutions will be discussed. However, it should be noted that it is not necessary that embodiments according to the invention comprise some or all of the advantages mentioned in the following.

    [0151] According to the embodiments of the present invention, the DUT specific (device-specific) channel processing units which is part of an automated test equipment is disclosed. In other words, embodiments according to the invention solve the problem to improve the communication overhead by introducing DUT specific communication. For example, in a standard approach, multiple DUTs tested in parallel builds the complete processing load in a central processing unit. Whereas the DUT-specific processing is performed in a respective channel processing unit improving the communication overhead over the interface (or data bus).

    [0152] Embodiments according to the present invention are based on the secure communication approach in order to achieve secure multi-site DUT testing by using an advanced security architecture. Security mechanisms rely on encrypted/decrypted DUT communication, or error detection/error correction or authentication mechanism. Moreover, the communication between the DUT and the channel processing unit is, for example, further protected by using packet counters and/or error correction codes and/or error identification codes. This ensures the highest possible security in the context of multi-site testing.

    [0153] Further, embodiments according to the present invention allow an efficient device-specific communication. In particular, this is achieved by the result analysis approach and the sandboxed channel processing unit approach. For example, in result analysis approach, the respective test result data from the DUT is compared with a common expected result data broadcasted by the tester control in channel processing units. In case, the respective test result (upstream result data) is different from the common expected result data, the respective test result data and/or the difference between the common expected test result data and the respective test result data is compressed and transmitted to the tester control. To conclude, the result analysis approach on channel processing unit minimizes both the test time by reducing the bus traffic and the CPU requirements. In some embodiments, sandboxed channel processing unit is used in which a device-specific functionality can be updated by uploading from a third-party software in order to enable efficient device specific computation steps. For example, customized DUT tests can be executed from a third-party.

    [0154] To conclude, embodiments according to the invention may be used to test devices under test in an efficient and secured manner, and are therefore advantageous over other concepts.

    IMPLEMENTATION ALTERNATIVES

    [0155] It should be noted that the memory described herein (and shown in the Figures) may, for example, be implemented as volatile (e.g. using RAM, DDR, embedded memory, etc.) and/or as non-volatile (e.g. using SSD, HDD, Flash, etc.).

    [0156] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.

    [0157] Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.

    [0158] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.

    [0159] Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine-readable carrier.

    [0160] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine-readable carrier.

    [0161] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

    [0162] A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitory.

    [0163] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.

    [0164] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

    [0165] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

    [0166] A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.

    [0167] In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware apparatus.

    [0168] The apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

    [0169] The apparatus described herein, or any components of the apparatus described herein, may be implemented at least partially in hardware and/or in software.

    [0170] The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

    [0171] The methods described herein, or any components of the apparatus described herein, may be performed at least partially by hardware and/or by software.

    [0172] The above described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.