JP2015001774A - 半導体集積回路及びその処理方法 - Google Patents

半導体集積回路及びその処理方法 Download PDF

Info

Publication number
JP2015001774A
JP2015001774A JP2013124784A JP2013124784A JP2015001774A JP 2015001774 A JP2015001774 A JP 2015001774A JP 2013124784 A JP2013124784 A JP 2013124784A JP 2013124784 A JP2013124784 A JP 2013124784A JP 2015001774 A JP2015001774 A JP 2015001774A
Authority
JP
Japan
Prior art keywords
parity
output
circuit
error
value
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.)
Withdrawn
Application number
JP2013124784A
Other languages
English (en)
Inventor
千佳広 出口
Chikahiro Deguchi
千佳広 出口
裕 関野
Yutaka Sekino
裕 関野
嘉樹 奥村
Yoshiki Okumura
嘉樹 奥村
浩章 渡邉
Hiroaki Watanabe
浩章 渡邉
直樹 前沢
Naoki Maezawa
直樹 前沢
秀幸 根木
Hideyuki Negi
秀幸 根木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013124784A priority Critical patent/JP2015001774A/ja
Priority to US14/287,635 priority patent/US9542266B2/en
Publication of JP2015001774A publication Critical patent/JP2015001774A/ja
Withdrawn legal-status Critical Current

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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • 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/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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1145Pipelined decoding at code word level, e.g. multiple code words being decoded simultaneously
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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
    • 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
    • H04L1/0063Single parity check
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Semiconductor Memories (AREA)

Abstract

【課題】ソフトエラーが発生した場合にも正常な動作を継続することができる半導体集積回路を提供することを課題とする。【解決手段】半導体集積回路は、入力信号に応じたステート値及びステート値のパリティ値を出力する組合せ回路(103)と、組合せ回路により出力されるステート値及びパリティ値を記憶する第1及び第2のフリップフロップ回路(111,113,121,123)と、第1及び第2のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第1及び第2のパリティエラーを出力する第1及び第2のパリティチェック回路(112,122)と、第1及び第2のパリティエラーに応じて第1又は第2のフリップフロップ回路に記憶されているステート値を組合せ回路に出力するセレクタ(104)とを有し、組合せ回路は、そのステート値及び入力信号に応じて今回のステート値を出力する。【選択図】図1

Description

