(57)【要約】【課題】  フラッシュメモリにユーザデータと付加データとを書込む際の処理効率を向上させる。【解決手段】  フラッシュメモリシステム１は、ホストシステム４に着脱自在に取付けられ、ホストシステム４から供給されるユーザデータとそれに対応する付加データとをフラッシュメモリ２に書込む。ここで、フラッシュメモリシステム１を構成するメモリコントローラ３は、ホストシステム４から与えられたユーザデータと、ユーザデータに対応する付加データとを保持する機能と、保持されているユーザデータ及び付加データをフラッシュメモリに転送するデータ転送機能とを備え、フラッシュメモリ２内のページに、ユーザデータと付加データとを交互に複数組書込み、且つ、ユーザデータと付加データとを連続した位置に書込む。これにより、アドレスの送信回数を減じることができる。【選択図】  図１
2005292925.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステム側から供給されるユーザデータを保持する第１のデータ保持機能と、
前記ユーザデータに対応する付加データを保持する第２のデータ保持機能と、
前記第１のデータ保持機能に保持されているユーザデータと前記第２のデータ保持機能に保持されている付加データとをフラッシュメモリに転送するデータ転送機能とを備え、
前記フラッシュメモリ内のページに、前記ユーザデータと該ユーザデータに対応する前記付加データとを複数組書込み、且つ、該ユーザデータと該ユーザデータに対応する該付加データとを連続した位置に書込む構成にされていることを特徴とするメモリコントローラ。
【請求項２】
前記ページの容量が、前記第１のデータ保持機能の容量と前記第２のデータ保持機能の容量とを併せた容量の整数倍であることを特徴とする請求項１記載のメモリコントローラ。
【請求項３】
前記ページの容量が２１１２バイトであり、
前記第１のデータ保持機能の容量が５１２バイトであり、
前記第２のデータ保持機能の容量が１６バイトである、
ことを特徴とする請求項１又は２記載のメモリコントローラ。
【請求項４】
請求項１乃至３のいずれか１項記載のメモリコントローラとフラッシュメモリと、を備えることを特徴とするフラッシュメモリシステム。
【請求項５】
第１のデータ保持機能に保持されているホストシステム側から供給されたユーザデータをフラッシュメモリに転送する処理と、第２のデータ保持機能に保持されている前記ユーザデータに対応する付加データをフラッシュメモリに転送する処理を交互に複数回繰り返すことにより、
前記フラッシュメモリ内のページに、前記ユーザデータと該ユーザデータに対応する前記付加データとを複数組書込み、且つ、該ユーザデータと該ユーザデータに対応する該付加データを連続して書込むことを特徴とするフラッシュメモリの制御方法。
【請求項６】
前記ページの容量が、前記第１のデータ保持機能の容量と前記第２のデータ保持機能の容量を併せた容量の整数倍であることを特徴とする請求項５記載のフラッシュメモリの制御方法。
【請求項７】
前記ページの容量が２１１２バイトであり、前記第１のデータ保持機能の容量が５１２バイトであり、前記第２のデータ保持機能の容量が１６バイトであることを特徴とする請求項５又は６記載のフラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
【背景技術】
【０００２】
近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種である。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。
【０００３】
ＮＡＮＤ型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。ＮＡＮＤ型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“１”を示すデータが格納されている消去状態から、論理値“０”を示すデータが格納されている書込状態へと変化することができる。これとは対照的に、書込状態から消去状態へと変化するときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。
【０００４】
この一括消去動作は、一般的に、“ブロック消去”と称されている。ＮＡＮＤ型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位で処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。
【０００５】
ＮＡＮＤ型フラッシュメモリは、各メモリセルを消去状態から書込状態に変化させる場合や、書込状態から消去状態に変化させる場合に、メモリセルに高電圧を印加して、電子の注入や排出を行なっている。この電子の注入や排出が正常に行なわれなかった場合や、メモリセルが劣化した場合に、各メモリセルが消去状態から書込状態に、又は書込状態から消去状態に正常に変化しないことがある。このような不具合を検出、訂正するため、各ページにはホストシステム側から供給されるユーザデータの他に、エラーコレクションコードが書込まれる。ここで、ユーザデータ以外の付加データ（エラーコレクションコード等）は、ページ内の冗長領域に割当てられているメモリセルに書込まれる。
【０００６】
例えば、下記特許文献１では、各ページの先頭から５１２バイトの領域を、ユーザデータ等を書込むユーザ領域に割当て、その後の領域を、エラーコレクションコード等の付加データを書込む冗長領域に割当てている。
【特許文献１】特開２００１−２９７０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、従来は、ページ内の先頭から一定の領域を、ユーザデータ等を書込むユーザ領域に割当て、その後の領域をエラーコレクションコード等の付加データを書込む冗長領域に割当てていた。フラッシュメモリに書込まれるユーザデータは、通常、フラッシュメモリの外部に設けたバッファに保持された後、フラッシュメモリに転送される。このバッファの容量は、通常、各ページ内のユーザ領域と同一の容量に設定される。
【０００８】
しかし、フラッシュメモリの外部に設けるバッファの容量を、各ページ内のユーザ領域と同一にするためには、フラッシュメモリのページの容量に応じてバッファの容量を変更しなければならない。一方、フラッシュメモリの外部に設けるバッファの容量を、フラッシュメモリのページの容量と同一にしない場合は、１ページ分のデータを書込む際に、バッファからフラッシュメモリへの転送を、複数回に分けて行なわなければならない場合が生じる。１ページ分のユーザデータを複数回に分けて転送する場合には、冗長領域に書込む付加データ（エラーコレクションコード等）も複数回に分けて転送される。このユーザデータの転送と付加データ（エラーコレクションコード等）の転送は、交互に行なわれるため、アドレス等の設定を頻繁に変更しなければならず処理効率が良くなかった。
【０００９】
そこで、本発明は、１ページ分のデータを書込む際に、ユーザデータの転送と付加データの転送を複数回に分けて行なわなければならない場合の処理効率を向上させたメモリコントローラ及びフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の第１の観点に係るメモリコントローラは、ホストシステム側から供給されるユーザデータを保持する第１のデータ保持機能と、前記ユーザデータに対応する付加データを保持する第２のデータ保持機能と、前記第１のデータ保持機能に保持されているユーザデータと前記第２のデータ保持機能に保持されている付加データとをフラッシュメモリに転送するデータ転送機能とを備え、前記フラッシュメモリ内のページに、前記ユーザデータと該ユーザデータに対応する前記付加データとを複数組書込み、且つ、該ユーザデータと該ユーザデータに対応する該付加データとを連続した位置に書込む構成にされていることを特徴とする。
【００１１】
なお、前記ページの容量が、前記第１のデータ保持機能の容量と前記第２のデータ保持機能の容量とを併せた容量の整数倍であってもよい。
【００１２】
また、前記ページの容量が２１１２バイトであり、前記第１のデータ保持機能の容量が５１２バイトであり、前記第２のデータ保持機能の容量が１６バイトであってもよい。
【００１３】
上記目的を達成するために、本発明の第２の観点に係るフラッシュメモリシステムは、上記、本発明の第１の観点に係るメモリコントローラのいずれかとフラッシュメモリとを備えることを特徴とする。
【００１４】
上記目的を達成するために、本発明の第３の観点に係るフラッシュメモリの制御方法は、第１のデータ保持機能に保持されているホストシステム側から供給されたユーザデータをフラッシュメモリに転送する処理と、第２のデータ保持機能に保持されている前記ユーザデータに対応する付加データをフラッシュメモリに転送する処理を交互に複数回繰り返すことにより、前記フラッシュメモリ内のページに、前記ユーザデータと該ユーザデータに対応する前記付加データとを複数組書込み、且つ、該ユーザデータと該ユーザデータに対応する該付加データを連続して書込むことを特徴とする。
【００１５】
なお、前記ページの容量が、前記第１のデータ保持機能の容量と前記第２のデータ保持機能の容量を併せた容量の整数倍であってもよい。
【００１６】
また、前記ページの容量が２１１２バイトであり、前記第１のデータ保持機能の容量が５１２バイトであり、前記第２のデータ保持機能の容量が１６バイトであってもよい。
【発明の効果】
【００１７】
本発明によれば、ユーザデータと付加データをそれぞれ複数回に分けて転送する場合に、転送データがユーザデータから付加データに変る場合、又は付加データからユーザデータに変る場合に、書込先のアドレスを変更することなく処理を続行できる。したがって、書込処理の処理効率を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づき、本発明の実施形態について詳細に説明する。
[フラッシュメモリシステム１の説明]
図１は、本発明に係るフラッシュメモリシステム１を概略的に示すブロック図である。
【００１９】
図１に示したようにフラッシュメモリシステム１は、フラッシュメモリ２と、それを制御するメモリコントローラ（以下、単にコントローラという）３とで構成されている。
フラッシュメモリシステム１は、通常、ホストシステム４に着脱可能に装着されて使用され、ホストシステム４に対して一種の外部記憶装置として用いられる。
尚、ホストシステム４としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
【００２０】
フラッシュメモリ２は、ページ単位で読出し又は書込みを行い、ブロック単位で消去を実行するデバイスである。例えば、１ブロックは３２ページで構成され、１ページは５１２バイトのユーザ領域と１６バイトの冗長領域で構成されている。
【００２１】
コントローラ３は、ホストインターフェース制御ブロック５と、マイクロプロセッサ６と、ホストインターフェースブロック７と、ワークエリア８と、バッファ９と、フラッシュメモリインターフェースブロック１０と、ＥＣＣ（エラー・コレクション・コード）ブロック１１と、フラッシュメモリシーケンサブロック１２とから構成されている。
【００２２】
これら機能ブロックによって構成されるコントローラ３は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。
マイクロプロセッサ６は、コントローラ３を構成する各機能ブロック全体の動作を制御する機能ブロックである。
【００２３】
ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を設定する動作設定レジスタ（図示せず）を備えており、この動作設定レジスタに基づきホストインターフェースブロック７は動作する。
【００２４】
ホストインターフェースブロック７は、ホストシステム４とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。すなわち、フラッシュメモリシステム１がホストシステム４に装着されると、フラッシュメモリシステム１とホストシステム４は、外部バス１３を介して相互に接続され、かかる状態において、ホストシステム４よりフラッシュメモリシステム１に供給されるデータ等は、ホストインターフェースブロック７を入口としてコントローラ３の内部に取り込まれる。フラッシュメモリシステム１からホストシステム４に供給されるデータ等は、ホストインターフェースブロック７を出口としてホストシステム４に供給される。
【００２５】
さらに、ホストインターフェースブロック７は、ホストシステム４より供給されるホストアドレス及び外部コマンドを一時的に格納するタスクファイルレジスタ（図示せず）及びエラーが発生した場合にセットされるエラーレジスタ（図示せず）等を有している。
【００２６】
ワークエリア８は、フラッシュメモリ２の制御に必要なデータが一時的に格納される作業領域であり、複数のＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルによって構成される機能ブロックである。
【００２７】
バッファ９は、フラッシュメモリ２から読出したデータ及びフラッシュメモリ２に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ２から読出したデータは、ホストシステム４の受取準備ができるまでバッファ９に保持される。フラッシュメモリ２に書込むデータは、フラッシュメモリ２の書込準備ができるまでバッファ９に保持される。
【００２８】
フラッシュメモリシーケンサブロック１２は、内部コマンドに基づきフラッシュメモリ２の動作を制御する機能ブロックである。フラッシュメモリシーケンサブロック１２は、複数のレジスタ（図示せず）を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック１２は、その情報に基づいて処理を実行する。ここで、「内部コマンド」とは、コントローラ３からフラッシュメモリ２に与えられるコマンドであり、ホストシステム４からフラッシュメモリシステム１に与えられるコマンドの「外部コマンド」とは、区別される。
【００２９】
フラッシュメモリインターフェースブロック１０は、内部バス１４を介して、フラッシュメモリ２とデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスＩＤ情報等の授受を行う機能ブロックである。
【００３０】
ＥＣＣブロック１１は、フラッシュメモリ２に書込むデ―タに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。
【００３１】
[フラッシュメモリ２の説明]
図１のフラッシュメモリ２は、ＮＡＮＤ型メモリである。ＮＡＮＤ型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このＮＡＮＤ型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
【００３２】
フラッシュメモリ２は、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ（書替後のデータ）を書込み、古いデータ（書替前のデータ）が書込まれていたブロックを消去するという処理を行なっている。このようなデータの書替を行なった場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム４側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ２内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されており、アドレス変換テーブルは、後述する対応論理ブロックアドレスに基づいて作成される。
【００３３】
ここで、上記ブロックとページの関係を説明する。
図２（ａ），（ｂ）は、ブロックとページの関係を示す説明図てある。
ブロック及びページの構成は、フラッシュメモリ２の仕様によって異なるが、一般的なフラッシュメモリでは、図２（ａ）に示したように、１ブロックが３２ページ（Ｐ０〜Ｐ３１）で構成される。各ページが５１２バイトのユーザ領域と１６バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図２（ｂ）に示したように、１ブロックが６４ページ（Ｐ０〜Ｐ６３）で構成され、各ページが２０４８バイトのユーザ領域と６４バイトの冗長領域で構成されているものも提供されている。
【００３４】
ユーザ領域は、主に、ホストシステム４から供給されるデ―タが記憶される領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加データが記憶される領域である。
【００３５】
エラ―コレクションコードは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、外部のＥＣＣブロックによって生成される。対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。
【００３６】
尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することもできる。つまり、対応論理ブロックアドレスが格納されていない場合は、消去済ブロックであると判断される。
【００３７】
ブロックステータスは、そのブロックが不良ブロック（正常にデータの書込み等を行なうことができないブロック）であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
【００３８】
次に、フラッシュメモリ２の回路構成について説明する。
フラッシュメモリ２は、一般的なＮＡＮＤ型フラッシュメモリと同様に、メモリ書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によってメモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写（レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写）が行なわれる。
【００３９】
メモリセルアレイを構成するメモリセルは、２つのゲートを備えたＭＯＳトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷（電子）を注入若しくはフローティングゲートから電荷（電子）を排出することによって、データの書込み若しくはデータの消去を行なっている。このフローティングゲートは周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。
【００４０】
尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。ここで、フローティングゲートに電子が注入されている状態（書込状態）が、論理値の「０」のデータに対応し、フローティングゲートから電子が排出されている状態（消去状態）が、論理値の「１」のデータに対応する。
［動作の説明］
次に、ホストシステムから供給されるユーザデータが、フラッシュメモリ２に書込まれる過程を、図３を参照して説明する。
図３は、フラッシュメモリシステムの動作の説明図である。
【００４１】
図３のバッファ２１と付加データ用レジスタ２２は、図１のコントローラ３内に構成されており、バッファ２１にはホストシステム４から供給されるユーザデータが保持され、付加データ用レジスタ２２にはエラーコレクションコード等の付加データが設定されている。
【００４２】
一方、レジスタ２４とメモリセルアレイ２５は、フラッシュメモリ２内に構成されており、レジスタ２４はコントローラ３から供給されるデータ又はメモリセルアレイ２５から出力されたデータを保持し、メモリセルアレイ２５はコントローラ３から供給されるデータを記憶する。ここで、レジスタ２４の容量は、フラッシュメモリ２のページの容量と同一になっている。
【００４３】
ホストシステム４から供給されるユーザデータをフラッシュメモリ２に書込むときは、ホストシステム４から供給されるユーザデータがバッファ２１に保持され、バッファ２１に保持されたユーザデータに対して作成されたエラーコレクションコードやその他の付加データが、付加データ用レジスタ２２に設定される。バッファ２１に保持されたユーザデータと付加データ用レジスタ２２に設定された付加データは、フラッシュメモリ２に転送され、フラッシュメモリ２内のレジスタ２４に保持される。レジスタ２４に保持されたユーザデータと付加データは、コントローラ３から指定されたページに複写（記憶）される。
【００４４】
従来のフラッシュメモリでは、図４に示したように、ページ内の先頭側の領域にユーザ領域が割当てられ、ページ内の末尾側の領域に冗長領域が割当てられていた。
図４（ａ），（ｂ）は、従来の書込み状況を示す模式図である。
図４（ａ）に示した例では、先頭側の５１２バイトがユーザ領域に割当てられ、末尾側の１６バイトが冗長領域に割当てられている。図４（ｂ）に示した例では、先頭側の２０４８バイトがユーザ領域に割当てられ、末尾側の６４バイトが冗長領域に割当てられている。このように、ユーザ領域はページ内の先頭側に、冗長領域はページ内の末尾側に、それぞれ固めて割当てられていた。
【００４５】
尚、フラッシュメモリ２への書込処理では、フラッシュメモリ２内のレジスタに保持されたデータが、フラッシュメモリ２内のページに複写されるので、フラッシュメモリ２内のレジスタにユーザデータと付加データとを転送するときには、ページ内のユーザ領域と冗長領域の割当てに従って、データの転送を行なわなければならない。つまり、ページ内の先頭側の領域にユーザ領域が割当てられ、ページ内の末尾側の領域に冗長領域が割当てられている場合は、レジスタ内の先頭側の領域にユーザデータ（ユーザ領域に書込まれるデータ）が保持され、末尾側の領域に付加データ（冗長領域に書込まれるデータ）が保持されるようにデータの転送を行なわなければならない。
【００４６】
次に、コントローラ内の５１２バイトのバッファと１６バイトの付加データ用レジスタを用いて、ユーザ領域が２０４８バイトのページ（図４（ｂ））にデータを書込む場合の処理について、図面を参照して説明する。
図５は、従来の書込処理でフラッシュメモリ２内のレジスタに保持されたデータを示す図である。図６は、本発明に係る書込処理でフラッシュメモリ２内のレジスタに保持されたデータを示すである。
【００４７】
尚、書込処理では、上述のようにフラッシュメモリ内のレジスタに保持されたデータが、書込先のページに複写されるので、レジスタに保持されるユーザデータと付加データの配列と、書込先のページに複写されるデータのユーザデータと付加データの配列は同一になる。よって、フラッシュメモリ内のレジスタで、ユーザデータが保持される領域が、ページ内のユーザ領域に対応し、付加データが保持される領域が、ページ内の冗長領域に対応する。このため、以下の説明では、フラッシュメモリ内のレジスタに保持されるユーザデータと付加データの配列を中心に説明する。
【００４８】
図５に示した従来の書込処理では、フラッシュメモリに対して、次のような順序でユーザデータと付加データが転送される。ステップ０でユーザデータが転送され、ステップ１で付加データが転送され、ステップ２でユーザデータが転送され、ステップ３で付加データが転送され、ステップ４でユーザデータが転送され、ステップ５で付加データが転送され、ステップ６でユーザデータが転送され、ステップ７で付加データが転送される。
【００４９】
ここで、ステップ１で転送される付加データはステップ０で転送されるユーザデータに対応し、ステップ３で転送される付加データはステップ２で転送されるユーザデータに対応し、ステップ５で転送される付加データはステップ４で転送されるユーザデータに対応し、ステップ７で転送される付加データはステップ６で転送されるユーザデータに対応する。又、ステップ０、ステップ２、ステップ４及びステップ６で転送されるユーザデータは、レジスタの先頭側の領域からこの順番で保持され、ステップ１、ステップ３、ステップ５及びステップ７で転送される付加データは、ユーザデータの後にこの順番で保持される。
【００５０】
図６（ａ）に示した本発明に係る書込処理では、フラッシュメモリに対して、次のような順番でユーザデータと付加データが転送され、転送された順番でフラッシュメモリ内のレジスタに保持される。ステップＡ０でユーザデータが転送され、ステップＡ１で付加データが転送され、ステップＡ２でユーザデータが転送され、ステップＡ３で付加データが転送され、ステップＡ４でユーザデータが転送され、ステップＡ５で付加データが転送され、ステップＡ６でユーザデータが転送され、ステップＡ７で付加データが転送される。ここで、ステップＡ１で転送される付加データはステップＡ０で転送されるユーザデータに対応し、ステップＡ３で転送される付加データはステップＡ２で転送されるユーザデータに対応し、ステップＡ５で転送される付加データはステップＡ４で転送されるユーザデータに対応し、ステップＡ７で転送される付加データはステップＡ６で転送されるユーザデータに対応する。
【００５１】
つまり、本発明に係る書込処理では、５１２バイトのユーザデータとこれに対応する１６バイトの付加データがレジスタ内の連続した領域に保持される。又、ユーザデータと付加データとは、レジスタ内の領域に交互に配列される。これに対応して、レジスタに保持されていたデータが複写されるページ内の領域も、５１２バイトのユーザ領域と１６バイトの冗長領域が交互に割当てられる。
【００５２】
図６（ａ）に示した例では、５１２バイトのバッファと１６バイトの付加データ用レジスタを用いて書込処理を行なったが、図６（ｂ）に示した例では、１０２４バイトのバッファと３２バイトの付加データ用レジスタを用いて書込処理を行なっている。１０２４バイトのバッファと３２バイトの付加データ用レジスタを用いて書込処理を行なった場合も、ユーザデータとこれに対応する付加データがレジスタ内の連続した領域に保持される。又、ユーザデータと付加データは、レジスタ内の領域に交互に配列される。但し、１０２４バイトのバッファと３２バイトの付加データ用レジスタを用いて書込処理を行なっているので、ページ内の領域には、１０２４バイトのユーザ領域と３２バイトの冗長領域が交互に割当てられる。
【００５３】
次に、図５に示した従来の書込処理でフラッシュメモリに供給される信号と、図６（ａ）に示した本発明に係る書込処理でフラッシュメモリに供給される信号について図面を参照して説明する。
図７は、従来の書込処理でフラッシュメモリ２に供給される信号の波形図であり、図８は、図６（ａ）に示した本発明に係る書込処理でフラッシュメモリ２に供給される信号の波形図である。
図７に示した波形図で、Ｓ１１は、コマンド、アドレス及びデータ（ユーザデータ、付加データ等）等を供給するデータバスに出力されるデータ信号である。Ｓ１２は、データバスに出力されている信号がコマンドを示す信号であるときに高レベルとなるコマンドラッチイネーブル信号である。Ｓ１３は、データバスに出力されている信号がアドレスを示す信号であるときに高レベルとなるアドレスラッチイネーブル信号である。Ｓ１４は、データバスにコマンド、アドレス及びデータが出力されているときに低レベルから高レベルに変化するライトイネーブル信号である。尚、コマンドラッチイネーブル信号、アドレスラッチイネーブル信号及びライトイネーブル信号以外の制御信号については図示していない。又、以下の説明で、データバスに出力されるコマンドを示す信号をコマンド信号と言い、アドレスを示す信号をアドレス信号と言い、ユーザデータを示す信号をユーザデータ信号と言い、付加データを示す信号を付加データ信号と言う。
【００５４】
図７に示した従来の書込処理における波形図では、まず、データバスに書込コマンドに対応するコマンド信号Ｃが出力され、続いて、ステップ０に対応するアドレス信号Ａ０、ユーザデータ信号Ｄ０〜Ｄ５１１及びアドレス変更コマンドに対応するコマンドＣ”が順次出力され、その後、ステップ１に対応するアドレス信号Ａ１及び付加データ信号Ｄ０’〜Ｄ１５’が順次出力される。以下同様に、ステップ２、ステップ４及びステップ６に対応するアドレス信号、ユーザデータ信号及びアドレス変更コマンドに対応するコマンドＣ”が順次出力され、その後にステップ３、ステップ５及びステップ７に対応するアドレス信号及び付加データ信号が順次出力される。以上の処理で、フラッシュメモリ内のレジスタに保持されたデータは、データ複写に対応するコマンド信号Ｃ’によって、レジスタから書込み先ページに複写される。尚、データバスに出力された信号は、ライトイネーブル信号（Ｓ１４）の立上りでフラッシュメモリに取込まれ、コマンドラッチイネーブル信号（Ｓ１２）が高レベルのときに取込まれた信号はコマンド信号と判断され、アドレスラッチイネーブル信号（Ｓ１３）が高レベルのときに取込まれた信号はアドレス信号と判断される。
【００５５】
図７に示した従来の書込処理における波形図では、各ステップの最初にアドレス変更コマンドに対応するコマンドＣ”とアドレス信号が出力されている。これは、各ステップの変り目でアドレスが不連続になるため、書込先のアドレスを指定しているからである。尚、指定されたアドレスは、ライトイネーブル信号の立上りでカウントアップされるので、アドレス信号で書込先のアドレスを指定しなかった場合、ユーザデータ信号若しくは付加データ信号に対応するデータは連続したアドレスに順次取込まれる。
【００５６】
図８に示した波形図で、Ｓ２１は、コマンド、アドレス及びデータ（ユーザデータ、付加データ等）等を供給するデータバスに出力されるデータ信号である。Ｓ２２は、データバスに出力されている信号がコマンドを示す信号であるときに高レベルとなるコマンドラッチイネーブル信号である。、Ｓ２３は、データバスに出力されている信号がアドレスを示す信号であるときに高レベルとなるアドレスラッチイネーブル信号である。Ｓ２４は、データバスにコマンド、アドレス及びデータが出力されているときに低レベルから高レベルに変化するライトイネーブル信号である。
【００５７】
図８に示した本発明に係る書込処理における波形図では、まず、データバスに書込コマンドに対応するコマンド信号Ｃが出力され、続いて、ステップＡ０に対応するアドレス信号Ａ０及びユーザデータ信号Ｄ０〜Ｄ５１１が順次出力され、更に、ステップＡ１に対応する付加データ信号Ｄ０’〜Ｄ１５’が順次出力される。以下同様に、ステップＡ２、ステップＡ４及びステップＡ６に対応するユーザデータ信号と、ステップＡ３、ステップＡ５及びステップＡ７に対応する付加データ信号が、ステップＡ２、ステップＡ３、…、ステップＡ７の順で出力される。以上の処理で、フラッシュメモリ内のレジスタに保持されたデータは、データ複写に対応するコマンド信号Ｃ’によって、レジスタから書込み先ページに複写される。
【００５８】
尚、データバスに出力された信号は、ライトイネーブル信号（Ｓ２４）の立上りでフラッシュメモリに取込まれ、コマンドラッチイネーブル信号（Ｓ２２）が高レベルのときに取込まれた信号はコマンド信号と判断され、アドレスラッチイネーブル信号（Ｓ２３）が高レベルのときに取込まれた信号はアドレス信号と判断される。
【００５９】
図８に示した本発明に係る書込処理における波形図では、ステップ０の最初にアドレス信号が出力され、それ以降のステップ１〜７では、アドレス変更コマンドに対応するコマンド信号やアドレス信号が出力されない。これは、ステップ０〜７で出力されるユーザデータ信号若しくは付加データ信号に対応するデータが、ずっと連続したアドレスに順次取込まれるからである。
【００６０】
以上のように、本実施形態のフラッシュメモリシステム１では、ユーザデータと付加データを転送する場合に、転送データがユーザデータから付加データに変る場合、又は付加データからユーザデータに変る場合に書込先のアドレスを変更する必要がない。したがって、書込処理の処理効率を向上させることができる。
【図面の簡単な説明】
【００６１】
【図１】本発明に係るフラッシュメモリシステム１を概略的に示すブロック図である。
【図２】ブロックとページの関係を示す説明図てある。
【図３】フラッシュメモリシステムの動作の説明図である。
【図４】従来の書込み状況を示す模式図である。
【図５】従来の書込処理でフラッシュメモリ内のレジスタに保持されたデータを示す図である。
【図６】本発明に係る書込処理でフラッシュメモリ内のレジスタに保持されたデータを示すである。
【図７】従来の書込処理でフラッシュメモリに供給される信号の波形図である。
【図８】図６（ａ）に示した書込処理でフラッシュメモリに供給される信号の波形図である。
【符号の説明】
【００６２】
１      フラッシュメモリシステム
２      フラッシュメモリ
３      メモリコントローラ
４      ホストシステム
【図１】
2005292925.tif 000003
【図２】
2005292925.tif 000004
【図３】
2005292925.tif 000005
【図４】
2005292925.tif 000006
【図５】
2005292925.tif 000007
【図６】
2005292925.tif 000008
【図７】
2005292925.tif 000009
【図８】
2005292925.tif 000010