JP6551844B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6551844B2
JP6551844B2 JP2016011896A JP2016011896A JP6551844B2 JP 6551844 B2 JP6551844 B2 JP 6551844B2 JP 2016011896 A JP2016011896 A JP 2016011896A JP 2016011896 A JP2016011896 A JP 2016011896A JP 6551844 B2 JP6551844 B2 JP 6551844B2
Authority
JP
Japan
Prior art keywords
data
flip
clock
history
flop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016011896A
Other languages
English (en)
Other versions
JP2017123134A (ja
Inventor
貴弘 羽生
貴弘 羽生
望月 明
明 望月
直哉 鬼沢
直哉 鬼沢
晃 玉越
晃 玉越
大野 英男
英男 大野
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.)
Tohoku University NUC
Original Assignee
Tohoku University NUC
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 Tohoku University NUC filed Critical Tohoku University NUC
Priority to JP2016011896A priority Critical patent/JP6551844B2/ja
Publication of JP2017123134A publication Critical patent/JP2017123134A/ja
Application granted granted Critical
Publication of JP6551844B2 publication Critical patent/JP6551844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Power Sources (AREA)

Description

この発明は、半導体装置に関し、特に、不揮発性記憶素子を備える論理回路の電源復帰時における処理の再開を自動で行う半導体装置およびその制御方法に関する。
災害による突発的電源喪失等、電源が何らかの要因で機能しなくなった場合に、コンピュータの計算状態を保持し、電源復帰後、瞬時に演算を再開できる安全・安心性の高い耐災害性に秀でたコンピュータシステムの開発が、東日本大震災を経験したわが国では、近時、緊急な技術的課題となっている。
この復帰技術について、システムレベルでは、各種の災害時に、可能な限り短時間にシステム(データ)を復旧して他所のシステムから瞬時に業務を引き継ぐことができる分散型の災害復帰データ通信システムが知られている(特許文献1)。
また、数マイクロ秒枚に内部状態、特にコンピュータのメインメモリをハードディスクに書き戻す作業で復旧を容易にする方法が知られている(特許文献2、3)。
さらに、回路レベルでは、回路全体または一部の電源をオフする前に各フリップフロップ内に備えられている不揮発性記憶素子に1から数クロックかけて書込みデータを不揮発化し、毎クロック不揮発性記憶素子に書込む方法が知られている。(特許文献4)
特開2005−242847号公報(分散型災害復帰データ通信システム) 特開2002−062947号公報(自動復帰コンピュータ) 特開平11−184722号公報 (分散処理システムにおける保守制御装置の自動復帰機構) 特開2012−242287号公報 (試験可能な不揮発論理ゲート)
これらの先行技術は、災害からのシステムの復帰に関して一定程度の効果をもたらすが、以下のような技術的課題を要する。
システムレベルにおける対策は、一般に大掛かりなシステムとなり、導入するにあたってのコスト負担が大きい。加えて携帯電話の無線基地局やセンサ端末など、人が復旧するのに困難な場所にある場合や、端末の数が多いなど全体の復旧に時間がかかるといった課題を要する(特許文献1)。
また、プロセッサ内のフリップフロップのデータまでは考慮されておらず、電源復旧時にリセットをかけるなどして初期化状態から動作を開始するという初期化プロセスを要するため復旧に要する時間が長くなるという課題を要する。(特許文献2、3)
さらに、毎クロック不揮発性記憶素子に書込む方法も知られているが、単に不揮発性記憶素子を採用しただけでは、書込み時間や消費電力増大といった課題を要する(特許文献4)
従来技術が抱えていた前記の技術的課題を解決するためには、低コスト、低消費電力性、安定性、高速性を備えた自動復帰技術が必要となり、本発明では、当該自動復帰機能を有する半導体装置および制御方法の提供を目的とする。
まず、低コスト化のためには、システムレベルではなく半導体チップレベルでの自動復帰機能の装備を行う。半導体集積化技術を活用することにより低コスト化を実現する。
また、電源回復時に不揮発性記憶素子を備えた論理回路が電源オフ時の状態から再開できるという利点を活用し、自動復帰および処理再開を行う。不揮発性記憶素子を導入することにより、低消費電力化を図ることが可能となる。不揮発性記憶素子としてMTJ素子、強誘電体キャパシタ、ReRAM、フラッシュメモリ等の記憶状態によって抵抗、静電容量、トランジスタ特性が変化する素子の利用が可能である。特に、停電時の長期化等の対策のためには、低電圧動作が可能なMTJ素子を利用した不揮発性記憶素子が有利である。
さらに、処理再開を行うには正常に論理回路内の全フリップフロップが電源オフ寸前のクロックで正しいデータを書込み、そのデータを不揮発性記憶素子に書込まれている必要がある。突発的な電源喪失により電源ラインが不安定になったり、電源オフ時のクロック分配が各フリップフロップに対して不均一になったりした場合にも安定してデータの書き込みが可能な制御回路技術を採用する。この制御回路技術の導入により初期化工程を省略することが可能となり、高速性に資するものとなる。
前記目的を達成するために、本発明の半導体装置のブロック図を図1に示す。
図1には、
数クロック分の履歴を持たせ、クロック分配が均一状態まで遡れる不揮発性フリップフロップから構成されるパイプラインレジスタ(30,31,32)と、
レジスタ単位でクロックが到達したかの情報(以下、「位相情報」と呼ぶ)を不揮発に記憶する履歴カウンタ(41,42,43)と、
電源復帰時各レジスタの履歴カウンタ値を読出し線(80、81、82)を通して位相情報の一致する最新履歴まで遡り履歴カウンタ(41,42,43)の位相情報を一致させる位相書き込み線(90、91、92)を通して出力する制御回路(50)と、
を備えた半導体装置が示されている。
各構成要素には、以下のような特徴がある。
パイプラインレジスタ(30,31,32)は、前記履歴情報をもつフリップフロップ群(20,21,22)は、複数の不揮発性記憶素子を備えたフリップフロップ(10)のシフトレジスタ接続やFIFO構造でデータの順番をアドレスで記憶する方法により履歴データを記憶し更新することができる。また、フリップフロップ群の複数ビットを並列に合わせたレジスタ単位で入力データ(60)を記憶し、別の履歴カウンタ(40,41,42)を持ち、レジスタ単位で位相情報を持ち、フリップフロップ群(20,21,22)の各フリップフロップ(10)の情報の古さを知ることができる。パイプライン構成は順序回路の一環であり、パイプラインレジスタ(30,31,32)の間には、算術演算や制御信号を発生させるシーケンサなどの論理計算を行う記憶機能を持たない組合せ回路(70,71)を通過しデータが加工される。
前記履歴カウンタ(40,41,42)は、基数異なる複数のカウンタで構成される。カウンタのフリップフロップは不揮発性記憶素子を備える。1つの履歴カウンタの基数は、フリップフロップ群(20,21,22)のフリップフロップ(10)の数と一致させるとカウンタ値が最新の情報を持つフリップフロップ(10)を示すことができるためハードウェア量が削減できる。他の履歴カウンタは基数を変え複数の履歴カウンタでフリップフロップ群(20,21,22)に備える数以上の履歴情報を数えることが可能となる。
前記制御回路(50)は、電源復帰時、前記パイプラインレジスタ(30,31,32)に付随する履歴カウンタ(40,41,42)の値を読出し線(80、81、82)を通して位相情報を集約する。各パイプラインレジスタ履歴情報を照合し、全パイプラインレジスタ内容の一貫性のある時刻を計算する。
前記制御回路は、一貫性のある時刻の履歴データを選択するように各パイプラインレジスタに位相書き込み線(90、91、92)を通して信号を出し,それにより各パイプラインレジスタ(30,31,32)に付随する履歴カウンタ(40,41,42)に同一位相の値を書き込み、所望のフリップフロップ(10)を選択し出力として選択する。
前記制御回路(50)内にはエラー信号出力回路(51)を備え、位相の一貫性が取れなかった場合の検出機能の仕組みを持ちエラー信号を外部に出力することでシステム全体の電源復帰時の誤動作を防止できる。
本発明の実施形態に係る自動復帰可能な半導体装置のブロック図である。 一般的な同期式順序回路を構成するパイプラインの構成図である。 一般的なプリント基板や半導体集積回路内のクロック分配図である。 電源喪失時のクロック分配不整合を説明する図である。 不揮発性記憶素子を用いたプリップフロップを備える回路の一般的な電源のオフおよびオンの操作を示すクロック、動作、電源電圧のタイミングチャートである。 一般的な電源異常時の電圧変化、クロック、退避処理を示すタイミングチャートである。 突発的電源喪失時に退避処理が間に合わないことを示すタイミングチャートである。 図4において、クロック分配が不均一になった場合のデータの位相が異なることを説明するタイミングチャートである。 図1において、プリップフロップを複数個(図では3個)縦続接続により履歴データを保持する回路図である。 図1において、プリップフロップを複数個(図では3個)並列接続および履歴カウンタにより履歴データを保持する回路図である。 図1において、位相情報を記憶する2つのカウンタの構成図である。 図11において、カウンタ2個の示す値と12状態を表す表と各レジスタの履歴状態を記憶する変数を表した構成図である。 図12において、履歴状態を記憶する変数から自動復帰動作またはエラーとなる条件および処理を示したフロー図である。 図1の突発的電源喪失による位相情報不整合発生と自動検出および位相一致処理を示したタイミングチャートである。 図1の形態を組込み用マイコン向け32ビットCPUに適用し、論理合成を行い,ゲートレベルシミュレーションを行った結果のタイミングチャートである。
以下、図面を参照しながら本発明の実施の形態に係る、時間的一貫性の取れなくなった不揮発性記憶状態から履歴情報を用いて自動復帰機能を備える論理回路について説明する。まず、本発明の前提となる従来の実施の形態について説明をする。
(従来の実施の形態1)
(図2の説明)
図2は一般的なクロック同期式順序回路を構成するパイプラインの構成を示している。通常のデータパス(算術論理演算を行う部分)はパイプライン構造を取り、組合せ回路140,141で演算し,レジスタ110,111,112で記憶する。これにより,演算速度が上がり、スループットも向上する。パイプラインレジスタ110は、エッジトリガD型フリップフロップ100を並列に配置した形で構成され,複数ビットの2進数表現で大きな値を扱う。データパスの入力データ130がパイプラインレジスタ110にクロック120のタイミングで記憶され、演算部分である記憶機能を持たない組合せ回路140で処理を行い次段のレジスタ111に入力される。同様に次のクロックでレジスタ111が出力しているデータを用いて組合せ回路141が演算しレジスタ112に入力され記憶をする。
(図3の説明)
図3は一般的なプリント基板や半導体集積回路内のクロック分配の構造を示している。半導体集積回路を含むディジタル回路は、特殊な場合を除きクロック同期式である。フリップフロップはクロックに同期して入力データの取り込みを行うため、複数個あるフリップフロップに供給されるクロックの同期されている必要がある。数百から数万ある末端フリップフロップ190に同期したクロックを供給する一般的方法を説明する。外部の発振器等で生成されたクロック150は、PLL回路160で逓倍され周波数を高める場合とそのまま入力される場合があり、クロック選択マルチプレクサ170で任意に選択される。その後クロックラインバッファ180で波形のなまりを成形させながら、配線も遅延も等距離になるように分配されていき末端フリップフロップ190に到達する。このとき全フリップフロップ190がほぼ同期がとれるような設計がされている。
(図4の説明)
図4は電源喪失時のクロック分配不整合を説明するための図であり、電源および2系統のクロック分配を示している。外部クロック入力200を中継し増幅するバッファ220は通常の論理ゲートであるため電源端子も示している。外部の電源装置210からの電源供給が必要となる。一般にVDDが正極側、GNDが接地側となる。ここでは2つの経路を経てクロックが供給される末端フリップフロップA230、末端フリップフロップB231を考える。それぞれのクロックをCLK_A240、CLK_B241とする。
(図5の説明)
図5は不揮発性記憶素子を用いたプリップフロップを備える回路の一般的な電源のオフおよびオンの操作を示すクロック、動作、電源電圧のタイミングチャートである。不揮発性記憶素子を備えたフリップフロップを用いた論理回路の一般的な電源オフおよびオンの手順を示す。プロセッサまたはシステムから回路の処理が休止状態に移行可能となり消費電力削減のため電源がオフできる状態になる。Tstrで全フリップフロップに内部の不揮発記憶素子へ記憶する信号が伝達され1ないし数クロックでデータ退避動作が行われる。このとき不揮発性記憶素子へ書込みが正しく行われたかを検出する動作およびされていない場合の再書き込み回路や動作があっても良い。退避動作が終了後Toffにて外部電源装置との切断を行い、同時にクロック供給も停止する。この間、半導体デバイスのリーク電流が一切流れないため待機電力となる静的消費電力をほぼゼロにできる。対象回路外のタイマや割込み信号によりTonにて電源オン処理に移行する。電源装置と接続し、電源ラインの容量の充電時間および電圧の安定を経てクロック供給を再開する。回路動作が可能となったTldで不揮発性記憶素子からフリップフロップ内へ読出しが行われ電源オフ直前の状態へ1ないし数クロックで復帰する。この後Topにて回路全体の処理動作を再開する。
(図6の説明)
図6は一般的な電源異常時の電圧変化、クロック、退避処理を示すタイミングチャートである。一般的な電源監視機能を持った停電等の電源喪失時の動作を説明する。回路内部に電源電圧を監視する回路が備えられVthを下回ると最優先割込み処理等で現在行われている処理を即座に中断し、退避処理が行われる。T0にて停電が発生し電源電圧が降下を始める。T1にて電源降下が確認され回路全体の処理を停止し1ないし数クロックで退避処理に移行する。この方法は、不揮発性機能を備えられていない回路でも広く使われている手法である。
(図7の説明)
図7は突発的電源喪失時に退避処理が間に合わないことを示すタイミングチャートである。落雷等のサージによる電源不安定や地震等の災害で電源装置に故障や断線や短絡が生じ回路全体の電源喪失が突発的に起こった場合を示す。T0にて電源喪失が起こり急激な電源ラインの電圧降下が起きる。T1にて電圧降下が確認できてもその後のクロックが十分伝達できない状態となり同期式論理回路による退避処理が不可能な状態を示している。
(図8の説明)
図8は図4において、クロック分配が不均一になった場合のデータの位相が異なることを説明するタイミングチャートである。図4のブロック図において図7の突発的電源喪失が起きた場合の不揮発性記憶機能を持ったフリップフロップないし回路全体の動作を示す。予定されていない電源オフのため、退避処理に入った場合のクロック供給に差が生じることを示している。電源不安定によりバッファが十分な増幅動作ができず、例えばCLK_A240とCLK_B241に図のようなクロック供給の差が生じたとする。末端フリップフロップA230は時刻tまでのデータD(t)を保持できている。しかしながら末端フリップフロップB231はCLK_B241の時刻tのクロック電圧が十分でないため保持動作ができず、1つ前のデータD(t−1)を記憶したままとなる。ここで時間的不整合が起こり位相の相違が生じる。通常回路ではこの状態を検出できない。不揮発性機能を持っていても回路全体のデータが電源喪失直後の記憶状態を再現できないため電源回復後の自動復帰は不可能となる。したがって、不揮発性機能を持たない回路と同様にリセット状態からの初期化処理から復帰することとなる。データの不整合が顕著の場合には、人手によるデータ復帰作業が必要な場合も生じる。
(本発明の実施の形態1)
前記の従来の実施の態様において課題となる電源回復後の自動復帰を可能にする機能を備えた本発明の実施の態様を以下に説明する。
(図9の説明)
図9は、本発明である図1において、プリップフロップを複数個(図では3個)縦続接続により履歴データを保持する回路図である。図1の履歴を取るフリップフロップ群20のシフトレジスタ構造による実現を示す。現クロックと2つ前までの3つの履歴状態を保持できる回路例である。フリップフロップ260、261、262の順で履歴がクロックCLK250のタイミングで更新される。クロックゲーティングにより前期の通り毎クロックではなく複数クロック毎に履歴をとり、消費電力を抑制する方法もある。1ビットデータ入力290は通常動作の場合出力選択マルチプレクサ270および選択信号280により一番履歴の新しいフリップフロップ260の出力が選択され291へ出力される。前記の通り同時に履歴も取られる。電源回復時、図1において、例えばパイプラインレジスタ30に注目した場合、制御回路50からの指示信号90により位相情報の一致が確認され履歴カウンタ40に書込まれる。1ビットのフリップフロップ群20を構成するフリップフロップ260ないし261ないし262が選択信号280により出力選択マルチプレクサ270を通して復帰に必要なデータが選択される。
(本発明の実施の形態2)
(図10の説明)
図10は、本発明である図1において、図9と異なる例である並列接続およびカウンタにより履歴データを保持する回路図である。図1の履歴を取るフリップフロップ群20の並列選択構造による実現を示す。現クロックと2つ前までの3つの履歴状態を保持できる回路例である。3進カウンタ320を備え履歴記憶されるフリップフロップ310、311、312に順番に書込み310に戻る繰返しとなる。入力データ350は共通でクロックゲーティングAND回路330によりクロックCLK300をマスクし書込むフリップフロップを選択する。出力信号選択は、出力選択マルチプレクサ340、選択信号マルチプレクサ341を用いて書込みを行ったフリップフロップを記憶している3進履歴カウンタ320からの選択信号により、当該出力データを得る。電源回復後の履歴情報によるフリップフロップ選択も出力選択マルチプレクサ340、選択信号マルチプレクサ341を用いて出力信号を選択する。
(本発明の実施の形態3)
(図11の説明)
図11は、図1において、位相情報を記憶する基数の異なる2つの履歴カウンタの構成図である。位相情報の一致検出およびデータの取出し方法を説明する。図1のカウンタ40の動作を以下に1つの例を説明する。パイプラインレジスタ30と同一のクロックCLK360で動作する3進カウンタ380と4進カウンタ390を備える。各カウンタの構成を説明する。ともに2ビットあれば十分であるため記憶用レジスタとして2ビット不揮発性フリップフロップ370と、インクリメンタ371,372とカウンタまたは書込み選択マルチプレクサ373と、から構成される。3進カウンタ380の出力400CNT0は0,1,2(便宜上10進で表記)の値をとる。同様にして4進カウンタ390の出力401CNT1は0,1,2,3の値をとる。CNT0とCNT1の値の組合せで12通りの組み合わせができる。3進カウンタ380のインクリメンタは2の次状態は0となるように設計される。4進カウンタ390のインクリメンタ372は3の次状態は0となるように設計される。なお、3進カウンタ出力400CNT0は、履歴データを記憶するフリップフロップのクロックおよび出力の選択も行う。また、それぞれのカウンタは書込み位相データ選択信号FIX412を1にセットすることで、それぞれのカウンタの2ビット不揮発性フリップフロップ370を制御信号からの位相の一致したデータ410LD_CNT0および411LD_CNT1が書込まれる。FIX412が0のときは通常のカウンタ機能として機能する。
(図12の説明)
図12は、図11において、カウンタ2個の示す値と12状態を表す対応表および各レジスタの履歴状態の一致を記憶する変数を表した構成図である。図1の制御部50において位相情報を収集する方法を説明する。2つのカウンタ出力CNT0およびCNT1の取りうる値は12通りとなる。図1の各パイプラインレジスタ30.31.32に付随するカウンタ40,41,42からのカウンタ出力信号CNT0とCNT1がi(0...11)のどれか1つに該当すればSiが1にセットされその他は0となる。位相に不一致が無く、電源オフ時にレジスタ単位ですべて同じクロックが到達していればSiの1つだけが1となりその他はすべて0となる。また、一致位相がiと決まったときの履歴カウンタ(40,41,42)に書込むLD_CNT0とLD_CNT1は、この構成図に基づいて決定される。例えばi=4が同一位相で書込む(LD_CNT0,LD_CNT1)は(1,0)となる。
(図13の説明)
図13は、図12において、履歴状態を記憶する変数Siから自動復帰動作またはエラーとなる条件および処理を示したフロー図である。図1の制御部において図12の位相情報Si(i=0...11)による履歴情報による状況および動作について示している。
1つ目の条件:
前記のように電源喪失時クロック分配に異常は無く,そのまま再開できる状態である。FIX412はカウンタ側を選択する。
2つ目の条件:
隣り合う時刻の状態SiとSi+1がともに1である場合であり、少なくとも1つのレジスタがSiの状態で1クロック到達せず、他はSi+1の状態にある状況である。復帰処理は、カウンタがSi+1まで回っているもの1つ前のクロックの状態であるSiに戻す。具体的にはSiに相当する図12のCNT0とCNT1の数値を全レジスタに付随するカウンタに書込む。3進カウンタが1クロック到達していないレジスタ時間と同等状態のフリップフロップが選択され、そのまま再開できる。具体的には、FIX412を1とし(LD_CNT0,LD_CNT1)を図12のi番目のCNT0iとCNT1iをセットして各カウンタ380と390に書き込む。
3つ目の条件:
隣り合う時刻の状態SiとSi+1とSi+2が1より大きい場合、すなわち少なくとも1つのレジスタがSiの状態で2クロック到達していないか(Si,Si+1,Si+2)=(1,0,1)、少なくとも1つのレジスタが2クロック到達していなくSiの状態かつその他の少なくとも1つのレジスタが1クロック到達していなくSi+1の状態(Si,Si+1,Si+2)=(1,1,1)、残りのレジスタはSi+2の状態まで進んでいる状況である。復帰処理は、カウンタがSi+2まで回っているもの2つ前のクロックの状態であるSiに戻す。図12のSiに相当するCNT0とCNT1の数値を全レジスタに付随するカウンタに書込む。3進カウンタが2クロック到達していないレジスタ時間と同等状態のフリップフロップが選択され、そのまま再開できる。なお、電源喪失直後の2クロック中の1クロック喪失の前後は問わない。復帰時に2クロック前まで戻して再開するため前記1クロック喪失の前後の状況以前の過去の状態に戻るため復帰自体に問題が無い。具体的には、FIX412を1とし(LD_CNT0,LD_CNT1)を図12のi番目のCNT0iとCNT1iをセットして各カウンタ380と390に書き込む。
前記条件に合わない場合:
2クロックを超えるクロックの欠落があった場合か、履歴情報からは履歴データが使用できない場合であり処理を再開できない。そのため図1のエラー信号発生回路51により外部に復帰不可能であることを伝達する。上位のシステムは、この信号を受けて、リセット等の初期化から始めるか、人手によるチェックを要するかの判断を行う。
(図14の説明)
図14は、本発明の図1において、突発的電源喪失による位相情報不整合発生と自動検出および位相一致処理の例を示したタイミングチャートである。図1のブロック図においてレジスタ30に1クロック到達しない例を示す。レジスタ30、31、32に付随するカウンタ40、41、42に供給されるクロックと各カウンタの出力を示している。なおシステムクロックは半導体装置に供給される外部クロックとなる。
時刻T0において突発的電源喪失が起こったとする。そこから急激に電源電圧が下がり外部クロックは2クロックだけ供給できたとする。さらに電源不安定によりレジスタ30およびカウンタ40のブロックのみ時刻Tfでクロック分配が失敗したとする。
電源喪失後の2クロックの間カウンタ41、42は状態i=5,6,7と進み,各カウンタCNT0およびCNT1に相当する出力は(2,1),(0,2),(1,3)と進む。カウンタ40のみが状態i=5,6までで停止してしまい、CNT0およびCNT1に相当する出力は(2,1),(0,2)と進み不整合が起きる。
Tonにて電源復帰しクロック供給が始まり、Tldで不揮発性記憶素子からの読出しを行う。Tckにて制御回路に各カウンタの値を送る。ここでカウンタ40はi=6の状態であり、カウンタ41、42はi=7の状態となり図12に従ってS6およびS7が1にセットされる。図13のフローに従い2つ目の条件であるS6+S7=2に当てはまり、1クロック戻ったS6の位相に制御回路から各レジスタに対して合わせる信号が送られカウンタ40、41、42は(0,2)の状態から次クロックで取り込まれる。前記クロックTopによりS6の状態のCNT0の示す0のレジスタのデータを使って処理を再開する。
(図15の説明)
図15は、本発明の図1において、突発的電源喪失による位相情報不整合発生と自動検出および位相一致処理を実際の論理シミュレータにより組込み用マイコン向け32ビットCPUをシミュレーションした結果波形である。時刻Tfに履歴レジスタ42の4進レジスタ側のクロックを故意に止めた状態である。次クロックTnで4進カウンタCNT1_40およびCNT1_41は次状態の0を出力するが、クロックが到来しないCNT1_42のみ値が3のままである。Toffで電源が喪失し、各記憶データは不定(Xまたは灰色で示した部分)を出力する。Tonにて電源復帰後、Tckにて不揮発記憶素子からのデータ読出しが即座に行われかつ位相情報一致検出と位相修正が行われる。同時にFIX412が1となり、修正された位相情報が次クロックで書き込まれる。CNT1_42の位相に合せて制御回路50が位相レジスタ40,41に書込みすべて3の1クロック到達していない状態にTopのタイミングで戻る。記憶データもTfの状態に戻っており自動復帰しこの後の処理は通常通り行われることを確認した。
(本回路の特徴)
以上前記の通り、各レジスタに履歴データと位相情報を持ち、突発的電源喪失時のクロック分配に不整合が生じた場合でも、位相が一致している過去に遡り、データの時刻を一致させ処理を再開する。履歴の数は例として3であったがそれ以上でも2でも構わない。ハードウェアの規模および消費電力と信頼性のトレードオフの関係にあるため、信頼度の仕様に合わせて決定できる。
また、位相情報を持つカウンタ40、41、42の実現方法は他にも4進カウンタを2進カウンタで代用し6クロックまでの履歴状態に縮小する、シフトレジスタを使用して履歴情報を持つなどの方法がある。
さらに、毎クロックの履歴を取る例を示したが,1クロック起きや,数十から数百クロック毎など任意に設定が可能であり、ハードウェアの規模および消費電力と信頼性の要求仕様により静的かつ動的に選択が可能である。例えば処理が高負荷の場合には毎クロック履歴を取り、低負荷時には履歴を取る間隔を拡張するなどの方法がある。
(図1)
10 不揮発性記憶素子を備えたフリップフロップ
20、21、22 履歴を取るためフリップフロップ10を複数個備えたフリップフロップ群
30 フリップフロップ群20を並列に備えたパイプラインレジスタ
31 フリップフロップ群21を並列に備えたパイプラインレジスタ
32 フリップフロップ群22を並列に備えたパイプラインレジスタ
40 パイプラインレジスタ30に付随する不揮発性記憶素子を備えた履歴カウンタ
41 パイプラインレジスタ31に付随する不揮発性記憶素子を備えた履歴カウンタ
42 パイプラインレジスタ32に付随する不揮発性記憶素子を備えた履歴カウンタ
50 制御回路
51 修復不可能を検出し外部にエラーを出力する回路
60 パイプラインレジスタ30に入力する複数ビットデータ
70、71 演算や制御等の計算を行う記憶動作を含まない組合せ回路
80、81、82 履歴カウンタ(40,41,42)からの読出し線
90、91、92 履歴カウンタ(40,41,42)への位相書き込み線
(図2)
100 フリップフロップ
110、111、112 パイプラインレジスタ
120 同期クロック
130 入力データ
140、141 組合せ回路網
(図3)
150 外部クロック
160 PLL
170 クロック選択マルチプレクサ
180 クロックラインバッファ
190 末端フリップフロップ
(図4)
200 外部クロック入力
210 外部電源装置
220 電源端子を示したバッファ
230 末端フリップフロップA
231 末端フリップフロップB
240 230のクロック入力A
241 231のクロック入力B
(図5)
CLK クロック波形
VDD 外部供給電圧
Tstr 電源オフ前データ退避タイミング
Toff 外部電源供給停止タイミング
Ton 外部電源供給開始タイミング
Tld 不揮発記憶素子からフリップフロップ内にデータ読出しタイミング
Top 通常稼働開始タイミング
(図6,7)
VDD 通常電源電圧
Vth 電源電圧監視回路のしきい値電圧
T0 通常の停電等の開始タイミング
T1 電源電圧がしきい値電圧を下回ったタイミング
(図8)
CLK_A 末端フリップフロップAのクロック
CLK_B 末端フリップフロップBのクロック
D(t) 現在クロックのデータ
D(t−1) 1クロック前のデータ
D(t−2) 2クロック前のデータ
D(t−3) 3クロック前のデータ
(図9)
250 同期クロック
260 1番履歴の新しいフリップフロップ
261 2番目に履歴の新しいフリップフロップ
262 一番古い履歴のフリップフロップ
270 出力選択マルチプレクサ
280 フリップフロップ出力先端信号
290 1ビット分のデータ入力
(図10)
300 同期クロック
310、311、312 履歴記憶されるフリップフロップ
320 履歴カウンタ
330 クロックゲーティング用ANDゲート
340 出力信号マルチプレクサ
341 選択信号マルチプレクサ
350 フリップフロップ出力先端信号
351 選択された出力データ
(図11)
360 同期クロック
370 2ビット不揮発性フリップフロップ
371 3進カウンタ用インクリメンタ
372 4進カウンタ用インクリメンタ
373 カウンタまたは書込み選択マルチプレクサ
380 3進カウンタ
390 4進カウンタ
400 380の出力CNT0
401 390の出力CNT1
410 3進カウンタ用書込み位相データLD_CNT0
411 4進カウンタ用書込み位相データLD_CNT1
412 書込み位相データ選択信号FIX
(図12)
i 位相状態
CNT0i 位相状態iのときの3進カウンタ値
CNT1i 位相状態iのときの4進カウンタ値
Si 履歴カウンタが状態iのときにセットされる変数
(図13)
if もし(以下に条件を記述)
then ならば(以下を実行)
else さもなければ(前述条件に合致しない場合)
(図14)
T0 電源喪失の開始タイミング
Tf クロック不整合タイミング
Ton 電源供給開始タイミング
Tld 不揮発記憶素子からのデータ読出しタイミング
Tck 位相情報読出し、一致検出、位相情報書込みデータ作成タイミング
Top 稼働開始タイミング
CNT0_40 履歴レジスタ40の3進出力
CNT1_40 履歴レジスタ40の4進出力
CNT0_41 履歴レジスタ41の3進出力
CNT1_41 履歴レジスタ41の4進出力
CNT0_42 履歴レジスタ42の3進出力
CNT1_42 履歴レジスタ42の4進出力
(図15)
Tf クロック不整合タイミング
Tn クロック不整合の次クロックタイミング
Toff 電源オフタイミング
Ton 電源供給開始タイミング
Tck 不揮発記憶素子からのデータ読出し、位相情報読出し、一致検出、位相情報書込みデータ作成タイミング
Top 稼働開始タイミング
FIX 書込み位相データ選択信号
CNT1_40 履歴レジスタ40の4進出力
CNT1_41 履歴レジスタ41の4進出力
CNT1_42 履歴レジスタ42の4進出力

Claims (7)

  1. 複数クロックの履歴データを保持する不揮発性記憶素子を備えたフリップフロップと前記履歴データの位相情報を持つ不揮発性記憶素子を備えたカウンタと、
    電源回復時に各フリップフロップの位相情報を照合し、位相の揃ったデータを取り出す制御回路、
    を含み、電源回復時時に自動復帰機能を備えた半導体装置。
  2. 前記複数クロックの履歴データをとるフリップフロップのデータの受け渡しは、シフトレジスタ型、古いデータから上書きしていくLRU型、履歴クロック数分だけデータを保持する型のいずれかの形式であることを特徴とする請求項1に記載の半導体装置。
  3. 前記制御回路は、履歴数と異なる基数のカウンタを別途設けることで履歴数以上のクロックの状態を保持でき、電源喪失前のクロックが不安定な状態でも最新の位相の一貫性の取れた時刻を計算できる制御機能を備えたことを特徴とする請求項1または2に記載の半導体装置。
  4. 前記制御回路は、履歴数のデータの中に位相の一貫性が無いことを検出できることと復帰不可能であることを計算しエラーとして出力できるエラー検出回路を備えることを特徴とする請求項1〜3に記載の半導体装置。
  5. 前記制御回路は、限られた履歴数で位相の一貫性が取れたフリップフロップを特定することができる制御機能を備えたことを特徴とする請求項1から4に記載の半導体装置。
  6. 前記複数クロックは、データを保持し,履歴データを更新するタイミングが複数クロック数であることを特徴とする請求項1から4に記載の半導体装置。
  7. 前記不揮発性記憶素子は、MTJ素子を利用した不揮発性記憶素子であることを特徴とする請求項1〜6に記載の半導体装置。
