JP2004126932A - 集積回路装置 - Google Patents

集積回路装置 Download PDF

Info

Publication number
JP2004126932A
JP2004126932A JP2002289999A JP2002289999A JP2004126932A JP 2004126932 A JP2004126932 A JP 2004126932A JP 2002289999 A JP2002289999 A JP 2002289999A JP 2002289999 A JP2002289999 A JP 2002289999A JP 2004126932 A JP2004126932 A JP 2004126932A
Authority
JP
Japan
Prior art keywords
save
data
clock signal
unit
data storage
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.)
Granted
Application number
JP2002289999A
Other languages
English (en)
Other versions
JP3910902B2 (ja
Inventor
Yukio Arima
有馬 幸生
Koichiro Ishibashi
石橋 孝一郎
Takahiro Yamashita
山下 高廣
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.)
Semiconductor Technology Academic Research Center
Original Assignee
Semiconductor Technology Academic Research Center
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 Semiconductor Technology Academic Research Center filed Critical Semiconductor Technology Academic Research Center
Priority to JP2002289999A priority Critical patent/JP3910902B2/ja
Priority to US10/674,951 priority patent/US7269780B2/en
Publication of JP2004126932A publication Critical patent/JP2004126932A/ja
Application granted granted Critical
Publication of JP3910902B2 publication Critical patent/JP3910902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】消費電力削減のために機能モジュール単位で柔軟に電源供給を制御でき、及びこれに伴い必要なデータの退避及び復帰を制御できる集積回路装置であって、しかも退避したデータの信頼性を低下させることがなく低コストで実現可能な集積回路装置を提供すること
【解決手段】退避クロック信号に同期して退避データを出力する少なくとも一つの機能モジュールと、該機能モジュールからいずれかの機能モジュールを選択し、選択された該機能モジュールへの電源供給の停止及び再開を制御する電源制御ユニットと、この電源制御ユニットにより選択された機能モジュールから出力された退避データを格納する退避データ格納部と、この退避データ格納部に格納された退避データが復帰クロック信号に同期して機能モジュールに復帰される際に、該退避データをエラー検出訂正するエラー検出訂正部とを具備する。
【選択図】  図1

Description

