半导体装置和时序校准方法与流程

文档序号:15739307发布日期:2018-10-23 22:01阅读:198来源:国知局

包括说明书、附图和摘要的于2017年3月31日提交的日本专利申请号2017-071079的公开内容以整体内容通过引用并入本文。



背景技术:

本发明涉及一种半导体装置和时序校准方法并且有利地适用于具有内置存储器的半导体装置。

已经常规地知道被设置有对利用存储器执行写入操作需要的信号的校准时序的训练功能的装置。例如,在专利文档1中描述的存储器控制器执行多个写入-读取验证操作来校准数据选通信号与时钟信号之间的时钟周期关系。

[相关领域文档]

[专利文档]

[专利文档1]日本未审查的专利申请公开号2015-43254



技术实现要素:

然而,以上文档中描述的技术解决问题。当在初始训练之后,存储器或者存储器控制器的温度或者电压波动时,信号的校准时序波动;因此,训练必须再次被执行。

专利文档1中描述的训练需要长时间,并且在训练期间防止了存储器的正常操作。出于该原因,当与初始训练相同的处理再次被执行以处理信号时序波动时,利用存储器的半导体装置的性能退化。

其它问题和新颖特征从本说明书和附图中的描述将是显而易见的。

在实施例中的半导体装置中,控制电路基于当在存储单元中存储的延迟量或者基于延迟量的量被设定在延迟调节电路中时获得的写入数据的写入结果,来校正在存储单元中存储的延迟量。

根据实施例,能够缩短重新训练的执行时间。

附图说明

图1是图示第一实施例中的半导体装置的构造的附图;

图2是图示第二实施例中的半导体装置的构造的附图;

图3是图示第三实施例中的半导体装置的构造的附图;

图4是图示第三实施例中的延迟调节电路的延迟量的调节程序的流程图;

图5是指示规定代码校正方法的规则RA的附图;

图6是图示通过初始训练设定的L_D、R_D和C_D的附图;

图7A是图示其中应用规则RA的模式A2的示例的附图;

图7B是图示其中应用规则RA的模式A3的示例的附图;

图7C是图示其中应用规则RA的模式A4的示例的附图;

图8是图示第四实施例中的半导体装置的构造的附图;

图9是图示第四实施例中的延迟调节电路的延迟量的调节程序的流程图;

图10是图示第五实施例中的半导体装置的构造的附图;

图11是图示第五实施例中的延迟调节电路的延迟量的调节程序的流程图;

图12是图示第六实施例中的延迟调节电路的延迟量的调节程序的流程图;

图13是图示图12中的步骤S403处的左边沿检查的程序;

图14是图示图12中的步骤S404处的右边沿检查的程序;

图15是指示规定代码校正方法的规则RB的附图;

图16A是指示其中应用规则RB的模式T5的示例的附图;

图16B是指示其中应用规则RB的模式T16的示例的附图;

图17是图示第七实施例中的延迟调节电路的延迟量的调节程序的流程图;

图18A是示出重新训练时段中的变化的附图;

图18B是示出重新训练时段中的变化的附图;

图18C是示出重新训练时段中的变化的附图;

图19是图示第八实施例中的半导体装置的构造的附图;

图20是图示第八实施例中的延迟调节电路的延迟量的调节程序的流程图;以及

图21是图示第九实施例中的延迟调节电路的延迟量的调节程序的流程图。

具体实施方式

在下文中,将参考附图来对实施例给出描述。

第一实施例

图1图示了第一实施例中的半导体装置71的构造。

半导体装置71包括存储器控制器51和存储器装置52。存储器控制器51包括延迟调节电路53、控制电路54和存储单元55。

延迟调节电路53调节写入数据到存储器装置52的延迟量。

控制电路54设定延迟调节电路53的延迟量。

存储单元55存储延迟量。

控制电路54基于当将在存储单元55中存储的延迟量或者基于延迟量的量设定在延迟调节电路53中时获得的写入数据的写入结果,来校正在存储单元55中存储的延迟量。

根据该实施例中的半导体装置,如上文所提到的,在存储单元55中存储的延迟量基于写入数据的写入结果来校正。该写入结果将当在存储单元55中存储的延迟调节电路53的延迟量或者基于延迟量的量设定在延迟调节电路53中时来获得,所述延迟调节电路53调节写入数据到存储器装置52的延迟量。在该实施例中,作为与其中在第二调节时段跟随第一调节时段期间在第一调节时段期间所获得并且被存储在存储单元55中的延迟量根本未使用的相关领域方法相比较,对第二调节时段需要的时间能够被缩短。例如,能够获取第一调节时段用于初始训练并且能够获取第二调节时段用于重新训练。

第二实施例

图2图示了第二实施例中的半导体装置72的构造。

半导体装置72包括存储器控制器61和存储器装置52。存储器控制器61包括延迟调节电路63、控制电路64和存储单元65。

延迟调节电路63调节数据选通信号到存储器装置52的延迟量。

存储单元65存储延迟量。

控制电路64基于当将在存储单元65中存储的延迟量或者基于延迟量的量设定在延迟调节电路63中时获得的写入数据的写入结果,来校正在存储单元65中存储的延迟量。

根据该实施例中的半导体装置,如上文所提到的,在存储单元65中存储的延迟量基于写入数据的写入结果来校正。该写入结果当将在存储单元65中存储的延迟调节电路63的延迟量或者基于延迟量的量设定在延迟调节电路中时来获得,所述延迟调节电路63调节数据选通信号的到存储器装置52的延迟量。在该实施例中,作为与其中在第二调节时段跟随第一调节时段期间在第一调节时段期间获得并且在存储单元65中存储的延迟量根本未使用的相关领域方法相比较,对第二调节时段需要的时间能够被缩短。例如,能够获取第一调节时段用于初始训练并且能够获取第二调节时段用于重新训练。

第三实施例

图3图示了第三实施例中的半导体装置73的构造。

