JP2014096196A - 誤り訂正符号(ecc)を有する不揮発性メモリ(nvm)システムのプログラミング - Google Patents

誤り訂正符号(ecc)を有する不揮発性メモリ(nvm)システムのプログラミング Download PDF

Info

Publication number
JP2014096196A
JP2014096196A JP2013226683A JP2013226683A JP2014096196A JP 2014096196 A JP2014096196 A JP 2014096196A JP 2013226683 A JP2013226683 A JP 2013226683A JP 2013226683 A JP2013226683 A JP 2013226683A JP 2014096196 A JP2014096196 A JP 2014096196A
Authority
JP
Japan
Prior art keywords
program
ecc
program verification
verification
voltage level
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.)
Pending
Application number
JP2013226683A
Other languages
English (en)
Inventor
Fuchen Mu
ムー フーチェン
Zhen He
ヒー チェン
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of JP2014096196A publication Critical patent/JP2014096196A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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/10Programming or data input circuits
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50008Marginal testing, e.g. race, voltage or current testing of impedance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】誤り訂正符号(ECC)を有する不揮発性メモリ(NVM)システムのプログラミングを提供する。
【解決手段】不揮発性半導体メモリデバイスをプログラミングする方法は、プログラム動作中にプログラム検証に合格しなかったビットセルの数を求める工程を含む。ビットセルは、ビットセルのアレイのビットセルのサブセットに含まれる。方法は、そのビットセルのサブセットに関して誤り訂正符号(ECC)訂正が以前に実行されているか否かを判定する工程をさらに含む。所定数のプログラムパルス後のプログラム検証に合格しなかったビットセルの数が閾値数を下回り、かつECC訂正がそのビットセルのサブセットに関して実行されていない場合にプログラム動作は成功とみなされる。
【選択図】図1

Description

本開示は、概して不揮発性メモリ(NVM)に関し、より具体的には、誤り訂正符号(ECC)を有するNVMシステムに関する。
不揮発性メモリ(NVM)は概して、プログラムおよび消去に特別な動作を必要とし、これらの動作を実行することができる回数には限界がある。一般的なメモリタイプであるフラッシュでは、メモリはブロック単位で消去されるのに対して、セグメント単位でプログラムされる。2つ以上のセグメントが同時にプログラムされる場合があるが、プログラムされている部分は1ブロック全体に満たない。それにもかかわらず、依然として、圧倒的多数の他のビットよりも著しく多いプログラミングパルスを必要としたビットが存在する可能性がある。プログラムするのに時間がかかるこれらのビットは、スロー・トゥ・プログラム・ビット(slow to program bit)と称される場合がある。別の問題は、時間が経過し、おそらく数万サイクルにわたると、いくつかのメモリセルはプログラムに対して脆弱になるか、または時間がかかるようになる場合がある。これらの潜在的に脆弱なメモリセルは、それらが実際にプログラムに対して脆弱になるか、または時間がかかるようになるまでは検出が非常に困難である。従って、デバイスが製品内に配置されたしばらく後にそれらが発生することはまれでなく、それによって製品故障が引き起こされるおそれがある。製品故障はいかなる状況下においても回避することが非常に望ましいが、特に集積回路の故障を回避することが望ましい。これは一般的に、製品のユーザが修理することができるものではなく、製品の原価と比較した修理の費用を考慮してもなお修理を行う価値があると仮定すると、製品は返却されなければならず、特別な訓練を受け高価な設備を有する者が修理を行わなければならない。
米国特許第6967873号明細書
従って、NVMシステムが上記に提示されている問題のうちの1つ以上を改善することが必要とされている。
一態様では、プログラム動作を最適化するために不揮発性メモリ(NVM)とともに誤り訂正符号(ECC)が使用される。特にかなり長いプログラム/消去サイクルに使用した後、プログラム動作はプログラムするのに時間がかかるたった1つのビットによって妨げられる場合がある。このたった1つのビットがプログラムされるのに途方もない時間がかかるとき、プログラムに成功する可能性は決してないことが予測可能な場合がある。そのような場合、後続する読出動作中、ECCに依拠してこのスロー・トゥ・プログラム・ビットを訂正することができる。他方、このたった1つのビットが相対的にプログラムに成功する可能性が高い場合、プログラム処理はプログラムに成功することになるという高い確度をもって継続することができる。これは、図面および以下の明細書の記載を参照することによってより良好に理解される。
一実施形態に応じたNVMシステムの図。 図1のNVMシステムの理解に有用な図。 図1のNVMシステムの理解に有用な図。 図1のNVMシステムの理解に有用なフローチャート。
本発明は例として示されており、添付の図面によって限定されない。図面において、同様の参照符号は類似の要素を示す。図面内の要素は簡潔かつ明瞭にするために示されており、必ずしも原寸に比例して描かれてはいない。
図1には、NVMアレイ12、誤り訂正符号(ECC)ユニット14、ECCレコード16、およびメモリコントローラ18を有する不揮発性メモリ(NVM)システム10が示されている。NVMアレイ12は、ブロック0として図示されているブロック20、ブロック1として図示されているブロック22、ブロック2として図示されているブロック24、およびブロック3として図示されているブロック26を含む複数のブロックを含む。メモリコントローラ18はNVMアレイ12およびECCレコード16に結合されている。ECCユニット14はNVMアレイ12およびECCレコード16に結合されている。ブロック20,22,24,26は各々、複数のECCセグメントとして配列されている複数のメモリセルを有する。ブロック20は、各々がデータビットおよびECCビットを有する複数のECCセグメント25を有する例示的なブロックである。例示的なデータビット27および例示的なECCビット28が単一のECCセグメントを形成する。ECCセグメントはブロックに含まれる単位すなわちサブセットであり、その単位において、ECCセグメントのデータについて誤り訂正または検出が行われる。たとえば、一般的なECC手法は、ECCセグメントの単一ビット誤りを訂正し、ダブルビット誤りを検出することが可能である。ブロック20,22,24,26のうちの所与のブロックについて、メモリセルのすべてが同時に消去されるが、プログラムはECCセグメント単位で行われ、これは同時に2セグメントで行われることもあるが、1ブロック全体よりは小さい。ECCビット28はデータビット27に対応し、データビット27に関する情報を記憶し、このように、データビットセットについて、その対応するデータビットに関する情報を記憶する対応するECCビットセットが存在する。フラッシュメモリであるNVMでは、消去動作はブロック毎に行われ、プログラムはセグメント毎に行われることが一般的である。
メモリコントローラ18は、ブロック消去動作、読出、およびセグメントプログラミングの制御のように、NVMアレイ12の動作を制御する。ECCユニット14は、NVMアレイ12の出力を受信し、誤りを訂正し、訂正された出力を提供する。ECCユニット14はまた、NVMアレイ12で訂正が必要とされているロケーションに関する情報およびこれらの訂正に関する情報をECCレコード16に提供する。ECCレコード16は不揮発性メモリに記憶されることが好適であり、NVMアレイ12内の確保されている部分にあってもよい。一般的にプログラミング動作中、ユーザはプログラムされるべきデータビット27を指定するだけでよく、対応するECCビット28はECCユニット14によって計算され、その後データビットとともにプログラムされることになる。メモリコントローラ18はECC16に記憶されている情報にアクセスすることができる。
図2には、ブロック20,22,24,26のうちの1つのプログラム動作の前のビットのゲート電圧分布32、およびプログラム動作の一部分の後のビットの分布30が示されている。分布32は、プログラムされるべきECCセグメントの初期状態を示しており、セグメントのビットのすべてが消去状態にある。分布は密であることが望ましい。プログラム動作は、プログラムされているブロックのECCセグメントのビットの閾値電圧を十分に高い閾値電圧まで上昇させる複数のプログラムパルスとして実行され、それによって、それらが指定された電流を伝導するゲート電圧Vgが正常プログラム検証Vgpと呼ばれる正常プログラム検証レベルを上回る。そのため、第1の工程は、第1のグループの連続したプログラムパルスを、2つのECCセグメントであってもよいブロックの一部分に印加することである。第1の工程の後、セグメント内のビットセルは、適切にプログラムされており、それによって指定された電流を伝導するためのゲート電圧Vgが正常プログラム検証Vgpを上回っていることを検証するためにテストされる。このビットセルのテストはプログラム検証と呼ばれる場合がある。より多くのプログラミングが必要とされる場合、パルスを印加する後続の工程が実行される。後続の工程は同じ期間にわたる同じ電圧における同じ数のパルスを有してもよい。他方、後続のプログラム工程は、パルスの数、期間、および電圧に関して同じであってもよいし、異なっていてもよい。正常プログラム検証Vgpのゲート電圧が印加される場合、分布30のすべてのビットの閾値電圧は伝導されている指定された電流しか生じないので、分布30はプログラムされていると考えられる。従って、分布30のビットは、正常プログラム検証電圧Vgpを上回っているものとして参照され得る。NVMシステム10の正常読出動作中にビットセルに印加されるゲート電圧Vgは、消去検証電圧Vgeとプログラム検証電圧Vgpとの間であり、ビットのプログラム状態と消去状態との間で区別するとともに、データ保持のために十分な余裕を保証する読出を実行するための最適条件に基づいて選択される。すなわち、消去ビットは、正常読出動作中にゲート電圧Vgが読出電圧として印加されるときに電流が所定の電流をいくらか余裕をもって上回るべきである状態にあり、プログラムビットは、正常読出動作についてゲート電圧Vgが読出電圧として印加されるときに所定の電流をいくらか余裕をもって下回る電流を提供する。
図2に示されているように、プログラム動作における第1の工程から上昇した電圧Vgpを上回っておらず、従って検証ゲート電圧Vgとして正常プログラム検証電圧Vgpを印加することに基づくテストについて十分にプログラムされていないビット34も存在する。500ミリボルトであってもよい所定の差だけプログラム検証電圧Vgpよりも低いVgrの低減された電圧であるゲート電圧が印加されることによって、別のプログラム検証が実行される。緩和されたプログラム検証電圧Vgrは正常読出ゲート電圧よりも高いものであるべきである。緩和プログラム検証は、低くなった電圧Vgrがゲート電圧Vgとして印加されるために、閾値電圧がより低いビットが指定電流を伝導することができるという点で、正常プログラム検証よりも容易なテストである。低くなった電圧Vgrを検証ゲート電圧Vgとして使用することは、緩和プログラム検証と呼ばれる場合がある。図2に示されているように、ビット34は緩和プログラム検証に合格する。
図3には、分布36が図2の分布32と同じである消去分布32から開始しているプログラム動作の後のECCセグメントの分布に対応するが、正常プログラム電圧Vgpに基づく正常プログラム検証に合格していないだけでなく、緩和プログラム電圧Vgrに基づく緩和プログラム検証に合格していないビット38が存在するという結果になっている場合について図示されている。そのため、図2と図3との間の差は、図3における正常プログラム検証に合格していない単一ビット38が緩和プログラム検証にも合格していないことである。従って、この場合、第1のプログラム工程後に緩和検証に合格していない単一ビットであるビット38は、図2におけるビット34を十分にプログラムするのに必要とされることになるよりもよりさらなるプログラミングを必要とすると予測される可能性がある。それゆえ、図3におけるビット38について、そうでなければプログラム動作を著しく減速するおそれがあるため、追加のプログラムパルスを印加するのではなく、ECCに依拠して正常読出動作中にこれを訂正することが有益である。一方で図2におけるビット34については、正常プログラム検証に合格する可能性が高い。従って、図2の場合では、ビット34が正常プログラム検証レベルを上回って動くことができるか否かを確かめるために追加のプログラムパルスを印加し、最大プログラムパルスカウントに達した場合にのみそのようなビットについてECCに依拠することが有益である。
図4には、図2および図3の単一ビットのスロー・トゥ・プログラム状況に対処する方法を示すフローチャート50が示されている。フローチャート50は、工程52,54,56,58,60,62,64,66,68,70,72,74,78,80,82,84,86,88,89を備える。工程52において、アドレスおよびプログラムパルスカウントを初期化することを含むプログラム動作が開始する。パルスカウントは通常では0に初期化されることになり、アドレスはプログラムされるべき最初のECCセグメントに初期化されることになる。このシステムでは、一対のECCセグメントが同時にプログラムされることができるが、これら2つのECCセグメントは、それらが各々データビットセットおよび対応するECCビットセットを有するという点において別個に処理される。従って、データビット27およびECCビット28のプログラミングは他のECCセグメントに対する典型例であり、従って、この例では、データビット27およびECCビット28は選択されるセグメントと考えられる。工程54は、Vgpである正常プログラム検証レベルにおいて現在のセグメントのプログラム検証を実行することである。工程56において、答えが、検証に合格、すなわち、肯定である場合、処理は工程78において別のECCセグメントをプログラムすべきであるか否かを判定することによって継続する。工程78において否である場合、処理は工程82におけるプログラム完了をもって終了する。工程78において肯定である場合、処理はプログラミングが次のECCセグメントに進行することによって、工程80により継続する。工程56において、答えが、検証に合格しなかった、すなわち、否定である場合、工程58においてプログラミングパルスが印加され、パルスカウントがインクリメントされる。事実上、工程78が次の工程である場合、そのセグメントのプログラミングは成功と考えられる。
その後、工程60においてプログラム検証が実行され、正常検証レベルVgpにおいて検証が行われる。この工程は、正常検証に関する不合格ビットの数(A)を識別する。工程62において、不合格ビットの数が0である場合、これは現在のECCセグメントがプログラムに成功したことを意味するが、処理はそれ以上プログラムすべきECCセグメントがない場合の工程78、およびその後の工程82、ならびにさらにプログラムすべきECCセグメントがある場合の工程78、およびその後の工程80によって継続する。工程60における正常プログラム検証から少なくとも1つの不合格ビットがある場合、処理は工程64に継続し、緩和プログラム検証の実行を開始する前に、所定数のパルスに達したか否かが判定される。そうでない場合、処理は工程58に継続し、別のプログラムパルスが印加される。所定数のパルスに達している場合、次の工程は工程66である。工程66が、工程60における正常プログラム検証からただ1つの不合格ビットがあり、すなわちA=1であると判定する場合、次の工程は工程84であり、ここで、プログラム検証レベルが低減されたレベルVgrに緩和され、その緩和プログラム検証レベルにおいてプログラム検証が実行される。工程66において判定されるものとして正常プログラム検証から2つ以上の不合格ビットがある場合、工程68において、最大パルスカウントに達したか否かが判定される。所定のパルスカウントは最大パルスカウントよりも小さい。最大パルスカウントに達していない場合、処理は工程58において別のプログラミングパルスを印加することによって継続する。最大パルスカウントに達した場合、プログラミングは工程72において失敗している。
工程66において肯定であり、現在のセグメントに正常検証レベルVgpに不合格となった1ビットがあるために処理が工程84によって継続する場合について、検証レベルはレベルVgrに低減される。緩和プログラム検証からの不合格ビットの数(B)を得ることによって、緩和検証レベルVgrにおいてそのビットが依然として不合格であるか否かについて判定が行われる。そうである場合、工程86においてB=1が真であり、これは、正常プログラム検証および緩和プログラム検証の両方を下回る単一ビットがあることを意味する。この状況の一例が、図3におけるビット38である。処理は、工程88において、ECCレコード16をチェックすることによってこのセグメントに対してECC訂正が行われているか否かが判定されることによって継続する。そうでない場合、セグメントは合格とみなされ、これはECCに依拠して正常読出動作中に単一の不合格ビットを補正することができるために可能であることだが、処理は工程78、およびその後の工程80または工程82のいずれかによって継続する。工程88における判定が、現在のECCセグメントにおいてECC訂正が行われているというものである場合、次の工程は、工程89における最大パルスカウントに達しているか否かの判定である。そうでない場合、処理は工程58において別のプログラミングパルスを印加することによって継続する。ECC回路がすでに使用されて別の単一ビット問題が訂正されており、それによって、もはや現在のECCセグメント上で単一のスロー・トゥ・プログラム不合格ビットを訂正するためにECCに依拠しなくてもよいため、このようになる。従って、単一の不合格ビットを正常プログラム検証レベルを上回って動かすためにプログラムパルスを印加し続けることが必要である。工程86においてB=0である場合、処理は工程89において最大パルスカウントされたか否かの判定によって継続する。そうでない場合、工程58において別のプログラミングパルスが印加される。工程89において最大パルスに達している場合において、工程62においてA=1であり、かつ工程86においてB=0である場合、これは正常プログラム検証を下回るが緩和プログラム検証を上回る単一ビット、たとえば、図2におけるビット34があることを意味するが、工程74において現在のセグメントに対してECC訂正が行われているか否かがさらに判定される。そうである場合、工程72においてプログラミングは失敗している。現在のECCセグメントに対してECC訂正が行われていない場合、そのセグメントは合格であり、その後工程78から工程80または82のいずれかへと続く。
実際の訂正についてはセグメントレベルであるが、利用可能なECC訂正がセグメントレベルにおいてではなくブロックレベルにおいて利用されてもよい。たとえば、ブロック内で行われたECC訂正の総数が重要であり得る場合があってもよい。従って、単純にECC訂正が行われていないと判定する代わりに、ブロック全体において行われたECC訂正の総数を判定することも有益な場合がある。
従って、メモリブロックは、単一の不合格ビットの最も可能性のある状況を知ることを利用し、利用可能なECCを利用するプログラム動作全体を経験している。これはセグメントレベルにおいて特に当てはまる。たとえば、セグメントは64ビットのデータを有し、対応するECCは8ビットであってもよい。別様にECCが必要とされることにならず、かつプログラム中に単一のスロービットがある場合、ECCに依拠してこの状況に対処することができる。単一のスロービットが合格する可能性が高い場合、プログラミングは最終的に合格することになるという予測をもって継続してもよい。単一のスロービットが合格する可能性がかなり低い場合、プログラム処理の継続に成功する可能性は低く、そのため、非常に高い確度でECCに依拠して誤りを訂正することができる場合、後続のプログラム工程は実行される必要がない。
別の手法は、プログラム検証中にECCチェックを実行せず、正常プログラム検証レベルにおいて1ビットのみが不合格であり、かつ緩和プログラム検証レベルにおいて1ビットのみが不合格である場合、または正常プログラム検証レベルにおいて1ビットのみが不合格であるがプログラムパルスカウントの数が最大プログラムパルスカウント限界に達している場合にプログラム動作は成功したとみなすことである。ECCは、不合格ビットを訂正するために依然として正常読出動作の間に実行されることになる。プログラムに失敗し、そうでなければそのセグメントのためのECCビットが必要でないただ1つのビットが存在する、任意のセグメントに関する任意のプログラミング動作に関して訂正が可能な場合がある。
ここまでで、複数の不揮発性メモリ(NVM)ビットセルからなるNVMビットセルのアレイを含み、当該NVMビットセルのアレイは1つ以上のブロックに分割されている、半導体メモリ記憶デバイスが提供されたことを理解されたい。半導体メモリ記憶デバイスは、NVMビットセルのアレイに結合されているメモリコントローラをさらに含む。半導体メモリ記憶デバイスは、アレイおよびメモリコントローラに結合されている誤り訂正符号(ECC)ユニットをさらに含む。メモリコントローラは、1つ以上のブロックのうちの1つのブロックのサブセットのプログラム動作中に、第1のプログラム検証動作によって、複数のNVMビットセルのうちの1つのNVMビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、かつ、第2のプログラム検証動作によって、前記1つのNVMビットセルが緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、プログラム動作を成功であるとみなすように構成されており、緩和プログラム検証電圧レベルは正常プログラム検証電圧レベルよりも低く、かつ、正常読出電圧レベルよりも高い。半導体メモリ記憶デバイスは、プログラムされているサブセットに対しECCユニットによって訂正が以前に実行されていない場合、プログラム動作は成功であるとみなされることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、プログラムパルスを含むプログラム動作中、各プログラムパルスまたはプログラムパルスのグループの後に第1のプログラム検証動作および第2のプログラム検証動作が実行されることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、メモリコントローラによって所定数のプログラムパルスが実行された後、第1のプログラム検証動作に合格しなかったNVMビットセルの数のカウントが実行されることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、所定数のプログラムパルスが2〜10個のプログラムパルスであることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、第1のプログラム検証動作によって、前記複数のNVMセルのうちの1つのNVMセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、第2のプログラム検証動作が実行されることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった1つのNVMビットセルを含む1つのブロックに対し前記ECCユニットによって訂正が以前に実行されていない場合、プログラム動作は成功とみなされることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、メモリコントローラが、1つのブロックに対するプログラム動作中、最大数のプログラムパルスに到達した場合、第1のプログラム検証動作によって、前記1つのNVMビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、第2のプログラム検証動作によって、複数のNVMビットセルの全てが緩和プログラム検証電圧レベルにおいて成功裏にプログラムされたことが検出されたとき、プログラム動作は成功であるとみなすように構成されていることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかった1つのNVMビットセルを含むサブセットに対しECCユニットによって訂正が以前に実行されていない場合、メモリコントローラによってプログラム動作は成功であるとみなされることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかった1つのNVMビットセルを含む1つのブロックに対しECCユニットによって訂正が以前に実行されている場合、プログラム動作は成功していないとみなされることをさらに特徴としてもよい。半導体メモリ記憶デバイスは、不揮発性メモリに記憶されている1つ以上のECCインジケータを含むECCレコードをさらに含んでもよく、ECCインジケータのうちの1つはサブセットに対し割り当てられており、そのサブセットに対してECC訂正が実行されたか否かを示す。
半導体メモリデバイスをプログラミングする方法も開示される。方法は、複数の不揮発性ビットセルからなる不揮発性ビットセルのアレイのサブセットに対してプログラム動作を実行する工程と、最大数のプログラムパルスに到達した際、プログラム動作中、第1のプログラム検証動作によって、複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、第2のプログラム検証動作によって、複数のNVMビットセルの全てが緩和プログラム検証電圧において成功裏にプログラムされたことが検出された場合、プログラム動作を成功として指定する工程とを備え、緩和プログラム検証電圧レベルは正常プログラム検証電圧レベルよりも低い。方法は、プログラム動作中、第1のプログラム検証動作によって、複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、かつ第2のプログラム検証動作によって、前記複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルが緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、プログラム動作を成功として指定する工程をさらに備えてもよい。方法は、プログラムされている不揮発性ビットセルのサブセットに対して誤り訂正符号(ECC)訂正が以前に実行されていない場合、プログラム動作を成功として指定する工程をさらに備えてもよい。方法は、緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった1つの不揮発性ビットセルを含むサブセットに対しECCユニットによって訂正が以前に実行されていない場合、プログラム動作は成功であるとみなされ、プログラム動作中、各プログラムパルスまたはプログラムパルスのグループの後に第1のプログラム検証動作および第2のプログラム検証動作が実行されることをさらに特徴としてもよい。方法は、正常プログラム検証電圧レベルおよび緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったビットセルを含む不揮発性ビットセルのサブセットに対して誤り訂正符号(ECC)訂正が以前に実行されていない場合にプログラム動作を成功として指定する工程をさらに備えてもよい。方法は、緩和プログラム検証電圧レベルおよび緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった1つの不揮発性ビットセルを含むサブセットに対して誤り訂正符号(ECC)ユニットが以前に訂正を実行していない場合、プログラム動作を成功として指定する工程をさらに備えてもよい。
不揮発性半導体メモリデバイスをプログラミングする方法も開示される。方法は、プログラム動作中にプログラム検証に合格しなかったビットセルの数を求める工程を備え、ビットセルは複数のビットセルからなるビットセルのアレイにおけるビットセルのサブセットに含まれる。方法は、そのビットセルのサブセットに関して誤り訂正符号(ECC)訂正が以前に実行されているか否かを判定する工程をさらに備える。方法は、所定数のプログラムパルスの後のプログラム検証に合格しなかったビットセルの数が閾値数を下回り、かつECC訂正がそのビットセルのサブセットに関して実行されていない場合、プログラム動作を成功とみなす工程をさらに備える。方法は、ビットセルのサブセットに対するプログラム動作中、第1のプログラム検証動作によって、正常プログラム検証電圧レベルにおけるプログラム検証に所定数のビットセルが合格しなかったことが検出され、かつ第2のプログラム検証動作によって、緩和プログラム検証電圧レベルにおけるプログラム検証に別の所定数のビットセルが合格しなかったことが検出されたとき、プログラム動作を成功として指定する工程をさらに備えてもよい。
本明細書において、具体的な実施形態を参照して本発明を説明したが、添付の特許請求の範囲に明記されているような本発明の範囲から逸脱することなくさまざまな改変および変更を為すことができる。たとえば、同時にプログラムされるセグメントの数は変化してもよい。従って、本明細書および図面は限定的な意味ではなく例示とみなされるべきであり、すべてのこのような改変が本発明の範囲内に含まれることが意図されている。本明細書において具体的な実施形態に関して記載されているいかなる利益、利点、または問題に対する解決策も、任意のまたはすべての請求項の重要な、必要とされる、または基本的な特徴または要素として解釈されるようには意図されていない。
本明細書において使用される場合、「結合されている」という用語は、直接結合または機械的結合に限定されるようには意図されていない。
さらに、本明細書において使用される場合、「1つ(“a”or“an”)」という用語は、1つまたは2つ以上として定義される。さらに、特許請求の範囲における「少なくとも1つの」および「1つ以上の」のような前置きの語句の使用は、不定冠詞「1つの(“a”or“an”)」による別の請求項要素の導入が、このように導入された請求項要素を含む任意の特定の請求項を、たとえ同じ請求項が前置きの語句「1つ以上の」または「少なくとも1つの」および「1つの(“a”or“an”)」のような不定冠詞を含む場合であっても、1つだけのこのような要素を含む発明に限定することを暗示するように解釈されるべきではない。同じことが、定冠詞の使用についても当てはまる。
別途記載されない限り、「第1の」および「第2の」のような用語は、そのような用語が説明する要素間で適宜区別するように使用される。従って、これらの用語は必ずしも、このような要素の時間的なまたは他の優先順位付けを示すようには意図されていない。

