一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器模块及其操作方法与流程

2021-03-19 12:21:00 来源:中国专利 TAG:专利申请 韩国 公开 在这里 优先权
存储器模块及其操作方法与流程

本专利申请要求于2019年9月18日在韩国知识产权局提交的第10-2019-0114889号韩国专利申请的优先权,该韩国专利申请的公开通过引用全部包含于此。

在这里公开的发明构思的实施例涉及一种半导体装置,更具体地,涉及一种支持由主机执行的接口训练操作的存储器模块。



背景技术:

计算系统包括用于临时存储处理器使用的数据的主存储器。主存储器被制造为按照诸如双列直插式存储器模块(dimm)、寄存器式dimm(rdimm)和低负载dimm(lrdimm)的标准来操作。lrdimm类型的存储器模块包括数据缓冲器。然而,rdimm类型的存储器模块不包括数据缓冲器。

lrdimm类型的存储器模块的数据缓冲器可以安装在印刷电路板上。这样,因为数据缓冲器占据印刷电路板的部分区域,所以只有有限数量的存储器装置可以安装在印刷电路板上。此外,因为通过数据缓冲器读取或写入数据,所以在对lrdimm类型的存储器模块执行的读取和写入操作中可能附加地产生时延。



技术实现要素:

发明构思的至少一个示例性实施例提供了一种能够在不包括数据缓冲器的情况下操作为lrdimm类型的存储器模块。

根据示例性实施例,一种存储器模块包括:装置控制器,基于包括第一时钟信号、第一数据信号和第一数据选通信号的第一接口与主机装置通信,并且根据来自主机装置的操作模式控制值在第一操作模式或第二操作模式中的一种操作模式下操作;以及存储器装置,基于包括第二数据信号和第二数据选通信号的第二接口与装置控制器通信。装置控制器包括:逻辑电路,当在第一操作模式下对被主机装置识别的作为虚拟接口的第三接口执行训练时,根据来自主机装置的训练控制值将预定的训练结果值发送到主机装置。

根据示例性实施例,一种包括装置控制器和存储器装置的存储器模块的操作方法包括:根据来自主机装置的操作模式控制值在第一操作模式或第二操作模式中的一种操作模式下执行初始化操作;在第一操作模式下执行初始化操作之后,从主机装置接收用于训练存储器装置与被主机装置识别为包括在存储器模块中的虚拟数据缓冲器之间的虚拟接口的训练模式使能信号;在接收到训练模式使能信号之后,从主机装置接收与虚拟接口的延迟值对应的训练控制值;以及根据接收的训练控制值向主机装置发送预定的训练结果值。

根据示例性实施例,一种存储器模块包括:装置控制器,基于第一接口与主机装置通信;以及存储器装置,基于第二接口与装置控制器通信。当由主机装置对第一接口执行第一训练操作时,装置控制器将根据第一训练操作获得的训练结果值发送到主机装置。当由主机装置对作为虚拟接口的第三接口执行第二训练操作时,装置控制器将预定的训练结果值发送到主机装置。

附图说明

通过参照附图详细描述发明构思的示例性实施例,发明构思将变得清楚。

图1是示出根据发明构思的示例性实施例的计算系统的框图。

图2是示出根据发明构思的示例性实施例的存储器模块的框图。

图3是示出当图2的存储器模块在第一操作模式下操作时由主机控制器识别的存储器模块的示例的框图。

图4是示出根据发明构思的示例性实施例的图2的存储器模块的示例性操作的流程图。

图5是示出根据发明构思的示例性实施例的用于执行存储器接口训练操作的图2的装置控制器的示例的框图。

图6示出图5的控制寄存器的示例。

图7是示出根据发明构思的示例性实施例的图2的存储器模块的mre(p)训练操作的示例的流程图。

图8示出根据发明构思的示例性实施例的mre(p)训练操作中的图2的主机控制器的操作的示例。

图9是示出根据发明构思的示例性实施例的图2的存储器模块的dwl训练操作的示例的流程图。

图10是示出图2的存储器模块执行mrd训练操作的示例的流程图。

图11是示出根据发明构思的示例性实施例的图2的存储器模块执行mwd训练操作的示例的流程图。

图12是示出根据发明构思的示例性实施例的用于执行主机接口训练操作的图2的装置控制器的示例的框图。

图13是示出根据发明构思的示例性实施例的图2的存储器模块执行hwl训练操作的示例的流程图。

图14是示出根据发明构思的示例性实施例的用于执行主机接口训练操作的图2的装置控制器的示例的框图。

图15是示出根据发明构思的示例性实施例的图2的存储器模块执行hiw训练操作的示例的流程图。

具体实施方式

下面,详细且清楚地描述发明构思的实施例,以达到本领域普通技术人员能够实现发明构思的程度。

在说明书中,两个装置之间的“接口”是指在两个装置之间交换的信号和用于交换信号的信号。例如,接口可以包括数据信号、数据选通信号、时钟信号等。

在说明书中,“接口训练”是指选择通过调整在两个装置之间交换的信号和用于交换信号的信号的延迟值(即,相位或时序值)而获得的优化延迟值的操作。

图1是示出根据发明构思的示例性实施例的计算系统的框图。参照图1,计算系统1000包括基底1001、处理器1100、主存储器1200、系统互连1300、存储装置1400、用户输入/输出装置1500和调制解调器1600。

基底1001可以是其上安装有处理器1100、主存储器1200、系统互连1300、存储装置1400、用户输入/输出装置1500和调制解调器1600的母板或印刷电路板。基底1001可以包括其上安装有处理器1100、主存储器1200、存储装置1400、用户输入/输出装置1500和调制解调器1600的第一连接器1010至第五连接器1050。连接器1010至1050可以是导电垫。基底1001可以被制造为包括系统互连1300。

处理器1100可以包括控制计算系统1000并执行各种操作的中央处理器(cpu)或应用处理器。处理器1100可以包括被配置为控制主存储器1200的主机控制器1110(例如,控制电路)。处理器1100可以将执行操作所必需的代码(例如,可执行代码)存储在主存储器1200中。该操作可以生成数据、写入数据和读取写入的数据。

主存储器1200可以通过第二连接器1020连接到基底1001。主存储器1200可以包括动态随机存取存储器(dram)。主存储器1200可以是包括诸如闪存存储器或相变存储器的非易失性存储器的存储类存储器(scm)。主存储器1200可以基于双列直插式存储器模块(dimm)。

主存储器1200可以包括装置控制器1210(例如,控制电路)。装置控制器1210可以基于从主机控制器1110提供的命令来控制主存储器1200。例如,装置控制器1210可以将数据写入到包括在主存储器1200中的存储器装置中,或者可以从存储器装置读取数据。

