(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022142721
(43)【公開日】2022-09-30
(54)【発明の名称】半導体メモリ装置を制御するコントローラ及びその動作方法
(51)【国際特許分類】
G11C 11/56 20060101AFI20220922BHJP
G11C 16/26 20060101ALI20220922BHJP
G11C 16/04 20060101ALI20220922BHJP
【FI】
G11C11/56 220
G11C16/26 100
G11C16/04 170
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2021189015
(22)【出願日】2021-11-19
(31)【優先権主張番号】10-2021-0034198
(32)【優先日】2021-03-16
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】310024033
【氏名又は名称】エスケーハイニックス株式会社
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung-daero,Bubal-eub,Icheon-si,Gyeonggi-do,Korea
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】イ キ ウン
(72)【発明者】
【氏名】オ チャン ヨン
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA01
5B225BA19
5B225CA11
5B225DA03
5B225DA10
5B225DE08
5B225DE20
5B225EA05
5B225EG14
5B225FA01
(57)【要約】
【課題】複数のメモリセルを含む半導体メモリ装置を制御するコントローラの動作方法を提供する。
【解決手段】コントローラの動作方法は、少なくとも1つのリード電圧を含むリード電圧セットを利用して複数のメモリセルのうち選択されたメモリセルに対するリード動作を行うように半導体メモリ装置を制御する段階(S110)と、半導体メモリ装置からリードデータを受信する段階(S130)と、リード電圧セットに含まれた少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をリードデータからカウントしてリード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階(S190)と、を含む。
【選択図】
図9
【特許請求の範囲】
【請求項1】
複数のメモリセルを含む半導体メモリ装置を制御するコントローラの動作方法であって、
少なくとも1つのリード電圧を含むリード電圧セットを利用して前記複数のメモリセルのうち選択されたメモリセルに対するリード動作を行うように前記半導体メモリ装置を制御する段階と、
前記半導体メモリ装置からリードデータを受信する段階と、
前記リード電圧セットに含まれた少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数を前記リードデータからカウントして前記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階と、を含むことを特徴とするコントローラの動作方法。
【請求項2】
前記受信したリードデータに対するエラー訂正動作を行う段階をさらに含み、
前記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、前記エラー訂正動作を行った結果、エラー訂正に失敗したという判断に応答して行われることを特徴とする請求項1に記載のコントローラの動作方法。
【請求項3】
前記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階の後に、
前記変更されたリード電圧セットを利用して前記複数のメモリセルのうち選択されたメモリセルに対するリード動作を行うように前記半導体メモリ装置を制御する段階をさらに含むことを特徴とする請求項2に記載のコントローラの動作方法。
【請求項4】
前記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含み、
前記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、
第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントする段階と、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i下方臨界値と比較する段階と、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i下方臨界値より小さいという決定に応答して前記第iリード電圧を増加させる段階と、を含むことを特徴とする請求項1に記載のコントローラの動作方法。
【請求項5】
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i下方臨界値より小さいという決定に応答して前記第iリード電圧を増加させる段階では、
予め定められた電圧値だけ前記第iリード電圧を増加させることを特徴とする請求項4に記載のコントローラの動作方法。
【請求項6】
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i下方臨界値より小さいという決定に応答して前記第iリード電圧を増加させる段階では、
前記第i下方臨界値と前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数との差に応じて決定される電圧値だけ前記第iリード電圧を増加させることを特徴とする請求項4に記載のコントローラの動作方法。
【請求項7】
前記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含み、
前記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、
第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントする段階と、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i上方臨界値と比較する段階と、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i上方臨界値より大きいという決定に応答して前記第iリード電圧を減少させる段階と、を含むことを特徴とする請求項1に記載のコントローラの動作方法。
【請求項8】
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i上方臨界値より大きいという決定に応答して前記第iリード電圧を減少させる段階では、
予め定められた電圧値だけ前記第iリード電圧を減少させることを特徴とする請求項7に記載のコントローラの動作方法。
【請求項9】
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i上方臨界値より大きいという決定に応答して前記第iリード電圧を減少させる段階では、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数と前記第i下方臨界値との差に応じて決定される電圧値だけ前記第iリード電圧を減少させることを特徴とする請求項7に記載のコントローラの動作方法。
【請求項10】
複数のメモリセルを含む半導体メモリ装置を制御するコントローラであって、
前記複数のメモリセルのうち選択されたメモリセルに対するリード動作時に使用されるリード電圧セットに含まれる少なくとも1つのリード電圧の大きさを制御するリード電圧制御部と、
前記半導体メモリ装置から受信するリードデータに基づいて、前記選択されたメモリセルのうち少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントするメモリセルカウンタと、を含み、
前記リード電圧制御部は前記メモリセルカウンタから受信するカウントの結果に基づいて、前記少なくとも1つのリード電圧を変更することを特徴とするコントローラ。
【請求項11】
前記受信したリードデータに対するエラー訂正動作を行うエラー訂正ブロックをさらに含み、
前記受信したリードデータに対するエラー訂正に失敗したという前記エラー訂正ブロックの判断に応答して、前記メモリセルカウンタは前記選択されたメモリセルのうち少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントすることを特徴とする請求項10に記載のコントローラ。
【請求項12】
前記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含み、
前記メモリセルカウンタは第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントすることを特徴とする請求項10に記載のコントローラ。
【請求項13】
前記リード電圧制御部は、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i下方臨界値と比較し、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i下方臨界値より小さい場合、前記第iリード電圧を増加させることを特徴とする請求項12に記載のコントローラ。
【請求項14】
前記リード電圧制御部は、予め定められた電圧値だけ前記第iリード電圧を増加させることを特徴とする請求項13に記載のコントローラ。
【請求項15】
前記リード電圧制御部は、
前記第i下方臨界値と前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数との差に応じて決定される電圧値だけ前記第iリード電圧を増加させることを特徴とする請求項13に記載のコントローラ。
【請求項16】
前記リード電圧制御部は、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i上方臨界値と比較し、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が前記第i上方臨界値より大きい場合、前記第iリード電圧を減少させることを特徴とする請求項12に記載のコントローラ。
【請求項17】
前記リード電圧制御部は、予め定められた電圧値だけ前記第iリード電圧を減少させることを特徴とする請求項16に記載のコントローラ。
【請求項18】
前記リード電圧制御部は、
前記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数と前記第i下方臨界値との差に応じて決定される電圧値だけ前記第iリード電圧を減少させることを特徴とする請求項16に記載のコントローラ。
【請求項19】
第1リード電圧を利用してセルグループに対する第1リード動作を行うようにメモリ装置を制御する段階と、
前記第1リード動作が失敗し、その結果として臨界範囲から外れたオンセルの数が示された場合、前記セルグループに対する第2リード動作を行うように前記メモリ装置を制御する段階と、を含むことを特徴とするコントローラの動作方法。
【請求項20】
前記第1リード電圧を予め定められた量だけ調整して第2リード電圧を定義する段階をさらに含むことを特徴とする請求項19に記載のコントローラの動作方法。
【請求項21】
前記調整する段階は、
前記数が前記臨界範囲より小さいと、前記第1リード電圧を増加させる段階と、
前記数が前記臨界範囲より大きいと、前記第1リード電圧を減少させる段階と、を含むことを特徴とする請求項20に記載のコントローラの動作方法。
【請求項22】
前記第1リード電圧を前記臨界範囲に対する偏差だけ調節して第2リード電圧を定義する段階をさらに含むことを特徴とする請求項19に記載のコントローラの動作方法。
【請求項23】
前記調整する段階は、
前記数が前記臨界範囲より小さいと、前記臨界範囲の下限からの偏差に対応する量だけ前記第1リード電圧を増加させる段階と、
前記数が前記臨界範囲より大きいと、前記臨界範囲の上限からの偏差に対応する量だけ前記第1リード電圧を減少させる段階と、を含むことを特徴とする請求項22に記載のコントローラの動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は電子装置に関し、より具体的には、半導体メモリ装置を制御するコントローラ及びその動作方法に関する。
【背景技術】
【0002】
半導体メモリ装置は、ストリングが半導体基板に水平に配列された2次元構造で形成されるか、ストリングが半導体基板に垂直に積層された3次元構造で形成されてもよい。3次元メモリ装置は2次元メモリ装置の集積度の限界を解消するために考案されたメモリ装置であって、半導体基板上に垂直方向に積層された複数のメモリセルを含んでもよい。コントローラは半導体メモリ装置の動作を制御することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施例は、リード性能が向上したコントローラ及びその動作方法を提供する。
【課題を解決するための手段】
【0004】
本発明の一実施例により、複数のメモリセルを含む半導体メモリ装置を制御するコントローラの動作方法が提供される。上記コントローラの動作方法は、少なくとも1つのリード電圧を含むリード電圧セットを利用して上記複数のメモリセルのうち選択されたメモリセルに対するリード動作を行うように上記半導体メモリ装置を制御する段階と、上記半導体メモリ装置からリードデータを受信する段階と、上記リード電圧セットに含まれた少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数を上記リードデータからカウントして上記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階と、を含む。
【0005】
一実施例において、上記コントローラの動作方法は、上記受信したリードデータに対するエラー訂正動作を行う段階をさらに含んでもよい。上記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、上記エラー訂正動作を行った結果、エラー訂正に失敗したという判断に応答して行われてもよい。
【0006】
一実施例において、上記コントローラの動作方法は、上記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階の後に、上記変更されたリード電圧セットを利用して上記複数のメモリセルのうち選択されたメモリセルに対するリード動作を行うように上記半導体メモリ装置を制御する段階をさらに含んでもよい。
【0007】
一実施例において、上記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含んでもよい。上記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントする段階と、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i下方臨界値と比較する段階と、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i下方臨界値より小さいという決定に応答して上記第iリード電圧を増加させる段階と、を含んでもよい。
【0008】
一実施例において、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i下方臨界値より小さいという決定に応答して上記第iリード電圧を増加させる段階では、予め定められた電圧値だけ上記第iリード電圧を増加させることができる。
【0009】
一実施例において、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i下方臨界値より小さいという決定に応答して上記第iリード電圧を増加させる段階では、上記第i下方臨界値と上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数との差に応じて決定される電圧値だけ上記第iリード電圧を増加させることができる。
【0010】
一実施例において、上記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含んでもよい。上記リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階は、第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントする段階と、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i上方臨界値と比較する段階と、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i上方臨界値より大きいという決定に応答して上記第iリード電圧を減少させる段階と、を含んでもよい。
【0011】
一実施例において、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i上方臨界値より大きいという決定に応答して上記第iリード電圧を減少させる段階では、予め定められた電圧値だけ上記第iリード電圧を減少させることができる。
【0012】
一実施例において、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i上方臨界値より大きいという決定に応答して上記第iリード電圧を減少させる段階では、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数と上記第i下方臨界値との差に応じて決定される電圧値だけ上記第iリード電圧を減少させることができる。
【0013】
本発明の他の実施例により、複数のメモリセルを含む半導体メモリ装置を制御するコントローラが提供される。上記コントローラはリード電圧制御部及びメモリセルカウンタを含む。上記リード電圧制御部は、上記複数のメモリセルのうち選択されたメモリセルに対するリード動作時に使用されるリード電圧セットに含まれる少なくとも1つのリード電圧の大きさを制御する。上記メモリセルカウンタは、上記半導体メモリ装置から受信するリードデータに基づいて、上記選択されたメモリセルのうち少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントする。上記リード電圧制御部は上記メモリセルカウンタから受信するカウントの結果に基づいて、上記少なくとも1つのリード電圧を変更する。
【0014】
一実施例において、上記コントローラは、上記受信したリードデータに対するエラー訂正動作を行うエラー訂正ブロックをさらに含んでもよい。上記受信したリードデータに対するエラー訂正に失敗したという上記エラー訂正ブロックの判断に応答して、上記メモリセルカウンタは上記選択されたメモリセルのうち少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントすることができる。
【0015】
一実施例において、上記リード電圧セットは第1~第Nリード電圧(ここで、Nは1以上の自然数)を含んでもよい。上記メモリセルカウンタは第1~第Nリード電圧のうち第iリード電圧(ここで、iは1より大きいかまたは同じで、Nより小さいかまたは同じ自然数)より小さいしきい値電圧値を有するメモリセルの数をカウントすることができる。
【0016】
一実施例において、上記リード電圧制御部は、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i下方臨界値と比較し、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i下方臨界値より小さい場合、上記第iリード電圧を増加させることができる。
【0017】
一実施例において、上記リード電圧制御部は、予め定められた電圧値だけ上記第iリード電圧を増加させることができる。
【0018】
一実施例において、上記リード電圧制御部は、上記第i下方臨界値と上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数との差に応じて決定される電圧値だけ上記第iリード電圧を増加させることができる。
【0019】
一実施例において、上記リード電圧制御部は、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数を第i上方臨界値と比較し、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数が上記第i上方臨界値より大きい場合、上記第iリード電圧を減少させることができる。
【0020】
一実施例において、上記リード電圧制御部は、予め定められた電圧値だけ上記第iリード電圧を減少させることができる。
【0021】
一実施例において、上記リード電圧制御部は、上記第iリード電圧より小さいしきい値電圧値を有するメモリセルの数と上記第i下方臨界値との差に応じて決定される電圧値だけ上記第iリード電圧を減少させることができる。
【0022】
本発明のさらに他の実施例によるコントローラの動作方法は、第1リード電圧を利用してセルグループに対する第1リード動作を行うようにメモリ装置を制御する段階と、上記第1リード動作が失敗し、その結果として臨界範囲から外れたオンセルの数が示された場合、上記セルグループに対する第2リード動作を行うように上記メモリ装置を制御する段階と、を含む。
【0023】
一実施例において、上記コントローラの動作方法は、上記第1リード電圧を予め定められた量だけ調整して上記第2リード電圧を定義する段階をさらに含んでもよい。
【0024】
一実施例において、上記調整する段階は、上記数が上記臨界範囲より小さいと、上記第1リード電圧を増加させる段階と、上記数が上記臨界範囲より大きいと、上記第1リード電圧を減少させる段階と、を含んでもよい。
【0025】
一実施例において、上記コントローラの動作方法は、上記第1リード電圧を上記臨界範囲に対する偏差だけ調節して上記第2リード電圧を定義する段階をさらに含んでもよい。
【0026】
一実施例において、上記調整する段階は、上記数が上記臨界範囲より小さいと、上記臨界範囲の下限からの偏差に対応する量だけ上記第1リード電圧を増加させる段階と、上記数が上記臨界範囲より大きいと、上記臨界範囲の上限からの偏差に対応する量だけ上記第1リード電圧を減少させる段階と、を含んでもよい。
【発明の効果】
【0027】
本技術は、リード性能が向上したコントローラ及びその動作方法を提供することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の一実施例に係るコントローラを含むメモリシステムを示すブロック図である。
【
図2】本発明の一実施例に係る半導体メモリ装置を示すブロック図である。
【
図3】
図2のメモリセルアレイの一実施例を示す図である。
【
図4】
図3のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKaを示す回路図である。
【
図5】
図3のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKbの他の実施例を示す回路図である。
【
図6】
図2のメモリセルアレイ110に含まれた複数のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKcの実施例を示す回路図である。
【
図7】マルチレベルセル(multi-level cell;MLC)のしきい値電圧分布を示すグラフである。
【
図8】メモリセルのしきい値電圧分布の変化に応じてリード電圧セットを変更する理由を説明するためのグラフである。
【
図9】本発明の一実施例に係るコントローラの動作方法を示すフローチャートである。
【
図10】
図9の段階S170の例示的な実施例を示すフローチャートである。
【
図11a】
図10の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図11b】
図10の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図11c】
図10の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図11d】
図10の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図12】
図9の段階S170の他の例示的な実施例を示すフローチャートである。
【
図13a】
図12の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図13b】
図12の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【
図14】
図1のコントローラを含むメモリシステムを示すブロック図である。
【
図15】
図14のメモリシステムの応用例を示すブロック図である。
【
図16】
図15を参照して説明したメモリシステムを含むコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【0029】
本明細書または出願に開示されている本発明の概念による実施例に対する特定の構造的ないし機能的な説明は、単に本発明の概念による実施例を説明する目的で例示されたものに過ぎず、本発明の概念による実施例は様々な形態で実施することができ、本明細書または出願に説明されている実施例に限定されると解釈すべきではない。
【0030】
図1は、本発明の一実施例に係るコントローラを含むメモリシステムを示すブロック図である。
【0031】
図1を参照すると、メモリシステム1000は半導体メモリ装置100及びコントローラ200を含む。また、メモリシステム1000はホストと通信する。半導体メモリ装置100及びコントローラ200のそれぞれは、1つのチップ、1つのパッケージ、1つの装置として提供されてもよい。または、メモリシステム1000は1つの記憶装置として提供されてもよい。
【0032】
コントローラ200は半導体メモリ装置100の諸動作を制御する。また、コントローラ200はホストから受信したコマンドに基づいて半導体メモリ装置100の動作を制御する。
【0033】
半導体メモリ装置100はコントローラ200の制御に応答して動作する。半導体メモリ装置100は複数のメモリブロックを有するメモリセルアレイを含む。実施例として、半導体メモリ装置100はフラッシュメモリ装置(Flash Memory Device)であってもよい。
【0034】
コントローラ200はホストからデータの書き込み要求または読み出し要求などを受信し、受信した要求に基づいて半導体メモリ装置100を制御することができる。より具体的には、コントローラ200は半導体メモリ装置100の動作を制御するためのコマンドを生成し、これを半導体メモリ装置100に伝送することができる。
【0035】
半導体メモリ装置100はコントローラ200からコマンド及びアドレスを受信し、メモリセルアレイのうちアドレスにより選択された領域をアクセスするように設定される。即ち、半導体メモリ装置100はアドレスにより選択された領域に対してコマンドに該当する内部動作を行う。
【0036】
例えば、半導体メモリ装置100はプログラム動作、読み出し動作及び消去動作を行うことができる。プログラム動作時に、半導体メモリ装置100はアドレスにより選択された領域にデータをプログラムする。読み出し動作時に、半導体メモリ装置100はアドレスにより選択された領域からデータを読み出す。消去動作時に、半導体メモリ装置100はアドレスにより選択された領域に保存されたデータを消去する。
【0037】
コントローラ200は、リード電圧制御部210、エラー訂正ブロック230、及びメモリセルカウンタ250を含む。リード電圧制御部210、エラー訂正ブロック230、及びメモリセルカウンタ250は、各自の動作及び機能を遂行するのに必要な全ての回路、システム、ソフトウェア、ファームウェア、及び装置を含んでもよい。
【0038】
リード電圧制御部210は、半導体メモリ装置100に保存されたデータを読み出すためのリード電圧を管理及び調節することができる。例えば、半導体メモリ装置100からリードしたデータがエラー訂正ブロック230により訂正されない場合、リード電圧制御部210は半導体メモリ装置100のリード動作に使用される少なくとも1つのリード電圧を調節することができる。本発明によると、リード電圧制御部210は、メモリセルカウンタ250によりカウントされる特定のリード電圧より低いしきい値電圧を有するメモリセルの数を基づいて、半導体メモリ装置100のリード動作に使用されるリード電圧を調節することができる。
【0039】
エラー訂正ブロック230は、エラー訂正コード(ECC、Error Correcting Code)を利用して半導体メモリ装置100から受信したデータのエラーを検出し、訂正するように構成される。リード電圧制御部210は、エラー訂正ブロック230のエラー検出結果に応じてリード電圧を調節し、再読み出しを行うように半導体メモリ装置100を制御することができる。例えば、エラー訂正ブロック230は、半導体メモリ装置100に保存されるデータに対してエラー訂正コードを生成することができる。生成されたエラー訂正コードはデータと共に半導体メモリ装置100に保存されることができる。その後、エラー訂正ブロック230は、保存されたエラー訂正コードに基づいて半導体メモリ装置100から読み出したデータのエラーを検出し、訂正することができる。例示的に、エラー訂正ブロック230は所定のエラー訂正能力を有する。エラー訂正ブロック230のエラー訂正能力を超えるエラービット(またはフェイルビット)を含むデータは、「UECC(Uncorrectable ECC)データ」と称される。半導体メモリ装置100から読み出したデータがUECCデータである場合、リード電圧制御部210はリード電圧を調整してリード動作を再び行うように半導体メモリ装置100を制御することができる。
【0040】
メモリセルカウンタ250は、半導体メモリ装置100から受信するリードデータに基づいて特定のリード電圧より低いしきい値電圧を有するメモリセルの数をカウントすることができる。上記のようなカウント動作の結果はリード電圧制御部210に伝達される。リード電圧制御部210は、メモリセルカウンタ250から受信するカウントの結果に基づいて半導体メモリ装置100のリード動作に使用されるリード電圧を調節することができる。
【0041】
図2は、本発明の一実施例に係る半導体メモリ装置を示すブロック図である。
【0042】
図2を参照すると、半導体メモリ装置100はメモリセルアレイ110、アドレスデコーダ120、読み出し及び書き込み回路130、制御ロジック140、及び電圧生成部150を含む。
【0043】
メモリセルアレイ110は複数のメモリブロックBLK1~BLKzを含む。複数のメモリブロックBLK1~BLKzはワード線WLを介してアドレスデコーダ120に接続される。複数のメモリブロックBLK1~BLKzはビット線BL1~BLmを介して読み出し及び書き込み回路130に接続される。複数のメモリブロックBLK1~BLKzのそれぞれは複数のメモリセルを含む。実施例としては、複数のメモリセルは不揮発性メモリセルであり、垂直チャネル構造を有する不揮発性メモリセルで構成されてもよい。上記メモリセルアレイ110は2次元構造のメモリセルアレイで構成されてもよい。実施例に応じて、上記メモリセルアレイ110は3次元構造のメモリセルアレイで構成されてもよい。一方、メモリセルアレイに含まれる複数のメモリセルのそれぞれは少なくとも1ビットのデータを保存することができる。一実施例では、メモリセルアレイ110に含まれる複数のメモリセルのそれぞれは1ビットのデータを保存するシングルレベルセル(single-level cell;SLC)であってもよい。他の実施例では、メモリセルアレイ110に含まれる複数のメモリセルのそれぞれは2ビットのデータを保存するマルチレベルセル(multi-level cell;MLC)であってもよい。さらに他の実施例では、メモリセルアレイ110に含まれる複数のメモリセルのそれぞれは3ビットのデータを保存するトリプルレベルセル(triple-level cell;TLC)であってもよい。さらに他の実施例では、メモリセルアレイ110に含まれる複数のメモリセルのそれぞれは4ビットのデータを保存するクアッドレベルセル(quad-level cell;QLC)であってもよい。実施例に応じて、メモリセルアレイ110は5ビット以上のデータをそれぞれ保存する複数のメモリセルを含んでもよい。
【0044】
アドレスデコーダ120、読み出し及び書き込み回路130、制御ロジック140及び電圧生成部150はメモリセルアレイ110を駆動する周辺回路として動作する。アドレスデコーダ120はワード線WLを介してメモリセルアレイ110に接続される。アドレスデコーダ120は制御ロジック140の制御に応答して動作するように構成される。アドレスデコーダ120は半導体メモリ装置100の内部の入出力バッファ(不図示)を介してアドレスを受信する。半導体メモリ装置100に電源が供給されると、カムブロックに保存された情報は周辺回路により読み出され、周辺回路は読み出された情報に応じて設定された条件でメモリセルのデータ入出力動作を行うようにメモリセルアレイを制御することができる。
【0045】
アドレスデコーダ120は受信したアドレスのうちブロックアドレスをデコードするように構成される。アドレスデコーダ120はデコードされたブロックアドレスに応じて少なくとも1つのメモリブロックを選択する。また、アドレスデコーダ120は、読み出し動作の読み出し電圧印加動作時に選択されたメモリブロックのうち選択されたワード線に電圧生成部150で発生した読み出し電圧Vreadを印加し、残りの非選択のワード線にはパス電圧Vpassを印加する。また、プログラム検証動作時には選択されたメモリブロックのうち選択されたワード線に電圧生成部150で発生した検証電圧を印加し、残りの非選択のワード線にはパス電圧Vpassを印加する。
【0046】
アドレスデコーダ120は受信したアドレスのうち列アドレスをデコードするように構成される。アドレスデコーダ120はデコードされた列アドレスを読み出し及び書き込み回路130に伝送する。
【0047】
半導体メモリ装置100の読み出し動作及びプログラム動作はページ単位で行われる。読み出し動作及びプログラム動作の要求時に受信するアドレスはブロックアドレス、行アドレス及び列アドレスを含む。アドレスデコーダ120はブロックアドレス及び行アドレスに応じて1つのメモリブロック及び1つのワード線を選択する。列アドレスはアドレスデコーダ120によりデコードされて読み出し及び書き込み回路130に提供される。本明細書では、1つのワード線に接続されたメモリセルを1つの「物理ページ」と称することができる。
【0048】
アドレスデコーダ120はブロックデコーダ、行デコーダ、列デコーダ、及びアドレスバッファなどを含んでもよい。
【0049】
読み出し及び書き込み回路130は複数のページバッファPB1~PBmを含む。読み出し及び書き込み回路130は、メモリセルアレイ110の読み出し動作時には「読み出し回路(read circuit)」として動作し、書き込み動作時には「書き込み回路(write circuit)」として動作することができる。複数のページバッファPB1~PBmはビット線BL1~BLmを介してメモリセルアレイ110に接続される。複数のページバッファPB1~PBmは、読み出し動作及びプログラム検証動作時にメモリセルのしきい値電圧をセンシングするために、メモリセルと接続されたビット線にセンシング電流を継続的に供給しながら対応するメモリセルのプログラム状態に応じて流れる電流量が変化することをセンシングノードを介して検知してセンシングデータとしてラッチする。読み出し及び書き込み回路130は制御ロジック140から出力されるページバッファ制御信号に応答して動作する。
【0050】
読み出し及び書き込み回路130は、読み出し動作時にメモリセルのデータをセンシングして読み出しデータを一時的に保存した後、半導体メモリ装置100の入出力バッファ(不図示)にデータDATAを出力する。例示的な実施例として、読み出し及び書き込み回路130はページバッファ(またはページレジスタ)以外にも列選択回路などを含んでもよい。
【0051】
制御ロジック140はアドレスデコーダ120、読み出し及び書き込み回路130、及び電圧生成部150に接続される。制御ロジック140は半導体メモリ装置100の入出力バッファ(不図示)を介して命令語CMD及び制御信号CTRLを受信する。制御ロジック140は制御信号CTRLに応答して半導体メモリ装置100の諸動作を制御するように構成される。また、制御ロジック140は、複数のページバッファPB1~PBmのセンシングノードプリチャージの電位レベルを調節するための制御信号を出力する。制御ロジック140はメモリセルアレイ110の読み出し動作(read operation)を行うように読み出し及び書き込み回路130を制御することができる。
【0052】
電圧生成部150は、制御ロジック140から出力される制御信号に応答して読み出し動作時にリード電圧Vread及びパス電圧Vpassを生成する。電圧生成部150は様々な電圧レベルを有する複数の電圧を生成するために、内部の電源電圧を受信する複数のポンピングキャパシタを含み、制御ロジック140の制御に応答して複数のポンピングキャパシタを選択的に活性化することで複数の電圧を生成する。
【0053】
アドレスデコーダ120、読み出し及び書き込み回路130及び電圧生成部150は、メモリセルアレイ110に対する読み出し動作、書き込み動作及び消去動作を行う「周辺回路」として機能することができる。周辺回路は、制御ロジック140の制御に基づいてメモリセルアレイ110に対する読み出し動作、書き込み動作及び消去動作を行う。
【0054】
図3は
図2のメモリセルアレイの一実施例を示す図である。
【0055】
図3を参照すると、メモリセルアレイ110は複数のメモリブロックBLK1~BLKzを含む。各メモリブロックは3次元構造を有することができる。各メモリブロックは基板上に積層された複数のメモリセルを含む。このような複数のメモリセルは+X方向、+Y方向及び+Z方向に沿って配列される。各メモリブロックの構造は、
図4及び
図5を参照してより詳細に説明する。
【0056】
図4は
図3のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKaを示す回路図である。
【0057】
図4を参照すると、メモリブロックBLKaは複数のセルストリングCS11~CS1m、CS21~CS2mを含む。実施例として、複数のセルストリングCS11~CS1m、CS21~CS2mのそれぞれは「U」字状に形成されてもよい。メモリブロックBLKa内において、行方向(即ち、+X方向)にm個のセルストリングが配列される。
図4には、列方向(即ち、+Y方向)に2つのセルストリングが配列されることが示されているが、これは説明の便宜のためであり、列方向に3つ以上のセルストリングが配列されてもよいことは理解できるだろう。
【0058】
複数のセルストリングCS11~CS1m、CS21~CS2mのそれぞれは、少なくとも1つのソース選択トランジスタSST、第1~第nメモリセルMC1~MCn、パイプトランジスタPT、及び少なくとも1つのドレイン選択トランジスタDSTを含む。
【0059】
選択トランジスタSST、DST及びメモリセルMC1~MCnのそれぞれは類似する構造であってもよい。実施例として、選択トランジスタSST、DST及びメモリセルMC1~MCnのそれぞれはチャネル層、トンネリング絶縁膜、電荷貯蔵膜及びブロッキング絶縁膜を含んでもよい。実施例として、チャネル層を提供するためのピラー(pillar)が各セルストリング(each cell string)に提供されてもよい。実施例として、チャネル層、トンネリング絶縁膜、電荷貯蔵膜及びブロッキング絶縁膜のうち少なくとも1つを提供するためのピラーが各セルストリングに提供されてもよい。
【0060】
各セルストリングのソース選択トランジスタSSTは、共通ソース線CSLとメモリセルMC1~MCpとの間に接続される。
【0061】
実施例として、同じ行に配列されたセルストリングのソース選択トランジスタは行方向に伸びるソース選択線に接続され、異なる行に配列されたセルストリングのソース選択トランジスタは異なるソース選択線に接続される。
図4において、第1行のセルストリングCS11~CS1mのソース選択トランジスタは第1ソース選択線SSL1に接続されている。第2行のセルストリングCS21~CS2mのソース選択トランジスタは第2ソース選択線SSL2に接続されている。
【0062】
他の実施例として、セルストリングCS11~CS1m、CS21~CS2mのソース選択トランジスタは1つのソース選択線に共通して接続されてもよい。
【0063】
各セルストリングの第1~第nメモリセルMC1~MCnは、ソース選択トランジスタSSTとドレイン選択トランジスタDSTとの間に接続される。
【0064】
第1~第nメモリセルMC1~MCnは、第1~第pメモリセルMC1~MCpと第p+1~第nメモリセルMCp+1~MCnに区分されてもよい。第1~第pメモリセルMC1~MCpは+Z方向とは逆方向に順に配列され、ソース選択トランジスタSSTとパイプトランジスタPTとの間で直列接続される。第p+1~第nメモリセルMCp+1~MCnは+Z方向に順に配列され、パイプトランジスタPTとドレイン選択トランジスタDSTとの間で直列接続される。第1~第pメモリセルMC1~MCpと第p+1~第nメモリセルMCp+1~MCnはパイプトランジスタPTを介して接続される。各セルストリングの第1~第nメモリセルMC1~MCnのゲートはそれぞれ第1~第nワード線WL1~WLnに接続される。
【0065】
各セルストリングのパイプトランジスタPTのゲートはパイプ線PLに接続される。
【0066】
各セルストリングのドレイン選択トランジスタDSTは該当ビット線とメモリセルMCp+1~MCnとの間に接続される。行方向に配列されるセルストリングのドレイン選択トランジスタは行方向に伸びるドレイン選択線に接続される。第1行のセルストリングCS11~CS1mのドレイン選択トランジスタは第1ドレイン選択線DSL1に接続される。第2行のセルストリングCS21~CS2mのドレイン選択トランジスタは第2ドレイン選択線DSL2に接続される。
【0067】
列方向に配列されるセルストリングは列方向に伸びるビット線に接続される。
図4において、第1列のセルストリングCS11、CS21は第1ビット線BL1に接続されている。第m列のセルストリングCS1m、CS2mは第mビット線BLmに接続されている。
【0068】
行方向に配列されるセルストリング内で同じワード線に接続されるメモリセルは1つのページを構成する。例えば、第1行のセルストリングCS11~CS1mのうち第1ワード線WL1と接続されるメモリセルは1つのページを構成する。第2行のセルストリングCS21~CS2mのうち第1ワード線WL1と接続されるメモリセルは他の1つのページを構成する。ドレイン選択線DSL1、DSL2の何れか1つが選択されることにより、1つの行方向に配列されるセルストリングが選択される。ワード線WL1~WLnの何れか1つが選択されることにより、選択されたセルストリングのうち1つのページが選択される。
【0069】
他の実施例として、第1~第mビット線BL1~BLmの代わりにイーブンビット線及びオッドビット線が提供されてもよい。そして、行方向に配列されるセルストリングCS11~CS1mまたはCS21~CS2mのうち偶数番目のセルストリングはイーブンビット線にそれぞれ接続され、行方向に配列されるセルストリングCS11~CS1mまたはCS21~CS2mのうち奇数番目のセルストリングはオッドビット線にそれぞれ接続されてもよい。
【0070】
実施例として、第1~第nメモリセルMC1~MCnのうち少なくとも1つ以上はダミーメモリセルとして利用されてもよい。例えば、少なくとも1つ以上のダミーメモリセルは、ソース選択トランジスタSSTとメモリセルMC1~MCpとの間の電界(electric field)を減少させるために提供される。または、少なくとも1つ以上のダミーメモリセルは、ドレイン選択トランジスタDSTとメモリセルMCp+1~MCnとの間の電界を減少させるために提供される。より多いダミーメモリセルが提供されるほど、メモリブロックBLKaに対する動作の信頼性は向上するが、メモリブロックBLKaのサイズが増加する。より少ないダミーメモリセルが提供されるほど、メモリブロックBLKaのサイズは減少するが、メモリブロックBLKaに対する動作の信頼性が低下することがある。
【0071】
少なくとも1つ以上のダミーメモリセルを効率的に制御するために、ダミーメモリセルのそれぞれは求められるしきい値電圧を有することができる。メモリブロックBLKaに対する消去動作の前または後に、ダミーメモリセルの全部または一部に対するプログラム動作が行われてもよい。プログラム動作が行われてから消去動作が行われる場合、ダミーメモリセルのしきい値電圧はそれぞれのダミーメモリセルに接続されたダミーワード線に印加される電圧を制御することで、ダミーメモリセルは求められるしきい値電圧を有することができる。
【0072】
図5は
図3のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKbの他の実施例を示す回路図である。
【0073】
図5を参照すると、メモリブロックBLKbは複数のセルストリングCS11’~CS1m’、CS21’~CS2m’を含む。複数のセルストリングCS11’~CS1m’、CS21’~CS2m’のそれぞれは+Z方向に沿って伸びる。複数のセルストリングCS11’~CS1m’、CS21’~CS2m’のそれぞれは、メモリブロックBLKbの下部の基板(不図示)上に積層された少なくとも1つのソース選択トランジスタSST、第1~第nメモリセルMC1~MCn、及び少なくとも1つのドレイン選択トランジスタDSTを含む。
【0074】
各セルストリングのソース選択トランジスタSSTは共通ソース線CSLとメモリセルMC1~MCnとの間に接続される。同じ行に配列されたセルストリングのソース選択トランジスタは同じソース選択線に接続される。第1行に配列されたセルストリングCS11’~CS1m’のソース選択トランジスタは第1ソース選択線SSL1に接続される。第2行に配列されたセルストリングCS21’~CS2m’のソース選択トランジスタは第2ソース選択線SSL2に接続される。他の実施例として、セルストリングCS11’~CS1m’、CS21’~CS2m’のソース選択トランジスタは1つのソース選択線に共通して接続されてもよい。
【0075】
各セルストリングの第1~第nメモリセルMC1~MCnはソース選択トランジスタSSTとドレイン選択トランジスタDSTとの間に直列接続される。第1~第nメモリセルMC1~MCnのゲートはそれぞれ第1~第nワード線WL1~WLnに接続される。
【0076】
各セルストリングのドレイン選択トランジスタDSTは該当ビット線とメモリセルMC1~MCnとの間に接続される。行方向に配列されるセルストリングのドレイン選択トランジスタは行方向に伸びるドレイン選択線に接続される。第1行のセルストリングCS11’~CS1m’のドレイン選択トランジスタは第1ドレイン選択線DSL1に接続される。第2行のセルストリングCS21’~CS2m’のドレイン選択トランジスタは第2ドレイン選択線DSL2に接続される。
【0077】
結果的に、各セルストリングにパイプトランジスタPTが除外されたことを除けば、
図5のメモリブロックBLKbは
図4のメモリブロックBLKaと類似する等価回路を有する。
【0078】
他の実施例として、第1~第mビット線BL1~BLmの代わりにイーブンビット線及びオッドビット線が提供されてもよい。そして、行方向に配列されるセルストリングCS11’~CS1m’またはCS21’~CS2m’のうち偶数番目のセルストリングはイーブンビット線にそれぞれ接続され、行方向に配列されるセルストリングCS11’~CS1m’またはCS21’~CS2m’のうち奇数番目のセルストリングはオッドビット線にそれぞれ接続されてもよい。
【0079】
実施例として、第1~第nメモリセルMC1~MCnのうち少なくとも1つ以上はダミーメモリセルとして利用されてもよい。例えば、少なくとも1つ以上のダミーメモリセルはソース選択トランジスタSSTとメモリセルMC1~MCnとの間の電界を減少させるために提供される。または、少なくとも1つ以上のダミーメモリセルはドレイン選択トランジスタDSTとメモリセルMC1~MCnとの間の電界を減少させるために提供される。より多いダミーメモリセルが提供されるほど、メモリブロックBLKbに対する動作の信頼性は向上するが、メモリブロックBLKbのサイズが増加する。より少ないダミーメモリセルが提供されるほど、メモリブロックBLKbのサイズは減少するが、メモリブロックBLKbに対する動作の信頼性が低下する可能性がある。
【0080】
少なくとも1つ以上のダミーメモリセルを効率的に制御するために、ダミーメモリセルのそれぞれは求められるしきい値電圧を有することができる。メモリブロックBLKbに対する消去動作の前または後に、ダミーメモリセルの全部または一部に対するプログラム動作が行われてもよい。プログラム動作が行われてから消去動作が行われる場合、ダミーメモリセルのしきい値電圧はそれぞれのダミーメモリセルに接続されたダミーワード線に印加される電圧を制御することで、ダミーメモリセルは求められるしきい値電圧を有することができる。
【0081】
図6は
図2のメモリセルアレイ110に含まれた複数のメモリブロックBLK1~BLKzの何れか1つのメモリブロックBLKcの実施例を示す回路図である。
【0082】
図6を参照すると、メモリブロックBLKcは複数のセルストリングCS1~CSmを含む。複数のセルストリングCS1~CSmは複数のビット線BL1~BLmにそれぞれ接続されてもよい。複数のセルストリングCS1~CSmのそれぞれは、少なくとも1つ以上のソース選択トランジスタSSTと、第1~第nメモリセルMC1~MCnと、少なくとも1つ以上のドレイン選択トランジスタDSTと、を含む。
【0083】
選択トランジスタSST、DST及びメモリセルMC1~MCnのそれぞれは類似する構造であってもよい。実施例として、選択トランジスタSST、DST及びメモリセルMC1~MCnのそれぞれはチャネル層、トンネリング絶縁膜、電荷貯蔵膜及びブロッキング絶縁膜を含んでもよい。実施例として、チャネル層を提供するためのピラー(pillar)が各セルストリング(each cell string)に提供されてもよい。実施例として、チャネル層、トンネリング絶縁膜、電荷貯蔵膜及びブロッキング絶縁膜のうち少なくとも1つを提供するためのピラーが各セルストリングに提供されてもよい。
【0084】
各セルストリングのソース選択トランジスタSSTは、共通ソース線CSLとメモリセルMC1~MCnとの間に接続される。
【0085】
各セルストリングの第1~第nメモリセルMC1~MCnは、ソース選択トランジスタSSTとドレイン選択トランジスタDSTとの間に接続される。
【0086】
各セルストリングのドレイン選択トランジスタDSTは、該当ビット線とメモリセルMC1~MCnとの間に接続される。
【0087】
同じワード線に接続されるメモリセルは1つのページを構成する。ドレイン選択線DSLが選択されることにより、セルストリングCS1~CSmが選択される。ワード線WL1~WLnの何れか1つが選択されることにより、選択されたセルストリングのうち1つのページが選択される。
【0088】
他の実施例として、第1~第mビット線BL1~BLmの代わりにイーブンビット線及びオッドビット線が提供されてもよい。セルストリングCS1~CSmのうち偶数番目のセルストリングはイーブンビット線にそれぞれ接続され、奇数番目のセルストリングはオッドビット線にそれぞれ接続されてもよい。
【0089】
図7は、マルチレベルセル(multi-level cell;MLC)のしきい値電圧分布を示すグラフである。本発明は、マルチレベルセルだけでなく、シングルレベルセル(single-level cell;SCL)、トリプルレベルセル(triple-level cell;TLC)、クアッドレベルセル(quad-level cell;QLC)などにも適用できるが、議論の便宜のため、マルチレベルセルを基準に説明する。
図7を参照すると、例示的な論理コードに応じて4つのしきい値電圧の状態がマッピングされる実施例が示されている。
図7の例示によると、LSB(Least Significant Bit)が1、MSB(Most Significant Bit)が1であるメモリセルの場合、消去状態Eを保持する。LSBが1、MSBが0であるメモリセルの場合、第1プログラム状態PV1にプログラムされる。LSBが0、MSBが0であるメモリセルの場合、第2プログラム状態PV2にプログラムされる。LSBが0、MSBが1であるメモリセルの場合、第3プログラム状態PV3にプログラムされる。即ち、
図7に示した論理コードは、LSB-MSB順を基準として「1 1」のデータは消去状態E、「1 0」のデータは第1プログラム状態PV1、「0 0」のデータは第2プログラム状態PV2、「0 1」のデータは第3プログラム状態PV3にマッピングする。但し、これは例示的なものであり、
図7に示したものとは違う様々な論理コードが使用されてもよい。
【0090】
図7の例では、マルチレベルセルに対するリード動作のために第1~第3リード電圧R1
0、R2
0、R3
0が使用されてもよい。即ち、第1リード電圧R1
0より小さいしきい値電圧を有するメモリセルは消去状態Eのメモリセルと判別され、第1リード電圧R1
0より大きくて第2リード電圧R2
0より小さいしきい値電圧を有するメモリセルは第1プログラム状態PV1のメモリセルと判別されることができる。一方、第2リード電圧R2
0より大きくて第3リード電圧R3
0より小さいしきい値電圧を有するメモリセルは第2プログラム状態PV2のメモリセルと判別され、第3リード電圧R3
0より大きいしきい値電圧を有するメモリセルは第3プログラム状態PV3のメモリセルと判別されることができる。
【0091】
本明細書では、1つのページに含まれたメモリセルに保存されたデータをリードするために使用されるリード電圧の集合を「リード電圧セット」と称することができる。例えば、
図7に示すように、マルチレベルセルに保存されたデータをリードするためには、第1~第3リード電圧R1
0、R2
0、R3
0が必要となり得る。即ち、マルチレベルセルに保存されたデータをリードするためのリード電圧セットは第1~第3リード電圧R1
0、R2
0、R3
0を含んでもよい。同様に、トリプルレベルセル(TLC)に保存されたデータをリードするためのリード電圧セットは第1~第7リード電圧を含んでもよく、クアッドレベルセル(QLC)に保存されたデータをリードするためのリード電圧セットは第1~第15リード電圧を含んでもよい。
【0092】
図8は、メモリセルのしきい値電圧分布の変化に応じてリード電圧セットを変更する理由を説明するためのグラフである。
【0093】
図8を参照すると、プログラム動作が完了してから一定時間が経過してメモリセルのしきい値電圧分布が変更された状態が示されている。プログラム動作が完了した直後には、
図7に示すように各々の状態E、PV1、PV2、PV3のしきい値電圧分布が狭く形成されることができる。しかし、
図8に示すように、プログラム動作が完了してから一定時間が経過すると、メモリセルのしきい値電圧分布の状態が変更されることができる。即ち、
図7に示した消去状態E及び第1~第3プログラム状態PV1~PV3のしきい値電圧分布が
図8に示した消去状態E’及び第1~第3プログラム状態PV1’~PV3’のしきい値電圧分布に変更されることができる。
図8の場合、
図7よりしきい値電圧分布が劣化してリード動作にエラーが発生する可能性がある。
図7においてリード動作に使用される第1~第3リード電圧R1
0~R3
0を用いて
図8に示したしきい値電圧分布を有するメモリセルのデータをリードすると、リードされたデータには複数のエラービットが含まれ得る。この場合、リードされたデータに対してエラー訂正動作を行うと、エラー訂正が不可能なケースが発生する。そのため、データをリードするためにリード電圧セットに含まれたリード電圧のうち少なくとも1つのリード電圧が変更される必要がある。
【0094】
メモリセルのしきい値電圧分布の劣化様相はある1つの方式のみで表れるわけではない。即ち、失敗せずにリード動作を行うためにはリード電圧セットに含まれたリード電圧のうち何れのリード電圧は増加し、他の何れのリード電圧は減少する必要があり得る。
【0095】
本発明に係るコントローラ及びその動作方法によると、リードデータに対するエラー訂正に失敗してからリード電圧セットのリード電圧を変更するとき、リードデータに基づいて各リード電圧より低いしきい値電圧を有するメモリセルの数をカウントする。一方、本発明に係るコントローラ及びその動作方法によると、カウントされたメモリセルの数に基づいてリード電圧セットに含まれたリード電圧のうち少なくとも1つのリード電圧を変更する。これにより、速くて効率的にリード電圧を変更することができる。
【0096】
図9は、本発明の一実施例に係るコントローラの動作方法を示すフローチャートである。
【0097】
図9を参照すると、本発明の一実施例に係るコントローラの動作方法は、リード電圧セットを利用してリード動作を行うように半導体メモリ装置を制御する段階S110と、半導体メモリ装置からリードデータを受信する段階S130と、受信したリードデータに対するエラー訂正動作を行う段階S150と、エラー訂正の成功有無を判断する段階S170と、エラー訂正に失敗したとき(S170:いいえ)、リード電圧セットに含まれた少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントして、リード電圧セットに含まれた少なくとも1つのリード電圧を変更する段階S190と、を含む。
【0098】
段階S110において、コントローラ200は、リード対象に選択されたページに対応するアドレス及び上記選択されたページに含まれたメモリセルに保存されたデータをリードするためのリードコマンドを半導体メモリ装置100に伝達することができる。半導体メモリ装置100は受信したリードコマンドに応答して、アドレスに対応するページに含まれたメモリセルに対するリード動作を行うことができる。一方、半導体メモリ装置100は、リード動作により生成されたリードデータをコントローラ200に伝達する。これにより、コントローラ200は半導体メモリ装置100からリードデータを受信するようになるS130。
【0099】
段階S150において、コントローラ200のエラー訂正ブロック230は受信したリードデータに対するエラー訂正動作を行うことができる。エラー訂正動作が成功する場合(S170:はい)、リード動作が終了することができる。
【0100】
一方、エラー訂正動作が失敗する場合(S170:いいえ)、段階S190においてメモリセルカウンタ250はリード電圧セットに含まれた少なくとも1つのリード電圧より小さいしきい値電圧を有するメモリセルの数をカウントし、リード電圧制御部210はカウントの結果に基づいてリード電圧セットに含まれた少なくとも1つのリード電圧を変更することができる。その後、コントローラ200は変更されたリード電圧を含むリード電圧セットを利用してリード動作を行うように半導体メモリ装置100を制御することができるS110。段階S190の具体的な実施例については、
図10及び
図12を参照して後述する。
【0101】
図9を参照すると、段階S110、S130、S150、S170、S190はエラー訂正動作が成功するまで繰り返して行われてもよい。エラー訂正動作が繰り返し失敗する場合、
図9の段階S110、S130、S150、S170、S190が無限に繰り返されることを防ぐために、一定回数分リード電圧が変更されると、即ち、段階S190が一定回数分行われた場合には、段階S170の判断結果、エラー訂正動作が失敗してもリード動作を終了させることができる。
【0102】
図10は、
図9の段階S170の例示的な実施例を示すフローチャートである。
【0103】
図10を参照すると、まず、段階S210でi値を初期化する。i値はリード電圧セットに含まれた複数のリード電圧のうち、変更有無を判断する対象となるリード電圧を指す数字であってもよい。上述したように、マルチレベルセルのリード動作のために第1~第3リード電圧が使用されてもよい。これにより、マルチレベルセルのリード動作の場合、i値は1~3であってもよい。従って、段階S210では、i値を1に初期化することができる。
【0104】
段階S220では、第iリード電圧より小さいしきい値電圧値を有するメモリセルの数(NCi)をカウントする。i値が現在1であるため、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)をカウントする。
【0105】
第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)は、半導体メモリ装置から受信したリードデータにおけるLSBとMSBがそれぞれ「1 1」であるビットペア(Bit-pair)の数をカウントして得ることができる。即ち、リードデータのLSBページデータにおいてビット値が「1」であるカラムと、MSBページデータにおいてビット値が「1」であるカラムとの積集合の要素数をカウントすると、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)を計算することができる。
【0106】
議論の便宜上、リード対象のページに含まれたメモリセルの数が400である場合を想定する。データランダマイジングにより各しきい値電圧状態に含まれるメモリセルの数は互いにほぼ同じである。即ち、消去状態E、第1~第3プログラム状態PV1~PV3のそれぞれに属するメモリセルの数は、理想的には100個である。
【0107】
図7を参照すると、消去状態Eのメモリセルの数が100個で、第1~第3プログラム状態PV1~PV3のそれぞれに属するメモリセルの数がそれぞれ100個である場合、第1リード電圧R1
0より低いしきい値電圧を有するメモリセルは100個となる。
図8に示したように、第1リード電圧R1
0より低いしきい値電圧を有するメモリセルの数が100個より相対的に小さい値である場合、第1リード電圧R1
0を増加させることが後続のリード動作の精度を高めるのに役立つ。逆に、第1リード電圧R1
0より低いしきい値電圧を有するメモリセルの数が100個より相対的に大きい値である場合は、第1リード電圧R1
0を減少させることが後続のリード動作の精度を高めるのに役立つ。
【0108】
しかし、リードの結果、第1リード電圧R10より小さいしきい値電圧を有するメモリセルの数が100個と大して差がない場合であれば、第1リード電圧R10を変更させないことが後続のリード動作の精度を高めるのにさらに役立ち得る。例えば、第1リード電圧R10より低いしきい値電圧を有するメモリセルの数が98個または99個である場合、第1リード電圧R10は実質的に消去状態E’と第1プログラム状態PV1’により形成される谷(valley)近くにあることが分かる。従って、この場合は、第1リード電圧を変更しないことが後続のリード動作の精度を高めるのに役立つ。
【0109】
従って、本発明の実施例に係るコントローラ200及びその動作方法によると、第iリード電圧より小さいしきい値電圧を有するメモリセルの数が下方臨界値NLTHiより小さいかまたは上方臨界値NHTHiより大きい場合に第iリード電圧を変更する。
【0110】
例えば、消去状態Eのメモリセルの数が100個で、第1~第3プログラム状態PV1~PV3のそれぞれに属するメモリセルの数がそれぞれ100個である場合、第1リード電圧に対応する下方臨界値NLTH1は100より10小さい90の値を有し、上方臨界値NHTH1は100より10大きい110の値を有することができる。
【0111】
図10の段階S230において、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1、例えば、90より小さいか否かを判断する。第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さい場合(S230:はい)、第1リード電圧を予め定められた電圧値ΔVだけ増加させるS240。
【0112】
第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さくない場合(S230:いいえ)、段階S250に進み、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1、例えば、110より大きいか否かを判断する。第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1より大きい場合(S250:はい)、第1リード電圧を予め定められた電圧値ΔVだけ減少させるS260。
【0113】
図10の段階S230、S240、S250、S260を参照すると、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さい場合、第1リード電圧を予め定められた電圧値ΔVだけ増加させ、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より大きいかまたは同じで、第1上方臨界値NHTH1より小さいかまたは同じである場合には、第1リード電圧を変更しない。一方、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1より大きい場合、第1リード電圧を予め定められた電圧値ΔVだけ減少させるS260。これにより、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が理想的な値である100個を基準として、10以上の差がある場合に第1リード電圧を変更する。
【0114】
その後、段階S270において、現在のi値がリード電圧セット内のリード電圧の数(NPV)より小さいか否かを判断する。マルチレベルセルの場合、上記NPV値は3である。トリプルレベルセルの場合、NPV値は7である。クアッドレベルセルの場合、NPV値は15である。現在のi値は1であって3より小さいため、段階S280に進んでi値を2に増加させる。それから段階S220に進み、第2リード電圧R20に対して段階S220、S230、S240、S250、S260を行う。即ち、第2リード電圧R20より小さいしきい値電圧値を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より小さい場合、第2リード電圧を予め定められた電圧値ΔVだけ増加させ、第2リード電圧R20より小さいしきい値電圧値を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より大きいかまたは同じで、第2上方臨界値NHTH2より小さいかまたは同じである場合には、第2リード電圧を変更しない。一方、第2リード電圧R20より小さいしきい値電圧値を有するメモリセルの数(NC2)が第2上方臨界値NHTH2より大きい場合、第2リード電圧を予め定められた電圧値ΔVだけ減少させるS260。これにより、第2リード電圧R20より小さいしきい値電圧値を有するメモリセルの数(NC2)が理想的な値である200個を基準として、10以上の差がある場合に第1リード電圧を変更する。
【0115】
それから、第3リード電圧に対しても同様の動作が行われてもよい。消去状態Eのメモリセルの数が100個で、第1~第3プログラム状態PV1~PV3のそれぞれに属するメモリセルの数がそれぞれ100個である例示において、第1下方及び上方臨界値NLTH1、NHTH1、第2下方及び上方臨界値NLTH2、NHTH2、及び第3下方及び上方臨界値NLTH3、NHTH3の一例は、以下の表1の通りである。
【0116】
【0117】
図10に示したフローチャートに応じて段階S190が行われてもよい。本発明の実施例に係るコントローラ及びその動作方法によると、その後変更されたリード電圧セットを利用してリード動作を行うように半導体メモリ装置100を制御することができるS110。エラー訂正動作が再び失敗した場合(S170:いいえ)、段階S190が再び行われてもよい。
【0118】
【0119】
図11aを参照すると、第1リード電圧R1
0より小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さく、第2リード電圧R2
0より小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より小さく、第3リード電圧R3
0より小さいしきい値電圧を有するメモリセルの数(NC3)が第3上方臨界値NHTH3より大きい。これにより、第1リード電圧R1
0及び第2リード電圧R2
0は予め定められた電圧値ΔVだけ増加し、第3リード電圧R3
0は予め定められた電圧値ΔVだけ減少する。
【0120】
図11bを参照すると、変更された第1~第3リード電圧R1
1、R2
1、R3
1が示されている。第1~第3リード電圧R1
1、R2
1、R3
1を利用してリード動作を再び行った結果、エラー訂正動作に失敗した場合(S170:いいえ)、
図10に示した段階が再び行われてもよい。
図11bを参照すると、変更された第1リード電圧R1
1より小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より大きいかまたは同じで、第1上方臨界値NHTH1より小さいかまたは同じである。これにより、第1リード電圧R1
1は再び変更されない。一方、
図11bを参照すると、第2リード電圧R2
1より小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より小さく、第3リード電圧R3
1より小さいしきい値電圧を有するメモリセルの数(NC3)が第3上方臨界値NHTH3より大きい。これにより、第2リード電圧R2
1は予め定められた電圧値ΔVだけ増加し、第3リード電圧R3
1は予め定められた電圧値ΔVだけ減少する。
【0121】
図11cを参照すると、第1リード電圧R1
1及び変更された第2~第3リード電圧R2
2、R3
2が示されている。第1~第3リード電圧R1
1、R2
2、R3
2を利用してリード動作を再び行った結果、エラー訂正動作に失敗した場合(S170:いいえ)、
図10に示した段階が再び行われてもよい。
図11cを参照すると、第1リード電圧R1
1より小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より大きいかまたは同じで、第1上方臨界値NHTH1より小さいかまたは同じである。これにより、第1リード電圧R1
1は再び変更されない。また、変更された第2リード電圧R2
2より小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より大きいかまたは同じで、第2上方臨界値NHTH2より小さいかまたは同じである。これにより、第2リード電圧R2
2は再び変更されない。一方、
図11cを参照すると、変更された第3リード電圧R3
2より小さいしきい値電圧を有するメモリセルの数(NC3)が第3上方臨界値NHTH3より大きい。これにより、第3リード電圧R3
2は予め定められた電圧値ΔVだけ減少する。
【0122】
図11dを参照すると、第1リード電圧R1
1、第2リード電圧R2
2及び変更された第3リード電圧R3
3が示されている。第1~第3リード電圧R1
1、R2
2、R3
3を利用してリード動作を再び行った結果、エラー訂正動作に失敗した場合(S170:いいえ)、
図10に示した段階が再び行われてもよい。
図11dを参照すると、第1リード電圧R1
1より小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より大きいかまたは同じで、第1上方臨界値NHTH1より小さいかまたは同じである。これにより、第1リード電圧R1
1は再び変更されない。また、第2リード電圧R2
2より小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より大きいかまたは同じで、第2上方臨界値NHTH2より小さいかまたは同じである。これにより、第2リード電圧R2
2は再び変更されない。一方、変更された第3リード電圧R3
3より小さいしきい値電圧を有するメモリセルの数(NC3)が第3下方臨界値NLTH3より大きいかまたは同じで、第3上方臨界値NHTH3より小さいかまたは同じである。これにより、第3リード電圧R3
3は再び変更されない。従って、リード電圧セットは変更されないため、全体のリード動作が終了することができる。
【0123】
図10及び
図11a~
図11dを参照すると、第iリード電圧より小さいしきい値を有するメモリセルの数(NCi)が一定範囲の外、即ち、第i下方臨界値NLTHiと第i上方臨界値NHTHiで定義される範囲外に存在する場合、第iリード電圧が変更される。このとき、
図10及び
図11a~
図11dに示した実施例によると、NCiが範囲(NLTHi~NHTHi)外に外れる程度に関わらず、第iリード電圧は予め定められた電圧値ΔVだけ変更される。他の実施例では、より正確なリード電圧の変更のために、NCiが範囲(NLTHi~NHTHi)外に外れる程度に応じて第iリード電圧の変更程度を決めてもよい。上記実施例については
図12、
図13a及び
図13bを参照して説明する。
【0124】
図12は、
図9の段階S170の他の例示的な実施例を示すフローチャートである。
図10の段階S240、S260が
図12では段階S245、S265にそれぞれ置き換えられたことを除けば、
図12の他の段階S210、S220、S230、S250、S270、S280は
図10における説明と同じであってもよい。従って、重複する説明は省略する。
【0125】
図12を参照すると、まず、段階S210でi値を初期化する。段階S220では、第iリード電圧より小さいしきい値電圧値を有するメモリセルの数(NCi)をカウントする。i値が現在1であるため、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)をカウントする。
【0126】
図10の段階S230において、第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1、例えば、90より小さいか否かを判断する。第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さい場合(S230:はい)、第1下方臨界値NLTH1と第1リード電圧R1
0より小さいしきい値電圧値を有するメモリセルの数(NC1)との差、即ち「NLTH1-NC1」値に基づいて第1リード電圧を増加させるS245。
【0127】
「NLTH1-NC1」値が相対的に大きい場合、これは、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1から外れた程度が相対的に大きいことを意味する。従って、この場合、第1リード電圧R10の増加幅を相対的に大きく適用することができる。
【0128】
「NLTH1-NC1」値が相対的に小さい場合、これは、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1から外れた程度が相対的に小さいことを意味する。従って、この場合、第1リード電圧R10の増加幅を相対的に小さく適用することができる。
【0129】
即ち、段階S245では、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1から外れた程度に対応する値だけ第1リード電圧を増加させることができる。
【0130】
第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さくない場合(S230:いいえ)、段階S250に進み、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1、例えば、110より大きいか否かを判断する。第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1より大きい場合(S250:はい)、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)と第1上方臨界値NHTH1との差、即ち、「NC1-NHTH1」値に基づいて第1リード電圧を減少させるS265。
【0131】
「NC1-NHTH1」値が相対的に大きい場合、これは、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1から外れた程度が相対的に大きいことを意味する。従って、この場合は、第1リード電圧R10の減少幅を相対的に大きく適用することができる。
【0132】
「NC1-NHTH1」値が相対的に小さい場合、これは、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1から外れた程度が相対的に小さいことを意味する。従って、この場合は、第1リード電圧R10の減少幅を相対的に小さく適用することができる。
【0133】
即ち、段階S265では、第1リード電圧R10より小さいしきい値電圧値を有するメモリセルの数(NC1)が第1上方臨界値NHTH1から外れた程度に対応する値だけ第1リード電圧を減少させることができる。
【0134】
図13a及び
図13bは、
図12の実施例に応じてリード電圧を変更する方法を説明するためのグラフである。
【0135】
図13aを参照すると、第1リード電圧R1
0より小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より小さく、第2リード電圧R2
0より小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より小さく、第3リード電圧R3
0より小さいしきい値電圧を有するメモリセルの数(NC3)が第3上方臨界値NHTH3より大きい。これにより、第1リード電圧R1
0及び第2リード電圧R2
0は増加し、第3リード電圧R3
0は減少する。
【0136】
図13aから、第1リード電圧R1
0、第2リード電圧R2
0及び第3リード電圧R3
0の変動幅が互いに異なることが分かる。即ち、第1リード電圧R1
0は第1電圧ΔV1だけ増加し、第2リード電圧R2
0は第2電圧ΔV2だけ増加し、第3リード電圧R3
0は第3電圧ΔV3だけ減少する。第1電圧ΔV1より第2電圧ΔV2が大きく、第2電圧ΔV2より第3電圧ΔV3が大きい。
【0137】
図13bを参照すると、変更された第1~第3リード電圧R1
a、R2
a、R3
aが示されている。第1~第3リード電圧R1
a、R2
a、R3
aを利用してリード動作を再び行った結果、エラー訂正動作に失敗した場合(S170:いいえ)、
図10に示した段階が再び行われてもよい。
図13bを参照すると、第1リード電圧R1
aより小さいしきい値電圧を有するメモリセルの数(NC1)が第1下方臨界値NLTH1より大きいかまたは同じで、第1上方臨界値NHTH1より小さいかまたは同じである。これにより、第1リード電圧R1
aは再び変更されない。また、第2リード電圧R2
aより小さいしきい値電圧を有するメモリセルの数(NC2)が第2下方臨界値NLTH2より大きいかまたは同じで、第2上方臨界値NHTH2より小さいかまたは同じである。これにより、第2リード電圧R2
aは再び変更されない。一方、第3リード電圧R3
aより小さいしきい値電圧を有するメモリセルの数(NC3)が第3下方臨界値NLTH3より大きいかまたは同じで、第3上方臨界値NHTH3より小さいかまたは同じである。これにより、第3リード電圧R3
aは再び変更されない。従って、リード電圧セットは変更されないため、全体のリード動作が終了することができる。
【0138】
図13a及び
図13bを
図11a~
図11dと比較すると、リード電圧より小さいしきい値電圧を有するメモリセルの数が下方臨界値または上方臨界値から外れた程度に応じてリード電圧の変更幅を異ならせる場合、より効率的にリード動作を行うことができることが分かる。即ち、
図12、
図13a及び
図13bに示した実施例によると、
図10及び
図11a~
図11dに示した実施例よりさらに速くリード電圧セット内の最適のリード電圧が設定され得る。これにより、半導体メモリ装置100及びコントローラ200によるリード速度が向上することができる。
【0139】
図14は
図1のコントローラを含むメモリシステムを示すブロック図である。
【0140】
図14を参照すると、メモリシステム1000は半導体メモリ装置1100及びコントローラ1200を含む。半導体メモリ装置1100は
図2を参照して説明した半導体メモリ装置であってもよい。以下では、重複する説明は省略する。
【0141】
コントローラ1200はホストHost及び半導体メモリ装置1100に連結される。ホストHostからの要求に応答して、コントローラ1200は半導体メモリ装置1100をアクセスするように構成される。例えば、コントローラ1200は、半導体メモリ装置1100の読み出し、書き込み、消去、及びバックグラウンド(background)動作を制御するように構成される。コントローラ1200は半導体メモリ装置1100とホストHOSTとの間にインタフェースを提供するように構成される。コントローラ1200は半導体メモリ装置1100を制御するためのファームウェア(firmware)を駆動するように構成される。コントローラ1200は
図1を参照して説明したコントローラ200であってもよい。
【0142】
コントローラ1200は、ラム(Random Access Memory)1210、プロセッサ(processor)1220、ホストインタフェース(host interface)1230、メモリインタフェース(memory interface)1240、及びエラー訂正ブロック1250を含む。ラム1210は、プロセッサ1220の動作メモリ、半導体メモリ装置1100とホストHostとの間のキャッシュメモリ、及び半導体メモリ装置1100とホストHostとの間のバッファメモリのうち少なくとも1つとして利用される。また、コントローラ1200は、書き込み動作時、ホストHostから提供されるプログラムデータを一時的に保存することができる。
【0143】
プロセッサ1220はコントローラ1200の諸動作を制御する。プロセッサ1220はラム1210によりロードされるファームウェアを実行することができる。
図1に示したリード電圧制御部210及びメモリセルカウンタ250はプロセッサ1220により実行されるファームウェアとして具現されてもよい。
【0144】
ホストインタフェース1230は、ホストHOSTとコントローラ1200との間のデータ交換を行うためのプロトコルを含む。例示的な実施例として、コントローラ1200は、USB(Universal Serial Bus)プロトコル、MMC(multimedia card)プロトコル、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)プロトコル、プライベート(private)プロトコルなどの様々なインタフェースプロトコルのうち少なくとも1つを介してホストHOSTと通信するように構成される。
【0145】
メモリインタフェース1240は半導体メモリ装置1100とインタフェースする。例えば、メモリインタフェースはNAND型インタフェースまたはNOR型インタフェースを含む。
【0146】
エラー訂正ブロック1250は、エラー訂正コード(ECC、Error Correcting Code)を利用して半導体メモリ装置1100から受信したデータのエラーを検出し、訂正するように構成される。プロセッサ1220は、エラー訂正ブロック1250のエラー検出結果に応じて読み出し電圧を調節し、再読み出しを行うように半導体メモリ装置1100を制御する。例示的な実施例として、エラー訂正ブロックはコントローラ1200の構成要素として提供されてもよい。
図1のエラー訂正ブロック230は、
図14のエラー訂正ブロック1250と実質的に同じ構成要素であってもよい。
【0147】
コントローラ1200及び半導体メモリ装置1100は1つの半導体装置に集積されてもよい。例示的な実施例として、コントローラ1200及び半導体メモリ装置1100は、1つの半導体装置に集積されてメモリカードを構成してもよい。例えば、コントローラ1200及び半導体メモリ装置1100は、1つの半導体装置に集積されてPCカード(PCMCIA、personal computer memory card international association)、コンパクトフラッシュ(登録商標)カード(CF)、スマートメディアカード(SM、SMC)、メモリスティック、マルチメディアカード(MMC、RS-MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、ユニバーサルフラッシュ記憶装置(UFS)などのメモリカードを構成する。
【0148】
コントローラ1200及び半導体メモリ装置1100は1つの半導体装置に集積されて半導体ドライブ(SSD、Solid State Drive)を構成してもよい。半導体ドライブSSDは半導体メモリにデータを保存するように構成される記憶装置を含む。メモリシステム1000が半導体ドライブSSDとして用いられる場合、メモリシステム1000に接続されたホストHOSTの動作速度は画期的に改善される。
【0149】
他の例として、メモリシステム1000は、コンピュータ、UMPC(Ultra Mobile PC)、ワークステーション、ネットブック(net-book)、PDA(Personal Digital Assistants)、ポータブル(portable)コンピュータ、ウェブタブレット(web tablet)、無線電話機(wireless phone)、モバイルフォン(mobile phone)、スマートフォン(smart phone)、e-ブック(e-book)、PMP(portable multimedia player)、携帯用ゲーム機、ナビゲーション(navigation)装置、ブラックボックス(black box)、デジタルカメラ(digital camera)、3次元受像機(3-dimensional television)、デジタルボイスレコーダー(digital audio recorder)、デジタルボイスプレーヤー(digital audio player)、デジタル映像レコーダー(digital picture recorder)、デジタル映像プレーヤー(digital picture player)、デジタルビデオレコーダー(digital video recorder)、デジタルビデオプレーヤー(digital video player)、情報を無線環境で送受信できる装置、ホームネットワークを構成する様々な電子装置のうち1つ、コンピュータネットワークを構成する様々な電子装置のうち1つ、テレマティクスネットワークを構成する様々な電子装置のうち1つ、RFID装置、またはコンピューティングシステムを構成する様々な構成要素のうち1つなどの電子装置の様々な構成要素のうち1つとして提供される。
【0150】
例示的な実施例として、半導体メモリ装置1100またはメモリシステム1000は様々な形態のパッケージで実装されてもよい。例えば、半導体メモリ装置1100またはメモリシステム1000は、PoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline Integrated Circuit(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline Package(TSOP)、Thin Quad Flat pack(TQFP)、System In Package(SIP)、Multi-Chip Package(MCP)、Wafer-level Fabricated Package(WFP)、Wafer-Level Processed Stack Package(WSP)などの方法でパッケージ化されて実装されてもよい。
【0151】
図15は
図14のメモリシステムの応用例を示すブロック図である。
【0152】
図15を参照すると、メモリシステム2000は半導体メモリ装置2100及びコントローラ2200を含む。半導体メモリ装置2100は複数の半導体メモリチップを含む。複数の半導体メモリチップは複数のグループに分割される。
【0153】
図15において、複数のグループはそれぞれ第1~第kチャネルCH1~CHkを介してコントローラ2200と通信することが示されている。各半導体メモリチップは、
図2を参照して説明した半導体メモリ装置1100のうち1つと同様に構成され、動作する。
【0154】
各グループは1つの共通チャネルを介してコントローラ2200と通信するように構成される。コントローラ2200は、
図14を参照して説明したコントローラ1200と同様に構成され、複数のチャネルCH1~CHkを介して半導体メモリ装置2100の複数のメモリチップを制御するように構成される。
【0155】
図16は、
図15を参照して説明したメモリシステムを含むコンピューティングシステムを示すブロック図である。
【0156】
コンピューティングシステム3000は、中央処理装置3100、ラム(RAM、Random Access Memory)3200、使用者インタフェース3300、電源3400、システムバス3500、及びメモリシステム2000を含む。
【0157】
メモリシステム2000は、システムバス3500を介して中央処理装置3100、ラム3200、使用者インタフェース3300、及び電源3400に電気的に接続される。使用者インタフェース3300を介して提供されるか、または中央処理装置3100によって処理されたデータはメモリシステム2000に保存される。
【0158】
図16において、半導体メモリ装置2100はコントローラ2200を介してシステムバス3500に接続されることが示されている。しかし、半導体メモリ装置2100はシステムバス3500に直接接続されるように構成されてもよい。このとき、コントローラ2200の機能は中央処理装置3100及びラム3200によって行われる。
【0159】
図16には、
図15を参照して説明したメモリシステム2000が提供されると示されている。しかし、メモリシステム2000は、
図14を参照して説明したメモリシステム1000に置き換えられてもよい。例示的な実施例として、コンピューティングシステム3000は、
図14及び
図15を参照して説明したメモリシステム1000、2000を全て含むように構成されてもよい。
【0160】
本明細書と図面に開示された本発明の実施例は、本発明の技術内容を容易に説明し、本発明の理解を助けるために特定の例を提示したに過ぎず、本発明の範囲を限定するものではない。ここに開示する実施例の他にも本発明の技術的思想に基づく他の変形例が実施できることは本発明が属する技術分野で通常の知識を有する者には明かである。
【符号の説明】
【0161】
100 半導体メモリ装置
110 メモリセルアレイ
120 アドレスデコーダ
130 読み出し及び書き込み回路
140 制御ロジック
150 電圧生成部
200 コントローラ
210 リード電圧制御部
230 エラー訂正ブロック
250 メモリセルカウンタ