Claims (20)

  1. 半導体メモリ記憶デバイスにおいて、
    複数の不揮発性メモリ(NVM)ビットセルからなるNVMビットセルのアレイであって、該NVMビットセルのアレイは1つ以上のブロックに分割されている、NVMビットセルのアレイと、
    前記NVMビットセルのアレイに結合されているメモリコントローラと、
    前記アレイおよび前記メモリコントローラに結合されている誤り訂正符号(ECC)ユニットとを備え、
    前記メモリコントローラは、
    前記1つ以上のブロックのうちの1つのブロックのサブセットのプログラム動作中、
    第1のプログラム検証動作によって、前記複数のNVMビットセルのうちの1つのNVMビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、かつ、
    第2のプログラム検証動作によって、前記1つのNVMビットセルが緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、該プログラム動作を成功であるとみなすように構成されており、前記緩和プログラム検証電圧レベルは前記正常プログラム検証電圧レベルよりも低く、かつ、正常読出電圧レベルよりも高い、半導体メモリ記憶デバイス。
  2. プログラムされている前記サブセットに対し前記ECCユニットによって訂正が以前に実行されていない場合、前記プログラム動作は成功であるとみなされる、請求項1に記載の半導体メモリ記憶デバイス。
  3. 前記プログラム動作は複数のプログラムパルスを含み、前記プログラム動作中、各プログラムパルスまたはプログラムパルスのグループの後に前記第1のプログラム検証動作および前記第2のプログラム検証動作が実行される、請求項1に記載の半導体メモリ記憶デバイス。
  4. 前記メモリコントローラによって所定数のプログラムパルスが実行された後、前記第1のプログラム検証動作に合格しなかったNVMビットセルの数のカウントが実行される、請求項1に記載の半導体メモリ記憶デバイス。
  5. 第1のプログラム検証動作によって、前記複数のNVMビットセルのうちの1つのNVMビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、前記第2のプログラム検証動作が実行される、請求項1に記載の半導体メモリ記憶デバイス。
  6. 前記所定数のプログラムパルスは2〜10個のプログラムパルスである、請求項4に記載の半導体メモリ記憶デバイス。
  7. 前記緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった前記1つのNVMビットセルを含む前記1つのブロックに対し前記ECCユニットによって訂正が以前に実行されていない場合、前記プログラム動作は成功とみなされる、請求項1に記載の半導体メモリ記憶デバイス。
  8. 前記メモリコントローラは、前記1つのブロックに対する前記プログラム動作中、最大数のプログラムパルスに到達した場合、前記第1のプログラム検証動作によって、前記1つのNVMビットセルのみが前記正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、前記第2のプログラム検証動作によって、前記複数のNVMビットセルの全てが前記緩和プログラム検証電圧レベルにおいて成功裏にプログラムされたことが検出されたとき、前記プログラム動作は成功であるとみなすように構成されている、請求項1に記載の半導体メモリ記憶デバイス。
  9. 前記正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかった前記1つのNVMビットセルを含む前記サブセットに対し前記ECCユニットによって訂正が以前に実行されていない場合、前記メモリコントローラによって前記プログラム動作は成功であるとみなされる、請求項8に記載の半導体メモリ記憶デバイス。
  10. 前記正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかった前記1つのNVMビットセルを含む前記1つのブロックに対し前記ECCユニットによって訂正が以前に実行されている場合、前記プログラム動作は成功していないとみなされる、請求項8に記載の半導体メモリ記憶デバイス。
  11. 不揮発性メモリに記憶されている1つ以上のECCインジケータを含むECCレコードをさらに備え、前記ECCインジケータのうちの1つは前記サブセットに対し割り当てられており、該サブセットに対してECC訂正が実行されたか否かを示す、請求項1に記載の半導体メモリ記憶デバイス。
  12. 半導体メモリデバイスをプログラミングする方法であって、
    複数の不揮発性ビットセルからなる不揮発性ビットセルのアレイのサブセットに対してプログラム動作を実行する工程と、
    最大数のプログラムパルスに到達した際、前記プログラム動作中、第1のプログラム検証動作によって、前記複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルのみが正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、第2のプログラム検証動作によって、前記複数の不揮発性ビットセルの全てが緩和プログラム検証電圧において成功裏にプログラムされたことが検出された場合、前記プログラム動作を成功として指定する工程とを備え、緩和プログラム検証電圧レベルは前記正常プログラム検証電圧レベルよりも低い、方法。
  13. 前記プログラム動作中、
    前記第1のプログラム検証動作によって、前記複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルのみが前記正常プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出され、かつ
    前記第2のプログラム検証動作によって、前記複数の不揮発性ビットセルのうちの1つの不揮発性ビットセルが前記緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったことが検出されたとき、前記プログラム動作を成功として指定する工程をさらに備える、請求項12に記載の方法。
  14. プログラムされている不揮発性ビットセルの前記サブセットに対して誤り訂正符号(ECC)訂正が以前に実行されていない場合、前記プログラム動作を成功として指定する工程をさらに備える、請求項12に記載の方法。
  15. 前記緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった前記1つの不揮発性ビットセルを含む前記サブセットに対しECCユニットによって訂正が以前に実行されていない場合、前記プログラム動作は成功であるとみなされる、請求項12に記載の方法。
  16. 前記プログラム動作中、各プログラムパルスまたはプログラムパルスのグループの後に前記第1のプログラム検証動作および前記第2のプログラム検証動作が実行される、請求項13に記載の方法。
  17. 前記正常プログラム検証電圧レベルおよび前記緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかったビットセルを含む前記不揮発性ビットセルの前記サブセットに対して誤り訂正符号(ECC)訂正が以前に実行されていない場合に前記プログラム動作を成功として指定する工程をさらに備える、請求項13に記載の方法。
  18. 前記緩和プログラム検証電圧レベルおよび前記緩和プログラム検証電圧レベルにおけるプログラム検証に合格しなかった前記1つの不揮発性ビットセルを含む前記サブセットに対して誤り訂正符号(ECC)ユニットが以前に訂正を実行していない場合に前記プログラム動作を成功として指定する工程をさらに備える、請求項13に記載の方法。
  19. 不揮発性半導体メモリデバイスをプログラミングする方法であって、
    プログラム動作中にプログラム検証に合格しなかったビットセルの数を求める工程であって、前記ビットセルは複数のビットセルからなるビットセルのアレイにおけるビットセルのサブセットに含まれる、前記工程と、
    前記ビットセルのサブセットに関して誤り訂正符号(ECC)訂正が以前に実行されているか否かを判定する工程と、
    所定数のプログラムパルスの後のプログラム検証に合格しなかったビットセルの数が閾値数を下回り、かつ前記ECC訂正が前記ビットセルのサブセットに関して実行されていない場合、前記プログラム動作を成功とみなす工程とを含む、方法。
  20. 前記ビットセルの前記サブセットに対する消去動作中、
    第1のプログラム検証動作によって、正常プログラム検証電圧レベルにおける消去検証に所定数のビットセルが合格しなかったことが検出され、かつ
    第2のプログラム検証動作によって、緩和プログラム検証電圧レベルにおける消去検証に所定数のビットセルが合格しなかったことが検出されたとき、
    前記消去動作を成功として指定する工程をさらに備える、請求項19に記載の方法。
JP2013226683A 2012-11-12 2013-10-31 誤り訂正符号(ecc)を有する不揮発性メモリ(nvm)システムのプログラミング Pending JP2014096196A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/674,367 2012-11-12
US13/674,367 US9225356B2 (en) 2012-11-12 2012-11-12 Programming a non-volatile memory (NVM) system having error correction code (ECC)

Publications (1)

Publication Number Publication Date
JP2014096196A true JP2014096196A (ja) 2014-05-22

Family

ID=50682944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013226683A Pending JP2014096196A (ja) 2012-11-12 2013-10-31 誤り訂正符号(ecc)を有する不揮発性メモリ(nvm)システムのプログラミング

Country Status (5)

Country Link
US (1) US9225356B2 (ja)
JP (1) JP2014096196A (ja)
KR (1) KR102143325B1 (ja)
CN (1) CN103810055B (ja)
TW (1) TW201432705A (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216571B2 (en) 2016-11-10 2019-02-26 Western Digital Technologies, Inc. System and methodology for error management within a shared non-volatile memory architecture using bloom filters
US10254982B2 (en) 2016-11-10 2019-04-09 Western Digital Technologies, Inc. System and methodology for low latency error management within a shared non-volatile memory architecture
US10514867B2 (en) 2016-11-10 2019-12-24 Western Digital Technologies, Inc. System and methodology that facilitates error management within a shared non-volatile memory architecture
KR20180062158A (ko) 2016-11-30 2018-06-08 삼성전자주식회사 루프 상태 정보를 생성하는 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
CN108255633B (zh) * 2016-12-28 2021-07-30 旺宏电子股份有限公司 存储控制方法、存储装置
EP3388979B1 (en) 2017-04-14 2020-07-22 Nxp B.V. Rfid integrated circuit
US10402272B2 (en) 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
KR102429458B1 (ko) * 2018-04-03 2022-08-05 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US11188416B2 (en) 2018-07-12 2021-11-30 Micron Technology, Inc. Enhanced block management for a memory sub-system
US11113129B2 (en) 2018-07-13 2021-09-07 Micron Technology, Inc. Real time block failure analysis for a memory sub-system
US10936246B2 (en) 2018-10-10 2021-03-02 Micron Technology, Inc. Dynamic background scan optimization in a memory sub-system
US11475170B2 (en) * 2019-05-28 2022-10-18 Nuvoton Technology Corporation System and method for correction of memory errors
CN113764026A (zh) * 2020-04-08 2021-12-07 长江存储科技有限责任公司 一种三维存储器的编程操作方法、存储器装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579262A (en) 1996-02-05 1996-11-26 Integrated Silicon Solution, Inc. Program verify and erase verify control circuit for EPROM/flash
US5995417A (en) 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP4220319B2 (ja) * 2003-07-04 2009-02-04 株式会社東芝 不揮発性半導体記憶装置およびそのサブブロック消去方法
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6967873B2 (en) 2003-10-02 2005-11-22 Advanced Micro Devices, Inc. Memory device and method using positive gate stress to recover overerased cell
US7177199B2 (en) 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7092290B2 (en) 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
US7437653B2 (en) 2004-12-22 2008-10-14 Sandisk Corporation Erased sector detection mechanisms
US7158416B2 (en) 2005-03-15 2007-01-02 Infineon Technologies Flash Gmbh & Co. Kg Method for operating a flash memory device
US7486564B2 (en) 2005-03-31 2009-02-03 Sandisk Corporation Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7236402B2 (en) * 2005-11-30 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for programming/erasing a non-volatile memory
US7403425B2 (en) * 2006-03-07 2008-07-22 Micron Technology, Inc. Programming a flash memory device
US7499317B2 (en) 2006-10-13 2009-03-03 Sandisk Corporation System for partitioned erase and erase verification in a non-volatile memory to compensate for capacitive coupling
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US7616495B2 (en) 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with variable initial program voltage magnitude
KR100875538B1 (ko) * 2007-02-27 2008-12-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 및 소거 방법
KR100843037B1 (ko) 2007-03-27 2008-07-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 이의 소거 방법
KR100898039B1 (ko) * 2007-05-21 2009-05-19 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR101321472B1 (ko) * 2007-07-23 2013-10-25 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR100936879B1 (ko) 2007-12-28 2010-01-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 소거 방법 및 소프트 프로그램방법
US8516343B2 (en) * 2008-11-10 2013-08-20 Fusion-Io, Inc. Apparatus, system, and method for retiring storage regions
US8064267B2 (en) 2008-11-14 2011-11-22 Micron Technology, Inc. Erase voltage reduction in a non-volatile memory device
US8077513B2 (en) * 2009-09-24 2011-12-13 Macronix International Co., Ltd. Method and apparatus for programming a multi-level memory
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
JP2012069180A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 半導体記憶装置
US8493792B2 (en) * 2010-12-02 2013-07-23 Hynix Semiconductor Inc. Programming method of non-volatile memory device
US8345485B2 (en) 2011-02-09 2013-01-01 Freescale Semiconductor, Inc. Erase ramp pulse width control for non-volatile memory
US8713406B2 (en) * 2012-04-30 2014-04-29 Freescale Semiconductor, Inc. Erasing a non-volatile memory (NVM) system having error correction code (ECC)

Also Published As

Publication number Publication date
US20140136928A1 (en) 2014-05-15
KR20140061265A (ko) 2014-05-21
TW201432705A (zh) 2014-08-16
CN103810055A (zh) 2014-05-21
CN103810055B (zh) 2018-06-26
US9225356B2 (en) 2015-12-29
KR102143325B1 (ko) 2020-08-12

Similar Documents

Publication Publication Date Title
JP2014096196A (ja) 誤り訂正符号(ecc)を有する不揮発性メモリ(nvm)システムのプログラミング
US9922706B2 (en) Solid state storage device using state prediction method
US10347330B2 (en) Solid state storage device and reading control method thereof for read retry process with optimal read voltage set
TWI455145B (zh) 用於非依電性記憶體中之資料錯誤復原之方法、裝置及物品
KR20100012605A (ko) Ecc를 이용하여 프로그램하는 불휘발성 메모리 장치 및그 프로그램 방법
KR20150095741A (ko) 솔리드 스테이트 드라이브에서 하위 페이지 데이터 복구를 위한 시스템 및 방법
US9514848B2 (en) Solid state drive and associated error check and correction method
US10115476B2 (en) Advanced programming verification schemes for memory cells
JP6288812B2 (ja) 誤り訂正符号を有する不揮発性メモリシステムの消去
TWI602055B (zh) 半導體儲存裝置及其編程方法
US9490024B1 (en) Solid state storage device and reading control method thereof
US9378829B2 (en) Non-volatile memory device with an EPLI comparator
JP2013232272A5 (ja)
US11010245B2 (en) Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof
CN113327638B (zh) 闪存及其擦除方法、电子系统和计算机存储介质
US20170235635A1 (en) Solid state storage device and data processing method thereof
US11119854B2 (en) Method of controlling verification operations for error correction of non-volatile memory device, and non-volatile memory device
TW202101470A (zh) 具有動態資料修復機制的記憶體存放裝置及其動態資料修復的方法
WO2018081410A1 (en) Optimal write method for a ferroelectric memory
CN113707208A (zh) 用于非易失性存储装置的错误纠正的控制验证操作的方法及非易失性存储装置
CN112151104A (zh) 存储器存放装置及其动态数据修复的方法
JP2015069688A (ja) 半導体記憶装置