[go: up one dir, main page]

CN111564175B - 存储器接口的阻抗配置方法及计算机可读取存储介质 - Google Patents

存储器接口的阻抗配置方法及计算机可读取存储介质 Download PDF

Info

Publication number
CN111564175B
CN111564175B CN201910211851.3A CN201910211851A CN111564175B CN 111564175 B CN111564175 B CN 111564175B CN 201910211851 A CN201910211851 A CN 201910211851A CN 111564175 B CN111564175 B CN 111564175B
Authority
CN
China
Prior art keywords
resistance value
test
memory interface
resistance
receiver
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
CN201910211851.3A
Other languages
English (en)
Other versions
CN111564175A (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN202210498376.4A priority Critical patent/CN114783503B/zh
Priority to US16/459,933 priority patent/US11112981B2/en
Publication of CN111564175A publication Critical patent/CN111564175A/zh
Application granted granted Critical
Publication of CN111564175B publication Critical patent/CN111564175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出一种存储器接口的阻抗配置方法,由处理单元执行,包含:将关联于第一接收器的芯片内端接电阻的第一阻值设为第一默认阻值;将关联于第二发送器的驱动可变电阻的第二阻值设为第二默认阻值;为多个测试组合执行测试,其中,每个组合包含关联于第一发送器的驱动可变电阻的第三阻值及关联于第二接收器的芯片内端接电阻的第四阻值;以及存储每个测试组合的测试结果至静态随机存取存储器的特定位置,使得校准主机可从静态随机存取存储器取得每个测试组合的测试结果,并依据测试结果决定存储器接口的阻抗设定。

Description

存储器接口的阻抗配置方法及计算机可读取存储介质
技术领域
本发明涉及通信接口,尤指一种存储器接口的阻抗配置方法及计算机可读取存储介质。
背景技术
在动态随机存取存储器(Dynamic Random Access Memory DRAM)的总线的速度到达高传输率后,例如500Mb/s或更高,可能发生系统层面的信号收送问题,例如,可能从连接的对等装置(如控制器、DRAM模块等)的引脚线产生反射。上述的信号收送问题可通过校调驱动器(Driver)及芯片内端接电阻(On-Die Termination ODT)来解决。因此,本发明提出一种存储器接口的配置方法及计算机可读取存储介质,用于校调存储器接口中的驱动器及芯片内端接电阻。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
本发明提出一种存储器接口的阻抗配置方法,该方法由处理单元执行,包含:将关联于第一接收器的芯片内端接电阻的第一阻值设为第一默认阻值;将关联于第二发送器的驱动可变电阻的第二阻值设为第二默认阻值;为多个测试组合执行测试,其中,每个组合包含关联于第一发送器的驱动可变电阻的第三阻值及关联于第二接收器的芯片内端接电阻的第四阻值;以及存储每个测试组合的测试结果至静态随机存取存储器的特定位置,使得校准主机可从静态随机存取存储器取得每个测试组合的测试结果,并依据测试结果决定存储器接口的阻抗设定。该处理单元耦接存储器接口、该静态随机存取存储器及校准接口,该存储器接口耦接存储器装置并且包含该第一发送器及该第一接收器,而该存储器装置包含该第二发送器及该第二接收器。
本发明还提供一种存储器接口的阻抗配置的计算机可读取存储介质,用于存储能够被处理单元执行的计算机程序,并且该计算机程序被该处理单元执行时实现以上所述的方法。
上述实施例的优点之一,通过提供给校准主机每个测试组合的测试结果,使得校准主机能够据以决定存储器接口的阻抗设定。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的校准系统示意图。
图2为依据本发明实施例的校准系统方框图。
图3为依据本发明实施例的存储器接口的阻抗配置的图形用户接口。
图4为依据本发明实施例的存储器接口中发送器及接收器的训练方法流程图。
图5为依据本发明实施例的DDR4DRAM的写入训练的初始数据表示意图。
图6为依据本发明实施例的DDR4DRAM的读取训练的初始数据表示意图。
图7为依据本发明实施例的写入及读取训练的方法流程图。
图8显示依据本发明实施例的DDR4DRAM的写入训练的示例结果。图9为依据本发明实施例的写入训练的方法流程图。
【附图标记列表】
130 基板
110 校准主机
115 处理单元
150 控制器
170 存储器装置
190 显示器
210 处理单元
230 静态随机存取存储器
250 校准接口
270 存储器接口
271 物理层
273 ODT档位寄存器
275 驱动档位寄存器
277 MAC层
290 直接存储器访问控制器
300 存储器校准的图形用户接口
310 显示方框
330 选择按钮
335 选择菜单
350 测试进度方框
370 开始按钮
390 测试信息方框
S410~S470 方法步骤
S711~S790 方法步骤
800 定义可正常运行的阻值设定的方框
800a 关联的中间阻值
S910~S970 方法步骤
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示的间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他语词也可类似方式解读,例如“介于”相对于“直接介于”,或者“邻接”相对于“直接邻接”等等。
参考图1,控制器150及存储器装置170可装设(mount)在基板130上,并且控制器150可通过基板130耦接或连接存储器装置170。存储器装置370可为动态随机存取存储器(Dynamic Random Access Memory DRAM等)。校准主机110耦接至控制器150,用以发出命令请求控制器150执行阻抗测试方法,接着从控制器150读取测试结果,并且将测试结果显示于显示器190,使得工程师可依据测试结果决定控制器150及存储器装置170的接口中的阻抗配置(Configurations)。或者是,于另一些实施例中,校准主机110可执行应用程序,用于解读测试结果并依据算法自动决定控制器150及存储器装置170的接口中的阻抗设定。接着,校准主机110可发出命令及决定的阻抗设定,请求控制器150执行存储器接口的阻抗设定方法。当控制器150中的处理单元210加载及执行存储器接口的阻抗设定方法的相关固件或软件程序代码时,将决定的阻抗设定写入控制器150及存储器装置170中的非易失性存储空间,作为出厂设定值。
参考图2,控制器150包含处理单元210,可使用多种方式实施,如使用通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器),并且在执行量产整合系统程序(Mass Production Integrated System Program MPISP)的软件和/或固件指令时,提供之后描述的功能。控制器150可包含校准接口250,如I2C接口,用以让校准主机110通过校准接口250发送命令给处理单元210以启动并执行存储器接口的阻抗测试及设定方法。于校准完成后,校准主机110可通过校准接口250,请求直接存储器访问控制器(Direct Memory Access DMA Controller)从静态随机存取存储器(Static RandomAccess Memory SRAM)230的默认局部读取测试结果。MPISP可在控制器150出厂时存储于其中的只读存储器(Read Only Memory ROM,未显示于图2),或者由测试主机110通过校准接口250或其他接口,于开始校准前传送给控制器150。
在一些实施例中,控制器170也可称为特殊应用集成电路端(Application-Specific Integrated Circuit ASIC-side),而存储器装置170可为DRAM,称为DRAM端,用于缓存在执行软件及固件指令的过程中所需要的数据,例如,变量、数据表等,以及各式各样的用户数据。存储器接口270可采用双倍数据率(Double Data Rate DDR)通信协议与DRAM通信,例如,第三代双倍数据率(DDR3)、低功耗DDR3(Low Power LPDDR3)、第四代双倍数据率(DDR4)或其他接口。存储器接口270及DRAM间的输出输入信号可包含reset、CK、CK_N、CKE、ODT、CS_N、ACT_N、BG、BA、A、DM、DQS、DQS_N、DQ_lower、DQ_upper等。
存储器接口470可包含物理层(Physical Layer PHY)471,具有连接至存储器装置370的电路。DDR通信协议及关连的物理层471可提供通信的能力,用于传送命令、地址及数据等给存储器装置370以及从存储器装置370接收数据、地址及信息等。物理层471包含发送器(Transmitter)及接收器(Receiver),用以分别传送信号给存储器装置370的接收器,以及从存储器装置370的发送器接收信号。发送器(也可称为驱动器Driver)的输出端可连接可变电阻(Variable Resistance,可称为驱动可变电阻),使得处理单元210可借由改变驱动档位寄存器(Driving-stage Register)275的设定来调整驱动可变电阻的阻值,进而改变输出的驱动强度(Driving Strength)。另一方面,接收器的输入端可连接可变电阻(可称为ODT可变电阻),使得处理单元210可借由改变芯片内端接电阻档位寄存器(On-DieTermination ODT-stage Register)275的设定来调整ODT可变电阻的阻抗(Impedance)。
驱动档位寄存器275可存储4个比特的值,如表1所示:
表1
值(十进制) Z目标(ohms)
0 480
1 240
2 160
3 120
4 96
5 80
6 68.6
7 60
8 53.3
9 48
10 43.6
11 40
12 36.9
13 34.3
14 32
15 30
举例来说,当驱动档位寄存器275存储的值设定为0时,驱动可变电阻的阻值调整为480ohm。当驱动档位寄存器275存储的值设定为1时,驱动可变电阻的阻值调整为240ohm。其余设定对驱动可变电阻的阻值改变可依此类推,不再赘述以求简明。
ODT档位寄存器273可存储4个比特的值,如表2所示:
表2
Figure BDA0002000783820000071
Figure BDA0002000783820000081
举例来说,当ODT档位寄存器273存储的值设定为2时,驱动可变电阻的阻值调整为120ohm。其余设定对ODT可变电阻的阻值改变可依此类推,不再赘述以求简明。
相对地,存储器装置170也可包含类似用于改变输出驱动强度及ODT阻抗的可变电阻设置。处理单元210可指示MAC层277通过物理层271发送命令给存储器装置170,用于改变存储器装置170中发送器的输出驱动强度及接收器的ODT阻值。
当存储器接口470使用DDR3通信协议与存储器装置170通信时,处理单元210可指示MAC层277通过物理层271发送输出输入配置命令(I/O Configuration Command)及设定值给存储器装置170。存储器接口470可通过A5及A1信号指示存储器装置170将其中的驱动可变电阻的阻值调整至特定水平,如表3所示:
表3
A5 A1 输出驱动器阻值
0 0 RZQ/6
0 1 RZQ/7
1 0 Reserved
1 1 Reserved
所属技术领域人员理解RZQ为240ohm。例如,当A5及A1信号都为0时,存储器装置170将驱动可变电阻的阻值调整为40ohm(也就是RZQ/6)。当A5及A1信号分别为1及0(保留设定值)时,存储器装置170可不改变驱动可变电阻的阻值。其余设定对存储器装置170中驱动可变电阻的阻值改变可依此类推,不再赘述以求简明。此外,存储器接口470可通过A9、A6及A2信号指示存储器装置170将其中的ODT可变电阻的阻值调整至特定水平,如表4所示:
表4
A9 A6 A2 Rtt_Nom
0 0 0 不使能
0 0 1 RZQ/4
0 1 0 RZQ/2
0 1 1 RZQ/6
1 0 0 RZQ/12
1 0 1 RZQ/8
1 1 0 保留
1 1 1 保留
例如,当A9、A6及A2信号都为0时,存储器装置170可不使能ODT。当A9、A6及A2信号分别为0、0及1时,存储器装置170可将ODT可变电阻的阻值调整为60ohm(也就是RZQ/4)。当A9、A6及A2信号分别为1、1及0(保留设定值)时,存储器装置170可不改变驱动可变电阻的阻值。其余设定对存储器装置170中ODT可变电阻的阻值改变可依此类推,不再赘述以求简明。
当存储器接口470使用DDR4通信协议与存储器装置170通信时,处理单元210可指示MAC层277通过物理层271发送输出输入配置命令及设定值给存储器装置170。存储器接口470可通过A5及A1信号指示存储器装置170将其中的驱动可变电阻的阻值调整至特定水平,如表5所示:
表5
Figure BDA0002000783820000091
Figure BDA0002000783820000101
表5描述的驱动可变电阻的阻值改变细节可参考表3的说明,不再赘述以求简明。此外,存储器接口470可通过A9、A6及A2信号指示存储器装置170将其中的ODT可变电阻的阻值调整至特定水平,如表6所示:
表6
A9 A6 A2 ODT阻值
0 0 0 不使能
0 0 1 RZQ/4
0 1 0 RZQ/2
0 1 1 RZQ/6
1 0 0 RZQ/1
1 0 1 RZQ/5
1 1 0 RZQ/3
1 1 1 RZQ/7
表6描述的ODT可变电阻的阻值改变细节可参考表4的说明,不再赘述以求简明。
当存储器接口470使用LPDDR3通信协议与存储器装置170通信时,处理单元210可指示MAC层277通过物理层271发送模式寄存器写入命令(ModeRegister Write Command)及设定值给存储器装置170。存储器接口470可通过写入“03H”至模式寄存器中的MA[7:0]指示存储器装置170执行输出输入配置(I/O Configuration),并写入特定值到模式寄存器中的OP<3:0>指示存储器装置170将其中的驱动可变电阻的阻值调整至特定水平,如表7所示:
表7
Figure BDA0002000783820000111
例如,当模式寄存器中的Op<3:0>写入“0010”(默认值)时,存储器装置170将驱动可变电阻的阻值调整为34.3ohm(也就是RZQ/6)。当模式寄存器中的Op<3:0>写入“1001”时,存储器装置170将驱动可变电阻的拉低(pull-down)阻值调整为34.3ohm,拉高(pull-up)阻值调整为40ohm,终端阻值调整为240ohm。当模式寄存器中的Op<3:0>写入“0000”(保留设定值)或其他没有列在表7中的值时,存储器装置170可不改变驱动可变电阻的阻值。其余设定对存储器装置170中驱动可变电阻的阻值改变可依此类推,不再赘述以求简明。
此外,存储器接口470可通过写入“0BH”至模式寄存器中的MA[7:0]指示存储器装置170执行ODT控制,并写入特定值到模式寄存器中的OP<1:0>指示存储器装置170将其中的ODT可变电阻的阻值调整至特定水平,如表8所示:
表8
Op<1:0> ODT阻值
00 不使能(默认)
01 保留
10 RZQ/2
11 RZQ/1
例如,当模式寄存器中的Op<1:0>写入“00”(默认值)时,存储器装置170可不使能ODT。当模式寄存器中的Op<1:0>写入“01”(保留设定值)时,存储器装置170可不改变ODT可变电阻的阻值。当模式寄存器中的Op<1:0>写入“10”时,存储器装置170将ODT可变电阻的阻值调整为120ohm(也就是RZQ/2)。其余设定对存储器装置170中ODT可变电阻的阻值改变可依此类推,不再赘述以求简明。
校准主机110中的处理单元115可执行校准工具,校准工具可提供人机接口,方便工程师配置存储器接口的阻抗。显示器190显示如图3所示的存储器校准的图形用户接口(以下简称校准GUI)300。校准GUI 300可提供选择按钮330。当用户点击选择按钮330时,处理单元115可执行选择按钮330的点击事件处理员(On_click()Event Handler),用于在显示器上190显示选择菜单335,包含多个项目,每个项目关联于控制器150的只读存储器中存储的一个MPISP,例如DRAM MPISP。显示方框310可显示用户通过操作选择菜单335而决定的MPISP。校准GUI 300另可提供开始按钮370。当用户点击开始按钮370时,校准主机110的处理单元115可执行开始按钮330的点击事件处理员,用于通过校准接口250指示控制器150的处理单元210加载并执行用户决定的MPISP。校准主机110可通过校准接口250及直接存储器访问控制器290持续取得存储器接口270及存储器装置170中收发器的测试结果,并且可据以更新测试进度方框350及校准信息方框390的内容。
当处理单元210加载并执行指定的MPISP时,可实施如图4所示的处理流程。于初始化存储器装置170后,处理单元210可执行函数vInitDramZQRemapIdx()的指令,初始化用于存储测试结果的数据表。(步骤S410)。接着,处理单元210可执行函数vScanDramWindow(WrTraining)的指令来执行存储器写入训练(Write-Training)(步骤S430),以及执行函数vScanDramWindow(RdTraining)的指令来执行存储器读取训练(Read-Training)(步骤S450)。需注意的是,虽然实施例中以单一函数的程序代码,搭配不同的输入参数“WrTraining”及“RdTraining”来实作存储器写入及读取训练,所属技术领域人员亦可将存储器写入及读取训练以不同的函数实作。在另一些实施例,处理单元210可先执行存储器读取训练,接着执行存储器写入训练。在另一些实施例,处理单元210可不执行存储器读取训练,而将用于存储器读取的控制器150的接收器的ODT及存储器装置170的发送器的驱动可变电阻中的阻抗直接设定为默认值(例如中间档位)。最后,提供测试结果于静态随机存取存储器(Static Random Access Memory SRAM)230(步骤S470)。
在步骤S410,处理单元210可分别为写入及读取训练初始化不同的数据表,用以记录后续的测试结果。以DRAM为例:写入训练数据表的包含两轴:一轴关联于DRAM端ODT的信号强度,由弱到强或由强到弱排列;另一轴关联于ASIC端驱动信号强度,由弱到强或由强到弱排列。读取训练数据表包含两轴:一轴关联于DRAM端驱动信号强度,由弱到强或由强到弱排列;另一轴关联于ASIC端ODT的信号强度,由弱到强或由强到弱排列。写入训练的目的在优化ASIC端驱动可变电阻及DRAM端ODT间的阻值匹配,而读取训练的目的在优化DRAM端驱动可变电阻及ASIC端ODT间的阻值匹配。这样的重新对应(Remapping)可帮助工程师或应用程序的算法解读,较有效率地寻找适当的阻值档位。初始化后的数据表可存储于SRAM 230。
以DDR4DRAM为例:参考图5,为方便工程师或应用程序解读,写入训练数据表的容量(Size)为16x16字节,每个字节记录当ASIC端的驱动可变电阻设定为第一阻值而DRAM端的ODT设定为第二阻值时的测试结果。数据表的存储格(Cells)可概念性划分为每16个字节为一组。例如,当ASIC端的驱动可变电阻设定为特定阻值(如480ohm)时,由高至低改变DRAM端的ODT阻值(如从不使能ODT至将ODT阻值设为RZQ/7)的测试结果。或者是,当DRAM端的ODT阻值设定为特定阻值(RZQ/1)时,由高至低改变ASIC端的驱动可变电阻的阻值(如从480ohm至30ohm)的测试结果。由于DDR4DRAM的ODT档位只有8档,因此,关联于ASIC端的驱动可变电阻的每个特定阻值(也就是每一横排)的0h到7h的存储格的值都初始为“0x00”,而8h到Fh的存储格的值都初始为“0x05”(可称为忽略值)用以告诉工程师或应用程序此测试结果可忽略。
以DDR4DRAM为例:参考图6,为方便工程师或应用程序解读,读取训练数据表的容量为16x16字节,每个字节记录当DRAM端的驱动可变电阻设定为第一阻值而ASIC端的ODT设定为第二阻值时的测试结果。数据表的存储格可概念性划分为每16个字节为一组。例如,当DRAM端的驱动可变电阻设定为特定阻值(如RZQ/5)时,由高至低改变ASIC端的ODT阻值(如从120ohm至40ohm)的测试结果。或者是,当ASIC端的ODT阻值设定为特定阻值(120ohm)时,由高至低改变DRAM端的驱动可变电阻的阻值(如从RZQ/5至RZQ/7)的测试结果。由于DDR4DRAM的驱动档位只有2文件,因此,关联于ASIC端ODT的每个特定阻值(也就是每一横排)的0h到1h的存储格的值都初始为“0x00”,而2h到Fh的存储格的值都初始为“0x05”。所属技术领域技术人员可将忽略值改为“0x05”至“0xFF”间的任意值,本发明并不因此局限。
在一些实施例,步骤S430所述的写入训练细节,可参考如图9所示的方法流程图。此方法由处理单元210于加载并执行软件或固件模块的程序代码时实施,包含下列步骤:将关联于ASIC端的接收器的ODT的阻值设为默认阻值(步骤S910),将关联于装置端的发送器的驱动可变电阻的阻值设为默认阻值(步骤S930),依据扫描顺序为多组不同的测试组合进行测试,其中,每个测试组合包含关联于ASIC端的发送器的驱动可变电阻的阻值及关联于装置端的接收器的ODT的阻值(步骤S950);以及存储每个测试组合的测试结果至SRAM 230的特定位置,使得校准主机110可通过校准接口250从SRAM 230取得每个测试组合的测试结果(步骤S970)。扫描顺序、测试组合、测试程序及测试结果的细节,可参考以下段落的说明。
在另一些实施例,步骤S430及S450所述的训练细节,可参考如图7所示的方法流程图。不论是存储器写入或者是读取训练,整个处理会反复执行一个循环(步骤S711至S790),直到所有ASIC端及装置端的相关阻值档位都测试过(也就是扫描过)为止(步骤S790中“是”的路径)。以下分别说明写入训练及读取训练的执行细节:
当判断为写入训练时(步骤S711中“是”的路径),处理单元210可决定ASIC端的ODT及装置端的驱动可变电阻的阻值为默认阻值,并依据扫描顺序决定装置端的ODT及ASIC端的驱动可变电阻的阻值档位(步骤S713)。以DDR4DRAM为例,ASIC端的ODT阻值的默认阻值可为表2中的60ohms,而装置端的驱动可变电阻阻值的默认阻值可为表5中的RZQ/5。关于扫描顺序,举例来说,参考图5,处理单元210可先固定装置端的ODT阻值于特定档位,然后从480ohm至30ohm依顺序改变ASIC端的驱动可变电阻的阻值。当ASIC端的驱动可变电阻的所有阻值都测试过后,再将装置端的ODT阻值固定在下一个档位并继续测试。接着,初始化存储器装置(步骤S730)。以DDR4DRAM为例,在步骤S730,处理单元410可改变ODT档位寄存器273的值为步骤S713决定的默认阻值,并改变驱动档位寄存器275为步骤S713依据扫描顺序决定的档位。此外,处理单元410可指示MAC层277通过物理层271发送输出输入配置命令及设定值给存储器装置170,用于将存储器装置170的驱动可变电阻的阻值设定为步骤S713决定的默认阻值,并且将存储器装置170的ODT阻值设定为步骤S713依据扫描顺序决定的档位。存储器装置170的存储空间包含一小块测试局部,在步骤S730,存储器装置170可于测试局部进行试读写(test-write-then-read),又可称为装置端自我训练。存储器装置170可通过存储器接口270发送装置端自我训练是否通过的信息给处理单元210。当装置端自我训练不通过时(步骤S751中“否”的路径),处理单元210可存储“0x01”至写入训练数据表中的相应存储格作为测试结果(步骤S773)。
为了提高测试的可靠性,当装置端自我训练通过时(步骤S751中“是”的路径),处理单元210可进一步执行随机读写测试(步骤S753)。于随机读写测试,处理单元210可指示MAC层277写入8MB的随机数据模式(Random Data Pattern)的数据至存储器装置170,然后再指示MAC层277从存储器装置170读回数据,并检查读回的数据是否与先前写入的一致。处理单元210依据随机读写测试的执行情况,存储测试结果至写入训练数据表中的相应存储格(步骤S773)。详细来说,当发生读取逾时(Read Timeout),处理单元210可存储“0x02”至写入训练数据表中的相应存储格。当读回的数据与先前写入的不一致时,处理单元210可存储“0x03”至写入训练数据表中的相应存储格。当发生写入逾时(Write Timeout),处理单元210可存储“0x04”至写入训练数据表中的相应存储格。当读回的数据与先前写入的一致时,处理单元210可存储“0x00”至写入训练数据表中的相应存储格,或者在另一些实施例,可不存储任何数据至写入训练数据表中,因为相应存储格已经初始为“0x00”。
当判断为读取训练时(步骤S711中“否”的路径),处理单元210可决定ASIC端的驱动可变电阻及装置端ODT的阻值为默认阻值,并依据扫描顺序决定装置端的驱动可变电阻及ASIC端ODT的阻值档位(步骤S715)。以DDR4DRAM为例,ASIC端的驱动可变电阻的阻值的默认阻值可为表1中的60ohms,而装置端的ODT阻值的默认阻值可为表6中的RZQ/4。关于扫描顺序,举例来说,参考图6,处理单元210可先固定装置端的驱动可变电阻的阻值于特定档位,然后从120ohm至40ohm依顺序改变ASIC端的ODT阻值。当ASIC端的所有ODT阻值都测试过后,再将装置端的驱动可变电阻的阻值固定在下一个档位并继续测试。接着,初始化存储器装置(步骤S730)。步骤S730的执行细节可参考如上段落的说明,不再赘述以求简明。当装置端自我训练通过时(步骤S751中“是”的路径),处理单元210可进一步执行随机读写测试(步骤S753)。步骤S753的执行细节可参考如上段落的说明,不再赘述以求简明。接着,处理单元210依据随机读写测试的执行情况,存储测试结果至读取训练数据表中的相应存储格(步骤S775)。详细来说,当发生读取逾时,处理单元210可存储“0x02”至读取训练数据表中的相应存储格。当读回的数据与先前写入的不一致时,处理单元210可存储“0x03”至读取训练数据表中的相应存储格。当发生写入逾时,处理单元210可存储“0x04”至读取训练数据表中的相应存储格。当读回的数据与先前写入的一致时,处理单元210可存储“0x00”至读取训练数据表中的相应存储格,或者于另一些实施例,可不存储任何数据至读取训练数据表中,因为相应存储格已经初始为“0x00”。
在此可理解的是,存储格中记录的错误类型越多可有利于工程师或处理单元115执行的程序应用程序诊断特定设定产生的阻抗匹配问题。
在步骤S470,校准主机110的处理单元115可通过校准接口250驱动直接存储器访问控制器290读取SRAM 230中特定局部的内容,作为配置存储器接口的收发器的依据。读取的内容可显示于显示器190,供工程师进行配置时的参考。参考图8所示的示例结果,工程师或处理单元115于执行应用程序时可发现,当ASIC端驱动可变电阻的阻值介于60ohm至36.9ohm之间并且装置端ODT阻值介于RZQ/1至RZQ/5之间(如虚线方框800中所示),存储器接口270可正常运行。工程师或处理单元115于执行应用程序时可将正常局部800中的中间值800a关联的ASIC端的驱动可变电阻及ODT阻值的档位以及装置端的驱动可变电阻及ODT阻值的档位写入控制器150中的非易失性存储空间,作为出厂设定。
本发明所述的方法中的全部或部分步骤可以计算器程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件程序。此外,也可实现于如上所示的其他类型程序。所属技术领域中的技术人员可将本发明实施例的方法撰写成计算器程序,为求简明不再加以描述。依据本发明实施例方法实施的计算器程序可存储于适当的计算机可读取数据载具,例如DVD、CD-ROM、USB碟、硬盘,亦可置于可通过网络(例如,互联网,或其他适当载具)存取的网络服务器。
虽然图2中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图4、图7及图9的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限制本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,本申请的保护范围当以权利要求所界定者的范围为准。