系统互连1300可以提供处理器1100、存储装置1400、用户输入/输出装置1500和调制解调器1600之间的通信通道。系统互连1300可以基于诸如外围组件互连快速(pcie)、非易失性存储器快速(nvme)、高级可扩展接口(axi)和arm微控制器总线架构(amba)的各种标准之一。

存储装置1400可以通过第三连接器1030连接到基底1001。存储装置1400可以用作计算系统1000的辅助存储器。存储装置1400可以存储由处理器1100驱动的应用和操作系统以及用户数据的原始数据。存储装置1400可以包括硬盘驱动器(hdd)、固态驱动器(ssd)、光盘驱动器(odd)等。

用户输入/输出装置1500可以通过第四连接器1040连接到基底1001。用户输入/输出装置1500可以被配置为与用户交换信息。用户输入/输出装置1500可以包括能够从用户接收信息的用户输入装置(诸如,键盘、鼠标、触摸面板、操作传感器和麦克风)。用户输入/输出装置1500可以包括能够向用户提供信息的用户输出装置(诸如,显示装置、扬声器、光束投影仪和打印机)。

调制解调器1600可以通过第五连接器1050连接到基底1001。调制解调器1600可以被配置为有线地或无线地与外部装置交换数据。在示例性实施例中,调制解调器1600可以与基底1001或处理器1100集成。

图2是示出根据发明构思的示例性实施例的存储器模块的框图。图2的存储器模块2000和主机控制器3000可以分别与图1的主存储器1200和主机控制器1110对应。

参照图2,存储器模块2000包括装置控制器100和多个存储器装置210至2n0。装置控制器100和存储器装置210至2n0可以用不同的半导体封装件来实现,并且可以安装在一个印刷电路板上。例如,存储器装置210至2n0的数量可以是9,但是发明构思不限于此。

装置控制器100通过主机接口与主机控制器3000通信。主机接口可以包括在装置控制器100与主机控制器3000之间交换的信号。例如,主机接口可以包括数据信号dq和数据选通信号dqs。

装置控制器100可以从主机控制器3000接收命令cmde、地址addre、时钟信号ck、数据信号dq和数据选通信号dqs。在示例性实施例中,装置控制器100基于数据选通信号dqs的转变时序来锁存数据信号dq的电平。例如,装置控制器100可以在每当数据选通信号dqs从一个逻辑电平转变到不同的逻辑电平时锁存数据信号dq的电平。装置控制器100从主机控制器3000接收的信号不限于此,并且装置控制器100可以从主机控制器3000接收各种信号(例如,控制信号)。装置控制器100可以将数据信号dq和数据选通信号dqs发送到主机控制器3000。

装置控制器100可以基于控制器接口与存储器装置210至2n0通信。控制器接口可以包括在装置控制器100与存储器装置210至2n0之间交换的信号。例如,控制器接口可以包括数据信号cdq和数据选通信号cdqs。

装置控制器100可以将命令cmdi、地址addri、时钟信号mck、数据信号cdq和数据选通信号cdqs发送到存储器装置210至2n0中的每个。装置控制器100可以从存储器装置210至2n0中的每个接收数据信号cdq和数据选通信号cdqs。在示例性实施例中,装置控制器100基于数据选通信号cdqs的转变时序来锁存数据信号cdq的电平。例如,装置控制器100可以在每当数据选通信号cdqs从一个逻辑电平转变到不同的逻辑电平时锁存数据信号cdq的电平。

装置控制器100可以响应于从主机控制器3000发送的命令cmde、地址addre和时钟信号ck将命令cmdi、地址addri和时钟信号mck发送到存储器装置210至2n0中的至少一个。装置控制器100可以响应于来自主机控制器3000的选择信号将命令cmdi、地址addri和时钟信号mck发送到存储器装置210至2n0中的至少一个。

装置控制器100可以基于数据信号dq和数据选通信号dqs将数据信号cdq和数据选通信号cdqs发送到相关存储器装置。例如,装置控制器100可以基于分别通过第一信号线101和第二信号线102接收的数据信号dq和数据选通信号dqs,通过第五信号线105和第六信号线106将数据信号cdq和数据选通信号cdqs发送到第一存储器装置210。装置控制器100可以基于分别通过第三信号线103和第四信号线104接收的数据信号dq和数据选通信号dqs,通过第七信号线107和第八信号线108将数据信号cdq和数据选通信号cdqs发送到第n存储器装置2n0。

在示例性实施例中,装置控制器100将从主机控制器3000发送的数据信号dq在不进行修改的情况下发送到存储器装置。在这种情况下,数据信号dq的值可以与从装置控制器100发送到存储器装置的数据信号cdq的值相同。在另一实施例中,装置控制器100处理从主机控制器3000发送的数据信号dq以生成处理的数据信号,并将处理的数据信号发送到存储器装置。在这种情况下,数据信号dq的值可以与从装置控制器100发送到存储器装置的数据信号cdq的值不同。

基于命令cmdi和地址addri,装置控制器100可以从存储器装置210至2n0中的每个读取数据信号cdq或者可以将数据信号cdq写入到存储器装置210至2n0中的每个中。例如,当命令cmdi是读取命令时,装置控制器100可以从存储器装置210至2n0中的由地址addri指示的一个存储器装置或从存储器装置210至2n0中的由地址addri指示的一个存储器装置内的位置接收数据信号cdq。

响应于命令cmdi和地址addri,存储器装置210至2n0中的每个可以从内部存储器单元输出数据信号cdq或者可以将数据信号cdq存储在内部存储器单元中。为了输出数据信号cdq,存储器装置210至2n0中的每个可以将数据信号cdq和数据选通信号cdqs发送到装置控制器100。为了存储数据信号cdq,存储器装置210至2n0中的每个可以从装置控制器100接收数据信号cdq和数据选通信号cdqs。在示例性实施例中,存储器装置210至2n0中的每个基于数据选通信号cdqs的转变时序来锁存数据信号cdq的电平。例如,存储器装置210至2n0中的每个可以在每当数据选通信号cdqs的转变发生时锁存数据信号cdq的电平。

存储器装置210至2n0中的每个可以基于时钟信号mck来操作。例如,存储器装置210至2n0中的每个可以从时钟信号mck生成数据选通信号cdqs。

存储器装置210至2n0中的每个可以是诸如dram的易失性存储器或者诸如闪存存储器、pram、rram或mram的非易失性存储器。

