書き込みデータの第1ビット値がプログラミングされたメモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階と、前記メモリセルの閾値電圧が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記メモリセルにプログラミングする段階とを含むデータプログラミング方法。前記メモリセルが、コントロールゲート及びフローティングゲートを含むトランジスタであることを特徴とする、請求項1に記載のデータプログラミング方法。前記メモリセルが、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項1に記載のデータプログラミング方法。前記メモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階は、前記書き込みデータの第1ビット値を前記メモリセルにプログラミングする段階と、前記メモリセルに検証動作を行う段階とを含むことを特徴とする、請求項1に記載のデータプログラミング方法。前記第1ビット値を修正する段階は、前記第1ビット値がプログラミングされた前記メモリセルに読み取り動作を行う段階と、前記エラー修正コードを用いて修正された前記第1ビット値を生成する段階とを含むことを特徴とする、請求項1に記載のデータプログラミング方法。前記メモリセルにプログラミングする段階は、修正された前記第1ビット値と、前記第2ビット値とをページバッファにセッティングする段階と、プログラミングが完了されるまで、プログラミング電圧パルス及び検証電圧パルスを前記メモリセルに印加する段階とを含むことを特徴とする、請求項1に記載のデータプログラミング方法。書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階と、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする段階とを含むデータプログラミング方法。前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタであることを特徴とする、請求項7に記載のデータプログラミング方法。前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項7に記載のデータプログラミング方法。前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階は、前記書き込みデータの第1ビット値を前記複数のメモリセルにプログラミングする段階と、前記複数のメモリセルに検証動作を行う段階とを含むことを特徴とする、請求項7に記載のデータプログラミング方法。前記第1ビット値を修正する段階は、前記第1ビット値がプログラミングされた前記複数のメモリセルに読み取り動作を行う段階と、前記エラー修正コードを用いて修正された前記第1ビット値を生成する段階とを含むことを特徴とする、請求項7に記載のデータプログラミング方法。前記複数のメモリセルにプログラミングする段階は、修正された前記第1ビット値と、前記第2ビット値とをページバッファにセッティングする段階と、プログラミングが完了されるまで、プログラミング電圧パルス及び検証電圧パルスを前記複数のメモリセルに印加する段階とを含むことを特徴とする、請求項7に記載のデータプログラミング方法。複数のメモリセルを含む半導体メモリ装置と、書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別して、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正し、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングするように制御するコントローラとを備える半導体システム。前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタで構成されることを特徴とする、請求項13に記載の半導体システム。前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項13に記載の半導体システム。第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングして、第2書き込みコマンドに応答して修正された第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする半導体メモリ装置と、前記第1及び第2書き込みコマンドと、前記書き込みデータとを前記半導体メモリ装置に供給するコントローラとを備え、該コントローラが、前記書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別し、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正して、修正された前記第1ビット値と、前記書き込みデータの第2ビット値と、前記第2書き込みコマンドとを前記半導体メモリ装置に供給する半導体システム。前記第1書き込みコマンドと前記第2書き込みコマンドとが互いに異なるコマンドシークエンスで構成されることを特徴とする、請求項16に記載の半導体システム。前記コントローラは、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱しない場合、前記書き込みデータの第2ビット値と、前記第1書き込みコマンドとを前記半導体メモリ装置に供給することを特徴とする、請求項16に記載の半導体システム。前記複数のメモリセルは各々、コントロールゲート及びフローティングゲートを含むトランジスタで構成されることを特徴とする、請求項16に記載の半導体システム。前記複数のメモリセルは各々、マルチビットを保存するマルチレベルセルであることを特徴とする、請求項16に記載の半導体システム。本発明は電荷損失が発生しても、データプログラミング動作の信頼性を向上させることができるデータプログラミング方法及び半導体システムを提供する。本発明の一実施形態によると、書き込みデータの第1ビット値がプログラミングされたメモリセルの閾値電圧が定められた第1電圧範囲を離脱したのかを判別する段階と、前記メモリセルの閾値電圧が前記第1電圧範囲を離脱した場合、エラー修正コードErrorCorrectionCode、ECCを通して前記第1ビット値を修正Correctionする段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記メモリセルにプログラミングする段階とを含むデータプログラミング方法が提供されている。また、本発明の異なる実施形態によると、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階と、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正する段階と、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする段階とを含むデータプログラミング方法が提供されている。また、本発明のもう一つの実施形態によると、複数のメモリセルを含む半導体メモリ装置と、書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別して、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正し、修正された前記第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングするように制御するコントローラとを備える半導体システムが提供されている。また、本発明のもう一つの実施形態によると、第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングして、第2書き込みコマンドに応答して修正された第1ビット値及び前記書き込みデータの第2ビット値を前記複数のメモリセルにプログラミングする半導体メモリ装置と、前記第1及び第2書き込みコマンドと、前記書き込みデータとを前記半導体メモリ装置に提供する半導体システムであって、前記書き込みデータの第1ビット値がプログラミングされた前記複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別し、前記複数のメモリセルの閾値電圧の分布が前記第1電圧範囲を離脱した場合、エラー修正コードを通して前記第1ビット値を修正して、修正された前記第1ビット値と、前記書き込みデータの第2ビット値と、前記第2書き込みコマンドを前記半導体メモリ装置に提供するコントローラとを備える半導体システムが提供されている。本発明によるデータプログラミング方法及び半導体システムは電荷損失が発生してもデータプログラミング動作の信頼性を向上させることができる。図3は、本発明の実施形態による半導体システムの構成図である。図3を参照すると、半導体システム20は、コントローラ21と、半導体メモリ装置22とを具備する。ここで、半導体メモリ装置22は、ナンドフラッシュNANDFLASHメモリ装置であると仮定する。ホストHOST10は、SD、MMC、USBなどのようなアプリケーションApplicationで定義することができ、半導体システム20を総括的に管理する役割を行う。ホスト10と半導体システム20は、ホストインタフェースHOSTINTERFACEを通して相互間の信号を送受信する。また、コントローラ21と半導体メモリ装置22は、ナンドインタフェースNANDINTERFACEを通して相互間に信号を送受信する。ここで、インタフェースは、アドレスチャンネル、コマンドチャンネル、データチャンネルなどを含む。上記のように構成される半導体システム20について、詳細には次の通りである。半導体メモリ装置22は、複数のメモリセルを含んでいる。本実施形態において、メモリセルは、コントロールゲート及びフローティングゲートを含むトランジスタで構成されると仮定する。すなわち、メモリセルは、ナンドフラッシュメモリセルで構成される。また、本実施形態において、メモリセルはマルチビットmulti-bitを保存するマルチレベルセルとして仮定する。例えば、2ビットのデータを保存することができるメモリセルは、第1ビット値及び第2ビット値を保存することができる。また、3ビットのデータを保存することができるメモリセルは、第1ビット値と、第2ビット値と、第3ビット値とを保存することができる。参考として、3ビットのデータを保存することができるマルチレベルセルMLCをトリプルレベルセルTriple-LevelCell、TLCと記述することもできる。本実施形態では、2ビット以上のデータを保存することができるメモリセルをマルチレベルセルとして総称する。コントローラ21は、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する。この時、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱した場合、コントローラ21は、エラー修正コードErrorCorrectionCode、ECCを通して第1ビット値を修正する。また、コントローラ21は、修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルに共にプログラミングするよう制御する。参考として、前述した第1ビット値及び第2ビット値は、マルチビットmulti-bit形態のデータの各ビット値を指し示すものである。例えば、3ビットで構成されるデータの第1ビット値が最下のビットを指し示すと仮定する時、第2ビット値はその中間ビット及び最上位ビットのうちのいずれか一つを示すと定義することができる。他の例を挙げると、3ビットで構成されるデータの第1ビット値が中間のビットを示すと仮定する時、第2ビット値は最上ビットを示すと定義することができる。すなわち、第2ビット値は第1ビット値より相対的に上位ビットに位置したビット値で定義することができる。一方、半導体メモリ装置22は、第1書き込みコマンドに応答して書き込みデータの第1ビット値を複数のメモリセルにプログラミングし、第2書き込みコマンドに応答して修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルにプログラミングする。ここで、第1書き込みコマンドと第2書き込みコマンドは、互いに異なるコマンドシークエンスCommandSequenceで構成される。コマンドシークエンスは複数のコマンドサイクルCommandCycleの間、順次的に印加される複数の単位コマンドコードにしたがって動作が決定される方式である。したがって、第1書き込みコマンドと第2書き込みコマンドとは互いに異なる複数の単位コマンドコードとして区分される。また、コントローラ21は、第1及び第2書き込みコマンドと、書き込みデータとを半導体メモリ装置22に供給する。この時、コントローラ21は、書き込みデータの第1ビット値がプログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する。コントローラ21は、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱した場合、エラー修正コードECCを通して第1ビット値を修正し、修正された第1ビット値と、書き込みデータの第2ビット値と、第2書き込みコマンドとを半導体メモリ装置22に供給する。一方、コントローラ21は、複数のメモリセルの閾値電圧の分布が第1電圧範囲を離脱しない場合、書き込みデータの第2ビット値と、第1書き込みコマンドとを半導体メモリ装置22に供給する。図4は、本発明の実施形態によるデータプログラミング方法を示すフローチャートである。図4を参照して、本発明の実施形態による半導体システムのデータプログラミング方法を詳細に説明する。データプログラミング方法は、書き込みデータの第1ビット値が、プログラミングされた複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階S100と、複数のメモリセルの閾値電圧の分布が、第1電圧範囲を離脱した場合、エラー修正コードECCを通して第1ビット値を修正する段階S200と、修正された第1ビット値及び書き込みデータの第2ビット値を複数のメモリセルに共にプログラミングする段階S400とを含む。ここで、複数のメモリセルの閾値電圧の分布が定められた第1電圧範囲を離脱したのかを判別する段階S100は、書き込みデータの第1ビット値を複数のメモリセルにプログラミングする段階S110と、複数のメモリセルに検証動作を遂行する段階S120とを含む。ここで、メモリセルは、3ビットのデータを保存することができるマルチレベルセルであると仮定して、最下位ビットが正常にプログラミングされた状態で、中間ビットが第1ビット値に該当して、最上位ビットが第2ビット値に該当すると定義する。また、第1ビット値を修正する段階S200は、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階S210と、エラー修正コードECCを利用して修正された第1ビット値を生成する段階S220とを含む。また、複数のメモリセルにプログラミングする段階S400は、修正された第1ビット値と、第2ビット値を伝達する段階S410と、修正された第1ビット値と、第2ビット値をページバッファにセッティングする段階S420と、プログラミングが完了されるまでプログラミング電圧パルス及び検証電圧パルスを複数のメモリセルに印加する段階S430、S440とを含む。すなわち、ページバッファにセッティングされたデータをISPPIncrementalStepPulseProgramming動作を通してメモリセルにプログラミングする。ISPP動作は、メモリセルにプログラミング電圧パルスを印加した後、プログラミング検証電圧パルスを印加してプログラミング状態を確認する動作を反復的に行うようになる。このような動作は、複数のメモリセルが予定されたプログラミングレベル分布、すなわち、予定された閾値電圧Vthの分布を有する時まで反復して行われる。一方、複数のメモリセルに検証動作を遂行する段階S120で複数のメモリセルの閾値電圧の分布が第1電圧範囲に含まれる場合、第2ビット値を伝達する段階S310と、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階S320と、第2ビット値をページバッファをセッティングする段階S420と、プログラミングが完了されるまでプログラミング電圧パルス及び検証電圧パルスを複数のメモリセルに印加する段階S430、S440とを通してデータプログラミング動作が行われる。参考として、第1ビット値がプログラミングされた複数のメモリセルに読み取り動作を行う段階S320が必要な理由は、第1ビット値がどんな値であるのかによって第2ビット値によるメモリセルの閾値電圧が決定されるからである。前述したように半導体システム及びデータプログラミング方法は、マルチビット形態のデータをマルチレベルセルに保存する時、第1ビット値の電荷損失が多く発生して閾値電圧Vthがずいぶん多くシフトされる場合、エラー修正コードECCを用いて第1ビット値を修正した後に、修正された第1ビット値と第2ビット値とを共にプログラミングする。したがって、電荷損失が多く発生しても、信頼性あるプログラミング動作を行うことができて、結果的にエラービット数を減少させることができる。このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できる。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表わされ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。