以下の「発明を実施するための形態」では、本明細書の一部をなす添付図面を参照し、図面には、本発明の実施形態が実施され得る具体的な実施形態が例として示されている。これらの実施形態は、当業者が本発明を実施できるように充分詳細に記載されている。当然のことながら他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的変更、もしくは機械的変更がなされてもよい。従って以下の「発明を実施するための形態」は、限定的な意味で解釈されるべきではない。
従来のソリッドステートメモリデバイスはバイナリ信号の形式でデータを渡す。典型的には、接地電位が1ビットのデータの第一の論理レベル(例えばデータ値‘0’)をあらわし、一方電源電位が1ビットのデータの第二の論理レベル(たとえばデータ値‘1’)をあらわす。マルチレベルセル(MLC)は、例えば各範囲が200 mVの4通りの異なる閾値電圧(Vt)範囲を割り当てられ、各範囲は固有のデータ状態に対応し、それによって4通りのデータ値もしくはビットパターンをあらわす。典型的には、0.2 Vから0.4 Vのデッドスペースもしくはマージンが各範囲間にあり、Vt分布が重複しないようになっている。セルのVtが第一の範囲内にある場合、セルは論理状態11を記憶するとみなされ、典型的にはセルの消去状態とみなされる。Vtが第二の範囲内にある場合、セルは論理状態10を記憶するとみなされる。Vtが第三の範囲内にある場合、セルは論理状態00を記憶するとみなされる。そしてVtが第四の範囲内にある場合、セルは論理状態01を記憶するとみなされる。
上記のように従来のMLCデバイスをプログラミングする際には、一般的に、セルは消去状態に対応するようにブロック単位でまず消去される。セルのブロックの消去後、必要であれば、各セルの最下位ビット(LSB)が最初にプログラムされる。例えばLSBが1であるならばプログラミングは必要ないが、LSBが0であるならば、ターゲットメモリセルのVtを、論理状態11に対応するVt範囲から論理状態10に対応するVt範囲へと動かす。LSBのプログラミング後、同様に各セルの最上位ビット(MSB)がプログラムされ、必要に応じてVtをシフトする。従来のメモリデバイスのMLCを読み出す際には、1回以上の読み出し動作が、概してセル電圧のVtがどの範囲に入るかを決定する。例えば、第一の読み出し動作は、ターゲットメモリセルのVtが、MSBが1もしくは0であることを示すかどうかを判定し、一方第二の読み出し動作は、ターゲットメモリセルのVtが、LSBが1もしくは0であることを示すかどうかを判定し得る。しかしながらいずれの場合も、各セルに何ビットが記憶されているかにかかわらず、ターゲットメモリセルの読み出し動作からは1ビットしか返されない。このような複数のプログラム動作と読み出し動作の問題は、各MLCに記憶されるビットが増えるにつれ、ますます厄介になる。そのようなプログラム動作もしくは読み出し動作の各々は二項演算であり、つまり、各動作はセルあたり1ビットの情報しかプログラムしない、あるいは返さないので、各MLCにより多くのビットを記憶することは動作時間の延長につながる。
実施形態例のメモリデバイスは、データをVtの範囲としてメモリセルに記憶する。しかしながら従来のメモリデバイスとは対照的に、プログラム動作と読み出し動作は、データ信号をMLCデータ値の離散ビットとしてではなく、MLCデータ値の全表現として利用することができ、例えばMLCデータ値の完全ビットパターンとして利用できる。例えば2ビットのMLCデバイスでは、セルのLSBをプログラムした後に続いてセルのMSBをプログラムするのではなく、これら2ビットのビットパターンをあらわすターゲット閾値電圧がプログラムされ得る。つまり、第一のビットに対して第一の閾値電圧へプログラムしたり、第二のビットに対して第二の閾値電圧へシフトしたりするのではなく、メモリセルがターゲット閾値電圧を得るまで、一連のプログラム動作と検証動作がメモリセルに適用される。同様に、セルに記憶された各ビットを判定するために複数の読み出し動作を利用する代わりに、セルの閾値電圧が判定され、セルの完全なデータ値もしくはビットパターンをあらわす単一信号として渡され得る。種々の実施形態のメモリデバイスは、従来のメモリデバイスでなされるように、メモリセルの閾値電圧が、ある公称閾値電圧よりも高いか低いかを見るだけではない。その代わりに、一連の考えられる閾値電圧にわたってそのメモリセルの実際の閾値電圧をあらわす電圧信号が生成される。この方法の利点は、セルカウントあたりのビットが増えるにつれて顕著になる。例えば、メモリセルが8ビットの情報を記憶する場合、1回の読み出し動作は8ビットの情報をあらわす1つのアナログデータ信号を返す。
図1は、本開示の一実施形態に従うメモリデバイス101の略ブロック図である。メモリデバイス101は行と列に配置されたメモリセルのアレイ104を含む。種々の実施形態は基本的にNANDメモリアレイに関して記載されるが、種々の実施形態はメモリアレイ104の特定のアーキテクチャに限定されない。本発明の実施形態に適した他のアレイアーキテクチャの実施例のいくつかは、NORアレイ、ANDアレイ、仮想グラウンドアレイを含む。しかしながら一般的に、本明細書に記載された実施形態は、各メモリセルの閾値電圧をあらわすデータ信号の生成を可能にするいかなるアレイアーキテクチャにも適用可能である。
メモリデバイス101に供給されるアドレス信号をデコードするため、行デコード回路108と列デコード回路110が備えられる。アドレス信号は、メモリアレイ104にアクセスするために受信され、デコードされる。メモリデバイス101は、メモリデバイス101へのコマンド、アドレス、データの入力、およびメモリデバイス101からのデータ、状態情報の出力を管理する入力/出力(I/O)制御回路112も含む。アドレスレジスタ114はI/O制御回路112と行デコード回路108と列デコード回路110との間に結合し、デコードの前にアドレス信号をラッチする。コマンドレジスタ124はI/O制御回路112と制御論理116との間に結合し、受信コマンドをラッチする。制御論理116はコマンドに応えてメモリアレイ104へのアクセスを制御し、外部プロセッサ130のために状態情報を生成する。制御論理116は行デコード回路108と列デコード回路110に結合し、アドレスに応えて行デコード回路108と列デコード回路110を制御する。
制御論理116はサンプル・ホールド回路118にも結合する。サンプル・ホールド回路118は、受信または送信を問わず、アナログ電圧レベルの形式でデータをラッチする。例えば、サンプル・ホールド回路は、メモリセルに書き込まれるべきデータをあらわす入力電圧信号、またはメモリセルから感知される閾値電圧をあらわす出力電圧信号のいずれかをサンプリングするためのキャパシタもしくは他のアナログ記憶デバイスを含むことができる。サンプル・ホールド回路118は、外部デバイスにより強いデータ信号を供給するために、サンプリングされた電圧の増幅および/またはバッファリングをさらに提供してもよい。
アナログ電圧信号の処理は、CMOS撮像素子技術の分野で既知の方法と類似する方法をとってもよく、CMOS撮像素子技術の分野では、入射照明に応じて撮像素子のピクセルで生成された電荷レベルがキャパシタに記憶される。その後これらの電荷レベルは、基準キャパシタを差動増幅器への第二の入力として、差動増幅器を用いて電圧信号に変換される。その後差動増幅器の出力をアナログ‐デジタル変換(ADC)デバイスへと渡し、照度をあらわすデジタル値を得る。本発明の実施形態では、それぞれメモリセルの読み出しもしくはプログラミングのために、メモリセルの実際の閾値電圧もしくはターゲット閾値電圧をあらわす電圧レベルにかけられると、電荷がキャパシタに記憶され得る。この電荷は、その後、接地された入力もしくは他の基準信号を第二の入力として、差動増幅器を用いてアナログ電圧へと変換され得る。差動増幅器の出力は、その後、読み出し動作の場合にはメモリデバイスからの出力用にI/O制御回路112へと渡され、あるいは、メモリデバイスのプログラミングにおいては1回以上の検証動作中の比較用に使用され得る。I/O制御回路112は、読み出しデータをアナログ信号からデジタルビットパターンへ変換するアナログ‐デジタル変換機能と、書き込みデータをデジタルビットパターンからアナログ信号へ変換するデジタル‐アナログ変換(DAC)機能を随意に含むことができ、メモリデバイス101がアナログデータインターフェースもしくはデジタルデータインターフェースのいずれとの通信にも適合できるようになっていることに留意されたい。
書き込み動作中、メモリアレイ104のターゲットメモリセルは、Vtレベルをあらわす電圧がサンプル・ホールド回路118に保持されているレベルに一致するまで、プログラムされる。これは、一実施例として、保持されている電圧レベルをターゲットメモリセルの閾値電圧と比較する差動検出デバイスを用いて実現できる。従来のメモリプログラミングと酷似して、プログラミングパルスをターゲットメモリセルに印加して、所望の値に達するまで、あるいは所望の値を超えるまで、閾値電圧を増加することができる。読み出し動作では、ターゲットメモリセルのVtレベルは、ADC/DAC機能がメモリデバイスの外部に備わるか、あるいは内部に備わるかによって、アナログ信号として直接、あるいはアナログ信号のデジタル表現として、外部プロセッサ(図1では不図示)への転送用にサンプル・ホールド回路へと渡される。
セルの閾値電圧は様々な方法で決定され得る。例えば、ターゲットメモリセルが活性化される時点でワード線電圧がサンプリングされ得る。あるいは、ターゲットメモリセルの第一のソース/ドレイン側にブースト電圧が印加され、閾値電圧は、その制御ゲート電圧と、別のソース/ドレイン側の電圧との差分として得られる。電圧をキャパシタに結合することにより、サンプリングされた電圧を記憶するために電荷がキャパシタと共有される。サンプリングされた電圧は閾値電圧と等しい必要はなく、単にその電圧をあらわすものであることに留意されたい。例えば、ブースト電圧をメモリセルの第一のソース/ドレイン側に印加し、その制御ゲートに既知の電圧を印加する場合、メモリセルの第二のソース/ドレイン側で生じる電圧は、メモリセルの閾値電圧をあらわすので、データ信号として得ることができる。
サンプル・ホールド回路118は、キャッシング、すなわち各データ値の多重記憶位置を含んでもよく、メモリデバイス101が、第一のデータ値を外部プロセッサに渡しながら次のデータ値を読み出すように、あるいは、第一のデータ値をメモリアレイ104に書き込みながら次のデータ値を受信するようになっていてもよい。状態レジスタ122はI/O制御回路112と制御論理116の間に結合し、外部プロセッサへの出力用に状態情報をラッチする。
メモリデバイス101は制御リンク132を介して制御論理116において制御信号を受信する。制御信号は、チップイネーブルCE#、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、ライトイネーブルWE#を含んでもよい。メモリデバイス101は、コマンド(コマンド信号の形式で)、アドレス(アドレス信号の形式で)、データ(データ信号の形式で)を、多重化入力/出力(I/O)バス134を介して外部プロセッサから受信し、I/Oバス134を介して外部プロセッサへとデータを出力し得る。
特定の実施例では、コマンドはI/Oバス134の入力/出力(I/O)ピン[7:0]を介してI/O制御回路112で受信され、コマンドレジスタ124に書き込まれる。アドレスはバス134の入力/出力(I/O)ピン[7:0]を介してI/O制御回路112で受信され、アドレスレジスタ114に書き込まれる。データは、8個のパラレル信号を受信できるデバイスの場合は入力/出力(I/O)ピン[7:0]を介して、あるいは16個のパラレル信号を受信できるデバイスの場合は入力/出力(I/O)ピン[15:0]を介して、I/O制御回路112で受信され、サンプル・ホールド回路118へと転送される。データはまた、8個のパラレル信号を送信できるデバイスの場合は入力/出力(I/O)ピン[7:0]を介して、あるいは16個のパラレル信号を送信できるデバイスの場合は入力/出力(I/O)ピン[15:0]を介して、出力され得る。追加の回路や信号が提供されてもよく、図1のメモリデバイスは本開示の実施形態に焦点をあわせるのを助けるために簡略化されていることが、当業者にはわかるだろう。さらに、図1のメモリデバイスは種々の信号の受信と出力の一般的な慣習に従って記載されているが、本明細書に明記されていない限り、記載された特定の信号やI/O構成に限定されないことに留意されたい。例えば、コマンド信号とアドレス信号は、データ信号を受信するものとは別の入力において受信されてもよく、あるいは、データ信号がI/Oバス134の単一I/Oラインを介してシリアル送信されてもよい。データ信号は個々のビットではなくビットパターンをあらわすので、8ビットデータ信号のシリアル通信は、個々のビットをあらわす8個の信号のパラレル通信と同じくらい効率的である。
図2は、図1のメモリアレイ104に見られるようなNANDメモリアレイ200の実施例の一部の概略図である。図2に示されるように、メモリアレイ200はワード線2021から202Nと、交差するビット線2041から204Mを含む。デジタル環境におけるアドレシングを簡略化するため、ワード線202の数とビット線204の数は一般的にそれぞれ2の何乗かである。
メモリアレイ200はNANDストリング2061から206Mを含む。各NANDストリングは、それぞれワード線202とビット線204の交点に位置するトランジスタ2081から208Nを含む。トランジスタ208は、図2ではフローティングゲートトランジスタとして描かれているが、データの記憶用の不揮発性メモリセルをあらわす。各NANDストリング206のフローティングゲートトランジスタ208は、例えば電界効果トランジスタ(FET)などの1つ以上のソース選択ゲート210と、例えばFETなどの1つ以上のドレイン選択ゲート212の間で、ソースからドレインへと直列に接続される。各ソース選択ゲート210はローカルビット線204とソース選択線214との交点に位置し、一方各ドレイン選択ゲート212はローカルビット線204とドレイン選択線215との交点に位置する。
各ソース選択ゲート210のソースは共通ソース線216に接続される。各ソース選択ゲート210のドレインは、対応するNANDストリング206の最初のフローティングゲートトランジスタ208のソースに接続される。例えば、ソース選択ゲート2101のドレインは対応するNANDストリング2061のフローティングゲートトランジスタ2081のソースに接続される。各ソース選択ゲート210の制御ゲートはソース選択線214に接続される。ある1つのNANDストリング206に対して複数のソース選択ゲート210が利用される場合、複数のソース選択ゲート210は、共通ソース線216と、そのNANDストリング206の最初のフローティングゲートトランジスタ208との間に直列に結合され得る。
各ドレイン選択ゲート212のドレインは、対応するNANDストリングのローカルビット線204に、ドレインコンタクトで接続される。例えば、ドレイン選択ゲート2121のドレインは、対応するNANDストリング2061のローカルビット線2041にドレインコンタクトで接続される。各ドレイン選択ゲート212のソースは、対応するNANDストリング206の最後のフローティングゲートトランジスタ208のドレインに接続される。例えば、ドレイン選択ゲート2121のソースは、対応するNANDストリング2061のフローティングゲートトランジスタ208Nのドレインに接続される。ある1つのNANDストリング206に対して複数のドレイン選択ゲート212が利用される場合、複数のドレイン選択ゲート212は、対応するビット線204と、そのNANDストリング206の最後のフローティングゲートトランジスタ208Nとの間に直列に結合され得る。
フローティングゲートトランジスタ208の典型的な構成は、図2に示すように、ソース230、ドレイン232、フローティングゲート234、制御ゲート236を含む。フローティングゲートトランジスタ208では、制御ゲート236がワード線202に結合している。フローティングゲートトランジスタ208の列は、所定のローカルビット線204に結合したNANDストリング206である。フローティングゲートトランジスタ208の行は、所定のワード線202に共通に結合したトラジスタである。他の形式のトランジスタ208も本開示の実施形態と併用されてもよく、例えばNROM、磁気トランジスタもしくは強誘電体トランジスタなど、2つ以上の閾値電圧範囲のうちの1つを推測するようプログラム可能なその他のトランジスタが併用されてもよい。
種々の実施形態のメモリデバイスは大容量記憶デバイスにおいて有利に使用され得る。種々の実施形態では、こうした大容量記憶デバイスは従来のHDDと同じフォームファクターと通信バスインターフェースをとってもよく、そのため様々な用途においてそうしたドライブと置き換えることができる。HDDの一般的なフォームファクターの一部は、現在のパーソナルコンピューターや大型デジタルメディアレコーダーでよく使用される3.5"、2.5"、PCMCIA(Personal Computer Memory Card International Association)フォームファクター、ならびに、携帯電話、携帯端末(PDA)、デジタルメディアプレーヤーなどの小型家電製品でよく使用される1.8"、1"フォームファクターを含む。一般的なバスインターフェースの一部は、universal serial bus(USB)、AT attachment interface(ATA)[integrated drive electronicsすなわちIDEとしても知られる]、シリアルATA(SATA)、small computer systems interface(SCSI)、Institute of Electrical and Electronics Engineers(IEEE)1394規格を含む。幅広い種類のフォームファクターと通信インターフェースがあげられたが、実施形態は特定のフォームファクターや通信規格に限定されない。さらに、実施形態はHDDフォームファクターや通信インターフェースに準拠する必要はない。図3は本開示の一実施形態に従うソリッドステート大容量記憶デバイス300の略ブロック図である。
大容量記憶デバイス300は、本開示の一実施形態に従うメモリデバイス301と、読み出し/書き込みチャネル305と、コントローラー310とを含む。読み出し/書き込みチャネル305は、メモリデバイス301から受信したデータ信号のアナログ‐デジタル変換と、コントローラー310から受信したデータ信号のデジタル‐アナログ変換とをもたらす。コントローラー310は、バスインターフェース315を通して大容量記憶デバイス300と外部プロセッサ(図3では不図示)との間の通信をもたらす。読み出し/書き込みチャネル305は、破線でメモリデバイス301'と描かれているように、1つ以上の追加メモリデバイスをサービスし得ることに留意されたい。通信用の1つのメモリデバイス301の選択は、マルチビットチップイネーブル信号もしくは他の多重化方式を通して処理できる。
メモリデバイス301はアナログインターフェース320とデジタルインターフェース325を通して読み出し/書き込みチャネル305へ結合される。アナログインターフェース320は、メモリデバイス301と読み出し/書き込みチャネル305の間にアナログデータ信号の通路を提供し、一方デジタルインターフェース325は、読み出し/書き込みチャネル305からメモリデバイス301への、制御信号、コマンド信号、アドレス信号の通路を提供する。デジタルインターフェース325はさらに、メモリデバイス301から読み出し/書き込みチャネル305への状態信号の通路を提供し得る。アナログインターフェース320とデジタルインターフェース325は、図1のメモリデバイス101について述べたように信号線を共有し得る。図3の実施形態はメモリデバイスへのデュアルアナログ/デジタルインターフェースを描いているが、メモリデバイス301が、制御信号、コマンド信号、状態信号、アドレス信号、データ信号を通過させるためにデジタルインターフェースのみを用いてコントローラー310と直接通信するよう、読み出し/書き込みチャネル305の機能が、図1について述べたようにメモリデバイス301の中に随意に組み込まれてもよい。
読み出し/書き込みチャネル305は、データインターフェース330や制御インターフェース335などの一つ以上のインターフェースを通してコントローラー310へ結合される。データインターフェース330は、読み出し/書き込みチャネル305とコントローラー310の間にデジタルデータ信号の通路を提供する。制御インターフェース335は、コントローラー310から読み出し/書き込みチャネル305への、制御信号、コマンド信号、アドレス信号の通路を提供する。制御インターフェース335はさらに、読み出し/書き込みチャネル305からコントローラー310への状態信号の通路を提供し得る。状態信号とコマンド/制御信号は、制御インターフェース335をデジタルインターフェース325へつないでいる破線で描かれるように、コントローラー310とメモリデバイス301の間で直接渡されてもよい。
読み出し/書き込みチャネル305とコントローラー310は、図3では2つの別個のデバイスとして描かれているが、別の方法として、その機能は単一の集積回路デバイスによって実行されてもよい。メモリデバイス301を別個のデバイスのままにしておくことは、本発明の実施形態を異なるフォームファクターや通信インターフェースに適合させる上での柔軟性をさらに高めるが、メモリデバイス301もまた集積回路デバイスであることから、大容量記憶デバイス300全体を単一の集積回路デバイスとして製造できる。
読み出し/書き込みチャネル305は、デジタルデータストリームからアナログデータストリームへの変換、そしてその逆方向の変換を少なくとももたらすように適合された信号処理部である。デジタルデータストリームは、バイナリ電圧レベルの形式でデータ信号を提供する。つまり、第一の電圧レベルは第一のバイナリデータ値(例えば0)を持つビットをあらわし、第二の電圧レベルは第二のバイナリデータ値(例えば1)を持つビットをあらわす。アナログデータストリームは2つよりも多くのレベルを持つアナログ電圧の形式でデータ信号を提供し、異なる電圧レベルもしくは範囲は2ビット以上の異なるビットパターンに対応する。例えば、メモリセルあたり2ビットを記憶するように適合されたシステムでは、アナログデータストリームの電圧レベルのうち第一の電圧レベルもしくは範囲は11のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第二の電圧レベルもしくは範囲は10のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第三の電圧レベルもしくは範囲は00のビットパターンに対応し、アナログデータストリームの電圧レベルのうち第四の電圧レベルもしくは範囲は01のビットパターンに対応し得る。従って、種々の実施形態に従う1つのアナログデータ信号は、2つ以上のデジタルデータ信号へと変換され、その逆もまた然りである。
実際には、コントローラー310を通じたメモリデバイス301のアクセスのために、制御信号とコマンド信号がバスインターフェース315で受信される。望ましいアクセスの種類(例えば書き込み、読み出し、フォーマットなど)に応じて、アドレス値とデータ値もまたバスインターフェース315で受信され得る。共有バスシステムでは、バスインターフェース315は様々な他のデバイスと共にバスに結合される。特定のデバイスへ通信を向けるために、バス上のどのデバイスが後続コマンドを実行するかを示す識別値がバス上に置かれ得る。識別値が、大容量記憶デバイス300によってとられる値と一致する場合、コントローラー310はバスインターフェース315で後続コマンドを受け入れる。識別値が一致しなかった場合、コントローラー310は後続の通信を無視する。同様に、バス上での衝突を回避するために、共有バス上の種々のデバイスは、個別にバスを制御しながら、他のデバイスにアウトバウンド(外向きの)通信を止めるように指示してもよい。バス共有と衝突回避のためのプロトコルは周知であり、本明細書では詳述しない。コントローラー310は、その後、コマンド信号、アドレス信号、データ信号を処理のために読み出し/書き込みチャネル305へと渡す。コントローラー310から読み出し/書き込みチャネル305へと渡されるコマンド信号、アドレス信号、データ信号は、バスインターフェース315で受信される信号と同じである必要はないことに留意されたい。例えば、バスインターフェース315の通信規格は、読み出し/書き込みチャネル305もしくはメモリデバイス301の通信規格と異なってもよい。この場合、コントローラー310はメモリデバイス301へアクセスする前にコマンドおよび/またはアドレス方式を翻訳し得る。加えて、コントローラー310は、メモリデバイス301の物理アドレスが所定の論理アドレスに対して経時変化し得るように、1つ以上のメモリデバイス301内の負荷平準化をもたらし得る。従って、コントローラー310は外部デバイスからの論理アドレスをターゲットメモリデバイス301の物理アドレスへとマッピングする。
書き込み要求の場合、コマンド信号とアドレス信号に加えて、コントローラー310はデジタルデータ信号を読み出し/書き込みチャネル305へと渡す。例えば、16ビットデータワードでは、コントローラー310は第一もしくは第二のバイナリ論理レベルを持つ16個の個別信号を渡す。読み出し/書き込みチャネル305は、その後、デジタルデータ信号を、デジタルデータ信号のビットパターンをあらわすアナログデータ信号へと変換する。前述の実施例を続けて、読み出し/書き込みチャネル305は、16個の個別デジタルデータ信号を、所望の16ビットデータパターンをあらわす電位レベルを持つ単一のアナログ信号へと変換するデジタル‐アナログ変換を使用する。一実施形態では、デジタルデータ信号のビットパターンをあらわすアナログデータ信号はターゲットメモリセルの所望の閾値電圧をあらわす。しかしながら、1トランジスタメモリセルのプログラミングでは、隣接メモリセルのプログラミングが、その前にプログラムされたメモリセルの閾値電圧を増加させてしまうことがしばしばある。従って別の実施形態では、読み出し/書き込みチャネル305はこの種の予想される閾値電圧の変化を考慮し、アナログデータ信号が最終的な所望の閾値電圧よりも低い閾値電圧を示すように調節する。コントローラー310からのデジタルデータ信号の変換後、読み出し/書き込みチャネル305は、個々のメモリセルのプログラミングで使用するためのアナログデータ信号とともに、書き込みコマンドとアドレス信号をメモリデバイス301へと渡す。プログラミングはセル毎に起こり得るが、一般的には動作あたり1ページのデータに対して実行される。典型的なメモリアレイアーキテクチャの場合、1ページのデータはワード線に結合したメモリセルを1つおきに含む。
読み出し要求の場合、コントローラーはコマンド信号とアドレス信号を読み出し/書き込みチャネル305へと渡す。読み出し/書き込みチャネル305は読み出しコマンドとアドレス信号をメモリデバイス301へと渡す。それに応じて、読み出し動作の実行後、メモリデバイス301は、アドレス信号と読み出しコマンドによって定義されるメモリセルの閾値電圧を示すアナログデータ信号を返す。メモリデバイス301はそのアナログデータ信号をパラレルまたはシリアルに転送し得る。
アナログデータ信号はまた、不連続な電圧パルスとしてではなく、実質的に連続的なアナログ信号のストリームとして転送され得る。この場合、読み出し/書き込みチャネル305は、PRML(partial response maximum likelihood)と呼ばれるHDDアクセスで使用されるものと同様の信号処理を採用し得る。従来のHDDのPRML処理では、HDDの読み出しヘッドが、HDDプラッタの読み出し動作中に遭遇する磁束反転をあらわすアナログ信号のストリームを出力する。読み出しヘッドが遭遇する磁束反転に応じて生成されるこのアナログ信号の真のピークとバレーをとらえようとするのではなく、信号パターンのデジタル表現を作成するために信号が周期的にサンプリングされる。このデジタル表現は、その後、アナログ信号パターンの生成に関与する磁束反転の推定パターンを決定するために分析され得る。これと同じタイプの処理を本開示の実施形態で利用できる。メモリデバイス301からのアナログ信号をサンプリングすることによって、アナログ信号の生成に関与する閾値電圧の推定パターンを決定するためにPRML処理を採用できる。
図4は、本開示の一実施形態に従う、読み出し/書き込みチャネル305によってメモリデバイス301から受信され得るデータ信号450を概念的に示す波形図である。データ信号450は周期的にサンプリングされ、サンプリングされた電圧レベルの振幅からデータ信号450のデジタル表現を作成できる。一実施形態では、データ信号450の定常状態部分の最中にサンプリングが起こるよう、サンプリングはデータの出力と同期され得る。こうした実施形態は、時間t1、t2、t3、t4において破線で示されるサンプリングによって描かれている。しかしながら、同期されたサンプリングの位置がずれると、データサンプルの値は定常値と著しく異なってしまう。別の実施形態では、データサンプルによって示される傾きの変化を観察することなどにより、どこで定常値が起こったと思われるかを決定できるよう、サンプリングレートを上げることができる。そうした実施形態は、時間t5、t6、t7、t8において破線で示されるサンプリングによって描かれ、時間t6とt7におけるデータサンプル間の傾きが定常状態条件を示し得る。そうした実施形態では、サンプリングレートと表現精度の間でトレードオフが生じる。サンプリングレートが高いほど、より高い表現精度につながるが、処理時間も増加する。サンプリングがデータ出力に同期されるか、あるいはより高頻度のサンプリングが使用されるかにかかわらず、その後デジタル表現を使用して、どの入力電圧レベルが、アナログ信号パターンの生成に関与すると思われるかを予測できる。そしてこの予測された入力電圧レベルのパターンから、読み出される個々のメモリセルの推定データ値を予測できる。
メモリデバイス301からのデータ値の読み出しの際にエラーが生じることを認識して、読み出し/書き込みチャネル305はエラー訂正を含んでもよい。エラー訂正は、予測されたエラーから回復するため、メモリデバイスだけでなくHDDでも一般的に使用される。典型的には、メモリデバイスはユーザーデータを第一のロケーションセットに格納し、エラー訂正コード(ECC)を第二のロケーションセットに格納する。読み出し動作中、ユーザーデータの読み出し要求に応じて、ユーザーデータとECCの両方が読み出される。既知のアルゴリズムを用いて、読み出し動作から返されたユーザーデータはECCと比較される。エラーがECCの範囲内であれば、エラーが訂正される。
図5は、本開示の一実施形態に従う電子システムの略ブロック図である。電子システムの例としては、パーソナルコンピューター、PDA、デジタルカメラ、デジタルメディアプレーヤー、デジタルレコーダー、電子ゲーム、電化製品、車両、ワイヤレスデバイス、携帯電話などが含まれ得る。
電子システムはホストプロセッサ500を含み、ホストプロセッサ500は、プロセッサ500の効率を高めるためにキャッシュメモリ502を含んでもよい。プロセッサ500は通信バス504に結合する。プロセッサ500の制御の下、種々の他のデバイスが通信バス504に結合してもよい。例えば電子システムは、ランダムアクセスメモリ(RAM)506、キーボード、タッチパッド、ポインティングデバイスなどといった1つ以上の入力デバイス508、オーディオコントローラー510、ビデオコントローラー512、1つ以上の大容量記憶デバイス514を含んでもよい。少なくとも1つの大容量記憶デバイス514はバス504との通信用のデジタルバスインターフェース515を含み、本開示の一実施形態に従う1つ以上のメモリデバイスは、2ビット以上のデータのデータパターンをあらわすデータ信号の転送用のアナログインターフェースを持ち、信号プロセッサは、バスインターフェース515から受信したデジタルデータ信号のデジタル‐アナログ変換と、そのメモリデバイス(群)から受信したアナログデータ信号のアナログ‐デジタル変換とを行うよう適合される。
種々の実施形態は、2ビット以上の情報のデータ値をあらわすアナログデータ信号を処理し生成するよう適合されたメモリデバイスを含む。これは、不揮発性メモリセルに閾値電圧範囲としてデータ値を記憶することによって容易になる。従来のマルチレベルセル技術のビット単位のプログラミング動作とは異なり、種々の実施形態は、所望のビットパターンのターゲット閾値電圧に直接プログラムし得る。同様に、個々のビットを読み出す代わりに、種々の実施形態は、ターゲットメモリセルの閾値電圧をあらわす、ひいてはそのセルに記憶された完全なデータ値をあらわすデータ信号を生成する。種々の実施形態は、2ビット以上のビットパターンをあらわすアナログ信号としてデータ信号を送受信してもよく、あるいは、個々のビットをあらわすデジタル信号の送受信を可能にするよう、メモリデバイスの内部で変換を行ってもよい。1つのアナログデータ信号は、2ビット、4ビット、もしくはそれ以上の情報をあらわすことができるので、各プログラム動作もしくは読み出し動作がメモリセルあたり多数のビットを同時に処理していることから、データ転送速度はメモリ密度に伴って増加し得る。
本明細書には特定の実施形態が図示され記載されているが、同じ目的を実現するように計算された任意の構成が、示された特定の実施形態と置き換えられてもよいことを、当業者は理解するだろう。本開示の多くの改作が当業者に明らかであろう。従って本出願は、本開示のいかなる改作もしくは変形をも包含することを意図する。