半导体装置73包括存储器装置13和存储器控制器32。

存储器控制器32包括延迟调节电路12、控制电路21、双向缓冲器BF1和双向缓冲器BF2。

双向缓冲器BF1接收从存储器装置13输出的读取数据RDQ。双向缓冲器BF1将写入数据WDQ输出到存储器装置13。双向缓冲器BF2接收用于从存储器装置13输出的读取的数据选通信号RDQS。双向缓冲器BF2输出用于写入到存储器装置13的数据选通信号WDQS。

存储器装置13包括训练专用存储器41和用户可用存储器42。

存储器装置13利用用于写入的输入数据选通信号WDQS的上升的时序获取输入写入数据WDQ。

在设定延迟调节电路12的延迟量使得写入数据WDQ的有效窗口的边沿的时序满足用于写入的数据选通信号WDQS的边沿的时序的训练中,用于训练的测试数据作为写入数据WDQ被写入到训练专用存储器41。对于用于训练的测试数据,获得最坏时序条件的数据模式被使用,以便获得有限时间内的可靠的时序结果(利用其在正常操作期间不太可能发生故障)。因此,用于训练的测试数据处于不太可能作为正常数据发生的数据模式中,并且因此与在实际使用中的训练结果相比,训练结果倾向于更加严格。

对于用户可用存储器42,外部地供应为写入数据WDQ的正常数据基于在正常操作期间的用户程序等进行写入。

延迟调节电路12包括多级中的延迟元件DE(1)至DE(N)和选择器SL1。延迟元件DE(1)至DE(N)中的每个由例如非反相缓冲器形成。

选择器SL1从延迟元件DE(1)至DE(N)中的每个接收输出。选择器SL1根据从选择器SL2输出的代码输出要么是延迟元件DE(1)的输入要么是延迟元件DE(1)至DE(N)的输出。例如,当代码是“0”时,选择器SL1选择延迟元件DE(1)的输入。当代码是“i”时,选择器SL1选择延迟元件DE(i)的输出。用于由一个延迟元件DE写入的数据选通信号WDQS的延迟量被当作ΔD。

控制电路21包括训练控制电路22、初始训练模块10、重新训练模块11、存储单元19和选择器SL2。存储单元19包括左边沿寄存器14、中部寄存器15和右边沿寄存器16。

训练控制电路22控制存储器装置13和存储器控制器32。

初始训练模块10执行初始训练。初始训练模块10找到延迟调节电路12的延迟量,使得写入数据WDQ的有效窗口的左边沿的时序满足用于写入的数据选通信号WDQS的上升沿的时序。(利用该时序,存储器装置13采集有效窗口的左边沿。)初始训练模块10然后将指示该延迟量的代码L_D写入到左边沿寄存器14。初始训练模块10找到延迟调节电路12的延迟量,使得写入数据WDQ的有效窗口的右边沿的时序满足用于写入的数据选通信号WDQS的上升沿的时序。(利用该时序,存储器装置13采集有效窗口的右边沿。)初始训练模块10然后将指示该延迟量的代码R_D写入到右边沿寄存器16。初始训练模块10将指示代码L_D的延迟量和代码R_D的延迟量的平均延迟量的代码C_D写入到中部寄存器15。写入数据WDQ的有效窗口指的是通过从等于写入数据WDQ的一位的时段(1单位间隔)减去抖动、设时序间、保持时间等获得的时段。

由于接口的加速度,因此已经增加归因于传送时段的电压波动或者温度波动的写入数据WDQ的波形中的退化的百分比。在长期中,写入数据WDQ的有效窗口的宽度被减少或者有效窗口的位置被移动。重新训练被需要以纠正长期退化。重新训练模块11执行重新训练。重新训练模块11使选择器SL2选择左边沿寄存器14的输出。重新训练模块11从而获得当与在左边沿寄存器14中保持的代码L_D相对应的延迟量被设定为延迟调节电路12的延迟量时获得的写入数据WDQ的写入结果,作为左边沿检查结果。

重新训练模块11使选择器SL2选择右边沿寄存器16的输出。重新训练模块11从而获得当与在右边沿寄存器16中保持的代码R_D相对应的延迟量被设定为延迟调节电路12的延迟量时获得的写入数据WDQ的写入结果,作为右边沿检查结果。

基于左边沿检查结果和右边沿检查结果,重新训练模块11来校正在左边沿寄存器14、右边沿寄存器16和中部寄存器15中的保持代码L_D、R_D和C_D中的至少一个或者它们中的任何一个都不校正。

在正常操作中,训练控制电路22使选择器SL2选择中部寄存器15的输出并且从而将与在中部寄存器15中保持的代码C_D相对应的延迟量设定为延迟调节电路12的延迟量。在正常操作中,这使得使写入数据WDQ的有效窗口的左边沿与有效窗口的右边沿之间的中部时序满足用于写入的数据选通信号WDQS的上升沿的时序成为可能。存储器装置13利用该中部时序获取写入数据WDQ。

左边沿寄存器14存储代码L_D,代码L_D规定延迟调节电路12上的用于写入的数据选通信号WDQS的延迟量DL。代码L_D被存储,使得用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿的时序。

右边沿寄存器16存储代码R_D,代码R_D规定延迟调节电路12上的用于写入的数据选通信号WDQS的延迟量DR。代码R_D被存储,使得用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的右边沿的时序。

中部寄存器15存储代码C_D,代码C_D规定延迟调节电路12上的用于写入的数据选通信号WDQS的延迟量DC。代码C_D被存储,使得用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿与有效窗口的右边沿之间的中部时序。延迟量DC是延迟量DL和延迟量DR的平均值。

选择器SL2将从左边沿寄存器14输出的代码、从中部寄存器15输出的代码和从右边沿寄存器16输出的代码中的任何输出到选择器SL1。

图4是图示第三实施例中的延迟调节电路12的延迟量的调节程序的流程图。