装置控制器100包括控制逻辑电路110、第一寄存器120、第二寄存器130和缓冲器训练支持逻辑电路140。在示例性实施例中,控制逻辑电路110响应于命令cmde和地址addre将与装置控制器100的操作相关联的控制值存储在第一寄存器120中。装置控制器100可以根据存储在第一寄存器120中的控制值来操作。例如,装置控制器100可以根据存储在第一寄存器120中的控制值在第一操作模式或第二操作模式下操作。也就是说,装置控制器100可以在第一操作模式和第二操作模式之中的由主机控制器3000选择的操作模式下操作。例如,控制值可以被设置为用于选择第一操作模式的第一值,或者可被设置为用于选择第二操作模式的第二其他值。

在示例性实施例中,第一操作模式是指按照lrdimm标准进行操作的模式,第二操作模式是指按照rdimm标准进行操作的模式。在装置控制器(例如,100)在第一操作模式下操作的情况下,存储器模块2000可以被主机控制器3000识别为lrdimm类型的存储器模块。在装置控制器(例如,100)在第二操作模式下操作的情况下,存储器模块2000可以被主机控制器3000识别为rdimm类型的存储器模块。也就是说,存储器模块2000可以根据从主机控制器3000接收的控制值而操作为lrdimm或rdimm。

在存储器模块2000在第一操作模式下操作的情况下,如图3中所示,主机控制器3000可以识别出存储器模块2000包括与存储器装置210至2n0中的每个对应的数据缓冲器。

图3是示出当图2的存储器模块在第一操作模式下操作时由主机控制器(例如,3000)识别的存储器模块的示例的框图。参照图3,主机控制器3000可以识别出存储器模块4000包括装置控制器300、数据缓冲器400和存储器装置500。在这种情况下,装置控制器300可以接收命令cmde、地址addre和时钟信号ck。

主机控制器3000可以识别出数据缓冲器400和存储器装置500基于存储器接口进行通信。在这种情况下,存储器接口可以包括在数据缓冲器400与存储器装置500之间交换的第一信号和用于交换第一信号的第二信号。例如,存储器接口可以包括数据信号mdq、数据选通信号mdqs和时钟信号bck。

主机控制器3000可以识别出数据缓冲器400接收数据信号dq和数据选通信号dqs并且数据缓冲器400基于从装置控制器300提供的时钟信号bck进行操作。在这种情况下,可以识别出时钟信号bck基于时钟信号ck生成。主机控制器3000可以识别出数据缓冲器400基于数据信号dq和数据选通信号dqs将数据信号mdq和数据选通信号mdqs发送到存储器装置500。主机控制器3000可以识别出数据缓冲器400从存储器装置500接收数据信号mdq和数据选通信号mdqs。

主机控制器3000可以识别出存储器装置500从数据缓冲器400接收数据信号mdq和数据选通信号mdqs,并将数据信号mdq和数据选通信号mdqs发送到数据缓冲器400。在这种情况下,可以识别出存储器装置500基于从装置控制器300提供的时钟信号mck进行操作,并且时钟信号mck基于时钟信号ck生成。

如此,在存储器模块2000在第一操作模式下操作的情况下,即使存储器模块2000实际上不包括数据缓冲器,主机控制器3000也可以识别出存储器模块2000用作存储器模块4000。在这种情况下,主机控制器3000可以识别出数据缓冲器400和存储器装置500基于存储器接口进行通信。也就是说,数据缓冲器400可以是被主机控制器3000识别为包括在存储器模块2000中的虚拟数据缓冲器。因此,存储器接口可以是虚拟数据缓冲器400与存储器装置500之间的虚拟接口。

由于存储器模块2000被主机控制器3000识别为存储器模块4000,所以主机控制器3000可以识别出主机接口和存储器接口两者都存在。例如,主机控制器3000可以识别出数据信号dq、数据选通信号dqs、数据信号mdq、数据选通信号mdqs和时钟信号bck都需要被生成。如此,主机控制器3000可以执行主机接口训练操作和存储器接口训练操作。主机控制器3000可以在存储器模块2000执行正常操作之前执行接口训练操作。正常操作的示例可以包括读取操作和写入操作。

返回到图2,因为存储器模块2000不包括数据缓冲器,所以主机接口可以存在于存储器模块2000与主机控制器3000之间,但是存储器接口可能无法存在于数据缓冲器与存储器装置之间(即,存储器接口是虚拟接口)。也就是说,存储器模块2000可以执行主机接口训练操作,但是可能无法执行存储器接口训练操作。为了使存储器模块2000在第一操作模式下操作,存储器接口训练操作可以由主机控制器3000正常执行。如此,存储器模块2000可以复制存储器接口训练操作(即,实际上不执行存储器接口训练操作)。主机控制器3000可以识别出存储器接口训练操作根据存储器模块2000的训练副本操作被正常执行。

控制逻辑电路110从主机控制器3000接收用于存储器接口训练操作的命令cmde和地址addre。在示例性实施例中,控制逻辑电路110基于接收的命令cmde和接收的地址addre向缓冲器训练支持逻辑电路140提供训练控制值。缓冲器训练支持逻辑电路140可以根据提供的训练控制值来生成预定的训练结果值,并且可以通过数据信号dq将生成的训练结果值发送到主机控制器3000。也就是说,缓冲器训练支持逻辑电路140可以通过将预定的训练结果值发送到主机控制器3000来复制存储器接口训练操作。例如,缓冲器训练支持逻辑电路140将预定的训练结果值发送到主机控制器3000,代替执行存储器接口训练操作以生成实际训练结果值。

主机控制器3000可以基于训练结果值来选择存储器接口的最终延迟值(即,最终相位值或最终时序值)。例如,主机控制器3000可以从图3的数据缓冲器400来选择数据选通信号mdqs的最终延迟值。主机控制器3000可以将选择的最终延迟值提供给存储器模块2000。控制逻辑电路110可以将最终延迟值存储在缓冲器训练支持逻辑电路140中。如此,主机控制器3000可以识别出存储器接口训练操作已经正常完成。例如,主机控制器3000接收有效的预定的训练结果值,代替接收指示由于缺少数据缓冲器而不能执行存储器接口训练操作的信号或错误消息。将参照图5至图11更充分地描述基于缓冲器训练支持逻辑电路140执行的训练副本操作。

装置控制器100可以从主机控制器3000接收用于主机接口训练操作的命令cmde和地址addre。装置控制器100基于接收的命令cmde和接收的地址addre来实际执行主机接口训练操作。装置控制器100将通过训练操作生成的训练结果值提供给主机控制器3000。主机控制器3000可以基于训练结果值来选择主机接口的最终延迟值。主机控制器3000可以将选择的最终延迟值存储在内部寄存器中。如此,可以完成主机接口训练操作。

在示例性实施例中,缓冲器训练支持逻辑电路140用于主机接口训练操作。将参照图12至图15描述装置控制器100的主机接口训练操作。

