JP2009302254A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2009302254A
JP2009302254A JP2008154436A JP2008154436A JP2009302254A JP 2009302254 A JP2009302254 A JP 2009302254A JP 2008154436 A JP2008154436 A JP 2008154436A JP 2008154436 A JP2008154436 A JP 2008154436A JP 2009302254 A JP2009302254 A JP 2009302254A
Authority
JP
Japan
Prior art keywords
data
sram
write
magnetoresistive elements
variable magnetoresistive
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.)
Withdrawn
Application number
JP2008154436A
Other languages
English (en)
Inventor
Hirofumi Nakano
裕文 中野
Kazutami Arimoto
和民 有本
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2008154436A priority Critical patent/JP2009302254A/ja
Publication of JP2009302254A publication Critical patent/JP2009302254A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1659Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1693Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/0081Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/16Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using saturable magnetic devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Static Random-Access Memory (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Hall/Mr Elements (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】不揮発的にコンフィギュレーションデータを格納し、かつ高速でコンフィギュレーションを実行することのできるプログラマブル・ロジック装置を実現する。
【解決手段】プログラマブル・ロジック装置の内部状態を設定するプログラム素子(PE)を、可変磁気抵抗素子(TMR0,TMR1)とインバータラッチ(IV0,IV1)とで構成する。可変磁気抵抗素子にコンフィギュレーションデータを格納し、インバータラッチのストレージノード(NM0,NM1)へのデータ転送時にインバータを構成するトランジスタ(PT0,PT1,NT0,NT1)のバックゲートバイアスをフォワードバイアス状態に設定するなどのデータ転送アシストを行う。
【選択図】図20

Description

この発明は、半導体装置に関し、特に、製造後に内部回路/接続の構成を変更することのできる半導体装置に関する。より特定的には、この発明は、フィールド・プログラマブル・ゲートアレイ(FPGA)およびコンプレックス・プログラマブル・ロジック・デバイス(CPLD)などのプログラマブル装置において、内部構成を設定するプログラム情報を格納する部分の構成に関する。
電子機器などの分野においては、製品開発速度が速くなり、短期間で製品を設計および開発する要求が強くなってきている。また、製品開発後においても、機能拡張および/または性能改善を要求されることが多い。このため、各電子機器(LSI:大規模集積回路装置)の製品寿命も短くなってきている。さらに、製品の製造段階に入った後、仕様を変更する要望が発生することもある。このような環境下においては、LSIの設計後の検証に十分な時間を取ることができず、ハードウェアまたはソフトウェアに不具合が存在したまま製造段階に移行する可能性がある。このような不具合が存在した場合には、初期の段階において不具合を変更する必要がある。
このような要求から、設計段階または製造後において内部回路構成を変更することが可能なプログラマブル・ロジック・デバイス(PLD)が、一般に用いられる。
このプログラマブル・ロジック・デバイスは、大きく2つに分類することができる。1つは、AND/ORアレイベースのプロダクトターム方式であり、もう1つは、ロジックセルベースのFPGA(フィールド・プログラマブル・ゲート・アレイ)である。初期のプログラマブル・ロジック・デバイスは、プロダクトターム方式が主流であり、小規模回路の実装しか実現できなかった、近年は、大規模な回路も実装することのできるFPGAが主流となってきている。
回路情報の記憶素子(プログラム素子)としては、プロダクトターム方式では、ヒューズ、EPROM(電気的に書換可能なROM)/EEPROM(電気的に書込消去可能なROM)、フラッシュメモリがよく使用される。FPGAにおいては、プログラム素子として、アンチヒューズ、SRAM(スタティック・ランダム・アクセス・メモリ)およびフラッシュメモリがよく使用される。
プログラム素子の特徴としては、ヒューズおよびアンチヒューズは、1回しかプログラムすることができないのに対し、EPROM、EEPROM、フラッシュメモリおよびSRAMは、再プログラム可能である。また、SRAMは、電源を切るとプログラムデータが消えてしまう揮発性メモリであるの対し、その他の素子は、電源を遮断しても、プログラムデータは消滅しない不揮発性メモリであるという特徴がある。
アーキテクチャおよびプログラム素子の組合せにより種々なタイプのPLDおよびFPGAが開発されている。しかしながら、標準的なロジックプロセスでプログラム素子を構成することができ、大規模化および低コストという微細化による恩恵を受けやすいため、近年では、SRAMタイプのFPGAが広く普及して主流となってきている。
このSRAMタイプのFPGAにおいては、回路接続情報およびルックアップテーブル(LUT)内の設定情報すなわちパラメータなどを、SRAMに格納する。SRAMは、電源が遮断されると、記憶内容が消失する。したがって、このSRAMタイプのFPGAにおいては、一般に、FPGAとは別にEEPROMなどの不揮発性メモリを設け、電源が投入されて電力が供給開始されるごとに、回路接続情報およびLUTパラメータなどを不揮発性メモリからダウンロードしてSRAMに設定している。したがって、SRAMタイプのFPGAにおいては、この回路構成情報を外部の不揮発性メモリからSRAMへの転送中に読取られるおそれがあり、高いセキュリティを要求するアプリケーションにおいては、プログラム素子としてフラッシュメモリ、アンチヒューズおよび磁気半導体メモリ、および強誘電体メモリなどの不揮発性メモリを用いるFPGAが用いられる。
このような不揮発性メモリとして、強誘電体メモリを用いる構成が、非特許文献1(S. Masui, et al.,“A Ferroelectric Memory-Based Secure Dynamically Programmable Gate Array”in IEEE Journal of Solid-State Circuits, vol.38, No.5, May 2003, pp. 715-725)に示されている。この非特許文献1に示される構成においては、プログラム素子としてSRAMセルを用い、強誘電体キャパシタを、SRAMセルのストレージノードに接続する。FPGA内部において対称的な位置にミドルアレイを配置する。各ミドルアレイ内にまた、対称な位置にサブアレイを配置する。このサブアレイ内に複数のロジックブロックが配置される。各ロジックブロック内に、LUTおよび強誘電体メモリおよびコンフィギュレーションデータロード回路が配置される。強誘電体ベースSRAMセルアレイにデータを格納し、その格納データに従って対応のLUTにパラメータ情報を与える。
この非特許文献1においては、また、複数種類のコンフィギュレーションデータを格納するようにFARAMベースSRAMセルが行列状に配置されており、演算処理操作中に、1種類のコンフィギュレーションデータを書換えることにより、「ヒドンプログラム」を行なって、ダイナミックに、その演算内容を変更する構成が示される。
また、磁気半導体メモリ(MRAM:マグネティック・ランダム・アクセス・メモリ)を接続情報およびパラメータ情報記憶に用いる構成が、特許文献1(国際公開番号WO03/105156A1)に示されている。この特許文献1に示される構成においては、MRAMセルを、SRAMセルの負荷トランジスタまたはドライブトランジスタと直列に接続し、これらのMRAMセルに相補データを格納する。特許文献1は、非特許文献1において記載される強誘電体キャパシタを利用する構成に代えて、このようなMRAMセルなどの可変抵抗素子を用いることにより、スタンバイ時のリーク電流を低減することを図り、また、プログラム情報のSRAMセルへの書込および読出時の消費電力を、低減することを図る。
国際公開番号WO03/105156A1 S. Masui, et al.,"A Ferroelectric Memory-Based Secure Dynamically Programmable Gate Array"in IEEE Journal of Solid-State Circuits, vol.38, No.5, May 2003, pp. 715-725
強誘電体キャパシタを用いるFPGAでは、電源を遮断しても、その記憶情報は保存されるため、外部から、電源投入ごとにSRAMセルに情報を転送することは要求されない。しかしながら、特許文献1においては示されるように、この強誘電体キャパシタを利用する場合、スタンバイ時のリーク電流が大きく、またデータの書込および読出時の消費電力が増大するという問題が生じる。
前述の特許文献1は、このような強誘電体キャパシタを利用するプログラム素子の問題点を解消するために、相変化メモリセルおよび磁気半導体メモリセルなどの可変抵抗素子を利用する。この可変抵抗素子により、リーク電流を低減し、また書込および読出の高速化および低消費電力化を図る。
しかしながら、この特許文献1は、このMRAMセルに対しデータの書込を行なう部分を、どのように配置するかについては何ら考慮していない。また、SRAMセルは、データ記憶部が、インバータラッチ、すなわちフリップフロップで構成される。この場合、SRAMセルは、初期状態において、その記憶ノードの電位が、いずれかに変化しやすいというオフセット値を有する。電源投入時などにおいて、このSRAMセルのデータ保持のオフセット特性を保証して正確にデータを書込む必要がある。しかしながら、このようなSRAMセルのオフセット特性を考慮してSRAMセルへ、対応のMRAMセルからデータを書込む構成については特許文献1は何ら考慮していない。
また、前述の非特許文献1においては、内部のLUTを動作させた状態で、別のコンテキスト(コンフィギュレーション)データを別のSRAMセルに書込むことにより、いわゆる「ヒドンプログラム」を行なってダイナミックにコンフィギュレーションを変更する構成が示されている。この場合、1つのLUTに対して複数のコンフィギュレーションデータをそれぞれ格納する複数アドレスのSRAMバッファを配置する必要があり、プログラム素子の配置面積が増大する。1つのSRAMセルバッファの記憶するコンフィギュレーションデータに従ってLUTを動作させているとき、この1つのSRAMセルバッファに対してSRAMセルの記憶データに影響を及ぼすことなく対応の強誘電体メモリセル(キャパシタ)のデータを書換える構成については何ら考慮していない。これは、特許文献1においても同様である。
また、フラッシュメモリをプログラム素子として利用するFPGAも知られている。この場合、フラッシュメモリ専用の、フローティングゲートトランジスタが必要となり、また書込のために高電圧が必要となり、また、この書込のための回路および書込制御を行なう回路の規模が大きくなる。
また、アンチヒューズは、不揮発メモリの一種であるが、プログラムにより絶縁膜破壊が生じる。従って、プログラムは一度しか行なうことできないため、その記憶データの再構成は行なうことができず、FPGAの内部構成を再構成することはできない。
また、FPGAのようなリコンフィギュラブル(プログラマブル)デバイスでは、予め多くの素子を準備し、製造後にプログラムにより論理および/または接続を切換えて必要な素子を使用する。したがって、デバイスとしては、冗長な素子が多く設けられる。そのため、スタンバイ電流が大きくなり、近年の微細化プロセスでは、その問題が顕著となってきている。
それゆえ、この発明の目的は、高速でかつ確実にSRAMセルの記憶データに影響を及ぼすことなくプログラムデータを書込むことができかつSRAMに転送することができる半導体装置を提供することである。
この発明に係る半導体装置は、要約すれば、内部回路の接続および論理を設定する情報を記憶するプログラム素子として、インバータラッチ(フリップフロップ)と可変磁気抵抗素子との組を用いる。
一実施の形態においては、可変磁気抵抗素子は、このインバータラッチの第1の電源ノードに結合され、別の実施の形態においては、可変磁気抵抗素子は、インバータラッチのラッチノード(ストレージノード)を第1および第2の信号線に結合するトランジスタ(SRAMセルのアクセストランジスタに相当する)の制御電極に結合する。
好ましい実施の形態においては、可変磁気抵抗素子がインバータラッチの第1電源ノードに結合されるとき、このインバータラッチの電源線と可変磁気抵抗素子に磁界を印加する電流を流す書込電流線とは、別々に設けられる。
また別の実施の形態においては、可変磁気抵抗素子の記憶データに従ってインバータラッチにラッチデータを設定する場合、このインバータラッチを構成するトランジスタのバックゲートバイアスをフォワードバイアス状態に設定する。
また、別の実施の形態においては、この可変磁気抵抗素子の記憶データに従ってインバータラッチのラッチデータを設定する場合、ラッチノード(ストレージノード)に対する電流バイアス経路を形成する。
この発明に係る半導体装置においては、基本的に、インバータラッチと可変磁気抵抗素子とによりプログラム素子を構成している。したがって、高速でプログラム情報の書込を行なうことができ、また、スタンバイリーク電流も低減することができる。
また、書込電流線とインバータラッチの電源線とを別々に設けることにより、このインバータラッチの保持データに影響を及ぼすことなく、可変磁気抵抗素子の記憶データを更新することができる。
また、可変磁気抵抗素子のプログラム記憶データのインバータラッチへの転送時、そのインバータラッチのトランジスタの基板バイアスをフォワードバイアス状態に設定することにより、高速で、インバータラッチのオフセット特性の影響を受けることなく正確にプログラムデータ(コンフィギュレーションデータ)をインバータラッチに転送して記憶させることができる。
また、可変磁気抵抗素子からインバータラッチへのデータ転送時、このインバータラッチのラッチノード(ストレージノード)に電流バイアス経路を形成することにより、インバータラッチのラッチ状態の設定を加速することができ、高速でインバータラッチにラッチデータを設定することができる。
[実施の形態1]
図1は、この発明の実施の形態1に従う半導体装置の全体の構成を概略的に示す図である。図1において、半導体装置1は、メモリセル/ゲートアレイ2を含む。このメモリセル/ゲートアレイ2においては、FPGAの構成要素の各論理ブロック、接続ブロックおよびスイッチボックスが配置され、また、これらの内部構成を設定するプログラム情報を記憶するメモリセル(プログラム素子)が配置される。このプログラム素子は、可変磁気抵抗素子(VMR素子)とSRAMセル(インバータラッチ)とで構成される。この可変磁気抵抗素子を利用することにより、プログラム素子に不揮発的にコンフィギュレーションデータ(プログラムデータ)を記憶させる。
この半導体装置1は、さらに、メモリセル/ゲートアレイ2におけるプログラム素子へのプログラムデータの書込(ストア)および読出(ロード)を制御する書込/読出制御回路3と、可変磁気抵抗素子(VMR素子)へのプログラムデータの書込(ストア)時にMRAMセルを選択するとともにデータの書込を行うMRAMセル選択駆動回路4と、MRAMセル(VMR素子)のストアデータをSRAMセル(インバータラッチ)へ転送する動作を制御するSRAMセル選択駆動回路5を含む。
書込/読出制御回路3は、外部からの制御信号(コマンド)およびアドレス信号を含む外部信号CTLに従って、メモリセル/ゲートアレイ2におけるプログラムデータの書込(ストア)および読出(ロード)動作を制御する。MRAMセル選択駆動回路4の構成は、プログラム素子において用いられる可変磁気抵抗素子の構成に応じて異なる。
ここで、以下の説明において、適宜、可変磁気抵抗素子(VMR素子すなわちMRAMセル)にプログラムデータを書込む動作をストア動作と称し、可変磁気抵抗素子(MRAMセル)に記憶されたデータをSRAMセルに転送して、SRAMセル(インバータラッチ)の記憶データを、MRAMセルが記憶するデータに対応するデータに設定する動作をロード(読出)と称す。
この半導体装置1は、さらに、データロード時に、SRAMビット線(第1、第2の信号線)を駆動するロードドライブ回路6と、プログラムデータを入力するデータ入力回路7とを含む。ロードドライブ回路6は、SRAMセルへのデータロード時に、SRAMビット線を通して、SRAMセルのストレージノードを初期設定するまたはストレージノードに対して電流バイアス経路を形成するなどの動作を行って、SRAMセルをロードに適した状態に設定する。
データ入力回路7は、外部からのプログラムデータINを格納し、MRAMセル選択駆動回路4へ、この格納したデータを転送する。データ入力回路7は、プログラムデータINを並列に受けるラッチ回路であってもよく、また、特定のデータ入力端子からシリアルに転送されるプログラムデータを順次シフトしてラッチするシフトレジスタで構成されてもよい。
図2は、図1に示すメモリセル/ゲートアレイ2に含まれるプログラム素子PEの構成の一例を概略的に示す図である。図2において、プログラム素子PEは、MRAMセル10と、このMRAMセル10に結合されるSRAMセル12を有する。SRAMセル12の格納データ(ストレージノードのデータ)が対応のロジックまたはスイッチ素子へ与えられる。
MRAMセル10に、不揮発的にプログラムデータ(コンフィギュレーションデータ)が格納され、電源投入時などのロード時において、MRAMセル10の格納するデータが、SRAMセルに読出されて、SRAMセル12の記憶データが設定される。MRAMセル10を利用することにより、プログラム素子PEを、不揮発化する。
図3は、図1に示すメモリセル/ゲートアレイ2の構成の一例を概略的に示す図である。図3に示す様に、メモリセル/ゲートアレイ2において、ロジックブロックLBが行列状に配列される。ロジックブロックLBは、内部のプログラム素子のプログラム情報に従ってその演算内容が設定される。
ロジックブロックLBのX方向およびY方向の間の領域に、配線領域IRXおよびIRYが設けられる。配線領域IRXおよびIRY各々においては、スイッチブロックSBおよび接続ブロックCBが交互に配置される。接続ブロックCBは、各ロジックブロックLBに対応して配置され、ロジックブロックLBに対するデータの入出力経路を設定する。スイッチブロックSBは、接続ブロックCBに対するデータの転送経路設定する。このスイッチブロックSBおよび接続ブロックCBの接続経路も、内部に含まれるプログラム素子の記憶情報(プログラム情報)に従って設定される。
ロジックブロックLB、スイッチブロックSBおよび接続ブロックCBは、それぞれ配線領域IRYおよびIRX内に配置される配線ILに結合される。このプログラマブルロジックアレイには、信号を入出力するための入出力ポートIOも配置される。この入出力ポートIOは、入出力パッドおよび入出力ゲート回路を含み、この半導体装置外部との間でのフレキシブルなデータの転送を行なう。
スイッチブロックSBおよび接続ブロックCBの接続経路をプログラム素子のプログラム情報により設定し、また、ロジックブロックLBの内部構成を、プログラム素子のプログラム情報に従って設定することにより、所望の機能を実現する。
各接続ブロックCBに対応して入出力ポートIOが配置される。図1に示すデータ入力回路7に対して、プログラムデータが、これらの入出力ポートIOのうち適当な入出力ポートを介してデータプログラム動作時に転送される。
図4は、図3に示すロジックブロックLBの構成の一例を示す図である。図4において、ロジックブロックLBは、ルックアップテーブルLUTと、フリップフロップFFと、マルチプレクサMUXとを含む。ルックアップテーブルLUT、フリップフロップFFおよびマルチプレクサMUXそれぞれに対応して、プログラム素子PEが配置される。
ルックアップテーブルLUTは、入力データDINに従って、プログラム素子PEの記憶情報を選択して、出力する。フリップフロップFFは、対応のプログラム素子の記憶情報に従ってデータ転送態様が設定され、図示しないクロック信号に従ってルックアップテーブルLUTの出力データを転送する。フリップフロップFFは、このループアップテーブルLUTの出力タイミングを調整するために設けられる。マルチプレクサMUXは、対応のプログラム素子PEの記憶情報に従って、ルックアップテーブルLUTからの出力データおよびフリップフロップFFからの出力データの一方を選択して、出力データOUTを生成する。
図5は、図4に示すルックアップテーブルLUTの具体的構成の一例を示す図である。図5においては、入力データDINとして、4ビットデータA−Dが与えられる場合の構成を示す。
図5において、ルックアップテーブルLUTは、16:1マルチプレクサ14を含む。この16:1マルチプレクサ14に対してプログラム素子PE0−PE15が設けられる。16:1マルチプレクサ14は、4ビット入力データA−Dをデコードし、そのデコード結果に従って、プログラム素子PE0−PE15の記憶データのいずれかを選択してデータYを生成する。図5に示す構成においては、プログラム素子PE0−PE15は、4ビット入力データA−Dの“0(10進数)”から“15(10進数)”それぞれに対応して設けられる。
一例として、プログラム素子PE15がデータ“1”を記憶し、残りのプログラム素子PE0−PE14がすべてデータ“0”を記憶する場合、入力データA−Dがすべて“1”のときに、プログラム素子PE15の記憶するデータ“1”が出力データYとして生成され、それ以外の時には、データYは、“0”となる。したがって、この場合、ルックアップテーブルLUTは、AND回路として動作する。
プログラム素子PE0−PE15の記憶データを調整することにより、ルックアップテーブルLUTを、ORゲート、NANDゲートなどの論理ゲートとして機能させることができる。
マルチプレクサMUXに対して、プログラム素子PE16設けられる。プログラム素子PE16の記憶データに従って、マルチプレクサMUXは、ルックアップテーブルLUTの出力データYとフリップフロップFFの出力データYDの一方を選択して出力データOUTを生成する。フリップフロップFFは、クロック信号CLKに同期して16:1マルチプレクサ14の出力データをたとえば1クロックサイクル遅延して出力する。
したがって、この図5に示すルックアップテーブルLUTを用いることにより、通常の論理ゲートをプログラム素子PE0−PEI5の記憶データに応じて実現することができる。また、入力データA−Dを、プログラム素子PE0−PE15指定用のアドレスとして利用することにより、ルックアップテーブルLUTを、ローカルなデータ記憶ブロックとして利用することができる。
図6は、図3に示す接続ブロックCBの構成の一例を概略的に示す図である。図6において、配線ILと対応のロジックの入出力部の交差部に対応してプログラマブルスイッチPSが配置される。プログラマブルスイッチPSにより、配線ILと対応のロジックとの接続が設定される。
図6における接続ブロックCBにおいては、対応のロジックブロックに対する入力および出力配線が示される。これは、図3に示すように、接続ブロックCBは、対応のロジックブロックに対するデータの入力および出力のいずれかの経路を設定することを示すためである。
図7は、図6に示すプログラマブルスイッチPSの構成の一例を概略的に示す図である。図7において、プログラマブルスイッチPSは、配線ILaと対応のロジックの入出力部との間に設けられるパスゲートPGと、パスゲートPGの導通状態を設定するプログラム素子PEとを含む。このプログラム素子PEの記憶データに従ってパスゲートPGが選択的に導通して、配線ILaを対応のロジックブロックに選択的に結合する。
図8は、図6に示すプログラマブルスイッチPSの変更例を概略的に示す図である。図8において、プログラマブルスイッチPSは、マルチプレクサ(MUX)16と、プログラム素子PEとを含む。プログラム素子PEの記憶データに従ってマルチプレクサ(MUX)16は、入力データIN1およびIN2の一方を選択して出力信号OUTを生成する。すなわち、この図8に示すプログラマブルスイッチPSにおいては、2つの入力経路のうちの1つを選択して対応のロジックブロックに結合する。
図9は、図3に示すスイッチブロックSBの構成の一例を概略的に示す図である。図9においては、3行3列に配設される配線ILX0−ILX2およびILY0−ILY2に対応して配置されるスイッチブロックSBの構成を一例として示す。スイッチボックスSBは、それぞれ接続経路を切換えるプログラマブルスイッチゲートSW0−SW2を含む。プログラマブルスイッチゲートSW0は、配線ILX0およびILY0の交差部に対応して配置され、プログラマブルスイッチゲートSW1は、配線ILX1およびILY1の交差部に対応して配置される。プログラマブルスイッチゲートSW2は、配線ILX2およびILY2の交差部に対応して配置される。これのプログラマブルスイッチゲートSW0−SW2により、信号/データの転送経路が設定される。
図10は、図9に示すプログラマブルスイッチゲートSW0−SW2の構成の一例を概略的に示す図である。図10においては、配線ILXiおよびILYiの交差部に対応して配置されるプログラマブルスイッチゲートSWiの構成を代表的に示す。
図10において、プログラマブルスイッチゲートSWiは、6個のパスゲートPG0−PG5と、これらのパスゲートPG0−PG5それぞれに対応して設けられるプログラム素子PE10−PE15を含む。パスゲートPG0は、プログラム素子PE10の記憶データに従って選択的に導通し、導通時、配線ILXi上のノードND0および配線ILYi上のノードND1を電気的に接続する。
パスゲートPG1は、プログラム素子PE11の記憶データに従って選択的に導通し、導通時、ノードND0および配線ILYi上のノードND3を電気的に接続する。パスゲートPG2は、プログラム素子PE12の記憶データに従って選択的に導通し、導通時、ノードND1および配線ILXi上のノードND2を電気的に接続する。パスゲートPG3は、プログラム素子PE13の記憶データに従って選択的に導通し、導通時、ノードND2およびND3を電気的に接続する。パスゲートPG4は、プログラム素子PE14の記憶データに従って選択的に導通し、導通時ノードND0およびND2を電気的に接続する。パスゲートPG5は、プログラム素子PE15の記憶データに従って選択的に導通し、導通時ノードND3およびND1を電気的に接続する。
これらのパスゲートPG0−PG5の導通/非導通をプログラム素子PE10−PE15の記憶データに従って設定することにより、配線ILXiおよびILYiの間の信号伝搬経路を設定することができ、また、配線ILXiおよびILYiを分割することができる。
図1に示すメモリセル/ゲートアレイ2においては、LUT、スイッチブロックSBおよび接続ブロックCB各々においてプログラム素子が配置される。これらのプログラム素子PEは、配線領域がX方向およびY方向に延在して配置されており、同様、プログラム素子PEも、各配線領域およびロジックブロック領域において、行列状に配列される。
図11は、この発明の実施の形態1に従うプログラム素子PEの構成を概略的に示す図である。図11において、プログラム素子PEは、ストレージノードNM0およびNM1に相補データを保持するインバータラッチを構成するインバータIV0およびIV1と、インバータIV0およびIV1のハイ側電源ノード(第1の電源ノード)NMTJ0およびNMTJ1とMRAMビット線MBLの間にそれぞれ接続される可変磁気抵抗素子TMR0およびTMR1を含む。
インバータIV0は、PチャネルMOSトランジスタ(絶縁ゲート型電界効果トランジスタ)PT0およびNチャネルMOSトランジスタNT0を含み、インバータIV1は、PチャネルMOSトランジスタPT1およびNチャネルMOSトランジスタNT1を含む。ストレージノードNM0の保持データが、プログラムデータとして対応の素子へ与えられる。
プログラム素子PEは、さらに、SRAMワード線WL上の信号電位に従って選択的に導通し、導通時、ストレージノードNM0およびNM1をSRAMビット線BLおよびBLCに電気的に結合するNチャネルMOSトランジスタNT2およびNT3を含む。
インバータIV0およびIV1およびMOSトランジスタNT2およびNT3により、通常の6トランジスタ型SRAMセルと同様の構成が実現される。MOSトランジスタNT2およびNT3は、インバータラッチ(IV0、IV1)に可変磁気抵抗素子TMR0およびTMR1の保持データをロードする際に、ストレージノードNM0およびNM1の電位を制御する。
SRAMセルの負荷トランジスタPT0およびPT1のハイ側電源ノードに、可変磁気抵抗素子TMR0およびTMR1が結合される。これらの可変磁気抵抗素子TMR0およびTMR1は、記憶データに応じて高抵抗状態または低抵抗状態に設定される。可変磁気抵抗素子TMR0およびTMR1それぞれに対応してデジット線DL0およびDL1が設けられる。MRAMビット線MBLおよびデジット線DL0およびDL1を流れる電流が誘起する磁界により、可変磁気抵抗素子TMR0およびTMR1の磁化が設定され応じて、磁気抵抗効果によりその抵抗値が設定される。
図1に示す可変磁気抵抗素子VMRに対応する可変磁気抵抗素子TMR0およびTMR1は、トンネル磁気抵抗素子(magnet tunnel-resistive element)であっても良く、また、磁気トンネル接合素子(magnetic tunneling junction element)であっても良い。
可変磁気抵抗素子TMR0およびTMR1に、相補なデータを格納する。インバータIV0およびINV1により、これらの可変磁気抵抗素子TMR0およびTMR1の抵抗値を、電圧信号に変換して保持する。
MRAMビット線MBLは、また、プログラム素子PEすなわちSRAMセルの電源線としても利用される。以下の説明において、インバータIV0およびIV1とMOSトランジスタNT2およびNT3で構成される部分をSRAMセルとして参照し、また、可変磁気抵抗素子TMR0およびTMR1で構成される部分を、MRAMセルとして適宜参照する。
図12は、図11に示す可変磁気抵抗素子TMR0およびTMR1ならびに負荷トランジスタPT0およびPT1の断面構造を概略的に示す図である。図12において、負荷PチャネルMOSトランジスタPT0およびPT1は、P型半導体基板領域20に形成されるNウェル22に形成される。MOSトランジスタPT0は、Nウェル22表面に間をおいて形成されるP型不純物領域24aおよび24bと、これらの不純物領域24aおよび24bの間の図示しないゲート絶縁膜を介して形成されるゲート電極26aとを含む。
PチャネルMOSトランジスタPT1は、Nウェル22表面に間をおいて形成されるP型不純物領域24cおよび24dと、これらの不純物領域24cおよび24dの間のNウェル表面に図示しないゲート絶縁膜を介して形成されるゲート電極26bを含む。
不純物領域24bおよび24cの間には、素子分離領域25が形成される。破線で示すように、ゲート電極26aは、図示しない領域において不純物領域24cと電気的に接続され、また、ゲート電極26bは、図示しない領域におい、不純物領域24bと電気的に接続される。
不純物領域24aはプラグ(ビア)/配線28aを介して可変磁気抵抗素子TMR0を載置するローカル配線LIに電気的に接続される。不純物領域24dは、プラグ/配線28bを介して可変磁気抵抗素子TMR1を配置するローカル配線LIに電気的に接続される。これらの可変磁気抵抗素子TMR0およびTMR1のローカル配線LIが、また、この可変磁気抵抗素子TMR0およびTMR1の下部電極を形成する。
可変磁気抵抗素子TMR0およびTMR1は、同一構成を有するため、図12においては、対応する部分には同一参照番号を付す。これらの可変磁気抵抗素子TMR0およびTMR1の各々は、固定層FXL、自由層FRL、およびこれらの自由層FRLおよび固定層FXLの間のバリア層BRLと、上部電極UELとを含む。
固定層FXLは、その磁化方向が、記憶データにかかわらず固定される。自由層FRLは、その磁化方向が、記憶データに応じて設定される。自由層FRLおよび固定層FXLの磁化方向が平行な場合、その磁気抵抗効果により、抵抗値が小さくなる。また、自由層FRLおよび固定層FXLの磁化方向が反平行の場合、その抵抗値が高くなる。
上部電極UELは、MRAMビット線を構成する導電層30に電気的に接続される。このローカル配線LI下部に、デジット線DL0およびDL1をそれぞれ形成する導電配線32aおよび32bが、それぞれ配置される。
可変磁気抵抗素子TMR0およびTMR1の自由層FRLの磁化方向が、それぞれ、導電線32aおよび32bを流れる電流が誘起する磁界とMRAMビット線MBLを構成する導電線30を流れる電流が形成する磁界の合成磁界により設定される。
この図12に示すように、プログラム素子PEを、「MRAMラッチ回路」で構成する。この「MRAMラッチ回路」は、可変磁気抵抗素子TMR0およびTMR1とSRAMセルとで構成される。可変磁気抵抗素子TMR0およびTMR1とSRAMセルを形成するトランジスタとは、平面図的に見て重なるように配置することができる。これにより、面積増加のオーバーヘッドを生じさせることなく、不揮発性プログラム素子(MRAMラッチ回路)を配置することができる。
図13は、可変磁気抵抗素子TMR0およびTMR1の記憶データをSRAMセル(インバータラッチ)に転送する読出モード(ロードモード)の動作を示す信号波形図である。以下、図13を参照して、可変磁気抵抗素子TMR0およびTMR1の記憶データに従ってストレージノードNM0およびNM1のデータを設定する動作について説明する。
MRAMビット線MBLは、SRAMセル(MRAMラッチ回路)の電源線として利用される。電源遮断時においては、MRAMビット線MBLの電圧レベルはLレベルであり、したがって、ストレージノードNM0およびNM1の電圧レベルも接地電圧レベルであり、また、SRAMセルハイ側電源ノードNMTJ0およびNMTJ1の電圧レベルも、接地電圧レベルである。
電源投入が行なわれると、MRAMビット線MBLの電圧レベルが上昇する。SRAMワード線WLは、非選択状態であり、MOSトランジスタNT2およびNT3は、非導通状態にある。今、可変磁気抵抗素子TMR1が低抵抗状態であり、可変磁気抵抗素子TMR0が高抵抗状態であるとする。この場合、電源投入後、ハイ側電源ノードNMTJ0よりも、ハイ側電源ノードNMTJ1の電圧レベルが早く上昇する。負荷PチャネルMOSトランジスタPT0およびPT1のゲート電位は同時に接地電圧レベルであり、可変磁気抵抗素子TMR0およびTMR1から供給される電流を、ストレージノードNM0およびNM1へそれぞれ供給する。この場合、可変磁気抵抗素子TMR0からの供給電流は、可変磁気抵抗素子TMR1からの供給電流よりも少ないため、ストレージノードNM0の電位上昇は、ストレージノードNM1の電位上昇よりも遅くなる。
ストレージノードNM0およびNM1の電位が上昇し、その差が十分に拡大されると、ストレージノードNM1の電位上昇により負荷PチャネルMOSトランジスタPT0は、その供給電流量がさらに小さくなり、また、NチャネルMOSトランジスタNT0は電流駆動力が増大する。MOSトランジスタPT1は、ストレージノードNM0の電位上昇が小さく、電流供給量の低減は抑制され、NチャネルMOSトランジスタNT1は、弱いオン状態またはオフ状態に維持される。ストレージノードNM1に対する電流供給が増大し、インバータIV0およびIV1により形成されるインバータラッチにより、ストレージノードNM0およびNM1が、高速で、それぞれLレベルおよびHレベルに駆動されて、その電位が保持される。
この結果、ストレージノードNM1は、MRAMビット線MBL上の電源電圧レベルとなり、ストレージノードNM0は、接地電圧レベルとなる。可変磁気抵抗素子TMR0が高抵抗状態であっても、電流は流すため、ハイ側電源ノードNMTJ0は、最終的に、NRAMビット線MBL上の電圧レベルの電源電圧レベルにまで到達する。
このように、電源投入後、可変磁気抵抗素子TMR0およびTMR1の記憶データに応じてストレージノードNM0およびNM1のデータを回復することができる。これにより、SRAMセルの記憶データを、電源投入後、可変磁気抵抗素子TMR0およびTMR1の記憶データに応じて回復することができ、SRAMセルの不揮発化を実現することができる。したがって、外部から電源投入時、新たに、SRAMセルへプログラムデータをロードする必要がなく、消費電流が低減され、また、このデータ転送時にプログラムデータが読取られることがなくセキュリティが確保される。また、外部のプログラムデータ格納用のメモリは不要となり、チップ面積が低減され、また、電源投入後、高速で、内部動作状況(コンフィギュレーション)を設定することができる。
SRAMセル部分に対するワード線WLおよびビット線BL,BLCは、プログラム素子PEの記憶データを外部へ読出す場合またはSRAMセルに対して外部データを書込む時に利用され、FPGA動作時においては、SRAMワード線WLおよびSRAMビット線BL、BLCは非選択状態に維持される。
図14は、MRAMラッチ回路のMRAMセルへのデータ書込に関連する部分の構成を概略的に示す図である。図14においては、MRAMビット線MBLとデジット線DL0およびDL1に関連する部分の構成を代表的に示す。
図14において、MRAMビット線MBLに対し、デコード回路40、選択回路42、および選択ゲート44が設けられる。デコード回路40は、図1に示す書込/読出制御回路3からの書込活性化信号WENに従って活性化され、アドレス信号ADXをデコードし、行選択信号Xiを生成する。選択回路42は、書込/読出制御回路3からの書込タイミング信号WXTと行選択信号Xiとを受け、書込タイミング信号WXTが決定するタイミングで行選択信号Xiに従ってMRAMビット線選択信号を生成する。
選択ゲート44は、選択回路42からのMRAMビット線選択信号に従ってMRAMビット線MBLを接地ノードに結合する。MRAMビット線MBLの他方端は、電源ノードに結合され、電源電圧VCCを受ける。デコード回路40、選択回路42および選択ゲート44は、図1に示すMRAMセル選択駆動回路4に含まれる。
デジット線DL0に対しては、その両端に対向してドライブ回路50aおよび50bが設けられ、デジット線DL1に対しては、その両端に対向してドライブ回路50cおよび50dが設けられる。ドライブ回路50a−50dへは、デコード回路48からのデジット線選択信号Yiが与えられる。このデコード回路48は、書込活性化信号WENの活性化時、アドレス信号ADYをデコードして、デジット線選択信号Yiを生成する。
ドライブ回路50aおよび50dへは、また、入力ラッチ46からの内部書込データDが与えられ、また、ドライブ回路50bおよび50cに対しては、入力ラッチ46からの補の書込データDZが与えられる。これらのドライブ回路50a−50dは、その構成は後に説明するが、書込タイミング信号WYTの活性化に従って、デジット線DL0およびDL1に、書込データDおよびDZの論理値に応じて決定される方向に電流を流す。
入力ラッチ46は、図1に示すデータ入力回路7に含まれ、書込活性化信号WENおよびクロック信号CLKに従って入力データDINを取込みラッチして、相補内部書込データDおよびDZを生成する。
デコード回路48、およびドライブ回路50a−50dも、図1に示すMRAMセル選択駆動回路4に含まれる。
図15は、図14に示すドライブ回路50a−50dの構成の一例を概略的に示す図である。図15において、デジット線DL0に対して設けられるドライブ回路50aおよび50bの構成を代表的に示す。図15において、ドライブ回路50aは、デジット線選択信号Wiと書込データDと書込タイミング信号WYTを受ける書込タイミング回路55aと、この書込タイミング回路55aの出力信号に従って導通し、導通時電源ノードをデジット線DL0に結合するPチャネルMOSトランジスタPQ0と、書込タイミング回路55aからの出力信号に従って選択的に導通し、導通時デジット線DL0を接地ノードに結合するNチャネルMOSトランジスタNQ0を含む。
ドライブ回路50bは、デジット線選択信号Yiと補の書込データDZと書込タイミング信号WYTとを受ける書込タイミング回路55bと、書込タイミング回路55bの出力信号に従って相補的に導通するPチャネルMOSトランジスタPQ1およびNチャネルMOSトランジスタNQ1を含む。PチャネルMOSトランジスタPQ1は、導通時、電源ノードをデジット線DL0に結合し、NチャネルMOSトランジスタNQ1は、導通時、デジット線DL0を接地ノードに結合する。
図14および図15に示すように、MRAMビット線MBLは、アドレス信号ADXがこのMRAMビット線MBLを指定するとき、選択回路42および選択ゲート44により接地ノードに結合され、電源ノードから接地ノードへ一方方向に電流を流す。したがって、MRAMビット線MBLの電流が流れる方向は、書込データDおよびDZの論理値にかかわらず一定であり、このMRAMビット線駆動タイミングは、タイミング信号WENおよびWXPにより設定される。非選択時においては、選択ゲート44は非導通状態であり、MRAMセルビット線MBLは電源ノードに結合され、電源ノードの電圧VCCレベルに維持される。
一方、デジット線DL0おびDL1においては、ドライブ回路50a−50dに対し、書込データDおよびDZが与えられ、デジット線に対向して配置されるドライブ回路(50a,50b:50c,50d)に対しては、相補な書込データDおよびDZが与えられる。したがって、ドライブ回路50aおよび50bは、書込データの論理値に応じた方向に電流を流し、また、ドライブ回路50cおよび50dは、デジット線DL0と逆の方向に、書込データに応じて電流を流す。
たとえば、図15に示すように、ドライブ回路50aにおいてデジット線選択信号Yiが選択状態であり、かつ書込データDがたとえばHレベル(“1”)のとき、書込タイミング回路55aにより、MOSトランジスタPQ0が導通状態、MOSトランジスタNQ0が非導通状態に設定される。このとき、書込タイミング回路55bは、補の書込データDZが与えられており、MOSトランジスタPQ1を非導通状態、MOSトランジスタNQ1を導通状態に設定する。したがって、デジット線DL0に対しては、MOSトランジスタPQ0から電流が供給され、この電流が、MOSトランジスタNQ1を介して放電される。
一方、デジット線選択信号Yiが選択状態のとき、書込データDがLレベル(“0”のときには、逆に、書込タイミング回路55aにより、MOSトランジスタNQ0が導通状態、MOSトランジスタPQ0が非導通状態に設定される。一方、書込タイミング回路55bにおいては、MOSトランジスタPQ1が導通状態、MOSトランジスタNQ1が非導通状態に設定される。したがって、電源ノードからMOSトランジスタPQ1、デジット線DL0、MOSトランジスタNQ0を介して接地ノードへ電流が流れる。書込データDの論理値に従ってデジット線DL0を流れる電流の方向が異なり、応じて、誘起される磁界の方向が異なる。
MRAMビット線MBLおよびデジット線DL(DL0,DL1)を流れる電流が誘起する磁界の合成磁界により、プログラム素子PEの可変磁気抵抗素子の自由層の磁化方向が設定されて、抵抗値が記憶データに応じて設定される。
なお、図14および図15に示す構成においては、デジット線DL0およびDL1の電流方向を、書込データの論理値に応じて変更している。しかしながら、MRAMビット線MBLを流れる電流の方向を、書込データの論理値に応じて変更する構成が用いられてもよい。この場合、プログラム素子PEにおいては、可変磁気抵抗素子TMR0およびTMR1に対しては、順次データの書込が行なわれる。
また、この図1に示すデータ入力回路7に含まれる入力ラッチ46は、このクロック信号CLKに従って入力データDINがシフトインされるようにこのシフトレジスタを構成するように配置されてもよい。
また、アドレス信号ADXおよびADYは、逆であってもよく、MRAMビット線MBLに対しアドレス信号ADYが与えられ、デジット線DL0およびDL1の選択のためにアドレス信号ADXが与えられてもよい。このアドレスの割当ては、メモリセル/ゲートアレイ2(図1参照)におけるメモリセル(プログラム素子)およびFPGA構成要素(スイッチブロックおよびロジックブロック)の配置に応じて適宜定められればよい。
また、図15において、デジット線ドライブトランジスタの電源ノードへは、電源電圧VCCが与えられている。この電源電圧VCCは、SRAMセルの電源電圧(VDD)と異なる電圧レベルであってもよい。デジット線DL0およびDL1を流れる電流が誘起する磁界の強度を必要な大きさに設定するための電圧レベルであればよい。
以上のように、この発明の実施の形態1に従えば、SRAMハイ側電源ノードに結合される可変磁気抵抗素子に相補データを記憶し、このデータを、電源投入時にSRAMセルのストレージノードに転送している。したがって、電源投入時、外部のメモリからのデータロードが不要となり、不揮発性メモリとしてプログラム素子PEを利用することができる。また、MRAMビット線を、SRAMセルの電源線としても用いているため、電源投入時、高速で、このMRAMセル(可変磁気抵抗素子TMR0,TMR1)の記憶データに応じてストレージノードの電位を設定することができ、MRAMセルからSRAMセルへのデータ転送を高速に行なうことができる。
[実施の形態2]
図16は、この発明の実施の形態2に従うプログラム素子PEの構成を概略的に示す図である。この図16に示すプログラム素子PEは、図11に示す実施の形態1に従うプログラム素子PEと以下の点で、その構成が異なる。すなわち、可変磁気抵抗素子TMR0およびTMR1は、SRAMセル電源線VDDLに電気的に結合される。このSRAM電源線VDDLと別に、MRAMビット線MBLが設けられる。SRAMセル電源線VDDLには、電源電圧VDDが伝達される。この図16に示すプログラム素子PEの他の構成は、図11に示すプログラム素子PEの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
図17は、図16に示すプログラム素子PEの断面構造を概略的に示す図である。この図17に示すプログラム素子PEの断面構造は、図12に示す実施の形態1に従うプログラム素子PEの断面構造と以下の点で、その構成が異なる。すなわち、可変磁気抵抗素子TMR0およびTMR1の上部電極UELが、電源線VDDLを構成する導電線60aおよび60bに電気的に結合される。これらの導電線60aおよび60b上に、MRAMビット線MBLを構成する導電線30が配置される。この電源線VDDLを構成する導電線60aおよび60bは、単に、SRAMセルの記憶データを保持する電流を供給することが要求されるだけであり、その配線幅および厚さはそれほど大きくする必要はなく、また、SRAM電源線VDDLを構成する導電線60aおよび60bは、メモリセル/ゲートアレイ内において、メッシュ状に配設されてもよい。
この図17に示すプログラム素子PEの他の構成は、図12に示すプログラム素子PEの断面構造と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
図16および図17に示すプログラム素子の構成の場合、SRAM電源線VDDLとMRAMビット線MBLが別々に設けられる。したがって、SRAM電源線VDDLに電源電圧VDDが供給されている間に、MRAMビット線MBLおよびデジット線DL0,DL1を用いて、可変磁気抵抗素子TMR0およびTMR1の抵抗値を変更することができる。すなわち、メモリセル/ゲートアレイ2において演算実行時に、SRAMセルのラッチデータに影響を及ぼすことなく書換えることができ、いわゆる「ヒドンプログラム」を実行することができる。これにより、ダイナミックに、FPGA(半導体装置)の内部構成を、演算処理内容に応じて変更することができる。
この実施の形態2の構成の場合、MRAMビット線MBLと可変磁気抵抗素子TMR0およびTMR1の自由層FRLとの距離が大きくなることが考えられる。しかしながら、先の実施の形態1において示したように、MRAMビット線MBLには、書込データの論理値にかかわらず常に同じ方向に電流が流れ、いわゆる補助磁界を生成することが要求されるだけであり、書込データに応じて磁化方向を変更するための磁界は、デジット線DL0およびDL1を流れる電流により生成される。したがって、SRAM電源線VDDLがMRAMビット線MBL下部に配置されても、確実に、この可変磁気抵抗素子TMR0およびTMR1に対しデータの書込を行なうことができる。
この実施の形態2における周辺回路の構成およびデータの書込および読出(ストアおよびロード)のシーケンスは、実施の形態1と同様である。
すなわち、図18に示すように、可変磁気抵抗素子TMR0およびTMR1の格納データを、SRAMセルへの読出を行なうロード時のシーケンスにおいては、一旦、SRAM電源線VDDLへの電源電圧VDDの供給を停止して、再び電源投入を行なうことにより実行する。この図18に示すデータロード時の動作は、図13に示すデータロードシーケンスと実質的に同様である。MRAMビット線MBLに代えて、SRAM電源線VDDLへ電源電圧を投入する。従って、この実施の形態2のデータロード動作については、図13に示す波形図の動作と同じであり、その説明は繰り返さない。
図19は、この発明の実施の形態2に従う半導体装置のSRAM電源線VDDLの電圧を制御する部分の構成を概略的に示す図である。図19において示すように、SRAM電源制御回路65は、読出モード活性化信号RENに従ってSRAM電源線VDDLへの電源電圧VDDの供給を制御する。この読出モード活性化信号RENは、図1に示す制御信号(コマンド)CTLに基づいて、書込/読出制御回路3に含まれる図示しないコマンドデコーダにより生成される。SRAM電源制御回路65は、図1に示す書込/読出制御回路3に含まれ、読出モード活性化信号RENの活性化時、所定期間、電源線VDDLへの電源電圧VDDの供給を停止した後に、電源線VDDLへ電源電圧VDDを供給する。
このSRAM電源線VDDLは、メモリセル/ゲートアレイのSRAMセルに共通に設けられても良く、また、SRAMセルの各行または各列に対応して配置され、SRAM電源制御回路65が、SRAMセル(プログラム素子PE)の行または列単位で(アドレス信号に従って)、SRAM電源電圧VDLの供給を制御して、記憶データの更新を行なうように構成されてもよい。このプログラム素子の行または列単位での電源線VDDLの電源電圧の制御は、図19に示すSRAM電源制御回路65へ、読出モード活性化信号RENとアドレス信号AD(ADXまたはADY)を与えればよい。
以上のように、この発明の実施の形態2に従えば、SRAM電源線とMRAMビット線とを別々に設けており、SRAM系回路とMRAM系回路とを別々に設けることができる。これにより、SRAMセルにデータを保持した状態で、MRAMセルへのデータの書込を行なうことができ、実施の形態1の効果に加えて、高速で、ダイナミックに、FPGA(半導体装置)の内部構成を変更することができる。
[実施の形態3]
図20は、この発明の実施の形態3に従うプログラム素子PEの構成を概略的に示す図である。この図20に示すプログラム素子PEの構成は、以下の点で、図11に示す実施の形態1に従うプログラム素子PEとは異なる。すなわち、SRAMセルの負荷PチャネルMOSトランジスタPT0およびPT1のバックゲートには、バイアス電圧VBPが与えられ、またNチャネルMOSトランジスタNT0−NT3のバックゲートには、バイアス電圧VBNが与えられる。これらのバイアス電圧VBPおよびVBNは、それぞれ、読出モード時(ロードモード時)、すなわち可変磁気抵抗素子TMR0およびTMR1の格納データをストレージノードNM0およびNM1に転送するとき、フォワードバイアス状態に設定される。この図20に示すプログラム素子PEの他の構成は、図12に示す実施の形態1に従うプログラム素子PEの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
このバイアス電圧VBPおよびVBNは、読出モード時、以下の条件を満たす電圧レベルに設定される:
VSS(=0V)<VDD−VBP<Vpn、
VSS<VBN<Vpn、
ここで、Vpnは、PN接合の順方向降下電圧、すなわちPN接合のビルトイン電圧を示す。
図21は、図20に示すプログラム素子PEの読出モード時の動作を示す信号波形図である。
電源投入時点においては、MRAMビット線MBLは接地電圧レベルであり、また電源非投入時においては、バイアス電圧VBPおよびVBNは接地電圧レベルである。電源投入が行なわれると、MRAMビット線MBLの電圧レベルが、電源電圧VDDレベルにまで上昇する。また、バイアス電圧VBPおよびVBNの電圧レベルも上昇する。このとき、バイアス電圧VBPは、電源電圧VDDよりも低い電圧レベルにまで設定され、またバイアス電圧VBNは、正の電圧レベルに設定される。SRAMワード線WLは、非選択状態に維持される。
通常、MOSトランジスタに対して基板をフォワードバイアス状態に設定する場合、しきい値電圧のチャネル長依存性、すなわちロールオフ特性を低減することができ、MOSトランジスタのチャネル長が素子ごとに変動しても、その影響を低減してトランジスタ特性のバラつきを低減することができる。
また、MOSトランジスタ導通時のチャネル下部の空乏層の電荷(不純物)の分布のばらつきにより、ゲート容量が変動するため、MOSトランジスタのしきい値電圧のばらつきが生じる。しかしながら、バックゲートをフォワードバイアス状態に設定することにより、空乏層を狭くすることができ、チャネル領域の不純物濃度のばらつきのしきい値電圧に対する影響を低減することができる("Impact of Body Bias Controlling in partially Depleted SOI Devices with Hybrid Trench Isolation Technology" in Extended Abstract of the 2005 International Conference on Solid State Devices and Materials, Kobe, 2005, pp. 886-887参照)。
通常、電源投入後のインバータラッチの初期状態は、不定である。しかしながら、SRAMセルにおいては、MOSトランジスタの特性のばらつきにより、インバータIV0およびIV1により形成されるインバータラッチにオフセットが生じる可能性があり、いずれか一方の状態に初期値が設定される傾向がある。このオフセットが生じた場合、可変磁気抵抗素子TMR0およびTMR1の磁気抵抗比(MR比)が小さい場合には、その抵抗値の差が小さく、ストレージノードNM0およびNM1に誤ったデータが保持される可能性があり、すなわち、正しく、MRAMセルのデータを、SRAMセルへ読出さなくなる場合が考えられる。
このような場合、このバイアス電圧VBPおよびVBNにより、フォワードバイアスを印加することにより、このMOSトランジスタのしきい値電圧などの特性のばらつきを低減してオフセットの影響を低減することができ、正確にMRAMセルの記憶データに従ってSRAMセルに記憶データを読出す(ロードする)ことができる。
また、基板バイアスが、フォワードバイアスの時には、そのしきい値電圧の絶対値は小さくなり、トランジスタの電流駆動力を大きくして高速でSRAMセルに対する読出(ロード)を行なうことができる。
従って、電源投入後に、基板バイアスをフォワードバイアス状態に設定することにより、SRAMハイ側電源ノードNMTJ0およびNMTJ1の電圧変化に応じて、ストレージノードNM0およびNM1の電圧レベルを、SRAMセルのオフセットの影響を受けることなく正確に設定することができる。なお、図21においても、可変磁気抵抗素子TMR0が高抵抗状態、可変磁気抵抗素子TMR1が低抵抗状態に設定されている場合の動作が、一例として示される。
図22は、この発明の実施の形態3に従うプログラム素子のトランジスタの平面配置を概略的に示す図である。図22において、プログラム素子PEは、そのPチャネルMOSトランジスタPT0およびPT1がNウェル70に形成され、NチャネルMOSトランジスタNT0およびNT2が、Pウェル72aに形成される。NチャネルMOSトランジスタNT1およびNT3が、Pウェル72bに形成される。Nウェル70に対しバイアス電圧VBPが供給され、Pウェル72aおよび72bに、バイアス電圧VBNが与えられる。
MOSトランジスタNT2およびNT3に対して設けられるSRAMワード線WLおよびSRAMビット線BLおよびBLCは、これらのウェル70、72aおよび72b上層に配置される。
図23は、図22に示す平面配置における1つのPチャネルMOSトランジスタと1つのNチャネルMOSトランジスタの断面構造を概略的に示す図である。Nウェル70表面に、Pウェル72が形成される。Nウェル70は、P型半導体基板80表面に形成される。Nウェル70の表面に、間をおいてP型不純物領域81aおよび81bが形成される。これらの不純物領域81aおよび81bの間の領域上に、図示しないゲート絶縁膜を介してゲート電極82が形成される。Nウェル70へは、N型不純物領域83を介してバイアス電圧VBPが供給される。不純物領域81a、81bとゲート電極82とにより、PチャネルMOSトランジスタPT(PT0またはPT1)が形成される。
Nウェル72表面に、間をおいてN型不純物領域85aおよび85bが形成される。これらの不純物領域85aおよび85bの間の領域表面上に図示しないゲート絶縁膜を介してゲート電極86が形成される。このPウェル72に対しては、P型不純物領域87を介してバイアス電圧VBNが供給される。不純物領域85a、85bとゲート電極86とにより、NチャネルMOSトランジスタNT(NT0−NT3のいずれか)が形成される。
このNウェル70表面に、Pウェルを形成することにより、PチャネルMOSトランジスタPTおよびNチャネルMOSトランジスタNTのバックゲートバイアスを個々に調整することができる。
[平面配置の変更例]
図24は、この発明の実施の形態3に従うプログラム素子のトランジスタの平面配置の変更例を概略的に示す図である。図24においては、Nウェル87に、PチャネルMOSトランジスタPT0およびPT1が配置され、Pウェル89に、NチャネルMOSトランジスタNT0−NT3が配置される。Nウェル87にはバイアス電圧VBPが供給され、Pウェル89には、バイアス電圧VBNが供給される。
この図24に示す配置においても、PチャネルMOSトランジスタPT0およびPT1とNチャネルMOSトランジスタNT0−NT3それぞれ個々に、そのバイアス電圧を調整することができる。
図25は、この発明の実施の形態3におけるバイアス電圧VBPおよびVBNを発生する部分の構成の一例を概略的に示す図である。この図25に示す基板バイアス発生部は、図1に示す書込/読出制御回路3に含まれる。
図25において、基板バイアス発生部は、P基板電圧を発生するP基板電圧発生回路100と、N基板電圧発生回路102と、電源電圧VDDとP基板電圧発生回路100の出力電圧の一方を選択してバイアス電圧VBPを生成する切換回路106と、N基板電圧発生回路102の出力電圧と接地電圧VSSの一方を選択してバイアス電圧VBNを生成する切換回路108を含む。
P基板電圧発生回路100は、電源電圧VDDを受け、電源電圧VDDよりも所定値低い電圧を生成する。N基板電圧発生回路102は、電源電圧VDDを受け、接地電圧VSSよりも所定値高い電圧を生成する。
切換回路106および108は、バイアス制御回路104の出力信号BSWに従って、それぞれの選択する電圧が設定される。バイアス制御回路104は、電源投入検出回路110からの電源投入検出信号PORと読出モード活性化信号RENのいずれか一方の活性化に従って、切換回路106および108の選択電圧を設定するようにその出力信号BSWの論理値を設定する。すなわち、バイアス制御回路104は、電源投入時、電源投入検出信号PORに従って切換回路106および108を、それぞれP基板電圧発生回路100およびN基板電圧発生回路102の生成する電圧を選択する状態に設定する。電源投入検出回路110からの電源投入検出信号PORが、電源電圧VDDが安定化したことを示すと、所定のタイミングで、バイアス制御回路104は、その出力信号BSWに従って切換回路106および108に、それぞれ電源電圧VDDおよび接地電圧VSSを選択させる。
図26は、図25に示すバイアス電圧発生部の動作を示す信号波形図である。以下、図26を参照して、図25に示すバイアス電圧発生部の動作について簡単に説明する。なお、図26においても、可変磁気抵抗素子TMR0およびTMR1が、それぞれ、高抵抗状態および低抵抗状態に設定された場合の読出動作が一例として示される。
電源電圧VDDが供給されると、MRAMビット線MBL上の電圧が上昇する。この電源電圧VDDの投入に従って、P基板電圧発生回路100およびN基板電圧発生回路102の生成する電圧レベルが、また上昇する。このとき、バイアス制御回路104は、電源投入検出信号PORがLレベルであるため、その出力信号のバイアス切換信号BSWをLレベルに維持する。応じて、切換回路106および108は、それぞれ、P基板電圧発生回路100およびN基板電圧発生回路102の出力電圧を、それぞれバイアス電圧VBPおよびVBNとして選択して出力する。
電源電圧VDDが安定化し、所定時間が経過すると、電源投入検出回路110は、電源投入検出信号PORを活性状態(Hレベル)へ駆動する。この電源投入検出信号PORの活性化に従って、バイアス制御回路104は、所定時間経過後、バイアス切換信号BSWを、Hレベルに駆動する。応じて、切換回路106および108は、それぞれ電源電圧(ハイ側電源電圧)VDDおよび接地電圧(ロー側電源電圧)VSSを選択して、バイアス電圧VBPおよびVBNとして出力する。
電源投入後の、可変磁気抵抗素子の記憶データに従ってSRAMセルのストレージノードの電圧レベル設定時、すなわち読出モード時、SRAMセルのトランジスタの基板バイアスを浅くして(フォワードバイアスに設定する)、高速かつ正確に、MRAMセルの記憶データを、SRAMセルへ転送することができる。
[変更例]
図27は、この発明の実施の形態3に従うプログラム素子の読出モード時の動作の変更例を示す信号波形図である。この図27に示す信号波形図においては、プログラム素子PEとして、実施の形態2に示すプログラム素子(図16参照)が用いられ、電源線VDDLとMRAMビット線MBLとは別々に設けられる。
この図27に示す動作の場合、電源電圧の供給中に読出指示が与えられると、読出モード活性化信号RENが活性化される。この読出モード活性化信号RENの活性化に従って、電源線VDDL上の電源電圧VDDが、一旦、接地電圧レベルに駆動される。応じて、SRAMセルハイ側電源ノードNMTJ0およびNMTJ1の電圧レベルも、接地電圧レベルに低下し、また、応じてSRAMセルのストレージノードNM0およびNM1の電圧レベルも接地電圧レベルに低下する。
読出モード活性化信号RENの活性化から所定期間経過すると、電源電圧が投入されて、SRAM電源線VDDL上の電圧レベルが、電源電圧VDDレベルに上昇する。応じて、先の実施の形態2と同様に、ハイ側電源ノードNMTJ0およびNMTJ1上の電圧レベルが上昇し、応じてストレージノードNM0およびNM1の電圧レベルも、可変磁気抵抗素子(MRAMセル)の記憶データに応じて変化する。これにより、SRAMセルへのMRAMセルの記憶データの転送(読出)が行なわれる。
この読出時においては、電源投入検出信号PORは、Lレベルであり、切換回路106および108は、バイアス電圧として基板電圧発生回路100および102が生成する電圧を選択する。
所定時間が経過すると、電源投入検出信号PORが活性化され、応じて、切換信号BSWの論理レベルが切換えられ、切換回路106および108は、電源電圧VDDおよび接地電圧VSSを選択して基板バイアスVBPおよびVBNを生成する。
この図27に示すように、読出モード活性化信号RENを用いる場合においても、電源投入検出信号PORに従って、切換回路106および108における選択電圧を設定することにより、基板バイアスVBPおよびVBNの電圧レベルを調整して、読出モード時のSRAMセルのトランジスタのバックゲートバイアスを浅くして、データの読出(転送:ロード)を実行することができる。
なお、この図27に示す信号波形図においても、図25に示す基板バイアス発生部の構成を利用することができる。
以上のように、この発明の実施の形態3に従えば、MRAMセルの記憶データのSRAMへの読出時、SRAMセルの構成要素のトランジスタのバックゲートバイアスを浅くしてフォワードバイアス状態に設定している。したがって、このSRAMセルのトランジスタの特性のばらつきの影響を受けることなく正確に、MRAMセルの記憶データをSRAMセルへ転送してロードすることができる。
[実施の形態4]
図28は、この発明の実施の形態4に従う半導体装置の要部の構成を概略的に示す図である。この図28に示すプログラム素子PEの構成は、先の実施の形態1(図1参照)の構成と同じである。この図28に示す構成においては、SRAMビット線BLおよびBLCに対し、SRAMビット線ライトドライバSWRaおよびSWRbがそれぞれ設けられる。このSRAMビット線ライトドライバSWRaおよびSWRbは、MRAMセルからSRAMセルへのデータ転送を行なう読出モード時、ライトドライバイネーブル信号/SWRENの活性化に従って活性化され、それぞれ内部書込データWDおよびWDCに従ってSRAMビット線BLおよびBLCを駆動する。
図28に示すプログラム素子PEの構成は図11に示す構成と同じであり、図11に示す構成と対応する部分には同一参照番号を付し、このプログラム素子の詳細説明は省略する。
図29は、図28に示すプログラム素子PEの読出モード時の動作を示す信号波形図である。以下、図29を参照して、図28に示すプログラム素子PEのデータ読出モードの動作について説明する。
可変磁気抵抗素子TMR0およびTMR1は、それぞれ、高抵抗状態および低抵抗状態に設定されている。ストレージノードNM0およびNM1は、それぞれ、HレベルおよびLレベルである。読出モード(ロードモード)において、可変磁気抵抗素子TMR0およびTMR1の記憶データをSRAMセルへ読出して、ストレージノードNM0およびNM1の状態を反転させる。
読出モード時、MRAMビット線MBLは、電源電圧VDDレベルに維持される。したがって、この状態においては、プログラム素子PEの記憶データに従って、対応のスイッチ素子またはルックアップテーブルの状態が設定される。
また、読出モード前においては、内部書込データWDおよびWDCおよびSRAMビット線BLおよびBLCの状態は、任意であるが、読出モード時にはHレベルに設定される。SRAMライトドライバSWRaおよびSWRbは、それぞれ非活性状態であり、たとえば出力ハイインピーダンス状態に設定される。この場合、SRAMビット線BLおよびBLCは、図示しないプリチャージ回路より、例えば電源電圧レベルの所定電圧レベルにプリチャージされていてもよい。
読出モードが指定されると、時刻taにおいて、SRAMライトドライバイネーブル信号/SWRENが活性化される。続いて、また、内部書込データWDおよびWDCも、それぞれHレベルの状態に設定される(常時、内部書込データはHレベルに維持されていてもよい)。このSRAMライトドライバイネーブル信号/SWRENの活性化に従って、SRAMライトドライバSWRaおよびSWRbが活性化され、内部書込データWDおよびWDCに従って、SRAMビット線BLおよびBLCが、それぞれHレベルに駆動される。
時刻tbにおいて、SRAMワード線WLがHレベルに駆動され、図28に示すMOSトランジスタNT2およびNT3が導通し、ストレージノードNM0およびNM1が、それぞれSRAMビット線BLおよびBLCに電気的に結合される。SRAMセルのハイ側電源ノードNMTJ0およびNMTJ1は、それぞれ電源電圧VDDレベルである。この状態において、MOSトランジスタNT2およびNT3のオン抵抗は、MOSトランジスタNT0およびNT1のオン抵抗に比べて大きく、ストレージノードNM0およびNM1の電圧レベルは、ほとんど変化しない。すなわち、通常のSRAMセルの記憶データを外部へ読出す通常読出モード時、ビット線がビット線プリチャージ素子によりプリチャージされた状態でデータ読出が行なわれても、SRAMセルのストレージノードの電位はほとんど変化しないのと同じである(Lレベルのストレージノード電位は少し上昇する)。
時刻tcにおいて、SRAMワード線WLを選択状態に維持した状態で、内部書込データWDおよびWDCを、HレベルからLレベルに立下げる。応じて、SRAMビット線BLおよびBLCが、LレベルにSRAMライトドライバSWRaおよびSWRbにより駆動され、HレベルのストレージノードNM0が、Lレベル方向へ駆動される。ストレージノードNM0およびNM1の電位に従って、MOSトランジスタPT0およびPT1がともに導通し、ハイ側電源ノードNMTJ0およびNMTJ1からSRAMビット線BLおよびBLCへ電流が流れ、これらのハイ側電源ノードNMTJ0およびNMTJ1の電位レベルが、可変磁気抵抗素子TMR0およびTMR1の抵抗値に応じて低下する。
このハイ側電源ノードNMTJ0およびNMTJ1の電位低下量は、可変磁気抵抗素子TMR0およびTMR1の抵抗値、MOSトランジスタPT0およびPT1のオン抵抗およびMOSトランジスタNT2およびNT3のオン抵抗によりほぼ決定される(ドライブ用のMOSトランジスタNT0およびNT1は、ほぼ非導通状態である)。
いま、可変磁気抵抗素子TMR1は低抵抗状態であり、ハイ側電源ノードNMTJ1の電位低下量は、ハイ側電源ノードNMTJ0の電位低下量よりも小さい。ハイ側電源ノードNMTJ0およびNMTJ1の電位レベルに応じてストレージノードNM0およびNM1の電位レベルが設定される。この場合、ストレージノードNM0の電位よりもストレージノードNM1の電位が高くなる。
ストレージノードNM0およびNM1の電位差がほぼ確定すると、時刻tdにおいてSRAMワード線WLを非選択状態へ駆動する(Lレベルへ駆動する)。応じて、MOSトランジスタNT2およびNT3が非導通状態となり、SRAMビット線BLおよびBLCがストレージノードNT2およびNT3と分離される。これにより、ハイ側電源ノードNTJ0およびNTJ1から接地ノードへの放電経路がほぼ遮断され、ハイ側電源ノードNTJ0およびNTJ1の電位レベルが、電源電圧VDDレベルに復帰する。
ストレージノードNM0の電位がストレージノードNM1の電位よりも低いため、PMOSトランジスタPT1の電流駆動力が、PMOSトランジスタPT0の電流駆動力よりも大きく、ストレージノードNM1の電位がストレージノードNM0よりも高速で充電され、応じて、インバータIV0およびIV1のラッチ動作により、ストレージノードNM0およびNM1が、それぞれ接地電圧レベルおよび電源電圧VDDレベルに駆動されて保持される。
時刻teにおいて、プログラム素子PEのストレージノードNM0およびNM1の電圧レベルが、それぞれ、LレベルおよびHレベルに確定すると、時刻tfにおいて、SRAMライトドライバイネーブル信号/SWRENが非活性化され、応じて、SRAMライトドライバSWRaおよびSWRbが非活性化される。
この時刻tf以降においては、内部書込データWDおよびWDCの状態は任意であり、また、SRAMビット線BLおよびBLCの電位レベルも任意である(SRAMビット線が図示しないプリチャージ回路によりHレベルまたはLレベルにプリチャージされていてもよい)。
上述のように、SRAMライトドライバSWRaおよびSWRbを用いてSRAMビット線BLおよびBLCを介してストレージノードNM0およびNM1をプルダウンすることにより、電源を投入した状態で、MRAMセル(可変磁気抵抗素子TMR0,TMR1)の記憶データを、SRAMセル(インバータIV0およびIV1によりラッチ回路)に転送することができる。
[読出モードの変更例]
図30は、この発明の実施の形態4に従うプログラム素子の読出モードの変更例の動作を示す信号波形図である。プログラム素子PEの構成は、図28に示すプログラム素子PEの構成と同じである。また、MRAMセルの記憶データは、図29において示す記憶データと同じである。以下、図30を参照して、図28に示すプログラム素子の読出モード時の動作の変更例について説明する。
まず、電源が投入されると、SRAMの周辺回路に対する電源電圧SVDDの電圧レベルが立上がる。この場合、MRAMビット線MBLの電圧レベルは、まだ電源電圧VDDが投入されていないため、Lレベルである。
時刻t0において、SRAM電源電圧SVDDが安定化すると、内部書込データWDおよびWDCが、ともにHレベルに駆動される。このとき、SRAMライトドライバイネーブル信号/SWENはLレベルであり、SRAMライトドライバSWRaおよびSWRbがともに活性化され、内部書込データWDおよびWDCに従ってSRAMビット線BLおよびBLCがHレベルに駆動される。
まだ、MRAMビット線MBL上には電源電圧VDDは供給されていないため、SRAMセルのハイ側電源ノードNMPJ0およびNMPJ1ならびにストレージノードNM0およびNM1の電圧レベルは、Lレベルである。
時刻t1において、SRAMワード線WLが、Hレベルの選択状態へ駆動される。応じて、MOSトランジスタNT2およびNT3が導通し、ストレージノードNM0およびNM1が、それぞれSRAMビット線BLおよびBLCに結合される。
時刻t2において、SRAMワード線WLを選択状態に維持した状態で、内部書込データWDおよびWDCをLレベルに駆動して、SRAMビット線BLおよびBLCを、接地電圧レベルに駆動する。これにより、ストレージノードNM0およびNM1が、Lレベルに駆動される。
時刻t3において、MRAMビット線MBLへ電源電圧VDDが供給され、SRAMセルのハイ側電源ノードNMTJ0およびNMTJ1の電圧レベルが上昇する。可変磁気抵抗素子TMR1の抵抗値は、可変磁気抵抗素子TMR0の抵抗値よりも小さい状態であり、ハイ側電源ノードNMTJ1の電圧上昇は、ハイ側電源ノードNMTJ0の電圧上昇よりも速くなる。ストレージノードNM0およびNM1は、接地電圧レベルのSRAMビット線BLおよびBLCに結合されており、ハイ側電源ノードNMTJ0およびNMTJ1からSRAMビット線BLおよびBLCへ電流が流れる。可変磁気抵抗素子TMR0およびTMR1の抵抗値が異なり、MOSトランジスタPT0およびPT1からMOSトランジスタNT2およびNT3へ流れる電流量が異なり、これらのストレージノードNM0およびNM1に電位差が生じる。
時刻t4において、SRAMワード線WLを非選択状態のLレベルに駆動し、MOSトランジスタNT2およびNT3を非導通状態に設定し、SRAMビット線BLおよびBLCとストレージノードNM0およびNM1とを分離する。このとき、MRAMビット線NBL上の電圧は、電源電圧VDDレベルで安定化しており、ハイ側電源ノードNMTJ0およびNMTJ1の放電経路を遮断することにより、これらのハイ側電源ノードNMTJ0およびNMTJ1の電圧レベルが、電源電圧VDDレベルに上昇する。この電圧上昇に従って、インバータIV0およびIV1のラッチ回路によるラッチ動作により、ストレージノードNM0およびNM1の電位差が拡大され、ストレージノードNM0およびNM1が、それぞれLレベルおよびHレベルに駆動される。
ストレージノードNM0およびNM1の電圧レベルが安定化すると、時刻t5において、SRAMライトドライバイネーブル信号/SWRENが非活性化される。応じて、SRAMライトドライバSWRaおよびSWRbが非活性状態となる。時刻t5以降において、SRAMビット線BLおよびBLCの状態は任意であるが、図30においては、それぞれLレベルにプリチャージされる状態を一例として示すが、Hレベルにプリチャージされてもよい。また、内部書込データWDおよびWDCも同様、Lレベルに維持される状態を一例として示すが、これらの内部書込データWDおよびWDCの状態は、時刻t5以後は、任意である。
この図30に示す信号波形図においても、データ読出時、SRAMライトドライバSWRaおよびSWRbを用いて、SRAMセルのストレージノードNM0およびNM1に放電経路を形成して、読出動作をアシストしている。したがって、製造プロセスのバラツキにより、MOSトランジスタPT0およびPT1のしきい値電圧のバラツキが生じ、ストレージノードNM0およびNM1にオフセット電圧が発生して、それによって小さな磁気抵抗比を読み出しにくい場合においても、可変磁気抵抗素子TMRに定常電流を流して確実にストレージノードNM0およびNM1に電位差を発生させることにより、MRAMからSRAMのデータ転送を安定に実行することができる。
図31は、この発明の実施の形態4に従う半導体装置の制御部の読出モードに関連する部分の構成を概略的に示す図である。この図31に示す読出モード制御部は、図1に示す読出/書込制御回路3に含まれる。
図31において、読出モード制御部は、外部からの電源電圧VDDを受け、SRAM電源電圧SVDDを生成するSRAM電源回路120と、SRAM電源電圧SVDDの投入に従ってワンショットパルスの形態で、電源投入検出信号ZPORを生成するSRAM電源投入検出回路121と、電源投入検出信号ZPORと外部からのコマンドCMDとに従って読出モード活性化信号RENを生成する読出活性制御回路122を含む。
SRAM電源回路120は、外部からの電源電圧VDDEの電圧レベルの調整またはノイズ低減などの処理を行なってSRAM電源電圧SVDDを生成する。SRAM電源投入検出回路121は、SRAM電源電圧SVDDが投入されてからSRAM電源電圧SVDDが安定化するまで、電源投入検出信号ZPORをLレベルに維持する。
読出活性制御回路122は、SRAM電源電圧SVDDを動作電源電圧として受け、電源投入検出信号ZPORがLレベルのときまたは外部からのコマンドCMDが読出モードを指定するときに、読出モード活性化信号RENを活性化する。
読出モード制御部は、さらに、SRAMワード線活性化信号WLENを生成するSRAMワード線活性制御回路123と、SRAMライトドライバイネーブル信号/SWRENを生成するSRAMライトドライバ活性制御回路124と、MRAMビット線に伝達される電源電圧VDDを生成するMRAM電源制御回路125を含む。
SRAMワード線活性制御回路123は、SRAM電源電圧SVDDを動作電源電圧として受け、読出モード活性化信号RENが活性化されると、所定期間ワード線活性化信号WLENを活性状態に駆動する。SRAMライトドライバ活性制御回路124は、SRAM電源電圧SVDDを動作電源電圧として受け、読出モード活性化信号RENの活性化に従って、SRAMライトドライバイネーブル信号/SWRENをLレベルの活性状態に維持し、ワード線活性化信号WLENが非活性化されると、所定のタイミングで、このSRAMライトドライバイネーブル信号/SWRENを非活性状態のHレベルに駆動する。
MRAM電源制御回路125は、電源投入検出信号ZPORの活性化時(Lレベル)とされると、ワード線活性化信号WLENの活性化(立上がり)に応答して、このSRAM電源電圧SVDDから電源電圧VDDを生成し、MRAMビット線(MBL)に伝達する。
データ入力回路7においては、また入力データラッチ130が設けられる。この入力データラッチ130も、SRAM電源電圧SVDDを動作電源電圧として受け、読出モード活性化信号RENの活性化に従って、内部書込データWDおよびWDCをともにHレベルに駆動し、ワード線活性化信号WLENの非活性化に応答してこれらの内部書込データWDおよびWDCをLレベルに駆動する。
図32は、図31に示す読出モード制御部の電源投入時の動作を示す信号波形図である。以下、図32を参照して、この図31に示す読出モード制御部の電源投入時の動作について説明する。
外部からの電源電圧VDDEが投入されると、その電圧レベルが上昇する。この外部電源電圧VDDEの投入に従って、SRAM電源回路120からのSRAM電源電圧SVDDの電圧レベルが上昇する。このSRAM電源電圧SVDDの電圧上昇に従って、SRAM電源投入検出回路121は、電源投入検出信号ZPORを所定期間Lレベルに維持する。SRAM電源電圧SVDDの電圧上昇と電源投入検出信号ZPORのLレベルとに従って、読出活性制御回路122は、読出モード活性化信号RENを所定期間Hレベルに駆動する。この読出モード活性化信号RENの活性化に従って、SRAMライトドライバ活性制御回路124は、SRAMライトドライバイネーブル信号/SWRENをLレベルに維持する。
一方、この読出モード活性化信号RENの活性化に従って、入力データラッチ130は、内部書込データWDおよびWDCをHレベルへ駆動する。
この内部書込データWDおよびWDCがともにHレベルに駆動された後のタイミングで、読出モード活性化信号RENの活性化に従って、SRAMワード線活性制御回路123が、SRAMワード線活性化信号WLENを所定期間Hレベルの活性状態に維持する。
次いで、このSRAMワード線活性化信号WLENの活性化に従って、入力データラッチ130は、内部書込データWDおよびWDCをLレベルに駆動する。MRAM電源制御回路125は、電源投入検出信号ZPORが所定期間Lレベルに維持されると、ワード線活性化信号WLEが活性化された後、内部書込データWDおよびWDCがともにLレベルに駆動された後のタイミングで、SRAM電源電圧SVDDから電源電圧VDDを生成して、MRAMビット線(MBL)上に伝達する。
SRAMワード線活性化信号WLENがSRAMワード線活性制御回路123によりLレベルの非活性状態に駆動されると、SRAMライトドライバ活性制御回路124は、SRAMライトドライバイネーブル信号/SWRENを非活性化する(Hレベルへ駆動する)。
これにより、電源投入時、所定のシーケンスで各制御信号および内部信号を生成して、MRAMセルの記憶データのSRAMセルへの転送(読出)を行なうことができる。
なお、電源電圧VDDが投入された状態で、MRAMセルからSRAMセルへのデータ転送を行なう場合には、図33に示すように、外部からのコマンドCMDに従って読出モード活性化信号RENが活性化される。この場合には、電源投入検出信号ZPORはHレベルに固定されているため、MRAM電源制御回路125は、常時、対応のMRAMビット線(MBL)へ電源電圧VDDを伝達した状態であり、したがって、MRAMビット線上の電源電圧VDDは一定電圧レベルに維持される。
この図33に示す電源電圧VDDが投入された状態での読出モードにおいては、単に読出モード活性化信号RENが、電源投入検出信号ZPORのLレベルに代えて、コマンドCMDに従って生成されることを除いて、図32に示す信号波形図での動作と同様の動作が行なわれる。
図34は、この発明の実施の形態4に従う半導体装置のSRAMセルに関連する部分の構成を概略的に示す図である。メモリセル/ゲートアレイ2においては、一例として、SRAMビット線BL0,BLC0−BL5,BLC5とSRAMワード線WL0−WL7が配置される。このSRAM線WLとSRAMビット線対BL,BLCの交差部に対応してプログラム素子PEが配置される。図34においては、このプログラム素子PEとして、SRAMワード線WL6とSRAMビット線BL1,BLC1の交差部に対応して配置されるプログラム素子を代表的に示す。このプログラム素子PEの列(SRAMビット線延在方向)に対応してデジット線DLが配置され、また、プログラム素子PEの行(SRAMワード線延在方向)に対応してMRAMビット線MBLが配置される。
SRAMビット線BL0,BLC0−BL5,BLC5各々に対応してSRAMライトドライバSWRが配置され、また、SRAMワード線WL0−WL7それぞれに対応してSRAMワード線ドライバXDRが設けられる。SRAMライトドライバSWRは、読出制御部142からのSRAMライトドライバイネーブル信号SWRENの活性化に従ってデータ入力回路7に格納される対応のデータに従って対応のSRAMビット線を駆動する。このデータ入力回路7に対しては、読出制御部142から読出モード活性化信号RENおよびワード線活性化信号WLENが与えられ、それぞれ内部に含まれるデータ入力ラッチ(図31参照)が、それぞれ内部書込データを生成する。
SRAMワード線ドライバXDRは、読出制御部142からのワード線活性化信号WLENの活性化に従って、デコード回路140からのワード線選択信号に従って対応のSRAMワード線を選択状態へ駆動する。このデコード回路140は、読出制御部142からのデコードイネーブル信号XDENおよびアドレス信号AXを受け、デコードイネーブル信号XDENの活性化時、アドレス信号AXをデコードして、1つのSRAMワード線を選択する。
読出制御部142は、図31に示す制御部の構成を含み、コマンドCMDとして、チップセレクト信号CSおよび書込指示信号WRTをクロック信号CLKに同期して受け、またアドレス信号A< >を受け内部アドレス信号AX、デコードイネーブル信号XDEN、読出モード活性化信号RENおよびワード線イネーブル信号WLENを生成する。
なお、この図34に示す構成において、以下のように、SRAMセルへの読出が実行される。すなわち、プログラム素子PEにおいてMRAMセルの格納するデータを対応のSRAMセルに転送する読出モード時、1つのSRAMワード線が選択状態へ駆動され(アドレス信号AXに従って)、SRAMライトドライバSWRにより、各ビット線BL0,BLC0−BL5,BLC5の電圧レベルを調整して、読出アシストを行なってデータの書込読出(SRAMのロード)を実行する。この読出モード時、読出制御部142においては、外部からのアドレスA< >に代えて、内部に含まれるカウンタを用いて、アドレス信号AXを順じSRAMワード線WL0−WL7を選択するように生成されればよい。
なお、これに代えて、MRAMセルからSRAMセルへのデータの転送を行う読出モード時には、読出制御部142は、アドレス信号AXを全ワード線指定状態に設定し、各プログラム素子PEにおいて、並行してSRAMセルに対して対応のMRAMセルの記憶データの転送が実行されてもよい。
また、SRAMライトドライバSWRへは、SRAMライトドライバイネーブル信号SWRENが与えられているが、これは、補のSRAMライトドライバイネーブル信号/SWRENが与えられてもよい。
[SRAM周辺回路の変更例]
図35は、この発明の実施の形態4に従う半導体装置のSRAM周辺回路の変更例を概略的に示す図である。メモリセル/ゲートアレイ2の構成は、図34に示す構成と同様であり、対応する部分には同一番号を付し、その詳細説明は省略する。
この図35に示す構成においては、SRAMライトドライバSWRそれぞれに対応して、2入力ANDゲートAGが設けられる。ANDゲートAGは、第1の入力に、読出制御部142Aからのビット線電位制御信号MRYを受け、第2の入力にデータ入力回路7Aからの対応の内部データを受ける。このビット線電位制御信号MRYは、読出モード活性化信号RENとワード線活性化信号WLENに基づいて生成され、図32および図33に示すように、内部書込データWDおよびWDCを形成するようなタイミングで生成される。
データ入力回路7Aは、読出制御部142Aから読出モード活性化信号RENの活性化に従って、その内部データをすべてHレベルに設定する。SRAMライトドライバSWRは、読出制御部142AからのSRAMライトドライバイネーブル信号SWRENに従って活性化される。
SRAMワード線WL0−WL7それぞれに対応して、SRAMワード線ドライバXDRAが設けられる。このSRAMワード線ドライバXDRAは、与えられた信号に従って対応のSRAMワード線を選択/非選択状態に駆動する。このSRAMワード線ドライバXDRAそれぞれに対応して、2入力ORゲートOGが設けられる。このORゲートOGは、第1の入力にデコード回路140からのワード線選択信号を受け、第2の入力に読出制御部142AからのSRAMワード線選択タイミング信号MRXを受ける。このSRAMワード線選択タイミング信号MRXは、ワード線活性化信号WLENと等価な信号である。
読出制御部142Aは、図34に示す構成と同様、クロック信号CLKに同期してコマンドとしてチップ選択信号CSおよび書込指示信号WRTとアドレス信号A< >を受け、かつ読出モード指示信号MRMODを受ける。この読出モード指示信号MRMODの活性化時、読出制御部142Aは、ワード線選択タイミング信号MRXを選択状態へ駆動し、また、ビット線電位制御信号MRYを所定のタイミングで選択状態へ駆動する。
この図35に示す構成の場合、プログラム素子PEにおいてMRAMセルからSRAMセルへのデータ転送を行なう読出モード時、読出モード指示信号MRMODが活性化され、読出制御部142Aは、ワード線選択タイミング信号MRXおよびビット線電位制御信号MRYをそれぞれ所定のタイミングで選択状態へ駆動する。この後、ビット線電位制御信号MRYは、SRAMワード線が選択状態に維持された状態で、Lレベルに駆動される。
したがって、ビット線BL0,BLC0−BL5,BLC5が並行して駆動され、また、SRAMワード線WL0−WL7が、並行して選択状態へ駆動される。したがって、メモリセル/ゲートアレイ2において、プログラム素子PEのMRAMセルの記憶データのSRAMセルへの転送が、各プログラム素子PEにおいて並行して実行される。
なお、図35に示す構成において、所定数のワード線たとえばワード線WL0−WL3の組のプログラム素子においてデータ転送が行なわれ、また、続いてワード線WL4−WL7の組のプログラム素子のデータ転送が行なわれてもよい。
また、通常のテストモード時等においてSRAMセルへのデータの書込を行なうモード時においては、ビット線電位制御信号MRYはHレベルに維持され、また、ワード線選択タイミング信号MRXはLレベルに維持される。これにより、アドレス信号A< >で指定するプログラム素子PEに対し所望の論理値のデータの書込を行なって、SRAMセルの良/不良のテストなどを行なうことができる。
また、上述の構成においては、MRAMビット線MBLが、SRAM電源線としても利用されている。しかしながら、実施の形態2と同様、MRAMビット線とSRAM電源線とが別々に設けられる構成であってもよく、また実施の形態3と同様、SRAMセルのトランジスタのバックゲートバイアスをフォワードバイアス状態に設定する構成が組合せて用いられてもよい。
以上のように、この発明の実施の形態4に従えば、データ読出アシスト回路を設けており、SRAMセルへの電源供給中においても、MRAMセルからSRAMセルに対してデータの読出を行なってその記憶データを更新することができる。また、この読出アシストとしてビット線電位を利用しており、MRAMセルからSRAMセルへの複数ビットについて並列にデータ転送を行なうことができる。また、SRAMセルのワード線単位でデータ転送を行なうことにより、データのMRAMからSRAMセルへの転送時の消費電流を低減することが可能となる。
また、読出アシスト回路を設けており、SRAMセル電源電圧を遮断状態から立上げてMRAMセルからSRAMセルへのデータ転送を行なう構成に比べて、より大きな動作マージンでデータ転送を行なうことができる。
[実施の形態5]
図36は、この発明の実施の形態5に従う半導体装置の要部の構成を概略的に示す図である。この図36に示す構成は、以下の点で、図28に示す構成と異なる。すなわち、SRAMビット線BLおよびBLCに対し、SRAMライトドライバSWRcおよびSWRdがそれぞれ設けられ、また、これらのSRAMライトドライバSWRcおよびSWRdと並列に、負荷トランジスタLD0およびLD1がそれぞれ設けられる。
SRAMライトドライバSWRcおよびSWRdは、ライトドライバ活性化信号ENSRの活性化に従って、SRAMビット線BLおよびBLcを、それぞれ接地電圧(Lレベル)に駆動する。負荷トランジスタLD0およびLD1は、それぞれ読出モード時、バイアス電圧Vbiasを受け、SRAMビット線BLおよびBLCから電流I(BL)およびI(BLC)をそれぞれ放電する。
図36に示すプログラム素子PEの構成は、図28に示すプログラム素子PEの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
図37は、図36に示す配置のデータ読出モード時の動作を示す信号波形図である。以下、図37を参照して、図36に示すプログラム素子PEの読出モード時の動作について説明する。
時刻t10において、読出モードが指定され、読出モード活性化信号RENが活性化される。読出モード活性化信号RENの活性化に従って、時刻t11において、ライトドライバ活性化信号ENSRが活性化され、SRAMライトドライバSWRcおよびSWRdが、それぞれ内部書込データWDおよびWDCに従って、SRAMビット線BLおよびBLCを接地電圧レベルに駆動する。この状態においては、SRAMワード線WLは、非選択状態にあるため、プログラム素子PEのストレージノードNM0およびNM1の電圧レベルおよびハイ側電源ノードNMTJ0およびNMTJ1の電圧レベルは変化しない。
時刻t12において、SRAMワード線WLを選択状態(Hレベル)へ駆動する。応じて、ストレージノードNM0およびNM1が、SRAMビット線BLおよびBLCに結合され、可変磁気抵抗素子TMR0およびTMR1からそれぞれ電流I(BL)およびI(BLC)が、流れる。今、ストレージノードNM1がLレベル、ストレージノードNM0がHレベルであるとする。この場合、ハイ側電源ノードNMTJ0およびNMTJ1、ならびにストレージノードNM0およびNM1の電圧レベルは、可変磁気抵抗素子TMR0、TMR1の抵抗値、MOSトランジスタPT0、PT1およびNT2、NT3とSRAMライトドライバSWRc、SWRdに含まれる放電用のMOSトランジスタのオン抵抗の比により決定される電圧レベルまで遷移する。
時刻t13において、負荷トランジスタLD0およびLD1のゲートに与えられるバイアス電圧Vbias所定の電圧V0の電圧レベルに設定した状態で、レベルのライトドライバ活性化信号ENSRを非活性化し、SRAMライトドライバSWRcおよびSWRdを出力ハイインピーダンス状態に設定する。
このとき、バイアス電圧Vbiasの電圧レベルV0は、負荷トランジスタLD0およびLD1が、電流I(BL)および電流I(BLC)に対して十分ゲインが大きくなる電圧レベル、すなわちこれらの負荷トランジスタLD0およびLD1を飽和領域で動作させ、負荷トランジスタLD0およびLD1を増幅装置として動作させる電圧レベルに設定される。
可変磁気抵抗素子TMR0およびTMR1の抵抗値の差により、ビット線BLを流れる電流量I(BL)とビット線BLCを流れる電流I(BLC)に差が生じる。そして、このビット線電流I(BL)およびI(BLC)の差が、負荷トランジスタLD0およびLD1で増幅されて、ビット線電圧V(BL)およびV(BLC)の差として出力される。例えば、可変磁気抵抗素子TMR0が、可変磁気抵抗素子TMR1よりも高抵抗の場合には、ビット線BLを流れる電流I(BL)が、ビット線BLCを流れる電流I(BLC)よりも小さくなる。この状態においては、SRAMビット線BLの電圧V(BL)は、SRAMビット線BLCの電圧V(BLC)よりも低い電圧レベルとなる。
SRAMビット線BLおよびBLCに十分な電圧差が拡大され、応じて、ストレージノードNM0およびNM1の電位差が十分に拡大すると、時刻t14において、SRAMワード線WLを非選択状態に駆動する。応じて、ストレージノードNM0およびNM1の電位が、インバータIV0およびIV1のラッチ力で拡大され、ストレージノードNM0およびNM1が、それぞれLレベルおよびHレベルに駆動されてラッチされる。
このデータの読出が完了した後、時刻t15においてバイアス電圧Vbiasを、接地電圧レベルに駆動し、負荷トランジスタLD0およびLD1を非導通状態に設定する。
負荷トランジスタLD0およびLD1により、SRAMセルへのMRMセルからのデータの読出時にストレージノードNM0およびNM1の電位変化のアシストをする(電流駆動量の差をさらに大きくする)ことにより、SRAMセルのトランジスタ特性がばらつき、オフセット電圧が存在する場合においても、正確にデータの読出を行なって、ストレージノードNM0およびNM1を、可変磁気抵抗素子TMR0およびTMR1の抵抗状態に応じた電圧レベルに設定することができる。
また、負荷トランジスタLD0およびLD1は、それぞれ、SRAMビット線BLおよびBLCの端部に設けられかまたは中央部に設けられる。
図38は、この発明の実施の形態5に従う半導体装置の読出/制御回路(3)に含まれる読出モードに関連する部分の構成を概略的に示す図である。図38において、読出モード制御部は、読出モード活性化信号RENを生成する読出活性制御回路143と、SRAMライトドライバ活性化信号ENSRを生成するSRAMライトドライバ活性制御回路144と、SRAMワード線活性化信号WLENを生成するSRAMワード線活性制御回路145と、バイアス電圧Vbiasを生成するバイアス生成回路146を含む。
読出活性制御回路143は、与えられたコマンドCMDが読出モードを指定するときに、ワンショットパルスの形態で、読出モード活性化信号RENを活性化する。SRAMライトドライバ活性制御回路144は、この読出モード活性化信号RENの活性化に従ってSRAMライトドライバ活性化信号ENSRを活性化し、SRAMワード線活性化信号WLENの活性化に従って、所定期間経過後に、このSRAMライトドライバ活性化信号ENSRを非活性化する。
SRAMワード線活性制御回路145は、SRAMライトドライバ活性化信号ENSRの活性化に従って所定期間経過後、SRAMワード線活性化信号WLENを活性化し、SRAMライトドライバ活性化信号ENSRの非活性化に従って、所定期間経過後に、SRAMワード線活性化信号WLENを非活性化する。
バイアス電圧生成回路146は、所定のレベルの電圧V0を生成するバイアス電圧発生回路147と、所定電圧V0と接地電圧の一方を選択してバイアス電圧Vbiasを生成する選択回路149を含む。バイアス電圧発生回路147は、常時、所定レベルの電圧V0を生成する。このバイアス電圧発生回路147は、たとえば、通常の定電圧発生回路を用いて構成される。選択回路149は、SRAMライトドライバ活性化信号ENSRの非活性化に従って所定電圧V0を選択し、ワード線活性化信号WLENの非活性化に応答して接地電圧を選択する。
入力データラッチ130は、図1に示すデータ入力回路に含まれ、実施の形態4と同様、読出モード活性化信号RENの活性化に従って、内部書込データWDおよびWDCを接地電圧レベルに駆動し、SRAMワード線活性化信号WLENの非活性化に従って、内部書込データWDおよびWDCを、所定レベルの初期電圧レベルに設定する。
この図38に示す読出制御部の動作は、図37に示す対応の信号波形により示すことができる。
なお、この発明の実施の形態5においても、MRAMビット線とSRAM電源線と別々に設ける実施の形態2の構成、およびSRAMセルのトランジスタのバックゲートバイアスをフォワードバイアスに設定する実施の形態3の構成と組合せて用いられてもよい。
以上のように、この発明の実施の形態5に従えば、SRAMセルのストレージノードを接地ノードに結合して、可変磁気抵抗素子を介して電流を流した状態で、ライトドライバを出力ハイインピーダンス状態に設定して、負荷トランジスタを介してストレージノードからビット線電流を放電している。したがって、SRAMセルへ電源電圧を供給した状態で、MRAMセルからSRAMセルへのデータの読出を行なうことができる。
また、負荷トランジスタのビット線を介してストレージノードから電流を放電することにより、SRAMセルのトランジスタの特性のばらつきが存在する場合においても、正確にMRAMセルからSRAMセルにデータを読出すことができる。
また、負荷トランジスタにより、ビット線に電圧振幅を生じさせており、より大きな読出マージンを得ることができ、確実に、SRAMセルへMRAMセルの記憶データを読出して格納することができる。
[実施の形態6]
図39は、この発明の実施の形態6に従うプログラム素子PEの構成を概略的に示す図である。この図39に示すプログラム素子PEにおいては、可変磁気抵抗素子TMR10およびTMR11が、それぞれ、MOSトランジスタNT2およびNT3のゲートとSRAMワード線(MRAMビット線)MBLの間に結合される。
可変磁気抵抗素子TMR10およびTMR11は、スピン注入型素子である。したがって、可変磁気抵抗素子TMR10およびTMR11に対しては、データ書込時、書込データの論理値に応じた方向に電流を流す必要がある。このため、プログラム素子PEにおいてさらに、MOSトランジスタNT2およびNT3のゲートと補のMRAMビット線MBLCとの間に、NチャネルMOSトランジスタNT10およびNT11がそれぞれ接続される。これらのMOSトランジスタNT10およびNT11のゲートは、それぞれ、MRAMワード線MWL0およびMWL1に結合される。
SRAMビット線BLおよびBLCに対しては、SRAMライトドライバSWReおよびSWRfが設けられる。これらのSRAMビット線ドライバSWReおよびSWRfは、SRAMライトドライバ活性化信号/SWRACTに従って活性化され、MRAMセルデータのSRAMセルへの読出時のデータ転送をアシストする。
なお、これらのSRAMライトドライバSWReおよびSWRfは、スタティックに動作するように構成され、データ読出モード時、内部書込データWDおよびWDCが、接地電圧レベルのLレベルに設定されてもよい。
図40は、図39に示すプログラム素子PEの可変磁気抵抗素子TMR10およびTMR11の書込に関連する部分の構成を概略的に示す図である。図40において、MRAMビット線MBLおよびMBLCそれぞれに対応して、ドライブ回路152aおよび152bが設けられる。ドライブ回路152aおよび152bに共通にデコード回路150が設けられる。デコード回路150は、書込モード活性化信号WENの活性化時アドレス信号ADXをデコードし、そのデコード結果に応じた信号を生成する。
ドライブ回路152aは、内部書込データDとデコード回路150の出力信号Xiとを受け、書込タイミング信号WXTに従って、MRAMビット線MBLを駆動する。ドライブ回路152bは、補の書込データDZとデコード回路150の出力信号Xiとを受け、書込タイミング信号WXTに従ってMRAMビット線MBLCを駆動する。ドライブ回路152aおよび152bは、デコード回路150の出力信号Xiが対応のMRAMビット線MBLおよびMBLCを指定しているとき活性化され、書込タイミング信号WXTのタイミングで、内部書込データDおよびDZに従って相補的にこれらのMRAMビット線MBLおよびMBLCを駆動する。
ドライブ回路152aおよび152bは、各々、その出力段に充電用トランジスタおよび放電用トランジスタを有しており、与えられたデータDおよびDZに応じた電圧レベルに、対応のMRAMビット線MBLおよびMBLCを駆動する。内部書込データDおよびDZは、データ書込毎に、互いに相補な論理値に設定され得る。したがって、ドライブ回路152aおよび152bの一方が、電流を供給し、他方が、電流を放電する。これにより、可変磁気抵抗素子TMR10およびTMR11に対して、双方向に電流を供給することができる。
MRAMワード線MWL0に対応して、デコード回路155aおよびドライブ回路157aが設けられ、MRAMワード線MWL1に対して、デコード回路155bおよびドライブ回路157bが設けられる。デコード回路155aおよび155bは、書込モード活性化信号WENの活性化時、与えられたアドレス信号ADYをデコードし、それぞれ、そのデコード結果を示す信号YiおよびYjを生成する。
ドライブ回路157aおよび157bは、それぞれデコード回路155aおよび155bの出力信号YiおよびYjに従って、書込タイミング信号WYTが規定するタイミングで、MRAMワード線MWL0およびMWL1を選択状態へ駆動する。アドレス信号ADYが、MRAMワード線MWL0を指定している場合には、デコード回路155aの出力する信号Yiが選択状態に駆動され、デコード回路155bからの信号Yjは、非選択状態に維持される。この場合、書込タイミング信号WYTが活性化されると、ドライブ回路157aが、MRAMワード線MWL0を選択状態(Hレベル)へ駆動し、ドライブ回路157bは、MRAMワード線MWL1を非選択状態に維持する。この状態において、MOSトランジスタNT10がオン状態となり、MRAMビット線MBLおよびMBLCが可変磁気抵抗素子TMR10を介して電気的に結合される。
データ書込時において、ドライブ回路152aおよび152bにより、電流の充電および放電が行なわれる。したがって、可変磁気抵抗素子TMR10を介して、書込データDの論理値に従って、MRAMビット線MBLおよびMBLCに対して双方向に電流を駆動することができ、可変磁気抵抗素子TMR10の抵抗値を書込データDの論理値に応じた状態に設定することができる。
この図40に示す構成の場合、MRAMビット線MBLおよびMBLCに対し書込データに応じて双方向に電流を駆動する必要があり、可変磁気抵抗素子TMR10およびTMR11に対しシーケンシャルにデータの書込が実行される。
図41は、図40に示すMRAMセルへのデータ書込に関連する制御信号を発生する部分の構成の一例を概略的に示す図である。このMRAMセルに対する制御信号を発生する部分は、図1に示す書込/読出制御回路3に含まれる。
図41において、MRAM書込制御部は、書込モード活性化信号WENを生成する書込活性制御回路160と、書込タイミング信号WXTおよびWYTを生成する書込/読出タイミング制御回路162と、内部アドレス信号ADXおよびADYを生成するアドレス入力回路164を含む。
書込活性制御回路160は、コマンドCMDが、MRAMセルへのデータ書込を示すプログラムモードを指示するときには、書込モード活性化信号WENを所定のタイミングで活性状態へ駆動する。書込/読出タイミング制御回路162は、書込モード活性化信号WENの活性化に従って、所定のタイミング関係で、書込タイミング信号WXTおよびWYTを生成する。アドレス入力回路164は、書込モード活性化信号WENの活性化に従って、外部からのアドレス信号ADを取込み、内部アドレス信号ADXおよびADYを生成する。
内部書込データDおよびDZは、書込データラッチ166により生成される。この書込データラッチ166は、入力データDinを受け、書込モード活性化信号WENの活性化に従って、入力データDinから、相補書込データDおよびDZを生成する。
なお、MRAMセルへのデータ書込時、図40に示すデコード回路150へ与えられるアドレス信号ADXは、すべて選択状態に設定されてもよい。この場合、書込データラッチ166においては、MRAMビット線MBLおよびMBLCの各対それぞれに対応してラッチ回路が設けられ、たとえばシフトイン動作により、各MRAMビット線対毎にデータのラッチが行なわれる。この後、書込データに従って、書込タイミング制御回路162からの書込タイミング信号WXTおよびWYTに従ってMRAMセルへのデータの書込が行なわれる。この場合、1つのMRAMワード線MWLに接続されるプログラム素子に対し並列にデータの書込が実行される。したがって、MRAMワード線MWLを選択するアドレスADYは、たとえばカウンタにより生成され、各書込サイクル毎に更新され、各書込サイクルにおいて、1つのMRAMワード線に接続されるプログラム素子PEに対する並列データ書込が実行されてもよい。
なお、可変磁気抵抗素子TMR10およびTMR11へは、これまでの実施の形態1から4と同様、互いに相補なデータが書込まれる。
図42は、図39に示すプログラム素子PEのMRAMセルの記憶データをSRAMセルへのデータ転送を行う読出モード時の動作を示す信号波形図である。以下、図42を参照して、この図39に示すプログラム素子の読出モード時の動作について説明する。なお、この読出モード時においては、SRAM電源電圧VDDSは、常時SRAMセルに供給される。
時刻t20において、データの読出モードが指定される。応じて、読出モード活性化信号RENが活性化される。この読出モード活性化信号RENの活性化に従って、図41に示す書込データラッチ166が、すべて、MRAMビット線MBLをHレベル、補のMRAMビット線MBLCを接地電圧レベルに駆動する状態に設定される。この読出モード活性化信号RENの活性化に従って、SRAMライトドライバSWReおよびSWRfは、Lレベルの信号を出力し、SRAMビット線BLおよびBLCを、接地電圧レベルに維持する。
時刻t21において、書込タイミング信号WXTに従って、SRAMワード線(MRAMビット線)MBLがHレベルに駆動される。可変磁気抵抗素子TMR10およびTMR11は、一方が高抵抗状態、他方が低抵抗状態である。今、可変磁気抵抗素子TMR11が低抵抗状態であるとする。MRAMビット線MBLの電圧レベルが上昇すると、内部のMOSトランジスタNT2およびNT3のゲートIWL0およびIWL1の電圧レベルが、SRAM電源電圧VDDSレベルに駆動される。
内部ノードIWL0およびIWL1の電圧レベルがHレベルに駆動されると、MOSトランジスタNT2およびNT3が導通し、ストレージノードNM0およびNM1がそれぞれLレベルのSRAMビット線BLおよびBLCに電気的に結合される。応じて、ストレージノードNM0およびNM1の電圧レベルが低下する。最終的に、MOSトランジスタPT0およびPT1のオン抵抗と、MOSトランジスタNT2およびNT3のオン抵抗およびSRAMライトドライバSWReおよびSWRfの放電用のトランジスタのオン抵抗に従って決定される電圧レベルにまで、これらのストレージノードNM0およびNM1の電圧レベルが低下する。
時刻t22において、MRAMワード線MWL0およびMWL1を選択状態へ駆動し、MOSトランジスタNT10およびNT11をオン状態に駆動する。MRAMビット線MBLCは、Lレベル(接地電圧レベル)に維持される。したがって、内部ノードIWL0およびIWL1それぞれから、MOSトランジスタNT10およびNT11を介してMRAMビット線MBLCへ電流が流れる。この流れる電流量は、可変磁気抵抗素子TMR10およびTMR11の抵抗値に応じて異なる。今、可変磁気抵抗素子TMR11の抵抗値が低いため、内部ノードIWL1の電位降下量は小さく、内部ノードIWL0の電位降下量は大きくなる。
応じて、MOSトランジスタNT2のコンダクタンスは、MOSトランジスタNT3のコンタクタンスよりも小さくなる。MOSトランジスタNT2およびNT3のコンダクタンスに従って、ストレージノードNM0およびNM1の電位レベルに差が生じる。
時刻t23において、MRAMワード線MWL0およびMWL1を非選択状態へ駆動し、また、SRAMワード線(MRAMビット線)MBLを、接地電圧レベルに駆動する。これにより、MOSトランジスタNT2およびNT3が非導通状態となり、ストレージノードNM0およびNM1の電圧レベルが確定し、インバータIV0およびIV1により、可変磁気抵抗素子TMR10およびTMR11の抵抗値に応じた状態に設定されて維持される。
なお、内部ノードIWL0およびIWL1の電圧レベルは、MRAMビット線MBLCおよびMBLの電圧レベルの調整に応じて変更することができる(図42において、それぞれ接地電圧レベルおよび電源電圧VDDSレベル)。従って、この読出モード時において、MRAMビット線MBLの電圧レベルは、電源電圧レベルであることは、特に要求されない。
以上のようにして、SRAMセルに対する電源電圧VDDSを供給した状態で、可変磁気抵抗素子TMR10およびTMR11の格納データ(MRAMセルの記憶データ)を、SRAMセルのストレージノードNM0およびNM1へ転送することができる。
なお、図42に示すタイミング制御は、図41に示す制御部を利用して実行される。
[読出モードの変更例]
図43は、この発明の実施の形態6の読出モードの変更例の動作を示す信号波形図である。以下、図43を参照して、この発明の実施の形態6に従う半導体装置の読出モードの変更例の動作について説明する。
時刻t30において、読出モードが指定され読出モード活性化信号RENが活性化される。このとき、SRAM電源電圧VDDSは、非投入状態であり、接地電圧レベルである。応じて、ストレージノードNM0およびNM1も、接地電圧レベルである。
読出モード活性化信号RENの活性化に従って、SRAMライトドライバSWReおよびSWRfにより、ビット線BLおよびBLCが接地電圧レベルに駆動される。
時刻t31において、読出モード活性化信号RENの活性化に従って、MRAMビット線MBLが選択状態へ駆動される。応じて、内部ノードIWL0およびIWL1の電圧レベルが、たとえば電源電圧レベルの所定の電圧レベルに上昇する。MRAMビット線MBLCは、接地電圧レベルに維持される。
時刻t32において、MRAMワード線MWL0およびMWL1が選択状態へ駆動される。応じて、内部ノードIWL0およびIWL1が補のMRAMビット線MBLCに結合され、可変磁気抵抗素子TMR10およびTMR11の抵抗値に応じた電流が、内部ノードIWL0およびIWL1から補のMRAMビット線MBLCへ流れ、その電圧レベルが低下する。今、可変磁気抵抗素子TMR11が低抵抗状態であるとする。この場合、内部ノードIWL1の電位降下量は、内部ノードIWL0の電位降下量よりも小さい。
これらの抵抗値に応じて、内部ノードIWL1およびIWL0の電位差が拡大されて、その差が確定状態となる。この内部ノードIWL0およびIWL1の電位は、可変磁気抵抗素子TMR0およびTMR1の抵抗値とMOSトランジスタNT10およびNT11のオン抵抗の比に応じて決定される。
内部ノードIWL0およびIWL1の電位が確定すると、時刻t33において、SRAM電源電圧VDDSが供給される。内部ノードIWL0およびIWL1の電圧レベルに応じてMOSトランジスタNT2およびNT3のコンダクタンスが異なり、ストレージノードNM0およびNM1の電圧レベルの上昇が、これらのMOSトランジスタNT2およびNT3のコンダクタンスに応じて異なる。今、可変磁気抵抗素子TMR11の抵抗値が小さく、内部ノードIWL1の電位が高いため、MOSトランジスタNT3のコンダクタンスが大きく、ストレージノードNM1の電位上昇よりも、ストレージノードNM0の電位上昇が速くなる。
時刻t34において、MRAMビット線MBLを非選択状態へ駆動する。応じて、MOSトランジスタNT2およびNT3が非導通状態となり、ストレージノードNM0およびNM1の電圧レベルが確定する。これにより、ストレージノードNM0およびNM1の電圧レベルが、それぞれ可変磁気抵抗素子TMR10およびTMR11の抵抗値に応じた状態に設定されて保持される。
したがって、電源投入時においても、このMRAMワード線MWL0およびMWL1およびSRAMビット線BLおよびBLCの電位を調整することにより、MRAMセル(可変磁気抵抗素子TMR10およびTMR11)の記憶データに応じて、SRAMセルのストレージノードNM0およびNM1の電圧レベルを設定することができる。
なお、電源投入時においては、SRAM周辺回路を動作可能状態とした後に、SRAM電源電圧VDDSを供給する。この場合、通常の演算動作時に、SRAMセルへの読出を行うために、SRAM電源電圧の遮断および投入のシーケンスでSRAM電源電圧が調整されても良い。
図44は、この発明の実施の形態6に従う半導体装置のデータ読出モードを制御する部分の構成を概略的に示す図である。この図44に示す読出制御部の構成は、以下の点で、図41に示す読出制御部の構成と異なる。すなわち、書込/読出活性制御回路170に対し、コマンドCMDに加えて、電源投入検出信号ZPORが与えられる。書込/読出活性制御回路170は、コマンドCMDに従って書込モード活性化信号WENまたは読出モード活性化信号RENを活性化し、また、電源投入検出信号ZPORの活性化に従って、読出モード活性化信号RENを活性化する。この電源投入検出信号ZPORは、外部からの電源電圧VDDが安定化すると、Hレベルの非活性状態に設定される(図32参照)。
また、SRAM電源回路172は、書込タイミング制御回路162からの書込タイミング信号WYTが活性化され、MRAMワード線MWL0およびMWL1が活性化された後、外部からの電源電圧VDDに従ってSRAM電源VDDSを生成する。
なお、電源投入検出信号ZPORは、先の図32に示す態様で生成されるのではなく、電源投入時、ワンショットパルスの形態で生成されてもよい。電源投入を示す状態に設定されればよい。
図44に示す書込/読出制御部の他の構成および動作は、図41に示す書込/読出制御部の構成および動作と同じであり、その詳細説明は省略する。
図45は、MRAM動作をする部分の構成を概略的に示す図である。図45において、MRAMビット線MBLに対しデコード/ドライブ回路170が設けられ、また、MRAMビット線MBLCに対し、プリチャージトランジスタ172が設けられる。MRAMビット線MBLおよびMBLCに対しては、さらに、データの書込および読出を制御するためのドライブ回路152aおよび152bが設けられる。
ドライブ回路152aは、SRAMモードSMODEの活性化時出力ハイインピーダンス状態に設定され、ドライブ回路152bは、このSRAMモード指示信号SMODEの活性化時その出力信号が接地電圧レベルに設定される。デコード/ドライブ回路170は、SRAMモード指示信号SMODEが活性状態のとき、アドレス信号ADXをデコード、MRAMビット線MBLを選択状態へ駆動する。プリチャージトランジスタ172は、SRAMモード指示信号SMODの活性化時MRAMビット線MBLCを接地電圧レベルに維持する。
SRAMモード指示信号SMODEは、この半導体装置のプログラム素子が、SRAMとして動作するとき、すなわち、SRAMセルの記憶データに従って内部状態を設定するときに活性化される。MRAMセルに対するデータ書込時においては、このSRAMモード指示信号SMODEは、非活性状態に維持される。
この図45に示す周辺回路の他の構成は、図40に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
図45に示す構成の場合、SRAMモードの場合、MRAMビット線MBLが、SRAMワード線WLとして利用される。SRAMモード指示信号SMODEは、SRAMセルに対するデータの書込/読出を行なうときに活性化される。したがって、このMRAMビット線MBLを、SRAMワード線WLとしても利用することができ、プログラム素子のレイアウト面積を低減することができ、応じて、メモリセル/ゲートアレイのレイアウト面積を低減することができる。
[プログラム素子の変更例]
図46は、この発明の実施の形態6に従うプログラム素子の変更例の構成を概略的に示す図である。この図46に示すプログラム素子PEは、以下の点で、図39に示すプログラム素子とその構成が異なる。すなわち、MRAMビット線MBLとMOSトランジスタNT2およびNT3の間に設けられる可変磁気抵抗素子TMR30およびTMR31は、スピン注入型素子ではなく、電流誘起磁界書込型素子である。したがって、これらの可変磁気抵抗素子TMR30およびTMR31それぞれに対応してデジット線DL0およびDL1が設けられる。この図46に示すプログラム素子PEの他の構成は、図39に示すプログラム素子PEの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
可変磁気抵抗素子TMR30およびTMR31に対するデータの書込は、通常の電流誘起磁界書込型セルと同様、MRAMビット線MBLおよびデジット線DL0およびDL1に電流を流して、磁界を誘起しデータの書込を行なう(実施の形態1参照)。MRAMビット線MBLおよびデジット線DL0およびDL1の周辺回路としては、実施の形態1において用いたものと同様の構成が設けられる。デジット線DL0およびDL1に対し書込データに応じた方向に電流を流す。
この図46に示すプログラム素子PEのデータ読出モード時の動作は、図39に示すプログラム素子PEのデータ読出と同様にして行なわれ、したがって、図42および図43に示す信号波形図に示す動作に従ってデータの読出が実行される。この図46に示すプログラム素子PEの動作制御は、図44に示す書込/読出制御部の構成を利用して実行される。
[プログラム素子の変更例2]
図47は、この発明の実施の形態6のプログラム素子PEのさらに他の変更例の構成を示す図である。この図47に示すSRAMセルの構成は、以下の点で、図46に示すプログラム素子の構成と異なる。すなわち、可変磁気抵抗素子TMR0およびTMR1に対して、SRAMワード線WLおよびMRAMビット線MBLが別々に設けられる。SRAMワード線WLは、可変磁気抵抗素子TMR0およびTMR1に電気的に結合され、MRAMビット線MBLが、可変磁気抵抗素子TMR0およびTMR1に磁気的に結合される。従って、可変磁気抵抗素子TMR0およびTMR1に対するデータの書込は、MRAMビット線MBLおよびデジット線DL0およびDL1を流れる電流が誘起する磁界の合成磁界により行われる。MRAMビット線MBLCは、基準電位(接地線圧レベル)に固定される。
この図47に示すプログラム素子PEの他の構成は、図46に示すプログラム素子の構成と同じであり、対応する部分には同一参照符号を付して、その詳細説明は省略する。
図47に示すプログラム素子PEの可変磁気抵抗素子TMR0およびTMR1の記憶データのSRAMセルに対する転送は、図42および図43に示すタイミングに従って行われる。すなわち、図42および図43に示すタイミング図において、MRAMビット線MBLをSRAMワード線WLで置き換えることにより、この図47に示すプログラム素子PEのMRAMセルからSRAMセルへのデータ転送動作波形は、得ることができる。
この図47に示すプログラム素子PEの構成においては、MRAMビット線MBLとSRAMワード線WLとが別々に設けられており、SRAMセルの記憶データに悪影響を及ぼすことなく対応のMRAMセルの記憶データの書換えを行うことができる。従って、SRAMの記憶データに従って内部構成を設定して処理を実行している状態で、MRAMの記憶データを書き換えることができ、ダイナミックリコンフィギュレーションを実現することができる。
以上のように、この発明の実施の形態6に従えば、SRAMセルのアクセストランジスタ(トランジスタNT2およびNT3)のゲートに、可変磁気抵抗素子を結合している。したがって、可変磁気抵抗素子として、スピン注入型素子および電流誘起磁界書込型素子のいずれも用いることができる。また、MRAMビット線をSRAMワード線としても利用することができ、この構成の場合、デコード回路などの一部の回路をMRAMセルおよびSRAMセルで共有することが可能となり、メモリセル/ゲートアレイのレイアウト面積のみならず周辺回路のレイアウト面積をも低減することができる。
また、実施の形態3の構成をこの実施の形態6の構成と組合わせることにより、MRAMからSRAMへのデータ転送を安定化させることができる。
[実施の形態7]
図48(A)および(B)は、この発明の実施の形態7に従う半導体装置のコンフィギュレーションデータのロードシーケンスを概略的に示す図である。この半導体装置1においては、MRAM200およびSRAM202がプログラム回路として設けられる。MRAM200は、プログラム素子のMRAMセル(可変磁気抵抗素子)のアレイを含み、SRAM202は、このプログラム素子のSRAMセルのアレイを含む。ロジック/スイッチ204においては、LUTおよび接続スイッチが設けられ、SRAM202の記憶データ(コンフィギュレーションデータ)に従って、その状態が設定される。
図48(A)および(B)においては、MRAM200およびSRAM202が、それぞれ別々に配置されるように示すが、これまでの実施の形態1から6において説明したように、プログラム素子においてMRAMセルおよびSRAMセルが対応して一体的に配置される。ここでは、説明を簡単にするために、MRAMセルのアレイおよびSRAMセルのアレイが別々に設けられるように示す。
SRAM202の記憶データに従って、ロジック/スイッチ204の状態が設定される。このロジック/スイッチ204においては、先に説明したように、ルックアップテーブルLUT、接続ブロックCB、およびスイッチブロックのプログラム素子以外の構成要素が配置される(図6から図10参照)。
まず、図48(A)に示すように、コンフィギュレーションデータCFGが、MRAM200にロードされる。この場合、SRAM202のプログラムデータは、そのプログラム素子の構成に応じて、破壊される場合とその影響を受けず保持される場合とがある。MRAM200へのコンフィギュレーションデータCFGのロード時、SRAM202のデータが破壊されるのは、実施の形態1(図11)および実施の形態6のスピン注入型MRAMセルおよび電流誘起磁界書込型素子を利用する構成(図39、図46)の場合である。
MRAM200へのデータロード時SRAM202のデータが保持されるのは、SRAM電源線およびMRAMビット線が別々に設けられる実施の形態2(図16)とSRAMワード線とMRAMビット線が別々に設けられている実施の形態6(図47)の構成の場合である。
図48(A)に示すように、MRAM200へコンフィギュレーションデータCFGをロードする。次いで、図48(B)に示すように、外部からコンフィギュレーションデータCFGを、SRAM202へロードする。このSRAM202へのコンフィギュレーションデータCFGのロードにより、ロジック/スイッチ204の状態が設定される。
この図48(A)および(B)に示すデータ転送シーケンスの場合、SRAM200へのコンフィギュレーションデータCFGのロード時には、SRAMビット線およびSRAMワード線WL(またはMRAMビット線)が用いられて、データの書込が行われる。また、これに代えて、従来から用いられているSRAMFPGAでのデータロードと同様、コンフィギュレーションデータがシリアルにSRAMセルを介して転送されてロードされてもよい。
[データロードシーケンス2]
図49は、この発明の実施の形態7におけるSRAMへのデータロードの別のシーケンスを概略的に示す図である。この図49においては、MRAMは使用しないでSRAMとしてプログラム部を使用する場合を示し、SRAM202へ、外部からのコンフィギュレーションデータCFGが直接ロードされてストアされる。SRAM202の格納データに従ってロジック/スイッチ204の状態が設定される。MRAM200に対しては、コンフィギュレーションデータCFGはロードされない。
この図49に示すデータロードシーケンスの場合、たとえば、テスト段階において、SRAM202にテスト用のコンフィギュレーションデータCFGを格納し、ロジック/スイッチ204により、その動作を確認する。この動作確認により、たとえばバグなどを修正して、最終のコンフィギュレーションデータCFGを生成する。
SRAM202へのコンフィギュレーションデータCFGへの直接ロード時においては、実施の形態1から6に示すプログラム素子の構成に応じて、SRAMワード線WLおよびSRAMビット線BLおよびBLCを用いてデータの書込が実行される。また、シリアルにコンフィギュレーションデータがSRAMセルを介して転送されるシリアルパスが別途、配置されても良い。
[データロードシーケンス3]
図50(A)および(B)は、この発明の実施の形態7に従うSRAMへのデータロードシーケンスの第3の例を示す図である。図50(A)において、コンフィギュレーションデータCFGが、MRAM200にロードされてストアされる。このMRAM200へのコンフィギュレーションデータCFGのロード時、SRAM202の保持データが破壊されるかそのまま維持されるかが、プログラム素子の構成に応じて異なる。
次に、図50(B)に示すように、これまでに説明した実施の形態1から6の態様に従ってMRAM200の格納データを、SRAM202へ並行して転送し、ロジック/スイッチ204の状態を設定する。
このMRAM200からSRAM202へのデータ転送は、すでに説明したように、プログラム素子において並行して実行される。たとえば、システムリセットまたはシステム立上げ時のような電源投入時、図50(B)に示すように、MRAM200からSRAM202へデータを転送することにより、高速で、ロジック/スイッチ204の状態を設定することができる。
この図50(B)に示すMRAM200からSRAM202へのデータ転送のシーケンスとしては、実施の形態1および2および6のプログラム素子を利用する場合、電源遮断から電源投入後MRAMセルの記憶データを一括してSRAMへ転送することができる。また、電源投入中の間に、MRAM200からSRAM202へ、一括してデータの転送を行なうことができる(実施の形態4および6のプログラム素子の場合)。
また、実施の形態4および5において、読出アシスト回路を利用する場合、電源回復時または電源投入中に、シーケンシャルに(SRAMワード線単位)でデータの転送を行なうことができる。
図48(A)および(B)から図50(A)および(B)に示すデータ転送シーケンスのいずれが利用されてもよい。SRAMへの一括データ転送を利用する場合、停電などが発生した場合、停電復旧後、高速で、システムを復旧させることができる。
また、この半導体装置1の使用時、不使用回路が存在する場合、不使用回路に対する電源電圧の供給を停止する(パワーゲートする)ことにより、消費電力を低減することができる。この場合、各回路ブロックごとにSRAM電源供給回路を設け、回路の使用/不使用を示す信号に従って、各ブロック単位で、SRAMへの電源電圧の供給が停止されればよい(FB(周波数/電圧)制御と同様の制御を実行する)。
以上のように、この発明の実施の形態7に従えば、FPGAを構成する半導体装置内に、SRAMとMRAMとを設けている。したがって、不揮発性FPGAを実現することができ、不揮発性FPGAの有する以下のような利点を享受することができる。すなわち、FPGA外部に、コンフィギュレーション情報を保存するフラッシュメモリを設ける必要がなくなる。電源投入後即座に、コンフィギュレーションデータを再ロードすることなく回路を動作させることができる。電源遮断に対するディベンダビリティ(dependability:信頼性)が向上する。パワーゲーティングによる低消費電力を実現することができる。外部からのコンフィギュレーションデータを転送するために必要とされるデータ入出力パッドおよびデータ入出力回路を低減することができる。また、外部からコンフィギュレーション情報を転送する必要はなく、コンフィギュレーションデータを外部で読出されることがなく、セキュリティが向上する。
[実施の形態8]
図51は、この発明の実施の形態8に従う半導体装置(FPGA)のSRAMへのデータロードシーケンスの一例を概略的に示す図である。この半導体装置1には、MRAM200、SRAM202およびロジック/スイッチ204が設けられる。この構成は、実施の形態7の場合と同じである。以下、図51(A)−(E)を参照して、この発明の実施の形態8に従うデータロードシーケンスについて説明する。
まず、図51(A)に示すように、外部からコンフィギュレーションデータCFGAがSRAM202へロードされる。このSRAM202のプログラムデータに従ってロジック/スイッチ204は、回路Aとして動作する状態に設定される。このとき、MRAM200の格納データは任意である。
次いで、図51(B)に示すように、ロジック/スイッチ204を、SRAM202の格納データに従って回路Aとして動作させた状態で、MRAM200にコンフィギュレーションデータCFGBをロードする。SRAM202においては、先の図51(A)において示したコンフィギュレーションデータCFGAが保持された状態に維持される。したがって、この場合、実施の形態2(図16)および実施の形態6(図47)に示すプログラム素子の構成が用いられる(MRAMへのロードがSRAMの記憶データに影響を及ぼさない)。
図51(C)において、MRAM200に記憶されるコンフィギュレーションデータCFGBが、SRAM202へ転送される(読出される)。このSRAM202の格納データ、すなわちコンフィギュレーションデータCFGBに従って、ロジック/スイッチ204が、回路Bとして動作する状態に設定される。
次に図51(D)に示すように再び、ロジック/スイッチ204を、SRAM202の格納データに従って回路Bとして動作させた状態で、MRAM200に対し新たなコンフィギュレーションデータCFGCを書込む。
続いて、図51(E)に示すように、演算処理完了後、SRAM202へ、MRAM200からデータ転送を行ない(読出を行い)、ロジック/スイッチ204を、コンフィギュレーションデータCFGCに従って、回路Cとして動作させる状態に設定する。
この図51(A)から図51(E)に示すように、ロジック/スイッチ204が演算処理を実行する状態で、MRAM200にコンフィギュレーションデータの書込を行ない、ダイナミックに、ロジック/スイッチ204の状態を更新する。したがって、この半導体装置1の規模が小さい場合においても、演算処理の進行状況に応じて回路構成を再構成することにより、複雑な演算処理を実行することができる。
なお、回路構成情報(コンフィギュレーションデータ)の更新時(MRAMからSRAMへのデータロード時)においては、電源リセットを行なってデータの読出が行なわれてもよく、電源を供給した状態でMRAMからSRAMにデータの一括転送が行なわれてもよい。
[変更例]
図52(A)−(C)は、この発明の実施の形態8の変更例のデータ転送シーケンスを概略的に示す図である。図52(A)−(C)に示す構成においても、半導体装置1内にMRAM200、SRAM202およびロジック/スイッチ204が設けられる。
まず、図52(A)において、コンフィギュレーションデータCFGAが、SRAM202に格納される(ロードされてストアされる)。このSRAM202に格納されたコンフィギュレーションデータCFGAに従って、ロジック/スイッチ204は、回路Aとして動作する状態に設定される。
次いで、図52(B)に示すように、ロジック/スイッチ204を回路Aとして動作させた状態で、MRAM202に対し一部の領域にコンフィギュレーションデータCFGPを書込む。この場合、SRAM202に対しては電源電圧が投入されており、SRAM202の保持データは、MRAM200に対するデータ書込の影響を受けない。したがって、MRAMへのデータ書込時、ロジック/スイッチ204は回路Aとして動作し続ける。
次いで、図52(C)に示すように、MRAM200の一部の領域に格納されたコンフィギュレーションデータCFGPを、SRAM202の対応の領域に転送する。これにより、ロジック/スイッチ204のコンフィギュレーションデータCFGPに対する領域の接続状態が更新され、回路AAとしてロジック/スイッチ204が動作する。したがってこの場合、回路の一部の構成を変更して、演算処理を実行することができる。
これらの図51(A)−(E)および図52(A)−(C)に示すように、ロジック/スイッチ204を動作させた状態で、MRAMにデータの書込を行なうことにより、コンフィギュレーションデータをロジック/スイッチ204の回路動作に隠れてMRAMに格納することができ、コンフィギュレーションデータ転送に要する時間を、演算処理時間に隠蔽させることができる。また、演算処理進行に悪影響を及ぼすことなく、ダイナミックに、ロジック/スイッチ204の状態を更新して処理を実行することができる。
図53は、図51(A)−(C)に示す部分的リコンフィギュレーションを行なう部分の構成を概略的に示す図である。図53においては、SRAMに関連する部分の構成を概略的に示す。MRAMへのデータ書込時においては、外部から、アドレスとコンフィギュレーションデータとを転送して順次書込が行なわれる(実施の形態2と同様)。
この図53に示す構成は、以下の点で、図35に示す周辺回路の構成と異なる。すなわち、SRAMワード線WL0−WL3に対して設けられるORゲートOG0−OG3に対し、読出制御部142Bからのタイミング信号MRX0が与えられ、SRAMワード線WL4−WL7に対して設けられるORゲートOG4−OG7に対し読出制御部142Bから書込タイミング信号MRX1が与えられる。これらのORゲートOG0−OG7の第2入力へは、デコード回路140からの対応のデコード信号が与えられ、ORゲートOG0−OG7の出力信号に従って、SRAMワード線ドライバXDRA0−XDRA7が対応のSRAMワード線WL0−WL7を選択状態へ駆動する。
一方、SRAMビット線BL0,BLC0−BL5,BLC5に対して設けられるANDゲートAG0−AG11において、読出制御部142Bからの書込タイミング信号MRY0が、ANDゲートAG0−AG5の第1の入力に与えられ、また、読出制御部142Bからの書込タイミング信号MRY1が、ANDゲートAG6−AG11の第1の入力へ与えられる。これらのANDゲートAG0−AG11の第2の入力へは、データ入力回路7Aからのデータが与えられる。
この図53に示す構成において、メモリセル/ゲートアレイ2は、4つのメモリブロックMBK0−MBK3の領域に分割制御することができる。MRAMからSRAMへのデータ読出動作は、先の図35に示す実施の形態2の場合と同様にして実行される。データ読出時においては、SRAMワード線WLを選択状態へ駆動し、接地電圧レベルに駆動されるビット線BL,BLCとストレージノードとを結合する。したがって、データの転送を行なう部分においてのみ、SRAMワード線およびSRAMビット線電位を制御し、非選択ブロックに対しては、SRAMワード線またはSRAMビット線BL,BLCを非選択状態に設定する。この場合、非選択状態のSRAMビット線BLおよびBLCを、Hレベルに維持することにより、半選択状態のプログラム素子のSRAMセルのストレージノードのデータ反転は回避される。これにより、ブロックMBK0−MBK3のうちの必要とされる領域に対してデータの読出を行なうことができる。
なお、読出制御部142Bにおいてモード指示信号MRMODが与えられたとき、部分転送が指定され、そのときのアドレスA< >に従って、転送を行なうメモリブロックが指定されればよい。この指定されたメモリブロックに応じて、書込タイミング信号MRX0,MRX1、MRY0およびMRY1が、それぞれ所定のシーケンスで活性化される。
また、通常のSRAMと同様に、ビット単位でのMRAMからSRAMへのデータ転送も可能である。
この図53に示す構成のデータ読出時の動作は、先の図35において実施の形態2を参照して説明した動作と同じである。
この図53に示す構成を利用することにより、先の図522(A)−図52(C)に示す部分的なコンフィギュレーションデータの転送を行ない、回路構成のダイナミックリコンフィギュレーションを実現することができる。
以上のように、この発明の実施の形態8に従えば、MRAMのコンフィギュレーションデータへの書込をロジック/スイッチの回路動作中に実行している。これにより、コンフィギュレーションデータのFPGA(半導体装置)へのデータ転送時間を演算時間内に隠蔽することができる。また、MRAMからSRAMへの一括データ転送または一定単位の並列転送を行なうことにより、高速で、システムリコンフィギュレーションを実行することができ、演算実行に応じてシステム構成を変更するダイナミックなリコンフィギュレーションが可能となる。
この発明は、一般に、プログラマブルロジックデバイスに適用することにより、不揮発性プログラマブル・ロジックデバイスを実現することができ、電源投入時高速で、システムコンフィギュレーションをすることができる。
この発明に従う半導体装置の全体の構成を概略的に示す図である。 この発明に従う半導体装置のプログラム素子の構成を概略的に示す図である。 図1に示すメモリセル/ゲートアレイの構成の一例を概略的に示す図である。 図3に示すロジックブロックの構成の一例を概略的に示す図である。 図4に示すロジックブロックの具体的構成の一例を示す図である。 図3に示す接続ブロックの構成を概略的に示す図である。 図6に示すプログラマブルスイッチ素子の構成の一例を概略的に示す図である。 図6に示すプログラマブルスイッチ素子の他の構成を示す図である。 図3に示すスイッチブロックの構成の一例を概略的に示す図である。 図9に示すスイッチング素子の構成の一例を示す図である。 この発明の実施の形態1に従うプログラム素子の構成を概略的に示す図である。 図11に示すプログラム素子の断面構造を概略的に示す図である。 図11に示すプログラム素子のデータ読出モードの動作を示す信号波形図である。 この発明の実施の形態1に従う半導体装置のプログラム素子の周辺回路の構成を概略的に示す図である。 図14に示すデジット線ドライブ回路の構成の一例を概略的に示す図である。 この発明の実施の形態2に従うプログラム素子の構成を概略的に示す図である。 図16に示すプログラム素子の断面構造を概略的に示す図である。 図16に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。 この発明の実施の形態2に従うSRAMセル電源制御部の構成を概略的に示す図である。 この発明の実施の形態3に従うプログラム素子の構成を概略的に示す図である。 図20に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。 図20に示すプログラム素子の平面レイアウトを概略的に示す図である。 図22に示すプログラム素子のSRAMセルの断面構造を概略的に示す図である。 この発明の実施の形態3に従うプログラム素子のSRAMセルの平面レイアウトの変更例を概略的に示す図である。 図20に示すプログラム素子のSRAMセルの基板バイアス発生部の構成の一例を概略的に示す図である。 図25に示す基板バイアス発生部の動作を示す信号波形図である。 図25に示す基板バイアス発生部のコマンド印加時の動作を示す信号波形図である。 この発明の実施の形態4に従うプログラム素子の構成を概略的に示す図である。 図28に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。 図28に示すプログラム素子の電源投入時の読出動作を示す信号波形図である。 図28に示すプログラム素子の動作制御を行なう部分の構成の一例を示す図である。 図31に示す読出/書込制御部の電源投入時の動作を示す信号波形図である。 図31に示す書込/読出制御部の電源供給時の読出動作を示す信号波形図である。 この発明の実施の形態4に従う半導体装置のSRAM周辺回路の構成の一例を示す図である。 この発明の実施の形態4に従う半導体装置のSRAMセル周辺回路の変更例の構成を概略的に示す図である。 この発明の実施の形態5に従うプログラム素子の構成を概略的に示す図である。 図36に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。 図36に示すプログラム素子の読出モード制御部の構成を概略的に示す図である。 この発明の実施の形態6に従うプログラム素子の構成を概略的に示す図である。 図39に示すプログラム素子の周辺回路の構成を概略的に示す図である。 この発明の実施の形態6に従う半導体装置の書込/読出制御部の構成を概略的に示す図である。 図41に示す書込/読出制御部の動作を示す信号波形図である。 図41に示す書込/読出制御部の電源投入時の動作を示す信号波形図である。 この発明の実施の形態6に従う書込/読出制御部の変更例の構成を概略的に示す図である。 この発明の実施の形態6に従う半導体装置の変更例の構成を概略的に示す図である。 この発明の実施の形態6に従うプログラム素子の変更例の構成を概略的に示す図である。 この発明の実施の形態6に従うプログラム素子のさらに他の変更例の構成を概略的に示す図である。 (A)および(B)は、この発明の実施の形態7に従うコンフィギュレーションデータ転送シーケンスを概略的に示す図である。 この発明の実施の形態7に従うコンフィギュレーションデータの格納シーケンスの変更例を示す図である。 (A)および(B)は、この発明の実施の形態7に従うコンフィギュレーションデータ転送シーケンスのさらに他の変更例を示す図である。 (A)−(E)は、この発明の実施の形態8に従う半導体装置のコンフィギュレーションデータ転送シーケンスを概略的に示す図である。 この発明の実施の形態8に従う半導体装置のコンフィギュレーションデータ転送シーケンスの変更例を概略的に示す図である。 この発明の実施の形態8に従う半導体装置のSRAM周辺回路の構成を概略的に示す図である。
符号の説明
1 半導体装置、2 メモリセル/ゲートアレイ、PE プログラム素子、10 MRAMセル、12 SRAMセル、TMR0,TMR1 可変磁気抵抗素子、PT0,PT1 PチャネルMOSトランジスタ、NT0−NT3 NチャネルMOSトランジスタ、IV0,IV1 インバータ、MBL MRAMビット線、BL,BLC SRAMビット線、WL SRAMワード線、SWRa,SWRb SRAMライトドライバ、LD0,LD1 負荷トランジスタ、SWRc,SWRd SRAMライトドライバ、TMR10,TMR11,TMR30,TMR31 可変磁気抵抗素子、SWRe,SWRf SRAMライトドライバ、200 MRAM、202 SRAM、204 ロジック/スイッチ。

Claims (9)

  1. 第1および第2のインバータを含み、第1および第2のストレージノードに相補データを保持するインバータラッチ、および
    前記第1および第2のインバータ各々の第1の電源ノードと第1の電源線との間に結合され、前記相補データに対応するデータを不揮発的に記憶する第1および第2の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
    前記第1の電源線とは別に設けられ、電流により磁界を誘起して前記第1および第2の可変磁気抵抗素子に該誘起された磁界を印加する第1の書込電流線、および
    前記第1および第2の可変磁気抵抗素子に対応して前記第1の書込電流線と交差するように設けられ、前記第1および第2の可変磁気抵抗素子に対して電流により磁界を誘起して該誘起された磁界を印加する第2および第3の書込電流線を備える、半導体装置。
  2. 第1および第2のインバータを含み、第1および第2のストレージノードに相補データを保持するインバータラッチ、および
    導通時、前記第1および第2のストレージノードを第1および第2の信号線にそれぞれ結合する第1および第2のトランジスタを備え、前記第1および第2のインバータを構成するトランジスタと前記第1および第2のトランジスタは、バックゲートバイアスが調整可能であり、
    前記第1および第2のインバータ各々の第1の電源ノードに結合され、前記相補データに対応するデータをそれぞれ抵抗値により不揮発的に記憶する第1および第2の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
    前記第1および第2の可変磁気抵抗素子へのデータの書込モード時、電流により磁界を誘起して前記第1および第2の可変磁気抵抗素子に該誘起した磁界を印加する第1の書込電流線、
    前記第1および第2の可変磁気抵抗素子に対応してかつ前記第1の書込電流線と交差するように配置され、前記データ書込モード時、前記第1および第2の可変磁気抵抗素子に対して電流により磁界を誘起して該誘起磁界を印加する第2および第3の書込電流線、および
    前記第1および第2の可変磁気抵抗素子の記憶データに従って前記第1および第2のストレージノードの電圧を設定する読出モード時、前記第1および第2のインバータを構成するトランジスタのバックゲートバイアスを第1の順バイアス状態に設定し、前記読出モード完了後の前記第1および第2のストレージノードの電圧を保持する演算モード時、前記トランジスタのバックゲートバイアスを前記第1の順バイアス状態よりも深い第2のバイアス状態に設定するバイアス設定回路を備える、半導体装置。
  3. 第1および第2のインバータを含み、第1および第2のストレージノードに相補データを保持するインバータラッチ、
    前記第1および第2のインバータ各々の第1電源ノードに結合され、前記相補データに対応するデータを不揮発的に記憶する第1および第2の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
    前記第1および第2の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、電流により磁界を誘起して前記第1および第2の可変磁気抵抗素子に該誘起された磁界を印加する第1の書込電流線、
    前記第1および第2の可変磁気抵抗素子に対応してかつ前記第1の書込電流線と交差するように配置され、前記書込モード時に、前記第1および第2の可変磁気抵抗素子に対して電流により磁界を誘起し、それぞれ誘起した磁界を印加する第2および第3の書込電流線、および
    前記第1および第2の可変磁気抵抗素子の記憶データに従って前記第1および第2のストレージノードの電圧を設定する読出モード時、前記第1および第2のストレージノードを初期電圧レベルに設定するとともに、前記第1および第2のストレージノードに対する電流バイアス経路形成する読出バイアス回路を備える、半導体装置。
  4. 前記読出バイアス回路は、
    前記読出モード時、前記第1および第2のストレージノードを第1および第2の信号線に結合する第1および第2のスイッチングトランジスタと、
    前記読出モード時、前記第1および第2のスイッチングトランジスタの導通後、前記第1および第2の信号線を所定電圧レベルに所定期間設定する書込ドライバと、
    前記読出モード時、第1および第2の信号線と前記第1の電源ノードと異なる第2の電源ノードとを電気的に接続して前記第1および第2のストレージノードと前記第2の電源ノードとの間に電流が流れる経路を形成する第1および第2の負荷素子とを備え、前記負荷素子による電流経路形成時,前記書込ドライバは非活性状態とされる、請求項3記載の半導体装置。
  5. 第1および第2のインバータを含み、第1および第2のストレージノードに相補データを保持するインバータラッチ、
    導通時、前記第1および第2のストレージノードを第1および第2の信号線に結合する第1および第2のトランジスタ、
    前記第1および第2のトランジスタ各々の制御電極と第1の書込電流線との間に結合され、前記相補データに対応するデータを不揮発的に記憶する第1および第2の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定されて、該抵抗値によりデータを記憶し、
    前記第1および第2の可変磁気抵抗素子に対してかつ前記第1の書込電流線と交差するように配置され、前記第1および第2の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、前記第1および第2の可変磁気抵抗素子を第2の書込電流線に結合する書込選択ゲート、および
    前記書込モード時、前記第1および第2の可変磁気抵抗素子に書込まれるデータの論理値に応じた方向に前記第1および第2の書込電流線の間に電流を流す書込回路を備え、前記自由層の磁化方向が、前記第1および第2の書込電流線を流れる電流の方向に応じて設定される、半導体装置。
  6. 前記第1および第2の可変磁気抵抗素子の記憶データに従って前記第1および第2のストレージノードの電圧を設定する読出モード時、前記第1の書込電流線を第1の電圧レベルに設定して前記第1および第2のトランジスタを導通状態として前記第1および第2のストレージノードを、所定電圧レベルに設定される前記第1および第2の信号線に結合し、かつ、前記第2の書込電流線を所定電圧レベルに設定した後、前記第1および第2のトランジスタの制御電極を前記第2の書込電流線に結合する読出制御回路をさらに備える、請求項5記載の半導体装置。
  7. 第1および第2のインバータを含み、第1および第2のストレージノードに相補データを保持するインバータラッチ、
    導通時、前記第1および第2のストレージノードを第1および第2の信号線に結合する第1および第2のトランジスタ、および
    前記第1および第2のトランジスタ各々の制御電極に結合され、前記相補データに対応するデータを不揮発的に記憶する第1および第2の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
    前記第1および第2の可変磁気抵抗素子に電磁的に結合され、前記第1および第2の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、電流により磁界を誘起して前記第1および第2の可変磁気抵抗素子に該誘起磁界を印加する第1の書込電流線、および
    前記第1および第2の可変磁気抵抗素子に対応してかつ前記第1の書込電流線と交差するように配置され、前記書込モード時、電流により磁界を誘起して前記第1および第2の可変磁気抵抗素子に該誘起磁界をそれぞれ印加する第2および第3の書込電流線を備える、半導体装置。
  8. 前記第1および第2の可変磁気抵抗素子の記憶データに従って前記第1および第2のストレージノードの電圧を設定する読出モード時、前記第1の書込電流線を第1の電圧レベルに設定して前記第1および第2のトランジスタを導通状態として前記第1および第2のストレージノードを前記第1および第2の信号線に結合し、前記第1および第2のトランジスタの制御電極を前記所定電圧に維持される固定電圧線に結合する読出制御回路をさらに備える、請求項7記載の半導体装置。
  9. 前記第1および第2のインバータを構成するトランジスタおよび前記第1および第2のトランジスタは、それぞれ、バックゲートバイアスが制御可能であり、
    前記半導体装置は、さらに、
    前記第1および第2の可変磁気抵抗素子の記憶データに従って前記第1および第2のストレージノードの電圧を設定する読出モード時、少なくとも前記第1および第2のインバータを構成するトランジスタのバックゲートバイアスを第1の順バイアス状態に設定し、前記読出モード完了後の前記第1および第2のストレージノードの電圧を保持する演算モード時、前記第1および第2のインバータを構成するトランジスタのバックゲートバイアスを前記第1の順バイアス状態よりも深い第2のバイアス状態に設定するバイアス設定回路を備える、請求項5から8のいずれかに記載の半導体装置。
JP2008154436A 2008-06-12 2008-06-12 半導体装置 Withdrawn JP2009302254A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008154436A JP2009302254A (ja) 2008-06-12 2008-06-12 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008154436A JP2009302254A (ja) 2008-06-12 2008-06-12 半導体装置

Publications (1)

Publication Number Publication Date
JP2009302254A true JP2009302254A (ja) 2009-12-24

Family

ID=41548860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008154436A Withdrawn JP2009302254A (ja) 2008-06-12 2008-06-12 半導体装置

Country Status (1)

Country Link
JP (1) JP2009302254A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120019304A (ko) * 2010-08-25 2012-03-06 삼성전자주식회사 재구성 가능한 논리 장치
JP2012151429A (ja) * 2010-12-29 2012-08-09 Tohoku Univ 集積回路とその製造方法
CN102855932A (zh) * 2011-06-27 2013-01-02 三星电子株式会社 可重新配置的逻辑器件
JP2013201396A (ja) * 2012-03-26 2013-10-03 Toshiba Corp プログラマブルロジックスイッチ
JP2015146395A (ja) * 2014-02-03 2015-08-13 国立大学法人東北大学 磁気トンネル接合素子を備えた記憶装置
JP2016220251A (ja) * 2011-05-16 2016-12-22 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US10431306B2 (en) 2017-08-04 2019-10-01 Kabushiki Kaisha Toshiba Reconfigurable semiconductor integrated circuit

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120019304A (ko) * 2010-08-25 2012-03-06 삼성전자주식회사 재구성 가능한 논리 장치
JP2012050080A (ja) * 2010-08-25 2012-03-08 Samsung Electronics Co Ltd 再構成可能な論理装置
KR101638976B1 (ko) 2010-08-25 2016-07-13 삼성전자주식회사 재구성 가능한 논리 장치
JP2012151429A (ja) * 2010-12-29 2012-08-09 Tohoku Univ 集積回路とその製造方法
JP2016220251A (ja) * 2011-05-16 2016-12-22 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
CN102855932A (zh) * 2011-06-27 2013-01-02 三星电子株式会社 可重新配置的逻辑器件
JP2013201396A (ja) * 2012-03-26 2013-10-03 Toshiba Corp プログラマブルロジックスイッチ
JP2015146395A (ja) * 2014-02-03 2015-08-13 国立大学法人東北大学 磁気トンネル接合素子を備えた記憶装置
US10431306B2 (en) 2017-08-04 2019-10-01 Kabushiki Kaisha Toshiba Reconfigurable semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
US6873561B2 (en) Semiconductor memory device operating with low current consumption
CN105845168B (zh) 用于通过控制预充电持续时间降低存储器电路中的功耗的方法和装置
JP4630314B2 (ja) Mram装置
US20170345488A1 (en) Semiconductor memory device that can stably perform writing and reading without increasing current consumption even with a low power supply voltage
JP4330396B2 (ja) 半導体記憶装置
US10885954B2 (en) Memory devices comprising a write assist circuit
TWI559301B (zh) 非依電性靜態隨機存取記憶體胞元電路與計時方法
US8279660B2 (en) Static random-access memory with boosted voltages
US9734905B2 (en) Non-volatile memory using bi-directional resistive elements
US8873278B1 (en) Volatile memory elements with soft error upset immunity
JP5267623B2 (ja) 不揮発性メモリセルおよび不揮発性メモリ
US20080229269A1 (en) Design structure for integrating nonvolatile memory capability within sram devices
JP2009302254A (ja) 半導体装置
US6671213B2 (en) Thin film magnetic memory device having redundancy repair function
JP2004133969A (ja) 半導体装置
US9666276B2 (en) Non-volatile memory using bi-directional resistive elements
JP2003217277A (ja) 薄膜磁性体記憶装置およびその情報プログラム方法
US20120230130A1 (en) Memory Cell System and Method
US7760537B2 (en) Programmable ROM
US7286382B1 (en) Segmented dataline scheme in a memory with enhanced full fault coverage memory cell testability
US9135988B2 (en) Semiconductor device and control method of the same
JP5214328B2 (ja) 半導体集積回路
JP2004185752A (ja) 薄膜磁性体記憶装置
JP2001357685A (ja) 書込可能な読出専用メモリ
US10269426B2 (en) Integrated circuits with complementary non-volatile resistive memory elements

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100602

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110906