Claims (14)

1.一种存储器接口的阻抗配置方法,由处理单元于加载并执行软件或固件模块的程序代码时实施,其中该处理单元耦接存储器接口、静态随机存取存储器及校准接口,该存储器接口耦接存储器装置并且包含第一发送器及第一接收器,该存储器装置包含第二发送器及第二接收器,其特征在于,该方法包含:
为了第一训练程序,将关联于该第一接收器的芯片内端接电阻的第一阻值设为第一默认阻值,其中该第一接收器用于从该存储器装置中的该第二发送器接收信号;
为了该第一训练程序,将关联于该第二发送器的驱动可变电阻的第二阻值设为第二默认阻值;
于该第一训练程序之中,为多个第一测试组合执行测试,其中,每个该第一测试组合包含第三阻值及第四阻值,该第三阻值关联于该第一发送器的驱动可变电阻,以及该第四阻值关联于该第二接收器的芯片内端接电阻,其中控制器的该存储器接口中的该第一发送器用于发送信号给该存储器装置中的该第二接收器;以及
存储每个该第一测试组合的测试结果至该静态随机存取存储器的特定位置,使得校准主机可通过该校准接口从该静态随机存取存储器取得每个该第一测试组合的该测试结果,
其中该第一训练程序包含多个循环,每个该循环相应于该多个第一测试组合中的一个,包含以下步骤:
依据相应的该第三阻值,改变该第一发送器的该驱动可变电阻;
依据相应的该第四阻 值,改变该第二接收器的该芯片内端接电阻;以及
在该第一接收器的芯片内端接电阻固定为该第一默认阻值,且该第二发送器的该驱动可变电阻固定为该第二默认阻值的情况下,执行该测试。
2.如权利要求1所述的存储器接口的阻抗配置方法,其特征在于,包含:
从该校准主机接收命令及阻抗设定,其中该阻抗设定为该校准主机依据该第一测试组合的该测试结果决定;以及
将该阻抗设定写入该控制器及该存储器装置的非易失性存储空间,作为出厂设定值,其中该控制器包含该处理单元。
3.如权利要求1或2中任一项所述的存储器接口的阻抗配置方法,其特征在于,该第一测试组合的该测试结果存储于数据表,该数据表包含第一轴及第二轴,该第一轴关联于该存储器装置的芯片内端接电阻的信号强度,由弱到强或由强到弱排列,该第二轴关联于该存储器接口的驱动信号强度,由弱到强或由强到弱排列。
4.如权利要求3所述的存储器接口的阻抗配置方法,其特征在于,该数据表包含多个字节,每个该字节记录当该存储器接口的驱动可变电阻设定为第五阻值而该存储器装置的芯片内端接电阻设定为第六阻值时的测试结果。
5.如权利要求4所述的存储器接口的阻抗配置方法,其特征在于,当该字节为第一值时代表该存储器装置于存储空间的测试局部进行试读写时不通过。
6.如权利要求4所述的存储器接口的阻抗配置方法,其特征在于,当该字节为第二值时代表该处理单元指示该存储器接口执行随机读写测试时发生读取逾时;当该字节为第三值时代表该处理单元指示该存储器接口执行随机读写测试时发生写入逾时;以及当该字节为第四值时代表该处理单元指示该存储器接口执行随机读写测试时发生读回的数据与先前写入的不一致。
7.如权利要求1所述的存储器接口的阻抗配置方法,其特征在于,包含:
为了第二训练程序,将关联于该第二接收器的该芯片内端接电阻的第五阻值设为第三默认阻值,其中该第二接收器用于从该存储器接口中的该第一发送器接收信号;
为了该第二训练程序,将关联于该第一发送器的该驱动可变电阻的第六阻值设为第四默认阻值;
于该第二训练程序之中,为多个第二测试组合执行测试,其中,每个该第二测试组合包含第七阻值及第八阻值,该第七阻值关联于该第二发送器的该驱动可变电阻,以及该第八阻值关联于该第一接收器的该芯片内端接电阻,其中该第二发送器用于发送信号给该控制器的该存储器接口中的该第一接收器;以及
存储每个该第二测试组合的测试结果至该静态随机存取存储器的特定位置,使得该校准主机可通过该校准接口从该静态随机存取存储器取得每个该第二测试组合的该测试结果。
8.如权利要求7所述的存储器接口的阻抗配置方法,其特征在于,包含:
从该校准主机接收命令及阻抗设定,其中该阻抗设定为该校准主机依据该第一测试组合及该第二测试组合的该测试结果决定;以及
将该阻抗设定写入该控制器及该存储器装置的非易失性存储空间,作为出厂设定值,其中该控制器包含该处理单元。
9.一种存储器接口的阻抗配置的计算机可读取存储介质,用于存储能够被处理单元执行的计算机程序,其中该处理单元耦接存储器接口、静态随机存取存储器及校准接口,该存储器接口耦接存储器装置并且包含第一发送器及第一接收器,该存储器装置包含第二发送器及第二接收器,其特征在于,该计算机程序被该处理单元执行时实现以下步骤:
为了第一训练程序,将关联于该第一接收器的芯片内端接电阻的第一阻值设为第一默认阻值,其中该第一接收器用于从该存储器装置中的该第二发送器接收信号;
为了该第一训练程序,将关联于该第二发送器的驱动可变电阻的第二阻值设为第二默认阻值;
于该第一训练程序之中,为多个第一测试组合执行测试,其中,每个该第一测试组合包含第三阻值及第四阻值,该第三阻值关联于该第一发送器的驱动可变电阻,以及该第四阻值关联于该第二接收器的芯片内端接电阻,其中控制器的该存储器接口中的该第一发送器用于发送信号给该存储器装置中的该第二接收器;以及
存储每个该第一测试组合的测试结果至该静态随机存取存储器的特定位置,使得校准主机可通过该校准接口从该静态随机存取存储器取得每个该第一测试组合的该测试结果,
其中该第一训练程序包含多个循环,每个该循环相应于该多个第一测试组合中的一个,包含以下步骤:
依据相应的该第三阻值,改变该第一发送器的该驱动可变电阻;
依据相应的该第四阻值,改变该第二接收器的该芯片内端接电阻;以及
在该第一接收器的芯片内端接电阻固定为该第一默认阻值,且该第二发送器的该驱动可变电阻固定为该第二默认阻值的情况下,执行该测试。
10.如权利要求9所述的存储器接口的阻抗配置的计算机可读取存储介质,其特征在于,该计算机程序被该处理单元执行时实现以下步骤:
从该校准主机接收命令及阻抗设定,其中该阻抗设定为该校准主机依据该第一测试组合的该测试结果决定;以及
将该阻抗设定写入该控制器及该存储器装置的非易失性存储空间,作为出厂设定值,其中该控制器包含该处理单元。
11.如权利要求9或10中任一项所述的存储器接口的阻抗配置的计算机可读取存储介质,其特征在于,该第一测试组合的该测试结果存储于数据表,该数据表包含第一轴及第二轴,该第一轴关联于该存储器装置的芯片内端接电阻的信号强度,由弱到强或由强到弱排列,该第二轴关联于该存储器接口的驱动信号强度,由弱到强或由强到弱排列。
12.如权利要求11中所述的存储器接口的阻抗配置的计算机可读取存储介质,其特征在于,该数据表包含多个字节,每个该字节记录当该存储器接口的驱动可变电阻设定为第五阻值而该存储器装置的芯片内端接电阻设定为第六阻值时的测试结果。
13.如权利要求12所述的存储器接口的阻抗配置的计算机可读取存储介质,其特征在于,当该字节为第一值时代表该存储器装置于存储空间的测试局部进行试读写时不通过。
14.如权利要求12所述的存储器接口的阻抗配置的计算机可读取存储介质,其特征在于,当该字节为第二值时代表该处理单元指示该存储器接口执行随机读写测试时发生读取逾时;当该字节为第三值时代表该处理单元指示该存储器接口执行随机读写测试时发生写入逾时;以及当该字节为第四值时代表该处理单元指示该存储器接口执行随机读写测试时发生读回的数据与先前写入的不一致。
CN201910211851.3A 2019-02-13 2019-03-20 存储器接口的阻抗配置方法及计算机可读取存储介质 Active CN111564175B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210498376.4A CN114783503B (zh) 2019-02-13 2019-03-20 存储器接口的阻抗配置装置
US16/459,933 US11112981B2 (en) 2019-02-13 2019-07-02 Apparatus and method and computer program product for configuring impedance of memory interfaces

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962804999P 2019-02-13 2019-02-13
US62/804,999 2019-02-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210498376.4A Division CN114783503B (zh) 2019-02-13 2019-03-20 存储器接口的阻抗配置装置

