(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-21
(45)【発行日】2022-01-17
(54)【発明の名称】半導体記憶装置、及び半導体記憶装置の制御方法
(51)【国際特許分類】
G11C 11/56 20060101AFI20220107BHJP
【FI】
G11C11/56 220
G11C11/56 210
(21)【出願番号】P 2017216152
(22)【出願日】2017-11-09
【審査請求日】2020-02-17
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】長瀬 寛和
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2006-260711(JP,A)
【文献】米国特許出願公開第2006/0209593(US,A1)
【文献】米国特許出願公開第2002/0118573(US,A1)
【文献】国際公開第2002/067267(WO,A1)
【文献】特開2004-319007(JP,A)
【文献】米国特許出願公開第2004/0080979(US,A1)
【文献】特開2006-127762(JP,A)
【文献】特表2010-503944(JP,A)
【文献】特開2004-355726(JP,A)
【文献】特開2012-203957(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 11/56
(57)【特許請求の範囲】
【請求項1】
複数のメモリセル
と、
前記複数のメモリセルを制御するメモリコントローラと、を備え、
前記複数のメモリセルは第1のメモリセルと第2のメモリセルとを備えるメモリセル対を複数有し、
前記第1及び第2のメモリセルは各々、複数の閾値電圧を設定可能に構成されており、
前記メモリコントローラには、前記第1のメモリセルの前記複数の閾値電圧と前記第2のメモリセルの前記複数の閾値電圧とを用いて算出される各々の閾値電圧の差、及び前記第1のメモリセルの前記複数の閾値電圧と前記第2のメモリセルの前記複数の閾値電圧とを用いて算出される各々の閾値電圧の和
と、前記メモリセル対に格納される各々のデータと、を対応付け、かつ前記メモリセル対に格納される各々のデータと、データの書き込み時に設定する前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧と、を対応付けたテーブルが格納されており、
前記メモリコントローラは、書き込み対象の前記メモリセル対にデータを書き込む際、前記テーブルに基づいて書き込みデータに対応する前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧を決定し、当該決定された前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧を書き込み対象の前記メモリセル対の前記第1のメモリセルおよび前記第2のメモリセルの各々に設定し、
前記メモリコントローラは、読み出し対象の前記メモリセル対からデータを読み出す際、前記テーブルに基づいて読み出し対象の前記メモリセル対の前記第1のメモリセルおよび前記第2のメモリセルの各々の検出された閾値電圧の差および和に対応するデータを決定し、当該決定されたデータを読み出しデータとする、
半導体記憶装置。
【請求項2】
複数のメモリセル
と、前記複数のメモリセルを制御するメモリコントローラと、を備える半導体記憶装置
においてデータの書き込みおよびデータの読み出しを制御する、半導体記憶装置の制御方法であって、
前記複数のメモリセルは第1のメモリセルと第2のメモリセルとを備えるメモリセル対を複数有し、
前記第1及び第2のメモリセルは各々、複数の閾値電圧を設定可能に構成されており、
前記メモリコントローラには、前記第1のメモリセルの前記複数の閾値電圧と前記第2のメモリセルの前記複数の閾値電圧とを用いて算出される各々の閾値電圧の差、及び前記第1のメモリセルの前記複数の閾値電圧と前記第2のメモリセルの前記複数の閾値電圧とを用いて算出される各々の閾値電圧の和
と、前記メモリセル対に格納される各々のデータと、を対応付け、かつ前記メモリセル対に格納される各々のデータと、データの書き込み時に設定する前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧と、を対応付けたテーブルが格納されており、
前記メモリコントローラは、書き込み対象の前記メモリセル対にデータを書き込む際、前記テーブルに基づいて書き込みデータに対応する前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧を決定し、当該決定された前記第1のメモリセルの閾値電圧および前記第2のメモリセルの閾値電圧を書き込み対象の前記メモリセル対の前記第1のメモリセルおよび前記第2のメモリセルの各々に設定し、
前記メモリコントローラは、読み出し対象の前記メモリセル対からデータを読み出す際、前記テーブルに基づいて読み出し対象の前記メモリセル対の前記第1のメモリセルおよび前記第2のメモリセルの各々の検出された閾値電圧の差および和に対応するデータを決定し、当該決定されたデータを読み出しデータとする、
半導体記憶装置
の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体記憶装置、及び半導体記憶装置におけるデータの定義方法に関し、例えば多値データを記憶可能な半導体記憶装置、及び半導体記憶装置におけるデータの定義方法に関する。
【背景技術】
【0002】
近年、不揮発性の半導体記憶装置としてフラッシュメモリが多く用いられている。また、フラッシュメモリの大容量化を実現するための技術として、多値化技術が用いられている。特許文献1には、1つのメモリセルに複数の閾値電圧を設定することで、1つのメモリセルに多値のデータを格納する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている技術では、1つのメモリセルが取り得る閾値電圧の範囲を複数の領域に分割し、各々の領域に異なるデータを割り当てることで、1つのメモリセルに多値データを格納している。
【0005】
ここで、メモリセルの閾値電圧は電荷の経時的な放電などが原因で初期値から変動する。このため、データの一意性を保証するためには、各々のデータが割り当てられる各々の閾値電圧の範囲を広くして、各々の閾値電圧が他のデータの領域に入らないようにする必要がある。
【0006】
しかしながら、各々のデータが割り当てられる各々の閾値電圧の範囲を広くすると、メモリセルに設定する閾値電圧の値が高くなるという問題がある。
【0007】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
一実施の形態にかかる半導体記憶装置は、第1のメモリセルと第2のメモリセルとを備えるメモリセル対を複数有する。第1のメモリセルは少なくとも1つの閾値電圧を設定可能に構成されており、第2のメモリセルは複数の閾値電圧を設定可能に構成されている。メモリセル対に格納される各々のデータは、第2のメモリセルの各々の閾値電圧と第1のメモリセルの閾値電圧との各々の差を用いて定義される。
【発明の効果】
【0009】
前記一実施の形態によれば、メモリセルに設定する閾値電圧が高くなることを抑制しつつ多値データを格納可能な半導体記憶装置、及び半導体記憶装置におけるデータの定義方法を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】関連技術にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図2】関連技術にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図3】関連技術にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図4】実施の形態1にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図5】実施の形態1にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図6】実施の形態1にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図7】メモリセルに定義するデータ数と必要電圧幅との関係を示すシミュレーション結果である。
【
図8】実施の形態1にかかる半導体記憶装置の構成例を示すブロック図である。
【
図9】実施の形態1にかかる半導体記憶装置が備えるメモリコントローラの構成例を示すブロック図である。
【
図10】実施の形態1にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図11】実施の形態1にかかる半導体記憶装置におけるデータ書き込みシーケンスを示すフローチャートである。
【
図12】実施の形態1にかかる半導体記憶装置におけるデータ読み出しシーケンスを示すフローチャートである。
【
図13】実施の形態2にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図14】実施の形態3にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図15】実施の形態3にかかる半導体記憶装置におけるデータ定義例を示す表である。
【
図16】実施の形態3にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図17】実施の形態3にかかる半導体記憶装置におけるリフレッシュ動作を説明するための図である。
【
図18】実施の形態4にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図19】実施の形態4にかかる半導体記憶装置におけるデータ定義例を示す図である。
【
図20】実施の形態5にかかる半導体記憶装置が備えるメモリコントローラの構成例を示すブロック図である。
【
図21】実施の形態5にかかる半導体記憶装置におけるデータ定義例を示す図である。
【発明を実施するための形態】
【0011】
<関連技術の説明>
まず、関連技術にかかる半導体記憶装置について説明する。
関連技術にかかる半導体記憶装置は、例えばフラッシュメモリである。フラッシュメモリは、各々のメモリセルが備えるフローティングゲートに注入する電荷の量に応じて閾値電圧が変化する。具体的には、フローティングゲートに注入する電荷の量が多いほど閾値電圧が高くなる。関連技術にかかる半導体記憶装置では、フローティングゲートに注入する電荷の量を調整し、1つのメモリセルに複数の閾値電圧を設定することで、1つのメモリセルに多値のデータを格納している。
【0012】
図1は、関連技術にかかる半導体記憶装置におけるデータ定義例を示す図である。
図1に示すように、関連技術では1つのメモリセルが取り得る閾値電圧の範囲を複数の領域111~113に分割し、各々の領域111~113に異なるデータ0~データ2を割り当てることで、1つのメモリセルに多値データを格納している。
図1では、閾値電圧Vth1に対応する領域111にデータ0を割り当て、閾値電圧Vth2に対応する領域112にデータ1を割り当て、閾値電圧Vth3に対応する領域113にデータ2を割り当てている。
【0013】
ここで、メモリセルの閾値電圧は電荷の経時的な放電などが原因で初期値から変動する。つまり、
図1に示すように、各々の閾値電圧Vth1~Vth3は、メモリセルへの書き込み直後から時間の経過と共に徐々に低下していく。このため、データの一意性を保証するためには、各々のデータ0~2が割り当てられる各々の閾値電圧Vth1~Vth3の範囲を広くして(データ領域111~113を参照)、各々の閾値電圧Vth1~Vth3が他のデータの領域に入らないようにする必要がある。つまり、各々の閾値電圧Vth1~Vth3の低下量を考慮し、各々の閾値電圧Vth1~Vth3が、製品寿命までの間に他のデータ領域と重複しないように、各々のデータ0~2に対応するデータ領域111~113を割り当てている。
【0014】
図2は、関連技術にかかる半導体記憶装置におけるデータ定義例を示す図である。
図1では便宜上、各々の閾値電圧の低下量を同一としたが、実際には、
図2に示すように、各々の閾値電圧の低下量は、閾値電圧が高いほど急になる。つまり、閾値電圧が高い場合はフローティングゲートへの電荷注入量が多いため、時間の経過とともにフローティングゲートから抜けていく電荷の量も多くなる。よって、閾値電圧が高いほど、その後の放電量も多くなり、閾値電圧の低下量も多くなる。
【0015】
図2に示すデータ定義例では、各々の閾値電圧Vth(本明細書では、閾値電圧Vth1、Vth2、・・・を総称して記載する場合、「閾値電圧Vth」と記載する)の範囲上限値および範囲下限値を定義している。ここで、範囲上限値はメモリセルへの書き込み直後(時間=0)における各々の閾値電圧の値であり、範囲下限値はメモリセルの製品寿命時における各々の閾値電圧の値である。
【0016】
具体的には、
図2に示すデータ定義例では、各々の閾値電圧Vthの範囲上限値および範囲下限値を、閾値電圧Vth1の初期(書き込み直後)の電圧値V
0、閾値電圧Vth1の書き込み直後から製品寿命までの変動幅(リテンション変動幅)d
1、分解能r、及び差分縮小率Aを用いて定義している。ここで、分解能rは、閾値電圧Vth_N(Nは自然数)の範囲上限値と閾値電圧Vth_N+1の範囲下限値との差に対応している。なお、分解能rはNの値にかかわらず一定と定義している。
【0017】
差分縮小率Aは、隣接する2つの閾値電圧の範囲下限値の差分に対する、隣接する2つの閾値電圧の範囲上限値の差分の割合である。具体的には、閾値電圧Vth_N(Nは自然数)の範囲上限値と閾値電圧Vth_N+1の範囲上限値との差分をaとし、閾値電圧Vth_N(Nは自然数)の範囲下限値と閾値電圧Vth_N+1の範囲下限値との差分をbとすると、差分縮小率A=a/bと定義することができる。なお、差分縮小率Aは、Nの値にかかわらず一定と定義している。
【0018】
上述の定義を用いると、
図2、
図3に示すように、閾値電圧Vth1の範囲下限値は「V
0-d
1」、範囲上限値は「V
0」、この範囲におけるデータは「0」と定義することができる。また、閾値電圧Vth2の範囲下限値は「V
0+r」、範囲上限値は「V
0+A*(d
1+r)」、この範囲におけるデータは「1」と定義することができる。また、閾値電圧Vth3の範囲下限値は「V
0+A*(d
1+r)+r」、範囲上限値は「V
0+A*(d
1+r)+A
2*(d
1+r)」、この範囲におけるデータは「2」と定義することができる。
【0019】
図3では、データ数が3値の場合の定義例について示しており、この場合に必要となる1メモリセル当たりの電圧幅は、閾値電圧Vth3の範囲上限値に対応するので「V
0+A*(d
1+r)+A
2*(d
1+r)」となる。
【0020】
この定義を一般化すると、N値のデータを定義するのに必要な1メモリセル当たりの電圧幅Vaは、次の式(1)で表すことができる。
【0021】
【0022】
式(1)では、N値のデータを定義するのに必要な1メモリセル当たりの電圧幅Vaは、閾値電圧Vth1の変動幅d1(つまり、リテンション変動幅)に比例している。このため、N値のデータを定義するのに必要な1メモリセル当たりの電圧幅Vaが高くなる傾向にある。
【0023】
また、関連技術にかかる半導体記憶装置では、メモリセルの閾値電圧の経時的な変動の影響を抑制するために、各々のデータが割り当てられる各々の閾値電圧の範囲(データ領域111~113参照)を広くして、各々の閾値電圧が他のデータの領域に入らないようにしている。このように、各々のデータが割り当てられる各々の閾値電圧の範囲を広くすると、メモリセルに設定する閾値電圧の値が高くなるという問題がある。
【0024】
以下で説明する実施の形態にかかる半導体記憶装置では、関連技術におけるこのような課題を解決するために、次のようにしてデータを定義している。すなわち、実施の形態にかかる半導体記憶装置は、第1のメモリセルと第2のメモリセルとを備えるメモリセル対を備えており、第1のメモリセルは少なくとも1つの閾値電圧を設定可能に構成されており、第2のメモリセルは複数の閾値電圧を設定可能に構成されている。そして、メモリセル対に格納される各々のデータは、第2のメモリセルの各々の閾値電圧と第1のメモリセルの閾値電圧との各々の差を用いて定義される。
【0025】
以下、実施の形態にかかる半導体記憶装置、及び半導体記憶装置におけるデータの定義方法について詳細に説明する。
【0026】
<実施の形態1>
図4は、実施の形態1にかかる半導体記憶装置におけるデータ定義例を示す図である。本実施の形態にかかる半導体記憶装置は、メモリセルAとメモリセルBとを備えるメモリセル対を1つのメモリユニットとし、この1つのメモリユニット(メモリセル対)に多値のデータを格納している。具体的には、一方のメモリセルAに基準閾値電圧Vth1を設定し、他方のメモリセルBに複数の閾値電圧Vth2~Vth4を設定している。各々のデータは、メモリセルBの各々の閾値電圧Vth2~Vth4とメモリセルAの閾値電圧Vth1との各々の差ΔVth1~ΔVth3を用いて定義される。
【0027】
図4に示すように、各々の閾値電圧Vth1~Vth4は、閾値電圧Vth1、閾値電圧Vth2、閾値電圧Vth3、閾値電圧Vth4の順に高くなるように設定されている。各々の閾値電圧Vth1~Vth4は正の値である。また、閾値電圧差ΔVth1、閾値電圧差ΔVth2、閾値電圧差ΔVth3の順に電圧差が大きくなるように設定されている。
【0028】
図4の右図に示すように、本実施の形態にかかる半導体記憶装置では、各々の閾値電圧差ΔVth1~ΔVth3で定義されるデータ領域51~53が、製品寿命までの間に他のデータ領域と重複しないように、各々のデータ0~2を割り当てている。このとき、本実施の形態にかかる半導体記憶装置では、2つのメモリセルの閾値電圧の差分を用いてデータを定義しているので、メモリセルの閾値電圧の変動幅(リテンション変動幅)の影響を小さくすることができる。つまり、2つのメモリセルによる閾値電圧差ΔVth1~ΔVth3の変動幅は、メモリセルのリテンション変動幅よりも小さいので、データ領域51~53の幅を狭くすることができる。
【0029】
換言すると、本実施の形態にかかる半導体記憶装置では、各々の閾値電圧差ΔVth1~ΔVth3を用いてデータを定義しているので、メモリセルBに設定する複数の閾値電圧Vth2~Vth4が、製品寿命までの間に他の閾値電圧の範囲(つまり、各々の閾値電圧の書き込み時から製品寿命時までの値)と重複しても問題ない(
図4の左図参照)。このため、メモリセルBに設定する複数の閾値電圧Vth2~Vth4の間隔を狭くすることができるので、メモリセルに設定する閾値電圧が高くなることを抑制することができる。
【0030】
また、本実施の形態にかかる半導体記憶装置では、メモリセルBに設定する複数の閾値電圧Vth2~Vth4の間隔を狭くすることができるので、メモリセル対に定義するデータ数を増やすことができる。
【0031】
図5は、本実施の形態にかかる半導体記憶装置におけるデータ定義例を示す図である。また、
図6は、本実施の形態にかかる半導体記憶装置におけるデータ定義例を示す表であり、各々の閾値電圧差ΔVth1~ΔVth3の範囲上限値および範囲下限値を定義している。ここで、範囲上限値はメモリセルへの書き込み直後における各々の閾値電圧差ΔVth1~ΔVth3の値であり、範囲下限値は、メモリセルの製品寿命時における各々の閾値電圧差ΔVth1~ΔVth3の値である。
【0032】
図5、
図6に示すデータ定義例では、各々の閾値電圧差ΔVth1~ΔVth3の範囲上限値および範囲下限値を、分解能r、及び差分縮小率Aを用いて定義している。ここで、分解能rは、閾値電圧差ΔVth_N(Nは自然数)の範囲上限値と閾値電圧差ΔVth_N+1の範囲下限値との差に対応している(
図4の右図参照)。なお、分解能rはNの値にかかわらず一定と定義している。
【0033】
差分縮小率Aは、隣接する2つの閾値電圧の範囲下限値の差分に対する、隣接する2つの閾値電圧の範囲上限値の差分の割合である。具体的には、閾値電圧Vth_N(Nは自然数)の範囲上限値と閾値電圧Vth_N+1の範囲上限値との差分をaとし、閾値電圧Vth_N(Nは自然数)の範囲下限値と閾値電圧Vth_N+1の範囲下限値との差分をbとすると、差分縮小率A=a/bと定義することができる(
図5参照)。なお、差分縮小率Aは、Nの値にかかわらず一定と定義している。
【0034】
図5、
図6に示すように、閾値電圧差ΔVth1(=Vth2-Vth1)の範囲下限値は、閾値電圧Vth2の範囲下限値と閾値電圧Vth1の範囲下限値との差r(つまり分解能rに対応)となる。また、閾値電圧差ΔVth1の範囲上限値は、閾値電圧差ΔVth1の範囲下限値rに差分縮小率Aを乗算した値「A*r」となる。また、閾値電圧差ΔVth1のこの範囲におけるデータを「0」と定義する。
【0035】
閾値電圧差ΔVth2(=Vth3-Vth1)の範囲下限値は、閾値電圧差ΔVth1の範囲上限値に分解能rを足した値であるので、「A*r+r」となる。また、閾値電圧差ΔVth2の範囲上限値は、閾値電圧差ΔVth2の範囲下限値A*r+rに差分縮小率Aを乗算した値「A*(A*r+r)」となる。また、閾値電圧差ΔVth2のこの範囲におけるデータを「1」と定義する。
【0036】
閾値電圧差ΔVth3(=Vth4-Vth1)の範囲下限値は、閾値電圧差ΔVth2の範囲上限値に分解能rを足した値であるので、「A*(A*r+r)+r」となる。また、閾値電圧差ΔVth3の範囲上限値は、閾値電圧差ΔVth3の範囲下限値A*(A*r+r)+rに差分縮小率Aを乗算した値「A*[A*(A*r+r)+r]」となる。また、閾値電圧差ΔVth3のこの範囲におけるデータを「2」と定義する。
【0037】
図6では、データ数が3値の場合の定義例について示しているが、この定義を一般化すると、N値のデータを定義するのに必要な1メモリセル対当たりの電圧幅V
bは、次の式(2)で表すことができる。
【0038】
【0039】
式(2)に示すように、本実施の形態にかかる半導体記憶装置では、N値のデータを定義するのに必要な1メモリセル対当たりの電圧幅Vbは、メモリセルの閾値電圧の変動幅(リテンション変動幅:式(1)のd1参照)とは無関係になる。よって、メモリセルに設定する閾値電圧が高くなることを抑制することができる。
【0040】
図7は、メモリセルに定義するデータ数と必要電圧幅との関係を示すシミュレーション結果である。
図7では、関連技術を用いた場合のデータ数と必要電圧幅V
aとの関係、及び本実施の形態を用いた場合のデータ数と必要電圧幅V
bとの関係を示している。なお、
図7に示すシミュレーション結果では、一例として比較的劣化が大きいパラメータを仮定している。具体的には、電圧値V
0=2.0V、リテンション変動幅d
1=1.0V、分解能r=0.1V、差分縮小率A=2.0としている。
【0041】
図7に示すように、本実施の形態を用いた場合は、関連技術を用いた場合と比べて必要電圧幅を低くすることができる。つまり、関連技術を用いた場合は、メモリセルに定義するデータ数が増えるにつれて、必要電圧幅V
aが大幅に増加する。これに対して、本実施の形態を用いた場合は、メモリセルに定義するデータ数が増えた場合であっても、必要電圧幅V
bが大幅には増加せず、緩やかに増加する。
【0042】
このように、本実施の形態にかかる半導体記憶装置では、関連技術を用いた場合と比べて、メモリセルに設定する閾値電圧が高くなることを抑制することができる。特に、本実施の形態にかかる半導体記憶装置では、リテンション変動幅d1が分解能rよりも十分に大きい場合に、メモリセルに設定する閾値電圧が高くなることを顕著に抑制することができる。
【0043】
また、本実施の形態にかかる半導体記憶装置では、メモリセルに設定する閾値電圧が高くなることを抑制することができるので、1つのメモリセル対に定義できるデータ数を増やすことができる。つまり、
図7に示したように、本実施の形態を用いた場合は、メモリセルに定義するデータ数が増えた場合であっても、必要電圧幅V
bが大幅には増加せず、緩やかに増加するので、1つのメモリセル対に定義できるデータ数を増やすことができる。
【0044】
換言すると、本実施の形態にかかる半導体記憶装置では、
図4の右図に示すように、2つのメモリセルによる閾値電圧差ΔVth1~ΔVth3の変動幅は、メモリセルのリテンション変動幅よりも小さい。よって、各々のデータ領域51~53の幅を狭くすることができるので、1つのメモリセル対に定義できるデータ数を増やすことができる。
【0045】
本実施の形態にかかる半導体記憶装置では、2つのメモリセルを1つのメモリセル対として用いているので、1つのメモリセル対に4値以上のデータを格納すれば、1つのメモリセルに2値のデータを格納した場合と同等以上のデータ密度となる。
【0046】
次に、本実施の形態にかかる半導体記憶装置の構成例について説明する。
図8は、本実施の形態にかかる半導体記憶装置の構成例を示すブロック図である。
図8に示すように、本実施の形態にかかる半導体記憶装置1は、メモリアレイ11、閾値電圧検出部12、及びメモリコントローラ13を備える。メモリアレイ11は、2n個のメモリセルMC1~MC2n(nは自然数)を備える。また、メモリセルMC1及びメモリセルMC2はメモリセル対14_1を構成し、メモリセルMC3及びメモリセルMC4はメモリセル対14_2を構成し、メモリセルMC2n-1及びメモリセルMC2nはメモリセル対14_nを構成している。つまり、メモリアレイ11は、n個のメモリセル対14_1~14_nを備える。
【0047】
各々のメモリセルMC1~MC2nは、所定の閾値電圧を設定可能に構成されている。例えば、各々のメモリセル対14_1~14_nの一方のメモリセルMC1、MC3、・・・、MC2n-1は少なくとも1つの閾値電圧を設定可能に構成されており、他方のメモリセルMC2、MC4、・・・、MC2nは複数の閾値電圧を設定可能に構成されている。
【0048】
本実施の形態にかかる半導体記憶装置1は、例えばフラッシュメモリである。フラッシュメモリは、各々のメモリセルMC1~MC2nが備えるフローティングゲートに注入する電荷の量に応じて閾値電圧が変化する。具体的には、フローティングゲートに注入する電荷の量が多いほど閾値電圧が高くなる。本実施の形態にかかる半導体記憶装置では、フローティングゲートに注入する電荷の量を調整することで、各々のメモリセルMC1~MC2nの閾値電圧を所定の値に設定することができる。
【0049】
なお、本実施の形態にかかる半導体記憶装置1において、各々のメモリセルMC1~MC2nは閾値電圧を所定の値に設定することができるメモリセルであれば特に限定されることはない。例えば、本実施の形態は、MONOS(Metal Oxide Nitride Oxide Silicon)型のフラッシュメモリにも適用することができる。また、本実施の形態は、これ以外の方式のフラッシュメモリに適用してもよい。
また、
図8では図面を簡略化するために各々のメモリセルMC1~MC2nが1列に配置されているように図示したが、実際には各々のメモリセルはマトリックス状に配置されている。
【0050】
閾値電圧検出部12は、各々のメモリセルMC1~MC2nに設定されている閾値電圧Vth_MC1~Vth_MC2nを検出する。例えば、閾値電圧検出部12はセンスアンプであり、各々のメモリセルMC1~MC2nに対して読み出し動作を行った際に流れるセル電流を検出することで、各々のメモリセルMC1~MC2nに設定されている閾値電圧Vth_MC1~Vth_MC2nを検出することができる。つまり、メモリセルMCに設定されている閾値電圧Vthが高くなるほど、メモリセルMCに流れるセル電流が流れにくくなる。よって、閾値電圧検出部12は、このセル電流の電流量を検出することで、メモリセルMCに設定されている閾値電圧Vthを検出することができる。閾値電圧検出部12で検出された閾値電圧Vth_MC1~Vth_MC2nに関する情報は、メモリコントローラ13に供給される。
【0051】
メモリコントローラ13は、メモリアレイ11が備える各々のメモリセルMC1~MC2nからのデータの読み出しを制御する。具体的には、メモリコントローラ13は、各々のメモリセル対14_1~14_nが備える一方のメモリセルの閾値電圧と他方のメモリセルの閾値電圧との差を用いて、各々のメモリセル対に格納されているデータを読み出す。更に、メモリコントローラ13は、メモリアレイ11が備える各々のメモリセルMC1~MC2nへのデータの書き込み、及びデータの消去を制御する。
【0052】
図9は、本実施の形態にかかる半導体記憶装置が備えるメモリコントローラの構成例を示すブロック図である。
図9に示すように、メモリコントローラ13は、閾値電圧決定部21、メモリセル制御部22、電圧差算出部23、及びデータ変換部24を備える。
【0053】
閾値電圧決定部21は、入力された書き込みデータに基づいて、各々のメモリセルMC1~MC2nに設定する(書き込む)閾値電圧Vth_MC1~Vth_MC2nを決定する。例えば、閾値電圧決定部21は、
図10に示すようなデータと閾値電圧とを対応付けたテーブルを備えており、入力された書き込みデータ0~2に応じて各メモリセルの閾値電圧を決定する。例えば、閾値電圧決定部21は、メモリセルMC1、MC2からなるメモリセル対に“データ2”を書き込む場合、メモリセルMC1に設定する閾値電圧を“Vth1”と、メモリセルMC2に設定する閾値電圧を“Vth4”と決定する。閾値電圧決定部21で決定された閾値電圧は、メモリセル制御部22に供給される。
【0054】
メモリセル制御部22は、閾値電圧決定部21で決定された閾値電圧Vth_MC1~Vth_MC2nを、各々のメモリセルMC1~MC2nに設定する(書き込む)。このとき書き込まれるメモリセルMC1~MC2nは、ロー・デコーダ(不図示)およびカラム・デコーダ(不図示)を用いて選択される。
【0055】
電圧差算出部23は、各々のメモリセル対14_1~14_nを構成している各々の2つのメモリセルの閾値電圧の差を算出する。例えば、電圧差算出部23は、メモリセル対14_1を構成しているメモリセルMC1の閾値電圧Vth_MC1とメモリセルMC2の閾値電圧Vth_MC2との差を算出する。算出された閾値電圧差ΔVthは、データ変換部24に供給される。なお、このとき算出される電圧差は、典型的には閾値電圧差の絶対値(ΔVth>0)である。
【0056】
データ変換部24は、電圧差算出部23で算出された閾値電圧差ΔVthを、当該閾値電圧差ΔVthに対応するデータに変換する。例えば、データ変換部24は、
図10に示すような閾値電圧差ΔVth1~ΔVth3とデータ0~2とを対応付けたテーブルを備えており、算出された閾値電圧差ΔVthに応じたデータを読み出しデータとして出力する。例えば、データ変換部24は、メモリセルMC1、MC2からなるメモリセル対から読み出された閾値電圧差ΔVthが“ΔVth2”である場合、“データ1”を読み出してデータとして出力する。
【0057】
なお、各々の閾値電圧差ΔVth1~ΔVth3はそれぞれ幅をもった値であり、
図6に示した範囲下限値と範囲上限値とを用いて定義することができる。
【0058】
次に、本実施の形態にかかる半導体記憶装置1のデータ書き込みシーケンス、及びデータ読み出しシーケンスについて説明する。
【0059】
まず、
図11を用いて本実施の形態にかかる半導体記憶装置1のデータ書き込みシーケンスについて説明する。半導体記憶装置1は、各々のメモリセルMC1~MC2nにデータを書き込む際、書き込みデータを取得する(ステップS1)。具体的には、
図9に示すメモリコントローラ13が備える閾値電圧決定部21に書き込みデータが供給される。
【0060】
その後、閾値電圧決定部21は、入力された書き込みデータに基づいて、各々のメモリセルMC1~MC2nに設定する閾値電圧Vth_MC1~Vth_MC2nを決定する(ステップS2)。例えば、閾値電圧決定部21は、
図10に示すようなデータと閾値電圧とを対応付けたテーブルを備えており、入力された書き込みデータ0~1に応じて各メモリセルの閾値電圧を決定する。閾値電圧決定部21で決定された閾値電圧Vth_MC1~Vth_MC2nは、メモリセル制御部22に供給される。
【0061】
その後、メモリセル制御部22は、閾値電圧決定部21で決定された閾値電圧Vth_MC1~Vth_MC2nを、各々のメモリセルMC1~MC2nに書き込む(ステップS3)。
【0062】
次に、
図12を用いて本実施の形態にかかる半導体記憶装置1のデータ読み出しシーケンスについて説明する。半導体記憶装置1は、各々のメモリセルMC1~MC2nからデータを読み出す際、閾値電圧検出部12を用いて、各々のメモリセルMC1~MC2nに設定されている閾値電圧Vth_MC1~Vth_MC2nを検出する(ステップS11)。
【0063】
その後、電圧差算出部23は、閾値電圧検出部12から供給された各々のメモリセルMC1~MC2nの閾値電圧Vth_MC1~Vth_MC2nの差ΔVthを算出する(ステップS12)。算出された閾値電圧差ΔVthは、データ変換部24に供給される。
【0064】
その後、データ変換部24は、電圧差算出部23で算出された閾値電圧差ΔVthを、当該閾値電圧差ΔVthに対応するデータに変換する(ステップS13)。例えば、データ変換部24は、
図10に示すような閾値電圧差ΔVth1~ΔVth3とデータ0~2とを対応付けたテーブルを備えており、算出された閾値電圧差ΔVthに応じたデータに変換する。
【0065】
その後、メモリコントローラ13は、変換されたデータを読み出しデータとして出力する(ステップS14)。
【0066】
なお、
図8、
図9に示した半導体記憶装置1の構成は一例であり、本実施の形態にかかる半導体記憶装置ではこれ以外の構成を備えていてもよい。
【0067】
上述の実施の形態によれば、メモリセルに設定する閾値電圧が高くなることを抑制しつつ多値データを格納可能な半導体記憶装置、及び半導体記憶装置におけるデータの定義方法を提供することができる。
【0068】
<実施の形態2>
次に、実施の形態2について説明する。
図13は、実施の形態2にかかる半導体記憶装置におけるデータ定義例を示す表である。実施の形態2にかかる半導体記憶装置は、実施の形態1にかかる半導体記憶装置と比べてデータの定義方法が異なる。これ以外は実施の形態1で説明した半導体記憶装置と同様であるので、重複した説明は省略する。
【0069】
図13に示すように、本実施の形態にかかる半導体記憶装置では、メモリセル対のうちの一方のメモリセルAの閾値電圧Vthとして基準閾値電圧Vth1と複数の閾値電圧Vth2~Vth4とを設定可能に構成されている。また、他方のメモリセルBの閾値電圧Vthとして基準閾値電圧Vth1と複数の閾値電圧Vth2~Vth4とを設定可能に構成されている。
【0070】
そして本実施の形態では、メモリセルAとメモリセルBとで構成されるメモリセル対に格納される各々のデータは、メモリセルBの各々の閾値電圧Vth2~Vth4とメモリセルAの基準閾値電圧Vth1との各々の差、及びメモリセルAの各々の閾値電圧Vth2~Vth4とメモリセルBの基準閾値電圧Vth1との各々の差を用いて定義される。
【0071】
具体的には、
図13の符号31に示すように、メモリセルBの閾値電圧Vth2とメモリセルAの基準閾値電圧Vth1との差を用いて「データ0」を定義し、メモリセルBの閾値電圧Vth3とメモリセルAの基準閾値電圧Vth1との差を用いて「データ1」を定義し、メモリセルBの閾値電圧Vth4とメモリセルAの基準閾値電圧Vth1との差を用いて「データ2」を定義している。
【0072】
また、
図13の符号32に示すように、メモリセルAの閾値電圧Vth2とメモリセルBの基準閾値電圧Vth1との差を用いて「データ3」を定義し、メモリセルAの閾値電圧Vth3とメモリセルBの基準閾値電圧Vth1との差を用いて「データ4」を定義し、メモリセルAの閾値電圧Vth4とメモリセルBの基準閾値電圧Vth1との差を用いて「データ5」を定義している。
【0073】
なお、本実施の形態において、メモリセルAの各々の閾値電圧Vth1~Vth4は、メモリセルBの各々の閾値電圧Vth1~Vth4とそれぞれ対応しており、定義上は各々同一の値である。しかしながら、実際は、メモリセルに書き込まれる閾値電圧にはばらつきがあるので、メモリセルAの各々の閾値電圧Vth1~Vth4とメモリセルBの各々の閾値電圧Vth1~Vth4との間には若干のずれが生じる場合がある。例えば、メモリセルAの閾値電圧Vth1とメモリセルBの閾値電圧Vth1とを同一の値と定義しても、実際にメモリセルAに書き込まれる閾値電圧Vth1とメモリセルBに書き込まれる閾値電圧Vth1との間には若干のずれが生じる。
【0074】
本明細書では便宜上、メモリセルAの各々の閾値電圧Vth1~Vth4とメモリセルBの各々の閾値電圧Vth1~Vth4とを同一の値として定義しているが、上述の理由から、実際にメモリセルAに書き込まれる各々の閾値電圧Vth1~Vth4とメモリセルBに書き込まれる各々の閾値電圧Vth1~Vth4との間には若干のずれ(許容範囲内のずれ)が生じる。
【0075】
また、本実施の形態では、データの定義に影響がない範囲であれば、メモリセルAの各々の閾値電圧Vth1~Vth4と、メモリセルBの各々の閾値電圧Vth1~Vth4とがそれぞれ異なる値となるように定義してもよい。
【0076】
実施の形態1にかかる半導体記憶装置では、メモリセル対を構成する2つのメモリセルのうちの一方のメモリセルに基準閾値電圧Vth1を設定していたが、本実施の形態にかかる半導体記憶装置では、メモリセル対を構成する2つのメモリセルA、Bの各々について基準閾値電圧Vth1を設定している。よって、メモリセル対に格納されるデータ量を増加させることができる。
【0077】
一般化すると、1つのメモリセルに設定できる閾値電圧Vthの数をM(Mは2以上の整数)とすると、1つのメモリセル対に定義できるデータの数は、「(M-1)×2」となる。本実施の形態にかかる半導体記憶装置では、2つのメモリセルを1つのメモリセル対として用いているので、1つのメモリセル対に4値以上のデータを格納すれば、1つのメモリセルに2値のデータを格納した場合と同等以上のデータ密度となる。したがって、本実施の形態では、Mの値が3以上の場合に、1つのメモリセルに2値のデータを格納した場合と同等以上のデータ密度となる。
【0078】
<実施の形態3>
次に、実施の形態3について説明する。
図14は、実施の形態3にかかる半導体記憶装置におけるデータ定義例を示す表である。実施の形態3にかかる半導体記憶装置は、実施の形態1、2にかかる半導体記憶装置と比べてデータの定義方法が異なる。これ以外は実施の形態1、2で説明した半導体記憶装置と同様であるので、重複した説明は省略する。
【0079】
図14に示すように、本実施の形態にかかる半導体記憶装置では、メモリセル対を構成する2つのメモリセルA、Bが各々、複数の閾値電圧Vth1~Vth4を設定可能に構成されている。そして、メモリセル対に格納されるデータは、メモリセルAの複数の閾値電圧Vth1~Vth4とメモリセルBの複数の閾値電圧Vth1~Vth4とを用いて算出される各々の閾値電圧の差を用いて定義される。
【0080】
つまり、実施の形態2では、メモリセルAの閾値電圧Vth1とメモリセルBの閾値電圧Vth1とをそれぞれ基準閾値電圧として用いていたが、本実施の形態では各々のメモリセルに設定された複数の閾値電圧Vth1~Vth4を基準閾値電圧として用いている。換言すると、本実施の形態では、メモリセルAの複数の閾値電圧Vth1~Vth4とメモリセルBの複数の閾値電圧Vth1~Vth4との組み合わせパターンを用いてデータを定義している。
【0081】
具体的には、
図14に示すように、メモリセルBの閾値電圧Vth2とメモリセルAの閾値電圧Vth1との差を用いて「データ0」を定義し、メモリセルBの閾値電圧Vth3とメモリセルAの閾値電圧Vth1との差を用いて「データ1」を定義し、メモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth1との差を用いて「データ2」を定義している。また、メモリセルBの閾値電圧Vth3とメモリセルAの閾値電圧Vth2との差を用いて「データ3」を定義し、メモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth2との差を用いて「データ4」を定義し、メモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth3との差を用いて「データ5」を定義している。
【0082】
また、
図14に示すように、メモリセルAの閾値電圧Vth2とメモリセルBの閾値電圧Vth1との差を用いて「データ6」を定義し、メモリセルAの閾値電圧Vth3とメモリセルBの閾値電圧Vth1との差を用いて「データ7」を定義し、メモリセルAの閾値電圧Vth4とメモリセルBの閾値電圧Vth1との差を用いて「データ8」を定義している。また、メモリセルAの閾値電圧Vth3とメモリセルBの閾値電圧Vth2との差を用いて「データ9」を定義し、メモリセルAの閾値電圧Vth4とメモリセルBの閾値電圧Vth2との差を用いて「データ10」を定義し、メモリセルAの閾値電圧Vth4とメモリセルBの閾値電圧Vth3との差を用いて「データ11」を定義している。
【0083】
図15は、本実施の形態にかかる半導体記憶装置におけるデータ定義例を示す表である。
図15に示す表では、メモリセルAの閾値電圧、メモリセルBの閾値電圧、メモリセルBの閾値電圧とメモリセルAの閾値電圧との差の範囲下限値と範囲上限値、及びデータの対応関係を示している。なお、分解能r、及び差分縮小率Aについては実施の形態1で説明した場合と同様である。
【0084】
図15に示すように、「データ0」はメモリセルBの閾値電圧Vth2とメモリセルAの閾値電圧Vth1との差を用いて定義され、このときの範囲下限値は「r」、範囲上限値は「A*r」である。「データ1」はメモリセルBの閾値電圧Vth3とメモリセルAの閾値電圧Vth1との差を用いて定義され、このときの範囲下限値は「A*r+r」、範囲上限値は「A*(A*r+r)」である。「データ2」はメモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth1との差を用いて定義され、このときの範囲下限値は「A*(A*r+r)+r」、範囲上限値は「A*[A*(A*r+r)+r]」である。
【0085】
また、「データ3」はメモリセルBの閾値電圧Vth3とメモリセルAの閾値電圧Vth2との差を用いて定義され、このときの範囲下限値は「A*r」、範囲上限値は「A*r*r」である。「データ4」はメモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth2との差を用いて定義され、このときの範囲下限値は「A*(A*r+r)」、範囲上限値は「A*A*(A*r+r)」である。「データ5」はメモリセルBの閾値電圧Vth4とメモリセルAの閾値電圧Vth3との差を用いて定義され、このときの範囲下限値は「A*A*r」、範囲上限値は「A*A*A*r」である。
【0086】
なお、
図15では、データ0~5の定義例における範囲下限値および範囲上限値を一例として示しているが、データ6~11の定義例における範囲下限値および範囲上限値についても同様に定義することができる。
【0087】
また、本実施の形態では、
図14に示した「データ0」の閾値電圧差の絶対値と「データ6」の閾値電圧差の絶対値とが同一の値となるが、これらのデータは各々のメモリセルA、Bの閾値電圧の大きさを用いて区別することができる。つまり、各々の閾値電圧は、Vth1<Vth2<Vth3<Vth4の関係を有する。よって、メモリセルAの閾値電圧がメモリセルBの閾値電圧よりも小さい場合、つまり、メモリセルAの閾値電圧がVth1、メモリセルBの閾値電圧がVth2の場合は、「データ0」と判定することができる。逆に、メモリセルAの閾値電圧がメモリセルBの閾値電圧よりも大きい場合、つまり、メモリセルAの閾値電圧がVth2、メモリセルBの閾値電圧がVth1の場合は、「データ6」と判定することができる。
【0088】
また、本実施の形態では、「データ0」と「データ6」は、各々のメモリセルA、Bの閾値電圧差の正・負を用いて区別してもよい。つまり、「(メモリセルBの閾値電圧)-(メモリセルAの閾値電圧)」を計算した際に、正の値を示す場合は「データ0」と判定し、負の値を示す場合は「データ6」と判定してもよい。
【0089】
データ1とデータ7との関係、データ2とデータ8との関係、データ3とデータ9との関係、データ4とデータ10との関係、データ5とデータ11との関係についても同様である。
【0090】
実施の形態2では、メモリセルAの閾値電圧Vth1とメモリセルBの閾値電圧Vth1とをそれぞれ基準閾値電圧として用いていたが、本実施の形態では各々のメモリセルに設定された複数の閾値電圧Vth1~Vth4をそれぞれ基準閾値電圧として用いている。換言すると、本実施の形態では、メモリセルAの複数の閾値電圧Vth1~Vth4とメモリセルBの複数の閾値電圧Vth1~Vth4との組み合わせパターンを用いてデータを定義している。よって、メモリセル対に格納されるデータ量を実施の形態2の場合よりも増加させることができる。
【0091】
図16は、本実施の形態にかかる半導体記憶装置におけるデータ定義例を示す図であり、各々のデータ0~5を定義している閾値電圧差の範囲を示している。具体的には、
図15の表に示した各々のデータ0~5に対応する閾値電圧差の範囲(つまり、範囲下限値から範囲上限値までの範囲)を図示している。
【0092】
本実施の形態では、データを定義する際に各々のデータに対応する閾値電圧差の範囲が互いに重ならないように定義することが好ましい。しかしながら、各々のメモリセルに定義される閾値電圧Vthによっては、各々のデータに対応する閾値電圧差の範囲が互いに重なる場合がある。例えば、
図16に示すデータ定義例では、各々のデータを定義する閾値電圧差の範囲の一部が互いに重なっている。一例を挙げると、データ1の閾値電圧差の範囲とデータ3の閾値電圧差の範囲とが、閾値電圧差「A*r+r」から「A*r*r」の範囲で重複している。
【0093】
このような閾値電圧差の範囲の重複は、例えば定期的にデータをリフレッシュすることで解消することができる。
図17は、リフレッシュ動作を説明するための図である。
図17に示すように、各々のメモリセルにデータを書き込んだ後、換言すると、各々のメモリセルに閾値電圧を設定した後、各々のデータを定義している閾値電圧差ΔVthの値は時間の経過と共に低下していく(
図4の右図参照)。データを書き込んだ直後は、各々のデータを定義している閾値電圧差ΔVthは他のデータ領域に入っていない。しかし、時間の経過と共に閾値電圧差ΔVthが低下すると、閾値電圧差ΔVthがデータ境界を通り越して他のデータ領域に入ってしまう(
図17の破線を参照)。
【0094】
図17に示すリフレッシュ動作では、閾値電圧差ΔVthがデータ境界を通り越す前にリフレッシュ動作を実施して、閾値電圧差ΔVthを初期値に戻している。つまり、
図17に示すリフレッシュ動作では、メモリセル対に書き込まれているデータが改変する前(すなわち、閾値電圧差ΔVthがデータ境界を通り越す前)に一度データをリードしてデータを確認し、その後、同一のデータを再度メモリセル対に書き込んでいる。
【0095】
上述のリフレッシュ動作を実施することで、各々のデータを定義している閾値電圧差ΔVthが互いに重複することを回避することができる。換言すると、定期的にリフレッシュ動作を実施して閾値電圧差ΔVthを初期値に戻すことで、各々のデータを定義している閾値電圧差ΔVthの幅を実質的に狭くすることができる。よって、各々のデータを定義している閾値電圧差ΔVthが互いに重複することを回避することができる。
【0096】
具体例を挙げて説明すると、
図16のデータ1は、データを書き込んだ直後の閾値電圧差が「A*(A*r+r)」(範囲上限値)であるが、この閾値電圧差は時間の経過と共に低下していく。本実施の形態では、この閾値電圧差がデータ3の範囲上限値である「A*A*r」に到達する前にリフレッシュ動作を実施することで、データ1の閾値電圧差がデータ3の閾値電圧差の範囲に入ることを回避することができる。
【0097】
また、本実施の形態にかかる半導体記憶装置では、メモリセル対に格納されるデータは更に、メモリセルAの複数の閾値電圧Vth1~Vth4とメモリセルBの複数の閾値電圧Vth1~Vth4とを用いて算出される各々の閾値電圧の和を用いて定義してもよい。
【0098】
上述したように、本実施の形態では、データを定義する際に各々のデータに対応する閾値電圧差の範囲が互いに重ならないように定義することが好ましい。しかしながら、各々のメモリセルに定義される閾値電圧Vthによっては、各々のデータに対応する閾値電圧差の範囲が互いに重なる場合がある(
図16参照)。
【0099】
本実施の形態では、各々のメモリセルの閾値電圧の差に加えて、各々のメモリセルの閾値電圧の和を用いて各々のデータを定義することで、このような問題を解消することができる。
【0100】
すなわち、各々のデータ1~5を定義している閾値電圧の和の範囲は、
図16に示したデータ1~5を定義している閾値電圧差の範囲と比べて、データを定義している範囲が高電圧側にシフトする。よって、データを定義している閾値電圧の和を求めることで、データを定義している閾値電圧の範囲をシフトさせることができ、各々のデータを定義している閾値電圧の差と和の範囲を互いに重複しないようにすることができる。
【0101】
このように、閾値電圧の差と閾値電圧の和を組み合わせてデータを定義することで、各々のデータを定義している閾値電圧差の範囲が重複する場合であっても、各々のデータを一意に定義することができる。
【0102】
<実施の形態4>
次に、実施の形態4について説明する。
図18は、実施の形態4にかかる半導体記憶装置におけるデータ定義例を示す図である。実施の形態4にかかる半導体記憶装置は、実施の形態1~3にかかる半導体記憶装置と比べて、負の閾値電圧を用いてデータを定義している点が異なる。これ以外は実施の形態1~3で説明した半導体記憶装置と同様であるので、重複した説明は省略する。
【0103】
本実施の形態にかかる半導体記憶装置は、メモリセルAとメモリセルBとを備えるメモリセル対を1つのメモリユニットとし、この1つのメモリユニット(メモリセル対)に多値のデータを格納している。具体的には、
図18に示すように、一方のメモリセルAに基準閾値電圧Vth1を設定し、他方のメモリセルBに複数の閾値電圧Vth2~Vth4を設定している。各々のデータは、メモリセルBの各々の閾値電圧Vth2~Vth4とメモリセルAの閾値電圧Vth1との各々の差ΔVth1~ΔVth3を用いて定義される。
【0104】
図18に示すように、各々の閾値電圧Vth1~Vth4は、閾値電圧Vth1、閾値電圧Vth2、閾値電圧Vth3、閾値電圧Vth4の順に低くなるように設定されている。各々の閾値電圧Vth1~Vth4は負の値である。よって、閾値電圧差ΔVth1は、ΔVth1=Vth1-Vth2を用いて、閾値電圧差ΔVth2は、ΔVth2=Vth1-Vth3を用いて、閾値電圧差ΔVth3は、ΔVth3=Vth1-Vth4を用いて、それぞれ求めることができる。
【0105】
なお、各々の閾値電圧Vth1~Vth4が負の値である点以外は、実施の形態1(
図4~
図6参照)で説明した場合と同様であるので、重複した説明は省略する。
【0106】
図19は、本実施の形態にかかる半導体記憶装置におけるデータ定義例を示す図である。
図19に示すデータ定義例では、メモリセル対を構成する2つのメモリセルA、Bのうちの一方のメモリセルの閾値電圧を正の値とし、他方のメモリセルの閾値電圧を負の値としている。
【0107】
例えば、メモリセルAに正の閾値電圧Vth1を設定し、メモリセルBに負の閾値電圧Vth1’~Vth4’を設定した場合は、次のようにデータを定義することができる。すなわち、メモリセルAの閾値電圧Vth1を基準閾値電圧として、この基準閾値電圧Vth1とメモリセルBの複数の閾値電圧Vth1’~Vth4’の各々との差を用いることでデータを定義することができる。
図19に示す例では、閾値電圧差ΔVth1~ΔVth4を用いて合計4値のデータを定義することができる。
【0108】
また、
図19に示すように、メモリセルAに正の閾値電圧Vth1~Vth4を設定し、メモリセルBに負の閾値電圧Vth1’~Vth4’を設定した場合は、これらの閾値電圧の組み合わせを用いてデータを定義することができる。この場合のデータの定義方法については、実施の形態3で説明した場合(
図14参照)と同様であるので重複した説明は省略する。なお、本実施の形態のように、一方のメモリセルの閾値電圧を正の値とし、他方のメモリセルの閾値電圧を負の値とした場合は、閾値電圧Vth1と閾値電圧Vth1’とを用いてデータを定義することができるので、
図14の表に示す「無効」の部分にデータを定義することができる。よって、
図19のように、メモリセルAに正の閾値電圧Vth1~Vth4を設定し、メモリセルBに負の閾値電圧Vth1’~Vth4’を設定した場合は、合計で16値のデータを定義することができる。
【0109】
<実施の形態5>
次に、実施の形態5について説明する。
図20は、実施の形態5にかかる半導体記憶装置が備えるメモリコントローラの構成例を示すブロック図である。
図20に示すように、本実施の形態にかかる半導体記憶装置は、メモリコントローラ13aがタイマ28を備える点が実施の形態1~4と異なる。これ以外は実施の形態1~4で説明した半導体記憶装置と同様であるので、重複した説明は省略する。
【0110】
図20に示すように、本実施の形態にかかるメモリコントローラ13aはタイマ28を備えている。タイマ28は、各々のメモリセルにデータを書き込んだ時点からの経過時間を計測する。メモリコントローラ13aは、データを読み出す際、閾値電圧検出部12(
図8参照)で検出された各々のメモリセルの閾値電圧の差と、タイマで計測された経過時間とを用いて、メモリセル対に格納されているデータを読み出す。
【0111】
図21に示すデータ定義例ように、データを書き込んだ後、タイミングt1において読み出された閾値電圧差ΔVth1の値と、タイミングt2において読み出された閾値電圧差ΔVth2の値とが同一の電圧値である場合は、閾値電圧差ΔVth1で定義されるデータと閾値電圧差ΔVth2で定義されるデータとを区別することができない。
【0112】
本実施の形態ではこのような問題を解決するために、メモリコントローラ13aにタイマ28を設けて、各々のメモリセルにデータを書き込んだ時点からの経過時間t1、t2を計測している。そして、データを読み出す際に、閾値電圧差ΔVth1、ΔVth2に加えて、タイマ28で計測された経過時間t1、t2を用いているので、閾値電圧差ΔVth1と閾値電圧差ΔVth2とが同一の値であっても、閾値電圧差ΔVth1で定義されるデータと閾値電圧差ΔVth2で定義されるデータとを区別することができる。
【0113】
また、タイマ28を設けた場合は、
図17に示したリフレッシュ動作(実施の形態3参照)のタイミングを適切に判断することができる。
【0114】
なお、タイマ28はメモリセル対ごとに経過時間を計測するように構成してもよく、また所定の数のメモリセル対ごとに経過時間を計測するように構成してもよく、またメモリセルアレイ全体で経過時間を計測するように構成してもよい。
【0115】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0116】
1 半導体記憶装置
11 メモリアレイ
12 閾値電圧検出部
13、13a メモリコントローラ
14_1~14_n メモリセル対
21 閾値電圧決定部
22 メモリセル制御部
23 電圧差算出部
24 データ変換部
28 タイマ