(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0004】
幾つかの不揮発性メモリ技術において、メモリデバイスは、メモリアレイで実施される読み出し動作、書き込み動作、または消去動作などのメモリアクセス動作を指定するコマンドを受信するように構成されたコントローラを有する。コントローラは、コマンドによって指定されるメモリアクセス動作をメモリアレイで実施させるように、さらに構成することが出来る。アクセス動作を実施することに関連する時間および/またはエネルギーは、例えば、プログラミングパルスまたは読み出しパルスなどのアクセスパルスをメモリセルに印加することによる、実際のアクセス動作を実施することに含まれる時間およびエネルギーを含むだけでなく、あるオーバーヘッド動作を実施することに含まれる時間およびエネルギーをも含む。オーバーヘッド動作は、例えば、アクセスパルスを印加する前に、ある行および/もしくは列をプレチャージすることと、および/またはアクセスパルスを印加した後に、ある行および/もしくは列をディスチャージすることと、を含むことが出来る。幾つかの技術においては、プレチャージおよびディスチャージなどの、これらのオーバーヘッド動作は、コントローラによってメモリアクセス動作が実施させられるたびに実施され、メモリデバイスの全体の時間および/またはエネルギー効率を劣化させることがある。例えば、相変化メモリセルなどのメモリセルの状態を変化させるのにかかる時間は、数ナノ秒から数マイクロ秒であり得るが、プログラミングパルスを印加する前に、ある行および列をプレチャージするのにかかる合計時間は、顕著なオーバーヘッド時間および/またはエネルギーを追加することがある。追加される時間および/またはエネルギーは、例えば、アクセスパルスの印加の前にプレチャージされ得る列および行の抵抗とキャパシタンスに依存することがある。オーバーヘッド機能の所定の集合に対して複数のアクセス動作を実施することによって、総アクセス時間およびエネルギーは、有利に減少させることが出来る。
【0005】
以下、メモリアレイ内に複数のメモリセルを含むメモリデバイスが開示される。メモリデバイスは、メモリアレイで実施される複数のメモリアクセス動作を指定する単一のコマンドを受信するように構成されたメモリコントローラを含み、単一のコマンドの指定された複数のメモリアクセス動作の各々は、書き込み動作、消去動作、または読み出し動作のうちの一つを含む。メモリコントローラは、単一のコマンドに応じて、指定された複数のメモリアクセス動作をメモリアレイで実施させるようにさらに構成される。動作においては、メモリデバイスは、指定されたアクセス動作の各々に対して、あるオーバーヘッド機能を繰り返さずに、指定されたアクセス動作の各々を実施することに関連する時間および/またはエネルギーを減少させることが出来る。
【0006】
図1は、幾つかの実施形態によるメモリデバイス2の回路ブロック図を概略的に図示する。メモリデバイス2は、複数の列20と複数の行22とを含むメモリアレイ10を含む。メモリアレイ10は、列20と行22との間の各交点で、複数のメモリセル14を含む。幾つかの実装においては、列20は、また、ビット線またはデジット線と呼ばれることもあり、行22は、また、ワード線と呼ばれることもある。メモリセル14のうちの少なくとも幾つかは、例えば、とりわけ、電圧、電流または電界を含む任意の適切な電気信号の適用によってアクセスすることが出来る。メモリセル14の各々は、メモリセル14に結合された行22および列20によって画定されるアドレスを有することが出来る。
【0007】
メモリデバイス2は、幾つかの実施形態により、列20に電気的に接続された列デコーダ44と、行22に電気的に接続された行デコーダ40とをさらに含む。動作においては、アクセスされるメモリセル14の物理アドレスは、メモリセルアドレスによって指定されてもよく、メモリセルアドレスは、メモリアクセスコマンド内に含まれてもよい。メモリセルアドレスは、対象メモリセルにアクセスするために、アクティブ化された列および行に対応する列アドレスおよび/または行アドレスを含むことが出来る。メモリセルアドレスを受信すると、列デコーダ44は、列アドレスをデコードし、アクティブ化された列を選択するように構成され、行デコーダ40は、行アドレスをデコードし、アクティブ化される行を選択するように同様に構成される。
【0008】
メモリデバイス2は、ワード線ドライバとすることが出来、行22に電気的に接続された行ドライバ32と、列20に電気的に接続されたセンス増幅器36と、をさらに含む。アクセス動作中、コマンド内のアドレスによって指定された行22のうちの一つと、列20のうちの一つ以上とがアクティブ化される。
【0009】
依然
図1を参照すると、幾つかの実施形態において、メモリアレイ10は、書き込み、消去および読み出しを含む、メモリアレイ10での様々なアクセス動作を制御するように構成されたメモリコントローラ50に更に接続される。動作においては、メモリコントローラ50は、メモリアレイ10内の一つ以上のメモリセル14にアクセスするために、プロセッサからの信号を受信するように構成される。コントローラ50は、今度は、列デコーダ44および行デコーダ40を通じて、メモリアレイ10に制御信号を送信するように構成される。幾つかの実施形態においては、メモリコントローラ50は、ソリッドステート集積回路内のメモリデバイス2の一部として一体化される。他の実施形態においては、メモリコントローラ50は、ホストデバイスの一部とすることが出来る。
【0010】
メモリアレイ10は、不揮発性メモリ(NVM)セル14を含む。幾つかの実施形態においては、NVMセル14は、互いに電気的に結合されるか、または接続されたストレージ素子とセレクタ素子とを含む。幾つかの実施形態においては、NVMセル14は、ストレージ素子に電気的に結合されたセレクタ素子を含んでもよい。本明細書で用いられるように、ストレージ素子とは、長期間、例えば、1年を超えて、リフレッシュまたは再書き込みすることなく、物理的状態を維持することが出来るNVMセル14の素子を指す。本明細書で用いられるように、セレクタ素子とは、ある状況下、例えば、電圧が閾値電圧を超えるとき、セレクタ素子に接続されたストレージ素子にアクセスを許可できるNVMセル14の素子を指す。
【0011】
ストレージ素子の例は、他の種類のストレージ素子の中でも、とりわけ、デュアルゲートトランジスタの浮遊ゲート、相変化ストレージ素子、抵抗変化ランダムアクセスメモリ(RRAM)、導電性ブリッジランダムアクセスメモリ(CBRAM)および/またはスピントランスファートルクランダムアクセスメモリ(STT−RAM)を含む。セレクタ素子の例は、他の二端子セレクタデバイスの中でも、とりわけダイオード、オボニック閾値スイッチ(OTS)、トンネル接合または電子性混合伝導体(MIEC)などの二端子セレクタデバイスを含む。あるいは、セレクタノードは、他のスイッチング素子の中でも、とりわけ電界効果トランジスタ(FET)またはバイポーラ接合トランジスタ(BJT)などの三端子デバイスを含んでもよい。
【0012】
依然
図1を参照すると、列20と行22とに電気的に結合されたNVMセル14は、アクセス動作によってアクセスされてもよい。本明細書で用いられるように、アクセス動作は、書き込みアクセス動作、消去アクセス動作または読み出しアクセス動作を指すことがある。
【0013】
幾つかの実施形態においては、NVMセル14は、フラッシュメモリセルを含む。これらの実施形態においては、書き込みアクセス動作は、例えば、チャネル領域からメモリフラッシュセルの浮遊ゲートに電子のトンネル効果を起こすことによって、フラッシュメモリセルの閾値電圧を増加させることを含んでもよい。一方、消去アクセス動作は、例えば、メモリフラッシュセルの浮遊ゲートからチャネル領域に電子のトンネル効果を起こすことによって、フラッシュメモリセルの閾値電圧を減少させることを含んでもよい。読み出しアクセス動作は、読み出し電圧でフラッシュトランジスタのドライブ電流を検出することと、フラッシュメモリセルが書き込まれたか、または消去されたか否かを判定することとを含んでもよい。
【0014】
幾つかの実施形態においては、NVMセル14は、相変化メモリ(PCM)セルを含む。本明細書で用いられるように、PCMセルは、ストレージ素子が含む材料の一つ以上の相によって、様々な電気抵抗を表示することが出来るストレージ素子を含むNVMセルを指す。これらの実施形態においては、書き込みアクセス動作は、PCMセルに対しては、RESET動作とも呼ばれ得るが、比較的低い抵抗状態(LRS)から比較的高い抵抗状態(HRS)にメモリセルの抵抗状態を変化させることが出来る。RESET動作は、例えば、カルコゲナイド材料を含むストレージ素子の少なくとも一部を融解するのに十分なRESET電流を適用して、クエンチングすることによって達成することが出来、メモリ素子の少なくとも一部が非結晶性層でクエンチングとなり、その結果、HRSとなるようにする。さらに、消去動作は、PCMセルに対してはSET動作とも呼ばれ得るが、HRSからLRSにメモリセルの抵抗状態を変化させる。SET動作は、例えば、カルコゲナイド材料を含むメモリ素子の少なくとも一部を結晶化するのに十分なSET電流を適用することによって達成することが出来、高い抵抗状態と比較するとメモリ素子のうちのより大きな部分が、結晶性に成るようにする。
【0015】
図2Aは、メモリコントローラによって受信される複数のコマンドによって指定される複数のメモリアクセス動作を実施するためのコマンドプロトコルを図示するアクセスタイミング
図90である。
図2Aのコマンドプロトコルは、
図1に記述されたメモリデバイス2と類似のメモリデバイスで実装することが出来、メモリコントローラは、複数のコマンドを受信するように構成することが出来、複数のコマンドのうちの各々は、メモリアレイ上で開始されるべきメモリアクセス動作を指定し、指定されたメモリアクセス動作の各々は、書き込み動作または読み出し動作のうちの一つを含む。
【0016】
依然
図2Aを参照すると、アクセスタイミング
図90は、第一、第二および第三のコマンド(CMD1)100a、(CMD2)100bおよび(CMD3)100cを示すBUSタイムライン90aを図示する。明瞭かつ簡潔に図示するため、第一から第三のコマンド100a−100cと対応する動作が図示されるが、如何なる数のコマンドおよびそれに対応する動作も類似の方法で図示することが出来ることが理解されるだろう。アクセスタイミング
図90は、また、第一、第二および第三のアイドル(IDLE)102a、102bおよび102cの後の、第一、第二および第三のメモリアクセス動作(OP1)106a、(OP2)106b、(OP3)106cを図示するディスクリプタライン90bも図示する。第一から第三のメモリアクセス動作106a−106cは、第一から第三のコマンド100a−100cによってトリガーされる。ディスクリプタライン90bは、其々、第一、第二および第三のメモリアクセス動作106a、106bおよび106cの前に、メモリアレイでそれぞれ実施されるべき第一、第二および第三のアクセス前動作104a、104bおよび104cをさらに図示する。ディスクリプタライン90bは、第一、第二および第三のメモリアクセス動作106a、106bおよび106cの後に、メモリアレイで其々実施されるべき第一、第二および第三のアクセス後動作108a、108bおよび108cをさらに図示する。
【0017】
幾つかの実施形態においては、第一、第二および第三のアクセス前動作104a、104bおよび104cは、例えば、初期電圧からプレチャージ電圧まで、行デコーダに接続された複数の行で実施されるプレチャージ動作を含むことが出来る。プレチャージ動作の後、第一から第三のメモリセルで実施される第一から第三のアクセス動作106a―106cが続く。第一から第三のアクセス動作のうちの各々は、アクセスされるべきメモリセルの対応する複数の行のうちの其々の行に、第一から第三のアクセスパルスを印加することを含む。さらに、幾つかの実施形態においては、第一、第二および第三のアクセス後動作108a、108bおよび108cは、例えば、プレチャージ電圧から初期電圧にまで、行デコーダに接続された複数の行で実施されるディスチャージ動作を含むことが出来る。
【0018】
このように、
図2Aに図示されるように、3つのコマンド(CMD1)100a、(CMD2)100bおよび(CMD3)100cに応じて実施される3つのメモリアクセス動作(OP1)106a、(OP2)106b、(OP3)106cの各々に対して、其々個別のアクセス前動作(例えば、プレチャージ動作)104a、104bおよび104cと、其々個別のアクセス後動作(例えば、ディスチャージ動作)108a、108bおよび108cが実施される。
【0019】
図2Bは、幾つかの実施形態によるメモリコントローラによって受信される単一のコマンドによって指定される複数のアクセス動作を実施するためのコマンドプロトコルを図示するアクセスタイミング
図110である。
図2Bのコマンドプロトコルは、
図1に記述されたメモリデバイスと類似のメモリデバイスで実装することが出来、そのメモリデバイスは、複数のワード線とメモリコントローラとを有するメモリアレイを含み、メモリコントローラは、メモリアレイで実施される複数のメモリアクセス動作を指定する単一のコマンドを受信するように構成される。コマンドプロトコルは、メモリデバイスでさらに実装することが出来、メモリコントローラは、単一のコマンドに応じて連続的に、指定された複数のメモリアクセス動作を開始するようにさらに構成され、単一のコマンドの指定された複数のメモリアクセス動作の各々は、書き込み動作または読み出し動作のうちの一つを含む。
【0020】
図2Bを依然参照すると、アクセスタイミング
図110は、単一のコマンド(CMD)120を示すBUSタイムライン110aを図示する。アクセスタイミング
図110は、また、単一のコマンドによってトリガーされ、メモリアレイで実施される複数のアクセス動作を記述するディスクリプタライン110bを図示する。ディスクリプタライン110bは、アイドル(IDLE)112の後、アクセス前動作114をトリガーする単一のコマンド(CMD)120を図示する。幾つかの実施形態においては、アクセス前動作114は、初期電圧からプレチャージ電圧まで、行デコーダに接続された複数の行を同時にプレチャージすることを含む。アクセス前動作114の後は、複数のメモリアクセス動作(OP1)116a、(OP2)116bおよび(OP3)116cが続く。明瞭かつ簡潔に図示するため、第一から第三の動作116a−116cが図示されているが、開示された原理および利点は、如何なる数の動作に対しても適用することが出来ることが理解されるだろう。幾つかの実施形態においては、複数のメモリアクセス動作を実施することは、第一のアクセス動作(OP1)116aで複数の行のうちの第一の行に接続された第一のメモリセルにアクセスすることと、第二のアクセス動作(OP2)116bで、複数の行のうちの第二の行に接続された第二のメモリセルをアクセスすることと、第三のアクセス動作(OP3)116cで、複数の行のうちの第三の行に接続された第三のメモリセルにアクセスすることと、を含む。アクセス動作のうちの各々は、例えば、其々のメモリセルに接続された行にアクセスパルスを印加することによって実施することが出来る。幾つかの実施形態においては、複数のメモリアクセス動作(OP1)116a、(OP2)116bおよび(OP3)116cの後は、アクセス後動作118が続く。幾つかの実施形態においては、アクセス後動作118は、単一のディスチャージ動作でプレチャージ電圧から初期電圧まで、行デコーダに接続された複数の行を同時にディスチャージすることを含む。
【0021】
このように、
図2Bに図示された実施形態においては、
図2Aとは対照的に、単一のコマンド(CMD)120に応じて実施される3つの動作(OP1)116a、(OP2)116bおよび(OP3)116cの全てに対して、アクセス前動作114、例えば、一度のプレチャージ動作と、一度のアクセス後動作118、例えば一度のディスチャージ動作が実施される。
【0022】
幾つかの実施形態においては、3つの動作(OP1)116a、(OP2)116bおよび116c(OP3)は、様々な行に接続されたメモリセルで実施されてもよい。他の実施形態においては、3つの動作のうちの如何なる二つ以上が、共有された行に接続された二つ以上のメモリセルで実施されてもよい。
【0023】
幾つかの実施形態においては、3つの動作(OP1)116a、(OP2)116bおよび(OP3)116cは、同一の動作(即ち、書き込み、消去および読み出しのうちの一つ)を含んでもよい。他の実施形態においては、3つの動作(OP1)116a、(OP2)116bおよび(OP3)116cは、組み合わせられてもよいし、異なる動作を含んでもよい。
【0024】
図3および
図4A−
図4Bにおいては、幾つかの実施形態によって、単一のコマンドによって指定される複数のアクセス動作を引き起こすように構成されたコントローラを有するメモリデバイスと、そのメモリデバイスを使用する方法が、相変化メモリの文脈で開示される。しかしながら、本明細書で開示される実施形態は、他の種類のメモリ技術にほぼ適用することが出来ることが理解されるだろう。
【0025】
図3は、一実施形態によるメモリ動作を組み合わせるように構成された相変化メモリ(PCM)デバイス130の概略的な回路図である。
図1のメモリデバイス2と同様に、PCMデバイス130は、幾つかの実施形態により、列20に電気的に接続された列デコーダ44と、行22に電気的に接続された行デコーダ40とを含む。これも
図1と同様に、相変化メモリデバイス130は、行22に電気的に接続された行ドライバ32と、列20に電気的に接続されたセンス増幅器36とをさらに含む。メモリデバイスは、相変化メモリ(PCM)アレイ122における一つ以上のメモリセルにアクセスするように、プロセッサからの信号を受信するように構成されたメモリコントローラ50に電気的に接続することが出来る。コントローラ50は、今度は、列デコーダ44と行デコーダ40とに、列制御信号と行制御信号とを送信するように構成される。
【0026】
図3を依然参照すると、PCMデバイス130は、“クロスポイント”タイプのアレイであって、センス増幅器36に接続された列20と、行ドライバ32に接続された行22とによって形成された交点に配置された、複数の相変化メモリ(PCM)セル128を含むPCMアレイ122を含む。幾つかの実施形態においては、PCMセル128の各々は、列と行とに一意的にバイアスをかけることによって、個々にアクセスすることが出来、その列と行との交点は、PCMセル128の各々を画定する。本明細書で用いられるように、アクセスされるPCMセル128は、選択された列20−nと選択された行22−mとによって形成される交点に配置された対象(T)セルと呼ばれることがある。Tセルは、Tセルにアクセス信号を印加することによってアクセスされてもよく、アクセス信号は、書き込みアクセス信号、消去アクセス信号または読み出しアクセス信号を含むことが出来る。アクセス信号は、他の信号の中でもとりわけ、電圧信号または電流信号とすることが出来る。
【0027】
一般的に、“クロスポイント”タイプのPCMアレイにおいては、残りのセルをインヒビットしながら、一つ以上のTセルにアクセスすることが出来る。これは、例えば、Tセルに印加されるアクセス信号とは実質的に異なるインヒビット信号を残りのセルに適用することによって達成することが出来る。一般的に、例えば、選択された行(この例においては、22−m)に選択された行電圧V
ROW SELを印加しながら、選択された列電圧V
COL SELを、選択された列(この例においては、20−n)に印加することが出来る。同時に、インヒビットされた列電圧V
COL INHIBITを、残りの列に適用することが出来、インヒビットされた行電圧V
ROW INHIBITを、残りの行に適用することが出来る。この構成において、V
COL SELとV
ROW SELとの間のバイアスがV
ACCESSを超えると、対象セルTにアクセスすることが出来る。さらに、ほぼ差分(V
COL SEL−V
ROW INHIBIT)の大きさのバイアスが、選択された列20−n(以降、“A”セルと呼ばれる)に沿ってインヒビットされたセルに適用される。さらに、ほぼ差分(V
ROW SEL−V
COL INHIBIT)の大きさのバイアスが、選択された行22−m(以降、“B”セルと呼ばれる)に沿ってインヒビットされたセルに適用される。さらに、ほぼ差分(V
COL INHIBIT−V
ROW INHIBIT)の大きさのバイアスは、インヒビットされた行と、インヒビットされた列における残りのインヒビットされたセル(以降、“C”セルと呼ばれる)に適用される。
【0028】
図3の図示された実施形態においては、各PCMセル128は、カルコゲナイドストレージ素子124を含む。幾つかの実施形態においては、各PCMセル128は、ヒータと、Ge−Se−Te(GST)合金系に基づいた合金などの、カルコゲナイド材料で形成されたストレージ素子124と、を含むことが出来る。さらに、各PCMセル128は、セレクタ126を含み、セレクタ126は、
図3に図示された実施形態においては、バイポーラ接合トランジスタ(BJT)を含む。
図3においては、図示されたセレクタ126はPNP BJTである。しかしながら、別の実施形態においては、セレクタは、NPN BJTまたはダイオードを含むことが出来る。
図3においては、PCMセル128のストレージ素子124は、列20(例えば、ビット線)に沿って接続される。さらに、PNP BJT126のベース接点は、行22(例えば、ワード線)に沿って接続される。
【0029】
図4Aは、幾つかの実施形態により、メモリコントローラによって受信される単一のコマンドによって指定される複数のアクセス動作を実施するためのコマンドプロトコルを図示するアクセスタイミング
図140である。
図4Aのコマンドプロトコルは、
図3に記述されたのと類似のPCMメモリデバイスで実装することが出来、そのPCMメモリデバイスは、メモリアレイと、複数のメモリアクセス動作を指定する単一のコマンドを受信するように構成されたメモリコントローラとを含む。アクセスタイミング
図140は、LRSからHRSにPCMセルの抵抗を変化させるRESET動作を指すことが出来る複数のプログラム動作を図示しているが、本明細書に記述された方法は、そのように限定されることはなく、HRSからLRSにPCMセルの抵抗を変化させるSET動作を指すことが出来る複数の読み出し動作および/または消去動作を実施するうえで同様に実装することが出来ることが理解されるだろう。
【0030】
依然
図4Aを参照すると、アクセスタイミング
図140は、メモリアレイで実施されるべき複数のメモリアクセス動作を指定する単一のコマンド(CMD)132を示すBUSタイムライン140aを図示する。アクセスタイミング
図140は、単一のコマンド(CMD)132によってトリガーされる複数のメモリアクセス動作を記述するディスクリプタライン140bをさらに図示する。ディスクリプタライン130bは、アイドル(IDLE)134の後に、初期電圧からプレチャージ電圧まで、複数の行を同時にプレチャージするための一度のプレチャージ動作136を図示する。プレチャージ動作136は、例えば、
図3に記述されたインヒビットされた列電圧V
ROW INHIBITを複数の行に印加することを含むことが出来る。一度のプレチャージ動作136の後は、(複数の)アクセスパルス(例えば、(複数の)プログラムパルス138a−138f)の印加によって、PCMアレイの複数のメモリセルで実施されるべき複数のアクセス動作があり、各アクセス動作の後、ベリファイ動作(140a−140f)が続く。明瞭かつ簡潔に図示するため、
図4Aの実施形態は、6度のアクセス(例えば、プログラム)動作と、関連するベリファイ動作とを図示する。しかしながら、その原則と利点は、あらゆる適切な数のアクセス動作および関連するベリファイ動作に適用することが出来る。図示された実施形態においては、複数のアクセス動作は、第一から第六のアクセス(例えば、プログラム)動作138a−138fを含み、これらは、第一から第六の行に接続された第一から第六のメモリセルで実施され、第一から第六のアクセス動作138a−138fの各々の後は、第一から第六のメモリセルで実施される其々第一から第六のベリファイ動作140a−140fが続く。ディスクリプタライン140bは、一度のディスチャージ動作142における第六のベリファイ動作140fの後で、プレチャージ電圧から初期電圧に複数の行を同時にディスチャージすることをさらに図示する。ディスチャージ動作142は、例えば、複数の行から、
図3に記述されたインヒビットされた列電圧V
ROW INHIBITをディスチャージすることを含むことが出来る。要約すると、
図4Aに図示された実施形態においては、単一のコマンド132に応じてメモリアレイで実施される複数のアクセス動作138a―138fに対して、一度だけのプレチャージ動作136と一度のディスチャージ動作142が実施される。したがって、プレチャージ動作とディスチャージ動作とが各アクセス動作に対して実施されるコマンドプロトコルと比較すると、複数のアクセス動作を実施するうえで、時間および/またはエネルギーの節約を実現することが出来る。
【0031】
図4Bは、一実施形態によるコントローラによって受信される単一のコマンドによって指定される複数のプログラムアクセス動作を実施する方法150を図示するフローチャートである。具体的には、方法150は、PCMアレイ122を含む
図3のPCMデバイス130を含むのと類似の相変化メモリデバイスで実装することが出来る。しかしながら、この方法は、フラッシュメモリアレイなどの他の種類のアレイを含む他のメモリデバイスで実装することが出来ることが理解されるだろう。さらに、方法150は、複数のプログラム動作を実施することを図示しているが、この方法は、複数の読み出し動作および/または消去動作を実施するうえで同様に実装することが出来る。
【0032】
単一のコマンドに応じて複数のプログラムアクセス動作を実施する方法150は、メモリコントローラを用いて、PCMアレイで実施される複数のプログラムアクセス動作を指定する単一のコマンドを受信すること(152)を含む。単一のコマンドを受信することによって、方法は、単一のアクセスコマンドに応じて、メモリアレイで実施される指定された複数のメモリアクセス動作を引き起こすかまたは開始することを含む。
図4Bのフローチャートにおいては、幾つかの参照記号は、別の参照記号が後に続く“ダッシュ”を有する。その例は、158−1または158−mである。ダッシュが後に続く記号は、単一のコマンドの一つ以上のプログラムアクセス動作に対するインスタンス番号を示す。例えば、158−1は、第一のインスタンス(単一のコマンドの第一のプログラミング動作)を示し、158−mは、m番目のインスタンス(単一のコマンドのm番目のプログラミング動作)を示す。mの値は、2以上である。
【0033】
図3に戻ると、スタンバイモードの間、PCMアレイ122は、スタンバイバイアススキームを有するように構成することが出来、例えば、約1.2Vとすることが出来るスタンバイ選択解除電圧V
HXに、行(例えば、ワード線)22がプレチャージされ、一方、列20は、“ソフト駆動される(soft−driven)”か、またはV
HXと接地との間の中間電圧で浮遊する。このバイアススキームの下では、セルは選択されず、PCMセル128のPNP BJT126は、逆バイアスをかけられて、アレイの漏出が減少するようにする。
【0034】
その後、
図4Bを依然参照すると、単一のコマンドを受信すること(152)によって、方法150は、初期電圧からプレチャージ電圧に、複数の行22をプレチャージすること(154)をさらに含む。例えば、
図3に戻ると、行22は、例えば、約1.2Vとすることが出来るスタンバイ選択解除電圧V
HXから、例えば、約5Vとすることが出来る
プログラム選択解除電圧V
HX PROGにプレチャージすることが出来る。さらに、列20は、“ソフト駆動”されるか、またはV
HX PROGと接地との間の中間電圧で浮遊する。この状況下で、セルは選択されず、PCMセル130のPNP BJT126は、逆バイアスをかけられ、アレイ電流の漏出が減少するようにする。
【0035】
図4Bを依然参照すると、複数のワード線をプレチャージすること(154)の後、方法150は、単一のコマンドによって指定される第一のプログラムアクセス動作を実施すること(158−1)をさらに含み、それは、選択された行に接続された第一の選択されたPCMセルに(複数の)第一のプログラムパルスを印加すること(158a−1)を含むことが出来る。例えば、再度
図3を参照すると、プログラムされる対象(T)PCMセルは、選択された行22−mに、選択された行プログラム電圧V
ROW SEL PROGを印加することによって選択することが出来、選択された列20−nにV
COL SEL PROG、約5Vにバイアスをかける間、選択された行プログラム電圧は、ほぼゼロボルトとすることが出来る。さらに、残りの選択されていない行22−(m+1)および22−(m−1)は、選択解除電圧V
HX PROGで維持することが出来、V
HX PROGは約5Vとすることが出来、残りの選択されていない列20−(n−1)および20−(n+1)は、“ソフト駆動”されるか、またはV
HX PROGと接地との間の中間電圧で浮遊されたままで維持することが出来る。このようなプログラムバイアススキームの下で、T PCMセルのPNP BJT126は、順バイアスをかけられ、十分なプログラム電流I
PROGが、T PCMセルを通って流れ、低抵抗状態(LRS)から高抵抗状態(HRS)に対象(T)PCMセルを切り替えるようにする。さらに、プログラムバイアススキームの下で、選択された列20−nに沿った選択されていない“A”セルのPNP BJT126は、ゼロボルト近傍にバイアスされ、オフのままとすることが出来る。さらに、選択された行22−mに沿った選択されていない“B”セルのPNP BJT126は、PNP BJT126の閾値電圧未満にバイアスされて、これもまたオフのままである。さらに、選択されていない行22−(m−1)および22−(m+1)に沿った、及び、選択されていない列20−(n−1)および20−(n+1)に沿った選択されていない“C”セルのPNP BJT126は、逆バイアスをかけられ、アレイ漏出が減少するようにする。
【0036】
依然、
図4Bを参照すると、第一の選択されたPCMセルに(複数の)第一のプログラムパルスを印加すること(158a−1)の後、方法150は、選択された行に接続された第一の選択されたPCMセルの抵抗が、所望の抵抗レベルに上昇したか否かを判定するために、第一のプログラムパルスを受信した第一の選択されたPCMセルに第一のプログラムベリフィケーション(verification)パルスを印加すること(158b−1)をさらに含む。幾つかの実施形態においては、行の残りの電圧を実質的に変化しないように維持する間、第一のベリフィケーションパルスを、第一の選択されたPCMセルの第一の選択された行に印加することが出来る。例えば、
図3に戻ると、例えば、約0ボルトにとすることが出来る、選択された行ベリファイ電圧パルスV
ROW SEL VERIFYを選択された行22−mに印加し、例えば、約1.2Vとすることが出来る、選択された列ベリファイ電圧V
COL SEL VERIFYを選択された列20−nに印加することによって、対象(T)PCMセルの状態をベリファイすることが出来る。残りの選択されていない行22−(m+1)および22−(m−1)は、例えば、約5Vとすることが出来るプログラム選択解除電圧V
HX PROGにプレチャージされたままとすることが出来、列20は、“ソフト駆動”またはV
HX PROGと接地との間の中間電圧で浮遊する。このようなベリフィケーションバイアススキームの下で、T PCMセルのPNP BJT126は、順バイアスをかけられ、T PCMセルを通って流れるベリフィケーション電流I
VERIFYがセンス増幅器36によって検知することが出来るようにする。さらに、ベリフィケーションバイアススキームの下で、選択された列20−nに沿って選択されていない“A”セルのPNP BJT126は、逆バイアスをかけられ、オフのままとすることが出来る。さらに、選択された行22−mに沿った選択されていない“B”セルのPNP BJT126は、PNP BJT126の閾値電圧未満にバイアスをかけることが出来、オフのままとなる。さらに、選択されていない行22−(m−1)および22−(m+1)に沿い選択されていない列20−(n−1)および20−(n+1)に沿った選択されていない“C”セルのPNP BJT126は、逆バイアスをかけられ、そのアレイ漏出が減少するようにする。
【0037】
図4Bを依然参照すると、方法150は、選択された列に接続されたセンス増幅器を用いて、選択されたメモリセルを通じて、選択された行(例えば、ワード線)と選択された列(例えば、ビット線)との間で検出された電流を検知することに基づいて、第一の選択されたPCMセルが所望の抵抗レベルにプログラムされたか否かの第一のベリフィケーションを行うこと(158c−1)をさらに含む。第一の選択されたPCMセルが所望の抵抗レベルにプログラムされていなかったことを判定すると、第一のプログラムアクセス動作を実施すること(158−1)は、第一の選択されたPCMセルが所望の抵抗レベルにプログラムされるまで、一つ以上の追加のプログラムパルスを印加すること(158a−2から158a−n)と、追加の其々のプログラムベリフィケーション動作を適用すること(158b−2から158b−n)と、追加の其々のベリフィケーションを行うこと(158c−2から158c−n)と、をさらに含む。
【0038】
方法150は、単一のコマンドによって指定される一つ以上の追加のプログラムアクセス動作が単一のコマンドに対応する複数のワード線のうちの第二のワード線に接続された第二のPCMセルで実施されているままであるか否かを判定すること(162−1)をさらに含む。
【0039】
単一のコマンドによって指定される一つ以上の追加のプログラムアクセス動作が実施されているままであると判定すること(162−1)によって、方法150は、第一の選択されたPCMセルに対して上述されたのと同様に、適切な数のプログラムパルスを印加すること(158a−1から158a−n)を含み得る、単一のコマンドによって指定される追加のプログラムアクセス動作を実施すること(158−2から158−m)と、其々のプログラムベリフィケーション動作を適用すること(158b−1から158b−n)と、所望の抵抗レベルに追加で選択されたPCMセルがプログラムされたか否かの其々のベリフィケーションを行うこと(158c−1から158c−n)と、をさらに含む。単一のコマンドで指定される追加の適切な数のプログラム動作を各々実施すること(158−2から158−m)の後、各々の後に、単一のコマンドによって指定されるように、少なくとも一つの追加のメモリアクセス動作が実施されているままであるか否かを判定すること(162−2から162−m)が続く。
【0040】
第一のプログラムアクセス動作を実施すること(158−1)とは対照的に、その後の追加のプログラムアクセス動作を実施すること(158−2から158−m)は、複数の行をプレチャージすること(154)を先に行う必要がないことが理解されるだろう。なぜなら、複数の行は、単一のコマンドによって指定されるプログラムアクセス動作158−1から158−mが実施されるまで、ディスチャージされないからである。
【0041】
このように、単一のコマンドに応じて、複数のプログラムアクセス動作を実施すること(158−1から158−m)と、単一のコマンドによって指定される追加のメモリアクセス動作が実施されたままではないことを判定すること(162−m)の後、方法150は、例えば、約5Vとすることが出来るプログラム選択解除電圧V
HX PROGから複数の行をディスチャージすること(164)に進み、例えば、約1.2Vとすることが出来るスタンバイ選択解除電圧V
HXに戻る。さらに、列20は、“ソフト駆動される”か、または、スタンバイ選択解除電圧V
HXと接地との間の中間電圧で浮遊する。
【0042】
複数の行をディスチャージすること(164)の後、方法150は、単一のコマンドによって指定される複数のプログラムアクセス動作を完了し(166)、スタンバイモードにアレイを戻すが、セルは選択されず、PCMセル130のPNP BJT126は逆バイアスをかけられ、アレイ漏出が減少するようにする。このように、方法150を用いることによって、複数の行は、各プログラムアクセス動作のために、複数の行をプレチャージしてディスチャージすることの代わりに、複数のプログラムアクセス動作を実施する前と後に一度だけ、有利にプレチャージおよびディスチャージすることが出来、それによって、行のプレチャージおよびディスチャージに関連する時間とエネルギーを軽減する。
【0043】
図4Aおよび
図4Bに記述された実施形態においては、メモリコントローラは、複数のメモリアクセス(例えば、プログラム)動作のために、PCMセルにメモリアクセス(例えば、プログラム)パルスを印加させた後、PCMセルにプログラムベリフィケーションパルスを印加させるように構成される。しかしながら、他の実施形態(図示せず)においては、メモリコントローラは、第一のPCMセルに複数のメモリアクセス(例えば、プログラム)パルスを印加させた後、其々の複数のPCMセルに複数のプログラムベリフィケーションパルスを印加させるように構成することが出来る。
【0044】
図5は、少なくとも一つのメモリデバイスアレイ216とコントローラ212とを含むマネージドメモリデバイス200の概略的なブロック図であり、コントローラ212は、別の実施形態により、ホストデバイス210から受信された単一のコマンドに応じて、少なくとも一つのメモリデバイスアレイ216で複数のアクセス動作を実施させるように構成される。マネージドメモリデバイス200の少なくとも一つのメモリデバイスアレイ216は、メモリアレイに加えて、他の補助回路の中でもとりわけ、内蔵コントローラ、行デコーダおよび列デコーダを含むことが出来る。メモリデバイスアレイ216は、例えば、
図1に上述されたのと同様に、構成することが出来る。
【0045】
一実施形態においては、
図5のマネージドメモリデバイス200は、内蔵マルチメディアカード(eMMC)デバイスを含み、少なくとも一つのメモリデバイスアレイ216は、NANDフラッシュアレイを含み、コントローラ212は、単一のパッケージされたダイ中のマネージドメモリデバイス200内に含まれる。一実施形態においては、eMMCデバイスを含むマネージドメモリデバイス200は、外部シリアルインターフェイスを有することが出来る。外部シリアルインターフェイスは、例えば、400Mバイト/秒の帯域幅まで有することが出来る。
【0046】
一般的に、NANDフラッシュメモリアレイにおいては、書き込み動作または読み出し動作は、“ページ”レベルで実施される。ページは、単一のワード線に接続された複数のメモリセルを含むことが出来る。ページ内のメモリセルの数およびページのサイズは、非常に広範囲で変化することが出来る。
【0047】
図6Aは、従来のNANDフラッシュメモリデバイスなどのメモリデバイスで複数のコマンドに応じて、複数のアクセス動作を実施するためのコマンドプロトコルを図示するアクセスタイミング
図220である。
図6Aのコマンドプロトコルは、従来のNANDフラッシュメモリデバイスで実装することが出来、NANDフラッシュメモリデバイスは、メモリアレイを含み、メモリアレイは、複数のコマンドを受信して引き起こすように構成されたメモリコントローラに接続されてもよく、複数のコマンドのうちの各々は、メモリコントローラによって開始される一つのメモリアクセス動作を指定する。メモリコントローラは、複数のコマンドのうちの各々に応じて、指定された一つのメモリアクセス動作を開始するようにさらに構成することができ、指定されたメモリアクセス動作のうちの各々は、書き込み動作または読み出し動作のうちの一つを含む。
【0048】
依然
図6Aを参照すると、アクセスタイミング
図220は、第一のプログラム動作230aを指定する第一のプログラムコマンド222aと、第一のプログラムコマンド222aの後の第一の状態224aと、第一の状態224aの直後の第一の読み出し動作232を指定する第一の読み出しコマンド226aと、第一の読み出しコマンド226aの後の第二の状態224bと、第二の状態224bの直後の第二のプログラム動作230bを指定する第二のプログラムコマンド222bと、第三の状態224cと、を示すメモリデバイスBUSタイムライン220aを図示する。第一のプログラムコマンド222a、第一の読み出しプログラム226a、第二のプログラムコマンド222bの各々は、ページサイズを超えない其々の単一のアクセス動作を指定することが出来る。例示として、16Kバイトのページサイズに対して、第一のプログラムコマンド222a、第一の読み出しコマンド226aおよび第二のプログラムコマンド222bのうちの各々は、4Kバイトのメモリに対してアクセスすることを各々指定することが出来る。
【0049】
アクセスタイミング
図220は、また、複数のコマンドによってトリガーされ、NANDフラッシュメモリアレイで実施される複数のアクセス動作を記述するディスクリプションライン220bを図示する。ディスクリプションライン220bは、第一のプログラムコマンド222aによってトリガーされるNANDフラッシュアレイの第一のページにおける第一のプログラム動作230aを図示する。その後、ディスクリプションライン220bは、第一の読み出しコマンド226aによってトリガーされるNANDフラッシュアレイで実施される第一の読み出し動作232を図示する。第一の読み出し動作232は、第一のページ、または第一のページとは異なる第二のページで実施することが出来る。その後、ディスクリプションライン220bは、第二のプログラムコマンド222bによってトリガーされ、NANDフラッシュアレイで実施される第二のプログラム動作230bを図示する。第二のプログラム動作230bは、第一のページ、第一のページとは異なる第二のページ、または第一および第二のページとは異なる第三のページで実施することが出来る。例示として、16Kバイトのページサイズに対して、第一のプログラム動作230a、第一の読み出し動作232および第二のプログラム動作230bのうちの各々は、複数のアクセスコマンドのうちの其々一つに応じて、4Kバイトのメモリに各々アクセスすることが出来る。
【0050】
図6Bは、幾つかの実施形態により、NANDフラッシュメモリアレイとコントローラとを含むメモリデバイスで単一のコマンドに応じて、複数のアクセス動作を実施するためのコマンドプロトコルを図示するアクセスタイミング
図240である。
図6Bのコマンドプロトコルは、
図5で上述されたマネージドメモリデバイス200と類似のメモリデバイスで実装することが出来、マネージドメモリデバイスは、メモリアレイと、単一コマンドを受信し、メモリアレイで実施される複数のメモリアクセス動作を開始するように構成されたメモリコントローラ212とを有するメモリデバイス216を含む。メモリコントローラは、単一のコマンドに応じて、指定された複数のメモリアクセス動作を開始するようにさらに構成され、指定されたメモリアクセス動作の各々は、書き込み動作または読み出し動作のうちの一つを含む。
【0051】
依然
図6Bを参照すると、アクセスタイミング
図240は、単一のコマンド242と、単一のコマンド242の後の単一の累積した状態244を示すマネージドメモリBUSタイムライン240aを図示する。従来のメモリデバイスに対応し得る、
図6AにおけるメモリBUSタイムライン220aとは異なり、
図6AにおけるマネージドメモリBUSタイムライン240aは、
図5のマネージドメモリデバイス216と類似のマネージドメモリデバイスに対応し、それは、上述されたように、メモリアレイに加えて、他の補助回路の中でもとりわけ、内蔵コントローラ、行デコーダ、列デコーダを含むことが出来る。単一のコマンド242は、例えば、複数のプログラムアクセス動作250と複数の読み出しアクセス動作252とを指定することが出来る。
【0052】
アクセスタイミング
図240は、また、単一のコマンド242によってトリガーされ、NANDフラッシュメモリアレイで実施される複数のアクセス動作を記述する、ディスクリプションライン240bを図示する。ディスクリプションライン240bは、単一のコマンド242によってトリガーされ、NANDフラッシュアレイで実施される複数のプログラムアクセス動作250と、複数の読み出しアクセス動作252とを図示する。単一のコマンド242がマネージドメモリに送信されるが、アクセス動作自体は、NANDフラッシュアレイで実施されることが理解されるだろう。
図6Aと同様に、単一のコマンド内で指定される各アクセス動作は、ページサイズを超えることがない。例示として、16Kバイトのページサイズに対して、単一のコマンド242は、4Kバイトをプログラムするための、第一および第二のプログラムアクセス動作を含む複数のプログラムアクセス動作250と、4Kバイトを読み出すための読み出し動作を含む複数の読み出しアクセス動作252とを指定することが出来る。単一のコマンドに応じて、コントローラは、8Kバイトのプログラム動作として、第一および第二のプログラムアクセス動作を組み合わせ、単一のページで実施させ、指定されたページで読み出しアクセス動作を実施させることが出来る。このように、
図6Aと比較すると、単一のコマンド内のメモリアレイで実施される複数の動作を指定することによって、例えば、複数の状態を提供する追加のオーバーヘッドと、単一のページに書き込む度に、ワード線をプレチャージすることと、を回避することが出来る。
【0053】
上述されたように、単一のコマンドを用いて複数のメモリ動作を実施する方法は、様々な状況で実装することが出来る。以下、単一のコマンドの例示的構造が、実施形態により記述される。
【0054】
表1は、実施形態による単一のコマンドの動作パラメータリストに含まれ得る情報の例を記述する。動作パラメータリストは、パラメータリストヘッダと複数の動作ディスクリプタ(最初から最後まで)とを含む。パラメータリストヘッダは、単一のコマンド内で指定される全ての動作に共通の情報を含む。さらに、動作ディスクリプタは、各動作の詳細を含む。
【表1】
【0055】
表2は、実施形態によるパラメータリストヘッダ内に含まれ得る情報の例を記述する。パラメータリストヘッダは、パラメータリスト長、動作の種類、動作回数、ベースアドレスおよびフラグを含むことが出来る。パラメータリスト長フィールドは、動作パラメータリストの長さを指定する。動作の種類フィールドは、メモリデバイスによってメモリアレイで実施される動作の種類(即ち、プログラム、消去、読み出し)を同定する。動作回数フィールドは、パラメータリストヘッダの後に続く動作ディスクリプタの数を指定する。動作ディスクリプタの数は、メモリアレイで実施されるべき複数の動作の数に対応する。ベースアドレスイールドは、複数の動作ディスクリプタの各々で指定される動作のベースアドレスを含む。
【0056】
フラグフィールドは、数種類の情報を含むことが出来る。例えば、フラグフィールドは、動作ディスクリプタで指定される複数の動作の実行の具体的な順序を指定することが出来る。具体的には、フラグフィールドは、複数の動作が動作ディスクリプタ内に記載された順序で実施されるべきこと、またはその代わりに動作ディスクリプタ内で記載された順序とは異なる順序で実施されるべきことを指定することが出来る。フラグフィールドに含まれ得る他の種類の情報は、(例えば、共通の、または動作による)状態フォーマット、コマンドオプションなどを含む。
【表2】
【0057】
表3は、実施形態による動作ディスクリプタに含まれ得る情報の例を記述する。動作ディスクリプタは、データディスクリプタ長、動作の種類、動作タグ、アドレス、データ長および/または複数のデータ(0番目から(n−1)番目)を含むことが出来る。ディスクリプタ長フィールドは、動作ディスクリプタの長さを指定する。動作の種類フィールドは、メモリデバイスによってメモリアレイで実施される動作の種類(例えば、読み出し、プログラム、消去など)を指定する。動作の種類フィールドは、例えば、類似の情報がパラメータリストヘッダまたは他で提供される場合など、幾つかの実装では省略することが出来る。動作タグフィールドは、各特定の動作ディスクリプタを同定する。存在するときには、動作パラメータリスト内の各動作ディスクリプタは、一意的な値を有する。アドレスフィールドは、動作の開始アドレスを含む。データ長フィールドは、動作に含まれるデータバイトの量を指定する。例えば、ゼロの値を有するデータ長は、デバイスに何のデータも転送されないことを指定し、それはエラーと考えられない。長さフィールドは、例えば、動作が、データ転送を起動しない場合など、幾つかの実装では省略することが出来る。動作ディスクリプタの最後の部分は、ホストからメモリデバイスに転送され得る複数のデータ(0番目から(n−1)番目)を含む。データフィールドは、幾つかの実装においては、例えば、長さフィールドがゼロに設定される、または動作の種類において指定される動作の種類が、デバイスにデータを転送することを含まない場合に省略することが出来る。
【表3】
【0058】
表4は、メモリアレイで実施される動作が実施形態により、デバイスからホストにデータを転送するための要求を含む場合の、データディスクリプタに含まれ得る情報の例を記述する。データディスクリプタは、データディスクリプタ長、動作の種類、データ長、および/または複数のデータ(0番目から(n−1)番目)を含んでもよい。データディスクリプタ長フィールドは、データディスクリプタの長さを指定する。動作の種類フィールドは、要求で受信された値に対応することが出来る。動作タグフィールドは、転送されるべきデータが関連する動作パラメータリスト内の特定の動作ディスクリプタを同定する。データ長フィールドは、データディスクリプタに含まれるデータの量を(例えば、バイトで)指定する。
【0059】
表4を依然参照すると、幾つかの実施形態においては、メモリデバイスは、単一のパケット内で動作パラメータリストに関連付けられたデータを転送するように構成され、各動作ディスクリプタに関連するデータが、動作パラメータリスト内に記載された順序で順次加えられる。他の実施形態においては、メモリデバイスは、動作パラメータリスト内に記述された構造と類似の構造でデータをラップするように構成される。他の実施形態においては、メモリデバイスは、複数のパケット内の動作パラメータリストに関連付けられたデータを転送するように構成される。
【表4】
【0060】
表3に戻ると、幾つかの実施形態においては、動作ディスクリプタが、ホストからデバイスへのデータ転送を含む動作を指定する場合、動作ディスクリプタは、転送されるべきデータに対応するデータ長を指定することが出来る。その後、データは、表4に上述されたのと類似のデータディスクリプタ構造で、コマンドの後の個別の段階で転送されてもよい。
【0061】
表5は、実施形態による、状態ディスクリプタに含まれ得る情報の例を記述する。状態ディスクリプタは、状態ディスクリプタ長、動作の種類、動作タグおよび状態を含んでもよい。状態ディスクリプタ長フィールドは、状態データディスクリプタの長さを指定する。動作の種類フィールドは、動作パラメータリスト内の要求で受信された値に対応することが出来る値を有する。動作タグフィールドは、データが関連する動作ディスクリプタを同定する。
【0062】
メモリデバイスは、動作パラメータリストで指定される動作の累積した状態を提供してもよい。動作パラメータリストで指定される動作が成功して完了する場合には、状態は “成功”を示す。あるいは、デバイスは、各動作を同定するために、動作タグを用いて、動作パラメータリストで指定される各動作に対する状態を提供してもよい。
【表5】
【0063】
本発明は、ある実施形態に関連して記述されてきたが、本明細書で説明された特徴と利点の全てを提供するわけではない実施形態を含む、当業者に対して明らかな他の実施形態もまた、本発明の範囲内にある。さらに、上述された様々な実施形態は、さらなる実施形態を提供するために組み合わせることが出来る。さらに、一実施形態の文脈で図示されたある特徴は、同様に他の実施形態に組み入れることが出来る。したがって、本発明の範囲は、添付の請求項を参照することによってのみ定義される。