(57)【特許請求の範囲】
【請求項１】
メモリセルアレイを含む不揮発性メモリシステムの動作方法であって、
プログラムデータを含み、高速プログラムモードまたは一般プログラムモードを指示するプログラム命令語を受信するステップと、
前記プログラム命令語が一般プログラムモードを指示する場合、
第１開始電圧から始まるプログラム電圧を生成するステップと、
前記プログラムデータに関連するシングルビットＥＣＣコードを生成するようにシングルビットＥＣＣエンジンを活性化し、前記プログラムデータと前記シングルビットＥＣＣコードとを前記第１開始電圧から始まるプログラム電圧を使用して前記メモリセルアレイに格納するステップと、を含み、
前記プログラム命令語が高速プログラムモードを指示する場合、
前記第１開始電圧より高い第２開始電圧から始まるプログラム電圧を生成するステップと、
前記プログラムデータに関連するマルチビットＥＣＣコードを生成するようにマルチビットＥＣＣエンジンを活性化し、前記プログラムデータと前記マルチビットＥＣＣコードとを前記第２開始電圧から始まるプログラム電圧を使用して前記メモリセルアレイに格納するステップと、を含む動作方法。
【請求項２】
前記プログラム命令語を受信するステップは、
前記プログラム命令語によって前記プログラムデータに対応する内部アドレスを生成するステップと、
前記内部アドレスと前記メモリセルアレイのアドレス領域に格納されたアドレス情報とを比較するステップと、
前記内部アドレスと前記アドレス情報との比較結果によって、前記高速プログラムモードまたは前記一般プログラムモードのうち、何れか一つのモードを決定するステップと、をさらに含むことを特徴とする請求項１に記載の動作方法。
【請求項３】
前記プログラム命令語を受信するステップは、
前記プログラム命令語を外部から前記不揮発性メモリシステムに受信するステップと、
受信した前記プログラム命令語から前記内部アドレスを分離するステップと、をさらに含むことを特徴とする請求項２に記載の動作方法。
【請求項４】
前記アドレス情報は前記メモリセルアレイの一般領域と高速領域のアドレスを指示し、
前記プログラムデータと前記マルチビットＥＣＣコードを前記高速プログラムモードで格納するステップは、前記第２開始電圧から始まるプログラム電圧を使用して前記プログラムデータと前記マルチビットＥＣＣコードとを前記高速領域に格納するステップを含み、
前記プログラムデータと前記シングルビットＥＣＣコードとを前記一般プログラムモードで格納するステップは、前記第１開始電圧から始まるプログラム電圧を使用して前記プログラムデータと前記シングルビットＥＣＣコードとを前記一般領域に格納するステップを含むことを特徴とする請求項２に記載の動作方法。
【請求項５】
前記不揮発性メモリシステムのシステムブーティング動作の間、前記メモリセルアレイのアドレス領域からアドレス比較器に前記アドレス情報をコピーするステップをさらに含むことを特徴とする請求項２に記載の動作方法。
【請求項６】
前記アドレス領域は前記システムブーティング動作の間アクセスされる前記不揮発性メモリシステムの初期化情報をさらに格納することを特徴とする請求項５に記載の動作方法。
【請求項７】
前記動作方法はさらに、
前記メモリセルアレイに格納されたデータのうち、前記高速プログラムモードで格納されたデータまたは前記一般プログラムモードで格納されたデータの何れかを読み出すように指示する読み出し命令語を受信するステップと、
前記読み出し命令語が前記高速プログラムモードで格納されたデータを読み出すように指示する場合、前記メモリセルアレイに格納された前記マルチビットＥＣＣコードを参照して読み出しデータのエラーを検出及び訂正若しくは検出だけするように前記マルチビットＥＣＣエンジンを活性化するステップと、
前記読み出し命令語が前記一般プログラムモードで格納されたデータを読み出すように指示する場合、前記メモリセルアレイに格納された前記シングルビットＥＣＣコードを参照して読み出しデータのエラーを検出及び訂正若しくは検出だけするように前記シングルビットＥＣＣエンジンを活性化するステップと、を含む請求項１に記載の動作方法。
【請求項８】
前記読み出し命令語を受信するステップは、
前記読み出し命令語によって前記読み出しデータに対応する内部アドレスを生成するステップと、
前記内部アドレスと前記メモリセルアレイのアドレス領域に格納されたアドレス情報とを比較するステップと、
前記内部アドレスと前記アドレス情報との比較結果によって、前記高速プログラムモードで格納されたデータまたは前記一般プログラムモードで格納されたデータのうち、何れかを読み出すように決定するステップとをさらに含むことを特徴とする請求項７に記載の動作方法。
【請求項９】
前記読み出し命令語を受信するステップは、
前記読み出し命令語を外部から前記不揮発性メモリシステムに受信するステップと、
受信した前記読み出し命令語から前記内部アドレスを分離するステップとをさらに含む請求項８に記載の動作方法。
【請求項１０】
前記アドレス情報は前記メモリセルアレイの一般領域と高速領域のアドレスを指示し、
前記高速プログラムモードで格納されたデータと前記マルチビットＥＣＣコードとは前記高速領域から読み出され、
前記一般プログラムモードで格納されたデータと前記シングルビットＥＣＣコードとは前記一般領域から読み出されることを特徴とする請求項８に記載の動作方法。
【請求項１１】
前記不揮発性メモリシステムのシステムブーティング動作の間、前記メモリセルアレイのアドレス領域からアドレス比較器に前記アドレス情報をコピーするステップをさらに含むことを特徴とする請求項８に記載の動作方法。
【請求項１２】
前記アドレス領域は前記システムブーティング動作の間アクセスされる前記不揮発性メモリシステムの初期化情報をさらに格納することを特徴とする請求項１１に記載の動作方法。
【請求項１３】
前記読み出し命令語が前記高速プログラムモードで格納されたデータを読み出すように指示する場合、
前記読み出しデータと前記マルチビットＥＣＣコードとを前記メモリセルアレイから読み出した後、前記マルチビットＥＣＣコードを参照して前記読み出しデータにエラーが存在するか否かを判断するステップと、
前記エラーが前記マルチビットＥＣＣコードを用いて訂正可能な場合、前記エラーを訂正するために前記マルチビットＥＣＣコードを用いてエラー訂正動作を行なうステップと、
前記エラーが前記マルチビットＥＣＣコードを用いて訂正不可な場合、前記読み出しデータが格納されたセル領域を増加されたビットライン感知時間でセンシングして第１再読み出しデータを提供するための第１再読み出し動作を行なうステップと、を含むことを特徴とする請求項８に記載の動作方法。
【請求項１４】
前記マルチビットＥＣＣコードを参照して前記第１再読み出しデータにエラーが存在するか否かを判断するステップと、
前記エラーが前記マルチビットＥＣＣコードを用いて訂正可能な場合、前記エラーを訂正するために前記マルチビットＥＣＣコードを用いてエラー訂正動作を行なうステップと、
前記エラーが前記マルチビットＥＣＣコードを用いて訂正不可な場合、前記読み出しデータが格納されたセル領域に対するオーバープログラムされたメモリセルのしきい電圧増分を補正するための増加された非選択読み出し電圧を使用して再読み出しする第２再読み出し動作を行なうステップと、を含むことを特徴とする請求項１３に記載の動作方法。
【請求項１５】
前記読み出し命令語が前記高速プログラムモードで格納されたデータを読み出すように指示する場合、
前記メモリセルアレイから減少された非選択読み出し電圧を用いて前記読み出しデータと前記マルチビットＥＣＣコードを読み出した後に、前記マルチビットＥＣＣコードを参照して前記読み出しデータにエラーが存在するか否かを検出するステップと、
エラーが検出されれば、訂正せずに、増加されたビットラインセンシング時間を使用して第１再読み出しデータを提供するための第１再読み出し動作を行なうステップと、を含むことを特徴とする請求項７に記載の動作方法。
【請求項１６】
前記マルチビットＥＣＣコードを参照して前記第１再読み出しデータにエラーが存在するか否かを判断するステップと、
エラーが検出されれば、訂正せずに、増加された非選択読み出し電圧を使用して前記読み出しデータが格納されたメモリセルアレイ領域をセンシングして第２再読み出しデータに提供するための第２再読み出し動作を行なうステップとをさらに含むことを特徴とする請求項１５に記載の動作方法。
【請求項１７】
前記マルチビットＥＣＣコードを参照して前記第２再読み出しデータにエラーが存在するか否かを判断するステップと、
エラーが検出されれば、訂正せずに、非選択ワードラインに提供される前記増加された非選択読み出し電圧と、選択ワードラインに提供される増加された選択読み出し電圧を使用して前記読み出しデータが格納されたメモリセルアレイ領域をセンシングする第３再読み出し動作を行なうステップとをさらに含むことを特徴とする請求項１６に記載の動作方法。
【請求項１８】
前記読み出し命令語が前記高速プログラムモードで格納されたデータを読み出すように指示する場合、
前記メモリセルアレイから減少された非選択読み出し電圧を用いて前記読み出しデータと前記マルチビットＥＣＣコードとを読み出した後に、前記マルチビットＥＣＣコードを参照して前記読み出しデータにエラーが存在するか否かを検出するステップと、
前記不揮発性メモリシステムのＥＣＣ能力以内のエラーが検出されれば、前記エラーを訂正してエラーが訂正された前記読み出しデータを出力し、
それ以外の場合、増加されたビットラインセンシング時間を使用して第１再読み出しデータを提供するための第１再読み出し動作を行なうステップとを含むことを特徴とする請求項７に記載の動作方法。
【請求項１９】
前記マルチビットＥＣＣコードを参照して前記第１再読み出しデータにエラーが存在するか否かを判断するステップと、
前記不揮発性メモリシステムのＥＣＣ能力以内のエラーが検出されれば、前記エラーを訂正してエラーが訂正された前記第１再読み出しデータを出力し、
それ以外の場合、非選択ワードラインに提供される増加された非選択読み出し電圧を使用して第２再読み出しデータを提供するための第２再読み出し動作を行なうステップと、を含むことを特徴とする請求項１８に記載の動作方法。
【請求項２０】
前記マルチビットＥＣＣコードを参照して前記第２再読み出しデータにエラーが存在するか否かを判断するステップと、
前記不揮発性メモリシステムのＥＣＣ能力以内のエラーが検出されれば、前記エラーを訂正してエラーが訂正された前記第２再読み出しデータを出力し、
それ以外の場合、非選択ワードラインに提供される前記増加された非選択読み出し電圧と、選択ワードラインに提供される増加された選択読み出し電圧とを使用して前記読み出しデータが格納されたメモリセルアレイ領域をセンシングする第３再読み出し動作を行なうステップをさらに含むことを特徴とする請求項１９に記載の動作方法。
【請求項２１】
プログラムデータを含み、前記プログラムデータに対する高速プログラムモードまたは一般プログラムモードを指示するプログラム命令語を提供するホストと、
前記プログラム命令語が前記一般プログラムモードを指示する場合、前記プログラムデータに対応するシングルビットＥＣＣコードを生成し、前記プログラムデータと前記シングルビットＥＣＣコードとを第１開始電圧から始まる第１プログラム電圧を使用してメモリセルアレイに格納するプログラム動作を行い、
前記プログラム命令語が前記高速プログラムモードを指示する場合、前記プログラムデータに対応するマルチビットＥＣＣコードを生成し、前記プログラムデータと前記マルチビットＥＣＣコードとを前記第１開始電圧より高い第２開始電圧から始まる第２プログラム電圧を使用してメモリセルアレイに格納するプログラム動作を行なうフラッシュメモリ装置とを含むシステム。
【請求項２２】
前記フラッシュメモリ装置は、
前記メモリセルアレイの選択されたワードラインに前記第１プログラム電圧または前記第２プログラム電圧を提供するための高電圧発生器と、
前記シングルビットＥＣＣコードまたは前記マルチビットＥＣＣコードを生成するＥＣＣブロックと、
前記高速プログラムモードまたは前記一般プログラムモードによって前記高電圧発生器及び前記ＥＣＣブロックを制御するステートマシンと、を含むことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記ＥＣＣブロックは、
前記一般プログラムモード動作時、前記プログラムデータに対応する前記シングルビットＥＣＣコードを生成するシングルビットＥＣＣエンジンと、
前記高速プログラムモード動作時、前記プログラムデータに対応する前記マルチビットＥＣＣコードを生成するマルチビットＥＣＣエンジンと、を含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記ＥＣＣブロックは、
前記プログラムデータを前記シングルビットＥＣＣエンジンまたは前記マルチビットＥＣＣエンジンに提供するプログラム選択器と、
前記シングルビットＥＣＣコードまたは前記マルチビットＥＣＣコードのうち、何れか一つを選択するマルチプレックサをさらに含むことを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記高速プログラムモード時、前記ステートマシンは前記マルチビットＥＣＣエンジンを活性化するように前記ＥＣＣブロックを制御し、前記第２開始電圧から始まる第２プログラム電圧を生成するように前記高電圧発生器を制御することを特徴とする請求項２３に記載のシステム。
【請求項２６】
前記メモリセルアレイは前記高速プログラムモード時、前記プログラムデータを格納する高速領域と、前記一般プログラムモード時前記プログラムデータを格納する一般領域と、を含むことを特徴とする請求項２２に記載のシステム。
【請求項２７】
前記ホストは、前記メモリセルアレイの高速領域または一般領域に対応するように前記プログラムデータのアドレスを提供して前記高速プログラムモードまたは前記一般プログラムモードを指示することを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記メモリセルアレイは前記高速領域と前記一般領域とに対応するアドレス情報を格納するアドレス領域をさらに含み、
前記フラッシュメモリ装置は、
前記プログラムデータに対応するアドレスと前記高速領域と前記一般領域に対応する前記アドレス情報とを比較して高速モード信号を生成するアドレス比較器をさらに含み、
前記高速モード信号の活性化/非活性化状態に応答して、前記ステートマシンと前記ＥＣＣブロックと前記高電圧発生器各々が前記高速プログラムモードまたは前記一般プログラムモードに対応する動作を行なうことを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記アドレス比較器は前記システムのブーティング動作時、前記アドレス領域から前記アドレス情報が提供されて格納することを特徴とする請求項２８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ装置に係り、より詳しくは不揮発性メモリ装置及びメモリシステムに関する。
【背景技術】
【０００２】
一般に、半導体メモリ装置は、大きく揮発性半導体メモリ装置（Ｖｏｌａｔｉｌｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）と不揮発性半導体メモリ装置（Ｎｏｎｖｏｌａｔｉｌｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）とに区分される。揮発性半導体メモリ装置は、読み出し、書き込みの速度が速いが、外部電源供給が切れると、格納された内容が無くなる短所がある。それに比べて、不揮発性半導体メモリ装置は、外部電源供給が中断されてもその内容を格納する。したがって、不揮発性半導体メモリ装置は、電源が供給されたか否かに関係なく格納されるべき内容を記憶させることに使用される。不揮発性半導体メモリ装置においては、マスクロム（Ｍａｓｋ  ｒｅａｄ-ｏｎｌｙ  ｍｅｍｏｒｙ、ＭＲＯＭ）、プログラム可能なロム（Ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ-ｏｎｌｙ  ｍｅｍｏｒｙ、ＰＲＯＭ）、消去及びプログラム可能なロム（Ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ-ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＰＲＯＭ）、電気的に消去及びプログラム可能なロム（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ-ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＥＰＲＯＭ）などがある。
【０００３】
一般に、ＭＲＯＭ、ＰＲＯＭ及びＥＰＲＯＭは、システム自体での消去及び書き込みが自由ではなく、一般使用者が記憶内容を更新することが容易でない。それに比べて、ＥＥＰＲＯＭは、電気的に消去及び書き込みが可能なため、継続的な更新が必要なシステムプログラミング（Ｓｙｓｔｅｍ  ｐｒｏｇｒａｍｍｉｎｇ）や補助記憶装置への応用が拡大されている。特に、フラッシュ（Ｆｌａｓｈ）ＥＥＰＲＯＭは、既存のＥＥＰＲＯＭに比べて集積度が高く、大容量補助記憶装置への応用に非常に有利である。フラッシュＥＥＰＲＯＭの中でもＮＡＮＤ型（ＮＡＮＤ-ｔｙｐｅ）フラッシュＥＥＰＲＯＭ（以下、‘ＮＡＮＤ型フラッシュメモリ’と称する）は、他のフラッシュＥＥＰＲＯＭに比べて集積度がとても高いという長所を有する。
【０００４】
一般に、フラッシュメモリ装置は、情報を格納することができ、所望の時、情報を読み出すことができる集積回路である。フラッシュメモリ装置は、再記入が可能な複数のメモリセルを含む。メモリセル各々は、１-ビットデータまたはマルチ-ビットデータを格納する。一つのメモリセルに１-ビットデータを格納する場合、メモリセルは２つのしきい電圧分布、すなわち、データ“１”とデータ“０”のうち、何れか一つに対応するしきい電圧分布を有する。それに比べて、一つのメモリセルに２-ビットデータを格納する場合、メモリセルは４つのしきい電圧分布のうち、何れか一つに属するしきい電圧を有する。また、一つのメモリセルに３-ビットデータを格納する場合、メモリセルは８つのしきい電圧分布うち、何れか一つに含まれるしきい電圧を有する。最近、一つのメモリセルに４-ビットデータを格納するための多様な技術が活発に研究されている。
【０００５】
詳述した諸般技術において、フラッシュメモリ装置のプログラム速度は、メモリ装置の諸般随行に決定的な特性になる。したがって、プログラム速度を高めることがメモリ装置またはメモリシステムの性能を高める重要な核心になっている。特に、フラッシュメモリ装置は、増加型ステップパルスプログラム（Ｉｎｃｒｅｍｅｎｔａｌ  Ｓｔｅｐ  Ｐｕｌｓｅ  Ｐｒｏｇｒａｍｍｉｎｇ：以下、ＩＳＰＰ）方式によってメモリセルをプログラムする。ＩＳＰＰは、ワードラインに次第に増加するステップパルスを印加することで、フラッシュメモリセルをターゲットしきい電圧状態に移動させる。したがって、ステップの数にしたがってプログラム速度が決定される。プログラム速度を高めるために、ステップの数を減少させると、オーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）現状が誘発される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、不揮発性メモリシステムのプログラム速度を高め、同時に信頼度の低下を遮断できる技術が切実に要求されている。
【課題を解決するための手段】
【０００７】
前記目的を達成するための本発明のメモリセルアレイを含む不揮発性メモリシステムの動作方法は、プログラムデータを含み、高速プログラムモードまたは一般プログラムモードを指示するプログラム命令語を受信するステップと、前記プログラム命令語が高速プログラムモードを指示する場合、前記プログラムデータに関連するマルチビットＥＣＣコードを生成するようにマルチビットＥＣＣエンジンを活性化し、前記プログラムデータと前記マルチビットＥＣＣコードとを前記メモリセルアレイに格納するステップと、前記プログラム命令語が一般プログラムモードを指示する場合、前記プログラムデータに関連するシングルビットＥＣＣコードを生成するようにシングルビットＥＣＣエンジンを活性化し、前記プログラムデータと前記シングルビットＥＣＣコードとを前記メモリセルアレイに格納するステップと、を含む。
【０００８】
前記目的を達成するための本発明のメモリセルアレイを含む不揮発性メモリシステムの動作方法は、前記メモリセルアレイに格納されたデータを読むように指示し、高速読み出しモードまたは一般読み出しモードを指示する読み出し命令語を受信するステップと、前記読み出し命令語が高速読み出しモードを指示する場合、前記メモリセルアレイに格納されたマルチビットＥＣＣコードを参照して読み出しデータのエラーを検出及び訂正するようにマルチビットＥＣＣエンジンを活性化するステップと、前記読み出し命令語が一般読み出しモードを指示する場合、前記メモリセルアレイに格納されたシングルビットＥＣＣコードを参照して読み出しデータのエラーを検出及び訂正するようにシングルビットＥＣＣエンジンを活性化するステップと、を含む。
【０００９】
前記目的を達成するための本発明のシステムは、プログラムデータを含み、前記プログラムデータに対する高速プログラムモードまたは一般プログラムモードを指示するプログラム命令語を提供するホストと、前記プログラムデータに対応するシングルビットＥＣＣコードを生成し、前記プログラムデータと前記シングルビットＥＣＣコードとを第１開始電圧から始まる第１プログラム電圧を使用してメモリセルアレイに格納する一般モードのプログラム動作を行い、または、前記プログラムデータに対応するマルチビットＥＣＣコードを生成し、前記プログラムデータと前記マルチビットＥＣＣコードとを前記第１開始電圧より高い第２開始電圧から始まる第２プログラム電圧を使用してメモリセルアレイに格納する高速モードのプログラム動作を行なうフラッシュメモリ装置とを含む。
【発明の効果】
【００１０】
結論的に、詳述した構成及び方法によってプログラム速度を高め、信頼性を増加させることができる不揮発性メモリ装置を提供できる。
【発明を実施するための最良の形態】
【００１１】
上記の一般的な説明及び次の詳細な説明のすべては例示的であり、請求された発明の付加的な説明が提供されるものと見なされなければならない。参照符号が本発明の好ましい実施例に詳細に現れていて、その例が参照図面に示されている。可能なすべての場合、同一の参照番号が同一または類似の部分を参照するために説明及び図面に使用される。以下、ＮＡＮＤ型（ＮＡＮＤ  ｔｙｐｅ）フラッシュメモリ装置が本発明の特徴及び機能を説明するための一例として使用される。
【００１２】
図１は、本発明によるフラッシュメモリ装置のプログラム電圧を示す電圧波形図である。図１に示すように、プログラム動作時メモリセルのワードラインに印加されるプログラム電圧は、プログラムループ（Ｐｒｇｒａｍ  ｌｏｏｐ）ごとにステップ電圧△Ｖだけ増加する。プログラム電圧は、次第に増加して最後のループで最終プログラム電圧Ｖｐｇｍ_ｌａｓｔが供給される。
【００１３】
プログラム速度を高めるためには、プログラムに必要とするループ数を減らさなければならない。最終プログラム電圧Ｖｐｇｍ_ｌａｓｔは、選択されたメモリセルをプログラムするために必要な最小限の要件を満たすために設定された最小限の値に決定される。したがって、プログラムループ数を減らすためには、プログラム開始電圧Ｖｓｔａｒｔのレベルを調整することが好ましい。プログラム開始電圧Ｖｓｔａｒｔとして第１開始電圧Ｖｓｔ１または第２開始電圧Ｖｓｔ２のうち、何れか一つを選択する。第１開始電圧Ｖｓｔ１と第２開始電圧Ｖｓｔ２は、ここで２つのプログラムループ（ｌｏｏｐ）差を有するものとして示されたが、本発明はこれに限定されない。すなわち、第２開始電圧Ｖｓｔ２は、任意のプログラムループ差を有するパルス電圧Ｖｐｇｍ_１〜Ｖｐｇｍ_ｘのうち、何れか一つに決定できることは、この分野で通常の知識を有する者には自明である。例示的に第２開始電圧Ｖｓｔ２=Ｖｐｇｍ_２をプログラム開始電圧で選択する場合、メモリセルは２つの減少されたプログラムループによってプログラムされる。したがって、プログラム速度は高くなる。
【００１４】
図２は、プログラム以後に形成されるメモリセルのしきい電圧分布を簡略に示す図である。図２に示すように、メモリセルのしきい電圧は、プログラム以前には消去状態１０に含まれる。データのプログラムによって、メモリセルのしきい電圧は、消去状態１０またはプログラム状態２０のうち、何れか一つに属する。プログラム動作時、しきい電圧を消去状態１０にしておくためには、メモリセルはプログラム禁止（ｐｒｏｇｒａｍ  ｉｎｈｉｂｉｔ）される。プログラム状態２０にしきい電圧が移動するメモリセルは、第１開始電圧Ｖｓｔ１または第２開始電圧Ｖｓｔ２によるＩＳＰＰ方式のプログラム動作によってプログラムされる。第２開始電圧Ｖｓｔ２によってメモリセルがプログラムされる場合、プログラム速度は高まる。
【００１５】
しかしながら、プログラムされたメモリセルのうち、プログラム速度が他のメモリセルより高いセルが存在する場合、しきい電圧の分布は上側に拡張される。この現象をオーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）現象という。オーバープログラムされたメモリセルのしきい電圧は、図に斜線を引いた部分３０で示される。オーバープログラムによって起こされる問題は、読み出し動作時に発生する。読み出し動作時、非選択されたワードラインには読み出し電圧が印加され、選択ワードラインには０Ｖが印加される。しかしながら、非選択されたワードラインに属するメモリセルのうち、オーバープログラムされたメモリセルの中には十分にターン-オンされないセルが存在する。こういう場合、選択されたメモリセルがオンセル（Ｏｎ-ｃｅｌｌ）であっても、オフセル（Ｏｆｆ-ｃｅｌｌ）として感知されるおそれがある。このような場合が頻繁に発生すれば、フラッシュメモリ装置の信頼性が著しく落ちる。
【００１６】
図３は、本発明の高速プログラム動作を行なうメモリシステムの一実施形態を示すブロック図である。図３に示すように、本発明によるメモリシステム２００は、ホスト１００からの命令語に応答して転送されたデータを格納し、またはホスト１００から要請されたデータを出力するように構成される。ホスト１００は、高速プログラムとノーマルプログラムとを指示する区別されたプログラム命令をメモリシステム２００に伝達する。メモリシステム２００は、ホストの命令語を解析して第１開始電圧Ｖｓｔ１または第２開始電圧Ｖｓｔ２を有するプログラムパルスに伝達されたデータをセルアレイ２１０にプログラムする。より詳しくは次の通りである。
【００１７】
ホスト１００は、メモリシステム２００にデータを記入しなければならない場合が発生した場合、データの重要度または用途を参照してプログラムモードを決定する。データの信頼度が優先されるデータの場合、ホスト１００は、第１開始電圧Ｖｓｔ１によってプログラムされるようにメモリシステム２００に命令語を入力する。この場合、ホストインタフェース２７０は、ステートマシン２５０にノーマルプログラムモードＮＰＧＭを指示する内部命令語を伝達する。一方、高速にプログラムされても良いデータと判定される場合、ホスト１００は、第２開始電圧Ｖｓｔ２によってデータがプログラムされるように別途の命令語を提供する。ホストインタフェース２７０は、伝達されるデータを高速プログラムモードでプログラムされるようにステートマシン２５０に内部命令語ＦＰＧＭを伝達する。
【００１８】
詳述したホストの命令語ＮＰＧＭ、ＦＰＧＭ各々によってメモリシステム２００は、互いに異なるプログラム開始電圧でデータをプログラムする。また、高速プログラムモード及びノーマルプログラムモード時に各々他の性能のエラー訂正能力が活性化される。次にメモリシステム２００をより詳しく説明する。
【００１９】
セルアレイ２１０は、複数のフラッシュメモリセルからなる。セルアレイ２１０は、高速プログラムモードまたは低速プログラムモードでプログラムされるメモリセルが最初からは区分されない。すなわち、同一のセルが命令語にしたがって高速プログラムモードまたはノーマルプログラムモードによってプログラムされる。セルアレイ２１０に含まれるメモリセルは、一つのメモリセルにマルチビットが格納されるマルチビットメモリセルで構成することができることは、この分野で通常の知識を有する者には自明である。
【００２０】
ページバッファ２２０は、動作モードによって記入ドライバとしてまたは感知増幅器として動作する。プログラム動作時、ページバッファ２２０は、データバッファ２３０からプログラムデータが提供される。ページバッファ２２０は、提供されたプログラムデータをビットラインを通じてセルアレイ２１０にプログラムする。読み出し動作時、ページバッファ２２０は、セルアレイ２１０の選択されたメモリセルに格納されたデータを感知及びラッチする。
【００２１】
データバッファ２３０は、メモリシステム２００に入力されるデータまたはメモリシステム２００から出力されるデータを一時格納する。プログラム動作時、データバッファ２３０は、プログラムデータとプログラムデータから生成されたエラーコードとを同時にページバッファ２２０に提供する。読み出し動作時、データバッファ２３０に一時格納された読み出しデータのエラーは、エラー訂正ブロック２４０から提供されるエラーコードＰＡＲとマージ（Ｍｅｒｇｅ）されることで訂正される。
エラー訂正ブロック２４０は、高速モード信号ＦＳＴに応答してプログラムされるデータまたは読み出されるデータのエラーを検出及び訂正する。本発明のエラー訂正ブロック２４０は、２つの動作モードを有する。１-ビットのエラーを訂正できるシングルビットＥＣＣモードと２-ビット以上のマルチビットエラーを訂正できるマルチビットＥＣＣモードとを有する。高速モード信号ＦＳＴが活性化されれば、エラー訂正ブロック２４０はプログラムまたは読み出し動作の間マルチビットＥＣＣモードで動作する。それに比べて、高速モード信号ＦＳＴが非活性化されれば、エラー訂正ブロック２４０はシングルビットＥＣＣモードで動作する。
【００２２】
ステートマシン２５０は、ホストインタフェース２７０から提供される内部命令語ｉＣＭＤに応答してプログラム動作、読み出し動作、消去動作などの諸般シークエンスを制御する。特に、プログラム動作時、ステートマシン２５０は、高速モード信号ＦＳＴに応答して高電圧発生器２６０及びページバッファ２２０を制御する。プログラム動作時高速モード信号ＦＳＴが活性化されれば、ステートマシン２５０は第２開始電圧Ｖｓｔ２を開始とするＩＳＰＰプログラム電圧を生成するように高電圧発生器２６０を制御する。また、ステートマシン２５０は、詳述したプログラム電圧に同期してプログラムデータがメモリセルに書き込まれるようにページバッファ２２０を制御する。読み出し動作時、ステートマシン２５０は、メモリセルのワードラインバイアス及びビットラインのプリチャージ、感知動作を行なうように高電圧発生器２６０及びページバッファ２２０を制御する。
【００２３】
高電圧発生器２６０は、詳述したステートマシン２４０の制御に応答してセルアレイ２１０に動作モードに対応する高電圧を提供する。高速モード信号ＦＳＴが活性化される高速プログラム動作時、高電圧発生器２６０は、第２開始電圧Ｖｓｔ２を有するＩＳＰＰプログラム電圧を生成する。しかしながら、高速モード信号ＦＳＴが非活性化されるノーマルプログラム動作時、高電圧発生器２６０は、第１開始電圧Ｖｓｔ１を有するＩＳＰＰプログラム電圧を生成してセルアレイ２１０のワードラインに提供する。
【００２４】
ホストインタフェース２７０は、ホスト１００とメモリシステム２００との間のデータ交換をインタフェーシングする。特に、ホストインタフェース２７０は、ホスト１００から各々別個のプログラムモード命令語に応答してステートマシン２５０に内部命令語ＦＰＧＭ／ＮＰＧＭのうち、何れか一つを提供する。
【００２５】
以上の構成を通して、本発明のメモリシステム２００は、高速プログラムモード時に発生するオーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）によるエラーをエラー訂正ブロック２４０の運用を通して減らすことができる。
【００２６】
図４は、図３のエラー訂正ブロック２４０の例示的な構成を示すブロック図である。図４に示すように、エラー訂正ブロック２４０は、シングルビットＥＣＣエンジン２４１とマルチビットＥＣＣエンジン２４２とを含む。高速モード信号ＦＳＴの活性化如何によってマルチビットＥＣＣエンジン２４２とシングル-ビットＥＣＣエンジン２４１のうち、何れか一つが選択される。
【００２７】
プログラム動作モード時、エラー訂正ブロック２４０の動作は、次の通りである。高速モード信号ＦＳＴが非活性化されれば、選択回路２４４はホストインタフェース２７０から伝達されるプログラムデータＤＡＴＡ_ＩＦをシングルビットＥＣＣエンジン２４１に伝達する。シングルビットＥＣＣエンジン２４１は、伝達されたプログラムデータＤＡＴＡ_ＩＦからシングルビットエラーを検出及び訂正できるパリティコードＰａｒｉｔｙ_ｓＥＣＣを生成する。生成されたパリティコードＰａｒｉｔｙ_ｓＥＣＣは、マルチプレックサ２４３に伝達され、マルチプレックサ２４３はデータバッファ２３０にパリティコードＰａｒｉｔｙ_ｓＥＣＣを伝達する。しかしながら、高速モード信号ＦＳＴが活性化されれば、選択回路２４４はホストインタフェース２７０から伝達されるプログラムデータＤＡＴＡ_ＩＦをマルチビットＥＣＣエンジン２４２に伝達する。マルチビットＥＣＣエンジン２４２は、伝達されたプログラムデータＤＡＴＡ_ＩＦからマルチビットエラーを検出及び訂正できるパリティコードＰａｒｉｔｙ_ｍＥＣＣを生成する。マルチビットＥＣＣエンジン２４２で生成されたパリティコードＰａｒｉｔｙ_ｍＥＣＣは、マルチプレックサ２４３に伝達され、マルチプレックサ２４３は、データバッファ２３０にパリティコードＰａｒｉｔｙ_ｍＥＣＣを伝達する。プログラムされるデータとパリティコード（またはエラーコード）は、以後にセルアレイ２１０に高速モードでプログラムされる。
【００２８】
読み出しモード時、エラー訂正ブロック２４０の動作は、次の通りである。高速モード信号ＦＳＴが非活性化になれば選択回路２４５はページバッファ２２０から伝達される読み出しデータＤＡＴＡ_ＣＯＲＥをシングルビットＥＣＣエンジン２４１に伝達する。シングルビットＥＣＣエンジン２４１は、伝達された読み出しデータＤＡＴＡ_ＣＯＲＥからエラーを検出及び訂正できるパリティコードＰａｒｉｔｙ_ｓＥＣＣを生成する。生成されたパリティコードＰａｒｉｔｙ_ｓＥＣＣは、マルチプレックサ２４３に伝達され、マルチプレックサ２４３はデータバッファ２３０にパリティコードを伝達する。しかしながら、読み出しモード時、高速モード信号ＦＳＴが活性化されれば、選択回路２４５はページバッファ２２０から伝達される読み出しデータＤＡＴＡ_ＣＯＲＥをマルチビットＥＣＣエンジン２４２に伝達する。マルチビットＥＣＣエンジン２４２は、伝達された読み出しデータＤＡＴＡ_ＣＯＲＥからエラーを検出する。読み出しデータＤＡＴＡ_ＣＯＲＥにエラーが存在する場合、エラーを訂正できるパリティコードＰａｒｉｔｙ_ｍＥＣＣを生成する。マルチビットＥＣＣエンジン２４２で生成されたパリティコードＰａｒｉｔｙ_ｍＥＣＣはマルチプレックサ２４３に伝達され、マルチプレックサ２４３はデータバッファ２３０にパリティコードＰａｒｉｔｙ_ｍＥＣＣを伝達する。データバッファ２３０の読み出しデータとパリティコードとがマージ（Ｍｅｒｇｅ）されることでエラーは訂正される。
【００２９】
以上で説明された本発明のエラー訂正ブロック２４０によれば、高速モード信号ＦＳＴの活性化如何によってシングルビットＥＣＣエンジン２４１またはマルチビットＥＣＣエンジン２４２が選択される。すなわち、高速モードに対応する命令語ＦＰＧＭが入力されれば、マルチビットＥＣＣエンジン２４２が選択される。ノーマルモードに対応する命令語ＮＰＧＭが入力されれば、エラー訂正ブロック２４０のシングルビットＥＣＣエンジン２４１が選択される。したがって、高速プログラムによって誘発されるオーバープログラムによるエラーをエラー訂正演算を通して十分に遮断できる。
【００３０】
図５は、図３のシステムでなされるメモリシステムのプログラム動作を示すフローチャートである。図５に示すように、ホスト１００の命令によって高速プログラムまたはノーマルプログラムモードが選択される。ホスト１００の命令によってプログラムモードが選択されるためには、ホスト１００によって高速またはノーマルプログラムモードの如何が決定されなければならない。このような決定は、一般的にホスト１００を駆動する運営体制（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や応用プログラム（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）のようなソフトウェア（Ｓｏｆｔｗａｒｅ）によって行なわれる。
【００３１】
電源が提供される場合、ホスト１００及びメモリシステム２００の諸般初期化動作がなされるシステムブーティングステップが行なわれる（Ｓ１０）。ブーティングが完了すれば、ホスト１００は内部の諸般動作のうち、メモリシステム２００にデータを書き込むべきケース（Ｃａｓｅ）の発生を検出（Ｓ２０）。メモリシステム２００への書き込み動作が検出される場合（Ｓ３０）、ホスト１００はプログラムモードを決定する（Ｓ４０）。しかしながら、メモリシステム２００への書き込みモードが検出されない場合、ホスト１００は持続的な検出のためにステップ（Ｓ２０）に移動する。メモリシステム２００への書き込み動作要請が発生する場合、ホスト１００はプログラムモードを決定する。メモリシステム２００にプログラムされるデータが高速にプログラムされるべきデータで判定される場合（はい）、ホスト１００はメモリシステム２００に高速プログラム命令語（Ｆａｓｔ  ｐｒｏｇａｍ  ｃｏｍｍａｎｄ）を提供する（Ｓ５０）。
【００３２】
高速プログラム命令語（Ｆａｓｔ  ｗｒｉｔｅ  ｃｏｍｍａｎｄ）が提供されたメモリシステム２００は、マルチビットＥＣＣエンジン２４２を活性化する。マルチビットＥＣＣエンジン２４２は、命令語と一緒に提供されるプログラムデータからパリティコードＰａｒｉｔｙ_ｍＥＣＣを生成する。生成されたパリティコードＰａｒｉｔｙ_ｍＥＣＣとプログラムデータは、第２開始電圧Ｖｓｔ２を有するプログラム電圧によってプログラムされる（Ｓ６０）。反面、プログラムされるデータを低速にプログラムすべきと判断される場合、ホスト１００はメモリシステム２００にノーマルプログラム命令語（Ｎｏｍａｌ  ｐｒｏｇａｍ  ｃｏｍｍａｎｄ）を提供する（Ｓ７０）。ノーマルプログラム命令語（Ｎｏｍａｌ  ｐｒｏｇａｍ  ｃｏｍｍａｎｄ）が提供されたメモリシステム２００は、シングルビットＥＣＣエンジン２４１を選択する。シングルビットＥＣＣエンジン２４１は、提供されるプログラムデータからパリティコードＰａｒｉｔｙ_ｓＥＣＣを生成する。生成されたパリティコードＰａｒｉｔｙ_ｓＥＣＣとプログラムデータとは第１開始電圧Ｖｓｔ１とを有するプログラム電圧によってプログラムされる（Ｓ８０）。
【００３３】
以上、ホスト１００によるプログラムモード選択と、選択されたモードでプログラムされるように命令語を提供することで、メモリシステムのプログラム開始電圧とエラー訂正方式とが可変される。したがって、図５に記述された実施形態によれば、ホスト１００の命令語によってメモリシステム２００は高速プログラムモードを行なうことができる。
【００３４】
図６は、アドレスによって高速領域とノーマル領域とが区分されるメモリシステムを示すブロック図である。図６に示すように、本発明によるメモリシステム４００のセルアレイ４１０は、ノーマル領域４１２と高速領域４１３とを含む。また、高速領域４１３とノーマル領域４１２とを定義するアドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）が格納される領域４１１を含む。アドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）は、例えば、高速領域４１３に対応する行アドレスの範囲（Ｒａｎｇｅ）で定義される。アドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）は、メモリシステム４００のブーティング動作時アドレス比較器４８０及びホスト３００に提供される。アドレス比較器４８０は、提供されたアドレス情報を参照してホスト３００から入力されるアドレスが高速領域４１３に対応するかまたはノーマル領域４１２に対応するかを検出する。高速領域４１３に対応するアドレスが入力されれば、アドレス比較器４８０は、高速モード信号ＦＳＴを生成してステートマシン４５０及びエラー訂正ブロック４４０に提供する。ステートマシン４５０及びエラー訂正ブロック４４０は、高速モード信号ＦＳＴに応答して第２開始電圧Ｖｓｔ２とマルチビットＥＣＣエンジンを活性化して提供されるプログラムデータを高速領域４１３に書き込む。次にメモリシステム４００の動作をより詳細に説明する。
【００３５】
ページバッファ４２０、データバッファ４３０、エラー訂正ブロック４４０、高電圧発生器４６０などは、詳述した図３で説明されたページバッファ２２０、データバッファ２３０、エラー訂正ブロック２４０、高電圧発生器２６０と同一の機能を有する同一構成である。したがって、詳述したページバッファ４２０、データバッファ４３０、エラー訂正ブロック４４０、高電圧発生器４６０の動作及び機能の説明は省略する。
【００３６】
セルアレイ４１０は、高速領域４１３及びノーマル領域４１２に区分される。プログラム動作時、ノーマル領域４１２に含まれるメモリセルは低いプログラム開始電圧、すなわち、第１開始電圧Ｖｓｔ１によってプログラムされる。高速領域４１３に含まれるメモリセルは、プログラム速度を高めるための高いプログラム開始電圧、すなわち、第２開始電圧Ｖｓｔ２によってプログラムされる。ノーマル領域４１２と高速領域４１３との区分は一般的に行アドレスによって定義される。アドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）は、読み出し信頼度が相対的に高いノーマル領域４１２に含まれる初期化情報領域４１１に格納される。初期化情報領域４１１は、例えば、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍ）領域、ブートコード領域である。初期化情報領域４１１に格納されたアドレス情報は、全体システム３００及び４００のブーティング動作時に読み出されてアドレス比較器４８０に提供される。
【００３７】
アドレス比較器４８０には、ブーティング動作時初期化情報領域４１１から読み出されたアドレス情報が格納及び維持される。アドレス比較器４８０は、ホストインタフェース４７０から提供されている内部アドレスｉＡＤＤとアドレス情報とを比較する。もし、入力される内部アドレスｉＡＤＤが高速領域４１３に含まれれば、アドレス比較器４８０は高速モード信号ＦＳＴを活性化する。活性化された高速モード信号ＦＳＴは、ステートマシン４５０及びエラー訂正ブロック４４０に伝達される。
【００３８】
ステートマシン４５０は、ホストインタフェース４７０から提供される内部命令語ｉＣＭＤに応答してプログラム動作、読み出し動作、消去動作などの諸般シークエンスを制御する。特に、プログラム動作時、ステートマシン４５０は高速モード信号ＦＳＴに応答して高電圧発生器４６０及びページバッファ４２０を制御する。プログラム動作時高速モード信号ＦＳＴが活性化されれば、ステートマシン４５０は第２開始電圧Ｖｓｔ２を開始とするプログラム電圧を生成するように高電圧発生器４６０を制御する。また、ステートマシン４５０は、詳述したプログラム電圧に同期してプログラムデータがメモリセルに書き込まれるようにページバッファ４２０を制御する。読み出し動作時、ステートマシン４５０は、メモリセルのワードラインバイアス及びビットラインのプリチャージ、感知動作を行なうように高電圧発生器４６０及びページバッファ４２０を制御する。
【００３９】
ホストインタフェース４７０は、ホスト３００とメモリシステム４００との間のデータ交換をインタフェーシングする。ホスト３００は、メモリシステム４００にプログラムデータが提供され、または、メモリシステム４００に格納されたデータが提供される。メモリシステム４００の高速領域４１３にデータをプログラムするために、ホスト３００はアドレス（Ａｄｄｒｅｓｓ）を通してメモリシステム４００を制御できる。したがって、ホスト３００は、ブーティング動作時、メモリシステム４００の初期化情報領域４１１から読み出されるアドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）が提供されて動作メモリ（Ｗｏｒｋｉｎｇ  ｍｅｍｏｒｙ、例えば、ラム)に格納する。
【００４０】
以上の構成を通して、本発明のフラッシュメモリシステムは高速モード時に発生するオーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）によるエラーをエラー訂正ブロックの運用を通して補正できる。読み出し動作時、高速領域４１３に属するメモリセルが選択されれば、マルチビットＥＣＣエンジンが選択されて読み出されるデータのエラーを検出及び訂正する。
【００４１】
図７は、詳述した図６のシステムでプログラム動作を示すフローチャートである。プログラム動作時、高速モードまたはノーマルモードの選択がホスト３００から提供されるアドレスによってなされる。図７に示すように、ホスト３００は、メモリシステム４００に格納されるデータの重要度を判断して高速領域４１３に格納するか否かを決定する。ホスト３００は、書き込み命令語、アドレス及びプログラムデータをメモリシステム４００に伝達する。メモリシステム４００は、伝達されたアドレスを参照して高速領域４１３またはノーマル領域４１２にプログラムデータを書き込む。次にプログラム動作時諸般動作を詳述した図６に基づいて説明する。
【００４２】
電源が提供される場合、メモリシステム４００はブーティングされ（Ｓ１１０）、高速領域４１３のアドレス範囲を定義するアドレス情報（Ａｄｄｒｅｓｓ  ｉｎｆｏｒｍａｔｉｏｎ）が読み出される。読み出されたアドレス情報はアドレス比較器４８０及びホスト３００の動作メモリ（Ｗｏｒｋｉｎｇ  ｍｅｍｏｒｙ）でコピーされる（Ｓ１２０）。アドレス比較器４８０は、伝達されるアドレスｉＡＤＤが高速領域４１３に対応するか否かを検出する（Ｓ１３０）。もし、アドレスｉＡＤＤが高速領域４１３に対応すれば、アドレス比較器４８０は高速モード信号ＦＳＴを出力する。この時、ステートマシン４５０は、高速モード信号ＦＳＴに応答して高速プログラム動作を実行するかまたはノーマルプログラム動作を実行するかを決定する（Ｓ１４０）。高速モード信号ＦＳＴが活性化される場合、マルチビットＥＣＣエンジン２４２（図４参照）が選択され、高電圧発生器４６０は第２開始電圧Ｖｓｔ２を有するプログラム電圧を生成する。マルチビットＥＣＣエンジン及び第２開始電圧Ｖｓｔ２によって提供されたプログラムデータは、高速領域４１３にプログラムされる（Ｓ１５０）。しかしながら、高速モード信号ＦＳＴが非活性化される場合、シングルビットＥＣＣエンジン２４１（図４参照）が選択され、高電圧発生器４６０は第１開始電圧Ｖｓｔ１を有するプログラム電圧を生成する。また、入力されるプログラムデータはノーマル領域４１２にプログラムされる（Ｓ１６０）。
【００４３】
以上、ホスト３００から提供されるアドレス（Ａｄｄｒｅｓｓ）によってプログラムデータのプログラムモードが選択される実施形態が説明された。別途の命令語及び別途の命令語を認識して高速モードのプログラムを行なうためのステートマシン無しにアドレスの選択のみで高速モードまたはノーマルモードのプログラム動作が可能である。
【００４４】
図８は、本発明の高速領域または低速領域にプログラムされたデータを読み出すためのメモリシステム５００の構成を示すブロック図である。図８に示すように、本発明によるメモリシステム５００は、ホスト（図示せず）からの読み出し要請に応答してセルアレイ５１０に格納されたデータを読み出す。特に、本発明のメモリシステム５００は、読み出し動作時エラー訂正ブロック５４０のエラー訂正能力を超えるエラービットが発生しても読み出されたデータのエラーを訂正できる。
【００４５】
セルアレイ５０、ページバッファ５２０、データバッファ５３０、アドレス比較器５８０、ホストインタフェース５７０などは、図６で説明された構成と同一の機能を有する。しかしながら、エラー訂正能力を高めるために本発明のメモリシステム５００は、再読み出し制御器５９０をさらに含む。
【００４６】
外部またはホスト（図示せず）から高速領域５１３に格納されたデータに対する読み出し要請が提供される場合、メモリシステム５００はマルチビットＥＣＣエンジン２４２（図４参照）を活性化する。また、入力されたアドレスに対応する高速領域５１３に格納されたデータを読み出す。読み出し動作によって感知された読み出しデータは、ページバッファ５２０にラッチされる。読み出しデータはページバッファ５２０からエラー訂正ブロック５４０に転送され、エラー訂正ブロック５４０は伝達された読み出しデータに含まれるエラーを検出する。もし、マルチビットＥＣＣエンジンによって検出されたエラーのビット数がマルチビットＥＣＣエンジンが訂正できるビット数を超える時、エラー訂正ブロック５４０は、訂正誤謬信号ＥＣＣ_ｆａｉｌを再読み出し制御器５９０に伝送送する。
【００４７】
再読み出し制御器５９０は、訂正誤謬信号ＥＣＣ_ｆａｉｌに応答してステートマシン５５０が同一のページに対してまた読み出しを試みるように再読み出し信号ＲＲＳｔｅｐ_ｎを伝達する。ステートマシン５５０は最初再読み出し信号ＲＲＳｔｅｐ_１に応答してビットライン感知時間を増加させて読み出し誤謬が発生したページを再読み出す。再読み出されたページデータに含まれるエラーのビット数が訂正能力を超えれば、エラー訂正ブロック５４０は再び訂正誤謬信号ＥＣＣ_ｆａｉｌを生成して再読み出し制御器５９０は第２再読み出し信号ＲＲＳｔｅｐ_２を生成する。第２再読み出し信号ＲＲＳｔｅｐ_２に応答して、ステートマシン５５０は、オーバープログラムされたセルのしきい電圧の増加分を補正できる読み出し電圧Ｖｒｅａｄを生成するように高電圧発生器５６０を制御する。増加された読み出し電圧Ｖｒｅａｄによって読み出されたデータに含まれるエラービット数が訂正能力以内であれば、エラー訂正ブロック５４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを生成せず、エラーを訂正するための演算を行なう。
【００４８】
以上で説明された機能によって、本発明のメモリシステム５００は高速領域のデータを読み出す場合、エラー訂正能力を超えるエラービット数が発生しても感知時間及び読み出し電圧Ｖｒｅａｄを多角化して再読み出しを試みることができる。
【００４９】
図９は、詳述した図８のメモリシステム５００で行なわれる再読み出し動作を説明するフローチャートである。図９に示すように、メモリシステム５００の内部で行なわれる再読み出し動作は、増加されたセンシングタイムによって、また、より高くなった読み出し電圧Ｖｒｅａｄによって各々行なわれる。
【００５０】
読み出し動作が開始されれば、ステートマシン５５０は選択されたページデータを感知及び増幅してエラー訂正ブロック５４０に提供するようにページバッファ５２０及び高電圧発生器５６０を制御する（Ｓ２１０）。読み出されたページデータが提供されたエラー訂正ブロック５４０は、ページデータに含まれるエラーを検出する（Ｓ２１５）。また、エラー訂正ブロック５４０は、検出されたエラービットの数が訂正可能であるか否かを判断する（Ｓ２２０）。検出されたエラービットの数がマルチビットＥＣＣエンジンによって訂正できる場合、エラー訂正ブロック５４０は検出されたエラーを訂正できるエラーコードを生成するエラー訂正演算を行なう（Ｓ２６０）。しかし、検出されたエラービットの数がマルチビットＥＣＣエンジンによって訂正できるビット数を超える場合、エラー訂正ブロック５４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを出力し、再読み出しステップ（Ｓ２２５）に移動する。
【００５１】
最初訂正誤謬信号ＥＣＣ_ｆａｉｌの発生時、再読み出し制御器５９０は、再読み出し信号ＲＲＳｔｅｐ_１をステートマシン５５０に出力する。ステートマシン５５０は、再読み出し信号ＲＲＳｔｅｐ_１に応答して増加されたセンシングタイムによって再読み出し動作を実行する（Ｓ２２５）。再読み出されたページデータは、エラー訂正ブロック５４０に伝達され、ページデータに含まれるエラーが検出される（Ｓ２３０）。エラー訂正ブロック５４０は、検出されたエラーのビット数が訂正可能であるか否かを判断する（Ｓ２３５）。増加されたセンシングタイムによって再読み出されたページデータのエラーが訂正可能な場合、エラー訂正ブロック５４０は、エラー訂正演算を行なう（Ｓ２６０）。しかし、相変らずエラービットの数がエラー訂正ブロック５４０の性能を超える場合、エラー訂正ブロック５４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを再読み出し制御器５９０に伝達する。再読み出し制御器５９０は、２番目の訂正誤謬状況で再読み出し信号ＲＲＳｔｅｐ_２をステートマシン５５０に提供する。
【００５２】
ステートマシン５５０は、再読み出し信号ＲＲＳｔｅｐ_２に応答して増加された読み出し電圧Ｖｒｅａｄによって読み出し動作を再び試みるように高電圧発生器５６０及びページバッファ５２０を制御する（Ｓ２４０）。ページバッファ５２０にラッチされた第２の再読み出されたデータは、エラー訂正ブロック５４０に伝達される。エラー訂正ブロック５４０は、伝達された読み出しデータからエラーを検出する（Ｓ２４５）。エラー訂正ブロック５４０は、検出されたエラーが訂正可能であるか否かを判断する（Ｓ２５０）。もし、エラービットの数が訂正可能と判別されれば、エラー訂正ブロック５４０が行なうエラー訂正演算ステップに移動する（Ｓ２６０）。しかしながら、エラービットの数がエラー訂正能力を超える場合、エラー訂正ブロック５４０は読み出しフェイル（Ｒｅａｄ  ｆａｉｌ）と判定し、メモリシステム５００は読み出しフェイル（Ｒｅａｄ  ｆａｉｌ）メッセージを生成する（Ｓ２５５）。
【００５３】
以上の読み出し方法によって、高性能のエラー訂正ブロック５４０のエラー訂正演算とセンシングタイム及び読み出し電圧の増加とを並行して高いプログラム開始電圧でプログラムされたデータを読み出すことができる。すなわち、高いプログラム開始電圧によってプログラムされたメモリセルに発生するオーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）の影響を補正できる。
【００５４】
図１０は、詳述したアドレス情報が格納されるセル領域またはＯＴＰ領域のように読み出し動作のアクセスが頻繁なセル領域のしきい電圧分布を簡略に示す図である。図１０に示すように、ブートコードやＯＴＰデータのような初期化データがプログラムされた読み出し専用領域は、最初プログラムされた以後、メモリシステムのブーティング時に反復的に読まれる。しかしんがら、最初１回のプログラム動作以後、読み出し専用領域はこれ以上プログラムされない。したがって、反復される読み出し動作によって読み出し専用領域に属するメモリセルは、反復的な非選択読み出し電圧Ｖｒｅａｄに露出される。
【００５５】
一般的に非選択読み出し電圧Ｖｒｅａｄは、オーバープログラムによってしきい電圧状態６２０が拡張される分布６２５を考慮しなければならない。すなわち、書き込み、削除回数に増加して比例的に増えるオーバープログラムの影響を遮断するために、非選択読み出し電圧Ｖｒｅａｄは適正水準のマージンを有するように決まる。すなわち、非選択読み出し電圧は、レベルＶｒｅａｄ２に決まる。しかしながら、詳述した読み出し専用ブロックの場合、読み出し動作の反復によって読み出し電圧Ｖｒｅａｄ２が反復的に印加される。したがって、メモリセルのしきい電圧は、ソフトプログラム（Ｓｏｆｔ  ｐｒｏｇｒａｍ）される。すなわち、読み出し動作時に発生するエラーには、非選択ワードラインに反復的に供給される読み出し電圧Ｖｒｅａｄ２によって消去状態６１０に対応するしきい電圧を有するメモリセルが弱くプログラムされる現象が発生する。このような現状を一般的にソフトプログラム（Ｓｏｆｔ  ｐｒｏｇｒａｍ）という。ソフトプログラムによって消去状態６１０を維持すべきメモリセルのうち、プログラム特性によってしきい電圧が小幅上昇するメモリセル６１５が存在する。このメモリセル６１５の中にはそのしきい電圧が０Ｖ以上にプログラムされるセルが存在する。この場合、ソフトプログラムされたメモリセルのワードラインに０Ｖが印加されて読み出される場合、エラービットが発生する。
【００５６】
本発明は、読み出し専用領域のデータを読み出す時、詳述したソフトプログラムを最小化して、エラー発生を減らすことができる読み出し方法を提供できる。すなわち、読み出し専用ブロックのデータを読み出す場合、非選択されるワードラインに提供される電圧（以下、非選択読み出し電圧）を相対的に低い非選択読み出し電圧Ｖｒｅａｄ１で提供する。また、読み出し動作結果、エラーが発生すれば、同一のワードライン電圧条件下でビットライン感知時間を増加して再読み出し動作を実行できる。このような読み出し方法によれば、読み出し専用ブロックに含まれるメモリセルの電圧ストレスを最小化できる。したがって、読み出し専用ブロックの読み出し回数を画期的に増加させることができる。
【００５７】
図１１は、詳述した図１０の非選択読み出し電圧Ｖｒｅａｄ１、Ｖｒｅａｄ２による読み出し専用ブロックの読み出し方法を簡略に示す図である。図１１に示すように、選択されたブロックに対する最初読み出し動作時、ワードラインにはワードライン電圧６３０が提供される。選択されたブロックの選択ワードラインＷＬ＜ｘ＞には選択読み出し電圧Ｖｒｄが提供され、非選択ワードラインには非選択読み出し電圧Ｖｒｅａｄ１が提供される。非選択読み出し電圧Ｖｒｅａｄ１は、一般的なワードラインに提供される非選択読み出し電圧Ｖｒｅａｄ（例えば、約４.５Ｖ）より低い電圧である。もし、ワードライン電圧６３０によって読まれたデータにエラーが存在する場合、詳述した条件の下にビットラインセンシングタイムを増加させて読み出しを再び試みる。再び試みた読み出し動作の結果、エラーが存在すれば、非選択ワードラインに提供される電圧を非選択読み出し電圧Ｖｒｅａｄ２に上向調整して読み出し動作を再び試みる。再び試みた読み出し動作時選択されたブロックのワードラインに印加される電圧は、ワードライン電圧６４０と同様である。
【００５８】
ワードライン電圧６４０によって読まれたデータにエラーが存在すれば、ワードライン電圧６５０によって読み出し動作を再び試みる。ワードライン電圧６５０には、選択ワードラインに印加される選択読み出し電圧を上向調整した値が提供される。すなわち、選択読み出し電圧がＶｒｄ＋α(ただし、α>０）に提供される。また、ワードライン電圧６３０、６４０、６５０各々によって読み出されたデータに対してエラー検出及び訂正動作が追加される。エラー検出結果、エラーの訂正が不可能な場合にワードライン電圧を変更して再読み出し動作を行なうことができる。また、ビットラインセンシングタイムを増加して再読み出し動作は、各々の場合の間に追加することができる。
【００５９】
図１２は、詳述した図１１から示された方式で読み出し専用ブロックに対する読み出し動作を行なうための本メモリシステムを示すブロック図である。図１２に示すように、本発明のステートマシン６５０は、読み出し専用ブロックに対する読み出し動作時読み出し誤謬が発生すれば、選択されたブロックのワードライン電圧を可変して反復的に再読み出し動作を行なう。ページバッファ６２０、データバッファ６３０、エラー訂正ブロック６４０、再読み出し制御器６９０、ホストインタフェース５７０などは、図８で説明された構成と同一の機能を有する。しかしながら、アドレス比較器６８０には、システムブーティング時に読み出し専用ブロック領域のアドレス情報６１１が格納される。
【００６０】
セルアレイ６１０は、読み出し専用ブロック領域６１２とプログラム及び消去されるノーマル領域６１３を含む。読み出し専用ブロック領域６１２には、読み出し専用ブロック領域６１２のアドレス情報（ＲＯＢ  ｒａｎｇｅ  ｉｎｆｏｒｍａｔｉｏｎ）がプログラムされている。読み出し専用ブロック領域６１２は、一般的にメモリシステム６００のブートコード（Ｂｏｏｔ  ｃｏｄｅ）、ＯＴＰデータ、ＯＳ  ｃｏｄｅ、Ａｐｐｌｉｃａｔｉｏｎ  ｃｏｄｅなどが書き込まれている。この読み出し専用ブロック領域６１２のデータは、例外的な場合でなければ、読み出し動作によってアクセスされる。したがって、高い非選択読み出し電圧Ｖｒｅａｄが持続的に提供されれば、メモリセルのしきい電圧が高くなって読み出し回数の制限があるほかない。
【００６１】
読み出し動作時アドレス比較器６８０は、入力されるアドレスｉＡＤＤが読み出し専用ブロック領域６１２に含まれるかを検出する。もし、入力アドレスｉＡＤＤが読み出し専用ブロック領域６１２に含まれれば、アドレス比較器６８０はフラッグ信号ＲＯＢを活性化してステートマシン６５０に提供する。ステートマシン６５０は、最初読み出し動作で低い非選択読み出し電圧Ｖｒｅａｄ１によってページデータを読み出すように高電圧発生器６６０及びページバッファ６２０を制御する。この時、読み出されたデータは、ページバッファ６２０を経てエラー訂正ブロック６４０に伝達され、エラー訂正ブロック６４０は、エラー存在如何を検出する。ここでエラー訂正ブロック６４０は、存在するエラーを検出するエラー検出機能のみを行なうこともでき、検出されたエラーを訂正する機能を行なうことができる。
【００６２】
エラー訂正ブロック６４０がエラーの検出のみを行なう場合とエラーの検出及び訂正がすべて行なわれる場合各々に対して、以後に説明する。エラー訂正ブロック６４０は、エラーが存在し、または、訂正されないエラーが存在することを意味する訂正誤謬信号ＥＣＣ_ｆａｉｌを再読み出し制御部６９０に提供する。再読み出し制御部６９０は、訂正誤謬信号ＥＣＣ_ｆａｉｌを参照して第１再読み出し信号ＲＲＳｔｅｐ_１をステートマシン６５０に出力する。
【００６３】
第１再読み出し信号ＲＲＳｔｅｐ_１に応答して、ステートマシン６５０はセンシングタイムを増加して再読み出し動作を行なうように高電圧発生器６６０及びページバッファ６２０を制御する。また、再び訂正誤謬信号ＥＣＣ_ｆａｉｌが発生すれば、再読み出し制御部６９０は第２再読み出し信号ＲＲＳｔｅｐ_２を伝達する。第２再読み出し信号ＲＲＳｔｅｐ_１に応答してステートマシン６５０は、増加された非選択読み出し電圧Ｖｒｅａｄ２を適用して同一ページを読み出すように高電圧発生器６６０及びページバッファ６２０を制御する。再読み出されたデータから訂正誤謬信号ＥＣＣ_ｆａｉｌが検出されれば、再読み出し制御部６９０は、第３再読み出し信号ＲＲＳｔｅｐ_３を伝達する。第３再読み出し信号ＲＲＳｔｅｐ_３に応答して、ステートマシン６５０は、増加された非選択読み出し電圧Ｖｒｅａｄ２及び増加された選択読み出し電圧Ｖｒｄ＋αを適用して同一ページを読み出すように高電圧発生器６６０及びページバッファ６２０を制御する。
【００６４】
詳述した通り、最初読み出し動作時提供される低い非選択読み出し電圧Ｖｒｅａｄ１によって、読み出し専用ブロック領域６１２に属するメモリセルが読み出し電圧から受けるストレスを最小化できる。したがって、読み出し専用ブロックに対する読み出し回数の上限を画期的に高めることができる。
【００６５】
図１３は、図１２のメモリシステムで行なわれる読み出し専用ブロックに対する読み出し動作を示すフローチャートである。図１３に示すように、読み出し動作時エラー訂正ブロック６４０でエラーの訂正無しにエラーの検出のみを行なう実施形態が説明されている。次により詳細に説明する。
【００６６】
読み出し動作時、読み出し専用ブロック領域６１１に対応するアドレスが入力される場合、読み出し専用ブロック領域に属するページに対する読み出し動作が始まる。最初、ステートマシン６５０の制御によって選択されたページに対する読み出し動作が進行される。この時、選択されたブロックにおいて選択されたワードラインには選択読み出し電圧Ｖｒｄが、非選択されたワードラインには非選択読み出し電圧Ｖｒｅａｄ１が供給される。詳述した条件で読み出されたページデータは、ページバッファ６２０によって感知及びラッチされ、続いてエラー訂正ブロック６４０に伝達される（Ｓ３１０）。読み出されたページデータが提供されたエラー訂正ブロック６４０は、ページデータに含まれるエラーを検出する（Ｓ３１５）。また、エラー訂正ブロック６４０は、読み出されたデータに対するエラービットの存在有無を判断する（Ｓ３２０)。読み出されたデータにエラービットが存在しない場合、読み出されたデータは外部またはホストに出力される（Ｓ３７５）。しかしながら、読み出されたデータにエラービットが含まれる場合、エラー訂正ブロック６４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを出力し、結果的に再読み出しステップ（Ｓ３２５）に移動する。
【００６７】
最初訂正誤謬信号ＥＣＣ_ｆａｉｌの発生時、再読み出し制御器６９０は第１再読み出し信号ＲＲＳｔｅｐ_１をステートマシン６５０に出力する。ステートマシン６５０は、第１再読み出し信号ＲＲＳｔｅｐ_１に応答して増加されたセンシングタイムによって再読み出し動作を実行する（Ｓ３２５）。再読み出されたページデータは、エラー訂正ブロック６４０に伝達される。エラー訂正ブロック６４０は、読み出されたページデータに含まれるエラーの存在如何を検出する（Ｓ３３０）。増加されたセンシングタイムによって再読み出されたページデータにエラーが存在しない場合、読み出しデータを出力するためのステップ（Ｓ３７５）に移動する。しかしながら、読み出されたページデータにエラーが存在する場合、ステートマシン６５０は、非選択読み出し電圧Ｖｒｅａｄを調整して再読み出すためのステップ（Ｓ３４０）に移動する。
【００６８】
ステートマシン６５０は、第２再読み出し信号ＲＲＳｔｅｐ_２に応答して一般的な非選択読み出し電圧Ｖｒｅａｄ２（約４.５Ｖ）によって再読み出し動作を実行するように高電圧発生器６６０及びページバッファ６２０を制御する（Ｓ３４０）。再読み出されたページデータは、エラー訂正ブロック６４０に伝達され、ページデータに含まれるエラーが検出される（Ｓ３４５）。エラー訂正ブロック６４０は、増加された非選択読み出し電圧Ｖｒｅａｄ２によって読み出されたデータにエラーが含まれたか否かを判断する（Ｓ３５０）。読み出されたデータにエラーが含まれない場合、読み出されたデータは外部に出力される（Ｓ３７５）。しかしながら、読み出されたページデータに相変らずエラービットが検出される場合、エラー訂正ブロック６４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを再読み出し制御器６９０に伝達する。再読み出し制御器６９０は、３番目の読み出し誤謬状況で第３再読み出し信号ＲＲＳｔｅｐ_３をステートマシン６５０に提供する。
【００６９】
ステートマシン６５０は、第３再読み出し信号ＲＲＳｔｅｐ_３に応答して増加された非選択読み出し電圧Ｖｒｅａｄ２及び選択読み出し電圧Ｖｒｄ＋αによって読み出し動作を再び試みるように高電圧発生器６６０及びページバッファ６２０を制御する（Ｓ３５５）。ページバッファ６２０にラッチされた３次再読み出されたページデータは、エラー訂正ブロック６４０に伝達される。エラー訂正ブロック６４０は、伝達された読み出しデータからエラーを検出する（Ｓ３６０）。エラー訂正ブロック６４０は、読み出されたデータのエラーが含まれたか否かを判断する（Ｓ３６５）。もし、読み出されたデータにエラーが含まれない場合、読み出されたデータは外部に出力される（Ｓ３７５）。しかしながら、相変らず読み出しデータにエラービットが含まれる場合、エラー訂正ブロック６４０は再び訂正誤謬信号ＥＣＣ_ｆａｉｌを発行して再読み出し制御器６９０に伝達する。再読み出し制御器６９０は、４番目訂正誤謬信号ＥＣＣ_ｆａｉｌに応答して第４再読み出し信号ＲＲＳｔｅｐ_４を生成する。ステートマシン６４０は、第３再読み出し信号ＲＲＳｔｅｐ_４に応答して読み出しフェイル（Ｒｅａｄ  ｆａｉｌ）に対応する状態信号ｉＳｔａｔｕｓを生成する（Ｓ３７０）。
【００７０】
以上、読み出し専用ブロックから読み出されたデータに対してエラー訂正無しにエラー検出のみを行なうように構成される実施形態が説明された。したがって、読み出し専用ブロックに対する読み出し動作が低い非選択読み出し電圧Ｖｒｅａｄ１によって行なわれるので、ソフトプログラム現状を遮断できる。したがって、読み出し専用ブロックに含まれるメモリセルに対する読み出し可能回数を画期的に増加させることができる。ここで、再読み出し動作の順序は詳述した実施形態に限定しないことを明らかにする。
【００７１】
図１４は、図１２のメモリシステムで行なわれる読み出し専用ブロックに対する読み出し動作を示すフローチャートである。図１４に示すように、エラー訂正ブロック６４０で読み出されたデータに対するエラー検出及び訂正動作を含む実施形態が説明されている。次に、より詳細に説明する。
【００７２】
読み出し動作時、読み出し専用ブロック領域６１１に対応するアドレスが入力されれば、読み出し専用ブロック領域に属するページに対する読み出し動作が始まる。最初、ステートマシン６５０の制御によって選択されたページに対する読み出し動作が進行される。この時、選択されたブロックにおいて選択されたワードラインには選択読み出し電圧Ｖｒｄが、非選択されたワードラインには非選択読み出し電圧Ｖｒｅａｄ１が供給される。詳述した条件で読み出されたページデータは、ページバッファ６２０によって感知及びラッチされ、続いて、エラー訂正ブロック６４０に伝達される（Ｓ４１０）。読み出されたページデータが提供されたエラー訂正ブロック６４０は、ページデータに含まれるエラーを検出する（Ｓ４１５）。また、エラー訂正ブロック６４０は、読み出されたデータに対するエラービットの存在有無を判断する（Ｓ４２０）。検出されたエラービットの数がエラー訂正ブロック６４０によって訂正できる場合、エラー訂正ブロック６４０は、検出されたエラーを訂正するためのエラー訂正演算を行なう（Ｓ４７５)。しかしながら、検出されたエラービットの数がエラー訂正ブロック６４０によって訂正できるビット数を超える場合、エラー訂正ブロック６４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを出力し、再読み出しステップ（Ｓ４２５）に移動する。
【００７３】
最初訂正誤謬信号ＥＣＣ_ｆａｉｌの発生時、再読み出し制御器６９０は、再読み出し信号ＲＲＳｔｅｐ_１をステートマシン６５０に出力する。ステートマシン６５０は、再読み出し信号ＲＲＳｔｅｐ_１に応答して増加されたセンシングタイムによって再読み出し動作を実行する（Ｓ４２５）。再読み出されたページデータは、エラー訂正ブロック６４０に伝達され、エラー訂正ブロック６４０によってページデータに含まれるエラーが検出される（Ｓ４３０）。エラー訂正ブロック６４０は。検出されたエラーのビット数が訂正可能であるか否かを判断する（Ｓ４３５）。増加されたセンシングタイムによって再読み出されたページデータのエラーが訂正可能な場合、エラー訂正ブロック６４０はエラー訂正演算を行なう（Ｓ４７５)。また、エラーが除去された読み出しデータは出力される（Ｓ４８０)。
【００７４】
しかしながら、最初の再読み出し動作によって読み出されたページデータに含まれるエラービットの数が訂正能力を超える場合、エラー訂正ブロック６４０は、訂正誤謬信号ＥＣＣ_ｆａｉｌを出力して再読み出し制御器６９０は第２再読み出し信号ＲＲＳｔｅｐ_２を出力する。ステートマシン６５０は、第２再読み出し信号ＲＲＳｔｅｐ_２に応答して増加された非選択読み出し電圧Ｖｒｅａｄ２によって再読み出し動作を実行する（Ｓ４４０）。再読み出されたページデータは、エラー訂正ブロック６４０に伝達され、ページデータに含まれるエラーが検出される（Ｓ４４５)。エラー訂正ブロック６４０は、検出されたエラーのビット数が訂正可能であるか否かを判断する（Ｓ４５０)。増加された非選択読み出し電圧Ｖｒｅａｄ２によって再読み出されたページデータのエラーが訂正可能な場合、エラー訂正ブロック６４０はエラー訂正演算を行なう（Ｓ４７５)。しかしながら、相変らずエラービットの数がエラー訂正ブロック６４０の性能を超える場合、エラー訂正ブロック６４０は訂正誤謬信号ＥＣＣ_ｆａｉｌを再読み出し制御器６９０に伝達する。再読み出し制御器６９０は、２番目の読み出し誤謬状況で第３再読み出し信号ＲＲＳｔｅｐ_３をステートマシン６５０に提供する。
【００７５】
ステートマシン６５０は、第３再読み出し信号ＲＲＳｔｅｐ_３に応答して増加された選択読み出し電圧Ｖｒｄ＋αによって読み出し動作を再び試みるように高電圧発生器６６０及びページバッファ６２０を制御する（Ｓ４５５)。ページバッファ６２０にラッチされた３次再読み出されたデータは、エラー訂正ブロック６４０に伝達される。エラー訂正ブロック６４０は、伝達された読み出しデータからエラーを検出する（Ｓ４６０)。エラー訂正ブロック６４０は、検出されたエラーが訂正可能であるかを判断する（Ｓ４６５)。もし、エラービットの数が訂正可能と判別されれば、エラー訂正ブロック６４０が行なうエラー訂正演算ステップに移動する（Ｓ４７５)。しかしながら、エラービットの数がエラー訂正能力を超える場合、エラー訂正ブロック６４０は、再び訂正誤謬信号ＥＣＣ_ｆａｉｌを発行して再読み出し制御器６９０で伝達する。再読み出し制御器６９０は、４番目訂正誤謬信号ＥＣＣ_ｆａｉｌに応答して第４再読み出し信号ＲＲＳｔｅｐ_４を生成する。ステートマシン６５０は、第４再読み出し信号ＲＲＳｔｅｐ_４に応答して読み出しフェイルメッセージ（Ｒｅａｄ  ｆａｉｌ  ｍｅｓｓａｇｅ）を生成して状態レジスタ（図示せず）に書き込む。
【００７６】
以上、本発明の読み出し方法によれば、読み出し専用ブロックから低い非選択読み出し電圧Ｖｒｅａｄ１によって読み出されたデータに対して一次的にエラー訂正演算を行なうように進行される。また、エラーの訂正が不可能なエラービットの数が含まれる場合に、同一のワードライン電圧条件の下に増加されたセンシングタイムに再読み出し動作を行なう。以後、エラー訂正が不可能な場合、非選択読み出し電圧Ｖｒｅａｄ２及び選択読み出し電圧Ｖｒｄ＋αに各々再読み出すように設定される。非選択読み出し電圧Ｖｒｅａｄ２及び選択読み出し電圧Ｖｒｄ＋αに読み出された各々の場合にもエラー訂正ステップが含まれる。したがって、読み出し専用ブロックに対する読み出し動作が低い非選択読み出し電圧Ｖｒｅａｄ１によって一次的に行なわれるので、ソフトプログラム現状を遮断できる。結果的に読み出し専用ブロックに含まれるメモリセルに対する読み出し可能回数を画期的に増加させることができる。ここで、再読み出し動作の順序は詳述した実施形態に限定されないことを明らかにする。
【００７７】
図１５は、本発明によるフラッシュメモリシステム７１０を装着する情報処理システム７００を簡略に示すブロック図である。図１５に示すように、モバイル機器やデスクトップコンピュータのような情報処理システムに本発明のフラッシュメモリシステム７１０が装着される。本発明による情報処理システム７００は、フラッシュメモリシステム７１０と各々システムバス７７０に電気的に連結したモデム７２０、ディスプレイ７３０、中央処理処置７４０、ラム７５０、入出力装置７６０を含む。フラッシュメモリシステム７１０は、前に説明したメモリシステムまたはフラッシュメモリシステムと実質的に同一に構成される。フラッシュメモリシステム７１０には、入出力装置７６０を通して提供され、または、中央処理処置７４０によって処理されたデータが格納される。ここで、詳述したフラッシュメモリシステム７１０が半導体ディスク装置ＳＳＤで構成されることができ、この場合情報処理システム７００は大容量のデータをフラッシュメモリシステム７１０に高速に格納することができる。また、情報処理システム７００は高速にプログラムされたフラッシュメモリシステム７１０から高い信頼度を有するデータを提供することができる。示されなかったが、本発明による情報処理システム７００には、応用チップセット（Ａｐｐｌｉｃａｔｉｏｎ  Ｃｈｉｐｓｅｔ）、カメライメージプロセッサＣＩＳ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）、ユーザインタフェースなどがさらに提供できることは、この分野の通常的な知識を有する者に自明である。
【００７８】
また、本発明によるフラッシュメモリ装置またはメモリシステムは、多様な形態のパッケージで実装できる。例えば、本発明によるフラッシュメモリ装置またはメモリシステムは、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ-Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ)、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ-ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのような方式でパッケージ化にされて実装できる。
【００７９】
以上のように、図面と明細書で最適実施形態が開示された。ここで特定の用語が使用されたが、これは、ただ本発明を説明するための目的で使用されたことであって、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたことではない。したがって、本技術分野の通常の知識を有する者であれば、このことから多様な変形及び均等な他実施形態が可能であるという点が分かる。したがって、本発明の真の技術的保護範囲は、添付された特許請求の範囲上の技術的思想によって決まらなければならない。
【図面の簡単な説明】
【００８０】
【図１】本発明のプログラム開始電圧を示す電圧波形図である。
【図２】オーバープログラム（Ｏｖｅｒ-ｐｒｏｇａｍ）されたメモリセルのしきい電圧分布を示す図である。
【図３】本発明の一実施形態によるメモリシステムの構成を簡略に示すブロック図である。
【図４】詳述した図３のエラー訂正ブロックの構成を示すブロック図である。
【図５】図３のメモリシステムでのプログラム方法を示すフローチャートである。
【図６】本発明の他の実施形態によるメモリシステムの構成を簡略に示すブロック図である。
【図７】図６のメモリシステムでのプログラム方法を示すフローチャートである。
【図８】本発明によるメモリシステムの他の実施形態を示すブロック図である。
【図９】図８のメモリシステムで行なわれる読み出し動作を示すフローチャートである。
【図１０】読み出し電圧によって起こされる電圧ストレスの影響を示す図である。
【図１１】本発明によるメモリセルの読み出し方法を示す回路図である。
【図１２】本発明による読み出し電圧のストレスを減少させることができるフラッシュメモリ装置を示すブロック図である。
【図１３】図１２のメモリ装置で行なわれる読み出し動作の一実施形態を示すフローチャートである。
【図１４】図１２のメモリ装置で行なわれる読み出し動作の他の実施形態を示すフローチャートである。
【図１５】本発明による情報処理システムの構成を示すブロック図である。
【符号の説明】
【００８１】
１００、３００  ホスト
２００、４００、５００、６００  フラッシュメモリ装置
２１０、４１０、５１０、６１０  セルアレイ
２２０、４２０、５２０、６２０  ページバッファ
２３０、４３０、５３０、６３０  データバッファ
２４０、４４０、５４０、６４０  エラー訂正ブロック
２４１  シングルビットＥＣＣエンジン
２４２  マルチビットＥＣＣエンジン
２４３  マルチプレックサ
２４４、２４５  選択回路
２５０、４５０、５５０、６５０  ステートマシン
２６０、４６０、５６０、６６０  高電圧発生器
２７０、４７０、５７０、６７０  ホストインタフェース
４８０、５８０、６８０  高電圧発生器
５９０、６９０  再読み出し制御器
７００  情報処理システム
７１０  フラッシュメモリ装置
７２０  モデム
７３０  ディスプレイ
７４０  中央処理処置
７５０  ラム
７６０  入出力装置
７７０  システムバス
【図１】
0005250337.tif 000002
【図２】
0005250337.tif 000003
【図３】
0005250337.tif 000004
【図４】
0005250337.tif 000005
【図５】
0005250337.tif 000006
【図６】
0005250337.tif 000007
【図７】
0005250337.tif 000008
【図８】
0005250337.tif 000009
【図９】
0005250337.tif 000010
【図１０】
0005250337.tif 000011
【図１１】
0005250337.tif 000012
【図１２】
0005250337.tif 000013
【図１３】
0005250337.tif 000014
【図１４】
0005250337.tif 000015
【図１５】
0005250337.tif 000016