▶ 独立行政法人科学技術振興機構の特許一覧
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038472
(43)【公開日】2024-03-19
(54)【発明の名称】電子回路および双安定回路
(51)【国際特許分類】
G11C 11/417 20060101AFI20240312BHJP
G11C 14/00 20060101ALI20240312BHJP
H03K 3/356 20060101ALI20240312BHJP
【FI】
G11C11/417 100
G11C14/00 230
H03K3/356 D
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024008654
(22)【出願日】2024-01-24
(62)【分割の表示】P 2021522653の分割
【原出願日】2020-03-18
(31)【優先権主張番号】P 2019101720
(32)【優先日】2019-05-30
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2019186042
(32)【優先日】2019-10-09
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】503360115
【氏名又は名称】国立研究開発法人科学技術振興機構
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】菅原 聡
(72)【発明者】
【氏名】北形 大樹
(72)【発明者】
【氏名】山本 修一郎
(57)【要約】
【課題】消費電力および消費エネルギーを抑制すること。
【解決手段】第1~第4FETを各々備える第1及び第2インバータ回路と、第1インバータ回路の出力ノードおよび第2インバータ回路の入力ノードが接続された第1記憶ノードと、第1及び第2インバータ回路の入力ノードおよび第2インバータ回路の出力ノードが接続された第2記憶ノードと、を備え、第1インバータ回路の第4FETのゲートは、第1インバータ回路の入力ノードまたは第2インバータ回路の出力ノードに接続され、第2インバータ回路の第4FETのゲートは第2インバータ回路の入力ノードまたは第1インバータ回路の出力ノードに接続された双安定回路。
【選択図】
図41
【特許請求の範囲】
【請求項1】
ソースが第1電源線に接続され、ドレインが出力ノードに接続され、ゲートが入力ノードに接続された第1導電型のチャネルの第1FETと、
ソースが前記第1電源線との間に電源電圧が供給される第2電源線に接続され、ドレインが中間ノードに接続され、ゲートが前記入力ノードに接続された前記第1導電型と反対の第2導電型のチャネルの第2FETと、
ソースが前記中間ノードに接続され、ドレインが前記出力ノードに接続され、ゲートが前記入力ノードに接続された前記第2導電型のチャネルの第3FETと、
ソースおよびドレインの一方が前記中間ノードに接続され、前記ソースおよび前記ドレインの他方が制御ノードに接続された前記第1導電型のチャネルの第4FETと、
を各々備える第1インバータ回路および第2インバータ回路と、
前記第1インバータ回路の出力ノードおよび前記第2インバータ回路の入力ノードが接続された第1記憶ノードと、
前記第1インバータ回路の入力ノードおよび前記第2インバータ回路の出力ノードが接続された第2記憶ノードと、を備え、
前記第1インバータ回路の第4FETのゲートは、前記第1インバータ回路の入力ノードまたは前記第2インバータ回路の出力ノードに接続され、
前記第2インバータ回路の第4FETのゲートは前記第2インバータ回路の入力ノードまたは前記第1インバータ回路の出力ノードに接続された双安定回路。
【請求項2】
請求項1に記載の双安定回路と、
前記電源電圧を、前記双安定回路がデータをライトおよびリード可能な第1電圧と、前記第1電圧より低く前記双安定回路がデータを保持可能な第2電圧と、に切り替えて供給する電源回路と、
を備える電子回路。
【請求項3】
前記電源回路が前記双安定回路に前記第1電圧および前記第2電圧のいずれを供給するときにも、前記制御ノードには定バイアスが供給される請求項2に記載の電子回路。
【請求項4】
前記定バイアスは、前記第1電圧が供給されるときの前記第1電源線の電圧と前記第2電源線の電圧との間のバイアスである請求項3に記載の電子回路。
【請求項5】
前記定バイアスは、前記第1電圧が供給されるときの前記第1電源線の電圧と前記第2電源線の電圧との中間より前記第2電源線の電圧に近い請求項3に記載の電子回路。
【請求項6】
前記第4FETがPチャネルFETのとき、前記電源回路が前記第1電圧および前記第2電圧を供給するとき前記制御ノードにそれぞれローレベルおよび前記ローレベルより高いハイレベルを供給し、
前記第4FETがNチャネルFETのとき、前記電源回路が前記第1電圧および前記第2電圧を供給するとき前記制御ノードにそれぞれハイレベルおよび前記ハイレベルより低いローレベルを供給する制御回路を備える請求項2に記載の電子回路。
【請求項7】
ソースが第1電源線に接続され、ドレインが出力ノードに接続され、ゲートが入力ノードに接続された第1導電型のチャネルの第1FETと、
ソースが前記第1電源線との間に電源電圧が供給される第2電源線に接続され、ドレインが中間ノードに接続され、ゲートが前記入力ノードに接続された前記第1導電型と反対の第2導電型のチャネルの第2FETと、
ソースが前記中間ノードに接続され、ドレインが前記出力ノードに接続され、ゲートが前記入力ノードに接続された前記第2導電型のチャネルの第3FETと、
ソースおよびドレインの一方が前記中間ノードに接続され、前記ソースおよび前記ドレインの他方が制御ノードに接続された第4FETと、
を各々備える第1インバータ回路および第2インバータ回路と、
前記第1インバータ回路の出力ノードおよび前記第2インバータ回路の入力ノードが接続された第1記憶ノードと、
前記第1インバータ回路の入力ノードおよび前記第2インバータ回路の出力ノードが接続された第2記憶ノードと、
を備え、
前記第1インバータ回路の第4FETのゲートは、前記第1インバータ回路の入力ノード、出力ノード、前記第2インバータ回路の入力ノードおよび出力ノードのいずれか1つのノードに接続され、
前記第2インバータ回路の第4FETのゲートは、前記第2インバータ回路の入力ノード、出力ノード、前記第1インバータ回路の入力ノードおよび出力ノードのいずれか1つのノードに接続された双安定回路と、
前記電源電圧を、前記双安定回路がデータをライトおよびリード可能な第1電圧と、前記第1電圧より低く前記双安定回路がデータを保持可能な第2電圧と、に切り替えて供給する電源回路と、
を備え、
前記電源回路が前記双安定回路に前記第1電圧および前記第2電圧のいずれを供給するときにも、前記制御ノードには定バイアスが供給される電子回路。
【請求項8】
前記電源回路は、前記電源電圧を前記第1電圧と前記第2電圧とに切り替えるときに、前記第2電源線には一定の第3電圧を供給し、前記第1電源線に供給する電圧をそれぞれ第4電圧と第5電圧とに切り替える請求項7に記載の電子回路。
【請求項9】
前記定バイアスは、前記第3電圧と前記第4電圧との間のバイアスである請求項8に記載の電子回路。
【請求項10】
前記第1インバータ回路の第4FETは、ゲートが前記第1インバータ回路の出力ノードまたは前記第2インバータ回路の入力ノードに接続されているとき前記第2導電型のチャネルのFETであり、ゲートが前記第1インバータ回路の入力ノードまたは前記第2インバータ回路の出力ノードに接続されているとき前記第1導電型のチャネルのFETであり、
前記第2インバータ回路の第4FETは、ゲートが前記第2インバータ回路の出力ノードまたは前記第1インバータ回路の入力ノードに接続されているとき前記第2導電型のチャネルのFETであり、ゲートが前記第2インバータ回路の入力ノードまたは前記第1インバータ回路の出力ノードに接続されているとき前記第1導電型のチャネルのFETである請求項7から9のいずれか一項に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子回路および双安定回路に関し、例えば双安定回路およびその双安定回路を有する複数のメモリセルを備えた電子回路に関する。
【背景技術】
【0002】
不揮発性素子を用いず、CMOS(Complementary Metal Oxide Semiconductor)のみから構成されたインバータを用い、擬似不揮発性SRAM(VNR-SRAM)を構成できることが知られている(例えば特許文献1)。VNR-SRAMでは、超低電圧(ULV)リテンションが可能なシュミットトリガ(ST)モードと通常の電圧でSRAMと同等の回路性能を実現できるブーステッドインバータ(BI)モードとを切り替え可能なデュアルモードインバータを用いる。このULVリテンションをパワーゲーティング(PG)に用いることができる。
【0003】
双安定回路と不揮発性素子を有するメモリセル(NV-SRAM)を用いた記憶回路が知られている(例えば特許文献2)。NV-SRAMでは双安定回路のデータを不揮発性素子にストアし、不揮発性素子のデータを双安定回路にリストアする。
【0004】
NV-SRAMにおいて、通常のSRAMのように双安定回路にデータをライト(書き込み)およびリード(読み出し)するSRAM(Static Random Access Memory)動作、電源電圧を低くしてデータを保持するスリープ動作、双安定回路のデータを不揮発性素子にストアするストア動作、メモリセルの電源を遮断するシャットダウン動作および不揮発記憶素子にストアされたデータを双安定回路に書き戻すリストア動作を行なう記憶回路が知られている(例えば特許文献3)。ストア、シャットダウンおよびリストア動作を用いることでセルの記憶内容を失うことなく、電源遮断によるパワーゲーティング(PG)が可能になる。
【0005】
双安定回路に記憶されているデータと、不揮発性素子にストアされているデータが一致する場合、ストアをスキップする制御(ストアフリー動作)を行なう記憶回路が知られている(例えば特許文献4)。セルアレイを複数のブロックに分割し、ストア動作が終了したブロックの電源を遮断することが知られている(例えば特許文献5)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2016/158691号
【特許文献2】国際公開第2009/028298号
【特許文献3】国際公開第2013/172066号
【特許文献4】国際公開第2013/172065号
【特許文献5】国際公開第2016/024527号
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1のVNR-SRAMでは、ULVリテンションすることで、セルの記憶内容を失うことなく、待機時電力を削減することができる。これにより、消費電力を抑制できる。しかし、VNR-SRAMでは、PG後に不要なデータについてもULVリテンションするため、PG時のリーク電流によるエネルギー消費の削減率が制約される。また、PG時にすべてのセルについてSTモードとBIモードの切り替えを行う。このため、モード切り替えのための時間(レイテンシ)やエネルギーオーバーヘッドが生じる。これらリーク電流、モード切り替えのためのエネルギー消費は損益分岐時間(BET:Break-even time)の増大を招く。
【0008】
また、特許文献4および5のNV-SRAMでは、ストアフリー動作を行うことで,ストア不要なデータのストアを回避できる。しかし、セルアレイの記憶容量が大きくなると、ストア動作を待機するブロックに生じるリーク電流による消費電力によって、ストアフリーの効果は抑制される。また、ストアフリー動作では、PGに不要なデータであっても通常動作時に書き換えのあったデータに対してはストア動作を行ってしまう。このため、不要なエネルギーオーバーヘッドやストアに要するレイテンシのオーバヘッドを生じてしまう。
【0009】
本発明は、上記課題に鑑みなされたものであり、消費電力および消費エネルギーを抑制することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、ソースが第1電源線に接続され、ドレインが出力ノードに接続され、ゲートが入力ノードに接続された第1導電型のチャネルの第1FETと、ソースが前記第1電源線との間に電源電圧が供給される第2電源線に接続され、ドレインが中間ノードに接続され、ゲートが前記入力ノードに接続された前記第1導電型と反対の第2導電型のチャネルの第2FETと、ソースが前記中間ノードに接続され、ドレインが前記出力ノードに接続され、ゲートが前記入力ノードに接続された前記第2導電型のチャネルの第3FETと、ソースおよびドレインの一方が前記中間ノードに接続され、前記ソースおよび前記ドレインの他方が制御ノードに接続された前記第1導電型のチャネルの第4FETと、を各々備える第1インバータ回路および第2インバータ回路と、前記第1インバータ回路の出力ノードおよび前記第2インバータ回路の入力ノードが接続された第1記憶ノードと、前記第1インバータ回路の入力ノードおよび前記第2インバータ回路の出力ノードが接続された第2記憶ノードと、を備え、前記第1インバータ回路の第4FETのゲートは、前記第1インバータ回路の入力ノードまたは前記第2インバータ回路の出力ノードに接続され、前記第2インバータ回路の第4FETのゲートは前記第2インバータ回路の入力ノードまたは前記第1インバータ回路の出力ノードに接続された双安定回路である。
【0011】
上記構成において、前記電源電圧を、前記双安定回路がデータをライトおよびリード可能な第1電圧と、前記第1電圧より低く前記双安定回路がデータを保持可能な第2電圧と、に切り替えて供給する電源回路と、を備える構成とすることができる。
【0012】
上記構成において、前記電源回路が前記双安定回路に前記第1電圧および前記第2電圧のいずれを供給するときにも、前記制御ノードには定バイアスが供給される構成とすることができる。
【0013】
上記構成において、前記定バイアスは、前記第1電圧が供給されるときの前記第1電源線の電圧と前記第2電源線の電圧との間のバイアスとすることができる。
【0014】
上記構成において、前記定バイアスは、前記第1電圧が供給されるときの前記第1電源線の電圧と前記第2電源線の電圧との中間より前記第2電源線の電圧に近い構成とすることができる。
【0015】
上記構成において、前記第4FETがPチャネルFETのとき、前記電源回路が前記第1電圧および前記第2電圧を供給するとき前記制御ノードにそれぞれローレベルおよび前記ローレベルより高いハイレベルを供給し、前記第4FETがNチャネルFETのとき、前記電源回路が前記第1電圧および前記第2電圧を供給するとき前記制御ノードにそれぞれハイレベルおよび前記ハイレベルより低いローレベルを供給する制御回路を備える構成とすることができる。
【0016】
本発明は、ソースが第1電源線に接続され、ドレインが出力ノードに接続され、ゲートが入力ノードに接続された第1導電型のチャネルの第1FETと、ソースが前記第1電源線との間に電源電圧が供給される第2電源線に接続され、ドレインが中間ノードに接続され、ゲートが前記入力ノードに接続された前記第1導電型と反対の第2導電型のチャネルの第2FETと、ソースが前記中間ノードに接続され、ドレインが前記出力ノードに接続され、ゲートが前記入力ノードに接続された前記第2導電型のチャネルの第3FETと、ソースおよびドレインの一方が前記中間ノードに接続され、前記ソースおよび前記ドレインの他方が制御ノードに接続された第4FETと、を各々備える第1インバータ回路および第2インバータ回路と、前記第1インバータ回路の出力ノードおよび前記第2インバータ回路の入力ノードが接続された第1記憶ノードと、前記第1インバータ回路の入力ノードおよび前記第2インバータ回路の出力ノードが接続された第2記憶ノードと、を備え、前記第1インバータ回路の第4FETのゲートは、前記第1インバータ回路の入力ノード、出力ノード、前記第2インバータ回路の入力ノードおよび出力ノードのいずれか1つのノードに接続され、前記第2インバータ回路の第4FETのゲートは、前記第2インバータ回路の入力ノード、出力ノード、前記第1インバータ回路の入力ノードおよび出力ノードのいずれか1つのノードに接続された双安定回路と、前記電源電圧を、前記双安定回路がデータをライトおよびリード可能な第1電圧と、前記第1電圧より低く前記双安定回路がデータを保持可能な第2電圧と、に切り替えて供給する電源回路と、を備え、前記電源回路が前記双安定回路に前記第1電圧および前記第2電圧のいずれを供給するときにも、前記制御ノードには定バイアスが供給される電子回路である。
【0017】
上記構成において、前記電源回路は、前記電源電圧を前記第1電圧と前記第2電圧とに切り替えるときに、前記第2電源線には一定の第3電圧を供給し、前記第1電源線に供給する電圧をそれぞれ第4電圧と第5電圧とに切り替える構成とすることができる。
【0018】
上記構成において、前記定バイアスは、前記第3電圧と前記第4電圧との間のバイアスとすることができる。
【0019】
上記構成において、前記第1インバータ回路の第4FETは、ゲートが前記第1インバータ回路の出力ノードまたは前記第2インバータ回路の入力ノードに接続されているとき前記第2導電型のチャネルのFETであり、ゲートが前記第1インバータ回路の入力ノードまたは前記第2インバータ回路の出力ノードに接続されているとき前記第1導電型のチャネルのFETであり、前記第2インバータ回路の第4FETは、ゲートが前記第2インバータ回路の出力ノードまたは前記第1インバータ回路の入力ノードに接続されているとき前記第2導電型のチャネルのFETであり、ゲートが前記第2インバータ回路の入力ノードまたは前記第1インバータ回路の出力ノードに接続されているとき前記第1導電型のチャネルのFETである構成とすることができる。
【発明の効果】
【0020】
本発明によれば、消費電力および消費エネルギーを抑制することができる。
【図面の簡単な説明】
【0021】
【
図1】
図1は、実施例1におけるメモリセルの回路図である。
【
図2】
図2(a)および
図2(b)は、実施例1における各状態に印加される電圧を示す図である。
【
図3】
図3は、実施例1における各期間の消費電力を示す図である。
【
図4】
図4は、実施例1における電子回路を示すブロック図である。
【
図5】
図5は、実施例1におけるサブアレイのブロック図である。
【
図6】
図6は、実施例1における動作を示すフローチャートである。
【
図7】
図7(a)は、実施例1におけるリード/ライト動作を示すフローチャート、
図7(b)は、実施例1におけるUDFの設定を示すフローチャートである。
【
図8】
図8は、実施例1におけるストア動作を示すフローチャートである。
【
図9】
図9(a)から
図9(d)は、実施例1におけるセルアレイおよびブロックを示す模式図である。
【
図11】
図11(a)および
図11(b)は、実施例1におけるそれぞれセルアレイのサイズおよびワードアドレスの例を示す図である。
【
図12】
図12は、実施例1における制御回路の例を示すブロック図である。
【
図13】
図13(a)から
図13(e)は、実施例1における各信号のレベルとパワースイッチの動作を示す図である。
【
図14】
図14は、実施例1における制御信号のタイミングチャートである。
【
図15】
図15は、実施例1における制御回路28の別の例のブロック図である。
【
図16】
図16(a)から
図16(c)は、実施例1、比較例1-1および1-2におけるSFBFストアフリー割合に対するBETを示す図、
図16(d)から
図16(f)は、SFBFストアフリー割合に対するストアレイテンシを示す図である。
【
図17】
図17は、実施例2におけるメモリセルの回路図である。
【
図18】
図18(a)および
図18(b)は、実施例2における各状態に印加される電圧を示す図である。
【
図19】
図19(a)および
図19(b)は、実施例2におけるリテンションおよびシャットダウンに印加される電圧を示す図である。
【
図20】
図20は、実施例2における各期間の消費電力を示す図である。
【
図22】
図22は、実施例2における電子回路を示すブロック図である。
【
図23】
図23は、実施例2におけるサブアレイのブロック図である。
【
図24】
図24は、実施例2における動作を示すフローチャートである。
【
図25】
図25は、実施例2におけるリテンション動作のタイプAを示すフローチャートである。
【
図26】
図26(a)から
図26(e)は、実施例2におけるリテンション動作のタイプAにおけるセルアレイを示す模式図である。
【
図27】
図27(a)から
図27(e)は、実施例2におけるリテンション動作のタイプAにおけるセルアレイおよびブロックを示す模式図である。
【
図28】
図28は、実施例2におけるリテンション動作のタイプBを示すフローチャートである。
【
図29】
図29(a)から
図29(e)は、実施例2におけるリテンション動作のタイプBにおけるセルアレイを示す模式図である。
【
図30】
図30(a)から
図30(e)は、実施例2におけるリテンション動作のタイプBにおけるセルアレイおよびブロックを示す模式図である。
【
図31】
図31は、実施例2におけるリテンション動作のタイプCを示すフローチャートである。
【
図32】
図32(a)から
図32(e)は、リテンション動作のタイプCにおけるセルアレイを示す模式図である。
【
図33】
図33(a)から
図33(e)は、リテンション動作のタイプCにおけるセルアレイおよびブロックを示す模式図である。
【
図34】
図34は、リテンション動作のタイプBにおける制御回路の例を示すブロック図である。
【
図35】
図35(a)から
図35(e)は、リテンション動作のタイプBにおける各信号のレベルとパワースイッチの動作を示す図である。
【
図36】
図36は、リテンション動作のタイプBにおける制御信号のタイミングチャートである。
【
図37】
図37は、リテンション動作のタイプCにおける制御回路の例を示すブロック図である。
【
図38】
図38は、リテンション動作のタイプCにおける制御信号のタイミングチャートである。
【
図39】
図39(a)から
図39(c)は、タイプAからCおよび比較例2におけるUD割合に対するBETを示す図、
図39(d)から
図39(f)は、UD割合に対するレイテンシを示す図である。
【
図40】
図40(a)から
図40(c)は、タイプC、比較例2-1および2-2におけるUD割合に対するスタンバイパワーを示す図である。
【
図41】
図41は、実施例3におけるヘッダPS・PDFB・タイプ1のメモリセルの回路図である。
【
図42】
図42は、実施例3におけるヘッダPS・PDFB・タイプ2のメモリセルの回路図である。
【
図43】
図43(a)は、リテンション状態におけるインバータ回路の伝達特性を示す図、
図43(b)は、BIモードにおけるSNMを示す図である。
【
図44】
図44(a)は、リテンション状態のSNMを示す図、
図44(b)は、BIモードのリーク電力を示す図、
図44(c)および
図44(d)は、STモードのリーク電力を示す図である。
【
図45】
図45は、実施例3におけるフッタPS・PDFB・タイプ2のメモリセルの回路図である。
【
図46】
図46は、実施例3におけるフッタPS・PUFB・タイプ1のメモリセルの回路図である。
【
図47】
図47は、実施例3におけるヘッダPS・PUFB・タイプ2のメモリセルの回路図である。
【
図48】
図48は、実施例3におけるヘッダPS・PUPDFBのメモリセルの回路図である。
【
図49】
図49は、実施例3におけるフッタPS・PUPDFBのメモリセルの回路図である。
【
図50】
図50(a)から
図50(f)は、セルに接続されるパワースイッチの配置を示す図である。
【
図53】
図53(a)および
図53(b)は、それぞれヘッダPS・PDFB・タイプ1型およびフッタPS・PUFB・タイプ1型の各電圧を示す図である。
【
図54】
図54は、実施例4におけるヘッダPS・PDFB・タイプ1型のメモリセルの回路図である。
【
図55】
図55は、実施例4におけるフッタPS・PUFB・タイプ1型のメモリセルの回路図である。
【
図56】
図56は、実施例4におけるヘッダPS・PUPDFB・PD側タイプ1型のメモリセルの回路図である。
【
図57】
図57は、実施例4におけるフッタPS・PUPDFB・PU側タイプ1型のメモリセルの回路図である。
【
図58】
図58は、実施例4の変形例1に係る電子回路の回路図である。
【
図59】
図59(a)および
図59(b)は、フリップフロップ回路のバタフライカーブを示す図である。
【
図60】
図60(a)は、SNMを示す図、
図60(b)は、スタンバイパワーを示す図である。
【
図61】
図61(a)は、シミュレーションしたロジックシステムの概念図、
図61(b)は、システムAおよびCの規格化スタンバイパワーを示す図である。
【発明を実施するための形態】
【0022】
以下、図面を参照し実施例について説明する。
【実施例0023】
特許文献3のように、通常のSRAM動作(すなわちリード/ライト動作)のときに書き換えられたメモリセルのみにストア動作を行う。この方法では、セルアレイのサイズが大きくなると、ストア動作を待機するメモリセルにおけるリーク電流に起因する消費電力が大きくなる。そこで、書き換えられていないメモリセルをはじめにシャットダウンし、その後、書き換えられたメモリセルにストア動作を行うことが考えられる。しかし、書き換えられたメモリセルのデータがリストア後に不要なデータであってもストア動作を行ってしまう。これにより、消費電力およびレイテンシが増大する。
【0024】
実施例1は、消費電力および消費エネルギーを抑制することを目的とする。具体的には、PG(パワーゲーティング)時(電源遮断時)、PGへの移行およびPGからの復帰における消費電力および消費エネルギーを削減すること、およびPGに関するBETを削減することを目的とする。
【0025】
実施例1では、書き換えられているかいないかにかかわらずストアしなくてもよいデータのメモリセルをはじめにシャットダウンし、その後、残りのメモリセルにストア動作を行う。これにより、消費電力およびレイテンシを抑制できる。
【0026】
より具体的に、セルアレイを複数のブロックに分割する。記憶階層より上位の階層においてブロック毎のストアフリーを判断する。このとき、通常のSRAM動作において書き換えがあっても不要なデータであれば、ストアフリーブロックとする。上位の階層はリストア後に不要なデータの存在するブロックを指定するUDF(Useless Data Flag)を生成する。記憶階層ではUDFに基づき、ブロック毎にシャットダウンおよびストア動作を行う。これにより、効率的に消費電力を抑制できる。
【0027】
以下、実施例1の詳細な例について説明する。
[メモリセルの説明]
図1は、実施例1におけるメモリセルの回路図である。
図1に示すように、メモリセル10は、インバータ回路14および16、スピントランスファートルク磁気トンネル接合素子(STT-MTJ:以下では単に強磁性トンネル接合素子と呼ぶ)MTJ1およびMTJ2を主に備えている。
【0028】
インバータ回路14および16はループ状に接続され双安定回路12を構成している。インバータ回路14は、FET(Field Effect Transistor)m1およびm2を備えている。インバータ回路16はFETm3およびm4を備えている。FETm1およびm3はPチャネルMOSFETであり、FETm2およびm4はNチャネルMOSFETである。FETm1およびm3のソースは仮想電源電圧VVDDが印加された電源線15aに接続され、FETm2およびm4のソースはグランド電圧VGNDが印加されたグランド線15bに接続されている。これにより、双安定回路12には電源電圧(VVDD-VGND)が供給される。
【0029】
インバータ回路14と16が接続されたノードがそれぞれノードQ、QBである。ノードQとノードQBとは互いに相補ノードである。双安定回路12は、ノードQおよびノードQBがそれぞれハイレベルおよびローレベル、または、ノードQおよびノードQBがそれぞれローレベルおよびハイレベルとなることにより安定状態となる。双安定回路12は、安定状態となることにより、データを記憶することができる。
【0030】
ノードQおよびQBは、それぞれNチャネルFETm5およびm6を介しビット線BLおよびBLBに接続されている。FETm5およびm6のゲートはワード線WLに接続されている。FETm1からm6により6トランジスタ(FET)型のSRAMが形成される。
【0031】
ノードQと制御線CTRLとの間にFETm7と強磁性トンネル接合素子MTJ1とが接続され、ノードQBと制御線CTRLとの間にFETm8と強磁性トンネル接合素子MTJ2とが接続されている。FETm7およびm8のソースおよびドレインの一方は、ノードQおよびQBに、ソースおよびドレインの他方は強磁性トンネル接合素子MTJ1およびMTJ2にそれぞれ接続されている。FETm7およびm8のゲートはスイッチ線SRに接続されている。なお、FETm7およびm8は、それぞれ、強磁性トンネル接合素子MTJ1およびMTJ2と制御線CTRLとの間に接続されていてもよい。また、FETm7およびm8は、設けられていなくてもよい。
【0032】
強磁性トンネル接合素子MTJ1およびMTJ2は、それぞれフリー層17、トンネル絶縁膜18およびピン層19を有している。フリー層17およびピン層19は強磁性体からなる。フリー層17とピン層19との磁化方向が平行な状態(平行状態)では、MTJ1およびMTJ2の抵抗値が低くなる。フリー層17とピン層19との磁化方向が反平行な状態(反平行状態)では、MTJ1およびMTJ2の抵抗値が平行状態より高くなる。MTJ1およびMTJ2は、MTJ1およびMTJ2の抵抗値によりデータをストアする。後述する仮想電源方式では、フリー層17が制御線CTRLに接続され、仮想接地方式では、ピン層19が制御線CTRLに接続される。仮想電源方式では、FETm7およびm8はNチャネルFETであり、仮想接地方式では、FETm7およびm8はPチャネルFETである。
【0033】
電源線15aと電源15cとの間にパワースイッチ30が接続されている。パワースイッチ30は電源線15aと電源15cとの間に並列に接続されたパワースイッチPS1およびPS2を含む。パワースイッチPS1およびPS2は例えばそれぞれPチャネルFETおよびNチャネルFETである。パワースイッチPS1およびPS2のゲートにそれぞれPS制御信号VPG1およびVPG2が印加される。パワースイッチ30は、グランド線15bとグランド15dとの間に設けられていてもよい。この場合、電源線15aには電源の電圧VDDが印加され、グランド線15bにはグランド電圧VGND以上の仮想グランド電圧VVGNDが印加される。これを仮想接地方式という。パワースイッチ30は、電源線15aと電源15cとの間と、グランド線15bとグランド15dとの間と、の両方に設けられていてもよい。
【0034】
[各状態の説明]
図2(a)および
図2(b)は、実施例1における各状態に印加される電圧を示す図である。
図2(a)のように、リード/ライト状態ではVPG1およびVPG2はローレベルLである。パワースイッチPS1およびPS2はそれぞれオンおよびオフとなる。これにより、電源線15aとグランド線15bとの間に供給される電源電圧VVDD-VGNDは電圧V2となる。電圧V2は例えば1.2Vである。
【0035】
スリープ状態ではVPG1およびVPG2はハイレベルHである。パワースイッチPS1およびPS2はそれぞれオフおよびオンとなる。これにより、電源電圧VVDD-VGNDは電圧V2より低い電圧V1となる。電圧V1は例えば0.8Vである。
【0036】
シャットダウン状態ではVPG1およびVPG2はそれぞれハイレベルHおよびローレベルLである。パワースイッチPS1およびPS2はオフとなる。電源線15aに電源電圧が印加されない。これにより、電源電圧VVDD-VGNDは電圧V1より低い電圧V0となる。電圧V0は例えばほぼ0Vである。
【0037】
リード/ライト状態の期間は、通常のSRAMとして双安定回路12のデータを書き換え、揮発的にデータを保持する(これを、「データを揮発的に書き換える」という)期間である。双安定回路12へのデータの書き込みおよび読み出しがSRAMと同じように行われる。すなわち、ワード線WLをハイレベルとしFETm5およびm6を導通状態とすることにより、双安定回路12にビット線BLおよびBLBのデータが書き込まれる。また、ビット線BLおよびBLBを等電位の浮遊状態としワード線WLをハイレベルとしFETm5およびm6を導通状態とすることにより、双安定回路12のデータをビット線BLおよびBLBに読み出すことができる。電源電圧VVDD-VGNDは、双安定回路12がデータの書き換えが可能でかつデータが保持できる電圧V2である。
【0038】
スリープ状態の期間は、メモリセル10がスリープモードの期間である。スリープ状態では、双安定回路12はデータを保持するのみであり、データの書き換えを行なわない。電源電圧VVDD-VGNDは、双安定回路12がデータの書き換えはできないがデータが保持できる電圧V1である。電圧V1は電圧V2より低いため、消費電力を抑制できる。
【0039】
リード/ライト状態およびスリープ状態では、制御線CTRLおよびスイッチ線SRにおける制御信号VCTRLおよびVSRはローレベルであり、FETm7およびm8はオフしている。FETm5およびm6をオフとすることにより、双安定回路12のデータが保持される。なお、双安定回路12へのデータの書き込み、読み出し、および保持のとき、スイッチ線SRをローレベルとし、FETm7およびm8をオフとすることが好ましい。これにより、ノードQおよびQBと制御線CTRL間の電流をほぼ遮断し、安定動作を実現し、さらに、消費電力の増大を抑制することができる。
【0040】
図2(b)に示すように、ストア期間は、ストア動作が行なわれる期間であり、双安定回路12に記憶されたデータを強磁性トンネル接合素子MTJ1およびMTJ2にストアし、これを不揮発的に保持する(これを、「不揮発的にストアする」という)期間である。ストア期間では電源電圧VVDD-VGNDはリード/ストア状態と同じ電圧V2である。制御信号VSRをハイレベルとする。
【0041】
Hストア期間において、制御信号VCTRLをローレベルとする。これにより、ノードQおよびQBのうちハイレベルのノードに対応するMTJが高抵抗となる。Lストア期間において、制御信号VCTRLをハイレベルとする。これにより、ノードQおよびQBのうちローレベルのノードに対応するMTJ1およびMTJ2が低抵抗となる。Hストア期間とLストア期間の順番は逆でもよい。このように、双安定回路12のデータが強磁性トンネル接合素子MTJ1およびMTJ2にストアされる。
【0042】
シャットダウン状態の期間は、メモリセル10をシャットダウンとする期間である。シャットダウン状態においては、電源電圧VVDD-VGNDをほぼ0Vである電圧V0とする。このとき、メモリセル10にほとんど電流が流れないため、消費電力を抑制することができる。
【0043】
リストア期間においては、制御信号VCTRLをローレベルとし制御信号VSRをハイレベルとした状態で電源電圧VVDD-VGNDを電圧V0から電圧V2に立ち上げることにより行なわれる。高抵抗の強磁性トンネル接合素子MTJ1およびMTJ2に対応するノードQおよびQBがハイレベルとなる。低抵抗のMTJ1およびMTJ2に対応するノードQおよびQBがローレベルとなる。このように、強磁性トンネル接合素子MTJ1およびMTJ2にストアされ不揮発的に保持されたデータ(これを、「不揮発的にストアされたデータ」という)が双安定回路12にリストアされる。
【0044】
制御信号VCTRLおよびVSRのハイレベルは例えばVDDまたはVVDD、ローレベルは例えばVGNDである。制御信号VCTRLにおけるハイレベルはローレベルより高く、制御信号VSRにおけるハイレベルはローレベルより高い電圧であればよい。
【0045】
図3は、実施例1における各期間の消費電力を示す図である。実線は
図1に示したメモリセル10(NV-SRAM)を有する記憶回路の消費電力(パワー)を示す。実線の消費電力は、リーク電流に起因する電力とストアおよびリストアに用いる電力を含み、リード/ライト期間におけるリードおよびライトの電力は含んでいない。点線は、FETm7、FETm8、MTJ1およびMTJ2を設けない6トランジスタSRAM(6T-SRAM)セルを用いた記憶回路の消費電力を示している。破線は、6T-SRAMセルを用いた記憶回路のリード/ライト期間の消費電力を示している。破線および点線の消費電力は、リーク電流に起因する電力を含み、リード/ライト期間におけるリードおよびライトの電力は含んでいない。
【0046】
図3に示すように、メモリセル10の動作期間には、スリープ期間(スリープ状態の期間)、リード/ライト期間(リード/ライト状態の期間)、ストア期間、シャットダウン期間(シャットダウン状態の期間)およびリストア期間がある。スリープ期間およびリード/ライト期間の長さをτ
NLとする。ストア期間、シャットダウン期間およびリストア期間の長さをそれぞれτ
Store、τ
Shutdownおよびτ
Restoreとする。
【0047】
NV-SRAMのスリープ期間およびリード/ライト期間の消費電力はそれぞれPSleepおよびPNLである。NV-SRAMのPSleepおよびPNLは6T-SRAMのスリープ期間およびリード/ライト期間の消費電力よりΔPNL大きい。これは、NV-SRAMではFETm7およびm8にリーク電流が流れるためである。
【0048】
NV-SRAMでは、ストア期間にストアのための電力ΔPStoreが生じる。シャットダウン期間に消費電力PShutdownが生じる。消費電力PShutdownはリーク電流に起因する。リストア期間にリストアのための電力ΔPRestoreが生じる。6T-SRAMでは、NV-SRAMにおけるストア期間、シャットダウン期間およびリストア期間に相当する期間を、スリープ期間とする。よって、これらの期間の6T-SRAMの消費電力はPSleep-ΔPNLとなる。シャットダウン期間のNV-SRAMと6T-SRAMの消費電力の差はΔPShutdownである。
【0049】
NV-SRAMセルの6T-SRAMセルに対するエネルギーの増加は、スリープ期間およびリード/ライト期間におけるΔPNLによるエネルギー増加ΔENL、ストア期間のΔPStoreによるエネルギー増加ΔEStore、およびリストア期間のΔPRestoreによるエネルギー増加ΔERestoreの合計である。NV-SRAMセルがシャットダウンにより節約できるエネルギーは、シャットダウン期間におけるΔPShutdownによるエネルギー減少ΔESaveである。ΔENL+ΔEStore+ΔERestoreがΔESaveと等しくなるτShutdownがBET(Break-even time)である。双安定回路12にデータのリード/ライトが行われない待機期間がBET以上のときはシャットダウン状態とし、BET以下のときはスリープ状態とする。これにより、極めて高効率にエネルギーを削減できる。
【0050】
[電子回路の説明]
図4は、実施例1における電子回路を示すブロック図である。
図4に示すように、電子回路100は、セルアレイ20、制御回路28を備えている。セルアレイ20は、複数のサブアレイ22に分割されている。サブアレイ22の記憶容量は例えば8kバイトである。サブアレイ22には複数のメモリセル10がマトリックス状に設けられている。サブアレイ22はバス25に接続されている。サブアレイ22の個数は適宜設計可能である。
【0051】
サブアレイ22にはパワースイッチ30および周辺回路38が設けられている。パワースイッチ30はサブアレイ22毎に電源電圧を設定する。周辺回路38はサブアレイ22毎にストアフリー制御を行う。
【0052】
制御回路28はSFBF(Store Free Block Flag)レジスタ41およびUDF(Useless Data Flag)レジスタ40を備えている。制御回路28はアドレスに基づきブロックごとにSFBFを生成しレジスタ41に格納する。制御回路28が外部回路から受信したブロック毎のUDFをレジスタ40に格納する。制御回路28は、PS制御信号を用い各サブアレイ22のパワースイッチ30を制御することでサブアレイ22毎にパワーを制御する。このように制御回路28はパワーマネージメントユニットとして機能する。また、制御回路28は、ストア制御信号を用い各サブアレイ22の周辺回路38を制御することで、サブアレイ22毎にストアフリー動作を制御する。このように制御回路28はストアフリーマネージメントユニットとして機能する。さらに、制御回路28はバス25を介しサブアレイ22へのデータの入出力を行う。制御回路28の少なくとも一部の機能は外部のCPU(Central Processing Unit)等のプロセッサ回路がソフトウエアと協働で行ってもよい。
【0053】
[サブアレイの説明]
図5は、実施例1におけるサブアレイのブロック図である。
図5に示すように、サブアレイ22は、メモリセル10を有する複数のブロック24(例えば8個)に分割されている。ブロック24の記憶容量は例えば1kバイトである。ブロック24の個数は適宜設計可能である。サブアレイ22内には複数のメモリセル10がマトリックス状に配置されている。サブアレイ22内には、行方向にワード線WLおよびスイッチ線SRが延伸し、列方向にビット線BL(
図1のビット線BLおよびBLBに相当する)および制御線CTRLが延伸している。各メモリセル10には、ワード線WL、スイッチ線SR、ビット線BL、制御線CTRL、電源線15aおよびグランド線15bが接続されている。
【0054】
各サブアレイ22に対応し、パワースイッチ30および周辺回路38が設けられている。制御回路28は、パワースイッチ30および周辺回路38を制御する。パワースイッチ30は、ブロック24毎に電源電圧VVDD-VGNDを電圧V2、V1およびV0にできる。周辺回路38は、WLデコーダ31、列デコーダ32、36、プリチャージ回路33、読出書込回路34およびSRデコーダ35を備えている。
【0055】
リード/ライト期間において、WLデコーダ31は行アドレスに基づきワード線WLを選択する。列デコーダ32は列アドレスに基づきビット線BLを選択する。プリチャージ回路33はビット線BLをプリチャージする。読出書込回路34は、WLデコーダ31および列デコーダ32に選択されたメモリセル10の双安定回路12にデータを書き込みまたは双安定回路12からデータを読み出しバス25に出力する。
【0056】
ストア期間において、SRデコーダ35は行アドレスに基づきスイッチ線SRを選択する。列デコーダ36は列アドレスに基づき制御線CTRLを選択する。WLデコーダ31および列デコーダ32に選択されたメモリセル10において双安定回路12のデータが強磁性トンネル接合素子MTJ1およびMTJ2に不揮発的にストアされる。
【0057】
[動作の説明]
図6は、実施例1における動作を示すフローチャートである。
図6に示すように、制御回路28は、外部回路からの指令によりセルアレイ20の電源を投入する(ステップS10)。例えば、制御回路28は全てのブロック24において、制御信号VSRをハイレベルとすることでFETm7およびm8をオンし、かつパワースイッチPS1をオンしPS2をオフする。これにより、セルアレイ20内の各メモリセル10において、強磁性トンネル接合素子MTJ1およびMTJ2内のデータが双安定回路12にリストアされる。
【0058】
制御回路28は、リードおよびライト動作を行う(ステップS12)。制御回路28は、外部回路からセルアレイ20をシャットダウンする指示を受けたか否か判定する(ステップS14)。NoのときステップS12に戻る。Yesのとき、制御回路28は、ストア動作およびシャットダウンを行う(ステップS16)。その後終了しステップS10に戻る。
【0059】
[リード/ライト動作の説明]
図6のステップS12における動作について説明する。
図7(a)は、実施例1におけるリード/ライト動作を示すフローチャートである。
図7(a)に示すように、制御回路28はレジスタ41の全てのブロック24に対応するSFBFをリセットする(ステップS20)。例えば制御回路28は全てのブロック24に対応するSFBFをハイレベルHとする。制御回路28にライトアドレスが入力される(ステップS22)。制御回路28は、ライトを行うブロック24(すなわち書き込みを行うメモリセル10を含むブロック24)を選択する(ステップS24)。制御回路28は、WLデコーダ31および列デコーダ32を用い選択されたブロック24に対応するレジスタ41にSFBFをセットする(ステップS26)。例えば制御回路28は対応するSFBFをローレベルLとする。制御回路28は、読出書込回路34を用い選択されたブロック24内のメモリセル10にデータを書き込む(ステップS28)。制御回路28は、動作を終了するか判定する(ステップS30)。NoのときステップS22に戻る。Yesのとき終了する。
【0060】
[UDF設定の説明]
UDFを設定する動作について説明する。UDFは、ブロック24のデータがストアしなくてもよいデータ(すなわち、シャットダウン後にリストアされなくてもよいデータ)であることを示す情報である。
図7(b)は、実施例1におけるUDFの設定を示すフローチャートである。
図7(b)に示すように、制御回路28はレジスタ40の全てのブロック24に対応するUDFをリセットする(ステップS32)。例えば制御回路28は全てのブロックに対応するUDFをローレベルLとする。制御回路28に外部回路からUDFが入力される(ステップS34)。UDFは、例えばブロック24にデータをライトするときに入力される。または、データのリードまたはライトに関係なく、定期的または不定期に入力される。制御回路28はUDFが指定するブロック24に対応するレジスタ40にUDFをセットする(ステップS36)。例えば制御回路28は対応するUDFをハイレベルHとする。制御回路28は、動作を終了するか判定する(ステップS38)。NoのときステップS34に戻る。Yesのとき終了する。
【0061】
UDFは、例えば、外部回路のCPUにおけるOS(Operating System)またはプログラム等のソフトウエアにより生成される。また、UDFの生成の一部は専用のハードウェア回路が行ってもよい。UDFを生成するアルゴリズムをコンパイラ上に実装しておき、コンパイラによりUDFを自動的に生成してもよい。ユーザがUDFとなるデータをプログラム上で指定してもよい。UDFとなるデータを機械学習等により学習させて、UDFを生成してもよい。これらのUDFの生成の方法を複数組み合わせてもよい。電子回路100がキャッシュメモリのとき、ストアしなくてもよいデータとは、例えば長期間使われなかったデータ、使用頻度の少ないデータ、またはライト時期が古いデータなどである。
【0062】
[ストア動作の説明]
図6のステップS16の動作について説明する。
図8は、実施例1におけるストア動作を示すフローチャートである。
【0063】
図9(a)から
図9(d)は、実施例1におけるセルアレイおよびブロックを示す模式図である。
図9(a)から
図9(d)において、セルアレイ20内のサブアレイ22を3×3の9個、1つのサブアレイ22内のブロック24を4×2の8個として説明する。「スリープ」はスリープ状態(すなわちブロック24内の全てのメモリセル10がスリープモードの状態)のブロック24を示す。「ストア」はストア動作中のブロック24を示す。「SFBFシャットダウン」はSFBFによるシャットダウン状態(すなわち全てのメモリセル10がシャットダウン状態)のブロック24を示し、「UDFシャットダウン」はUDFによるシャットダウン状態のブロック24を示し、「ストア後シャットダウン」はストア動作後のシャットダウン状態のブロック24を示す。
【0064】
図10(a)から
図10(c)は、実施例1におけるブロックを示す模式図である。
図10(a)から
図10(c)において、ブロック24a内には複数の行23が設けられている。「スタンバイ」はストアを待機している状態の行23である。「ストア」はストア動作中の行23を示す。行23aから23cは複数の行23のうちの特定の行を示す。
【0065】
図8に示すように、
図6のステップS16において制御回路28がストア動作を開始すると、制御回路28は、各ブロック24に対応するUDFおよびSFBFをレジスタ40および41からそれぞれ読み出す(ステップS40)。制御回路28は、UDFおよびSFBFの少なくとも一方がセットされた(例えばハイレベルH)ブロック24をストアフリーブロックとして抽出する。ストアフリーブロックを一括してシャットダウンする(ステップS42)。例えば制御回路28は、パワースイッチ30にストアフリーブロックの電源電圧VVDD-VGNDをV0とさせる。
【0066】
図9(a)に示すように、制御回路28は9個のサブアレイ22の各8個のブロック24である9×8=72個のうち、SFBFがセットされている17個のブロック24と、UDFがセットされている19個のブロック24と、の合計が36個のブロック24を一括してシャットダウンする。残りの36個のブロック24をスリープ状態とする。
【0067】
制御回路28は、ストア動作を実行する最初のブロック24aを選択する(ステップS44)。
図9(b)に示すように、制御回路28はサブアレイ22aのブロック24aを選択し、ストア動作を開始する。
【0068】
選択されたブロック24aのストア動作として、制御回路28は、選択されたブロック24a内を行ごとにストア動作する(ステップS46)。
【0069】
図10(a)に示すように、制御回路28は最初の行23aをストア動作する。他の行23をスタンバイとする。例えば、制御回路28は行23aのFETm7およびm8をオンし、スタンバイ状態の行23のFETm7およびm8をオフする。制御回路28は、列方向に延伸する制御線CTRLにストア動作のための電圧を印加する。これにより、FETm7およびm8がオンかつ制御線CTRLに電圧を印加したメモリセル10において、双安定回路12のデータが強磁性トンネル接合素子MTJ1およびMTJ2に不揮発的にストアされる。制御線CTRLには、1列ずつ電圧を印加してもよいし複数列同時に電圧を印加してもよい。行23a内の全てのメモリセル10のストア動作が終了すると行23aのストア動作が終了する。
【0070】
図10(b)に示すように、制御回路28は次の行23bをストア動作する。
図10(c)に示すように、制御回路28は、順に行23をストア動作し、最後の行23cをストア動作する。全ての行23のストア動作が終了すると、ブロック24aのストア動作が終了する。
【0071】
制御回路28は、ブロック24aをシャットダウンする(ステップS48)。制御回路28は、選択されたサブアレイ22内の最後のブロックのストア動作が終了したか判断する(ステップS50)。Noのとき、次のブロック24bに進み(ステップS52)、ステップS44に戻る。
【0072】
図9(c)に示すように、ステップS44において制御回路28はブロック24bを選択し、ステップS46においてブロック24bのストア動作を行なう。ステップS48において制御回路28はブロック24bをシャットダウンする。その後、順次ステップS44からS52を繰り返す。
【0073】
図9(d)に示すように、最後のブロック24のストア動作が終了し、全てのブロック24がシャットダウン状態となる。制御回路28はステップS50においてYesと判定し、ストア動作を終了する。
【0074】
[制御回路の例]
図11(a)および
図11(b)は、実施例1におけるそれぞれセルアレイのサイズおよびワードアドレスの例を示す図である。
図11(a)に示すように、セルアレイ20のサイズとして、例えば32kバイト、256kバイトおよび2Mバイトとする。1個のブロック24のサイズを1kバイトとし、1個のサブアレイ22内のブロック24の個数Nblockを8とすると、サブアレイ22の個数NSAはそれぞれ4個、32個、256個となる。サブアレイ22のアドレスのビット数Xはそれぞれ2ビット、5ビットおよび8ビットとなる。ブロック24のアドレスのビット数Yは3ビットである。
【0075】
図11(b)に示すように、ワードアドレスは、上位からサブアレイアドレスXビット、ブロックアドレスYビットおよび、ブロック内の行アドレス(例えば1kバイトのとき7ビット)である。
【0076】
図12は、実施例1における制御回路の例を示すブロック図である。制御回路28は、デコーダ42、レジスタ40、41、制御回路43およびPS制御回路44を備えている。レジスタ40および41のビット数は各々ブロック24の個数のNSA×Nblock以上である。NSA×Nblock個のブロック24のうちブロック24Aから24Cについて説明する。
【0077】
UDF記憶部40Aから40Cはそれぞれブロック24Aから24Cに対応する1ビットのラッチ回路である。
図7(b)のステップS32において、全ての記憶部40Aから40CがローレベルLにリセットされる。ステップS34において制御回路28にUDFが入力すると、ステップS36において、対応するブロック24Aから24Cの記憶部40Aから40CがハイレベルHにセットされる。
【0078】
SFBF記憶部41Aから41Cはそれぞれブロック24Aから24Cに対応する1ビットのラッチ回路である。
図7(a)のステップS20において、全ての記憶部41Aから41CがハイレベルHにリセットされる。ステップS22においてデコーダ42にライトのアドレス信号が入力する。ステップS24においてサブアレイアドレスXおよびブロックアドレスYから対応するブロック24が選択される。ステップS26において、対応するブロック24AからCの記憶部40Aから40CがローレベルLにセットされる。
【0079】
制御回路43は、ストア制御信号a、bおよびストア制御信号を出力する。PS制御回路44は、レジスタ40および41に保持されたUDFおよびSFBFに基づき各ブロック24Aから24CのパワースイッチPS1AからPS1CおよびPS2AからPS2Cを制御する。
【0080】
PS制御回路44は、各々ブロック24Aから24Cの個数のAND回路50、NAND回路51、OR回路52、NOR回路53、AND回路54、AND回路55、OR回路56、OR回路57、OR回路58およびAND回路59を備えている。
【0081】
PS制御回路44に入力する制御信号a、b、ENNLBおよびENSLPは、各々ブロック24Aから24Cに共通の制御信号であり、制御信号VCTRLおよびVSRは、各々ブロック24Aから24Cごとに独立する信号である。
【0082】
AND回路50には、UDF記憶部40Aから40Cの出力信号と制御信号ENNLBが入力する。NAND回路51にはUDF記憶部40Aから40Cの出力信号と制御信号ENNLBが入力する。
【0083】
OR回路52にはSFBF記憶部41Aから41Cの出力信号と制御信号aが入力する。NOR回路53にはSFBF記憶部41Aから41Cの出力信号と制御信号bが入力する。AND回路54にはOR回路52の出力信号と制御信号ENNLBが入力する。AND回路55にはNOR回路53の出力信号と制御信号ENNLBが入力する。OR回路56にはAND回路54の出力信号と制御信号ENSLPが入力する。OR回路57にはAND回路55の出力信号と制御信号ENSLPが入力する。
【0084】
OR回路58にはAND回路50の出力信号とOR回路56の出力信号が入力する。OR回路58からPS制御信号VPG1AからVPG1Cが出力される。PS制御信号VPG1AからVPG1Cはそれぞれブロック24Aから24CのパワースイッチPS1AからPS1Cのゲートに入力する。
【0085】
AND回路59にはNAND回路51の出力信号とOR回路57の出力信号が入力する。AND回路59からPS制御信号VPG2AからVPG2Cが出力される。PS制御信号VPG2AからVPG2Cはそれぞれブロック24Aから24CのパワースイッチPS2AからPS2Cのゲートに入力する。
【0086】
図13(a)から
図13(e)は、実施例1における各信号のレベルとパワースイッチの動作を示す図である。
図13(a)に示すように、リード/ライト期間には、制御信号a、b、ENNLBおよびENSLPは全てLである。ブロック24Aから24CのUDFをそれぞれL、LおよびHであるとする。ブロック24Aから24CのSFBFをそれぞれL、HおよびLであるとする。このとき、VPG1AからVPG1CはLでありパワースイッチPS1AからPS1Cはオンである。VPG2AからVPG2CはLでありパワースイッチPS2AからPS2Cはオフである。このように、リード/ライト期間では、UDFおよびSFBFによらず、パワースイッチPS1AからPS1CがオンでありパワースイッチPS2AからPS2Cがオフである。よって、全ブロック24Aから24Cには電源電圧VVDD-VGNDとしてリード/ライト用の電圧V2が印加される。
【0087】
図13(b)に示すように、スリープ期間には、制御信号ENSLPがHであり、制御信号a、bおよびENNLBはLである。VPG1AからVPG1CはHでありパワースイッチPS1AからPS1Cはオフである。VPG2AからVPG2CはHでありパワースイッチPS2AからPS2Cはオンである。このように、スリープ期間では、UDFおよびSFBFによらず、パワースイッチPS1AからPS1CがオフでありパワースイッチPS2AからPS2Cがオンである。よって、全ブロック24Aから24Cには電源電圧VVDD-VGNDとしてスリープ用の電圧V1が印加される。
【0088】
図8のステップS42において、リード/ライト状態からストアフリーブロック24Bおよび24Cを一括してシャットダウン状態とする。
図13(c)に示すように、
図13(a)と比べ、制御信号aおよびENNLBはLからHとなる。制御信号bおよびENSLPはLを維持する。VPG1AからVPG1CはLからHとなりパワースイッチPS1AからPS1Cはオンからオフとなる。VPG2AはLからHとなり、VPG2BおよびVPG2CはLを維持する。パワースイッチPS2Aはオフからオンし、パワースイッチPS2BおよびPS2Cはオフを維持する。これにより、UDFおよびSFBFの少なくとも一方がHのブロック24Bおよび24Cの電源電圧VVDD-VGNDはV0となり、ブロック24Bおよび24Cはシャットダウン状態となる。UDFおよびSFBFの両方がLのブロック24Aの電源電圧VVDD-VGNDはV1となり、ブロック24Aはスリープ状態となる。
【0089】
図8のステップS42の状態(この期間をT1とする)から、ステップS46において、選択されたブロック24Aがストア動作する。
図13(d)に示すようにステップS42からS46において、制御信号aはHからLとなり、制御信号bはLからHとなる。制御信号ENNLBおよびENSLPはそれぞれHおよびLを維持する。VPG1AはHからLとなり、PS1Aはオフからオンとなる。VPG2AはHからLとなり、PS2Aはオンからオフとなる。PS1B、PS1C、PS2BおよびPS2Cはオフを維持する。ブロック24Aの電源電圧VVDD-VGNDはスタンバイ用の電圧V2となり、ブロック24Bおよび24Cの電源電圧VVDD-VGNDはV0となる。これにより、ブロック24Aはストア動作のスタンバイ状態となり、ブロック24BおよびCはシャットダウン状態を維持する。ブロック24Aには制御回路43から出力されるストア制御信号に応じて制御信号VCTRLおよびVSRが印加される。これにより、
図10(a)から
図10(c)のように、対象となるブロック24Aのストア動作が実行される。この期間をT2とする。
【0090】
図8のステップS48において、ブロック24Aのストアが終了すると、制御信号aはLからHとなる。制御信号b、ENNLBおよびENSLPはそれぞれH、HおよびLを維持する。VPG1AはLからHとなり、PS1Aはオンからオフとなる。これにより、ブロック24Aの電源電圧VVDD-VGNDは電圧V2から電圧V0となり、ブロック24Aはシャットダウン状態となる。この期間をT3とする。
図8のステップS44からS52のループを行うことにより、ストア動作対象のブロック24について、制御信号(a、b)を順次(H、L)→(L、H)→(H、H)とする。これにより、ストア動作対象のブロック24が順次ストア動作される。
【0091】
図13(e)に示すように、シャットダウン状態においては、制御信号a、b、ENNLBおよびENSLPはそれぞれH、H、HおよびLである。PS1AからPS1CおよびPS2AからPS2Cは、UDFおよびSFBFによらずオフとなる。これにより、全ブロック24の電源電圧VVDD-VGNDはV0であり、全ブロック24がシャットダウン状態となる。
【0092】
図14は、実施例1における制御信号のタイミングチャートである。制御信号a1~anは各ブロック241から24nに対応する制御信号aであり、制御信号b1~bnは各ブロック241から24nに対応する制御信号bである。ブロック241~24kはストア動作対象のブロックであり、ブロック24k+1~ブロック24nはストアフリーブロックである。
【0093】
図14に示すように、時刻t10とt11との間はリード/ライト期間であり、制御信号a1~an、b1~bn、ENNLBおよびENSLPはLである。時刻t11とt12との間はスリープ期間であり、制御信号ENSLPはHであり、他の制御信号はLである。
【0094】
ストア動作が開始されると、時刻t13(
図8のステップS42)において、制御信号ENNLBおよびa1~anがHとなる。これにより、ストア動作対象のブロック241~24kは期間T1のスリープ状態となり、ストアフリーブロック24k+1~24nはシャットダウン状態となる。この状態は期間T1である。
【0095】
時刻t14において、ストア動作対象のブロック241に対応する制御信号a1およびb1はそれぞれLおよびHとなる。時刻t14とt15との間の期間はブロック241の期間T2であり、ブロック241はストア動作されている。時刻t15において、制御信号a1はHとなりb1はHを維持する。時刻t15以降の期間はブロック241の期間T3であり、ブロック241はシャットダウン状態である。時刻t15において、ブロック242に対応する制御信号a2およびb2はそれぞれLおよびHとなる。時刻t15とt16との間の期間はブロック242の期間T2であり、ブロック242はストア動作されている。時刻t16において制御信号a2はHとなりb2はHを維持する。時刻t16以降の期間はブロック242の期間T3であり、ブロック242はシャットダウン状態である。
【0096】
ストア動作対象のブロック241~24kについて順次ステップS46およびS48を行う。時刻t17において全てのストア動作対象のブロック241~24kについてストア動作が終了すると、全ブロック241~24nがシャットダウン状態となる。時刻t18において、制御信号a1~an、b1~bn、ENNLBおよびENSLPはLとなると、リード/ライト期間となる。
【0097】
このように、時刻t13においてブロック241から24kは一括してスリープ状態(期間T1)となり、ブロック24k+1から24nは一括してシャットダウン状態となる。その後、ブロック241から24kは順次ストア動作(期間T2)が行われる。ストア動作の終了したブロックは順次シャットダウン状態(期間T3)となる。
【0098】
図15は、実施例1における制御回路28の別の例のブロック図である。
図15に示すように、制御信号ENSLPをブロック24Aから24C毎の信号とすることで、ブロック24Aから24Cごとにスリープ状態とすることが可能である。その他の構成は
図12と同じであり説明を省略する。
【0099】
[シミュレーション]
実施例1に係る電子回路についてBETおよびストア動作のレイテンシをシミュレーションした。比較例1-1および比較例1-2についてもシミュレーションした。比較例1-1では、サブアレイ22およびブロック24の一括遮断を行なわず、SFBFがセットされているブロック24のストア動作を順次スキップする。比較例1-2では、UDFによる一括遮断を行わずSFBFによる一括遮断のみを行なう。
【0100】
シミュレーション条件は以下である。リード/ライト期間、ストア期間およびリストア期間における電源電圧VVDD-VGNDである電圧V2を1.2Vとした。スリープ期間における電源電圧VVDD-VGNDである電圧V1および制御線CTRLの電圧をそれぞれ0.8Vおよび0Vとした。ストア期間におけるスイッチ線SRの電圧を0.75Vとした。ストア期間における制御線CTRLのハイレベルおよびローレベルの電圧をそれぞれ0.45Vおよび0Vとした。サブアレイ22およびブロック24の記憶容量をそれぞれ8kバイトおよび1kバイトとした。
【0101】
セルアレイ20内の全メモリセルの個数に対するSFBFによるストアフリーメモリセルの個数の比をSFBFストアフリー割合(proportion)とした。セルアレイ20内の全メモリセルの個数に対するUDFによるストアフリーメモリセルの個数の比をUD割合(proportion)とした。セルアレイ20内に揮発的に書き込まれるメモリセル10は特定のサブアレイ22およびブロック24に集中することを考慮し、ストア動作にかかる時間をストアレイテンシとした。セルアレイ20の記憶容量が32kバイト、256kバイトおよび2Mバイトについてシミュレーションした。
【0102】
図16(a)から
図16(c)は、実施例1、比較例1-1および1-2におけるSFBFストアフリー割合に対するBETを示す図、
図16(d)から
図16(f)は、SFBFストアフリー割合に対するストアレイテンシを示す図である。
図16(a)に示すように、比較例1-1では、32kバイトのときストアフリー割合が大きくなるとBETが短くなる。
【0103】
図16(b)および
図16(c)のように、256kバイトおよび2Mバイトと記憶容量が大きくなると、SFBFストアフリー割合が大きくなってもBETは小さくならない。これは以下の理由のためである。すなわち、記憶容量が大きくなると、ストア動作を待機するブロック24の数が大きくなる。ストア動作の待機中にもメモリセル10にはリーク電流が流れる。このため、セルアレイ20全体でのリーク電流が大きく、ストアフリー割合が大きくなってもBETは小さくならない。
【0104】
図16(d)から
図16(f)に示すように、比較例1-1ではストアレイテンシはストアフリー割合によらず一定である。
【0105】
図16(a)から
図16(c)のように、比較例1-2では記憶容量によらずストアフリー割合が大きくなるとBETが小さくなる。
図16(d)から
図16(f)のように、比較例1-2では記憶容量によらずストアフリー割合が大きくなるとストアレイテンシが短くなる。これらは、比較例1-2では、ストアフリーのブロック24を最初にシャットダウンするためである。
【0106】
図16(a)から
図16(c)のように、実施例1では、比較例1-1に比べUD割合が大きくなるとBETが短くなる。
図16(d)から
図16(f)のように、実施例1では、比較例1-1に比べUD割合が大きくなるとストアレイテンシが短くなる。
【0107】
実施例1によれば、
図1のように、各々のメモリセル10は、データを揮発的に記憶する双安定回路12と、双安定回路12に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを双安定回路12にリストアする不揮発性素子と、を有する。
図8のステップS42のように、制御回路28は、セルアレイ20をシャットダウン(電源遮断)するときに、複数のメモリセル10のうち揮発的に書き換えられているかいないかにかわらず不揮発的にストアしなくてもよいデータを揮発的に記憶する1または複数の第1メモリセルをシャットダウンする。ステップS44およびS46のように、第1メモリセルをシャットダウンした後、複数のメモリセルのうち残りの1または複数の第2メモリセルにおいて双安定回路12に揮発的に記憶されたデータを不揮発性素子にストアするストア動作を行う。ステップS48のように、その後制御回路28は第2メモリセルをシャットダウンする。
【0108】
これにより、揮発的に書き換えられているかいないかにかわらず不揮発的にストアしなくてもよいデータを揮発的に記憶する第1メモリセルをシャットダウンした後、残りの第2メモリセルをストア動作するための消費電力を抑制できる。また、ストアレイテンシを削減できる。
【0109】
図4および
図5のように、セルアレイ20は、各々のブロック24が少なくとも2つのメモリセル10を含む複数のブロック24に分割されている。
図8のステップS40のように、制御回路28は、セルアレイ20をシャットダウン(電源遮断)するときに、複数のブロック24からブロック24内のメモリセル10が揮発的に書き換えられているかいないかにかわらず、不揮発的にストアしなくてもよいデータを揮発的に記憶する1または複数の第1ブロック(すなわちUDFがセットされたブロック)を抽出する。
図8のステップS42および
図9(a)のように、制御回路28は、第1ブロックをシャットダウンする。
図8のステップS46および
図9(b)のように、制御回路28は、第1ブロックをシャットダウンした後,複数のブロック24のうち残りの1または複数の第2ブロック内のメモリセル10において双安定回路12に記憶されたデータを不揮発性素子にストアするストア動作を行う。
図8のステップS48および
図9(c)のように、制御回路28は、ストア動作の終了した第2ブロックをシャットダウンする。
【0110】
このように、ブロック24毎に、UDFがセットされた第1ブロックをシャットダウンするため、第1ブロックをストア動作するための消費電力を抑制できる。また、ストアレイテンシを削減できる。また、UDFがセットされた第1ブロックを最初にシャットダウンするため、ストア動作を待機するときのリーク電流に起因する消費電力を削減できる。
【0111】
図9(a)のように、制御回路28は、抽出された第1ブロックを全てシャットダウンした後、
図9(b)から
図9(d)のように、残りの第2ブロック内のメモリセル10においてストア動作を行う。これにより、UDFがセットされた第1ブロックがシャットダウンを待機するときの消費電力を削減できる。
【0112】
レジスタ40(記憶回路)は、セルアレイ20の外に設けられ、外部回路から受信したUDF(不揮発的にストアしなくてもよいデータを揮発的に記憶する第1ブロックを示す情報)を記憶する。制御回路28は、UDFに基づき、第1ブロックを抽出する。これにより、UDFを記憶する記憶回路を各サブアレイ22またはブロック24に設ける方法に比べ、UDFをバス25等を介し制御回路28に転送しなくてもよく、制御が簡単になる。
【0113】
図8のステップS40のように、制御回路28は、複数のブロック24から、UDFがセットされたブロックと、SFBFがセットされたブロック24(すなわちブロック24内のいずれのメモリセル10も揮発的に書き換えられていないブロック)と、を第1ブロックとして抽出する。これにより、UDFがセットされたブロックとSFBFがセットされたブロックを最初にシャットダウンするため、ストア動作を待機するときのリーク電流に起因する消費電力を削減できる。また、ストアレイテンシを低減できる。
【0114】
レジスタ41(記憶回路)は、セルアレイ20の外に設けられている。これにより、SFBFを各サブアレイ22またはブロック24に記憶する方法に比べ、SFBFをバス25等を介し制御回路28に転送しなくてもよく、制御が簡単になる。
【0115】
実施例1において、MTJ1およびMTJ2がノードQおよびQBにそれぞれ接続される例を説明したが、ノードQまたはQBにMTJ1およびMTJ2のいずれか一方が接続されていればよい。メモリセルは、双安定回路12と不揮発性素子を有していればよい。不揮発性素子としてMTJを例に説明したが、不揮発性素子としては巨大磁気抵抗(GMR)素子、ReRAM(Resistance Random Access Memory)に用いられるような可変抵抗素子、または、PRAM(Phase change RAM)に用いられる相変化素子を用いることができる。
【実施例0116】
特許文献5の技術をセルアレイに適用する場合、VNR-SRAMのULVリテンションはBI(ブーステッドインバータ)モードからST(シュミットトリガ)モードにモードを切り替えた後に電源電圧を低下させることにより行う。セルアレイのサイズが大きくなると、モード切り替えを待機するメモリセルにおけるリーク電流に起因する消費電力が大きくなる。また、待機期間によりレイテンシが増加する。また、メモリセルのデータが不要なデータであってもリテンションを行ってしまう。これにより、消費電力およびレイテンシが増大する。
【0117】
実施例2は、消費電力および消費エネルギーを抑制することを目的とする。具体的には、PG時(リテンション時)、PGへの移行およびPGからの復帰における消費電力および消費エネルギーを削減すること、およびPGに関するBETを削減することを目的とする。
【0118】
実施例2では、セルアレイにデータを書き込むとき、またはデータを処理するときに電源復帰後に不要となるデータの存在するメモリセルをシャットダウンし、残りのメモリセルをリテンションする。これにより、リテンション不要なデータを記憶するメモリセルのモード切り替えが不要なため消費電力およびレイテンシを抑制できる。
【0119】
より具体的に、セルアレイを複数のブロックに分割する。電源復帰後に不要となるデータの存在するメモリセルを有するブロックを指定するUDFを生成する。リテンションのときには、UDFに基づき、リテンション不要なデータを記憶するブロックをシャットダウンする。その後、その他のブロックにおいてリテンションを行う。これにより、リテンション不要なデータを記憶するブロックのモード切り替えが不要なため消費電力およびレイテンシを抑制できる。また、リテンション不要なデータを記憶するブロックをシャットダウンするため消費電力をより削減できる。
【0120】
以下、実施例2の詳細な例について説明する。
[メモリセルの説明]
図17は、実施例2におけるメモリセルの回路図である。
図17に示すように、メモリセル10は、インバータ回路14および16を主に備えている。
【0121】
インバータ回路14および16はループ状に接続され双安定回路12を構成している。インバータ回路14は、FETm1、m2a、m2bおよびm9を備えている。インバータ回路16は、FETm3、m4a、m4bおよびm10を備えている。FETm1およびm3はPチャネルMOSFETであり、FETm2a、m2b、m4a、m4b、m9およびm10はNチャネルMOSFETである。FETm1およびm3のソースは仮想電源電圧VVDDが印加された電源線15aに接続され、ドレインはノードQおよびQBに接続されている。FETm2aおよびm2bはノードQとグランド電圧VGNDが印加されたグランド線15bとの間に直列に接続され、FETm2bのソースはグランド線15bにFETm2aのドレインはノードQに接続されている。FETm4aおよびm4bも同様にノードQBとグランド線15bとの間に接続されている。
【0122】
インバータ回路14の入力ノードはFETm1、m2aおよびm2bが共通に接続されたノードN1であり、インバータ回路14の出力ノードはノードQである。インバータ回路16の入力ノードはFETm3、m4aおよびm4bが共通に接続されたノードN3であり、インバータ回路16の出力ノードはノードQBである。インバータ回路14の入力ノードおよび出力ノードはそれぞれインバータ回路16の出力ノードおよび入力ノードに接続されている。
【0123】
FETm9のソースおよびドレインの一方はFETm2aとm2bとの間のノードN2に接続され、他方は制御線CTRLに接続され、ゲートはノードQに接続されている。FETm10のソースおよびドレインの一方はFETm4aとm4bとの間のノードN4に接続され、他方は制御線CTRLに接続され、ゲートはノードQBに接続されている。
【0124】
インバータ26aは制御線CTRL用のドライバ26であり、制御信号VCTRLを反転し、ハイレベルの電圧が電圧VSCTRLおよびローレベルの電圧が電圧VLCTRLの制御信号を出力する。制御信号VCTRLがハイレベルのとき制御線CTRLはVLCTRLとなり、インバータ回路14および16はBIモードとなる。制御信号VCTRLがローレベルのとき制御線CTRLはVSCTRLとなり、インバータ回路14および16はSTモードとなる。
【0125】
ノードQおよびQBは、それぞれMOSFETm5およびm6を介しビット線BLおよびBLBに接続されている。MOSFETm5およびm6のゲートはワード線WLに接続されている。
【0126】
BIモードは、インバータ回路14および16の伝達特性にヒステリシスを実質的に有さず、かつ高速動作可能なモードである。STモードは、インバータ回路14および16の伝達特性にヒステリシスを有し、かつ動作が遅いモードである。なお、ヒステリシスを実質的に有さないとはSTモードのような意図的なヒステリシスを有さないことであり、意図しないヒステリシスを有することを許容する。
【0127】
BIモードでは、メモリセル10は、通常のSRAMセルとして機能する。STモードでは、電源電圧(VVDD-VGND)を例えば0.2Vと超低電圧(ULV:Ultralow Voltage)としても双安定回路12のデータを保持する。
【0128】
パワースイッチ30はパワースイッチPS1、PS2およびPS3を備えている。パワースイッチPS1およびPS2は高電圧の電源15chと電源線15aとの間に並列に接続されている。パワースイッチPS1およびPS2は例えばそれぞれPチャネルFETおよびNチャネルFETである。パワースイッチPS1およびPS2のゲートにそれぞれPS制御信号VPG1およびVPG2が印加される。パワースイッチPS1およびPS2の基板バイアスは例えばそれぞれVDDHおよびVGNDである。
【0129】
低電圧の電源15clと電源線15aとの間にパワースイッチPS3およびFETm11が直列に接続されている。パワースイッチPS3およびFETm11はそれぞれPチャネルFETおよびNチャネルFETである。FETm11は負荷として機能する。パワースイッチPS3のゲートにPS制御信号VPG3が印加される。パワースイッチPS3およびFETm11の基板バイアスは例えばそれぞれVDDLおよびVDDHである。実施例1と同様に、パワースイッチ30は、グランド線15bとグランド15dとの間に設けられていてもよい。パワースイッチ30は、電源線15aと電源15chおよび15clの少なくとも一方との間と、グランド線15bとグランド15dとの間の両方に設けられていてもよい。
【0130】
[各状態の説明]
図18(a)および
図18(b)は、実施例2における各状態に印加される電圧を示す図である。
図18(a)のように、スタンバイ状態ではVPG1、VPG2およびVPG3はそれぞれローレベルL、ローレベルLおよびハイレベルHである。パワースイッチPS1、PS2およびPS3はそれぞれオン、オフおよびオフとなる。これにより、電源電圧VVDD-VGNDは電圧V3となる。電圧V3は例えば1.2Vである。
【0131】
スリープ状態ではVPG1、VPG2およびVPG3はそれぞれH、HおよびHである。パワースイッチPS1、PS2およびPS3はそれぞれオフ、オンおよびオフとなる。これにより、電源電圧VVDD-VGNDは電圧V3より低い電圧V2となる。電圧V2は例えば0.8Vである。
【0132】
リテンション状態ではVPG1、VPG2およびVPG3はそれぞれH、LおよびLである。パワースイッチPS1、PS2およびPS3はそれぞれオフ、オフおよびオンとなる。これにより、電源電圧VVDD-VGNDは電圧V2より低い電圧V1となる。電圧V1は例えば0.2Vである。
【0133】
シャットダウン状態ではVPG1、VPG2およびVPG3はそれぞれH、LおよびHである。パワースイッチPS1、PS2およびPS3はそれぞれオフ、オフおよびオフとなる。電源電圧VVDD-VGNDは電圧V1より低い電圧V0となる。電圧V0はほぼ0Vである。
【0134】
図18(b)に示すように、スタンバイ状態では、電源電圧VVDD-VGNDは電圧V3である。制御信号VCTRLはLの場合とHの場合があり、VCTRLがHのときメモリセル10はBIモードであり、VCTRLがLのときメモリセル10はSTモードである。スタンバイ(BI)状態は、実施例1のリード/ライト状態と同じであり、通常のSRAMとして双安定回路12のデータを書き換えが可能な状態である。電源電圧VVDD-VGNDは、双安定回路12がデータの書き換えが可能でかつデータが保持できる電圧V3である。
【0135】
スリープ状態では、電源電圧VVDD-VGNDは電圧V3より低い電圧V2である。制御信号VCTRLはLの場合とHの場合があり、VCTRLがHのときメモリセル10はBIモードであり、VCTRLがLのときメモリセル10はSTモードである。電源電圧VVDD-VGNDは、双安定回路12がデータの書き換えはできないがデータが保持できる電圧V2である。電圧V2は電圧V3より低いため、消費電力を抑制できる。
【0136】
リテンション状態では、電源電圧VVDD-VGNDは電圧V2より低い電圧V1である。制御信号VCTRLはLでありメモリセル10はSTモードである。電源電圧VVDD-VGNDは、双安定回路12がBIモードではデータを保持できないが、STモードではデータが保持できる電圧V1である。リテンション状態ではメモリセル10が擬似不揮発性の状態であり、電圧V1を電圧V2より低くできるため、消費電力を非常に抑制できる。
【0137】
シャットダウン状態では、電源電圧VVDD-VGNDは電圧V1より低い電圧V0である。制御信号VCTRLはHでありメモリセル10はBIモードである。シャットダウン状態ではメモリセル10の消費電力はほぼ0である。
【0138】
図19(a)および
図19(b)は、実施例2におけるリテンションおよびシャットダウンに印加される電圧を示す図である。
図19(a)に示すように、スタンバイ状態では、電源電圧VVDD-VGNDは電圧V3、制御信号VCTRLはHであり、BIモードである。モード切り替え期間では、まずVCTRLをLとする。これにより、STモードとなる。その後、電源電圧VVDD-VGNDを電圧V1とする。これにより、リテンション状態となる。その後モード切り替え期間において電源電圧VVDD-VGNDを電圧V3とする。その後、VCTRLをHとする。これによりスタンバイ状態に戻る。このようにリテンション状態とする前後にはモード切り替えを行う。
【0139】
図19(b)に示すように、スタンバイ状態において、電源電圧VVDD-VGNDを電圧V0とするとシャットダウン状態となる。このとき、VCTRLはHを維持しBIモードを維持する。電源電圧VVDD-VGNDを電圧V3とすると、スタンバイ状態に戻る。
【0140】
図20は、実施例2における各期間の消費電力を示す図である。実線は
図17に示したメモリセル10(VNR-SRAM)を有する記憶回路の消費電力(パワー)を示す。点線は、6トランジスタSRAM(6T-SRAM)セルを用いた記憶回路の消費電力を示している。
【0141】
図20に示すように、メモリセル10の動作期間には、スタンバイ期間、モード切り替え期間およびリテンション期間がある。スタンバイ期間の長さをτ
NLとする。リテンション期間前のモード切り替え期間の長さをτ
EXTとする。リテンション期間の長さをτ
SDとする。リテンション期間後のモード切り替え期間の長さをτ
ENTとする。
【0142】
VNR-SRAMのスタンバイ期間の消費電力は6T-SRAMの消費電力よりPLKG大きい。これは、FETm9およびm10のリーク電流に起因する。VNR-SRAMでは、モード切り替え期間にモード切り替えのための消費電力が必要となる。リテンション期間では、VNR-SRAMの消費電力はP´Saveであり、VNR-SRAMでは6T-SRAMより消費電力をPSave削減できる。
【0143】
VNR-SRAMセルの6T-SRAMセルに対するエネルギーの増加は、スタンバイ期間におけるPLKGによるエネルギー増加ELKG、モード切り替え期間のエネルギー増加EEXTおよびEENTの合計である。VNR-SRAMセルがリテンションにより節約できるエネルギーは、リテンション期間におけるPSaveによるエネルギー減少ESaveである。ELKG+EEXT+EENT=PSave×BETとなる。双安定回路12のリード/ライトが行われない待機期間がBET以上のときはリテンション状態とし、BET以下のときはスタンバイ状態とする。これにより、極めて高効率にエネルギーを削減できる。
【0144】
図21(a)および
図21(b)は、実施例2におけるメモリセルの別の例である。
図21(a)に示すように、インバータ回路14は、FETm1a、m1b、m2およびm9aを備え、インバータ回路16は、FETm3a、m3b、m4およびm10aを備える。FETm1a、m1b、m3a、m3b、m9aおよびm10aはPチャネルFETであり、FETm2およびm4はNチャネルFETである。FETm9aのソースおよびドレインの一方はFETm1aとm1bとの間のノードN2aに接続され、FETm10aのソースおよびドレインの一方はFETm3aとm3bとの間のノードN4aに接続されている。
【0145】
ドライバ26は、インバータ26aの前段にインバータ26cを備えている。VCTRLがLのとき、インバータ26cはVDDを出力し、インバータ26aはCTRLとしてVLCTRLを出力し、インバータ回路14および16はBIモードとなる。VCTRLがHのとき、インバータ26cはVGNDを出力し、インバータ26aはCTRLとしてVSCTRLを出力し、インバータ回路14および16はSTモードとなる。その他の構成は
図17と同じであり説明を省略する。インバータ26cの電源電圧および接地電圧をVDDおよびVGNDとしているが、インバータ26aと同様に電源電圧および接地電圧をVSCTRLおよびVLCTRLとしてもよい。ドライバ26は、インバータ26aと26cの代わりに、インバータ26aのみを用いて構成してもよい。
【0146】
図21(b)に示すように、インバータ回路14は、FETm1a、m1b、m2a、m2b、m9およびm9aを備え、インバータ回路16は、FETm3a、m3b、m4a、m4b、m10およびm10aを備える。FETm1a、m1b、m3a、m3b、m9aおよびm10aはPチャネルFETであり、FETm2a、m2b、m4aおよびm4b、m9およびm10はNチャネルFETである。
【0147】
FETm9aおよびFETm10aのソースおよびドレインの他方は制御線CTRLPに接続され、FETm9およびFETm10のソースおよびドレインの他方は制御線CTRLNに接続されている。ドライバ26はインバータ26aおよび26bを備えている。インバータ26aは制御線CTRLNに信号を出力する。インバータ26bはインバータ26aの出力を反転し制御線CTRLPに出力する。その他の構成は
図17および
図21(a)と同じであり説明を省略する。
【0148】
図21(a)および
図21(b)のように、インバータ回路14および16において、PチャネルFETm1aおよびm3aとNチャネルFETm2およびm4との少なくとも一方が直列に複数接続されていてればよい。PチャネルFETm9aおよびm10aとNチャネルFETm9およびm10との少なくとも一方が設けられていればよい。
【0149】
[電子回路の説明]
図22は、実施例2における電子回路を示すブロック図である。
図22に示すように、電子回路102は、セルアレイ20、制御回路28を備えている。セルアレイ20は、複数のサブアレイ22に分割されている。サブアレイ22の記憶容量は例えば8kバイトである。サブアレイ22には複数のメモリセル10がマトリックス状に設けられている。サブアレイ22はバス25に接続されている。サブアレイ22の個数は適宜設計可能である。
【0150】
サブアレイ22にはパワースイッチ30および周辺回路38が設けられている。パワースイッチ30はサブアレイ22毎に電源電圧を設定する。周辺回路38はモード制御信号に基づき、各メモリセル10のモードを制御する。
【0151】
制御回路28はレジスタ40を備えている。制御回路28が外部回路から受信したブロックごとのUDFをレジスタ40に格納する。制御回路28は、PS制御信号を用い各サブアレイ22のパワースイッチ30を制御する。制御回路28はバス25を介しサブアレイ22へのデータの入出力を行う。制御回路28の少なくとも一部の機能は外部のCPU等のプロセッサ回路がソフトウエアと協働で行ってもよい。
【0152】
[サブアレイの説明]
図23は、実施例2におけるサブアレイのブロック図である。
図23に示すように、サブアレイ22は、メモリセル10を有する複数のブロック24(例えば8個)に分割されている。ブロック24の記憶容量は例えば1kバイトである。ブロック24の個数は適宜設計可能である。サブアレイ22内には複数のメモリセル10がマトリックス状に配置されている。サブアレイ22内には、行方向にワード線WLおよび制御線CTRLが延伸し、列方向にビット線BLが延伸している。各メモリセル10には、ワード線WL、ビット線BL、制御線CTRL、電源線15aおよびグランド線15bが接続されている。
【0153】
各サブアレイ22に対応し、パワースイッチ30および周辺回路38が設けられている。制御回路28は、パワースイッチ30および周辺回路38を制御する。
【0154】
パワースイッチ30は、ブロック24毎に電源電圧VVDD-VGNDを電圧V3、V2、V1およびV0にできる。周辺回路38は、WLデコーダ31、列デコーダ32、プリチャージ回路33および読出書込回路34を備えている。
【0155】
スタンバイ期間において、WLデコーダ31は行アドレスに基づきワード線WLを選択する。列デコーダ32は列アドレスに基づきビット線BLを選択する。プリチャージ回路33はビット線BLをプリチャージする。読出書込回路34は、WLデコーダ31および列デコーダ32に選択されたメモリセル10の双安定回路12にデータを書き込みまたは双安定回路12からデータを読み出しバス25に出力する。
【0156】
リテンション期間において、制御回路28は1または複数のメモリセル10をSTモードとし、VVDDを電圧V1とする。これにより、メモリセル10はリテンション状態となる。
【0157】
[動作の説明]
図24は、実施例2における動作を示すフローチャートである。
図24に示すように、制御回路28は、外部回路からの指令によりセルアレイ20の電源を投入する(ステップS10)。例えば、制御回路28は、全てのブロック24のメモリセル10をBIモードとし、パワースイッチPS1をオンし、パワースイッチPS2およびPS3をオフする。これにより、全てのブロック24がスタンバイ状態となる。
【0158】
制御回路28は、スタンバイ状態でリードおよびライト動作を行う(ステップS12)。制御回路28は、外部回路からセルアレイ20をシャットダウンする指示を受けたか否か判定する(ステップS14)。NoのときステップS12に戻る。Yesのとき、制御回路28は、リテンション動作およびシャットダウンを行う(ステップS17)。その後終了しステップS10に戻る。
【0159】
[UDF設定の説明]
UDFを設定する動作は実施例1の
図7(b)と同じであり説明を省略する。
【0160】
[リテンション動作のタイプAの説明]
図24のステップS17の動作としてリテンション動作のタイプAについて説明する。
図25は、実施例2におけるリテンション動作のタイプAを示すフローチャートである。
図26(a)から
図26(e)は、実施例2におけるリテンション動作のタイプAにおけるセルアレイを示す模式図である。
図27(a)から
図27(e)は、実施例2におけるリテンション動作のタイプAにおけるセルアレイおよびブロックを示す模式図である。
図26(a)から
図26(e)はサブアレイ22毎にリテンション動作を行う例であり、
図27(a)から
図27(e)はブロック24毎にリテンション動作を行う例である。サブアレイ22毎にリテンション動作を行う場合もブロック24毎にリテンション動作を行う場合も基本的な動作は同じである。リテンション動作のタイプBおよびCでも同様である。
【0161】
図24のステップS17において制御回路28がリテンション動作を開始する。
図25に示すように、このとき、各ブロック24(またはサブアレイ22)はスタンバイ(BI)状態となっている(ステップS54)。例えば制御回路28は全てのブロック24(サブアレイ22)の電源電圧VVDD-VGNDを電圧V3とし、制御信号VCTRLをHとする。
図26(a)のように、全てのサブアレイ22はスタンバイ(BI)状態である。
図27(a)のように、全てのブロック24はスタンバイ(BI)状態である。
【0162】
制御回路28はブロック24(またはサブアレイ22)に対応するUDFをレジスタ40からそれぞれ読み出す(ステップS56)。制御回路28は、UDFがセットされた(例えばハイレベルHの)ブロック24(サブアレイ22)を抽出し、一括してシャットダウンする(ステップS58)。例えば制御回路28は、対応するブロック24(サブアレイ22)の電源電圧VVDD-VGNDを電圧V0とする。
図26(b)に示すように、制御回路28は9個のサブアレイ22のうち、4個のサブアレイ22を一括してシャットダウン状態とする。
図27(b)に示すように、制御回路28は72個のブロック24のうち、28個のブロック24を一括してシャットダウン状態とする。
【0163】
制御回路28は、UDFがセットされていない(すなわちリテンション対象の)最初のブロック24a(サブアレイ22a)を選択する(ステップS60)。制御回路28は最初のブロック24a(サブアレイ22a)をスタンバイ(ST)状態とする(ステップS62)。例えば制御回路28はブロック24a(サブアレイ22a)の電源電圧VVDD-VGNDを電圧V3とした状態で、制御信号VCTRLをLとする。
図26(c)に示すように、サブアレイ22aはスタンバイ(ST)状態となる。
図27(c)に示すように、ブロック24aはスタンバイ(ST)状態となる。
【0164】
制御回路28は最後のブロック24(サブアレイ22)か判定する(ステップS64)。Noのとき、次のブロック24(サブアレイ22)に進み(ステップS66)、ステップS60に戻る。順次、リテンション対象のブロック24(サブアレイ22)をスタンバイ(ST)状態とする。
図26(d)のように、全てのリテンション対象のサブアレイ22がスタンバイ(ST)状態となる。
図27(d)のように、全てのリテンション対象のブロック24がスタンバイ(ST)状態となる。
【0165】
ステップS64においてYesと判定されると、制御回路28は全てのリテンション対象のブロック24(サブアレイ22)を一括あるいは複数のブロック24(サブアレイ22)毎にリテンション状態とする(ステップS68)。
図26(e)のように、全てのリテンション対象のサブアレイ22がリテンション状態となる。
図27(e)のように、全てのリテンション対象のブロック24がリテンション状態となる。その後終了する。
【0166】
[リテンション動作のタイプBの説明]
リテンション動作のタイプBについて説明する。
図28は、実施例2におけるリテンション動作のタイプBを示すフローチャートである。
図29(a)から
図29(e)は、実施例2におけるリテンション動作のタイプBにおけるセルアレイを示す模式図である。
図30(a)から
図30(e)は、実施例2におけるリテンション動作のタイプBにおけるセルアレイおよびブロックを示す模式図である。
【0167】
図28に示すように、制御回路28は、各ブロック24(またはサブアレイ22)をスリープ(BI)状態とする(ステップS70)。例えば制御回路28は全てのブロック24(サブアレイ22)の電源電圧VVDD-VGNDを電圧V2とし、制御信号VCTRLをHとする。
図29(a)のように、全てのサブアレイ22はスリープ(BI)状態である。
図30(a)のように、全てのブロック24はスリープ(BI)状態である。
【0168】
制御回路28はステップS56において読み出したUDFがセットされた(例えばハイレベルHの)ブロック24(サブアレイ22)を抽出し、一括してシャットダウンする(ステップS58)。
図29(b)に示すように、制御回路28は4個のサブアレイ22を一括してシャットダウン状態とする。
図30(b)に示すように、制御回路28は28個のブロック24を一括してシャットダウン状態とする。
【0169】
制御回路28はステップS60において選択された最初のブロック24a(サブアレイ22a)をスリープ(ST)状態とする(ステップS72)。例えば制御回路28はブロック24a(サブアレイ22a)の電源電圧VVDD-VGNDを電圧V2とし、制御信号VCTRLをLとする。
図29(c)に示すように、サブアレイ22aはスリープ(ST)状態となる。
図30(c)に示すように、ブロック24aはスリープ(ST)状態となる。
【0170】
ステップS64においてNoと判定されると、次のブロック24(サブアレイ22)についてステップS60およびS72を行う。
図29(d)のように、全てのリテンション対象のサブアレイ22がスリープ(ST)状態となる。
図30(d)のように、全てのリテンション対象のブロック24がスリープ(ST)状態となる。
【0171】
ステップS64においてYesと判定されると、制御回路28は全てのリテンション対象のブロック24(サブアレイ22)を一括してリテンション状態とする(ステップS68)。
図29(e)のように、全てのリテンション対象のサブアレイ22がリテンション状態となる。
図30(e)のように、全てのリテンション対象のブロック24がリテンション状態となる。その後終了する。その他の動作はリテンション動作のタイプAと同じである。
【0172】
[リテンション動作のタイプCの説明]
リテンション動作のタイプCについて説明する。
図31は、実施例2におけるリテンション動作のタイプCを示すフローチャートである。
図32(a)から
図32(e)は、リテンション動作のタイプCにおけるセルアレイを示す模式図である。
図33(a)から
図33(e)は、リテンション動作のタイプCにおけるセルアレイおよびブロックを示す模式図である。
【0173】
【0174】
ステップS72において、制御回路28は、リテンション対象の最初のブロック24a(またはサブアレイ22a)をスリープ(ST)状態とした後、ブロック24a(またはサブアレイ22a)をリテンション状態とする(ステップS74)。
図32(d)に示すように、サブアレイ22aはリテンション状態となる。
図33(d)に示すように、ブロック24aはリテンション状態となる。
【0175】
その後、リテンション対象のブロック24(サブアレイ22)を順次スリープ(ST)状態とし(ステップS72)、その後リテンション状態とする(ステップS74)。ステップS64においてYesと判定されたとき、
図32(e)のように、全てのリテンション対象のサブアレイ22がリテンション状態となる。
図33(e)のように、全てのリテンション対象のブロック24がリテンション状態となる。その後終了する。その他の動作はリテンション動作のタイプBと同じである。
【0176】
[リテンション動作のタイプBの制御回路の例]
図34は、リテンション動作のタイプBにおける制御回路の例を示すブロック図である。制御回路28Bは、レジスタ40、モード制御回路45およびPS制御回路44を備えている。レジスタ40のビット数は各々ブロック24の個数のNSA×Nblock以上である。NSA×Nblock個のブロック24のうちブロック24Aから24Bについて説明する。
【0177】
実施例1の
図7(b)のステップS32と同様に、全ての記憶部40Aから40BがローレベルLにリセットされる。ステップS34において制御回路28BにUDFが入力すると、ステップS36において、対応するブロック24Aから24Bの記憶部40Aから40BがハイレベルHにセットされる。
【0178】
モード制御回路45は、モード制御信号VCTRLを出力する。PS制御回路44は、レジスタ40に保持されたUDFに基づき各ブロック24Aから24BのパワースイッチPS1AからPS1B、PS2AからPS2BおよびPS3AからPS3Bを制御する。
【0179】
PS制御回路44は、各々ブロック24Aから24Bの個数のOR回路60、AND回路61、OR回路62、OR回路63、NAND回路64、AND回路65、AND回路66、OR回路67、OR回路68、OR回路69、AND回路70、AND回路71、OR回路72およびOR回路73を備えている。
【0180】
OR回路60には、UDF記憶部40Aから40Bの出力信号と制御信号ENNLBが入力する。AND回路61にはOR回路60の出力信号と制御信号ENNLBが入力する。OR回路62にはAND回路61の出力信号と制御信号ENSLPが入力する。OR回路62からPS制御信号VPG1AからVPG1Bが出力される。PS制御信号VPG1AからVPG1Bはそれぞれブロック24Aから24BのパワースイッチPS1AからPS1Bのゲートに入力する。
【0181】
OR回路63にはUDF記憶部40Aから40Bの出力信号と制御信号ENRBが入力する。NAND回路64にはUDF記憶部40Aから40Bの出力信号と制御信号ENNLBが入力する。AND回路65にはOR回路63の出力信号とNAND回路64の出力信号が入力する。AND回路66にはAND回路65の出力信号と制御信号ENNLBが入力する。OR回路67にはAND回路65の出力信号と制御信号ENSLPが入力する。OR回路67からPS制御信号VPG2AからVPG2Bが出力される。PS制御信号VPG2AからVPG2Bはそれぞれブロック24Aから24BのパワースイッチPS2AからPS2Bのゲートに入力する。
【0182】
OR回路68にはUDF記憶部40Aから40Bの出力信号と制御信号ENRBが入力する。OR回路69にはUDF記憶部40Aから40Bの出力信号と制御信号ENNLBが入力する。AND回路70にはOR回路68の出力信号とOR回路69の出力信号が入力する。AND回路71にはAND回路70の出力信号と制御信号ENNLBが入力する。OR回路72にはAND回路71の出力信号と制御信号ENSLPが入力する。OR回路73にはOR回路72の出力信号と制御信号ENRBが入力する。OR回路73からPS制御信号VPG3AからVPG3Bが出力される。PS制御信号VPG3AからVPG3Bはそれぞれブロック24Aから24BのパワースイッチPS3AからPS3Bのゲートに入力する。
【0183】
図35(a)から
図35(e)は、リテンション動作のタイプBにおける各信号のレベルとパワースイッチの動作を示す図である。
図35(a)に示すように、スタンバイ(BI)状態では、制御信号ENRB、ENNLB、ENSLPおよびVCTRLは、それぞれH、L、LおよびHである。ブロック24Aおよび24BのUDFをそれぞれLおよびHとする。このとき、VPG1AからVPG1BはLでありパワースイッチPS1AからPS1Bはオンである。VPG2AからVPG2BはLでありパワースイッチPS2AからPS2Bはオフである。VPG3AからVPG3BはHでありパワースイッチPS3AからPS3Bはオフである。このように、スタンバイ(BI)状態では、UDFによらず、パワースイッチPS1AからPS1BがオンでありパワースイッチPS2AからPS2BおよびPS3AからPS3Bはオフである。よって、全てのブロック24Aから24Bの電源電圧VVDD-VGNDは電圧V3である。
【0184】
図35(b)に示すように、スリープ(BI)状態では、制御信号ENRB、ENNLB、ENSLPおよびVCTRLは、それぞれH、L、HおよびHである。VPG1AからVPG1BはHでありパワースイッチPS1AからPS1Bはオフである。VPG2AからVPG2BはHでありパワースイッチPS2AからPS2Bはオンである。VPG3AからVPG3BはHでありパワースイッチPS3AからPS3Bはオフである。このように、スリープ(BI)状態では、UDFによらず、パワースイッチPS1AからPS1BおよびPS3AからPS3BがオフでありパワースイッチPS2AからPS2Bがオンである。よって全ブロック24Aから24Bの電源電圧VVDD-VGNDは電圧V2となりスリープ(BI)状態となる。
図28のステップS70では、
図35(b)のように全ブロックがスリープ(BI)状態となる。
【0185】
図28のステップS70、S56およびS58においてUDFがHのブロック24をスリープ(BI)状態とし、UDFがLのブロックを一括遮断する。
図35(c)に示すように、
図35(a)のスタンバイ(BI)の状態から制御信号ENNLBがLからHとなる。VPG1AからVPG1BがLからHとなり、VPG2AがLからHとなる。これにより、パワースイッチPS2Aはオフからオンになる。パワースイッチPS1AおよびPS1Bはオンからオフになる。パワースイッチPS2B、PS3AおよびPS3Bはオフを維持する。よって、リテンション対象のブロック24Aの電源電圧VVDD-VGNDは電圧V3からV2となり、ブロック24Aはスリープ(BI)状態となる。UDFがセットされたブロック24Bの電源電圧VVDD-VGNDは電圧V0となり、ブロック24Bはシャットダウン状態となる。
【0186】
図28のステップS72においてブロック24Aをスリープ(BI)状態からスリープ(ST)状態に切り替える。
図35(d)に示すように、制御信号ENRB、ENNLBおよびENSLPは
図35(c)の状態を維持する。各パワースイッチの状態は変わらず、ブロック24Aおよび24Bの電源電圧VVDD-VGNDはそれぞれ電圧V2およびV0が維持される。制御信号VCTRLはHからLとなる。これにより、対象となるブロック24AのモードがBIモードからSTモードに切り替わる。これにより、ブロック24Aはスリープ(ST)状態となる。
【0187】
図28のステップS60からS66のループを行うことにより、全てのリテンション対象のブロック24について、スリープ(BI)状態をスリープ(ST)状態に切り替える。
【0188】
図28のステップS68において、全てのリテンション対象のブロック24Aをスリープ(ST)状態からリテンション状態とする。
図35(e)に示すように、制御信号ENNLB、ENSLPおよびVCTRLは
図35(d)の状態を維持し、制御信号ENRBをHからLとする。これにより、VPG2AおよびVPG3AがHからLとなり、パワースイッチPS2Aがオンからオフとなり、パワースイッチPS3Aがオフからオンになる。これにより、リテンション対象のブロック24Aの電源電圧VVDD-VGNDが電圧V2から電圧V1となり、全てのリテンション対象のブロック24Aはリテンション状態となる。ブロック24Bの電源電圧VVDD-VGNDは電圧V0が維持される。
【0189】
図36は、リテンション動作のタイプBにおける制御信号のタイミングチャートである。制御信号VCTRL1~VCTRLnは各ブロック241~24nに対応する制御信号VCTRLである。ブロック241~24kはリテンション対象のブロックであり、ブロック24k+1~ブロック24nはシャットダウン対象のブロックである。
【0190】
図36に示すように、時刻t20とt21との間はスタンバイ(BI)期間であり、制御信号ENNLBおよびENSLPはL、ENRBおよびVCTRL1~VCTRLnはHである。時刻t21とt22との間はスリープ(BI)期間であり、制御信号ENSLPはHである。
【0191】
時刻t23(
図28のステップS58)において、制御信号ENNLBがHとなる。これにより、リテンション対象のブロック241~24kはスリープ(BI)状態を維持し、UDFのブロック24k+1~24nはシャットダウン状態となる。この状態は期間T1である。
【0192】
時刻t24(
図28のステップS72)において、リテンション対象の最初のブロック241の制御信号VCTRL1がLとなる。これによりブロック241のモードがBIモードからSTモードに切り替わり、ブロック241はスリープ(ST)状態となる。時刻t24以降の期間はブロック241の期間T2であり、ブロック241がSTモードの期間である。時刻t25において、リテンション対象の2番目のブロック242について、制御信号VCTRL2をLとする。ブロック242はスリープ(ST)状態となり期間T2となる。
【0193】
図28のステップS60からS66のループを行うことにより、全てのリテンション対象のブロック241~24kについて順次ステップS68を行う。全てのリテンション対象のブロック241~24kについてBIモードがSTモードに切り替わる。時刻t26(
図28のステップS68)において、制御信号ENRBがLとなる。これにより、全てのリテンション対象のブロック241~24nがリテンション状態となる。
【0194】
時刻t27において、制御信号ENRBがHとなる。これにより、リテンション対象のブロック241~24kはスリープ(ST)状態となる。制御信号VCTRL1~VCTRLkを順次Hとする。ブロック241~24kは順次スリープ(BI)状態となる。時刻t28において、STモードからBIモードへのモードの切り替えが終了する。
【0195】
[リテンション動作のタイプCの制御回路の例]
図37は、リテンション動作のタイプCにおける制御回路の例を示すブロック図である。制御回路28Cは、
図34の制御回路28Bに対し、OR回路63、NAND回路64およびAND回路65がNAND回路74に置き換わり、OR回路68、69およびAND回路70がOR回路75に置き換わっている。モード制御回路45はブロック24Aから24B毎に制御信号ENRBを出力する。
【0196】
NAND回路74にはUDF記憶部40Aから40Bの出力信号と制御信号ENNLBが入力する。AND回路65にはNAND回路74の出力信号とブロック24Aから24B毎の制御信号ENRBが入力する。OR回路75にはUDF記憶部40Aから40Bの出力信号とブロック24Aから24B毎の制御信号ENRBが入力する。OR回路75の出力信号はAND回路71に入力する。その他の構成は
図34の制御回路28Bと同じであり説明を省略する。制御回路28Cではブロック24Aから24B毎にリテンションすることができる。
【0197】
各信号のレベルとパワースイッチの動作は、
図35(a)から
図35(e)と同様であり説明を省略する。
【0198】
図38は、リテンション動作のタイプCにおける制御信号のタイミングチャートである。制御信号ENRB1~ENRBnは各ブロック241から24nに対応する制御信号ENRBである。
【0199】
図38に示すように、時刻t20からt23の間では、制御信号ENRB1からENRBnはHである。その他は
図36と同じである。
【0200】
時刻t24(
図31のステップS72)において、リテンション対象の最初のブロック241について、制御信号VCTRL1がLとなる。これによりブロック241のモードがBIモードからSTモードに切り替わり、ブロック241はスリープ(ST)状態となる。時刻t25において、ブロック241について、制御信号ENRB1がLとなる。これにより、ブロック241はリテンション状態となる。リテンション対象の2番目のブロック242について、制御信号VCTRL2がLとなる。ブロック242はスリープ(ST)状態となる。
【0201】
図31のステップS60からS66のループを行うことにより、全てのリテンション対象のブロック241~24kについて順次ステップS72およびS74を行う。全てのリテンション対象のブロック241~24kについてモード切り替えおよびリテンションが終了すると、時刻t26において、全てのリテンション対象のブロック241~24nはリテンション状態となる。
【0202】
時刻t27以降、各ブロック241から24k毎に、制御信号ENRB1~ENRBkおよび制御信号VCTRL1~VCTRLkが順次Hとなる。ブロック241~24kは順次スリープ(BI)状態となる。時刻t28において、STモードからBIモードへのモード切り替えが終了する。
【0203】
[シミュレーション]
実施例2に係る電子回路についてBETおよびリテンションのスタンバイ(BI)状態とスタンバイ(ST)状態とのモード切り替えのレイテンシをシミュレーションした。比較例2についてもシミュレーションした。比較例2では、UDFによるサブアレイ22およびブロック24の一括遮断を行なわず、全てのブロックをスタンバイ(BI)状態とし、ブロックごとに順次モード切り替えを行う。最後に全てのブロック24を一括してリテンション状態とする。
【0204】
シミュレーション条件は以下である。VDDH、VDDL、VGND、VSCTRL、VLCTRLおよびWLを、それぞれ1.2V、0.2V、0V、0.3V、0.1Vおよび0Vとした。VPG1のHおよびLをそれぞれ1.4Vおよび0Vとした。VPG2のHおよびLをそれぞれ1.2Vおよび-0.2Vとした。VPG3のHおよびLをそれぞれ1.4Vおよび0Vとした。VCTRLのHおよびLをそれぞれ1.2Vおよび0Vとした。ビット線BLおよびBLBはスタンバイ状態およびスリープ状態のとき1.2Vとし、リテンション状態およびシャットダウン状態のとき0Vとした。モード切り替えのときにドライバ26を充電する時間として1サブアレイ22毎に15nsとした。サブアレイ22およびブロック24の記憶容量をそれぞれ8kバイトおよび1kバイトとした。
【0205】
セルアレイ20内の全メモリセルの個数に対するUDFがセットされたメモリセルの個数の比をUD割合とした。セルアレイ20の記憶容量が32kバイト、256kバイトおよび2Mバイトについてシミュレーションした。
【0206】
図39(a)から
図39(c)は、タイプAからCおよび比較例2におけるUD割合に対するBETを示す図、
図39(d)から
図39(f)は、UD割合に対するレイテンシを示す図である。
図39(a)から
図39(c)に示すように、比較例2では、UD割合によらずBETは一定である。タイプAではUD割合が0%のとき比較例2のBETと同じである。UD割合が大きくなるとBETは短くなる。タイプBではUD割合が0%のとき比較例2よりBETが小さい。これは、タイプBでは、リテンションの前に全てのブロックを一括してスリープ(BI)状態にしているため、リテンションの待機中のブロックのリーク電流による消費電力を抑制できるためである。タイプCではUD割合が0%のときタイプBよりBETが小さい。これは、対象となるブロックごとにスリープ(BI)状態からスリープ(ST)状態の切り替えおよびリテンションを順次行うため、スリープ(ST)状態での待機時間を短くでき消費電力を抑制できるためである。
【0207】
図39(d)から
図39(f)に示すように、タイプAからCでは比較例2に比べUD割合が大きくなるとレイテンシを削減できる。タイプAからCの間ではレイテンシは同じである。
【0208】
以上のシミュレーションのように、タイプAではBETは長いもののスリープ状態を設定しなくてもよいため制御が簡単である。タイプBでは、BETはタイプAとCとの間である。タイプBの制御はスリープ状態を設定するためタイプAより複雑であるが、リテンションを一括して行うためタイプCより簡単である。タイプCでは、BETは短いがリテンションを順次行うため制御が複雑である。
【0209】
次にUDFによる一括シャットダウンを行わず、リテンションを行うときにスタンバイ(BI)状態で待機する比較例2-1、スリープ(BI)で待機する比較例2-2およびタイプCについて、スタンバイ電力をシミュレーションした。
【0210】
図40(a)から
図40(c)は、実施例2におけるVNR-SRAMと6T-SRAMとを比較する図である。6T-SRAMのスタンバイ状態およびスリープ状態のスタンバイ電力と、タイプCのVNR-SRAMのスタンバイ電力と、を比較している。
図40(a)から
図40(c)に示すように、6T-SRAMにおいて、スタンバイ状態からスリープ状態とするとスタンバイ電力は約30%削減できる。リテンション動作のタイプCの場合、UD割合が0%でもスタンバイ電圧を90%削減できる。UD割合が100%の場合、スタンバイ電力を99%削減できる。
【0211】
実施例2によれば、
図17、
図21(a)および
図21(b)のように、メモリセル10は、伝達特性にヒステリシスを実質的に有さないBIモード(第1モード)と伝達特性にヒステリシスを有するSTモード(第2モード)とが切り替わるインバータ回路14(第1インバータ回路)およびインバータ回路16(第2インバータ回路)を各々備える双安定回路12を有する。双安定回路12では、インバータ回路14の出力ノードおよび入力ノードはインバータ回路16のそれぞれ入力ノードおよび出力ノードに接続されている。
【0212】
図25、
図28および
図31のステップS56およびS58のように、制御回路28は、複数のメモリセル10のうち保持しなくてもよいデータを記憶する1または複数の第1メモリセルをシャットダウン(電源遮断)する。ステップS62およびS72のように、制御回路28は、複数のメモリセル10のうち残りの1または複数の第2メモリセル内の双安定回路12をSTモードとし、ステップS68およびS74のように、STモードを維持した状態で第2メモリセル内の双安定回路12に電圧V1(第2電源電圧)を供給する。電圧V1は、データをリードおよび/またはライトするときに双安定回路12に供給される電圧V3(第1電源電圧)より低くSTモードの双安定回路12がデータを保持できる電圧である。
【0213】
このように、保持しなくてもよいデータを記憶するメモリセルをシャットダウンするため、保持しなくてもよいデータを記憶するメモリセルのモードの切り替えおよびリテンション状態を維持するための消費電力を抑制できる。また、レイテンシを削減できる。
【0214】
図22および
図23のように、セルアレイ20は各々のブロック24が少なくとも2つのメモリセル10を含む複数のブロック24に分割されている。
図25、
図28および
図31のステップS56のように、制御回路28は、複数のブロック24から保持しなくてもよいデータを記憶する1または複数の第1ブロックを抽出する。ステップS58のように、制御回路28は、第1ブロックをシャットダウン(電源遮断)する。その後、ステップS62およびS72のように制御回路28は、複数のブロック24のうち残りの1または複数の第2ブロック内の双安定回路をSTモードとする。ステップS68およびS74のように制御回路28はSTモードを維持した状態で第2ブロック内の双安定回路12に電圧V1を供給する。
【0215】
このように、ブロック単位で、UDFがセットされた第1ブロックをシャットダウンするため、第1ブロックのモードの切り替えおよびリテンション状態を維持するための消費電力を抑制できる。また、レイテンシを削減できる。また、UDFがセットされた第1ブロックを最初にシャットダウンするため、モード切り替え動作を待機するときのリーク電流に起因する消費電力を削減できる。
【0216】
リテンション動作のタイプBおよびCのように、制御回路28は、リテンション対象のブロックをSTモードとする前に、
図28および
図31のステップS70のように、リテンション対象の第2ブロックに電源電圧として電圧V2(第3電源電圧)を供給する(すなわちスリープ状態とする)。電圧V2は、電圧V3より低くかつ電圧V1より高くBIモードの双安定回路12がデータを保持できる電源電圧である。これにより、シャットダウンおよびリテンションを待機する期間の消費電力を抑制できる。
【0217】
ステップS72のように、制御回路28は、第2ブロック内の双安定回路12に電圧V2を供給した状態で第2ブロック内の双安定回路12をSTモードとする。これにより、リテンションを待機する期間の消費電力を抑制できる。
【0218】
リテンション動作のタイプCの
図38のように、制御回路28は、複数の第2ブロック内のうちのブロック241(第3ブロック)の双安定回路に電圧V2を供給した状態でブロック241内の双安定回路12をSTモードとし(
図31のステップS72、期間T2)、ブロック241内の双安定回路12をSTモードとした状態で電圧V1を供給する(ステップS74、期間T3)。その後、制御回路28は、複数の第2ブロック内のうちのブロック241とは別のブロック242(第4ブロック)の双安定回路12に電圧V1を供給した状態でブロック242内の双安定回路12をSTモードとし、ブロック242内の双安定回路12をSTモードとした状態で電圧V1を供給する。これにより、リテンションを待機する期間を短くでき、消費電力を抑制できる。
【0219】
リテンション動作のタイプBの
図36のように、制御回路28は、第2ブロック内の双安定回路12に電圧V2を供給した状態で第2ブロック内の双安定回路12をSTモードとした後、第2ブロック内の双安定回路12をSTモードとした状態で電圧V1を供給する(
図28のステップS74、
図36の時刻t26)。これにより、タイプCに比べ制御を簡単にできる。制御回路28は、複数の第2ブロック内の双安定回路12をSTモードとした状態で電圧V2を一括して供給してもよい。また、制御回路28は、複数の第2ブロックを各々1または複数の第2ブロックを含む複数のグループに分割し、分割されたグループ毎に電圧V2を順次供給してもよい。
【0220】
レジスタ40(記憶回路)は、セルアレイ20の外に設けられ、外部回路から受信したUDF(保持しなくてもよいデータを記憶するブロックを示す情報)を記憶する。制御回路28は、UDFに基づき、保持しなくてもよいデータを記憶するブロックを抽出する(ステップS56)。これにより、UDFを記憶する記憶回路を各サブアレイ22またはブロック24に設ける方法に比べ、UDFをバス25等を介し制御回路28に転送しなくてもよく、制御が簡単になる。
【0221】
図17のように、インバータ回路14および16は、FETm1およびm3(第1FET)、FETm2bおよびm4b(第2FET)、FETm2aおよびm4a(第3FET)並びにFETm9およびm10(第4FET)を備えている。FETm1およびm3は、Pチャネル(第1導電型のチャネル)FETであり、ソースが電源線15a(第1電源線)に接続され、ドレインが出力ノードQおよびQBに接続され、ゲートが入力ノードN1およびN3に接続されている。FETm2bおよびm4bは、Nチャネル(第1導電型の反対の第2導電型のチャネル)FETであり、ソースがグランド線15b(第2電源線)に接続され、ドレインが中間ノードN2およびN4に接続され、ゲートが入力ノードN1およびN3に接続されている。FETm2aおよびm4aは、NチャネルFETであり、ソースが中間ノードN2およびN4に接続され、ドレインが出力ノードQおよびQBに接続され、ゲートが入力ノードN1およびN3に接続されている。FETm9およびm10(第4FET)は、NチャネルFETであり、ソースおよびドレインの一方が中間ノードN2およびN4に接続され、ソースおよびドレインの他方が制御線CTRL(制御ノード)に接続され、ゲートが出力ノードQおよびQBに接続されている。これにより、制御線CTRLの電圧によりBIモードとSTモードを切り替えることができる。
【0222】
図21(a)のように、第1FETはFETm2およびm4であり、第2FETはFETm1aおよびm3aであり、第3FETはFETm1bおよびm3bであり、第4FETはFETm9aおよびm10aでもよい。このとき第1導電型のチャネルはNチャネル、第2導電型のチャネルはPチャネルである。
【0223】
図21(b)のように、第1FETは電源線15aと出力ノードQおよびQBとの間の直列に接続されたFETm1aおよびm1bとm3aおよびm3bを設けてもよい。
例えばノードQがハイレベルのとき、FETm9がオンし、ノードN2は電圧がVFNHである制御線CTRLから充電される。しかし、FETm9がNチャネルであり、FETm9の閾値電圧Vthは正のため、制御線CTRLから充電電位は、実質的にはVFNH-Vthとなる。これにより、FBTrであるFETm9のフィードバック効果が低下し、リテンション状態における双安定回路の動作安定性(例えばノイズマージン)が低下する場合がある。
実施例3のタイプ1はタイプ2よりSNMが約6mV大きい。これは、タイプ1ではドライバ26が設けられていないため、制御線CTRLに効果的にバイアスが加わるためである。図示していないが、後述するPUPDFBでは、PUFBおよびPDFBよりノイズマージンを拡大することができる。
ヘッダPSでは、スタンバイ状態のVVDDを通常動作状態のVVDDHよりやや低いVVDDHSとしてもよい。フッタPSでは、スタンバイ状態のVVGNDを通常動作状態のVVGNDLよりやや高いVVGNDLSとしてもよい。低電圧動作させるため、ヘッダPSでは、VVDDL<VVDDM<VVDDHとなるVVDDM、フッタPSでは、VVGNDL<VVGNDM<VVGNDLとなるVVGNDMを用いてもよい。
実施例3によれば、PDFBの場合、インバータ回路14(第1インバータ回路)および16(第2インバータ回路)の各々において、PチャネルFETm1およびm3(第1導電型のチャネルの第1FET)では、ソースが電源線15a(第1電源線)に接続され、ドレインがノードQおよびQB(出力ノード)に接続され、ゲートがノードN1およびN3(入力ノード)に接続される。NチャネルFETm2bおよびm4b(第2導電型のチャネルの第2FET)では、ソースが電源線15aとの間に電源電圧VVDD-VGNDが供給されるグランド線15b(第2電源線)に接続され、ドレインがノードN2およびN4(中間ノード)に接続され、ゲートがノードN1およびN3に接続される。NチャネルFETm2aおよびm4a(第2導電型のチャネルの第3FET)では、ソースがノードN2およびN4に接続され、ドレインがノードQおよびQBに接続され、ゲートがノードN1およびN3に接続される。
PチャネルFETm9およびm10(第1導電型のチャネルの第4FET)では、ソースおよびドレインの一方がノードN2およびN4に接続され、ソースおよびドレインの他方が制御線CTRL(制御ノード)に接続され、ゲートがノードN1およびN3に接続される。インバータ回路14の出力ノードおよびインバータ回路16の入力ノードN3はノードQ(第1記憶ノード)に接続され、インバータ回路14の入力ノードN1およびインバータ回路16の出力ノードはノードQB(第2記憶ノード)に接続されている。これにより、電源電圧VVDD-VGNDおよび制御線CTRLの電圧を適宜設定することにより、STモードにおける動作安定性を向上できる。
インバータ回路14のFETm9のゲートはインバータ回路16の出力ノードに接続され、インバータ回路16のFETm10のゲートはインバータ回路14の出力ノードに接続されていてもよい。
PUFBの場合、NチャネルFETm2およびm4が第1FETに対応し、PチャネルFETm1aおよびm3aが第2FETに対応し、PチャネルFETm1bおよびm3bが第3FETに対応し、NチャネルFETm9aおよびm10aが第4FETに対応する。グランド線15bおよび電源線15aがそれぞれ第1電源線および第2電源線に対応する。
PDFBの場合、パワースイッチ30(電源回路)は、電源電圧VVDD-VGNDとして、電圧VVDDH-VGND(第1電圧)と電圧VVDDH-VGNDより低く電圧VVDDL-VGND(第2電圧)と、に切り替えて供給する。電圧VVDDH-VGNDは、双安定回路12がデータをライトおよびリード可能な電圧であり、電圧VVDDL-VGNDは電圧VVDDH-VGNDより低く双安定回路12がデータをライトおよびリードができずデータを保持可能な電圧である。これにより、データを保持するときに、消費電力を抑制できる。
電源回路は、1つの電源からパワースイッチのようなトランジスタを用い第1電圧と第2電圧とを生成し、双安定回路に供給してもよい。また、制御回路は、2つの電源にそれぞれパワースイッチが接続され、パワースイッチを制御することで第1電圧と第2電圧を双安定回路に供給してもよい。
タイプ1のように、パワースイッチ30が双安定回路12に第1電圧および第2電圧のいずれを供給するときにも、制御線CTRLには定バイアス(PDFBの場合VFN、PUFBの場合VFP)が供給される。これにより、ドライバ26が不要となり、チップサイズを削減できる。
ヘッダPS・PDFBでは、VFNは(VVDDH-VGND)/3よりVGNDに近いことが好ましく、フッタPS・PUFBでは、VFNは2(VDD-VVGNDL)/3よりVDDに近いことが好ましい。
タイプ2では、制御回路28は、PDFBのとき、パワースイッチ30がVVDDH-VGNDおよびVVDDL-VGNDを供給するとき制御線CTRLにそれぞれローレベルおよびローレベルより高いハイレベルを供給する。制御回路28は、PUFBのとき、パワースイッチ30がVDD-VVGNDLおよびVDD-VVGNDHを供給するとき制御線CTRLにそれぞれハイレベルおよびハイレベルより低いローレベルを供給する。これにより、データを保持するときに、消費電力を抑制できる。なお、ハイレベルはローレベルより高い電圧であればよい。
実施例3のメモリセルを実施例2のメモリセルとする場合、インバータ回路14および16の制御線CTRLには定バイアスが印加され、インバータ回路14および16は、電源電圧として電圧V3が供給されるときBIモードとなり、電圧V1が供給されるときSTモードとなる。これにより、制御信号VCTRLが不要となる。