掌桥专利:专业的专利平台
掌桥专利
首页

存储控制器内建自测试的系统

文献发布时间:2024-04-18 19:58:26


存储控制器内建自测试的系统

技术领域

本申请涉及存储器技术领域,特别涉及一种存储控制器内建自测试的系统。

背景技术

本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。

在存储器领域,用户对动态存储器(DRAM)的访问主要通过内存控制器和物理层接口完成。当用户设计、内存控制、物理层接口调试完毕,准备大规模量产时,经常被良率问题困扰。因为动态存储器系统涉子系统比较复杂,不仅对内存控制器和物理层接口要求较高,而且对印刷电路板(PCB)走线、焊接、内存颗粒良率都有比较高要求。所以客户迫切需要一种能快速准确的自检流程,完成对PCB走线、焊接、内存颗粒良率的检测系统。

目前主流的自检系统包括用户自己搭建MBIST测试程序,测试机台,PCB探测点等,但是这些方案都包含明显缺点。用户自己搭建的MBIST测试程序每次都需要针对新的设计方案重新调整、搭建测试等,费时费力,并且不同软件版本不同芯片型号都要重新调整。测试机台和PCB探测点效率较低,并且以上所述方案可能不能精确定位问题,只能测试出整个系统错误,还要二次定位具体问题。上述方案存在兼容性差,操作复杂,需要额外设备,不能一次精确定位错误类型等问题。

发明内容

本申请的目的在于提供一种存储控制器内建自测试的系统,内建自测试控制器可以集成到软件开发环境中,当用户希望产生自检程序时根据控制器和物理层接口参数自动匹配生成,快捷方便,不需要额外测试设备。

本申请公开了一种存储控制器内建自测试的系统,包括位于印刷电路板上依次耦合的内建自测试控制器、存储控制器、物理层接口和存储颗粒,所述系统执行如下操作:

步骤S1,测试数据选取管脚和数据管脚,所述存储控制器经由所述物理层接口向所述存储颗粒的指定地址写入数据0并读取数据,写入数据1并读取数据,写入数据10的交替并读取数据,写入数据01的交替并读取数据,所述内建自测试控制器根据比特或字节的错误位置确定数据选取管脚或数据管脚的错误位置;

步骤S2,测试数据掩码,所述存储控制器经由所述物理层接口向所述存储颗粒的指定地址写入数据0并刷新数据,写入数据10的交替,遍历每个比特的掩码并读取数据,所述内建自测试控制器根据错误位置确定数据掩码的错误位置;

步骤S3,测试地址管脚,所述存储控制器经由所述物理层接口向所述存储颗粒的所有行的指定列写入数据10的交替并读取每一行指定列的数据,根据错误位置确定地址管脚的错误位置;

步骤S4,测试时钟和复位信号,若在所述步骤S1中无数据返回则确定系统输入异常或命令管脚异常;

步骤S5,对所述存储颗粒进行完整性测试;以及

步骤S6,生成测试结果报告。

在一个优选例中,在所述步骤S1之前,还包括:

使用多块功能正常的印刷电路板运行物理层接口的初始化流程,使用日志打印出各个节点校准的值;

计算出所述各个节点校准值的平均值和方差,如果所述方差大于预定义阈值,则对物理层接口进行降速处理;

将所述物理层接口调整为FAST INIT模式,将所述各个节点校准值的平均值写入所述物理层接口;以及

启动所述物理层接口并启动所述内建自测试控制器。

在一个优选例中,在所述步骤S1之前,还包括进行电源诊断,所述电源诊断包括:

测试所述物理层接口与所述存储颗粒之间的电源管脚是否存在短路,如静态电流高于阈值,则所述电源管脚存在短路;以及

测试所述存储颗粒的电源管脚的接触是否正常,如所述电源管脚异常,对所述印刷电路板进行电压或电流的测试。

在一个优选例中,如所述电压的波纹稳定且抖动小于预定值,则所述印刷电路板电压供电正常,如所述电流在正常值范围内,则所述所述印刷电路板电流供电正常。

