JP5652586B2 - メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード - Google Patents

メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード Download PDF

Info

Publication number
JP5652586B2
JP5652586B2 JP2009148655A JP2009148655A JP5652586B2 JP 5652586 B2 JP5652586 B2 JP 5652586B2 JP 2009148655 A JP2009148655 A JP 2009148655A JP 2009148655 A JP2009148655 A JP 2009148655A JP 5652586 B2 JP5652586 B2 JP 5652586B2
Authority
JP
Japan
Prior art keywords
memory
loop count
program
flash memory
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009148655A
Other languages
English (en)
Other versions
JP2010003401A (ja
Inventor
鍾 和 金
鍾 和 金
崔 永 準
永 準 崔
錫 千 權
錫 千 權
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2010003401A publication Critical patent/JP2010003401A/ja
Application granted granted Critical
Publication of JP5652586B2 publication Critical patent/JP5652586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、半導体メモリ装置に関し、より詳細には、メモリセルのオーバー−プログラム現状を防止することができるメモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカードに関する。
一般的な不揮発性メモリ装置のプログラム方法(例えば、特許文献1〜5参照)を説明するためのフローチャートを図1に示し、セル当たり1−ビットデータと2−ビットデータを格納する不揮発性メモリ装置のスレッショルド電圧分布を図2に示す。以下、一般的な不揮発性メモリ装置のプログラム方法について図1及び図2を参照して説明する。
図1に示すフローチャートは、特許文献1に“Nonvolatile Memory Device Having Improved Program Speed And Associated Programming Method”という名称で開示されている。
プログラム動作が開始されると、ステップS1で、プログラムされるデータが不揮発性メモリ装置にロードされる。プログラムされるデータのロードが完了すると、ステップS2で、ロードされたデータは、既知のプログラム方法によって不揮発性メモリ装置のメモリセルアレイにプログラムされる。
次のステップS3で、プログラムされたメモリセルが要求されるスレッショルド電圧を有するか否かを判定するために検証読み出し動作が実行される。検証読み出し動作によって読み出されたデータは、レジスタ内に臨時格納される。レジスタ内に格納されたデータは、所定の単位に順次に選択され、選択されたデータは、内部データバスに乗せる(ステップS4)。このような動作は、「列スキャン動作(Column scan operation)」と呼ばれる。
ステップS5で、内部データバス上に乗せた所定の単位のデータビットがプログラムパスデータ値を有するか否かが判定される。即ち、プログラム動作が成功したか否かが判定される。もし内部データバス上に乗せた所定の単位のデータビットのうち、少なくとも一つのデータビットがプログラムフェイル(fail)データ値を有すると、次のステップS6で、現在のプログラムループが最大のプログラムループであるか否かが判定される。
もし、現在のプログラムループが最大プログラムループではない場合、処理はステップS2にもどる。もし、現在のプログラムループが最大プログラムループである場合、ステップS7で、プログラミング動作がプログラムフェイルとして処理され、プログラミング処理が終了される。
ステップS5に戻ると、もし、内部データバス上に乗せた所定の単位のデータビットが全てのプログラムパスデータ値を有すると、ステップS8で、プログラミング動作は、プログラムパスとして処理され、プログラミング処理が終了する。
上述から分かるように、プログラミング動作は、複数のプログラムループを通じて実行され、各プログラムループは、プログラム区間(ステップS2)とプログラム検証区間(ステップS3〜S5)に構成される。プログラムループは、選択されたメモリセルの全てがプログラムされるまで、最大プログラムループ回数内で反復的に実行される。
従来技術で、よく知られるように、プログラム電圧は、プログラムループが反復される際、予め決められた増加量で増加される。即ち、プログラム動作は、ISPP(Incremental Stepping Pulse Program)スキームを利用して実行される。
プログラムされるデータビットのうち、一部(例えば、一つのデータビット)がプログラムされない場合にもプログラムループは、最大プログラムループ回数まで反復される。
プログラムループの増加によってプログラム電圧が増加するので、高電圧(例えば、プログラム電圧、パス電圧など)が印加されるメモリセルが過度にプログラムされうる。即ち、プログラム撹乱(program disturbance)及び/又はパス電圧撹乱(pass voltage disturbance)が発生する。
これは、図2に示すように、スレッショルド電圧分布が広くなる、及び/又はスレッショルド電圧分布の移動を誘発する。たとえプログラム動作がプログラムパスと判定されてもメモリセルの過度なプログラムは、スレッショルド電圧分布を広くさせ、スレッショルド電圧分布の移動によって読み出しエラーを誘発する。結果的に、不揮発性メモリ装置が使用できないことを示すデバイスフェイル(device fail)が発生する、という問題がある。
米国特許第7352630号明細書 韓国特許出願公開第1999−081541号明細書 特開2006−048783号公報 韓国特許出願公開第1999−081541号明細書 韓国特許第0648290号明細書
そこで、本発明は上記従来のメモリシステムの動作方法における問題点に鑑みてなされたものであって、本発明の目的は、メモリセルのオーバー−プログラム現象を防止することができるメモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカードを提供することにある。
上記目的を達成するためになされた本発明によるメモリシステムの動作方法は、フラッシュメモリ装置を含むメモリシステムの動作方法において、前記フラッシュメモリ装置の選択されたメモリブロックに属する少なくとも一つのページをプログラムする段階と、前記プログラムされたページのループ回数が基準ループ範囲を外れるか否かを前記フラッシュメモリ装置から前記プログラムされたページのループ回数を読み出し、前記選択されたメモリブロックのウェアレベリング(wear−leveling)情報に対応する前記基準ループ範囲の下限及び上限ループ回数をチェックし、前記読み出されたループ回数が前記下限ループ回数より少ないか、又は前記読み出されたループ回数が前記上限ループ回数より多いかどうかを判定する段階と、
下限ループ回数より少ないか、又は前記読み出されたループ回数が前記上限ループ回数より多いと判定された場合、前記プログラムされたページのデータがエラー訂正範囲を超過したか否かを判定する段階と、 前記選択されたメモリブロック又は前記フラッシュメモリ装置が無効であることを決定する段階と有することを特徴とする。
上記目的を達成するためになされた本発明によるメモリシステムは、フラッシュメモリ装置と、前記フラッシュメモリ装置を制御するように構成されたメモリ制御器とを有し、前記メモリ制御器は、上記したメモリシステムの動作方法によって前記フラッシュメモリ装置を制御することを特徴とする。
上記目的を達成するためになされた本発明によるメモリカードは、フラッシュメモリ装置と、前記フラッシュメモリ装置を制御するように構成されたメモリ制御器とを有し、前記メモリ制御器は、上記したメモリシステムの動作方法によって前記フラッシュメモリ装置を制御することを特徴とする。
本発明に係るメモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカードによれば、デバイスフェイルが発生するのを防止することによって信頼性を向上させることができるという効果がある。
一般的な不揮発性メモリ装置のプログラム方法を説明するためのフローチャートである。 セル当たり1−ビットデータと2−ビットデータを格納する不揮発性メモリ装置のスレッショルド電圧分布を示す図である。 本発明の一実施形態によるメモリシステムを概略的に示すブロック図である。 図3に示すメモリセルアレイの一部を示す回路図である。 本発明の一実施形態による図3に示す制御ロジックを概略的に示すブロック図である。 本発明の一実施形態によるメモリシステムのプログラム電圧の開始レベルを設定する方法を説明するためのフローチャートである。 本発明の他の実施形態によるメモリシステムのプログラム電圧の開始レベルを設定する方法を説明するためのフローチャートである。 本発明の一実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。 本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。 本発明の他の実施形態によるフラッシュメモリ装置のプログラム方法を説明するためのフローチャートである。 本発明の一実施形態によるメモリシステムの目標ループ回数を設定する方法を説明するためのフローチャートである。 本発明の他の実施形態によるメモリシステムの目標ループ回数を設定する方法を説明するためのフローチャートである。 本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。 図13の実施形態での各ページとそのループ回数の間の関係を示す表である。 本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。 図15のメモリシステムの動作方法によるデルタ関数テーブルを説明するための図である。 本発明によるメモリシステムを含むコンピュータシステムを概略的に示すブロック図である。 本発明の他の実施形態によるメモリシステムを示すブロック図である。 本発明のさらに他の実施形態によるメモリシステムを示すブロック図である。 ホストシステムに図18のカードが接続される実施形態を示すブロック図である。
次に、本発明に係るメモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカードを実施するため形態の具体例を図面を参照しながら説明する。
一般的な説明及び後記の詳細な説明の全てが例示的であることが理解されなければならないし、請求された発明の付加的な説明が提供されることとして考慮されるべきである。
参照符号が本発明の望ましい実施形態に詳細に表示され、それの例が参照図面に表示される。できれば、同一の参照番号が同一又は類似である部分を参照するために説明及び図面に使われる。
以下で、半導体メモリ装置としてフラッシュメモリ装置が本発明の特徴及び機能を説明するための一例に使われる。しかし、この技術分野に熟練された者は、ここに記載された内容によって本発明の異なる利点及び性能を容易に理解することができる。本発明は、他の実施形態を通じて具現される、或いは適用されることができる。その上、詳細な説明は、本発明の範囲、技術的思想、そして異なる目的から抜け出さないで観点及び応用によって修正、或いは変更されることができる。
本発明の実施形態によるメモリシステムは、メモリセルがプログラム電圧、及び/又はパス電圧の反復的な印加によって過度にプログラムされる現象(以下、「オーバー−プログラム現象」と称する)を減らすことによってデバイスフェイルが発生するのを防止するように構成される。より具体的には、オーバー−プログラム現象は、プログラム動作が成功裏に完了されたメモリセルから読み出されたデータが読み出しエラーデータとして判定されるようにする。
メモリセルのオーバープログラム現象は、多様な原因によって生じうる。
例えば、相対的に速いプログラム速度を有するメモリセルは、相対的に遅いプログラム速度を有するメモリセルによって過度にプログラムされうる。
これと共に、PEサイクリング(Program/Erase cycling)によって各メモリセルの酸化膜に電荷がトラップされ、その結果、メモリセルのスレッショルド電圧は、予想されるスレッショルド電圧より高く増加する。このようなスレッショルド電圧の増加は、プログラムループの反復によって結局メモリセルが過度にプログラムされてしまう。
基本的に、本発明は、ウェアレベリング(wear−leveling)情報(例えば、PEサイクル数)によってプログラム電圧の開始レベルを調整する機能、ウェアレベリング情報(例えば、PEサイクル数)によって各メモリブロック/ページ/チップの目標ループ回数を調整する機能、各メモリブロックのループ回数分布によって各メモリブロックを早期にバッドブロック(bad block)として処理する機能、各メモリブロックのループ回数によって各メモリブロックを早期にバッドブロックとして処理する機能、及び/又はこれら機能の選択的な組み合わせを実行するように構成される。これは、以下にてに詳細に説明される。このような機能のうち、何れか一つ又はそれの選択的な組み合わせを通じてメモリセルが過度にプログラムされることによって発生するデバイスフェイルを防止することができる。
図3は、本発明の一実施形態によるメモリシステムを概略的に示すブロック図であり、図4は、図3に示すメモリセルアレイの一部を示す回路図である。
図3を参照すると、本発明の一実施形態によるメモリシステムは、メモリ制御器100と、フラッシュメモリ装置200とを含む。
図3には、ただ一つのフラッシュメモリ装置200が示してある。しかし、複数のフラッシュメモリ装置が一つのメモリ制御器100によって制御されるようにメモリシステムを具現することもできる。
メモリ制御器100は、外部装置(例えば、ホスト)からの要請に応答してフラッシュメモリ装置200を制御する。メモリ制御器100は、フラッシュメモリ装置200のウェアレベリング情報(wear count information)(又は、PEサイクル情報)を管理するように構成される。このようなウェアレベリング情報は、メモリ110に格納される。
メモリ110は、DRAM又はSRAMのようなランダムアクセスメモリでありうる。
メモリ110は、一つ、又はそれより多いメモリにて構成されうる。メモリ110に格納されたウェアレベリング情報は、必要によってフラッシュメモリ装置200に再格納/バックアップされる(又は、格納される)。
メモリ制御器100は、フラッシュメモリ装置200、又はフラッシュメモリ装置200の各メモリブロックに対するプログラム電圧の開始レベルを調整するようにウェアレベリング情報に基づいてフラッシュメモリ装置200を制御する。
又は、メモリ制御器100は、フラッシュメモリ装置200、又はフラッシュメモリ装置200の各メモリブロックに対するプログラムループ回数(以下、「目標ループ回数」と称する)を調整するようにウェアレベリング情報に基づいてフラッシュメモリ装置200を制御する。
又は、メモリ制御器100は、フラッシュメモリ装置200、又はフラッシュメモリ装置200の各メモリブロックのループ回数分布が基準分布を超過するか否かによって各メモリブロックが早期にバッドブロックとして処理されるようにフラッシュメモリ装置200を制御する。
又は、メモリ制御器100は、プログラミング動作が実行されたページ/メモリブロックのプログラムループ回数によってメモリブロックが早期にバッドブロックとして処理されるようにフラッシュメモリ装置200を制御する。
上述のメモリ制御器100の機能は、単独に実行されるか、或いはこのような機能の選択的な組み合わせを通じて実行することができる。これは以後に詳細に説明される。
続いて、図3を参照すると、フラッシュメモリ装置200は、メモリセルアレイ210と、読み出し/書き込み回路220と、プログラム電圧発生回路230と、入出力インタフェース240と、制御ロジック250と、を含む。
メモリセルアレイ210は、行(例えば、ワードライン)と列(例えば、ビットライン)の交差領域に配列されたメモリセルを含み、各メモリセルは、1−ビットデータ、及び/又はM−ビットデータ(Mは、2又はそれより大きい正数)を格納する。メモリセルは、複数のメモリブロックを構成するように配列される。
本実施形態において、メモリブロックは、図4に示すように、複数のストリング(又は、NANDストリング)111を含む。各ストリング111は、ストリング選択ラインSSLに接続されたストリング選択トランジスタSSTと、接地選択ラインGSLに接続された接地選択トランジスタGSTと、対応するワードラインWL0〜WLi−1に各々接続された複数のメモリセルMC0〜MCi−1で構成される。各ストリング111は、対応するビットラインと共通ソースラインCSLの間に接続される。
再び、図3を参照すると、読み出し/書き込み回路220は、制御ロジック250によって制御されて、メモリセルアレイ210に対する読み出し及び書き込み動作を実行する。
例えば、読み出し動作の間、読み出し/書き込み回路220は、メモリセルアレイ210からデータを読み出し、読み出されたデータを入出力インタフェース240を通じてメモリ制御器100に出力する。
書き込み動作の間、読み出し/書き込み回路200は、入出力インタフェース240を通じてメモリ制御器100からデータを受信し、受信されたデータをメモリセルアレイ210に格納する。ここで、書き込み動作は、この分野で従来技術でよく知られた消去動作とプログラム動作を含む。
プログラム電圧発生回路230は、制御ロジック250の制御に応答して動作し、プログラミング動作に必要である電圧を発生する。このように発生された電圧は、メモリセルアレイ210、及び/又は読み出し/書き込み回路220に供給される。制御ロジック250は、フラッシュメモリ装置200の全般的な動作を制御するように構成される。
図5は、本発明の一実施形態による図3に示す制御ロジックを概略的に示すブロック図である。
図5を参照すると、本発明の一実施形態による制御ロジック250は、読み出し/プログラム/消去スケジューラ251と、ループカウンタ252と、プログラムレジスタ253と、状態レジスタ254と、を含む。
読み出し/プログラム/消去スケジューラ251は、入力命令に応答してフラッシュメモリ装置200の読み出し、プログラム、そして消去動作を制御するように構成される。
しかし、読み出し/プログラム/消去スケジューラ251の機能がこれに限定されないことは、この分野の通常の知識を有する者には自明である。
例えば、外部装置(例えば、メモリ制御器)から状態レジスタ254に対するアクセス動作が要請される際、読み出し/プログラム/消去スケジューラ251は、そのような要請に応答して状態レジスタ254に格納されたデータが外部に出力されるようにする。状態レジスタ254には、読み出し/プログラム/消去スケジューラ251の制御下でプログラム結果、即ち、プログラムパス(状態パス)又はプログラムフェイル(状態フェイル)を示す情報、ループカウンタ252の最後のプログラムループ回数を示す情報などが格納する。
ループカウンタ252は、読み出し/プログラム/消去スケジューラ251の制御に基づきプログラムループ回数をカウントする。
プログラムレジスタ253は、読み出し/プログラム/消去スケジューラ251の制御に従ってプログラムループ回数を格納するように構成される。
本実施形態の場合、このようなプログラムループ回数は、目標ループ回数として最大ループ回数となる。言い換えれば、目標ループ回数としての最大ループ回数は可変することができる。
プログラムレジスタ253は、又、読み出し/プログラム/消去スケジューラ251の制御によってプログラム電圧発生回路230によって生成されるプログラム電圧の開始レベルを決定するための情報を格納するように構成される。
読み出し/プログラム/消去スケジューラ251は、プログラミング動作の間、プログラムレジスタ253に格納されたプログラム電圧の開始レベルを決定するための情報に従ってステップ制御コードをプログラム電圧発生回路230に提供する。
ステップ制御コードは、読み出し/プログラム/消去スケジューラ251の制御下でプログラムループの反復によって増加/減少される。
あるいは、プログラムレジスタ253は、メモリセルアレイ210に属するメモリブロックに対するウェアレベリング情報を格納するように構成される。
プログラムレジスタ253には、目標ループ回数を示す情報、プログラム電圧の開始レベルを決定するための情報などがパワーアップの際の調整情報(trim information)としてメモリセルアレイ210の所定の領域からロードされる。このような情報は、テスト工程を通じてメモリセルアレイ210の所定の領域に格納される。本実施形態の場合、オーバー−プログラム現象を減らすために、プログラムレジスタ253に格納される情報は、外部装置(例えば、メモリ制御器)の要請によって変更することができ、これは以後に詳細に説明する。
本発明の一実施形態において、制御ロジック250のプログラムレジスタ253に格納されるプログラム電圧の開始レベルを示すデータは、多様な方法を通じて設定されうる。
例えば、プログラム電圧の開始レベルは、メモリブロック単位又はチップ単位で設定されうる。チップ単位でプログラム電圧の開始レベルが設定される場合、プログラム電圧の開始レベルはチップ、即ち、フラッシュメモリ装置のPEサイクル数の平均、最大/最小、又は範囲によって可変することができる。
これは、メモリ制御器100を通じてテーブル形式で管理される。このようなテーブル情報、即ち、フラッシュメモリ装置のPEサイクル平均数(最大/最小、又は範囲)とプログラム電圧の開始レベル間の関係を示す情報は、フラッシュメモリ装置200に格納され、パワーアップ際にメモリ制御器100のメモリ110にロードされる。この場合、プログラム電圧の開始レベルは以下のように設定される。
図6を参照して、本発明の一実施形態によるメモリシステムのプログラム電圧の開始レベルを設定する方法を示す。
先ず、電源がメモリシステムに供給される(ステップS10)、パワーアップ際、フラッシュメモリ装置200からメモリ制御器100のメモリ110にテーブル情報、即ち、フラッシュメモリ装置のPEサイクル平均数(最大/最小、又は範囲)とプログラム電圧の開始レベル間の関係を示す情報がロードされる。メモリ制御器100は、ロードされたテーブル情報に基づいてフラッシュメモリ装置200のプログラム電圧の開始レベルを設定する(ステップS12)。以後、外部装置(例えば、ホスト)から要請されたプログラミング動作を実行する(ステップS14)。
一方、メモリブロック単位にプログラム電圧の開始レベルが設定される場合、プログラム電圧の開始レベルは、各メモリブロックのPEサイクル数(又は範囲)によって可変することができる。これは、メモリ制御器100を通じてテーブル形式に管理される。このようなテーブル情報、即ち、フラッシュメモリ装置200の各メモリブロックのPEサイクル数(又は範囲)とプログラム電圧の開始レベル間の関係を示す情報は、フラッシュメモリ装置200に格納され、パワーアップ際、メモリ制御器100のメモリ110にロードされる。このような場合、プログラム電圧の開始レベルは、次のように設定される。
図7は、本発明の他の実施形態によるメモリシステムのプログラム電圧の開始レベルを設定する方法を説明するためのフローチャートである。
図7を参照すると、パワーアップ時、フラッシュメモリ装置200からメモリ制御器100のメモリ110にテーブル情報、即ち、各メモリブロックのPEサイクル数(又は範囲)とプログラム電圧の開始レベル間の関係を示す情報がロードされ、次に外部装置(例えば、ホスト)からプログラミング動作が要請される(ステップS20)。
プログラミング動作が要請されると、メモリ制御器100は、メモリ110に格納されたテーブル情報に基づいてフラッシュメモリ装置200のプログラム電圧の開始レベルを設定する(ステップS22)。即ち、メモリ制御器100は、プログラムされるメモリブロックに対応するプログラム電圧の開始レベルを示すデータをフラッシュメモリ装置200に伝送し、フラッシュメモリ装置200は、入力されたデータ(プログラム電圧の開始レベルを示す)をプログラムレジスタ253に格納する。その次に、要請されたプログラミング動作を実行する(ステップS24)。
プログラム電圧の開始レベルは、尚、プログラムされたページのループ回数を参照して変更されうる。例えば、プログラミング動作が終了した後にフラッシュメモリ装置から読み出されたループ回数が所定の(又は基準)ループ回数より少ないか否かによってフラッシュメモリ装置又は各メモリブロックのプログラム電圧の開始レベルをメモリ制御器100の制御によって調整することができる。
図8は、本発明の一実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。
説明の前に、メモリ制御器100は、フラッシュメモリ装置200のウェアレベリングを管理するように構成される。これは、本実施形態において、フラッシュメモリ装置200のメモリブロックに対する消去カウント値(又は、PEサイクル値)がメモリ制御器100によって管理されることを意味する。そのようなPEサイクル値は、フラッシュメモリ装置200のメモリセルアレイ210に格納され、パワーアップ時にメモリ制御器100のメモリ110にロードされる。
本実施形態によるメモリシステムは、プログラミング動作が完了した後にプログラムされたページのループ回数を読み出すように構成される。オーバー−プログラム現象によるデバイスフェイルの発生を防止するために、本実施形態によるメモリシステムは、読み出されたループ回数によってプログラムされたページを含むメモリブロックをバッドブロックとして処理する。以下に具体的に説明する。
この分野の通常的な知識を有した者によく知られるように、プログラミング動作の間に反復されたプログラムループの回数は、最終的にフラッシュメモリ装置200のループカウンタ252に格納されている。プログラミング動作が完了すると、メモリ制御器100は、プログラムループ回数を読み出すための命令をフラッシュメモリ装置200に出力する。即ち、メモリ制御器100は、フラッシュメモリ装置200からループ回数を読み出す(ステップS100)。
その次に、メモリ制御器100は、メモリ110に格納されたプログラムされたメモリブロックのPEサイクル値をチェックする(ステップS110)。
ここで、メモリ110には、PEサイクル値(又は、PEサイクル範囲)及びそれに対応する所定の(又は基準)ループ回数(又は、範囲)例えば、下限ループ回数及び上限ループ回数が格納され、これはメモリ制御器100によって管理される。
メモリ制御器100は、読み出されたループ回数がチェックされたPEサイクル値に対応する下限ループ回数より少ないか、又は上限ループ回数より多いか否かを判定する(ステップS120)。即ち、メモリ制御器100は、読み出されたループ回数が下限及び上限ループ回数によって定義される基準ループ範囲を外れるか否かを判定する。
もし読み出されたループ回数がチェックされたPEサイクル値に対応する下限ループ回数より少ないと判定されるか、又は、読み出されたループ回数がチェックされたPEサイクル値に対応する上限ループ回数より多いと判定された場合、手続はステップS130に進行する。
ステップS130で、メモリ制御器100は、プログラムされたメモリブロックをバッドブロックとして処理する。
これに対し、読み出されたループ回数がチェックされたPEサイクル値に対応する下限ループ回数より多いと判定されるか、或いは、読み出されたループ回数がチェックされたPEサイクル値に対応する上限ループ回数より少ないと判定される場合、手続は終了する。
本実施形態において、プログラムされたメモリブロック、又は、プログラムされたページのループ回数が下限ループ回数より少ないということは、プログラムされたページのメモリセルが速いプログラム特性を有することを意味する。このような理由で、このようなメモリセルは、異なるページに対するプログラミング動作の間にパス電圧撹乱によって過度にプログラムされうる。
又、プログラムされたメモリブロック、又は、プログラムされたページのループ回数が上限ループ回数より多いということは、プログラムされたページのメモリセルが遅いプログラム特性を有することを意味する。これは、異なるページのメモリセルが遅いプログラム特性を有するメモリセルのプログラム動作の間にパス電圧撹乱によって過度にプログラムされうることを意味する。
あるいは、共通の行に接続されたメモリセルは、遅いプログラム特性を有するメモリセルの反復的なプログラム動作、即ち、プログラム撹乱によって過度にプログラムされうる。従って、オーバー−プログラム現象を誘発しうるページ、又はそれを含むメモリブロックを早期に除去することによってデバイスフェイルの発生を防止することができる。
本実施形態において、図8で説明した動作(即ち、ループ回数を読み出す動作)は、フラッシュメモリ装置200の平均PEサイクル値(又は、最小/最大PEサイクル値)が予めに設定されたPEサイクル値を超過する時、又は、所定の(又は、基準)期間を超過する時、PEサイクル値に関係がなく常に実行される。
しかしながら、本発明がここに開示したことに限定されないということは、この分野の通常的な知識を有した者には自明である。
図9は、本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。
図9で、ステップS200〜S220は、図8のステップS100〜S120と実質的に同一であり、それに対する説明は省略する。
ステップS220を参照すると、もし読み出されたループ回数がチェックされたPEサイクル値に対応する下限ループ回数より少ないと判定されるか、又は、読み出されたループ回数がチェックされたPEサイクル値に対応する上限ループ回数より多いと判定される場合、手続はステップS230に進行する。
ステップS230で、メモリ制御器100は、プログラムされたページに対する読み出し動作が実行されるようにフラッシュメモリ装置200を制御する。即ち、プログラムされたページから読み出されたデータは、フラッシュメモリ装置200からメモリ制御器100に出力される。
メモリ制御器100のエラー検査訂正回路(以下、「ECC回路」と称する、図示せず)は、フラッシュメモリ装置200から出力されたデータのエラーを検出して、検出されたエラーがECC回路のエラー訂正範囲を外れるか否かを判定する(ステップS240)。
もし、検出されたエラーがECC回路のエラー訂正範囲を外れないと判定されると、手続は終了する。
これに対し、検出されたエラーがECC回路のエラー訂正範囲を外れると判定される場合、手続はステップS250に進行する。ステップS250で、メモリ制御器100は、プログラムページ、又はそれを含むメモリブロックをバッドブロックとして処理する。
本実施形態において、上述の動作は、チップ単位又はページ単位に実行する。さらに、読み出されたループ回数が基準ループ範囲を外れない時、そして読み出されたループ回数が下位ループ回数の以下である時、プログラム電圧の開始レベルがメモリ制御器100の制御によって上述の方法に従って調整される。
遅くプログラムされるメモリセルは、反復的なプログラムループの実行を必要として、これは速くプログラムされるメモリセルのオーバー−プログラム現象を誘発する。
これに対し、速くプログラムされるメモリセルは、異なるメモリセルのプログラミング動作の間にプログラム撹乱又はパス電圧撹乱によって過度にプログラムされる。従って、プログラムループ回数が予めに設定された(基準)ループ範囲(下限及び上限ループ回数によって決定される)を外れるプログラムループ回数を有するページ又はそれを含むメモリブロックは、デバイスフェイルを誘発しうる。
このような理由で、このようなページ又はそれを含むメモリブロックを早期にバッドブロックとして処理することによってデバイスフェイルの発生を防止することができる。
図10は、本発明の他の実施形態によるフラッシュメモリ装置のプログラム方法を説明するためのフローチャートである。
プログラミング動作を説明するに前に、本実施形態によれば、目標ループ回数は、制御ロジック250のプログラムレジスタ253に格納され、目標ループ回数がメモリ制御器100の制御によって可変可能であるということに留意するべきである。例えば、目標ループ回数は、パワーアップ時、又は、毎プログラミング動作前にメモリ制御器100の制御によってプログラムレジスタ253に格納される。
プログラムされるデータは、入出力インタフェース240を通じて読み出し/書き込み回路220にロードされ、ロードされたデータは、制御ロジック250の制御によって読み出し/書き込み回路220を通じてメモリセルアレイ210にプログラムされる(ステップS300)。
プログラミング動作が実行された後、プログラミング動作が成功裏に実行されたか否かを判定する(ステップS310)。
プログラミング動作が成功裏に実行されたか否かは、検証読み出し動作と列スキャン動作を通じて判定されうる。
検証読み出し動作の間、読み出し/書き込み回路220は、プログラムされたメモリセルからデータを読み出す。
列スキャン動作の間、読み出し/書き込み回路220は、読み出されたデータを所定の単位で選択し、選択されたデータビットがプログラムパスデータであるか否かを判定する。
判定結果は、制御ロジック250に伝えられる。もし、選択されたデータビットのうち、少なくとも一つがプログラムフェイルデータであると、即ち、判定結果がプログラムフェイルを示すと、制御ロジック250は、列スキャン動作を中止させるように読み出し/書き込み回路220を制御する。
もしプログラムされたメモリセルから読み出されたデータの全てがプログラムパスデータであると、制御ロジック250は、プログラムパスを示す状態データを状態レジスタ254に格納し、手続は終了する。
もし選択されたデータビットのうち、少なくとも一つがプログラムフェイルデータであると、即ち、判定結果がプログラムフェイルを示すと、制御ロジック250、即ち、読み出し/プログラム/消去スケジューラ251は、ループカウンタ252のループカウント値がプログラムレジスタ253に格納された目標ループ回数に到達したか否かを判定する(ステップS320)。
もし、ループカウンタ252のループカウント値がプログラムレジスタ253に格納された目標ループ回数に到達していないと判定されると、ループカウンタ252のループカウント値は、読み出し/プログラム/消去スケジューラ251の制御によって1つ増加される(ステップS330)。その次に、手続はステップS300に進行する。
もしループカウンタ252のループカウント値がプログラムレジスタ253に格納された目標ループ回数に到達したと判定されると、手続はステップS340段階に進行する。
ステップS340では、フェイルビット数がカウントされる。読み出し/書き込み回路220は、検証読み出し動作を通じて読み出されたデータのうち、最後に選択されたデータ(プログラムフェイルを誘発したデータ)及び選択されていないデータに含まれたフェイルビット数をカウントする。
その次に、ステップS350で、制御ロジック252は、カウントされたフェイルビット数がメモリ制御器100のエラー訂正可能であるビット数を超過するか否かを判定する。もしカウントされたフェイルビット数がメモリ制御器100のエラー訂正可能であるビット数を超過していないと判定されると、プログラミング動作は、プログラムパスとして終了する。
もし、カウントされたフェイルビット数がメモリ制御器100のエラー訂正可能であるビット数を超過したと判定されると、プログラミング動作は、プログラムフェイルとして終了される(ステップS360)。
上述のフェイルビット数をカウントする動作及び回路の例示的な実施形態が上述の特許文献1に掲載され、この出願のレファレンスに含まれる。
制御ロジック250のプログラムレジスタ253に格納される目標ループ回数は、多様な方法を通じて設定されうる。例えば、目標ループ回数は、メモリブロック単位又はチップ単位で設定されうる。チップ単位で目標ループ回数が設定される場合、目標ループ回数はチップ、即ち、フラッシュメモリ装置の平均(又は、最大/最小)PEサイクル数(又は、範囲)によって可変することができる。
これは、メモリ制御器100を通じてテーブル形式に管理される。このようなテーブル情報、即ち、フラッシュメモリ装置の平均(又は、最大/最小)PEサイクル数(又は、範囲)と目標ループ回数間の関係を示す情報は、フラッシュメモリ装置200に格納され、パワーアップ時にメモリ制御器100のメモリ110にロードされる。このような場合、目標ループ回数は次のように設定される。
図11は、本発明の一実施形態によるメモリシステムの目標ループ回数を設定する方法を説明するためのフローチャートである。
図11を参照すると、先ず、電力がメモリシステムに供給される(ステップS400)。
パワーアップ時、フラッシュメモリ装置200からメモリ制御器100のメモリ110にテーブル情報、即ち、フラッシュメモリ装置の平均(又は、最大/最小)PEサイクル数(又は、範囲)と目標ループ回数間の関係を示す情報がロードされる。メモリ制御器100は、ロードされたテーブル情報に基づいてフラッシュメモリ装置200の目標ループ回数を設定する(ステップS410)。
以後、外部装置(即ち、ホスト)から要請されたプログラミング動作を実行する。プログラミング動作は、図10で説明した方法で実行するか、或いはこの分野でよく知られる既知の方法で実行する。
一方、メモリブロック単位で目標ループ回数が設定される場合、目標ループ回数は、各メモリブロックのPEサイクル数(又は、範囲)によって可変することができる。これは、メモリ制御器100を通じてテーブル形式に管理される。このようなテーブル情報、即ち、フラッシュメモリ装置200の各メモリブロックのPEサイクル数(又は、範囲)と目標ループ回数間の関係を示す情報は、フラッシュメモリ装置200に格納され、パワーアップ時にメモリ制御器100のメモリ110にロードされる。このような場合、目標ループ回数は次のように設定される。
図12は、本発明の他の実施形態によるメモリシステムの目標ループ回数を設定する方法を説明するためのフローチャートである。
図12を参照すると、パワーアップ時、フラッシュメモリ装置200からメモリ制御器100のメモリ110にテーブル情報、即ち、各メモリブロックのPEサイクル数(又は、範囲)と目標ループ回数間の関係を示す情報がロードされる。以後、外部装置(例えば、ホスト)からプログラミング動作が要請される(ステップS500)。
プログラミング動作が要請されると、メモリ制御器100は、メモリ110に格納されたテーブル情報に基づいてフラッシュメモリ装置200の目標ループ回数を設定する(ステップS510)。即ち、メモリ制御器100は、プログラムされるメモリブロックに対応する目標ループ回数をフラッシュメモリ装置200に伝送し、フラッシュメモリ装置200は、入力された目標ループ回数をプログラムレジスタ253に格納する。
その次に、要請されたプログラミング動作を実行する(ステップS520)。プログラミング動作は、図10で説明した方法で実行するか、或いはこの分野でよく知られる既知の方法で実行する。
目標ループ回数は、外部装置(例えば、メモリ制御器)に関わりなく設定される。例えば、各メモリブロックのPEサイクル数を示すデータがパワーアップ時、制御ロジック250のプログラムレジスタ253にロードされて、アクセスされたメモリブロックのアドレス情報に基づいて目標ループ回数が決定される。
一般的に、プログラムループ回数は、PEサイクル数が増加することによって減少する。
これは電荷トラップによってスレッショルド電圧が増加されるためである。
上述の目標ループ回数を調整してオーバープログラム現象によるデバイスフェイルの発生を防止する。
又は、プログラム電圧の開始レベルを調整することによってオーバープログラム現象によるデバイスフェイルの発生を防止する。
例えば、メモリ制御器100は、各ページ/メモリブロック/チップのPEサイクル値(又は、範囲)とそれに対応するプログラム電圧の開始レベル間の関係をテーブル形式に管理して、このようなテーブルを利用して各ページ/メモリブロック/チップのプログラム電圧の開始レベルをフラッシュメモリ装置200に提供する。
ページ/メモリブロック単位でプログラム電圧の開始レベルが管理される場合、プログラミング動作が要請されるたびごとにプログラム電圧の開始レベルを示すデータがフラッシュメモリ装置200に提供される。
一方、チップ単位でプログラム電圧の開始レベルが管理される場合、パワーアップ時にプログラム電圧の開始レベルを示すデータがフラッシュメモリ装置200に提供される。
フラッシュメモリ装置200に提供されるデータは、制御ロジック250のプログラムレジスタ253に格納される。
あるいは、フラッシュメモリ装置200は、メモリ制御器100とは関わりなしにそれ自体でプログラム電圧の開始レベルを管理するように構成する。例えば、パワーアップ以後で、プログラミング動作以前にプログラムレジスタ253に各メモリブロック/ページのPEサイクル値が格納される。
メモリブロック/ページに対するプログラミング動作が要請された時、制御ロジック250は、プログラムレジスタ253に格納されたPEサイクル情報に基づいて開始レベルを決定するためのデータをプログラム電圧発生回路230に提供する。プログラム電圧発生回路230は、入力されたデータによって決定されるプログラム電圧を発生する。
本発明の他の実施形態により、ループ回数分布を管理することによって、オーバープログラム現象によるデバイスフェイルの発生を防止することが可能である。より具体的な説明は次の通りである。
図13は、本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートであり、図14は、図13の実施形態での各ページとそのループ回数間の関係を示す表である。
先ず、フラッシュメモリ装置200に対するプログラミング動作を実行する(ステップS600)。
プログラミング動作が完了すると、メモリ制御器100は、フラッシュメモリ装置200からプログラムされたページのループ回数を読み出す(ステップS610)。
これは上述の図8で説明したものと同様に実行され、それに対する説明は省略する。
読み出されたループ回数は、図14に示すように、メモリ制御器100によってテーブル形式に管理される。このようなテーブルを以下「デルタ関数テーブル」(delta distribution table)と称する。
フラッシュメモリ装置200からループ回数が読み出されたことによって、デルタ関数テーブルは、メモリ制御器100によって更新される(ステップS620)。
デルタ関数テーブルは、メモリ制御器100のメモリ110に格納されて、必要時にフラッシュメモリ装置200に再格納/バックアップされる。フラッシュメモリ装置200に格納されたデルタ関数テーブルは、パワーアップ時にメモリ制御器100のメモリ110にロードされる。
ステップS630で、メモリ制御器100は、デルタ関数テーブルに基づいて各メモリブロックのデルタ関数値が基準デルタ関数値を超過するか否かを判定する。即ち、メモリ制御器100は、デルタ関数テーブルに、基準デルタ関数値としての基準ループ範囲を外れるループ回数が存在するか否かを判定する。
ここで、各メモリブロックのデルタ関数値は、最小のループ回数と最大ループ回数の差を意味する。例えば、図14を参照すると、メモリブロックBLK0は、最小ループ回数が「1」で、最大ループ回数が「6」だと仮定すると、「5」のデルタ関数値を有する。
又は、メモリブロックBLK1は、最小ループ回数が「1」で、最大ループ回数が「4」だと仮定すると「3」のデルタ関数値を有する。本実施形態において、基準デルタ関数値が「3」だと仮定する。このような仮定において、メモリブロックBLK0のデルタ関数値が基準デルタ関数値を超過するので、メモリブロックBLK0は、バッドブロックとして処理される(ステップS640)。もし、各デルタ関数値が基準デルタ関数値を超過していないと判定されると、手続は終了する。
本実施形態において、プログラミング動作が終了するたびごとに、デルタ関数テーブルが更新される。その一方で、各メモリブロックのデルタ関数値が基準デルタ関数値を超過するか否かの判定は、異なる時点でなされる。
デルタ関数値が基準デルタ関数値を超過する場合、少ないループ回数(例えば、1回又は2回)を有するページのメモリセルは、多いループ回数(例えば、5回又は6回)を有するページのプログラミング動作の間に過度にプログラムされる。そのようなメモリセルによってデバイスフェイルが誘発されうるので、早期にそのようなページを有するメモリブロックをバッドブロックとして処理することによってデバイスフェイルの発生を防止することが可能である。
図15は、本発明の他の実施形態によるメモリシステムの動作方法を説明するためのフローチャートである。
図15において、ステップS700〜ステップS730は、図13に示したことと実質的に同様であり、それに対する説明は省略する。
ステップS730を参照すると、もし各デルタ関数値が基準デルタ関数値を超過しないと判定された場合、手続はステップS750に進行する。
ステップS750で、メモリ制御器100は、デルタ関数テーブルに基づいて所定(又は、基準)のループ回数(例えば、1回又は2回)より少ないループ回数を含むページが存在するか否かを判定する。
ここで、所定(又は、基準)のループ回数内でプログラムされるメモリセルは、異なるページのプログラミング動作の間にストレスを受けて、その結果、所定(又は、基準)のループ回数内でプログラムされるメモリセルは過度にプログラムされる。言い換えれば、そのようなメモリセルは、速い速度でプログラムされる。所定(又は、基準)のループ回数内でプログラムされるメモリセルのオーバープログラム現象を防止するためにプログラム電圧の開始レベルを調整する(ステップS760)。
即ち、所定(又は、基準)のループ回数(例えば、1回又は2回)より少ないループ回数を含むページが存在すると判定されると、ステップS760でプログラム電圧の開始レベルを調整する。これは前述した同様の方法によって実行され、それに対する説明は省略する。
上述によれば、デルタ関数テーブルがループ回数を通じて管理される。しかし、本発明がこれに限定されないことはこの分野の通常的な知識を有した者に自明である。例えば、プログラミング動作が実行される間に、図16に示すように、メモリ制御器100は、フラッシュメモリ装置200の各メモリブロックに属するページの各々の制御信号(例えば、R/nB)の活性化時間を測定する。メモリ制御器100は、このように測定される時間を利用してデルタ関数テーブルを構築して、このようなデルタ関数テーブルは、図13及び図15で説明した動作方法に使用する。
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持することができる不揮発性メモリ装置である。
セルラーフォン、PDAデジタルカメラ、ポータブルゲームコンソール、そしてMP3Pのようなモバイル装置の使用増加によって、フラッシュメモリ装置は、データストレージのみではなくコードストレージとして広く使われている。
フラッシュメモリ装置は、尚、HDTV、DVD、ルータ、そしてGPSのようなホームアプリケーションに使用されている。
図17は、本発明によるメモリシステムを含むコンピュータシステムを概略的に示すブロック図である。
本発明によるコンピュータシステム2000は、バス2001に電気的に接続されたマイクロプロセッサ2100と、ユーザインタフェース2200と、ベースバンドチップセット(baseband chipset)のようなモデム2300と、メモリ制御器2400と、フラッシュメモリ装置2500とを含む。
メモリ制御器2400は、図1に示したメモリ制御器に対応し、フラッシュメモリ装置2500は、図1に示したものと実質的に同様に構成される。
フラッシュメモリ装置2500には、マイクロプロセッサ2100によって処理された又は処理されるN−ビットデータ(Nは、1又はそれより大きい正数)がメモリ制御器2400を通じて格納される。
本発明によるコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリ2600が追加的に提供される。図面には示さなかったが、本発明によるコンピュータシステムには、応用チップセット(application chipset)、カメライメージプロセッサ(CIS:Camera Image Processor)、モバイルDRAMなどをさらに含むことができるということは、この分野の通常的な知識を有した者には自明である。
メモリ制御器2400とフラッシュメモリ装置2500は、例えば、データを格納するのに不揮発性メモリを使用するSSD(Solid State Drive/Disk)を構成しうる。又は、メモリ制御器2400とフラッシュメモリ装置2500は、データを格納するのに不揮発性メモリを使用するメモリカードを構成しうる。
図18は、本発明の他の実施形態によるメモリシステムを示すブロック図である。
図18に示すメモリシステムは、メモリ510とメモリ制御器520がカード530を構成するように具現されるという点を除外すると図3と近似している。
例えば、カード530は、フラッシュメモリカードのようなメモリカードでありうる。
即ち、カード530は、デジタル、カメラ、個人コンピュータなどのような電子装置を使用するための工業基準を満足するカードでありうる。メモリ制御器520がカード530において、異なる装置(例えば、外部装置)から受信された制御信号に基づいてメモリ510を制御しうるということが理解される。
図19は、本発明のさらに他の実施形態によるメモリシステムを示すブロック図である。
図19に示すシステムは、携帯用装置6000を示す。
携帯用装置6000は、MP3プレーヤ、ビデオプレーヤ、コンビネーションビデオ及びオーディオプレーヤなどでありうる。図に示すように、携帯用装置6000は、メモリ510と、メモリ制御器520とを含む。またさらに、携帯用装置6000は、エンコーダ/デコーダ610と、プレゼンテーション構成要素620と、インタフェース630とを含みうる。
エンコーダ/デコーダ(EDC)610によって処理されたデータ(例えばビデオデータ、又はオーディオデータ)は、メモリ制御器520を通じてメモリ510に入力されて、メモリ510から出力される。図19の点線によって示すように、データは、EDC610からメモリ510に直接入力され、さらに/又はメモリ510からEDC610に直接出力される。
EDC610は、メモリ510に格納するためにデータをエンコーディングする。
例えば、EDC610は、メモリ510に格納するためにオーディオデータに対してMP3エンコーディングを実行する。
あるいはまた、EDC610は、メモリ510に格納するためにビデオデータに対してMPEGエンコーディング(例えば、MPEG2、MPEG4など)を実行する。
又、EDC610は、異なるデータフォーマットによって、異なるタイプのデータをエンコーディングするための複数のエンコーダを含むことができる。例えば、EDC610は、オーディオデータのためのMP3インコーダ及びビデオデータのためのMPEGインコーダを含むことができる。
EDC610は、メモリ510からの出力をデコーディングする。
例えば、EDC610は、メモリ510から出力されたオーディオデータに対してMP3デコーディングを実行する。
あるいはまた、EDC610は、メモリ510から出力されたビデオデータに対してMPEGデコーディング(例えば、MPEG2、MPEG4など)を実行する。
又、EDC610は、異なるデータフォーマットによって異なるタイプのデータをデコーディングするための複数のデコーダを含むことができる。例えば、EDC610は、オーディオデータのためのMP3デコーダと、ビデオデータのためのMPEGデコーダとを含むことができる。
EDC610がデコーダのみを含むことができるということが理解されるはずである。
例えば、既にエンコーディングされたデータは、EDC610によって受信されて、メモリ制御器520及び/又はメモリ510に渡される。
EDC610は、インタフェース630を通じてエンコーディングのためのデータを受信する、或いは既にエンコーディングされたデータを受信する。
インタフェース630は、既知の標準(例えば、ファームウエア、USBなど)に従う。インタフェース630は、また、一つ以上のインタフェースを含むことができる。例えば、インタフェース630は、ファームウエアインタフェース、USBインタフェースなどを含みうる。メモリ510からのデータは、インタフェース630を通じて出力される。
プレゼンテーション構成要素620は、メモリから出力され、さらに/又はEDC610によってデコーディングされたデータをユーザに表示する。例えば、プレゼンテーション構成要素620は、オーディオデータを出力するためのスピーカージャック、ビデオデータを出力するためのディスプレースクリーンなどを含みうる。
図20は、ホストシステム7000に図18のカード530が接続される実施形態を示すブロック図である。
本実施形態で、メモリ制御器520がメモリ510の動作を制御するようにホストシステム7000は制御信号をカード530に印加する。
本発明によるフラッシュメモリ装置、及び/又はメモリ制御器は、多様な形態のパッケージを利用して実装することができる。
例えば、本発明によるフラッシュメモリ装置、及び/又はメモリ制御器は、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 Package(MQFP)、Thin Quad Flat Package(TQFP)、Small Outline IC(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline Package(TSOP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)などのようなパッケージを利用して実装されうる。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
100、520、2400 メモリ制御器
110、510 メモリ
200、2500 フラッシュメモリ装置
210 メモリセルアレイ
220 読み出し/書き込み回路
230 プログラム電圧発生回路
240 入出力インタフェース
250 制御ロジック
251 読み出し/プログラム/消去スケジューラ
252 ループカウンタ
253 プログラムレジスタ
254 状態レジスタ
530 カード
610 エンコーダ/デコーダ(EDC)
620 プレゼンテーション構成要素
630 インタフェース
2000 コンピュータシステム
2100 マイクロプロセッサ
2200 ユーザインタフェース
2300 モデム
2600 バッテリ
6000 携帯用装置
7000 ホストシステム

Claims (11)

  1. フラッシュメモリ装置を含むメモリシステムの動作方法において、
    前記フラッシュメモリ装置の選択されたメモリブロックに属する少なくとも一つのページをプログラムする段階と、
    前記プログラムされたページのループ回数が基準ループ範囲を外れるか否かを前記フラッシュメモリ装置から前記プログラムされたページのループ回数を読み出し、
    前記選択されたメモリブロックのウェアレベリング(wear−leveling)情報に対応する前記基準ループ範囲の下限及び上限ループ回数をチェックし、
    前記読み出されたループ回数が前記下限ループ回数より少ないか、又は前記読み出されたループ回数が前記上限ループ回数より多いかどうかにより判定する段階と、
    前記読み出されたループ回数が前記下限ループ回数より少ないか、又は前記読み出されたループ回数が前記上限ループ回数より多いと判定された場合、前記プログラムされたページのデータがエラー訂正範囲を超過したか否かを判定する段階と、
    前記選択されたメモリブロック又は前記フラッシュメモリ装置が無効であることを決定する段階と
    を有することを特徴とするメモリシステムの動作方法。
  2. 前記プログラムされたページのループ回数が前記基準ループ範囲を外れないと判定されるか、又は前記プログラムされたページのループ回数が前記下限ループ回数より少ないと判定された場合、
    前記フラッシュメモリ装置のプログラム電圧の開始レベルを調整する段階をさらに有することを特徴とする請求項に記載のメモリシステムの動作方法。
  3. 前記プログラムされたページのデータがエラー訂正範囲を超過しないと判定された場合、
    前記プログラムされたページを含むメモリブロックは有効であると決定されることを特徴とする請求項1に記載のメモリシステムの動作方法。
  4. 前記プログラムされたページのデータがエラー訂正範囲を超過すると判定された場合、
    前記プログラムされたページを含むメモリブロックは無効であると決定されることを特徴とする請求項1に記載のメモリシステムの動作方法。
  5. 前記メモリシステムは、メモリカード、SSD(solid state disk)、携帯用装置の記録媒体、コンピュータ装置の記録媒体のうちの何れか一つであることを特徴とする請求項に記載のメモリシステムの動作方法。
  6. 前記プログラムされたページのループ回数が前記基準ループ範囲を外れるか否かの決定は、前記フラッシュメモリ装置から出力されるレディー(ready)又はビジー(busy)信号の活性化時間を測定することによって決定されることを特徴とする請求項に記載のメモリシステムの動作方法。
  7. 前記ページをプログラムする段階は、前記ページに属するメモリセルからロードされたデータにプログラムする段階と、
    前記ページのメモリセルが正常にプログラムされたか否かを判定する段階と、
    前記ページのメモリセルのうちの少なくとも一つが正常にプログラムされなかったと判定された場合、現在のループ回数が可変可能である目標ループ回数に到達したか否かを判定する段階と、
    現在のループ回数が可変可能である目標ループ回数に到達したと判定された場合、前記プログラムされたページに含まれたフェイル(fail)ビット数が訂正可能であるビット数を超過したか否かを判定する段階と、
    前記ページに含まれたフェイルビット数が訂正可能であるビット数を超過していないと判定された場合、プログラム手続を現状パス(status pass)として終了する段階とを含むことを特徴とする請求項に記載のメモリシステムの動作方法。
  8. 前記可変可能である目標ループ回数は、前記選択されたメモリブロックのウェアレベリング情報に従ってパワーアップの際に設定されることを特徴とする請求項に記載のメモリシステムの動作方法。
  9. 前記可変可能である目標ループ回数は、前記選択されたメモリブロックのウェアレベリング情報に従って前記選択されたメモリブロックに対するプログラミング動作が要請される毎に設定されることを特徴とする請求項に記載のメモリシステムの動作方法。
  10. フラッシュメモリ装置と、
    前記フラッシュメモリ装置を制御するように構成されたメモリ制御器とを有し、
    前記メモリ制御器は、請求項に記載された動作方法によって前記フラッシュメモリ装置を制御することを特徴とするメモリシステム。
  11. フラッシュメモリ装置と、
    前記フラッシュメモリ装置を制御するように構成されたメモリ制御器とを有し、
    前記メモリ制御器は、請求項に記載された動作方法によって前記フラッシュメモリ装置を制御することを特徴とするメモリカード。
JP2009148655A 2008-06-23 2009-06-23 メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード Active JP5652586B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080059067A KR101464255B1 (ko) 2008-06-23 2008-06-23 플래시 메모리 장치 및 그것을 포함한 시스템
KR10-2008-0059067 2008-06-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014046741A Division JP5916155B2 (ja) 2008-06-23 2014-03-10 メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード

Publications (2)

Publication Number Publication Date
JP2010003401A JP2010003401A (ja) 2010-01-07
JP5652586B2 true JP5652586B2 (ja) 2015-01-14

Family

ID=41431130

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009148655A Active JP5652586B2 (ja) 2008-06-23 2009-06-23 メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
JP2014046741A Active JP5916155B2 (ja) 2008-06-23 2014-03-10 メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014046741A Active JP5916155B2 (ja) 2008-06-23 2014-03-10 メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード

Country Status (3)

Country Link
US (2) US7995393B2 (ja)
JP (2) JP5652586B2 (ja)
KR (1) KR101464255B1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100908299B1 (ko) * 2008-10-16 2009-07-17 (주)참빛 다이오드 패키지용 리드프레임 기판 및 이를 구비한다이오드 패키지
US8358540B2 (en) * 2010-01-13 2013-01-22 Micron Technology, Inc. Access line dependent biasing schemes
US8737141B2 (en) * 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8638632B2 (en) 2010-09-23 2014-01-28 Micron Technology, Inc. Access line management in a memory device
JP2012155806A (ja) 2011-01-28 2012-08-16 Toshiba Corp 不揮発性半導体記憶装置
US8451662B2 (en) * 2011-03-03 2013-05-28 Micron Technology, Inc. Reading memory cell history during program operation for adaptive programming
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US20130185612A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
US20130346812A1 (en) * 2012-06-22 2013-12-26 Micron Technology, Inc. Wear leveling memory using error rate
KR102025240B1 (ko) 2013-04-01 2019-11-04 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP2015008029A (ja) * 2013-06-26 2015-01-15 マイクロン テクノロジー, インク. 半導体装置
US8891308B1 (en) 2013-09-11 2014-11-18 Sandisk Technologies Inc. Dynamic erase voltage step size selection for 3D non-volatile memory
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
KR102314135B1 (ko) 2015-06-22 2021-10-18 삼성전자 주식회사 적응적인 루프를 수행하는 플래시 메모리 장치, 메모리 시스템 및 그 동작방법
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
KR102449196B1 (ko) 2016-01-15 2022-09-29 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR20180009246A (ko) 2016-07-18 2018-01-26 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 데이터 저장 장치 및 그것의 동작 방법
KR20180062158A (ko) 2016-11-30 2018-06-08 삼성전자주식회사 루프 상태 정보를 생성하는 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US10678633B2 (en) * 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof
KR20180100984A (ko) * 2017-03-03 2018-09-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102457662B1 (ko) * 2017-10-31 2022-10-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 저장 장치의 동작 방법
KR102460526B1 (ko) 2018-01-04 2022-11-01 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치, 불휘발성 메모리 장치, 그리고 스토리지 장치의 동작 방법
KR102461099B1 (ko) * 2018-08-07 2022-11-01 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
US10741256B2 (en) * 2018-09-18 2020-08-11 Western Digital Technologies, Inc. Data storage systems and methods for improved recovery after a write abort event
KR20200043814A (ko) * 2018-10-18 2020-04-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20210092860A (ko) 2020-01-16 2021-07-27 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
CN114582402A (zh) * 2022-02-28 2022-06-03 东芯半导体股份有限公司 非易失性存储器及其编程方法、计算机系统

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63200399A (ja) * 1987-02-16 1988-08-18 Hitachi Ltd デ−タ処理システム
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH05166390A (ja) * 1991-12-13 1993-07-02 Ricoh Co Ltd メモリカードとそのデータの書き込み,消去方法
JP2647321B2 (ja) * 1991-12-19 1997-08-27 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた記憶システム
JP3135673B2 (ja) * 1992-05-08 2001-02-19 株式会社東芝 メモリのデータ書き込み装置
JPH05314754A (ja) * 1992-05-08 1993-11-26 Toshiba Corp メモリカード装置
JPH0750558B2 (ja) * 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
JP3737525B2 (ja) * 1994-03-11 2006-01-18 株式会社東芝 半導体記憶装置
JPH07272493A (ja) * 1994-03-31 1995-10-20 Fuji Film Micro Device Kk 半導体デバイスへのプログラム
JPH08124392A (ja) * 1994-10-20 1996-05-17 Toshiba Corp 半導体記憶装置の過剰書込み修正方法
JP3636228B2 (ja) * 1995-07-15 2005-04-06 株式会社東芝 不揮発性半導体記憶装置
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
JPH1040176A (ja) * 1996-07-25 1998-02-13 Canon Inc 電子機器におけるメモリ管理システム,メモリ管理方法およびコンピュータで読み出し可能なメモリ管理プログラムを格納した記憶媒体
JPH10320984A (ja) * 1997-05-15 1998-12-04 Sharp Corp 記憶装置
JPH11232887A (ja) * 1998-02-18 1999-08-27 Denso Corp 電子装置
KR100280474B1 (ko) 1998-04-30 2001-02-01 김영환 메모리 반도체의 라이트장치 및 방법
JP3854025B2 (ja) * 1998-12-25 2006-12-06 株式会社東芝 不揮発性半導体記憶装置
JP2000207897A (ja) * 1999-01-12 2000-07-28 Nec Corp 電気的書換可能な不揮発性メモリのテスト方法および電気的書換可能な不揮発性メモリのテストプログラムを記録した情報記録媒体
JP2001273792A (ja) * 2000-03-27 2001-10-05 Nec Microsystems Ltd フラッシュメモリの書き込み・消去制御方法
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
JP3799269B2 (ja) * 2001-12-10 2006-07-19 株式会社東芝 不揮発性半導体記憶装置
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2004025623A (ja) * 2002-06-25 2004-01-29 Matsushita Electric Works Ltd 板素材の選別方法
KR100550789B1 (ko) * 2002-07-18 2006-02-08 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램/소거 전압 공급 회로
JP2004225571A (ja) 2003-01-21 2004-08-12 Hisao Igawa 排気ガス浄化装置
JP2004241045A (ja) * 2003-02-06 2004-08-26 Matsushita Electric Ind Co Ltd 不揮発性半導体記憶装置
JP2005353242A (ja) * 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
JP4261462B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 不揮発性メモリシステム
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
JP4786171B2 (ja) * 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
KR100621636B1 (ko) * 2005-06-01 2006-09-07 삼성전자주식회사 워드 라인 전압 발생 회로 및 그것을 갖는 불 휘발성메모리 장치
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
JP2007004892A (ja) * 2005-06-23 2007-01-11 Toshiba Corp 半導体集積回路装置
KR100725979B1 (ko) * 2005-07-23 2007-06-08 삼성전자주식회사 비휘발성 메모리의 기입/독출 내구력 개선 장치 및 그 방법
KR100648290B1 (ko) * 2005-07-26 2006-11-23 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불 휘발성 메모리 장치및 그것의 프로그램 방법
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
JP2007133968A (ja) * 2005-11-10 2007-05-31 Sharp Corp 不揮発性半導体記憶装置
JP4909670B2 (ja) * 2006-01-24 2012-04-04 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US7495966B2 (en) * 2006-05-01 2009-02-24 Micron Technology, Inc. Memory voltage cycle adjustment
JP4901348B2 (ja) * 2006-07-20 2012-03-21 株式会社東芝 半導体記憶装置およびその制御方法
US7679961B2 (en) * 2007-04-25 2010-03-16 Micron Technology, Inc. Programming and/or erasing a memory device in response to its program and/or erase history

Also Published As

Publication number Publication date
JP2014132511A (ja) 2014-07-17
US20090316483A1 (en) 2009-12-24
JP2010003401A (ja) 2010-01-07
US8305804B2 (en) 2012-11-06
JP5916155B2 (ja) 2016-05-11
KR101464255B1 (ko) 2014-11-25
KR20090132878A (ko) 2009-12-31
US20110255338A1 (en) 2011-10-20
US7995393B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
JP5916155B2 (ja) メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
TWI506633B (zh) 快閃記憶體裝置及其程式化方法
US8305811B2 (en) Flash memory device and method of reading data
US8144505B2 (en) Nonvolatile memory devices supporting memory cells having different bit storage levels and methods of operating the same
JP5632210B2 (ja) 非揮発性メモリ装置及びそのプログラム方法
US8446766B2 (en) Nonvolatile memory device and related programming method
KR101938659B1 (ko) 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US7545677B2 (en) Nonvolatile memory device and methods of programming and reading the same
US8879318B2 (en) Method of storing data in nonvolatile memory device and method of operating nonvolatile memory device
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US8499210B2 (en) Flash memory device, flash memory system, and method of programming flash memory device
US20110044113A1 (en) Nonvolatile memory device, method for programming same, and memory system incorporating same
JP5773367B2 (ja) メモリ装置およびメモリプログラミング方法
US20130117634A1 (en) Memory system and data storage method
US20160172043A1 (en) Semiconductor device and method of operating the same
CN106205695B (zh) 半导体器件及其操作方法
KR101495795B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101565974B1 (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
TWI646552B (zh) 半導體裝置及其操作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141104

R150 Certificate of patent or registration of utility model

Ref document number: 5652586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250