(57)【要約】【課題】　ＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用としてより容易に使用できるコンピュータシステムを提供する。【解決手段】本発明によるコンピュータシステムは、中央処理装置とメモリバスコントローラとを含み、第１インタフェース方式で動作するシステムコントローラと、システムバスを通じて前記システムコントローラと連結されたシステムメモリと、前記コンピュータシステムのためのシステム駆動コード及びオペレーティングシステムプログラムと使用者データを貯蔵するＮＡＮＤフラッシュメモリと、前記システムコントローラとは前記システムバスを通じて前記第１インタフェース方式で通信し、前記ＮＡＮＤフラッシュメモリとは第２インタフェース方式で通信し、所定の命令情報に応答して内部で発生したクロック信号に同期して動作するインタフェース装置とを含む。【選択図】　図２
2004062913.tif 000002
【特許請求の範囲】
【請求項１】
　コンピュータシステムにおいて、
　中央処理装置とメモリバスコントローラとを含み、第１インタフェース方式で動作するシステムコントローラと、
　システムバスを通じて前記システムコントローラと連結されたシステムメモリと、
　前記コンピュータシステムのためのシステム駆動コード及びオペレーティングシステムプログラムと使用者データを貯蔵するＮＡＮＤフラッシュメモリと、
　前記システムコントローラとは前記システムバスを通じて前記第１インタフェース方式で通信し、前記ＮＡＮＤフラッシュメモリとは第２インタフェース方式で通信し、所定の命令情報に応答して内部で発生したクロック信号に同期して動作するインタフェース装置とを具備することを特徴とするコンピュータシステム。
【請求項２】
　前記インタフェース装置は、
　前記システムバスを通じて前記システムコントローラと前記第１インタフェース方式で通信するホストインタフェースユニットと、
　前記コンピュータシステム及び前記ＮＡＮＤフラッシュメモリに関する編成情報と前記ＮＡＮＤフラッシュメモリに関する前記命令情報を貯蔵するレジスタユニットと、
　前記ＮＡＮＤフラッシュメモリのデータを貯蔵するバッファユニットと、
　前記命令情報に応答して前記クロック信号を発生するオシレータと、
　前記クロック信号に同期して、前記命令情報に応答して前記インタフェース装置の内部動作を制御する状態制御ユニットと、
　前記クロック信号に同期して、前記状態制御ユニットにより前記ＮＡＮＤフラッシュメモリと前記第２インタフェース方式で通信するＮＡＮＤフラッシュインタフェースユニットとを具備することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
　前記インタフェース装置は、電源が印加された時に、電源感知信号を前記状態制御ユニットに印加するパワーアップ感知回路をさらに具備することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
　前記インタフェース装置は、前記クロック信号に同期して前記ＮＡＮＤフラッシュメモリのデータに対するエラー検査及び訂正を行うエラー訂正回路をさらに具備することを特徴とする請求項２または３に記載のコンピュータシステム。
【請求項５】
　前記状態制御ユニットは、
　前記バッファユニットに貯蔵されたデータと予め決められたエラー訂正パリティビットを前記ＮＡＮＤフラッシュメモリにプログラムする動作を制御する第１ブロックと、
　前記ＮＡＮＤフラッシュメモリから読み出されたデータを前記バッファユニットに貯蔵する動作を制御する第２ブロックと、
　前記ＮＡＮＤフラッシュメモリに貯蔵された前記システム駆動コードを利用して前記コンピュータシステムを駆動する動作を制御する第３ブロックと、
　前記ＮＡＮＤフラッシュメモリの前記プログラム動作中に前記エラー訂正パリティビットを発生する動作を制御し、前記ＮＡＮＤフラッシュメモリの読み出し動作中に前記ＮＡＮＤフラッシュメモリに貯蔵された前記パリティビットと新しいパリティビットを比べてエラー訂正する動作を制御する第４ブロックとを具備することを特徴とする請求項４に記載のコンピュータシステム。
【請求項６】
　前記状態制御ユニットは、
　前記ＮＡＮＤフラッシュメモリに貯蔵されたデータを消去する動作を制御する第５ブロックと、
　前記ＮＡＮＤフラッシュメモリに印加されるリセット命令と前記インタフェース装置内のレジスタのリセットを制御する第６ブロックとをさらに具備することを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
　前記インタフェース装置は、
　前記システムバスを通じて前記システムコントローラと前記第１インタフェース方式で通信する第１インタフェースユニットと、
　前記クロック信号に同期して前記ＮＡＮＤフラッシュメモリと前記第２インタフェース方式で通信する第２インタフェースユニットと、
　前記第１及び第２インタフェースユニット間に交換される情報及びデータを貯蔵する貯蔵ユニットと、
　前記クロック信号に同期して前記第１及び第２インタフェースユニット間の前記情報及びデータの伝送を統制する制御ユニットとを具備することを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
　前記貯蔵ユニットは、
　前記コンピュータシステム及び前記ＮＡＮＤフラッシュメモリに関する編成情報と前記ＮＡＮＤフラッシュメモリに関する前記命令情報を貯蔵するレジスタユニットと、
　前記ＮＡＮＤフラッシュメモリのデータを貯蔵するバッファユニットとを具備することを特徴とする請求項７に記載のコンピュータシステム。
【請求項９】
　前記インタフェース装置は電源が印加された時に、電源感知信号を前記状態制御ユニットに印加するパワーアップ感知回路をさらに具備することを特徴とする請求項７に記載のコンピュータシステム。
【請求項１０】
　前記インタフェース装置は前記クロック信号に同期して前記ＮＡＮＤフラッシュメモリのデータに対するエラー検査及び訂正を行うエラー訂正回路をさらに具備することを特徴とする請求項７または９に記載のコンピュータシステム。
【請求項１１】
　前記制御ユニットは、
　前記バッファユニットに貯蔵されたデータと予め決められたエラー訂正パリティビットを前記ＮＡＮＤフラッシュメモリにプログラムする動作を制御する第１ブロックと、
　前記ＮＡＮＤフラッシュメモリから読み出されたデータを前記バッファユニットに貯蔵する動作を制御する第２ブロックと、
　前記ＮＡＮＤフラッシュメモリに貯蔵された前記システム駆動コードを利用して前記コンピュータシステムを駆動する動作を制御する第３ブロックと、
　前記ＮＡＮＤフラッシュメモリの前記プログラム動作中に前記エラー訂正パリティビットを発生する動作を制御し、前記ＮＡＮＤフラッシュメモリの読み出し動作中に前記ＮＡＮＤフラッシュメモリに貯蔵された前記パリティビットと新しいパリティビットを比べてエラー訂正する動作を制御する第４ブロックとを具備することを特徴とする請求項７に記載のコンピュータシステム。
【請求項１２】
　前記制御ユニットは、
　前記ＮＡＮＤフラッシュメモリに貯蔵されたデータを消去する動作を制御する第５ブロックと、
　前記ＮＡＮＤフラッシュメモリに印加されるリセット命令と前記インタフェース装置内のレジスタのリセットを制御する第６ブロックとをさらに具備することを特徴とする請求項１１に記載のコンピュータシステム。
【請求項１３】
　ＮＡＮＤフラッシュメモリを有するコンピュータシステムを駆動する方法において、
　電源印加感知状態に応答して前記ＮＡＮＤフラッシュメモリからシステム駆動コードを所定のバッファにコピーする第１段階と、
　前記バッファに貯蔵された前記システム駆動コードに従って、前記コンピュータシステムを初期化し、前記ＮＡＮＤフラッシュメモリからオペレーティングシステムコードを所定のプログラマブルメモリにコピーする第２段階と、
　前記オペレーティングシステムコードを実行する第３段階とを具備することを特徴とする方法。
【請求項１４】
　システムコントローラ及びバッファとＮＡＮＤフラッシュメモリを有するコンピュータシステムで前記ＮＡＮＤフラッシュメモリからデータを読み出す方法において、
　前記ＮＡＮＤフラッシュメモリに対する命令及びアドレスと読み出されるページを設定する第１段階と、
　前記ページのうち一番目のページのデータを前記バッファにコピーする第２段階と、
　前記一番目のページのデータを前記バッファから前記システムコントローラに伝送する間に、前記ページのうち二番目のページのデータを前記ＮＡＮＤフラッシュメモリから前記バッファにコピーする第３段階とを具備することを特徴とする方法。
【請求項１５】
　前記設定されたページに対するデータコピーが全部完了するまで前記第３段階を繰り返すことを特徴とする請求項１４に記載の方法。
【請求項１６】
　前記システムコントローラに前記設定されたページのデータが連続して送信されることを特徴とする請求項１４に記載の方法。
【請求項１７】
　システムコントローラ及びバッファとＮＡＮＤフラッシュメモリを有するコンピュータシステムで、前記ＮＡＮＤフラッシュメモリにデータをプログラムする方法において、
　前記ＮＡＮＤフラッシュメモリに対する命令及びアドレスとプログラムされるページを設定する第１段階と、
　前記システムコントローラから前記バッファに前記プログラムされるページに必要なデータを連続してローディングする第２段階と、
　前記バッファにローディングされたデータを利用して前記ページに対するプログラムを順次に実行する第３段階とを具備することを特徴とする方法。
【請求項１８】
　前記ページのうち一ページに対するデータが前記バッファにローディングされる間に、他の一つのページに対するプログラムが実行されることを特徴とする請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明はＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用するシステムに関するものである。
【背景技術】
【０００２】
【特許文献１】米国特許登録番号５，５３５，３５７
【０００３】
　通常の個人情報端末機（ＰＤＡ）、移動電話機（ｍｏｂｉｌｅ　ｐｈｏｎｅ）または衛星チャンネル装置(ｓｅｔ　ｔｏｐ　ｂｏｘ)などのシステムでは、システム駆動用メモリとしてＲＯＭまたはＮＯＲフラッシュメモリを主に使用し、データ貯蔵メモリとしてＮＯＲフラッシュメモリを多く使用してきた。 フラッシュメモリは電気的にデータの書き込みと除去が可能であり、再充電が不要な不揮発性を有するので、データ貯蔵用として適し、特に、ＮＯＲフラッシュメモリは高速インタフェースではないシステムで駆動及び貯蔵用として多く使用されている。
【０００４】
　しかし、最近はシステム市場の成長と共にシステムでのサービスの多様化、高機能化、大容量化によって高速アクセスと大容量の支援は勿論、比較的安価なメモリが要求されているが、ＮＯＲフラッシュメモリでは、そのような要求を満足させるのに限界がある。現在、そのような要求を満足させることができるメモリとしては、ＲＡＭがあるが、ＤＲＡＭは揮発性メモリで、データ貯蔵用には適しない。
【０００５】
　一方、ＮＡＮＤフラッシュメモリはメモリ構造上、大容量の実現が容易であり、ＮＯＲフラッシュメモリに比べて安価に製造することができるので、大容量メモリとして、多く使用されている。また、ＮＡＮＤフラッシュメモリはＮＯＲフラッシュメモリに比べて製作が容易であり、集積度が高いので、システムの駆動メモリとして使用が提案されたことがある。特許文献１には、システム駆動用として用いられるフラッシュメモリの一例が開示されている。
【０００６】
　図１は従来のコンピュータシステムの構成を示すブロック図である。この図１を参照すれば、 ＮＡＮＤフラッシュメモリをシステム駆動用として使用するために、フラッシュコントローラ８がＮＡＮＤフラッシュメモリ９とシステムバス２との間のインタフェースを実行する。 ここで、ＮＡＮＤフラッシュメモリ９は別途のエミュレーション(ｅｍｕｌａｔｉｏｎ) 手段を貯蔵しなければならない。 エミュレーション手段とは、ＮＡＮＤフラッシュメモリの一部領域をハードディスクとして使用するための手段を言う。 フラッシュコントローラ８はバイオス（ＢＩＯＳ）駆動プロセスをインタセットし、システムメモリ３にエミュレーション手段を設置する。
【０００７】
　図１の構成でシステム駆動は次の通りである。先ず、ＮＡＮＤフラッシュメモリ４のファイルシステム領域ＦＳ(ブロック０に位置する)にバイオス領域ＢＳ(ブロック １に位置する)のためのジャンプアドレス(ｊｕｍｐ　ａｄｒｅｓｓ)を貯蔵する。フラッシュコントローラ８内にあるメモリマッピング(ｍａｐｐｉｎｇ)用回路(またはウィンドウ回路)を利用してバイオス領域ＢＳへのメモリマッピングを実行し、これを通じてオペレーティングシステム(ｏｐｅｒｔｉｎｇ　ｓｙｓｔｅｍ)領域ＯＳをシステムメモリ３に移すことによってシステム駆動を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
　しかし、このような従来の方式でＮＡＮＤフラッシュメモリをシステム駆動用メモリとして使用するためには、図１に示したように、ＮＡＮＤフラッシュメモリ４をファイルシステム領域 FＳ、バイオス領域ＢＳ、オペレーティングシステム領域ＯＳ及び使用者データ領域ＵＤに区分しなければならない。 また、ＮＡＮＤフラッシュメモリ４は、該ＮＡＮＤフラッシュメモリ４をハードディスクとして認識できるようにするエミュレーション手段を持っていなければならない。これと同時に、フラッシュコントローラ８は、バイオス駆動プロセスをインタセプトするための機能とバイオス領域ＢＳにアドレスマッピングをする手段を有しなければならない。
【０００９】
　したがって、従来の方式では、ＮＡＮＤフラッシュメモリ及びフラッシュコントローラに対する準備とそれによる動作段階が複雑なので、一般的なコンピュータシステムに適用しづらい短所がある。
【００１０】
　したがって、本発明の目的は、一般的なコンピュータシステムでＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用としてより容易に使用できる装置を提供することにある。
【００１１】
　また、本発明の目的は、ＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用するコンピュータシステムでより容易に、効率的にインタフェース機能を実行することができる装置を提供することにある。
【００１２】
　また、本発明の目的は、ＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用するコンピュータシステムでＮＡＮＤフラッシュメモリに対する読み出し及びプログラム動作を実行するインタフェース装置を提供することにある。
【課題を解決するための手段】
【００１３】
　本発明によるコンピュータシステムは、中央処理装置とメモリバスコントローラを含み、第１インタフェース方式で動作するシステムコントローラと、システムバスを通じて前記システムコントローラと連結されたシステムメモリと、前記コンピュータシステムのためのシステム駆動コード及びオペレーティングシステムプログラムと使用者データを貯蔵するＮＡＮＤフラッシュメモリと、前記システムコントローラとは前記システムバスを通じて前記第１インタフェース方式で通信し、前記ＮＡＮＤフラッシュメモリとは第２インタフェース方式で通信し、所定の命令情報に応答して内部で発生したクロック信号に同期して動作するインタフェース装置とを具備する。
【００１４】
　前記インタフェース装置は、前記システムバスを通じて前記システムコントローラと前記第１インタフェース方式で通信するホストインタフェースユニットと、前記コンピュータシステム及び前記ＮＡＮＤフラッシュメモリに関する編成情報と前記ＮＡＮＤフラッシュメモリに関する前記命令情報を貯蔵するレジスタユニットと、前記ＮＡＮＤフラッシュメモリのデータを貯蔵するバッファユニットと、前記命令情報に応答して前記クロック信号を発生するオシレータと、前記クロック信号に同期し、前記命令情報に応答して前記インタフェース装置の内部動作を制御する状態制御ユニットと、前記クロック信号に同期し、前記状態制御ユニットによって前記ＮＡＮＤフラッシュメモリと前記第２インタフェース方式で通信するＮＡＮＤフラッシュインタフェースユニットとを有する。
【００１５】
　前記インタフェース装置には電源が印加された時に、電源感知信号を前記状態制御ユニットに印加するパワーアップ感知回路と、前記クロック信号に同期して前記ＮＡＮＤフラッシュメモリのデータに対するエラー検査及び訂正を行うエラー訂正回路とが前記インタフェース装置の内部または外部にさらに具備される。
【００１６】
　前記状態制御ユニットは、前記バッファユニットに貯蔵されたデータと予め決められたエラー訂正パリティビットを前記ＮＡＮＤフラッシュメモリにプログラムする動作を制御する第１ブロックと、前記ＮＡＮＤフラッシュメモリから読み出されたデータを前記バッファユニットに貯蔵する動作を制御する第２ブロックと、前記ＮＡＮＤフラッシュメモリに貯蔵された前記システム駆動コードを利用して前記コンピュータシステムを駆動する動作を制御する第３ブロックと、前記ＮＡＮＤフラッシュメモリの前記プログラム動作中に、前記エラー訂正パリティビットを発生する動作を制御し、前記ＮＡＮＤフラッシュメモリの読み出し動作中に、前記ＮＡＮＤフラッシュメモリに貯蔵された前記パリティビットと新しいパリティビットを比べて、エラー訂正する動作を制御する第４ブロックと、前記ＮＡＮＤフラッシュメモリに貯蔵されたデータを消去する動作を制御する第５ブロックと、前記ＮＡＮＤフラッシュメモリに印加されるリセット命令と前記インタフェース装置内のレジスタのリセットを制御する第６ブロックからなる。
【００１７】
　本発明の他の側面によると、前記インタフェース装置は、前記システムバスを通じて前記システムコントローラと前記第１インタフェース方式で通信する第１インタフェースユニットと、前記クロック信号に同期して前記ＮＡＮＤフラッシュメモリと前記第２インタフェース方式で通信する第２インタフェースユニットと、前記第１及び第２インタフェースユニット間に交換される情報及びデータを貯蔵する貯蔵ユニットと、前記クロック信号に同期して前記第１及び第２インタフェースユニット間の前記情報及びデータの伝送を統制する制御ユニットとを具備する。前記貯蔵ユニットは、前記コンピュータシステム及び前記ＮＡＮＤフラッシュメモリに関する編成情報と前記ＮＡＮＤフラッシュメモリに関する前記命令情報を貯蔵するレジスタユニットと、前記ＮＡＮＤフラッシュメモリのデータを貯蔵するバッファユニットとに区分される。
【００１８】
　一方、ＮＡＮＤフラッシュメモリを有するコンピュータシステムを駆動する方法においては、電源印加感知状態に応答して前記ＮＡＮＤフラッシュメモリからシステム駆動コードを所定のバッファにコピーする第１段階と、前記バッファに貯蔵された前記システム駆動コードによって、前記コンピュータシステムを初期化し、前記ＮＡＮＤフラッシュメモリからオペレーティングシステムコードを所定のプログラマブルメモリにコピーする第２段階と、前記オペレーティングシステムコードを実行する第３段階とを具備する。
【００１９】
　また、本発明のシステムではコントローラがＮＡＮＤフラッシュメモリからデータを読み出し、またはＮＡＮＤフラッシュメモリにデータをプログラムする時に、ＮＡＮＤフラッシュメモリを高性能で読み出し、またはプログラムする装置及び方法が提示される。
【００２０】
　システムコントローラ及びバッファとＮＡＮＤフラッシュメモリを有するコンピュータシステムで前記ＮＡＮＤフラッシュメモリからデータを読み出す方法においては、前記ＮＡＮＤフラッシュメモリに対する命令及びアドレスと読み出されるページを設定する第１段階と、前記ページのうち一番目のページのデータを前記バッファにコピーする第２段階と、前記一番目のページのデータを前記バッファから前記システムコントローラに伝送する間に、前記ページのうち二番目のページのデータを前記ＮＡＮＤフラッシュメモリから前記バッファにコピーする第３段階とを具備する。前記設定されたページに対するデータコピーが全部完了するまで前記第３段階が繰り返される。前記システムコントローラに前記設定されたページのデータが連続して伝送される。
【００２１】
　システムコントローラ及びバッファとＮＡＮＤフラッシュメモリを有するコンピュータシステムで前記ＮＡＮＤフラッシュメモリにデータをプログラムする方法においては、前記ＮＡＮＤフラッシュメモリに対する命令及びアドレスと、プログラムされるページを設定する第１段階と、前記システムコントローラから前記バッファに前記プログラムされるページに必要なデータを連続してローディングする第２段階と、前記バッファにローディングされたデータを利用して前記ページに対するプログラムを順次に実行する第３段階とを具備する。前記ページのうち一ページに対するデータが前記バッファにローディングされる間に、他の一つのページに対するプログラムが実行される。
【発明の効果】
【００２２】
　上述によると、本発明はコンピュータシステムでＮＡＮＤフラッシュメモリをシステム駆動用として使用可能になることによって、より簡単で効率的な方式を提供できる。特に、本発明によるインタフェース装置を利用することによって、ＮＡＮＤフラッシュメモリに対する読み出し動作において、レイタンシ時間を減らす一方、プログラム動作において、全体的なプログラムデータローディング時間を短縮する利点がある。また、ＮＯＲフラッシュインタフェース方式を有するシステムコントローラに対しても、ＮＡＮＤフラッシュメモリをシステム駆動用及びデータ貯蔵用として利用できるようになる。結果的に、本発明はＮＡＮＤフラッシュメモリをシステム駆動及びデータ貯蔵用として使用することにおいて、より容易であり、効率的な方式を提案することによって、システム構成に必要な費用を減らす效果がある。
【発明を実施するための最良の形態】
【００２３】
　以下、 本発明によるコンピュータシステムに関して添付した図面を参照して詳細に説明する。本発明による図面で上述の図１の構成要素と実質的に同一の構成要素に対しては同一の参照符号を使用する。
【００２４】
　図２は本発明によるコンピュータシステムの構成を示すブロック図である。この図２を参照すると、本発明によるコンピュータシステムは中央処理装置ＣＰＵなどのようなシステムコントローラ１１と、システムバス２と、ＤＲＡＭなどのようなシステムメモリ３と、本発明に従って領域が区分されたＮＡＮＤフラッシュメモリ１０と、システムバス２とＮＡＮＤフラッシュメモリ１０との間でデータまたは信号の交換を実行するインタフェース装置２０からなる。
【００２５】
　システムバス２はシステムコントローラ１１とシステムメモリ３及びインタフェース装置２０を互いに連結する。ＮＡＮＤフラッシュメモリ１０はデータ貯蔵用だけでなく、システム駆動用としても使用され、その内部のデータ領域はシステム駆動コードを貯蔵する領域ＢＣと、オペレーティングシステム(ｏｐｅｒａｔｉｎｇ　ｓｙｓｔｅｍ)に関する情報を貯蔵する領域ＯＳと、通常の使用者データを貯蔵する領域ＵＤとに分けられる。ＮＡＮＤフラッシュメモリ１０の貯蔵領域ＢＣ、ＯＳ及びＵＤは貯蔵されるデータの種類に従って区分されることとして、各貯蔵領域は複数個のページで構成される。インタフェース装置２０は従来のＮＡＮＤフラッシュコントロール(図１の８)を支援しないシステムコントローラ１１のために提供される。システムコントローラ１１はコアブロック１５と周辺装置１６及びメモリバスコントローラ１７で構成される。メモリバスコントローラ１７はＮＡＮＤフラッシュメモリのためのインタフェース方式を支援せず、プログラムメモリコントローラとＮＯＲフラッシュメモリコントローラを支援する。
【００２６】
　インタフェース装置２０はシステムバス２を通じてメモリバスコントローラ１７とはＮＯＲフラッシュインタフェース方式で動作し、ＮＡＮＤフラッシュメモリ１０とはＮＡＮＤフラッシュインタフェース方式で動作する。図３及び図４はＮＯＲフラッシュインタフェース方式とＮＡＮＤフラッシュインタフェース方式での読み出し動作を各々示す。ＮＯＲフラッシュメモリはラングムアクセス読み出しが可能であり、ＮＡＮＤフラッシュメモリはラングムアクセス読み出しよりはページ単位で読み出し動作を実行し、最大１０μｓ程度のレイタンシ時間を要する。このように、ＮＯＲフラッシュインタフェース方式とＮＡＮＤフラッシュインタフェース方式間の差によって、ＮＡＮＤフラッシュインタフェース方式を支援しないシステムコントローラを使用するコンピュータシステムでＮＡＮＤフラッシュメモリを使用するためには、図２のようなインタフェース装置２０が必要である。
【００２７】
　インタフェース装置２０は、 図５に示したように、ホストインタフェースユニット２１と、レジスタユニット２２と、バッファユニット２３と、オシレータ２４と、状態制御ユニット２５と、パワーアップ感知回路２６と、エラー訂正回路２７と、ＮＡＮＤフラッシュインタフェースユニット２８とからなる。
【００２８】
　ホストインタフェースユニット２１は、インタフェース装置２０とシステムコントローラ１１との間でＮＯＲフラッシュインタフェース機能を実行するために、システムコントローラ１１に連結されたシステムバス２とアドレス信号ＡＤ、データ入出力信号ＤＩＯ及び制御信号ＣＲＨを交換する。アドレス信号ＡＤにはＳＲＡＭで構成されたレジスタユニット２２及びバッファユニット２３とＮＡＮＤフラッシュメモリ１０にデータを貯蔵するためのアドレス信号が含まれる。データ入出力信号ＤＩＯとしてはＮＡＮＤフラッシュメモリ１０にプログラムされるか、ＮＡＮＤフラッシュメモリ１０から読み出されるデータが伝送される。制御信号ＣＲＨはインタフェース装置２０を動作させるための制御信号を含む。レジスタユニット２２はホストインタフェースユニット２１を通じて提供される制御信号ＣＲＷ１及びアドレス信号ＡＤＲ１に応答して図２に示したコンピュータシステムの編成(ｃｏｎｆｉｇｕｒａｔｉｏｎ)と命令(ｃｏｍｍａｎｄ)に関する情報を貯蔵する。ホストインタフェースユニット２１とレジスタユニット２２との間で交換されるデータ信号ＤＩＯ１はそのようなシステム編成と命令に関する情報である。 バッファユニット２３はホストインタフェースユニット２１を通じて提供される制御信号ＣＲＷ２及びアドレス信号ＡＤＢ１に応答してＮＡＮＤフラッシュメモリ１０から読み出されたか、ＮＡＮＤフラッシュメモリ１０にプログラムされるデータを一時的に貯蔵する。ホストインタフェースユニット２１とバッファユニット２３との間で交換されるデータ信号ＤＩＯ２はＮＡＮＤフラッシュメモリ１０から読み出されてシステムコントローラ１１に伝送されるデータ信号やシステムコントローラ１１から提供されてＮＡＮＤフラッシュメモリ１０にプログラムされるデータ信号である。
【００２９】
　レジスタユニット２２とバッファユニット２３はＳＲＡＭで構成される。レジスタユニット２２は編成レジスタと命令レジスタとを含んでいる。例えば、編成レジスタにはインタフェース装置２０が制御しているＮＡＮＤフラッシュメモリ１０の特性、すなわち入出力拡張度(ＩＯ　ｄｅｐｔｈ：×８または×１６)、 ページのサイズ、記録密度及びエラー訂正の可否などの情報が貯蔵される。命令レジスタでは、例えば該当するアドレスに書き込み命令が入力されれば、書き込み命令が実行され、命令レジスタから命令開始信号ＣＳが状態制御ユニット２５に印加される。レジスタユニット２２はインタフェース装置２０の内部動作のために、状態制御ユニット２５から印加される制御信号ＣＲＷ３及びアドレス信号ＡＤＲ２に応答して状態制御ユニット２５とシステム編成と命令に関するデータ信号を交換する。バッファユニット２３は状態制御ユニット２５から提供される制御信号ＣＲＷ４ 及びアドレス信号ＡＤＢ２に応答してＮＡＮＤフラッシュインタフェースユニット２８を通じてＮＡＮＤフラッシュメモリ１０とデータ信号(システム駆動コード、読み出しデータまたはプログラムデータ)ＤＩＯ４を交換する。
【００３０】
　オシレータ２４は状態制御ユニット２５から提供される活性化信号ＯＣＥに応答してインタフェース装置２０の内部動作を同期化させるクロック信号ＣＬＫを発生する。クロック信号ＣＬＫはエラー訂正回路２７とＮＡＮＤフラッシュインタフェースユニット２８に供給される。クロック信号をインタフェース装置２０の外部(例えば、図２のシステムコントローラ１１など)で発生させた後に、ホストインタフェースユニット２１を通じて供給させることもできるが、インタフェース装置２０の内部で発生させることは電流消耗を減らすためである。すなわち、クロック信号が常にインタフェース装置２０の外部からインタフェース装置２０に印加される方法でないとすると、インタフェース装置２０の外部から印加される命令がレジスタユニット２２内の命令レジスタに設定されれば、オシレータ２４が動作し、それによって状態制御ユニット２５が決められた動作を実行し、すべての動作が完了すれば、オシレータ２４は停止する。
【００３１】
　状態制御ユニット２５はインタフェース装置２０の動作を管理して制御する中央処理装置としての機能を実行する。状態制御ユニット２５は、図６に示すように、機能別でプログラム制御ブロックＰＳＭ、読み出し制御ブロックＲＳＭ、消去制御ブロックEＳＭ、遮断制御ブロックＩＳＭ、システム駆動制御ブロックＢＬＭ及びエラー訂正制御ブロックＥＣＭに区分されている。
【００３２】
　プログラム制御ブロックＰＳＭはバッファユニット２３に貯蔵されたデータをＮＡＮＤフラッシュメモリ１０の予め指定されたアドレスにプログラムする動作を制御し、エラー訂正制御ブロックＥＣＭによって発生したパリティビットをＮＡＮＤフラッシュメモリ１０の予め指定されたスペーサアドレスに貯蔵する動作を制御する。 読み出し制御ブロックＲＳＭはＮＡＮＤフラッシュメモリ１０から読み出したデータを予め指定されたバッファユニット２３のアドレス位置に貯蔵する動作を制御する。消去制御ブロックＥＳＭはＮＡＮＤフラッシュメモリ１０の指定されたアドレスのデータを消去する動作を制御する。遮断制御ブロックＩＳＭはＮＡＮＤフラッシュメモリ１０に対するリセット動作とインタフェース装置２０内のレジスタに対するリセット動作を制御する。システム駆動制御ブロックＢＬＭは、システム駆動回路を含んでおり、パワーアップ感知回路２６の出力である電源感知信号ＰＷＲに応答してＮＡＮＤフラッシュメモリ１０に貯蔵されたシステム駆動コードをバッファユニット２３に伝送する動作を制御し、読み出し制御ブロックＲＳＭと共同して使用される。システム駆動制御ブロックＢＬＭは通常の読み出し動作と同一であり、予め決められたシステム駆動コードに従ってページ読み出し動作を連続して実行する。例えば、ＮＡＮＤフラッシュメモリ１０のシステム駆動コード領域ＢＣが８個のページに割り当てられており、インタフェース装置２０のバッファユニット２３のサイズが８個のページと同一またはより大きいと仮定すれば、８個のページ分のデータがＮＡＮＤフラッシュメモリ１０の領域ＢＳからバッファユニット２３に連続して読み出されて伝送される。エラー訂正制御ブロックＥＣＭはＮＡＮＤフラッシュメモリ１０のプログラム動作中にパリティビットを発生する動作を制御し、読み出し動作中に貯蔵されたパリティビットと新しいパリティビットとを比べて、該当するアドレスのデータを補正する動作を実行する。
【００３３】
　パワーアップ感知回路２６は図２のコンピュータシステムに電源が印加された時に、電源感知信号ＰＷＲを発生して内部のレジスタを初期化し、状態制御ユニット２５のシステム駆動制御ブロックＢＬＭを活性化させる。エラー訂正回路２７は、状態制御ユニット２５から提供されるエラー検査信号ＥＣＰに応答してＮＡＮＤフラッシュメモリ１０に対するデータ読み出し及びプログラムの間に生成したパリティビットを利用してデータエラー感知及び補正を行う。 エラー訂正回路２７はＮＡＮＤフラッシュインタフェースユニット２８とバッファユニット２３との間で伝送されるデータを同時に受け入れた後に、エラー訂正コードを生成し、単一ビットエラーがある場合に、これを補正し、それによるエラー情報信号ＥＩを状態制御ユニット２５に提供する。ＮＡＮＤフラッシュインタフェースユニット２８は状態制御ユニット２５から提供されるＮＡＮＤフラッシュメモリ用の命令及び制御信号ＣＲＮとアドレス信号ＡＤＦをＮＡＮＤフラッシュメモリ１０にＮＡＮＤフラッシュインタフェース方式で伝送し、ＮＡＮＤフラッシュメモリ１０とインタフェース装置２０との間のデータ交換を中継する。 これによって、ＮＡＮＤフラッシュメモリ１０はＮＡＮＤフラッシュインタフェースユニット２８を通じて動作に必要な制御信号、すなわちチップイネーブル信号ｎＣＥ、読み出しイネーブル信号ｎＲＥ、書き込みイネーブル信号ｎＷＥ、書き込み防止信号ｎＷＰ、アドレスラッチイネーブル信号ＡＬＥ及び命令ラッチイネーブル信号ＣＬＥとアドレス信号ＡＤＦを受け入れ、レディ/ビジー信号Ｒ/ｎＢを提供し、データ信号(システム駆動コード、読み出しまたはプログラムデータ) ＤＩＯＦをＮＡＮＤフラッシュインタフェースユニット２０と交換する。
【００３４】
　図５のインタフェース装置２０内に構成されたパワーアップ感知回路２６とエラー訂正回路２７はインタフェース装置２０の外部に設置することができる。例えば、パワーアップ感知回路２６から出力される電源感知信号ＰＷＲを使用せず、インタフェース装置２０の外部から印加されるシステムリセット信号などを利用してシステム駆動を始めることができる。
【００３５】
　以下、上述のインタフェース装置２０を利用するコンピュータシステムで、ＮＡＮＤフラッシュメモリ１０をシステム駆動用及びデータ貯蔵用として使用する場合について、動作を詳細に説明する。動作はＮＡＮＤフラッシュメモリ１０を利用したシステム駆動と、ＮＡＮＤフラッシュメモリ１０に対する読み出し、及びプログラムに区分して説明する。それ以外のＮＡＮＤフラッシュメモリの動作、例えば消去、または消去/プログラム検証などに関しては一般的なことなので、それらに関する説明は省略する。
【００３６】
　図７は図２のコンピュータシステムで全体的なシステム駆動のための基本過程を示す。図７を参照すると、電源が供給されれば(段階Ｓ１１)、バイオスの処理手順(ＢIＯＳ ｒｏｕｔｉｎｅ)に従ってシステムコントローラ１１が周辺装置１６、例えばメモリ装置またはハードディスクなどが正常に動作するか否かを把握するために、各ハードウェア装置を初期化し、検査するポスト(ＰＯＳＴ：ｐｏｗｅｒ−ｏｎ　ｓｅｌｆ　ｔｅｓｔ)過程を実行する(段階Ｓ１２)。ＰＯＳＴ過程でシステムに連結されたハードウェア装置の動作に異常がなければ、システム駆動用メモリ(すなわち、ＮＡＮＤフラッシュメモリ１０)からのシステム駆動ローディング過程を実行する(段階Ｓ１３)。その次に、ＮＡＮＤフラッシュメモリ１０に貯蔵されたオペレーティングシステム（ＯＳ）プログラムをメインメモリ(すなわち、システムメモリ３)にローディングする(段階Ｓ１４)。オペレーティングシステムプログラムはコンピュータシステムのハードウェア及びソフトウェアに対して設定された情報を検索してコンピュータシステムが正常に動作するように実行される(段階Ｓ１５)。
【００３７】
　ＮＡＮＤフラッシュメモリ１０をシステム駆動用として使用して図２のコンピュータシステムを駆動する過程に関してより具体的に説明する。図８を参照すると、先ず、システムに電源が印加されれば(段階Ｓ２１)、パワーアップ感知回路２６が電源感知信号ＰＷＲを発生し、状態制御ユニット２５のシステム駆動制御ブロックＢＬＭにこれを知らせる。ここで、パワーアップ感知回路２６を利用して電源印加状態を感知する方法を使用せず、システムリセット信号に応答してシステム駆動制御ブロックＢＬＭに電源が印加されたことを知らせる方法を採用することもできる。
【００３８】
　電源印加状態が確認されれば、段階Ｓ２２で、システム駆動制御ブロックＢＬＭはＮＡＮＤフラッシュメモリ１０に貯蔵されたシステム駆動コードをバッファユニット２３にコピーする。システムコントローラ１１はバッファユニット２３から貯蔵されたシステム駆動コードを読み出す(段階Ｓ２３)。また、システムコントローラ１１は、段階Ｓ２４で、システムのハードウェア装置を初期化し、ＮＡＮＤフラッシュメモリ１０に貯蔵されたオペレーティングシステムプログラムをシステムメモリ３にコピーする(図７の段階Ｓ１４に相当する)。その次に、段階Ｓ２５で、システムコントローラ１１はシステムメモリ３に貯蔵されたオペレーティングシステムプログラムによってシステムを動作させる(図７の段階Ｓ１５に相当する)。
【００３９】
　本発明で利用されるシステム駆動コードは、システムのハードウェア装置を初期化し、オペレーティングシステムプログラムをシステムメモリ３にローディングするためのものとして、システムハードウェア装置を初期化させるコードと、オペレーティングシステムプログラムをコピーするためのコードで構成される。また、システム駆動コードは必要な場合、システムに遮断命令が印加される時に実行されるベクタなどを含むことができる。
【００４０】
　ＮＡＮＤフラッシュメモリ１０は、上述のように、システム駆動用だけでなく、固有の動作すなわち、消去、プログラム及び読み出し機能を有するので、システムコントローラ１１がＮＡＮＤフラッシュインタフェース機能を支援しない場合(既存の大部分のシステムコントローラはＮＯＲフラッシュインタフェース機能を支援して来た)に、インタフェース装置２０がシステムコントローラ １１とＮＡＮＤフラッシュメモリ１０との間のインタフェース環境を支援することができるようにする。すなわち、図２または図３、図４に示したように、インタフェース装置２０はシステムコントローラ１１とはホストインタフェースユニット２１を通じてＮＯＲフラッシュインタフェースを実行し、ＮＡＮＤフラッシュメモリ１０とはＮＡＮＤフラッシュインタフェースユニット２８を通じてＮＡＮＤフラッシュインタフェースを実行する。ＮＡＮＤフラッシュメモリ１０をデータ貯蔵用として運用するためにインタフェース装置２０は二つの処理方式、すなわちインタリーブ読み出し(iｎｔｅｒｌｅａｖｅ　ｒｅａｄ)とインタリーブプログラムを実行する。
【００４１】
　図９及び図１０はインタリーブ読み出しに関する過程を示し、図１１及び図１２はインタリーブプログラムに関する過程を示す。
【００４２】
　最初に、図９及び図１０を参照してインタリーブ読み出しに関する動作過程を説明する。先の図３及び図４と関連して言及したように、ＮＯＲフラッシュメモリはワードまたはバイト単位でランダムアクセスが可能である一方、ＮＡＮＤフラッシュメモリはページ単位でアクセスするので、データが読み出されるまで(システムコントローラ１１がＮＡＮＤフラッシュメモリ１０から読み出されたデータを受け付けるまで)基本的に最大１０μｓ程度のレイタンシ時間の間待たなければならない。本発明によるインタリーブ読み出し動作では、そのようなレイタンシ時間を減らして動作性能を向上させる。
【００４３】
　システムコントローラ１１がインタフェース装置２０にＮＡＮＤフラッシュメモリ１０に対するアドレス及び読み出しページ数に関する情報とともにＮＡＮＤフラッシュメモリ１０からのデータ読み出し命令を出力すれば(段階Ｓ３１)、インタフェース装置２０はＮＡＮＤフラッシュメモリ１０からバッファユニット２３に指定されたアドレスに該当するページのデータをコピーする(段階Ｓ３２)。段階Ｓ３１では、図１０に示したように、読み出し動作が初期化し、読み出されるページに対するアドレスとデータ量を設定するための区間ＲＣＳが含まれる。現在の指定されたページに対するデータコピーが完了すれば(段階Ｓ３３)、システムコントローラ１１は現在ページのデータをバッファユニット２３から読み出す一方、インタフェース装置２０は次のページのデータをバッファユニット２３にコピーする(段階Ｓ３５)。次のページに対するデータコピーが完了すれば(段階Ｓ３６)、システムコントローラ１１がインタフェース装置２０に設定したページ数だけ読み出し及びコピーが完了したか否か検査する(段階Ｓ３８)。段階Ｓ３８で指定されたすべてのページに対するデータコピーが完了しなければ、段階Ｓ３５に戻って、次のページに対するデータ読み出し及びコピー動作を繰り返す。 ＮＡＮＤフラッシュメモリ１０から各ページ(例えば、ページＮ)に対するデータを読み出す過程は、各ページに対する読み出し命令とアドレスを導入する区間ＲＣＡｎと、読み出しに必要なレイタンシ時間が所要される区間ＬＡＴｎと、該当のページに対するデータの読み出し／コピーが進行される区間Ｒｎからなる。
【００４４】
　特に、図１０を参照すると、一番目のページＮ(Ｎ：任意のページ番号)に対するデータがＮＡＮＤフラッシュメモリ１０からバッファユニット２３にコピーされた後（区間Ｒｎ）、二番目のページＮ+１のデータがＮＡＮＤフラッシュメモリ１０からバッファユニット２３にコピーされている間に(段階Ｓ３５の区間Ｒｎ+１)、一番目のページＮのデータがバッファユニット２３からシステムコントローラ１１に伝送されている(区間ＣＲｎ)が見られる。すなわち、最初のページデータがバッファユニット２３にコピーされた後(段階Ｓ３２)からはシステムコントローラ１１への伝送とページ読み出し／コピーが同時に進行される(段階Ｓ３５)。同様に、二番目のページＮ＋１のデータがバッファユニット２３からシステムコントローラ１１に伝送される間（区間ＣＲＮ+１）、三番目のページＮ+２のデータがＮＡＮＤフラッシュメモリ１０からバッファユニット２３にコピー（区間Ｒｎ+２）される。決められたページ（例えば、Ｎ、Ｎ＋１、Ｎ＋２）だけ、このような過程が図９に示した手順によって繰り返される。
【００４５】
　各々のページがＮＡＮＤフラッシュメモリ１０からバッファユニット２３にコピーされる時には、各ページ読み出しに所要されるレイタンシ時間ＬＡＴｎ、ＬＡＴｎ＋１及びＬＡＴｎ+２が所要されるが、システムコントローラ１１の立場では、ＮＡＮＤフラッシュメモリ１０からの読み出しデータを上述のレイタンシ時間(約１０μｓ：すなわち、ＬＡＴｎ、ＬＡＴｎ+１またはＬＡＴｎ+２)を経ずに、ページ単位で連続して受け入れることができる。
【００４６】
　次に、図１１及び図１２を参照して、インタリーブプログラムに関する動作過程を説明する。ＮＡＮＤフラッシュメモリ１０をプログラムするためには、プログラムするデータをＮＡＮＤフラッシュメモリ１０のページバッファにローディングする動作が必要である。 本発明によるインタリーブプログラムでは、そのようなデータローディング時間を減らす。
【００４７】
　最初に、段階Ｓ４１で、システムコントローラ１１がインタフェース装置２０にＮＡＮＤフラッシュメモリ１０に対するアドレス及びプログラムするページ数に関する情報とともにＮＡＮＤフラッシュメモリ１０に対するプログラム命令を出力すれば、プログラムされるページに該当するデータがバッファユニット２３にローディングされる。すなわち、段階Ｓ４１では、プログラム編成情報がインタフェース装置２０のレジスタユニット２２に提供され（ＰＣＳ）、プログラムされるページに該当するデータがバッファユニット２３に順次にローディングされる（ＬＰｎ、ＬＰｎ+１及びＬＰｎ+２）。そうすると、段階Ｓ４２で、バッファユニット２３にローディングされた手順に従って、優先的に一番目のページＮに対してプログラム命令及びアドレスが提供され（ＰＣＡｎ）、バッファユニット２３からの該当するデータがローディングされた後（Ｌｎ）に、指定されたページに対するプログラムが実行される（Ｐｎ）。ここで、図１０のタイミング状態から分かるように、現在の一ページ(例えば、Ｎ)に対するプログラムが実行される間に、次のページ(例えば、Ｎ+１)のデータがバッファユニット２３にローディングされていることに注目しなければならない。現在の指定されたページに対するプログラムが完了したことが確認されれば(段階Ｓ４３)、段階 Ｓ４５で、インタフェース装置２０は既にバッファユニット２３に貯蔵された次のページＮ+１に対するプログラムを上述の一番目のページに対して実行したことと同様にプログラム動作を実行する（ＰＣＡｎ+１ ―> Ｌｎ+１―> Ｐｎ+１）。 次のページ(すなわち、二番目のページ)に対するプログラムが完了したことが確認されれば(段階Ｓ４６)、システムコントローラ１１がインタフェース装置２０に設定したページ数(例えば、三つのページＮ〜Ｎ+２)だけプログラムが完了したか否かを検査する(段階Ｓ４８)。段階Ｓ４８で指定されたすべてのページに対するプログラムが完了していないことが確認されれば、段階Ｓ４５に戻って次のページに対するプログラム動作を繰り返す。
【００４８】
　このように、本発明によるコンピュータシステムでのＮＡＮＤフラッシュメモリに対するプログラムでは、プログラムされるページに該当するデータを予めバッファユニット２３にローディングした後に、各ページに対するプログラムを実行するので、一つのページに対するデータローディングが実行される間に(例えば、ＬＰｎ+１)、 他のページに対するプログラム(例えば、Ｐｎ)を実施することができる。結果的に、ＮＡＮＤフラッシュメモリに対する全体的なプログラムデータローディング時間が減ることによって、全体的なプログラム時間を短縮することができる。
【００４９】
　なお、上述の実施の形態で示した本発明の手段と方法に基づいて本発明の技術分野で通常の知識を持つ者は本発明の範囲内で本発明の変形及び応用が可能である。
【産業上の利用可能性】
【００５０】
　本発明は、コンピュータシステムなどでＮＡＮＤフラッシュメモリをシステム駆動用及びデータの貯蔵用として同時に使用する場合に適用が可能である。
【図面の簡単な説明】
【００５１】
【図１】従来のコンピュータシステムの構成を示すブロック図。
【図２】本発明によるコンピュータシステムの構成を示すブロック図。
【図３】ＮＯＲフラッシュメモリに対する読み出し動作を示すタイミング図。
【図４】ＮＡＮＤフラッシュメモリに対する読み出し動作を示すタイミング図。
【図５】図２のインタフェース装置の内部構成を示すブロック図。
【図６】図５の状態制御ユニットの機能別構成を示すブロック図。
【図７】図２のコンピュータシステムが駆動される過程を示すブロック図。
【図８】ＮＡＮＤフラッシュメモリをシステム駆動用として使用する場合に、図２のコンピュータシステムが駆動される過程を示す順序図。
【図９】図５のインタフェース装置を利用してＮＡＮＤフラッシュメモリからデータを読み出す過程を示す順序図。
【図１０】図５のインタフェース装置を利用してＮＡＮＤフラッシュメモリからデータを読み出す過程を示すタイミング図。
【図１１】図５のインタフェース装置を利用してＮＡＮＤフラッシュメモリにデータをプログラムする過程を示す順序図。
【図１２】図５のインタフェース装置を利用してＮＡＮＤフラッシュメモリにデータをプログラムする過程を示すタイミング図。
【符号の説明】
【００５２】
　　　　　２　システムバス
　　　　　３　システムメモリ
　　　　１０　ＮＡＮＤフラッシュメモリ
　　　　１１　システムコントローラ
　　　　１５　ＣＰＵコアブロック
　　　　１６　周辺装置
　　　　１７　メモリバスコントローラ
　　　　２０　インタフェース装置
【図１】
2004062913.tif 000003
【図２】
2004062913.tif 000004
【図３】
2004062913.tif 000005
【図４】
2004062913.tif 000006
【図５】
2004062913.tif 000007
【図６】
2004062913.tif 000008
【図７】
2004062913.tif 000009
【図８】
2004062913.tif 000010
【図９】
2004062913.tif 000011
【図１０】
2004062913.tif 000012
【図１１】
2004062913.tif 000013
【図１２】
2004062913.tif 000014