装置控制器100可以自动地执行控制器接口训练操作,而不管主机控制器3000的命令如何。例如,控制逻辑电路110可以执行控制器接口训练操作,并且可以将通过训练操作选择的控制器接口的最终延迟值存储在第二寄存器130中。如此,装置控制器100可以基于存储在第二寄存器130中的最终延迟值来发送或接收数据信号cdq和数据选通信号cdqs。

装置控制器100可以分别对存储器装置210至2n0与装置控制器100之间的控制器接口执行训练操作。例如,装置控制器100可以训练第一存储器装置210与装置控制器100之间的第一控制器接口。装置控制器100可以独立于第一控制器接口训练操作来训练第n存储器装置2n0与装置控制器100之间的第n控制器接口。如此,第二寄存器130可以分别存储第一控制器接口的优化延迟值和第n控制器接口的优化延迟值。

如上所述,存储器模块2000可以在不包括数据缓冲器的情况下在第一操作模式(即,lrdimm类型)下操作。在存储器模块2000具有预定尺寸的情况下,因为存储器模块2000不包括数据缓冲器,所以将被安装在存储器模块2000上的存储器装置的数量可以增加。因此,存储器模块2000的容量可以增加。此外,因为在不使用数据缓冲器的情况下在主机控制器3000与存储器装置210至2n0之间传送数据,所以读取时延和写入时延可以减少。

图4是示出根据发明构思的示例性实施例的图2的存储器模块的示例性操作的流程图。参照图2和图4,在操作s101中,存储器模块2000可以被通电或重置。重置可以在存储器模块2000被通电之后发生。在操作s102中,存储器模块2000被初始化为第一操作模式。例如,在初始化操作中,主机控制器3000可以在第一操作模式和第二操作模式之中选择第一操作模式。如此,存储器模块2000可以根据这样选择的第一操作模式执行初始化操作。

在操作s103中,存储器模块2000执行存储器接口训练操作和主机接口训练操作。存储器接口训练操作和主机接口训练操作可以由主机控制器3000控制。存储器模块2000可以基于从主机控制器3000发送的命令或训练控制值来执行训练操作。在示例性实施例中,存储器接口的最终延迟值由主机控制器3000通过存储器接口训练操作来选择。在示例性实施例中,主机接口的最终延迟值由主机控制器3000通过主机接口训练操作来选择。

在操作s103中的训练操作已经完成之后,在操作s104中,存储器模块2000对训练的接口进行测试。用于对训练的接口进行测试的接口测试操作可以由主机控制器3000控制。主机控制器3000可以根据接口测试操作来确定接口训练操作是否被正常执行。

在测试操作已经完成之后,在操作s105中,存储器模块2000执行正常操作。在正常操作中,存储器模块2000可以基于主机接口和控制器接口与主机控制器3000和存储器装置210至2n0通信。控制器接口训练操作可以由存储器模块2000单独执行。在正常操作中,存储器模块2000不使用通过存储器接口训练操作选择的最终延迟值。

将参照图5至图11更充分地描述存储器模块2000的存储器接口训练操作。

图5是示出根据发明构思的示例性实施例的用于执行存储器接口训练操作的图2的装置控制器的示例的框图。参照图5,装置控制器100包括控制逻辑电路110、缓冲器训练支持逻辑电路140和选择电路150。控制逻辑电路110可以基于从主机控制器3000提供的命令cmde和地址addre来控制选择电路150和缓冲器训练支持逻辑电路140。

在示例性实施例中,选择电路150基于来自控制逻辑电路110的控制信号scc将数据信号dq传送到第一数据路径p1和第二数据路径p2中的一个。通过第一数据路径p1传送的数据信号dq可以被提供给存储器装置或者可以被提供给装置控制器100的单独电路。通过第二数据路径p2传送的数据信号dq被提供给缓冲器训练支持逻辑电路140。此外,选择电路150可以基于来自控制逻辑电路110的控制信号scc向主机控制器3000提供从第一数据路径p1和第二数据路径p2中的一个输入的数据信号dq。

控制逻辑电路110可以控制选择电路150,使得在正常操作中数据信号dq通过第一数据路径p1被传送到装置控制器100或主机控制器3000。控制逻辑电路110可以控制选择电路150,使得在存储器接口训练操作中数据信号dq通过第二数据路径p2被传送到装置控制器100或主机控制器3000。

缓冲器训练支持逻辑电路140包括缓冲寄存器141、控制寄存器142和训练结果值生成器143。缓冲寄存器141可以存储通过第二数据路径p2传送的数据信号dq。存储在缓冲寄存器141中的数据信号dq可以通过第二数据路径p2发送到主机控制器3000。

控制寄存器142可以存储与存储器接口训练操作相关联的训练控制值。控制逻辑电路110可以基于来自主机控制器3000的命令cmde和地址addre来接收训练控制值。控制逻辑电路110可以将通过控制信号btc接收的训练控制值存储在控制寄存器142中。控制逻辑电路110可以将训练控制值存储在控制寄存器142的由地址addre指示的位置中。

训练结果值生成器143可以基于存储在控制寄存器142中的训练控制值生成预定的训练结果值。预定的训练结果值可以与通过对实际的存储器接口执行的训练操作而获得的实际的训练结果值对应。也就是说,预定的训练结果值可以是与实际的训练结果值相关联的副本值。例如,预定的训练结果值可以根据特定算法来生成,使得存储器接口训练操作正常完成,或者预定的训练结果值可以被预先存储为特定值。生成的训练结果值可以通过缓冲寄存器141发送到主机控制器3000。

如上所述,在存储器接口训练操作中,缓冲器训练支持逻辑电路140通过根据训练控制值生成预定的训练结果值来复制存储器接口训练操作。如此,由主机控制器3000执行的存储器接口训练操作可以正常地完成。因此,存储器模块2000可以在没有数据缓冲器的情况下在第一操作模式下操作。

图6示出图5的控制寄存器的示例。参照图5和图6,控制寄存器142可以包括模式字段mode、控制字段mre(p)、dwl、mrd(例如,mrd1、mrd2、mrd3等)和mwd(例如,mwd1、mwd2等)以及数据字段mpr和tsw。

模式字段mode可以指导一种训练模式。在存储器接口训练操作中,模式字段mode可以存储存储器接口训练操作的各种训练模式中的一种。例如,存储器接口的训练模式可以包括训练数据信号(mdq)接收使能阶段mre(p)的模式(在下文中,被称为“mre(p)训练模式”)、训练写入均衡的模式(在下文中,被称为“dwl训练模式”)、训练读取延迟的模式(在下文中,被称为“mrd训练模式”)以及训练写入延迟的模式(在下文中,被称为“mwd训练模式”)。

在mre(p)训练模式下,可以选择从图3的数据缓冲器400的时钟信号bck生成的接收使能信号的最终延迟值。在mre(p)训练模式下选择的接收使能信号的最终延迟值可以是在时钟信号bck的一个周期内调整的延迟值之一。

