Test-Cost Modeling and Optimal Test-Flow Selection of 3D-Stacked ICs

Similar documents
Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

An Optimal Algorithm for Prufer Codes *

Mathematics 256 a course in differential equations for engineering students

Support Vector Machines

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Hermite Splines in Lie Groups as Products of Geodesics

An Entropy-Based Approach to Integrated Information Needs Assessment

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Feature Reduction and Selection

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

CMPS 10 Introduction to Computer Science Lecture Notes

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Repeater Insertion for Two-Terminal Nets in Three-Dimensional Integrated Circuits

Meta-heuristics for Multidimensional Knapsack Problems

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

Wishing you all a Total Quality New Year!

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Reducing Frame Rate for Object Tracking

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Analysis of Continuous Beams in General

A Binarization Algorithm specialized on Document Images and Photos

S1 Note. Basis functions.

y and the total sum of

5 The Primal-Dual Method

Brave New World Pseudocode Reference

The Codesign Challenge

Concurrent Apriori Data Mining Algorithms

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Cluster Analysis of Electrical Behavior

Explicit Formulas and Efficient Algorithm for Moment Computation of Coupled RC Trees with Lumped and Distributed Elements

GSLM Operations Research II Fall 13/14

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements


SENSITIVITY ANALYSIS IN LINEAR PROGRAMMING USING A CALCULATOR

LECTURE : MANIFOLD LEARNING

A Facet Generation Procedure. for solving 0/1 integer programs

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

Support Vector Machines

Problem Set 3 Solutions

CE 221 Data Structures and Algorithms

Parallel matrix-vector multiplication

USING GRAPHING SKILLS

Today s Outline. Sorting: The Big Picture. Why Sort? Selection Sort: Idea. Insertion Sort: Idea. Sorting Chapter 7 in Weiss.

Programming in Fortran 90 : 2017/2018

AVO Modeling of Monochromatic Spherical Waves: Comparison to Band-Limited Waves

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

Network Coding as a Dynamical System

TN348: Openlab Module - Colocalization

Determining the Optimal Bandwidth Based on Multi-criterion Fusion

Module Management Tool in Software Development Organizations

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Kent State University CS 4/ Design and Analysis of Algorithms. Dept. of Math & Computer Science LECT-16. Dynamic Programming

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

Solving two-person zero-sum game by Matlab

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Parallel Branch and Bound Algorithm - A comparison between serial, OpenMP and MPI implementations

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Hierarchical clustering for gene expression data analysis

Some Advanced SPC Tools 1. Cumulative Sum Control (Cusum) Chart For the data shown in Table 9-1, the x chart can be generated.

LS-TaSC Version 2.1. Willem Roux Livermore Software Technology Corporation, Livermore, CA, USA. Abstract

Topology Design using LS-TaSC Version 2 and LS-DYNA

Fast Computation of Shortest Path for Visiting Segments in the Plane

Classification / Regression Support Vector Machines

TPL-Aware Displacement-driven Detailed Placement Refinement with Coloring Constraints

Dynamic Voltage Scaling of Supply and Body Bias Exploiting Software Runtime Distribution

ELEC 377 Operating Systems. Week 6 Class 3

Unsupervised Learning

A Saturation Binary Neural Network for Crossbar Switching Problem

Intra-Parametric Analysis of a Fuzzy MOLP

The Shortest Path of Touring Lines given in the Plane

An Efficient Genetic Algorithm with Fuzzy c-means Clustering for Traveling Salesman Problem

CHAPTER 3 SEQUENTIAL MINIMAL OPTIMIZATION TRAINED SUPPORT VECTOR CLASSIFIER FOR CANCER PREDICTION

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

12/2/2009. Announcements. Parametric / Non-parametric. Case-Based Reasoning. Nearest-Neighbor on Images. Nearest-Neighbor Classification

Active Contours/Snakes

Minimization of the Expected Total Net Loss in a Stationary Multistate Flow Network System

CSE 326: Data Structures Quicksort Comparison Sorting Bound

AP PHYSICS B 2008 SCORING GUIDELINES

APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT

CSE 326: Data Structures Quicksort Comparison Sorting Bound

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Three supervised learning methods on pen digits character recognition dataset

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016)

SVM-based Learning for Multiple Model Estimation

Overlapping Clustering with Sparseness Constraints

TECHNIQUE OF FORMATION HOMOGENEOUS SAMPLE SAME OBJECTS. Muradaliyev A.Z.

Classifier Selection Based on Data Complexity Measures *

Transcription:

Test-Cost Modelng and Optmal Test-Flow Selecton of 3D-Stacked ICs Mukesh Agrawal, Student Member, IEEE, and Krshnendu Chakrabarty, Fellow, IEEE Abstract Three-dmensonal (3D) ntegraton s an attractve technology platform for next-generaton ICs. Despte the benefts offered by 3D ntegraton, test cost remans a major concern, and analyss and tools are needed to understand test flows and mnmze test cost. We propose a generc cost model to account for varous test costs nvolved n 3D ntegraton and present a formal representaton of the soluton space to mnmze the overall cost. We present an algorthm based on A* a best-frst search technque to obtan an optmal soluton. An approxmaton algorthm wth provable bounds on optmalty s proposed to further reduce the search space. In contrast to pror work, whch s based on explct enumeraton of test flows, we adopt a formal optmzaton approach, whch allows us to select an effectve test flow by systematcally explorng an exponentally large number of canddate test flows. Expermental results hghlght the effectveness of the proposed method. Adoptng a formal approach to solvng the cost-mnmzaton problem provdes useful nsghts that cannot be derved va selectve enumeraton of a smaller number of canddate test flows. I. Introducton Three-dmensonal (3D) stackng nvolves the ntegraton of multple slcon des n a vertcal stack usng short through-slcon vas (TSVs) []. Compared to tradtonal corentegraton technologes, 3D stackng offers several benefts, such as reduced wre length, reducton n nterconnect delays and power consumpton, and hgher nterconnect bandwdth wth mproved performance. 3D-stacked memory chps are already n producton [3], [4] and the semconductor ndustry s headed towards further explotaton of the benefts provded by 3D ntegraton n a varety of product lnes, such as 3D NOC [5], 3D memory-on-processor [6], and 3D FPGA [7]. The emergence of 3D logc-logc stacks has also been predcted for the near future [8]. Motvated by advances n desgn and technology, researchers have started nvestgatng test and desgn-for-testablty technques for 3D ICs [9] []. Test cost has emerged as a potental showstopper n the adopton of 3D ntegraton. The choce of test flow,.e., what tests are used and when they are appled durng 3D ntegraton ( what to test, when to test ) affects test cost. 3D stackng nvolves many possble test nsertons. Due to multple yeld and test cost parameters correspondng to dfferent des and A prelmnary verson of ths report was presented at the IEEE VLSI Test Symposum (VTS), 03 []. Ths research was supported n part by the Natonal Scence Foundaton under grant no. CCF-0739, the Semconductor Research Corporaton under contract no. 8, a grant from Intel Corporaton, and a gft from Csco Systems through the Slcon Valley Communty Foundaton. M. Agrawal and K. Chakrabarty are wth the Department of Electrcal and Computer Engneerng, Duke Unversty, Durham, NC 7708, USA. E-mal: mukesh.agrawal@duke.edu, krsh@ee.duke.edu. tests, such as for pre-bond, post-bond, and partal stack, an exponentally large number of test flows must be evaluated. Therefore, analyss methods and tools are needed for testcost optmzaton and automated test-flow selecton. A comprehensve cost model s also needed to quantfy the dfference between the varous test flows and to gude the selecton process. Several papers have been publshed recently on varous aspects of test-cost modelng and optmzaton for 3D ICs [3] [9]. These papers have prmarly explored the test-cost modelng part of the problem, and the test-flow selecton problem has largely remaned gnored. A small number of selected canddate test flows were explctly enumerated and the best among them was reported as an optmal test flow. A systematc and exhaustve exploraton of all possble test flows s clearly needed to acheve the best trade-off between cost and yeld. In ths report, we address test-cost optmzaton for 3D ICs by developng a cost model that takes nto account varous test costs at each step of the stackng process. The model s generc and flexble n that t provdes placeholders for dfferent test costs that are typcally ncurred durng 3D ntegraton. The proposed model can be adapted for wafer-to-wafer (WW), de-to-wafer (DW), and de-to-de (DD) stackng. We formulate the optmzaton problem as a search problem and descrbe a method based on the A* search algorthm [0] to provde an optmal soluton the optmalty s wth respect to the cost of manufacturng and testng 3D-stacked ICs per good package. The formal objectve functon s stated n Secton III. Although there s no straghtforward theoretcal bound on the runtme of ths search algorthm, A* has been shown n practce to be effcent for varous search problems [] [3]. We further propose an approxmaton step that effectvely reduces the state space of the search problem and provdes a soluton wthn provable bounds to an optmal soluton. Results are presented to hghlght the mpact of varous parameters on test cost and test-flow selecton. The major contrbutons of ths report nclude: A generc cost model to ncorporate dfferent knds of test costs nvolved n 3D ntegraton. A formulaton of cost-optmzaton as a search problem. A method based on the A*-search algorthm to fnd an optmal soluton. An approxmaton strategy n addton to the A*-based method to reduce the state space. Ratonal nsghts nto the relatonshp between yeld, test cost, and the selecton of varous pre-bond and stack tests on the bass of expermental results.

The rest of the report s organzed as follows. Secton II detals the motvaton for ths work and dscusses related pror work. The notaton used n the report and the cost model are presented n Secton III. Secton IV presents two models to further smplfy the cost model. Secton V formulates testcost optmzaton and test-flow selecton as a search problem, and a soluton based on A*-search algorthm s presented n Secton VI. Results are shown n Secton VII and conclusons are drawn n Secton VIII. II. Motvaton and Pror Work For today s D ICs, tests can be appled at two stages: () at the wafer level (wafer sort); () after the chp s packaged. Dependng on the yeld, wafer sort can be a sgnfcant cost saver by allevatng the need for packagng defectve des. In the manufacturng of a 3D-stacked, tests can be appled at multple stages ndvdual wafers or des can be tested pror to bondng (pre-bond test) and testng can be carred out agan after partal stacks are created (md-bond test). A postbond stack test can be appled to the complete stack wth all the des. Durng testng of a stack, des at dfferent layers n the stack can be tested (or re-tested), or ther testng can be omtted. Fg. sketches the typcal ntegraton of three des to form a stack. Ths process nvolves ncremental stackng of one de at a tme. Durng testng of a stack, tests targetng faults n ether of the des present n the stack can be appled. Hence, n addton to pre-bond testng, a de can be tested at multple stages of stackng as well. Moreover, there can be multple types of tests, havng dfferent fault coverage and test applcaton costs. If a test wth lower cost s selected, that can reduce test cost upfront, but the lower fault coverage can result n the stackng of defectve des, thereby lowerng the overall stack yeld, and consequently ncreasng the overall cost of stack creaton. Therefore, test-flow selecton nvolves selecton of the test nsertons (also referred to as test moments n the lterature [3]), and tests that provde the best trade-off between cost and qualty. For ths smple example, there exst 3+3+ = 56 dfferent combnaton of test nsertons: tests for De and De can be appled at all the three stages and there are two stages n whch tests for De 3 can be appled. The package test, beng the last step n the ntegraton flow, s always appled, hence t s not consdered for the purpose of optmzaton. For each selecton of nsertons, there are dfferent ways n whch tests can be selected out of a gven test set. It can be easly shown (as dscussed n the appendx) that the total number of possble test flows s (N + ) l +3l = O(N l ), where l s the total number of des n a stack and N s the number of tests avalable per test nserton. The optmzaton problem rapdly becomes ntractable wth the addton of des, and because of the added complexty assocated wth selecton of tests. If we consder nter-de nterconnect tests, even more test flows are possble. Our goal s to mnmze the total cost per good package that ncludes test cost and the part of manufacturng cost that s affected by yeld and test escapes. A package s called good f t passes the package test. Snce the applcaton of the package test s the De De De De De 3 De De De 3 Package Pre-bond test Partal-stack (md-bond) test Full-stack (post-bond) test Package test Fg.. 3D ntegraton of a stack and the assocated test nsertons. last step of the ntegraton flow that we consder, we assume that the package s always tested wth hghest-qualty of tests avalable to test the package. Pror work nclude attempts to hand-pck a test flow or select a test flow based on explct enumeraton of a few canddate test flows. A tool was developed to estmate overall cost of a 3D test flow n [6]. A lmted number of 3D and.5d test flows were studed n [3] and [7], respectvely. The fnal cost of creatng 3D-stacked ICs s not only a functon of manufacturng cost of wafers, test cost, logstcs cost, and packagng cost, but t s also a functon of the fault coverage of selected tests and selected test nsertons. The work lsted above lacked an analytcal framework to estmate the fnal cost of creatng 3D-stacked ICs, and the dependence of the fnal cost on the choce of test nsertons was not adequately explaned. The above work also lacks an analyss for the scenaro where a de can be tested multple tmes (at dfferent test nsertons), but wth test sets that are dfferent and nvolve dfferent coverage and cost. In addton, the yeld loss due to defects ntroduced n already bonded des durng stackng steps was not modeled. These lmtatons were frst dscussed n [], and more general models (.e., less restrctve models) were consdered n [9]. An expresson for fnal test escape rate was provded n [9], but t mplctly assumed that all test nsertons were selected,.e., the expresson s correct only f every test nserton s actually selected. Therefore, the mpact on the test escape rate, and hence fnal cost, cannot be analyzed f some test nsertons are omtted. The mpact of md-bond testng (testng at ntermedate stages of ntegraton) and logstcs on the cost of test flows was reported n [8]. A model to predct the mpact of test-flows on product qualty n terms of defectve parts per mllon (DPPM) was examned n [9]. We therefore conclude that pror work only analyzed a lmted number of flows and t does not provde any means for systematcally explorng (e.g., through mplct enumeraton) the soluton space of all possble test flows and reportng the test flow that mnmzes the overall cost. Whle the model n [] overcame these lmtatons to some extent, the cost functon used for the optmzaton problem does not account for the number of fault-free packages resultng from the selected test flow, and hence the mpact of a test flow on overall product yeld was not consdered. In addton, the heurstc proposed n [] does not provde optmal results. III. Cost Model In ths secton, we formally defne the cost model that we use for the test-flow selecton problem. We hghlght the

3 notaton for varous parameters and decson varables that consttute the optmzaton problem n Table I and Table II, respectvely. The table entres nclude key parameters such as the pre-bond and stack tests that are avalable, test costs, yeld, packagng cost, decson varables, etc. The defntons of these parameters and varables are also provded when they are ntroduced. The reader s referred to the notaton tables for more detals. TABLE I Table descrbng the gven parameters used n the cost model. Symbol Meanng Parameters related to pre-bond testng l Total number of des n the stack D th de n the stack DC Manufacturng cost of each nstance of D n Number of nstances of D manufactured. λ Yeld for de D. B Number of pre-bond tests of D,. PB j j th pre-bond test for D, where j B. b j Cost assocated wth pre-bond test PB j. f c(τ) A functon that returns fault coverage of a selected test τ. If the costoptmzaton tool does not select a test, the functon returns zero. Parameters related to stack testng S k A stack of des D, D,... D k, k l. The stack S k s partal for k < l. S C k Manufacturng cost of each nstance of S k ω k The component of bond yeld of stack S k related to defects nduced n de D durng the creaton of S k. The overall bond yeld for stack S k s gven by k = ω k. N Number of dfferent tests that can be appled to D durng stack testng. T j j th stack test for D, where j N. t j Cost of applyng stack test T j (ths remans the same regardless of the moment at whch T j s appled). a jk An entry n a bnary 3-D matrx that ndcates whether T j can be appled durng stack testng of S k. Not all tests are applcable at every stage. PC Cost of packagng and testng a full stack Parameters related to nterconnect testng I Interconnects between des D and D +, < l c Cost of testng nterconnect I. ρ Interconnect yeld of I. Symbol m k m k x j y jk TABLE II Table descrbng the unknown varables used n the cost model. Meanng Number of nstances of S k manufactured. Number of nstances of S k that have been detected to be fault-free after stack testng. A bnary varable that s f pre-bond test PB j of D s carred out, otherwse t s zero. A bnary varable that s f D s tested by applyng T j durng stack testng of S k. It can be assgned only f a, j,k =. z k A bnary varable ndcatng whether I s tested durng testng of S k. The test tme for nterconnects s small compared to test tme for des [], so we merge the testng of I wth the stack test that frst uses I for transportng test data; hence z k depends on y jk. For our dscusson, we refer to a test set,.e., a set of test patterns, by test. A collecton of tests s referred to as a set of tests. Wthout loss of generalty, we use the Wllams and Brown model [4] for calculatng the number of nstances of a de that are detected to be fault free after applyng a test of a certan fault coverage. The model postulates the followng relatonshp between defect level DL, fault coverage f c, and yeld λ: DL = (λ) f c. If n s the total number of chps manufactured usng a process havng producton yeld λ, the number of non-faulty chps s n λ. If a test havng fault coverage f c s appled, the number of chps that pass the test n λ s gven by = n λ f c. Note that f a perfect test ( λ f c ) was appled, the count of non-faulty chps would have been nλ. Ths means that nλ f c nstances have escaped the test, and can potentally be detected on applcaton of a better test later durng the 3D ntegraton process. Other models can be easly used n place of the Wllams and Brown model n the proposed optmzaton framework the proposed framework s general and not specfc to any partcular yeld model. We next quantfy the total cost of manufacturng and prebond testng of the des. The cost of manufacturng and testng n nstances of D s n (DC + B j= x j b j ), where DC s the cost of manufacturng each nstance of de D, b j refers to the cost assocated wth the j th pre-bond test out of a total of B pre-bond tests avalable to D, and x j s a bnary decson varable that ndcates the selecton of j th pre-bond test of D. The term B j= x j b j refers to the cost of the pre-bond test that s appled. Clearly, each de needs to be tested by at most one pre-bond test. In other words, B j= x j,. If for de D, α s the pre-bond test selected from the set of B pre-bond tests, the number of nstances of D that are determned to be fault free s n λ f c(α ). Note that f c(α ) s the fault coverage of the selected pre-bond test for D. If none of the pre-bond tests for D s selected, then the functon f returns a zero (see Table I) to gve n λ f c(α ) = n, where λ s manufacturng yeld of D. Note that we need to manufacture that many nstances of D as there are nstances of D avalable for stackng. If a pre-bond test s appled on D, we must manufacture n λ f c(α ) λ f c(α ) nstances of D. Therefore, the total cost of manufacturng and testng D s n λ f c(α ) B (DC λ f c(α + x j b j ). ) j= The stackng of k des results n the creaton of stack S k. We use the notaton m k to denote the number of nstances of S k created, and m k to denote the number of nstances of S k that are determned to be fault-free after S k has been tested. For creatng m k nstances of S k, m k nstances of S k are avalable for stackng wth D k. The total cost of manufacturng D k s then gven by m k λ f c(α k) k B k (DC k + x k j b k j ). j= Note that m k = m k. The total cost of manufacturng and runnng pre-bond tests for all des (C ) s then gven by the followng equaton. B C = n (DC + x j b j ) j= + n λ f c(α ) B (DC λ f c(α + x j b j ) ) j= l m B + (DC =3 λ f c(α + x j b j ) ) j= ()

