(57)【特許請求の範囲】
【請求項１】
第１の記憶回路と複数の第２の記憶回路と、
前記第２の記憶回路の内の１つの前記第２の記憶回路の保存する記憶データを選択し、選択した前記記憶データを前記第１の記憶回路に入力し、前記選択の履歴情報を保持する、データ選択回路と、
前記第１と第２の記憶回路の各々に設けられ、前記第１と第２の記憶回路の前記記憶データのエラーを検出し訂正し、訂正した前記記憶データとエラー検出結果を出力する、ＥＣＣ回路と、
前記第２の記憶回路の各々に設けられ、前記第２の記憶回路から前記ＥＣＣ回路を経由する経路と経由しない経路の一方を選択して前記記憶データを前記データ選択回路に入力する経路選択回路と、
前記経路選択回路に経路を切り替える指示をする経路切替制御回路と、を有し、
前記経路選択回路が前記ＥＣＣ回路を経由しない経路を選択した状態で、前記経路切替制御回路は、前記第１の記憶回路の前記エラー検出結果と前記履歴情報とに基づいて、前記経路選択回路に前記経路を切り替える指示をする、半導体集積回路。
【請求項２】
前記経路切替制御回路は、
前記第１の記憶回路の前記ＥＣＣ回路がエラー検出すると、前記エラー検出した前記記憶データの保存元の前記第２の記憶回路を前記履歴情報から特定し、特定した前記第２の記憶回路の前記経路選択回路に、前記ＥＣＣ回路を経由する経路に切り替える指示をする、請求項１記載の半導体集積回路。
【請求項３】
前記経路切替制御回路は、
前記第１の記憶回路のエラー検出結果と、前記ＥＣＣ回路を経由する経路に切り替えた前記第２の記憶回路のエラー検出結果とに基づいて、前記第１と第２の記憶回路の内でエラーを生じている記憶回路を特定する、請求項２記載の半導体集積回路。
【請求項４】
前記エラー検出結果を纏めるエラー検出纏め回路を有し、
前記エラー検出纏め回路は、前記第１の記憶回路のエラー検出結果と、前記ＥＣＣ回路を経由する経路に切り替えた前記第２の記憶回路のエラー検出結果とに基づいて、前記第１と第２の記憶回路の内でエラーを生じている記憶回路を特定する、請求項２記載の半導体集積回路。
【請求項５】
前記第１の記憶回路において、前記ＥＣＣ回路を経由する経路と経由しない経路の一方を選択する経路選択回路を有し、前記経路切替制御回路により前記経路選択回路の経路を切り替える指示をする、請求項１から４の内の１項記載の半導体集積回路。
【請求項６】
前記第１と第２の記憶回路は、記憶データのアドレスを指定するポインタを有し、前記ポインタは、エラーの検出と訂正においてエラーのアドレスを指定する、請求項１から５の内の１項記載の半導体集積回路。
【請求項７】
前記第１と第２の記憶回路は、エラー訂正する書き戻しデータの経路を有する、請求項１から６の内の１項記載の半導体集積回路。
【請求項８】
前記第１と第２の記憶回路は、ハードマクロもしくはＲＡＭを有する、請求項１から７の内の１項記載の半導体集積回路。
【請求項９】
請求項１から８の内の１項記載の半導体集積回路を有する半導体装置。
【請求項１０】
複数の第２の記憶回路の内の１つを選択し、
選択した前記第２の記憶回路の記憶データを第１の記憶回路に入力し、
前記第１の記憶回路の前記記憶データの第１のエラー検出を行い、
前記第１のエラー検出の結果に基づいて、選択した前記第２の記憶回路の前記記憶データの第２のエラー検出を行い、
前記第１と第２のエラー検出の結果に基づいて、前記第１と第２の記憶回路の内のエラーを生じている記憶回路を特定しエラー訂正する、エラー検出訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路においてソフトエラーを検出し訂正する技術に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の高密度化に伴い、ソフトエラーの発生率も上昇しており、訂正可能障害が訂正不可能障害へと発展してシステムダウンするケースが増加している。ハードマクロやＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、規模の大きい複数個のメモリが同一ＬＳＩ内に搭載されている場合、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）回路を設けることで、ソフトエラーが発生したときのエラー検出とエラー訂正が行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０９０４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＥＣＣ回路によるエラー検出やエラー訂正には一定の処理時間が必要なために、記憶回路への高速アクセスが妨げられることによる性能低下が生じている。そこで、ＥＣＣを実施するモードと実施しないモードとを設け、ＥＣＣをメモリの空き時間などに期間を限って実施することで、高速動作の妨げを緩和する技術が特許文献１に開示されている。しかしながら、特許文献１の技術では、ＥＣＣを行っていない期間にソフトエラーが発生した場合、エラーに対処することはできなかった。
【０００５】
また、複数個のメモリを搭載したＬＳＩでソフトエラーが発生した場合に、どのメモリでエラーが発生したかを特定する必要がある。そのために、各々のメモリごとにＥＣＣを設けると、各々のメモリでレイテンシが悪化し高速動作が妨げられるため、一部の箇所に限ってＥＣＣが設けられている場合が多い。しかしながら、この場合、ＥＣＣを実施する箇所でエラーを検出しても、どこでソフトエラーが発生したのかを特定することは困難であった。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、複数の記憶回路を有する半導体集積回路においてソフトエラーが発生した場合に、すみやかにＥＣＣを実施するモードに切り替えてエラーの発生個所を特定しエラー訂正することを可能にすることで、ＥＣＣによる性能低下を抑制しつつシステムダウンを未然に防止することにある。
【課題を解決するための手段】
【０００７】
本発明による半導体集積回路は、第１の記憶回路と複数の第２の記憶回路と、前記第２の記憶回路の内の１つの前記第２の記憶回路の保存する記憶データを選択し、選択した前記記憶データを前記第１の記憶回路に入力し、前記選択の履歴情報を保持する、データ選択回路と、前記第１と第２の記憶回路の各々に設けられ、前記第１と第２の記憶回路の前記記憶データのエラーを検出し訂正し、訂正した前記記憶データとエラー検出結果を出力する、ＥＣＣ回路と、前記第２の記憶回路の各々に設けられ、前記第２の記憶回路から前記ＥＣＣ回路を経由する経路と経由しない経路の一方を選択して前記記憶データを前記データ選択回路に入力する経路選択回路と、前記経路選択回路に経路を切り替える指示をする経路切替制御回路と、を有し、前記経路選択回路が前記ＥＣＣ回路を経由しない経路を選択した状態で、前記経路切替制御回路は、前記第１の記憶回路の前記エラー検出結果と前記履歴情報とに基づいて、前記経路選択回路に前記経路を切り替える指示をする。
【０００８】
本発明による半導体装置は、本発明による半導体集積回路を有する半導体装置である。
【０００９】
本発明によるエラー検出訂正方法は、複数の第２の記憶回路の内の１つを選択し、選択した前記第２の記憶回路の記憶データを第１の記憶回路に入力し、前記第１の記憶回路の前記記憶データの第１のエラー検出を行い、前記第１のエラー検出の結果に基づいて、選択した前記第２の記憶回路の前記記憶データの第２のエラー検出を行い、前記第１と第２のエラー検出の結果に基づいて、前記第１と第２の記憶回路の内のエラーを生じている記憶回路を特定しエラー訂正する。
【発明の効果】
【００１０】
本発明によれば、複数の記憶回路を有する半導体集積回路においてソフトエラーが発生した場合に、すみやかにＥＣＣを実施するモードに切り替えてエラーの発生個所を特定しエラー訂正することが可能となり、ＥＣＣによる性能低下を抑制しつつシステムダウンを未然に防止することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態の半導体集積回路の構成を示すブロック図である。
【図２】本発明の第２の実施形態の半導体集積回路の構成を示すブロック図である。
【図３】本発明の第２の実施形態の半導体集積回路のハードマクロとその周辺の構成を示すブロック図である。
【図４】本発明の第２の実施形態の半導体集積回路を有する半導体装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態の半導体集積回路の構成を示すブロック図である。本実施形態の半導体集積回路１は、第１の記憶回路１０と複数の第２の記憶回路１１と、前記第２の記憶回路１１の内の１つの前記第２の記憶回路１１の保存する記憶データを選択し、選択した前記記憶データを前記第１の記憶回路１０に入力し、前記選択の履歴情報を保持する、データ選択回路１４と、前記第１と第２の記憶回路の各々に設けられ、前記第１と第２の記憶回路の前記記憶データのエラーを検出し訂正し、訂正した前記記憶データとエラー検出結果を出力する、ＥＣＣ回路１２と、前記第２の記憶回路の各々に設けられ、前記第２の記憶回路１１から前記ＥＣＣ回路１２を経由する経路と経由しない経路の一方を選択して前記記憶データを前記データ選択回路１４に入力する経路選択回路１３と、前記経路選択回路１３に経路を切り替える指示をする経路切替制御回路１５と、を有する。さらに、前記経路選択回路１３が前記ＥＣＣ回路１２を経由しない経路を選択した状態で、前記経路切替制御回路１５は、前記第１の記憶回路１０の前記エラー検出結果と前記履歴情報とに基づいて、前記経路選択回路１３に前記経路を切り替える指示をする。
【００１３】
本実施形態の半導体装置は、半導体集積回路１を有する。
【００１４】
本実施形態のエラー検出訂正方法は、複数の第２の記憶回路１１の内の１つを選択し、選択した前記第２の記憶回路１１の記憶データを第１の記憶回路１０に入力し、前記第１の記憶回路１０の前記記憶データの第１のエラー検出を行い、前記第１のエラー検出の結果に基づいて、選択した前記第２の記憶回路１１の前記記憶データの第２のエラー検出を行い、前記第１と第２のエラー検出の結果に基づいて、前記第１と第２の記憶回路の内のエラーを生じている記憶回路を特定しエラー訂正する。
【００１５】
本実施形態によれば、複数の記憶回路を有する半導体集積回路においてソフトエラーが発生した場合に、すみやかにＥＣＣを実施するモードに切り替えてエラーの発生個所を特定しエラー訂正することが可能となり、ＥＣＣによる性能低下を抑制しつつシステムダウンを未然に防止することが可能になる。
（第２の実施形態）
図２は、本発明の第２の実施形態の半導体集積回路の構成を示すブロック図である。半導体集積回路２は、第１のハードマクロ２０と、第２のハードマクロ２２と、ＥＣＣ回路２２と、経路選択回路２３と、データ選択回路２４と、経路切替制御回路２５と、エラー検出纏め回路２６とを有する。第２のハードマクロ２１とＥＣＣ回路２２と経路選択回路２３の組みは複数であり、本実施形態の半導体集積回路２では３組（ａ、ｂ、ｃ）としているが、これには限定されない。
【００１６】
第１のハードマクロ２０と第２のハードマクロ２１は、データを記憶するハードマクロである。ハードマクロの有するメモリとしては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を使用することができる。
【００１７】
ＥＣＣ回路２２は、第１のハードマクロ２０と第２のハードマクロ２１の出力部に設けられ、各ハードマクロの記憶データのエラー検出とエラー訂正を行う。ＥＣＣ回路２２は、各ハードマクロ内のどの箇所でエラーが発生したかを特定するためのエラーアドレスやエラービットの情報などの、エラー発生箇所を特定するエラー検出情報を有する。さらにＥＣＣ回路２２は、エラー訂正された記憶データとエラー検出情報を出力する。
【００１８】
経路選択回路２３は、各ハードマクロの記憶データの出力の経路を、ＥＣＣ回路２２を経由する経路と経由しない経路のいずれか一方に選択する。第１のハードマクロ２０の経路を選択する経路選択回路２３は、本実施形態では通常、ＥＣＣ回路２２を経由する経路とする。一方、第２のハードマクロ２１の経路を選択する経路選択回路２３（ａ、ｂ、ｃ）は、初期状態としてはＥＣＣ回路２２を経由しない経路を選択し、経路切替制御回路２５の指示に基づいて、ＥＣＣ回路２２を経由する経路に切り替える。さらに、経路選択回路２３（ａ、ｂ、ｃ）は、選択した経路を通る記憶データをデータ選択回路２４に入力する。
【００１９】
データ選択回路２４は、経路選択回路２３（ａ、ｂ、ｃ）から第２のハードマクロ２１（ａ、ｂ、ｃ）の記憶データを受け取ると、所望の第２のハードマクロの記憶データを選択し、第１のハードマクロ２０に入力する。さらに、データ選択回路２４は、選択した第２のハードマクロ２３（ａ、ｂ、ｃ）の履歴情報を保存し、経路切替制御回路２５が履歴情報を遡って確認することができるトレース機能を有するものとする。
【００２０】
エラー検出纏め回路２６は、ＥＣＣ回路２２からのエラー検出情報を受け取ると、ハードマクロに残存するエラーを除去するために、ハードマクロの上位ブロックから新規トランザクションを発行してハードマクロのエラービットを上書きして書き潰す。もしくは、ハードマクロが動作していない場合には、ハードマクロにハードウェアによるリトライ機能を付随させてハードマクロでエラーが発生した箇所を読み出して、ＥＣＣで訂正したデータを再度ハードマクロに書き戻す。さらに、エラー検出纏め回路２６は、エラー検出情報を受けたことを経路切替制御回路２５に入力する。
【００２１】
経路切替制御回路２５は、エラー検出纏め回路２６から受けたエラー検出情報に基づいて、エラー検出に係わるハードマクロの経路選択回路２３の経路の切り替えを指示する。
【００２２】
本実施形態では、初期段階では、経路選択回路２３は、第１のハードマクロ２０ではＥＣＣ回路２２を経由するように、第２のハードマクロ２１（ａ、ｂ、ｃ）ではＥＣＣ回路２２（ａ、ｂ、ｃ）を経由しないように、各々選択する。このようにして、通常は第１のハードマクロ２０のＥＣＣ回路２２でのみエラー検出を行うことで、第２のハードマクロ２１（ａ、ｂ、ｃ）の高速動作がＥＣＣ回路２２（ａ、ｂ、ｃ）により妨げられないようにしている。
【００２３】
第１のハードマクロ２０のＥＣＣ回路２２がエラー検出した情報が経路切替制御回路２５に伝えられると、経路切替制御回路２５は、エラー検出した記憶データの保存元の第２のハードマクロ２１がａ、ｂ、ｃのいずれであるかを、データ選択回路２４が保存している履歴情報に遡って特定する。ここでは、例として、エラー検出した記憶データの保存元を第２のハードマクロ２１（ａ）とする。経路切替制御回路２５は、特定した第２のハードマクロ２１（ａ）の経路選択回路２３（ａ）に対して、ＥＣＣ回路２２（ａ）を経由するように経路の切り替えを指示する。
【００２４】
経路に選択されたＥＣＣ回路２２（ａ）は、対応する第２のハードマクロ２１（ａ）のエラー検出を行う。ここでエラーが検出されない場合、第１のハードマクロ２０のＥＣＣ回路２２で検出されたエラーは、第１のハードマクロ２０のエラーであったことが特定され、第１のハードマクロ２０のエラー訂正がされる。
【００２５】
一方、第２のハードマクロ２１（ａ）でエラーが検出された場合、エラーが検出された第２のハードマクロ２１（ａ）のエラー訂正がされる。続いて、第１のハードマクロ２０のＥＣＣ２２（ａ）は、第１のハードマクロ２０のエラー検出をする。ここで第１のハードマクロ２０にエラーが検出されない場合、当初の第１のハードマクロ２０で検出されたエラーは、第２のハードマクロ２１（ａ）のエラーによるものであったことが特定される。一方、第１のハードマクロ２０にエラーが検出された場合、当初の第１のハードマクロ２０で検出されたエラーは、第１のハードマクロ２０と第２のハードマクロ２１（ａ）の双方のエラーによるものであったことが特定される。続いて、第１のハードマクロ２０のエラー訂正がされる。
【００２６】
最初に第１のハードマクロ２０のエラー検出がされたときの記憶データの保存元が、第２のハードマクロ２１（ｂ）もしくは第２のハードマクロ２１（ｃ）の場合であっても、上記と同様にエラーの原因を特定することができる。
【００２７】
以上のようにして、ソフトエラーの原因であるハードマクロを特定し、エラーを訂正した後、経路切替制御回路２５は、第１のハードマクロ２０の経路選択回路２３ではＥＣＣ回路２２を経由するように、第２のハードマクロ２０（ａ、ｂ、ｃ）の経路選択回路２３（ａ、ｂ、ｃ）ではＥＣＣ回路２２（ａ、ｂ、ｃ）を経由しないように、各々切り替える指示をする。
【００２８】
以上の構成と動作により、ハードマクロでのソフトエラーの発生は、通常は第１のハードマクロ２０のＥＣＣ回路２２によりチェックされ、第２のハードマクロ２０（ａ、ｂ、ｃ）はＥＣＣ回路２２（ａ、ｂ、ｃ）による動作の妨げを受けることなく高速動作をすることができる。第１のハードマクロ２０のＥＣＣ回路２２によりエラーが検出されると、関連する第２のハードマクロ２０（ａ、ｂ、ｃ）のＥＣＣ回路２２（ａ、ｂ、ｃ）が動作を開始し、エラー検出結果に基づいてソフトエラーを生じているハードマクロの特定とエラー訂正とがなされ、再び、エラー検出前の状態に戻る。以上の動作が自動的に行われる。
【００２９】
なお、第２のハードマクロ２０（ａ、ｂ、ｃ）の中で、例えば、ソフトエラーを頻繁にチェックする必要があるマクロがある場合には、当該の第２のハードマクロ２０について、はじめからＥＣＣ２２を経由するように設定してもよい。
【００３０】
本実施形態ではさらに、エラー訂正を高速で行うために、以下の機能を備えることができる。エラー訂正を高速で行うことで、半導体集積回路２をエラー検出前の状態に早く戻すことが可能となり、ハードマクロの高速動作を可能とする。
【００３１】
図３は、本実施形態の半導体集積回路２のハードマクロとその周辺の構成を示すブロック図である。ハードマクロ（第１のハードマクロ２０もしくは第２のハードマクロ２１）は、メモリ２７とリードポインタ２８（ＲＰ）とライトポインタ２９（ＷＰ）を有する。ＲＰ２８は、ハードマクロからデータを読み出す際のアドレスを示す。ＷＰ２９は、ハードマクロにデータを書き込む際のアドレスを示す。
【００３２】
ＥＣＣ回路２２がソフトエラーを検出すると、ソフトエラーを生じているアドレスがＲＰ２８にＰＲエラーとして保持される。これにより、メモリ２７のエラー位置が特定される。エラーの生じているアドレスにエラー訂正したデータを書き戻す際には、ＲＰ２８にＰＲエラーとして保持されているエラーのアドレスに基づいて、書き戻すアドレスをＷＰ２８でＷＰエラーとして指定することで、短時間でスムースにエラー訂正をすることができる。
【００３３】
なお、ハードマクロに書き込むデータは、通常の入力データと、エラー訂正する際の書き戻しデータとを有する。ＥＣＣ回路２２がエラー検出し、経路切替制御回路２５が経路の切り替えを指示する際に、当該のハードマクロの入力側に設けた経路選択回路２３’の経路を書き戻しデータ側に切り替えることができる。これにより、通常の入力データの入力動作を一旦停止させることで、短時間でスムースにエラー訂正をすることができる。
【００３４】
本実施形態の各ハードマクロは、同じ型であってもよく、異なる型であっても良い。また、ハードマクロとメモリとが混在していてもよい。また、経路切替制御回路２５は、データ選択回路２４に遡って履歴情報を確認し第２のハードマクロ２１を特定したが、例えば、第１のハードマクロ２０に入力された記憶データが、その保存元の第２のハードマクロを特定する情報を有し、第１のハードマクロ２０のＥＣＣ回路２２を経由して保存元を特定する方法も可能である。
【００３５】
図４は、本実施形態の半導体集積回路２を有する半導体装置３を示すブロック図である。半導体集積回路２は、シリコン基板上に半導体製造工程を用いて形成されたトランジスタやキャパシタなどの素子および配線を有し、データ記憶機能を有するハードマクロなどの記憶回路を有する。さらに、半導体装置３は、半導体集積回路２を保護するパッケージを有していてもよい。
【００３６】
以上のように、本実施形態によれば、複数の記憶回路を有する半導体集積回路においてソフトエラーが発生した場合に、すみやかにＥＣＣを実施するモードに切り替えてエラーの発生個所を特定しエラー訂正することが可能となり、ＥＣＣによる性能低下を抑制しつつシステムダウンを未然に防止することが可能になる。
【００３７】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００３８】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００３９】
付記
（付記１）
第１の記憶回路と複数の第２の記憶回路と、
前記第２の記憶回路の内の１つの前記第２の記憶回路の保存する記憶データを選択し、選択した前記記憶データを前記第１の記憶回路に入力し、前記選択の履歴情報を保持する、データ選択回路と、
前記第１と第２の記憶回路の各々に設けられ、前記第１と第２の記憶回路の前記記憶データのエラーを検出し訂正し、訂正した前記記憶データとエラー検出結果を出力する、ＥＣＣ回路と、
前記第２の記憶回路の各々に設けられ、前記第２の記憶回路から前記ＥＣＣ回路を経由する経路と経由しない経路の一方を選択して前記記憶データを前記データ選択回路に入力する経路選択回路と、
前記経路選択回路に経路を切り替える指示をする経路切替制御回路と、を有し、
前記経路選択回路が前記ＥＣＣ回路を経由しない経路を選択した状態で、前記経路切替制御回路は、前記第１の記憶回路の前記エラー検出結果と前記履歴情報とに基づいて、前記経路選択回路に前記経路を切り替える指示をする、半導体集積回路。
（付記２）
前記経路切替制御回路は、
前記第１の記憶回路の前記ＥＣＣ回路がエラー検出すると、前記エラー検出した前記記憶データの保存元の前記第２の記憶回路を前記履歴情報から特定し、特定した前記第２の記憶回路の前記経路選択回路に、前記ＥＣＣ回路を経由する経路に切り替える指示をする、付記１記載の半導体集積回路。
（付記３）
前記経路切替制御回路は、
前記第１の記憶回路のエラー検出結果と、前記ＥＣＣ回路を経由する経路に切り替えた前記第２の記憶回路のエラー検出結果とに基づいて、前記第１と第２の記憶回路の内でエラーを生じている記憶回路を特定する、付記２記載の半導体集積回路。
（付記４）
前記エラー検出結果を纏めるエラー検出纏め回路を有し、
前記エラー検出纏め回路は、前記第１の記憶回路のエラー検出結果と、前記ＥＣＣ回路を経由する経路に切り替えた前記第２の記憶回路のエラー検出結果とに基づいて、前記第１と第２の記憶回路の内でエラーを生じている記憶回路を特定する、付記２記載の半導体集積回路。
（付記５）
前記第１の記憶回路において、前記ＥＣＣ回路を経由する経路と経由しない経路の一方を選択する経路選択回路を有し、前記経路切替制御回路により前記経路選択回路の経路を切り替える指示をする、付記１から４の内の１項記載の半導体集積回路。
（付記６）
前記第１と第２の記憶回路は、記憶データのアドレスを指定するポインタを有し、前記ポインタは、エラーの検出と訂正においてエラーのアドレスを指定する、付記１から５の内の１項記載の半導体集積回路。
（付記７）
前記第１と第２の記憶回路は、エラー訂正する書き戻しデータの経路を有する、付記１から６の内の１項記載の半導体集積回路。
（付記８）
前記第１と第２の記憶回路は、ハードマクロもしくはＲＡＭを有する、付記１から７の内の１項記載の半導体集積回路。
（付記９）
付記１から８の内の１項記載の半導体集積回路を有する半導体装置。
（付記１０）
複数の第２の記憶回路の内の１つを選択し、
選択した前記第２の記憶回路の記憶データを第１の記憶回路に入力し、
前記第１の記憶回路の前記記憶データの第１のエラー検出を行い、
前記第１のエラー検出の結果に基づいて、選択した前記第２の記憶回路の前記記憶データの第２のエラー検出を行い、
前記第１と第２のエラー検出の結果に基づいて、前記第１と第２の記憶回路の内のエラーを生じている記憶回路を特定しエラー訂正する、エラー検出訂正方法。
（付記１１）
前記エラー検出の結果はエラーのアドレスを指定し、前記指定に基づいてエラー訂正する、付記１０記載のエラー検出訂正方法。
（付記１２）
前記第１と第２の記憶回路は、ハードマクロもしくはＲＡＭを有する、付記１０または１１記載のエラー検出訂正方法。
【符号の説明】
【００４０】
１、２    半導体集積回路
３    半導体装置
１０    第１の記憶回路
１１    第２の記憶回路
１２、２２    ＥＣＣ回路
１３、２３、２３’    経路選択回路
１４、２４    データ選択回路
１５、２５    経路切替制御回路
２０    第１のハードマクロ
２１    第２のハードマクロ
２６    エラー検出纏め回路
２７    メモリ
２８    リードポインタ
２９    ライトポインタ
【図１】
0006339487.tif 000002
【図２】
0006339487.tif 000003
【図３】
0006339487.tif 000004
【図４】
0006339487.tif 000005