在dwl训练模式下,可以选择从图3的数据缓冲器400发送的数据选通信号mdqs的最终延迟值。在dwl训练模式下选择的数据选通信号mdqs的最终延迟值可以是在数据选通信号mdqs的一个周期内调整的多个延迟值中的一个。

在mrd训练模式下,可以选择接收使能信号的最终延迟值以及从图3的存储器装置500接收的数据选通信号mdqs和数据信号mdq的最终延迟值。在mrd训练模式下选择的接收使能信号的最终延迟值可以是时钟信号bck的一个周期的多个倍数中的一个。也就是说,可以以接收使能信号的周期为单位来选择延迟。在mrd训练模式下选择的数据选通信号mdqs和数据信号mdq的最终延迟值可以是在数据选通信号mdqs的一个周期内调整的延迟值之一。

在mwd训练模式下,可以选择从图3的数据缓冲器400发送的数据选通信号mdqs和数据信号mdq的最终延迟值。在mwd训练模式下选择的数据选通信号mdqs的最终延迟值可以是数据选通信号mdqs的一个周期的多个倍数中的一个。也就是说,可以以数据选通信号mdqs的周期为单位来选择延迟。在mwd训练模式下选择的数据信号mdq的最终延迟值可以是在数据选通信号mdqs的一个周期内调整的多个延迟值中的一个。

下面,为了便于描述,将在一个周期内选择的最终延迟值称为“部分周期延迟”,并且将最终延迟值是从一个周期的倍数中选择的一个称为“全周期延迟”。

在存储器接口训练操作中,模式字段mode可以存储指示mre(p)训练模式、dwl训练模式、mrd训练模式和mwd训练模式中的一个的训练模式值tmv。

控制字段mre(p)可以存储在mre(p)训练模式下使用的训练控制值tcv_a。例如,可以根据训练控制值tcv_a来调整从时钟信号bck生成的接收使能信号的相位(即,部分周期延迟)。

控制字段dwl可以存储在dwl训练模式下使用的训练控制值tcv_b。例如,可以根据训练控制值tcv_b来调整从数据缓冲器400发送的数据选通信号mdqs的相位(即,部分周期延迟)。

控制字段mrd1至mrd3可以分别存储在mrd训练模式下使用的训练控制值tcv_c至tcv_e。例如,可以根据训练控制值tcv_c至tcv_e来调整接收使能信号的全周期延迟以及输入到数据缓冲器400的数据选通信号mdqs和数据信号mdq的相位(即,部分周期延迟)。

控制字段mwd1和mwd2可以存储在mwd训练模式下使用的训练控制值tcv_f和tcv_g。例如,可以根据训练控制值tcv_f和tcv_g来调整从数据缓冲器400发送的数据选通信号mdqs的全周期延迟和从数据缓冲器400发送的数据信号mdq的相位(即,部分周期延迟)。

数据字段mpr可以存储在训练操作中使用的预期数据ed。例如,可以在存储器接口训练操作中执行将特定数据和预期数据ed进行比较的操作。

数据字段tsw可以存储在训练操作中生成的比较结果cr。例如,在存储器接口训练操作中,与将特定数据和预期数据ed进行比较的比较结果cr对应的值可以被存储在数据字段tsw中。

在接口训练操作中,控制逻辑电路110可以基于命令cmde和地址addre将值写入控制寄存器142的对应字段中。在示例性实施例中,控制字段mre(p)、dwl、mrd1至mrd3、mwd1和mwd2的训练控制值tcv_a至tcv_g可以在图4的初始化操作中被存储,或者可以在相应的训练模式下从主机控制器3000提供。例如,第一训练控制值tcv_a可以在初始化操作中被存储,然后,可以在初始化操作之后(例如,在mre(p)训练模式下)从主机控制器3000提供。

训练结果值生成器143可以基于写入控制寄存器142的字段中的值来生成训练结果值。例如,在存储器接口训练操作中,训练结果值生成器143可以根据控制寄存器142的控制字段mre(p)、dwl、mrd1至mrd3、mwd1和mwd2的训练控制值tcv_a至tcv_g来生成预定的训练结果值。

图7是示出根据发明构思的示例性实施例的图2的存储器模块的mre(p)训练操作的示例的流程图。参照图2以及图5至图7,在操作s111中,存储器模块2000基于命令cmde和地址addre从主机控制器3000接收mre(p)训练模式使能信号。例如,响应于mre(p)训练模式使能信号,控制逻辑电路110可以将与mre(p)训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

在操作s112中,存储器模块2000根据训练控制值tcv_a将预定的训练结果值发送到主机控制器3000。例如,训练结果值生成器143可以根据存储在控制寄存器142的控制字段mre(p)中的训练控制值tcv_a来生成预定的训练结果值。这里,训练控制值tcv_a可以与从时钟信号bck生成的接收使能信号的部分周期延迟值对应,并且预定的训练结果值可以与通过基于从图3的存储器装置500发送的数据选通信号mdqs对时钟信号bck进行采样而获得的值对应。生成的训练结果值可以通过缓冲寄存器141发送到主机控制器3000。

在操作s113中,存储器模块2000从主机控制器3000接收新训练控制值tcv_a。例如,控制逻辑电路110可以将接收的新训练控制值tcv_a写入控制寄存器142的控制字段mre(p)中。因此,控制字段mre(p)的值可以变化。

在操作s114中,存储器模块2000确定新训练控制值tcv_a是否为最终训练控制值tcv_a。当新训练控制值tcv_a为最终训练控制值tcv_a时,终止mre(p)训练操作。在这种情况下,控制寄存器142的控制字段mre(p)可以存储最终训练控制值tcv_a。也就是说,可以设置接收使能信号的最终部分周期延迟值。

当新训练控制值tcv_a不是最终训练控制值tcv_a时,存储器模块2000可以再次执行操作s112和操作s113。例如,存储器模块2000可以根据新训练控制值tcv_a将预定的训练结果值发送到主机控制器3000。

主机控制器3000可以基于从存储器模块2000发送的至少一个训练结果值来选择最终训练控制值tcv_a。例如,当最终训练控制值tcv_a是基于所述至少一个训练结果值来选择时,在操作s113中,主机控制器3000可以将选择的最终训练控制值tcv_a发送到存储器模块2000。当最终训练控制值tcv_a不是基于所述至少一个训练结果值来选择时,在操作s113中,主机控制器3000可以将新训练控制值tcv_a发送到存储器模块2000以接收新训练结果值。

图8示出了根据发明构思的示例性实施例的mre(p)训练操作中的图2的主机控制器的操作的示例。参照图2和图8,存储器模块2000可以基于第1训练控制值tcv_a1至第64训练控制值tcv_a64来执行mre(p)训练操作。例如,当时钟信号ck的一个周期被划分为64个时间段时,第1训练控制值tcv_a1至第64训练控制值tcv_a64可以指示分别与64个相位对应的延迟值。也就是说,存储器模块2000可以基于64个不同的训练控制值tcv_a1至tcv_a64来执行mre(p)训练操作。

存储器模块2000可以根据每个训练控制值将预定的训练结果值发送到主机控制器3000。例如,存储器模块2000可以根据第1训练控制值tcv_a1至第32训练控制值tcv_a32中的每个分别在第1时间段t1至第32时间段t32将“0”作为训练结果值发送到主机控制器3000。存储器模块2000可以根据第33训练控制值tcv_a33至第64训练控制值tcv_a64中的每个在第33时间段t33至第64时间段t64将“1”作为训练结果值发送到主机控制器3000。

主机控制器3000可以基于从存储器模块2000发送的64个训练结果值来选择最终训练控制值tcv_a。例如,当训练结果值从“0”转变为“1”时,主机控制器3000可以选择与第33时间段t33对应的第33训练控制信号值tcv_a33作为最终训练控制值tcv_a。之后,主机控制器3000可以将第33训练控制值tcv_a33发送到存储器模块2000作为最终训练控制值tcv_a。

如上所述,主机控制器3000可以基于从存储器模块2000发送的多个训练结果值来选择接收使能信号的最终部分周期延迟值。参照图8描述的最终部分周期延迟值选择方法仅是一个示例,主机控制器3000可以以与参照图8描述的方法不同的方法来选择接收使能信号的最终部分周期延迟值。

图9是示出根据发明构思的示例性实施例的图2的存储器模块的dwl训练操作的示例的流程图。参照图2、图5、图6和图9,在操作s121中,存储器模块2000接收dwl训练模式使能信号。dwl训练模式使能信号可以基于来自主机控制器3000的命令cmde和地址addre。例如,响应于dwl训练模式使能信号,控制逻辑电路110可以将与dwl训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

在操作s122中,存储器模块2000根据训练控制值tcv_b将预定的训练结果值发送到主机控制器3000。例如,训练结果值生成器143可以根据存储在控制寄存器142的控制字段dwl中的训练控制值tcv_b来生成预定的训练结果值。这里,训练控制值tcv_b可以与来自图3的数据缓冲器400的数据选通信号mdqs的部分周期延迟值对应,并且预定的训练结果值可以与通过基于数据选通信号mdqs对时钟信号mck进行采样而获得的值对应。生成的训练结果值可以通过缓冲寄存器141发送到主机控制器3000。

在操作s123中,存储器模块2000接收新训练控制值tcv_b。例如,控制逻辑电路110可以将接收的新训练控制值tcv_b写入控制寄存器142的控制字段dwl中。因此,控制字段dwl的值可以变化。

在操作s124中,存储器模块2000确定新训练控制值tcv_b是否是最终训练控制值tcv_b。当新训练控制值tcv_b是最终训练控制值tcv_b时,终止dwl训练操作。在这种情况下,控制寄存器142的控制字段dwl可以存储最终训练控制值tcv_b。也就是说,可以选择从图3的数据缓冲器400发送的数据选通信号mdqs的最终部分周期延迟值。当新训练控制值tcv_b不是最终训练控制值tcv_b时,存储器模块2000可以再次执行操作s122和操作s123。

主机控制器3000可以基于从存储器模块2000发送的至少一个训练结果值来选择最终训练控制值tcv_b。例如,主机控制器3000可以以与参照图8描述的最终训练控制值(tcv_a)选择方法类似的方法来选择最终训练控制值tcv_b。

图10是示出根据发明构思的示例性实施例的图2的存储器模块执行mrd训练操作的示例的流程图。参照图2、图5、图6和图10,在操作s131中,存储器模块2000从主机控制器3000接收mrd训练模式使能信号。mrd训练模式使能信号可以基于来自主机控制器3000的命令cmde和地址addre。例如,响应于mrd训练模式使能信号,控制逻辑电路110可以将与mrd训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

在操作s132中,存储器模块2000存储来自主机控制器3000的预期数据ed。例如,主机控制器3000可以指导图3的数据缓冲器400的缓冲器控制字(bcw)寄存器(未示出)存储预期数据ed。因此,控制逻辑电路110可以将预期数据ed存储在控制寄存器142的与bcw寄存器对应的数据字段mpr中。在这种情况下,预期数据ed可以是与预先存储在存储器装置210至2n0中的每个中的特定数据相同的数据。

在操作s133中,存储器模块2000根据训练控制值tcv_c至tcv_e将预定的训练结果值发送到主机控制器3000。例如,训练结果值生成器143可以根据存储在控制寄存器142的控制字段mrd1至mrd3中的训练控制值tcv_c至tcv_e来生成预定的训练结果值。这里,训练控制值tcv_c至tcv_e可以分别与接收使能信号的全周期延迟、数据选通信号mdqs的部分周期延迟和数据信号mdq的部分周期延迟对应,接收使能信号、数据选通信号mdqs和数据信号mdq用于从存储器装置500读取特定数据。此外,预定的训练结果值可以与将预先存储在图3的数据缓冲器400的bcw寄存器中的预期数据ed与从存储器装置500读取的特定数据进行比较的比较结果对应。

预定的训练结果值可以是指示两个数据匹配的第一值(例如,“1”)或者指示两个数据不同的第二值(例如,“0”)。例如,训练结果值生成器143可以生成预定的训练结果值以具有第一值,而不管训练控制值tcv_c至tcv_e如何。在另一示例中,在特定训练控制值tcv_c至tcv_e被存储在控制字段mrd1至mrd3中的情况下,训练结果值生成器143可以生成与第一值对应的预定的训练结果值。训练结果值生成器143可以将生成的训练结果值作为比较结果cr存储在控制寄存器142的数据字段tsw中。存储在控制寄存器142中的训练结果值可以通过缓冲寄存器141发送到主机控制器3000。

在操作s134中,存储器模块2000接收新训练控制值tcv_c至tcv_e。例如,控制逻辑电路110可以将新训练控制值tcv_c至tcv_e写入控制寄存器142的控制字段mrd1至mrd3中。因此,控制字段mrd1至mrd3的值可以变化。

在操作s135中,存储器模块2000可以确定新训练控制值tcv_c至tcv_e是否为最终训练控制值tcv_c至tcv_e。当新训练控制值tcv_c至tcv_e是最终训练控制值tcv_c至tcv_e时,终止mrd训练操作。在这种情况下,控制寄存器142的控制字段mrd1至mrd3可以存储最终训练控制值tcv_c至tcv_e。也就是说,可以设置接收使能信号的最终全周期延迟值以及输入到图3的数据缓冲器400的数据选通信号mdqs和数据信号mdq的最终部分周期延迟值。当新训练控制值tcv_c至tcv_e不是最终训练控制值tcv_c至tcv_e时,存储器模块2000可以再次执行操作s133和操作s134。

