CN104239243A - 接口控制电路、存储系统和控制接口控制电路的方法 - Google Patents

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

Info

Publication number
CN104239243A
CN104239243A CN201410246991.1A CN201410246991A CN104239243A CN 104239243 A CN104239243 A CN 104239243A CN 201410246991 A CN201410246991 A CN 201410246991A CN 104239243 A CN104239243 A CN 104239243A
Authority
CN
China
Prior art keywords
data
adjustment
error
interface
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410246991.1A
Other languages
English (en)
Other versions
CN104239243B (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN104239243A publication Critical patent/CN104239243A/zh
Application granted granted Critical
Publication of CN104239243B publication Critical patent/CN104239243B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel

Abstract

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

Description

接口控制电路、存储系统和控制接口控制电路的方法
相关申请的交叉引用
本申请要求于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 SpecificationJESD79-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)一种接口控制电路的控制方法,包括:
由误差检测单元检测在经由接口传输的误差校正编码数据中是否发生了误差;
由误差校正单元在发生误差时执行校正误差的误差校正处理;以及
由调整控制单元在发生误差时开始调整所述接口的传输特性的调整处理。
本领域普通技术人员应当理解,在所附权利要求及其等同物的范围内,根据设计需求和其他因素,可以进行各种变形、组合、子组合、以及修改。

Claims (30)

1.一种接口控制电路,包括:
误差检测单元,被配置为检测误差是否发生在经由接口传输的误差校正编码数据中;
误差校正单元,被配置为在所述误差发生时执行校正所述误差的误差校正处理;以及
调整控制单元,被配置为在所述误差发生时开始调整所述接口的传输特性的调整处理。
2.根据权利要求1所述的接口控制电路,其中
所述调整控制单元被配置为在执行所述误差校正处理期间开始所述调整处理。
3.根据权利要求1所述的接口控制电路,其中
所述接口包括:
传输电路,被配置为传输所述误差校正编码数据;以及
接收电路,被配置为接收所述误差校正编码数据;以及
所述调整控制单元被配置为开始匹配所述传输电路和所述接收电路的阻抗的处理作为所述调整处理。
4.根据权利要求1所述的接口控制电路,其中
所述调整控制单元被配置为开始调整所述数据的传输定时的处理作为所述调整处理。
5.根据权利要求4所述的接口控制电路,进一步包括:
调整单元,被配置为根据所述调整控制单元的控制执行所述调整处理。
6.根据权利要求4所述的接口控制电路,其中
所述调整处理是基于基准时钟信号调整所述传输定时的处理。
7.根据权利要求4所述的接口控制电路,进一步包括:
延迟电路,被配置为根据所述调整控制单元的控制延迟所述传输定时,其中
所述调整处理是控制所述延迟电路以调整所述传输定时的处理。
8.根据权利要求4所述的接口控制电路,其中
所述调整处理是基于基准时钟信号调整用于控制所述传输定时的控制信号的相位以调整所述传输定时的处理。
9.根据权利要求4所述的接口控制电路,进一步包括:
延迟电路,被配置为根据所述调整控制单元的控制延迟用于控制所述传输定时的控制信号的相位,其中
所述调整处理是控制所述延迟电路以调整所述控制信号的所述相位的处理。
10.根据权利要求4所述的接口控制电路,其中
所述接口包括:
传输电路,被配置为与传输时钟信号同步地传输所述误差校正编码数据,以及
接收电路,被配置为与接收时钟信号同步地接收所述误差校正编码数据;以及
所述调整处理是调整所述传输时钟信号和所述接收时钟信号中的至少一个的相位以调整所述传输定时的处理。
11.根据权利要求10所述的接口控制电路,其中
所述调整处理是基于所述传输时钟信号和所述接收时钟信号中的一个调整所述传输时钟信号和所述接收时钟信号中的另一个的相位以调整所述传输定时的处理。
12.根据权利要求10所述的接口控制电路,其中
所述数据包括从存储单元读取的读数据,
所述传输时钟信号包括用于传输所述读数据的读数据传输时钟信号,
所述接收时钟信号包括用于接收所述读数据的读数据接收时钟信号,以及
所述调整处理包括调整所述读数据传输时钟信号和所述读数据接收时钟信号中的至少一个的相位的处理。
13.根据权利要求10所述的接口控制电路,其中
所述数据包括将被写入存储单元的写数据,
所述传输时钟信号包括用于传输所述写数据的写数据传输时钟信号,
所述接收时钟信号包括用于接收所述写数据的写数据接收时钟信号,以及
所述调整处理包括调整所述写数据传输时钟信号和所述写数据接收时钟信号中的至少一个的相位的处理。
14.根据权利要求10所述的接口控制电路,其中
所述调整处理是基于所述误差校正编码数据的所述传输定时调整所述相位的处理。
15.根据权利要求14所述的接口控制电路,其中
所述调整控制单元包括:
测试数据生成部,被配置为生成预定测试数据,以及
相位控制部,被配置为开始向所述接口传输所述测试数据和从所述接口返回所述测试数据并且基于所传输的所述测试数据和所返回的所述测试数据是否彼此匹配来调整所述相位作为所述调整处理。
16.根据权利要求1所述的接口控制电路,其中
所述接口包括用于传输所述数据的多个数据线。
17.根据权利要求16所述的接口控制电路,其中
所述调整处理是调整针对各所述数据线的所述传输特性的处理。
18.根据权利要求16所述的接口控制电路,其中
所述数据线各自属于多个组中的任一个,以及
所述调整处理是调整针对所述组中的每个组的所述传输特性的处理。
19.根据权利要求1所述的接口控制电路,其中
所述调整控制单元被配置为在所述数据中发生了超过预定阈值的所述误差时开始所述调整处理。
20.根据权利要求1所述的接口控制电路,进一步包括:
刷新处理单元,被配置为执行将所述误差被校正的数据重写到读取所述数据的地址的刷新处理。
21.根据权利要求20所述的接口控制电路,其中
所述刷新处理单元被配置为在所校正的所述误差的数量大于不满误差校正码的误差校正能力的预定容许值时执行所述刷新处理。
22.根据权利要求1所述的接口控制电路,进一步包括:
重试处理单元,被配置为在所述数据中发生了超过误差校正码的误差校正能力的所述误差时,在调整所述传输特性之后再次执行读取所述数据和所述误差校正码的重试处理。
23.根据权利要求22所述的接口控制电路,其中
所述重试处理单元被配置为发出预定命令以再次读取所述数据和所述误差校正码,同时将所述预定命令通知主计算机。
24.根据权利要求22所述的接口控制电路,其中
所述重试处理单元被配置为再次读取所述数据和所述误差校正码,同时将读取所述数据的地址通知主计算机。
25.根据权利要求22所述的接口控制电路,其中
所述重试处理单元被配置为再次读取所述数据和所述误差校正码,同时将所述误差的发生情况通知主计算机。
26.根据权利要求1所述的接口控制电路,其中
所述调整控制单元被配置为在电源被供给至所述接口控制电路或者所述误差发生时开始所述调整处理。
27.根据权利要求1所述的接口控制电路,其中
所述数据是从非易失性存储单元读取的数据。
28.根据权利要求1所述的接口控制电路,进一步包括:
误差校正码生成单元,被配置为计算所述数据中的所述误差的数量。
29.一种存储系统,包括:
接口,被配置为传输误差校正编码数据;
误差检测单元,被配置为检测误差是否发生在所述数据中;
误差校正单元,被配置为在所述误差发生时执行校正所述误差的误差校正处理;以及
调整控制单元,被配置为在所述误差发生时开始调整所述接口的传输特性的调整处理。
30.一种控制接口控制电路的方法,包括:
由误差检测单元检测误差是否发生在经由接口传输的误差校正编码数据中;
由误差校正单元在所述误差发生时执行校正所述误差的误差校正处理;以及
由调整控制单元在所述误差发生时开始调整所述接口的传输特性的调整处理。
CN201410246991.1A 2013-06-12 2014-06-05 接口控制电路、存储系统和控制接口控制电路的方法 Expired - Fee Related CN104239243B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-123321 2013-06-12
JP2013123321A JP2014241057A (ja) 2013-06-12 2013-06-12 インターフェース制御回路、メモリシステム、および、インターフェース制御回路の制御方法

