CN115620794B - 快速存储器的测试方法及测试装置、存储介质、芯片 - Google Patents

快速存储器的测试方法及测试装置、存储介质、芯片 Download PDF

Info

Publication number
CN115620794B
CN115620794B CN202211442462.XA CN202211442462A CN115620794B CN 115620794 B CN115620794 B CN 115620794B CN 202211442462 A CN202211442462 A CN 202211442462A CN 115620794 B CN115620794 B CN 115620794B
Authority
CN
China
Prior art keywords
data
read
flash memory
calibration
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.)
Active
Application number
CN202211442462.XA
Other languages
English (en)
Other versions
CN115620794A (zh
Inventor
颜河
李德建
刘亮
董长征
冯曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202211442462.XA priority Critical patent/CN115620794B/zh
Publication of CN115620794A publication Critical patent/CN115620794A/zh
Application granted granted Critical
Publication of CN115620794B publication Critical patent/CN115620794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明涉及芯片技术领域,具体公开了一种快速存储器的测试方法及测试装置、存储介质、芯片,其中,快速存储器包括非易失性寄存器存储阵列,测试方法包括:按照预设规则对快速存储器的校准参数进行处理得到校准值,其中,校准参数是对快速存储器进行校准获得的;将校准值写入非易失性寄存器存储阵列,以在快速存储器上电复位时从非易失性寄存器存储阵列中读出校准值,并根据预设规则对校准值进行校验以识别校准参数是否正确。由此,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性。

Description

快速存储器的测试方法及测试装置、存储介质、芯片
技术领域
本发明涉及芯片技术领域,尤其涉及一种快速存储器的测试方法及测试装置、存储介质、芯片。
背景技术
嵌入式Flash(快速存储器)作为MCU(Micro Controller Unit,微控制单元)芯片的重要组件之一,用于存储芯片的重要信息及嵌入式程序,这就要求快速存储器具有较高的可靠性,因此快速存储器的测试流程较为复杂,测试时间及测试成本也较高。快速存储器一般包括非易失性寄存器存储阵列(NVR Array,简称NVR区)和主存储阵列(Main Array,简称Main区),NVR区多用于保存芯片的重要参数,如BG(Bandgap,带隙基准电路)、VR(Variable Resistor,可变电阻器)、OSC(Oscillator,振荡器)等校准参数、工厂码以及引导程序,Main区多用于存储用户嵌入式程序。
在常见的Flash测试流程中,在对Main区进行测试前,需先将校准测试获得的BG、VR、OSC等校准参数写入NVR区,然后在芯片重新上电后,从NVR区读出这些校准参数,以对Main区进行后续可靠性相关测试等。由于校准参数无法完成后续可靠性相关测试,因此其可靠性无法保证,从而可能因校准参数错误导致芯片出现不可预知的行为,产生不良后果。
相关技术中,在将校准测试获得的校准参数写入NVR区时,还通过校准完成Flag(标识)信号对其进行标记,当芯片重新上电后,先对校准完成Flag信号进行比对,若校准完成Flag信号正确,则从NVR区载入校准参数,以对Main区进行后续可靠性相关测试;若校准完成Flag信号不正确,则直接加载校准参数的默认值。
上述方式采用校准完成Flag信号能够保证芯片重新上电时,载入的校准参数是经过校准测试并写入NVR区的,而非Flash的默认值,可以在一定程度上保证芯片不会因校准参数偏离出现不可预知的错误,但是仍然不能解决因NVR区无法像Main区一样完成所有可靠性相关测试,导致NVR区存在如program disturb(编程干扰)等可靠性相关缺陷时,导致存储在NVR区的校准参数错误,进而导致芯片出现不可预知的行为,产生不良后果。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种快速存储器的测试方法,按照预设规则对校准参数进行处理得到校准值写入非易失性寄存器存储阵列,并在上电复位时,基于预设规则对校准值进行校验,从而可以识别出校准参数是否正确,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种芯片。
本发明的第四个目的在于提出一种快速存储器的测试装置。
本发明的第五个目的在于提出另一种芯片。
为达到上述目的,本发明第一方面实施例提出了一种快速存储器的测试方法,快速存储器包括非易失性寄存器存储阵列,方法包括:按照预设规则对快速存储器的校准参数进行处理得到校准值,其中,校准参数是对快速存储器进行校准获得的;将校准值写入非易失性寄存器存储阵列,以在快速存储器上电复位时从非易失性寄存器存储阵列中读出校准值,并根据预设规则对校准值进行校验以识别校准参数是否正确。
根据本发明实施例的快速存储器的测试方法,按照预设规对快速存储器的校准参数进行处理得到校准值并写入非易失性寄存器存储阵列中,并在快速存储器上电复位时,根据预设规则对校准值进行校验,从而可以识别出校准参数是否正确,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性。
根据本发明的一个实施例,按照预设规则对快速存储器的校准参数进行处理得到校准值,包括:将校准参数转换为二进制数;对二进制数进行正反值处理得到校准值。
根据本发明的一个实施例,对二进制数进行正反值处理得到校准值,包括:将二进制数中的1转换为10,并将二进制数中的;或者,将二进制数中的1转换为01,并将二进制数中的0转换为10。
根据本发明的一个实施例,根据预设规则对校准值进行校验以识别校准参数是否正确,包括:在多个组数据中的每个组数据均为01或10的情况下,确定校准参数正确,其中,多个组数据是从校准值的起始位开始每连续两个数据位作为一组得到的;在多个组数据中存在任意组数据为00或11的情况下,确定校准参数错误。
根据本发明的一个实施例,方法还包括:在校准参数正确的情况下,根据预设规则对校准值进行处理得到校准参数,并将校准参数存储至校准寄存器;在校准参数错误的情况下,获取快速存储器的初始校准参数,并将初始校准参数存储至校准寄存器,以及输出校准参数故障信息。
根据本发明的一个实施例,方法还包括:在接收到快速存储器的数据写入指令的情况下,获取数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值;从写入数据开始地址开始,将数据值写入快速存储器,并根据写入自加减标志调整写入数据地址,直至写入数据地址达到写入数据结束地址,以向快速存储器写入测试背景数据。
根据本发明的一个实施例,写入自加减标志包括第一标志和第二标志,第一标志用于指示写入数据地址的增加或减少,第二标志位用于指示写入数据地址的增加量或减少量。
根据本发明的一个实施例,写入数据开始地址、写入数据结束地址和写入自加减标志均包括至少一个,且写入数据开始地址、写入数据结束地址和写入自加减标志一一对应。
根据本发明的一个实施例,测试背景数据包括全0数据、全1数据、棋盘格数据、反棋盘格数据、对角线数据、向任意地址范围写入相同数据和向任意地址写入任意数据中的至少一种。
根据本发明的一个实施例,方法还包括:在接收到快速存储器的数据读出指令的情况下,获取数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志;从读出数据开始地址开始,从快速存储器读出数据值,并根据读出自加减标志调整读出数据地址,直至读出数据地址达到读出数据结束地址。
根据本发明的一个实施例,读出自加减标志包括第三标志和第四标志,第三标志用于指示读出数据地址的增加或减少,第四标志用于指示读出数据地址的增加量或减少量。
根据本发明的一个实施例,读出数据开始地址、读出数据结束地址和读出自加减标志均包括至少一个,且读出数据开始地址、读出数据结束地址和读出自加减标志一一对应。
根据本发明的一个实施例,在从快速存储器读出数据值后,方法还包括:将数据值与目标数据值进行比对;在数据值与目标数据值相同的情况下,输出读出测试通过信息;在数据值与目标数据值不同的情况下,输出读出测试不通过信息,并输出数据值、数据值对应的读出数据地址和目标数据值。
根据本发明的一个实施例,快速存储器还包括主存储阵列,数据写入指令包括向非易失性寄存器存储阵列或主存储阵列写入数据值的指令,数据读出指令包括从非易失性寄存器存储阵列或主存储阵列读出数据值的指令。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有快速存储器的测试程序,该快速存储器的测试程序被处理器执行时实现前述的快速存储器的测试方法。
根据本发明实施例的计算机可读存储介质,通过前述的快速存储器的测试方法,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性。
为达到上述目的,本发明第三方面实施例提出了一种芯片,包括:存储器、处理器及存储在存储器上并可在处理器上运行的快速存储器的测试程序,处理器执行程序时,实现前述的快速存储器的测试方法。
根据本发明实施例的芯片,通过处理器实现前述的快速村塾器的测试方法,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性,进而提高了芯片的可靠性。
为达到上述目的,本发明第四方面实施例提出了一种快速存储器的测试装置,快速存储器包括非易失性寄存器存储阵列,装置包括:译码单元,用于按照预设规则对快速存储器的校准参数进行处理得到校准值,其中,校准参数是对快速存储器进行校准获得的;读写控制单元,用于将校准值写入非易失性寄存器存储阵列;校验单元,用于在快速存储器上电复位时从非易失性寄存器存储阵列中读出校准值,并根据预设规则对校准值进行校验以识别校准参数是否正确。
根据本发明实施例的快速存储器的测试装置,通过译码单元按照预设规则对快速存储器的校准参数进行处理得到校准值,并通过读写控制单元将校准值写入非易失性寄存器存储阵列中,以及在快速存储器上电复位时,通过校验单元根据预设规则对校准值进行校验,可以识别出校准参数是否正确,实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性。
根据本发明的一个实施例,译码单元具体用于:将校准参数转换为二进制数;对二进制数进行正反值处理得到校准值。
根据本发明的一个实施例,译码单元具体用于:将二进制数中的1转换为10,并将二进制数中的0转换为01;或者,将二进制数中的1转换为01,并将二进制数中的0转换为10。
根据本发明的一个实施例,校验单元具体用于:在多个组数据中的每个组数据均为01或10的情况下,确定校准参数正确,其中,多个组数据是从校准值的起始位开始每连续两个数据位作为一组得到的;在多个组数据中存在任意组数据为00或11的情况下,确定校准参数错误。
根据本发明的一个实施例,校准单元还用于:在校准参数正确的情况下,根据预设规则对校准值进行处理得到校准参数,并将校准参数存储至校准寄存器;在校准参数错误的情况下,获取快速存储器的初始校准参数,并将初始校准参数存储至校准寄存器,以及输出校准参数故障信息。
根据本发明的一个实施例,装置还包括:地址处理单元;译码单元还用于在接收到快速存储器的数据写入指令的情况下,获取数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值;读写控制单元还用于从写入数据开始地址开始,将数据值写入快速存储器,并通过地址处理单元根据写入自加减标志调整写入数据地址,直至写入数据地址达到写入数据结束地址。
根据本发明的一个实施例,写入自加减标志包括第一标志和第二标志,第一标志用于指示写入数据地址的增加或减少,第二标志位用于指示写入数据地址的增加量或减少量。
根据本发明的一个实施例,写入数据开始地址、写入数据结束地址和写入自加减标志均包括至少一个,且写入数据开始地址、写入数据结束地址和写入自加减标志一一对应。
根据本发明的一个实施例,译码单元还用于在接收到快速存储器的数据读出指令的情况下,获取数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志;读写控制单元还用于从读出数据开始地址开始,从快速存储器读出数据值,并通过地址处理单元根据读出自加减标志调整读出数据地址,直至读出数据地址达到读出数据结束地址。
根据本发明的一个实施例,读出自加减标志包括第三标志和第四标志,第三标志用于指示读出数据地址的增加或减少,第四标志用于指示读出数据地址的增加量或减少量。
根据本发明的一个实施例,读出数据开始地址、读出数据结束地址和读出自加减标志均包括至少一个,且读出数据开始地址、读出数据结束地址和读出自加减标志一一对应。
根据本发明的一个实施例,装置还包括:比对单元,用于将从快速存储器读出的数据值与目标数据值进行比对,并在数据值与目标数据值相同的情况下,输出读出测试通过信息至译码单元,以及在数据值与目标数据值不同的情况下,输出读出测试不通过信息以及数据值、数据值对应的读出数据地址和目标数据值至译码单元。
根据本发明的一个实施例,快速存储器还包括主存储阵列,数据写入指令包括向非易失性寄存器存储阵列或主存储阵列写入数据值的指令,数据读出指令包括从非易失性寄存器存储阵列或主存储阵列读出数据值的指令。
为达到上述目的,本发明第五方面实施例提出了另一种芯片,包括前述的快速存储器的测试装置。
根据本发明实施例的芯片,通过前述的快速存储器的测试装置,实现了对快速存储器的校准参数的校准功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了快速存储器的整体可靠性,进而提高了芯片的可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本发明一个实施例的快速存储器的结构示意图;
图2为根据本发明一个实施例的快速存储器的测试方法的流程图;
图3为根据本发明一个实施例的正反值处理的示意图;
图4为根据本发明另一个实施例的快速存储器的测试方法的流程图;
图5为相关技术中的一种快速存储器的测试流程中的数据写入时序示意图;
图6为根据本发明一个实施例的快速存储器的测试流程中的数据写入时序示意图;
图7为根据本发明又一个实施例的快速存储器的测试方法的流程图;
图8为相关技术中的一种快速存储器的测试流程中的数据读出时序示意图;
图9为根据本发明一个实施例的快速存储器的测试流程中的数据读出时序示意图;
图10为根据本发明一个实施例的读比对测试未通过时的数据读出时序图;
图11为根据本发明一个实施例的芯片的结构示意图;
图12为根据本发明一个实施例的快速存储器的测试装置的结构示意图;
图13为根据本发明另一个实施例的快速存储器的测试装置的结构示意图;
图14为根据本发明另一个实施例的芯片的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
需要说明的是,本发明实施例的快速存储器的测试方法可以应用在图1所示的快速存储器Flash中,参考图1所示,Flash包括非易失性寄存器存储阵列(简称NVR区)和主存储阵列(简称Main区),其中NVR区多用于保存芯片的重要参数,如BG、VR、OSC等校准参数、工厂码及引导程序等;Main区多用于存储用户嵌入式程序。
图2为根据本发明一个实施例的快速存储器的测试方法的流程图,参考图2所示,该测试方法可包括以下步骤:
S11,按照预设规则对快速存储器的校准参数进行处理得到校准值,其中,校准参数是对快速存储器进行校准获得的。
具体地,在对Flash进行测试时,可先对NVR区进行擦、写、读测试,然后通过校准测试电路等对Flash的BG、VR、OSC等重要参数进行校准测试得到最佳参数,并将这些参数作为校准参数。在校准测试完成后,按照预设规则对校准参数进行处理得到校准值,例如,可以按照一定的规则对校准参数进行简单变形等得到校准值,该校准值一方面可以表征校准参数,另一方面可以实现校准参数的验证,以便于后续能够识别校准参数的正确性。
作为一种实现方式,按照预设规则对快速存储器的校准参数进行处理得到校准值,包括:将校准参数转换为二进制数;对二进制数进行正反值处理得到校准值。
具体地,由于芯片中通常使用二进制进行数据的存储和计算,故可先将校准参数转换为二进制数,以便于后续处理。在正反值处理过程中,“正”指二进制数自身,“反”指与二进制数自身不同的另一个二进制数,例如,二进制数1的反值为二进制数0。对二进制数进行正反值处理得到校准值是指对校准参数转换成的二进制数进行处理,使得处理后的校准值中包括校准参数转换成的二进制数的自身与反值,如图3所示,可将单个二进制数D0转换为二进制数D0和~D0,其中二进制数~D0为二进制数D0的反值,后续转换流程以此类推,从而可将16位的校准参数D0~D15转换为32位的校准值D0~~D15。
进一步的,对二进制数进行正反值处理得到校准值,包括:将二进制数中的1转换为10,并将二进制数中的0转换为01;或者,将二进制数中的1转换为01,并将二进制数中的0转换为10。也就是说,在对二进制数进行正反值处理的过程中,每个二进制数的自身和反值的前后顺序可变,可将反值置于二进制数自身之后,也就是将二进制数中的1转换为10,并将二进制数中的0转换为01;也可将反值置于二进制数自身之前,即将二进制数中的1转换为01,并将二进制数中的0转换为10。上述两种方式均可实现对二进制数的正反值处理,且处理方式较为简单,同时便于后续能够快速便捷地识别校准参数的正确性。
S12,将校准值写入非易失性寄存器存储阵列,以在快速存储器上电复位时从非易失性寄存器存储阵列中读出校准值,并根据预设规则对校准值进行校验以识别校准参数是否正确。
具体地,在对Flash的BG、VR、OSC等重要参数进行校准测试时,芯片处于上电状态,芯片可能存在不定态,该状态可能会对后续的测试产生影响,故需要通过拉低和抬高芯片的复位信号来清除这些不定态,因此在对校准测试获得的校准参数进行处理得到校准值后,先将校准值写入NVR区,然后再对芯片进行上电复位,并在上电复位后,从NVR区中读取校准值以进行后续测试,确保后续测试的准确性。
由于Flash的NVR区并未完成可靠性测试,故NVR区的可靠性无法保证,存储在NVR区中的校准值容易因故障导致校准值改变,例如发生Program disturb(编程干扰)、工艺缺陷等故障导致校准值出错,进而产生不良后果。而在本实施例中,由于校准值是按照预设规则对校准参数进行处理得到的,可通过预设规则得出校准值应当具备的数字规律以及校准值与校准参数的联系。因此,在芯片上电复位后,在从NVR区读出校准值后,可根据预设规则对校准值进行校验,以识别校准值是否正确,当校准值正确时,其所表征的校准参数也是正确的,从而可以避免因NVR区故障导致的校准参数改变,进而基于错误的校准参数进行后续测试等导致的不良后果,从而提高了Flash的整体可靠性。
在一些实施例中,根据预设规则对校准值进行校验以识别校准参数是否正确,包括:在多个组数据中的每个组数据均为01或10的情况下,确定校准参数正确,其中,多个组数据是从校准值的起始位开始每连续两个数据位作为一组得到的;在多个组数据中存在任意组数据为00或11的情况下,确定校准参数错误。
具体地,参考图3所示,当对校准参数进行正反值处理得到校准值时,所得到的校准值可由多个组数据组成,例如D0和~D0作为一组数据,D1和~D1作为一组数据,以此类推。在校准值的多个组数据中,正常情况下,每个组数据仅可能为01或10,故可在多个组数据中的每个组数据均为01或10的情况下,确定校准值正确,也即校准参数正确;当存在任意组数据为00或11时,则表示该组数据中的某1位因NVR区故障出现了比特翻转,使校准值发生了改变,此时可确定校准值错误,也即校准参数错误。由此,实现了通过预设规则对校准值进行校验以识别校准参数是否正确,且方法简单,校验速度快。
在一些实施例中,快速存储器的测试方法还包括:在校准参数正确的情况下,根据预设规则对校准值进行处理得到校准参数,并将校准参数存储至校准寄存器;在校准参数错误的情况下,获取快速存储器的初始校准参数,并将初始校准参数存储至校准寄存器,以及输出校准参数故障信息。
具体地,当确定校准值也即校准参数正确时,可根据预设规则对校准值进行还原处理得到校准参数,并将校准参数存储至芯片的校准寄存器供后续测试使用;当确定校准值也即校准参数错误时,可获取Flash的初始校准参数(即校准参数默认值),并将初始校准参数存储至校准寄存器供后续测试使用。由此,可以避免因校准参数错误导致更多故障,同时输出校准参数故障信息,以便进行故障处理,从而提高了Flash的可靠性。
上述实施例中,通过按照预设规则对Flash的校准参数进行处理得到校准值并写入NVR区,并在Flash上电复位时,根据预设规则对校准值进行校验,当确定校准值正确时,按照预设规则对校准值进行反向处理得到校准参数,并将其存储至校准寄存器供后续测试使用;当确定校准值错误时,将Flash的初始校准参数存储至校准寄存器,同时输出校准参数故障信息以便进行故障处理,从而实现了对校准参数的校验功能,避免了因NVR区的可靠性问题导致校准参数出错,进而产生不良后果的问题,有效提高了Flash的整体可靠性。
在另一些实施例中,参考图4所示,快速存储器的测试方法还包括:
S21,在接收到快速存储器的数据写入指令的情况下,获取数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值。
具体地,Flash的测试流程包括:先对NVR区进行擦、写、读测试;然后通过校准测试电路等对Flash的BG、VR、OSC等重要参数进行校准测试得到校准参数,并将校准参数写入NVR区;接着Flash重新上电,并从NVR区读出校准参数;接着对Main区进行擦、写、读测试;最后对Main区依次进行可靠性测试(如字线/位线压力测试、干扰测试等)、烘烤测试以及数据保存测试。其中,不管是NVR区还是Main区,均需进行擦、写、读测试。
在进行写测试时,一般采用图5所示的写入时序,通过测试输入端口tdata_in向NVR区或Main区写入大量的测试数据,具体是通过测试输入端口tdata_in串行输入写指令Write Cmd、写入地址XaddrX和YaddrX、数据值DataX,以完成一个双字的写入。由于该方式仅能实现双字写入,而每次双字写入时均需要通过测试输入端口tdata_in串行输入写指令Write Cmd、写入地址XaddrX和YaddrX、数据值DataX。由于Flash容量较大,动辄几十万个双字,且在整个Flash测试过程中,会执行10-20次全片写操作,因此上述的数据写入方式会导致测试时间较长,测试成本较高。
而在本发明的实施例中,可以通过单条数据写入指令一次性写入多个数据值。参考图6所示,Flash的数据写入指令包括:写指令Write Cmd、写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end、写入自加减标志Xadd和Yadd以及数据值data。其中,写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end确定了需要写入数据的开始地址和结束地址,其中,Xaddr为Flash的X方向地址(即word line address,行地址),Yaddr为Flash的Y方向地址(即bit line address,列地址);自加减标志Xadd和Yadd确定了在写入数据值时,对写入数据地址的自加减运算规则,其中Xadd对应X方向的写入数据地址Xaddr,Yadd对应Y方向的写入数据地址Yaddr;数据值data确定了需要写入的数据。当接收到Flash的数据写入指令时,通过获取上述内容即可确定数据写入的具体方式。
需要说明的是,数据写入指令包括向NVR区或Main区写入数据值的指令,也就是说,本发明实施例的数据写入指令可覆盖对Flash的各种数据写入指令类型,适用性较高。
S22,从写入数据开始地址开始,将数据值写入快速存储器,并根据写入自加减标志调整写入数据地址,直至写入数据地址达到写入数据结束地址,以向快速存储器写入测试背景数据。
具体地,在获取数据写入指令中的写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end、写入自加减标志Xadd和Yadd以及数据值data后,可从写入数据开始地址开始,将对应的数据值写入NVR区或Main区,随后根据写入自加减标志依次调整写入数据地址,并写入对应的数据值,直至写入数据地址调整到写入数据结束地址,由此实现了以单条数据写入指令向NVR区或Main区写入多个数据值,即测试背景数据,相比于相关技术,本发明实施例的数据写入方式减少了数据写入指令的数量,且大幅减少了串行输入的地址和数据,从而有效降低了测试时间及测试成本。
在一些实施例中,写入自加减标志包括第一标志和第二标志,第一标志用于指示写入数据地址的增加或减少,第二标志位用于指示写入数据地址的增加量或减少量。
具体地,第一标志和第二标志用于确认在处理数据写入指令时,写入数据地址的自加减运算规则。以X方向的写入自加减标志Xadd为例,该标志可包括第一标志Xpm和第二标志Xadd_da,这两个标志均可以用1位二进制数表示。其中,第一标志Xpm用于指示写入数据地址Xaddr的增加或减少,例如,当第一标志Xpm为二进制数1时,实现写入数据地址Xaddr的增加,当第一标志Xpm为二进制数0时,实现写入数据地址Xaddr的减少;第二标志Xadd_da用于指示写入数据地址Xaddr的增加量或减少量,例如,当第二标志Xadd_da为二进制数1时,表示写入数据地址Xaddr的增加量或减少量为1位,当第二标志Xadd_da为二进制数0时,表示写入数据地址Xaddr的增加量或减少量为0。当确定了写入自加减标志Xadd的这两个标志时,即可确定写入数据地址Xaddr的自加减运算规则,例如,当第一标志Xpm=1且第二标志Xdd_da=1时,表示写入数据地址Xaddr执行自加1操作;当第一标志Xpm=0且第二标志Xdd_da=1时,表示写入数据地址Xaddr执行自减1操作;当第一标志Xpm=0且第二标志Xdd_da=0时,表示写入数据地址Xaddr保持不变,仅当写入数据地址Yaddr自加操作溢出时产生一次自加1操作,或者当Yaddr自减操作溢出时产生一次自减1操作。
需要说明的是,Y方向的写入自加减标志Yadd与X方向的写入自加减标志Xadd的构成及自加减规则类似,区别仅在于:当第一标志Ypm=0且第二标志Yadd_da=0时,写入数据地址Yaddr一直保持不变,其余规则在此不作赘述。
由此,通过将写入自加减标志分为第一标志和第二标志,并预先设置第一标志和第二标志对应的自加减运算规则内容,即可将写入数据地址的自加减运算规则以简单的方式表示清楚,从而降低数据写入指令的复杂度,进而降低快速存储器的测试成本。
在一些实施例中,写入数据开始地址、写入数据结束地址和写入自加减标志均包括至少一个,且写入数据开始地址、写入数据结束地址和写入自加减标志一一对应。也就是说,在写入数据时,可一次进行多个双字写入,也可以进行多个单字写入。当为多个双字写入时,如前述数据写入指令包括写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end、写入自加减标志Xadd和Yadd,且写入数据开始地址Xaddr_st、写入数据结束地址Xaddr_end、写入自加减标志Xadd呈对应关系,同时写入数据开始地址Yaddr_st、写入数据结束地址Yaddr_end、写入自加减标志Yadd呈对应关系。当为多个单字写入时,数据写入指令可包括写入数据开始地址Xaddr_st、写入数据结束地址Xaddr_end、写入自加减标志Xadd。具体采用何种写入方式,这里不做限制。
需要说明的是,前述的向NVR区或Main区写入多个数据值,即测试背景数据包括:全0数据、全1数据、棋盘格数据、反棋盘格数据、对角线数据、向任意地址范围写入相同数据和向任意地址写入任意数据中的至少一种。
具体地,可以根据Flash的写入测试需求来选择测试背景数据,如全0数据、全1数据、棋盘格数据、反棋盘格数据、对角线数据、向任意地址范围写入相同数据以及向任意地址写入任意数据等。由于本发明实施例的数据写入方式可以实现以单条数据写入指令向NVR区或Main区写入多个数据值,而且具有地址自加减功能,因而可以实现向NVR区或Main区写入不同类型的测试背景数据,且具有较高的效率,从而有效降低测试时间及测试成本。
下面以测试背景数据为棋盘格数据来说明本发明实施例的数据写入方式。由于棋盘格数据需在NVR区或Main区间隔输入二进制数0和1,故可通过多条数据写入指令实现。假设NVR区为32位,则数据写入指令的第一段可包括下述条件量(1):
Write Cmd,Xaddr_st和Yaddr_st,Xaddr_end和Yaddr_end,Xadd和Yadd(Xpm=0,Xadd_da=0,Ypm=1,Yadd_da=1),data=55555555h (1)
其中,由写入自加减标志Xadd和Yadd可知,数据写入指令的第一段的自加减运算规则为,X方向的写入数据地址Xaddr保持不变,直至Y方向的写入数据地址Yaddr溢出或到达X方向的写入数据结束地址Xaddr_end,Y方向的写入数据地址Yaddr从Y方向写入数据开始地址Yaddr_st开始执行自加1操作,直至Y方向写入数据结束地址Yaddr_end;数据值data为16进制数的55555555,转换为二进制数为31位的二进制数1010101010101010101010101010101。当接收到条件量(1)时,可根据写入数据开始地址和写入数据结束地址,按照写入自加减标志确定的自加减运算规则来自动写入数据值,从而完成第一排的棋盘格数据写入。
数据写入指令的第二段可包括下述条件量(2):
Write Cmd,Xaddr_st(+1)和Yaddr_st,Xaddr_end和Yaddr_end,Xadd和Yadd(Xpm=0,Xadd_da=0,Ypm=1,Yadd_da=1),data=AAAAAAAAh (2)
其中,X方向的写入数据开始地址Xaddr_st相比数据写入指令的第一段增加1位,表示数据写入指令的第二段执行下一排的棋盘格数据写入,数据写入指令的第二段的自加减运算规则与数据写入指令的第一段相同,在此不作赘述。数据值为16进制数的AAAAAAAA,转换为二进制数为32位的二进制数10101010101010101010101010101010,当接收到上述条件量(2)时,可根据写入数据开始地址和写入数据结束地址,按照写入自加减标志确定的自加减运算规则来自动写入数据值,从而完成第二排的棋盘格数据写入。
数据写入指令的第三段与第一段类似,数据写入指令的第四段与第二段类似,区别仅在于X方向的数据写入开始地址Xaddr_st的增加,后续数据写入指令内容依此类推,以交替写入16进制数55555555和AAAAAAAA,在此不作赘述。由此,通过数据写入指令分段写入不同数据值,实现了在Flash的NVR区或Main区中写入棋盘格数据。对于其它类型的测试背景数据,这里不再一一详述。
上述实施例中,通过获取数据写入指令中的写入数据开始地址和写入数据结束地址、写入自加减标志及数据值,从写入数据开始地址开始,按照写入自加减标志确定的自加减运算规则,写入对应的数据值,直至写入数据结束地址,实现了以单条数据写入指令向目标地址写入多个数据值,相比于相关技术的逐双字写入,本发明实施例的数据写入方式减少了输入的地址及数据值等数据,从而大幅减少了串行输入的数据量,有效降低了测试时间及测试成本;同时,通过本发明实施例的数据写入指令,可以覆盖Flash的多种测试背景数据写入要求,实现测试背景数据的全覆盖,适用性较高。
在又一些实施例中,参考图7所示,快速存储器的测试方法还包括:
S31,在接收到快速存储器的数据读出指令的情况下,获取数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志。
具体地,在进行读测试时,一般采用图8所示的读出时序,通过测试输出端口tdata_out从NVR区或Main区读出大量的测试数据,具体是通过测试输入端口tdata_in串行输入读指令Read Cmd、读出地址XaddrX和YaddrX,以从测试输出端口tdata_out串行输出数据值DataX,以完成一个双字的读出。由于该方式仅能实现双字读出,而每次双字读出时均需要通过测试输入端口tdata_in串行输入读指令Read Cmd、读出地址XaddrX和YaddrX。由于Flash测试过程中,全片读操作次数相比写操作更多,全片读操作大约是全片写操作的2倍以上,因此上述的数据读出方式会导致测试时间较长,测试成本较高。
而在本发明的实施例中,可以通过单条数据读出指令一次性读出多个数据值。参考图9所示,Flash的数据读出指令包括:读指令Read Cmd、读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end、读出自加减标志Xadd和Yadd。其中,读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end确定了需要读出数据的开始地址和结束地址,其中,X和Y分别对应Flash中的X方向和Y方向;自加减标志Xadd和Yadd确定了在读出数据值时,对读出数据地址的自加减运算规则,其中Xadd对应X方向的读出数据地址Xaddr,Yadd对应Y方向的读出数据地址Yaddr。当接收到Flash的数据读出指令时,通过获取上述内容即可确定数据读出的具体方式。
需要说明的是,数据读出指令包括从NVR区或Main区读出数据值的指令,也就是说,本发明实施例的数据读出指令可覆盖对Flash的各种数据读出指令类型,适用性较高。另外,本发明实施例中的读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end、读出自加减标志Xadd和Yadd与前述实施例中的写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end、写入自加减标志Xadd和Yadd对应的内容是一致的,即数据写入指令和数据读出指令是针对同一区域的地址进行数据处理的,区别仅在于对数据处理方式的不同。
S32,从读出数据开始地址开始,从快速存储器读出数据值,并根据读出自加减标志调整读出数据地址,直至读出数据地址达到读出数据结束地址。
具体地,在获取数据读出指令中的读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end、读出自加减标志Xadd和Yadd后,可从读出数据开始地址开始,从NVR区或Main区的对应地址读出存储的数据值,随后按照读出自加减标志Xadd和Yadd调整读出数据地址,以确定下一个读出数据地址并读出存储的数据值,以此类推,直至读出数据地址达到读出数据结束地址。
由此,实现了以单条数据读出指令从目标地址范围读出多个数据值,相比于相关技术,本发明实施例的数据读出方式减少了输入地址、读指令数量等数据,从而大幅减少了串行输入的数据量,有效降低了测试时间及测试成本。
在一些实施例中,读出自加减标志包括第三标志和第四标志,第三标志用于指示读出数据地址的增加或减少,第四标志用于指示读出数据地址的增加量或减少量。
具体地,第三标志的构成及原理与第一标志相似,第四标志的构成及原理与第二标志相似,区别仅在于第三标志和第四标志是用于确认在处理数据读出指令时,读出数据地址的自加减运算规则,具体原理在此不作赘述。通过第三标志和第四标志可以用较为简单的方式表示读出数据地址的自加减运算规则,从而降低数据读出指令的复杂度,进而降低快速存储器的测试成本。
进一步的,读出数据开始地址、读出数据结束地址和读出自加减标志均包括至少一个,且读出数据开始地址、读出数据结束地址和读出自加减标志一一对应。也就是说,在读出数据时,可一次进行多个双字读出,也可以进行多个单字读出。当为多个双字读出时,如前述数据读出指令包括读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end、读出自加减标志Xadd和Yadd,且读出数据开始地址Xaddr_st、读出数据结束地址Xaddr_end、读出自加减标志Xadd呈对应关系,同时读出数据开始地址Yaddr_st、读出数据结束地址Yaddr_end、读出自加减标志Yadd呈对应关系。当为多个单字读出时,数据读出指令包括读出数据开始地址Xaddr_st、读出数据结束地址Xaddr_end、读出自加减标志Xadd。具体采用何种写入方式,这里不做限制。
上述实施例中,通过获取数据读出指令的读出数据开始地址和读出数据结束地址、读出自加减标志,从读出数据开始地址开始,按照读出自加减标志确定的自加减运算规则,读出存储的数据值,直至读出数据结束地址,实现了以单条数据读出指令读出多个数据值,相比于相关技术的逐双字读出,本发明实施例的数据读出方式大幅减少了串行输入的数据量,从而有效降低了测试时间和测试成本。
在一些实施例中,在从快速存储器读出数据值后,方法还包括:将数据值与目标数据值进行比对;在数据值与目标数据值相同的情况下,输出读出测试通过信息;在数据值与目标数据值不同的情况下,输出读出测试不通过信息,并输出数据值、数据值对应的读出数据地址和目标数据值。
具体地,参考图9所示,数据读出指令中还包括目标数据值Expect data,该目标数据值是由先前的写入数据确定的,表示在Flash处于正常状态时应当输出的数据值,故在从NVR区或Main区中读出数据值后,将其与目标数据值Expect data进行读比对,判断两者是否相同,并输出读比对结果。其中,如果两者相同,表示读比对测试通过,则从测试输出端口tdata_out串行输出测试通过信息,例如,可使Read Pass Flag=C3h,表示Flash的当前读比对测试通过;如果两者不相同,表示读比对测试未通过,则从测试输出端口tdata_out串行输出测试不通过信息,例如,可使Read Fail Flag=2Bh,表示Flash的当前读比对测试未通过。从而,不仅完成了读比对测试,而且无需从测试输出端口tdata_out串行输出读出的数据值,由外部设备进行读比对测试,减少了串行输出的数据量。
进一步的,参考图10所示,在读比对测试未通过时,还可以通过测试输出端口tdata_out串行输出存在差异的数据值NG data,对应的读出数据地址Xaddr_NG和Yaddr_NG、以及对应的目标数据值Expect data,以便于对Flash的测试未通过结果进行评估分析。
上述实施例中,通过对读出的数据值和目标数据值进行比较后输出比较结果,以确定测试是否通过,从而不需要从测试输出端口串行输出数据值即可完成读对比测试,大幅减少了串行输出的数据量,进一步降低了测试时间和测试成本;并且,在测试不通过时,输出测试不通过部分的数据值及对应地址,以便对快速存储器的测试未通过结果进行评估分析,从而能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
综上所述,根据本发明实施例的快速存储器的测试装置,首先通过以预设规则将快速存储器的校准参数处理得到校准值并将校准值写入非易失性寄存器存储阵列中,并在快速存储器上电复位并读出校准值时,根据预设规则对校准值进行校验,当确定校准参数正确时,将校准参数存储至校准寄存器供后续测试使用;当确定参数错误时,将快速存储器的初始校准参数存储至校准寄存器,同时输出校准参数故障信息,以便进行故障处理,从而实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错的问题,有效提高了快速存储器的整体可靠性和便捷性;其次通过单条数据写入指令写入多个数据值,以及通过单条数据读出指令读出多个数据值,能够在覆盖快速存储器的各种数据写入和数据输出场景的同时,大幅减少了串行输入的数据值,从而有效降低了测试时间和测试成本;随后,通过设置数据读出比对电路,在电路中对读出的数据值和目标数据值进行比较并输出比较结果,从而不需要从测试输出端口串行输出数据值即可完成读对比测试,大幅减少了串行输出的数据量,进一步降低了测试时间和测试成本;最后,通过在数据读出比对电路比较后且结果为不同时,输出比较不同部分的数据值及地址等信息,以便对快速存储器的测试未通过结果进行评估分析,从而能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
在一些实施例中,还提供了一种计算机可读存储介质,其上存储有快速存储器的测试程序,该快速存储器的测试程序被处理器执行时实现前述的快速存储器的测试方法。
根据本发明实施例的计算机可读存储介质,通过前述的快速存储器的测试方法,既能够避免因非易失性寄存器存储阵列的可靠性问题导致校准参数出错的问题,有效提高了快速存储器的整体可靠性和便捷性;又能够大幅减少串行输入和串行输出的数据量,有效降低测试时间和测试成本;还能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
在一些实施例中,还提供了一种芯片。
参考图11所示,该芯片100包括:存储器110和处理器120及存储在存储器110上并可在处理器120上运行的快速存储器的测试程序,处理器120执行程序时,实现前述的快速存储器的测试方法。
根据本发明实施例的芯片,通过处理器执行程序实现前述的快速存储区的测试方法,既能够避免因非易失性寄存器存储阵列的可靠性问题导致校准参数出错的问题,有效提高了快速存储器的整体可靠性和便捷性;又能够大幅减少串行输入和串行输出的数据量,有效降低测试时间和测试成本;还能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
在一些实施例中,还提供了一种快速存储器的测试装置,其中,快速存储器包括非易失性寄存器存储阵列。
图12为根据本发明实施例的快速存储器的测试装置的结构示意图,参考图12所示,该装置200包括:译码单元210、读写控制单元220和校验单元230,其中,译码单元210用于按照预设规则对快速存储器的校准参数进行处理得到校准值,其中,校准参数是对快速存储器进行校准获得的;读写控制单元220用于将校准值写入非易失性寄存器存储阵列;校验单元230用于在快速存储器上电复位时从非易失性寄存器存储阵列中读出校准值,并根据预设规则对校准值进行校验以识别校准参数是否正确。
根据本发明的一个实施例,译码单元210具体用于:将校准参数转换为二进制数;对二进制数进行正反值处理得到校准值。
根据本发明的一个实施例,译码单元210具体用于:将二进制数中的1转换为10,并将二进制数中的0转换为01;或者,将二进制数中的1转换为01,并将二进制数中的0转换为10。
根据本发明的一个实施例,校验单元230具体用于:在多个组数据中的每个组数据均为01或10的情况下,确定校准参数正确,其中,多个组数据是从校准值的起始位开始每连续两个数据位作为一组得到的;在多个组数据中存在任意组数据为00或11的情况下,确定校准参数错误。
根据本发明的一个实施例,校验单元230还用于:在校准参数正确的情况下,根据预设规则对校准值进行处理得到校准参数,并将校准参数存储至校准寄存器;在校准参数错误的情况下,获取快速存储器的初始校准参数,并将初始校准参数存储至校准寄存器,以及输出校准参数故障信息。
根据本发明的一个实施例,参考图13所示,装置200还包括:地址处理单元240;译码单元210还用于在接收到快速存储器的数据写入指令的情况下,获取数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值;读写控制单元220还用于从写入数据开始地址开始,将数据值写入快速存储器,并通过地址处理单元240根据写入自加减标志调整写入数据地址,直至写入数据地址达到写入数据结束地址。
根据本发明的一个实施例,写入自加减标志包括第一标志和第二标志,第一标志用于指示写入数据地址的增加或减少,第二标志位用于指示写入数据地址的增加量或减少量。
根据本发明的一个实施例,写入数据开始地址、写入数据结束地址和写入自加减标志均包括至少一个,且写入数据开始地址、写入数据结束地址和写入自加减标志一一对应。
根据本发明的一个实施例,译码单元210还用于在接收到快速存储器的数据读出指令的情况下,获取数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志;读写控制单元220还用于从读出数据开始地址开始,从快速存储器读出数据值,并通过地址处理单元240根据读出自加减标志调整读出数据地址,直至读出数据地址达到读出数据结束地址。
根据本发明的一个实施例,读出自加减标志包括第三标志和第四标志,第三标志用于指示读出数据地址的增加或减少,第四标志用于指示读出数据地址的增加量或减少量。
根据本发明的一个实施例,读出数据开始地址、读出数据结束地址和读出自加减标志均包括至少一个,且读出数据开始地址、读出数据结束地址和读出自加减标志一一对应。
根据本发明的一个实施例,参考图13所示,装置还包括:比对单元250,比对单元250用于将从快速存储器读出的数据值与目标数据值进行比对,并在数据值与目标数据值相同的情况下,输出读出测试通过信息至译码单元210,以及在数据值与目标数据值不同的情况下,输出读出测试不通过信息以及数据值、数据值对应的读出数据地址和目标数据值至译码单元210。
根据本发明的一个实施例,参考图1所示,快速存储器Flash还包括主存储阵列,数据写入指令包括向非易失性寄存器存储阵列或主存储阵列写入数据值的指令,数据读出指令包括从非易失性寄存器存储阵列或主存储阵列读出数据值的指令。
下面结合图13,说明在对快速存储器的测试流程中测试装置200的工作方式。
参考图13所示,在通过校准电路对Flash进行校准后,可将获得的BG、VR、OSC等重要校准参数通过译码单元210处理得到校准值,并将校准值写入Flash的NVR区;然后通过上电校准数据读出电路控制Flash重新上电,重新上电后可通过校验单元230对校准值进行校验,并输出NVR正反值Pass Flag作为校验结果标志;当确定校准值正确时,通过校验单元230将校准值还原为校准参数,同时向校准寄存器发送校准使能信号,将还原的校准参数存储至校准寄存器通以供后续测试使用;当确定校准值错误时,通过校验单元230读取Flash的初始校准参数,向校准寄存器发送校准使能信号,将初始校准参数存储至校准寄存器,同时输出NVR Error中断信号表示校准参数出现故障,以便进行故障处理,从而实现了对校准参数的校验功能。
在需要向Flash中写入数据时,例如在将校准参数写入Flash的NVR区时或者在对Flash进行擦读写测试时,可通过译码单元210获取数据写入指令中的写入数据开始地址Xaddr_st和Yaddr_st、写入数据结束地址Xaddr_end和Yaddr_end、写入自加减标志Xadd和Yadd和数据值data;然后通过地址处理单元240进行自加减运算确定写入数据地址Xaddr和Yaddr以及对应的数据值data,自加减运算可通过硬件方式实现,例如,可通过Xaddr自加/自减电路实现X方向的数据写入地址Xaddr的自加减运算,可通过Yaddr自加/自减电路实现Y方向的数据写入地址Xaddr的自加减运算,通过数据锁存电路确定对应的数据值data;随后通过读写控制单元220按照地址处理单元240的自加减运算结果写入对应数据值data,从而实现以单条指令写入多个数据值,
在需要从Flash中读取数据时,如对Flash的NVR区或Main区进行擦、读、写测试时,可通过译码单元210获取数据读出指令中的读出数据开始地址Xaddr_st和Yaddr_st、读出数据结束地址Xaddr_end和Yaddr_end、读出自加减标志Xadd和Yadd;然后通过地址处理单元240进行自加减运算确定待读出数据地址Xaddr和Yaddr;再通过读写控制单元220按照地址处理单元240的自加减运算结果从Flash中读出对应地址的数据值data,从而实现以单条指令读出多个数据值。
在读出数据后且需要对读出数据进行读对比测试时,可将从Flash中读出的数据值data和数据读出指令中的包含的目标数据值Expect data输入比对单元250,通过比对单元250对这两者进行比对以进行读对比测试,并输出数据自比对Pass Flag作为读对比测试通过标志,在读对比测试未通过时,还通过比对单元250输出错误诊断数据,包括存在差异的数据值NG data,对应的读出数据地址Xaddr_NG和Yaddr_NG、以及对应的目标数据值Expect data,从而实现在比对单元中完成读对比测试。
可选的,比对单元250可同时保存16个双字的错误诊断数据,并在测试完成后自动串行输出打印到测试log,以供对比对结果错误进行分析参考使用,从而提高测试方法的便捷性。
需要说明的是,关于本申请中快速存储器的测试装置的描述,请参考本申请中关于快速存储器的测试方法的描述,具体这里不再赘述。
根据本发明实施例的快速存储器的测试装置,首先通过译码单元以预设规则将快速存储器的校准参数处理得到校准值并通过读写控制单元将校准值写入非易失性寄存器存储阵列中,并在快速存储器上电复位并读出校准值时,通过校验单元根据预设规则对校准值进行校验,当确定校准参数正确时,将校准参数存储至校准寄存器供后续测试使用;当确定参数错误时,通过校验单元将快速存储器的初始校准参数存储至校准寄存器,同时输出校准参数故障信息,以便进行故障处理,从而实现了对校准参数的校验功能,避免了因非易失性寄存器存储阵列的可靠性问题导致校准参数出错的问题,有效提高了快速存储器的整体可靠性和便捷性;其次通过译码单元和地址处理单元实现以单条数据写入指令写入多个数据值,以及以单条数据读出指令读出多个数据值,能够在覆盖快速存储器的各种数据写入和数据输出场景的同时,大幅减少了串行输入的数据值,从而有效降低了测试时间和测试成本;随后,通过比对单元在电路中对读出的数据值和目标数据值进行比较并输出比较结果,从而不需要从测试输出端口串行输出数据值即可完成读对比测试,大幅减少了串行输出的数据量,进一步降低了测试时间和测试成本;最后,通过在数据读出比对电路比较后且结果为不同时,通过比对单元输出比较不同部分的数据值及地址等信息至译码单元,以便对快速存储器的测试未通过结果进行评估分析,从而能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
在一些实施例中,还提供一种另一种芯片1000,
参考图14所示,该芯片1000包括前述的快速存储器的测试装置200。
根据本发明实施例的芯片,通过前述的快速存储器的测试装置,既能够避免因非易失性寄存器存储阵列的可靠性问题导致校准参数出错的问题,有效提高了快速存储器的整体可靠性和便捷性;又能够大幅减少串行输入和串行输出的数据量,有效降低测试时间和测试成本;还能够大幅提高测试结果的分析效率,快速推进芯片量产化进程。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (26)

1.一种快速存储器的测试方法,其特征在于,所述快速存储器包括非易失性寄存器存储阵列和主存储阵列,所述方法包括:
对所述非易失性寄存器存储阵列进行擦、写、读测试;
对所述快速存储器进行校准得到校准参数;
按照预设规则对所述快速存储器的校准参数进行处理得到校准值;
将所述校准值写入所述非易失性寄存器存储阵列,以在所述快速存储器上电复位时从所述非易失性寄存器存储阵列中读出所述校准值,并根据所述预设规则对所述校准值进行校验以识别所述校准参数是否正确;
在所述校准参数正确的情况下,根据所述预设规则对所述校准值进行处理得到所述校准参数,并将所述校准参数存储至校准寄存器;
对所述主存储阵列进行擦、写、读测试;
其中,在进行写测试时,所述方法还包括:
在接收到所述快速存储器的数据写入指令的情况下,获取所述数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值;其中,所述写入自加减标志包括第一标志和第二标志,所述第一标志用于指示所述写入数据地址的增加或减少,所述第二标志位用于指示所述写入数据地址的增加量或减少量;
从所述写入数据开始地址开始,将所述数据值写入所述快速存储器,并根据所述写入自加减标志调整写入数据地址,直至所述写入数据地址达到所述写入数据结束地址,以向所述快速存储器写入测试背景数据。
2.根据权利要求1所述的快速存储器的测试方法,其特征在于,所述按照预设规则对所述快速存储器的校准参数进行处理得到校准值,包括:
将所述校准参数转换为二进制数;
对所述二进制数进行正反值处理得到所述校准值。
3.根据权利要求2所述的快速存储器的测试方法,其特征在于,所述对所述二进制数进行正反值处理得到所述校准值,包括:
将所述二进制数中的1转换为10,并将所述二进制数中的0转换为01;或者,
将所述二进制数中的1转换为01,并将所述二进制数中的0转换为10。
4.根据权利要求3所述的快速存储器的测试方法,其特征在于,所述根据所述预设规则对所述校准值进行校验以识别所述校准参数是否正确,包括:
在多个组数据中的每个组数据均为01或10的情况下,确定所述校准参数正确,其中,所述多个组数据是从所述校准值的起始位开始每连续两个数据位作为一组得到的;
在所述多个组数据中存在任意组数据为00或11的情况下,确定所述校准参数错误。
5.根据权利要求1所述的快速存储器的测试方法,其特征在于,所述方法还包括:
在所述校准参数错误的情况下,获取所述快速存储器的初始校准参数,并将所述初始校准参数存储至所述校准寄存器,以及输出校准参数故障信息。
6.根据权利要求1所述的快速存储器的测试方法,其特征在于,所述写入数据开始地址、所述写入数据结束地址和所述写入自加减标志均包括至少一个,且所述写入数据开始地址、所述写入数据结束地址和所述写入自加减标志一一对应。
7.根据权利要求1所述的快速存储器的测试方法,其特征在于,所述测试背景数据包括全0数据、全1数据、棋盘格数据、反棋盘格数据、对角线数据、向任意地址范围写入相同数据和向任意地址写入任意数据中的至少一种。
8.根据权利要求1所述的快速存储器的测试方法,其特征在于,所述方法还包括:
在接收到所述快速存储器的数据读出指令的情况下,获取所述数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志;
从所述读出数据开始地址开始,从所述快速存储器读出数据值,并根据所述读出自加减标志调整读出数据地址,直至所述读出数据地址达到所述读出数据结束地址。
9.根据权利要求8所述的快速存储器的测试方法,其特征在于,所述读出自加减标志包括第三标志和第四标志,所述第三标志用于指示所述读出数据地址的增加或减少,所述第四标志用于指示所述读出数据地址的增加量或减少量。
10.根据权利要求8所述的快速存储器的测试方法,其特征在于,所述读出数据开始地址、所述读出数据结束地址和所述读出自加减标志均包括至少一个,且所述读出数据开始地址、所述读出数据结束地址和所述读出自加减标志一一对应。
11.根据权利要求8所述的快速存储器的测试方法,其特征在于,在从所述快速存储器读出数据值后,所述方法还包括:
将所述数据值与目标数据值进行比对;
在所述数据值与所述目标数据值相同的情况下,输出读出测试通过信息;
在所述数据值与所述目标数据值不同的情况下,输出读出测试不通过信息,并输出所述数据值、所述数据值对应的读出数据地址和所述目标数据值。
12.根据权利要求6-11任一项所述的快速存储器的测试方法,其特征在于,所述快速存储器还包括主存储阵列,数据写入指令包括向所述非易失性寄存器存储阵列或所述主存储阵列写入数据值的指令,数据读出指令包括从所述非易失性寄存器存储阵列或所述主存储阵列读出数据值的指令。
13.一种计算机可读存储介质,其特征在于,其上存储有快速存储器的测试程序,该快速存储器的测试程序被处理器执行时实现权利要求1-12任一项所述的快速存储器的测试方法。
14.一种芯片,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的快速存储器的测试程序,所述处理器执行所述程序时,实现权利要求1-12任一项所述的快速存储器的测试方法。
15.一种快速存储器的测试装置,其特征在于,所述快速存储器包括非易失性寄存器存储阵列和主存储阵列,所述装置包括:地址处理单元、译码单元、读写控制单元和校验单元,其中,
在对所述非易失性寄存器存储阵列进行擦、写、读测试时,所述译码单元用于在接收到所述快速存储器的数据写入指令的情况下,获取所述数据写入指令中的写入数据开始地址、写入数据结束地址、写入自加减标志和数据值;其中,所述写入自加减标志包括第一标志和第二标志,所述第一标志用于指示所述写入数据地址的增加或减少,所述第二标志位用于指示所述写入数据地址的增加量或减少量;
所述读写控制单元用于从所述写入数据开始地址开始,将所述数据值写入所述快速存储器,并通过所述地址处理单元根据所述写入自加减标志调整写入数据地址,直至所述写入数据地址达到所述写入数据结束地址;
在对所述快速存储器进行校准测试得到校准参数后,所述译码单元还用于按照预设规则对所述快速存储器的校准参数进行处理得到校准值;
所述读写控制单元还用于将所述校准值写入所述非易失性寄存器存储阵列;
所述校验单元用于在所述快速存储器上电复位时从所述非易失性寄存器存储阵列中读出所述校准值,并根据所述预设规则对所述校准值进行校验以识别所述校准参数是否正确;
所述校验单元还用于:在所述校准参数正确的情况下,根据所述预设规则对所述校准值进行处理得到所述校准参数,并将所述校准参数存储至校准寄存器。
16.根据权利要求15所述的快速存储器的测试装置,其特征在于,所述译码单元具体用于:
将所述校准参数转换为二进制数;
对所述二进制数进行正反值处理得到所述校准值。
17.根据权利要求16所述的快速存储器的测试装置,其特征在于,所述译码单元具体用于:
将所述二进制数中的1转换为10,并将所述二进制数中的0转换为01;或者,
将所述二进制数中的1转换为01,并将所述二进制数中的0转换为10。
18.根据权利要求17所述的快速存储器的测试装置,其特征在于,所述校验单元具体用于:
在多个组数据中的每个组数据均为01或10的情况下,确定所述校准参数正确,其中,所述多个组数据是从所述校准值的起始位开始每连续两个数据位作为一组得到的;
在所述多个组数据中存在任意组数据为00或11的情况下,确定所述校准参数错误。
19.根据权利要求15所述的快速存储器的测试装置,其特征在于,所述校验单元还用于:
在所述校准参数错误的情况下,获取所述快速存储器的初始校准参数,并将所述初始校准参数存储至所述校准寄存器,以及输出校准参数故障信息。
20.根据权利要求15所述的快速存储器的测试装置,其特征在于,所述写入数据开始地址、所述写入数据结束地址和所述写入自加减标志均包括至少一个,且所述写入数据开始地址、所述写入数据结束地址和所述写入自加减标志一一对应。
21.根据权利要求15所述的快速存储器的测试装置,其特征在于,
所述译码单元还用于在接收到所述快速存储器的数据读出指令的情况下,获取所述数据读出指令中的读出数据开始地址、读出数据结束地址和读出自加减标志;
所述读写控制单元还用于从所述读出数据开始地址开始,从所述快速存储器读出数据值,并通过所述地址处理单元根据所述读出自加减标志调整读出数据地址,直至所述读出数据地址达到所述读出数据结束地址。
22.根据权利要求21所述的快速存储器的测试装置,其特征在于,所述读出自加减标志包括第三标志和第四标志,所述第三标志用于指示所述读出数据地址的增加或减少,所述第四标志用于指示所述读出数据地址的增加量或减少量。
23.根据权利要求22所述的快速存储器的测试装置,其特征在于,所述读出数据开始地址、所述读出数据结束地址和所述读出自加减标志均包括至少一个,且所述读出数据开始地址、所述读出数据结束地址和所述读出自加减标志一一对应。
24.根据权利要求22所述的快速存储器的测试装置,其特征在于,所述装置还包括:
比对单元,用于将从所述快速存储器读出的数据值与目标数据值进行比对,并在所述数据值与所述目标数据值相同的情况下,输出读出测试通过信息至所述译码单元,以及在所述数据值与所述目标数据值不同的情况下,输出读出测试不通过信息以及所述数据值、所述数据值对应的读出数据地址和所述目标数据值至所述译码单元。
25.根据权利要求20-24任一项所述的快速存储器的测试装置,其特征在于,所述快速存储器还包括主存储阵列,数据写入指令包括向所述非易失性寄存器存储阵列或所述主存储阵列写入数据值的指令,数据读出指令包括从所述非易失性寄存器存储阵列或所述主存储阵列读出数据值的指令。
26.一种芯片,其特征在于,包括权利要求15-25任一项所述的快速存储器的测试装置。
CN202211442462.XA 2022-11-18 2022-11-18 快速存储器的测试方法及测试装置、存储介质、芯片 Active CN115620794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211442462.XA CN115620794B (zh) 2022-11-18 2022-11-18 快速存储器的测试方法及测试装置、存储介质、芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211442462.XA CN115620794B (zh) 2022-11-18 2022-11-18 快速存储器的测试方法及测试装置、存储介质、芯片

Publications (2)

Publication Number Publication Date
CN115620794A CN115620794A (zh) 2023-01-17
CN115620794B true CN115620794B (zh) 2023-03-21

Family

ID=84878737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211442462.XA Active CN115620794B (zh) 2022-11-18 2022-11-18 快速存储器的测试方法及测试装置、存储介质、芯片

Country Status (1)

Country Link
CN (1) CN115620794B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118506847B (zh) * 2024-07-15 2024-10-15 深圳宏芯宇电子股份有限公司 存储器存储装置的检测方法及非瞬时计算机可读取记录媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202591B2 (en) * 2013-05-10 2015-12-01 Omnivision Technologies, Inc. On-line memory testing systems and methods
CN105070321B (zh) * 2015-08-18 2019-03-08 珠海市一微半导体有限公司 存储器件的快速测试电路及方法
CN107797881A (zh) * 2017-12-06 2018-03-13 郑州云海信息技术有限公司 一种数据一致性测试方法、装置、设备及存储介质
CN114333965B (zh) * 2020-09-30 2023-09-08 长鑫存储技术有限公司 存储器和存储器的测试方法
CN114446374A (zh) * 2021-12-27 2022-05-06 深圳市晶存科技有限公司 一种动态随机存储器的测试方法及存储介质
CN114530188A (zh) * 2022-01-13 2022-05-24 长江存储科技有限责任公司 一种半导体测试方法、系统及存储介质
CN114999559B (zh) * 2022-08-03 2022-11-29 合肥康芯威存储技术有限公司 一种存储芯片的测试方法、系统及存储介质

Also Published As

Publication number Publication date
CN115620794A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US8910020B2 (en) Intelligent bit recovery for flash memory
US8867289B2 (en) Chip with embedded non-volatile memory and testing method therefor
US10976367B2 (en) Controller structural testing with automated test vectors
CN114974390B (zh) Ram阵列的自检及初始化电路、芯片
CN115620794B (zh) 快速存储器的测试方法及测试装置、存储介质、芯片
US8908436B2 (en) Method and device for storing and reading reliable information in a NAND array
CN114664369A (zh) 一种存储芯片测试方法及装置
JP2005332436A (ja) 半導体装置及びそのテスト方法
CN111045600B (zh) 向存储器写入数据的方法、装置及存储介质
JP7329568B2 (ja) チップおよびその設計方法と故障解析方法と故障解析システム
CN112397136B (zh) 一种半导体存储器测试软件的参数测试方法和装置
JP6594712B2 (ja) 半導体メモリ及び半導体メモリのベリファイ方法
US20160335157A1 (en) Semiconductor memory system and data writing method
KR102680970B1 (ko) Ecc 회로를 포함하는 반도체 메모리 장치 및 이를 이용한 테스트 방법
JP7425839B2 (ja) フェイルセーフic製造テスト
KR102680953B1 (ko) Ecc 회로를 포함하는 반도체 메모리 장치 및 이를 이용한 테스트 방법
KR102680956B1 (ko) Ecc 회로를 포함하는 반도체 메모리 장치 및 이를 이용한 테스트 방법
CN113407372B (zh) 一种独立于操作系统的计算机系统内存检测方法及系统
CN114649049A (zh) Cam单元检查模块及其检查方法
CN118116449A (zh) 芯片测试方法、装置、系统和计算机可读存储介质
JPH02148500A (ja) Icカードにおけるデータ書き換え能力診断方式
CN117909130A (zh) 判定Flash扇区数据写入异常的方法、装置、存储介质和终端设备
CN115376601A (zh) 检测闪存模块的方法及相关的系统芯片
CN117095726A (zh) 一种存储介质读取出错的处理方法及装置

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