4 The total cost of stackng l des (C) s gven by: C = l k= m k S C k, where the number of stacks of k des (m k ) s determned by the number of des and partal stacks avalable after defect screenng, and S C k s the cost of stackng operaton to create an nstance of S k. The cost of testng I, nterconnect layer between the des D and D +, durng the testng of S k s m k z k c, where c s the cost of testng I, and z k s a decson bnary varable ndcatng whether I s tested durng testng of S k. The total cost of testng all the nterconnect layers (C 3 ) s gven by: l l C 3 = c ( m k z k ) () = k=+ The cost of testng nterconnect s much less compared to the cost ncurred on testng des []; therefore, to avod unnecessary complexty n the optmzaton problem, we restrct an nterconnect layer be tested no more than once. Hence, the constrant l k=+ z k = s mposed on the varables z k for < l. The total cost of stack testng (C 4 ) can now be stated as: C 4 = l k N m k ( a jk y jk.t j ), (3) k= = j= where t j s the cost assocated wth test T j or the j th stack test avalable for D, y jk s a decson varable ndcatng the selecton of T j, a jk s a bnary parameter that ndcates whether T j can be appled durng the testng of stack S k, and N s the total number of stack tests avalable for D. Snce we do not apply more than one stack test for a de at any gven test stage, the followng constrant on the varables y jk s appled: N j= a jky jk. Fnally, we account for the cost assocated wth packagng and fnal test, whch s gven by the equaton C 5 = m l PC, where PC s the cost of packagng and applcaton of package test. The total cost for manufacturng and testng the 3D IC s CT = C +C +C 3 +C 4 +C 5. If the total number of packages that are deemed fault free after applyng the package test s P, our objectve s to mnmze CT P by assgnng approprate values to x j and y jk. The varables z k depend on y jk, as explaned n Table II. If we assume that defects are nduced only on top two des durng the stackng process, and only these des are consdered for testng at ths stage, as n [3], then we can use constrant ω k = for k, where ω k s the component of bond yeld for stack S k that models the defects ntroduced n D durng the creaton of S k. Gven the manufacturng cost of des, the tests avalable for every test nserton along wth correspondng test cost and fault coverage, stackng cost, bond-yeld components for every de, and the package cost, the goal of the optmzaton problem s to mnmze the total cost ncurred n manufacturng and testng per fault-free (shpped to customer) package. A de can be tested multple tmes wth dfferent tests havng dfferent fault coverage. If two tests, say τ and τ, are derved usng the same fault model,.e., target the same set of defects, then ther effectve fault coverage, EFC(τ, τ ), can be computed by mergng the correspondng lst of faults that they detect, and reportng the fault coverage obtaned from the new lst. Note that whle mergng the ndvdual fault lsts, duplcate entres are removed to avod countng a detected fault multple tmes. The effectve fault coverage, or EFC, can be computed for more than two tests n a smlar way. Ths method requres avalablty of fault lsts for every avalable test. Approxmate models that crcumvent ths requrement are presented n Secton IV. A sngle fault model s often not suffcent to cover all types of defects; therefore, we must account for multple fault models n the proposed cost model. It s well known that the relatonshp between dfferent fault models s dffcult to quantfy. Questons such as, does hgh coverage for one fault model ensures hgh coverage for another fault model, have yet to be satsfactorly answered. Recent work [5] argues that a near-00% sngle-stuck-at (SSA) fault coverage does not ensure hgh coverage of transton faults by constructng a crcut, whch the author refers to as an extreme example, and demonstratng that 0% transton fault coverage s achevable wth a close-to-00% SSA fault coverage for that crcut. He further proves, however, that 00% SSA fault coverage leads to 00% transton fault coverage. Delvng nto these research topcs s beyond the scope of ths work, and we make smplfyng assumptons for our calculaton. Assumng that extreme crcuts are not often found n reallfe examples, we may wrte the aggregate fault coverage of two tests, say τ and τ, that are for dfferent fault models, as AFC(τ, τ ) = max{ f c(τ ), f c(τ )}. If multple fault models were not present, we would have just used the fault coverage of the gven test for the purpose of calculaton; therefore, usng a smple expresson s justfable. In Secton IV, we do not specfy fault lsts of ndvdual tests, and only numerc value of fault coverage of each test s provded as an nput; therefore, a test engneer, nstead of usng the smplstc equaton above, can provde a value that s deemed to be approprate to the cost optmzaton tool. Ths s partcularly useful n the followng case. If t s requred from the tool to select a combnaton of tests targetng multple fault models, then the combnaton has to be provded as one of the nputs to the optmzaton tool. Note that the aggregated fault coverage, or AFC of two tests for the same fault model s same as ther effectve fault coverage, or ther EFC. For computng the aggregate fault coverage, or AFC, of more than two tests, the set of gven tests s frst parttoned on the bass of fault models that they target. Then EFC s computed for every partton, and the maxmum EFC among them s reported as the AFC of the gven set of tests. It can be seen that EFC or AFC for a gven set of tests cannot exceed 00%. We augment the notaton of the aggregate fault coverage as AFC, j,k, where j k, to denote the aggregate fault coverage of all tests that are appled on D between md-bond testng of S and S k, both nclusve. We also use the symbol AFC,,k to denote the aggregate fault coverage of all tests appled to D between test nsertons of ts pre-bond test and the correspondng md-bond test of S k. Fgure llustrates the notaton usng an example of a 4-de stack when D 3 (De 3)

5 Tests appled on De 3 des durng ther respectve pre-bond tests, the above equaton can then be corrected to AFC 3,,4 = 99% Detected faults Undetected faults Pre-bond test Md-bond test Post-bond test 80% 90% 95% AFC 3,,3 = 93% AFC 3,3,4 = 96% m k = n k = (λ AFC,,k = m k = nλ f c(α ) k j=, j ω AFC, j,k, j ) k= λ f c(α ) k = (λ AFC,,k f c(α ) k j=, j ω AFC, j,k, j ) (4) An example on the computaton of m k s presented for a two-de stack n the appendx. If we further assume that the fault coverage of each nterconnect test s 00%, the expresson for m k can be extended to Fg.. An example llustratng the usage of the symbol AFC, j,k for a 4-de stack. Multple tests appled to De 3 are for the same fault model and the relatve postonng of slces n pe charts also reflects common faults that these tests detect. s tested at all test nsertons. We next show how to compute the number of non-faulty stacks after applyng md-bond tests. The Wllam and Brown model s repeatedly appled to estmate the number of nstances after multple tests are appled to a stack. The followng assumptons are made for our subsequent dscusson. Assumpton The occurrence of defects due to dfferent manufacturng steps are ndependent to each other. Assumpton We assume that falure of des n a stack durng md-bond testng and post-bond testng are uncorrelated. Snce des n a heterogeneous stack are lkely to be dssmlar, the above ndependence assumpton can be justfed n practce. If tests are only appled to D, then the number of stacks remanng after md-bond test of S k s appled s gven by m k = n λafc,,k k j= ω AFC, j,k, j Note that every yeld parameter captures a dfferent manufacturng step, the above expresson s obtaned by the assumpton of ndependence of occurrence of defects to these manufacturng steps. If tests are appled on all des, then we can rewrte the above equaton as m k = n k k (λ AFC,,k = j=, j ω AFC, j,k, j ) The yeld components from all des are multpled together due to the assumpton of the ndependence of de falures to tests. Note that the nstances of D, for, are added to the stack after pre-bond tests are appled to them. If pre-bond tests are appled to des before stackng, then the defects that have already been screened durng pre-bond test wll not cause further yeld loss. After accountng the elmnaton of faulty m k = nλ f c(α ) k (λ AFC,,k f c(α ) = k j=, j ω AFC, j,k, j ) k j=+ The above equaton accounts for the nterconnect yeld ρ of the nterconnect layer I. As stated n Secton I, the cost model descrbed above can be adopted for WW, DD, and DW ntegraton. For WW ntegraton, f the pre-bond tests are skpped, the x j varables can be constraned to zero. Some md-bond tests can be skpped (and the decson varables fxed approprately) due to constrants on test access. For DW stackng, the cost model can consder pre-bond tests as decson varables, but certan md-bond tests may be omtted and correspondng decson varables fxed. Note that DD stackng offers the most flexblty n terms of test flows, hence t leads to the largest number of decson varables. IV. Approxmaton to the cost model Test engneers may not have access to fault lsts of tests that are avalable for testng des, thus makng t mpossble to estmate the cost assocated wth a test flow, or to fnd an optmal test flow usng the cost model presented n Secton III. In ths secton, we present two models that can be used for estmatng cost ncurred by a test flow wthout requrng the fault lst. A. Model I We smplfy the calculaton of the effectve fault coverage (EFC) of two or more tests that target faults from the same fault model. The EFC of a set of tests cannot be less than the maxmum fault coverage of ndvdual tests, and at best, t can be 00%. Therefore, we make a pessmstc assumpton that the EFC of a set of tests s equal to the maxmum fault coverage of all tests n the test set. Note that the assumpton s true only n the case when the test havng the maxmum fault coverage s the superset of every other element tests. Fgure 3 shows the fracton of components passng a test as the fault coverage of the test vares from 80% to 00% (accordng to the Wllam and Brown model). Ths s shown for dfferent yelds values rangng from 0.75 to 0.9. Note that the fracton does not vary much as the value of fault coverage ρ z j

6 Fracton of components passng a test 0.95 0.9 0.85 0.8 0.75 0.7 0.8 0.8 0.84 0.86 0.88 0.9 0.9 Fault coverage 0.94 0.96 0.98 yeld = 0.75 yeld = 0.8 yeld = 0.85 yeld = 0.9 yeld = 0.95 Fg. 3. Varaton of fracton of components passng a test on fault coverage accordng to the Wllam and Brown model. changes, especally for hgh yeld values. If we report EFC of a set of tests as 80%, and the component beng tested has a yeld of 90%, we are naccurate only by a margn of 0.9 0.8 0.9.0 =.9% n the worst case, because EFC can be at best 00% when EFC s computed usng fault lsts. Wth better yelds, the dfference further reduces. Moreover, as the manufacturng processes matures, yeld values wll be on the hgher sde. Therefore, assumpton n ths model s practcal for the purpose of ths calculaton. Wth ths model, AFC, j,k s reduced to the fault coverage of the test wth maxmum fault coverage among the tests that are appled on D between the md-bond test nsertons of S j and S k, and AFC,,k s reduced to the maxmum fault coverage of any test that s appled to D durng or before the md-bond testng of S k. B. Model II Ths model s equvalent to the model presented n []. The defects ntroduced by a manufacturng step s forgotten once a test s appled to screen those defects. In other words, the test escapes after applyng a test are not consdered faulty subsequently. In effect, AFC, j,k s reduced to the fault coverage of the frst test that s appled on D between the md-bond test nsertons of S j and S k, both nclusve, and AFC,,k s reduced to the fault coverage of the frst test that s appled to D durng or before the md-bond testng of S k. The proposed approxmatons to the cost model s llustrated through an example of a two-de stack n the appendx. Model I s closer to realty, and all results presented n ths work are based on Model I. V. Problem Formulaton The optmzaton problem that we solve s complex, and t nvolves many trade-offs. We formulate the problem as a typcal search problem that s defned by states, actons, a goal, and a performance measure or a cost functon. For fndng a soluton, a problem solver starts n the ntal state, jumps to successve states based on actons taken whle n prevous states, and termnates when t acheves the goal wth the optmum value of the cost functon. The state space s the set of all states reachable from the ntal state. Let us defne every component of the correspondng search problem usng a smple example. In the ntal state, no des have been manufactured, and the actons to be consdered n ths state are selecton of a pre-bond test for D or apply no Post-bond test De Post-bond test De Packagng Goal states Intal state Pre-bond test De * Pre-bond test De State after skppng the correspondng test nserton State after applyng the avalable test to the correspondng test nserton * Node n, used for explanng the proposed method n Secton VI.A Fg. 4. A partal state space for an example of two-de stack. test at all. Dependng on whch acton, or test, s chosen, the problem solver reaches another state, where n nstances of D are manufactured and tested usng the pre-bond test selected n the parent state. Every chld state of the ntal state dffers n the pre-bond test that s appled to t. In a newly added state, the problem solver has to chose from the avalable set of prebond tests for D, followng whch new states correspondng to md-bond test nsertons of S are added to the state space explored so far. After test nsertons of S are explored, actons for selectng a pre-bond test of D 3 becomes avalable. New states correspondng to the pre-bond test of D 3 are added, after whch actons related to post-bond test nsertons of D 3 are consdered. Ths process of choosng actons and addton of new states are carred out untl we explore the goal states correspondng to packagng and applyng the package test. Every set of new states that we add corresponds to a test nserton. The state space can be represented by a graph n whch the nodes are states and the arcs are actons, or choces n our problem. Fgure 4 shows the state space for an example of a twode stack. We have four levels of states after the ntal state, each correspondng to a test nserton. In ths example, we assume that only one test s avalable for each de at each test nserton; therefore, a branchng factor of two s seen at every level of states one branch for dscardng the correspondng test nserton, and the other for selectng the only avalable test for the test nserton. Durng a md (post)-bond test stage after stackng, a decson regardng testng the consttuent des of the partal (full) stack s made sequentally startng from the bottom-most de. For example, n Fgure 4, choces for De are consdered before choces for De n the path to a goal node durng the post-bond test stage. Ths provdes a systematc method of explorng the state space for reachng the goal. The only choce possble n the states correspondng to the last test nserton s to package the full stack and apply the package test; therefore, there s no branchng at that test nserton to reach the last level of states that are goal states. Due to lack of branchng n the penultmate level, we can