在一个优选例中,在所述步骤S5中,采用漫游算法和/或March C+算法测试所述存储颗粒。

在一个优选例中,所述完整性测试包括以下的一项或多项:线固定故障、桥接故障、单元固定故障、开路故障、寻址故障、位丢失、跳变故障、单元耦合故障和数据保持故障。

在一个优选例中,所述指定地址为第0组第0块第0行第0列。

在一个优选例中,在所述步骤S1中,根据比特或字节的错误位置确定数据选取管脚或数据管脚的错误位置进一步包括:

如果比特出现错误,则根据所述比特出现错误的位置确定数据选取管脚的错误位置;以及

如果字节出现错误,则根据字节出现错误的位置确定数据管脚的错误位置。

在一个优选例中,在所述步骤S6中,所述测试结果报告包括:错误流程类型和颗粒错误地址。

在一个优选例中,所述掩码的位宽为数据位宽除以8的值。

本申请实施方式中,通过完整的自检流程,多样的测试模式,主流的校验算法,通过对存储控制器的读/写和返回数据校验能快速完成硬件系统自检,并且精确定位错误类型,一次完成自检和错误定位流程,极大简化用户自检操作,加快用户自检速度,实现快速准确的量产测试。

本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。

附图说明

图1是根据本申请一个实施例中存储控制器内建自测试的系统的结构示意图。

图2是根据本申请一个实施例中测试前的数据准备过程的流程示意图。

图3是根据本申请一个实施例中系统执行测试的流程示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

本申请的第一实施方式涉及一种存储控制器内建自测试的系统,其结构如图1所示,该系统,包括位于印刷电路板(图中未示出)上依次耦合的内建自测试(MBIST)控制器101、存储控制器102、物理层接口(PHY)103和存储颗粒。本申请中存储器以DDR为例进行说明。物理层接口103耦合到一个或多个DDR颗粒104.1、104.2。

本申请中,MBIST控制器101可以集成到软件开发环境中,当用户希望产生自检程序时可以根据控制器102和物理层接口103的参数自动匹配生成,快捷方便,不需要额外测试设备。本实施例中的测试点包括如下内容:

1)检查PCB数据通路完整性(dq dqs dqm信号)

2)检查PCB地址信号完整性(addr ba bg)

3)检查命令信号完整性(cs_n ras_n cas_n we_n act_n cke)

4)检查系统信号(reset_n ck)

5)PCB短路检查

6)颗粒功能完整性检查(线固定故障/桥接故障/单元固定故障/开路故障/寻址故障/位丢失/跳变故障/单元耦合故障/数据保持故障)

在一个实施例中,在进行自检程序测试前需要进行数据准备过程,如图2所示,具体还包括如下过程:

步骤a,使用多块功能正常的印刷电路板运行其物理层接口的初始化流程,使用日志打印出各个节点校准的值;

步骤b,计算出各个节点校准值的平均值和方差,如果方差大于预定义阈值,则对物理层接口进行降速处理;

步骤c,将待测试的PCB的物理层接口调整为FAST INIT模式,将各个节点校准值的平均值写入该物理层接口;

步骤d,启动物理层接口并启动内建自测试控制器。

数据准备过程中将物理层接口调整为FAST INIT模式,使得即使PCB板损坏的情况下,依然可以启动物理层接口进行测试。

在一个实施例中,在进行自检程序测试前还包括进行电源诊断,所述的额电源诊断包括如下过程:

步骤i,测试物理层接口与存储颗粒之间的电源管脚是否存在短路,如静态电流高于阈值,则电源管脚存在短路;

步骤ii,测试存储颗粒的电源管脚的接触是否正常,如电源管脚异常,对印刷电路板进行电压或电流的测试。在一个实施例中,如电压的波纹稳定且抖动小于预定值,则印刷电路板电压供电正常,如电流在正常值范围内,则印刷电路板电流供电正常。

更具体的,电源诊断的测试内容包括:

1)测试电源管脚,查看是否存在短路。如果静态电流过高,说明存在短路。

