首页> 中国专利> 用于半导体存储器的错误校正编码与数据总线反转的设备与方法

用于半导体存储器的错误校正编码与数据总线反转的设备与方法

摘要

本发明描述用于半导体存储器的错误校正编码及数据总线反转的设备及方法。一种实例设备包含:I/O电路,其经配置以接收第一数据及与所述第一数据相关联的第一ECC数据;存储器阵列;及控制电路。所述控制电路耦合于所述I/O电路与所述存储器阵列之间。所述控制电路经配置以至少部分响应于所述第一数据及所述第一ECC数据而执行第一ECC解码以产生校正第一数据及校正第一ECC数据。所述控制电路进一步经配置以将所述校正第一数据及所述校正第一ECC数据两者存储到所述存储器阵列中。

著录项

  • 公开/公告号CN112384897A

    专利类型发明专利

  • 公开/公告日2021-02-19

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN201980045953.0

  • 申请日2019-09-09

  • 分类号G06F11/10(20060101);G06F13/16(20060101);H03M13/31(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 09:55:50

说明书

背景技术

近年来,半导体装置(例如DRAM(动态随机存取存储器))已大幅增加容量,且发生缺陷位的次数也因此增加。在缺陷位中,归因于缺陷字线或缺陷位线的缺陷位主要通过用冗余字线或冗余位线替换来解除。然而,关于在封装或其类似者之后发生的偶发缺陷位,在一些情况中难以通过用冗余字线或冗余位线替换来解除所述缺陷位。对于此类偶发缺陷位,在一些情况中采用通过使用错误校正功能而非通过使用冗余电路执行替换来解除数据的方法。错误校正可内部用于半导体装置内,且还可外部用于将数据转移到半导体装置及从半导体装置转移数据。

另外,期望降低半导体装置的功耗。已使用的方法是在将数据传送到半导体装置及从半导体装置传送数据时包含数据总线反转(DBI)。在包含DBI的系统中,转移到半导体装置及从半导体装置转移的数据可经DBI编码以减少信号在线信号转变的次数。特定来说,针对先前转移数据来评估待转移数据以确定是否需要超过阈值数目次信号线转变来转移数据。基于评估,提供待转移数据作为真数据(未反转)或反转数据。DBI编码导致指示数据是否被反转的DBI数据,其具有在解码数据时使用的DBI编码数据。

关于错误校正功能,半导体装置包含用于执行错误校正功能的ECC编码及/或ECC解码电路。在执行错误校正功能时,数据的编码及解码需要处理时间,其会负面影响半导体装置的性能。

可期望具有替代方法来执行半导体装置中的错误校正功能,其还可包含DBI操作。

发明内容

公开用于错误校正编码与数据总线反转的设备与方法。一种实例设备包含经配置以接收第一数据及与所述第一数据相关联的第一ECC数据的I/O电路且包含存储器阵列。所述实例设备进一步包含耦合于所述I/O电路与所述存储器阵列之间的控制电路。所述控制电路经配置以至少部分响应于所述第一数据及所述第一ECC数据而执行第一ECC解码以产生校正第一数据及校正第一ECC数据。所述控制电路进一步经配置以将所述校正第一数据及所述校正第一ECC数据两者存储到所述存储器阵列中。

另一实例设备包含:I/O电路;存储器阵列;及控制电路。所述I/O电路经配置以接收第一数据、与所述第一数据相关的数据总线反转(DBI)数据、与所述第一数据相关联的第一ECC数据及与所述DBI数据相关联的第二ECC数据。所述控制电路耦合于所述I/O电路与所述存储器单元阵列之间,且包含第一ECC解码电路、第二ECC解码电路及DBI解码电路。所述第二ECC解码电路经配置以至少部分响应于所述DBI数据及所述第二ECC数据而产生校正DBI数据。所述第一ECC解码电路及所述DBI解码电路经配置以至少部分响应于所述第一数据、所述第一ECC数据及所述校正DBI数据而产生校正及DBI解码第一数据及校正第一ECC数据。所述控制电路经配置以将所述校正及DBI解码第一数据及所述校正第一ECC数据两者存储到所述存储器阵列中。

另一实例设备包含写入数据控制电路及读取数据控制电路。所述写入数据控制电路经配置以从信号总线接收写入数据及对应ECC数据且基于所述对应ECC数据来校正所述写入数据以提供校正写入数据。所述写入控制电路进一步经配置以基于所述对应ECC数据来提供校正对应ECC数据,其中提供所述校正写入数据及所述校正对应ECC数据以存储于存储器阵列中。所述读取数据控制电路经配置以从所述存储器阵列接收读取数据及对应ECC数据且基于所述对应ECC数据来校正所述读取数据以提供校正读取数据。所述读取控制电路进一步经配置以基于所述对应ECC数据来提供校正对应ECC数据,其中将所述校正读取数据及所述校正对应ECC数据提供到所述信号总线。

附图说明

图1是根据本公开的实施例的系统的框图。

图2是根据本公开的实施例的设备的框图。

图3A是根据本公开的实施例的ECC控制电路的框图。

图3B是根据本公开的实施例的写入数据控制电路的框图。

图3C是根据本公开的实施例的读取数据控制电路的框图。

图3D是根据本公开的实施例的用于控制器与存储器之间的错误校正编码的流程图。

图4是根据本公开的实施例的写入数据控制电路的框图。

图5A是根据本公开的实施例的读取数据控制电路的框图。

图5B是根据本公开的实施例的用于控制器与存储器之间的错误校正编码的流程图。

图6A是根据本公开的实施例的写入数据控制电路的框图。

图6B是根据本公开的实施例的读取数据控制电路的框图。

图7A-1、7A-2及7A-3及7B是根据本公开的实施例的行列式(例如H矩阵)或执行ECC编码及/或解码操作的图式。

图8A是根据本公开的实施例的写入数据控制电路的框图。

图8B是根据本公开的实施例的读取数据控制电路的框图。

图9是根据本公开的各种实施例的写入数据控制电路及读取数据控制电路的布局图。

具体实施方式

下文将陈述特定细节以提供本公开的实施例的充分理解。然而,所属领域的技术人员将清楚,可在不具有这些特定细节的情况下实践本公开的实施例。此外,本文中所描述的本公开的特定实例不应被解释为使本公开的范围受限于这些特定实例。在其它例子中,未详细展示众所周知的电路、控制信号、时序协议及软件操作以免不必要地使本公开的实施例不清楚。另外,例如“耦合(couple/coupled)”的术语意味着两个组件可直接或间接电耦合。间接耦合可隐含两个组件通过一或多个中间组件耦合。

图1是包含控制器10及存储器110的系统100的框图。例如,存储器控制器10可为存储器控制器。在本公开的一些实施例中,存储器110包含一或多个动态随机存取存储器(DRAM)装置。在此类实施例中,DRAM装置可包含低功率双倍数据速率(LPDDR)存储器装置。在其它实施例中,可包含存储器装置的不同实例。

控制器10及存储器110可彼此之间提供数据,例如,控制器10将写入数据提供到存储器110用于写入操作且存储器110将读取数据提供到控制器10用于读取操作。控制器10及存储器110将错误校正编码(ECC)用于提供于两者之间的数据。例如,ECC数据可与写入数据一起由控制器10提供到存储器110,且ECC数据可与读取数据一起由存储器110提供到控制器10。ECC数据可由存储器110及/或控制器10用于校正写入数据及/或读取数据中的任何错误。依此方式,可确保存储器110与控制器10之间的通信链路上所转移的数据的准确性。

在本公开的一些实施例中,数据总线反转(DBI)可用于提供于控制器10与存储器110之间的数据。在此类实施例中,DBI数据分别与写入及读取数据一起提供于控制器10与存储器110之间。另外,在包含DBI操作的本公开的一些实施例中,DBI数据经ECC编码,因此,用于DBI数据的ECC数据还与用于数据本身的ECC数据一起提供。用于数据及DBI数据的ECC数据可包含于ECC数据ECC(Data,DBI)中。

如图1中所展示,ECC(Data,DBI)、Data及DBI数据提供于控制器10与存储器110之间。尽管图1中未展示,但应了解,控制器10进一步提供命令、地址及时钟到存储器110。在一些实施例中,时钟还可由存储器110提供到控制器10。可提供命令来控制存储器110的操作,且可向地址提供存储器存取命令(例如读取命令、写入命令等等)来识别待存取的存储器110中的存储器位置。由控制器10提供的时钟可由存储器110用于信号的计时接收及存储器110的各种操作,且在其中存储器110提供时钟到控制器10的实施例中,时钟可由控制器用于由存储器提供的读取数据的计时接收。额外及/或替代信号还可提供于控制器10与存储器110之间。

图2是根据本公开的实施例的设备的框图。设备可为半导体装置200,且将指称半导体装置200。在一些实施例中,半导体装置200可包含(但不限于)DRAM装置,例如例如集成到单个半导体芯片中的低功率DDR(LPDDR)存储器。在本公开的一些实施例中,半导体装置200可包含于图1的存储器110中。

半导体装置200包含存储器阵列250。存储器阵列250经展示为包含多个存储体。在图2的实施例中,存储器阵列250经展示为包含8个存储体BANK0到BANK7。每一存储体包含多个字线WL、多个位线BL及/BL及布置于多个字线WL及多个位线BL及/BL的相交点处的多个存储器单元MC。字线WL的选择由行解码器240执行且位线BL及/BL的选择由列解码器245执行。在图2的实施例中,行解码器240包含用于每一存储体的相应行解码器且列解码器245包含用于每一存储体的相应列解码器。位线BL及/BL耦合到相应感测放大器(SAMP)。来自位线BL或/BL的读取数据由感测放大器SAMP放大,且通过互补局部数据线(LIOT/B)、转移门(TG)及互补主数据线(MIOT/B)来转移到ECC控制电路255。ECC控制电路255包含用于每一存储体的相应ECC控制电路。

如下文将更详细描述,当从存储器单元阵列250读取读取数据时,亦同时读取对应ECC数据。相反地,从ECC控制电路255输出的写入数据及对应ECC数据通过互补主数据线MIOT/B、转移门TG及互补局部数据线LIOT/B来转移到感测放大器SAMP,且写入于耦合到位线BL或/BL的存储器单元MC中。如下文将更详细描述,当将写入数据写入于存储器阵列250中时,还同时写入对应ECC数据。

半导体装置200可采用多个外部端子,其包含耦合都命令及地址总线以接收命令及地址及CS信号的命令及地址及芯片选择(CA/CS)端子、用于接收时钟CK及/CK的时钟端子、数据端子及电力供应端子VDD、VSS、VDDQ及VSSQ。

可向CA/CS端子供应存储器地址。供应到CA/CS端子的存储器地址经由命令/地址输入电路205来转移到地址解码器212。地址解码器212接收地址且将解码行地址XADD供应到行解码器240及将解码列地址YADD供应到列解码器245。可向CA/CS端子供应命令。命令可作为内部命令信号经由命令/地址输入电路205来提供到命令解码器215。命令解码器215包含用于解码内部命令信号以产生各种内部信号及命令用于执行操作的电路。例如,命令解码器215可提供行命令信号ACT来选择字线及提供列命令信号R/W来选择位线。

当接收到读取命令且及时向行地址及列地址供应读取命令时,从由行地址及列地址指定的存储器阵列250中的存储器单元读取读取数据及对应ECC数据。读取命令由命令解码器215接收,命令解码器215提供内部命令,使得来自存储器阵列250的读取数据及对应ECC数据提供到ECC控制电路255。ECC控制电路255执行ECC解码以产生校正读取数据及校正对应ECC数据。例如,如果读取数据包含错误(如由ECC控制电路255基于对应ECC数据所确定),那么校正读取数据。校正读取数据及校正对应ECC数据经由输入/输出电路260从数据端子输出到外部。

“校正数据”一般是指基于对应ECC数据的ECC解码之后所产生的数据。校正数据包含可能已视需要实际校正的数据(例如,改变数据的一或多个位)及由于无需校正而可能未校正的数据。例如,ECC解码之后所提供的“校正”读取数据是指所提供的实际已基于对应ECC数据校正或未校正的读取数据。类似地,ECC解码之后所提供的“校正”ECC数据是指所提供的已校正或未校正ECC数据。因此,术语“校正”不希望仅是指实际已校正的数据,而是更一般地是指ECC解码之后所提供的实际已校正或未校正数据。术语“校正数据”还可应用于写入数据、DBI数据、ECC(DBI)数据及其类似者。

当接收到写入命令且及时向行地址及列地址供应写入命令时,将供应到数据端子的写入数据及对应ECC数据写入到由行地址及列地址指定的存储器阵列250中的存储器单元。写入命令由命令解码器215接收,命令解码器215提供内部命令,使得写入数据及对应ECC由输入/输出电路260中的数据接收器接收且经由输入/输出电路260供应到ECC控制电路255。ECC控制电路255执行ECC解码以产生校正写入数据及校正对应ECC数据。例如,如果写入数据包含错误(如由ECC控制电路255基于对应ECC数据所确定),那么校正写入数据。校正写入数据及校正对应ECC数据由ECC控制电路255提供到存储器阵列250以写入到存储器单元MC中。

在本公开的一些实施例中,数据总线反转(DBI)操作可包含于半导体装置200中。然而,使DBI操作包含于半导体装置200中是任选的,且本公开的一些实施例不包含DBI操作。另外,由半导体装置200提供的读取数据及/或由半导体装置200接收的写入数据的ECC操作是任选的,且本公开的一些实施例不包含ECC操作。

在包含ECC及DBI操作的本公开的实施例中,关于半导体装置200向读取数据提供读取命令,ECC控制电路255可对读取数据及对应ECC数据执行ECC解码以产生中间读取数据及校正对应ECC数据。ECC控制电路255可对中间读取数据执行DBI编码以提供校正读取数据及DBI数据,且进一步对DBI数据执行ECC编码以产生DBI ECC数据。校正读取数据、校正对应ECC数据、DBI数据及DBI ECC数据经由输入/输出电路260输出到外部。

关于半导体装置200用于写入命令,写入数据(其经DBI编码)、对应ECC数据、DBI数据及DBI ECC数据由输入/输出电路260接收且提供到ECC控制电路255。ECC控制电路255可对(DBI编码)写入数据及对应ECC数据执行ECC解码以产生中间(DBI编码)写入数据及校正对应ECC数据。ECC控制电路255可对DBI数据及DBI ECC数据执行ECC解码以产生校正DBI数据,且基于校正DBI数据来对中间(DBI编码)写入数据执行DBI解码以产生校正写入数据。校正写入数据及校正对应ECC数据由ECC控制电路255提供到存储器阵列250以写入到存储器单元MC中。

由ECC控制电路255执行的错误校正可用于维持外部提供到半导体装置200及从半导体装置200提供的数据(例如提供于控制器与半导体装置200之间的数据)的准确性。在本公开的一些实施例中。ECC控制电路255可进一步执行错误校正编码/解码以校正在从存储器阵列250读取数据及/或将数据写入到存储器阵列250时发生的数据错误。此类数据错误可由例如软错误、弱存储器单元电荷保留等等所致。本公开的此类实施例可包含其中针对存储器存储体错误的ECC编码/解码与针对发生于半导体装置200与例如控制器之间的链路上的数据错误的ECC编码/解码分开(例如,串行地)执行的实施例及其中组合针对存储器存储体错误的ECC编码/解码及针对发生于链路上的数据错误的ECC编码/解码的实施例。

向时钟端子CK及/CK供应提供到输入缓冲器220的外部时钟。外部时钟可互补。时钟输入缓冲器220基于CK及/CK时钟来产生内部时钟ICLK。ICLK时钟提供到命令解码器215及内部时钟产生器222。内部时钟产生器222基于ICLK时钟来提供各种内部时钟LCLK。LCLK时钟可用于对各种内部电路的操作计时。例如,可将时钟提供到输入/输出电路260用于对输入/输出电路260提供且接收数据及对应ECC数据及在包含DBI操作的本公开的实施例中,提供且接收DBI数据及DBI ECC数据的操作计时。

向电力供应端子VDD及VSS供应电力供应电势。这些电力供应电势供应到内部电压产生器电路270。内部电压产生器电路270基于供应到电力供应端子VDD及VSS的电力供应电势来产生各种内部电势VPP、VOD、VARY、VPERI及其类似者。内部电势VPP主要用于行解码器240中,内部电势VOD及VARY主要用于包含于存储器阵列250中的感测放大器SAMP中,且内部电势VPERI用于许多外围电路块中。

还向电力供应端子VDDQ及VSSQ供应电力供应电势。电力供应电势供应到输入/输出电路260。在本公开的实施例中,供应到电力供应端子VDDQ及VSSQ的电力供应电势可为相同于供应到电力供应端子VDD及VSS的电力供应电势的电势。在本公开的另一实施例中,供应到电力供应端子VDDQ及VSSQ的电力供应电势可为不同于供应到电力供应端子VDD及VSS的电力供应电势的电势。供应到电力供应端子VDDQ及VSSQ的电力供应电势用于输入/输出电路260,使得由输入/输出电路260产生的电源噪声不传播到其它电路块。

图3A是根据本公开的实施例的ECC控制电路300的框图。在本公开的一些实施例中,ECC控制电路300可包含于图2的半导体装置200的ECC控制电路255中。

ECC控制电路300包含写入数据控制电路310及读取数据控制电路320。写入数据控制电路310接收数据、ECC数据及数据总线反转(DBI)数据。数据可为DBI编码数据“D_Data”且ECC数据“ECC(Data,DBI)”可包含用于数据的ECC数据“ECC(Data)”及用于DBI数据的ECC数据“ECC(DBI)”。ECC数据、D_Data及DBI数据可由输入/输出电路(例如本公开的一些实施例中的半导体装置200的输入/输出电路260)提供到ECC控制电路300。例如,ECC数据、D_Data及DBI数据可从控制器提供到输入/输出电路。

尽管图3A中未展示,但写入数据控制电路310使用ECC(DBI)来校正DBI数据以提供(例如,产生)校正DBI数据“C_DBI”,校正DBI数据“C_DBI”由写入数据控制电路310用于DBI解码D_Data以提供DBI解码数据“Data”。Data由写入数据控制电路310使用ECC(Data)来校正以提供校正数据“C_Data”。写入数据控制电路310进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正Data的ECC(Data),且与ECC(DBI)一起提供到写入数据控制电路310。

可提供C_Data及C_ECC(Data)用于写入到存储器阵列(例如本公开的一些实施例中的图2的半导体装置200的存储器阵列250)的存储器单元。在本公开的一些实施例中,C_Data及C_ECC(Data)可与额外错误校正编码(例如存储体ECC)一起写入到存储器阵列的存储器单元,所述额外错误校正编码可用于校正可发生于将C_Data及C_ECC(Data)存储于存储器阵列中时的错误。存储体ECC可用于例如校正软错误、存储器单元保留错误等等。在一些实施例中,可对由写入数据控制电路310提供的数据串行执行及在其它实施例中,组合执行存储体ECC编码。在本公开的一些实施例中,可将C_Data及C_ECC(Data)写入到存储器单元而无任何额外错误校正编码。

C_ECC(Data)可基于提供到写入数据控制电路310的ECC数据ECC(Data)。在本公开的一些实施例中,由写入数据控制电路310提供的C_ECC(Data)是相同于提供到写入数据控制电路310的ECC(Data)。通过不对数据执行ECC编码操作以提供C_ECC(Data),准备存储于存储器中的数据及ECC数据的时间可比常规方法减少。

读取数据控制电路320接收数据及用于数据的ECC数据ECC(Data)。在本公开的一些实施例中,数据及ECC(Data)可存储于存储器阵列中且响应于读取命令而提供到读取数据控制电路320。例如,在本公开的一些实施例中,数据及ECC(Data)存储于存储器阵列中,且当接收到读取命令时,数据及ECC(Data)从存储器阵列提供到ECC控制电路300而无任何额外错误校正解码。然而,在本公开的一些实施例中,来自存储器阵列的数据及ECC(Data)在提供到ECC控制电路300之前经ECC解码。单独Bank ECC可用于校正可能已发生于存储于存储器阵列中时的任何错误以例如校正软错误、存储器单元保留错误等等。

读取数据控制电路320使用ECC(Data)来校正其接收的数据,对校正数据执行DBI编码以提供DBI编码数据D_Data,且因此产生DBI数据。读取数据控制电路320进一步针对DBI数据产生ECC数据ECC(DBI)。读取数据控制电路320将D_Data、DBI数据及ECC(Data,DBI)提供到例如控制器。ECC(Data)可基于与数据一起存储于存储器中的ECC数据。在本公开的一些实施例中,ECC(Data)是与纯数据(预DBI编码)一起存储的相同ECC数据。

读取数据控制电路320可提供ECC(Data)而无需对具有来自存储器阵列的ECC(Data)的数据执行ECC编码操作。由读取数据控制电路320向读取数据提供的ECC(Data)可基于提供到读取数据控制电路320的ECC(Data),例如与读取数据一起存储于存储器阵列中的ECC(Data)。在本公开的一些实施例中,由读取数据控制电路320提供的ECC(Data)相同于从存储器阵列提供到读取数据控制电路320的ECC(Data)。通过不对数据执行ECC编码操作以提供ECC(Data),准备由读取数据控制电路320提供的数据及ECC数据的时间可比常规方法减少。

在本公开的一些实施例中,由写入数据控制电路310及读取数据控制电路320执行的ECC操作是基于共同(例如相同)行列式(例如H矩阵)。例如,写入数据控制电路310及读取数据控制电路320两者可使用相同H矩阵来ECC解码及/或ECC编码。通过使用共同H矩阵,如同本公开的一些实施例,可相较于在存储器系统中使用ECC操作的常规方法而省略一或多个ECC编码操作。

2015年9月11日申请且2017年6月27日发布的第9,690,653号美国专利中描述实例H-矩阵及错误校正电路,所述专利的全部公开内容以引用的方式并入本文中。

如先前所描述,在本公开的一些实施例中,可对由ECC控制电路300(例如ECC控制电路300)提供的数据及ECC(Data)执行额外错误校正编码。例如,可对由ECC控制电路300提供的数据及ECC(Data)执行存储体ECC编码。

图3B是根据本公开的实施例的写入数据控制电路313的框图。写入数据控制电路313在图3B中展示为将校正数据C_Data及校正ECC数据C_ECC(Data)提供到存储体ECC编码电路301。在本公开的一些实施例中,写入数据控制电路313可包含于图3A的ECC控制电路300的写入数据控制电路310中。

写入数据控制电路313包含被提供DBI编码数据“D_Data”、ECC数据“ECC(Data,DBI)”及DBI数据“DBI”的解串行电路315。提供到解串行电路315的ECC(Data,DBI)可包含用于经DBI编码的数据的ECC数据“ECC(Data)”及用于DBI数据的ECC数据“ECC(DBI)”。可依串行方式提供D_Data、ECC(Data,DBI)及DBI数据。解串行电路315解串行D_Data、ECC(Data,DBI)及DBI数据且依并行方式提供D_Data、ECC(Data)、ECC(DBI)及DBI数据。稍后将参考图4来描述提供数据的串行及并行方式。

写入数据控制电路313包含ECC解码电路325。ECC解码电路325被提供来自解串行电路315的ECC(DBI)及DBI数据。ECC解码电路325使用ECC(DBI)来校正DBI数据且提供校正DBI数据“C_DBI”。写入数据控制电路313进一步包含ECC解码电路340。D_Data与ECC(Data)一起提供到ECC解码电路340,ECC解码电路340使用ECC(Data)来校正D_Data以提供校正DBI编码数据“CD_Data”(其可被视作中间数据)。ECC解码电路340进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正数据且与ECC(DBI)一起提供到解串行电路315的ECC(Data)。

CD_Data与C_DBI一起提供到还包含于写入数据控制电路313中的DBI解码电路330。DBI解码电路330使用C_DBI来解码CD_Data以提供校正数据“C_Data”。C_Data及C_ECC(Data)提供到存储体ECC编码电路301,存储体ECC编码电路301ECC编码C_Data及C_ECC(Data)以提供ECC(Data)及C_Data。可将ECC(Data)及C_Data提供到存储器阵列用于存储。

在写入数据控制电路313中,分别由ECC解码电路340及ECC解码电路325并行执行用于(DBI编码)D_Data的ECC解码及用于DBI数据的ECC解码。在具有并行执行的D_Data的ECC解码及DBI数据的ECC解码的写入数据控制电路313的布置中,D_Data的ECC解码发生于(校正)DBI编码数据CD_Data的DBI解码之前。对于其中DBI编码数据CD_Data由ECC解码电路ECC解码的本公开的实施例(例如写入数据控制电路313),DBI编码数据CD_Data的ECC解码的结果优选提供相同于纯数据的ECC解码的计算结果。即,ECC解码校正DBI编码数据CD_Data中的错误不会有任何问题。

图3C是根据本公开的实施例的读取数据控制电路323的框图。读取数据控制电路323在图3C中展示为从存储体ECC解码电路303接收ECC(Data)及Data。在本公开的一些实施例中,读取数据控制电路323可包含于图3A的ECC控制电路300的读取数据控制电路320中。

例如,从存储器阵列向存储体ECC解码电路303提供“Data”及用于Data的ECC数据“ECC(Data)”。存储体ECC解码电路303使用ECC(Data)来校正Data以提供校正数据“C_Data”(其可被视作中间数据)。存储体ECC解码电路303进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正Data且与Data一起提供到存储体ECC解码电路303的ECC(Data)。如先前所描述,存储体错误校正编码可用于校正可能已发生于存储于存储器阵列中时的任何错误。

C_Data提供到DBI编码电路318。DBI编码电路318评估C_Data且因此编码C_Data以提供DBI编码校正数据“DC_Data”。DBI编码电路318进一步提供DBI数据“DBI”,其指示DC_Data是真或与C_Data互补。DBI数据提供到ECC编码电路328。ECC编码电路328评估DBI数据且基于DBI数据来提供DBI数据的ECC数据“ECC(DBI)”。ECC(DBI)可例如由控制器用于校正DBI数据。DC_Data提供到ECC编码电路338。ECC编码电路338评估DC_Data且基于DC_Data数据来提供DC_Data的ECC数据“ECC(Data)”。ECC(Data)可例如由控制器用于校正DC_Data。在读取数据控制电路323中,分别由ECC编码电路338及ECC编码电路328并行执行用于(DBI编码)DC_Data的ECC编码及用于DBI数据的ECC编码。

由ECC编码电路328将ECC(DBI)及DBI数据提供到串行电路348。还由ECC编码电路338向串行电路348提供ECC(Data)及DC_Data。串行电路348被并行提供DC_Data、ECC(Data)、DBI数据及ECC(DBI),且将其串行以依串行方式提供D_Data、DBI数据及D_Data及DBI数据的ECC数据“ECC(Data,DBI)”。例如,可将D_Data、DBI数据及ECC(Data,DBI)提供到控制器。

D_Data的ECC数据C_ECC(Data)可由读取数据控制电路323提供而无需对Data或C_Data执行ECC编码操作。例如,ECC数据C_ECC(Data)可能已使用共同(例如相同)行列式(例如H矩阵)(其还用于基于C_ECC(Data)的D_Data的ECC解码)来编码,例如通过被提供C_ECC(Data)及D_Data的控制器及/或通过提供数据及ECC(data)(其写入到存储器阵列且可稍后提供到读取数据控制电路323用于读取操作)的写入数据控制器电路。基于相同H矩阵来执行相同ECC操作(例如通过控制器且还通过半导体装置)可允许避免D_Data的一或多个ECC编码操作。

在包含读取数据控制电路323的本公开的实施例中,图3B的写入数据控制电路313可用于执行用于提供写入到存储器阵列的C_Data及C_ECC(Data)(其稍后响应于读取操作而提供到读取数据控制电路323)的操作。在本公开的一些实施例中,由写入数据控制电路313执行的ECC解码可基于还用于由读取控制电路323执行的ECC解码的共同H矩阵来执行。在本公开的一些实施例中,读取数据控制电路323可与不同写入数据控制电路一起使用。

图3D是根据本公开的实施例的用于控制器与存储器之间的错误校正编码的流程图。图式的上半部中展示用于将数据写入到存储器的流程且图式的下半部分中展示用于从存储器读取数据的流程。在本公开的一些实施例中,可由写入数据控制电路313执行用于写入存储器的数据的流程。在本公开的一些实施例中,可由读取数据控制电路323执行用于读取存储器的数据的流程。如图3D中所展示,在存储器中并行执行用于写入数据的ECC解码及用于DBI数据的ECC解码,且在存储器中并行执行用于读取数据的ECC编码及用于DBI数据的ECC编码。还如图3D中所展示,与存储体ECC分开(及串行地)执行用于校正来自控制器与存储器之间的转移数据的错误的链路ECC。

图4是根据本公开的实施例的写入数据控制电路400的框图。在本公开的一些实施例中,写入数据控制电路400可包含于图3A的ECC控制电路300的写入数据控制电路310中。

写入数据控制电路400包含解串行电路410,其被提供DBI编码数据“D_Data”、ECC数据“ECC(Data,DBI)”及DBI数据“DBI”。提供到解串行电路410的ECC(Data,DBI)可包含用于经DBI编码的数据的ECC数据“ECC(Data)”及用于DBI数据的ECC数据“ECC(DBI)”。D_Data、ECC(Data,DBI)及DBI数据可依串行方式提供到解串行电路410,即,作为连续提供到解串行电路410的多个位。每一位可具有与时钟(例如数据时钟)同步的时序。

解串行电路410解串行D_Data、ECC(Data,DBI)及DBI数据且依并行方式提供D_Data、(ECC Data)、ECC(DBI)及DBI数据。例如,可在数据时钟的N/2个时钟周期内一次一个位地连续接收D_Data的N个位,且解串行电路410将N个位收集成一群组且接着同时提供D_Data的所有N个位。同样地,将ECC(Data,DBI)及DBI数据的串行提供位收集成群组且由解串行电路410并行提供。

写入数据控制电路400进一步包含ECC解码电路420。ECC解码电路420被提供来自解串行电路410的ECC(DBI)及DBI数据。ECC解码电路420使用ECC(DBI)来校正DBI数据且提供校正DBI数据“C_DBI”。C_DBI与DBI编码数据D_Data一起提供到还包含于写入数据控制电路400中的DBI解码电路430。DBI解码电路430使用C_DBI来解码D_Data以提供纯(未编码)“Data”(其可被视作中间数据)。写入数据控制电路400进一步包含ECC解码电路440。Data与ECC(Data)一起提供到ECC解码电路440,ECC解码电路440使用ECC(Data)来校正Data以提供校正数据“C_Data”。ECC解码电路440进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正数据且与ECC(DBI)一起提供到解串行电路410的ECC(Data)。

在本公开的一些实施例中,可由写入数据控制电路400提供存储于存储器阵列(例如图2的半导体装置200的存储器阵列250)中的C_Data及C_ECC(Data)。

用于C_Data的ECC数据C_ECC(Data)可由写入数据控制电路400提供而无需在提供用于存储于存储器中的C_Data及C_ECC(Data)之前对C_Data执行ECC编码操作。C_ECC(Data)可基于提供到解串行电路410的ECC数据ECC(Data)。例如,在本公开的一些实施例中,C_ECC(Data)是提供到解串行电路410的相同ECC(Data)。如先前所描述,通过不对C_Data执行ECC编码操作以提供C_ECC(Data),准备由写入数据控制电路400提供的数据及ECC数据的时间可比常规方法减少。

图5A是根据本公开的实施例的读取数据控制电路500的框图。在本公开的一些实施例中,读取数据控制电路500可包含于图3A的ECC控制电路300的读取数据控制电路320中。

读取数据控制电路500包含ECC解码电路510。ECC解码电路510被提供“Data”及用于Data的ECC数据“ECC(Data)”。ECC解码电路510使用ECC(Data)来校正Data以提供校正数据“C_Data”(其可被视作中间数据)。ECC解码电路510进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正数据且与Data一起提供到ECC解码电路510的ECC(Data)。

将C_Data提供到DBI编码电路520。DBI编码电路520评估C_Data且因此编码C_Data以提供DBI编码校正数据“DC_Data”。DBI编码电路520进一步提供DBI数据“DBI”,其指示DC_Data是真或与C_Data互补。将DBI数据提供到ECC编码电路530。ECC编码电路530评估DBI数据且基于DBI数据来提供DBI数据的ECC数据“ECC(DBI)”。可使用ECC(DBI),例如控制器,以校正DBI数据。

由ECC编码电路530将ECC(DBI)及DBI数据提供到串行电路540。串行电路540还被提供DC_Data及C_ECC(Data)。串行电路540被并行提供DC_Data、C_ECC(Data)、DBI数据及ECC(DBI),且将其串行以依串行方式提供D_Data、DBI数据及用于D_Data及DBI数据的ECC数据“ECC(Data,DBI)”。例如,可将D_Data、DBI数据及ECC(Data,DBI)提供到控制器。

用于D_Data的ECC数据C_ECC(Data)可由读取数据控制电路500提供而无需对Data或C_Data执行ECC编码操作。例如,ECC数据C_ECC(Data)可能已使用共同(例如相同)行列式(例如H矩阵)(其还用于基于C_ECC(Data)的D_Data的ECC解码)来编码,例如通过被提供C_ECC(Data)及D_Data的控制器及/或通过提供数据及ECC(data)(其写入到存储器阵列且可稍后提供到读取数据控制电路500用于读取操作)的写入数据控制器电路。基于相同H矩阵来执行相同ECC操作(例如通过控制器且还通过半导体装置)可允许避免D_Data的一或多个ECC编码操作。C_ECC(Data)可基于提供到ECC解码电路510的ECC数据ECC(Data)。例如,ECC(Data)可与Data一起存储于存储器阵列中,例如,其一起提供到ECC解码电路510。在本公开的一些实施例中,由读取数据控制电路500提供的ECC(Data)相同于提供到ECC解码电路510的ECC(Data)。通过不对Data或C_Data执行ECC编码操作以提供C_ECC(Data),准备由读取数据控制电路500提供的数据及ECC数据的时间可比常规方法减少。

在包含读取数据控制电路500的本公开的实施例中,图4的写入数据控制电路400可用于执行用于提供写入到存储器阵列的D_Data及ECC(Data)(其稍后响应于读取操作而提供到读取数据控制电路500)的操作。在本公开的一些实施例中,由写入数据控制电路400执行的ECC解码可基于还用于由读取控制电路500执行的ECC解码的共同H矩阵来执行。在本公开的一些实施例中,读取数据控制电路500可与不同写入数据控制电路一起使用。

图5B是根据本公开的实施例的用于控制器与存储器之间的错误校正编码的流程图。图式的上半部中展示用于将数据写入到存储器的流程且图式的下半部中展示用于从存储器读取数据的流程。在本公开的一些实施例中,可由写入数据控制电路400执行用于写入存储器的数据的流程。在本公开的一些实施例中,可由读取数据控制电路500执行用于读取存储器的数据的流程。如图5B中所展示,在存储器中串行执行用于DBI数据的ECC解码及用于写入数据的ECC解码,且在存储器中串行执行用于读取数据的ECC解码及用于DBI数据的ECC编码。还如图5B中所展示,在控制器中于DBI编码之前执行ECC编码。由存储器应用DBI解码之后的ECC解码的反转流程。

图6A是根据本公开的实施例的写入数据控制电路600的框图。在本公开的一些实施例中,写入数据控制电路600可包含于图3A的ECC控制电路300的写入数据控制电路310中。

写入数据控制电路600包含解串行电路610,其被提供DBI编码数据“D_Data”、ECC数据“ECC(Data,DBI)”及DBI数据“DBI”。提供到解串行电路610的ECC(Data,DBI)可包含用于经DBI编码的数据的ECC数据“ECC(Data)”及用于DBI数据的ECC数据“ECC(DBI)”。可依串行方式提供D_Data、ECC(Data,DBI)及DBI数据。解串行电路610解串行D_Data、ECC(Data,DBI)及DBI数据且依并行方式提供D_Data、ECC(Data)、ECC(DBI)及DBI数据。先前已参考图4描述提供数据的串行及并行方式。

写入数据控制电路600包含ECC解码电路620。ECC解码电路620被提供来自解串行电路610的ECC(DBI)及DBI数据。ECC解码电路620使用ECC(DBI)来校正DBI数据且提供校正DBI数据“C_DBI”。写入数据控制电路600进一步包含ECC解码电路640。D_Data与ECC(Data)一起提供到ECC解码电路640,ECC解码电路640使用ECC(Data)来校正D_Data以提供校正DBI编码数据“CD_Data”(其可被视作中间数据)。ECC解码电路640进一步提供ECC(Data)作为校正ECC数据“C_ECC(Data)”。在本公开的一些实施例中,C_ECC(Data)相同于用于校正数据且与ECC(DBI)一起提供到解串行电路610的ECC(Data)。

CD_Data与C_DBI一起提供到还包含于写入数据控制电路600中的DBI解码电路630。DBI解码电路630使用C_DBI来解码CD_Data以提供校正数据“C_Data”。

与图4的写入数据控制电路400相比,在写入数据控制电路600中,分别由ECC解码电路640及ECC解码电路620并行执行(DBI编码)D_Data的ECC解码及DBI数据的ECC解码。在写入数据控制电路400中,串行执行由ECC解码电路420ECC解码DBI数据、由DBI解码电路430DBI解码D_Data以恢复纯数据及由ECC解码电路440ECC解码纯数据。在此布置中,提供纯数据的DBI解码发生于Data的ECC解码之前。然而,在具有并行执行的D_Data的ECC解码及DBI数据的ECC解码的写入数据控制电路600的布置中,D_Data的ECC解码发生于(校正)DBI编码数据CD_Data的DBI解码之前。由于写入数据控制电路600的并行操作,处理用于写入到存储器阵列的写入数据可比写入数据控制电路400花费更少时间。

在包含写入数据控制电路600的本公开的实施例中,图5A的读取数据控制电路500可用于执行用于提供一些实施例的D_Data、DBI数据及ECC(Data,DBI)数据的操作。在本公开的其它实施例中,写入数据控制电路600可与不同读取数据控制电路一起使用。

对于其中DBI编码数据CD_Data由ECC解码电路ECC解码的本公开的实施例(例如写入数据控制电路600),DBI编码数据CD_Data的ECC解码的结果优选提供相同于纯Data的ECC解码的计算结果。即,ECC解码校正DBI编码数据CD_Data中的错误不会有任何问题。

图6B是根据本公开的实施例的读取数据控制电路605的框图。在本公开的一些实施例中,读取数据控制电路605可包含于图3A的ECC控制电路300的读取数据控制电路320中。在本公开的一些实施例中,读取数据控制电路605可与写入数据控制电路600一起使用。

读取数据控制电路605在图6B中展示为接收ECC(Data)及Data。例如,可从存储器阵列提供Data及ECC(Data)。将Data提供到DBI编码电路615。DBI编码电路615评估Data且因此编码Data以提供DBI编码数据“D_Data”。DBI编码电路615进一步提供DBI数据“DBI”,其指示D_Data是真或与Data互补。将DBI数据提供到ECC编码电路625。ECC编码电路625评估DBI数据且基于DBI数据来提供DBI数据的ECC数据“ECC(DBI)”。ECC(DBI)可例如由控制器用于校正DBI数据。

将D_Data及ECC(Data)提供到ECC解码电路645。ECC解码电路645使用ECC(Data)来校正D_Data以提供校正数据“CD_Data”(其可被视作中间数据)。ECC解码电路645进一步提供ECC(Data)。ECC(Data)可例如由控制器用于校正D_Data。在本公开的一些实施例中,由ECC解码电路645提供的ECC(Data)相同于用于校正D_Data且与D_Data一起提供到ECC解码电路645的ECC(Data)。

在读取数据控制电路605中,分别由ECC解码电路645及ECC编码电路625并行执行D_Data的ECC解码及DBI数据的ECC编码。

由ECC编码电路625将ECC(DBI)及DBI数据提供到串行电路635。还由ECC编码电路645向串行电路635提供ECC(Data)及CD_Data。串行电路635被并行提供CD_Data、ECC(Data)、DBI数据及ECC(DBI),且将其串行以依串行方式提供CD_Data、DBI数据及用于D_Data及DBI数据的ECC数据“ECC(Data,DBI)”。例如,可将CD_Data、DBI数据及ECC(Data,DBI)提供到控制器。

用于CD_Data的ECC数据ECC(Data)可由读取数据控制电路605提供而无需对Data或D_Data执行ECC编码操作。例如,ECC数据ECC(Data)可能已使用共同(例如相同)行列式(例如H矩阵)(其还用于基于ECC(Data)的CD_Data的ECC解码)来编码,例如通过被提供ECC(Data)及CD_Data的控制器及/或通过提供从存储器阵列读取的数据及ECC(data)的读取数据控制器电路。基于相同H矩阵来执行相同ECC操作(例如通过控制器且还通过半导体装置)可允许避免数据的一或多个ECC编码操作。

在包含读取数据控制电路605的本公开的实施例中,图6A的写入数据控制电路600可用于执行用于提供写入到存储器阵列的C_Data及C_ECC(Data)(其稍后响应于读取操作而作为Data及ECC(Data)提供到读取数据控制电路323)的操作。在本公开的一些实施例中,由写入数据控制电路600执行的ECC解码可基于还用于由读取控制电路605执行的ECC解码的共同H矩阵来执行。在本公开的一些实施例中,读取数据控制电路605可与不同写入数据控制电路一起使用。

图7A-1、7A-2及7A-3及7B是根据本公开的实施例的用于执行ECC编码及/或解码操作的行列式(例如H矩阵)的图式。图7A-1、7A-2及7A-3是可用于数据的实例行列式。图7B是可用于DBI数据的实例行列式。图7A-1、7A-2及7A-3及7B的实例行列式在每一字节(S0、S1、...、S8)中具有偶数个“1”及“0”。因此,图7A-1、7A-2及7A-3及7B的实例行列式提供纯数据及DBI编码数据两者的相同ECC计算结果。

图7A-1、7A-2及7A-3及7B的行列式可与例如类似于先前所引用且先前所描述的第9,690,653号美国专利中所公开的错误校正电路的错误校正电路一起使用,所述专利的全部公开内容以引用的方式并入本文中。如'653专利中所描述,每一校验子因子(Si)可由EXOR电路通过H矩阵中的每一数据进入1来建构。校验子S(非零)指示1错误且S=0式的错误位的位置。如果H矩阵在每一字节中仅具有偶数个“1”,那么EXOR电路输出相同结果。例如,如果Data经DBI编码,那么EXOR电路的输入从00000000变为11111111,然而,计算结果是相同“0”(无错误)。与此类似,EXOR电路的输入从00100000变为11011111,然而,计算结果是相同“1”(有错误)。

图7A-1、7A-2及7A-3及7B的实例行列式可与并行执行的DBI编码数据的ECC解码及DBI数据的ECC解码一起使用,且与(校正)DBI编码数据的DBI解码之前的DBI编码数据的ECC解码一起使用。本公开的实施例不希望限于图7A-1、7A-2及7A-3及7B的特定实例行列式,因而,本公开的其它实施例使用ECC解码及/或编码的替代行列式。

图8A是根据本公开的实施例的写入数据控制电路800的框图。在本公开的一些实施例中,写入数据控制电路800可包含于图3A的ECC控制电路300的写入数据控制电路310中。

写入数据控制电路800包含解串行电路810,其被提供DBI编码数据“D_Data”及DBI数据“DBI”。可依串行方式提供D_Data及DBI数据,且解串行电路810解串行D_Data及DBI数据且依并行方式提供D_Data及DBI数据。

写入数据控制电路800进一步包含ECC解码电路820及ECC解码电路840。在写入数据控制电路800中,假定停用及旁路(例如,跳过)ECC解码电路820及830,因为仅DBI编码数据D_Data及DBI数据提供到写入数据控制电路800。因此,D_Data及DBI数据分别通过ECC解码电路840及ECC解码电路820来提供到包含于写入数据控制电路800中的DBI解码电路830。DBI解码电路830使用DBI数据来解码D_Data以提供DBI解码数据“Data”。Data由写入数据控制电路800提供到ECC编码电路850。ECC编码电路850评估Data且提供用于Data的ECC数据“ECC(Data)”。Data及ECC(Data)可存储于存储器阵列(例如图2的半导体装置200的存储器阵列250)中。ECC编码电路850提供存储体错误校正编码,其可用于校正可能已发生于存储于存储器阵列中时的错误。

在包含写入数据控制电路800的本公开的实施例中,还可包含图5A的读取数据控制电路500来执行用于提供D_Data及DBI数据的操作。在此类实施例中,ECC解码电路510不提供校正ECC数据(例如C_ECC(Data))且ECC编码电路530被停用以也不提供用于DBI数据的ECC数据(例如ECC(DBI))。因此,仅DBI编码数据D_Data及DBI数据由读取数据控制电路500提供。D_Data及DBI数据可提供到例如控制器。在本公开的其它实施例中,写入数据控制电路800可与不同读取数据控制电路一起使用。

图8B是根据本公开的实施例的读取数据控制电路805的框图。读取数据控制电路805在图8B中展示为从存储体ECC解码电路803接收校正数据C_Data。在本公开的一些实施例中,读取数据控制电路805可包含于图3A的ECC控制电路300的读取数据控制电路320中。在本公开的一些实施例中,读取数据控制电路805可与写入数据控制电路800一起使用。

例如,从存储器阵列向存储体ECC解码电路803提供“Data”及用于Data的ECC数据“ECC(Data)”。存储体ECC解码电路803使用ECC(Data)来校正Data以提供校正数据“C_Data”(其可被视作中间数据)。如先前所描述,存储体错误校正编码可用于校正可能已发生于存储于存储器阵列中时的任何错误。

读取数据控制电路805在图8B中展示为从存储体ECC解码电路803接收C_Data。将C_Data提供到DBI编码电路815。DBI编码电路815评估Data且因此编码Data以提供DBI编码数据“DC_Data”。DBI编码电路815进一步提供DBI数据“DBI”,其指示DC_Data是真或与C_Data互补。将DBI数据提供到ECC编码电路825且将DC_Data提供到ECC编码电路845。

在读取数据控制电路805中,假定停用及旁路ECC编码电路825及845且不由读取数据控制电路805提供ECC数据ECC(Data)及ECC(DBI)。因此,DC_Data及DBI数据分别通过ECC解码电路845及ECC解码电路825来提供到串行电路835,串行电路835将DC_Data及DBI数据串行以依串行方式提供DC_Data及DBI数据。可将DC_Data及DBI数据提供到例如控制器。

在包含写入数据控制电路800的本公开的实施例中,还可包含读取数据控制电路805来执行用于提供DC_Data及DBI数据的操作。在本公开的其它实施例中,读取数据控制电路805可与不同写入数据控制电路一起使用。图9是根据本公开的各种实施例的写入数据控制电路及读取数据控制电路的布局图。布局图包含外围区域910及存储器阵列区域920。

对于写入数据控制电路,ECC解码(DBI)及DBI解码可由外围区域910中的电路(例如分别定位于区域913及915中的电路)执行。用于写入数据控制电路的ECC解码(Data)可由外围区域910或存储器单元阵列区域920中的电路执行。当由存储器单元阵列区域920中的电路执行时,电路可定位于例如区域925中。然而,ECC解码(Data)可优选在外围区域910中以避免在存储器单元阵列区域920中具有额外信号线。

对于读取数据控制电路,ECC编码(DBI)及DBI编码可由外围区域910中的电路(例如分别定位于区域913及915中的电路)执行。用于读取数据控制电路的ECC解码(Data)可依相同于先前针对写入数据控制电路所描述的方式的方式由外围区域910或存储器单元阵列区域920中的电路执行。

在被提供DBI编码数据D_Data及DBI数据(无用于数据或DBI数据的ECC数据)的写入数据控制电路的实施例中,额外ECC编码(Data)可布置于存储器单元阵列区域920中,其可减少从外围区域910延伸到存储器单元阵列区域920的信号线的数目,信号线可为相对较长信号线。减少相对较长信号线的数目可降低功耗。同样地,用于读取数据控制电路的ECC解码(Data)可布置于存储器单元阵列区域920中。

图9的布局仅供示范且不希望使本公开的范围受限于图9的实例中的特定布局。因此,本公开的其它实施例可包含除图9中所展示的布局之外的写入数据控制电路及读取数据控制电路的布局。

应从上文了解,尽管本文已出于说明目的而描述本公开的特定实施例,但可在不背离本公开的精神及范围的情况下作出各种修改。因此,本公开的范围不应受限于本文中所描述的任何特定实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号