7 readly merge the last two levels, but we show them separately here for the purpose of clarty. It can be seen that every state n the last level s a goal state, or a goal node; therefore, a path from the ntal state to any of these states s a vald soluton canddate,.e., a vald test flow. Moreover, there exsts a unque path from the ntal state to a goal state because the state-space graph s a tree. We requre from the problem solver to return a path that has the mnmum path cost, or the mnmum cost per good package. In a tradtonal search problem, path cost of a path s the sum of the ndvdual cost of each arc consttutng the path; however, our cost functon also accounts for the total good packages, whch may be dfferent for two goal nodes, thereby makng costs of nternal arcs undefned untl the full path s made known. The dependence of arc costs on full paths makes our search problem dfferent, and presumably more dffcult. VI. Soluton based on A* search algorthm A* search s a popular form of best-frst search [6]. It evaluates a node n usng a functon f (n) that s defned as the sum of g(n), the actual cost of reachng node n from the start node, and a heurstc functon h(n), an estmate of the cost to reach a goal node from n. Snce h(n) s an estmated cost of the cheapest path from n to the goal, the functon f (n) can be nterpreted as an estmate of the cheapest soluton through n. For a goal node, f (n) s the actual value of the cost functon. The functon h(n) s usually computed through a computatonally nexpensve heurstc. For a mnmzaton problem, h(n) s an underestmate of the actual cost of reachng the goal usng any path startng from n,.e., h(n) never overestmates the cost to reach the goal. If nodes do not repeat durng traversal of the search graph, t can be shown that ths property of h(n) makes A* optmal. A basc verson of A* s outlned n Fgure 5. The algorthm mantans a prorty queue of actve nodes or the states seen so far. The node wth the mnmum value of f (n) s at the top of the queue. It also mantans a map, whch we call parent, to reconstruct the soluton once a goal node s found. The node that s dequeued from the prorty queue s explored and all ts neghbors are placed n the prorty queue. Snce our search graph s a tree, a node once explored (or dequeued) cannot repeat, and hence cannot be queued back to the prorty queue. Therefore, g(n) of an explored node s never updated, as s the case wth runnng A* on graphs that are not trees. Note that nsde the for loop, a goal node may be enqueued to the prorty queue. We may eventually have multple goal nodes present n the prorty queue smultaneously, but the algorthm termnates as soon as the frst goal node s dequeued. It remans to be shown that a suboptmal goal node (say G) s never dequeued. Let the cost of an optmal soluton be C. Snce h(n) of every goal node s equal to zero by defnton, f (G) = g(g) + h(g) = g(g) > C. Suppose n s a node on the path to an optmal goal node and t s present n the prorty queue (such a node always exsts f a soluton exsts). Because h(n) never overestmates the true cost a path from n, f (n) = g(n) + h(n) C. Therefore, f (n) C < f (G). It mples that the suboptmal node G cannot be explored, and A* must return an optmal soluton. basc a star(start node) : prorty q a prorty queue wth f (n) as key : Enqueue start node to the prorty queue 3: parent(start node) null 4: whle prorty q s not empty do 5: n peek prorty q 6: f n s a goal node then 7: Report the path from start node to n usng parent 8: break 9: end f 0: for each neghbor n of n do : parent(n ) n; compute f (n ) : enqueue n to prorty q 3: end for 4: end whle Fg. 5. A basc verson of the A* algorthm. A. Computaton of h(n) The heurstc functon h(n) must never overestmate the cost of any path from n to a goal node; therefore, h(n) n ths work s computed by mnmzng the cost at each step of the stackng process. We do the followng for computng h(n): We set the test cost at those test nsertons to zero for whch no decson has been made so far for reachng n. For example, for node n n the state space n Fgure 4, no decson has been taken for post-bond test of De and De ; therefore, t s assumed that no money s spent on those test nsertons. Snce the total cost ncurred on manufacturng de D ( > 0) s dependent on the number of nstances of partal stack S avalable after testng (m ), m s underestmated by assumng that hghest-qualty tests are appled at those test nsertons for whch no decson has been made so far for reachng n. For example, for node n n Fgure 4, m s underestmated by assumng that all defectve components are removed by applyng approprate tests for the unexplored states below n. The above assumptons also ensure that we underestmate the amount spent on stack creaton, a condton that must be ensured to guarantee optmalty. B. Adaptaton of A* to the cost-mnmzaton problem If g(n) s the actual cost ncurred n reachng node n, and h(n) s computed as outlned n the prevous subsecton, the functon f (n) = g(n) + h(n) can be used for fndng a test flow that mnmzes the total cost ncurred durng the stackng process. We are nterested n mnmzng the cost per good package; therefore, we redefne f (n) as f (n) = g(n)+h(n) q(n), where q(n) refers to an estmate of the quantty, or the number of good packages fnally created after the package testng s appled. Snce q(n) s the denomnator, we must overestmate q(n). The bass for the overestmaton s gven by the followng lemma. Lemma. The number of nstances of good packages obtaned after applyng the package test s nλ l= f c() λ lj= <= j = ω j, where f c() s the fault coverage of the pre-bond test appled on D. Proof. As assumed earler, hghest-qualty tests are appled durng the package test that elmnates every defectve package