本発明は、半導体集積回路及びその処理方法に関する。
正確なマシン状態を維持するためのカスケード型遅延実行パイプラインが知られている(例えば、特許文献1参照)。エラー検出及び回復を容易にするために、各パイプラインのステージを書き戻す前に1サイクル又は複数サイクルの遅延が挿入される。正確なマシン状態が維持されるので、エラー検出及び回復機構がシステムのレジスタ・ファイルに直接組み込まれる。エラーが検出される場合、そのエラーに関連した命令及びすべての後続の命令の実行が再開される。
また、二重化したメモリ装置が知られている(例えば、特許文献2参照)。パリティ回路は、読み出し時に、1ビットエラーを検出する。選択回路は、1ビットエラーを検出したら二重化したメモリ装置の内、正常な方のメモリ装置のデータを使用して処理を継続する。2ビット以上のエラーを検出する為の二重化データ比較回路を持つメモリ装置に、初期診断時に、二重化メモリ装置の片系の2ビット以上の固定障害を検出したとき、対応するメモリ装置のアドレスのみ無効/有効を指示する。アドレスの無効信号により、二重化データ比較回路を無効にする。アドレスのみ無効/有効を指示する手段が有効を指示しており、且つパリティエラーを検出していないアドレスを持つ系のデータを使用することを指示する。
また、メモリ部のソフトエラーの蓄積による2ビットエラーなどの発生を未然に防止し、より信頼性の高い二重化メモリ装置が知られている(例えば、特許文献3参照)。タイマーは、所定の時間間隔が設定される。バス・アービターは、タイマーから所定の時間間隔ごとに出力されるチェック要求を受けCPU部から二重化された第1,第2のメモリ部へのアクセスを禁止する。アドレス発生器は、タイマーからのチェック要求に基づいて起動され第1,第2のメモリ部の全領域を掃引するアドレスを発生する。パリティチェック手段は、第1,第2のメモリ部の該当アドレスから読み出されたデータのパリティチェックを行う。エラー訂正手段は、パリティチェック手段でエラーが検出された場合、正しいデータをエラーが発生した側のメモリ部のエラー領域に書き込む。
特開2009−9570号公報 特開平7−160587号公報 特開平5−88990号公報
ステートマシン内のメモリ部にソフトエラー等が要因のビットエラーが発生した場合、パリティチェックによりビットエラーを検出することができるが、エラーを訂正することはできない。そのため、一度エラーが発生してしまうとステートマシンの動作を継続させることができないという課題がある。
また、特許文献2では、正常動作しているメモリ装置に切り替えても、さらにそのメモリ装置に異常が発生してしまうと処理を継続させることができなくなってしまう課題がある。
また、特許文献3では、メモリ部を2重化し、所定の時間間隔でパリティチェック及びエラー訂正を行う場合、パリティチェックの周期の間にエラーが発生した場合、次のパリティチェックまでの間、メモリ部はエラー状態のままとなる。そのため、メモリ部は常に正常な値とはならず、エラー発生から訂正されるまでの間にメモリ部を読み出した場合、異常値を処理してしまうことになる。
本発明の目的は、ソフトエラー等のビットエラーが発生した場合にも正常な動作を継続することができる半導体集積回路及びその処理方法を提供することである。
半導体集積回路は、入力信号に応じたステート値及び前記ステート値のパリティ値を出力する第1の組合せ回路と、前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第1のフリップフロップ回路と、前記第1のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第1のパリティエラーを出力する第1のパリティチェック回路と、前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第2のフリップフロップ回路と、前記第2のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第2のパリティエラーを出力する第2のパリティチェック回路と、前記第1のパリティエラーが出力されずに前記第2のパリティエラーが出力された場合には前記第1のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力し、前記第1のパリティエラーが出力されて前記第2のパリティエラーが出力されない場合には前記第2のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力するセレクタとを有し、前記第1の組合せ回路は、前記セレクタにより出力されたステート値及び前記入力信号に応じて今回のステート値を出力する。
ソフトエラー等により第1又は第2のパリティエラーが出力された場合、セレクタは正常なステート値を第1の組合せ回路に出力するので、第1及び第2のフリップフロップ回路に記憶されるステート値は正常値に回復され、正常な動作を継続することができる。
図1は、本実施形態による半導体集積回路の構成例を示す図である。 図2は、図1のメインステートマシンフリップフロップ回路の構成例を示す図である。 図3は、図1のセレクタの構成例を示す図である。 図4は、図1の半導体集積回路の処理方法を示すフローチャートである。 図5は、図1の半導体集積回路の動作例を示すタイミングチャートである。 図6は、図1の半導体集積回路をシーケンサとして用いる例を示す図である。
図1は、本実施形態による半導体集積回路の構成例を示す図である。半導体集積回路は、ステートマシンであり、第1の組合せ回路103と、メインステートマシン部101と、サブステートマシン部102と、セレクタ104とを有する。半導体集積回路は、入力信号INを入力し、出力信号OUT及びパリティエラーPeを出力する。入力信号INは、複数ビットの入力信号IN_A〜IN_Xを有する。出力信号OUTは、複数ビットの出力信号OUT_A〜OUT_Xを有する。
第1の組合せ回路103は、複数ビット入力信号INの組合せに応じた複数ビットステート値Fa及び1ビットパリティ値Paをメインステートマシン部101及びサブステートマシン部102に出力する。奇数パリティの場合、第1の組合せ回路103は、複数ビットステート値Faのうちの「1」のビット数が、偶数の場合には「1」のパリティ値Paを出力し、奇数の場合には「0」のパリティ値Paを出力する。また、偶数パリティの場合、第1の組合せ回路103は、複数ビットステート値Faのうちの「1」のビット数が、奇数の場合には「1」のパリティ値Paを出力し、偶数の場合には「0」のパリティ値Paを出力する。
メインステートマシン部101は、メインステートマシンフリップフロップ回路111、メインパリティチェック回路112及びメインステートマシンパリティフリップフロップ回路113を有する。メインステートマシンフリップフロップ回路111及びメインステートマシンパリティフリップフロップ回路113は、第1のフリップフロップ回路である。メインステートマシンフリップフロップ回路111は、複数ビットステート値Faを入力し、複数ビットステート値Fam及び複数ビット出力信号OUTmを出力する。
図2は、図1のメインステートマシンフリップフロップ回路111の構成例を示す図である。複数ビットステート値Fa[0]〜Fa[n]は、図1の複数ビットステート値Faに対応する。複数ビットステート値Fam[0]〜Fam[n]は、図1の複数ビットステート値Famに対応する。メインステートマシンフリップフロップ回路111は、複数のフリップフロップ201及び第2の組合せ回路202を有する。複数のフリップフロップ201は、それぞれ、クロック信号CLK(図4)に同期して、複数ビットステート値Fa[0]〜Fa[n]をラッチ及び記憶し、その記憶しているステート値を複数ビットステート値Fam[0]〜Fam[n]として出力する。第2の組合せ回路202は、複数ビットステート値Fam[0]〜Fam[n]の組合せに応じた複数ビット出力信号OUTmを出力する。出力信号OUTmは、例えばメモリのライトイネーブル信号等を含む。
図1において、メインステートマシンパリティフリップフロップ回路113は、クロック信号CLK(図4)に同期して、1ビットパリティ値Paをラッチ及び記憶し、その記憶しているパリティ値を1ビットパリティ値Pamとして出力する。
メインパリティチェック回路112は、第1のパリティチェック回路であり、メインステートマシンフリップフロップ回路111に記憶される複数ビットステート値Fam及びメインステートマシンパリティフリップフロップ回路113に記憶される1ビットパリティ値Pamを基にパリティチェックを行い、エラーの場合には「1」の第1のパリティエラーPmを出力する。奇数パリティの場合、メインパリティチェック回路112は、排他的論理和回路であり、複数ビットステート値Fam及び1ビットパリティ値Pamのうちの「1」のビット数が、奇数の場合にはエラーなしとして「0」の第1のパリティエラーPmを出力し、偶数の場合にはエラーありとして「1」の第1のパリティエラーPmを出力する。これに対し、偶数パリティの場合、メインパリティチェック回路112は、複数ビットステート値Fam及び1ビットパリティ値Pamのうちの「1」のビット数が、偶数の場合にはエラーなしとして「0」の第1のパリティエラーPmを出力し、奇数の場合にはエラーありとして「1」の第1のパリティエラーPmを出力する。
メインステートマシンフリップフロップ回路111に記憶されている複数ビットステート値Fam又はメインステートマシンパリティフリップフロップ回路113に記憶されている1ビットパリティ値Pamは、ソフトエラー等のビットエラーにより、値が論理反転してしまうことがある。ソフトエラーの場合、宇宙線等の放射線がフリップフロップ回路111又は113に衝突し、フリップフロップ回路111又は113のメモリセルに蓄積されている電荷量が変化し、記憶している値が書き換わってしまう一時的なエラーが発生する。ソフトエラー等のビットエラーにより、複数ビットステート値Fam及び1ビットパリティ値Pamのうちの1ビットの値が書き換わってしまう場合がある。その場合、メインパリティチェック回路112は、エラーを検出し、「1」の第1のパリティエラーPmを出力する。
サブステートマシン部102は、サブステートマシンフリップフロップ回路121、サブパリティチェック回路122及びサブステートマシンパリティフリップフロップ回路123を有する。サブステートマシンフリップフロップ回路121及びサブステートマシンパリティフリップフロップ回路123は、第2のフリップフロップ回路である。サブステートマシンフリップフロップ回路121は、複数ビットステート値Faを入力し、複数ビットステート値Fas及び複数ビット出力信号OUTsを出力する。
サブステートマシンフリップフロップ回路121は、図2のメインステートマシンフリップフロップ回路111と同様に、複数のフリップフロップ201及び第3の組合せ回路202を有する。サブステートマシンフリップフロップ回路121内の組合せ回路202は、メインステートマシンフリップフロップ回路111内の組合せ回路202と同じ構成を有する。複数のフリップフロップ201は、それぞれ、クロック信号CLK(図4)に同期して、複数ビットステート値Fa[0]〜Fa[n]をラッチ及び記憶し、その記憶しているステート値を複数ビットステート値Fas[0]〜Fas[n]として出力する。第3の組合せ回路202は、複数ビットステート値Fas[0]〜Fas[n]の組合せに応じた複数ビット出力信号OUTsを出力する。出力信号OUTsは、例えばメモリのライトイネーブル信号等を含む。
図1において、サブステートマシンパリティフリップフロップ回路123は、クロック信号CLK(図4)に同期して、1ビットパリティ値Paをラッチ及び記憶し、その記憶しているパリティ値を1ビットパリティ値Pasとして出力する。
サブパリティチェック回路122は、第2のパリティチェック回路であり、サブステートマシンフリップフロップ回路121に記憶される複数ビットステート値Fas及びサブステートマシンパリティフリップフロップ回路123に記憶される1ビットパリティ値Pasを基にパリティチェックを行い、エラーの場合には「1」の第2のパリティエラーPsを出力する。奇数パリティの場合、サブパリティチェック回路122は、排他的論理和回路であり、複数ビットステート値Fas及び1ビットパリティ値Pasのうちの「1」のビット数が、奇数の場合にはエラーなしとして「0」の第2のパリティエラーPsを出力し、偶数の場合にはエラーありとして「1」の第2のパリティエラーPsを出力する。これに対し、偶数パリティの場合、サブパリティチェック回路122は、複数ビットステート値Fas及び1ビットパリティ値Pasのうちの「1」のビット数が、偶数の場合にはエラーなしとして「0」の第2のパリティエラーPsを出力し、奇数の場合にはエラーありとして「1」の第2のパリティエラーPsを出力する。ソフトエラー等のビットエラーにより、複数ビットステート値Fas及び1ビットパリティ値Pasのうちの1ビットの値が書き換わってしまう場合がある。その場合、サブパリティチェック回路122は、エラーを検出し、「1」の第2のパリティエラーPsを出力する。
セレクタ104は、メインステートマシン部101から複数ビットステート値Fam、複数ビット出力信号OUTm、第1のパリティエラーPm及び1ビットパリティ値Pamを入力し、サブステートマシン部102から複数ビットステート値Fas、複数ビット出力信号OUTs、第2のパリティエラーPs及び1ビットパリティ値Pasを入力し、複数ビットステート値Fb及び1ビットパリティ値Pbを第1の組合せ回路103に出力し、複数ビット出力信号OUT及びパリティエラーPeを外部に出力する。
図3は、図1のセレクタ104の構成例を示す図である。セレクタ104は、セレクタ301〜303及び論理積(AND)回路304を有する。セレクタ301〜303は、第1のパリティエラーPmが「0」の場合には、メインステートマシン部101にエラーがないので、メインステートマシン部101の複数ビットステート値Fam、1ビットパリティ値Pam及び複数ビット出力信号OUTmを選択し、それぞれ、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。これに対し、セレクタ301〜303は、第1のパリティエラーPmが「1」の場合には、メインステートマシン部101にエラーがあるので、サブステートマシン部102の複数ビットステート値Fas、1ビットパリティ値Pas及び複数ビット出力信号OUTsを選択し、それぞれ、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。
なお、パリティエラーPm及びPsが共に「0」である場合には、メインステートマシン部101及びサブステートマシン部102は共にエラーなしであるので、セレクタ301〜303は、メインステートマシン部101及びサブステートマシン部102のいずれの出力信号を選択してもよい。
また、パリティエラーPm及びPsが共に「1」である場合には、メインステートマシン部101及びサブステートマシン部102は共にエラーありであるので、セレクタ301〜303は、メインステートマシン部101及びサブステートマシン部102のいずれの出力信号を選択してもよい。
以上のように、セレクタ104は、第1のパリティエラーPmが「0」でありかつ第2のパリティエラーPsが「1」である場合には、複数ビットステート値Fam、1ビットパリティ値Pam及び複数ビット出力信号OUTmを選択し、それぞれ、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。
また、セレクタ104は、第1のパリティエラーPmが「1」でありかつ第2のパリティエラーPsが「0」である場合には、複数ビットステート値Fas、1ビットパリティ値Pas及び複数ビット出力信号OUTsを選択し、それぞれ、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。
また、セレクタ104は、第1のパリティエラーPmが「0」でありかつ第2のパリティエラーPsが「0」である場合には、メインステートマシン部101又は102の出力信号を選択し、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。
また、セレクタ104は、第1のパリティエラーPmが「1」でありかつ第2のパリティエラーPsが「1」である場合には、メインステートマシン部101又は102の出力信号を選択し、複数ビットステート値Fb、1ビットパリティ値Pb及び複数ビット出力信号OUTとして出力する。
論理積回路304は、パリティエラー出力回路であり、第1のパリティエラーPm及び第2のパリティエラーPsの論理積をパリティエラーPeとして出力する。すなわち、論理積回路304は、第1のパリティエラーPmが「1」かつ第2のパリティエラーPsが「1」である場合に「1」のパリティエラーPeを出力し、それ以外の場合には「0」のパリティエラーPeを出力する。パリティエラーPeが「1」の場合にはエラーありであり、パリティエラーPeが「0」の場合にはエラーなしである。
第1の組合せ回路103は、セレクタ104により出力された前回の複数ビットステート値Fb及び前回のパリティ値Pb並びに入力信号INに応じて、今回の複数ビットステート値Fa及び今回の1ビットパリティ値Paをメインステートマシン部101及びサブステートマシン部102に出力する。
例えば、ソフトエラー等によりメインステートマシンフリップフロップ回路111の複数ビットステート値Famにビットエラーが発生した場合には、セレクタ104は、エラーがないサブステートマシンフリップフロップ回路121の複数ビットステート値Fasを選択し、第1の組合せ回路103に出力する。第1の組合せ回路103は、正しい前回の複数ビットステート値Fbを入力するので、正しい今回の複数ビットステート値Faをメインステートマシンフリップフロップ回路111及びサブステートマシンフリップフロップ回路121に出力する。これにより、メインステートマシンフリップフロップ回路111及びサブステートマシンフリップフロップ回路121は、正しい今回の複数ビットステート値Faを、それぞれ複数ビットステート値Fam及びFasとして記憶することができる。すなわち、メインステートマシンフリップフロップ回路111は、ソフトエラーが解消され、正常状態に戻ることになる。
同様に、ソフトエラー等によりサブステートマシンフリップフロップ回路121の複数ビットステート値Fasにビットエラーが発生した場合には、セレクタ104は、エラーがないメインステートマシンフリップフロップ回路111の複数ビットステート値Famを選択し、第1の組合せ回路103に出力する。第1の組合せ回路103は、正しい前回の複数ビットステート値Fbを入力するので、正しい今回の複数ビットステート値Faをメインステートマシンフリップフロップ回路111及びサブステートマシンフリップフロップ回路121に出力する。これにより、メインステートマシンフリップフロップ回路111及びサブステートマシンフリップフロップ回路121は、正しい今回の複数ビットステート値Faを、それぞれ複数ビットステート値Fam及びFasとして記憶することができる。すなわち、サブステートマシンフリップフロップ回路121は、ソフトエラーが解消され、正常状態に戻ることになる。
例えば、セレクタ104が第1の組合せ回路103に正しい複数ビットステート値Fbをフィードバックしない場合には、メインステートマシンフリップフロップ回路111にソフトエラーが発生すると、メインステートマシンフリップフロップ回路111はエラーを修復することができない。その後、サブステートマシンフリップフロップ回路121にもソフトエラーが発生すると、メインステートマシンフリップフロップ回路111及びサブステートマシンフリップフロップ回路121はエラー状態になり、正常動作を行うことができなくなってしまう。
これに対し、本実施形態は、セレクタ104が第1の組合せ回路103に正しい複数ビットステート値Fbをフィードバックするので、メインステートマシンフリップフロップ回路111にソフトエラーが発生しても、メインステートマシンフリップフロップ回路111は正常状態に回復することができる。したがって、その後、サブステートマシンフリップフロップ回路121にソフトエラーが発生しても、メインステートマシンフリップフロップ回路111は正常状態に回復されているので、正常動作を維持することができる。
ただし、第1のパリティエラーPm及び第2のパリティエラーPsが共に「1」になった場合には、メインステートマシン部101及びサブステートマシン部102が共にエラー状態であるので、メインステートマシン部101及びサブステートマシン部102は回復不能であり、パリティエラーPeは「1」になる。セレクタ104は、エラー状態の複数ビットステート値Fb及び1ビットパリティ値Pbを第1の組合せ回路103に出力するので、以降の動作はエラー状態であり、回復不能である。
第1の組合せ回路103は、入力信号IN及び前回の複数ビットステート値Fbを基に今回の複数ビットステート値Faを生成し、今回の複数ビットステート値Faのみから今回の1ビットパリティ値Paを生成することもできる。しかし、その場合、パリティエラーPeが「1」になった後でも、メインパリティチェック回路111及びサブパリティチェック回路121は、それぞれ、「0」の第1のパリティエラーPm及び「0」の第2のパリティエラーPsを出力してしまう。その結果、パリティエラーPeは「1」から「0」に戻ってしまう。しかし、上記のように、パリティエラーPeが「1」になった後は、回復不能であり、エラー状態が維持される。それにもかかわらず、パリティエラーPeが「1」から「0」に戻ってしまうと、外部ではエラーがないものとして誤認識し、誤った処理をしてしまう場合がある。そこで、パリティエラーPeは、一度、「1」になったら、その後も「1」を維持する機能が望まれる。以下、その機能を説明する。
第1の組合せ回路103は、セレクタ104により出力された前回のパリティ値Pbを用いて今回のパリティ値Paを生成して出力する。以下、その生成方法を説明する。
第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数を2で割った余りとセレクタ104により出力された前回の複数ビットステート値Fbの「1」のビット数を2で割った余りとが同じ場合には、セレクタ104により出力された前回の1ビットパリティ値Pbを今回の1ビットパリティ値Paとして出力する。
また、第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数を2で割った余りとセレクタ104により出力された複数ビットステート値Fbの「1」のビット数を2で割った余りとが異なる場合には、セレクタ104により出力された1ビットパリティ値Pbの論理反転値を今回の1ビットパリティ値Paとして出力する。
すなわち、第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数が奇数であり、かつセレクタ104により出力された前回の複数ビットステート値Fbの「1」のビット数が奇数である場合には、セレクタ104により出力された前回の1ビットパリティ値Pbを今回の1ビットパリティ値Paとして出力する。
また、第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数が偶数であり、かつセレクタ104により出力された前回の複数ビットステート値Fbの「1」のビット数が偶数である場合には、セレクタ104により出力された前回の1ビットパリティ値Pbを今回の1ビットパリティ値Paとして出力する。
また、第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数が奇数であり、かつセレクタ104により出力された前回の複数ビットステート値Fbの「1」のビット数が偶数である場合には、セレクタ104により出力された前回の1ビットパリティ値Pbの論理反転値を今回の1ビットパリティ値Paとして出力する。
また、第1の組合せ回路103は、今回出力する複数ビットステート値Faの「1」のビット数が偶数であり、かつセレクタ104により出力された前回の複数ビットステート値Fbの「1」のビット数が奇数である場合には、セレクタ104により出力された前回の1ビットパリティ値Pbの論理反転値を今回の1ビットパリティ値Paとして出力する。
これにより、第1のパリティエラーPm及び第2のパリティエラーPsが共に「1」になった場合は、メインパリティチェック回路112は次回も「1」の第1のパリティエラーPmを出力し、サブパリティチェック回路122は次回も「1」の第2のパリティエラーPsを出力する。
すなわち、パリティエラーPeが「1」になった後、メインパリティチェック回路112及びサブパリティチェック回路122は、それぞれ、「1」の第1のパリティエラーPm及び「1」の第2のパリティエラーPsを出力し続けることができる。その結果、パリティエラーPeは、「1」から「0」に戻ることはなく、「1」を維持する。これにより、外部では、エラー状態が維持しているものとして正しい認識を行うことができる。
図4は、図1の半導体集積回路の処理方法を示すフローチャートである。ステップ401では、メインパリティチェック回路112及びサブパリティチェック回路122がパリティチェックを行う。次に、ステップ402では、セレクタ104は、第1のパリティエラーPmが「1」か否かをチェックする。第1のパリティエラーPmが「1」である場合には、メインステートマシン部101がエラー状態であるので、ステップ404に進み、第1のパリティエラーPmが「0」である場合には、メインステートマシン部101がエラー状態でないので、ステップ403に進む。ステップ403では、セレクタ104は、メインステートマシン部101の複数ビットステート値Fam、1ビットパリティ値Pam及び複数ビット出力信号OUTmを選択して出力する。その後、ステップ401に戻る。
ステップ404では、セレクタ104は、第2のパリティエラーPsが「1」か否かをチェックする。第2のパリティエラーPsが「1」である場合には、サブステートマシン部102がエラー状態であるので、ステップ406に進み、第2のパリティエラーPsが「0」である場合には、サブステートマシン部102がエラー状態でないので、ステップ405に進む。ステップ405では、セレクタ104は、サブステートマシン部102の複数ビットステート値Fas、1ビットパリティ値Pas及び複数ビット出力信号OUTsを選択して出力する。これにより、メインステートマシン部101は、正常状態に修復される。その後、ステップ401に戻る。ステップ406では、セレクタ104は、パリティエラーPeを「1」にして出力し、外部にエラー通知する。
図5は、図1の半導体集積回路の動作例を示すタイミングチャートである。半導体集積回路は、クロック信号CLKに同期して、動作する。まず、メインステートマシン部101は、複数ビットステート値Famとして正常値「S1」を出力し、正常な1ビットパリティ値Pamを出力する。サブステートマシン部102は、複数ビットステート値Fasとして正常値「S1」を出力し、正常な1ビットパリティ値Pasを出力する。第1のパリティエラーPmは「0」になり、第2のパリティエラーPsも「0」になる。セレクタ104は、メインステートマシン部101の複数ビットステート値Fam(正常値「S1」)及び1ビットパリティ値Pamを選択し、複数ビットステート値Fb(正常値「S1」)及び1ビットパリティ値Pbとして出力する。パリティエラーPeは、「0」になる。
次に、メインステートマシン部101は、複数ビットステート値Famとして正常値「S2」を出力し、正常な1ビットパリティ値Pamを出力する。サブステートマシン部102は、複数ビットステート値Fasとして正常値「S2」を出力し、正常な1ビットパリティ値Pasを出力する。第1のパリティエラーPmは「0」になり、第2のパリティエラーPsも「0」になる。セレクタ104は、メインステートマシン部101の複数ビットステート値Fam(正常値「S2」)及び1ビットパリティ値Pamを選択し、複数ビットステート値Fb(正常値「S2」)及び1ビットパリティ値Pbとして出力する。パリティエラーPeは、「0」になる。
次に、メインステートマシン部101は、ソフトエラー等により、複数ビットステート値Famとして異常値「S1」を出力し、正常な1ビットパリティ値Pamを出力する。サブステートマシン部102は、複数ビットステート値Fasとして正常値「S3」を出力し、正常な1ビットパリティ値Pasを出力する。第1のパリティエラーPmは「1」になり、第2のパリティエラーPsは「0」になる。セレクタ104は、正常なサブステートマシン部102の複数ビットステート値Fas(正常値「S3」)及び1ビットパリティ値Pasを選択し、複数ビットステート値Fb(正常値「S3」)及び1ビットパリティ値Pbとして出力する。パリティエラーPeは、「0」になる。
次に、メインステートマシン部101は、正常状態に回復され、複数ビットステート値Famとして正常値「S4」を出力し、正常な1ビットパリティ値Pamを出力する。サブステートマシン部102は、複数ビットステート値Fasとして正常値「S4」を出力し、正常な1ビットパリティ値Pasを出力する。第1のパリティエラーPmは「0」になり、第2のパリティエラーPsも「0」になる。セレクタ104は、メインステートマシン部101の複数ビットステート値Fam(正常値「S4」)及び1ビットパリティ値Pamを選択し、複数ビットステート値Fb(正常値「S4」)及び1ビットパリティ値Pbとして出力する。パリティエラーPeは、「0」になる。
次に、メインステートマシン部101は、複数ビットステート値Famとして正常値「S5」を出力し、正常な1ビットパリティ値Pamを出力する。サブステートマシン部102は、複数ビットステート値Fasとして正常値「S5」を出力し、正常な1ビットパリティ値Pasを出力する。第1のパリティエラーPmは「0」になり、第2のパリティエラーPsも「0」になる。セレクタ104は、メインステートマシン部101の複数ビットステート値Fam(正常値「S5」)及び1ビットパリティ値Pamを選択し、複数ビットステート値Fb(正常値「S5」)及び1ビットパリティ値Pbとして出力する。パリティエラーPeは、「0」になる。
図6は、図1の半導体集積回路をシーケンサ601として用いる例を示す図である。シーケンサ601は、転送制御信号602により、メモリ603の記憶領域Aから記憶領域Bにデータを転送することができる。シーケンサ601は、図1の半導体集積回路に対応する。転送制御信号602は、図1の出力信号OUTに対応する。
シーケンサ601がサブステートマシン部102を有しない場合、シーケンサ601がエラー状態になると、管理者は、エラー状態を認識した段階で、リセットをかけ、転送を停止させる。シーケンサ601がエラー状態にある間、シーケンサ601の出力信号602は異常な状態を出力している。そのため、記憶領域Aから記憶領域Bに正常なデータが転送されないだけでなく、転送に関係ない記憶領域C,D,Eに異常な書き込みを実施してしまっている可能性もある。そのため、管理者は、シーケンサ601がアクセスする可能性がある全領域A〜Eが正常な動作をしているか、チェックする必要が発生する。このチェックは膨大な作業を要する。チェック完了後、管理者は再度転送をシーケンサ601に実行させる。
シーケンサ601が図1の半導体集積回路の構成を有する場合、シーケンサ601は、エラーが発生しても、自動修復されるため、転送は正常に完了する。転送とは関係ない記憶領域C,D,Eに、異常データが書き込まれる可能性も無いため、管理者は、特に領域をチェックする必要は発生しない。
また、複数のパーソナルコンピュータがサーバに接続されたシステムにおいて、サーバ内に図1のステートマシンを用いることができる。その場合、ステートマシンは、複数のパーソナルコンピュータ間のデータ転送を制御することができる。
ステートマシンがサブステートマシン部102を有しない場合、サーバ及びパーソナルコンピュータを起動後、第1のパーソナルコンピュータからサーバ経由で第2のパーソナルコンピュータにデータ転送しているときに、ステートマシンでエラーが発生した場合、自動修復できないため、これ以上転送を継続させることができない。そのため、転送を途中で停止する必要がある。停止後は、管理者がエラー発生箇所を調査し、必要に応じてエラー発生のステートマシン搭載の基盤交換をするなどして不良部品を交換する。その後、サーバを再起動し、転送停止箇所を調査し、転送停止箇所から転送再開して転送を完了させる必要がある。エラーの原因がソフトエラーの場合は、上記の基盤交換が不要になる場合もあるが、その場合でも、サーバを再起動する必要がある。
ステートマシンが図1の構成を有する場合、ステートマシン内でソフトエラーなどのビットエラーが発生しても、自動修復されるため、処理を中断することなく、滞りなく転送を完了させることができる。そのため、ステートマシン内でエラーが発生しても、転送停止、調査、基盤交換、サーバ再起動、調査、転送再開の作業を行う必要がなくなり、転送効率が大幅に向上する。
以上のように、本実施形態によれば、ソフトエラー等により第1又は第2のパリティエラーPm又はPsが出力された場合、セレクタ104は正常なステート値Fbを第1の組合せ回路103に出力するので、メインステートマシン部101及びサブステートマシン部102に記憶されるステート値は正常値に回復され、正常な動作を継続することができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 メインステートマシン部
102 サブステートマシン部
103 第1の組合せ回路
104 セレクタ
111 メインステートマシンフリップフロップ回路
112 メインパリティチェック回路
113 メインステートマシンパリティフリップフロップ回路
121 サブステートマシンフリップフロップ回路
122 サブパリティチェック回路
123 サブステートマシンパリティフリップフロップ回路

