メモリデバイスにおけるエラー訂正動作

 

メモリデバイスにおけるエラー訂正動作が開示される。少なくとも一実施形態においては、メモリデバイスの内部コントローラは、外部メモリアクセスデバイスからの命令から独立して、メモリデバイスに格納されたユーザデータに対する内部エラー訂正動作を実施して、ユーザデータを訂正するように構成される。
【選択図】図6

 

 

本開示は、概してメモリに関し、より詳細には、一つ以上の実施形態において、本開示はメモリデバイスにおけるエラー訂正に関する。
メモリデバイスは、典型的には、コンピュータまたは他の電子システムにおける内部、半導体集積回路として提供される。ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、抵抗性ランダムアクセスメモリ(RRAM)、ダブルデータレートメモリ(DDR)、低電力ダブルデータレートメモリ(LPDDR)、相変化メモリ(PCM)およびフラッシュメモリを含む多数の様々なタイプのメモリが存在する。
不揮発性メモリは、電力の印加なしで或る程度の期間、その格納されたデータを保持することができるメモリである。フラッシュメモリデバイスは、広範囲の電子アプリケーション用の不揮発性メモリの普及したソースになるべく開発されてきた。フラッシュメモリデバイスは、パーソナルコンピュータ、携帯情報端末(PDA)、デジタルカメラ、デジタルメディアプレイヤー、デジタルレコーダ、ゲーム、家電製品、自動車、無線デバイス、携帯電話およびリムーバブルメモリモジュールなどの電子システムで通常使用され、フラッシュメモリの用途は拡大し続けている。
メモリデバイスは、読み出し、書き込みおよび消去動作などのメモリ動作を典型的に実施する。これらの動作は、フォアグラウンド(foreground)動作と称されることがある。これらの動作は、時には、ホストなどのメモリアクセスデバイスによって開始されるか、または、メモリデバイスに結合された他のメモリデバイス制御回路によって開始されるからである。さらなる動作は、時にはバックグラウンド動作と称される動作を含む。これらの動作は、メモリデバイス自体における制御回路によって開始されることがある。メモリデバイスにおけるウェアレベリングは、例えば、バックグラウンド動作として実施されることがある。
メモリデバイスからのデータを読み出すうえで生じることがあるエラーを認識すると、一つ以上のタイプのエラー訂正方法が使用されることがある。エラー訂正コード(ECC)と通常称されるエラー訂正スキームは、これらのエラーを検出して、訂正しようと試みるために実現することができる。種々のECCは、ECCの影響を受けやすい各データ信号がECCの構造の特定のルールに従うべきコードを含む。一般的に、このデータの構造からのそれほど大きくない逸脱(即ち、エラー)は、自動的に検出することができ、時には訂正することができる。ECCの例は、Hammingコード、BCHコード、Reed−Solomonコード、Reed−Mullerコード、Binary Golayコード、低密度パリティコード、Trellisコード変調を含む。幾つかのECCは、シングルビットエラーを訂正し、ダブルビットエラーを検出することができる。他のECCは、例えば、マルチビットエラーを検出および/または訂正することができる。
典型的には、メモリデバイスは、メモリ内の第一の位置にデータ(例えば、ユーザデータ)を格納し、メモリデバイス内の第二のメモリ位置に、関連するエラー訂正コード(ECC)データを格納する。読み出し動作中、格納されたユーザデータおよびECCデータは、ユーザデータの読み出し要求に応じてメモリアレイから読み出される。既知のアルゴリズムを利用して、読み出し動作から返されたユーザデータは、ECCデータと比較される。エラーが検出され、そのエラーがECCの制限内にある場合、例えば、格納されたECCデータ内に十分なECC解決が存在する場合、エラーは訂正される可能性がある。ビットエラーの検出および訂正のためのこのようなECCの利用は、本技術分野でよく知られているであろう。
上述された理由で、および以下に記述され、本明細書を読解することで当業者にとって明らかになるであろう他の理由で、メモリデバイスを有するシステムにおいて、ホストがECC動作を実施しなくても済むための技術の必要性が存在する。
NAND構成メモリセルのアレイの概略図を示す。 メモリセルの集合体における閾値電圧範囲の図を示す。 メモリセルの集合体における閾値電圧範囲の別の図を示す。 メモリアレイ構成の簡略化ブロック図である。 本開示の一実施形態による、電子システムの一部として、メモリアクセスデバイスに結合されたメモリデバイスの簡略化ブロック図である。 本開示の一実施形態によるメモリデバイスにおいてエラー訂正動作を実施する方法のフローチャートである。 本開示の一実施形態によるメモリデバイスにおいてエラー訂正動作を実施する別の方法のフローチャートである。
以下の本発明の詳細な説明においては、本明細書の一部を形成する添付の図面に対して参照がなされ、図面には、例示として特定の実施形態が示される。図面においては、類似の参照番号は、幾つかの図面を通して、実質的に類似の構成要素を記述する。他の実施形態が使用されてもよく、構造的、論理的および電気的変更が本開示の範囲を逸脱することなく加えられてもよい。したがって、以下の詳細な説明は、限定する意味で解釈されるべきではない。
フラッシュメモリは、典型的には、NORフラッシュおよびNANDフラッシュとして知られる二つの基本的アーキテクチャのうちの一つを利用する。その指定は、デバイスを読み出すために使用される論理に由来する。図1は、メモリアレイのメモリセル102が行および列のアレイに論理的に配置された、NAND型フラッシュメモリアレイアーキテクチャ100を示す。従来のNANDフラッシュアーキテクチャにおいては、“行”は、共通に結合された制御ゲート120を有するメモリセルのことを称するが、“列”は、例えば、特定のNANDストリング108として結合されたメモリセルのことを称する。メモリセルの行は、例えば、メモリのうちの一つ以上のページを含んでもよい。アレイのメモリセル102は、典型的には8,16,32またはそれ以上の各ストリング(例えば、NANDストリング)内でともに配置される。ストリングの各メモリセルは、ソース線114とデータ線(しばしばビット線と称される)116との間に直列に、ソースをドレインに接続される。アレイは、特定のアクセス線(しばしば、例えば、WL7−WL0 118−118などのワード線と称される)を選択することによって、メモリセルの論理行をアクティブ化する行デコーダ(図1には図示せず)によってアクセスされる。各ワード線は、メモリセルの行の制御ゲートに結合される。BL1−BL4 1161−4など、しばしばビット線と称されるデータ線は、アレイにおいて実施される動作のタイプに依存して、ハイまたはロウに駆動することができる。これらのビット線BL1−BL4 1161−4は、例えば、特定のビット線116上の電圧または電流を検知することによって、対象のメモリセルの状態を検出するセンスデバイス(例えば、センス増幅器)130に結合される。当業者には既知のように、ワード線およびビット線の数は、図1に示された数よりもずっと多くなることがある。
メモリセル102は、シングルレベルメモリセル(SLC)またはマルチレベルメモリセル(MLC)(本技術分野で既知のもの)として構成することができる。SLCおよびMLCメモリセルは、メモリセルに格納された閾値電圧(Vt)の特定の範囲にデータ状態(例えば、1以上のビットによって表される)を割り当てる。シングルレベルメモリセル(SLC)は、各メモリセルに、単一2進数(例えば、ビット)のデータの格納を可能とする。一方、MLC技術は、メモリセルのライフタイム動作中にセルに割り当てられたVt範囲の質および割り当てられたVt範囲の安定性に依存して、セル毎に2以上の2進数(例えば、2,4,8,16ビット)の格納を可能とする。Nビットで構成されるビットパターンを表すために使用されるVt範囲(例えば、レベル)の数は、2であって、ここで、Nは整数である。例えば、1ビットは、2つの範囲によって表され、2ビットは4つの範囲によって表され、3ビットは、8つの範囲によって表されてもよい。共通の命名規則は、SLCメモリセルをMLC(2レベル)メモリと呼ぶためのものであり、SLCメモリセルは、例えば、0または1によって表されるような1ビットのデータを格納するために、2つのVt範囲を利用する。2ビットのデータを格納するように構成されたMLCメモリは、MLC(4レベル)と表すことができ、3ビットのデータを格納するように構成されたMLCメモリは、MLC(8レベル)と表すことができる。MLCメモリセルは、例えば、2の累乗ではないVt範囲を利用して、分数ビットをさらに格納してもよい。例えば、3つのVt範囲を利用する2つのメモリセルは、可能性のある9つのデータ状態を集合的に表すことができ、メモリセル毎に3ビットのデータまたは1.5ビットのデータを表すことができる。
図2は、MLC(4レベル)(例えば、2ビット)メモリセルに対するVt範囲200の一例を示す。例えば、メモリセルは、200mVの4つの異なるVt範囲202−208のうちの1つの範囲内で降下するVtにプログラムされてもよい。各々のVt範囲は、2ビットで構成されるビットパターンに対応するデータ状態を表すために使用される。典型的には、デッドスペース210(例えば、時には、マージンと称され、200mVから400mVの範囲を有してもよい)は、範囲の重複しないように、各範囲202−208間で保持される。一例として、メモリセルに格納される電圧が、4つのVt範囲のうちの第一の範囲202内にある場合、この場合のセルは、論理状態‘11’を格納し、典型的には、セルの消去状態と考えられる。電圧が、4つのVt範囲のうちの第二の範囲204内にある場合、この場合のセルは、論理状態‘10’を格納する。4つのVt範囲のうちの第三の範囲206内の電圧は、この場合のセルが論理状態‘00’を格納していることを示す。最後に、4つのVt範囲のうちの残りのVt範囲208は、セル内に論理状態‘01’が格納されていることを示す。
メモリセルは、典型的には、消去およびプログラミング周期を利用してプログラムされる。例えば、メモリセルの特定のブロックのメモリセルが、まず消去され、その後、選択的にプログラムされる。NANDアレイに対して、あるブロックのメモリセルは、典型的には、ブロック内の全てのワード線を接地して、メモリセルのブロックが形成される半導体基板に対して、つまり、メモリセルのチャネルに対して、消去電圧を印加することによって消去され、メモリセルのブロックの電荷蓄積構造(例えば、浮遊ゲートまたは電荷トラップ)に格納されうる電荷を除去する。これによって、典型的には、メモリセルのVtを、例えば、図2のVt範囲202(例えば、消去状態)内にする。
プログラミングは、典型的には、選択されたワード線(例えば、WL4 118)に対して、つまり、選択されたワード線に結合された各メモリセル120−120の制御ゲートに対して、一つ以上のプログラミングパルスを印加することを含む。典型的なプログラミングパルスは、15Vまたは約15Vで開始して、各プログラミングパルスの印加中にその大きさを増加させる傾向がある。プログラム電圧(例えば、プログラミングパルス)が、選択されたワード線に対して印加され、接地電位などの電位が、基板に対して、つまり、これらのメモリセルのチャネルに対して印加され、その結果として、プログラミング対象のメモリセルの格納構造へ、チャネルからの電荷移動を生じる。より具体的には、格納構造は、典型的には、チャネルから格納構造への電子の直接注入またはFowler−Nordheimトンネル効果を通じて充電され、その結果として、プログラム状態において、Vtが典型的にはゼロより大きくなる(例えば、図2のVt範囲204−208中など)。さらに、禁止電圧は、典型的には、プログラミングの対象とされる(例えば選択された)メモリセルを含むNANDストリングに、結合されていないビット線に対して印加される。
一つ以上のプログラミング(例えば、Vpgm)パルスの印加中、照合動作は、典型的には、意図されたプログラム状態に到達したか否かを判定するために、選択された各メモリセルをチェックするために実施される。選択されたメモリセルが意図されたプログラム状態に到達し、意図されたプログラム状態に到達するために追加のプログラミングパルスを必要とする選択された行の他のメモリセルがまだ残っている場合、さらなるプログラミングが禁止される。照合動作に続いて、追加プログラミングパルスVpgmは、プログラミングが完了していないメモリセルが存在する場合に印加される。このような照合動作の実施後のプログラミングパルスを印加するプロセスは、典型的には、選択された全てのメモリセルがその意図されたプログラム状態に到達するまで続く。典型的には、メモリセル120の選択された行に対して実行されるプログラミング(例えば、書き込み)および/または読み出し動作中に、交互のビット線116、116が、有効化され、および/または、ビット線116、116は禁止される。これは、例えば、メモリセル120周囲に示された実線の円および破線の円によって示される。特定の数(例えば、最大数)のプログラミングパルスが印加されても、一つ以上の選択されたメモリセルがいまだプログラミングを完了していない場合、当該メモリセルは、例えば、不良品として標識されることがある。
NANDフラッシュメモリデバイスなどのメモリデバイスは、典型的には、例えば、読み出し動作などのメモリデバイスのメモリアレイに対するメモリ動作の実施に対するトリム(trim)値として知られる値を利用する。最小読み出し電圧は、例えば、VreadMinトリム値によって指定され、最大読み出し電圧は、VreadMaxトリム値として指定されてもよい。これらのトリム値は、典型的には、メモリデバイスにおいて実施される読み出し動作中に利用されるべき電圧を定義するために、メモリデバイス内のレジスタに格納される。レジスタは、例えば、メモリデバイスのリセット後のブート動作中に、トリム値でロードされてもよい。他のトリム値は、例えば、照合動作を実施するための照合トリム値などが使用されてもよい。
結果としてデータ破損を生じうるメモリデバイス内のエラーの可能性のある原因は、或る期間にわたる、メモリセルの電荷蓄積構造(例えば、浮遊ゲート)からの電荷損失である。これによって、典型的には、影響を受けるメモリセルの閾値電圧の低下を生じる。メモリセル内に格納されるデータはメモリセルの閾値電圧によって表されるため、メモリセルの閾値電圧の変化(例えば、ドリフト)によって、プログラムされたデータ値とは異なるデータ値が読み出されることがある。メモリセル内の十分な閾値電圧ドリフト(例えば、Vtの増減)は、例えば、メモリセルに格納されたデータの破損を最終的に引き起こす可能性がある。
図3は、メモリセルの集合体における閾値電圧ドリフトの図示表現を示す。上述されたように、閾値電圧ドリフトは、メモリセルの電荷蓄積構造からの電荷損失の結果として生じる可能性がある。閾値電圧ドリフトは、メモリセルのアレイに対して実施されるプログラミング動作中に生じるプログラムディスターブ効果などの、種々の他の現象の結果として生じる可能性がある。図3の閾値電圧302−308の分布は、図2を参照して上述された閾値電圧分布202−208それぞれに対応しうる。閾値電圧分布312−318は、メモリセルの閾値電圧におけるシフト(例えば、ドリフト)を示す。分布306は、レベルL2にプログラムされた一つ以上のメモリセルを表し、分布316は、レベルL2にプログラムされたメモリセルの閾値電圧324における経時的なシフトを表すことがある。シフトした各閾値電圧分布312−318は、其々のシフトしていない分布302−308が同一量のシフト320−328をしたものとして、図3に示される。しかしながら、各閾値電圧ドリフト320−328が、図3に示される方向、大きさとは異なる方向、異なる大きさとなる可能性がある。閾値電圧ドリフト324は、閾値電圧ドリフト322が示すものと異なる大きさおよび/または方向のシフトを含むことがある。さらに、閾値電圧ドリフト326は、閾値電圧ドリフト328が示すものと異なる大きさおよび/または方向のドリフトを含むことがある。特定のレベルにプログラムされたメモリセルの閾値電圧ドリフトは、常に一定の方向および/または大きさでドリフトするわけではない。
上述されたように、メモリセルにおける閾値電圧ドリフトは、メモリセルに格納されたデータを破損させる可能性がある。分布316は、閾値電圧が幾らかの量シフト324されたメモリセルを表す。メモリデバイスが、異なる分布の閾値電圧間(例えば、分布316および分布314の間)で識別することができる限り、当該メモリセルから読み出されたデータは、信頼できるものでありうる。しかしながら、第一のプログラムレベルを表す分布の閾値電圧が、第二のプログラムレベルを表す別の分布の閾値電圧と重複するように非常に遠くにドリフトする場合、これらのメモリセルに対する読み出し動作は、データを破損させる可能性がある。例えば、メモリセルは、分布306内の閾値電圧を有する所望のレベルL2にプログラムされる。時間が経過すると、分布306の閾値電圧は、分布316によって表されるように、ドリフトすることがある。分布316によって表されるメモリセルの閾値電圧が分布304内の閾値電圧レベルにドリフトする場合、メモリセルがレベルL2ではなく、レベル1にプログラムされるように読み出されうる。このように、このメモリセルを読み出す際にエラーが生じる可能性がある。
エラー訂正コード(ECC)方法は、多数のメモリセルから読み出されたデータについて、一つ以上のエラーの訂正を試みるために使用されうる。例えば、ユーザデータに対応するECCデータは、格納されるユーザデータに特定のアルゴリズムを適用することによって生成されて、このアルゴリズムに付く。その対応するECCデータを伴うユーザデータは、メモリデバイスのメモリアレイに格納される。図4は、例えば、フラッシュメモリセルのアレイなどの、メモリデバイスのメモリアレイ400を示す図である。ユーザデータは、ユーザデータ402を格納するように指定されたメモリ位置に格納され、ECCデータは、ECCデータ404を格納するように指定されたメモリ位置に格納される。図4は、ユーザデータ格納領域およびECCデータ格納領域を含む各行406を示す。例えば、行406に格納されたECCデータは、行406に格納されたユーザデータに対応してもよい。しかしながら、メモリアレイ内のユーザデータ格納位置402およびECCデータ格納位置404の配置は、図4に示された配置と異なってもよい。
不揮発性メモリデバイス(例えば、NANDメモリ)は、典型的には、メモリデバイスから読み出されたユーザデータに実施されるエラー訂正動作を容易にするために、外部コントローラまたはプロセッサなどの外部メモリアクセスデバイスに依拠する。例えば、対応するECCデータとともにユーザデータは、メモリデバイスから読み出され、プロセッサによって受信される。エラーが検出される場合、プロセッサは、プロセッサによって使用される訂正されたユーザデータの作成を試みるために、訂正動作の実施を試みる。プロセッサはエラーを訂正したが、エラー源は訂正されていない。換言すると、プロセッサは、メモリデバイスから読み出されたユーザデータに訂正を行い、その後、他の動作に移るが、エラー源はいまだ存在しうる。例えば、メモリデバイスのメモリセルに格納されたユーザデータは、破損されることがある。この破損の原因は、或る点で生じ続けるが、破損されたユーザデータは、ある期間が過ぎると、ECC動作を利用して訂正することができない。さらには、メモリデバイスから読み出されたユーザデータについて、検出されたあらゆるエラーの訂正を試みるうえで、エラーが生じたかどうかを判定するためにECC動作を実施しなければならないプロセッサによって、システム性能が影響を受ける。
メモリデバイスに接続されたプロセッサ(図4には図示せず)は、メモリ位置の読み出し動作を実施するために、メモリデバイスにコマンドを送信してもよい。読み出し動作が実施されるとき、要求されたユーザデータは、対応するECCデータとともにメモリアレイから読み出されて、外部コントローラに送信される。ECCデータは、メモリアレイから読み出された対応するユーザデータに対するエラーチェックの実施を容易にするために使用される。エラーが検出されない場合、ユーザデータは正確であると考えられる。エラーが検出される場合、外部コントローラによって検出されたユーザデータに対して、検出されたエラーの訂正を試みるために、種々のECC動作が外部コントローラによって使用されてもよい。上述されたように、これによって、外部コントローラに、エラーチェックおよびエラー訂正の負荷がかかる。
図5は、本開示の種々の実施形態による、メモリデバイス500の機能的ブロック図を示す。メモリデバイス500は、上述された外部コントローラなどの外部メモリアクセスデバイス510に接続される。外部コントローラ510は、プロセッサまたは幾つかの他のタイプの制御回路であってもよい。プロセッサ510は、例えば、上述されたように、メモリデバイスから読み出されたユーザデータおよびECCデータを受信すると、ECC動作を実施するように構成されてもよい。
メモリデバイス500は、一つ以上の通信チャネル506(例えば、通信バス)を介してプロセッサ510に結合される。通信バスは、コマンド、アドレスおよび/またはデータを表す信号を伝送するために、其々、コマンド、アドレスおよび/またはデータ信号線を含んでもよい。通信バスは、例えば、ユニバーサルシリアルバス(USB)インターフェイスなどの多数の標準インターフェイスを含んでもよい。通信バス506は、当業者に既知の様々なハードディスクドライブ(例えば、SATA、PATA)で使用される標準インターフェイスであってもよい。メモリデバイス500、プロセッサ510および通信バス506は、ともに電子システム520の一部を形成する。
メモリデバイス500は、一つ以上のメモリセルのアレイ530を含む。メモリアレイ530は、フラッシュメモリおよび/または相変化メモリ(PCM)などのメモリを含んでもよい。例えば、メモリアレイ530は、図1に示し、上述したNAND構成フラッシュメモリセルのアレイを含んでもよい。一つ以上のメモリアレイ530は、2Dおよび/または3Dメモリアレイを含んでもよい。メモリアレイ530は、メモリデバイス500の一部として、単一チップまたは複数チップ上に存在するメモリセルの複数のバンクおよびブロックを含んでもよい。メモリアレイ530は、SLCおよび/またはMLCメモリを含んでもよい。メモリアレイ530は、例えば、各メモリセルにおいて、色々な密度(例えば、MLC(4レベル)およびMLC(8レベル))のデータを格納するように適応できることもある。
アドレスバッファ回路540は、I/O回路560を通して提供されるアドレス信号をラッチするために提供される。アドレス信号は、メモリアレイ530にアクセスするために、行デコーダ544および列デコーダ546によって受信されて、デコードされる。
メモリデバイス500は、データバッファ/センス回路550を利用して、メモリアレイ列における電圧変化または電流変化を検知することによって、メモリアレイ530内のメモリセルを読み出す。センス回路550は、一実施形態においては、メモリアレイ530から、ある列(例えば、ページ)のデータを読み出してラッチするために結合される。データは、プロセッサ510との複数のデータ接続562を介したアドレス通信のためだけでなく、双方向データ通信のために、I/O回路560を通して入力および出力される。書き込み回路556は、メモリアレイにデータを書き込むために提供される。
制御回路570は、外部プロセッサ510から制御インターフェイス572のデータ接続に提供される信号をデコードする。これらの信号は、データ読み出し、データ書き込み(プログラム)および消去動作を含む、メモリアレイ530に対する動作を制御するために使用される。データ接続572およびデータ接続562は、上述されたように、通信バス506を形成するために組み合わせられてもよいし、または、部分的に組み合わせられてもよい。制御回路570は、ステートマシン、シーケンサまたはメモリ制御信号の生成を制御するように構成された他のタイプの何らかの制御回路であってもよい。制御回路570は、本開示の種々の実施形態の実現を容易にするために少なくとも部分的に構成される。種々の実施形態により、制御回路570は、ECCエンジン580によってメモリデバイスに対して内部で実施されるECC動作をサポートするように構成される。例えば、ECCエンジン580は、582によって示されるように、制御回路によってアクティブ化または非アクティブ化されてもよい。制御回路570は、さらに本開示の一つ以上の実施形態により、内部ECC動作などの種々の動作が実施される間に、外部プロセッサ510によるメモリアレイ内の特定の位置に対するアクセスを、ブロックするように構成されてもよい。制御回路570およびECCエンジン580は、追加回路または追加ファームウェアなしでもありでも、内部コントローラの一部と考えられてもよい。
制御回路570は、メモリデバイス500の一つ以上の素子(図5には図示せず)に結合されてもよい。例えば、制御回路570は、行デコーダ544に結合され、メモリアレイ530の特定のワード線を行デコーダドライバ回路にバイアスさせるように構成されてもよい。制御回路570は、アレイ530の特定のビット線をデータバッファおよびセンス回路550にバイアスさせるように結合されて構成されてもよい(図5には図示せず)。制御回路570は、一つ以上のレジスタ回路をさらに含んでもよい。
メモリデバイス500のECCエンジン580は、本開示の種々の実施形態により、プロセッサ510からのサポートまたは命令とは関係なく、メモリデバイスに対して内部の種々のECC動作を実施するように構成される。例えば、ECCエンジンは、Hammingコード、BCHコード、Reed−Solomonコード、Reed−Mullerコード、Binary Golayコード、低密度パリティコード、Trellisコード変調法およびアルゴリズムなどの一つ以上のECCスキームをサポートするように構成されてもよい。ECCエンジン580においてどの方法を実装するかの選択は、例えば、技術および/または所望の対象の信頼性レベルに応じて調整されてもよい。種々の実施形態により、ECCエンジン580は、例えば、メモリセルのページおよび/またはブロックなどのメモリセルの種々の集合についてのECC動作の実施を、容易にするように構成することができる。
ECCエンジン580は、582によって示されるように、制御回路570によってアクティブ化されるか、または非アクティブ化されてもよい。ECCエンジン580は、メモリアレイに格納されるべきユーザデータおよび/またはメモリアレイから読み出されるべきユーザデータに対応するECCデータの作成を容易にするように構成される。例えば、メモリアレイに格納される(例えば、プログラムされる)ユーザデータは、ECCエンジン580を通過し、ECCエンジンは、ユーザデータに伴って格納されるべきユーザデータに対応するECCデータを作成する。読み出し動作の一部として、ユーザデータは、対応するECCデータとともにメモリアレイ内の位置から読み出されてもよい。ECCエンジンは、メモリ位置から読み出されたユーザデータに対応する追加ECCデータ(例えば、ECC試験データ)を作成するようにさらに構成される。ECCエンジンは、メモリアレイ内に、ユーザデータとともに格納されたECCデータと、作成されたECC試験データとを比較する。作成されたECC試験データとメモリアレイから読み出されたECCデータとが一致する場合、メモリアレイから読み出されたユーザデータにはエラーがないことが推定される。作成されたECCデータと読み出されたECCデータとの不一致が生じる場合には、メモリアレイから読み出されたユーザデータ内にエラーが存在することが推定される。
ECCエンジン580は、メモリアレイから読み出されたユーザデータについて検出されたエラーの訂正を試みるうえで、種々のECCアルゴリズムを実施するようにさらに構成される。一つ以上の実施形態により、訂正されたユーザデータは、その後、内部コントローラ(例えば、ECCエンジン580および/または制御回路570)によって容易にメモリアレイ内に格納されてもよい。このように、メモリデバイス500は、破損したデータが読み出されたアレイに訂正データ(例えば、訂正されたユーザデータ)を戻すための‘ループバック経路’を備えて構成される。ECCエンジン580は、本開示の種々の実施形態により、例えば、メモリデバイス内部であって、外部プロセッサ510から如何なる方向でも欠如した種々のECC動作の実施を容易にする。エラー訂正の成功は、多くの要因に依存する可能性がある。幾つかのエラーは、ECCエンジン580によって使用されるECCアルゴリズムのタイプおよび強度によっては、訂正できないことがある。
図5に示されたメモリデバイスは、メモリの特性の基本的理解を容易にするために簡略化されたものである。フラッシュメモリの内部回路および機能のより詳細な理解は、当業者に既知である。
ECCエンジン580は、メモリデバイス500における内部ECC動作を開始する(例えば、独立して開始する)ために種々の状態に応じて、種々のECC動作を実施するようにさらに構成されてもよい。図6は、本開示の一つ以上の実施形態により、種々の内部ECC動作を実施するフローチャートを示す。
図6は、メモリデバイスにおけるECC動作600(例えば、内部ECC動作)を開始することを示す。ECC動作を実施することは、例えば、図5に示され上述されたような制御回路570および/またはECCエンジン580などのメモリデバイスの内部コントローラによって容易にされてもよい。ECC動作を開始するための判定は、種々の方法によって行われてもよい。内部ECC動作は、外部プロセッサ510から受信された命令に応じて開始されてもよい。内部ECC動作は、本開示の一つ以上の実施形態により、内部ECC動作を実施するための外部プロセッサ510からの命令がなくても、メモリデバイスにおけるバックグラウンド動作として開始されて、実施されてもよい。
例示として、種々の実施形態による内部ECC動作は、ECCエンジン580および制御回路570のうちの一方またはその双方によって開始されてもよい。内部ECC動作は、周期的に実施されてもよい。例えば、ECC動作は、本開示の種々の実施形態により、内部ECC動作を以前に実施してから経過した時間などの、特定の時間の経過に応じて実施されてもよい。内部ECC動作は、実施された多数のメモリデバイス動作に応じて開始されてもよい。例えば、内部ECC動作は、多数のプログラミングおよび/または消去動作が実施された後に開始されてもよい。ECC動作の頻度は、利用されるECC方法論のタイプに少なくとも部分的に依存して決めることができる。より強いECCアルゴリズムの利用によって、例えば、より頻度を少なくECC動作を実施することを可能とする。
608におけるECC動作の開始に続いて、610において、読み出されたユーザデータおよび対応して読み出されたECCデータを得るために、チェックするために選択されたメモリセルが、メモリアレイから読み出される。メモリセルまたはメモリセルの集合(例えば、メモリセルのブロック)は、メモリセルにおいて多数のプログラミングおよび/または消去動作が実施されるのに応じて選択されてもよい。例えば、プログラミングおよび/または消去動作の或る回数を超えることによって、ECC動作が予定すべきメモリセルの集合を識別してもよい。メモリセルは、時間が経過するにつれて、および/またはより多くのプログラミング/消去サイクルに晒されるにつれて老朽化(age)する。メモリセルにおけるプログラミング動作を完了させるために必要なプログラミングパルスの数は、当該メモリセルの老朽化またはウェアレベルを示すものである可能性がある。このように、ECC動作は、メモリセルにおけるプログラミング動作を完了させるために必要とされるプログラミングパルスの数の追跡に基づいて決定された、メモリセルの老朽化またはウェアレベルに応じて、開始されてもよい。例えば、メモリセルのグループにおいて観察されたプログラミング特性における増加(例えば、プログラミング動作を完了させるために必要とされるプログラミングパルス数の増加)は、当該セルのウェアレベルを示すことがある。したがって、ECC動作は、例えば、メモリセルのグループにおいて高いウェアレベルを示すのに応じて開始されてもよい。一つ以上の実施形態により、メモリセルのグループは、ECC動作に対してランダムに、または順次選択されてもよい。
612において、ECCエンジン580は、ユーザデータを読み出すために特定のECCアルゴリズムを適用することによって、読み出されたユーザデータおよび読み出されたECCデータを処理する。ECCエンジン580は、読み出されたユーザデータに対応するECCデータ(例えば、ECC試験データ)を作成するために、読み出されたユーザデータに対してECCアルゴリズムを適用する。ECC試験データは、メモリデバイスから読み出され、読み出されたユーザデータに対応するECCデータと比較される。614において、ECC試験データと読み出されたECCデータとの比較の結果に応じて、読み出されたユーザデータにエラーが存在するか否かの判定が行われる。614においてエラーが検出されていない場合に、ECC動作が、640において終了する。
ECC比較動作の結果が、読み出されたユーザデータにエラーが存在することを示すことがある。エラーが示されると、エラー(例えば、破損データの格納)を引き起こすメモリセルを識別する試みが、620において行われる。エラーがECCの制限内にある場合、訂正が可能であり、エラーを引き起こすメモリセルの識別は、直接的な(straightforward)タスクであって、即ち、このようなメモリセルは、訂正されるべきリードデータに対応する。一つ以上の実施形態により、検出されたエラーの原因が、一つ以上のメモリセルにおける閾値電圧やドリフトによるものであったか(例えば、図3を参照して上述されたようなより低レベルにドリフトした閾値電圧)を、622において判定するように、ECCエンジン580はさらに構成される。エラーがECCの制限内にある場合、訂正が可能であり、検出されたエラーの原因の判定は直接的なタスクである。例えば、図3を参照すると、ECC試験データがメモリセルに対応するデータがL2データ状態を表すことを示すか、当該メモリセルに対応する読み出されたユーザデータがL1データ状態(または、他のより低いデータ状態)を表した場合、エラーの原因は、当該メモリセルの閾値電圧の低下の結果であるとみなすことができる。同様にして、例えば、読み出されたユーザデータが、ECC試験データによって示されるデータ状態よりも高いデータ状態を表す場合には、エラーの原因はメモリセルの閾値電圧の増加の結果であるとみなすことができる。
一つ以上のメモリセルの閾値電圧が低下したと識別される場合、ECCエンジン580および/または制御回路570は、626で、識別されたメモリセルに対するプログラミング動作(例えば、タッチアッププログラミング動作)の実施を容易にし、その閾値電圧レベルを以前の閾値電圧ドリフトレベルに回復するために閾値電圧レベルを増加させる。換言すると、タッチアッププログラミング動作は、意図される(例えば所望される)プログラムレベルに対応するレベルをその閾値電圧が再び有するように、メモリセルの電荷蓄積構造に対するある量の電荷の回復を容易にする(消去動作をまず実施することなく)。メモリセルが所望される閾値電圧レベルに回復したことを検査するために、626において、タッチアッププログラミング動作に従って照合動作が実施されてもよい。したがって、本開示の種々の実施形態により、プログラミング動作(例えば、タッチアッププログラミング動作)は、ECC動作の実施に応じて、閾値電圧レベルの低下があったと識別されたメモリセルに対して実施される。本開示のさらなる実施形態により、識別されたいかなるメモリセルも、閾値電圧の増加によるエラー判定がない場合にのみ、当該プログラミング動作は、626において実施されてもよい。
メモリセルは、読み出されたユーザデータのエラーが生じた程度に閾値電圧が増加した(例えば、閾値電圧ドリフトの増加)として、ECC動作中に識別されてもよい。ECCエンジン580は、読み出されたユーザデータについて検出されたエラーを訂正し、訂正されたユーザデータの作成を試みるために、630において、ECCアルゴリズムを適用する。訂正されたユーザデータは、例えば、データバッファ550などの、メモリデバイス内に格納されてもよい。ECCエンジン580および/または制御回路570は、その後、訂正されたユーザデータをメモリアレイ530に格納するために、632において、プログラミング動作の実施を容易にしてもよい。訂正されたユーザデータは、差し替えるユーザデータとは異なるメモリアレイ内の位置に格納されてもよい。例えば、訂正されたデータは、破損したユーザデータが格納されていたのとは異なるメモリデバイスの消去位置に、格納されてもよい。或いは、制御回路570は、破損した読み出されたユーザデータを格納するメモリ位置における消去動作の実施を容易にし、その後、同一のメモリ位置に訂正されたユーザデータを格納してもよい。種々の実施形態により、少なくとも一つのメモリセルが、閾値電圧の増加によって、エラーを引き起こしたと識別された場合に、訂正されたユーザデータの格納が実施されてもよい。
一つ以上の実施形態により、メモリデバイス500は、論理−物理アドレス変換(時には、論理−物理アドレスマッピングと称される)を容易にするアドレス再マッピングユニットをメモリデバイス内に含んでもよい。このデータ構造は、メモリデバイス内に位置する論理アドレスと物理アドレスとの間の相互関係を提供する。一対一にマッピングされたデバイスは、例えば、メモリの或る論理セクタに対応するメモリの或る物理セクタを含むと考えられてもよい。論理−物理アドレス変換情報を含むデータ構造は、メモリデバイス内に格納されて保持されてもよく、または、外部プロセッサに格納されて保持されてもよい。このデータ構造は、論理−物理アドレス変換データ構造と称されてもよい。
データの破損を防ぐために、メモリデバイスの一つ以上の物理アドレスに対応する一つ以上の論理アドレス(例えば、ある範囲の論理アドレス)は、内部ECC動作の実施を容易にするように構成されたメモリデバイス制御回路570および/またはECCエンジン580以外からのアクセスを、ブロックされてもよい。このように、一つ以上の実施形態は、ECC動作がメモリデバイスの内部で実施される間、メモリデバイスの物理アドレスにマッピングされた一つ以上の論理アドレスに対するアクセスの許可またはアクセスのブロックなどのアクセスの管理を、容易にする。例えば、内部ECC動作が実施される間、メモリデバイスの制御回路570は、メモリデバイス内の物理アドレスに対するアクセスを有するが、メモリデバイスに結合されたプロセッサ510は、アクセスを許可されない。メモリデバイスは、当該メモリデバイスからの‘レディ/ビジー’(R/B)信号などの出力信号を保持するように構成されてもよい。R/B信号のレベル(例えば、論理レベル)は、例えば、ECC動作がメモリデバイス内で実施されているか否かを示す。R/B信号線は、例えば、図5に示すように通信バス506の一部として含まれてもよい(図示せず)。
図6を再度参照すると、“訂正されたユーザデータ”が、“読み出された破損ユーザデータ”とは異なるメモリ位置に格納される場合、“訂正されたユーザデータ”のメモリアレイ内の新しい位置を反映するために、論理−物理アドレス変換データ構造は、634において、アップデートされてもよい。例えば、論理−物理アドレス変換データ構造が外部プロセッサ510内に保持される場合、メモリデバイス500が、外部プロセッサ510にアップデートされたアドレス情報を送信することで、論理−物理アドレス変換データ構造は、“訂正されたユーザデータ”の新しい物理アドレスでアップデートすることができる。メモリデバイス500内に保持された論理−物理アドレス変換データ構造は、例えば、“訂正されたユーザデータ”を格納するメモリデバイス内の新しい物理位置を識別するのに応じて、メモリデバイス内部でアップデートされてもよい。
一つ以上の実施形態により、論理−物理アドレス変換データ構造は、626のタッチアッププログラミング動作の後にアップデートされる必要がないことに留意されたい。なぜなら、メモリデバイス内のユーザデータの位置は、変化していないからである。さらに、一つ以上の実施形態は、ECC動作の一回目のイテレーション(iteration:繰り返し)の実施完了後に再度実施されるべき、図6によって図示されたECC動作を含んでもよい。例えば、626のタッチアッププログラミング動作および/または、632の訂正されたユーザデータのメモリアレイへのプログラミングの実施に続いて、以前に実施されたECC動作が成功して完了したことを検査するために、図6に示すECC動作が、再度実施されてもよい。
図7は、本開示の一つ以上の実施形態により、別の内部ECC動作を実施するフローチャートを示す。図7に示された方法は、上述された図6に示された方法と類似する。図7の処理でも、708で、図6のステップ608と同様、ECC動作が開始される。710で、図6のステップ610と同様に、ユーザデータおよびECCデータが、選択されたメモリセルから読み出される。712で、図6のステップ612と同様に、読み出されたユーザデータに対してECCチェックが実施される。ECCエンジン580は、714で読み出されたユーザデータにエラーが存在するか否かを判定する処理を行う。エラーが検出されない場合、ECC動作は740で完了する。
714においてエラーが検出された場合、ECCエンジン580は、選択された多数のメモリセルの閾値電圧におけるシフトの大きさおよび/または方向を判定するように構成される。この閾値電圧シフトの判定に応じて、ECCエンジンは、722で、トリム値の決定(例えば、決定および調整)を試みる。トリム値は、使用されると、ECCチェック中に検出されたエラーを訂正する。例えば、閾値電圧ドリフトは、同一方向かつ実質的に同一の大きさで生じてもよい。したがって、本開示の一つ以上の実施形態により、読み出し動作中に使用されるトリム値(例えば、VreadMinおよび/またはVreadMax)の調整は、ECCエンジン720によって判定された閾値電圧シフトを補償するように調整されてもよい。例えば、選択されたメモリセルに対して実施されるその後の読み出し動作中に利用するために、これらの調製されたトリム値は、724でメモリデバイスのトリムレジスタ内に格納されてもよい。
[結論]
メモリデバイスにおけるエラー訂正動作が記述されてきた。より詳細には、メモリデバイスに結合された外部メモリアクセスデバイスからの命令とは関係なく、メモリデバイス内でエラー訂正動作を実施する方法が記述されてきた。独立したエラー訂正動作は、メモリデバイス内のエラーを識別して訂正し、データの訂正バージョンを格納するために、メモリデバイスにおいてエラー訂正動作の実施を開始して容易にするように構成される内部メモリデバイス制御回路によって、管理されてもよい。メモリデバイスにおけるECC動作の実施に応じたトリム値の調整もまた開示された。
本明細書には特定の実施形態が示され、記述されてきたが、同一の目的を達成すると推定される任意の配置が、示された特定の実施形態に対して置換されてもよいことを当業者には理解されたい。本開示の多くの適応は、当業者に対して明らかであろう。したがって、本出願は、本開示のあらゆる適応または変形を包含することを意図される。



  1. メモリデバイスを動作させる方法であって、
    前記メモリデバイスのメモリアレイの第一部分に格納されるユーザデータに、エラー訂正コード(ECC)動作を実施することと、
    前記ECC動作の実施に応じて、前記メモリアレイの前記第一部分に格納されたユーザデータにエラーが存在するか否かを判定することと、
    エラーが存在すると判定される場合には、前記メモリアレイの前記第一部分のメモリセルが、閾値電圧の減少によって前記判定されたエラーを引き起こした場合、前記メモリアレイの前記第一部分のメモリセルに一つ以上のプログラミングパルスを印加することと、
    を含む、
    ことを特徴とする方法。

  2. 前記エラー訂正コード(ECC)動作を実施することは、前記メモリデバイスに結合された外部メモリアクセスデバイスから受信された命令から独立して、エラー訂正コード(ECC)動作を実施することをさらに含む、
    ことを特徴とする請求項1に記載の方法。

  3. 前記外部メモリアクセスデバイスから受信された命令から独立してエラー訂正コード(ECC)動作を実施することは、前記メモリデバイスの内部コントローラによって作成されたコマンドに応じて、エラー訂正コード(ECC)動作を実施することをさらに含む、
    ことを特徴とする請求項2に記載の方法。

  4. 前記一つ以上のプログラミングパルスを印加することは、前記メモリアレイの前記第一部分の複数のメモリセルにまず消去動作を実施することなく、一つ以上のプログラミングパルスを印加することをさらに含む、
    ことを特徴とする請求項1から3のいずれか一項に記載の方法。

  5. 前記メモリアレイの前記第一部分の複数のメモリセルに前記一つ以上のプログラミングパルスを印加する間に、前記メモリアレイの前記第一部分のメモリセルの中で閾値電圧の減少によって前記エラーを引き起こしたと判定された、メモリセル遺体のメモリセルに、プログラミングすることを禁止することをさらに含む、
    ことを特徴とする請求項4に記載の方法。

  6. 前記メモリアレイの前記第一部分の複数のメモリセルに一つ以上のプログラミングパルスを印加することは、前記メモリアレイの前記第一部分の如何なるメモリセルも閾値電圧の増加により前記判定されたエラーを引き起こしていないときのみ、前記メモリアレイの前記第一部分の前記複数のメモリセルに前記一つ以上のプログラミングパルスを印加することをさらに含む、
    ことを特徴とする請求項1から3のいずれか一項に記載の方法。

  7. エラーが存在すると判定される場合、
    前記メモリアレイの前記第一部分の少なくとも一つのメモリセルが、当該メモリセルの閾値電圧の増加により前記判定されたエラーを引き起こした場合、訂正されたユーザデータを作成して、前記メモリアレイの第二部分に前記訂正されたユーザデータを格納すること、
    をさらに含む、
    ことを特徴とする請求項6に記載の方法。

  8. 前記メモリアレイの前記第二部分が前記メモリアレイの前記第一部分とは異なる物理アドレスを有する場合、前記メモリアレイの第二部分に前記訂正されたユーザデータを格納するのに応じて、論理−物理アドレス変換データ構造をアップデートすることをさらに含む、
    ことを特徴とする請求項7に記載の方法。

  9. 外部メモリアクセスデバイスが、前記論理−物理アドレス変換データ構造を維持するように構成され、前記アップデートすることは、前記メモリアレイの前記第二部分が前記メモリアレイの前記第一部分とは異なる物理アドレスを有する場合に、前記メモリデバイスに結合された前記外部メモリアクセスデバイスに前記メモリアレイの前記第二部分のアドレスを送信することによってアップデートすることをさらに含む、
    ことを特徴とする請求項8に記載の方法。

  10. 前記アップデートされたアドレスは、前記論理−物理アドレス変換データ構造をアップデートするために、前記外部メモリアクセスデバイスからの要求がなくても、前記メモリデバイスによって前記外部メモリアクセスデバイスに送信される、
    ことを特徴とする請求項9に記載の方法。

  11. 前記メモリアレイの第二部分に前記訂正されたユーザデータを格納することは、前記メモリアレイの前記第一部分を消去することと、前記メモリアレイの前記消去された第一部分に前記訂正されたユーザデータを格納することと、を含む。
    ことを特徴とする請求項7に記載の方法。

  12. 前記ECC動作を実施することは、
    ユーザデータと、前記ユーザデータに対応するエラー訂正コード(ECC)データとを読み出すことと、
    前記読み出されたユーザデータから追加エラー訂正コード(ECC)データを作成することと、
    を含み、
    エラーが存在するか否かを判定することは、前記読み出されたECCデータと前記作成されたECCデータを比較することを含み、
    エラーが存在すると判定される場合、
    前記読み出されたユーザデータを格納するどのメモリセルが前記エラーを引き起こすかを判定することと、
    前記複数のメモリセルの各々が閾値電圧の減少により前記エラーを引き起こした場合、前記エラーを引き起こしたと判定された前記複数のメモリセルに、一つ以上のプログラミングパルスを印加することと、
    前記複数のメモリセルのうちの少なくとも一つが、閾値電圧の増加により前記エラーを引き起こしたと判定されるとき、訂正されたユーザデータを作成することと、第二のメモリ位置に前記訂正されたユーザデータを格納することと、
    をさらに含む、
    ことを特徴とする請求項1から3のいずれか一項に記載の方法。

  13. エラーが存在すると判定される場合、前記メモリデバイスの一つ以上のトリム値を調整することをさらに含み、
    前記一つ以上のトリム値は、最小読み出し電圧に対応するトリム値および/または、最大読み出し電圧に対応するトリム値を含む、
    ことを特徴とする請求項1から3のいずれか一項に記載の方法。

  14. 内部コントローラを含むメモリデバイスであって、前記内部コントローラは、前記メモリデバイスに結合された外部メモリアクセスデバイスから受信される命令からは独立して、請求項13の前記方法を実施するように構成される、
    ことを特徴とするメモリデバイス。

  15. 内部コントローラを含むメモリデバイスであって、前記内部コントローラは、請求項12の前記方法を実施するように構成される、
    ことを特徴とするメモリデバイス。

 

 

Patent trol of patentswamp
類似の特許
所望のプログラミング状態が達成されるまで、読み出し電流レベルを決定するために読み出し動作中に、プログラム電圧の繰り返しパルスを使用するセルをプログラミングするための、不揮発性メモリデバイス及び方法。各連続プログラムパルスは、以前のパルスと関連するステップ値によって増加する1つ以上のプログラム電圧を有する。シングルレベルセルタイプは、各セルが個別に、第1の読み出し電流閾値に達した後、プログラミングパルスから取り出され、該ステップ値はその後、1つ以上のキッカーパルスのために増加される。マルチレベルセルタイプでは、1つのセルが第1の読み出し電流閾値に達した後、ステップ値が低下し、第2の読み出し電流閾値に達した後、いくつかのセルが個々にプログラミングパルスから除去され、一方で、第3の読み出し電流閾値に達した後、他のセルがプログラミングパルスから個々に除去される。
【選択図】図1
本発明の一部の実施形態において、データストレージシステムは、コントローラーと、複数のメモリページを有する不揮発性メモリアレイとを含む。コントローラーは、下位ページ破損の問題を効率的に解決する方法を実行する。一の実施形態において、方法は、対になった上位ページがプログラミングされていない、プログラミング済下位ページ(1又は複数)を選択し、該選択された下位ページからデータを読み取り、該読み取られたデータを訂正し、該読み取られたデータを下位ページに再プログラミングする。典型的には、この状態の下位ページは数が少ない(例えば、数百から数千ページを有するブロック内に数ページ)ため、これはブロック全体を再プログラミングするよりもはるかに効率的な方法である。別の実施形態において、同様の再プログラミング方法が、下位ページのみがプログラミングされている状況におけるデータ復旧方法として適用される(例えば、SLC(シングルレベルセル)メモリ、SLCモードのMLCメモリ等)。
【選択図】図1
【課題】固体記憶装置の利用を向上させる。【解決手段】持続性記憶装置からデータを読み取る方法は、データについてのクライアント読取要求をクライアントから受け取るステップを含み、クライアント読取要求は論理アドレスを含み、方法はさらに、論理アドレスを使用して物理アドレスを判定するステップを含み、物理アドレスは持続性記憶装置における物理ページについてのページ番号を含み、方法はさらに、データについての保持時間を判定するステップと、物理ページに関連付けられたプログラム/消去(P/E)サイクル値を判定するステップと、P/Eサイクル値、保持時間、およびページ番号を使用して少なくとも1つの読取閾値を取得するステップと、少なくとも1つの読取閾値を含む制御モジュール読取要求を物理ページを含む記憶モジュールに対して発するステップと、少なくとも1つの読取閾値を使用して前記データを物理ページから取得するステップとを含む。【選択図】図4
【課題】複数メモリの状態に応じて、全体的なメモリ操作を効率化するメモリシステムコントローラを含む装置を提供する。
【解決手段】装置は、複数の第1の論理ユニット250と、前記複数の第1の論理ユニットにそれぞれ対応する複数の第1の論理ユニットコマンドキュー246と、前記複数の第1の論理ユニットに対する複数のコマンドを第1の順序で受け、そのそれぞれを前記第1の順序で前記複数の第1の論理ユニットコマンドキューの中の対応する論理ユニットコマンドキューに中継させたり、前記第1の順序とは異なる第2の順序で前記複数の第1の論理ユニットコマンドキューの中の対応する論理ユニットコマンドキューに中継させたりする第1の論理ユニット要求キュー244と、を備える。
【選択図】図2
本開示は、補間を介して、メモリセルと関連付けられた閾値電圧分布を推定するための装置および方法を含む。いくつかの実施形態は、各々がいくつかのデータ状態のうちの1つにプログラムされたメモリセル群のソフトデータであって、いくつかの異なるソフトデータ値を含む、ソフトデータを決定することと、異なるソフトデータ値の各々と関連付けられたメモリセルの数量を決定することと、異なるソフトデータ値の各々と関連付けられたメモリセルの決定された数量を使用して、補間プロセスを介して、メモリセル群と関連付けられた閾値電圧分布の少なくとも一部分を推定することとを含む。
【選択図】図1
不揮発性ソリッドステートメモリデバイス(14)等の装置は、一部の実装例では、モード情報に応じて、メモリコア(32)の非選択アクセス線(複数可)に関するバイアスレベルを設定するためのアクセス線バイアス回路部(30)を含み得る。一手法では、アクセス線バイアス回路部(30)は、メモリコア(32)の非選択アクセス線の電圧レベルを変更するための線形ダウンレギュレーションを用い得る。メモリの電力消費を管理するために、メモリデバイス(14)のメモリコア(32)の動作モードを動的に設定可能なホストプロセッサ(12)等の、メモリアクセスデバイスが提供され得る。他の装置および方法も提供される。
【選択図】図1
本開示は、隣接するデータ状態間の谷内のメモリセル状態に関する装置および方法を含む。いくつかの方法は、メモリセルの状態が、それぞれのデータ状態と関連付けられる隣接する状態の分布間の谷内にあるかどうかを判定することを含むことができる。該方法はまた、メモリセルのデータ状態、およびメモリセルの状態が谷内にあるかどうかを示す信号を伝送することを含むことができる。
【選択図】図2
本発明は、不揮発性メモリのメモリセルをプログラミングまたは消去する方法に関し、第1のメモリセルの第1の消去またはプログラムサイクルであって、i)少なくとも1つの消去またはプログラムパルスを第1のメモリセルに印加するステップと、ii)消去されたかプログラムされたか、メモリセルの状態を決定するステップと、メモリセルが所望の状態ではない場合、ステップi)およびii)を繰り返すステップとを含む、第1の消去またはプログラムサイクルと、所定の回数の消去またはプログラムパルスを第2のメモリセルに印加するステップを含む、第2の消去またはプログラムサイクルとを含む。
本開示は、メモリセルのセンシングに関する。1つまたは2つ以上の方法は、第1のデータ線に接続される第1のメモリセルのデータ状態を判定するステップと、第3のデータ線に接続される第3のメモリセルのデータ状態を判定するステップと、第1および第3のメモリセルのうちの少なくとも1つの判定されたデータを、第2のメモリセルが接続される第2のデータ線に対応するデータ線制御ユニットへ転送するステップであって、第2のデータ線が、第1のデータ線および第3のデータ線に隣接する、転送するステップと、第2のメモリセルのデータ状態を、転送された判定されたデータに少なくとも部分的に基づいて判定するステップとを含む。
【選択図】図2
第1導電型の半導体基板を有する不揮発性メモリ装置。不揮発性メモリセルのアレイは、複数の行及び列に配置された半導体基板内にある。各メモリセルは、第2導電型の半導体基板の表面上の第1領域と、第2導電型の半導体基板の表面上の第2領域と、を備える。チャネル領域は、第1領域と第2領域との間にある。ワード線は、チャネル領域の第1部分上に重なり、そこから絶縁され、また第1領域に隣接して、第1領域とほとんど重ならない。
To top