(57)【要約】【課題】フラッシュメモリのビットエラーの数を低減させる。【解決手段】デコーダからエラー訂正失敗信号が入力されているとき（ステップＳ１００）、フラッシュメモリから読み出された低閾値データ数Ｎｗがフラッシュメモリにデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには高ビット線電圧印加制御を実行し（ステップＳ１２０〜Ｓ１４０）、フラッシュメモリから読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには読み出しオン電圧印加制御を繰り返して実行する（ステップＳ１２０，Ｓ１３０，Ｓ１５０）。これにより、フラッシュメモリのビットエラーの数を低減させることができる。【選択図】図５
2013137848.tif 000002
【特許請求の範囲】
【請求項１】
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、
前記フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記第２の絶縁層から前記制御ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部
を備えるメモリコントローラ。
【請求項２】
請求項１記載のメモリコントローラであって、
前記電圧印加制御は、前記フラッシュメモリセルにデータを書き込む際に前記ビット線に印加する２つの電圧のうち高いほうの電圧以上の電圧が前記複数のビット線に印加され、前記フラッシュメモリセルにデータを書き込む際に前記データを書き込むべきメモリセルのワード線に印加する電圧が前記複数のワード線のうちの少なくとも一つに印加されるよう、前記フラッシュメモリを制御する制御である
メモリコントローラ。
【請求項３】
請求項１または２記載のメモリコントローラであって、
前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が低い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御部、
を備え、
前記多ビットエラー推定条件は、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数未満であることである
メモリコントローラ。
【請求項４】
請求項３記載のメモリコントローラであって、
前記データ記憶制御部は、前記書き込み要求信号が入力されたときには、前記書き込みデータを所定の誤り訂正符号に符号化し、該符号化したデータが前記フラッシュメモリに書き込まれるよう前記フラッシュメモリを制御し、前記読み出し要求信号が入力されたときに前記フラッシュメモリから読み出された読み出しデータのうちビット反転エラーが生じているビットエラー数が誤りを訂正可能なビットエラー数の上限値以下であるときには前記所定の誤り訂正符号として誤り訂正すると共に復号し、前記読み出し要求信号が入力されたときに前記ビットエラー数が前記上限値を超えているときには誤り訂正失敗信号を出力し、
前記多ビットエラー推定条件は、前記誤り訂正失敗信号が入力されたときに前記フラッシュメモリから読み出された低閾値データの個数が前記書き込み制御部に記憶されている低閾値データの個数未満であることである
メモリコントローラ。
【請求項５】
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、
前記フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記半導体基板から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部
を備えるメモリコントローラ。
【請求項６】
請求項５記載のメモリコントローラであって、
前記電圧印加制御は、前記フラッシュメモリセルからデータを読み出す際に前記ビット線に印加される電圧より低い電圧が前記複数のビット線のうちの少なくとも一つに印加され、前記フラッシュメモリセルからデータを読み出す際に前記フラッシュメモリセルが記憶しているデータに拘わらずオンする電圧として予め定められたオン電圧が前記複数のワード線の一つに印加されるよう、前記フラッシュメモリを制御する制御である
を備えるメモリコントローラ。
【請求項７】
請求項５または６記載のメモリコントローラであって、
前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧の低い状態に対応する低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御部、
を備え、
前記多ビットエラー推定条件は、前記フラッシュメモリから読み出され低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数を超えていることである
メモリコントローラ。
【請求項８】
請求項７記載のメモリコントローラであって、
前記データ記憶制御部は、前記書き込み要求信号が入力されたときには、前記書き込みデータを所定の誤り訂正符号に符号化し、該符号化したデータが前記フラッシュメモリに書き込まれるよう前記フラッシュメモリを制御し、前記読み出し要求信号が入力されたときに前記フラッシュメモリから読み出された読み出しデータのうちビット反転エラーが生じているビットエラー数が誤りを訂正可能なビットエラー数の上限値以下であるときには前記所定の誤り訂正符号として誤り訂正すると共に復号し、前記読み出し要求信号が入力されたときに前記ビットエラー数が前記上限値を超えているときには誤り訂正失敗信号を出力し、
前記多ビットエラー推定条件は、前記誤り訂正失敗信号が入力されたときに前記フラッシュメモリから読み出された低閾値データの個数が前記書き込み制御部に記憶されている低閾値データの個数を超えていることである
メモリコントローラ。
【請求項９】
請求項１または５記載のメモリコントローラであって、
前記多ビットエラー推定条件は、予め定められた所定時間が経過したことである
メモリコントローラ。
【請求項１０】
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリと、
前記フラッシュメモリを制御する請求項１から９のいずれか一つの請求項に記載のメモリコントローラと、
を備えるフラッシュメモリシステム。
【請求項１１】
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記第２の絶縁層から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御ステップ
を備えるフラッシュメモリの制御方法。
【請求項１２】
請求項１１記載のフラッシュメモリの制御方法であって、
前記電圧印加制御は、前記フラッシュメモリセルにデータを書き込む際に前記ビット線に印加する２つの電圧のうち高いほうの電圧以上の電圧が前記複数のビット線に印加され、前記フラッシュメモリセルにデータを書き込む際に前記データを書き込むべきメモリセルのワード線に印加する電圧が前記複数のワード線のうちの少なくとも一つに印加されるよう、前記フラッシュメモリを制御する制御である
フラッシュメモリの制御方法。
【請求項１３】
請求項１１または１２記載のフラッシュメモリの制御方法であって、
前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が低い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御ステップ、
を備え、
前記電圧印加制御ステップは、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数未満であるときに、前記電圧印加制御を実行するステップである
フラッシュメモリの制御方法。
【請求項１４】
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記半導体基板から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御ステップ
を備えるフラッシュメモリの制御方法。
【請求項１５】
請求項１４記載のフラッシュメモリの制御方法であって、
前記電圧印加制御は、前記フラッシュメモリセルからデータを読み出す際に前記ビット線に印加される電圧より低い電圧が前記複数のビット線のうちの少なくとも一つに印加され、前記フラッシュメモリセルからデータを読み出す際に前記フラッシュメモリセルが記憶しているデータに拘わらずオンする電圧として予め定められたオン電圧が前記複数のワード線に印加されるよう、前記フラッシュメモリを制御する制御である
フラッシュメモリの制御方法。
【請求項１６】
請求項１４または１５記載のフラッシュメモリの制御方法であって、
前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が低い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御ステップ
を備え、
前記電圧印加制御ステップは、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数を超えているときに、前記電圧印加制御を実行する
フラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ，フラッシュメモリシステムおよびフラッシュメモリの制御方法に関し、詳しくは、半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数のメモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するを制御するメモリコントローラ、こうしたメモリコントローラを備えるフラッシュシステム、こうしたフラッシュメモリを制御する制御方法に関する。
【背景技術】
【０００２】
従来、この種のメモリコントローラとしては、フラッシュメモリから出力されるデータに対して誤り訂正を行なってホスト装置に出力するものが提案されている（例えば、非特許文献１参照）。このコントローラでは、データの誤り訂正を行なうことにより、より信頼性の高いデータを出力することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「これだけは知っておきたいＮＡＮＤフラッシュ・メモリの基礎」，半導体ストレージ２０１２，日経ＢＰ社，２０１１年７月２９日，ｐ．６８−ｐ．７９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のメモリコントローラでは、フラッシュメモリのビットエラーの数が誤り訂正可能なビットエラーの数の上限を超えると、誤り訂正を行なうことができなくなり、データを正しく読み出すことができなくなる。したがって、ビットエラーの数を低減させることが望まれている。
【０００５】
本発明のメモリコントローラ，フラッシュメモリシステムおよびフラッシュメモリの制御方法は、フラッシュメモリのビットエラーの数を低減させることを主目的とする。
【課題を解決するための手段】
【０００６】
本発明のメモリコントローラ，フラッシュメモリシステムおよびフラッシュメモリの制御方法は、上述の主目的を達成するために以下の手段を採った。
【０００７】
本発明の第１のメモリコントローラは、
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、
前記フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記第２の絶縁層から前記制御ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部
を備えることを要旨とする。
【０００８】
この本発明の第１のメモリコントローラでは、フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、複数のワード線のうちの少なくとも一つとビット線との間の電圧差が、第２の絶縁層から制御ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、フラッシュメモリを制御する電圧印加制御を実行する。電圧印加制御を実行すると、フラッシュメモリセルの閾値電圧が一時的に低下する。これは、第２の絶縁層に捕獲されていた電子が制御ゲートに移動するためだと考えられる。したがって、多ビットエラー推定条件が成立したときに、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を低下させることができ、閾値電圧が上昇することによりビットエラーが生じていたフラッシュメモリセルのビットエラーを修復することができる。これにより、フラッシュメモリのビットエラーの数を低減させることができる。
【０００９】
こうした本発明の第１のメモリコントローラにおいて、前記電圧印加制御は、前記フラッシュメモリセルにデータを書き込む際に前記ビット線に印加する２つの電圧のうち高いほうの電圧以上の電圧が前記複数のビット線に印加され、前記フラッシュメモリセルにデータを書き込む際に前記データを書き込むべきメモリセルのワード線に印加する電圧が前記複数のワード線のうちの少なくとも一つに印加されるよう、前記フラッシュメモリを制御する制御であるものとすることもできる。こうすれば、複数のワード線のうちのフラッシュメモリセルにデータを書き込む際にデータを書き込むべきメモリセルのワード線に印加する電圧が印加されたワード線に接続されたフラッシュメモリセルの閾値電圧を低下させることができ、フラッシュメモリのビットエラーを修復して、フラッシュメモリのビットエラーの数を低減させることができる。
【００１０】
また、本発明の第１のメモリコントローラにおいて、前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が低い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御部、を備え、前記多ビットエラー推定条件は、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数未満であるものとすることもできる。フラッシュメモリにビットエラーが生じていないときにはフラッシュメモリから読み出され低閾値データの個数とデータ記憶制御部に記憶されている低閾値データの個数とは等しいが、フラッシュメモリから読み出され低閾値データの個数がデータ記憶制御部に記憶されている低閾値データの個数未満であるときは、何らかの要因で、フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると考えられる。こうした場合に、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を低下させてビットエラーの数を低減させることができる。この場合において、前記データ記憶制御部は、前記書き込み要求信号が入力されたときには、前記書き込みデータを所定の誤り訂正符号に符号化し、該符号化したデータが前記フラッシュメモリに書き込まれるよう前記フラッシュメモリを制御し、前記読み出し要求信号が入力されたときに前記フラッシュメモリから読み出された読み出しデータのうちビット反転エラーが生じているビットエラー数が誤りを訂正可能なビットエラー数の上限値以下であるときには前記所定の誤り訂正符号として誤り訂正すると共に復号し、前記読み出し要求信号が入力されたときに前記ビットエラー数が前記上限値を超えているときには誤り訂正失敗信号を出力し、前記多ビットエラー推定条件は、前記誤り訂正失敗信号が入力されたときに前記フラッシュメモリから読み出された低閾値データの個数が前記書き込み制御部に記憶されている低閾値データの個数未満であるものとすることもできる。ビットエラー数が上限値を超えているときには誤り訂正を行なうことができない。ビットエラー数が上限値を超えているときにフラッシュメモリから読み出された低閾値データの個数が書き込み制御部に記憶されている低閾値データの個数を超えているときには、フラッシュメモリセルの閾値電圧が高くなることによるビットエラーが多く生じているため、誤り訂正が行なえなくなっていると考えられる。こうした場合に、電圧印加制御を実行すれば、フラッシュメモリセルの閾値電圧を低下させてビットエラーの数を低減することができる。こうしてビットエラーの数を低減すると、再びフラッシュメモリから読み出してデータに対して誤り訂正と復号とを行なうことができるようになり、データの信頼性の向上を図ることができる。
【００１１】
本発明の第２のメモリコントローラは、
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、
前記フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記半導体基板から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部
を備えることを要旨とする。
【００１２】
この本発明の第２のメモリコントローラでは、フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、複数のワード線のうちの少なくとも一つとビット線との間の電圧差が、半導体基板から浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、フラッシュメモリを制御する電圧印加制御を実行するものとすることもできる。電圧印加制御を実行すると、フラッシュメモリセルの閾値電圧が徐々に上昇する。これは、電圧印加制御により半導体基板から浮遊ゲートに電子が入るためだと考えられる。したがって、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を上昇させることができ、閾値電圧が低下することによりビットエラーが生じていたフラッシュメモリセルのビットエラーを修復することができる。これにより、フラッシュメモリのビットエラーの数を低減させることができる。
【００１３】
こうした本発明の第２のメモリコントローラにおいて、前記電圧印加制御は、前記フラッシュメモリセルからデータを読み出す際に前記ビット線に印加される電圧より低い電圧が前記複数のビット線のうちの少なくとも一つに印加され、前記フラッシュメモリセルからデータを読み出す際に前記フラッシュメモリセルが記憶しているデータに拘わらずオンする電圧として予め定められたオン電圧が前記複数のワード線の一つに印加されるよう、前記フラッシュメモリを制御する制御であるものとすることもできる。こうすれば、複数のワード線のうちのオン電圧が印加されたワード線に接続されたフラッシュメモリセルの閾値電圧を上昇させることができ、フラッシュメモリのビットエラーを修復して、フラッシュメモリのビットエラーの数を低減させることができる。
【００１４】
また、本発明の第２のメモリコントローラにおいて、前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧の低い状態に対応する低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御部、を備え、前記多ビットエラー推定条件は、前記フラッシュメモリから読み出され低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数を超えていることであるものとすることもできる。フラッシュメモリにビットエラーが生じていないときにはフラッシュメモリから読み出され低閾値データの個数とデータ記憶制御部に記憶されている低閾値データの個数とは等しいが、フラッシュメモリから読み出され低閾値データの個数がデータ記憶制御部に記憶されている低閾値データの個数を超えているときは、何らかの要因で、フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると考えられる。こうした場合に、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を上昇させてビットエラーの数を低減させることができる。
【００１５】
さらに、本発明の第２のメモリコントローラにおいて、前記データ記憶制御部は、前記書き込み要求信号が入力されたときには、前記書き込みデータを所定の誤り訂正符号に符号化し、該符号化したデータが前記フラッシュメモリに書き込まれるよう前記フラッシュメモリを制御し、前記読み出し要求信号が入力されたときに前記フラッシュメモリから読み出された読み出しデータのうちビット反転エラーが生じているビットエラー数が誤りを訂正可能なビットエラー数の上限値以下であるときには前記所定の誤り訂正符号として誤り訂正すると共に復号し、前記読み出し要求信号が入力されたときに前記ビットエラー数が前記上限値を超えているときには誤り訂正失敗信号を出力し、前記多ビットエラー推定条件は、前記誤り訂正失敗信号が入力されたときに前記フラッシュメモリから読み出された低閾値データの個数が前記書き込み制御部に記憶されている低閾値データの個数を超えていることであるものとすることもできる。ビットエラー数が上限値を超えているときには誤り訂正を行なうことができなくなる。ビットエラー数が上限値を超えているときにフラッシュメモリから読み出された低閾値データの個数が書き込み制御部に記憶されている低閾値データの個数を超えているときには、フラッシュメモリセルの閾値電圧が低くなることによるビットエラーが多く生じているため、誤り訂正が行ななくなっていると考えられる。こうした場合に、電圧印加制御を実行すれば、フラッシュメモリセルの閾値電圧を低下させてビットエラーの数を低減することができる。こうしてビットエラーの数を低減すると、再びフラッシュメモリから読み出してデータに対して誤り訂正と復号とを行なうことができるようになり、データの信頼性の向上を図ることができる。
【００１６】
また、多ビットエラー推定条件が成立したときに電圧印加制御を実行する態様の本発明の第１または第２のメモリコントローラにおいて、多ビットエラー推定条件は、予め定められた所定時間が経過したことであるものとすることもできる。フラッシュメモリにおいて、フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーやフラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーは、時間の経過とともに増加していくと考えられる。したがって、多ビットエラー推定条件は、予め定められた所定時間が経過したものとして、電圧印加制御を実行することにより、ビットエラーを修復することができ、フラッシュメモリのビットエラーの数を低減させることができる。
【００１７】
本発明のフラッシュメモリシステムは、
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリと、
前記フラッシュメモリを制御する上述したいずれかの態様の本発明の第１のメモリコントローラ、即ち、基本的には、半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、前記フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記第２の絶縁層から前記制御ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部を備えるメモリコントローラ、または、前記フラッシュメモリを制御する上述したいずれかの態様の本発明の第２のメモリコントローラ、即ち、基本的には、半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するメモリコントローラであって、前記フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記半導体基板から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御部を備えるメモリコントローラと、
を備えることを要旨とする。
【００１８】
こうした本発明のフラッシュメモリシステムは、上述したいずれかの態様の本発明の第１または第２のメモリコントローラを備えているから、本発明の第１または第２のメモリコントローラの奏する効果、即ち、フラッシュメモリのビットエラーの数を低減させることができる効果などと同様の効果を奏する。
【００１９】
本発明の第１のフラッシュメモリの制御方法は、
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記第２の絶縁層から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御ステップ
を備えることを要旨とする。
【００２０】
この本発明の第１のフラッシュメモリの制御方法では、フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、複数のワード線のうちの少なくとも一つとビット線との間の電圧差が、第２の絶縁層から制御ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、フラッシュメモリを制御する電圧印加制御を実行する。電圧印加制御を実行すると、フラッシュメモリセルの閾値電圧が一時的に低下する。これは、第２の絶縁層に捕獲されていた電子が制御ゲートに移動するためだと考えられる。したがって、多ビットエラー推定条件が成立したときに、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を低下させることができ、閾値電圧が上昇することによりビットエラーが生じていたフラッシュメモリセルのビットエラーを修復することができる。これにより、フラッシュメモリのビットエラーの数を低減させることができる。
【００２１】
こうした本発明の第１のフラッシュメモリの制御方法において、前記電圧印加制御は、前記フラッシュメモリセルにデータを書き込む際に前記ビット線に印加する２つの電圧のうち高いほうの電圧以上の電圧が前記複数のビット線に印加され、前記フラッシュメモリセルにデータを書き込む際に前記データを書き込むべきメモリセルのワード線に印加する電圧が前記複数のワード線のうちの少なくとも一つに印加されるよう、前記フラッシュメモリを制御する制御であるものとすることもできる。こうすれば、複数のワード線のうちのオン電圧が印加されたワード線に接続されたフラッシュメモリセルの閾値電圧を上昇させることができ、フラッシュメモリのビットエラーを修復して、フラッシュメモリのビットエラーの数を低減させることができる。
【００２２】
こうした本発明の第１のフラッシュメモリの制御方法において、前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が高い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御ステップ、を備え、前記電圧印加制御ステップは、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数未満であるときに、前記電圧印加制御を実行するステップであるものとすることもできる。フラッシュメモリにビットエラーが生じていないときにはフラッシュメモリから読み出され低閾値データの個数とデータ記憶制御部に記憶されている低閾値データの個数とは等しいが、フラッシュメモリから読み出され低閾値データの個数がデータ記憶制御部に記憶されている低閾値データの個数未満であるときは、何らかの要因で、フラッシュメモリセルが閾値電圧の低い状態から高い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると考えられる。こうした場合に、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を低下させてビットエラーの数を低減させることができる。
【００２３】
本発明の第２のフラッシュメモリの制御方法は、
半導体基板上に第１の絶縁層と浮遊ゲートと第２の絶縁層と制御ゲートとを順に積層してなるフラッシュメモリセルが複数直列に接続されたメモリセルユニットを複数有するフラッシュメモリセルアレイと、前記複数のフラッシュメモリセルの制御ゲートにそれぞれ接続された複数のワード線と、複数の前記メモリセルユニットのそれぞれの一端に接続された複数のビット線と、を有するフラッシュメモリを制御するフラッシュメモリの制御方法であって、
前記フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーが前記フラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、前記複数のワード線のうちの少なくとも一つと前記ビット線との間の電圧差が、前記半導体基板から前記浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、前記フラッシュメモリを制御する電圧印加制御を実行する電圧印加制御ステップ
を備えることを要旨とする。
【００２４】
この本発明の第２のフラッシュメモリの制御方法では、フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると推定される条件として予め定められた多ビットエラー推定条件が成立したときに、複数のワード線のうちの少なくとも一つとビット線との間の電圧差が、半導体基板から浮遊ゲートに電子が注入される電圧差として予め定められた所定の電圧差以上になるよう、フラッシュメモリを制御する電圧印加制御を実行するものとすることもできる。電圧印加制御を実行すると、フラッシュメモリセルの閾値電圧が徐々に上昇する。これは、電圧印加制御により半導体基板から浮遊ゲートに電子が入るためだと考えられる。したがって、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を上昇させることができ、閾値電圧が低下することによりビットエラーが生じていたフラッシュメモリセルのビットエラーを修復することができる。これにより、フラッシュメモリのビットエラーの数を低減させることができる。
【００２５】
こうした本発明の第２のフラッシュメモリの制御方法において、前記電圧印加制御は、前記フラッシュメモリセルからデータを読み出す際に前記ビット線に印加される電圧より低い電圧が前記複数のビット線のうちの少なくとも一つに印加され、前記フラッシュメモリセルからデータを読み出す際に前記フラッシュメモリセルが記憶しているデータに拘わらずオンする電圧として予め定められたオン電圧が前記複数のワード線の一つに印加されるよう、前記フラッシュメモリを制御する制御であるものとすることもできる。こうすれば、複数のワード線のうちのオン電圧が印加されたワード線に接続されたフラッシュメモリセルの閾値電圧を上昇させることができ、フラッシュメモリのビットエラーを修復して、フラッシュメモリのビットエラーの数を低減させることができる。
【００２６】
また、本発明の第２のフラッシュメモリの制御方法において、前記電圧印加制御は、前記フラッシュメモリセルからデータを読み出す際に前記ビット線に印加される電圧より低い電圧が前記複数のビット線のうちの少なくとも一つに印加され、前記フラッシュメモリセルからデータを読み出す際に前記フラッシュメモリセルが記憶しているデータに拘わらずオンする電圧として予め定められたオン電圧が前記複数のワード線の一つに印加されるよう、前記フラッシュメモリを制御する制御を繰り返して実行する制御であるものとすることもできる。
【００２７】
さらに、本発明の第２のフラッシュメモリの制御方法において、前記フラッシュメモリへのデータの書き込みを要求する書き込み要求信号が入力されたときには、前記フラッシュメモリへ書き込むべき書き込みデータに含まれる前記フラッシュメモリセルの閾値電圧が低い状態に対応するデータである低閾値データの個数を記憶すると共に前記フラッシュメモリに前記書き込みデータが記憶されるよう前記フラッシュメモリを制御し、前記フラッシュメモリからのデータの読み出しを要求する読み出し要求信号が入力されたときには、前記フラッシュメモリからデータが読み出されるよう前記フラッシュメモリを制御するデータ記憶制御ステップを備え、前記電圧印加制御ステップは、前記フラッシュメモリから読み出された低閾値データの個数が前記データ記憶制御部に記憶されている低閾値データの個数を超えているときに、前記電圧印加制御を実行するものとすることもできる。フラッシュメモリにビットエラーが生じていないときにはフラッシュメモリから読み出され低閾値データの個数とデータ記憶制御部に記憶されている低閾値データの個数とは等しいが、フラッシュメモリから読み出され低閾値データの個数がデータ記憶制御部に記憶されている低閾値データの個数を超えているときは、何らかの要因で、フラッシュメモリセルが閾値電圧の高い状態から低い状態に変化することによるビットエラーがフラッシュメモリに多く生じていると考えられる。こうした場合に、電圧印加制御を実行することにより、フラッシュメモリセルの閾値電圧を上昇させてビットエラーの数を低減させることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施例としてのメモリコントローラ３０が搭載され、パーソナルコンピュータなどのホスト装置１０からのデータを記憶するＳＳＤ（Solid State Drive）２０の構成の概略を示す説明図である。
【図２】フラッシュメモリ２２の構成の概略を示す説明図である。
【図３】フラッシュメモリセルアレイ２４の構成の概略を説明するための説明図である。
【図４】フラッシュメモリセル４０の構成の概略を説明するための説明図である。
【図５】電圧印加制御部３８により実行される読み出し処理ルーチンの一例を示すフローチャートである。
【図６】ステップＳ１４０の処理におけるフラッシュメモリセルアレイ２４のバイアス状態を説明するための説明図である。
【図７】高ビット線電圧印加制御を実行してからの経過時間とビットエラー率との関係を示す説明図である。
【図８】高ビット線電圧印加制御を実行している最中のフラッシュメモリセル４０の状態を説明するための説明図である。
【図９】ステップＳ１５０の処理におけるフラッシュメモリセルアレイ２４のバイアス状態を説明するための説明図である。
【図１０】読み出しオン電圧印加制御の繰り返し回数とビットエラー率との関係を示す説明図である。
【図１１】読み出しオン電圧印加制御を実行している最中のフラッシュメモリセル４０の状態を説明するための説明図である。
【発明を実施するための形態】
【００２９】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例】
【００３０】
図１は、本発明の一実施例としてのメモリコントローラ３０が搭載され、パーソナルコンピュータなどのホスト装置１０からのデータを記憶するＳＳＤ（Solid State Drive）２０の構成の概略を示す説明図である。ＳＳＤ２０は、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置として構成されており、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ２２と、フラッシュメモリ２２を制御するメモリコントローラ３０とから構成されている。
【００３１】
フラッシュメモリ２２は、図２に示すように、フラッシュメモリセルアレイ２４を備えるＮＡＮＤ型フラッシュメモリとして構成されており、フラッシュメモリセルアレイ２４の他に、入力された行アドレス信号に応じたワード線ＷＬを選択するロウデコーダ２６，入力された列アドレス信号に応じたワード線ＢＬを選択するカラムデコーダ２７，ビット線ＢＬからの電流を増幅するセンスアンプ２８、データ線にデータを入出力する入出力回路２９などを備える。フラッシュメモリ２２では、ページ単位（実施例では、８Ｋバイトなど）でデータを書き込んだり読み出したりして、複数ページからなるブロック単位（実施例では、１Ｍバイトなど）で記憶しているデータを消去する。
【００３２】
図３はフラッシュメモリセルアレイ２４の構成の概略を説明するための説明図であり、図４はフラッシュメモリセル４０の構成の概略を説明するための説明図である。フラッシュメモリセルアレイ２４は、図３に示すように、ｎ個のフラッシュメモリセル４０が直列に接続されてなるメモリセルユニット４２をｍ個有している。各メモリセルユニット４２は、一端が選択トランジスタ４４を介してビット線ＢＬ１〜ＢＬｍに接続され、他端が選択トランジスタ４６を介して接地電位ＧＮＤに接続されている。フラッシュメモリセル４０は、図４に示すように、シリコンなどの半導体からなる半導体基板Ｓｕｂ上に二酸化シリコンなどの酸化膜からなるトンネル酸化膜ＴＤ，シリコンなどからなる浮遊ゲートＦＧ，二酸化シリコンなどの絶縁膜からなる絶縁膜ＩＰＤ，シリコンなどからなる制御ゲートＣＧが順に積層されて構成されており、浮遊ゲートＦＧへの電子注入や浮遊ゲートＦＧからの電子の引き抜きにより閾値電圧が変化する。各メモリセルユニット４２では、ｎ個の制御ゲートＣＧにそれぞれワード線ＷＬ１〜ＷＬｎが接続されている。
【００３３】
メモリコントローラ３０は、図１に示すように、トランジスタ等の複数の論理素子からなる論理回路として構成されており、ホスト装置１０から１ページずつデータを入力して入力した１ページ分のデータについて”１”のデータ（フラッシュメモリセル４０の閾値電圧が低い状態に対応するデータ）の数である低閾値データ数Ｎｉを計数すると共に計数した結果を入力データに付加して出力するＮ１カウンタ３１と、Ｎ１カウンタ３１からのデータを低密度パリティ検査（Low Density Prity Check、ＬＤＰＣ）符号に符号化して符号化した符号化データがフラッシュメモリ２２に記憶されるようフラッシュメモリ２２を制御するエンコーダ３２と、フラッシュメモリ２２から１ページ分のデータが読み出されるようフラッシュメモリ２２を制御してフラッシュメモリ２２から読み出されたデータに対してエラー訂正を行なうと共に復号してホスト装置１０に出力したりエラー訂正が失敗したときにエラー訂正失敗信号を出力するデコーダ３６と、エラー訂正失敗信号が入力されないときには復号したデータをホスト装置１０に出力しエラー訂正失敗信号が入力されたときに低閾値データ数Ｎｉに応じてビット線ＢＬ１〜ＢＬｍに印加するビット線電圧ＶＢＬ１〜ＶＢＬｍとワード線ＷＬ１〜ＷＬｎに印加するワード線電圧ＶＷＬ１〜ＶＷＬｎとを調整する電圧印加制御部３８と、を備える。
【００３４】
こうして構成されたＳＳＤ２０のメモリコントローラ３０において、ホスト装置１０からのデータをフラッシュメモリ２２に書き込んだり、フラッシュメモリ２２からデータを読み出してホスト装置１０に出力する際の動作について説明する。
【００３５】
最初に、ホスト装置１０からのデータをフラッシュメモリ２２に書き込む動作について説明する。ホスト装置１０からフラッシュメモリ２２へのデータの書き込みを要求する書き込み要求信号が入力されると、書き込み要求信号を入力されたメモリコントローラ３０のＮ１カウンタ３１は、ホスト装置１０から１ページずつデータを入力し、１ページ分の入力データについてデータの”１”の個数である低閾値データ数Ｎｉを計数し、計数した結果を入力データに付加してエンコーダ３２に出力する。Ｎ１カウンタ３１から出力されたデータが入力されたエンコーダ３２は、入力されたデータをＬＤＰＣ符号に符号化し、符号化したデータがフラッシュメモリ２２に書き込まれるようフラッシュメモリ２２を制御する。
【００３６】
フラッシュメモリ２２へのデータの書き込みは、選択トランジスタ４４をオンすると共に選択トランジスタ４６をオフした状態で、ワード線ＷＬ１〜ＷＬｎのうち書き込むべきアドレスに対応するワード線に書き込み電圧Ｖｐｇｍ（実施例では、１８Ｖなど）を印加すると共に他のワード線にパス電圧Ｖｐａｓｓ（実施例では、１０Ｖなど）を印加し，ビット線ＢＬ１〜ＢＬｍのうちに書き込むべきアドレスに対応するビット線に接地電圧ＶＧＮＤ（実施例では、０Ｖなど）を印加すると共に他のビット線に電源電圧Ｖｃｃ（例えば、８Ｖ）を印加することにより、書き込み電圧Ｖｐｇｍがワード線と接地電圧ＶＧＮＤが印加されたビット線とで選択されるフラッシュメモリセル４０にデータを書き込む。こうした処理により、ホスト装置１０からの入力データに”１”の個数を計数した計数結果を付加したデータがＬＤＰＣ符号に符号化されてフラッシュメモリ２２に書き込まれる。
【００３７】
続いて、フラッシュメモリ２２からデータを読み出してホスト装置１０に出力する際の動作について説明する。ホスト装置１０からメモリコントローラ３０へフラッシュメモリ２２へのデータの読み出しを要求する読み出し要求信号が入力されると、読み出し要求信号が入力されたメモリコントローラ３０のデコーダ３６は、フラッシュメモリ２２から１ページ分のデータが読み出されるようフラッシュメモリ２２を制御する。
【００３８】
フラッシュメモリ２２からのデータの読み出しは、ビット線ＢＬ１〜ＢＬｎをプリチャージ電圧Ｖｐｒｅ（実施例では、０．８Ｖ）した後に開放し（フローティングにし）、選択トランジスタ４４，４６を共にオンした状態で、読み出す対象のフラッシュメモリセル４０の制御ゲートＣＧに接地電圧ＧＮＤを印加すると共に他のフラッシュメモリセル４０の制御ゲートＣＧに読み出し電圧Ｖｒｅａｄ（実施例では、３Ｖ）を印加して、ビット線ＢＬ１〜ＢＬｎの電流を検出することにより行なわれる。こうした処理により、フラッシュメモリ２２からデータを読み出すことができる。
【００３９】
フラッシュメモリ２２からデータが読み出されると、デコーダ３６は、sum-product復号法によりフラッシュメモリ２２から読み出されたデータに対してエラー訂正と復号を実行し、エラー訂正が成功したか否かを判定する。そして、デコーダ３６は、エラー訂正が成功したときには復号したデータを電圧印加制御部３８に出力し、フラッシュメモリ２２から読み出されたデータにビットエラーが多く含まれているときなどエラー訂正が失敗したときにはエラー訂正失敗信号とフラッシュメモリ２２から読み出されたデータとを電圧印加制御部３８に出力する。
【００４０】
図５は、電圧印加制御部３８により実行される読み出し処理ルーチンの一例を示すフローチャートである。電圧印加制御部３８は、エラー訂正失敗信号が入力されているか否かを調べて（ステップＳ１００）、デコーダ３６からエラー訂正失敗信号が入力されていないときには、復号したデータをホスト装置１０に出力して（ステップＳ１１０）、本ルーチンを終了する。こうした処理により、エラー訂正失敗信号が入力されていないときには、エラー訂正を行なって復号したデータをホスト装置１０に出力する。これにより、ホスト装置１０に出力するデータの信頼性の向上を図ることができる。
【００４１】
デコーダ３６からエラー訂正失敗信号が入力されているときには、フラッシュメモリ２２から出力された１ページ分のデータに含まれる低閾値データ（”１”のデータ）数Ｎｗを計数し（ステップＳ１００，Ｓ１２０）、フラッシュメモリ２２から出力された１ページ分のデータに含まれる低閾値データ（”１”のデータ）数Ｎｗとホスト装置１０からの１ページ分の入力データについて低閾値データ（”１”のデータ）数Ｎｉとを比較する（ステップ１３０）。フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、”１”のデータを記憶しているフラッシュメモリセル４０の閾値電圧が上昇して”０”のデータに反転するビットエラーが比較的多く生じていると考えられる。こうしたフラッシュメモリセル４０の閾値電圧の上昇は、例えば、書き込み時に書き込み対象のフラッシュメモリセル４０以外に電圧ストレスがかかることにより、非選択となっているフラッシュメモリセル４０の浮遊ゲートＦＧに電子が注入されるプログラムディスターブエラーにより生じると考えられる。また、フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の”低閾値データＮｉより多いときには、”０”のデータを記憶しているフラッシュメモリセル４０の閾値電圧が低下して”１”のデータに反転するビットエラーが比較的多く生じていると考えられる。こうしたフラッシュメモリセル４０の閾値電圧の低下は、例えば、データを読み書きせずに保持を継続する際にトンネル酸化膜ＴＤを介して電子が浮遊ゲートＦＧから抜けるデータリテンションエラーなどがある。したがって、ステップＳ１３０の処理は、フラッシュメモリ２２において、フラッシュメモリセル４０の閾値電圧が上昇する方向のエラーとフラッシュメモリセル４０の閾値電圧が低下する方向のエラーとのどちらのビットエラーを判定する処理となる。
【００４２】
フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、フラッシュメモリセル４０の閾値電圧が上昇する方向のエラーが支配的であると判断して、選択トランジスタ４４をオンすると共に選択トランジスタ４６をオフしてビット線ＢＬ１〜ＢＬｍに電源電圧Ｖｃｃを印加した状態で、図６に示すように、ワード線ＷＬ１に書き込み電圧Ｖｐｇｍを印加し、ワード線ＷＬ２〜ＷＬｎにパス電圧Ｖｐａｓｓを印加し、その後、ワード線ＷＬ２に書き込み電圧Ｖｐｇｍを印加し、ワード線ＷＬ１，ＷＬ３〜ＷＬｍにパス電圧Ｖｐａｓｓを印加し、こうした処理を全てのワード線に実行する高ビット線電圧制御を実行して（ステップＳ１３０，Ｓ１４０）、本ルーチンを終了する。図７は、高ビット線電圧印加制御を実行してからの経過時間とビットエラー率との関係を示す説明図である。図中、実線は実施例の高ビット線電圧印加制御を実行するフラッシュメモリ２２における高ビット線電圧印加制御を実行してからの経過時間とビットエラー率との関係を示しており、破線は高ビット線電圧印加制御を行なわない比較例のフラッシュメモリにおけるフラッシュメモリ２２からデータを読み出してからの経過時間とビットエラー率との関係を示している。図示するように、高ビット線電圧印加制御を実行すると、ビットエラー率が一時的に低下する。これは、図８に示すように、書き込み電圧が印加されたワード線に接続されたフラッシュメモリセルのチャネルの電圧が高くなり、絶縁膜ＩＰＤに捕獲されていた電子が一時的に制御ゲートＣＧに注入されフラッシュメモリセルの閾値電圧が低下して、閾値電圧が上昇することによりビットエラーが生じていたフラッシュメモリセル４０のビットエラーを修復されたからだと考えられる。したがって、高ビット線電圧印加制御を実行することにより、フラッシュメモリ２２のビットエラーの数を低減させることができる。こうしてビットエラーの数を低減すると、再びフラッシュメモリ２２から読み出してデータに対してデコーダ３６が誤り訂正と復号とを行なうことができるようになるから、デコーダ３６からホスト装置１０に出力されるデータの信頼性の向上を図ることができる。
【００４３】
フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、フラッシュメモリセル４０の閾値電圧が低下する方向のエラーが支配的であると判断して、図９に示すように、全てのビット線ＢＬ１〜ＢＬｎの電圧を接地電圧ＶＧＮＤにして選択トランジスタ４４，４６を共にオンした状態で、フラッシュメモリセル４０の全てのワード線ＷＬ１〜ＷＬｎに読み出し電圧Ｖｒｅａｄを印加する読み出しオン電圧印加制御を所定回数（例えば、４００回など）繰り返して（ステップＳ１３０，Ｓ１５０）、本ルーチンを終了する。図１０は、読み出しオン電圧印加制御の繰り返し回数とビットエラー率との関係を示す説明図である。 図中、実線は実施例のフラッシュメモリ２２における読み出しオン電圧印加制御の繰り返し回数とビットエラー率との関係を示しており、破線は読み出しオン電圧印加制御を行なわない比較例のフラッシュメモリ２２におけるビットエラー率（読み出しオン電圧印加制御の繰り返し回数に拘わらず一定）を示している。図示するように、読み出しオン電圧印加制御の繰り返し回数が多いほどビットエラー率が低下する傾向がある。これは、図１１に示すように、読み出しオン電圧印加制御により読み出し電圧が印加されたワード線に接続されたフラッシュメモリセルのチャネルの電圧が高くなり、半導体基板Ｓｕｂから浮遊ゲートＦＧに電子が注入  フラッシュメモリセル４０の閾値電圧が徐々に上昇してビットエラーが生じていたフラッシュメモリセル４０のビットエラーが修復されたからだと考えられる。したがって、読み出しオン電圧印加制御を繰り返して実行することにより、フラッシュメモリ２２のビットエラーの数を低減させることができる。こうしてビットエラーの数を低減すると、再びフラッシュメモリ２２から読み出してデータに対してデコーダ３６が誤り訂正と復号とを行なうことができるようになるから、デコーダ３６からホスト装置１０に出力されるデータの信頼性の向上を図ることができる。
【００４４】
以上説明した実施例のＳＳＤ２０によれば、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、高ビット線電圧印加制御を実行することにより、フラッシュメモリ２２のビットエラーの数を低減させることができる。また、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、読み出しオン電圧印加制御を繰り返して実行することにより、フラッシュメモリ２２のビットエラーの数を低減させることができる。こうしてビットエラーの数を低減すると、再びフラッシュメモリ２２から読み出してデータに対してデコーダ３６が誤り訂正と復号とを行なうことができるようになるから、データの信頼性の向上を図ることができる。
【００４５】
実施例のＳＳＤ２０では、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、高ビット線電圧印加制御を実行し、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、読み出しオン電圧印加制御を繰り返して実行するものとしたが、デコーダ３６がこうしたエラー訂正失敗信号を入力しないものとして、フラッシュメモリ２２から読み出された低閾値データ数Ｎｗとフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉとが等しいときにはデコーダ３６で復号したデータがホスト装置１０に出力され、フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、高ビット線電圧印加制御を実行し、フラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、読み出しオン電圧印加制御を繰り返して実行するものとしてもよい。
【００４６】
実施例のＳＳＤ２０では、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、高ビット線電圧印加制御を実行するものとしたが、フラッシュメモリセル４０が閾値電圧の低い状態から高い状態に変化することによるビットエラーがフラッシュメモリ２２に多く生じていると推定される条件が成立したときに高ビット線電圧印加制御を実行すればよいから、例えば、フラッシュメモリ２２へのデータの書き込みが終了してから予め定められた所定時間が経過したときなどに高ビット線電圧印加制御を実行するものとしてもよい。
【００４７】
実施例のＳＳＤ２０では、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、読み出しオン電圧印加制御を繰り返して実行するものとしたが、フラッシュメモリセル４０が閾値電圧の高い状態から引き状態に変化することによるビットエラーがフラッシュメモリ２２に多く生じていると推定される条件が成立したときに読み出しオン電圧印加制御を繰り返して実行すればよいから、例えば、フラッシュメモリ２２へのデータの保持が開始されてから予め定められた所定時間が経過したときなどに読み出しオン電圧印加制御を繰り返して実行するものとしてもよい。
【００４８】
実施例のＳＳＤ２０では、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉ未満であるときには、全てのワード線に対して順次書き込み電圧Ｖｐｇｍを印加するものとしたが、ワード線ＷＬ１〜ＷＬｎのうち少なくとも一つのワード線に書き込み電圧Ｖｐｇｍを印加するものとしてもよい。
【００４９】
実施例のＳＳＤ２０では、デコーダ３６からエラー訂正失敗信号が入力されているときにフラッシュメモリ２２から読み出された低閾値データ数Ｎｗがフラッシュメモリ２２にデータが書き込まれる際の低閾値データ数Ｎｉを超えているときには、全てのビット線ＢＬ１〜ＢＬｎの電圧を接地電圧ＶＧＮＤにするものとしたが、少なくとも一つのビット線の電圧を接地電圧ＶＧＮＤにするものとしてもよい。
【００５０】
実施例のＳＳＤ２０では、図５の読み出し処理ルーチンで、ステップＳ１３０〜Ｓ１５０の処理を実行するものとしたが、ステップＳ１３０，Ｓ１５０の処理を実行せずにステップＳ１４０の処理を実行したり、ステップＳ１３０，Ｓ１４０の処理を実行せずにステップＳ１５０の処理を実行してもよい。
【００５１】
実施例のＳＳＤ２０では、ステップＳ１４０の処理で、ビット線ＢＬ１〜ＢＬｍに電源電圧Ｖｃｃを印加した状態で、ワード線ＷＬ１に書き込み電圧Ｖｐｇｍを印加し、ワード線ＷＬ２〜ＷＬｎにパス電圧Ｖｐａｓｓを印加し、その後、ワード線ＷＬ２に書き込み電圧Ｖｐｇｍを印加し、ワード線ＷＬ１，ＷＬ３〜ＷＬｍにパス電圧Ｖｐａｓｓを印加し、こうした処理を全てのワード線に実行する高ビット線電圧制御を実行するものとしたが、電子を注入する対象であるフラッシュメモリセルに接続されたワード線およびビット線に印加する電圧は、電子を注入する対象であるフラッシュメモリセルに接続されたワード線とビット線との間の電圧差が絶縁膜ＩＰＤから制御ゲートＣＧに電子を注入可能な電圧差以上で、フラッシュメモリセルの耐圧が確保できる程度の電圧であればいかなる電圧でもよい。また、ステップＳ１４０の処理では、一つのワード線に書き込み電圧Ｖｐｇｍが印加され、他のワード線にパス電圧Ｖｐａｓｓが印加されるものとしたが、複数のワード線に書き込み電圧Ｖｐｇｍが印加されるものとしてもよい。
【００５２】
実施例のＳＳＤ２０では、ステップＳ１５０の処理で、全てのビット線ＢＬ１〜ＢＬｎの電圧を接地電圧ＶＧＮＤにして、フラッシュメモリセル４０の全てのワード線ＷＬ１〜ＳＬｎに読み出し電圧Ｖｒｅａｄを印加する読み出しオン電圧印加制御を所定回数（例えば、４００回など）繰り返すものとしたが、こうした読み出しオン電圧印加制御を１回のみ実行するものとしてもよい。
【００５３】
実施例のＳＳＤ２０では、ステップＳ１５０の処理で、全てのビット線ＢＬ１〜ＢＬｎの電圧を接地電圧ＶＧＮＤにして、フラッシュメモリセル４０の全てのワード線ＷＬ１〜ＳＬｎに読み出し電圧Ｖｒｅａｄを印加するものとしたが、電子を注入する対象であるフラッシュメモリセルに接続されたワード線およびビット線に印加する電圧は、電子を注入する対象であるフラッシュメモリセルに接続されたワード線とビット線との間の電圧差が半導体基板Ｓｕｂから浮遊ゲートＦＧに電子を注入可能な電圧差以上で、フラッシュメモリセルの耐圧が確保できる程度の電圧であればいかなる電圧でもよい。また、ステップＳ１５０の処理では、全てのワード線に読み出し電圧Ｖｒｅａｄが印加されるものとしたが、全てのワード線のうちの少なくとも一つに読み出し電圧Ｖｒｅａｄが印加されればよいから、一つのワード線のみに、読み出し電圧Ｖｒｅａｄが印加されるものとしてもよい。
【００５４】
実施例のＳＳＤ２０では、入力されたデータをＬＤＰＣ符号に符号化するものとしたが、エラー訂正符号としては、ＬＤＰＣ符号に限定されるものではなく、例えば、ＢＣＨ符号などとしてもよい構わない。
【００５５】
実施例では、本発明のメモリコントローラがＳＳＤに搭載されているものとしたが、メモリコントローラがフラッシュメモリが搭載された装置内に搭載されているものに限定されずに、例えば、メモリコントローラがパーソナルコンピュータに搭載されるものとし、パーソナルコンピュータに挿入されたフラッシュメモリ搭載のＵＳＢメモリを制御するものとしても構わない。
【００５６】
実施例では、本発明はメモリコントローラに適用した場合について説明したが、本発明をフラッシュメモリの制御方法に適用するものとしてもよい。
【００５７】
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。本発明の第１のメモリコントローラにおいては、実施例では、図５の読み出し処理ルーチンのステップＳ１４０の処理を実行する電圧印加制御部３８が「電圧印加制御部」に相当する。また、本発明の第２のメモリコントローラにおいては、実施例では、図５の読み出し処理ルーチンのステップＳ１５０の処理を実行する電圧印加制御部３８が「電圧印加制御部」に相当する。また、本発明の第１または第２のフラッシュメモリシステムにおいては、実施例では、メモリコントローラ３０が「メモリコントローラ」に相当し、フラッシュメモリ２２が「フラッシュメモリ」に相当する。
【００５８】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００５９】
本発明は、メモリコントローラやフラッシュメモリシステムの製造産業などに利用可能である。
【符号の説明】
【００６０】
１０  ホスト装置、２０  ＳＳＤ、２２  フラッシュメモリ、２４  メモリセルアレイ、３０  メモリコントローラ、３１  Ｎ１カウンタ、３２  エンコーダ、３６  デコーダ、３８  電圧印加制御部、４０  フラッシュメモリセル、４４，４６  選択トランジスタ、ＢＬ１〜ＢＬｍ  ビット線、ＣＧ  制御ゲート、ＦＧ  浮遊ゲート、ＩＰＤ  絶縁膜、ＴＤ  トンネル酸化膜、Ｓｕｂ  半導体基板、ＷＬ１〜ＷＬｎ  ワード線。
【図１】
2013137848.tif 000003
【図２】
2013137848.tif 000004
【図３】
2013137848.tif 000005
【図４】
2013137848.tif 000006
【図５】
2013137848.tif 000007
【図６】
2013137848.tif 000008
【図７】
2013137848.tif 000009
【図８】
2013137848.tif 000010
【図９】
2013137848.tif 000011
【図１０】
2013137848.tif 000012
【図１１】
2013137848.tif 000013