8 modfed a star(start node, ) : prorty q a prorty queue wth f (n) as key : Enqueue start node to the prorty queue 3: parent(start node) null 4: current soluton 5: whle prorty q s not empty do 6: n peek prorty q 7: f n s a goal node then 8: Report the path from start node to n usng parent 9: break 0: end f : for each neghbor n of n do : parent(n ) n; compute f (n ) 3: f n s goal node then 4: f f (n ) < current soluton then 5: current soluton f (n ) 6: end f 7: else f f (n ) ( ) current soluton then 8: contnue 9: end f 0: enqueue n to prorty q : end for : end whle Fg. 6. A ( ) -approxmaton algorthm. from the lot of packaged ICs. Therefore, we can set AFC, j,k = and AFC,,k = n Equaton 4 for k = l to obtan the number of packages as nλ f c(α ) k = (λ f c(α ) k j=, j ω, j ). After rearrangng factors, we wll obtan the expresson for the total number of good packages as gven n the lemma. We overestmate q(n) on the bass of the above lemma. As can be seen from the above expresson, the total number of good packages dffer for dfferent flows only based on whether pre-bond tests of des have been appled. Snce λ f c(α ) < and 0 f c(α ) <, f c(α ) can be set to, to overestmate the total number of good packages, or q(n). We just assume that a pre-bond test (wth 00% fault coverage) s appled to those des for whch no decson has yet been made for reachng node n n the state space. C. ( ) -approxmaton step On runnng the basc A* algorthm on several nstances of our problem, we found that we were unnecessarly explorng nodes that are not goal nodes, and have values of f (n) that are reasonably close to the optmum cost C. To better control exploraton of the search space, and thereby reduce the runtme of the algorthm, we add a parameter, where 0 <, and propose a modfcaton to the basc A* algorthm. Fgure 6 shows the modfed verson of the A* algorthm. The varable current soluton s the mnmum of all costs of goal nodes seen so far durng the search process. It s updated wth f (n ) on fndng a goal node n f f (n ) s lower than the current value of current soluton. A node n s not added to the queue f n s not a goal node and f (n ) ( ) current soluton. Ths prevents exploraton of n n future. The followng theorem establshes an approxmaton bound on the result derved from the approxmaton step. Theorem. The algorthm shown n Fgure 6 guarantees a soluton that s provably ( ) tmes C (optmum cost) n the worst case, where 0 <. TABLE III Input parameters for an example of -de stack. Manufacturng Test cost Stackng Packagng De cost (00% coverage) cost cost D $.80 $0.35 $0.40 $3.50 D $.0 $0.0 Proof. If an optmal goal node G ( f (G ) = C ) s present n the prorty queue, then from the proof of the optmalty of A*, t can be readly concluded that G s always explored, and an optmal soluton s returned. A sub-optmal soluton s only returned n the case when a non-goal node n les n the path to reach G and n s not added to the prorty queue because f (n ) ( ) f (G) for a sub-optmal goal node G present n the prorty queue wth the least f -value among all goal nodes present n the prorty queue. If the cost returned after termnaton of the algorthm s C, then the followng relatonshp holds. f (n ) C < C f (G) f (n ) C = C < C ( ) C Wth set to zero, optmalty of the soluton s not affected. On settng = 0.5, the approxmaton factor becomes two, and the solver provdes a soluton wth the value of the cost functon no worse than twce ts optmum value. As ncreases, we can also see a sgnfcant reducton n the number of states explored by the problem solver, thereby reducng the run tme. VII. Results We assessed the proposed cost model and test-flow selecton method usng a seres of experments. The objectves of our experments are twofold: Fnd underlyng relatonshps between dfferent test parameters on an optmal test flow, and to provde nsghts nto why certan choces were made by the test-flow selecton tool. Show that the A*-based method s practcal, and quantfy the extent to whch t outperforms the exhaustve enumeraton method n terms of CPU tme. Frst, for a small example of two des, we compare the two objectve functons total cost per good package and total cost []. Next for a bgger example of four des, we make mportant observatons about selecton of tests and test nsertons. We compare the methods based on A* and the approxmaton algorthm wth another exact method based on trval exhaustve enumeraton. Usng the wafer-cost estmator from [7] for a standard wafer wth 300mm dameter and an edge clearance of 3mm, and applyng the Gross De per Wafer formulas from [8] for such wafers, the cost of manufacturng per de was estmated to be $.77 n [9]. On addng the cost of manufacturng TSVs, the cost of manufacturng per de ncreases to $.9 [9]. The cost of manufacturng TSV s 60% of the cost of stackng operaton [9], thus makng the stackng cost $0.5 per stack. The cost of pre-bond tests were assumed to be $0.50 for 99.6%

9 TABLE IV Showng 6 possble test flows from the example of -de stack and the correspondng selecton of test nsertons. Test Test flows nsertons 3 4 5 6 7 8 9 0 3 4 5 6 D, PrB D, PrB D, PoB D, PoB PrB: pre-bond test, PoB: post-bond test fault coverage n [9]. We have assumed smlar values for the varous parameters n our test cases. For the frst experment, a two-de stack s consdered. Table III provdes detals of the nput parameters used n the example. De yelds of 0.9 and stack-yeld components for both the des are assumed to be 0.95. There are 4 = 6 test flows possble n ths smple example. Table IV shows the selecton of test nsertons n these test flows. The test flows, numbered to 6, correspond to the goal nodes n the soluton tree. They are numbered n the same order n whch they are found n the soluton tree, f the tree s explored n a depth-frst style. Therefore, the frst test flow does not select a test nserton and the last test flow selects every test nserton. Fgure 7 compares the objectve functons of cost per good package wth total cost. For each test flow, data ponts are normalzed wth respect to the optmum value obtaned from the correspondng objectve functons. Whle the former metrc selected only the pre-bond test nsertons as the optmum flow, the latter metrc selected the pre-bond test for D and the post-bond test of D. It can also be seen that whle the total cost declnes sharply from the eghth test flow to the nnth test flow, proft margn s negatvely affected per good stack. Usng total cost as the objectve functon offsets the proft margn per good stack by % for ths example, but for large examples, the proft margn may be sgnfcantly reduced wth the objectve functon used n []. There are certan test flows that lead to contrastng values of the objectve functons, as shown n Fgure 7. These are precsely those test flows that select pre-bond test nserton of D. Whle substantal amount s spent n pre-bond testng of D, t helps n lowerng the cost per good package. Note that the objectve functon of total cost s not a bad choce for some test flows, and even those test flows that are good wth respect to the objectve functon of cost per good package requre comparatvely more money to be spent. When we have a lmted supply of resources for manufacturng and testng of 3D-Stacked ICs, our approach can be adapted to report an optmal test flow under an addtonal constrant on the total amount that can spent. The A*-based method can dscard nodes wth the value of g(n) + h(n) exceedng the avalable resources. Next we consder a larger example consstng of four des. Table V lsts the nput parameters used n the example. For each test nserton, we have three tests n ths example. The cost and the assocated fault coverage are lsted n the table. The cost of creatng stack s assumed to be 40 cents per stack and the cost of applyng package test s set at $3.50 per package. The stack yeld component for the top two des Normalzed Objectve functon values.5..05 0.95 0.9 Selected pre-bond test of De Selected only post-bond test of De pre-bond test nsertons 3 4 5 6 7 8 9 0 3 4 5 6 Test flow Total cost Contrastng values of objectve functons for some test flows Cost per good stack Fg. 7. Comparng our objectve functon wth the objecton functon n [] for a two-de stack. for a stackng operaton s assumed to be 0.95, and for the remanng underlyng des, the stack-yeld component s set at 0.99. If only one test wth 00% coverage s assumed to be avalable, the total number of test flows that are possble for ths example s 89. Table VI shows the best eght and the worst eght test flows wth respect to the objectve functon used n ths work. The cost-effectve test flows have a hgh fracton of test nsertons selected, and there are some bad test nsertons that were only selected n the worst test flows. Snce the stack-yeld components for des D and D for the fnal stackng step s very hgh (0.99 n ths example), the correspondng post-bond test nsertons are not selected n the best test flows. Fgure 8 shows the cost of manufacturng and testng per good package for these test flows. The scale of the Y-axs n the fgure s not lnear and s adjusted to better llustrate the dfference n cost-functon values of dfferent test flows. The proft margn reduces by 35% on choosng the worst test flow over the best test flow. A defectve de, f t remans untested before stackng, can make the entre stack defectve. Moreover, f the de yeld s low, t becomes ncreasngly mportant to screen the de for defects pror to bondng. Therefore, t s only natural to thnk that f we vary the de yeld of a sngle de from low to hgh values after fxng every other yeld parameters to known values, we wll obtan a threshold value of the de yeld, below whch a pre-bond test s always selected. For the example of four des, frst we assume that only one test of 00% fault coverage s avalable for each de at the correspondng test nsertons. For fndng the threshold de-yeld value for a de, we sweep the yeld for that de from small to large values, and select that value after whch we see a change n the pre-bond test selecton. In ths experment, we set yeld of all other des at 0.99 (a very hgh value). Furthermore, we also vared the number of avalable tests, from one to three, for each de and measured the threshold value of de yeld for pre-bond test selecton. Frst we add a test wth 95% fault coverage and then the test wth 90% fault coverage s added to the pool of avalable tests. Table VII shows the threshold values of de-yeld for dfferent des. We can draw the followng nferences from ths experment.

