(57)【特許請求の範囲】
【請求項１】
フラッシュメモリと、
前記フラッシュメモリのコピーバックプログラム動作のためのソースアドレスとデスティネイションアドレスとを発生させ、さらに前記コピーバックプログラム動作のための制御情報を発生させる中央処理装置と、
アドレスレジスタ、制御レジスタ及びステートマシンを含むフラッシュコントローラと、
を備え、
前記アドレスレジスタは前記ソースアドレスと前記デスティネイションアドレスとを格納し、前記制御レジスタは前記制御情報を格納し、
前記中央処理装置は、前記ソースアドレス、前記デスティネイションアドレス及び前記制御情報を発生させた後、前記ステートマシンからのインタラプトを受信する時まで待機し、
前記ステートマシンは前記ソースアドレス、前記デスティネイションアドレス、及び前記制御情報に基いて、前記コピーバックプログラム動作を実行し、前記コピーバックプログラム動作の完了の時、前記インタラプトを発生させて前記中央処理装置へ転送し、
前記ステートマシンはさらに前記制御レジスタに格納されたコピーバック反復情報に基いて前記コピーバックプログラム動作の反復実行を制御することを特徴とするメモリシステム。
【請求項２】
前記フラッシュコントローラは、さらにハードウェアでの前記コピーバックプログラム動作中に、１以上の命令、アドレス及びデータを発生させることを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記ステートマシンは、さらに前記コピーバックプログラム動作中に前記フラッシュコントローラに格納されたデータに関してエラー検出及び訂正の実行を制御することを特徴とする請求項１に記載のメモリシステム。
【請求項４】
前記格納されたデータにエラーが検出されなかった時には、前記フラッシュコントローラは、前記アドレスレジスタに設定された情報に応じて、デスティネイションアドレス及び命令を前記フラッシュメモリに出力することを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記格納されたデータにエラーが検出された時には、前記フラッシュコントローラは、前記アドレスレジスタに設定された情報に応じて、デスティネイションアドレス及び命令をエラー訂正されたデータと共に前記フラッシュメモリに出力することを特徴とする請求項３に記載のメモリシステム。
【請求項６】
前記コピーバックプログラム動作中に、ページデータは前記フラッシュメモリの同一プレインで複写され、前記同一プレインのソースアドレスとデスティネイションアドレスとは前記アドレスレジスタに格納されることを特徴とする請求項１に記載のメモリシステム。
【請求項７】
前記コピーバックプログラム動作中に、ページデータは前記フラッシュメモリの異なるプレインに同時に複写され、各プレインのソースアドレスとデスティネイションアドレスとは前記アドレスレジスタに格納されることを特徴とする請求項１に記載のメモリシステム。
【請求項８】
前記コピーバックプログラム動作中に、ページデータが前記フラッシュメモリの第１プレインから第２プレインへ複写されることを特徴とする請求項１に記載のメモリシステム。
【請求項９】
前記制御レジスタは、さらにハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ＥＣＣ自動訂正情報、コピーバック繰り返し回数情報、ソースアドレス増加／減少情報、デスティネイションアドレス増加／減少情報、及びプレイン選択情報の少なくとも１つを含む制御情報を格納することを特徴とする請求項１に記載のメモリシステム。
【請求項１０】
前記ステートマシンは、さらに前記制御レジスタの前記ハードウェアコピーバックプログラム開始情報が設定されたときコピーバックプログラム動作を制御することを特徴とする請求項９に記載のメモリシステム。
【請求項１１】
前記コピーバック反復情報は、前記コピーバック繰り返し回数情報、前記ソースアドレス増加／減少情報及び前記デスティネイションアドレス増加／減少情報の少なくとも１つを含むことを特徴とする請求項９に記載のメモリシステム。
【請求項１２】
前記フラッシュメモリに格納されるデータを一時格納する第１ＲＡＭをさらに含むことを特徴とする請求項１に記載のメモリシステム。
【請求項１３】
前記フラッシュコントローラ、前記中央処理装置、及び前記第１ＲＡＭは、システムバスに電気的に接続されることを特徴とする請求項１２に記載のメモリシステム。
【請求項１４】
前記フラッシュコントローラは、
前記フラッシュメモリから読み出されたデータを前記コピーバックプログラム動作のために一時格納する第２ＲＡＭと、
前記フラッシュメモリから読み出されたデータに対するエラーを検出及び訂正するエラー検出訂正回路と、を備えることを特徴とする請求項１３に記載のメモリシステム。
【請求項１５】
前記第２ＲＡＭは、前記システムバスから電気的に分離されることを特徴とする請求項１４に記載のメモリシステム。
【請求項１６】
前記メモリシステムは、メモリカードを含むことを特徴とする請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、格納装置に係り、さらに詳細には、フラッシュメモリに基づくメモリシステムに関する。
【背景技術】
【０００２】
半導体メモリ装置は、データの読み出し／書き込みを自由に行うことができるが、電源を切ると内容が消えてしまうＲＡＭと、一度書き込んだ内容は削除されないが、電源を切っても内容が消えないＲＯＭと、を含み、フラッシュメモリ装置は、両方の要素を兼備えたメモリである。フラッシュメモリ装置をカード型にパッケージしたものは、メモリカード（又はフラッシュメモリカード）と呼ばれ、デジタルカメラや携帯用ミュージックプレーヤなど、デジタル機器の記憶媒体として急速に普及しつつある。また、フラッシュメモリ装置のパッケージにＵＳＢコネクタを付着したＵＳＢメモリは、フロッピー（登録商標）ディスクの代わりをするＰＣ用の簡便なデータ交換用メディアとして注目されつつある。最近では、ＰＣのマザーボード上にフラッシュメモリ装置を装着して、ＢＩＯＳ記憶用として使用する例もある。
【０００３】
フラッシュメモリの容量が増加するにつれて、フラッシュメモリに基づくメモリシステム（例えば、メモリカード）の性能は、フラッシュメモリを管理するのに必要な動作によって制限する。例えば、フラッシュメモリは、コピーバックプログラムの動作、マージ動作、などを必要とする。コピーバックプログラムの動作とは、任意のページのデータを他のページに複写する動作のことを意味し、マージ動作は、任意のメモリブロックに属する有効なページのデータを他のメモリブロックに複写する動作のことを意味する。このような動作は、一連の命令、アドレス、そしてデータの生成を必要とし、これは、ファームウエアの制御の下に行われるはずである。周知のように、ファームウエアの介入時間が増加すれば増加するほど、メモリシステムの性能はさらに低下するはずである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上述の問題点に鑑みてなされたもので、その目的は、動作性能を向上させることができるフラッシュメモリに基づくメモリシステムを提供することにある。
本発明の他の目的は、ハードウェアを介してコピーバック動作を制御できるフラッシュメモリに基づくメモリシステムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の例示的な実施の形態は、フラッシュメモリと、中央処理装置と、コピーバックプログラムの動作時に前記中央処理装置によって設定されるアドレス及び制御レジスタを具備し、ファームウエアの介入なしに前記レジスタに格納された情報に応じて前記フラッシュメモリのコピーバックプログラムの動作をハードウェア的に制御するフラッシュコントローラと、を備えるメモリシステムを提供する。
【０００６】
例示的な実施の形態において、前記フラッシュコントローラは、前記フラッシュメモリのコピーバックプログラムの動作が終了されたか否かを割込みを介して前記中央処理装置に知らせる。
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作の間に一連の命令、アドレス、及びデータをファームウエアの介入なしに生成する。
【０００７】
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作の間にソースデータに対するエラー訂正及び検出動作を行う。
例示的な実施の形態において、前記ソースデータからエラーが検出されないとき、前記フラッシュコントローラは、前記アドレスレジスタに設定された情報に応じて、デスティネイションアドレス及び命令を前記フラッシュメモリに出力する。
【０００８】
例示的な実施の形態において、前記ソースデータからエラーが検出されるとき、前記フラッシュコントローラは、エラー訂正されたデータと共に、前記アドレスレジスタに設定された情報に応じてデスティネイションアドレス及び命令を前記フラッシュメモリに出力する。
例示的な実施の形態において、前記フラッシュコントローラは、前記制御レジスタに設定された情報に応じて、前記フラッシュメモリのコピーバックプログラムの動作を反復的に行う。
【０００９】
例示的な実施の形態において、前記コピーバックプログラムの動作の間に前記フラッシュメモリの同一プランでページデータが複写される。
例示的な実施の形態において、前記コピーバックプログラムの動作の間に、前記フラッシュメモリの相異するプランでページデータが同時に複写される。
例示的な実施の形態において、前記コピーバックプログラムの動作の間に、前記フラッシュメモリの第１プランから第２プランへページデータが複写される。
【００１０】
例示的な実施の形態において、前記制御レジスタは、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ＥＣＣ自動訂正情報、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加／減少情報、デスティネイションアドレスの増加／減少情報、及びプラン選択情報のいずれかの制御情報を含む。
例示的な実施の形態において、前記フラッシュコントローラは、前記制御レジスタのハードウェアコピーバックプログラム開始情報が設定される時に前記コピーバックプログラムの動作を制御する。
【００１１】
例示的な実施の形態において、前記フラッシュコントローラは、前記ハードウェアコピーバック繰り返し回数情報、前記ソースアドレスの増加／減少情報、そしてデスティネイションアドレスの増加／減少情報に応じて、コピーバックプログラムの動作を反復的に行う。
例示的な実施の形態において、前記フラッシュメモリに格納されるデータを一時格納する第１ＲＡＭをさらに含む。
例示的な実施の形態において、前記フラッシュコントローラ、前記中央処理装置、及び前記第１ＲＡＭは、システムバスに電気的に接続される。
【００１２】
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作時に前記フラッシュメモリから読み出されたソースデータを一時格納する第２ＲＡＭと、前記ソースデータに対するエラーを検出及び訂正するエラー検出訂正回路と、前記アドレス及び制御レジスタに設定された情報に応じて、前記コピーバックプログラムの動作に必要な一連の命令及びアドレスを生成するステートマシンと、をさらに備える。
例示的な実施の形態において、前記第２ＲＡＭは、前記システムバスと電気的に分離される。
例示的な実施の形態において、前記メモリシステムは、メモリカードを含む。
【００１３】
本発明の他の例示的な実施の形態において、複数のページを含むメモリセルアレイと、前記メモリセルアレイに対する読み出し及びプログラムの動作を行う読み出し／プログラム回路と、繰り返しデータを格納する繰り返しレジスタと、前記繰り返しレジスタに格納された繰り返しデータに応じて、コピーバックプログラムの動作を反復的に行うように前記読み出し／プログラム回路を制御する制御ロジックと、を備えるフラッシュメモリ装置を提供する。
【００１４】
例示的な実施の形態において、前記繰り返しデータは、前記コピーバック繰り返し回数情報、前記ソースアドレスの増加／減少情報、そして上記のデスティネイションアドレスの増加／減少情報を含む。
例示的な実施の形態において、前記繰り返しレジスタは、ソースページに対する読み出し動作が遂行される以前に繰り返し命令と共に入力される前記繰り返しデータを設定する。
例示的な実施の形態において、前記繰り返しレジスタは、ソースページに対する読み出し動作が行われた後にデスティネイションアドレスに対するプログラムの動作が行われる以前に繰り返し命令と共に入力される前記繰り返しデータを設定する。
【００１５】
例示的な実施の形態において、前記繰り返しレジスタは、前記繰り返しデータを格納するように構成された不揮発性格納回路である。
例示的な実施の形態において、繰り返し命令が入力されるとき、前記制御ロジックは、コピーバックプログラムの動作を反復的に行うように、前記繰り返しレジスタに格納された前記繰り返しデータに応じて前記読み出し／プログラム回路を制御する。
例示的な実施の形態において、前記繰り返し命令は、ソースページに対する読み出し動作が遂行される以前に入力される。
例示的な実施の形態において、前記繰り返し命令は、ソースページに対する読み出し動作が行われた後に、デスティネイションアドレスに対するプログラムの動作が行われる以前に入力される。
【００１６】
例示的な実施の形態において、前記繰り返し命令は、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令のうちのいずれか一つである。
例示的な実施の形態において、前記繰り返しデータは、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令との組み合わせによって前記繰り返しレジスタに設定される。
例示的な実施の形態において、前記コピーバックプログラムの動作の繰り返し時にエラーを検出するように構成されるエラー検出ブロックをさらに備える。
例示的な実施の形態において、前記コピーバックプログラムの動作の繰り返し時にエラーが検出されるとき、前記制御ロジックは、前記コピーバックプログラムの動作を終了し、状態読み出し命令に応じてフェイルされたページ情報を外部に出力する。
【発明の効果】
【００１７】
フラッシュメモリのコピーバックプログラムの動作をソフトウェアの代わりにハードウェアを介して自動的に行うことによって、ソフトウェア（又はファームウエア）が介入する時間を減らすことができる。結果的に、メモリシステムの全般的な性能を向上させることが可能である。
【発明を実施するための最良の形態】
【００１８】
前記一般的な説明及び以下の詳細な説明は、全て例示的なものと理解すべきであり、請求された発明の付加的な説明が提供されるものである。
参照符号は、本発明の好ましい実施の形態に詳細に表示されており、その例が参照図面に表示されている。同一参照番号は、同一又は類似の部分を参照するために説明及び図面中で使用される。
【００１９】
以下では、フラッシュメモリに基づくメモリシステムが、本発明の特徴及び機能を説明するための一例として使用される。しかしながら、この技術分野に精通した人は、ここに記載された内容から、本発明の他の利点及び性能を容易に理解できるはずである。本発明は、他の実施の形態に具現されるか適用されうる。さらに、詳細な説明は、本発明の範囲、技術的思想、そして他の目的から逸脱せずに観点及び応用によって修正されるか、又は変更されうる。
【００２０】
図１は、本発明の例示的な実施の形態によるフラッシュメモリに基づくメモリシステムを概略的に示すブロック図である。
図１に示すように、本発明の例示的な実施の形態によるフラッシュメモリに基づくメモリシステムは、フラッシュメモリ１００、フラッシュコントローラ２００、中央処理装置３００、及びＲＡＭ４００を備え、このような構成２００、３００、４００は、システムバスに電気的に接続されている。
【００２１】
フラッシュコントローラ２００は、中央処理装置３００の制御に応答して、フラッシュメモリ１００を制御する。特に、フラッシュコントローラ２００は、フラッシュメモリ１００のコピーバックプログラムの動作をハードウェア的に処理するように構成される。これについては、以後に詳細に説明する。フラッシュコントローラ２００は、ＲＡＭ２１０、アドレスレジスタ２２０、制御レジスタ２３０、ＥＣＣ２４０、及びステートマシン２５０を備える。ＲＡＭ２１０は、コピーバックプログラムの動作時にフラッシュメモリ１００から読み出されたソースデータを一時格納するのに使用され、１ページのデータを格納するのに充分な容量を有する。
【００２２】
アドレスレジスタ２２０は、中央処理装置３００から提供されるソースアドレス及びデスティネイションアドレスを格納するのに使用される。同一プランでコピーバックプログラムの動作が行われる場合に、図２Ａに示すように、アドレスレジスタ２２０には、同一プランに属するソースアドレス及びデスティネイションアドレスが格納される。これに対して、相異するプランでコピーバックプログラムの動作が行われる場合には、図２Ｂに示すように、アドレスレジスタ２２０には、各プランに属するソースアドレス及びデスティネイションアドレスが格納される。
【００２３】
次に、図１に示すように、制御レジスタ２３０は、中央処理装置３００から提供されるコピーバックプログラムの動作のための制御情報を格納するのに使用される。例えば、図３に示すように、制御レジスタ２３０には、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ＥＣＣ自動訂正情報、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加／減少情報、デスティネイションアドレスの増加／減少情報、プラン選択情報、などが格納される。ＥＣＣ２４０は、フラッシュメモリ１００からＲＡＭ２１０へ送信されるデータに対するエラーを検出し、該検出結果に応じてエラーを訂正し、該訂正されたデータをフラッシュメモリ１００に送信する。ステートマシン２５０は、制御レジスタ２３０に格納された制御情報に応じて、コピーバックプログラムの動作の全般的な動作を制御するように構成される。ステートマシン２５０は、コピーバックプログラムの動作が完了するときに、中央処理装置３００に割込みを発生させる。
【００２４】
中央処理装置３００は、コピーバックプログラムの動作が要求されるとき、アドレスレジスタ２２０及び制御レジスタ２３０を設定し、ステートマシン２５０から割込みが発生するまで待機する。これは、中央処理装置３００がコピーバックプログラムの動作に必要な情報としてレジスタ２２０、２３０を設定した後に、コピーバックプログラムの動作に関与しないことを意味する。ＲＡＭ４００は、フラッシュメモリ１００に格納されるデータを一時格納するのに使用される。ＲＡＭ４００の一部は、また、ワークメモリとして使用することができる。
【００２５】
この実施の形態において、フラッシュコントローラ２００、中央処理装置３００、及びＲＡＭ４００は、フラッシュメモリ１００を制御するメモリコントローラを構成する。フラッシュコントローラ２００のＲＡＭ２１０は、システムバスと電気的に分離される。
【００２６】
本発明によるメモリシステムは、フラッシュメモリ１００のコピーバックプログラムの動作をソフトウェアの代わりにハードウェアを介して自動的に行うように構成される。これは、ソフトウェア（又はファームウエア）が介入する時間が減少し、その結果、全般的な性能を向上させることが可能である。コピーバックプログラムの動作は、一つのページから他のページにデータを移すためのものであって、これは、この分野に周知のマージ動作時に一つのメモリブロックに属するページの各々に対して行わなければならない。かかる理由で、ソフトウェア（又はファームウエア）が介入する時間をさらに減少させることが可能であり、その結果、全般的な性能をさらに向上させることが可能である。
【００２７】
図４は、本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図であり、図５は、本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。以下、本発明によるメモリシステムのコピーバックプログラムの動作を参照図面に基づいて詳細に説明する。
【００２８】
コピーバックプログラムの動作が要求されるとき、中央処理装置３００は、フラッシュコントローラ２００のアドレス及び制御レジスタ２２０、２３０を設定する。例えば、アドレスレジスタ２２０は、ソースアドレスとデスティネイションアドレスとして設定され、制御レジスタ２３０は、必要な制御情報として設定される。説明の便宜上、一つのページに対するコピーバックプログラムの動作が同一のプラン内で行われると仮定する。また、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、及びＥＣＣ自動訂正情報のみが制御情報として制御レジスタ２３０に設定されると仮定する。
【００２９】
まず、ハードウェアコピーバックプログラム開始情報が設定されると、図４に示すように、００ｈ命令、ソースアドレス、及び３５ｈ命令がフラッシュコントローラ２００からフラッシュメモリ１００に順次出力される。以後、読み出し時間ｔＲの間に、ソースページのデータがページバッファによって読み出される（図５において、(1)と表記される）。読み出し時間ｔＲが経過した後に、ページバッファに格納されたデータは、一定単位でフラッシュコントローラ２００のＲＡＭ２１０に送信される（図５において、(2)と表記される）。ＥＣＣ自動訂正情報が設定されているために、ＲＡＭ２１０に送信されるデータに対するエラー検出動作が行われる。
【００３０】
仮に、エラーが検出されないと、図４に示すように、フラッシュコントローラ２００は、８５ｈ命令、デスティネイションアドレス、及び１０ｈ命令をフラッシュメモリ１００に順次出力する。フラッシュメモリ１００は、１０ｈ命令の入力によってページバッファに格納されたデータをデスティネイションページにプログラムする（図５において、(3)と表記される）。すなわち、ｔＰＲＯＧ時間の間にプログラムの動作が行われる。プログラムの動作が完了した後に、ステートマシン２５０は、プログラムの動作がフェイルされたか、又はパスされたかを確認する。ステートマシン２５０は、確認結果に応じて、制御レジスタ２３０の割込み状態情報をプログラムパス／フェイルと設定し、割込みを発生する。以後、中央処理装置３００は、割込みに応答して割込み状態情報を確認する。
【００３１】
コピーバックプログラムの動作が完了されたか否かを確認する動作は、多様に変更されうることは、この分野における通常の知識を有した者にとって自明である。例えば、Ｒ／ｎＢピンのロー・ハイ遷移時に状態読み出し命令７０ｈをフラッシュメモリ１００に出力することによって、プログラムの動作のパス／フェイルを確認することができる。又は、連続的コピーバックプログラムの動作が要求される場合に、コピーバックプログラムの動作が開始される前に、状態読み出し命令７０ｈをフラッシュメモリ１００に出力することによって、以前のコピーバックプログラムの動作のパス／フェイルを確認することができる。説明の便宜上、図４には、前者の場合に対する状態読み出し動作が示されている。
【００３２】
図６は、本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図であり、図７は、本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図であり、図８は、コピーバックプログラムの動作時に行うエラー検出及び訂正動作を説明するための図である。以下、本発明によるメモリシステムのコピーバックプログラムの動作を参照図面に基づいて詳細に説明する。
【００３３】
コピーバックプログラムの動作が要求されるとき、中央処理装置３００は、フラッシュコントローラ２００のアドレス及び制御レジスタ２２０、２３０を設定する。例えば、アドレスレジスタ２２０は、ソースアドレスとデスティネイションアドレスとして設定され、制御レジスタ２３０は、必要な制御情報として設定される。説明の便宜上、一つのページに対するコピーバックプログラムの動作が同一プラン内で行われると仮定する。また、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、そしてＥＣＣ自動訂正情報のみが制御情報として設定されると仮定する。
【００３４】
一旦ハードウェアコピーバックプログラム開始情報が設定されると、図４に示すように、００ｈ命令、ソースアドレス、及び３５ｈ命令がフラッシュコントローラ２００からフラッシュメモリ１００に順次出力される。以後、読み出し時間ｔＲの間に、ソースページのデータがページバッファによって読み出される（図５において、(1)と表記される）。読み出し時間ｔＲが経過した後に、ページバッファに格納されたデータは、一定単位でフラッシュコントローラ２００のＲＡＭ２１０に送信される（図５において、(2)と表記される）。ＥＣＣ自動訂正情報が設定されているために、ＲＡＭ２１０に送信されるデータに対するエラー検出動作が行われる。エラー検出動作をさらに具体的に説明すると、以下のとおりである。
【００３５】
図８に示すように、ＥＣＣ２４０は、フラッシュメモリ１００からＲＡＭ２１０に送信されるデータに対するエラーを検出する。仮に、エラーが検出されると、ＥＣＣ２４０は、エラーが発生したデータをＲＡＭ２１０から読み出し、該読み出されたデータに対するエラーを訂正する。また、ＥＣＣ２４０は、エラーが発生したことをステートマシン２５０に知らせると共に、エラーが発生したデータの位置情報をステートマシン２５０に送信する。エラーが発生することによって、まず、ステートマシン２５０は、８５ｈ命令とデスティネイションアドレスをフラッシュメモリ１００に送信する。次に、図６に示すように、ステートマシン２５０は、エラー訂正されたデータの列アドレスをフラッシュメモリ１００に送信し、ＥＣＣ２４０は、エラー訂正されたデータ（すなわち、ランダムデータ）をフラッシュメモリ１００に送信する（図７において、(3)と表記される）。
【００３６】
フラッシュメモリ１００は、１０ｈ命令の入力に応じてページバッファに格納されたデータをデスティネイションページにプログラムする（図７において、(4)と表記される）。すなわち、ｔＰＲＯＧ時間の間にプログラムの動作が行われる。プログラムの動作が完了した後に、ステートマシン２５０は、プログラムの動作がフェイルされたか、又はパスされたかを確認する。ステートマシン２５０は、確認結果に応じて制御レジスタ２３０の割込み状態情報をプログラムパス／フェイルとして設定し、割込みを発生する。以後、中央処理装置３００は、割込みに応答して割込み状態情報を確認する。このような割込み状態情報は、プログラムパス／フェイル情報のみでなく、ＥＣＣエラー情報を含む。
【００３７】
上述のように、フラッシュメモリのコピーバックプログラムの動作がソフトウェアの介入なしにハードウェア、すなわちフラッシュコントローラ２００の制御に応じて自動的に行われる。
【００３８】
図４では、単に１ページに対するコピーバックプログラムの動作が説明された。しかしながら、複数のページに対するコピーバックプログラムの動作が、上述のような方式でハードウェアの制御に応じて自動的に行われることは自明である。例えば、制御レジスタ２３０の制御情報が複数のページに対するコピーバックプログラムの動作が連続的に行われるように、中央処理装置３００によって設定される。さらに詳細に説明すると、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、及びＥＣＣ自動訂正情報と共に、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加／減少情報、及びデスティネイションアドレスの増加／減少情報が制御情報としてさらに制御レジスタ２３０に設定される。
【００３９】
かかる場合には、一つのページ、すなわちソースアドレス（アドレスレジスタに設定されたアドレス）に対応するページのデータがデスティネイションアドレス（アドレスレジスタに設定されたアドレス）に対応するページにコピーバックプログラムされる。一旦、コピーバックプログラムの動作がプログラムパスとして終了すると、ステートマシン２５０の制御に応じてソースアドレス及びデスティネイションアドレスが１だけ増加／減少される。増加／減少されたソースアドレスのページに対するコピーバックプログラムの動作は、上述したものと実質的に同様に行われる。そのため、それについての説明は省略する。ハードウェアコピーバック繰り返し回数情報分だけコピーバックプログラムの動作が反復的に行われる。
【００４０】
フラッシュメモリ１００が２個のプランで構成される場合に、２−プランコピーバックプログラムの動作も、上述の方式と同様にフラッシュコントローラ２００によって自動的に行われる。例えば、中央処理装置３００によって図２Ｂに示すアドレスレジスタ２２０が第１プランのソース及びデスティネイションアドレスと第２プランのソース及びデスティネイションアドレスとして設定される。かかる場合に、制御レジスタ２３０のプラン選択情報は、２個のプランが同時に選択されるように設定される。アドレス及び制御レジスタ２２０、２３０が設定された後に、各プランのソースページのデータがページバッファに同時に移される（図９において、(1)と表記される）。その後、第１プランのページバッファに格納されたデータがフラッシュコントローラ２００のＲＡＭ２１０に送信される。このとき、上述のように、ＥＣＣ２４０によって送信データに対するエラーが検出される（図９において、(2)と表記される）。
【００４１】
次に、第２プランのページバッファに格納されたデータがフラッシュコントローラ２００のＲＡＭ２１０に送信される。同様に、ＥＣＣ２４０によって送信データに対するエラーが検出される（図９において、(2)と表記される）。エラーが検出される場合に、上述のように、各プランでエラー訂正されたデータは、デスティネイションアドレスと共にフラッシュコントローラ２００の制御に応じて対応するページバッファにロードされる（図９において、(3)と表記される）。以後、ページバッファに格納されたデータは、対応するデスティネイションページに各々プログラムされる。
【００４２】
第１プランのソースページから読み出されたデータを他のプランのデスティネイションページにコピーバックプログラムすることが可能である。例えば、図１０に示すように、中央処理装置３００によって図２Ｂに示すアドレスレジスタ２２０が第１プランのソースアドレスと第２プランのデスティネイションアドレスとが設定される。かかる場合に、制御レジスタ２３０には、他のプラン選択情報がさらに提供される。アドレス及び制御レジスタ２２０、２３０が設定された後に、第１プランのソースページのデータがページバッファに移される（図１０において、(1)と表記される）。
【００４３】
その次に、第１プランのページバッファに格納されたデータがフラッシュコントローラ２００のＲＡＭ２１０に送信される。このとき、上述のように、ＥＣＣ２４０によって送信データに対するエラーが検出される（図１０において、(2)と表記される）。エラーが検出される場合に、ＲＡＭ２１０に格納されたデータのうち、エラーのあるデータは、ＥＣＣ２４０によって訂正される。以後、ＲＡＭ２１０に格納されたデータは、デスティネイションアドレスと共に第２プランのページバッファにロードされる（図１０において、(3)と表記される）。以後、第２プランのページバッファに格納されたデータは、デスティネイションページにプログラムされる（図１０において、(4)と表記される）。
【００４４】
図１１は、本発明の他の実施の形態によるフラッシュメモリを概略的に示すブロック図である。
図１１に示すように、フラッシュメモリ５００は、メモリセルアレイ５１０、行デコーダ回路５２０、ページバッファ回路５３０、列デコーダ回路５４０、制御ロジック５５０、及び繰り返しレジスタ５６０を備える。メモリセルアレイ５１０、行デコーダ回路５２０、ページバッファ回路５３０、列デコーダ回路５４０、及び制御ロジック５５０は、この分野における通常の知識を有した者にとって周知であるから、それについての説明は省略する。繰り返しレジスタ５６０には、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加／減少情報、そしてデスティネイションアドレスの増加／減少情報が格納される。繰り返しレジスタ５６０に格納された情報に応じて、すなわち、ハードウェアコピーバック繰り返し回数情報分だけコピーバックプログラムの動作が反復的に行われる。コピーバックプログラムの動作は、この分野における通常の知識を有した者にとって自明であり、それについての説明は省略する。
【００４５】
フラッシュメモリ装置１００は、エラー検出ブロック５７０をさらに備える。エラー検出ブロック５７０は、コピーバックプログラムの動作の間にエラーの発生有無を検出するように構成される。コピーバックプログラムの動作の間にエラーが検出されるとき、制御ロジック５５０は、プログラムの動作を終了させる。プログラムの動作が終了した後、制御ロジック５５０は、状態読み出し動作を介してフェイルされたページ情報を外部（例えば、メモリコントローラ）に出力する。
【００４６】
繰り返し情報を繰り返しレジスタ５６０に設定する方式は、多様に具現することができる。まず、図１２Ａに示すように、ソースアドレスに対応するページから読み出し動作が行われた後、繰り返し命令ＲＰＴ  ＣＭＤと繰り返しデータがメモリコントローラからフラッシュメモリ装置１００に提供される。ここで、繰り返しデータは、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加／減少情報、及びデスティネイションアドレスの増加／減少情報を含む。入力された繰り返しデータは、繰り返しレジスタ５６０に格納される。繰り返し命令ＲＰＴ  ＣＭＤと繰り返しデータの入力は、多様に変更できる。
【００４７】
例えば、図１２Ｂに示すように、繰り返し命令ＲＰＴ  ＣＭＤと繰り返しデータは、デスティネイションアドレスの入力後に、そしてプログラムの動作の開始前にメモリコントローラでフラッシュメモリ装置１００に提供することが出来る。入力された繰り返しデータは、繰り返しレジスタ５６０に格納される。又は１２Ｃに示すように、繰り返し命令ＲＰＴ  ＣＭＤと繰り返しデータは、ソースアドレスの入力後に、かつ読み出し動作の開始前にメモリコントローラからフラッシュメモリ装置１００に提供することができる。入力された繰り返しデータは、繰り返しレジスタ５６０に格納される。図示していなが、ソースアドレスの入力前に繰り返し命令及び繰り返しデータが入力されうることは、この分野における通常の知識を有した者にとって自明である。
【００４８】
図１２において説明されたものとは異なり、繰り返しデータ無しで繰り返し命令ＲＰ  ＴＣＭＤのみをフラッシュメモリ装置１００に提供することもできる。かかる場合に、繰り返しデータは、予めフラッシュメモリ装置１００に設定される。例えば、繰り返しレジスタ５６０は、予め決定された繰り返しデータを格納するように、不揮発性特性を有する格納装置で具現される。したがって、繰り返し命令が入力される場合に、フラッシュメモリ装置１００は、繰り返しレジスタ５６０に予め設定された繰り返しデータに応じてコピーバックプログラムの動作を行う。繰り返し命令ＲＰＴ  ＣＭＤが入力される時点は、多様に具現されることができる。
【００４９】
例えば、図１３Ａに示すように、ソースアドレスに対応するページから読み出し動作が行われた後に、繰り返し命令ＲＰＴ  ＣＭＤをメモリコントローラからフラッシュメモリ装置１００に提供することができる。又は、図１３Ｂに示すように、繰り返し命令ＲＰＴ  ＣＭＤは、デスティネイションアドレスの入力後に、そしてプログラムの動作の開始前にメモリコントローラからフラッシュメモリ装置１００に提供することができる。又は、図１２Ｃに示すように、繰り返し命令ＲＰＴ  ＣＭＤは、ソースアドレスの入力後に、かつ読み出し動作の開始前にメモリコントローラからフラッシュメモリ装置１００に提供することができる。図面には図示していなが、ソースアドレスの入力前に繰り返し命令が入力されうることは、この分野における通常の知識を有した者にとって自明である。
【００５０】
図１３Ａ〜図１３Ｃで説明した繰り返し命令は、図１３Ａ〜図１３Ｃに示す命令００ｈ、３５ｈ、１０ｈ等のうちのいずれか一つを用いて具現することもできる。例えば、００ｈを１１ｈに変更することによって、繰り返し命令をフラッシュメモリ装置１００に提供することが可能である。かかる場合に、繰り返しレジスタ５６０には、予め設定された繰り返しデータが格納される。命令の組み合わせで繰り返しデータを提供することが可能である。
【００５１】
以上で、本発明による回路の構成及び動作を上記説明及び図面に従って示したが、これは例示の目的のために開示されたものであり、本発明の属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形、及び変更が可能であり、このような置換、変更などは、特許請求の範囲に属するものである。
【図面の簡単な説明】
【００５２】
【図１】本発明によるフラッシュメモリに基づくメモリシステムを概略的に示すブロック図である。
【図２】図１に示すアドレスレジスタを示す図である。
【図３】図１に示す制御レジスタを示す図である。
【図４】本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図である。
【図５】本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。
【図６】本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図である。
【図７】本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。
【図８】コピーバックプログラムの動作時に行うエラー検出及び訂正動作を説明するための図である。
【図９】本発明によるメモリシステムの２−プランコピーバックプログラムの動作を説明するための図である。
【図１０】本発明によるメモリシステムの２−プランコピーバックプログラムの動作の他の実施の形態を説明するための図である。
【図１１】本発明の他の実施の形態によるフラッシュメモリを概略的に示すブロック図である。
【図１２Ａ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その１）
【図１２Ｂ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その２）
【図１２Ｃ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その３）
【図１３Ａ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その１）
【図１３Ｂ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その２）
【図１３Ｃ】図１１に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。（その３）
【符号の説明】
【００５３】
１００      フラッシュメモリ
２００      フラッシュコントローラ
２１０、４００      ＲＡＭ
２２０      アドレスレジスタ
２３０      制御レジスタ
２４０      ＥＣＣ
２５０      ステートマシン
３００      中央処理装置
【図１】
0005427360.tif 000002
【図２】
0005427360.tif 000003
【図３】
0005427360.tif 000004
【図４】
0005427360.tif 000005
【図５】
0005427360.tif 000006
【図６】
0005427360.tif 000007
【図７】
0005427360.tif 000008
【図８】
0005427360.tif 000009
【図９】
0005427360.tif 000010
【図１０】
0005427360.tif 000011
【図１１】
0005427360.tif 000012
【図１２Ａ】
0005427360.tif 000013
【図１２Ｂ】
0005427360.tif 000014
【図１２Ｃ】
0005427360.tif 000015
【図１３Ａ】
0005427360.tif 000016
【図１３Ｂ】
0005427360.tif 000017
【図１３Ｃ】
0005427360.tif 000018