在步骤S101处,初始训练模块10执行初始训练。初始训练模块10设定指示延迟调节电路12的延迟量DL的代码L_D,使得写入数据WDQ的有效窗口的左边沿的时序满足用于写入的数据选通信号WDQS的上升沿的时序。初始训练模块10当从“0”顺序地增加供应到选择器SL1的代码时增加延迟量并且将任何模式中的测试数据写入到存储器装置13的训练专用存储器41。初始训练模块10从训练专用存储器41读取写入的测试数据并且进行比较,以确定测试数据(期望值)和从存储器装置13读取的读取数据RDQ是否彼此满足。初始训练模块10获取当两者初始地彼此满足时的代码作为代码L_D并且将代码写入到左边沿寄存器14。初始训练模块10当从代码L_D顺序地增加供应到选择器SL1的代码时增加延迟量,并且将任何模式中的测试数据写入到存储器装置13的训练专用存储器41。初始训练模块10从训练专用存储器41读取写入的测试数据并且进行比较,确定测试数据(期望值)和从存储器装置13读取的读取数据RDQ是否彼此满足。初始训练模块10获取比当两者初始地未彼此满足时的代码小“1”的代码当作代码R_D,并且将代码写入到右边沿寄存器16。初始训练模块10将指示由代码L_D确定的延迟量DL和由代码R_D确定的延迟量DR的平均值DC的代码C_D写入到中部寄存器15。甚至在重新训练中,常规地,与该初始训练相同的处理被重复并且这提出长时间被需要用于重新训练的问题。该实施例使重新训练处理有效。

在步骤S102处,重新训练模块11等待特时序间段ΔT。在该时间段期间,利用存储器装置13的正常操作是可行的,即,正常数据能够被写入和读取。即,训练控制电路22能够根据用户的指令等将写入数据WDQ写入到用户可用存储器42或者从用户可用存储器42读取作为读取数据RDQ的数据。

在步骤S103处,重新训练模块11将延迟调节电路12的延迟量设定为代码L_D的延迟量DL。即,重新训练模块11使选择器SL2将左边沿寄存器14的输出代码L_D输出到选择器SL1。选择器SL1将来自与代码L_D相对应的延迟元件DE(i)的输出输出到驱动器D2。因此,用于写入的数据选通信号WDQS能够被延迟延迟量DL。

在步骤S104处,重新训练模块11经由驱动器D1将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的具有延迟量DL的时序来获取写入数据WDQ,并且将数据写入到训练专用存储器41。

在步骤S105处,重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。

在步骤S106处,重新训练模块11进行比较,以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到存储器装置13的测试数据(指示期望值的写入数据WDQ)是否彼此满足。

在步骤S107处,重新训练模块11将延迟调节电路12的延迟量设定为代码R_D的延迟量DR。即,重新训练模块11使选择器SL2将右边沿寄存器16的输出代码R_D输出到选择器SL1。选择器SL1将来自与代码R_D相对应的延迟元件DE(i)的输出输出到驱动器D2。因此,用于写入的数据选通信号WDQS能够被延迟延迟量DR。

在步骤S108处,重新训练模块11经由驱动器D1将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于具有延迟量DR的写入的数据选通信号WDQS的上升的时序来获取数据WDQ并且将该数据写入到训练专用存储器41。

在步骤S109处,重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。

在步骤S110处,重新训练模块11进行比较以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到存储器装置13的测试数据(指示期望值的写入数据WDQ)是否彼此满足。

在步骤S111处,重新训练模块11根据预置规则RA确定代码L_D、代码R_D和代码C_D中的至少一个是否需要校正。当校正被需要时,处理进行到步骤S112;并且当校正未被需要时,处理进行到步骤S113。

在步骤S112处,重新训练模块11根据规则RA校正代码L_D、代码R_D和、代码C_D中的至少一个。此后,处理进行到步骤S113。

在步骤S113处,当电源未被断开时(NO),处理返回到步骤S102;并且当电源被断开时(YES),处理被终止。

图5示出了规定代码校正方法的规则RA。

在模式A1中,当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,写入数据WDQ(期望值)和读取数据RDQ彼此满足;而且,当延迟调节电路12的延迟量被设定为代码R_D的延迟量时,写入数据WDQ(期望值)和读取数据RDQ彼此满足。在模式A1的时间处,重新训练模块11未校正任何代码。

在模式A2中,当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,写入数据WDQ(期望值)和读取数据RDQ彼此满足;而且,当延迟调节电路12的延迟量被设定为代码R_D的延迟量时,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。在模式A2的时间处,重新训练模块11使代码L_D、R_D和C_D减“1”。

在模式A3中,当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,写入数据WDQ(期望值)和读取数据RDQ彼此不满足;而且,当延迟调节电路12的延迟量被设定为代码R_D的延迟量时,写入数据WDQ(期望值)和读取数据RDQ彼此满足。在模式A3时,重新训练模块11使代码L_D、R_D和C_D增“1”。

在模式A4中,当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,写入数据WDQ(期望值)和读取数据RDQ彼此不满足;而且,当延迟调节电路12的延迟量被设定为代码R_D的延迟量时,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。在模式A4时,重新训练模块11使代码L_D增“1”,使代码R_D减“1”,以及未改变代码C_D。

图6图示了由初始训练设定的L_D、R_D和、C_D。图6中的示例示出了当数据在高(HIGH)电平处时获得的有效窗口。而且,当数据在LOW电平处时,利用相同方法。

初始训练模块10设定指示延迟调节电路12的延迟量DL的代码L_D,使得写入数据WDQ的有效窗口的左边沿的时序和用于写入的数据选通信号WDQS的上升沿的时序彼此满足。初始训练模块10设定指示延迟调节电路12的延迟量DR的代码R_D,使得写入数据WDQ的有效窗口的右边沿的时序和用于写入的数据选通信号WDQS的上升沿的时序彼此满足。初始训练模块10设定指示由代码L_D确定的延迟量DL和由代码R_D确定的延迟量DR的平均值DC的代码C_D。

图7A示出了其中应用规则RA的模式A2的示例。

当写入数据WDQ的延迟量被减少并且写入数据WDQ的时序朝向左被移动时,通过设定代码L_D而发生一致(agreement)并且通过设定代码R_D而发生不一致(disagreement)。将给出更多特定描述。当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的左边沿的右侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此满足。当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的右边沿的右侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。

在这种情况下,重新训练模块11根据规则RA使代码L_D、R_D和C_D减“1”,以还使用于写入的数据选通信号WDQS的时序朝向左移动。因此,获得以下效果:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿的时序并且写入数据WDQ(期望值)和读取数据RDQ彼此满足;当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的右边沿的时序并且写入数据(期望值)和读取数据RDQ彼此满足。

图7B示出了其中应用规则RA的模式A3的示例。

当写入数据WDQ的延迟量被增加并且写入数据WDQ的时序朝向右被移动时,通过设定代码L_D而发生不一致并且通过设定代码R_D而发生一致。将给出更多特定描述。当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的左边沿的左侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的右边沿的左侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此满足。

在这种情况下,重新训练模块11根据规则RA使代码L_D、R_D和C_D增“1”,以还使用于写入的数据选通信号WDQS的时序朝向右移动。

因此,获得以下效果:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿的时序并且写入数据WDQ(期望值)和读取数据RDQ彼此满足;当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的右边沿的时序,并且写入数据(期望值)和读取数据RDQ彼此满足。

图7C示出了其中应用规则RA的模式A4的示例。

通过噪声使写入数据WDQ的有效窗口的左边沿和有效窗口的右边沿波动并且写入数据WDQ的有效窗口的左边沿朝向右被移动并且同时写入数据WDQ的有效窗口的右边沿朝向右被移动。在这种情况下,通过设定代码L_D而发生不一致并且还通过设定代码R_D而发生一致。将给出更多特定描述。当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的左边沿的左侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。当延迟调节电路12的延迟量被设定为R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的右边沿的右侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。

在这种情况下,重新训练模块11根据规则RA使代码L_D增“1”,使代码R_D减“1”,并且未改变代码C_D。因此,获得以下效果:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿的时序并且写入数据WDQ(期望值)和读取数据RDQ彼此满足;当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的右边沿的时序,并且写入数据(期望值)和读取数据RDQ彼此满足。

根据该实施例,如上文所提到的,重新训练基于由初始训练获得的代码L_D和R_D被执行;因此,作为与其中与初始训练相同的处理从L_D=0和R_D=0开始被执行的相关领域情况相比较,对重新训练需要的时间能够被缩短。通过缩短对重新训练需要的时间,使缩短对于由重新训练中断正常写操作或者读操作(正常操作)的时间并且避免其中正常操作由于重新训练在进行中不能够开始的情况可能。因此,用于存储器装置的数据传送的性能能够被增强。由于对重新训练需要的时间是短的并且重新训练的频率能够被增加,因此跟随电压波动或者温度波动是容易的。

在相关领域情况中,仅代码C_D的延迟量能够被设定在延迟调节电路中。在该实施例中,不但代码C_D的延迟量能够被设定在延迟调节电路中,而且代码L_D和R_D的延迟量能够被设定在延迟调节电路中。

在该实施例中,测试数据在初始训练和重新训练期间被写入到用于训练的存储器;因此,在没有破坏的情况下,在正常操作期间写入到用户可用存储器的数据能够被保持。

由于数据在初始训练期间未被写入到用户可用存储器,因此测试数据可以被写入到用户可用存储器。

在该实施例中,在重新训练中,有效窗口的左边沿的时序和右边沿的时序通过在最大值处使每个节点变化“1”正确地调节。在其中有效窗口的左边沿的时序和右边沿的时序不能够通过在最大值处使每个节点变化“1”来正确地调节的情况下,可以进行以下程序:在重新训练中,每个节点在最大值处变化“1”并且然后重新训练被重复直到代码校正变为不必要的(即,直到模式A1的检查结果被获得)。

第四实施例

图8图示了第四实施例中的半导体装置74的构造。

第四实施例中的存储器装置13未设置有训练专用存储器41。预定训练区域43被设置在用户可用存储器42中。在初始训练和重新训练期间,测试数据被写入到训练区域43。

图9是图示第四实施例中的延迟调节电路12的延迟量的调节程序的流程图。

图9中的流程图与图4中的流程图不同之处在于:图9中的流程图包括步骤S204、S205、S208和S209而不是图4中的步骤S104、S105、S108和S109。

在步骤S204和S208处,重新训练模块11经由驱动器D1将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的用户可用存储器42中的训练区域43。存储器装置13利用用于具有延迟量DL或者延迟量DR的写入的数据选通信号WDQS的上升的时序来获取写入数据WDQ,并且将数据写入到用户可用存储器42的训练区域43。

在步骤S205和S209中的每个处,重新训练模块11从用户可用存储器42中的训练区域43读取测试数据作为读取数据RDQ。

根据该实施例,如上文所提到的,重新训练能够甚至当训练专用存储器未被设置用于在训练期间写入测试数据时被执行。在初始训练中,测试数据可以被写入到用户可用存储器42中的训练区域43或者可以被写入到训练专用存储器。

第五实施例

图10图示了第五实施例中的半导体装置75的构造。

存储器装置13未被设置有训练专用存储器41。重新训练模块11基于当正常数据被写入时获得的写入结果,确定寄存器14、15、16中的代码是否被需要。即,重新训练模块11基于以下各项来确定代码校正是否被需要:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL并且正常数据被写入到用户可用存储器42时获得的写入结果;以及当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR并且正常数据被写入到用户可用存储器42时获得的写入结果。

图11是图示第五实施例中的延迟调节电路12的延迟量的调节程序的流程图。

图11中的流程图与图4中的流程图不同之处在于:图11中的流程图包括步骤S304、S305、S308和S309而不是图4中的步骤S104、S105、S108和S109。

在步骤S304和S308处,重新训练模块11经由驱动器D1将由外部用户程序等指定和外部供应的数据(正常数据)作为写入数据WDQ发送到用户可用存储器42。存储器装置13利用用于具有延迟量DL或者延迟量DR的写入的数据选通信号WDQS上升的时序来获取写入数据WDQ,并且在指定地址处将数据写入到用户可用存储器42。在步骤S304和S308二者处,正常数据在相同指定地址处被写入到用户可用存储器42。

在步骤S305和S309中的每个处,重新训练模块11从用户可用存储器42读取写入的正常数据作为读取数据RDQ。

图11中的流程图还包括在步骤S112之后的步骤S310。

当在步骤S310处,由于正常数据写入结果不正确而需要代码校正时(S111:YES),重新训练模块11进行代码校正并且然后将正常数据重新写入到用户可用存储器42。

在该实施例中,如上文所提到的,在正常操作中使用的写入数据被用于重新训练;因此,仅对于重新训练不需要将数据写入到存储器装置。因此,半导体装置的性能能够被增强。

在以上实施例中,当在先前的训练执行之后已经经过时间段ΔT时,此刻正常数据被写入,该数据被用作用于重新训练的写入数据。例如,相反可以采取以下措施:ΔT-等待时间未被设置并且仅当在正常写入的数据片之中其值频繁地逐位转换的数据被写入时,该数据被用于重新训练。

在以上实施例中,重新训练模块11当在步骤S111处需要代码校正时重新写入正常数据,但是本发明不限于此。当模式A3的检查结果被获得时,正确数据在重新训练之后被写入到用户可用存储器42。因此,重新训练模块11可以仅在模式A1或A4时重新写入正常数据。

第六实施例

图12是图示第六实施例中的延迟调节电路12的延迟量的调节程序的流程图。

在步骤S401处,如在步骤S101处,初始训练模块10执行初始训练。

在步骤S402处,如在步骤S102处,重新训练模块11仅等待特时序间段ΔT。

在步骤S403处,重新训练模块11进行左边沿检查。

在步骤S404处,重新训练模块11进行右边沿检查。

在步骤S405和S406处,重新训练模块11根据规则RB校正代码L_D、代码R_D和代码C_D中的至少一个。此后,处理进行到步骤S407。

在步骤S407处,当电源未被断开时(NO),处理返回到步骤S402;并且当电源被断开时(YES),处理被终止。

图13图示了图12中的步骤S403处的左边沿检查的程序。

参考图13,首先,重新训练模块11将代码L_D+2(比L_D大“2”)设定为用于左边沿检查的代码。如在步骤S104、S105和S106处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取写入数据WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较来确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S801)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S802:NO),重新训练模块11将左边沿检查结果设定为模式L1(S803)。

当写入数据WDQ和读取数据RDQ彼此满足时(S802:YES),重新训练模块11将代码L_D+1(比L_D大“1”)设定为用于左边沿检查的代码。如在步骤S104、S105和S106处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取写入数据WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较,以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S804)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S805:NO),重新训练模块11将左边沿检查结果设定为模式L2(S806)。

当写入数据WDQ和读取数据RDQ彼此满足时(S805:YES),重新训练模块11将代码L_D设定为用于左边沿检查的代码。如在步骤S104、S105和S106处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取数据写入WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较,以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S807)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S808:NO),重新训练模块11将左边沿检查结果设定为模式L3(S809)。

当写入数据WDQ和读取数据RDQ彼此满足时(S808:YES),重新训练模块11将左边沿检查结果设定为模式L4(S810)。

图14图示了图12中的步骤S404处的右边沿检查的程序。

参考图14,首先,重新训练模块11将代码R_D-2(比R_D小“2”)设定为用于右边沿检查的代码。如在步骤S108、S109和S110处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取写入数据WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较,以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S901)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S902:NO),重新训练模块11将右边沿检查结果设定为模式R1(S903)。

当写入数据WDQ和读取数据RDQ彼此满足时(S902:YES),重新训练模块11将代码R_D-1(比R_D小“1”)设定为用于右边沿检查的代码。如在步骤S108、S109和S110处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取写入数据WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较,以确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S904)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S905:NO),重新训练模块11将右边沿检查结果设定为模式R2(S906)。

当写入数据WDQ和读取数据RDQ彼此满足时(S905:YES),重新训练模块11将代码R_D设定为用于右边沿检查的代码。如在步骤S108、S109和S110处,重新训练模块11将任何模式中的测试数据作为写入数据WDQ发送到存储器装置13的训练专用存储器14。存储器装置13利用用于写入的数据选通信号WDQS的上升的时序获取写入数据WDQ,并且将数据写入到训练专用存储器41。重新训练模块11从训练专用存储器41读取测试数据作为读取数据RDQ。重新训练模块11进行比较来确定从训练专用存储器41输出的测试数据(读取数据RDQ)和输出到训练专用存储器41的测试数据(指示期望值的写入数据WDQ)是否彼此满足(S907)。

当写入数据WDQ和读取数据RDQ彼此不满足时(S908:NO),重新训练模块11将右边沿检查结果设定为模式R3(S909)。

当写入数据WDQ和读取数据RDQ彼此满足时(S908:YES),重新训练模块11将右边沿检查结果设定为模式R4(S910)。

图15指示规定代码校正方法的规则RB。

在图15中,标记有x的代码不需要被设定。

在模式T1的情况下,左边沿检查结果是模式L4并且右边沿检查结果是模式R4。在模式T1的时间处,重新训练模块11未校正任何代码。

在模式T2的情况下,左边沿检查结果是模式L4并且右边沿检查结果是模式R1。在模式T的时间处,重新训练模块11使代码L_D、R_D和C_D减“3”。

在模式T3的情况下,左边沿检查结果是模式L4并且右边沿检查结果是模式R2。在模式T3的时间处,重新训练模块11使代码L_D、R_D和C_D减“2”。

在模式T4的情况下,左边沿检查结果是模式L4并且右边沿检查结果是模式R3。在模式T4的时间处,重新训练模块11使代码L_D、R_D和C_D减“1”。

在模式T5的情况下,左边沿检查结果是模式L1并且右边沿检查结果是模式R4。在模式T5的时间处,重新训练模块11使代码L_D、R_D和C_D增“3”。

在模式T6的情况下,左边沿检查结果是模式L2并且右边沿检查结果是模式R4。在模式T6的时间处,重新训练模块11使代码L_D、R_D和C_D增“2”。

在模式T7的情况下,左边沿检查结果是模式L3并且右边沿检查结果是模式R4。在模式T7的时间处,重新训练模块11使代码L_D、R_D和C_D增“1”。

在模式T8的情况下,左边沿检查结果是模式L1并且右边沿检查结果是模式R1。在模式T8的时间处,重新训练模块11使代码L_D增“3”、使代码R_D减“3”以及未改变代码C_D。

在模式T9的情况下,左边沿检查结果是模式L2并且右边沿检查结果是模式R2。在模式T9的时间处,重新训练模块11使代码L_D增“2”、使代码R_D减“2”以及未改变代码C_D。

在模式T10的情况下,左边沿检查结果是模式L3并且右边沿检查结果是模式R3。在模式T10的时间处,重新训练模块11使代码L_D增“1”、使代码R_D减“1”以及未改变代码C_D。

在模式T11的情况下,左边沿检查结果是模式L3并且右边沿检查结果是模式R2。在模式T11的时间处,重新训练模块11使代码L_D增“1”、使代码R_D减“2”以及未改变代码C_D。

在模式T12的情况下,左边沿检查结果是模式L3并且右边沿检查结果是模式R1。在模式T12的时间处,重新训练模块11使代码L_D增“1”、使代码R_D减“3”以及使代码C_D减“1”。

在模式T13的情况下,左边沿检查结果是模式L2并且右边沿检查结果是模式R3。在模式T13的时间处,重新训练模块11使代码L_D增“2”、使代码R_D减“1”以及未改变代码C_D。

在模式T14的情况下,左边沿检查结果是模式L1并且右边沿检查结果是模式R3。在模式T14的时间处,重新训练模块11使代码L_D增“3”、使代码R_D减“1”以及使代码C_D增“1”。

在模式T15的情况下,左边沿检查结果是模式L2并且右边沿检查结果是模式R1。在模式T15的时间处,重新训练模块11使代码L_D增“2”、使代码R_D减“3”以及未改变代码C_D。

在模式T16的情况下,左边沿检查结果是模式L1并且右边沿检查结果是模式R2。在模式T16的时间处,重新训练模块11使代码L_D增“3”、使代码R_D减“2”以及未改变代码C_D。

图16A图示了其中应用规则RB的模式T5的示例。

当写入数据WDQ的延迟量被增加并且写入数据WDQ的时序朝向右被移动时,通过设定代码L_D+2而发生不一致并且通过设定代码R_D-2、R_D-1或R_D而发生一致。将给出更多特定描述。当延迟调节电路12的延迟量被设定为代码L_D+2的延迟量时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的左边沿的左边发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。

当延迟调节电路12的延迟量被设定为代码R_D-2的延迟量、R_D-1的延迟量、或者R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿在写入数据WDQ的有效窗口的右边沿的左边发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此满足。

在这种情况下,重新训练模块11根据规则RB使代码L_D、R_D和C_D增“3”,以还使用于写入的数据选通信号WDQS的时序朝向右移动。

因此,获得以下效果:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿的时序满足写入数据WDQ的有效窗口的左边沿的时序和有效窗口的右边沿的时序,并且写入数据WDQ(期望值)和读取数据RDQ彼此满足;当调节电路12的延迟量被设定为代码R_D的延迟量时,用于写入的数据选通信号WDQS的上升沿的延迟量满足写入数据WDQ的有效窗口的右边沿的时序,并且写入数据(期望值)和读取数据RDQ彼此满足。

图16B图示了其中应用规则RB的模式T16的示例。

使写入数据WDQ的有效窗口的右边沿和左边沿通过噪声波动,并且有效窗口的左边沿朝向右被移动并且同时有效窗口的右边沿向左被移动。在这种情况下,通过设定代码L_D+2而发生不一致并且还通过设定代码R_D-1而发生不一致。将给出更多特定描述。当延迟调节电路12的延迟量被设定为代码L_D+2的延迟量时,用于写入的数据选通信号WDQS的上升沿在的有效窗口左边沿的左侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。当延迟调节电路12的延迟量被设定为代码R_D-1的延迟量时,用于写入的数据选通信号WDQS的上升沿在的有效窗口的右边沿的右侧发生;因此,写入数据WDQ(期望值)和读取数据RDQ彼此不满足。

在这种情况下,重新训练模块11根据规则RB使代码L_D增“3”、使代码R_D减“2”以及未改变代码C_D。因此,获得以下效果:当延迟调节电路12的延迟量被设定为代码L_D的延迟量DL时,用于写入的数据选通信号WDQS的上升沿的时序满足的有效窗口的左边沿的时序,并且写入数据WDQ(期望值)和读取数据RDQ彼此满足;当延迟调节电路12的延迟量被设定为代码R_D的延迟量DR时,用于写入的数据选通信号WDQS的上升沿的时序满足的有效窗口的右边沿的时序并且写入数据WDQ(期望值)和读取数据RDQ彼此满足。

第六实施例的修改

在以上实施例中,用于左边沿检查的代码L_D的变化范围和用于右边沿检查的代码R_D的变化范围在重新训练中是“2”,但是本发明不限于此。