【0001】
【発明の属する技術分野】
本発明は消費電力削減のために機能モジュール単位で電源供給を制御し、内部レジスタ等のデータの退避及び復帰制御を行う集積回路装置に関する。
【0002】
【従来の技術】
低電力SoC(システム・オン・チップ)の実現においては、消費電力削減のために遊休(アイドル)状態の機能モジュールの動作を停止させるのが常套手段である。機能モジュールの動作を止めるにはクロックの供給を停止するという手法が知られている。しかし、クロック供給を停止し機能モジュールの動作を止めたとしても、機能モジュール自体には電源が供給されつづけているのでリーク電流によって生じる電力の損失を止めることはできない。このため、リークによる電力損失をも削減するためにアイドル状態の機能モジュールへの電源供給を停止する手法が考案されている。このような電源供給を停止され動作停止している機能モジュールの状態をスリープ(SLEEP)状態という。
【0003】
電源が遮断されると回路が保持していた情報がすべて失われてしまう。このため、機能モジュールがスリープ状態から復帰し、スリープに入る直前の状態から動作を再開するには、機能モジュールがスリープ状態になり電源供給が停止したとしても、復帰後に必要となるデータを保持していられる回路構成が必須である。このような回路構成としては、機能モジュールを構成する回路素子のうち必要なデータを保持する回路素子の電源は常に供給し、その他の回路素子の電源供給のみ停止する手法や、必要なデータを別のメモリブロックなどに退避・保存しておく手法が提案されている。
【0004】
図13はかかる従来例を示す図である。同図に示すVDDは電源であり、この電源VDDに対しそれぞれスイッチSWA,SWB,SWCを介してロジックLA,LB,LCが接続されている。ロジックLAとLBの間およびロジックLBとLCの間にはそれぞれフリップフロップFF1,FF2が接続されている。これらフリップフロップFF1,FF2は電源VDDにも接続されている。ロジックLA,LB,LCは組合せ回路に相当し、フリップフロップFF1,FF2は順序回路に相当する。フリップフロップFF1,FF2には、スリープ後にその直前の状態から動作を再開できるようデータを保持するために常に電源が供給されるようにする一方、ロジックLA,LB,LCについては消費電力削減のために必要に応じてスイッチSWA,SWB,SWCをOFFにすることで電源VDDからの給電を遮断する。このように給電方法を制御する従来例によれば、フリップフロップFF1,FF2には常に電源が供給されるのでデータの退避動作が不要であるという利点がある。当然ながらデータ退避先の記憶領域を確保する必要もない。しかしながら、図13から分かるように電源VDDからの配線をスイッチSWA,SWB,SWC(ロジックLA,LB,LC)へのものと、フリップフロップFF1,FF2へのものとに分ける必要があり、これにより回路のレイアウトが非常に困難となる。また、貫通電流を防止する目的からフリップフロップFF1,FF2の前段にNANDゲート等を設ける必要があり、これによりゲート段数が増加するというデメリットもある。
【0005】
なお、この図13の従来例と同様の先行技術が非特許文献1にも記載されている。
【0006】
また、消費電力削減を目的として機能モジュールへの電源供給を適宜遮断する際に、データ退避を行う技術が幾つか提案されている。かかる従来例は、ロジックのみ電源供給を遮断しフリップフロップについては常に電源供給する上述の従来例とは異なり、機能モジュール内の必要なデータを退避した後に、該機能モジュール内への全ての電源供給を遮断するというものである。このようなデータ退避を行う従来例の一つに、メモリの内容を外部記憶装置(ハードディスク装置等)に退避するものがある(特許文献1参照)。この従来例では、ハードディスク装置等を用いていることから、データ退避先でのエラー発生を抑えることができ信頼性が高いものの、データ退避及びその復帰動作の際の遅延時間の問題がある。
【0007】
また、データ退避を行う他の従来例として、フリップフロップのデータをスキャンチェーン用いて強誘電体メモリ(FRAM: Ferroelectric Random AccessMemory)に退避するもの(特許文献2参照)がある。この従来例は、待機動作時のリーク電流を削減可能であり、消費電力削減の目的に適うものではあるが、製造時において通常ロジックとFRAMとの混載プロセスが必要であることから、コスト面において不利である。
【0008】
FRAMのような不揮発性メモリに代えてDRAMのような揮発性メモリをデータの退避先とする場合、消費電力削減のためにデータ退避先への供給電圧をデータ保持に必要な最低電圧としても、いわゆるソフトエラー等の発生による退避したデータの信頼性低下を抑えられることが好ましい。ソフトエラーは、トランジスタが保持したデータが外部から入射したα線や中性子の影響で発生した電荷によって変化させられる現象である。α線や中性子が生成する最大電荷量は15〜150fC程度であり、トランジスタの保持している電荷が、該15〜150fC程度の電荷発生では影響を受けないほど多ければ、ソフトエラーは発生しない。しかし、そのためには回路への印加電圧を高くしなければならず、低消費電力化の妨げとなってしまう。
【0009】
また、低消費電力化という点からだけでなく、近年のプロセス微細化によってトランジスタの印加可能電圧が低下しているという問題もある。例えば、100nmプロセスで1.0V動作の場合の論理セルの臨界電荷量はおよそ10fCという報告がある(非特許文献2参照)。臨界電荷量とは、これ以上の電荷が加わったときにトランジスタが保持したデータが失われる電荷量である。このことにより中性子が生成する電荷量よりも臨界電荷量を大きくするには通常の15倍の電圧をかける必要が生じることになる。これは、プロセスの微細化が進んでいる現状では、印加電圧を高くすることでソフトエラーを回避することは事実上、不可能となってきていることを示している。
【0010】
【特許文献1】
特開2000−82014公報
【0011】
【特許文献2】
特開平10−78836号公報
【0012】
【非特許文献1】
Stephen V. Kosonocky, Mike Immediato, Peter Cottrell, et al. : ”Enhanced Multi−Threshold (MTCMOS) Circuits Using Variable Well Bias”, Proceedings of the 2001 International Symposium on Low Power Electronics and Design pp.165−169, 2001
【0013】
【非特許文献2】
P. Shivakumar, D. Burger, et al.: ”Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic”, Intl. Conf. On Dependable System and Network, 2002
【0014】
【発明が解決しようとする課題】
本発明はかかる事情に鑑みてなされたものであり、消費電力削減のために機能モジュール単位で柔軟に電源供給を制御でき、及びこれに伴い必要なデータの退避及び復帰を制御できる集積回路装置であって、しかもデータ退避の信頼性を低下させることがなく低コストで実現可能な集積回路装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明に係る集積回路装置は、退避クロック信号に同期して退避データを出力する少なくとも一つの機能モジュールと、前記機能モジュールからいずれかの機能モジュールを選択し、選択された該機能モジュールへの電源供給の停止及び再開を制御する電源制御ユニットと、前記電源制御ユニットにより選択された機能モジュールから出力された退避データを格納する退避データ格納部と、前記退避データ格納部に格納された退避データが復帰クロック信号に同期して前記機能モジュールに復帰される際に、該退避データをエラー検出訂正するエラー検出訂正部とを具備することを特徴とする集積回路装置である。
【0016】
また、本発明に係るより具体的な構成の集積回路装置は、複数のフリップフロップを有し、該複数のフリップフロップがスキャンチェーンを構成しており、退避動作時には該フリップフロップのデータを退避クロック信号に同期した該スキャンチェーンのシフト動作により出力する一方、復帰動作時には退避したデータを復帰クロック信号に同期した該スキャンチェーンのシフト動作により前記フリップフロップに復帰させる少なくとも一つの機能モジュールと、前記機能モジュールからいずれかの機能モジュールを選択し、選択された該機能モジュールへの電源供給の停止及び再開を制御する電源制御ユニットと、前記電源制御ユニットにより選択された機能モジュールについて、退避クロック信号及び復帰クロック信号を生成するクロック信号生成部と、退避動作時又は復帰動作時において、前記電源制御ユニットにより選択された機能モジュールをスキャンテストモードに移行させると共に、前記スキャンチェーンのシフト動作のために供給するクロック信号として、前記クロック信号生成部により生成された退避クロック信号又は復帰クロック信号を選択するスキャンコントローラと、前記電源制御ユニットにより選択された機能モジュールから前記退避クロック信号に同期した前記スキャンチェーンのシフト動作により出力された退避データを格納する退避データ格納部と、前記退避データ格納部に格納された退避データが前記復帰クロック信号に同期した前記スキャンチェーンのシフト動作により前記機能モジュールのフリップフロップに復帰される際に、該退避データをエラー検出訂正するエラー検出訂正部とを具備することを特徴とする集積回路装置である。
【0017】
なお、上記構成について、さらに、前記エラー検出訂正部を、前記退避データからエラー訂正符号を生成し、前記退避データ格納部に書き込む符号化器と、前記退避データ格納部から、格納されていた退避データとそれに対応する前記エラー訂正符号を読み出して該退避データを復号化する復号化器とを具備する具体的な構成としてもよい。
【0018】
また、前記エラー検出訂正部が、前記退避データ格納部に格納された退避データを定期的にエラー検出訂正する構成としてもよい。
【0019】
また、前記退避データ格納部が前記退避データの複製を複数格納し、前記エラー検出訂正部が前記退避データ格納部に格納された複数の複製データを用いる多数決演算によりエラー検出訂正する構成としてもよい。
【0020】
また、前記クロック信号生成部が、前記退避データ格納部における定期的なエラー検出訂正に用いられるクロック信号を生成する構成としてもよい。
【0021】
また、前記退避データ格納部を、自己テスト回路用の記憶手段により構成してもよい。
【0022】
また、前記退避データ格納部に格納された退避データを圧縮する圧縮器と、前記圧縮器により圧縮された退避データを前記機能モジュールへの復帰の際に復元する復元器とをさらに具備する構成としてもよい。
【0023】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。本実施形態は低電力SoC(システム・オン・チップ)の実現に好適であり、消費電力削減のために遊休(アイドル)状態の機能モジュールに対する給電を遮断してスリープ(SLEEP)状態に遷移させる集積回路装置に関する。本実施形態の集積回路装置では、機能モジュールへの電源供給を遮断する際にデータ退避を行い、所定のイベントに応じて、退避したデータを該機能モジュールに復帰させ、スリープ状態から通常動作状態に復帰させる。
【0024】
図1は本発明に係る集積回路装置の基本構成図である。図1に示す1はPMU(Power Management Unit:電源管理ユニット)、2は機能モジュール、3は退避部である。機能モジュール2に設けられたスイッチSW1の制御端子には、PMU1からの電源制御信号線が接続されている。このスイッチSW1はPMU1からの電源制御信号に応じてON又はOFFとなり、これにより機能モジュール2に対する電源の供給又は遮断が制御される。
【0025】
図1に示すように、退避部3は、符号化器5、退避データ格納領域6、および復号化器7を有する。符号化器4は、データ退避時において、退避クロック信号に同期して機能モジュール2から出力された退避データをエラー検出訂正のために符号化する。これにより得られた符号化データを退避データと共に退避データ格納領域6に出力する。退避データ格納領域6には、例えば揮発性メモリが用いられる。後述するが、退避データ格納領域6は専用領域として新規に設けられたり、既存のメモリ領域が利用される。既存のメモリ領域としては、DRAMや、キャッシュ(CACHE)メモリを構成するSRAM等である。
【0026】
復号化器7は、退避データ格納領域6に格納されている退避データと、対応する符号化データとを読み出して復号化を行い、エラー訂正がなされた退避データを出力する。復号化器7によりエラー訂正がなされた退避データは復帰クロック信号に同期して機能モジュール2に復帰される。なお、このようなエラー訂正動作は、少なくとも、退避データ格納領域6から機能モジュール2に退避データが復帰される前に行うこととするが、データ退避期間中において定期的に行うことが好ましい。図1の構成では退避部3には常時電源が供給される。しかし、電力効率を考慮すると退避部3には使用されるときのみに電源が供給されることが好ましいことから、同退避部3への電源供給を制御するためのスイッチ(SW2)を備えていても良い。この場合、退避部3に設けられたスイッチの制御端子には、機能モジュール2に設けられたスイッチSW1と同様にPMU1からの退避制御信号線が接続され、その退避制御信号に応じてON状態又はOFF状態となることで、退避部3の使用状態(イネーブル状態)又は未使用状態が機能モジュール2の電源供給状態に応じて制御されることになる。
【0027】
図2はスキャンチェーンを用いたデータのシフト動作を説明するための図、図3はデータの退避及び復帰に係る処理の流れを示すフローチャートである。図2に示すように、機能モジュール2は複数のフリップフロップ(Scan−FF)21を有し、該複数のフリップフロップ21がスキャンチェーン11を構成している。一方、退避部3の退避データ格納領域6はシフトレジスタ22を構成しており、データの退避時においてスキャンチェーン11の出力端に接続される。なお、退避データ格納領域6にシフトレジスタ22を用いる構成は、説明の簡単化のため想定したものであり、本発明はかかる構成に限定されないことは言うまでもない。
【0028】
先ず、スリープモードへの遷移判定を行う(ステップS1)。機能モジュール2がスリープモードに遷移すると、退避部3は退避動作を開始する(ステップS2)。機能モジュール2は退避クロック信号に同期してスキャンチェーン11のシフト動作を行い、フリップフロップ21が保持している値を順番に出力する。この出力されたフリップフロップ21の値は、退避クロック信号に同期して退避部3のシフトレジスタ22に退避されていく(ステップS3)。退避クロック信号の周波数は、可能な限り低速でよい。
【0029】
なお、退避すべき値を保持しているフリップフロップ(例えば機能モジュール2の内部レジスタを構成するようなもの)を、一つのスキャンチェーン11に纏める構成にしておけば、データ退避領域側すなわち退避部3において必要なフリップフロップの数、および、退避に要するクロックサイクル数を必要最低限に抑えることができ好ましい。
【0030】
また、退避部3のフリップフロップは、図2のようなシフトレジスタ22のような直列接続としても構わないが、図4に示すように、数ビットからなるグループ17の分割単位としてもよい。この図4の構成によれば、符号化器5によりチェックビット16を生成する符号化処理が簡単に行える。また、この図4の構成は一種のパラレル−シリアル変換であり、退避部3内の殆どのフリップフロップのクロックをより低速にすることが可能になることから、電力消費量削減の面で有利である。
【0031】
機能モジュール2は、必要な全てのフリップフロップ21の値を退避部3側に退避し終えた時点(ステップS4=YES)でスリープモードに遷移する。一方、退避部3はシフトレジスタ22のシフト動作を停止し、機能モジュール2から退避された値を保持し続ける。このとき、データ退避領域の電圧すなわちシフトレジスタ22の動作電圧を、同シフトレジスタ22が値を保持できる最低限の電圧まで下げる構成とすれば、電力消費量削減の面で有利である。
【0032】
定期的なエラー検出訂正以外の退避部3の動作状態は、言うまでもなく退避データを記憶するという動作状態である。この状態では回路内のトランジスタのスイッチングが発生しないので、スイッチングによる電力消費は発生しない。しかしながら、今日の半導体プロセスでは微細化が進み、サブスレッショルドリークによる電力消費が無視できなくなっている。このサブスレッショルドリークは印加電圧に比例して増加することから、低消費電力化のためには退避部3の印加電圧を極力低くすることが望ましい。例えば、100nmプロセスでは電圧1.0V程度が通常動作時に用いられるが、データを記憶しておくだけならばトランジスタのスレッショルド電圧近辺(例えば0.3〜0.5V周辺)まで下げることができる。
【0033】
退避部3において、符号化器5はシフトレジスタ22に退避されたデータに対してエラー訂正のための符号化を行う(ステップS5)。これにより、エラー訂正符号すなわちチェックビット16が生成される。生成されたチェックビット16は、退避部3内の図示しないフリップフロップに保存される。尚、チェックビット16の保存先としては、フリップフロップのみに限定されない。
【0034】
ここでは、ECC(Error Checking and Correction)の手法を用いることとするが、ソフトエラー発生確率に応じて他の適切な手法を採ってもよい。例えば、SEC−DEDの手法を用いてもよい。SEC−DEDは1ビット誤り訂正・2ビット誤り検出(Single Error Correction and Double Error Detection)の略称であり、データビット列と符号ビット列に対して特定の演算を行うコーディング方法である。SEC−DEDでは、1ビット分のエラーが生じた場合はこれを訂正可能である。また、2ビット分のエラーが生じた場合、その訂正はできないがエラーが発生したこと自体は検知できる。
【0035】
ステップS5においてエラー訂正符号(チェックビット16)を生成したのち、機能モジュール2はスリープモードに従い動作停止する。すなわち、PMU1からの制御による電源供給が一時的に遮断される(ステップS6)。
【0036】
ここで、退避部3において、シフトレジスタ22の保持値に対して定期的にエラー検出を行うようにし(ステップS7)、ステップS8においてエラーを検出した際は復号化器7によって該エラーを訂正する構成としてもよい(ステップS9)。このような定期的なエラー検出訂正によれば、退避データの信頼性を向上できる。
【0037】
そしてステップS10において機能モジュール2のスリープモードが解除されると、先ず機能モジュール2が動作を再開する(ステップS11)。続いて、退避部3のシフトレジスタ22から退避データが読み出されるとともに、フリップフロップに保持されているチェックビット16も読み出され、これらのデータを用いて復号化器7により復号化が行われる。復号化されたデータは、エラー訂正がなされたものとなる。
【0038】
エラー訂正が行われた退避データは、退避時とは逆に、スキャンチェーン11を用いたシフト動作により機能モジュール2側に転送され、フリップフロップ21に戻される(ステップS12)。シフトレジスタ22から全ての退避データが機能モジュール2のフリップフロップ21に復帰されると、該機能モジュール2はスリープモードに遷移する直前の状態(通常動作モード)に復帰する一方、退避部3は動作停止しオフ状態となる(ステップS13)。
【0039】
以下、このような本発明に係る集積回路装置の基本構成が適用された種々の実施形態を説明する。
【0040】
(第1実施形態)
図5は、本発明に係る集積回路装置の第1実施形態を示す構成図である。この第1実施形態は、図1に示した構成をより具体化したものである。図1に示した構成と同様、PMU1が電源制御及び退避処理自体の制御を管理する主体である。PMU1は、低電力指向の集積回路装置(LSI)に通常設けられるものであって、各機能モジュール2へのクロック供給や電源供給の制御を行い、アイドル状態の機能モジュール2における電力消費を極力抑える働きを持つ。このようなPMU1はOS(オペレーティングシステム)のようなソフトウェアで実現されても良いし、ハードウェアで実現されても良い。いずれの場合においても、PMU1は特定の機能モジュール2ヘのクロック供給や電源供給の制御を、集積回路装置における処理のヒストリや待機時間をもとに行う。
【0041】
PMU1により管理される機能モジュール2は複数あり、同PMU1がいずれかの機能モジュール2を選択して電源制御及び退避制御を行うことができるが、本実施形態では説明の便宜上、機能モジュールAのみがスリープ時に退避しておくべきデータを持っており、その他のメモリ等の他の機能モジュール(不図示)はそのようなデータを持っていないものと仮定する。
【0042】
また、図5の構成においては、退避部3には、その電源供給を制御するためのスイッチSW2が設けられている。このスイッチSW2の制御端子には、機能モジュール2に設けられたスイッチSW1と同様にPMU1からの退避制御信号線が接続されており、その退避制御信号に応じてON状態又はOFF状態となる。これにより退避部3の使用状態(イネーブル状態)又は未使用状態が機能モジュール2の電源供給状態に応じて制御される。
【0043】
図6はデータの退避及び復帰のタイミングを示すシーケンス図である。図6において、CLK_ENはクロック供給のイネーブル信号、PW_ENは電源供給のイネーブル信号、SH_ENは退避部3のイネーブル信号である。PMU1がある機能モジュール2(ここでは図5に示されるモジュールA)の電源をON/OFFする場合、これに先立ちPMU1は退避部3のイネーブル信号(SH_EN)を出力する。またPMU1は、退避部3から、データ退避処理又はデータ復帰処理の動作が完了した旨の返答を受けてから、電源供給のイネーブル信号(PW_EN)により電源のON/OFFを制御する。
【0044】
図5に示すスキャンコントローラ10は、通常では集積回路装置全体をスキャンテストモードに切り替える制御を行うが、スキャンチェーン11を用いたシフト動作によるデータの退避又は復帰を行う際には、PMU1からその旨の指示を受け、該PMU1から指定された機能モジュール(ここではモジュールA)をテストモードイネーブル信号(NT)によりスキャンテストモードに切り替える。
【0045】
退避部3に設けられたパルスジェネレータ13は、コントローラ12からの制御により、データ退避処理において必要なデータをスキャンインするため、もしくはデータ復帰処理において必要なデータをスキャンアウトするために必要な数のクロックパルス(pulse)を発生し、スキャンコントローラ10に対して出力する。これらは上述した退避クロック信号又は復帰クロック信号に相当する。コントローラ12は、PMU1からの指示により、パルスジェネレータ13による発生パルスの制御および定期的なエラー検出訂正動作を制御するコントローラであり、退避部3に設けられている。
【0046】
以下、このように構成された本実施形態の動作を説明する。
【0047】
モジュールAが当分使用されないことがPMU1により判断された場合、PMU1はまずクロック制御ユニット(ClkMgr)にモジュールAへのクロック供給を停止するよう指示する。これを受けてクロック制御ユニットはモジュールAへのクロック供給のイネーブル信号(CLK_EN)を“L”にしてクロック供給を停止する。
【0048】
この状態からさらにモジュールAが当分使用されないことが判断されると、PMU1は退避部3のイネーブル信号(SH_EN)を出力して退避部3を動作可能状態にする。
【0049】
一方、スキャンコントローラ10は、テストモードイネーブル信号(NT)を出力し、モジュールAをスキャンテストモードにする。また、このときモジュールAへ供給されるクロックのパスを、通常のスキャンテストモード動作時のクロックパルス信号(normal_clk)のパスに代えて、退避部3のパルスジェネレータ13から供給されるクロックパルス信号(pulse)のパスに切り替える。
【0050】
イネーブル信号(SH_EN)により退避部3が動作可能状態になると、パルスジェネレータ13はクロックパルス信号(pulse)の生成を開始する。このクロックパルス信号は上記のようにパスが切り替えられたスキャンコントローラ10を通じてモジュールAのスキャンチェーン11に供給される。このクロックパルス信号に同期して、スキャンチェーン11のフリップフロップが保持していたデータが順次シフトアウトされる。モジュールAからシフトアウトされたデータは退避部3のシリアルパラレル変換器及び符号化器14によりシリアルパラレル変換がなされる。また、該データに対する訂正符号化処理によりチェックビットが生成され、退避データとともに退避データ格納領域6に格納されていく。
【0051】
なお、退避データを圧縮することで退避データ格納領域6へ格納する際のデータサイズを小さくすることも可能である。この場合、退避データ格納領域6に格納された退避データを圧縮する圧縮器と、この圧縮器により圧縮された退避データを機能モジュールへの復帰の際に復元する復元器とを設ける。
【0052】
また、退避データ格納領域6が十分大きい場合は多数決法などを使うことで、訂正符号化処理が不要となる可能性もある。多数決法を用いる実施形態については後述する(第6実施形態)。また、上記シリアルパラレル変換処理は、退避部3における動作周波数を下げて電力効率を上げるために行うのであり、必須の処理ではない。
【0053】
スキャンチェーン11の全てのフリップフロップのデータの退避処理が完了すると、パルスジェネレータ13はクロックパルス信号の生成を停止する。その後、PMU1はモジュールAの電源供給イネーブル信号(PW_EN)を“L”にしてモジュールAの電源をOFFにする。ここまでで、データの退避処理は完了である。
【0054】
次に、退避データの定期的な検証について説明する。既存のエラー訂正処理にはエラーを訂正できるビット数に上限があることが知られている。データを退避している時間が長くなるにつれて退避データ中のエラーが増加していくので、可能なうちにエラーを訂正しておく必要がある。このため、退避データを保持している間、つまりSH_ENが“H”の間、退避部3において次のような定期的なエラー検出・訂正処理を行うことが望ましい。
【0055】
すなわち、退避データを保持している間、退避部3のコントローラ12が時間を測定する。一定時間が経過すると、コントローラ12はパルスジェネレータ13にクロックパルス信号を生成するよう指示を出す。この指示を受けると、パルスジェネレータ13はクロックパルス信号を出力し始め、これに同期して復号化器及びパラレルシリアル変換器15が、退避されているデータの復号化及びパラレルシリアル変換を行う。復号化が行われた時点でエラー訂正は実施されているので、ここで得られたデータはエラーのないデータといえる。ここでシリアルパラレル変換器及び符号化器14が、訂正後のデータに対し再びシリアルパラレル変換及び符号化処理を施し、退避データ格納領域6に格納する。
【0056】
次に、退避データの復帰について説明する。PMU1はモジュールAを動作させる必要が生じたことを判断すると、電源供給のイネーブル信号(PW_EN)を“H”にしてモジュールAに電源を供給し始める。モジュールAの電源が完全に行き渡って安定すると、退避部3に対し退避データを復帰するよう指示を出す(SH_Ctrl)。この指示を受けると退避部3のパルスジェネレータ13はクロックパルス信号を生成してスキャンコントローラ10に出力する。一方、復号化器及びパラレルシリアル変換器15は復号化及ぴパラレルシリアル変換を行いながら、退避データ格納領域6に格納されていたデータを出力し始める。
【0057】
このとき、モジュールAはテストモードイネーブル信号(NT)によってスキャンテストモードに設定されているので、退避部3から出力されたデータはデータ退避時と同様、スキャンチェーン11を通って元のフリップフロップに復帰される。パルスジェネレータ13は何サイクル分のクロックパルス信号を出力すればよいかの情報をデータ退避時に得ている。退避部3から全てのデータが出力され、データの復帰が完了した時点でパルスジェネレータ13はクロックパルス信号の生成を停止する。
【0058】
その後、スキャンコントローラ10はテストモードイネーブル信号(NT)の出力を停止し、モジュールAを通常動作モードにする。さらに退避部3のイネーブル信号(SH_EN)を“L”にするとともに、該退避部3の電源をOFFにする。これらの処理の後で、PMU1はクロック制御ユニットにモジュールAのクロックを供給するように指示する。これを受けてクロック制御ユニットはクロック供給のイネーブル信号(CLK_EN)を“H”にする。これによってモジュールAは通常の動作を再開する。
【0059】
なお、上記の動作において、機能モジュールのクロック停止の後、更に暫くしてから電源を切るようにしているのは、いったん電源を切ってしまうと次に電源を入れるときに時間がかかるためである。頻繁に機能モジュールのON/OFFが行われる場合はクロックだけを制御して、電源は入れたままにしておくのが一般的である。
【0060】
上述したパルスジェネレータ13は、退避部3に設けられるものとして説明したが、次に説明する第2実施形態の図7の構成のようにスキャンコントローラ10が同等のパルスジェネレータ31を備える構成とし、退避部3にパルスジェネレータ13を設けない構成としてもよい。あるいは、第2実施形態の図7のようにスキャンコントローラ10がパルスジェネレータ31を備えるとともに退避部3もパルスジェネレータ13を備え、両者が協働して制御を行う構成としてもよい。この場合、例えば、データの退避又は復帰動作時には、専らスキャンコントローラ10のパルスジェネレータ31を用い、定期的なエラー検出訂正処理時には専ら退避部3のパルスジェネレータ13を用いるようにする。なお、いずれの構成においても、若干制御方法が異なるものとなるに過ぎず、当業者であればこれらの変形を容易に行うことができる。
【0061】
コントローラ12についても、パルスジェネレータと同様に、スキャンコントローラ10に含めたり、本実施形態のように退避部3の各々が備える構成としてもよい。要するに、PMU1からの指示を認識し、データ退避及び復帰ならびに定期的なエラー検出訂正処理のシーケンスを実行できる構成であれば良い。
【0062】
(第2実施形態)
図7は第2実施形態に係るスキャンコントローラの構成例を示す図である。本実施形態のスキャンコントローラ10は、退避部3のイネーブル信号(SH_EN_A、SH_EN_B)を出力する退避コントローラ30を備えており、PMU1ではなくこの退避コントローラ30を退避又は復帰時の制御主体としている点で上述した第1実施形態のものとは構成が異なっている。
【0063】
本実施形態のスキャンコントローラ10についても、第1実施形態のものと同様に通常では集積回路装置全体をスキャンテストモードに切り替える制御を行う。スキャンチェーン11を用いたシフト動作によるデータの退避又は復帰を行う際には、PMU1からその旨の指示を受け、これに応じて退避コントローラ30は該当する機能モジュールを選択してイネーブル信号(SH_EN_AまたはSH_EN_B)を出力する。また、退避コントローラ30は選択した機能モジュールに対してテストモードイネーブル信号NT1またはNT2を出力する。これにより機能モジュールを選択的にスキャンテストモードに切り替えることができる。第2実施形態は、このような機能モジュール単位の退避及び復帰制御のためのモード切替の具体的構成に関する。
【0064】
クロックパルス発生器31は、必要なサイクル数のクロックパルス信号を生成する。このクロックパルス信号は、図7に示すscan_clkと同じパスを通じて機能モジュールのスキャンチェーンに与えられる。なお、scan_clkは通常のスキャンテストモード時に用いられるクロックパルス信号である。また、normal_clk_Aおよびnormal_clk_Bは、スキャンテストモードでも退避又は復帰動作モードでもない、通常の動作モード時に用いられるクロックパルス信号である。
【0065】
図8は複数の機能モジュールの夫々に退避部を設ける構成例を示す図である。図8に示される複数の機能モジュールには、図7に示したスキャンコントローラ10が接続される。
【0066】
図8から分かるように、モジュールAに対応して退避部Aが設けられ、モジュールBに対応して退避部Bが設けられている。モジュールAではスキャンチェーン11を構成する全てのフリップフロップのデータ(scan_out1)が退避部Aに退避されるのに対し、モジュールBについては一部のフリップフロップのデータ(scan_out2)は退避部Bには退避されず、他のフリップフロップのデータ(scan_out3)のみが退避部Bに退避される構成である。
【0067】
機能モジュール毎に退避部を設ける構成とした場合、このような詳細な退避制御を退避部Aと退避部Bとを一つの退避部に纏める場合よりも容易に実現できる。
【0068】
(第3実施形態)
図9は本発明に係る集積回路装置の第3実施形態(専用領域へ退避)を示す構成図である。
【0069】
同図に示す20は機能モジュールとしてのメモリである。このメモリ20に対しデータの書き込み及び読み出しを行うモジュールAは、該メモリ20をアクセスする際のアドレスを生成するアドレス生成器23を備えている。
【0070】
退避部3は、このような機能モジュールとしてのメモリ20とは別に、専用領域としての退避データ格納領域6を備える。このような退避部3は、機能モジュール毎に設けられていてもよいし、複数の機能モジュールに対して一つだけ設けられてもよい。退避データ格納領域6を大容量化できる場合、多数決法などを使うことで、訂正符号化処理が不要となる可能性がある。この場合、シリアルパラレル変換器および符号化器14、および復号化器およびパラレルシリアル変換器15を省略できる。多数決法を用いる実施形態については後述する(第6実施形態)。
【0071】
また、退避データ格納領域6をソフトエラー対策ラッチで構成すれば、上述した定期的なエラー検出訂正を行わなくとも、所要のデータ信頼性を得ることができる。この場合、シリアルパラレル変換器および符号化器14、および復号化器およびパラレルシリアル変換器15を省略できる可能性もある。
【0072】
また、退避データ格納領域6を後述するBIST(Built In Self Test;自己テスト)回路などによるテスト処理に使用することができる。また、退避データ格納領域6をセット/リセット付きフリップフロップによって構成する場合、退避領域にデータを退避していないときならば、該退避領域に初期化信号を与えることによってセット付きフリップフロップ、リセット付きフリップフロップの並び順に応じたデータを必ず読み出すことができる。これを利用して退避データ格納領域6をROMとして使用することも可能である。
【0073】
(第4実施形態)
図10は本発明に係る集積回路装置の第4実施形態(RAMやCACHEへ退避)を示す構成図である。
【0074】
本実施形態の退避部500は、第3実施形態のものとは異なりデータ退避先の専用領域を持たず、RAMやキャッシュメモリからなる他の機能モジュール(ここでは例えばメモリ700)を退避先として利用する構成である。データを退避/復帰させる際のメモリ700へのアクセスのために、退避部500はアドレス生成器701を備える。また、本構成において、コントローラ12は、メモリ700に対する書き込みイネーブル信号線(wEN)および読み出しイネーブル信号線(rEN)に接続されている。
【0075】
機能モジュール12から退避されたデータはシリアルパラレル変換器及び符号化器14を介して1ワードの中に退避データとそれに対応するチェックビットを含んだライトデータとして生成され、address gen701で指定されたアドレスに書き込まれる。退避部500はデータを復帰するのに備えて、退避したデータをメモリ上のどのアドレスに保存したかを記憶しておく必要がある。そのため書き込んだアドレスを記憶しておくメモリ領域を備えても良いし、メモリ上の各アドレスにそこに格納しているデータが退避データか通常データのどちらかであるかを示す情報(タグ)を備えても良い。
【0076】
また、シリアルパラレル変換器および符号化器14は、メモリ700への書き込みデータ信号線(write_data)に接続されており、復号化器およびパラレルシリアル変換器15はメモリ700からの読み出しデータ信号線(read_data)に接続されている。
【0077】
なお、退避部500は、機能モジュール毎にそれぞれ設けられてもよいし、複数の機能モジュールについて一つだけ設けられる構成としてもよい。また、退避部500がアクセスする退避先としては、一つの退避先(ここではメモリ700)のみならず複数の退避先を用いてもよい。また、退避部毎に異なる退避先を設けても良い。
【0078】
ここで、データ退避先を専用領域とする上述の第3実施形態と当該第4実施形態との比較、すなわちデータ退避先の違いによる得失(メリット/デメリット)を説明する。
【0079】
データ退避先を専用領域とする上述の第3実施形態の場合、退避データ及び訂正符号を格納する退避領域を新規に用意しなければならないため面積のオーバヘッドが大きい。なお、電力のオーバヘッドは機能モジュールが動作しているときには退避部の電源は遮断されているのでわずかである。一方、データ退避先としてRAMやキャッシュを用いる第4実施形態の場合、既存のメモリに対して退避データを格納したアドレスを記憶する領域またはメモリの各アドレスが保持しているデータが退避されたデータであるか通常のデータであるかを判定するためのデータ判定用IDの格納領域を追加するだけで済むので面積のオーバヘッドは小さい。電力のオーバヘッドについては、第3実施形態の場合と同様に小さい。なお、データ退避時にはメモリ上の必要な部分のみを動作させるようにして無駄な電力消費を抑えるべきである。
【0080】
また、第3実施形態の場合、通常動作への影響がほとんどないが、第4実施形態の場合は若干ある。それは例えばノーマルパスの容量増加や退避データを識別する論理が増加(キャッシュのタグ)することである。
【0081】
エラー検出訂正(ECC)の実現容易性に関して、第3実施形態の場合は速度がそれほど重要とされないので、良く知られたECCを利用可能である点で好ましい。ただし、ソフトエラー対策のために、該ECCを定期的に行う必要がある。一方、第4実施形態の場合、退避データ量に対して退避データ格納領域の容量が十分大きい場合、データのコピー(複数)を用いた多数決演算によるエラー検出訂正により容易化が可能である。かかる構成については後の第6実施形態にて説明する。また、通常動作時にECCを兼用できる可能性がある。
【0082】
制御容易性に関して、第3実施形態の場合は通常動作用モジュールから完全に独立した構成とすることができ、極めて容易である。一方、第4実施形態の場合、RAMやキャッシュを使用する他のモジュールが動作中である場合は制御がやや困難化する。
【0083】
以上述べたことから、第4実施形態は、面積のオーバーヘッドのメリット、および容量の特性を生かしたECCの容易化、簡素化のメリットがある。それ以外については当該第4実施形態よりも専用領域への退避を行う第3実施形態の方が有利(特に通常動作への影響が小さいこと)である。
【0084】
(第5実施形態)
図11は本発明に係る集積回路装置の第5実施形態(BIST用メモリへ退避)を示す構成図である。
【0085】
本実施形態の退避部600は、第4実施形態のものと同様にデータ退避先の専用領域を持たず、他の機能モジュールを退避先として利用する構成であるが、特に本実施形態ではデータ退避先としてBIST(Built In Self Test;自己テスト)回路を利用する。BIST回路800は、コントローラ801、パターン生成器802、BISTメモリ803、およびコンパレータ(比較器)804から構成されており、具体的にはBIST用メモリ803をデータ退避先とするものである。BISTについては公知であり詳細な説明は省略するが、コントローラ801からの制御によりパターン生成器802がテストパターンを生成し、これを入力データ(BIST_input_data)としてモジュール2に与える。その結果を出力データ(BIST_output_data)としてモジュール2からBIST回路800側が受け取り、先の入力データと該出力データとをBIST用メモリ803から読み出し、コンパレータ804が比較演算を行って故障の有無を判断するというものである。
【0086】
BIST用メモリ803の容量が十分大きい場合、本実施形態のようにデータ退避先として利用することで上述の第4実施形態と同様に面積オーバーヘッドを小さくできるメリットがある。尚、本実施形態は、BIST回路に代えて、通常動作時には使用されない内部テストモード用のメモリ領域を利用するよう変形することも可能である。
【0087】
(第6実施形態)
図12は本発明に係る集積回路装置の第6実施形態を示す構成図であって、多数決演算によるエラー検出訂正を説明する図である。
【0088】
本実施形態の退避部400は、コントローラ401、退避データ格納領域60、および復号化器403から構成されている。コントローラ401は、大容量のRAMやキャッシュメモリからなる退避データ格納領域60をアクセスする際のアドレスを生成するアドレス生成器402を備える。なお、図12では退避データ格納領域60が退避部400内の専用領域として設けられるよう示されているが、専用領域としてではなく、上述したように他の機能モジュールや、BIST用メモリを利用する構成としてもよい。
【0089】
コントローラ401は、機能モジュール2からデータが退避されてきた際に、該退避データの複製を複数、生成する。この複数の複製データは退避データ格納領域60の異なる領域に格納される。このように退避されたデータを機能モジュール2に復帰させる際に、エラー検出訂正部としての復号化器403は、これら複数の複製データのすべてを退避データ格納領域60から読み出し、多数決演算を行う。多数決演算の結果として得られるデータは、仮にソフトエラー等がデータ退避中に生じていたとしても、これが訂正された本来のデータとして得られる。このような本実施形態によれば、上述したような定期的なエラー検出訂正処理が不要となり好ましい。
【0090】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0091】
【発明の効果】
以上説明したように本発明によれば、消費電力削減のために機能モジュール単位で柔軟に電源供給を制御でき、及びこれに伴い必要なデータの退避及び復帰を制御できる集積回路装置であって、しかもデータ退避の信頼性を低下させることなく低コストで実現可能な集積回路装置を提供できる。特に、消費電力削減のためにデータ退避先への供給電圧をデータ保持に必要な最低電圧としても、データ退避先においてエラー検出訂正を行う構成によって、いわゆるソフトエラー等の発生による退避したデータの信頼性低下を抑えることができる。
【図面の簡単な説明】
【図1】本発明に係る集積回路装置の基本構成図
【図2】スキャンチェーンを用いたデータのシフト動作を説明するための図
【図3】データの退避及び復帰に係る処理の流れを示すフローチャート
【図4】退避データ格納領域におけるエラー検出訂正の流れを示す図
【図5】本発明に係る集積回路装置の第1実施形態を示す構成図
【図6】データの退避及び復帰のタイミングを示すシーケンス図
【図7】本発明に係る集積回路装置の第2実施形態を説明するための図であって、スキャンコントローラの構成例を示す図
【図8】第2実施形態に係り、複数の機能モジュールの夫々に退避部を設ける構成例を示す図
【図9】本発明に係る集積回路装置の第3実施形態(専用領域へ退避)を示す構成図
【図10】本発明に係る集積回路装置の第4実施形態(RAM/CACHEへ退避)を示す構成図
【図11】本発明に係る集積回路装置の第5実施形態(BIST用メモリへ退避)を示す構成図
【図12】本発明に係る集積回路装置の第6実施形態を示す構成図であって、多数決演算によるエラー検出訂正を説明する図
【図13】従来例に係る給電制御を説明するための図
【符号の説明】
1…PMU(電源管理ユニット)
2,200,201…機能モジュール
3,300,301,400,500,600…退避部
4…セレクタ
5…符号化器
6,60…退避データ格納領域
7,403…復号化器
10…スキャンコントローラ
11…スキャンチェーン
12…コントローラ
13…パルスジェネレータ
14…シリアルパラレル変換器及び符号化器
15…復号化器及びパラレルシリアル変換器
16…チェックビット
17…退避データ
20,700…メモリ(RAM又はCACHE)
21…フリップフロップ
22…シフトレジスタ
30…退避コントローラ
31…パルスジェネレータ
701…アドレス生成器
800…BIST(自己テスト回路)
801…コントローラ
802…パターン生成器
803…BIST用メモリ
804…コンパレータ

Claims (9)

  1. 退避クロック信号に同期して退避データを出力する少なくとも一つの機能モジュールと、
    前記機能モジュールからいずれかの機能モジュールを選択し、選択された該機能モジュールへの電源供給の停止及び再開を制御する電源制御ユニットと、
    前記電源制御ユニットにより選択された機能モジュールから出力された退避データを格納する退避データ格納部と、
    前記退避データ格納部に格納された退避データが復帰クロック信号に同期して前記機能モジュールに復帰される際に、該退避データをエラー検出訂正するエラー検出訂正部と
    を具備することを特徴とする集積回路装置。
  2. 複数のフリップフロップを有し、該複数のフリップフロップがスキャンチェーンを構成しており、退避動作時には該フリップフロップのデータを退避クロック信号に同期した該スキャンチェーンのシフト動作により出力する一方、復帰動作時には退避したデータを復帰クロック信号に同期した該スキャンチェーンのシフト動作により前記フリップフロップに復帰させる少なくとも一つの機能モジュールと、
    前記機能モジュールからいずれかの機能モジュールを選択し、選択された該機能モジュールへの電源供給の停止及び再開を制御する電源制御ユニットと、
    前記電源制御ユニットにより選択された機能モジュールについて、退避クロック信号及び復帰クロック信号を生成するクロック信号生成部と、
    退避動作時又は復帰動作時において、前記電源制御ユニットにより選択された機能モジュールをスキャンテストモードに移行させると共に、前記スキャンチェーンのシフト動作のために供給するクロック信号として、前記クロック信号生成部により生成された退避クロック信号又は復帰クロック信号を選択するスキャンコントローラと、
    前記電源制御ユニットにより選択された機能モジュールから前記退避クロック信号に同期した前記スキャンチェーンのシフト動作により出力された退避データを格納する退避データ格納部と、
    前記退避データ格納部に格納された退避データが前記復帰クロック信号に同期した前記スキャンチェーンのシフト動作により前記機能モジュールのフリップフロップに復帰される際に、該退避データをエラー検出訂正するエラー検出訂正部と
    を具備することを特徴とする集積回路装置。
  3. 前記エラー検出訂正部は、
    前記退避データからエラー訂正符号を生成し、前記退避データ格納部に書き込む符号化器と、
    前記退避データ格納部から、格納されていた退避データとそれに対応する前記エラー訂正符号を読み出して該退避データを復号化する復号化器と
    を具備することを特徴とする請求項1又は2に記載の集積回路装置。
  4. 前記エラー検出訂正部は、前記退避データ格納部に格納された退避データを定期的にエラー検出訂正することを特徴とする請求項1乃至3のいずれかに記載の集積回路装置。
  5. 前記退避データ格納部は前記退避データの複製を複数格納し、
    前記エラー検出訂正部は前記退避データ格納部に格納された複数の複製データを用いる多数決演算によりエラー検出訂正することを特徴とする請求項1又は2に記載の集積回路装置。
  6. 前記クロック信号生成部は、前記退避データ格納部における定期的なエラー検出訂正に用いられるクロック信号を生成することを特徴とする請求項1乃至5のいずれかに記載の集積回路装置。
  7. 前記退避データ格納部が、自己テスト回路用の記憶手段から構成されることを特徴とする請求項1乃至6のいずれかに記載の集積回路装置。
  8. 前記退避データ格納部に格納された退避データを圧縮する圧縮器と、
    前記圧縮器により圧縮された退避データを前記機能モジュールへの復帰の際に復元する復元器と
    をさらに具備することを特徴とする請求項1乃至7のいずれかに記載の集積回路装置。
  9. 前記退避データ格納部を揮発性メモリにより構成したことを特徴とする請求項1乃至8のいずれかに記載の集積回路装置。
JP2002289999A 2002-10-02 2002-10-02 集積回路装置 Expired - Fee Related JP3910902B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002289999A JP3910902B2 (ja) 2002-10-02 2002-10-02 集積回路装置
US10/674,951 US7269780B2 (en) 2002-10-02 2003-09-30 Power management for circuits with inactive state data save and restore scan chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002289999A JP3910902B2 (ja) 2002-10-02 2002-10-02 集積回路装置

Publications (2)

Publication Number Publication Date
JP2004126932A true JP2004126932A (ja) 2004-04-22
JP3910902B2 JP3910902B2 (ja) 2007-04-25

Family

ID=32170868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002289999A Expired - Fee Related JP3910902B2 (ja) 2002-10-02 2002-10-02 集積回路装置

Country Status (2)

Country Link
US (1) US7269780B2 (ja)
JP (1) JP3910902B2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004245A (ja) * 2004-06-18 2006-01-05 Seiko Epson Corp 集積回路装置及び電子機器
JP2007265557A (ja) * 2006-03-29 2007-10-11 Toshiba Corp 半導体記憶装置
JP2007536667A (ja) * 2004-05-05 2007-12-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路を備えるモバイル装置およびそのような回路をパワーダウンする方法
WO2008126418A1 (ja) * 2007-04-11 2008-10-23 Panasonic Corporation データ退避システム及びデータ復帰システム、並びにデータ退避方法及びデータ復帰方法
JP2009159011A (ja) * 2007-12-25 2009-07-16 Renesas Technology Corp 半導体集積回路
JP2009187552A (ja) * 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
JP2010231417A (ja) * 2009-03-26 2010-10-14 Denso Corp ソフトエラー検出回路を備える制御装置
KR20110018990A (ko) * 2009-08-19 2011-02-25 삼성전자주식회사 파워 게이팅 장치
JP2011090448A (ja) * 2009-10-21 2011-05-06 Renesas Electronics Corp 半導体集積回路
JP2012248194A (ja) * 2011-05-27 2012-12-13 Arm Ltd 状態保持回路における状態保全性の検証
US8705267B2 (en) 2010-12-03 2014-04-22 Semiconductor Energy Laboratory Co., Ltd. Integrated circuit, method for driving the same, and semiconductor device
JP2014179080A (ja) * 2013-03-13 2014-09-25 Intel Corp プラットフォーム非依存型パワー管理
JP2017123119A (ja) * 2016-01-08 2017-07-13 株式会社デンソー 電子制御装置
WO2018066246A1 (ja) * 2016-10-03 2018-04-12 ソニー株式会社 半導体回路、半導体回路の制御方法、および電子機器
CN113268132A (zh) * 2021-05-19 2021-08-17 维沃移动通信有限公司 供电控制方法、装置和电子设备

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005054884A1 (en) * 2003-12-01 2005-06-16 Nokia Corporation Integrated circuit with leakage control and method for leakage control
KR100539254B1 (ko) * 2004-03-13 2005-12-27 삼성전자주식회사 테스트용 스캔 체인을 이용한 반도체 장치의 슬립모드에서의 데이터 보존 회로 및 그 보존 방법
US7447919B2 (en) * 2004-04-06 2008-11-04 Hewlett-Packard Development Company, L.P. Voltage modulation for increased reliability in an integrated circuit
US20060080583A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation Store scan data in trace arrays for on-board software access
JP4531535B2 (ja) * 2004-11-26 2010-08-25 富士通株式会社 命令処理停止手段を持つ命令制御装置におけるハードウェアエラー制御方式
KR101185614B1 (ko) * 2005-01-31 2012-09-28 삼성전자주식회사 절전모드가 아닌 동작상태저장과 전원차단으로 구현하는시스템의 소비전력 감소 방법 및 장치
JP2006236252A (ja) * 2005-02-28 2006-09-07 Fujitsu Ltd セキュリティ装置、時刻校正装置、タイムスタンプ装置、電源供給制御方法および電源供給制御プログラム
JP4761833B2 (ja) * 2005-05-24 2011-08-31 株式会社東芝 半導体装置及びシステム
US20070124607A1 (en) * 2005-11-30 2007-05-31 Samsung Electronics Co., Ltd. System and method for semi-automatic power control in component architecture systems
JP5058503B2 (ja) * 2006-03-17 2012-10-24 日本電気株式会社 スキャンテスト用回路を備える電子回路、集積回路及び該集積回路に用いられる消費電力低減方法
JP2007287770A (ja) * 2006-04-13 2007-11-01 Matsushita Electric Ind Co Ltd 半導体集積回路
US7996738B2 (en) * 2006-05-03 2011-08-09 International Business Machines Corporation Semiconductor chip with a plurality of scannable storage elements and a method for scanning storage elements on a semiconductor chip
JP2008117372A (ja) * 2006-10-13 2008-05-22 Nec Electronics Corp 半導体集積回路およびその制御方法
US7596737B2 (en) * 2006-11-10 2009-09-29 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for testing state retention circuits
US8316158B1 (en) 2007-03-12 2012-11-20 Cypress Semiconductor Corporation Configuration of programmable device using a DMA controller
US7908516B2 (en) * 2007-03-27 2011-03-15 Microchip Technology Incorporated Low power mode fault recovery method, system and apparatus
US8060661B1 (en) 2007-03-27 2011-11-15 Cypress Semiconductor Corporation Interface circuit and method for programming or communicating with an integrated circuit via a power supply pin
US8046635B2 (en) * 2007-04-11 2011-10-25 Rohm Co., Ltd. Data processing device and data control circuit for use therein
US7913132B2 (en) * 2007-11-22 2011-03-22 International Business Machines Corporation System and method for scanning sequential logic elements
JP5140459B2 (ja) 2008-02-28 2013-02-06 ローム株式会社 不揮発性記憶ゲートおよびその動作方法、および不揮発性記憶ゲート組込み型論理回路およびその動作方法
JP2010057160A (ja) * 2008-08-01 2010-03-11 Nec Electronics Corp 半導体集積回路
US8352819B2 (en) * 2009-04-15 2013-01-08 Arm Limited State retention using a variable retention voltage
WO2011111506A1 (en) 2010-03-12 2011-09-15 Semiconductor Energy Laboratory Co., Ltd. Method for driving circuit and method for driving display device
WO2011111508A1 (en) * 2010-03-12 2011-09-15 Semiconductor Energy Laboratory Co., Ltd. Method for driving input circuit and method for driving input-output device
US8769338B1 (en) * 2010-03-24 2014-07-01 Qualcomm Incorporated Saving and restoring states through low power mode
US8335881B2 (en) * 2010-03-26 2012-12-18 Freescale Semiconductor, Inc. Method and apparatus for handling an interrupt during testing of a data processing system
US8438442B2 (en) * 2010-03-26 2013-05-07 Freescale Semiconductor, Inc. Method and apparatus for testing a data processing system
WO2012017269A1 (en) * 2010-08-05 2012-02-09 Freescale Semiconductor, Inc. Electronic circuit and method for state retention power gating
TWI536502B (zh) 2011-05-13 2016-06-01 半導體能源研究所股份有限公司 記憶體電路及電子裝置
US8732499B2 (en) 2011-05-27 2014-05-20 Arm Limited State retention circuit adapted to allow its state integrity to be verified
US9135182B2 (en) 2012-06-01 2015-09-15 Semiconductor Energy Laboratory Co., Ltd. Central processing unit and driving method thereof
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
US9190172B2 (en) 2013-01-24 2015-11-17 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US9281079B2 (en) * 2013-02-12 2016-03-08 International Business Machines Corporation Dynamic hard error detection
KR102112367B1 (ko) 2013-02-12 2020-05-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US20140281717A1 (en) 2013-03-14 2014-09-18 Nisar Ahmed Built-in self test (bist) with clock control
US9294075B2 (en) 2013-03-14 2016-03-22 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US8841952B1 (en) 2013-05-27 2014-09-23 Freescale Semiconductor, Inc. Data retention flip-flop
US9383802B1 (en) * 2013-06-20 2016-07-05 Altera Corporation Integrated circuit with state and data retention
KR20170073792A (ko) * 2015-12-18 2017-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10578672B2 (en) * 2015-12-31 2020-03-03 Stmicroelectronics (Grenoble 2) Sas Method, device and article to test digital circuits
KR20170143084A (ko) 2016-06-17 2017-12-29 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10037073B1 (en) 2016-09-23 2018-07-31 Apple Inc. Execution unit power management
EP3364301B1 (en) * 2017-02-15 2020-04-01 Nxp B.V. Apparatus and associated method
US10956158B2 (en) 2019-05-10 2021-03-23 International Business Machines Corporation System and handling of register data in processors
US11481273B2 (en) * 2020-08-17 2022-10-25 Micron Technology, Inc. Partitioned memory having error detection capability
CN115312110A (zh) * 2021-05-08 2022-11-08 瑞昱半导体股份有限公司 芯片验证系统及其验证方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1078836A (en) * 1909-11-23 1913-11-18 Charles G Curtis Gearing.
JPH05108496A (ja) 1991-10-18 1993-04-30 Nec Corp パトロール制御方式
US5502728A (en) * 1992-02-14 1996-03-26 International Business Machines Corporation Large, fault-tolerant, non-volatile, multiported memory
JPH0652070A (ja) 1992-05-29 1994-02-25 Toshiba Corp 集積回路のデータ保護装置およびデータ保護方法
JPH06139153A (ja) 1992-10-27 1994-05-20 Shikoku Nippon Denki Software Kk メモリ制御システム
WO1996018940A1 (en) * 1994-12-16 1996-06-20 Elonex Technologies, Inc. Management of data before zero volt suspend in computer power management
US5701313A (en) * 1995-02-24 1997-12-23 Unisys Corporation Method and apparatus for removing soft errors from a memory
US5761489A (en) * 1995-04-17 1998-06-02 Motorola Inc. Method and apparatus for scan testing with extended test vector storage in a multi-purpose memory system
JPH0944277A (ja) 1995-07-25 1997-02-14 Mitsubishi Electric Corp マイクロコンピュータ
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
JPH1078836A (ja) 1996-09-05 1998-03-24 Hitachi Ltd データ処理装置
JP3080062B2 (ja) * 1998-04-06 2000-08-21 日本電気株式会社 半導体集積回路
JP2000082014A (ja) 1998-09-04 2000-03-21 Canon Inc 情報処理装置、情報処理方法、及び記憶媒体
JP2000163320A (ja) 1998-11-30 2000-06-16 Nec Corp ソフトエラー対策機能付メモリ装置及びソフトエラー対策方法
US6510528B1 (en) * 1999-12-14 2003-01-21 International Business Machines Corporation Method for improving personal computer reliability for systems that use certain power saving schemes
JP2001350672A (ja) 2000-06-08 2001-12-21 Casio Comput Co Ltd メモリ制御装置およびそのデータ処理方法
KR20020026814A (ko) 2000-10-02 2002-04-12 포만 제프리 엘 컴퓨터 시스템의 중지 및 재개 동작을 위한 방법 및 장치
KR100471056B1 (ko) * 2000-11-18 2005-03-07 삼성전자주식회사 컴퓨터시스템 및 컴퓨터시스템의 대기모드제어방법
JP2002196846A (ja) 2000-12-26 2002-07-12 Mitsubishi Electric Corp Lsiのリーク電流低減方法
US7058834B2 (en) * 2001-04-26 2006-06-06 Paul Richard Woods Scan-based state save and restore method and system for inactive state power reduction
US6493257B1 (en) * 2002-03-27 2002-12-10 International Business Machines Corporation CMOS state saving latch
US20030188241A1 (en) * 2002-03-29 2003-10-02 International Business Machines Corporation CMOS low leakage power-down data retention mechanism

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536667A (ja) * 2004-05-05 2007-12-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路を備えるモバイル装置およびそのような回路をパワーダウンする方法
JP4662019B2 (ja) * 2004-06-18 2011-03-30 セイコーエプソン株式会社 集積回路装置及び電子機器
JP2006004245A (ja) * 2004-06-18 2006-01-05 Seiko Epson Corp 集積回路装置及び電子機器
JP2007265557A (ja) * 2006-03-29 2007-10-11 Toshiba Corp 半導体記憶装置
WO2008126418A1 (ja) * 2007-04-11 2008-10-23 Panasonic Corporation データ退避システム及びデータ復帰システム、並びにデータ退避方法及びデータ復帰方法
JP2009159011A (ja) * 2007-12-25 2009-07-16 Renesas Technology Corp 半導体集積回路
JP2009187552A (ja) * 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
JP2010231417A (ja) * 2009-03-26 2010-10-14 Denso Corp ソフトエラー検出回路を備える制御装置
KR101636324B1 (ko) * 2009-08-19 2016-07-05 삼성전자주식회사 파워 게이팅 장치
KR20110018990A (ko) * 2009-08-19 2011-02-25 삼성전자주식회사 파워 게이팅 장치
JP2011090448A (ja) * 2009-10-21 2011-05-06 Renesas Electronics Corp 半導体集積回路
US8705267B2 (en) 2010-12-03 2014-04-22 Semiconductor Energy Laboratory Co., Ltd. Integrated circuit, method for driving the same, and semiconductor device
US8891286B2 (en) 2010-12-03 2014-11-18 Semiconductor Energy Laboratory Co., Ltd. Integrated circuit, method for driving the same, and semiconductor device
US9257971B2 (en) 2010-12-03 2016-02-09 Semiconductor Energy Laboratory Co., Ltd. Integrated circuit, method for driving the same, and semiconductor device
JP2012248194A (ja) * 2011-05-27 2012-12-13 Arm Ltd 状態保持回路における状態保全性の検証
JP2014179080A (ja) * 2013-03-13 2014-09-25 Intel Corp プラットフォーム非依存型パワー管理
US9690353B2 (en) 2013-03-13 2017-06-27 Intel Corporation System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
JP2017123119A (ja) * 2016-01-08 2017-07-13 株式会社デンソー 電子制御装置
WO2018066246A1 (ja) * 2016-10-03 2018-04-12 ソニー株式会社 半導体回路、半導体回路の制御方法、および電子機器
US10818369B2 (en) 2016-10-03 2020-10-27 Sony Corporation Semiconductor circuit, control method of semiconductor circuit, and electronic apparatus
CN113268132A (zh) * 2021-05-19 2021-08-17 维沃移动通信有限公司 供电控制方法、装置和电子设备

Also Published As

Publication number Publication date
JP3910902B2 (ja) 2007-04-25
US7269780B2 (en) 2007-09-11
US20040088630A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
JP3910902B2 (ja) 集積回路装置
KR100305311B1 (ko) 리프레시 간격 제어 장치와 방법 및 컴퓨터
US7171605B2 (en) Check bit free error correction for sleep mode data retention
US8560931B2 (en) Low power retention random access memory with error correction on wake-up
JP4664208B2 (ja) 半導体メモリおよび半導体メモリの動作方法
US20100157693A1 (en) Semiconductor memory device
US9343183B2 (en) Memory device retention mode based on error information
US20080222483A1 (en) Method, system, and apparatus for distributed decoding during prolonged refresh
US20030009721A1 (en) Method and system for background ECC scrubbing for a memory array
US10319429B2 (en) SRAM with error correction in retention mode
CN113076219B (zh) 一种高能效的片上存储器错误检测与纠错电路及实现方法
US20080016427A1 (en) Semiconductor memory device
US7171592B2 (en) Self-testing circuit in semiconductor memory device
JP2003151297A (ja) 誤り訂正回路を備えた半導体記憶装置
JP2009048751A (ja) エラー修正コード(ecc)回路テストモード
JP2008108390A (ja) 半導体記憶装置及びそのテスト方法
JP2005158061A (ja) メモリの回復方法及び回復能力を有するメモリデバイス
JP2001351395A (ja) 半導体メモリ集積回路
KR20140108886A (ko) 이동 통신 시스템에서 메모리 제어 방법 및 장치
TWI485707B (zh) 非揮發性記憶體裝置與用於處理其組態資訊的方法
WO2013132806A1 (ja) 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法
US20080028278A1 (en) Circuit architecture protected against perturbations
US11579776B2 (en) Optimizing power consumption of memory repair of a device
US11269720B2 (en) Memory storage apparatus and data access method
JP3973970B2 (ja) 記憶素子のデータ退避・復元装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050627

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees