(57)【特許請求の範囲】
【請求項１】
各々が複数のメモリセルで構成されるメモリユニットを有するフラッシュメモリ装置と、
前記フラッシュメモリ装置を制御するように構成されるメモリコントローラとを含み、
前記メモリコントローラは、前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報に基づいて前記メモリユニットに対するウェアレベリング動作を遂行し、
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのエラービット値を含み、
前記メモリコントローラは、初期状態で最も優先順位の高い第１グループに前記メモリユニットを設定し、前記エラービット値は２ビットエラーのイベント回数を示す第１エラービット値と３ビットエラーのイベント回数を示す第２エラービット値とを含み、
前記メモリコントローラは、前記各メモリユニットの第１エラービット値が第１ＥＣＣしきい値より大きい場合、優先順位の低い第２グループに前記各メモリユニットを設定し、
前記メモリコントローラは、前記各メモリユニットの第２エラービット値が第２ＥＣＣしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第３グループに前記各メモリユニットを設定することを特徴とするメモリシステム。
【請求項２】
前記メモリコントローラは、前記各メモリユニットの第２エラービット値が前記第２ＥＣＣしきい値より大きい場合、前記第２グループに属する各メモリユニットを前記第３グループに設定することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記メモリコントローラは、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記第２グループに前記各メモリユニットを設定することを特徴とする請求項１に記載のメモリシステム。
【請求項４】
前記フラッシュメモリ装置及び前記メモリコントローラは、メモリカード及びＳＳＤのうち何れか一つを構成することを特徴とする請求項１に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、
プロセスユニットと、
前記フラッシュメモリ装置の選択されたメモリユニットから読み出されたデータを一時的に保存するバッファメモリと、
前記読み出されたデータに対するエラー検出及び訂正動作を遂行するＥＣＣブロックと、を含み、
前記ＥＣＣブロックはエラー検出時にエラービット数を示すＥＣＣイベント情報を前記プロセスユニットに伝送し、前記プロセスユニットは前記ＥＣＣイベント情報によって前記選択されたメモリユニットのエラービット値を更新することを特徴とする請求項１に記載のメモリシステム。
【請求項６】
前記各メモリユニットは消去単位を構成することを特徴とする請求項１に記載のメモリシステム。
【請求項７】
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含むことを特徴とする請求項１に記載のメモリシステム。
【請求項８】
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことを特徴とする請求項１に記載のメモリシステム。
【請求項９】
メモリユニットを有するフラッシュメモリ装置を含むメモリシステムのウェアレベリング方法であって、
プログラム／消去サイクルによる前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報をウェアレベリングテーブルに保存するステップと、
前記ウェアレベリングテーブルに保存された前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報に基づいて前記各メモリユニットに対するウェアレベリング動作を遂行するステップと、を含み、
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのエラービット値を含み、
前記メモリユニットは初期状態で最も優先順位の高い第１グループに設定され、前記エラービット値は２ビットエラーのイベント回数を示す第１エラービット値と３ビットエラーのイベント回数を示す第２エラービット値とを含み、
前記各メモリユニットは前記各メモリユニットの第１エラービット値が第１ＥＣＣしきい値より大きい場合、優先順位の低い第２グループに設定され、
前記各メモリユニットの第２エラービット値が第２ＥＣＣしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第３グループに前記各メモリユニットが設定されることを特徴とするメモリシステムのウェアレベリング方法。
【請求項１０】
前記各メモリユニットの第２エラービット値が前記第２ＥＣＣしきい値より大きい場合、前記第２グループに属する各メモリユニットが前記第３グループに設定されることを特徴とする請求項９に記載のメモリシステムのウェアレベリング方法。
【請求項１１】
前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記各メモリユニットが前記第２グループに設定されることを特徴とする請求項９に記載のメモリシステムのウェアレベリング方法。
【請求項１２】
前記各メモリユニットは消去単位を構成することを特徴とする請求項９に記載のメモリシステムのウェアレベリング方法。
【請求項１３】
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含むことを特徴とする請求項９に記載のメモリシステムのウェアレベリング方法。
【請求項１４】
前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことを特徴とする請求項９に記載のメモリシステムのウェアレベリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、保存システムに係り、さらに具体的には、フラッシュメモリ装置を利用するメモリシステムに関する。
【背景技術】
【０００２】
フラッシュメモリ装置は、複数のメモリ領域が一度のプログラム動作によって消去、またはプログラムされる一種のＥＥＰＲＯＭである。一般的なＥＥＰＲＯＭは一つのメモリ領域のみを一度に消去、又はプログラムすることができ、これはフラッシュメモリ装置を使用するシステムが、異なるメモリ領域に対して同時に読み書きを行う場合、より迅速で効果的な速度でフラッシュメモリ装置が動作できることを意味する。フラッシュメモリ及びＥＥＰＲＯＭの全ての形態は、データを保存するために用いられる電荷保存手段を囲む絶縁膜の磨耗によって所定回数の消去動作の後に摩滅する。
【０００３】
フラッシュメモリ装置は、シリコンチップに保存された情報を維持するために電源を必要としない方法であって、シリコンチップ上に情報を保存する。これは、もし、チップに供給される電源が遮断されても電源を消耗することなく情報が維持されることを意味する。追加的に、フラッシュメモリ装置は物理的な衝撃抵抗性及び迅速な読み出しアクセス時間を提供する。これらの特徴により、フラッシュメモリ装置はバッテリによって電源を供給される装置の保存装置に一般的に用いられている。フラッシュメモリ装置は、各保存素子に使われるロジックゲートの形態によって２種類、即ち、ＮＯＲフラッシュメモリ装置とＮＡＮＤフラッシュメモリ装置とに分けられる。
【０００４】
フラッシュメモリ装置は、セルと呼ばれるトランジスタのアレイに情報を保存し、各セルは１ビットの情報を保存する。マルチレベルセル装置と呼ばれるより新しいフラッシュメモリ装置はセルのフローティングゲート上の電荷量を可変させることによってセルあたり１ビットよりさらに多くの情報を保存することができる。
【０００５】
フローティングゲート技術を用いるフラッシュメモリ装置において、データ保持特性（ｄａｔａ−ｒｅｔｅｎｔｉｏｎ  ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ）が高く、質的低下を起こさないプログラム／消去サイクル数（または耐久性）は、信頼性における最も重要な関心事である。保存された電荷（または電子）は、欠陥インターポリ絶縁膜による熱イオン放出、電荷拡散、イオン不純物、プログラムディスターブストレス、などのような多様なフェイルメカニズムによりフローティングゲートから漏洩し得る。これはしきい値電圧の減少を引き起こす。制御ゲートが電源電圧に維持されている状態でフローティングゲートが徐々に電荷を得る時、電荷が獲得されるという、上記とは逆の現象が発生し得る。これはしきい値電圧の増加を引き起こす。反復的なプログラム／消去サイクルはメモリトランジスタ酸化膜にストレスを与え、これはフラッシュメモリ装置に対するトンネル酸化膜破壊のようなフェイルを引き起こし得る。
【０００６】
フラッシュメモリ装置は、１０Ｋのプログラム／消去サイクル数のプログラム／消去が行われると老化／劣化現象による不良ブロックが発生する可能性が増加する。従って、フラッシュメモリ装置のメモリブロックの全体を均等に使用するために様々なウェアレベリング方法が用いられている。例示的なウェアレベリング方法によれば、物理的なセクタ／メモリブロックにマッピングされる論理的なセクタ／メモリブロック番号を変更することによってウェアレベリングを具現することができる。メモリブロックが全て使われた後、最初のメモリブロックから再度使用する方法は、完壁なウェアレベリングを具現することはできるが、ブロックの移動と消去によって有効なデータのブロック移動が頻繁に行われ、結果的にシステムの性能を低下させる短所がある。従って、メモリブロック毎の消去回数を管理しながら、現在有効なデータが最も少ないブロックを最優先の消去対象ブロックに選択する方法がウェアレベリングと性能とを共に満足させ得ることのできる最良の方法である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、信頼性を向上させることのできるメモリシステム、及びそのウェアレベリング方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の例示的な実施の形態は、各々が複数のメモリセルで構成されるメモリユニットを有するフラッシュメモリ装置、及び前記フラッシュメモリ装置を制御するように構成されるメモリコントローラを含み、前記メモリコントローラは前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報に基づいて前記メモリユニットに対するウェアレベリング動作を遂行するメモリシステムを提供する。
【０００９】
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのエラービット値を含む。
例示的な実施の形態において、前記メモリコントローラは、初期状態で最も優先順位の高い第１グループに前記メモリユニットを設定し、前記エラービット値は２ビットエラーのイベント回数を示す第１エラービット値と３ビットエラーのイベント回数を示す第２エラービット値とを含む。
【００１０】
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第１エラービット値が第１ＥＣＣしきい値より大きい場合、優先順位の低い第２グループに前記各メモリユニットを設定する。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第２エラービット値が第２ＥＣＣしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第３グループに前記各メモリユニットを設定する。
【００１１】
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの第２エラービット値が前記第２ＥＣＣしきい値より大きい場合、前記第２グループに属する各メモリユニットを前記第３グループに設定する。
例示的な実施の形態において、前記メモリコントローラは、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記第２グループに前記各メモリユニットを設定する。
例示的な実施の形態において、前記フラッシュメモリ装置及び前記メモリコントローラは、メモリカード及びＳＳＤのうち何れか一つを構成する。
【００１２】
例示的な実施の形態において、前記メモリコントローラは、プロセスユニットと、前記フラッシュメモリ装置の選択されたメモリユニットから読み出されたデータを一時的に保存するバッファメモリと、前記読み出されたデータに対するエラー検出及び訂正動作を遂行するＥＣＣブロックと、を含み、前記ＥＣＣブロックはエラー検出時にエラービット数を示すＥＣＣイベント情報を前記プロセスユニットに伝送し、前記プロセスユニットは前記ＥＣＣイベント情報によって前記選択されたメモリユニットのエラービット値を更新する。
【００１３】
例示的な実施の形態において、前記各メモリユニットは消去単位を構成する。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含む。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
【００１４】
本発明の他の例示的な実施の形態は、メモリユニットを有するフラッシュメモリ装置を含むメモリシステムのウェアレベリング方法を提供し、この方法はプログラム／消去サイクルによる前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報をウェアレベリングテーブルに保存するステップと、前記ウェアレベリングテーブルに保存された前記各メモリユニットの消去イベント情報及びＥＣＣイベント情報に基づいて前記各メモリユニットに対するウェアレベリング動作を遂行するステップと、を含む。
【００１５】
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのエラービット値を含む。
例示的な実施の形態において、前記メモリユニットは初期状態で最も優先順位の高い第１グループに設定され、前記エラービット値は２ビットエラーのイベント回数を示す第１エラービット値と３ビットエラーのイベント回数を示す第２エラービット値とを含む。
【００１６】
例示的な実施の形態において、前記各メモリユニットは前記各メモリユニットの第１エラービット値が第１ＥＣＣしきい値より大きい場合、優先順位の低い第２グループに設定される。
例示的な実施の形態において、前記各メモリユニットの第２エラービット値が第２ＥＣＣしきい値より大きい場合、前記各メモリユニットの消去イベント回数に関係なく最も優先順位の低い第３グループに前記各メモリユニットが設定される。
【００１７】
例示的な実施の形態において、前記各メモリユニットの第２エラービット値が前記第２ＥＣＣしきい値より大きい場合、前記第２グループに属する各メモリユニットが前記第３グループに設定される。
例示的な実施の形態において、前記各メモリユニットの消去イベント値が消去しきい値より大きい場合、前記各メモリユニットが前記第２グループに設定される。
【００１８】
例示的な実施の形態において、前記各メモリユニットは消去単位を構成する。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記メモリユニットのうち一つ、又はそれより多くのユニットのエラービット値を含む。
例示的な実施の形態において、前記消去イベント情報は前記各メモリユニットの消去イベント回数を含み、前記ＥＣＣイベント情報は前記各メモリユニットのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
【発明の効果】
【００１９】
本発明のメモリシステムによれば、フラッシュメモリ装置の全体的な信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
本発明において、「メモリユニット」という用語は、「メモリブロック」、「セクタ」、などと同じ意味を有する。メモリユニットは複数のメモリセルを含み、消去単位を構成する。説明の便宜上、本発明の例示的な実施の形態はメモリブロックという用語を用いて説明される。しかし、メモリブロックという用語が特定メモリの分野に限定されないことはこの分野における通常の知識を有する者には自明である。
【００２１】
図１は、本発明の例示的な実施の形態によるメモリシステムを概略的に示すブロック図である。
【００２２】
図１に示すように、本発明によるメモリシステム１００は、メモリコントローラ１２０及びフラッシュメモリ装置１４０を含む。メモリコントローラ１２０は外部（例えば、ホスト）からの要請に応じてフラッシュメモリ装置１４０を制御する。メモリコントローラ１２０は、プロセスユニット１２２、エラー検査訂正（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）ブロック（以下、ＥＣＣブロックと称する）１２４、及びバッファメモリ１２６を含む。プロセスユニット１２２は、メモリコントローラ１２０の動作全般を制御するように構成される。ＥＣＣブロック１２４は、フラッシュメモリ装置１４０に保存されるデータからＥＣＣデータを生成するように構成される。ＥＣＣブロック１２４はフラッシュメモリ装置１４０から読み出されたデータにエラーがあるか否かを判別するように構成される。エラーが検出された場合、ＥＣＣブロック１２４はエラーが検出されたこと及びＮビットエラーが発生したことを知らせる情報をプロセスユニット１２２に提供する。バッファメモリ１２６は、フラッシュメモリ装置１４０に保存されるデータを一時的に保存するため、及びフラッシュメモリ装置１４０から読み出されたデータを一時的に保存するために使われる。バッファメモリ１２６にはフラッシュメモリ装置１４０を管理するために必要なプログラム及びマッピングテーブルが保存される。
【００２３】
フラッシュメモリ装置１４０は、メモリブロックＢＬＫ０〜ＢＬＫｍ−１のアレイ１４２及び読み出し／書き込み回路１４４を含む。読み出し／書き込み回路１４４は、メモリコントローラ１２０からの要請に応じて選択されたメモリブロックに対する読み出し／書き込み動作を遂行するように構成される。ここで、書き込み動作はプログラム動作と消去動作とを含む。メモリブロックＢＬＫ０〜ＢＬＫｍ−１の各々は、図面には示していないが、配列されたメモリセルを含む。メモリセルの各々は電荷を保存するトランジスタ構造で構成される。
【００２４】
本発明によるメモリシステム１００は、フラッシュメモリ装置１４０のメモリブロックＢＬＫ０〜ＢＬＫｍ−１が均等に使用されるように（または、フラッシュメモリ装置１４０のメモリブロックＢＬＫ０〜ＢＬＫｍ−１に対する消去イベント（ｅｒａｓｅ  ｅｖｅｎｔ）が平均化されるように）ウェアレベリング技法（ｗｅａｒ−ｌｅｖｅｌｉｎｇ  ｔｅｃｈｎｉｑｕｅ）を用いる。特に、本発明によるメモリシステム１００は、各メモリブロックの消去イベント情報だけでなく、各メモリブロックのＥＣＣイベント情報に基づくウェアレベリング技法を用いる。消去イベント情報に基づいて各メモリブロックに対するプログラム／消去サイクル（Ｐｒｏｇｒａｍ／Ｅｒａｓｅ  ｃｙｃｌｉｎｇ）を管理する場合、各メモリブロックの実質的な劣化の程度を正確に反映することが難しい。さらに具体的に説明すれば、次の通りである。
【００２５】
例えば、二つのメモリブロックの消去イベント回数が同じであっても、何れか一つのメモリブロック（以下、第１メモリブロックと称する）に属するメモリセルは、他の一つのメモリブロック（以下、第２メモリブロックと称する）に属するメモリセルと異なる特性を有し得る。言い換えれば、第１メモリブロックのメモリセルの消去及びプログラム特性は、第２メモリブロックのメモリセルの消去及びプログラム特性と異なる。二つのメモリブロックの消去イベント回数が同じであっても、消去及びプログラム特性が異なるため、第１メモリブロックの劣化の程度は第２メモリブロックの劣化の程度と実質的に異なる。これは消去イベント回数だけを利用して各メモリブロックに対するプログラム／消去サイクルを管理する場合、各メモリブロックに対する劣化の程度を平均化させることが難しいことを意味する。従って、本発明のメモリシステム１００は、消去イベント回数だけでなく、各メモリブロックの劣化の程度を平均化させるために消去イベント情報と共に各メモリブロックのイベント情報を利用して各メモリブロックに対するプログラム／消去サイクルを管理する。これについては、以下で詳細に説明されるであろう。
【００２６】
本発明によるウェアレベリング技法によれば、フラッシュメモリ装置１４０のメモリブロックＢＬＫ０〜ＢＬＫｍ−１は、消去イベント情報及びＥＣＣイベント情報によって複数の、例えば、三つのグループ（以下、「第１乃至第３グループ」と称する）に割り当てられる。ここで、消去イベント情報は各メモリブロックの消去イベント回数ＥＲＳ＿ＣＮＴを含む。消去イベント回数ＥＲＳ＿ＣＮＴは各メモリブロックが消去される時に増加される。ＥＣＣイベント情報は各メモリブロックのエラービット値を含む。例示的な実施の形態において、ＥＣＣブロック１２４が４ビットエラーを検出及び訂正できると仮定すると、ＥＣＣイベント情報は各メモリブロックに対する第１及び第２エラービット値を含む。第１エラービット値ＥＢＮ＿２はＥＣＣイベントが発生する時、２ビットが訂正されることを示し、各メモリブロックで２ビットエラーが訂正される時に増加される。第２エラービット値ＥＢＮ＿３はＥＣＣイベントが発生する時、３ビットが訂正されることを示し、各メモリブロックで３ビットエラーが訂正される時に増加される。上記条件に基づき、メモリブロックが以下のように第１乃至第３グループに割り当てられる。以後、上述のように、第１グループは最も高い優先順位を有し、第３グループは最も低い優先順位を有し、第２グループは第１グループより低い優先順位を有する。
【００２７】
説明の前に、上述した消去イベント回数ＥＲＳ＿ＣＮＴと第１及び第２エラービット値ＥＢＮ＿２、ＥＢＮ＿３とは、テーブル形態（以下、ウェアレベリングテーブルと称する）でプロセスユニット１２２によって管理される。ウェアレベリングテーブルはフラッシュメモリ装置１４０に保存され、パワーオン時にバッファメモリ１２６に読み出される。選択されたメモリブロックに対して消去イベントが発生する時、プロセスユニット１２２は選択されたメモリブロックに対する消去イベント回数が増加するようにウェアレベリングテーブルを更新する。選択されたメモリブロックから読み出されたデータでエラーが検出される時、ＥＣＣブロック１２４は読み出されたデータのエラーを訂正してエラービット数をプロセスユニット１２２に提供する。プロセスユニット１２２は提供されたエラービット数によって選択されたメモリブロックに対する第１エラービット値ＥＢＮ＿２、または第２エラービット値ＥＢＮ＿３が増加するようにウェアレベリングテーブルを更新する。上述のように消去イベント回数ＥＲＳ＿ＣＮＴと第１及び第２エラービット値ＥＢＮ＿２、ＥＢＮ＿３とがプロセスユニット１２２の制御下で管理される。
【００２８】
初期状態では、図２に示すように、全てのメモリブロックＢＬＫ０〜ＢＬＫｍ−１が第１グループ２０１に割り当てられる。読み出し、消去、及びプログラム動作が遂行されるにつれ、各メモリブロックに対する消去イベント回数ＥＲＳ＿ＣＮＴと第１及び第２エラービット値ＥＢＮ＿２、ＥＢＮ＿３とが増加される。各メモリブロックに対する消去イベント回数ＥＲＳ＿ＣＮＴと第１及び第２エラービット値ＥＢＮ＿２、ＥＢＮ＿３とが増加されることによって、メモリブロックＢＬＫ０〜ＢＬＫｍ−１は選択的に第２グループ２０２または第３グループ２０３に割り当てられる。第１グループ２０１に属するメモリブロックを第２グループ２０２と第３グループ２０３とに割り当てる基準は次の通りである。
【００２９】
消去イベント回数ＥＲＳ＿ＣＮＴが消去しきい値Ｔ＿ＥＲＳを超過するか、第１エラービット値ＥＢＮ＿２が第１ＥＣＣしきい値Ｔ＿ＥＣＣ１を超過する時、第１グループ２０１に属するメモリブロックは第２グループ２０２に割り当てられる。或いは、消去イベント回数ＥＲＳ＿ＣＮＴが消去しきい値Ｔ＿ＥＲＳを超過し、第１エラービット値ＥＢＮ＿２が第１ＥＣＣしきい値Ｔ＿ＥＣＣ１を超過する時、第１グループ２０１に属するメモリブロックは第２グループ２０２に割り当てられることができる。第２エラービット値ＥＢＮ＿３が第２ＥＣＣしきい値Ｔ＿ＥＣＣ２を超過する時、第１グループ２０１に属するメモリブロックは第３グループ２０３に割り当てられる。第２エラービット値ＥＢＮ＿３が第２ＥＣＣしきい値Ｔ＿ＥＣＣ２を超過する時、第２グループ２０２に属するメモリブロックは第３グループ２０３に割り当てられる。外部（例えば、ホスト）からプログラム動作が要請される時、第２及び第３グループ２０２、２０３に割り当てられたメモリブロックの方より、第１グループ２０１に属するメモリブロックの方がプログラム動作のために選択される。このようなウェアレベリング方式によって各メモリブロックの実質的な劣化の情報（またはセル特性）を考慮して消去イベント回数を平準化させることができる。
【００３０】
プログラム／消去サイクルが進行されるにつれ、選択されたメモリブロックで訂正されるべきエラービットの数が増加することは選択されたメモリブロックのメモリセルの劣化の程度が相対的に大きいことを意味する。従って、第３グループ２０３に属するメモリブロックは消去イベント回数が最小化されるように管理される必要がある。これにより、訂正されるべきエラービットの数の多い特定のメモリブロックが早く摩耗する現象を抑制できる。従って、フラッシュメモリ装置（またはメモリシステム）の全体的な信頼性を向上させることができる。また、特定メモリブロックが早く摩耗する現象を抑制することができるため、特定のメモリブロックが早く摩耗される時、それを代替するメモリブロック（余分のメモリブロック）の数を低減できる。これは実質的に使用可能なフラッシュメモリ装置１４０（または、メモリシステム）のメモリ容量が増加することを意味する。
【００３１】
メモリブロックが三つのグループに割り当てられる場合を例に挙げて、本発明によるメモリシステムのウェアレベリング技術について説明した。しかし、グループの数は多様に変更され得ることはこの分野における一般的な知識を有する者には自明である。例えば、ＥＣＣブロック１２４のエラー訂正能力によってエラービット値の数を増加させて増加された数に対応するようにグループを決定することが可能である。
【００３２】
例示的な実施の形態において、消去イベント情報は各メモリブロックの消去イベント回数を含み、ＥＣＣイベント情報はメモリブロックのうち一つ、又はそれより多くのメモリブロックのエラービット値を含むことができる。または、ＥＣＣイベント情報は各メモリブロックのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含むことができる。ここで、各行はページ、ワード線、などを含む。
【００３３】
図３は、本発明によるメモリシステムのウェアレベリング方法を概略的に説明するためのフローチャートである。
【００３４】
本発明によるメモリシステムは、消去単位を構成するメモリユニットとしてメモリブロックを有するフラッシュメモリ装置を含み、プログラム／消去サイクルによる各メモリユニット／ブロックの消去イベント情報及びＥＣＣイベント情報をウェアレベリングテーブルに保存するステップ３０１、及びウェアレベリングテーブルに保存された各メモリユニット／ブロックの消去イベント情報及びＥＣＣイベント情報に基づいて各メモリユニット／ブロックに対するウェアレベリング動作を遂行するステップ３０２を含むウェアレベリング方法を遂行するように構成される。
【００３５】
このようなウェアレベリング方法によれば、消去イベント情報は各メモリユニット／ブロックの消去イベント回数を含み、ＥＣＣイベント情報は各メモリユニット／ブロックのエラービット値を含む。メモリユニット／ブロックは初期状態で最も優先順位の高い第１グループに設定され、エラービット値は２ビットエラーのイベント回数を示す第１エラービット値と、３ビットエラーのイベント回数を示す第２エラービット値と、を含む。各メモリユニット／ブロックは各メモリユニット／ブロックの第１エラービット値が第１ＥＣＣしきい値より大きい場合、優先順位の低い第２グループに設定される。各メモリユニット／ブロックの第２エラービット値が第２ＥＣＣしきい値より大きい場合、各メモリユニット／ブロックの消去イベント回数に関係なく最も優先順位の低い第３グループに各メモリユニット／ブロックが設定される。各メモリユニット／ブロックの第２エラービット値が第２ＥＣＣしきい値より大きい場合、第２グループに属する各メモリユニット／ブロックが第３グループに設定される。各メモリユニット／ブロックの消去イベント値が消去しきい値より大きい場合、各メモリユニット／ブロックが第２グループに設定される。
【００３６】
本発明のウェアレベリング方法の他の例示的な実施の形態において、消去イベント情報は各メモリユニット／ブロックの消去イベント回数を含み、ＥＣＣイベント情報はメモリユニット／ブロックのうち一つ、又はそれより多くのユニット／ブロックのエラービット値を含む。本発明のウェアレベリング方法のまた他の例示的な実施の形態において、消去イベント情報は各メモリユニット／ブロックの消去イベント回数を含み、ＥＣＣイベント情報は各メモリユニット／ブロックのメモリセルで構成される行のうち一つ、又はそれより多くの行のエラービット値を含む。
【００３７】
フラッシュメモリ装置は、電源が遮断されても保存されたデータを維持できる不揮発性メモリ装置である。携帯電話、ＰＤＡ、デジタルカメラ、ポータブルゲームコンソール、及びＭＰ３Ｐのようなモバイル装置の使用が増加するにつれ、フラッシュメモリ装置はデータ記憶装置としてだけでなく、コード記憶装置としてより広く用いられる。フラッシュメモリ装置は、また、ＨＤＴＶ、ＤＶＤ、ルータ、及びＧＰＳのような家庭用アプリケーションに使用され得る。
【００３８】
本発明によるメモリシステムを含むコンピュータシステムについて図４に概略的に示す。本発明によるコンピュータシステムは、バス２００１に電気的に連結されたマイクロプロセッサ２１００、ユーザインタフェース２２００、メモリコントローラ２４００、及びフラッシュメモリ装置２５００、ベースバンドチップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム２６００を含む。メモリコントローラ２４００及びフラッシュメモリ装置２５００はメモリシステムを構成し、図１に示しているものと実質的に同一に構成される。フラッシュメモリ装置２５００にはマイクロプロセッサ２１００によって処理された／処理されるＮビットデータ（Ｎは１又ははそれより大きい整数）がメモリコントローラ２４００を介して保存される。
【００３９】
本発明によるコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリ２３００が追加的に提供される。図面には示していないが、本発明によるコンピュータシステムには応用チップセット（ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ）、カメライメージプロセッサ（ＣＩＳ：Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）、モバイルＤＲＡＭ、などがさらに提供され得ることはこの分野における通常の知識を有する者には自明である。フラッシュメモリ装置及びメモリコントローラがメモリシステムとしてメモリカードの形態に構成され得ることはこの分野における通常の知識を有する者には自明である。または、メモリコントローラとフラッシュメモリ装置は、例えば、データを保存するために不揮発性メモリを用いるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）を構成することができる。
【００４０】
本発明によるフラッシュメモリ装置、そして／又はメモリコントローラは、多様な形態のパッケージを用いて実装されることができる。
【００４１】
例えば、本発明によるフラッシュメモリ装置、そして／又はメモリコントローラは、パッケージオンパッケージ（ＰｏＰ：Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、ボールグリッドアレイ（ＢＧＡｓ：Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ）、チップスケールパッケージ（ＣＳＰｓ：Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ）、プラスチック鉛添加チップキャリア（ＰＬＣＣ：Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ）、プラスチックデュアルイン−ラインパッケージ（ＰＤＩＰ：Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、ダイインワッフルパック（Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ）、ダイインウェハフォーム（Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ）、チップオンボード（ＣＯＢ：Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ）、セラミックデュアルイン−ラインパッケージ（ＣＥＲＤＩＰ：Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、プラスチックメトリッククワッドフラットパック（ＰＭＱＦＰ：Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ）、薄型クワッドフラットパック（ＴＱＦＰ：Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔ  ｐａｃｋ）、スモールアウトライン集積回路（ＳＯＩＣ：Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、シュリンクスモールアウトラインパッケージ（ＳＳＯＰ：Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、薄型スモールアウトラインパッケージ（ＴＳＯＰ：Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、システムインパッケージ（ＳＩＰ：Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ）、マルチチップパッケージ（ＭＣＰ：Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ）、ウエハレベル製造されたパッケージ（ＷＦＰ：Ｗａｆｅｒ‐ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ）、ウエハレベル処理されたスタックパッケージ（ＷＳＰ：Ｗａｆｅｒ‐ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ）などのようなパッケージを利用して実装されることができる。
【００４２】
上述の一般的な説明、及びそれに続く詳細な説明は、何れも例示的なものであることが理解されるべきであり、請求された発明についての付加的な説明が提供されるものであると解析されるべきである。
参照符号については、本発明の望ましい実施の形態にて詳細に示し、それらの例を参照図面に示している。如何なる場合にも同一参照番号は同一部分、又は類似部分を参照するために説明及び図面に用いられる。
【００４３】
以上で、メモリシステムが本発明の特徴及び機能を説明するための一例として用いられた。しかし、この技術分野に精通した者であれば、ここに記載された内容によって本発明の他の利点及び性能を容易に理解できるはずである。また、本発明は他の実施例によって具現、又は適用されることができる。そして、詳細な説明は、本発明の範囲、技術的思想及び他の目的から大きく離れない範囲内で、観点及び応用によって修正、又は変更できる。
【図面の簡単な説明】
【００４４】
【図１】本発明によるメモリシステムを概略的に示すブロック図である。
【図２】本発明によるウェアレベリング技法を説明するための図である。
【図３】本発明によるメモリシステムのウェアレベリング方法を概略的に説明するためのフローチャートである。
【図４】本発明によるメモリシステムを含むコンピュータシステムを示すブロック図である。
【図１】
0005296464.tif 000002
【図２】
0005296464.tif 000003
【図３】
0005296464.tif 000004
【図４】
0005296464.tif 000005