(57)【要約】【課題】不安定なスレショルド電圧を有したメモリセルが多く存在するページを検出する不安定メモリセル散布を検出するメモリ・システム及びその検出方法を提供する。【解決手段】本発明のメモリ・システムは、ＳＳＤ及びメモリ・コントローラを具備し、ＳＳＤは複数個のメモリセルを含み、メモリ・コントローラは、ＳＳＤにデータを記録して記録されたデータを読み取る機能を遂行し、ＳＳＤに標準読み取り電圧及び標準読み取り電圧と一定の電圧準位の差がある修正読み取り電圧を印加し、標準読み取り電圧及び修正読み取り電圧を利用してＳＳＤに保存されたデータの散布を分析し、ＳＳＤに保存されたデータの有効性如何を判断して該ＳＳＤに保存されたデータを矯正する機能を遂行する。【選択図】図１０
2011076706.tif 000002
【特許請求の範囲】
【請求項１】
単一のメモリセル又は複数個のメモリセルを含むページに含まれた複数個のメモリセルのうちの不安定メモリセルの散布を検出する不安定メモリセル散布を検出する方法であって、
標準読み取り電圧準位でメモリセルに保存されたデータの読み取り時に読み取りエラーがない場合、読み取りエラーが発生した場合であるならば矯正可能な場合及び矯正不可能な場合のうちのいずれの場合であるかを判断するメモリセルの初期状態把握段階と、
発生した読み取りエラーが矯正可能な場合であると判断された場合、前記標準読み取り電圧準位と異なる電圧準位を有する修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取り、前記修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取るときに発生する読み取りエラーが矯正可能な場合及び読み取りエラーが矯正不可能な場合のうちのいずれの場合であるかを判断するメモリセル矯正可否把握段階と、を有することを特徴とする不安定メモリセル散布を検出する方法。
【請求項２】
前記不安定メモリセル散布を検出する方法は、
前記メモリセルの初期状態把握段階の判断結果、
読み取りエラーがない場合には、当該メモリセル又は当該ページに保存されたデータは安定したメモリセルであると判断し、
読み取りエラーが矯正不可能な場合には、当該メモリセル又は当該ページに保存されたデータは使用しないものと判断することを特徴とする請求項１に記載の不安定メモリセル散布を検出する方法。
【請求項３】
前記メモリセルの初期状態把握段階は、
読み取りエラーが矯正不可能な場合であるか否かを判断する第１判断段階と、
読み取りエラーが存在しない場合であるか否かを判断する第２判断段階と、を含むことを特徴とする請求項２に記載の不安定メモリセル散布を検出する方法。
【請求項４】
前記メモリセル矯正可否把握段階は、
標準読み取り電圧準位で、メモリセルに保存されたデータの読み取り時に矯正が可能な読み取りエラーが発生したメモリセルの個数を決定して前記修正読み取り電圧準位を決定する第１決定段階と、
前記修正読み取り電圧準位を利用し、メモリセルのデータの読み取り時に発生する読み取りエラーが矯正可能な場合又は矯正不可能な場合のうちのいずれの場合であるかを判断する修正読み取りエラー判断段階と、を含むことを特徴とする請求項１に記載の不安定メモリセル散布を検出する方法。
【請求項５】
前記修正読み取りエラー判断段階は、
発生した読み取りエラーが矯正不可能な場合であるか否かを判断する第３判断段階と、
発生した読み取りエラーが矯正不可能な読み取りエラーではない場合、修正読み取り電圧準位を利用してメモリセルのデータの読み取り時に矯正可能な読み取りエラーが発生したメモリセルの個数を決定する第２決定段階と、
前記第２決定段階で決定された矯正可能なメモリセルの個数が前記第１決定段階で決定された矯正可能なメモリセルの個数より多いか否かを判断する第４判断段階と、を含むことを特徴とする請求項４に記載の不安定メモリセル散布を検出する方法。
【請求項６】
前記第３判断段階で矯正不可能な読み取りエラーが発生した場合には、当該メモリセル又は当該ページに保存されたデータをそれ以上使用しないと判断し、
前記第４判断段階で、
前記第２決定段階で決定された矯正可能なメモリセルの個数が前記第１決定段階で決定された矯正可能なメモリセルの個数より多い場合には、当該メモリセル又は当該ページに保存されたデータをそれ以上使用しないと判断し、
前記第２決定段階で決定された矯正可能なメモリセルの個数が前記第１決定段階で決定された矯正可能なメモリセルの個数より少ない場合には、当該メモリセル又は当該ページに保存されたデータが安定メモリセルであると判断することを特徴とする請求項５に記載の不安定メモリセル散布を検出する方法。
【請求項７】
複数枚のページに、前記メモリセルの初期状態把握段階と前記メモリセル矯正可否把握段階とを反復的に遂行することを特徴とする請求項１に記載の不安定メモリセル散布を検出する方法。
【請求項８】
前記メモリセル矯正可否把握段階は、
前記修正読み取り電圧準位を、少なくとも２つの電圧準位で変化させることを特徴とする請求項１に記載の不安定メモリセル散布を検出する方法。
【請求項９】
単一のメモリセル又は複数個のメモリセルを含むページに含まれた複数個のメモリセルのうちの不安定メモリセルの散布を検出する不安定メモリセル散布を検出する方法であって、
標準読み取り電圧準位でメモリセルに保存されたデータの読み取り時に読み取りエラーがない場合、読み取りエラーが発生した場合であるならば矯正可能な場合及び矯正不可能な場合のうちのいずれの場合であるかを判断するメモリセルの初期状態把握段階と、
発生した読み取りエラーが矯正可能な場合であると判断された場合、前記標準読み取り電圧準位と異なる電圧準位を有する修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取り、前記修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取るときに発生する読み取りエラーが矯正可能な場合及び読み取りエラーが矯正不可能な場合のうちのいずれの場合であるかを判断するメモリセル矯正可否把握段階と、を有し、
前記メモリセル矯正可否把握段階を、前記修正読み取り電圧準位を少なくとも２つの電圧準位で変化させて反復的に遂行するか、
前記メモリセルの初期状態把握段階及び前記メモリセル矯正可否把握段階を少なくとも２枚のページに対して反復的に遂行するか、
又は前記２種をいずれも反復的に遂行することを特徴とする不安定メモリセル散布を検出する方法。
【請求項１０】
メモリ装置及び該メモリ装置を制御するメモリ・コントローラを具備するメモリ・システムであって、
前記メモリ・コントローラは、前記メモリ装置に含まれたメモリセルに保存されたデータに対し、標準読み取り電圧準位及び修正読み取り電圧準位を利用して当該メモリセル又は当該メモリページで発生する読み取りエラーを検出し、検出された結果によって当該メモリセルをそのまま使用する場合又は当該メモリセルにデータを新しく保存しなければならない場合のうちの１つの場合を判断する機能を遂行することを特徴とするメモリ・システム。
【請求項１１】
複数個のメモリセルを含むＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｉｓｃ）と、
前記ＳＳＤにデータを記録して記録されたデータを読み取るメモリ・コントローラと、を具備し、
前記メモリ・コントローラは、
前記ＳＳＤに標準読み取り電圧と、該標準読み取り電圧と一定の電圧準位の差がある修正読み取り電圧とを印加し、
前記標準読み取り電圧及び前記修正読み取り電圧を利用して前記ＳＳＤに保存されたデータの散布を分析し、
前記ＳＳＤに保存されたデータの有効性如何を判断して前記ＳＳＤに保存されたデータを矯正することを特徴とするメモリ・システム。
【請求項１２】
前記メモリ・コントローラは、
演算処理装置と、
ＥＣＣ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ）ユニットと、を具備し、
前記演算処理装置は、前記ＳＳＤに前記標準読み取り電圧を伝達して前記標準読み取り電圧によるデータの散布を分析し、
前記ＥＣＣユニットは、前記データの散布から前記ＳＳＤに保存されたデータにエラーがあるか否かを判断してエラーがあると判断した場合に矯正可能であるか矯正不可能であるかを判断し、
矯正が不可能であると判断した場合、前記演算処理装置は当該メモリセルに保存されたデータを使用させないようにホストに指示し、
矯正が可能であると判断した場合、前記演算処理装置はＳＳＤに前記修正読み取り電圧を伝達して前記修正読み取り電圧によるデータの散布を分析し、前記ＥＣＣユニットは分析の結果によって矯正可否を判断し、該判断の結果によって演算処理装置は前記ＳＳＤに保存されたデータを矯正することを特徴とする請求項１１に記載のメモリ・システム。
【請求項１３】
前記メモリ・コントローラは、
内部メモリを更に具備し、
前記ＳＳＤに保存されたデータを矯正する際、前記演算処理装置は、当該メモリセルに保存されたデータを前記内部メモリに保存した後、前記内部メモリに保存されたデータをＳＳＤの当該メモリセルに更に記録することを特徴とする請求項１２に記載のメモリ・システム。
【請求項１４】
前記ＳＳＤは、フラッシュ・メモリを具備することを特徴とする請求項１１に記載のメモリ・システム。
【請求項１５】
前記ＳＳＤに保存されたデータの有効性如何は、前記ＳＳＤを一定の区域に区分したときの単位区域に含まれるデータを基準とすることを特徴とする請求項１１に記載のメモリ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ・システムに関し、より詳細には、不安定なメモリセル散布を検出してこれを補完するメモリ・システム及びその検出方法に関する。
【背景技術】
【０００２】
コンピュータは、記録媒体としてハードディスクを採用しているが、磁気保存方式のハードディスクは、保存容量は多いが、衝撃を受けるとデータが失われることもあり、モータで回すディスクをヘッドで読み取る方式であることから、径の内側と外側とを読み取る速度も異なる。ハードディスクの代用として、フラッシュ・メモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）を内蔵したＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｉｓｃ）が最近提案され、データのアクセス速度はハードディスクに比べて速く、特に、いくつかのファイルを一度に読み取るときにＳＳＤの速度は驚くほど速い。
【０００３】
一般的なメモリ・システムは、データを保存するためのメモリと、メモリの動作を制御するメモリ・コントローラとを具備する。半導体メモリの一種であるフラッシュ・メモリは、データが保存されるメモリセル、即ち、フローティング・ゲート（ｆｌｏａｔｉｎｇ  ｇａｔｅ）を含んでいるトランジスタを具備する。フローティング・ゲートに一定量の電荷（ｃｈａｒｇｅ）を蓄積させることをプログラムといい、それぞれのメモリセルには、シングルビット・データ（ｓｉｎｇｌｅ  ｂｉｔ  ｄａｔａ）又はマルチビット・データ（ｍｕｌｔｉ  ｂｉｔ  ｄａｔａ）が保存される。シングルビット・データを保存するメモリセルは、スレショルド電圧分布（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ）によって、２つの電圧準位（ｖｏｌｔａｇｅ  ｌｅｖｅｌ）を有し、マルチビット・データを保存するメモリセルは、４つ又はそれ以上の電圧準位を有する。
【０００４】
シングルビット、即ち、論理１（ｏｎｅ）及び論理０（ｚｅｒｏ）を表現しようとする場合、フローティング・ゲートに一定量の電荷が蓄積されているトランジスタと、電荷が蓄積されていないトランジスタとでこれを具現できる。即ち、フローティング・ゲートに保存された電荷は、当該トランジスタのスレショルド電圧を決定することになるので、トランジスタのゲート端子に一定の電圧準位を有する信号を印加したとき、ターンオンされるトランジスタと、ターンオンされないトランジスタとを区別できる。このとき、ゲート端子に印加される一定の電圧準位を読み取り電圧準位（ｒｅａｄ  ｖｏｌｔａｇｅ  ｌｅｖｅｌ）といい、シングルビットの場合、１種類の読み取り電圧準位のみが必要になる。
【０００５】
論理００、０１、１０、及び１１のようなマルチビットを表現しようとする場合、フローティング・ゲートに蓄積させる電荷の量を３種類に区別せねばならないので、読み取り電圧の準位は、３種類が必要になる。フローティング・ゲートに保存された電荷は、フラッシュ・メモリの温度変化による移動度（ｍｏｂｉｌｉｔｙ）の変化、経時的な充電電荷の減少、プログラム時の隣接セル・ディスターブ（ｄｉｓｔｕｒｂ）などの様々な原因によって、セルのスレショルド電圧の一定の範囲での変化が不回避である。従って、プログラム時から、読み取り電圧準位を考慮したそれぞれの準位間の一定の余裕（ｍａｒｇｉｎ）を考慮して電荷の量を蓄積させている。
【０００６】
フラッシュ・メモリセルにデータを記録する基本単位は、ページ（ｐａｇｅ）であり、フラッシュ・メモリのメモリセルをプログラムするためには、ソース、ドレイン、ゲート、及びバルクに、一定の電圧を印加せねばならない。プログラムを進めていた最中に、急に電源が消える状況が発生すると、電源が消える瞬間にプログラムしたページは、プログラムが完了していないので、完全なデータが当該ページに保存されていないことになる。このような状態のページに保存されたデータは、使用することができず、一般的には、矯正が不可能な状態となる。
【０００７】
ページ読み取り時に、メモリ・コントローラでは、ＥＣＣ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ）アルゴリズムの指示によって、当該ページの状態が、矯正不可能エラー信号（ｕｎｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ）又は矯正可能エラー信号（ｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ）のうちのいずれの信号を生成するか決定される。メモリ・コントローラは、上記の通り、当該ページが正常にプログラムされていないと判断する場合、矯正不可能エラー信号を生成させることにより、当該ページのデータを無効データとして処理する。即ち、電源が遮断される直前にプログラムしたページであり、突然の電源の遮断によってエラーが発生したと判断された場合、当該ページは、不明確なデータ（ｉｎｖａｌｉｄ  ｄａｔａ）として処理し、最後の書き込み要請のＬＢＡ（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ）データは無視する。
【０００８】
しかし、プログラム状態がほぼ完了する直前であった場合、当該ページに保存されたデータは、矯正が可能ではあり得るが、このような場合、メモリ・コントローラは、矯正可能エラー信号を生成させることにより、当該ページを今後とも使用可能にする。ここで、プログラムがほぼ完了する直前の状態というのは、必要な量の電荷が、当該フローティング・ゲートに十分ではないが、ある程度は蓄積されていることを意味する。しかし、このような状態のページを矯正可能であるとして、データを補完することなしにそのまま使用する場合、保存されたデータを読み取るときに読み取りエラー（ｒｅａｄ  ｅｒｒｏｒ）が発生する余地が十分にある。この場合、メモリ・コントローラで矯正可能エラー信号を生成したので、当該ページは、今後プログラムを再び実施しなくなり、蓄積された電荷が不十分な状態として残っていることになる。
【０００９】
フローティング・ゲートに蓄積された電荷の量は、保存されたデータを読み取る過程、又は自然な漏れ（ｌｅａｋａｇｅ）によって減少し得る。そうではなくても、不十分に蓄積された電荷が更に減ることになると、当該セルに保存されたデータは、プログラムするときの意図とは異なる値を示すことになる。
【００１０】
プログラムを進めている最中に電源が消え、即ち、プログラムが完璧に仕上がっていないが、ほぼ完了していると判断される場合、ページに保存されたデータを読み取るときに発生し得る読み取りエラーを遮断できる方法が要求される。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、不安定なスレショルド電圧を有したメモリセルが多く存在するページを検出する不安定メモリセル散布を検出するメモリ・システムを提供することにある。
本発明の他の目的は、不安定メモリセル散布を検出する方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するためになされた本発明の一特徴によるメモリ・システムは、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｉｓｃ）及びメモリ・コントローラを具備する。前記ＳＳＤは、複数個のメモリセルを含む。前記メモリ・コントローラは、前記ＳＳＤにデータを記録して記録されたデータを読み取る機能を遂行し、前記ＳＳＤに標準読み取り電圧と、該標準読み取り電圧と一定の電圧準位の差がある修正読み取り電圧とを印加し、前記標準読み取り電圧及び前記修正読み取り電圧を利用して前記ＳＳＤに保存されたデータの散布を分析し、前記ＳＳＤに保存されたデータの有効性如何を判断して前記ＳＳＤに保存されたデータを矯正する機能を遂行する。
【００１３】
本発明の他の特徴によるメモリ・システムにおいて、前記メモリ・コントローラは、前記メモリ装置に含まれたメモリセルに保存されたデータに対し、標準読み取り電圧準位及び修正読み取り電圧準位を利用して当該メモリセル又は当該メモリページで発生する読み取りエラーを検出し、検出された結果によって当該メモリセルをそのまま使用する場合又は当該メモリセルにデータを新しく保存しなければならない場合のうちの１つの場合を判断する機能を遂行する。
【００１４】
上記目的を達成するためになされた本発明の一特徴による不安定メモリセル散布を検出する方法は、単一のメモリセル又は複数個のメモリセルを含むページに含まれた複数個のメモリセルのうちの不安定メモリセルの散布を検出する不安定メモリセル散布を検出する方法であって、メモリセルの初期状態把握段階とメモリセル矯正可否把握段階とを有する。前記メモリセルの初期状態把握段階は、標準読み取り電圧準位でメモリセルに保存されたデータの読み取り時に読み取りエラーがない場合、読み取りエラーが発生した場合であるならば矯正可能な場合及び矯正不可能な場合のうちのいずれの場合であるかを判断する。前記メモリセル矯正可否把握段階は、発生した読み取りエラーが矯正可能な場合であると判断された場合、前記標準読み取り電圧準位と異なる電圧準位を有する修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取り、前記修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取るときに発生する読み取りエラーが矯正可能な場合及び読み取りエラーが矯正不可能な場合のうちのいずれの場合であるかを判断する。
【００１５】
本発明の他の特徴による不安定メモリセル散布を検出する方法は、単一のメモリセル又は複数個のメモリセルを含むページに含まれた複数個のメモリセルのうちの不安定メモリセルの散布を検出する不安定メモリセル散布を検出方法であって、メモリセルの初期状態把握段階とメモリセル矯正可否把握段階とを有する。前記メモリセルの初期状態把握段階は、標準読み取り電圧準位でメモリセルに保存されたデータの読み取り時に読み取りエラーがない場合、読み取りエラーが発生した場合であるならば矯正可能な場合及び矯正不可能な場合のうちのいずれの場合であるかを判断する。前記メモリセル矯正可否把握段階は、発生した読み取りエラーが矯正可能な場合であると判断された場合、前記標準読み取り電圧準位と異なる電圧準位を有する修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取り、前記修正読み取り電圧準位で前記メモリセルに保存されたデータを読み取るときに発生する読み取りエラーが矯正可能な場合及び読み取りエラーが矯正不可能な場合のうちのいずれの場合であるかを判断する。ここで、前記メモリセル矯正可否把握段階を、前記修正読み取り電圧準位を少なくとも２つの電圧準位で変化させて反復的に遂行するか、前記メモリセルの初期状態把握段階及び前記メモリセル矯正可否把握段階を少なくとも２枚のページに対して反復的に遂行するか、又は前記２種をいずれも反復的に遂行する。
【図面の簡単な説明】
【００１６】
【図１】ＬＳＢ（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）ページのプログラム分布を示す図面である。
【図２】ＬＳＢ及びＭＳＢ（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）ページのプログラム分布を示す図面である。
【図３】本発明の一実施形態による不安定メモリセル散布を検出する方法の信号フローチャートである。
【図４】本発明の一実施形態による不安定メモリセル散布を検出する際、修正読み取り電圧準位を可変させる段階を含む場合の信号フローチャートである。
【図５】本発明の一実施形態による不安定メモリセル散布を検出する際、複数枚のページに対して反復的に遂行する場合の信号フローチャートである。
【図６】本発明の一実施形態による不安定メモリセル散布を検出する機能を遂行するメモリ・コントローラを具備するメモリ・システムのブロック図である。
【図７】不安定セル散布を含むページの処理方法の一例を示す図面である。
【図８】不安定セル散布を含むページの処理方法の一例を示す図面である。
【図９】不安定セル散布を含むページの処理方法の一例を示す図面である。
【図１０】本発明の一実施形態によるメモリ・システムを示す図面である。
【発明を実施するための形態】
【００１７】
本発明、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の例示的な実施形態を説明する図面、及び図面に記載された内容を参照せねばならない。
【００１８】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。各図面に示した同じ参照符号は、同じ構成要素を示す。
【００１９】
本発明の核心のアイディアは、正常な動作状態で使われる標準読み取り電圧準位と、電圧準位で差がある修正読み取り電圧準位で、メモリセルのスレショルド電圧分布を検出し、検出結果によって、当該メモリセルのプログラムの有効性について判断することである。本発明による方式を導入することによって、従来の場合、実際には、プログラム時に問題があったり、正常なプログラムが遂行された後にメモリ装置の環境の変化によって発生したりするエラーを、予め確認してこれに対する措置を取ることができるようにする。
【００２０】
図１は、ＬＳＢ（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）ページのプログラム分布を示す図面である（１００）。
【００２１】
図１に示した分布は、ＳＬＣ（ｓｉｎｇｌｅ  ｌｅｖｅｌ  ｃｅｌｌ）又はＭＬＣ（ｍｕｌｔｉ  ｌｅｖｅｌ  ｃｅｌｌ）の場合、論理ハイ（ｌｏｇｉｃ  ｈｉｇｈ）又は論理ロー（ｌｏｇｉｃ  ｌｏｗ）の値で表現されるＬＳＢページに関するものである。実線分布Ｐ１は、正常にプログラムされた場合の分布を示し、点線分布Ｐ１’は、プログラムが非正常的に進められたり、プログラムは正常に行われたが、その後メモリ装置の環境によって分布が変更したりした場合を示す。水平軸は、電圧準位を示し、垂直軸は、当該電圧準位に対応するメモリセルの個数を示す。メモリセルの電圧準位は、当該メモリセルをターンオンさせることができる電圧、即ち、スレショルド電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を意味する。ここで、分布の概念として表現するのは、一般的にメモリセルに保存されるデータの基本単位をページとするためであり、１枚のページには、複数個のメモリセルが含まれている。
【００２２】
メモリセルに保存されたデータが正常分布Ｐ１を示す場合、標準読み取り電圧準位ｒｅａｄ１を利用してメモリセルに保存されたデータを読み取るとき、読み取りエラーが発生しない。即ち、標準読み取り電圧準位ｒｅａｄ１に対応するスレショルド電圧を有するメモリセルが発見されない。正常分布Ｐ１の場合には、標準読み取り電圧準位と一定の電圧準位の差がある修正読み取り電圧準位ｒｅａｄ１’に対応するスレショルド電圧を有するメモリセルは存在しない。正常にプログラムされていたり、フローティング・ゲートに蓄積された電荷が漏れていなかったりした場合など、正常なプログラム後に、メモリセルの環境によってもメモリセルのスレショルド電圧が変化しない場合には、上述のように、読み取り電圧準位を一定の範囲内で修正する場合にも、読み取りエラーが発生しない。
【００２３】
しかし、非正常的にプログラムされている非正常分布Ｐ１’の場合には、標準読み取り電圧準位ｒｅａｄ１でメモリセルに保存されたデータを読み取るときには、エラーが発生しないこともあり得る。しかし、修正読み取り電圧準位ｒｅａｄ１’でメモリセルに保存されたデータを読み取る場合には、読み取りエラーが発生する。即ち、修正読み取り電圧準位ｒｅａｄ１’に対応するスレショルド電圧を有するメモリセルが多数個存在する。
【００２４】
上述のように、正常なメモリセルの場合には、一定の範囲内で読み取り電圧準位を変更しても、読み取りエラーが発生しないが、非正常的なメモリセルの場合には、読み取り電圧準位が少しだけ変わっても、読み取りエラーが発生する確率が上昇する。ここで、修正読み取り電圧準位と標準読み取り電圧準位との差は、メモリセルに使われるトランジスタによって決定され、差を０．０５Ｖ（ｖｏｌｔ）単位で増減させる場合を例として挙げることができる。
【００２５】
図２は、ＬＳＢ及びＭＳＢ（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）ページのプログラム分布を示す図面である（２００）。
【００２６】
図２に示した分布はＭＬＣの場合、ＭＳＢ又はＬＳＢのページに関するものであり、実線分布Ｐ１は、正常にプログラムされた場合、そして点線分布Ｐ１’は、プログラムが非正常的に進められたり、プログラムは正常に行われたが、その後メモリ装置の環境によって分布が変更したりした場合を示す。マルチビットの場合であるから、それぞれの分布は、例えば、００、０１、１０、又は１１を表示する。
【００２７】
図２を参照すると、正常にプログラムされているメモリセルの正常分布Ｐ１、Ｐ２、Ｐ３の場合、スレショルド電圧が標準読み取り電圧準位ｒｅａｄ１、ｒｅａｄ２、ｒｅａｄ３、及び修正読み取り電圧準位ｒｅａｄ１’、ｒｅａｄ２’、ｒｅａｄ３’に対応するメモリセルが存在しない。非正常的にプログラムされているメモリセルの非正常分布Ｐ１’、Ｐ２’、Ｐ３’の場合、スレショルド電圧が標準読み取り電圧準位ｒｅａｄ１、ｒｅａｄ２、ｒｅａｄ３に対応するメモリセルが存在しないが、修正読み取り電圧準位ｒｅａｄ１’、ｒｅａｄ２’、ｒｅａｄ３’に対応するメモリセルは、存在することになる。
【００２８】
図１及び図２で説明した通り、正常にプログラムされたメモリセル、又はメモリセルを具備するメモリ・システムの周囲環境が変わったにもかかわらず、メモリセルのスレショルド電圧の電圧準位に殆ど変化がない場合には、標準読み取り電圧準位でデータを読み取る場合、及び修正読み取り電圧準位でデータを読み取る場合、いずれも読み取りエラーが発生しない。しかし、非正常的にプログラムされたメモリセル、又は正常にプログラムされたが、メモリセルを具備するメモリ・システムの周囲環境の変化によってメモリセルのスレショルド電圧の電圧準位が急変した場合には、読み取りエラーが発生するということがわかる。以下、上記内容を基に本発明について説明する。
【００２９】
図３は、本発明の一実施形態による不安定メモリセル散布を検出する方法の信号フローチャートである。
【００３０】
図３を参照すると、不安定メモリセル散布の検出方法（３００）は、データ読み取り段階（ステップ３１０）、初期状態把握段階（ステップ３２０）、矯正可否判断段階（ステップ３５０）、使用しないメモリセルで判定する段階（ステップ３８０）、使用しないと判定されたメモリセルを再プログラムする段階（ステップ３８１−１）、及び安定なメモリセルと判定する段階（ステップ３９０）を含む。
【００３１】
データ読み取り段階（ステップ３１０）は、標準読み取り電圧準位でメモリセルに保存されたデータを読み取る（ｒｅａｄ  ｋ  ｐａｇｅ）。
【００３２】
初期状態把握段階（ステップ３２０）は、標準読み取り電圧準位でメモリセルに保存されたデータを読んだとき、読み取りエラーがない場合及び読み取りエラーが発生した場合を把握し、読み取りエラーが発生した場合であるならば、矯正が可能な場合及び矯正が不可能な場合のうちのいずれの場合であるかを判断する。このために、初期状態把握段階（ステップ３２０）は、読み取りエラーが矯正不可能な場合であるか否かを判断する第１判断段階（ステップ３２１）、及び読み取りエラーが存在しない場合であるか否かを判断する第２判断段階（ステップ３２２）を有する。
【００３３】
第１判断段階（ステップ３２１）で、読み取りエラーが矯正不可能な場合と判断した場合には、当該メモリセル又は当該ページに保存されたデータは使用しないものと決定する（ステップ３８０）（ｋ  ｐａｇｅ  ｉｓ  ｉｎｖａｌｉｄ）。この場合、使用しないと判定されたメモリセルを再プログラムする段階（ステップ３８１−１）を最終的に遂行することになる。第１判断段階（ステップ３２１）での判断結果、読み取りエラーが矯正不可能な場合ではないならば、読み取りエラーが全くないか、矯正が可能な読み取りエラーが発生した場合だけ残る。第２判断段階（ステップ３２２）で、読み取りエラーがないと判断した場合には、当該メモリセル又は当該ページに保存された電荷には、いかなる問題もないので、当該メモリセル又はページは、安定したメモリセルであると判断できる（ステップ３９０）（ｋ  ｐａｇｅ  ｉｓ  ｖａｌｉｄ）。
【００３４】
矯正可否判断段階（ステップ３５０）は、初期状態把握段階（ステップ３２０）で、読み取りエラーが矯正可能であると判断した場合の後続処理過程である。矯正可否判断段階（ステップ３５０）は、標準読み取り電圧準位と異なる電圧準位を有する修正読み取り電圧準位でメモリセルに保存されたデータを読み取り、修正読み取り電圧準位でメモリセルに保存されたデータを読み取るときに発生する読み取りエラーが矯正可能な場合、及び読み取りエラーが矯正不可能な場合のうちのいずれの場合であるかを判断する。
【００３５】
メモリセル矯正可否把握段階（ステップ３５０）は、第１決定段階（ステップ３６０）、及び修正読み取りエラー判断段階（ステップ３７０）を具備する。
【００３６】
第１決定段階（ステップ３６０）は、標準読み取り電圧準位でメモリセルに保存されたデータの読み取り時に、矯正が可能な読み取りエラーが発生したメモリセルの個数Ｎを決定し（ステップ３６１）（ｎｕｍｂｅｒ  ｏｆ  Ｃ／Ｅ＝Ｎ）、修正読み取り電圧準位を決定する（ステップ３６２）（ａｄｊｕｓｔ  ｒｅａｄ  ｌｅｖｅｌ）。
【００３７】
修正読み取りエラー判断段階（ステップ３７０）は、第３判断段階（ステップ３７１）、第２決定段階（ステップ３７２）、及び第４判断段階（ステップ３７３）を遂行することによって、修正読み取り電圧準位を利用してメモリセルのデータの読み取り時に発生する読み取りエラーが矯正可能な場合又は矯正が不可能な場合のうちのいずれの場合であるかを判断する。
【００３８】
第３判断段階（ステップ３７１）は、発生した読み取りエラーが矯正不可能な場合であるか否かを判断し、矯正が不可能な場合には、当該メモリセル又は当該ページに保存されたデータは、使用しないものと決定する（ステップ３８０）（ｋ  ｐａｇｅ  ｉｓ  ｉｎｖａｌｉｄ）。
【００３９】
第２決定段階（ステップ３７２）は、第３判断段階（ステップ３７１）で発生した読み取りエラーが矯正不可能な読み取りエラーではない場合、修正読み取り電圧準位を利用してメモリセルのデータの読み取り時に矯正が可能な読み取りエラーが発生したメモリセルの個数Ｎ’を決定する（ｎｕｍｂｅｒ  ｏｆ  Ｃ／Ｅ＝Ｎ’）。
【００４０】
第４判断段階（ステップ３７３）は、第２決定段階（ステップ３７２）で決定された矯正が可能なメモリセルの個数Ｎ’が、第１決定段階（ステップ３６０）で決定された矯正が可能なメモリセルの個数より多いか否かを判断する（Ｎ’＞Ｎ）。判断結果、第２決定段階（ステップ３７１）で決定された矯正が可能なメモリセルの個数Ｎ’が、第１決定段階（３６０）で決定された矯正が可能なメモリセルの個数より多い場合には（Ｎ’＞Ｎ）、当該メモリセル又は当該ページに保存されたデータは、使用しないものと決定する（３８０）（ｋ  ｐａｇｅ  ｉｓ  ｉｎｖａｌｉｄ）。反対に、決定された矯正が可能なメモリセルの個数Ｎ’が、第１決定段階（ステップ３６０）で決定された矯正が可能なメモリセルの個数より少ない場合には（Ｎ’＜Ｎ）、当該メモリセル又は当該ページに保存されたデータが、安定メモリセルであると判断する（ステップ３９０）（ｋ  ｐａｇｅ  ｉｓ  ｖａｌｉｄ）。
【００４１】
上述のように、本発明による不安定メモリセル散布を検出する方法（ステップ３００）は、標準読み取り電圧準位でメモリセルデータの読み取り時に発生した読み取りエラーが矯正可能であると判断される場合に特に有効であり、この場合、一旦読み取り電圧準位を変更させた修正読み取り電圧準位でメモリセルデータをもう一度更に読み取る。標準読み取り電圧準位で読んだときと、修正読み取り電圧準位で読んだときとを比較し、当該メモリセル又は当該ページをそのまま使用するか、再プログラムして使用するかを決定する。即ち、標準読み取り電圧準位で読んだときに発生した矯正が可能な読み取りエラーの個数と、修正読み取り電圧準位で読んだときに発生した矯正が可能な読み取りエラーの個数とを比較し、修正読み取り電圧準位で読んだときに発生した矯正が可能な読み取りエラーの個数が、標準読み取り電圧準位で読んだときに発生した矯正が可能な読み取りエラーの個数に比べて減った場合ではないならば、当該メモリセル又は当該ページは、その後矯正できない読み取りエラーが発生する確率がかなり高いと判断し、これに対応する措置を取ることとする。
【００４２】
上記説明は、単に１つのメモリセル又は１枚のページに対して本発明を実施するように表現している。また、修正読み取り電圧準位は、１つの任意の電圧準位に固定されているように判断することもできるが、本発明は、後述する領域に拡大解釈可能である。
【００４３】
図４は、本発明の一実施形態による不安定メモリセル散布を検出する際、修正読み取り電圧準位を可変させる段階を含む場合の信号フローチャートである。
【００４４】
図４を参照すると、不安定メモリセル散布を検出する方法（４００）は、それぞれ異なる電圧準位を有する複数個の修正読み取り電圧準位を利用して実施できる。残りの段階は、図３に示した段階と対応するので、修正読み取り電圧準位を可変させて、メモリセルのデータの読み取りを行う段階（ステップ４３０）についてのみ説明する。
【００４５】
メモリセルのデータの読み取りを行う段階（ステップ４３０）で、修正読み取り電圧準位は、標準読み取り電圧準位Ｉｎｉに一定の準位の電圧Ｉｎｃを順次に加えたり減少させたりして、メモリセルに保存されたデータ読み取りを、最終読み取り電圧準位ＬＡＳＴになるときまで行う。ここで、ｉは変数であり、Ｌは整数である。Ｕ．Ｃ．Ｅ．は、矯正が不可能な読み取りエラー（ｕｎ−ｃｏｒｒｅｃｔａｂｌｅ  ｅｒｒｏｒ）を意味し、Ｃ／Ｅは、矯正が可能なエラー（ｃｏｒｒｅｃｔａｂｌｅ  ｅｒｒｏｒ）を意味する。
【００４６】
図５は、本発明の一実施形態による不安定メモリセル散布を検出する際、複数枚のページに対して反復的に遂行する場合の信号フローチャートである。
【００４７】
図５を参照すると、複数枚Ｌのページに対して、本発明による不安定メモリセル散布を検出する方法を適用することができることを容易に理解することができる。
【００４８】
図４及び図５に示した信号フローチャートは、当業者であるならば、容易に理解することができるので、詳細な説明は省略する。また、図４及び図５は、区別されるように図示しているが、これを合わせて１つの信号フローチャートに具現することは、当業者であるならば容易に行えるので、同じ理由で説明を省略する。
【００４９】
図６は、本発明の一実施形態による不安定メモリセル散布を検出する機能を遂行するメモリ・コントローラを具備するメモリ・システムのブロック図である。
【００５０】
図６を参照すると、本実施形態によるメモリ・システムは、メモリ・コントローラ６１０及びメモリ装置６２０を具備する。
【００５１】
メモリ・コントローラ６１０は、メモリ装置６２０に含まれたメモリセルに保存されたデータを、標準読み取り電圧準位及び修正読み取り電圧準位を利用して当該メモリセル又は当該メモリページに保存されたメモリセルのデータを読み取り（ＲＥＡＤ）、このときに発生する読み取りエラーを検出し（ＥＣＣ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ））、検出された結果によって当該メモリセルをそのまま使用する場合及び当該メモリセルにデータを新しく保存しなければならない場合のうちの１つの場合を判断する機能を遂行するために、読み取り電圧準位を可変させた（Ａ．Ｒ．Ｌ．（ａｄｊｕｓｔ  ｒｅａｄ  ｌｅｖｅｌ））後、メモリセルに保存されたデータを読み取り、このときに発生する読み取りエラーを検出する（ＥＣＣ）。検出結果によって、当該メモリセルをそのまま使用するか、当該メモリセルにプログラムを再び行うか否かを決定する（ＷＲＩＴＥ）。
【００５２】
このような過程は、上述した本発明による不安定メモリセル散布を検出する方法にいずれも記載している。
【００５３】
上述のように、当該メモリセルにプログラムを再び行わなければならないと判断された場合には、３つの方式に大きく分けて処理できる。
【００５４】
図７〜図９は、不安定セル散布を含むページの処理方法の一例を示している。
【００５５】
処理方法のうちの一つを示す図７を参照すると、ページ単位でプログラムしている最中に、突然に電源が遮断された場合、矯正が可能なエラー信号（ｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ）が発生したブロックを含むページにプログラムされたデータは、使用しないものと決定する（２）（ｅｘｃｌｕｄｅ  ｐａｇｅ  ｗｉｔｈ  ｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ：ｕｐｄａｔｅ  ｍａｐｐｉｎｇ  ｄａｔａ  ｏｆ  ＦＴＬ）。この場合、電源が遮断された瞬間の最後の書き込み要請に対応するＬＢＡ（ｌｏｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ）データについては、プログラムをもう一度更に遂行する。
【００５６】
第二の方法を示す図８を参照し、矯正が可能なエラー信号（ｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ）が発生したブロックを含むページに保存されたデータを、内部の剰余ブロック（ｇｏｏｄ  ｂｌｏｃｋ（ｆｒｅｅ  ｏｒ  ｒｅｓｅｒｖｅｄ））にコピーした後（１）（ｃｏｐｙ  ｐｒｏｇｒａｍｍｅｄ  ｐａｇｅｓ）、ＬＢＡに該当する物理的位置情報を変える（２）（ｕｐｄａｔｅ  ｍａｐｐｉｎｇ  ｄａｔａ  ｏｆ  ＦＴＬ）。この場合には、プログラムをもう一度更に遂行しないので、電源が遮断された瞬間の書き込み要請のＬＢＡは、正常に処理されたものと決定する。
【００５７】
第三の方法を示す図９を参照し、矯正が可能なエラー信号（ｃｏｒｒｅｃｔａｂｌｅ  ＥＣＣ  ｅｒｒｏｒ）が発生したブロックを含むページに保存されたデータを、臨時バッファ（ｇｏｏｄ  ｂｌｏｃｋ（ｆｅｅ  ｏｒ  ｒｅｓｅｒｖｅｄ））にコピーした後（１）（ｃｏｐｙ  ｐｒｏｇｒａｍｍｅｄ  ｐａｇｅｓ）、再び本来のページ（ｕｎｓｔａｂｌｅ  ｂｌｏｃｋ）に再コピーする（３）（ｃｏｐｙ  ｐａｇｅｓ  ｆｏｒｍ  ｇｏｏｄ  ｂｌｏｃｋ）。再コピーを行う（３）前に、不完全なプログラムが遂行されたページに保存されたデータを削除すること（２）も可能である（ｅｒａｓｅ  ｕｎｓｔａｂｌｅ  ｂｌｏｃｋ）。この場合には、ＬＢＡに該当する物理的位置情報を変える必要がなくなる。
【００５８】
図１０は、本発明の一実施形態によるメモリ・システムのブロック図である。
【００５９】
図１０を参照すると、メモリ・システム１０００は、メモリ・コントローラ１０２０及びＳＳＤ１０１０を具備する。ここでＳＳＤ１０１０は、複数個のフラッシュ・メモリセルで具現されることが望ましい。
【００６０】
メモリ・コントローラ１０２０は、ＳＳＤ１０１０にデータを記録したり、ＳＳＤ１０１０に記録されたデータを読み取りしたりする機能を遂行し、特に、ＳＳＤ１０１０に、標準読み取り電圧と、標準読み取り電圧と一定の電圧準位の差がある修正読み取り電圧とを印加し、標準読み取り電圧及び修正読み取り電圧を利用してＳＳＤ１０１０に保存されたデータの散布を分析し、ＳＳＤ１０１０に保存されたデータの有効性如何を判断してＳＳＤ１０１０に保存されたデータを矯正する機能を遂行する。
【００６１】
上記機能を遂行するために、メモリ・コントローラ１０２０は、ホスト・インターフェース（Ｉ／Ｆ）１０２１、内部メモリ（ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ））１０２２、演算処理装置（ＣＰＵ）１０２３、ＥＣＣユニット１０２４、及びメモリ・インターフェース（Ｉ／Ｆ）１０２５を具備する。ここで、ホスト・インターフェース１０２１は、メモリ・コントローラ１０２０とホストとの間、メモリ・インターフェース１０２５は、メモリ・コントローラ１０２０とＳＳＤ１０１０とをインターフェースする。
【００６２】
演算処理装置１０２３は、ＳＳＤ１０１０に標準読み取り電圧を伝達して標準読み取り電圧によるデータの散布を分析し、ＥＣＣユニット１０２４は、データの散布からＳＳＤ１０１０に保存されたデータにエラーがあるか否かを判断し、エラーがあると判断した場合、矯正が可能であるか矯正が不可能であるかを判断する。
【００６３】
矯正が不可能であると判断した場合、演算処理装置１０２３は、当該メモリセルに保存されたデータを使用させないようにホストに指示し、矯正が可能であると判断した場合、演算処理装置１０２３は、ＳＳＤ１０１０に修正読み取り電圧を伝達して修正読み取り電圧によるデータの散布を分析し、ＥＣＣユニット１０２４は、分析の結果によって矯正可否を判断し、判断の結果によって、演算処理装置１０２３は、ＳＳＤ１０１０に保存されたデータを矯正する。
【００６４】
ここでデータの散布とは、標準読み取り電圧レベル又は修正読み取り電圧レベルを中心に分布しているメモリセルの分布を意味する。散布については、図１及び図２に示している。
【００６５】
演算処理装置１０２３が、ＳＳＤ１０１０に保存されたデータを矯正する方法は多様であるが、一例としては、ＳＳＤ１０１０の当該メモリセルに保存されたデータを内部メモリ１０２２に保存した後、内部メモリ１０２２に保存されたデータを、ＳＳＤ１０１０の当該メモリセルに更に記録する。
【００６６】
ＳＳＤ１０１０に含まれた複数個のメモリセルは、１枚のページ単位で区別され、データを記録するときもページ単位で記録が行われることが一般的であるが、本発明でも、記録されたデータの有効性を判断するとき、ページ単位とすることが望ましい。
【００６７】
図１０には、メモリ・コントローラ１０２０を構成する機能ブロックがバス（矢印）を介してデータを送受信するとして図示しているが、これは、説明の便宜のために選択された１つの実施形態に過ぎず、多様な実施形態が可能である。
【００６８】
以上、本発明の実施形態について図面を参照しながら説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００６９】
６００、１０００        メモリ・システム
６１０、１０２０        メモリ・コントローラ
６２０        メモリ装置
１０１０        フラッシュ・メモリ（ＳＳＤ）
１０２１        ホスト・インターフェース
１０２２        内部メモリ（ＲＡＭ）
１０２３        演算処理装置（ＣＰＵ）
１０２４        ＥＣＣユニット
１０２５        メモリ・インターフェース
【図１】
2011076706.tif 000003
【図２】
2011076706.tif 000004
【図３】
2011076706.tif 000005
【図４】
2011076706.tif 000006
【図５】
2011076706.tif 000007
【図６】
2011076706.tif 000008
【図７】
2011076706.tif 000009
【図８】
2011076706.tif 000010
【図９】
2011076706.tif 000011
【図１０】
2011076706.tif 000012