不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法
【課題】不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加可能な不揮発性半導体記憶装置を提供することである。
【解決手段】本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリ11と、不揮発性半導体メモリ11の書き換えを制御する書き換え制御部12と、を備える。書き換え制御部12は、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定する。更に、決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリ11の温度に基づいて補正することで、書き換え時に不揮発性半導体メモリ11に印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【解決手段】本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリ11と、不揮発性半導体メモリ11の書き換えを制御する書き換え制御部12と、を備える。書き換え制御部12は、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定する。更に、決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリ11の温度に基づいて補正することで、書き換え時に不揮発性半導体メモリ11に印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関し、特に不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関する。
【背景技術】
【0002】
現在、プログラムやデータを格納しておくデバイスとして、不揮発性半導体メモリの一つであるフラッシュROM(Read Only Memory)が幅広く使われている。フラッシュROMは、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【0003】
このように、フラッシュROMは、書き換えを行う度にゲート絶縁膜に電流を流す必要があるため、本質的に劣化を避けることができない。このため、フラッシュROMはメモリ素子の劣化が進むと書き換えができなくなり、書き換え回数に限界があるという特徴がある。よって、書き換えの際にメモリ素子に対して適切なパルス電圧を適切なパルス幅で印加する技術が重要となってくる。
【0004】
図23は、特許文献1に開示されている半導体集積回路書き換えシステムに関する技術を説明するための図である。図23に示すように、半導体集積回路書き換えシステムは、半導体集積回路120および書き込みツール123を備える。半導体集積回路120は、フラッシュROM(121)、データテーブル126を備える書込制御回路122、および温度検知手段125を有する。書込ツール123は書込ツール制御回路124を有する。
【0005】
書込ツール123が備える書込ツール制御回路124は、書き込み/消去パルスのパルス幅または電圧レベルを補正する機能を有している。データテーブル126は、書き込み/消去パルスのパルス幅または電圧レベルの補正量と半導体集積回路120の環境温度(前記検知温度)との対応関係を記述している。半導体集積回路120に搭載されているフラッシュROM(121)における制御プログラムを書き換える際は、書込ツール123を半導体集積回路120に接続する。そして、半導体集積回路120に搭載の温度検知手段125によって半導体集積回路120自体の環境温度を直接的に検知する。書込ツール制御回路124は、この検知温度に基づいて書込制御回路122内のデータテーブル126を検索し、検知温度に応じた補正量を抽出する。そして、書込ツール制御回路124は、半導体集積回路120の書込制御回路122に供給すべき電源を制御する。
【0006】
このように、特許文献1に開示されている半導体集積回路書き換えシステムでは、半導体集積回路120の環境温度の変動に応じて書き込み/消去パルスのパルス幅または電圧を変更しながらフラッシュROM(121)の書き換えを行うので、温度変動の影響を受けることなしに、適正な書き込み/消去を行うことができる。
【0007】
図24は、特許文献2に開示されている不揮発性半導体メモリ装置に関する技術を説明するための図である。図24に示すように、特許文献2に開示されている不揮発性半導体メモリ装置は、メモリアレイ201と、デコード手段202と、データ検出手段203と、メモリ制御部211と、電圧生成手段212と、電源制御部213と、カウンタ214と、セレクタ215とを備える。
【0008】
メモリアレイ201は、フローティングゲートを有するMOS型のメモリセルが行方向および列方向に格子状に配置されたデータ格納領域であり、少なくとも1つのメモリセルを選択するデコード手段202と、メモリセルの状態を検出するデータ検出手段203が接続されている。メモリ制御部211は、データの読み出し、消去、書き込み等の動作モードを示す信号であるモード信号、メモリセルを指定するアドレス、及びモード信号により示される動作モードを実行するタイミングを知らせるタイミング信号に基づいて、デコード手段202、データ検出手段203、及びカウンタ214を制御する。また、メモリ制御部211は、カウンタ214のカウンタ値が所定の値に達したことを知らせる設定値超過信号を不揮発性半導体メモリ装置外部に出力する。
【0009】
カウンタ214は、メモリ制御部211により制御され、データの総書き換え回数をカウントする。セレクタ215は、メモリ制御部211により制御され、カウンタ214に対して、不揮発性半導体メモリ装置外部から入力されたカウント値を出力するとともに、カウンタ214から出力されたカウント値を不揮発性半導体メモリ装置外部に出力する。電源制御部213は、モード信号、及びカウンタ214から出力されるカウント値に基づいて電圧生成手段212を制御する。電圧生成手段212は、電源制御部213により制御され、所定の値の電圧を生成し、生成した電圧をデコード手段202に供給する。
【0010】
メモリ制御部211は、まず、カウンタ214、及びセレクタ215を制御し、セレクタ215の入出力ポートから現在の総書き換え回数を表すカウント値を入力し、カウンタ214に格納する。また、メモリ制御部211は、その後、データの書き換えが行われる毎にカウンタ214のカウント値をインクリメントする。次に、電源制御部213は、モード信号、及びカウンタ214のカウント値に基づいて、モード信号により示される動作モードに必要な電圧を昇圧して生成し、デコード手段202に供給するように電圧生成手段212を制御する。消去・書き込み時間は、総書き換え回数が増えると増大する。そのため、電源制御部213は、電圧生成手段212を制御して、例えば、999回目までは8Vを、劣化し始める1000回から9999回までは8.2Vを、更に劣化する10000回以上では8.4Vの電圧を、メモリ制御部211により制御されたデコード手段202で印加するようにトンネル電圧を段階的に増加させる。
【0011】
このように、特許文献2に開示されている不揮発性半導体メモリ装置では、総書き換え回数をカウンタ214でカウントし、データの総書き換え回数に基づいて、メモリセルに印加する電圧を制御することにより、書き換えを繰り返すことによる消去時間、及び書き込み時間の劣化を防止し、書き換え時間を平均化することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2002−367382号公報
【特許文献2】特開2002−133887号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1に開示されている技術では、半導体集積回路120の環境温度の変動に応じて書き込み/消去パルスのパルス幅または電圧を変更している。よって、フラッシュROM(121)の書き換えを行う際に、温度変動の影響を低減することができる。しかしながら、特許文献1に開示されている技術では、フラッシュROM(121)の総書き換え回数が考慮されていないため、フラッシュROM(121)の劣化が進んだ場合に、印加するパルス電圧が不足するために書き換え時に再書き換え処理(リトライ)が発生してしまい、書き換え時間が長くなってしまうという問題がある。
【0014】
特許文献2に開示されている技術では、総書き換え回数をカウンタ214でカウントし、データの総書き換え回数に基づいて、フラッシュROM(メモリセル)に印加する電圧を制御することで、フラッシュROMを書き換える際の印加電圧を最適な値とすることができる。しかしながら、特許文献2に開示されている技術では、フラッシュROMの温度が変化した場合、場合によっては、フラッシュROMの書き換え時に印加する電圧が不足し、これによりリトライが発生して書き換え時間が長くなるという問題がある。また、フラッシュROMの温度が変化した場合、場合によってはフラッシュROMに過剰な電圧が印加され、フラッシュROMの劣化を早めてしまうという問題がある。
【0015】
つまり、フラッシュROMの書き換えに必要な電圧は、フラッシュROMの温度とフラッシュROMの総書き換え回数の影響を受けるが、上記特許文献1および2では、これらのうちの1つしか考慮されていなかったため、フラッシュROMの書き換え時に適切なパルス電圧および適切なパルス幅を印加することができないという問題があった。
【0016】
図22A、図22Bは、本発明の課題を説明するための図である。図22A、図22Bに示すパルス電圧およびパルス幅は、フラッシュROMの書き換え時にフラッシュROMを構成する素子に印加するパルス電圧およびパルス幅を示している。図22Aに示す場合は、フラッシュROMの書き換えに必要なパルス電圧はVrであるため、Vrよりも高い電圧が過剰な電圧となる。この過剰な電圧は、フラッシュROMの劣化の原因となる。一方、図22Bに示す場合は、フラッシュROMの書き換え時に印加されるパルス電圧が、書き換えに必要なパルス電圧Vrよりも小さいため、リトライが発生してしまい、書き換え時間が長くなる
【0017】
以上で説明したように、特許文献1および特許文献2に開示されている技術では、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができないという問題があった。
【課題を解決するための手段】
【0018】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【0019】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0020】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【0021】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0022】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【0023】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0024】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【0025】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【発明の効果】
【0026】
本発明により、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。
【図面の簡単な説明】
【0027】
【図1】実施の形態1にかかる不揮発性半導体記憶装置を示すブロック図である。
【図2】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図3】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図4】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図5】実施の形態1にかかる不揮発性半導体記憶装置において使用されるパラメータの一例を示す表である。
【図6】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図7】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図8】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図9】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図10】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図11】本発明の効果を説明するための図である。
【図12】実施の形態2にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図13】実施の形態2にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図14】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図15】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図16】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図17】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図18】実施の形態3にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図19】実施の形態3にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図20】実施の形態4にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図21】実施の形態4にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図22A】本発明の課題を説明するための図である。
【図22B】本発明の課題を説明するための図である。
【図23】特許文献1に開示されている技術を説明するための図である。
【図24】特許文献2に開示されている技術を説明するための図である。
【発明を実施するための形態】
【0028】
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態にかかる不揮発性半導体記憶装置を示すブロック図である。図1に示すように、本実施の形態にかかる不揮発性半導体記憶装置10は、不揮発性半導体メモリ(フラッシュROM)11と、書き換え制御部12と、温度検知部13と、書き換え情報保持部14とを備える。不揮発性半導体メモリ11に保持されている情報を書き換える際は、端子15を介して書込装置20が接続される。
【0029】
不揮発性半導体メモリ11は、電源供給がなくなった場合であっても記憶されている情報を保持することができる半導体メモリである。不揮発性半導体メモリ11としては、例えばフラッシュROMがある。以下では、不揮発性半導体メモリをフラッシュROMと記載する。フラッシュROM(11)は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換えることができる半導体メモリである。
【0030】
フラッシュROM(11)は、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【0031】
例えば、フラッシュROM(11)のデータの書き換え処理は、データの消去とデータの書き込みにより実施される。フラッシュROM(11)のメモリ素子がフローティングゲートを有するMOS型の素子である場合は、以下のようにしてフラッシュROM(11)へのデータの書き換え処理を実施する。
【0032】
フラッシュROM(11)に格納されているデータを消去する場合は、メモリ素子のフローティングゲートに電子を注入し、メモリ素子の閾値電圧を上昇させる。フローティングゲートへの電子の注入は、例えば、メモリ素子のゲート電圧を高く設定し(例えば、10V)、ドレイン、ソース、基板の電圧を低く設定(例えば、−8V)することで実施することができる。
【0033】
一方、フラッシュROM(11)にデータを書き込む場合は、メモリ素子のフローティングゲートから電子を放出させ、メモリ素子の閾値電圧を下げる。フローティングゲートから電子を放出させるには、例えば、メモリ素子のゲート電圧を低く設定し(例えば、−10V)、ドレインの電圧を高く設定(例えば、6V)することで実施することができる。
【0034】
フラッシュROM(11)は書き換え制御部12と接続されており、書き換え制御部12からの信号に基づき書き換え処理が実施される。また、フラッシュROM(11)は端子(不図示)を介して、不揮発性半導体記憶装置10の外部に設けられているCPU等の外部装置と接続されている。
【0035】
書き換え制御部12は、フラッシュROM(11)の書き換えを制御する。フラッシュROM(11)の書き換えを実施する際、書き換え制御部12は端子15を介して書込装置20と接続され、書込装置20からの命令に基づき、フラッシュROM(11)の書き換え(つまり、消去処理または書き込み処理)を実施する。また、書き換え制御部12は、温度検知部13と書き換え情報保持部14と接続されている。フラッシュROM(11)の書き換えを実施する際、書き換え制御部12は、温度検知部13から出力されたフラッシュROM(11)の温度と、書き換え情報保持部14から出力されたフラッシュROM(11)の総書き換え回数とを用いて、フラッシュROM(11)を書き換える際のパルス電圧やパルス幅を決定することができる。
【0036】
また、書き換え制御部12は、フラッシュROM(11)の書き換え処理の終了後、書き換え処理の結果を書込装置20に返すことができる。なお、図1では、書き換え制御部12が、不揮発性半導体記憶装置10に内蔵されている温度検知部13および書き換え情報保持部14からそれぞれ、フラッシュROM(11)の温度およびフラッシュROM(11)の総書き換え回数を取得している場合を示した。しかし、書き換え制御部12は、フラッシュROM(11)の温度およびフラッシュROM(11)の総書き換え回数を、不揮発性半導体記憶装置10の外部に設けられている回路等から取得してもよい。この場合は、不揮発性半導体記憶装置10に温度検知部13および書き換え情報保持部14を設ける必要はない。
【0037】
温度検知部13は、フラッシュROM(11)の温度を検知し、検知した温度を書き換え制御部12に出力する。温度検知部13は、例えばサーミスタや熱電対などの温度センサを備えている。
【0038】
書き換え情報保持部14は、フラッシュROM(11)の総書き換え回数を保持する。書き換え情報保持部14は、例えばカウンタを備える。そして、書き換え制御部12がフラッシュROM(11)に対して書き換え処理を実施する際に、書き換え制御部12が書き換え情報保持部14に信号を出力し、この信号を受信した回数をカウンタでカウントすることで、フラッシュROM(11)の総書き換え回数を取得することができる。なお、書き換え情報保持部14は、フラッシュROM(11)の消去処理の回数をカウントする消去回数カウンタと、フラッシュROM(11)への書き込み処理の回数をカウントする書き込み回数カウンタとを独立して備えていてもよい。
【0039】
書込装置20は、フラッシュROM(11)に保持されている情報を書き換える際に、端子15を介して書き換え制御部12と接続される。書込装置20は、書き換え制御部12に対してフラッシュROM(11)の消去処理および書き込み処理の命令や、書き込まれるデータを出力する。また、書込装置20は、フラッシュROM(11)の書き換え処理の終了後に、書き換え制御部12から出力された書き換え処理の結果を受信する。なお、書込装置20は、フラッシュROM(11)に保持されている情報を書き換えるとき以外は、不揮発性半導体記憶装置10から切り離されている。
【0040】
次に、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。図2は、本実施の形態にかかる不揮発性半導体記憶装置10の動作を説明するためのフローチャートであり、フラッシュROM(11)の書き換え処理の大まかな流れを示している。
【0041】
フラッシュROM(11)の書き換え処理を実施する際、まず書込装置20から不揮発性半導体記憶装置10の書き換え制御部12に、消去命令または書き込み命令を発行する(ステップS1)。次に、書き換え制御部12は、書込装置20から出力された消去命令または書き込み命令を受け取ると、フラッシュROM(11)に対して消去処理または書き込み処理を実施する(ステップS2)。なお、ステップS2の処理の詳細については後述する。そして、書き換え制御部12は、フラッシュROM(11)に対する消去処理または書き込み処理が終了すると、書込装置20に対して消去結果または書き込み結果を通知する(ステップS3)。これにより、フラッシュROM(11)の書き換え処理が終了する。
【0042】
次に、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)について、図3を用いて詳細に説明する。まず、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minをそれぞれ算出する(ステップS11、S12)。ここで、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minは、フラッシュROM(11)の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【0043】
例えば、書き換え制御部12は、フラッシュROM(11)の書き換え回数と、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数(現在の書き換え回数)とを用いることで、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は所定の値W_fixに固定されている。
【0044】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間が増大する。そのため、書き換え制御部12は、図5に示す表のように、書き換え回数が1000回以上の場合に仮最大パルス電圧Vtmp_maxを段階的に増加させている。つまり、書き換え制御部12は、図5に示すように、消去時間にあまり変動がない999回目までは10Vを、メモリ素子が劣化し始める1000回以降では、1000回毎に0.2Vずつ仮最大パルス電圧Vtmp_maxを段階的に増加させている。仮最小パルス電圧Vtmp_minについても同様に、1000回以降において仮最小パルス電圧Vtmp_minを段階的に増加させることができる。
【0045】
なお、図5に示す表は、フラッシュROM(11)の消去処理においてメモリ素子のゲートに印加される電圧を例示している。例えば、フラッシュROM(11)の書き込み処理の場合は、メモリ素子のゲートに印加される電圧は、負の電圧となる。この場合は、フラッシュROM(11)の総書き換え回数が1000回以上となった際に、仮最大パルス電圧Vtmp_max(負の値)および仮最小パルス電圧Vtmp_min(負の値)が段階的に小さくなるように(つまり、電圧の絶対値が大きくなるように)する。
【0046】
次に、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minを補正するための基準補正値(電圧値)Vmax_t_c1、Vmin_t_c1をそれぞれ算出する(ステップS13)。例えば、書き換え制御部12は、フラッシュROM(11)の温度と、基準補正値Vmax_t_c1、Vmin_t_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、基準補正値Vmax_t_c1、Vmin_t_c1をそれぞれ決定することができる。
【0047】
例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、消去処理において印加されるパルス電圧が高くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が高くなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、消去処理において印加されるパルス電圧が低くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が低くなる)。
【0048】
また、例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、書き込み処理において印加されるパルス電圧が低くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が低くなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、書き込み処理において印加されるパルス電圧が高くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が高くなる)。
【0049】
その後、書き換え制御部12は、仮最大パルス電圧Vtmp_max、仮最小パルス電圧Vtmp_min、および基準補正値Vmax_t_c1、Vmin_t_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する(ステップS14)。なお、最大パルス電圧Vmaxおよび最小パルス電圧Vminの算出方法の詳細については、後述する。
【0050】
ここで、最大パルス電圧VmaxはフラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最大値である。また、最小パルス電圧VminはフラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最小値である。
【0051】
次に、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧を設定する(ステップS15)。このとき、メモリ素子に印加されるパルス電圧は、最小パルス電圧Vminよりも大きく、且つ最大パルス電圧Vmaxよりも小さい範囲で設定される。
【0052】
そして、設定されたパルス電圧をメモリ素子に印加することで、フラッシュROM(11)の消去処理または書き込み処理を実施する(ステップS16)。その後、フラッシュROM(11)の消去処理または書き込み処理が成功したか否かを判定する(ベリファイ処理:ステップS17)。フラッシュROM(11)の消去処理または書き込み処理が失敗した場合(ステップS18:No)は、メモリ素子に印加されるパルス電圧を、最小パルス電圧Vminよりも大きく、且つ最大パルス電圧Vmaxよりも小さい範囲で再設定し(ステップS19)、ステップS16以降を繰り返す。
【0053】
つまり、例えば、図6の左図に示すように、ステップS15で設定されたパルス電圧V5が低すぎるために、フラッシュROM(11)の消去処理または書き込み処理においてリトライが発生した場合(ステップS18:No)は、図6の右図に示すように、パルス電圧V5よりも大きいパルス電圧V6を再設定する(ステップS19)。このとき、再設定されたパルス電圧が所定の設定範囲内(Vmin〜Vmax)となるように設定する。
【0054】
一方、フラッシュROM(11)の消去処理または書き込み処理が成功した場合(ステップS18:Yes)は、書き換え情報保持部14に保持されている情報を現在の総書き換え回数で更新する(ステップS20)。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する(ステップS21)。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合(ステップS21:No)、消去処理または書き込み処理を実施するアドレスを更新し(ステップS22)、ステップS11以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合(ステップS21:Yes)、フラッシュROM(11)の消去処理または書き込み処理を終了し、図2のステップS3へと進む。
【0055】
なお、ステップS18において、フラッシュROM(11)の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップS15で設定されるパルス電圧を低めに設定してもよい。つまり、図7の左図に示すように、ステップS15で設定されたパルス電圧V7が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図7の右図に示すように、パルス電圧V7よりも低いパルス電圧V8を設定してもよい。このとき、設定されたパルス電圧は所定の設定範囲内(Vmin〜Vmax)となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュROM(11)の特性に最適なパルス電圧を探索し、最適なパルス電圧を印加することが可能となる。
【0056】
次に、図3のステップS14の処理、つまり、仮最大パルス電圧Vtmp_max、仮最小パルス電圧Vtmp_min、および基準補正値Vmax_t_c1、Vmin_t_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する処理について、図4を用いて詳細に説明する。
【0057】
まず、書き換え制御部12は、図3のステップS11で求めた仮最大パルス電圧Vtmp_maxに基づき、図3のステップS13で求めた基準補正値Vmax_t_c1の調整値Vmax_t_aを算出する(ステップS31)。例えば、書き換え制御部12は、仮最大パルス電圧Vtmp_maxと、調整値Vmax_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス電圧Vtmp_maxとを用いることで、調整値Vmax_t_aを決定することができる。具体的に説明すると、調整値Vmax_t_aは以下の式を用いて求めることができる。
【0058】
Vmax_t_a=m(Vbase−Vtmp_max) ・・・(式1)
【0059】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vbaseは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Vmax_t_c1との関係を求める際に用いられたパルス電圧である。また、Vtmp_maxは、仮最大パルス電圧である。
【0060】
このように、調整値Vmax_t_aは、基準補正値Vmax_t_c1を決定した際のパルス電圧Vbaseから仮最大パルス電圧Vtmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0061】
図5に、書き換え情報保持部14に保持されている総書き換え回数、仮最大パルス電圧Vtmp_max、温度補正情報測定時のパルス電圧Vbase、デバイス特性係数m、および調整値Vmax_t_aの一例を示す。図5に示すように、パルス電圧Vbaseは11(V)で一定であり、デバイス特性係数mは0.3で一定である。図5に示す例では、フラッシュROMの総書き換え回数が増加するにしたがい、仮最大パルス電圧Vtmp_maxが増加する。このため、式1より、調整値Vmax_t_aは、フラッシュROMの総書き換え回数が増加するにしたがい、徐々に小さくなる関係がある。
【0062】
次に、基準補正値Vmax_t_c1を調整値Vmax_t_aで補正することで、最大パルス電圧補正値Vmax_t_cを求める(ステップS32)。つまり、最大パルス電圧補正値Vmax_t_c=基準補正値Vmax_t_c1+調整値Vmax_t_aを計算することで、最大パルス電圧補正値Vmax_t_cを求めることができる。ここで、最大パルス電圧補正値Vmax_t_cは、仮最大パルス電圧Vtmp_maxを補正するための補正値である。
【0063】
次に、仮最大パルス電圧Vtmp_maxを最大パルス電圧補正値Vmax_t_cで補正することで、最大パルス電圧Vmaxを求める(ステップS33)。つまり、最大パルス電圧Vmax=仮最大パルス電圧Vtmp_max+最大パルス電圧補正値Vmax_t_cを計算することで、最大パルス電圧Vmaxを求めることができる。
【0064】
以上で説明した処理により、図3のステップS15で用いられる最大パルス電圧Vmaxを求めることができる。
【0065】
続いて、最小パルス電圧Vminを算出する処理について説明する。なお、最小パルス電圧Vminを算出する処理についても、上記で説明した最大パルス電圧Vmaxを算出する処理と基本的に同様である。
【0066】
まず、書き換え制御部12は、図3のステップS12で求めた仮最小パルス電圧Vtmp_minに基づき、図3のステップS13で求めた基準補正値Vmin_t_c1の調整値Vmin_t_aを算出する(ステップS34)。例えば、書き換え制御部12は、仮最小パルス電圧Vtmp_minと、調整値Vmin_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス電圧Vtmp_minとを用いることで、調整値Vmin_t_aを決定することができる。具体的に説明すると、調整値Vmin_t_aは以下の式を用いて求めることができる。
【0067】
Vmin_t_a=m(Vbase−Vtmp_min) ・・・(式2)
【0068】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vbaseは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Vmin_t_c1との関係を求める際に用いられたパルス電圧である。また、Vtmp_minは、仮最小パルス電圧である。
【0069】
このように、調整値Vmin_t_aは、基準補正値Vmin_t_c1を決定した際のパルス電圧Vbaseから仮最小パルス電圧Vtmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0070】
次に、基準補正値Vmin_t_c1を調整値Vmin_t_aで補正することで、最小パルス電圧補正値Vmin_t_cを求める(ステップS35)。つまり、最小パルス電圧補正値Vmin_t_c=基準補正値Vmin_t_c1+調整値Vmin_t_aを計算することで、最小パルス電圧補正値Vmin_t_cを求めることができる。ここで、最小パルス電圧補正値Vmin_t_cは、仮最小パルス電圧Vtmp_minを補正するための補正値である。
【0071】
次に、仮最小パルス電圧Vtmp_minを最小パルス電圧補正値Vmin_t_cで補正することで、最小パルス電圧Vminを求める(ステップS36)。つまり、最小パルス電圧Vmin=仮最小パルス電圧Vtmp_min+最小パルス電圧補正値Vmin_t_cを計算することで、最小パルス電圧Vminを求めることができる。
【0072】
以上で説明した処理により、図3のステップS15で用いられる最小パルス電圧Vminを求めることができる。
【0073】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数に基づき仮のパルス電圧Vtmp_max、Vtmp_minを決定し、更に、決定された仮のパルス電圧Vtmp_max、Vtmp_minを、フラッシュROM(11)の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮したパルス電圧を用いて、フラッシュROM(11)の書き換え処理を実施することができる。なお、本明細書では、仮最大パルス電圧および仮最小パルス電圧を総称して仮のパルス電圧と記載する。同様に、最大パルス電圧補正値および最小パルス電圧補正値を総称してパルス電圧補正値と記載する。
【0074】
このとき、フラッシュROM(11)に対する温度に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Vmax_t_c1を、仮最大パルス電圧Vtmp_maxに基づき算出された調整値Vmax_t_aを用いて調整している。同様に、温度情報に基づき算出された基準補正値Vmin_t_c1を、仮最小パルス電圧Vtmp_minに基づき算出された調整値Vmin_t_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【0075】
図8は、本実施の形態にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。なお、図8〜図10においても、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は固定値W_fixである。図8に示すように、例えば、フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合(例えば、特許文献2に開示されている技術を用いた場合)は、フラッシュROM(11)の書き換えの際のパルス電圧の最大値はVtmp_maxであった。
【0076】
一方、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧の最大値を、Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ低いVmaxとすることができる。
【0077】
図9は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス電圧を説明するための図である(補正によりパルス電圧Vmax、Vminが低くなる場合)。本実施の形態では、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス電圧Vtmp_max、Vtmp_minを算出する。このとき算出された仮のパルス電圧Vtmp_max、Vtmp_minは、パルス電圧Vmax、Vminよりも高い値である。
【0078】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス電圧補正値Vmax_t_c、Vmin_t_cを用いて、仮のパルス電圧Vtmp_max、Vtmp_minを補正する。これにより、最大パルス電圧Vmaxを、仮最大パルス電圧Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ低い値とすることができる。また、最小パルス電圧Vminを、仮最小パルス電圧Vtmp_minよりも最小パルス電圧補正値Vmin_t_cだけ低い値とすることができる。
【0079】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、例えばV2に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、V2よりも低いV1とすることができる。その結果、低い電圧でフラッシュROM(11)の書き換えを実施することができるので、フラッシュROM(11)の劣化を抑えることができ、フラッシュROM(11)の書き換え回数を増やすことができる。
【0080】
図10は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス電圧を説明するための図である(補正によりパルス電圧Vmax、Vminが高くなる場合)。この場合も同様に、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス電圧Vtmp_max、Vtmp_minを算出する。このとき算出された仮のパルス電圧Vtmp_max、Vtmp_minは、パルス電圧Vmax、Vminよりも低い値である。
【0081】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス電圧補正値Vmax_t_c、Vmin_t_cを用いて、仮のパルス電圧Vtmp_max、Vtmp_minを補正する。これにより、最大パルス電圧Vmaxを、仮最大パルス電圧Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ高い値とすることができる。また、最小パルス電圧Vminを、仮最小パルス電圧Vtmp_minよりも最小パルス電圧補正値Vmin_t_cだけ高い値とすることができる。
【0082】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、例えばV4に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、V4よりも高いV3とすることができる。その結果、パルス電圧が低すぎてフラッシュROM(11)のリトライが発生することを抑制することができ、フラッシュROM(11)の書き換え時間を短縮することができる。
【0083】
次に、図11を用いて本発明の効果について説明する。図11は、フラッシュROMの総書き換え回数と印加するパルス電圧との関係を示している。図11には、理想のパルス電圧(A)、本発明を用いてパルス電圧を算出した場合(B)、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)、および特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)を示している。
【0084】
つまり、本発明を用いてパルス電圧を算出した場合(B)は、上記のように、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づいてパルス電圧を算出した場合を示している。また、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)は、フラッシュROMの温度に基づいてパルス電圧を算出した場合を示している。また、特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)は、フラッシュROMの総書き換え回数に基づきパルス電圧を算出した場合を示している。
【0085】
なお、本発明を用いてパルス電圧を算出する際、デバイス特性係数をm=0.3、基準補正値(Vmax_t_c1)を0.2V、温度補正情報測定時のパルス電圧をVbase=11Vとし、総書き換え回数から算出した仮パルス電圧(Vtmp_max)を10V〜12Vに変化させている。このとき、Vbaseから1V変化したときに0.3Vだけ基準補正値(Vmax_t_c1)に影響があると仮定して、デバイス特性係数を0.3とした。
【0086】
図11に示すように、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)は、総書き換え回数によってパルス電圧がほとんど変化しない。また、特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)は、総書き換え回数に応じてパルス電圧が変化するが、特に総書き換え回数が7000回以下の領域において、理想のパルス電圧(A)と大きく乖離しているといえる。
【0087】
これに対して本発明を用いてパルス電圧を算出した場合(B)は、算出されたパルス電圧が理想のパルス電圧(A)と近い値であるといえる。よって、上記で説明した本実施の形態にかかる発明を用いることで、フラッシュROMの書き換え処理の際のパルス電圧として、理想のパルス電圧に近い値を設定することができる。
【0088】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、フラッシュROMに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰な電圧が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0089】
<実施の形態2>
次に、本発明の実施の形態2について説明する。実施の形態1では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス電圧を設定していた。これに対して本実施の形態では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス幅を設定している。
【0090】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0091】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図12は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図12は、実施の形態1で説明した図3に対応している。
【0092】
図12に示すように、まず、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minをそれぞれ算出する(ステップS41、S42)。ここで、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minは、フラッシュROM(11)の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【0093】
例えば、書き換え制御部12は、フラッシュROM(11)の書き換え回数と、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数(現在の書き換え回数)とを用いることで、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加されるパルス電圧は所定の値V_fixに固定されている。
【0094】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、1000回以降において仮最大パルス幅Wtmp_maxを段階的に増加させることができる。
【0095】
次に、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minを補正するための基準補正値(パルス幅)Wmax_t_c1、Wmin_t_c1をそれぞれ算出する(ステップS43)。例えば、書き換え制御部12は、フラッシュROM(11)の温度と、基準補正値Wmax_t_c1、Wmin_t_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、基準補正値Wmax_t_c1、Wmin_t_c1をそれぞれ決定することができる。
【0096】
例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、消去処理におけるパルス幅が大きくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が大きくなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、消去処理におけるパルス幅が小さくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が小さくなる)。
【0097】
また、例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、書き込み処理におけるパルス幅が小さくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が小さくなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、書き込み処理におけるパルス幅が大きくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が大きくなる)。
【0098】
その後、書き換え制御部12は、仮最大パルス幅Wtmp_max、仮最小パルス幅Wtmp_min、および基準補正値Wmax_t_c1、Wmin_t_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する(ステップS44)。なお、最大パルス幅Wmaxおよび最小パルス幅Wminの算出方法の詳細については、後述する。
【0099】
ここで、最大パルス幅Wmaxは、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最大値である。また、最小パルス幅Wminは、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最小値である。
【0100】
次に、フラッシュROM(11)の消去処理または書き込み処理時に、メモリ素子に印加される信号のパルス幅を設定する(ステップS45)。このとき、メモリ素子に印加される信号のパルス幅は、最小パルス幅Wminよりも大きく、且つ最大パルス幅Wmaxよりも小さい範囲で設定される。
【0101】
そして、設定されたパルス幅の信号をメモリ素子に印加することで、フラッシュROM(11)の消去処理または書き込み処理を実施する(ステップS46)。その後、フラッシュROM(11)の消去処理または書き込み処理が成功したか否かを判定する(ベリファイ処理:ステップS47)。フラッシュROM(11)の消去処理または書き込み処理が失敗した場合(ステップS48:No)は、メモリ素子に印加される信号のパルス幅を、最小パルス幅Wminよりも大きく、且つ最大パルス幅Wmaxよりも小さい範囲で再設定し(ステップS49)、ステップS46からステップS48を繰り返す。
【0102】
つまり、例えば、図14の左図に示すように、ステップS45で設定されたパルス幅W5が小さすぎるために、フラッシュROM(11)の消去処理または書き込み処理においてリトライが発生した場合(ステップS48:No)は、図14の右図に示すように、パルス幅W5よりも大きいパルス幅W6を再設定する(ステップS49)。このとき、再設定されたパルス幅が所定の設定範囲内(Wmin〜Wmax)となるように設定する。
【0103】
一方、フラッシュROM(11)の消去処理または書き込み処理が成功した場合(ステップS48:Yes)は、書き換え情報保持部14に保持されている情報を現在の総書き換え回数で更新する(ステップS50)。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する(ステップS51)。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合(ステップS51:No)、消去処理または書き込み処理を実施するアドレスを更新し(ステップS52)、ステップS41以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合(ステップS51:Yes)、フラッシュROM(11)の消去処理または書き込み処理を終了し、図2のステップS3へと進む。
【0104】
なお、ステップS48において、フラッシュROM(11)の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップS45で設定されるパルス幅を小さめに設定してもよい。つまり、図15の左図に示すように、ステップS45で設定されたパルス幅W7が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図15の右図に示すように、パルス幅W7よりも小さいパルス幅W8を設定してもよい。このとき、設定されたパルス幅は所定の設定範囲内(Wmin〜Wmax)となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュROM(11)の特性に最適なパルス幅を探索し、最適なパルス幅の信号を印加することが可能となる。
【0105】
次に、図12のステップS44の処理、つまり、仮最大パルス幅Wtmp_max、仮最小パルス幅Wtmp_min、および基準補正値Wmax_t_c1、Wmin_t_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する処理について、図13を用いて詳細に説明する。
【0106】
まず、書き換え制御部12は、図12のステップS41で求めた仮最大パルス幅Wtmp_maxに基づき、図12のステップS43で求めた基準補正値Wmax_t_c1の調整値Wmax_t_aを算出する(ステップS61)。例えば、書き換え制御部12は、仮最大パルス幅Wtmp_maxと、調整値Wmax_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス幅Wtmp_maxとを用いることで、調整値Wmax_t_aを決定することができる。具体的に説明すると、調整値Wmax_t_aは以下の式を用いて求めることができる。
【0107】
Wmax_t_a=m(Wbase−Wtmp_max) ・・・(式3)
【0108】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wbaseは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Wmax_t_c1との関係を求める際に用いられたパルス幅である。また、Wtmp_maxは、仮最大パルス幅である。
【0109】
このように、調整値Wmax_t_aは、基準補正値Wmax_t_c1を決定した際のパルス幅Wbaseから仮最大パルス幅Wtmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0110】
次に、基準補正値Wmax_t_c1を調整値Wmax_t_aで補正することで、最大パルス幅補正値Wmax_t_cを求める(ステップS62)。つまり、最大パルス幅補正値Wmax_t_c=基準補正値Wmax_t_c1+調整値Wmax_t_aを計算することで、最大パルス幅補正値Wmax_t_cを求めることができる。ここで、最大パルス幅補正値Wmax_t_cは、仮最大パルス幅Wtmp_maxを補正するための補正値である。
【0111】
次に、仮最大パルス幅Wtmp_maxを最大パルス幅補正値Wmax_t_cで補正することで、最大パルス幅Wmaxを求める(ステップS63)。つまり、最大パルス幅Wmax=仮最大パルス幅Wtmp_max+最大パルス幅補正値Wmax_t_cを計算することで、最大パルス幅Wmaxを求めることができる。
【0112】
以上で説明した処理により、図12のステップS45で用いられる最大パルス幅Wmaxを求めることができる。
【0113】
続いて、最小パルス幅Wminを算出する処理について説明する。なお、最小パルス幅Wminを算出する処理についても、上記で説明した最大パルス幅Wmaxを算出する処理と基本的に同様である。
【0114】
まず、書き換え制御部12は、図12のステップS42で求めた仮最小パルス幅Wtmp_minに基づき、図12のステップS43で求めた基準補正値Wmin_t_c1の調整値Wmin_t_aを算出する(ステップS64)。例えば、書き換え制御部12は、仮最小パルス幅Wtmp_minと、調整値Wmin_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス幅Wtmp_minとを用いることで、調整値Wmin_t_aを決定することができる。具体的に説明すると、調整値Wmin_t_aは以下の式を用いて求めることができる。
【0115】
Wmin_t_a=m(Wbase−Wtmp_min) ・・・(式4)
【0116】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wbaseは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Wmin_t_c1との関係を求める際に用いられたパルス幅である。また、Wtmp_minは、仮最小パルス幅である。
【0117】
このように、調整値Wmin_t_aは、基準補正値Wmin_t_c1を決定した際のパルス幅Wbaseから仮最小パルス幅Wtmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0118】
次に、基準補正値Wmin_t_c1を調整値Wmin_t_aで補正することで、最小パルス幅補正値Wmin_t_cを求める(ステップS65)。つまり、最小パルス幅補正値Wmin_t_c=基準補正値Wmin_t_c1+調整値Wmin_t_aを計算することで、最小パルス幅補正値Wmin_t_cを求めることができる。ここで、最小パルス幅補正値Wmin_t_cは、仮最小パルス幅Wtmp_minを補正するための補正値である。
【0119】
次に、仮最小パルス幅Wtmp_minを最小パルス幅補正値Wmin_t_cで補正することで、最小パルス幅Wminを求める(ステップS66)。つまり、最小パルス幅Wmin=仮最小パルス幅Wtmp_min+最小パルス幅補正値Wmin_t_cを計算することで、最小パルス幅Wminを求めることができる。
【0120】
以上で説明した処理により、図12のステップS45で用いられる最小パルス幅Wminを求めることができる。
【0121】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数に基づき仮のパルス幅Wtmp_max、Wtmp_minを決定し、更に、決定された仮のパルス幅Wtmp_max、Wtmp_minを、フラッシュROM(11)の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮したパルス幅を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0122】
このとき、フラッシュROM(11)に対する温度に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Wmax_t_c1を、仮最大パルス幅Wtmp_maxに基づき算出された調整値Wmax_t_aを用いて調整している。同様に、温度情報に基づき算出された基準補正値Wmin_t_c1を、仮最小パルス幅Wtmp_minに基づき算出された調整値Wmin_t_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【0123】
図16は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス幅を説明するための図である(補正によりパルス幅Wmax、Wminが小さくなる場合)。本実施の形態では、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス幅Wtmp_max、Wtmp_minを算出する。このとき算出された仮のパルス幅Wtmp_max、Wtmp_minは、パルス幅Wmax、Wminよりも大きい値である。
【0124】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス幅補正値Wmax_t_c、Wmin_t_cを用いて、仮のパルス幅Wtmp_max、Wtmp_minを補正する。これにより、最大パルス幅Wmaxを、仮最大パルス幅Wtmp_maxよりも最大パルス幅補正値Wmax_t_cだけ小さい値とすることができる。また、最小パルス幅Wminを、仮最小パルス幅Wtmp_minよりも最小パルス幅補正値Wmin_t_cだけ小さい値とすることができる。
【0125】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、例えばW2に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、W2よりも小さいW1とすることができる。その結果、小さいパルス幅でフラッシュROM(11)の書き換えを実施することができるので、フラッシュROM(11)の劣化を抑えることができ、フラッシュROM(11)の書き換え回数を増やすことができる。
【0126】
図17は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス幅を説明するための図である(補正によりパルス幅Wmax、Wminが大きくなる場合)。この場合も同様に、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス幅Wtmp_max、Wtmp_minを算出する。このとき算出された仮のパルス幅Wtmp_max、Wtmp_minは、パルス幅Wmax、Wminよりも小さい値である。
【0127】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス幅補正値Wmax_t_c、Wmin_t_cを用いて、仮のパルス幅Wtmp_max、Wtmp_minを補正する。これにより、最大パルス幅Wmaxを、仮最大パルス幅Wtmp_maxよりも最大パルス幅補正値Wmax_t_cだけ大きい値とすることができる。また、最小パルス幅Wminを、仮最小パルス幅Wtmp_minよりも最小パルス幅補正値Wmin_t_cだけ大きい値とすることができる。
【0128】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、例えばW4に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、W4よりも大きいW3とすることができる。その結果、パルス幅が小さすぎてフラッシュROM(11)のリトライが発生することを抑制することができ、フラッシュROM(11)の書き換え時間を短縮することができる。
【0129】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時にフラッシュROMに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0130】
上述したように、実施の形態1では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス電圧を設定する場合について説明した。また、実施の形態2では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス幅を設定する場合について説明した。
【0131】
つまり、実施の形態1および実施の形態2では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき設定するようにしてもよい。この場合は、例えば、フラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき、印加するパルス信号の積分値(つまり、パルス電圧とパルス幅とを乗算した値)を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュROMの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【0132】
<実施の形態3>
次に、本発明の実施の形態3について説明する。実施の形態1および実施の形態2では、まず、フラッシュROMの総書き換え回数に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュROMの温度に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求めていた。
【0133】
以下に示す実施の形態3および実施の形態4では、まず、フラッシュROMの温度に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュROMの総書き換え回数に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求める場合について説明する。
【0134】
実施の形態3では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【0135】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0136】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図18は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図18は、実施の形態1で説明した図3に対応している。
【0137】
図18に示すように、まず、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minをそれぞれ算出する(ステップS111、S112)。ここで、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minは、フラッシュROM(11)の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【0138】
例えば、書き換え制御部12は、フラッシュROM(11)の温度と、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は所定の値W_fixに固定されている。
【0139】
次に、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minを補正するための基準補正値(電圧値)Vmax_c_c1、Vmin_c_c1をそれぞれ算出する(ステップS113)。例えば、書き換え制御部12は、フラッシュROM(11)の総書き換え回数と、基準補正値Vmax_c_c1、Vmin_c_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数とを用いることで、基準補正値Vmax_c_c1、Vmin_c_c1をそれぞれ決定することができる。
【0140】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、書き換え回数が1000回以上の場合に基準補正値(電圧値)Vmax_c_c1、Vmin_c_c1を段階的に増加させることができる。
【0141】
その後、書き換え制御部12は、仮最大パルス電圧Vttmp_max、仮最小パルス電圧Vttmp_min、および基準補正値Vmax_c_c1、Vmin_c_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する(ステップS114)。以降、ステップS115〜ステップS122については、実施の形態1で説明した図3のステップS15〜ステップS22と同様であるので、重複した説明は省略する。
【0142】
次に、図18のステップS114の処理、つまり、仮最大パルス電圧Vttmp_max、仮最小パルス電圧Vttmp_min、および基準補正値Vmax_c_c1、Vmin_c_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する処理について、図19を用いて詳細に説明する。
【0143】
まず、書き換え制御部12は、図18のステップS111で求めた仮最大パルス電圧Vttmp_maxに基づき、図18のステップS113で求めた基準補正値Vmax_c_c1の調整値Vmax_c_aを算出する(ステップS131)。例えば、書き換え制御部12は、仮最大パルス電圧Vttmp_maxと、調整値Vmax_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス電圧Vttmp_maxとを用いることで、調整値Vmax_c_aを決定することができる。具体的に説明すると、調整値Vmax_c_aは以下の式を用いて求めることができる。
【0144】
Vmax_c_a=m(Vtbase−Vttmp_max) ・・・(式5)
【0145】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vtbaseは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Vmax_c_c1との関係を求める際に用いられたパルス電圧である。また、Vttmp_maxは、仮最大パルス電圧である。
【0146】
このように、調整値Vmax_c_aは、基準補正値Vmax_c_c1を決定した際のパルス電圧Vtbaseから仮最大パルス電圧Vttmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0147】
次に、基準補正値Vmax_c_c1を調整値Vmax_c_aで補正することで、最大パルス電圧補正値Vmax_c_cを求める(ステップS132)。つまり、最大パルス電圧補正値Vmax_c_c=基準補正値Vmax_c_c1+調整値Vmax_c_aを計算することで、最大パルス電圧補正値Vmax_c_cを求めることができる。ここで、最大パルス電圧補正値Vmax_c_cは、仮最大パルス電圧Vttmp_maxを補正するための補正値である。
【0148】
次に、仮最大パルス電圧Vttmp_maxを最大パルス電圧補正値Vmax_c_cで補正することで、最大パルス電圧Vmaxを求める(ステップS133)。つまり、最大パルス電圧Vmax=仮最大パルス電圧Vttmp_max+最大パルス電圧補正値Vmax_c_cを計算することで、最大パルス電圧Vmaxを求めることができる。
【0149】
以上で説明した処理により、図18のステップS115で用いられる最大パルス電圧Vmaxを求めることができる。
【0150】
続いて、最小パルス電圧Vminを算出する処理について説明する。なお、最小パルス電圧Vminを算出する処理についても、上記で説明した最大パルス電圧Vmaxを算出する処理と基本的に同様である。
【0151】
まず、書き換え制御部12は、図18のステップS112で求めた仮最小パルス電圧Vttmp_minに基づき、図18のステップS113で求めた基準補正値Vmin_c_c1の調整値Vmin_c_aを算出する(ステップS134)。例えば、書き換え制御部12は、仮最小パルス電圧Vttmp_minと、調整値Vmin_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス電圧Vttmp_minとを用いることで、調整値Vmin_c_aを決定することができる。具体的に説明すると、調整値Vmin_c_aは以下の式を用いて求めることができる。
【0152】
Vmin_c_a=m(Vtbase−Vttmp_min) ・・・(式6)
【0153】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vtbaseは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Vmin_c_c1との関係を求める際に用いられたパルス電圧である。また、Vttmp_minは、仮最大パルス電圧である。
【0154】
このように、調整値Vmin_c_aは、基準補正値Vmin_c_c1を決定した際のパルス電圧Vtbaseから仮最小パルス電圧Vttmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0155】
次に、基準補正値Vmin_c_c1を調整値Vmin_c_aで補正することで、最小パルス電圧補正値Vmin_c_cを求める(ステップS135)。つまり、最小パルス電圧補正値Vmin_c_c=基準補正値Vmin_c_c1+調整値Vmin_c_aを計算することで、最小パルス電圧補正値Vmin_c_cを求めることができる。ここで、最小パルス電圧補正値Vmin_c_cは、仮最小パルス電圧Vttmp_minを補正するための補正値である。
【0156】
次に、仮最小パルス電圧Vttmp_minを最小パルス電圧補正値Vmin_c_cで補正することで、最小パルス電圧Vminを求める(ステップS136)。つまり、最小パルス電圧Vmin=仮最小パルス電圧Vttmp_min+最小パルス電圧補正値Vmin_c_cを計算することで、最小パルス電圧Vminを求めることができる。
【0157】
以上で説明した処理により、図18のステップS115で用いられる最小パルス電圧Vminを求めることができる。
【0158】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度に基づき仮のパルス電圧Vttmp_max、Vttmp_minを決定し、更に、決定された仮のパルス電圧Vttmp_max、Vttmp_minを、フラッシュROM(11)の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度とフラッシュROM(11)の総書き換え回数の両方を考慮したパルス電圧を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0159】
このとき、フラッシュROM(11)に対する総書き換え回数に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Vmax_c_c1を、仮最大パルス電圧Vttmp_maxに基づき算出された調整値Vmax_c_aを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Vmin_c_c1を、仮最小パルス電圧Vttmp_minに基づき算出された調整値Vmin_c_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【0160】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、フラッシュROMに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰な電圧が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0161】
<実施の形態4>
次に、本発明の実施の形態4について説明する。以下で説明する実施の形態4では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【0162】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0163】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図20は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図20は、実施の形態2で説明した図12に対応している。
【0164】
図20に示すように、まず、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minをそれぞれ算出する(ステップS141、S142)。ここで、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minは、フラッシュROM(11)の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【0165】
例えば、書き換え制御部12は、フラッシュROM(11)の温度と、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加されるパルス電圧は所定の値V_fixに固定されている。
【0166】
次に、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minを補正するための基準補正値(パルス幅)Wmax_c_c1、Wmin_c_c1をそれぞれ算出する(ステップS143)。例えば、書き換え制御部12は、フラッシュROM(11)の総書き換え回数と、基準補正値Wmax_c_c1、Wmin_c_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数とを用いることで、基準補正値Wmax_c_c1、Wmin_c_c1をそれぞれ決定することができる。
【0167】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、書き換え回数が1000回以上の場合に基準補正値(パルス幅)Wmax_c_c1、Wmin_c_c1を段階的に増加させることができる。
【0168】
その後、書き換え制御部12は、仮最大パルス幅Wttmp_max、仮最小パルス幅Wttmp_min、および基準補正値Wmax_c_c1、Wmin_c_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する(ステップS144)。以降、ステップS145〜ステップS152については、実施の形態2で説明した図12のステップS45〜ステップS52と同様であるので、重複した説明は省略する。
【0169】
次に、図20のステップS144の処理、つまり、仮最大パルス幅Wttmp_max、仮最小パルス幅Wttmp_min、および基準補正値Wmax_c_c1、Wmin_c_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する処理について、図21を用いて詳細に説明する。
【0170】
まず、書き換え制御部12は、図20のステップS141で求めた仮最大パルス幅Wttmp_maxに基づき、図20のステップS143で求めた基準補正値Wmax_c_c1の調整値Wmax_c_aを算出する(ステップS161)。例えば、書き換え制御部12は、仮最大パルス幅Wttmp_maxと、調整値Wmax_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス幅Wttmp_maxとを用いることで、調整値Wmax_c_aを決定することができる。具体的に説明すると、調整値Wmax_c_aは以下の式を用いて求めることができる。
【0171】
Wmax_c_a=m(Wtbase−Wttmp_max) ・・・(式7)
【0172】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wtbaseは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Wmax_c_c1との関係を求める際に用いられたパルス幅である。また、Wttmp_maxは、仮最大パルス幅である。
【0173】
このように、調整値Wmax_c_aは、基準補正値Wmax_c_c1を決定した際のパルス幅Wtbaseから仮最大パルス幅Wttmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0174】
次に、基準補正値Wmax_c_c1を調整値Wmax_c_aで補正することで、最大パルス幅補正値Wmax_c_cを求める(ステップS162)。つまり、最大パルス幅補正値Wmax_c_c=基準補正値Wmax_c_c1+調整値Wmax_c_aを計算することで、最大パルス幅補正値Wmax_c_cを求めることができる。ここで、最大パルス幅補正値Wmax_c_cは、仮最大パルス幅Wttmp_maxを補正するための補正値である。
【0175】
次に、仮最大パルス幅Wttmp_maxを最大パルス幅補正値Wmax_c_cで補正することで、最大パルス幅Wmaxを求める(ステップS163)。つまり、最大パルス幅Wmax=仮最大パルス幅Wttmp_max+最大パルス幅補正値Wmax_c_cを計算することで、最大パルス幅Wmaxを求めることができる。
【0176】
以上で説明した処理により、図20のステップS145で用いられる最大パルス幅Wmaxを求めることができる。
【0177】
続いて、最小パルス幅Wminを算出する処理について説明する。なお、最小パルス幅Wminを算出する処理についても、上記で説明した最大パルス幅Wmaxを算出する処理と基本的に同様である。
【0178】
まず、書き換え制御部12は、図20のステップS142で求めた仮最小パルス幅Wttmp_minに基づき、図20のステップS143で求めた基準補正値Wmin_c_c1の調整値Wmin_c_aを算出する(ステップS164)。例えば、書き換え制御部12は、仮最小パルス幅Wttmp_minと、調整値Wmin_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス幅Wttmp_minとを用いることで、調整値Wmin_c_aを決定することができる。具体的に説明すると、調整値Wmin_c_aは以下の式を用いて求めることができる。
【0179】
Wmin_c_a=m(Wtbase−Wttmp_min) ・・・(式8)
【0180】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wtbaseは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Wmin_c_c1との関係を求める際に用いられたパルス幅である。また、Wttmp_minは、仮最小パルス幅である。
【0181】
このように、調整値Wmin_c_aは、基準補正値Wmin_c_c1を決定した際のパルス幅Wtbaseから仮最小パルス幅Wttmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0182】
次に、基準補正値Wmin_c_c1を調整値Wmin_c_aで補正することで、最小パルス幅補正値Wmin_c_cを求める(ステップS165)。つまり、最小パルス幅補正値Wmin_c_c=基準補正値Wmin_c_c1+調整値Wmin_c_aを計算することで、最小パルス幅補正値Wmin_c_cを求めることができる。ここで、最小パルス幅補正値Wmin_c_cは、仮最小パルス幅Wttmp_minを補正するための補正値である。
【0183】
次に、仮最小パルス幅Wttmp_minを最小パルス幅補正値Wmin_c_cで補正することで、最小パルス幅Wminを求める(ステップS166)。つまり、最小パルス幅Wmin=仮最小パルス幅Wttmp_min+最小パルス幅補正値Wmin_c_cを計算することで、最小パルス幅Wminを求めることができる。
【0184】
以上で説明した処理により、図20のステップS145で用いられる最小パルス幅Wminを求めることができる。
【0185】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度に基づき仮のパルス幅Wttmp_max、Wttmp_minを決定し、更に、決定された仮のパルス幅Wttmp_max、Wttmp_minを、フラッシュROM(11)の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度とフラッシュROM(11)の総書き換え回数の両方を考慮したパルス幅を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0186】
このとき、フラッシュROM(11)に対する総書き換え回数に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Wmax_c_c1を、仮最大パルス幅Wttmp_maxに基づき算出された調整値Wmax_c_aを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Wmin_c_c1を、仮最小パルス幅Wttmp_minに基づき算出された調整値Wmin_c_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【0187】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時にフラッシュROMに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0188】
上述したように、実施の形態3では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明した。また、実施の形態4では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス幅を設定する場合について説明した。
【0189】
つまり、実施の形態3および実施の形態4では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき設定するようにしてもよい。この場合は、例えば、フラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき、印加するパルス信号の積分値(つまり、パルス電圧とパルス幅とを乗算した値)を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュROMの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【0190】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【0191】
10 不揮発性半導体記憶装置
11 不揮発性半導体メモリ(フラッシュROM)
12 書き換え制御部
13 温度検知部
14 書き換え情報保持部
15 端子
20 書込装置
【技術分野】
【0001】
本発明は不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関し、特に不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法に関する。
【背景技術】
【0002】
現在、プログラムやデータを格納しておくデバイスとして、不揮発性半導体メモリの一つであるフラッシュROM(Read Only Memory)が幅広く使われている。フラッシュROMは、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【0003】
このように、フラッシュROMは、書き換えを行う度にゲート絶縁膜に電流を流す必要があるため、本質的に劣化を避けることができない。このため、フラッシュROMはメモリ素子の劣化が進むと書き換えができなくなり、書き換え回数に限界があるという特徴がある。よって、書き換えの際にメモリ素子に対して適切なパルス電圧を適切なパルス幅で印加する技術が重要となってくる。
【0004】
図23は、特許文献1に開示されている半導体集積回路書き換えシステムに関する技術を説明するための図である。図23に示すように、半導体集積回路書き換えシステムは、半導体集積回路120および書き込みツール123を備える。半導体集積回路120は、フラッシュROM(121)、データテーブル126を備える書込制御回路122、および温度検知手段125を有する。書込ツール123は書込ツール制御回路124を有する。
【0005】
書込ツール123が備える書込ツール制御回路124は、書き込み/消去パルスのパルス幅または電圧レベルを補正する機能を有している。データテーブル126は、書き込み/消去パルスのパルス幅または電圧レベルの補正量と半導体集積回路120の環境温度(前記検知温度)との対応関係を記述している。半導体集積回路120に搭載されているフラッシュROM(121)における制御プログラムを書き換える際は、書込ツール123を半導体集積回路120に接続する。そして、半導体集積回路120に搭載の温度検知手段125によって半導体集積回路120自体の環境温度を直接的に検知する。書込ツール制御回路124は、この検知温度に基づいて書込制御回路122内のデータテーブル126を検索し、検知温度に応じた補正量を抽出する。そして、書込ツール制御回路124は、半導体集積回路120の書込制御回路122に供給すべき電源を制御する。
【0006】
このように、特許文献1に開示されている半導体集積回路書き換えシステムでは、半導体集積回路120の環境温度の変動に応じて書き込み/消去パルスのパルス幅または電圧を変更しながらフラッシュROM(121)の書き換えを行うので、温度変動の影響を受けることなしに、適正な書き込み/消去を行うことができる。
【0007】
図24は、特許文献2に開示されている不揮発性半導体メモリ装置に関する技術を説明するための図である。図24に示すように、特許文献2に開示されている不揮発性半導体メモリ装置は、メモリアレイ201と、デコード手段202と、データ検出手段203と、メモリ制御部211と、電圧生成手段212と、電源制御部213と、カウンタ214と、セレクタ215とを備える。
【0008】
メモリアレイ201は、フローティングゲートを有するMOS型のメモリセルが行方向および列方向に格子状に配置されたデータ格納領域であり、少なくとも1つのメモリセルを選択するデコード手段202と、メモリセルの状態を検出するデータ検出手段203が接続されている。メモリ制御部211は、データの読み出し、消去、書き込み等の動作モードを示す信号であるモード信号、メモリセルを指定するアドレス、及びモード信号により示される動作モードを実行するタイミングを知らせるタイミング信号に基づいて、デコード手段202、データ検出手段203、及びカウンタ214を制御する。また、メモリ制御部211は、カウンタ214のカウンタ値が所定の値に達したことを知らせる設定値超過信号を不揮発性半導体メモリ装置外部に出力する。
【0009】
カウンタ214は、メモリ制御部211により制御され、データの総書き換え回数をカウントする。セレクタ215は、メモリ制御部211により制御され、カウンタ214に対して、不揮発性半導体メモリ装置外部から入力されたカウント値を出力するとともに、カウンタ214から出力されたカウント値を不揮発性半導体メモリ装置外部に出力する。電源制御部213は、モード信号、及びカウンタ214から出力されるカウント値に基づいて電圧生成手段212を制御する。電圧生成手段212は、電源制御部213により制御され、所定の値の電圧を生成し、生成した電圧をデコード手段202に供給する。
【0010】
メモリ制御部211は、まず、カウンタ214、及びセレクタ215を制御し、セレクタ215の入出力ポートから現在の総書き換え回数を表すカウント値を入力し、カウンタ214に格納する。また、メモリ制御部211は、その後、データの書き換えが行われる毎にカウンタ214のカウント値をインクリメントする。次に、電源制御部213は、モード信号、及びカウンタ214のカウント値に基づいて、モード信号により示される動作モードに必要な電圧を昇圧して生成し、デコード手段202に供給するように電圧生成手段212を制御する。消去・書き込み時間は、総書き換え回数が増えると増大する。そのため、電源制御部213は、電圧生成手段212を制御して、例えば、999回目までは8Vを、劣化し始める1000回から9999回までは8.2Vを、更に劣化する10000回以上では8.4Vの電圧を、メモリ制御部211により制御されたデコード手段202で印加するようにトンネル電圧を段階的に増加させる。
【0011】
このように、特許文献2に開示されている不揮発性半導体メモリ装置では、総書き換え回数をカウンタ214でカウントし、データの総書き換え回数に基づいて、メモリセルに印加する電圧を制御することにより、書き換えを繰り返すことによる消去時間、及び書き込み時間の劣化を防止し、書き換え時間を平均化することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2002−367382号公報
【特許文献2】特開2002−133887号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1に開示されている技術では、半導体集積回路120の環境温度の変動に応じて書き込み/消去パルスのパルス幅または電圧を変更している。よって、フラッシュROM(121)の書き換えを行う際に、温度変動の影響を低減することができる。しかしながら、特許文献1に開示されている技術では、フラッシュROM(121)の総書き換え回数が考慮されていないため、フラッシュROM(121)の劣化が進んだ場合に、印加するパルス電圧が不足するために書き換え時に再書き換え処理(リトライ)が発生してしまい、書き換え時間が長くなってしまうという問題がある。
【0014】
特許文献2に開示されている技術では、総書き換え回数をカウンタ214でカウントし、データの総書き換え回数に基づいて、フラッシュROM(メモリセル)に印加する電圧を制御することで、フラッシュROMを書き換える際の印加電圧を最適な値とすることができる。しかしながら、特許文献2に開示されている技術では、フラッシュROMの温度が変化した場合、場合によっては、フラッシュROMの書き換え時に印加する電圧が不足し、これによりリトライが発生して書き換え時間が長くなるという問題がある。また、フラッシュROMの温度が変化した場合、場合によってはフラッシュROMに過剰な電圧が印加され、フラッシュROMの劣化を早めてしまうという問題がある。
【0015】
つまり、フラッシュROMの書き換えに必要な電圧は、フラッシュROMの温度とフラッシュROMの総書き換え回数の影響を受けるが、上記特許文献1および2では、これらのうちの1つしか考慮されていなかったため、フラッシュROMの書き換え時に適切なパルス電圧および適切なパルス幅を印加することができないという問題があった。
【0016】
図22A、図22Bは、本発明の課題を説明するための図である。図22A、図22Bに示すパルス電圧およびパルス幅は、フラッシュROMの書き換え時にフラッシュROMを構成する素子に印加するパルス電圧およびパルス幅を示している。図22Aに示す場合は、フラッシュROMの書き換えに必要なパルス電圧はVrであるため、Vrよりも高い電圧が過剰な電圧となる。この過剰な電圧は、フラッシュROMの劣化の原因となる。一方、図22Bに示す場合は、フラッシュROMの書き換え時に印加されるパルス電圧が、書き換えに必要なパルス電圧Vrよりも小さいため、リトライが発生してしまい、書き換え時間が長くなる
【0017】
以上で説明したように、特許文献1および特許文献2に開示されている技術では、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができないという問題があった。
【課題を解決するための手段】
【0018】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【0019】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0020】
本発明にかかる不揮発性半導体記憶装置は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する。
【0021】
本発明にかかる不揮発性半導体記憶装置では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0022】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【0023】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの温度に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【0024】
本発明にかかる不揮発性半導体メモリの情報書き換え方法は、不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える。
【0025】
本発明にかかる不揮発性半導体メモリの情報書き換え方法では、不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを不揮発性半導体メモリの総書き換え回数に基づいて補正しているので、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる。
【発明の効果】
【0026】
本発明により、不揮発性半導体メモリの書き換え時に、適切なパルス電圧および適切なパルス幅を備える信号を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。
【図面の簡単な説明】
【0027】
【図1】実施の形態1にかかる不揮発性半導体記憶装置を示すブロック図である。
【図2】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図3】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図4】実施の形態1にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図5】実施の形態1にかかる不揮発性半導体記憶装置において使用されるパラメータの一例を示す表である。
【図6】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図7】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図8】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図9】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図10】実施の形態1にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。
【図11】本発明の効果を説明するための図である。
【図12】実施の形態2にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図13】実施の形態2にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図14】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図15】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図16】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図17】実施の形態2にかかる不揮発性半導体記憶装置で設定されるパルス幅を説明するための図である。
【図18】実施の形態3にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図19】実施の形態3にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図20】実施の形態4にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図21】実施の形態4にかかる不揮発性半導体記憶装置の動作を説明するためのフローチャートである。
【図22A】本発明の課題を説明するための図である。
【図22B】本発明の課題を説明するための図である。
【図23】特許文献1に開示されている技術を説明するための図である。
【図24】特許文献2に開示されている技術を説明するための図である。
【発明を実施するための形態】
【0028】
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態にかかる不揮発性半導体記憶装置を示すブロック図である。図1に示すように、本実施の形態にかかる不揮発性半導体記憶装置10は、不揮発性半導体メモリ(フラッシュROM)11と、書き換え制御部12と、温度検知部13と、書き換え情報保持部14とを備える。不揮発性半導体メモリ11に保持されている情報を書き換える際は、端子15を介して書込装置20が接続される。
【0029】
不揮発性半導体メモリ11は、電源供給がなくなった場合であっても記憶されている情報を保持することができる半導体メモリである。不揮発性半導体メモリ11としては、例えばフラッシュROMがある。以下では、不揮発性半導体メモリをフラッシュROMと記載する。フラッシュROM(11)は、記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換えることができる半導体メモリである。
【0030】
フラッシュROM(11)は、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であり、書き換え時に印加する電圧を読み取り時の電圧よりも高くすることで何回も記憶内容の消去・書き込みが可能なメモリ素子である。つまり、メモリ素子に対してパルス状の電圧を印加し、ゲート絶縁膜に電流を流してメモリ素子に電子を注入したり、電子を引き抜いたりすることによって書き換えを行う。
【0031】
例えば、フラッシュROM(11)のデータの書き換え処理は、データの消去とデータの書き込みにより実施される。フラッシュROM(11)のメモリ素子がフローティングゲートを有するMOS型の素子である場合は、以下のようにしてフラッシュROM(11)へのデータの書き換え処理を実施する。
【0032】
フラッシュROM(11)に格納されているデータを消去する場合は、メモリ素子のフローティングゲートに電子を注入し、メモリ素子の閾値電圧を上昇させる。フローティングゲートへの電子の注入は、例えば、メモリ素子のゲート電圧を高く設定し(例えば、10V)、ドレイン、ソース、基板の電圧を低く設定(例えば、−8V)することで実施することができる。
【0033】
一方、フラッシュROM(11)にデータを書き込む場合は、メモリ素子のフローティングゲートから電子を放出させ、メモリ素子の閾値電圧を下げる。フローティングゲートから電子を放出させるには、例えば、メモリ素子のゲート電圧を低く設定し(例えば、−10V)、ドレインの電圧を高く設定(例えば、6V)することで実施することができる。
【0034】
フラッシュROM(11)は書き換え制御部12と接続されており、書き換え制御部12からの信号に基づき書き換え処理が実施される。また、フラッシュROM(11)は端子(不図示)を介して、不揮発性半導体記憶装置10の外部に設けられているCPU等の外部装置と接続されている。
【0035】
書き換え制御部12は、フラッシュROM(11)の書き換えを制御する。フラッシュROM(11)の書き換えを実施する際、書き換え制御部12は端子15を介して書込装置20と接続され、書込装置20からの命令に基づき、フラッシュROM(11)の書き換え(つまり、消去処理または書き込み処理)を実施する。また、書き換え制御部12は、温度検知部13と書き換え情報保持部14と接続されている。フラッシュROM(11)の書き換えを実施する際、書き換え制御部12は、温度検知部13から出力されたフラッシュROM(11)の温度と、書き換え情報保持部14から出力されたフラッシュROM(11)の総書き換え回数とを用いて、フラッシュROM(11)を書き換える際のパルス電圧やパルス幅を決定することができる。
【0036】
また、書き換え制御部12は、フラッシュROM(11)の書き換え処理の終了後、書き換え処理の結果を書込装置20に返すことができる。なお、図1では、書き換え制御部12が、不揮発性半導体記憶装置10に内蔵されている温度検知部13および書き換え情報保持部14からそれぞれ、フラッシュROM(11)の温度およびフラッシュROM(11)の総書き換え回数を取得している場合を示した。しかし、書き換え制御部12は、フラッシュROM(11)の温度およびフラッシュROM(11)の総書き換え回数を、不揮発性半導体記憶装置10の外部に設けられている回路等から取得してもよい。この場合は、不揮発性半導体記憶装置10に温度検知部13および書き換え情報保持部14を設ける必要はない。
【0037】
温度検知部13は、フラッシュROM(11)の温度を検知し、検知した温度を書き換え制御部12に出力する。温度検知部13は、例えばサーミスタや熱電対などの温度センサを備えている。
【0038】
書き換え情報保持部14は、フラッシュROM(11)の総書き換え回数を保持する。書き換え情報保持部14は、例えばカウンタを備える。そして、書き換え制御部12がフラッシュROM(11)に対して書き換え処理を実施する際に、書き換え制御部12が書き換え情報保持部14に信号を出力し、この信号を受信した回数をカウンタでカウントすることで、フラッシュROM(11)の総書き換え回数を取得することができる。なお、書き換え情報保持部14は、フラッシュROM(11)の消去処理の回数をカウントする消去回数カウンタと、フラッシュROM(11)への書き込み処理の回数をカウントする書き込み回数カウンタとを独立して備えていてもよい。
【0039】
書込装置20は、フラッシュROM(11)に保持されている情報を書き換える際に、端子15を介して書き換え制御部12と接続される。書込装置20は、書き換え制御部12に対してフラッシュROM(11)の消去処理および書き込み処理の命令や、書き込まれるデータを出力する。また、書込装置20は、フラッシュROM(11)の書き換え処理の終了後に、書き換え制御部12から出力された書き換え処理の結果を受信する。なお、書込装置20は、フラッシュROM(11)に保持されている情報を書き換えるとき以外は、不揮発性半導体記憶装置10から切り離されている。
【0040】
次に、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。図2は、本実施の形態にかかる不揮発性半導体記憶装置10の動作を説明するためのフローチャートであり、フラッシュROM(11)の書き換え処理の大まかな流れを示している。
【0041】
フラッシュROM(11)の書き換え処理を実施する際、まず書込装置20から不揮発性半導体記憶装置10の書き換え制御部12に、消去命令または書き込み命令を発行する(ステップS1)。次に、書き換え制御部12は、書込装置20から出力された消去命令または書き込み命令を受け取ると、フラッシュROM(11)に対して消去処理または書き込み処理を実施する(ステップS2)。なお、ステップS2の処理の詳細については後述する。そして、書き換え制御部12は、フラッシュROM(11)に対する消去処理または書き込み処理が終了すると、書込装置20に対して消去結果または書き込み結果を通知する(ステップS3)。これにより、フラッシュROM(11)の書き換え処理が終了する。
【0042】
次に、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)について、図3を用いて詳細に説明する。まず、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minをそれぞれ算出する(ステップS11、S12)。ここで、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minは、フラッシュROM(11)の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【0043】
例えば、書き換え制御部12は、フラッシュROM(11)の書き換え回数と、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数(現在の書き換え回数)とを用いることで、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は所定の値W_fixに固定されている。
【0044】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間が増大する。そのため、書き換え制御部12は、図5に示す表のように、書き換え回数が1000回以上の場合に仮最大パルス電圧Vtmp_maxを段階的に増加させている。つまり、書き換え制御部12は、図5に示すように、消去時間にあまり変動がない999回目までは10Vを、メモリ素子が劣化し始める1000回以降では、1000回毎に0.2Vずつ仮最大パルス電圧Vtmp_maxを段階的に増加させている。仮最小パルス電圧Vtmp_minについても同様に、1000回以降において仮最小パルス電圧Vtmp_minを段階的に増加させることができる。
【0045】
なお、図5に示す表は、フラッシュROM(11)の消去処理においてメモリ素子のゲートに印加される電圧を例示している。例えば、フラッシュROM(11)の書き込み処理の場合は、メモリ素子のゲートに印加される電圧は、負の電圧となる。この場合は、フラッシュROM(11)の総書き換え回数が1000回以上となった際に、仮最大パルス電圧Vtmp_max(負の値)および仮最小パルス電圧Vtmp_min(負の値)が段階的に小さくなるように(つまり、電圧の絶対値が大きくなるように)する。
【0046】
次に、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス電圧Vtmp_maxおよび仮最小パルス電圧Vtmp_minを補正するための基準補正値(電圧値)Vmax_t_c1、Vmin_t_c1をそれぞれ算出する(ステップS13)。例えば、書き換え制御部12は、フラッシュROM(11)の温度と、基準補正値Vmax_t_c1、Vmin_t_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、基準補正値Vmax_t_c1、Vmin_t_c1をそれぞれ決定することができる。
【0047】
例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、消去処理において印加されるパルス電圧が高くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が高くなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、消去処理において印加されるパルス電圧が低くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が低くなる)。
【0048】
また、例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、書き込み処理において印加されるパルス電圧が低くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が低くなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、書き込み処理において印加されるパルス電圧が高くなるように、基準補正値Vmax_t_c1、Vmin_t_c1を決定することができる(つまり、基準補正値Vmax_t_c1、Vmin_t_c1が高くなる)。
【0049】
その後、書き換え制御部12は、仮最大パルス電圧Vtmp_max、仮最小パルス電圧Vtmp_min、および基準補正値Vmax_t_c1、Vmin_t_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する(ステップS14)。なお、最大パルス電圧Vmaxおよび最小パルス電圧Vminの算出方法の詳細については、後述する。
【0050】
ここで、最大パルス電圧VmaxはフラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最大値である。また、最小パルス電圧VminはフラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧の最小値である。
【0051】
次に、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加されるパルス電圧を設定する(ステップS15)。このとき、メモリ素子に印加されるパルス電圧は、最小パルス電圧Vminよりも大きく、且つ最大パルス電圧Vmaxよりも小さい範囲で設定される。
【0052】
そして、設定されたパルス電圧をメモリ素子に印加することで、フラッシュROM(11)の消去処理または書き込み処理を実施する(ステップS16)。その後、フラッシュROM(11)の消去処理または書き込み処理が成功したか否かを判定する(ベリファイ処理:ステップS17)。フラッシュROM(11)の消去処理または書き込み処理が失敗した場合(ステップS18:No)は、メモリ素子に印加されるパルス電圧を、最小パルス電圧Vminよりも大きく、且つ最大パルス電圧Vmaxよりも小さい範囲で再設定し(ステップS19)、ステップS16以降を繰り返す。
【0053】
つまり、例えば、図6の左図に示すように、ステップS15で設定されたパルス電圧V5が低すぎるために、フラッシュROM(11)の消去処理または書き込み処理においてリトライが発生した場合(ステップS18:No)は、図6の右図に示すように、パルス電圧V5よりも大きいパルス電圧V6を再設定する(ステップS19)。このとき、再設定されたパルス電圧が所定の設定範囲内(Vmin〜Vmax)となるように設定する。
【0054】
一方、フラッシュROM(11)の消去処理または書き込み処理が成功した場合(ステップS18:Yes)は、書き換え情報保持部14に保持されている情報を現在の総書き換え回数で更新する(ステップS20)。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する(ステップS21)。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合(ステップS21:No)、消去処理または書き込み処理を実施するアドレスを更新し(ステップS22)、ステップS11以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合(ステップS21:Yes)、フラッシュROM(11)の消去処理または書き込み処理を終了し、図2のステップS3へと進む。
【0055】
なお、ステップS18において、フラッシュROM(11)の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップS15で設定されるパルス電圧を低めに設定してもよい。つまり、図7の左図に示すように、ステップS15で設定されたパルス電圧V7が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図7の右図に示すように、パルス電圧V7よりも低いパルス電圧V8を設定してもよい。このとき、設定されたパルス電圧は所定の設定範囲内(Vmin〜Vmax)となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュROM(11)の特性に最適なパルス電圧を探索し、最適なパルス電圧を印加することが可能となる。
【0056】
次に、図3のステップS14の処理、つまり、仮最大パルス電圧Vtmp_max、仮最小パルス電圧Vtmp_min、および基準補正値Vmax_t_c1、Vmin_t_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する処理について、図4を用いて詳細に説明する。
【0057】
まず、書き換え制御部12は、図3のステップS11で求めた仮最大パルス電圧Vtmp_maxに基づき、図3のステップS13で求めた基準補正値Vmax_t_c1の調整値Vmax_t_aを算出する(ステップS31)。例えば、書き換え制御部12は、仮最大パルス電圧Vtmp_maxと、調整値Vmax_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス電圧Vtmp_maxとを用いることで、調整値Vmax_t_aを決定することができる。具体的に説明すると、調整値Vmax_t_aは以下の式を用いて求めることができる。
【0058】
Vmax_t_a=m(Vbase−Vtmp_max) ・・・(式1)
【0059】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vbaseは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Vmax_t_c1との関係を求める際に用いられたパルス電圧である。また、Vtmp_maxは、仮最大パルス電圧である。
【0060】
このように、調整値Vmax_t_aは、基準補正値Vmax_t_c1を決定した際のパルス電圧Vbaseから仮最大パルス電圧Vtmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0061】
図5に、書き換え情報保持部14に保持されている総書き換え回数、仮最大パルス電圧Vtmp_max、温度補正情報測定時のパルス電圧Vbase、デバイス特性係数m、および調整値Vmax_t_aの一例を示す。図5に示すように、パルス電圧Vbaseは11(V)で一定であり、デバイス特性係数mは0.3で一定である。図5に示す例では、フラッシュROMの総書き換え回数が増加するにしたがい、仮最大パルス電圧Vtmp_maxが増加する。このため、式1より、調整値Vmax_t_aは、フラッシュROMの総書き換え回数が増加するにしたがい、徐々に小さくなる関係がある。
【0062】
次に、基準補正値Vmax_t_c1を調整値Vmax_t_aで補正することで、最大パルス電圧補正値Vmax_t_cを求める(ステップS32)。つまり、最大パルス電圧補正値Vmax_t_c=基準補正値Vmax_t_c1+調整値Vmax_t_aを計算することで、最大パルス電圧補正値Vmax_t_cを求めることができる。ここで、最大パルス電圧補正値Vmax_t_cは、仮最大パルス電圧Vtmp_maxを補正するための補正値である。
【0063】
次に、仮最大パルス電圧Vtmp_maxを最大パルス電圧補正値Vmax_t_cで補正することで、最大パルス電圧Vmaxを求める(ステップS33)。つまり、最大パルス電圧Vmax=仮最大パルス電圧Vtmp_max+最大パルス電圧補正値Vmax_t_cを計算することで、最大パルス電圧Vmaxを求めることができる。
【0064】
以上で説明した処理により、図3のステップS15で用いられる最大パルス電圧Vmaxを求めることができる。
【0065】
続いて、最小パルス電圧Vminを算出する処理について説明する。なお、最小パルス電圧Vminを算出する処理についても、上記で説明した最大パルス電圧Vmaxを算出する処理と基本的に同様である。
【0066】
まず、書き換え制御部12は、図3のステップS12で求めた仮最小パルス電圧Vtmp_minに基づき、図3のステップS13で求めた基準補正値Vmin_t_c1の調整値Vmin_t_aを算出する(ステップS34)。例えば、書き換え制御部12は、仮最小パルス電圧Vtmp_minと、調整値Vmin_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス電圧Vtmp_minとを用いることで、調整値Vmin_t_aを決定することができる。具体的に説明すると、調整値Vmin_t_aは以下の式を用いて求めることができる。
【0067】
Vmin_t_a=m(Vbase−Vtmp_min) ・・・(式2)
【0068】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vbaseは、温度補正情報測定時のパルス電圧である。ここで、温度補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Vmin_t_c1との関係を求める際に用いられたパルス電圧である。また、Vtmp_minは、仮最小パルス電圧である。
【0069】
このように、調整値Vmin_t_aは、基準補正値Vmin_t_c1を決定した際のパルス電圧Vbaseから仮最小パルス電圧Vtmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0070】
次に、基準補正値Vmin_t_c1を調整値Vmin_t_aで補正することで、最小パルス電圧補正値Vmin_t_cを求める(ステップS35)。つまり、最小パルス電圧補正値Vmin_t_c=基準補正値Vmin_t_c1+調整値Vmin_t_aを計算することで、最小パルス電圧補正値Vmin_t_cを求めることができる。ここで、最小パルス電圧補正値Vmin_t_cは、仮最小パルス電圧Vtmp_minを補正するための補正値である。
【0071】
次に、仮最小パルス電圧Vtmp_minを最小パルス電圧補正値Vmin_t_cで補正することで、最小パルス電圧Vminを求める(ステップS36)。つまり、最小パルス電圧Vmin=仮最小パルス電圧Vtmp_min+最小パルス電圧補正値Vmin_t_cを計算することで、最小パルス電圧Vminを求めることができる。
【0072】
以上で説明した処理により、図3のステップS15で用いられる最小パルス電圧Vminを求めることができる。
【0073】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数に基づき仮のパルス電圧Vtmp_max、Vtmp_minを決定し、更に、決定された仮のパルス電圧Vtmp_max、Vtmp_minを、フラッシュROM(11)の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮したパルス電圧を用いて、フラッシュROM(11)の書き換え処理を実施することができる。なお、本明細書では、仮最大パルス電圧および仮最小パルス電圧を総称して仮のパルス電圧と記載する。同様に、最大パルス電圧補正値および最小パルス電圧補正値を総称してパルス電圧補正値と記載する。
【0074】
このとき、フラッシュROM(11)に対する温度に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Vmax_t_c1を、仮最大パルス電圧Vtmp_maxに基づき算出された調整値Vmax_t_aを用いて調整している。同様に、温度情報に基づき算出された基準補正値Vmin_t_c1を、仮最小パルス電圧Vtmp_minに基づき算出された調整値Vmin_t_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【0075】
図8は、本実施の形態にかかる不揮発性半導体記憶装置で設定されるパルス電圧を説明するための図である。なお、図8〜図10においても、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は固定値W_fixである。図8に示すように、例えば、フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合(例えば、特許文献2に開示されている技術を用いた場合)は、フラッシュROM(11)の書き換えの際のパルス電圧の最大値はVtmp_maxであった。
【0076】
一方、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧の最大値を、Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ低いVmaxとすることができる。
【0077】
図9は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス電圧を説明するための図である(補正によりパルス電圧Vmax、Vminが低くなる場合)。本実施の形態では、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス電圧Vtmp_max、Vtmp_minを算出する。このとき算出された仮のパルス電圧Vtmp_max、Vtmp_minは、パルス電圧Vmax、Vminよりも高い値である。
【0078】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス電圧補正値Vmax_t_c、Vmin_t_cを用いて、仮のパルス電圧Vtmp_max、Vtmp_minを補正する。これにより、最大パルス電圧Vmaxを、仮最大パルス電圧Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ低い値とすることができる。また、最小パルス電圧Vminを、仮最小パルス電圧Vtmp_minよりも最小パルス電圧補正値Vmin_t_cだけ低い値とすることができる。
【0079】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、例えばV2に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、V2よりも低いV1とすることができる。その結果、低い電圧でフラッシュROM(11)の書き換えを実施することができるので、フラッシュROM(11)の劣化を抑えることができ、フラッシュROM(11)の書き換え回数を増やすことができる。
【0080】
図10は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス電圧を説明するための図である(補正によりパルス電圧Vmax、Vminが高くなる場合)。この場合も同様に、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス電圧Vtmp_max、Vtmp_minを算出する。このとき算出された仮のパルス電圧Vtmp_max、Vtmp_minは、パルス電圧Vmax、Vminよりも低い値である。
【0081】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス電圧補正値Vmax_t_c、Vmin_t_cを用いて、仮のパルス電圧Vtmp_max、Vtmp_minを補正する。これにより、最大パルス電圧Vmaxを、仮最大パルス電圧Vtmp_maxよりも最大パルス電圧補正値Vmax_t_cだけ高い値とすることができる。また、最小パルス電圧Vminを、仮最小パルス電圧Vtmp_minよりも最小パルス電圧補正値Vmin_t_cだけ高い値とすることができる。
【0082】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス電圧を設定した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、例えばV4に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス電圧を、V4よりも高いV3とすることができる。その結果、パルス電圧が低すぎてフラッシュROM(11)のリトライが発生することを抑制することができ、フラッシュROM(11)の書き換え時間を短縮することができる。
【0083】
次に、図11を用いて本発明の効果について説明する。図11は、フラッシュROMの総書き換え回数と印加するパルス電圧との関係を示している。図11には、理想のパルス電圧(A)、本発明を用いてパルス電圧を算出した場合(B)、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)、および特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)を示している。
【0084】
つまり、本発明を用いてパルス電圧を算出した場合(B)は、上記のように、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づいてパルス電圧を算出した場合を示している。また、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)は、フラッシュROMの温度に基づいてパルス電圧を算出した場合を示している。また、特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)は、フラッシュROMの総書き換え回数に基づきパルス電圧を算出した場合を示している。
【0085】
なお、本発明を用いてパルス電圧を算出する際、デバイス特性係数をm=0.3、基準補正値(Vmax_t_c1)を0.2V、温度補正情報測定時のパルス電圧をVbase=11Vとし、総書き換え回数から算出した仮パルス電圧(Vtmp_max)を10V〜12Vに変化させている。このとき、Vbaseから1V変化したときに0.3Vだけ基準補正値(Vmax_t_c1)に影響があると仮定して、デバイス特性係数を0.3とした。
【0086】
図11に示すように、特許文献1に開示されている技術を用いてパルス電圧を算出した場合(C)は、総書き換え回数によってパルス電圧がほとんど変化しない。また、特許文献2に開示されている技術を用いてパルス電圧を算出した場合(D)は、総書き換え回数に応じてパルス電圧が変化するが、特に総書き換え回数が7000回以下の領域において、理想のパルス電圧(A)と大きく乖離しているといえる。
【0087】
これに対して本発明を用いてパルス電圧を算出した場合(B)は、算出されたパルス電圧が理想のパルス電圧(A)と近い値であるといえる。よって、上記で説明した本実施の形態にかかる発明を用いることで、フラッシュROMの書き換え処理の際のパルス電圧として、理想のパルス電圧に近い値を設定することができる。
【0088】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、フラッシュROMに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰な電圧が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0089】
<実施の形態2>
次に、本発明の実施の形態2について説明する。実施の形態1では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス電圧を設定していた。これに対して本実施の形態では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス幅を設定している。
【0090】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0091】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図12は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図12は、実施の形態1で説明した図3に対応している。
【0092】
図12に示すように、まず、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minをそれぞれ算出する(ステップS41、S42)。ここで、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minは、フラッシュROM(11)の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【0093】
例えば、書き換え制御部12は、フラッシュROM(11)の書き換え回数と、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数(現在の書き換え回数)とを用いることで、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加されるパルス電圧は所定の値V_fixに固定されている。
【0094】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、1000回以降において仮最大パルス幅Wtmp_maxを段階的に増加させることができる。
【0095】
次に、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス幅Wtmp_maxおよび仮最小パルス幅Wtmp_minを補正するための基準補正値(パルス幅)Wmax_t_c1、Wmin_t_c1をそれぞれ算出する(ステップS43)。例えば、書き換え制御部12は、フラッシュROM(11)の温度と、基準補正値Wmax_t_c1、Wmin_t_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、基準補正値Wmax_t_c1、Wmin_t_c1をそれぞれ決定することができる。
【0096】
例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、消去処理におけるパルス幅が大きくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が大きくなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、消去処理におけるパルス幅が小さくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が小さくなる)。
【0097】
また、例えば、書き換え制御部12は、フラッシュROM(11)の温度がより低温になるにつれて、書き込み処理におけるパルス幅が小さくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が小さくなる)。一方、書き換え制御部12は、フラッシュROM(11)の温度がより高温になるにつれて、書き込み処理におけるパルス幅が大きくなるように、基準補正値Wmax_t_c1、Wmin_t_c1を決定することができる(つまり、基準補正値Wmax_t_c1、Wmin_t_c1が大きくなる)。
【0098】
その後、書き換え制御部12は、仮最大パルス幅Wtmp_max、仮最小パルス幅Wtmp_min、および基準補正値Wmax_t_c1、Wmin_t_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する(ステップS44)。なお、最大パルス幅Wmaxおよび最小パルス幅Wminの算出方法の詳細については、後述する。
【0099】
ここで、最大パルス幅Wmaxは、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最大値である。また、最小パルス幅Wminは、フラッシュROM(11)の消去処理または書き込み処理においてメモリ素子に印加される信号のパルス幅の最小値である。
【0100】
次に、フラッシュROM(11)の消去処理または書き込み処理時に、メモリ素子に印加される信号のパルス幅を設定する(ステップS45)。このとき、メモリ素子に印加される信号のパルス幅は、最小パルス幅Wminよりも大きく、且つ最大パルス幅Wmaxよりも小さい範囲で設定される。
【0101】
そして、設定されたパルス幅の信号をメモリ素子に印加することで、フラッシュROM(11)の消去処理または書き込み処理を実施する(ステップS46)。その後、フラッシュROM(11)の消去処理または書き込み処理が成功したか否かを判定する(ベリファイ処理:ステップS47)。フラッシュROM(11)の消去処理または書き込み処理が失敗した場合(ステップS48:No)は、メモリ素子に印加される信号のパルス幅を、最小パルス幅Wminよりも大きく、且つ最大パルス幅Wmaxよりも小さい範囲で再設定し(ステップS49)、ステップS46からステップS48を繰り返す。
【0102】
つまり、例えば、図14の左図に示すように、ステップS45で設定されたパルス幅W5が小さすぎるために、フラッシュROM(11)の消去処理または書き込み処理においてリトライが発生した場合(ステップS48:No)は、図14の右図に示すように、パルス幅W5よりも大きいパルス幅W6を再設定する(ステップS49)。このとき、再設定されたパルス幅が所定の設定範囲内(Wmin〜Wmax)となるように設定する。
【0103】
一方、フラッシュROM(11)の消去処理または書き込み処理が成功した場合(ステップS48:Yes)は、書き換え情報保持部14に保持されている情報を現在の総書き換え回数で更新する(ステップS50)。そして、消去処理または書き込み処理を実施したアドレスが最終アドレスか否か判断する(ステップS51)。消去処理または書き込み処理を実施したアドレスが最終アドレスではない場合(ステップS51:No)、消去処理または書き込み処理を実施するアドレスを更新し(ステップS52)、ステップS41以降の処理を繰り返す。一方、消去処理または書き込み処理を実施したアドレスが最終アドレスである場合(ステップS51:Yes)、フラッシュROM(11)の消去処理または書き込み処理を終了し、図2のステップS3へと進む。
【0104】
なお、ステップS48において、フラッシュROM(11)の消去処理または書き込み処理が成功したと判断された場合は、次以降のアドレスにおける消去処理または書き込み処理において、ステップS45で設定されるパルス幅を小さめに設定してもよい。つまり、図15の左図に示すように、ステップS45で設定されたパルス幅W7が過剰である場合は、次以降のアドレスにおける消去処理または書き込み処理において、図15の右図に示すように、パルス幅W7よりも小さいパルス幅W8を設定してもよい。このとき、設定されたパルス幅は所定の設定範囲内(Wmin〜Wmax)となるように設定する。このように処理をすることで、デバイスの特性にばらつきが生じた場合であっても、フラッシュROM(11)の特性に最適なパルス幅を探索し、最適なパルス幅の信号を印加することが可能となる。
【0105】
次に、図12のステップS44の処理、つまり、仮最大パルス幅Wtmp_max、仮最小パルス幅Wtmp_min、および基準補正値Wmax_t_c1、Wmin_t_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する処理について、図13を用いて詳細に説明する。
【0106】
まず、書き換え制御部12は、図12のステップS41で求めた仮最大パルス幅Wtmp_maxに基づき、図12のステップS43で求めた基準補正値Wmax_t_c1の調整値Wmax_t_aを算出する(ステップS61)。例えば、書き換え制御部12は、仮最大パルス幅Wtmp_maxと、調整値Wmax_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス幅Wtmp_maxとを用いることで、調整値Wmax_t_aを決定することができる。具体的に説明すると、調整値Wmax_t_aは以下の式を用いて求めることができる。
【0107】
Wmax_t_a=m(Wbase−Wtmp_max) ・・・(式3)
【0108】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wbaseは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Wmax_t_c1との関係を求める際に用いられたパルス幅である。また、Wtmp_maxは、仮最大パルス幅である。
【0109】
このように、調整値Wmax_t_aは、基準補正値Wmax_t_c1を決定した際のパルス幅Wbaseから仮最大パルス幅Wtmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0110】
次に、基準補正値Wmax_t_c1を調整値Wmax_t_aで補正することで、最大パルス幅補正値Wmax_t_cを求める(ステップS62)。つまり、最大パルス幅補正値Wmax_t_c=基準補正値Wmax_t_c1+調整値Wmax_t_aを計算することで、最大パルス幅補正値Wmax_t_cを求めることができる。ここで、最大パルス幅補正値Wmax_t_cは、仮最大パルス幅Wtmp_maxを補正するための補正値である。
【0111】
次に、仮最大パルス幅Wtmp_maxを最大パルス幅補正値Wmax_t_cで補正することで、最大パルス幅Wmaxを求める(ステップS63)。つまり、最大パルス幅Wmax=仮最大パルス幅Wtmp_max+最大パルス幅補正値Wmax_t_cを計算することで、最大パルス幅Wmaxを求めることができる。
【0112】
以上で説明した処理により、図12のステップS45で用いられる最大パルス幅Wmaxを求めることができる。
【0113】
続いて、最小パルス幅Wminを算出する処理について説明する。なお、最小パルス幅Wminを算出する処理についても、上記で説明した最大パルス幅Wmaxを算出する処理と基本的に同様である。
【0114】
まず、書き換え制御部12は、図12のステップS42で求めた仮最小パルス幅Wtmp_minに基づき、図12のステップS43で求めた基準補正値Wmin_t_c1の調整値Wmin_t_aを算出する(ステップS64)。例えば、書き換え制御部12は、仮最小パルス幅Wtmp_minと、調整値Wmin_t_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス幅Wtmp_minとを用いることで、調整値Wmin_t_aを決定することができる。具体的に説明すると、調整値Wmin_t_aは以下の式を用いて求めることができる。
【0115】
Wmin_t_a=m(Wbase−Wtmp_min) ・・・(式4)
【0116】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wbaseは、温度補正情報測定時のパルス幅である。ここで、温度補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの温度と基準補正値Wmin_t_c1との関係を求める際に用いられたパルス幅である。また、Wtmp_minは、仮最小パルス幅である。
【0117】
このように、調整値Wmin_t_aは、基準補正値Wmin_t_c1を決定した際のパルス幅Wbaseから仮最小パルス幅Wtmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0118】
次に、基準補正値Wmin_t_c1を調整値Wmin_t_aで補正することで、最小パルス幅補正値Wmin_t_cを求める(ステップS65)。つまり、最小パルス幅補正値Wmin_t_c=基準補正値Wmin_t_c1+調整値Wmin_t_aを計算することで、最小パルス幅補正値Wmin_t_cを求めることができる。ここで、最小パルス幅補正値Wmin_t_cは、仮最小パルス幅Wtmp_minを補正するための補正値である。
【0119】
次に、仮最小パルス幅Wtmp_minを最小パルス幅補正値Wmin_t_cで補正することで、最小パルス幅Wminを求める(ステップS66)。つまり、最小パルス幅Wmin=仮最小パルス幅Wtmp_min+最小パルス幅補正値Wmin_t_cを計算することで、最小パルス幅Wminを求めることができる。
【0120】
以上で説明した処理により、図12のステップS45で用いられる最小パルス幅Wminを求めることができる。
【0121】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数に基づき仮のパルス幅Wtmp_max、Wtmp_minを決定し、更に、決定された仮のパルス幅Wtmp_max、Wtmp_minを、フラッシュROM(11)の温度に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮したパルス幅を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0122】
このとき、フラッシュROM(11)に対する温度に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、温度情報に基づき算出された基準補正値Wmax_t_c1を、仮最大パルス幅Wtmp_maxに基づき算出された調整値Wmax_t_aを用いて調整している。同様に、温度情報に基づき算出された基準補正値Wmin_t_c1を、仮最小パルス幅Wtmp_minに基づき算出された調整値Wmin_t_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【0123】
図16は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス幅を説明するための図である(補正によりパルス幅Wmax、Wminが小さくなる場合)。本実施の形態では、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス幅Wtmp_max、Wtmp_minを算出する。このとき算出された仮のパルス幅Wtmp_max、Wtmp_minは、パルス幅Wmax、Wminよりも大きい値である。
【0124】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス幅補正値Wmax_t_c、Wmin_t_cを用いて、仮のパルス幅Wtmp_max、Wtmp_minを補正する。これにより、最大パルス幅Wmaxを、仮最大パルス幅Wtmp_maxよりも最大パルス幅補正値Wmax_t_cだけ小さい値とすることができる。また、最小パルス幅Wminを、仮最小パルス幅Wtmp_minよりも最小パルス幅補正値Wmin_t_cだけ小さい値とすることができる。
【0125】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、例えばW2に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、W2よりも小さいW1とすることができる。その結果、小さいパルス幅でフラッシュROM(11)の書き換えを実施することができるので、フラッシュROM(11)の劣化を抑えることができ、フラッシュROM(11)の書き換え回数を増やすことができる。
【0126】
図17は、本実施の形態にかかる不揮発性半導体記憶装置10で設定されるパルス幅を説明するための図である(補正によりパルス幅Wmax、Wminが大きくなる場合)。この場合も同様に、まず、フラッシュROM(11)の総書き換え回数に基づいて仮のパルス幅Wtmp_max、Wtmp_minを算出する。このとき算出された仮のパルス幅Wtmp_max、Wtmp_minは、パルス幅Wmax、Wminよりも小さい値である。
【0127】
その後、フラッシュROM(11)の温度に基づいて算出されたパルス幅補正値Wmax_t_c、Wmin_t_cを用いて、仮のパルス幅Wtmp_max、Wtmp_minを補正する。これにより、最大パルス幅Wmaxを、仮最大パルス幅Wtmp_maxよりも最大パルス幅補正値Wmax_t_cだけ大きい値とすることができる。また、最小パルス幅Wminを、仮最小パルス幅Wtmp_minよりも最小パルス幅補正値Wmin_t_cだけ大きい値とすることができる。
【0128】
フラッシュROM(11)の総書き換え回数のみに基づいてパルス幅を設定した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、例えばW4に設定する必要があった。しかしながら、本実施の形態のように、フラッシュROM(11)の総書き換え回数とフラッシュROM(11)の温度の両方を考慮した場合は、フラッシュROM(11)の書き換えの際のパルス幅を、W4よりも大きいW3とすることができる。その結果、パルス幅が小さすぎてフラッシュROM(11)のリトライが発生することを抑制することができ、フラッシュROM(11)の書き換え時間を短縮することができる。
【0129】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時にフラッシュROMに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0130】
上述したように、実施の形態1では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス電圧を設定する場合について説明した。また、実施の形態2では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの総書き換え回数とフラッシュROMの温度とに基づきパルス幅を設定する場合について説明した。
【0131】
つまり、実施の形態1および実施の形態2では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき設定するようにしてもよい。この場合は、例えば、フラッシュROMの総書き換え回数およびフラッシュROMの温度に基づき、印加するパルス信号の積分値(つまり、パルス電圧とパルス幅とを乗算した値)を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュROMの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【0132】
<実施の形態3>
次に、本発明の実施の形態3について説明する。実施の形態1および実施の形態2では、まず、フラッシュROMの総書き換え回数に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュROMの温度に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求めていた。
【0133】
以下に示す実施の形態3および実施の形態4では、まず、フラッシュROMの温度に基づいて仮のパルス電圧または仮のパルス幅を算出し、その後、フラッシュROMの総書き換え回数に基づいて算出されたパルス電圧補正値またはパルス幅補正値を用いて、仮のパルス電圧または仮のパルス幅を補正することで、書き換え処理時におけるパルス電圧またはパルス幅を求める場合について説明する。
【0134】
実施の形態3では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【0135】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0136】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図18は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図18は、実施の形態1で説明した図3に対応している。
【0137】
図18に示すように、まず、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minをそれぞれ算出する(ステップS111、S112)。ここで、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minは、フラッシュROM(11)の書き換え時に印加するパルス電圧として仮に定められた電圧である。これらのパルス電圧は、以降の処理により補正される。
【0138】
例えば、書き換え制御部12は、フラッシュROM(11)の温度と、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加される信号のパルス幅は所定の値W_fixに固定されている。
【0139】
次に、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス電圧Vttmp_maxおよび仮最小パルス電圧Vttmp_minを補正するための基準補正値(電圧値)Vmax_c_c1、Vmin_c_c1をそれぞれ算出する(ステップS113)。例えば、書き換え制御部12は、フラッシュROM(11)の総書き換え回数と、基準補正値Vmax_c_c1、Vmin_c_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数とを用いることで、基準補正値Vmax_c_c1、Vmin_c_c1をそれぞれ決定することができる。
【0140】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、書き換え回数が1000回以上の場合に基準補正値(電圧値)Vmax_c_c1、Vmin_c_c1を段階的に増加させることができる。
【0141】
その後、書き換え制御部12は、仮最大パルス電圧Vttmp_max、仮最小パルス電圧Vttmp_min、および基準補正値Vmax_c_c1、Vmin_c_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する(ステップS114)。以降、ステップS115〜ステップS122については、実施の形態1で説明した図3のステップS15〜ステップS22と同様であるので、重複した説明は省略する。
【0142】
次に、図18のステップS114の処理、つまり、仮最大パルス電圧Vttmp_max、仮最小パルス電圧Vttmp_min、および基準補正値Vmax_c_c1、Vmin_c_c1に基づいて、最大パルス電圧Vmaxおよび最小パルス電圧Vminを算出する処理について、図19を用いて詳細に説明する。
【0143】
まず、書き換え制御部12は、図18のステップS111で求めた仮最大パルス電圧Vttmp_maxに基づき、図18のステップS113で求めた基準補正値Vmax_c_c1の調整値Vmax_c_aを算出する(ステップS131)。例えば、書き換え制御部12は、仮最大パルス電圧Vttmp_maxと、調整値Vmax_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス電圧Vttmp_maxとを用いることで、調整値Vmax_c_aを決定することができる。具体的に説明すると、調整値Vmax_c_aは以下の式を用いて求めることができる。
【0144】
Vmax_c_a=m(Vtbase−Vttmp_max) ・・・(式5)
【0145】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vtbaseは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Vmax_c_c1との関係を求める際に用いられたパルス電圧である。また、Vttmp_maxは、仮最大パルス電圧である。
【0146】
このように、調整値Vmax_c_aは、基準補正値Vmax_c_c1を決定した際のパルス電圧Vtbaseから仮最大パルス電圧Vttmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0147】
次に、基準補正値Vmax_c_c1を調整値Vmax_c_aで補正することで、最大パルス電圧補正値Vmax_c_cを求める(ステップS132)。つまり、最大パルス電圧補正値Vmax_c_c=基準補正値Vmax_c_c1+調整値Vmax_c_aを計算することで、最大パルス電圧補正値Vmax_c_cを求めることができる。ここで、最大パルス電圧補正値Vmax_c_cは、仮最大パルス電圧Vttmp_maxを補正するための補正値である。
【0148】
次に、仮最大パルス電圧Vttmp_maxを最大パルス電圧補正値Vmax_c_cで補正することで、最大パルス電圧Vmaxを求める(ステップS133)。つまり、最大パルス電圧Vmax=仮最大パルス電圧Vttmp_max+最大パルス電圧補正値Vmax_c_cを計算することで、最大パルス電圧Vmaxを求めることができる。
【0149】
以上で説明した処理により、図18のステップS115で用いられる最大パルス電圧Vmaxを求めることができる。
【0150】
続いて、最小パルス電圧Vminを算出する処理について説明する。なお、最小パルス電圧Vminを算出する処理についても、上記で説明した最大パルス電圧Vmaxを算出する処理と基本的に同様である。
【0151】
まず、書き換え制御部12は、図18のステップS112で求めた仮最小パルス電圧Vttmp_minに基づき、図18のステップS113で求めた基準補正値Vmin_c_c1の調整値Vmin_c_aを算出する(ステップS134)。例えば、書き換え制御部12は、仮最小パルス電圧Vttmp_minと、調整値Vmin_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス電圧Vttmp_minとを用いることで、調整値Vmin_c_aを決定することができる。具体的に説明すると、調整値Vmin_c_aは以下の式を用いて求めることができる。
【0152】
Vmin_c_a=m(Vtbase−Vttmp_min) ・・・(式6)
【0153】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Vtbaseは、総書き換え回数補正情報測定時のパルス電圧である。ここで、総書き換え回数補正情報測定時のパルス電圧とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Vmin_c_c1との関係を求める際に用いられたパルス電圧である。また、Vttmp_minは、仮最大パルス電圧である。
【0154】
このように、調整値Vmin_c_aは、基準補正値Vmin_c_c1を決定した際のパルス電圧Vtbaseから仮最小パルス電圧Vttmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0155】
次に、基準補正値Vmin_c_c1を調整値Vmin_c_aで補正することで、最小パルス電圧補正値Vmin_c_cを求める(ステップS135)。つまり、最小パルス電圧補正値Vmin_c_c=基準補正値Vmin_c_c1+調整値Vmin_c_aを計算することで、最小パルス電圧補正値Vmin_c_cを求めることができる。ここで、最小パルス電圧補正値Vmin_c_cは、仮最小パルス電圧Vttmp_minを補正するための補正値である。
【0156】
次に、仮最小パルス電圧Vttmp_minを最小パルス電圧補正値Vmin_c_cで補正することで、最小パルス電圧Vminを求める(ステップS136)。つまり、最小パルス電圧Vmin=仮最小パルス電圧Vttmp_min+最小パルス電圧補正値Vmin_c_cを計算することで、最小パルス電圧Vminを求めることができる。
【0157】
以上で説明した処理により、図18のステップS115で用いられる最小パルス電圧Vminを求めることができる。
【0158】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度に基づき仮のパルス電圧Vttmp_max、Vttmp_minを決定し、更に、決定された仮のパルス電圧Vttmp_max、Vttmp_minを、フラッシュROM(11)の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度とフラッシュROM(11)の総書き換え回数の両方を考慮したパルス電圧を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0159】
このとき、フラッシュROM(11)に対する総書き換え回数に基づく影響は、印加するパルス電圧によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Vmax_c_c1を、仮最大パルス電圧Vttmp_maxに基づき算出された調整値Vmax_c_aを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Vmin_c_c1を、仮最小パルス電圧Vttmp_minに基づき算出された調整値Vmin_c_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加するパルス電圧を最適な値とすることができる。
【0160】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時に、フラッシュROMに適切なパルス電圧を印加することができる不揮発性半導体記憶装置および不揮発性半導体メモリの情報書き換え方法を提供することができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰な電圧が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0161】
<実施の形態4>
次に、本発明の実施の形態4について説明する。以下で説明する実施の形態4では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明する。
【0162】
なお、本実施の形態で用いられる不揮発性半導体記憶装置10は、実施の形態1で説明した図1に示した不揮発性半導体記憶装置10と同様であるので、重複した説明は省略する。つまり、本実施の形態にかかる不揮発性半導体記憶装置10は、書き換え制御部12における動作が実施の形態1と異なっている。以下、本実施の形態にかかる不揮発性半導体記憶装置10の動作について説明する。
【0163】
本実施の形態にかかる不揮発性半導体記憶装置10においても、図2に示した処理が実施される。図2に示した処理については、実施の形態1で説明したので省略する。図20は、図2のステップS2の処理(フラッシュROM(11)の消去処理または書き込み処理)を詳細に説明するためのフローチャートである。図20は、実施の形態2で説明した図12に対応している。
【0164】
図20に示すように、まず、書き換え制御部12は、フラッシュROM(11)の温度に基づいて、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minをそれぞれ算出する(ステップS141、S142)。ここで、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minは、フラッシュROM(11)の書き換え時にパルス電圧を印加する時間として仮に定められたパルス幅である。これらのパルス幅は、以降の処理により補正される。
【0165】
例えば、書き換え制御部12は、フラッシュROM(11)の温度と、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minとを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の温度とを用いることで、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minをそれぞれ決定することができる。なお、本実施の形態では、フラッシュROM(11)の書き換え処理時に印加されるパルス電圧は所定の値V_fixに固定されている。
【0166】
次に、書き換え制御部12は、フラッシュROM(11)の総書き換え回数に基づいて、仮最大パルス幅Wttmp_maxおよび仮最小パルス幅Wttmp_minを補正するための基準補正値(パルス幅)Wmax_c_c1、Wmin_c_c1をそれぞれ算出する(ステップS143)。例えば、書き換え制御部12は、フラッシュROM(11)の総書き換え回数と、基準補正値Wmax_c_c1、Wmin_c_c1とを対応づけた情報(例えば、テーブルや計算式)を備えている。そして、書き換え制御部12は、この情報と、フラッシュROM(11)の総書き換え回数とを用いることで、基準補正値Wmax_c_c1、Wmin_c_c1をそれぞれ決定することができる。
【0167】
フラッシュROM(11)の書き換え回数が増加すると、フラッシュROM(11)の書き換え処理に要する時間が増加する。一例を示すと、フラッシュROM(11)の書き換え回数が1000回を越えると書き換え時間は増大する。そのため、書き換え制御部12は、書き換え回数が1000回以上の場合に基準補正値(パルス幅)Wmax_c_c1、Wmin_c_c1を段階的に増加させることができる。
【0168】
その後、書き換え制御部12は、仮最大パルス幅Wttmp_max、仮最小パルス幅Wttmp_min、および基準補正値Wmax_c_c1、Wmin_c_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する(ステップS144)。以降、ステップS145〜ステップS152については、実施の形態2で説明した図12のステップS45〜ステップS52と同様であるので、重複した説明は省略する。
【0169】
次に、図20のステップS144の処理、つまり、仮最大パルス幅Wttmp_max、仮最小パルス幅Wttmp_min、および基準補正値Wmax_c_c1、Wmin_c_c1に基づいて、最大パルス幅Wmaxおよび最小パルス幅Wminを算出する処理について、図21を用いて詳細に説明する。
【0170】
まず、書き換え制御部12は、図20のステップS141で求めた仮最大パルス幅Wttmp_maxに基づき、図20のステップS143で求めた基準補正値Wmax_c_c1の調整値Wmax_c_aを算出する(ステップS161)。例えば、書き換え制御部12は、仮最大パルス幅Wttmp_maxと、調整値Wmax_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最大パルス幅Wttmp_maxとを用いることで、調整値Wmax_c_aを決定することができる。具体的に説明すると、調整値Wmax_c_aは以下の式を用いて求めることができる。
【0171】
Wmax_c_a=m(Wtbase−Wttmp_max) ・・・(式7)
【0172】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wtbaseは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Wmax_c_c1との関係を求める際に用いられたパルス幅である。また、Wttmp_maxは、仮最大パルス幅である。
【0173】
このように、調整値Wmax_c_aは、基準補正値Wmax_c_c1を決定した際のパルス幅Wtbaseから仮最大パルス幅Wttmp_maxを減算した値に、所定の係数mを乗算することで求めることができる。
【0174】
次に、基準補正値Wmax_c_c1を調整値Wmax_c_aで補正することで、最大パルス幅補正値Wmax_c_cを求める(ステップS162)。つまり、最大パルス幅補正値Wmax_c_c=基準補正値Wmax_c_c1+調整値Wmax_c_aを計算することで、最大パルス幅補正値Wmax_c_cを求めることができる。ここで、最大パルス幅補正値Wmax_c_cは、仮最大パルス幅Wttmp_maxを補正するための補正値である。
【0175】
次に、仮最大パルス幅Wttmp_maxを最大パルス幅補正値Wmax_c_cで補正することで、最大パルス幅Wmaxを求める(ステップS163)。つまり、最大パルス幅Wmax=仮最大パルス幅Wttmp_max+最大パルス幅補正値Wmax_c_cを計算することで、最大パルス幅Wmaxを求めることができる。
【0176】
以上で説明した処理により、図20のステップS145で用いられる最大パルス幅Wmaxを求めることができる。
【0177】
続いて、最小パルス幅Wminを算出する処理について説明する。なお、最小パルス幅Wminを算出する処理についても、上記で説明した最大パルス幅Wmaxを算出する処理と基本的に同様である。
【0178】
まず、書き換え制御部12は、図20のステップS142で求めた仮最小パルス幅Wttmp_minに基づき、図20のステップS143で求めた基準補正値Wmin_c_c1の調整値Wmin_c_aを算出する(ステップS164)。例えば、書き換え制御部12は、仮最小パルス幅Wttmp_minと、調整値Wmin_c_aとを対応づけた情報(例えば、テーブルや計算式)を備えており、この情報と、仮最小パルス幅Wttmp_minとを用いることで、調整値Wmin_c_aを決定することができる。具体的に説明すると、調整値Wmin_c_aは以下の式を用いて求めることができる。
【0179】
Wmin_c_a=m(Wtbase−Wttmp_min) ・・・(式8)
【0180】
ここで、mはデバイスの特性係数(所定の係数)であり、フラッシュROMの製造時にデバイス特性を計測し、そのデバイス特性に応じて決定することができる。Wtbaseは、総書き換え回数補正情報測定時のパルス幅である。ここで、総書き換え回数補正情報測定時のパルス幅とは、フラッシュROMの製造時に、フラッシュROMの総書き換え回数と基準補正値Wmin_c_c1との関係を求める際に用いられたパルス幅である。また、Wttmp_minは、仮最小パルス幅である。
【0181】
このように、調整値Wmin_c_aは、基準補正値Wmin_c_c1を決定した際のパルス幅Wtbaseから仮最小パルス幅Wttmp_minを減算した値に、所定の係数mを乗算することで求めることができる。
【0182】
次に、基準補正値Wmin_c_c1を調整値Wmin_c_aで補正することで、最小パルス幅補正値Wmin_c_cを求める(ステップS165)。つまり、最小パルス幅補正値Wmin_c_c=基準補正値Wmin_c_c1+調整値Wmin_c_aを計算することで、最小パルス幅補正値Wmin_c_cを求めることができる。ここで、最小パルス幅補正値Wmin_c_cは、仮最小パルス幅Wttmp_minを補正するための補正値である。
【0183】
次に、仮最小パルス幅Wttmp_minを最小パルス幅補正値Wmin_c_cで補正することで、最小パルス幅Wminを求める(ステップS166)。つまり、最小パルス幅Wmin=仮最小パルス幅Wttmp_min+最小パルス幅補正値Wmin_c_cを計算することで、最小パルス幅Wminを求めることができる。
【0184】
以上で説明した処理により、図20のステップS145で用いられる最小パルス幅Wminを求めることができる。
【0185】
このように、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度に基づき仮のパルス幅Wttmp_max、Wttmp_minを決定し、更に、決定された仮のパルス幅Wttmp_max、Wttmp_minを、フラッシュROM(11)の総書き換え回数に基づいて補正している。よって、本実施の形態にかかる不揮発性半導体記憶装置10では、フラッシュROM(11)の温度とフラッシュROM(11)の総書き換え回数の両方を考慮したパルス幅を用いて、フラッシュROM(11)の書き換え処理を実施することができる。
【0186】
このとき、フラッシュROM(11)に対する総書き換え回数に基づく影響は、印加する信号のパルス幅によって変化する。このため、本実施の形態では、総書き換え回数に基づき算出された基準補正値Wmax_c_c1を、仮最大パルス幅Wttmp_maxに基づき算出された調整値Wmax_c_aを用いて調整している。同様に、総書き換え回数に基づき算出された基準補正値Wmin_c_c1を、仮最小パルス幅Wttmp_minに基づき算出された調整値Wmin_c_aを用いて調整している。よって、本実施の形態では、フラッシュROM(11)の書き換え処理のときに印加される信号のパルス幅を最適な値とすることができる。
【0187】
以上で説明したように、本実施の形態にかかる発明により、不揮発性半導体メモリ(フラッシュROM)の書き換え時にフラッシュROMに印加される信号のパルス幅を適切なパルス幅とすることができる。よって、フラッシュROMの書き換え時にリトライが発生することを抑制することができ、フラッシュROMの書き換え時間を短縮することができる。また、フラッシュROMの書き換え時に、フラッシュROMに過剰なパルス幅の信号が印加されることを抑制することができるので、フラッシュROMの寿命を延ばすことができる。
【0188】
上述したように、実施の形態3では、フラッシュROMの書き換え処理時に印加される信号のパルス幅を固定し(W_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス電圧を設定する場合について説明した。また、実施の形態4では、フラッシュROMの書き換え処理時に印加される信号のパルス電圧を固定し(V_fix)、フラッシュROMの温度とフラッシュROMの総書き換え回数とに基づきパルス幅を設定する場合について説明した。
【0189】
つまり、実施の形態3および実施の形態4では、パルス電圧およびパルス幅のうちの一方を固定し、他方をフラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき設定する場合について説明した。しかし、本発明では、パルス電圧およびパルス幅の両方を、フラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき設定するようにしてもよい。この場合は、例えば、フラッシュROMの温度およびフラッシュROMの総書き換え回数に基づき、印加するパルス信号の積分値(つまり、パルス電圧とパルス幅とを乗算した値)を決定する。そして、決定された積分値を有するパルス信号となるようなパルス電圧およびパルス幅を、フラッシュROMの書き換え処理時におけるパルス電圧およびパルス幅とすることができる。
【0190】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【0191】
10 不揮発性半導体記憶装置
11 不揮発性半導体メモリ(フラッシュROM)
12 書き換え制御部
13 温度検知部
14 書き換え情報保持部
15 端子
20 書込装置
【特許請求の範囲】
【請求項1】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項2】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項1に記載の不揮発性半導体記憶装置。
【請求項3】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項2に記載の不揮発性半導体記憶装置。
【請求項4】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項2または3に記載の不揮発性半導体記憶装置。
【請求項5】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項1に記載の不揮発性半導体記憶装置。
【請求項6】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項5に記載の不揮発性半導体記憶装置。
【請求項7】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項5または6に記載の不揮発性半導体記憶装置。
【請求項8】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項9】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項8に記載の不揮発性半導体記憶装置。
【請求項10】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項9に記載の不揮発性半導体記憶装置。
【請求項11】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項9または10に記載の不揮発性半導体記憶装置。
【請求項12】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項8に記載の不揮発性半導体記憶装置。
【請求項13】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項12に記載の不揮発性半導体記憶装置。
【請求項14】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項12または13に記載の不揮発性半導体記憶装置。
【請求項15】
前記不揮発性半導体記憶装置は、更に、
前記不揮発性半導体メモリの温度を検知する温度検知部と、
前記不揮発性半導体メモリの総書き換え回数を保持する書き換え情報保持部と、を備える
請求項1乃至14のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項16】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【請求項17】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【請求項1】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項2】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項1に記載の不揮発性半導体記憶装置。
【請求項3】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項2に記載の不揮発性半導体記憶装置。
【請求項4】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項2または3に記載の不揮発性半導体記憶装置。
【請求項5】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの温度に基づいて補正する際、
前記不揮発性半導体メモリの温度に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項1に記載の不揮発性半導体記憶装置。
【請求項6】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項5に記載の不揮発性半導体記憶装置。
【請求項7】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項5または6に記載の不揮発性半導体記憶装置。
【請求項8】
記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリの書き換えを制御する書き換え制御部と、を備え、
前記書き換え制御部は、前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、更に、当該決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定する、
不揮発性半導体記憶装置。
【請求項9】
前記決定された仮のパルス電圧を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス電圧に基づき決定し、
前記仮のパルス電圧を前記基準補正値および前記調整値を用いて補正する、
請求項8に記載の不揮発性半導体記憶装置。
【請求項10】
前記調整値は、前記基準補正値を決定した際のパルス電圧から前記仮のパルス電圧を減算した値に所定の係数を乗算した値である、請求項9に記載の不揮発性半導体記憶装置。
【請求項11】
前記仮のパルス電圧は、仮の最大パルス電圧と仮の最小パルス電圧とを備え、
前記決定されたパルス電圧は、最大パルス電圧と最小パルス電圧とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス電圧は、前記最大パルス電圧と前記最小パルス電圧との間の電圧である、
請求項9または10に記載の不揮発性半導体記憶装置。
【請求項12】
前記決定された仮のパルス幅を前記不揮発性半導体メモリの総書き換え回数に基づいて補正する際、
前記不揮発性半導体メモリの総書き換え回数に基づく補正値である基準補正値を決定し、
前記基準補正値を調整する調整値を、前記仮のパルス幅に基づき決定し、
前記仮のパルス幅を前記基準補正値および前記調整値を用いて補正する、
請求項8に記載の不揮発性半導体記憶装置。
【請求項13】
前記調整値は、前記基準補正値を決定した際のパルス幅から前記仮のパルス幅を減算した値に所定の係数を乗算した値である、請求項12に記載の不揮発性半導体記憶装置。
【請求項14】
前記仮のパルス幅は、仮の最大パルス幅と仮の最小パルス幅とを備え、
前記決定されたパルス幅は、最大パルス幅と最小パルス幅とを備え、
前記書き換え時に前記不揮発性半導体メモリに印加される信号のパルス幅は、前記最大パルス幅と前記最小パルス幅との間のパルス幅である、
請求項12または13に記載の不揮発性半導体記憶装置。
【請求項15】
前記不揮発性半導体記憶装置は、更に、
前記不揮発性半導体メモリの温度を検知する温度検知部と、
前記不揮発性半導体メモリの総書き換え回数を保持する書き換え情報保持部と、を備える
請求項1乃至14のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項16】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの総書き換え回数に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの温度に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【請求項17】
不揮発性半導体メモリに記録されている情報を所定のパルス電圧および所定のパルス幅を備える信号を印加することで書き換える不揮発性半導体メモリの情報書き換え方法であって、
前記不揮発性半導体メモリの温度に基づき仮のパルス電圧および仮のパルス幅の少なくとも一つを決定し、
前記決定された仮のパルス電圧および仮のパルス幅の少なくとも一つを前記不揮発性半導体メモリの総書き換え回数に基づいて補正することで、書き換え時に前記不揮発性半導体メモリに印加する信号のパルス電圧およびパルス幅の少なくとも一つを決定し、
前記決定されたパルス電圧およびパルス幅の少なくとも一つを備える信号を用いて前記不揮発性半導体メモリに記録されている情報を書き換える、
不揮発性半導体メモリの情報書き換え方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図23】
【図24】
【公開番号】特開2013−80540(P2013−80540A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2011−220090(P2011−220090)
【出願日】平成23年10月4日(2011.10.4)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願日】平成23年10月4日(2011.10.4)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]