Publications (2)

Publication Number Publication Date
CN104239243A true CN104239243A (zh) 2014-12-24
CN104239243B CN104239243B (zh) 2018-08-07

Family

ID=52020329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410246991.1A Expired - Fee Related CN104239243B (zh) 2013-06-12 2014-06-05 接口控制电路、存储系统和控制接口控制电路的方法

Country Status (3)

Country Link
US (1) US9792173B2 (zh)
JP (1) JP2014241057A (zh)
CN (1) CN104239243B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632552A (zh) * 2017-03-24 2018-10-09 佳能株式会社 记录装置、控制方法和存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146601B2 (en) * 2013-06-12 2018-12-04 Everspin Technologies, Inc. Methods and devices for healing reset errors in a magnetic memory
US20150067444A1 (en) * 2013-09-04 2015-03-05 Kabushiki Kaisha Toshiba Semiconductor storage device and memory system
US10317436B2 (en) 2015-06-06 2019-06-11 Apple Inc. Interface circuitry for bidirectional power connector
TWI590247B (zh) * 2015-08-27 2017-07-01 新唐科技股份有限公司 驅動電路
US9910482B2 (en) 2015-09-24 2018-03-06 Qualcomm Incorporated Memory interface with adjustable voltage and termination and methods of use
KR20170082066A (ko) * 2016-01-05 2017-07-13 에스케이하이닉스 주식회사 반도체시스템
US10101939B2 (en) * 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
JP6542148B2 (ja) * 2016-03-18 2019-07-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
KR20180023079A (ko) * 2016-08-23 2018-03-07 에스케이하이닉스 주식회사 반도체시스템
JP7069936B2 (ja) * 2018-03-27 2022-05-18 富士通株式会社 送受信システム、データ受信装置、およびデータ受信方法
US11281603B2 (en) 2018-08-03 2022-03-22 Kioxia Corporation Serial interface for semiconductor package
US10991413B2 (en) * 2019-07-03 2021-04-27 Micron Technology, Inc. Memory with programmable die refresh stagger
US11502813B2 (en) * 2020-04-09 2022-11-15 SK Hynix Inc. Clock generator circuit and integrated circuit including the same
US11675731B2 (en) * 2020-08-20 2023-06-13 Global Unichip Corporation Data protection system and method thereof for 3D semiconductor device
CN112835736B (zh) * 2021-01-22 2023-08-22 张立旭 一种通用型数据纠错方法及系统
KR102317788B1 (ko) 2021-05-14 2021-10-26 삼성전자주식회사 스토리지 장치 및 스토리지 컨트롤러의 동작 방법
CN113223434A (zh) * 2021-05-28 2021-08-06 上海天马微电子有限公司 发送模块、接收模块、接口调整方法、系统及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512201B2 (en) * 2005-06-14 2009-03-31 International Business Machines Corporation Multi-channel synchronization architecture
US20100005376A1 (en) * 2008-07-02 2010-01-07 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US20100100779A1 (en) * 2008-10-08 2010-04-22 Nec Electronics Corporation Data processing apparatus
US20100135100A1 (en) * 2007-05-29 2010-06-03 Rambus Inc. Adjusting Clock Error Across A Circuit Interface
US20110093753A1 (en) * 2009-10-20 2011-04-21 Renesas Electronics Corporation Phase calibration circuit, memory card control device, and phase calibration method
US20120042116A1 (en) * 2010-08-16 2012-02-16 Kyu-Min Park Memory device and memory system including the same
US20130007562A1 (en) * 2011-07-01 2013-01-03 Apple Inc. Controller Interface Providing Improved Data Reliability
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100369A (ja) * 2007-10-18 2009-05-07 Toshiba Corp 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
US8154901B1 (en) * 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
US9069688B2 (en) * 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
US20130185612A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512201B2 (en) * 2005-06-14 2009-03-31 International Business Machines Corporation Multi-channel synchronization architecture
US20100135100A1 (en) * 2007-05-29 2010-06-03 Rambus Inc. Adjusting Clock Error Across A Circuit Interface
US20100005376A1 (en) * 2008-07-02 2010-01-07 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US20100100779A1 (en) * 2008-10-08 2010-04-22 Nec Electronics Corporation Data processing apparatus
US20110093753A1 (en) * 2009-10-20 2011-04-21 Renesas Electronics Corporation Phase calibration circuit, memory card control device, and phase calibration method
US20120042116A1 (en) * 2010-08-16 2012-02-16 Kyu-Min Park Memory device and memory system including the same
US20130007562A1 (en) * 2011-07-01 2013-01-03 Apple Inc. Controller Interface Providing Improved Data Reliability
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632552A (zh) * 2017-03-24 2018-10-09 佳能株式会社 记录装置、控制方法和存储介质
CN108632552B (zh) * 2017-03-24 2020-12-29 佳能株式会社 记录装置、控制方法和存储介质

