计算机研究与发展ISSN1000一1239lCNll一1777lTPJouranlofC冶nlpoterR~crhandE地velopment44(Suppl.):17一21,2007基于March算法的嵌入式存储器BIST技术唐涛许邦建(国防科学技术大学计算机学院长沙410073)(ttang@nudt.己u.cn)MarchBasedBISTTechnologyforEmbeddedMemoryTangTaoandXuBangjian(5姚olof肠mPUter&icnce,aNt勿nalUni二ityof及!efnseT阮丙n口2哪烈,〔决口刀梦几口410073)AbstractWiththeincreaseofembeddedmemoryscaleinSoCs,memo汀BISTbecomesanefficienttesti眼oslutiontodecreasetestingtimeandcost.‘Marchtestsareconsideredthemsot卯pularalgorithrsnofrMBISTimplementationcurrently.VariousfaultmodelsandimPortantmarchalgorithmsareintroducedinthispaper.SomeimplementationschemesforMB1STarediscussed.Theirtrade一oftsareanalyzedformthetesttime,areaoverhead,lfexibilityandIPprotectionaspects,andsoon.ThedevefopingtrendofMBISTtechnologyispreesntedfinally.K仃wordsfaultmodel;marchalgorithm;databackground;BIST摘要随着嵌入式存储器规模的不断增大,IBST成为一种节省存储器浏试时间和浏试成本的有效手段.March算法是当前MBIST设计中最适合的算法.简要介绍了存储器故障模型和各种重要的March算法,探讨了MBIST的几种实现方式,从速度、面积、灵活性和IP保护等几方面时它们进行了分析比较,提出了未来MBIST技术的发展趋势.关键词故障模型;March算法;数据背景;内建自测试中图法分类号TP302为了满足各种应用的需要,片上系统(SoC)中度,为进一步构造高效的测试算法提供基础.通常,的存储器所占面积比重逐年不断增大,预期到2008存储器故障模型可进行如下划分(见图1):年将达到83%,2014年达到94%[’].另一方面,随)1根据敏化该故障需要同时进行的操作数,分着深亚微米工艺的发展,芯片集成度的大幅提高,嵌为单端口故障(51飞1已卯nfault)和多端口故障(multi-人式存储器的缺陷成为严重影响芯片成品率的因素.portfault).例如,有些故障需要对单元同时施加多新工艺的应用以及日益复杂的设计模式给存储器测个读操作才能敏化.‘试带来了极大的挑战.优秀的故障模型和有效的测试2)根据敏化该故障需要顺序进行的操作数,分方法对于减少测试时间、降低测试成本至关重要.为静态故障(saticfault)和动态故障(d,陇田五cfadt).例如,有些故障需要对单元先进行写操作再进行读1故障模型操作才能敏化.)3根据故障之间的相互关系,分为简单故障优秀的故障模型能够准确反映存储器构造和制(simplefault)和联接故障(linkedfault).例如,有些造过程中产生的物理缺陷,同时也能降低测试复杂故障的行为相互影响.收稿日期:2006一11一16计算机研究与发展2007,4《增刊)/单端口\\故障静态,.//\\动态故障简单故障联接故障比气钾俨、\\存储器故障/\\多端口/厂,./\\/\\MarchsR[2](检测现实的简单故障realisticsimplefaults)和Marchss[3](检测所有的静态简单故障)、MarchLR[41(检测现实的联接故障realisticlinkedaults).fvndeG议〕ar等人系统地提出了转化方法,完成从面向位结构存储器测试的March算法(B()M)向面向字结构存储器测试的March算法(WOM)的转故障,.‘.…/\\图1故障分类通常,简单故障可以分为地址译码器故障(AF)、存储单元阵列故障(MCAF).后者根据故障涉及的单元数,还可以进一步分为单单元故障和多单元故障.典型的单单元故障有固定故障(SAF)、转换故障(TF)、数据保持故障(DRF)、读扰动故障(RDF)等.最基本的多单元故障为双单元故障,通常也称为藕合故障(CF).典型的藕合故障有状态祸合故障(CFst)、等幂祸合故障(CFid)、扰动藕合故障(CFdst).多单元故障又称为k一藕合故障,邻居图样敏感故障(NPSF)就是一种k一藕合故障.各种故障之间存在一定的层次,例如图2显示了一些测试故障覆盖的层次结构.其中,“Txxx”表示检测“x。”故障的测试.高层次的测试一定能够检测低层次的故障类型,因此不必对每种故障分别测试.如图2中检测CFst的测试能够检测到所有的SAF和TF.图2故障的层次ZMacrh算法March算法的优点为:第1,对于已知模型的故障覆盖率可以采用数学证明.第2,March算法具有线性的复杂度.其测试时间与存储器大小成线性比例,这使得测试成本和时间可以接受.第3,相比之下,M址ch算法在相当的测试开销下有较高的故障覆盖率.第4,由于March算法结构规整,便于BIST实现.比较重要的N肠代h算法有M户as+,N巨比hC一,N巨比hA等.另外几种算法逐渐发展起来,它们是化[5],同时能保证字内藕合故障(cFst,吓id,cFdst)的覆盖.这种方法将转化分为4个阶段:)1将BOM中“0”,“1”位操作分别用“DB”和“百百,,字操作代替,这样可以检测单个单元故障以及字间故障.这里DB表示数据背景字;2)应用一组DB来检测字内状态藕合故障(CFst);3)应用一组DB序列(DBS)来检测字内等幂祸合故障(叮id);4)应用一组DB操作序列(DBOS)来检测字内扰动藕合故障(CFdst).这样,WOM测试由字间March测试和字内March测试串接而成.然后,它提出了对WOM进一步优化的方法,以减少测试时间,也尽可能地覆盖一些未预知的故障类型.3MBIST技术相比随机或伪随机存储器测试,由于March测试采用少量确定性的测试序列,并且结构规则,很适合BIST电路的实现.3IMBIsT实现方式通常,嵌人式存储器的BISI,电路实现方式有3种:基于状态机(FSM)的Bl盯、基于微码(microcode)的BIST和基于处理器(p~r)的BlsT.)1基于FSM的MBIST基于FSM的BIST电路结构如图3所示,它主要由控制单元、地址产生器、序列产生器、结果比较器4部分组成.图3基于FSM的BIST龟路结构唐涛等:基于March算法的嵌人式存储器Bl盯技术基于March算法的地址产生器必须满足以下要求:第1,它必须能够产生完备的地址空间;第2,地址的内部次序可以不相关,但是必须能够产生严格相反的正序与反序地址.具体实现可以采用计数器或线性反馈移位寄存器(LFSR).传统的LFSR不能产生全“0”序列,通过增加一个或非门和异或门,就可以将其改造成完备的线性反馈移位寄存器(CLFSR)来解决这个问题.适当地增加一些控制逻辑,可以共享一组触发器,方便地构造出同时带正向和反向功能的地址产生器.随着地址空间的增大,CLFSR占用的面积比计数器小得多,使之成为地址产生器一个不错的选择.基于March算法的测试只采用简单的几个确定性数据背景.表1给出了8位字结构存储器测试使用的数据背景.通常背景样式只有10歇N+1个状态,N为存储器的字宽,因此采用简单的FSM就可以实现序列产生器.裹1用于8位字结构存储器测试的DB状态11111111010101011010101000110011110011000000111111110000比较器用来把从存储器不同地址位置读出的数据与正确的数据背景进行比较.如果有错误发生,将给出报错信号.带诊断功能的BIST电路中,比较器还将把报错信号传递给控制单元,由控制单元向地址产生器和序列产生器发出诊断信号,控制它们把出错时的存储器地址和数据背景通过诊断数据端口传送出来.控制单元主要提供复位信号、地址正反向控制信号、读写控制信号、数据背景正反向控制信号、步骤结束标志信号、地址前进/保持信号、测试结束标志信号等.各种控制信号的产生主要通过计数器、循环移位寄存器等形式实现[J6.这种方法测试时间短,面积开销也相对小.同时便于把BIST电路与存储器集成起来以保护IP核.但是,这种电路缺乏灵活性:通常只能实现某一固定的测试算法,若要变换另一种March算法就需要对BIST电路进行重新设计.2)基于微码的MBIST基于微码的、MBIST通常把March算法的各种控制信号等信息以一组微指令的形式存储在微码ROM中,通过读取ROM中的指令并译码以实现算法的流程控制.一种基于微码的MBIST电路[17结构如图4所示.图5给出了微码指令结构.正/反向地址测结图4基于微码的MBISI,电路结构描述微码WO,cniAC山p」cha,fiAC=MaxthenincP(:110000OR,holdAC,叩Jhca,1”cPC010101Wl,incAC,叩Jhca,ifAC=Maxtheninc火el耸deCPClllloloRI,ohldAC,upjhca,inc咒0111016WO,incAC,upeslhca,ifAC=Maxtheninc此le肠deCPI二110010OR,ohldAC,dlLlhCa,cmPC0001017日WI,incAC,dl】deCPC101010)Rl.hhca,oifAC=MaldAC,dnexslhcathenin,哪c】PC,1二el胳)X(1101gWO,incAC,dn」hca.ifAC=Maxthenincl℃el湘decPC10001010RO,incAC,dn」eha,ifAC=Maxthen招xL‘dn1001()X图5基于微码的MBIST微码指令结构图5中,地址计数器采用线性混合细胞自动机(LHCA)形式,它是通过把线性细胞自动机(LCA)的LFSR与转换矩阵组合而成,它比LFSR产生的地址有更强的随机性.6x10位的微码ROM空间中存储的微码指令由传统的March算法中常用的March算法的操作序列数,从而能够灵活可扩展地应用多种存储器测试算法.这种电路的灵活性和扩展性相对较强:March;同时也能够方便地组合多种测试算提高故障覆盖率.然而,其面积开销相对较大,.)3基于处理器的MBIST几组控制信号及测试数据编码而成,寄存器文件中存储了各种算法的修改只需变更微码中的内容,而无需改动整个电路的结构法,此外其自测试也是一个问题计算机研究与发展2007,44(增刊)这种电路把完成存储器测试的各种算法通过汇这些结构一般主要分成于存储器的MBISI、编语言程序保存在片外(如启动ROM).利用片上控制器和存储器相关的加田1盯包装(wrapper)两部的处理器执行这些程序来产生存储器测试所需的地分.MBI盯控制器可以视为一个Bl盯处理器,此外,址、测试序列和控制信号,并把从存储器读出的测试它还有系统接口和包装接口.测试算法通过一组测结果与测试序列进行比较,做出测试判断.试指令存储在微程序存储器内,该微程序可以是这种方法可以很容易实现对片上多个以及多种ROM也可以是ISP部件,后者便于灵活地把各种测存储器模块的测试.通过修改测试程序可以实现各试算法下载至微程序存储器中.控制器负责协调、种测试算法,因此这种电路具有很强的灵活性.同执行和同步在测的各个存储器的测试算法.它从微时,它依靠片上处理器,并通过片上的系统总线对嵌程序存储器中读取各条测试指令,然后通过包装接人式存储器进行测试,因此其面积开销小.然而,其口把它们传送给各个存储器模块的MBIST包装,测试时间长,对片上处理器和系统总线的依赖也是并等待读取测试结果.通过系统接口,上一级控制逻辑能启动测试并且观测BIST结果.如果该结构其缺点之一,对那些不能直接通过系统总线控制及支持故障诊断功能,一旦检测出错,控制器还通过系观察的存储器模块,不能采用这种测试方法.另外,统接口向上一级控制逻辑传递诊断数据.对于同样的存储器模块,由于处理器指令系统的不每一个存储器模块都有一个专用的包装,它通同,用户必须重新编写测试程序,而且这也不利于常离存储器很近,以降低路径延迟和布线开销,包IP保护.装负责生成测试数据和存储器地址,判断测试结果.3.2类P1500的可编程MBIST结构根据不同的应用需要,P1500标准为包装提供串行为了降低IP核的测试复杂度,在IP核提供者和并行两种接口机制.由于存储器结构规整,接口和使用者之间建立起标准接口,EIEE嵌人式核测简单,为了减少布线开销,存储器核的包装可以采用试标准工作组提出了IEEEP1500测试标准.该测串行连接.图6所示为一种应用于存储器组的可编试标准制定了核心电路测试的标准化框架.先后有程BIST结构,其包装接口仅采用6根信号实现控多种P1500兼容的或者类P1500的可编程MBIST制器与包装之间的命令信号、同步信号和扫描链信结构发展起来.号的通信18[.图6嵌人式存储器组的可编程BIST结构这种结构很适合分布式存储器的自动测试.由3.3发展趋势于共享一个控制器,大大减少了面积开销.同时每随着嵌人式存储技术的深人发展,未来的个存储器模块有专用的包装,它保持了紧凑性,测试MBIST将呈现以下几方面的发展趋势:时间也相对较短.另外,它仍然具备基于处理器)1支持多种检测算法,并且具有一定的灵活性.BIST结构的灵活性,是一种可编程的BIST结构.随着新技术的出现,一些故障需要新的故障模型来唐涛等:基于March算法的嵌人式存储器BIST技术检测,同时也会发展出各种新的测试算法.因此,IBST电路应能方便地修改以适应新的测试算法.)2支持故障诊断和修复功能,增加容错机制,提高可靠性.内建自诊断(BISD)、内建自修复(BISR)已经成为存储器设计的一个迫切需要,未来的MBIST应不仅仅局限于故障检测,它应可以方便地扩展支持这些功能.)3支持对SRAM,DRAM,nash等多种存储器,以及单端口和多端口类型存储器的测试,支持对片内多个存储器的同时测试.如采用分布式BIST结构,以降低BIST的设计复杂度,减小面积和布线开销,同时降低测试时间.4)应能考虑从圆片测试(wafertest)、老化前测试(pre一burn一intest)、老化(burn一in)到最终测试(finaltest)全过程的测试需要.4结束语本文从存储器故障模型和测试算法出发,详细讨论了MBIST的几种实现方式,并对其各方面得失进行了分析比较.未来的嵌人式存储器BIST设计将合理平衡测试时间、面积开销以及灵活性等多种因素,朝着面向故障自测试、自诊断和自修复一体化的方向发展.参考文献[1]TheNationalRoadmaprofesmicnoductor.sIndust斗A~iation.2000【幻SHamdioul,AJvnasdG0or.Experimne田.闹ysisofspotdefectsinSRAMs:R司isticfaultmode坛朋dtests.Thetgb户比ianTestS”旧p,aTi州,2000[3]SHam山0位,AJvnaedGDOr,MRodgers.MacrhSS:AttseroflastaticslmpleRAMfaults.IEEEInt’lWorks场ponMeomryrrech幻oIOgy,DesignandTetsing,E晚ndor.France,2002[4]AJvnaedGDOr,GNGaydsdjiev,vNYamrolik,此al.MacrhLR:Atestforrealisticlinkedafults.Thel4thVLSITetssyn1P,Princetno,JN,1996[51AJvnadeG。〕r,IsmasBsTlili.A.ystentaticmeth记from司ifyinglanrchtestsforbi卜。irented~seintotestsforowr-doirented~se.IEEETrans曲伪mPuters,2003,52(10):1320一1331〔6」wLWang,KJLee,JFWangnAon一chiprcranhPattemgenaretOrfortetsingembeddedmonIeyr~.IEEETrsnanove斗肠rgesc砒Int电ratino(VLSI)Systen场,2001,9(5):730一735[7〕氏呢kyuyoun,aTehyungKim,su叼uPark.Amic代叮记e,basedmemoryBIST而讨emnetingm目ifiedmcrahalgoritlull.The10thAsianTestS,mp,Kyoto,Japan,2001[8〕AE短nso,5压C运r1o,G压Natlae,teal.Progrmableboil卜nislef一testingofembeddedRAMdutsersinsyste-m阶c肠pcrahiteCturseC冶mmunicatlsnoMaRazine,2003,41(9):907店涛男,1974年生,硕士,助理研究员,主要研究方向为VLSI和微处理器设计.许邦建男,1974年生,博士,副教授,主要研究方向为vLSI和微处理器设计(bjxu@nudt.edu.cn).