0 TABLE V Input parameters for an example of 4-de stack. De Manufacturng Test cost cost 00% coverage 95% coverage 90% coverage D $.80 $0.35 $0.8 $0.09 D $.0 $0.0 $0.0 $0.05 D 3 $.30 $0.30 $0.5 $0.08 D 4 $.90 $0.5 $0.3 $0.07 TABLE VI The best eght and the worst eght test flows for the example of the 4-de stack. Test Best test flows Worst test flows nsertons A B C D E F G H S T U V W X Y Z PrB: D PrB: D MB: S, D MB: S, D PrB: D 3 MB: S 3, D MB: S 3, D MB: S 3, D 3 PrB: D 4 PoB: S 4, D PoB: S 4, D PoB: S 4, D 3 PoB: S 4, D 4 PrB: pre-bond test, MB: md-bond test, PoB: post-bond test S k, D : test appled on D durng stack testng of S k Cost per good package (n cents) 770 70 670 037 07 A B C D E F G H S T U V W X Y Z Test flows Fg. 8. Cost per good package for the test flows n Table VI TABLE VII De-yeld threshold for selecton of a pre-bond test for varyng number of avalable tests. De De-yeld threshold to select a pre-bond test test tests 3 tests D 0.88 0.93 0.96 D 0.94 0.96 0.98 D 3 0.96 0.97 0.98 D 4 0.98 0.98.0 Pre-bond test selecton s dependent on the value of de yeld. Based on the nterplay of gven parameter values, each de has a threshold value of de yeld below whch a pre-bond test s always selected. From Table VIII, t s clear that as more pre-bond tests are avalable, the beneft of selectng a pre-bond test ncreases. Cheaper pre-bond tests are now selected even for those values of de yeld for whch pre-bond tests were skpped earler. The tendency to select pre-bond test ncreases consstently wth the stack sze. For example, we see hgher threshold de-yeld value for des that are hgher up the stack. Ths can be explaned by observng that a defectve de, f bonded to a stack that has already been tested to be non-faulty, wll make the entre stack faulty; hence t s better to dscard the defectve de before t enters the stack. TABLE VIII Selecton of test nserton and tests for D on varyng de yeld. #Tests 3 Test Range of de-yeld values nserton 00% 95% 90% coverage coverage coverage pre-bond 0.6 0.94 md-bond of S 0.95 0.97 Not md-bond of S 3 0.6 0.99 avalable md-bond of S 4 Not pre-bond 0.6 0.96 avalable md-bond of S 0.6 0.79 0.80 0.99 md-bond of S 3 0.6 0.99 md-bond of S 4 pre-bond 0.6 0.67 0.68 0.97 md-bond of S 0.68 0.80 0.8 0.9 0.93 0.99 md-bond of S 3 0.6 0.99 md-bond of S 4 TABLE IX Selecton of test nserton and tests for D on varyng test cost. Test Range of test cost #Tests nserton 00% 95% 90% coverage coverage coverage pre-bond $0.0 $0.34 md-bond of S $0.0 $.3 Not md-bond of S 3 avalable md-bond of S 4 Not pre-bond $0.05 $0.3 avalable md-bond of S $0.0-$0.3 $0.07-$0.75 md-bond of S 3 md-bond of S 4 $0.0-$0. pre-bond $0.05 $0.305 3 md-bond of S $0.0 $0.3 $0.07 $0.35 $0.07-$0.375 md-bond of S 3 $0.05 md-bond of S 4 $0.05-$0.055 If a cheaper test s avalable, t s chosen to reduce the test cost (dependng on the fault coverage of the test). But the decrease n test qualty has to be compensated. For the runnng example, we observed that f a pre-bond test of lower fault coverage s chosen, a post-bond test of hgher fault coverage s almost always added n the selected test flow. For example, when just one test of 00% fault coverage s avalable to D, the pre-bond test s selected untl the yeld reaches ts threshold value of 94% (see Table VIII). Startng from 95% onwards, we observed that the pre-bond test s skpped and a md-bond test for D durng stack testng of S s appled later, whch s also skpped after de yeld exceeds 97%. Another md-bond test for D durng stack testng of S 3 s always selected for all values of the de yeld. Next an extra test for D s added. The fault coverage of the added test s 95%, and t s half the cost of the test wth 00% fault coverage. We see that the added test s now selected as pre-bond test. On addng a test, the threshold value of de-yeld to select a pre-bond test ncreases to 96%. On top of that, an addtonal md-bond test of 00% fault coverage s also selected for D durng testng of stack S. For yeld values greater than 80%, the test selecton changes to the test wth 95% coverage for ths test nserton. The test wth lower fault coverage s also chosen for the test nserton of D 3 durng md-bond test of S 3. We draw two conclusons here. As more tests are avalable, more test nsertons are chosen typcally tests wth dfferent coverage values are chosen to compensate for the decrease n qualty and to mnmze cost at the same tme.