Also Published As

Publication number Publication date
US20140372791A1 (en) 2014-12-18
CN104239243B (zh) 2018-08-07
US9792173B2 (en) 2017-10-17
JP2014241057A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
CN104239243A (zh) 接口控制电路、存储系统和控制接口控制电路的方法
KR101791456B1 (ko) 라이트 트레이닝 방법 및 이를 수행하는 반도체 장치
US10347323B2 (en) Semiconductor memory devices, memory systems including semiconductor memory devices, and operating methods of semiconductor memory devices
US10388401B2 (en) Semiconductor device, semiconductor system, and method thereof
US11145355B2 (en) Calibration circuit for controlling resistance of output driver circuit, memory device including the same, and operating method of the memory device
CN106205728B (zh) 奇偶校验电路及包括该奇偶校验电路的存储器装置
US9430423B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US10319462B2 (en) Semiconductor device and semiconductor system
TWI729239B (zh) 半導體裝置
WO2019067052A1 (en) VOLTAGE REFERENCE CALCULATIONS FOR MEMORY DECISION FEEDBACK FEEDBACK EQUALIZERS
KR102394727B1 (ko) 반도체시스템
CN114840137A (zh) 用于在动态随机存取存储器上执行写入训练的技术
TWI537965B (zh) 取樣電路模組、記憶體控制電路單元及資料取樣方法
EP3295317A1 (en) Apparatuses and methods for asymmetric input/output interface for a memory
US11875873B2 (en) Multi-mode compatible ZQ calibration circuit in memory device
US11107512B2 (en) Memory device and memory system including the same
CN106354679A (zh) 用于高速通信的接口电路和包括其的系统
CN105654986A (zh) 取样电路模块、存储器控制电路单元及数据取样方法
KR20220149117A (ko) 복수의 비휘발성 메모리 장치와 메모리 컨트롤러 간 데이터 통신을 개선하기 위한 장치 및 방법
KR20170130684A (ko) 반도체장치
US10290333B2 (en) Semiconductor device
CN105373500A (zh) 半导体器件和包括半导体器件的半导体系统
US20220321122A1 (en) Zq resistor calibration circuit in memory device and calibration method thereof
US11048602B2 (en) Electronic devices
CN114446376A (zh) 存储器设备和存储器系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180807

Termination date: 20210605