(57)【要約】【課題】不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加可能な不揮発性半導体記憶装置を提供することである。【解決手段】本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリ１１と、不揮発性半導体メモリ１１の書き換えを制御する書き換え制御部１２と、を備える。書き換え制御部１２は、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定する。更に、決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリ１１の温度に基づいて補正することで、書き換え時に不揮発性半導体メモリ１１に印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。【選択図】図１
2013080540.tif 000002
【特許請求の範囲】
【請求項１】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項２】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項２または３に記載の不揮発性半導体記憶装置。
【請求項５】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項１に記載の不揮発性半導体記憶装置。
【請求項６】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項５に記載の不揮発性半導体記憶装置。
【請求項７】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項５または６に記載の不揮発性半導体記憶装置。
【請求項８】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項９】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項８に記載の不揮発性半導体記憶装置。
【請求項１０】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項９に記載の不揮発性半導体記憶装置。
【請求項１１】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項９または１０に記載の不揮発性半導体記憶装置。
【請求項１２】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項８に記載の不揮発性半導体記憶装置。
【請求項１３】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項１２に記載の不揮発性半導体記憶装置。
【請求項１４】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項１２または１３に記載の不揮発性半導体記憶装置。
【請求項１５】
前記不揮発性半導体記憶装置は、更に、
前記不揮発性半導体メモリの温度を検知する温度検知部と、
前記不揮発性半導体メモリの総書き換え回数を保持する書き換え情報保持部と、を備える
請求項１乃至１４のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項１６】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【請求項１７】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関し、特に不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関する。
【背景技術】
【０００２】
現在、プログラムやデータを格納しておくデバイスとして、不揮発性半導体メモリの一つであるフラッシュＲＯＭ（Read Only Memory）が幅広く使われている。フラッシュＲＯＭは、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【０００３】
このように、フラッシュＲＯＭは、書き換えを行う度にゲート絶縁膜に電流を流す必要があるため、本質的に劣化を避けることができない。このため、フラッシュＲＯＭはメモリ素子の劣化が進むと書き換えができなくなり、書き換え回数に限界があるという特徴がある。よって、書き換えの際にメモリ素子に対して適切なパルス電圧を適切なパルス幅で印加する技術が重要となってくる。
【０００４】
図２３は、特許文献１に開示されている半導体集積回路書き換えシステムに関する技術を説明するための図である。図２３に示すように、半導体集積回路書き換えシステムは、半導体集積回路１２０および書き込みツール１２３を備える。半導体集積回路１２０は、フラッシュＲＯＭ（１２１）、データテーブル１２６を備える書込制御回路１２２、および温度検知手段１２５を有する。書込ツール１２３は書込ツール制御回路１２４を有する。
【０００５】
書込ツール１２３が備える書込ツール制御回路１２４は、書き込み／消去パルスのパルス幅または電圧レベルを補正する機能を有している。データテーブル１２６は、書き込み／消去パルスのパルス幅または電圧レベルの補正量と半導体集積回路１２０の環境温度（前記検知温度）との対応関係を記述している。半導体集積回路１２０に搭載されているフラッシュＲＯＭ（１２１）における制御プログラムを書き換える際は、書込ツール１２３を半導体集積回路１２０に接続する。そして、半導体集積回路１２０に搭載の温度検知手段１２５によって半導体集積回路１２０自体の環境温度を直接的に検知する。書込ツール制御回路１２４は、この検知温度に基づいて書込制御回路１２２内のデータテーブル１２６を検索し、検知温度に応じた補正量を抽出する。そして、書込ツール制御回路１２４は、半導体集積回路１２０の書込制御回路１２２に供給すべき電源を制御する。
【０００６】
このように、特許文献１に開示されている半導体集積回路書き換えシステムでは、半導体集積回路１２０の環境温度の変動に応じて書き込み／消去パルスのパルス幅または電圧を変更しながらフラッシュＲＯＭ（１２１）の書き換えを行うので、温度変動の影響を受けることなしに、適正な書き込み／消去を行うことができる。
【０００７】
図２４は、特許文献２に開示されている不揮発性半導体メモリ装置に関する技術を説明するための図である。図２４に示すように、特許文献２に開示されている不揮発性半導体メモリ装置は、メモリアレイ２０１と、デコード手段２０２と、データ検出手段２０３と、メモリ制御部２１１と、電圧生成手段２１２と、電源制御部２１３と、カウンタ２１４と、セレクタ２１５とを備える。
【０００８】
メモリアレイ２０１は、フローティングゲートを有するＭＯＳ型のメモリセルが行方向および列方向に格子状に配置されたデータ格納領域であり、少なくとも１つのメモリセルを選択するデコード手段２０２と、メモリセルの状態を検出するデータ検出手段２０３が接続されている。メモリ制御部２１１は、データの読み出し、消去、書き込み等の動作モードを示す信号であるモード信号、メモリセルを指定するアドレス、及びモード信号により示される動作モードを実行するタイミングを知らせるタイミング信号に基づいて、デコード手段２０２、データ検出手段２０３、及びカウンタ２１４を制御する。また、メモリ制御部２１１は、カウンタ２１４のカウンタ値が所定の値に達したことを知らせる設定値超過信号を不揮発性半導体メモリ装置外部に出力する。
【０００９】
カウンタ２１４は、メモリ制御部２１１により制御され、データの総書き換え回数をカウントする。セレクタ２１５は、メモリ制御部２１１により制御され、カウンタ２１４に対して、不揮発性半導体メモリ装置外部から入力されたカウント値を出力するとともに、カウンタ２１４から出力されたカウント値を不揮発性半導体メモリ装置外部に出力する。電源制御部２１３は、モード信号、及びカウンタ２１４から出力されるカウント値に基づいて電圧生成手段２１２を制御する。電圧生成手段２１２は、電源制御部２１３により制御され、所定の値の電圧を生成し、生成した電圧をデコード手段２０２に供給する。
【００１０】
メモリ制御部２１１は、まず、カウンタ２１４、及びセレクタ２１５を制御し、セレクタ２１５の入出力ポートから現在の総書き換え回数を表すカウント値を入力し、カウンタ２１４に格納する。また、メモリ制御部２１１は、その後、データの書き換えが行われる毎にカウンタ２１４のカウント値をインクリメントする。次に、電源制御部２１３は、モード信号、及びカウンタ２１４のカウント値に基づいて、モード信号により示される動作モードに必要な電圧を昇圧して生成し、デコード手段２０２に供給するように電圧生成手段２１２を制御する。消去・書き込み時間は、総書き換え回数が増えると増大する。そのため、電源制御部２１３は、電圧生成手段２１２を制御して、例えば、９９９回目までは８Ｖを、劣化し始める１０００回から９９９９回までは８．２Ｖを、更に劣化する１００００回以上では８．４Ｖの電圧を、メモリ制御部２１１により制御されたデコード手段２０２で印加するようにトンネル電圧を段階的に増加させる。
【００１１】
このように、特許文献２に開示されている不揮発性半導体メモリ装置では、総書き換え回数をカウンタ２１４でカウントし、データの総書き換え回数に基づいて、メモリセルに印加する電圧を制御することにより、書き換えを繰り返すことによる消去時間、及び書き込み時間の劣化を防止し、書き換え時間を平均化することができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−３６７３８２号公報
【特許文献２】特開２００２−１３３８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１に開示されている技術では、半導体集積回路１２０の環境温度の変動に応じて書き込み／消去パルスのパルス幅または電圧を変更している。よって、フラッシュＲＯＭ（１２１）の書き換えを行う際に、温度変動の影響を低減することができる。しかしながら、特許文献１に開示されている技術では、フラッシュＲＯＭ（１２１）の総書き換え回数が考慮されていないため、フラッシュＲＯＭ（１２１）の劣化が進んだ場合に、印加するパルス電圧が不足するために書き換え時に再書き換え処理（リトライ）が発生してしまい、書き換え時間が長くなってしまうという問題がある。
【００１４】
特許文献２に開示されている技術では、総書き換え回数をカウンタ２１４でカウントし、データの総書き換え回数に基づいて、フラッシュＲＯＭ（メモリセル）に印加する電圧を制御することで、フラッシュＲＯＭを書き換える際の印加電圧を最適な値とすることができる。しかしながら、特許文献２に開示されている技術では、フラッシュＲＯＭの温度が変化した場合、場合によっては、フラッシュＲＯＭの書き換え時に印加する電圧が不足し、これによりリトライが発生して書き換え時間が長くなるという問題がある。また、フラッシュＲＯＭの温度が変化した場合、場合によってはフラッシュＲＯＭに過剰な電圧が印加され、フラッシュＲＯＭの劣化を早めてしまうという問題がある。
【００１５】
つまり、フラッシュＲＯＭの書き換えに必要な電圧は、フラッシュＲＯＭの温度とフラッシュＲＯＭの総書き換え回数の影響を受けるが、上記特許文献１および２では、これらのうちの１つしか考慮されていなかったため、フラッシュＲＯＭの書き換え時に適切なパルス電圧および適切なパルス幅を印加することができないという問題があった。
【００１６】
図２２Ａ、図２２Ｂは、本発明の課題を説明するための図である。図２２Ａ、図２２Ｂに示すパルス電圧およびパルス幅は、フラッシュＲＯＭの書き換え時にフラッシュＲＯＭを構成する素子に印加するパルス電圧およびパルス幅を示している。図２２Ａに示す場合は、フラッシュＲＯＭの書き換えに必要なパルス電圧はＶｒであるため、Ｖｒよりも高い電圧が過剰な電圧となる。この過剰な電圧は、フラッシュＲＯＭの劣化の原因となる。一方、図２２Ｂに示す場合は、フラッシュＲＯＭの書き換え時に印加されるパルス電圧が、書き換えに必要なパルス電圧Ｖｒよりも小さいため、リトライが発生してしまい、書き換え時間が長くなる
【００１７】
以上で説明したように、特許文献１および特許文献２に開示されている技術では、不揮発性半導体メモリ（フラッシュＲＯＭ）の書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができないという問題があった。
【課題を解決するための手段】
【００１８】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【００１９】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【００２０】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【００２１】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【００２２】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【００２３】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【００２４】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【００２５】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【発明の効果】
【００２６】
本発明により、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】実施の形態１にかかる不揮発性半導体記憶装置を示すブロック図である。
【図２】実施の形態１にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図３】実施の形態１にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図４】実施の形態１にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図５】実施の形態１にかかる不揮発性半導体記憶装置において使用されるパラメータの一例を示す表である。
【図６】実施の形態１にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図７】実施の形態１にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図８】実施の形態１にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図９】実施の形態１にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図１０】実施の形態１にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図１１】本発明の効果を説明するための図である。
【図１２】実施の形態２にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図１３】実施の形態２にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図１４】実施の形態２にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図１５】実施の形態２にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図１６】実施の形態２にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図１７】実施の形態２にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図１８】実施の形態３にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図１９】実施の形態３にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図２０】実施の形態４にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図２１】実施の形態４にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図２２Ａ】本発明の課題を説明するための図である。
【図２２Ｂ】本発明の課題を説明するための図である。
【図２３】特許文献１に開示されている技術を説明するための図である。
【図２４】特許文献２に開示されている技術を説明するための図である。
【発明を実施するための形態】
【００２８】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本発明の実施の形態にかかる不揮発性半導体記憶装置を示すブロック図である。図１に示すように、本実施の形態にかかる不揮発性半導体記憶装置１０は、不揮発性半導体メモリ（フラッシュＲＯＭ）１１と、書き換え制御部１２と、温度検知部１３と、書き換え情報保持部１４とを備える。不揮発性半導体メモリ１１に保持されている情報を書き換える際は、端子１５を介して書込装置２０が接続される。
【００２９】
不揮発性半導体メモリ１１は、電源供給がなくなった場合であっても記憶されている情報を保持することができる半導体メモリである。不揮発性半導体メモリ１１としては、例えばフラッシュＲＯＭがある。以下では、不揮発性半導体メモリをフラッシュＲＯＭと記載する。フラッシュＲＯＭ（１１）は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換えることができる半導体メモリである。
【００３０】
フラッシュＲＯＭ（１１）は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【００３１】
例えば、フラッシュＲＯＭ（１１）のデータの書き換え処理は、データの消去とデータの書き込みにより実施される。フラッシュＲＯＭ（１１）のメモリ素子がフローティングゲートを有するＭＯＳ型の素子である場合は、以下のようにしてフラッシュＲＯＭ（１１）へのデータの書き換え処理を実施する。
【００３２】
フラッシュＲＯＭ（１１）に格納されているデータを消去する場合は、メモリ素子のフローティングゲートに電子を注入し、メモリ素子の閾値電圧を上昇させる。フローティングゲートへの電子の注入は、例えば、メモリ素子のゲート電圧を高く設定し（例えば、１０Ｖ）、ドレイン、ソース、基板の電圧を低く設定（例えば、−８Ｖ）することで実施することができる。
【００３３】
一方、フラッシュＲＯＭ（１１）にデータを書き込む場合は、メモリ素子のフローティングゲートから電子を放出させ、メモリ素子の閾値電圧を下げる。フローティングゲートから電子を放出させるには、例えば、メモリ素子のゲート電圧を低く設定し（例えば、−１０Ｖ）、ドレインの電圧を高く設定（例えば、６Ｖ）することで実施することができる。
【００３４】
フラッシュＲＯＭ（１１）は書き換え制御部１２と接続されており、書き換え制御部１２からの信号に基づき書き換え処理が実施される。また、フラッシュＲＯＭ（１１）は端子（不図示）を介して、不揮発性半導体記憶装置１０の外部に設けられているＣＰＵ等の外部装置と接続されている。
【００３５】
書き換え制御部１２は、フラッシュＲＯＭ（１１）の書き換えを制御する。フラッシュＲＯＭ（１１）の書き換えを実施する際、書き換え制御部１２は端子１５を介して書込装置２０と接続され、書込装置２０からの命令に基づき、フラッシュＲＯＭ（１１）の書き換え（つまり、消去処理または書き込み処理）を実施する。また、書き換え制御部１２は、温度検知部１３と書き換え情報保持部１４と接続されている。フラッシュＲＯＭ（１１）の書き換えを実施する際、書き換え制御部１２は、温度検知部１３から出力されたフラッシュＲＯＭ（１１）の温度と、書き換え情報保持部１４から出力されたフラッシュＲＯＭ（１１）の総書き換え回数とを用いて、フラッシュＲＯＭ（１１）を書き換える際のパルス電圧やパルス幅を決定することができる。
【００３６】
また、書き換え制御部１２は、フラッシュＲＯＭ（１１）の書き換え処理の終了後、書き換え処理の結果を書込装置２０に返すことができる。なお、図１では、書き換え制御部１２が、不揮発性半導体記憶装置１０に内蔵されている温度検知部１３および書き換え情報保持部１４からそれぞれ、フラッシュＲＯＭ（１１）の温度およびフラッシュＲＯＭ（１１）の総書き換え回数を取得している場合を示した。しかし、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度およびフラッシュＲＯＭ（１１）の総書き換え回数を、不揮発性半導体記憶装置１０の外部に設けられている回路等から取得してもよい。この場合は、不揮発性半導体記憶装置１０に温度検知部１３および書き換え情報保持部１４を設ける必要はない。
【００３７】
温度検知部１３は、フラッシュＲＯＭ（１１）の温度を検知し、検知した温度を書き換え制御部１２に出力する。温度検知部１３は、例えばサーミスタや熱電対などの温度センサを備えている。
【００３８】
書き換え情報保持部１４は、フラッシュＲＯＭ（１１）の総書き換え回数を保持する。書き換え情報保持部１４は、例えばカウンタを備える。そして、書き換え制御部１２がフラッシュＲＯＭ（１１）に対して書き換え処理を実施する際に、書き換え制御部１２が書き換え情報保持部１４に信号を出力し、この信号を受信した回数をカウンタでカウントすることで、フラッシュＲＯＭ（１１）の総書き換え回数を取得することができる。なお、書き換え情報保持部１４は、フラッシュＲＯＭ（１１）の消去処理の回数をカウントする消去回数カウンタと、フラッシュＲＯＭ（１１）への書き込み処理の回数をカウントする書き込み回数カウンタとを独立して備えていてもよい。
【００３９】
書込装置２０は、フラッシュＲＯＭ（１１）に保持されている情報を書き換える際に、端子１５を介して書き換え制御部１２と接続される。書込装置２０は、書き換え制御部１２に対してフラッシュＲＯＭ（１１）の消去処理および書き込み処理の命令や、書き込まれるデータを出力する。また、書込装置２０は、フラッシュＲＯＭ（１１）の書き換え処理の終了後に、書き換え制御部１２から出力された書き換え処理の結果を受信する。なお、書込装置２０は、フラッシュＲＯＭ（１１）に保持されている情報を書き換えるとき以外は、不揮発性半導体記憶装置１０から切り離されている。
【００４０】
次に、本実施の形態にかかる不揮発性半導体記憶装置１０の動作について説明する。図２は、本実施の形態にかかる不揮発性半導体記憶装置１０の動作を説明するためのフローチャートであり、フラッシュＲＯＭ（１１）の書き換え処理の大まかな流れを示している。
【００４１】
フラッシュＲＯＭ（１１）の書き換え処理を実施する際、まず書込装置２０から不揮発性半導体記憶装置１０の書き換え制御部１２に、消去命令または書き込み命令を発行する（ステップＳ１）。次に、書き換え制御部１２は、書込装置２０から出力された消去命令または書き込み命令を受け取ると、フラッシュＲＯＭ（１１）に対して消去処理または書き込み処理を実施する（ステップＳ２）。なお、ステップＳ２の処理の詳細については後述する。そして、書き換え制御部１２は、フラッシュＲＯＭ（１１）に対する消去処理または書き込み処理が終了すると、書込装置２０に対して消去結果または書き込み結果を通知する（ステップＳ３）。これにより、フラッシュＲＯＭ（１１）の書き換え処理が終了する。
【００４２】
次に、図２のステップＳ２の処理（フラッシュＲＯＭ（１１）の消去処理または書き込み処理）について、図３を用いて詳細に説明する。まず、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて、仮最大パルス電圧Ｖｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｍｐ_ｍｉｎをそれぞれ算出する（ステップＳ１１、Ｓ１２）。ここで、仮最大パルス電圧Ｖｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｍｐ_ｍｉｎは、フラッシュＲＯＭ（１１）の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【００４３】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の書き換え回数と、仮最大パルス電圧Ｖｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｍｐ_ｍｉｎとを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の総書き換え回数（現在の書き換え回数）とを用いることで、仮最大パルス電圧Ｖｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｍｐ_ｍｉｎをそれぞれ決定することができる。なお、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理時に印加される信号のパルス幅は所定の値Ｗ_ｆｉｘに固定されている。
【００４４】
フラッシュＲＯＭ（１１）の書き換え回数が増加すると、フラッシュＲＯＭ（１１）の書き換え処理に要する時間が増加する。一例を示すと、フラッシュＲＯＭ（１１）の書き換え回数が１０００回を越えると書き換え時間が増大する。そのため、書き換え制御部１２は、図５に示す表のように、書き換え回数が１０００回以上の場合に仮最大パルス電圧Ｖｔｍｐ_ｍａｘを段階的に増加させている。つまり、書き換え制御部１２は、図５に示すように、消去時間にあまり変動がない９９９回目までは１０Ｖを、メモリ素子が劣化し始める１０００回以降では、１０００回毎に０．２Ｖずつ仮最大パルス電圧Ｖｔｍｐ_ｍａｘを段階的に増加させている。仮最小パルス電圧Ｖｔｍｐ_ｍｉｎについても同様に、１０００回以降において仮最小パルス電圧Ｖｔｍｐ_ｍｉｎを段階的に増加させることができる。
【００４５】
なお、図５に示す表は、フラッシュＲＯＭ（１１）の消去処理においてメモリ素子のゲートに印加される電圧を例示している。例えば、フラッシュＲＯＭ（１１）の書き込み処理の場合は、メモリ素子のゲートに印加される電圧は、負の電圧となる。この場合は、フラッシュＲＯＭ（１１）の総書き換え回数が１０００回以上となった際に、仮最大パルス電圧Ｖｔｍｐ_ｍａｘ（負の値）および仮最小パルス電圧Ｖｔｍｐ_ｍｉｎ（負の値）が段階的に小さくなるように（つまり、電圧の絶対値が大きくなるように）する。
【００４６】
次に、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度に基づいて、仮最大パルス電圧Ｖｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｍｐ_ｍｉｎを補正するための基準補正値（電圧値）Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１をそれぞれ算出する（ステップＳ１３）。例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度と、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１とを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の温度とを用いることで、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１をそれぞれ決定することができる。
【００４７】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより低温になるにつれて、消去処理において印加されるパルス電圧が高くなるように、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１が高くなる）。一方、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより高温になるにつれて、消去処理において印加されるパルス電圧が低くなるように、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１が低くなる）。
【００４８】
また、例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより低温になるにつれて、書き込み処理において印加されるパルス電圧が低くなるように、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１が低くなる）。一方、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより高温になるにつれて、書き込み処理において印加されるパルス電圧が高くなるように、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１が高くなる）。
【００４９】
その後、書き換え制御部１２は、仮最大パルス電圧Ｖｔｍｐ_ｍａｘ、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎ、および基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１に基づいて、最大パルス電圧Ｖｍａｘおよび最小パルス電圧Ｖｍｉｎを算出する（ステップＳ１４）。なお、最大パルス電圧Ｖｍａｘおよび最小パルス電圧Ｖｍｉｎの算出方法の詳細については、後述する。
【００５０】
ここで、最大パルス電圧ＶｍａｘはフラッシュＲＯＭ（１１）の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最大値である。また、最小パルス電圧ＶｍｉｎはフラッシュＲＯＭ（１１）の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最小値である。
【００５１】
次に、フラッシュＲＯＭ（１１）の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧を設定する（ステップＳ１５）。このとき、メモリ素子に印加されるパルス電圧は、最小パルス電圧Ｖｍｉｎよりも大きく、且つ最大パルス電圧Ｖｍａｘよりも小さい範囲で設定される。
【００５２】
そして、設定されたパルス電圧をメモリ素子に印加することで、フラッシュＲＯＭ（１１）の消去処理または書き込み処理を実施する（ステップＳ１６）。その後、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功したか否かを判定する（ベリファイ処理：ステップＳ１７）。フラッシュＲＯＭ（１１）の消去処理または書き込み処理が失敗した場合（ステップＳ１８：Ｎｏ）は、メモリ素子に印加されるパルス電圧を、最小パルス電圧Ｖｍｉｎよりも大きく、且つ最大パルス電圧Ｖｍａｘよりも小さい範囲で再設定し（ステップＳ１９）、ステップＳ１６以降を繰り返す。
【００５３】
つまり、例えば、図６の左図に示すように、ステップＳ１５で設定されたパルス電圧Ｖ５が低すぎるために、フラッシュＲＯＭ（１１）の消去処理または書き込み処理においてリトライが発生した場合（ステップＳ１８：Ｎｏ）は、図６の右図に示すように、パルス電圧Ｖ５よりも大きいパルス電圧Ｖ６を再設定する（ステップＳ１９）。このとき、再設定されたパルス電圧が所定の設定範囲内（Ｖｍｉｎ〜Ｖｍａｘ）となるように設定する。
【００５４】
一方、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功した場合（ステップＳ１８：Ｙｅｓ）は、書き換え情報保持部１４に保持されている情報を現在の総書き換え回数で更新する（ステップＳ２０）。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する（ステップＳ２１）。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合（ステップＳ２１：Ｎｏ）、消去処理または書き込み処理を実施するアドレスを更新し（ステップＳ２２）、ステップＳ１１以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合（ステップＳ２１：Ｙｅｓ）、フラッシュＲＯＭ（１１）の消去処理または書き込み処理を終了し、図２のステップＳ３へと進む。
【００５５】
なお、ステップＳ１８において、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップＳ１５で設定されるパルス電圧を低めに設定してもよい。つまり、図７の左図に示すように、ステップＳ１５で設定されたパルス電圧Ｖ７が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図７の右図に示すように、パルス電圧Ｖ７よりも低いパルス電圧Ｖ８を設定してもよい。このとき、設定されたパルス電圧は所定の設定範囲内（Ｖｍｉｎ〜Ｖｍａｘ）となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュＲＯＭ（１１）の特性に最適なパルス電圧を探索し、最適なパルス電圧を印加することが可能となる。
【００５６】
次に、図３のステップＳ１４の処理、つまり、仮最大パルス電圧Ｖｔｍｐ_ｍａｘ、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎ、および基準補正値Ｖｍａｘ_ｔ_ｃ１、Ｖｍｉｎ_ｔ_ｃ１に基づいて、最大パルス電圧Ｖｍａｘおよび最小パルス電圧Ｖｍｉｎを算出する処理について、図４を用いて詳細に説明する。
【００５７】
まず、書き換え制御部１２は、図３のステップＳ１１で求めた仮最大パルス電圧Ｖｔｍｐ_ｍａｘに基づき、図３のステップＳ１３で求めた基準補正値Ｖｍａｘ_ｔ_ｃ１の調整値Ｖｍａｘ_ｔ_ａを算出する（ステップＳ３１）。例えば、書き換え制御部１２は、仮最大パルス電圧Ｖｔｍｐ_ｍａｘと、調整値Ｖｍａｘ_ｔ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最大パルス電圧Ｖｔｍｐ_ｍａｘとを用いることで、調整値Ｖｍａｘ_ｔ_ａを決定することができる。具体的に説明すると、調整値Ｖｍａｘ_ｔ_ａは以下の式を用いて求めることができる。
【００５８】
Ｖｍａｘ_ｔ_ａ＝ｍ（Ｖｂａｓｅ−Ｖｔｍｐ_ｍａｘ）  ・・・（式１）
【００５９】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｖｂａｓｅは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの温度と基準補正値Ｖｍａｘ_ｔ_ｃ１との関係を求める際に用いられたパルス電圧である。また、Ｖｔｍｐ_ｍａｘは、仮最大パルス電圧である。
【００６０】
このように、調整値Ｖｍａｘ_ｔ_ａは、基準補正値Ｖｍａｘ_ｔ_ｃ１を決定した際のパルス電圧Ｖｂａｓｅから仮最大パルス電圧Ｖｔｍｐ_ｍａｘを減算した値に、所定の係数ｍを乗算することで求めることができる。
【００６１】
図５に、書き換え情報保持部１４に保持されている総書き換え回数、仮最大パルス電圧Ｖｔｍｐ_ｍａｘ、温度補正情報測定時のパルス電圧Ｖｂａｓｅ、デバイス特性係数ｍ、および調整値Ｖｍａｘ_ｔ_ａの一例を示す。図５に示すように、パルス電圧Ｖｂａｓｅは１１（Ｖ）で一定であり、デバイス特性係数ｍは０．３で一定である。図５に示す例では、フラッシュＲＯＭの総書き換え回数が増加するにしたがい、仮最大パルス電圧Ｖｔｍｐ_ｍａｘが増加する。このため、式１より、調整値Ｖｍａｘ_ｔ_ａは、フラッシュＲＯＭの総書き換え回数が増加するにしたがい、徐々に小さくなる関係がある。
【００６２】
次に、基準補正値Ｖｍａｘ_ｔ_ｃ１を調整値Ｖｍａｘ_ｔ_ａで補正することで、最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃを求める（ステップＳ３２）。つまり、最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃ＝基準補正値Ｖｍａｘ_ｔ_ｃ１＋調整値Ｖｍａｘ_ｔ_ａを計算することで、最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃを求めることができる。ここで、最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃは、仮最大パルス電圧Ｖｔｍｐ_ｍａｘを補正するための補正値である。
【００６３】
次に、仮最大パルス電圧Ｖｔｍｐ_ｍａｘを最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃで補正することで、最大パルス電圧Ｖｍａｘを求める（ステップＳ３３）。つまり、最大パルス電圧Ｖｍａｘ＝仮最大パルス電圧Ｖｔｍｐ_ｍａｘ＋最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃを計算することで、最大パルス電圧Ｖｍａｘを求めることができる。
【００６４】
以上で説明した処理により、図３のステップＳ１５で用いられる最大パルス電圧Ｖｍａｘを求めることができる。
【００６５】
続いて、最小パルス電圧Ｖｍｉｎを算出する処理について説明する。なお、最小パルス電圧Ｖｍｉｎを算出する処理についても、上記で説明した最大パルス電圧Ｖｍａｘを算出する処理と基本的に同様である。
【００６６】
まず、書き換え制御部１２は、図３のステップＳ１２で求めた仮最小パルス電圧Ｖｔｍｐ_ｍｉｎに基づき、図３のステップＳ１３で求めた基準補正値Ｖｍｉｎ_ｔ_ｃ１の調整値Ｖｍｉｎ_ｔ_ａを算出する（ステップＳ３４）。例えば、書き換え制御部１２は、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎと、調整値Ｖｍｉｎ_ｔ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎとを用いることで、調整値Ｖｍｉｎ_ｔ_ａを決定することができる。具体的に説明すると、調整値Ｖｍｉｎ_ｔ_ａは以下の式を用いて求めることができる。
【００６７】
Ｖｍｉｎ_ｔ_ａ＝ｍ（Ｖｂａｓｅ−Ｖｔｍｐ_ｍｉｎ）  ・・・（式２）
【００６８】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｖｂａｓｅは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの温度と基準補正値Ｖｍｉｎ_ｔ_ｃ１との関係を求める際に用いられたパルス電圧である。また、Ｖｔｍｐ_ｍｉｎは、仮最小パルス電圧である。
【００６９】
このように、調整値Ｖｍｉｎ_ｔ_ａは、基準補正値Ｖｍｉｎ_ｔ_ｃ１を決定した際のパルス電圧Ｖｂａｓｅから仮最小パルス電圧Ｖｔｍｐ_ｍｉｎを減算した値に、所定の係数ｍを乗算することで求めることができる。
【００７０】
次に、基準補正値Ｖｍｉｎ_ｔ_ｃ１を調整値Ｖｍｉｎ_ｔ_ａで補正することで、最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃを求める（ステップＳ３５）。つまり、最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃ＝基準補正値Ｖｍｉｎ_ｔ_ｃ１＋調整値Ｖｍｉｎ_ｔ_ａを計算することで、最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃを求めることができる。ここで、最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃは、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎを補正するための補正値である。
【００７１】
次に、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎを最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃで補正することで、最小パルス電圧Ｖｍｉｎを求める（ステップＳ３６）。つまり、最小パルス電圧Ｖｍｉｎ＝仮最小パルス電圧Ｖｔｍｐ_ｍｉｎ＋最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃを計算することで、最小パルス電圧Ｖｍｉｎを求めることができる。
【００７２】
以上で説明した処理により、図３のステップＳ１５で用いられる最小パルス電圧Ｖｍｉｎを求めることができる。
【００７３】
このように、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の総書き換え回数に基づき仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを決定し、更に、決定された仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを、フラッシュＲＯＭ（１１）の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮したパルス電圧を用いて、フラッシュＲＯＭ（１１）の書き換え処理を実施することができる。なお、本明細書では、仮最大パルス電圧および仮最小パルス電圧を総称して仮のパルス電圧と記載する。同様に、最大パルス電圧補正値および最小パルス電圧補正値を総称してパルス電圧補正値と記載する。
【００７４】
このとき、フラッシュＲＯＭ（１１）に対する温度に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Ｖｍａｘ_ｔ_ｃ１を、仮最大パルス電圧Ｖｔｍｐ_ｍａｘに基づき算出された調整値Ｖｍａｘ_ｔ_ａを用いて調整している。同様に、温度情報に基づき算出された基準補正値Ｖｍｉｎ_ｔ_ｃ１を、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎに基づき算出された調整値Ｖｍｉｎ_ｔ_ａを用いて調整している。よって、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【００７５】
図８は、本実施の形態にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。なお、図８〜図１０においても、フラッシュＲＯＭ（１１）の書き換え処理時に印加される信号のパルス幅は固定値Ｗ_ｆｉｘである。図８に示すように、例えば、フラッシュＲＯＭ（１１）の総書き換え回数のみに基づいてパルス電圧を設定した場合（例えば、特許文献２に開示されている技術を用いた場合）は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧の最大値はＶｔｍｐ_ｍａｘであった。
【００７６】
一方、本実施の形態のように、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧の最大値を、Ｖｔｍｐ_ｍａｘよりも最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃだけ低いＶｍａｘとすることができる。
【００７７】
図９は、本実施の形態にかかる不揮発性半導体記憶装置１０で設定されるパルス電圧を説明するための図である（補正によりパルス電圧Ｖｍａｘ、Ｖｍｉｎが低くなる場合）。本実施の形態では、まず、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを算出する。このとき算出された仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎは、パルス電圧Ｖｍａｘ、Ｖｍｉｎよりも高い値である。
【００７８】
その後、フラッシュＲＯＭ（１１）の温度に基づいて算出されたパルス電圧補正値Ｖｍａｘ_ｔ_ｃ、Ｖｍｉｎ_ｔ_ｃを用いて、仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを補正する。これにより、最大パルス電圧Ｖｍａｘを、仮最大パルス電圧Ｖｔｍｐ_ｍａｘよりも最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃだけ低い値とすることができる。また、最小パルス電圧Ｖｍｉｎを、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎよりも最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃだけ低い値とすることができる。
【００７９】
フラッシュＲＯＭ（１１）の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧を、例えばＶ２に設定する必要があった。しかしながら、本実施の形態のように、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧を、Ｖ２よりも低いＶ１とすることができる。その結果、低い電圧でフラッシュＲＯＭ（１１）の書き換えを実施することができるので、フラッシュＲＯＭ（１１）の劣化を抑えることができ、フラッシュＲＯＭ（１１）の書き換え回数を増やすことができる。
【００８０】
図１０は、本実施の形態にかかる不揮発性半導体記憶装置１０で設定されるパルス電圧を説明するための図である（補正によりパルス電圧Ｖｍａｘ、Ｖｍｉｎが高くなる場合）。この場合も同様に、まず、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを算出する。このとき算出された仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎは、パルス電圧Ｖｍａｘ、Ｖｍｉｎよりも低い値である。
【００８１】
その後、フラッシュＲＯＭ（１１）の温度に基づいて算出されたパルス電圧補正値Ｖｍａｘ_ｔ_ｃ、Ｖｍｉｎ_ｔ_ｃを用いて、仮のパルス電圧Ｖｔｍｐ_ｍａｘ、Ｖｔｍｐ_ｍｉｎを補正する。これにより、最大パルス電圧Ｖｍａｘを、仮最大パルス電圧Ｖｔｍｐ_ｍａｘよりも最大パルス電圧補正値Ｖｍａｘ_ｔ_ｃだけ高い値とすることができる。また、最小パルス電圧Ｖｍｉｎを、仮最小パルス電圧Ｖｔｍｐ_ｍｉｎよりも最小パルス電圧補正値Ｖｍｉｎ_ｔ_ｃだけ高い値とすることができる。
【００８２】
フラッシュＲＯＭ（１１）の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧を、例えばＶ４に設定する必要があった。しかしながら、本実施の形態のように、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス電圧を、Ｖ４よりも高いＶ３とすることができる。その結果、パルス電圧が低すぎてフラッシュＲＯＭ（１１）のリトライが発生することを抑制することができ、フラッシュＲＯＭ（１１）の書き換え時間を短縮することができる。
【００８３】
次に、図１１を用いて本発明の効果について説明する。図１１は、フラッシュＲＯＭの総書き換え回数と印加するパルス電圧との関係を示している。図１１には、理想のパルス電圧（Ａ）、本発明を用いてパルス電圧を算出した場合（Ｂ）、特許文献１に開示されている技術を用いてパルス電圧を算出した場合（Ｃ）、および特許文献２に開示されている技術を用いてパルス電圧を算出した場合（Ｄ）を示している。
【００８４】
つまり、本発明を用いてパルス電圧を算出した場合（Ｂ）は、上記のように、フラッシュＲＯＭの総書き換え回数とフラッシュＲＯＭの温度とに基づいてパルス電圧を算出した場合を示している。また、特許文献１に開示されている技術を用いてパルス電圧を算出した場合（Ｃ）は、フラッシュＲＯＭの温度に基づいてパルス電圧を算出した場合を示している。また、特許文献２に開示されている技術を用いてパルス電圧を算出した場合（Ｄ）は、フラッシュＲＯＭの総書き換え回数に基づきパルス電圧を算出した場合を示している。
【００８５】
なお、本発明を用いてパルス電圧を算出する際、デバイス特性係数をｍ＝０．３、基準補正値（Ｖｍａｘ_ｔ_ｃ１）を０．２Ｖ、温度補正情報測定時のパルス電圧をＶｂａｓｅ＝１１Ｖとし、総書き換え回数から算出した仮パルス電圧（Ｖｔｍｐ_ｍａｘ）を１０Ｖ〜１２Ｖに変化させている。このとき、Ｖｂａｓｅから１Ｖ変化したときに０．３Ｖだけ基準補正値（Ｖｍａｘ_ｔ_ｃ１）に影響があると仮定して、デバイス特性係数を０．３とした。
【００８６】
図１１に示すように、特許文献１に開示されている技術を用いてパルス電圧を算出した場合（Ｃ）は、総書き換え回数によってパルス電圧がほとんど変化しない。また、特許文献２に開示されている技術を用いてパルス電圧を算出した場合（Ｄ）は、総書き換え回数に応じてパルス電圧が変化するが、特に総書き換え回数が７０００回以下の領域において、理想のパルス電圧（Ａ）と大きく乖離しているといえる。
【００８７】
これに対して本発明を用いてパルス電圧を算出した場合（Ｂ）は、算出されたパルス電圧が理想のパルス電圧（Ａ）と近い値であるといえる。よって、上記で説明した本実施の形態にかかる発明を用いることで、フラッシュＲＯＭの書き換え処理の際のパルス電圧として、理想のパルス電圧に近い値を設定することができる。
【００８８】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ（フラッシュＲＯＭ）の書き換え時に、フラッシュＲＯＭに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュＲＯＭの書き換え時にリトライが発生することを抑制することができ、フラッシュＲＯＭの書き換え時間を短縮することができる。また、フラッシュＲＯＭの書き換え時に、フラッシュＲＯＭに過剰な電圧が印加されることを抑制することができるので、フラッシュＲＯＭの寿命を延ばすことができる。
【００８９】
＜実施の形態２＞
次に、本発明の実施の形態２について説明する。実施の形態１では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス幅を固定し（Ｗ_ｆｉｘ）、フラッシュＲＯＭの総書き換え回数とフラッシュＲＯＭの温度とに基づきパルス電圧を設定していた。これに対して本実施の形態では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス電圧を固定し（Ｖ_ｆｉｘ）、フラッシュＲＯＭの総書き換え回数とフラッシュＲＯＭの温度とに基づきパルス幅を設定している。
【００９０】
なお、本実施の形態で用いられる不揮発性半導体記憶装置１０は、実施の形態１で説明した図１に示した不揮発性半導体記憶装置１０と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置１０は、書き換え制御部１２における動作が実施の形態１と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置１０の動作について説明する。
【００９１】
本実施の形態にかかる不揮発性半導体記憶装置１０においても、図２に示した処理が実施される。図２に示した処理については、実施の形態１で説明したので省略する。図１２は、図２のステップＳ２の処理（フラッシュＲＯＭ（１１）の消去処理または書き込み処理）を詳細に説明するためのフローチャートである。図１２は、実施の形態１で説明した図３に対応している。
【００９２】
図１２に示すように、まず、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて、仮最大パルス幅Ｗｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｍｐ_ｍｉｎをそれぞれ算出する（ステップＳ４１、Ｓ４２）。ここで、仮最大パルス幅Ｗｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｍｐ_ｍｉｎは、フラッシュＲＯＭ（１１）の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【００９３】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の書き換え回数と、仮最大パルス幅Ｗｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｍｐ_ｍｉｎとを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の総書き換え回数（現在の書き換え回数）とを用いることで、仮最大パルス幅Ｗｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｍｐ_ｍｉｎをそれぞれ決定することができる。なお、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理時に印加されるパルス電圧は所定の値Ｖ_ｆｉｘに固定されている。
【００９４】
フラッシュＲＯＭ（１１）の書き換え回数が増加すると、フラッシュＲＯＭ（１１）の書き換え処理に要する時間が増加する。一例を示すと、フラッシュＲＯＭ（１１）の書き換え回数が１０００回を越えると書き換え時間は増大する。そのため、書き換え制御部１２は、１０００回以降において仮最大パルス幅Ｗｔｍｐ_ｍａｘを段階的に増加させることができる。
【００９５】
次に、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度に基づいて、仮最大パルス幅Ｗｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｍｐ_ｍｉｎを補正するための基準補正値（パルス幅）Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１をそれぞれ算出する（ステップＳ４３）。例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度と、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１とを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の温度とを用いることで、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１をそれぞれ決定することができる。
【００９６】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより低温になるにつれて、消去処理におけるパルス幅が大きくなるように、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１が大きくなる）。一方、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより高温になるにつれて、消去処理におけるパルス幅が小さくなるように、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１が小さくなる）。
【００９７】
また、例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより低温になるにつれて、書き込み処理におけるパルス幅が小さくなるように、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１が小さくなる）。一方、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度がより高温になるにつれて、書き込み処理におけるパルス幅が大きくなるように、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１を決定することができる（つまり、基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１が大きくなる）。
【００９８】
その後、書き換え制御部１２は、仮最大パルス幅Ｗｔｍｐ_ｍａｘ、仮最小パルス幅Ｗｔｍｐ_ｍｉｎ、および基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１に基づいて、最大パルス幅Ｗｍａｘおよび最小パルス幅Ｗｍｉｎを算出する（ステップＳ４４）。なお、最大パルス幅Ｗｍａｘおよび最小パルス幅Ｗｍｉｎの算出方法の詳細については、後述する。
【００９９】
ここで、最大パルス幅Ｗｍａｘは、フラッシュＲＯＭ（１１）の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最大値である。また、最小パルス幅Ｗｍｉｎは、フラッシュＲＯＭ（１１）の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最小値である。
【０１００】
次に、フラッシュＲＯＭ（１１）の消去処理または書き込み処理時に、メモリ素子に印加される信号のパルス幅を設定する（ステップＳ４５）。このとき、メモリ素子に印加される信号のパルス幅は、最小パルス幅Ｗｍｉｎよりも大きく、且つ最大パルス幅Ｗｍａｘよりも小さい範囲で設定される。
【０１０１】
そして、設定されたパルス幅の信号をメモリ素子に印加することで、フラッシュＲＯＭ（１１）の消去処理または書き込み処理を実施する（ステップＳ４６）。その後、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功したか否かを判定する（ベリファイ処理：ステップＳ４７）。フラッシュＲＯＭ（１１）の消去処理または書き込み処理が失敗した場合（ステップＳ４８：Ｎｏ）は、メモリ素子に印加される信号のパルス幅を、最小パルス幅Ｗｍｉｎよりも大きく、且つ最大パルス幅Ｗｍａｘよりも小さい範囲で再設定し（ステップＳ４９）、ステップＳ４６からステップＳ４８を繰り返す。
【０１０２】
つまり、例えば、図１４の左図に示すように、ステップＳ４５で設定されたパルス幅Ｗ５が小さすぎるために、フラッシュＲＯＭ（１１）の消去処理または書き込み処理においてリトライが発生した場合（ステップＳ４８：Ｎｏ）は、図１４の右図に示すように、パルス幅Ｗ５よりも大きいパルス幅Ｗ６を再設定する（ステップＳ４９）。このとき、再設定されたパルス幅が所定の設定範囲内（Ｗｍｉｎ〜Ｗｍａｘ）となるように設定する。
【０１０３】
一方、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功した場合（ステップＳ４８：Ｙｅｓ）は、書き換え情報保持部１４に保持されている情報を現在の総書き換え回数で更新する（ステップＳ５０）。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する（ステップＳ５１）。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合（ステップＳ５１：Ｎｏ）、消去処理または書き込み処理を実施するアドレスを更新し（ステップＳ５２）、ステップＳ４１以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合（ステップＳ５１：Ｙｅｓ）、フラッシュＲＯＭ（１１）の消去処理または書き込み処理を終了し、図２のステップＳ３へと進む。
【０１０４】
なお、ステップＳ４８において、フラッシュＲＯＭ（１１）の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップＳ４５で設定されるパルス幅を小さめに設定してもよい。つまり、図１５の左図に示すように、ステップＳ４５で設定されたパルス幅Ｗ７が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図１５の右図に示すように、パルス幅Ｗ７よりも小さいパルス幅Ｗ８を設定してもよい。このとき、設定されたパルス幅は所定の設定範囲内（Ｗｍｉｎ〜Ｗｍａｘ）となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュＲＯＭ（１１）の特性に最適なパルス幅を探索し、最適なパルス幅の信号を印加することが可能となる。
【０１０５】
次に、図１２のステップＳ４４の処理、つまり、仮最大パルス幅Ｗｔｍｐ_ｍａｘ、仮最小パルス幅Ｗｔｍｐ_ｍｉｎ、および基準補正値Ｗｍａｘ_ｔ_ｃ１、Ｗｍｉｎ_ｔ_ｃ１に基づいて、最大パルス幅Ｗｍａｘおよび最小パルス幅Ｗｍｉｎを算出する処理について、図１３を用いて詳細に説明する。
【０１０６】
まず、書き換え制御部１２は、図１２のステップＳ４１で求めた仮最大パルス幅Ｗｔｍｐ_ｍａｘに基づき、図１２のステップＳ４３で求めた基準補正値Ｗｍａｘ_ｔ_ｃ１の調整値Ｗｍａｘ_ｔ_ａを算出する（ステップＳ６１）。例えば、書き換え制御部１２は、仮最大パルス幅Ｗｔｍｐ_ｍａｘと、調整値Ｗｍａｘ_ｔ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最大パルス幅Ｗｔｍｐ_ｍａｘとを用いることで、調整値Ｗｍａｘ_ｔ_ａを決定することができる。具体的に説明すると、調整値Ｗｍａｘ_ｔ_ａは以下の式を用いて求めることができる。
【０１０７】
Ｗｍａｘ_ｔ_ａ＝ｍ（Ｗｂａｓｅ−Ｗｔｍｐ_ｍａｘ）  ・・・（式３）
【０１０８】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｗｂａｓｅは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの温度と基準補正値Ｗｍａｘ_ｔ_ｃ１との関係を求める際に用いられたパルス幅である。また、Ｗｔｍｐ_ｍａｘは、仮最大パルス幅である。
【０１０９】
このように、調整値Ｗｍａｘ_ｔ_ａは、基準補正値Ｗｍａｘ_ｔ_ｃ１を決定した際のパルス幅Ｗｂａｓｅから仮最大パルス幅Ｗｔｍｐ_ｍａｘを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１１０】
次に、基準補正値Ｗｍａｘ_ｔ_ｃ１を調整値Ｗｍａｘ_ｔ_ａで補正することで、最大パルス幅補正値Ｗｍａｘ_ｔ_ｃを求める（ステップＳ６２）。つまり、最大パルス幅補正値Ｗｍａｘ_ｔ_ｃ＝基準補正値Ｗｍａｘ_ｔ_ｃ１＋調整値Ｗｍａｘ_ｔ_ａを計算することで、最大パルス幅補正値Ｗｍａｘ_ｔ_ｃを求めることができる。ここで、最大パルス幅補正値Ｗｍａｘ_ｔ_ｃは、仮最大パルス幅Ｗｔｍｐ_ｍａｘを補正するための補正値である。
【０１１１】
次に、仮最大パルス幅Ｗｔｍｐ_ｍａｘを最大パルス幅補正値Ｗｍａｘ_ｔ_ｃで補正することで、最大パルス幅Ｗｍａｘを求める（ステップＳ６３）。つまり、最大パルス幅Ｗｍａｘ＝仮最大パルス幅Ｗｔｍｐ_ｍａｘ＋最大パルス幅補正値Ｗｍａｘ_ｔ_ｃを計算することで、最大パルス幅Ｗｍａｘを求めることができる。
【０１１２】
以上で説明した処理により、図１２のステップＳ４５で用いられる最大パルス幅Ｗｍａｘを求めることができる。
【０１１３】
続いて、最小パルス幅Ｗｍｉｎを算出する処理について説明する。なお、最小パルス幅Ｗｍｉｎを算出する処理についても、上記で説明した最大パルス幅Ｗｍａｘを算出する処理と基本的に同様である。
【０１１４】
まず、書き換え制御部１２は、図１２のステップＳ４２で求めた仮最小パルス幅Ｗｔｍｐ_ｍｉｎに基づき、図１２のステップＳ４３で求めた基準補正値Ｗｍｉｎ_ｔ_ｃ１の調整値Ｗｍｉｎ_ｔ_ａを算出する（ステップＳ６４）。例えば、書き換え制御部１２は、仮最小パルス幅Ｗｔｍｐ_ｍｉｎと、調整値Ｗｍｉｎ_ｔ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最小パルス幅Ｗｔｍｐ_ｍｉｎとを用いることで、調整値Ｗｍｉｎ_ｔ_ａを決定することができる。具体的に説明すると、調整値Ｗｍｉｎ_ｔ_ａは以下の式を用いて求めることができる。
【０１１５】
Ｗｍｉｎ_ｔ_ａ＝ｍ（Ｗｂａｓｅ−Ｗｔｍｐ_ｍｉｎ）  ・・・（式４）
【０１１６】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｗｂａｓｅは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの温度と基準補正値Ｗｍｉｎ_ｔ_ｃ１との関係を求める際に用いられたパルス幅である。また、Ｗｔｍｐ_ｍｉｎは、仮最小パルス幅である。
【０１１７】
このように、調整値Ｗｍｉｎ_ｔ_ａは、基準補正値Ｗｍｉｎ_ｔ_ｃ１を決定した際のパルス幅Ｗｂａｓｅから仮最小パルス幅Ｗｔｍｐ_ｍｉｎを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１１８】
次に、基準補正値Ｗｍｉｎ_ｔ_ｃ１を調整値Ｗｍｉｎ_ｔ_ａで補正することで、最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃを求める（ステップＳ６５）。つまり、最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃ＝基準補正値Ｗｍｉｎ_ｔ_ｃ１＋調整値Ｗｍｉｎ_ｔ_ａを計算することで、最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃを求めることができる。ここで、最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃは、仮最小パルス幅Ｗｔｍｐ_ｍｉｎを補正するための補正値である。
【０１１９】
次に、仮最小パルス幅Ｗｔｍｐ_ｍｉｎを最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃで補正することで、最小パルス幅Ｗｍｉｎを求める（ステップＳ６６）。つまり、最小パルス幅Ｗｍｉｎ＝仮最小パルス幅Ｗｔｍｐ_ｍｉｎ＋最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃを計算することで、最小パルス幅Ｗｍｉｎを求めることができる。
【０１２０】
以上で説明した処理により、図１２のステップＳ４５で用いられる最小パルス幅Ｗｍｉｎを求めることができる。
【０１２１】
このように、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の総書き換え回数に基づき仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを決定し、更に、決定された仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを、フラッシュＲＯＭ（１１）の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮したパルス幅を用いて、フラッシュＲＯＭ（１１）の書き換え処理を実施することができる。
【０１２２】
このとき、フラッシュＲＯＭ（１１）に対する温度に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Ｗｍａｘ_ｔ_ｃ１を、仮最大パルス幅Ｗｔｍｐ_ｍａｘに基づき算出された調整値Ｗｍａｘ_ｔ_ａを用いて調整している。同様に、温度情報に基づき算出された基準補正値Ｗｍｉｎ_ｔ_ｃ１を、仮最小パルス幅Ｗｔｍｐ_ｍｉｎに基づき算出された調整値Ｗｍｉｎ_ｔ_ａを用いて調整している。よって、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【０１２３】
図１６は、本実施の形態にかかる不揮発性半導体記憶装置１０で設定されるパルス幅を説明するための図である（補正によりパルス幅Ｗｍａｘ、Ｗｍｉｎが小さくなる場合）。本実施の形態では、まず、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを算出する。このとき算出された仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎは、パルス幅Ｗｍａｘ、Ｗｍｉｎよりも大きい値である。
【０１２４】
その後、フラッシュＲＯＭ（１１）の温度に基づいて算出されたパルス幅補正値Ｗｍａｘ_ｔ_ｃ、Ｗｍｉｎ_ｔ_ｃを用いて、仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを補正する。これにより、最大パルス幅Ｗｍａｘを、仮最大パルス幅Ｗｔｍｐ_ｍａｘよりも最大パルス幅補正値Ｗｍａｘ_ｔ_ｃだけ小さい値とすることができる。また、最小パルス幅Ｗｍｉｎを、仮最小パルス幅Ｗｔｍｐ_ｍｉｎよりも最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃだけ小さい値とすることができる。
【０１２５】
フラッシュＲＯＭ（１１）の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス幅を、例えばＷ２に設定する必要があった。しかしながら、本実施の形態のように、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス幅を、Ｗ２よりも小さいＷ１とすることができる。その結果、小さいパルス幅でフラッシュＲＯＭ（１１）の書き換えを実施することができるので、フラッシュＲＯＭ（１１）の劣化を抑えることができ、フラッシュＲＯＭ（１１）の書き換え回数を増やすことができる。
【０１２６】
図１７は、本実施の形態にかかる不揮発性半導体記憶装置１０で設定されるパルス幅を説明するための図である（補正によりパルス幅Ｗｍａｘ、Ｗｍｉｎが大きくなる場合）。この場合も同様に、まず、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを算出する。このとき算出された仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎは、パルス幅Ｗｍａｘ、Ｗｍｉｎよりも小さい値である。
【０１２７】
その後、フラッシュＲＯＭ（１１）の温度に基づいて算出されたパルス幅補正値Ｗｍａｘ_ｔ_ｃ、Ｗｍｉｎ_ｔ_ｃを用いて、仮のパルス幅Ｗｔｍｐ_ｍａｘ、Ｗｔｍｐ_ｍｉｎを補正する。これにより、最大パルス幅Ｗｍａｘを、仮最大パルス幅Ｗｔｍｐ_ｍａｘよりも最大パルス幅補正値Ｗｍａｘ_ｔ_ｃだけ大きい値とすることができる。また、最小パルス幅Ｗｍｉｎを、仮最小パルス幅Ｗｔｍｐ_ｍｉｎよりも最小パルス幅補正値Ｗｍｉｎ_ｔ_ｃだけ大きい値とすることができる。
【０１２８】
フラッシュＲＯＭ（１１）の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス幅を、例えばＷ４に設定する必要があった。しかしながら、本実施の形態のように、フラッシュＲＯＭ（１１）の総書き換え回数とフラッシュＲＯＭ（１１）の温度の両方を考慮した場合は、フラッシュＲＯＭ（１１）の書き換えの際のパルス幅を、Ｗ４よりも大きいＷ３とすることができる。その結果、パルス幅が小さすぎてフラッシュＲＯＭ（１１）のリトライが発生することを抑制することができ、フラッシュＲＯＭ（１１）の書き換え時間を短縮することができる。  
【０１２９】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ（フラッシュＲＯＭ）の書き換え時にフラッシュＲＯＭに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュＲＯＭの書き換え時にリトライが発生することを抑制することができ、フラッシュＲＯＭの書き換え時間を短縮することができる。また、フラッシュＲＯＭの書き換え時に、フラッシュＲＯＭに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュＲＯＭの寿命を延ばすことができる。
【０１３０】
上述したように、実施の形態１では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス幅を固定し（Ｗ_ｆｉｘ）、フラッシュＲＯＭの総書き換え回数とフラッシュＲＯＭの温度とに基づきパルス電圧を設定する場合について説明した。また、実施の形態２では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス電圧を固定し（Ｖ_ｆｉｘ）、フラッシュＲＯＭの総書き換え回数とフラッシュＲＯＭの温度とに基づきパルス幅を設定する場合について説明した。
【０１３１】
つまり、実施の形態１および実施の形態２では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュＲＯＭの総書き換え回数およびフラッシュＲＯＭの温度に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュＲＯＭの総書き換え回数およびフラッシュＲＯＭの温度に基づき設定するようにしてもよい。この場合は、例えば、フラッシュＲＯＭの総書き換え回数およびフラッシュＲＯＭの温度に基づき、印加するパルス信号の積分値（つまり、パルス電圧とパルス幅とを乗算した値）を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュＲＯＭの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【０１３２】
＜実施の形態３＞
次に、本発明の実施の形態３について説明する。実施の形態１および実施の形態２では、まず、フラッシュＲＯＭの総書き換え回数に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュＲＯＭの温度に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求めていた。
【０１３３】
以下に示す実施の形態３および実施の形態４では、まず、フラッシュＲＯＭの温度に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュＲＯＭの総書き換え回数に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求める場合について説明する。
【０１３４】
実施の形態３では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス幅を固定し（Ｗ_ｆｉｘ）、フラッシュＲＯＭの温度とフラッシュＲＯＭの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【０１３５】
なお、本実施の形態で用いられる不揮発性半導体記憶装置１０は、実施の形態１で説明した図１に示した不揮発性半導体記憶装置１０と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置１０は、書き換え制御部１２における動作が実施の形態１と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置１０の動作について説明する。
【０１３６】
本実施の形態にかかる不揮発性半導体記憶装置１０においても、図２に示した処理が実施される。図２に示した処理については、実施の形態１で説明したので省略する。図１８は、図２のステップＳ２の処理（フラッシュＲＯＭ（１１）の消去処理または書き込み処理）を詳細に説明するためのフローチャートである。図１８は、実施の形態１で説明した図３に対応している。
【０１３７】
図１８に示すように、まず、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度に基づいて、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎをそれぞれ算出する（ステップＳ１１１、Ｓ１１２）。ここで、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎは、フラッシュＲＯＭ（１１）の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【０１３８】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度と、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎとを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の温度とを用いることで、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎをそれぞれ決定することができる。なお、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理時に印加される信号のパルス幅は所定の値Ｗ_ｆｉｘに固定されている。
【０１３９】
次に、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘおよび仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎを補正するための基準補正値（電圧値）Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１をそれぞれ算出する（ステップＳ１１３）。例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数と、基準補正値Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１とを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の総書き換え回数とを用いることで、基準補正値Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１をそれぞれ決定することができる。
【０１４０】
フラッシュＲＯＭ（１１）の書き換え回数が増加すると、フラッシュＲＯＭ（１１）の書き換え処理に要する時間が増加する。一例を示すと、フラッシュＲＯＭ（１１）の書き換え回数が１０００回を越えると書き換え時間は増大する。そのため、書き換え制御部１２は、書き換え回数が１０００回以上の場合に基準補正値（電圧値）Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１を段階的に増加させることができる。
【０１４１】
その後、書き換え制御部１２は、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘ、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎ、および基準補正値Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１に基づいて、最大パルス電圧Ｖｍａｘおよび最小パルス電圧Ｖｍｉｎを算出する（ステップＳ１１４）。以降、ステップＳ１１５〜ステップＳ１２２については、実施の形態１で説明した図３のステップＳ１５〜ステップＳ２２と同様であるので、重複した説明は省略する。
【０１４２】
次に、図１８のステップＳ１１４の処理、つまり、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘ、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎ、および基準補正値Ｖｍａｘ_ｃ_ｃ１、Ｖｍｉｎ_ｃ_ｃ１に基づいて、最大パルス電圧Ｖｍａｘおよび最小パルス電圧Ｖｍｉｎを算出する処理について、図１９を用いて詳細に説明する。
【０１４３】
まず、書き換え制御部１２は、図１８のステップＳ１１１で求めた仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘに基づき、図１８のステップＳ１１３で求めた基準補正値Ｖｍａｘ_ｃ_ｃ１の調整値Ｖｍａｘ_ｃ_ａを算出する（ステップＳ１３１）。例えば、書き換え制御部１２は、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘと、調整値Ｖｍａｘ_ｃ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘとを用いることで、調整値Ｖｍａｘ_ｃ_ａを決定することができる。具体的に説明すると、調整値Ｖｍａｘ_ｃ_ａは以下の式を用いて求めることができる。
【０１４４】
Ｖｍａｘ_ｃ_ａ＝ｍ（Ｖｔｂａｓｅ−Ｖｔｔｍｐ_ｍａｘ）  ・・・（式５）
【０１４５】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｖｔｂａｓｅは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの総書き換え回数と基準補正値Ｖｍａｘ_ｃ_ｃ１との関係を求める際に用いられたパルス電圧である。また、Ｖｔｔｍｐ_ｍａｘは、仮最大パルス電圧である。
【０１４６】
このように、調整値Ｖｍａｘ_ｃ_ａは、基準補正値Ｖｍａｘ_ｃ_ｃ１を決定した際のパルス電圧Ｖｔｂａｓｅから仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１４７】
次に、基準補正値Ｖｍａｘ_ｃ_ｃ１を調整値Ｖｍａｘ_ｃ_ａで補正することで、最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃを求める（ステップＳ１３２）。つまり、最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃ＝基準補正値Ｖｍａｘ_ｃ_ｃ１＋調整値Ｖｍａｘ_ｃ_ａを計算することで、最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃを求めることができる。ここで、最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃは、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘを補正するための補正値である。
【０１４８】
次に、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘを最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃで補正することで、最大パルス電圧Ｖｍａｘを求める（ステップＳ１３３）。つまり、最大パルス電圧Ｖｍａｘ＝仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘ＋最大パルス電圧補正値Ｖｍａｘ_ｃ_ｃを計算することで、最大パルス電圧Ｖｍａｘを求めることができる。
【０１４９】
以上で説明した処理により、図１８のステップＳ１１５で用いられる最大パルス電圧Ｖｍａｘを求めることができる。
【０１５０】
続いて、最小パルス電圧Ｖｍｉｎを算出する処理について説明する。なお、最小パルス電圧Ｖｍｉｎを算出する処理についても、上記で説明した最大パルス電圧Ｖｍａｘを算出する処理と基本的に同様である。
【０１５１】
まず、書き換え制御部１２は、図１８のステップＳ１１２で求めた仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎに基づき、図１８のステップＳ１１３で求めた基準補正値Ｖｍｉｎ_ｃ_ｃ１の調整値Ｖｍｉｎ_ｃ_ａを算出する（ステップＳ１３４）。例えば、書き換え制御部１２は、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎと、調整値Ｖｍｉｎ_ｃ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎとを用いることで、調整値Ｖｍｉｎ_ｃ_ａを決定することができる。具体的に説明すると、調整値Ｖｍｉｎ_ｃ_ａは以下の式を用いて求めることができる。
【０１５２】
Ｖｍｉｎ_ｃ_ａ＝ｍ（Ｖｔｂａｓｅ−Ｖｔｔｍｐ_ｍｉｎ）  ・・・（式６）
【０１５３】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｖｔｂａｓｅは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの総書き換え回数と基準補正値Ｖｍｉｎ_ｃ_ｃ１との関係を求める際に用いられたパルス電圧である。また、Ｖｔｔｍｐ_ｍｉｎは、仮最大パルス電圧である。
【０１５４】
このように、調整値Ｖｍｉｎ_ｃ_ａは、基準補正値Ｖｍｉｎ_ｃ_ｃ１を決定した際のパルス電圧Ｖｔｂａｓｅから仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１５５】
次に、基準補正値Ｖｍｉｎ_ｃ_ｃ１を調整値Ｖｍｉｎ_ｃ_ａで補正することで、最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃを求める（ステップＳ１３５）。つまり、最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃ＝基準補正値Ｖｍｉｎ_ｃ_ｃ１＋調整値Ｖｍｉｎ_ｃ_ａを計算することで、最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃを求めることができる。ここで、最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃは、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎを補正するための補正値である。
【０１５６】
次に、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎを最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃで補正することで、最小パルス電圧Ｖｍｉｎを求める（ステップＳ１３６）。つまり、最小パルス電圧Ｖｍｉｎ＝仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎ＋最小パルス電圧補正値Ｖｍｉｎ_ｃ_ｃを計算することで、最小パルス電圧Ｖｍｉｎを求めることができる。
【０１５７】
以上で説明した処理により、図１８のステップＳ１１５で用いられる最小パルス電圧Ｖｍｉｎを求めることができる。
【０１５８】
このように、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の温度に基づき仮のパルス電圧Ｖｔｔｍｐ_ｍａｘ、Ｖｔｔｍｐ_ｍｉｎを決定し、更に、決定された仮のパルス電圧Ｖｔｔｍｐ_ｍａｘ、Ｖｔｔｍｐ_ｍｉｎを、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の温度とフラッシュＲＯＭ（１１）の総書き換え回数の両方を考慮したパルス電圧を用いて、フラッシュＲＯＭ（１１）の書き換え処理を実施することができる。
【０１５９】
このとき、フラッシュＲＯＭ（１１）に対する総書き換え回数に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Ｖｍａｘ_ｃ_ｃ１を、仮最大パルス電圧Ｖｔｔｍｐ_ｍａｘに基づき算出された調整値Ｖｍａｘ_ｃ_ａを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Ｖｍｉｎ_ｃ_ｃ１を、仮最小パルス電圧Ｖｔｔｍｐ_ｍｉｎに基づき算出された調整値Ｖｍｉｎ_ｃ_ａを用いて調整している。よって、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【０１６０】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ（フラッシュＲＯＭ）の書き換え時に、フラッシュＲＯＭに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュＲＯＭの書き換え時にリトライが発生することを抑制することができ、フラッシュＲＯＭの書き換え時間を短縮することができる。また、フラッシュＲＯＭの書き換え時に、フラッシュＲＯＭに過剰な電圧が印加されることを抑制することができるので、フラッシュＲＯＭの寿命を延ばすことができる。
【０１６１】
＜実施の形態４＞
次に、本発明の実施の形態４について説明する。以下で説明する実施の形態４では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス電圧を固定し（Ｖ_ｆｉｘ）、フラッシュＲＯＭの温度とフラッシュＲＯＭの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【０１６２】
なお、本実施の形態で用いられる不揮発性半導体記憶装置１０は、実施の形態１で説明した図１に示した不揮発性半導体記憶装置１０と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置１０は、書き換え制御部１２における動作が実施の形態１と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置１０の動作について説明する。
【０１６３】
本実施の形態にかかる不揮発性半導体記憶装置１０においても、図２に示した処理が実施される。図２に示した処理については、実施の形態１で説明したので省略する。図２０は、図２のステップＳ２の処理（フラッシュＲＯＭ（１１）の消去処理または書き込み処理）を詳細に説明するためのフローチャートである。図２０は、実施の形態２で説明した図１２に対応している。
【０１６４】
図２０に示すように、まず、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度に基づいて、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎをそれぞれ算出する（ステップＳ１４１、Ｓ１４２）。ここで、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎは、フラッシュＲＯＭ（１１）の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【０１６５】
例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の温度と、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎとを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の温度とを用いることで、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎをそれぞれ決定することができる。なお、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理時に印加されるパルス電圧は所定の値Ｖ_ｆｉｘに固定されている。
【０１６６】
次に、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘおよび仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎを補正するための基準補正値（パルス幅）Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１をそれぞれ算出する（ステップＳ１４３）。例えば、書き換え制御部１２は、フラッシュＲＯＭ（１１）の総書き換え回数と、基準補正値Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１とを対応づけた情報（例えば、テーブルや計算式）を備えている。そして、書き換え制御部１２は、この情報と、フラッシュＲＯＭ（１１）の総書き換え回数とを用いることで、基準補正値Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１をそれぞれ決定することができる。
【０１６７】
フラッシュＲＯＭ（１１）の書き換え回数が増加すると、フラッシュＲＯＭ（１１）の書き換え処理に要する時間が増加する。一例を示すと、フラッシュＲＯＭ（１１）の書き換え回数が１０００回を越えると書き換え時間は増大する。そのため、書き換え制御部１２は、書き換え回数が１０００回以上の場合に基準補正値（パルス幅）Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１を段階的に増加させることができる。
【０１６８】
その後、書き換え制御部１２は、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘ、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎ、および基準補正値Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１に基づいて、最大パルス幅Ｗｍａｘおよび最小パルス幅Ｗｍｉｎを算出する（ステップＳ１４４）。以降、ステップＳ１４５〜ステップＳ１５２については、実施の形態２で説明した図１２のステップＳ４５〜ステップＳ５２と同様であるので、重複した説明は省略する。
【０１６９】
次に、図２０のステップＳ１４４の処理、つまり、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘ、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎ、および基準補正値Ｗｍａｘ_ｃ_ｃ１、Ｗｍｉｎ_ｃ_ｃ１に基づいて、最大パルス幅Ｗｍａｘおよび最小パルス幅Ｗｍｉｎを算出する処理について、図２１を用いて詳細に説明する。
【０１７０】
まず、書き換え制御部１２は、図２０のステップＳ１４１で求めた仮最大パルス幅Ｗｔｔｍｐ_ｍａｘに基づき、図２０のステップＳ１４３で求めた基準補正値Ｗｍａｘ_ｃ_ｃ１の調整値Ｗｍａｘ_ｃ_ａを算出する（ステップＳ１６１）。例えば、書き換え制御部１２は、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘと、調整値Ｗｍａｘ_ｃ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘとを用いることで、調整値Ｗｍａｘ_ｃ_ａを決定することができる。具体的に説明すると、調整値Ｗｍａｘ_ｃ_ａは以下の式を用いて求めることができる。
【０１７１】
Ｗｍａｘ_ｃ_ａ＝ｍ（Ｗｔｂａｓｅ−Ｗｔｔｍｐ_ｍａｘ）  ・・・（式７）
【０１７２】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｗｔｂａｓｅは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの総書き換え回数と基準補正値Ｗｍａｘ_ｃ_ｃ１との関係を求める際に用いられたパルス幅である。また、Ｗｔｔｍｐ_ｍａｘは、仮最大パルス幅である。
【０１７３】
このように、調整値Ｗｍａｘ_ｃ_ａは、基準補正値Ｗｍａｘ_ｃ_ｃ１を決定した際のパルス幅Ｗｔｂａｓｅから仮最大パルス幅Ｗｔｔｍｐ_ｍａｘを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１７４】
次に、基準補正値Ｗｍａｘ_ｃ_ｃ１を調整値Ｗｍａｘ_ｃ_ａで補正することで、最大パルス幅補正値Ｗｍａｘ_ｃ_ｃを求める（ステップＳ１６２）。つまり、最大パルス幅補正値Ｗｍａｘ_ｃ_ｃ＝基準補正値Ｗｍａｘ_ｃ_ｃ１＋調整値Ｗｍａｘ_ｃ_ａを計算することで、最大パルス幅補正値Ｗｍａｘ_ｃ_ｃを求めることができる。ここで、最大パルス幅補正値Ｗｍａｘ_ｃ_ｃは、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘを補正するための補正値である。
【０１７５】
次に、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘを最大パルス幅補正値Ｗｍａｘ_ｃ_ｃで補正することで、最大パルス幅Ｗｍａｘを求める（ステップＳ１６３）。つまり、最大パルス幅Ｗｍａｘ＝仮最大パルス幅Ｗｔｔｍｐ_ｍａｘ＋最大パルス幅補正値Ｗｍａｘ_ｃ_ｃを計算することで、最大パルス幅Ｗｍａｘを求めることができる。
【０１７６】
以上で説明した処理により、図２０のステップＳ１４５で用いられる最大パルス幅Ｗｍａｘを求めることができる。
【０１７７】
続いて、最小パルス幅Ｗｍｉｎを算出する処理について説明する。なお、最小パルス幅Ｗｍｉｎを算出する処理についても、上記で説明した最大パルス幅Ｗｍａｘを算出する処理と基本的に同様である。
【０１７８】
まず、書き換え制御部１２は、図２０のステップＳ１４２で求めた仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎに基づき、図２０のステップＳ１４３で求めた基準補正値Ｗｍｉｎ_ｃ_ｃ１の調整値Ｗｍｉｎ_ｃ_ａを算出する（ステップＳ１６４）。例えば、書き換え制御部１２は、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎと、調整値Ｗｍｉｎ_ｃ_ａとを対応づけた情報（例えば、テーブルや計算式）を備えており、この情報と、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎとを用いることで、調整値Ｗｍｉｎ_ｃ_ａを決定することができる。具体的に説明すると、調整値Ｗｍｉｎ_ｃ_ａは以下の式を用いて求めることができる。
【０１７９】
Ｗｍｉｎ_ｃ_ａ＝ｍ（Ｗｔｂａｓｅ−Ｗｔｔｍｐ_ｍｉｎ）  ・・・（式８）
【０１８０】
ここで、ｍはデバイスの特性係数（所定の係数）であり、フラッシュＲＯＭの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Ｗｔｂａｓｅは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュＲＯＭの製造時に、フラッシュＲＯＭの総書き換え回数と基準補正値Ｗｍｉｎ_ｃ_ｃ１との関係を求める際に用いられたパルス幅である。また、Ｗｔｔｍｐ_ｍｉｎは、仮最小パルス幅である。
【０１８１】
このように、調整値Ｗｍｉｎ_ｃ_ａは、基準補正値Ｗｍｉｎ_ｃ_ｃ１を決定した際のパルス幅Ｗｔｂａｓｅから仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎを減算した値に、所定の係数ｍを乗算することで求めることができる。
【０１８２】
次に、基準補正値Ｗｍｉｎ_ｃ_ｃ１を調整値Ｗｍｉｎ_ｃ_ａで補正することで、最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃを求める（ステップＳ１６５）。つまり、最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃ＝基準補正値Ｗｍｉｎ_ｃ_ｃ１＋調整値Ｗｍｉｎ_ｃ_ａを計算することで、最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃを求めることができる。ここで、最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃは、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎを補正するための補正値である。
【０１８３】
次に、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎを最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃで補正することで、最小パルス幅Ｗｍｉｎを求める（ステップＳ１６６）。つまり、最小パルス幅Ｗｍｉｎ＝仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎ＋最小パルス幅補正値Ｗｍｉｎ_ｃ_ｃを計算することで、最小パルス幅Ｗｍｉｎを求めることができる。
【０１８４】
以上で説明した処理により、図２０のステップＳ１４５で用いられる最小パルス幅Ｗｍｉｎを求めることができる。
【０１８５】
このように、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の温度に基づき仮のパルス幅Ｗｔｔｍｐ_ｍａｘ、Ｗｔｔｍｐ_ｍｉｎを決定し、更に、決定された仮のパルス幅Ｗｔｔｍｐ_ｍａｘ、Ｗｔｔｍｐ_ｍｉｎを、フラッシュＲＯＭ（１１）の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置１０では、フラッシュＲＯＭ（１１）の温度とフラッシュＲＯＭ（１１）の総書き換え回数の両方を考慮したパルス幅を用いて、フラッシュＲＯＭ（１１）の書き換え処理を実施することができる。
【０１８６】
このとき、フラッシュＲＯＭ（１１）に対する総書き換え回数に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Ｗｍａｘ_ｃ_ｃ１を、仮最大パルス幅Ｗｔｔｍｐ_ｍａｘに基づき算出された調整値Ｗｍａｘ_ｃ_ａを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Ｗｍｉｎ_ｃ_ｃ１を、仮最小パルス幅Ｗｔｔｍｐ_ｍｉｎに基づき算出された調整値Ｗｍｉｎ_ｃ_ａを用いて調整している。よって、本実施の形態では、フラッシュＲＯＭ（１１）の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【０１８７】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ（フラッシュＲＯＭ）の書き換え時にフラッシュＲＯＭに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュＲＯＭの書き換え時にリトライが発生することを抑制することができ、フラッシュＲＯＭの書き換え時間を短縮することができる。また、フラッシュＲＯＭの書き換え時に、フラッシュＲＯＭに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュＲＯＭの寿命を延ばすことができる。
【０１８８】
上述したように、実施の形態３では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス幅を固定し（Ｗ_ｆｉｘ）、フラッシュＲＯＭの温度とフラッシュＲＯＭの総書き換え回数とに基づきパルス電圧を設定する場合について説明した。また、実施の形態４では、フラッシュＲＯＭの書き換え処理時に印加される信号のパルス電圧を固定し（Ｖ_ｆｉｘ）、フラッシュＲＯＭの温度とフラッシュＲＯＭの総書き換え回数とに基づきパルス幅を設定する場合について説明した。
【０１８９】
つまり、実施の形態３および実施の形態４では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュＲＯＭの温度およびフラッシュＲＯＭの総書き換え回数に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュＲＯＭの温度およびフラッシュＲＯＭの総書き換え回数に基づき設定するようにしてもよい。この場合は、例えば、フラッシュＲＯＭの温度およびフラッシュＲＯＭの総書き換え回数に基づき、印加するパルス信号の積分値（つまり、パルス電圧とパルス幅とを乗算した値）を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュＲＯＭの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【０１９０】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【０１９１】
１０  不揮発性半導体記憶装置
１１  不揮発性半導体メモリ（フラッシュＲＯＭ）
１２  書き換え制御部
１３  温度検知部
１４  書き換え情報保持部
１５  端子
２０  書込装置
【図１】
2013080540.tif 000003
【図２】
2013080540.tif 000004
【図３】
2013080540.tif 000005
【図４】
2013080540.tif 000006
【図５】
2013080540.tif 000007
【図６】
2013080540.tif 000008
【図７】
2013080540.tif 000009
【図８】
2013080540.tif 000010
【図９】
2013080540.tif 000011
【図１０】
2013080540.tif 000012
【図１１】
2013080540.tif 000013
【図１２】
2013080540.tif 000014
【図１３】
2013080540.tif 000015
【図１４】
2013080540.tif 000016
【図１５】
2013080540.tif 000017
【図１６】
2013080540.tif 000018
【図１７】
2013080540.tif 000019
【図１８】
2013080540.tif 000020
【図１９】
2013080540.tif 000021
【図２０】
2013080540.tif 000022
【図２１】
2013080540.tif 000023
【図２２Ａ】
2013080540.tif 000024
【図２２Ｂ】
2013080540.tif 000025
【図２３】
2013080540.tif 000026
【図２４】
2013080540.tif 000027