(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
従来のシステムは低電力動作の間論理モジュールにおけるフリップフロップの状態を保持するために保持ラッチを利用していたが、状態保持にはいくらかの電力が依然として必要とされる。これに対し、不揮発性要素は、電力が完全に取り去られても、論理モジュールにおけるフリップフロップの状態を保持し得る。このような論理要素を本明細書では不揮発性論理(NVL)と称する。SoC(システムオンチップ)内でNVLを備えて実装されるマイクロコントロールユニット(MCU)は、機能性を喪失せずに、停止、パワーダウン、及びパワーアップする能力を有する。電力が完全に取り去られた後動作を再開するためにシステムリセット/リブートは必要とされない。この能力は、例えば、近距離通信(ニアフィールドコミュニケーション:NFC)、無線周波数識別(RIFD)応用例、及び埋込み制御及び監視システムなどの台頭しつつあるエネルギーハーベスティング応用例に理想的である。こういった応用例では、リセット/リブートプロセスの時間及び電力コストが、利用可能なエネルギーの多くを消費してしまうことがあり、有用な演算、センシング、又は制御機能のためのエネルギーがほとんど又は全く残らない。本記載ではSoC状態機械をシーケンス処理するためのプログラマブルMCUを含むSoCについて説明するが、当業者には、通常の論理ゲート又はROM、PLA、或いはPLDベースの制御システムにハードコーディングされる状態機械にNVLが適用され得ることが理解されよう。
【0024】
一手法では、SoCが不揮発性論理の1つ又は複数のブロックを含む。例えば、不揮発性論理(NVL)ベースのSoCが、パワーインタラプタトを受信すると、その作動状態(全てのフリップフロップ)をバックアップし得、スリープモードでの漏れがなくなり得、パワーアップ時にシステム状態を復元するために400 ns未満しか必要としないことがある。
【0025】
NVLなしでは、チップが、スタンバイモードでも連続電源を必要とする少なくとも低電力保持状態において全てのフリップフロップを電力供給される状態に保つか、又は、パワーアップ後のリブートでエネルギー及び時間を無駄にするか、いずれかを必要し得る。エネルギーハーベスティング応用例では、フリップフロップ(FF)の状態を保存するために必要とされる定電力源がなく、たとえ間欠電源が利用可能であるときでもブートアップコードだけでエネルギーハーベスティングで得たエネルギーを全て消費し得るので、NVLが有用である。冷却及びバッテリ能力が限られるハンドヘルドデバイスの場合、「即時オン」能力を備えた漏れのないIC(集積回路)が理想的である。
【0026】
強誘電性ランダムアクセスメモリ(FRAM)は、DRAM(ダイナミックランダムアクセスメモリ)に類似の挙動を有する不揮発性メモリ技術である。各個別ビットがアクセスされ得るが、EEPROM(電気的に消去可能なプログラマブル読み出し専用メモリ)又はフラッシュと異なり、FRAMは、データを書き込むための特別なシーケンスを必要せず、また、EEPROMやフラッシュには必要とされる高プログラミング電圧を実現するためのチャージポンプも必要としない。各強誘電性メモリセルは、1つ又は複数の強誘電性コンデンサ(FeCap)を含む。個々の強誘電性コンデンサは、本明細書で説明するNVL回路における不揮発性要素として用いられ得る。
【0027】
図1は、演算デバイスの一部を図示する機能的ブロック図であり、この場合、例示のシステムオンチップ(SoC)100が、不揮発性論理ベースの演算特性を提供する。本明細書では、SoCという用語は、1つ又は複数のシステム要素を含む集積回路を指すために用いるが、この開示の教示は、不揮発性状態保持を提供する、ラッチ、集積クロックゲーティングセル、及びフリップフロップ回路要素(FF)などの機能的論理モジュールを含む様々な種類の集積回路に適用され得る。大型アレイの制御環境外に不揮発性ストレージ要素を埋め込むと、信頼性及び製作上の難題が生じる。NVLビットセルベースのNVLアレイは、典型的に、いかなるNVメモリ技術でも必要とされるような最大読み出し信号マージン及びインサイチュマージンテスト容易性のために設計される。しかし、個々のNVL FFにテスト容易性特性を付加することは、面積オーバーヘッドの点で困難であり得る。
【0028】
テスト特性コストを償却し製造性を改善するために、また、
図1及び
図2の例を参照して、複数の不揮発性論理要素アレイ又はNVLアレイ110が、複数の揮発性ストレージ要素220とともに配設される。少なくとも1つの不揮発性論理コントローラ106が、複数の揮発性ストレージ要素220によって表される機械状態を記憶するため、及び、記憶された機械状態を複数のNVLアレイ110から複数の揮発性ストレージ要素220に読み出すために、複数のNVLアレイ110を制御するように構成される。例えば、少なくとも1つの不揮発性論理コントローラ106は、機械状態を複数のNVLアレイ110に保存するため、又は、機械状態を複数のNVLアレイ110から引き出すための制御シーケンスを生成するように構成される。揮発性ストレージ要素220の個々の揮発性ストレージ要素を1つ又は複数の対応するNVLアレイ110の個々のNVLアレイに可変的に接続するためにマルチプレクサ212が接続される。
【0029】
図示の例では、演算デバイス装置はシングルチップ上に配置される。ここでは、シングルチップは、本明細書でNVLアレイと称する、電力が取り去られたときに種々のフリップフロップ120の状態を保存するため論理クラウドにわたって分散されるFeCap(強誘電性コンデンサ)ベースのビットセルの256bのミニアレイ110を用いて実装されるSoC100である。FF120の各クラウド102〜104は、関連するNVLアレイ110を含む。このように分散させることにより、NVLアレイ110の個々のNVLアレイは、揮発性ストレージ要素220の対応する個々の揮発性ストレージ要素に物理的に近接して配置され、かつ、これらの要素からデータを受け取るように接続される。中央NVLコントローラ106が、全てのアレイ、及びこれらのアレイのFF120との通信を制御する。ここでは3つのFFクラウド102〜104が図示されているが、SoC100は付加的なFFクラウド又はより少ないFFクラウドを有してもよく、いずれのFFクラウドもNVLコントローラ106によって制御される。SoC100は、1つ以上のNVLドメインに区分され得、別個のNVLドメインの各々においてNVLアレイ110及びFF120を管理するための専用のNVLドメインコントローラがある。既存のNVLアレイの実施形態では、256ビットミニアレイが用いられるが、アレイは、必要に応じてより多数又は少数のビットを有し得る。
【0030】
SoC100は、複数の不揮発性論理要素アレイの個々の不揮発性論理要素アレイから複数のフリップフロップ回路の個々のフリップフロップ回路へのデータの書き戻しを可能にするように構成される回路要素を含む、改変された保持フリップフロップ120を用いて実装される。保持フリップフロップを実装する様々な既知の手法がある。例えば、データ入力が第1のラッチによってラッチされ得る。第1のラッチに結合される第2のラッチが、保持のためこのデータ入力を受け取り得、第1のラッチはスタンバイ電力モードでは作動しない。第1のラッチは、スタンバイ電力モードの間オフに切り替えられる第1の電力ラインから電力を受け取る。第2のラッチは、スタンバイモードの間オンのままである第2の電力ラインから電力を受け取る。コントローラが、クロック入力及び保持信号を受け取り、クロック出力を第1のラッチ及び第2のラッチに提供する。保持信号の変化は、スタンバイ電力モードへの遷移を示す。コントローラは、クロック出力を所定の電圧レベルで保持し続け、第2のラッチは、スタンバイ電力モードで第2の電力ラインから電力を受け取り続け、それによって、データ入力が保持される。このような保持ラッチが、米国特許第7,639,056号「パワーダウン応用例のための超低面積オーバーヘッド保持フリップフロップ」により詳細に記載されている。
【0031】
図2は、保持の間クロックが特定の状態に保持されることを必要としない、例示の保持フロップアーキテクチャを図示する。このような「クロックフリー」NVLフロップ設計では、保持の間、クロック値は「ドントケア」である。
【0032】
SoC100では、改変された保持FF120は、例えば、システムがパワーオフ状態に遷移されているとき、各FFの状態をNVLアレイ110における関連するFeCapビットセルに保存させ得る、単純な入力及び制御改変を含む。システムが復元されるとき、保存された状態はNVLアレイ110から各FF120に転送されて戻される。電力節減及びデータ保全性が、特定の電力構成を実装することにより改善され得る。1つのこのような手法では、個々の保持フリップフロップ回路は、第1の電力ドメイン(下記で説明する例におけるVDDLなど)によって電力供給される一次論理回路部分(マスタ段又はラッチ)と、第2の電力ドメイン(下記で説明する例におけるVDDRなど)によって電力供給されるスレーブ段回路部分とを含む。この手法では、複数のNVLアレイから複数の揮発性ストレージ要素へのデータの書き戻しの間、第1の電力ドメインはパワーダウンされるように構成され、第2の電力ドメインはアクティブである。複数の不揮発性論理要素は、演算デバイス装置の通常動作の間パワーダウンされるように構成される第3の電力ドメイン(下記で説明する例におけるVDDNなど)によって電力供給されるように構成される。
【0033】
この構成では、所与の実装形態に適合するように特別に設計され得る方式で独立してパワーアップ又はパワーダウンされる、複数の電力ドメインが実装され得る。そのため、別の態様において、演算装置は、演算デバイス装置の切替え論理要素に電力を供給するように構成される第1の電力ドメインと、複数の不揮発性論理要素アレイへデータを記憶させるため又は複数の不揮発性論理要素アレイからデータを読むために信号を制御するように構成される論理要素に電力を供給するように構成される第2のパワードメインとを含む。複数の揮発性ストレージ要素が保持フリップフロップを含む場合、第2の電力ドメインは、個々の保持フリップフロップのスレーブ段に電力を提供するように構成される。第3の電力ドメインが、複数の不揮発性論理要素アレイのための電力を供給する。電力ドメインに加えて、NVLアレイは、特定の機能に関係するドメインとして定義され得る。例えば、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第1のセットが、演算デバイス装置の第1の機能に関連付けられ得、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第2のセットが、演算デバイス装置の第2の機能に関連付けられ得る。複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第1のセットの動作は、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第2のセットの動作から独立している。このように構成されると、個別のNVLアレイのドメイン又はセットの制御及び取り扱いにおける柔軟性により、演算デバイスの全体的な機能をより細かく制御し得る。
【0034】
このより特定的な制御は電力ドメインにも適用され得る。一例では、第1の電力ドメインは、第1の機能に関連付けられる切換え論理要素に電力を供給するように構成される第1の部分と、第2の機能に関連付けられる切換え論理要素に電力を供給するように構成される第2の部分とに分割される。第1の電力ドメインの第1の部分及び第2の部分は、第1の電力ドメインの他の部分とは独立してパワーアップ又はパワーダウンされるように個々に構成される。同様に、第3の電力ドメインは、第1の機能に関連付けられる不揮発性論理要素アレイに電力を供給するように構成される第1の部分と、第2の機能に関連付けられる不揮発性論理要素アレイに電力を供給するように構成される第2の部分とに分割され得る。第1の電力ドメインと同様に、第3の電力ドメインの第1の部分及び第2の部分は、第3の電力ドメインの他の部分とは独立してパワーアップ又はパワーダウンされるように個々に構成される。
【0035】
このように構成されると、所与のデバイスについて個々の機能が用いられない場合、これらの使用されない機能に関連付けられるフリップフロップ及びNVLアレイは、それぞれパワーダウンされ得、他のフリップフロップ及びNVLアレイとは別個に動作され得る。電力及び動作管理におけるこのような柔軟性により、電力使用及び機能に関して演算デバイスの機能性が調整され得る。このことは、CPU、3つのSIPインターフェース、3つのUARTインターフェース、3つのI
2Cインターフェース、及び1つのみの論理電力ドメイン(VDDL)を有する下記の例示の設計においてさらに示され得る。論理電力ドメインは保持又はNVL電力ドメイン(それぞれVDDR及びVDDN)と区別されるが、これらの教示はこれらの電力ドメインにも適用され得る。この例示のデバイスは論理電力ドメインを1つしか有さないが、このデバイスの所与の応用例では、3つのSPIユニットの1つ、3つのUARTの1つ、及び3つのI
2Cペリフェラルの1つのみが使用され得る。応用例にNVL応用例のウェイクアップ時間及びスリープ時間ならびにエネルギーコストを最適化させるために、VDDL電力ドメインが10の別個のNVLドメイン(1つのCPU、3つのSPI、3つのUART、3つのI
2C、合計10のNVLドメイン)に区分され得る。これらのNVLドメインの各々は、他と独立してイネーブル/イナクティブにされ得る。そのため、カスタマーは、CPU、1つのSPI、1つのUART、及び1つのI
2CについてのNVL能力を、それらの特定の応用例に対してイネーブルにし得、他をイナクティブにし得る。また、この区分により、エネルギーだけでなく時間についても柔軟性が得られ、異なるNVLドメインが異なる時間に状態を保存及び復元し得る。
【0036】
さらなる柔軟性を付加するために、NVLドメインは電力ドメインと重なり得る。上記の例を参照して、4つの電力ドメインが定義され得る。すなわち、CPU、SPI、UART、及びI
2C(各周辺電力ドメインは3つの機能ユニットを有する)に対して1つ、一方、各周辺ドメイン内に3つのNVLドメイン、及びCPUに1つ(繰り返しになるが、合計10のNVLドメイン)を定義する。この場合、個々の電力ドメインは、電力節減及びウェイクアップ/スリープタイミングにおける付加的な柔軟性のため、各電力ドメイン内のNVLドメインを、制御することに加えてオン又はオフにする。
【0037】
また、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインの個々の電力ドメインは、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインの他のドメインから独立してパワーダウン又はパワーアップされるように構成される。例えば、統合電力ゲートが、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインの個々の電力ドメインをパワーダウンするように制御されるように構成され得る。下記の表1に記載されるように、第3の電力ドメインは、演算デバイス装置の通常動作の間パワーダウンされるように構成され、第2の電力ドメインは、複数の不揮発性論理要素アレイから複数の揮発性ストレージ要素へのデータの書き戻しの間パワーダウンされるように構成される。第4の電力ドメインが、リアルタイムクロック及びウェイクアップインタラプト論理に電力を供給するように構成され得る。
【0038】
このような手法は、図に示す例示のSoC100を参照してさらに理解され得る。SoC100では、NVLアレイ110及びコントローラ106が、VDDNと称するNVL電力ドメイン上で作動し、通常動作の間オフに切り換えられる。全ての論理、ROM(読み出し専用メモリ)及びSRAM(スタティックランダムアクセスメモリ)などのメモリブロック107、及びFFのマスタ段は、VDDLと称する論理電力ドメイン上にある。FRAM(強誘電性ランダムアクセスメモリ)アレイは、FRAMに必要なより高い固定電圧に維持される専用のグローバル電源レール(VDDZ)に直接的に接続される(すなわち、VDDL≦VDDZ、ここでVDDZは固定電源であり、VDDLはVDDLがVDDZより低電位のままである限り変化し得る)。103で示されるFRAMアレイは、典型的に、必要に応じてFRAMアレイをパワーダウンさせ得る統合電力スイッチを含むが、内部電力スイッチを備えないFRAMアレイはFRAMアレイ外部の電力スイッチと関連して用いられ得ることに留意されたい。保持FFのスレーブ段は、VDDRドメインと称する保持電力ドメイン上にあり、それによって、動作のスタンバイモードにおいて通常保持が可能になる。表1は、通常動作、NVLアレイへのシステムバックアップ、スリープモード、NVLアレイからのシステム復元、及び通常動作への回帰の間の電力ドメイン動作の概要を示す。また、表1は、保持フリップフロップの揮発性保持機能を用いて低減電力状態に入るためにシステムソフトウェアの制御下で開始され得るスタンバイアイドルモードの間用いられるドメインも示す。108で示されるスイッチのセットが、様々な電力ドメインを制御するために用いられる。SoC100にわたって分散され得、SoC100上のプロセッサにより実行されるソフトウェアによって及び/又はSoC100内のハードウェアコントローラ(図示せず)によって制御され得る、複数のスイッチ108が存在し得る。ここに示す3つに加えて、下記で説明されるように付加的なドメインがあり得る。
【表1】
【0039】
状態情報は、大型の集中型FRAMアレイに保存され得るが、システムFFへの並列アクセスがないことによって生じる、スリープモードに入るためのより長い時間、より長いウェイクアップ時間、過度のルーティング、及び電力コストが必要とされ得る。
【0040】
図2は、SoC100において用いられる1つのFFクラウド102のより詳細なブロック図である。この実施形態では、各FFクラウドは最大248のフリップフロップを含み、各NVLアレイが8×32ビットアレイとして編成されるが、この実施形態ではパリティのために1ビットが用いられる。しかし、他の実施形態において、フリップフロップの数及びNVLアレイの編成は、4×m、16×mなどの異なる構成を有し得、ここで、mはFFクラウドのサイズに合うように選択される。いくつかの実施形態では、様々なクラウドにおけるNVLアレイは全て同じサイズとし得るが、他の手法において、同じSoC内に異なるサイズのNVLアレイが存在し得る。
【0041】
ブロック220は、各保持FF120のより詳細な概略図である。信号のいくつかは、例えば、RETとRETBやCLKとCLKBなど、添え字「B」(「バー」又は/と称する)で示される反転されたバージョンを有する。各保持FFは、マスタラッチ221及びスレーブラッチ222を含む。スレーブラッチ222は、インバータ223及びインバータ224によって形成される。インバータ224は、低電力スリープ期間の間FF状態を保持するために用いられる保持信号(RET、RETB)によって制御されるトランジスタのセットを含む。低電力スリープ期間の間、上記及び表1で説明したように、電力ドメインVDDRはオンのままであり、電力メインVDDLはオフにされる。
【0042】
NVLアレイ110は、クラウド102において機能する248のFFと論理的に接続される。一般的に、NVLアレイからFFへのデータ転送を可能にするために、個々のFFは、複数のNVLアレイ110の個々のNVLアレイからのデータの書き戻しを可能にするように構成される回路要素を含む。図示の例では、ブロック220に示すように、各FFのスレーブラッチ222に2つの付加的なポートが設けられる。データ入力ポート(ゲート225)が、NVLアレイ110のうちの1つのNVLアレイから関連する揮発性ストレージ要素220にデータNDを挿入するように構成される。データ入力ポートは、データ入力ポートをトリガするためデータ入力イネーブルポートで少なくとも1つの不揮発性論理コントローラ106から更新信号NUを受け取ることに応答して、NVLアレイのうちの1つのNVLアレイから関連するフリップフロップ回路のスレーブ段に記憶データ関連信号を通過させることによってデータNDを挿入するように構成される。インバータ223は、トライステートインバータ223とNVLデータポート入力トライステートインバータ225の間の電気的な衝突が回避されるように、反転NVL更新信号NUZを受け取ることに応答してイナクティブにされるように構成される。
【0043】
より詳細には、図示の例では、インバータ−インバータフィードバック対(223と224)がラッチ自体を形成する。これらのインバータは、データ状態を保持するための極めて安定な構成をつくり、データポートの1つを介して現在の状態を次の状態で上書きしようとする際の電気的な衝突を妨げるためにこれらのインバータの少なくとも1つがイナクティブにされない限り、ラッチ状態を変えようとするいかなる試みにも対抗する。図示のNVL FF220は、通常のフロップの場合の1つのデータポートに比べると、スレーブラッチ222にアクセスする2つのデータポートを含む。一方のポートは、クロックによって制御されるCMOSパスゲートを介してマスタ段221からスレーブ段222にデータを転送する。このポートを用いてスレーブ状態221を更新するとき、CLKによって制御されるパスゲートの出力ノードに対して駆動するインバータ224は、電気的な衝突が避けるためイナクティブにされ、インバータ223は、次の状態をラッチの反対側に転送するためイネーブルにされ、それによって、クロックがローになる(posedge FFに対して)ときデータを保持するための準備においてラッチの両側が次の状態を有する。
【0044】
同じ理由で、インバータ223は、NDポート上での電気的な衝突を回避するため、NDデータポートがアクティブ高状態に遷移するNUによってアクティブにされるときイナクティブにされる。第2のインバータ224は、次の状態をラッチの反対側に転送するためイネーブルにされ、そのため、ラッチの両側はNUがローになるときラッチされるべき次の状態を有する。この例では、NUポートは、クロックによって制御される他のデータポートにいかなる影響も及ぼさない。デュアルポートFF上では、両方のポートが同時にアクティブになることは不当な制御条件であり、その結果生じるポートの衝突は、得られる次の状態が不確定であることを意味する。ポートの衝突を回避するために、システムは、機能モードにある一方でスレーブ状態が更新される場合、クロックをイナクティブ状態に保持する。保持モードでは、RET信号が、FF内の支持回路とともに、保持モードにある一方でCLKの状態にかかわらず電気的な衝突を防ぐために用いられる(マスタ段でRETBによって制御されるインバータを参照されたい)。
【0045】
図に示すように、これらの付加的な要素は、関連するFFのスレーブ段222に配設される。ただし、付加的なトランジスタは、FFのクリティカルな経路上にはなく、この特定の実装では、通常のFF性能及び電力への影響の度合いはたかだか1.8%及び6.9%である(シミュレーションデータ)。NVLアレイからのデータがND(NVL−Data)ポート上で有効であるとき、NU(NVL−Update)制御入力が、FFへの書き込みサイクルのため高にパルスされる。NVLアレイの31ビットデータ出力が、8の31ビットFFグループのNDポートにファンアウトされる。
【0046】
フリップフロップ状態を保存するために、複数のNVLアレイ110の個々のNVLアレイにおいて本質的に同時の記憶が行われるように、マルチプレクサが、複数の揮発性ストレージ要素220のうちの複数の個々の揮発性ストレージ要素からの状態を通過させるように構成される。例えば、マルチプレクサは、1グループ当たり複数の揮発性ストレージ要素のうちのM個の揮発性ストレージ要素のN個のグループに、及び複数のNVLアレイのうちのN×MサイズのNVLアレイに接続するように構成され得る。この構成では、マルチプレクサは、一度にM個の揮発性ストレージ要素からN×MサイズのNVLアレイのローにデータを記憶するため、N個のグループの1つをN×MサイズのNVLアレイに接続する。図示の例では、248のFFのQ個の出力が、31bワイド8−1マルチプレクサ212を介して、NVLアレイ110の31b並列データ入力に接続される。FFローディングを最小化するために、マルチプレクサは、FFクラウドのレイアウトに基づいてより小さなマルチプレクサに分割され得、それらが機能するFFに近く置かれ得る。この場合も、NVLコントローラは、NVLアレイへの書き込み、及び8−1マルチプレクサ212の選択信号MUX_SEL<2:0>を同期化する。
【0047】
FFが保持モードで動作しているとき、演算デバイスのクロックCLKは「ドントケア」であり、そのため、クロックCLKはNU信号がアクティブになる度にスレーブ段状態の更新に関する揮発性ストレージ要素に対して関連がなくなり、それにより、不揮発性論理コントローラは、揮発性ストレージ要素の個々の揮発性ストレージ要素から不揮発性ストレージ要素の個々の不揮発性ストレージ要素へのデータの記憶を制御及び実施するように構成される。言い換えれば、クロックCLK制御は、保持モードの間のNVLデータ復元の間は必要とされないが、システム状態が復元されると、保持モードと機能モードとの間の遷移の直前で、クロックCLKはシステムレベルで制御されるべきである。別の手法において、システムが機能性モードにあるとき、NVL状態は揮発性ストレージ要素に回復され得る。VDDL電力がアクティブであるこの状況では、クロックCLKは、NVLアレイからのデータ復元の間揮発性ストレージ要素に対してイナクティブ状態に保持され、それにより、不揮発性論理コントローラは、不揮発性ストレージ要素の個々の不揮発性ストレージ要素から揮発性ストレージ要素の個々の揮発性ストレージ要素へのデータの転送を制御及び実施するように構成される。例えば、システムクロックCLKは、典型的に、正エッジFFベースの論理に対してローに保持され、負エッジFFベースの論理に対して高に保持される。
【0048】
一般的に、通常動作からシステムバックアップモードに移るために、第1のステップは、イナクティブ状態におけるシステムクロックを停止して機械状態を凍結して、バックアップは進行中であるが機械状態が変わらないようにすることである。クロックは、バックアップが完了するまでイナクティブ状態で保持される。バックアップが完了した後、全ての電力ドメインはパワーダウンされ、クロックの状態は定義上スリープモードでドントケアになる。
【0049】
NVLアレイから状態を復元する場合、FFは保持状態(下記の表2参照)に置かれる。保持状態では、RET信号がアクティブである限り(クロックは、各保持FFに付加される特殊なトランジスタのためにドントケアになり得、RET信号によって制御される)、クロックはドントケアのままである。NVL状態を復元する一方で、フロップは保持モードのままであり、そのため、クロックはドントケアのままである。NVL状態が回復されると、システムクロックの状態を制御する機械論理の状態も、これらが状態バックアップ時の状態に復元される。これは、この例では、システムクロックをイナクティブ状態にした全ての制御(揮発性ストレージ要素又はFFを含めて)がこの時点で復元されており、そのため、NVLデータ回復が完了したときシステムクロックはイナクティブ状態のままになることも意味する。この時点でRET信号はイナクティブにされ得、NVLコントローラが復元が完了したことを電力管理コントローラに通知するまで、クロックがイナクティブにされてシステムは活動を停止し、NVLコントローラ信号に応答して、電力管理コントローラはクロックを再びイネーブルにする。
【0050】
復元の間フリップフロップ状態を復元するため、NVLコントローラ106は、NVLアレイ110のNVLローを読み、次いで適切なフリップフロップグループに対するNU信号をパルス化する。システム復元の間、保持信号RETは高に保たれ、スレーブラッチは電力ドメインVDDLに電力供給されていない状態でNDから書き込まれる。この時点で、システムクロックCLKの状態はドントケアである。NVLアレイの読み出し動作の間31のFFの各グループが更新されるときに生じる偽データスイッチングに関連する過剰な電力消費を抑制するために、FFはVDDL=0V及びVDDR=VDDで保持状態に置かれる。適切に改変された非保持フロップがNVLベースのSoCで用いられ得るが、NVLデータ回復動作の間の電力消費は大きくなる。
【0051】
システムクロックCLKは、VDDLがアクティブになると低から開始されるべきであり、その後、更新された情報がFFにある状態で通常同期動作が継続する。NVLアレイとそれらのそれぞれのFFとの間のデータ転送は、ピーク電流とバックアップ/復元時間とをトレードオフするために、シリアル又はパラレル或いはこれらの任意の組み合わせで行われ得る。演算デバイス装置の中央処理装置とは別の少なくとも1つの不揮発性論理コントローラによって制御されるFFへの直接アクセスが提供されるので、NVL動作にはマイクロコントローラ処理装置(CPU)からの介入は必要とされない。従って、この実装はSoC/CPUアーキテクチャ不可知である。表2は、NVLフリップフロップの動作の概要を示す。
【表2】
【0052】
少なくとも1つの不揮発性論理コントローラは、入力信号に基づいて、並列、順次、又はこれらの任意の組合せで複数の不揮発性アレイへのデータ転送又は複数の不揮発性アレイからの読み出しを可変制御するように構成されているので、システム設計者は、特定のニーズに対してシステム動作仕様を調整することに関して付加的な選択肢を有する。例えば、システムが低電力システム状態に入る時間の間、又は、低電力状態からウェイクアップするためには、MCU SoC上で演算が生じ得ないので、ウェイクアップ時間又はスリープに至る時間を最小化することが有利である。一方、不揮発性状態保持は電力を多く消費する。これは、強誘電性コンデンサなどの不揮発性要素に状態を保存するため及び不揮発性要素から状態を復元するために、極めて多くのエネルギーが必要とされるからである。システム状態を保存及び復元するために必要とされる電力は、電力送達システムの能力を超えることがあり、エレクトロマイグレーションにより誘起される電力グリッド劣化、過度のピーク電流引き出しによるバッテリ寿命低下、又はダイ上の信号の保全性を損ない得る電源システムでの高レベルノイズ生成などの問題を生じさせ得る。そのため、システム設計者がこれら2つの懸念のバランスを取り得ることが望ましい。
【0053】
1つのこのような手法では、少なくとも1つの不揮発性論理コントローラ106は、例えば当業者には既知であるものなどの、ユーザーインターフェース125を介して入力信号を受け取るように構成される。別の手法において、少なくとも1つの不揮発性論理コントローラは、アプリケーションを実行中であり得る別個の演算要素130から入力信号を受け取るように構成される。1つのこのような手法では、この別個の演算要素は、このアプリケーションを実行して、演算デバイス装置130についての電力及び演算リソース要件の決定に少なくとも部分的に基づいて、複数の不揮発性アレイについての読み出しシーケンスを決定するように構成される。このように構成されると、システムユーザーが、システム状態の記憶及び引き出し手順を操作して所与の設計に適合させることができる。
【0054】
図3は、強誘電性コンデンサが示す分極ヒステリシスを示すグラフである。強誘電性ビットセルの概略動作は既知である。ほとんどの材料が分極している場合、誘起される分極Pは印加される外部電界Eにほぼ正比例し、そのため、分極は、線形関数になり、誘電体分極と称される。非線形であることに加えて、強誘電性材料は、印加電界Eがゼロになるとき、
図3に示すような自発的非ゼロ分極を示す。強誘電体の際立った特性は、印加電界によって自発的分極が反転され得ることであり、分極は、電流に依存するだけでなくその履歴にも依存して、ヒステリシスループを生成する。「強誘電性」という用語は、自発的磁化を有しヒステリシスループも示す、強磁性材料との類似を示すために用いられる。
【0055】
強誘電性コンデンサの誘電率は、典型的に、線形誘電体の誘電率よりずっと大きい。これは、強誘電性材料の結晶構造に形成される半恒久的電気双極子の影響のためである。強誘電性誘電体を横切って外部電界が印加されると、双極子は、原子の位置の小さなシフトによって生成される電界方向と整列する傾向があり、この原子の位置の小さなシフトにより、結晶構造内の電荷の分布がシフトする。電荷が取り除かれた後、双極子はその分極状態を保持する。バイナリ「0」及び「1」が、2つのあり得る電気分極の一方として各データストレージセルに記憶される。例えば、
図3では、「1」は負の残余分極302を用いて符号化され得、「0」は正の残余分極304を用いて符号化され得、又はその逆であり得る。
【0056】
強誘電体ランダムアクセスメモリがいくつかの構成に実装されている。FeRAMアレイにおける1トランジスタ・1コンデンサ(1T−1C)ストレージセル設計は、広く用いられているDRAMにおけるストレージセルに、いずれのセルタイプも1つのコンデンサ及び1つのアクセストランジスタを含むという点で、構築上類似している。DRAMセルのコンデンサでは線形誘電体が用いられ、一方、FeRAMセルのコンデンサでは、誘電体構造は、典型的にジルコン酸チタン酸鉛(PZT)である、強誘電性材料を含む。DRAMタイプのアレイへのアクセスのオーバーヘッドのために、1T−1Cセルは、NVLアレイ110などの小型アレイに用いるにはあまり望ましくない。
【0057】
4コンデンサ・6トランジスタ(4C−6T)セルは、小型アレイで用いることがより容易な通常タイプのセルである。ここで、改善された4コンデンサセルを説明する。
【0058】
図4は、4個のコンデンサ及び12個のトランジスタ(4C−12T)を含む強誘電性不揮発性ビットセル400の一実施形態を示す概略図である。4個のFeCapが差動配置の2つの対として配置される。FeCap C1及びC2は直列に接続されてノードQ404を形成し、FeCap C1’及びC2’は直列に接続されてノードQB405を形成する。データビットが、ビットラインBLを介して、ノードQに書き込まれ、FeCap C1及びC2に記憶され、このデータビットを反転したものが、反転ビットラインBLBを介して、ノードQBに書き込まれ、FeCap C1’及びC2’に記憶される。センスアンプ410が、ノードQに及びノードQBに結合され、ビットセルが読みだされるときノードQ、QBに現れる電圧の差を感知するように構成される。センスアンプ410内の4個のトランジスタが、2つの交差結合インバータとして構成されてラッチを形成する。パスゲート402がノードQをビットラインBに結合するように構成され、パスゲート403がノードQBをビットラインBLBに結合するように構成される。各パスゲート402、403は、並列に接続されるPMOSデバイスとNMOSデバイスを用いて実装される。この配置により、書き込み動作の間のパスゲートの両端の電圧降下が低減され、そのため、書き込みの間ノードQ、QBにはより高い電圧が示され、それによって、より大きな分極がFeCapに与えられる。プレートライン1(PL1)がFeCap C1及びC1’に結合され、プレートライン2(PL2)がFeCap C2及びC2’に結合される。これらのプレートラインは、読み出し及び書き込み動作の間FeCapにバイアスをかけるように用いられる。或いは、別の実施形態において、CMOSパスゲートの代わりに、VDDLより高い電圧を有するパスゲートイネーブルを用いるNMOSパスゲートが用いられ得る。この一層高い電圧の大きさは、ビットセルQ/QBノードからビットラインBL/BLBに、及び、ビットラインBL/BLBからビットセルQ/QBノードに、非劣化信号を通過させるために、通常のNMOS Vtより大きくなければならない(すなわち、Vpass_gate_control>VDDL+Vt)。
【0059】
典型的に、ビットセル400のアレイがある。また、nロー×mコラムのアレイを形成するために同様のビットセルの複数のコラムがあり得る。例えば、SoC100では、NVLアレイは8×32であるが、先に述べたように、異なる構成が実装され得る。
【0060】
図5及び
図6は、それぞれ、論理0のデータ値を読み出すため、及び論理0のデータ値を書き込むための、読み出し及び書き込み波形を示すタイミング図である。NVLアレイの読み出し及びNVLアレイへの書き込みは、NVLコントローラによって制御され得、NVLクロックによって同期が取られ得るマルチサイクル手順である。別の実施形態において、これらの波形は、例えば、トリガ信号から開始される固定又はプログラマブル遅延によってシーケンス処理され得る。通常動作の間、典型的な4C−6Tビットセルが、「1」を記憶する側のFeCap両端の一定DCバイアスのために経時的絶縁破壊(TDDB)を受けやすい。差動ビットセルでは、データ値を反転したバージョンも記憶されるため、一方の側又は他方の側が常に「1」を記憶している。
【0061】
TDDBを回避するために、プレートラインPL1、プレートラインPL2、ノードQ、及びノードQBは、
図5及び
図6の時間期間s0の間示されているように、セルがアクセスされていないとき静的低値に保持される。電力切断トランジスタMP411及びMN412により、センスアンプイネーブル信号SAEN及びSAENBに応答して時間期間s0の間センスアンプ410が電力から切り離される。クランプトランジスタMC406がノードQに結合され、クランプトランジスタMC’407がノードQBに結合される。クランプトランジスタ406、407は、非アクセス時間期間s0の間クリア信号CLRに応答して、プレートライン上の低論理電圧にほぼ等しい電圧、この実施形態では0ボルト(接地電位)に等しい電圧、までQ及びQBノードをクランプするように構成される。このようにして、ビットセルが読み出し又は書き込みのためにアクセスされていない時間の間、FeCapの両端に電圧が印加されず、従ってTDDBが本質的に排除される。クランプトランジスタはまた、ノードQ及びQBに寄生漏れ電流によるいかなる浮遊電荷も蓄積されないように働く。浮遊電荷が蓄積すると、Q又はQB上の電圧が0Vを上回って上昇し得、それによって、Q又はQBとPL1及びPL2の間のFeCap両端に電圧差が生じ得る。これは、FeCap残余分極の意図しない脱分極につながり得、FeCapに記憶される論理値が潜在的に破壊されることがある。
【0062】
この実施形態では、Vddは1.5ボルトであり、接地基準面は0ボルトの値を有する。論理高が約1.5ボルトの値を有し、論理低が約0ボルトの値を有する。論理0(低)に対する接地及び論理1(高)に対するVddとは異なる論理レベルを用いる他の実施形態において、ビットセルがアクセスされていないときFeCapの両端に事実上電圧が生じないように、ノードQ、QBを静的プレートライン電圧に対応する電圧までクランプし得る。
【0063】
別の実施形態において、2つのクランプトランジスタが用いられ得る。これら2つのトランジスタはそれぞれ、各FeCapの両端の電圧を1つのトランジスタVt(閾値電圧)以下にクランプするように用いられる。各トランジスタは、FeCapを短絡するように用いられる。この場合、第1のトランジスタでは、1つの端子がQに接続し、他の端子がPL1に接続し、トランジスタ2では、1つの端子がQに接続し、他の端子がPL2に接続する。これらのトランジスタは、NMOS又はPMOSとし得るが、NMOSが用いられる可能性が高い。
【0064】
典型的に、2トランジスタソリューションが用いられるビットセルは、1トランジスタソリューションより著しく大きな面積を消費しない。1トランジスタソリューションは、PL1及びPL2が単一クランプトランジスタとの局所VSS接続と同じ接地電位のままであると仮定しており、これは通常妥当な仮定である。しかし、PL1又はPL2にグリッチを生じさせたり、PL1/PL2ドライバ出力とVSSとの間に短期間DCオフセットを生じさせたりし得るノイズ又は他の問題が(特にパワーアップの間)生じ得る。従って、2トランジスタ設計は、よりロバストなソリューションを提供し得る。
【0065】
ビットセル400を読むために、時間期間s2に示されるように、プレートラインPL1は低から高に切り換えられ、プレートラインPL2は低のまま維持される。これにより、それぞれ、C1−C2とC1’−C2’の間のコンデンサ比に依存する値を有するノードQ、QB上に電圧が誘起される。誘起された電圧は、ビットセル内のFeCapへの最後のデータ書き込み動作の間形成された各FeCapの残余分極に依存する。残余分極は、事実上、各FeCapの有効静電容量値を「変化」させる。このようにして、FeCapは不揮発性ストレージを提供する。例えば、論理0がビットセル400に書き込まれた場合、C2の残余分極によりC2はより小さな有効静電容量値を有し、C1の残余分極によりC1はより大きな有効静電容量値を有する。そのため、プレートラインPL1を高に切り換え、プレートラインPL2を低に保持することによってC1−C2の両端に電圧が印加されるとき、結果のノードQ上の電圧は式(1)に従う。同様の式がノードQBについて成り立つが、C1’及びC2’の残余分極の順が逆転し、そのため、結果のノードQ及びQB上の電圧は、
図5の502、503に示されるように、ビットセル400に記憶されるデータ値の差動表現を提供する。
【数1】
【0066】
次いで、時間期間s3の間、ローカルセンスアンプ410がイネーブルにされる。差動値502、503を感知した後、センスアンプ410はフルレール信号504、505を生成する。結果のフルレール信号は、時間期間s4の間ビットラインBL、BLBに転送される。これは、転送ゲートイネーブル信号PASS、PASSBをアサートして転送ゲート402、403をイネーブルにし、それによって、例えば、NVLアレイ110の周辺に位置するラッチイネーブル信号LAT_ENに応答する出力ラッチにフルレール信号を転送することによって行われる。
【0067】
図6は、ビットセル400への論理0の書き込みを示すタイミング図である。書き込み動作は、時間期間s1の間プレートラインをいずれもVddまで上げることによって開始される。これは1次記憶法と呼ばれる。PL1及びPL2上の信号遷移は、ノードQ及びQBに容量結合され、いずれのストレージノードも事実上ほぼVDD(1.5V)までプルされる。データがビットラインBL、BLB上に提供され、転送ゲート402、403は時間期間s2〜s4の間パス信号PASSによってイネーブルにされて、データビット及びその反転値をビットラインからノードQ、QBに転送する。センスアンプ410は、時間期間s3、s4の間センスアンプイネーブル信号SAEN及びSAENBによってイネーブルにされて、書き込みデータドライバが時間期間s2の間Q/QBに適切な差分を強制的に与えた後、付加的な駆動を提供する。ただし、センスアンプから1.2Vドライバ電源への短絡を回避するために、書き込みデータドライバは、時間期間s2の終了時、時間期間s3、s4の間センスアンプがオンにされる前に、オフにされる。2次記憶法と呼ばれる代替実施形態において、書き込み動作により、PL2が、データ書き込み動作の間0V又は接地に保持される。これにより、データ書き込み動作の間の電力が節減されるが、結果の読み出し信号マージンが50%減少する。これは、C2及びC2’がもはや残余分極を介してデータを保持せず、C1及びC2のFeCapに線形容量性負荷しか提供しないためである。
【0068】
s2の間のPL1高からSAEN高、読み出しの間のs3の間のSAEN高パルス、及び書き込みの間のFeCap DCバイアス状態s3〜s4などの主要状態は、NVLクロックを遅くせずにより高いロバストさが得るために、選択的にマルチサイクルにされ得る。
【0069】
FeCapベースの回路では、FeCapからデータを読み出すことにより、コンデンサが部分的に脱分極され得る。この理由で、FeCapからのデータ読み出しは、本質的に破壊的と考えられる。すなわち、データ読み出しにより、FeCapの内容が破壊され得るか、又は、最小でもデータの完全性が損なわれ得る。この理由で、FeCapに含まれるデータが読み出し動作が生じた後も有効なままであると予想される場合、データはFeCapに書き戻さなければならない。
【0070】
或る種の応用例では、特定のNVLアレイは、或る時間期間にわたって変化しない特定の情報を記憶するように指定され得る。例えば、或るシステム状態が、デフォルトの戻り状態として保存され得、デバイスのフルリブートよりもこの状態に戻ることが好ましい。最新式の超低電力SoCのリブート及び構成プロセスは、メインアプリケーションコードスレッドに制御が渡されるポイントに達するには、1000〜10000クロックサイクル又はそれ以上かかり得る。このブート時間は、電力が間欠的であり、信頼性がなく、量的に制限されるエネルギーハーベスティング応用例ではきわどい値である。リブートの時間及びエネルギーコストは、演算に利用可能なエネルギーのほとんど又は全部を消費し得、エネルギーハーベスティング応用例でMCUなどのプログラマブルデバイスを用いることができなくなる。応用例の例として、エネルギーハーベスティング照明スイッチがある。照明スイッチのボタンを押すことにより収集されるエネルギーは、下記のタスクを完了するために利用可能なエネルギー全体を表す。すなわち、1)所望の機能(オン/オフ又は調光レベル)を決定すること、2)要求をコマンドパケットにフォーマットすること、3)無線を起動し、照明システムへのRFリンクを介してパケットを送出することである。ハードコーディングされた状態機械を有する既知のカスタムASICチップが、厳しいエネルギー制約のためにこの応用例で用いられることがしばしばあり、こうするには、システムの柔軟性が失われ、変更にコストがかかる。これは、変更が望まれる度に、新たなASICチップを設計し製作しなければならないからである。プログラマブルMCU SoCははるかに良好に適合するが、ブートプロセスの電力コストが利用可能なエネルギーの大部分を消費し、そのため、必要とされるアプリケーションコードを実行するためのバジェットが残らない。
【0071】
この懸念に対処するために、1つの手法では、複数の不揮発性論理要素アレイの少なくとも1つが、所与の量のブートプロセスが完了した後の演算デバイス装置の状態を表すブート状態を記憶するように構成される。この手法における少なくとも1つの不揮発性論理コントローラは、演算デバイス装置に対する前のシステムリセット又は電力喪失イベントを検出することに応答して、複数の不揮発性論理要素アレイの少なくとも1つから複数の揮発性ストレージ要素のうちの対応する揮発性ストレージ要素へのブート状態を表すデータの復元を制御するように構成される。NVLアレイに対する典型的な読み出し/書き込み動作にわたる電力を節減するために、少なくとも1つの不揮発性論理コントローラは、ラウンドトリップデータ復元動作を実行するように構成され得る。ラウンドトリップデータ復元動作は、個々の不揮発性論理要素からデータを読み出した後、別々の読み出し及び書き込み動作を完了することなく、個々の不揮発性論理要素にデータを自動的に書き戻す。
【0072】
ラウンドトリップデータ復元の実行例が
図7に示されている。
図7は、ビットセル400に対する書き戻し動作を図示する。この動作では、ビットセルは、読み出され、同じ値に書き込まれる。図に示すように、個々の不揮発性論理要素からのデータの読み出しの開始は、第1の時間S1に、対応する強誘電性コンデンサビットセルのノード上に、対応する強誘電性コンデンサビットセルの強誘電性コンデンサのための静電容量比に基づいて電圧が誘起されるように、第1のプレートラインPL1を高に切り替えることによって開始される。強誘電性コンデンサのノードを接地するためにクランプスイッチが用いられる場合、第1の時間S1にクリア信号CLRが高から低に切り替えられて、電気的接地からの、個々の不揮発性論理要素のそれらの態様がアンクランプされる。第2の時間S2に、ノード上に誘起される電圧をセンスアンプに検出させ、個々の不揮発性論理要素に記憶されたデータに対応する出力信号を提供するように、センスアンプイネーブル信号SAENが高に切り替えられる。第3の時間S3に、パスラインPASSが高に切り替えられて転送ゲートが開き、個々の不揮発性論理要素に記憶されたデータに対応する出力信号が提供される。第4の時間S4に、第2のプレートラインPL2が高に切り替えられて、強誘電性コンデンサの両端に分極信号が誘起され、対応する強誘電性コンデンサビットセルに、個々の不揮発性論理要素に記憶されたデータに対応するデータが書き戻される。個々の不揮発性論理要素に対して、そこに記憶された同じデータを有する不揮発性記憶状態に対して、第5の時間S5に、第1のプレートラインPL1及び第2のプレートラインPL2が低に切り替えられ、第6の時間S6にパスラインPASSが低に切り替えられ、第7の時間S7にセンスアンプイネーブル信号SAENが低に切り替えられる。強誘電性コンデンサのノードを接地するためにクランプスイッチが用いられる場合、第7の時間にクリア信号CLRが低から高に切り替えられて、個々の不揮発性論理要素の態様を電気的接地にクランプし、本明細書で説明するようにデータの完全性を保つ助けとなる。このプロセスに含まれる遷移の総数は、独立した別個の読み出し及び書き込み動作(読み出し、次いで書き込み)に必要とされる遷移の総数より少ない。これにより、全体的なエネルギー消費が低減される。
【0073】
ビットセル400は、信頼性の高い第1世代のNVL製品を提供するために、Q/QB間の読み出し差分を最大化するように設計される。1つのFeCap及び一定BL静電容量を負荷として用いるのではなく、各側に2つのFeCapが用いられる。これにより、センスアンプが利用可能な差動電圧が倍になるからである。センスアンプが、ノードQとBL静電容量の間の電荷共有による差分の喪失を妨げるため、及び転送ゲートの両端における電圧降下を回避するためにビットセル内に置かれる。感知される電圧はほぼVDD/2であり、HVT転送ゲートではこれらの電圧をBLに通過させるために長時間かかる。ビットセル400は、当技術分野で既知の通常のFRAMビットセルの信号マージンを倍にする助けとなり、FeCapの両端にいかなるDCストレスも生じさせない。
【0074】
図5及び
図6に示す信号のタイミングは説明のためのものである。様々な実施形態において、クロックレート、プロセスパラメータ、デバイスサイズなどに依存して変化するシーケンスを信号し得る。例えば、別の実施形態において、制御信号のタイミングは下記のように動作し得る。時間期間S1の間、PASSは0から1になり、PL1/PL2は0から1になる。時間期間S2の間、SAENは0から1になり、この時間の間、センスアンプは、後述するレベルシフトを実施し得、又は、非レベルシフト設計に対して付加的な駆動強さを提供し得る。時間期間S3の間、PL1/PL2は1から0になり、波形の残りは同じままであるが、1クロックサイクルだけ上方に移動する。このシーケンスは、
図6に示すものよりも1クロックサイクル短い。
【0075】
別の代替形態において、制御信号のタイミングは下記のように動作し得る。時間期間S1の間、PASSは0から1になる(BL/BLB、Q/QBは、それぞれ0V及びVDDLである)。時間期間S2の間、SAENは0から1になる(BL/BLB、Q/QBは、それぞれ0V及びVDDNである)。時間期間S3の間、PL1/PL2は01から1になる(BL/Qは、PL1/PL2によって接地を上回って結合され、SA及びBLドライバによって駆動されて低に戻される)。時間期間S4の間、PL1/PL2は1から0になり、波形の残りは同じままである。
【0076】
図8及び
図9は、2C−3T自己基準ベースのNVLビットセルである、強誘電性不揮発性ビットセル800の別の実施形態を示す概略図及びタイミング図である。先に説明した4FeCapベースのビットセル400は、標準の1C−1T FRAMビットセルと比較してマージンが倍になった差動読み出しを実現するため、センスアンプの各側に2つのFeCapを用いる。しかし、4FeCapベースのビットセルは、より多くのFeCapを用いるので、面積がより大きく、変動がより大きくなり得る。
【0077】
ビットセル800は、より小さな面積で、本明細書で自己基準と称する、ビットセル自体を基準として用いることによって差動4FeCapで得られるようなマージンを実現する助けとなる。また、より少数のFeCapを用いることにより、ビットセル800は、4FeCapビットセルより変動が小さい。典型的に、単一側セルは、ビットセルの動作範囲の中央にある基準電圧を用いる必要がある。これにより、読み出しマージンが、両側セルと比較して半分に減少する。しかし、回路製作プロセスが進展するにつれ、基準値がずれることがあり、それによって読み出しマージンがさらに小さくなる。自己基準方式により、単一側セルとそれ自体との比較が可能になり、それによって、より大きなマージンが提供される。本明細書で説明する自己基準セルのテストから、固定基準セルに対しマージンが少なくとも倍になることがわかっている。
【0078】
ビットセル800は、直列に接続されてノードQ804を形成する、2つのFeCap C1、C2を有する。プレートライン1(PL1)はFeCap C1に結合され、プレートライン2(PL2)はFeCap C2に結合される。これらのプレートラインは、読み出し及び書き込み動作の間FeCapへのバイアスをかけるように用いられる。パスゲート802は、ノードQをビットラインBに結合するように構成される。パスゲート802は、並列に接続されるPMOSデバイスとNNMOSデバイスを用いて実装される。この配置により、書き込み動作の間パスゲートの両端の電圧降下が低減され、そのため、書き込みの間ノードQ、QBに一層高い電圧が提示され、それによって、FeCapに一層大きな分極が与えられる。或いは、NMOSパスゲートが、ブーストされたワードライン電圧と共に用いられてもよい。この場合、PASS信号は、1つのNFET Vt(閾値電圧)によってブーストされる。しかし、これにより、信頼性問題が生じ得、電力消費が過剰になり得る。CMOSパスゲートを用いると、ビットセルに付加的な面積が加わるが、スピード及び電力消費が改善される。クランプトランジスタMC806がノードQに結合される。クランプトランジスタ806は、非アクセス時間期間s0の間、この実施形態では0ボルト又は接地であるクリア信号CLRに応答して、プレートライン上の低論理電圧にほぼ等しい電圧までQノードをクランプするように構成される。このようにして、ビットセルが読み出し又は書き込みのためにアクセスされていない時間の間、FeCapの両端に電圧が印加されず、従ってTDDB及び意図しない部分的脱分極が本質的に排除される。
【0079】
ノードQ、プレートラインPL1及びPL2の初期状態は、
図9に示すように、時間期間s0で全て0であり、そのため、ビットセルがアクセスされていないときFeCapの両端にDCバイアスが存在しない。読み出し動作を開始するために、時間期間s1の間に図示するように、PL1は高に切り替えられ、PL2は低に保たれる。式1に関して先に説明したように、セルに前に書き込まれた最後のデータ値からのFeCapの保持された分極に基づく静電容量比からノードQに信号902が現れる。この電圧は、ビットセルの外にある読み出しコンデンサ820に記憶される。この記憶は、第2のイネーブル信号EN1に応答して、この電圧を転送ゲート802を通過させてビットラインBLに送り、次いで、転送ゲート822を通過させることによって行われる。BL及び読み出しコンデンサは、パスゲート802、822、823がイネーブルにされる前に、VDD/2にプリチャージされることに留意されたい。これは、Q上の回復された信号がBLを介して読み出しストレージコンデンサ820及び821に転送されるとき電荷共有による信号喪失を最小にするためである。次いで、時間期間s2の間、PL1が切り替えられて低に戻り、クランプトランジスタ806を用いてノードQが放電される。次に、時間期間s3の間、PL1を低に保ったままPL2が高に切り替えられる。新たな電圧904がノードQ上に現れるが、今回はコンデンサ比が反対になっている。次いで、この電圧は、転送ゲート823を介して別の外部読み出しコンデンサ821に記憶される。このように、同じ2つのFeCapが、高信号及び低信号を読み出すために用いられる。次いで、センスアンプ810は、外部読み出しコンデンサ820、821に記憶された電圧を用いることによってビットセルの状態を決定する。
【0080】
典型的に、ビットセル800のアレイがある。
図8においてビットセル800〜800nの1コラムが、ビットライン801を介して読み出し転送ゲート822、823に結合されて示される。さらに、同様のビットセルの複数のコラムがあり、nロー×mコラムのアレイが形成される。例えば、SoC100では、NVLアレイは8×32である。ただし、先に説明したように、異なる構成も実装され得る。読み出しコンデンサ及びセンスアンプは、例えば、メモリアレイの周辺に置かれ得る。
【0081】
図10は、NVLアレイ110をより詳細に示すブロック図である。大型アレイの制御環境外に不揮発性要素を埋め込むと、信頼性及び製作の難題が生じる。
図1を参照して先に説明したように、個々のNVL FFにテスト容易性特性を付加することは、面積オーバーヘッドの点で困難であり得る。テスト特性コストを償却し、製造性を改善するために、SoC100は、論理クラウドにわたって分散されるFeCapベースのビットセルの256bミニNVLアレイ110を用いて実装されて、電力が取り去られたとき様々なフリップフロップ120の状態を保存する。FF120の各クラウド102〜104は、関連するNVLアレイ110を含む。中央NVLコントローラ106が、全てのアレイ、及びこれらのアレイのFF120との通信を制御する。
【0082】
NVLアレイは任意の数のnローmコラム構成で実装され得るが、この例では、NVLアレイ110は、ビットセルの8のロー及び32のビットコラムのアレイ1040を備えて実装される。ビットセル1041などの各個々のビットセルは、ロードライバ1042によって提供される制御ラインのセットに結合される。プレートライン(PL1、PL2)、センスアンプイネーブル(SAEN)、転送ゲートイネーブル(PASS)、及びクリア(CLR)を含む、先に説明した制御信号は全てロードライバによって駆動される。ビットセルの各ローに対してロードライバのセットがある。
【0083】
ビットセル1041などの各個々のビットセルはまた、ビットラインを介して入力/出力(IO)ドライバ1044のセットに結合される。この実装形態では、IOドライバのセット1045などのIOドライバの32セットがある。各ドライバセットは、ビットラインの1ローが読み出されるときデータ値を提供する出力信号1047を生成する。各ビットラインは、ビットセルのコラムの長さ延び、そのコラムのためのIOドライバに結合する。各ビットセルは、例えば、2C−3Tビットセル800として実装され得る。この場合、単一ビットラインが各コラムに対して用いられ得、センスアンプ及び読み出しコンデンサはIOドライバブロック1044に位置し得る。NVLアレイ110の別の実装形態において、各ビットセルは、4C−12Tビットセル400として実装され得る。この場合、ビットラインは、各コラムに対して2つのIOドライバを備えた差動対となり得る。コンパレータが、ビットラインの差動対を受け取り、出力ラッチに提供される最終的な単一ビットラインを生成する。NVLアレイ110の他の実装形態において、他の既知の又は後に開発されるビットセルが、下記でより詳細に説明されるロードライバ及びIOドライバとともに用いられ得る。
【0084】
タイミング論理1046は、読み出しドライバを制御して各読み出し及び書き込み動作に対する制御信号のシーケンスを生成するために用いられるタイミング信号を生成する。タイミング論理1046は、同期又は非同期状態機械、或いは他の既知の又は後に開発される論理技法を用いて実装され得る。1つの潜在的な代替実施形態では、複数の出力を備えた遅延チェーンが用いられる。これらの出力は、遅延チェーンを所望の間隔で「タップ」して制御信号を生成する。マルチプレクサが、各制御信号に対して複数のタイミング選択肢を提供するように用いられ得る。別の潜在的な実施形態において、適切な制御信号に接続される専用の出力を用いて所望の間隔でエッジを生成するプログラマブル遅延生成器が用いられる。
【0085】
図11は、
図10のNVLアレイに用いられる入力/出力回路1150のセットのより詳細な概略図である。
図10を再度参照すると、IOブロック1044内の32のドライバの各IOセット1045は、IO回路1150と類似している。I/Oブロック1044は、NVLビットのテスト容易性を補助するいくつかの特性を提供する。
【0086】
ここで
図11を参照すると、第1のラッチ(L1)1151が、読み出しの間出力ラッチとして働き、また、第2のラッチ(L2)1152と組み合わさってスキャンフリップフロップを形成する。スキャン出力(SO)信号は、書き込みドライバブロック1158内のマルチプレクサ1153に導かれて、デバッグの間スキャンデータをアレイに書き込ませる。スキャン出力(SO)は、IOドライバの次のセットのスキャン入力(SI)にも結合されて、NVLアレイ110からビットの1ロー全体を読み出すため又はNVLアレイ110に書き込むために用いられ得る32ビットスキャンチェーンを形成する。SoC100内で、各NVLアレイのスキャンラッチは直列式に接続されてスキャンチェーンを形成し、そのため、全てのNVLアレイがスキャンチェーンを用いてアクセスされ得る。或いは、各NVLアレイ内のスキャンチェーンは並列式に動作され得(N個のアレイがN個のチェーンを生成する)、スキャンテストをスピードアップするために各チェーンでの内部スキャンフロップビットの数が低減される。チェーンの数及びチェーン当たりのNVLアレイの数は必要に応じて可変とし得る。典型的に、SoC100内の全てのストレージラッチ及びフリップフロップはスキャンチェーンを含み、そのためSoC100の完全なテストが可能となる。スキャンテストは、周知であり、本明細書でより詳細に説明する必要はない。この実施形態では、NVLチェーンは、チップ上で論理チェーンから隔離されているため、これらのチェーンは独立して稼働され得、NVLアレイは論理チェーンの編成、実装、又は制御に全く依存せずにテストされ得る。NVLスキャンチェーンの最大全長は、常に、論理チェーンの全長より短い。これは、NVLチェーンの長さがNVLアレイ内のローの数に等しい除数によって短くされるからである。この実施形態では、NVLアレイ当たり8のエントリがあり、そのため、NVLスキャンチェーンの全長は、論理スキャンチェーンの全長の1/8である。これにより、NVLアレイにアクセスし、NVLアレイをテストするために必要とされる時間が短縮され、そのため、テストコストが低減される。また、このことにより、論理フロップ、論理スキャンチェーン上のそれらの位置、及びそれらの対応するNVLアレイビットロケーションの間のマッピングを決定する(アレイ、ロー、及びコラムのロケーションを識別する)必要がなくなり、NVLテスト、デバッグ、及び故障解析が大きく簡略化される。
【0087】
スキャンテストは有用であるが、SoC100内の様々なNVLアレイをテストするために何百又は何千ものビットにおけるスキャンを行うために膨大な長さの時間がかかり得るため、SoC100の製造テストには良好なメカニズムを提供しない。これは、NVLアレイ内のビットに対する直接アクセスがないためである。各NVLビットセルは、関連するフリップフロップに結合され、フリップフロップの状態を保存することによってのみフリップフロップに書き込まれる。そのため、NVLアレイに、関連するフリップフロップからパターンテストをロードするために、対応するフリップフロップは、スキャンチェーンを用いて設定されなければならない。NVLアレイにおける特定のローの内容を制御するためにスキャンチェーン上のどのビットがセット又はクリアされなければならないかを決定することは、シリコンダイ上のフロップの任意のグループの物理的ロケーションに基づくが、いかなる通常のアルゴリズムにも基づかないで接続が成されるので、複雑なタスクである。このように、フロップのNVLロケーションへのマッピングは制御しなくてよく、典型的に、いくらか無作為に成される。
【0088】
改善されたテスト技法がIOドライバ1150内で提供される。
図1を再度参照すると、NVLコントローラ106は、チップ上の全てのNVLアレイに対して高速合否判定テストを実施する状態機械を有し、それによって、不良ダイを排除する。1つのこのような手法では、少なくとも1つの不揮発論理コントローラが、組込み自己テストモードを制御するように構成され、このモードでは、複数のNVLアレイのうち1つのNVLアレイの少なくとも一部に全て0又は全て1が書き込まれ、次いで、NVLアレイのこの少なくとも一部から読み出されるデータが全て1又は全て0かどうか判定される。これは、まず、全0/1書き込みドライバ1180を用いて或るローに全て0又は1を書き込むこと、オフセットじょう乱電圧(V_Off)を印加すること、次いで、並列読み出しテストデータ論理1170を用いて同じローを読み出すことによって成される。データラッチ1151からのデータ出力信号(OUT)が高である場合、ANDゲートG1からの信号corr_1が高になり、隣接するコラムのIOドライバの並列読み出しテスト論理ANDゲートG1からの信号corr_1が高になる。このようにして、NVLアレイ110における32セットのI/Oブロック1150のG1 ANDゲートが、NVLアレイ110の選択されたローについて全ての出力が高かどうかをNVLコントローラに通知する大きな32入力ANDゲートを実装する。ORゲートG0は、0の読み出しについて同じことを行う。このようにして、NVLコントローラは、NVLコントローラからNVLアレイにいかなる明示的なテストデータも転送することなく、いくつかの制御信号のみを用いて、選択されるローへの全て1の書き込みを同時に実施するようにSoC100内の全てのNVLアレイに指示し得、次いで、選択されたローを同時に読み出すように及び合否表示を提供するように全てのNVLアレイに指示し得る。典型的なメモリアレイBIST(組込み自己テスト)の実装において、BISTコントローラが、各出力ビットが予想される値と比較され得るように、全てのメモリ出力値にアクセスしなければならない。典型的なシリコンSoCチップ上に何千もの論理フロップがあると仮定すると、NVLアレイ出力の総数も何千となり得る。通常のBIST論理回路を用いてこれらのアレイをテストすることは、多数のデータ接続及びデータコンパレータが必要とされるので、実際的ではない。そこで、NVLテスト方法は、8ローを有するNVLアレイに対して8回繰り返され得(繰り返し数はアレイ編成に従って変わり得る。一例では、10エントリNVLアレイ実装でこのテスト方法を10回反復する)、SoC100における全てのNVLアレイが、8書き込みサイクル及び8読み出しサイクルのみで全て1の動作について正しいかどうかテストされ得る。同様に、SoC100における全てのNVLアレイが、8書き込みサイクル及び8読み出しサイクルのみで全て0の動作について正しいかどうかテストされ得る。全てのNVLアレイの結果は、NVLアレイの各々からcorr_0及びcorr_1信号を受け取り、単一のcorr_0及びcorr_1信号を生成する付加的なANDゲート及びORゲートによって、合否を示す単一信号に凝縮され得るか、又は、NVLコントローラが、各個々のcorr_0及びcorr_1信号を検査し得る。
【0089】
全0/1書き込みドライバ1180は、PMOSデバイスM1、M3及びNMOSデバイスM2、M4を含む。デバイスM1とM2は、直列に接続されて、ビットラインBLに結合されるノードを形成し、デバイスM3とM4は、直列に接続されて、反転ビットラインBLBに結合されるノードを形成する。制御信号「all_1_A」及び反転制御信号「all_1_B」が、NVLコントローラ106によって生成される。書き込みサイクルの間アサートされると、これらの制御信号は、デバイスM1及びM4をアクティブにして、論理1のデータ値を表すようにビットラインBL及びBLBをプルにさせる。同様に、制御信号「all_0_A」及び反転制御信号「all_0_B」が、NVLコントローラ106によって生成される。書き込みサイクルの間アサートされると、これらの制御信号は、デバイスM2及びM3をアクティブにして、論理0のデータ値を表すようにビットラインBL及びBLBをプルにさせる。このようにして、32のドライバは、制御信号に応答してビットセルのローに全て1を書き込むように、及び、別の制御信号に応答してビットセルのローに全て0を書き込むように動作可能である。同じタスクを行なう他の回路トポロジーが当業者によって容易に設計され得る。本実施形態は、必要とされるデータ書き込みを行うために4個のトランジスタしか必要としないので好ましい。
【0090】
通常の書き込み動作の間、書き込みドライバブロック1158は、data_in信号に記憶されるべきデータビット値を受け取る。書き込みドライバ1156、1157は、相補データ信号を、ビットラインBL、BLBに、及びそれによって選択されるビットセルに、結合する。書き込みドライバ1156、1157は、書き込みイネーブル信号STOREによってイネーブルにされる。
【0091】
図12Aは、読み出しサイクルの間のオフセット電圧テストを図示するタイミング図である。ビットセルにじょう乱電圧を印加するために、読み出しの間状態s1が改変される。この図は、「0」(ノードQ)のデータ値を読み出すための電圧じょう乱テストを図示しており、「1」のデータ値についての電圧じょう乱テストはこれに類似するが、じょう乱電圧がセンスアンプの反対側(ノードQB)に注入される。そのため、この実施形態におけるじょう乱電圧は、読み出される論理値に基づいてセンスアンプの低電圧側に注入される。転送ゲート1154、1155はビットラインBL、BLBに結合される。図示しないデジタル−アナログコンバータ(これは、例えば、外部テスタにおけるオンチップ又はオフチップとし得る)が、所望の量のオフセット電圧V_OFFを生成するため、NVLコントローラ106によって、オフチップテストコントローラによって、或いは、外部の生産テスタを介してプログラムされる。NVLコントローラ106は、s1時間期間の間「0」を記憶する側のビットラインについてVcon制御電圧信号をアサートし得、それによって、Vcon転送ゲート1154、1155がイネーブルにされ、s1の間M2/M4を用いて他方のビットラインを放電し、s1の間制御信号PASSをアサートして転送ゲート402、403をオンにする。これにより、1202で示されるように、「0」を記憶する側のノードQ/QB上の電圧が電圧V_Offに初期化される。このプリチャージ電圧は、1204で示されるように、s3の間SAに利用可能な差分を小さくし、そのため、ビットセルは不合格に一層近くプッシュされる。高速生産テストでは、V_Offは、必要とされるマージン値に設定され得、次いで、いかなる不良ダイも排除するためG0〜G1を用いる合否テストが用いられ得る。
【0092】
図12Bは、オフセット電圧の掃引の間生成されるヒストグラムを図示する。ビットレベル不良マージンは、V_Offを掃引すること、及び、上述したように、読み出しサイクルのシーケンスを用いて読み出しデータビットをスキャンすることによって検討され得る。この例では、最悪ケースの読み出しマージンは550 mVであり、平均値は597 mVであり、標準偏差は22 mVである。このようにして、SoC上の各NVLアレイにおける全てのビットセルの動作特徴が容易に決定され得る。
【0093】
上述したように、大型アレイの制御環境外に不揮発性要素を埋め込むと、信頼性及び製作上の難題が生じる。NVLビットセルは、任意のNVメモリ技術に必要とされるように、最大読み出し信号マージン及びインサイチュテスト容易性のために設計されるべきである。しかし、NVL実装は、NVLアレイが論理クラウド内部で分散しているので、SRAMのような組込み自己テスト(BIST)に頼ることができない。上述のNVL実装は、中央NVLコントローラ106によって制御されるNVLアレイを含む。満足な挙動についてダイをスクリーンニングする一方で、NVLコントローラ106は、いかなる外部テスタも介入させずにオンチップで実施されるステップのシーケンスを走らせる。テスタは、開始信号を送出し、所望の信号マージンに対応するアナログ電圧を印加するだけでよい。コントローラは、まず、NVLアレイにおける全てのビットに全て0又は1を書き込む。次いで、コントローラは、1回に1ローのアレイの読み出しを開始する。NVLアレイ読み出し動作は、必ずしもNVLアレイ書き込み動作の直後に行うとは限らない。時間及び温度依存故障メカニズムを加速させるために、しばしば、データ書き込み動作とデータ読み出し動作との間に高温ベークサイクルが挿入され、そのため、製造関連テストの間長期データ保持に影響を及ぼす欠陥が排除され得る。上記でより詳細に説明したように、アレイは、アレイの全ての出力のAND及びORを取る論理を含む。これら2つの信号がコントローラに送られる。各ローを読み出すと、コントローラは、アレイからの2つの信号を検査し、コントローラが前に書き込んだものの知見に基づいて、読み込んだデータがじょう乱電圧の存在下で正しいか否かを判定する。データが不正確な場合、コントローラはテスタに不合格信号を送出し、この時点でテスタはこのダイを排除し得る。このローが合格である場合、コントローラはアレイにおける次のローに移る。全てのアレイが、通常のNVLクロック周波数で並列にテストされ得る。これにより、テスタは、開始信号を送出し、所望の読み出し信号マージン電圧を提供するだけで、NVLアレイの高速オンチップテストを行い得、一方、NVLコントローラは、組込みテスト手順の終了時に良品レポートを作成するか、又は、最初の不良ローが検出されるたびに不合格信号を生成する。不良は直ちにレポートされるので、テスタは、最初の不良の時点でテスト手順を中止することができ、残りのローをテストするさらなるテスト時間を無駄に費やすことがない。このことは、全ての不揮発性メモリ(NVM)に対するテスト時間ひいてはテストコストがSoCに対する全体テストコストの多くを占めることが多いので、重要である。NVLコントローラが、テスト手順の間の任意の時点で、「終了」信号をアクティブにし、不良信号がアクティブにされていない場合、テスト下のダイは必要とされるテストに合格している。
【0094】
さらなる故障解析のために、コントローラはさらにデバッグモードを有し得る。このモードでは、テスタはアレイ及びロー番号を指定し得、次いでNVLコントローラはそのローだけに読み出し又は書き込みを行い得る。読み出された内容は、NVLスキャンチェーンを用いてスキャンされ得る。この方法は、CPUが介入することなく、又は、NVLアレイビットが個々のフロップに無作為にマッピングされる長く複雑なSoCスキャンチェーンを用いることを必要とせずに、ダイ上の任意のNVLビットに読み出し又は書き込みアクセスを提供する。また、これは、読み出し信号マージン決定のためのアナログ電圧の印加と協調して成され得、そのため、個々のビットに対する正確なマージンが測定され得る。
【0095】
これらの能力はNVLを実用的とする助けとなる。というのは、テスト容易特性なしには、製品に不揮発性論理要素を用いることは危険を伴い得るからである。また、テスタの介入を最小にしてオンダイで合否をテストすることにより、テスト時間ひいてはコストが低減される。
【0096】
論理クラウド内に分散されるミニアレイを用いたNVL実装は、ECCのような高度な誤り検出方法が、膨大な量の付加的なメモリコラム、及びアレイ毎に用いられるべき制御論理を必要とし得ることを意味し、これは、面積の観点から困難であり得る。しかし、信頼性のレベルを高めるために、SoC100のNVLアレイは、ローコスト誤り検出方法としてパリティ保護を含み得る。これをこれ以降により詳細に説明する。
【0097】
図13は、ビットの32コラム(0:31)を有する例示のNVLアレイを図示するNVLアレイ100におけるパリティ生成を図示する概略図である。このNVLアレイは、入力データ値DATA_IN1151と、前のコラムのIOドライバの同様のXORゲートの出力との排他的ORを取る。
図11Aを再度参照して、NVLアレイの例えば部分1350などの各IOドライバセクションは、XORゲート1160を含み得る。ロー書き込みの間、コラム30にあるXORゲート1160の出力は、ビットコラム0:30に書き込まれるデータのローの全体的なパリティ値であり、
図11BでXOR_INとして示す、NVLミニアレイのコラム31のデータ入力にその出力をフィードすることによって最後のコラムにパリティ値を書き込むために用いられる。
【0098】
同様にして、読み出しの間、XORゲート1160は、読み出しラッチ1151からマルチプレクサ1161(
図11参照)を介したデータ値DATA_OUTと、前のコラムのIOドライバの同様のXORゲートの出力との排他的ORを取る。ビットコラム30にあるXORゲート1160の出力は、ビットコラム0:30から読み出されたデータのローに対する全体的なパリティ値であり、パリティ誤り検出器1370においてビットコラム31から読み出されるパリティ値と比較するために用いられる。読み出されたデータから求められる全体的なパリティ値がコラム31から読み出されるパリティビットとマッチングしない場合、パリティ誤りが宣言される。
【0099】
パリティ誤りが検出されると、このパリティ誤りは、記憶されたFF状態値が信頼できないことを示す。NVLアレイは典型的に、SoCがパワーオフ状態にされた後に動作を再開するとき読み出されるので、パリティ誤りの検出は、正しいFF状態値を再生するためにフルブート動作の実施が必要とされることを示す。
【0100】
しかし、例えば、電力をオフにする前にFF状態が適切に記憶されなかった場合、又は、新品のデバイスの場合、中間の状態が存在し得る。例えば、NVLアレイが空である場合、典型的に、全てのビットが0の値を有し得るか、又は、全てのビットが1の値を有し得る。全て0の場合、全て0に対して生成されるパリティ値は0であり、これは0のパリティビット値とマッチングする。従って、このパリティテストは、FF状態が正しく、ブート動作が実際は必要とされるのに必要とされないと誤って示すことになる。こうしたことが生じるのを防ぐために、例えば、パリティビットを反転したバージョンがビットラインドライバ1365によってコラム31に書き込まれ得る。
図11Aを再度参照して、コラム0〜30のためのビットラインドライバ1156は入力データビットも反転するが、マルチプレクサ1153はdata_inビットをそれらが受け取られたとき反転するので、その結果、コラム0〜30のデータは非反転で記憶されることに留意されたい。別の実施形態において、例えば、データビットが反転され得、パリティ誤りは反転されない。
【0101】
全て1の場合、コラムの数が偶数の場合は、計算されるパリティはゼロに等しく、1の反転値がパリティコラムに記憶される。従って、全て1のデータコラムの数が偶数であるNVLアレイでは、パリティ誤りは検出されない。こうしたことが生じないようにするために、NVLアレイ110は、データコラムの数が奇数となるように制約される。例えば、この実施形態では、31のデータコラム及び1つのパリティコラムがあり、合計で32のビットセルコラムがある。
【0102】
いくつかの実施形態では、NVL読み出し動作が行われると、NVLアレイのための制御論理により、パリティビットが読みだされ、反転され、書き戻される。これにより、NVLアレイは、前のNVLアレイ書き込みが不完全であったか又は無効/破損された時点を検出し得る。残余分極は、単一読み出しサイクルでは完全にはなくならない。典型的に、FeCapを完全に脱分極するには、又は、NVL読み出しパリティを信頼性を持ってトリガするために十分にデータを破壊するには、5〜15読み出しサイクルかかる。例えば、電力喪失のため最後のNVL記憶動作の間8NVLアレイローのうち4ローしか書き込まれなかった場合、前の機械状態の取り込みが不完全であるという結果になる可能性が極めて高い。しかし、残余分極のため、直近の状態記憶シーケンスで書き込まれなかった4ローは、直近のNVLデータ記憶イベントからのデータではなく、2つ前のNVL記憶イベントなど、以前からの古いデータを依然として含んでいる可能性がある。これら4ローからのパリティ及び古いデータは、無効データとしてではなく有効なデータとして読み出される可能性がある。これは、次のウェイクアップ/パワーアップイベントの間NVLアレイから機械状態が復元されるとき、機械をハングアップ又はクラッシュさせる可能性が高い。従って、各エントリが読み出された後反転されたパリティビットを書き戻すことによって、古いデータの各ローが強制的に本質的に無効化される。
【0103】
NVLエントリにデータを書き戻すと電力が多く使われるので、全てのビットにデータを書き戻さず、パリティビットのみにデータを書き戻すことが好ましい。本実施形態のアレイでは、この特性の寄生電力消費を最小化するため、全ての非パリティビット(すなわち、データビット)に対するPL1、PL2、及びセンスアンプイネーブル信号をイナクティブにする。
【0104】
このようにして、SoCが無電力状態からパワーオン状態に遷移するたびに、NVLアレイから読み出されるデータが有効なFF状態情報を含むという有効性判定が成され得る。パリティ誤りが検出される場合、NVLアレイからFF状態を復元する代わりに、ブート動作が実施され得る。
【0105】
図1を再度参照すると、低電力SoC100は、表1及び表2に関して先に説明したように、複数の電圧及び電力ドメインを有する。例えば、NVLアレイのためのVDDN_FV、VDDN_CV、スリープモード保持ラッチ及びウェル電源のためのVDDR、並びにシステムマイクロコントローラ、様々な周辺デバイス、SRAM、ROMなどを形成する論理ブロックの大部分のためのVDDLなどである。FRAMは、内部電力スイッチを有し、常時オン電源VDDZに接続される。また、VDDN_FVドメインは、FeCapビットセルが必要とする1.5ボルトなど、1つの電圧で動作するように設計され得、一方、VDDL及びVDDN_CVドメインは、例えば0.9〜1.5ボルトなどの、より低い電圧で動作して電力を節減するように設計され得る。このような実装形態では、パワースイッチ108を用いること、レベル変換、及び適切な領域における絶縁が必要とされる。NVLブロック110に関して必要とされる絶縁及びレベル変換の態様をこれ以降により詳細に説明する。これらの回路は、VDDL/VDDN_CVをVDDN_FV以下の任意の有効電圧とし得るように、また、回路が正しく機能するように設計され得る。
【0106】
図14は、NVLアレイ110内の電力ドメインを図示するブロック図である。論理及びメモリの様々なブロックが表3に図示するように配置され得る。
【表3】
【0107】
表3で説明する電力ドメインVDDL、VDDN_CV、VDDN_FV、及びVDDRは、前述のスイッチ108など、パワースイッチの別個のセットを用いて制御される。しかし、或る種の条件に対して絶縁が必要とされ得る。IOバッファブロック1044内のデータ出力バッファが、NVL論理電力ドメインVDDN_CV内にあり、従って、チップの通常動作の間ドメインVDDR(又は特定の実装形態によってはVDDL)がオンである一方で、オフのままとなり得る。このような状況下の間全てのこのような信号を接地に接続するためにISO低絶縁が実装される。VDDN_CVがオフである一方で、ランダム論理領域におけるVDDR(又は特定の実装形態によってはVDDL)ドメインにおけるデータ出力に接続される論理は、VDDN_CVドメインからの任意の信号が浮いている(VDDN_CVドメインがパワーダウンされるとき駆動されていない)場合、これらの信号が絶縁されていないと、内部回路内の電力と接地の間で短絡回路を生成し得る。NVLアレイのcorrect_0/1出力及びスキャン出力にも同じことが当てはまる。ここでの全般的な考え方は、NVLアレイのいずれの出力も、NVLアレイに電力が与えられないとき絶縁されるということである。チップ内に常時オン論理が存在する場合、VDDL又はVDDN_CVからVDDに向かう全ての信号は、入力絶縁を用いて、VDDドメインの周辺で絶縁されなければならない。NVLフロップにはND入力において付加的な組込み絶縁が存在する。ここで、この入力は送信ゲートに向かい、送信ゲートの制御信号NUは常時オン信号によって駆動される。この入力が中間であると予想されるとき、NUは低にされ、それによって、ND入力ポートがイナクティブにされる。同様の組込み絶縁が、NVLアレイのデータ入力及びスキャンインに存在する。この絶縁は、VDDLがオフになるときNVL復元の間必要とされ得る。また、信号NU及びNVLデータ入力マルチプレクサイネーブル信号(mux_sel)は、VDDRドメインにおいてのみバッファされなければならない。同じことが保持イネーブル信号にも当てはまる。
【0108】
動作の様々な電力節減モードを可能にするために、VDDL及びVDDN*ドメインは様々な時点で遮断され、短絡回路電流を燃焼させずに絶縁により動作が可能になる。
【0109】
低電圧VDDLドメインから高電圧VDDNドメインへのレベル変換が、NVLビットセルに向かうNVLアレイの制御入力、例えば、ローイネーブル、PL1、PL2、リストア、リコール、及びクリア、に対して必要とされる。これにより、低電圧で動作し得るSoC論理及びNVL論理ゲートのブロックを低電圧で動作させ得ることによって、システム電力消散の低減が可能になる。ビットセルアレイ1040におけるビットセルの各ローに対し、例えば、プレートラインPL1、PL2、転送ゲートイネーブルPASS、センスアンプイネーブルSAEN、クリアイネーブルCLR、及び電圧マージンテストイネーブルVCONなどを含む、ビットセルの各ローに対する信号を駆動するワードラインドライバ1042のセットがある。ビットセルアレイ1040及びワードライン回路ブロック1042は、VDDNによって供給される。1042への入力信号に対するレベルシフトは、専用のレベルシフタ(
図15参照)によって扱われ、ビットセルアレイ1040への入力に対するレベルシフトは、NVLビットセル内の回路の特殊なシーケンス処理によって、アレイデータ経路又はビットセルにいかなる付加的な専用回路も付加せずに、扱われる。
【0110】
図15は、NVLアレイ110において用いるためのレベルコンバータ1500の概略図である。
図15は、ワードラインドライバ1402のセットの一部とし得る1つのワードラインドライバを図示する。レベルコンバータ1500は、ワードラインドライバ1042のための1.5ボルトVDDNドメインにおける領域1502に形成されるPMOSトランジスタP1、P2及びNMOSトランジスタN1、N2を含む。ただし、タイミング及び制御モジュール1046における制御論理は、1.2ボルトVDDLドメインにおける領域1503に置かれる(1.2Vは、0.9V〜1.5Vの範囲とし得る可変VDDLコア電源を表すために用いられる)。1.2ボルト信号1506は、制御モジュール1046によって生成されるロー制御信号のうちの任意のものを示し、NVLビットセルアレイ1040にアクセスする際に用いられる。インバータ1510が、領域1503における制御信号1511、1512の相補対を形成し、これらの制御信号は、レベルコンバータ1500内のトランジスタN1及びN2へ導かれる。動作において、1.2ボルト信号1506が高に向かうと、NMOSデバイスN1がPMOSデバイスP2のゲートを低にプルし、それによって、P2が信号1504を最大1.5ボルトまでプルする。同様に、1.2ボルト信号1506が低に向かうと、相補信号1512により、NMOSデバイスN2がPMOSデバイスP1のゲートを低にプルし、それがPMOSデバイスP2のゲートをプルアップし、信号1504を約0ボルトの低に向かわせる。NMOSデバイスは、PMOSより堅固でなければならず、そのため、このコンバータはスタックしない。このようにして、電圧ドメインを通じてレベルシフトが行われ得、インバータ1510を含む制御論理を低電圧ドメイン1503に置くことによって電力が節減され得る。各信号に対し、コントローラ2つの相補制御信号1511、1512によってレベルコンバータ1500の各々に結合される。
【0111】
図16は、強誘電性ビットセル内でセンスアンプを用いるレベルシフトの動作を図示するタイミング図である。
図2を再度参照して、マルチプレクサ212からNVLアレイ110へ提供される入力データも、1.2ボルトVDDLドメインから、書き込み動作の間1.5ボルトVDDNドメインにおけるFeCapの最良動作のために必要とされる1.5ボルトまでレベルシフトされる必要がある。これは、例えば、ビットセル400のセンスアンプを用いて行われ得る。
図4及び
図13を再度参照して、1.2ボルトVDDLドメインからのBL1352などの各ビットラインBLは、ビットセル400内の転送ゲート402又は403に結合されることに留意されたい。センスアンプ410は、1.5ボルトVDDN電力ドメインで動作する。ここで
図16を参照して、時間期間s2の間、ビットラインBL、BLB上にデータが提供され、時間期間s2の間転送ゲート402、403がパス信号PASSによってイネーブルにされてデータビット及びその反転値がビットラインから差動ノードQ、QBへ転送されることに留意されたい。しかし、1602で示すように、転送される電圧レベルは1.5ボルトレベル未満に制限されるに過ぎない。これは、ビットラインドライバが1.2ボルトVDDLドメインに置かれるからである。
【0112】
センスアンプ410は、書き込みドライバ1156、1157などの書き込みデータドライバが時間期間s2の間適切な差分1602をQ/QB上に強制的に与えた後、1604で示すように、付加的な駆動を提供するため、時間期間s3、s4の間センスアンプイネーブル信号SAEN、SAENBによってイネーブルにされる。センスアンプにはより高い電圧(VDDN)によって電力が供給されるので、センスアンプは、書き込みデータドライバによってセンスアンプの両端に確立される差分に応答し得、センスアンプの論理0側をVSS(Q又はQB)までクランプし、論理1を含む他方の側はVDDNの電圧レベルまでプルアップされる。このようにして、NVL記憶動作の間電圧レベルシフト機能を提供するために既存のNVLアレイハードウェアが再利用される。
【0113】
ただし、センスアンプから1.2Vドライバ電源への短絡を回避するために、書き込みデータドライバは、時間期間s2終了時、時間期間s3、s4の間センスアンプがオンにされる前に、センスアンプから隔離される。これは、時間期間s2の後STORE信号をデアサートすることによってビットラインドライバをオフにすることによって、及び/又は時間期間s2の後PASSをデアサートすることによって転送ゲートをイナクティブにすることによって成され得る。
【0114】
上述の配置を用いて、処理又は演算デバイス動作サイクルにおける様々の点において電力節減又は有用性を最大化するために様々な構成が可能である。1つのこのような手法では、演算デバイスが、データの喪失なく又はリブートすることなく一連の電力中断にわたって連続的に動作するように構成され得る。
図17に示す例を参照すると、処理デバイス1700が、上述のように、複数の不揮発性論理要素アレイ1710と、複数の揮発性ストレージ要素1720と、少なくとも1つの不揮発論理コントローラ1730とを含み、少なくとも1つの不揮発論理コントローラ1730は、複数の揮発性ストレージ要素1720によって表される機械状態を記憶するため、及び記憶した機械状態を複数の不揮発性論理要素アレイ1710から複数の揮発性ストレージ要素1720に読み出すために複数の不揮発性論理要素アレイ1710を制御する構成される。電圧又は電流検出器1740が、入力電源1750から電力品質を感知するように構成される。
【0115】
電力管理コントローラ1760が、電圧又は電流検出器1740から電力品質に関する情報を受け取るため、電圧又は電流検出器1740と通信する。電力管理コントローラ1760はまた、機械状態を複数の不揮発性論理要素アレイ1710に記憶させ、複数の不揮発性論理要素アレイ1710から機械状態を復元させるための情報を提供するため、少なくとも1つの不揮発論理コントローラ1730と通信するように構成される。
【0116】
電圧レギュレータ1770が、入力電源1750から電力を受け取るように、及び処理デバイス1700に電力を提供するように構成される出力電源レール1755に電力を提供するように接続される。電圧レギュレータ1770はさらに、電力管理コントローラ1760と通信するように、及び電力品質が閾値を下回るという判定に応答して、スイッチ1780の制御などを介して、入力電源1750から出力電源レール1755を切断するように構成される。
【0117】
電力管理コントローラ1760及び電圧又は電流検出器1740は、少なくとも1つの不揮発論理コントローラ1730及び電圧レギュレータ1770と協調作動して、一次演算経路とは独立してデータバックアップ及び復元プロセスを管理する。1つのこのような例では、電力管理コントローラ1760は、電力品質が閾値を下回るという判定に応答して、処理デバイス1700のためのクロックを停止させるために信号を送信するように構成される。次いで、電圧レギュレータ1770は、入力電源1750から出力電源レール1755が切断されることに応答して、電力管理コントローラ1760に切断信号を送信し得る。電力管理コントローラ1760は、切断信号の受信に応答して、少なくとも1つの不揮発論理コントローラ1710にバックアップ信号を送信する。NVLアレイへのシステム状態のバックアップが完了すると、SoCから電力が取り去られるか、又は、機械状態の喪失のさらなる懸念なしに電力が劣化し続け得る。
【0118】
電力品質を判定する個々の要素は、異なる手法において変化し得る。例えば、電圧レギュレータ1770は、閾値よりも電力品質がよくなることを検出するように、及び、それに応答して電力管理コントローラ1760に良好電力信号を送信するように構成され得る。それに応答して、電力管理コントローラ1760は、機械状態の復元を促すために複数の不揮発性論理要素アレイ1710及び少なくとも1つの不揮発論理コントローラ1730に電力を提供するよう信号を送信するように構成される。電力管理コントローラ1760は、パワーアップが完了したことを判定するように、及び、それに応答して、処理デバイス1700のためのクロックを解放するために信号を送信するように構成される。ここで、処理デバイス1700は、電力品質が閾値を下回るという判定の前の機械状態から動作を再開する。
【0119】
処理デバイス1700がバックアッププロセスを完了するために十分な電力を有することを保証するために、電荷ストレージ要素1790が、出力電源レール1755が入力電源1750から切断された後複数の不揮発性論理要素アレイ1710に機械状態を記憶するために十分に長く処理デバイス1700に電力供給するために十分な一時的電力を処理デバイス1700に提供するように構成される。電荷ストレージ要素1790は、このような緊急電力を蓄えるように設計される少なくとも1つの専用オンダイ(又はオフダイ)コンデンサとし得る。別の手法において、電荷ストレージ要素1790は、自然に生じる寄生電荷がダイ内に蓄積する回路要素とし得る。この場合、回路要素から接地への電荷の消散により、バックアップ動作を完了するために十分な電力が得られる。
【0120】
図18は、NVLドメイン及び電力ドメインを個々に制御する例示の方法の態様を示す。この方法は、複数の揮発性ストレージ要素を用いて処理デバイスを動作させること1802と、複数の揮発性ストレージ要素に記憶されたデータを複数の不揮発性論理要素アレイに記憶することとを含む。複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第1のセットが処理デバイスの第1の機能に関連付けられ、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第2のセットが処理デバイスの第2の機能に関連付けられる。従って、この方法は、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第1のセットの動作を、複数の不揮発性論理要素アレイの少なくとも1つの不揮発性論理要素アレイの第2のセットの動作から独立して制御すること1804を含む。この独立制御は、関連する1つ又は複数のNVLアレイ或いはこれらの組み合わせを独立して制御する、別個の不揮発性論理要素アレイコントローラを有することによって、複数のNVLアレイを独立して制御するように構成される特殊化された不揮発性論理要素アレイコントローラを介して提供され得る。
【0121】
任意選択で、独立のNVLアレイ制御を有することに加えて、又はその代わりに、個々の電力ドメインが区分され得、異なる区分は独立してパワーアップ又はパワーダウンされ得る。例えば、複数の揮発性ストレージ要素の個々の揮発性ストレージ要素の一次論理回路部分が、第1の電力ドメインによって電力供給され、第1の機能に関連付けられる切替え論理要素が第1の電力ドメインの第1の部分によって電力供給される1806。第2の機能に関連付けられる切替え論理要素が第1の電力ドメインの第2の部分によって電力供給される1808。この場合、この方法は、第1の電力ドメインの第1の部分及び第2の部分を、第1の電力ドメインの他の部分とは独立して個々にパワーアップ又はパワーダウンすること1810を含む。このように、第1の部分は、第2の部分がパワーダウンされるときにパワーアップされ得る。
【0122】
他の電力ドメインも同様に区分され得る。例えば、第1の機能に関連付けられる不揮発性論理要素アレイが、第3の電力ドメインの第1の部分によって電力供給され得1812、第2の機能に関連付けられる不揮発性論理要素アレイは第3の電力ドメインの第2の部分によって電力供給される1814。この例では、この方法は、第3の電力ドメインの第1の部分及び第2の部分を、第1の電力ドメインの他の部分とは独立して個々にパワーアップ又はパワーダウンすること1816を含む。
【0123】
また、個々の電力ドメインは独立して制御され得る。この例では、複数の揮発性ストレージ要素の個々の揮発性ストレージ要素の一次論理回路部分が、第1の電力ドメインによって電力供給される。複数の不揮発性論理要素アレイにデータを記憶させるため、及び複数の不揮発性論理要素アレイからデータを読み出すために信号を制御するように構成される論理要素は第2の電力ドメインによって電力供給され、複数の不揮発性論理要素アレイは第3の電力ドメインによって電力供給される。この方法は、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインの個々の電力ドメインを、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインの他の電力ドメインとは独立して、パワーアップ又はパワーダウンすることを含み得る。
【0124】
この手法では、処理デバイスは下記のように動作し得る。システム電力の分断を示す信号の受信に応答して、処理デバイスは、システムバックアップモードに入り、第3の電力ドメインをパワーアップする。少なくとも1つの不揮発性論理コントローラがシステムバックアップモードが完了したと判定することに応答して、処理デバイスは、スリープモードに入り、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインをパワーダウンする。スリープモードにある一方で電力の復元を示す信号を受信することに応答して、処理デバイスは、システム復元モードに入り、第2の電力ドメイン及び第3の電力ドメインをパワーオンし、第1の電力ドメインをパワーダウンのまま保つ。少なくとも1つの不揮発論理コントローラがシステム復元モードが完了したと判定することに応答して、処理デバイスは、通常動作モードに入り、第1の電力ドメイン及び第2の電力ドメインをパワーアップし、第3の電力ドメインをパワーダウンする。このように構成されると、処理デバイスの効率が向上するために電力制御の様々な組み合わせが実施され得る。
【0125】
図19は、複数の不揮発性論理要素アレイ、複数の揮発性ストレージ要素、及び少なくとも1つの不揮発性論理コントローラを有する演算デバイスに電力供給する動作を図示するフローチャートである。演算デバイスは、演算デバイスの切替え論理要素に電力を供給するように構成される第1の電力ドメイン、複数の不揮発性論理要素アレイにデータを記憶させるため、及び複数の不揮発性論理要素アレイからデータを読み出すために信号を制御するように構成される論理要素に電力を供給するように構成される第2の電力ドメイン、及び複数の不揮発性論理要素アレイのために電力を供給するように構成される第3の電力ドメインを含む。この方法は、節電又は完全な電力喪失など、システム電力の分断を示す信号を受け取ること1902と、それに応答して、システムバックアップモードに入り、第3の電力ドメインをパワーアップする一方で、第1及び第2の電力ドメインの電力を保つこと1904を含む。バックアップモードの間、上述したように揮発性ストレージ要素からの機械状態が不揮発性論理要素アレイに記憶される。
【0126】
少なくとも1つの不揮発性論理コントローラは、システムバックアップモードが完了したことを判定し1906、それに応答して、デバイスは、スリープモードに入り、第1の電力ドメイン、第2の電力ドメイン、及び第3の電力ドメインをパワーダウンする1908。スリープモードにある一方で電力の回復を示す信号を受け取ること1910に応答して、この方法はさらに、システム復元モードに入り、第2の電力ドメイン及び第3の電力ドメインをパワーオンし、揮発性ストレージ要素に状態が復元される際の過剰なデータトグル電力使用を回避するため第1の電力ドメインをパワーダウンのまま保つこと1912を含む。少なくとも1つの不揮発性論理コントローラは、システム復元モードが完了したことを判定する1914。これに応答して、この方法は、通常動作モードに入り、第1の電力ドメイン及び第2の電力ドメインをパワーアップし、NVLアレイへの電力漏れをなくすため第3の電力ドメインをパワーダウンすることを含む。このように構成されると、NVLストレージからシステム状態が回復される間、過剰な論理切り替えによって失われる過剰な電力及びそれに伴う寄生電力消費が低減される。
【0127】
システム例
図20は、上記のように、NVLアレイを含む別のSoC2000のブロック図である。SoC2000は、Cortex−M0プロセッサコア2002、ユニバーサル非同期レシーバ/トランスミッタ(UART)1904及びSPI(シリアル周辺インターフェース)2006インターフェース、並びに10KB ROM2010、8KB SRAM2012、64KB(強誘電性RAM)FRAM2014メモリブロック、市販の超低電力(ULP)マイクロコントローラの特性を特徴とする。130 nmFRAMプロセスベースのSoCは、単一1.5V電源、8MHzシステムクロック、及びNVL動作のための125MHzクロックを用いる。このSoCは、それぞれ、SRAM及びFRAMからのコードを実行する一方で、75 μA/MHz及び170 μA/MHzを消費する。2537のFFの全体システム状態をバックアップ及び復元するエネルギー及び時間コストは、それぞれ、4.72 nJ及び320 nsと1.34 nJ及び384 nsのみを要し、これらはこのクラスのデバイスの業界ベンチマークである。SoC2000は、先により詳細に説明したように、各NVLビットに対するテスト能力、及び550 mVのインサイチュ読み出し信号マージンを提供する。
【0128】
SoC2000は、10のNVLアレイによって提供される2537のFF及びラッチを有する。中央NVLコントローラが、先により詳細に説明したように、全てのアレイ、及びそれらのFFとの通信を制御する。この分散NVLミニアレイシステムアーキテクチャにより、テスト特性コストの償却が促進され、わずか3.6%のSoC面積オーバーヘッドが実現され、システムレベルのスリープ/ウェイクアップエネルギーコストがビット当たり2.2 pJ/0.66 pJという極めて低い値となる。
【0129】
本発明は、特定の応用例として、例えばシステムオンチップ(SoC)における、マイクロコントローラ(MCU)に実装されるが、他の形態のプロセッサにも応用される。SoCは、設計ライブラリにより提供される予め設計された機能回路と組み合わされたカスタム設計された機能回路を各々が含む、1つ又は複数のモジュールを含み得る。
【0130】
本発明を例示の実施形態を参照して説明してきたが、この説明は限定的な意味で解釈されることを意図していない。本発明の様々な他の実施形態が、この説明を参照した当業者には明らかであろう。例えば、リモートコントロール、アクセスバッジ及びフォブ、スマートクレジット/デビットカード及びエミュレータ、スマートフォン、情報端末などの、他の携帯又は移動用システム、並びに任意の他の現時点で既知の又は今後開発される携帯又は埋め込みシステムが、完全にパワーダウンされた状態からフル動作状態をほぼ即座に回復し得るように本明細書で説明したようなNVLアレイを具現化し得る。
【0131】
不揮発性FeCapビットセルに結合される保持ラッチの実施形態を本明細書で説明したが、別の実施形態において、NVLアレイからの不揮発性FeCapビットセルが、低電力保持ラッチを含まないフリップフロップ又はラッチに結合され得る。この場合、システムは、例えば、フル電力状態、又は別の状況で電圧又はクロックレートの低下に基づいて電力が減少した状態と、完全にオフ電力状態との間で遷移し得る。上述したように、電力をオフにする前に、フリップフロップ及びラッチの状態は分散NVLアレイに保存され得る。電力が回復されると、フリップフロップは、関連付けられたNVLアレイビットセルによって提供される入力を介して初期化され得る。
【0132】
本開示に記載した技法は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにおいて実装され得る。ソフトウェアにおいて実装される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサにおいて実行され得る。本技法を実行するソフトウェアは、まず、コンピュータ可読媒体、例えば、コンパクトディスク(CD)、ディスケット、テープ、ファイル、メモリ、又は任意の他のコンピュータ可読媒体デバイスに記憶され得、プロセッサにおいてロード及び実行され得る。場合によっては、ソフトウェアは、コンピュータ可読媒体及びこのコンピュータ可読媒体のためのパッケージ材料を含む、コンピュータプログラム製品に含めて販売され得る。場合によっては、ソフトウェア命令は、着脱可能なコンピュータ可読媒体(例えば、フロッピーディスク、光ディスク、フラッシュメモリ、USBキー)を介して、別のデジタルシステム上のコンピュータ可読媒体から送信経路を介する等の方式で配信され得る。
【0133】
本明細書では、方法ステップが順次に提示及び説明されることがあるが、示され説明されるステップの1つ又は複数が、省略、反復、同時実行され得、及び/又は、図示され及び/又は本明細書で説明された順とは異なる順で実施され得る。従って、本発明の実施形態は、図示され及び/又は本明細書で説明されたステップの特定の順に限定されるとみなされるべきではない。
【0134】
従って、特許請求の範囲は、本発明の真の範囲内に入るものとして実施形態の任意のそのような改変を包含することが意図されている。