JP2011090448A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2011090448A JP2011090448A JP2009242403A JP2009242403A JP2011090448A JP 2011090448 A JP2011090448 A JP 2011090448A JP 2009242403 A JP2009242403 A JP 2009242403A JP 2009242403 A JP2009242403 A JP 2009242403A JP 2011090448 A JP2011090448 A JP 2011090448A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- mode
- ecc
- memory holding
- semiconductor integrated
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】ECC回路によりソフトエラー対策を行うとともにECC回路を用いることによる処理速度の低下や消費電力の増加のない半導体集積回路を提供する。
【解決手段】第1のモードと第2のモードとを有する複数の機能回路と、複数の機能回路毎に異なるタイミングで第1、2のモードを切り替える制御回路と、ECC回路と、を備え、各機能回路は、記憶保持回路部を含み、各機能回路は、第2のモードではECC回路を用いないで記憶保持回路部にアクセスし、第1のモードの間、ECC回路を用いて記憶保持回路部が保持するデータのエラーチェック訂正を行う。
【選択図】図1
【解決手段】第1のモードと第2のモードとを有する複数の機能回路と、複数の機能回路毎に異なるタイミングで第1、2のモードを切り替える制御回路と、ECC回路と、を備え、各機能回路は、記憶保持回路部を含み、各機能回路は、第2のモードではECC回路を用いないで記憶保持回路部にアクセスし、第1のモードの間、ECC回路を用いて記憶保持回路部が保持するデータのエラーチェック訂正を行う。
【選択図】図1
Description
本発明は、半導体集積回路に関する。特に、レジスタ回路、ラッチ回路などの記憶保持回路に対してソフトエラーに対する対策を施した半導体集積回路に関する。
半導体集積回路の分野において、素子の微細化、低電圧化、搭載する回路規模の増大によって、放射線等によるソフトエラーが、メモリセルだけでなく、論理回路においても問題となって来ている。
論理回路のソフトエラーの問題としては、フリップフロップ回路(F/F回路)やラッチ回路、レジスタ回路のように情報を一時的に保持している順序回路の保持情報の反転(SEU:Single Event Upsets)の問題と、組み合わせ回路等の誤動作(結果として誤った情報を伝達することとなり、SET:Single Event Transientと呼ばれている)の問題がある。前者のSEUに対する対策としては情報保持回路が反転しにくいような回路を付加(トランジスタや容量素子を追加)することが知られている。また、後者のSETに対する対策としては一致回路や多数決回路などが考えられている。
また、システムの低消費電力化の一環として、高速での動作が必要でないときは、クロック周波数を下げて動作を遅くしたり、電源電圧を下げて低電圧で動作させるモードを設けるなどした半導体集積回路も知られている。
特許文献1や特許文献2には、データの保持のみを行う動作モードに入るときに誤り検出訂正用の検査ビットを生成して記憶させ、かかる検査ビットを用いることにより、リフレッシュ周期を遅くするDRAMが記載されている。
特許文献3には、ノーマル動作時にアクセスされたロウアドレスに対するワード線をRAMに記憶させておき、このデータが反転する時間をECC回路により計測して、セルフリフレッシュ周期を変えるDRAMが記載されている。
特許文献4には、ヒューズボックス等のプログラム回路と、プログラムされた情報を保持する情報保持回路(レジスタ)と、情報保持回路が保持する情報を圧縮する圧縮回路を設け、圧縮された情報を用いて情報保持回路がソフトエラーなどによって誤った情報をチェック訂正する半導体集積回路装置が記載されている。
特許文献5には、ソフトエラーが発生しにくいラッチ回路が記載されている。
以下の分析は本発明により与えられる。上記特許文献1〜特許文献4に記載されているようにECC(Error Check and Correct)回路を用いることにより、レジスタなどの記憶保持回路がソフトエラーにより誤動作することを防ぐことができる。しかし、ECC回路によるエラーチェック、訂正には、一定の処理時間を必要とし、記憶保持回路に対する高速アクセスの妨げとなる。
また、半導体集積回路には、複数の機能回路が含まれ、低消費電力化のため、各機能回路は、必要なときのみ高速動作を実行し、高速動作が必要でないときは、消費電力を抑える必要がある。機能回路毎に高速動作を実行する高速動作モードと消費電力を抑えるモードに切り替えるタイミングは異なる。
さらに、記憶保持回路がソフトエラーを起こす確率は時間に比例し、記憶保持回路にアクセスする頻度とは直接の関係はないので、アクセスがあるたびにECC回路によるエラーチェック、訂正を行うと消費電力が増加する。
本発明の1つの側面による半導体集積回路は、第1のモードと第2のモードとを有する複数の機能回路と、前記複数の機能回路毎に異なるタイミングで前記第1、2のモードを切り替える制御回路と、ECC回路と、を備え、前記各機能回路は、記憶保持回路部を含み、前記各機能回路は、前記第2のモードでは前記ECC回路を用いないで前記記憶保持回路部にアクセスし、前記第1のモードの間、前記ECC回路を用いて前記記憶保持回路部が保持するデータのエラーチェック訂正を行う。
本発明によれば、機能回路毎に異なるタイミングで第1のモードと第2のモードとを切
り替え、各機能回路は、第2のモードではECC回路を用いないで記憶保持回路部にアクセスするので、ECC回路によるアクセス速度の低下や消費電力の増加はない。また、各機能回路は、第1のモードにおいてECC回路を用いて記憶保持回路部が保持するデータのエラーチェック訂正を行うのでソフトエラーによる誤動作を防ぐことができる。
り替え、各機能回路は、第2のモードではECC回路を用いないで記憶保持回路部にアクセスするので、ECC回路によるアクセス速度の低下や消費電力の増加はない。また、各機能回路は、第1のモードにおいてECC回路を用いて記憶保持回路部が保持するデータのエラーチェック訂正を行うのでソフトエラーによる誤動作を防ぐことができる。
本発明の実施形態の概要について、最初に説明する。なお、概要の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
一例として図1に示すように、本発明の一実施形態の半導体集積回路100は、第1のモードと第2のモードとを有する複数の機能回路111、112、113と、複数の機能回路111、112、113毎に異なるタイミングで第1、第2のモードを切り替える制御回路101と、ECC回路121、122、123と、を備え、各機能回路111、112、113は、記憶保持回路部RGを含み、
各機能回路111、112、113は、第2のモードではECC回路121、122、123を用いないで記憶保持回路部RGにアクセスし、第1のモードの間、ECC回路を用いて記憶保持回路部RGが保持するデータのエラーチェック訂正を行う。
各機能回路111、112、113は、第2のモードではECC回路121、122、123を用いないで記憶保持回路部RGにアクセスし、第1のモードの間、ECC回路を用いて記憶保持回路部RGが保持するデータのエラーチェック訂正を行う。
例えば、第1のモードがスタンバイモードで第2のモードが高速動作モードである場合、高速動作を要求されない第1のモードにおいてECC回路を用いて記憶保持回路RGが保持するデータのエラーチェック訂正を行うので、ソフトエラーによる誤動作する確率を低減することができる。また、高速動作が要求される第2のモードでは、ECC回路によるエラーチェック訂正を行わないので、ECC回路の動作が高速動作の妨げとなることがない。記憶保持回路へのアクセス頻度は、第1のモードより第2のモードの方が高いが、ソフトエラーが発生する確率は、アクセス頻度には依存せず、データの保持時間に依存すると考えられるため、第2のモードに設定される時間より第1のモードに設定される時間が長ければ、第2のモードにおいてECC回路によるエラーチェック訂正を行わなくとも、第1のモードにおいてECC回路によるエラーチェック訂正を行えば問題はない。
特に第1のモードで消費電力を抑えるために、電源電圧を下げたり、電源電流を制限したりする場合には、記憶保持回路の保持ノードは、外部からのエネルギーにより反転しやすくなるので、ソフトエラーが発生する確率も高くなる。従って、第1のモードにおいて、ECC回路を用いて記憶保持回路RGが保持するデータのエラーチェック訂正を行うことで、ソフトエラーによる誤動作を防ぐことができる。
一例として図2に示すように、ECC回路121は、記憶保持回路部RGが保持するデータに対してECCコードを生成し、ECCコードに基づいて前記記憶保持回路部が保持するデータのエラーをチェック、訂正するECC演算回路221と、ECCコードを記憶するECCコード記憶回路231と、を含むものであってもよい。
一例として図5に示すように、ECC回路(図1の121、122、123)は、各機能回路(図1の111、112、113)が第2のモードから第1のモードに切り替わったことを受けてECCコードを生成してECCコード記憶回路(図2の231)に記憶し、当該機能回路111、112、113が第1のモードから第2のモードに切り換わり第2のモードの動作を開始する前にECCコード記憶回路231に記憶したECCコードに基づいて当該記憶保持回路部(図2のRG)が保持するデータのエラーチェック及びエラー訂正を行うものであってもよい。
また、一例として図4に示すように、記憶保持回路部RG1は、保持するデータの入出力を行う入出力回路I1、T1を備え、ECC回路121に接続される記憶保持回路部RG1の記憶保持ノードRNは、入出力回路I1、T1を介さずに、直接ECC回路121に接続するようにしてもよい。上記構成によれば、記憶保持回路部RG1が通常のデータ入出力には、クロックを必要とするような記憶保持回路であった場合でもクロックなしにECC回路との間でエラーチェック訂正を行うことができる。
また、一例として図4に示すように、複数ビットの記憶保持回路部RG1〜RGmの記憶保持ノードが、並列にECC回路121に接続されているようにしてもよい。上記構成によれば、複数ビットの記憶保持回路部のデータを並列にECC回路121に入力することができるので、高速にエラーチェックを行うことができ、複数ビットの記憶保持回路部に対してエラー訂正を行う場合も並列に書き込むことができる。従って、特に第1のモードを解除してから第2のモードを立ち上げて、高速動作を開始するまでの時間を短縮することができる。
また、半導体集積回路は、タイマーを備え、各機能回路111(図2参照)の第1のモードが一定時間継続する毎に、ECC演算回路221を動作させ、ECCコード記憶回路231が記憶するECCコードに基づいて記憶保持回路部RGのエラー訂正を行うようにしてもよい。ソフトエラーの発生する確率は時間の経過とともに増大するので、一定時間毎にエラーチェック、訂正を行うことで、ソフトエラー発生の確率を低減することができる。タイマーは外部から時間を取得することでタイマーとしての機能を果たすものであってもよい。
また、第1のモードの期間が短い場合は、第2のモードの動作を開始する前に行うエラーチェック及びエラー訂正を行わないこととしてもよい。第1のモードの間にソフトエラーが発生する確率が低いと考えられ、無駄に電力を消費することを避けるためである。
一例として図4に示すように、ECC回路121は、記憶保持回路部RG1〜RGmの記憶保持ノードRNに接続されたスイッチ回路211をさらに備え、ECC演算回路221は、スイッチ回路211を介して記憶保持回路部RG1〜RGmが保持するデータを取り込んでECCコードを生成し、演算結果に基づいてエラー訂正を行う場合はスイッチ回路211を介してエラー訂正データを記憶保持ノードRNに書き込むようにしてもよい。スイッチ回路211を介してECCコードの生成、チェックに必要なデータを記憶保持回路部から取り込み、訂正が必要な場合は、スイッチ回路211を介して記憶保持回路部RG1〜RGmのデータを訂正することができる。
一例として図6、図7に示すように、記憶保持回路部(RG1〜RG6の全体)はm(mは2以上の整数)ビットの記憶保持回路(個々のRG1〜RG6)を備え、前記mビットのうち、n(n<mの自然数)ビットの記憶保持回路RG4〜RG6が前記ECC回路に接続され、残りのm−nビットの記憶保持回路RG1〜RG3はECC回路121には接続されておらずECC回路121によるエラーチェックやエラー訂正を行わないとしてもよい。複数の記憶保持回路のうち、第1のモード期間にデータを保持する必要のない第2のモードで必要なテンポラリなデータのみを保持する記憶保持回路は、ECC回路に接続する必要はない。それによりECC回路等の素子数を減らし、ECC演算の消費電力を減らすこともできる。なお、第1のモード中にテータを保持する必要のない記憶保持回路は、第1のモード期間中、電源の供給を遮断し、消費電力を減らしても良い。
また、ECC回路121、122、123に代えてエラー訂正機能を有しないエラーチェック回路を設け、各機能回路111、112、113は、第2のモードで動作中は、エラーチェック回路を用いないで記憶保持回路RGにアクセスし、第1のモードの間、ECC回路121、122、123に代えてエラーチェック回路を用いて記憶保持回路RGが保持するデータのエラーチェックを行うようにしてもよい。ソフトエラーが生じる確率が低い場合や、用途によって、ソフトエラーが発生したことを検出できればよく、エラー訂正まで必要とされない場合は、ECC回路をエラー訂正機能のないエラーチェック回路に置き換えることにより回路規模を小さくし、消費電力も少なくすることができる。
複数の機能回路の内、第1のモード中に状態の保持が必要な記憶保持回路のビット数が少ない機能回路は、保持が必要な1ビットのデータに対して複数ビットの記憶保持回路を設け、複数ビットの記憶保持回路を多数決回路、又は、一致回路として用いることによりECC回路、又は、エラーチェック回路として機能させることができる。
記憶保持回路部RGの記憶保持回路(個々のRG1〜RGm)は、レジスタ回路、ラッチ回路、フリップフロップ回路、DICE(Dual Interlocked Cell)回路のいずれかであってもよい。また、第1のモードは、第2のモードより低速で動作するモード、少なくとも一部の動作を停止するモード、第2のモードより低い電源電圧が供給されるモード、第2のモードより少ない電源電流が供給されるモード、一部の回路に対して電源の供給を停止するモード、のうち、少なくとも1つのモードを含むモードであってもよい。さらに、第1、第2のモードはそれぞれスタンバイモード、高速動作モードであってもよい。
以上で概要の説明を終わり、より具体的な実施例について、図面を参照してさらに詳しく説明する。
図1は、実施例1の半導体集積回路100の構成を示すブロック図である。図1において、半導体集積回路100は、複数の機能回路111、112、113とそれぞれの動作モードを制御する制御回路101を備えている。制御回路101は、モード制御信号MODE1〜MODE3により、各機能回路111、112、113の動作モードを制御する。ここでは単純に各機能回路の動作モードには、高速動作モードと、スタンバイモードの2つの動作モードがあり、対応するモード制御信号MODE1〜MODE3がハイレベルのときに、各機能回路111、112、113は高速動作モードに設定され、モード制御信号MODE1〜MODE3がロウレベルのときに、各機能回路111、112、113はスタンバイモードに設定されるとする。各機能回路に対する高速動作モードとスタンバイモードの切り換えはそれぞれ異なるタイミングで切り換えることができる。
なお、高速動作モードは機能回路の通常動作を高速で実行可能なモードである。一方、スタンバイモードは、上記高速動作モードより低速で動作するモード、一部の動作を停止するモード、高速動作モードより低い電源電圧が供給されるモード、高速動作モードより少ない電源電流が供給されるモード、機能回路の中の一部の回路に対して電源の供給を停止するモードのうち、少なくとも一つのモードを含むモードであり、次の高速動作モードに入るまで待機するモードである。スタンバイモードでは、高速動作モードに比較して消費電力を抑えることができる。
各機能回路111〜113には、それぞれ動作クロックCLK1〜CLK3と入力信号IN1〜IN3が供給され、各機能回路から出力信号OUT1〜OUT3が出力される。なお、各機能回路に供給されるクロックCLK1〜CLK3は同一のクロックであってもよいし、周波数が異なったクロックであってもよい。
また、各機能回路111〜113に対応してECC回路121〜123が設けられている。ECC回路121〜123は、スタンバイ動作中に各機能回路111〜113に含まれる記憶保持回路のエラーをチェックし、訂正が可能な場合は訂正を行う。ECC回路は高速動作モードにおいては、高速動作の妨げとなるため、使用しない。
なお、ECC回路121〜123は、一箇所に集中して配置したり、複数の機能回路でECC回路を共通に設けたりしてもよいが、ここでは、機能回路毎にECC回路121〜123を設けている。機能回路毎にECC回路を近傍に配置することにより、スタンバイモードから高速動作モードへの復帰時などに速やかにエラーチェック訂正を完了させて、高速動作モードでの動作開始を迅速に行うことができる。
図2は、実施例1の機能回路111とその機能回路に対応するECC回路121のブロック図である。
図2において、機能回路111は、mビット(mは自然数)のレジスタRGを備えている。このレジスタRGは、mビットのデータを保持する記憶保持回路部RGとして機能する。機能回路111には、クロック信号CLK1、モード制御信号MODE1、入力信号S1〜SX(図1の入力信号IN1に相当)が供給され、出力信号S11〜Sxx(図1のOUT1信号に相当)を出力する。このmビットの記憶保持回路部は機能回路111に含まれる他の組み合わせ回路等の中に分散して配置されていてもよい。各記憶保持回路と密接に関連のある組み合わせ回路の近傍に配置した方が高速なアクセスが確保できる場合は、そのように配置することもできる。
ECC回路121は、内部にスイッチ回路211と、ECC演算回路221と、ECCコード記憶回路231と、ECC制御回路241と、を備える。スイッチ回路211は、記憶保持回路部RGとECC演算回路221とを接続するスイッチである。スイッチ回路211を制御する信号MS1がハイレベルのときに、記憶保持回路部RGとECC演算回路221が接続され、ECCコードの生成、記憶保持回路部RGの保持するデータの内容とECCコードとの照合、記憶保持回路部RGへの訂正データの書込みが行われる。それ以外のときは、スイッチ回路を制御する信号MS1はロウレベルとなり、スイッチ回路211はオフし、記憶保持回路部RGはECC演算回路221から切り離される。
ECC演算回路221は、記憶保持回路部RGが保持するmビットのデータからECCコードを生成する。また、ECCコードに基づいて、記憶保持回路部RGのデータのチェック訂正を行う。ECCコード記憶回路231は、ECC演算回路221が生成したECCコードを記憶する。ECCコードは、ハミングコードを用いるものが良く知られている。
ECC制御回路241は、クロック信号CLK1と、モード制御信号MODE1と、を入力し、ECC回路121全体の動作を制御する。ECC符号化制御信号ECCENC1は、ECCコードの生成や保存を制御する信号であり、モード制御信号MODE1がハイレベルからロウレベルに立下り、機能回路111が高速動作モードからスタンバイモードに移行するときに1ショットパルスとして出力する信号である。このECC符号化制御信号ECCENC1に基づいて、ECC演算回路221は、記憶保持回路部の保持するデータからECCコードを生成して、そのECCコードをECCコード記憶回路231に保存する。
また、ECC復号化制御信号ECCDEC1は、ECCコード記憶回路231が記憶するECCコードに基づいて、記憶保持回路部RGが保持するデータのチェックを行い、誤りがあり、その誤りが訂正可能であれば、データの訂正を制御する信号である。ECC復号化制御信号ECCDEC1は、モード制御信号MODE1がロウレベルからハイレベルに立ち上がり、機能回路111がスタンバイモードから高速動作モードに切り替わるときに出力される。なお、図2には、特に図示していないが、半導体集積回路100の内部に設けられるタイマーからの信号をECC制御回路241に入力し、スタンバイモード動作中は、一定周期毎にECC復号化制御信号ECCDEC1を活性化させて、エラーチェック訂正を行ってもよい。なお、タイマーは、ECC制御回路241の内部に設けてもよい。さらに、ECC制御回路241は、ECC回路121の内部に設けずに、対応する機能回路や制御回路101の内部に設けてもよい。
また、スイッチ回路を制御する信号MS1は、ECC符号化制御信号ECCENC1、
ECC復号化制御信号ECCDEC1と連動して出力され、スイッチ回路211のオンオフを制御する。
ECC復号化制御信号ECCDEC1と連動して出力され、スイッチ回路211のオンオフを制御する。
図3は、実施例1による記憶保持回路部周辺の一例を示すブロック図である。機能回路111には、レジスタである記憶保持回路RG1〜RG6を備えており、各記憶保持回路RG1〜RG6は、記憶保持回路入力データ信号S1〜S6を入力し、記憶保持回路出力データ信号S11〜S16を出力する。また各記憶保持回路RG1〜RG6の記憶保持ノードには、ECC回路121が接続される。なお、図3の記憶保持回路RG1〜RG6の全体が図2の記憶保持回路部RGに相当する。
また、各記憶保持回路RG1〜RG6には、アンド回路AN1からクロック信号CKが供給される。アンド回路AN1には、クロック信号CLK1とモード制御信号MODE1を入力し、高速動作モードでモード制御信号MODE1がハイレベルのときに、クロック信号CLK1と同位相のクロック信号CKを出力し、スタンバイモードでモード制御信号MODE1がロウレベルであるときに、クロック信号CKをロウレベルに固定する。
図4は、実施例1による記憶保持回路(レジスタ回路)RG1〜RGm及びスイッチ回路211の一例を示す回路ブロック図である。
記憶保持回路RG1の入力データ信号S1は、クロック信号CKに同期して記憶保持回路RG1に取り込まれ、記憶保持ノードRNに保持される。また、記憶保持回路RG1からは、出力データ信号S11が出力している。記憶保持回路RG1の記憶保持ノードRNはスイッチ回路211に直接接続されている。スイッチ回路211は、記憶保持回路RG1の記憶保持ノードRNとECC演算回路221とを直接接続するスイッチトランジスタで構成されており、ゲート信号MS1がハイレベルであるときにオンし、記憶保持回路(レジスタ回路)RG1の記憶保持ノードRNとECC演算回路がスイッチ回路211を介して直接接続される。
なお、記憶保持回路部RGの記憶保持回路は、図4に記載の記憶保持回路RG1に限らず、様々な回路方式の記憶保持回路を用いることができる。記憶保持回路は、基本的には、情報を保持する機能があればよいが、レジスタ回路、ラッチ回路、フリップフロップ回路、DICE(Dual Interlocked Cell)回路のいずれかであってもよい。DICE回路は、ソフトエラーが起こりにくいような考慮がされた一種のラッチ回路で、例えば、前述した特許文献5の図2にも記載されている。記憶保持回路が、上述したレジスタ回路、ラッチ回路、フリップフロップ回路、DICE回路であれば、かならずしも一箇所にまとめて配置する必要はなく、ビット毎にレイアウトの都合上、最適な位置に配置することもできる。
次に、半導体集積回路100の高速動作モードとスタンバイモードの動作について、図5の動作タイミングチャートを用いて説明する。図5は、図1における機能回路111が高速動作モードからスタンバイモードに切り替わった後、再び高速動作モードに切り替わり高速動作を再開するまでの動作タイミングチャートである。
タイミングt1までは、モード制御信号MODE1がハイレベルなので、高速動作モードであり、記憶保持回路部RGは、機能回路111の内部クロック信号CKに同期してデータの入出力を行う。S11〜Sxxは、記憶保持回路部RGの出力データ信号であり、内部クロック信号CKの立ち上がりに同期して出力データ信号が変化している。また、R1〜Rmは、記憶保持回路部RGが保持しているデータであり、内部クロック信号CKの立ち上がりに同期して変化する。
タイミングt1になると、制御回路101はモード制御信号MODE1をロウレベルに立ち下げ、機能回路111をスタンバイモードに設定する。機能回路111は、モード制御信号MODE1がロウレベルに立ち下がると内部クロック信号CKをロウレベルに固定する。従って、機能回路111に含まれる記憶保持回路部RGもそのデータの更新を停止し、記憶保持回路部RGの出力データ信号も更新を停止する。
また、モード制御信号MODE1がハイレベルからロウレベルに立ち下がると、ECC回路121に含まれるECC制御回路241は、ECC符号化制御信号ECCENC1を1ショットパルス信号として出力する。このECC符号化制御信号ECCENC1の立ち上がりに同期して記憶保持回路部RGとECC演算回路221との間に設けられたスイッチ回路211を制御する信号MS1がアクテイブになり、スイッチ回路211が導通し、記憶保持回路部RGの保持するデータがECC演算回路221に入力される。ECC演算回路221は、入力した記憶保持回路部RGのデータに基づいて、ECCコードを演算により求める。演算により求められたECCコードは、ECC符号化制御信号ECCENC1の立ち下がりに同期してECCコード記憶回路231に記憶される。このようにして高速動作モードからスタンバイモードに切り替わると記憶保持回路部RGが保持しているデータのECCコードがECC演算回路221により求められ、ECCコード記憶回路231に保存される。
次に、機能回路111がスタンバイモードであるときに、制御回路101がモード制御信号MODE1をロウレベルからハイレベルに立ち上げると機能回路111は、スタンバイモードの解除動作に入る。モード制御信号MODE1が立ち上がると、ECC制御回路241は、ECC符号化制御信号ECCENC1を1ショットパルス信号として出力する。このECC復号化制御信号ECCDEC1の立ち上がりに同期して記憶保持回路部RGとECC演算回路221の間に設けられたスイッチ回路211が導通し、記憶保持回路部RGの保持するデータをECC演算回路221に入力すると共に、ECC演算回路211はECCコード記憶回路231からECCコードを入力し、記憶保持回路部RGが保持するデータのECCコードについてECCコード記憶回路231が記憶しているECCコードと一致するか否かチェックを行う。チェックした結果、記憶保持回路部RGが保持するデータが誤っており、その誤りをECCコードによって訂正可能な場合は、ECC復号化制御信号ECCDEC1の立ち下がりに同期してスイッチ回路を再びオンし、訂正データを記憶保持回路部RGに書き込む。また、誤り訂正が不可能な場合は、図示しないエラー発生信号を機能回路111又は、制御回路101へ出力する。
ECC回路によるエラーチェック、訂正が終了し、タイミングt3になると、機能回路111のスタンバイモードは解除され、タイミングt3から機能回路111は高速動作を開始する。
なお、スタンバイ状態が長い期間継続し、一定の期間を経過すると、ECC制御回路
241は、ECC復号化信号ECCDEC1の1ショットパルスを出力し、スタンバイモードの途中で、記憶保持回路RGの保持するデータについてECC回路によるエラーチェック訂正を行うようにしてもよい。その場合は、エラーチェック訂正後高速動作モードには移行せずに、スタンバイモードを継続する。上記構成によれば、スタンバイ期間がいくら長くてもソフトエラーによる誤動作を防ぐことができる。また、全体として、スタンバイモードの期間が高速動作モードの期間より十分に長ければ、高速動作モードにおいてエラーチェック訂正を行わなくてもそれだけソフトエラーによる誤動作の発生する確率を低減することができる。
241は、ECC復号化信号ECCDEC1の1ショットパルスを出力し、スタンバイモードの途中で、記憶保持回路RGの保持するデータについてECC回路によるエラーチェック訂正を行うようにしてもよい。その場合は、エラーチェック訂正後高速動作モードには移行せずに、スタンバイモードを継続する。上記構成によれば、スタンバイ期間がいくら長くてもソフトエラーによる誤動作を防ぐことができる。また、全体として、スタンバイモードの期間が高速動作モードの期間より十分に長ければ、高速動作モードにおいてエラーチェック訂正を行わなくてもそれだけソフトエラーによる誤動作の発生する確率を低減することができる。
図6は、実施例2による機能回路111Aの記憶保持回路部周辺のブロック図である。図6において、実施例1と構成、動作がほぼ同一であるブロックは実施例1と同一の符号を付し、詳細な説明は省略する。
実施例1では、記憶保持回路部RGの記憶保持回路RG1〜RG6の全ビットについてスタンバイモードにおいて、ECC回路121によるエラーチェック訂正を行っていた(図3参照)。しかし、機能回路によっては、スタンバイモードになると一部の回路機能は停止しても残りの部分の回路は、高速動作を継続する場合がある。このような場合、スタンバイモードに移行しても高速動作を継続する回路については、ECC回路によるエラーチェック訂正を行わないようにすることができる。図6に示す実施例2では、記憶保持回路RG1〜RG6のうち、RG1〜RG3はスタンバイモードに移送しても高速動作モードと同様にクロック信号CLK1が供給される。
一方、記憶保持回路RG4〜RG6については、実施例1と同様に、クロック信号CLK1をモード制御信号MODE1でゲーティングした内部クロック信号CKが供給されており、スタンバイモードに入ると内部クロック信号CKが停止し、記憶保持回路RG4〜RG6の動作が停止する。記憶保持回路RG4〜RG6の動作を停止する場合は、記憶保持回路RG4〜RG6については、データを保持するだけでよいので、電源電圧をデータ保持に必要な低電圧に下げてリーク電流を抑えて消費電力をセーブすることができる。
電源電圧を下げると放射線等に対しては弱くなるので、記憶保持回路RG4〜RG6は、スタンバイ期間中、ECC回路によるエラーチェック訂正を行うことにより、ソフトエラーによる誤動作を抑制することができる。
すなわち、実施例2では、記憶保持回路部RGに含まれる複数の記憶保持回路RG1〜RG6のうち、スタンバイ中に電源電圧を下げる等ソフトエラーが起こりやすい記憶保持回路のみECC回路を用いてエラーチェック、エラー訂正を行い、スタンバイモードになっても高速動作を継続する記憶保持回路については、ECC回路を用いずに高速動作を維持することができる。
実施例3も実施例2と同様に、スタンバイモードにおいて、一部の記憶保持回路のみECC回路を用いてエラーチェック、エラー訂正を行う実施例である。図7は、実施例3による機能回路111B周辺のブロック図である。図7において、実施例1と構成、動作がほぼ同一であるブロックは実施例1と同一の符号を付し、詳細な説明は省略する。
図7の機能回路111Bは、制御回路が出力する2本のモード制御信号MODE1A、MODE2Aをデコードして記憶保持回路RG1〜RG6に与える内部クロックを制御するアンド回路AN3を設けている。アンド回路AN3は、モード制御信号MODE1A、MODE2Aのいずれもがハイレベルであるときにクロック信号CLKに同期した内部クロック信号CKを記憶保持回路RG1〜RG6に供給している。モード制御信号MODE1A、MODE2Aのいずれかがロウレベルのときには、記憶保持回路RG1〜RG6に供給する内部クロックCKをロウレベルに固定する。
また、記憶保持回路RG4〜RG6は、ECC回路121に接続されているが、記憶保持回路RG1〜RG3はECC回路121には接続されていない。
記憶保持回路RG1〜RG6の保持するデータには、次にスタンバイモードが解除されて高速動作を開始するまでに保持する必要のデータの他に、高速動作モード中は必要であっても、一度スタンバイモードになった場合には、保持しておく必要のないデータもある。実施例3によれば、スタンバイモードでは、記憶保持回路RG1〜RG6のすべての記憶保持回路が動作を停止するが、このうち、記憶保持回路RG1〜RG3はECC回路121に接続されておらず、記憶保持回路RG4〜RG6のみがECC回路121に接続されている。スタンバイモード中も次の高速動作モードまで保持が必要なデータは、ECC回路121に接続されている記憶保持回路RG4〜RG6に格納し、スタンバイモード中、ECC回路によるエラーチェック訂正を行う。
一方、スタンバイモードになった後、保持が必要でないデータは、ECC回路に接続されていない記憶保持回路RG1〜RG3を用いることができる。そのようにスタンバイモード期間中に、次の高速動作モード再開まで保持する必要のない記憶保持回路はECC回路に接続せずにエラーチェック、訂正を行わないことでECC回路の回路規模を小さくすることができる。
上記実施例1〜3では、ソフトエラーが発生しても一部のビットのエラーならば、訂正が可能なECC回路を設けている。しかし、ソフトエラーが発生する可能性が低いか、用途によってソフトエラーが発生してもエラー訂正までの必要はなく、ソフトエラーが発生したことがわかればよい場合もある。そのような場合は、ECC回路に代えて、エラー訂正機能を有しないエラーチェック回路を設けることにより、回路規模を小さくすることができる。最も単純には、複数ビットの記憶保持回路のデータについて偶数か奇数かのパリティを記憶する1ビットのパリティコード記憶回路を設け、スタンバイモードの間、パリティコード記憶回路を用いてパリティが一致しているか否かチェックすることができる。パリティエラーが検出された場合には、機能回路111又は制御回路101にパリティエラー信号を出力すればよい。
また、複数の機能回路の内、スタンバイモード中に状態の保持が必要な記憶保持回路のビット数が少ない機能回路は、保持が必要な1ビットのデータに対して複数ビットの記憶保持回路を設け、これら複数ビットの記憶保持回路を多数決回路、又は、一致回路として用いることによりECC回路、又は、エラーチェック回路として機能させることができる。たとえば、図4において、記憶保持回路RG1と回路構成や入力信号が同一である回路をダミーの記憶保持回路RG1Dとして設けることができる。スタンバイ期間中に記憶保持回路RG1とダミーの記憶保持回路RG1Dとの出力を比較し、両者が不一致となった場合は、ソフトエラーが発生したものとして機能回路111や制御回路101へエラー発生信号を出力することができる。この場合、ダミーの記憶保持回路RG1Dと、出力を比較する回路がエラーチェック回路となる。
ダミーの記憶保持回路を複数設け、これら複数のダミーの記憶保持回路と記憶保持回路RG1の出力がすべて一致しているか否かチェックし、一致していなかった場合には、多数決を取って、多数決の結果に基づいて、記憶保持回路と複数のダミーの記憶保持回路のデータを更新すれば、ダミーの記憶保持回路と多数決回路、多数決によって更新する回路をECC回路(エラーをチェックして訂正する回路)として機能させることができる。また、高速動作モードでは、上記エラーチェック回路、ECC回路を記憶保持回路RG1から切り離し、記憶保持回路に高速にアクセスすることができるようにすることができる。
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
100:半導体集積回路
101:制御回路
111、112、113、111A、111B:機能回路
121、122、123:ECC回路
211:スイッチ回路
221:ECC演算回路
231:ECCコード記憶回路
241:ECC制御回路
AN1〜AN3:アンド回路
CI1:クロックインバータ回路
I1、I2:インバータ回路
RG、RG1〜RGm:記憶保持回路部(レジスタ)
T1:トランスミッションゲート
CLK1〜CLK3、CK、CKB:クロック信号
ECCDEC1:ECC復号化制御信号
ECCENC1:ECC符号化制御信号
IN1〜IN3:入力信号
OUT1〜OUT2:出力信号
MODE1〜MODE3、MODE1A、MODE2A:モード制御信号
MS1:スイッチ回路を制御する信号
RN:記憶保持ノード
S1〜SX:記憶保持回路入力データ信号
S11〜Sxx:記憶保持回路出力データ信号
101:制御回路
111、112、113、111A、111B:機能回路
121、122、123:ECC回路
211:スイッチ回路
221:ECC演算回路
231:ECCコード記憶回路
241:ECC制御回路
AN1〜AN3:アンド回路
CI1:クロックインバータ回路
I1、I2:インバータ回路
RG、RG1〜RGm:記憶保持回路部(レジスタ)
T1:トランスミッションゲート
CLK1〜CLK3、CK、CKB:クロック信号
ECCDEC1:ECC復号化制御信号
ECCENC1:ECC符号化制御信号
IN1〜IN3:入力信号
OUT1〜OUT2:出力信号
MODE1〜MODE3、MODE1A、MODE2A:モード制御信号
MS1:スイッチ回路を制御する信号
RN:記憶保持ノード
S1〜SX:記憶保持回路入力データ信号
S11〜Sxx:記憶保持回路出力データ信号
Claims (15)
- 第1のモードと第2のモードとを有する複数の機能回路と、
前記複数の機能回路毎に異なるタイミングで前記第1、2のモードを切り替える制御回路と、
ECC回路と、
を備え、
前記各機能回路は、記憶保持回路部を含み、
前記各機能回路は、前記第2のモードでは前記ECC回路を用いないで前記記憶保持回路部にアクセスし、前記第1のモードの間、前記ECC回路を用いて前記記憶保持回路部が保持するデータのエラーチェック訂正を行うことを特徴とする半導体集積回路。 - 前記ECC回路は、
前記記憶保持回路部が保持するデータに対してECCコードを生成し、前記ECCコードに基づいて前記記憶保持回路部が保持するデータのエラーをチェック、訂正するECC演算回路と、
前記ECCコードを記憶するECCコード記憶回路と、
を含むことを特徴とする請求項1記載の半導体集積回路。 - 前記ECC回路は、前記各機能回路が前記第2のモードから前記第1のモードに切り替わったことを受けて前記ECCコードを生成して前記ECCコード記憶回路に記憶し、当該機能回路が前記第1のモードから前記第2のモードに切り換わり第2のモードの動作を開始する前に前記ECCコード記憶回路に記憶したECCコードに基づいて当該記憶保持回路部が保持するデータのエラーチェック及びエラー訂正を行うことを特徴とする請求項2記載の半導体集積回路。
- 前記記憶保持回路部は、保持するデータの入出力を行う入出力回路を備え、前記ECC回路に接続される記憶保持回路部の記憶保持ノードは、前記入出力回路を介さずに、直接前記ECC回路に接続されていることを特徴とする請求項2又は3記載の半導体集積回路。
- 複数ビットの前記記憶保持回路部の記憶保持ノードが、並列に前記ECC回路に接続されていることを特徴とする請求項2乃至4いずれか1項記載の半導体集積回路。
- タイマーを備え、各機能回路の前記第1のモードが一定時間継続する毎に、前記ECC演算回路を動作させ、前記ECCコード記憶回路が記憶するECCコードに基づいて前記記憶保持回路部のエラー訂正を行うことを特徴とする請求項2乃至5いずれか1項記載の半導体集積回路。
- 前記第1のモードの期間が短い場合は、前記第2のモードの動作を開始する前に行う前記エラーチェック及びエラー訂正を行わないことを特徴とする請求項3記載の半導体集積回路。
- 前記ECC回路は、前記記憶保持回路部の記憶保持ノードに接続されたスイッチ回路をさらに備え、前記ECC演算回路は、前記スイッチ回路を介して前記記憶保持回路部が保持するデータを取り込んでECCコードを生成し、演算結果に基づいてエラー訂正を行う場合は前記スイッチ回路を介してエラー訂正データを前記記憶保持ノードに書き込むことを特徴とする請求項2乃至7いずれか1項記載の半導体集積回路。
- 前記記憶保持回路部はm(mは2以上の整数)ビットの記憶保持回路を備え、前記mビットのうち、n(n<mの自然数)ビットの記憶保持回路が前記ECC回路に接続され、残りのm−nビットの記憶保持回路は前記ECC回路には接続されておらず前記ECC回路によるエラーチェックやエラー訂正を行わないことを特徴とする請求項1乃至8いずれか1項記載の半導体集積回路。
- 前記ECC回路に代えてエラー訂正機能を有しないエラーチェック回路を設け、
前記各機能回路は、前記第2のモードで動作中は、前記エラーチェック回路を用いないで前記記憶保持回路部にアクセスし、前記第1のモードの間、前記ECC回路に代えて前記エラーチェック回路を用いて前記記憶保持回路部が保持するデータのエラーチェックを行うことを特徴とする請求項1乃至9いずれか1項記載の半導体集積回路。 - 前記複数の機能回路の内、前記第1のモード中に状態の保持が必要な前記記憶保持回路部のビット数が少ない機能回路は、保持が必要な1ビットのデータに対して複数ビットの記憶保持回路を設け、前記複数ビットの記憶保持回路を多数決回路、又は、一致回路として用いることにより前記ECC回路、又は、エラーチェック回路として機能させることを特徴とする請求項1乃至10いずれか1項記載の半導体集積回路。
- 前記記憶保持回路部の記憶保持回路は、レジスタ回路、ラッチ回路、フリップフロップ回路、DICE(Dual Interlocked Cell)回路のいずれかであることを特徴とする請求項1乃至11いずれか1項記載の半導体集積回路。
- 前記第1のモードは、前記第2のモードより低速で動作するモード、少なくとも一部の動作を停止するモード、前記第2のモードより低い電源電圧が供給されるモード、前記第2のモードより少ない電源電流が供給されるモード、一部の回路に対して電源の供給を停止するモード、のうち、少なくとも1つのモードを含むモードであることを特徴とする請求項1乃至12いずれか1項記載の半導体集積回路。
- 前記記憶保持回路部に含まれる複数ビットの記憶保持回路が1つの前記機能回路の中に分散して配置されていることを特徴とする請求項1乃至13いずれか1項記載の半導体集積回路。
- 前記第1、第2のモードはそれぞれスタンバイモード、高速動作モードであることを特徴とする請求項1乃至14いずれか1項記載の半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009242403A JP2011090448A (ja) | 2009-10-21 | 2009-10-21 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009242403A JP2011090448A (ja) | 2009-10-21 | 2009-10-21 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011090448A true JP2011090448A (ja) | 2011-05-06 |
Family
ID=44108657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009242403A Pending JP2011090448A (ja) | 2009-10-21 | 2009-10-21 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011090448A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016099881A (ja) * | 2014-11-25 | 2016-05-30 | Necプラットフォームズ株式会社 | 半導体集積回路と半導体装置およびエラー検出訂正方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000011688A (ja) * | 1998-06-29 | 2000-01-14 | Hitachi Ltd | 半導体記憶装置 |
JP2002056671A (ja) * | 2000-08-14 | 2002-02-22 | Hitachi Ltd | ダイナミック型ramのデータ保持方法と半導体集積回路装置 |
JP2004126932A (ja) * | 2002-10-02 | 2004-04-22 | Handotai Rikougaku Kenkyu Center:Kk | 集積回路装置 |
JP2006520952A (ja) * | 2003-03-20 | 2006-09-14 | アーム・リミテッド | 集積回路の処理ステージ内のエラー検出、及び回復 |
JP2006520955A (ja) * | 2003-03-20 | 2006-09-14 | アーム・リミテッド | 集積回路内におけるデータ保持ラッチ提供 |
JP2007109366A (ja) * | 2005-09-16 | 2007-04-26 | Toshiba Corp | 半導体記憶装置 |
JP2010231417A (ja) * | 2009-03-26 | 2010-10-14 | Denso Corp | ソフトエラー検出回路を備える制御装置 |
-
2009
- 2009-10-21 JP JP2009242403A patent/JP2011090448A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000011688A (ja) * | 1998-06-29 | 2000-01-14 | Hitachi Ltd | 半導体記憶装置 |
JP2002056671A (ja) * | 2000-08-14 | 2002-02-22 | Hitachi Ltd | ダイナミック型ramのデータ保持方法と半導体集積回路装置 |
JP2004126932A (ja) * | 2002-10-02 | 2004-04-22 | Handotai Rikougaku Kenkyu Center:Kk | 集積回路装置 |
JP2006520952A (ja) * | 2003-03-20 | 2006-09-14 | アーム・リミテッド | 集積回路の処理ステージ内のエラー検出、及び回復 |
JP2006520955A (ja) * | 2003-03-20 | 2006-09-14 | アーム・リミテッド | 集積回路内におけるデータ保持ラッチ提供 |
JP2007109366A (ja) * | 2005-09-16 | 2007-04-26 | Toshiba Corp | 半導体記憶装置 |
JP2010231417A (ja) * | 2009-03-26 | 2010-10-14 | Denso Corp | ソフトエラー検出回路を備える制御装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016099881A (ja) * | 2014-11-25 | 2016-05-30 | Necプラットフォームズ株式会社 | 半導体集積回路と半導体装置およびエラー検出訂正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10230402B2 (en) | Data processing apparatus | |
US10579463B2 (en) | Error recovery within integrated circuit | |
US7320091B2 (en) | Error recovery within processing stages of an integrated circuit | |
US8060814B2 (en) | Error recovery within processing stages of an integrated circuit | |
US8103920B2 (en) | Memory system configured by using a nonvolatile semiconductor memory | |
US7669097B1 (en) | Configurable IC with error detection and correction circuitry | |
JP2010020839A (ja) | 半導体記憶装置 | |
US9467144B2 (en) | Radiation hardened digital circuit | |
JP3930513B2 (ja) | 多数決論理回路を有するフリップフロップ回路 | |
JP2008021390A (ja) | 半導体記憶装置 | |
JP2010045610A (ja) | 半導体集積回路 | |
US20140177323A1 (en) | Bit-flipping in memories | |
US8044695B2 (en) | Semiconductor integrated circuit including a master-slave flip-flop | |
JP4793741B2 (ja) | 誤り訂正回路、誤り訂正方法 | |
US6967882B1 (en) | Semiconductor memory including static memory | |
US10074436B1 (en) | Memory device and data reading method thereof | |
JP2011090448A (ja) | 半導体集積回路 | |
KR20060009236A (ko) | 급속 및 저속 데이터 판독 메카니즘을 갖는 메모리 시스템 | |
JP2003316599A (ja) | 集積回路 | |
US9542266B2 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit | |
JPWO2013132806A1 (ja) | 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法 | |
JP2015201813A (ja) | プログラマブルゲートアレイ | |
JP2013105449A (ja) | リセット信号生成回路及びそれを備えた半導体集積回路 | |
JP2013143075A (ja) | 半導体装置 | |
JP2008146796A (ja) | 不揮発性半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140715 |