(57)【要約】【課題】  不揮発性データ保存装置のプログラミング方法及びその装置を提供する。【解決手段】  不揮発性データ保存装置の内部に備えられた複数個のページバッファのうち選択された一つのページバッファを通じて、不揮発性データ保存装置の内部に備えられたメモリセルアレイにデータをプログラミングするステップと、プログラミングが行われる間に、選択されたページバッファではない他のページバッファを通じてデータをローディングさせるセットアップ動作を行うステップとを含む。【選択図】      図４
2008052895.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性データ保存装置のプログラミング方法において、
前記不揮発性データ保存装置の内部に備えられた複数個のページバッファのうち選択された一つのページバッファを通じて、前記不揮発性データ保存装置の内部に備えられたメモリセルアレイにデータをプログラミングするステップと、
前記プログラミングが行われる間に、前記選択されたページバッファではない他のページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、を含むことを特徴とするプログラミング方法。
【請求項２】
前記メモリセルアレイにデータをプログラミングする間に、前記プログラミングを行うページバッファと異なるページバッファで、前記セットアップ動作を行うことが反復されるステップをさらに含むことを特徴とする請求項１に記載のプログラミング方法。
【請求項３】
前記複数個のページバッファは、第１ページバッファ及び第２ページバッファからなり、
前記ページバッファを選択する信号により、所定の時間に対して前記第１ページバッファ及び第２ページバッファのうち、前記セットアップ動作またはプログラミングを行うページバッファが選択されることを特徴とする請求項２に記載のプログラミング方法。
【請求項４】
（ａ）前記不揮発性データ保存装置を制御するコントローラにより削除命令を伝達するステップと、
（ｂ）前記削除命令の実行が完了すれば、前記第１ページバッファを通じてデータをローディングさせるセットアップ動作を行ってプログラミングするステップと、
（ｃ）前記（ｂ）ステップで、前記第１ページバッファを通じてプログラミングが行われる間、前記第２ページバッファを通じて次のデータをローディングさせるセットアップ動作を行うステップと、
（ｄ）前記（ｂ）ステップで、第１ページバッファを通じたプログラミングが完了すれば、前記第２ページバッファを通じてプログラミングを行うステップと、を含むことを特徴とする請求項３に記載のプログラミング方法。
【請求項５】
（ｅ）前記（ｄ）ステップで、第２ページバッファを通じてプログラミングが行われる間、前記第１ページバッファを通じて次のデータをローディングさせるセットアップ動作を行うステップと、
（ｆ）前記（ｄ）ステップで、第２ページバッファのプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、
（ｇ）前記（ｆ）ステップで、第１ページバッファでプログラミングが行われる間、前記第２ページバッファを通じて次のデータをローディングさせるセットアップ動作を行うステップと、
（ｈ）前記（ｆ）ステップで、第１ページバッファのプログラミングが完了すれば、前記第２ページバッファでプログラミングを行うステップと、をさらに含むことを特徴とする請求項４に記載のプログラミング方法。
【請求項６】
（ａ）前記不揮発性データ保存装置を制御するコントローラにより削除命令を伝達するステップと、
（ｂ）前記削除命令が行われる間に、前記第２ページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、
（ｃ）前記削除命令が完了すれば、前記第２ページバッファでプログラミングを行い、前記第２ページバッファでプログラミングを行う間、前記第１ページバッファを通じてセットアップ動作を行うステップと、
（ｄ）前記（ｃ）ステップで、第２ページバッファでプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、を含むことを特徴とする請求項３に記載のプログラミング方法。
【請求項７】
（ｅ）前記（ｄ）ステップで、第１ページバッファでプログラミングを行う間に、前記第２ページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、
（ｆ）前記（ｄ）ステップで、第１ページバッファでプログラミングが完了すれば、前記第２ページバッファでプログラミングを行うステップと、
（ｇ）前記（ｆ）ステップで、第２ページバッファでプログラミングを行う間に、前記第１ページバッファを通じてセットアップ動作を行うステップと、
（ｈ）前記（ｇ）ステップで、第２ページバッファでプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、を含むことを特徴とする請求項６に記載のプログラミング方法。
【請求項８】
不揮発性データ保存装置のプログラミング装置において、
前記不揮発性データ保存装置の内部に備えられた複数個のページバッファと、
前記複数個のページバッファのうち選択された一つのページバッファを通じて、前記不揮発性データ保存装置の内部に備えられたメモリセルアレイにデータをプログラミングするように命令を伝達する制御命令部と、
前記プログラミングが行われる間に、前記選択されたページバッファではない他のページバッファを通じてデータをローディングさせるセットアップ動作を制御する入出力制御部と、を備えることを特徴とするプログラミング装置。
【請求項９】
前記入出力制御部は、前記メモリセルアレイにデータをプログラミングする間に、前記プログラミングを行うページバッファと異なるページバッファで、前記セットアップ動作が反復して行われるように制御することを特徴とする請求項８に記載のプログラミング装置。
【請求項１０】
前記複数個のページバッファは、第１ページバッファ及び第２ページバッファからなり、
所定の時間に対して前記第１ページバッファ及び第２ページバッファのうち、前記セットアップ動作またはプログラミングを行うページバッファを選択させるページバッファ選択部をさらに備えることを特徴とする請求項９に記載のプログラミング装置。
【請求項１１】
請求項１ないし７のうちいずれか一項に記載のプログラミング方法を具現するためのプログラムが記録されたコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に係り、特に複数個の不揮発性データ保存装置を使用する多チャンネル方式のシステムで、各チャンネル別にインターリービング方式を適用して書き込み動作を行うとき、さらに高速の書き込みを可能にする不揮発性データ保存装置のプログラミング方法及びその装置に関する。
【背景技術】
【０００２】
最近、モバイル機器を含んだマルチメディア装置は、主にＭＰ３音響、動画などの非常に大きいマルチメディアデータを保存し、それをユーザーに提供している。かかる機器で使われる保存装置は、大規模の保存空間を提供するので、データを高速で読み取り／書き込み可能な機能も提供されねばならない。
【０００３】
現在、不揮発性データ保存装置のうち、フラッシュメモリは、低電力、小型化、少ない発熱、高い安定性などの理由により多様なモバイル機器の保存装置として使われており、一つのメモリに保存できる空間のサイズも速く増大している。
【０００４】
図１は、従来技術によるフラッシュメモリの簡略な内部構造を示す機能ブロック図である。図１に示すように、フラッシュメモリ１００は、メモリセルアレイ１１０とページレジスタ（ページバッファ）１２０とで構成されている。
【０００５】
フラッシュメモリ１００は、電気的にデータを削除または書き換え可能な不揮発性記憶素子であって、セルとビットラインとの連結状態によってＮＯＲ型とＮＡＮＤ型とに区分される。フラッシュメモリ１００は、情報を保存するための保存領域であって、メモリセルアレイ１１０を含み、メモリセルアレイ１１０は、複数個のセルストリング（ＮＡＮＤストリング）からなっている。メモリセルアレイ１１０にデータを保存するか、またはそれからデータを読み取るために、フラッシュメモリ１００には、ページバッファ（ページレジスタ）１２０が提供される。周知のように、フラッシュメモリ１００のメモリセルアレイ１１０は、Ｆ−Ｎ（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ）トンネリング電流を利用して削除及びプログラミングされる。
【０００６】
フラッシュメモリ１００の書き込み動作過程を見れば、データをメモリセルアレイ１１０に保存するためには、まず、コントローラにより書き込み命令がフラッシュメモリ１００に与えられ、アドレス及びデータがフラッシュメモリ１００に連続的に入力される。一般的に、プログラムされるデータは、バイトまたはワード単位でページバッファ１２０に順次に伝達される。プログラムされるデータ、すなわち１ページ分量のデータがいずれもページバッファ１２０にローディングされれば、ページバッファ１２０に保管されたデータは、プログラミング命令によってメモリセルアレイ１１０にプログラムされる。また、既に記録された領域に書き換える前には、複数のページを含むブロック単位で削除命令を行った後、データを記録せねばならない。すなわち、削除の基本単位であるブロック単位で削除を行った後、一つのブロックを構成する複数のページにデータを順次に記録する。このとき、フラッシュメモリ１００の書き込み動作は、ｉ）記録するデータをページバッファ１２０に移動し、ｉｉ）ページバッファ１２０のデータをメモリセルアレイ１１０にプログラミングする二つのステップからなる。
【０００７】
図２は、従来技術によるフラッシュメモリを利用したＮ−チャンネル／４−ウェイ方式のハードウェアアーキテクチャーを示す図である。
【０００８】
フラッシュメモリは、一般的に遅いプログラミング速度を有し、この間にコントローラが待機状態に留まらないように多様なアーキテクチャーが提案されている。図２には、フラッシュメモリコントローラ２１０と各チャンネル当たり４個のフラッシュメモリとの構成を示す。第１チャンネル２２０の場合、フラッシュメモリにプログラミングが進められる時点で、コントローラ２１０の待機時間を最小化するために、４個のフラッシュメモリ２２１ないし２２４をシステムバスにより連結してインターリービング技術を適用している。
【０００９】
図３Ａは、図２の一つのチャンネル上で４個のフラッシュメモリの書き込み動作を示すタイミング図であり、図３Ｂは、図３Ａで１ページの書き込み動作をさらに詳細に示す図である。
【００１０】
図３Ｂに示すように、１ページの書き込み動作３１０で、一般的に２ＫＢのページ単位を適用するとき、セットアップ時間が５１．２μｓｅｃ（１Ｂｙｔｅのセットアップ時間は、２５ｎｓｅｃ）であり、プログラミング時間が２００μｓｅｃである。相対的に遅いプログラミング時間を補償するために、大容量のデータは、図２のような各チャンネルの４個のフラッシュメモリに分散されて保存される。かかる従来の技術は、フラッシュメモリでプログラミングが進められる間、チャンネル内で遊休状態にある他のフラッシュメモリでセットアップを行ってコントローラの待機時間を最小化する方法で高速の書き込み動作を行う。
【００１１】
しかし、かかる従来技術では、フラッシュメモリをはじめとする不揮発性データ保存装置が単一ページバッファを使用するので、一つのフラッシュメモリをはじめとする不揮発性データ保存装置は、常に連続したプログラミングの間にセットアップ時間が必要である。かかるセットアップ時間は、連続したプログラミング作業を断絶させる要因となり、単一フラッシュメモリの最大記録速度を低下させる。また、図２のように複数個のフラッシュメモリを利用する時にも、あらゆるフラッシュメモリがプログラミングを行っている場合、コントローラ２１０は、それ以上セットアップを進めずに待機状態に入る。すなわち、一般的なフラッシュメモリの性能による実行時間を削除時間１５００μｓｅｃ、ページプログラミング時間２００μｓｅｃ、１ページセットアップ時間５１．２μｓｅｃ（１Ｂｙｔｅセットアップ時間は２５ｎｓ）と計算したとき、理論的に４−ウェイアーキテクチャーも４回のセットアップが進められた後に４６．４μｓｅｃの待機時間が発生する。もし、かかる待機時間にコントローラが持続的にセットアップを進めるならば、全体システムの性能はさらに向上するであろう。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、前記問題点を解決するためのものであって、不揮発性データ保存装置の内部に備えられた複数個のページバッファを利用して高速の書き込みが可能なプログラミング方法及びその装置を提供するところにある。
【課題を解決するための手段】
【００１３】
前記目的を達成するために、本発明による不揮発性データ保存装置のプログラミング方法は、不揮発性データ保存装置のプログラミング方法において、前記不揮発性データ保存装置の内部に備えられた複数個のページバッファのうち選択された一つのページバッファを通じて、前記不揮発性データ保存装置の内部に備えられたメモリセルアレイにデータをプログラミングするステップと、前記プログラミングが行われる間に、前記選択されたページバッファではない他のページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、を含む。
【００１４】
また、前記メモリセルアレイにデータをプログラミングする間、前記プログラミングを行うページバッファではない他のページバッファで前記セットアップ動作を行うことが反復されるステップをさらに含むことが望ましい。
【００１５】
前記複数個のページバッファは、第１ページバッファ及び第２ページバッファからなり、前記ページバッファを選択する信号により、所定の時間に対して前記第１ページバッファ及び第２ページバッファのうち、前記セットアップ動作またはプログラミングを行うページバッファが選択されることが望ましい。
【００１６】
（ａ１）前記不揮発性データ保存装置を制御するコントローラにより削除命令を伝達するステップと、（ｂ１）前記削除命令の実行が完了すれば、前記第１ページバッファを通じてデータをローディングさせるセットアップ動作を行ってプログラミングするステップと、（ｃ１）前記第１ページバッファでプログラミングが行われる間に、前記第２ページバッファを通じて次のデータをローディングさせるセットアップ動作を行うステップと、（ｄ１）前記第１ページバッファのプログラミングが完了すれば、前記第２ページバッファでプログラミングを行うステップと、を含むことが望ましく、（ｅ２）前記第１ページバッファでプログラミングを行う間に、前記第２ページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、（ｆ２）前記第１ページバッファでプログラミングが完了すれば、前記第２ページバッファでプログラミングを行うステップと、（ｇ２）前記第２ページバッファでプログラミングを行う間に、前記第１ページバッファを通じてセットアップ動作を行うステップと、（ｈ２）前記第２ページバッファでプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、を含み、前記（ｅ２）ステップないし（ｈ２）ステップを反復することがさらに望ましい。
【００１７】
（ａ２）前記不揮発性データ保存装置を制御するコントローラにより削除命令を伝達するステップと、（ｂ２）前記削除命令が行われる間に、前記第２ページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、（ｃ２）前記削除命令が完了すれば、前記第２ページバッファでプログラミングを行い、前記第２ページバッファでプログラミングを行う間、前記第１ページバッファを通じてセットアップ動作を行うステップと、（ｄ２）前記第２ページバッファでプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、を含むことが望ましく、（ｅ２）前記第１ページバッファでプログラミングを行う間に、前記第２ページバッファを通じてデータをローディングさせるセットアップ動作を行うステップと、（ｆ２）前記第１ページバッファでプログラミングが完了すれば、前記第２ページバッファでプログラミングを行うステップと、（ｇ２）前記第２ページバッファでプログラミングを行う間、前記第１ページバッファを通じてセットアップ動作を行うステップと、（ｈ２）前記第２ページバッファでプログラミングが完了すれば、前記第１ページバッファでプログラミングを行うステップと、を含み、前記（ｅ２）ステップないし（ｈ２）ステップを反復することがさらに望ましい。
【００１８】
前記目的を達成するために、本発明による不揮発性データ保存装置のプログラミング装置は、前記不揮発性データ保存装置の内部に備えられた複数個のページバッファと、前記複数個のページバッファのうち選択された一つのページバッファを通じて、前記不揮発性データ保存装置の内部に備えられたメモリセルアレイにデータをプログラミングするように命令を伝達する制御命令部と、前記プログラミングが行われる間、前記選択されたページバッファではない他のページバッファを通じてデータをローディングさせるセットアップ動作を制御する入出力制御部と、を備える。
【００１９】
前記セットアップ動作が前記メモリセルアレイにデータをプログラミングする間、前記プログラミングを行うページバッファと異なるページバッファで起きることが反復されることが望ましい。
【００２０】
前記複数個のページバッファは、第１ページバッファ及び第２ページバッファからなり、所定の時間に対して前記第１ページバッファ及び第２ページバッファのうち、前記セットアップ動作またはプログラミングを行うページバッファを選択させるページバッファ選択部をさらに備えることが望ましい。
【００２１】
前記目的を達成するために、本発明による不揮発性データ保存装置のプログラミング方法を具現するためのプログラムを記録したコンピュータで読み取り可能な記録媒体を含む。
【発明の効果】
【００２２】
本発明による不揮発性データ保存装置プログラミング方法及びその装置によれば、不揮発性データ保存装置の内部に備えられた複数個のページバッファを利用して、前記不揮発性データ保存装置は、常に削除またはプログラミング動作を行え、ページデータのセットアップによる時間を最小化して大容量の保存装置の高速の書き込み性能を向上させる。かかる性能を分析した結果、本発明を適用した不揮発性データ保存装置のプログラミング装置は、既存の方式に比べて約２０％向上すると計算された。
【発明を実施するための最良の形態】
【００２３】
以下、添付された図面を参照して、本発明の望ましい実施形態について詳細に説明する。以下、本発明の不揮発性データ保存装置のうち、フラッシュメモリを基準として説明する。実施形態は、たとえフラッシュメモリを基準として説明されているとしても、これは、不揮発性データ保存装置に全般的に使用可能である。
【００２４】
図４は、本発明の一実施形態によるフラッシュメモリのプログラミング装置を示す機能ブロック図である。
【００２５】
図４に示すように、フラッシュメモリのプログラミング装置は、入出力制御部４１０、制御命令部４２０、メモリセルアレイ４３０、第１ページバッファ４４０、第２ページバッファ４５０及びページバッファ選択部４６０から構成される。
【００２６】
入出力制御部４１０は、書き込み／読み取りを行うデータの入出力に関するコントロールを行う。また、メモリセルアレイ（選択されたページのメモリセル）の行と列のアドレス及びデータがフラッシュメモリに連続的に入力される。一般的に、プログラムされるデータは、バイトまたはワード単位でページバッファ４４０，４５０に順次に伝達される。入出力制御部４１０は、外部のホストからプログラムされるデータをページバッファ４４０，４５０にローディングさせる。
【００２７】
制御命令部４２０は、フラッシュメモリに書き込み命令を伝達する。ページバッファ４４０，４５０に保管されたデータは、プログラミング命令によってメモリセルアレイ４３０にプログラムされる。既に記録された領域を書き換える前には、ブロック単位で削除命令を伝達する。すなわち、削除命令を通じてブロック単位で削除を行った後、再び一つのブロックを構成する複数のページにデータを順次に記録する。
【００２８】
メモリセルアレイ４３０は、フラッシュメモリで情報を保存するための保存領域であって、複数個のセルストリングからなっている。図示していないが、周知のように、各セルストリングは、ストリング選択トランジスタ、接地選択トランジスタ、及び選択トランジスタの間に直列連結された複数のフラッシュまたは不揮発性メモリセルから構成される。ストリング及び接地選択トランジスタは、ストリング及び接地選択ラインによりそれぞれ制御される。各セルストリングのフラッシュメモリセルは、フローティングゲートトランジスタから構成され、トランジスタの制御ゲートは、対応するワードラインにそれぞれ連結される。メモリセルアレイ４３０のメモリセルの削除は、Ｆ−Ｎトンネリング効果により起こるが、電子が薄い誘電体物質を貫通して各メモリセルと結合されているフローティングゲートから電荷を除去する。
ページバッファ４４０，４５０は、メモリセルアレイ４３０にデータを保存するか、またはそれからデータを読み取るためにフラッシュメモリに備えられたレジスタである。本発明の一実施形態によって、フラッシュメモリの構造でページバッファの個数を複数個に拡張した。図４に示すように、メモリセルアレイ４３０は、２個のページバッファを選択してデータの記録／判読が可能になる。本発明の一実施形態には、２個のページバッファとして第１ページバッファ４４０、第２ページバッファ４５０が例示されているが、３個以上のページバッファを利用して本発明の目的を達成できるということは自明である。
【００２９】
ページバッファ選択部４６０は、入出力制御部４１０と制御命令部４２０とで入出力作業を行うとき、複数個のページバッファ４４０，４５０のうちいずれか一つを選択するための信号を入力する。これを通じて、特定の瞬間に入出力制御部４１０とページバッファ４４０，４５０との間のデータの入出力、ページバッファ４４０，４５０とメモリセルアレイ４３０とのデータ記録／判読を行うページバッファを選択できる。
【００３０】
図５は、本発明の他の実施形態によるフラッシュメモリのプログラミング方法を示すフローチャートである。
【００３１】
図５に示すように、ステップ５１０では、制御命令部４２０を通じてメモリセルアレイ４３０のブロックを削除する命令を伝達する。これは、フラッシュメモリでセットアップ及びプログラミングに先立ってブロック単位で先実行すべき必須手順である。
【００３２】
ステップ５２０では、前記ブロック削除作業が完了すれば、第１ページバッファ４４０を通じてデータをローディングさせるセットアップ動作を行って直ちにプログラミングする。
【００３３】
ステップ５３０では、前記第１ページバッファ４４０でのプログラミング時に入出力制御部４１０は待機状態であるので、かかる待機状態を除去するために、第２ページバッファ４５０に次のデータをローディングさせるセットアップ動作を行う。
【００３４】
ステップ５４０では、前記第１ページバッファ４４０のプログラミングが完了すれば、前記第２ページバッファ４５０は既にセットアップが完了した状態であるので、直ちにプログラミングする。
【００３５】
ステップ５５０で、ブロック内の残りのページのプログラミングのために再びステップ５２０が行われるとき、第２ページバッファ４５０がプログラミング進行中であれば、第１ページバッファ４４０にセットアップする。
【００３６】
次いで、ステップ５３０では、第２ページバッファ４５０のプログラミングが完了すれば、第１ページバッファ４４０でプログラミングし、第２ページバッファ４５０に次のデータをセットアップする。
【００３７】
このように、第１ページバッファ４４０と第２ページバッファ４５０との間のプログラミング動作がブロック内の最後のページのプログラミングが行われるまで反復されるので（ステップ５５０）、プログラミングが断続的でなく連続的に起きて、単一フラッシュメモリの最大記録速度を速める。
【００３８】
前記ステップ５１０ないしステップ５５０の動作は、記録されるデータをいずれもプログラミングするまで反復される（ステップ５６０）。
【００３９】
図６は、図５のプログラミング方法によるフラッシュメモリの書き込み動作を示すタイミング図である。一般的なフラッシュメモリの性能による各実行時間を、削除：１５００μｓｅｃ、１ページ（２ＫＢ）セットアップ：５１．２μｓｅｃ、１ページプログラミング：２００μｓｅｃ、１ブロック：６４ページと仮定する。
【００４０】
図６に示すように、１−ウェイから４−ウェイまでの４個のフラッシュメモリ（第１フラッシュメモリないし第４フラッシュメモリ）が一つのチャンネルに連結されている構造であるということが分かる。Ｎ−チャンネル／４−ウェイ構造で、図６は、一つのチャンネルの状況のみを例示している。ここで、第１ページバッファと第２ページバッファとの間の優先順位は同等である。
【００４１】
動作過程を時間別に見れば、ｔ０からｔ９までが一つのブロックを削除して書き込みを完了する過程である。ｔ９以後は、ｔ０ないしｔ９と同じ過程が反復される。
【００４２】
ｔ０で、フラッシュメモリコントローラは、４個のあらゆるフラッシュメモリに削除命令を伝達し、各フラッシュメモリは、１５００μｓｅｃの間にブロックの削除作業を行う。
【００４３】
ｔ１で、第１フラッシュメモリの第１ページバッファでセットアップが行われ（５１．２μｓｅｃ）、セットアップが完了すれば、前記第１ページバッファは、ｔ２で直ちにプログラミングを行う（２００μｓｅｃ）。同時にｔ２で、第２フラッシュメモリの第１ページバッファでセットアップが行われる。同じ方法でｔ３，ｔ４で、それぞれ第３フラッシュメモリ、第４フラッシュメモリでセットアップが順次に行われれば、ｔ５で、再び第１フラッシュメモリの第２ページバッファでセットアップが行われる。このように、ｔ１ないしｔ６までの時間が２５６μｓｅｃかかり、以後に第１フラッシュメモリの第２ページバッファで直ちにプログラミングが行われうる。ｔ１ないしｔ６の時間（２５６μｓｅｃ）は、図３Ａで１ページの書き込み動作（ステップ３１０）がかかる２５１．２μｓｅｃに比べて長いが、これは、第１ページの場合にのみ限定する。
【００４４】
かえって、第２ページ（ｔ６）から第６４ページ（ｔ９）までは、各ページ当たり２０４．８μｓｅｃに減って全体的な性能は向上する。
【００４５】
１０００ページを基準として全体的な性能の向上を比較すれば、
（ｉ）従来技術の場合、(2K*1000)(Bytes)/(17576.8*1000/64/4+153.6)(μsec)=29.76MBytes/secであり、
（ｉｉ）図６の場合、(2K*1000)(bytes)/(14658.4*1000/64/4+153.6)(μsec)=35.67MBytes/secである。
【００４６】
したがって、約１９．８６％の性能向上を図ることができる。
【００４７】
図７は、本発明のさらに他の実施形態によるフラッシュメモリのプログラミング方法を示すフローチャートである。
【００４８】
図７に示すように、ステップ７１０では、制御命令部４２０を通じてメモリセルアレイ４３０のブロックを削除する命令を伝達する。
【００４９】
ステップ７２０では、前記ブロック削除作業の実行中に、第２ページバッファ４５０を通じてデータをローディングさせるセットアップ動作を行う。前記削除作業が行われる間に入出力制御部４１０は待機状態であるので、かかる待機状態を除去するために、第２ページバッファ４５０にセットアップさせるのである。
【００５０】
ステップ７３０では、前記ブロック削除作業が完了すれば、第２ページバッファ４５０は、既にセットアップが完了した状態であるので、直ちにプログラミングが行われうる。また、第２ページバッファ４５０でのプログラミング時に、第１ページバッファ４４０は遊休状態であるので、第１ページバッファ４４０に次のデータをローディングするセットアップ動作を併行する。
【００５１】
ステップ７４０では、第２ページバッファ４５０のプログラミングが完了すれば、このとき、第１ページバッファ４４０はセットアップ完了状態であるので、直ちにプログラミングを行うことができる。
【００５２】
ステップ７５０で、ブロック内の残りのページのプログラミングのために再びステップ７２０が行われるとき、第１ページバッファ４４０のプログラミング実行時に第２ページバッファ４５０にセットアップする。
【００５３】
次いで、ステップ７３０では、第１ページバッファ４４０のプログラミングが完了すれば、第２ページバッファ４５０でプログラミングし、第１ページバッファ４４０に次のデータをセットアップする。
【００５４】
このように、第１ページバッファ４４０と第２ページバッファ４５０との間のプログラミング動作がブロック内の最後のページのプログラミングが行われるまで反復されるので（７５０）、プログラミングが連続的に起きて、単一フラッシュメモリの最大記録速度を速め、特にブロック削除作業と共に最初の第１ページのセットアップ動作が起きるので、全体動作時間をさらに短縮できる。
【００５５】
前記ステップ７１０ないしステップ７５０の動作は、記録されるデータをいずれもプログラミングするまで反復される（ステップ７６０）。
【００５６】
図８は、図７のプログラミング方法によるフラッシュメモリの書き込み動作を示すタイミング図である。前述したように、一般的なフラッシュメモリの性能による各実行時間を、削除：１５００μｓｅｃ、１ページ（２ＫＢ）セットアップ：５１．２μｓｅｃ、１ページプログラミング：２００μｓｅｃ、１ブロック：６４ページと仮定する。
【００５７】
図８に示すように、１−ウェイから４−ウェイまでの４個のフラッシュメモリ（第１フラッシュメモリないし第４フラッシュメモリ）が一つのチャンネルに連結されている構造であり、図８も、Ｎ−チャンネル／４−ウェイ構造で一つのチャンネルの状況のみを例示している。ここで、第１ページバッファと第２ページバッファとの間の優先順位は同等である。
【００５８】
動作過程を時間別に見れば、ｔ０からｔ８までが一つのブロックを削除して書き込みを完了する過程である。ｔ８以後は、ｔ０ないしｔ８と同じ過程が反復される。
【００５９】
ｔ０で、フラッシュメモリコントローラは、４個のあらゆるフラッシュメモリに削除命令を伝達し、各フラッシュメモリは、１５００μｓｅｃの間に削除作業を行う。
【００６０】
ｔ１で、第１フラッシュメモリの第２ページバッファでセットアップが行われ（５１．２μｓｅｃ）、セットアップが完了すれば、ｔ２で、第２フラッシュメモリの第２ページバッファでセットアップが行われる。同じ方法でｔ３，ｔ４で、それぞれ第３フラッシュメモリ、第４フラッシュメモリの第２ページバッファでセットアップが順次に行われる。ブロック削除作業は、相対的に長時間がかかるので（１５００μｓｅｃ）、この間にチャンネル内のあらゆるフラッシュメモリの第１ページのセットアップ作業をあらかじめ行うのである。
【００６１】
ブロック削除作業が完了すれば、ｔ５で、チャンネル内のあらゆるフラッシュメモリの第２ページバッファはプログラミングを行う。これと共に、順次に各フラッシュメモリの第１ページバッファを通じて次のデータセットアップ作業を行う。
【００６２】
このように、ｔ５ないしｔ６までの時間が２０４．８μｓｅｃかかり、以後にセットアップが完了したあらゆるフラッシュメモリの第１バッファで直ちにプログラミングが行われうる。ｔ５ないしｔ６の時間（２０４．８μｓｅｃ）は、図３Ａでの１ページの書き込み動作（ステップ３１０）の２５１．２μｓｅｃ及び図６での２５６μｓｅｃより短縮したということが分かる。第２ページ（ｔ６）から第６４ページ（ｔ８）まで各ページ当たりプロセス時間は、２０４．８μｓｅｃと均一である。
【００６３】
１０００ページを基準として全体的な性能の向上を比較すれば、
（ｉ）従来技術の場合、(2K*1000)(Bytes)/(17576.8*1000/64/4+153.6)(μsec)=29.76MBytes/secであり、
（ｉｉ）図８の場合、(2K*1000)(bytes)/(14602.4*1000/64/4)(μsec)=35.90
MBytes/secである。
【００６４】
したがって、２０．６４％の性能向上を図ることができる。
【００６５】
本発明による不揮発性データ保存装置のプログラミング方法は、また、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気テープ、フロッピー（登録商標）ディスクのような磁気記録媒体や、ＣＤ−ＲＯＭ、光データ保存装置のような光学的読み取り媒体などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されうる。
【００６６】
これまで、本発明について、その望ましい実施形態を中心に述べた。当業者は、本発明の本質的な特性から逸脱しない範囲で変形された形態に具現可能であるということを理解できるであろう。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に表れており、それと同等な範囲内にあるあらゆる相違点は、本発明に含まれていると解釈されねばならない。
【産業上の利用可能性】
【００６７】
本発明は、メモリ装置関連の技術分野に適用可能である。
【図面の簡単な説明】
【００６８】
【図１】従来技術によるフラッシュメモリの簡略な内部構造を示す機能ブロック図である。
【図２】従来技術によるフラッシュメモリを利用したＮ−チャンネル／４−ウェイ方式のハードウェアアーキテクチャーを示す図である。
【図３Ａ】図２の一つのチャンネル上で４個のフラッシュメモリの書き込み動作を示すタイミング図である。
【図３Ｂ】図３Ａで１ページの書き込み動作をさらに詳細に示す図である。
【図４】本発明の一実施形態によるフラッシュメモリのプログラミング装置を示す機能ブロック図である。
【図５】本発明の他の実施形態によるフラッシュメモリのプログラミング方法を示すフローチャートである。
【図６】図５のプログラミング方法によるフラッシュメモリの書き込み動作を示すタイミング図である。
【図７】本発明のさらに他の実施形態によるフラッシュメモリのプログラミング方法を示すフローチャートである。
【図８】図７のプログラミング方法によるフラッシュメモリの書き込み動作を示すタイミング図である。
【符号の説明】
【００６９】
４１０  入出力制御部
４２０  制御命令部
４３０  メモリセルアレイ
４４０  第１ページバッファ
４５０  第２ページバッファ
４６０  ページバッファ選択部
【図１】
2008052895.tif 000003
【図２】
2008052895.tif 000004
【図３Ａ】
2008052895.tif 000005
【図３Ｂ】
2008052895.tif 000006
【図４】
2008052895.tif 000007
【図５】
2008052895.tif 000008
【図６】
2008052895.tif 000009
【図７】
2008052895.tif 000010
【図８】
2008052895.tif 000011