Publications (2)

Publication Number Publication Date
CN111564175A CN111564175A (zh) 2020-08-21
CN111564175B true CN111564175B (zh) 2022-05-31

Family

ID=71896204

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910211851.3A Active CN111564175B (zh) 2019-02-13 2019-03-20 存储器接口的阻抗配置方法及计算机可读取存储介质
CN201910423599.2A Pending CN111563011A (zh) 2019-02-13 2019-05-21 存储器接口检测方法及计算机可读取存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910423599.2A Pending CN111563011A (zh) 2019-02-13 2019-05-21 存储器接口检测方法及计算机可读取存储介质

Country Status (2)

Country Link
CN (2) CN111564175B (zh)
TW (3) TWI740461B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149369B (zh) * 2020-09-21 2024-04-05 交叉信息核心技术研究院(西安)有限公司 基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法
CN112420089B (zh) * 2020-12-02 2024-05-17 海光信息技术股份有限公司 存储装置、连线方法及装置以及计算机可读存储介质
CN114020667B (zh) * 2021-10-20 2024-08-06 瑞芯微电子股份有限公司 一种支持ddr自动调节最优信号参数的方法和存储设备
CN114420195B (zh) * 2021-12-28 2023-04-07 深圳市晶存科技有限公司 一种odt校准方法、计算机设备及存储介质
CN115598495B (zh) * 2022-09-16 2024-01-30 深圳市奇普乐芯片技术有限公司 芯片测试配置生成方法、测试方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106205662A (zh) * 2015-05-26 2016-12-07 爱思开海力士有限公司 半导体存储装置、阻抗校准电路及其方法
TWI632771B (zh) * 2017-08-18 2018-08-11 瑞昱半導體股份有限公司 阻抗校正裝置及其方法
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564326B2 (en) * 1999-07-06 2003-05-13 Walter A. Helbig, Sr. Method and apparatus for enhancing computer system security
US7089463B1 (en) * 2002-02-20 2006-08-08 Cisco Technology Inc. Test buffer design and interface mechanism for differential receiver AC/DC boundary scan test
KR100640158B1 (ko) * 2005-09-27 2006-11-01 주식회사 하이닉스반도체 데이터 출력드라이버의 임피던스를 조정할 수 있는 반도체메모리 장치
US7405586B2 (en) * 2006-03-20 2008-07-29 Intel Corporation Ultra low pin count interface for die testing
CN101458289A (zh) * 2007-12-13 2009-06-17 鸿富锦精密工业(深圳)有限公司 主机板线路检测装置
US20130041606A1 (en) * 2011-08-10 2013-02-14 XiaoHu Tang Detecting an open wire between a battery cell and an external circuit
US8274308B2 (en) * 2010-06-28 2012-09-25 Intel Corporation Method and apparatus for dynamic memory termination
US9153296B2 (en) * 2010-06-28 2015-10-06 Intel Corporation Methods and apparatuses for dynamic memory termination
US8988102B2 (en) * 2011-02-02 2015-03-24 Rambus Inc. On-die termination
CN102999096B (zh) * 2011-09-14 2016-03-30 中山市云创知识产权服务有限公司 计算机
KR101858578B1 (ko) * 2011-12-21 2018-05-18 에스케이하이닉스 주식회사 이종 칩들을 포함하는 반도체 패키지 및 이를 포함하는 메모리 시스템
KR20140000855A (ko) * 2012-06-26 2014-01-06 삼성전자주식회사 테스트 인터페이스 보드 및 테스트 시스템
CN103823149A (zh) * 2013-12-03 2014-05-28 华为技术有限公司 芯片检测系统及检测方法
US10241937B2 (en) * 2015-07-08 2019-03-26 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10090065B1 (en) * 2017-03-14 2018-10-02 International Business Machines Corporation Simultaneous write, read, and command-address-control calibration of an interface within a circuit
CN108694985B (zh) * 2017-04-06 2020-10-16 中芯国际集成电路制造(北京)有限公司 用于检测存储器故障的测试方法及测试电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106205662A (zh) * 2015-05-26 2016-12-07 爱思开海力士有限公司 半导体存储装置、阻抗校准电路及其方法
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
TWI632771B (zh) * 2017-08-18 2018-08-11 瑞昱半導體股份有限公司 阻抗校正裝置及其方法

