首页> 中国专利> 接口控制电路、存储系统和控制接口控制电路的方法

接口控制电路、存储系统和控制接口控制电路的方法

摘要

本发明公开了接口控制电路、存储系统和控制接口控制电路的方法。该接口控制电路包括:误差检测单元、误差校正单元、以及调整控制单元。误差检测单元被配置为检测在经由接口传输的误差校正编码数据中是否发生了误差。误差校正单元被配置为在发生误差时执行校正误差的误差校正处理。调整控制单元被配置为在发生误差时开始调整接口的传输特性的调整处理。

著录项

  • 公开/公告号CN104239243A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 索尼公司;

    申请/专利号CN201410246991.1

  • 发明设计人 足立直大;柴原祯之;藤波靖;

    申请日2014-06-05

  • 分类号G06F13/14(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人余刚;吴孟秋

  • 地址 日本东京

  • 入库时间 2023-12-17 04:40:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    未缴年费专利权终止 IPC(主分类):G06F13/14 专利号:ZL2014102469911 申请日:20140605 授权公告日:20180807

    专利权的终止

  • 2018-08-07

    授权

    授权

  • 2016-06-08

    实质审查的生效 IPC(主分类):G06F13/14 申请日:20140605

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2013年6月12日提交的日本在先专利申请 JP2013-123321的利益,其全部内容通过引用结合于此。

技术领域

本技术涉及接口控制电路、存储系统、以及控制接口控制电路的方法。 具体地,本技术涉及用于检测和校正数据中的误差的接口控制电路、存储 系统、以及控制接口控制电路的方法。

背景技术

到目前为止,已经在信息处理系统中使用存储器保存数据。存储器可 以分类为非易失性存储器和易失性存储器。NAND型闪存和NOR型闪存 已经被广泛地用作非易失性存储器。另外,DRAM(动态随机存取存储器)、 SRAM(静态随机存取存储器)等已经被用作易失性存储器。

近年来,已经指出,这些存储器中的NAND型闪存和DRAM在微型 化方面有所限制,因此,已经积极地提出并开发了下一代存储器作为现有 存储器的替代品。下一代存储器的实例包括ReRAM(电阻式RAM)、 PCRAM(相变RAM)、和MRAM(磁电阻式RAM)。

下一代非易失性存储器的特征之一是,相比于已知的NAND型闪存 和NOR型闪存这些存储器它们具有较高的存取速度。为了适应高速性能, 下一代存储器期望使用诸如在DRAM等中使用的DDR(双倍数据速率) 接口等的高速接口。作为标准化组织的JEDEC(联合电子设备工程委员会) 已经提出并讨论了将高速接口应用于非易失性存储器的新标准。具体地, 例如,已经提出了LPDDR(低功率双倍数据速率)2-NVM(非易失性存 储器)和LPDDR4-NVM作为新标准。

根据这些新标准,期望利用接口调整传输时钟的相位和阻抗。这是因 为,当由于制造工艺、操作温度等变动而使得相位和阻抗与其基准值不同 时,当经由接口传输数据时,会发生传输误差的可能性高。例如,根据在 DRAM中广泛使用的DDR3接口的标准,准备了ZQCAL命令来调整接口 的阻抗(例如,参见“JEDEC STANDARD DDR3SDRAM Specification  JESD79-3B”)。根据该标准,存储系统期望在存储器初始化之后立即使用 ZQCAL长命令调整阻抗。另外,建议存储系统在存储器初始化之后使用 ZQCAL长命令和ZQCAL短命令以一定的间隔调整阻抗。

发明内容

然而,在现有技术中,存储器控制器和存储器之间的通信速度可能会 降低。相位和阻抗的调整花费一定时间,并且在此期间,不允许存储器和 存储器控制器经由接口传输和接收数据。因此,根据其中周期性地执行调 整的构造,其间不允许传输/接收数据的时间与调整的频率成比例地变长, 这降低了通信速度。

当以高频率执行调整时,非易失性存储器的通信速度特别容易降低。 DRAM可以以与定期刷新处理同步地执行调整的方式在一定程度上防止 通信速度的降低,但是非易失性存储器可能不会定期执行刷新处理。

鉴于上述情况,期望增大存储器控制器和存储器之间的通信速度。

根据本公开的第一实施方式,提供了一种接口控制电路和控制接口控 制电路的方法。接口控制电路包括:误差检测单元、误差校正单元、以及 调整控制单元。误差检测单元被配置为检测在经由接口传输的误差校正编 码数据中是否发生了误差。误差校正单元被配置为在发生误差时执行校正 误差的误差校正处理。调整控制单元被配置为在发生误差时开始调整接口 的传输特性的调整处理。因此,调整处理在发生了误差时开始。

另外,在第一实施方式中,调整控制单元可以被配置为在执行误差校 正处理期间开始调整处理。因此,调整处理在执行误差校正处理的期间开 始。

另外,在第一实施方式中,接口可以包括被配置为传输误差校正编码 数据的传输电路和被配置为接收误差校正编码数据的接收电路,并且调整 控制单元可以被配置为开始匹配传输电路和接收电路的阻抗的处理作为 调整处理。因此,开始匹配传输电路和接收电路的阻抗的处理作为调整处 理。

另外,在第一实施方式中,调整控制单元可以被配置为开始调整数据 的传输定时的处理作为调整处理。因此,调整了数据的传输定时。

另外,在第一实施方式中,接口控制电路可以进一步包括调整单元, 被配置为根据调整控制单元的控制执行调整处理。因此,根据调整控制单 元的控制执行调整处理。

另外,在第一实施方式中,调整处理可以是基于基准时钟信号调整传 输定时的处理。因此,基于基准时钟信号调整传输定时。

另外,在第一实施方式中,接口控制电路可以进一步包括延迟电路, 被配置为根据调整控制单元的控制延迟传输定时,并且调整处理可以是控 制延迟电路以调整传输定时的处理。因此,通过延迟电路的控制来调整传 输定时。

另外,在第一实施方式中,调整处理可以是基于基准时钟信号调整用 于控制传输定时的控制信号的相位以调整传输定时的处理。因此,基于基 准时钟信号调整用于控制传输定时的控制信号的定时。

另外,在第一实施方式中,接口控制电路可以进一步包括延迟电路, 被配置为根据调整控制单元的控制延迟用于控制传输定时的控制信号的 相位,并且调整处理可以是控制延迟电路以调整控制信号的相位的处理。 因此,通过延迟电路的控制调整控制信号的相位。

另外,在第一实施方式中,接口可以包括:传输电路,被配置为与传 输时钟信号同步地传输误差校正编码数据,以及接收电路,被配置为与接 收时钟信号同步地接收误差校正编码数据,并且调整处理可以是调整传输 时钟信号和接收时钟信号中的至少一个的相位以调整传输定时的处理。因 此,调整了传输时钟信号和接收时钟信号中的至少一个的相位。

另外,在第一实施方式中,调整处理可以是基于传输时钟信号和接收 时钟信号中的一个调整传输时钟信号和接收时钟信号中的另一个的相位 以调整传输定时的处理。因此,基于传输时钟信号和接收时钟信号中的一 个调整了传输时钟信号和接收时钟信号中的另一个的相位。

另外,在第一实施方式中,数据可以包括从存储单元读取的读数据, 传输时钟信号可以包括用于传输读数据的读数据传输时钟信号,接收时钟 信号可以包括用于接收读数据的读数据接收时钟信号,以及调整处理可以 包括调整读数据传输时钟信号和读数据接收时钟信号中的至少一个的相 位的处理。因此,开始了调整读数据传输时钟信号和读数据接收时钟信号 中的至少一个的相位的处理。

另外,在第一实施方式中,数据可以包括将被写入存储单元的写数据, 传输时钟信号可以包括用于传输写数据的写数据传输时钟信号,接收时钟 信号包括用于接收写数据的写数据接收时钟信号,并且调整处理可以包括 调整写数据传输时钟信号和写数据接收时钟信号中的至少一个的相位的 处理。因此,开始了调整写数据传输时钟信号和写数据接收时钟信号中的 至少一个的相位的处理。

另外,在第一实施方式中,调整处理可以是基于误差校正编码数据的 传输定时调整相位的处理。因此,基于误差校正编码数据的传输定时调整 了相位。

另外,在第一实施方式中,调整控制单元可以包括:测试数据生成部, 被配置为生成预定测试数据,以及相位控制部,被配置为开始如下处理作 为调整处理:向接口传输测试数据和从接口返回测试数据,并且基于传输 的测试数据和返回的测试数据是否彼此匹配调整相位。因此,基于传输的 测试数据和返回的测试数据是否彼此匹配调整了相位。

另外,在第一实施方式中,接口可以包括包括用于传输数据的多个数 据线。因此,调整了多个数据线的传输特性。

另外,在第一实施方式中,调整处理可以是对各数据线调整传输特性 的处理。因此,为各数据线调整了传输特性。

另外,在第一实施方式中,数据线中的各个属于多个组中的任一个, 以及调整处理可以是调整组中的每一个的传输特性的处理。因此,调整组 中的每一个的传输特性。

另外,在第一实施方式中,调整控制单元可以被配置为在数据中发生 了超过预定阈值的误差时开始调整处理。因此,在数据中发生了超过预定 阈值的误差时开始调整处理。

另外,在第一实施方式中,接口控制电路可以进一步包括刷新处理单 元,被配置为执行将校正了误差的数据重写到数据在其被读取的地址的刷 新处理。因此,执行了刷新处理。

另外,在第一实施方式中,刷新处理单元可以被配置为当校正误差的 数量大于不满误差校正码的误差校正能力的预定容许值时执行刷新处理。 因此,当校正误差的数量大于不满误差校正码的误差校正能力的预定容许 值时执行刷新处理。

另外,在第一实施方式中,接口控制电路可以进一步包括重试处理单 元,被配置为在数据中发生了超过误差校正码的误差校正能力的误差时, 在传输特性调整之后再次执行读取数据和误差校正码的重试处理。因此, 在数据中发生了超过误差校正码的误差校正能力的误差时执行重试处理。

另外,在第一实施方式中,重试处理单元可以被配置为发出预定命令, 以在通知主计算机预定命令的同时,再次读取数据和误差校正码。因此, 主计算机再次被通知发出的命令。

另外,在第一实施方式中,重试处理单元可以被配置为在通知主计算 机读取数据的地址的同时,再次读取数据和误差校正码。因此,将地址通 知主计算机。

另外,在第一实施方式中,重试处理单元可以被配置为在通知主计算 机发生了误差的同时,再次读取数据和误差校正码。因此,主计算机被通 知发生了误差。

另外,在第一实施方式中,调整控制单元可以被配置为在电源被供给 接口控制电路或者发生误差时,开始调整处理。因此,在电源被供给接口 控制电路或者发生误差时开始调整处理。

另外,在第一实施方式中,数据是从非易失性存储单元读取的数据。 因此,在对从非易失性存储单元读取的数据执行误差校正处理的同时开始 调整处理。

根据本技术的第二实施方式,提供了一种存储系统,包括:接口、误 差检测单元、误差校正单元、以及调整控制单元。接口被配置为传输误差 校正编码数据。误差检测单元被配置为检测数据中是否发生了误差。误差 校正单元被配置为在发生误差时执行校正误差的误差校正处理。调整控制 单元被配置为在发生误差时开始调整接口的传输特性的调整处理。因此, 在发生误差时开始调整处理。

根据本技术的实施方式,可以产生其中增大存储器控制器和存储器之 间的通信速度的优良的效果。

鉴于如附图中示出的、本发明的最佳模式的实施方式的以下详细说 明,本发明的这些和其他目标、特征、和优点将变得更加明显。

附图说明

图1是示出根据第一实施方式的存储系统的构造实例的框图;

图2是示出根据第一实施方式的存储器控制器的构造实例的框图;

图3是示出根据第一实施方式的控制接口的构造实例的框图;

图4是示出根据第一实施方式的非易失性存储器的构造实例的框图;

图5是示出根据第一实施方式的存储器接口的构造实例的框图;

图6是示出根据第一实施方式的原始缓冲电路的构造实例的框图;

图7是示出根据第一实施方式的副本缓冲电路的构造实例的框图;

图8是示出根据第一实施方式的阻抗调整单元的实例的框图;

图9是示出根据第一实施方式的电源输入时的阻抗控制方法的实例 的图;

图10是示出根据第一实施方式的误差校正时的阻抗控制方法的实例 的图;

图11是示出根据第一实施方式的存储器控制器的操作实例的流程 图;

图12是示出根据第一实施方式的读取处理的实例的流程图;

图13是示出根据第一实施方式的调整处理的实例的流程图;

图14是示出根据第一实施方式的非易失性存储器的操作实例的流程 图;

图15是示出根据第一实施方式的存储系统的操作实例的时序图;

图16是示出根据第一实施方式的第一变形例的存储器控制器的操作 实例的流程图;

图17是示出根据第一实施方式的第二变形例的在电源输入时的阻抗 控制方法的实例的图;

图18是示出根据第二实施方式的存储器控制器的构造实例的框图;

图19是示出根据第二实施方式的相位调整单元的构造实例的框图;

图20是示出根据第二实施方式的控制接口的构造实例的框图;

图21是示出根据第二实施方式的非易失性存储器的构造实例的框 图;

图22是示出根据第二实施方式的存储器接口的构造实例的框图;

图23是示出根据第二实施方式的存储器控制器的操作实例的流程 图;

图24是示出根据第二实施方式的调整处理的实例的流程图;

图25是示出根据第二实施方式的非易失性存储器的操作实例的流程 图;

图26是示出根据第二实施方式的存储系统的操作实例的时序图;

图27是示出根据第二实施方式的第一变形例的存储器控制器的操作 实例的流程图;

图28是示出根据第二实施方式的第一变形例的调整处理的实例的流 程图;

图29是示出根据第二实施方式的第二变形例的非易失性存储器的构 造实例的框图;

图30是示出根据第二实施方式的第三变形例的控制接口的构造实例 的框图;

图31是示出根据第三实施方式的存储器控制器的操作实例的流程 图;

图32是示出根据第三实施方式的调整处理的实例的流程图;

图33是示出根据第三实施方式的非易失性存储器的操作实例的流程 图;

图34是示出根据第四实施方式的存储器控制器的构造实例的框图;

图35是示出根据第四实施方式的读取处理的实例的流程图;

图36是示出根据第四实施方式的存储系统的操作实例的时序图;

图37是示出根据第五实施方式的存储器控制器的构造实例的框图;

图38是示出根据第五实施方式的读取处理的实例的流程图;

图39是示出根据第五实施方式的重试处理的实例的流程图;

图40是示出根据第五实施方式的第一变形例的重试处理的实例的流 程图;以及

图41是示出根据第五实施方式的第二变形例的重试处理的实例的流 程图。

具体实施方式

接下来,将描述用于实施本技术的模式(以下,称为实施方式)。将 按以下顺序进行描述。

1.第一实施方式(其中在误差检测时调整阻抗的实例)

2.第二实施方式(其中在误差检测时调整相位的实例)

3.第三实施方式(其中在误差检测时调整阻抗和相位的实例)

4.第四实施方式(其中在误差检测时调整阻抗并且执行刷新处理的实 例)

5.第五实施方式(其中在误差检测时再次调整阻抗并且执行读取处理 的实例)

1.第一实施方式

(存储系统的构造实例)

图1是示出根据第一实施方式的存储系统的构造实例的框图。存储系 统包括主计算机100、存储器控制器200、以及非易失性存储器300。

主计算机100控制整个存储系统。具体地,主计算机100生成命令、 逻辑地址、和写数据并经由信号线109将它们传输到存储器控制器200。 另外,主计算机100经由信号线109从存储器控制器200接收读数据和状 态。这里,命令用于控制存储系统,并且例如包括用于指示数据的写处理 的写命令和用于指示数据的读取处理的读命令。逻辑地址是主计算机100 定义的地址空间中的地址。状态是用于通知命令的执行结果和存储系统的 状况的信息。

存储器控制器200控制非易失性存储器300。当从主计算机100接收 逻辑地址时,存储器控制器200将逻辑地址转换成分配到非易失性存储器 300中的存储单元的物理地址。然后,存储器控制器200经由信号线209 将物理地址传输到非易失性存储器300。

这里,信号线209包括用于传输地址和命令的命令/地址线以及用于 传输和接收数据的数据线。另外,经由信号线209从存储器控制器200向 非易失性存储器300传输基准时钟信号。时钟信号将在后面描述。值得注 意的是,虽然实施方式明确地描述了基准时钟作为单独的信号,可以使用 其中时钟被叠加在数据线上的嵌入式时钟系统。另外,可以使用用于如在 NAND闪存等中以多路复用形式传输和接收地址、命令、数据等的接口, 而不是命令/地址线和数据线。

当从主计算机100接收写命令和写数据时,存储器控制器200从写数 据生成ECC(误差校正码)。例如,使用BCH(博斯-乔赫里-霍克文黑姆) 码和RS(里德-索罗门)码作为ECC。存储器控制器200将生成的奇偶校 验(parity)添加到写数据,并且将包括写数据和奇偶校验的ECC经由数 据线传输到非易失性存储器300。写命令经由命令/地址线传输。

当从主计算机100接收读命令等时,存储器控制器200解释并翻译命 令,并且将翻译的命令经由命令/地址线传输到非易失性存储器300。例如, 来自主计算机100的读命令基于存储器控制器200的存取单元被分成(即, 翻译成)多个命令。因此,当经由数据线从非易失性存储器300接收具有 奇偶校验的读数据(即,误差校正编码的读数据)时,存储器控制器200 使用奇偶校验检测读数据中是否发生了误差。当在读数据中发生了误差 时,存储器控制器200使用奇偶校验校正误差。然后,存储器控制器200 将校正的读数据传输到主计算机100。

另外,当在读数据中发生了误差时,存储器控制器200在误差的校正 处理期间发出调整命令,用于调整存储器控制器200和非易失性存储器 300之间的接口的传输特性。例如,发出用于调整接口的阻抗的阻抗调整 命令作为调整命令。存储器控制器200将阻抗调整命令经由命令/地址线传 输到非易失性存储器300。这里,存储器控制器200经由命令/地址线将阻 抗调整命令传输到非易失性存储器300。这里,待调整的“接口”包括将 在后面描述的存储器控制器200侧上的控制接口260、将在后面描述的非 易失性存储器300侧上的存储器接口400、以及诸如数据线的信号线209 中的至少一个。

另外,存储器控制器200经由信号线209从非易失性存储器300接收 状态、根据情况需要更新状态、并且将更新的状态传输到主计算机100。

值得注意的是,存储器控制器200是权利要求中描述的接口控制电路 的实例。

另外,存储器控制器200可以在误差检测时发出除了阻抗调整命令之 外的调整命令。例如,存储器控制器200可以发出用于调整接口的传输时 钟的相位(定时)的相位调整命令或者发出相位调整命令和阻抗调整命令 两者。

非易失性存储器300根据存储器控制器200的控制存储数据。非易失 性存储器300从存储器控制器200接收命令、地址、和数据。当命令表示 写命令时,非易失性存储器300将数据写入指定地址,并且在命令表示读 命令时,从指定地址读取数据。然后,非易失性存储器300生成状态,并 且将生成的状态传输到存储器控制器200。另外,非易失性存储器300向 存储器控制器200传输读数据。

另外,当命令表示阻抗调整命令时,非易失性存储器300调整接口的 阻抗。

值得注意的是,存储系统中的存储器不限于非易失性存储器,而是可 以使用易失性存储器。

另外,非易失性存储器300调整存储系统中的阻抗,但是存储器控制 器200可以调整阻抗,而不是非易失性存储器300。

此外,存储器控制器200执行误差检测、误差校正、以及调整命令的 发出,但是可以采用其他构造。例如,主计算机100可以执行误差检测、 误差校正、以及调整命令的发出,而不是存储器控制器200。

(存储器控制器的构造实例)

图2是示出根据第一实施方式的存储器控制器的构造实例的框图。存 储器控制器200包括:主接口210、误差校正码生成单元220、误差检测 单元230、误差校正单元240、阻抗调整命令发出单元250、以及控制接口 260。

主接口210向/从主计算机100传输和接收命令、地址、数据、和状 态。由主接口210接收的命令被解释并翻译,然后被提供到控制接口260。 另外,由主接口210接收的逻辑地址被转换成物理地址,然后提供到控制 接口260。值得注意的是,在图2中,省略了解释和翻译命令的解码器、 将逻辑地址转换成物理地址的地址转换单元、以及生成状态的状态生成单 元。

主接口210将从主计算机100接收的写数据WD提供到误差校正码 生成单元220。另外,主接口210从误差检测单元230或者误差校正单元 240接收读数据RD。当误差检测单元230没有检测到误差时,主接口210 将没有奇偶校验的读数据RD传输到主计算机100。另一方面,当误差检 测单元230检测到误差时,主接口210将其误差被误差校正单元240校正 的读数据RD传输到主计算机100。

当从主接口210接收写数据WD时,误差校正码生成单元220从写 数据WD生成奇偶校验。然后,误差校正码生成单元220将奇偶校验添加 到写数据WD并将其提供到控制接口260作为写数据WD'。

误差检测单元230检测在读数据中是否发生了误差。误差检测单元 230从控制接口260接收具有奇偶校验的读数据RD'。误差检测单元230 使用奇偶校验检测在读数据中是否发生了误差,然后将检测结果提供到误 差校正单元240、阻抗调整命令发出单元250、以及接口单元260。另外, 当没有检测到误差时,误差检测单元230将通过从读数据RD’去除奇偶校 验而获得的数据提供到主接口210作为读数据RD。另一方面,当检测到 误差时,误差检测单元230将具有奇偶校验的读数据RD'提供到误差校正 单元240。值得注意的是,当存在误差的数量超过ECC的误差校正性能时, 如将在后面描述的第五实施方式中一般,可以执行阻抗的调整和读取重试 处理。

当检测到误差时,误差校正单元240使用奇偶校验校正读数据RD中 的误差。误差校正单元240将校正的读数据RD提供到主接口210。

阻抗调整命令发出单元250发出阻抗调整命令ZQCAL。阻抗调整命 令发出单元250在电源输入到存储器控制器200或者在误差检测时发出阻 抗调整命令ZQCAL。在误差检测时,例如,在从传输了最后的读命令已 经经过了至少对应于TR–TS+TM的时间时,阻抗调整命令发出单元250 发出阻抗调整命令ZQCAL。这里,TR表示从传输读命令到接收对应读数 据的结束的延迟时间,Ts表示从传输阻抗调整命令到开始调整阻抗的延迟 时间。TM表示裕度时间。随着此时阻抗调整命令的传输,在读数据的接 收结束之后开始阻抗的调整。

这里,作为在电源输入时发出的阻抗调整命令ZQCAL,例如,使用 DDR3接口中的ZQCAL长命令。另外,作为在误差检测时发出的阻抗调 整命令ZQCAL,例如,使用DDR3接口中的ZQCAL长命令或者ZQCAL 短命令。

值得注意的是,阻抗调整命令发出单元250是权利要求中描述的调整 控制单元的实例。

控制接口260向/从非易失性存储器300传输和接收命令、地址、数 据、和状态。控制接口260经由信号线209向非易失性存储器300传输命 令、地址、和写数据WD'。然而,当检测到误差时,控制接口260中断伴 随有数据传输的新命令和地址的传输,直到误差的校正处理和阻抗的调整 处理都结束。具体地,控制接口260中断新命令的传输,直到在误差的检 测之后已经经过了以下公式1中示出的时间Ti。

Ti=max{(TR–TS+TM+TZ),(TC+TM)}-TR (公式1)

其中,TZ表示从阻抗调整开始到结束的时间。Tc表示从校正开始到 到结束的时间。max(A,B)表示返回值A和B中的较大值的函数。

另外,控制接口260接收读数据RD'和状态,并且将读数据RD'提供 到误差检测单元230。

(控制接口的构造实例)

图3是示出根据第一实施方式的控制接口260的构造实例的框图。控 制接口260包括:定序器261、数据缓冲器262、并行/串行转换单元263 至265、以及缓冲电路266和267。缓冲电路267包括驱动器268和接收 器269。值得注意的是,虽然缓冲电路267具有与其连接的终端电阻器, 但是为了描述的目的,省略了终端电阻器。

定序器261基于命令的类型控制缓冲电路267的输入/输出操作。定 序器261从主接口210或阻抗调整命令发出单元250接收命令和地址。另 外,定序器261从误差检测单元230接收检测结果。然后,定序器261确 定命令是否表示写命令WCMD、读命令RCMD、或者阻抗调整命令 ZQCAL。值得注意的是,定序器261可以通过硬件或软件实现。可选地, 定序器261可以通过硬件和软件的组合实现。

当命令表示写命令WCMD时,定序器261将命令和地址提供到并行 /串行转换单元263并且用输入/输出控制信号IOCtrl控制缓冲电路267, 以激活驱动器268。

当命令表示读命令RCMD或阻抗调整命令ZQCAL时,定序器261 将命令和地址提供到并行/串行转换单元263。然而,当检测结果显示已经 发生了误差时,定序器261在特定时间段中断伴随数据传输的新命令(诸 如读命令RCMD)的发出,直到误差校正处理和阻抗调整处理都结束。另 外,定序器261利用输入/输出控制信号IOCtrl控制缓冲电路267,以激活 接收器269。

并行/串行转换单元263与时钟信号CLK同步地将用作并行数据的命 令和地址转换成串行数据。并行/串行转换单元263将各串行数据顺序地提 供到缓冲电路266。这里,时钟信号CLK表示控制接口260生成的时钟信 号。另外,时钟信号CLK被传输到非易失性存储器300作为待参考的基 准时钟信号。值得注意的是,在图3中省略了生成时钟信号CLK的时钟 生成电路。

缓冲电路266经由命令/地址线207传输来自并行/串行转换单元263 的串行数据。

数据缓冲器262保存读数据RD'或写数据WD'。所保存的写数据WD' 被提供到并行/串行转换单元264,并且所保存的读数据RD'被提供到误差 检测单元230。

并行/串行转换单元264与传输时钟信号TxCLK同步地将用作并行数 据的写数据WD'转换成串行数据。并行/串行转换单元264将各个串行数 据顺序地提供到驱动器268。

并行/串行转换单元265与时钟信号CLK同步地将来自接收器269的 串行数据转换成用作并行数据的读数据RD'。并行/串行转换单元265使数 据缓冲器262保存所转换的读数据RD'。

驱动器268经由数据线208传输来自并行/串行转换单元264的串行 数据。

接收器269将经由数据线208接收的串行数据提供到并行/串行转换 单元265。值得注意的是,数据线208可以包括多个数据线,以确保所需 的传输吞吐量。在该情况下,提供了多对并行/串行转换单元264和265 和缓冲电路267。

(非易失性存储器的构造实例)

图4是示出根据第一实施方式的非易失性存储器300的构造实例的框 图。非易失性存储器300包括:存储器接口400、阻抗调整单元310、以 及存取控制单元320。

存储器接口400向/从存储器控制器200传输和接收数据。存储器接 口400经由信号线209接收命令和地址。另外,存储器接口400与接收时 钟信号同步地经由信号线209接收写数据WD'。存储器接口400将命令等 提供到存取控制单元320。此外,存储器接口400从存取控制单元320接 收读数据RD'。然后,存储器接口400与传输时钟信号同步地经由信号线 209传输读数据RD'。

另外,存储器接口400经由信号线209接收阻抗调整命令ZQCAL, 并且根据该命令向/从阻抗调整单元310传输和接收调整开始信号和调整 结束信号。这些信号将在后面详细描述。

阻抗调整单元310调整存储器接口400中的阻抗不匹配。

存取控制单元320存取存储单元阵列330并且写入或读取数据。当接 收写命令WCMD、地址、和写数据WD'时,存取控制单元320存取存储 单元阵列330中的指定地址,并且根据命令写入写数据WD'。另外,当接 收读命令RCMD和地址时,存取控制单元320存取存储单元阵列330中 的指定地址,并且根据命令读取读数据RD'。存取控制单元320将这样读 取的读数据RD'提供到存储器接口400。另外,存取控制单元320基于存 取状况生成状态,并且将生成状态提供到存储器接口400。

存储单元阵列330包括呈矩阵图案设置的多个存储单元。作为每个存 储单元,例如,使用了利用可变电阻元件的ReRAM。值得注意的是,可 以使用除了ReRAM之外的非易失性存储元件作为存储单元。例如,可以 使用NAND闪存或NOR闪存,并且可以使用ReRAM、PCRAM、MRAM 等。

(存储器接口的构造实例)

图5是示出根据第一实施方式的存储器接口400的构造实例的框图。 存储器接口400包括:原始缓冲电路410、副本缓冲电路432、缓冲电路 451、并行/串行转换单元452至454、定序器455、数据缓冲器456。

原始缓冲电路410经由数据线208传输和接收串行数据。原始缓冲电 路410将接收的串行数据提供到并行/串行转换单元453并且从并行/串行 转换单元454接收待传输的串行数据。另外,利用来自阻抗调整单元310 的阻抗控制信号ZQCtrl控制原始缓冲电路410的阻抗。

副本缓冲电路432是与原始缓冲电路410类似的电路。利用阻抗控制 信号ZQCtrl控制副本缓冲电路432的阻抗。另外,副本缓冲电路432向 阻抗调整单元310提供比较结果COMP1和COMP2。这些信号将在后面 详细描述。

缓冲电路451经由命令/地址线207接收串行数据,并且将接收的串 行数据提供到并行/串行转换单元452。

并行/串行转换单元452将来自缓冲电路451的串行数据转换成用作 并行数据的命令和地址。并行/串行转换单元452将命令和地址提供到定序 器455。

定序器455基于命令的类型控制原始缓冲电路410的输入/输出操作。 定序器455从并行/串行转换单元452接收命令和地址,并且确定命令是否 表示写命令WCMD、读命令RCMD、或者阻抗调整命令ZQCAL。

当命令表示写命令WCMD时,定序器455将命令和地址提供到存取 控制单元320并且利用输入/输出控制信号IOCtrl控制原始缓冲电路410 以使写数据被接收。

当命令表示读命令RCMD时,定序器455将命令和地址提供到存取 控制单元320并且利用输入/输出控制信号IOCtrl控制原始缓冲电路410 以使读数据被传输。

当命令表示阻抗调整命令ZQCAL时,定序器455生成调整开始信号, 并且将生成的调整开始信号提供到阻抗调整单元310。然后,定序器455 从阻抗调整单元310接收调整结束信号。定序器455在调整开始信号之后 中断伴随有数据传输的新命令的发出,直到接收到了调整结束信号。

并行/串行转换单元453与基准时钟信号CLK同步地将来自原始缓冲 电路410的串行数据转换成用作并行数据的写数据WD'。并行/串行转换 单元453使数据缓冲器456保存写数据WD’。

并行/串行转换单元454从数据缓冲器456获取用作并行数据的读数 据RD',并且与基准时钟信号CK同步地将获取的读数据RD'转换成串行 数据。并行/串行转换单元454将串行数据顺序地提供到原始缓冲电路410。

数据缓冲器456保存读数据RD'或写数据WD'。所保存的写数据WD' 被提供到存取控制单元320,并且所保存的读数据RD'被提供到并行/串行 转换单元454。

(原始缓冲电路的构造实例)

图6是示出根据第一实施方式的原始缓冲电路400的构造实例的框 图。原始缓冲电路410包括:上拉电路411、下拉电路416、接收器421、 以及驱动器424。

上拉电路411是插入在被施加了电源电压Vcc的端子和外部端子431 之间的电源侧的电路。上拉电路411包括:晶体管412、电阻器415、以 及一定数量的晶体管413和电阻器414。电阻器415的一端连接至晶体管 412,并且其另一端连接至接收器421、下拉电路416、以及外部端子431。 晶体管413和电阻器414串联连接,并且各个串联连接的晶体管413和电 阻器414并联连接到电阻器415。

作为晶体管412,例如,使用pMOS(金属氧化物半导体)晶体管。 电源电压Vcc被施加到晶体管412的源电极,晶体管413连接至晶体管 412的漏电极,并且上拉控制信号PU_On输入到晶体管412的栅电极。这 里,上拉控制信号PU_On是设置在高电平或低电平以控制上拉电阻器的 信号并且包含在阻抗控制信号ZQCtrl中。

利用该构造,当上拉控制信号PU_On设置在低电平时,晶体管412 进入导通状态,建立以下一种状态,电阻器414和415的组合电阻器连接 为上拉电阻器。另一方面,当上拉控制信号PU_On设置在高电平时,上 拉电阻器进入非连接状态。

作为晶体管413,例如,使用pMOS晶体管。另外,可将上拉控制信 号PU[0:3]的任何位输入到晶体管413的栅电极。上拉控制信号PU[0:3]是 四位数据,并且包含在阻抗控制信号ZQCtrl中。由于上拉控制信号PU[0:3] 具有四位,因此,最大可以设置四对晶体管413和电阻器414。

利用该构造,根据上拉控制信号PU[0:3]控制上拉电路411的电阻值。 具体地,上拉控制信号PU[0:3]的位“1”的数量越多,进入截止状态的晶 体管413越多,并联连接的电阻器414和415的组合电阻值(即,上拉电 路411的电阻值)变得越高。

下拉电路416是插入在施加了基准电压Vss的端子和外部端子431 之间的接地侧电路。下拉电路416包括:电阻器419、晶体管420、以及 一定数量的电阻器417和晶体管418。电阻器419的一端连接至接收器421、 上拉电路411、以及外部端子431,并且电阻器419的另一端连接至晶体 管420。电阻器417和晶体管418串联连接,并且各个串联连接的电阻器 417和晶体管418并联连接至电阻器419。

作为晶体管420,例如,使用nMOS晶体管。电阻器419连接至晶体 管420的源电极,并且基准电压Vss被施加到晶体管420的漏电极,并且 下拉控制信号PD_On被输入到晶体管420的栅电极。这里,下拉控制信 号PD_On是设置在高电平或低电平以控制下拉电阻器的信号,并且下拉 控制信号PD_On包含在阻抗控制信号ZQCtrl中。

利用该构造,当下拉控制信号PD_On设置为高电平时,晶体管420 进入导通状态,建立了以下状态,电阻器417和419的组合电阻器连接为 下拉电阻器。另一方面,当下拉控制信号PD_On设置在低电平时,下拉 电阻器进入非连接状态。

作为晶体管418,例如,使用nMOS晶体管。另外,可将下拉控制信 号PD[0:3]的任意位输入到晶体管418的栅电极中。下拉控制信号PD[0:3] 是四位数据并且包含在阻抗控制信号ZQCtrl中。由于下拉控制信号PD[0:3] 具有四位,因此最多可以设置四对晶体管417和电阻器418。

利用该构造,根据下拉控制信号PD[0:3]控制下拉电路416的电阻值。 具体地,下拉控制信号PU[0:3]的位“0”的数量越多,进入截止状态的晶 体管418变得越多,并联连接的电阻器418和419的组合电阻值(即,下 拉电路416的电阻值)变得越高。

上拉电路411和下拉电路416的电阻器用作连接至数据线208的终端 的终端电阻器。由于终止电阻器设置在非易失性存储器300的芯片上,因 此它们也称为(片上终端)。

接收器421接收来自存储器控制器200的串行数据。接收器421包括 晶体管422和423。例如,使用pMOS晶体管作为晶体管422,并且例如, 使用nMOS晶体管作为晶体管423。

电源电压Vcc被施加到晶体管422的源电极,并且晶体管422的漏 电极连接至晶体管423的源电极和并行/串行转换单元453。另外,晶体管 422的栅电极连接至外部端子431。

晶体管423的源电极连接至晶体管422的漏电极和并行/串行转换单 元453,并且基准电压Vss被施加到晶体管423的漏电极。另外,晶体管 423的栅电极连接至外部端子431。

利用该构造,接收器421接收经由数据线208传输的串行数据,并且 将接收的数据提供到并行/串行转换单元453。另外,根据输入/输出控制 信号IOCtrl激活或去激活接收器421。值得注意的是,在图6中,省略了 用于激活或去激活接收器421的元件和配线。

驱动器424包括上拉电路425和下拉电路426。上拉电路425的构造 与上拉电路411的构造相同。然而,在上拉电路425中,对应于晶体管412 的晶体管的栅电极连接至并行/串行转换单元454。下拉电路426的构造与 下拉电路416的构造相同。然而,在下拉电路426中,对应于晶体管420 的晶体管的栅电极连接至并行/串行转换单元454。

利用该构造,驱动器424将来自并行/串行转换单元454的串行数据 传输到存储器控制器200。另外,根据输入/输出控制信号IOCtrl激活或去 激活驱动器424。值得注意的是,在图6中,省略了用于激活或去激活驱 动器424的元件和配线。

(副本缓冲电路的构造实例)

图7是示出根据第一实施方式的副本缓冲电路432的构造实例的框 图。副本缓冲电路432包括:外部端子440、上拉电路433、电阻器434 和435、以及比较器536。另外,副本缓冲电路432包括:上拉电路437、 下拉电路438、以及比较器439。

外部端子440连接至设置在非易失性存储器300外部的外部电阻器。 基准电压Vref_ext被施加到外部电阻器的一端,并且电阻值被设置为与存 储器控制器200侧的下拉电阻器的值大致相同。

上拉电路433插入在施加电源电压Vcc的端子和外部端子440之间。 上拉电路433的构造与图6中示出的上拉电路411的构造相同。电源电压 Vcc被提供到上拉电路433的一端,并且上拉电路433的另一端连接至外 部端子440和比较器436的输入端子。

利用该构造,当上拉控制信号PU_On被设置在低电平时,通过将电 源电压Vcc和基准电压Vss之间的电位差除以上拉电路433和外部电阻器 之间的电阻值比而获得的电压Vq1被施加到比较器436的输入端子。另一 方面,当上拉控制信号PU_On设置为高电平时,上拉电路433进入非连 接状态,这使得电压Vq1的值与取决于外部电阻器的值的预定基准电压 Vref_ext相同。

另外,串联连接的电阻器434和435插入在电源电压Vcc和基准电 压Vss之间。此外,这些电阻器之间的节点连接至比较器436和439的输 入端子。利用该构造,通过将电源电压Vcc和基准电压Vss之间的电位差 除以电阻器434和435之间的电阻值比而获得的电压被施加到比较器436 和439的输入端子作为基准电压Vref_int。

当使得基准电压Vref_int的电压与电压Vq1大致相同时,基准电压 Vref_int的值设置为如下的值:其使得存储器控制器200和非易失性存储 器300之一的传输电路的阻抗与存储器控制器200和非易失性存储器300 的另一个的接收电路的阻抗匹配。传输电路包括驱动器等,并且接收电路 包括接收器、终端电阻器、信号线等。

比较器436将电压Vq1与基准电压Vref_int相比较。比较器436将 比较结果提供到阻抗调整单元310作为比较结果COMP1。比较结果 COMP1代表如下的信号,即,当电压Vq1小于基准电压Vref_inf时,信 号被设置在高电平,当电压Vq1大于基准电压Vref_inf时,信号被设置在 低电平。

上拉电路437的构造与图6中示出的上拉电路411的构造相同。电源 电压Vcc被施加到上拉电路437的一端,并且上拉电路437的另一端连接 至下拉电路438以及比较器439的输入端子。

下拉电路438的构造与图6中示出的下拉电路416的构造相同。下拉 电路438的一端连接至上拉电路437和比较器439的输入端子,并且下拉 电路438的另一端连接至基准电压Vss。

利用该构造,当上拉控制信号PU_On设置为低电平并且下拉控制信 号PD_On设置为高电平时,对应于上拉电路437和下拉电路438之间的 电阻指的比的电压Vq2被施加到比较器439的输入端子。

比较器439将电压Vq2与基准电压Vref_int相比较。比较器439将 比较结果提供到阻抗调整单元310作为比较结果COMP2。比较结果 COMP2表示如下的信号,即,当基准电压Vref_inf小于电压Vq2时,设 置为高电平的信号,当基准电压Vref_inf大于电压Vq2时,设置为低电平 的信号。

(阻抗调整单元的构造实例)

图8是示出根据第一实施方式的阻抗调整单元300的实例的框图。阻 抗调整单元300包括:状态机311、控制信号保持单元312、以及对反转 次数向上计数的计数器313。

状态机311调整存储器接口400中的阻抗。当接收到来自存储器接口 400的调整开始信号时,状态机311开始调整阻抗。

首先,状态机311向存储器接口400输出设置为低电平的上拉控制信 号PU_On。因此,使得可以进行上拉电阻器的值的调整。

与内部时钟信号CLK同步,状态机311根据比较结果COMP1的值 控制上拉电阻器的值。上拉电阻器的控制量在每个时钟周期均被设置为恒 定值。具体地,当比较结果COMP1被设置在高电平时,待控制的对象的 电压Vq1小于基准电压Vref_int。因此,状态机311利用上拉控制信号 PU[0:3]减小上拉电阻器的值。结果,电压Vq1增大。另一方面,当比较 结果COMP1设置在低电平时,状态机311增大上拉电阻器的值。

另外,状态机311使得计数器313对比较结果COMP1的反转次数向 上计数。当计数器值ZCNT达到常数(例如,“四”)时,状态机311确定 上拉电阻器的调整已经结束。

当上拉电阻器的调整结束时,状态机311向存储器接口400输出设置 为低电平的上拉控制信号PU_On和设置为高电平的下拉控制信号 PD_On。因此,使得可以进行下拉电阻器的值的调整。另外,状态机311 将计数器值ZCNT设置为初始值(例如,“零”)。

与内部时钟信号CLK同步,状态机311根据比较结果COMP2的值 控制下拉电阻器的值。下拉电阻器的控制量在每个时钟周期被设置为恒定 值。具体地,当比较结果COMP2被设置在低电平时,待控制的对象的电 压Vq2小于或等于基准电压Vref_int。因此,状态机311用下拉控制信号 PD[0:3]增大下拉电阻器的值。结果,电压Vq2增大。另一方面,当比较 结果COMP2被设置在高电平时,状态机311减小下拉电阻器的值。

另外,状态机311使得计数器313对比较结果COMP2的反转次数向 上计数。当计数器值ZCNT达到常数(例如,“四”)时,状态机311确定 下拉电阻器的调整已经结束。

当上拉电阻器和下拉电阻器的调整结束时,或者已经经过了调整时间 时,状态机311生成调整结束信号,并且将生成的调整结束信号输出到存 储器接口400。这里,例如,对于ZQCAL短命令,调整时间设置为64个 时钟,对于ZQCAL长命令,设置为256个时钟。另外,状态家311将计 数器值ZCNT设置为初始值。另外,状态机311使得控制信号保持单元 312保持阻抗控制信号ZQCtrl(PU_On、PD_On、PU[0:3]、和PU_[0:3])。 然后,状态机311将控制信号连续地提供到存储器接口400。

值得注意的是,虽然状态机311最初调整上拉电阻器,但是其可以最 初调整下拉电阻器。另外,虽然状态机311调整上拉电阻和下拉电阻,但 是其可以仅调整上拉电阻器和下拉电阻器中的一个。

控制信号保持单元312保持阻抗控制信号ZQCtrl。

计数器对比较结果COMP1或比较结果COMP2的反转次数向上计 数。

图9是示出根据第一实施方式的电源输入时的阻抗控制方法的实例 的图。在图9中,纵轴表示电压Vq2,并且横轴表示时间。在电源输入时, 非易失性存储器300侧的下拉电阻器设置为最小值。结果,待控制的Vq2 变得最小。与内部时钟信号CLK同步,非易失性存储器300控制下拉电 阻器,以使得电压Vq2与基准电压Vref_int大致相同。具体地,当比较结 果COMP2反转了特定次数(例如,四次)时,确定下拉电阻器使得电压 Vq2与基准电压Vref_int大致相同。这里,每个时钟周期的阻抗的控制量 设置为恒定值。值得注意的是,在图9中,省略了在下拉电阻器的调整之 前执行的上拉电阻器的调整。

例如,当在时刻T0输入了电源并且电压Vq2在时刻T1超过了基准 电压Vref_int时,比较结果COMP2从低电平反转为高电平。然后,在时 刻T2,当非易失性存储器300控制阻抗以减小电压Vq2,并且电压Vq2 变得小于基准电压Vref_int时,比较结果COMP2从高电平反转为低电平。 随后,在时刻T3和时刻T4,假设比较结果COMP2随着电压Vq2的增大 和减小而反转。由于反转次数在时刻T4达到四次,因此,非易失性存储 器300确定阻抗的调整处理已经结束。

基准电压Vref_int设置在使得阻抗在接口400的传输侧的电路和接收 侧的电路之间匹配的值。因此,当基于基准电压Vref_int控制阻抗时,阻 抗在传输侧和接收侧之间匹配,这减小了接口400中的传输误差。

图10是示出根据第一实施方式的误差校正时的阻抗控制方法的实例 的图。在图10中,纵轴表示电压Vq2,横轴表示时间。在电源输入之后, 阻抗值随着接口400中的温度等的变化而波动。该现象称为温度漂移。结 果,阻抗在接口400的传输侧和接收侧之间不匹配。阻抗的不匹配引起信 号的反射,并且在时刻T5检测到误差。存储器控制器200发出阻抗调整 命令ZQCAL,并且非易失性存储器300开始阻抗的调整。这里,每个时 钟周期的阻抗的控制量都被设置为恒定值。在时刻T6,当比较结果COMP2 的反转次数达到特定次数时,非易失性存储器300确定调整处理已经结束, 并且保持阻抗的匹配状态。

(存储器控制器的操作实例)

图11是示出根据第一实施方式的存储器控制器200的操作实例的流 程图。例如,当向存储器控制器200输入电源时,操作开始。

紧跟在输入电源之后,存储器控制器200发出阻抗调整命令,并且将 发出的阻抗调整命令传输到非易失性存储器300(步骤S901)。存储器控 制器200确定是否已经经过了特定周期(步骤S902)。设置执行阻抗的调 整处理的该时间。当没有经过特定周期时(步骤S902中的否),存储器控 制器200返回到步骤S902。

当已经经过了特定周期时(步骤S902中的是),存储器控制器200 接收来自主计算机100的命令,翻译并解释所接收的命令,并且发出各种 命令(步骤S903)。

存储器控制器200执行解释的命令的处理(诸如写处理和读取处理) (步骤S904)。当在读取处理中检测到误差时,如后面将在图13和14中 描述的,发出阻抗调整命令。

存储器控制器200确定命令的处理是否已经结束(步骤S905)。当处 理没有结束时(步骤S905中的否),存储器控制器200返回到步骤S904。 当处理已经结束时(步骤S905中的是),存储器控制器200返回到步骤 S903。

图12是示出根据第一实施方式的读取处理的实例的流程图。存储器 控制器200将读命令和地址传输到非易失性存储器300,并且接收读数据 和奇偶校验。然后,存储器控制器200使用奇偶校验检测读数据是否存在 误差(步骤S911)。

使用奇偶校验,存储器控制器200确定在读数据中是否发生了误差 (步骤S912)。

当已经发生了误差时(步骤S912中的是),存储器控制器200并行 地执行调整处理(步骤S920)和读数据的校正处理(步骤S917)。在调整 处理和校正处理都结束时或者没有发生误差时(步骤S912的否),存储器 控制器200将读数据传输到主计算机100以结束读取处理。

图13是示出根据第一实施方式的调整处理的实例的流程图。存储器 控制器200确定现在是否是发出阻抗调整命令的时间(步骤S921)。例如, 该时间使得在所有读数据的传输结束时开始阻抗的调整处理。当还没有经 过该时间时(步骤S921的否),存储器控制器200返回到步骤S921。

另一方面,当现在是发出阻抗调整命令的时间时(步骤S921的是), 存储器控制器200发出阻抗调整命令(步骤S922)。然后,存储器控制器 200确定是否已经经过了特定周期(步骤S923)。特定周期表示直到阻抗 的调整处理结束的时间。当还没有经过特定周期时(步骤S923中的否), 存储器控制器200返回到步骤S923。当已经经过了特定周期时(步骤S923 中的是),存储器控制器200结束调整处理。

(非易失性存储器的操作实例)

图14是示出根据第一实施方式的非易失性存储器300的操作实例的 流程图。例如,当电源输入到非易失性存储器300时,操作开始。

非易失性存储器300确定是否已经从存储器控制器200接收到各命令 (步骤S951)。当还没有接收到命令时(步骤S951的否),非易失性存储 器300返回到步骤S951。当已经接收到命令时(步骤S951中的是),非 易失性存储器300确定该命令是否包括阻抗调整命令(步骤S952)。当该 命令包括阻抗调整命令时(步骤S952的是),非易失性存储器300调整接 口400的阻抗(步骤S953)。

当该命令不包括阻抗调整命令时(步骤S952中的否),非易失性存 储器300根据该命令执行各种处理(诸如读取处理和写处理)(步骤 S954)。在步骤S953或步骤S954之后,非易失性存储器300返回到步骤 S951。

图15是示出根据第一实施方式的存储系统的操作实例的时序图。

假设存储器控制器200经由命令/地址线207向非易失性存储器300 顺序地传输四个读命令和地址。

非易失性存储器300根据读命令读取读数据RD',并且接着将这样读 取的读数据RD'经由数据线208传输到存储器控制器200。

存储器控制器200的误差检测单元230使用奇偶校验检测在各个读数 据RD'中是否存在误差。这里,假设在第二读数据RD'的传输中发生传输 误差。在该情况下,存储器控制器200的误差校正单元240执行误差的校 正处理。

当检测误差时,存储器控制器200终端伴随数据传输的新命令的发 出。然而,如果在该阶段已经发出了第三读命令,则在校正处理期间传输 第三读数据RD'。值得注意的是,为了阻抗的调整,只要可以中断数据的 传输,可以在任意时间中断新命令的发出。

存储器控制器200的阻抗调整命令发出单元250发出阻抗调整开始命 令,使得在第三读数据RD'的传输结束后开始阻抗的调整。

非易失性存储器300的阻抗调整单元310根据阻抗调整命令开始阻抗 的调整处理(ZQ调整处理)。由于如上所述并行执行校正处理和调整处理, 因此,调整处理的时间的至少一部分与校正处理的时间重叠。

存储器控制器200向非易失性存储器300传输读命令和地址,使得在 校正处理和调整处理都结束之后,开始下一读数据RD'的读取。

值得注意的是,虽然存储器控制器200在误差校正处理期间开始阻抗 的调整处理,但也可以采用其他构造。例如,存储器控制器200可以在误 差的校正处理之前开始阻抗的调整处理。

此外,虽然存储器控制器200具有在发出伴随有数据传输的命令之前 中断的阻抗调整命令,但是可以采用其他构造。例如,存储器控制器200 可以具有在读数据RD'从非易失性存储器300被输出之前中断的阻抗调整 命令。具体地,当在由读命令读取的读数据RD'中发生了误差时,存储器 控制器200丢弃接着该读命令的读命令,并且执行误差校正处理。然后, 在结束误差校正处理之后,存储器控制器200再次执行曾经丢弃的读命令, 并且在读取读数据RD'之前发出阻抗调整命令。

另外,存储器控制器200可以发出写命令,并具有在输出写数据之前 中断的阻抗调整命令。具体地,当在由读命令读取的读数据RD'中发生了 误差时,存储器控制器200丢弃接着该读命令的写命令,并且执行误差校 正处理。然后,在结束了误差校正处理时,存储器控制器200再次执行曾 经丢弃的写命令,并且在输出写数据之前发出阻抗调整命令。

另外,存储器控制器200可以在以一定间隔发出阻抗调整命令的控制 和在图12中示例的误差检测时发出阻抗调整命令的控制之间切换。例如, 当满足了预定条件时,存储器控制器200切换到图12中示例的控制。这 样,存在发生了不可校正的误差的情况和误差数量超过了阈值的情况。

另外,每当接收到特定数量的写命令时,控制器200可以读取读数据 RD',以检测是否存在误差并确认是否期望调整处理。

根据本技术的第一实施方式,由于存储器控制器200在发生误差时执 行校正处理,并且开始阻抗调整处理,因此调整处理的时间的至少一部分 可能与校正处理的时间重叠。该构造减少了不允许进行数据传输和接收的 调整时间,并且提高了存储器控制器200和非易失性存储器300之间的通 信速度。

(第一变形例)

根据第一实施方式,当检测误差时,必然执行调整处理。然而,当误 差相对较小时,可以不执行调整处理。第一变形例的存储器控制器200与 第一实施方式的存储器控制器的不同在于,当误差数量超过了阈值时执行 调整处理。

第一变形例的误差校正码生成单元220使用奇偶校验计算读数据RD' 中的误差数量。

当误差数量超过预定阈值Th1时,阻抗调整命令发出单元250发出 阻抗调整命令。这里,将小于能够通过奇偶校验校正的误差数量的数目 (即,误差校正能力)设置为阈值Th1。

图16是示出根据第一实施方式的第一变形例的存储器控制器200的 操作实例的流程图。变形例的操作与第一实施方式的操作的不同在于,存 储器控制器200进一步执行步骤S914、S915、和S916的处理。

当已经发生了误差时(步骤S912的是),存储器控制器200使用奇 偶校验获得误差的数量(步骤S914)。然后,存储器控制器200确定误差 的数量是否超过了阈值Th1(步骤S915)。

当误差的数量超过阈值Th1时(步骤S915中的是),存储器控制器 200并行执行调整处理(步骤S920)和校正处理(步骤S917)。另一方面, 当误差的数量小于或等于阈值Th1时(步骤S915中的否),存储器控制器 200仅执行校正处理(步骤S916)。在步骤S920和S917的处理都结束或 者步骤S916的处理结束时,存储器控制器200将读数据RD'传输到主计 算机100,以结束读取处理。

根据上述第一变形例,由于存储器控制器200在误差数量超过阈值时 执行调整处理,因此可以减少调整处理的次数。该构造减少了不允许进行 数据传输和接收的调整时间,并且增大了存储器控制器200和非易失性存 储器300之间的通信速度。

(第二变形例)

根据第一实施方式,每时钟周期的阻抗控制量都被设置为恒定值,但 是其可以在阻抗调整期间改变。第二变形例的非易失性存储器300与第一 实施方式的非易失性存储器不同在于,阻抗的控制量在阻抗调整期间改 变。具体地,在输入电源之后执行的调整处理中,存储器控制器200以相 对较大的控制量开始调整处理,然后逐渐减小控制量。例如,存储器控制 器200在比较结果COMP1或COMP2的每次反转时减小阻抗的控制量。 因此,减小了从调整处理开始到结束的时间。

图17是示出根据第一实施方式的第二变形例的在输入电源时的阻抗 控制方法的实例的图。在图17中,纵轴表示电压Vq2,并且横轴表示时 间。在时刻T0输入了电源之后,非易失性存储器300利用最大的每个时 钟周期的阻抗控制量开始调整处理。然后,当比较结果COMP2在时刻T11 反转时,非易失性存储器300减小控制量。当比较结果COMP2在后续的 时刻T12再次反转时,非易失性存储器300进一步减小控制量。当比较结 果COMP2在时刻T13再次反转时,非易失性存储器300减小控制量。结 果,控制量最小化。然后,当反转次数在时刻T14达到特定次数时,非易 失性存储器300确定调整已经结束。

值得注意的是,如图在第一实施方式中,当检测到误差时,在每个时 钟周期以特定控制量执行调整处理。

根据上述第二变形例,由于非易失性存储器300从最大值逐渐减小阻 抗的控制量,因此可以减小从调整处理的开始到结束的时间。

2.第二实施方式

(存储器控制器的构造实例)

根据第一实施方式,存储系统在误差检测时调整阻抗。然而,可以通 过接口调整除阻抗之外的传输特性。除了阻抗之外的传输特性的实例包括 数据的传输定时。这里,数据的传输定时是指从存储器控制器200和非易 失性存储器300中的一个到另一个的数据的传输定时,或者存储器控制器 200和非易失性存储器300中的另一个对传输数据的接收定时。第二实施 方式的存储系统与第一实施方式的存储系统不同在于,在误差检测时调整 数据的传输定时。例如,存储系统通过调整接收时钟信号的相位来调整数 据的传输定时。

图18是示出根据第二实施方式的存储器控制器200的构造实例的框 图。第二实施方式的存储器控制器200与第一实施方式的存储器控制器不 同在于,设置了相位调整单元280而不是阻抗调整命令发出单元250。

相位调整单元280调整控制接口260的传输时钟信号的相位。控制接 口260的传输时钟信号包括用于传输写数据的传输时钟信号和用于接收读 数据的接收时钟信号。例如,在这些信号中,相位调整单元280调整接收 时钟信号的相位。

相位调整单元280从误差检测单元230接收误差检测结果。当检测到 误差时,相位调整单元280调整接收时钟信号的相位。这里,如果有多个 数据线,则相位调整单元280可以为每条数据线调整接收时钟信号的相位。 另外,如果每条数据线属于多个组,则相位调整单元280可以为每个组调 整接收时钟信号的相位。使得从非易失性存储器300输出的与传输时钟信 号同步的读数据具有直到读数据被存储器控制器200接收的传输延迟。因 此,期望存储器控制器200的接收时钟信号相对于非易失性存储器300的 传输时钟信号延迟传输延迟。相位调整单元280基于传输延迟调整接收时 钟信号的相位。

值得注意的是,虽然存储器控制器200调整传输时钟信号的相位,但 是可以采用其他构造。可以由非易失性存储器300侧的接口而不是存储器 控制器200来调整传输时钟信号的相位。

(相位调整单元的构造实例)

图19是示出根据第二实施方式的相位调整单元280的构造实例的框 图。相位调整单元280包括:相位调整命令发出部281、测试数据生成部 282、相位控制部283、以及匹配确定部284。

相位调整命令发出部281发出相位调整命令PHCAL。相位调整命令 发出部281在对存储器控制器200输入电源时或者在误差检测时发出相位 调整命令PHCAL。例如,误差检测时的相位调整命令PHCAL的发出定 时与第一实施方式的阻抗调整命令的发出定时相同。相位调整命令发出部 281将发出的相位调整命令PHCAL提供到测试数据生成部282、相位控制 部283、以及控制接口260。

测试数据生成部282生成测试数据。测试数据表示用于执行环回 (lopback)测试的数据,并且例如使用PRBS(伪随机位序列)。环回测 试表示如下的测试:其中,向/从接口传输/返回已知数据(即,环回),并 且将传输的数据和返回的数据相互比较,以确认接口是否正常操作。

当接收相位调整命令PHCAL时,测试数据生成部282与内部时钟信 号CLK同步地生成测试数据N次。N表示执行环回测试的次数,并且设 置成大于或等于二的整数。每次生成测试数据时,测试数据生成部282将 数据提供到控制接口260和匹配确定部284作为传输测试数据TxData。

匹配确定部284确定传输的测试数据和返回的测试数据是否彼此匹 配。匹配确定部284从测试数据生成部282接收传输测试数据TxData,并 且从控制接口260接收接收测试数据RxData。接收测试数据RxData表示 返回的测试数据。

匹配确定部284将传输测试数据TxData和接收测试数据RxData以 位为单位相互比较,并且确定它们是否匹配。匹配确定部284将比较结果 提供到相位控制部283。由于测试数据生成了N次,因此生成了N个测试 结果。

相位控制部283基于确定结果控制接收时钟信号的相位。当接收相位 调整命令PHCAL时,相位控制部283开始相位的调整处理。在相位的调 整处理中,通过用于控制相位的相位控制信号使得相位控制部283与内部 时钟信号CLK同步地将接收时钟信号的相位顺序地控制到N个不同相位。 然后,相位控制部283参考每个相位中的确定结果,并且选择其中传输测 试数据Tx Data和接收测试数据RxData彼此匹配的任意相位。如果存在 多个其中传输测试数据Tx Data和接收测试数据RxData彼此匹配的相位, 例如,则相位控制部283从这些相位中选择中间相位。相位控制部283将 接收时钟信号的相位固定到所选择的相位,并且结束相位的调整处理。

(控制接口的构造实例)

图20是示出根据第二实施方式的控制接口260的构造实例的框图。 第二实施方式的控制接口260与第一实施方式的控制接口不同在于,进一 步设置了多相时钟生成电路270。

多相时钟生成电路270生成具有不同相位的多个时钟信号。多相时钟 生成电路270例如通过PLL(锁相环)、多路复用器等生成具有不同相位 的N个时钟信号。这些时钟信号表示如下的信号:其具有比内部时钟信号 CLK更大的频率,并且例如通过内部时钟信号CLK的复用(multiplication) 生成。

多相时钟生成电路270根据相位控制信号通过多路复用器等选择N 个时钟信号中的任一个作为接收时钟信号RxCLK,然后将所选择的时钟 信号传输到并行/串行转换单元265。另外,多相时钟生成电路270生成预 定相位的传输时钟信号TxCLK,并且将生成的传输时钟信号传输到非易 失性存储器300作为待参考的基准时钟信号,同时将其提供到并行/串行转 换单元264。在被传输到非易失性存储器300时,基准时钟信号和写数据 被延迟相同的程度。由于非易失性存储器300与延迟的基准时钟信号同步 地传输读数据,因此除了基准时钟信号的传输延迟,在接收读数据时,还 引起了读数据的传输延迟。相位控制部283通过控制接收时钟信号RxCLK 来调整这种延迟。值得注意的是,虽然传输了传输时钟信号作为基准时钟 信号,但是可以从多相时钟生成电路270单独地提供传输时钟和基准时钟。 另外,可以单独调整传输时钟信号和基准时钟信号的相位。

值得注意的是,可以通过除PLL和多路复用器之外的构造来实施多 相时钟生成电路270。例如,多相时钟生成电路270可以通过位相混频器 来实施,相位混频器将具有多个不同相位的输入时钟信号混合在一起,以 生成具有与该多个相位不同的相位的输出时钟信号。

(非易失性存储器的构造实例)

图21是示出根据第二实施方式的非易失性存储器300的构造实例的 框图。除了没有设置阻抗调整单元310,第二实施方式的非易失性存储器 300的构造与第一实施方式的非易失性存储器300相同。

图22是示出根据第二实施方式的存储器接口400的构造实例的框图。 第二实施方式的存储器接口400与第一实施方式的存储器接口不同在于, 设置了缓冲电路460,而不是原始缓冲电路410和副本缓冲电路432。

缓冲电路460包括接收器461和驱动器462。接收器461和驱动器462 的构造与第一实施方式的存储器控制器200侧的驱动器268和接收器269 的构造相同。

并行/串行转换单元453与基准时钟信号(传输时钟信号TxCLK)同 步地将串行数据转换成写数据WD'。并行/串行转换单元454与基准时钟 信号(传输时钟信号TxCLK)同步地将从读数据RD'转换的串行数据顺序 传输。

定序器455利用输入/输出控制信号IOCtrl控制缓冲电路460,以使 得在命令表示相位调整命令PHCAL时,传输的测试数据被直接返回,而 不被写入。

值得注意的是,虽然非易失性存储器300根据相位调整命令PHCAL 来执行环回,但是可以采用其他构造。例如,可以采用如下构造,其中, 存储器控制器200发出具有相位调整命令的环回命令,并且非易失性存储 器300根据环回命令执行环回。

(存储器控制器的操作实例)

图23是示出根据第二实施方式的存储器控制器200的操作实例的流 程图。第二实施方式的存储器控制器200与第一实施方式的存储器控制器 200的不同在于,执行步骤S906和S908的处理来,而不是执行步骤S901 和S902的处理。

当输入电源时,存储器控制器200发出相位调整命令PHCAL(步骤 S906)。然后,存储器控制器200调整接收时钟信号的相位(步骤S908)。 在步骤S908的处理之后,存储器控制器200执行步骤S903至S905的处 理。

图24是示出根据第二实施方式的调整处理的实例的流程图。存储器 控制器200确定现在是否是发出相位调整命令的时间(步骤S921)。例如, 该时间在结束了所有读数据的传输时使得开始相位的调整。在没有经过该 时间时(步骤S921中的否),则存储器控制器200返回到步骤S921。

另一方面,当现在是发出相位调整命令的时间时(步骤S921中的是), 则存储器控制器200发出相位调整命令(步骤S924)。然后,存储器控制 器200执行接收时钟的相位的调整处理(步骤S926)。在步骤S926的处 理之后,存储器控制器200结束调整处理。

(非易失性存储器的操作实例)

图25是示出根据第二实施方式的非易失性存储器300的操作实例的 流程图。第二实施方式的非易失性存储器300的操作与第一实施方式的非 易失性存储器300的不同在于,执行步骤S955和S956的处理,而不是执 行步骤S952和S953的处理。

当已经接收到命令时(步骤S951中的是),非易失性存储器300确 定该命令是否表示相位调整命令(步骤S955)。在该命令表示相位调整命 令时(步骤S955中的是),非易失性存储器300执行测试数据的环回(步 骤S956)。

在该命令不表示相位调整命令时(步骤S955中的否),非易失性存 储器执行步骤S954的处理。在步骤S954或步骤S956的处理之后,非易 失性存储器300返回到步骤S951。

图26是示出根据第二实施方式的存储系统的操作实例的时序图。

存储器控制器200的相位调整命令发出单元281发出相位调整开始命 令,使得在结束了第三读数据RD'的传输之后开始相位的调整处理。

存储器控制器200的相位控制单元283根据相位调整命令开始接收时 钟信号的相位的调整处理。

如上所述,根据第二实施方式,由于存储器控制器200在发生误差时 执行校正处理并且开始相位调整处理,因此校正处理的时间与调整处理的 至少一部分时间可能重叠。该构造减小了其中不允许进行数据传输和接收 的调整时间,并且增大了存储器控制器200和非易失性存储器300之间的 通信速度。

(第一变形例)

根据第二实施方式,存储器控制器200仅调整读数据的接收时钟的相 位。然而,存储器控制器200可以进一步调整写数据的传输时钟信号的相 位。第二实施方式的第一变形例的存储器控制器200与第二实施方式的存 储器控制器的不同在于,进一步调整了写数据的传输时钟信号的相位。

第一变形例的相位控制单元283利用相位控制信号控制传输时钟信 号的相位,然后用相位控制信号控制接收时钟信号的相位。值得注意是, 尽管相位控制单元283在控制传输时钟信号的相位之后控制接收时钟信号 的相位,其可以在控制接收时钟信号的相位之后控制传输时钟信号的相 位。此外,如果有多条数据线,则相位控制单元283可以单独地相位控制 每条数据线的传输时钟。例如,可以调整多个数据的传输定时,以与基准 时钟到达存储器接口400的定时同步。

第一变形例的多相时钟生成电路与第二实施方式的多相时钟生成电 路的不同在于,在根据相位控制信号生成接收时钟信号RxCLK的同时, 根据相位控制信号进一步生成传输时钟信号TxCLK。

(存储器控制器的操作实例)

图27是示出根据第二实施方式的第一变形例的存储器控制器200的 操作实例的流程图。第一变形例的存储器控制器200的操作与第一实施方 式的存储器控制器200的不同在于,进一步执行步骤S907的处理。

在发出相位调整命令之后(步骤S906),存储器控制器200调整传输 时钟信号的相位(步骤S907)。然后,存储器控制器200调整接收时钟信 号的相位(步骤S908)。在步骤S908的处理之后,存储器控制器200执 行步骤S903至S905的处理。

图28是示出根据第二实施方式的第一变形例的调整处理的实例的流 程图。第一变形例的调整处理与第二实施方式的调整处理的不同在于,进 一步执行步骤S925的处理。

在发出相位调整命令之后(步骤S924),存储器控制器200执行传输 时钟的相位的调整处理(步骤S925)。然后,存储器控制器200执行接收 时钟的相位的调整处理(步骤S926)。在步骤S926的处理之后,存储器 控制器200结束调整处理。

如上所述,根据第一变形例,由于存储器控制器200不仅调整接收时 钟信号的相位还调整传输时钟信号的相位,因此相比于仅调整接收时钟信 号的相位的处理的情况,可以更灵活地执行调整处理。

(第二变形例)

根据第二实施方式,只有存储器控制器200执行相位的调整处理。然 而,非易失性存储器300也可以执行相位的调整处理。第二变形例的存储 系统与第二实施方式的存储系统的不同在于,存储器控制器200和非易失 性存储器300都执行相位的调整处理。

(非易失性存储器的构造实例)

图29是示出根据第二变形例的非易失性存储器300的构造实例的框 图。第二变形例的非易失性存储器300的构造与第一实施方式的非易失性 存储器300的构造的不同在于,设置了相位调整单元315,而不是设置阻 抗调整单元310。相位调整单元315的构造与存储器控制器200侧的相位 调整单元280相同。另外,第二变形例的存储器接口400与第一实施方式 的存储器接口的不同在于,进一步设置了与存储器控制器200侧的多相时 钟生成电路270相同的电路。

这里,虽然在附图中未示出,但是在非易失性存储器300侧可以进一 步期望设置时钟和数据恢复电路,以分离和再生相互重叠的时钟和数据。 相对于再生数据或时钟来执行非易失性存储器300侧的定时调整。如上所 述,在不偏离本技术的精神的情况下,可以进行修改。

如上所述,根据第二变形例,由于不仅存储器控制器200而且非易失 性存储器300也执行相位的调整处理,相比于其中只有存储器控制器200 执行相位的调整处理的情况,在很大程度上可以减小传输误差。

(第三变形例)

根据第二实施方式,存储系统调整经由数据线传输和接收的数据的传 输时钟的相位。然而,存储系统可以调整其他信号的相位。例如,存储系 统可以调整诸如选通信号等控制信号的相位。这里,选通信号表示用于控 制接收器接收数据的定时的信号。第三变形例的存储系统与第二实施方式 的存储系统的不同在于,调整了选通信号的相位。

图30是示出根据第三变形例的控制接口260的构造实例的框图。第 三变形例的控制接口260与第二实施方式的控制接口的不同在于,进一步 设置了选通信号传输/接收电路271、并行/串行转换单元272和273、以及 缓冲电路274。

选通信号传输/接收电路271传输/接收选通信号。选通信号传输/接收 电路271生成由相位控制信号指定的相位的选通信号。另外,选通信号传 输/接收电路271在将数据传输到非易失性存储器300时生成选通信号,然 后将所生成的选通信号经由并行/串行转换单元272和缓冲电路274传输到 易失性存储器300。另一方面,在从非易失性存储器300接收数据时,选 通信号传输/接收电路271经由并行/串行转换单元273和缓冲电路274接 收来自非易失性存储器300的选通信号。通过选通信号来控制来自非易失 性存储器300的数据(诸如读数据)的传输定时。

并行/串行转换单元272与传输时钟信号TxCLK(基准时钟信号)同 步地将从存储器控制器200传输的选通信号转换成串行信号,并且将转换 的串行信号提供到缓冲电路274。并行/串行转换单元273与接收时钟信号 RxCLK同步地将来自非易失性存储器300的串行信号转换成选通信号, 并且将转换的选通信号提供到选通信号传输/接收电路271。缓冲电路274 包括驱动器275和接收器276。驱动器275和接收器276的构造与驱动器 268和接收器269的构造相同。

选通信号传输/接收电路271等的设置简化了读取时间时的硬定时条 件等,并且便于存储系统中的基板或LSI(大规模集成电路)的设计。值 得注意的是,不仅仅存储器控制器200,而且非易失性存储器300也可以 调整选通信号的相位。另外,选通信号先206进一步连接至并行/串行转换 单元和缓冲电路。此外,存储系统可以调整除选通信号之外的控制信号的 相位。

另外,虽然存储系统调整传输时钟信号和接收时钟信号的相位以调整 数据的传输定时和控制信号的相位,但是可以采用其他构造。例如,存储 系统可以包括延迟电路,该延迟电路具有插入信号线中以延迟数据和控制 信号的缓冲器等。在该情况下,存储器控制器200或非易失性电路300通 过控制延迟电路相对于基准时钟信号来调整数据的传输定时和控制信号 的相位。

如上所述,根据第三变形例,由于存储器控制器200调整选通信号的 相位,在利用选通信号控制数据的传输和接收的存储系统中可能会减少传 输误差。

3.第三实施方式

(存储器控制器的操作实例)

根据第一实施方式,存储系统在误差检测时调整阻抗。然而,存储系 统不仅可以调整阻抗,而且可以调整接口的传输时钟的相位。第三实施方 式的存储系统与第一实施方式的存储系统的不同在于,在误差检测时调整 阻抗和传输时钟的相位。

第三实施方式的存储器控制器200与第一实施方式的存储器控制器 的不同在于,进一步设置了第二实施方式的相位调整单元280。

在发出阻抗调整命令之后,第三实施方式的相位调整单元280发出相 位调整命令,使得在阻抗的调整处理结束之后开始相位的调整处理。具体 地,当从发出最后的读命令开始已经经过了时间TR–TS+TM+TZ时,相 位调整单元280发出相位调整命令。

另外,第三实施方式的控制接口260的构造与第二实施方式的控制接 口260的构造相同。

(存储器控制器的操作实例)

图31是示出根据第三实施方式的存储器控制器200的操作实例的流 程图。除了在步骤S902的处理之后进一步执行第二实施方式的步骤S906 和S908的处理之外,第三实施方式的存储器控制器200的操作与第一实 施方式的存储器控制器200的操作相同。

图32是示出根据第三实施方式的调整处理的实例的流程图。除了在 步骤S923的处理之后进一步执行第二实施方式的步骤S924和S926的处 理之外,第三实施方式的调整处理与第一实施方式的调整处理相同。

(非易失性存储器的操作实例)

图33是示出根据第三实施方式的非易失性存储器300的操作实例的 流程图。当命令不表示阻抗调整命令(步骤S952中的否)时或者在步骤 S953的处理之后,第三实施方式的非易失性存储器300进一步执行步骤 S955、S956、以及S954的处理。

如上所述,根据本技术的第三实施方式,由于存储器控制器200在发 生误差时执行校正处理,并且开始相位和阻抗的调整处理,因此,调整处 理的至少一部分时间可能与校正处理的时间重叠。该构造减小了其中不允 许进行数据传输和接收的调整时间,并且提高了存储器控制器200和非易 失性存储器300之间的通信速度。

4.第四实施方式

根据第一实施方式,存储器控制器200将校正的读数据传输到主计算 机100。然而,通过执行刷新处理,可以提高重写数据的可靠性,在该刷 新处理中,校正的读数据被重写到数据已经在其被读取的读地址。根据第 四实施方式的存储器控制器200与第一实施方式的存储器控制器的不同在 于,进一步执行了刷新处理。

(存储器控制器的构造实例)

图34是示出根据第四实施方式的存储器控制器200的构造实例的框 图。第四实施方式的存储器控制器200与第一实施方式的存储器控制器 200的不同在于,进一步设置了刷新处理单元290。

刷新处理单元290执行刷新处理。刷新处理单元290保持每个发出的 读命令RCMD。然后,刷新处理单元290从误差校正单元240接收校正的 读数据RD。基于保持的读命令RCMD,刷新处理单元290再发出指定了 读数据RD已经在其被读取的地址的写命令WCMD。然后,刷新处理单 元290将用作写数据WD的校正读数据RD与写命令WCMD一起提供到 控制接口260。通过公式1等计算写命令WCMD的再发出定时。因此, 校正的读数据RD重写入到数据已经在其被读取的地址。

(存储器控制器的操作实例)

图35是示出根据第四实施方式的读取处理的实例的流程图。根据第 四实施方式的读取处理与第一实施方式的读取处理的不同在于,进一步执 行步骤S934的处理。当调整处理(步骤S920)和校正处理(步骤S917) 都结束时,存储器控制器200执行校正数据的重写处理(步骤S934)。当 没有发生误差时(步骤S912中的否)或者在步骤S934的处理之后,存储 器控制器200将读数据传输到主系统来结束读取处理。

图36是示出根据第四实施方式的存储系统的操作实例的时序图。

存储器控制器200的刷新处理单元290再发出写命令WCMD,使得 在校正处理和调整处理结束后开始刷新处理。校正的读数据RD作为写数 据WD经由数据线208被提供到非易失性存储器300并且被重写入到数据 已经在其被读取的地址。

如上所述,根据第四实施方式,由于存储器控制器200将校正的读数 据重写到数据已经在其被读取的地址,因此可以提高数据的可靠性。

5.第五实施方式

根据第四实施方式,假设不会发生可能不能通过奇偶校验校正的程度 的误差。然而,有发生这样一些误差的可能性。在该情况下,利用其中再 次读取不可校正的读数据的重试处理的执行,可以减小误差的数量。第五 实施方式的存储器控制器200与第四实施方式的存储器控制器200的不同 在于,进一步执行了重试处理。

(存储器控制器的构造实例)

图37是示出根据第五实施方式的存储器控制器200的构造实例的框 图。第五实施方式的存储器控制器200与第四实施方式的存储器控制器 200的区别在于,进一步设置了重试处理单元291。

重试处理单元291执行重试处理。重试处理单元291保持每个发出的 读命令RCMD。重试处理单元291从误差检测单元230接收在读数据中检 测的误差的数量。重试处理单元291确定误差的数量是否落在ECC误差 校正能力以下。

这里,通过ECC码的最小汉明(Hamming)距离dmin来确定误差校 正能力。码的最小汉明距离dmin表示与码相关的可选不同码之间的汉明 距离的最小值。当满足2t+1≤dmin的最大值t(这里,t是整数)是tmax 时,可以在最高通过奇偶校验校正tmax码元素。该规则称为有界距离解 码规则。

当误差的数量超过了误差校正能力tmax时,重试处理单元291将保 持的读命令RCMD中的与已经从其检测到误差的读数据RD相对应的命 令提供到控制接口260。每当在发生了不可校正数量的误差时,重复执行 重试处理,直到重试次数达到预定次数。

值得注意的是,重试处理单元291可以将在重试处理中执行的命令通 知主计算机100。主计算机100将通知的命令处理为可能引起问题的命令, 并且执行诸如运行处理的中断的预定处理。

另外,当误差的数量处理超过误差校正能力tmax时,第五实施方式 的误差校正单元240不执行误差校正处理。另一方面,阻抗调整命令发出 单元250在误差检测时发出阻抗调整命令,而不考虑误差数量。

另外,第五实施方式的刷新处理单元290进一步从误差校正单元240 接收校正的数量作为校正误差的数量。当校正的数量超过阈值Th2时,刷 新处理单元290执行刷新处理。这里,将不满ECC的误差校正能力的值 设置为阈值Th2。

(存储器控制器的操作实例)

图38是示出根据第五实施方式的读取处理的实例的流程图。第五实 施方式的读取处理与第四实施方式的读取处理的不同在于,进一步执行了 步骤S914、S931、S932、S933、S934、S935、和S940的处理。

当已经发生了误差时(步骤S912中的是),存储器控制器200获取 误差的数量(步骤S914),然后确定误差是否能够被校正(步骤S931)。

当误差能够被校正时(步骤S931的是),存储器控制器200并行地 执行调整处理(步骤S920)和校正处理(步骤S917)。

另一方面,当误差不能够被校正时(步骤S931的否),存储器控制 器200确定重试次数是否小于特定次数(步骤S932)。当重试次数小于特 定次数时,存储器控制器200执行重试处理(步骤S940)。当重试次数大 于或等于特定次数时(步骤S932的否),存储器控制器200生成指示读误 差的状态,并且将所生成的状态传输到主计算机100。该状态包括:指示 该读误差不能通过ECC被校正的信息、已经发生了误差的命令的类型、 与命令相关的地址等。地址表示当存储器控制器200在逻辑地址和物理地 址之间执行转换时的逻辑地址。否则,该地址表示物理地址。在步骤S935 的处理之后,存储器控制器200结束读取处理。

另外,在执行了调整处理(步骤S920)和校正处理(步骤S917)之 后,存储器控制器200确定校正的数量是否超过阈值Th2(步骤S933)。 当校正的数量超过了阈值Th2时(步骤S933的是),存储器控制器200重 写校正的数据(步骤S934)。

当没有发生误差时(步骤S912的否),当校正的数量小于或等于阈 值Th2时(步骤S933的否),或者在步骤S934的处理之后,存储器控制 器200将读数据传输到主计算机100以结束读取处理。

图39是示出根据第五实施方式的重试处理的实例的流程图。存储器 控制器200确定现在是否是发出阻抗调整命令的时间(步骤S941)。当未 经过该时间时(步骤S941的否),存储器控制器200返回到步骤S941。

另一方面,当现在是发出阻抗调整命令的时间时(步骤S941的是), 存储器控制器200发出阻抗调整命令(步骤S942)。然后,存储器控制器 200确定是否已经经过了特定周期(步骤S943)。当还没有经过特定周期 时(步骤S943的否),存储器控制器200返回到步骤S943(步骤S943的 否)。当已经过了特定周期时(步骤S943的是),存储器控制器200再发 出读命令(步骤S946)。在步骤S946的处理之后,存储器控制器200结 束重试处理。

如上所述,根据本技术的第五实施方式,由于当误差不能被校正时, 存储器控制器200再次调整阻抗并读取读数据,因此可以增大读取正常读 数据的可能性。

(第一变形例)

根据第五实施方式,存储系统在误差检测时调整阻抗。然后,存储系 统可以调整接口的传输时钟的相位。第一变形例的存储系统与第五实施方 式的存储系统的不同在于,在误差检测时调整传输时钟的相位。

第一变形例的存储器控制器200的操作与图38中示例出的第五实施 方式的存储器控制器200的操作相同。另外,第一变形例的调整处理与第 二实施方式的调整处理相同。

(存储器控制器的操作实例)

图40是示出根据第五实施方式的第一变形例的重试处理的实例的流 程图。第一变形例的重试处理与第五实施方式的重试处理的不同在于,执 行步骤S944和S945的处理,而不是执行步骤S942和S943的处理。

当现在是发出相位调整命令的时间时(步骤S941的是),存储器控 制器200发出相位调整命令(步骤S944)。然后,存储器控制器200执行 接收时钟信号的相位的调整处理(步骤S945),并且执行步骤S946的处 理。

如上所述,根据第一变形例,由于存储器控制器200在误差不能被校 正时再次调整相位并读取读数据,因此增大了读取正常读数据的可能性。

(第二变形例)

根据第五实施方式,存储系统在误差检测时仅调整阻抗。然而,存储 系统可以调整阻抗和相位。第二变形例的存储系统与第五实施方式的存储 系统的不同在于,在误差检测时调整阻抗和相位。

第二变形例的存储器控制器200的操作与图38中示例出的第五实施 方式的存储器控制器200的操作相同。另外,第二变形例的调整处理与第 三实施方式的调整处理相同。

(存储器控制器的操作实例)

图41是示出根据第五实施方式的第二变形例的重试处理的实例的流 程图。第二变形例的重试处理与第五实施方式的重试处理的不同在于,在 步骤S943的处理之后,进一步执行了第一变形例的步骤S944和S945的 处理。

如上所述,根据第二变形例,由于存储器控制器200在误差不能被校 正时再次调整相位和阻抗并读取读数据,因此可以增大读取正常数据的可 能性。

值得注意的是,以上实施方式被示例为体现本技术,并且实施方式中 的主题和在权利要求中指定本发明的主题彼此对应。类似地,在权利要求 中指定本发明的主题和在本技术的实施方式中由相同名称标识的主题彼 此对应。然而,本技术不限于这些实施方式,并且可以在不偏离本技术的 精神的情况下对实施方式进行各种修改时实现。

另外,在以上实施方式中描述的处理过程可以被视为具有一系列过程 的方法、引起计算机执行者一系列过程的程序、或者在上面记录程序的记 录介质。作为这种记录介质,可以使用CD(光盘)、MD(迷你盘)、DVD (数字光盘)、存储卡、蓝光光盘(TM)。

值得注意的是,本技术还可以采用如下构造。

(1)一种接口控制电路,包括:

误差检测单元,被配置为检测在经由接口传输的误差校正编码数据中 是否发生了误差;

误差校正单元,被配置为在发生误差时执行校正误差的误差校正处 理;以及

调整控制单元,被配置为在发生误差时开始调整接口的传输特性的调 整处理。

(2)根据(1)所述的接口控制电路,其中

调整控制单元被配置为在执行误差校正处理期间开始调整处理。

(3)根据(1)或(2)所述的接口控制电路,其中

接口包括

传输电路,被配置为传输误差校正编码数据;以及

接收电路,被配置为接收误差校正编码数据;以及

调整控制单元被配置为开始匹配传输电路和接收电路的阻抗的处理 作为调整处理。

(4)根据(1)至(3)中任一项所述的接口控制电路,其中

调整控制单元被配置为开始调整数据的传输定时的处理作为调整处 理。

(5)根据(4)所述的接口控制电路,进一步包括:

调整单元,被配置为根据调整控制单元的控制执行调整处理。

(6)根据(4)或(5)所述的接口控制电路,其中

调整处理是基于基准时钟信号调整传输定时的处理。

(7)根据(4)至(6)中任一项所述的接口控制电路,进一步包括 延迟电路,被配置为根据调整控制单元的控制延迟传输定时,其中 调整处理是控制延迟电路以调整传输定时的处理。

(8)根据(4)至(7)中任一项所述的接口控制电路,其中

调整处理是基于基准时钟信号调整用于控制传输定时的控制信号的 相位以调整传输定时的处理。

(9)根据(4)至(8)中任一项所述的接口控制电路,进一步包括:

延迟电路,被配置为根据调整控制单元的控制延迟用于控制传输定时 的控制信号的相位,其中

调整处理是控制延迟电路以调整控制信号的相位的处理。

(10)根据(4)至(9)中任一项所述的接口控制电路,其中,

接口包括

传输电路,被配置为与传输时钟信号同步地传输误差校正编码 数据,以及

接收电路,被配置为与接收时钟信号同步地接收误差校正编码 数据;以及

调整处理是调整传输时钟信号和接收时钟信号中的至少一个的相位 以调整传输定时的处理。

(11)根据(10)所述的接口控制电路,其中

调整处理是基于传输时钟信号和接收时钟信号中的一个调整传输时 钟信号和接收时钟信号中的另一个的相位以调整传输定时的处理。

(12)根据(9)或(11)所述的接口控制电路,其中

数据包括从存储单元读取的读数据,

传输时钟信号包括用于传输读数据的读数据传输时钟信号,

接收时钟信号包括用于接收读数据的读数据接收时钟信号,以及

调整处理包括调整读数据传输时钟信号和读数据接收时钟信号中的 至少一个的相位的处理。

(13)根据(10)至(12)中任一项所述的接口控制电路,其中

数据包括将被写入存储单元的写数据,

传输时钟信号包括用于传输写数据的写数据传输时钟信号,

接收时钟信号包括用于接收写数据的写数据接收时钟信号,以及

调整处理包括用于调整写数据传输时钟信号和写数据接收时钟信号 中的至少一个的相位的处理。

(14)根据(10)或(11)所述的接口控制电路,其中

调整处理是基于误差校正编码数据的传输定时调整相位的处理。

(15)根据(14)所述的接口控制电路,其中

调整控制单元包括:

测试数据生成部,被配置为生成预定测试数据,以及

相位控制部,被配置为开始如下处理作为调整处理:向接口传 输测试数据和从接口返回测试数据,并且基于传输的测试数据和返回 的测试数据是否彼此匹配调整相位。

(16)根据(1)至(15)中任一项所述的接口控制电路,其中

接口包括用于传输数据的多个数据线。

(17)根据(16)所述的接口控制电路,其中

调整处理是调整数据线中的每个的传输特性的处理。

(18)根据(16)或(17)所述的接口控制电路,其中

数据线中的各属于多个组中的任一个,以及

调整处理是调整组中的每个组的传输特性的处理。

(19)根据(1)至(18)中任一项所述的接口控制电路,其中

调整控制单元被配置为在数据中发生了超过预定阈值的误差时开始 调整处理。

(20)根据(1)至(19)中任一项所述的接口控制电路,进一步包 括

刷新处理单元,被配置为执行将校正了误差的数据重写到数据在其被 读取的地址的刷新处理。

(21)根据(20)所述的接口控制电路,其中

刷新处理单元被配置为当校正误差的数量大于不满误差校正码的误 差校正能力的预定容许值时执行刷新处理。

(22)根据(1)至(21)中任一项所述的接口控制电路,进一步包 括:

重试处理单元,被配置为在数据中发生了超过误差校正码的误差校正 能力的误差时,在传输特性调整之后再次执行读取数据和误差校正码的重 试处理。

(23)根据(22)所述的接口控制电路,其中

重试处理单元被配置为发出预定命令,以在通知主计算机预定命令的 同时,再次读取数据和误差校正码。

(24)根据(22)或(23)所述的接口控制电路,其中

重试处理单元被配置为在通知主计算机读取数据的地址的同时,再次 读取数据和误差校正码。

(25)根据(22)至(24)中任一项所述的接口控制电路,其中

重试处理单元被配置为在通知主计算机发生了误差的同时,再次读取 数据和误差校正码。

(26)根据(1)至(25)中任一项所述的接口控制电路,其中

调整控制单元被配置为在将电源供给至接口控制电路时或者发生误 差时,开始调整处理。

(27)根据(1)至(26)中任一项所述的接口控制电路,其中

数据是从非易失性存储单元读取的数据。

(28)一种存储系统,包括:

接口,被配置为传输误差校正编码数据;

误差检测单元,被配置为检测数据中是否发生了误差;

误差校正单元,被配置为在发生误差时执行校正误差的误差校正处 理;以及

调整控制单元,被配置为在发生误差时开始调整接口的传输特性的调 整处理。

(29)一种接口控制电路的控制方法,包括:

由误差检测单元检测在经由接口传输的误差校正编码数据中是否发 生了误差;

由误差校正单元在发生误差时执行校正误差的误差校正处理;以及

由调整控制单元在发生误差时开始调整所述接口的传输特性的调整 处理。

本领域普通技术人员应当理解,在所附权利要求及其等同物的范围 内,根据设计需求和其他因素,可以进行各种变形、组合、子组合、以及 修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号