Claims (9)

  1. 入力信号に応じたステート値及び前記ステート値のパリティ値を出力する第1の組合せ回路と、
    前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第1のフリップフロップ回路と、
    前記第1のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第1のパリティエラーを出力する第1のパリティチェック回路と、
    前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第2のフリップフロップ回路と、
    前記第2のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第2のパリティエラーを出力する第2のパリティチェック回路と、
    前記第1のパリティエラーが出力されずに前記第2のパリティエラーが出力された場合には前記第1のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力し、前記第1のパリティエラーが出力されて前記第2のパリティエラーが出力されない場合には前記第2のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力するセレクタとを有し、
    前記第1の組合せ回路は、前記セレクタにより出力されたステート値及び前記入力信号に応じて今回のステート値を出力することを特徴とする半導体集積回路。
  2. 前記セレクタは、前記第1のパリティエラー及び前記第2のパリティエラーが出力されない場合は、前記第1のフリップフロップ回路又は第2のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力することを特徴とする請求項1記載の半導体集積回路。
  3. 前記セレクタは、前記第1のパリティエラー及び前記第2のパリティエラーが出力された場合は、前記第1のフリップフロップ回路又は第2のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力することを特徴とする請求項1又は2記載の半導体集積回路。
  4. さらに、前記第1のパリティエラー及び前記第2のパリティエラーが出力された場合にパリティエラーを出力するパリティエラー出力回路を有することを特徴とする請求項1〜3のいずれか1項に記載の半導体集積回路。
  5. 前記セレクタは、前記第2のパリティエラーが出力された場合には前記第1のフリップフロップ回路に記憶されているパリティ値を前記第1の組合せ回路に出力し、前記第1のパリティエラーが出力された場合には前記第2のフリップフロップ回路に記憶されているパリティ値を前記第1の組合せ回路に出力し、
    前記第1の組合せ回路は、前記セレクタにより出力されたパリティ値を用いて今回のパリティ値を生成して出力することを特徴とする請求項1〜3のいずれか1項に記載の半導体集積回路。
  6. 前記第1の組合せ回路は、
    今回出力するステート値の1のビット数を2で割った余りと前記セレクタにより出力されたステート値の1のビット数を2で割った余りとが同じ場合には、前記セレクタにより出力されたパリティ値を今回のパリティ値として出力し、
    今回出力するステート値の1のビット数を2で割った余りと前記セレクタにより出力されたステート値の1のビット数を2で割った余りとが異なる場合には、前記セレクタにより出力されたパリティ値の論理反転値を今回のパリティ値として出力することを特徴とする請求項5記載の半導体集積回路。
  7. さらに、前記第1のパリティエラー及び前記第2のパリティエラーが出力された場合にパリティエラーを出力するパリティエラー出力回路を有し、
    前記第1のパリティエラー及び前記第2のパリティエラーが出力された場合は、前記第1のパリティチェック回路は次回も第1のパリティエラーを出力し、前記第2のパリティチェック回路は次回も第2のパリティエラーを出力することを特徴とする請求項5又は6記載の半導体集積回路。
  8. さらに、前記第1のフリップフロップ回路に記憶されているステート値を基に出力信号を出力する第2の組合せ回路と、
    前記第2のフリップフロップ回路に記憶されているステート値を基に出力信号を出力する第3の組合せ回路とを有し、
    前記セレクタは、前記第1のパリティエラーが出力されずに前記第2のパリティエラーが出力された場合には前記第2の組合せ回路により出力される出力信号を出力し、前記第1のパリティエラーが出力されて前記第2のパリティエラーが出力されない場合には前記第3の組合せ回路により出力される出力信号を出力することを特徴とする請求項1〜7のいずれか1項に記載の半導体集積回路。
  9. 入力信号に応じたステート値及び前記ステート値のパリティ値を出力する第1の組合せ回路と、
    前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第1のフリップフロップ回路と、
    前記第1のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第1のパリティエラーを出力する第1のパリティチェック回路と、
    前記第1の組合せ回路により出力されるステート値及びパリティ値を記憶する第2のフリップフロップ回路と、
    前記第2のフリップフロップ回路に記憶されるステート値及びパリティ値を基にパリティチェックを行い、エラーの場合には第2のパリティエラーを出力する第2のパリティチェック回路とを有する半導体集積回路の処理方法であって、
    セレクタにより、前記第1のパリティエラーが出力されずに前記第2のパリティエラーが出力された場合には前記第1のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力し、
    セレクタにより、前記第1のパリティエラーが出力されて前記第2のパリティエラーが出力されない場合には前記第2のフリップフロップ回路に記憶されているステート値を前記第1の組合せ回路に出力し、
    前記第1の組合せ回路により、前記セレクタにより出力されたステート値及び前記入力信号に応じて今回のステート値を出力することを特徴とする半導体集積回路の処理方法。
JP2013124784A 2013-06-13 2013-06-13 半導体集積回路及びその処理方法 Withdrawn JP2015001774A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013124784A JP2015001774A (ja) 2013-06-13 2013-06-13 半導体集積回路及びその処理方法
US14/287,635 US9542266B2 (en) 2013-06-13 2014-05-27 Semiconductor integrated circuit and method of processing in semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013124784A JP2015001774A (ja) 2013-06-13 2013-06-13 半導体集積回路及びその処理方法

Publications (1)

Publication Number Publication Date
JP2015001774A true JP2015001774A (ja) 2015-01-05

Family

ID=52020361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013124784A Withdrawn JP2015001774A (ja) 2013-06-13 2013-06-13 半導体集積回路及びその処理方法

Country Status (2)

Country Link
US (1) US9542266B2 (ja)
JP (1) JP2015001774A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6880795B2 (ja) * 2017-02-08 2021-06-02 オムロン株式会社 制御装置およびその制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414669A (en) * 1981-07-23 1983-11-08 General Electric Company Self-testing pipeline processors
JPH0588990A (ja) 1991-09-30 1993-04-09 Yokogawa Electric Corp 二重化メモリ装置
JPH07160587A (ja) 1993-12-07 1995-06-23 Fujitsu Ltd 多重化メモリ装置
US5453999A (en) * 1994-04-26 1995-09-26 Unisys Corporation Address verification system using parity for transmitting and receiving circuits
MXPA04012478A (es) * 2002-06-21 2005-02-17 Thomson Licensing Sa Enrutador de transmision tolerante de fallas.
JP4899616B2 (ja) * 2006-04-28 2012-03-21 ソニー株式会社 変調装置および方法、プログラム、並びに記録媒体
TWI308223B (en) * 2006-10-05 2009-04-01 Princeton Technology Corp Chip testing device and system
US7865769B2 (en) 2007-06-27 2011-01-04 International Business Machines Corporation In situ register state error recovery and restart mechanism
JP2011149775A (ja) * 2010-01-20 2011-08-04 Renesas Electronics Corp 半導体集積回路及びコアテスト回路
US8848465B2 (en) * 2011-07-06 2014-09-30 Samsung Electronics Co., Ltd. Memory devices including selective RWW and RMW decoding

Also Published As

Publication number Publication date
US9542266B2 (en) 2017-01-10
US20140372837A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
US10838808B2 (en) Error-correcting code memory
US10579463B2 (en) Error recovery within integrated circuit
US8185786B2 (en) Error recovery within processing stages of an integrated circuit
US20150100852A1 (en) Ecc method for double pattern flash memory
US8117524B2 (en) Data recovery circuit
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
JP2009301194A (ja) 半導体記憶装置の制御システム
JP5421152B2 (ja) 半導体集積回路
US9329926B1 (en) Overlapping data integrity for semiconductor devices
US20130305000A1 (en) Signal processing circuit
JP6220972B2 (ja) 集積回路およびプログラマブルデバイス
CN109614277B (zh) 半导体装置
JP2015001774A (ja) 半導体集積回路及びその処理方法
US9043655B2 (en) Apparatus and control method
JPWO2012046343A1 (ja) メモリモジュール冗長化方法、記憶処理装置、及びデータ処理装置
JP7107696B2 (ja) 半導体装置及び半導体メモリの故障検出方法
JP2014016925A (ja) 情報処理システム、データ切替方法およびプログラム
JP7485877B2 (ja) 情報処理システム、処理方法、およびプログラム
JP7497663B2 (ja) メモリ試験装置,メモリ試験プログラムおよびメモリ試験方法
JP2013250594A (ja) 自己修復メモリ回路およびその修復方法
JP2015201813A (ja) プログラマブルゲートアレイ
JP6358122B2 (ja) マイクロコンピュータ
JP2013143733A (ja) プログラマブルデバイス装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160824