説明

半導体システム及びデータプログラミング方法

【課題】電荷損失が発生してもデータプログラミング動作の信頼性を向上させることができるデータプログラミング方法及び半導体システムを提供する。
【解決手段】データプログラミング方法は、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階(S100)と、複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階(S200)と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする段階(S400)とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体システムに関し、データをプログラミングする技術に関することである。
【背景技術】
【0002】
不揮発性メモリ装置の代表的なフラッシュメモリ装置は、不揮発性メモリセルアレイ(NON−VOLATILE Memory Cell Array)を備えている。各不揮発性メモリセルは、コントロールゲート(Control Gate)及びフローティングゲート(Floating Gate)を含むトランジスタで構成される。
【0003】
一方、メモリセルのコントロールゲートにプログラミング電圧が印加するとフローティングゲートにトンネリング(tunneling)現象が発生してプログラミング動作が行われる。また、メモリセルのバルク(bulk)に消去電圧が印加すると、フローティングゲートにトンネリング現象が発生して消去(eraser)動作が行われる。参考として、プログラミング電圧はワードラインを通してメモリセルに伝えられる。
【0004】
図1は、シングルレベルセル(Single−Level Cell、SLC)及びマルチレベルセル(Multi−Level Cell、MLC)の閾値電圧の分布を示す図である。
【0005】
図1を参照すると、シングルレベルセル(SLC)の閾値電圧の分布11と、2ビットに該当するデータを保存することができるマルチレベルセル(MLC)の閾値電圧の分布12と、3ビットに該当するデータを保存することができるマルチレベルセル(MLC)の閾値電圧の分布13とが示されている。
【0006】
1ビットに該当するデータを保存することができるシングルレベルセル(SLC)は、2個の閾値電圧(Threshold Voltage、Vth)の分布を有する。また、2ビットに該当するデータを保存することができるマルチレベルセル(MLC)は、4個の閾値電圧の分布を有する。また、3ビットに該当するデータを保存することができるマルチレベルセル(MLC)は、8個の閾値電圧の分布を有する。この時、最も低いレベルの閾値電圧の分布L0は、消去動作が行われた時に形成される閾値電圧の分布である。ここで、閾値電圧の分布をデータ分布と記述することもあり、ガウシアン(Gaussian)分布形態を有する。参考として、3ビットのデータを保存することができるマルチレベルセル(MLC)をトリプルレベルセル(Triple−Level Cell、TLC)と記述することもある。本実施形態では、2ビット以上のデータを保存することができるメモリセルをマルチレベルセルとして総称するようにする。
【0007】
マルチレベルセル(MLC)は、複数のプログラミング動作を通して複数の閾値電圧を形成する。メモリセルは、プログラミング動作が進行されるほど、すなわち、プログラミング電圧を反復的に印加されるほど、自身の閾値電圧Vthのレベルが上昇するようになる。例えば、2ビットに該当するデータを保存することができるマルチレベルセル(MLC)は、4個の閾値電圧L0、L1、L2、L3を有する。4個の閾値電圧のうち最も低い第1閾値電圧L0は消去動作が行われる時に形成される。また、第2ないし第4閾値電圧L1、L2、L3は、複数のプログラミング動作によって形成される。
【0008】
図2は、メモリセルの閾値電圧の分布の変化を示す図である。
【0009】
図2は、消去動作及びプログラミング動作の後にメモリセルの閾値電圧の分布が広くなる現象を示している。すなわち、メモリセルの閾値電圧Vthは、フローティングゲートに保存される電荷量で決定されるのに、一定の時間が経過すれば電荷損失(Charge Loss)が発生する。電荷損失が発生する場合、ネガティブ電圧レベルを有する閾値電圧L0のレベルは上昇するようになり、ポジティブ電圧レベルを有する閾値電圧L1、L2、L3のレベルは下降するようになる。結果的に、メモリセルの閾値電圧の分布が広くなるようになり、電荷損失が激しい場合、隣接した閾値電圧の分布間に重畳が発生できる。特に、複数のプログラミング動作を通して閾値電圧Vthのレベルを上昇させる場合、現在の閾値電圧Vthをベースでデータの値を判別した以後に再びプログラミング動作を行う。この時、閾値電圧が電荷損失によって過度にシフトされた場合、データの値が誤って判別されて、望んでいるプログラミング動作が遂行されないこともある。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許出願公開第2007/0086239号明細書
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は電荷損失が発生しても、データプログラミング動作の信頼性を向上させることができるデータプログラミング方法及び半導体システムを提供する。
【課題を解決するための手段】
【0012】
本発明の一実施形態によると、書き込みデータの第1ビット値がプログラミングされたメモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階と、前記メモリセルの閾値電圧が前記第1電圧範囲を離脱した場合、エラー修正コード(Error Correction Code、ECC)を通して前記第1ビット値を修正(Correction)する段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記メモリセルにプログラミングする段階とを含むデータプログラミング方法が提供されている。
【0013】
また、本発明の異なる実施形態によると、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階と、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする段階とを含むデータプログラミング方法が提供されている。
【0014】
また、本発明のもう一つの実施形態によると、複数のメモリセルを含む半導体メモリ装置と、書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別して、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正し、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングするように制御するコントローラとを備える半導体システムが提供されている。
【0015】
また、本発明のもう一つの実施形態によると、第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングして、第2書き込みコマンドに応答して修正された第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする半導体メモリ装置と、前記第1及び第2書き込みコマンドと、前記書き込みデータとを前記半導体メモリ装置に提供する半導体システムであって、前記書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別し、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正して、修正された前記第1ビット値と、前記書き込みデータの第2ビット値と、前記第2書き込みコマンドを前記半導体メモリ装置に提供するコントローラとを備える半導体システムが提供されている。
【発明の効果】
【0016】
本発明によるデータプログラミング方法及び半導体システムは電荷損失が発生してもデータプログラミング動作の信頼性を向上させることができる。
【図面の簡単な説明】
【0017】
【図1】シングルレベルセル及びマルチレベルセルの閾値電圧の分布を示す図である。
【図2】メモリセルの閾値電圧の分布の変化を示す図である。
【図3】本発明の実施形態による半導体システムの構成図である。
【図4】本発明の実施形態によるデータプログラミング方法を示すフローチャートである。
【発明を実施するための形態】
【0018】
図3は、本発明の実施形態による半導体システムの構成図である。
【0019】
図3を参照すると、半導体システム20は、コントローラ21と、半導体メモリ装置22とを具備する。ここで、半導体メモリ装置22は、ナンドフラッシュ(NAND FLASH)メモリ装置であると仮定する。
【0020】
ホスト(HOST)10は、SD、MMC、USBなどのようなアプリケーション(Application)で定義することができ、半導体システム20を総括的に管理する役割を行う。ホスト10と半導体システム20は、ホストインタフェース(HOST INTERFACE)を通して相互間の信号を送受信する。また、コントローラ21と半導体メモリ装置22は、ナンドインタフェース(NAND INTERFACE)を通して相互間に信号を送受信する。ここで、インタフェースは、アドレスチャンネル、コマンドチャンネル、データチャンネルなどを含む。
【0021】
上記のように構成される半導体システム20について、詳細には次の通りである。
【0022】
半導体メモリ装置22は、複数のメモリセルを含んでいる。本実施形態において、メモリセルは、コントロールゲート及びフローティングゲートを含むトランジスタで構成されると仮定する。すなわち、メモリセルは、ナンドフラッシュメモリセルで構成される。また、本実施形態において、メモリセルはマルチビット(multi−bit)を保存するマルチレベルセルとして仮定する。例えば、2ビットのデータを保存することができるメモリセルは、第1ビット値及び第2ビット値を保存することができる。また、3ビットのデータを保存することができるメモリセルは、第1ビット値と、第2ビット値と、第3ビット値とを保存することができる。参考として、3ビットのデータを保存することができるマルチレベルセル(MLC)をトリプルレベルセル(Triple−Level Cell、TLC)と記述することもできる。本実施形態では、2ビット以上のデータを保存することができるメモリセルをマルチレベルセルとして総称する。
【0023】
コントローラ21は、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する。この時、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱した場合、コントローラ21は、エラー修正コード(Error Correction Code、ECC)を通して第1ビット値を修正する。また、コントローラ21は、修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルに共にプログラミングするよう制御する。
【0024】
参考として、前述した第1ビット値及び第2ビット値は、マルチビット(multi−bit)形態のデータの各ビット値を指し示すものである。例えば、3ビットで構成されるデータの第1ビット値が最下のビットを指し示すと仮定する時、第2ビット値はその中間ビット及び最上位ビットのうちのいずれか一つを示すと定義することができる。他の例を挙げると、3ビットで構成されるデータの第1ビット値が中間のビットを示すと仮定する時、第2ビット値は最上ビットを示すと定義することができる。すなわち、第2ビット値は第1ビット値より相対的に上位ビットに位置したビット値で定義することができる。
【0025】
一方、半導体メモリ装置22は、第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングし、第2書き込みコマンドに応答して修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルにプログラミングする。
【0026】
ここで、第1書き込みコマンドと第2書き込みコマンドは、互いに異なるコマンドシークエンス(Command Sequence)で構成される。コマンドシークエンスは複数のコマンドサイクル(Command Cycle)の間、順次的に印加される複数の単位コマンドコードにしたがって動作が決定される方式である。したがって、第1書き込みコマンドと第2書き込みコマンドとは互いに異なる複数の単位コマンドコードとして区分される。
【0027】
また、コントローラ21は、第1及び第2書き込みコマンドと、書き込みデータとを半導体メモリ装置22に供給する。この時、コントローラ21は、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する。コントローラ21は、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱した場合、エラー修正コード(ECC)を通して第1ビット値を修正し、修正された第1ビット値と、書き込みデータの第2ビット値と、第2書き込みコマンドとを半導体メモリ装置22に供給する。
【0028】
一方、コントローラ21は、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱しない場合、書き込みデータの第2ビット値と、第1書き込みコマンドとを半導体メモリ装置22に供給する。
【0029】
図4は、本発明の実施形態によるデータプログラミング方法を示すフローチャートである。
【0030】
図4を参照して、本発明の実施形態による半導体システムのデータプログラミング方法を詳細に説明する。
【0031】
データプログラミング方法は、書き込みデータの第1ビット値が、プログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階(S100)と、複数のメモリセルの閾値電圧の分布が、第1電圧範囲を離脱した場合、エラー修正コード(ECC)を通して第1ビット値を修正する段階(S200)と、修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルに共にプログラミングする段階(S400)とを含む。
【0032】
ここで、複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階(S100)は、書き込みデータの第1ビット値を複数のメモリセルにプログラミングする段階(S110)と、複数のメモリセルに検証動作を遂行する段階(S120)とを含む。ここで、メモリセルは、3ビットのデータを保存することができるマルチレベルセルであると仮定して、最下位ビットが正常にプログラミングされた状態で、中間ビットが第1ビット値に該当して、最上位ビットが第2ビット値に該当すると定義する。
【0033】
また、第1ビット値を修正する段階(S200)は、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階(S210)と、エラー修正コード(ECC)を利用して修正された第1ビット値を生成する段階(S220)とを含む。
【0034】
また、複数のメモリセルにプログラミングする段階(S400)は、修正された第1ビット値と、第2ビット値を伝達する段階(S410)と、修正された第1ビット値と、第2ビット値をページバッファにセッティングする段階(S420)と、プログラミングが完了されるまでプログラミング電圧パルス及び検証電圧パルスを複数のメモリセルに印加する段階(S430、S440)とを含む。すなわち、ページバッファにセッティングされたデータをISPP(Incremental Step Pulse Programming)動作を通してメモリセルにプログラミングする。ISPP動作は、メモリセルにプログラミング電圧パルスを印加した後、プログラミング検証電圧パルスを印加してプログラミング状態を確認する動作を反復的に行うようになる。このような動作は、複数のメモリセルが予定されたプログラミングレベル分布、すなわち、予定された閾値電圧Vthの分布を有する時まで反復して行われる。
【0035】
一方、複数のメモリセルに検証動作を遂行する段階(S120)で複数のメモリセルの閾値電圧の分布が第1電圧範囲に含まれる場合、第2ビット値を伝達する段階(S310)と、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階(S320)と、第2ビット値をページバッファをセッティングする段階(S420)と、プログラミングが完了されるまでプログラミング電圧パルス及び検証電圧パルスを複数のメモリセルに印加する段階(S430、S440)とを通してデータプログラミング動作が行われる。
【0036】
参考として、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階(S320)が必要な理由は、第1ビット値がどんな値であるのかによって第2ビット値によるメモリセルの閾値電圧が決定されるからである。
【0037】
前述したように半導体システム及びデータプログラミング方法は、マルチビット形態のデータをマルチレベルセルに保存する時、第1ビット値の電荷損失が多く発生して閾値電圧Vthがずいぶん多くシフトされる場合、エラー修正コード(ECC)を用いて第1ビット値を修正した後に、修正された第1ビット値と第2ビット値とを共にプログラミングする。したがって、電荷損失が多く発生しても、信頼性あるプログラミング動作を行うことができて、結果的にエラービット数を減少させることができる。
【0038】
このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できる。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表わされ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。
【符号の説明】
【0039】
10 ホスト
20 半導体システム
21 コントロール
22 半導体システム装置


【特許請求の範囲】
【請求項1】
書き込みデータの第1ビット値がプログラミングされたメモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階と、
前記メモリセルの閾値電圧が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、
修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記メモリセルにプログラミングする段階と
を含むデータプログラミング方法。
【請求項2】
前記メモリセルが、コントロールゲート及びフローティングゲートを含むトランジスタであることを特徴とする、請求項1に記載のデータプログラミング方法。
【請求項3】
前記メモリセルが、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項1に記載のデータプログラミング方法。
【請求項4】
前記メモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階は、
前記書き込みデータの第1ビット値を前記メモリセルにプログラミングする段階と、
前記メモリセルに検証動作を行う段階と
を含むことを特徴とする、請求項1に記載のデータプログラミング方法。
【請求項5】
前記第1ビット値を修正する段階は、
前記第1ビット値がプログラミングされた前記メモリセルに読み取り動作を行う段階と、
前記エラー修正コードを用いて修正された前記第1ビット値を生成する段階と
を含むことを特徴とする、請求項1に記載のデータプログラミング方法。
【請求項6】
前記メモリセルにプログラミングする段階は、
修正された前記第1ビット値と、前記第2ビット値とをページバッファにセッティングする段階と、
プログラミングが完了されるまで、プログラミング電圧パルス及び検証電圧パルスを前記メモリセルに印加する段階と
を含むことを特徴とする、請求項1に記載のデータプログラミング方法。
【請求項7】
書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階と、
前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、
修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする段階と
を含むデータプログラミング方法。
【請求項8】
前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタであることを特徴とする、請求項7に記載のデータプログラミング方法。
【請求項9】
前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項7に記載のデータプログラミング方法。
【請求項10】
前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階は、
前記書き込みデータの第1ビット値を前記複数のメモリセルにプログラミングする段階と、
前記複数のメモリセルに検証動作を行う段階と
を含むことを特徴とする、請求項7に記載のデータプログラミング方法。
【請求項11】
前記第1ビット値を修正する段階は、
前記第1ビット値がプログラミングされた前記複数のメモリセルに読み取り動作を行う段階と、
前記エラー修正コードを用いて修正された前記第1ビット値を生成する段階と
を含むことを特徴とする、請求項7に記載のデータプログラミング方法。
【請求項12】
前記複数のメモリセルにプログラミングする段階は、
修正された前記第1ビット値と、前記第2ビット値とをページバッファにセッティングする段階と、
プログラミングが完了されるまで、プログラミング電圧パルス及び検証電圧パルスを前記複数のメモリセルに印加する段階と
を含むことを特徴とする、請求項7に記載のデータプログラミング方法。
【請求項13】
複数のメモリセルを含む半導体メモリ装置と、
書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別して、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正し、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングするように制御するコントローラと
を備える半導体システム。
【請求項14】
前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタで構成されることを特徴とする、請求項13に記載の半導体システム。
【請求項15】
前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項13に記載の半導体システム。
【請求項16】
第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングして、第2書き込みコマンドに応答して修正された第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする半導体メモリ装置と、
前記第1及び第2書き込みコマンドと、前記書き込みデータとを前記半導体メモリ装置に供給するコントローラとを備え、
該コントローラが、前記書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別し、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正して、修正された前記第1ビット値と、前記書き込みデータの第2ビット値と、前記第2書き込みコマンドとを前記半導体メモリ装置に供給する半導体システム。
【請求項17】
前記第1書き込みコマンドと前記第2書き込みコマンドとが互いに異なるコマンドシークエンスで構成されることを特徴とする、請求項16に記載の半導体システム。
【請求項18】
前記コントローラは、
前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱しない場合、前記書き込みデータの第2ビット値と、前記第1書き込みコマンドとを前記半導体メモリ装置に供給することを特徴とする、請求項16に記載の半導体システム。
【請求項19】
前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタで構成されることを特徴とする、請求項16に記載の半導体システム。
【請求項20】
前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項16に記載の半導体システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−155831(P2012−155831A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−232733(P2011−232733)
【出願日】平成23年10月24日(2011.10.24)
【出願人】(310024033)エスケーハイニックス株式会社 (122)
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung−daero,Bubal−eub,Icheon−si,Gyeonggi−do,Korea
【Fターム(参考)】