(58)【調査した分野】(Int.Cl.,DB名)
コントローラ、ページバッファと行方向に配列されたN−ビットメモリセルとを具備する3次元不揮発性メモリ、及びランダムアクセスメモリを含むメモリシステムのプログラム方法において、
前記コントローラからN−ビットデータの中で第1番目ビットを受信し、前記N−ビットデータの第1番目ビットを前記ランダムアクセスメモリに格納する段階と、
前記N−ビットデータの第1番目ビットを前記ランダムアクセスメモリに格納した後に、前記コントローラから前記N−ビットデータの第2番目ビットを受信する段階と、
前記N−ビットデータの少なくとも第1番目ビット及び第2番目ビットの組み合わせは前記メモリセルと連関し、且つマルチページデータに対応する全体データ(1つのメモリセルにプログラムされるべきNビットのデータを、1つの行方向に沿って配列された全てのメモリセル分だけ揃えたデータ、以下、全体データという)の一部であり、
前記マルチページデータを前記ページバッファへローディングする段階と、
前記マルチページデータの前記ページバッファへローディングする段階は、前記N−ビットデータの第1番目ビットを前記ランダムアクセスメモリから前記ページバッファへ伝送するサブ段階と、
前記N−ビットデータの第2番目ビットを、前記ランダムアクセスメモリを迂回して前記コントローラから前記ページバッファへ直接伝送するサブ段階と、を含み、
前記マルチページデータを前記ページバッファから前記メモリセルに同時にプログラムする段階と、を含み、
前記N−ビットデータの第1番目ビットを前記ページバッファに格納した後に、前記N−ビットデータの第3番目ビットを前記コントローラから受信する段階、及び、
前記N−ビットデータの第3番目ビットを前記メモリセルに追加してプログラムする段階をさらに含み、
前記N−ビットデータの少なくとも第1番目ビット、第2番目ビット、及び第3番目ビットの組み合わせは前記メモリセルと連関し、且つマルチページデータに対応する全体データであることを特徴とするプログラム方法。
前記マルチページデータの前記ページバッファへのローディングは、前記N−ビットデータの第3番目ビットを前記コントローラから前記ランダムアクセスメモリを迂回して前記ページバッファへ直接伝送する段階をさらに含むことを特徴とする請求項1に記載のプログラム方法。
前記N−ビットデータの第1番目ビットの前記ランダムアクセスメモリから前記ページバッファへの伝送は、前記N−ビットデータの第2番目ビットが前記コントローラから前記ページバッファへ直接伝送される間に、少なくとも部分的に遂行されることを特徴とする請求項1に記載のプログラム方法。
前記メモリセルの各々はプログラム動作の時に1つのアドレスによって識別され、読出し動作の時に2又はそれ以上の互に異なるアドレスによって識別されることを特徴とする請求項1に記載のプログラム方法。
コントローラ、ページバッファと行方向に配列されたN−ビットメモリセルとを具備する3次元不揮発性メモリ、及びランダムアクセスメモリを含むメモリシステムのプログラム方法において、
N−ビットデータの第1番目ビットを前記コントローラから受信し、前記N−ビットデータの第1番目ビットを前記ランダムアクセスメモリを迂回して前記ページバッファへ直接ローディングし、そして前記N−ビットデータの第1番目ビットを前記メモリセルにプログラムする段階と、
前記N−ビットデータの第1番目ビットを前記メモリセルにプログラムした後に、前記N−ビットデータの第2番目ビットを前記コントローラから受信し、前記N−ビットデータの第2番目ビットを前記ランダムアクセスメモリに格納する段階と、
前記N−ビットデータの第2番目ビットを前記ランダムアクセスメモリに格納した後に、前記N−ビットデータの第2番目ビットを前記ランダムアクセスメモリから前記ページバッファへ伝送する段階と、
前記N−ビットデータの第3番目ビットを前記コントローラから受信し、前記N−ビットデータの第3番目ビットを、前記ランダムアクセスメモリを迂回して前記ページバッファへ直接ローディングする段階と、
前記N−ビットデータの第1番目ビット、第2番目ビット、及び第3番目ビットの組み合わせは、前記メモリセルと連関し、且つマルチページデータに対応する全体データ(1つのメモリセルにプログラムされるべきNビットのデータを、1つの行方向に沿って配列された全てのメモリセル分だけ揃えたデータ、以下、全体データという)であり、
前記N−ビットデータの第2番目ビット及び第3番目ビットを前記ページバッファから前記メモリセルに同時にプログラムする段階と、を含むことを特徴とするプログラム方法。
前記N−ビットデータの第2番目ビットを前記ランダムアクセスメモリから前記ページバッファへ伝送する動作は前記N−ビットデータの第3番目ビットが前記ページバッファへ直接伝送される間に、少なくとも部分的に遂行されることを特徴とする請求項5に記載のプログラム方法。
コントローラと、ページバッファと、行方向に配列されたN−ビットメモリセルと、を具備する3次元不揮発性メモリ、及びランダムアクセスメモリを含むメモリシステムのプログラム方法において、
N−ビットデータの第1番目ビットを前記コントローラから受信し、前記N−ビットデータの第1番目ビットを前記ランダムアクセスメモリに格納する段階と、
前記N−ビットデータの第2番目ビットを前記コントローラから受信し、前記N−ビットデータの第2番目ビットを前記ランダムアクセスメモリに格納する段階と、
前記N−ビットデータの第1番目ビット及び第2番目ビットを前記ランダムアクセスメモリから前記ページバッファへ同時にローディングし、前記N−ビットデータの第1番目ビット及び第2番目ビットを前記ページバッファから前記メモリセルに同時にプログラムする段階と、
前記N−ビットデータの第1番目ビット及び第2番目ビットを前記ページバッファから前記メモリセルに同時にプログラムした後に、前記N−ビットデータの第3番目ビットを前記コントローラから受信し、前記N−ビットデータの第3番目ビットを前記ランダムアクセスメモリに格納し、前記N−ビットデータの第3番目ビットを前記ランダムアクセスメモリから前記ページバッファへローディングし、そして前記N−ビットデータの第3番目ビットを前記ページバッファから前記メモリセルにプログラムする段階と、を含み、
前記N−ビットデータの第1番目ビット、第2番目ビット、及び第3番目ビットの組み合わせは前記メモリセルと連関し、且つマルチページデータに対応する全体データ(1つのメモリセルにプログラムされるべきNビットのデータを、1つの行方向に沿って配列された全てのメモリセル分だけ揃えたデータ、以下、全体データという)であることを特徴とするプログラム方法。
前記メモリセルの各々はプログラム動作の時に1つのアドレスによって識別され、読出し動作の時に2又はそれ以上の互に異なるアドレスによって識別されることを特徴とする請求項7に記載のプログラム方法。
【発明を実施するための形態】
【0031】
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できるように、本発明の実施形態を添付した図面を参照して詳細に説明する。
【0032】
図1は本発明の第1実施形態によるメモリシステム1000を示すブロック図である。
図1を参照すれば、メモリシステム1000は3次元不揮発性メモリ(NVM)1100、ランダムアクセスメモリ(RAM)1200、及びコントローラ1300を含む。
【0033】
3次元不揮発性メモリ1100はコントローラ1300から制御信号CTRL、コマンドCMD、及びアドレスADDRを受信し、コントローラ1300とデータDATAを交換するように構成される。3次元不揮発性メモリ1100は基板上で行方向と列方向に配列され、基板と垂直になる高さ方向に配置された複数のメモリセルを包含する。即ち、3次元不揮発性メモリ1100は3次元構造を有する。3次元不揮発性メモリ1100は、ROM(Read Only Memory)、PROM(Programmable ROM)、EPROM(Electrically Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ、PRAM(Phase−change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)の中で少なくとも1つを包含する。説明を簡単にするために、以下ではフラッシュメモリ、より詳細には3次元NANDフラッシュメモリの例を参照して本発明の技術的思想を説明する。しかし、本発明の技術的思想は3次元NANDフラッシュメモリに限定されない。
【0034】
ランダムアクセスメモリ1200はコントローラ1300から制御信号CTRL、コマンドCMD、及びアドレスADDRを受信し、コントローラ1300とデータDATAを交換するように構成される。ランダムアクセスメモリ1200はDRAM、SRAM、PRAM、MRAM、RRAM(登録商標)、FRAM(登録商標)の中で少なくとも1つを包含する。
【0035】
コントローラ1300は3次元不揮発性メモリ1100及びランダムアクセスメモリ1200の読出し、プログラム、及び消去動作を制御する。コントローラ1300は外部装置EXと通信できる。例えば、コントローラ1300は外部ホストと通信できる。コントローラ1300は外部装置EXから受信されるデータを、3次元不揮発性メモリ1100にプログラム(書き込み)し、又はランダムアクセスメモリ1200に書き込み(プログラムし)、3次元不揮発性メモリ1100又はランダムアクセスメモリ1200から読み出されたデータを外部装置EXへ出力する。
【0036】
図2は本発明の実施形態によるプログラム方法を示す順序図である。
図2を参照すれば、S110段階で、マルチページデータが受信される。マルチページデータは1つの行方向に沿って配列されたメモリセルにプログラムされるデータを包含する。マルチページデータは1つのメモリセルにプログラムされる2以上のビットを包含する。例えば、マルチページデータは1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビット(LSB:Least Significant Bit)乃至最上位ビット(MSB:Most Significant Bit)を包含する。
【0037】
S120段階で、1つの行方向に沿って配列されたメモリセルにマルチページデータがプログラムされる。マルチページデータは1つの行方向に沿って配列されたメモリセルに同時にプログラムされ得る。
【0038】
図3は本発明の実施形態による3次元不揮発性メモリ1100を示すブロック図である。
図1及び
図3を参照すれば、3次元不揮発性メモリ1100はメモリセルアレイ1110、アドレスデコーダー1120、ページバッファ1130、及び制御ロジック1140を含む。
【0039】
メモリセルアレイ1110はワードラインWL、ストリング選択ラインSSL、及び接地選択ラインGSLを通じてアドレスデコーダー1120に連結され、ビットラインBLを通じてページバッファ1130に連結される。メモリセルアレイ1110は複数のメモリブロックBLK1〜BLKzを含む。複数のメモリブロックBLK1〜BLKzの各々は基板上で行方向及び列方向に沿って配列され、基板と垂直になる高さ方向に配置される3次元構造の複数のメモリセルを含む。複数のメモリセルの各々は2以上のビットを格納できる。
【0040】
アドレスデコーダー1120はワードラインWL、ストリング選択ラインSSL、及び接地選択ラインGSLを通じてメモリセルアレイ1110に連結される。アドレスデコーダー1120は制御ロジック1140の制御に応答して動作するように構成される。アドレスデコーダー1120は外部からアドレスADDRを受信する。
【0041】
アドレスデコーダー1120は、受信したアドレスADDRの中で行アドレスをデコーディングするように構成される。デコーディングされた行アドレスを利用して、アドレスデコーダー1120はワードラインWL、ストリング選択ラインSSL、及び接地選択ラインGSLを選択する。
アドレスデコーダー1120は、また、伝達されたアドレスADDRの中で列アドレスをデコーディングするように構成される。デコーディングされた列アドレスDCAはページバッファ1130へ伝達される。例示的に、アドレスデコーダー1120は行デコーダー、列デコーダー、アドレスバッファ等の構成要素を含む。
【0042】
ページバッファ1130はビットラインBLを通じてメモリセルアレイ1110に連結される。ページバッファ1130は制御ロジック1140の制御に応答して動作する。ページバッファ1130はアドレスデコーダー1120からデコーディングされた列アドレスDCAを受信するように構成される。デコーディングされた列アドレスDCAを利用して、ページバッファ1130はビットラインBLを選択する。
【0043】
ページバッファ1130はコントローラ1300からデータを受信し、受信されたデータをメモリセルアレイ1110に書き込む。ページバッファ1130はメモリセルアレイ110からデータを読出し、読み出されたデータをコントローラ1300へ伝達する。ページバッファ1130はメモリセルアレイ1110の第1格納領域からデータを読出し、読み出されたデータをメモリセルアレイ1110の第2格納領域に書き込む。例えば、ページバッファ1130はコピーバック(copy−back)を遂行するように構成される。
【0044】
ページバッファ1130は複数のページバッファユニットPUを含む。複数のページバッファユニットPUは各々ビットラインBLに連結される。複数のページバッファユニットPUは、プログラムの時にビットラインBLをバイアスし、読出し及びプログラム検証の時にビットラインBLの電圧を感知する。
【0045】
制御ロジック1140はアドレスデコーダー1120とページバッファ1130に連結される。制御ロジック1140は不揮発性メモリ1100の諸般動作を制御するように構成される。制御ロジック1140は外部から伝達される制御信号CTRL及びコマンドCMDに応答して動作する。
【0046】
図4は
図3のメモリセルアレイ1110のメモリブロックBLK1〜BLKzの中で1つのメモリブロックBLKaの実施形態を示す回路図である。
図4を参照すれば、メモリブロックBLKaは複数(本実施例では2×2=4個)のセルストリングCS11、CS12、CS21、CS22を含む。複数のセルストリングCS11、CS12、CS21、CS22の各々はストリング選択トランジスターSST、接地選択トランジスターGST、及び、本実施例では6個の、縦続接続されたメモリセルMC1〜MC6を含む。複数のセルストリングCS11、CS12、CS21、CS22の各々において、メモリセルMC1〜MC6はストリング選択トランジスターSST及び接地選択トランジスターGSTの間に連結される。セルストリングの数、及びセルストリング中のメモリセルの数はこれに限定されない。
【0047】
複数のセルストリングCS11、CS12、CS21、CS22において、接地選択トランジスターGSTの制御ゲートは接地選択ラインGSLに共通に連結される。接地選択トランジスターGSTの一端はメモリセルMC1に連結され、他端は共通ソースラインCSLに共通に連結される。
【0048】
複数のセルストリングCS11、CS12、CS21、CS22において、メモリセルMC1はワードラインWL1に共通に連結され、メモリセルMC2はワードラインWL2に共通に連結され、メモリセルMC3はワードラインWL3に共通に連結され、メモリセルMC4はワードラインWL4に共通に連結され、メモリセルMC5はワードラインWL5に共通に連結され、そしてメモリセルMC6はワードラインWL6に共通に連結される。
【0049】
セルストリングCS11、CS12の制御ゲートはストリング選択ラインSSL1に連結され、セルストリングCS21、CS22の制御ゲートはストリング選択ラインSSL2に連結される。セルストリングCS11、CS21のストリング選択トランジスターSSTの一端はビットラインBL1に連結され、他端はメモリセルMC6に連結される。セルストリングCS21、CS22のストリング選択トランジスターSSTの一端はビットラインBL2に連結され、他端はメモリセルMC6に連結される。
【0050】
以下で、説明を簡単にするために、行、列、及び高さが定義される。ストリング選択ラインSSL1、SSL2が伸張される方向は行方向である。セルストリングCS11、CS12は行方向に沿って配列されて第1行を形成する。セルストリングCS21、CS22は行方向に沿って配列されて第2行を形成する。
【0051】
ビットラインBL1、BL2が伸張される方向は列方向である。セルストリングCS11、CS21は列方向に沿って配列されて第1列を形成する。セルストリングCS12、CS22は列方向に沿って配列されて第2列を形成する。
【0052】
接地選択トランジスターGSTからストリング選択トランジスターSSTに向かう方向は高さ方向である。
【0053】
メモリセルMC1〜MC6は、行及び列方向に沿って配列され、高さ方向に沿って積層された3次元構造を形成する。同一の高さのメモリセルMCは1つのワードラインWLに共通に連結され、互に異なる高さのメモリセルMCは互に異なるワードラインWLに各々連結される。同一行のストリング選択トランジスターSSTは1つのストリング選択ラインSSL1又はSSL2に共通に連結され、互に異なる行のストリング選択トランジスターSSTは互に異なるストリング選択ラインSSL1、SSL2に各々連結される。同一の列のストリング選択トランジスターSSTは同一のビットラインBL1又はBL2に連結され、互に異なる列のストリング選択トランジスターSSTは互に異なるビットラインBL1、BL2に各々連結される。
【0054】
メモリセルMC1〜MC6の各々は2以上のビットを格納する。即ち、メモリセルMC1〜MC6はマルチレベルセル(Multi Level Cells:MLC)である。
【0055】
例示的に
図4では、メモリブロックBLKaは4つのセルストリングCS11、CS12、CS21、CS22を含む場合が示されている。しかし、メモリブロックBLKaのセルストリングの数はこれに限定されない。セルストリングは行方向又は列方向に沿って2個以上提供され得る。
図4で、各セルストリングは6つのメモリセルMC1〜MC6を含む場合が示されている。しかし、各セルストリングのメモリセルの数はこれに限定されない。各セルストリングで高さ方向に沿って2個以上のメモリセルが提供され得る。
【0056】
例示的に
図4では、接地選択トランジスターGSTは1つの接地選択ラインGSLに共通に連結される場合が示されている。しかし、ストリング選択トランジスターSSTと同様に、同一の行の接地選択トランジスターGSTは1つの接地選択ラインに共通に連結され、互に異なる行の接地選択トランジスターGSTは互に異なる接地選択ラインに連結されるようにメモリブロックBLKaの構造が変更及び応用され得る。
【0057】
例示的に
図4では、各セルストリングに1つのストリング選択トランジスターSST及び1つの接地選択トランジスターGSTが提供される場合が示されている。しかし、各セルストリングには、2個以上のストリング選択トランジスター又は2個以上の接地選択トランジスターが提供され得る。
【0058】
例示的に、各セルストリングのメモリセルMC1〜MC6の中で少なくとも1つはダミーメモリセルとして使用され得る。
【0059】
図5は
図4の回路図に対応するメモリブロックBLKaの構造を示す斜視図である。
図4及び
図5を参照すれば、基板111の上面内部に行方向に沿って伸張され、列方向に沿って互いに離隔された共通ソース領域CSRが提供される。共通ソース領域CSRは共通に連結されて、共通ソースラインCSLを構成する。例示的に、基板111はP導電形を有する半導体物質を包含し、共通ソース領域CSRはN導電形を有する半導体物質を包含する。
【0060】
共通ソース領域CSRの間で、複数の絶縁物質112、112aが高さ方向(基板と垂直になる方向)に沿って基板111上に順次的に提供される。複数の絶縁物質112、112aは高さ方向に沿って互いに離隔される。例示的に、複数の絶縁物質112、112aは半導体酸化膜のような絶縁物質を包含する。例示的に、複数の絶縁物質112、112aの中で基板111と接触する絶縁物質112aの厚さは他の絶縁物質112の厚さより薄いことがあり得る。
【0061】
隣接する共通ソース領域CSRの間の上方で、行方向と列方向に沿って互いに離隔されて配置され高さ方向に沿って複数の絶縁物質112、112aを貫通する複数のピラーPLが提供される。例示的に、複数のピラーPLは絶縁物質112、112aを貫通して基板111と接触する。複数のピラーPLの各々はチャンネル膜114及び内部物質115を包含する。チャンネル膜114はP導電形を有する半導体物質又は真性(intrinsic)半導体物質を包含する。内部物質115は絶縁物質又はエアーギャップ(air−gap)を包含できる。
【0062】
隣接する共通ソース領域CSRの間の上方で、絶縁物質112、112a及びピラーPLの露出された表面に沿って列方向の断面が「コ」字型の情報格納膜116が提供される。情報格納膜116は電荷を捕獲又は放出することによって、情報を格納できる。情報格納膜116はONO(Oxide−Nitride−Oxide)又はONA(Oxide−Nitride−Aluminium)を包含することができる。
【0063】
隣接する共通ソース領域CSRの間の上方で、そして絶縁物質112、112aの間で、情報格納膜116の露出された表面に情報格納膜116の「コ」字型の断面を埋めるように導電物質CM1〜CM8が提供される。導電物質CM1〜CM8の中で導電物質CM8は、ストリング選択ラインカット(SSLカット)によって分離され得る。ストリング選択ラインカット(SSLカット)は行方向に沿って伸張され、導電物質CM8を列方向に沿って互いに分離する。導電物質CM1〜CM8は金属性導電物質を包含できる。
【0064】
絶縁物質112、112aの中で最も高い高さに位置した絶縁物質の上部面に提供される情報格納膜116は除去され得る。例示的に、絶縁物質112、112aの側面の中でピラーPLと対向する側面に提供される情報格納膜116は除去され得る。
【0065】
複数のピラーPLの上に複数のドレーン320が提供される。例示的に、ドレーン320はN導電形を有する半導体物質(例えば、シリコン)を包含できる。例示的に、ドレーン320はピラーPLのチャンネル膜114の上部へ拡張され得る。
【0066】
ドレーン320上に、列方向に沿って伸張され、行方向に沿って互いに離隔されたビットラインBLが提供される。ビットラインBLはドレーン320に連結される。例示的に、ドレーン320及びビットラインBLはコンタクトプラグを通じて連結され得る。ビットラインBL1、BL2は金属性導電物質を包含できる。
【0067】
複数のピラーPLは情報格納膜116及び複数の導電物質CM1〜CM8と共に複数のセルストリングを形成する。複数のピラーPLの各々は情報格納膜116及び隣接する導電物質CM1〜CM8と共に1つのセルストリングを構成する。
【0068】
導電物質CM1は接地選択ラインGSLとして動作し、接地選択トランジスターGSTの制御ゲートとして動作する。情報格納膜116及びチャンネル膜114の中で導電物質CM1と隣接する部分は接地選択トランジスターGSTのブロッキング絶縁膜、電荷捕獲膜、トンネルリング絶縁膜、及びチャンネルとして動作できる。
【0069】
導電物質CM2はワードラインWL1として動作し、メモリセルMC1の制御ゲートとして動作する。導電物質CM3はワードラインWL2として動作し、メモリセルMC2の制御ゲートとして動作する。導電物質CM4はワードラインWL3として動作し、メモリセルMC3の制御ゲートとして動作する。導電物質CM5はワードラインWL4として動作し、メモリセルMC4の制御ゲートとして動作する。導電物質CM6はワードラインWL5として動作し、メモリセルMC5の制御ゲートとして動作する。導電物質CM7はワードラインWL6として動作し、メモリセルMC6の制御ゲートとして動作する。
【0070】
導電物質CM8はストリング選択ラインSSL1、SSL2として動作し、ストリング選択トランジスターSSTの制御ゲートとして動作する。
【0071】
メモリセルMC1〜MC6は基板111上で行方向と列方向に沿って配列され、基板111と垂直になる高さ方向に積層された3次元構造を有する。
【0072】
図6は
図4のワードラインWL1に連結されたメモリセルのページ構造を示す。例示的に、メモリセルMC1〜MC6の各々は最下位ビット(Least Significant Bit、LSB)、中間ビット(Central Significant Bit、CSB)、及び最上位ビット(Most Significant Bit、MSB)を格納する。しかし、メモリセルMC1〜MC6の各々が格納するビットの数は限定されない。メモリセルMC1〜MC6の各々は2ビット又は4ビット以上を格納できる。
【0073】
図4乃至
図6を参照すれば、ワードラインWL1に連結されたメモリセルMC1の中で第1番目行のメモリセルMC1に格納される最下位ビットLSBは最下位ビットページを形成し、中間ビットCSBは中間ビットページを形成し、そして最上位ビットMSBは最上位ビットページを形成する。
【0074】
ワードラインWL1に連結されたメモリセルMC1の中で第2番目行のメモリセルMC1に格納される最下位ビットLSBは最下位ビットページを形成し、中間ビットCSBは中間ビットページを形成し、そして最上位ビットMSBは最上位ビットページを形成する。
【0075】
即ち、1つの行のメモリセルの各々に格納される1つのビットは単一ページを形成できる。1つの行のメモリセルは複数の単一ページを含むマルチページを形成できる。マルチページは1つの行のメモリセルにプログラムされるすべての単一ページを示し得る。
【0076】
図7は
図2のプログラム方法の第1例を示す順序図である。
図1、
図3、及び
図7を参照すれば、S210段階で、プログラムデータが受信される。例えば、外部装置EXからコントローラ1300にプログラムデータが受信され得る。
【0077】
S220段階で、受信されたプログラムデータが1つの行方向に沿って配列されたメモリセルにプログラムされるべき全体データに対応するか否かが判別される。ここで「全体データ」は、該メモリセルにプログラムされるべきすべてのデータを意味する。従って1つのメモリセルがNビットを格納する時、「全体データ」は1つのメモリセルにプログラムされるべきNビットのデータを、1つの行方向に沿って配列された全てのメモリセル分だけ揃えたデータを意味する。全体データは各メモリセルにプログラムされるべき最下位ビット、中間ビット、及び最上位ビットを包含する。
【0078】
コントローラ1300は外部装置EXからプログラムデータと共に受信されるアドレス(例えば、論理アドレス)を参照して、受信されたプログラムデータの性質を判別する。一実施例によれば、コントローラ1300は外部装置EXからプログラムデータと共に受信されるアドレスを物理アドレスに変換し、変換された物理アドレスを参照して、受信されたプログラムデータの性質を判別する。
【0079】
即ち、受信されたプログラムデータが1つの行方向に沿って配列されたメモリセルにプログラムされるべき全体データに対応しなければ、S230段階でバッファプログラムが遂行される。バッファプログラムはランダムアクセスメモリ1200を利用するプログラムであり、バッファプログラムは
図11乃至
図21を参照してより詳細に説明される。
【0080】
受信されたプログラムデータが1つの行方向に沿って配列されたメモリセルにプログラムされるべき全体データに対応すれば、S240段階で、受信されたマルチページデータはランダムアクセスメモリ1200を経ることなく、3次元不揮発性メモリ1100のページバッファ1130へローディングされる。具体的には、コントローラ1300は受信されたマルチページデータを3次元不揮発性メモリ1100へ伝送し、3次元不揮発性メモリ1100は受信されたマルチページデータをページバッファ1130へローディングする。
【0081】
S250段階で、ページバッファ1130へローディングされたマルチページデータが3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。3次元不揮発性メモリ1100はページバッファ1130へローディングされたマルチページデータを1つの行方向に沿って配列されたメモリセルに同時にプログラムできる。
【0082】
図8は
図1のメモリシステム1000で
図7のプログラム方法によって、プログラムが遂行される過程の例を示す。
図7及び
図8を参照すれば、外部装置EXからプログラムデータPD1、PD2、PD3が順次的に受信される。ここで、プログラムデータPD1、PD2、PD3がマルチページデータに対応する場合を考える。例えば、最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3が順次的に受信され、1つの行方向に沿って配列されたメモリセルにプログラムされるべきすべてのデータが受信される。
【0083】
最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3はランダムアクセスメモリ1200を経由することなく、3次元不揮発性メモリ1100のページバッファ1130へ直接ローディングされ得る。ページバッファ1130へローディングされた最下位ビットページデータPD1、中間ビットページデータPD2及び最上位ビットページデータPD3はメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0084】
図9は3次元不揮発性メモリ1100のプログラムの時に印加される電圧の例を示す。
図9で、横軸は時間Tを示し、縦軸は電圧Vを示す。
図4及び
図9を参照すれば、ワードラインWL1〜WL6の中で選択されたワードラインにプログラム電圧VPGMが印加される。プログラム電圧VPGMが印加された後に、検証電圧VFY1〜VFY7が順次的に印加され得る。検証電圧VFY1〜VFY7はマルチページデータを同時にプログラムするための電圧である。即ち、検証電圧VFY1〜VFY7はメモリセルの閾値電圧が目標レベルに到達したか否かを判別する電圧である。
【0085】
検証電圧VFY1〜VFY7が順次的に印加された後に、プログラムフェイルであるメモリセルMCが存在すれば、プログラム電圧VPGMが再び印加される。この時、プログラム電圧VPGMのレベルは或る一定の電圧増分(△V)だけ増加される。以後に、検証電圧VFY1〜VFY7が順次的に印加される。
【0086】
全てのメモリセルMCがプログラムパスする時まで、プログラム電圧VPGMと検証電圧VFY1〜VFY7が反復的に印加される。プログラム電圧VPGMが反復的に印加される毎に、プログラム電圧VPGMのレベルは電圧増分(△V)だけ増加される。即ち、ISPP(Incremental Step Pulse Program)が遂行される。
【0087】
図10は
図9の電圧によってプログラムされるメモリセルの閾値電圧変化を示す。
図10で、横軸はメモリセルMCの閾値電圧を示し、縦軸はメモリセルMCの数を示す。即ち、
図10はメモリセルMCの閾値電圧分布の変化を示す。
【0088】
図9及び
図10を参照すれば、消去状態E1のメモリセルMCは消去状態E2及びプログラム状態P1〜P7に各々プログラムされる。
【0089】
消去状態E2にプログラムされる(又はプログラムされない)メモリセルはプログラム禁止される。
【0090】
プログラム状態P1にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY1を超えた後、プログラム禁止される。プログラム状態P2にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY2を超えた後、プログラム禁止される。プログラム状態P3にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY3を超えた後、プログラム禁止される。プログラム状態P4にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY4を超えた後、プログラム禁止される。プログラム状態P5にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY5を超えた後、プログラム禁止される。プログラム状態P6にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY6を超えた後、プログラム禁止される。プログラム状態P7にプログラムされるメモリセルMCは閾値電圧が検証電圧VFY7を超えた後、プログラム禁止される。
【0091】
メモリセルの閾値電圧が消去状態E1からプログラム状態P1〜P7に増加する時、カップリングが発生する場合がある。通常のNANDフラッシュメモリでは、カップリングによる周辺メモリセルMCの閾値電圧変化を防止するために、最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBを段階的にプログラムするように構成される。最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBが段階的にプログラムされれば、1回のプログラムの時に発生する閾値電圧の変化量が減少するので、カップリングが減少し、周辺メモリセルMCの閾値電圧変化を減少できる。
【0092】
図4に示したように、メモリブロックBLKaの同一の高さのメモリセルMCは1つのワードラインに共通に連結される。ワードラインが共有されるので、第1行のセルストリングCS11、CS12でプログラムが遂行される時、第2行のセルストリングCS21、CS22もプログラム電圧VPGM及びパス電圧(pass_voltage)によるストレスを経験する。
図4の構造で、最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBが段階的にプログラムされれば、メモリセルMCが経験するプログラム回数(Number of Program:NOP)は平面型NANDフラッシュメモリのメモリセルが経験するプログラム回数より指数関数的に増加する。
【0093】
本発明の実施形態によれば、最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBは1回のプログラム(once_programming)法を通じて同時にプログラムされる。従って、メモリセルMCが経験するプログラム回数NOPが減少し、メモリシステム1000の信頼性が増加する。
【0094】
図5に示したように情報格納膜116は、ワードラインWL1〜WL6及びメモリセルMC1〜MC6の制御ゲートとして動作する導電物質CM2〜CM7で囲まれている。導電物質CM2〜CM7は電磁気シールド(Electromagnetic Shield)として機能する。メモリセルMCの閾値電圧が変化しても、電磁気シールドとして動作する導電物質CM2〜CM7がカップリングの影響を遮断する。従って、
図9に示したようにメモリセルMCの閾値電圧が急激に変化しても、隣接メモリセルMCの閾値電圧は変化せず、維持される。
【0095】
即ち、
図5に示したように導電物質CM2〜CM7がメモリセルMC1〜MC6の情報格納膜116を囲む電磁気シールドとして機能することによって、
図9に示したように最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBがカップリングによる閾値電圧変化を誘発せず、同時にプログラムされる。
図4及び
図5に図示されたメモリブロックBLKaの構造で最下位ビットLSB、中間ビットCSB、及び最上位ビットMSBが同時にプログラムされることによって、メモリセルMCのプログラム回数(NOP)が減少する。
さらに以下に述べるように、必要ならばプログラムデータをランダムアクセスメモリ1200に臨時格納し、3次元不揮発性メモリ1100では、常にマルチページ単位にプログラムを遂行することによって、向上された信頼性を有するメモリシステム1000が提供される。
【0096】
図11は
図1のランダムアクセスメモリ1200を利用するバッファプログラムの第1例を示す順序図である。
図1、
図3、及び
図11を参照すれば、S310段階で、プログラムデータが受信される。プログラムデータは外部装置EXからコントローラ1300に受信され得る。受信されたプログラムデータは3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされるべき全体データより少ない場合がある。
【0097】
S320段階で、受信されたプログラムデータがランダムアクセスメモリ1200に格納される。コントローラ1300は受信されたプログラムデータをランダムアクセスメモリ1200に格納するために使用される。
【0098】
S330段階で、ランダムアクセスメモリ1200に蓄積されたデータが1つの行方向に沿って配列されたメモリセルにプログラムされる全体データに対応するか否かが判別される。例えば、1つのメモリセルがNビットを格納する時、1つの行方向に沿って配列されたメモリセルの各々にプログラムされるべきNビットのデータが全て蓄積されたか否かが判別される。コントローラ1300はランダムアクセスメモリ1200に複数回格納されて蓄積されたデータが1つの行方向に沿って配列されたメモリセルにプログラムされる全体データに対応するか否かを判別する。
【0099】
ランダムアクセスメモリ1200に蓄積されたデータが1つの行方向に沿って配列されたメモリセルにプログラムされる全体データに対応すれば、S340段階で、ランダムアクセスメモリ1200に蓄積されたマルチページデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。以後に、S350段階で、ページバッファ1130へローディングされたマルチページデータがメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0100】
例示的に、ランダムアクセスメモリ1100に蓄積されたマルチページデータが3次元不揮発性メモリ1100にプログラムされた後、該当データはランダムアクセスメモリ1100から定例的に削除される。
【0101】
図12は
図1のメモリシステム1000で
図11のプログラム方法に従うプログラムが遂行される過程の第1例を示す。
図11及び
図12を参照すれば、外部装置EXからプログラムデータPD1、PD2、PD3が受信されると、コントローラ1300は受信されたプログラムデータPD1、PD2、PD3をランダムアクセスメモリ1200に格納する。例示的に、プログラムデータPD1、PD2、PD3の各々はマルチページデータより少ないデータであり得る。プログラムデータPD1、PD2、PD3は3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビットページデータ、中間ビットページデータ、及び最上位ビットページデータに各々対応する。最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3は外部装置EXから共に(又は同時に)受信されず、個別的に受信され得る。
【0102】
コントローラ1300は個別的に受信される最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3を各々ランダムアクセスメモリ1200に格納する。ランダムアクセスメモリ1200に蓄積されたデータがマルチページデータに対応する時まで、コントローラ1300は外部装置EXから受信されるデータをランダムアクセスメモリ1200に格納する。
【0103】
最上位ビットページデータPD3がランダムアクセスメモリ1200に格納されると、ランダムアクセスメモリ1200に蓄積されたデータPD1、PD2、PD3はマルチページデータに対応する。ランダムアクセスメモリ1200に蓄積されたデータPD1、PD2、PD3がマルチページデータに対応すると、コントローラ1200はランダムアクセスメモリ1200に蓄積されたデータPD1、PD2、PD3を3次元不揮発性メモリ1100へ伝送する。
【0104】
3次元不揮発性メモリ1100は受信されたデータPD1、PD2、PD3をページバッファ1130へローディングする。以後、3次元不揮発性メモリ1100はページバッファ1130へローディングされたデータPD1、PD2、PD3をメモリセルアレイ1110の1つの行のメモリセルに同時にプログラムする。
【0105】
図12に係わる以上の説明では、外部装置EXから受信されるデータは各々単一ページデータであった。しかし、外部装置EXから受信されるデータは単一ページデータに限定されない。コントローラ1300は外部装置EXから受信されるデータのサイズに関わらず、ランダムアクセスメモリ1200に格納されたデータの一部又は全部がマルチページデータに対応すれば、ランダムアクセスメモリ1200に蓄積された該データを3次元不揮発性メモリ1100にプログラムする。
【0106】
図13は
図1のメモリシステム1000で
図11のプログラム方法に従うプログラムが遂行される過程の第2例を示す。
図11及び
図13を参照すれば、ランダムアクセスメモリ1200に最下位ビットページデータPD1が格納される。ランダムアクセスメモリ1200に中間ビットページデータPD2が格納される間、ランダムアクセスメモリ1200に格納された最下位ビットページデータPD1が3次元不揮発性メモリ1100のページバッファ1130へローディングされる。ランダムアクセスメモリ1200に最上位ビットページデータPD3が格納される間、ランダムアクセスメモリ1200に格納された中間ビットページデータPD2が3次元不揮発性メモリ1100のページバッファ1130へローディングされる。ランダムアクセスメモリ1200に格納された最上位ビットページデータPD3が3次元不揮発性メモリ1100のページバッファ1130へローディングされる。以後に、ページバッファ1130へローディングされた最下位ビット乃至最上位ビットページデータPD1、PD2、PD3が3次元不揮発性メモリ1100のメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0107】
ページデータがランダムアクセスメモリ1200に格納される間、ランダムアクセスメモリ1200に格納されたページデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされ得る。この実施形態によれば、ページデータPD1、PD2、PD3がランダムアクセスメモリ1200に格納される時間と、ランダムアクセスメモリ1200から3次元不揮発性メモリ1100のページバッファ1130へローディングされる時間が重なることがあり得る。即ち、3次元不揮発性メモリ1100のページバッファ1130へローディングされる時間が減少され得る。
【0108】
図14は
図1のランダムアクセスメモリ1200を利用するバッファプログラムの第2例を示す順序図である。
図1、
図3、及び
図14を参照すれば、S410段階で、プログラムデータが受信される。プログラムデータは外部装置EXからコントローラ1300に受信され得る。受信されたプログラムデータは3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされる全体データより少ない場合があり得る。
【0109】
S420段階で、受信されたプログラムデータとランダムアクセスメモリ1200に蓄積されたデータがマルチページデータに対応するか否かが判別される。例えば、1つのメモリセルがNビットを格納する時、1つの行方向に沿って配列されたメモリセル各々にプログラムされる(N−1)ビットがランダムアクセスメモリ1200に蓄積され、N番目ビットが受信されるか否かが判別され得る。コントローラ1300はランダムアクセスメモリ1200に蓄積されたデータと外部装置EXから受信されたプログラムデータを含む全体データが3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされるべき全体データに対応するか否かを判別する。
【0110】
受信されたプログラムデータとランダムアクセスメモリ1200に蓄積されたデータがマルチページデータに対応しなければ、S430段階で、受信されたプログラムデータはランダムアクセスメモリ1200に格納される。コントローラ1300は受信されたプログラムデータをランダムアクセスメモリ1200に格納するために使用される。
【0111】
受信されたプログラムデータとランダムアクセスメモリ1200に蓄積されたデータがマルチページデータに対応すれば、S440段階で、ランダムアクセスメモリ1200に蓄積されたデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。S450段階で、受信されたプログラムデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。コントローラ1300はランダムアクセスメモリ1200に蓄積されたデータ及び受信されたプログラムデータを3次元不揮発性メモリ1100へ伝送する。3次元不揮発性メモリ1100は受信されたマルチデータをページバッファ1130へローディングする。
【0112】
S460段階で、ページバッファ1130へローディングされたマルチページデータが3次元不揮発性メモリ1100のメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0113】
図15は
図1のメモリシステム1000で
図14のプログラム方法に従うプログラムが遂行される過程の第1例を示す。
図14及び
図15を参照すれば、最下位ビットページデータPD1及び中間ビットページデータPD2は外部装置EXから共に又は個別的にコントローラ1300に受信される。中間ビットページデータPD2と最上位ビットページデータPD3は外部装置EXから個別的にコントローラ1300に受信される。
【0114】
最下位ビットページデータPD1が受信される時、受信されたデータとランダムアクセスメモリ1200に蓄積されたデータはマルチページデータに対応しない。従って、コントローラ1300は最下位ビットページデータPD1をランダムアクセスメモリ1200に格納する。
【0115】
中間ビットページデータPD2が受信される時、受信されたデータとランダムアクセスメモリ1200に蓄積されたデータはマルチページデータに対応しない。従って、コントローラ1300は中間ビットページデータPD2をランダムアクセスメモリ1200に格納する。
【0116】
最上位ビットページデータPD3が受信される時、受信されたデータとランダムアクセスメモリ1200に蓄積されたデータはマルチページデータに対応する。従って、コントローラ1300はランダムアクセスメモリに蓄積された最下位ビットページデータPD1と中間ビットページデータPD2を3次元不揮発性メモリ1100へ伝送する。また、コントローラ1300は外部装置EXから受信された最上位ビットページデータPD3を、ランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100へ直接伝送する。
【0117】
3次元不揮発性メモリ1100は受信されたマルチページデータPD1、PD2、PD3をページバッファ1130へローディングする。3次元不揮発性メモリ1100はページバッファ1130へローディングされたマルチページデータPD1、PD2、PD3をメモリセルアレイ1100の1つの行方向に沿って配列されたメモリセルに同時にプログラムする。
【0118】
図16は
図1のメモリシステム1000で
図14のプログラム方法に従うプログラムが遂行される過程の第2例を示す。
図14及び
図16を参照すれば、最下位ビットページデータPD1及び中間ビットページデータPD2は外部装置EXから個別的にコントローラ1300に受信される。中間ビットページデータPD2と最上位ビットページデータPD3は外部装置EXから共にコントローラ1300に受信される。
【0119】
最下位ビットページデータPD1が受信される時、受信されたデータ及びランダムアクセスメモリ1200に蓄積されたデータはマルチページデータに対応しない。従って、コントローラ1300は最下位ビットページデータPD1をランダムアクセスメモリ1200に格納する。
【0120】
中間ビットページデータPD2及び最上位ビットページデータPD3が共に受信される時、受信されたデータ及びランダムアクセスメモリ1200に蓄積されたデータはマルチページデータに対応する。従って、コントローラ1300はランダムアクセスメモリ1200に蓄積された最下位ビットページデータPD1を3次元不揮発性メモリ1100へ伝送する。コントローラ1300は外部装置EXから受信された中間ビットページデータPD2及び最上位ビットページデータPD3を、ランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100へ直接伝送する。
【0121】
3次元不揮発性メモリ1100は受信されたマルチページデータPD1、PD2、PD3をページバッファ1130へローディングする。3次元不揮発性メモリ1100はページバッファ1130へローディングされたマルチページデータPD1、PD2、PD3をメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムする。
【0122】
以上、
図14乃至
図16を参照して説明した実施形態によれば、ランダムアクセスメモリ1200は、マルチページデータ全体ではない一部データを格納するように構成される。従って、ランダムアクセスメモリ1200の格納容量を削減できる。
【0123】
図17は
図1のランダムアクセスメモリ1200を利用するバッファプログラムの第3例を示す順序図である。
図1、
図3及び
図17を参照すれば、S510段階で、プログラムデータが受信される。プログラムデータは外部装置EXからコントローラ1300に受信され得る。受信されたプログラムデータは3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされる全体データより少ない場合があり得る。
【0124】
S520段階で、受信されたプログラムデータがマルチページデータの予め設定された部分に該当するか否かが判別される。コントローラ1300は受信されたプログラムデータが最下位ビットページデータに該当するか否かを判別する。
【0125】
受信されたプログラムデータが最下位ビットページデータに対応すれば、S521段階で、受信されたプログラムデータがランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100のページバッファ1130へ直接ローディングされる。S525段階で、ページバッファ1130へローディングされた最下位ビットページデータは3次元不揮発性メモリの1つの行方向に沿って配列されたメモリセルにプログラムされる。
【0126】
受信されたプログラムデータが最下位ビットページデータに対応しなければ、S530段階で、受信されたプログラムデータが最上位ビットページデータに対応するか否かを判別する。
【0127】
受信されたプログラムデータが最上位ビットページデータに対応しなければ、即ち、受信されたプログラムデータが中間ビットページデータであれば、S531段階で、受信されたプログラムデータがランダムアクセスメモリ1200に格納される。
【0128】
受信されたプログラムデータが最上位ビットページデータに対応すれば、S540段階で、ランダムアクセスメモリ1200に蓄積されたデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。S531段階で説明したように、マルチページデータの中間ビットページデータはランダムアクセスメモリ1200に格納されている。即ち、ランダムアクセスメモリ1200に格納された中間ビットページデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。
【0129】
S550段階で、最上位ビットページデータがランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100のページバッファ1130へ直接ローディングされる。
【0130】
コントローラ1300はランダムアクセスメモリ1200に蓄積された中間ビットページデータを3次元不揮発性メモリ1100へ伝送し、外部装置EXから受信された最上位ビットページデータを3次元不揮発性メモリ1100へ伝送するために使用される。3次元不揮発性メモリ1100は受信された中間ビットページデータ及び最上位ビットページデータをページバッファ1130へローディングする。
【0131】
S560段階で、ページバッファ1130へローディングされた中間ビットページデータ及び最上位ビットページデータが3次元不揮発性メモリ1100のメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0132】
図18は
図1のメモリシステム1000で
図17のプログラム方法に従うプログラムが遂行される過程の例を示す。
図17及び
図18を参照すれば、最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3は外部装置EXから個別的にコントローラ1300に受信される。
【0133】
最下位ビットページデータPD1が受信される時、コントローラ1300は受信された最下位ビットページデータPD1を、ランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100のページバッファ1130へ直接ローディングする。ページバッファ1130へローディングされた最下位ビットページデータPD1は1つの行方向に沿って配列されたメモリセルにプログラムされる。
【0134】
中間ビットページデータPD2が受信される時、コントローラ1300は受信された中間ビットページデータPD2をランダムアクセスメモリ1200に格納する。
【0135】
最上位ビットページデータPD3が受信される時、コントローラ1300はランダムアクセスメモリ1200に蓄積された中間ビットページデータPD2を3次元不揮発性メモリ1100へ伝送し、外部装置EXから受信された最上位ビットページデータを、ランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100へ直接伝送する。3次元不揮発性メモリ1100は受信された中間ビットページデータ及び最上位ビットページデータをページバッファ1130へローディングする。ページバッファ1130へローディングされた中間ビットページデータPD2及び最上位ビットページデータPD3は3次元不揮発性メモリ1100のメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0136】
この実施形態によれば、マルチページデータの中で1つの単一ページデータがランダムアクセスメモリ1200に格納される。従って、ランダムアクセスメモリ1200の格納容量が減少され得る。
【0137】
例示的に、受信されたプログラムデータは単一ページデータの全体ではなく、単一ページデータの一部であり得る。この時、コントローラ1300は、単一ページデータの全体が受信される時まで、単一ページデータの一部データをランダムアクセスメモリ1200に格納するために使用される。
【0138】
例えば、最下位ビットデータの部分データが受信される時、コントローラ1300は受信された部分データをランダムアクセスメモリ1200に格納するために使用される。以後に受信されたプログラムデータ及びランダムアクセスメモリ1200に蓄積されたデータが最下位ビットページデータに対応する時、コントローラ1300はランダムアクセスメモリ1200に蓄積されたデータ及び受信されたプログラムデータを3次元不揮発性メモリ1100へ伝送する。受信されたプログラムデータはランダムアクセスメモリ1200を経由せず、3次元不揮発性メモリ1100へ直接伝送される。中間ビットページデータ及び最上位ビットページデータが受信される時にも、データが同様に管理され得る。
【0139】
図19は
図1のランダムアクセスメモリ1200を利用するバッファプログラムの第4例を示す順序図である。
図1、
図3、及び
図19を参照すれば、S610段階でプログラムデータが受信される。受信されたプログラムデータは3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルにプログラムされる全体データより少ない場合があり得る。
【0140】
S620段階で、受信されたプログラムデータ及びランダムアクセスメモリ1200に蓄積されたデータの集合(以下、集合プログラムデータ(collective_program_data)という)がマルチページデータの第1部分に該当するか否かが判別される。コントローラ1300は、集合プログラムデータがマルチページデータの第1部分に該当するか否かを判別するために使用される。例えば、コントローラ1300は集合プログラムデータが最下位ビットページデータに対応するか、又は集合プログラムデータが最下位ビットページデータ及び中間ビットページデータに対応するか否かを判別する。
【0141】
集合プログラムデータがマルチページデータの第1部分に該当すれば、S630段階で、集合プログラムデータが3次元不揮発性メモリ1100のページバッファ1130へローディングされる。ここで集合プログラムデータのうち、受信されたプログラムデータはランダムアクセスメモリ1200を経由せず、ローディングされる。S640段階で、ページバッファへローディングされたデータが3次元不揮発性メモリ1100のメモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0142】
集合プログラムデータ、即ち、受信されたプログラムデータ及びランダムアクセスメモリ1200に蓄積されたデータの集合、がマルチページデータの第1部分に該当しなければ、S650段階で、集合プログラムデータがマルチページデータの第2部分に該当するか否かが判別される。コントローラ1300は集合プログラムデータが中間ビットページデータ及び最上位ビットページデータに該当するか、又は受信されたプログラムデータが最上位ビットページデータに該当するか否かを判別するために使用される。
【0143】
集合プログラムデータがマルチページデータの第2部分に該当すれば、S630段階とS640段階で、マルチページデータの第1部分と第2部分とが3次元不揮発性メモリ1100に同時にプログラムされる。
【0144】
集合プログラムデータがマルチページデータの第2部分に該当しなければ、S660段階で、受信されたプログラムデータがランダムアクセスメモリ1200に格納される。
【0145】
図20は
図1のメモリシステム1000で
図19のプログラム方法に従うプログラムが遂行される過程の第1例を示す。
図19及び
図20を参照すれば、マルチページデータの第1部分は最下位ビット(LSB)ページデータPD1及び中間ビット(CSB)ページデータPD2であり、第2部分は最上位ビット(MSB)ページデータPD3である。
【0146】
ランダムアクセスメモリ1200に最下位ページデータPD1及び中間ページデータPD2が順次的に格納される。ランダムアクセスメモリ1200に格納された最下位ページデータPD1及び中間ページデータPD2は3次元不揮発性メモリ1100のページバッファ1130へローディングされ、メモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0147】
その後に、ランダムアクセスメモリ1200に最上位ビットページデータPD3が格納される。ランダムアクセスメモリ1200に格納された最上位ビットページデータPD3は3次元不揮発性メモリ1100のページバッファ1130へローディングされ、メモリセルアレイ11100の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。最上位ビットページデータPD3は最下位ページデータPD1及び中間ページデータPD2がプログラムされたメモリセルと同一のメモリセルにプログラムされる。
【0148】
図21は
図1のメモリシステム1000で
図19のプログラム方法に従うプログラムが遂行される過程の第2例を示す。
図19及び
図21を参照すれば、マルチページデータの第1部分は最下位ビットページデータPD1であり、第2部分は中間ビットページデータPD2及び最上位ビットページデータPD3であり得る。
【0149】
ランダムアクセスメモリ1200に最下位ページデータPD1が格納される。ランダムアクセスメモリ1200に格納された最下位ページデータPD1は3次元不揮発性メモリ1100のページバッファ1130へローディングされ、メモリセルアレイ1110の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。
【0150】
その後に、ランダムアクセスメモリ1200に中間ビットページデータPD2及び最上位ビットページデータPD3が格納される。ランダムアクセスメモリ1200に格納された中間ビットページデータPD2及び最上位ビットページデータPD3は3次元不揮発性メモリ1100のページバッファ1130へローディングされ、メモリセルアレイ11100の1つの行方向に沿って配列されたメモリセルに同時にプログラムされる。中間ビットページデータPD2及び最上位ビットページデータPD3は最下位ページデータPD1がプログラムされたメモリセルと同一のメモリセルにプログラムされる。
【0151】
1つのメモリセルがnビットを格納する時、即ち1つのマルチページがn個の単一ページを包含する時、1つのマルチページの単一ページは分割されてプログラムされ得る。例えば、1つのマルチページの第1部分の単一ページが1つの行方向に沿って配列されたメモリセルに同時にプログラムされ、そして1つのマルチページの第2部分の単一ページが1つの行方向に沿って配列されたメモリセルに追加的に同時にプログラムされる。
【0152】
この実施形態によれば、ランダムアクセスメモリ1200の格納容量を低減できる。即ち、3次元不揮発性メモリ1100のメモリセルが経験するプログラム回数とランダムアクセスメモリ1200の格納容量との間のトレードオフ(trade−off)を遂行できる。
【0153】
図22は
図3のページバッファユニットPUの中で1つを示すブロック図である。
図22を参照すれば、ページバッファユニットPUはキャッシュラッチ1131、LSBラッチ1133、CSBラッチ1135、MSBラッチ1137、及びセンスラッチ1139を含む。
【0154】
キャッシュラッチ1131はコントローラ1300とデータを交換する。キャッシュラッチ1131は制御ロジック1140から受信されるダンプ信号DUMP1、DUMP2、DUMP3に従って動作できる。
【0155】
プログラムの時に、キャッシュラッチ1131はコントローラ1300からデータを受信する。ダンプ信号DUMP1が活性化される時、キャッシュラッチ1131は格納されたデータをLSBラッチ1133へローディングする。ダンプ信号DUMP2が活性化される時、キャッシュラッチ1131は格納されたデータをCSBラッチ1135へローディングする。ダンプ信号DUMP3が活性化される時、キャッシュラッチ1131は格納されたデータをMSBラッチ1137へローディングする。例えば,最下位ビットページデータはLSBラッチ1133へローディングされ、中間ビットページデータはCSBラッチ1135へローディングされ、最上位ビットページデータはMSBラッチ1137へローディングされる。
【0156】
センスラッチ1139はビットラインBLに連結される。プログラムの時に、センスラッチ1139はLSBラッチ1133、CSBラッチ1135、及びMSBラッチ1137に格納されたデータに従って、ビットラインBLをバイアスする。プログラム検証の時に、センスラッチ1139はビットライン1139の電圧を感知し、LSBラッチ1133、CSBラッチ1135及びMSBラッチ1137に格納されたデータに従って感知結果を調節する。
【0157】
図23はプログラムの時にコントローラ1300から3次元不揮発性メモリ1100へ伝送される信号の第1例を示すタイミング図である。
図1、
図22、及び
図23を参照すれば、第1サイクルC1にコントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。
【0158】
第2サイクルC2に、コントローラ1300は3次元不揮発性メモリ1100へアドレス(カラムADDR)を伝送する。アドレス(カラムADDR)は3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルを指定する。
【0159】
第3サイクルC3に、コントローラ1300は3次元不揮発性メモリ1100へ最下位ビットページデータPD1を伝送する。最下位ビットページデータPD1は外部装置EXから受信されたデータ又はランダムアクセスメモリ1200から伝送されたデータである。3次元不揮発性メモリ1100は受信された最下位ビットページデータPD1をキャッシュラッチ1131に格納する。
【0160】
第4サイクルC4に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDは伝送されたデータが最下位ビットページデータPD1であることを示す情報を包含する。ダンプコマンドDUMP_CMDは伝送されたデータが最下位ビットページデータPD1であることを示すアドレスと共に伝送される。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最下位ビットページデータPD1をLSBラッチ1133へローディングする。
【0161】
第5サイクルC5に、コントローラ1300は3次元不揮発性メモリ1100へ中間ビットページデータPD2を伝送する。中間ビットページデータPD2は外部装置EXから受信されたデータ又はランダムアクセスメモリ1200から伝送されたデータである。3次元不揮発性メモリ1100は受信された中間ビットページデータPD2をキャッシュラッチ1131に格納する。
【0162】
第6サイクルC6に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDは伝送されたデータが中間ビットページデータPD2であることを示す情報を包含する。ダンプコマンドDUMP_CMDは伝送されたデータが中間ビットページデータPD2であることを示すアドレスと共に伝送される。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された中間ビットページデータPD2をCSBラッチ1135へローディングする。
【0163】
第7サイクルC7に、コントローラ1300は3次元不揮発性メモリ1100へ最上位ビットページデータPD3を伝送する。最上位ビットページデータPD3は外部装置EXから受信されたデータ又はランダムアクセスメモリ1200から伝送されたデータである。3次元不揮発性メモリ1100は受信された最上位ビットページデータPD3をキャッシュラッチ1131に格納する。
【0164】
第8サイクルC8に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDは伝送されたデータが最上位ビットページデータPD3であることを示す情報を包含する。ダンプコマンドDUMP_CMDは伝送されたデータが最上位ビットページデータPD3であることを示すアドレスと共に伝送される。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最上位ビットページデータPD3をMSBラッチ1137へローディングする。
【0165】
第9サイクルC9に、コントローラ1300は3次元不揮発性メモリ1100へコンファーム(confirm)コマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100はLSBラッチ1133、CSBラッチ1135、及びMSBラッチ1137に格納された最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3を1つの行方向に沿って配列されたメモリセルに同時にプログラムする。
【0166】
図24は
図23のプログラムシークェンスに対応する3次元不揮発性メモリ1100のプログラムアドレス体系を示すテーブルである。
図24を参照すれば、1つの行方向に沿って配列されたメモリセルに1つのアドレスが割当てられる。即ち、1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3は同一のアドレスに従ってプログラムされる。
【0167】
反面、読出しの時に、1つの行方向に沿って配列されたメモリセルにプログラムされた最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3は各々互に異なるアドレスに従って読み出される。
【0168】
即ち、プログラムの時に使用されるアドレス体系と読出しの時に使用されるアドレス体系は互いに異なる。
【0169】
図23及び
図24を参照して説明されたプログラムシークェンス及びアドレス体系は最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3が同時にプログラムされる実施形態に適用される。
【0170】
図25はプログラムの時にコントローラ1300から3次元不揮発性メモリ1100へ伝送される信号の第2例を示すタイミング図である。
図1、
図22、及び
図25を参照すれば、第1サイクルC1に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。
【0171】
第2サイクルC2に、コントローラ1300は3次元不揮発性メモリ1100へ第1カラムアドレス(第1カラムADDR)ADDR1を伝送する。第1カラムアドレスADDR1は3次元不揮発性メモリ1100の1つの行方向に沿って配列されたメモリセルの最下位ビットページ及び中間ビットページを指定する。
【0172】
第3サイクルC3に、コントローラ1300は3次元不揮発性メモリ1100へ最下位ビットページデータPD1を伝送する。3次元不揮発性メモリ1100は受信された最下位ビットページデータPD1をキャッシュラッチ1131に格納する。
【0173】
第4サイクルC4に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最下位ビットページデータPD1をLSBラッチ1133へローディングする。
【0174】
第5サイクルC5に、コントローラ1300は3次元不揮発性メモリ1100へ中間ビットページデータPD2を伝送する。3次元不揮発性メモリ1100は受信された中間ビットページデータPD2をキャッシュラッチ1131に格納する。
【0175】
第6サイクルC6に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された中間ビットページデータPD2をCSBラッチ1135へローディングする。
【0176】
第7サイクルC7に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は最下位ビットページデータPD1及び中間ビットページデータPD2を1つの行方向に沿って配列されたメモリセルに同時にプログラムする。
【0177】
第8サイクルC8に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。例示的に、第7サイクルC7と第8サイクルC8との間に、コントローラ1300及び3次元不揮発性メモリ1100は多様な動作を遂行できる。コントローラ1300の制御に従って、3次元不揮発性メモリ1100は1つの行方向に沿って配列されたメモリセルにプログラムされた最下位ビットページデータPD1及び中間ビットページデータPD2を読出し、これらを各々LSBラッチ1133及びCSBラッチ1135に格納する初期読出し(initial read)を遂行できる。
【0178】
第9サイクルC9に、コントローラ1300は3次元不揮発性メモリ1100へ第2カラムアドレス(第2カラムADDR)ADDR2を伝送する。第2カラムアドレスADDR2は1つの行方向に沿って配列されたメモリセルの最上位ビットページを指定する。
【0179】
第10サイクルC10に、コントローラ1300は3次元不揮発性メモリ1100へ最上位ビットページデータPD3を伝送する。3次元不揮発性メモリ1100は受信される最上位ビットページデータPD3をキャッシュラッチ1131に格納する。
【0180】
第11サイクルC11に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最上位ビットページデータPD3をMSBラッチ1137へローディングする。
【0181】
第12サイクルC12に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は最上位ビットページデータPD3を最下位ビットページデータPD1及び中間ビットページデータPD2がプログラムされたメモリセルに追加的にプログラムする。
【0182】
図26は
図25のプログラムシークェンスに対応する3次元不揮発性メモリ1100のプログラムアドレス体系を示すテーブルである。
図26を参照すれば、1つの行方向に沿って配列されたメモリセルに2つのアドレスが割当てられる。即ち、1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビットページデータPD1及び中間ビットページデータPD2が1つのアドレスに従ってプログラムされ、最上位ビットページデータPD3が他の1つのアドレスに従ってプログラムされる。
【0183】
図25及び
図26を参照して説明されたプログラムシークェンス及びアドレス体系は最下位ビットページデータPD1及び中間ビットページデータPD2が同時にプログラムされ、最上位ビットページデータPD3が追加的にプログラムされる実施形態に適用される。
【0184】
図27はプログラムの時にコントローラ1300から3次元不揮発性メモリ1100へ伝送される信号の第3例を示すタイミング図である。
図1、
図22、及び
図27を参照すれば、第1サイクルC1に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。
【0185】
第2サイクルC2に、コントローラ1300は3次元不揮発性メモリ1100へ第1カラムアドレス(第1カラムADDR)ADDR1を伝送する。第1カラムアドレスADDR1は最下位ビットページを指定する。
【0186】
第3サイクルC3に、コントローラ1300は3次元不揮発性メモリ1100へ最下位ビットページデータPD1を伝送する。3次元不揮発性メモリ1100は最下位ビットページデータPD1をキャッシュラッチ1131に格納する。
【0187】
第4サイクルC4に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最下位ビットページデータPD1をLSBラッチ1133へローディングする。
【0188】
第5サイクルC5に、コントローラ1300は3次元不揮発性メモリ1100へ第2カラムアドレス(第2カラムADDR)ADDR2を伝送する。第2アドレスADDR2は中間ビットページを指定する。
【0189】
第6サイクルC6に、コントローラ1300は3次元不揮発性メモリ1100へ中間ビットページデータPD2を伝送する。3次元不揮発性メモリ1100は中間ビットページデータPD2をキャッシュラッチ1131に格納する。
【0190】
第7サイクルC7に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された中間ビットページデータPD2をCSBラッチ1135へローディングする。
【0191】
第8サイクルC8に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は最下位ビットページデータPD1及び中間ビットページデータPD2を1つの行方向に沿って配列されたメモリセルに同時にプログラムすることができる。
【0192】
第9サイクルC9に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。プログラムコマンド80hが伝送される以前に、初期読出し(initial read)が遂行できる。
【0193】
第10サイクルC10に、コントローラ1300は3次元不揮発性メモリ1100へ第3カラムアドレス(第3カラムADDR)ADDR3を伝送する。第3カラムアドレスADDR3は最上位ビットページを指定する。
【0194】
第11サイクルC11に、コントローラ1300は3次元不揮発性メモリ1100へ最上位ビットページデータPD3を伝送する。3次元不揮発性メモリ1100は最上位ビットページデータPD3をキャッシュラッチ1131に格納する。
【0195】
第12サイクルC12に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最上位ビットページデータPD3をMSBラッチ1137へローディングする。
【0196】
第13サイクルC13に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は最上位ビットページデータPD3を追加的にプログラムする。
【0197】
図28は
図27のプログラムシークェンスに対応する3次元不揮発性メモリのプログラムアドレス体系を示すテーブルである。
図28を参照すれば、1つの行方向に沿って配列されたメモリセルに3つのアドレスが割当てられる。即ち、1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3は互に異なるアドレスに従って、プログラムされる。
【0198】
図27及び
図28を参照して説明されたプログラムシークェンス及びアドレス体系は最下位ビットページデータPD1及び中間ビットページデータPD2が同時にプログラムされ、最上位ビットページデータPD3が追加的にプログラムされる実施形態に適用される。
【0199】
図29はプログラムの時にコントローラ1300から3次元不揮発性メモリ1100へ伝送される信号の第4例を示すタイミング図である。
図1、
図22、及び
図29を参照すれば、第1サイクルC1に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。
【0200】
第2サイクルC2に、コントローラ1300は3次元不揮発性メモリ1100へ第1カラムアドレス(第1カラムADDR)ADDR1を伝送する。第1カラムアドレスADDR1は最下位ビットページを指定する。
【0201】
第3サイクルC3に、コントローラ1300は3次元不揮発性メモリ1100へ最下位ビットページデータPD1を伝送する。3次元不揮発性メモリ1100は入力された最下位ビットページデータPD1をキャッシュラッチ1131に格納する。
【0202】
第4サイクルC4に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最下位ビットページデータPD1をLSBラッチ1131へローディングする。
【0203】
第5サイクルC5に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は最下位ビットページデータPD1をプログラムする。
【0204】
第6サイクルC6に、コントローラ1300は3次元不揮発性メモリ1100へプログラムコマンド(PMG_CMD)80hを伝送する。プログラムコマンド80hが伝送される以前に、3次元不揮発性メモリ1100は初期読出し(initial read)を遂行できる。
【0205】
第7サイクルC7に、コントローラ1300は3次元不揮発性メモリ1100へ第2カラムアドレス(第2カラムADDR)ADDR2を伝送する。第2カラムアドレスADDR2は中間ビットページ及び最上位ビットページを指定する。
【0206】
第8サイクルC8に、コントローラ1300は3次元不揮発性メモリ1100へ中間ビットページデータPD2を伝送する。3次元不揮発性メモリ1100は中間ビットページデータPD2をキャッシュラッチ1131に格納する。
【0207】
第9サイクルC9に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された中間ビットページデータPD2をCSBラッチ1135へローディングする。
【0208】
第10サイクルC10に、コントローラ1300は3次元不揮発性メモリ1100へ最上位ビットページデータPD3を伝送する。3次元不揮発性メモリ1100は最上位ビットページデータPD3をキャッシュラッチ1131に格納する。
【0209】
第11サイクルC11に、コントローラ1300は3次元不揮発性メモリ1100へダンプコマンドDUMP_CMDを伝送する。ダンプコマンドDUMP_CMDに応答して、3次元不揮発性メモリ1100はキャッシュラッチ1131に格納された最上位ビットページデータPD3をMSBラッチ1137へローディングする。
【0210】
第12サイクルC12に、コントローラ1300は3次元不揮発性メモリ1100へコンファームコマンド(コンファームCMD)10hを伝送する。コンファームコマンド10hに応答して、3次元不揮発性メモリ1100は中間ビットページデータPD2及び最上位ビットページデータPD3を最下位ビットページデータPD1がプログラムされたメモリセルに同時にプログラムする。
【0211】
図30は
図29のプログラムシークェンスに対応する3次元不揮発性メモリのプログラムアドレス体系を示すテーブルである。
図30を参照すれば、1つの行方向に沿って配列されたメモリセルに2つのアドレスが割当てられる。即ち、1つの行方向に沿って配列されたメモリセルにプログラムされる最下位ビットページデータPD1が1つのアドレスに従ってプログラムされ、中間ビットページデータPD2及び最上位ビットページデータPD3が他の1つのアドレスに従ってプログラムされる。
【0212】
図29及び
図30を参照して説明されたプログラムシークェンス及びアドレス体系は最下位ビットページデータPDがプログラムされた後、中間ビットページデータPD2及び最上位ビットページデータPD3が追加的に同時にプログラムされる実施形態に適用される。
【0213】
図31はプログラムの時にコントローラ1300から3次元不揮発性メモリ1100へ伝送される信号の第5例を示すタイミング図である。
図29のタイミング図と比較すれば、
図27を参照して説明したのと同様に、最下位ビットページデータPD1、中間ビットページデータPD2、及び最上位ビットページデータPD3が各々互に異なるアドレスに従って、プログラムされる。ただし、中間でのコンファームコマンド(コンファームCMD)サイクルとこれに続くプログラムコマンド(PMG_CMD)サイクルの位置が異なる。
【0214】
図31のプログラムシークェンスに対応するアドレス体系は
図28に図示されたテーブルに対応する。
【0215】
図32は本発明の第2実施形態によるメモリシステム2000を示すブロック図である。
図1のメモリシステム1000と比較すれば、コントローラ2300は共通バスを通じて3次元不揮発性メモリ2100及びランダムアクセスメモリ2200を制御する。3次元不揮発性メモリ2100及びランダムアクセスメモリ2200は時分割方式に従ってコントローラ2300と通信する。
【0216】
ランダムアクセスメモリ2200に蓄積されたマルチページデータはコントローラ2300を経ず、3次元不揮発性メモリ2100へ直接伝送される。
【0217】
図33は本発明の第3実施形態によるメモリシステム3000を示すブロック図である。
図1のメモリシステム1000と比較すれば、3次元不揮発性メモリ3100は複数(k個)のチャンネルCH1〜CHkを通じてコントローラ3300と通信する。各チャンネルに複数の3次元不揮発性メモリチップが連結される。ランダムアクセスメモリ3200は3次元不揮発性メモリ3100の複数の3次元不揮発性メモリチップにプログラムされるべきデータを格納する。ランダムアクセスメモリ3200に蓄積されたデータの中で特定3次元不揮発性メモリチップにプログラムされるべきデータがマルチページデータに対応すれば、該当マルチページデータが特定3次元不揮発性メモリチップにプログラムされる。
【0218】
例示的に、
図32を参照して説明されたように、3次元不揮発性メモリ3100とコントローラ3300は1つの共通バスを通じて連結され、複数のチャンネルCH1〜CHkは時分割方式で共通バスを占有する。
【0219】
例示的に、
図32を参照して説明されたように、3次元不揮発性メモリ3100とランダムアクセスメモリ3200は共通バスを通じてコントローラ3300に連結され、時分割方式で共通バスを通じてコントローラ3300と通信できる。
【0220】
3次元不揮発性メモリ3100と同様に、ランダムアクセスメモリ3200は複数のランダムアクセスメモリチップを包含できる。その場合、複数のランダムアクセスメモリチップは複数のチャンネルを通じて又は1つの共通チャンネルを通じてコントローラ3300と通信する。各チャンネルには少なくとも1つのランダムアクセスメモリチップが連結される。ランダムアクセスメモリチップが複数のチャンネルを通じてコントローラ3300と通信する時、ランダムアクセスメモリチップのチャンネルは各々、3次元不揮発性メモリチップのチャンネルCH1〜CHkの何れかに対応する。1つのチャンネルに連結された少なくとも1つのランダムアクセスメモリチップは1つのチャンネルに連結された少なくとも1つの3次元不揮発性メモリチップにプログラムされるべきデータを格納する。
【0221】
図34は本発明の第4実施形態によるメモリシステム4000を示すブロック図である。
図1のメモリシステム1000と比較すれば、メモリシステム4000は複数のメモリユニットMU及びコントローラ4300を含む。複数のメモリユニットMUは複数(k個)のチャンネルCH1〜CHkを通じてコントローラ4300と通信する。
【0222】
複数のメモリユニットMUの各々は少なくとも1つの3次元不揮発性メモリチップ4100とランダムアクセスメモリチップ4200を包含する。複数のメモリユニットMUの各々の少なくとも1つの3次元不揮発性メモリチップ4100とランダムアクセスメモリチップ4200は、共通チャンネルを通じてコントローラ4300と通信する。複数のメモリユニットMUの各々の少なくとも1つの3次元不揮発性メモリチップ4100とランダムアクセスメモリチップ4200は、時分割方式で共通チャンネルを占有する。
【0223】
図35は本発明の実施形態によるメモリカード5000を示す。
図35を参照すれば、メモリカード5000は3次元不揮発性メモリ5100、ランダムアクセスメモリ5200、コントローラ5300、及びコネクター5400を含む。
【0224】
ランダムアクセスメモリ5200は3次元不揮発性メモリ5100にプログラムされるべきデータを格納する。ランダムアクセスメモリ5200に蓄積されたデータがマルチページデータに対応すれば、該マルチページデータが3次元不揮発性メモリ5100にプログラムされる。
【0225】
メモリカード5000は、PC(PCMCIA、personal computer memory card international association)カード、コンパクトフラッシュ(登録商標)(CF)カード、スマートメディアカード(SMカード、又はSMC)、メモリスティック、マルチメディアカード(MMC、RS−MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、ユニバーサルフラッシュ記憶装置(UFS)等のメモリカードを構成できる。
【0226】
図36は本発明の実施形態によるソリッドステートドライブ(SSD、Solid State Drive)6000を示す。
図36を参照すれば、ソリッドステートドライブ6000は複数の3次元不揮発性メモリ6100、ランダムアクセスメモリ6200、コントローラ6300、及びコネクター6400を含む。
【0227】
ランダムアクセスメモリ6200は3次元不揮発性メモリ6100にプログラムされるべきデータを格納する。ランダムアクセスメモリ6200に蓄積されたデータがマルチページデータに対応すれば、該マルチページデータが対応するアドレスを有する3次元不揮発性メモリ6100にプログラムされる。
【0228】
図37は本発明の実施形態によるコンピューティングシステム7000を示すブロック図である。
図37を参照すれば、コンピューティングシステム7000は中央処理装置7100、RAM7200、使用者インターフェイス7300、モデム7400、システムバス7500、及びメモリシステム7600を含む。
【0229】
メモリシステム7600はシステムバス7500を通じて、中央処理装置7100、RAM7200、使用者インターフェイス7300、及びモデム7400に電気的に連結される。使用者インターフェイス7300を通じて提供されるか、或いは、中央処理装置7100によって処理されたデータ、又はモデム7400を通じて受信されるデータはメモリシステム7600に格納される。
【0230】
メモリシステム7600は、
図1、
図32乃至
図34を参照して説明したメモリシステム1000〜4000の中の1つである。
【0231】
以上、本発明の詳細を具体的な実施形態に関して説明したが、本発明の範囲と技術的思想から逸脱しない限度内で様々な変形が可能である。従って、本発明の範囲は上述した実施形態に限定されてはならないし、後述する特許請求の範囲のみでなく、この特許請求の範囲と均等なものによってのみ定められる。