Also Published As

Publication number Publication date
TWI694378B (zh) 2020-05-21
TWI701661B (zh) 2020-08-11
TW202030728A (zh) 2020-08-16
TW202030601A (zh) 2020-08-16
CN111564175A (zh) 2020-08-21
CN111563011A (zh) 2020-08-21
TWI740461B (zh) 2021-09-21
TW202030603A (zh) 2020-08-16

Similar Documents

Publication Publication Date Title
CN111564175B (zh) 存储器接口的阻抗配置方法及计算机可读取存储介质
US12417195B2 (en) Techniques for command bus training to a memory device
CN114783503B (zh) 存储器接口的阻抗配置装置
US10679698B2 (en) Memory preset adjustment based on adaptive calibration
US20210247919A1 (en) Input/output (i/o) loopback function for i/o signaling testing
US10997096B2 (en) Enumerated per device addressability for memory subsystems
US12237043B2 (en) Apparatus and method for ZQ calibration
US11923042B2 (en) Apparatus, memory device, and method reducing clock training time
US20180321845A1 (en) System and Method for Setting Communication Channel Equalization of a Communication Channel between a Processing Unit and a Memory
US20240029768A1 (en) Offset calibration training method for adjusting data receiver offset and memory device therefor
US20230386563A1 (en) Memory device, electronic device including the same, and operating method of electronic device
US12217787B2 (en) Apparatus, system and method to detect and improve an input clock performance of a memory device
US20240241842A1 (en) Accelerated dram (dynamic random access memory) training
KR20230068258A (ko) Zq 캘리브레이션 방법 및 장치
CN119621448B (zh) 一种基于显存测试结果的ddr参考电压自动调整方法
US20250370628A1 (en) Memory device, system-on-chip configured to control memory device, and electronic device including the same
JP6712312B2 (ja) メモリモジュールまたはサブシステムと併置されたデータメンテナンスブロックを組み込んだdramメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合にdramデータを保持するシステムおよび方法
CN120406831A (zh) 检测数据线映射关系的方法、装置、服务器及电子设备
CN118506828A (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