CN109753454B - 半导体装置以及包含半导体装置的半导体*** - Google Patents
半导体装置以及包含半导体装置的半导体*** Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3776—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (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所述的半导体装置,所述半导体装置通过将从所述发送电路发送的所述数据划分为分割数据块来生成所述第一分割数据块和所述第二分割数据块,并且分别针对所述第一分割数据块和所述第二分割数据块来生成所述第一错误检测码和所述第二错误检测码;以及
接收电路,所述接收电路接收所述第一分割数据块和所述第二分割数据块、以及所述第一错误检测码和所述第二错误检测码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-214727 | 2017-11-07 | ||
JP2017214727A JP6861611B2 (ja) | 2017-11-07 | 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)
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)
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 |
-
2017
- 2017-11-07 JP JP2017214727A patent/JP6861611B2/ja active Active
-
2018
- 2018-08-29 US US16/116,650 patent/US10891186B2/en active Active
- 2018-09-14 EP EP18194548.6A patent/EP3480958B1/en active Active
- 2018-10-31 CN CN201811284034.2A patent/CN109753454B/zh active Active
- 2018-11-02 KR KR1020180133434A patent/KR20190051835A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
EP3480958B1 (en) | 2021-08-04 |
JP2019087020A (ja) | 2019-06-06 |
EP3480958A1 (en) | 2019-05-08 |
CN109753454A (zh) | 2019-05-14 |
US20190138389A1 (en) | 2019-05-09 |
US10891186B2 (en) | 2021-01-12 |
JP6861611B2 (ja) | 2021-04-21 |
KR20190051835A (ko) | 2019-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4649472B2 (ja) | 送信モジュール、受信モジュール、及びシステム | |
CN109753454B (zh) | 半导体装置以及包含半导体装置的半导体*** | |
JPH08255111A (ja) | 誤り訂正検出回路と半導体記憶装置 | |
US20180041308A1 (en) | Crc calculation circuit, semiconductor device, and radar system | |
JP2007166031A (ja) | Crc値の算出装置 | |
US20220374306A1 (en) | Serializing and deserializing stage testing | |
KR20190132238A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US20050066258A1 (en) | Error decoding circuit, data bus control method and data bus system | |
US8312340B2 (en) | Information processing device, data transmitting device, and data transfer method of data transmitting device | |
JP2010211347A (ja) | 情報処理装置及びエラー検出方法 | |
EP1683018B1 (en) | Autonomic bus reconfiguration for fault conditions | |
EP3418895A1 (en) | Codeword generation method, error bit determination method and circuit thereof | |
KR20080020468A (ko) | 반도체 메모리 시험 장치 | |
WO2020217589A1 (ja) | 基本論理素子、それを備えた半導体装置、基本論理素子の出力制御方法及び非一時的なコンピュータ可読媒体 | |
JP6875661B2 (ja) | 誤り検出用冗長ビットの生成方法および装置 | |
JP2010191761A (ja) | メモリ制御装置及び制御方法 | |
JP2005070822A (ja) | 情報処理装置 | |
US20230283298A1 (en) | Data error correction circuit and data transmission method | |
JP3730877B2 (ja) | エラー報告方式及びその方法 | |
WO2006027742A1 (en) | Fault tolerant bus | |
US9542266B2 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit | |
US10848373B2 (en) | Processor and information processing apparatus | |
JP2000222294A (ja) | 計算機システム及びバス障害回復方法 | |
JP3897172B2 (ja) | 回路における障害回避方式 | |
JP3600561B2 (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 |