CN115602242B - 一种存储装置及其测试方法 - Google Patents
一种存储装置及其测试方法 Download PDFInfo
- Publication number
- CN115602242B CN115602242B CN202211587534.XA CN202211587534A CN115602242B CN 115602242 B CN115602242 B CN 115602242B CN 202211587534 A CN202211587534 A CN 202211587534A CN 115602242 B CN115602242 B CN 115602242B
- Authority
- CN
- China
- Prior art keywords
- firmware
- main test
- test
- main
- processor
- 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
Links
Images
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储装置,至少包括:内部存储器,内部存储器存储有功能固件、主测试固件和验证测试固件,主测试固件设有运行次数阈值;处理器,电性连接于内部存储器,当存储装置上电,处理器读取并循环运行主测试固件,直到主测试固件的运行次数达到运行次数阈值,获得并存储主测试数据,其中,在获得主测试数据后,处理器随机运行验证测试固件,获取并存储验证测试数据;以及闪存芯片,连接于处理器,且闪存芯片存储主测试数据和验证测试数据。本发明提供了一种存储装置及其测试方法,以提升存储装置的测试效率,并降低测试成本。
Description
技术领域
本发明涉及存储测试领域,特别涉及一种存储装置及其测试方法。
背景技术
芯片在封装完毕后,可能存在潜在缺陷,这些会导致芯片性能不稳定或者功能上存在潜在缺陷。如果这些存在潜在缺陷的芯片被用在关键设备上,有可能发生故障,造成用户财产损失或者生命危险。因此在芯片封装后,需要先对芯片进行老化测试,以确认芯片的失效时间。而芯片老化测试的成本过高,不利于芯片老化测试的大范围使用。
发明内容
本发明的目的在于提供一种存储装置及其测试方法,以提升存储装置测试的效率,并降低测试成本。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种存储装置,至少包括:
内部存储器,所述内部存储器存储有功能固件、主测试固件和验证测试固件,所述主测试固件设有运行次数阈值;
处理器,电性连接于所述内部存储器,当所述存储装置上电,所述处理器读取并循环运行所述主测试固件,直到所述主测试固件的运行次数达到所述运行次数阈值,获得并存储主测试数据,其中,在获得所述主测试数据后,所述处理器随机运行所述验证测试固件,获取并存储所述验证测试数据;以及
闪存芯片,连接于所述处理器,所述闪存芯片存储有所述主测试数据和所述验证测试数据。
在本发明一实施例中,所述功能固件包括启用模块,当所述启用模块为禁用状态,所述处理器在上电时读取并运行所述主测试固件,当所述启用模块为启用状态,所述处理器在接收到主机信号时运行所述主测试固件。
在本发明一实施例中,所述主测试固件包括标识位识别模块,当所述处理器未接收所述主机信号且所述处理器运行所述主测试固件,所述标识位识别模块在所述处理器中置起标识位。
在本发明一实施例中,所述主测试固件包括运行次数识别模块,当所述标识位被置起,所述运行次数识别模块获取并记录所述主测试固件的运行次数。
在本发明一实施例中,所述运行次数识别模块设有运行周期,所述主测试固件的运行次数为所述标识位置起后,所述处理器完成的所述运行周期的次数。
在本发明一实施例中,所述主测试固件包括主测试模块,且所述主测试模块包括多个测试单元,所述测试单元的运行数据为所述主测试数据。
在本发明一实施例中,所述验证测试固件包括多个记录信息获取单元,所述记录信息获取单元用于读取所述闪存芯片中的存储数据。
本发明提供了一种存储装置的测试方法,包括以下步骤:
提供一存储装置,所述存储装置包括内部存储器、闪存芯片和处理器,其中所述内部存储器包括功能固件;
对所述内部存储器写入主测试固件,其中所述主测试固件设有运行次数阈值;
当所述存储装置上电,所述处理器读取并循环运行所述主测试固件,直到所述主测试固件的运行次数达到所述运行次数阈值,获得并存储主测试数据;
对所述内部存储器写入验证测试固件,且在获得所述主测试数据后,所述处理器随机运行所述验证测试固件,获得并存储验证测试数据;以及
将所述主测试数据和所述验证测试数据存储在所述闪存芯片中。
在本发明一实施例中,所述功能固件包括启用模块,在所述处理器运行所述主测试固件前,将所述启用模块设置为禁用状态。
在本发明一实施例中,获取所述运行次数的步骤包括:
设置运行周期;
在所述主测试固件的标识位被置起后,对所述主测试固件的运行进程计时;以及
根据所述主测试固件的运行时间,获取主测试固件经历的运行周期个数,并以所述运行周期个数作为所述运行次数。
如上所述,本发明提供了一种存储装置及其测试方法,能够对存储装置进行老化测试,从而验证存储装置的寿命是否符合设计需求,以保证批量生产过程中存储装置的质量。并且,根据本发明提供的存储装置及其测试方法,能够在不外加信号发生器的情况下,在存储装置上电后直接对存储装置进行老化测试,从而快速且准确地获得存储装置的老化测试结果,并且测试进程所消耗的成本低,有利于大批量测试的进行。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中测试装置的结构示意图。
图2为本发明一实施例中存储装置的结构示意图。
图3为本发明一实施例中处理器和内部存储器的结构示意图。
图4为本发明一实施例中功能固件的结构示意图。
图5为本发明一实施例中主测试固件的结构示意图。
图6为本发明一实施例中运行次数识别模块的结构示意图。
图7为本发明一实施例中主测试模块的结构示意图。
图8为本发明一实施例中固件录入模块的结构示意图。
图9为本发明一实施例中引导指令的位置示意图。
图10为本发明一实施例中开卡指令的位置示意图。
图11为本发明一实施例中调度指令的位置示意图。
图12为本发明一实施例中数据载入指令的位置示意图。
图13为本发明一实施例中第一测试固件的位置示意图。
图14为本发明一实施例中第二测试固件的结构示意图。
图15为本发明一实施例中存储装置的测试方法流程图。
图中:10、测试装置;20、温控箱;30、老化机台;40、老化测试板;50、存储装置;100、闪存芯片;200、主控制器;300、处理器;301、主控制单元;302、副控制单元;303、互联单元;304、读写单元;305、内存保护单元;306、预取单元;307、数据处理单元;308、数据缓存单元;309、指令缓存单元;400、传输单元;500、内部存储器;600、主测试固件;700、验证测试固件;800、功能固件;900、数据总线。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在一段时间内,把芯片置于预设的温度环境中,再对芯片施加特定的电压,以加速芯片老化,可以使芯片可靠性提前度过早期失效期,直接到达偶然失效期或者说故障偶发期,从而确定芯片的失效时间。芯片老化测试的标准各有不同,例如当芯片能够在125℃温度条件下持续老化1000小时,则可认为这样的芯片的使用寿命可达到4年。又例如芯片能够在150℃温度条件下持续老化2000小时,则可认为这样的芯片的使用寿命可达到28年。根据芯片在不同老化环境中持续老化时间的不同,来模拟芯片的使用时间。在本实施例中,进行老化试验的芯片可以是非易失性存储装置,例如NAND闪存和只读存储装置(Read-onlymemory,ROM),也可以是基于非易失性存储装置的存储设备,例如嵌入式存储装置(Embedded Multi Media Card,EMMC)。
请参阅图1所示,本发明提供了一种存储装置的测试装置10,测试装置10包括温控箱20、老化机台30和老化测试板40。为温控箱20、老化机台30和老化测试板40供电。温控箱20包括恒温箱体,老化机台30放置在恒温箱体中。老化测试板40安装在老化机台30上。其中,可以将存储装置50安装在老化测试板40上。温控箱20的温度可以是例如80℃~130℃。根据测试需要,测试人员可以调节温控箱20的温度。在对存储装置50的测试开始前,调节温控箱20的温度,使恒温箱体的温度恒定。将存储装置50安装到老化测试板40上,对存储装置50进行测试。
请参阅图1和图2所示,本发明提供了一种存储装置50,且存储装置50可以是嵌入式存储设备。存储装置50包括闪存芯片100和主控制器200,闪存芯片100和主控制器200电性连接。主控制器200包括处理器300、传输单元400和内部存储器500,主控制器200和闪存芯片100和主机设备可以通过传输单元400进行数据传输。其中,内部存储器500可以是紧耦合内存,内部存储器500中存储有多个固件。在本实施例中,处理器300可以是精简指令***计算机(reduced Instruction System Computer,RISC),且具体可以是ARM处理器(Advanced RISC Machines)。
请参阅图1至图3所示,在本发明一实施例中,处理器300包括主控制单元301和副控制单元302,以及互联单元303。其中,主控制单元301和副控制单元302连接至不同的时钟域。在本实施例中,主控制单元301和副控制单元302支持同步时钟转换和/或异步时钟转换。具体的,主控制单元301和副控制单元302可以是AXI(Advanced eXtensibleInterface)控制器。其中,互联单元303电性连接于主控制单元301和副控制单元302,以在主控制单元301和副控制单元302之间传递数据信息。处理器300还包括数据处理组件和缓存组件。其中,数据处理组件包括读写单元304、内存保护单元305、预取单元306和数据处理单元307。读写单元304连接于内存保护单元305、互联单元303和数据处理单元307。读写单元304可从数据缓存单元308和指令缓存单元309中读出数据,并向数据缓存单元308中写入数据。内存保护单元305电性连接于预取单元306,且内存保护单元305可以使正在运行的任务不破坏其他任务的操作,也可以防止***资源和其他一些任务不受非法访问。数据处理单元307电性连接于预取单元306和读写单元304,以从预取单元306和读写单元304中接收并处理数据,再将处理后的数据传输给读写单元304和预取单元306。其中,缓存组件包括数据缓存单元308和指令缓存单元309。数据缓存单元308和指令缓存单元309电性连接于主控制单元301和互联单元303。其中,数据缓存单元308可以是随机存取存储器(Random AccessMemory,RAM),以对主控制器200中的用户数据和***数据进行存储和传输。指令缓存单元309也可以是随机存取存储装置,以对主控制器200中的固件指令以及上位机下发的指令进行存储和传输。在本实施例中,处理器300电性连接于数据总线900,且数据总线900可以是具有AXI协议的AXI总线。
请参阅图2至图4所示,在本发明一实施例中,内部存储器500包括主测试固件600、验证测试固件700和功能固件800。其中,功能固件800包括启用模块801和功能模块802。在对存储装置50进行测试时,将内部存储器500安装到测试装置10上。其中,启用模块801包括与外部的主机设备电性连接的启用接口。启用模块801包括启用状态和禁用状态,且启用模块801的默认状态为启用状态。启用模块801电性连接于功能模块802。在测试装置10和存储装置50上电后,若启用模块801为启用状态,则当主控制单元301和启用模块801共同向功能模块802发送控制信号时,主控制单元301从功能模块802中读出程序指令,以确保指令执行的准确性,避免固件出错。其中,启用模块801在接收到主机设备的第一个控制指令时,开始向功能模块802发送控制信号,允许主控制单元301调取功能模块802中的程序指令。在本实施例中,若启用模块801为禁用状态,则主控制单元301可以直接从功能模块802中调取程序指令,以实现如数据读写和编辑等各种功能。在发明提供的存储器的测试方法中,在测试固件开始运行前,将启用模块801设置为禁用状态。
请参阅图1至图5所示,在本发明一实施例中,主控制单元301运行测试固件。具体的,先运行主测试固件600,再运行验证测试固件700。其中,主测试固件600包括标识位识别模块601、运行次数识别模块602和主测试模块603,以及固件录入模块604。标识位识别模块601用于判断主测试固件600的运行情况。当主控制单元301开始运行主测试固件600时,param文件的比特数据位被置起。在本实施例中,标识位识别模块601识别param文件的比特数据位是否被置起,并判断内部存储器500是否收到主机设备的指令。当内部存储器500未收到主机设备的指令,且param文件的比特数据位被置起,则主测试固件600开始运行。当主测试固件600开始运行,运行次数识别模块602开始记录主测试固件600的运行次数或运行周期。在本实施例中,主测试固件600开始运行,主控制单元301执行主测试模块603的程序指令。在本实施例中,将主测试模块603的运行进程设置为死循环进程,反复执行主测试模块603。在本实施例中,通过运行次数识别模块602判断主测试模块603的停止位置。
请参阅图2至图5,以及图8至图13所示,在本发明一实施例中,固件录入模块604用于将主测试固件600中的程序指令录入内部存储器500中。固件录入模块604包括引导单元6041、指令调度单元6042和指令载入单元6043。可以通过量产工具,例如通过MP工具将主测试固件600烧录到内部存储器500中。其中,引导单元6041包括引导指令,且引导指令被存储在内部存储器500中。存储装置50上电后,引导单元706中的引导指令自动运行,通过指令载入单元6043将开卡指令放置到内部存储器500中。具体的,可以将开卡指令放置到地址0x00008000。其中,内部存储器500包括执行标志位501。当开卡指令被放置到内部存储器500中后,执行标志位501转移至开卡指令处。其中,通过指令调度单元6042将调度指令转移至指定地址,例如地址0x00020000。通过调度指令向内部存储器500录入数据载入指令,通过指令载入单元6043完成主测试固件600所有程序指令的载入,从而完成主测试固件600的录入和启用。
请参阅图2至图6所示,在本发明一实施例中,运行次数识别模块602包括计时单元6021、运行次数记录单元6022和运行终止单元6023。其中,计时单元6021可以是计时器,用于记录主测试固件600的运行时间。在本实施例中,设置主测试固件600的固件运行周期,固件运行周期例如为15min~16min。运行次数记录单元6022用于记录主测试固件600的运行次数。通过计时单元6021获取主测试固件600的运行时间,每当主控制单元301运行完一个固件运行周期,主测试固件600的运行次数增加一次。其中,主测试固件600的运行次数被记录在闪存芯片100的存储块中。其中,可以将主测试固件600已被运行的周期数据存储到坏块(bad block)的结果页(result page)中。具体的,可以将主测试固件600的运行次数记录在坏块0x1F8~0x1FB的位置上。其中,可以将每次运行周期的按照时间排序,且排序数据可以存储在坏块结果页的第一个比特位上。在本实施例中,设置运行时间阈值或运行次数阈值,当主测试固件600的运行时间达到运行时间阈值,或是主测试固件600的运行次数达到运行次数阈值,可以通过运行终止单元6023停止对主测试固件600的运行。其中,运行时间阈值可以根据不同存储装置50的设计需求设置,例如运行时间阈值可以是1000h、1200h和1500h等等,本发明对运行时间阈值的数值不做限定。
请参阅图1至图7所示,在本发明一实施例中,主测试模块603包括基础信息获取单元6031、随机缓存测试单元6032、寄存器测试单元6033、传输带宽测试单元6034、闪存颗粒测试单元6035、数据传输测试单元6036、器件编码纠错单元6037和参数收集单元6038。在本实施例中,通过基础信息获取单元6031获取存储装置50的基础信息,包括只读存储器(Read-Only Memory,ROM)的器件识别码和一次性可编程存储器(eFuse)的信息。具体的,可以将存储装置50调整为只读模式,通过基础信息获取单元6031获取只读存储器的器件识别码和一次性可编程存储器的值,若是成功读取只读存储器的器件识别码和一次性可编程存储器的值,则基础信息获取单元6031的测试项目通过。若是在某一个运行周期中,未能获取到存储装置50的基础信息,则基础信息获取单元6031的测试项目未通过,将未通过的测试数据记录在闪存芯片100中。
请参阅图1至图7所示,在本发明一实施例中,随机缓存测试单元6032用于测试数据缓存单元308和指令缓存单元309是否能正常运行。寄存器测试单元6033可用于检测存储装置50中的寄存器是否存在比特翻转现象。具体的,当主机设备下发至主控制单元301的cmd23寄存器控制命令和cmd23寄存器的值不匹配,则认为存储装置50中的cmd23寄存器存储比特翻转,则寄存器测试单元6033的测试项目不通过。若是主机设备下发至主控制单元301的cmd23寄存器控制命令和cmd23寄存器的值匹配,则寄存器测试单元6033的测试项目通过。测试信息可以被记录在闪存芯片100中。传输带宽测试单元6034用于检查数据传输总线是否能够正常运作。在本实施例中,可以将存储装置50调整为只读模式,并通过例如1比特总线带宽、4比特总线带宽和8比特总线带宽对闪存芯片100进行读、写和比对测试,测试信息被记录在闪存芯片100中。其中,若是在多个带宽下,读、写和比对测试通过,则传输带宽测试单元6034的测试项目通过。闪存颗粒测试单元6035用于检查存储装置50上闪存芯片100的打线是否正常。具体的,闪存颗粒测试单元6035可以读取闪存芯片100的器件编码(Identity document,ID)和闪存芯片100的颗粒(die)数量。若闪存颗粒测试单元6035读取到的器件编码和颗粒数量与存储装置50的初始信息相符合,则闪存颗粒测试单元6035的测试项目通过,将测试信息记录在闪存芯片100中。
请参阅图1至图3和图7所示,在本发明一实施例中,数据传输测试单元6036用于测试存储装置50是否能够在HS400协议下正确传输数据。若是传输数据正确,则数据传输测试单元6036的测试项目通过。若是传输数据不正确,则数据传输测试单元6036的测试项目未通过,将数据传输测试单元6036的测试信息记录在闪存芯片100中。在本实施例中,器件编码纠错单元6037用于测试存储装置50中的器件识别码是否被正确地写入。若是器件识别码被正确地写入闪存芯片100中,则数据传输测试单元6036的测试项目通过。若是器件识别码未被正确地写入闪存芯片100中,则数据传输测试单元6036的测试项目未通过,将测试信息记录在闪存芯片100中。在本实施例中,参数收集单元6038用于收集开卡指令被执行后内部存储器500和处理器300的数据。
请参阅图1至图13所示,在本发明一实施例中,将主测试固件600录入内部存储器500后,再依次通过基础信息获取单元6031、随机缓存测试单元6032、寄存器测试单元6033、传输带宽测试单元6034、闪存颗粒测试单元6035、数据传输测试单元6036、器件编码纠错单元6037对存储装置50进行测试,并通过参数收集单元6038收集测试信息并将测试数据存储在闪存芯片100中。其中,主测试模块603的运行可以是死循环。参数收集单元6038每完成一次循环的参数收集,继续执行基础信息获取单元6031至编码纠错单元708。通过计时单元6021获取主测试固件600的运行时间,通过运行次数记录单元6022记录运行次数,运行终止单元6023可以根据运行时间阈值或运行次数阈值,判断主测试固件600的运行时间是否满足测试要求。若是主测试固件600的运行次数或运行时间达到阈值,则停止运行主测试固件600。
请参阅图1、图3和图5,以及图8至图13所示,在本发明一实施例中,在主测试固件600的运行进程中,通过验证测试固件700确认存储装置50的工作状态。在本实施例中,功能固件800包括固件更新模块801,固件更新模块801可以将验证测试固件700录入内部存储器500中。具体的,存储装置50可以是嵌入式存储器,也可以是包括嵌入式存储器的存储设备。在本实施例中,在录入验证测试固件700前,将存储装置50调整为固件在线更新模式(FieldFirmware Update,FFU)。其中,固件更新模块801的固件录入步骤可以和固件录入模块604的固件录入步骤一致。通过引导指令和调度指令调整程序指令的位置,再通过数据载入指令将验证测试固件700的程序指令录入内部存储器500中。其中,可以在主测试固件600的运行过程中,录入验证测试固件700。也可以在主测试固件600结束运行后,录入验证测试固件700。
请参阅图1、图3和图5,以及图14所示,在本发明一实施例中,验证测试固件700包括存储测试单元701、擦除值测试单元702、记录信息获取单元703、协议传输测试单元704、识别码纠错单元705、容量测试单元706和数据收集单元707。其中,存储测试单元701用于检测存储装置50是否能正常工作,且存储测试单元701包括多个测试项目。具体的,可以通过存储测试单元701将存储装置50调整为只读模式,再读取存储装置50中只读存储器的器件识别码,若能读取出只读存储器的器件识别码,则这一测试项目通过。具体的,可以通过存储测试单元701读取存储装置50中一次性可编程存储器的信息,若是能读出,则此测试项目通过。其中,可以将一次性可编程存储器的数值作为存储装置50的识别编码。具体的,可以通过存储测试单元701测试存储装置50中的静态随机存取存储器(Static Random AccessMemory,SRAM)是否能够正常工作。若是能正常工作,则此测试项目通过。具体的,可以通过存储测试单元701将存储装置50调整为只读模式,并在存储装置50的只读模式下以不同的传输带宽对存储装置50进行读、写和比对测试。若是在不同的传输带宽下,存储装置50都能通过读、写和比对测试,则此测试项目通过。具体的,可以通过存储测试单元701检查存储装置50上闪存芯片100的颗粒是否打线正常,若是可以读取到闪存芯片100正确的颗粒数量和编码数量,则这一测试项目通过。
请参阅图1、图3和图5,以及图14所示,在本发明一实施例中,可以通过擦除值测试单元702测试存储装置50的擦除次数。其中,闪存芯片100的擦除次数设有上限,例如3000次~5000次。当闪存芯片100的擦除次数达到上限,则闪存芯片100损耗过大,达到理论寿命值。其中,可以将擦除值测试单元702的测试信息记录在闪存芯片100中。在本实施例中,可以通过记录信息获取单元703获取闪存芯片100中的存储数据。其中,在运行主测试固件600时,测试数据被存储在闪存芯片100中,可以通过记录信息获取单元703获取主测试固件600的测试信息。若是记录信息获取单元703未读出主测试固件600的测试信息,则这闪存芯片100中未存储主测试固件600的测试数据,这一测试项目未通过。若是主测试固件600的测试数据被正常存储,则可通过记录信息获取单元703读出主测试固件600的测试数据。协议传输测试单元704可用于检测存储装置50的协议传输是否正常。具体的,可以检测存储装置50是是否能在HS400下正确传输数据,若是能够正确传输,则这一测试项目通过。识别码纠错单元705可用于检查存储装置50的器件识别码,若是器件识别码被正确地写入处理器300中,则这一测试项目通过。在本实施例中,可以通过容量测试单元706测试存储装置50的动态容量(Dynamic Capacity)是否在阈值范围内,若是在阈值范围内,则容量测试单元706对应的测试项目通过。可以通过数据收集单元707获取验证测试固件700的测试数据。
请参阅图1至图15所示,本发明提供了一种存储装置的测试方法,所述测试方法包括步骤S10至步骤S50。
步骤S10、提供一存储装置,存储装置包括内部存储器、闪存芯片和处理器,其中内部存储器包括功能固件。
步骤S20、对内部存储器写入主测试固件,其中主测试固件设有运行次数阈值。
步骤S30、当存储装置上电,处理器读取并循环运行主测试固件,直到主测试固件的运行次数达到运行次数阈值,获得并存储主测试数据。
步骤S40、对内部存储器写入验证测试固件,且在获得主测试数据后,处理器随机运行验证测试固件,获得并存储验证测试数据。
步骤S50、将主测试数据和验证测试数据存储在闪存芯片中。
请参阅图1至图3和图15所示,在本发明一实施例中,在步骤S10中,存储装置50可以是嵌入式存储器(Embedded Multi Media Card,eMMC),也可以是运用了嵌入式存储器的存储设备,例如嵌入式层叠封装存储器。存储装置50包括闪存芯片100和主控制器200,其中主控制器200包括处理器300和内部存储器500以及传输单元400。在本实施例中,内部存储器500包括功能固件800。功能固件800为集成电路设计时根据存储设备所需功能设计的程序指令。其中,功能固件800包括启用模块801和功能模块802。当启用模块801为启用状态,在主机设备向处理器300发送第一个信号时,可开始对存储装置50进行测试。当启用模块801为禁用状态,在存储装置50的上电状态下,处理器300可以直接调取主测试固件600,对存储装置50进行测试。在本实施例中,可以在执行步骤S20前或执行步骤S30前,将启用模块801设置为禁用状态。
请参阅图1至图3和图15所示,在本发明一实施例中,将存储装置50装在温控箱20中,调整温控箱20的温度为恒温,例如80℃~130℃。为存储装置50提供恒压,例如3.63V。在步骤S20中,对通过固件录入模块604对内部存储器500写入主测试固件600。在步骤S30中,当存储装置50上电,处理器300读取并循环运行主测试固件600,直到主固件的运行次数达到运行次数阈值。运行主测试固件600获得主测试数据。在步骤S40中,通过固件更新模块对内部存储器500写入验证测试固件700。其中,写入验证测试固件700可以在主测试固件600的运行进程中也可以是在结束运行主测试固件600后。在获得主测试数据后,通过处理器300运行验证测试固件700,以验证主测试数据并确认主测试数据被记录在闪存芯片100中。其中,处理器300运行验证测试固件700,可以获得验证测试数据。在步骤S50中,将主测试数据和验证测试数据存储在闪存芯片100中,从而完成对存储装置50的测试。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (9)
1.一种存储装置,其特征在于,至少包括:
内部存储器,所述内部存储器存储有功能固件、主测试固件和验证测试固件,所述主测试固件设有运行次数阈值;
处理器,电性连接于所述内部存储器,当所述存储装置上电,所述处理器读取并循环运行所述主测试固件,直到所述主测试固件的运行次数达到所述运行次数阈值,获得并存储主测试数据,其中,在获得所述主测试数据后,所述处理器随机运行所述验证测试固件,获取并存储验证测试数据;以及
闪存芯片,连接于所述处理器,且所述闪存芯片存储所述主测试数据和所述验证测试数据;
其中,所述功能固件包括启用模块,当所述启用模块为禁用状态,所述处理器在上电时读取并运行所述主测试固件,当所述启用模块为启用状态,所述处理器在接收到主机信号时运行所述主测试固件。
2.根据权利要求1所述的一种存储装置,其特征在于,所述主测试固件包括标识位识别模块,当所述处理器未接收所述主机信号且所述处理器运行所述主测试固件,所述标识位识别模块在所述处理器中置起标识位。
3.根据权利要求2所述的一种存储装置,其特征在于,所述主测试固件包括运行次数识别模块,当所述标识位被置起,所述运行次数识别模块获取并记录所述主测试固件的运行次数。
4.根据权利要求2所述的一种存储装置,其特征在于,所述运行次数识别模块设有运行周期,所述主测试固件的运行次数为所述标识位置起后,所述处理器完成的所述运行周期的次数。
5.根据权利要求1所述的一种存储装置,其特征在于,所述主测试固件包括主测试模块,且所述主测试模块包括多个测试单元,所述测试单元的运行数据为所述主测试数据。
6.根据权利要求1所述的一种存储装置,其特征在于,所述验证测试固件包括多个记录信息获取单元,所述记录信息获取单元用于读取所述闪存芯片中的存储数据。
7.一种存储装置的测试方法,其特征在于,包括以下步骤:
提供一存储装置,所述存储装置包括内部存储器、闪存芯片和处理器,其中所述内部存储器包括功能固件;
对所述内部存储器写入主测试固件,其中所述主测试固件设有运行次数阈值;
当所述存储装置上电,所述处理器读取并循环运行所述主测试固件,直到所述主测试固件的运行次数达到所述运行次数阈值,获得并存储主测试数据;
对所述内部存储器写入验证测试固件,且在获得所述主测试数据后,所述处理器随机运行所述验证测试固件,获得并存储验证测试数据;以及
将所述主测试数据和所述验证测试数据存储在所述闪存芯片中;
其中,所述功能固件包括启用模块,当所述启用模块为禁用状态,所述处理器在上电时读取并运行所述主测试固件,当所述启用模块为启用状态,所述处理器在接收到主机信号时运行所述主测试固件。
8.根据权利要求7所述的一种存储装置的测试方法,其特征在于,所述功能固件包括启用模块,在所述处理器运行所述主测试固件前,将所述启用模块设置为禁用状态。
9.根据权利要求7所述的一种存储装置的测试方法,其特征在于,获取所述运行次数的步骤包括:
设置运行周期;
在所述主测试固件的标识位被置起后,对所述主测试固件的运行进程计时;以及
根据所述主测试固件的运行时间,获取主测试固件经历的运行周期个数,并以所述运行周期个数作为所述运行次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587534.XA CN115602242B (zh) | 2022-12-12 | 2022-12-12 | 一种存储装置及其测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587534.XA CN115602242B (zh) | 2022-12-12 | 2022-12-12 | 一种存储装置及其测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115602242A CN115602242A (zh) | 2023-01-13 |
CN115602242B true CN115602242B (zh) | 2023-04-14 |
Family
ID=84852673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211587534.XA Active CN115602242B (zh) | 2022-12-12 | 2022-12-12 | 一种存储装置及其测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115602242B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737087B (zh) * | 2023-08-15 | 2023-11-03 | 合肥康芯威存储技术有限公司 | 一种存储装置及其数据处理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151693A (en) * | 1998-06-19 | 2000-11-21 | Lucent Technologies, Inc. | Automated method of burn-in and endurance testing for embedded EEPROM |
US8560907B1 (en) * | 2007-09-06 | 2013-10-15 | Altera Corporation | Debugging external interface |
TWI489474B (zh) * | 2011-10-25 | 2015-06-21 | Silicon Motion Inc | 內嵌閃存卡燒機方法以及測試板、以及內嵌閃存卡 |
CN113049939A (zh) * | 2019-12-27 | 2021-06-29 | 中移物联网有限公司 | 一种芯片老化自测试方法及*** |
CN113077834A (zh) * | 2021-04-23 | 2021-07-06 | 深圳创维-Rgb电子有限公司 | 存储设备测试方法、装置、电视机以及存储介质 |
CN114067901A (zh) * | 2022-01-17 | 2022-02-18 | 深圳市安信达存储技术有限公司 | 嵌入式存储芯片的集群测试方法、测试终端及存储介质 |
-
2022
- 2022-12-12 CN CN202211587534.XA patent/CN115602242B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115602242A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571749B2 (ja) | 既知の良品デバイスを使用して期待する応答を生成するための集積回路デバイスの効率的な同時テスト | |
US7360137B2 (en) | Flash programmer for programming NAND flash and NOR/NAND combined flash | |
EP1624465A1 (en) | Programmable multi-mode built-in self-test and self-repair structure for embedded memory arrays | |
KR20010100939A (ko) | 메모리 시험방법 및 메모리 시험장치 | |
US20120198292A1 (en) | Test apparatus and test method | |
US11984181B2 (en) | Systems and methods for evaluating integrity of adjacent sub blocks of data storage apparatuses | |
CN101853692A (zh) | 具闪存测试功能的控制器及其储存***与测试方法 | |
CN115602242B (zh) | 一种存储装置及其测试方法 | |
CN114530188A (zh) | 一种半导体测试方法、***及存储介质 | |
CN113366576A (zh) | 用于存储器***上的功率损耗操作的保持自测试 | |
CN114639439B (zh) | 芯片内部sram测试方法、装置、存储介质及ssd设备 | |
US20100096629A1 (en) | Multi-chip module for automatic failure analysis | |
US6957377B2 (en) | Marking of and searching for initial defective blocks in semiconductor memory | |
WO2019184612A1 (zh) | 一种终端及电子设备 | |
US7117405B2 (en) | Extender card with intercepting EEPROM for testing and programming un-programmed memory modules on a PC motherboard | |
US7518918B2 (en) | Method and apparatus for repairing embedded memory in an integrated circuit | |
US20080155309A1 (en) | Memory card and debugging method employed by the same | |
CN116386711B (zh) | 一种存储器件数据传输的测试装置及测试方法 | |
CN115691632B (zh) | 测试控制***和方法 | |
CN112506820A (zh) | Usb端口硬件参数分析方法、装置、设备及存储介质 | |
CN110956998A (zh) | 一种存储器测试装置与*** | |
US10922023B2 (en) | Method for accessing code SRAM and electronic device | |
CN114692540A (zh) | 一种基于fpga的flash应用验证*** | |
JP5860265B2 (ja) | 半導体メモリ装置及びそのテスト方法 | |
CN113160875A (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 |