(57)【要約】【課題】製造コストが増加するおそれがなく且つデータ書き込み時間がより短い不揮発性メモリを提供する。【解決手段】半導体装置１は、ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子１００と、複数の記憶素子１００のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、複数の記憶素子１００のそれぞれに書き込む記憶データ設定部１６と、ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、ラッチ回路のそれぞれに印加することによって、複数の記憶素子１００のそれぞれに不揮発性データを記憶する電圧印加部１５とを有することを特徴とする。【選択図】図９
2015149108.tif 000002
【特許請求の範囲】
【請求項１】
ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子と、
前記複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、前記複数の記憶素子のそれぞれに書き込む記憶データ設定部と、
前記ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、前記ラッチ回路のそれぞれに印加することによって、前記複数の記憶素子のそれぞれに前記不揮発性データを記憶する電圧印加部と、
を有することを特徴とする半導体装置。
【請求項２】
前記複数の記憶素子のそれぞれは、
前記ラッチ回路と第１データ線との接続をオンオフする第１スイッチと、
前記ラッチ回路と、前記第１データ線に入出力されるデータの反転データが入出力される第２データ線との接続をオンオフする第２スイッチと、を有し、
前記電圧印加部が前記所定の高電圧を印加するとき、前記第１スイッチは、前記ラッチ回路と前記第１データ線との接続をオフし、前記第２スイッチは、前記ラッチ回路と前記第２データ線との接続をオフする、請求項１に記載の半導体装置。
【請求項３】
前記複数の記憶素子のそれぞれは、
前記ラッチ回路を形成する、ソースが接地された一対のＮＭＯＳトランジスタと、ソースが前記電圧印加部に接続された一対のＰＭＯＳトランジスタとを有し、
前記第１スイッチは、ゲートがワード線に接続され、ソースが前記第１データ線に接続され、ドレインが前記一対のＮＭＯＳトランジスタの一方のＮＭＯＳトランジスタ及び前記一対のＰＭＯＳトランジスタの一方のＰＭＯＳトランジスタのドレイン、並びに前記一対のＮＭＯＳトランジスタの他方のＮＭＯＳトランジスタ及び前記一対のＰＭＯＳトランジスタの他方のＰＭＯＳトランジスタのゲートに接続されるＭＯＳトランジスタであり、
前記第２スイッチは、ゲートが前記ワード線に接続され、ソースが前記第２データ線に接続され、ドレインが前記一対のＮＭＯＳトランジスタの他方のＮＭＯＳトランジスタ及び前記一対のＰＭＯＳトランジスタの他方のＰＭＯＳトランジスタのドレイン、並びに前記一対のＮＭＯＳトランジスタの一方のＮＭＯＳトランジスタ及び前記一対のＰＭＯＳトランジスタの一方のＰＭＯＳトランジスタのゲートに接続されるＭＯＳトランジスタである、請求項２に記載の半導体装置。
【請求項４】
前記電圧印加部は、前記ラッチ回路のそれぞれに前記所定の高電圧を一括して印加する、請求項１〜３の何れか一項に記載の半導体装置。
【請求項５】
前記複数の記憶素子のそれぞれは、揮発性メモリセルとして使用される、請求項１〜４の何れか一項に記載の半導体装置。
【請求項６】
前記記憶データ設定部は、
前記不揮発性データを記憶するデータ記憶部と、
前記不揮発性データの反転データを前記複数の記憶素子のそれぞれに出力する反転データ出力部と、
を有する、請求項１〜５の何れか一項に記載の半導体装置。
【請求項７】
前記記憶データ設定部は、
前記不揮発性データの反転データを記憶するデータ記憶部と、
前記データ記憶部が記憶したデータを前記複数の記憶素子のそれぞれに出力する反転データ出力部と、
を有する、請求項１〜５の何れか一項に記載の半導体装置。
【請求項８】
前記記憶データ設定部は、前記不揮発性データ又は前記不揮発性データの反転データが外部から入力されるデータ不揮発性データ入力部を有する、請求項１〜５の何れか一項に記載の半導体装置。
【請求項９】
前記記憶データ設定部は、前記不揮発性データ又は前記不揮発性データの反転データを外部に出力するデータ不揮発性データ出力部を更に有する、請求項８に記載の半導体装置。
【請求項１０】
前記記憶データ設定部は、前記複数の記憶素子のそれぞれに非反転データを書き込み且つ前記複数の記憶素子のそれぞれに書き込まれたデータの非反転データを読み出す非反転データ状態と、前記複数の記憶素子のそれぞれに反転データを書き込み且つ前記複数の記憶素子のそれぞれに書き込まれたデータの反転データを読み出す反転データ状態とを、複数の記憶素子のそれぞれに前記不揮発性データを記憶するごとに交互に切り替えるデータ状態切替部を有する、請求項１〜５の何れか一項に記載の半導体装置。
【請求項１１】
前記電圧印加部は、前記ラッチ回路に電源電圧を印加する前に、前記ラッチ回路を通常動作させるときの電源電圧より低い電圧を電源電圧として前記ラッチ回路に印加することによって、前記不揮発性データを読み出す、請求項１〜１０の何れか一項に記載の半導体装置。
【請求項１２】
前記記憶データ設定部によって前記複数の記憶素子のそれぞれに書き込まれたデータの状態を示す情報を記憶する不揮発性データ情報記憶部を更に有する、請求項１〜１１の何れか一項に記載の半導体装置。
【請求項１３】
前記不揮発性データ情報記憶部が記憶する情報は、前記記憶データ設定部によって前記複数の記憶素子のそれぞれに記憶されたデータの反転データを使用するか否かを示す情報である、請求項１２に記載の半導体装置。
【請求項１４】
ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子を有する記憶部と、
前記複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、前記複数の記憶素子のそれぞれに書き込み、
前記ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、前記ラッチ回路のそれぞれに印加することによって、前記複数の記憶素子のそれぞれに前記不揮発性データを記憶する制御部と、
を有することを特徴とする記憶装置。
【請求項１５】
前記制御部は、前記ラッチ回路のそれぞれに前記所定の高電圧を一括して印加する、請求項１４に記載の記憶装置。
【請求項１６】
前記複数の記憶素子のそれぞれは、揮発性メモリセルとして使用される、請求項１４又は１５に記載の記憶装置。
【請求項１７】
ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子を有する第１記憶部と、
ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子を有する第２記憶部と、
前記第１記憶部又は前記第２記憶部が有する複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、前記第１記憶部又は前記第２記憶部が有する複数の記憶素子のそれぞれに書き込み、
前記ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、前記反転データが記憶されたラッチ回路のそれぞれに印加して、前記第１記憶部又は前記第２記憶部に不揮発性データを記憶する制御部であって、
前記第１記憶部が不揮発性メモリとして機能するか否かを判定し、
前記第１記憶部が不揮発性メモリとして機能しないと判定したときに、前記第１記憶部に代えて前記第２記憶部を不揮発性メモリとして使用する制御部と、
を有することを特徴とする記憶装置。
【請求項１８】
前記制御部は、
前記第１記憶部が不揮発性メモリとしてデータが書き込まれた回数を計数し、
前記計数した回数が所定のしきい値よりも大きくなったときに、前記第１記憶部が不揮発性メモリとして機能しないと判定する、請求項１７に記載の記憶装置。
【請求項１９】
それぞれがラッチ回路を形成する複数のＭＯＳトランジスタを有する複数の記憶素子を有する記憶装置を制御する方法であって、
前記複数の記憶素子のそれぞれが不揮発性メモリとして機能するときに読み出される不揮発性データの反転データを、前記複数の記憶素子のそれぞれに書き込み、
前記反転データが記憶された前記ラッチ回路のそれぞれに、前記ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を印加することによって、前記複数の記憶素子のそれぞれに前記不揮発性データを記憶する、ことを特徴とする方法。
【請求項２０】
前記複数の記憶素子のそれぞれに前記不揮発性データを記憶するときに、前記所定の高電圧を一括して印加する、請求項１９に記載の方法。
【請求項２１】
前記ラッチ回路に電源電圧を印加するときに、前記ラッチ回路を通常動作させるときの電源電圧より低い電圧から電源電圧を上昇させることによって、前記不揮発性データを読み出すことを更に含む、請求項１９又は２０に記載の方法。
【請求項２２】
前記読み出された不揮発性データの誤り検出処理を行い、
前記誤り検出処理の結果に応じて、前記読み出された不揮発性データに対して誤り訂正処理を行う、請求項１９〜２１の何れか一項に記載の方法。
【請求項２３】
前記ラッチ回路を通常動作させるときの電源電圧より低い電圧を電源電圧として前記ラッチ回路に印加し、
その後、前記ラッチ回路を通常動作させるときの電源電圧より高い電圧を電源電圧として前記ラッチ回路に印加することを更に含む、請求項１９〜２２の何れか一項に記載の方法。
【請求項２４】
前記複数の記憶素子のそれぞれは、揮発性メモリセルとして使用される、請求項１９〜２３の何れか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及び記憶装置並びにその制御方法に関する。より詳細には、本発明は、ラッチ回路を有する記憶素子を含む半導体装置及び記憶装置並びにその制御方法に関する。
【背景技術】
【０００２】
電源電圧を供給しない状態でも消えないデータである不揮発性データを記憶する不揮発性メモリとしてフラッシュメモリが知られている。フラッシュメモリは、ＭＯＳトランジスタのゲートと基板との間に配置されるフローティングゲートに電荷を選択的に注入し且つ引抜くことにより、書き換え可能な不揮発性メモリを実現している。
【０００３】
フラッシュメモリは、フローティングゲートを有するので、ＣＭＯＳ製造プロセスで形成されるロジックと共に半導体装置に搭載するときに、ＣＭＯＳ製造プロセスよりも工程数が増加するため、製造コストが増加するという問題がある。
【０００４】
ＣＭＯＳ製造プロセスで製造可能なＳＲＡＭ（Static Random Access Memory）を不揮発性メモリとして機能させる種々の技術が知られている。
【０００５】
特許文献１には、同様な特性を持つ２つのＭＩＳＦＥＴ（Metal Insulator Semiconductor Field-Effect Transistor）型トランジスタを有する不揮発性メモリが記載されている。この不揮発性メモリでは、ある特定の期間、第１のトランジスタのゲート電極の電圧を、電源電位又は接地電位以外の電圧値に制御することにより、第１のトランジスタの導通状態を制御して、第１のトランジスタの導通抵抗値の経時劣化を誘起する。そして、経時劣化により生じた、第１と第２のトランジスタの性能差を、２つのトランジスタを同時に導通させたときの電流差で読み出すことにより、「０」の読み出しを行う。また、ある特定の期間、第２のトランジスタのゲート電極の電圧を、電源電位又は接地電位以外の電圧値に制御することにより、第２のトランジスタの導通状態を制御して、第２のトランジスタの導通抵抗値の経時劣化を誘起する。そして、経時劣化により生じた、第１と第２のトランジスタの性能差を、２つのトランジスタを同時に導通させたときの電流差で読み出すことにより、「１」の読み出しを行う。特許文献１に記載される不揮発性メモリでは、ホットキャリアによるトランジスタ性能の経時変化として知られている現象（以下、ホットキャリア効果と称する）を利用して、トランジスタのしきい値電圧をシフトさせて不揮発性データを記憶している。
【０００６】
特許文献２には、第１又は第２のビット線に印加される電圧により不可逆的に内部回路を劣化させてデータを不揮発的にラッチするフリップフロップと、第１〜第４スイッチとを有する不揮発性メモリが記載されている。第１及び第２スイッチはフリップフロップの第１の出力端子と第１のビット線との間に接続され、第３及び第４スイッチはフリップフロップの第１の出力端子の出力を反転した出力を行なう第２の出力端子と第２のビット線との間に接続される。特許文献２に記載される不揮発性メモリでは、ホットキャリア効果によりトランジスタに不可逆的な劣化を生じさせて不揮発性データを記憶している。
【０００７】
特許文献３には、Ｎ型ウェル上に形成された第１及び第２ＰＭＯＳトランジスタと、Ｐ型ウェル上に形成された第１及び第２ＮＭＯＳトランジスタと、第１及び第２トランスファＭＯＳトランジスタと駆動回路とを有する不揮発性メモリが記載されている。第１トランスファＭＯＳトランジスタのゲートは、第１ワード線と電気的に接続される。第１トランスファＭＯＳトランジスタのソースは、第１データ線と電気的に接続される。第１トランスファＭＯＳトランジスタのドレインは、第１ＰＭＯＳトランジスタのドレイン、第１ＮＭＯＳトランジスタのソース、第２ＰＭＯＳトランジスタのゲート、及び第２ＮＭＯＳトランジスタのゲートと電気的に接続される。第２トランスファＭＯＳトランジスタのゲートは、第２ワード線と電気的に接続される。第２トランスファＭＯＳトランジスタのソースは、第２データ線と電気的に接続される。第２トランスファＭＯＳトランジスタのドレインは、第２ＰＭＯＳトランジスタのドレイン、第２ＮＭＯＳトランジスタのソース、第１ＰＭＯＳトランジスタのゲート、及び第１ＮＭＯＳトランジスタのゲートと電気的に接続される。駆動回路は、少なくともＮ型ウェル、第１及び第２ＰＭＯＳトランジスタのソース、第１及び第２ＮＭＯＳトランジスタのドレイン、第１ワード線、第２ワード線、第１データ線、並びに第２データ線に印加される電圧を制御する。駆動回路は、第１ＰＭＯＳトランジスタに係る書き込み動作の際、Ｎ型ウェル、第１及び第２ＰＭＯＳトランジスタのソースに絶対値が接合耐圧以下の正電圧を印加する。また、駆動回路は、第１ワード線に正電圧を印加し、第２ワード線に接地電圧を印加し、第１データ線に接地電圧を印加する。特許文献３に記載される不揮発性メモリでは、ホットキャリア効果により不揮発性データを記憶している。
【０００８】
一方、特許文献４には、本願発明の発明者が発明した、半導体基板に形成された複数のゲート型トランジスタにより構成されたラッチ回路の電圧特性を調整する電圧特性調整方法が記載されている。特許文献４に記載される電圧特性調整方法では、まず、ラッチ回路を通常動作させる際に電源電圧を印加するラッチ回路の電源電圧印加点にラッチ回路を通常動作させる際の電源電圧より低い所定の低電圧を印加する。次いで、電源電圧印加点にラッチ回路を通常動作させる際の電源電圧より高い所定の高電圧を印加することにより、ラッチ回路を形成するトランジスタ間のしきい値電圧のばらつきを小さくすることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３５３１０６号公報
【特許文献２】特開２００６−１２７７３７号公報
【特許文献３】特開２００８−５３２６９号公報
【特許文献４】国際公開第２０１０／１４３７０７号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１〜３に記載される不揮発性メモリは、ＣＭＯＳ製造プロセスで製造可能なＳＲＡＭを不揮発性メモリとして機能させることができるので、追加プロセスを要することなく、製造コストが増加するおそれはない。しかしながら、特許文献１〜３に記載される不揮発性メモリでは、ホットキャリア効果を利用してメモリ素子にデータを記憶するため、データ記憶時間が長くなる上に消費電力が大きくなるという問題がある。
【００１１】
また、特許文献１〜３に記載される不揮発性メモリでは、データを記憶するときに、メモリ素子ごとに１ビットずつ選択して記憶動作をするため、データ書き込み時間が更に長くなるという問題がある。
【００１２】
そこで、本発明は、ＣＭＯＳ製造プロセスで形成される論理回路と混載された場合でも製造コストが増加するおそれがなく且つデータ書き込み時間がより短い不揮発性メモリを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る半導体装置は、ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子と、複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、複数の記憶素子のそれぞれに書き込む記憶データ設定部と、ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、ラッチ回路のそれぞれに印加することによって、複数の記憶素子のそれぞれに不揮発性データを記憶する電圧印加部とを有することを特徴とする。
【００１４】
また、本発明に係る半導体装置では、複数の記憶素子のそれぞれは、ラッチ回路と第１データ線との接続をオンオフする第１スイッチと、ラッチ回路と第１データ線に入出力されるデータの反転データが入出力される第２データ線との接続をオンオフする第２スイッチとを有し、電圧印加部が所定の高電圧を印加するとき、第１スイッチは、ラッチ回路と第１データ線との接続をオフし、第２スイッチは、ラッチ回路と第２データ線との接続をオフすることが好ましい。
【００１５】
また、本発明に係る半導体装置では、複数の記憶素子のそれぞれは、ラッチ回路を形成する、ソースが接地された一対のＮＭＯＳトランジスタと、ソースが電圧印加部に接続された一対のＰＭＯＳトランジスタとを有し、第１スイッチは、ゲートがワード線に接続され、ソースが第１データ線に接続され、ドレインが一対のＮＭＯＳトランジスタの一方のＮＭＯＳトランジスタ及び一対のＰＭＯＳトランジスタの一方のＰＭＯＳトランジスタのドレイン、並びに一対のＮＭＯＳトランジスタの他方のＮＭＯＳトランジスタ及び一対のＰＭＯＳトランジスタの他方のＰＭＯＳトランジスタのゲートに接続されるＭＯＳトランジスタであり、第２スイッチは、ゲートがワード線に接続され、ソースが第２データ線に接続され、ドレインが一対のＮＭＯＳトランジスタの他方のＮＭＯＳトランジスタ及び一対のＰＭＯＳトランジスタの他方のＰＭＯＳトランジスタのドレイン、並びに一対のＮＭＯＳトランジスタの一方のＮＭＯＳトランジスタ及び一対のＰＭＯＳトランジスタの一方のＰＭＯＳトランジスタのゲートに接続されるＭＯＳトランジスタであることが好ましい。
【００１６】
また、本発明に係る半導体装置では、電圧印加部は、ラッチ回路のそれぞれに所定の高電圧を一括して印加することが好ましい。
【００１７】
また、本発明に係る半導体装置では、複数の記憶素子のそれぞれは、揮発性メモリセルとして使用されることが好ましい。
【００１８】
また、本発明に係る半導体装置では、記憶データ設定部は、不揮発性データを記憶するデータ記憶部と、不揮発性データの反転データを複数の記憶素子のそれぞれに出力する反転データ出力部と、を有することが好ましい。
【００１９】
また、本発明に係る半導体装置では、記憶データ設定部は、不揮発性データの反転データを記憶するデータ記憶部と、データ記憶部が記憶したデータを複数の記憶素子のそれぞれに出力する反転データ出力部と、を有することが好ましい。
【００２０】
また、本発明に係る半導体装置では、記憶データ設定部は、不揮発性データ又は不揮発性データの反転データが外部から入力されるデータ不揮発性データ入力部を有することが好ましい。
【００２１】
また、本発明に係る半導体装置では、記憶データ設定部は、不揮発性データ又は不揮発性データの反転データを外部に出力するデータ不揮発性データ出力部を更に有することが好ましい。
【００２２】
また、本発明に係る半導体装置では、電圧印加部は、ラッチ回路に電源電圧を印加する前に、ラッチ回路を通常動作させるときの電源電圧より低い電圧を電源電圧としてラッチ回路に印加することによって、不揮発性データを読み出すことが好ましい。
【００２３】
また、本発明に係る半導体装置では、記憶データ設定部によって複数の記憶素子のそれぞれに書き込まれたデータの状態を示す情報を記憶する不揮発性データ情報記憶部を更に有することが好ましい。
【００２４】
また、本発明に係る記憶装置では、不揮発性データ情報記憶部が記憶する情報は、記憶データ設定部によって複数の記憶素子のそれぞれに記憶されたデータの反転データを使用するか否かを示す情報であることが好ましい。
【００２５】
本発明に係る記憶装置は、ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子と、複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、複数の記憶素子のそれぞれに書き込み、ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、ラッチ回路のそれぞれに印加することによって、複数の記憶素子のそれぞれに不揮発性データを記憶する制御部とを有することを特徴とする。
【００２６】
また、本発明に係る記憶装置では、制御部は、ラッチ回路のそれぞれに所定の高電圧を一括して印加することが好ましい。
【００２７】
また、本発明に係る記憶装置では、複数の記憶素子のそれぞれは、揮発性メモリセルとして使用されることが好ましい。
【００２８】
本発明に係る記憶装置は、ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子を有する第１記憶部と、ラッチ回路を形成する複数のＭＯＳトランジスタをそれぞれが有する複数の記憶素子を有する第２記憶部と、第１記憶部又は第２記憶部が有する複数の記憶素子のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、第１記憶部又は第２記憶部が有する複数の記憶素子のそれぞれに書き込み、ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を、反転データが記憶されたラッチ回路のそれぞれに印加して、第１記憶部又は第２記憶部に不揮発性データを記憶する制御部であって、第１記憶部が不揮発性メモリとして機能するか否かを判定し、第１記憶部が不揮発性メモリとして機能しないと判定したときに、第１記憶部に代えて第２記憶部を不揮発性メモリとして使用する制御部と、を有することを特徴とする。
【００２９】
また、本発明に係る記憶装置では、制御部は、第１記憶部が不揮発性メモリとしてデータが書き込まれた回数を計数し、計数した回数が所定のしきい値よりも大きくなったときに、第１記憶部が不揮発性メモリとして機能しないと判定することが好ましい。
【００３０】
本発明に係る記憶装置を制御する方法は、それぞれがラッチ回路を形成する複数のＭＯＳトランジスタを有する複数の記憶素子を有する記憶装置を制御する方法であって、複数の記憶素子のそれぞれが不揮発性メモリとして機能するときに読み出される不揮発性データの反転データを、複数の記憶素子のそれぞれに書き込み、反転データが記憶されたラッチ回路のそれぞれに、ラッチ回路のそれぞれを通常動作させるときの電源電圧より高い所定の高電圧を印加することによって、複数の記憶素子のそれぞれに不揮発性データを記憶することを特徴とする。
【００３１】
また、本発明に係る記憶装置を制御する方法では、複数の記憶素子のそれぞれに不揮発性データを記憶するときに、所定の高電圧を一括して印加することが好ましい。
【００３２】
また、本発明に係る記憶装置を制御する方法では、ラッチ回路に電源電圧を印加するときに、ラッチ回路を通常動作させるときの電源電圧より低い電圧から電源電圧を上昇させることによって、不揮発性データを読み出すことを更に含むことが好ましい。
【００３３】
また、本発明に係る記憶装置を制御する方法では、読み出された不揮発性データの誤り検出処理を行い、誤り検出処理の結果に応じて、読み出された不揮発性データに対して誤り訂正処理を行うことが好ましい。
【００３４】
また、本発明に係る記憶装置を制御する方法では、ラッチ回路を通常動作させるときの電源電圧より低い電圧を電源電圧としてラッチ回路に印加し、その後、ラッチ回路を通常動作させるときの電源電圧より高い電圧を電源電圧としてラッチ回路に印加することを更に含むことが好ましい。
【００３５】
また、本発明に係る記憶装置を制御する方法では、複数の記憶素子のそれぞれは、揮発性メモリセルとして使用されることが好ましい。
【発明の効果】
【００３６】
本発明では、不揮発性データの反転データが書き込まれたラッチ回路に、所定の高電圧を印加することにより不揮発性データを記憶するので、製造コストが増加するおそれがなく且つ短時間での不揮発性データを記憶することが可能になった。
【図面の簡単な説明】
【００３７】
【図１】（ａ）はラッチ回路の回路ブロック図であり、（ｂ）は（ａ）に示す記憶素子の電圧特性を示す図である。
【図２】（ａ）は、図１（ｂ）に示す特性を有するラッチ回路において、一方のデータ状態で電源電圧を徐々に低下させた場合の電圧特性を示す図であり、図２（ｂ）は図１（ｂ）に示す特性を有するラッチ回路において、他方のデータ状態で電源電圧を徐々に低下させた場合の電圧特性を示す図である。
【図３】図１（ｂ）に示す特性を有するラッチ回路において、電源電圧を０Ｖから上昇させた場合の電圧特性を示す図である。
【図４】（ａ）は３．２Ｖの電源電圧が印加されたときのラッチ回路の回路ブロック図であり、（ｂ）は（ａ）の状態でオン状態であるＰＭＯＳトランジスタのバイアス状態を示す図であり、（ｃ）は（ａ）の状態でオフ状態であるＰＭＯＳトランジスタのバイアス状態を示す図であり、（ｄ）は（ａ）の状態でオフ状態であるＮＭＯＳトランジスタバイアス状態を示す図であり、（ｅ）は（ａ）の状態でオン状態であるＮＭＯＳトランジスタのバイアス状態を示す図である。
【図５】（ａ）はＳＲＡＭセルの回路ブロック図であり、（ｂ）は（ａ）に示すＳＲＡＭセルを１０００個搭載したＳＲＡＭに０Ｖから上昇させて３．２Ｖの電圧を電源電圧として印加したときにＰＭＯＳトランジスタのしきい値電圧のシフトを示す図であり、（ｃ）は（ｂ）に示すＰＭＯＳトランジスタのしきい値電圧のシフトの中でオフしているＰＭＯＳトランジスタのしきい値電圧のシフトを示す図であり、（ｄ）はオンしているＰＭＯＳトランジスタのしきい値電圧のシフトを示す図である。
【図６】（ａ）はオン状態のＰＭＯＳトランジスタのバイアス状態と電荷との関係を示す図であり、（ｂ）はオフ状態のＰＭＯＳトランジスタのバイアス状態と電荷との関係を示す図であり、（ｃ）は（ａ）に示すＰＭＯＳトランジスタのゲート電圧−ドレイン電流特性の変化を示す図であり、（ｄ）は（ｂ）に示すＰＭＯＳトランジスタのゲート電圧−ドレイン電流特性の変化を示す図であり、（ｅ）は（ｂ）に示すＰＭＯＳトランジスタのリテンションノイズマージンの変化を示す図である。
【図７】（ａ）は一方のデータ状態で、図５（ａ）に示すＳＲＡＭセルに印加される電源電圧を定格電圧よりも高くしたときのバタフライカーブの変化を示す図であり、（ｂ）は他方のデータ状態で、図５（ａ）に示すＳＲＡＭセル印加される電源電圧を定格電圧よりも高くしたときのバタフライカーブの変化を示す図である。
【図８】第１実施形態に係る半導体装置の機能ブロック図である。
【図９】図８に示す半導体装置に搭載される構成素子の内部回路を部分的に示す回路ブロック図である。
【図１０】図８に示す半導体装置に搭載されるＳＲＡＭセルに書き込まれたデータを不揮発性データとして記憶する処理の処理フローを示すフローチャートである。
【図１１】図８に示す半導体装置に搭載されるＳＲＡＭセルへの揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出しする処理の処理フローを示すフローチャートである。
【図１２】第２実施形態に係る半導体装置の機能ブロック図である。
【図１３】図１２に示す半導体装置に搭載される構成素子の内部回路を部分的に示す回路ブロック図である。
【図１４】図１２に示す半導体装置に搭載されるに書き込まれたデータを不揮発性データとして記憶する処理の処理フローを示すフローチャートである。
【図１５】第３実施形態に係る半導体装置の機能ブロック図である。
【図１６】第４実施形態に係る半導体装置を含む記憶装置の機能ブロック図である。
【図１７】第５実施形態に係る半導体装置を含む記憶装置の機能ブロック図である。
【図１８】第６実施形態に係る半導体装置の機能ブロック図である。
【図１９】第７実施形態に係る半導体装置の機能ブロック図である。
【図２０】図１９に示す半導体装置に搭載されるＳＲＡＭセルへの揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出しする処理の処理フローを示すフローチャートである。
【図２１】本実施形態に係るＳＲＡＭの処理フローの一例を示すフローチャートである。
【図２２】本実施形態に係るＳＲＡＭの処理フローの他の例を示すフローチャートである。
【発明を実施するための形態】
【００３８】
以下図面を参照して、半導体装置及び記憶装置並びにその制御方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明との均等物に及ぶ点に留意されたい。
【００３９】
本発明に係る半導体装置及び記憶装置並びにその制御方法について説明する前に、引用文献４に記載されるラッチ回路の電圧特性調整方法についてより詳細に説明する。
【００４０】
図１（ａ）は、ラッチ回路の回路ブロック図である。
【００４１】
ラッチ回路９００は、第１ＰＭＯＳトランジスタ９０１と、第１ＮＭＯＳトランジスタ９０２と、第２ＰＭＯＳトランジスタ９０３と、第２ＮＭＯＳトランジスタ９０４と、第１入出力端子９０５と、第２入出力端子９０６とを有する。第１ＰＭＯＳトランジスタ及び第１ＮＭＯＳトランジスタのゲートは、第２ＰＭＯＳトランジスタ９０３及び第２ＮＭＯＳトランジスタ９０４のドレインと、第２入出力端子９０６とに接続される。第１ＰＭＯＳトランジスタ９０１のソースは電源電圧Ｖｄｄに接続され、第１ＮＭＯＳトランジスタ９０２のソースは接地される。第２ＰＭＯＳトランジスタ９０３及び第２ＮＭＯＳトランジスタ９０４のドレインは、互いに接続されると共に第１ＰＭＯＳトランジスタ及び第１ＮＭＯＳトランジスタのゲートと、第１入出力端子９０５とに接続される。第１ＰＭＯＳトランジスタ９０１及び第１ＮＭＯＳトランジスタ９０２は、第２入出力端子に入力されたデータを第１入出力端子に反転出力する反転素子を形成する。第２ＰＭＯＳトランジスタ９０３及び第２ＮＭＯＳトランジスタ９０４は、第１入出力端子に入力されたデータを第２入出力端子に反転出力する反転素子を形成する。ラッチ回路９００は、第２入出力端子９０６に第１入出力端子９０５の反転データを保持するラッチ回路である。
【００４２】
図１（ｂ）は、図１（ａ）に示す記憶素子の電圧特性を示す図である。図１（ｂ）に示される曲線は、バラフライカーブとも称される。図１（ｂ）の横軸は第１入出力端子９０５の電圧ＶＬを示し、図１（ｂ）の縦軸は第２入出力端子９０６の電圧ＶＲを示す。図１（ｂ）において、実線で示される曲線は、第１ＰＭＯＳトランジスタ９０１及び第１ＮＭＯＳトランジスタ９０２で形成される反転素子の入出力電圧特性を示す。また、破線で示される曲線は第２ＰＭＯＳトランジスタ９０３及び第２ＮＭＯＳトランジスタ９０４で形成される反転素子の入出力電圧特性を示す。矢印Ａは電源電圧が１．２Ｖのときの特性を示し、矢印Ｂは電源電圧が０．５Ｖのときの特性を示し、矢印Ｃは電源電圧が０．３Ｖのときの特性を示し、矢印Ｄは電源電圧が０．２Ｖのときの特性を示す。図１（ｂ）において、双方向矢印Ｅは、電源電圧が１．２Ｖのときの第１入出力端子９０５の信号レベルＶＬがＬレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＨレベルのときの保持状態でのマージンを示す。また、双方向矢印Ｆは電源電圧が１．２Ｖのときの第１入出力端子９０５の信号レベルＶＬがＨレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＬレベルのときの保持状態でのマージンを示す。双方向矢印Ｅ及びＦでそれぞれ示されるマージンは、バタフライカーブに内接可能な最大面積を有する正方形の対角線の長さで示される。図１（ｂ）では、バタフライカーブに内接可能な最大面積を有する正方形は一点鎖線で示され、双方向矢印Ｆで示されるマージンが双方向矢印Ｅで示されるマージンよりも大きくなっている。双方向矢印Ｅ及びＦでそれぞれ示される２つのマージンのうち、矢印Ｅで示される比較的小さいマージンは、リテンションノイズマージンとも称される。
【００４３】
図１（ｂ）に示されるように、電源電圧を徐々に低下させていくと、バタフライカーブの２つのマージンの差が徐々に大きくなり、一方の閉曲線が完全につぶれてしまう。すなわち、電源電圧が０．２Ｖになると、リテンションノイズマージンがゼロになる。リテンションノイズマージンがゼロになると、マージンがゼロになった閉曲線に位置する保持状態は不安定状態になり、マージンがゼロにでない安定状態にデータ状態が遷移する。図１（ｂ）に示す例では、第１入出力端子９０５の信号レベルＶＬがＬレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＨレベルである保持状態が不安定状態である。また、第１入出力端子９０５の信号レベルＶＬがＨレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＬレベルのときの保持状態が安定状態である。図１（ｂ）に示す例では、電源電圧が０．２Ｖになり、リテンションノイズマージンがゼロになると、第１入出力端子９０５の信号レベルＶＬがＬレベルからＨレベルに遷移し、第２入出力端子９０６の信号レベルＶＲがＨレベルからＬレベルに遷移する。なお、第１入出力端子９０５の信号レベルＶＬがＨレベルであり、第２入出力端子９０６の信号レベルＶＲがＬレベルである場合、リテンションノイズマージンがゼロになっても、信号レベルは変化しない。
【００４４】
図２（ａ）は、図１（ｂ）に示す特性を有するラッチ回路９００において、第１入出力端子９０５の信号レベルＶＬがＬレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＨレベルのときに電源電圧を徐々に低下させた場合の電圧特性を示す図である。図２（ｂ）は、図１（ｂ）に示す特性を有するラッチ回路９００において、第１入出力端子９０５の信号レベルＶＬがＨレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＬレベルのときに電源電圧を徐々に低下させた場合の電圧特性を示す図である。図２（ａ）及び２（ｂ）において、実線は第１入出力端子９０５の信号レベルＶＬを示し、破線は第２入出力端子９０６の信号レベルＶＲを示す。
【００４５】
第１入出力端子９０５の信号レベルＶＬがＬレベルであり且つ第２入出力端子９０６の信号レベルＶＲがＨレベルである状態では、リテンションノイズマージンがゼロに近づくと、第１入出力端子９０５及び第２入出力端子９０６の信号レベルが反転する。すなわち、第１入出力端子９０５の信号レベルＶＬがＬレベルからＨレベルに反転し、第２入出力端子９０６の信号レベルＶＲがＨレベルからＬレベルに反転する。
【００４６】
第１入出力端子９０５の信号レベルＶＬがＨレベルで且つあり第２入出力端子９０６の信号レベルＶＲがＬレベルである状態では、リテンションノイズマージンがゼロに近づいても、第１入出力端子９０５及び第２入出力端子９０６の信号レベルは反転しない。
【００４７】
ラッチ回路では、印加する電源電圧を徐々に低下させて、リテンションノイズマージンがゼロに近づくと、ラッチ回路の入出力端子の信号レベルは、安定状態であるデータ状態に保持される。すなわち、ラッチ回路のデータ状態は、リテンションノイズマージンがゼロである電源電圧が低電圧の領域では、安定状態であるデータ状態になる。
【００４８】
図３は、図１（ｂ）に示す特性を有するラッチ回路９００において、電源電圧を０Ｖから上昇させた場合の電圧特性を示す図である。図３において、実線は第１入出力端子９０５の信号レベルＶＬを示し、破線は第２入出力端子９０６の信号レベルＶＲを示す。
【００４９】
電源電圧が０．２Ｖ以下であり、テンションノイズマージンがゼロである場合、ラッチ回路９００のデータ状態は安定状態になる。すなわち、電源電圧が０．２Ｖ以下であるときは、第１入出力端子９０５の信号レベルＶＬがＨレベルになり、第２入出力端子９０６の信号レベルＶＲがＬレベルになる。次いで、電源電圧を上昇させる過程では、ラッチ回路９００のデータ状態は、安定状態のまま維持される。したがって、ラッチ回路９００の電源電圧を０Ｖから上昇させると、ラッチ回路９００のデータ状態は選択的に、第１入出力端子９０５の信号レベルＶＬがＨレベルになり、第２入出力端子９０６の信号レベルＶＲがＬレベルになる。
【００５０】
ここで、ラッチ回路９００に印加する電源電圧を０Ｖから上昇させて、通常動作させるときの電源電圧である定格電圧１．２Ｖを越えて３．２Ｖにした場合を考える。リテンションノイズマージンがゼロの状態から電源電圧を上昇させているので、ラッチ回路９００のデータ状態は、第１入出力端子９０５の信号レベルＶＬがＨレベルになり、第２入出力端子９０６の信号レベルＶＲがＬレベルになる。
【００５１】
図４（ａ）は、３．２Ｖの電源電圧が印加されたときのラッチ回路９００の回路ブロック図である。図４（ｂ）は図４（ａ）の状態でオン状態である第１ＰＭＯＳトランジスタ９０１のバイアス状態を示す図であり、図４（ｃ）は図４（ａ）の状態でオフ状態である第２ＰＭＯＳトランジスタ９０３のバイアス状態を示す図である。図４（ｄ）は図４（ａ）の状態でオフ状態である第１ＮＭＯＳトランジスタ９０２バイアス状態を示す図であり、図４（ｅ）は図４（ａ）の状態でオン状態である第２ＮＭＯＳトランジスタ９０４のバイアス状態を示す図である。
【００５２】
ラッチ回路９００の安定状態でオン状態である第１ＰＭＯＳトランジスタ９０１及び第２ＮＭＯＳトランジスタ９０４はそれぞれ、第２ＰＭＯＳトランジスタ９０３及び第１ＮＭＯＳトランジスタ９０２よりも比較的駆動能力が大きい。すなわち、第１ＰＭＯＳトランジスタ９０１及び第２ＮＭＯＳトランジスタ９０４はそれぞれ、比較的しきい値電圧が小さいトランジスタである。ラッチ回路９００では、第１ＰＭＯＳトランジスタ９０１は、第２ＰＭＯＳトランジスタ９０３よりもしきい値電圧が小さく、第２ＮＭＯＳトランジスタ９０４は、第１ＮＭＯＳトランジスタ９０２よりもしきい値電圧が小さい。
【００５３】
また、比較的しきい値電圧が小さい第１ＰＭＯＳトランジスタ９０１及び第２ＮＭＯＳトランジスタ９０４は、ゲートとソース及びドレインとの間に３．２Ｖの電圧が印加される。一方、比較的しきい値電圧が大きい第１ＮＭＯＳトランジスタ９０２はゲートとドレインの間に３．２Ｖの電圧が印加され、第２ＰＭＯＳトランジスタ９０３はゲートとソースとの間に３．２Ｖの電圧が印加される。
【００５４】
図５（ａ）は、ＳＲＡＭセルの回路ブロック図である。図５（ｂ）は、図５（ａ）に示すＳＲＡＭセルを１０００個搭載したＳＲＡＭに０Ｖから上昇させて３．２Ｖの電圧を電源電圧として印加したときに第１ＰＭＯＳトランジスタ９０１のしきい値電圧のシフトを示す図である。図５（ｃ）は図５（ｂ）に示す第１ＰＭＯＳトランジスタ９０１のしきい値電圧のシフトの中でオフしているＰＭＯＳトランジスタのしきい値電圧のシフトを示す図であり、図５（ｄ）はオンしているＰＭＯＳトランジスタのしきい値電圧のシフトを示す図である。図５（ｂ）〜５（ｄ）において、横軸は１から１０００までのＳＲＡＭセルの番号を示し、縦軸はＰＭＯＳトランジスタのしきい値電圧のシフトの大きさを任意単位で示す。
【００５５】
ＳＲＡＭセル１００の第１ＰＭＯＳトランジスタ１０１及び第１ＮＭＯＳトランジスタ１０２は、ラッチ回路９００の第１ＰＭＯＳトランジスタ９０１及び第１ＮＭＯＳトランジスタ９０２と同一の構造及び機能を有する。ＳＲＡＭセル１００の第２ＰＭＯＳトランジスタ１０３及び第２ＮＭＯＳトランジスタ１０４は、ラッチ回路９００の第２ＰＭＯＳトランジスタ９０３及び第２ＮＭＯＳトランジスタ９０４と同一の構造及び機能を有する。ＳＲＡＭセル１００は、第１入出力端子９０５及び第２入出力端子９０６の代わりに、第１トランスファＭＯＳトランジスタ１０５及び第２トランスファＭＯＳトランジスタ１０７が配置されることがラッチ回路９００と相違する。第１トランスファＭＯＳトランジスタ１０５のゲートはワード線に接続され、ソースは第１ビット線に接続される。第１トランスファＭＯＳトランジスタ１０５のドレインは、第１ＰＭＯＳトランジスタ１０１及び第１ＮＭＯＳトランジスタ１０２のドレイン並びに第２ＰＭＯＳトランジスタ１０３及び第２ＮＭＯＳトランジスタ１０４のゲートに接続される。第２トランスファＭＯＳトランジスタ１０６のゲートはワード線に接続され、ソースは第２ビット線に接続される。第２トランスファＭＯＳトランジスタ１０８のドレインは、第１ＰＭＯＳトランジスタ１０１及び第１ＮＭＯＳトランジスタ１０２のゲート並びに第２ＰＭＯＳトランジスタ１０３及び第２ＮＭＯＳトランジスタ１０４のドレインに接続される。
【００５６】
図５（ｂ）では、０Ｖから上昇させて３．２Ｖの電源電圧が印加された第１ＰＭＯＳトランジスタ９０１のしきい値電圧は、大きさ及び方向が共にランダムにシフトしている。しかしながら、図５（ｃ）及び５（ｄ）に示すように、オフしている第１ＰＭＯＳトランジスタ９０１のしきい値電圧は略マイナス方向にシフトし、オンしている第１ＰＭＯＳトランジスタ９０１のしきい値電圧は略プラス方向にシフトしている。
【００５７】
図３及び４を参照して説明したように、電源電圧を０Ｖから上昇させると、トランジスタの駆動能力に応じて安定状態になるように、ラッチ回路のデータ状態は選択的に決定される。すなわち、電源電圧を０Ｖから上昇させると、比較的しきい値電圧が小さいＭＯＳトランジスタがオンし且つ比較的しきい値電圧が大きいＭＯＳトランジスタがオフするデータ状態になる。
【００５８】
図５（ｃ）は、ラッチ回路の電源電圧を０Ｖから上昇させて定格電圧よりも高い電圧を印加すると、比較的しきい値電圧が大きいＰＭＯＳトランジスタでは、ラッチ回路のしきい値電圧が小さくなる方向にシフトすることを示す。一方、図５（ｄ）は、電源電圧を０Ｖから上昇させて定格電圧よりも高い電圧を印加すると、比較的しきい値電圧が小さいＰＭＯＳトランジスタでは、しきい値電圧が大きくなる方向にシフトすることを示す。
【００５９】
本願発明の発明者は、ラッチ回路の電源電圧を０Ｖから上昇させて定格電圧よりも高い電圧を印加すると、ラッチ回路を形成するＭＯＳトランジスタ間のしきい値電圧のばらつきが減少することを見出した。また、本願発明の発明者は、この現象を利用してＳＲＡＭ等に内蔵されるラッチ回路の電圧特性調整方法を見出した。
【００６０】
図６（ａ）はオン状態の第１ＰＭＯＳトランジスタ１０１のバイアス状態と電荷との関係を示す図であり、図６（ｂ）はオフ状態の第１ＰＭＯＳトランジスタ１０１のバイアス状態と電荷との関係を示す図である。図６（ｃ）は図６（ａ）に示す第１ＰＭＯＳトランジスタ１０１のゲート電圧−ドレイン電流特性の変化を示す図であり、図６（ｄ）は図６（ｂ）に示す第１ＰＭＯＳトランジスタ１０１のゲート電圧−ドレイン電流特性の変化を示す図である。図６（ｅ）は図６（ｂ）に示す第１ＰＭＯＳトランジスタ９０１のリテンションノイズマージンの変化を示す図である。図６（ｃ）及び６（ｄ）において、横軸はゲート電圧を示し、縦軸はドレイン電流を示し、破線は３．２Ｖの電源電圧を印加する前の特性を示し、実線は３．２Ｖの電源電圧を印加した後の特性を示す。図６（ｅ）において、横軸はリテンションノイズマージンを示し、縦軸は３．２Ｖ印加前のリテンションノイズマージンの大きさに従った分布を示す。リテンションノイズマージンが大きいＳＲＡＭセルほど縦軸の上方に位置し、リテンションノイズマージンが小さいＳＲＡＭセルほど縦軸の下方に位置する。また、図６（ｅ）において、丸は３．２Ｖの電源電圧を印加する前の特性を示し、ひし形は３．２Ｖの電源電圧を印加した後の特性を示す。
【００６１】
オン状態で３．２Ｖの電源電圧が印加される第１ＰＭＯＳトランジスタ１０１は、ＮＢＴＩ（Negative Bias Temperature Instability）のバイアス条件と同一の条件になっているため、しきい値電圧は大きくなる方向にシフトする。一方、オフ状態で３．２Ｖの電源電圧が印加される第１ＰＭＯＳトランジスタ１０１は、ドレイン近傍の酸化膜に負電荷が注入されることに起因して、しきい値電圧は小さくなる方向にシフトする。
【００６２】
図６（ｅ）に示すように、リテンションノイズマージンが小さいＳＲＡＭセルほどリテンションノイズマージンの増加量が大きい。これは、本願発明の発明者が発明したラッチ回路の電圧特性調整方法では、リテンションノイズマージンが小さく不安定なＳＲＡＭセルほど、より安定になることを示している。
【００６３】
さらに、本願発明の発明者は、発明したラッチ回路の電圧特性調整方法に使用した以下に示す現象に基づいて、ＳＲＡＭセルを不揮発性メモリとして使用することを見出した。
【００６４】
（１）電源電圧をリテンションノイズマージンがゼロの状態から上昇させると、ＳＲＡＭセルは、ＳＲＡＭセル内部のラッチ回路を形成するＭＯＳトランジスタの駆動能力に基づいて決定される安定状態となるデータ状態を選択的に出力する。すなわち、図３及び４を参照して説明したように、ラッチ回路に印加する電源電圧を０Ｖから上昇させていくと、ラッチ回路のデータ状態は、バタフライカーブのマージンの大きさが比較的大きい方向に位置する安定状態になる。
【００６５】
（２）ＳＲＡＭセル内部のラッチ回路を形成するＭＯＳトランジスタは、定格電圧より高い電源電圧を印加すると、ラッチ回路に書き込まれていたデータ状態が不安定になる方向にしきい値電圧がシフトする。以下、図７を参照してこの現象をより詳細に説明する。
【００６６】
図７（ａ）は、図５（ａ）に示すＳＲＡＭセル１００において、信号レベルＶＬがＬレベルであり、信号レベルＶＲがＨレベルであるときに、ラッチ回路に印加される電源電圧を定格電圧よりも高くしたときのバタフライカーブの変化を示す図である。図７（ｂ）は、図５（ａ）に示すＳＲＡＭセル１００において、信号レベルＶＬがＨレベルであり、信号レベルＶＲがＬレベルであるときに、ラッチ回路に印加される電源電圧を定格電圧よりも高くしたときのバタフライカーブの変化を示す図である。図７（ａ）及び７（ｂ）において、横軸は、第１ＰＭＯＳトランジスタ１０１及び第１ＮＭＯＳトランジスタ１０２のドレインの信号レベルＶＬを任意単位単位で示す。また、縦軸は、第２ＰＭＯＳトランジスタ１０３及び第２ＮＭＯＳトランジスタ１０４のドレインの信号レベルＶＲを任意単位単位で示す。図７（ａ）及び７（ｂ）において、破線は３．２Ｖの電源電圧を印加する前の特性を示し、実線は３．２Ｖの電源電圧を印加した後の特性を示す。
【００６７】
図７（ａ）に示す状態では、第１ＰＭＯＳトランジスタ１０１及び第２ＮＭＯＳトランジスタ１０４はオフし、第１ＮＭＯＳトランジスタ１０２及び第２ＰＭＯＳトランジスタ１０３はオンしている。第１ＰＭＯＳトランジスタ１０１はオフしているので、定格電圧より高い電源電圧が印加されると、第１ＰＭＯＳトランジスタ１０１のしきい値電圧は小さくなる方向にシフトする。第１ＰＭＯＳトランジスタ１０１のしきい値電圧は小さくなる方向にシフトすると、矢印Ａで示すように、ＳＲＡＭセル１００に書き込まれていたデータの方向のバタフライカーブのマージンが小さくなるように、バタフライカーブの形状が変化する。一方、第２ＰＭＯＳトランジスタ１０３はオンしているので、定格電圧より高い電源電圧が印加されると、第２ＰＭＯＳトランジスタ１０３のしきい値電圧は大きくなる方向にシフトする。第２ＰＭＯＳトランジスタ１０３のしきい値電圧は大きくなる方向にシフトすると、矢印Ｂで示すように、ＳＲＡＭセル１００に書き込まれていたデータの方向のバタフライカーブのマージンが小さくなるように、バタフライカーブの形状が変化する。
【００６８】
図７（ｂ）に示す状態では、第１ＰＭＯＳトランジスタ１０１及び第２ＮＭＯＳトランジスタ１０４はオンし、第１ＮＭＯＳトランジスタ１０２及び第２ＰＭＯＳトランジスタ１０３はオフしている。第１ＰＭＯＳトランジスタ１０１はオンしているので、定格電圧より高い電源電圧が印加されると、第１ＰＭＯＳトランジスタ１０１のしきい値電圧は大きくなる方向にシフトする。第１ＰＭＯＳトランジスタ１０１のしきい値電圧は大きくなる方向にシフトすると、矢印Ｃで示すように、ＳＲＡＭセル１００に書き込まれていたデータの方向のバタフライカーブのマージンが小さくなるように、バタフライカーブの形状が変化する。一方、第２ＰＭＯＳトランジスタ１０３はオフしているので、定格電圧より高い電源電圧が印加されると、第２ＰＭＯＳトランジスタ１０３のしきい値電圧は小さくなる方向にシフトする。第２ＰＭＯＳトランジスタ９０３のしきい値電圧は小さくなる方向にシフトすると、矢印Ｄで示すように、ＳＲＡＭセル１００に書き込まれていたデータの方向のバタフライカーブのマージンが小さくなるように、バタフライカーブの形状が変化する。
【００６９】
図７（ａ）及び７（ｂ）に示されるように、定格電圧より高い電源電圧が印加されると、ＳＲＡＭセルのラッチ回路に書き込まれたデータ状態が不安定になるように、ラッチ回路を形成するＭＯＳトランジスタのしきい値電圧がシフトする。
【００７０】
これらの現象から、以下のようにＳＲＡＭセル１００を制御することによりＳＲＡＭ１００に不揮発性データを記憶することが可能になる。
（１）ＳＲＡＭセル１００が不揮発性メモリとして機能するときに読み出される不揮発性データの反転データを、ＳＲＡＭセルに書き込む。
（２）不揮発性メモリとして機能するときに読み出される不揮発性データの反転データが記憶されたＳＲＡＭセル１００のラッチ回路に、ラッチ回路を通常動作させるときの電源電圧より高い所定の高電圧を印加する。
【００７１】
また、上記の制御により不揮発性データとしてＳＲＡＭセル１００に記憶されたデータは、以下のようにＳＲＡＭセル１００を制御することによりＳＲＡＭ１００に記憶された不揮発性データを読み出すことが可能になる。
（１）ＳＲＡＭセル１００のラッチ回路の電源電圧をオフにする。
（２）ＳＲＡＭセル１００のラッチ回路に電源電圧を印加するときに、電源電圧をリテンションノイズマージンがゼロの状態から定格電圧まで上昇させる。
【００７２】
以下、第１実施形態〜第７実施形態について順に説明する。
【００７３】
図８は第１実施形態に係る半導体装置の機能ブロック図であり、図９は図８に示す半導体装置に搭載される構成素子の内部回路を部分的に示す回路ブロック図である。
【００７４】
半導体装置１は、記憶部１０と、メモリ制御部２０と、論理回路部３０とを有する。記憶部１０は、ＳＲＡＭセルアレイ１１と、行デコーダ１２と、列デコーダ１３と、センスアンプ１４と、電圧印加部１５と、記憶データ設定部１６とを有する。メモリ制御部２０は、セル選択指示部２０１と、データ記憶指示部２０２と、反転データ出力指示部２０３と、電圧印加指示部２０４とを有する。記憶部１０は、不揮発性メモリとして使用されない場合でも揮発性メモリとして使用可能である。
【００７５】
ＳＲＡＭセルアレイ１１は、Ｎ行Ｍ列のマトリックス状に配置される複数のＳＲＡＭセル１００と、行方向に配置される複数のワード線ＷＬと、列方向に配置される複数対のビット線ＢＬ及びＢＬＢとを有する。同一の行に配置される複数のＳＲＡＭセル１００には、同一のワード線がそれぞれ接続され、同一の列に配置される複数のＳＲＡＭセル１００には、同一対のビット線ＢＬ及びＢＬＢがそれぞれ接続される。行デコーダ１２は、行アドレス選択信号を受信したときに、受信した行アドレス選択信号に対応するワード線ＷＬを選択する。列デコーダ１３は、列アドレス選択信号を受信したときに受信した列アドレス選択信号に対応する一対のビット線ＢＬ及びＢＬＢを選択し、選択した一対のビット線ＢＬ及びＢＬＢにデータを入出力する。センスアンプ１４は、ＳＲＡＭセル１００から一対のビット線ＢＬ及びＢＬＢを介して送信された信号を増幅するＭ個の増幅素子１４１を有する。
【００７６】
電圧印加部１５は、電圧昇圧部１５１と、電圧降圧部１５２と、印加電圧選択部１５３とを有する。電圧昇圧部１５１は、チャージポンプを有し、半導体装置１に供給された電源電圧を、供給された電源電圧より高い電圧に昇圧する。電圧降圧部１５２は、分圧回路を有し、半導体装置１に供給された電源電圧を、供給された電源電圧よりも低い複数の電圧に分圧し、０Ｖから電源電圧まで複数の電圧を出力する。
【００７７】
印加電圧選択部１５３は、電圧印加指示部２０４が送信される印加電圧信号が示す電圧を電圧昇圧部１５１が昇圧した電圧及び電圧降圧部１５２が分圧した電圧の何れかから選択する。印加電圧選択部１５３は、ＳＲＡＭセルアレイ１１に配置される複数のＳＲＡＭセル１００の第１ＰＭＯＳトランジスタ１０１及び第２ＰＭＯＳトランジスタ１０３のソースに、選択した電圧を印加する。
【００７８】
印加電圧選択部１５３は、半導体装置１に電源電圧が供給されたときに、電圧降圧部１５２が印加する電圧を０Ｖから定格電圧まで徐々に上昇させるように印加電圧選択部１５３が電圧を選択する印加電圧信号を電圧印加指示部２０４から受信する。印加電圧選択部１５３は、受信した信号に応じて、印加電圧選択部１５３が電圧降圧部１５２が複数のＳＲＡＭセル１００に印加する電圧を０Ｖから定格電圧まで徐々に上昇させる。印加電圧選択部１５３が複数のＳＲＡＭセル１００に印加する電圧を０Ｖから定格電圧まで徐々に上昇させると、複数のＳＲＡＭセル１００のそれぞれに記憶された不揮発性データがＳＲＡＭ動作で書き換え可能なデータとして複数のＳＲＡＭセル１００のそれぞれに保持される。印加電圧選択部１５３は、複数のＳＲＡＭセル１００に印加する電圧を定格電圧まで上昇させると、印加する電圧を定格電圧で維持する。
【００７９】
印加電圧選択部１５３は、複数のＳＲＡＭセル１００のそれぞれに不揮発性データの反転データが書き込まれたときに、電圧昇圧部１５１が昇圧した電圧を複数のＳＲＡＭセル１００に印加することを示す印加電圧信号を電圧印加指示部２０４から受信する。印加電圧選択部１５３は、受信した信号に応じて、電圧昇圧部１５１が昇圧した定格電圧よりも高い電圧を所定の印加時間に亘って一括して印加すると、複数のＳＲＡＭセル１００のそれぞれに不揮発性データが記憶される。
【００８０】
記憶データ設定部１６は、ＳＲＡＭデータ記憶部１６１と、反転データ生成部１６２と、反転データ出力部１６３とを有する。
【００８１】
ＳＲＡＭデータ記憶部１６１は、Ｍ個のデータフリップフロップ１６４を有する。Ｍ個のデータフリップフロップ１６４のそれぞれのデータ入力端子は、センスアンプ１４に配置されるＭ個の増幅素子１４１のそれぞれの出力端子に接続される。Ｍ個のデータフリップフロップ１６４のクロック入力端子は、メモリ制御部２０のデータ記憶指示部２０２に接続される。Ｍ個のデータフリップフロップ１６４のそれぞれは、データ入力端子に出力端子が接続された増幅素子１４１から出力されたデータをデータ記憶指示部２０２から送信されるパルス信号の立ち上がりエッジを受信したときに記憶する。
【００８２】
反転データ生成部１６２は、Ｍ個の反転素子１６５を有する。Ｍ個の反転素子１６５のそれぞれの入力端子は、Ｍ個のデータフリップフロップ１６４のそれぞれの出力端子に接続される。Ｍ個の反転素子１６５のそれぞれは、データフリップフロップ１６４から出力されたデータを反転させた反転データを出力する。
【００８３】
反転データ出力部１６３は、Ｍ対の第１反転出力バッファ１６６及び第２反転出力バッファ１６７を有する。Ｍ個の第１反転出力バッファ１６６のそれぞれのデータ入力端子は、Ｍ個の反転素子１６５のそれぞれの出力端子に接続される。Ｍ個の第２反転出力バッファ１６７のそれぞれのデータ入力端子は、Ｍ個のデータフリップフロップ１６４のそれぞれの出力端子に接続される。Ｍ対の第１反転出力バッファ１６６及び第２反転出力バッファ１６７のコントロール端子は、メモリ制御部２０３の反転データ出力指示部２０３に接続される。Ｍ個の第１反転出力バッファ１６６のそれぞれは、反転データの出力を指示する反転データ出力指示信号を反転データ出力指示部２０３から受信したとき、反転素子１６５から出力されたデータをデータ線ＢＬに出力する。Ｍ個の第２反転出力バッファ１６７のそれぞれは、反転データの出力を指示する反転データ出力指示信号を反転データ出力指示部２０３から受信したとき、Ｍ個のデータフリップフロップ１６４の出力端子から出力されたデータをデータ線ＢＬＢに出力する。
【００８４】
セル選択指示部２０１は、行デコーダ１２に行アドレス選択信号を送信し且つ列デコーダ１３に列アドレス選択信号を送信することによって、書き込まれているデータを反転させるＳＲＡＭセル１００を順次選択する。また、セル選択指示部２０１は、セル選択指示部２０１が列アドレス選択信号を送信してから所定の読み出し時間が経過した後に、選択された列の情報を含むデータ記憶指示信号をデータ記憶指示部２０２及び反転データ出力指示部２０３に送信する。所定の読み出し時間は、セル選択指示部２０１がアドレス選択信号及び列アドレス選択信号を送信してからセンスアンプ１４の増幅素子１４１が選択されたＳＲＡＭセル１００からデータを読み出すまでの時間に対応する。
【００８５】
セル選択指示部２０１は、不揮発性データのＳＲＡＭセル１００への不揮発性データの記憶を指示する不揮発性データ記憶指示信号を不図示の制御部から受信すると、ＳＲＡＭセル１００の選択を開始する。まず、セル選択指示部２０１は、行デコーダ１２に１行目の選択を指示する行アドレス選択信号を送信し且つ列デコーダ１３に１列目の列アドレス選択信号を送信する。次いで、所定の読み出し時間が経過した後、セル選択指示部２０１は、第１列目が選択されている情報を含むデータ記憶指示信号をデータ記憶指示部２０２及び反転データ出力指示部２０３に送信する。次いで、セル選択指示部２０１は、反転データ出力指示部２０３が反転データ出力指示信号を送信してから所定の書き込み時間が経過した後に、行デコーダ１２に２行目の選択を指示する行アドレス選択信号を送信する。所定の読み出し時間は、セル選択指示部２０１が反転データ出力指示信号を送信してから選択されたＳＲＡＭセル１００に反転データが書き込まれるまでの時間に対応する。行デコーダ１２に送信される行アドレス選択信号が変更されることにより、選択されるＳＲＡＭセル１００は、第１行目第１列のＳＲＡＭセル１００から第２行目第１列のＳＲＡＭセル１００に変更される。
【００８６】
以降、セル選択指示部２０１は、反転データ出力指示部２０３が反転データ出力指示信号を送信するごとに選択するＳＲＡＭセル１００を変更し、第Ｎ行第１列のＳＲＡＭセル１００を選択した後に、第１行第２列のＳＲＡＭセル１００を選択する。以降、セル選択指示部２０１は、同一列に配置されるＮ個のＳＲＡＭセル１００を第１行目から順次選択し、第Ｎ行に配置されるＳＲＡＭセルを選択した後に、次の列の第１行に配置されるＳＲＡＭセルを順次選択する。セル選択指示部２０１は、第Ｎ行第Ｍ列に配置されるＳＲＡＭセル１００まで選択する。そして、セル選択指示部２０１は、反転データ出力指示部２０３が反転データ出力指示信号を送信してから所定の書き込み時間が経過した後に、セル選択指示部２０１は、電圧印加指示部２０４に反転データ書き込み完了信号を送信する。
【００８７】
データ記憶指示部２０２は、選択された列の情報を含むデータ記憶指示信号をセル選択指示部２０１から受信すると、選択された列に配置されるＳＲＡＭセル１００に接続されるデータフリップフロップ１６４にパルス信号を送信する。
【００８８】
反転データ出力指示部２０３は、データ記憶指示部２０２がパルス信号を送信してから所定のＦＦ書き込み時間が経過した後に、選択された列に配置される第１反転出力バッファ１６６及び第２反転出力バッファ１６７に反転データ出力指示信号を送信する。所定のＦＦ書き込み時間は、データフリップフロップ１６４がクロック端子にパルス信号を入力されてから、データ入力端子に入力されているデータを記憶するまでの時間に対応する。
【００８９】
電圧印加指示部２０４は、半導体装置１に電源電圧が供給されたときに、電圧降圧部１５２が出力する電圧を０Ｖから定格電圧まで徐々に上昇させるように印加電圧選択部１５３が電圧を選択する印加電圧信号を印加電圧選択部１５３に送信する。
【００９０】
電圧印加指示部２０４は、セル選択指示部２０１から反転データ書き込み完了信号を受信すると、ＳＲＡＭセル１００の第１トランスファーＭＯＳトランジスタ１０５及び第２トランスファＭＯＳトランジスタ１０６が全てオフになるように制御する。次いで、電圧印加指示部２０４は、電圧昇圧部１５１が昇圧した電圧を複数のＳＲＡＭセル１００に印加することを示す印加電圧信号を印加電圧選択部１５３に送信する。ＳＲＡＭセル１００の第１トランスファーＭＯＳトランジスタ１０５及び第２トランスファＭＯＳトランジスタ１０６が全てオフの状態で、定格電圧より高い電圧を全てのＳＲＡＭセル１００に一括して印加することにより、不揮発性データが記憶される。次いで、電圧印加指示部２０４は、所定の印加時間が経過した後に、定格電圧を印加することを示す印加電圧信号を印加電圧選択部１５３に送信する。そして、電圧印加指示部２０４は、複数のＳＲＡＭセル１００のぞれぞれに不揮発性データが記憶されたことを示す不揮発性データ記憶完了信号を、不図示の制御部に送信する。
【００９１】
論理回路部３０は、複数のＣＭＯＳトランジスタで形成された種々の論理回路を有し、記憶部１０にデータを書き込み、書き込んだデータを記憶部１０から読み出すなど所定の処理を実行する。
【００９２】
図１０は、メモリ制御部２０が複数のＳＲＡＭセル１００に書き込まれたデータを不揮発性データとして記憶する処理の処理フローを示すフローチャートである。
【００９３】
まず、ステップＳ１０１において、セル選択指示部２０１は、不揮発性データのＳＲＡＭセル１００への記憶を指示する不揮発性データ記憶指示信号を不図示の制御部から受信する。
【００９４】
次いで、ステップＳ１０２において、セル選択指示部２０１は、ＳＲＡＭセルアレイ１１の第１行第１列に位置するＳＲＡＭセル１００を選択する。セル選択指示部２０１は、行デコーダ１２に１行目の選択を指示する行アドレス選択信号を送信し且つ列デコーダ１３に１列目の列アドレス選択信号を送信する。次いで、所定の読み出し時間が経過した後、セル選択指示部２０１は、第１列目が選択されている情報を含むデータ記憶指示信号をデータ記憶指示部２０２及び反転データ出力指示部２０３に送信する。
【００９５】
次いで、ステップＳ１０３において、第１列目が選択されている情報を含むデータ記憶指示信号をセル選択指示部２０１から受信すると、第１列のＳＲＡＭセル１００に接続されるデータフリップフロップ１６４のクロック入力端子にパルス信号を送信する。第１列のＳＲＡＭセル１００に接続されるデータフリップフロップ１６４は、クロック入力端子にパルス信号が入力されたとき、第１列の増幅素子１４１を介して出力されている第１行第１列に書き込まれているデータを記憶する。
【００９６】
次いで、ステップＳ１０４において、反転データ出力指示部２０３は、第１列に配置される第１反転出力バッファ１６６及び第２反転出力バッファ１６７に反転データ出力指示信号を送信する。反転データ出力指示部２０３が反転データ出力指示信号を送信する処理は、データ記憶指示部２０２がパルス信号を送信してから所定のＦＦ書き込み時間が経過した後に実行される。反転データ出力指示信号が送信されると、第１反転出力バッファ１６６は、第１行第１列に位置するＳＲＡＭセル１００がデータ線ＢＬに読み出していたデータの反転データを第１列のデータ線ＢＬに印加する。また、第２反転出力バッファ１６７は、第１行第１列に位置するＳＲＡＭセル１００がデータ線ＢＬＢに読み出していたデータの反転データを１列のデータ線ＢＬＢに印加する。第１行第１列に位置するＳＲＡＭセル１００に書き込まれていたデータの反転データが第１列のデータ線ＢＬ及びＢＬＢに印加されることにより、第１行第１列に位置するＳＲＡＭセル１００は印加された反転データが書き込まれる。
【００９７】
次いで、ステップＳ１０５において、セル選択指示部２０１は、第Ｎ行目に位置するＳＲＡＭセル１００を選択しているか否かを判定する。ここでは、第１行目に位置するＳＲＡＭセル１００を選択しているので、処理はステップＳ１０６に進む。
【００９８】
処理がステップＳ１０６に進むと、セル選択指示部２０１は、次の行を選択する。ここでは、第１行目を選択していたので、セル選択指示部２０１は、第２行目を選択する。次いで、処理は、ステップＳ１０３に戻る。
【００９９】
以降、セル選択指示部２０１が第Ｎ行第１列に位置するＳＲＡＭセルを選択するまで、ステップＳ１０３〜Ｓ１０６の処理が繰り返されることにより、第１列に位置するＳＲＡＭセルに書き込まれていたデータの反転データが順次書き込まれる。そして、セル選択指示部２０１が第Ｎ行第１列に位置するＳＲＡＭセルを選択しているときに、ステップＳ１０５の処理を実行すると、第Ｎ行目に位置するＳＲＡＭセル１００を選択しているので、処理はステップＳ１０７に進む。
【０１００】
次いで、ステップＳ１０７において、セル選択指示部２０１は、第Ｍ列目に位置するＳＲＡＭセル１００を選択しているか否かを判定する。ここでは、第１列目に位置するＳＲＡＭセル１００を選択しているので、処理はステップＳ１０８に進む。
【０１０１】
処理がステップＳ１０８に進むと、セル選択指示部２０１は、次の列を選択する。ここでは、第１列目を選択していたので、セル選択指示部２０１は、第２列目を選択する。次いで、処理は、ステップＳ１０３に戻る。以降、セル選択指示部２０１が第Ｎ行第Ｍ列に位置するＳＲＡＭセル１００を選択するまで、ステップＳ１０３〜Ｓ１０７の処理が繰り返されることにより、第２列〜第Ｍ列に位置するＳＲＡＭセル１００に反転データが順次書き込まれる。そして、セル選択指示部２０１が第Ｎ行第Ｍ列に位置するＳＲＡＭセルを選択しているときに、ステップＳ１０７の処理を実行すると、第Ｍ列目に位置するＳＲＡＭセル１００を選択しているので、処理はステップＳ１０９に進む。
【０１０２】
処理がステップＳ１０９に進むと、セル選択指示部２０１は、反転データ書き込み完了信号を電圧印加指示部２０４に送信する。
【０１０３】
次いで、ステップＳ１１０において、セル選択指示部２０１から反転データ書き込み完了信号を受信した電圧印加指示部２０４は、電圧昇圧部１５１が昇圧した電圧を複数のＳＲＡＭセル１００に印加することを示す印加電圧信号を印加電圧選択部１５３に送信する。次いで、電圧印加指示部２０４は、所定の印加時間が経過した後に、定格電圧を印加することを示す印加電圧信号を印加電圧選択部１５３に送信する。印加電圧信号を受信した印加電圧選択部１５３が電圧昇圧部１５１が昇圧した定格電圧よりも高い電圧を所定の印加時間に亘って一括して印加することにより、複数のＳＲＡＭセル１００のそれぞれに不揮発性データが記憶される。
【０１０４】
そして、ステップＳ１１１において、電圧印加指示部２０４は、複数のＳＲＡＭセル１００のぞれぞれに不揮発性データが記憶されたことを示す不揮発性データ記憶完了信号を、不図示の制御部に送信する。
【０１０５】
図１１は、半導体装置１に搭載されるＳＲＡＭセル１００への揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出しする処理の処理フローを示すフローチャートである。
【０１０６】
まず、ステップＳ２０１において、複数のＳＲＡＭセル１００の電源がオンされる。次いで、ステップＳ２０２において、複数のＳＲＡＭセル１００のそれぞれに対して通常のＳＲＡＭ動作、すなわち揮発性データの書き込み、及び読み出しがされる。
【０１０７】
Ｓ２０２での読み出しは不揮発性データの読み出しも含む。あるアドレスに読み出されたデータが不揮発性データか揮発性データかは、ステップＳ２０６のＳＲＡＭ電源オフとステップＳ２０１のＳＲＡＭ電源オン、又は当該アドレスへのステップＳ２０２の揮発性データの書き込み、の何れかが直近の動作であるかに依存する。すなわち、ステップＳ２０６のＳＲＡＭ電源オフとステップＳ２０１のＳＲＡＭ電源オンが直近であれば、不揮発性データを読み出を読み出す。ステップＳ２０５の不揮発性データの記憶処理が一度でも実行された場合は、直近に記憶された不揮発性データが読み出される。ステップＳ２０５の不揮発性データの記憶処理が一度も実行されていない場合は、工場出荷時に記憶された初期状態の不揮発性データが読み出される。当該アドレスにステップＳ２０２の揮発性データの書き込みが直近であれば、書き込み処理で書き込まれた揮発性データを読み出す。なお、ステップＳ２０２での揮発性データの書き込みが直近の動作であっても当該アドレス以外のアドレスへの書き込みは、上記の当該アドレスへのステップＳ２０２の揮発性データの書き込みにはあてはまらない。
【０１０８】
次いで、Ｓ２０３において、ＳＲＡＭ電源のオフが指示されると、処理はステップＳ２０４に進む。次いで、ステップＳ２０４において、ＳＲＡＭ電源オフ時に不揮発性データの記憶が指示されていると、処理はステップＳ２０５に進む。ステップＳ２０４において、ＳＲＡＭ電源オフ時の不揮発性データの記憶が指示されないと、処理はステップＳ２０６に進む。
【０１０９】
処理がステップＳ２０５に進むと、図１０を参照して説明した処理を実行して、不揮発性データが記憶される。次いで、処理はステップＳ２０６に進む。処理がステップＳ２０６に進むと、ＳＲＡＭ電源がオフされる。そして、ステップＳ２０１において、電源が再びオンされるとき、ＳＲＡＭセル１００に記憶された不揮発性データがＳＲＡＭ動作で書き換え可能なデータとして保持される。次いで、ステップＳ２０２においてＳＲＡＭセル１００は、通常のＳＲＡＭ動作を実行する。
【０１１０】
図１２は第２実施形態に係る半導体装置の機能ブロック図であり、図１３は図１２に示す半導体装置に搭載される構成素子の内部回路の部分回路ブロック図である。
【０１１１】
半導体装置２は、記憶部１０の代わりに記憶部４０を有することが半導体装置１と相違する。また、半導体装置２は、メモリ制御部２０の代わりにメモリ制御部２１を有することが半導体装置１と相違する。
【０１１２】
記憶部４０は、記憶データ設定部１６の代わりに記憶データ設定部１７を有することが記憶部１０と相違する。記憶データ設定部１７は、反転データ出力部１６３の代わりにデータ出力部１６８を有する記憶データ設定部１６と相違する。データ出力部１６８は、選択部１６９を有することが反転データ出力部１６３と相違する。
【０１１３】
メモリ制御部２１は、記憶データ選択指示部２０５と、不揮発性データ情報記憶部２０６とを有することがメモリ制御部２０と相違する。
【０１１４】
半導体装置２は、出荷試験等で測定されたバタフライカーブのバランスが最も悪いために「０」又は「１」の何れかの信号を最も記憶し難いＳＲＡＭセル１００の記憶すべきデータによってＳＲＡＭセル１００のそれぞれに記憶するデータを決定する。ここでは、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００がバタフライカーブのバランスが最も悪く「１」を記憶し易いものの「０」を記憶し難い場合について説明する。
【０１１５】
選択部１６９は、記憶データ選択指示部２０５から送信される記憶データ選択信号に基づいて、第１反転出力バッファ１６６及び第２反転出力バッファ１６７の出力信号のそれぞれをデータ線ＢＬ又はＢＬＢの何れかに出力するかを選択する。
【０１１６】
記憶データ選択指示部２０５は、ＳＲＡＭセルアレイ１１の第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に記憶されるデータに応じて、ＳＲＡＭセル１００のそれぞれに書き込まれたデータをＳＲＡＭセル１００のそれぞれに記憶するか否かを判定する。
【０１１７】
記憶データ選択指示部２０５は、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に書き込まれているデータが「０」又は「１」の何れかであるかを判定する。記憶データ選択指示部２０５は、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に「１」が書き込まれている場合、記憶データ選択指示部２０５がＳＲＡＭセル１００のそれぞれに書き込まれていたデータの反転データを書き込むように選択部１６９を設定する。すなわち、記憶データ選択指示部２０５は、第１反転出力バッファ１６６の出力信号をデータ線ＢＬに印加し且つ第２反転出力バッファ１６７の出力信号をデータ線ＢＬＢに印加することを示す記憶データ選択信号を選択部１６９に送信する。
【０１１８】
記憶データ選択指示部２０５は、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に「０」が書き込まれている場合、記憶データ選択指示部２０５がＳＲＡＭセル１００のそれぞれに書き込まれていたデータを書き込むように選択部１６９を設定する。すなわち、記憶データ選択指示部２０５は、第１反転出力バッファ１６６の出力信号をデータ線ＢＬＢに印加し且つ第２反転出力バッファ１６７の出力信号をデータ線ＢＬに印加することを示す記憶データ選択信号を選択部１６９に送信する。
【０１１９】
不揮発性データ情報記憶部２０６は、記憶データ設定部によってＳＲＡＭセル１００のそれぞれに記憶された不揮発性データの反転データを使用するか否かを示す情報を記憶する。不揮発性データ情報記憶部２０６は、ＳＲＡＭセル１００のそれぞれに書き込まれていたデータの反転データをＳＲＡＭセル１００に書き込んだ場合、記憶された不揮発性データを使用する情報を記憶する。また、不揮発性データ情報記憶部２０６は、ＳＲＡＭセル１００のそれぞれに書き込まれていたデータをＳＲＡＭセル１００に書き込んだ場合、記憶された不揮発性データの反転データを使用する情報を記憶する。
【０１２０】
図１４は、メモリ制御部２１が複数のＳＲＡＭセル１００に書き込まれたデータを不揮発性データとして記憶する処理の処理フローを示すフローチャートである。
【０１２１】
まず、ステップＳ３０１において、セル選択指示部２０１は、不揮発性データのＳＲＡＭセル１００への記憶を指示する不揮発性データ記憶指示信号を不図示の制御部から受信する。
【０１２２】
次いで、ステップＳ３０２において、記憶データ選択指示部２０５は、バタフライカーブのバランスが最も悪いワースト条件のＳＲＡＭセル１００に現在書き込まれているデータが記憶可能であるか否かを判定する。ここでは、「０」が記憶し難い第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００がワースト条件のＳＲＡＭセル１００であるので、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に「１」が書き込まれている場合には処理はステップＳ３０３に進む。一方、第Ｐ行第Ｑ列に配置されるＳＲＡＭセル１００に「０」が書き込まれている場合には処理はステップＳ３０３に進む。
【０１２３】
処理がステップＳ３０３に進むと、記憶データ選択指示部２０５は、ＳＲＡＭセル１００のそれぞれに現在書き込まれているデータの反転データが書き込まれるように選択部１６９を設定する。選択部１６９は、第１反転出力バッファ１６６の出力信号をデータ線ＢＬに印加し且つ第２反転出力バッファ１６７の出力信号をデータ線ＢＬＢに印加する記憶データ選択信号を選択部１６９に印加するように設定される。次いで、処理はステップＳ３０５に進む。
【０１２４】
処理がステップＳ３０４に進むと、記憶データ選択指示部２０５は、ＳＲＡＭセル１００のそれぞれに現在書き込まれているデータが書き込まれるように選択部１６９を設定する。選択部１６９は、第１反転出力バッファ１６６の出力信号をデータ線ＢＬＢに印加し且つ第２反転出力バッファ１６７の出力信号をデータ線ＢＬに印加する記憶データ選択信号を選択部１６９に印加するように設定される。次いで、処理はステップＳ３０５に進む。
【０１２５】
処理がステップＳ３０５に進むと、記憶データ選択指示部２０５は、記憶データ設定部によってＳＲＡＭセル１００のそれぞれに記憶されたデータの反転データを使用するか否かを示す情報を不揮発性データ情報記憶部２０６に記憶する。
【０１２６】
次いで、ステップＳ３０６〜Ｓ３１５の処理において、ステップＳ１０２〜Ｓ１１１の処理と同様の処理が実行される。ステップＳ３０８では、ステップＳ３０２における判定に基づいて、ステップＳ３０３又はＳ３０４の何れかで設定された選択部１６９の設定状態に基づいて、ＳＲＡＭセル１００のそれぞれにデータが書き込まれる。
【０１２７】
半導体装置２の記憶部４０に対する揮発性データの書き込み及び読み出し、不揮発性データの読み出し処理は、図１１を参照して説明した半導体装置１の記憶部１０に対する処理と同様に実行される。
【０１２８】
図１５は第３実施形態に係る半導体装置の機能ブロック図である。
【０１２９】
半導体装置３は、記憶部１０の代わりに第１記憶部４１及び第２記憶部４２を有することが半導体装置１と相違する。また、半導体装置２は、メモリ制御部２０の代わりにメモリ制御部２２を有することが半導体装置１と相違する。
【０１３０】
半導体装置３の第１記憶部４１及び第２記憶部４２に対する揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出し処理は、図１１を参照して説明した半導体装置１の記憶部１０に対する処理と同様に実行される。
【０１３１】
第１記憶部４１及び第２記憶部４２はそれぞれ、記憶部１０と同一の構成及び機能を有する。第１記憶部４１及び第２記憶部４２はそれぞれ、メモリ制御部２２によって不揮発性メモリとして選択的に使用される。まず、第１記憶部４１が不揮発性メモリとして使用される。次いで、第１記憶部４１が不揮発性メモリとして機能しないと判定されたときに、第２記憶部４２が不揮発性メモリとして使用される。第１記憶部４１及び第２記憶部４２はそれぞれ、不揮発性メモリとして使用されない場合でも揮発性メモリとして使用可能である。
【０１３２】
不揮発性メモリ判定部２０７は、第１記憶部４１が不揮発性メモリとして機能するか否かを判定する。具体的には、不揮発性メモリ判定部２０７は、第１記憶部４１のＳＲＡＭセル１００に不揮発性データが書き込まれた回数を計数し、計数した回数が所定のしきい値よりも大きくなったときに、第１記憶部４１が不揮発性メモリとして機能しなくなったと判定する。第１記憶部４１が不揮発性メモリとして機能しなくなったと判定したとき、不揮発性メモリ判定部２０７は、不揮発性メモリとして使用するメモリを第１記憶部４１から第２記憶部４２に切り替える。
【０１３３】
図１６は、第４実施形態に係る半導体装置を含む記憶装置の機能ブロック図である。
【０１３４】
記憶装置４は、第１半導体装置４０１と、第２半導体装置４０２とを有する。第１半導体装置は、論理回路部３０と、記憶部４４と、第１入力部４１１と、第１出力部４１２とを有する。記憶部４４は、記憶データ設定部１６を有しないことが記憶部１０と相違する。
【０１３５】
第２半導体装置４０２は、一例ではＣＰＵ（Central Processing Unit、中央処理装置）であり、第１半導体装置４０１を含む複数の半導体装置で形成される制御システムを制御する半導体装置である。第２半導体装置４０２は、記憶データ設定部１６と、メモリ制御部２３と、Ｎ行Ｍ列でマトリックス状に配置される複数のＳＲＡＭセル１００を有するＳＲＡＭ４０３と、第２入力部４２１と、第２出力部４２２とを有する。記憶データ設定部１６は、ＳＲＡＭ４０３のＳＲＡＭセル１００のそれぞれから読み出されたデータの反転データをＳＲＡＭセルアレイ１１のＳＲＡＭセル１００に書き込むようにメモリ制御部２３によって制御される。
【０１３６】
メモリ制御部２３は、データ転送指示部２０８を有することがメモリ制御部２０と相違する。データ転送指示部２０８は、ＳＲＡＭセルアレイ１１のＳＲＡＭセル１００のそれぞれから読み出されたデータをＳＲＡＭ４０３の対応する位置に配置されるＳＲＡＭセル１００に書き込むように記憶部４４及びＳＲＡＭ４０３を制御する。例えば、データ転送指示部２０８は、ＳＲＡＭセルアレイ１１の第１行第１列に位置するＳＲＡＭセル１００から読み出されたデータをＳＲＡＭ４０３の第１行第１列に位置するＳＲＡＭセル１００に書き込む。また、データ転送指示部２０８は、ＳＲＡＭセルアレイ１１の第Ｎ行第Ｍ列に位置するＳＲＡＭセル１００から読み出されたデータをＳＲＡＭ４０３の第Ｎ行第Ｍ列に位置するＳＲＡＭセル１００に書き込む。
【０１３７】
第１出力部４１２は、ＳＲＡＭセルアレイ１１のＳＲＡＭセル１００のそれぞれから読み出されたデータを第２入力部４２１に送信する。第２入力部４２１は、受信したデータをＳＲＡＭ４０３のＳＲＡＭセル１００のそれぞれに書き込む。第２出力部４２２は、ＳＲＡＭ４０３のＳＲＡＭセル１００のそれぞれから読み出されたデータの反転データを第１入力部４１１に送信する。第１入力部４１１は、受信したデータをＳＲＡＭセルアレイ１１のＳＲＡＭセル１００のそれぞれに書き込む。
【０１３８】
第１半導体装置４０１の記憶部４４に対する揮発性データの書き込み及び読み出し、不揮発性データの読み出し処理は、図１１を参照して説明した半導体装置１の記憶部１０に対する処理と同様に実行される。
【０１３９】
図１７は、第５実施形態に係る半導体装置を含む記憶装置の機能ブロック図である。
【０１４０】
記憶装置５は、第２半導体装置４０２の代わりに第２半導体装置４０４を有することが記憶装置４と相違する。第２半導体装置４０４は、メモリ制御部２３の代わりにメモリ制御部２４を有することが第２半導体装置４０２と相違する。また、第２半導体装置４０４は、記憶データ設定部１６を有さないことが第２半導体装置４０２と相違する。
【０１４１】
メモリ制御部２４は、セル選択指示部２０１と、電圧印加指示部２０４と、データ転送指示部２０８と、データ返送指示部２０９と、不揮発性データ情報記憶部２１０とを有する。セル選択指示部２０１、電圧印加指示部２０４及びデータ転送指示部２０８は、メモリ制御部２３のセル選択指示部２０１、電圧印加指示部２０４及びデータ転送指示部２０８と同様の構成及び機能を有する。
【０１４２】
データ返送指示部２０９は、ＳＲＡＭ４０３のＳＲＡＭセル１００のそれぞれから読み出されたデータをＳＲＡＭセルアレイ１１の対応する位置に配置されるＳＲＡＭセル１００に書き込む。例えば、データ転送指示部２０８は、ＳＲＡＭ４０３の第１行第１列に位置するＳＲＡＭセル１００から読み出されたデータをＳＲＡＭセルアレイ１１の第１行第１列に位置するＳＲＡＭセル１００に書き込む。また、データ転送指示部２０８は、ＳＲＡＭ４０３の第Ｎ行第Ｍ列に位置するＳＲＡＭセル１００から読み出されたデータをＳＲＡＭセルアレイ１１の第Ｎ行第Ｍ列に位置するＳＲＡＭセル１００に書き込む。
【０１４３】
不揮発性データ情報記憶部２１０は、記憶データ設定部によってＳＲＡＭセル１００のそれぞれに記憶されたデータの反転データを使用するか否かを示す情報を記憶する。
【０１４４】
記憶装置５では、第２半導体装置４０２に搭載された不図示の処理部が、不揮発性データ情報記憶部２１０が記憶された情報に従って、ＳＲＡＭセル１００に記憶された不揮発性データの非反転データ又は反転データの何れかを使用するかをを決定する。記憶装置５では、処理部がＳＲＡＭセル１００に記憶された不揮発性データの非反転データ又は反転データの何れかを使用するかをを決定するので、記憶データ設定部１６を省略することができる。
【０１４５】
図１８は第６実施形態に係る半導体装置の機能ブロック図である。
【０１４６】
半導体装置６は、メモリ制御部２０の代わりにメモリ制御部２５を有することが半導体装置１と相違する。メモリ制御部２５は、電圧調整指示部２１１を有することがメモリ制御部２０と相違する。
【０１４７】
電圧調整指示部２１１は、ＳＲＡＭセルアレイ１１のＳＲＡＭセル１００のラッチ回路を形成するＭＯＳトランジスタのしきい値電圧を、図１〜６を参照して説明した電圧特性調整方法により調整する。
【０１４８】
半導体装置６の記憶部１０に対する揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出し処理は、図１０及び１１を参照して説明した半導体装置１の記憶部１０に対する処理と同様に実行される。
【０１４９】
図１９は第７実施形態に係る半導体装置の機能ブロック図である。
【０１５０】
半導体装置７は、記憶データ設定部１６の代わりに記憶データ設定部１８を有することが半導体装置１と相違する。また、半導体装置７は、メモリ制御部２０の代わりにメモリ制御部２６を有することが半導体装置１と相違する。また、半導体装置７は、ＳＲＡＭセルアレイ１１にデータ状態記憶用ＳＲＡＭセル５００が配置されることが半導体装置１と相違する。
【０１５１】
データ状態記憶用ＳＲＡＭセル５００は、ＳＲＡＭセルアレイ１１の外部に配置され、行デコーダ１２及び列デコーダ１３とを使用する通常のＳＲＡＭ処理における揮発性データの書き込み及び読み出し処理が実行されることはない。データ状態記憶用ＳＲＡＭセル５００は、記憶部４６に入出力されるデータを記憶する記憶素子としては使用されずに、複数のＳＲＡＭセル１００に記憶されるデータの状態を記憶する素子としてのみ使用される。データ状態記憶用ＳＲＡＭセル５００は、初期状態では「０」の不揮発性データが記憶されている。データ状態記憶用ＳＲＡＭセル５００は、複数のＳＲＡＭセル１００に不揮発性データが記憶されるときに、電圧印加部１５から高電圧が印加され、記憶する不揮発性データが「０」と「１」との間で交互に切り替えられる。
【０１５２】
記憶データ設定部１８は、ＳＲＡＭセルアレイ１１の列それぞれに対応するＭ個の入出力データ切替部５０を有する。Ｍ個の入出力データ切替部５０はそれぞれ、出力データ切替部５１と、入力データ切替部５２とを有する。
【０１５３】
出力データ切替部５１は、出力切替信号反転素子５１０と、出力データ非反転素子５１１と、出力データ反転素子５１２とを有する。出力切替信号反転素子５１０は、メモリ制御部２６から出力される切替信号の反転信号を出力データ反転素子５１２の制御端子に入力する。出力データ非反転素子５１１の制御端子にはメモリ制御部２６から出力される切替信号が入力され、出力データ反転素子５１２の制御端子にはメモリ制御部２６から出力される切替信号の反転信号が入力される。出力データ非反転素子５１１がイネーブル状態のとき、出力データ反転素子５１２状態になり、出力データ非反転素子５１１がディセーブル状態のとき、出力データ反転素子５１２はイネーブル状態になる。出力データ非反転素子５１１はＳＲＡＭセルアレイ１１の対応する列から出力されるデータを出力し、出力データ反転素子５１２はＳＲＡＭセルアレイ１１の対応する列から出力されるデータの反転データを出力する。
【０１５４】
入力データ切替部５２は、入力切替信号反転素子５２０と、入力データ非反転素子５２１と、入力データ反転素子５２２とを有する。入力切替信号反転素子５２０は、メモリ制御部２６から出力される切替信号の反転信号を入力データ反転素子５２２の制御端子に入力する。入力データ非反転素子５２１の制御端子にはメモリ制御部２６から出力される切替信号が入力され、入力データ反転素子５２２の制御端子にはメモリ制御部２６から出力される切替信号の反転信号が入力される。入力データ非反転素子５２１がイネーブル状態のとき、入力データ反転素子５２２はディセーブル状態になり、入力データ非反転素子５２１がディセーブル状態のとき、入力データ反転素子５２２はイネーブル状態になる。入力データ非反転素子５２１はＳＲＡＭセルアレイ１１の対応する列から出力されるデータを出力し、入力データ反転素子５２２はＳＲＡＭセルアレイ１１の対応する列から出力されるデータの反転データを出力する。
【０１５５】
出力データ切替部５１及び入力データ切替部５２には、メモリ制御部２６から同一の切替信号が入力されるので、出力データ非反転素子５１１がイネーブルのとき、入力データ非反転素子５２１がイネーブルになる。また、出力データ反転素子５１２がイネーブルのとき、入力データ反転素子５２２がイネーブルになる。すなわち、入力データ切替部５２に入力されたデータの非反転データを入力データ切替部５２がＳＲＡＭセル１００に出力するとき、複数のＳＲＡＭセル１００から読み出されたデータの非反転データを出力データ切替部５１が出力する。また、入力データ切替部５２に入力されたデータの反転データを入力データ切替部５２がＳＲＡＭセル１００に出力するとき、複数のＳＲＡＭセル１００から読み出されたデータの非反転データを出力データ切替部５１が出力する。
【０１５６】
メモリ制御部２６は、データ記憶指示部２０３及び反転データ出力指示部２０４の代わりにデータ状態切替部２１２が配置されることがメモリ制御部２０と相違する。データ状態切替部２１２は、データ状態記憶用ＳＲＡＭセル５００から読み出されるデータに応じて、ＳＲＡＭセルアレイ１１に配置される複数のＳＲＡＭセル１００に入出力されるデータの状態を切り換える。
【０１５７】
データ状態切替部２１２は、データ状態記憶用ＳＲＡＭセル５００から読み出されるデータに応じて、複数のＳＲＡＭセル１００に入出力されるデータの状態が非反転データ状態であるか又は反転データ状態であるかを切り換える。非反転データ状態は、複数のＳＲＡＭセル１００のそれぞれに非反転データを書き込み且つ複数のＳＲＡＭセル１００のそれぞれから非反転データを読み出す状態である。反転データ状態は、複数のＳＲＡＭセル１００のそれぞれに反転データを書き込み且つ複数のＳＲＡＭセル１００のそれぞれから反転データを読み出す状態である。
【０１５８】
データ状態切替部２１２は、半導体装置７の出荷時等、半導体装置７が使用される前にデータ状態記憶用ＳＲＡＭセル５００に「０」の不揮発性データを記憶する。データ状態切替部２１２は、複数のＳＲＡＭセル１００に不揮発性データが記憶されるごとに、データ状態記憶用ＳＲＡＭセル５００に記憶される不揮発性データが切り替えられることに応じて非反転データ状態と反転データ状態とを交互に切り替える。
【０１５９】
データ状態切替部２１２は、非反転データ状態のとき、出力データ非反転素子５１１及び入力データ非反転素子５２１をイネーブル状態にすることを示す切替信号をＭ個の入出力データ切替部５０に出力する。また、データ状態切替部２１２は、反転データ状態のとき、出力データ反転素子５１２及び入力データ反転素子５２２をイネーブル状態にすることを示す切替信号をＭ個の入出力データ切替部５０に出力する。
【０１６０】
以下、非反転状態のときの揮発性データの入出力、反転状態のときの揮発性データの入出力、非反転状態のときの不揮発性データの入出力及び反転状態のときの不揮発性データの入出力について順に説明する。
【０１６１】
まず、半導体装置７における非反転状態のときの揮発性データの入出力について説明する。入出力されるデータの状態が非反転状態のときに、入力データ切替部５２に外部から「０」が入力されると、入力データ切替部５２は「０」をＳＲＡＭセル１００に出力する。ＳＲＡＭセル１００は、「０」を揮発性データとして書き込む。そして、ＳＲＡＭセル１００に書き込まれた揮発性データを読み出すとき、ＳＲＡＭセル１００は「０」を揮発性データとして入力データ切替部５２に出力する。入出力されるデータの状態が非反転状態なので、入力データ切替部５２はＳＲＡＭセル１００から入力された「０」の非反転データである「０」を外部に出力する。
【０１６２】
次に、半導体装置７における反転状態のときの揮発性データの入出力について説明する。入出力されるデータの状態が反転状態のときに、入力データ切替部５２に外部から「０」が入力されると、入力データ切替部５２は「１」をＳＲＡＭセル１００に出力する。ＳＲＡＭセル１００は、「１」を揮発性データとして書き込む。そして、ＳＲＡＭセル１００に書き込まれた揮発性データを読み出すとき、ＳＲＡＭセル１００は「１」を揮発性データとして入力データ切替部５２に出力する。入出力されるデータの状態が反転状態なので、入力データ切替部５２はＳＲＡＭセル１００から入力された「１」の反転データである「０」を外部に出力する。
【０１６３】
次に、半導体装置７における非反転状態のときの不揮発性データの入出力について説明する。半導体装置７は非反転状態であるので、データ状態記憶用ＳＲＡＭセル５００には「０」が不揮発性データとして記憶されている。入出力されるデータの状態が非反転状態のときに、入力データ切替部５２に外部から「０」が入力されると、入力データ切替部５２は「０」をＳＲＡＭセル１００に出力する。ＳＲＡＭセル１００は、「０」を揮発性データとして書き込む。ＳＲＡＭセル１００に高電圧が印加されると、書き込まれた揮発性データ「０」の反転データである「１」が不揮発性データとして記憶される。このとき、データ状態記憶用ＳＲＡＭセル５００にも高電圧が印加されるので、データ状態記憶用ＳＲＡＭセル５００に不揮発性データとして記憶されていた「０」の反転データ「１」が不揮発性データとして記憶される。データ状態記憶用ＳＲＡＭセル５００は、揮発性データとして「０」が読み出し可能な状態で、不揮発性データとして「１」が記憶された状態になる。
【０１６４】
半導体装置７の電源がオンオフされた後に、ＳＲＡＭセル１００に記憶された不揮発性データを読み出すとき、データ状態記憶用ＳＲＡＭセル５００から不揮発性データとして記憶されているデータである「１」が読み出されている。データ状態記憶用ＳＲＡＭセル５００から「１」が読み出されているので、入出力されるデータの状態は反転状態になる。ＳＲＡＭセル１００に記憶された不揮発性データを読み出すとき、ＳＲＡＭセル１００は「１」を不揮発性データとして入力データ切替部５２に出力する。入出力されるデータの状態が反転状態なので、入力データ切替部５２はＳＲＡＭセル１００から入力された「１」の反転データである「０」を外部に出力する。
【０１６５】
次に、半導体装置７における反転状態のときの不揮発性データの入出力について説明する。半導体装置７は反転状態であるので、データ状態記憶用ＳＲＡＭセル５００には「１」が不揮発性データとして記憶されている。入出力されるデータの状態が反転状態のときに、入力データ切替部５２に外部から「０」が入力されると、入力データ切替部５２は「１」をＳＲＡＭセル１００に出力する。ＳＲＡＭセル１００は、「１」を揮発性データとして書き込む。ＳＲＡＭセル１００に高電圧が印加されると、書き込まれた揮発性データ「１」の反転データである「０」が不揮発性データとして記憶される。このとき、データ状態記憶用ＳＲＡＭセル５００にも高電圧が印加されるので、データ状態記憶用ＳＲＡＭセル５００に不揮発性データとして記憶されていた「１」の反転データ「０」が不揮発性データとして記憶される。データ状態記憶用ＳＲＡＭセル５００は、揮発性データとして「１」が読み出し可能な状態で、不揮発性データとして「０」が記憶された状態になる。
【０１６６】
半導体装置７の電源がオンオフされた後に、ＳＲＡＭセル１００に記憶された不揮発性データを読み出すとき、データ状態記憶用ＳＲＡＭセル５００から不揮発性データとして記憶されているデータである「０」が読み出されている。データ状態記憶用ＳＲＡＭセル５００から「０」が読み出されているので、入出力されるデータの状態は非反転状態になる。ＳＲＡＭセル１００に記憶された不揮発性データを読み出すとき、ＳＲＡＭセル１００は「０」を不揮発性データとして入力データ切替部５２に出力する。入出力されるデータの状態が反転状態なので、入力データ切替部５２はＳＲＡＭセル１００から入力された「０」の非反転データである「０」を外部に出力する。
【０１６７】
図２０は、半導体装置７に搭載されるＳＲＡＭセル１００への揮発性データの書き込み及び読み出し、不揮発性データの記憶及び読み出しする処理の処理フローを示すフローチャートである。
【０１６８】
まず、ステップＳ４０１において、複数のＳＲＡＭセル１００の電源がオンされる。次いで、ステップＳ４０２において、複数のＳＲＡＭセル１００のそれぞれに対して通常のＳＲＡＭ動作、すなわち揮発性データの書き込み、及び読み出しがされる。
【０１６９】
ステップＳ４０２での読み出しは不揮発性データの読み出しも含む。あるアドレスに読み出されたデータが不揮発性データか揮発性データかは、ステップＳ４０４の不揮発性データの記憶、ステップＳ４０７の不揮発性データの記憶とステップＳ４０８のＳＲＡＭ電源オフとステップＳ４０１のＳＲＡＭ電源オン、又は当該アドレスへのステップＳ４０２の揮発性データの書き込みの何れかが直近の動作であるかに依存する。すなわち、ステップＳ４０４の不揮発性データの書き込み、ステップＳ４０７の不揮発性データの記憶とステップＳ４０８のＳＲＡＭ電源オフとステップＳ４０１のＳＲＡＭ電源オンの何れかが直近であればステップＳ４０４又はＳ４０７で記憶した不揮発性データを読み出す。当該アドレスへのステップＳ４０２の揮発性データの書き込みが直近であれば、書き込み処理で書き込まれた揮発性データを読み出す。なお、ステップＳ４０２での揮発性データの書き込みが直近の動作であっても当該アドレス以外のアドレスへの書き込みは、上記の当該アドレスへのステップＳ４０２の揮発性データの書き込みにはあてはまらない。
【０１７０】
次いで、ステップＳ４０３において、ＳＲＡＭ電源オフが指示されなければ、処理はステップＳ４０４に進む。ステップＳ４０３において、ＳＲＡＭ電源オフが指示されると、処理はステップＳ４０６に進む。
【０１７１】
処理がステップＳ４０４に進み、通常時に、すなわちＳＲＡＭ電源オフをオフすることなく通常の処理が実行されているときに不揮発性データの記憶が指示されなければ、処理はステップＳ４０２に戻る。ステップＳ４０３において、通常時に不揮発性データの記憶が指示されると、処理はステップＳ４０５に進む。
【０１７２】
ステップＳ４０３においてＳＲＡＭ電源のオフが指示されず且つステップＳ４０４において不揮発性データの記憶が指示されていない場合、複数のＳＲＡＭセル１００はそれぞれ、通常のＳＲＡＭ動作を繰り返す。
【０１７３】
処理がステップＳ４０５に進むと、ＳＲＡＭセル１００に書き込まれているデータを反転する処理をすることなくＳＲＡＭに高電圧が印加されて、不揮発性データが記憶される。次いで、処理はステップＳ４０２に戻る。
【０１７４】
ステップＳ４０３において、ＳＲＡＭ電源のオフが指示されると、処理はＳ４０６に進む。次いで、ステップＳ４０６において、ＳＲＡＭ電源オフ時に不揮発性データの記憶が指示されていると、処理はステップＳ４０７に進む。ステップＳ４０６において、ＳＲＡＭ電源オフ時の不揮発性データの記憶が指示されないと、処理はステップＳ４０８に進む。
【０１７５】
処理がステップＳ４０７に進むと、ＳＲＡＭに書き込まれているデータを反転する処理をすることなくＳＲＡＭセル１００に高電圧が印加されて、不揮発性データが記憶される。次いで、処理はステップＳ４０８に進む。処理がステップＳ４０８に進むと、ＳＲＡＭ電源がオフされる。そして、Ｓ４０１において、電源が再びオンされるとき、ＳＲＡＭセル１００に記憶された不揮発性データが読み出される。次いで、ステップＳ４０２においてＳＲＡＭセル１００は、通常のＳＲＡＭ動作をする。
【０１７６】
以上、第１実施形態〜第７実施形態について順に説明した。
【０１７７】
第１実施形態〜第７実施形態に係る記憶部では、複数のＳＲＡＭセル１００のそれぞれに記憶される不揮発性データの反転データをＳＲＡＭセル１００のそれぞれに書き込んだ状態で、ＳＲＡＭセル１００のラッチ回路に定格電圧よりも高い電圧を印加することにより不揮発性データが記憶される。すなわち、複数のＳＲＡＭセル１００のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを、複数のＳＲＡＭセル１００ののそれぞれに書き込んだ状態で、ＳＲＡＭセル１００のラッチ回路に定格電圧よりも高い電圧を印加して不揮発性データが記憶される。したがって、複数の複数のＳＲＡＭセル１００のそれぞれが不揮発性メモリセルとして機能するときに読み出される不揮発性データの反転データを書き込まれたＳＲＡＭセルに高電圧を印加することにより、不揮発性データを一括して記憶することができる。
【０１７８】
第１実施形態〜第７実施形態に係る記憶部では、ＳＲＡＭセルに不揮発性データを記憶することにより、ＳＲＡＭを不揮発性メモリとして使用することができるので、製造コストが増加することなくＣＭＯＳ製造プロセスで形成される論理回路と不揮発性メモリとを混載することができる。また、不揮発性メモリとして使用されるＳＲＡＭセルは、揮発性メモリとしても機能する。
【０１７９】
また、第１実施形態〜第７実施形態に係る記憶部では、ＳＲＡＭセルのラッチ回路に定格電圧より高い電圧を一括して印加することにより、ＳＲＡＭセルのそれぞれに書き込まれたデータの反転データを不揮発性データとして記憶することができる。ＳＲＡＭセルのラッチ回路に定格電圧より高い電圧を一括して印加することにより、不揮発性データとして記憶することができるので、不揮発性データをＳＲＡＭセルに記憶する処理がより簡便になると共に処理時間がより短くなる。
【０１８０】
また、第１実施形態〜第７実施形態に係る記憶部では、ＳＲＡＭに書き込まれていたデータの反転データを不揮発性データとして記憶することができるので、所望の処理においてＳＲＡＭデータに書き込まれていたデータを、不揮発性データとして記憶して電源電圧をオフすることができる。そして、次に電源電圧が印加されたときに、所望の処理においてＳＲＡＭデータに書き込まれていたデータを不揮発性データとして読み出すことができる。
【０１８１】
また、半導体装置２では、バタフライカーブのバランスが最も悪いＳＲＡＭセルに書き込まれているデータに応じて、ＳＲＡＭセルアレイ１１に書き込まれているデータ又はその反転データの何れかを不揮発性データとして記憶するかを選択できる。
【０１８２】
また、半導体装置３では、第１記憶部４１が不揮発性メモリとして機能しないと判定されたときに、第２記憶部４２を不揮発性メモリとして使用できるので、不揮発性データを記憶されたデータをより多くの回数書き換えることができる。
【０１８３】
また、半導体装置６では、ＳＲＡＭセル１００のラッチ回路を形成するＭＯＳトランジスタのしきい値電圧を調整することができるので、ＳＲＡＭセルアレイ１１に配置されるＳＲＡＭセル１００のしきい値電圧のバラツキを補償することができる。
【０１８４】
第１実施形態〜第７実施形態では、ＳＲＡＭセルアレイ１１に配置されるＳＲＡＭセル１００を不揮発性メモリとして使用しているが、ＳＲＡＭセルアレイ１１に配置されるＳＲＡＭセル１００の一部のみを不揮発性メモリとして使用する構成としてもよい。例えば、ＳＲＡＭセルアレイ１１の１つの列に配置されるＳＲＡＭセル１００のみを不揮発性メモリとして使用する構成としてもよい。
【０１８５】
また、第１実施形態〜第７実施形態では、印加電圧選択部１５３が半導体装置１に電源電圧が供給されたときに、分圧回路を有する電圧降圧部１５２の電圧を使用して、０Ｖから定格電圧まで徐々に上昇させているが、分圧回路を使用しない構成を採用してもよい。例えば、ＳＲＡＭセル１００に供給される電源電圧の立ち上がり時間が、ＳＲＡＭセル１００の動作速度に比べて十分に大きい場合には、分圧回路を使用せずに不揮発性データを読み出すことができる。
【０１８６】
また、ＳＲＡＭセルアレイ１１に冗長なデータを記憶するＳＲＡＭセル１００を配置して、パリティチェック等により読み出された不揮発性データの誤り検出処理を実行し且つ誤り検出処理の結果に応じて誤り訂正を実行する回路を更に有してもよい。
【０１８７】
また、半導体装置１では、ＳＲＡＭセルアレイ１１の列ごとに反転データ生成部１６２の反転素子１６５等の反転データ生成回路が配置されているが、複数の列に１つのＳＲＡＭセルアレイ１１を配置する構成としてもよい。この場合、記憶データ設定部１６には、複数の列から１つの列を選択する列選択回路が更に配置される。
【０１８８】
また、半導体装置１では、データフリップフロップ１６４は、ＳＲＡＭセル１００のそれぞれに書き込まれたデータを記憶しているが、データフリップフロップ１６４は、ＳＲＡＭセル１００のそれぞれに書き込まれたデータの反転データを記憶してもよい。例えば、データフリップフロップ１６４のデータ入力端子と増幅素子１４１の出力端子との間に反転素子を配置することにより、データフリップフロップ１６４は、ＳＲＡＭセル１００のそれぞれに書き込まれたデータの反転データを記憶することができる。
【０１８９】
また、半導体装置３では、第１記憶部４１及び第２記憶部４２が不揮発性メモリとして使用されるメモリとして配置されているが、３つ以上のメモリを搭載してもよい。また、電圧印加部１５及び記憶データ設定部１６が第１記憶部４１及び第２記憶部４２のそれぞれに配置されるが、単一の電圧印加部１５及び記憶データ設定部１６により２つのＳＲＡＭセルアレイ１１に不揮発性メモリを記憶する構成としてもよい。
【０１９０】
また、半導体装置３は、第１記憶部４１及び第２記憶部４２の２つの記憶部を有しているが、２つ以上の半導体装置に搭載される記憶部で形成される構成としてもよい。記憶装置４及び５では、第１半導体装置４０１及び第２半導体装置４０２又は４０４の２つの半導体装置で形成されているが、単一の半導体装置で形成されてもよい。
【０１９１】
また、記憶装置４及び５では、第１半導体装置４０１のＳＲＡＭセルアレイ１１に配置されるＳＲＡＭセル１００に書き込まれたデータ、又はその反転データを不揮発性データとして記憶している。しかしながら、第１半導体装置４０１のＳＲＡＭセルアレイ１１に配置されるＳＲＡＭセル１００に書き込まれたデータに関連しないデータを、不揮発性データとして記憶してもよい。
【０１９２】
第１実施形態〜第７実施形態では、ＳＲＡＭセル１００は、不揮発性データを記憶可能なＲＡＭとして機能する実施形態を説明してきたが、ＳＲＡＭセル１００は、ＲＯＭ（Read Only Memory）として機能するセルとして使用してもよい。
【０１９３】
図２１は、第１実施形態に係る記憶部１０のＳＲＡＭセル１００をＲＯＭとして使用する処理フローを示すフローチャートである。
【０１９４】
まず、ステップＳ５０１において、複数のＳＲＡＭセル１００の電源がオンされる。次いで、ステップ５０２においてＲＯＭ書き込みを指示されると、処理はステップＳ５０３に進む。ステップ５０２においてＲＯＭ書き込みを指示されないと、処理はステップＳ５０５に進む。
【０１９５】
処理がステップＳ５０３に進むと、複数のＳＲＡＭセル１００のそれぞれにデータが書き込まれる。次いで、ステップＳ５０４において、図１０を参照して説明した処理を実行して、不揮発性データが記憶される。次いで、不揮発性データを記憶するときに反転したデータを再度反転させる。次いで、処理はステップＳ５０２に戻る。
【０１９６】
処理がステップＳ５０５に進みＳＲＡＭ電源オフが指示されないと、処理はステップＳ５０６に進み、通常のＳＲＡＭ動作した後に処理はステップＳ５０２に戻る。ステップＳ５０５において、ＳＲＡＭ電源オフが指示されると、処理はステップＳ５０７に進む。
【０１９７】
処理がステップＳ５０７に進みＳＲＡＭ電源オフ時に不揮発性データの記憶が指示されると、処理はステップＳ５０８に進む。ステップＳ５０７において、ＳＲＡＭ電源オフ時の不揮発性データの記憶が指示されないと、処理はステップＳ５０９に進む。
【０１９８】
処理がステップＳ５０８に進むと、図１０を参照して説明した処理を実行して、不揮発性データが記憶される。次いで、処理はステップＳ５０９に進む。処理がステップＳ５０９に進むと、ＳＲＡＭ電源がオフされる。そして、Ｓ５０１において、電源が再びオンされるとき、ＳＲＡＭセル１００に記憶された不揮発性データがＳＲＡＭ動作で書き換え可能なデータとして保持される。次いで、Ｓ５０２においてＳＲＡＭセル１００は、ＲＯＭ書き込みを指示されたか判定される。
【０１９９】
これまで説明してきたように、本発明に係るＳＲＡＭセルは、通常のＳＲＡＭとして動作可能であると共に、不揮発性データを記憶することができる。本発明に係るＳＲＡＭセルは、工場出荷時に所望のデータを不揮発性データとして記憶してもよい。例えば、本発明に係るＳＲＡＭセルのそれぞれに所定の処理に使用されるコンピュータプログラム等のデータを不揮発性データとして記憶しておくことにより、本発明に係るＳＲＡＭセルが搭載される装置の立ち上がり時間を短縮することができる。
【０２００】
また、本発明に係るＳＲＡＭセルに揮発性データとして書き込まれたデータを不揮発性データとして記憶することにより、ＳＲＡＭ電源がオフされた後に電源オンするときに記憶された不揮発性データを読み出すことができる。
【０２０１】
また、本発明に係るＳＲＡＭセルはＲＯＭとして使用することができる。本発明に係るＳＲＡＭセルは、ＣＭＯＳと同一の製造工程で製造可能な通常のＳＲＡＭセルの製造工程と同一の工程により製造できるので、論理回路を形成するために使用されるＣＭＯＳの製造工程と同一の製造工程によりＲＯＭの機能を実現できる。
【０２０２】
図２２は、本発明に係るＳＲＡＭの使用可能な処理を総括的に示すフローチャートである。
【０２０３】
まず、ステップＳ６０１において、複数のＳＲＡＭセル１００の電源がオンされる。次いで、ステップＳ６０２において、ＳＲＡＭ電源オフが指示されると、処理はステップＳ６０３に進む。ステップＳ６０２において、ＳＲＡＭ電源オフが指示されなければ、処理はステップＳ６０６に進む。
【０２０４】
ステップＳ６０３において、ＳＲＡＭ電源オフ時に不揮発性データの記憶が指示されると、処理はステップＳ６０４に進む。ステップＳ６０３において、ＳＲＡＭ電源オフ時の不揮発性データの記憶が指示されないと、処理はステップＳ６０５に進む。
【０２０５】
処理がステップＳ６０４に進むと、不揮発性データが記憶される。次いで、処理はステップＳ６０５に進む。処理がステップＳ６０５に進むと、ＳＲＡＭ電源がオフされる。そして、Ｓ６０１において、電源が再びオンされるとき、ＳＲＡＭセル１００に記憶された不揮発性データがＳＲＡＭ動作で書き換え可能なデータとして保持される。次いで、Ｓ６０２においてＳＲＡＭ電源オフが指示されたか判定される。
【０２０６】
処理がステップＳ６０６に進みＲＯＭ書き込みを指示されると、処理はステップＳ６０７に進む。ステップ６０６においてＲＯＭ書き込みを指示されないと、処理はステップＳ６０９に進む。処理がステップＳ６０７に進むと、複数のＳＲＡＭセル１００のそれぞれにデータが書き込まれる。複数のＳＲＡＭセル１００のそれぞれに書き込まれるデータは、実施形態に応じて半導体装置の外部で反転されてもよく、記憶された不揮発データを読み出すときに反転してもよい。次いで、ステップＳ６０８において、不揮発性データが記憶される。次いで、処理はステップＳ６０２に戻る。
【０２０７】
処理がステップＳ６０９に進み通常時に不揮発性データの記憶が指示されると、処理はステップＳ６１０に進む。ステップＳ６０９において、通常時に不揮発性データの記憶が指示されなければ、処理はステップＳ６１１に進む。処理がステップＳ６１０に進むと、不揮発性データが記憶される。次いで、処理はステップＳ６０２に戻る。処理がステップＳ６１１に進むと、通常のＳＲＡＭ動作が実行される。次いで、処理はステップＳ６０２に戻る。
【０２０８】
第１実施形態〜第４実施形態及び第６実施形態では、ＳＲＡＭセル１００に不揮発性データを記憶する処理は、不揮発性データとして記憶するデータの反転データをＳＲＡＭセル１００に書き込んだ状態で不揮発性データを記憶する。しかしながら、ＳＲＡＭセルに書き込んだデータの反転データとして記憶される不揮発性データを、不揮発性データを読み出すときに反転することにより、書き込んだデータと読み出すデータとを一致させる構成を採用してもよい。
【０２０９】
第５実施形態では、ＳＲＡＭセル１００に不揮発性データとして記憶されたデータの反転データを使用するか、又はＳＲＡＭセル１００に不揮発性データとして記憶されたデータの非反転データを使用するかを不揮発性データを読み出すときに決定する。
【０２１０】
第７実施形態では、不揮発性データを記憶するときに高電圧が印加されることにより記憶されるデータが反転するデータ状態記憶用ＳＲＡＭを使用して、ＳＲＡＭセル１００に書き込まれたデータを反転することなく不揮発性データとして読み出す。
【０２１１】
本発明に係るＳＲＡＭセルをＲＯＭとして使用する場合、ＳＲＡＭセルに書き込まれているデータの反転データを書き込んだ後にＳＲＡＭセルに高電圧を印加することにより不揮発性データを記憶することができる。また、ＳＲＡＭセルにデータが書き込まれている状態でＳＲＡＭセルに高電圧を印加して不揮発性データを記憶し、不揮発性エータを読み出すときに、読み出されたデータを反転させてもよい。
【符号の説明】
【０２１２】
１〜３、６、７、４０１、４０２、４０４    半導体装置
４、５    記憶装置
１０、４０〜４４    記憶部
１１    ＳＲＡＭセルアレイ
１２    行デコーダ
１３    列デコーダ
１４    センスアンプ
１５    電圧印加部
１６、１７    記憶データ設定部
２０    メモリ制御部
１００    ＳＲＡＭセル
２０１    セル選択指示部
２０２    データ記憶指示部
２０３    反転データ出力指示部
２０４    電圧印加指示部
２０５    記憶データ選択指示部
２０６、２１０    不揮発性データ情報記憶部
２０７    不揮発性メモリ判定部
２０８    データ転送指示部
２０９    データ返送指示部
【図１】
2015149108.tif 000003
【図２】
2015149108.tif 000004
【図３】
2015149108.tif 000005
【図４】
2015149108.tif 000006
【図５】
2015149108.tif 000007
【図６】
2015149108.tif 000008
【図７】
2015149108.tif 000009
【図８】
2015149108.tif 000010
【図９】
2015149108.tif 000011
【図１０】
2015149108.tif 000012
【図１１】
2015149108.tif 000013
【図１２】
2015149108.tif 000014
【図１３】
2015149108.tif 000015
【図１４】
2015149108.tif 000016
【図１５】
2015149108.tif 000017
【図１６】
2015149108.tif 000018
【図１７】
2015149108.tif 000019
【図１８】
2015149108.tif 000020
【図１９】
2015149108.tif 000021
【図２０】
2015149108.tif 000022
【図２１】
2015149108.tif 000023
【図２２】
2015149108.tif 000024