JP5236949B2 - 消去されたセクタの検出メカニズム - Google Patents

消去されたセクタの検出メカニズム Download PDF

Info

Publication number
JP5236949B2
JP5236949B2 JP2007548468A JP2007548468A JP5236949B2 JP 5236949 B2 JP5236949 B2 JP 5236949B2 JP 2007548468 A JP2007548468 A JP 2007548468A JP 2007548468 A JP2007548468 A JP 2007548468A JP 5236949 B2 JP5236949 B2 JP 5236949B2
Authority
JP
Japan
Prior art keywords
data
erased
content
data unit
error correction
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.)
Expired - Fee Related
Application number
JP2007548468A
Other languages
English (en)
Other versions
JP2008525937A (ja
Inventor
アナトリエヴィッチ ゴロベッツ,セルゲイ
Original Assignee
サンディスク テクノロジィース インコーポレイテッド
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 サンディスク テクノロジィース インコーポレイテッド filed Critical サンディスク テクノロジィース インコーポレイテッド
Publication of JP2008525937A publication Critical patent/JP2008525937A/ja
Application granted granted Critical
Publication of JP5236949B2 publication Critical patent/JP5236949B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/344Arrangements for verifying correct erasure or for detecting overerased cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Electrotherapy Devices (AREA)
  • Burglar Alarm Systems (AREA)
  • Power Steering Mechanism (AREA)
  • Pinball Game Machines (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Description

本発明は、一般的には、不揮発性メモリおよびその動作に関し、さらに具体的には、再書き込み可能なメモリの一部分が消去されたかどうか、およびその破壊レベルを決定する手法に関する。
フラッシュEEPROMデバイスの通常の応用は、電子デバイスの大容量データ記憶サブシステムとしての応用である。そのようなサブシステムは、通常、複数のホストシステムへ挿入可能で取り外し可能なメモリカードとして実現されるか、またはホストシステム内の取り外し不可能な埋め込み形記憶装置として実現される。双方の実現において、サブシステムは1つまたは複数のフラッシュデバイスを含み、また多くの場合、サブシステムコントローラを含む。
フラッシュEEPROMデバイスは、トランジスタセルから成る1つまたは複数のアレイから構成され、各々のセルは1つまたは複数のデータビットを不揮発的に記憶することができる。したがって、フラッシュメモリは、その中にプログラムされたデータを保持するための電力を必要としない。しかし、一度プログラムされると、セルは、新しいデータ値で再プログラムされる前に、消去されなければならない。セルから成るこれらのアレイはグループへ区分され、読み出し、プログラミング、および消去機能の効率的な実現を提供する。大容量記憶装置の典型的なフラッシュメモリ構造は、セルの大きなグループを消去可能ブロックへ配列する。この場合、1つのブロックは、一時に消去できる最小数のセル(消去単位)を含む。
1つの商業形態において、各々のブロックは、ユーザデータおよび幾つかのオーバーヘッドデータから成る1つのセクタを記憶するのに十分なセルを含む。このオーバーヘッドデータは、ユーザデータ、および/またはそれが記憶されるブロックに関連している。1つのセクタに含まれるユーザデータ量は、1つの種類のそのようなメモリシステムでは標準の512バイトであるが、他のサイズであってもよい。セルの個々のブロックを相互に隔離することは、それらのブロックを個別に消去できるようにするために必要であるが、そのような隔離は集積回路チップ上で空間を取るので、他の種類のフラッシュメモリはブロックを著しく大きくし、そのような隔離に必要な空間を小さくしている。しかし、はるかに小さなセクタの中のユーザデータを取り扱うことも所望されるから、各々の大きなブロックは、多くの場合、ユーザデータを読み出しおよびプログラムするための基本単位である個別にアドレス可能なページへさらに区分される。各々のページは、通常、ユーザデータから成る1つのセクタを記憶するが、ページは部分セクタまたは複数セクタを記憶してよい。「セクタ」とは、本願明細書では、ホストの間で1つの単位として転送されるユーザデータ量を意味する。
大きなブロックのシステムにおけるサブシステムコントローラは、多くの機能を実行する。そのような機能の中には、ホストからメモリサブシステムによって受け取られた論理アドレスとメモリセルアレイ内の物理アドレスとの間の変換が含まれる。この変換は、多くの場合、論理ブロック番号(LBN)および論理ページのための中間用語 (intermediate terms) の使用を含む。コントローラは、さらに、一連のコマンドを介して低レベルのフラッシュ回路動作を管理する。コントローラは、インターフェイスバスを介して、前述した一連のコマンドをフラッシュメモリデバイスへ発する。コントローラが実行する他の機能は、様々な手段、例えば、誤り訂正符号(ECC)を使用して、サブシステムへ記憶されたデータの完全性を維持することである。
フラッシュおよび幾つかの他のメモリシステムでは、データのページを再書き込みする前に、それを消去しなければならない。したがって、データを記憶するためデータのページを選択する前に、消去されたページを発見する必要がある。したがって、メモリのどの部分が消去された状態にあるかを、できるだけ迅速かつ便宜的に決定できることがシステムにとって重要である。その理由は、メモリ部分をまだ使用しなければならないのか、またはメモリ部分が消去プロセスを受けた前に書き込まれたセクタであるのかを決定するためである。これは、必ずしも、コントローラが消去動作を導入したブロックを単に追跡する直接的な場合ではない。例えば、そのようなメモリ回路の動作中に電力が停止した場合、例えば、メモリカードがホストから取り除かれるか、集積メモリを有するデバイスへの電力が失われるとき、メモリは消去動作中であったかも知れず、不完全な動作を生じることになる。さらに、セクタは消去されたが、少数の破壊ビットを含む場合、セクタの単純な読み出しは、あたかもデータを保持しているように見せかける。
多くのセクタ消去手法が知られる。例えば、単にセクタの内容を読み出すことができる。しかし、可能性として破壊ビットがあるかも知れない問題とは別に、実際に消去されたセクタと、同じデータ、即ち、たまたま対応するオールFFで書き込まれたセクタとが、これによって区別されない。本願明細書において参照により援用されている米国特許第5,928,370号(特許文献1)で見い出される1つの従来技術の解決法は、ECCエンジンを使用して、「理想的な」消去されたセクタを検出する解決法である。セクタデータを使用して新しいECCフィールドを生成し、この新しいECCフィールドを、オールFFについて事前に生成された参照ECCフィールドと比較することができる。ECCフィールドが同じであれば、セクタは、消去されたと考えられる(オールFFを含む)。しかし、これは、依然として誤った検出の公算が存在するという問題を有する。さらに、この方法は、消去されたセクタが1つだけのゼロ・ビットを有しても、消去されたセクタを検出することができない。
米国特許第5,928,370号 米国特許第6,522,586号 米国特許出願第10/086,495号 米国特許第6,282,130号 米国特許第5,546,341号 米国特許出願第09/956,201号 米国特許出願第10/751,096号 米国特許出願第10/841,379号 2002年10月25日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアン、およびダニエル・シー・グッターマンによる「誘電体記憶素子を用いる多状態不揮発性集積回路メモリシステム」という米国特許出願 米国特許第5,768,192号 米国特許第4,630,086号 米国特許第5,991,193号 米国特許第5,892,706号
第1の態様によれば、本発明は、誤作動するセルまたは他の問題のためにセクタが低い数のゼロ・ビットを含み、破壊されたビットの数がECC訂正限度よりも下にあるためセクタを依然として使用できるとき、消去されたセクタの即時および正確な検出を可能にする不揮発性メモリおよびその動作方法を提供する。この方法によって、記憶システムは、消去されたセクタの破壊に対して耐性を有するようになる。なぜならば、システムが、後にECC訂正手段による書き込みデータの中でこの誤りを訂正できるならば、そのようなセクタをさらなるデータ記憶に使用できるからである。
実施形態の第1の集合は、ページの内容(ECCフィールドを含む)を反転し、幾つかの破壊(0ビット)を有する消去されたページ(オールFF)が、破壊に起因する幾つかの高ビットを除いて、ゼロ・データを有するページになるようにする。次に、システムは、消去されたページを有効データとして解釈し、システムの標準ECC方法をそれに適用することができる。新しいシンドロームが生成され、この新しいシンドロームを使用してページが訂正される。ページが成功裏に訂正されたならば、それがオール・ゼロを含むかどうかを検査する。含むならば、消去されたセクタが発見されたことになる。
本発明のさらなる態様において、追加の実施形態は、部分的に消去されたセクタ(オーバーヘッドおよびECC領域を有する主なデータ)を検出する方法を説明する。この方法では、そのようなページが検出されるだけでなく、破壊レベルが数量化されるので、ページがさらなる使用に適しているかどうかを決定できるようになる。セクタデータがコントローラへ転送されたとき、ファームウェアまたはECCカスタマイズされた回路は、セクタの中、またはセクタが複数の隣接またはインターリーブされた符号語へ分割されるときには全ての符号語の中で、ゼロ・ビット(BCHについて)、または少なくとも1つのゼロ・ビットを有する記号(リード・ソロモンについて)を検出およびカウントする。こうして、カウンタの値は、セクタの中(またはセクタの全ての符号語の中)で、消去されなかったビットまたは記号の数を含むことになる。これらの値は、消去されたセクタの破壊レベルを示す。
本発明の追加の態様では、これらの実施形態の任意のものについて、消去されたセクタの検出プロセスを、ページが非破壊消去済状態にあるかどうかの予備検査、およびページが限定数のゼロ・ビットを含むかどうかを決定するプロセスによって先行させることができる。
本発明の追加の態様、特徴、および利点は、添付の図面と結びつけて考慮されるべきである例示的な実施形態の以下の説明に含まれる。
例示的な不揮発性メモリシステム
具体的な例を提供するため、図1〜図6を参照して、本発明の様々な態様が実現される具体的な不揮発性メモリシステムが説明される。消去プロセスにおける妨害量を低減するため、本発明は、選択されない記憶素子のコントロールゲートを、その下にあるウェル構造と同じ電圧レベルに維持する。例示的な実施形態において、記憶素子はウェル構造の上に形成される。消去プロセスの間、ウェルの上の選択された記憶素子および選択されない記憶素子の双方は消去電圧へ上げられ、並行してこの電圧レベルをウェルの中に確立する。次に、この電圧はウェルおよび選択されない記憶素子の上で維持されることによって、妨害に関連するいかなる消去の機会も低減される。その間に、選択された記憶素子は放電を許され、必要な消去条件を生成する。さらに、これは、回路のピッチ領域を増加することなく、またはメモリアレイの中に新しい配線を追加することなく達成可能であり、最小の追加の周辺領域が回路へ追加される結果となる。
具体的にするため、本発明をNAND形EEPROMフラッシュメモリについて説明する。もっとも、以下で一般化についてさらに説明する。特に、現在の解説は、米国特許第6,522,580号(特許文献2)、および前に参照により援用されているNANDシステムに関連した他の出願で説明されるようなシステムを使用する。以下で具体的な電圧が必要になるとき、消去電圧Verase は15〜20ボルトの範囲で取られ、低い論理レベルは接地によって取られ、高い論理レベルVddは1.5〜3ボルトの範囲で取られる。もっとも、設計に依存して他の値が使用されてよい。
図1は、フラッシュメモリシステムのブロック図である。行列として配列された複数の記憶ユニットMを含むメモリセルアレイ1は、列制御回路2、行制御回路3、cソース制御回路4、およびc−pウェル制御回路5によって制御される。列制御回路2は、メモリセルアレイ1のビット線(BL)へ接続され、メモリセル(M)内に記憶されたデータを読み出し、プログラミング動作の間にメモリセル(M)の状態を決定し、ビット線(BL)の電位レベルを制御して、プログラミングを促進するか、プログラミングを禁止する。行制御回路3は、ワード線(WL)へ接続されて、ワード線(WL)の1つを選択し、読み出し電圧を印加し、列制御回路2によって制御されるビット線電位レベルと組み合わされたプログラミング電圧を印加し、メモリセル(M)が形成されるp形領域(図3で「c−pウェル」11とラベルを付けられている)の電圧と結合された消去電圧を印加する。cソース制御回路4は、メモリセル(M)へ接続された共通のソース線(図2で「cソース」とラベルを付けられている)を制御する。c−pウェル制御回路5は、c−pウェルの電圧を制御する。
メモリセル(M)の中に記憶されたデータは、列制御回路2によって読み出され、I/O線およびデータ入出力バッファ6を介して外部I/O線へ出力される。メモリセルの中に記憶されるべきプログラムデータは、外部I/O線を介してデータ入出力バッファ6へ入力され、列制御回路2へ転送される。外部I/O線はコントローラ20へ接続される。フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ20と接続される外部制御線へ接続されたコマンドインターフェイスへ入力される。コマンドデータは、どのような動作が要求されるかをフラッシュメモリに通知する。入力コマンドは、列制御回路2、行制御回路3、cソース制御回路4、c−pウェル制御回路5、およびデータ入出力バッファ6を制御する状態マシン8へ転送される。状態マシン8は、フラッシュメモリのステータスデータ、例えば、作動可能/動作中(READY/BUSY)または合格/不合格(PASS/FAIL)を出力することができる。
コントローラ20は、ホストシステム、例えば、パーソナルコンピュータ、デジタルカメラ、または個人用携帯情報端末(PDA)へ接続されるかまたは接続可能である。ホストは、コマンド、例えば、メモリアレイ1へデータを記憶しまたはメモリアレイからデータを読み出すコマンドを起動し、それぞれ、そのようなデータを提供または受け取る。コントローラは、そのようなコマンドをコマンド回路7によって解釈および実行可能であるコマンド信号へ変換する。コントローラは、さらに、典型的には、メモリアレイへ書き込まれるか、またはメモリアレイから読み出されるユーザデータのために、バッファメモリを含む。典型的なメモリシステムは、コントローラ20を含む1つの集積回路チップ21、および各々がメモリアレイおよび関連した制御回路、入出力回路、および状態マシン回路を含む1つまたは複数の集積回路チップ22を含む。傾向としては、もちろん、システムのメモリアレイおよびコントローラ回路を一緒に1つまたは複数の集積回路チップの上に集積することである。メモリシステムは、ホストシステムの一部として埋め込まれるか、またはホストシステムの嵌合ソケットへ取り外し可能に挿入できるメモリカードの中に含まれてよい。そのようなカードはメモリシステムの全体を含むか、または関連する周辺回路を有するコントローラおよびメモリアレイが別個のカードに設けられてよい。
図2を参照して、メモリセルアレイ1の例示的な構造を説明する。NAND形のフラッシュEEPROMを例として説明する。メモリセル(M)は、多数、特定の例では、1024のブロックへ区分される。各々のブロックの中に記憶されたデータは同時に消去される。したがって、ブロックは、同時に消去可能な多数のセルの最小単位である。各々のブロックの中には、米国特許第6,522,580号(特許文献2)でさらに説明されているように、N個の列、この例ではN=8,512の列が存在する。これらの列は左の列と右の列へ分割される。ビット線も、左ビット線(BLL)と右ビット線(BLR)へ分割される。各々のゲート電極でワード線(WL0〜WL3)へ接続された4つのメモリセルは直列に接続されて、NANDセルユニットを形成する。NANDセルユニットの1つの端子は、ゲート電極が第1の(ドレイン)選択ゲート線(SGD)へ結合された第1の選択トランジスタ(S)を介して、対応するビット線(BL)へ接続され、他の端子は、ゲート電極が第2の選択ゲート線(SGS)へ結合された第2の(ソース)選択トランジスタ(S)を介して、cソースへ接続される。図を簡略化するため、4つのフローティングゲートトランジスタが各々のセルユニットの中に含まれるように示されているが、他の数、例えば、8、16、またはさらには32ものトランジスタが使用される。図2は、さらに、ウェル電圧を供給する接続c−pウェルを含む。
各々のブロックの中で、この例では、8,512の列が偶数列および奇数列へ分割される。ビット線は、さらに、偶数ビット線(BLe)および奇数ビット線(BLo)へ分割される。各々のゲート電極でワード線(WL0〜WL3)へ接続された4つのメモリセルは、直列に接続されてNANDセルユニットを形成する。NANDセルユニットの1つの端子は、ゲート電極が第1の選択ゲート線(SGD)へ結合された第1の選択トランジスタ(S)を介して、対応するビット線(BL)へ接続され、他の端子は、ゲート電極が第2の選択ゲート線(SGS)へ結合された第2の選択トランジスタ(S)を介して、cソースへ接続される。図を簡略化するため、4つのフローティングゲートトランジスタが各々のセルユニットに含まれるように示されているが、より高い数、例えば、8、16、またはさらには32ものトランジスタが使用される。
実施形態の代替の集合において、本願明細書において参照により援用されている2002年2月27日に出願された米国特許出願第10/086,495号(特許文献3)で説明されるように、アレイは、奇数・偶数配列の代わりに、左および右の部分へ分割可能である。左側および右側は追加的に独立のウェル構造を有してよく、アレイの右側および左側の各々は、そのような別々のウェル構造の上に形成され、図1のc−pウェル制御回路5によって電圧レベルを独立に設定できるようにされる。さらなる変形例では、これによってブロックの全区画よりも小さいサブブロックの消去が可能になる。本発明と互換的なさらなる変形例が、米国特許出願第10/086,495号(特許文献3)にも説明されている。
例示的な実施形態において、ページサイズは512バイトである。これは、同じワード線の上のセル数よりも小さい。このページサイズは、ユーザ選好および慣行に基づく。1ページ分のセルより多くのセルにワード線のサイズを対応させることは、Xデコーダ(行制御回路3)の空間を節約する。なぜならば、異なるページ分のデータがデコーダを共用できるからである。ユーザデータの読み出しおよびプログラミング動作の間、N=4,256のセル(M)が、この例では同時に選択される。選択されたセル(M)は、同じワード線(WL)、例えば、WL2、および同じ種類のビット線(BL)を有する。したがって、532バイトのデータを同時に読み出しまたはプログラムすることができる。同時に読み出されるか、またはプログラムされるこの532バイトのデータは、論理的に「ページ」を形成する。したがって、1つのブロックは少なくとも8つのページを記憶することができる。各々のメモリセル(M)が2つのデータビットを記憶するとき、即ち、マルチレベルセルであるとき、1つのブロックは、セル当たり2ビットの記憶装置の場合に16ページを記憶する。この実施形態において、各々のメモリセルの記憶素子、この場合、各々のメモリセルのフローティングゲートは、ユーザデータの2つのビットを記憶する。
図3は、図2の略図で示されている形のNANDセルユニットのビット線(BL)方向における断面図を示す。p形半導体基板9の表面にp形領域c−pウェル11が形成され、左および右のc−pウェルの各々はn形領域10によって囲まれて、p形基板からc−pウェルを電気的に絶縁する。n形領域10は、第1の接触孔(CB)およびn形拡散層12を介して、第1の金属M0から作られたc−pウェル線へ接続される。p形領域c−pウェル11も、第1の接触孔(CB)およびp形拡散層13を介して、c−pウェル線へ接続される。c−pウェル線はc−pウェル制御回路5(図1)へ接続される。
例示的な実施形態はフラッシュEEPROM記憶ユニットを使用する。この場合、各々のメモリセルは、セルに記憶されているデータに対応する電荷量を記憶するフローティングゲート(FG)、ゲート電極を形成するワード線(WL)、およびp形拡散層12から作られたドレインおよびソース電極を有する。フローティングゲート(FG)は、トンネル酸化膜(14)を介してc−pウェルの表面に形成される。ワード線(WL)は、絶縁膜(15)を介してフローティングゲート(FG)の上に積み重ねられる。ソース電極は、第2の選択トランジスタ(S)および第1の接触孔(CB)を介して、第1の金属(M0)から作られた共通ソース線(cソース)へ接続される。共通ソース線は、cソース制御回路(4)へ接続される。ドレイン電極は、第1の選択トランジスタ(S)、第1の接触孔(CB)、第1の金属(M0)の中間配線、および第2の接触孔(V1)を介して、第2の金属(M1)から作られたビット線(BL)へ接続される。ビット線は列制御回路(2)へ接続される。
図4および図5は、ワード線(WL2)の方向におけるメモリセル(図3の断面4−4)および選択トランジスタ(図3の断面5−5)の断面図をそれぞれ示す。各々の列は、シャロートレンチ分離 (shallow trench isolation) (STI)として知られるように、基板の中に形成されて絶縁材料で充填されるトレンチによって隣接する列から分離される。トレンチは、フローティングゲート(FG)は、STIおよび絶縁膜15およびワード線(WL)によって、相互から分離される。選択トランジスタ(S)のゲート電極(SG)は、フローティングゲート(FG)およびワード線(WL)と同じ形成プロセスステップで形成されるので、積層ゲート構造を示す。これらの2つの選択ゲート線(SG)は、線の終わりに分路を作られる。
前に参照により援用されている米国特許第6,522,580号(特許文献2)は、メモリセルアレイ1を動作させる様々な電圧を説明する。特定の例において、各々のメモリセルのフローティングゲートは2つのビットを記憶し、状態「11」、「10」、「01」、「00」の1つを有する。ワード線「WL2」および「BLe」のビット線が消去、読み出し、またはプログラミングのために選択される場合について、ここで前述した米国特許を簡単に概説する。c−pウェルをVerase =15〜20Vの消去電圧へ上げ、選択されたブロックのワード線(WL)を接地することによって、選択されたブロックのデータが消去される。選択されないブロックのワード線(WL)、ビット線(BL)、選択線(SG)、およびcソースの全ては浮遊状態に置かれるので、これらも、c−pウェルとの容量結合によって、ほぼVerase へ上げられる。したがって、選択されたメモリセル(M)のトンネル酸化膜14(図4および図5)だけに強い電界が印加され、選択されたメモリセルのデータは、トンネル電流がトンネル酸化膜14を横切って流れるので消去される。消去されたセルは、この例では、4つの可能なプログラミング状態の1つ、即ち、「11」である。
消去およびプログラミング値で使用される高電圧値は、電荷ポンプ(図1では示されていない)を使用して、より低い供給値から生成可能である。これらの高い電圧値は、メモリチップ22自身の上で生成されるか、またはメモリシステム内の他のチップから供給されてよい。高電圧源の使用およびロケーションは、本願明細書において参照により援用されている米国特許第6,282,130号(特許文献4)、およびそこで引用された追加の参考文献の中で十分に説明されている。
図6は、そのような従来技術の配列を概略的に示す。3つの代表的なワード線WLA 、WLB 、WLC が、それぞれトランジスタ101、103、および105を介して様々な電圧レベルを供給する線107へ接続される。トランジスタ101、103、および105は、線107と一緒に図1の行制御回路3の一部であってよい。図1のc−pウェル制御回路5は、ウェル構造c−pウェル11のために電圧を提供する。次に、ワード線は、ウェル構造11の上で図2に示されているメモリ1の異なるブロックの様々なワード線の任意のものへ続く。消去プロセスでは、選択されたワード線に対応するワード線WLC 、および選択されないWLA およびWLB の双方を使用して、c−pウェルの中の電圧が消去電圧、例えば、17ボルトへ上げられ、線107が接地される。トランジスタ105のゲートはVddの高レベルへ設定され、ワード線WLC が接地され、その間に、トランジスタ101および103の双方は、それらのゲートを接地することによってオフに転換され、WLA およびWLB が浮遊のままに残される。これは前述した消去条件を生じる。その場合、選択されない消去ゲートは、ウェルからの容量結合によって電気量を変えられ(例えば、前に援用されている米国特許第5,546,341号(特許文献5)で説明されているように)、選択された消去ゲートは接地へ強制される。消去プロセスの他の態様は、本願明細書において参照により援用されている2001年9月17日に出願された米国特許出願第09/956,201号(特許文献6)で説明される。具体的には、米国特許出願第09/956,201号(特許文献6)は、選択されないワード線を浮遊させることのできるプロセス、本発明の様々な態様の代替の実施形態へ組み込むことのできるプロセスを説明する。
プログラミング動作の間にフローティングゲート(FG)の中に電子を蓄積するため、選択されたワード線WL2はプログラミングパルスVpgmへ接続され、選択されたビット線BLeは接地される。他方では、プログラミングが起こるべきでないメモリセル(M)の上のプログラミングを禁止するため、対応するビット線BLeは、選択されないビット線BLoと同じく、電源のVdd、例えば、3Vへ接続される。選択されないワード線WL0、WL1、およびWL3は10Vへ接続され、第1の選択ゲート(SGD)はVddへ接続され、第2の選択ゲート(SGS)は接地される。その結果、プログラムされているメモリセル(M)のチャネル電位は0Vへ設定される。プログラミング禁止におけるチャネル電位は、ワード線(WL)との容量結合によって引き上げられているチャネル電位の結果として、約6Vへ上げられる。前に説明したように、プログラミングの間、メモリセル(M)のトンネル酸化膜14だけに強い電界が印加され、トンネル電流は消去と比較して逆方向にトンネル酸化膜14を横切って流れ、論理状態は「11」から他の状態「10」、「01」、または「00」の1つへ変更される。
プログラミング動作の間にフローティングゲート(FG)へ電子を蓄積するためには、選択されたワード線WL2がプログラミングパルスVpgmへ接続され、選択されたビット線BLeが接地される。他方では、プログラミングが起こるべきでないメモリセル(M)の上でプログラミングを禁止するため、対応するビット線BLeは、選択されないビット線BLoと同じく、電源のVdd、例えば、3Vへ接続される。選択されないワード線WL0、WL1、およびWL3は10Vへ接続され、第1の選択ゲート(SGD)はVddへ接続され、第2の選択ゲート(SGS)は接地される。結果として、プログラムされているメモリセル(M)のチャネル電位は0Vに設定される。プログラミング禁止におけるチャネル電位は約6Vへ上げられる。なぜならば、チャネル電位はワード線(WL)との容量結合によって引き上げられているからである。前に説明したように、プログラミングの間、メモリセル(M)のトンネル酸化膜14だけに強い電界が印加され、トンネル電流は消去と比較して逆方向にトンネル酸化膜14を横切って流れ、論理状態は「11」から他の状態「10」、「01」、または「00」の1つへ変更される。
読み出しおよびベリファイ動作において、選択ゲート(SGDおよびSGS)および選択されないワード線(WL0、WL1、およびWL3)は、4.5Vの読み出し合格(パス)電圧へ上げられ、これらを合格(パス)ゲートにする。選択されたワード線(WL2)は、各々の読み出しおよびベリファイ動作のために指定された電圧レベルへ接続される。それは、関係するメモリセルのしきい値電圧が、そのようなレベルへ達したかどうかを決定するためである。例えば、READ10動作では、選択されたワード線WL2が接地されるので、しきい値電圧が0Vよりも高いかどうかが検出される。この読み出しの場合、読み出しレベルは0Vであると言うことができる。VERIFY01動作では、選択されたワード線WL2が2.4Vへ接続され、しきい値電圧が2.4Vへ達したかどうかがベリファイされる。このベリファイの場合、ベリファイレベルは2.4Vと言うことができる。再び、説明されたプロセスの全てについて、引用された電圧レベルは、単に例示的な値である。
選択されたビット線(BLe)は、高レベル、例えば、0.7Vへ前もって電気量を変えられる。しきい値電圧が読み出しまたはベリファイレベルよりも高ければ、関係するビット線(BLe)の電位レベルは、導通しないメモリセル(M)のために高レベルを維持する。他方では、しきい値電圧が読み出しまたはベリファイレベルよりも低ければ、関係するビット線(BLe)の電位レベルは、導通メモリセル(M)のために低レベル、例えば、0.5V未満レベルへ減少する。読み出しおよびベリファイ動作のさらなる詳細を以下に説明する。
消去されたセクタの検出メカニズムの例
本発明の主な態様は、誤作動するセルまたは他の問題のためにセクタが低い数(しかし、必ずしもゼロではない)のゼロ・ビットを含み、破壊されたビットの数がECC訂正限度よりも下にあるためセクタを依然として使用できるとき、消去されたセクタを即時および正確に検出する手法である。現在までの従来技術のシステムは、そのような場合に耐性がなく、セクタが前に書き込まれて破壊されていると考えて、システムが機能を停止する結果となる。この方法によって、記憶システムは、消去されたセクタのそのような破壊に耐えるようになり、システムがECC訂正手段による書き込みデータの中でこの誤りを後で訂正できるならば、そのようなセクタはさらなるデータ記憶に使用できるようになる。さらに、これらの手法は、2003年12月31日に出願された米国特許出願第10/751,096号(特許文献7)で説明されるソート消去済セクタ打ち切り検出メカニズムと組み合わせられてよい。
さらに具体的には、本発明は、部分的に消去されたセクタ(主なユーザデータ、およびオーバーヘッドとECC領域)を検出する方法を説明する。この方法では、そのようなページが検出されるだけでなく、破壊レベルが数量化されるので、ページがさらなる使用に適しているかどうかを決定できるようになる。セクタデータがコントローラへ転送されたとき、ファームウェアまたはECCカスタマイズされた回路は、セクタの中、またはセクタが複数の隣接またはインターリーブされた符号語へ分割されるときには全ての符号語の中で、ゼロ・ビット(BCHについて)、または少なくとも1つのゼロ・ビットを有する記号(リード・ソロモンについて)を検出およびカウントする。こうして、カウンタの値は、セクタの中(またはセクタの全ての符号語の中)で、消去されなかったビットまたは記号の数を含むことになる。これらの値は、消去されたセクタの破壊レベルを示す。例えば、BCHの場合、カウンタはゼロ・ビットの数をカウントする。その数がECC訂正可能限度よりも下であれば、ページはプログラミングに使用可能である。ECC方法が4ビットの訂正を許すならば、1つまたは2つの故障ビットを有する消去されたセクタを使用することは全く安全である。
例示的な実施形態は、ガロア体の特性およびそれを使用するECCアルゴリズムに基づく。例えば、BCHおよびリード・ソロモン方法は、ゼロ・データについてゼロECCアルゴリズムを生成する。なぜならば、オール・ゼロの符号語は有効な符号語だからである。他の、より複雑な誤り訂正方法には、類似の戦略を使用することができる。以下の説明は、さらに、多くの場合、データセクタの単位を参照する。なぜならば、これはECC符号語が計算される共通の単位だからである。しかし、より一般的には、他のデータ単位について、説明された手法を容易に実行してよい。
図7は、ECCアルゴリズムを使用して、消去されたページ(オールFF)の検出を助ける本発明の第1の例示的な実施形態を示す。セクタがオールFFを含まず、誤り訂正アルゴリズムによってデータを訂正できなければ、手法は、セクタが消去された(オールFF)セクタであったが幾つかのビットが故障(0)していると仮定し、他の試みを行ってセクタデータを訂正する。セクタデータは、「消去」されたセクタデータを有効な符号語にするため、最初に反転される。反転および消去されたセクタ(ECCフィールドを含む)は有効な符号語であるオール0を有する。なぜならば、ゼロ・データはゼロのECCを生成するからである。その結果、幾つかの(ECC限度内で)ビットが高であれば、システムが普通に使用した同じ誤り訂正ルーチンによって、それらのビットを訂正することができる。
第1の段階710は、初期データ誤り検出および訂正動作である。この動作には、セクタが消去されたかどうかの初期検査が含まれる。第1の段階710の次に、消去されたセクタの検出方法が実行される第2の段階750が続く。初期段階710は任意的であり、スキップされてよい。なぜならば、それがなくても消去されたページを検出できるからである。しかし、この初期段階を含めることが好ましい。なぜならば、それはページが消去されたか(破壊を伴わないで)、または有効なデータを含むかの初期検査を提供するからである。
プロセスは701で開始し、初期検査がステップ711で実行されて、破壊を伴わないでページが消去された(オールFF)かどうかが調べられる。そうであれば、プロセスはステップ763へ直接進んで終了する。そうでなければ、プロセスはステップ713へ続き、正しくて消去されなかったデータをページが含むかどうかが検査される。代替として、段階750へ移動する前に、ステップ719の後にステップ711の検査を置くことができる。
ステップ713は、有効で消去されなかったデータをページが含むかどうかを決定する(715)。含まなければ、プロセスは継続してデータ訂正動作が実行される(717)。これが訂正されたデータを生じるならば、プロセスは終了する(721)。なぜならば、訂正されたデータはECCを使用して抽出されたからである。データを訂正できなければ、誤り訂正段階が開始する。その段階では、そのセクションが消去され、主にFFを含むものと仮定される。
プロセスは段階750へ移動して、消去されたが破壊されたデータをページが含むかどうかが決定される。これはステップ751で開始し、ECCフィールドを含むセクタデータの全てを反転する。反転および消去されたページは、所与のECCアルゴリズムのために有効な符号語である。ステップ753は、あたかもECCブロックによって生成されたかのように、新しい誤り訂正シンドロームを生成する。1バイトのシンドロームを有するセクタ当たり4符号語の1つの非常に特殊な例では、全ての4つの部分符号語のために、データバイト0〜128および129を使用して最初のバイトを生成することができ、データバイト0〜128および130を使用して第2のバイトを生成することができ、データバイト0〜128および131を使用して第3のバイトを生成することができる。符号語の数およびサイズのさらに一般的な場合は、容易に続く。この新しいシンドロームを使用して、訂正動作が新しいシンドロームを使用して反転データの上で実行される。プロセスが成功しなければ(757〜759)、セクタは訂正できない量の誤りを有すると決定される。データが訂正されたならば(757〜761)、データが0だけで構成されるかどうかがステップ761で検査される。構成されなければ(761〜759)、再び訂正できない誤りが存在し、段階750へ進んだ初期の仮定が間違っていた可能性がある。セクタの誤りは、可能性として、訂正するにはあまりに重大で、誤りは適正に訂正されなかった。セクタがステップ761でオール0を含むならば、消去されたセクタであるが処理可能な破壊量を有するセクタが発見された(763)。
図7の様々なステップ、およびこれからの図に関して説明される実施形態は、ハードウェアまたはファームウェア/ソフトウェアで実現可能である。幾つかのステップは、他の形態よりも1つの形態で容易に実現される。例えば、ステップ711(データを検査して、それがオールFFであるかどうかを調べる)は、メモリバス上の受信データを検査することによって、ハードウェアでかなり簡単に検査可能である。ステップ761(データバッファ内のオール0を検査する)の実行は、比較的頻度が少なく、ファームウェアで達成可能である。
ステップ711のハードウェアが、データ内のゼロ・ビットの数をカウントできるならば、ステップ761はスキップされてよい。なぜならば、システムは、ゼロ・ビットの初期の数および誤り訂正によって変えられた1ビットの数を知るだけでよいからである。これらが等しければ、ページはオール・ゼロを有する。これは、訂正中にビットを変えるBCHベースの符号について容易に実現される。記号を訂正するリード・ソロモンでは、カウントは非FF記号である。いずれの場合にも、これは、好ましくは、各々の符号語について行われる。(以下で説明されるように、これは図9のステップ771で行われることとほとんど同じである。)
図7の実施形態は、消去されたページの破壊レベルを数量化しないECC検査方法を使用する。この場合、消去されたページの中で許されるゼロ・ビット(Z)の数は、使用されているECC方法に基づいて固定される。例えば、BCHが使用されるならば、消去されたページをオールFF状態へ訂正できるための消去済ビットの最大数Zは(故障が均一に分散されていれば)、Z=(符号語当たりの訂正可能なビットの最大数)x(セクタ(または他のデータ単位)当たりの符号語の数)となる。リード・ソロモンでは、対応する式は、Z=(符号語当たりの訂正可能な記号の数)x(記号当たりのビット)x(セクタ(または他のデータ単位)当たりの符号語)となる。実用的な実現において、受け入れ規準は、各々の符号語の中の消去されないビット(BCH)または記号(リード・ソロモン)の或る許容数Zを超えないとすることができる。ここで、この実施形態におけるZは、訂正可能なビットまたは記号の数に等しい。図8および図9で示されている実施形態は、消去されたページの破壊レベルの数量化を可能にする。
図8に示されている実施形態は、前述した方法に基づくECC検査を含むが、消去されたページの破壊レベルの数量化を含む。消去されたページの中の許容ゼロ・ビット(Z)の数は、ECCアルゴリズムによって識別される。例えば、BCHは、それが訂正できるビット誤り数を与え、リード・ソロモンは、訂正可能なマルチビット記号の数を与える。この場合、破壊レベルは、破壊された記号の数に基づいて受け入れ可能として検出される。セクタが、1つより多い符号語から構成されるならば、セクタの良好度は、最悪最大破壊度の符号語によって定められてよい。
図7の実施形態に対して、図8の新しい要素は、誤り検出ルーチン750の部分段階770に見出される。この実施形態は、反転データのために新しいシンドロームを生成するステップ753の直後にこの部分段階770を置く。図8の他のステップ(段階710をスキップする選択肢およびステップ711の配置を含む)は、図7に関して前述したことと基本的に同じと考えてよい。しかし、消去ページパターンがオール0に対応する場合、ステップ751の反転は、後続する破壊レベルの数量化の前に必要でない。(より一般的には、消去されたページが、反転されたときにのみ、有効な符号語を生成するならば、反転ステップを含めるべきである。)
ステップ771は、前述したように、破壊レベルを数量化する。この実施形態では、訂正されたページが、消去されたかどうかを決定するために、ステップ757が使用される。なぜならば、ステップ771が、最も近い有効な符号語に対して誤り量を数量化するからである。最も近い有効な符号語はオール・ゼロであってよいが、任意の他の符号語であってもよい。
ステップ773は、レベルが、受け入れ可能な限度内であるかどうかを決定する。受け入れ可能な限度内でなければ、誤りは訂正できないほどに高と考えられ、ルーチンはデータの訂正を試みることなく759へ直接進む。レベルが受け入れ可能と決定されるならば、プロセスはステップ755へ進み、図7と同じように継続できるが、消去されたセクタが発見されるならば、終りの結果はステップ763で破壊レベルを含むことが異なる。この実施形態で、763がステップ711から直接到達されるならば、破壊レベルは含まれないことに留意すべきである。
図8の変形例として、ステップ771をステップ755の一部分にすることができる。この方法では、訂正が完了するときに破壊の数量化が完了し、したがって組み合わせられた結果は、訂正されたビットまたは記号の数である。ステップ771および755が組み合わせられるならば、ステップ773は、組み合わせられたステップ771/755の後に置かれる。
図9は、消去されたページの破壊レベルの数量化を含む第2の例示的な実施形態である。図9のルーチンは、異なる段階750へ進む前に、他の実施形態で前述した任意的初期段階710で再び始まる。図9は、消去されたページの破壊レベルの数量化を再び含み、これは図8で示したものと類似しているが、ECC検査に基づく方法なしに達成可能である。その代わりに、消去されたページの中の許容ゼロ・ビット(Z)の数は、例えば、ゼロ・ビット(BCH)または非オール・ゼロ記号(リード・ソロモン)をカウントすることによって識別される。
図9のプロセスは、前述した実施形態と同じように、任意的な段階710から再び始まる。前と同じように、ステップ711は段階710の始まりまたは終わりに置かれてよい。ステップ711が、データ内のゼロ・ビットの数をカウントできるハードウェアによって実行されるならば、後のステップ761はスキップされてよい。なぜならば、システムは、ゼロ・ビットの初期の数および誤り訂正によって変えられた1ビットの数を知るだけでよいからである。これらのビット数が等しければ、ページはオール・ゼロを有する。これは、訂正中にビットを変えるBCHベースの符号について容易に実現される。記号を訂正するリード・ソロモンにおいて、カウントは非FF記号のカウントである。いずれの場合にも、これは、好ましくは、各々の符号語について行われる。
図9の実施形態において、ECCアルゴリズム自身は使用されないが、ECCアルゴリズム特性に関する知識のみが使用される。カウントは、ハードウェア(コントローラまたはメモリの中で)またはファームウェアによって再び行われてよい。結果として、図8のステップ751および753の必要なしに、図9のステップ771で破壊レベルが数量化される。一度、破壊レベルがステップ771で数量化されると、その受け入れ可能度は、前と同じようにステップ773で決定される。レベルが受け入れ可能な限度を超過するならば、データは訂正できない誤り量を有するものと考えられる(759)。
ステップ771は、消去されたセクタのパターンに対して正しくないビットまたは記号の数を既に決定したので、この誤り量がステップ773で受け入れ可能と決定されるならば、それをオール0へ直接訂正することができる。その結果、図8のステップ755および757は冗長となり、フローチャートから取り除かれるのと同時に、ステップ761は、ここでは訂正された値へデータを設定するステップとなる。図8とは異なり、訂正されたページが消去されたかどうかを決定するステップ757は必要とされない。
これまでの説明は、消去されたセクタの検出を基礎にしている。その場合、消去されることはオールFFのパターンに対応し、ECCはリード・ソロモンまたはBCHアルゴリズムに基づいている。前述したように、これらの方法は、当業者に明らかであるように他のECCアルゴリズムへ拡張可能である。さらに、他の種類のメモリで起こるかも知れない他のデータパターン、例えば、オール0から構成される消去済ページを検出するために、これらの手法を応用できることも明らかである。
他のメモリ形に関して、前述したように、本発明は、例示的な実施形態のNAND形フラッシュメモリへ応用できるだけでなく、他の構造およびメモリ技術、例えば、本願明細書において参照により援用されている2004年5月7日に出願された米国特許出願第10/841,379号(特許文献8)で説明されるものへ応用することができる。例えば、他のEEPROMまたは電荷蓄積セル、例えば、ウェル消去を有するNOR形フラッシュメモリに有用である。それは、同様に、記憶素子がフローティングゲートトランジスタでない場合、例えば、本願明細書において参照により援用されている2002年10月25日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エイチ・ユアン、およびダニエル・シー・グッターマンによる「誘電体記憶素子を用いる多状態不揮発性集積回路メモリシステム」という米国特許出願(特許文献9)で説明される種類の誘電体記憶素子へ拡張可能である。これまでの説明は、メモリデバイスとして、電荷蓄積デバイス、例えば、フローティングゲートEEPROMまたはフラッシュセルを使用する実施形態に焦点を当てたが、他の実施形態、例えば、NROMおよびMNOSセル、例えば、エイタンの米国特許第5,768,192号(特許文献10)およびサトウらの米国特許第4,630,086号(特許文献11)でそれぞれ説明されるもの、または磁気RAMおよびFRAMセル、例えば、ギャラガーらの米国特許第5,991,193号(特許文献12)およびシミズらの米国特許第5,892,706号(特許文献13)でそれぞれ説明されるものに説明を当てはめ、使用することができる。これらの特許の全ては、本願明細書において参照により援用されている。
本発明の様々な態様を特定の実施形態に関して説明してきたが、本発明は添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
本発明の様々な態様の実現が説明される不揮発性メモリシステムのブロック図である。 図1のメモリアレイがNAND形であるときの既存の回路および組織を示す。 半導体基板の上に形成されたNAND形メモリアレイの列に沿った断面図を示す。 図3の断面4−4で取られたメモリアレイの断面図である。 図3の断面5−5で取られたメモリアレイの断面図である。 消去メカニズムのための配列を示す。 破壊レベルを考慮する消去済ページ検出メカニズムの第1の実施形態のフローチャートである。 破壊レベルの数量化を考慮する消去済ページ検出メカニズムの第2の実施形態のフローチャートである。 破壊レベルの数量化を考慮する消去済ページ検出メカニズムの第3の実施形態のフローチャートである。

Claims (28)

  1. メモリのデータ単位が消去されたかどうかを決定する方法であって、
    メモリのデータ単位が消去された状態に対応するかどうかの初期決定を実行する初期決定ステップと、
    有効で消去されなかったデータを前記データ単位が含むかどうかを決定する決定ステップと、
    前記決定ステップにおいて、データ単位の内容の上でデータ訂正動作を実行するデータ訂正動作ステップと、
    前記データ訂正動作ステップでデータが訂正されなかった場合、前記データ単位のデータ内容に関連したECCフィールドを反転するステップと、
    反転されたデータ内容について誤り訂正符号シンドロームを生成するステップと、
    前記シンドロームを使用して、反転されたデータ内容の上でデータ訂正を実行するステップと、
    反転されたデータ状態を含む訂正および反転されたデータ内容に基づいて、データ単位のデータ内容が消去されたかどうかを決定するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記データ単位が、データのセクタである方法。
  3. 請求項1記載の方法において、
    誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
  4. 請求項1記載の方法において、
    誤り訂正符号が、BCHアルゴリズムを使用する方法。
  5. 請求項1記載の方法において、
    前記方法が、ファームウェアによって実行される方法。
  6. 請求項1記載の方法において、
    前記初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
  7. メモリのデータ単位が消去されたかどうかを決定する方法であって、
    初期データ誤り検出および訂正動作をするステップと、
    前記初期データ誤り検出および訂正動作をするステップでデータが訂正されなかった場合、データ単位に基づいてデータ内容を反転してできる新しい誤り訂正符号シンドロームを生成する動作をすることなく、データ単位の内容の破壊レベルを数量化するステップと、
    前記初期データ誤り検出および訂正動作をするステップで関連付けられた誤り訂正符号に基づいて、破壊レベルが受け入れ可能かどうかを決定するステップと、
    前記破壊レベルが受け入れ可能かどうかを決定するステップに応答して、データ内容を訂正するステップと、
    訂正されたデータ内容に基づいて、データ単位のデータ内容が消去されたかどうかを決定するステップと、
    を含む方法。
  8. 請求項7記載の方法において、
    前記データ単位の内容の破壊レベルを数量化するステップの前に、データ内容について誤り訂正符号シンドロームを生成するステップをさらに含み、前記データ内容を訂正するステップが、前記シンドロームを使用してデータ内容の上で実行され、前記データ単位のデータ内容が消去されたかどうかを決定するステップが、訂正されたデータ内容に基づく方法。
  9. 請求項8記載の方法において、
    前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、データ単位のデータ内容を反転するステップをさらに含み、誤り訂正符号シンドロームが、反転形式のデータ内容を使用して生成され、前記データ内容を訂正するステップが、前記シンドロームを使用して反転形式のデータ内容の上で実行され、前記データ単位のデータ内容が消去されたかどうかを決定するステップが、訂正された反転形式のデータ内容に基づく方法。
  10. 請求項9記載の方法において、
    前記データ内容を反転するステップが、関連づけられたECCフィールドを反転するステップを含む方法。
  11. 請求項8記載の方法において、
    前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、消去された状態にデータ内容が対応するかどうかの初期決定を実行するステップをさらに含む方法。
  12. 請求項11記載の方法において、
    前記初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
  13. 請求項8記載の方法において、
    前記データ内容について誤り訂正符号シンドロームを生成するステップの前に、有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップをさらに含む方法。
  14. 請求項13記載の方法において、
    前記有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップが、データ単位の内容の上でデータ訂正動作を実行するステップをさらに含む方法。
  15. 請求項7記載の方法において、
    前記データ単位が、データのセクタである方法。
  16. 請求項7記載の方法において、
    誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
  17. 請求項7記載の方法において、
    誤り訂正符号が、BCHアルゴリズムを使用する方法。
  18. 請求項7記載の方法において、
    前記方法が、ファームウェアによって実行される方法。
  19. メモリのデータ単位を処理する方法であって、
    初期データ誤り検出および訂正動作をするステップと、
    前記初期データ誤り検出および訂正動作をするステップでデータが訂正されなかった場合、データ単位に基づいてデータ内容を反転してできる新しい誤り訂正符号シンドロームを生成する動作をすることなく、消去された状態に対してデータ単位の内容の破壊レベルを決定し、数量化するステップと、
    前記初期データ誤り検出および訂正動作をするステップで関連づけられた誤り訂正符号に基づいて、破壊レベルが受け入れ可能かどうかを決定するステップと、
    を含む方法。
  20. 請求項19記載の方法において、
    前記破壊レベルが受け入れ可能かどうかを決定するステップに応答して、データ内容を訂正するステップをさらに含む方法。
  21. 請求項19記載の方法において、
    前記破壊レベルを決定し、数量化するステップの前に、消去された状態にデータ内容が対応するかどうかの初期決定を実行するステップをさらに含む方法。
  22. 請求項21記載の方法において、
    前記初期決定が、メモリバス上の受信データを検査することによってハードウェアの中で実行される方法。
  23. 請求項19記載の方法において、
    前記破壊レベルを決定し、数量化するステップの前に、有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップをさらに含む方法。
  24. 請求項23記載の方法において、
    前記有効で消去されなかったデータをデータ単位が含むかどうかを決定するステップが、データ単位の内容の上でデータ訂正動作を実行するステップをさらに含む方法。
  25. 請求項19記載の方法において、
    前記データ単位が、データのセクタである方法。
  26. 請求項19記載の方法において、
    誤り訂正符号が、リード・ソロモン・アルゴリズムを使用する方法。
  27. 請求項19記載の方法において、
    誤り訂正符号が、BCHアルゴリズムを使用する方法。
  28. 請求項19記載の方法において、
    前記方法が、ファームウェアによって実行される方法。
JP2007548468A 2004-12-22 2005-12-15 消去されたセクタの検出メカニズム Expired - Fee Related JP5236949B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/020,345 US7437653B2 (en) 2004-12-22 2004-12-22 Erased sector detection mechanisms
US11/020,345 2004-12-22
PCT/US2005/046572 WO2006069235A1 (en) 2004-12-22 2005-12-15 Erased sector detection mechanisms

Publications (2)

Publication Number Publication Date
JP2008525937A JP2008525937A (ja) 2008-07-17
JP5236949B2 true JP5236949B2 (ja) 2013-07-17

Family

ID=36263993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007548468A Expired - Fee Related JP5236949B2 (ja) 2004-12-22 2005-12-15 消去されたセクタの検出メカニズム

Country Status (10)

Country Link
US (2) US7437653B2 (ja)
EP (2) EP1829049B1 (ja)
JP (1) JP5236949B2 (ja)
KR (1) KR101368375B1 (ja)
CN (1) CN100589206C (ja)
AT (1) ATE450044T1 (ja)
DE (1) DE602005017936D1 (ja)
IL (1) IL184105A0 (ja)
TW (1) TW200701238A (ja)
WO (1) WO2006069235A1 (ja)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US20080072119A1 (en) * 2006-08-31 2008-03-20 Rodney Rozman Allowable bit errors per sector in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
CN101589437B (zh) * 2006-11-27 2012-08-29 桑迪士克股份有限公司 用于验证编程的分段位扫描
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
KR100847560B1 (ko) * 2006-12-11 2008-07-21 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8351290B1 (en) 2008-09-12 2013-01-08 Marvell International Ltd. Erased page detection
KR101486424B1 (ko) * 2008-09-12 2015-01-26 삼성전자주식회사 에러 정정 회로, 에러 정정 회로를 구비하는 플래시 메모리시스템 및 에러 정정 회로의 동작 방법
KR101497545B1 (ko) * 2008-09-12 2015-03-03 삼성전자주식회사 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8276042B2 (en) 2009-02-03 2012-09-25 Micron Technology, Inc. Determining sector status in a memory device
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
KR20110025524A (ko) * 2009-09-04 2011-03-10 삼성전자주식회사 반도체 메모리 장치 및 그것의 데이터 처리 방법
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8713406B2 (en) * 2012-04-30 2014-04-29 Freescale Semiconductor, Inc. Erasing a non-volatile memory (NVM) system having error correction code (ECC)
US9225356B2 (en) 2012-11-12 2015-12-29 Freescale Semiconductor, Inc. Programming a non-volatile memory (NVM) system having error correction code (ECC)
DE102013211077B4 (de) * 2013-06-13 2015-09-24 Infineon Technologies Ag Verfahren zum Testen eines Speichers und Speichersystem
TWI533311B (zh) * 2013-07-17 2016-05-11 慧榮科技股份有限公司 快閃記憶體裝置及其運作方法
JP6267497B2 (ja) * 2013-11-29 2018-01-24 ラピスセミコンダクタ株式会社 半導体メモリの制御装置及び不安定メモリ領域の検出方法
US9582354B2 (en) 2014-01-28 2017-02-28 Infineon Technologies Ag Apparatus and method for improving data storage by data inversion
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
US10884945B2 (en) 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
US10248418B2 (en) 2015-06-30 2019-04-02 International Business Machines Corporation Cleared memory indicator
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) * 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10410724B2 (en) 2016-04-08 2019-09-10 SK Hynix Inc. Erase page indicator
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11543992B2 (en) * 2020-12-09 2023-01-03 Western Digital Technologies, Inc. Decreasing physical secure erase times in solid state drives
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4458349A (en) * 1982-06-16 1984-07-03 International Business Machines Corporation Method for storing data words in fault tolerant memory to recover uncorrectable errors
JPS5955071A (ja) 1982-09-24 1984-03-29 Hitachi Micro Comput Eng Ltd 不揮発性半導体装置
JPS6050666A (ja) 1983-08-29 1985-03-20 Hitachi Ltd 記録制御方式
US4604751A (en) 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
US4661955A (en) * 1985-01-18 1987-04-28 Ibm Corporation Extended error correction for package error correction codes
US5220568A (en) * 1988-05-31 1993-06-15 Eastman Kodak Company Shift correcting code for channel encoded data
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5798964A (en) 1994-08-29 1998-08-25 Toshiba Corporation FRAM, FRAM card, and card system using the same
US5691994A (en) * 1995-05-08 1997-11-25 Western Digital Corporation Disk drive with fast error correction validation
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5928370A (en) 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
JPH10334697A (ja) * 1997-05-28 1998-12-18 Sony Corp 半導体記憶装置およびその誤り訂正方法
US6021463A (en) * 1997-09-02 2000-02-01 International Business Machines Corporation Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
US5991193A (en) 1997-12-02 1999-11-23 International Business Machines Corporation Voltage biasing for magnetic ram with magnetic tunnel memory cells
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
US6662334B1 (en) * 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
JP2001092723A (ja) * 1999-09-21 2001-04-06 Hitachi Ltd Ecc制御回路及びそれを有するメモリシステム
JP2001167596A (ja) * 1999-12-09 2001-06-22 Toshiba Corp 不揮発性半導体記憶装置
JP4364384B2 (ja) * 2000-02-01 2009-11-18 富士通マイクロエレクトロニクス株式会社 短時間でイレーズ動作を行う不揮発性メモリ
JP2001345714A (ja) * 2000-06-01 2001-12-14 Matsushita Electric Ind Co Ltd 誤り訂正復号方法及びこれを記録した情報記録媒体
US7127646B1 (en) * 2000-06-07 2006-10-24 Lsi Logic Corporation System and method for generating real time errors for device testing
US6549467B2 (en) 2001-03-09 2003-04-15 Micron Technology, Inc. Non-volatile memory device with erase address register
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP4112849B2 (ja) * 2001-11-21 2008-07-02 株式会社東芝 半導体記憶装置
US6891690B2 (en) 2002-11-20 2005-05-10 International Business Machines Corporation On-drive integrated sector format raid error correction code system and method
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP2004234545A (ja) 2003-01-31 2004-08-19 Toshiba Corp 制御回路及びメモリコントローラ
JP3822171B2 (ja) * 2003-02-03 2006-09-13 株式会社東芝 不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法
US8064351B2 (en) * 2005-10-20 2011-11-22 Schrader Electronics, Ltd. Method for detecting and correcting data errors in an RF data link
US20070113143A1 (en) * 2005-10-25 2007-05-17 Yu Liao Iterative decoder with stopping criterion generated from error location polynomial

Also Published As

Publication number Publication date
US20090006929A1 (en) 2009-01-01
US7437653B2 (en) 2008-10-14
EP2154687A3 (en) 2010-08-18
EP2154687A2 (en) 2010-02-17
EP2154687B1 (en) 2013-10-23
DE602005017936D1 (de) 2010-01-07
US20060133141A1 (en) 2006-06-22
ATE450044T1 (de) 2009-12-15
KR101368375B1 (ko) 2014-02-28
KR20070099586A (ko) 2007-10-09
EP1829049B1 (en) 2009-11-25
IL184105A0 (en) 2007-10-31
EP1829049A1 (en) 2007-09-05
US8327238B2 (en) 2012-12-04
WO2006069235A1 (en) 2006-06-29
TW200701238A (en) 2007-01-01
CN101120417A (zh) 2008-02-06
JP2008525937A (ja) 2008-07-17
CN100589206C (zh) 2010-02-10

Similar Documents

Publication Publication Date Title
JP5236949B2 (ja) 消去されたセクタの検出メカニズム
JP5085939B2 (ja) 書き込み/消去失敗検出機構を有するフラッシュ記憶システム
US7616499B2 (en) Retention margin program verification
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US8316278B2 (en) Memory system that detects bit errors due to read disturbance and methods thereof
US8154924B2 (en) Nonvolatile memory device and read method
US9471418B2 (en) Memory system that detects bit errors due to read disturbance and methods thereof
JP2008027511A (ja) 半導体記憶装置およびその制御方法
US8891304B2 (en) Nonvolatile semiconductor memory device and memory system
US7652918B2 (en) Retention margin program verification
JP6115740B1 (ja) 半導体記憶装置
US20160012916A1 (en) Semiconductor memory device and memory system
JP6293846B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120131

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121003

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130121

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130328

R150 Certificate of patent or registration of utility model

Ref document number: 5236949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees