CN108665937A - 一种存储部件测试方法和装置 - Google Patents
一种存储部件测试方法和装置 Download PDFInfo
- Publication number
- CN108665937A CN108665937A CN201710207448.4A CN201710207448A CN108665937A CN 108665937 A CN108665937 A CN 108665937A CN 201710207448 A CN201710207448 A CN 201710207448A CN 108665937 A CN108665937 A CN 108665937A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- read
- write
- mode
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1208—Error catch memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储部件测试方法,获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置。本发明还公开了一种存储部件测试装置。
Description
技术领域
本发明涉及多芯片封装测试技术,尤其涉及一种存储部件测试方法和装置。
背景技术
现有的多芯片封装动态随机存取存储器(DRAM,Dynamic Random Access Memory)内建自测试方法中,地址遍历顺序、读写操作顺序、地址空间等不能够进行灵活配置,所能组合的测试向量非常简单,不能够提供足够的覆盖率;例如,Synopsis的双倍速率同步动态随机存储器物理层(DDR PHY,Double Data Rate synchronous dynamic Random accessmemory PHYsical layer),其提供的DRAM内建自测试(BIST,Build In Self-Test),一次测试的地址空间只有2Mbit,且每次只能够测试8个数据线(DQ);对于目前1Gbit或更大的DRAM,位宽32位的DRAM,需要进行多次配置;而且,DDR PHY的读写顺序只能够提供Y地址方向递增、以及先写后读的操作顺序,测试方式比较单一。
因此,如何能通过简便的配置增加测试向量的组合形式,并且提高测试覆盖率,是亟待解决的问题。
发明内容
有鉴于此,本发明实施例期望提供一种存储部件测试方法和装置,能通过简便的配置增加测试向量的组合形式,并提高测试覆盖率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种存储部件测试方法,所述方法包括:
获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
获取对所述存储部件进行读写处理后的结果,根据预设检测规则确定所述存储部件中出现错误的位置。
上述方案中,所述确定存储部件访问地址配置,包括:
确定对所述存储部件进程访问的访问空间、和/或地址遍历方式。
上述方案中,所述地址遍历方式包括以下至少之一:行方式、列方式、正向方式、反向方式。
上述方案中,所述按预设存储部件读写规则对所述存储部件进行读写处理,包括:
按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式、和/或连续写读方式,对所述存储部件进行读写处理。
上述方案中,所述方法还包括:采用预设序列对所述存储部件进行写处理;
所述预设序列包括:固定序列、寄存器可配序列和伪随机序列。
上述方案中,所述根据预设检测规则确定所述存储部件中出现错误的位置,包括:
对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址。
本发明实施例还提供了一种存储部件测试装置,所述装置包括:配置模块、读写模块和检测模块;其中,
所述配置模块,用于获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
所述读写模块,用于根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
所述检测模块,用于获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置。
上述方案中,所述配置模块,具体用于:
确定对所述存储部件进程访问的访问空间、和/或地址遍历方式。
上述方案中,所述地址遍历方式包括以下至少之一:行方式、列方式、正向方式、反向方式。
上述方案中,所述读写模块,具体用于:
按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式、和/或连续写读方式,对所述存储部件进行读写处理。
上述方案中,所述读写模块,还用于采用预设序列对所述存储部件进行写处理;
所述预设序列包括:固定序列、寄存器可配序列和伪随机序列。
上述方案中,所述检测模块,具体用于:
对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址。
本发明实施例所提供的存储部件方法和装置,获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置;如此,通过获取的存储部件配置信息,根据预设的规则生成不同的测试向量对存储部件实施测试;通过预设的规则调用测试的各种测试配置,不再需要根据不同情况进行测试配置的详细设置,这样就简化了测试过程中的配置步骤;并且,通过不同的测试向量组合提升了存储部件的测试覆盖率。
附图说明
图1为本发明实施例存储部件方法的流程示意图;
图2为本发明实施例行正向地址遍历方式示意图;
图3为本发明实施例列正向地址遍历方式示意图;
图4为本发明实施例行反向地址遍历方式示意图;
图5为本发明实施例列反向地址遍历方式示意图;
图6为本发明实施例先写后读再改写相反数最后再读方式的读写处理示意图;
图7为本发明实施例BIST电路的组成结构示意图;
图8为本发明实施例BIST电路进行存储部件测试的流程示意图;
图9为本发明实施例1G LPDDR存储部件遍历方式示意图;
图10为本发明实施例存储部件测试装置的组成结构示意图。
具体实施方式
本发明实施例中,获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置。
下面结合实施例对本发明再作进一步详细的说明。
本发明实施例提供的存储部件测试方法,如图1所示,所述方法包括:
步骤101:获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
这里,所述存储部件可以是单独的存储器芯片或多芯片封装内部的存储器等;在多芯片封装中,可以由多芯片封装中的BIST电路来进行存储部件的测试;所述BIST电路可以是芯片中的硬件逻辑;以DDR存储部件为例,所述BIST电路可以通过双倍速率同步动态随机存储器物理层接口(DFI,DDR PHY Interface)与DDR PHY核心(DDR PHY CORE)连接,再由DDR PHY CORE与存储部件连接;所述存储部件可以是DRAM等;BIST和DDR PHY CORE可以连接到外围总线(APB,Advanced Peripheral Bus)进行控制;
测试开始时,可以先通过设置时钟和复位信号等,完成芯片中锁相环(PLL,PhaseLocked Loop)模块的锁定,以及DDR PHY CORE和DRAM颗粒的初始化,并使用APB总线配置DDR PHY CORE完成与DRAM颗粒之间的校准;
初始化结束后,BIST电路可以通过DDR PHY CORE获取DRAM的配置信息,如DRAM颗粒信息、DRAM容量信息等;可以根据DRAM的配置信息确定对所述DRAM进行测试的访问地址配置;这里,所述访问地址配置可以包括:确定访问空间、和/或地址遍历方式;所述访问空间可以通过访问起始地址和终止地址的方式确定;所述地址遍历方式可以包括以下至少之一:行(x-fast)方式、列(y-fast)方式、正向(forward)方式、反向(backward)方式;通过组合可以形成行x-fast forward方式、和/或y-fast forward方式,和/或x-fast backward方式,和/或y-fast backward方式等;其中,是x-fast forward地址遍历方式如图2所示;y-fast forward地址遍历方式如图3所示,x-fast backward地址遍历方式如图4所示,y-fastbackward地址遍历方式如图5所示;
确定所述访问地址配置的所述预设地址访问规则可以根据实际状况进行设置,具体可以根据时间DRAM在生产中的实际情况,选取部分或全部DRAM空间进行测试;如在一些对测试时间要求比较严格的情况下,一种情况是可以根据历史经验取能涵盖DRAM以往经常出现错误的部分DRAM空间作为访问空间,确定访问起始地址和终止地址;另一种情况是在DRAM晶元切割等情况下,DRAM的某一块可能较为容易出现物理损伤,可以对容易出现物理损伤的块进行测试,可以根据DRAM颗粒信息来区分容易出现物理损伤的块的地址信息,从而确定访问地址配置。
实际应用中,所述访问空间、地址遍历方式和预设地址访问规则等可以预先设置,测试过程中可以通过寄存器或命令方式进行调用;如此,可以简化测试的配置;通过预设地址访问规则可以设定不同的访问空间和地址遍历方式,提高了测试的覆盖率。
步骤102:根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
这里,可以按访问地址配置中的访问空间和地址遍历方式对DRAM进行读写处理,所述读写处理可以采用预设的存储部件读写规则进行;
所述预设的存储部件读写规则可以包括:按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式,和/或连续地写读方式对所述存储部件进行读写处理;
进一步的,可以采用采用预设序列对所述存储部件进行写处理,即如果读写处理的第一步是写操作时,可以由BIST电路将预设序列写入DRAM;所述预设序列可以包括:固定序列、寄存器可配序列和伪随机序列;其中,所述固定序列可以是一串固定的字符等组成的序列,所述寄存器可配序列可以是通过寄存器配置可以调整的预设序列,所述伪随机序列可以是通过伪随机算法得出的序列;
具体的,以先写后读再改写相反数最后再读方式为例,如图6(a)和6(b)所示,可以先向存储部件写入预设序列,读取写入的序列,将读取的序列取反后再次写入,最后再读取用于后续比较;其中,图6(a)为存储部件中存储单元的示意图,黑色填充的方格表示Cells_1,白色填充的方格表示Cells_2;图6(b)为在进行读写过程中各存储单元内容的变化情况,初始状态Cells_10=0、Cells_2=1,经过读写处理后,最终的结果为Cells_1=1、Cells_2=0。
实际应用中,所述预设序列、存储部件读写规则等可以预先设置,测试过程中可以通过寄存器或命令方式进行调用;如此,可以简化测试的配置。
步骤103:获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置;
这里,可以由BIST电路通过DDR PHY CORE读取DRAM中存储部件读写规则进行读写处理的结果;根据预设的检测规则确定所述读写处理的结果是否存在错误;所述预设的检测规则可以根据存储部件读写规则对应设置,如对于只读方式的读写处理,可以根据初始化后DRAM中各存储单元应有的初始化值来确定,初始化值全为1,则对应的预设检测规则为将DRAM各存储单元读写处理的结果与1比较,如果比较结果不一致,则确定该单元有错误。
进一步的,可以对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址;所述预测的读写结果为根据写入的序列,结合存储部件读写规则确定出理论上在DRAM中应该读出的序列;以先写后读再改写相反数最后再读方式为例,如果在存储单元写入的序列为“0”,则通过先写后读再改写相反数最后再读方式的读写处理后,预测的读写结果应该为“1”,如果实际读取的结果不为“1”,则确定该存储单元出现错误;
针对其余各读写规则对应的检测规则可以包括:对于只写方式的读写处理,可以只确定是否能写入成功;对于先读后写相反数方式的读写处理,可以先根据第一次读步骤读出的数据,根据先读后写相反数方式预测出最终结果,再与DRAM中最后的实际值进行对比;对于写读方式的读写处理,可以对比写入的原始值和读取DRAM中的写入值进行对比;对于连续地写读方式的读写处理,可以对比写入的原始值和经过连续读写后最终DRAM中的值进行对比。
实际应用中,当检测到错误后可以形成错误日志,所述错误日志可以包括:错误次数error_cnt、报错的地址first_address、实际读出的数据act_data,以及期望的数据exp_data等信息,供后续处理。
下面结合具体示例对本发明产生的积极效果作进一步详细的描述;
本发明示例中,进行存储部件的测试的BIST电路如图7所示,可以包括:测试方式生成(Operation Generator)电路、地址生成(Address Generator)电路、数据生成(DataGenerator)电路:比较(Comparator)电路、错误日志记录(Error Datalog)电路、BIST控制(BISTController)电路、APB伺服(APB SLAVE)电路和寄存器组件(Register Module)电路,各电路均可由芯片中的硬件逻辑等实现;其中,
Operation Generator电路可以通过寄存器配置BIST测试方式即预设的存储部件读写规则,例如:只写、只读、写-读、读-改写相反数、写-读-改写相反数-读、连续写-读等,使测试方法更灵活;
Address Generator电路能够根据不同型号的外挂DRAM颗粒通过寄存器配置不同的测试空间,也可根据寄存器配置地址遍历方式,例如,x-fast、y-fast、forward、backward等,实现了测试地址空间可控;
Data Generator电路可通过寄存器配置实现三种测试用的预设序列可选,分别是固定序列、寄存器可配序列和伪随机序列;
Comparator电路将DRAM颗粒返回的数据与对应Data Generator电路中的原始数据进行对比,若BIST测试过程中出现错误,将会把错误信息传递给Error Datalog电路;
Error Datalog电路用于记录当次BIST测试过程中的错误信息,包括:错误次数error_cnt、第一次报错的地址first_address、实际读出的数据act_data,以及期望的数据exp_data等。为了节约存储空间,设计时通过BIST使能信号来复位,故只保存一次BIST测试的错误信息。最后,错误信息会反馈到对应的寄存器中,可通过读取寄存器获得;
BISTController电路通过监测外部的控制信号,如bist_en和bist_start等,使能其他电路。同时也能处理Error Datalog电路反馈的信号;
APB SLAVE电路实现了通过APB总线对寄存器进行读写操作;
Register Module电路通过寄存器配置BIST电路中的其他电路。
BIST电路中各电路之间的连接关系可以如图7所示:
Data Generator电路、Address Generator电路和Operation Generator电路均以Register Module电路和DFI接口作为输入和输出;BIST Controller电路为DataGenerator电路、Address Generator电路和Operation Generator电路提供使能信号,并与Register Module电路存在数据交互;Comparator电路接收来自Data Generator电路和DDRPHY CORE的数据,并将处理结果提供给Error Datalog电路;Error Datalog电路与AddressGenerator电路和Comparator电路相连,并与BISTController电路和Register Module电路进行信号传递;
APB SLAVE电路用于连接APB总线和Register Module电路,通过Register Module电路可以实现与其他电路的配置与交互。
所述BIST电路进行存储部件测试的具体步骤,如图8所示:
步骤801:可以通过APB SLAVE设置时钟和复位信号等,完成PLL模块的锁定,以及DDR PHY CORE和DRAM颗粒的初始化,并使用APB总线配置DDR PHY CORE完成与DRAM颗粒之间的校准;
以外挂DRAM颗粒为1G低功耗DDR2(LPDDR2,Low Power DDR2)为例;通过APB SLAVE电路配置寄存器(如:0x0b、0x0c、0x01)将外挂DRAM颗粒的大小(1G)和型号(LPDDR2)等信息设置到Address Generator电路;然后,配置寄存器0x110[0]触发bist_en信号,BISTController电路检测到bist_start信号上升沿后,将进一步使能Operation Generator电路生成一个只写-读DRAM颗粒首地址的测试向量,用于实现此电路与DRAM颗粒之间的校准。
步骤802:待完成校准后,配置Data Generator电路,在三种测试序列中选择一种,如固定序列。Address Generator电路也将通过配置的起始地址和终止地址,生成对应的测试空间,同时指定地址遍历的方式和方向,共四种组合,如y-fast forward。在OperationGenerator电路中,可配置六种BIST测试方式,如写-读方式;
以上述外挂DRAM颗粒为1G LPDDR2为例;待完成校准后,可以通过寄存器0x111[1:0]配置Data Generator电路,选择一种测试序列,例如0x111[1:0]=2’b00,表示选择固定序列128’h55aa_aa55_55aa_aa55_55aa_aa55_55aa_aa55;0x111[1:0]=2’b01,表示选择通过寄存器(0x11a~0x121)配置数据;0x111[1:0]=2’b10,表示选择伪随机序列;
BIST测试覆盖的存储空间可以通过给Address Generator电路设置起始地址(如:寄存器0x112~0x119)和终止地址(如:寄存器0x116~0x119)来改变。其中,32位的起始地址和终止地址可以根据{页[2:0],行[12:0],列[8:0]}的原则定义,具体定义方式如表1和表2所示;
参数 | 对应关系 | 描述 |
起始列[8:0] | 起始地址[8:0] | 测试空间的起始列 |
起始行[12:0] | 起始地址[21:9] | 测试空间的起始行 |
起始页[2:0] | 起始地址[24:22] | 测试空间的起始页 |
表1
参数 | 对应关系 | 描述 |
终止列[8:0] | 终止地址[8:0] | 测试空间的终止列 |
终止行[12:0] | 终止地址[21:9] | 测试空间的终止行 |
终止页[2:0] | 终止地址[24:22] | 测试空间的终止页 |
表2
地址遍历的方式可以通过寄存器进行配置,例如用寄存器0x111[5:4]进行配置:
0x111[5:4]=2’b00,x-fast和forward方式;
0x111[5:4]=2’b01,y-fast和forward方式;
0x111[5:4]=2’b10,x-fast和backward方式;
0x111[5:4]=2’b11,y-fast和backward方式;
其中,以0x111[5:4]=2’b01,y-fast和forward方式为例,如图2所示。Start代表测试空间的起始地址,对应起始行和起始列;end代表测试空间的终止地址,对应终止行和终止列。当选择这种方式进行测试时,BIST测试地址先从起始地址的起始列递增,若列地址增加至终止列,则跳转到下一行的开始列,继续进行列地址递增,直至测试完终止行的终止列。如果要测试1G LPDDR2的全地址,起始地址应该设置为32’h0000,终止地址应该设置为32’h1fffff8,测试路径如图9所示;
为了提高测试覆盖率,在Operation Generator电路中,设计BIST测试方式为可选,如通过寄存器0x110[6:4]进行配置:
0x110[6:4]=3’b000,表示选择只写方式;
0x110[6:4]=3’b001,表示选择只读方式;
0x110[6:4]=3’b010,表示选择读-改写相反数方式;
0x110[6:4]=3’b011,表示选择只写-读方式;
0x110[6:4]=3’b100,表示选择写-读-改写相反数-读方式;
0x110[6:4]=3’b101,表示选择连续地写-读方式;
这种灵活多变的配置方式,能够帮助测试者在尽可能多的发现DRAM颗粒缺陷的同时,根据实际情况调整测试方案,从而节约测试时间。
步骤803:当BIST Controller电路检测到bist_en信号为高,和bist_start信号的上升沿后,会向Data Generator电路、Address Generator电路和Operation Generator电路分别发出使能信号;此时,根据步骤802的设置组成的测试向量,例如采用固定序列以y-fast forward的方式遍历全地址进行写-读的测试向量,会通过DFI接口时序传递给DDRPHY CORE。同时,bist_en信号设置为低,释放Error Datalog电路的复位信号;
步骤804:DDR PHY CORE根据协议将相关信息发到DRAM颗粒中进行测试,测试过程中,会实时读取DRAM颗粒当前测试地址中的数据,并通过DFI接口反馈给BIST Controller电路;
步骤805:电路中的Comparator电路将得到的测试结果与Data Generator电路发出的原始数据或经过期望的数据进行对比,若发现错误,会输出脉冲波信号error_flag给Error Datalog电路;
步骤806:若error_flag信号为高,使能Error Datalog电路,内部的计数器自加1,最后通过error_cnt信号输出给BIST Controller电路。同时,该电路会将第一个报错的DRAM颗粒地址空间first_address和实际读取的数据act_data、期望的数据exp_data储存下来,通过读寄存器能够获取相关信息;
步骤807:当遍历完DRAM颗粒的测试空间后,BIST Controller电路将bist_done信号拉高,表示测试完成。若接收到error_cnt为0,表示测试通过,拉高bist_pass信号;若error_cnt不为0,表示测试不通过,输出bist_pass信号为低;
步骤808:当bist_en信号再次变为高,复位Error Datalog电路。BIST Controller电路检测到bist_start信号的上升沿后,重复步骤803到步骤807的操作。
本发明实施例提供的存储部件测试装置,如图10所示,所述装置包括:配置模块1001、读写模块1002和检测模块1003;其中,
所述配置模块1001,用于获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
这里,所述存储部件可以是单独的存储器芯片或多芯片封装内部的存储器等;在多芯片封装中,可以由多芯片封装中的BIST电路来进行存储部件的测试;配置模块1001、读写模块1002和检测模块1003组成BIST电路,所述BIST电路可以是芯片中的硬件逻辑;以DDR存储部件为例,所述BIST电路可以通过DFI与DDR PHY CORE连接,再由DDR PHY CORE与存储部件连接;所述存储部件可以是DRAM等;BIST和DDR PHY CORE可以连接到APB进行控制;
测试开始时,可以先通过设置时钟和复位信号等,完成芯片中PLL模块的锁定,以及DDR PHY CORE和DRAM颗粒的初始化,并使用APB总线配置DDR PHY CORE完成与DRAM颗粒之间的校准;
初始化结束后,BIST电路可以通过DDR PHY CORE获取DRAM的配置信息,如DRAM颗粒信息、DRAM容量信息等;可以根据DRAM的配置信息确定对所述DRAM进行测试的访问地址配置;这里,所述访问地址配置可以包括:确定访问空间、和/或地址遍历方式;所述访问空间可以通过访问起始地址和终止地址的方式确定;所述地址遍历方式可以包括以下至少之一:x-fast方式、和/或y-fast方式、forward方式、backward方式;通过组合可以形成行x-fast forward方式、和/或y-fast forward方式,和/或x-fast backward方式,和/或y-fastbackward方式等;其中,是x-fast forward地址遍历方式如图2所示;y-fast forward地址遍历方式如图3所示,x-fast backward地址遍历方式如图4所示,y-fast backward地址遍历方式如图5所示;
确定所述访问地址配置的所述预设地址访问规则可以根据实际状况进行设置,具体可以根据时间DRAM在生产中的实际情况,选取部分或全部DRAM空间进行测试;如在一些对测试时间要求比较严格的情况下,一种情况是可以根据历史经验取能涵盖DRAM以往经常出现错误的部分DRAM空间作为访问空间,确定访问起始地址和终止地址;另一种情况是在DRAM晶元切割等情况下,DRAM的某一块可能较为容易出现物理损伤,可以对容易出现物理损伤的块进行测试,可以根据DRAM颗粒信息来区分容易出现物理损伤的块的地址信息,从而确定访问地址配置。
实际应用中,所述访问空间、地址遍历方式和预设地址访问规则等可以预先设置,测试过程中可以通过寄存器或命令方式进行调用;如此,可以简化测试的配置;通过预设地址访问规则可以设定不同的访问空间和地址遍历方式,提高了测试的覆盖率。
所述读写模块1002,用于根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
这里,可以按访问地址配置中的访问空间和地址遍历方式对DRAM进行读写处理,所述读写处理可以采用预设的存储部件读写规则进行;
所述预设的存储部件读写规则可以包括:按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式,和/或连续地写读方式对所述存储部件进行读写处理;
进一步的,可以采用采用预设序列对所述存储部件进行写处理,即如果读写处理的第一步是写操作时,可以由BIST电路将预设序列写入DRAM;所述预设序列可以包括:固定序列、寄存器可配序列和伪随机序列;其中,所述固定序列可以是一串固定的字符等组成的序列,所述寄存器可配序列可以是通过寄存器配置可以调整的预设序列,所述伪随机序列可以是通过伪随机算法得出的序列;
具体的,以先写后读再改写相反数最后再读方式为例,如图6(a)和6(b)所示,可以先向存储部件写入预设序列,读取写入的序列,将读取的序列取反后再次写入,最后再读取用于后续比较;其中,图6(a)为存储部件中存储单元的示意图,黑色填充的方格表示Cells_1,白色填充的方格表示Cells_2;图6(b)为在进行读写过程中各存储单元内容的变化情况,初始状态Cells_10=0、Cells_2=1,经过读写处理后,最终的结果为Cells_1=1、Cells_2=0。
实际应用中,所述预设序列、存储部件读写规则等可以预先设置,测试过程中可以通过寄存器或命令方式进行调用;如此,可以简化测试的配置。
所述检测模块1003,用于获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置;
这里,可以由BIST电路通过DDR PHY CORE读取DRAM中存储部件读写规则进行读写处理的结果;根据预设的检测规则确定所述读写处理的结果是否存在错误;所述预设的检测规则可以根据存储部件读写规则对应设置,如对于只读方式的读写处理,可以根据初始化后DRAM中各存储单元应有的初始化值来确定,初始化值全为1,则对应的预设检测规则为将DRAM各存储单元读写处理的结果与1比较,如果比较结果不一致,则确定该单元有错误。
进一步的,可以对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址;所述预测的读写结果为根据写入的序列,结合存储部件读写规则确定出理论上在DRAM中应该读出的序列;以先写后读再改写相反数最后再读方式为例,如果在存储单元写入的序列为“0”,则通过先写后读再改写相反数最后再读方式的读写处理后,预测的读写结果应该为“1”,如果实际读取的结果不为“1”,则确定该存储单元出现错误;
针对其余各读写规则对应的检测规则可以包括:对于只写方式的读写处理,可以只确定是否能写入成功;对于先读后写相反数方式的读写处理,可以先根据第一次读步骤读出的数据,根据先读后写相反数方式预测出最终结果,再与DRAM中最后的实际值进行对比;对于写读方式的读写处理,可以对比写入的原始值和读取DRAM中的写入值进行对比;对于连续地写读方式的读写处理,可以对比写入的原始值和经过连续读写后最终DRAM中的值进行对比。
实际应用中,当检测到错误后可以形成错误日志,所述错误日志可以包括:错误次数error_cnt、报错的地址first_address、实际读出的数据act_data,以及期望的数据exp_data等信息,供后续处理。
在实际应用中,所述配置模块1001、读写模块1002和检测模块1003均可以由嵌入式系统中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
以上所述,仅为本发明的最佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种存储部件测试方法,其特征在于,所述方法包括:
获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
获取对所述存储部件进行读写处理后的结果,根据预设检测规则确定所述存储部件中出现错误的位置。
2.根据权利要求1所述的方法,其特征在于,所述确定存储部件访问地址配置,包括:
确定对所述存储部件进程访问的访问空间、和/或地址遍历方式。
3.根据权利要求2所述的方法,其特征在于,所述地址遍历方式包括以下至少之一:行方式、列方式、正向方式、反向方式。
4.根据权利要求1、2或3所述的方法,其特征在于,所述按预设存储部件读写规则对所述存储部件进行读写处理,包括:
按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式、和/或连续写读方式,对所述存储部件进行读写处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:采用预设序列对所述存储部件进行写处理;
所述预设序列包括:固定序列、寄存器可配序列和伪随机序列。
6.根据权利要求4所述的方法,其特征在于,所述根据预设检测规则确定所述存储部件中出现错误的位置,包括:
对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址。
7.一种存储部件测试装置,其特征在于,所述装置包括:配置模块、读写模块和检测模块;其中,
所述配置模块,用于获取存储部件的配置信息,根据所述配置信息,依照预设地址访问规则确定存储部件访问地址配置;
所述读写模块,用于根据所述存储部件访问地址配置,按预设存储部件读写规则对所述存储部件进行读写处理;
所述检测模块,用于获取对所述存储部件进行读写处理后的结果,根据预设检测规则,确定所述存储部件中出现错误的位置。
8.根据权利要求7所述的装置,其特征在于,所述配置模块,具体用于:
确定对所述存储部件进程访问的访问空间、和/或地址遍历方式。
9.根据权利要求8所述的装置,其特征在于,所述地址遍历方式包括以下至少之一:行方式、列方式、正向方式、反向方式。
10.根据权利要求7、8或9所述的装置,其特征在于,所述读写模块,具体用于:
按照只写方式、和/或只读方式、和/或先读后写相反数方式、和/或写读方式、和/或先写后读再改写相反数最后再读方式、和/或连续写读方式,对所述存储部件进行读写处理。
11.根据权利要求10所述的装置,其特征在于,所述读写模块,还用于采用预设序列对所述存储部件进行写处理;
所述预设序列包括:固定序列、寄存器可配序列和伪随机序列。
12.根据权利要求10所述的装置,其特征在于,所述检测模块,具体用于:
对比所述存储部件实际读写处理结果与按照所述存储部件读写规则预测的读写结果,确定出现错误的存储部件地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710207448.4A CN108665937B (zh) | 2017-03-31 | 2017-03-31 | 一种存储部件测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710207448.4A CN108665937B (zh) | 2017-03-31 | 2017-03-31 | 一种存储部件测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108665937A true CN108665937A (zh) | 2018-10-16 |
CN108665937B CN108665937B (zh) | 2021-02-09 |
Family
ID=63783660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710207448.4A Active CN108665937B (zh) | 2017-03-31 | 2017-03-31 | 一种存储部件测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108665937B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109633415A (zh) * | 2018-12-28 | 2019-04-16 | 泰斗微电子科技有限公司 | 一种异常芯片的识别方法及设备 |
CN111863111A (zh) * | 2020-07-10 | 2020-10-30 | 深圳佰维存储科技股份有限公司 | Dram的测试方法、装置、计算机可读存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004127382A (ja) * | 2002-09-30 | 2004-04-22 | Toshiba Corp | 同期型半導体記憶装置及びそのテスト方法 |
CN102486938A (zh) * | 2010-12-06 | 2012-06-06 | 北大方正集团有限公司 | 一种快速检测存储器的方法及装置 |
CN102497428A (zh) * | 2011-12-13 | 2012-06-13 | 方正国际软件有限公司 | 远程存储系统及其进行远程存储的方法 |
CN103093829A (zh) * | 2011-10-27 | 2013-05-08 | 迈实电子(上海)有限公司 | 存储器测试系统及存储器测试方法 |
-
2017
- 2017-03-31 CN CN201710207448.4A patent/CN108665937B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004127382A (ja) * | 2002-09-30 | 2004-04-22 | Toshiba Corp | 同期型半導体記憶装置及びそのテスト方法 |
CN102486938A (zh) * | 2010-12-06 | 2012-06-06 | 北大方正集团有限公司 | 一种快速检测存储器的方法及装置 |
CN103093829A (zh) * | 2011-10-27 | 2013-05-08 | 迈实电子(上海)有限公司 | 存储器测试系统及存储器测试方法 |
CN102497428A (zh) * | 2011-12-13 | 2012-06-13 | 方正国际软件有限公司 | 远程存储系统及其进行远程存储的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109633415A (zh) * | 2018-12-28 | 2019-04-16 | 泰斗微电子科技有限公司 | 一种异常芯片的识别方法及设备 |
CN109633415B (zh) * | 2018-12-28 | 2021-08-10 | 泰斗微电子科技有限公司 | 一种异常芯片的识别方法及设备 |
CN111863111A (zh) * | 2020-07-10 | 2020-10-30 | 深圳佰维存储科技股份有限公司 | Dram的测试方法、装置、计算机可读存储介质及电子设备 |
CN111863111B (zh) * | 2020-07-10 | 2023-04-07 | 深圳佰维存储科技股份有限公司 | Dram的测试方法、装置、计算机可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108665937B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7184915B2 (en) | Tiered built-in self-test (BIST) architecture for testing distributed memory modules | |
TW201317995A (zh) | 記憶體測試系統及測試方法 | |
CN101916593B (zh) | 一种内存测试系统 | |
KR20140070441A (ko) | 스마트 메모리 아키텍쳐를 제공하기 위한 방법 및 시스템 | |
CN107430558A (zh) | 半导体存储装置 | |
WO2009017991A1 (en) | Devices, methods, and apparatuses for detection, sensing and reporting functionality for semiconductor memory | |
CN106847343A (zh) | 基于自动测试设备的mram存储器的测试方法 | |
Hsiao et al. | Built-in self-repair schemes for flash memories | |
US20050166111A1 (en) | Memory built-in self test circuit with full error mapping capability | |
CN106526454A (zh) | 一种基于ate的fpga配置芯片的测试方法 | |
CN109903805B (zh) | 存储器片内自测试方法、装置和存储器 | |
CN108665937A (zh) | 一种存储部件测试方法和装置 | |
CN110928731A (zh) | 一种基于硬件自测模块的dram眼图评估方法 | |
JP2023545138A (ja) | 内蔵コンデンサの検出方法、装置、検出機器、及び記憶媒体 | |
US8392768B2 (en) | Memory test system with advance features for completed memory system | |
KR102589109B1 (ko) | 메모리 디바이스에서 백그라운드 데이터 패턴을 기록하는 장치 및 방법 | |
US8194437B2 (en) | Computer memory device with multiple interfaces | |
CN112466386B (zh) | 一种面向故障分类的存储器测试系统及方法 | |
CN115015741A (zh) | 芯片测试方法、装置、设备及介质 | |
CN110648715B (zh) | 一种低电压sram写半选择故障的测试方法 | |
Hong et al. | A programmable memory BIST for embedded memory | |
Chou et al. | Built-in self-diagnosis and test time reduction techniques for NAND flash memories | |
KR100496773B1 (ko) | 낸드형 플래시 메모리의 테스트 장치 및 방법 | |
Lukka et al. | Review on BIST architectures of DRAMs | |
US11984184B2 (en) | Voltage testing circuit with error protection scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |