(57)【要約】【課題】セクタ単位にランダムデータ入出力が可能なフラッシュメモリシステムを提供する。【解決手段】本発明に従うフラッシュメモリ（セルアレイ）と、バッファメモリと、ランダムデータ入出力回路と、そして制御回路と、を備える。ランダムデータ入出力回路は、バッファメモリからセクタ単位にデータを入力されるか、或いはバッファメモリにセクタ単位にデータを出力する。制御回路は、バッファメモリとランダムデータ入出力回路との間に入出力されるデータの順序と回数とをセクタ単位に調整する。これにより、小ブロックフラッシュメモリの制御方式を用いて大ブロックフラッシュメモリを使用することができてデータ貯蔵効率を高めることができる。【選択図】図１
2011018372.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリに連結されるランダムデータ入出力回路であって、
前記フラッシュメモリに出力される又は前記フラッシュメモリから入力されるデータを貯蔵するラッチ回路と、
入出力ラインからコマンドを入力されてリセット信号を出力するコマンド入力回路と、
前記入出力ラインからアドレスを入力されて前記アドレスを出力し、前記アドレスを所定数のサイクルに応じて順次的に増加し、かつ、前記コマンド入力回路からリセット信号を入力されて前記アドレスを初期化するアドレスカウンタと、
前記アドレスカウンタからアドレスを入力されてセクタ選択信号を出力する選択回路と、
前記選択回路からセクタ選択信号を入力されて前記ラッチ回路のセクタを選択し、前記入出力ラインからセクタ単位にデータを入力されて前記ラッチ回路の選択されたセクタにデータを出力し、かつ、前記ラッチ回路の選択されたセクタからセクタ単位にデータを入力されて前記入出力ラインにデータを出力するデータ入出力回路と、
を含むことを特徴とするランダムデータ入出力回路。
【請求項２】
制御ラインから外部制御信号を入力されて内部制御信号を出力し、前記入出力ラインに連結され、かつ、前記入出力ラインから外部データを入力されてコマンド、アドレス、及びデータを出力する入出力バッファをさらに含むことを特徴とする請求項１に記載のランダムデータ入出力回路。
【請求項３】
前記ラッチ回路は、前記コマンド入力回路からリセット信号を入力されて初期化されることを特徴とする請求項１に記載のランダムデータ入出力回路。
【請求項４】
前記コマンド入力回路、前記アドレスカウンタ、及び前記データ入出力回路は、前記内部制御信号の組み合わせにより活性化されることを特徴とする請求項２に記載のランダムデータ入出力回路。
【請求項５】
前記選択回路は、行デコーダと列デコーダとを含むことを特徴とする請求項１に記載のランダムデータ入出力回路。
【請求項６】
ワードライン及びビットラインを通じてフラッシュメモリに連結されるランダムデータ入出力回路であって、
前記フラッシュメモリに出力される又は前記フラッシュメモリから入力されるデータを貯蔵するラッチ回路と、
制御ラインから外部制御信号を入力されて内部制御信号を出力し、かつ、入出力ラインから外部データを入力されてコマンド、アドレス、及びデータを出力する入出力バッファと、
前記入出力バッファからコマンドを入力されてリセット信号を出力するコマンド入力回路と、
前記入出力バッファから内部制御信号を入力されて列アドレスセッティングパルス（ｃ１，ｃ２）及び／又は行アドレスセッティングパルス（ｒ１，ｒ２）を出力するアドレスセッティングパルス発生回路と、
前記アドレスセッティングパルス発生回路から列及び／又は行アドレスセッティングパルスを入力されて列及び行アドレスを出力し、前記列アドレスを所定数のサイクルに応じて順次的に増加し、かつ、前記コマンド入力回路からリセット信号を入力されて前記列アドレスを初期化するアドレスカウンタと、
前記アドレスカウンタから列アドレスを入力されて前記ラッチ回路にセクタ選択信号を出力する選択回路と、
前記入出力バッファからデータを入力されて前記ラッチ回路にデータを出力し、かつ、前記ラッチ回路からデータを入力されて前記入出力バッファにデータを出力するデータ入出力回路と、
を含むことを特徴とするランダムデータ入出力回路。
【請求項７】
前記ラッチ回路は、前記コマンド入力回路からリセット信号を入力されて初期化されることを特徴とする請求項６に記載のランダムデータ入出力回路。
【請求項８】
前記コマンド入力回路、前記アドレスセッティングパルス発生回路、及び前記データ入出力回路は、前記内部制御信号の組み合わせにより活性化されることを特徴とする請求項６に記載のランダムデータ入出力回路。
【請求項９】
前記選択回路は、前記アドレスカウンタから行アドレスを入力されて前記ワードラインを選択するための信号を出力する行デコーダと、
前記アドレスカウンタから列アドレスを入力されて前記ビットラインを選択するための信号を出力する列デコーダと、
を含むことを特徴とする請求項６に記載のランダムデータ入出力回路。
【請求項１０】
前記アドレスセッティングパルス発生回路は、前記コマンド入力回路からリセット信号を入力されて前記行アドレスセッティングパルスを遮断することを特徴とする請求項６に記載のランダムデータ入出力回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリシステムに関するものであり、より詳しくは、データをセクタ単位にランダムに入出力することができるフラッシュメモリシステムに関するものである。
【背景技術】
【０００２】
フラッシュメモリ（Ｆｌａｓｈ Ｍｅｍｏｒｙ）は、高集積が可能な不揮発性メモリ装置（ｎｏｎ−ｖｏｌａｔｉｌｅ ｍｅｍｏｒｙ）である。フラッシュメモリは、データ保存性に優れるので、フラッシュメモリシステム内でメインメモリとして使用される。フラッシュメモリは、既存のハードディスク及びフロッピー（登録商標）ディスクを代替する価値がある高集積大容量素子として注目を帯びている。現在フラッシュメモリは、携帯ホン、ディジタルカメラ、ＭＰ３プレーヤー、カムコーダー、ＰＤＡなど携帯型ディジタル電子機器の貯蔵媒体として広く用いられている。
【０００３】
しかしながら、フラッシュメモリは、ＲＡＭに比べてデータ入出力速度が遅いという短所がある。フラッシュメモリの読み取り及び書き取り動作において、遅延時間の大部分は、ページバッファに臨時に貯蔵されたデータをセルアレイに書き取るか、或いはセルアレイに貯蔵されたデータをページバッファに読み出すことに消耗される。
【０００４】
また、フラッシュメモリは、ランダムアクセスが不可能であるという短所がある。ランダムアクセスが不可能なフラッシュメモリの短所を克服するためにフラッシュメモリシステム内にバッファメモリを置いてランダムアクセスを支援する新しい方法が開発されている。
【０００５】
フラッシュメモリシステムがランダムアクセスを支援するためには、フラッシュメモリにデータを書き取る前に又はホストにデータを伝送する前にデータを臨時的に貯蔵するためのバッファメモリが必要である。バッファメモリは、ランダムアクセスが可能なメモリ（例えば、ＤＲＡＭやＳＲＡＭ）である。
【０００６】
一方、フラッシュメモリは、複数のブロック（例えば、１０２４Ｂｌｏｃｋｓ、２０４８Ｂｌｏｃｋｓ）より成る。フラッシュメモリにおいて、ブロックは、データ消去動作の基本単位である。一つのブロックは、複数のページ（例えば、１６Ｐａｇｅｓ、３２Ｐａｇｅｓ、又は６４Ｐａｇｅｓ）より成る。ページは、データ書き取り及び読み取り動作の基本単位である。
【０００７】
一つのページのサイズは、普通（５１２＋１６）Ｂｙｔｅ又は（２Ｋ＋６４）Ｂｙｔｅである。ページサイズが（２Ｋ＋６４）Ｂｙｔｅというとき、２Ｋ Ｂｙｔｅはノーマルデータであり、６４ Ｂｙｔｅは付加データである。ノーマルデータは、メイン領域に貯蔵され、付加データはスペア領域に貯蔵される。ここで、付加データとは、ノーマルデータを用いて生成されたエラー訂正及び検出コードデータ、アドレスマッピングデータ、そしてウェアレベルデータなどを言う。
【０００８】
フラッシュメモリは、ページサイズにより小ブロックフラッシュメモリと大ブロックフラッシュメモリとに大別されることができる。小ブロックフラッシュメモリは、（５１２＋１６）Ｂｙｔｅのページサイズを有する。大ブロックフラッシュメモリは、（２Ｋ＋６４）Ｂｙｔｅ又はその以上のページサイズを有する。
【０００９】
大ブロックフラッシュメモリを使用すると、小ブロックフラッシュメモリを使用するときよりデータ入出力速度を増加させ得る。同じ容量のデータを書き取るか、或いは読み取るものにおいて、大ブロックフラッシュメモリを用いれば、多量のデータを一度にセルアレイに書き取るか、或いはセルアレイから読み出すことができるためである。
【００１０】
また、大ブロックフラッシュメモリを使用すれば、チップサイズを縮めることができる。同じ容量のフラッシュメモリを具現するのにおいて、小ブロックフラッシュメモリを多数個使用するものより大ブロックフラッシュメモリを一つ使用するものが全体チップサイズを縮めるのに有利である。こうした理由に最近では、データ入出力動作速度を早くし、チップサイズを縮めるため大ブロックフラッシュメモリを主として使用している。
【００１１】
しかしながら、大ブロックフラッシュメモリは、小ブロックフラッシュメモリで使用した制御方式をそのまま使用することができない。特に、エラー訂正及び検出コード単位とスペア領域などは、ページサイズに従属されるため、ページサイズに合うように変えられなければ成らない。従って、フラッシュメモリの制御方式は、小ブロック及び大ブロックフラッシュメモリによりそれぞれ異なって構成されなければならない。もし小ブロックフラッシュメモリで使用した制御方式を大ブロックフラッシュメモリで使用すれば、大ブロックフラッシュメモリにデータを記録しない領域が生ずるのでデータ貯蔵効率が落ちる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記背景に鑑みて、本発明の目的は、セクタ単位にランダムにデータを入出力することができるランダムデータ入出力回路を使用して小ブロックフラッシュメモリの制御方式に大ブロックフラッシュメモリを制御するフラッシュメモリシステムを提供することにある。
【課題を解決するための手段】
【００１３】
このような目的を達成するための本発明に従うフラッシュメモリシステムは、ページ単位にデータを貯蔵するフラッシュメモリと、セクタ単位にデータを貯蔵するバッファメモリと、バッファメモリからセクタ単位にデータを入力されるか、或いはバッファメモリにセクタ単位にデータを出力し、かつ、フラッシュメモリにページ単位にデータを出力するか、或いはフラッシュメモリからページ単位にデータを入力されるランダムデータ入出力回路と、そしてバッファメモリとランダムデータ入出力回路との間に入出されるデータの順序と回数とをセクタ単位に調整することができる制御回路と、を含むことを特徴とする。
【００１４】
この実施の形態において、ページ単位は、少なくとも一つ以上のセクタ単位から構成されることを特徴とする。
【００１５】
本発明に従うフラッシュメモリシステムの他の一面は、ページ単位にデータを貯蔵するフラッシュメモリと、セクタ単位にデータを貯蔵するバッファメモリと、バッファメモリからセクタ単位にデータを入力されるか、或いはバッファメモリにセクタ単位にデータを出力し、かつ、フラッシュメモリにページ単位にデータを出力するか、或いはフラッシュメモリからページ単位にデータを入力されるランダムデータ入出力回路と、コマンド、バッファセクタカウント、フラッシュセクタアドレス、及びてバッファセクタアドレスについての情報を貯蔵するレジスタと、レジスタに貯蔵された情報に応答してバッファメモリとランダムデータ入出力回路との間に入出力されるデータの順序と回数とをセクタ単位に調整するステートマシンと、を含むことを特徴とする。
【００１６】
この実施の形態において、フラッシュメモリシステムは、ステートマシンにより制御され、フラッシュメモリとバッファメモリとの間に伝送されるデータのエラーを訂正するエラー訂正及びデータ入出力回路をさらに含むことを特徴とする。
【００１７】
この実施の形態において、エラー訂正及びデータ入出力回路は、セクタ単位にパリティを生成することを特徴とする。
この実施の形態において、エラー訂正及びデータ入出力回路は、ページ単位を成すセクタの数に応じてエラーを訂正することを特徴とする。
【００１８】
この実施の形態において、フラッシュメモリシステムは、バスを通じてホストに連結される、そしてホストから信号を入力されてフラッシュメモリシステムを動作させるための内部信号に変更するホストインターフェースをさらに含むことを特徴とする。
【００１９】
この実施の形態において、ホストインターフェースは、ＮＯＲフラッシュメモリのインターフェース方式を有することを特徴とする。
この実施の形態において、ホストインターフェースは、バッファメモリのインターフェース方式を有することを特徴とする。
【００２０】
この実施の形態において、フラッシュメモリ、バッファメモリ、ランダムデータ入出力回路、レジスタ、ステートマシン、エラー訂正及びデータ入出力回路、及びホストインターフェースは、単一チップより成ることを特徴とする。
【００２１】
この実施の形態において、フラッシュメモリは、メイン領域とスペア領域とに大別され、メイン領域には、ノーマルデータが貯蔵され、スペア領域には、ノーマルデータと関連された付加データが貯蔵されることを特徴とする。
【００２２】
この実施の形態において、メイン領域とスペア領域は、それぞれセクタ単位を成すことを特徴とする。
【００２３】
この実施の形態において、バッファメモリは、ランダムアクセスが可能なメモリ（ＲＡＭ）であることを特徴とする。ここで、ＲＡＭは、ＳＲＡＭ又はＤＲＡＭであることを特徴とする。
【００２４】
この実施の形態において、ページ単位は、少なくとも一つ以上のセクタ単位から構成されることを特徴とする。
【００２５】
この実施の形態において、バッファメモリとランダムデータ入出力回路との間にセクタ単位に入出力されるデータの回数は、セクタ単位の数であることを特徴とする。
【００２６】
この実施の形態において、ランダムデータ入出力回路は、フラッシュメモリに出力される又はフラッシュメモリから入力されるデータを貯蔵するラッチ回路と、ステートマシンから制御信号を入力されて内部制御信号を出力し、かつ、ステートマシン及びバッファメモリからデータを入力されてコマンド、アドレス、及びデータを出力する入出力バッファと、入出力バッファからコマンドを入力されてリセット信号を出力するコマンド入力回路と、入出力バッファから内部制御信号を入力されて列アドレスセッティングパルス（ｃ１，ｃ２）及び／又は行アドレスセッティングパルス（ｒ１，ｒ２）を出力するアドレスセッティングパルス発生回路と、アドレスセッティングパルス発生回路から列及び／又は行アドレスセッティングパルスを入力されて列及び行アドレスを出力する、列アドレスを所定数のサイクルに応じて順次的に増加し、かつ、コマンド入力回路からリセット信号を入力されて列アドレスを初期化するアドレスカウンタと、アドレスカウンタから列アドレスを入力されてラッチ回路にセクタ選択信号を出力する選択回路と、入出力バッファからデータを入力されてラッチ回路にデータを出力し、かつ、ラッチ回路からデータを入力されて入出力バッファにデータを出力するデータ入出力回路と、を含むことを特徴とする。
【００２７】
この実施の形態において、ラッチ回路は、コマンド入力回路からリセット信号を入力されて初期化されることを特徴とする。
【００２８】
この実施の形態において、コマンド入力回路、アドレスセッティングパルス発生回路、及びデータ入出力回路は、内部制御信号の組み合わせにより活性化されることを特徴とする。
【００２９】
この実施の形態において、選択回路は、アドレスカウンタから行アドレスを入力されてワードラインを選択するための信号を出力する行デコーダと、アドレスカウンタから列アドレスを入力されてビットラインを選択するための信号を出力する列デコーダと、を含むことを特徴とする。
【００３０】
この実施の形態において、アドレスセッティングパルス発生回路は、コマンド入力回路からリセット信号を入力されて行アドレスセッティングパルスを遮断することを特徴とする。
【００３１】
本発明に従うランダムデータ入出力回路はフラッシュメモリに連結される。ランダムデータ入出力回路は、フラッシュメモリに出力される又はフラッシュメモリから入力されるデータを貯蔵するラッチ回路と、入出力ラインからコマンドを入力されてリセット信号を出力するコマンド入力回路と、入出力ラインからアドレスを入力されてアドレスを出力する、アドレスを所定数のサイクルに応じて順次的に増加し、かつ、コマンド入力回路からリセット信号を入力させてアドレスを初期化するアドレスカウンタと、アドレスカウンタからアドレスを入力されてセクタ選択信号を出力する選択回路と、選択回路からセクタ選択信号を入力されてラッチ回路のセクタを選択し、入出力ラインからセクタ単位にデータを入力されてラッチ回路の選択されたセクタにデータを出力し、かつ、ラッチ回路の選択されたセクタからセクタ単位にデータを入力されて入出力ラインにデータを出力するデータ入出力回路と、を含むことを特徴とする。
【００３２】
この実施の形態において、制御ラインから外部制御信号を入力されて内部制御信号を出力する、入出力ラインに連結され、かつ、入出力ラインから外部データを入力されてコマンド、アドレス、及びデータを出力する入出力バッファをさらに含むことを特徴とする。
【００３３】
この実施の形態において、ラッチ回路は、コマンド入力回路からリセット信号を入力されて初期化されることを特徴とする。
【００３４】
この実施の形態において、コマンド入力回路、アドレスカウンタ、及びデータ入出力回路は、内部制御信号の組み合わせにより活性化されることを特徴とする。
【００３５】
この実施の形態において、既選択回路は、行デコーダと列デコーダとを含むことを特徴とする。
【００３６】
本発明の他の一面に従うランダムデータ入出力回路は、ワードライン及びビットラインを通じてフラッシュメモリに連結される。ランダムデータ入出力回路は、フラッシュメモリに出力される又はフラッシュメモリから入力されるデータを貯蔵するラッチ回路と、制御ラインから外部制御信号を入力されて内部制御信号を出力し、かつ、入出力ラインから外部データを入力されてコマンド、アドレス、及びデータを出力する入出力バッファと、入出力バッファからコマンドを入力されてリセット信号を出力するコマンド入力回路と、入出力バッファから内部制御信号を入力されて列アドレスセッティングパルス（ｃ１，ｃ２）及び／又は行アドレスセッティングパルス（ｒ１，ｒ２）を出力するアドレスセッティングパルス発生回路と、アドレスセッティングパルス発生回路から列及び／又は行アドレスセッティングパルスを入力されて列及び行アドレスを出力し、列アドレスを所定数のサイクルに応じて順次的に増加し、かつ、コマンド入力回路からリセット信号を入力されて列アドレスを初期化するアドレスカウンタと、アドレスカウンタから列アドレスを入力されてラッチ回路にセクタ選択信号を出力する選択回路と、入出力バッファからデータを入力されてラッチ回路にデータを出力し、かつ、ラッチ回路からデータを入力されて入出力バッファにデータを出力するデータ入出力回路と、を含むことを特徴とする。
【００３７】
この実施の形態において、ラッチ回路は、コマンド入力回路からリセット信号を入力されて初期化されることを特徴とする。
【００３８】
この実施の形態において、コマンド入力回路、アドレスセッティングパルス発生回路、及びデータ入出力回路は、内部制御信号の組み合わせにより活性化されることを特徴とする。
【００３９】
この実施の形態において、選択回路は、アドレスカウンタから行アドレスを入力されてワードラインを選択するための信号を出力する行デコーダと、アドレスカウンタから列アドレスを入力されてビットラインを選択するための信号を出力する列デコーダと、を含むことを特徴とする。
【００４０】
この実施の形態において、アドレスセッティングパルス発生回路は、コマンド入力回路からリセット信号を入力されて行アドレスセッティングパルスを遮断することを特徴とする。
【発明の効果】
【００４１】
本発明に従うフラッシュメモリシステムは、フラッシュメモリにデータを入力するか、或いはフラッシュメモリからデータを出力するとき、セクタ単位にデータを入出力することができる。また、フラッシュメモリシステムは、セクタ単位に入出力されるデータの順序とデータの回数とを調整することができる。したがって、ランダムデータ入出力が可能なフラッシュメモリシステムによれば、小ブロックフラッシュメモリの制御方式を用いて大ブロックフラッシュメモリを使用することができてデータ貯蔵効率を高めることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明に従うフラッシュメモリシステムの実施の形態を示したブロック図である。
【図２】図１のフラッシュメモリとバッファメモリの概念図である。
【図３】本発明に従うランダムデータ入出力回路の実施の形態を示したブロック図である。
【図４】図３のラッチ回路の実施の形態を示した回路図である。
【図５】図３のコマンド入力回路の実施の形態を示した回路図である。
【図６】図３のアドレスセッティングパルス発生回路の実施の形態を示した回路図である。
【図７】セクタ単位のランダムデータ入力動作を説明するためのタイミング図である。
【図８】セクタ単位のランダムデータ出力動作を説明するためのタイミング図である。
【発明を実施するための形態】
【００４３】
以下、本発明の属する技術分野で通常の知識を持つ者が本発明の技術的思想を容易に実施することができる程度で詳細に説明するために、 本発明の好適な実施の形態を添付した図面を参照して説明する。
【００４４】
本発明に従うフラッシュメモリシステムは、ランダムデータ入出力回路を用いて小ブロックフラッシュメモリの制御方式を大ブロックフラッシュメモリに使用することができるようにしたものである。本発明では、大ブロックフラッシュメモリは、（２Ｋ＋６４）Ｂｙｔｅのページサイズを有し、小ブロックフラッシュメモリは、（５１２＋１６）Ｂｙｔｅのページサイズを有すると仮定する。
【００４５】
ここで、小ブロックフラッシュメモリのページサイズである（５１２＋１６）Ｂｙｔｅをセクタと定義する。すなわち、大ブロックフラッシュメモリの一つのページは、４個のセクタから構成される。セクタは、ランダムデータ入出力の基本単位である。
【００４６】
図１は、本発明に従うフラッシュメモリシステムの実施の形態を示すブロック図である。フラッシュメモリシステム２は、バスを通じてホスト１に連結される。フラッシュメモリシステム２は、ホスト１から制御信号、アドレス、及びデータなど外部信号を入力される。
【００４７】
図１を参照すると、フラッシュメモリシステム２は、ホストインターフェース１０と、レジスタ２０と、ステートマシン３０と、ＥＣＣ＆ＤＱブロック４０と、バッファメモリ５０と、フラッシュメモリ１００と、そしてランダムデータ入出力回路２００と、を含む。
【００４８】
ホストインターフェース１０は、バスを通じてホスト１に連結される。ホストインターフェース１０は、ホスト１から外部信号を入力される。ホストインターフェース１０は、外部信号を内部信号に変更する。ここで、内部信号は、制御信号、アドレス、データなどを言う。ホストインターフェース１０は、レジスタ２０又はバッファメモリ５０に内部信号を出力する。
【００４９】
ホストインターフェース１０は、多様なインターフェース方式で具現されることができる。例えば、ホストインターフェース１０は、ＳＲＡＭ又はＤＲＡＭインターフェース方式で具現されることができる。また、ホストインターフェース１０は、ＮＯＲフラッシュメモリインターフェース方式でも具現されることができる。
【００５０】
レジスタ２０は、ホストインターフェース１０からレジスタ制御信号ＲＥＧ＿ＣＴＲＬ、レジスタアドレスＲＥＧ＿ＡＤＤＲなどを入力される。レジスタ制御信号は、レジスタ２０の全般的な動作を制御する信号である。
【００５１】
レジスタ２０は、自体的にアドレスを有する。レジスタ２０のアドレスには、コマンドについての情報、バッファセクタカウントについての情報、フラッシュメモリ１００のアドレスについての情報、そしてバッファメモリ５０のアドレスについての情報などが貯蔵される。
【００５２】
コマンドについての情報は、フラッシュメモリ１００の読み取り又は書き取り動作などを命ずるコマンド情報である。コマンド情報は、ノーマルデータ入力コマンド、ランダムデータ入力コマンド、ノーマルデータ出力コマンド、そしてランダムデータ出力コマンド情報を含む。コマンドについての説明は、後述される図５を参照して詳細に説明される。
【００５３】
バッファセクタカウント（Ｂｕｆｆｅｒ Ｓｅｃｔｏｒ Ｃｏｕｎｔ；ＢＳＣ）についての情報は、ランダムデータ入出力回路２００でセクタ単位に入出力されるデータの入出力の回数についての情報である。例えば、ＢＳＣ＝４であれば、セクタ単位のデータ入力又はデータ出力動作が４回連続的に反復される。もしＢＳＣ＝２であれば、セクタ単位のデータ入力又は出力動作は２回のみ遂行される。
【００５４】
アドレスについての情報は、フラッシュブロックアドレス（Ｆｌａｓｈ Ｂｌｏｃｋ Ａｄｄｒｅｓｓ；ＦＢＡ）、フラッシュセクタアドレス（Ｆｌａｓｈ Ｓｅｃｔｏｒ Ａｄｄｒｅｓｓ；ＦＳＡ）、そしてバッファセクタアドレス（Ｂｕｆｆｅｒ Ｓｅｃｔｏｒ Ａｄｄｒｅｓｓ；ＢＳＡ）などについての情報である。
【００５５】
フラッシュブロックアドレスは、フラッシュメモリ１００のブロックを指定するアドレスである。フラッシュセクタアドレスは、フラッシュメモリ１００のいずれか一つのセクタ（以下、“フラッシュセクタ”という。）についてのアドレスである。バッファセクタアドレスは、バッファメモリ５０のいずれか一つのセクタ（以下、“バッファセクタ”という。）についてのアドレスである。
【００５６】
ステートマシン３０は、レジスタ２０からレジスタ値ＲＥＧ＿ＶＡＬを入力される。ここで、レジスタ値は、コマンド、バッファセクタカウント、フラッシュセクタアドレス、そしてバッファセクタアドレスを含む。ステートマシン３０は、レジスタ値によりバッファセクタに貯蔵されたデータがフラッシュセクタに入力されるか、或いはフラッシュセクタに貯蔵されたデータがバッファセクタに出力されるようにバッファメモリ５０とランダムデータ入出力回路２００を制御する。
【００５７】
ステートマシン３０は、バッファメモリ５０にバッファ制御信号ＢＵＦ＿ＣＴＲＬとバッファアドレスＢＵＦ＿ＡＤＤＲとを出力する。バッファ制御信号は、バッファメモリ５０の動作を制御するための信号である。バッファアドレスは、バッファメモリ５０のバッファセクタを指定するためのアドレスである。
【００５８】
ステートマシン３０は、ランダムデータ入出力回路２００に制御信号ＣＴＲＬとフラッシュアドレスＦ＿ＡＤＤＲとを出力する。フラッシュアドレスは、ＥＣＣ＆ＤＱブロック４０を通過してランダムデータ入出力回路２００に入力される。制御信号は、ランダムデータ入出力回路２００を制御するための信号である。フラッシュアドレスは、フラッシュセクタを指定するためのアドレスである。
【００５９】
ＥＣＣ＆ＤＱブロック４０は、エラー訂正及びデータ入出力ブロック（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ ａｎｄ Ｄａｔａ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｂｌｏｃｋ）である。ＥＣＣ＆ＤＱブロック４０は、ステートマシン３０から制御信号ＥＣＣ＿ＣＴＲＬ，ＤＱ＿ＣＴＲＬとフラッシュアドレスＦ＿ＡＤＤＲを入力される。 制御信号ＥＣＣ＿ＣＴＲＬ，ＤＱ＿ＣＴＲＬは、ＥＣＣ＆ＤＱブロック４０の動作を制御するための信号である。フラッシュアドレスは、フラッシュメモリ１００のフラッシュセクタアドレスＦＳＡである。フラッシュアドレスは、ＥＣＣ＆ＤＱブロック４０を通じてランダムデータ入出力回路２００に入力される。
【００６０】
ＥＣＣ＆ＤＱブロック４０は、バッファメモリ５０からデータＤＡＴＡを入力されてランダムデータ入出力回路２００にデータＤＡＴＡを出力する。また、ＥＣＣ＆ＤＱブロック４０は、ランダムデータ入出力回路２００からデータＤＡＴＡを入力されてバッファメモリ５０にデータＤＡＴＡを出力する。
【００６１】
ＥＣＣ＆ＤＱブロック４０は、よく知られたようにフラッシュメモリ１００とバッファメモリ５０との間に伝送されるデータのエラーを訂正する。ＥＣＣ＆ＤＱブロック４０は、セクタ単位にパリティを生成し、セクタの数と同数のエラーを訂正する。
【００６２】
続けて、図１を参照すると、フラッシュメモリシステム２は、フラッシュメモリ１００とバッファメモリ５０とを含む。フラッシュメモリ１００は、セルアレイを意味する。フラッシュメモリシステム２は、フラッシュメモリ１００にデータを入力する前に、バッファメモリ５０にデータを臨時的に貯蔵する。また、フラッシュメモリ１００に貯蔵されたデータは、ホスト１に伝送される前にバッファメモリ５０に臨時的に貯蔵される。
【００６３】
図２は、フラッシュメモリとバッファメモリの概念図である。図２を通じてフラッシュメモリ１００、バッファメモリ５０、そしてセクタ単位より成るランダムデータ入出力方式を説明する。
【００６４】
フラッシュメモリ（セルアレイ）は、複数のブロック（例えば、１０２４Ｂｌｏｃｋｓ、２０４８Ｂｌｏｃｋｓ）より成る。図２には、一つのブロックのみが示されている。ブロックは、複数のページ（例えば、１６Ｐａｇｅｓ、３２Ｐａｇｅｓ、６４Ｐａｇｅｓ）より成る。図２で参照番号１１０，１２０，１３０，１４０，１５０は、それぞれ一つのページを示す。ページは、データ書き取り動作及びデータ読み取り動作の基本単位である。
【００６５】
それぞれのページは、再び複数のセクタより成る。図２には、一つのページ１４０が４個のセクタ１４１〜１４４に区分された例が示されている。フラッシュメモリで、ページサイズは、（２Ｋ＋６４）Ｂｙｔｅであり、セクタサイズは、（５１２＋１６）Ｂｙｔｅである。セクタは、小ブロックフラッシュメモリでページである。セクタは、大ブロックフラッシュメモリでランダムデータ入出力の基本単位を成す。
【００６６】
一方、フラッシュメモリ１００のセクタは、それぞれアドレスを有している。図２には、４個のフラッシュセクタアドレス（Ｆｌａｓｈ Ｓｅｃｔｏｒ Ａｄｄｒｅｓｓ；ＦＳＡ）が表示されている。第１のフラッシュセクタ１４１のアドレスは‘００’である。‘ＦＳＡ＝００’は、第１のフラッシュセクタ１４１のアドレスが‘００’であることを意味する。第２のフラッシュセクタ１４２のアドレスは、‘０１’である。第３のフラッシュセクタ１４３のアドレスは‘１０’である。第４のフラッシュセクタ１４４のアドレスは‘１１’である。
【００６７】
バッファメモリ５０は、フラッシュメモリ１００から入力されるか、或いはフラッシュメモリ１００に出力されるデータを臨時に貯蔵する。バッファメモリ５０は、ランダムアクセスが可能なメモリ（例えば、ＳＲＡＭ又はＤＲＡＭ）である。バッファメモリ５０は、フラッシュメモリ１００のフラッシュセクタに対応されるバッファセクタ５１〜５４を有している。
【００６８】
バッファセクタ５１〜５４は、それぞれバッファセクタアドレス（Ｂｕｆｆｅｒ Ｓｅｃｔｏｒ Ａｄｄｒｅｓｓ；ＢＳＡ）を有している。第１のバッファセクタ５１のアドレスは‘００’である。‘ＢＳＡ＝００’は、第１のバッファセクタ５１のアドレスが‘００’であることを意味する。第２のバッファセクタ５２のアドレスは‘０１’である。第３のバッファセクタ５３のアドレスは‘１０’である。第４のバッファセクタ５４のアドレスは‘１１’である。
【００６９】
図２を参照してランダムデータ入出力方式を説明する。ランダムデータ入力とは、バッファメモリ５０の任意のバッファセクタに貯蔵されたデータをフラッシュメモリ１００の任意のフラッシュセクタに入力することを言う。ランダムデータ出力とは、フラッシュメモリ１００の任意のフラッシュセクタに貯蔵されたデータをバッファメモリ５０の任意のバッファセクタに出力することを言う。
【００７０】
例えば、レジスタ２０にランダムデータ入力を命ずるコマンド、バッファセクタカウント（ＢＳＣ＝１）、第２のバッファセクタアドレス（ＢＳＡ＝０１）、そして第３のフラッシュセクタアドレス（ＦＳＡ＝１０）が貯蔵されていると仮定すれば、第２のバッファセクタ５２に貯蔵されたデータが第３のフラッシュセクタ１４３に入力される動作が遂行される。
【００７１】
図２には、ＢＳＣ＝４である場合にランダムデータ入力方式を示した例が示されている。第１のバッファセクタ５１に貯蔵されたデータは、第１のフラッシュセクタアドレス（ＦＳＡ＝００）に入力される。第２のバッファセクタ５２に貯蔵されたデータは、第３のフラッシュセクタアドレス（ＦＳＡ＝１０）に入力される。第３のバッファセクタ５３に貯蔵されたデータは、第４のフラッシュセクタアドレス（ＦＳＡ＝１１）に入力される。第４のバッファセクタ５４に貯蔵されたデータは、第２のフラッシュセクタアドレス（ＦＳＡ＝０１）に入力される。従って、バッファメモリ５０のバッファセクタ５１〜５４に貯蔵されたデータは全てフラッシュメモリ１００に入力される。
【００７２】
もしＢＳＣ＝２であれば、セクタ単位のデータ入力動作は、２回のみ遂行される。従って、第１及び第２のバッファセクタ５１，５２にあるデータのみがフラッシュメモリ１００の第１及び第３のフラッシュセクタ１４１，１４３にそれぞれ入力される。
【００７３】
再び図１を参照すれば、フラッシュメモリシステム２は、ランダムデータ入出力回路２００をさらに含む。ランダムデータ入出力回路２００は、フラッシュメモリ１００とバッファメモリ５０との間でランダムデータ入出力が可能になる回路である。
【００７４】
ランダムデータ入出力回路２００は、ステートマシン３０から制御信号ＣＴＲＬを入力される。そしてランダムデータ入出力回路２００は、入出力ライン（Ｉ／Ｏ）を通じてコマンド、アドレス、そしてデータを入力される。ランダムデータ入出力回路２００は、ワードライン及びビットラインを通じてフラッシュメモリ１００に連結される。
【００７５】
ランダムデータ入出力回路２００は、入出力ライン（Ｉ／Ｏ）を通じてセクタ単位にデータを入力されてフラッシュメモリ１００にページ単位にデータを出力する。また、ランダムデータ入出力回路２００は、フラッシュメモリ１００からページ単位にデータを入力されて入出力ライン（Ｉ／Ｏ）にセクタ単位にデータを出力する。この際、ステートマシン３０は、ランダムデータ入出力回路２００でセクタ単位より成るデータ入出力の順序と回数とを制御する。
【００７６】
図３は、ランダムデータ入出力回路の実施の形態を示したブロック図である。図３を参照すると、ランダムデータ入出力回路２００は、入出力バッファ２１０と、コマンド入力回路２２０と、アドレスセッティングパルス発生回路２３０と、アドレスカウンタ２４０と、選択回路２５０と、データ入出力回路２６０と、そしてラッチ回路２７０と、を含む。
【００７７】
ラッチ回路２７０は、フラッシュメモリ１００に出力される又はフラッシュメモリ１００から入力されるデータを臨時的に貯蔵する。ラッチ回路２７０はページバッファから構成される。
【００７８】
図４は、ページバッファの実施の形態を示した回路図である。ページバッファは、ＰＬＯＡＤ信号に応答してビットラインＢ／ＬをプリチャージするＰＭＯＳトランジスタと、インバータ２個から構成され、データを貯蔵するラッチと、ＢＬＳＬＴ信号に応答してビットラインをスイッチングする選択トランジスタと、そしてリセット信号（Ｐ／Ｂ＿ＲＳＴ）によりラッチを初期化する手段と、を含む。ページバッファについての動作原理は、この技術分野で当業者によく知られているため省略する。
【００７９】
入出力バッファ２１０は、ステートマシン３０から制御信号ＣＴＲＬを入力されて内部制御信号（例えば、ＣＬＥ，ＡＬＥ，ｎＷＥ，ｎＲＥ，ｎＣＥなど）を出力する。入出力バッファ２１０は、入出力ライン（Ｉ／Ｏ）からコマンド（ＣＭＤ）と、アドレス（ＡＤＤＲ）と、そしてデータ（ＤＡＴＡ）と、を入力される。そして入出力ラインにデータ（ＤＡＴＡ）を出力する。
【００８０】
コマンド入力回路２２０は、内部制御信号ＣＬＥ，ｎＷＥに同期されて入出力バッファ２１０からコマンドＣＭＤを入力される。コマンド入力回路２２０は、コマンドＣＭＤに応答してリセット信号（Ｐ／Ｂ＿ＲＳＴ，Ｙ／Ｃ＿ＲＳＴ、Ｐ／Ｇ＿ＲＳＴ）と遮断信号ＲＡ＿ＢＬＫを出力する。ここで、制御信号ＣＬＥは、コマンドラッチイネーブル信号（Ｃｏｍｍａｎｄ Ｌａｔｃｈ Ｅｎａｂｌｅ ｓｉｇｎａｌ）である。コマンドＣＭＤは、コマンドラッチイネーブル信号ＣＬＥがハイである状態で入力される。制御信号ｎＷＥは書き取りイネーブル信号（Ｗｒｉｔｅ Ｅｎａｂｌｅ ｓｉｇｎａｌ）である。コマンドＣＭＤは、書き取りイネーブル信号ｎＷＥのロー−ハイ遷移（ｌｏｗ−ｔｏ−ｈｉｇｈ ｔｒａｎｓｉｔｉｏｎ）に同期されて入力される。
【００８１】
一方、コマンドＣＭＤは、ステートマシン３０により制御される。コマンドＣＭＤは、正常的なデータ入力動作を命ずるノーマル入力コマンド（Ｎｏｒｍａｌ＿ＤＩ＿ＣＭＤ）と、ランダムデータ入力動作を命ずるランダム入力コマンド（Ｒａｎｄｏｍ＿ＤＩ＿ＣＭＤ）と、正常的なデータ出力動作を命ずるノーマル出力コマンド（Ｎｏｒｍａｌ＿ＤＯ＿ＣＭＤ）と、そしてランダムデータ出力動作を命ずるランダム出力コマンド（Ｒａｎｄｏｍ＿ＤＯ＿ＣＭＤ）と、を含む。
【００８２】
図５は、コマンド入力回路の実施の形態を示した回路図である。コマンド入力回路２２０は、第１のコマンド入力回路２２１と第２のコマンド入力回路２２２とから構成される。
【００８３】
第１のコマンド入力回路２２１は、データ入力に関連されたコマンド入力回路である。第１のコマンド入力回路２２１は、入出力バッファ２１０から制御信号ｎＷＥとコマンド（Ｎｏｒｍａｌ＿ＤＩ＿ＣＭＤ，Ｒａｎｄｏｍ＿ＤＩ＿ＣＭＤ）を入力されてリセット信号（Ｐ／Ｂ＿ＲＳＴ，Ｐ／Ｇ＿ＲＳＴ、Ｙ／Ｃ＿ＲＳＴ）又は遮断信号ＲＡ＿ＢＬＫを出力する。
【００８４】
第１のコマンド入力回路２２１は、２個のフリップフロップＤＦＦ１，ＤＦＦ２と、２個のショートパルス発生回路ＰＵＬ１，ＰＵＬ２と、そしてゲートと、から構成される。ショートパルス発生回路ＰＵＬ１，ＰＵＬ２は、直列連結された３個のインバータと、ＮＡＮＤゲートと、そしてインバータと、から構成される。
【００８５】
ノーマル入力コマンドは、制御信号ｎＷＥに同期されてフリップフロップＤＦＦ１とショートパルス発生回路ＰＵＬ１を経ながらラッチ回路２７０を初期化するリセット信号Ｐ／Ｂ＿ＲＳＴとアドレスセッティングパルス発生回路２３０とを初期化するリセット信号Ｐ／Ｇ＿ＲＳＴになる。第１のコマンド入力回路２２１は、ノーマル入力コマンドを入力されてラッチ回路２７０とアドレスセッティングパルス発生回路２３０とを初期化する信号を出力する。
【００８６】
ランダム入力コマンドは、フリップフロップＤＦＦ２とショートパルス発生回路ＰＵＬ２とを経つつアドレスカウンタ２４０を初期化するリセット信号Ｙ／Ｃ＿ＲＳＴとアドレスセッティングパルス発生回路２３０を初期化するリセット信号Ｐ／Ｇ＿ＲＳＴになる。一方、ランダム入力コマンドは、フリップフロップＤＦＦ２を経つつアドレスセッティングパルス発生回路２３０のローアドレスセッティングパルス（ｒ１，ｒ２）を遮断する信号ＲＡ＿ＢＬＫになる。第１のコマンド入力回路２２１は、ランダム入力コマンドを入力されてアドレスカウンタ２４０とアドレスセッティングパルス発生回路２３０とを初期化する信号を出力する。
【００８７】
第２のコマンド入力回路２２２は、データ出力に関連されたコマンド入力回路である。第２のコマンド入力回路２２２は、２個のフリップフロップＤＦＦ３，ＤＦＦ４と、１個のショートパルス発生回路ＰＵＬ４と、そしてＯＲゲートと、から構成される。ショートパルス発生回路ＰＵＬ４は、直列連結された３個のインバータと、ＮＡＮＤゲートと、そしてインバータと、から構成される。
【００８８】
第２のコマンド入力回路２２２は、入出力バッファ２１０から制御信号ｎＷＥとコマンド（Ｎｏｒｍａｌ＿ＤＯ＿ＣＭＤ，Ｒａｎｄｏｍ＿ＤＯ＿ＣＭＤ）を入力されてリセット信号Ｐ／Ｇ＿ＲＳＴ，Ｙ／Ｃ＿ＲＳＴと遮断信号ＲＡ＿ＢＬＫとを出力する。
【００８９】
ノーマル出力コマンドは、フリップフロップＤＦＦ３を経つつアドレスセッティングパルス発生回路２３０を初期化するリセット信号Ｐ／Ｇ＿ＲＳＴになる。
【００９０】
ランダム出力コマンドは、フリップフロップＤＦＦ４とショートパルス発生回路ＰＵＬ４を経つつアドレスカウンタ２４０を初期化するリセット信号Ｙ／Ｃ＿ＲＳＴとアドレスセッティングパルス発生回路２３０を初期化するリセット信号Ｐ／Ｇ＿ＲＳＴになる。一方、ランダム出力コマンドは、フリップフロップＤＦＦ４を経つつアドレスセッティングパルス発生回路２３０のローアドレスセッティングパルス（ｒ１，ｒ２）を遮断する信号ＲＡ＿ＢＬＫになる。
【００９１】
再び、図３を参照すると、ランダムデータ入出力回路２００は、アドレスセッティングパルス発生回路２３０を含む。アドレスセッティングパルス発生回路２３０は、入出力バッファ２１０から制御信号ＡＬＥ，ｎＷＥを入力される。アドレスセッティングパルス発生回路２３０は、制御信号ＡＬＥ，ｎＷＥに同期されて列アドレスセッティングパルス（ｃ１，ｃ２）と行アドレスセッティングパルス（ｒ１，ｒ２）とを順次的に出力する。ここで、制御信号ＡＬＥは、アドレスラッチイネーブル信号（Ａｄｄｒｅｓｓ Ｌａｔｃｈ Ｅｎａｂｌｅ ｓｉｇｎａｌ）である。アドレスセッティングパルス発生回路２３０は、コマンド入力回路２２０からリセット信号Ｒ／Ｇ＿ＲＳＴと遮断信号ＲＡ＿ＢＬＫとを入力される。
【００９２】
図６は、アドレスセッティングパルス発生回路の実施の形態を示した回路図である。図６を参照すると、アドレスセッティングパルス発生回路２３０は、フリップフロップ（ＤＦＦｉ：ｉ＝５〜８）と、ショートパルス発生回路（ＰＵＬｊ：ｊ＝５〜８）と、そしてゲートと、を含む。アドレスセッティングパルス発生回路２３０は、アドレスラッチイネーブル信号ＡＬＥがハイである状態で書き取りイネーブル信号ｎＷＥが遷移されるとき毎に順次的に列及び行アドレスセッティングパルス（ｃ１，ｃ２，ｒ１，ｒ２）を出力する。
【００９３】
書き取りイネーブル信号ｎＷＥの第１の遷移に同期されて、アドレスラッチイネーブル信号ＡＬＥは、フリップフロップＤＦＦ５から出力される。フリップフロップＤＦＦ５から出力された信号は、ショートパルス発生回路ＰＵＬ５を経つつ第１の列アドレスセッティングパルス（ｃ１）になる。フリップフロップＤＦＦ５から出力されてフリップフロップＤＦＦ６に入力された信号は、書き取りイネーブル信号ｎＷＥの第２の遷移に同期されてショートパルス発生回路ＰＵＬ６に入力されて第２の列アドレスセッティングパルス（ｃ２）になる。同一な過程により第１及び第２の行アドレスセッティングパルス（ｒ１，ｒ２）が出力される。
【００９４】
フリップフロップ（ＤＦＦｉ：ｉ＝５〜８）は、コマンド入力回路２２０からリセット信号Ｐ／Ｇ＿ＲＳＴを入力されて初期化される。一方、フリップフロップＤＦＦ７の前端に位置したＮＯＲゲートは、コマンド入力回路２２０から遮断信号ＲＡ＿ＢＬＫを入力される。ＮＯＲゲートは、ハイ信号が入力されれば、無条件ロー信号を出力する。フリップフロップＤＦＦ７は、遮断信号ＤＦＦ７がハイである場合に出力ＤＱがディスエイブルされる。フリップフロップＤＦＦ７のディスエイブルされた出力信号は、フリップフロップＤＦＦ８に入力される。従って、アドレスセッティングパルス発生回路２３０がコマンド入力回路２２０から遮断信号ＲＡ＿ＢＬＫを入力されれば、行アドレスセッティングパルス（ｒ１，ｒ２）は遮断される。
【００９５】
ランダム入力コマンド又はランダム出力コマンドが入力される場合に行アドレスセッティングパルス（ｒ１，ｒ２）を遮断する理由は、ノーマル入力コマンド又はノーマル出力コマンド入力ときに設定された行アドレスをそのまま維持するためである。
【００９６】
再び、図３を参照すると、ランダムデータ入出力回路２００は、アドレスカウンタ２４０を含む。アドレスカウンタ２４０は、アドレスセッティングパルス発生回路２３０からアドレスセッティングパルスを入力される。アドレスカウンタ２４０は、アドレスセッティングパルスに同期されて入出力バッファ２１０からアドレスＡＤＤＲを入力される。アドレスカウンタ２４０は、列アドレスセッティングパルス（ｃ１，ｃ２）に同期されて列アドレスＣＡを発生する。アドレスカウンタ２４０は、行アドレスセッティングパルス（ｒ１，ｒ２）に同期されて行アドレスＲＡを発生する。
【００９７】
アドレスカウンタ２４０は、列アドレスを所定数のサイクルに応じて順次的に増加する。所定のサイクル数は、一つのセクタにデータ入出力するのに必要な書き取りイネーブル信号ｎＷＥのサイクル数である。すなわち、列アドレスは、入出力しようとするセクタ単位の開始点を決定し、所定のサイクル数は、セクタ単位の終了点を決定する。
【００９８】
アドレスカウンタ２４０は、コマンド入力回路２２０からリセット信号Ｙ／Ｃ＿ＲＳＴを入力される。アドレスカウンタ２４０は、リセット信号Ｙ／Ｃ＿ＲＳＴにより初期化される。リセット信号Ｙ／Ｃ＿ＲＳＴは、ランダム入力コマンドＲａｎｄｏｍ＿ＤＩ＿ＣＭＤ又はランダム出力コマンドＲａｎｄｏｍ＿ＤＯ＿ＣＭＤにより発生される。
【００９９】
選択回路２５０は、アドレスカウンタ２４０から行及び列アドレスを入力される。選択回路２５０は、行及び列アドレスに応答してワードライン及びビットラインを選択するための信号を出力する。選択回路２５０は、行デコ−ダ２５１と列デコーダ２５２とを含む。行デコーダ２５１は、行アドレスに応答してワードライン選択信号を発生する。列デコーダ２５２は、列アドレスに応答してビットライン選択信号を発生する。
【０１００】
データ入出力回路２６０は、選択回路２５０からビットライン選択信号を入力される。ビットライン選択信号により、ラッチ回路２７０のセクタ単位が選択される。すなわち、ビットライン選択信号により、データが入力されるか、或いは出力されるセクタの開始点が決定される。
【０１０１】
データ入出力回路２６０は、入出力バッファ２１０から制御信号ｎＷＥ，ｎＲＥとデータＤＡＴＡとを入力される。データ入出力回路２６０は、制御信号ｎＷＥの連続的なロー−ハイの遷移に同期されてバイト単位（又はワード単位）でデータを入力される。ここで、制御信号ｎＷＥのサイクル数によりラッチ回路２７０に入力されるセクタの終了点が決定される。
【０１０２】
データ入出力回路２６０は、制御信号ｎＲＥの連続的な遷移に同期されて入出力バッファ２１０にデータＤＡＴＡを出力する。ここで、制御信号ｎＲＥは、読み取りイネーブル信号（Ｒｅａｄ Ｅｎａｂｌｅ ｓｉｇｎａｌ）である。データＤＡＴＡは、制御信号ｎＲＥの連続的なロー−ハイの遷移に同期されて出力される。
【０１０３】
図７は、セクタ単位のランダムデータ入力動作を説明するためのタイミング図である。図７を参照してランダムデータ入出力回路２００のデータ入力動作を説明すれば、次の通りである。
【０１０４】
ランダムデータ入出力回路２００は、チップイネーブル信号ｎＣＥがローであり、コマンドラッチイネーブル信号ＣＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥに同期されて入出力ラインＩ／Ｏを通じてノーマル入力コマンドＮｏｒｍａｌ＿ＤＩ＿ＣＭＤを入力される。ノーマル入力コマンドによりラッチ回路２７０を初期化するリセット信号Ｐ／Ｂ＿ＲＳＴが発生される。
【０１０５】
チップイネーブル信号ｎＣＥがローであり、アドレスラッチイネーブル信号ＡＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されてアドレスセッティングパルス信号（ｃ１，ｃ２，ｒ１，ｒ２）が順次的に発生されるアドレスセッティングパルス信号に同期されて行及び列アドレスが入力される。
【０１０６】
チップイネーブル信号ｎＣＥ、コマンドラッチイネーブル信号ＣＬＥ、そしてアドレスラッチイネーブル信号ＡＬＥが全てローである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されてデータが入力される。データは、書き取りイネーブル信号ｎＷＥのサイクルの数に応じてバイト単位（又はワード単位）に入力される。例えば、一つのセクタが５１２Ｂｙｔｅであり、書き取りイネーブル信号ｎＷＥの一つのサイクル毎に１Ｂｙｔｅずつ入力されれば、書き取りイネーブル信号ｎＷＥのサイクル数は５１２になる。ここで、５１２のサイクル数は、アドレスカウンタ２４０のサイクル数と同一である。
【０１０７】
その後に、ランダムデータ入力動作が遂行される。ランダムデータ入出力回路２００は、チップイネーブル信号ｎＣＥがローであり、コマンドラッチイネーブル信号ＣＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥに同期されてランダム入力コマンドＲａｎｄｏｍ＿ＤＩ＿ＣＭＤを入力される。ランダム入力コマンドによりアドレスカウンタ２７０を初期化するリセット信号Ｙ／Ｃ＿ＲＳＴが発生される。
【０１０８】
チップイネーブル信号ｎＣＥがローであり、アドレスラッチイネーブル信号ＡＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されて列アドレスセッティングパルス信号（ｃ１，ｃ２）が順次的に発生される。アドレスセッティングパルス信号に同期されて行及び列アドレスが入力される。ここで、行アドレスセッティングパルス信号（ｒ１，ｒ２）は遮断される。従って、行アドレスは、ノーマルデータ入力とき発生したアドレスがそのまま維持される。
【０１０９】
チップイネーブル信号ｎＣＥ、コマンドラッチイネーブル信号ＣＬＥ、そしてアドレスラッチイネーブル信号ＡＬＥが全てローである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されてデータが入力される。データは、書き取りイネーブル信号ｎＷＥのサイクルの数に応じてバイト単位（又はワード単位）に入力される。例えば、一つのセクタが１６Ｂｙｔｅであり、書き取りイネーブル信号ｎＷＥの一つのサイクル毎に１Ｂｙｔｅずつ入力されれば、書き取りイネーブル信号ｎＷＥのサイクル数は１６になる。
【０１１０】
ノーマルデータ入力動作及びランダムデータ入力動作は、レジスタ２０に貯蔵されたバッファセクタカウントＢＳＣの数と同数反復的に遂行される。例えば、ＢＳＣ＝４であれば、１回のノーマルデータ入力動作と３回のランダムデータ入力動作が遂行される。
【０１１１】
図８は、セクタ単位のランダムデータ出力動作を説明するためのタイミング図である。図８を参照してランダムデータ入出力回路２００のデータ出力動作を説明すれば、次の通りである。
【０１１２】
ランダムデータ入出力回路２００は、チップイネーブル信号ｎＣＥがローであり、コマンドラッチイネーブル信号ＣＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥに同期されてノーマル出力コマンドＮｏｒｍａｌ＿ＤＯ＿ＣＭＤを入力される。
【０１１３】
チップイネーブル信号ｎＣＥがローであり、アドレスラッチイネーブル信号ＡＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されてアドレスセッティングパルス信号（ｃ１，ｃ２，ｒ１，ｒ２）が順次的に発生される。アドレスセッティングパルス信号に同期されて行及び列アドレスが発生される。
【０１１４】
チップイネーブル信号ｎＣＥがローであり、コマンドラッチイネーブル信号ＣＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥに同期されてデータ出力動作を命ずるコンファームコマンドＣｏｎｆｉｒｍ＿ＣＭＤを入力される。コンファームコマンドによりフラッシュメモリ１００に貯蔵されたデータがページ単位にラッチ回路２７０に出力される。
【０１１５】
その後に、セクタ単位のランダムデータ出力動作が遂行される。ランダムデータ入出力回路２００は、チップイネーブル信号ｎＣＥがローであり、コマンドラッチイネーブル信号ＣＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥに同期されてランダム出力コマンド Ｒａｎｄｏｍ＿ＤＯ＿ＣＭＤを入力される。ランダム出力コマンドによりアドレスカウンタ２４０を初期化するリセット信号Ｙ／Ｃ＿ＲＳＴが発生される。
【０１１６】
チップイネーブル信号ｎＣＥがローであり、アドレスラッチイネーブル信号ＡＬＥがハイである状態で、書き取りイネーブル信号ｎＷＥの連続的な遷移に同期されて列アドレスセッティングパルス信号（ｃ１，ｃ２）が順次的に発生される。アドレスセッティングパルス信号に同期されて行及び列アドレスが入力される。ここで、行アドレスセッティングパルス信号（ｒ１，ｒ２）は遮断される。従って、行アドレスは、ノーマルデータ出力とき発生したアドレスがそのまま維持される。
【０１１７】
チップイネーブル信号ｎＣＥ、コマンドラッチイネーブル信号ＣＬＥ、そしてアドレスラッチイネーブル信号ＡＬＥが全てローである状態で、読み取りイネーブル信号ｎＲＥの連続的な遷移に同期されてセクタ単位にデータが出力される。データは、読み取りイネーブル信号ｎＲＥのサイクルの数に応じてバイト単位（又はワード単位）に出力される。例えば、一つのセクタが５１２Ｂｙｔｅであり、読み取りイネーブル信号ｎＲＥの一つのサイクル毎に１Ｂｙｔｅずつ出力されれば、読み取りイネーブル信号ｎＲＥのサイクル数は５１２になる。ここで、５１２のサイクル数は、アドレスカウンタ２４０のサイクル数と同一である。
【０１１８】
データ出力動作は、レジスタ２０に貯蔵されたバッファセクタカウントＢＳＣにより反復的に遂行される。例えば、ＢＳＣ＝３であれば、３回のランダムデータ出力動作が遂行される。
【０１１９】
フラッシュメモリシステム２を構成する要素すなわち、フラッシュメモリ１００、バッファメモリ５０、レジスタ２０、ステートマシン３０、ランダムデータ入出力回路２００、ＥＣＣ＆ＤＱブロック４０、そしてホストインターフェース１０は、単一チップで形成されることができる。これだけではなく、フラッシュメモリシステム２の多重チップ技術を用いて実現されることもできることは、この技術分野で当業者に自明な事実である。
【０１２０】
一方、本発明の詳細な説明では、具体的な実施の形態に関して説明したが、本発明の範囲から外れない限度内で様々な変形が可能なものは勿論である。従って、本発明の範囲は、前述した実施の形態に局限されて決められてはいけなく、特許請求の範囲だけではなく、この発明の特許請求の範囲と均等なものにより決められるべきである。
【符号の説明】
【０１２１】
１ ホスト
２ フラッシュメモリシステム
１０ ホストインターフェース
２０ レジスタ
３０ ステートマシン
４０ ＥＣＣ＆ＤＱブロック
５０ バッファメモリ
５１，５２，５３，５４ バッファセクタ
１００ フラッシュメモリ（セルアレイ）
１１０，１２０，１３０，１４０，１５０ ページ
１４１，１４２，１４３，１４４ フラッシュセクタ
２００ ランダムデータ入出力回路
２１０ 入出力バッファ
２２０ コマンド入力回路
２２１ 第１のコマンド入力回路
２２２ 第２のコマンド入力回路
２３０ アドレスセッティングパルス発生回路
２４０ アドレスカウンタ
２５０ 選択回路
２５１ 行デコーダ
２５２ 列デコーダ
２６０ データ入出力回路
２７０ ラッチ回路
【図１】
2011018372.tif 000003
【図２】
2011018372.tif 000004
【図３】
2011018372.tif 000005
【図４】
2011018372.tif 000006
【図５】
2011018372.tif 000007
【図６】
2011018372.tif 000008
【図７】
2011018372.tif 000009
【図８】
2011018372.tif 000010