(58)【調査した分野】(Int.Cl.,DB名)
前記複数のページバッファのそれぞれは、前記互いに異なる電圧レベルのうち隣接した2つの電圧レベルで、それぞれ読み取られた2つのデータについて、XOR演算を遂行し、
前記カウンティング部は、前記複数の区画それぞれについて、前記XOR演算の結果から、「1」の個数をカウンティングすることを特徴とする、請求項1に記載のメモリ装置。
前記カウンティング部は、前記メモリセル・アレイで読み取り動作が行われるセクタの個数またはページの枚数に対応するカウンタを含むことを特徴とする、請求項1に記載のメモリ装置。
前記バレー検出部で検出された前記バレーに対応する電圧レベルを読み取り電圧として、前記メモリセル・アレイに提供する読み取り電圧発生部をさらに含むことを特徴とする、請求項1に記載のメモリ装置。
前記複数の初期読み取り電圧保存部は、前記複数の初期読み取り電圧に係わるデジタル値を保存し、前記複数のオフセット保存部は、前記複数のオフセットに係わるデジタル値を保存し、
前記読み取り電圧発生部は、
前記加算部の出力から、アナログ電圧レベルを生成する電圧レベル生成部をさらに含むことを特徴とする、請求項13に記載のメモリ装置。
前記複数のメモリセルのうち、読み取り電圧を決定するための動作を遂行する少なくとも1つのメモリセルをサンプリングするように、前記ページバッファ部を制御するサンプリング部をさらに含むことを特徴とする、請求項1に記載のメモリ装置。
【発明を実施するための形態】
【0040】
以下、添付した図面を参照し、本発明の実施形態について詳細に説明する。本発明の実施形態は、当業者に本発明についてさらに完全に説明するために提供されるものである。本発明は、多様な変更を加えることができ、さまざまな形態を有することができるが、特定実施形態を図面に例示して詳細に説明する。しかし、それらは、本発明を特定の開示形態について限定するものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むと理解されなければならない。各図面について説明しながら、類似の参照符号を類似の構成要素について使用する。添付された図面において、構造物の寸法は、本発明の明確性を期するために、実際より拡大したり縮小して図示したものである。
【0041】
本発明で使用した用語は、単に特定の実施形態について説明するために使用されたものであり、本発明を限定しようとする意図ではない。単数の表現は、文脈上明白に取り立てて意味しない限り、複数の表現を含む。本発明で、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部分品またはそれらを組み合わせたものが存在するということを指定するものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部分品またはそれらを組み合わせたものなどの存在または付加の可能性を、事前に排除しないということを理解しなければならない。
【0042】
また、第1、第2のような用語は、多様な構成要素について説明するのに使用されるが、上記構成要素は、上記用語によって限定されるものではない。上記用語は、1つの構成要素を他の構成要素から区別する目的で使用される。例えば、本発明の権利範囲から外れずに、第1構成要素は、第2構成要素とも命名され、同様に、第2構成要素も第1構成要素と命名されてもよい。
【0043】
取り立てて定義されない限り、技術的であったり科学的な用語を含み、ここで使用される全ての用語は、本発明が属する技術分野で当業者によって一般的に理解されるところと同一の意味を有する。一般的に使用される前もって定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有すると解釈されなければならず、本発明で明白に定義しない限り、理想的であったり、過度に形式的な意味に解釈されるものではない。
【0044】
図1は、本発明の一実施形態によるメモリシステム1を概略的に示すブロック図である。
【0045】
図1を参照すると、メモリシステム1は、メモリ・コントローラ10A及びメモリ装置20Aを含む。メモリ装置20Aは、メモリセル・アレイ21、ページバッファ部(page buffer unit)22及びカウンティング部23を含む。メモリ・コントローラ10Aは、ECC(error correction circuit)処理部11及び読み取り電圧決定部12を含んでもよい。以下では、メモリ・コントローラ10A及びメモリ装置20Aに含まれた構成要素について説明する。
【0046】
メモリ・コントローラ10Aは、メモリ装置20Aに対する制御動作を遂行することができるが、具体的には、メモリ・コントローラ10Aは、メモリ装置20Aにアドレス信号ADDR、コマンド信号CMD及び制御信号CTRLを提供することにより、メモリ装置20Aに対するプログラム(または、書き込み)、読み取り及び消去の動作を制御することができる。さらには、書き込みデータ及び読み取りデータDATAは、メモリ・コントローラ10Aとメモリ装置20Aとの間で伝送される。
【0047】
メモリセル・アレイ21は、複数のワードライン(図示せず)と複数のビットライン(図示せず)とが交差する領域に配置される複数のメモリセル(図示せず)を含む。一実施形態で、複数のメモリセルは、フラッシュメモリセルでもあり、メモリセル・アレイ21は、NANDフラッシュメモリセル・アレイまたはNORフラッシュメモリセル・アレイであってもよい。以下では、複数のメモリセルがフラッシュメモリセルである場合を例に挙げ、本発明の実施形態について説明する。しかし、本発明は、それに限定されるものではなく、他の実施形態で、複数のメモリセルは、RRAM(resistive random access memory)、PRAM(登録商標)(phase change random access memory)またはMRAM(magnetic random access memory)のような抵抗型メモリセルであってもよい。
【0048】
ページバッファ部22はメモリセル・アレイ21に記録されるデータまたはメモリセル・アレイ21から読み取られたデータを臨時に保存することができる。本実施形態で、ページバッファ部22は、複数のページバッファ(図示せず)を含んでもよく、複数のページバッファの個数は、複数のビットラインの本数に対応する。
【0049】
具体的には、メモリ装置20Aに対する読み取り動作が行われる場合、複数のページバッファは、メモリセル・アレイ21に含まれた複数のメモリセルのうち、一部のメモリセルのそれぞれについて、互いに異なる電圧レベルで順次に読み取られたデータをそれぞれ保存し、保存されたデータに係わる論理演算をそれぞれ行うことができる。本実施形態で、複数のページバッファのそれぞれは、互いに異なる電圧レベルのうち隣接した2つの電圧レベルで、それぞれ読み取られた2つのデータについて、XOR演算を行うことができる。
【0050】
一実施形態で、互いに異なる電圧レベルは、メモリ装置20Aの内部で、自動的にアップデートされる。これによって、互いに異なる電圧レベルを設定するために、メモリ・コントローラ10Aとメモリ装置20Aとの間のデータ送受信が遂行されなくてもよい。しかし、本発明は、それに限定されるものではなく、他の実施形態で、互いに異なる電圧レベルが、メモリ・コントローラ10Aから提供されてもよい。
【0051】
カウンティング部23は、ページバッファ部22で行われた論理演算の結果を基にして、互いに異なる電圧レベルによって区分される複数の区画(section)それぞれに存在するメモリセルの個数をカウンティングすることができる。このとき、カウンティング部23は、メモリセル・アレイ21及びページバッファ部22と同一のチップ上に集積されてもよい。本実施形態で、カウンティング部23は、複数の区画それぞれについて、XOR演算の結果から、「1」の個数をカウンティングすることができる。
【0052】
このように、メモリ装置20Aは、カウンティング部23を含むことにより、メモリ装置10Aに対する読み取り電圧の最適電圧レベルを決定するための読み取り電圧決定動作を遂行する過程で、メモリセル・アレイ21から読み取られたデータを、メモリ・コントローラ10Aに提供せずに、読み取られたデータに係わる演算結果を基にして、複数の区画それぞれに存在するメモリセルの個数を直接カウンティングすることができる。これにより、メモリ装置10Aに対する読み取り電圧決定動作を遂行するのに必要な時間を短縮させることができる。
【0053】
ECC処理部11は、メモリ装置20Aから読み取られたデータに、エラー(すなわち、読み取りエラー)が存在するか否かをチェックし、訂正することができる。例えば、ECC処理部11は、データをプログラムするときに生成されて保存されたパリティ(parity)と、データを読み取るときに生成されたパリティとを比較し、データのエラービットを検出し、検出されたエラービットをXORすることにより、読み取りエラーを訂正することができる。これによって、初期の読み取り電圧で、メモリセル・アレイ21に含まれたメモリセルからデータを読み取った後、ECC処理部11で読み取りエラーが訂正されたにもかかわらず、読み取り失敗が発生する場合、カウンティング部23は、カウンティング動作を遂行することができる。
【0054】
読み取り電圧決定部12は、カウンティング部23からカウンティング結果を受信し、受信されたカウンティング結果を基にして、読み取り電圧の最適電圧レベルを決定することができる。具体的には、読み取り電圧決定部12は、複数の区画それぞれに存在するメモリセルの個数が減少していて、また増加する場合、当該地点を読み取り電圧として決定することができる。
【0055】
図2は、
図1のメモリシステム1に含まれたメモリ装置20Aを詳細に示すブロック図である。
【0056】
図2を参照すれば、メモリ装置20Aは、メモリセル・アレイ21、ページバッファ部22、カウンティング部23、制御ロジック(control logic)CL、電圧発生器(voltage generator)VG及びロウ・デコーダ(row decoder)RDを含んでもよい。以下、メモリ装置20Aに含まれた構成要素について説明する。
【0057】
制御ロジックCLは、メモリ・コントローラ10Aから受信したコマンド信号CMD、アドレス信号ADDR及び制御信号CTRLを基にして、メモリセル・アレイ21にデータを書き込んだり、あるいはメモリセル・アレイ21からデータを読み取るための各種制御信号を出力することができる。このとき、制御ロジックCLから出力された各種制御信号は、電圧発生器VG、ロウ・デコーダRD、ページバッファ部22及びカウンティング部23に伝達することができる。
【0058】
電圧発生器VGは、制御ロジックCLから受信した制御信号を基にして、複数のワードラインWLを駆動するための駆動電圧VWLを生成することができる。具体的には、駆動電圧VWLは、書き込み電圧(またはプログラム電圧)、読み取り電圧、消去(erase)電圧またはパス(pass)電圧であってもよい。
【0059】
ロウ・デコーダRDは、ロウアドレスを基にして、複数のワードラインWLのうち一部のワードラインを活性化することができる。具体的には、読み取り動作時に、ロウ・デコーダRDは、選択されたワードラインに読み取り電圧を印加し、非選択のワードラインに、パス電圧を印加することができる。一方、書き込み動作時に、ロウ・デコーダRDは、選択されたワードラインに書き込み電圧を印加し、非選択のワードラインに、パス電圧を印加することができる。
【0060】
ページバッファ部22に含まれた複数のページバッファは、複数のビットラインBLを介して、メモリセル・アレイ21にそれぞれ連結される。具体的には、読み取り動作時に、複数のページバッファは、感知増幅器(sense amplifier)として動作し、メモリセル・アレイ21に、保存されたデータを出力することができる。一方、書き込み動作時に、複数のページバッファは、書き込みドライバとして動作し、メモリセル・アレイ21に、保存しようとするデータを入力させることができる。他の実施形態で、複数のページバッファは、複数のデータラインを介して、データ入出力回路(図示せず)にそれぞれ連結される。
【0061】
カウンティング部23は、互いに異なる電圧レベルによって区分される複数の区画それぞれに存在するメモリセルの個数を、カウンティングすることができ、カウンティング結果を、メモリ・コントローラ10Aに含まれた読み取り電圧決定部12に提供することができる。本実施形態で、カウンティング部23は、少なくとも1つのカウンタを含んでもよく、カウンタの個数は、メモリセル・アレイ21で読み取り動作が行われるセクタ(sector)の個数またはページ(page)の枚数に対応する。これにより、メモリ装置20Aは、セクタ別またはページ別に読み取り電圧決定動作を遂行することができる。
【0062】
図3は、
図2のメモリ装置20Aに含まれたメモリセル・アレイ21の一例を示している。
【0063】
図3を参照すると、メモリセル・アレイ21は、フラッシュメモリセル・アレイであってもよい。このとき、メモリセル・アレイ21は、a(aは、2以上の整数)個のブロックBLK0ないしBLKa−1を含み、各ブロックBLK0ないしBLKは、b(bは、2以上の整数)枚のページPAG0ないしPAGb−1を含み、各ページPAG0ないしPAGb−1は、c(cは、2以上の整数)個のセクタSEC0ないしSECc−1を含んでもよい。
図3では、図示の便宜のために、ブロックBLK0について、ページPAG0ないしPAGb−1及びセクタSEC0ないしSECc−1を図示しているが、他のブロックBLK1ないしBLK−1aも、ブロックBLK0と同一の構造を有することができる。
【0064】
図4は、
図3のメモリセル・アレイ21に含まれたメモリブロックBLK0の一例を示す回路図である。
【0065】
図4を参照すると、メモリセル・アレイ21は、NANDフラッシュメモリのメモリセル・アレイであってもよい。このとき、
図3に図示された各ブロックBLK0ないしBLK−1aは、
図4のように具現されてもよい。
図4を参照すれば、各ブロックBLK0ないしBLK−1aは、ビットラインBL0ないしBLd−1(dは、2以上の整数)側に、8個のメモリセルMCELが直列に連結されるd個のストリングSTRを含んでもよい。各ストリングSTRは、それぞれ直列に連結されるメモリセルMCELの両端に連結される、ドレイン(drain)選択トランジスタSTr1及びソース(source)選択トランジスタSTr2を含んでもよい。
【0066】
図4のような構造を有するNANDフラッシュメモリ装置は、ブロック単位で消去が行われ、各ワードラインWL0ないしWL7それぞれのメモリセルMCELに保存されるデータに対応するページPAG単位で、プログラムを遂行する。
図4は、1つのブロックに、8本のワードラインWL0ないしWL7に係わる8枚のページPAGが具備される例を図示している。ただし、本発明の実施形態によるメモリセル・アレイ21のブロックBLK0ないしBLK−1aは、
図4に図示されるメモリセルMCELの個数及びページPAGの枚数と異なる個数のメモリセル及び枚数のページを具備することもできる。また、
図1及び
図2のメモリ装置20Aは、以上で説明したメモリセル・アレイ21と同一の構造で同一の動作を遂行する複数のメモリセル・アレイを含むこともできる。
【0067】
図5は、
図4のメモリブロックBLK0に含まれたメモリセルMCELの一例を示す断面図である。
【0068】
図5を参照すると、基板SUB上に、ソースS及びドレインDが形成され、ソースSとドレインDとの間には、チャンネル領域が形成される。チャンネル領域の上部には、フローティングゲートFGが形成されるが、チャンネル領域とフローティングゲートFGとの間には、トンネリング(tunneling)絶縁層のような絶縁層が配置されてもよい。フローティングゲートFGの上部には、コントロールゲートCGが形成されるが、フローティングゲートFGとコントロールゲートCGとの間にはブロッキング(blocking)絶縁層のような絶縁層が配置されてもよい。基板SUB、ソースS、ドレインD及びコントロールゲートCGには、メモリセルMCELに対するプログラム、消去及び読み取りの動作に必要な電圧が印加される。
【0069】
フラッシュメモリ装置では、メモリセルMCELのスレッショルド電圧(threshold voltage)Vthの区別によって、メモリセルMCELに保存されたデータが読み取られる。このとき、メモリセルMCELのスレッショルド電圧Vthは、フローティングゲートFGに保存された電子(electron)の量によって決定される。具体的には、フローティングゲートFGに保存された電子が多いほど、メモリセルMCELのスレッショルド電圧は高くなる。
【0070】
メモリセルMCELのフローティングゲートFGに保存された電子は、多様な原因によって、矢印方向に漏れ(leakage)が起き、これによって、メモリセルMCELのスレッショルド電圧が変更される。例えば、フローティングゲートFGに保存された電子は、メモリセルの摩耗によって漏れることがある。具体的には、メモリセルMCELに対するプログラム、消去または読み取りのようなアクセス動作を繰り返せば、チャンネル領域とフローティングゲートFGとの間の絶縁膜は摩耗され、これによって、フローティングゲートFGに保存された電子が漏れることになる。他の例で、フローティングゲートFGに保存された電子は、高温ストレス、またはプログラム/読み取り時の温度差などによって漏れることもある。
【0071】
図6Aは、
図5のメモリセルMCELが、3ビット・マルチレベル・セルである場合、メモリ装置20Aのスレッショルド電圧による散布を示すグラフである。
【0072】
図6Aを参照すると、横軸は、スレッショルド電圧Vthを示し、縦軸は、メモリセルMCELの個数を示す。メモリセルMCELが3ビットでプログラムされる3ビット・マルチレベル・セルである場合、メモリセルMCELは、消去状態E、第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3、第4プログラム状態P4、第5プログラム状態P5、第6プログラム状態P6及び第7プログラム状態P7のうち一つを有することができる。シングルレベル・セルに比べ、マルチレベル・セルである場合、スレッショルド電圧Vth分布間の間隔が狭いので、マルチレベル・セルでは、スレッショルド電圧Vthの小さい変化によって、重大な問題が引き起こされもする。
【0073】
第1読み取り電圧Vr1は、消去状態Eを有するメモリセルMCELの散布と、第1プログラム状態P1を有するメモリセルMCELの散布との間の電圧レベルを有する。第2読み取り電圧Vr2は、第1プログラム状態P1を有するメモリセルMCELの散布と、第2プログラム状態P2を有するメモリセルMCELの散布との間の電圧レベルを有する。第3読み取り電圧Vr3は、第2プログラム状態P2を有するメモリセルMCELの散布と、第3プログラム状態P3を有するメモリセルMCELの散布との間の電圧レベルを有する。第4読み取り電圧Vr4は、第3プログラム状態P3を有するメモリセルMCELの散布と、第4プログラム状態P4を有するメモリセルMCELの散布との間の電圧レベルを有する。第5読み取り電圧Vr5は、第4プログラム状態P4を有するメモリセルMCELの散布と、第5プログラム状態P5を有するメモリセルMCELの散布との間の電圧レベルを有する。第6読み取り電圧Vr6は、第5プログラム状態P5を有するメモリセルMCELの散布と、第6プログラム状態P6を有するメモリセルMCELの散布との間の電圧レベルを有する。第7読み取り電圧Vr7は、第6プログラム状態P6を有するメモリセルMCELの散布と、第7プログラム状態P7を有するメモリセルMCELの散布との間の電圧レベルを有する。
【0074】
例えば、第1読み取り電圧Vr1が、メモリセルMCELのコントロールゲートCGに印加されれば、消去状態EのメモリセルMCELがターンオンされる一方、第1プログラム状態P1のメモリセルMCELは、ターンオフされる。メモリセルMCELがターンオンされれば、メモリセルMCELを介して電流が流れ、メモリセルMCELがターンオフされれば、メモリセルMCELを介して電流が流れない。従って、メモリセルMCELのターンオンいかんによって、メモリセルMCELに保存されたデータが区別される。
【0075】
一実施形態で、第1読み取り電圧Vr1を印加し、メモリセルMCELがターンオンされれば、データ「1」が保存され、メモリセルMCELがターンオフされれば、データ「0」が保存されたと区別される。しかし、本発明は、それに限定されるものではなく、他の実施形態で、第1読み取り電圧Vr1を印加し、メモリセルMCELがターンオンされれば、データ「0」が保存され、メモリセルMCELがターンオフされれば、データ「1」が保存されたと区別することもできる。このように、データの論理レベルの割り当ては、実施形態によって変更されてもよい。
【0076】
図6Bは、
図6Aのグラフで、メモリセルMCELのスレッショルド電圧が変更された場合を示すグラフである。
【0077】
図6Bを参照すると、消去状態E、第1プログラム状態P1ないし第7プログラム状態P7にそれぞれプログラムされたメモリセルMCELは、外部刺激及び/または摩耗などによって、
図6Bに図示されたように変更された分布を有することができる。
図6Bで、斜線を施した部分に属するメモリセルMCELは、読み取りエラーが発生することがあり、これによって、メモリ装置20の信頼性が低下する。
【0078】
例えば、第1読み取り電圧Vr1を利用して、メモリ装置20Aに対する読み取り動作を遂行する場合、斜線を施した部分に属するメモリセルMCELは、第1プログラム状態P1にプログラムされたにもかかわらず、スレッショルド電圧Vthの低下によって、消去状態Eと判断される。これによって、読み取り動作にエラーが発生し、メモリ装置20Aの信頼性が低下する。
【0079】
メモリ装置20Aからデータを読み取る場合、RBER(raw bit error rate)は、読み取り電圧の電圧レベルによって異なるが、読み取り電圧の最適電圧レベルは、メモリセルMCELの散布形態によって決定されもする。従って、メモリセルMCELの散布が変化することにより、メモリ装置20Aからデータを読み取るのに必要な読み取り電圧の最適電圧レベルも変更される。従って、散布の変化を基にして、読み取り電圧の電圧レベルを変更することにより、読み取り電圧の最適電圧レベルを決定することが要求される。この場合、効率的に読み取り電圧の最適電圧レベルを決定するためには、演算を単純化させ、演算時間及び消費電力を低減させることが要求される。
【0080】
以上では、
図6A及び
図6Bを参照して、メモリセルMCELが3ビット・マルチレベル・セルである場合について説明した。しかし、本発明は、それに限定されるのではなく、
図5のメモリセルMCELは、シングルレベル・セル、2ビット・マルチレベル・セル、または4ビット以上でプログラムされるマルチレベル・セルであってもよい。また、
図1及び
図2のメモリ装置20Aは、互いに異なる個数のビットでプログラムされるメモリセルMCELを含んでもよい。
【0081】
図7は、
図1のメモリシステム1に含まれたメモリ装置20Aの読み取り電圧決定動作について説明するための図面である。
【0082】
図7を参照すると、メモリ・コントローラ10Aは、メモリ装置20Aに含まれたメモリセルMCELの隣接した2つの状態間の読み取り電圧の最適電圧レベルを決定するために、読み取り電圧決定動作を遂行することができる。具体的には、メモリ・コントローラ10Aは、メモリセルMCELの隣接した2つの状態、例えば、第1プログラム状態P1と第2プログラム状態P2との間の互いに異なる複数の電圧レベルV1ないしV5で、それぞれメモリセルMCELからデータを読み取ることができる。メモリ装置20Aは、複数の電圧レベルのうち隣接した2つの電圧レベルで、それぞれ読み取られたデータに係わる論理演算を行い、論理演算の結果を基に、複数の区画それぞれに存在するメモリセルMCELの個数をカウンティングすることができる。かような読み取り電圧決定動作は、MES(minimal error search)演算であると称する。
【0083】
一実施形態で、カウンティング部23は、セクタ単位で具備され、これにより、MES演算は、セクタ単位で行われる。他の実施形態で、カウンティング部23は、ページ単位で具備され、これにより、MES演算は、ページ単位で行われる。さらに他の実施形態で、カウンティング部23は、ページ単位で具備されるが、ページバッファ部22について、セクタ別にメモリコアに対する制御を異ならせることにより、MES演算は、セクタ単位で行われもする。これについては、
図11を参照して後述する。
【0084】
本実施形態で、互いに異なる複数の電圧レベルV1ないしV5の個数を5個とするが、本発明は、それに限定されるものではなく、複数の電圧レベルの個数は、多様に変更されもする。例えば、複数の電圧レベルでの読み取り方向は、第1電圧レベルV1から第5電圧レベルV5に、電圧レベルが低減する方向であってもよい。しかし、本発明は、それに限定されるものではなく、複数の電圧レベルでの読み取り方向は、第5電圧レベルV5から第1電圧レベルV1に、電圧レベルが上昇する方向であってもよい。
【0085】
第1段階(Step 1)で、第1電圧レベルV1で、メモリセルMCELからデータを読み取る。このとき、第1電圧レベルV1よりスレッショルド電圧Vthが低いメモリセルMCELは、「1」で読み取られ、第1電圧レベルV1よりスレッショルド電圧Vthが高いメモリセルMCELは、「0」で読み取られる。このように、第1段階で読み取られた第1データは、ページバッファ部22に臨時に保存される。
【0086】
第2段階(Step 2)で、第2電圧レベルV2で、メモリセルMCELからデータを読み取る。このとき、第2電圧レベルV2よりスレッショルド電圧Vthが低いメモリセルMCELは、「1」で読み取られ、第2電圧レベルV2よりスレッショルド電圧Vthが高いメモリセルMCELは、「0」で読み取られる。このように、第2段階で読み取られた第2データは、ページバッファ部22に臨時に保存される。
【0087】
第3段階(Step 3)で、ページバッファ部22に含まれた複数のページバッファのそれぞれは、第1電圧レベルV1で読み取られた第1データと、第2電圧レベルV2で読み取られた第2データとについて論理演算を行う。一実施形態で、複数のページバッファのそれぞれは、第1データ及び第2データについて、XOR演算を行うことができる。
【0088】
スレッショルド電圧Vthが、第2電圧レベルV2より低いメモリセルMCELの場合、第1データ及び第2データのXOR演算結果は、「0」であり、スレッショルド電圧Vthが、第2電圧レベルV2と第1電圧レベルV1との間であるメモリセルMCELの場合、第1データ及び第2データに係わるXOR演算結果は、「1」であり、スレッショルド電圧Vthが、第1電圧レベルV1より高いメモリセルMCELの場合、第1データ及び第2データに係わるXOR演算結果は、「0」である。従って、第1データ及び第2データのXOR演算結果を基にして、隣接した2つの電圧レベルV1、V2によって区分される区画SEC1に、メモリセルが含まれているか否かが分かる。具体的には、XOR演算結果が「1」である区画に、メモリセルが含まれているということが分かる。
【0089】
第4段階(Step 4)で、カウンティング部23は、複数の区画それぞれについて、ページバッファ部22で行われたXOR演算の結果から「1」の個数をカウンティングすることができる。これにより、カウンティング部23は、複数の区画にそれぞれ存在するメモリセルの個数をカウンティングすることができる。読み取り電圧決定部12は、複数の区画のうち、メモリセルの個数が最も少ない区画に対応する電圧レベルであるバレー(valley)を検出し、バレーに対応する電圧レベルを、読み取り電圧の最適電圧レベルとして決定することができる。
【0090】
図8は、メモリ装置の読み取り動作に係わる比較例を示している。
【0091】
図8を参照すれば、メモリセルの隣接した2つの状態間を、N(Nは、2以上の自然数)個の区間に分けてMES演算を行う場合、MES演算は、第1電圧レベルで、メモリセルから第1データを読み取る動作(RD1)、読み取られた第1データをメモリ・コントローラに伝送する動作(Dout1)、第2電圧レベルで、メモリセルから第2データを読み取る動作(RD2)、読み取られた第2データを、メモリ・コントローラに伝送する動作(Dout2)、及びメモリ・コントローラで、第1データ及び第2データに係わるXOR演算を行い、XOR演算の結果から、「1」の個数をカウンティングする動作(XOR+C)を含む。
【0092】
例えば、第1データ及び第2データを読み取る動作(RD1、RD2)を遂行するのに必要な時間は、それぞれ約50μsである。データ伝送動作(Dout1、Dout2)が120MHzで遂行される場合、データ伝送動作(Dout1、Dout2)を遂行するのに必要な時間は、それぞれ約150μsである。XOR演算及びカウンティング動作(XOR+C)が60MHzで遂行される場合、XOR演算及びカウンティング動作(XOR+C)を遂行するのに必要な時間は、約205μsである。Nが10である場合、全体MES演算に必要な時間は、約6.25msである。
【0093】
このように、MES演算の遂行に必要な時間で、主な消耗要因は、データ伝送動作(Dout1、Dout2)の所要時間、及びXOR演算及びカウンティング動作(XOR+C)の所要時間である。また、メモリ・コントローラは、伝送された第1データ及び第2データを保存するための別途の保存空間(例えば、SRAM(static random access memory)バッファ)を具備しなければならない。さらに、データ伝送動作(Dout1、Dout2)と、XOR演算及びカウンティング動作(XOR+C)とを遂行するのに電力が消耗するという問題もある。
【0094】
図9は、
図1のメモリシステムに含まれたメモリ装置20Aの読み取り動作の一例を示している。
【0095】
図9を参照すれば、本実施形態で、メモリ装置20Aは、ページバッファ部22及びカウンティング部23を含み、複数のページバッファのそれぞれは、XOR演算を行い、カウンティング部23は、XOR演算の結果から、「1」の個数をカウンティングすることができる。これにより、メモリセルMCELの隣接した2つの状態間を、N(Nは、2以上の自然数)個の区間に分けてMES演算を行う場合、MES演算は、第1電圧レベルで、メモリセルMCELから第1データを読み取る動作(RD1)、読み取られた第1データを、ページバッファ部22に保存する(言い換えれば、バックアップする)動作(DB)、第2電圧レベルで、メモリセルMCELから第2データを読み取る動作(RD2)、ページバッファ部22で保存された第1データと、読み取られた第2データとについてXOR演算を行う動作(XOR)、及びカウンティング部23で、XOR演算の結果において、「1」の個数をカウンティングする動作(C)を含む。
【0096】
例えば、第1データ及び第2データを読み取る動作(RD1、RD2)を遂行するのに必要な時間は、それぞれ約50μsである。第1データ保存動作(DB)を遂行するのに必要な時間は、約3μsであり、XOR演算動作(XOR)及びカウンティング動作(C)を遂行するのに必要な時間は、約24μsである。Nが10である場合、全体MES演算に必要な時間は、約0.8msであり、これは、
図8の比較例に比べ、所要時間がはるかに短縮されたということが分かる。
【0097】
このように、複数のページバッファそれぞれは、第1データをバックアップすることにより、第1データを、メモリ・コントローラ10Aに伝送しなくてもよいので、データ伝送動作に必要な時間を短縮させることができる。また、複数のページバッファそれぞれは、バックアップされた第1データ、及び読み取られた第2データについて、XOR演算を行うので、XOR演算は、並列に行われ、これによって、XOR演算に必要な時間を大きく短縮させることができる。また、カウンティング部23は、高速動作遂行が可能なカウンタであり、複数のページバッファから出力されるXOR演算の結果から、「1」の個数をカウンティングすることにより、カウンティングに必要な時間を大きく短縮させることができる。さらに、メモリ・コントローラ10Aは、読み取られた第1データ及び第2データを保存するための別途の保存空間を具備しなくてもよいので、サイズを縮小させることができ、第1データ及び第2データの伝送動作を遂行するのに消費する電力も減らすことができる。
【0098】
図10は、
図1のメモリシステム1に含まれたメモリ装置20aの一例を詳細に示すブロック図である。
【0099】
図10を参照すれば、メモリ装置20aは、メモリセル・アレイ21、ページバッファ部22a及びカウンティング部23aを含んでもよい。
【0100】
メモリセル・アレイ21は、ページPAGを含み、ページPAGは、d個のメモリセルMC0、MC1、MC2、MC3、…、MCd−1を含む。前述のように、d個のメモリセルMC0、MC1、MC2、MC3、…、MCd−1は、同一のワードラインに連結される。
図10では、便宜上、メモリセル・アレイ21に含まれた1枚のページPAGのみを図示しているが、メモリセル・アレイ21は、複数のページを含んでもよい。
【0101】
ページバッファ部22aは、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1を含み、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1は、対応するビットラインBL0、BL1、BL2、BL3、…、BLd−1を介して、メモリセルMC0、MC1、MC2、MC3、…、MCd−1とそれぞれ連結される。複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1は、メモリセル・アレイ21に書き込まれるデータ、またはメモリセル・アレイ21から読み取られたデータを臨時に保存することができる。
【0102】
具体的には、メモリ装置20aに対する読み取り動作が行われる場合、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1それぞれは、メモリセルMC0、MC1、MC2、MC3、…、MCd−1それぞれについて、互いに異なる電圧レベルで順次に読み取られたデータを保存する。次に、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1それぞれは、保存されたデータに係わる論理演算を行うことができる。本実施形態で、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1それぞれは、互いに異なる電圧レベルのうち隣接した2つの電圧レベルで、それぞれ読み取られた2つのデータについて、XOR演算を行うことができる。
【0103】
図示されていないが、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1それぞれは、スイッチング素子(例えば、NMOSトランジスタ)を含んでもよい。スイッチング素子は、当該ページバッファの出力値が印加される制御端子(例えば、ゲート)、及びカウンティング部23aに連結される出力端子(例えば、ソース)を有することができる。従って、当該ページバッファの出力値が「1」である場合、スイッチング素子は、ターンオンされ、カウンティング部23aに所定の電流を供給することができ、当該ページバッファの出力値が「0」である場合、スイッチング素子は、ターンオフされ、カウンティング部23aに所定の電流を供給しない。
【0104】
カウンティング部23aは、ページバッファ部22aから出力される論理演算の結果を基にして、複数の区画それぞれに存在するメモリセルの個数をカウンティングし、カウンティング結果(CV)を出力することができる。具体的には、カウンティング部23aは、ページバッファ部22aから出力されるXOR演算の結果から、複数の区画それぞれに存在する「1」の個数をカウンティングすることにより、メモリセルの個数をカウンティングすることができる。本実施形態で、カウンティング部23aは、ページバッファ部22aから出力される論理演算の結果について、並列的なカウンティング動作を遂行することができる。
【0105】
本実施形態で、カウンティング部23aは、アナログ・カウンタであってもよい。さらに詳細には、カウンティング部23aは、印加される電流の量を検出し、複数のページバッファPB0、PB1、PB2、PB3、…、PBd−1に含まれたスイッチング素子のうち、ターンオンされたスイッチング素子の個数をカウンティングすることができる。このように、カウンティング部23aは、ターンオンされたスイッチング素子の個数をカウンティングすることにより、XOR演算の結果から、複数の区画それぞれに存在する「1」の個数をカウンティングすることができ、これによって、複数の区画それぞれに存在するメモリセルの個数をカウンティングすることができる。
【0106】
図11は、
図1のメモリシステム1に含まれるメモリ装置20bの他の例を詳細に示すブロック図である。
【0107】
図11を参照すれば、メモリ装置20bは、メモリセル・アレイ21、ページバッファ部22b及びカウンティング部23bを含んでもよい。
【0108】
メモリセル・アレイ21は、ページPAGを含み、ページPAGは、複数のセクタS0、S1、S2、S3を含む。
図11では、便宜上、メモリセル・アレイ21に含まれた1枚のページPAGのみを図示したが、メモリセル・アレイ21は、複数のページを含んでもよい。また、
図11では、便宜上、ページPAGが4つのセクタS0、S1、S2、S3を含むと図示しているが、本発明は、それに限定されるものではない。ページPAGに含まれるセクタの個数は、多様に変更され、各セクタのサイズも多様に変更される。
【0109】
ページバッファ部22bは、複数のページバッファ・グループPBG0、PBG1、PBG2、PBG3を含み、複数のページバッファ・グループPBG0、PBG1、PBG2、PBG3は、対応するビットラインを介して、セクタS0、S1、S2、S3とそれぞれ連結される。このとき、複数のページバッファ・グループPBG0、PBG1、PBG2、PBG3それぞれは、複数のページバッファ(図示せず)を含み、複数のページバッファは、対応するビットラインを介して、メモリセルMC(
図10)とそれぞれ連結されることができる。
【0110】
カウンティング部23bは、複数のカウンタCNT0、CNT1、CNT2、CNT3を含み、複数のカウンタCNT0、CNT1、CNT2、CNT3は、複数のページバッファ・グループPBG0、PBG1、PBG2、PBG3にそれぞれ連結される。このように、カウンティング部23bは、複数のセクタS0、S1、S2、S3の個数に対応する複数のカウンタCNT0、CNT1、CNT2、CNT3を含んでもよい。複数のカウンタCNT0、CNT1、CNT2、CNT3それぞれは、対応するセクタS0、S1、S2、S3に係わるカウンティング結果(CV0、CV1、CV2、CV3)を出力することができる。
【0111】
前述のように、本実施形態によれば、カウンティング部23bは、各セクタS0、S1、S2、S3別に、カウンタCNT0、CNT1、CNT2、CNT3を具備することができ、これにより、セクタ単位のMES演算を行うことができる。メモリ・コントローラ11では、セクタ単位でECCを遂行するが、ECCの遂行により、読み取りエラーが訂正されたにもかかわらず、読み取り失敗が発生することがある。その場合、カウンティング部23bに含まれた複数のカウンタCNT0、CNT1、CNT2、CNT3において、読み取り失敗が発生したセクタに対応するカウンタだけカウンティング動作を行い、これにより、読み取り失敗が発生していないセクタに対する不要な演算を省略することができる。
【0112】
図12は、
図1のメモリシステム1に含まれたメモリ装置20A’の変形例を示すブロック図である。
【0113】
図12を参照すると、メモリ装置20A’は、メモリセル・アレイ21、複数のページバッファ22、カウンティング部23及び電圧レベル決定部24を含んでもよい。本実施形態によるメモリ装置20A’に含まれた構成要素のうち一部は、
図1のメモリ装置20Aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図1のメモリ装置20Aと同一の構成要素については、反復して説明しない。
【0114】
電圧レベル決定部24は、メモリセル・アレイ21に印加される互いに異なる電圧レベルを決定することができる。このとき、互いに異なる電圧レベルは、メモリセル・アレイ21についてMES演算を行うために必要な電圧レベルであってもよい。MES演算を行うためには、メモリセル・アレイ21に対する読み取り動作が行われるたびに、メモリセル・アレイ21に印加される電圧レベルは、一定に上昇または低減されなければならない。
【0115】
本実施形態によれば、メモリ装置20A’は、電圧レベル決定部24を含むことにより、MES演算を行うための互いに異なる電圧レベルはメモリ装置20A’内でアップデートされる。従って、互いに異なる電圧レベルを設定するために、メモリ・コントローラ10Aとメモリ装置20A’との間でデータ送受信を行わなくともよい。
【0116】
図13は、メモリ装置の電圧レベル変更動作に係わる比較例を示している。
【0117】
図13を参照すれば、MES演算を行う場合、メモリセル・アレイに印加される電圧レベルを変更するために、メモリ・コントローラは、変更される電圧レベルに係わる情報を、制御信号としてメモリ装置に提供する。
【0118】
具体的には、メモリ装置は、メモリ・コントローラから読み取りコマンドRead CMDを受信した後、開始電圧レベルで、読み取り動作(Read Op.)を遂行し、読み取られたデータを、メモリ・コントローラに提供(Dout1)する。その後、メモリ装置は、メモリ・コントローラから、第1電圧レベルに係わる情報を受信(Level Set1)し、読み取りコマンドRead CMDを受信した後、第1電圧レベルで、読み取り動作(Read Op.)を遂行し、読み取られたデータをメモリ・コントローラに提供(Dout2)する。その後、メモリ装置は、メモリ・コントローラから、第2電圧レベルに係わる情報を受信(Level Set2)し、読み取りコマンドRead CMDを受信した後、第2電圧レベルで、読み取り動作(Read Op.)を遂行し、読み取られたデータをメモリ・コントローラに提供(Dout3)する。
【0119】
図14は、
図12のメモリ装置20A’の電圧レベル変更動作の一例を示している。
【0120】
図14を参照すると、本実施形態で、メモリ装置20A’は、電圧レベル決定部24を含み、電圧レベル決定部24は、メモリセル・アレイ21に印加される互いに異なる電圧レベルを決定することができる。
【0121】
具体的には、メモリ装置20A’は、メモリ・コントローラ10Aから読み取りコマンドRead CMDを受信した後、開始電圧レベルで、読み取り動作(Read Op.)を遂行し、読み取られた第1データを、ページバッファ22にバックアップする。その後、メモリ装置20A’は、メモリ・コントローラ10Aから、読み取りコマンドRead CMDを受信した後、第1電圧レベルで、読み取り動作(Read Op.)を遂行し、バックアップされた第1データ、及び読み取られた第2データについてXOR演算を行う。このとき、第1電圧レベルは、電圧レベル決定部24で決定されることにより、メモリ装置20A’内で、自動的にアップデートされる。
【0122】
その後、メモリ装置20A’は、メモリ・コントローラ10Aから、読み取りコマンドRead CMDを受信した後、第2電圧レベルで、読み取り動作(Read Op.)を遂行し、第1データ及び第2データに係わるXOR演算の結果からカウンティングされた「1」の個数を、メモリ・コントローラ10Aに提供(Dout)する。このとき、第2電圧レベルは、電圧レベル決定部24で決定されることにより、メモリ装置20A’内で、自動的にアップデートされる。
【0123】
図15は、複数のメモリチップのスレッショルド電圧による散布を示すグラフである。
【0124】
図15を参照すると、横軸は、メモリセルMCEL(
図4)のスレッショルド電圧Vthを示し、縦軸は、メモリセルMCELの個数を示す。工程上の誤差などの理由で、メモリチップが集積されたダイ(die)は、ダイ別に、または同一のダイ内でも、その位置によって性能が少しずつ差があるが、それを、ダイ変化(die variation)と称する。かようなダイ変化によって、
図15に図示されたように、ダイ別にメモリセルの散布に差がある。
【0125】
ダイ変化がない理想的な場合には、隣接した2つの状態間の読み取り電圧の最適電圧レベルを決定するために、bで表示された探索範囲で、MES演算を遂行すればよい。しかし、ダイ変化がある実際的な場合には、隣接した2つの状態間の読み取り電圧の最適電圧レベルを決定するために、aで表示された探索範囲で、MES演算を遂行しなければならないの、でMES演算に必要な時間が延長され、演算の遂行による電力消耗などを発生させる。
【0126】
図16は、
図12のメモリ装置20A’に含まれた電圧レベル決定部24を示すブロック図である。
【0127】
図16を参照すれば、電圧レベル決定部24は、開始電圧保存部241、オフセット保存部242、加算部243及び電圧レベル生成部244を含んでもよい。以下では、
図15及び
図16を参照して、電圧レベル決定部24に含まれた構成要素について説明する。
【0128】
開始電圧保存部241は、メモリセル・アレイ21に印加される開始電圧を保存することができる。このとき、開始電圧は、ダイ変化を考慮して、互いに異なるメモリチップについて、異なるように決定されもする。具体的には、電圧レベル決定部24で最終的に生成される電圧レベルを、互いに異なるメモリチップについて、同一に提供するために、互いに異なるメモリチップについて、開始電圧を異なるように決定することができる。一実施形態で、開始電圧保存部241は、開始電圧に係わるデジタル値を保存することができる。
【0129】
オフセット保存部242は、既定の複数オフセット電圧を保存することができる。このとき、複数のオフセット電圧は、互いに異なるメモリチップについて、同一に決定されもする。開始電圧保存部241で、すでにダイ変化を考慮して、メモリチップ別に開始電圧を互いに異なるように保存しているので、オフセット保存部242は、ダイ変化を考慮して、オフセット電圧を決定する必要がない。一実施形態で、オフセット保存部242は、複数のオフセット電圧に係わるデジタル値を保存することができる。
【0130】
加算部243は、複数のオフセット電圧のうち一つと、開始電圧とを加算することができる。一実施形態で、加算部243から出力される加算結果は、デジタル値であってもよい。
【0131】
電圧レベル生成部244は、加算部243から出力される加算結果から、アナログ電圧レベルを生成することができる。それにより、最終的に生成される電圧レベルは、メモリチップに関係なく、同一に提供される。
【0132】
図17は、本発明の他の実施形態によるメモリシステム2を概略的に示すブロック図である。
【0133】
図17を参照すると、メモリシステム2は、メモリ・コントローラ10B及びメモリ装置20Bを含んでもよい。メモリ・コントローラ10Bは、ECC処理部11及び読み取り電圧決定部12aを含んでもよい。メモリ装置20Bは、メモリセル・アレイ21、ページバッファ部22、カウンティング部23及びバレー検出部25を含んでもよい。本実施形態によるメモリ装置20Bに含まれた構成要素のうち一部は、
図1のメモリ装置20Aに含まれた構成要素と実質的に同一である。また、本実施形態によるメモリ・コントローラ10Bに含まれた構成要素のうち一部は、
図1のメモリ・コントローラ10Aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示し、
図1のメモリ・コントローラ10A及びメモリ装置20Aと同一の構成要素については、反復して説明しない。
【0134】
バレー検出部25は、カウンティング部23の出力を基にして、メモリセルMCELの隣接した2つの状態間のバレーに対応する電圧レベルを検出することができる。これにより、カウンティング部23の出力は、メモリ・コントローラ10Bに提供されなくてもよいので、メモリ・コントローラ10Bとメモリ装置20Bとのデータ送受信が単純化され、これによって、演算時間が短縮され、電力消費を減らすことができる。また、メモリ・コントローラ10Bは、カウンティング部23の出力を保存するための別途の保存空間(例えば、SRAMバッファなど)を具備しなくてもよい。
【0135】
読み取り電圧決定部12aは、バレー検出部25で検出されたバレーに対応する電圧レベルを受信することができ、当該電圧レベルを読み取り電圧として決定し、メモリ装置20Bに提供することができる。
【0136】
MES演算が倍速で遂行される場合、メモリセル・アレイ21に含まれた複数のMATに対して同時にMES演算が遂行され、このとき、バレー検出部25は、MAT単位でバレーを検出することができる。
【0137】
図示されていないが、メモリ装置20Bは、
図12に図示された電圧レベル決定部24をさらに含んでもよい。
【0138】
図18は、
図17のメモリ装置20Bの動作について説明するための図面である。
【0139】
図18を参照すると、メモリセルMCELの互いに隣接した2つの状態、例えば、第6プログラム状態P6と、第7プログラム状態P7との間の読み取り電圧の最適電圧レベルを決定するための動作は、第1電圧レベルV1である開始電圧と、−20mVであるオフセットとを基に行われる。カウンティング部23は、第1電圧レベルV1ないし第5電圧レベルV1ないしV5(例えば、
図7)によって区分される第1区画SEC1ないし第4区画SEC4それぞれで、メモリセルMCELの個数をカウンティングする。このとき、メモリセルMCELの個数は、ページバッファ部22で行われたXOR演算の結果から、「1」の個数をカウンティングすることにより、求めることができる。
【0140】
第1区画SEC1は、第1電圧レベルV1と、第1電圧レベルV1より20mV低い第2電圧レベルV2との間であり、カウンティング部23は、第1区画SEC1で、メモリセルMCELの個数を380個とカウンティングする。第2区画SEC2は、第2電圧レベルV2と、第2電圧レベルV2より20mV低い第3電圧レベルV3との間であり、カウンティング部23は、第2区画SEC2で、メモリセルMCELの個数を140個とカウンティングする。第3区画SEC3は、第3電圧レベルV3と、第3電圧レベルV3より20mV低い第4電圧レベルV4との間であり、カウンティング部23は、第3区画SEC3で、メモリセルMCELの個数を150個とカウンティングする。第4区画SEC4は、第4電圧レベルV4と、第4電圧レベルV4より20mV低い第5電圧レベルV5との間であり、カウンティング部23は、第4区画SEC4で、メモリセルMCELの個数を390個とカウンティングする。
【0141】
図19は、
図17のメモリ装置20Bに含まれたバレー検出部25aの一例を示すブロック図である。
【0142】
図19を参照すると、バレー検出部25aは、最小値保存部251及び最小オフセット保存部252を含んでもよい。以下では、
図18及び
図19を参照して、バレー検出部25aに含まれた構成要素について説明する。
【0143】
最小値保存部251は、複数の区画それぞれに存在するメモリセルMCELの個数のうち、最小値を保存することができる。具体的には、最小値保存部251は、複数の区画SEC1、SEC2、SEC3、SEC4(
図18)それぞれでカウンティングされたメモリセルMCELの個数のうち、最小値を保存することができる。例えば、最小値保存部251は、第1区画SEC1ないし第4区画SEC4それぞれでカウンティングされたメモリセルMCELの個数のうち、最小値である140(例えば、
図18)を保存することができる。
【0144】
最小オフセット保存部252は、複数の区画SEC1、SEC2、SEC3、SEC4において、最小カウンティング値を有する区画に対応するオフセットを、最小オフセットとして保存することができる。具体的には、最小オフセット保存部252は、現在の区画でカウンティングされた値が、最小値保存部251に保存された最小値より小さい場合、現在の区画に対応するオフセットを、最小オフセットとして保存することができる。このとき、最小オフセット保存部252に保存される最小オフセットは、バレーとして決定されもする。
【0145】
例えば、第2区画SEC2でカウンティングされた値が140であり、最小値保存部251に保存された最小値が380である場合、第2区画SEC2でカウンティングされた値が、最小値保存部251に保存された最小値より小さいので、最小オフセット保存部252は、第2区画SEC1に対応するオフセットである−40mV(例えば、
図18)を最小オフセットとして保存することができる。一方、第3区画SEC3でカウンティングされた値は150であり、最小値保存部251に保存された最小値が140である場合、第3区画SEC3でカウンティングされた値が、最小値保存部251に保存された最小値より大きいので、最小オフセット保存部252は、以前に保存されたオフセットである−40mVを、最小オフセットとして続けて保存することができる。
【0146】
本実施形態によれば、メモリ装置20Bは、バレー検出部25aを含み、バレー検出部25aは、最小オフセットを保存することができる。従って、メモリ装置20Bは、MES演算を行うたびに、カウンティング部23の出力をメモリ・コントローラ10Bに提供せずともよく、MES演算が終わった後、バレーの電圧レベルのみをメモリ・コントローラ10Bに提供すればよいので、メモリ・コントローラ10Bとメモリ装置20Bとのインターフェースが単純化される。また、メモリ・コントローラ10Bは、MES演算が遂行されるたびに、電圧レベルを別途に計算して保存する必要がないので、メモリ・コントローラ10Bの構成を単純化することができる。
【0147】
図20は、
図17のメモリ装置20Bに含まれたバレー検出部25bの他例を示すブロック図である。
【0148】
図20を参照すると、バレー検出部25bは、最小値保存部251、最小オフセット保存部252及びバレー保存部253を含んでもよい。本実施形態によるバレー検出部25bに含まれた構成要素のうち一部は、
図19のバレー検出部25aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図19のバレー検出部25aと同一の構成要素については、反復して説明しない。
【0149】
バレー保存部253は、最小オフセット保存部252の出力を受信し、バレーに対応する電圧レベル、またはバレーに対応するオフセットを保存することができる。バレー保存部253は、複数のバレー保存装置を含み、複数のバレー保存装置の個数は、メモリセルの互いに隣接した2つの状態間のバレーの個数に対応する。具体的には、メモリセルが、nビットメモリセルである場合、複数のバレー保存装置の個数は、(2
n−1)個である。
【0150】
図21は、メモリセルが、3ビット・マルチレベル・セルである場合に、ページ別の読み取り動作を示すグラフである。
【0151】
図21を参照すると、メモリセルMCEL(例えば、
図4)が3ビット・マルチレベル・セルである場合、メモリセルMCELに対する読み取り動作は3回遂行され、8個の状態情報を3枚のページに分けて出力することができる。一実施形態で、消去状態Eは、データ「111」が割り当てられ、第1プログラム状態P1は、データ「110」が割り当てられ、第2プログラム状態P2は、データ「100」が割り当てられ、第3プログラム状態P3は、データ「000」が割り当てられ、第4プログラム状態P4は、データ「010」が割り当てられ、第5プログラム状態P5は、データ「011」が割り当てられ、第6プログラム状態P2は、データ「001」が割り当てられ、第7プログラム状態P3は、データ「101」が割り当てられる。しかし、本発明は、それらに限定されるものではなく、他の実施形態で、各プログラム状態に割り当てられるデータは、変更されもする。
【0152】
第1ページ読み取り(1st page read)は、消去状態Eと第1プログラム状態P1との間の第1バレーVA1、並びに第4プログラム状態P4と第5プログラム状態P5との間の第5バレーVA5に対する読み取りからなる。第2ページ読み取り(2nd page read)は、第1プログラム状態P1と第2プログラム状態P2との間の第2バレーVA2、第3プログラム状態P3と第4プログラム状態P4との間の第4バレーVA4、並びに第5プログラム状態P5と第6プログラム状態P6との間の第6バレーVA6に対する読み取りからなる。第3ページ読み取り(3rd page read)は、第2プログラム状態P2と第3プログラム状態P3との間の第3バレーVA3、並びに第6プログラム状態P6と第7プログラム状態P7との間の第7バレーVA7に対する読み取りからなる。
【0153】
具体的には、第1ページ読み取り(1st page read)段階で、第1バレーVA1及び第5バレーVA5に対する読み取りを行う場合、第1バレーVA1で、「オフセル」であり、第5バレーVA5で「オンセル」であるならば、第1ページデータ(1st PageData)は、「0」であり、そうではない場合、第1ページデータ(1st page data)は、「1」であると出力することができる。次に、第2ページ読み取り(2nd page read)段階で、第2バレーVA2、第4バレーVA4及び第6バレーVA6に対する読み取りを行う場合、第2バレーVA2で、「オフセル」であり、第4バレーVA4で、「オンセル」であるならば、第2ページデータ(2nd page data)は、「0」であり、第6バレーVA6で、「オフセル」であるならば、第2ページデータ(2nd page data)は、「0」であり、そうではない場合、第2ページデータ(2nd page data)は、「1」であると出力することができる。次に、第3ページ読み取り(3rd page read)段階で、第3バレーVA3及び第7バレーVA7に対する読み取りを行う場合、第3バレーVA3で、「オフセル」であり、第7バレーVA7で、「オンセル」であるならば、第3ページデータ(3rd page data)は、「0」であり、そうではない場合、第3ページデータ(3rd page data)は、「1」であると出力することができる。
【0154】
再び
図20を参照すれば、バレー保存部253は、互いに異なるバレーそれぞれについて、バレーに対応する電圧レベル、またはバレーに対応するオフセットを保存することができる。メモリセルMCELが、3ビット・マルチレベル・セルである場合、バレー保存部253は、第1バレーVA1ないし第7バレーVA7それぞれについて、バレーに対応する電圧レベル、またはバレーに対応するオフセットを保存することができる。
【0155】
図22は、
図17のメモリ装置20Bの読み取り動作の一例を示すタイミング図である。
【0156】
図22を参照すれば、本実施形態で、メモリ装置20Bは、バレー検出部25を含み、カウンティング部23でカウンティングされた値を基にして、メモリセルMCEL(例えば、
図4)の隣接した2つの状態間のバレーを検出することができる。
【0157】
具体的には、メモリ装置20Bは、メモリ・コントローラ10Bから読み取りコマンドRead CMDを受信した後、読み取り動作(Read Op.)を遂行し、ページバッファ22は、読み取られた第1データをバックアップする。その後、メモリ装置20Bは、メモリ・コントローラ10Aから読み取りコマンドRead CMDを受信した後、読み取り動作(Read Op.)を遂行し、ページバッファ部22は、バックアップされた第1データ、及び読み取られた第2データについてXOR演算を行う。
【0158】
かような読み取り過程及び演算過程を反復した後、メモリ装置20Bは、メモリ・コントローラ10Bから、最終コマンド(Final CMD)を受信した後、MES演算の結果、最小オフセット保存部252に保存された最小オフセットを、メモリ・コントローラ10Bに提供する。他の実施形態で、メモリ装置20Bは、メモリ・コントローラ10Bから、最終コマンド(Final CMD)を受信した後、MES演算の結果、バレー保存部253に保存されたバレーに対応する電圧レベル、またはバレーに対応するオフセットをメモリ・コントローラ10Bに提供することもできる。
【0159】
図23は、本発明の他の実施形態によるメモリシステム3を示すブロック図である。
【0160】
図23を参照すると、メモリシステム3は、メモリ・コントローラ10C及びメモリ装置20Cを含む。メモリ・コントローラ10Cは、ECC処理部11を含む。メモリ装置20Cは、メモリセル・アレイ21、ページバッファ部22、カウンティング部23、バレー検出部25及び読み取り電圧発生部26を含んでもよい。本実施形態によるメモリ装置20Cに含まれた構成要素のうち一部は、
図17のメモリ装置20Bに含まれた構成要素と実質的に同一である。また、本実施形態によるメモリ・コントローラ10Cに含まれた構成要素は、
図1のメモリ・コントローラ10Aに含まれた構成要素のうち一部と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図17のメモリ・コントローラ10A及びメモリ装置20Bと同一の構成要素については、反復して説明しない。
【0161】
バレー検出部25は、カウンティング部23の出力を基にして、メモリセルMCEL(例えば、
図4)の隣接した2つの状態間のバレーに対応する電圧レベルを検出することができる。これにより、カウンティング部23の出力は、メモリ・コントローラ10Cに提供されなくてもよいので、メモリ・コントローラ10Cとメモリ装置20Cとのデータ送受信が単純化され、これによって、演算時間が短縮され、電力消費を減らすことができる。また、メモリ・コントローラ10Cは、カウンティング部23の出力を保存するための別途の保存空間(例えば、SRAMバッファなど)を具備しなくてもよい。
【0162】
読み取り電圧発生部26は、バレー検出部25で検出されたバレーに対応する電圧レベルを、メモリセル・アレイ21に提供することができる。このとき、バレー検出部25で検出されたバレーは、MES演算が終了し、最終的に発生する読み取り電圧の最適電圧レベルに係わる情報であってもよい。このように、MES演算の結果として得た、読み取り電圧の最適電圧レベルは、メモリセル・アレイ21の読み取り動作に利用される。
【0163】
本実施形態によれば、メモリ装置20Cは、読み取り電圧発生部26を含むことにより、MES演算が終わり、バレー検出部25でバレーが検索されれば、検索されたバレーをメモリ・コントローラ10Cに提供せずに、メモリ装置20Cに含まれた読み取り電圧発生部26に提供することができる。従って、メモリセル・アレイ21に対する読み取り動作を遂行するために、メモリ・コントローラ10Cとメモリ装置20Cとの間でデータ送受信を行わなくともよい。
【0164】
図示されていないが、メモリ装置20Cは、
図12に図示された電圧レベル決定部24をさらに含んでもよい。
【0165】
図24は、
図23の読み取り電圧発生部26の一例を示すブロック図である。
【0166】
図24を参照すると、読み取り電圧発生部26は、第1制御部261、第2制御部262、初期読み取り電圧保存部263、オフセット保存部264、加算器265及び電圧レベル生成部266を含んでもよい。以下では、読み取り電圧発生部26に含まれた構成要素について説明する。
【0167】
初期読み取り電圧保存部263は、メモリセルMCEL(例えば、
図4)の複数状態のうち、隣接した2つの状態間のバレーそれぞれに対応する複数の初期読み取り電圧を保存することができる。具体的には、メモリセルがnビットメモリセルである場合、初期読み取り電圧保存部263は、(2
n−1)個の初期読み取り電圧を保存することができる。このとき、初期読み取り電圧保存部263に保存された初期読み取り電圧は、デジタル値であってもよい。
【0168】
オフセット保存部264は、複数のバレーそれぞれに対応する複数のオフセットを保存することができる。具体的には、メモリセルMCELがnビットメモリセルである場合、オフセット保存部264は、(2
n−1)個のオフセットを保存することができる。このとき、オフセット保存部264に保存された複数のオフセットは、MES演算の結果として生成された値であり、バレー検出部25で出力された値に対応するデジタル値であってもよい。
【0169】
第1制御部261は、初期読み取り電圧保存部263に保存された複数の初期読み取り電圧のうち一つを選択するように、初期読み取り電圧保存部263を制御することができる。このとき、第1制御部261は、複数の初期読み取り電圧のうち一つを選択するためのデジタル値を、第1制御信号CON1として出力することができる。
【0170】
第2制御部262は、オフセット保存部264に保存された複数のオフセットのうち一つを適用し、読み取り電圧が発生するように、オフセット保存部264を制御することができる。具体的には、第2制御部262は、複数のMESが完了して検索されたバレーを、読み取り電圧生成に適用するように、オフセット保存部264を制御することができる。このとき、オフセット制御部262は、第1制御部261で提供される第1制御信号CON1を受信し、オフセット保存部264に保存された複数のオフセットのうち一つを選択するためのデジタル値を、第2制御信号CON2として出力することができる。
【0171】
加算部265は、初期読み取り電圧保存部263に保存された複数の初期読み取り電圧のうち一つと、オフセット保存部264に保存された複数のオフセットのうち一つとを加算することができる。一実施形態で、加算部265から出力される加算結果は、デジタル値であってもよい。
【0172】
電圧レベル生成部266は、加算部265の出力から、アナログ電圧レベルVRを生成することができる。生成されたアナログ電圧レベルVRは、読み取り電圧の最適電圧レベルに対応し、メモリセル・アレイ21に印加され、読み取り動作を遂行するのに利用される。
【0173】
図25は、メモリ装置とメモリ・コントローラとの動作シーケンスの比較例を示すタイミング図である。
【0174】
図25を参照すると、例えば、メモリセルMCEL(例えば、
図4)が、3ビット・マルチレベル・セルであり、第2ページ読み取りのためのMES動作が行われる場合、メモリ装置は、第2バレーVA2に対するMES演算を遂行し、検索された第2バレーVA2を、メモリ・コントローラに提供する。その後、メモリ装置は、第4バレーVA4に対するMES演算を遂行し、検索された第4バレーVA4を、メモリ・コントローラに提供する。その後、メモリ装置は、第6バレーVA6に対するMES演算を遂行し、検索された第6バレーVA6をメモリ・コントローラに提供する。
【0175】
メモリ・コントローラは、提供された第2バレーVA2、第4バレーV4及び第6バレーVA6を基に、それぞれ第2読み取り電圧Vr2、第4読み取り電圧Vr4及び第6読み取り電圧Vr6に係わる情報をメモリ装置に提供し、メモリ装置は、これを基にして、第2ページ読み取りを行う。
【0176】
図26は、
図23のメモリ装置20Cと、メモリ・コントローラ10Cとの動作シーケンスの一例を示すタイミング図である。
【0177】
図26を参照すると、例えば、メモリセルMCEL(例えば、
図4)が3ビット・マルチレベル・セルであり、第2ページ読み取りのためのMES動作が行われる場合、メモリ装置20Cは、第2バレーVA2に対するMES演算を遂行し、検索された第2バレーVA2を保存する。その後、メモリ装置20Cは、第4バレーVA4に対するMES演算を遂行し、検索された第4バレーVA4を保存する。その後、メモリ装置20Cは、第6バレーVA6に対するMES演算を遂行し、検索された第6バレーVA6を保存する。
【0178】
メモリ装置20Cは、保存された第2バレーVA2、第4バレーVA4及び第6バレーVA6を基に、それぞれ第2読み取り電圧Vr2、第4読み取り電圧Vr4及び第6読み取り電圧Vr6を生成し、生成された第2読み取り電圧Vr2、第4読み取り電圧Vr4及び第6読み取り電圧Vr6をメモリセル・アレイ21に印加し、第2ページ読み取りを行うことができる。
【0179】
図27は、本発明の他の実施形態によるメモリシステム4を示すブロック図である。
【0180】
図27を参照すると、メモリシステム4は、メモリ・コントローラ10D及びメモリ装置20Dを含んでもよい。メモリ・コントローラ10Dは、ECC処理部11及び読み取り電圧決定部12を含んでもよい。メモリ装置20Dは、メモリセル・アレイ21、ページバッファ部22、カウンティング部23及びプリチャージ決定部27を含む。本実施形態によるメモリ装置20Dに含まれた構成要素のうち一部は、
図1のメモリ装置20Aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図1のメモリ装置20Aと同一の構成要素については、反復して説明しない。また、本実施形態によるメモリ・コントローラ10Dに含まれた構成要素は、
図1のメモリ・コントローラ10Aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図1のメモリ・コントローラ10Aと同一の構成要素については、反復して説明しない。
【0181】
プリチャージ決定部27は、メモリセル・アレイ21に含まれた複数のメモリセルのうち、少なくとも1つのメモリセルに連結された少なくとも1本のビットラインに対するプリチャージいかんを決定することができる。一実施形態で、少なくとも1つのメモリセルは、読み取り電圧がすでに決定されたメモリセルであってもよい。他の実施形態で、少なくとも1つのメモリセルは、読み取り電圧を検索する必要がないメモリセルである。
【0182】
本発明によれば、メモリ装置20Dは、プリチャージ決定部27を含むことにより、例えば、セクタ別にMES演算を行う場合、すでにバレーを検索したセクタ、またはMES演算を行う必要がないセクタについては、ビットラインのプリチャージのようなメモリコアの動作を停止させることができ、これによって、電力消耗を低減させることができる。このとき、プリチャージ決定部27は、別途の構成要素として図示されているが、実施形態によって、ページバッファ部22に含まれるように具現されもする。
【0183】
一実施形態で、カウンティング部23は、セクタ単位で具備され、これにより、MES演算は、セクタ単位で行われる。その場合、プリチャージ決定部27は、セクタ単位で、プリチャージ中断いかんを決定することができる。これにより、バレーを求めたセクタについては、プリチャージを中断し、電力消耗を低減させることができる。
【0184】
他の実施形態で、カウンティング部23は、ページ単位で具備され、これにより、MES演算は、ページ単位で行われる。その場合にも、プリチャージ決定部27は、セクタ単位で、プリチャージ中断いかんを決定することができる。従って、プリチャージが中断されたセクタに対するXOR演算結果は、常に「0」であるので、カウンティング部23がページ単位で具備されても、セクタ別にメモリセルの個数をカウンティングすることができるので、結果的に、セクタ別にMES演算が行われる。
【0185】
図28は、本発明の他の実施形態によるメモリシステム5を示すブロック図である。
【0186】
図28を参照すると、メモリシステム5は、メモリ・コントローラ10E及びメモリ装置20Eを含んでもよい。メモリ・コントローラ10Eは、ECC処理部11及び読み取り電圧決定部12を含んでもよい。メモリ装置20Eは、メモリセル・アレイ21、ページバッファ部22’、カウンティング部23’及びサンプリング部28を含んでもよい。本実施形態によるメモリ装置20Eに含まれた構成要素のうち一部は、
図1のメモリ装置20Aに含まれた構成要素と実質的に同一である。また、本実施形態によるメモリ・コントローラ10Eに含まれた構成要素は、
図1のメモリ・コントローラ10Aに含まれた構成要素と実質的に同一である。同一の構成要素は、同一の参照番号で表示され、
図1のメモリ・コントローラ10A及びメモリ装置20Aと同一の構成要素については、反復して説明しない。
【0187】
サンプリング部28は、メモリセル・アレイ21に含まれた複数のメモリセルのうち、読み取り電圧を検索するための動作を遂行する少なくとも1つのメモリセルをサンプリングすることができる。具体的には、サンプリング部28は、ページバッファ部22’に連結され、読み取り電圧を検索するための動作を遂行する少なくとも1つのメモリセルをサンプリングすることができる。
【0188】
図29は、
図28のメモリ装置20Eをさらに詳細に示すブロック図である。
【0189】
図29を参照すると、メモリ装置20Eは、メモリセル・アレイ21、ページバッファ部22’、カウンティング部23’及びサンプリング部28を含み、カウンティング部23’は、カウンタ231及び複数の累算器(accumulators)232を含んでもよい。
【0190】
メモリセル・アレイ21は、ページPAGを含み、ページPAGは、複数のメモリセルを含んでもよい。また、ページPAGに含まれた複数のメモリセルは、複数のグループに区分される。例えば、ページPAGに含まれた複数のメモリセルは、16個のグループに区分される。
図29では、便宜上、メモリセル・アレイ21に含まれた1枚のページPAGのみを図示しているが、メモリセル・アレイ21は、複数のページを含んでもよい。
【0191】
ページバッファ部22’は、複数のページバッファ・グループPBG0、PBG1、…、PBG15を含み、複数のページバッファ・グループPBG0、PBG1、…、PBG15は、それぞれ複数のページバッファ(図示せず)を含み、複数のページバッファは、対応するビットライン(図示せず)を介して、メモリセルとそれぞれ連結される。複数のページバッファは、メモリセル・アレイ21に書き込まれるデータ、またはメモリセル・アレイ21から読み取られたデータを臨時に保存することができる。
【0192】
ページPAGに含まれた複数のグループは、対応する複数のページバッファ・グループPBG0、PBG1、…、PBG15にそれぞれ連結される。一実施形態で、ページPAGは、8KBに該当するメモリセルを含み、16個のグループに区分されるが、このとき、1グループは、500Bに該当するメモリセルを含んでもよい。
【0193】
複数のページバッファ・グループPBG0、PBG1、…、PBG15は、それぞれ選択トランジスタST0、ST1、…、ST15を含んでもよい。具体的には、選択トランジスタST0、ST1、…、ST15は、各ページバッファ・グループPBG0、PBG1、…、PBG15の出力信号を受信するドレイン、カウンタ231に連結されるソース、及びサンプリング部28から出力される選択信号S0、S1、…、S15が印加されるゲートを有するNMOSトランジスタで具現されもする。一実施形態で、各ページバッファ・グループPBG0、PBG1、…、PBG15は、1つの選択トランジスタを含んでもよい。他の実施形態では、各ページバッファ・グループPBG0、PBG1、…、PBG15に含まれたページバッファの個数に対応する個数の選択トランジスタを含んでもよい。
【0194】
サンプリング部28は、複数のページバッファ・グループPBG0、PBG1、…、PBG15のうち少なくとも一つを選択するための複数の選択信号S0、S1、…、S15を出力することができる。複数の選択信号S0、S1、…、S15のうち、第1選択信号S0が活性化されれば、第1ページバッファ・グループPBG0の出力がカウンタ231に入力され、第2選択信号S1が活性化されれば、第2ページバッファ・グループPBG1の出力がカウンタ231に入力され、第16選択信号S15が活性化されれば、第16ページバッファ・グループPBG15の出力がカウンタ231に入力される。このとき、複数の選択信号S0、S1、…、S15は、順次に活性化される。
【0195】
カウンタ231は、ページバッファ部22’に含まれた複数のページバッファ・グループPBG0、PBG1、…、PBG15のうち、サンプリング部28によって選択されたページバッファ・グループの出力を受信し、カウンティング動作を遂行する。具体的には、カウンタ231は、サンプリング部28によって選択されたページバッファ・グループから出力される論理演算の結果を基にして、複数の区画それぞれに存在するメモリセルの個数をカウンティングすることができる。このとき、カウンタ231は、アナログ・カウンタで具現されもする。
【0196】
複数の累算器232の個数は、ページバッファ・グループPBG0、PBG1、…、PBG15の個数に対応する。複数の累算器232は、対応するページバッファ・グループPBG0、PBG1、…、PBG15に該当するカウンタ231の出力をそれぞれ累算することができる。
【0197】
図30Aは、
図28のサンプリング部28がサンプリング動作を遂行しない場合、メモリ装置20Eの動作を示す。
【0198】
図30Aを参照すると、サンプリング部28がサンプリング動作を遂行しない場合、サンプリング部28は、例えば、8KBに該当する1ページの全体カラム(1 Page Full Columns)に対してMES演算を行うように、ページバッファ部22’を制御することができる。
【0199】
具体的には、サンプリング部28は、複数の選択信号S0、S1、…、S15をいずれも順次に活性化させ、ページバッファ部22’に出力することができる。これにより、複数のページバッファ・グループPBG0、PBG1、…、PBG15の出力が順次にカウンタ231に入力されてカウンティングされ、複数の累算器232が、当該カウンティング結果を保存することができる。
【0200】
第1選択信号S0が活性化されれば、第1グループに属するメモリセルに対応する第1ページバッファ・グループPBG0の出力が、カウンタ231でカウンティングされ、カウンティングされた結果は、累算器232に保存される。次に、第2選択信号S1が活性化されれば、第2グループに属するメモリセルに対応する第2ページバッファ・グループPBG1の出力がカウンタ231でカウンティングされ、カウンティングされた結果は、累算器232に保存される。かような動作が続けて反復され、最後に、第16選択信号S15が活性化されれば、第16グループに属するメモリセルに対応する第16ページバッファ・グループPBG15の出力が、カウンタ231でカウンティングされ、カウンティングされた結果は、累算器232に保存される。
【0202】
図30Bを参照すると、サンプリング部28がサンプリング動作を遂行しない場合、例えば、8KBに該当する1ページに含まれた全体メモリセルに対して、MES演算が遂行されることにより、
図30Bに図示されたようなスレッショルド電圧によるメモリセルの分布を得ることができる。
【0203】
図31Aは、
図28のサンプリング部28がサンプリング動作を遂行する場合、メモリ装置20Eの動作を示す。
【0204】
図31Aを参照すると、サンプリング部28が、サンプリング動作を遂行する場合、サンプリング部28は、例えば、8KBに該当する1ページの一部カラムに対して、MES演算を行うように、ページバッファ部22’を制御することができる。例えば、サンプリング部28は、1ページの半分に該当するカラムに対して、MES演算を行うように、ページバッファ部22’を制御することができる。
【0205】
具体的には、サンプリング部28は、複数の選択信号S0、S1、…、S15のうち、第1選択信号S0ないし第8選択信号S7を順次に活性化させ、ページバッファ部22’に出力することができる。これにより、複数のページバッファ・グループPBG0、PBG1、…、PBG15のうち、第1ページバッファ・グループPBG0ないし第8ページバッファ・グループPBG7の出力が順次にカウンタ231に入力されてカウンティングされ、複数の累算器232が当該カウンティング結果を保存することができる。
【0206】
このように、サンプリング部28は、1ページに含まれたメモリセルのうち、一部メモリセルだけサンプリングするように、ページバッファ部22’を制御することができる。本実施形態で、サンプリング部28は、8KBに該当するページに対して4KBのみをサンプリングしたが、本発明は、それに限定されるものではない。他の実施形態で、サンプリング部28は、8KBに該当するページに対して2KBをサンプリングしたり、あるいは1KBをサンプリングすることもでき、サンプリングされるメモリセルの個数は、ユーザの設定によって多様に変更されもする。
【0208】
図31Bを参照すると、サンプリング部28がサンプリング動作を遂行する場合、例えば、8KBに該当する1ページに含まれた全体メモリセルのうち半分に対してMES演算が遂行されることにより、
図31Bに図示されたようなスレッショルド電圧によるメモリセルの分布を得ることができる。
図30Bのグラフと比べるとき、
図31Bのグラフは高さが半分に減ったが、メモリセルの分布様相は類似している。従って、検索するバレーに該当する電圧レベルは、
図30Bのグラフと
図31Bのグラフと同一である。
【0209】
このように、本実施形態によれば、カウンティング部23’は、時系列的に、例えば、16段階のカウンティング動作を遂行することができる。プログラム/消去サイクルの回数が多くなく、メモリセルに対する散布劣化が多く進まない場合には、カウンティングに必要な時間を縮めるために、サンプリング部28は、カウンティング部23’で遂行される16段階のカウンティング動作のうち一部だけ遂行されるように、ページバッファ部22’に、選択信号S0、S1、…、S15を提供することにより、複数のページバッファ・グループPBG0、PBG1、…、PBG15のうち、一部ページバッファ・グループの出力のみを選択的にカウンティング部23’に提供することができる。
【0210】
図32は、本発明の一実施形態によるメモリ装置の読み取り方法を示すフローチャートである。
【0211】
図32を参照すれば、本実施形態によるメモリ装置の読み取り電圧の制御方法は、メモリ装置に含まれたメモリセル・アレイに保存されたデータを読み取るための読み取り電圧を制御する方法であり、
図1ないし
図31に図示されたメモリシステムについて説明した内容は、本実施形態によるメモリ装置の読み取り電圧の制御方法にも適用される。
【0212】
S110段階で、複数のメモリセルのうち、一部メモリセルそれぞれについて、互いに異なる電圧レベルで順次にデータを読み取る。
【0213】
S120段階で、読み取られた上記データに係わる論理演算を行う。
【0214】
S130段階で、上記論理演算の結果を基にして、上記互いに異なる電圧レベルによって区分される複数の区画それぞれに存在するメモリセルの個数をカウンティングする。
【0215】
S140段階で、カウンティングされた上記メモリセルの個数を基にして、上記メモリセルの隣接した2つの状態間の読み取り電圧の最適電圧レベルを決定する。
【0216】
図33は、本発明の実施形態によるメモリシステムを含むコンピュータ・システムを示すブロック図である。
【0217】
図33を参照すると、コンピュータ・システム1000は、プロセッサ1100、RAM(random-access memory)1200、入出力装置1300、電源装置1400及びメモリシステム1、2、3、4、5を含んでもよい。一方、
図33には、図示されていないが、コンピュータ・システム1000は、ビデオカード、サウンドカード、メモリカード、USB(universal serial bus)装置などと通信したり、あるいは他の電子機器と通信することができるポート(port)をさらに含んでもよい。コンピュータ・システム1000は、パソコンで具現されたり、ノート型パソコン、携帯電話、PDA(personal digital assistant)及びカメラなどのような携帯用電子装置で具現されもする。
【0218】
プロセッサ1100は、特定計算またはタスク(task)を遂行することができる。実施形態によって、プロセッサ1100は、マイクロプロセッサ(micro-processor)、中央処理装置(CPU:central processing unit)である。プロセッサ1100は、アドレスバス(address bus)、制御バス(control bus)及びデータバス(data bus)のようなバス1500を介して、RAM 1200、入出力装置1300及びメモリシステム1と通信を行うことができる。実施形態によって、プロセッサ1100は、周辺構成要素相互連結(PCI:peripheral component interconnect)バスのような拡張バスにも連結されもする。
【0219】
RAM 1200は、コンピュータ・システム1000の動作に必要なデータを保存することができる。例えば、RAM 1200は、DRAM(dynamic random access memory)、モバイルDRAM、SRAM(static random access memory)、PRAM(phase change random access memory)、FRAM(登録商標)(ferroelectric random-access memory)、RRAM(resistive random access memory)及び/またはMRAM(magnetic random access memory)で具現されもする。
【0220】
入出力装置1300は、キーボード、キーパッド、マウスのような入力手段、及びプリンタ、ディスプレイのような出力手段を含んでもよい。電源装置1400は、コンピュータ・システム1000の動作に必要な動作電圧を供給することができる。
【0221】
図示されていないが、本実施形態によるメモリシステム1は、応用チップセット(application chipset)、カメライメージ・プロセッサ(camera image processor)、モバイルDRAMなどと結合して高容量のデータを交換することができる情報処理機器の保存装置として提供されもする。
【0222】
本発明の実施形態によるメモリ装置20(20A、20B、20C、20D、20E)及びメモリシステム1、2、3、4、5は、多様な形態のパッケージを利用して実装される。例えば、メモリ装置20(20A、20B、20C、20D、20E)及びメモリシステム1、2、3、4、5は、PoP(package on package)、BGAs(ball grid arrays)、CSPs(chip scale packages)、PLCC(plastic leaded chip carrier)、PDIP(plastic dual in-line package)、die in waffle pack、die in wafer form、COB:chip on board)、CERDIP:ceramic dual in-line package)、MQFP:plastic metric quad flat pack)、TQFP:thin quad flat pack)、SOIC:small outline integrated circuit)、SSOP:shrink small outline package(SSOP)、TSOP:thin small outline package)、TQFP:thin quad flat package)、SIP:system in package)、MCP:multi chip package)、WFP(wafer-level fabricated package)、WSP:wafer-level processed stack package)などのようなパッケージを利用して実装される。
【0223】
本発明は、図面に図示された実施形態を参照に説明したが、それらは例示的なものに過ぎず、本技術分野の当業者であるならば、それらから多様な変形及び均等な他の実施形態が可能であるという点を理解するであろう。従って、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まらなければならない。