采用需要认真规划的确好管芯来开发一个可靠、低成本的存储器子系统。
最近在手机存储器系统开发者中产生了一个增长的趋势,他们把管芯垂直堆叠在一个封装外壳里——通常称为MCP(Multi-chip Packaging,多芯片封装),设计者采用此方法去节约小巧的印刷电路板空间,这种方法在小型化的终端用户产品(比如移动电话)上应用日益广泛。这些设计采用多层布线、多模块,或者多层布线和多模块相结合的办法对各个不同厂商生产的存储器管芯进行多芯片或系统级封装。这些封装包括一个或一个以上的处理器、存储器,甚至外围电路。通过把管芯堆叠在一个封装外壳里,不仅节约了电路板空间,而且简化了印刷电路板的设计,简化的方法包括减少信号布线需要的路径长度、降低功耗,以及通过使用更短的布线来改善性能。
然而,这种趋势带来了新的经济方面的挑战,这个挑战就是降低了封装良品率,从而削减了利润。这种潜在损失使很多存储器厂商确信,他们的商业模型应该是基于KGD(确好管芯)的,这种确好管芯是被供应商广泛测试和验证过并且证明是良好的。和那些仅仅在封装整合之后才测试的管芯相反,KGD能够使存储器厂商保证在整合之前每个管芯都有一个特
定的质量和可靠水平。
但是KGD的实现是耗时并且昂贵的,而且是基于各种可变的精确等级的非标准测试方案。你决定是否采用KGD,以及在何种程度上采用它来确保低成本,这个过程是很艰难的。
想做得好为何这么难?
不幸的是,现在还不存在针对KGD的普遍接受的定义。通常,这些管芯是裸露、未包装的,而且已经被制造商全功能测试和验证过,并且满足全范围器件规范和特定等级的可靠性要求。然而,供应商为KGD指定不同的可靠等级,甚至可靠特性的定义有时候也由于供应商的不同而不同。由于获得这些可靠等级所付出的努力变化特别大,所以评估KGD的先决条件之一就是必须精确的定义所需的可靠等级。
当决定是否要使用KGD的时候,我们主要考虑它的使用只是达到众多目的的手段,而它本身不是目的,这些目的中最重要的一个就是KGD能够产生堆叠封装的高良品率,就像多芯片和系统级封装。在封装外壳里面堆越多的管芯,由于其中一个管芯的缺陷所造成的经济上的损失就越多,尤其是封装装配之后才发现造成的损失就更大。如果不丢弃一个坏管芯,那么你可能需要在最后的制造阶段丢弃若干好管芯,同时在时间和原料上的花费将非常多。尤其痛苦的情况是,你的缺陷管芯相当便宜而你的系统级封装还包括其它昂贵的部分,例如处理器。由于这个原因,独立的封装元件必须保证是可靠的。
使用KGD的另一个目的是允许你在一个独立单元里面使用从不同制造商那里得到的最合适的元件,这样你就能够获得一个最佳的系统级封装。如果制造商能够确保封装外壳里面的所有管芯满足预定的质量和可靠等级,你就可以为封装设计测试程序,这个程序负责测试组合的封装功能,而不是独立的管芯性能,这样将节约测试时间和开销。
尽管使用KGD的好处显而易见,但是当你准备采用那些能够低成本地使用KGD的测试方法和等级时,需要了解实际制造和标准测试以及它们的不足在哪里。
对测试进行研究
在过去几年,供应商从典型的八英寸(20cm)闪存晶圆切割下来的管芯数目已经从300增长到了500甚至更多。尽管为了满足更小的终端用户产品要求和减少硅片费用,管芯做的更小了,但是由于他们采用了更高密度的90nm闪存工艺,所以他们包含了更多的电路。管芯在前封装和后封装阶段的测试过程如图1所示。
图1,标准晶圆和管芯的加工流程包括前封装和后封装测试。
制造商在前测试阶段完成的电气测试是标准测试过程的一部分。当测试发现与管芯上的坏块相关的缺陷时,后端处理流程采用fuse blowing——一种激光修复工序——来尝试改正它们。
供应商在预定的测试点完成最初的电气测试从而定位总缺陷。电气测试把那些不能正常工作的器件与那些供应商有可能修复的器件分离开。这个过程使用供应商为这个步骤特别设计并预留的闲置模块,通过fuse blowing技术来映射和替换坏的模块,fuse blowing技术修复一些这样的缺陷,然后供应商就丢弃掉那些他们无法修复的器件。
一旦制造商封装了一个器件,它就要经过老化工序处理,这个工序包括在一个125℃~150℃的烤箱里经受几个小时高压测试。在这期间,测试程序在管芯上完成指定的操作步骤。这个老化测试的目的是通过迫使电路在老化过程中发生故障而不是在封装已经完成之后,进而消除初期故障,例如不满足厚度规范的走线而造成的故障。制造商在老化实验后对所有封装完成最终测试,再一次来验证所有的功能是否符合器件规范。
KGD是否值得这么多花费?
通过分析前封装和后封装的步骤,你将会知道在哪些步骤中使用KGD可以降低成本(图2)。因为老化测试要花费如此多的时间,以至于这个步骤成了低成本使用KGD的核心问题 。为了解决这一问题,你应该尽力同时对尽可能多的管芯进行老化测试以节省时间。
图2,确好管芯的测试过程在激光修复之后会有一个顺序分离,因此你可以使用测试过、但没有标准封装的管芯。
如果你希望在硅片级别就能获得理想的老化测试结果,那么你就得在一个操作步骤中对整个硅片进行测试。然而,今天我们所使用的硅片包含有500个左右的管芯,且每个管芯包含40个左右的功能性焊盘,所以,在老化测试时,为了能同时激活硅片上的所有管芯,你必须有大约20000个测试点。在8英寸的硅片上布满20000个探针几乎是不可能的事情,更不要说当你把尺寸和间距小于100mm的管芯压焊点也考虑在内了。
目前工业界使用各种各样的老化测试方法来降低测试难度,它们各有各的技术上的和成本上的局限性。其中有一种方法使用一个整硅片接触系统(full-wafer-contact system),测试时可以使探针与每个管芯上的所有压焊点接触,从而同时激活并测试硅片上的所有管芯。每一个整硅片接触系统可采用一个探针与一个压焊点接触。另一种方法是牺牲金属层法。在前一种方法中,测试设备对每个压焊点使用一个极其微小的接触管脚进行探测,且这些触针都由
测试设备单独驱动。在后一种方法中,供应商在整个硅片上涂覆了一金属层。这一金属层将数个管芯连在一起形成一个管芯组,然后对每一管芯组的功能进行测试。测试完毕后通过化学方法再清除掉该金属层。与探针与压焊点一一接触的方法相比,该方法使用了更少的探针。
虽然整硅片测试系统允许同时处理多个管芯,但它也有局限性。比如,探针与压焊点一一接触的方法要求你能设计出紧密排列的探针阵列,而这是一个极大的挑战。牺牲金属层法则要求附加的硅片制造和处理工艺,最后还要清除金属层。另外,两种方法都要求对每一硅片的接触点进行专门设计,而且需要初始化执行成本。
另一种可供选择的方法减少了压焊点的数量,但必须通过并行连线而不是串行总线传输激励信号和测试信号。为达到这一目的,测试设备中嵌入了专门的并行输入输出电路和内嵌式测试子系统。与探针和压焊点一一接触的整硅片接触系统相比,该方法所需要的探针数量大大减少。一般而言,对一个有500个管芯的硅片,只需数千个探针。然而,这是以更大的管芯尺寸和更高的成本为代价的,因为这一方法需要附加的电路和输入输出焊盘。
还有一种方法就是对每一切割下来的未封装的管芯而不是对整个硅片进行老化测试。该方法需要一专门设计的插槽来放置管芯。测试机在硅片切割后和封装前将管芯插入插槽中,这使得随后进行的老化测试和电学测试有如在最后的封装体上进行。然而,与其他方法一样,该方法也需权衡利弊。它需要为不同的管芯设计不同的插槽,而且每个插槽本身的使用寿命有限,在失效之前只能使用有限的次数。
总之,最后你必须分析每一种方法的经济效应以确定每一管芯的成本。分析过程中需要考虑到诸如初始的设备成本,对硅片进行专门设计的成本以及制造、摊销和产量等因素。
使用KGD的其他方法取决于制造工艺和近程监测的成熟度,以及对工艺的控制。如果你能有针对性地进行精确分析并精简工艺,这些方法可以大大减少测试时间甚至完全不需要老化测试。然而,这些方法都是为私人所有的,所以有关的信息很少。
做出最后的决定
考虑到方法的多样性、精确度的多级性和在使用KGD时的利弊权衡,做出实行KGD的决定可能需要很长的时间。然而,一旦各种不同的封装形式成为公司产品的一部分时,你很可能需要使用KGD。