主机控制器3000可以基于从存储器模块2000发送的至少一个训练结果值来选择最终训练控制值tcv_c至tcv_e。例如,在训练结果值是第一值的情况下,主机控制器3000可以选择对应的训练控制值tcv_c至tcv_e作为最终训练控制值tcv_c至tcv_e。在另一示例中,在与训练控制值tcv_c至tcv_e的各种组合对应的训练结果值中的每个是第一值的情况下,主机控制器3000可以选择训练控制值tcv_c至tcv_e的各种组合中的一个作为最终训练控制值tcv_c至tcv_e。

图11是示出根据发明构思的示例性实施例的图2的存储器模块执行mwd训练操作的示例的流程图。参照图2、图5、图6和图11,在操作s141中,存储器模块2000从主机控制器3000接收mwd训练模式使能信号。mwd训练模式使能信号可以基于来自主机控制器3000的命令cmde和地址addre。例如,响应于mwd训练模式使能信号,控制逻辑电路110可以将与mwd训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

在操作s142中,存储器模块2000存储来自主机控制器3000的预期数据ed。例如,主机控制器3000可以指导图3的数据缓冲器400的bcw寄存器存储预期数据ed。因此,控制逻辑电路110可以将预期数据ed存储在控制寄存器142的与bcw寄存器对应的数据字段mpr中。

在操作s143中,存储器模块2000根据训练控制值tcv_f和tcv_g将预定的训练结果值发送到主机控制器3000。例如,训练结果值生成器143可以根据存储在控制寄存器142的控制字段mwd1和mwd2中的训练控制值tcv_f和tcv_g来生成预定的训练结果值。这里,训练控制值tcv_f和tcv_g可以分别与数据选通信号mdqs的全周期延迟和数据信号mdq的部分周期延迟对应,数据选通信号mdqs和数据信号mdq用于将特定数据写入存储器装置500中。预定的训练结果值可以与将预先存储在图3的数据缓冲器400的bcw寄存器中的预期数据ed与从存储器装置500读取的特定数据进行比较的比较结果对应。从存储器装置500读取的特定数据可以是在将预期数据ed写入存储器装置500中之后从存储器装置500输出的数据。

预定的训练结果值可以是指示两个数据匹配的第一值(例如,“1”)或者指示两个数据不同的第二值(例如,“0”)。例如,训练结果值生成器143可以生成预定的训练结果值以具有第一值,而不管训练控制值tcv_f和tcv_g如何。在另一示例中,在特定训练控制值tcv_f和tcv_g被存储在控制字段mwd1和mwd2中的情况下,训练结果值生成器143可以生成与第一值对应的预定的训练结果值。训练结果值生成器143可以将生成的训练结果值作为比较结果cr存储在控制寄存器142的数据字段tsw中。存储在控制寄存器142中的训练结果值可以通过缓冲寄存器141发送到主机控制器3000。

在操作s144中,存储器模块2000接收新训练控制值tcv_f和tcv_g。例如,控制逻辑电路110可以将接收的新训练控制值tcv_f和tcv_g写入控制寄存器142的控制字段mwd1和mwd2中。因此,控制字段mwd1和mwd2的值可以变化。

在操作s145中,存储器模块2000确定新训练控制值tcv_f和tcv_g是否为最终训练控制值tcv_f和tcv_g。当新训练控制值tcv_f和tcv_g为最终训练控制值tcv_f和tcv_g时,终止mwd训练操作。在这种情况下,控制寄存器142的控制字段mwd1和mwd2可以存储最终训练控制值tcv_f和tcv_g。也就是说,可以设置数据选通信号mdqs的最终全周期延迟值和数据信号mdq的最终部分周期延迟值,数据选通信号mdqs和数据信号mdq从图3的数据缓冲器400发送。当新训练控制值tcv_f和tcv_g不是最终训练控制值tcv_f和tcv_g时,存储器模块2000可以再次执行操作s143和操作s144。

主机控制器3000可以基于从存储器模块2000发送的至少一个训练结果值来选择最终训练控制值tcv_f和tcv_g。主机控制器3000可以如图10的mrd训练操作中描述的那样来选择最终训练控制值tcv_f和tcv_g。

如上所述,在存储器接口训练操作中,存储器模块2000可以通过根据各种训练模式下的训练控制值生成预定的训练结果值来复制训练操作。

下面,将参照图12至图15更充分地描述存储器模块2000的主机接口训练操作。

图12是示出用于执行主机接口训练操作的图2的装置控制器的示例的框图。可以基于图12的装置控制器100执行主机接口训练操作的各种训练模式之中的训练写入均衡的模式(在下文中,被称为“hwl训练模式”)。在hwl训练模式下,可以调整来自主机控制器3000的数据选通信号dqs的延迟值。

与图5的装置控制器100相比,图12的装置控制器100还包括采样电路160,并且图12的装置控制器100可以类似于图5的装置控制器100进行操作,因此,将省略附加描述以避免冗余。

参照图12,在hwl训练模式下,装置控制器100包括控制逻辑电路110、缓冲器训练支持逻辑电路140、选择电路150和采样电路160。例如,通过控制信号btc,控制逻辑电路110可以将与hwl训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

选择电路150可以从主机控制器3000接收具有特定延迟值的数据选通信号dqs。选择电路150可以基于来自控制逻辑电路110的控制信号scc将数据选通信号dqs传送到第三数据路径p3。通过第三数据路径p3传送的数据选通信号dqs可以被提供给采样电路160。采样电路160可以基于数据选通信号dqs对时钟信号ck进行采样。采样电路160可以基于来自控制逻辑电路110的控制信号sac进行操作。采样电路160可以通过第一数据路径p1向选择电路150提供采样时钟信号s_ck。选择电路150可以通过数据信号dq将采样时钟信号s_ck发送到主机控制器3000。

主机控制器3000可以基于采样时钟信号s_ck来选择数据选通信号dqs的最终延迟值。例如,主机控制器3000可以如参照图8描述的那样选择数据选通信号dqs的最终延迟值。也就是说,可以根据hwl训练模式来设置从主机控制器3000发送的数据选通信号dqs的最终延迟值。

在不可能选择最终延迟值的情况下,主机控制器3000可以改变延迟值,并且可以将具有另一延迟值的数据选通信号dqs发送到装置控制器100。这样,装置控制器100可以基于具有另一延迟值的数据选通信号dqs对时钟信号ck进行采样,并且可以将采样时钟信号s_ck发送到主机控制器3000。

