(57)【要約】効率的にデータを書き込み、多状態メモリセルデータを読み出す方法および装置。本発明の１つの態様によれば、メモリシステムが、第１の記憶素子、データソース、第１のエレメント、第２のエレメントおよびリップルクロックを備える。上記データソースは、第１の記憶素子に格納する複数のビットを出力し、上記第１のエレメントは上記データソースから第１のビットを受け取り、さらに、第１のビットの計時も行って第２のバッファ用エレメントの中へ入れる。次いで、上記第１のエレメントは、第１のビットが第１のエレメントの中へ格納されているのとほぼ同じ間、複数のビットからなる第２のビットをデータソースから受け取る。上記リップルクロックにより、第１のエレメントと第２のエレメントへのアクセスが可能となり、これによって第１のビットと第２のビットのパイプライン化が可能となる。
2005527055.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムであって、データの格納に適したメモリシステムにおいて、
複数の記憶素子であって、第１の記憶素子を備える複数の記憶素子と、
データソースであって、前記第１の記憶素子に格納すべき複数のビットを出力するように構成されるデータソースと、
第１のエレメントであって、前記複数のビットに含まれる第１のビットを前記データソースから受け取る第１のエレメントと、
第２のエレメントであり、前記第１のエレメントから前記第１のビットを受け取るように構成された前記第２のエレメントであって、前記第１のビットを前記第１の記憶素子の中へ格納するようにさらに構成された第２のエレメントと、
リップルクロックであって、前記第１のエレメントと前記第２のエレメントとへのアクセスをほぼ同時に可能にするように構成された前記リップルクロックと、を備えるメモリシステム。
【請求項２】
前記リップルクロックが、前記複数の記憶素子に含まれる前記第１の記憶素子と少なくとも第２の記憶素子とへのアクセスをほぼ同時に可能にするようにさらに構成された請求項１に記載のメモリシステム。
【請求項３】
前記第１のエレメントが第１のラッチであり、前記第２のエレメントが第２のラッチである請求項１に記載のメモリシステム。
【請求項４】
前記第１のビットが前記第１の記憶素子の中へ格納されているのとほぼ同じ間、前記第１のエレメントが、前記データソースから前記複数のビットで第２のビットを受け取るように構成された請求項１に記載のメモリシステム。
【請求項５】
前記第２のエレメントが前記第１のエレメントから前記第２のビットを受け取るように構成され、前記第１のエレメントが、前記複数のビットに含まれる第３のビットを前記データソースから受け取っているのとほぼ同じ間、前記第２のエレメントが、前記複数の記憶素子に含まれる第２の記憶素子の中へ前記第２のビットを格納するようにさらに構成された請求項４に記載のメモリシステム。
【請求項６】
前記第１の記憶素子の中へ前記第１のビットを格納後、前記第１のエレメントが、前記複数のビットに含まれる第２のビットを前記データソースから受け取るように構成された請求項１に記載のメモリシステム。
【請求項７】
前記メモリシステムがデータ受信装置をさらに備え、前記第１のエレメントが、前記第１の記憶素子から第３のビットを受け取り、次いで、前記第３のビットを前記データ受信装置へ出力するようにさらに構成された請求項１に記載のメモリシステム。
【請求項８】
前記複数の記憶素子が第２の記憶素子を備え、前記第３のビットの前記データ受信装置への出力後とほぼ同じ時点に、前記第２のエレメントが前記第２の記憶素子から第４のビットを受け取るようにさらに構成された請求項７に記載のメモリシステム。
【請求項９】
前記メモリシステムが不揮発性メモリシステムである請求項１に記載のメモリシステム。
【請求項１０】
前記不揮発性メモリシステムがメモリカードである請求項９に記載のメモリシステム。
【請求項１１】
前記メモリカードが、ＰＣカード、コンパクトフラッシュカード、マルチメディアカード、セキュリティ保護デジタルカード、スマートメディアカード、およびメモリスティックカードのうちの１つである請求項１０に記載のメモリシステム。
【請求項１２】
前記第１の記憶素子が不揮発性記憶素子である請求項９に記載のメモリシステム。
【請求項１３】
コンピューティングシステムであって、
ホストであって、第１のビットと第２のビットとを備える複数のビットを出力するように構成されるホストと、
記憶デバイスであって、前記ホストと通信状態にある記憶デバイスと、を備えたコンピューティングシステムにおいて、前記記憶デバイスが、
記憶素子のアレイであって、少なくとも１つの記憶素子を備える前記記憶素子のアレイと、
第１のバッファ用エレメントであって、前記第１のビットを前記ホストから受け取るように構成される第１のバッファ用エレメントと、
第２のバッファ用エレメントであって、前記第１のバッファ用エレメントから前記第１のビットを受け取るように構成される第２のバッファ用エレメントであり、前記第１のビットを前記アレイの中へ格納するようにさらに構成される第２のバッファ用エレメントと、
リップルクロックであって、前記第１のバッファ用エレメントと前記第２のバッファ用エレメントへのアクセスをほぼ同時に可能にするように構成されたリップルクロックと、を備えるよう構成されたコンピューティングシステム。
【請求項１４】
前記リップルクロックが、前記アレイに含まれる前記少なくとも１つの記憶素子と、少なくとも第２の記憶素子とへのほぼ同時のアクセスを可能にするようにさらに構成された請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記第１のバッファ用エレメントが第１のラッチであり、前記第２のバッファ用エレメントが第２のラッチである請求項１３に記載のコンピューティングシステム。
【請求項１６】
前記アレイ内への前記第２のビットの格納中とほぼ同じ間、前記第１のバッファ用エレメントが前記複数のビットで前記ホストから第３のビットを受け取るように構成された請求項１３に記載のコンピューティングシステム。
【請求項１７】
前記第２のバッファ用エレメントが前記アレイから第３のビットを受け取り、次いで、前記第３のビットを前記ホストへ出力するようにさらに構成された請求項１３に記載のコンピューティングシステム。
【請求項１８】
前記第２のバッファ用エレメントがアレイから第３のビットを受け取り、次いで、前記第１のバッファ用エレメントへ前記第３のビットを出力するようにさらに構成され、さらに、前記第１のバッファ用エレメントが前記第３のビットを前記ホストへ出力するように構成された請求項１３に記載のコンピューティングシステム。
【請求項１９】
前記記憶デバイスが不揮発性メモリシステムであり、前記少なくとも１つの記憶素子が不揮発性記憶素子である請求項１３に記載のコンピューティングシステム。
【請求項２０】
前記記憶デバイスが、ＰＣカード、コンパクトフラッシュカード、マルチメディアカード、セキュリティ保護デジタルカード、スマートメディアカード、およびメモリスティックカードのうちの１つである請求項１９に記載のコンピューティングシステム。
【請求項２１】
前記ホストシステムが情報を取得するように構成され、前記情報が前記複数のビットを含み、前記情報が静止画像情報、オーディオ情報、ビデオ情報、および無線で取得される情報のうちの１つの情報である請求項１３に記載のコンピューティングシステム。
【請求項２２】
前記ホストシステムが、デジタルカメラ、ビデオカメラ、セルラ通信装置およびオーディオプレイヤ並びにビデオプレイヤである請求項２１に記載のコンピューティングシステム。
【請求項２３】
前記記憶デバイスが前記ホストシステムに関して取り外し可能である請求項１３に記載のコンピューティングシステム。
【請求項２４】
メモリシステムの中に複数のビットを格納する方法であって、前記メモリシステムが、少なくとも１つの記憶素子と、第１のバッファ用エレメントと、第２のバッファ用エレメントとを含むアレイを備えるように為す方法において、
複数のビットに含まれる第１のビットを前記第１のバッファ用エレメントへ出力するステップと、
前記アレイの中へ前記第１のビットを書き込む書込み処理を開始するステップであって、前記アレイの中へ前記第１のビットを書き込む前記書込み処理が、前記第２のバッファ用エレメントへ前記第１のビットを出力するように為すステップと、
前記複数のビットに含まれる第２のビットを前記第１のバッファ用エレメントへ出力するステップであって、前記記憶素子の中へ前記第１のビットを書き込む前記書込み処理の開始後に、前記第２のビットが前記第１のバッファ用エレメントへ出力されるステップと、
前記第１のバッファ用エレメントへの前記第２のビットの出力後に、前記アレイの中へ前記第１のビットを書き込む前記書込み処理を終了するステップと、を備える方法。
【請求項２５】
請求項２４に記載の方法であって、
前記アレイの中へ前記第２のビットを書き込む書込み処理を開始するステップであって、前記アレイの中へ前記第２のビットを書き込む前記書込み処理を開始するステップが、前記第２のバッファ用エレメントへ前記第２のビットを出力するステップを含むように為すステップと、
前記アレイの中へ前記第２のビットを書き込む前記書込み処理の開始のほぼ同じ後に、前記複数のビットに含まれる第３のビットを前記第１のバッファ用エレメントへ出力するステップと、
前記第１のバッファ用エレメントへの前記第３のビットの出力後に、前記アレイの中へ前記第２のビットを書き込む前記書込み処理を終了するステップと、をさらに備える方法。
【請求項２６】
メモリシステムから複数のビットを読み出す方法であって、前記メモリシステムが、少なくとも１つの記憶素子と、第１のバッファ用エレメントと、第２のバッファ用エレメントと、を含む記憶素子アレイを備えるように為す方法において、
前記複数のビットに含まれる第１のビットを前記第１のバッファ用エレメントへ出力するステップであって、前記記憶素子アレイから前記第１のビットを出力するステップと、
前記第１のバッファ用エレメントから第２のバッファ用エレメントへ前記第１のビットを出力するステップと、
前記第２のバッファ用エレメントから前記第１のビットを取得するステップと、を備える方法。
【請求項２７】
前記メモリシステムが第３のバッファ用エレメントをさらに備える請求項２６に記載の方法であって、
前記第２のバッファ用エレメントへの前記第１のビットの出力後とほぼ同じ時点に、前記複数のビットに含まれる第２のビットを前記第１のバッファ用エレメントへ出力するステップと、
前記第１のバッファ用エレメントから前記第３のバッファ用エレメントへ前記第２のビットを出力するステップと、
前記第２のバッファ用エレメントからの前記第１のビットの取得中とほぼ同じ間、前記第３のバッファ用エレメントから前記第２のビットを取得するステップと、をさらに備える方法。
【請求項２８】
請求項２６に記載の方法であって、
前記第２のバッファ用エレメントへの前記第１のビットの出力後とほぼ同じ時点に、前記複数のビットに含まれる第２のビットを前記第１のバッファ用エレメントへ出力するステップと、
前記第２のバッファ用エレメントからの前記第１のビットの取得中とほぼ同じ間、前記第１のバッファ用エレメントから前記第２のビットを取得するステップと、をさらに備える方法。
【請求項２９】
前記メモリシステムがデータ受信装置をさらに備え、前記第１のバッファ用エレメントが前記記憶素子アレイから第２のビットを受け取り、前記第２のビットを前記データ受信装置へ出力するようにさらに構成された請求項２６に記載の方法。
【請求項３０】
メモリシステムであって、データの格納に適したメモリシステムにおいて、
第１のエレメントと、
第２のエレメントであって、第１のビットと第２のビットとを出力するように構成された第２のエレメントと、
第１のバッファ用エレメントであり、前記第２のエレメントから前記第１のビットを取得するように構成された第１のバッファ用エレメントであって、前記第１のエレメントへ前記第１のビットを出力するようにさらに構成された前記第１のバッファ用エレメントと、
第２のバッファ用エレメントであって、前記第１のバッファ用エレメントによって前記第１のビットが前記第１のエレメントへ出力されているのとほぼ同じ間、前記第２のエレメントから前記第２のビットを取得するように構成される第２のバッファ用エレメントと、を備えるメモリシステムにおいて、さらに、前記第１のバッファ用エレメントによって前記第１のビットが前記第１のエレメントへ出力された後、前記第２のバッファ用エレメントが前記第１のエレメントへ前記第２のビットを出力するように構成されたメモリシステム。
【請求項３１】
前記第１のバッファ用エレメントが第１のラッチであり、前記第２のバッファ用エレメントが第２のラッチである請求項３０に記載のメモリシステム。
【請求項３２】
前記メモリシステムが不揮発性メモリシステムである請求項３０に記載のメモリシステム。
【請求項３３】
前記不揮発性メモリシステムがメモリカードである請求項３２に記載のメモリシステム。
【請求項３４】
請求項３０に記載のメモリシステムであって、
第３のエレメントをさらに備え、前記第２のバッファ用エレメントが前記第３のエレメントへ前記第２のビットを出力するようにさらに構成されたメモリシステム。
【請求項３５】
システムにおいてビットをパイプライン化する方法であって、前記システムが、第１のエレメントと、第１のラッチ用エレメントと、第２のラッチ用エレメントと、リップルクロックとを備えるように為す方法において、
前記第１のラッチ用エレメントの中へ第１のビットをロードするステップと、
前記第１のエレメントへ前記第１のビットを出力するプロセスを開始するステップであって、前記第１のエレメントが前記第１のビットを少なくとも一時的に保持するように構成されるステップと、
前記第２のラッチ用エレメントの中へ第２のビットをロードするステップであって、前記第１のエレメントの中へ前記第１のビットを出力する前記プロセスが開始されるのとほぼ同時に、前記リップルクロックにより前記第２のラッチ用エレメントの中へ前記第２のビットをロードするステップと、を備える方法。
【請求項３６】
前記第２のラッチ用エレメントへ前記第２のビットを出力した後、前記第１のエレメントへ前記第１のビットを出力する前記プロセスを終了するステップをさらに備える請求項３５に記載の方法。
【請求項３７】
前記プロセスが書込み処理であり、前記第１のエレメントの中へ前記第１のビットを書き込むように前記書込み処理が構成された請求項３６に記載の方法。
【請求項３８】
請求項３７に記載の方法であって、前記システムが第２のエレメントを備える方法において、
前記第２のエレメントから前記第１のビットを読み出すステップであって、前記第２のエレメントから前記第１のビットを読み出すステップが、前記第１のラッチ用エレメントの中へ前記第１のビットをロードするステップと、
前記第２のエレメントから前記第２のビットを読み出すステップであって、前記第２のエレメントから前記第２のビットを読み出すステップが、前記第２のラッチ用エレメントの中へ前記第２のビットをロードし、それによって、前記リップルクロックによって、前記プロセスが前記第１のエレメントの出力を開始するのとほぼ同時に、前記第２のエレメントから前記第２のビットを読み出すことが可能となるステップと、をさらに備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、一般に大容量デジタルデータ記憶システムに関する。特に、本発明は、多状態格納システムと関連するオーバヘッドを減らすシステムおよび方法に関するものである。
【背景技術】
【０００２】
関連技術の説明
このような記憶システムのコンパクトな物理的サイズと、再プログラムの反復が可能な不揮発性メモリの能力とに起因して、フラッシュメモリ記憶システムなどの不揮発性メモリシステムの利用が増加している。フラッシュメモリ記憶システムのコンパクトな物理的サイズは、ますます優勢になりつつあるデバイス内でのこのような記憶システムの利用を容易にしている。フラッシュメモリ記憶システムを用いるデバイスには、デジタルカメラ、デジタルカムコーダー、デジタル音楽プレイヤ、ハンドヘルドパーソナルコンピュータ並びに地球的規模の測位用デバイスが含まれる（但しこれらに限定されるわけではない）。フラッシュメモリ記憶システムに含まれる不揮発性メモリを反復して再プログラムする能力によって、フラッシュメモリ記憶システムの利用並びに再利用が可能となる。
【０００３】
メモリシステムの中へストリームされるデータは、一般に、メモリセルの中へ、あるいはより一般的に言えば、記憶素子の中へ１ビット毎のベースで書き込まれ、記憶素子の中から１ビット毎のベースで読み出される。当業者であれば解るように、書込み処理は一般に低速であり、実行に比較的長い時間がかかる。同様に、読出し処理も、時間のかかる処理となる場合がしばしば生じる。
【０００４】
当業者であれば解るように、セル内への書込みまたはセルからの読出しの対象となるビットは一般にバッファされる。メモリ内での書込み、読出し、あるいは、同時処理が可能なビット数よりも実質的に少ないメモリまでの幅を、あるいは、メモリからの幅をデータバスが持っている場合、ビットは一般にバッファされる。ビットのバッファ処理は帯域と消費電力の問題を多少とも解決するものでもある。
【０００５】
バッファの対象となる個々のビット用として一般にマスタスレーブレジスタビットが必要となる。典型的には、個々のマスタスレーブレジスタビットは、実施構成用としておよそ２４個のトランジスタを必要とする。１つの従来方式のマスタスレーブレジスタまたはマスタースレーブフリップフロップが図１２に図示されている。リセット機能を備えたマスタスレーブレジスタ１２００はビットのバッファ処理時に使用するのに適している。例えば、同時処理が可能なおおよそ４０００個のセルすなわち記憶素子を備えたメモリシステムなどのような不揮発性メモリシステムの場合、一般に個々のセルに１または２ビットを格納することができる。したがって、１６，０００ビットがそれぞれバッファされる場合、１６，０００のマスタスレーブレジスタビットを必要とすることになり、次いで、総数で比較的大きな個数のトランジスタを一般に必要とする。マスタスレーブレジスタビットをサポートする比較的大きな個数のトランジスタを実装することは、所望のものよりも多くの物理的スペースをメモリシステム内に占有することになり、したがって、さらにコストを要することが考えられる。
【０００６】
メモリデバイスにビットをバッファするのに必要なトランジスタの個数を減らすために、マスタースレーブラッチまたはマスタスレーブレジスタビットの代わりにバッファとして使用する単一のデータラッチの実装が可能である。処理対象の個々のメモリセルは、メモリセルに格納するデータと、メモリセルから読み出すデータの双方のデータに適した１または２以上の関連するラッチを備えることができる。マスタースレーブラッチの代わりに単一データラッチを利用することにより、バッファ処理機能と関連するトランジスタの個数をほぼ５０％低減することが可能となる場合もある。しかし、マスタースレーブラッチが、アクセス対象の個々のマスタースレーブラッチを選択する比較的単純な計時方式を用いているのに対して、データラッチの利用は個々のデータラッチにアクセスするさらに複雑なアドレス指定方式を一般に必要とする。このようなアドレス指定方式は、場合によっては、マスタースレーブラッチまたはマスタースレーブビットをサポートするのに必要以上のトランジスタを必要とする場合がある。
【０００７】
比較的多数のトランジスタを利用できるアドレス指定方式が効率のよいものではない場合があるため、時としてリップルクロックを実装して、データラッチへの逐次的アクセスを可能にすることがある。すなわち、メモリデバイス内の別のメモリセルと関連するデータラッチと関連して、個々のメモリセルと関連する単一データラッチに逐次アクセスを行うようにすることができる。リップルクロックがアクセスするデータラッチの１例が図１３ａに示されている。システム１３００は、ラッチ１３１０と、マスタスレーブレジスタまたはマスタースレーブフリップフロップ１３１４を備える。ラッチ１３１０は個々にメモリセルと関連づけられたデータラッチであり、ラッチ起動（ＬＥ）信号によってスイッチが入る。詳細には、ラッチ１３１０ａはＬＥＡ信号によりスイッチが入り、ラッチ１３１０ｂはフリップフロップ１３１４からの出力信号であるＬＥＢ信号によりスイッチが入り、ラッチ１３１０ｃは、フリップフリップ（flip-flip）１３１４ｂの出力信号であるＬＥＣ信号によりスイッチが入る。フリップフロップ１３１４は一般に共通クロック（ＣＫ）信号によって制御される。
【０００８】
一般に、ただ１つのＬＥ信号だけが任意の所定時刻にオンにセットされ、さらに、このオンにセットされたＬＥ信号は効果的にフリップフロップ１３１４により伝播される。オンにセットされたＬＥ信号セットは効果的にリップルクロックを形成する。図１３ｂのタイミング図１３５０に図示のように、ＬＥＡ信号１３６０ａ、ＬＥＢ信号１３６０ｂおよびＬＥＣ信号１３６０ｃは任意の時点でただ１つのＬＥ信号１３６０を高い値でオンにセットして、図１３ａのラッチ１３１０をトリガーするようにする信号である。
【０００９】
図１３ａのシステム１３００のようなシステムに実装されるリップルクロックは、逐次アクセスの対象となる個々のセットのラッチ用の単複のイネーブル信号を生成するためにマスタースレーブラッチまたはフリップフロップを必要とする。したがって、リップルクロックおよび個々のメモリセル用の単一のデータラッチの利用はメモリデバイス全体で必要なトランジスタの個数を減少させないことになる場合がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、必要とされているものは、トランジスタなどの比較的多数の部品を必要とすることなく、メモリセルの中へ効率的にビットを書き込み、メモリセルから効率的にビットを読み出すようにすることを可能にするシステム並びに方法である。すなわち、所望されているものは、多状態メモリセル内への書込みビットおよび多状態メモリセルからの読出しビットと関連するオーバヘッドを減らし、その一方で、書込みと読出しとを効率的に行うことを可能にするシステム並びに方法である。
【課題を解決するための手段】
【００１１】
発明の概要
本発明は、効率的にメモリセルへデータを書き込み、効率的にメモリセルからデータを読み出すシステムおよび方法に関する。本発明の１つの態様によれば、メモリシステムは、第１の記憶素子、データソース、第１のエレメント、第２のエレメントおよびリップルクロックを含む。データソースは第１の記憶素子に格納される複数のビットを出力し、さらに、データソースから第１のビットを受信し、さらに、第１のビットの計時も行って、第２のエレメントの中へ入れる。次いで、上記第１のエレメントは、第１のビットが第１のエレメントの中へ格納されているのとほぼ同じ間、複数のビットからなる第２のビットをデータソースから受け取る。上記リップルクロックにより、第１のエレメントと第２のエレメントへのアクセスが可能となり、それによって第１のビットと第２のビットのパイプライン化が可能となる。
【００１２】
１つの実施形態では、リップルクロックは、複数の記憶素子に含まれる第１の記憶素子と、少なくとも第２の記憶素子とに対するほぼ同時のアクセスも可能にするものである。別の実施形態では、第１のバッファ用エレメントは第１のラッチであり、第２のバッファ用エレメントは第２のラッチである。
【００１３】
多状態メモリセルの中へデータビットをパイプライン化するか、多状態メモリセルの中からデータビットをパイプライン化するかのいずれかを行うための、ラッチのような複数のバッファ用エレメントの利用により、書込み処理と、読出し処理とをさらに効率的に別々に行うことが可能となる。したがって、多状態の格納を行うオーバヘッドのコストの低減が可能となる。第１のラッチからメモリセルの中へビットを書き込みながら、１グループのメモリセルと関連する第２のラッチの中へビットをロードすることにより、第２のラッチの中へのビットのロードと関連する時間を効果的にマスクすることができる。したがって、書込み処理全体をさらに効率的に行うことが可能となる。
【００１４】
本発明の別の態様によれば、コンピューティングシステムは、第１のビットと第２のビットとを出力するホスト、および、上記ホストと通信状態にある記憶デバイスとを備える。上記記憶デバイスは、第１のビットの計時を行って第２のバッファ用エレメントの中へ入れる第１の記憶素子を備える。第２のバッファ用エレメントにより第１のビットが第１のエレメントの中へ格納されているのとほぼ同じ間、第１のバッファ用エレメントはホストから第２のビットを受信する。最後に、記憶デバイスは、第１のバッファ用エレメントと第２のバッファ用エレメントへのアクセスを可能にするリップルクロックを備える。
【００１５】
本発明のさらに別の態様によれば、記憶素子と、第１のバッファ用エレメントと、第２のバッファ用エレメントとを備えたメモリシステムに複数のビットを格納する方法は、複数のビットを受信するステップと、上記複数のビットに含まれる第１のビットを上記第１のバッファ用エレメントへ出力するステップとを含む。次いで、上記記憶素子の中へ上記第１のビットを書き込む書込み処理が開始され、次いで、上記記憶素子の中へ上記第１のビットを書き込む書込み処理を開始した後、上記複数のビットに含まれる第２のビットが第２のバッファ用エレメントへ出力される。第２のビットが第２のバッファ用エレメントへ出力された後、記憶素子の中へ上記第１のビットを書き込む書込み処理は終了する。
【００１６】
以下の詳細な説明を読み、本図面の種々の図を検討するとき本発明の上記利点およびその他の利点は明らかになる。
【発明を実施するための最良の形態】
【００１７】
実施形態の詳細な説明
ビットの読出しと、ビットの書込みに必要なトランジスタの個数を減らすなどの、多状態記憶素子からのビットの読出しと、多状態記憶素子内へのビットの書込みとに関連するオーバヘッドの軽減によって、メモリセルを備えた記憶システム全体のパフォーマンスの改善が可能となる。読出し処理と書込み処理（特に書込み処理）は一般に時間のかかる処理であるため、読出し処理と書込み処理とに関連する時間の短縮により、多状態処理と関連するオーバヘッドコストを大幅に減らすことができる。
【００１８】
多状態記憶素子と関連する読出し処理と書込み処理の際に複数のラッチ用いてビットのパイプライン化を可能にすることにより、読出し処理と書込み処理のスピードアップが可能となる。リップルクロックの組み込みにより、複数のラッチを用いるパイプライン化を可能にすることにより、記憶素子を備えた記憶システム全体と関連するトランジスタの個数の減少を可能にしながら、読出し処理と書込み処理の効率を上げることが可能となる。
【００１９】
データは、一般に、記憶システムと通信状態にあるホストによって、不揮発性メモリデバイスなどの記憶システムの中へ格納される。最初に図１ａを参照しながら、コンパクトフラッシュ（登録商標）メモリカードなどの不揮発性メモリデバイス１２０を備えた一般的ホストシステムについて説明する。ホストすなわちコンピュータシステム１００は一般にシステムバス１０４を備え、このシステムバス１０４により、マイクロプロセッサ１０８ランダムアクセスメモリ（ＲＡＭ）１１２および入出力回路１１６は通信が可能となる。ホストシステム１００は、例示を目的として図示されていないが、表示装置とネットワーク用デバイスなどの別の構成要素を備えるものであってもよいと理解すべきである。
【００２０】
一般に、ホストシステム１００は、静止画像情報、オーディオ情報およびビデオ画像情報（但しこれらの情報に限定されるものではない）を含む情報を取得する能力を持つものであってもよい。このような情報はリアルタイムでの取得が可能であり、無線でホストシステム１００へ送信することができる。ホストシステム１００は、ほぼ任意のシステムであってもよいが、一般に、デジタルカメラ、ビデオカメラ、セルラ通信装置、オーディオプレイヤ、またはビデオプレイヤなどのシステムである。しかし、ホストシステム１００は、一般に、データまたは情報を格納するほぼ任意のシステムであってもよいと理解すべきである。
【００２１】
不揮発性メモリデバイス１２０は、１つの実施形態では、は取り外し可能な不揮発性メモリデバイスであるが、バス１０４とインタフェースするように配設されて情報を記憶するものである。オプションの入出力回路ブロック１３２は、不揮発性メモリデバイス１２０がバス１０４と間接的にインタフェースすることを可能にするものであってもよい。存在する場合、入出力回路ブロック１３２は、当業者が理解するように、バス１０４に対するロードを減らすように機能する。不揮発性メモリデバイス１２０は、不揮発性メモリ１２４とメモリ制御システム１２８とを備える。１つの実施形態では、不揮発性メモリデバイス１２０は単一のチップまたはダイ上に実装することが可能である。上記とは別に、不揮発性メモリデバイス１２０は、マルチチップモジュール上に、または、不揮発性メモリデバイス１２０として一緒に用いることができる複数の個別の部品上に実装することが可能である。
【００２２】
不揮発性メモリ１２４は、データを格納して、必要に応じてデータにアクセスし、読出しができるように配設される。不揮発性メモリ１２４に格納されたデータは、適当な形で消去することもできる。但し、不揮発性メモリ１２４内のデータのなかには、消去できないものもある。データの格納処理、データの読出し処理、およびデータの消去処理は、一般に、メモリ制御システム１２８によって制御される。１つの実施形態では、メモリ制御システム１２８は、不揮発性メモリ１２４の処理を管理して、不揮発性メモリ１２４の耐用期間をほぼ最大化し、不揮発性メモリ１２４の断面部がほぼ等しく摩耗を受けるようにする。
【００２３】
メモリ制御システム１２８すなわちコントローラを備えたものとして不揮発性メモリデバイス１２０について一般的に説明した。不揮発性メモリデバイス１２０は、不揮発性メモリ１２４とメモリ制御システム１２８（コントローラ）機能用の別々のチップを備えたものであってもよい場合が多い。例を挙げると、ＰＣカード、コンパクトフラッシュ（登録商標）カード、マルチメディアカード、およびセキュリティ保護用デジタルカード（但しこれらに限定されるものではない）を含む不揮発性メモリデバイスは、別々のチップ上に実装できるコントローラを備えているが、別の不揮発性メモリデバイスは、別々のチップ上に実装されるコントローラを備えていないものであってもよい。不揮発性メモリデバイス１２０は、別々のメモリとコントローラチップとを備えていないある実施形態では、当業者であれば解るように、メモリとコントローラ機能は単一のチップの中へ組み込まれたものであってもよい。一般に、別のタイプの不揮発性メモリデバイスとして、メモリスティックカードとスマートメディアカードとが含まれる。
【００２４】
図１ｂを参照しながら、本発明の一実施形態に準拠する不揮発性メモリデバイス１２０についてさらに詳細に説明する。上述のように、不揮発性メモリデバイス１２０は、不揮発性メモリ１２４とメモリ制御システム１２８とを備える。メモリ１２４と制御システム１２８すなわちコントローラは不揮発性メモリデバイス１２０の主要な構成要素である。メモリ１２４は、半導体基板上に形成されるメモリセルのアレイであってもよく、その場合、メモリセルの個々の記憶素子上の２または３以上のレベルの電荷のうちの１つを格納することにより１または２以上のビットデータが個々のメモリセルに格納される。不揮発性フラッシュ電気的に消去可能でプログラム可能なリードオンリメモリ（ＥＥＰＲＯＭ）は、このようなシステム用の普通タイプのメモリの１例である。
【００２５】
制御システム１２８は、データを格納するメモリシステムを利用しているホストコンピュータまたは別のシステムと通信を行う。一般に、バス１５は図１ａのバス１０４の一部である。制御システム１２８はメモリ１２４の処理も制御するが、ホストが出力したデータを書き込み、ホストが要求したデータを読み出すメモリセルアレイ１１を備え、メモリ１２４を処理する際に種々のハウスキーピング機能を実行することができる。制御システム１２８は、一般に、ソフトウェアメモリと種々の論理回路とを関連づけている汎用マイクロプロセッサを備える。専用ルーチンのパフォーマンスを制御するための１または２以上の状態マシンが含まれている場合も多い。
【００２６】
メモリセルアレイ１１は一般に、アドレスデコーダ１７を介して制御システム１２８によりアドレス指定される。デコーダ１７はアレイ１１のゲートとビットラインとに正しい電圧を印加して、制御システム１２８によりアドレス指定された１グループのメモリセルに対するデータのプログラム、制御システム１２８によりアドレス指定された１グループのメモリセルからのデータの読出し、制御システム１２８によりアドレス指定された１グループのメモリセルの消去が図られる。追加回路１９には、アドレス指定されたグループのセル内へプログラムされたデータに依存する、アレイのエレメントに印加された電圧を制御するプログラミング用ドライバが含まれる。回路１９には、センスアンプと、アドレス指定されたグループメモリセルからのデータの読出しに必要な別の回路も含まれている。アレイ１１の中へプログラムする対象データ、あるいは、アレイ１１から最近読み出されたデータは、一般に、制御システム１２８内のバッファメモリ２１に格納される。制御システム１２８には、通常、コマンドと状態データ等を一時的に記憶するための種々のレジスタも含まれる。
【００２７】
アレイ１１は分画されて、多数のブロック０〜Ｎのメモリセルになる。フラッシュＥＥＰＲＯＭシステムに共通であるが、ブロックが消去の単位である。すなわち、個々のブロックには一括消去される最低数のメモリセルが含まれる。個々のブロックは、図３に示すように、一般に分画されて複数のページにされる。１ページがプログラミングの単位である。すなわち、基本プログラミング処理によってセルの１ページの最小単位の中へデータが書き込まれる。１または２以上のデータセクタが一般に個々のページの範囲内に格納される。図１ｂに図示のように、１セクタにはユーザデータとオーバヘッドデータとが含まれる。オーバヘッドデータには、一般に、セクタのユーザデータから計算された誤り訂正符号（ＥＣＣ）が含まれる。データがプログラムされてアレイ１１の中へ入れられると、制御システム１２８の一部２３によってＥＣＣが算出され、データがアレイ１１から読み出される際に、ＥＣＣのチェックも行われる。上記とは別に、ＥＣＣは、関係するユーザデータとは異なるページまたは異なるブロックに格納される。
【００２８】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスク駆動装置内のセクタサイズに対応する。オーバヘッドデータは一般に追加の２８バイトである。個々のページには１セクタのデータがほとんど共通して含まれているが、２または３以上のセクタが代わりに１ページを形成する場合もある。例えば、８ページから５１２、１０２４またはそれ以上のページまでのどこからでも多数のページによって１ブロックが形成される。ブロック数が選択されて、メモリシステム用の所望のデータ記憶装置容量が与えられる。アレイ１１は、一般に、２、３のサブアレイ（図示せず）に分画され、これらサブアレイの各々には、種々のメモリ動作の実行時に並行性のレベルを上げるために、互いに独立に作動する一定割合のブロックが含まれる。複数のサブアレイの利用の１例については、米国特許第５，８９０，１９２号に記載がある。上記特許は、その全体が本願明細書で参照により援用される。
【００２９】
次に図２を参照しながら、効果的に同時作動するラッチを介してデータビットを受け取る不揮発性メモリ格納エレメントについて本発明の一実施形態に従って説明することにする。任意の数のラッチの使用が可能であるとはいえ、説明の容易さを図るために、２ビットのシステムなどでの２個のラッチの利用に関する図２について説明する。不揮発性メモリ格納エレメント２０４、不揮発性メモリシステムの一部などであってもよいが、図１ａの不揮発性メモリシステム１２０が、ビットデータを格納するデータ記憶装置の基本ユニットである。記憶素子２０４などの記憶素子は、メモリシステム内の基本格納ユニットであると理解すべきである。１つの実施形態では、記憶素子２０４は、セルまたはメモリセルであってもよい。但し、記憶素子２０４はほぼ任意のタイプの格納ユニットであってもよい。
【００３０】
データビットストリーム２０６を記憶素子２０４内への格納対象ストリームとするとき、データビットストリーム２０６は、記憶素子２０４への書込みの前に、ラッチ２０８、２１２に効果的に一時的に保持されるか、あるいは、ラッチ２０８、２１２の中へロードされる。例えば、ストリーム２０６内の第１のビットをラッチ２０８の中へロードし、次いで、平行シフト処理によりラッチ２１２の中へこの第１のビットを転送してもよい。ラッチ２１２から記憶素子２０４の中へ実質的に第１のビットを書き込みながら、ストリーム２０６内の次のビットをラッチ２０８内へロードすることができる。したがって、ラッチ２０８、２１２の利用によって、ストリーム２０６内のビットのパイプライン化が可能となり、これによって、記憶素子２０４内へのビットの書込みと関連する書き込み性能の改善が可能となる。図５を参照しながら以下説明するように、リップルクロックの利用によって、ラッチ２０８、２１２がストリーム２０６と関連するビットのパイプライン化を行うことが可能となる。
【００３１】
ラッチ２０８などの１個のラッチの代わりに、ラッチ２０８、２１２の利用によって、記憶素子２０４内の格納用データを効率的にロードすることが可能となる。記憶デバイス全体で必要なトランジスタ個数の低減に加えて、ラッチ２０８、２１２のパイプライン化によって、記憶素子２０４内へのデータの書込みと関連する書込み時間の実質的短縮が可能となる。例えば、ラッチ２１２から記憶素子２０４内へビットを書き込む書込み処理はほぼ１００マイクロセカンド（μ秒）で行うことができる。ラッチ２０８から記憶素子２０４内へのビットの書込みに一般に必要とされるこの１００μ秒中に、ラッチ２０８内へ別のビットをロードすることができる。当業者であれば解るように、ラッチ２０８内への初期ビットのロードを除いて、ラッチ２０８、２１２内へのビットのロード時間は効果的に“隠される”ことになる。というのは、ラッチ２０８、２１２内へのビットのロードは書込み処理とほぼ同時に行われるからである。
【００３２】
典型的には、ラッチ２１２のみが記憶素子２０４内へのデータの書込みを行う。記憶素子２０４の中へデータを書き込むようにラッチ２０８、２１２の双方を構成することも可能ではあるが、ただ１個のラッチ（ラッチ２１２）を記憶素子２０４に書き込めるようにすることにより、ラッチ２０８、２１２と関連する回路を実質的に単純化することが可能となる。さらに、記憶素子２０４へのビットの書込みと関連する固有の電圧要件は、ラッチ２０８、２１２双方に対してではなく、ラッチ２１２だけに適用することができる。
【００３３】
記憶デバイス上のスペースを節減するために、ラッチ２０８、２１２を用いて、記憶素子２０４からの読出し対象データを一時的に保持するようにしてもよい。すなわち、ラッチ２０８、２１２が、書込み対象データと読出し対象データとを実質的にバッファするようにしてもよい。図３に図示のように、記憶素子２０４からデータを読み出すとき、ラッチ２０８、２１２内へデータをラッチし、次いで、ラッチ２０８、２１２からデータを読み出すとき、出力データストリーム３０６を形成することができる。典型的には、記憶素子２０４から読み出した第１のビットをラッチ２１２内へロードし、次いで、計時を行って、ラッチ２０８の中へこの第1のビットを入れることができる。ラッチ２０８の中へ第１のビットを転送した後、記憶素子２０４から次のビットを読み出し、ラッチ２１２内へロードし、それによって第１のビットと関連して次のビットの効果的なパイプライン化が行われるようになる。次いで、リップルクロックによりラッチ２０８、２１２からビットを読み出すことができる。この結果、読出し処理と関連するパフォーマンスの改善が可能となる。
【００３４】
図示のように、オプションの第３のラッチ３１０を使用し、それによって、ラッチ２１２内へ第１のビットをロードして、シフトし、ラッチ２０８中へこの第1のビットを入れた後、第２のビットをラッチ２１２の中へロードして、シフトし、ラッチ３１０の中へ第2のビットを入れるようにすることができる。ラッチ２０８、３１０がロードされるとすぐに、リップルクロックは、第１のビットと第２のビットにラッチ２０８、３１０からの読出しを行わせるようにすることができる。すなわち、ラッチ２０８、３１０がいっぱいになるとすぐに、ラッチ２０８、３１０からビットを読み出すようにすることができる。ラッチ２０８、３１０が空になると、ビットは記憶素子２０４から再度読み出され、シフトされてラッチ２０８、３１０の中へ入れられる。一般に、記憶素子２０４が２ビットのシステムである場合、データを読み出す前に、２個のラッチを用いてデータの格納を行うことが望ましい。例えば、ラッチ２１２がゲートとして効果的に機能している間、ビットを読み出す前に、ラッチ２０８、３１０の双方を用いてビットの格納を行うようにすることができる。上記とは別に、ラッチ３１０を取り除いて、ラッチ２０８、２１２がビットを読み出す前にビットの格納に利用する２個のラッチとなるようにしてもよい。
【００３５】
図２のラッチ２０８、２１２などの１組のラッチを図２の記憶素子２０４のような単一の記憶素子と関連づけることが可能ではあるが、１組のラッチは、一般に複数の記憶素子と関連づけられると理解すべきである。言い換えれば、個々のセットのラッチは一般に記憶素子のアレイと関連づけられる。記憶素子のアレイは任意の数の記憶素子を含むものであってもよいと理解すべきである。図１６に図示のように、不揮発性メモリシステムの一部であってもよい多状態記憶素子のアレイ１６０４は、データビットストリーム１６０６を格納するように配設することができる。データビットストリーム１６０６は、記憶素子１６０４のアレイへ書き込まれる前に、ラッチ１６０８、１６１２の中に効果的に一時的に保持されるか、あるいはラッチ１６０８、１６１２内へロードされる。ストリーム１６０６内の第１のビットをラッチ１６０８内へロードし、次いで、平行シフト処理によりラッチ１６１２の中へ転送してもよい。第１のビットがラッチ１６１２から記憶素子１６０４のアレイ内の記憶素子の中へ実質的に書き込まれている間、ストリーム１６０６内の次のビットをラッチ１６０８内へロードしてもよい。
【００３６】
アドレス指定回路１６１４を利用して、記憶素子１６０４のアレイ内のどの記憶素子の中へ、ラッチ１６１２にロードされた１ビットを格納すべきかを確定する。詳細には、特に、多重化／逆多重化機能を備えることができるアドレス指定回路１６１４を効果的に用いて、記憶素子１６０４のアレイの記憶素子を選択し、ラッチ１６１２と接続するようにする。
【００３７】
必要要件が、書込み処理と、読出し処理との双方をサポートする単一のセットのラッチが、当該要件を満たすことができるほど十分ではないようなものである場合には、“書込み”ラッチと１組の“読出し”ラッチとを記憶素子またはメモリセルに割り当てるようにしてもよい。図４は、本発明の一実施形態に準拠する２つの書込み用ラッチと２つの読出し用ラッチとを備えた記憶素子のアレイの図示である。ストリーム４２０をアレイ４０４内の記憶素子の中へ書き込むとき、ストリーム４２０に含まれるビットデータをラッチ４１０内へロードして、ラッチ４１４の中へ転送してもよい。上述のように、図２と関連して、ラッチ４１４の中へ１ビットを転送することが可能であり、それによって、ラッチ４１４から記憶素子４０４の中へ当該ビットが書き込まれている間に、ストリーム４２０からの別のビットをほぼ同時にラッチ４１０内へロードすることができる。ラッチ４１４からのビットがアレイ４０４内の記憶素子の中へ書き込まれるとすぐに、ほぼ同時刻にストリーム４２０からの別のビットをラッチ４１０内へロードしながら、ラッチ４１０内へロードされたビットを転送またはシフトしてラッチ４１４の中へ入れ、アレイ４０４に含まれる別の記憶素子の中へこのビットを書き込むようにすることができる。したがって、ラッチ４１０、４１４によって、ストリーム４２０内のビットをパイプライン化して、アレイ４０４内の複数の記憶素子の中へこれらのビットを効率的に書き込むことが可能となる。
【００３８】
アレイ４０４からの読出し対象データをラッチ４１６内へロードし、シフトしてラッチ４１８の中へ入れることができる。すなわち、アレイ４０４の記憶素子に格納された第１のビットをラッチ４１６内へロードし、計時して、ラッチ４１８の中へ入れるようにすることができる。次いで、異なる記憶素子からの第２のビットをラッチ４１６内へロードすることができる。記載の実施形態では、ラッチ４１６、４１８をロードするとすぐに、出力データストリーム４２２の一部としてビットをストリームアウトすることができる。或いは、上記のように、ラッチ４１６は、ラッチ４１８と、別のラッチ（図示せず）とを送出するゲートとして機能してもよい。その結果、ラッチ４１８とその別のラッチの中からのみ実質的にデータがストリームアウトされることになる。
【００３９】
上述のように、リップルクロックを用いて、図２のラッチ２０８、２１２などのラッチによるデータのパイプライン化を可能にすることができる。本発明の一実施形態に準拠するリップルクロックと関連するタイムラインの図示である図５に示すように、時刻ｔ１５０２ａに、リップルクロックによってラッチ５０６へのアクセスがほぼ同時に可能となる。したがって、データ／アクセス制御信号５１８により、個々のビットが個々のラッチ５０６へアクセスできるようになったとき、ラッチ５０６によるデータのパイプライン化が可能となる。典型的には、リップルクロックはマスタースレーブラッチを用いて、ラッチ５０６を含む１組のような１組のラッチに同時にアクセスできるようにする。このようなマスタースレーブラッチが複数のトランジスタを用いることができる間（というのは、個々のリップルクロック段に対して実質的にただ１つのマスタースレーブラッチを必要とし、個々のリップルクロックにより多くのラッチへのアクセスが可能となるからであるが）、データのパイプライン化を行うためのリップルクロックの利用によって、多状態記憶素子への書込みおよび多状態記憶素子からの読出しと関連するオーバヘッドが低減される。
【００４０】
時刻ｔ２５０２ｂに、リップルクロックによりほぼ同時にラッチ５１０へのアクセスが可能となる。時刻ｔ３５０２ｃに、ほぼ同時にデータ／アクセス制御信号５１８を用いて、リップルクロックによりラッチ５１４へのアクセスが可能となる。すべてのグループのラッチ、すなわちラッチ５０２、ラッチ５０６およびラッチ５１０のスイッチが、リップルクロックによりオンになるとすぐに、リップルクロックは再びサイクルバックして、グループのラッチへの並列アクセスを行うことが可能となることを理解されたい。すなわち、例えば、時刻ｔ４（図示せず）に、ほぼ同時にリップルクロックラッチ５１０へアクセスできるようにすることが可能となる。
【００４１】
リップルクロックによりラッチ５０２などの、ある段階または１グループのラッチへの同時アクセスが可能となる。例えば、ラッチ５０２に同時アクセスを行うとき、受信機によりラッチ５０２からデータを読み出すことができる。あるいは、データデータソースによりラッチ５０２の中へデータを入れることができる。言い換えれば、リップルクロックによって、１グループのラッチの範囲内で同時読出しが可能となり、さらに、そのグループのラッチからデータをほぼ同時に取り出すことも可能となる。異なる時刻ｔ５０２において、異なるグループのラッチのスイッチが同時にオンになる。
【００４２】
リップルクロックの利用によって、一般に、複数ラッチを利用して格納されるデータのランダムなアクセスが防止される。しかし、リップルクロックを利用して、パイプライン化の実現を可能にする際に生じる、データの書込みとデータの検索に必要なトランジスタ個数の減少などのオーバヘッドの減少によって、一般に、データの書込みと読出しとを行うためのリップルクロックと複数のラッチとの利用が望ましいものとなる。特に、複数のラッチを用いて格納されるデータへのランダムなアクセスが実際上必要でない場合、データの格納に必要なトランジスタ個数の減少と関連する節減は特に望ましいものとなる。
【００４３】
図６ａは、本発明の一実施形態に準拠する書込み処理中の記憶素子アレイとラッチの図示である。ラッチ６０４は、記憶素子アレイ６０８と関連づけられ、アレイ６０８内へビットを格納するように配設される。記載の実施形態では、ビットＮがラッチ６０４ａ内へまずロードされた後、例えば、リップルクロックがラッチ６０４ａのスイッチをオンにすると、平行シフトが行われて、ラッチ６０４ａからラッチ６０４ｂ内へビットＮの移動が行うことが可能となり、その後、ビットＮ＋１をラッチ６０４ａ内へロードすることができる。次いで、ラッチ６０４ｂから、アレイ６０８内の記憶素子の中へビットＮの書込みを行うことができる。
【００４４】
図６ｂは、本発明の一実施形態に準拠する書込み処理中に記憶素子アレイへのアクセスを行う単一のアレイと複数ラッチの図示である。リップルクロックはラッチ６１６ａ、６１６ｂのスイッチをオンにして、ラッチ６１６ａ、６１６ｂをほぼ同時にロードすることができる。例えば、ラッチ６１６ａとラッチ６１６ｂとの中へそれぞれビットＰ＋１とビットＭ＋１とをほぼ同時にロードすることができる。１つの実施形態では、ラッチ６１６ａ、６１６ｂの中へロードされたビットを平行シフトによってラッチ６１６ｄ、６１６ｃへ出力することができる。次いで、アレイ６２０内の記憶素子の中へビットＭとビットＰなどのビットをほぼ同時に格納することができる。上記とは別に、アレイ６２０内の記憶素子の中へビットＭとビットＰとを順次格納することができる。ビットＭとビットＰとを記憶素子の中へ格納する１つの好適な方法が米国特許第６，２２２，７６２Ｂ１号に記載されている。この特許はその全体が本願明細書で参照により援用されている。一般に、ビットＭとビットＰとはアレイ６２０と関連する第１の記憶素子の中へ格納されるが、これに対して、ビットＭ＋１とビットＰ＋１とはラッチ６１６ａとラッチ６１６ｂとにそれぞれロードされる。
【００４５】
ラッチ６１６ｂからラッチ６１６ｃ内への平行シフトによるビットのロードとほぼ同時に、ラッチ６１６ａからラッチ６１６ｄ内へのビットのロードも可能ではあるが、順次ビットをロードすることができると理解すべきである。例えば、電気雑音の減少を所望の場合、ラッチ６１６ｂからのビットをラッチ６１６ｃの中へロードする前か後かのいずれかに、ラッチ６１６ａからラッチ６１６ｄ内へのビットのロードを行うようにしてもよい。
【００４６】
図７を参照しながら、２つのデータラッチを用いたメモリセルを備える２進状態または多状態記憶素子アレイへデータを書き込む１つの方法と関連するステップについて本発明の一実施形態に従って説明する。以下は、２個のラッチを用いるメモリセルへのデータの書込みという観点から、データの書込みと関連するステップについて説明するものではあるが、これらのステップは、８個のラッチなどの任意の数のラッチを用いてほぼ任意の記憶素子データの書込みの実行が可能であることを理解されたい。多状態メモリセルアレイあるいはさらに一般的に言えば、不揮発性メモリ記憶素子アレイへのデータ書き込みプロセス７０２は、ステップ７０６から開始され、アレイ内のメモリセルへの書込み対象データビットＮはアレイと関連する第１のラッチの中へロードされる。言い換えれば、データストリームからの第１のビットは第１のラッチの中へロードされる。データビットＮは、ホストシステムなどのほぼ任意のソースから第１のラッチにより受信されたものであってもよい。データビットＮが第１のラッチの中へロードされるとすぐに、ステップ７０８でデータビットＮは、平行シフト処理などの処理によってシフトされ、第２のラッチ内へ入れられる。次いで、ステップ７１０で、第２のラッチからメモリセルアレイの中へデータビットＮを書き込む書込み処理が開始される。
【００４７】
メモリセルアレイの中へデータビットＮを書き込む書込み処理が開始されるのとほぼ同じ時刻に、データストリーム内の次のデータビットがメモリセルアレイと関連づけられた第１のラッチの中へ格納される。すなわち、ステップ７１４で、データビットＮ＋１が第１のラッチの中へロードされる。したがって、データビットＮとデータビットＮ＋１とは効果的にパイプライン化されることになる。第１のラッチの中へデータビットＮ＋１をロードした後、ステップ７１０で開始された書込み処理はステップ７１４で終了する。すなわち、メモリセルアレイの中へデータビットＮを書き込む書込み処理はステップ７１８で終了する。
【００４８】
ステップ７１８での書込み処理の終了時に、ステップ７２０でデータビットＮ＋１が第１のラッチから第２のラッチの中へシフトまたはロードされる。次いで、書込み処理がステップ７２２で開始され、第２のラッチに格納されたデータビットＮ＋１がメモリセルアレイの中へ書き込まれる。メモリセルアレイの中へデータビットＮ＋１を書き込む書込み処理が開始されると、データストリーム内の後続するデータビットを第１のラッチ７２６内へロードすることができる。記載の実施形態では、データビットＮ＋２はステップ７２６で第１のラッチの中へロードされる。データビットＮ＋２が第１のラッチの中へロードされるとすぐに、メモリセルアレイの中へデータビットＮ＋１を書き込む書込み処理がステップ７３０で終了する。次いで、ステップ７３４で、Ｎの値は効果的にリセットされ、例えばデータビットＮ＋２が初期化されて、新しいデータビットＮとなり、処理フローはステップ７０８へ戻る。ここで、新しいデータビットＮなどのデータビットＮは第１のラッチからシフトされて第２のラッチの中へ入れられる。
【００４９】
図８は、本発明の一実施形態に準拠する、２進状態または多状態メモリセルアレイに格納されたデータを読み出し、ラッチの中へ入れる処理と関連するステップを示す工程系統図である。記載の実施形態では、３個のラッチを利用して、一般に複数のメモリセルを備えた多状態メモリセルアレイからデータが読み出される。プロセス８０２はステップ８０６からを開始され、ここで、第１のデータビットＮがメモリセルアレイ、あるいは、さらに一般的に言えば、記憶素子のアレイから取得され、メモリセルアレイと関連づけられた第１のラッチの中へロードされる。１つの実施形態では、図２と図３に示されているように、第１のデータラッチを用いて、メモリセルアレイの中へ格納する対象データをロードすることができるのみならず、メモリセルアレイから取得したデータもロードすることができる。上記とは別に、図４に図示のように、メモリセルアレイからデータをロードするのに用いる第１のデータラッチは、実質的にメモリセルアレイからのみデータをロードするのに利用することができる。
【００５０】
１つの実施形態では、ゲートとして効果的に機能する第１のラッチの中へデータビットＮがロードされるとすぐに、データビットＮはステップ８０８で第１のラッチから第２のラッチ内へ転送される。データビットＮが第２のラッチの中へ転送されているのとほぼ同時刻に、ステップ８１４で、データビットＮ＋１はメモリセルアレイから第１のラッチの中へロードされる。第１のラッチの中へデータビットＮ＋１をロードした後、データビットＮ＋１はステップ８１６で第３のラッチ内へ転送される。
【００５１】
ステップ８２０で、リップルクロックは作動を許される。リップルクロックは、一般に、第２のラッチと第３のラッチの中からビットのストリーミングを可能にするように機能する。したがって、データは、ステップ８２４で、第２のラッチと第３のラッチから読み出される。データを実質的にパイプライン化してもよい。ステップ８２４で、ビットが第２のラッチと第３のラッチとから読み出されるとすぐに、処理フローはステップ８０６へ戻り、そこで、新しいデータビットＮがメモリセルアレイから第１のラッチの中へロードされる。
【００５２】
１つの実施形態では、４ビットとして４ビットデータを記憶素子の中へ書き込むことができるが、より高い精度で７ビットとして読み出すことができる。格納済み４ビットの７ビットとしての読出し、次いで、この７ビットを元の４ビットへ変換する処理については、“誤り訂正符号の有効性の向上および格納済みデータの品質に関する情報の利用によるマルチレベルメモリシステムの作動”という名称の、同時継続中の米国特許出願番号第１０／１５２，１３７号（本願と共に同時出願）に記載がある。この出願特許はその全体が本願明細書で参照により援用されている。このような実施形態における記憶素子内へのビットの格納と、記憶素子からのビットの検索とを容易にするために、記憶素子と関連して４つの専用書込み用ラッチと７つの専用読出し用ラッチとの実装が可能である。図９は、本発明の一実施形態に準拠する複数の読出し用ラッチと複数の書込み用ラッチとを備えた記憶素子の図示である。記憶素子９０４は、記憶素子９０４と通信状態にあるホストシステム（図示せず）などのデータソース（図示せず）により出力されるビットをロードするように配設された４つの書込み用ラッチ９１４を有する。
【００５３】
記憶素子９０４の中へ書き込まれる前に、ビットは書込み用ラッチ９１４内へロードすることができる。前述したように、ラッチ９１４を用いて記憶素子９０４の中へ書き込まれた４ビットを７ビットとして記憶素子９０４から読み出すことができる。したがって、図示のような実施形態では、７つの読出し用ラッチ９１６を利用して記憶素子９０４から７ビットが読み出されることになる。
【００５４】
４ビットデータを格納して、７ビットデータとして読み出す場合、さらに一般的に言えば、複数の格納済みビットをより高いビット数として記憶素子から読み出す場合、記憶素子の中へ書き込まれたデータを一時的に記憶するものとして機能するラッチは、記憶素子からデータが読み出されているとき、データを一時的に記憶するラッチとしても機能することができる。すなわち、専用読出し用ラッチと書込み用ラッチとを備える代わりに、図９と関連して上記したように、より高いビット数として読み出すビット数を格納する記憶素子は読出し用ラッチと書込み用ラッチとを共有することができる。図１０を参照しながら、本発明の一実施形態に準拠する、書込み対象ビットと読出し対象ビットとを一時的に記憶するように機能するラッチについて説明する。記憶素子１００４は、７ビットとして読み出される４ビットを格納するように配設される。但し、格納されるビット数と、読み出されるビット数とが一般に大きく変わる場合があることを理解されたい。
【００５５】
一般に、７ビットの読出しに対する要望を調整するために、記憶素子１００４は７個のラッチ１０１５ａ〜ｇと関連づけられる。ラッチ１０１５ａ〜ｇは、記憶素子１００４から読み出されるビット用の一時バッファとして機能することができる。典型的には、任意の４個のラッチ１０１５ａ〜ｇは、記憶素子１００４の中へ書き込む対象ビット用の一時バッファとして機能することができる。
【００５６】
当業者には解るように、書込み処理は一般に読出し処理よりも時間のかかる処理となる。したがって、記憶素子１００４の中へ書き込まれるパイプライン用ビットは、記憶素子１００４から読み出す対象とするビットのパイプライン化を行わなくても、記憶素子１００４の中へ情報を格納する処理と関連する効率全体を上げることができる。書込み処理の最中に書込み用ラッチとしてラッチ１０１５ａ〜ｄなどの４個のラッチを用いることにより、記憶素子の中へビットをパイプライン化することができる。また、ラッチ１０１５ｅ〜ｇなどの３個のラッチを用いてパイプライン化を行うことができる。すなわち、記憶素子１００４の中へラッチ１０１５ａ〜ｄからビットの書込みを行いながら、ラッチ１０１５ｅ〜ｇはそれぞれロード可能なラッチとして機能することができる。図示のような実施形態では、８個のラッチ１０１５ｈを記憶素子１００４と関連づけることができる。ラッチ１０１５ｅ〜ｇに加えてラッチ１０１５ｈは、ラッチ１０１５ａ〜ｄ用の４個のパイプライン用ラッチとして機能することが可能であり、逆もまた同様である。４個のラッチ１０１５ａ〜ｄと関連する、パイプライン用ラッチとしてのラッチ１０１５ｅ〜ｈなどの４個のラッチを利用することによってラッチ１０１５ａ〜ｄの各々は、関連するパイプライン用ラッチを持つことが可能となり、それによってほぼ同じ時刻に記憶素子１００４の中への４ビットの書込みが可能となる。同様に、ラッチ１０１５ａ〜ｄもラッチ１０１５ｅ〜ｈ用のパイプライン用ラッチとして機能することが可能となる。記憶素子内へのビットの書込み用としてのパイプライン化を可能とする８個のラッチの利用について図１４を参照しながら以下説明する。
【００５７】
ラッチ１０１５ｈは、記憶素子１００４と関連づけられる処理の実質的書き込み専用ラッチとすることができる。すなわち、書込み処理中にはラッチ１０１５ｂを利用することができるが、７ビットを読み出すように構成されている読出し処理がラッチ１０１５ａ〜ｇを使用しているため、読出し処理中には、ラッチ１０１５ｂは本質的に未使用状態のままとなる。上記とは別に、８ビットとして４つの格納済みビットを読み出すように読出し処理を変更することができる。その場合、ラッチ１０１５ａ〜ｈのすべてを書込み処理と読出し処理の双方の処理に利用することができる。
【００５８】
一般に、ラッチ１０１５ｈは記憶素子１００４と共に使用する専用ラッチとすることができる。しかし、１つの実施形態では、専ら書込み処理と実質的に関連してラッチ１０１５ｈを使用できるようにするために、ラッチ１０１５ｈを“共用”ラッチとすることができる。例えば、記憶素子１００４内への情報の格納を容易にするために利用することに加えて、ラッチ１０１５ｈを用いて、バッファ内への情報のダウンロードを容易にするために利用することが可能である。すなわち、ラッチ１０１５ｈを、検知構成の一部として利用することも可能である。
【００５９】
図１１は、本発明の一実施形態に準拠するラッチを備えた検知構成の図示である。検知構成１１００は、メモリセルアレイ（図示せず）に格納された情報をバッファ１１０５またはデータラッチへ提供するように一般に構成される。メモリセルから検索したデータは、センスアンプ構成１１１７内の単複のセンスアンプにより処理することができる。典型的には、ビットはメモリセルアレイから逐次読み出されるが、最上位ビットが第１に読み出される。
【００６０】
記載の実施形態では、ラッチ１１１５は、バッファ１１０５内へ出力のダウンロードに先行して、センスアンプ構成１１１７の出力をラッチするように構成される。ラッチ１１１５の利用は、一般に、マルチパス読出しの個々の段の最中にデータをラッチすることにより、ノイズ感度を下げる機能を果たすものである。ラッチ１１１５は、記憶素子またはメモリセルに関与する読出し処理と関連づけられる場合もある一方で、ラッチ１１１５は書込み処理中に或る目的を供することができる。例えば、ラッチ１１１５は、書込み処理中、図１０のラッチ１０１５ｈとして機能することができる。すなわち、読出し処理全体の間にセンスアンプ構成１１１７により出力されるデータのラッチに加えて、センスアンプ１１１７へデータを出力するメモリセルに関与する書込み処理中に、パイプライン用ラッチとしてラッチ１１１５を利用することができる。
【００６１】
図１４は、本発明の一実施形態に準拠して効果的に同時作動する８個１組のラッチを介してデータビットを受け取る不揮発性メモリ記憶素子アレイの図示である。不揮発性メモリ記憶素子アレイ１４０４は多状態記憶素子を備えることができる。但し、記憶素子アレイ１４０４は、２進記憶素子などのほぼ任意のタイプの記憶素子を備えるものであってもよい。データビットストリーム１４０６が記憶素子アレイ１４０４内への格納対象データビットであるとき、記憶素子アレイ１４０４への書込みを行う前にラッチ１４０８、１４１２内へデータビットストリーム１４０６をロードすることができる。例えば、ストリーム１４０６内の第１のビットをラッチ１４０８ａ内へロードされ、次いで、この第１のビットを平行シフト処理によりラッチ１４１２ａの中へ転送することができるが、これに対して、ストリーム１４０６内の第２のビットは、ラッチ１４０８ｂ内へロードされ、次いで、平行シフト処理によりラッチ１４１２ｂの中へこの第２のビットを転送することができる。ラッチ１４１２ａ、１４１２ｂなどのラッチから記憶素子アレイ１４０４の中へ第１のビットを実質的に書き込みながら、ストリーム１４０６内の次のビットをラッチ１４０８ａ、１４０８ｂの中へロードすることが可能である。一般に、ストリーム１４０６からのビットをラッチ１４０８内へほぼ同時にロードし、次いで、平行シフト処理を用いてこのビットをラッチ１４１２の中へ転送することができる。次いで、ラッチ１４１２内のビットが記憶素子１４０４内へ効果的に格納されると、ストリーム１４０６内の次のビットがラッチ１４０８の中へロードされ、平行シフト処理を用いてラッチ１４１２の中へこのビットを転送することができる。
【００６２】
記載の実施形態では、実質的にラッチ１４１２のみが記憶素子アレイ１４０４の中へデータを書き込んでいる。ラッチ１４０８、１４１２は記憶素子アレイ１４０４の中へデータを書き込むように配設されているが、１組のラッチ（ラッチ１４１２）のみに記憶素子アレイ１４０４の書込みを許すようにすることにより、ラッチ１４０８、１４１２と関連する回路の実質的単純化が可能となる。
【００６３】
一般に、記憶素子アレイ内へのデータを書込みに用いるラッチの個数は記憶素子アレイからのデータ読出しに用いるラッチの個数以下にすることができる。例えば、図１４の記憶素子アレイ１４０４のような不揮発性記憶素子アレイが、記憶素子１４０４アレイ内へビットを格納する８個の関連するラッチを備えている場合、記憶素子アレイ１４０４は、記憶素子アレイ１４０４からビットを読み出す８または９個のラッチを一般に備えることができる。図１５は、本発明の一実施形態に準拠する読出し処理中に９個１組のラッチを介してデータビットを出力する不揮発性メモリ記憶素子アレイの図示である。データがビットストリーム１５０６内の記憶素子アレイ１５０４から読み出されると、ストリーム１５０６内に含まれる第１のビットはラッチ１５０８内へロードされ、次いで、この第１のビットをシフトしてラッチ１５１２ａの中へ入れることができる。ストリーム１５０６からの後続する第２のビットは、第１のビットを計時してラッチ１５１２ａの中へ入れた後、ラッチ１５０８内へロードすることができる。次いで、第３のビットが計時されて、ラッチ１５１２ａの中へ入れられる前に、上記のような第２のビットをシフトして、ラッチ１５１２ｂの中へ入れることができる。ほぼすべてのラッチ１５１２をロードするか、ストリーム１５０６がほぼ空になるまで、一般に、ビットをラッチ１５０８内へロードし、これらのビットをシフトしてラッチ１５１２の中へ入れるステップが続けられる。
【００６４】
ラッチ１５１２がロードされるとすぐに、ラッチ１５１２にロードされたビットをリップルクロックによってラッチ１５１２から読み出すことができる。その結果、読出し処理と関連づけられたパフォーマンスの改善が可能となる。というのは、８ビットの同時読出しができるからである。記載の実施形態では、ラッチ１５０８は、ラッチ１５１２内へのビットのロードを可能にするゲートとして効果的に機能する。しかし、１つの実施形態では、ラッチ１５０８は、ゲートとして、および、パイプライン用ラッチとしての双方として機能することが可能であり、例えば、リップルクロックが、ラッチ１５０８の中から実質的にビットの直接計時を行うことができると理解すべきである。ラッチ１５０８がパイプライン化機能を備えるとき、ラッチ１５０８とラッチ１５１２ａ〜ｇはシステムにおける図１４のラッチ１４０８、１４１２に対応するものとすることができるため、ラッチ１５１２ｈなどのラッチ１５１２を実質的に取り除くことができる。この場合個々のラッチは読出し用ラッチと書込み用ラッチの双方となる。本発明の２、３の実施形態のみについて説明したが、本発明の精神または範囲から逸脱することなく、他の多くの具体的な形で本発明を具現化できることを理解されたい。例えば、メモリデバイス内の記憶素子アレイの中へロードしたり、あるいは、メモリデバイス内の記憶素子アレイから検索したりするデータをバッファするメモリデバイス内の構成要素をラッチとして一般的に説明した。しかし、ラッチの代わりに、データをバッファするほぼ任意の好適な構成部品の実装が可能であると理解すべきである。
【００６５】
図４を参照して上述したように、２組のラッチを用いて、記憶素子アレイの中へ書き込むべきデータのラッチと、記憶素子アレイの中から読み出すべきデータのラッチとを行うことが可能となる。すなわち、２個のラッチを構成して、専用の書込み用ラッチとして利用することが可能であり、さらに、２個のラッチを構成して、専用の読出し用ラッチとして利用することが可能である。記憶素子アレイが２個の関連する書込み用ラッチと、２個の関連する読出し用ラッチとを備えたシステム全体の中で、帯域要件が、専用の２つの読出し用ラッチを実際上必要としないようになっている場合、記憶素子アレイ内へ書き込むデータのバッファ用として４個のラッチすべての使用が可能となる。上記２つの読出し用ラッチは、データが記憶素子アレイ内へ書き込まれていないとき、記憶素子アレイから読み出すデータのバッファ用として使用することができる。同様に、このようなシステムの範囲内の帯域要件が、少なくとも一時的に２つの専用書込み用ラッチを実際上必要としないようになっている場合、読出し用ラッチとして２つの書込み用ラッチの使用が可能となる。
【００６６】
一般に、本発明の処理と関連づけられるステップを大きく変えてもよい。本発明の精神または範囲から逸脱することなく、ステップの変更、再編、追加、あるいは除去が可能である。例えば、記憶素子アレイからのデータの読出し処理と、記憶素子アレイへのデータの書込み処理とは、検索あるいはロードのそれぞれを行うべき追加ビットが存在かどうかを判定する検査を含むものであってもよい。さらに、読出し用ラッチからデータを計時するとき、ゲートラッチ内へほぼ同時に１ビットをロードしてもよい。したがって、本例は例示と考えるべきものであって、本発明は、本明細書で示した細部に限定するものと考えるべきではなく、添付の請求項の範囲内で変更を行うことが可能である。
【図面の簡単な説明】
【００６７】
添付図面と関連して行う以下の説明を考慮するとき、本発明を最もよく理解することができる。
【図１ａ】図１ａは、本発明の一実施形態に準拠する不揮発性メモリデバイスを備える一般的ホストシステムの図示である。
【図１ｂ】図１ｂは、本発明の一実施形態に準拠する不揮発性メモリデバイス、すなわち図１ａの不揮発性メモリデバイス１２０の図示である。
【図２】図２は、本発明の一実施形態に準拠して同時に効果的に作動するラッチを介して記憶素子の中へ書き込むデータビットを受け取る不揮発性メモリ格納エレメントの図示である。
【図３】図３は、不揮発性メモリ格納エレメント（図２の不揮発性記憶素子２０４）の図示であり、このエレメントにより、本発明の一実施形態に準拠して同時に効果的に作動するラッチを介して不揮発性記憶素子からデータビットの検索が可能となる。
【図４】図４は、本発明の一実施形態に準拠する２つの書込み用ラッチと２つの読出し用ラッチとを備えた記憶素子のアレイの図示である。
【図５】図５は、本発明の一実施形態に準拠するリップルクロックの利用を通じて様々な時点でアクセスされるラッチを備えたタイムラインの図示である。
【図６ａ】図６ａは、本発明の１つの実施形態に準拠する入力ビットを伴う記憶素子とラッチからなるアレイの図示である。
【図６ｂ】図６ｂは、本発明の１つの実施形態に準拠する入力ビットを伴う記憶素子とラッチのアレイの図示である。
【図７】図７は、本発明の一実施形態に準拠する２つのデータラッチを用いて多状態記憶素子のアレイに対してデータを書き込む１つの方法と関連するステップを示す工程系統図である。
【図８】図８は、本発明の一実施形態に準拠する２つのデータラッチを用いて多状態記憶素子のアレイからデータを読み出す１つの方法と関連するステップを示す工程系統図である。
【図９】図９は、本発明の一実施形態に準拠する複数の読出し用ラッチと複数の書込み用ラッチとを備えた記憶素子のアレイの図示である。
【図１０】図１０は、本発明の一実施形態に準拠する、書き込み済みビットと、読出し済みビットとを一時的に記憶するように機能するラッチと関連する記憶素子アレイの図示である。
【図１１】図１１は、本発明の一実施形態に準拠するラッチを備えた検知構成の図示である。
【図１２】図１２はマスタスレーブレジスタの図示である。
【図１３ａ】図１３ａは、リップルクロックによりアクセスされる１組のデータラッチの図示である。
【図１３ｂ】図１３ｂは、ラッチイネーブル信号間における関係を示すタイミング図である。
【図１４】図１４は、本発明の一実施形態に準拠して同時に作動する１組の８個のラッチを介してデータビットを受け取る不揮発性メモリ記憶素子アレイの図示である。
【図１５】図１５は、本発明の一実施形態に準拠して読出し処理中に１組の９個のラッチを介してデータビットを出力する不揮発性メモリ記憶素子アレイの図示である。
【図１６】図１６は、本発明の一実施形態に準拠して効果的に作動するラッチを介して記憶素子の中へ書き込まれたデータビットを受け取る不揮発性記憶装置エレメントのアレイの図示である。
【図１ａ】
2005527055.tif 000003
【図１ｂ】
2005527055.tif 000004
【図２】
2005527055.tif 000005
【図３】
2005527055.tif 000006
【図４】
2005527055.tif 000007
【図５】
2005527055.tif 000008
【図６ａ】
2005527055.tif 000009
【図６ｂ】
2005527055.tif 000010
【図７】
2005527055.tif 000011
【図８】
2005527055.tif 000012
【図９】
2005527055.tif 000013
【図１０】
2005527055.tif 000014
【図１１】
2005527055.tif 000015
【図１２】
2005527055.tif 000016
【図１３ａ】
2005527055.tif 000017
2005527055.tif 000018
【図１４】
2005527055.tif 000019
【図１５】
2005527055.tif 000020
【図１６】
2005527055.tif 000021
【国際調査報告】
2005527055.tif 000022
2005527055.tif 000023