JP5069127B2 - 再プログラム可能な不揮発性メモリにおいてデータをコピーする方法 - Google Patents

再プログラム可能な不揮発性メモリにおいてデータをコピーする方法 Download PDF

Info

Publication number
JP5069127B2
JP5069127B2 JP2007548357A JP2007548357A JP5069127B2 JP 5069127 B2 JP5069127 B2 JP 5069127B2 JP 2007548357 A JP2007548357 A JP 2007548357A JP 2007548357 A JP2007548357 A JP 2007548357A JP 5069127 B2 JP5069127 B2 JP 5069127B2
Authority
JP
Japan
Prior art keywords
data
ecc
user data
error
overhead
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
JP2007548357A
Other languages
English (en)
Other versions
JP2008524750A (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 JP2008524750A publication Critical patent/JP2008524750A/ja
Application granted granted Critical
Publication of JP5069127B2 publication Critical patent/JP5069127B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Description

本発明は、再プログラム可能な不揮発性メモリシステムおよびその動作に関し、特にデータをコピーするための手法に関する。
プログラム可能な不揮発性メモリ製品は、特に、サンディスク コーポレーションを含む様々なベンダにより生産されているコンパクトフラッシュ(登録商標)カード(CF)、セキュアデジタルカード(SD)、マルチメディアカード(MMC)およびメモリスティックカードのような小形形状のファクタカードの形で今日商業的に成功し広く入手可能である。このようなカードは、通常、フラッシュEEPROM(電気的に消去可能でプログラム可能な読み出し専用メモリ)メモリセルのアレイを使用する。フラッシュEEPROMメモリセルアレイは、通常、NORアレイまたはNANDアレイとして生産される。
NORアレイ
代表的なNORアレイでは、メモリセルは列方向に延びる隣り合うビット線ソースおよびドレイン拡散の間に接続され、コントロールゲートはセルの行に沿って延びるワード線に接続される。1つの代表的なメモリセルはソースおよびドレイン拡散の間に“分離チャネル”を有する。セルの電荷記憶素子はチャネルの一部分上に配置され、ワード線(コントロールゲートとも称される)は他のチャネル部分上に、また電荷記憶素子上に、配置される。これは実際上直列の2つのトランジスタを有するセルを形成し、その一方(メモリトランジスタ)は、電荷記憶素子上の電荷量と、チャネルのその部分を通って流れることのできる電流量を制御するワード線上の電圧との組み合わせを有し、他方(選択トランジスタ)はそのゲートとして作用するワード線だけを有する。ワード線は電荷記憶素子の行の上を延びる。このようなセルの例と、メモリシステムにおけるその使用と、それらを製造する方法とが、米国特許第5,070,032号(特許文献1)、第5,095,344号(特許文献2)、第5,315,541号(特許文献3)、第5,343,063号(特許文献4)、および第5,661,053号(特許文献5)、および1999年1月27日に出願された同時係属中の米国特許出願第09/239,073号(特許文献6)に示されている。
この分離チャネルフラッシュEEPROMセルの1つの改変形は、電荷記憶素子とワード線との間に配置されるステアリングゲートを加える。アレイの各ステアリングゲートは、ワード線に対して垂直な電荷記憶素子の1つの列の上を延びる。その効果は、選択されたセルを読み出し或いはプログラムするときにワード線が同時に2つの機能を実行しなくてもよくすることである。これら2つの機能は、(1)選択トランジスタのゲートとして作用して、選択トランジスタをオンおよびオフに転換させるために適切な電圧を要求することと、(2)ワード線と電荷記憶素子との間の電界(容量)結合を通して電荷記憶素子の電圧を所望のレベルに押しやることである。単一の電圧でこれらの機能の両方を最適に実行することはしばしば困難である。ステアリングゲートを加えることで、ワード線は機能(1)を実行するだけでよくなる一方、加えられたステアリングートは機能(2)を実行する。フラッシュEEPROMアレイにおけるステアリングゲートの使用は、例えば、米国特許第5,313,421号(特許文献7)および第6,222,762号(特許文献8)に記載されている。
ゲート誘電体を通して基板からフローティングゲート記憶素子に電子を注入するプログラミング手法がいろいろある。非常に一般的なプログラミングメカニズムが、ブラウンおよびブリュワーにより編集された本“不揮発性半導体メモリ技術”,IEEEプレス,1.2項,9〜25頁(1998年) (A Book edited by Brown and Brewer, “Nonvolatile Semiconductor Memory Technology," IEEE Press, section 1.2, pages 9-25 (1998)(非特許文献1)に記載されている。チャネル“ホットエレクトロン注入”(セクション1.2.3)と称される1つの手法は、電子をセルのチャネルからセルのドレインに隣接するフローティングゲートの領域に注入する。“ソース側注入”(セクション1.2.4)と称される別の手法は、ドレインから離れたチャネルの領域に電子注入のための条件を作り出すようにメモリセルチャネルの長さに沿って基板表面電位を制御する。ソース側注入は、カミヤらによる論文“高ゲート注入効率を有するEPROMセル”,IEDM技術ダイジェスト,1982年、741〜744頁 (Kamiya et al., “EPROM Cell with High Gate Injection Efficiency," IEDM Technical Digest, 1982, pages 741-744)(非特許文献2)、並びに米国特許第4,622,656号(特許文献9)および第5,313,421号(特許文献7)にも記載されている。
メモリセルを消去するために電荷記憶素子から電荷を除去するための2つの手法が、前述した2つのタイプのNORメモリセルアレイの両方で使用される。1つは、記憶素子と基板との間の誘電体層の部分をトンネル効果で電子が通過させられる適切な電圧をソース、ドレインおよび他のゲートに印加することによって基板まで消去することである。他の消去手法は、電子を記憶素子から他のゲートへそれらの間に位置するトンネル誘電体層を通して移動させることである。前述した第1のタイプのセルでは、その目的のために第3の消去ゲートが設けられる。ステアリングゲートを用いているために既に3つのゲートを有する前述した第2のタイプのセルでは、第4のゲートを付け加えることを必要とせずに、電荷記憶素子はワード線まで消去される。この後者の手法は、逆戻りして、ワード線により実行されるべき第2の機能を加えるけれども、これらの機能は別々のときに実行され、従って2つの機能のために妥協をする必要性を回避する。どちらの消去手法が利用されるときにも、同時に“一瞬”のうちに消去されるように多数のメモリセルがグループ分けされる。1つのアプローチでは、そのグループはディスクセクタに格納されるユーザデータ量、すなわち512バイトに加えて或る程度のオーバーヘッドデータ、を格納するのに充分なメモリセルを含む。別のアプローチでは、各グループは、多数のディスクセクタ分のデータに等しい数千バイトのユーザデータを保持するのに充分なセルを包含する。マルチブロック消去、欠陥管理および他のフラッシュEEPROMシステム機能が、米国特許第5,297,148号(特許文献10)に記載されている。
殆ど全ての集積回路の用途の場合と同じく、或る集積回路機能を実現するために必要とされるシリコン基板面積を小さくする圧力がフラッシュEEPROMシステムに関しても存在する。所与のサイズのメモリカードおよび他のタイプのパッケージの記憶容量を増やすために、或いは容量を増やしかつサイズを小さくするために、シリコン基板の所与の領域に格納され得るデジタルデータ量を増やすことがしばしば望まれる。データの記憶容量を増やす1つの方法は、メモリセルあたりに1ビットより多いデータを格納することである。これは、記憶素子電荷レベル電圧範囲のウィンドウを2つより多い状態に分割することによって達成される。そのような状態を4つ用いることにより各セルは2ビットのデータを記憶することができ、8個の状態はセルあたりに3ビットを記憶させるなどである。多状態フラッシュEEPROM構造および動作が、米国特許第5,043,940号(特許文献11)および第5,172,338号(特許文献12)に記載されている。
別の1つのタイプのメモリセルは、各記憶素子において多状態でも操作され得る2つの記憶素子を含む。このタイプのセルでは、2つの記憶素子がソースおよびドレイン拡散の間でそのチャネル上に含まれ、それらの間に選択トランジスタがある。ステアリングゲートが記憶素子の各列に沿って含まれ、ワード線がその上に記憶素子の各行に沿って設けられる。読み出しまたはプログラミングのために所与の記憶素子にアクセスするとき、関心対象である記憶素子を含むセルの他方の記憶素子上のステアリングゲートは、その他方の記憶素子の下のチャネルを、それにどのくらいの電荷レベルが存在するしても、オンに転換させるのに充分に高められる。これは、同じメモリセル内の関心対象である記憶素子を読み出しまたはプログラムするときの要素としての他方の記憶素子を実際上除去する。例えば、その状態を読み出すために使用され得る、セルを通って流れる電流量は、同じセル内の他方の記憶素子ではなく関心対象である記憶素子上の電荷量の関数である。このセルアレイ構造および操作手法の例が、米国特許第5,712,180号(特許文献13)、第6,103,573号(特許文献14)、および第6,151,248号(特許文献15)に記載されている。
NANDアレイ
別の1つのフラッシュEEPROM構造はNANDアレイを利用し、そのアレイでは、16個または32個などの、2つより多いメモリセルの直列ストリングが1つ以上の選択トランジスタと共に個々のビット線と基準電位との間に接続されてセルの列を形成する。ワード線は、多数のこれらの列の中でセルを横断して延びる。列内の個々のセルは、ストリングを流れる電流がアドレス指定されたセルに蓄積されている電荷のレベルに依存するようにストリング中の残りのセルをオンに転換しにくくすることによって、プログラミング中に読み出されベリファイされる。メモリシステムの一部としてのNAND構造のアレイおよびその動作の例が、米国特許第5,570,315号(特許文献16)、第5,774,397号(特許文献17)、および第6,046,935号(特許文献18)で見出される。
前に援用されている特許および論文において論じられている、現行のフラッシュEEPROMアレイの電荷記憶素子は、最も一般的には、ドープされたポリシリコン材料から通常形成される、導電性フローティングゲートである。フラッシュEEPROMシステムにおいて有益な別の1つのタイプのメモリセルは、電荷を不揮発的に蓄積するために伝導性フローティングゲートの代わりに非伝導性誘電体材料を利用する。そのようなセルが、チャンらの論文“真の単一トランジスタ酸化物−窒化物−酸化物EEPROMデバイス”,IEEE電子デバイスレターズ,第EDL−8巻,第3号,1987年3月,93〜95頁 (Chan et al., “A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device",IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95) (非特許文献3)に記載されている。酸化ケイ素、窒化ケイ素および酸化ケイ素から成る3層誘電体(“ONO”)が、伝導性コントロールゲートと、メモリセルのチャネル上の半伝導性基板の表面との間に挟まれる。セルは、電子をセルチャネルから窒化物に注入することによってプログラムされ、そこで電子は限られた領域に捕獲され蓄積される。この蓄積された電荷は、セルのチャネルの一部分のしきい値電圧を検出可能な仕方で変化させる。セルは、窒化物にホットホールを注入することによって消去される。ノザキら,“半導体ディスク用途のためのMONOSメモリセルを有する1Mb EEPROM”,IEEE固体回路ジャーナル,第26巻,第4号,1991年4月,497〜501頁 (Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application,” IEEE Journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501) (非特許文献4)も参照されたい。これは、ドープされたポリシリコンゲートがメモリセルチャネルの一部分上を延びて別の選択トランジスタを形成する分離ゲート構成の類似セルについて説明している。
米国特許第5,851,881号(特許文献19)は、メモリセルのチャネル上に互いに隣接して配置された2つの記憶素子の使用について説明し、その一方はそのような誘電体素子であり、他方は伝導性フローティングゲートである。2ビットのデータが、1つは誘電体素子に、他方はフローティングゲートに、格納される。メモリセルは、2つのゲートの各々を2つの異なる電荷レベル範囲の一方にプログラムすることによって、4つの記憶状態の1つを表す、4つの異なるしきい値レベルの組み合わせの1つにプログラムされる。
誘電体記憶素子を利用する各セルに2ビットを格納するための別のアプローチがエイタンら,“NROM:新規な局所トラッピング、2ビットの不揮発性メモリセル”,IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545頁 (Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, Vol. 21, No. 11, November 2000, pp. 543-545) (非特許文献5)に記載されている。ONO誘電体層がソースおよびドレイン拡散の間でチャネルを横断して延びる。1つのデータビットのための電荷はドレインに隣接する誘電体層に局在させられ、他方のデータビットのための電荷はソースに隣接する誘電体層に局在させられる。誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって多状態データ記憶が得られる。
大きな消去ブロック
代表的な不揮発性フラッシュアレイのメモリセルは、一緒に消去されるセルの別々のブロックに分けられる。すなわち、ブロックは消去単位である。各ブロックは通常1ページ以上のデータを記憶し、ページはプログラミングおよび読み出しの単位であるが、単一の動作で1ページより多くのページがプログラムされ或いは読み出されてもよい。各ページは通常1セクタ以上のデータを記憶し、セクタのサイズはホストシステムにより定められる。一例は、磁気ディスクドライブに関して確立された標準規格に従う512バイトのユーザデータと、これに加えられる、そのユーザデータにかつ/またはそれが格納されているブロックに関する数バイトのオーバーヘッド情報とのセクタである。
時には書き込み動作用ブロックを解放するためにブロックを消去する必要がある。この場合、消去されるべきブロック(元ブロック)内のデータの有効なページは、元ブロックを消去する前に合併されて他のブロック(更新ブロック)にコピーされる。このプロセスは“ガーベッジコレクション”と呼ばれる。ガーベッジコレクション中、元ブロックからのデータの残りの有効なページは元ブロックから更新ブロックにコピーされる。コピー動作が完了すると、元ブロックは消去され、その後に更新ブロックは元ブロックに成る。
通常、ガーベッジコレクションに関する前述したもののようなコピー動作は、メモリコントローラの関与を必要とする。1つの場所から他の場所へデータをコピーする動作の速度を改善するための1つの手法は、オンチップコピーと呼ばれる機能を用いることによってコピー動作へのコントローラの関与を減少させることである。オンチップコピーは、全てのデータをコントローラに転送し、その後にメモリに戻す動作を行わずにデータを読み出し、改変し、メモリに書き戻すことのできる機能を提供する。オンチップコピーは、データがコントローラへ転送されることを必要とせずにメモリセルアレイにおいてデータを1つの場所から他の場所へコピーする機能性を提供する。この手法が、米国特許第6,266,273号(特許文献20)に記載され、本発明の譲受人であるサンディスク コーポレーションに譲渡されている。
前に特定された特許、特許出願、論文および書籍の部分は、その全体がこの「背景技術」の欄に明確に参照により援用されている。
米国特許第5,070,032号 米国特許第5,095,344号 米国特許第5,315,541号 米国特許第5,343,063号 米国特許第5,661,053号 米国特許出願第09/239,073号 米国特許第5,313,421号 米国特許第6,222,762号 米国特許第4,622,656号 米国特許第5,297,148号 米国特許第5,043,940号 米国特許第5,172,338号 米国特許第5,712,180号 米国特許第6,103,573号 米国特許第6,151,248号 米国特許第5,570,315号 米国特許第5,774,397号 米国特許第6,046,935号 米国特許第5,851,881号 米国特許第6,266,273号 米国特許出願第09/793,370号 米国特許第5,887,145号 米国特許出願第10/846,289号 米国特許出願第10/841,379号 米国特許第6,345,001号 ブラウンおよびブリュワーにより編集された本"不揮発性半導体メモリ技術",IEEEプレス,1.2項,9〜25頁(1998年) カミヤらによる論文"高ゲート注入効率を有するEPROMセル",IEDM技術ダイジェスト,1982年、741〜744頁 チャンらの論文"真の単一トランジスタ酸化物−窒化物−酸化物EEPROMデバイス",IEEE電子デバイスレターズ,第EDL−8巻,第3号,1987年3月,93〜95頁 ノザキら,"半導体ディスク用途のためのMONOSメモリセルを有する1Mb EEPROM",IEEE固体回路ジャーナル,第26巻,第4号,1991年4月,p497〜501頁 エイタンら,"NROM:新規な局所トラッピング、2ビットの不揮発性メモリセル",IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545頁
一般的に、本発明はデータ再配置動作の方法を提供し、それらの方法ではデータは再プログラム可能な不揮発性メモリシステムの第1の記憶場所から第2の記憶場所にコピーされる。データは、第1の場所からメモリ上のレジスタまたはバッファメモリに読み出され、その後に第2の場所に直接コピーされるかまたはシステムのコントローラに転送され、ここではデータが検査され得、また必要ならばその関連する誤り訂正符号(ECC)に基づいて訂正され得る。本発明の第1の態様において、性能を改善するために、各データコピーのためにECCを検査する必要はない。むしろ、所定の選択基準に基づいてECCを選択的に検査することができる。ECC検査が選択されない場合、メモリは、第1の場所から第2の場所へのデータのオンチップコピーを実行させられ、さもなければECCエラーが発見されたか否かに基づいて前述したように続行される。その所定の選択基準はサンプリングメカニズムであって良く、それはランダムベースであるかまたは確定的であって良い。
本発明の別の態様は、第1の態様と組み合わされ或いは独立に用いられることができ、この態様では転送フラグ方法が採用される。エラー検出および訂正動作のためにデータがコントローラに転送されるか否かに基づいて、転送フラグ値がセットされる。データがホストに転送され、そしてエラー訂正が不要であると判定されれば、フラグはセットされず、エラー訂正動作が必要とされて首尾よく実行されれば転送フラグがセットされる。訂正された形のデータを第2の場所にコピーするためにメモリに戻す必要があるか否かの判定は、フラグ値に基づく。
本発明のさらに別の態様において、データがユーザデータ部とヘッダまたはオーバーヘッド部とから成っていて、これらの部分の各々が自身の関連するECCを有するときには、オーバーヘッド部のエラー検出および訂正動作はユーザデータ部のそれとは別に処理され得る。代表的な実施形態では、オーバーヘッドはエラー検出および訂正のために最初にコントローラに転送される。ユーザデータも処理されるべきであるならば、それは後に続く。特に、ユーザデータを転送するか否かを決定するために使われるサンプリングメカニズムの一例は、オーバーヘッドの内容に基づく。
本発明の付加的な態様、特徴および利点は、添付されている図面と関連させて検討されるべきである特定の代表的な実施形態についての以下の説明に含まれる。
図1は、本発明が実施され得る第1の不揮発性メモリシステムのブロック図である。個別にアドレス指定できる多数のメモリセル11が行および列の規則的アレイを成して配列されているが、セルの他の物理的配置も確かに可能である。このシステムは、前に背景技術の欄において、また本願明細書において参照により援用されている参考文献において記載されているように、アレイ11がNORタイプであるために特に適している。本願明細書においてセルのアレイ11の列に沿って延びるとされるビット線は、線15を通してビット線復号器兼ドライバ回路13と電気的に接続される。ワード線は、本願明細書ではセルのアレイ11の行に沿って延びるとされ、線17を通してワード線復号器兼ドライバ回路19に電気的に接続される。ステアリングゲートは、アレイ11においてメモリセルの列に沿って延び、線23を通してステアリングゲート復号器兼ドライバ回路21に電気的に接続される。復号器13,19および21の各々は、メモリコントローラ27からバス25を介してメモリセルアドレスを受け取る。この復号器兼ドライバ回路は、各々の制御およびステータス信号線29,31および33を介してもコントローラ27に接続される。ステアリングゲートおよびビット線に印加される電圧は、復号器兼ドライバ回路13および21を相互接続するバス22を通して調整される。コントローラは、揮発性ランダムアクセスメモリ(RAM)28を含む種々のタイプのレジスタおよび他のメモリを含む。
コントローラ27は、線35を通してホスト装置(図示せず)に接続可能である。ホストは、パーソナルコンピュータ、ノートブック形コンピュータ、デジタルカメラ、オーディオプレーヤ、他の種々のハンドヘルド電子装置などであり得る。図1のメモリシステムは、PCMCIA、コンパクトフラッシュ(登録商標)協会、MMC(登録商標)協会およびその他からのものなどの、幾つかの現存する物理的および電気的標準規格のうちの1つに従うカードにおいて一般的に実現される。カードフォーマットであるときには、線35の端部は、ホスト装置の相補形コネクタとインターフェイスするカード上のコネクタである。多くのカードの電気的インターフェイスはATA標準規格に従い、この規格ではメモリシステムはホストに対してあたかもそれが磁気ディスクドライブであるかのように見える。他のメモリカードインターフェイス標準規格も存在する。カードフォーマットに代わるものとして、図1に示されているタイプのメモリシステムはホスト装置に永久的に組み込まれても良い。
プログラミング、読み出しおよび消去機能を実行するために、復号器兼ドライバ回路13,19および21は、バス25を介してアドレス指定されたアレイ11の各々の線に、各々の制御およびステータス線29,31および33の制御信号に従って適切な電圧を発生させる。電圧レベルおよび他のアレイのパラメータを含むステータス信号は、アレイ11により同じ制御およびステータス線29,31および33を介してコントローラ27に供給される。回路13内の複数のセンス増幅器は、アレイ11内のアドレス指定されたメモリセルの状態を示す電流または電圧レベルを受け取って、それらの状態に関する情報を読み出し動作中に線41を介してコントローラ27に提供する。多数のメモリセルの状態を並列に読み出せるように、多数のセンス増幅器が普通使用される。読み出しおよびプログラミング動作中、回路13および21により選択されたアドレス指定された行の中の或る数のセルにアクセスするために回路19を通して一度に一行のセルが通常アドレス指定される。消去動作中、多数の行のうちの各々の行の全てのセルが1つのブロックとして同時消去のために通常一緒にアドレス指定される。
図1に示されているようなメモリシステムの動作は、前に背景技術の欄のNORアレイのセクションにおいて特定された特許および論文と、本願の譲受人であるサンディスク
コーポレイションに譲渡された他の特許とにさらに記載されている。さらに、2001年2月26日に出願された米国特許出願第09/793,370号(特許文献21)は、データプログラミング方法を説明している。この特許出願は、その全体が本願明細書において参照により援用されている。
図2は、本発明が実施され得る別の不揮発性メモリシステムのブロック図である。メモリセルアレイ1は、マトリックスを成して配列された複数のメモリセルMを含み、列制御回路2、行制御回路3、cソース制御回路4およびc−pウェル制御回路5によって制御される。メモリセルアレイ1は、前に背景技術の欄において、またその全体が参照により援用されている参考文献において説明されているNANDタイプのものであり得る。制御回路2は、メモリセル(M)に格納されているデータを読み出し、プログラミング動作中にメモリセル(M)の状態を判定し、プログラミングを促進しまたはプログラミングを抑制するべくビット線(BL)の電位レベルを制御するために、メモリセルアレイ1のビット線(BL)に接続される。行制御回路3は、ワード線(WL)のうちの1つを選択し、読み出し電圧を印加し、列制御回路2により制御されるビット線電位レベルと組み合わされるプログラミング電圧を印加し、メモリセル(M)が上に形成されているp形領域の電圧と結合される消去電圧を印加するために、ワード線(WL)に接続される。cソース制御回路4は、メモリセル(M)に接続された共通ソース線(図2において“cソース”と称されている)を制御する。c−pウェル制御回路5は、c−pウェル電圧を制御する。
メモリセル(M)に格納されたデータは、列制御回路2により読み出され、I/O線およびデータ入出力バッファ6を介して外部I/O線に出力される。メモリセルに格納されるべきプログラムデータは、外部I/O線を介してデータ入出力バッファ6に入力され、列制御回路2に転送される。外部I/O線はコントローラ43に接続される。コントローラ43は、通常揮発性ランダムアクセスメモリ(RAM)50の中に種々のタイプのレジスタおよび他のメモリを含む。
フラッシュメモリ装置を制御するためのコマンドデータは、コントローラ43と接続された外部制御線に接続されたコマンド回路7に入力される。コマンドデータは、どんな動作が要求されているかをフラッシュメモリに知らせる。入力されたコマンドは、列制御回路2、行制御回路3、cソース制御回路4、c−pウェル制御回路5、およびデータ入出力バッファ6を制御する状態マシン8に転送される。状態マシン8は、READY/BUSY(レディ/ビジー)またはPASS/FAIL(パス/フェイル)のようなフラッシュメモリのステータスデータを出力することができる。状態マシン8も数個のレジスタおよび他の揮発性ランダムアクセスメモリ45を含む。
コントローラ43は、パーソナルコンピュータ、デジタルカメラ、または個人用携帯情報端末(PDA)のようなホストシステムと接続されるかまたは接続可能である。メモリアレイ1にデータを格納し或いはメモリアレイ1からデータを読み出すなどのコマンドを開始し、そしてそのようなデータを提供し或いは受け取るのはホストである。コントローラは、そのようなコマンドを、コマンド回路7により解釈され実行され得るコマンド信号に変換する。コントローラは、通常、メモリアレイに書き込まれ或いはメモリアレイから読み出されるユーザデータのためのバッファメモリも含む。代表的なメモリシステムは、コントローラ43を含む1つの集積回路チップ47と、メモリアレイおよび関連する制御回路、入出力回路、および状態マシン回路を各々含む1つ以上の集積回路チップ49とを含む。もちろん、システムのメモリアレイとコントローラ回路とを1つ以上の集積回路チップに統合することが趨勢である。
図1および2のメモリシステムのいずれも、ホストシステムの一部として組み込まれて良く、或いはホストシステムの差込ソケットに取り外し可能に挿入され得るメモリカードに含まれても良い。そのようなカードはメモリシステム全体を包含することができ、或いはコントローラおよびメモリアレイは、関連する周辺回路と共に、別々のカードに設けられても良い。幾つかのカードの実施例が、例えば、米国特許第5,887,145号(特許文献22)に記載されている。この特許は、その全体が本願明細書において参照により明確に援用されている。
図3は、図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーするための代表的なシステムを示すブロック図である。図3は、データの1つのページが1つの場所から他の場所に書き込まれるときのコントローラ27,43とメモリの1つのブロック320との間の相互作用を示す。メモリのブロック320は、複数のページを場所310,315,325に含む。場所325において示されているページは、メモリ内の代表的なページの内容を示し、ユーザデータ330とオーバーヘッド335とを含む。ヘッダとも称されるオーバーヘッド335は、ヘッダECC340とデータECC345とを含む。他の実施形態では、ヘッダとデータとの両方をカバーするために単一のECCが用いられる。オーバーヘッド335は、ユーザデータに関するか、または例えばプログラミング電圧などのそのページまたはブロックの特徴を示す付加的なデータ350も含む。場所310および315のページは同様にユーザデータとオーバーヘッドデータとを含むけれども、これらのデータは図解の便宜のために示されていない。
データ再配置動作は、矢印365のように、1単位のデータをメモリ320内の第1の場所から第2の場所に移すことから成る。代表的な実施形態では、これは、データのページを矢印365aにより示されているように場所1 310からメモリレジスタ390に移し、その後に矢印365bにより示されているように場所2 315に移すことから成る。そのデータページが検査されないのであれば、データはコントローラには送られない。ページが検査されるのであれば、レジスタへの転送後、第1の場所310内の1つのページからのデータはコントローラ回路27内のバッファまたはキャッシュ(28,50)に転送され、ここでECC回路305を用いてECC検査が実行される。メモリ内の第1の場所からコントローラへのデータ転送は矢印355により示されている。図1および2に各々示されているシステムのコントローラ27,43とメモリアレイ11,1との間のコマンド/ステータス信号は、トランザクションを実行するための手段を提供し、例えばファームウェアで実現され得る。
ECCエラーがあれば、エラーは訂正され、訂正されたデータは、矢印360により示されているようにメモリ内の第2の場所315に転送され、その後に第2の場所315に転送される。しかし、ECCエラーがなければ、オンチップコピーを実行することができ、従って読み出されたデータをコントローラからメモリに書き戻す必要を回避することができる。オンチップコピー動作は矢印365aおよび365bにより示され、場所310に存するページはメモリアレイ1,11のブロック320内の場所315にコピーされる。(使用される構造によっては数個のそのようなレジスタまたはバッファ390がメモリ上にあっても良く、例えば、各メモリプレーンは読み出しおよび書き込みの際のデータのキャッシングのためにマスタ−スレーブ構成を持つことができる。)
図4は、関連する誤り訂正符号(ECC)を有するデータをコピーするときの図1または2のメモリシステムのいずれか一方の代表的なコピー動作を示すフローチャート400である。フローチャート400は、メモリコントローラ27,43を含むシステムの再プログラム可能な不揮発性メモリの第1の場所から第2の場所へデータをコピーする方法を示す。そのデータは、関連する誤り訂正符号(ECC)を有する。ECCは、メモリにおけるデータ転送の間に生じるエラーを訂正するために使用される。
コピー動作は(401)で開始され、コピーされるべきデータが(405)で第1の場所からメモリレジスタに読み出され、その後にコントローラに読み出される。コントローラ内に読み出されたデータは、そのデータから計算されてそれらと共に同じページまたは他の場所にプログラムされたECCを含む。図3に示されているシステムの例では、ECCは同じページにプログラムされるが、ECCは他の場所に格納されても良い。読み出されたデータに関するECCは、あり得るECCエラーを明らかにするために(410)で検査される。(415)で、ECCエラーが発見されたか否かが判定される。ECCエラーが発見されたならば、(425)でコントローラ内の読み出されたデータ上のエラーが訂正され、(430)でコントローラは、その訂正されたデータをメモリの第2の場所に書き込まされ、このようにして(499)でコピー動作を完了させる。エラーが訂正され得なければ、コピー動作は中断されるか、或いは中断される前に数回再試行される。ECCエラーが発見されなければ、(420)でメモリはデータを第1の場所から第2の場所にコピーさせられる。従って、ECCエラーがなくてデータが訂正を必要としなければ、メモリに保持されているコピーを第2の場所に直接書き込むことができる。これは、データをメモリに書き戻すプロセスにコントローラが関与しなくてもよいという利点を提供し、従ってECCを検査することの利益を維持しながらコピー動作を高速化する。
本発明は、データ再配置プロセスをさらに改善する態様を幾つか有する。この態様およびそれらの種々の組み合わせが図5〜10のフローチャートに示されている。図5は、ECCが全ての再配置動作で検査されるのではなくて、再配置のサブセットについてのみ検査されるという態様を加えている。そのサブセットは、例えば、確定的にまたはランダム(もしくは擬似ランダム)ベースに決定され得る。これは、再配置される各々のデータセットについてデータをコントローラに転送する必要を省く。図6は、図3に示されているように各セクタにおいてユーザデータとオーバーヘッドとについて別々のECCコードが使用される場合を利用する。これは、ヘッダECCとデータECCとを別々に処理することを可能にする。図7は、データがコントローラからホストに転送されて戻されるか否かを示すフラグ構造の導入を含む幾つかの特徴を図6に付け加えてその性能を改善する。図8は、サンプリングメカニズムを図6の実施形態に付け加えて性能をさらに改善する。サンプリングメカニズムは図5の手法の変形例であり、データECCを検査するか否かの決定はサンプリングに基づいて決定される。図9は、図7および8のプロセスを組み合わせる。最後に、図10は、図8に似てはいるが、セクタ全体について単一のECCのみが使用される場合についての図である。従って、図10は、図5にも似ているが、ここでは所与のデータセットを検査するか否かの決定はサンプリングに基づく。
前述した再配置方法の全ては、本願明細書において参照により援用されている2004年5月13日に出願された米国特許出願第10/846,289号(特許文献23)の手法を組み入れることによってさらに改善され得る。さらに、本発明の種々の態様は図1および2に示されている代表的なフラッシュEEPROMメモリに関して提示されるが、それらの態様は、本願明細書において参照により援用されている2004年5月7日に出願された米国特許出願第10/841,379号(特許文献24)に記載されている種々の不揮発性メモリシステムに一般的に適用可能である。
図5は、関連するECCを有するデータをコピーするときの図1または2のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート500である。このコピー動作は、データを第1の場所からデータレジスタに読み出した(405)後にECCを検査するか否かを決定する(535)付加的機能を提供する。決定(535)は、所定の選択基準に基づいて行われ得る。本発明の代表的な実施形態では、所定の選択基準はサンプリングメカニズムであり得る。サンプリングメカニズムは、ランダムベースであるかまたは確定的なアルゴリズムを用いて実現され得る。例えば、ランダムベースのサンプリングメカニズムは、ECCがランダムな間隔を置いて検査されると規定するランダムベースのアルゴリズムを使用することができる。そのようなランダムベースのアルゴリズムは公知である。例えば、米国特許第6,345,001号(特許文献25)を参照されたい。この特許は、その全体が本願明細書において参照により援用され、この特許の場合にはそのようなアルゴリズムは、少し違う環境において、不揮発性メモリに適用される。確定的なサンプリングについて、サンプリングメカニズムは、ECCが例えば4つのコピー動作に1度ずつ検査されると規定することができる。或いは、ECCは全てのコピー動作に関して例外なく検査され得る。全てのコピー動作でECCを検査することは高い信頼性を提供してコピーエラーを防止するが、実行の速度に関してのトレードオフを必要とする。
本発明の代表的な実施形態では、サンプリングメカニズムは、例えばオーバーヘッドデータ335に含まれるビットおよびフラグなどの、システムにとって使用可能なビットを使用することができる。図3に示されている例では、ユーザデータECCおよびヘッダデータECCはオーバーヘッドデータ335に含まれるが、ECCのほかにオーバーヘッドデータ335は部分350も含む。オーバーヘッドデータ部350は、論理ブロックアドレス(LBA)およびタイムスタンプを含み、また例えばデータフラグ、ブロックタイプのフラグ、用途特化フラグ、およびブロックフラグなどのいろいろなフラグを含むことができる。LBAはページタグと論理ブロック番号(LBN)とを含む。ページタグは、ブロック内の論理ページを示し、プレーンまたはメモリサブアレイに関連することができる。LBNは、物理ブロック内のデータをその論理ブロックアドレスに関連させるために使われるフィールドである。これは、ホストシステムが前に書き込まれたデータの位置を突き止めて取り出すことを可能にする。タイムスタンプは、データの相対年齢を示し、論理ブロックアドレスフィールドと関連付けられる。論理ブロックが新しい物理ブロックに割り当てられる毎に、そのブロックのためのタイムスタンプは増分される。この値は、同じ論理ブロックアドレスを有する複数のブロックのうちのどのブロックが最も最近書き込まれたブロックであるのかを識別するために使用され得る。例えばホットカウントと、そのブロックが何度スクラブされる必要があるかということに関連する情報とを含む、そのブロックまたはページに関連する他の情報がサンプリングの目的のために使用され得る。或いは、サンプリングメカニズムは、実際のデータと共には含まれなくて別々に格納されるがなおそのページに関連付けられているトラッキングメカニズムを含むことができる。
本発明の代表的な実施形態では、サンプリングメカニズムは、LBAの最後の2ビットをタイムスタンプの最後の2ビットと比較する。その比較結果に従ってECC検査が選択される。実際上、これは4つに1つのサンプリングを提供し、ECCは4つのコピー動作のうちの1つにおいて検査される。このサンプリングはメモリ性能をさらに改善する。
(535)で使用されるサンプリングメカニズムが、読み出されたデータに関連するECCを検査するか否かを判定する。(535)における判定がECCを検査するべきでないことを示したならば、(420)でメモリはデータを第1の場所から第2の場所へコピーさせられ、これで(599)でコピー動作を完了させる。(535)で判定がECCを検査するべきことを示したならば、処理は図4に関して前述したように(410),(415),(425),(430)で続行される。
図6は、関連するECCを有するデータをコピーするときの図1または2のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート600である。この例では、再プログラム可能な不揮発性メモリの第1および第2の場所の内容はユーザデータとそのユーザデータに関連するヘッダデータとを含み、ヘッダデータは例えばECC情報などのユーザデータに関連する情報を含む。ユーザデータECCとヘッダデータECCとはページまたは他の場所に格納されても良いのであるが、この特定の例ではユーザデータECCおよびヘッダデータECCは両方共に図3に示され、前述したようにページのオーバーヘッド部に格納される。この特定の例は別々のヘッダおよびデータECCを記述するけれども、この手法は単一のECCがヘッダおよびデータの両方をカバーする場合に同様に応用可能である。図6〜9に示されている例では、ヘッダデータのECCはユーザデータのECCが試験に値するか否かを判定する予備的ステップとして別に試験される。ヘッダおよびデータのための共通ECCの場合にこれらの手法がどのように適用されるかの例が図10に関して以下で論じられる。図1および2に示されているメモリシステムの例では、ヘッダデータが訂正不可能なECCエラーを有することが分かったならば、そのヘッダデータに関連付けられているユーザデータは無効と考えられる。
フローチャート600に示されているコピー動作は(601)で開始され、(605)で読み出しコマンドが発せられる。メモリセルアレイ11,1内の第1の場所の読み出しを開始するために読み出しコマンドはコントローラ27,43に送られる。第1の場所の内容は、ユーザデータと、ユーザデータに関連するヘッダデータとを含むことができる。コントローラ27,43は、読み出しコマンドを解釈し、ヘッダデータをコントローラ27,43のランダムアクセスメモリ(RAM)28,50に転送する。コントローラのRAMは、コピーされるべき場所の内容のための一時記憶場所として使われる。このように使われるコントローラRAMはスクラッチパッドRAM或いはSPRとも称される。
ヘッダデータは(615)でヘッダデータにECCエラーがあるか否かを判定するために検査され、そうであるならば、(620)でそのヘッダデータECCエラーが訂正可能であるか否かが判定される。ヘッダデータECCエラーが訂正可能でなければ、ユーザデータが無効であることをコントローラに知らせるために(650)でインジケータがセットされる。そのようなインジケータの例は、ユーザデータが有効であるか無効であるかに応じてセットされまたはクリアされるデータフラグビットである。このデータフラグビットはオーバーヘッド部335に含まれて良く、或いは他の場所に格納されても良い。
ヘッダデータECCエラーが訂正可能ならば、それは(623)で訂正され、(625)でユーザデータがコントローラRAMに読み出され或いは転送される。標準的なオンチップコピー動作では、ユーザデータはコントローラ27,43に転送されるのではなくてメモリアレイ1,11内の第1の場所からメモリアレイ1,11内の第2の場所にコピーされる。多数のオンチップコピー動作の後、データは時間が経つに連れてECCでは訂正できないほどの数のマルチビットエラーを含むようになり得る。
(625)でユーザデータをコントローラRAM28,50に転送する動作は、そのユーザデータに関するECCステータスを発生させる。この時点でのECCステータス検査は、記憶場所に格納されているユーザデータが、読み出されてユーザデータに対するECC検査を受けることなく多数回コピーされるのを防止するために使われる。
(630)でユーザデータにECCエラーが発見されたならば、(635)でそのECCエラーが訂正可能であるか否かが判定される。そのECCエラーが訂正可能でなければ、ユーザデータが無効であることをコントローラに知らせるために(650)でインジケータがセットされる。前述したように、このインジケータは、この目的のために使われるデータフラグビットである。このデータビットは、有効または無効(またその逆)としてのユーザデータのステータスに応じてセットされまたはクリアされる。
ECCエラーが訂正可能であれば、(637)でユーザデータは訂正されてから(640)でメモリチップに転送されて戻される。コントローラは(640)でメモリチップへ戻すデータの転送(640)を成し遂げさせられる。そのデータ転送後、新しいヘッダが(645)でメモリチップに転送されて戻される。ヘッダデータは、コピー動作の結果として更新されたようだという意味で新しい。ECCエラーが(620)または(635)のいずれにおいても訂正可能でなくても、新しいヘッダは、エラーを示すために(650)でセットされたデータフラグビットを含むので、(645)で逆にコピーされる。これは欠陥のあるセクタにエラーフラグが格納されることを可能にするので、この情報は、セクタがアクセスされるときに利用可能である。(699)での現在のコピー動作の完了の前に新しいアドレスと書き込みコマンドとが(646)で発せられる。
(630)でユーザデータにECCエラーが発見されないと判定されたならば、そのユーザデータはメモリに書き戻されない。ECCエラーが発見されなければそのユーザデータ部をメモリに書き戻さない1つの理由は、オンチップコピー動作の利益を利用することである。
図7は、関連する誤り訂正符号(ECC)を有するデータをコピーするときの図1または2のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート700である。フローチャート700は、ECC検査を複数回試みるための再試行メカニズムとデータをメモリチップに何時転送して戻すかを示すフラグセット/クリアメカニズムとを含む、フローチャート600に示されている方法に付け加えられる付加的機能を提供する。
再試行メカニズムは、再試行カウントが検査される判定ポイント(721)を提供する。(620)でヘッダECCエラーが訂正可能でない場合または(635)でユーザデータECCエラーが訂正可能でない場合に、判定ポイント(721)に達する。(721)で再試行の総数が尽きると、処理は(650)で続行され、ここで無効データを示すためにデータフラグビットがセットされる。さもなければ、再試行の総数が使い尽くされていなければ、再試行カウントが(722)で増分され、(605)で処理は別の読み出しコマンドで続行される。再試行カウントは、ヘッダECCが訂正不可能であると判定された場合の複数回の再試行に備えている。再試行カウントは、予め決められても良く、或いはコピー動作に適した何らかの基準に基づいても良い。
ユーザデータにECCエラーが発見されたならば(630)、そのユーザデータECCエラーが訂正可能か否かが判定される(635)。そのECCエラーが訂正可能でなければ、再試行カウントが(721)で検査され、再試行の総数が尽きていれば、そのデータが無効であることをコントローラに知らせるためにインジケータが(650)でセットされる。データ無効インジケータは前に説明されている。データECCエラーが訂正可能であると(635)で判定されたならば、そのECCエラーは(736)で訂正され、(756)でデータ転送フラグがセットされる。データ転送フラグは、データが正しくてメモリチップに転送され戻されるべきであるというインジケータである。このデータ転送フラグは、コードフラグのうちの1つとしてコントローラに格納されて良く、或いは他の場所に格納されても良い。新しいヘッダ或いは更新されたヘッダが(645)でメモリチップに転送され戻される。その後(755)でデータ転送フラグが検査される。(755)でデータ転送フラグがセットされていれば、そのデータは(640)でメモリチップに転送され戻される。複数のセクタがコピーされるならば、処理されるべきセクタが他にまだあるか否かが(741)で判定され、そうであるならば、次のセクタのヘッダが(610)でコントローラRAMに転送される。その後、次のセクタが前述したように処理される。(741)でそれ以上セクタが発見されなければ、(799)で処理は終了する。
(630)でデータECCエラーが発見されなければ、データがメモリチップに転送され戻されるべきでないことを示すために(757)でデータ転送フラグがクリアされる。データECCエラーが発見されないというシナリオでデータ転送フラグを(757)でクリアすることは、データがメモリチップに転送され戻されることを必要としないことによって性能最適化を提供する。データにECCエラーがなければ、コピーされるデータはオンチップコピーにおいて正しそうであり、メモリがそのデータを第1の場所から第2の場所にコピーさせられることが一般に充分である。コントローラをトランザクションに関与させないことにより、また代わりにチップ上でデータを第1の場所から第2の場所にコピーするためにチップを用いることにより、性能が改善される。
図8は、関連する誤り訂正符号(ECC)を有するデータをコピーするときの図1または2のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート800である。フローチャート800は、訂正可能なヘッダを最適化し続けるという特徴と、ECCを検査するかしないかを決定するためにサンプリングメカニズムを実行するという特徴を付け加える。これらの特徴は、以下で詳しく説明される。その他の点では、フローチャート800は、再試行メカニズムなどの前述したフローチャート700の特徴の多くを含んでいるが、データをメモリチップに何時転送して戻すかを示すフラグセット/クリアメカニズムを含んでいない。付加的な特徴だけが詳しく説明される。それ以上の情報については、前述した図6〜7についての説明を参照されたい。
(620)でヘッダECCエラーが訂正可能であると判定されたならば、ヘッダECCは(723)で訂正される。この段階で、(870)で訂正可能なヘッダを最適化し続けると決定することができる。ヘッダが訂正可能ならば、全ての単一コピー動作についてECCを検査する必要はなく、そして最適の性能を提供するためにサンプリングメカニズムを利用し得ると仮定することができる。(870)でヘッダ最適化が選択されたならば、データECCは全てのコピー動作の間に検査されるのではなくて、以下でさらに説明するサンプリングメカニズムに従って検査される。代表的な実施形態の1つの変形例では、ステップ(620)でヘッダが訂正可能でなくても、セクタのヘッダを復元することが可能であるかもしれないのでデータはなおエラー検出/訂正動作のためにコントローラに転送され得る。
(870)でヘッダ最適化が選択されたならば、(875)で再試行しきい値が検査され得る。この再試行しきい値は、(721)および(722)に関して論じられた再試行カウントとは異なる処理段階で実行され、どんな条件が適切かということに基づいて異なる数にセットされ得る。(875)の再試行しきい値の1つの用途は、エラー状態におけるコピープロセスのヘッダ最適化を随意に防止することである。再試行しきい値は、予め決定されても良く、或いはコピー動作に適切な何らかの基準に基づいても良い。(875)の再試行しきい値検査は、(860)でサンプリングメカニズムを適用するか否かを決定するためのものである。(875)で再試行しきい値を超えたならば、サンプリングメカニズムは選択されなくて、処理は(625)におけるコントローラRAMへのデータの転送に続く。
(870)でヘッダ最適化が選択され、(875)で再試行しきい値を超えなければ、(860)でサンプリングメカニズムが実行される。サンプリングメカニズムは、データに関するECCを検査するか否かを決定するために使用され得る所定の選択基準の例である。サンプリングメカニズムは、ランダムベース或いは確定的であって良く、図5についての議論でより詳しく説明されている。
サンプリングメカニズムを適用した結果が試験され、データECCを検査する必要があるか否かが(865)で判定される。(865)でデータECCが検査されなければならないと判定されたならば、処理は(625)におけるコントローラRAMへのデータの転送に続く。(865)でデータECCが検査されるべきでなければ、データECCはこの場合には検査されないので、(625)におけるコントローラメモリへの、或いはコントローラメモリからの、データ転送はない。データECCを検査する必要がある場合には、データをコントローラに転送する必要はない。
残りの処理ステップは、前述した図6〜7について説明したものと同様である。
図9は、関連する誤り訂正符号(ECC)を有するデータをコピーするときの図1または2のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート900である。フローチャート900は、選択的なオンチップコピー動作と、ECC検査を何時実行するかを決定するためにサンプリングメカニズムが使用され得る選択的なECC検査とを含む前述した図6〜8の特徴を組み合わせることによって、改善された性能を提供する。より具体的には、これは図8のステップ(860),(865),(870),(875)の最適化およびサンプリングを図7のフローチャートに付け加える。
図6〜9は、全て、ヘッダとユーザデータとのために別々のECCが使用される場合についてのものである。図7〜9に導入された特徴の多くは複合ECCの場合(或いは別々のECCを持つことが利用されない場合)にも適用され得る。例えば、図10は図8に見出される特徴の多くを導入するが、単一のECCのみを使用する。
より具体的には、プロセスは(1001)から開始し、始めに(605)で、読み出しコマンドが発せられ、再試行カウントが0にセットされる。再配置されるセクタを検査するか否か(865)で判断するために(860)でサンプリングメカニズムが使用される。否であれば、セクタのオンチップコピーが実行され、(741)でプロセスは、他にもあるならば他のセクタに進み、或いは他にはなければ(1099)で終了する。セクタが検査されなければならないと判定されたならば、(610)/(625)でヘッダおよびユーザデータの両方がメモリレジスタからコントローラに転送される。プロセスの残りの部分は、ヘッダECCを別に取り扱うのではなくてヘッダとユーザデータとが一緒に扱われることを除いて、(615)/(630)からは図8の(630)からと同様に続く。
本発明の種々の態様が特定の代表的な実施形態に関して説明してきたが、本発明が添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。前に特定された特許、特許出願、論文および書籍部分は、その全体がこの背景技術の欄に明確に参照により援用されている。
本発明が実施され得る第1の不揮発性メモリシステムのブロック図である。 本発明が実施され得る別の不揮発性メモリシステムのブロック図である。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーするための代表的なシステムを示すブロック図である。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいて関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。 図1または2のメモリシステムのいずれかにおいてヘッダおよびデータの両方をカバーする関連する誤り訂正符号(ECC)を有するデータをコピーする代表的な方法を示すフローチャートである。

Claims (32)

  1. コントローラ部分とプログラム可能な不揮発性メモリアレイ有するメモリ部分とを備えるメモリシステムで、関連する誤り訂正符号(ECC)を有するユーザデータ部と別の関連する誤り訂正符号(ECC)を有するオーバーヘッド部とを有するデータを前記メモリアレイの第1の場所から前記メモリアレイの第2の場所に再配置する方法であって、
    ータを第1の場所から前記メモリ部分上のレジスタに読み出すステップと、
    その後に前記レジスタデータを維持しながら、前記ユーザデータ部のコピーを前記コントローラ部分に転送することなく、前記オーバーヘッド部のコピーを前記コントローラ部分に転送するステップと、
    前記オーバーヘッド部の関連するECCに基づいて前記オーバーヘッド部に対してエラー検出および訂正動作を前記コントローラ部分で実行するステップと、
    前記オーバーヘッド部に対するエラー検出および訂正動作が前記オーバーヘッド部の訂正を要求する場合には、前記オーバーヘッドに対するエラー検出および訂正動作を首尾よく完了したことに応答して、訂正されたオーバーヘッドを続いて前記レジスタに転送して戻すステップと、
    前記オーバーヘッド部に対してエラー検出および訂正動作を実行するステップの後に、前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを前記コントローラ部分で判定するステップと、を含み、
    前記判定するステップは、前記ユーザデータ部のコピーを前記コントローラ部分に転送することなく実行される方法。
  2. 請求項1記載の方法において
    記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、
    前記オーバーヘッド部訂正を要求すると判定したことに応答して、前記レジスタデータを維持しながら前記ユーザデータ部のコピーを前記コントローラ部分に転送するステップと
    記ユーザデータ部に対してエラー検出および訂正動作を前記コントローラ部分で実行するステップと、
    を含む方法。
  3. 請求項1記載の方法において、
    前記ユーザデータ部に対してエラー検出および訂正動作を実行しないと判定したことに応答して、データを前記レジスタから前記第2の場所に書き込むステップをさらに含む方法。
  4. 請求項1記載の方法において、
    前記ユーザデータ部に対してエラー検出および訂正動作を実行すると判定したことに応答して、前記レジスタデータを維持しながら前記ユーザデータ部のコピーを前記コントローラ部分に転送するステップと
    記ユーザデータ部に対してエラー検出および訂正動作を前記コントローラ部分で実行するステップと、
    をさらに含む方法。
  5. 請求項2または4のいずれか記載の方法において、
    前記ユーザデータ部に対するエラー検出および訂正動作は、
    前記ユーザデータ部の関連するECCに基づいて、前記ユーザデータ部がエラーを含むか否かを判定するステップと、
    前記ユーザデータ部がエラーを含むと判定したことに応答して、データに対して訂正動作を実行するステップと、
    を含む方法。
  6. 請求項5記載の方法において、
    前記ユーザデータ部に対するエラー訂正動作が首尾よく完了したならば
    正されたユーザデータ部を前記コントローラ部分からメモリ部分に転送するステップと
    正されたデータを前記第2の場所に書き込むステップと、
    をさらに含む方法。
  7. 請求項5記載の方法において、
    前記ユーザデータ部に対するエラー訂正動作が首尾よく完了しなければ、データに関連するエラーフラグをセットするステップをさらに含む方法。
  8. 請求項7記載の方法において
    ラーフラグは、前記オーバーヘッド部に書き込まれる方法。
  9. 請求項3または4のいずれか記載の方法において、
    前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、確定的メカニズムである方法。
  10. 請求項3または4のいずれか記載の方法において、
    前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、ランダムベースであるかまたは擬似ランダムベースである方法。
  11. 請求項3または4のいずれか記載の方法において、
    前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、サンプリングメカニズムに基づく方法。
  12. 請求項11記載の方法において、
    前記サンプリングメカニズムは、データに関連するオーバーヘッドデータに基づく方法。
  13. 請求項12記載の方法において、
    前記サンプリングメカニズムは、データに関連するタイムスタンプをデータの論理アドレス情報と比較することを含む方法。
  14. 請求項4記載の方法において、
    前記エラー検出および訂正動作を実行するステップの一部としてデータが訂正されたか否かに基づいてフラグ値をセットするステップと
    ータが訂正されたことを示すようにフラグ値がセットされたならば、訂正されたデータを前記レジスタに転送して戻すステップと、
    その後に前記レジスタの内容を前記第2の場所に書き込むステップと、
    をさらに含む方法。
  15. 請求項14記載の方法において
    ータは、関連するECを有し、
    前記エラー検出および訂正動作は
    連するECCに基づいてデータがエラーを含むか否かを判定するステップと
    連するECCを用いてデータを訂正するステップと、を含み
    ラグ値は、前記訂正するステップを首尾よく完了したことに応答してセットされる方法。
  16. 請求項15記載の方法において、
    前記訂正するステップが首尾よく完了しなかったことに応答して、データに関連するエラーフラグをセットするステップをさらに含む方法。
  17. 請求項16記載の方法において
    ータはオーバーヘッド部とユーザデータ部とを有し、
    ラーフラグは前記オーバーヘッド部に書き込まれる方法。
  18. 請求項14記載の方法において
    ータは、関連するECCを有するユーザデータ部と別の関連するECCを有するオーバーヘッド部とを有し
    記コピーを転送するステップと前記エラー検出および訂正動作を実行するステップとは
    記レジスタでデータを維持しながら前記オーバーヘッド部のコピーを前記レジスタから前記コントローラ部分に転送するステップと
    前記オーバーヘッド部の関連するECCに基づいて前記オーバーヘッド部に対してエラー検出および訂正動作を前記コントローラ部分で実行し、前記オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオーバーヘッド部を前記レジスタに転送して戻すステップと
    記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答して
    記レジスタでデータを維持しながら前記ユーザデータ部のコピーを前記レジスタから前記コントローラ部分に転送するステップと
    前記ユーザデータ部の関連するECCに基づいて前記ユーザデータ部に対してエラー検出および訂正動作を前記コントローラ部分で実行するステップと、を含み
    ラグ値は前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
  19. 関連する誤り訂正符号(ECC)を有するデータを、メモリコントローラと再プログラム可能な不揮発性メモリアレイを有するメモリ部とを備えるシステムの前記メモリアレイの第1の場所から第2の場所にコピーする方法であって
    ータを前記第1の場所から前記メモリ上のキャッシュに読み出すステップと、
    所定の選択基準に基づいてECCを検査するか否かを前記メモリコントローラで判定するステップであって、ECC検査が選択されなければ、データを前記メモリコントローラに転送することなく、前記システムにデータを前記キャッシュから前記第2の場所にコピーさせるステップと、
    ECC検査が選択されたならば、読み出されたデータ上のECCを前記メモリコントローラで検査するステップと、を含み、
    前記ECCを検査するステップは、
    ECCエラーが発見されたならば、読み出されたデータ上のECCエラーを前記メモリコントローラで訂正し、前記メモリコントローラにその訂正されたデータを前記メモリアレイの第2の場所に書き込ませるステップと、
    ECCエラーが発見されなければ、データを前記メモリコントローラに転送することなく、前記システムにデータを前記キャッシュから前記第2の場所にコピーさせるステップと、を含む方法。
  20. 請求項19記載の方法において
    定の選択基準は、サンプリングメカニズムである方法。
  21. 請求項20記載の方法において、
    前記サンプリングメカニズムは、ランダムベースである方法。
  22. 請求項20記載の方法において、
    前記サンプリングメカニズムは、確定的である方法。
  23. 請求項20記載の方法において、
    前記サンプリングメカニズムは、
    前記再プログラム可能な不揮発性メモリアレイ内の論理セクタ数に関連する複数のビットをタイムスタンプと比較して比較結果を生じさせるステップと
    較結果に従ってECCを検査することを選択するステップと、
    を含む方法。
  24. 請求項20記載の方法において、
    前記サンプリングメカニズムは、データに関連するオーバーヘッドデータに基づく方法。
  25. 請求項24記載の方法において、
    前記サンプリングメカニズムは、データに関連するタイムスタンプをデータの論理アドレス情報と比較することを含む方法。
  26. 請求項20記載の方法において、
    前記ECCを検査するか否かを判定するステップは、ランダムベースであるかまたは擬似ランダムベースである方法。
  27. 請求項19記載の方法において、
    エラー訂正が首尾よく完了しなかった場合には、データに関連するエラーフラグをセットするステップをさらに含む方法。
  28. 請求項27記載の方法において、
    データは、ヘッダ部とユーザデータ部とを有し、
    エラーフラグは、前記ヘッダ部に書き込まれる方法。
  29. 請求項19記載の方法において、
    前記ECCを検査するか否かを判定するステップは、確定的メカニズムである方法。
  30. 請求項19記載の方法において、
    ECCエラーを訂正する動作の一部として、データが訂正されたか否かに基づいてフラグ値をセットするステップと、
    データが訂正されたことを示すようにフラグ値がセットされたならば、訂正されたデータを前記キャッシュに転送して戻すステップと、
    その後に前記キャッシュの内容を前記第2の場所に書き込むステップと、
    をさらに含む方法。
  31. 請求項30記載の方法において、
    ECCエラーを訂正することは、関連するECCを用いて読み出されたデータを訂正することを含み、
    フラグ値は、訂正が首尾よく完了したことに応答してセットされる方法。
  32. 請求項30記載の方法において、
    データは、関連するECCを有するユーザデータ部と別の関連するECCを有するオーバーヘッド部とを有し、
    ECCを検査し、ECCエラーを訂正することは、
    データを前記キャッシュで維持しながら、前記オーバーヘッド部のコピーを前記キャッシュから前記メモリコントローラに転送し、
    前記オーバーヘッド部の関連するECCに基づいて前記オーバーヘッド部に対してエラー検出および訂正動作を前記メモリコントローラで実行し、前記オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオーバーヘッド部を前記キャッシュに転送して戻し、かつ
    前記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答して、
    データを前記キャッシュで維持しながら、前記ユーザデータ部のコピーを前記キャッシュから前記メモリコントローラに転送し、かつ
    前記ユーザデータ部の関連するECCに基づいて前記ユーザデータ部に対してエラー検出および訂正動作を前記メモリコントローラで実行することを含み、
    フラグ値は、前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
JP2007548357A 2004-12-21 2005-12-15 再プログラム可能な不揮発性メモリにおいてデータをコピーする方法 Expired - Fee Related JP5069127B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/022,350 2004-12-21
US11/022,350 US7849381B2 (en) 2004-12-21 2004-12-21 Method for copying data in reprogrammable non-volatile memory
PCT/US2005/045909 WO2006068993A2 (en) 2004-12-21 2005-12-15 Method for copying data within a reprogrammable non-volatile memory

Publications (2)

Publication Number Publication Date
JP2008524750A JP2008524750A (ja) 2008-07-10
JP5069127B2 true JP5069127B2 (ja) 2012-11-07

Family

ID=36602239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007548357A Expired - Fee Related JP5069127B2 (ja) 2004-12-21 2005-12-15 再プログラム可能な不揮発性メモリにおいてデータをコピーする方法

Country Status (10)

Country Link
US (2) US7849381B2 (ja)
EP (1) EP1828897B1 (ja)
JP (1) JP5069127B2 (ja)
KR (1) KR101026391B1 (ja)
CN (1) CN101124544A (ja)
AT (1) ATE408864T1 (ja)
DE (1) DE602005009868D1 (ja)
IL (1) IL184018A0 (ja)
TW (1) TWI443667B (ja)
WO (1) WO2006068993A2 (ja)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
EP1850342B1 (en) * 2004-12-28 2012-12-05 International Business Machines Corporation INFORMATION RECORDING DEVICE and DATA-FLOW CONTROLLER FOR THE DEVICE
US7362611B2 (en) * 2005-08-30 2008-04-22 Micron Technology, Inc. Non-volatile memory copy back
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US8060688B2 (en) * 2006-12-07 2011-11-15 Nxp B.V. Method and device for reconfiguration of reliability data in flash EEPROM storage pages
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
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
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
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
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
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US20090106513A1 (en) * 2007-10-22 2009-04-23 Chuang Cheng Method for copying data in non-volatile memory system
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
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
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
TW200935433A (en) * 2008-02-15 2009-08-16 Asmedia Technology Inc Method for reducing data error when flash memory storage device using copy back command
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
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7781780B2 (en) 2008-03-31 2010-08-24 Bridgelux, Inc. Light emitting diodes with smooth surface for reflective electrode
US8059455B2 (en) * 2008-05-09 2011-11-15 Sandisk Il Ltd. Partial scrambling to reduce correlation
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. 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
CN102855943B (zh) * 2008-11-28 2017-04-12 群联电子股份有限公司 错误校正控制器及其闪存芯片系统与错误校正方法
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR100996009B1 (ko) * 2009-02-02 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
KR20100093885A (ko) 2009-02-17 2010-08-26 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
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
US8433845B2 (en) * 2009-04-08 2013-04-30 Google Inc. Data storage device which serializes memory device ready/busy signals
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8775880B2 (en) * 2009-06-11 2014-07-08 STMicroelectronics Intenational N.V. Shared fuse wrapper architecture for memory repair
TWI404071B (zh) 2009-06-23 2013-08-01 Phison Electronics Corp 能識別快閃記憶體中錯誤資料的控制電路及儲存系統與方法
CN101944386B (zh) * 2009-07-03 2013-11-13 群联电子股份有限公司 识别闪速存储器中错误数据的控制电路及存储系统与方法
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8510497B2 (en) 2009-07-29 2013-08-13 Stec, Inc. Flash storage device with flexible data format
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
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
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP4745465B1 (ja) * 2010-01-29 2011-08-10 株式会社東芝 半導体記憶装置及び半導体記憶装置の制御方法
JP5204265B2 (ja) * 2010-01-29 2013-06-05 株式会社東芝 半導体記憶装置及び半導体記憶装置の制御方法
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
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8484542B2 (en) * 2011-02-08 2013-07-09 Sandisk Technologies Inc. Data recovery using additional error correction coding data
JP5451682B2 (ja) * 2011-05-20 2014-03-26 株式会社東海理化電機製作所 フラッシュメモリ装置
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101830808B1 (ko) * 2011-11-04 2018-02-22 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
JP5839048B2 (ja) * 2012-01-12 2016-01-06 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9223649B2 (en) * 2012-02-15 2015-12-29 Sandisk Technologies Inc. System and method of sending correction data to a buffer of a non-volatile memory
US9256526B2 (en) * 2012-02-23 2016-02-09 National Taiwan University Flash memory storage system and access method
US8760921B2 (en) 2012-08-28 2014-06-24 Kabushiki Kaisha Toshiba Storage device and control method of nonvolatile memory
US9081710B2 (en) 2013-04-11 2015-07-14 Spansion Llc. Restoring ECC syndrome in non-volatile memory devices
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US20150046772A1 (en) * 2013-08-06 2015-02-12 Sandisk Technologies Inc. Method and device for error correcting code (ecc) error handling
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9262263B2 (en) 2013-11-25 2016-02-16 Qualcomm Incorporated Bit recovery system
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
US9378081B2 (en) 2014-01-02 2016-06-28 Qualcomm Incorporated Bit remapping system
US9454422B2 (en) 2014-01-30 2016-09-27 International Business Machines Corporation Error feedback and logging with memory on-chip error checking and correcting (ECC)
JP2015170101A (ja) 2014-03-06 2015-09-28 富士通株式会社 生体認証装置、方法及びプログラム
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US8891303B1 (en) * 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
KR20170025948A (ko) * 2015-08-31 2017-03-08 에스케이하이닉스 주식회사 반도체 시스템 및 제어 방법
US10613949B2 (en) * 2015-09-24 2020-04-07 Hewlett Packard Enterprise Development Lp Failure indication in shared memory
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
KR102636039B1 (ko) 2016-05-12 2024-02-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법
KR20180026022A (ko) 2016-09-01 2018-03-12 삼성전자주식회사 스토리지 장치 및 그것의 카피백 방법
US11226909B2 (en) * 2018-08-24 2022-01-18 Rambus Inc. DRAM interface mode with interruptible internal transfer operation
KR20210089016A (ko) 2020-01-07 2021-07-15 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
KR20210092986A (ko) 2020-01-17 2021-07-27 삼성전자주식회사 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법
US11321167B2 (en) 2020-05-09 2022-05-03 Western Digital Technologies, Inc. Adaptive folding for integrated memory assembly
US11301321B2 (en) 2020-05-28 2022-04-12 Western Digital Technologies, Inc. Data shaping for integrated memory assembly
US11170870B1 (en) 2020-05-28 2021-11-09 Western Digital Technologies, Inc. On-chip-copy for integrated memory assembly
US11138071B1 (en) 2020-06-22 2021-10-05 Western Digital Technologies, Inc. On-chip parity buffer management for storage block combining in non-volatile memory
US11488682B2 (en) 2020-06-24 2022-11-01 Sandisk Technologies Llc Calibration for integrated memory assembly
US11556267B2 (en) * 2020-08-31 2023-01-17 Micron Technology, Inc. Data management during a copyback operation
US11392327B2 (en) 2020-09-09 2022-07-19 Western Digital Technologies, Inc. Local data compaction for integrated memory assembly
US11650932B2 (en) 2020-10-25 2023-05-16 Western Digital Technologies, Inc. Integrated non-volatile memory assembly with address translation
US11481154B2 (en) 2021-01-15 2022-10-25 Sandisk Technologies Llc Non-volatile memory with memory array between circuits
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
US11809327B2 (en) 2021-11-16 2023-11-07 Western Digital Technologies, Inc. Data auto-relocation in an integrated memory assembly

Family Cites Families (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE246857C (ja)
IT1089225B (it) 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo
US4215863A (en) * 1978-08-23 1980-08-05 Kuiper Jerald W Coin operated sliding puck game
US4251863A (en) * 1979-03-15 1981-02-17 Sperry Corporation Apparatus for correction of memory errors
IT1224062B (it) 1979-09-28 1990-09-26 Ates Componenti Elettron Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
US4785427A (en) 1987-01-28 1988-11-15 Cypress Semiconductor Corporation Differential bit line clamp
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
EP0618535B1 (en) * 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5406565A (en) * 1989-06-07 1995-04-11 Mv Limited Memory array of integrated circuits capable of replacing faulty cells with a spare
US5233616A (en) * 1990-10-01 1993-08-03 Digital Equipment Corporation Write-back cache with ECC protection
JP2646850B2 (ja) 1990-11-30 1997-08-27 日本電気株式会社 半導体メモリ回路
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5274646A (en) * 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
KR960000619B1 (ko) * 1991-12-27 1996-01-10 후지쓰 가부시끼가이샤 일괄소거형의 불휘발성 반도체 기억장치 및 그의 구동제어회로
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JP3323869B2 (ja) 1992-03-31 2002-09-09 株式会社東芝 不揮発性半導体メモリ装置
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
JP3078946B2 (ja) 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
JP2922116B2 (ja) * 1993-09-02 1999-07-19 株式会社東芝 半導体記憶装置
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JPH07105128A (ja) * 1993-10-07 1995-04-21 Mitsubishi Electric Corp データ転送装置
US5661053A (en) * 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5581715A (en) * 1994-06-22 1996-12-03 Oak Technologies, Inc. IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface
US5680347A (en) * 1994-06-29 1997-10-21 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP2658958B2 (ja) 1995-03-31 1997-09-30 日本電気株式会社 Dmaコントローラ
US5691994A (en) * 1995-05-08 1997-11-25 Western Digital Corporation Disk drive with fast error correction validation
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5692165A (en) * 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
KR0169419B1 (ko) * 1995-09-28 1999-02-01 김광호 불휘발성 반도체 메모리의 독출방법 및 장치
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
KR0158489B1 (ko) * 1995-12-20 1998-12-15 김광호 반도체 메모리 디바이스의 구분방법
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US5893135A (en) * 1995-12-27 1999-04-06 Intel Corporation Flash memory array with two interfaces for responding to RAS and CAS signals
US5724303A (en) * 1996-02-15 1998-03-03 Nexcom Technology, Inc. Non-volatile programmable memory having an SRAM capability
JP3614173B2 (ja) * 1996-02-29 2005-01-26 株式会社ルネサステクノロジ 部分不良メモリを搭載した半導体記憶装置
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
FR2749682B1 (fr) * 1996-06-10 1998-07-10 Bull Sa Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
JPH10107649A (ja) * 1996-09-30 1998-04-24 Sanyo Electric Co Ltd 符号誤り訂正/検出デコーダ
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5901086A (en) 1996-12-26 1999-05-04 Motorola, Inc. Pipelined fast-access floating gate memory architecture and method of operation
JP3897388B2 (ja) 1996-12-27 2007-03-22 シャープ株式会社 シリアルアクセス方式の半導体記憶装置
US6097638A (en) 1997-02-12 2000-08-01 Kabushiki Kaisha Toshiba Semiconductor memory device
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US5822245A (en) * 1997-03-26 1998-10-13 Atmel Corporation Dual buffer flash memory architecture with multiple operating modes
US5872739A (en) * 1997-04-17 1999-02-16 Radiant Technologies Sense amplifier for low read-voltage memory cells
JPH113290A (ja) 1997-06-11 1999-01-06 Hitachi Ltd メモリ制御方式
US5912906A (en) * 1997-06-23 1999-06-15 Sun Microsystems, Inc. Method and apparatus for recovering from correctable ECC errors
US5903496A (en) * 1997-06-25 1999-05-11 Intel Corporation Synchronous page-mode non-volatile memory with burst order circuitry
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6768165B1 (en) * 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
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
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
US6101624A (en) * 1998-01-21 2000-08-08 International Business Machines Corporation Method and apparatus for detecting and correcting anomalies in field-programmable gate arrays using CRCs for anomaly detection and parity for anomaly correction
US6333871B1 (en) 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US5949720A (en) 1998-10-30 1999-09-07 Stmicroelectronics, Inc. Voltage clamping method and apparatus for dynamic random access memory devices
US6490649B2 (en) * 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
AU1729100A (en) * 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
EP1008940A3 (en) 1998-12-07 2001-09-12 Network Virtual Systems Inc. Intelligent and adaptive memory and methods and devices for managing distributed memory systems with hardware-enforced coherency
US6567302B2 (en) 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6449625B1 (en) * 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
EP1092194B1 (en) 1999-04-29 2010-02-10 Nxp B.V. Device for use as stand-alone device and as slave device in a data bus system
US6253250B1 (en) * 1999-06-28 2001-06-26 Telocity, Incorporated Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
ES2293916T3 (es) 1999-07-28 2008-04-01 Sony Corporation Sistema de registro, dispositivo de registro de datos, dispositivo de memoria, y metodo de registro de datos.
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
KR100584175B1 (ko) 1999-10-18 2006-05-26 엘지전자 주식회사 기록매체에의 데이터 기록 및 재생방법
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
JP2001184881A (ja) * 1999-12-28 2001-07-06 Toshiba Corp 不揮発性半導体メモリの読み出し回路
US6243291B1 (en) * 2000-02-15 2001-06-05 Advanced Micro Devices, Inc. Two-stage pipeline sensing for page mode flash memory
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP2001273710A (ja) * 2000-03-28 2001-10-05 Sanyo Electric Co Ltd Cd−romデコーダ
US6532201B1 (en) 2000-04-03 2003-03-11 Hewlett-Packard Company Copy protection for optical discs
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US6647469B1 (en) * 2000-05-01 2003-11-11 Hewlett-Packard Development Company, L.P. Using read current transactions for improved performance in directory-based coherent I/O systems
US6396741B1 (en) * 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
US6504757B1 (en) * 2000-08-11 2003-01-07 Advanced Micro Devices, Inc. Double boosting scheme for NAND to improve program inhibit characteristics
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6581142B1 (en) * 2000-09-01 2003-06-17 International Business Machines Corporation Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
US6725343B2 (en) * 2000-10-05 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7254606B2 (en) * 2001-01-30 2007-08-07 Canon Kabushiki Kaisha Data management method using network
JP2002229924A (ja) 2001-01-31 2002-08-16 Toshiba Corp 複写機能を有するコンピュータシステム及び同システムにおけるデータ複写方法
KR100381956B1 (ko) 2001-02-02 2003-04-26 삼성전자주식회사 플래시 메모리 장치의 감지 증폭 회로
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6525652B2 (en) * 2001-03-02 2003-02-25 Clayton S. Smith Downshifting warning system
JP3957985B2 (ja) 2001-03-06 2007-08-15 株式会社東芝 不揮発性半導体記憶装置
US6570810B2 (en) * 2001-04-20 2003-05-27 Multi Level Memory Technology Contactless flash memory with buried diffusion bit/virtual ground lines
US6671204B2 (en) 2001-07-23 2003-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory device with page buffer having dual registers and methods of using the same
JP2003036681A (ja) 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP3979486B2 (ja) 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US7177197B2 (en) 2001-09-17 2007-02-13 Sandisk Corporation Latched programming of memory and method
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
JP4454896B2 (ja) * 2001-09-27 2010-04-21 シャープ株式会社 仮想接地型不揮発性半導体記憶装置
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123410D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
ITVA20010035A1 (it) * 2001-10-16 2003-04-16 St Microelectronics Srl Dispositivo di memoria non volatile con doppia interfaccia di comunicazione seriale/parallela
KR100454119B1 (ko) * 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
US7181485B1 (en) * 2001-11-26 2007-02-20 Integrated Device Technology, Inc. Variably delayable transmission of packets between independently clocked source, intermediate, and destination circuits while maintaining orderly and timely processing in one or both of the intermediate and destination circuits
JP3802411B2 (ja) * 2001-12-20 2006-07-26 株式会社東芝 不揮発性半導体記憶装置のデータコピー方法
US6687158B2 (en) 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US6700820B2 (en) 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
JP2003296199A (ja) * 2002-01-29 2003-10-17 Matsushita Electric Ind Co Ltd 記憶装置、データ処理方法及びデータ処理プログラム
JP4004811B2 (ja) 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US6836432B1 (en) 2002-02-11 2004-12-28 Advanced Micro Devices, Inc. Partial page programming of multi level flash
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US6771536B2 (en) * 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6570809B1 (en) * 2002-04-17 2003-05-27 Ememory Technology Inc. Real-time multitasking flash memory with quick data duplication
JP2004030784A (ja) 2002-06-26 2004-01-29 Fujitsu Ltd 半導体記憶装置
TW561339B (en) * 2002-07-24 2003-11-11 C One Technology Corp Non-volatile memory based storage system capable of directly overwriting without using redundancy and the method thereof
JP4225749B2 (ja) 2002-08-07 2009-02-18 株式会社ルネサステクノロジ 半導体記憶装置
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US6940753B2 (en) 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7443757B2 (en) * 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US6983428B2 (en) * 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
CA2447204C (en) * 2002-11-29 2010-03-23 Memory Management Services Ltd. Error correction scheme for memory
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
KR100543447B1 (ko) * 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7392436B2 (en) 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
JP2005078378A (ja) * 2003-08-29 2005-03-24 Sony Corp データ記憶装置及び不揮発性メモリに対するデータ書き込み方法
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7372730B2 (en) 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
JP4550479B2 (ja) 2004-04-30 2010-09-22 ルネサスエレクトロニクス株式会社 電子制御装置及びデータ調整方法
JP4791356B2 (ja) * 2004-05-06 2011-10-12 パナソニック株式会社 半導体メモリ装置
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7463521B2 (en) 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7447078B2 (en) 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7921301B2 (en) * 2005-05-17 2011-04-05 Dot Hill Systems Corporation Method and apparatus for obscuring data on removable storage devices
KR20090039664A (ko) 2006-07-06 2009-04-22 가부시키가이샤 니콘 마이크로 액츄에이터, 광학 유닛 및 노광 장치, 및 디바이스 제조 방법
US7562264B2 (en) * 2006-09-06 2009-07-14 Intel Corporation Fault tolerant soft error detection for storage subsystems
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage

Also Published As

Publication number Publication date
EP1828897A2 (en) 2007-09-05
WO2006068993A3 (en) 2007-01-11
DE602005009868D1 (de) 2008-10-30
KR101026391B1 (ko) 2011-04-07
US20110072332A1 (en) 2011-03-24
US8914703B2 (en) 2014-12-16
WO2006068993B1 (en) 2007-02-15
CN101124544A (zh) 2008-02-13
WO2006068993A2 (en) 2006-06-29
TW200636732A (en) 2006-10-16
KR20070107676A (ko) 2007-11-07
US7849381B2 (en) 2010-12-07
US20060156189A1 (en) 2006-07-13
TWI443667B (zh) 2014-07-01
IL184018A0 (en) 2007-10-31
JP2008524750A (ja) 2008-07-10
ATE408864T1 (de) 2008-10-15
EP1828897B1 (en) 2008-09-17

Similar Documents

Publication Publication Date Title
JP5069127B2 (ja) 再プログラム可能な不揮発性メモリにおいてデータをコピーする方法
JP4643711B2 (ja) 状況依存メモリ性能
US6388919B2 (en) Memory controller for flash memory system and method for writing data to flash memory device
EP1829047B1 (en) System and method for use of on-chip non-volatile memory write cache
US9075740B2 (en) Memory system
US8832353B2 (en) Host stop-transmission handling
US7295470B2 (en) Non-volatile memory device including multi-page copyback system and method
US20070035998A1 (en) Nonvolatile memory apparatus
US10725906B2 (en) Storage device that restores data lost during a subsequent data write
KR101468432B1 (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
KR20120052216A (ko) 위성 파일 시스템을 구비한 멀티-뱅크 비휘발성 메모리 시스템
US11966625B2 (en) Memory device and operating method for setting and repairing data errors
WO2024082466A1 (zh) 存储系统及其操作方法、存储器控制器和存储器
US20230205423A1 (en) Memory device, memory system including the same, and operating method of the memory system
JP4222879B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
CN115620790A (zh) 存储器及其操作方法、存储器系统

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120223

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120523

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120615

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120816

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5069127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees