CN116738237A - 一种存储器系统的训练方法及系统 - Google Patents

一种存储器系统的训练方法及系统 Download PDF

Info

Publication number
CN116738237A
CN116738237A CN202311011692.5A CN202311011692A CN116738237A CN 116738237 A CN116738237 A CN 116738237A CN 202311011692 A CN202311011692 A CN 202311011692A CN 116738237 A CN116738237 A CN 116738237A
Authority
CN
China
Prior art keywords
target
reference voltage
delay value
delay
data bit
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.)
Granted
Application number
CN202311011692.5A
Other languages
English (en)
Other versions
CN116738237B (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.)
Xinyaohui Technology Co ltd
Original Assignee
Xinyaohui 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 Xinyaohui Technology Co ltd filed Critical Xinyaohui Technology Co ltd
Priority to CN202311011692.5A priority Critical patent/CN116738237B/zh
Publication of CN116738237A publication Critical patent/CN116738237A/zh
Application granted granted Critical
Publication of CN116738237B publication Critical patent/CN116738237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)

Abstract

本申请提供一种存储器系统的训练方法及系统,该方法包括:基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;基于目标内存通道上所有数据位分别对应的第一延迟值确定目标内存通道对应的延迟值配置范围;基于预设的参考电压配置范围和延迟值配置范围确定目标数据位的多个可用配置组合;基于多个可用配置组合建立目标数据位的二维数据眼图;基于目标数据位对应的第一延迟值和第一参考电压在二维数据眼图中寻找目标数据位对应的目标点位;将与目标点位对应的第二参考电压和第二延迟值配置到存储器系统中。该训练方法能够有效提高存储器系统的通信性能,使物理层接口和存储器间的通信具有最佳的稳定性。

Description

一种存储器系统的训练方法及系统
技术领域
本申请涉及存储器技术领域,特别涉及一种存储器系统的训练方法及系统。
背景技术
存储器系统一般包括存储控制器和动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)。存储控制器可以通过物理层接口(Physical,PHY)向DRAM中写入数据也可以从DRAM中读取数据,即PHY与DRAM之间进行通信。双倍速率同步动态随机存取存储器(Double Data Rate Dynamic Random Access Memory,DDR DRAM)是目前一种比较常见的存储器。
在存储器(例如,DDR DRAM)系统的PHY与DRAM之间的通信过程中,由于PHY和DRAM内部的电路延迟以及信号在传输路径中产生的路径延迟,信号的时序可能无法满足JEDEC协议的规定,而导致PHY与DRAM之间的通信无法正常进行。为了提高PHY与DRAM之间的通信性能,需要对存储器系统进行训练以对信号延迟进行优化,使得所有信号的时序满足JEDEC协议的要求。其中,通过对存储器系统进行训练来找到合适的参考电压和延迟值以配置到存储器系统中能够达到优化信号延迟的目的,然而,通过现有的存储器系统的训练方法所找到的参考电压和延迟值并不能有效提高PHY和DRAM之间的通信性能,信号延迟仍容易受到温度、电压变化等因素影响而不满足JEDEC协议的要求,具有较差的稳定性和可靠性。
因此,希望提供一种存储器系统的训练方法,能够找到最优的参考电压和延迟值配置到存储器系统中,以有效提高PHY和DRAM之间的通信性能。
发明内容
本申请实施例之一提供一种存储器系统的训练方法,包括:基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围;基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合;基于所述多个可用配置组合建立所述目标数据位的二维数据眼图,其中,所述多个可用配置组合表示为所述二维数据眼图中的多个点位,所述多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成所述二维数据眼图的边界;基于所述目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位对应的目标点位;将与所述目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
在一些实施例中,所述基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围,包括:基于每个所述数据位对应的第一延迟值和所述数据位的周期时间计算每个所述数据位的最小延迟配置值和最大延迟配置值;其中,所述数据位的最小延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的差值,所述数据位的最大延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的和;基于所述目标内存通道上所有数据位的最小延迟配置值和最大延迟配置值中的最小值和最大值确定所述目标内存通道对应的延迟值配置范围。
在一些实施例中,所述基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合,包括:将所述预设的参考电压配置范围中的每个参考电压与所述延迟值配置范围中的每个延迟值组成多个不同的配置组合;将所述配置组合配置到所述存储器系统中,所述存储器系统先后执行写数据动作和读数据动作;基于所述写数据动作所写入的数据与所述读数据动作所读取到的数据的异同判断所述配置组合是否为可用配置组合;其中,若所述写数据动作所写入的数据与所述读数据动作所读取到的数据的相同,则所述配置组合为可用配置组合。
在一些实施例中,所述基于目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位的目标点位,包括:基于所述目标数据位对应的第一延迟值和所述第一参考电压确定初始候选点位;以初始候选点位作为起点寻找下一个候选点位,其中,所述初始候选点位作为第一个找到的候选点位;若当前找到的候选点位到所述边界的最小距离大于上一个找到的候选点位到所述边界的最小距离,则继续寻找下一个候选点位;若当前找到的候选点位到所述边界的最小距离不大于上一个找到的候选点位到所述边界的最小距离,则将上一个找到的候选点位作为所述目标数据位的目标点位。
在一些实施例中,所述寻找下一个候选点位,包括:确定当前找到的候选点位到所述边界的最小距离以及对应的边界点位;基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,所述下一个候选点位与所述当前找到的候选点位对应的边界点位分别位于所述当前找到的候选点位的两侧。
在一些实施例中,还包括:基于所述目标点位与所述边界在垂直方向上的最小距离确定所述第二参考电压的安全余量,以及基于所述目标点位与所述边界在水平方向上的最小距离确定所述第二延迟值的安全余量;基于所述第二参考电压的安全余量和所述第二延迟值的安全余量确定所述目标点位的权重值;基于预设的权重阈值对所述目标点位的权重值进行验证。
在一些实施例中,所述存储器系统包括多个目标内存通道,每个目标内存通道上包括多个目标数据位,所述方法包括:确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值;将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
在一些实施例中,所述方法还包括:确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量;基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定所述内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定所述目标内存通道的延迟值的安全余量。
在一些实施例中,所述存储器系统包括存储控制器、存储器和连接所述存储控制器和所述存储器的物理层接口,当所述存储器系统进行读操作时,所述目标数据位由所述存储器传输至所述物理层接口,所述第二参考电压和所述第二延迟值用于对所述物理层接口进行配置,其中,所述第二参考电压被配置为所述物理层接口接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口中对所述目标数据位进行采样的接收时钟的延迟值;当所述存储器系统进行写操作时,所述目标数据位由所述物理层接口传输至所述存储器,所述第二参考电压和所述第二延迟值分别用于对所述存储器和所述物理层接口进行配置,其中,所述第二参考电压被配置为所述存储器接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口发送所述目标数据位的延迟值。
本申请实施例之一提供一种存储器系统的训练系统,包括:获取模块,所述获取模块用于基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;第一确定模块,所述第一确定模块用于基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围;第二确定模块,所述第二确定模块用于基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合;建立模块,所述建立模块用于基于所述多个可用配置组合建立所述目标数据位的二维数据眼图,其中,所述多个可用配置组合表示为所述二维数据眼图中的多个点位,所述多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成所述二维数据眼图的边界;寻找模块,所述寻找模块用于基于所述目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位对应的目标点位;配置模块,所述配置模块用于将与所述目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
在一些实施例中,所述第一确定模块包括:计算子模块,所述计算子模块用于基于每个所述数据位对应的第一延迟值和所述数据位的周期时间计算每个所述数据位的最小延迟配置值和最大延迟配置值;其中,所述数据位的最小延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的差值,所述数据位的最大延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的和;确定子模块,所述确定子模块用于基于所述目标内存通道上所有数据位的最小延迟配置值和最大延迟配置值中的最小值和最大值确定所述目标内存通道对应的延迟值配置范围。
在一些实施例中,所述第二确定模块包括:组合子模块,所述组合子模块用于将所述预设的参考电压配置范围中的每个参考电压与所述延迟值配置范围中的每个延迟值组成多个不同的配置组合;配置子模块,所述配置子模块用于将所述配置组合配置到所述存储器系统中,所述存储器系统先后执行写数据动作和读数据动作;判断子模块,所述判断子模块用于基于所述写数据动作所写入的数据与所述读数据动作所读取到的数据的异同判断所述配置组合是否为可用配置组合;其中,若所述写数据动作所写入的数据与所述读数据动作所读取到的数据的相同,则所述配置组合为可用配置组合。
在一些实施例中,所述寻找模块包括:初始候选点位确定子模块,所述初始候选点位确定子模块用于基于所述目标数据位对应的第一延迟值和所述第一参考电压确定初始候选点位;寻找子模块,所述寻找子模块用于以初始候选点位作为起点寻找下一个候选点位,其中,所述初始候选点位作为第一个找到的候选点位;若当前找到的候选点位到所述边界的最小距离大于上一个找到的候选点位到所述边界的最小距离,所述寻找子模块则继续寻找下一个候选点位;若当前找到的候选点位到所述边界的最小距离不大于上一个找到的候选点位到所述边界的最小距离,所述寻找子模块则将上一个找到的候选点位作为所述目标数据位的目标点位。
在一些实施例中,所述寻找子模块包括:边界点位确定单元,所述边界点位确定单元用于确定当前找到的候选点位到所述边界的最小距离以及对应的边界点位;候选点位确定单元,所述候选点位确定单元用于基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,所述下一个候选点位与所述当前找到的候选点位对应的边界点位分别位于所述当前找到的候选点位的两侧。
在一些实施例中,还包括:安全余量确定模块,所述安全余量确定模块用于基于所述目标点位与所述边界在垂直方向上的最小距离确定所述第二参考电压的安全余量,以及基于所述目标点位与所述边界在水平方向上的最小距离确定所述第二延迟值的安全余量;权重值确定模块,所述权重值确定模块用于基于所述第二参考电压的安全余量和所述第二延迟值的安全余量确定所述目标点位的权重值;验证模块,所述验证模块用于基于预设的权重阈值对所述目标点位的权重值进行验证。
在一些实施例中,所述存储器系统包括多个目标内存通道,每个目标内存通道上包括多个目标数据位,所述寻找模块还用于确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值;所述配置模块还用于将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
在一些实施例中,还包括第三确定模块,所述第三确定模块还用于确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量,并基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定所述内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定所述目标内存通道的延迟值的安全余量。
在一些实施例中,所述存储器系统包括存储控制器、存储器和连接所述存储控制器和所述存储器的物理层接口;当所述存储器系统进行读操作时,所述目标数据位由所述存储器传输至所述物理层接口,所述配置模块用于将所述第二参考电压和所述第二延迟值配置到所述物理层接口中,其中,所述第二参考电压被配置为所述物理层接口接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口中对所述目标数据位进行采样的接收时钟的延迟值;当所述存储器系统进行写操作时,所述目标数据位由所述物理层接口传输至所述存储器,所述配置模块用于将所述第二参考电压和所述第二延迟值分别配置到所述存储器和所述物理层接口中,其中,所述第二参考电压被配置为所述存储器接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口发送所述目标数据位的延迟值。
通过本申请实施例提供的存储器系统的训练方法及训练系统,可以准确地确定与目标数据位最为匹配的参考电压和延迟值,将其配置到存储器系统中时,可以在物理层接口和存储器通信的过程中,即使温度或电压发生较大的变化,也能保证目标数据位的延迟满足JEDEC协议的要求,使得存储器系统的物理层接口和存储器之间的通信具有较好的稳定性和可靠性。
附图说明
以下附图详细描述了本申请中披露的示例性实施例。其中相同的附图标记在附图的若干视图中表示类似的结构。本领域的一般技术人员将理解这些实施例是非限制性的、示例性的实施例,附图仅用于说明和描述的目的,并不旨在限制本申请的范围,其他方式的实施例也可能同样的完成本申请中的发明意图。应当理解,附图未按比例绘制。其中:
图1是不规则形状的二维数据眼图;
图2是根据本申请一些实施例所示的存储器系统的训练方法的流程图;
图3是根据本申请一些实施例所示的确定目标数据位的多个可用配置组合的方法的流程图;
图4是根据本申请一些实施例所示的寻找目标点位的方法流程图;
图5A至图5F是根据本申请一些实施例所示的二维数据眼图的示意图;
图6是根据本申请一些实施例所示的对目标数据位的目标点位进行验证的方法的流程图;
图7是根据本申请一些实施例所示的训练系统的模块图。
具体实施方式
以下描述提供了本申请的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本申请中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本申请不限于所示的实施例,而是与权利要求一致的最宽范围。
对存储器系统进行训练以找到合适的参考电压和延迟值的过程中,对存储器系统进行一维训练是一个关键步骤。在一维训练过程中,会在给定的参考电压下,通过相关的算法计算出延迟值的可用范围,然后根据延迟值的可用范围找到延迟值的中间值,给定的参考电压和延迟值的中间值即可作为一维训练的结果。在一些场景中,一维训练的结果虽然可以直接被配置到存储器系统中以对信号延迟进行优化,但对于提高PHY和DRAM之间的通信性能并不显著。可以理解的是,在PHY和DRAM之间通信过程中,一般会有多个内存通道来进行数据信号传输,每个内存通道上的数据信号会被分成多个数据位,其中,数据信号中一个比特的数据为一个数据位。因此,对信号延迟的优化可以包括对每个内存通道所传输的数据信号中的每个数据位的延迟进行优化,即在对存储器系统进行训练时每个内存通道所传输的数据信号中的每个数据位均有对应的训练结果(包括一维训练结果)。进一步地,通过对存储器系统进行训练可以找到每个内存通道所传输的数据信号中的每个数据位对应的参考电压和延迟值,将每个内存通道所传输的数据信号中的每个数据位对应的参考电压和延迟值配置到存储器系统中,可以实现对每个内存通道所传输的数据信号中的每个数据位的延迟进行优化的目的。
为了进一步提高物理层接口和存储器之间的通信性能,则需要对存储器系统进行二维训练,目前所采用的二维训练方法一般是通过建立数据位的二维数据眼图,然后根据该数据位对应的一维训练的结果在二维数据眼图中确定与该数据位对应的参考电压和延迟值。其中,二维数据眼图一般近似为椭圆形,二维数据眼图由多个点位组成,每个点位分别表示该数据位可用的参考电压和延迟值的组合,而该数据位可用的参考电压和延迟值的组合是指将某一个参考电压和某一个延迟值组合配置到存储器系统时,该数据位可以在物理层接口和存储器之间能够正常通信,不会出现读写错误,那么该参考电压和延迟值则可称为该数据位可用的参考电压和延迟值的组合。
进一步地,在二维数据眼图中,横坐标表示延迟值,纵坐标表示参考电压,该数据位对应的一维训练的结果在二维数据眼图中会作为起始点位,然后按照预定方向和预定距离在二维数据眼图中寻找候选点位,如果候选点位的权重值小于起始点位的权重值,则可以直接将起始点位作为该数据位对应的目标点位,将其对应的参考电压和延迟值(即一维训练结果)配置到存储器系统中实现对该数据点位的延迟的优化,而如果候选点位的权重值大于起始点位的权重值,则从当前候选点位开始在二维数据眼图中继续按照预定方向和预定距离寻找下一个候选点位,直到寻找到的候选点位的权重值小于上一个候选点位的权重值,则可以将上一个候选点位作为该数据位对应的目标点位,将其对应的参考电压和延迟值配置到存储器系统中实现对该数据位的延迟的优化。其中,点位的权重值为该点位对应的参考电压的安全余量(该点位在纵向上与二维数据眼图的边界的最小距离)与预定的参考电压权重系数的乘积与该点位对应的延迟值的安全余量(该点位在横向上与二维数据眼图的边界的最小距离)与预定的延迟值权重系数的乘积之和。在一些情况下,当数据位的二维数据眼图的形状为较为规则的椭圆形时,目标点位的权重值越大,目标点位到二维数据眼图边界的最小距离就越大,则说明目标点位对应的参考电压和延迟值配置到存储器系统中时,对该数据位的延迟的优化就越有效,该数据位的延迟就越能抵抗温度或电压变化,即在温度或电压变化较大的情况下,该数据位的延迟也能满足JEDEC协议的要求。
然而,通过上述方式确定出来的目标点位对应的参考电压和延迟值配置到存储器系统中时,对数据位的延迟可能不会得到最好的优化,也即是说,通过上述方式确定出来的目标点位对应的参考电压和延迟值并不是与该数据位最为匹配的参考电压和延迟值。
图1是不规则形状的二维数据眼图。
作为示例性说明,如图1所示,当数据位的二维数据眼图的形状是图1中示出的非椭圆形的不规则形状时,若通过上述方式找到的目标点位是P点,但由于二维数据眼图的形状不规则,P点到二维数据眼图边界还存在比P点在横向或纵向上与二维数据眼图的边界的最小距离更小的距离,进一步地,由于该更小距离的存在,一旦温度或电压发生较大变化而导致数据位的延迟发生改变时,数据位的延迟很可能便不再满足JEDEC协议的要求,也即是说,该目标点位对应的参考电压和延迟值并不是与该数据位最为匹配的参考电压和延迟值,将其配置到存储器系统中时,可能还不能达到对该数据位的延迟最佳的优化效果。
本申请实施例提供一种存储器系统的训练方法,包括:基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;基于目标内存通道上所有数据位分别对应的第一延迟值确定目标内存通道对应的延迟值配置范围;基于预设的参考电压配置范围和延迟值配置范围确定目标数据位的多个可用配置组合;基于多个可用配置组合建立目标数据位的二维数据眼图,其中,多个可用配置组合表示为二维数据眼图中的多个点位,多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成二维数据眼图的边界;基于目标数据位对应的第一延迟值和第一参考电压在二维数据眼图中寻找目标数据位对应的目标点位;将与目标点位对应的第二参考电压和第二延迟值配置到存储器系统中。通过本申请实施例提供的存储器系统的训练方法,可以准确地确定与目标数据位最为匹配的参考电压和延迟值,将其配置到存储器系统中时,可以在物理层接口和存储器通信的过程中,即使温度或电压发生较大的变化,也能保证目标数据位的延迟满足JEDEC协议的要求,使得存储器系统的物理层接口和存储器之间的通信具有较好的稳定性和可靠性。
需要说明的是,目标内存通道可以是存储器系统中物理层接口和存储器之间通信时的任意一个内存通道,而目标数据位可以是目标内存通道上的任意一个数据位。其中,内存通道可以是指物理层接口和存储器之间进行数据信号传输的通道,通过内存通道传输的数据信号可以包括多个数据位,一个数据位为一个比特的数据。
另外,如果存储器系统的训练是针对在物理层接口从存储器中读取数据时的训练,本申请所涉及目标数据位对应的参考电压可以是指能够配置到物理层接口中的用于接收目标数据位的参考电压,延迟值则是指能够配置到物理层接口中的用于对目标数据位进行采样的接收时钟的延迟值;而如果存储器系统的训练是针对物理层接口向存储器中写入数据时的训练,本申请所涉及的参考电压可以是指能够配置到存储器中的用于接收目标数据位的参考电压,延迟值则是指能够配置到物理层接口中的发送目标数据位的延迟值。
下面结合实施例和附图对本发明技术方案进行详细说明。
图2是根据本申请一些实施例所示的存储器系统的训练方法的流程图。其中,图2示出的训练方法可以由图7示出的训练系统700所实现。
如图2所示,本申请实施例提供的存储器系统的训练方法200可以包括如下步骤:
步骤S210,基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值。具体地,步骤S210可以由图7中示出的训练系统700中的获取模块710执行。
在步骤S210中,目标数据位是指在存储器系统的物理层接口和存储器通信过程中需要进行延迟优化的数据位,而目标内存通道则是指用于传输目标数据位的内存通道。通过基于预设的第一参考电压获取数据位的第一延迟值,即是对存储器系统进行一维训练,以获取数据位对应的一维训练结果,一维训练结果包括第一参考电压和第一延迟值。
在一些实施例中,在获取目标内存通道上各个数据位对应的第一延迟值时,以获取目标数据位对应的第一延迟值为例,可以将预设的第一参考电压和预设的延迟值范围中的每个延迟值配置到存储器系统中。例如,当存储器系统的训练是针对读操作的训练时,预设的第一参考电压和预设的延迟值范围中的每个延迟值均被配置到物理层接口中,当存储器系统的训练是针对写操作的训练时,预设的第一参考电压和预设的延迟值范围中的每个延迟值被分别配置到存储器和物理层接口中。
当第一参考电压分别与不同的延迟值配置到存储器系统中时,向存储器系统发送相应指令,控制物理层接口向存储器写入与目标数据位对应的训练数据,然后再控制物理层接口从存储器中读取测试数据,若测试数据与训练数据相同,则说明存储器系统的读写正常,进一步说明当前配置到存储器系统中的延迟值是目标数据位可用的。通过上述方式,则可以验证延迟值范围内有哪些延迟值可以是被目标数据位可用的,从而能够从预设的延迟值范围内确定出目标数据位的延迟值可用范围,从而可以从目标数据位的延迟值可用范围内确定出目标数据位对应的第一延迟值。作为示例性说明,可以将目标数据位的延迟值可用范围的中间值确定为目标数据位对应的第一延迟值。可以理解的是,通过采用与获取目标数据位对应的第一延迟值相同的方式,可以获取到目标内存通道上其余数据位对应的第一延迟值。
步骤S220,基于目标内存通道上所有数据位分别对应的第一延迟值确定目标内存通道对应的延迟值配置范围。步骤S220可以由图7中示出的训练系统700中的第一确定模块720执行。
在步骤S220中,第一确定模块720可以基于目标内存通道上每个数据位对应的第一延迟值和每个数据位的周期时间计算每个数据位的最小延迟配置值和最大延迟配置值。其中,数据位的最小延迟配置值为该数据位对应的第一延迟值与该数据位的周期时间的一半的差值,数据位的最大延迟配置值为该数据位对应的第一延迟值与该数据位的周期时间的一半的和。进一步地,第一确定模块720可以基于目标内存通道上所有数据位的最小延迟值配置值和最大延迟配置值中的最小值mindly和最大值maxdly确定目标内存通道对应的延迟值配置范围。具体地,目标内存通道对应的延迟值配置范围为mindly~maxdly。进一步地,目标内存通道对应的延迟值配置范围可以包括从mindly到maxdly的多个延迟值。在一些实施例中,数据位的周期时间为一个UI,一个UI可以分成N个step,一个step则可以作为延迟值的最小单元。作为示例性说明,如果目标内存通道对应的延迟值配置范围为0~63,那么该延迟值配置范围内则可以包括64个延迟值,依次为0、1、2、3……62、63(单位为step)。需要说明的是,目标内存通道对应的延迟值配置范围适用于目标内存通道上目标数据位在内的所有数据位。
步骤S230,基于预设的参考电压配置范围和目标内存通道对应的延迟值配置范围确定目标数据位的多个可用配置组合。其中,步骤S230可以由图7中示出的训练系统700中的第二确定模块730执行。
在一些实施例中,当将一个参考电压和一个延迟值配置到存储器系统中时,如果存储器系统针对目标数据位能正常进行读写操作,则该参考电压和该延迟值则可以称之为目标数据位的一个可用配置组合。关于如何预设的参考电压配置范围和目标内存通道对应的延迟值配置范围确定目标数据位的多个可用配置组合可以参考本申请其他地方的描述,在此先不进行过多描述。
步骤S240,基于多个可用配置组合建立目标数据位的二维数据眼图。其中,步骤S240可以由图7中示出的训练系统700中的建立模块740执行。
在建立目标数据位的二维数据眼图时,横坐标为延迟值,纵坐标为参考电压,因此,目标数据位的多个可用配置组合可以表示为二维数据眼图中的多个点位,即每个点位具有对应的参考电压和延迟值。进一步地,二维数据眼图可以由目标数据位的多个可用配置组合表示的多个点位组成,其中,多个可用配置组合表示的多个点位中可以包括多组延迟值相同的点位,即每组延迟值相同的点位在同一纵向直线上,各组延迟值相同的点位中参考电压最小的点位相互之间的连线与各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成了二维数据眼图的边界。作为示例性说明,多个可用配置组合表示的多个点位中延迟值相同的点位可以表示为(d1,v1min~v1max)、(d2,v2min~v2max)……(dn,vnmin~vnmax)等。以(d1,v1min~v1max)为例,(d1,v1min~v1max)包括多个延迟值为d1的点位,其数量为v1min~v1max之间的参考电压的数量,(d1,v1min)为(d1,v1min~v1max)这组点位中参考电压最小的点位,(d1,v1max)为(d1,v1min~v1max)这组点位中参考电压最大的点位。进一步地,(d1,v1min)、(d2,v2min)……(dn,vnmin)相互之间的连线与(d1,v1max)、(d2,v2max)……(dn,vnmax)相互之间的连线可以构成二维数据眼图的边界。
步骤S250,基于目标数据位对应的第一延迟值和第一参考电压在二维数据眼图寻找目标数据位的目标点位。其中,步骤S250可以由图7中示出的训练系统700中的寻找模块750执行。
在一些实施例中,目标点位可以是目标数据位的第一延迟值和第一参考电压对应在二维数据眼图的点位,也可以是二维数据眼图中的其他点位。其中,目标点位对应第二参考电压和第二延迟值。进一步地,第二参考电压和第二延迟值是与目标数据位最为匹配的参考电压和延迟值,也即是说,将第二参考电压和第二延迟值配置到存储器系统中时,目标数据位的延迟可以得到最好的优化,保证目标数据位的延迟即使在存储器温度或电压发生较大变化的情况下,也能满足JEDEC协议的要求,具有较好的容错能力和抗干扰(温度或电压变化的干扰)性能。关于如何寻找目标点位的更多描述可以在本说明书其他地方找到,在此先不进行过多描述。
步骤S260,将与目标点位对应的第二参考电压和第二延迟值配置到存储器系统中。其中,步骤S260可以由图7中示出的训练系统700中的配置模块760执行。
在步骤S260中,当存储器系统的训练是针对存储器系统进行读操作的训练时,所获得的目标点位对应的第二参考电压和第二延迟值是用于存储器系统进行读操作时参考电压和延迟值的配置,而当储器系统的训练是针对存储器系统进行写操作的训练时,所获得的目标点位对应的第二参考电压和第二延迟值是用于存储器系统进行写操作时参考电压和延迟值的配置。
进一步地,当存储器系统进行读操作时,目标数据位由存储器传输至物理层接口,此时对存储器系统进行训练得到的目标数据位的目标点位对应的第二参考电压和第二延迟值是用于存储器系统进行读操作时参考电压和延迟值的配置,其中,第二参考电压和第二延迟值用于对物理层接口进行配置,进一步地,第二参考电压被配置为物理层接口目标数据位时的参考电压,第二延迟值被配置为物理层接口对目标数据位进行采样的接收时钟的延迟值。而当存储器系统进行写操作时,目标数据位由物理层接口传输至存储器,此时对存储器系统进行训练得到的目标数据位的目标点位对应的第二参考电压和第二延迟值是用于存储器系统进行写操作时参考电压和延迟值的配置,其中,第二参考电压和第二延迟值用于分别对存储器和物理层接口进行配置,进一步地,第二参考电压被配置为存储器接收目标数据位时的参考电压,第二延迟值被配置为物理层接口发送目标数据位的延迟值。
本申请实施例提供的存储器系统的训练方法既能针对存储器系统进行读操作时的训练,也能针对存储器进行写操作时的训练,使得存储器系统中的物理层接口无论是在向存储器写入数据的过程中还是从存储器中读取数据的过程中,信号延迟均能被较好的优化,信号延迟能够满足JEDEC协议的要求,并且在存储器温度或电压发生较大变化的情况下,也还能满足JEDEC协议的要求,具有较好的容错能力和抗干扰能力,从而能够有效提高物理层接口和存储器之间的通信性能,例如,稳定性、可靠性等,从而有利于实现存储器和存储控制器之间的高速互联。
图3是根据本申请一些实施例所示的确定目标数据位的多个可用配置组合的方法的流程图。
如图3所示,确定目标数据位的多个可用配置组合的方法300可以包括如下步骤:
步骤S310,将预设的参考电压配置范围中的每个参考电压与延迟值配置范围中的每个延迟值组成多个不同的配置组合。
在步骤S310中,配置组合可以是指一个参考电压和一个延迟值的组合。在一些实施例中,预设的参考电压配置范围可以包括多个参考电压,其中,参考电压的最小单元可以为1毫伏。作为示例性说明,如果预设的参考电压配置范围0~127毫伏,那么预设的参考电压配置范围中参考电压的数量则为128个,分别为0、1、2……126、127(单位为毫伏)。在一些实施例中,预设的参考电压配置范围内包括A个参考电压,目标内存通道对应的延迟值配置范围中包括B个延迟值,那么预设的参考电压配置范围中的每个参考电压述延迟值配置范围中的每个延迟值组成的配置组合的数量则为A*B个。作为示例性说明,预设的参考电压配置范围中包括0毫伏、1毫伏、2毫伏三个参考电压,目标内存通道对应的延迟值配置范围中包括0step、1step两个延迟值,那么配置组合的数量则为6个,分别为0毫伏和0step的配置组合、0毫伏和1step的配置组合、1毫伏和0step的配置组合、1毫伏和1step的配置组合、2毫伏和0step的配置组合以及2毫伏和1step的组合。
步骤S320,将配置组合配置到存储器系统中,并使存储器系统先后执行写数据动作和读数据动作。
在步骤S320中,如果对存储器系统进行的训练是针对存储器系统进行读操作时的训练,那么配置组合中的参考电压和延迟值将均被配置到物理层接口中,配置组合中的参考电压被配置为物理层接口中接收目标数据位的参考电压,配置组合中的延迟值被配置为物理层接口中对目标数据位进行采样的接收时钟的延迟值;而如果对存储器系统进行的训练是针对存储器系统进行写操作时的训练,那么配置组合中的参考电压和延迟值将分别被配置到存储器和物理层接口中,配置组合中的参考电压被配置为存储器中接收目标数据位的参考电压,配置组合中的延迟值被配置为物理层接口发送目标数据位的延迟值。
进一步地,在将配置组合配置到存储器系统中时,存储器系统会先后执行写数据动作和读数据动作。具体地,物理层接口会先向存储器写入数据,该数据可以为目标数据位对应的训练数据,然后再从存储器中读取出相应的数据。
步骤S330,基于写数据动作写入的数据和读数据动作读取到的数据的异同判断配置组合是否为可用配置组合。
在步骤S330中,如果配置组合配置到存储器系统中时,先后执行写数据动作和读数据动作,写数据动作写入的数据和读数据动作读取到的数据相同,则说明存储器系统的读写正常,则可以说明该配置组合为目标数据位的可用配置组合。
通过重复执行步骤S320和步骤S330中,便可以确定预设的参考电压配置范围中的每个参考电压与延迟值配置范围中的每个延迟值组成多个不同的配置组合中那些配置组合是目标数据位的可用配置组合,从而可以实现基于预设的参考电压配置范围和延迟值配置范围确定目标数据位的多个可用配置组合。
图4是根据本申请一些实施例所示的寻找目标点位的方法流程图。
如图4所示,寻找目标点位的方法400可以包括如下步骤:
步骤S410,基于目标数据位对应的第一延迟值和第一参考电压确定初始候选点位。
在步骤S410中,目标数据位对应的第一延迟值和第一参考电压在二维数据眼图表示的点位即为初始候选点位,也即是说,初始候选点位对应的参考电压和延迟值分别为目标数据位对应的第一延迟值和第一参考电压。
步骤S420,以初始候选点位作为起点寻找下一个候选点位。
在步骤S420中,初始候选点位可以作为第一个找到的候选点位。
在一些实施例中,可以先确定当前找到的候选点位到二维数据眼图边界的最小距离以及对应的边界点位,然后基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,下一个候选点位与当前找到的候选点位对应的边界点位分别位于当前找到的候选点位的两侧。其中,下一个候选点位与当前找到的候选点位对应的边界点位分别位于当前找到的候选点位的两侧的条件可以为d>d0并且d1<d0、d<d0并且d1>d0、d=d0并且d1=d0、v>v0并且v1<v0、v<v0并且v1>v0、v=v0并且v1= v0等中的一个,其中,d0用于表示当前找到的候选点位对应的延迟值,d用于表示当前找到的候选点位对应的边界点位对应的延迟值,d1用于表示下一个候选点位对应的延迟值,v0用于表示当前找到的候选点位对应的参考电压,v用于表示当前找到的候选点位对应的边界点位对应的参考电压,v1用于表示下一个候选点位对应的参考电压。
步骤S430,若当前找到的候选点位到边界的最小距离大于上一个找到的候选点位到边界的最小距离,则继续寻找下一个候选点位。
步骤S440,若当前找到的候选点位到边界的最小距离不大于上一个找到的候选点位到边界的最小距离,则将上一个找到的候选点位作为目标数据位的目标点位。
基于目标数据位对应的第一延迟值和第一参考电压表示的初始候选点位在二维数据眼图中寻找目标数据位的目标点位,可以使得找到的目标点位对应的第二延迟值位于二维数据眼图的中间位置,从而便于使得物理层接口和存储器之间通信时具有最佳的容错能力和抗干扰能力,即在存储器温度或电压发生较大变化时,物理层接口和存储器之间也能够正常进行通信。
关于步骤S430和步骤440的具体描述可以参考图5A至图5E及其相关描述。
图5A至图5F是根据本申请一些实施例所示的二维数据眼图的示意图。
如图5A和图5B所示,初始候选点位P0作为目标数据位的二维数据眼图中第一个找到的候选点位,P1为P0之后下一个找到的候选点位,其中,r0为P0到二维数据眼图边界的最小距离,r1为P1到二维数据眼图边界的最小距离,因为r1大于r0,所以P0并不能作为目标数据位的目标点位,故在P1之后还需要继续寻找下一个候选点位。
如图5B和图5C所示,P2为P1之后下一个找到的候选点位,r2为P2到二维数据眼图边界的最小距离,因为r2大于r1,所以P1还不能作为目标数据位的目标点位,故在在P2之后还需要继续寻找下一个候选点位。
如图5C和图5D所示,P3为P2之后下一个找到的候选点位,r3为P3到二维数据眼图边界的最小距离,因为r3大于r2,所以P2还不能作为目标数据位的目标点位,故在在P3之后还需要继续寻找下一个候选点位。
如图5D和图5E所示,P4为P3之后下一个找到的候选点位,r4为P4到二维数据眼图边界的最小距离,因为r4大于r3,所以P3还不能作为目标数据位的目标点位,故在在P4之后还需要继续寻找下一个候选点位。
如图5E和图5F所示,P5为P4之后下一个找到的候选点位,r5为P5到二维数据眼图边界的最小距离,因为r5小于r4,所以P4可以作为目标数据位的目标点位,在P5之后不需要再继续寻找下一个候选点位。
在一些实施例中,本申请实施例提供的存储器系统的训练方法还可以包括对目标数据位的目标点位进行验证。
图6是根据本申请一些实施例所示的对目标数据位的目标点位进行验证的方法的流程图。
如图6所示,对目标数据位的目标点位进行验证的方法600可以包括如下步骤:
步骤S610,基于目标点位与二维数据眼图的边界在垂直方向上的最小距离确定第二参考电压的安全余量,以及基于目标点位与二维数据眼图的边界在水平方向上的最小距离确定第二延迟值的安全余量。
在步骤S610中,目标点位与二维数据眼图的边界在垂直方向上的最小距离即为第二参考电压的安全余量,目标点位与二维数据眼图的边界在水平方向上的最小距离即为第二延迟值的安全余量。其由于存储器的温度或电压漂移会对目标点位的位置产生影响而发生改变,若第二参考电压和/或第二延迟值的安全余量越大,目标点位就越不容易受温度或电压漂移的影响而位于二维数据眼图的边界以外,保证温度或电压漂移即使发生较大变化时目标点位也能位于二维数据眼图的边界以内,从而使得存储器的温度或电压漂移发生较大变化时目标数据位的延迟还能够满足JEDEC协议的要求。
步骤S620,基于第二参考电压的安全余量和第二延迟值的安全余量确定目标点位的权重值。
在步骤S620中,目标点位的权重值为第二参考电压的安全余量与预设的参考电压权重系数的乘积以及第二延迟值的安全余量与预设的延迟值权重系数的乘积之和。
步骤S630,基于预设的权重阈值对所述目标点位的权重值进行验证。
在步骤S630中,如果目标点位的权重值大于或等于预设的权重阈值,则说明该目标点位通过了验证,该目标点位对应的第二参考电压和第二延迟值可以作为与目标数据位最为匹配的参考电压和延迟值被配置到存储器系统中,实现对目标数据位的延迟的最优化,如果目标点位小于预设的权重阈值,则说明该目标点位未通过验证,需要重新寻找目标点位。
在一些实施例中,存储器系统包括多个目标内存通道,也即是说,存储器系统中的内存通道都可以作为目标内存通道,每个目标内存通道上包括多个目标数据位,也即是说,每个目标内存通道上的数据位均可以为目标数据位。在对存储器系统进行训练时,需要确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值,然后将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中,这样可以使得存储器系统的每个内存通道上的所有数据位的延迟都能得到优化,从而可以整体提高存物理层接口和存储器之间的通信性能,确保物理层接口和存储器在实际通信过程中具有最佳的稳定性和可靠性。
在一些实施例中,本申请实施例提供的存储器系统的训练方法200还可以包括确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量;基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定内存通道的延迟值的安全余量。由于整个目标内存通道上的数据信号的延迟会受到最敏感的数据位(即目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量最小的数据位)的影响,因此在同一个目标内存通道上所有目标数据位的目标点位对应的第二参考电压和第二延迟值的安全余量中的最小值可以分别用于反映整个目标内存通道的通信性能的垂直敏感性和水平敏感性。
图7是根据本申请一些实施例所示的训练系统的模块图。
如图7所示,本申请实施例还提供一种训练系统700,训练系统700可以对存储器系统进行训练,以提高存储器系统中物理层接口和存储器之间的通信性能,使得物理层接口和存储器在实际通信时具有最佳的可靠性和稳定性。
进一步地,训练系统700可以包括获取模块710、第一确定模块720、第二确定模块730、建立模块740、寻找模块750以及配置模块760。其中,获取模块710可以用于基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;第一确定模块720可以用于基于目标内存通道上所有数据位分别对应的第一延迟值确定目标内存通道对应的延迟值配置范围;第二确定模块730可以用于基于预设的参考电压配置范围和延迟值配置范围确定目标数据位的多个可用配置组合;建立模块740可以用于基于多个可用配置组合建立目标数据位的二维数据眼图,其中,多个可用配置组合表示为二维数据眼图中的多个点位,多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成二维数据眼图的边界;寻找模块750可以用于基于目标数据位对应的第一延迟值和第一参考电压在二维数据眼图中寻找目标数据位对应的目标点位;配置模块760可以用于将与目标点位对应的第二参考电压和第二延迟值配置到存储器系统中。
在一些实施例中,第一确定模块720可以包括计算子模块和确定子模块。其中,计算子模块可以用于基于每个数据位对应的第一延迟值和数据位的周期时间计算每个数据位的最小延迟配置值和最大延迟配置值;其中,数据位的最小延迟配置值为数据位对应的第一延迟值与周期时间的一半的差值,数据位的最大延迟配置值为数据位对应的第一延迟值与周期时间的一半的和;确定子模块可以用于基于目标内存通道上所有数据位的最小延迟配置值和最大延迟配置值中的最小值和最大值确定目标内存通道对应的延迟值配置范围。
在一些实施例中,第二确定模块730可以包括组合子模块、配置子模块和判断子模块。其中,组合子模块可以用于将预设的参考电压配置范围中的每个参考电压与延迟值配置范围中的每个延迟值组成多个不同的配置组合;配置子模块可以用于将配置组合配置到存储器系统中,存储器系统先后执行写数据动作和读数据动作;判断子模块可以用于基于写数据动作所写入的数据与读数据动作所读取到的数据的异同判断配置组合是否为可用配置组合;其中,若写数据动作所写入的数据与读数据动作所读取到的数据的相同,则配置组合为可用配置组合。
在一些实施例中,寻找模块750可以包括初始候选点位确定子模块和寻找子模块。其中,初始候选点位确定子模块可以用于基于目标数据位对应的第一延迟值和第一参考电压确定初始候选点位;寻找子模块可以用于以初始候选点位作为起点寻找下一个候选点位,其中,初始候选点位作为第一个找到的候选点位;若当前找到的候选点位到边界的最小距离大于上一个找到的候选点位到边界的最小距离,寻找子模块则继续寻找下一个候选点位;若当前找到的候选点位到边界的最小距离不大于上一个找到的候选点位到边界的最小距离,寻找子模块则将上一个找到的候选点位作为目标数据位的目标点位。
在一些实施例中,寻找子模块包括边界点位确定单元和候选点位确定单元。其中,边界点位确定单元可以用于确定当前找到的候选点位到边界的最小距离以及对应的边界点位;候选点位确定单元可以用于基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,下一个候选点位与当前找到的候选点位对应的边界点位分别位于当前找到的候选点位的两侧。
在一些实施例中,训练系统还可以包括安全余量确定模块、权重值确定模块和验证模块。其中,安全余量确定模块可以用于基于目标点位与边界在垂直方向上的最小距离确定第二参考电压的安全余量,以及基于目标点位与边界在水平方向上的最小距离确定第二延迟值的安全余量;权重值确定模块可以用于基于第二参考电压的安全余量和第二延迟值的安全余量确定目标点位的权重值;验证模块可以用于基于预设的权重阈值对目标点位的权重值进行验证。
在一些实施例中,存储器系统包括多个目标内存通道,每个目标内存通道上包括多个目标数据位,寻找模块750还可以用于确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值;配置模块760还可以用于将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到存储器系统中。
在一些实施例中,训练系统700还可以包括第三确定模块,第三确定模块可以用于确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量,并基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定目标内存通道的延迟值的安全余量。
在一些实施例中,存储器系统包括存储控制器、存储器和连接存储控制器和存储器的物理层接口;当存储器系统进行读操作时,目标数据位由存储器传输至物理层接口,配置模块760用于将第二参考电压和第二延迟值配置到物理层接口中,其中,第二参考电压被配置为物理层接口接收目标数据位时的参考电压,第二延迟值被配置为物理层接口中对目标数据位进行采样的接收时钟的延迟值;当存储器系统进行写操作时,目标数据位由物理层接口传输至存储器,配置模块760用于将第二参考电压和第二延迟值分别配置到存储器和物理层接口中,其中,第二参考电压被配置为存储器接收目标数据位时的参考电压,第二延迟值被配置为物理层接口发送目标数据位的延迟值。
本申请实施例可能带来的有益效果包括但不限于:通过本申请实施例提供的存储器系统的训练方法及训练系统,可以准确地确定与目标数据位最为匹配的参考电压和延迟值,将其配置到存储器系统中时,可以在物理层接口和存储器通信的过程中,即使温度或电压发生较大的变化,也能保证目标数据位的延迟满足JEDEC协议的要求,使得存储器系统的物理层接口和存储器之间的通信具有较好的稳定性和可靠性。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
需要说明的是,在本申请的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是转动连接,也可以是滑动连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以结合具体情况理解上述术语在本申请中的具体含义。
另外,当本申请说明书中使用了“第一”、“第二”、“第三”等术语描述各种特征时,这些术语仅用于对这些特征进行区分,而不能理解为指示或暗示特征之间的关联性、相对重要性或者隐含指明所指示的特征数量。
除此之外,本申请说明书通过参考理想化的示例性截面图和/或平面图和/或立体图来描述示例性实施例。因此,由于例如制造技术和/或容差导致的与图示的形状的不同是可预见的。因此,不应当将示例性实施例解释为限于在此所示出的区域的形状,而是应当包括由例如制造所导致的形状中的偏差。因此,在图中示出的区域实质上是示意性的,其形状不是为了示出器件的区域的实际形状也不是为了限制示例性实施例的范围。
同时,本申请使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本申请中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

Claims (18)

1.一种存储器系统的训练方法,其特征在于,包括:
基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;
基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围;
基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合;
基于所述多个可用配置组合建立所述目标数据位的二维数据眼图,其中,所述多个可用配置组合表示为所述二维数据眼图中的多个点位,所述多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成所述二维数据眼图的边界;
基于所述目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位对应的目标点位;
将与所述目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
2.根据权利要求1所述的训练方法,其特征在于,所述基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围,包括:
基于每个所述数据位对应的第一延迟值和所述数据位的周期时间计算每个所述数据位的最小延迟配置值和最大延迟配置值;其中,所述数据位的最小延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的差值,所述数据位的最大延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的和;
基于所述目标内存通道上所有数据位的最小延迟配置值和最大延迟配置值中的最小值和最大值确定所述目标内存通道对应的延迟值配置范围。
3.根据权利要求1所述的训练方法,其特征在于,所述基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合,包括:
将所述预设的参考电压配置范围中的每个参考电压与所述延迟值配置范围中的每个延迟值组成多个不同的配置组合;
将所述配置组合配置到所述存储器系统中,所述存储器系统先后执行写数据动作和读数据动作;
基于所述写数据动作所写入的数据与所述读数据动作所读取到的数据的异同判断所述配置组合是否为可用配置组合;其中,若所述写数据动作所写入的数据与所述读数据动作所读取到的数据的相同,则所述配置组合为可用配置组合。
4.根据权利要求1所述的训练方法,其特征在于,所述基于目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位的目标点位,包括:
基于所述目标数据位对应的第一延迟值和所述第一参考电压确定初始候选点位;
以初始候选点位作为起点寻找下一个候选点位,其中,所述初始候选点位作为第一个找到的候选点位;
若当前找到的候选点位到所述边界的最小距离大于上一个找到的候选点位到所述边界的最小距离,则继续寻找下一个候选点位;
若当前找到的候选点位到所述边界的最小距离不大于上一个找到的候选点位到所述边界的最小距离,则将上一个找到的候选点位作为所述目标数据位的目标点位。
5.根据权利要求4所述的训练方法,其特征在于,所述寻找下一个候选点位,包括:
确定当前找到的候选点位到所述边界的最小距离以及对应的边界点位;
基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,所述下一个候选点位与所述当前找到的候选点位对应的边界点位分别位于所述当前找到的候选点位的两侧。
6.根据权利要求1所述的训练方法,其特征在于,还包括:
基于所述目标点位与所述边界在垂直方向上的最小距离确定所述第二参考电压的安全余量,以及基于所述目标点位与所述边界在水平方向上的最小距离确定所述第二延迟值的安全余量;
基于所述第二参考电压的安全余量和所述第二延迟值的安全余量确定所述目标点位的权重值;
基于预设的权重阈值对所述目标点位的权重值进行验证。
7.根据权利要求1所述的训练方法,其特征在于,所述存储器系统包括多个目标内存通道,每个目标内存通道上包括多个目标数据位,所述方法包括:
确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值;
将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
8.根据权利要求7所述的训练方法,其特征在于,还包括:
确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量;
基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定所述内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定所述目标内存通道的延迟值的安全余量。
9.根据权利要求1所述的训练方法,其特征在于,所述存储器系统包括存储控制器、存储器和连接所述存储控制器和所述存储器的物理层接口,
当所述存储器系统进行读操作时,所述目标数据位由所述存储器传输至所述物理层接口,所述第二参考电压和所述第二延迟值用于对所述物理层接口进行配置,其中,所述第二参考电压被配置为所述物理层接口接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口中对所述目标数据位进行采样的接收时钟的延迟值;
当所述存储器系统进行写操作时,所述目标数据位由所述物理层接口传输至所述存储器,所述第二参考电压和所述第二延迟值分别用于对所述存储器和所述物理层接口进行配置,其中,所述第二参考电压被配置为所述存储器接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口发送所述目标数据位的延迟值。
10.一种存储器系统的训练系统,其特征在于,包括:
获取模块,所述获取模块用于基于预设的第一参考电压获取目标内存通道上包括目标数据位在内的所有数据位分别对应的第一延迟值;
第一确定模块,所述第一确定模块用于基于所述目标内存通道上所有数据位分别对应的第一延迟值确定所述目标内存通道对应的延迟值配置范围;
第二确定模块,所述第二确定模块用于基于预设的参考电压配置范围和所述延迟值配置范围确定所述目标数据位的多个可用配置组合;
建立模块,所述建立模块用于基于所述多个可用配置组合建立所述目标数据位的二维数据眼图,其中,所述多个可用配置组合表示为所述二维数据眼图中的多个点位,所述多个点位包括多组延迟值相同的点位,各组延迟值相同的点位中参考电压最小的点位相互之间的连线和各组延迟值相同的点位中参考电压最大的点位相互之间的连线构成所述二维数据眼图的边界;
寻找模块,所述寻找模块用于基于所述目标数据位对应的第一延迟值和所述第一参考电压在所述二维数据眼图中寻找所述目标数据位对应的目标点位;
配置模块,所述配置模块用于将与所述目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
11.根据权利要求10所述的训练系统,其特征在于,所述第一确定模块包括:
计算子模块,所述计算子模块用于基于每个所述数据位对应的第一延迟值和所述数据位的周期时间计算每个所述数据位的最小延迟配置值和最大延迟配置值;其中,所述数据位的最小延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的差值,所述数据位的最大延迟配置值为所述数据位对应的第一延迟值与周期时间的一半的和;
确定子模块,所述确定子模块用于基于所述目标内存通道上所有数据位的最小延迟配置值和最大延迟配置值中的最小值和最大值确定所述目标内存通道对应的延迟值配置范围。
12.根据权利要求10所述的训练系统,其特征在于,所述第二确定模块包括:
组合子模块,所述组合子模块用于将所述预设的参考电压配置范围中的每个参考电压与所述延迟值配置范围中的每个延迟值组成多个不同的配置组合;
配置子模块,所述配置子模块用于将所述配置组合配置到所述存储器系统中,所述存储器系统先后执行写数据动作和读数据动作;
判断子模块,所述判断子模块用于基于所述写数据动作所写入的数据与所述读数据动作所读取到的数据的异同判断所述配置组合是否为可用配置组合;其中,若所述写数据动作所写入的数据与所述读数据动作所读取到的数据的相同,则所述配置组合为可用配置组合。
13.根据权利要求10所述的训练系统,其特征在于,所述寻找模块包括:
初始候选点位确定子模块,所述初始候选点位确定子模块用于基于所述目标数据位对应的第一延迟值和所述第一参考电压确定初始候选点位;
寻找子模块,所述寻找子模块用于以初始候选点位作为起点寻找下一个候选点位,其中,所述初始候选点位作为第一个找到的候选点位;
若当前找到的候选点位到所述边界的最小距离大于上一个找到的候选点位到所述边界的最小距离,所述寻找子模块则继续寻找下一个候选点位;
若当前找到的候选点位到所述边界的最小距离不大于上一个找到的候选点位到所述边界的最小距离,所述寻找子模块则将上一个找到的候选点位作为所述目标数据位的目标点位。
14.根据权利要求13所述的训练系统,其特征在于,所述寻找子模块包括:
边界点位确定单元,所述边界点位确定单元用于确定当前找到的候选点位到所述边界的最小距离以及对应的边界点位;
候选点位确定单元,所述候选点位确定单元用于基于当前找到的候选点位及其对应的边界点位确定下一个候选点位,所述下一个候选点位与所述当前找到的候选点位对应的边界点位分别位于所述当前找到的候选点位的两侧。
15.根据权利要求10所述的训练系统,其特征在于,还包括:
安全余量确定模块,所述安全余量确定模块用于基于所述目标点位与所述边界在垂直方向上的最小距离确定所述第二参考电压的安全余量,以及基于所述目标点位与所述边界在水平方向上的最小距离确定所述第二延迟值的安全余量;
权重值确定模块,所述权重值确定模块用于基于所述第二参考电压的安全余量和所述第二延迟值的安全余量确定所述目标点位的权重值;
验证模块,所述验证模块用于基于预设的权重阈值对所述目标点位的权重值进行验证。
16.根据权利要求10所述的训练系统,其特征在于,所述存储器系统包括多个目标内存通道,每个目标内存通道上包括多个目标数据位,
所述寻找模块还用于确定同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值;
所述配置模块还用于将同一目标内存通道上每个目标数据位的目标点位对应的第二参考电压和第二延迟值配置到所述存储器系统中。
17.根据权利要求16所述的训练系统,其特征在于,还包括第三确定模块,所述第三确定模块还用于确定同一目标内存通道上所有目标数据位的目标点位对应的第二参考电压的安全余量和第二延迟值的安全余量,并基于所有目标数据位的目标点位对应的第二参考电压的安全余量中的最小值确定所述内存通道的参考电压的安全余量,以及基于所有目标数据位的目标点位对应的第二延迟值的安全余量中的最小值确定所述目标内存通道的延迟值的安全余量。
18.根据权利要求10所述的训练系统,其特征在于,所述存储器系统包括存储控制器、存储器和连接所述存储控制器和所述存储器的物理层接口;
当所述存储器系统进行读操作时,所述目标数据位由所述存储器传输至所述物理层接口,所述配置模块用于将所述第二参考电压和所述第二延迟值配置到所述物理层接口中,其中,所述第二参考电压被配置为所述物理层接口接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口中对所述目标数据位进行采样的接收时钟的延迟值;
当所述存储器系统进行写操作时,所述目标数据位由所述物理层接口传输至所述存储器,所述配置模块用于将所述第二参考电压和所述第二延迟值分别配置到所述存储器和所述物理层接口中,其中,所述第二参考电压被配置为所述存储器接收所述目标数据位时的参考电压,所述第二延迟值被配置为所述物理层接口发送所述目标数据位的延迟值。
CN202311011692.5A 2023-08-11 2023-08-11 一种存储器系统的训练方法及系统 Active CN116738237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311011692.5A CN116738237B (zh) 2023-08-11 2023-08-11 一种存储器系统的训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311011692.5A CN116738237B (zh) 2023-08-11 2023-08-11 一种存储器系统的训练方法及系统

Publications (2)

Publication Number Publication Date
CN116738237A true CN116738237A (zh) 2023-09-12
CN116738237B CN116738237B (zh) 2023-11-24

Family

ID=87904766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311011692.5A Active CN116738237B (zh) 2023-08-11 2023-08-11 一种存储器系统的训练方法及系统

Country Status (1)

Country Link
CN (1) CN116738237B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056733A (zh) * 2023-10-11 2023-11-14 芯耀辉科技有限公司 一种存储器系统的训练方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181429A1 (en) * 2012-12-26 2014-06-26 Nvidia Corporation Multi-dimensional hardware data training between memory controller and memory
US20210098039A1 (en) * 2019-09-26 2021-04-01 SK Hynix Inc. Reference voltage training circuit and semiconductor apparatus including the same
CN113178223A (zh) * 2021-04-27 2021-07-27 珠海全志科技股份有限公司 存储器的数据训练方法、计算机装置及计算机可读存储介质
CN113626264A (zh) * 2020-05-07 2021-11-09 三星电子株式会社 存储器模块、计算系统以及计算系统的启动方法
CN113728385A (zh) * 2019-05-24 2021-11-30 英特尔公司 针对存储器设备的芯片选择信号读取操作的训练
CN115116530A (zh) * 2022-05-09 2022-09-27 腾讯科技(深圳)有限公司 存储器的校验管脚处理方法、装置、设备和存储介质
US20230146703A1 (en) * 2021-11-11 2023-05-11 Advanced Micro Devices, Inc. Error pin training with graphics ddr memory
US20230205435A1 (en) * 2021-12-23 2023-06-29 Advanced Micro Devices, Inc. Dynamic random-access memory (dram) phase training update
CN116403631A (zh) * 2023-04-12 2023-07-07 长鑫存储技术有限公司 存储器参数校准方法以及存储器参数校准装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181429A1 (en) * 2012-12-26 2014-06-26 Nvidia Corporation Multi-dimensional hardware data training between memory controller and memory
CN113728385A (zh) * 2019-05-24 2021-11-30 英特尔公司 针对存储器设备的芯片选择信号读取操作的训练
US20210098039A1 (en) * 2019-09-26 2021-04-01 SK Hynix Inc. Reference voltage training circuit and semiconductor apparatus including the same
CN113626264A (zh) * 2020-05-07 2021-11-09 三星电子株式会社 存储器模块、计算系统以及计算系统的启动方法
CN113178223A (zh) * 2021-04-27 2021-07-27 珠海全志科技股份有限公司 存储器的数据训练方法、计算机装置及计算机可读存储介质
US20230146703A1 (en) * 2021-11-11 2023-05-11 Advanced Micro Devices, Inc. Error pin training with graphics ddr memory
US20230205435A1 (en) * 2021-12-23 2023-06-29 Advanced Micro Devices, Inc. Dynamic random-access memory (dram) phase training update
CN115116530A (zh) * 2022-05-09 2022-09-27 腾讯科技(深圳)有限公司 存储器的校验管脚处理方法、装置、设备和存储介质
CN116403631A (zh) * 2023-04-12 2023-07-07 长鑫存储技术有限公司 存储器参数校准方法以及存储器参数校准装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056733A (zh) * 2023-10-11 2023-11-14 芯耀辉科技有限公司 一种存储器系统的训练方法及系统
CN117056733B (zh) * 2023-10-11 2023-12-26 芯耀辉科技有限公司 一种存储器系统的训练方法及系统

Also Published As

Publication number Publication date
CN116738237B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
US11762788B2 (en) Memory module with timing-controlled data buffering
CN116738237B (zh) 一种存储器系统的训练方法及系统
US7043652B2 (en) Calibration method and memory system
US8725976B2 (en) Method of optimizing data training in system including memory devices
CN105701042B (zh) 内存控制接口信号质量的优化方法和系统
US20040123207A1 (en) Two dimensional data eye centering for source synchronous data transfers
US9665289B1 (en) Eye scan for memory channel
US20120224436A1 (en) Setting a Reference Voltage in a Memory Controller Trained to a Memory Device
US20230324457A1 (en) System and Method for Receiver Equalization and Stressed Eye Testing Methodology for DDR5 Memory Controller
US20140029364A1 (en) Bit error testing and training in double data rate (ddr) memory system
US11195563B2 (en) Semiconductor apparatus and semiconductor system with training function
US7411862B2 (en) Control signal training
CN109102836B (zh) 半导体存储装置
US7783954B2 (en) System for controlling high-speed bidirectional communication
US20120296598A1 (en) Compensating for jitter during ddr3 memory delay line training
US8718123B2 (en) Test apparatus and test method
CN105846972A (zh) 发送校准方法和控制设备
CN115408191A (zh) 故障定位方法、装置、设备及存储介质
CN116595386A (zh) 一种存储器的训练控制方法及系统
JP2016197275A (ja) 情報処理装置、情報処理システム、情報処理装置の制御プログラムおよび情報処理装置の制御方法
US7721160B2 (en) System for protecting data during high-speed bidirectional communication between a master device and a slave device
US11049583B2 (en) Semiconductor system with a training operation
KR101636485B1 (ko) 반도체 시스템의 데이터 트래이닝 방법
CN100595842C (zh) 存储器接口装置与应用于其上的存储器数据存取方法
CN115113926A (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