CN114743584A - 内嵌式存储器系统与存储器测试方法 - Google Patents
内嵌式存储器系统与存储器测试方法 Download PDFInfo
- Publication number
- CN114743584A CN114743584A CN202110018675.9A CN202110018675A CN114743584A CN 114743584 A CN114743584 A CN 114743584A CN 202110018675 A CN202110018675 A CN 202110018675A CN 114743584 A CN114743584 A CN 114743584A
- Authority
- CN
- China
- Prior art keywords
- embedded memory
- phase
- circuit
- memory circuit
- instructions
- 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.)
- Pending
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/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- 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/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
Landscapes
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
内嵌式存储器系统包括内嵌式存储器电路以及主控端电路。内嵌式存储器电路用以存储查找表。主控端电路用以利用具有多个相位的一测试时钟信号以及内嵌式存储器电路的一程序的多个指令对内嵌式存储器电路进行测试,并记录所述指令中每一个与所述相位之间的一对应关系,以产生查找表。
Description
技术领域
本申请涉及内嵌式存储器系统,特别是涉及利用启动程序(boot loader)来进行时序测试的内嵌式存储器系统以及存储器测试方法。
背景技术
在现有技术中,特定的信号模式(signal pattern)或是额外的测试程序被用来测试存储器电路的时序。然而,由于这些特定信号模式也非存储器电路后续会实际写入/读取的数据,且这些测试程序并非存储器电路后续会实际执行的程序,故经由这些信号模式或测试程序所产生的时序测试结果可能不适合用来设定存储器电路的实际操作。换言之,现有技术所得到的时序扫描(timing scan)范围与存储器电路实际使用的时序范围有所差异。如此一来,存储器电路可能在实际应用中无法使用到合适的时序。
发明内容
于一些实施例中,内嵌式存储器系统包括内嵌式存储器电路以及主控端电路。内嵌式存储器电路用以存储一查找表。主控端电路用以利用具有多个相位的一测试时钟信号以及所述内嵌式存储器电路的一程序的多个指令对所述内嵌式存储器电路进行测试,并记录所述指令中每一个与所述相位之间的一对应关系,以产生所述查找表。
于一些实施例中,存储器测试方法包括下列操作:利用具有多个相位的测试时钟信号以及程序的多个指令对内嵌式存储器电路进行测试;以及记录所述指令中每一个与所述相位之间的一对应关系,以产生一查找表,所述内嵌式存储器电路用以根据所述查找表选择所述些相位中对应于所述指令中的一第一指令的一特定相位,以执行所述第一指令。
有关本申请的特征、实作与功效,现配合附图作较佳实施例详细说明如下。
附图说明
图1为根据本申请一些实施例绘制一种内嵌式存储器系统的示意图;
图2为根据本申请一些实施例绘制一种时序扫描测试方法的流程图;
图3为根据本申请一些实施例绘制一种存储器测试方法的流程图;以及
图4为根据本申请一些实施例绘制时序扫描测试结果的示意图。
具体实施方式
本文所使用的所有词汇具有其通常的含义。上述词汇在普遍常用的字典中的定义,在本申请的内容中包括任一于此讨论的词汇的使用例子仅为示例,不应限制到本申请的范围与含义。同样地,本申请也不仅以于此说明书所示出的各种实施例为限。
关于本文中所使用的“耦接”或“连接”,均可指二或多个组件相互直接作实体或电性接触,或是相互间接作实体或电性接触,也可指二或多个组件相互操作或动作。如本文所用,用语“电路”可为由至少一个晶体管与/或至少一个主被动组件按一定方式连接以处理信号的装置。
如本文所用,用语“与/或”包括了列出的关联项目中的一个或多个的任何组合。在本文中,使用第一、第二与第三等等的词汇,是用于描述并辨别各个组件。因此,在本文中的第一组件也可被称为第二组件,而不脱离本申请的本意。为易于理解,于各附图中的类似组件将被指定为相同标号。
图1为根据本申请一些实施例绘制一种内嵌式存储器系统100的示意图。内嵌式存储器系统100包括内嵌式存储器电路120以及主控端(host)电路140。于一些实施例中,内嵌式存储器电路120可为(但不限于)内嵌式多媒体卡(embedded multimedia card,eMMC)芯片,其包括用于存储数据的存储器数组(未示出)以及控制所述存储器数组的控制器电路(未示出)。于一些实施例中,前述的存储器数组可为快闪式存储器。
于一些实施例中,主控端电路140可用以对内嵌式存储器电路120进行时序扫描(timing scan)测试,以产生查找表LT。于一些实施例中,主控端电路140包括处理器电路142、存储器电路144以及时钟发生器电路146。处理器电路142可用以执行图3的多个操作,以对内嵌式存储器电路120进行时序扫描测试来产生查找表LT。存储器电路144可用以暂时存储时序扫描测试的多个结果,并在测试完成时将所述结果输出为查找表LT。时钟发生器电路146用以产生一测试时钟信号CLK至内嵌式存储器电路120,且内嵌式存储器电路120可利用测试时钟信号CLK执行程序中的多个指令(例如为图4中的多个读写指令等等)以进行时序扫描测试。
于一些实施例中,测试时钟信号CLK具有多个相位(例如为图4中的相位0~相位31),且查找表LT用于记录所述指令中每一个与所述相位之间的对应关系。于一些实施例中,在时序扫描测试完成后,主控端电路140可将查找表LT存储至内嵌式存储器电路120。如此,内嵌式存储器电路120可根据查找表LT选择具有合适相位的时钟信号,以执行对应的指令。于一些实施例中,前述的程序可以是一启动程序,且启动程序为通过内嵌式存储器电路120运行的内核(kernel)或操作系统于开机时执行的一程序。换言之,主控端电路140是利用内嵌式存储器电路120实际会执行的程序来对内嵌式存储器电路120进行时序扫描测试。相较于使用额外的测试程序(或额外的测试信号)所得到的测试结果,通过启动程序所得到的测试结果可以更为准确。如此一来,内嵌式存储器电路120可利用查找表LT选择合适的相位来执行对应指令。
于一些实施例中,主控端电路140可为特殊应用集成电路(Application-specificintegrated circuit)。于一些实施例中,处理器电路142可为(但不限于)中央处理单元(CPU)、多处理器、管线式处理器、分布式处理系统等等。于一些实施例中,存储器电路144可为(但不限于)非瞬时计算机可读取存储媒介。于一些实施例中,计算机可读取存储媒介为电性、磁性、光学、红外线与/或半导体装置。例如,计算机可读取存储媒介包括(但不限于)半导体或固态存储器、磁带、可移除式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘与/或光学磁盘。上述关于处理器电路142以及存储器电路144的种类用于示例,且本申请并不以此为限。
图2为根据本申请一些实施例绘制一种时序扫描测试方法200的流程图。于一些实施例中,时序扫描测试方法200可由(但不限于)图1的内嵌式存储器系统100执行。
于操作S210,内嵌式存储器系统(例如为内嵌式存储器系统100)开机。于操作S220,利用具有多个相位的测试时钟信号以及启动程序的多个指令对内嵌式存储器电路进行测试。例如,主控端电路140可执行后述图3的多个操作,以测试内嵌式存储器电路120。于操作S230,记录时序扫描测试的结果。例如,处理器电路142可将时序扫描测试的多个测试结果(如图4所示)暂存于图1中的存储器电路144。于操作S240,输出时序扫描测试的结果为查找表。例如,在时序扫描测试完成后,处理器电路142可根据存储于存储器电路144的多个测试结果输出查找表LT,并写入查找表LT至内嵌式存储器电路120。
图3为根据本申请一些实施例绘制一种存储器测试方法300的流程图。于一些实施例中,存储器测试方法300中的操作S310、操作S320、操作S330、操作S340以及操作S350可视为图2中的操作S220对应的多个具体步骤。于操作S310,开始进行时序扫描测试,并设定初始时序为第一个相位(例如为图4中的相位0)。于操作S320,执行启动程序。于操作S230,记录启动程序的测试结果。于操作S330,确认当前时序是否为最后一个相位(例如为图4中的相位31)。若当前时序为最后一个相位,执行图2的操作S240。或者,若当前时序不为最后一个相位,执行操作S340。于操作S340,重置先前的测试结果。于操作S350,切换至次一时序(例如为将图4中的相位0切换至相位1),并再次执行操作S320。
图4为根据本申请一些实施例绘制时序扫描测试结果的示意图。于一些实施例中,启动程序包括多个以不同时钟频率执行的写入指令与/或读取指令。例如,如图4所示,启动程序可包括(但不限于)以具有频率为250千赫兹(kHz)的时钟信号(标示为250k)执行的命令读取指令(后简称的“第一命令读取指令”)、以具有频率为250kHz的时钟信号执行的命令写入指令、以具有频率为25兆赫(MHz)的时钟信号(标示为25M)执行的读取指令、以具有频率为25MHz的时钟信号执行的写入指令、以具有频率为50MHz的时钟信号执行的读取指令、以具有频率为50MHz的时钟信号执行的命令写入指令、以具有50MHz频率的时钟信号执行的数据写入指令、以HS200模式执行的数据写入指令、以HS200模式执行的命令写入指令、以HS400模式执行的写入指令以及以HS400模式执行的读取指令。
于此实施例中,图4的测试时钟信号CLK具有32个相位(即相位0至相位31)。首先,主控端电路140将测试时钟信号CLK的相位设定为相位0,并控制内嵌式存储器电路120依序执行启动程序中的多个指令(即操作S310)。内嵌式存储器电路120利用具有相位0的测试时钟信号CLK依序执行所述指令,并产生相对应的测试结果。
举例来说,内嵌式存储器电路120利用具有相位0以及频率为250kHz的测试时钟信号CLK执行第一命令读取指令。若此第一命令读取指令可正确被执行(标示为○),内嵌式存储器电路120可读取到一默认数据(即读取到的数据为一默认值)。反之,若此读取指令无法正确地被执行(标示为×),内嵌式存储器电路120读取的数据非为默认数据(即读取到的数据并非默认值)。因此,处理器电路142可依据此指令所对应的测试结果(即读取到的数据是否为默认值)判断内嵌式存储器电路120是否有正确地利用具有相位0的测试时钟信号CLK执行第一命令读取指令。依此类推,内嵌式存储器电路120可利用具有相位0与对应频率的测试时钟信号CLK依序执行多个指令,且处理器电路142可根据各指令对应的测试结果确认内嵌式存储器电路120是否可利用具有相位0的测试时钟信号CLK正确地执行所述指令。例如,如图4所示,处理器电路142可得知内嵌式存储器电路120无法利用具有相位0的测试时钟信号CLK正确执行HS400模式下的写入指令与读取指令。
接着,在取得全部指令对应于相位0的测试结果(即操作S230)后,主控端电路142可重置内嵌式存储器电路120(即操作S340)并切换相位0至相位1(即操作S350),以再次控制内嵌式存储器电路120依序执行启动程序中的多个指令(即操作S320)。内嵌式存储器电路120利用具有相位1的测试时钟信号CLK依序执行所述指令,并产生相对应的测试结果。依此类推,处理器电路142可获得所述指令中每一个与多个相位0~31之间的对应关系(如图4所示)。于一些实施例中,如图4所示的多个测试结果可暂存于存储器电路144。于一些实施例中,根据图4的多个测试结果,主控端电路140可以确认内嵌式存储器电路120可根据相位0至相位31中的至少一第一相位(例如为相位0至相位16)正确地执行第一命令读取指令。
在取得所有指令与多个相位0~31之间的对应关系后,处理器电路142可产生查找表LT。于一些实施例中,查找表LT可表示为下表一:
于一些实施例中,默认存储器标准可为(但不限于)JEDEC(Joint ElectronDevice Engineering Council,JEDEC)存储器标准(例如为JESD84-B51或其后续版本)。于一些实施例中,主控端电路140可用以根据所述默认存储器标准自所述至少一第一相位排除至少一第二相位。于一些实施例中,主控端电路140可根据默认存储器标准自至少一第一相位选择一特定相位,以产生查找表LT。
例如,依据默认存储器标准与/或用户的输入,主控端电路140可自相位0至相位16中排除至少一第二相位(例如为相位0与相位16)。上述的至少一第二相位可为默认存储器标准中不建议使用的时序(或称为死区(dead zone)),也可以是其他内嵌式存储器电路中测试失败(或实际运作失败)的时序。如此一来,主控端电路140可得知内嵌式存储器电路120可根据相位1至相位15中任一个挑选一特定相位(例如为相位8,即上表所示的中心设定),以产生查找表LT。于一些实施例中,上述的特定相位可为(但不限于)所述至少一第一相位内的一中间相位。
于一些实施例中,前述的中心设定可依据实际应用与/或其他设计考虑调整,故上表中的中心设定并不限于至少一第一相位内的中间相位。于一些实施例中,针对特定指令(例如为(但不限于)对应于频率200M的读取指令),内嵌式存储器电路120可执行一自动调整(auto-tune)机制而选择合适的相位,而非根据查找表LT中的中心设定使用对应的相位。
于一些实施例中,主控端电路140还用以根据默认存储器标准确认内嵌式存储器电路120响应于多个指令中每一个所产生的一特定信号的建立时间(setup time)与多个相位(例如为相位0至相位31)之间的一对应关系,以产生查找表LT。类似地,于一些实施例中,主控端电路140用以根据默认存储器标准确认内嵌式存储器电路120响应于多个指令中每一个所产生的一特定信号的保持时间(hold time)与多个相位0~相位31之间的一对应关系,以产生查找表LT。于一些实施例中,建立时间为所述特定信号在具有对应相位的时钟信号的转态边缘出现前保持固定的期间,且保持时间为所述特定信号在具有对应相位的时钟信号的转态边缘出现前保持固定的期间。
以在HS400模式执行的写入指令为例,前述的特定信号可为内嵌式存储器电路120响应于此指令所写入的数据信号。由于HS400模式下的时钟频率为200MHz(数据速率可为400MB/s),故根据时钟信号的周期(即1/200M)可得知多个相位0~相位31中连续两者之间的间隔约为0.156纳秒(nanosecond,ns)。根据默认存储器标准中对于建立时间以及保持时间的要求(例如至少为0.4ns),主控端电路140可得知建立时间与保持时间的总和最少需要相同于7个相位中的多个间隔的总时间(即表一中的标准要求)。再者,根据图4的测试结果,内嵌式存储器电路120可利用具有相位6至相位13中任一个的测试时钟信号CLK执行此写入指令。因此,主控端电路140可选择相位为相位6至相位13之间的中间相位10(即表一中的中心设定)为执行此写入指令时所使用的特定相位,以使建立时间余量(margin)尽量相同于保持时间余量。例如,建立时间余量为相位6至相位9(即表一中的4个相位)中的多个间隔的总时间,且保持时间余量为相位11至相位13(即表一中的3个相位)的多个间隔的总时间。如此一来,在后续应用中,内嵌式存储器电路120可利用具有相位10的时钟信号执行此写入指令。
上述的例子是以单一内嵌式存储器电路120的测试结果为例说明。应当理解,于一些实施例中,主控端电路140可根据多个内嵌式存储器电路120的多个测试结果的交集产生查找表LT。如此一来,查找表LT所记录的时序设定可适用于不同制造商生产的存储器。
上述时序扫描测试方法200(或存储器测试方法300)的多个操作的说明可参考前述多个实施例,故于此不再赘述。上述多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本申请的各实施例的操作方式与范围下,在时序扫描测试方法200(或存储器测试方法300)下的各种操作当可适当地增加、替换、省略或以不同顺序执行。或者,在时序扫描测试方法200(或存储器测试方法300)下的一或多个操作可以是同时或部分同时执行。
综上所述,本申请一些实施例中的内嵌式存储器系统与存储器测试方法可利用通过内嵌式存储器电路运作的内核或操作系统中的一程序来对内嵌式存储器电路进行时序扫描测试,以决定适合内嵌式存储器电路实际运作的相位。如此一来,在后续应用中,内嵌式存储器电路可利用合适的相位来进行操作。
虽然本申请的实施例如上所述,然而所述实施例并非用来限定本申请,本技术领域的普通技术人员可依据本申请的明示或隐含的内容对本申请的技术特征施以变化,凡此种种变化均可能属于本申请所寻求的专利保护范围,换言之,本申请的专利保护范围须视本权利要求书及说明书所界定的保护范围为准。
附图标记说明
100:内嵌式存储器系统
120:内嵌式存储器电路
140:主控端电路
142:处理器电路
144:存储器电路
146:时钟发生器电路
200:时序扫描测试方法
300:存储器测试方法
CLK:测试时钟信号
LT:查找表
S210,S220,S230,S240:操作
S310,S320,S330,S340,S350:操作
Claims (10)
1.一种内嵌式存储器系统,包括:
一内嵌式存储器电路,用以存储一查找表;以及
一主控端电路,用以利用具有多个相位的一测试时钟信号以及所述内嵌式存储器电路的一程序的多个指令对所述内嵌式存储器电路进行测试,并记录所述指令中每一个与所述相位之间的一对应关系,以产生所述查找表。
2.根据权利要求1所述的内嵌式存储器系统,其特征在于,所述程序为一启动程序,所述启动程序为通过所述内嵌式存储器电路运行的一内核或一操作系统在开机时所执行的所述程序。
3.根据权利要求1所述的内嵌式存储器系统,其特征在于,所述指令包括多个以不同时钟频率执行的读取指令或写入指令。
4.根据权利要求1所述的内嵌式存储器系统,其特征在于,所述内嵌式存储器电路用以依序使用所述相位执行所述指令中的一第一指令以产生一测试结果,且所述主控端电路用以根据所述测试结果确认所述内嵌式存储器电路有利用所述相位中的至少一第一相位正确地执行所述第一指令。
5.根据权利要求4所述的内嵌式存储器系统,其特征在于,所述主控端电路还用以根据一默认存储器标准自所述至少一第一相位选择一特定相位,以产生所述查找表。
6.根据权利要求5所述的内嵌式存储器系统,其特征在于,所述主控端电路还用以根据所述默认存储器标准自所述至少一第一相位排除至少一第二相位。
7.根据权利要求5所述的内嵌式存储器系统,其特征在于,所述主控端电路还用以根据所述默认存储器标准确认所述内嵌式存储器电路响应于所述第一指令所产生的一信号的一建立时间与所述相位之间的一对应关系,以产生所述查找表。
8.根据权利要求5所述的内嵌式存储器系统,其特征在于,所述主控端电路还用以根据所述默认存储器标准确认所述内嵌式存储器电路响应于所述第一指令所产生的一信号的一保持时间与所述相位之间的一对应关系,以产生所述查找表。
9.根据权利要求5所述的内嵌式存储器系统,其特征在于,所述特定相位为所述至少一第一相位中的一中间相位。
10.一种存储器测试方法,包括:
利用具有多个相位的一测试时钟信号以及一程序的多个指令对一内嵌式存储器电路进行测试;以及
记录所述指令中每一个与所述相位之间的一对应关系,以产生一查找表,所述内嵌式存储器电路用以根据所述查找表选择所述相位中对应于所述指令中的一第一指令的一特定相位,以执行所述第一指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018675.9A CN114743584A (zh) | 2021-01-07 | 2021-01-07 | 内嵌式存储器系统与存储器测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018675.9A CN114743584A (zh) | 2021-01-07 | 2021-01-07 | 内嵌式存储器系统与存储器测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114743584A true CN114743584A (zh) | 2022-07-12 |
Family
ID=82274294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110018675.9A Pending CN114743584A (zh) | 2021-01-07 | 2021-01-07 | 内嵌式存储器系统与存储器测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114743584A (zh) |
-
2021
- 2021-01-07 CN CN202110018675.9A patent/CN114743584A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6334174B1 (en) | Dynamically-tunable memory controller | |
JP3292864B2 (ja) | データ処理装置 | |
TW451193B (en) | A method to determine the timing setting value of dynamic random access memory | |
US6766474B2 (en) | Multi-staged bios-based memory testing | |
US8151130B2 (en) | Plural voltage level detection upon power drop for switching to standby mode with or without complete state saving interrupt processing | |
US20030145191A1 (en) | Computer system and method of controlling the same | |
US20120060023A1 (en) | Methods for booting an operating system using non-volatile memory | |
JP2005135407A (ja) | 電圧マージニングを使用してコンピュータシステムのコンポーネントをテストするシステムおよび方法 | |
US9256556B2 (en) | RAM memory device capable of simultaneously accepting multiple accesses | |
US6457137B1 (en) | Method for configuring clock ratios in a microprocessor | |
CN114743584A (zh) | 内嵌式存储器系统与存储器测试方法 | |
JP2005149501A (ja) | Dmaを使用して拡張カードでメモリをテストするためのシステムおよび方法 | |
TWI744157B (zh) | 內嵌式記憶體系統與記憶體測試方法 | |
JP2005149503A (ja) | Dmaを使用してメモリをテストするためのシステムおよび方法 | |
US5357615A (en) | Addressing control signal configuration in a computer system | |
JP2001014893A (ja) | パターン発生器及び電気部品試験装置 | |
CN112912958A (zh) | 使用内置自测控制器测试只读存储器 | |
JP2954666B2 (ja) | メモリチェック方式 | |
JPH01261758A (ja) | コンピュータ装置 | |
US7124061B2 (en) | System LSI | |
CN108268392B (zh) | 记忆体超频方法及电脑装置 | |
JP2850831B2 (ja) | デバッグ装置 | |
US20200104075A1 (en) | Information processing apparatus and control method thereof and program | |
TW201624495A (zh) | 主機板開機初始檢測程序之記憶體容錯方法 | |
JP4761120B2 (ja) | 電子機器、画像形成装置 |
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 |