CN108874686B - 内存参数调节方法、装置及设备 - Google Patents
内存参数调节方法、装置及设备 Download PDFInfo
- Publication number
- CN108874686B CN108874686B CN201710318597.8A CN201710318597A CN108874686B CN 108874686 B CN108874686 B CN 108874686B CN 201710318597 A CN201710318597 A CN 201710318597A CN 108874686 B CN108874686 B CN 108874686B
- Authority
- CN
- China
- Prior art keywords
- delay
- memory chip
- read
- write
- memory
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种内存参数调节方法、装置及设备,该方法包括:逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的DQS信号与时钟信号的上升沿对齐时,得到第一读时延;逐步减小内存芯片的初始写时延,直至内存芯片接收内存控制器根据减小后的初始写时延发送的DQS信号与时钟信号的上升沿对齐时,得到第一写时延;若接收到内存芯片根据第一读时延发送的DQS信号的起始位置不正确,将第一读时延减小预设时钟周期,直至起始位置正确;若根据调节后的第一读时延和第一写时延检测得到的内存芯片的读写测试结果不正确,则将第一写时延减小预设时钟周期,直至读写测试结果正确。用于提高确定得到的内存参数的准确性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种内存参数调节方法、装置及设备。
背景技术
随着内存技术的不断发展,内存储器DDR3得到了广泛的应用,DDR3中可以包括多个内存模组,每一个内存模组中包括多个内存芯片,内存控制器可以对内存模组中的每一个内存芯片进行控制。
在实际应用过程中,在进行数据存储时,一个数据被划分成多位,将数据的不同位存储在内存模组的不同内存芯片中,因此,在内存控制器对内存芯片进行读写操作时,内存控制器需要同时对每一个内存芯片进行读写操作。为了简化布线,内存控制器可以以fly-by的布线方式与内存模组中各个内存芯片进行连接,在fly-by的布线方式中,内存控制器与总线的一端连接,总线的另一端依次经过每个内存芯片,使得每个内存芯片串联,这样,导致内存控制器与每一个内存芯片之间的布线长度不同,使得内存控制器在内存芯片进行读写操作时,读写信号无法同时到达每一个内存芯片,为了使得信号可以同时到达每一个内存芯片,需要为每一个内存芯片配置不同的内存参数(读时延和写时延)。
在现有技术中,通常根据如下实现方式确定内存参数的读时延和写时延:对于读时延,通常设置一个初始读时延,并调整该初始读时延,直至初始读时延对应的DQS信号与时钟信号的上升沿对齐,并根据上述类似的方法确定内存芯片的写时延。然而,根据上述方法确定得到的读时延和写时延发送DQS信号时,可能会使得对端接收到的DQS信号的起始位置无法与正确的时钟信号上升沿对齐,导致根据上述方法确定得到的内存参数的准确性较差。
发明内容
本发明实施例提供一种内存参数调节方法、装置及设备,提高了确定得到的内存参数的准确性。
第一方面,本发明实施例提供一种内存参数调节方法,应用于内存控制器,该方法包括:
逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延;
逐步减小内存芯片的初始写时延,直至所述内存芯片接收所述内存控制器根据减小后的初始写时延发送到DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延;
检测接收到的、所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确,若否,则将所述第一读时延减小预设时钟周期,直至所述内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延;
根据所述调节后的第一读时延和所述第一写时延,对所述内存芯片进行读写测试,并判断读写测试结果是否正确,若否,则将所述第一写时延减小预设时钟周期,直至所述读写测试结果正确。
在一种可能的实施方式中,逐步减小内存芯片的初始读时延,并接收内存芯片根据减小后的初始读时延发送的数据选通信号DQS信号,直至接收到的DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延,包括:
接收所述内存芯片根据所述初始读时延发送的DQS信号;
若接收到的DQS信号与所述时钟信号的上升沿未对齐,则逐步减小所述初始读时延,直至接收到所述内存芯片根据每次减小后的初始读时延发送的DQS信号与所述时钟信号的上升沿对齐;
将接收到的DQS信号与所述时钟信号的上升沿对齐时的读时延,确定为所述第一读时延。
在另一种可能的实施方式中,逐步减小内存芯片的初始写时延,并根据所述减小后的初始写时延向所述内存芯片发送DQS信号,直至所述内存芯片接收到DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延,包括:
获取所述内存芯片的初始写时延;
根据所述初始写时延向所述内存芯片发送DQS信号;
若未接收到所述内存芯片发送的对齐信号,则逐步减小所述初始写时延,直至接收到所述内存芯片发送的对齐信号,所述对齐信号用于指示所述内存芯片接收到所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号上升沿对齐;
将接收到对齐信号时的写时延确定为所述第一写时延。
在另一种可能的实施方式中,检测接收到的、所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确,包括:
将所述第一读时延减小N个时钟周期,得到第二读时延,所述N大于0.5且小于1;
获取在所述N个时钟周期内所述内存芯片发送的数据信号;
判断所述数据信号是否全为零;
若是,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置正确;
若否,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置错误。
在另一种可能的实施方式中,根据所述第一读时延和所述第一写时延,对所述内存芯片进行读写测试,并判断读写测试结果是否正确,包括:
根据所述第一写时延,向所述内存芯片的预设地址中写入第一数据;
根据所述第一读时延,在所述内存芯片的预设地址读取第二数据;
判断所述第一数据和所述第二数据是否相同;
若是,则确定所述读写测试结果正确;
若否,则确定所述读写测试结果错误。
第二方面,本发明实施例提供一种内存参数调节装置,包括第一调节模块、第二调节模块、第一检测模块、第三调节模块、第二检测模块和第四调节模块,其中,
所述第一调节模块用于,逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延;
所述第二调节模块用于,逐步减小内存芯片的初始写时延,直至所述内存芯片接收所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延;
所述第一检测模块用于,检测接收到的、所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确;所述第三调节模块用于,在所述第一检测模块检测所述起始位置不正确时,则将所述第一读时延减小预设时钟周期,直至所述内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延;
所述第二检测模块用于,根据调节后的第一读时延和所述第一写时延,对所述内存芯片进行读写测试,并判断读写测试结果是否正确;所述第四调节模块用于,在所述第二检测模块检测所述读写测试结果不正确时,将所述第一写时延减小预设时钟周期,直至所述读写测试结果正确。
在一种可能的实施方式中,所述第一调节模块具体用于:
接收所述内存芯片根据所述初始读时延发送的DQS信号;
若接收到的DQS信号与所述时钟信号的上升沿未对齐,则逐步减小所述初始读时延,直至接收到所述内存芯片根据每次减小后的初始读时延发送的DQS信号与所述时钟信号的上升沿对齐;
将接收到的DQS信号与所述时钟信号的上升沿对齐时的读时延,确定为所述第一读时延。
在另一种可能的实施方式中,所述第二调节模块具体用于:
获取所述内存芯片的初始写时延;
根据所述初始写时延向所述内存芯片发送DQS信号;
若未接收到所述内存芯片发送的对齐信号,则逐步减小所述初始写时延,并根据每次减小后的初始写时延向所述内存芯片发送DQS信号,直至接收到所述内存芯片发送的对齐信号,所述对齐信号用于指示所述内存芯片接收到所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号上升沿对齐;
将接收到对齐信号时的写时延确定为所述第一写时延。
在另一种可能的实施方式中,所述第一检测模块具体用于:
将所述第一读时延减小N个时钟周期,得到第二读时延,所述N大于0.5且小于1;
获取在所述N个时钟周期内所述内存芯片发送的数据信号;
判断所述数据信号是否全为零;
若是,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置正确;
若否,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置错误。
在另一种可能的实施方式中,所述第二检测模块具体用于:
根据所述第一写时延,向所述内存芯片的预设地址中写入第一数据;
根据所述第一读时延,在所述内存芯片的预设地址读取第二数据;
判断所述第一数据和所述第二数据是否相同;
若是,则确定所述读写测试结果正确;
若否,则确定所述读写测试结果错误。
第三方面,本发明实施例提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面任一项所述的方法。
本发明实施例提供的内存参数调节方法、装置及设备,先对内存芯片进行训练,获取内存芯片的第一读时延和第一写时延,其中,内存芯片根据第一读时延向内存控制器发送的DQS信号时,可以保证内存控制器接收到的DQS信号的上升沿与时钟信号的上升沿对齐,内存控制器根据第一写时延向内存芯片发送DQS信号时,可以保证内存芯片接收到的DQS信号的上升沿与时钟信号的上升沿对齐。进一步的,内存控制器再次对第一读时延进行修正,以确保内存控制器接收到的、内存芯片根据修正后的第一读时延发送的DQS信号的起始位置正确,这样,可以确保修正后的第一读时延的起始位置正确。在确定第一读时延正确之后,再进行读写测试,以实现对第一写时延进行修正,进而确定修正后的第一写时延的起始位置正确,这样,可以确保第一写时延正确,进而提高确定得到的内存参数的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的内存参数调节方法的应用场景示意图;
图2为本发明实施例提供的内存参数调节方法的流程示意图;
图3为本发明实施例提供的时序示意图;
图4为本发明实施例提供的内存参数调节装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的内存参数调节方法的应用场景示意图。请参见图1,包括内存模组101和内存控制器102。其中,内存模组101为DDR3中的任意一个模组,内存模组101中包括多个(例如8个)内存芯片,内存控制102与各内存芯片采用fly-by的方式连接,如图1所示,内存控制器102先与内存芯片1连接,内存控制器102通过内存芯片1与内存芯片2连接,以此类推,内存控制器102通过内存芯片1-内存芯片7与内存芯片8连接。
在实际应用过程中,当内存控制器102需要向内存芯片中写数据时,内存控制器102向各个内存芯片发送DQS信号,以使各个内存芯片根据接收到的DQS信号接收内存控制器发送的数据,并将数据写入内存芯片,例如,在内存芯片接收到DQS信号之后,在DQS信号的上升沿对应的时钟信号(clock信号)的上升沿上接收内存控制器发送的数据。当内存控制器需要从内存芯片中读数据时,在内存控制器向内存芯片发送读消息之后,内存芯片向内存控制器102发送DQS信号,内存控制器根据接收到的DQS信号接收内存控制器发送的数据,例如,在内存控制器接收到内存芯片发送的DQS信号之后,内存控制器在DQS信号的上升沿对应的时钟信号的上升沿接收内存信号发送的数据。
在本申请中,由于内存控制器102与每一个内存芯片之间的布线长度不同,因此,在内存控制器102发送一个DQS信号之后,每个内存芯片接收到DQS信号的时间点不同,或者,各个内存芯片同时向内存控制器102发送一个DQS信号之后,内存控制器接收到每个内存芯片发送的DQS信号的时间点也不同。为了保证每个内存芯片能够同时接收到内存控制器发送的DQS信号、或者内存控制器能够同时接收到每个内存芯片发送的DQS信号,可以根据实际需要调节每一个内存芯片的内存参数(读时延和写时延),以使内存控制器102对各个内存芯片的读写操作可以保持同步,进而提高对内存进行读写的可靠性。
下面,通过具体实施例,对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。
图2为本发明实施例提供的内存参数调节方法的流程示意图。本发明实施例的执行主体可以为内存控制器,请参见图2,该方法可以包括:
S201、逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的DQS信号与时钟信号的上升沿对齐时,得到内存芯片的第一读时延。
在实际应用过程中,内存控制器可以周期性对每一个内存芯片的内存参数(读时延和写时延)进行调节,且对每一个内存芯片的内存参数的调节过程相同,在本发明实施例中,以内存控制器对内存模组中的任意一个内存芯片的调节过程为例,对本申请所示的技术方案进行详细说明。
在本发明实施例中,每一个内存芯片对应有初始读时延和初始写时延,可选的,每一个内存模组中的所有内存芯片的初始读时延可以相同,可选的,每一个内存模组中的所有内存芯片的初始写时延可以相同。
可选的,可以通过如下可行的实现方式获取内存芯片的第一读时延:当需要获取内存芯片的第一读时延时,可以向内存芯片发送调试指令,以使内存芯片根据调试指令与内存控制器进行交互,具体的:
在内存芯片接收到调试指令之后,内存芯片获取初始读时延,并根据初始读时延向内存控制器发送DQS信号,内存控制器判断接收到的DQS信号与时钟信号的上升沿是否对齐。
若对齐,则内存控制器将初始读时延确定为内存芯片的第一读时延。
若不对齐,则内存控制器将将初始读时延减小预设数值,并将减小后的初始读时延发送给内存芯片,以使内存芯片根据减小后的初始读时延向内存控制器发送DQS信号,在内存控制器接收到DQS信号之后,再次判断DQS信号与时钟信号的上升沿是否对齐,若对齐,则将该减小后的初始读时延确定为第一读时延,若不对齐,则继续将减小后的初始读时延再减小预设数值,重复上述过程,直至内存控制器接收到内存芯片发送的DSQ信号与时钟信号的上升沿对齐,将DSQ信号与时钟信号的上升沿对齐时的读时延确定为第一读时延。其中,内存控制器和各内存芯片中的时钟信号是同步的。可选的,该预设数值可以一个时钟周期的十分之一等,在实际应用过程中,可以根据实际需要设置该预设数值。
S202、逐步减小内存芯片的初始写时延,直至内存芯片接收到内存控制器根据减小后的初始写时延发送的DQS信号与时钟信号的上升沿对齐时,得到内存芯片的第一写时延。
可选的,可以通过如下可行的实现方式得到内存芯片的第一写时延:当需要获取内存芯片的第一写时延时,可以向内存芯片发送调试指令,以使内存芯片根据调试指令与内存控制器进行交互,具体的:
内存控制器可以先获取内存芯片的初始写时延,并根据初始写时延向内存芯片发送DQS信号,在内存芯片接收到DQS信号之后,判断DQS信号的上升沿和时钟信号的上升沿是否对齐。
若对齐,则内存芯片向内存控制器发送对齐信号以通知内存控制器,相应的,内存控制器将初始写时延确定为内存芯片的第一写时延。
若不对齐,则内存芯片不会向内存控制器发送对齐信号,相应的,内存控制器将初始写时延减小一定数值,并根据减小后的初始写时延向内存芯片发送DQS信号,在内存芯片接收到DQS信号之后,内存芯片判断DQS信号与时钟信号的上升沿是否对齐,若不对齐,则内存控制器接收不到对齐信号,则内存控制器继续将减小后的初始写时延再减小一定数值,重复上述过程,直至内存控制器接收到内存芯片发送的对齐信号,并将对齐信号对应的写时延确定为第一写时延。
S203、检测接收到的、内存芯片根据第一读时延发送的DQS信号的起始位置是否正确,若否,则将第一读时延减小预设时钟周期,直至内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延。
在确定得到第一读时延之后,在内存芯片根据第一读时延向内存控制器发送DQS信号时,内存控制器接收到的DQS信号的起始位置(起始时钟)可能比内存控制器应该接收到的DQS信号晚一个或多个时钟周期,因此,需要对第一读时延进行再次调整。
可选的,在内存控制器接收到内存芯片根据第一读时延发送的DQS信号之后,内存控制器判断DQS信号的起始位置是否正确,可选的,内存控制器可以通过如下可行的实现方式检测DQS信号的起始位置是否正确:
内存控制器将第一读时延减小N个时钟周期,得到第二读时延,N大于0.5且小于1,获取在N个时钟周期内内存芯片发送的数据信号,并判断数据信号是否全为零;若是,则确定内存芯片根据第一读时延发送的DQS信号的起始位置正确;若否,则确定内存芯片根据第一读时延发送的DQS信号的起始位置错误。
若第一读时延正确,则内存控制器接收到的、内存芯片根据第一读时延发送的DQS信号的起始位置正确,相应的,若将第一读时延减小N个时钟周期之后,在该N个时钟周期内,内存控制器接收到的、内存芯片发送的数据信号应该全为零。
若第一读时延错误,则内存控制器接收到的、内存芯片根据第一读时延发送的DQS信号的起始位置错误,相应的,若将第一读时延减小N个时钟周期之后,在该N个时钟周期内,内存控制器接收到的、内存芯片发送的数据信号中则会出现1。
可选的,N可以为0.75,当然,在实际应用过程中,可以根据实际需要设置N,本发明实施例对此不作具体限定。
在确定得到第一读时延对应的DQS信号的起始位置错误时,则将第一读时延减小预设时钟周期,并根据上述方法判断减小后的第一读时延对应的DQS信号的起始位置是否正确,重复上述过程,直至内存芯片接收到的DQS信号的起始位置正确。可选的,预设时钟周期可以为1个时钟周期。
S204、根据调节后的第一读时延和第一写时延,对内存芯片进行读写测试,并判断读写测试结果是否正确,若否,则将第一写时延减小预设时钟周期,直至读写测试结果正确。
可选的,可以通过如下可行的实现方式判断检测结果是否正确:
内存控制器根据第一写时延,向内存芯片的预设地址中写入第一数据,根据第一读时延,在内存芯片的预设地址读取第二数据,并判断第一数据和第二数据是否相同,若是,则确定读写测试结果正确,若否,则确定读写测试结果错误。
具体的,若第一写时延也是正确的,则当内存控制器根据第一写时延向内存芯片的预设地址中写入第一数据时,可以准确的将第一数据写入预设地址,若第一写时延是错误的,则将第一数据写入地址比预设地址偏后。通过S201和S203,可以确定第一读时延是正确的,因此,在根据第一读时延在内存芯片的预设地址读取的第二数据与第一数据相同时,则说明读写测试结果正确,则第一写时延正确,否则,说明读写测试结果错误,则第一写时延错误。
在确定第一写时延错误时,则将第一写时延减小预设时钟周期,并根据上述方法判断读写测试结果是否正确,重复上述过程,直至获取得到的测试结果正确。可选的,预设时钟周期可以为1个时钟周期。
本发明实施例提供的内存参数调节方法,先对内存芯片进行训练,获取内存芯片的第一读时延和第一写时延,其中,内存芯片根据第一读时延向内存控制器发送的DQS信号时,可以保证内存控制器接收到的DQS信号的上升沿与时钟信号的上升沿对齐,内存控制器根据第一写时延向内存芯片发送DQS信号时,可以保证内存芯片接收到的DQS信号的上升沿与时钟信号的上升沿对齐。进一步的,内存控制器再次对第一读时延进行修正,以确保内存控制器接收到的、内存芯片根据修正后的第一读时延发送的DQS信号的起始位置正确,这样,可以确保修正后的第一读时延的起始位置正确。在确定第一读时延正确之后,再进行读写测试,以实现对第一写时延进行修正,进而确定修正后的第一写时延的起始位置正确,这样,可以确保第一写时延正确,进而提高确定得到的内存参数的准确性。
下面,结合图3,通过具体示例,对内存参数的调节过程进行详细说明。
图3为本发明实施例提供的时序示意图。请参见图3,内存芯片和内存控制器中的clock信号是同步的。
请参见301和302,内存控制器根据初始读时延向内存控制器发送DQS信号如301所示,相应的,内存控制器接收到的DQS信号如302所示。
内存控制器判断接收到的如302中所示的DQS信号的上升沿和clock信号的上升沿未对齐,则内存控制器将读初始读时延减小一定的数值,得到读时延1,并将读时延1发送给内存芯片,以使内存芯片根据读时延1发送DQS信号。
请参见303和304,内存控制器根据读时延1向内存控制器发送DQS信号如303所示,相应的,内存控制器接收到的DQS信号如304所示。
内存控制器判断接收到的如304中所示的DQS信号的上升沿和clock信号的上升沿对齐,则将读时延1确定为第一读时延。
在内存控制器确定得到内存芯片的第一读时延之后,内存控制器将第一读时延减小0.75个时钟周期,得到读时延2,并将读时延2发送给内存芯片,以使内存芯片根据读时延2发送DQS信号。在内存控制器接收到内存芯片根据读时延2发送的DQS信号之后,内存控制器获取在该0.75个时钟周期内内存芯片发送的数据信号,并判断数据信号是否全为零,假设在该0.75个时钟周期内获取到内存芯片发送的数据信号中包括连续的1,则说明内存芯片根据第一读时延发送的DQS信号的起始位置错误。
由于确定内存芯片根据第一读时延发送的DQS信号的起始位置错误,则将第一读时延减小一个时钟周期,得到读时延3,并判断内存芯片根据读时延3发送的DQS信号的起始位置是否错误,具体的:内存控制器将读时延3减小0.75个时钟周期,得到读时延4,并将读时延4发送给内存芯片,以使内存芯片根据读时延4发送DQS信号。在内存控制器接收到内存芯片根据读时延4发送的DQS信号之后,内存控制器获取在该0.75个时钟周期内内存芯片发送的数据信号,并判断数据信号是否全为零,假设在该0.75个时钟周期内获取到内存芯片发送的数据信号全为0,则说明内存芯片根据读时延3发送的DQS信号的起始位置正确,进而可以确定该内存芯片的读时延应该为读时延3。
请参见305和306,内存控制器根据读时延3向内存控制器发送DQS信号如305所示,相应的,内存控制器接收到的DQS信号如306所示,此时,内存控制器接收到的DQS信号的上升沿与clock信号的上升沿对齐,且DQS信号的起始位置正确。
图4为本发明实施例提供的内存参数调节装置的结构示意图。内存参数调节装置可以设置在内存控制器中。请参见图4,该装置可以包括第一调节模块11、第二调节模块12、第一检测模块13、第三调节模块14、第二检测模块15和第四调节模块16,其中,
所述第一调节模块11用于,逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延;
所述第二调节模块12用于,逐步减小内存芯片的初始写时延,直至所述内存芯片接收内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延;
所述第一检测模块13用于,检测接收到的、所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确;所述第三调节模块14用于,在所述第一检测模块13检测所述起始位置不正确时,则将所述第一读时延减小预设时钟周期,直至所述内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延;
所述第二检测模块15用于,根据所述调节后的第一读时延和所述第一写时延,对所述内存芯片进行读写测试,并判断读写测试结果是否正确;所述第四调节模块16用于,在所述第二检测模块15检测所述读写测试结果不正确时,将所述第一写时延减小预设时钟周期,直至所述读写测试结果正确。
本发明实施例所示的内存参数调节装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第一调节模块11具体用于:
接收所述内存芯片根据所述初始读时延发送的DQS信号;
若接收到的DQS信号与所述时钟信号的上升沿未对齐,则逐步减小所述初始读时延,直至接收到所述内存芯片根据每次减小后的初始读时延发送的DQS信号与所述时钟信号的上升沿对齐;
将接收到的DQS信号与所述时钟信号的上升沿对齐时的读时延,确定为所述第一读时延。
在另一种可能的实施方式中,所述第二调节模块12具体用于:
获取所述内存芯片的初始写时延;
根据所述初始写时延向所述内存芯片发送DQS信号;
若未接收到所述内存芯片发送的对齐信号,则逐步减小所述初始写时延,并根据每次减小后的初始写时延向所述内存芯片发送DQS信号,直至接收到所述内存芯片发送的对齐信号,所述对齐信号用于指示所述内存芯片接收到所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号上升沿对齐;
将接收到对齐信号时的写时延确定为所述第一写时延。
在另一种可能的实施方式中,所述第一检测模块13具体用于:
将所述第一读时延减小N个时钟周期,得到第二读时延,所述N大于0.5且小于1;
获取在所述N个时钟周期内所述内存芯片发送的数据信号;
判断所述数据信号是否全为零;
若是,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置正确;
若否,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置错误。
在另一种可能的实施方式中,所述第二检测模块15具体用于:
根据所述第一写时延,向所述内存芯片的预设地址中写入第一数据;
根据所述第一读时延,在所述内存芯片的预设地址读取第二数据;
判断所述第一数据和所述第二数据是否相同;
若是,则确定所述读写测试结果正确;
若否,则确定所述读写测试结果错误。
本发明实施例所示的内存参数调节装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本发明实施例提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面任一项所述的方法。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面任一项所述的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。
Claims (12)
1.一种内存参数调节方法,其特征在于,应用于内存控制器,所述方法包括:
按照预设值逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的数据选通信号DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延;
按照预设值逐步减小内存芯片的初始写时延,直至所述内存芯片接收所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延;
检测接收到的所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确,若否,则将所述第一读时延减小预设时钟周期,直至所述内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延;
根据所述第一写时延,向所述内存芯片的预设地址中写入第一数据;根据所述第一读时延,在所述内存芯片的预设地址读取第二数据;根据所述第一数据和所述第二数据判断读写测试结果是否正确,若否,则将所述第一写时延减小预设时钟周期,直至所述读写测试结果正确。
2.根据权利要求1所述的方法,其特征在于,按照预设值逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的数据选通信号DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延,包括:
接收所述内存芯片根据所述初始读时延发送的DQS信号;
若接收到的DQS信号与所述时钟信号的上升沿未对齐,则按照预设值逐步减小所述初始读时延,直至接收到所述内存芯片根据每次减小后的初始读时延发送的DQS信号与所述时钟信号的上升沿对齐;
将接收到的DQS信号与所述时钟信号的上升沿对齐时的读时延,确定为所述第一读时延。
3.根据权利要求1或2所述的方法,其特征在于,按照预设值逐步减小内存芯片的初始写时延,直至所述内存芯片接收所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延,包括:
获取所述内存芯片的初始写时延;
根据所述初始写时延向所述内存芯片发送DQS信号;
若未接收到所述内存芯片发送的对齐信号,则按照预设值逐步减小所述初始写时延,直至接收到所述内存芯片发送的对齐信号,所述对齐信号用于指示所述内存芯片接收到所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号上升沿对齐;
将接收到对齐信号时的写时延确定为所述第一写时延。
4.根据权利要求1或2所述的方法,其特征在于,检测接收到的所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确,包括:
将所述第一读时延减小N个时钟周期,得到第二读时延,所述N大于0.5且小于1;
获取在所述N个时钟周期内所述内存芯片发送的数据信号;
判断所述数据信号是否全为零;
若是,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置正确;
若否,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置错误。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一数据和所述第二数据判断读写测试结果是否正确,包括:
判断所述第一数据和所述第二数据是否相同;
若是,则确定所述读写测试结果正确;
若否,则确定所述读写测试结果错误。
6.一种内存参数调节装置,其特征在于,包括第一调节模块、第二调节模块、第一检测模块、第三调节模块、第二检测模块和第四调节模块,其中,
所述第一调节模块用于,按照预设值逐步减小内存芯片的初始读时延,直至接收到内存芯片根据减小后的初始读时延发送的数据选通信号DQS信号与时钟信号的上升沿对齐时,得到所述内存芯片的第一读时延;
所述第二调节模块用于,按照预设值逐步减小内存芯片的初始写时延,直至所述内存芯片接收内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号的上升沿对齐时,得到所述内存芯片的第一写时延;
所述第一检测模块用于,检测接收到的所述内存芯片根据所述第一读时延发送的DQS信号的起始位置是否正确;所述第三调节模块用于,在所述第一检测模块检测所述起始位置不正确时,则将所述第一读时延减小预设时钟周期,直至所述内存芯片接收到的DQS信号的起始位置正确,得到调节后的第一读时延;
所述第二检测模块用于,根据所述第一写时延,向所述内存芯片的预设地址中写入第一数据;根据所述第一读时延,在所述内存芯片的预设地址读取第二数据;根据所述第一数据和所述第二数据判断读写测试结果是否正确;
所述第四调节模块用于,在所述第二检测模块检测所述读写测试结果不正确时,将所述第一写时延减小预设时钟周期,直至所述读写测试结果正确。
7.根据权利要求6所述的装置,其特征在于,所述第一调节模块具体用于:
接收所述内存芯片根据所述初始读时延发送的DQS信号;
若接收到的DQS信号与所述时钟信号的上升沿未对齐,则按照预设值逐步减小所述初始读时延,直至接收到所述内存芯片根据每次减小后的初始读时延发送的DQS信号与所述时钟信号的上升沿对齐;
将接收到的DQS信号与所述时钟信号的上升沿对齐时的读时延,确定为所述第一读时延。
8.根据权利要求6或7所述的装置,其特征在于,所述第二调节模块具体用于:
获取所述内存芯片的初始写时延;
根据所述初始写时延向所述内存芯片发送DQS信号;
若未接收到所述内存芯片发送的对齐信号,则按照预设值逐步减小所述初始写时延,直至接收到所述内存芯片发送的对齐信号,所述对齐信号用于指示所述内存芯片接收到所述内存控制器根据减小后的初始写时延发送的DQS信号与所述时钟信号上升沿对齐;
将接收到对齐信号时的写时延确定为所述第一写时延。
9.根据权利要求6或7所述的装置,其特征在于,所述第一检测模块具体用于:
将所述第一读时延减小N个时钟周期,得到第二读时延,所述N大于0.5且小于1;
获取在所述N个时钟周期内所述内存芯片发送的数据信号;
判断所述数据信号是否全为零;
若是,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置正确;
若否,则确定所述内存芯片根据所述第一读时延发送的DQS信号的起始位置错误。
10.根据权利要求6或7所述的装置,其特征在于,所述第二检测模块具体用于:
判断所述第一数据和所述第二数据是否相同;
若是,则确定所述读写测试结果正确;
若否,则确定所述读写测试结果错误。
11.一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710318597.8A CN108874686B (zh) | 2017-05-08 | 2017-05-08 | 内存参数调节方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710318597.8A CN108874686B (zh) | 2017-05-08 | 2017-05-08 | 内存参数调节方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874686A CN108874686A (zh) | 2018-11-23 |
CN108874686B true CN108874686B (zh) | 2021-08-03 |
Family
ID=64287291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710318597.8A Active CN108874686B (zh) | 2017-05-08 | 2017-05-08 | 内存参数调节方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874686B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110428856B (zh) * | 2019-07-29 | 2021-06-08 | 珠海市一微半导体有限公司 | 一种用于读写ddr内存的延时参数优化方法和系统 |
CN110928736B (zh) * | 2019-12-06 | 2022-07-12 | 迈普通信技术股份有限公司 | 内存参数调试方法及装置 |
CN111221582B (zh) * | 2020-01-02 | 2024-04-12 | 深圳中电长城信息安全系统有限公司 | 一种内存训练的方法及系统 |
CN111693847B (zh) * | 2020-05-18 | 2022-08-12 | 大唐微电子技术有限公司 | 一种芯片测试方法和装置 |
CN114356206A (zh) * | 2020-09-30 | 2022-04-15 | 华为技术有限公司 | 一种内存训练方法、内存控制器、处理器和电子设备 |
CN115116530A (zh) * | 2022-05-09 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 存储器的校验管脚处理方法、装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479544A (zh) * | 2010-11-30 | 2012-05-30 | 海力士半导体有限公司 | 半导体存储器件和包括它的半导体存储系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8661285B2 (en) * | 2008-06-06 | 2014-02-25 | Uniquify, Incorporated | Dynamically calibrated DDR memory controller |
JP2010122842A (ja) * | 2008-11-19 | 2010-06-03 | Nec Electronics Corp | 遅延調整装置、半導体装置及び遅延調整方法 |
CN101446841B (zh) * | 2008-12-01 | 2011-05-04 | 炬才微电子(深圳)有限公司 | 确定存储器控制器时钟校准值的方法及系统 |
CN101847434B (zh) * | 2009-03-25 | 2013-06-05 | 中兴通讯股份有限公司 | Ddr接口中的fpga设备的读、写操作方法及设备 |
US8897084B2 (en) * | 2011-09-08 | 2014-11-25 | Apple Inc. | Dynamic data strobe detection |
CN103186488B (zh) * | 2011-12-27 | 2016-01-13 | 澜起科技(上海)有限公司 | 用于内存系统的电压与时序校准方法 |
KR20140080382A (ko) * | 2012-12-20 | 2014-06-30 | 에스케이하이닉스 주식회사 | 파라미터를 제어할 수 있는 테스트를 수행하는 반도체메모리장치 및 반도체시스템 |
CN103684698B (zh) * | 2013-12-30 | 2017-06-06 | 龙芯中科技术有限公司 | 数据信号的处理方法和装置 |
KR102147228B1 (ko) * | 2014-01-23 | 2020-08-24 | 삼성전자주식회사 | 타겟 모듈의 라이트 레벨링을 제어하는 라이트 레벨링 제어 회로 및 그에 따른 라이트 레벨링 제어방법 |
US9536590B1 (en) * | 2014-09-03 | 2017-01-03 | Marvell International Ltd. | System and method of memory electrical repair |
-
2017
- 2017-05-08 CN CN201710318597.8A patent/CN108874686B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479544A (zh) * | 2010-11-30 | 2012-05-30 | 海力士半导体有限公司 | 半导体存储器件和包括它的半导体存储系统 |
Non-Patent Citations (2)
Title |
---|
23.6 A 0.6V 4.266Gb/s/pin LPDDR4X interface with auto-DQS cleaning and write-VWM training for memory controller;Soo-Min Lee 等;《2017 IEEE International Solid-State Circuits Conference (ISSCC)》;20170306;第398-399页 * |
DDR3时序分析与设计;李晋文 等;《计算机科学》;20120430;第39卷(第4期);第293-295页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108874686A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874686B (zh) | 内存参数调节方法、装置及设备 | |
US8234463B2 (en) | Data processing apparatus, memory controller, and access control method of memory controller | |
WO2023207965A1 (zh) | 芯片验证方法及平台 | |
KR101369963B1 (ko) | 복수의 집적회로 장치를 포함하는 집적회로 모듈을테스트하기 위한 시스템 및 방법 | |
KR20200004437A (ko) | 주파수 모드 검출 및 구현을 위한 시스템 및 방법 | |
KR20150094112A (ko) | 반도체 메모리 장치 및 동작 방법 | |
TWI632554B (zh) | 記憶體測試方法 | |
US20100169702A1 (en) | Memory control apparatus, memory optimization program product, and memory optimization method | |
CN108009372B (zh) | 一种ddr内存虚拟写电平校准响应的方法 | |
CN111128269B (zh) | 一种ddr比特延迟对齐方法、装置及存储介质 | |
US20120331346A1 (en) | Test apparatus and test method | |
US20170103797A1 (en) | Calibration method and device for dynamic random access memory | |
CN112559267A (zh) | 集成电路间总线i2c从机以及i2c控制器测试方法 | |
US9256556B2 (en) | RAM memory device capable of simultaneously accepting multiple accesses | |
US20150006980A1 (en) | Circuits for dynamically adaptive bit-leveling by sweep sampling with automatic jitter avoidance | |
US9250992B1 (en) | Test data reporting during memory testing | |
JP5510107B2 (ja) | エラー訂正試験方法 | |
KR20180028613A (ko) | 메모리 시스템 및 메모리 제어 방법 | |
US20220413980A1 (en) | Auto-detection of interconnect hangs in integrated circuits | |
US9196327B2 (en) | Data storage device, storage media controller and storage media control method | |
TWI453588B (zh) | 取樣相位校正方法,使用此取樣相位校正方法的儲存系統 | |
CN111710354B (zh) | 一种ddr3的cmd延时补偿方法、装置、设备及介质 | |
CN102385547B (zh) | 一种dram控制器时序校验功能的验证方法及系统 | |
US9104654B2 (en) | Method and device for efficient trace analysis | |
TWI411976B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |