CN109753454B - 半导体装置以及包含半导体装置的半导体系统 - Google Patents

半导体装置以及包含半导体装置的半导体系统 Download PDF

Info

Publication number
CN109753454B
CN109753454B CN201811284034.2A CN201811284034A CN109753454B CN 109753454 B CN109753454 B CN 109753454B CN 201811284034 A CN201811284034 A CN 201811284034A CN 109753454 B CN109753454 B CN 109753454B
Authority
CN
China
Prior art keywords
data
error detection
detection code
data block
error
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.)
Active
Application number
CN201811284034.2A
Other languages
English (en)
Other versions
CN109753454A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN109753454A publication Critical patent/CN109753454A/zh
Application granted granted Critical
Publication of CN109753454B publication Critical patent/CN109753454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及半导体装置以及包含半导体装置的半导体系统。所述半导体装置包括:ECC解码器,其使用用于数据的错误检测码对所述数据执行诊断;ECC编码器,其针对与占构成所述数据的多个位的一部分的位范围等同的第一数据块生成错误检测码并且针对与占所述位的剩余部分的位范围等同的第二数据块生成错误检测码;以及诊断电路,其在所述ECC解码器尚未检测到所述数据中的错误时将所述数据的对应于所述第一数据块的一部分与用于生成所述第一错误检测码的所述第一数据块进行比较,并且将所述数据的对应于所述第二数据块的一部分与用于生成所述第二错误检测码的所述第二数据块进行比较。

Description

半导体装置以及包含半导体装置的半导体系统
相关申请的交叉引用
于2017年11月7日提交的日本专利申请No.2017-214727的、包含说明书、附图和摘要在内的全部公开内容通过引用在此并入本文。
技术领域
本发明涉及半导体装置和包含半导体装置的半导体系统,并且关于例如适合于改善故障检测率同时抑制电路尺寸扩大的半导体装置和包含半导体装置的半导体系统。
背景技术
当在具有不同宽度的总线之间传输数据时,用于在总线之间传输数据的总线桥接器在传输之前和之后改变数据的位宽度。现在,因为改变数据的位宽度涉及改变其错误校正码(ECC)的位宽度,所以需要在传输之前和之后通过合适的ECC替换附加到数据的ECC。在ECC替换期间,不可能使用ECC执行错误检测,并且因此,此类总线桥接器已经遇到故障检测率降低的问题。
在专利文献1中公开了这个问题的解决方案。以专利文献1中所公开的构造采用重复接口电路。通过将两个接口电路的相应输出结果进行比较,在接口连接操作期间针对数据执行错误检测,因此改善故障检测率。
[现有技术文献]
[专利文献]
[专利文献1]
日本未审专利申请公布No.2009-282849
发明内容
然而,在专利文献1的构造中,因为采用重复接口电路(总线桥接器),所以已经形成扩大电路尺寸的问题。其它问题和新颖特征将从本说明书和附图中的描述变得显而易见。
根据一个实施例,一种半导体装置包括:ECC(错误校正码)解码器,其使用从发送电路发送的数据的错误检测码诊断是否在该数据中发生错误;ECC编码器,其针对与占构成所述数据的多个位的一部分的位范围等同的第一分割数据块生成第一错误检测码并且针对与占构成所述数据的所述位的剩余部分的位范围等同的第二分割数据块生成第二错误检测码;以及诊断电路,其在ECC解码器尚未检测到所述数据中的错误时将所述数据的对应于第一分割数据块的一部分与用于在ECC编码器中生成第一错误检测码的第一分割数据块进行比较并且将所述数据的对应于第二分割数据块的一部分与用于在ECC编码器中生成第二错误检测码的第二分割数据块进行比较。
根据一个实施例,一种半导体装置包括:ECC(错误校正码)解码器,其使用从发送电路发送的数据的错误检测码诊断是否在该数据中发生错误;ECC编码器,其针对与占构成所述数据的多个位的一部分的位范围等同的第一分割数据块生成第一错误检测码并且针对与占构成所述数据的所述位的剩余部分的位范围等同的第二分割数据块生成第二错误检测码;以及诊断电路,其使用用于所述数据的错误检测码诊断是否在用于在ECC编码器中生成第一错误检测码的第一分割数据块和用于在ECC编码器中生成第二错误检测码的第二分割数据块中的每一者中发生错误。
根据前述一个实施例,有可能提供使得能够改善故障检测率同时抑制电路尺寸扩大的半导体装置和包含半导体装置的半导体系统。
附图说明
图1是描绘关于第一实施例的半导体系统的构造示例的图。
图2是描绘半导体系统中所提供的半导体装置的另一个具体示例的图。
图3是示出图2中所描绘的半导体装置的操作的流程图。
图4是描绘关于第二实施例的半导体系统的构造示例的图。
具体实施方式
为了描述清楚起见,在以下描述和附图中在适当之处做出缩写和简化。此外,在附图中被描述为用于执行各种处理任务的功能块的所有元件能够在硬件方面使用CPU、存储器和其它电路来构造,并且其在软件方面使用已经加载到存储器中的程序等来实施。因此,本领域的技术人员将理解,这些功能块能够以各种方式实施,即,仅通过硬件、仅通过软件或通过硬件/软件组合,并且其具体实施不限于任何一种方式。现在,在所有附图中向相同元件指派相同参考标号,并且视情况省略重复描述。
此外,前述程序可以使用各种类型的非暂态计算机可读介质来存储,并且能够被供应到计算机。非暂态计算机可读介质包括各种类型的有形存储介质。非暂态计算机可读介质的示例包括磁性记录介质(例如,软盘、磁带或硬盘驱动器)、磁光记录介质(例如,磁光盘)、CD-ROM(只读存储器)、CD-R、CD-R/W以及半导体存储器(例如,掩模ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪存ROM或RAM(随机存取存储器))。所述程序还可以通过各种类型的暂态计算机可读介质被供应到计算机。暂态计算机可读介质的示例包括电信号、光学信号和电磁波。暂态计算机可读介质能够经由诸如电线和光纤等有线通信路径或经由无线通信路径将所述程序供应到计算机。
第一实施例
图1是描绘关于第一实施例的半导体系统SYS1的构造示例的图。当在通过总线桥接器传输之前的数据D1中不存在错误时,关于本实施例的半导体系统SYS1在被传输之前的数据D1与被传输之后的分割数据块D11和D12之间进行比较,并且诊断是否在传输中数据中发生错误。因而,与仅仅采用重复总线桥接器的情况相比,关于本实施例的半导体系统SYS1使得能够改善故障检测率,同时抑制电路尺寸扩大。这将在下文中具体解释。
如图1所描绘,半导体系统SYS1包括发送电路11、接收电路12、总线B11、总线B12、总线桥接器13以及诊断电路14。现在,半导体装置1由总线桥接器13和诊断电路14组成。
发送电路11是用于发送数据D1及其错误检测码C1的电路。发送电路11是(例如)存储器,并且在读取模式中输出存储器的存储区域中所存储的数据D1及其错误检测码C1。数据D1及其错误检测码C1被供应到总线B11。
在本实施例中,作为示例,描述数据D1具有256个位的位宽度并且其错误检测码C1具有10个位的位宽度的情况。现在,符号数据D1[a:b]表示具有宽度a-b+1的数据,所述宽度与数据D1中的从第a位到第b位的位范围(其中a≥b并且a和b两者均为整数)等同。
总线桥接器13在总线B11与B12之间执行数据传输。例如,总线桥接器13将经由总线B11从发送电路11供应的256位宽数据D1划分为128位宽数据块D11和D12,所述数据块适于总线B12的总线宽度,并且将这些数据块依序输出到总线B12。另外,总线桥接器13使用错误检测码C1针对数据D1执行错误检测(并且如有可能,做出校正),并且此外,针对128位宽数据块D11和D12中的每一者生成9位宽错误检测码C11和C12并且将这些码连同数据D11和D12一起输出到总线B12。
在本实施例中,作为示例,描述数据D11对应于与数据D1中的高阶128个位等同的128位宽数据(即,数据D1[255:128])并且数据D12对应于与数据D1中的低阶128个位等同的128位宽数据(即,数据D1[127:0])的情况。
具体地说,总线桥接器13包括ECC解码器131和ECC编码器132。ECC编码器132包括ECC编码器132a和ECC编码器132b。现在,ECC编码器132a和132b中的任一者可以用作单个共用ECC编码器。
针对从发送电路11发送的数据D1使用错误检测码C1,ECC解码器131诊断是否在数据D1中发生错误。例如,如果在数据D1中不发生错误,则ECC解码器131按照原样输出数据D1并且将启用信号EN设置为活动(处于H电平)。否则,如果在数据D1中发生错误,则ECC解码器131校正数据D1并接着将其输出,并且此外,将启用信号EN设置为不活动(处于L电平)。现在,如果不可能校正数据D1,则将启用信号EN固定于不活动状态。
ECC编码器132a针对与数据D1中的高阶128个位等同的128位宽数据D11生成9位宽错误检测码C11。ECC编码器132b针对与数据D1中的低阶128个位等同的128位宽数据D12生成9位宽错误检测码C12。将数据D11与其错误检测码C11的组合以及数据D12与其错误检测码C12的组合依序输出到总线B12。
接收电路12是用于接收被供应到总线B12的数据D11和D12及其错误检测码C11和C12的电路。接收电路12是(例如)中央处理单元(CPU),并且接收从发送电路11发送的数据D1的分割数据块D11和D12及其错误检测码C11和C12。
仅当在由总线桥接器13传输之前的数据D1中不发生错误时(当启用信号EN为活动时),诊断电路14诊断是否在由总线桥接器13传输的数据中发生错误。例如,如果在传输中数据中发生错误,则诊断电路14将错误检测信号设置为活动(处于H电平);如果没有,则诊断电路将错误检测信号设置为不活动(处于L电平)。
具体地说,诊断电路14包括比较器141、比较器142以及逻辑和电路(下文中称为或电路)143。
比较器141仅在启用信号EN为活动时被驱动,并且将数据D1中的高阶128个位(即,数据D1[255:128])与用于生成错误检测码C11的128位宽数据D11进行比较。例如,如果在数据D1[255:128]与数据D11之间存在匹配,则比较器141将比较结果保持为不活动(处于L电平);如果存在失配,则比较器将比较结果设置为活动(处于H电平)。
比较器142仅在启用信号EN为活动时被驱动,并且将数据D1中的低阶128个位(即,数据D1[127:0])与用于生成错误检测码C12的128位宽数据D12进行比较。例如,如果在数据D1[127:0]与数据D12之间存在匹配,则比较器142将比较结果保持为不活动(处于L电平);如果存在失配,则比较器将比较结果设置为活动(处于H电平)。
或电路145输出分别由比较器141和142输出的比较结果的逻辑和作为错误检测信号ER。例如,如果比较器141和142所输出的比较结果两者均指示数据匹配,则或电路145将错误检测信号ER设置为不活动(处于L电平);如果比较器141和142所输出的比较结果中的任一者指示数据失配,则或电路将错误检测信号ER设置为活动(处于H电平)。
如将从前文了解,关于本实施例的半导体系统SYS1在被传输之前的数据D1与被传输之后的分割数据块D11和D12之间进行比较,并且仅当在由总线桥接器13传输之前的数据D1中不存在错误时,诊断是否在传输中数据中发生错误。因而,与仅仅采用重复总线桥接器的情况相比,关于本实施例的半导体系统SYS1使得能够改善故障检测率,同时抑制电路尺寸扩大。因为能够抑制电路尺寸扩大,所以有可能允许足够的空间用于电路布局和信号线布线,并且因而,有可能促进设计以满足时序约束。
在本实施例中,作为示例,描述总线桥接器13将数据D1划分为两个128位宽数据块D11和D12的情况;然而,预期不限于此。总线桥接器13能够视情况被修改为使得总线桥接器13将数据D1划分为三个或更多个数据块的构造。
此外,由总线桥接器13和诊断电路14组成的半导体装置1的构造不限于图1中所描绘的构造,并且能够在不脱离本发明的精神的情况下视情况来修改。下文中借助图2描述半导体装置1的构造的另一个具体示例。
[半导体装置1的构造的另一个具体示例]
图2是描绘作为半导体装置1a的半导体1的构造的另一个具体示例的图。现在,图2中还呈现发送电路11和接收电路12。对于半导体装置1a,其与半导体装置1的部件相同的部件被指派相同参考标号。
如图2所描绘,除了ECC解码器131、ECC编码器132和对应于诊断电路14的诊断电路14a之外,半导体装置1a进一步包括寄存器161至163、选择器164和165以及有效信号输出单元166。现在,总线桥接器13a由除了诊断电路14a以外的半导体装置1a的部件组成。
寄存器161与时钟信号同步地接收来自发送电路11的数据D1及其错误检测码C1。在正常地接收数据D1和错误检测码C1后,寄存器161即刻将有效信号VA设置为活动(处于H电平)。
使用寄存器161所接收的错误检测码C1,ECC解码器131诊断是否在寄存器161所接收的数据D1中发生错误。例如,如果在数据D1中不发生错误,则ECC解码器131按照原样输出数据D1并且将启用信号EN设置为活动(处于H电平)。否则,如果在数据D1中发生错误,则ECC解码器131校正所述数据D1并接着将其输出,并且此外,将启用信号EN设置为不活动(处于L电平)。现在,如果不可能校正数据D1,则将启用信号EN固定于不活动状态。
有效信号输出单元166是(例如)逻辑乘法电路(与电路),并且输出将有效信号VA与启用信号EN一起逻辑相乘的乘积作为有效信号VA_OUT。例如,如果有效信号VA和启用信号EN两者均为活动的,则有效信号输出单元166将有效信号VA_OUT设置为活动的(处于H电平);如果这两个信号中的任一者为不活动的,则这个单元将有效信号VA_OUT设置为不活动(处于L电平)。
现在,如果有效信号VA_OUT为活动的,则接收电路12确定从总线桥接器13a接收的数据D11和D12为有效的;如果有效信号VA_OUT为不活动的,则接收电路12确定从总线桥接器13a接收的数据D11和D12为无效的。
寄存器162与时钟信号同步地接收已经从ECC解码器131输出的不需要校正的数据D1或者经过校正的数据D1以及启用信号EN。同时,寄存器163与时钟信号同步地接收寄存器161所接收的数据D1。
选择器164选择性地输出通过将寄存器162所接收的经过校正的数据D1划分成两个数据块来生成的数据D11和数据D12或者通过将寄存器161所接收的数据D1划分成两个数据块来生成的数据D11和数据D12。
选择器165选择性地输出寄存器163所接收的数据D1中的由高阶128个位构成的数据D1[255:128]和由低阶128个位构成的数据D1[127:0]或者寄存器161所接收的数据D1中的由高阶128个位构成的数据D1[255:128]和由低阶128个位构成的数据D1[127:0]。
ECC编码器132针对从选择器164依序输出的128位宽数据D11和D12生成9位宽错误检测码C11和C12。
诊断电路14a仅在启用信号EN为活动时诊断是否在由总线桥接器13a传输的数据中发生错误。
具体地说,诊断电路14a包括比较器144和逻辑乘法电路(下文中称为与电路)145。比较器144将分别由选择器164和165输出的两个数据进行比较。例如,如果在分别由选择器164和165输出的数据两者之间存在匹配,则比较器144将比较结果保持为不活动(处于L电平);如果存在失配,则比较器将比较结果设置为活动(处于H电平)。如果启用信号EN和有效信号VA_OUT两者均为活动的,则与电路145按照原样输出比较器144所输出的比较结果作为错误检测信号ER;如果启用信号EN或有效信号VA_OUT为不活动的,则与电路将错误检测信号ER设置为不活动,不管比较器144所输出的比较结果如何。
现在,如果有效信号VA_OUT为活动的并且只有错误检测信号ER为不活动的,接收电路12才接受从总线桥接器13a接收的数据D11和D12作为恰当数据。否则,如果错误检测信号ER为活动的,即使有效信号VA_OUT为活动的,接收电路12也不接受从总线桥接器13a接收的数据D11和D12作为恰当数据。
[半导体装置1a的操作]
下文借助于图3描述半导体装置1a的操作。
图3是示出半导体装置1a的操作的流程图。
首先,寄存器161与时钟信号同步地接收来自发送电路11的数据D1及其错误检测码C1(步骤S101)。在正常地接收数据D1和错误检测码C1后,寄存器161将有效信号VA设置为活动(处于H电平)。
选择器164依序选择并输出通过将寄存器161所接收的256位宽数据D1划分为两个数据块来生成的128位宽数据块D11和D12。同时,选择器165依序选择并输出寄存器161所接收的数据D1中的由高阶128个位构成的数据D1[255:128]和由低阶128个位构成的数据D1[127:0]。
ECC编码器132针对从选择器164依序输出的128位宽数据D11和D12中的每一者依序生成9位宽错误检测码C11和C12。
将从选择器164依序输出的在使用ECC检查之前的数据D11和D12依序传送到接收电路12。还将ECC编码器132所生成的错误检测码C11和C12连同数据D11和D12一起依序传送到接收电路12(步骤S102)。
与向接收电路12的数据传送并行地,ECC解码器131对在由总线桥接器13a传输之前的数据D1执行诊断(步骤S103)。
具体地说,ECC解码器131使用寄存器161所接收的错误检测码C1诊断是否在寄存器161所接收的数据D1中发生错误。例如,如果在数据D1中不发生错误,则ECC解码器131按照原样输出数据D1并且将启用信号EN设置为活动(处于H电平)。否则,如果在数据D1中发生错误,则ECC解码器131校正所述数据D1并接着将其输出,并且此外,将启用信号EN设置为不活动(处于L电平)。现在,如果不可能校正数据D1,则将启用信号EN固定于不活动状态。
首先,如果ECC解码器131已经诊断出在被传输之前的数据D1中发生错误(在步骤S104处为否),也就是说,如果ECC解码器131已经将启用信号EN设置为不活动,则有效信号输出单元166将有效信号VA_OUT设置为不活动。因而,接收电路12确定从总线桥接器13a接收的数据D11和D12为无效的(步骤S109)。
随后,选择器164将选择切换到寄存器162所接收的经过校正的数据D1的分割数据块D11和D12,并且依序输出这些数据块D11和D12。ECC编码器132针对从选择器164依序输出的128位宽的经过校正的数据D11和D12中的每一者依序生成9位宽错误检测码C11和C12。
将从选择器164依序输出的经过校正的数据D11和D12依序传送到接收电路12。还将ECC编码器132所生成的错误检测码C11和C12连同经过校正的数据D11和D12一起传送到接收电路12(步骤S110)。
事实上,如果ECC解码器131已经诊断出在被传输之前的数据D1中发生错误,则与ECC解码器131的诊断同时传送的数据在接收电路12处被确定为无效,并且随后,将ECC解码器131所校正的数据D11和D12作为有效数据传送到接收电路12。
现在,此时,有效信号VA_OUT变成不活动的,因为启用信号EN为不活动的,并且因此,诊断电路14a不对由总线桥接器13a传输的数据执行诊断。因而,将诊断电路14a所输出的错误检测信号ER保持为不活动。
接着,如果ECC解码器131已经诊断出在被传输之前的数据D1中不发生错误(在步骤S104处为是),也就是说,如果ECC解码器131已经将启用信号EN设置为活动,则有效信号输出单元166将有效信号VA_OUT设置为活动。因而,接收电路12确定从总线桥接器13a接收的数据D11和D12为有效的(步骤S105)。
此处,因为启用信号EN为活动的,所以诊断电路14a对由总线桥接器13a传输的数据执行诊断(步骤S106)。具体地说,诊断电路14a将从选择器164依序输出的在使用ECC检查之前的数据D11和D12分别与从选择器165依序输出的来自寄存器161的数据块D1[255:128]和D1[127:0]进行比较,从而诊断是否在由总线桥接器13a传输的数据中发生错误。
例如,如果诊断电路14a已经诊断出在传输中数据中发生错误(在步骤S107处为否),也就是说,如果诊断电路14a已经将错误检测信号ER设置为活动,则接收电路12不接受所接收的数据D11和D12作为恰当数据,不管有效信号VA_OUT的值如何(步骤S111)。
否则,如果诊断电路14a已经诊断出在传输中数据中不发生错误(在步骤S107处为是),也就是说,如果诊断电路14a已经将错误检测信号ER设置为不活动,则接收电路接受所接收的数据D11和D12作为恰当数据(步骤S108)。
如将从前文了解,即使当应用半导体装置1a时,半导体系统SYS1在被传输之前的数据D1与被传输之后的分割数据块D11和D12之间进行比较,并且仅当在由总线桥接器13a传输之前的数据D1中不存在错误时,诊断是否在传输中数据中发生错误,这类似于应用半导体装置1的情况。因而,与仅仅采用重复总线桥接器的情况相比,应用半导体装置1a的半导体系统SYS1不需要额外配备有ECC解码器和ECC编码器,所以使得能够抑制电路尺寸扩大。
此外,半导体装置1a同时执行通过ECC解码器131对被传输之前的数据D1的诊断和通过总线桥接器13a从发送电路11到接收电路12的数据传输。仅当ECC解码器131已经诊断出在被传输之前的数据D1中发生错误时,半导体装置1a使已经传送到接收电路12的数据无效并且接着将经过校正的数据新传送到接收电路12。因而,半导体装置1a使得能够迅速地从发送电路11向接收电路12传输数据。
第二实施例
图4是描绘关于第二实施例的半导体系统SYS2的构造示例的图。关于本实施例的半导体系统SYS2使用用于由总线桥接器传输之前的数据D1的错误检测码1诊断是否在被传输之后的分割数据块D11和D12中发生错误。因而,与仅仅采用重复总线桥接器的情况相比,关于本实施例的半导体系统SYS2使得能够改善故障检测率,同时抑制电路尺寸扩大。这将在下文中具体解释。
如图4所描绘,半导体系统SYS2包括发送电路21、接收电路22、总线B21、总线B22、总线桥接器23以及诊断电路24。现在,半导体装置2由总线桥接器23和诊断电路24组成。
发送电路21发送256位宽数据D1及其10位宽错误检测码C1。发送电路21是(例如)存储器,并且在读取模式中输出存储器的存储区域中所存储的数据D1及其错误检测码C1。数据D1及其错误检测码C1被供应到总线B21。
总线桥接器23在总线B21与B22之间执行数据传输。例如,总线桥接器23将经由总线B21从发送电路21供应的256位宽数据D1划分为128位宽数据块D11和D12,所述数据块适于总线B22的总线宽度,并且将这些数据块依序输出到总线B22。另外,总线桥接器23使用错误检测码C1针对数据D1执行错误检测(并且如有可能,做出校正),并且此外,针对128位宽数据块D11和D12中的每一者生成9位宽错误检测码C11和C12并且将这些码连同数据D11、D12一起输出到总线B22。
在本实施例中,作为示例,描述数据D11对应于与数据D1中的高阶128个位等同的128位宽数据(即,数据D1[255:128])并且数据D12对应于与数据D1中的低阶128个位等同的128位宽数据(即,数据D1[127:0])的情况。
具体地说,总线桥接器23包括ECC解码器231和ECC编码器232。ECC编码器232包括ECC编码器232a和ECC编码器232b。现在,ECC编码器232a和232b可以用作单个共用ECC编码器。
针对从发送电路21发送的数据D1使用错误检测码C1,ECC解码器231诊断是否在数据D1中发生错误。例如,如果在数据D1中不发生错误,则ECC解码器231按照原样输出数据D1并且将启用信号EN设置为活动(处于H电平)。否则,如果在数据D1中发生错误,则ECC解码器231尽可能校正所述数据D1并接着将其输出,并且此外,将启用信号EN设置为不活动(处于L电平)。
ECC编码器232a针对与数据D1中的高阶128个位等同的128位宽数据D11生成9位宽错误检测码C11。ECC编码器232b针对与数据D1中的低阶128个位等同的128位宽数据D12生成9位宽错误检测码C12。将数据D11与其错误检测码C11的组合以及数据D12与其错误检测码C12的组合依序输出到总线B22。
接收电路22是用于接收被供应到总线B22的数据D11、D12及其错误检测码C11、C12的电路。接收电路22是(例如)CPU,并且接收从发送电路21发送的数据D1的分割数据块D11和D12及其错误检测码C11和C12。
仅当在由总线桥接器23传输之前的数据D1中不发生错误时(当启用信号EN为活动时),诊断电路24诊断是否在由总线桥接器23传输的数据中发生错误。例如,如果在传输中数据中发生错误,则诊断电路24将错误检测信号ER设置为活动(处于H电平);如果没有,则诊断电路将错误检测信号ER设置为不活动(处于L电平)。
具体地说,诊断电路24具有与ECC解码器231的电路构造相似的电路构造。此处,诊断电路24使用用于由总线桥接器23传输之前的数据D1的错误检测码C1诊断是否在被传输之后的分割数据块D11和D12中发生错误。如果在数据D11和D12中不发生错误,则诊断电路24将错误检测信号ER设置为不活动(处于L电平);如果在数据D11和D12中发生错误,则诊断电路将错误检测信号ER设置为活动(处于H电平)。
如将从前文了解,关于本实施例的半导体系统SYS2使用用于由总线桥接器23传输之前的数据D1的错误检测码C1诊断是否在被传输之后的分割数据块D11和D12中发生错误。因而,与仅仅采用重复总线桥接器的情况相比,关于本实施例的半导体系统SYS2使得能够改善故障检测率,同时抑制电路尺寸扩大。因为能够抑制电路尺寸扩大,所以有可能允许足够的空间用于电路布局和信号线布线,并且因而,有可能促进设计以满足时序约束。
现在,与半导体系统SYS1相比,半导体系统SYS2不需要配备有用于在两个256位宽数据块之间进行比较的比较器,并且因此,使得能够更加缩小电路尺寸。另一方面,半导体系统SYS1在两个256位宽数据块之间进行比较来代替执行ECC检查,并且因此,使得能够更加改善故障检测率。
在本实施例中,作为示例,描述总线桥接器23将数据D1划分为两个128位宽数据块D11和D12的情况;然而,预期不限于此。总线桥接器23能够视情况被修改为使得总线桥接器23将数据D1划分为三个或更多个数据块的构造。
此外,由总线桥接器23和诊断电路24组成的半导体装置2的构造不限于图4中所描绘的构造,并且能够在不脱离本发明的精神的情况下视情况来修改。
如上文所解释,关于前述第一实施例的半导体系统SYS1在被传输之前的数据D1与被传输之后的分割数据块D11和D12之间进行比较,并且当在由总线桥接器传输之前的数据D1中不存在错误时,诊断是否在传输中数据中发生错误。此外,关于前述第二实施例的半导体系统SYS2使用用于由总线桥接器传输之前的数据D1的错误检测码C1诊断是否在传输中数据中发生错误。因而,与仅仅采用重复总线桥接器的情况相比,关于前述第一实施例和第二实施例的半导体系统SYS1、SYS2使得能够改善故障检测率,同时抑制电路尺寸扩大。
尽管上文已经基于其实施例具体描述了本发明的发明人所开发的发明,但将了解,本发明不限于先前所描述的实施例,并且可以在不脱离本发明的主旨的情况下对其做出各种修改。

Claims (11)

1.一种半导体装置,包括:
ECC(错误校正码)解码器,所述ECC解码器使用从发送电路发送的数据的错误检测码,来诊断是否在该数据中发生错误;
ECC编码器,所述ECC编码器针对与占构成所述数据的多个位的一部分的位范围等同的第一分割数据块来生成第一错误检测码,并且针对与占构成所述数据的所述位的剩余部分的位范围等同的第二分割数据块来生成第二错误检测码;以及
诊断电路,在由所述ECC解码器未检测到所述数据中的错误时,所述诊断电路将所述数据中的对应于所述第一分割数据块的一部分与用于在所述ECC编码器中生成所述第一错误检测码的所述第一分割数据块进行比较,并且将所述数据中的对应于所述第二分割数据块的一部分与用于在所述ECC编码器中生成所述第二错误检测码的所述第二分割数据块进行比较。
2.根据权利要求1所述的半导体装置,其中,所述诊断电路被构造为:
在已经由所述ECC解码器检测到所述数据中的错误时,不执行比较。
3.根据权利要求1所述的半导体装置,其中,所述ECC编码器被构造为:
输出所述第一分割数据块与所述第一错误检测码的组合以及所述第二分割数据块与所述第二错误检测码的组合中的任意一个组合,并且相继输出另一个组合。
4.根据权利要求1所述的半导体装置,
其中,所述ECC编码器包括:
第一ECC编码器,所述第一ECC编码器输出所述第一分割数据块和所述第一错误检测码;以及
第二ECC编码器,所述第二ECC编码器输出所述第二分割数据块和所述第二错误检测码。
5.一种半导体系统,包括:
发送电路,所述发送电路发送数据;
如权利要求1所述的半导体装置,所述半导体装置通过将从所述发送电路发送的所述数据划分为分割数据块来生成所述第一分割数据块和所述第二分割数据块,并且分别针对所述第一分割数据块和所述第二分割数据块来生成所述第一错误检测码和所述第二错误检测码;以及
接收电路,所述接收电路接收所述第一分割数据块和所述第二分割数据块、以及所述第一错误检测码和所述第二错误检测码。
6.一种半导体装置,包括:
ECC(错误校正码)解码器,所述ECC解码器使用从发送电路发送的数据的错误检测码,来诊断是否在该数据中发生错误;
ECC编码器,所述ECC编码器针对与占构成所述数据的多个位的一部分的位范围等同的第一分割数据块来生成第一错误检测码,并且针对与占构成所述数据的所述位的剩余部分的位范围等同的第二分割数据块来生成第二错误检测码;以及
诊断电路,所述诊断电路使用所述数据的所述错误检测码,来诊断是否在用于在所述ECC编码器中生成所述第一错误检测码的所述第一分割数据块和用于在所述ECC编码器中生成所述第二错误检测码的所述第二分割数据块中的每一者中发生错误。
7.根据权利要求6所述的半导体装置,其中,所述诊断电路被构造为:
仅在由所述ECC解码器未检测到所述数据中的错误时,执行诊断。
8.根据权利要求6所述的半导体装置,
其中,所述诊断电路包括与所述ECC解码器的电路构造相同的电路构造。
9.根据权利要求6所述的半导体装置,
其中,所述ECC编码器被构造为输出所述第一分割数据块与所述第一错误检测码的组合以及所述第二分割数据块与所述第二错误检测码的组合中的任意一个组合,并且相继输出另一个组合。
10.根据权利要求6所述的半导体装置,
其中,所述ECC编码器包括:
第一ECC编码器,所述第一ECC编码器输出所述第一分割数据块和所述第一错误检测码;以及
第二ECC编码器,所述第二ECC编码器输出所述第二分割数据块和所述第二错误检测码。
11.一种半导体系统,包括:
发送电路,所述发送电路发送数据;
如权利要求6所述的半导体装置,所述半导体装置通过将从所述发送电路发送的所述数据划分为分割数据块来生成所述第一分割数据块和所述第二分割数据块,并且分别针对所述第一分割数据块和所述第二分割数据块来生成所述第一错误检测码和所述第二错误检测码;以及
接收电路,所述接收电路接收所述第一分割数据块和所述第二分割数据块、以及所述第一错误检测码和所述第二错误检测码。
CN201811284034.2A 2017-11-07 2018-10-31 半导体装置以及包含半导体装置的半导体系统 Active CN109753454B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017214727A JP6861611B2 (ja) 2017-11-07 2017-11-07 半導体装置及びそれを備えた半導体システム
JP2017-214727 2017-11-07