2)测试电源管脚,确保存储颗粒Power Gnd接触良好。如果存储颗粒Power Gnd接触异常,通常表现为低速下case PASS,相同的case高速下Fail。如果发现电源异常,通常可以通过一些测试判断(例如,波纹、抖动、电压、电流等测试)

如图3所示,进行测试前的数据准备过程和电源准备过程后,所述系统执行如下操作进行自检测试:

步骤S1,测试数据选取管脚(DQS)和数据管脚(DQ)。具体的:存储控制器经由物理层接口向存储颗粒的指定地址写入数据0并读取数据,写入数据1并读取数据,写入数据10的交替并读取数据,写入数据01的交替并读取数据,内建自测试控制器根据比特或字节的错误位置确定数据选取管脚或数据管脚的错误位置。

在一个实施例中,指定地址为第0组第0块第0行第0列(bg0 bk0 row0col0),其包括8个比特。步骤S1中向指定地址写入数据0表示写入8比特的00000000,向指定地址写入数据1表示写入8比特的11111111,向指定地址写入数据10的交替表示写入10101010,向指定地址写入数据01的交替表示写入01010101。数据写入后,控制器102经由物理层接口103从存储颗粒中读取相应的数据,并根据是否存在错误及错误位置确定数据选取管脚或数据管脚的错误位置,如测试通过则数据选取管脚和数据管脚正常。

在一个实施例中,在步骤S1中,根据比特或字节的错误位置确定数据选取管脚或数据管脚的错误位置进一步包括:

如果比特出现错误,则根据比特出现错误的位置确定数据选取管脚的错误位置;

如果字节出现错误,则根据字节出现错误的位置确定数据管脚的错误位置。

步骤S2,测试数据掩码(DM),具体的:存储控制器经由物理层接口向存储颗粒的指定地址写入数据0并刷新数据,写入数据10的交替,遍历每个比特的掩码并读取数据,内建自测试控制器根据错误位置确定数据掩码的错误位置。

在一个实施例中,掩码的位宽为数据位宽除以8的值。例如,掩码的位宽为4比特。在步骤S2中,依次遍历掩码0001-1111并读取数据。具体的:首先,向指定地址写入数据0并刷新数据,写入数据10的交替并使用掩码0001并读出数据;接着,向指定地址写入数据0并刷新数据,写入数据10的交替并使用掩码0010并读出数据;再次,向指定地址写入数据0并刷新数据,写入数据10的交替并使用掩码0011并读出数据,以此类推并遍历每个比特的掩码。并且,根据是否存在错误及错误位置确定数据掩码的错误位置,如测试通过则数据掩码正常。

步骤S3,测试地址管脚(Addr),具体的:存储控制器经由物理层接口向存储颗粒的所有行的指定列写入数据10的交替并读取每一行指定列的数据,根据错误位置确定地址管脚的错误位置。其中,指定列可以为第0列。将所有BGBK的每一行的第0列写入10交替数据,读出每一行第0列的数据进行校验,根据是否存在错误及错误位置确定地址管脚的错误位置,如测试通过则地址管脚正常。

步骤S4,测试时钟(CK)和复位信号(RESET),若在步骤S1中无数据返回则确定系统输入异常(时钟和复位信号异常)或命令管脚异常。

步骤S5,对存储颗粒进行完整性测试。

在一个实施例中,采用漫游算法和/或March C+算法测试存储颗粒,完整性测试包括以下的一项或多项:线固定故障、桥接故障、单元固定故障、开路故障、寻址故障、位丢失、跳变故障、单元耦合故障和数据保持故障。

步骤S6,生成测试结果报告。所述测试结果报告包括:错误流程类型和颗粒错误地址。

本申请中,通过上述完整的自检流程,多样的测试模式,主流的校验算法,通过对存储控制器的读/写和返回数据校验能快速完成硬件系统自检,并且精确定位错误类型,一次完成自检和错误定位流程,极大简化用户自检操作,加快用户自检速度,实现快速准确的量产测试。

需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本说明书提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

相关技术
  • 一种面向以太网控制器收发通路的内建自测试方法及系统
  • 一种面向以太网控制器收发通路的内建自测试方法及系统
技术分类

06120116486513