例如,能够采取下面所描述的措施。重新训练模块11获得当与比代码L_D大k的代码相对应的延迟量被设定为延迟调节电路12的延迟量时获得的写入数据WDQ的写入结果作为左侧边沿检查结果。(以上延迟量是比代码L_D的延迟量大k×ΔD的延迟量。)重新训练模块11从N顺序地减少k(代码变化范围)直到获得不正确左边沿检查结果(直到写入数据WDQ(期望值)和读取数据RDQ彼此不满足),并且从而确定一个或多个左边沿检查结果。N是不小于2的自然数。

重新训练模块11获得当与比代码R_D小k的代码相对应的延迟量被设定为延迟调节电路12的延迟量时获得的写入数据WDQ的写入结果作为右侧边沿检查结果。(以上延迟量是比代码R_D的延迟量小k×ΔD的延迟量。)重新训练模块11从N顺序地减少k(代码变化范围)直到获得不正确右边沿检查结果(直到写入数据WDQ(期望值)和读取数据RDQ彼此不满足),并且从而确定一个或多个右边沿检查结果。

重新训练模块11基于一个或多个左边沿检查结果和一个或多个右边沿检查结果,来校正L_D、R_D和C_D中的至少一个或者它们中的任何一个都不校正。

根据该实施例,如上文所提到的,多个代码被用于执行左边沿检查和右边沿检查。因此,甚至当写入数据的有效窗口由于电压波动或者温度波动大大地退化时,代码L_D、R_D和C_D能够适当地进行校正。

在该实施例中,每个代码以“1”的步长变化,但是可以以“2”或“3”的步长变化。特别地,重新训练模块11可以以“2”(+4到+2到0)的步长使代码L_D减并且可以以“2”(-4到-2到0)的步长使代码R_D增。重新训练模块11可以以“3”(+6到+3到0)的步长使代码L_D减,并且可以以“3”(-6到-3到0)的步长使代码R_D增。

第七实施例

图17是图示第七实施例中的延迟调节电路12的延迟量的调节程序的流程图。

图17中的流程图与图4中的流程图不同之处在于:图17中的流程图包括步骤S501和S502。

当步骤S111的判断是YES时,步骤S502在步骤S112之前被执行。当步骤S111的判断是NO时,步骤S501在步骤S112之前被执行。

在步骤S501处,重新训练模块11增加指定用于重新训练的时间间隔(时段)的等待时间ΔT。

在步骤S501处,重新训练模块11减少指定用于重新训练的时间间隔(时段)的等待时间ΔT。

图18A至图18C示出了重新训练中的变化。

图18A示出了重新训练时段的初始值的示例。图18B示出了其中重新训练时段被缩短的示例。图18C示出了其中重新训练时段被延长的示例。

如在图18A中所示,重新训练时段的初始值是X。当确定代码校正被需要时,怀疑的是写入数据WDQ的时序和用于写入的数据选通信号WDQS的时序之间的关系波动并且不稳定状态已经发生。因此,如在图18B中所示,重新训练时段被减少到等于1/2倍X的X/2。当确定代码校正是不必要的时,假定写入数据WDQ的时序与用于写入的数据选通信号WDQS的时序之间的关系尚未波动并且已经建立稳定状态。出于该原因,如在图18C中所示,重新训练时段被增加到等于与X两倍的2X。

根据该实施例,如上文所提到的,当写入数据WDQ的时序和用于写入的数据选通信号WDQS的时序的关系已经波动时,代码校正被执行并且进一步地重新训练时段被缩短;因此,更容易地跟随波动是可能的。当写入数据WDQ的时序与用于写入的数据选通信号WDQS的时序之间的关系稳定时,代码校正未被执行,但是重新训练时段被延长;因此,其能够被避免以执行不必要的重新训练。

当多个代码被用于检查每个边沿时,如在第六实施例中,重新训练时段可以根据每个边沿检查结果的模式来改变。在模式T4、T3和T2的情况下,例如,当前重新训练时段可以改变到1/2、1/3和1/4。

第八实施例

图19图示了第八实施例中的半导体装置76的构造。

半导体装置76包括环境波动检测单元45。

环境波动检测单元76检测存储器装置13或者存储器控制器32中的温度波动或者电压波动。

环境波动检测单元76可以是用于检测存储器装置13或者存储器控制器32中的温度的波动的温度传感器。或者,环境波动检测单元76可以是用于检测存储器装置13或者存储器控制器32中的晶体管的阈值电压中的波动的电压检测电路。可替选地,环境波动检测单元76可以是用于检测与存储器装置13或者存储器控制器32中的电源或者负载耦合的节点等中的特定位置的电压中的波动的电压检测电路。因此,当负载过度地被使用时,耦合到负载的节点中的电压降能够被检测。可替选地,环境波动检测单元76可以由以下项目构成:环形振荡器,其根据半导体装置中的温度波动或者电压波动而生成内部振荡信号;脉冲计数器,其对独立于半导体装置中的温度波动或者电压波动在外部振荡信号的预定周期期间而生成的内部振荡信号的脉冲的数目进行计数;以及比较器,其将脉冲计数器上的计数值和标准值彼此比较。

图20是图示第八实施例中的延迟调节电路12的延迟量的调节程序的流程图。

图20中的流程图与图4中的流程图不同之处在于:图20中的流程图包括步骤S112与步骤S103之间的步骤S601和步骤S602。

在步骤S601处,重新训练模块11从环境波动检测单元45接收指示由环境波动检测单元45检测的温度波动或者电压波动的信号。

在步骤S602处,重新训练模块11基于所检测的温度波动或者电压波动,使指定重新训练的时间间隔(时段)的等待时间ΔT变化。例如,当温度波动或者电压波动超过阈值时,重新训练模块11可以将等待时间ΔT缩短到1/2。

根据该实施例,如上文所提到的,当温度波动或者电压波动已经发生时,写入数据WDQ的时序与用于写入的数据选通信号WDQS的时序之间的关系已经可能波动。出于该原因,重新训练时段被缩短,并且因此能够跟随该波动。

第九实施例

图21是图示第九实施例中的延迟调节电路12的延迟量的调节程序的流程图。

在步骤S701处,如在步骤S101处,初始训练模块10执行初始训练。

在步骤S702处,如在步骤S102处,重新训练模块11仅等待一定时间段ΔT。

在步骤S703处,重新训练模块11从环境波动检测单元45接收指示由环境波动检测单元45检测的温度波动或者电压波动的信号。

在步骤S704处,重新训练模块11基于所检测的温度波动或者电压波动,设定相对于对第六实施例的修改所描述的重新训练中的、用于左边沿检查的代码的变化范围N和用于右边沿检查的代码的变化范围N。例如,重新训练模块11当电压波动或者温度波动大时增加代码的变化范围N,并且当电压波动或者温度波动小时减少代码的变化范围N。

在步骤S705处,如在步骤S403至步骤S406处,重新训练模块11执行重新训练。

在步骤S706处,当电源未被断开时(NO),处理返回步骤S702;并且当电源被断开时(YES),处理被终止。

根据该实施例,如上文所提到的,用于左边沿检查的代码的变化范围N和用于右边沿检查的代码的变化范围N能够根据电压波动或者温度波动设定,以便优化重新训练中的代码校正准确度和重新训练的时间。

重新训练模块11可以替代代码的变化范围N或者连同代码的变化范围N一起,根据电压波动或者温度波动使代码变化的步长变化。例如,当电压波动或者温度波动小时,如在第六实施例中,重新训练模块11以“1”的步长使代码变化。具体地,重新训练模块11以(+2到+1到0)或(-2到-1到0)的次序使代码L_D和代码R_D变化。例如,当电压波动或者温度波动小时,重新训练模块11以“2”的步长使代码变化。特别地,重新训练模块11以(+4到+2到0)或(-4到-2到0)的次序使代码L_D和代码R_D变化。

修改

除以上实施例之外,例如,以下修改是可能的:

(1)训练控制电路处的选择性操作

在以上实施例中,选择器SL2选择左边沿寄存器14的输出、中部寄存器15的输出和右边沿寄存器16的输出,并且将它们输出到延迟调节电路12。本发明不限于此。取代选择器SL2,训练控制电路22可以选择这些寄存器14、15、16的输出并且可以将它们输出到延迟调节电路12。

(2)多个写入数据片之间的时序调节

在第三实施例到第九实施例中,在没有延迟调节电路的介入的情况下,写入数据WDQ被发送到存储器装置,但是本发明不限于此。为了调节并行传送的多个写入数据片WDQ之间的时序,写入数据WDQ可以经由未示出的延迟调节电路被传送到存储器装置。

(3)写入数据的延迟量的调节

在第三实施例到第九实施例中,重新训练模块11调节用于写入的数据选通信号WDQS的延迟量,使得写入数据WDQ的有效窗口的左边沿或者右边沿和用于写入的数据选通信号WDQS的上升沿彼此满足。本发明不限于此。重新训练模块11可以调节写入数据WDQ的延迟量,使得写入数据WDQ的有效窗口的左边沿或者右边沿和用于写入的数据选通信号WDQS的上升沿彼此满足。

将采取一些示例。当写入数据WDQ的有效窗口的左边沿和右边沿朝向左被移动时,如在图7A中所示,通过设定代码L_D而发生一致并且通过设定R_D而发生不一致;因此,重新训练模块11执行以下操作:重新训练11使代码L_D和R_D增(例如,1)并且进一步使代码C_D增(例如,1),使得用于写入的数据选通信号WDQS的上升沿和有效窗口的左边沿彼此满足,并且用于写入的数据选通信号WDQS的上升沿和有效窗口的右边沿彼此满足。

当写入数据WDQ的有效窗口的左边沿和右边沿朝向右被移动时,如在图7B中所示,通过设定代码L_D而发生不一致并且通过设定R_D而发生一致;因此,重新训练模块11执行以下操作:重新训练11使代码L_D和R_D减(例如,1)并且使代码C_D减(例如,1),使得用于写入的数据选通信号WDQS的上升沿和有效窗口的左边沿彼此满足,并且用于写入的数据选通信号WDQS的上升沿和有效窗口的右边沿彼此满足。

当写入数据WDQ的有效窗口的左边沿朝向右被移动并且有边缘朝向左被移动时,如在图7C中所示,通过设定代码L_D而发生不一致并且还通过设定R_D而发生不一致;因此,重新训练模块11执行以下操作:重新训练11使代码L_D减(例如,1)并且使代码R_D增(例如,1),使得用于写入的数据选通信号WDQS的上升沿和有效窗口的左边沿彼此满足,并且用于写入的数据选通信号WDQS的上升沿和有效窗口的左边沿彼此满足。

(4)重新训练的时段

在以上实施例中,重新训练的时段结合代码校正来改变,但是本发明不限于此。

例如,在重新训练中,重新训练模块11可以执行与在初始训练中相同的处理,并且重新训练模块11可以根据由环境波动检测单元45检测的温度波动或者电压波动改变重新训练的时间间隔。

即,该半导体装置包括:延迟调节电路,其用于调节写入数据或者数据选通信号的到存储器装置的延迟量;以及控制电路,其用于设定延迟调节电路的延迟量。在训练中,控制电路确定延迟调节电路的延迟量,使得写入数据的有效窗口的时序满足数据选通信号的边沿的时序。控制电路基于半导体装置中的温度或者电压的波动,改变训练的时间间隔。

迄今为止,基于本发明的实施例,已经对于由本发明人做出的本发明给出具体描述。然而,本发明不限于以上实施例并且能够在不脱离其主题的情况下进行多种修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1