Publications (2)

Publication Number Publication Date
CN109753454A CN109753454A (zh) 2019-05-14
CN109753454B true CN109753454B (zh) 2023-07-07

Family

ID=63708083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811284034.2A Active CN109753454B (zh) 2017-11-07 2018-10-31 半导体装置以及包含半导体装置的半导体系统

Country Status (5)

Country Link
US (1) US10891186B2 (zh)
EP (1) EP3480958B1 (zh)
JP (1) JP6861611B2 (zh)
KR (1) KR20190051835A (zh)
CN (1) CN109753454B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795767B2 (en) * 2018-12-26 2020-10-06 M31 Technology Corporation Error correcting system shared by multiple memory devices
KR20210022260A (ko) 2019-08-20 2021-03-03 삼성전자주식회사 메모리 컨트롤러의 구동방법, 메모리 컨트롤러 및 스토리지 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930001190A (ko) * 1991-06-29 1993-01-16 강진구 디지탈 데이타의 에러 정정장치
JPH07129427A (ja) * 1993-11-01 1995-05-19 Fujitsu Ltd Eccコードによるデータの比較チェック方法
JPH07129477A (ja) * 1993-11-05 1995-05-19 Oki Electric Ind Co Ltd エラー検出訂正装置
US5973601A (en) * 1995-12-06 1999-10-26 Campana, Jr.; Thomas J. Method of radio transmission between a radio transmitter and radio receiver
JP3454962B2 (ja) * 1995-03-23 2003-10-06 株式会社東芝 誤り訂正符号の符号器及び復号器
JP2002116961A (ja) 2000-10-11 2002-04-19 Nec Corp シリアル通信装置およびシリアル通信方法
CN100428633C (zh) * 2001-06-29 2008-10-22 日本胜利株式会社 数字信号的调制方法及调制装置
EP2180600A1 (en) 2002-04-22 2010-04-28 Fujitsu Limited Error detecting apparatus for decoding two layers of error detection
JP4368587B2 (ja) 2003-01-14 2009-11-18 富士通株式会社 バスブリッジ回路、バス接続システム、及びバスブリッジ回路のデータエラー通知方法
US7865809B1 (en) * 2004-03-11 2011-01-04 Super Talent Electronics, Inc. Data error detection and correction in non-volatile memory devices
JP4260688B2 (ja) * 2004-06-09 2009-04-30 富士通株式会社 データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法
JP4494238B2 (ja) * 2005-02-03 2010-06-30 株式会社エヌ・ティ・ティ・ドコモ Mimo多重送信装置およびmimo多重送信方法
JP4905839B2 (ja) * 2005-10-18 2012-03-28 日本電気株式会社 Mramの動作方法
KR100856129B1 (ko) * 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
KR101110975B1 (ko) * 2007-07-10 2012-03-14 미쓰비시덴키 가부시키가이샤 송신 장치 및 통신 시스템
JP2009282849A (ja) 2008-05-23 2009-12-03 Renesas Technology Corp マイクロコンピュータ
US8495479B1 (en) * 2010-11-22 2013-07-23 Marvell International Ltd. Defect detection and correction via monitoring of syndromes and bit flips in decoder
KR20130086887A (ko) * 2012-01-26 2013-08-05 삼성전자주식회사 메모리 버퍼, 이를 포함하는 장치들 및 이의 데이터 처리 방법
JP2013222285A (ja) * 2012-04-16 2013-10-28 Fujitsu Semiconductor Ltd バス回路および半導体装置
US9258389B2 (en) * 2012-08-13 2016-02-09 Gurulogic Microsystems Oy Encoder and method
US10127101B2 (en) * 2015-08-28 2018-11-13 Intel Corporation Memory device error check and scrub mode and error transparency

Also Published As

Publication number Publication date
US20190138389A1 (en) 2019-05-09
US10891186B2 (en) 2021-01-12
CN109753454A (zh) 2019-05-14
EP3480958B1 (en) 2021-08-04
EP3480958A1 (en) 2019-05-08
KR20190051835A (ko) 2019-05-15
JP2019087020A (ja) 2019-06-06
JP6861611B2 (ja) 2021-04-21

Similar Documents

Publication Publication Date Title
JP4649472B2 (ja) 送信モジュール、受信モジュール、及びシステム
US10230495B2 (en) CRC calculation circuit, semiconductor device, and radar system
CN109753454B (zh) 半导体装置以及包含半导体装置的半导体系统
JP2000112834A (ja) メモリ部品障害を訂正するためにデ―タを区分するための技法
JPH08255111A (ja) 誤り訂正検出回路と半導体記憶装置
JP2007166031A (ja) Crc値の算出装置
US11829241B2 (en) Serializing and deserializing stage testing
EP1515235A1 (en) Error decoding circuit, data bus control method and data bus system
US8560932B2 (en) Digital system and a method for error detection thereof
JPH0831856B2 (ja) 故障信号搬送ラインを予備信号搬送ラインで置き換える装置及び方法
JP2010211347A (ja) 情報処理装置及びエラー検出方法
EP2288069A1 (en) Information processor, data transmission device, and data transfer method of the data transmission device
EP1683018B1 (en) Autonomic bus reconfiguration for fault conditions
JP5344577B2 (ja) メモリ制御装置及び制御方法
US11899062B2 (en) Basic logic element, semiconductor device including the same, output control method for basic logic element, and non-transitory computer readable medium
CN107992018B (zh) 控制系统
JP6875661B2 (ja) 誤り検出用冗長ビットの生成方法および装置
KR20080020468A (ko) 반도체 메모리 시험 장치
JP2005070822A (ja) 情報処理装置
US20190068226A1 (en) Code word generating method, erroneous bit determining method, and circuits thereof
JP3730877B2 (ja) エラー報告方式及びその方法
EP4266585A1 (en) Data error correction circuit and data transmission method
US10848373B2 (en) Processor and information processing apparatus
JP2000222294A (ja) 計算機システム及びバス障害回復方法
JP6490316B1 (ja) 出力判定回路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant