DRAM测试方法、电子设备和存储介质与流程

    专利查询2022-07-07  279


    dram测试方法、电子设备和存储介质
    技术领域
    1.本发明涉及dram技术领域,尤其是涉及一种dram测试方法、电子设备和存储介质。


    背景技术:

    2.随着集成电路的发展,集成电路的密度越来越高、速度越来越快,与此同时,集成电路的故障率也随着提高。对于dram(dynamic random access memory,动态随机存取存储器)而言,在没有ecc(error checking and correcting,错误检查和纠正)的情况下,不能允许1个bit(比特)数据的错误,否则产品运用在手机、平板等设备中会造成系统死机、重启应用程序崩溃等不良现象发生。
    3.为了提升dram的使用体验和稳定性,需要对其进行必要的功能测试。现下大部分智能平台所进行的dram测试,是无法直接使用开机和系统测试的,所以就需要进行dram初始化阶段的效验和测试。而基于普遍32位模式启动的引导固件对于现下的大容量内存而言,测试是有很大限制的,比如内存超过4gb,引导固件就无法完整覆盖测试了(32位引导系统,只能支持最大4gb寻址)。


    技术实现要素:

    4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出了一种dram测试方法、电子设备和存储介质,能够提升可测试的dram容量。
    5.一方面,根据本发明实施例的dram测试方法,包括以下步骤:获取dram 的时序参数,所述dram具有两个rank,每个rank具有对应的片选引脚和时钟使能引脚;根据所述时序参数,对所述dram进行初始化;测试所述dram 的第一个rank;待测试完成后,dram控制器进入自刷新模式;同步第二个rank 的使能时钟,激活第二个rank的初始校验参数,并将片选时钟由第一个rank 切换至第二个rank,以对第二个rank进行测试;待第二个rank测试完成后,所述dram控制器退出自刷新模式。
    6.根据本发明实施例的dram测试方法,至少具有如下有益效果:能够进行两个rank之间的切换测试,用同样的地址能够表达两个部分的dram真实行列地址,从而达到成倍的提升可测试的dram容量;同时,根据本技术的dram 测试方法,可以在32位的初始化模式下进行提升寻址能力,可以在未进入系统和dram被使用前,进行全覆盖功能测试,最大化的提升测试精度和准确性。
    7.根据本发明的一些实施例,所述根据所述时序参数,对所述dram进行初始化,具体包括:根据所述时序参数,配置测试平台的外部存储器接口的寄存器,以对所述dram进行初始化。
    8.根据本发明的一些实施例,所述dram控制器进入自刷新模式,具体包括:配置所述dram控制器的dram寄存器,使所述dram控制器进入自刷新模式,以拉低第二个rank的时钟使能引脚。
    9.根据本发明的一些实施例,所述同步第二个rank的使能时钟,具体包括:配置所述
    dram控制器的cke寄存器,以同步第二个rank的使能时钟。
    10.根据本发明的一些实施例,所述激活第二个rank的初始校验参数,具体包括:配置所述dram控制器的txrank寄存器,以激活第二个rank的初始校验参数。
    11.根据本发明的一些实施例,所述将片选时钟由第一个rank切换至第二个 rank,具体包括:配置测试平台的cs swap寄存器,以将片选时钟由第一个rank 切换至第二个rank。
    12.另一方面,根据本发明实施例的电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的dram测试方法。
    13.另一方面,根据本发明实施例的计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行时实现上述的dram测试方法。
    14.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
    附图说明
    15.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
    16.图1为本发明实施例的dram测试方法的步骤流程图。
    具体实施方式
    17.本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
    18.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
    19.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
    20.rank:在内存条上会贴有很多内存颗粒,贴内存颗粒的面数就是rank,如果只有一面贴有内存颗粒,叫做single rank,如果两面都贴有内存颗粒,叫做dual rank。本发明实施例的dram测试方法,主要适用于dram具有两个rank 的情况。
    21.如图1所示,根据本发明实施例的dram测试方法,包括以下步骤:
    22.步骤s100:获取dram的时序参数,该dram具有两个rank,每个rank 具有对应的片选引脚cs和时钟使能引脚cke;
    23.步骤s200:根据dram的时序参数,对dram进行初始化;
    24.步骤s300:测试dram的第一个rank;
    25.步骤s400:待第一个rank测试完成后,dram控制器进入自刷新模式;
    26.步骤s500:同步第二个rank的使能时钟,激活第二个rank的初始校验参数,并将片选时钟由第一个rank切换至第二个rank,以对第二个rank进行测试;
    27.步骤s600:待第二个rank测试完成后,dram控制器退出自刷新模式。
    28.具体地,首先,在对dram进行测试前,可以先查看物料规格书,以了解 dram的时序参数,时序参数用于表征dram的rank数量、内存容量以及内存颗粒的行列分布等。在获取到dram的时序参数后,开始配置测试平台的外部存储器接口的寄存器(emi寄存器),此时测试平台的内部程序会自动识别dram 的时序参数,并开始对dram进行初始化。需要说明的是,在本技术示例中,测试平台指的是mtk(mediatek,中国台湾联发科技股份有限公司)平台;可以理解的是,其它类似平台同样可应用本技术的方法。
    29.待dram初始化完成后,此时测试平台会开始对dram的第一个rank进行测试。需要说明的是,在对第一个rank进行测试的时候,只要按照传统的正常流程进行测试即可,此为测试平台的默认设置,在此不做赘述。
    30.待第一个rank测试完成后,则开始对第二个rank进行测试。此时,需要先配置dram控制器的dram寄存器,使得dram控制器进入自刷新模式。在此模式下,可以拉低dram的时钟使能引脚cke,防止其他命令引起的错误状态。随后,配置dram控制器的cke寄存器,从而对第二个rank的使能时钟进行同步。因为对于dram的两个rank来说,每个rank会使用不同的使能时钟驱动,所以需要对两个rank的使能时钟进行同步。然后,配置dram控制器的txrank 寄存器,从而激活第二个rank的初始校验tx参数,使得第二个rank可以接受读写命令。接着,配置cs swap寄存器,从而将片选时钟由第一个rank切换至第二个rank,以便测试平台对第二个rank开始测试。待第二个rank测试完成后,dram控制器退出自刷新模式。此时,整个dram均可进行读写操作。
    31.根据本发明实施例的dram测试方法,能够进行两个rank之间的切换测试,用同样的地址能够表达两个部分的dram真实行列地址,从而达到成倍的提升可测试的dram容量。例如:假设dram的容量为4gb,如果是single rank 的情况,因为测试平台的32位模式的限制,无法测试到大于3gb的地址(32为模式,最多只能访问4gb的空间,而因寄存器地址占用,前1gb的空间被占用,所以最大测试容量为3gb);而分成两个rank的4gb dram,每个rank容量为2gb,通过分组,同时切换rank,那么只需要2gb的地址就可以代表4gb地址,也就可以顺利完整测试所有内存地址。也就是说,根据本技术的dram测试方法,可以在32位的初始化模式进行提升寻址能力,可以在未进入系统和dram 被使用前,进行全覆盖功能测试,最大化的提升测试精度和准确性。
    32.另一方面,本发明还提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的dram测试方法。
    33.另一方面,本发明还提供了一种计算机可读存储介质,该存储介质存储有程序,程序被处理器执行时实现上述的场景处理方法。
    34.尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种示例性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的示例性具体实施和架构的许多其它修改也处于本公开的范围内。
    35.上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框
    图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
    36.因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
    37.本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。
    38.软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。
    39.软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。
    40.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
    转载请注明原文地址:https://tc.8miu.com/read-799.html

    最新回复(0)