(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023108588
(43)【公開日】2023-08-04
(54)【発明の名称】メモリ装置及びその動作方法
(51)【国際特許分類】
G11C 16/10 20060101AFI20230728BHJP
G11C 11/56 20060101ALI20230728BHJP
G11C 16/04 20060101ALI20230728BHJP
G11C 16/34 20060101ALI20230728BHJP
【FI】
G11C16/10 140
G11C11/56 210
G11C16/04 170
G11C16/34 140
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022154695
(22)【出願日】2022-09-28
(31)【優先権主張番号】10-2022-0010803
(32)【優先日】2022-01-25
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MEMORY STICK
2.FIREWIRE
(71)【出願人】
【識別番号】310024033
【氏名又は名称】エスケーハイニックス株式会社
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung-daero,Bubal-eub,Icheon-si,Gyeonggi-do,Korea
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】シン ヒョン ソブ
(72)【発明者】
【氏名】クァク ドン フン
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA19
5B225CA21
5B225DB08
5B225DB22
5B225DB30
5B225DE07
5B225EA05
5B225FA01
5B225FA02
(57)【要約】
【課題】本技術は電子装置に関する。
【解決手段】本技術によるメモリ装置は、ワードラインに接続された複数のメモリセルと、上記ワードラインにプログラム電圧を印加するプログラム電圧印加動作及び上記ワードラインに検証電圧を印加して上記複数のメモリセルの閾値電圧を識別する検証動作をそれぞれ含む複数のプログラムループを行うプログラム動作実行部と、上記複数のプログラムループの何れか1つのプログラムループにおいて印加されたプログラム電圧の大きさと何れか1つのプログラムループの前のプログラムループにおいて印加されたプログラム電圧の大きさとの差であるステップ電圧を演算するステップ電圧演算部と、上記ステップ電圧の大きさに基づいて基準フェイルビット数を決める基準ビット決定部と、上記複数のメモリセルのうち上記検証電圧によって識別されたオンセルの数と上記基準フェイルビット数とを比較した結果に基づいて検証結果情報を生成する検証結果生成部と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メモリセルと、
上記メモリセルに対する複数のプログラムループを行うプログラム動作実行部と、
上記複数のプログラムループの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさと上記何れか1つのプログラムループの前のプログラムループにおいて用いられたプログラム電圧の大きさとの差であるステップ電圧を演算するステップ電圧演算部と、
上記ステップ電圧の大きさに基づいて基準フェイルビット数を決める基準ビット決定部と、
上記メモリセルのうち上記何れか1つのプログラムループに含まれた検証動作によって識別されたオンセルの数と上記基準フェイルビット数とを比較した結果に基づいて検証結果情報を生成する検証結果生成部と、を含むことを特徴とするメモリ装置。
【請求項2】
上記ステップ電圧の大きさは、
上記複数のプログラムループが行われた回数に応じて増加することを特徴とする請求項1に記載のメモリ装置。
【請求項3】
上記基準ビット決定部は、
上記基準フェイルビット数に関する情報を保存する基準ビット情報保存部をさらに含み、
上記基準フェイルビット数に関する情報は、
上記ステップ電圧の大きさに対応する第1基準ビット数、上記メモリセルに対するプログラム及び消去動作が行われた回数に対応する第2基準ビット数、及び上記メモリセルに接続されたワードラインの位置に対応する第3基準ビット数を含むことを特徴とする請求項1に記載のメモリ装置。
【請求項4】
上記基準ビット決定部は、
上記第1基準ビット数を上記基準フェイルビット数と決めることを特徴とする請求項3に記載のメモリ装置。
【請求項5】
上記第1基準ビット数は、
上記ステップ電圧の大きさが増加するほどより大きいビット数を有することを特徴とする請求項3に記載のメモリ装置。
【請求項6】
上記第2基準ビット数は、
上記メモリセルに対するプログラム及び消去動作が行われた回数が増加するほどより大きいビット数を有することを特徴とする請求項3に記載のメモリ装置。
【請求項7】
上記第3基準ビット数は、
上記ワードラインが選択ラインに隣接するほどより小さいビット数を有することを特徴とする請求項3に記載のメモリ装置。
【請求項8】
上記基準ビット決定部は、
上記第2基準ビット数及び上記第3基準ビット数のうち少なくとも1つ以上のビット数と上記第1基準ビット数の和を上記基準フェイルビット数と決めることを特徴とする請求項3に記載のメモリ装置。
【請求項9】
上記検証結果生成部は、
上記オンセルの数が上記基準フェイルビット数より少ないと、上記検証動作のパスを示す検証結果情報を生成し、上記オンセルの数が上記基準フェイルビット数と同一または多いと、上記検証動作のフェイルを示す検証結果情報を生成して上記プログラム動作実行部に提供することを特徴とする請求項1に記載のメモリ装置。
【請求項10】
上記プログラム動作実行部は、
上記検証動作のパスを示す検証結果情報を受信すると、上記何れか1つのプログラムループの次のプログラムループにおいて上記検証動作を除いて上記次のプログラムループを行うことを特徴とする請求項9に記載のメモリ装置。
【請求項11】
メモリセルを含むメモリ装置の動作方法において、
上記メモリセルに対する複数のプログラムループを行う段階と、
上記複数のプログラムループの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさと上記何れか1つのプログラムループの前のプログラムループにおいて用いられたプログラム電圧の大きさとの差であるステップ電圧を演算する段階と、
上記ステップ電圧の大きさに基づいて基準フェイルビット数を決める段階と、
上記メモリセルのうち上記何れか1つのプログラムループに含まれた検証動作によって識別されたオンセルの数と上記基準フェイルビット数とを比較した比較結果に基づいて検証結果情報を生成する段階と、を含むことを特徴とするメモリ装置の動作方法。
【請求項12】
上記ステップ電圧の大きさは、
上記複数のプログラムループが行われた回数に応じて増加することを特徴とする請求項11に記載のメモリ装置の動作方法。
【請求項13】
上記基準フェイルビット数は、
上記ステップ電圧の大きさに対応する第1基準ビット数と決められることを特徴とする請求項11に記載のメモリ装置の動作方法。
【請求項14】
上記第1基準ビット数は、
上記ステップ電圧の大きさが増加するほど、より大きいビット数を有することを特徴とする請求項13に記載のメモリ装置の動作方法。
【請求項15】
上記基準フェイルビット数は、
上記第1基準ビット数と上記メモリセルに対するプログラム及び消去動作が行われた回数に対応する第2基準ビット数の和と決められることを特徴とする請求項13に記載のメモリ装置の動作方法。
【請求項16】
上記第2基準ビット数は、
上記メモリセルに対するプログラム及び消去動作が行われた回数が増加するほどより大きいビット数を有することを特徴とする請求項15に記載のメモリ装置の動作方法。
【請求項17】
上記基準フェイルビット数は、
上記第1基準ビット数と上記メモリセルに接続されたワードラインの位置に対応する第3基準ビット数の和と決められることを特徴とする請求項13に記載のメモリ装置の動作方法。
【請求項18】
上記第3基準ビット数は、
上記ワードラインが選択ラインに隣接するほどより小さいビット数を有することを特徴とする請求項17に記載のメモリ装置の動作方法。
【請求項19】
メモリセルと、
上記メモリセルに対する複数のプログラムループを行うプログラム動作実行部と、
上記メモリセルのうち上記複数のプログラムループに含まれた検証動作によって識別されたオンセルの数と基準フェイルビット数とを比較した結果に基づいて検証結果情報を生成する検証結果生成部と、を含み、
上記複数のプログラムループのそれぞれに用いられるプログラム電圧の大きさは、
上記複数のプログラムループが行われた回数に応じてステップ電圧分だけ増加し、
上記基準フェイルビット数は、
上記ステップ電圧の大きさが増加するほどより大きいビット数を有することを特徴とするメモリ装置。
【請求項20】
上記基準フェイルビット数は、
上記メモリセルに対するプログラム及び消去動作が行われた回数が増加するほどより大きいビット数を有し、上記メモリセルに接続されたワードラインが選択ラインと隣接するほどより小さいビット数を有することを特徴とする請求項19に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は電子装置に関し、より詳細にはメモリ装置及びその動作方法に関する。
【背景技術】
【0002】
メモリ装置(Memory device)は、シリコン(Si、silicon)、ゲルマニウム(Ge、Germanium)、ヒ化ガリウム(GaAs、gallium arsenide)、リン化インジウム(InP、indium phospide)などの半導体を用いて具現される記憶装置である。メモリ装置は、揮発性メモリ装置(Volatile memory device)と不揮発性メモリ装置(Nonvolatile memory device)とに大別される。
【0003】
揮発性メモリ装置は、電源供給が遮断されると、保存していたデータが消滅されるメモリ装置である。揮発性メモリ装置にはSRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)などがある。不揮発性メモリ装置は、電源供給が遮断されても保存していたデータを保持するメモリ装置である。不揮発性メモリ装置には、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)などがある。フラッシュメモリはノア型とナンド型に大別される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施例は、プログラム動作時間を減少させることができるメモリ装置及びその動作方法を提供する。
【課題を解決するための手段】
【0005】
本発明の実施例によるメモリ装置は、ワードラインに接続された複数のメモリセルと、上記ワードラインにプログラム電圧を印加するプログラム電圧印加動作及び上記ワードラインに検証電圧を印加して上記複数のメモリセルの閾値電圧を識別する検証動作をそれぞれ含む複数のプログラムループを行うプログラム動作実行部と、上記複数のプログラムループの何れか1つのプログラムループにおいて印加されたプログラム電圧の大きさと何れか1つのプログラムループの前のプログラムループにおいて印加されたプログラム電圧の大きさとの差であるステップ電圧を演算するステップ電圧演算部と、上記ステップ電圧の大きさに基づいて基準フェイルビット数を決める基準ビット決定部と、上記複数のメモリセルのうち上記検証電圧によって識別されたオンセルの数と上記基準フェイルビット数とを比較した結果に基づいて検証結果情報を生成する検証結果生成部と、を含む。
【0006】
本発明の実施例によるワードラインに接続された複数のメモリセルを含むメモリ装置の動作方法は、複数のプログラムループの何れか1つのプログラムループにおいて上記ワードラインにプログラム電圧を印加するプログラム電圧印加段階と、上記何れか1つのプログラムループにおいて上記ワードラインに検証電圧を印加して上記複数のメモリセルの閾値電圧を識別する検証段階と、上記何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさと上記何れか1つのプログラムループの前のプログラムループにおいて用いられたプログラム電圧の大きさとの差であるステップ電圧を演算する段階と、上記ステップ電圧の大きさに基づいて基準フェイルビット数を決める段階と、上記複数のメモリセルのうち上記検証電圧によって識別されたオンセルの数と上記基準フェイルビット数とを比較した比較結果に基づいて検証結果情報を生成する段階と、を含む。
【0007】
本発明の実施例によるメモリ装置は、ワードラインに接続された複数のメモリセルと、上記ワードラインにプログラム電圧を印加するプログラム電圧印加動作及び上記ワードラインに検証電圧を印加して上記複数のメモリセルの閾値電圧を識別する検証動作をそれぞれ含む複数のプログラムループを行うプログラム動作実行部と、上記複数のメモリセルのうち上記検証電圧によって識別されたオンセルの数と基準フェイルビット数とを比較した結果に基づいて検証結果情報を生成する検証結果生成部と、を含み、上記プログラム電圧の大きさは上記複数のプログラムループが行われた回数に応じてステップ電圧分だけ増加し、上記基準フェイルビット数は上記ステップ電圧の大きさが増加するほどより大きいビット数を有する。
【発明の効果】
【0008】
本技術によると、プログラム動作時間を減少させることができるメモリ装置及びその動作方法が提供される。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施例によるメモリ装置を含むメモリシステムを説明するための図である。
【
図2】
図1のメモリ装置の構造を説明するための図である。
【
図3】
図2の複数のメモリブロックBLK1~BKLzの何れか1つのメモリブロックの構造を説明するための図である。
【
図4】メモリ装置のプログラム動作によるメモリセルの閾値電圧の分布を説明するための図である。
【
図5】メモリ装置のプログラム動作を説明するための図である。
【
図6】メモリ装置のプログラム動作における検証動作を説明するための図である。
【
図7】本発明の一実施例によるメモリ装置のプログラム動作を説明するための図である。
【
図8】プログラム電圧情報保存部を説明するための図である。
【
図9】ステップ電圧の大きさに対応する第1基準ビット数を説明するための図である。
【
図10】プログラム及び消去動作の回数に対応する第2基準ビット数を説明するための図である。
【
図11】ワードラインの位置に対応する第3基準ビット数を説明するための図である。
【
図12】ステップ電圧の大きさ、プログラム及び消去動作の回数及びワードラインの位置を考慮して決められた基準フェイルビット数を説明するための図である。
【
図13】本発明の一実施例によるメモリ装置のプログラム動作を説明するためのフローチャートである。
【
図14】本発明の一実施例によるメモリシステムが適用されたメモリカードシステムを示すブロック図である。
【
図15】本発明の一実施例によるメモリシステムが適用されたSSD(Solid State Drive)システムを示すブロック図である。
【
図16】本発明の一実施例によるメモリシステムが適用されたユーザシステムを示すブロック図である。
【発明を実施するための形態】
【0010】
本明細書または出願に開示されている本発明の概念による実施例に対する特定の構造的ないし機能的な説明は、本発明の概念による実施例を説明するためだけに例示されており、本発明の概念による実施例は様々な形態で実施されてもよく、本明細書または出願に説明された実施例に限定されると解釈されてはならない。
【0011】
図1は本発明の一実施例によるメモリ装置を含むメモリシステムを説明するための図である。
【0012】
図1を参照すると、メモリシステム50はメモリ装置100と、メモリコントローラ200と、を含んでもよい。メモリシステム50は、携帯電話、スマートフォン、MP3プレーヤ、ラップトップコンピュータ、デスクトップコンピュータ、ゲーム機、TV、タブレットPCまたは車載インフォテインメント(in-vehicle infotainment)システムなどのホスト300の制御に応じてデータを保存する装置であってもよい。
【0013】
メモリシステム50はホスト300との通信方式であるホストインターフェースに応じて様々な種類の記憶装置の何れか1つに製造されてもよい。例えば、メモリシステム50は、SSD、MMC、eMMC、RS-MMC、micro-MMC形態のマルチメディアカード(multimedia card)、SD、mini-SD、micro-SD形態のセキュアデジタル(secure digital)カード、USB(universal serial bus)記憶装置、UFS(universal flash storage)装置、PCMCIA(personal computer memory card international association)カード形態の記憶装置、PCI(peripheral component interconnection)カード形態の記憶装置、PCI-E(PCI express)カード形態の記憶装置、CF(compact flash)カード、スマートメディア(smart media)カード、メモリスティック(memory stick)などの様々な種類の記憶装置の何れか1つからなってもよい。
【0014】
メモリシステム50は様々な種類のパッケージ(package)形態の何れか1つに製造されてもよい。例えば、メモリシステム50は、POP(package on package)、SIP(system in package)、SOC(system on chip)、MCP(multi-chip package)、COB(chip on board)、WFP(wafer-level fabricated package)、WSP(wafer-level stack package)などの様々な種類のパッケージ形態の何れか1つに製造されてもよい。
【0015】
メモリ装置100はデータを保存することができる。メモリ装置100はメモリコントローラ200の制御に応答して動作する。メモリ装置100はデータを保存する複数のメモリセルを含むメモリセルアレイ(不図示)を含んでもよい。
【0016】
メモリセルは、それぞれ1ビットのデータを保存するシングルレベルセル(Single Level Cell;SLC)、2ビットのデータを保存するマルチレベルセル(Multi Level Cell;MLC)、3ビットのデータを保存するトリプルレベルセル(Triple Level Cell;TLC)または4ビットのデータを保存するクアッドレベルセル(Quad Level Cell;QLC)で構成されてもよい。
【0017】
メモリセルアレイ(不図示)は複数のメモリブロックを含んでもよい。各メモリブロックは複数のメモリセルを含んでもよい。1つのメモリブロックは複数のページを含んでもよい。実施例において、ページはメモリ装置100にデータを保存するか、メモリ装置100に保存されたデータを読み出す単位であってもよい。メモリブロックはデータを消去する単位であってもよい。
【0018】
実施例において、メモリ装置100は、DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)、LPDDR4(Low Power Double Data Rate4) SDRAM、GDDR(Graphics Double Data Rate) SDRAM、LPDDR(Low Power DDR)、RDRAM(Rambus Dynamic Random Access Memory)、NAND型フラッシュメモリ(NAND flash memory)、垂直型NANDフラッシュメモリ(Vertical NAND)、ノア型フラッシュメモリ(NOR flash memory)、抵抗性ラム(resistive random access memory:RRAM)、相変化メモリ(phase-change random access memory:PRAM)、磁気抵抗メモリ(magnetoresistive random access memory:MRAM)、強誘電体メモリ(ferroelectric random access memory:FRAM)、スピン注入磁化反転メモリ(spin transfer torque random access memory:STT-RAM)などであってもよい。本明細書では、説明の便宜上、メモリ装置100がNAND型フラッシュメモリである場合を想定して説明する。
【0019】
メモリ装置100はメモリコントローラ200からコマンド及びアドレスを受信し、メモリセルアレイのうちアドレスにより選択された領域をアクセスするように構成される。メモリ装置100は、アドレスにより選択された領域に対してコマンドが指示する動作を行うことができる。例えば、メモリ装置100は、書き込み動作(プログラム動作)、読み出し動作、及び消去動作を行うことができる。書き込み動作の際、メモリ装置100はアドレスにより選択された領域にデータをプログラムする。読み出し動作の際、メモリ装置100はアドレスにより選択された領域からデータを読み出す。消去動作の際、メモリ装置100はアドレスにより選択された領域に保存されたデータを消去する。
【0020】
実施例において、メモリ装置100はプログラム動作制御部140を含んでもよい。
【0021】
プログラム動作制御部140はメモリセルに対するプログラム動作を制御することができる。プログラム動作はメモリセルにデータを保存する動作であってもよい。具体的には、プログラム動作は、メモリセルに保存されるデータに応じてメモリセルの閾値電圧を上昇させる動作であってもよい。プログラム動作が行われると、メモリセルは複数のプログラム状態の何れか1つの状態に対応する閾値電圧を有することができる。複数のプログラム状態は1つのメモリセルが保存するデータビットの数に応じて決まってもよい。例えば、1つのメモリセルが3ビットのデータを保存するTLC(Triple Level Cell;TLC)にプログラムされる場合、複数のプログラム状態は消去状態、第1~第7プログラム状態を意味することができる。プログラム動作が行われた後にメモリセルが有する閾値電圧はメモリセルに保存されるデータに応じて決まってもよい。メモリセルはそれぞれ保存されるデータに応じて複数のプログラム状態の何れか1つの状態を目標プログラム状態として有することができる。
【0022】
実施例において、プログラム動作は複数のプログラムループを含むことができる。各プログラムループはプログラム電圧印加動作及び検証動作を含んでもよい。プログラム電圧印加動作はプログラム電圧を用いてメモリセルの閾値電圧を上昇させる動作であってもよい。検証動作は検証電圧を用いてメモリセルの閾値電圧が目標プログラム状態に対応する閾値電圧に達したか否かを識別する動作であってもよい。実施例において、検証動作は複数のプログラム状態のそれぞれに対して行われてもよい。各プログラムループ毎に全てのプログラム状態に対する検証動作が行われてもよく、予め定められたプログラムループでのみ全てのプログラム状態に対する検証動作が行われてもよい。他の実施例では、各プログラムループで行われる検証動作に対応するプログラム状態は予め決められてもよい。
【0023】
具体的には、検証動作はメモリセルの閾値電圧が検証電圧を超える閾値電圧を有するか否かを識別する動作であってもよい。例えば、検証動作において検証電圧を超える閾値電圧を有するメモリセルはオフセルと識別されることができる。オフセルは論理値「0」で表現されることができる。検証動作においてオフセルと識別されたメモリセルの閾値電圧は目標プログラム状態に対応する閾値電圧に達したと識別されることができる。他の例として、検証動作において検証電圧以下の閾値電圧を有するメモリセルはオンセルと識別されることができる。オンセルは論理値「1」で表現されることができる。検証動作においてオンセルと識別されたメモリセルの閾値電圧は目標プログラム状態に対応する閾値電圧に達していないと識別されることができる。
【0024】
検証動作の実行結果は検証パスまたは検証フェイルであることができる。検証パスは、オンセルと識別されたメモリセルの数が基準フェイルビット数より少ない場合であることができる。検証フェイルは、オンセルと識別されたメモリセルの数が基準フェイルビット数と同一または多い場合であることができる。即ち、基準フェイルビット数は、検証動作の結果が検証パスまたは検証フェイルの何れであるかを決める基準ビット数であることができる。
【0025】
メモリコントローラ200はメモリシステム50の全体的な動作を制御することができる。
【0026】
メモリシステム50に電源が印加されると、メモリコントローラ200はファームウェア(firmware、FW)を実行することができる。メモリ装置100がフラッシュメモリ装置である場合、ファームウェア(FW)はホスト300との通信を制御するホストインターフェース層(Host Interface Layer、HIL)と、ホスト300とメモリ装置100との通信を制御するフラッシュ変換レイヤ(Flash Translation Layer、FTL)と、メモリ装置100との通信を制御するフラッシュインターフェースレイヤ(Flash Interface Layer、FLA)と、を含んでもよい。
【0027】
実施例において、メモリコントローラ200はホスト300からデータと論理ブロックアドレス(Logical Block Address、LBA)の入力を受け、論理ブロックアドレスをメモリ装置100に含まれたデータが保存されるメモリセルのアドレスを示す物理ブロックアドレス(Physical Block Address、PBA)に変換することができる。本明細書において、論理ブロックアドレス(LBA)と「論理アドレス」または「論理的アドレス」は同じ意味で使用されてもよい。また、物理ブロックアドレス(PBA)と「物理アドレス」または「物理的アドレス」も同じ意味で使用されてもよい。
【0028】
メモリコントローラ200は、ホスト300の要求(request)に応じて書き込み動作、読み出し動作、または消去動作などを行うようにメモリ装置100を制御することができる。書き込み動作の際、メモリコントローラ200は書き込みコマンド、物理ブロックアドレス、及びデータをメモリ装置100に提供することができる。読み出し動作の際、メモリコントローラ200は読み出しコマンド及び物理ブロックアドレスをメモリ装置100に提供することができる。消去動作の際、メモリコントローラ200は消去コマンド及び物理ブロックアドレスをメモリ装置100に提供することができる。
【0029】
実施例において、メモリコントローラ200は、ホスト300からの要求に関わらず自主的にコマンド、アドレス、及びデータを生成し、メモリ装置100に伝送することができる。例えば、メモリコントローラ200は、ウェアレベリング(wear leveling)、リードリクレーム(read reclaim)、ガベージコレクション(garbage collection)などの実行に伴われる読み出し動作及び書き込み動作を実行するためのコマンド、アドレス、及びデータをメモリ装置100に提供することができる。
【0030】
実施例において、メモリコントローラ200は少なくとも2つ以上のメモリ装置100を制御することができる。この場合、メモリコントローラ200は動作性能を向上させるために、メモリ装置100をインターリーブ方式で制御することができる。インターリーブ方式は少なくとも2つ以上のメモリ装置100に対する動作が重畳するように制御する方式であってもよい。
【0031】
ホスト300は、USB(Universal Serial Bus)、SATA(Serial AT Attachment)、SAS(Serial Attached SCSI)、HSIC(High Speed Interchip)、SCSI(Small Computer System Interface)、PCI(Peripheral Component Interconnection)、PCIe(PCI express)、NVMe(NonVolatile Memory express)、UFS(Universal Flash Storage)、SD(Secure Digital)、MMC(MultiMedia Card)、eMMC(embedded MMC)、DIMM(Dual In-line Memory Module)、RDIMM(Registered DIMM))、LRDIMM(Load Reduced DIMM)などの様々な通信方式のうち少なくとも1つを利用してメモリシステム50と通信することができる。
【0032】
図2は
図1のメモリ装置の構造を説明するための図である。
【0033】
図2を参照すると、メモリ装置100はメモリセルアレイ110、周辺回路120、及び制御ロジック130を含んでもよい。
【0034】
メモリセルアレイ110は複数のメモリブロックBLK1~BLKzを含む。複数のメモリブロックBLK1~BLKzは行ラインRLを介してアドレスデコーダ121に接続される。複数のメモリブロックBLK1~BLKzはビットラインBL1~BLmを介してページバッファグループ123に接続される。複数のメモリブロックBLK1~BLKzのそれぞれは複数のメモリセルを含む。実施例として、複数のメモリセルは不揮発性メモリセルである。複数のメモリセルは同じワードラインに接続されたメモリセルを1つのページとして定義する。即ち、メモリセルアレイ110は複数のページで構成される。本発明の実施例によると、メモリセルアレイ110に含まれた複数のメモリブロックBLK1~BLKzのそれぞれは複数のダミーセルを含んでもよい。ダミーセルは、ドレイン選択トランジスタとメモリセルとの間と、ソース選択トランジスタとメモリセルとの間に少なくとも1つ以上が直列に接続されてもよい。
【0035】
メモリ装置100のメモリセルはそれぞれ1ビットのデータを保存するシングルレベルセル、2ビットのデータを保存するマルチレベルセル、3ビットのデータを保存するトリプルレベルセル、または4ビットのデータを保存するクアッドレベルセルで構成されてもよい。
【0036】
周辺回路120はメモリセルアレイ110を駆動する。例えば、周辺回路120は制御ロジック130の制御に応じてプログラム動作、読み出し動作及び消去動作を行うようにメモリセルアレイ110を駆動してもよい。他の例として、周辺回路120は、制御ロジック130の制御に応じて行ラインRL及びビットラインBL1~BLmに様々な動作電圧を印加するか、または印加された電圧をディスチャージしてもよい。
【0037】
周辺回路120は、アドレスデコーダ121、電圧生成部122、ページバッファグループ123、データ入出力回路124、及びセンシング回路125を含んでもよい。
【0038】
アドレスデコーダ121は行ラインRLを介してメモリセルアレイ110に接続される。行ラインRLはドレイン選択ライン、ワードライン、ソース選択ライン、及び共通ソースラインを含んでもよい。本発明の実施例によると、ワードラインはノーマルワードラインとダミーワードラインを含んでもよい。本発明の実施例によると、行ラインRLはパイプ選択ラインをさらに含んでもよい。
【0039】
アドレスデコーダ121は制御ロジック130の制御に応答して動作するように構成される。アドレスデコーダ121は制御ロジック130からアドレスADDRを受信する。
【0040】
アドレスデコーダ121は受信したアドレスADDRのうちブロックアドレスをデコードするように構成される。アドレスデコーダ121はデコードされたブロックアドレスに応じてメモリブロックBLK1~BLKzのうち少なくとも1つのメモリブロックを選択する。アドレスデコーダ121は受信したアドレスADDRのうち行アドレスRADDをデコードするように構成される。アドレスデコーダ121は、デコードされた行アドレスRADDに応じて電圧生成部122から提供された電圧を少なくとも1つのワードラインWLに印加することで選択されたメモリブロックの少なくとも1つのワードラインを選択することができる。
【0041】
プログラム動作の際、アドレスデコーダ121は選択されたワードラインにプログラム電圧を印加し、非選択のワードラインにプログラム電圧より低いレベルのパス電圧を印加する。プログラム検証動作の際、アドレスデコーダ121は選択されたワードラインに検証電圧を印加し、非選択のワードラインに検証電圧より高いレベルの検証パス電圧を印加する。
【0042】
読み出し動作の際、アドレスデコーダ121は選択されたワードラインに読み出し電圧を印加し、非選択のワードラインに読み出し電圧より高いレベルの読み出しパス電圧を印加する。
【0043】
メモリ装置100の消去動作はメモリブロック単位で行われる。消去動作の際にメモリ装置100に入力されるアドレスADDRはブロックアドレスを含む。アドレスデコーダ121はブロックアドレスをデコードし、デコードされたブロックアドレスに応じて1つのメモリブロックを選択することができる。消去動作の際、アドレスデコーダ121は選択されたメモリブロックに接続されるワードラインに接地電圧を印加することができる。
【0044】
アドレスデコーダ121は伝達されたアドレスADDRのうち列アドレスをデコードするように構成されてもよい。デコードされた列アドレスはページバッファグループ123に伝達されてもよい。例えば、アドレスデコーダ121は行デコーダ、列デコーダ、アドレスバッファなどの構成要素を含んでもよい。
【0045】
電圧生成部122はメモリ装置100に供給される外部電源電圧を用いて複数の動作電圧Vopを生成するように構成される。電圧生成部122は制御ロジック130の制御に応答して動作する。
【0046】
実施例として、電圧生成部122は外部電源電圧をレギュレートして内部電源電圧を生成することができる。電圧生成部122で生成された内部電源電圧は、メモリ装置100の動作電圧として使用される。
【0047】
実施例として、電圧生成部122は動作信号OPSIGに応答してプログラム、読み出し及び消去動作に使用される様々な動作電圧Vopを生成することができる。電圧生成部122は外部電源電圧または内部電源電圧を用いて複数の動作電圧Vopを生成することができる。電圧生成部122はメモリ装置100に求められる様々な電圧を生成するように構成されてもよい。例えば、電圧生成部122は複数の消去電圧、複数のプログラム電圧、複数のパス電圧、複数の選択読み出し電圧、複数の非選択読み出し電圧を生成することができる。
【0048】
電圧生成部122は、様々な電圧レベルを有する複数の動作電圧Vopを生成するために、内部電源電圧を受信する複数のポンピングキャパシタを含み、制御ロジック130の制御に応答して複数のポンピングキャパシタを選択的に活性化して複数の動作電圧Vopを生成する。
【0049】
生成された複数の動作電圧Vopはアドレスデコーダ121によってメモリセルアレイ110に供給されることができる。
【0050】
ページバッファグループ123は第1~第mページバッファPB1~PBmを含む。第1~第mページバッファPB1~PBmはそれぞれ第1~第mビットラインBL1~BLmを介してメモリセルアレイ110に接続される。第1~第mページバッファPB1~PBmは制御ロジック130の制御に応答して動作する。
【0051】
第1~第mページバッファPB1~PBmはデータ入出力回路124とデータDATAを通信する。プログラム時に、第1~第mページバッファPB1~PBmはデータ入出力回路124及びデータラインDLを介して保存されるデータDATAを受信する。
【0052】
プログラム動作の際、第1~第mページバッファPB1~PBmは、選択されたワードラインにプログラムパルスが印加されるとき、データ入出力回路124を介して受信した保存されるデータDATAをビットラインBL1~BLmを介して選択されたメモリセルに伝達する。伝達されたデータDATAに応じて選択されたページのメモリセルはプログラムされる。プログラム許容電圧(例えば、接地電圧)が印加されるビットラインと接続されたメモリセルは上昇した閾値電圧を有する。プログラム禁止電圧(例えば、電源電圧)が印加されるビットラインと接続されたメモリセルの閾値電圧は保持される。プログラム検証動作の際、第1~第mページバッファPB1~PBmは選択されたメモリセルからビットラインBL1~BLmを介してメモリセルに保存されたデータDATAを読み出す。
【0053】
読み出し動作の際、ページバッファグループ123は選択されたページのメモリセルからビットラインBLを介してデータDATAを読み出し、読み出されたデータDATAを第1~第mページバッファPB1~PBmに保存することができる。
【0054】
消去動作の際、ページバッファグループ123はビットラインBLをフローティング(floating)させることができる。実施例として、ページバッファグループ123は列選択回路を含んでもよい。
【0055】
実施例において、ページバッファグループ123に含まれた複数のページバッファの一部のページバッファに保存されたデータがメモリセルアレイ110にプログラムされる間、他のページバッファはメモリコントローラ200から新しいデータの入力を受けて保存することができる。
【0056】
データ入出力回路124はデータラインDLを介して第1~第mページバッファPB1~PBmに接続される。データ入出力回路124は制御ロジック130の制御に応答して動作する。
【0057】
データ入出力回路124は入力されるデータDATAを受信する複数の入出力バッファ(不図示)を含んでもよい。プログラム動作の際、データ入出力回路124は外部コントローラ(不図示)から保存されるデータDATAを受信する。データ入出力回路124は、読み出し動作の際、ページバッファグループ123に含まれた第1~第mページバッファPB1~PBmから伝達されたデータDATAを外部コントローラに出力する。
【0058】
センシング回路125は、読み出し動作または検証動作の際、制御ロジック130が生成した許容ビットVRYBIT信号に応答して基準電流を生成し、ページバッファグループ123から受信したセンシング電圧VPBと基準電流によって生成された基準電圧とを比較してパス信号またはフェイル信号を制御ロジック130に出力することができる。許容ビットVRYBITは基準フェイルビット数であってもよい。センシング電圧VPBの大きさはオンセルと識別されたメモリセルの数に応じて変更されてもよい。または、センシング電圧VPBの大きさはオフセルと識別されたメモリセルの数に応じて変更されてもよい。実施例において、センシング回路125は基準フェイルビット数に応じて基準電圧を生成し、オンセルと識別されたメモリセルの数に応じて決められたセンシング電圧VPBと比較してパス信号またはフェイル信号を制御ロジック130に出力することができる。例えば、センシング回路125はセンシング電圧VPBの大きさが基準電圧より小さいと、パス信号を制御ロジック130に出力することができる。他の例として、センシング回路125はセンシング電圧VPBの大きさが基準電圧より小さいと、フェイル信号を制御ロジック130に出力することができる。
【0059】
制御ロジック130はアドレスデコーダ121、電圧生成部122、ページバッファグループ123、データ入出力回路124及びセンシング回路125に接続されてもよい。制御ロジック130はメモリ装置100の諸般の動作を制御するように構成されてもよい。制御ロジック130は外部装置から伝達されるコマンドCMDに応答して動作することができる。
【0060】
制御ロジック130はコマンドCMD及びアドレスADDRに応答して様々な信号を生成して周辺回路120を制御することができる。例えば、制御ロジック130はコマンドCMD及びアドレスADDRに応答して動作信号OPSIG、行アドレスRADD、ページバッファ制御信号PBSIGNALS及び許容ビットVRYBIT信号を生成することができる。制御ロジック130は、動作信号OPSIGは電圧生成部122に出力し、行アドレスRADDはアドレスデコーダ121に出力し、ページバッファ制御信号はページバッファグループ123に出力し、許容ビットVRYBIT信号はセンシング回路125に出力することができる。また、制御ロジック130はセンシング回路125が出力したパスまたはフェイル信号PASS/FAILに応答して検証動作がパスまたはフェイルされたか否かを判断することができる。
【0061】
図1に示すプログラム動作制御部140は
図2に示すメモリ装置100に含まれてもよい。プログラム動作制御部140はメモリセルに対するプログラム動作を制御することができる。プログラム動作制御部140は周辺回路120及びメモリセルアレイ110を含んでもよい。プログラム動作制御部140はプログラム動作を行うようにメモリセルアレイ110を駆動することができる。プログラム動作制御部140はプログラム動作に用いる動作電圧を行ラインRL及びビットラインBL1~BLmに印加するように周辺回路120を制御することができる。
【0062】
図1に示すプログラム動作制御部140はページバッファグループ123及びセンシング回路125を含んでもよい。プログラム動作制御部140は検証動作時にオンセルと識別されたメモリセルの数に基づいてセンシング電圧VPBの大きさを決めることができる。プログラム動作制御部140は基準フェイルビット数に応じて基準電圧を生成することができる。プログラム動作制御部140は基準電圧の大きさとセンシング電圧VPBとを比較して検証パスまたは検証フェイルを決めることができる。プログラム動作制御部140は検証動作の実行結果に応じてプログラムループを行うか否かを決めることができる。
【0063】
図3は、
図2の複数のメモリブロックBLK1~BKLzの何れか1つのメモリブロックの構造を説明するための図である。
【0064】
メモリブロックBLKiは、
図2に示すメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKiを示すものである。
【0065】
図3を参照すると、第1選択ラインと第2選択ラインとの間に互いに平行に配列された複数のワードラインが接続されてもよい。ここで、第1選択ラインはソース選択ラインSSLで、第2選択ラインはドレイン選択ラインDSLであってもよい。より具体的に説明すると、メモリブロックBLKiはビットラインBL1~BLnとソースラインSLとの間に接続された複数のストリング(strings)STを含んでもよい。ビットラインBL1~BLnはストリングSTにそれぞれ接続されてもよく、ソースラインSLはストリングSTに共通して接続されてもよい。ストリングSTは互いに同様に構成されてもよいため、第1ビットラインBL1に接続されたストリングSTを例に挙げて具体的に説明する。
【0066】
ストリングSTはソースラインSLと第1ビットラインBL1の間に互いに直列に接続されたソース選択トランジスタSST、複数のメモリセルMC1~MC16、及びドレイン選択トランジスタDSTを含んでもよい。1つのストリングSTにはソース選択トランジスタSSTとドレイン選択トランジスタDSTが少なくとも1つ以上ずつ含まれてもよく、メモリセルMC1~MC16も図に示す数より多く含まれてもよい。
【0067】
ソース選択トランジスタSSTのソース(source)はソースラインSLに接続され、ドレイン選択トランジスタDSTのドレイン(drain)は第1ビットラインBL1に接続されてもよい。メモリセルMC1~MC16はソース選択トランジスタSSTとドレイン選択トランジスタDSTの間に直列に接続されてもよい。互いに異なるストリングSTに含まれたソース選択トランジスタSSTのゲートはソース選択ラインSSLに接続されてもよく、ドレイン選択トランジスタDSTのゲートはドレイン選択ラインDSLに接続されてもよく、メモリセルMC1~MC16のゲートは複数のワードラインWL1~WL16に接続されてもよい。互いに異なるストリングSTに含まれたメモリセルのうち同じワードラインに接続されたメモリセルのグループを物理ページ(physical page)PGということができる。従って、メモリブロックBLKiにはワードラインWL1~WL16の数だけ物理ページPGが含まれることができる。
【0068】
1つのメモリセルは1ビットのデータを保存することができる。通常、これをシングルレベルセルという。この場合、1つの物理ページPGは1つの論理ページ(logical page;LPG)データを保存することができる。1つの論理ページ(LPG)データは、1つの物理ページPGに含まれたセル数だけのデータビットを含むことができる。
【0069】
1つのメモリセルは2ビット以上のデータを保存することができる。この場合、1つの物理ページPGは2以上の論理ページ(LPG)データを保存することができる。
【0070】
図4は、メモリ装置のプログラム動作によるメモリセルの閾値電圧の分布を説明するための図である。
【0071】
図4において、グラフの横軸はメモリセルの閾値電圧Vthを示し、グラフの縦軸はメモリセルの数#of cellsを示す。
【0072】
図4を参照すると、メモリセルの閾値電圧の分布はプログラム動作に応じて初期状態から最終プログラム状態に変化することができる。
【0073】
図4では、1つのメモリセルが3ビットのデータを保存するTLCにプログラムされる場合を想定して説明する。
【0074】
初期状態はプログラム動作を行わない状態であって、メモリセルの閾値電圧の分布は消去状態Eであることができる。
【0075】
最終プログラム状態はプログラム動作を行ったメモリセルの閾値電圧の分布であることができる。プログラム動作を行ったメモリセルの閾値電圧は複数のプログラム状態の何れか1つの状態に対応する閾値電圧を有することができる。例えば、1つのメモリセルが3ビットのデータを保存するTLCにプログラムされる場合、複数のプログラム状態は消去状態E、第1~第7プログラム状態PV1~PV7を意味することができる。実施例において、プログラム動作を行ったメモリセルの閾値電圧は消去状態E、第1~第7プログラム状態PV1~PV7の何れか1つの状態に対応する閾値電圧を有することができる。初期状態であるメモリセルの閾値電圧はプログラム動作により消去状態E、第1~第7プログラム状態PV1~PV7の何れか1つの状態に対応する閾値電圧に上昇することができる。
【0076】
メモリセルはそれぞれ消去状態E、第1~第7プログラム状態PV1~PV7の何れか1つの状態を目標プログラム状態として有することができる。目標プログラム状態はメモリセルに保存されるデータに応じて決められてもよい。メモリセルはそれぞれプログラム動作により最終プログラム状態のうち目標プログラム状態に対応する閾値電圧を有することができる。
【0077】
図5はメモリ装置のプログラム動作を説明するための図である。
【0078】
図5において、グラフの横軸は時間(Time)を示し、グラフの縦軸はワードラインに印加される電圧Vを示す。ワードラインに印加される電圧Vはプログラム電圧Vpgm及び検証電圧V_vfyを含んでもよい。
【0079】
図5では、1つのメモリセルが3ビットのデータを保存するTLCにプログラムされると仮定して説明する。しかし、本発明の範囲はこれに限定されず、1つのメモリセルが2ビットのデータを保存するか、または4ビット以上のデータを保存するようにプログラムされてもよい。
【0080】
図5を参照すると、メモリ装置100のプログラム動作は複数のプログラムループPL1~PLnを含んでもよい。メモリ装置100は複数のプログラムループPL1~PLnを行って選択されたワードラインに接続された選択されたメモリセルが複数のプログラム状態の何れか1つの状態に対応する閾値電圧を有するようにプログラム動作を行うことができる。例えば、1つのメモリセルがTLCにプログラムされる場合、メモリ装置100は複数のプログラムループPL1~PLnを行って消去状態E、第1~第7プログラム状態PV1~PV7の何れか1つの状態に対応する閾値電圧を有するようにプログラム動作を行うことができる。
【0081】
複数のプログラムループPL1~PLnのそれぞれは、プログラム電圧印加動作(PGM Step)及び検証動作(Verify Step)を含んでもよい。
【0082】
プログラム電圧印加動作は選択されたメモリセルが接続された選択されたワードラインにプログラム電圧を印加する動作であってもよい。例えば、メモリ装置100は第1プログラムループPL1で選択されたメモリセルが接続された選択されたワードラインに第1プログラム電圧Vpgm1を印加することができる。選択されたワードラインに第1プログラム電圧Vpgm1が印加された後、選択されたメモリセルのそれぞれの閾値電圧は複数のプログラム状態のうち目標プログラム状態に対応する閾値電圧を有することができる。
【0083】
検証動作は選択されたメモリセルが接続された選択されたワードラインに検証電圧を印加する動作であってもよい。検証動作は選択されたメモリセルのそれぞれの閾値電圧が複数のプログラム状態のうち目標プログラム状態に対応する閾値電圧を有するか否かを判断する動作であってもよい。検証動作は選択されたメモリセルのそれぞれの目標プログラム状態に対応する検証電圧を印加する動作であってもよい。
【0084】
実施例では、メモリ装置100は、第1プログラムループPL1において、選択されたメモリセルが接続された選択されたワードラインに第1プログラム電圧Vpgm1が印加された後、第1~第7検証電圧V_vfy1~V_vfy7を印加することができる。このとき、目標プログラム状態が第1プログラム状態であるメモリセルは第1検証電圧V_vfy1を用いて検証動作を行ってもよい。目標プログラム状態が第2プログラム状態であるメモリセルは第2検証電圧V_vfy2を用いて検証動作を行ってもよい。目標プログラム状態が第3プログラム状態であるメモリセルは第3検証電圧V_vfy3を用いて検証動作を行ってもよい。目標プログラム状態が第4プログラム状態であるメモリセルは第4検証電圧V_vfy4を用いて検証動作を行ってもよい。目標プログラム状態が第5プログラム状態であるメモリセルは第5検証電圧V_vfy5を用いて検証動作を行ってもよい。目標プログラム状態が第6プログラム状態のメモリセルは第6検証電圧V_vfy6を用いて検証動作を行ってもよい。目標プログラム状態が第7プログラム状態であるメモリセルは第7検証電圧V_vfy7を用いて検証動作を行ってもよい。第1検証電圧V_vfy1から第7検証電圧V_vfy7になるほど、検証電圧V_vfy1~V_vfy7の大きさは増加することができる。具体的には、検証電圧V_vfy1~V_vfy7の大きさは第1検証電圧V_vfy1が最も小さく、第7検証電圧V_vfy7が最も大きくてもよい。検証電圧の数は本実施例に限定されない。
【0085】
検証電圧V_vfy1~V_vfy7のそれぞれによって検証動作がパスされたメモリセルの閾値電圧は、目標プログラム状態に対応する閾値電圧を有すると判別されることができる。検証動作がパスされたメモリセルは第2プログラムループPL2においてプログラム禁止(program inhibit)されることができる。プログラム禁止されたメモリセルと接続されたビットラインにはプログラム禁止電圧が印加されることができる。
【0086】
検証電圧V_vfy1~V_vfy7のそれぞれによって検証動作がフェイルされたメモリセルの閾値電圧は、目標プログラム状態に対応する閾値電圧を有していないと判別されることができる。検証動作がフェイルされたメモリセルは第2プログラムループPL2を行うことができる。
【0087】
第2プログラムループPL2において、メモリ装置100は選択されたメモリセルが接続された選択されたワードラインに第1プログラム電圧Vpgm1より単位電圧ΔVpgm分だけ高い第2プログラム電圧Vpgm2を印加することができる。その後、メモリ装置100は第1プログラムループPL1の検証動作と同様に第2プログラムループPL2の検証動作を行うことができる。
【0088】
その後、メモリ装置100は予め設定された回数分だけ第2プログラムループPL2と同様に次のプログラムループを行うことができる。
【0089】
実施例では、予め設定された回数のプログラムループ以内にプログラム動作が完了しないと、プログラム動作はフェイルであることができる。予め設定された回数のプログラムループ以内にプログラム動作が完了すると、プログラム動作はパスであることができる。プログラム動作の完了有無は選択されたメモリセルに対する全ての検証動作がパスされたか否かで決まることができる。選択されたメモリセルの全てに対する検証動作がパスされると、次のプログラムループは行わなくてもよい。
【0090】
実施例では、プログラム電圧は増加型ステップパルスプログラミング(Incremental Step Pulse Programming:ISPP)方式によって決まることができる。プログラム電圧のレベルはプログラムループPL1~PLnが繰り返されることによって段階的に増加または減少することができる。それぞれのプログラムループで使用されるプログラム電圧の印加回数、電圧レベル、そして電圧印加時間などはメモリコントローラ200の制御に応じて様々な形態に決まってもよい。
【0091】
図6はメモリ装置のプログラム動作における検証動作を説明するための図である。
【0092】
図6を参照すると、メモリ装置100のプログラム動作は複数のプログラムループPL1~PLnを含んでもよい。複数のプログラムループPL1~PLnのそれぞれはプログラム電圧印加動作及び検証動作を含んでもよい。検証動作はセンシング区間(Sensing)及び比較区間(Comparing)を含んでもよい。
【0093】
センシング区間は、選択されたメモリセルに接続された選択されたワードラインに検証電圧を印加するとき、選択されたメモリセルの閾値電圧に応じて可変するビットラインの電圧を検知する区間であってもよい。メモリ装置100は可変するビットラインの電圧に応じて選択されたメモリセルの閾値電圧を識別することができる。例えば、メモリセルの閾値電圧が検証電圧を超えると、メモリセルに接続されたビットラインの電圧を保持されることができる。このとき、検証電圧を超える閾値電圧を有するメモリセルはオフセルと識別されることができる。オフセルと識別されたメモリセルの閾値電圧は、目標プログラム状態に対応する閾値電圧に達したと識別されることができる。他の例として、メモリセルの閾値電圧が検証電圧以下であれば、メモリセルに接続されたビットラインの電圧は低くなることができる。このとき、検証電圧以下の閾値電圧を有するメモリセルはオンセルと識別されることができる。オンセルと識別されたメモリセルの閾値電圧は目標プログラム状態に対応する閾値電圧に達していないと識別されることができる。
【0094】
比較区間はオンセルと識別されたメモリセルの数と基準フェイルビット数とを比較する区間であってもよい。基準フェイルビット数は検証動作の結果が検証パスまたは検証フェイルの何れであるかを決める基準ビット数であってもよい。
【0095】
図6の下段に示すグラフは、メモリ装置100が複数のプログラムループPL1~PLnを実行するにつれて変化するメモリセルの閾値電圧の分布である。また、
図6の下段に示すグラフの横軸はメモリセルの閾値電圧Vthを示し、グラフの縦軸はメモリセルの数#of cellsを示す。
【0096】
図6の下段に示すグラフを参照すると、複数のプログラムループPL1~PLnのそれぞれは比較区間を含んでもよい。メモリ装置100は、複数のプログラムループPL1~PLnのそれぞれの比較区間において検証電圧V_vfyによってオンセルと識別されたメモリセルの数Num fbと基準フェイルビット数Ref fbを比較することができる。例えば、検証電圧V_vfyによってオンセルと識別されたメモリセルの数Num fbが基準フェイルビット数Ref fbより少ないと、検証動作はパスされることができる。他の例として、検証電圧V_vfyによってオンセルと識別されたメモリセルの数Num fbが基準フェイルビット数Ref fbと同一または多いと、検証動作はフェイルされることができる。
【0097】
但し、メモリセルのそれぞれはプログラム電圧印加動作において閾値電圧が上昇する程度が異なってもよい。例えば、メモリセルの何れか1つのメモリセルは、他の1つのメモリセルよりプログラム電圧印加動作において閾値電圧が大きく上昇することができる。そして、複数のプログラムループPL1~PLnの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさは、何れか1つのプログラムループの前のプログラムループにおいて用いられたプログラム電圧の大きさよりステップ電圧分だけ大きくてもよい。ステップ電圧は、複数のプログラムループPL1~PLnのうち現在のプログラムループにおいて用いられたプログラム電圧の大きさと前のプログラムループにおいて用いられたプログラム電圧との差であってもよい。例えば、メモリ装置100が選択されたメモリセルに対する第2プログラムループPL2の検証動作を行う場合、第2プログラムループPL2において用いられたプログラム電圧の大きさと第1プログラムループPL1において用いられたプログラム電圧の大きさとの差がステップ電圧であってもよい。他の例では、ステップ電圧は
図5に示す単位電圧ΔVpgmであってもよい。
【0098】
ステップ電圧の大きさは複数のプログラムループPL1~PLnが行われるほど増加することができる。複数のプログラムループPL1~PLnを行うほどステップ電圧の大きさが増加するにつれて検証電圧V_vfyを超える閾値電圧を有するメモリセルが増加することができる。ステップ電圧の大きさが増加するにつれて、検証動作においてパスまたはフェイル有無の基準となる基準フェイルビット数Ref fbが変更されることができる。例えば、ステップ電圧の大きさが増加するほど、基準フェイルビット数Ref fbが増加することができる。
【0099】
図7は本発明の一実施例によるメモリ装置のプログラム動作を説明するための図である。
【0100】
図7を参照すると、メモリ装置100に含まれたプログラム動作制御部140は、プログラム動作実行部150、ステップ電圧演算部160、基準ビット決定部170、及び検証結果生成部180を含んでもよい。
【0101】
プログラム動作実行部150は複数のメモリセルのうち選択されたメモリセルに対するプログラム動作を行うことができる。プログラム動作は複数のプログラムループを含んでもよい。複数のプログラムループのそれぞれはプログラム電圧印加動作及び検証動作を含んでもよい。
【0102】
プログラム動作実行部150は複数のプログラムループの何れか1つのプログラムループを行った後、プログラム電圧情報V_infをステップ電圧演算部160に提供することができる。プログラム電圧情報V_infは複数のプログラムループの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさに関する情報であることができる。プログラム動作実行部150はプログラム関連情報Pgm_infを基準ビット決定部170に提供することができる。プログラム関連情報Pgm_infは選択されたメモリセルに対するプログラム及び消去動作が行われた回数及び選択されたメモリセルに接続された選択されたワードラインの位置に関する情報を含んでもよい。
【0103】
プログラム動作実行部150は検証電圧を用いて選択されたメモリセルの閾値電圧を識別することができる。プログラム動作実行部150は選択されたメモリセルのうち検証電圧によってオンセルと識別されたメモリセルの数Num fbを検証結果生成部180に提供することができる。
【0104】
ステップ電圧演算部160はプログラム電圧情報保存部161を含んでもよい。
【0105】
プログラム電圧情報保存部161は複数のプログラムループの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさに関する情報を保存することができる。
【0106】
ステップ電圧演算部160はプログラム電圧情報保存部161に保存されたプログラム電圧の大きさに関する情報に基づいてステップ電圧Vstepを演算することができる。具体的には、ステップ電圧演算部160は複数のプログラムループの何れか1つのプログラムループにおいて用いられたプログラム電圧の大きさと何れか1つのプログラムループの前のプログラムループにおいて用いられたプログラム電圧の大きさとの差であるステップ電圧Vstepを演算することができる。例えば、
図5を参照してプログラム動作実行部150が選択されたメモリセルに対して第2プログラムループPL2のプログラム電圧印加動作まで行ったと仮定して説明する。このとき、ステップ電圧演算部160は第2プログラムループPL2において選択されたメモリセルに印加された第2プログラム電圧Vpgm2の大きさと、第1プログラムループPL1において選択されたメモリセルに印加された第1プログラム電圧Vpgm1の大きさとの差をステップ電圧Vstepと決めることができる。
【0107】
ステップ電圧Vstepの大きさは選択されたメモリセルに対する複数のプログラムループが行われた程度に応じて異なってもよい。具体的には、ステップ電圧Vstepの大きさは複数のプログラムループが行われた回数に応じて増加することができる。例えば、
図5を参照すると、第2プログラム電圧Vpgm2の大きさと第1プログラム電圧Vpgm1の大きさとの差である第2プログラムループPL2におけるステップ電圧Vstepの大きさは、第nプログラム電圧Vpgmnの大きさと第n-1プログラム電圧Vpgmn-1の大きさとの差である第nプログラムループPLnにおけるステップ電圧Vstepの大きさより小さくてもよい。
【0108】
ステップ電圧演算部160は演算されたステップ電圧Vstepを基準ビット決定部170に提供することができる。
【0109】
基準ビット決定部170は基準ビット情報保存部171を含んでもよい。
【0110】
基準ビット情報保存部171は基準フェイルビット数に関する情報を保存することができる。基準フェイルビット数に関する情報はステップ電圧Vstepの大きさに対応する第1基準ビット数と、選択されたメモリセルに対するプログラム及び消去動作が行われた回数に対応する第2基準ビット数と、選択されたメモリセルに接続された選択されたワードラインの位置に対応する第3基準ビット数と、を含んでもよい。
【0111】
基準ビット決定部170はステップ電圧Vstepの大きさに基づいて基準フェイルビット数Ref fbを決めることができる。基準ビット決定部170はステップ電圧演算部160から演算されたステップ電圧Vstepの提供を受けることができる。実施例において、基準ビット決定部170は、基準ビット情報保存部171に保存された基準フェイルビット数に関する情報を用いてステップ電圧Vstepの大きさに対応する第1基準ビット数を基準フェイルビット数Ref fbと決めることができる。第1基準ビット数はステップ電圧Vstepの大きさが増加するほど、より大きいビット数を有することができる。他の実施例では、基準ビット決定部170は、第1基準ビット数と選択されたメモリセルに対するプログラム及び消去動作が行われた回数に対応する第2基準ビット数の和を基準フェイルビット数Ref fbと決めることができる。第2基準ビット数は、選択されたメモリセルに対するプログラム及び消去動作が行われた回数が増加するほど、より大きいビット数を有することができる。他の実施例では、基準ビット決定部170は、第1基準ビット数と選択されたメモリセルに接続された選択されたワードラインの位置に対応する第3基準ビット数の和を基準フェイルビット数Ref fbと決めることができる。第3基準ビット数は、選択されたワードラインの位置が選択ラインに隣接するほど、より小さいビット数を有することができる。選択ラインは、
図3に示すドレイン選択ラインDSLまたはソース選択ラインSSLであってもよい。他の実施例では、基準ビット決定部170は、第1基準ビット数、第2基準ビット数、及び第3基準ビット数の和を基準フェイルビット数Ref fbと決めてもよい。
【0112】
基準ビット決定部170は、基準ビット情報保存部171に保存された基準フェイルビット数に関する情報を用いて基準フェイルビット数Ref fbを決め、決まった基準フェイルビット数Ref fbを検証結果生成部180に提供することができる。
【0113】
検証結果生成部180はオンセルと識別されたメモリセルの数Num fbと決まった基準フェイルビット数Ref fbとを比較し、比較した結果に基づいて検証結果情報Vfy rを生成することができる。具体的には、検証結果生成部180はオンセルと識別されたメモリセルの数Num fbが基準フェイルビット数Ref fbより少ないと、パスを示す検証結果情報Vfy rを生成してプログラム動作実行部150に提供することができる。検証結果生成部180はオンセルと識別されたメモリセルの数Num fbが基準フェイルビット数Ref fbと同一または多いと、フェイルを示す検証結果情報Vfy rを生成してプログラム動作実行部150に提供することができる。
【0114】
その後、プログラム動作実行部150は、検証結果生成部180から提供された検証結果情報Vfy rに基づいて何れか1つのプログラムループの次のプログラムループを行うか否かを決めることができる。例えば、プログラム動作実行部150は、パスを示す検証結果情報Vfy rを受信すると、次のプログラムループを行わなくてもよい。他の例として、プログラム動作実行部150は、パスを示す検証結果情報Vfy rを受信すると、次のプログラムループにおいて検証動作を省略することができる。即ち、プログラム動作実行部150は、パスを示す検証結果情報Vfy rを受信すると、次のプログラムループにおいて検証動作を除いたプログラム電圧印加動作のみを行うことができる。さらに他の例では、プログラム動作実行部150は、フェイルを示す検証結果情報Vfy rを受信すると、次のプログラムループを行ってもよい。
【0115】
図8はプログラム電圧情報保存部を説明するための図である。
【0116】
図8を参照すると、ステップ電圧演算部160に含まれたプログラム電圧情報保存部161は、プログラム電圧の大きさに関する情報を保存することができる。具体的には、プログラム電圧情報保存部161は、第1プログラムループPL1のプログラム電圧印加動作において用いられた第1プログラム電圧Vpgm1の大きさに関する情報を保存することができる。プログラム電圧情報保存部161は、第2プログラムループPL2から第nプログラムループPLnまでそれぞれのプログラム電圧印加動作において用いられた第2プログラム電圧Vpgm2から第nプログラム電圧Vpgmnまでの大きさに関する情報を保存することができる。このように、プログラム電圧情報保存部161は、複数のプログラムループのそれぞれのプログラム電圧印加動作において用いられたプログラム電圧の大きさに関する情報を保存することができる。そして、
図7に示すステップ電圧演算部160は、プログラム電圧情報保存部161に保存されたプログラム電圧の大きさに関する情報に基づいてステップ電圧を演算することができる。
【0117】
図9はステップ電圧の大きさに対応する第1基準ビット数を説明するための図である。
【0118】
図9を参照すると、基準ビット情報保存部171はステップ電圧の大きさに対応する第1基準ビット数を保存することができる。
図9の表1及び表2は、
図7に示すステップ電圧演算部160が演算したステップ電圧の大きさVstep1、2に応じて決める第1基準ビット数Ref fb1、11を示す。実施例において、表1を参照すると、ステップ電圧Vstep1の大きさが400mv超過、450mv以下であれば、第1基準ビット数Ref fb1は50と決められてもよい。即ち、400mv超過、450mv以下であるステップ電圧Vstep1の大きさに対応する第1基準ビット数Ref fb1は50と決められてもよい。また、450mv超過、500mv以下であるステップ電圧の大きさに対応する第1基準ビット数Ref fb1は50+aと決められてもよい。ステップ電圧Vstep1の大きさがどの範囲に含まれるかによって第1基準ビット数Ref fb1が決められてもよい。ステップ電圧Vstep1の大きさに対応する第1基準ビット数Ref fb1は表1により決められてもよい。そして、表1に示すようにステップ電圧Vstep1の大きさが増加するほど、第1基準ビット数Ref fb1は増加することができる。
【0119】
他の実施例において、表2を参照すると、ステップ電圧Vstep2の大きさは一定に増加することができる。即ち、ステップ電圧Vstep2の大きさは予め決められた大きさに応じて増加することができる。表2では、ステップ電圧Vstep2の大きさが50mvずつ増加する場合を例示した。表2を参照すると、ステップ電圧Vstep2の大きさが400mvである場合、第1基準ビット数Ref fb11は50と決められてもよい。ステップ電圧Vstep2の大きさが450mvである場合、第1基準ビット数Ref fb11は50+aと決められてもよい。このように、ステップ電圧Vstep2の大きさに対応する第1基準ビット数Ref fb11は表2によって決められてもよい。そして、ステップ電圧Vstep2の大きさが増加するほど、第1基準ビット数Ref fb11が増加することができる。
【0120】
図10はプログラム及び消去動作の回数に対応する第2基準ビット数を説明するための図である。
【0121】
図10を参照すると、基準ビット情報保存部171は選択されたメモリセルに対するプログラム及び消去動作が行われた回数E/W Cntに対応する第2基準ビット数Ref fb2を保存することができる。
図10に示す表3を参照すると、選択されたメモリセルに対するプログラム及び消去動作が行われた回数E/W Cntが第1基準カウント値Ref Cnt1未満であれば、第2基準ビット数Ref fb2は0であってもよい。選択されたメモリセルに対するプログラム及び消去動作が行われた回数E/W Cntが第1基準カウント値Ref Cnt1以上であり、第2基準カウント値Ref Cnt2未満であれば、第2基準ビット数Ref fb2はbであってもよい。選択されたメモリセルに対するプログラム及び消去動作が行われた回数E/W Cntが第2基準カウント値Ref Cnt2以上であり、第3基準カウント値Ref Cnt3未満であれば、第2基準ビット数Ref fb2は2bであってもよい。表3に示すように選択されたメモリセルに対するプログラム及び消去動作が行われた回数E/W Cntが増加するほど、第2基準ビット数Ref fb2は増加することができる。
【0122】
図11はワードラインの位置に対応する第3基準ビット数を説明するための図である。
【0123】
図11を参照すると、基準ビット情報保存部171は、選択メモリセルに接続された選択されたワードラインの位置に対応する第3基準ビット数Ref fb3を保存することができる。3Dメモリセルの構造ではメモリセルの位置によってメモリセルの特性が異なることがある。具体的には、メモリセルが中央に位置するほど、メモリセルの特性が良く、メモリセルが端に位置するほど、メモリセルの特性が悪くなることができる。
【0124】
図11では、3Dメモリセルの構造において第8ワードラインWL8に接続されたメモリセルが最も中央に位置したメモリセルであると仮定して説明する。第8ワードラインWL8に接続されたメモリセルは他のメモリセルに比べてメモリセルの特性が最も良好であり得る。即ち、第8ワードラインWL8にプログラム電圧を印加する場合、第8ワードラインWL8に接続されたメモリセルの閾値電圧が上昇する程度は、他のメモリセルの閾値電圧が上昇する程度より大きくてもよい。第8ワードラインWL8に接続されたメモリセルは、他のメモリセルに比べて検証電圧を超える閾値電圧を有するメモリセルがさらに多くてもよい。従って、第8ワードラインWL8に接続されたメモリセルに対する検証動作の際、他のメモリセルに比べて第3基準ビット数Ref fb3が高くなければならない。
図11では、選択されたワードラインが第8ワードラインWL8である場合、第8ワードラインWL8に対応する第3基準ビット数Ref fb3である0が最も大きい基準ビット数であると仮定して説明する。第8ワードラインWL8に対応する第3基準ビット数Ref fb3が最も大きくてもよい。そして、選択されたワードラインが選択ラインに隣接するほど、選択されたワードラインに接続された選択されたメモリセルの特性が悪くなるため、第3基準ビット数Ref fb3は低くなければならない。例えば、選択されたワードラインが第6ワードラインWL6である場合、第3基準ビット数Ref fb3は-2cと決められてもよい。選択されたワードラインの位置が選択ラインに隣接するほど、第3基準ビット数Ref fb3は低くなることができる。即ち、選択ラインに最も隣接するワードラインに対応する第3基準ビット数Ref fb3が最も小さいビット数を有することができる。そして、真ん中のワードラインに対応する第3基準ビット数Ref fb3が最も大きいビット数を有することができる。選択ラインは、
図3に示すドレイン選択ラインDSLまたはソース選択ラインSSLであってもよい。
【0125】
図12はステップ電圧の大きさ、プログラム及び消去動作の回数及びワードラインの位置を考慮して決められた基準フェイルビット数を説明するための図である。
【0126】
図7に示す基準ビット決定部170は、基準ビット情報保存部171に保存された基準フェイルビット数に関する情報に基づいて基準フェイルビット数を決めることができる。基準フェイルビット数に関する情報は、ステップ電圧の大きさに対応する第1基準ビット数と、選択されたメモリセルに対するプログラム及び消去動作の回数に対応する第2基準ビット数と、選択されたワードラインの位置に対応する第3基準ビット数と、を含んでもよい。即ち、基準フェイルビット数はステップ電圧の大きさ、プログラム及び消去動作の回数、及び選択されたワードラインの位置を考慮して決めることができる。
【0127】
図12に示す表を例に挙げて説明すると、ステップ電圧の大きさが500mv超過550mv以下であれば、第1基準ビット数は50+2aと決められてもよい。選択されたメモリセルに対するプログラム及び消去動作が行われた回数が第1基準カウント値以上であり、第2基準カウント値未満であれば、第2基準ビット数はbと決められてもよい。選択されたワードラインの位置が第7ワードラインである場合、第3基準ビット数は-cと決められてもよい。即ち、ステップ電圧の大きさ、プログラム及び消去動作の回数及び選択されたワードラインの位置を全て考慮した基準フェイルビット数Ref fbは、50+2a+b-cと決められてもよい。基準ビット決定部170は決められた基準フェイルビット数Ref fbを検証結果生成部180に提供することができる。
【0128】
図9~
図11で上述したように、メモリ装置100はステップ電圧の大きさに応じて第1基準ビット数を決めることができる。メモリ装置100は選択されたメモリセルに対するプログラム及び消去動作の回数に応じて第2基準ビット数を決めることができる。メモリ装置100は選択されたワードラインの位置に応じて第3基準ビット数を決めることができる。メモリ装置100は第1基準ビット数、第2基準ビット数及び第3基準ビット数に基づいて基準フェイルビット数を決めることができる。具体的には、メモリ装置100は第2基準ビット数及び第3基準ビット数のうち少なくとも1つ以上の基準ビット数と第1基準ビット数の和を基準フェイルビット数と決めることができる。
【0129】
本発明の一実施例によると、メモリ装置100はステップ電圧の大きさ、プログラム及び消去動作の回数、選択されたワードラインの位置に応じて基準フェイルビット数を変更することによってプログラム電圧印加動作または検証動作を行う回数を減らすことができる。
【0130】
図13は本発明の一実施例によるメモリ装置のプログラム動作を説明するためのフローチャートである。
【0131】
図13を参照すると、段階S1301において、メモリ装置100は複数のプログラムループの何れか1つのプログラムループにおいて複数のメモリセルに接続されたワードラインにプログラム電圧を印加することができる。
【0132】
段階S1303において、メモリ装置100は何れか1つのプログラムループにおいて複数のメモリセルに接続されたワードラインに検証電圧を印加することができる。
【0133】
段階S1305において、メモリ装置100は何れか1つのプログラムループにおいて印加されたプログラム電圧の大きさと何れか1つのプログラムループの前のプログラムループにおいて印加されたプログラム電圧の大きさとの差であるステップ電圧を演算することができる。
【0134】
段階S1307において、メモリ装置100はステップ電圧の大きさに基づいて基準フェイルビット数を決めることができる。実施例において、メモリ装置100はステップ電圧の大きさに対応する第1基準ビット数を基準フェイルビット数と決めることができる。ステップ電圧の大きさは複数のプログラムループが行われた回数に応じて増加することができる。ステップ電圧の大きさが増加するほど、第1基準ビット数はより大きいビット数を有することができる。
【0135】
段階S1309において、メモリ装置100は複数のメモリセルのうち検証電圧によって識別されたオンセルの数と基準フェイルビット数とを比較することができる。基準フェイルビット数は第1基準ビット数、第2基準ビット数、及び第3基準ビット数のうち少なくとも1つ以上を含んでもよい。
【0136】
段階S1311において、メモリ装置100は比較結果に基づいて検証結果情報を生成することができる。例えば、メモリ装置100は検証電圧によって識別されたオンセルの数が基準フェイルビット数より少ないと、パスを示す検証結果情報を生成することができる。他の例として、メモリ装置100は検証電圧によって識別されたオンセルの数が基準フェイルビット数と同一または多いと、フェイルを示す検証結果情報を生成することができる。
【0137】
図14は、本発明の一実施例によるメモリシステムが適用されたメモリカードシステムを示すブロック図である。
【0138】
図14を参照すると、メモリカードシステム2000は、メモリコントローラ2100、メモリ装置2200、及びコネクタ2300を含む。
【0139】
メモリコントローラ2100はメモリ装置2200と接続される。メモリコントローラ2100はメモリ装置2200をアクセスするように構成される。例えば、メモリコントローラ2100はメモリ装置2200の読み出し、書き込み、消去、及び背景(background)動作を制御するように構成されてもよい。メモリコントローラ2100はメモリ装置2200とホスト(Host)との間にインターフェースを提供するように構成される。メモリコントローラ2100はメモリ装置2200を制御するためのファームウェアを駆動するように構成される。メモリコントローラ2100は
図1を参照して説明したメモリコントローラ200と同様に具現されてもよい。メモリ装置2200は
図1を参照して説明したメモリ装置100と同様に具現されてもよい。
【0140】
例えば、メモリコントローラ2100は、ラム(RAM、Random Access Memory)、プロセッシングユニット(processing unit)、ホストインターフェース(host interface)、メモリインターフェース(memory interface)、エラー訂正部などの構成要素を含んでもよい。
【0141】
メモリコントローラ2100はコネクタ2300を介して外部装置と通信することができる。メモリコントローラ2100は特定の通信規格に従って外部装置(例えば、ホスト)と通信することができる。例えば、メモリコントローラ2100は、USB(Universal Serial Bus)、MMC(multimedia card)、eMMC(embeded MMC)、PCI(peripheral component interconnection)、PCI-E(PCI-express)、ATA(Advanced Technology Attachment)、Serial-ATA、Parallel-ATA、SCSI(small computer system interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイヤーワイヤー(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth(登録商標)、NVMeなどの様々な通信規格のうち少なくとも1つを介して外部装置と通信するように構成される。例えば、コネクタ2300は上述した多様な通信規格のうち少なくとも1つによって定義されることができる。
【0142】
例えば、メモリ装置2200は、EEPROM(Electrically Erasable and Programmable ROM)、NAND型フラッシュメモリ、ノア型フラッシュメモリ、PRAM(Phase-change RAM)、ReRAM(Resistive RAM)、FRAM(Ferroelectric RAM)、STT-MRAM(Spin Transfer Torque-Magnetic RAM)などの様々な不揮発性メモリ素子で構成されてもよい。
【0143】
メモリコントローラ2100及びメモリ装置2200は1つの半導体装置に集積されてメモリカードを構成することができる。例えば、メモリコントローラ2100及びメモリ装置2200は1つの半導体装置に集積され、PCカード(PCMCIA、Personal Computer Memory Card International association)、コンパクトフラッシュ(登録商標)(CF)カード、スマートメディアカード(SM、SMC)、メモリースティック、マルチメディアカード(MMC、RS-MMC、MMCmicro、eMMC)、SDカード(SD、miniSD、microSD、SDHC)、汎用フラッシュ記憶装置(UFS)などのメモリカードを構成することができる。
【0144】
図15は、本発明の一実施例によるメモリシステムが適用されたSSDシステムを示すブロック図である。
【0145】
図15を参照すると、SSDシステム3000はホスト3100及びSSD3200を含む。SSD3200は信号コネクタ3001を介してホスト3100と信号を送受信し、電源コネクタ3002を介して電源の入力を受ける。SSD3200はSSDコントローラ3210、複数のフラッシュメモリ3221~322n、補助電源装置3230、及びバッファメモリ3240を含む。
【0146】
本発明の実施例によると、SSDコントローラ3210は
図1を参照して説明したメモリコントローラ200の機能を行うことができる。
【0147】
SSDコントローラ3210はホスト3100から受信した信号に応答して複数のフラッシュメモリ3221~322nを制御することができる。例えば、信号はホスト3100及びSSD3200のインターフェースに基づく信号であってもよい。例えば、信号はUSB(Universal Serial Bus)、MMC(multimedia card)、eMMC(embeded MMC)、PCI(peripheral component interconnection)、PCI-E(PCI-express)、ATA(Advanced Technology Attachment)、Serial-ATA、Parallel-ATA、SCSI(small computer system interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイヤーワイヤー(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth、NVMeなどのインターフェースのうち少なくとも1つによって定義された信号であってもよい。
【0148】
補助電源装置3230は電源コネクタ3002を介してホスト3100と接続される。補助電源装置3230はホスト3100から電源の入力を受け、充電することができる。補助電源装置3230はホスト3100からの電源供給が円滑でない場合、SSD3200の電源を提供することができる。例えば、補助電源装置3230はSSD3200内に位置してもよく、SSD3200の外に位置してもよい。例えば、補助電源装置3230はメインボードに位置し、SSD3200に補助電源を提供することもできる。
【0149】
バッファメモリ3240はSSD3200のバッファメモリとして動作する。例えば、バッファメモリ3240はホスト3100から受信したデータまたは複数のフラッシュメモリ3221~322nから受信したデータを一時保存するか、フラッシュメモリ3221~322nのメタデータ(例えば、マッピングテーブル)を一時保存することができる。バッファメモリ3240はDRAM、SDRAM、DDR SDRAM、LPDDR SDRAM、GRAMなどの揮発性メモリ、またはFRAM、ReRAM、STT-MRAM、PRAMなどの不揮発性メモリを含んでもよい。
【0150】
図16は、本発明の一実施例によるメモリシステムが適用されたユーザシステムを示すブロック図である。
【0151】
図16を参照すると、ユーザシステム4000は、アプリケーションプロセッサ4100、メモリモジュール4200、ネットワークモジュール4300、ストレージモジュール4400、及びユーザインターフェース4500を含む。
【0152】
アプリケーションプロセッサ4100はユーザシステム4000に含まれた構成要素、オペレーティングシステム(OS;Operating System)、またはユーザプログラムなどを駆動させることができる。例えば、アプリケーションプロセッサ4100はユーザシステム4000に含まれた構成要素を制御するコントローラ、インターフェース、グラフィックエンジンなどを含んでもよい。アプリケーションプロセッサ4100はシステムオンチップ(SoC;System-on-Chip)で提供されてもよい。
【0153】
メモリモジュール4200はユーザシステム4000の主メモリ、動作メモリ、バッファメモリ、またはキャッシュメモリとして動作することができる。メモリモジュール4200はDRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM、LPDDR3 SDRAMなどの揮発性ランダムアクセスメモリ、またはPRAM、ReRAM、MRAM、FRAMなどの不揮発性ランダムアクセスメモリを含んでもよい。例えば、アプリケーションプロセッサ4100及びメモリモジュール4200はPOP(Package on Package)に基づいてパッケージ化されて1つの半導体パッケージとして提供されてもよい。
【0154】
ネットワークモジュール4300は外部装置と通信を行うことができる。例えば、ネットワークモジュール4300は、CDMA(Code Division Multiple Access)、GSM(登録商標)(Global System for Mobile communication)、WCDMA(登録商標)(wideband CDMA)、CDMA-2000、TDMA(Time Dvision Multiple Access)、LTE(Long Term Evolution)、Wimax、WLAN、UWB、Bluetooth、Wi-Fiなどの無線通信を支援することができる。例えば、ネットワークモジュール4300はアプリケーションプロセッサ4100に含まれてもよい。
【0155】
ストレージモジュール4400はデータを保存することができる。例えば、ストレージモジュール4400はアプリケーションプロセッサ4100から受信したデータを保存することができる。または、ストレージモジュール4400はストレージモジュール4400に保存されたデータをアプリケーションプロセッサ4100に伝送することができる。例えば、ストレージモジュール4400はPRAM(Phase-change RAM)、MRAM(Magnetic RAM)、RRAM(Resistive RAM)、NAND flash、NOR flash、3次元構造のNANDフラッシュなどの不揮発性半導体メモリ素子で具現されてもよい。例えば、ストレージモジュール4400はユーザシステム4000のメモリカード、外付けドライブなどのリムーバブルドライブ(removable drive)として提供されてもよい。
【0156】
例えば、ストレージモジュール4400は複数の不揮発性メモリ装置を含んでもよく、複数の不揮発性メモリ装置は
図1を参照して説明したメモリ装置100と同様に動作することができる。ストレージモジュール4400は
図1を参照して説明したメモリシステム50と同様に動作することができる。
【0157】
ユーザインターフェース4500は、アプリケーションプロセッサ4100にデータまたは命令語を入力するか、または外部装置にデータを出力するインターフェースを含んでもよい。例えば、ユーザインターフェース4500はキーボード、キーパッド、ボタン、タッチパネル、タッチスクリーン、タッチパッド、タッチボール、カメラ、マイク、ジャイロスコープセンサ、振動センサ、圧電素子などのユーザ入力インターフェースを含んでもよい。ユーザインターフェース4500はLCD(Liquid Crystal Display)、OLED(Organic Light Emitting Diode)表示装置、AMOLED(Active Matrix OLED)表示装置、LED、スピーカ、モニタなどのユーザ出力インターフェースを含んでもよい。
【符号の説明】
【0158】
50 メモリシステム
100 メモリ装置
140 プログラム動作制御部
150 プログラム動作実行部
160 ステップ電圧演算部
161 プログラム電圧情報保存部
170 基準ビット決定部
171 基準ビット情報保存部
180 検証結果生成部
200 メモリコントローラ
300 ホスト