在图12中示出了示例,采样电路160位于缓冲器训练支持逻辑电路140外部,但是发明构思不限于此。在另一实施例中,采样电路160位于缓冲器训练支持逻辑电路140内。在这种情况下,控制逻辑电路110可以控制选择电路150,使得数据选通信号dqs被传送到缓冲器训练支持逻辑电路140。

图13是示出根据发明构思的示例性实施例的图2的存储器模块执行hwl训练操作的示例的流程图。参照图2、图12和图13,在操作s151中,存储器模块2000从主机控制器3000接收hwl训练模式使能信号。在操作s152中,存储器模块2000基于从主机控制器3000发送的数据选通信号dqs对时钟信号ck执行采样操作。在操作s153中,存储器模块2000将采样时钟信号s_ck发送到主机控制器3000。

在数据选通信号dqs的最终延迟值被主机控制器3000选择之后执行正常操作或任何其它训练操作的情况下,终止hwl训练操作。在数据选通信号dqs的最终延迟值未被主机控制器3000选择的情况下,可以重复地执行操作s152和操作s153,直到最终延迟值被选择为止。

图14是示出根据发明构思的示例性实施例的用于执行主机接口训练操作的图2的装置控制器的示例的框图。可以基于图14的装置控制器100执行主机接口训练操作的各种训练模式之中的训练写入延迟的模式(在下文中,被称为“hiw训练模式”)。在hiw训练模式下,可以调整来自主机控制器3000的数据信号dq的延迟值。与图5的装置控制器100相比,图14的装置控制器100还包括缓冲器训练支持逻辑电路140中的比较器144(例如,比较电路),并且图14的装置控制器100可以类似于图5的装置控制器100进行操作,因此,将省略附加描述以避免冗余。

参照图14,在hiw训练模式下,控制逻辑电路110可以控制缓冲器训练支持逻辑电路140和选择电路150。例如,通过控制信号btc,控制逻辑电路110可以将与hiw训练模式对应的训练模式值tmv写入控制寄存器142的模式字段mode中。

控制逻辑电路110可以将预期数据ed写入控制寄存器142的数据字段mpr中。可以通过命令cmde和地址addre从主机控制器3000提供预期数据ed。控制逻辑电路110可以控制选择电路150,使得与预期数据ed相同的特定数据pd被写入缓冲寄存器141中。可以通过数据信号dq从主机控制器3000提供特定数据pd。在这种情况下,数据信号dq可以具有与由主机控制器3000设置的延迟值对应的相位。

选择电路150可以从主机控制器3000接收数据信号dq。选择电路150可以基于来自控制逻辑电路110的控制信号scc将数据信号dq传送到第二数据路径p2。通过第二数据路径p2传送的数据信号dq可以被提供给缓冲寄存器141。因此,缓冲寄存器141可以存储特定数据pd。

比较器144可以将存储在缓冲寄存器141中的特定数据pd与存储在控制寄存器142中的预期数据ed进行比较以生成比较结果cr。比较器144可以将比较结果cr存储在控制寄存器142的数据字段tsw中。例如,在特定数据pd和预期数据ed匹配的情况下,比较器144可以生成第一值(例如,“1”)作为比较结果cr。在特定数据pd和预期数据ed不同的情况下,比较器144可以生成第二值(例如,“0”)作为比较结果cr。

即使从主机控制器3000提供具有相同值的特定数据pd和预期数据ed,存储在缓冲寄存器141中的特定数据pd的值也可以根据数据信号dq与数据选通信号dqs之间的相位差而变化。在通过hwl训练操作设置数据选通信号dqs的最终延迟值的情况下,存储在缓冲寄存器141中的特定数据pd的值可以根据数据信号dq的延迟值而变化。因此,比较器144可以根据数据信号dq的延迟值生成第一值或第二值作为比较结果cr。

存储在控制寄存器142中的比较结果cr可以通过缓冲寄存器141发送到主机控制器3000。在这种情况下,选择电路150可以基于控制信号scc向主机控制器3000提供通过第二数据路径p2提供的数据信号dq。

主机控制器3000可以基于比较结果cr选择数据信号dq的最终延迟值。主机控制器3000可以如图10的mrd训练操作中所描述的那样选择最终延迟值。

在不可能选择最终延迟值的情况下,主机控制器3000可以改变延迟值,并且可以将具有另一延迟值(即,另一相位)的数据信号dq(即,特定数据pd)发送到装置控制器100。因此,装置控制器100可以基于具有另一延迟值的数据信号dq生成比较结果cr,并且可以将生成的比较结果cr发送到主机控制器3000。

图15是示出根据公开的示例性实施例的图2的存储器模块执行hiw训练操作的示例的流程图。参照图2、图14和图15,在操作s161中,存储器模块2000从主机控制器3000接收hiw训练模式使能信号。在操作s162中,存储器模块2000将从主机控制器3000发送的特定数据pd与预期数据ed进行比较以生成比较结果。这里,可以通过数据信号dq从主机控制器3000发送特定数据pd,并且可以通过命令cmde和地址addre从主机控制器3000发送预期数据ed。在操作s163中,存储器模块2000将比较结果cr发送到主机控制器3000。

在数据信号dq的最终延迟值被主机控制器3000选择之后执行正常操作或任何其它训练操作的情况下,可以终止hiw训练操作。在数据信号dq的最终延迟值未被主机控制器3000选择的情况下,可以重复地执行操作s162和操作s163,直到最终延迟值被选择为止。

如上所述,存储器模块2000可以执行用于主机接口训练操作的实际训练操作。可以基于通过实际训练操作生成的值来设置数据信号dq和数据选通信号dqs的最终延迟值。因此,在第一操作模式的正常操作中,主机控制器3000可以将具有设置的最终延迟值的数据信号dq和数据选通信号dqs发送到存储器模块2000。

如上所述,针对基于存储在数据字段mpr中的预期数据ed执行训练操作进行了描述,但是发明构思不限于此。在另一实施例中,可以从装置控制器100中的特定寄存器(例如,线性反馈移位寄存器(lfsr))生成预期数据ed。可以对从特定寄存器生成的预期数据ed执行包括数据比较操作的训练操作。

根据发明构思的至少一个实施例的存储器模块可以在不包括数据缓冲器的情况下操作为lrdimm类型。因为根据发明构思的存储器模块不包括数据缓冲器,所以将被包括在存储器模块中的存储器装置的数量可以增加。此外,读取延迟和写入延迟可以减少。

尽管已经参照发明构思的示例性实施例描述了发明构思,但是对于本领域普通技术人员将清楚的是,在不脱离发明构思的精神和范围的情况下,可以对发明构思进行各种改变和修改。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