JP2016011896A 2016-01-06 2016-01-06 半導体装置 Active JP6551844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016011896A JP6551844B2 (ja) 2016-01-06 2016-01-06 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016011896A JP6551844B2 (ja) 2016-01-06 2016-01-06 半導体装置

Publications (2)

Publication Number Publication Date
JP2017123134A JP2017123134A (ja) 2017-07-13
JP6551844B2 true JP6551844B2 (ja) 2019-07-31

Family

ID=59306578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016011896A Active JP6551844B2 (ja) 2016-01-06 2016-01-06 半導体装置

Country Status (1)

Country Link
JP (1) JP6551844B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318732A (ja) * 2001-04-20 2002-10-31 Fujitsu General Ltd 復電時のファイル処理装置およびファイル処理方法
JP5224800B2 (ja) * 2007-12-21 2013-07-03 株式会社東芝 情報処理装置およびデータ復旧方法
JP5999097B2 (ja) * 2011-11-21 2016-09-28 日本電気株式会社 半導体集積回路及びその制御方法
JP5930745B2 (ja) * 2012-02-07 2016-06-08 株式会社ハイレックスコーポレーション データの書き込み異常判断装置
JP2014222425A (ja) * 2013-05-14 2014-11-27 日本電気株式会社 半導体集積回路、半導体集積回路の製造方法、コンピュータシステム及び半導体集積回路の制御方法
JP6252934B2 (ja) * 2013-11-18 2017-12-27 国立大学法人東北大学 省電力機能を備える論理回路

Also Published As

Publication number Publication date
JP2017123134A (ja) 2017-07-13

Similar Documents

Publication Publication Date Title
US10572334B2 (en) Error recovery within integrated circuit
US7698594B2 (en) Reconfigurable processor and reconfiguration method executed by the reconfigurable processor
US7734970B2 (en) Self-resetting, self-correcting latches
US10678634B2 (en) Method and apparatus of using parity to detect random faults in memory mapped configuration registers
JP7303408B2 (ja) 欠陥検出を備えるエラー補正ハードウェア
US7669097B1 (en) Configurable IC with error detection and correction circuitry
US9378098B2 (en) Methods and systems for redundant data storage in a register
US9612908B2 (en) Performing memory data scrubbing operations in processor-based memory in response to periodic memory controller wake-up periods
US10885972B2 (en) SRAM with error correction in retention mode
JP5421152B2 (ja) 半導体集積回路
US20090249174A1 (en) Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
JP6551844B2 (ja) 半導体装置
US11036595B2 (en) Semiconductor system including fault manager
WO2013132806A1 (ja) 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
KR102327192B1 (ko) 오류 관리기를 포함하는 반도체 시스템
US11984175B2 (en) Automatic mirrored ROM
US11686769B1 (en) Signal toggling detection and correction circuit
US20210373988A1 (en) Circuit detection method and data detection circuit
JP2015201813A (ja) プログラマブルゲートアレイ
JP2011090448A (ja) 半導体集積回路
CN117093535A (zh) 一种片上系统及相关系统上电恢复方法
JPS63231552A (ja) 記憶装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

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: 20190618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190621

R150 Certificate of patent or registration of utility model

Ref document number: 6551844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250