JP3695766B2 - メモリの欠陥管理方法 - Google Patents
メモリの欠陥管理方法 Download PDFInfo
- Publication number
- JP3695766B2 JP3695766B2 JP29383293A JP29383293A JP3695766B2 JP 3695766 B2 JP3695766 B2 JP 3695766B2 JP 29383293 A JP29383293 A JP 29383293A JP 29383293 A JP29383293 A JP 29383293A JP 3695766 B2 JP3695766 B2 JP 3695766B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- memory
- memory block
- data
- array
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
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)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【産業上の利用分野】
本発明は、コンピュータメモリ管理に関し、特に、フラッシュEEPROM(電気的消去可能なプログラマブルROM)の動作中に発生する欠陥を管理する方法に関する。
【0002】
【従来の技術】
最新のコンピュータシステムでは、長期間メモリを多量に利用している。一般に、この長期間メモリは、1枚またはそれ以上のハードディスクによって得られる。ハードディスクは電気−機械式デバイスであり、これには、中心軸の周りに迅速に回転するように固定された1枚またはそれ以上の平坦な円形ディスクが設置されている。これら平坦なディスクの各々は、磁気材料の或る形態で被覆された対向する面を有している。電気的信号によって駆動される機械式アームによって、磁気ヘッドを各ディスクの一面上に配置して、このディスク上の位置に書込むか、またはそれらの位置から読出している。これらの位置はセクタに並んでいる。ディスクの1本の完全なトラックは多数のセクタ(例えば17個のセクタ)によって構成されている。各セクタは、固定量のデータを記憶することが可能で、代表的なデータ量は512バイト(使用するディスクによっては、256バイト、1024バイトまたはそれ以上のバイトのセクタが存在する)である。フォーマット形式によっては1枚のディスクの片面に、600以上のトラックを有することもできる。今日のパーソナルコンピュータで利用されている代表的なディスクドライブでは、40MB(メガバイト)を記憶できる。
【0003】
このようなディスクドライブは極めて有用なものであると共に、パーソナルコンピュータの動作に殆んど必要なものとなっている。しかし乍ら、このような電気−機械式ドライブには必然的に欠点が存在する。即ち、これらドライブは比較的に重いものであると共に、コンピュータの重量を増大させ、特に、ポータブルコンピュータにはこの欠点が顕著なものとなってしまう。また、更に、比較的かさばってしまうと共に、コンピュータ内部において大きな空間を占有してしまう欠点がある。また、これらドライブは大電力を必要とし、特にポータブルコンピュータにおいては、多大な電池電力を消費する欠点がある。更に重要なことには、電気−機械式ハードディスクドライブは極めてショックの影響を受けやすいものである。落下したポータブルコンピュータ中のハードディスクドライブは、機能停止に極めて陥りやすい欠点がある。これによって、データが突然的に消去されてしまうようになる。
【0004】
最近、このような電気−機械式ハードディスクドライブ以外の長期間記憶形態のものが、コンピュータ分野で好適に利用されるようになってきた。これら長期間記憶形態のものの1つとしてフラッシュEEPROMと呼ばれるものがある。このフラッシュEEPROMメモリは、一般的な行列形式でメモリセルとして、多数のフローティングゲート金属酸化物シリコン電界効果トランジスタから構成されており、更に、個々のセルをアクセス可能であると共に、これらセルのメモリトランジスタを2つのメモリ状態の一方の状態へ移行させる回路から構成されている。一般的なEPROMセルとは類似しているが、DRAMメモリとは対比されるフラッシュメモリセルは、電源を切っても情報を保持している。フラッシュEEPROMアレイは長期間メモリとして利用するのに適している多数の特性を有している。このメモリアレイは、軽量であり、極めて少ないスペースを占有し、且つ、電気−機械式ディスクドライブより少ない電力消費である。更に、重要な点は、特に丈夫な点である。代表的な電気−機械式ハードディスクを破壊するような落下を繰返し行っても、悪影響なく耐えることができる。
【0005】
フラッシュEEPROMの一つの特色は、このメモリ(または、あるメモリ部分)中のすべてのトランジスタ(セル)のソースターミナルに対して、同時に高電圧を印加することによって記憶内容を消去できることである。これらソースターミナルは全てアレイ中のメタルバスによって互いに接続されているため、全体を一度で消去しなければならない。一般に、電気−機械式ハードディスクでは、このディスクの第1領域中に情報を記憶し、次に、この情報を変更する場合に、ディスクの同一領域を書替えるのに対して、フラッシュメモリアレイで書き換えるには、有効な情報のすべてを消去しなければならない。これら有効情報は、無効(汚損した)情報と一緒にアレイ中に存在している。
【0006】
この理由のために、フラッシュEEPROMアレイのセクタをプログラミングすると共に消去する異なった構成が利用されている。最初に、アレイ全体を独立して消去可能な小さなブロックに分割し、1つのブロックを消去することで、再度プログラムが必要な有効データの量を減少させている。次に、データ入力時に情報を変更する場合に、変更した情報を、古いデータ上に書込む代わりに、利用できるブロック上の新しいセクタに書込むと共に、この古いデータを「汚損」として印しを付ける。消去が行われると、ブロック上の消去すべき有効データのすべてを新しいブロック中に書込み、次に、汚損したブロックを消去して、メモリの無キズなブロックとして利用する。このような一連の消去処理動作のために、フラッシュEEPROMアレイを消去するのに、一般に、2秒間程必要となる。しかし乍ら、この消去は書換えられる各エントリと共に行う必要が無いので、汚損情報が消去するのに好都合な、十分な量だけブロックに溜るまで、この消去処理を遅延させることができる。このことによって、消去動作の回数を最小限に抑えることができる。更に、このような消去動作は、アレイを制御する装置が書込み/読取り動作で使用されていないときに実行できるようになる。
【0007】
データを変更する場合および汚損したセクタを有するブロックを消去する場合に書込みを行うフリースペースが必要であるため、データアレイ中のスペースを常時、これらの目的のために利用する必要があるか、またはこのアレイが機能しないことを意味する。このことは、フラッシュEEPROMメモリアレイ中で利用可能なスペースの管理に対して厳しい課題を与えることになる。
【0008】
他のメモリ構成と同様に、フラッシュEEPROMメモリアレイの故障が発生するので、このような故障を対処する手段を設ける必要がある。実際上、フラッシュメモリアレイが経験するような或る明白な故障は、トランジスタメモリデバイスの動作における一般的なものである。また、これら故障の多くは、メモリデバイスまたはアレイの故障でないことも事実である。結局、このようなエラーの発生時に、アレイまたはそのセクションを無効化するためには、継続的な利用可能な回路を無効化することである。しかし、このことは、フラッシュメモリのように、書込みおよび消去動作用のフリースペースを継続的に利用するメモリにとっては、特に好ましくない。また、アレイの或る部分が利用できなくなる他の故障の場合は、可能な限りデータをこの部分に保存し乍ら、この部分を利用しないようにする必要がある。この理由のために、フラッシュメモリアレイ中に発生するような種々のタイプの故障を、ホストによってアレイ中に記憶されたデータを保存する一方、同時に、次の動作のためにアレイ自身を保存するような方法で処理することが望まれている。
【0009】
【発明が解決しようとする課題】
従って、本発明の目的は、フラッシュメモリアレイの動作中に検出された欠陥に対する、フラッシュメモリ構成の応答を制御する方法を提供することである。また、本発明の他の目的は、フラッシュメモリのブロック中の明らかな欠陥に対する取扱いを合理的に管理できる方法を提供することである。
【0010】
【課題を解決するための手段】
本発明のこれらの目的ならびに他の目的は、個々に消去可能なブロックに分割したフラッシュメモリアレイにおいて、以下の方法によって実現出来る。即ち、動作中に起るかもしれないエラーを検出するために書込み動作または読取り動作の各々をチェックするステップを有するなる、記憶したデータの無欠陥状態を確保するためにフラッシュメモリアレイの動作をモニタするステップと、エラーが発生した時、そのエラーが繰返し起るかどうかを決定するために、少なくとも1回の再動作を行うステップと、冗長でないエラーがブロック上に1個以上発生した場合に、このブロックから移動すべき有効データを表わすためにこのブロックにマークを付するステップと、そのようなエラーがこのブロック上に1個以上起る場合に、このブロックから有効な情報を移動するステップと、ならびにエラーを繰返すブロックを使用しないようにするステップを具備したことを特徴とする方法によってこれら目的が達成される。
【0011】
【実施例】
以下、本発明の実施例を説明する前に、本明細書で採用した表示法および命名法について説明する。
以下に記載した本発明の詳細な説明の或る部分は、コンピュータメモリ中のデータビットに関する動作をアルゴリズムおよびシンボル的表現によって表わされている。これらアルゴリズム的記載および表現は、データ処理技術分野における当業者によって利用され、これら当業者の仕事の本質部分を、同一分野の他の当業者へ最も効率的に移行するための手段である。本明細書において、アルゴリズムとは、所望の結果を導くための自己完結型のシーケンスステップを考察するためのものである。これらのステップは、物理的な量の物理的操作を必要とするものである。
【0012】
通常、絶対的に必要なものではないが、これらの数量は、記憶したり、転送したり、組合せたり、比較したり、または操作可能な電気または磁気信号の形態をとっている。共通利用の観点から、原則として、これらの信号を、ビット、値、エレメント、シンボル、文字、期間、数値等として扱うことが便利であることが証明されている。しかし乍ら、これらの用語およびそれと類似の用語を、適当な物理的数量と組合せると共に、単に、これら数量に便利なラベルを適用することも可能である。
【0013】
更に、実行された操作は、加算や比較のような用語で呼ばれることがある。これら操作は、人的オペレータによって行われる精神的な動作と組合わされるものである。このような人的オペレータの能力は、本発明の一部分を構成する種々の動作における大部分において必要なことでもないし、所望なものでもない。これら操作は、マシーンによる操作である。コンピュータまたはこれの一部分を動作させる方法操作と、演算自身の方法とは区別すべきものである。本発明は、電気的または他の物理的(例えば、機械的、化学的)信号を処理するコンピュータを操作するステップから成る方法および装置に関するもので、これによって他の所望の物理的信号を発生させるものである。
以下図面を参照し乍ら、本発明の実施例を詳述する。
【0014】
すでに説明したように、フラッシュEEPROMメモリは、アレイ状にメモリセルとして配列された多数のトランジスタから構成され、更に、個々のセルにアクセス可能であると共に、これらセルのメモリトランジスタを2つのメモリ状態の一方に設定できる回路とによって構成される。代表的なEPROMセルのようなフラッシュメモリセルは、電源が切られた場合でも情報を保持する。しかし乍ら、この代表的なEPROMセルとは異なり、フラッシュEEPROMセルは、電気的に、局部的にプログラム可能である。
【0015】
しかし、このフラッシュEEPROMセルは、これを先に消去してしまわないと再度プログラムできないことが問題点である。フラッシュEEPROMを消去するためには、このメモリ中に使用されているすべてのトランジスタのソース端子に高電圧を印加する。これらソース端子のすべてが、アレイ内で金属バスによって接続されているので、全体アレイ(または、所定のサブ領域)を一度に消去する必要がある。一般に、電気−機械的ハードディスクでは、このディスクの第1領域中に情報を記憶すると共に、この情報を変更する場合には、このディスクの同じ領域を再書込みすることができるが、このフラッシュEEPROMメモリではそのようなことは不可能である。即ち、このような書込み動作をさせるためには、フラッシュEEPROMのアレイの消去された部分に残存している、すべての有効情報を無効な(汚損された)情報と一緒に消去する必要がある。このことは、アレイを消去する毎に、すべての有効な情報をアレイ中に再書込みする必要となる。この消去処理では、消去された部分におけるすべての有効データを再書込みする必要があるので、この消去処理は極めて遅いものとなってしまう。一般に、このフラッシュEEPROMアレイの消去処理は、1秒から2秒の間の時間を要するものである。そのような、消去時間のために、迅速にデータを変更するためには、このフラッシュEEPROMの利用が妨げられてしまう。
【0016】
しかし乍ら、電気−機械式ハードディスクに通常に使用されているような消去および再書込み方法とは異なり、かつシステムの全体動作を遅延させない、フラッシュアレイ消去および再書込み方法を考案すれば、ハードディスクによって情報が記憶される場合のように、フラッシュEEPROMをデータを迅速に変化させることができる長時間記憶装置として利用できる。
フラッシュEEPROMアレイの消去および再書込みに関する新規な構成が、本願発明の譲受人に譲渡され、同一に出願した米国特許出願第 号明細書「固体メモリディスク用方法および回路」(S.Wells出願人)に開示されている。この新規構成では、代表的な長期間記憶アレイが一連のブロックに配列されたフラッシュメモリから構成されており、これらブロックの各々が独立して消去可能である。一実施例においては、このアレイを多数のシリコンチップに分割し、各チップを更に、16個のサブブロックに分割する。実際上、各サブブロックは、これらシリコンチップの他のチップ上のサブブロックと物理的に対を成しており、これらサブブロックによってこのアレイの論理ブロックを創設する。この中では、データの奇数バイトが一方のチップのサブブロック上に記憶されると共に、データの偶数バイトが他方のチップのサブブロック上に記憶される。フラッシュメモリの論理ブロックの各々は、このような他のブロックから独立して消去可能である。しかし乍ら、一般に、アレイの論理ブロックの各々は、128KB(キロバイト)のデータを保持しており、電気−機械式ハードディスクドライブのトラック上に通常状態でストア(記憶)された情報を256セクタ分だけ保持するのに十分である。従って、1チップ当り、16個の独立して消去可能なサブブロックを有する30個のチップから成るフラッシュメモリアレイは、30MBの電気−機械式ハードディスクが保持するデータ量と同一のデータ量を保持する。このように、データを240個の独立して消去可能なブロックに分割しても、一つのブロックの消去は極めて多量の情報を消去すること、即ち、すべてのデータを消去し、次に、有効データを各セクタを再書込みして書替えることになり、実際上不可能である。
【0017】
このような問題点を克服するために、上述した新規な構成においては、データを、利用可能なスペースを有するフラッシュメモリアレイのいずれかの物理ブロックに書込んでいる。従って、例え、データの明白なアドレスがあろうとも、または、ブロック上のアドレスがあろうとも、データをアレイ中の空所に書込む。書込みを行っているブロックの次に利用可能なセクタに1つのデータを書込むと共に、ルックアップ(索引)テーブルを保持し、これに、論理アドレスと一緒に、ブロック上の物理的位置を記録する。この新規なアレイ構成によって、最初のブロックをセクタ毎に書込むことができ、更に、第2ブロックを同じ順序方法で書込むことができる。セクタ中のデータが変更され、その結果として、このセクタに再書込みが必要になると、そのデータを新しい物理的位置に書込み、ルックアップテーブル中のこのデータを変更して、新しい物理的位置を論理セクタ番号と一緒に記録すると共にこのデータが書込まれていた最初の位置を「汚損」とマークする。所定期間経過した後に、或る特別な汚損ブロックから有効情報を他のブロックへ移動すると共に、有効情報が移動したブロックの全体を消去することによってスペースを解放することが望ましい十分な数のブロックで満たされる。このことによって、すでに汚損としてマークされた消去済みブロックのすべてのセクタに等しいセクタの付加された番号を解放する効果がある。
【0018】
このアレイ構成の特別な効果としては、バックグラウンド中に、ブロックの消去を実行できることである。即ち、このアレイの設備が、書込みや読取り動作によって占有されていない時に、消去動作を行えるように構成したことである。このような方法によってフラッシュアレイに情報を書込むと共に、これから情報を受信している外部ホストは、例え、この消去動作が1秒または2秒も必要であったとしても、消去動作が行われていることに気が付かない。
【0019】
図1には、本発明が、実施されているフラッシュEEPROMメモリアレイ10がブロックダイヤグラム形態で表されている。このメモリアレイ10には、フラッシュEEPROMメモリの複数のブロックB0〜B15が設けられている。各ブロックには、一般的な行および列の形態で配列されたフローティングゲート電界効果トランジスタメモリセル(略せず)が設けられている。また、このブロックは、特定のメモリブロックや、特定の行および列を選択するために配列された回路が設けられており、これによって、その位置のメモリデバイスに書込みまたは読取ることができる。これらトランジスタメモリアレイおよびこれと組合わされたアクセス回路の詳細なレイアウトは、当業者にとって周知であるので、本例では図示しない。
【0020】
フラッシュメモリは、特別な設備が設けられたEPROMアレイと、本質的に同一であるので、アレイ全体(または、個々に消去可能なブロック)を、このアレイのすべてのメモリトランジスタのソース・ターミナルに高電圧値を同時に印加することによって消去できる。このような消去によってこれらメモリセルの各々を1の状態に設定される。この状態において、0または1をセルに書込むことができる。1によって、このセルが同じ1の状態に保持され、他方、0によってこのセルが0の状態に切換えられる。セルは、そのソースターミナルに、消去のための高電圧を印加しない限りにおいて、この0状態から1状態へ切換えることが出来ない。これらメモリトランジスタのすべてのソースターミナルを一緒に結合したので、0状態におけるセルは、全体のアレイが再び一旦、消去されるまでその状態に維持される。
【0021】
図1のアレイ10において、メモリのブロックB0〜B15が、アレイ10の第1チップ11上に配置されて描かれている。一実施例において、追加のシリコンチップ11(例えば30)の各々は、アレイ10の追加のブロックを有し、合計で240個のブロックが得られる。本例においては、実際に、いずれのブロックも一対のサブブロックから構成され、これらサブブロックを隣接のチップ上に配置できる。これらサブブロックは、入力と、出力と、以下のような選択導体を有している。即ち、奇数バイトのデータを一方のサブブロック中に記憶させ、偶数バイトのデータを他方のサブブロックに記憶させるような選択導体である。この観点から本明細書において、ブロックは、そのような一対のサブブロックを包含するものと考えられる。なお、図中「Valid」は「有効データ」を、「Dirty」は「汚損データ」を、「Unused」は「未使用箇所」をそれぞれ示している。
【0022】
一旦、いずれか1つのブロックを消去してしまうと、データを、全体ブロック上の何れの位置に書込むことができる。このアレイ10の書込み、読取り、および消去動作を、コントロール回路14によって制御し、このコントロール回路14は、ホストからデータやコマンドを受信する。このコントロール回路14には、マイクロプロセッサや、ROMが包含されており、このROMには、マイクロプロセッサを動作させるためのプロセスをストアすることができ、これによって本明細書に記載されている種々のコントロール動作を実行する。これらマイクロプロセッサおよびROMを用いて、本発明に従って処理を実行する。本発明の目的のために、このコントロール回路14には、コマンドステートマシーンおよびライトステートマシーンが設けられていると考えることもできる。一実施例においては、このコントロール回路14の一部分として説明されているが、これらコマンドステートマシーンおよびライトステートマシーンは、物理的には、各チップ11の一部分である。
【0023】
このコマンドステートマシーンによって、コントロール回路14をフラッシュEEPROMメモリアレイとの間のコマンドインターフェイスが得られる。コマンドステートマシーンによって、フラッシュメモリアレイへのすべてのデータ転送が制御される。また、コマンドステートマシーンによってホストへのデータの転送のシーケンスコントロールがなされるので、アレイへの書込みおよび読出しが適切な順序で行われる。このような目的のために使用されるコマンドステートマシーンおよびライトステートマシーンは、いずれも、本願の出願人に譲渡されているFandrich等の米国特許出願番号07/655,643明細書「コマンドステートマシーン」1991年2月11日出願、およびkynett等の米国特許出願番号07/654,375号明細書「不揮発性半導体メモリのプログラミングおよび消去方法および回路」1991年2月11日出願、に記載されている。
【0024】
ホストが、アレイにストア(記憶)すべきデータをこのアレイの或るブロック中に書込みを開始すると(このブロックは完全に消去済み)、ストアすべきデータが、セクタ毎に、順番にこのブロック中に書込まれ、これは、このブロックがデータで満たされるまで行われる。次に、書込み動作が、フリースペースを有する次のブロックに進む。書込み動作が完了した後では、いつでも、この情報をアレイ10から、このデータがストアされているブロックおよびセクタに対して質疑応答することによって読取りができる。
【0025】
上述した構成によれば、データを論理セクタ中にストアする。これらセクタは、一般的な電気−機械式ハードディスクにデータをストアする時に利用されている物理的なセクタと、これらセクタをあらゆる寸法とすることができること(以下詳述)を除いて類似している。セクタ中のデータを変更する場合に、この変更したデータが、アレイ10のブロックのいずれかの新しい空のセクタに書込まれる。一般的には、物理的な順序の次の空のセクタに書込まれる。古い情報の上に書込む代りに、このような書込みが行われる。これは、ストアされている全体ブロックを消去した場合にのみ、古い情報が再書込みされるからである。従って、新しい情報を充満されていないブロック(例えばブロックB7)上の新しい位置に書込むと共に、この古い位置に無効(汚損)のマークを付ける。これは、データが無効であることを表わすために、記憶しているデータに0を書込む(以下の方法によって行なう)ことによりマーク付けが行われる。アレイのブロックを消去することなく、あらゆるメモリセル中にゼロの値を書込むことが可能である。
【0026】
データを置換する装置のために、データが何処にストアされていることを表わすのに用いられるセクタ番号は、物理的なセクタ番号よりむしろ論理的なセクタ番号である。このことは、一般的な電気−機械式ハードディスクにデータを構築するために利用される物理的セクタと比較されるものである。このような方法を実現するために、ルックアップテーブル17(これは、コントローラ14と組合わされたRAM16の一部分にストアされている)を、アレイ10と一緒に利用するので、この結果、特定の論理セクタが存在するアレイ10中の物理的位置を決定出来る。
【0027】
また、データを置換できるこのような構成のために、アレイの各ブロックは、所定時間経過後に、「汚損」のマークが付けられ、記憶のためには利用不可能な沢山のエントリを有するようになる。従って、以前にストアされて変更されたデータでアレイ10が満たされると共に、記憶すべき新しい、または変更した情報のためのスペースを確保するために、ブロックから汚損された情報をクリアする必要が生じるようになる。一般に、アレイ10のブロックの内、最も汚損しているブロックが消去用に選ばれる。無効なデータは移動する必要がないので最小量のデータをアレイの他のブロックに移動させるだけでよいからである。有効な情報が、他のブロックに一旦書込まれ、新しいアドレスがルックアップテーブル17に記録されると、情報が読取られたそのブロックが消去される。次に、動作中、これが完全にクリーンなブロックとして置き換えられる。このような「クリーンアップ」動作が実行できるようにするために、ブロックのいくつかを、クリーンアップ動作が必要になった時に利用するために留保しておく必要がある。
【0028】
図2は、上述した本発明の効果を実現するために個々のブロックに対して利用される論理構成を図示するものである。また、この図2は、データがアレイ10の各ブロックにストアされる方法を理解するために有益な理想化された図面である。この図2は、短形の代表的なブロック20が図示されている。この短形領域には、複数個のトランジスタデバイスが設けられており、これらトランジスタを配列して、各ブロックに与えられる128KB(キロバイト)の記憶容量が得られる。前述したように、個々のブロックの領域は、実際には、2つの物理的チップ上のサブブロック間に分割されており、その一方は奇数バイトのデータを保持すると共に、他方は偶数バイトのデータを保持している。個々のトランジスタや、種々の行/列選択ラインおよびブロック動作用の他の導体が図示されていないが、フラッシュメモリを設計する技術分野における当業者にとっては周知なものである。
【0029】
図2から明らかなように、データをブロック20において、このブロックの頂部から開始して底部に近づく方向に記憶している。このブロック20の頂部において、このデータ用のアドレスとして、動作システムによって利用されている論理セクタ番号が、セクタ変換テーブル(またはヘッダ)と呼ばれている識別領域中にストアされる。例えば、最初のセクタ番号58112が、この頂部の第1エントリ用のヘッダ中にストアされている。各ヘッダ内のセクタ番号に続いて、種々の属性ビットおよびポインタ値がストアされる。本例における属性は、エントリの有効性の表示、訂正番号、そのデータを圧縮するかどうかの表示、およびこのエントリにはデータが含まれているかどうかを表すビットである。このエントリの有効性の表示は、少なくとも1ビットを記憶する。この1ビットは、このビットが1の値であれば、有効を表し、0の値であれば無効を表す。このビットを複製して、正しい有効性がストアされていることを保償する。一実施例によれば、この訂正番号は4ビット値である。エントリにデータが包含されているかどうかを表すビットを利用することによって、データを用いずにセクタを創設できるようになる。他の情報を特定の実施例においてヘッダ中にもストアできる。
【0030】
ポインタ値によって、ブロック20上の物理的アドレスを指示(ブロック上の物理的な開始アドレスからのオフセット)し、このブロック20には論理セクタ58112用のデータの第1バイトがストアされている。図2の矢印は、論理セクタ58112用のデータの第1バイトがストアされている物理的な位置を表している。記憶すべきデータ量は書込み動作時に知られているのので、このブロック20の一実施例においては、このデータが前に記憶されたデータまで書込みが行われることによって記憶される。このブロック20上の第1セクタである論理セクタ58112の場合に、オフセットとして記憶されたアドレスと共に開始しながら、データが書込まれる。このオフセットは、データ領域の開始点に対するセクタ番号58112と組合わされている。このデータ領域は、このブロック20の左上側の隅から延在している矢印によって表された開始ポインタ値によってマークが付されている。
【0031】
論理セクタ58112に書込まれるデータの量は固定されず、変化させることができる。コンピュータシステムと記憶システムとの間の代表的なインターフェイスにおいては、データを512バイトのセクタ中に記憶のため割当てる。図2には、第2の論理セクタ5と、セクタ5用のデータの第1バイトがストアされている、ブロック20上の物理的な位置を示すそのポインタが図示されている。このセクタ5用のデータが、最新に書込まれたデータセクタ(セクタ58112)の上から開始し、下方向へ延びる領域内にストアされるので、新しいデータセクタの最後の列がこのセクタ58112の第1列の直前の列中に存在する。新規なセクタの各々に対するデータは、最後に書込まれたセクタ用のデータの直上の列に書込まれるので、ほんの僅かな量のデータスペース(平均値として1バイト)だけが、この構成のブロック記憶計画中で無駄になるだけである。記憶領域へ転送すべきデータを圧縮する場合に、固定サイズの記憶構成において通常空白として残存している記憶スペースの量を除去することができる。このことは、明らかにデータフル状態のハードディスクにおける極めて多量の不使用スペースと対照的である。
【0032】
ブロック20のあらゆるセクタ内にストアされたデータを以下の方法によって検索することができる。即ち、セクタ用のヘッダに近接することによると共に、このデータの開始位置に対するポインタを検索し、更に、検索中のセクタ番号の直前に記憶された番号を有するセクタの開始位置に対するポインタを検索することによってデータの検索が実行できる。これら2つの値によって、セクタ中で検索されているデータ用の開始および終了位置を決定する。すでに指摘したように、論理セクタ番号は、チップ番号、ブロックおよびヘッダオフセット値を含むヘッダの物理的な位置と一緒に、ルックアップテーブル17中にストアされる(一実施例において、このテーブルは、アレイ10の他のコンポーネントを有するシリコンチップ上のスタテックRAM16内に設けられている)。このルックアップテーブルを、コントロール回路14のマイクロプロセッサによって維持している。
【0033】
図2は、またセクタ867用のヘッダを表している。このセクタはデータ(WOD)を用いずに書込まれる。
フラッシュメモリアレイによって利用されたデータを再書込みする異例の構成は、以下の条件を必要とする。即ち、メモリ割当てシステムによって、書込みまたは再書込みを必要とするデータに対して利用可能な、新規または新たに消去したフリーメモリスペースを継続的に形成することが要求される。このことによって、ブロックの或る数量が常時利用可能であり、これは汚損されたデータを保持するブロックがクリーンアップされると共に、これら汚損セクタが解放され得ることが要求されている。
【0034】
あらゆるメモリアレイの動作中に発生する問題点は、このメモリを読取り、書込み、消去する試みが時々失敗することである。これら失敗(故障)は多くの理由から生じるものである。これら故障のいくつかは、アレイの物理的な故障によるものである一方、他の故障は、外部信号の或る形態のものが原因となっている。アレイの故障は再度発生すると共に、これによってアレイに正しく書込み、読取りおよび消去が行われないために、許容することが出来ないと共に、このアレイの問題を生じさせる部分を動作から除去する必要がある。一方、繰返すことのない外部エラーはこの結果を必要としない。
【0035】
代表的な電気−機械式ハードディスクには、ディスクを設置する前に、テストが実行され、これによって不良セクタが存在するかどうかを決定する。発見されたセクタには不良のマークがこのディスク上のテーブル中に付与される。フラッシュメモリアレイは、サイズが変更されると共に、クリーンアップ毎およびセクタ毎に、物理的位置を変化する論理セクタを利用するので、このようなマーク付与方法を実行することは極めて困難である。従って、アレイの一部分が繰返しエラーを発生しているのが見つかると、このアレイの全体のブロックを動作から外す必要がある。このことによって困難な状況が生まれてしまう。その理由は、これによって汚損したブロックのクリーンアップ用に利用できるアレイのブロックの数を減少させてしまうからである。従って、特に、動作エラーを訂正する伝統的な処理を実行して、アレイからのブロックの不必要な移動を排除する必要がある。
【0036】
フラッシュメモリアレイの動作中に起る故障には種々の異なったタイプのものが存在する。本発明は2つのタイプの故障が関与している。ブロックメモリが経験する第1のタイプの故障は読取り動作中に発生するデータビット故障である。このような故障は、アレイの物理的条件によるものか、または非反復性エラーのある形態によって生じるものである。第2のタイプの故障は、フラッシュメモリの故障によるもので、書込みまたは消去動作を実行した時にプログラムするフラッシュメモリの故障である。
訂正することができるデータの読取り動作中に発生するデータビット故障は、ブロックをアレイから除去する原因とはならない。その理由は、アレイの機能を果たすには、汚損したブロックがクリーンアップされるときに、データを受けるように準備された多数の余分なブロックが存在する必要があるからである。これら余分なブロック無しでは、新規なまたは更新されたデータが現れたとき、アレイはそのデータ用のスペースを得ることが出来ない。
【0037】
図3は、読取りエラーの検出に応答して実行されるプロセスを表す。一般に、絶対条件ではないが、このようなプロセスをソフトウェアで実現すると共に、コントローラ14の一部分としてのマイクロプロセッサによって実行する。また、概して、このプロセスをROMに記憶させている。このROMもコントローラ14の一部分である。図3のプロセスは、アレイ用の可能な限り多くのメモリを利用するという要求に基づくものである。このプロセスは、セクタからデータを読出す動作が行われる第1ステップで開始する。全体のセクタが読取られ、次にこのデータをエラー検出回路に転送する。この検出回路は、コントロール回路14の一部分を成す。このエラー検出回路は、セクタ中にデータと一緒に記憶されて、エラーが発生したかどうかを決定する、エラー検出および訂正コードの4バイトを利用している。本発明の一実施例では、このエラー検出および訂正コードによって、単一および複数ビットエラーの検出が実行される。
【0038】
エラー検出および訂正コードの例および、このようなコードを利用して実行される動作の例は、例えば、Cinus Logic Press社発行(1990年)の「Practical Error Conection Design For Engineers」改訂第2版、GloverおよびTrent共著に詳しく述べられている。
【0039】
図6は、エラー検出/訂正の基本方法を示し、この方法を利用してエラーを訂正している。この方法は、行列形式で構成されたメモリアレイにおけるエラーの検出/訂正を、より良く説明するためにのみ、絵図的に表したもので、ここで利用される特定のエラー検出および訂正用コードは、本発明にとって重要なものではない。この目的のため、メモリセル位置の4つの列と4つの行のみが図示してある。この方法は、パリティチェック構成を利用しており、ここでは、各列と各行に値が割当ててあり、この割当ては、特定の列または行に記憶された1の値を有するビットの総数が、偶数または奇数であるかに依存するものである。例えば、第1、第3および第4列のように1の値の合計が奇数の場合に、1をストアしてこの合計値を偶数にする。また、第2、第3、第4行のようにこの合計が偶数の場合に、0をストアして、その合計が偶数のままとする。これらエラーチェックビットをそれを書込むようにデータから発生させると共に、これらチェックビットを、データが書込まれるように、このデータと一緒にセクタにストアする。一実施例によれば、このタイプのエラー検出/訂正データの4バイトがデータの各セクタと一緒にストアされる。このデータをセクタから読出す場合に、パリティチェックビットを読出したデータの値に対してチェックすることができる。若し、単一ビットエラーが発生すると、単一列および単一行に対するパリティビットが、読出した値の合計値に一致しないことがわかる。例えば、第3列と第3行との交差点においてストアされている1の値を0として読出した場合に、この列のパリティ値が0であるのに、この列用の記憶したパリティビットは1であり、更に、この行用のパリティ値が1であるのに、記憶したパリティビットが0である。エラーチェック比較動作中のこれら2つの失敗によって、この交差点におけるビットが正しくないことが検出されると共に、このビットを適切な1値に訂正できるようになる。
【0040】
図3に示したエラー検出ステップが一旦実行されると、エラーが発生しない場合には、このステップは直ちに完了状態に移り、それ以上のステップを要求しなくなる。セクタから読取ったデータをホストによって利用できる。
【0041】
また、このエラー検出ステップ中にエラーを検出すると、この処理ステップは、ブロックがクリーンアップ用にマーク付けされるステップまで移動する。この結果、有効データを他のブロックへ移動すると共に、このブロックを優先順位で消去する。このマーク作業は、エラー検出回路によって信号を発生させることによって完了し、このエラー検出回路によってエラー検出用の欠陥読取りプロセスを通知する。次に、この欠陥読取りプロセスによって信号を発生させ、この信号を利用して、RAM16中に設けられた、クリーンアップ処理用のコントロール回路14のマイクロプロセッサによって保持されたクリーンアップデータ構造にマークを付けている。このデータ構造は、特定のブロックのアドレスを表すと共に、この特定ブロックを優先順位でクリーンアップすべきことを表す。このクリーンアップ処理はその信号を受信していることを表し、更に、この処理が作動開始した時は何時でもこれに対応するようになる。このようなクリーアップ処理は、本願発明と同一出願日で、同一出願人へ譲渡されたS. Wellsによる「浮動セクタデータを記憶する固体メモリディスクをクリーンアップする方法」と題する米国特許出願第 号明細書に詳述されている。
【0042】
優先的にクリーンアツプするためにブロックにマークを付けた後で、この処理を、セクタ中のデータを再度読出すステップまで移動する。この処理ステップの動作スピードは、最初の処理ステップに比べて極めて遅いスピードで実行する。このように、情報を低速度で再び読出す理由は以下の通りである。即ち、フラッシュEEPROMメモリアレイ中のブロックから読出動作を行なっている時に発生するエラーの大部分が原因であることが見つかった。これは、何回かの切換動作の後では、メモリセルによって発生された信号に対して、データを読み取るようにレベルを合わせるために長時間が必要となるからである。このデータは完全に良好なものであると共に、そのようなセクタに対する読出し動作を低下させる方法が見つかったら、このセクタからそのデータを読出すことが可能となる。読出しエラーが検出された場合の低速読出し動作を自動的に実行する回路は、本願と同一出願日に出願され、同一出願人に譲渡された米国特許出願第−−−−号、(S. Wells発明)の「半導体メモリ中の読取り動作の信頼性を改善する方法および装置」に、開示されている。そのような読出し動作の再試行において、この情報をエラー無しで読取った場合に、この処理は完了し、このエラーは非反復性のものであると考えられ、単純に無視できるものである。読取り動作を低速化する処理が確立されたために、データを継続してアレイの領域に書込んだり、読取ることができる。この領域を利用し乍ら、データの損失が発生しないと共に、このエラー付きブロックに対して、クリーンアップの優先順位がすでに付けられているので、このブロックをアレイの動作部分として残す。
【0043】
しかし乍ら、再読出動作中に、第2エラーが発生すると、このエラーは、より低速度の読取り動作によって補正できない1でないことがわかる。従って、このフロー処理は、コントロール回路14のマイクロプロセッサ上で走るエラー訂正のソフトウェア処理によって、エラー訂正が実行されるステップへ移り、このエラー訂正は、情報の各セクタでストアされたエラー検出および訂正データの4バイトを利用して行われる。このエラー訂正は、公知技術であると共に、上述した方法で実行される。すでに指摘したように、この4バイトの情報によって、特定のセクタを読取る動作中に発生する単一およびマルチビットエラーの訂正を実行できる。このエラー訂正が成功した場合に、このフロー処理を終了する。
【0044】
このブロックを依然としてサービス可能状態のままに残すようなこの結果は、このフロー処理によって、このデータを回復できる実際のビットエラー用の訂正結果であると考えられる。その理由は、このエラーは、訂正可能な1(これからデータを回復可能)であり、このブロックの記憶領域がアレイの全体動作に対して極めて価値のあるものであり、且つ、すでにマークを付したクリーンアップ優先度による完全な消去によって欠陥を完全に補修できるからである。
【0045】
しかし、エラー訂正動作が失敗し、且つ、データを回復出来なかった場合には、このことは、エラーのタイプがシングルビットエラーまたはマルチビットエラーでないことを表し、このエラーに対して、訂正コードおよび回路によって有効データを発生することが期待されている。従って、この訂正回路によって、失敗を表す信号を訂正のために発生する。このブロック上のデータ構造に割当てられたブロックの領域が、図2の矩形の底面に「21」として表示されており、この矩形形状によってブロックを構成している。この信号に応答して読取りプロセスによりマーク信号が発生され、このマーク信号によって、ブロックが故障であることを表示するために、この故障ブロックの部分21内の4バイトの質問可能な状態領域にマークが付与される。また、この信号に応答して、読取りプロセスは、クリーンアッププロセスによって利用されるクリーンアップデータ構造用の信号を発生させ、これによってクリーンアップ優先順位用のブロックにマークを付けると共に、クリーンアップ処理後、このブロックに不良のマークを付ける。このことによって、バックグラウンドクリーンアップ動作を変更する効果が得られ、この結果、このブロックから有効なデータを移動させると共に、最終的には、このブロックを不良のマークを付け、使用しないようにする。
【0046】
本発明の一実施例によれば、ブロックに不良のマークを付すためには、アレイを構築しているチップのすべての0ブロックのブロックデータ構造の240ビットスペース中に、表示を付すことによって実現する。このスペースは、図2の番号21で示されている各ブロック上のデータ構造に割当てられたブロックの同一領域内に残っており、この21で示されたものは、ブロックを構成する矩形の底面に存在している。ブロック「0」のすべてにマークを付すことによって、不良であるブロックから離間した領域内にあるブロックは不良であることを表す表示がストアされる(更に、このため、このことは、その故障状態の表示を正しくストアすることに依存しないようになる)。また、すべてのチップ上のすべての「0」ブロックのブロックデータ構造のこの領域のコントローラ14により、特定のブロックが不良かどうかを表すための多数値を利用したポーリング動作によって、あらゆるブロックの状態を正しく表すことができる。このポーリング動作は、「0」ブロックの各々の不良ビットスペース(本例では、240ブロックに対して240ビットが割当てられている)を走査すると共に、各ブロック用の不良ブロック表示数を計数することによってシステムパワーアップで実行される。この場合、あるプリセット数(例えば多数値)より大きな数によって、ブロックが不良であることを表示している。
【0047】
図4は、アレイの1つのブロックの1つのセクタに書込みを実行している間にエラーが発生する状態の下で、アレイの回路の動作を取扱うプロセスを表している。電気−機械式ハードディスクのようなメモリアレイに書込み動作する場合のプロセスに比較して、このアレイに書込まれたデータの各ワードを、これを書込んで動作が正しく行われていたかどうかを決定するように、アレイ10のライトステートマシーンによってチェックする。同様のチェックが、このアレイのブロックを消去して、適切な消去動作が実行されるようになった時には何時でも実行される。これら動作の各々において、アレイに書込まれたデータ(消去動作では0値を書込む)とアレイに書込まれたデータとの間の比較動作は、これら書込の動作が実行された後に行う。このような動作の詳細については、上述した米国特許出願明細書「不揮発性半導体メモリのプログラミングおよび消去回路および方法」に記載されている。
【0048】
アレイへの書込み動作中に、比較チェックが行われて、エラーが発生したかどうかを決定するようになる。エラーが発生しない場合には、このプロセスを終了して、次のワードを書込む。エラーが発生した場合には、このプロセスは、テストのステップへ移動する。このテストによってプログラミング電圧が不良になったかどうかを決定する。即ち、プログラミングおよび消去動作には、このアレイと組合わされた他の機能を実行する場合に比べて高い電圧を必要する。プログラミング電圧が不良になった場合に、アレイ全体を書込み/消去動作に対して不作動とする。これには高電圧が要求される。しかし、このような高電圧を必要としない読取り動作が許可される。一般に、プログラミング電圧は、電力がシステムに再度供給された場合に得られるようになる。
【0049】
比較によって、プログラミングエラーが起ったが、プログラミング電圧が得られることを表す場合に、書込み動作が実行された特定のセクタに、ヘッダの属性フィールドの有効ビットで「汚損」とマーク付けされるので、この結果、このデータはホストによって利用されない。
【0050】
次のステップに移り、ここでは、論理セクタのデータ部分へのデータの書込み中より、むしろ、ヘッダ情報の書込み中に、エラーが発生したかどうかを決定する。データが不良であれば、以下に説明する一般的なタイプの応答を行う。しかし、ヘッダ情報の書込み中に書込みエラーが発生すると、ポインタ値によって表されたオフセットが不良となる。ここで、セクタの実際の寸法は変化するので、2つのポインタが各セクタのデータを決定するために必要となることに注目すべきである。このポインタを利用して、書込み中のセクタと続くセクタとから、前述した方法に従ってデータを検索するので、この故障は、セクタ中のデータを高い信頼度で回復することができないと共に、この故障したセクタに続いて、書込まれるすべてのセクタ中のデータに対するポインタを高い信頼度で配置できたと考えられないことを意味する。
【0051】
本発明のプロセスによれば、このような問題点を解決する方法が提供できる。ヘッダの書込み中エラーが起ると(即ち、データが書込まれる前に起ると)、不審信号がセクタに対して発生され、この不審信号の使い方は以下に説明する。次に、先行ヘッダを読取る。この先行ヘッダを、ブロック上の次の後続ヘッダ位置に書込むと共に、汚損マーク付けする。この複製ヘッダには、正確なオフセット値(ポインタ)が包含されており、この値から次の後続するセクタに書込むことができる。このことによって追加のセクタがブロックに対して書込まれる。この複製ヘッダ中の正確なポインタによって、書込みエラーを含んだ先行セクタの終端を指すことができる。従って、次のセクタをこのブロックに書込んだ時に、最後の良好なセクタが書込まれたブロックのデータスペースの終端まで書込みが行われる。このことによって、追加のセクタに対する正確なポインタが得られるだけでなく、データスペースが記憶用に失われないように出来るようになる。このデータスペースは、書込まれてはいないヘッダ書込みエラーと一緒に、セクタへ予め割当てられている。
【0052】
書込み動作中に、ヘッダまたはデータ領域中にエラーが発生したかどうか、このプロセスはチェックして、ブロック状態領域中のブロックの状態を決定する。書込み動作が実行されたブロックに対して、4バイトで「不審」とマーク付けることもでき、この4バイトは、ブロック状態領域内でこの目的のために割当てられている。更に、このフロープロセスによって、状態ブロックにおける不審バイトを再検査してこれを決定する。一実施例によれば、2バイトが第1不審マーク処理(Q1)に割当てられ、更に、2つの追加バイトを第2不審または故障マーク処理(Q2)に割当てられている。このような不審マーク処理には、故障したセクタのオフセット番号が包含されているので、その位置を決定できる。一実施例によれば、これら不審バイトもRAM16に記憶することができ、この結果、コントローラ14によって、書込み中のブロック上のブロック状態領域に向かうことなく、不審となるデータを、ブロックが保持していることを決定できる。また、全体の4バイトの代わりに、各ブロックのシングルビットをRAM16にストアすることもできる。このことによって、コントローラ14は、故障した書込み動作中に、RAM16中の小さなデータ構造を再検査することが可能となり、これによって、ブロック状態領域中のこのデータの実際の位置を決定する前に、このブロックはいくつかの不審なデータを有しているかどうかを決定する。
【0053】
このブロックがすでに「不審」とマーク付けされていなければ、このブロックを、ブロックステータス(状態)領域の不審テーブル中のブロック上に、不審状態とマーク付けする。これは、2つの第1Q1バイトにマーク付けすると共に、エラーのオフセットを表示することによって実行される。
【0054】
このように、ブロックに不審状態のマークを迅速に付けることは、極めて急激な結論のように見える。即ち、このブロックは不適切に動作していると結論しているように見えるが、アレイの構成においては、書込みが行われる回路によって、単一の書込みコマンドに応答して、書込み動作が複数回だけ、自動的に実行されるようになる。この書込み動作の詳細については、前述した米国特許出願「不揮発性半導体メモリのプログラミングおよび消去回路および方法」に記載されている。この結果、書込み故障を起した単一のホスト書込みコマンドによって、複数の書込み動作が実際に開始されると共に、追加の実行が余分なものとなる。
【0055】
次に、このフロープロセスは移動して、もう1つのブロックにおける書込み動作用の新規なフリースペースを割当てるようになる。全体のセクタを割当てられたフリースペースに書込む動作が行われると共に、エラーが起らなければ、そのように実行される。しかし乍ら、エラーが発生した場合に、この新しいブロックは、不審状態とマーク付けされない。このエラーはシステムにおける一般的なハードウェアエラーであると思われる。その理由としては、同一データを異なったブロックに書込む時に2つのエラーが発生する。従って、書込みおよび消去動作が実行されず、読取り動作のみが許可される。
【0056】
しかし乍ら、このことが第1不審状態マーク処理でなく、且つ、このブロックがすでにこの特殊なオフセットで不審状態としてマーク処理されていた場合に、このフロープロセスによって、これはステータスブロックにおける不審状態テーブルの再検査であることが見出される。このブロックに2回目の不審のマークが付されていない場合には、このフロープロセスは、フリーフラッシュメモリスペースの他の部分を単に割当てると共に、再度、書込み動作を実行する。属性テーブルにセクタが汚損とマーク付けされていた場合に、このセクタは、最終的にはクリーンアップ処理され、更に、このオフセットのために、ブロックステータス領域においてすでに不審状態としてマーク処理されている。このプロセスによって、単一位置における冗長なエラーが許容されるようになる。
【0057】
この不審状態テーブルの再検査によって、このフロープロセスが以下の状態を発見した場合には、このフロープロセスによって、このブロックに対して、第2マーク処理のオフセットと共に、ブロックステータス領域のQ2部分において2回目の不審状態としてマーク付け処理が行われる。即ち、この状態とは、ブロックは、現在のエラーのオフセットとは異なったオフセットで、一度、不審状態とマーク処理されている状態である。このような2個の不審状態マークの累積は、以下の状態を表示する。即ち、ブロックが故障し、更に、書込み欠陥プロセスにより、優先的なクリーンアップ動作に対してクリーンアップ処理(クリーンアップデータ構造を利用して)を通知すると共に、すべてのゼロブロックのブロックステータス領域におけるクリーンアップ処理の後で、このブロックを不良とマーク処理することを表示する。次に、このフロープロセスは新しいフリースペースをセクタに割当てると共に、マーク処理されていないブロックに対して説明したステップを経て前進する。これらのステップにおいて、このフロープロセスは、データのセクタをアレイの異なったチップの組に書込みを実行する。これが成功した場合には、このフロープロセスが完了する。もし、反対に成功しなかったら、第2ブロックを不審状態とマーク処理しないが、全体のアレイに対して、更に書込みおよび消去動作を実行しない。これは、そのブロックがフラッシュブロックでないことに基因して起るものである。これらフラッシュブロックは故障状態にあるが、アレイまたはこれと組合わせた回路の他の部分であると考えられる。
【0058】
不審状態テーブルの再検査によって、ブロックは、すでに2回、不審状態とマーク付け処理されていることが、フロープロセスにより見かけられた時には、優先的クリーンアップ用のクリーンアップ処理に対して、単に信号が発生され、これは各チップ上のゼロブロックのブロックステータス領域内で、このブロックに不良のマークを付し、次に、書込み動作用のスペースを再度割当てると共に、直前に説明したように、新しいスペースへの書込み動作を実行するようにする。
【0059】
図5は、消去動作中に生じる欠陥を処理する本発明による方法を説明するフローチャートである。このフロープロセスも、コントローラ14のROMに記憶されたソフトウェアで実行することができる。このプロセスは、書込み欠陥管理プロセスの開始時におけるプロセスと類似している。アレイの消去が実行されると、比較チェックが遂行され、これによって、エラーが生じたかどうかが決定される。エラーが発生していなければ、このフロープロセスが終了し、次のワードが書込まれる。反対に、エラーが発生していれば、このプロセスは前進して、このステップでは、プログラミング電圧Vppが欠陥を有しているかどうかチェックする。もし、Vppに欠陥があれば、アレイ全体に対して書込みおよび消去動作を禁止する。これら動作には高電圧が必要となっているが、このような高電圧を必要としない読取り動作が許可される。一般に、このプログラミング電圧は、システムに電力が再送給された時に得られるものである。
【0060】
また、比較チェックの結果として、消去エラーが発生したが、プログラミング電圧が得られると表示された場合には、この消去プロセスによって、クリーンアッププロセスに対して信号が発生される。このクリーンアッププロセスは、消去動作が実行された特定のセクタは、不良のマーク処理されるべきであることを表示するものである。次に、この消去欠陥管理プロセスが実行される。
【0061】
図7は、コントロール回路14のマイクロプロセッサによって実行されるプロセスを表しており、このプロセスは、クリーンアッププロセスが実行され、不良または不審なブロックをクリーンアップする場合には何時でも実行される。このクリーンアッププロセスは、ブロックを消去すべき時には、何時でも実行されるので、この結果として、汚損されたセクタ内で得られる過剰メモリを、システムによって利用状態から外すことができる。クリーンアップすべき特定のブロックの選択およびクリーンアップ処理によって実行されるデータの書込みおよびフリースペースへの書込みについての詳細な説明は、前述した米国特許出願明細書「フローティングセクタデータを記憶する固体メモリディスクのクリーンアップ方法」に開示されている。このクリーンアッププロセスの第1ステップにおいて、ブロックにストアされた有効セクタのすべてを読取ると共に、これら有効セクタを、セクタ毎に、他のブロックの不使用領域に書込む。この動作中、このプロセスによって、データが読取られるブロックはすでに不審状態のマークが付けられたかどうかを指示する。もし、このブロックは2回も不審状態のマークが付けられたか、または優先的にクリーンアップするためのマークが付けられ、更に不良とマーク付けすべきものであれば、このブロックに不良のマークが付与されるので、このブロックは、最早、読取りや書込み動作に使用されなくなる。もし、このブロックに、優先的にクリーンアップのマークが付けられていないか(更に、不良とマーク付けすべきであり)、または、2回の不審状態のマークが付けられていなければ、この不審状態およびこのブロックデータ構造をセーブすると共に、消去が実行される。消去動作が失敗した場合には、この失敗によってブロックは不良とマーク付けされてしまう。その理由は、消去出来ないブロックはプログラム出来ないからである。消去動作が成功した場合には、不審状態(ステータス)およびこのブロックデータ構造が消去されたブロックに再記憶されるようになる。次に、このブロックを利用可能状態に戻すことができる。
【0062】
上述した本発明の種々の処理動作を利用することによって、継続的に、メモリのブロックを利用可能状態に維持することができ、他方、これと同時に、これらブロックに記憶されたデータの無欠陥をユーザに対して確保することが可能となる。
本発明を、一実施例について説明したが、これに限定されず、技術的範囲内において、種々の変形や変更を加え得ることは当業者にとって自明である。従って、本発明を、前述の請求範囲によって考察すべきである。
【図面の簡単な説明】
【図1】本発明を実施するフラッシュメモリアレイのレイアウトを示すブロック線図。
【図2】図1に示したようなフラッシュメモリアレイの単一ブロックに、情報を記憶するパターンを示すブロック線図。
【図3】本発明による、フラッシュメモリアレイ中のメモリアレイの第1タイプの故障を処理する方法を表すフローチャート。
【図4】本発明による、フラッシュメモリアレイ中のメモリセルの第2タイプの故障を処理する方法の第2部分を示すフローチャート。
【図5】消去動作中に起る欠陥を処理する、本発明による方法のフローチャート。
【図6】エラー訂正に利用できる、エラー検出およびエラー訂正の基本的な方法を表す図。
【図7】本発明による、フラッシュメモリアレイ内において、図3と図4に示した処理を利用して発見したメモリセルの欠陥をクリーンアップする処理のフローチャート。
【符号の説明】
10 フラッシュEEPRPMメモリアレイ
14 コントロール回路
16 RAM
17 ルックアップテーブル
20 ブロック
21 ブロック領域
Claims (5)
- 個々に消去可能なメモリブロックに分割されたメモリアレイへの書込みにおける欠陥を管理する方法であって、
メモリアレイ中のメモリブロックごとにブロック状態テーブルを生成するステップを備え、
メモリブロックに対する第1のオフセットアドレスでのデータのプログラム動作を実行するステップを備え、
前記メモリブロックへの前記プログラム動作にエラーが生じたか否かを決定するステップを備え、
前記プログラム動作にエラーが生じたときには、前記ブロック状態テーブルを調べて前記メモリブロックに以前に生じたエラーを決定するステップを備え、
前記プログラム動作にエラーが生じたときにおいて、前記メモリブロックには前記第1のオフセットアドレスについて以前に生じた不審の表示がないときには、前記メモリブロックについて、第1の不審の表示を前記第1のオフセットアドレスの表示とともに、前記ブロック状態テーブル中に生成するステップを備え、
前記プログラム動作にエラーが生じたときにおいて、前記メモリブロックの前記第1のオフセットアドレスについて不審の表示が前記ブロック状態テーブル中に以前からあったときは、前記データについて新たなオフセットアドレスを割当てるステップを備え、
プログラム動作にエラーが生じたときにおいて、前記メモリブロックには不審の表示が以前からあるが当該オフセットアドレスには以前からの不審の表示がないときに、前記メモリブロックについて第2の不審の表示を、前記ブロック状態テーブル中に生成するステップを備え、
プログラム動作にエラーが生じたときにおいて、前記メモリブロックに2つの不審の表示があるときは、前記メモリブロックを不良とマークするステップを備え、前記データのために新たなブロックを割り当てるステップを備える
ことを特徴とする、メモリの欠陥管理方法。 - 個々に消去可能なメモリブロックに分割された複数のメモリアレイからの読出しにおける欠陥を管理する方法であって、
前記メモリアレイに不良ブロックの状態領域を生成するステップを備え、
メモリブロックに格納されたデータの読出し動作をオフセットアドレスについて実行するステップを備え、
前記メモリブロックへの前記読出し動作にエラーが生じたことを決定するステップを備え、
前記メモリブロックの優先的なクリーンアップを指示する信号を生成するステップを備え、
前記メモリブロックの優先的なクリーンアップの後で、前記メモリブロックが不良であると前記不良ブロックの状態領域にマークするステップを備え、
前記不良ブロックの状態領域に対してのポーリング動作を行って、不良のメモリブロックの決定が行えるよう前記メモリアレイ中のメモリブロックの状態を決定するステップを備え、
前記メモリアレイに不審状態テーブルを生成するステップを備え、
前記メモリブロックへの前記読出し動作にエラーが生じたとき、前記メモリブロックが不審である旨を前記オフセットアドレスとともに、前記不審状態テーブル中にマークするステップを備え、
前記メモリブロックの消去動作を、そのメモリブロックが不審であると2回マークされていると、前記不審状態テーブルの保持も含めて、実行するステップを備え、
前記メモリブロックの消去動作が不良となると、前記メモリブロックが不良であるとマークするステップを備え、
前記メモリブロックの消去動作が成功すると、前記メモリブロックの前記不審状態テーブルを除去するステップを備える
ことを特徴とするメモリの欠陥管理方法。 - 個々に消去可能なメモリブロックに分割された少なくとも1つのメモリアレイを有するメモリにおける欠陥を管理する方法であって、
第1のメモリアレイの第1のメモリブロックに対して、書込みデータのプログラム動作を実行するステップを備え、メモリブロックの複数のデータには無効なグループのデータと有効なグループのデータとが含まれ、
前記第1のメモリブロックに対する前記プログラム動作にエラーが生じたか否かを決定するステップを備え、
前記第1のメモリブロックへの前記プログラム動作にエラーが生じたとき、前記第1のメモリブロックについて、それが不審であるとマークするステップを備え、
前記第1のメモリアレイの第2のメモリブロックに対して、前記書込みデータのプログラム動作を実行するステップを備え、
前記第2のメモリブロックに対する前記プログラム動作にエラーが生じたか否かを決定するステップを備え、
前記第2のメモリブロックへの前記プログラム動作にはエラーが生じなかったとき、前記第1のメモリブロックの有効なグループの各データを他のブロックへ移動させる予定を、前記第1のメモリブロックについてマークするステップを備え、
前記第2のメモリブロックへの前記プログラム動作にエラーが生じたとき、前記第1のメモリアレイを不動作とするステップを備える
メモリの欠陥管理方法。 - 個々に消去可能なメモリブロックに分割された少なくとも1つのメモリアレイを有するメモリからの読出しにおける欠陥を管理する方法であって、
前記メモリアレイに不良ブロックの状態領域を生成するステップを備え、
前記メモリアレイ中のブロックに対して、メモリブロックに格納されたデータから要求されたデータを読出すための読出し動作を実行するステップを備え、メモリブロックには有効なデータ部分と無効なデータ部分とが含まれ、
前記メモリブロックへの前記読出し動作にエラーが生じたことを決定するステップを備え、
前記メモリブロックの優先的なクリーンアップを実行するステップを備え、その優先的なクリーンアップでは、前記メモリブロック中の有効な各データ部分が前記メモリアレイ内の他のメモリブロックへコピーされ、
前記メモリブロックの優先的なクリーンアップの後で、前記メモリブロックを不良であるとマークするステップを備え、
前記不良ブロックの状態領域に対してのポーリング動作を行って、不良のメモリブロックの決定が行えるよう前記メモリアレイ中のメモリブロックの状態を決定するステップを備える
ことを特徴とするメモリの欠陥管理方法。 - 個々に消去可能なメモリブロックに分割された複数のメモリアレイからの消去における欠陥を管理する方法であって、
前記メモリアレイのメモリブロックに対して消去用の高電圧で消去動作を実行するステップを備え、
前記消去動作にエラーが生じたことを決定するステップを備え、
前記消去用の高電圧が低いか否かを決定するステップを備え、
前記消去用の高電圧が低いとき、前記メモリアレイへの書込み動作を不動作にするステップを備え、
要求があれば、前記メモリアレイへの読出し動作を行うステップを備える
ことを特徴とするメモリの欠陥管理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US969749 | 1992-10-30 | ||
| US07/969,749 US5473753A (en) | 1992-10-30 | 1992-10-30 | Method of managing defects in flash disk memories |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06208799A JPH06208799A (ja) | 1994-07-26 |
| JP3695766B2 true JP3695766B2 (ja) | 2005-09-14 |
Family
ID=25515938
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29383293A Expired - Lifetime JP3695766B2 (ja) | 1992-10-30 | 1993-11-01 | メモリの欠陥管理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (3) | US5473753A (ja) |
| JP (1) | JP3695766B2 (ja) |
Families Citing this family (212)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6347051B2 (en) * | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
| GB2268817B (en) * | 1992-07-17 | 1996-05-01 | Integrated Micro Products Ltd | A fault-tolerant computer system |
| DE4332499A1 (de) * | 1993-09-24 | 1995-03-30 | Bosch Gmbh Robert | Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers |
| JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
| JPH08255432A (ja) * | 1995-03-20 | 1996-10-01 | Fujitsu Ltd | 記録再生装置及び交代処理方法 |
| JP3782840B2 (ja) | 1995-07-14 | 2006-06-07 | 株式会社ルネサステクノロジ | 外部記憶装置およびそのメモリアクセス制御方法 |
| US6170066B1 (en) * | 1995-09-29 | 2001-01-02 | Intel Corporation | Power-off recovery management for sector based flash media managers |
| US6330688B1 (en) * | 1995-10-31 | 2001-12-11 | Intel Corporation | On chip error correction for devices in a solid state drive |
| JPH09146849A (ja) * | 1995-11-21 | 1997-06-06 | Nec Corp | 情報処理システム及びそのメモリ再構成方法 |
| US5832526A (en) * | 1996-01-24 | 1998-11-03 | Symantec Corporation | Method and apparatus using slack area of file storage structures for file reconstruction |
| WO1997032253A1 (fr) | 1996-02-29 | 1997-09-04 | Hitachi, Ltd. | Dispositif de memoire a semi-conducteur presentant des cellules defaillantes |
| US5818755A (en) * | 1996-10-16 | 1998-10-06 | Fujitsu Limited | Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same |
| US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
| US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
| US6182188B1 (en) * | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US6088759A (en) | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US5835430A (en) * | 1997-07-25 | 1998-11-10 | Rockwell International Corporation | Method of providing redundancy in electrically alterable memories |
| US6360346B1 (en) * | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
| US6182266B1 (en) * | 1997-09-12 | 2001-01-30 | Lucent Technologies, Inc. | Self-auditing protection method for sorted arrays |
| US6173291B1 (en) * | 1997-09-26 | 2001-01-09 | Powerquest Corporation | Method and apparatus for recovering data from damaged or corrupted file storage media |
| JPH11119923A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体 |
| US6182239B1 (en) * | 1998-02-06 | 2001-01-30 | Stmicroelectronics, Inc. | Fault-tolerant codes for multi-level memories |
| US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
| JP3421581B2 (ja) * | 1998-06-29 | 2003-06-30 | 株式会社日立製作所 | 不揮発性半導体メモリを用いた記憶装置 |
| JP2000067574A (ja) * | 1998-08-21 | 2000-03-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
| JP2000076117A (ja) * | 1998-08-31 | 2000-03-14 | Kano Densan Hongkong Yugenkoshi | 電子機器及びその制御方法及び記憶媒体 |
| JP3730423B2 (ja) * | 1998-11-24 | 2006-01-05 | 富士通株式会社 | 半導体記憶装置 |
| US6260156B1 (en) | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
| US6247152B1 (en) | 1999-03-31 | 2001-06-12 | International Business Machines Corporation | Relocating unreliable disk sectors when encountering disk drive read errors with notification to user when data is bad |
| US6332204B1 (en) | 1999-03-31 | 2001-12-18 | International Business Machines Corporation | Recovering and relocating unreliable disk sectors when encountering disk drive read errors |
| US6426928B1 (en) | 1999-03-31 | 2002-07-30 | International Business Machines Corporation | Ability to distinguish true disk write errors |
| 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 |
| KR100367295B1 (ko) * | 2000-03-13 | 2003-01-09 | 엘지전자 주식회사 | 광디스크 구동장치의 지역정보 기록장치 및 기록방법 |
| US20020032828A1 (en) * | 2000-05-10 | 2002-03-14 | Seagate Technology, Llc | Seamless defect management conversion |
| FR2809223A1 (fr) * | 2000-05-17 | 2001-11-23 | Schlumberger Systems & Service | Effacement d'eeprom en temps masque |
| US6438638B1 (en) | 2000-07-06 | 2002-08-20 | Onspec Electronic, Inc. | Flashtoaster for reading several types of flash-memory cards with or without a PC |
| US7295443B2 (en) | 2000-07-06 | 2007-11-13 | Onspec Electronic, Inc. | Smartconnect universal flash media card adapters |
| JP3726663B2 (ja) * | 2000-09-07 | 2005-12-14 | 日産自動車株式会社 | 電子制御装置の制御データ記憶装置 |
| JP4031190B2 (ja) * | 2000-09-29 | 2008-01-09 | 株式会社東芝 | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 |
| JP4323707B2 (ja) | 2000-10-25 | 2009-09-02 | 富士通マイクロエレクトロニクス株式会社 | フラッシュメモリの欠陥管理方法 |
| JP3674531B2 (ja) * | 2001-04-12 | 2005-07-20 | 株式会社日立製作所 | ファイル管理方法、ファイル管理装置、プログラム |
| US6854071B2 (en) * | 2001-05-14 | 2005-02-08 | International Business Machines Corporation | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system |
| US7237156B1 (en) | 2001-08-03 | 2007-06-26 | Netlogic Microsystems, Inc. | Content addressable memory with error detection |
| US7283380B1 (en) | 2001-08-03 | 2007-10-16 | Netlogic Microsystems, Inc. | Content addressable memory with selective error logging |
| US7257763B1 (en) | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
| US7043673B1 (en) | 2001-08-03 | 2006-05-09 | Netlogic Microsystems, Inc. | Content addressable memory with priority-biased error detection sequencing |
| US7177197B2 (en) | 2001-09-17 | 2007-02-13 | Sandisk Corporation | Latched programming of memory and method |
| US6741502B1 (en) | 2001-09-17 | 2004-05-25 | Sandisk Corporation | Background operation for memory cells |
| US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
| US6978343B1 (en) * | 2002-08-05 | 2005-12-20 | Netlogic Microsystems, Inc. | Error-correcting content addressable memory |
| JP2006500723A (ja) | 2002-09-26 | 2006-01-05 | エルジー エレクトロニクス インコーポレーテッド | 追記型光記録媒体上の欠陥領域を管理する方法、およびこの方法を用いた光記録媒体 |
| CA2479505C (en) | 2002-09-26 | 2012-12-18 | Lg Electronics Inc. | Optical disc, method and apparatus for managing a defective area on an optical disc of write once type |
| KR20040027259A (ko) | 2002-09-26 | 2004-04-01 | 엘지전자 주식회사 | 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법 |
| US7233550B2 (en) | 2002-09-30 | 2007-06-19 | Lg Electronics Inc. | Write-once optical disc, and method and apparatus for recording management information on write-once optical disc |
| KR20040028469A (ko) | 2002-09-30 | 2004-04-03 | 엘지전자 주식회사 | 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법 |
| US7093071B2 (en) * | 2002-10-09 | 2006-08-15 | Intel Corporation | Queued copy command |
| KR101008641B1 (ko) | 2002-12-11 | 2011-01-17 | 엘지전자 주식회사 | 1회 기록가능한 광디스크에 있어서의 중첩기록 관리방법 및장치 |
| ES2340844T3 (es) | 2002-12-11 | 2010-06-10 | Lg Electronics, Inc. | Metodo de gestion de sobrescritura y metodo de grabacion de informacion de gestion de un disco optico de una sola escritura. |
| US6810347B2 (en) * | 2003-01-09 | 2004-10-26 | Micrel, Inc. | Robust power-on meter and method |
| US7355934B2 (en) | 2003-01-27 | 2008-04-08 | Lg Electronics Inc. | Optical disc of write once type, method, and apparatus for managing defect information on the optical disc |
| US7372788B2 (en) | 2003-01-14 | 2008-05-13 | Lg Electronics Inc. | Method for managing defective area on write-once optical recording medium, and optical recording medium using the same |
| TWI334595B (en) | 2003-01-27 | 2010-12-11 | Lg Electronics Inc | Optical disc, method and apparatus for managing a defective area on an optical disc |
| US20040160799A1 (en) | 2003-02-17 | 2004-08-19 | Park Yong Cheol | Write-once optical disc, and method and apparatus for allocating spare area on write-once optical disc |
| US7499383B2 (en) | 2003-02-21 | 2009-03-03 | Lg Electronics Inc. | Write-once optical disc and method for managing spare area thereof |
| TWI335587B (en) | 2003-02-21 | 2011-01-01 | Lg Electronics Inc | Write-once optical recording medium and defect management information management method thereof |
| US7188271B2 (en) | 2003-02-25 | 2007-03-06 | Lg Electronics Inc. | Write-once optical disc, and method and apparatus for recording management information on write-once optical disc |
| TWI291168B (en) | 2003-02-25 | 2007-12-11 | Lg Electronics Inc | Defect management method for optical recording medium and optical recording medium using the same |
| TWI278851B (en) | 2003-02-25 | 2007-04-11 | Lg Electronics Inc | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
| JP2004265162A (ja) * | 2003-03-03 | 2004-09-24 | Renesas Technology Corp | 記憶装置およびアドレス管理方法 |
| WO2004079740A1 (en) | 2003-03-04 | 2004-09-16 | Lg Electronics Inc. | Method for recording on optical recording medium and apparatus using the same |
| TWI405196B (zh) | 2003-03-13 | 2013-08-11 | Lg Electronics Inc | 光學記錄媒體及其缺陷區域管理方法及其裝置 |
| RU2377667C2 (ru) | 2003-05-09 | 2009-12-27 | Эл Джи Электроникс Инк. | Носитель записи, имеющий структуру данных для управления, по крайней мере, областью данных носителя записи, и способы и устройства записи и воспроизведения |
| MXPA05012044A (es) | 2003-05-09 | 2006-02-03 | Lg Electronics Inc | Disco optico de una sola escritura, metodo y aparato par recuperacion de informacion de administracion de disco del disco optico de una sola escritura. |
| AU2004237020B2 (en) | 2003-05-09 | 2009-10-22 | Lg Electronics Inc. | Write once optical disc, and method and apparatus for recovering disc management information from the write once optical disc |
| RU2349973C2 (ru) | 2003-05-09 | 2009-03-20 | Эл Джи Электроникс Инк. | Носитель записи, имеющий структуру данных для управления, по крайней мере, областью данных носителя записи, и способы и устройства записи и воспроизведения |
| US8223607B2 (en) | 2003-07-04 | 2012-07-17 | Lg Electronics Inc. | Method and apparatus for managing a overwrite recording on optical disc write once |
| DE602004020992D1 (de) | 2003-07-14 | 2009-06-18 | Lg Electronics Inc | Einmalbeschreibbarer optischer datenträger, verfahren und vorrichtung zum aufzeichnen von verwaltungsinformationen auf einem einmalbeschreibbaren optischen datenträger |
| KR20050009031A (ko) | 2003-07-15 | 2005-01-24 | 엘지전자 주식회사 | 1회 기록 가능한 광디스크 및 광디스크의 관리정보 기록방법 |
| KR101014703B1 (ko) | 2003-07-15 | 2011-02-21 | 엘지전자 주식회사 | 광디스크의 결함영역 관리방법 및 광디스크의 기록방법과기록재생장치 |
| US7313065B2 (en) | 2003-08-05 | 2007-12-25 | Lg Electronics Inc. | Write-once optical disc, and method and apparatus for recording/reproducing management information on/from optical disc |
| DK1652174T3 (da) | 2003-08-05 | 2010-06-07 | Lg Electronics Inc | Engangs-skrivbar optisk disk og fremgangsmåde og apparat til optagelse/reproduktion af styringsinformationer på/fra den optisk disk |
| EP1665261B1 (en) | 2003-09-08 | 2013-11-27 | LG Electronics Inc. | Write-once optical disc, and method and apparatus for recording management information on the write-once optical disc |
| KR101041819B1 (ko) | 2003-09-08 | 2011-06-17 | 엘지전자 주식회사 | 1회 기록가능한 광디스크 및 광디스크상에 관리 정보를기록하기 위한 방법 |
| CA2537889C (en) | 2003-09-08 | 2013-10-22 | Lg Electronics Inc. | Write-once optical disc, and method and apparatus for recording management information on the write-once optical disc |
| KR100964685B1 (ko) | 2003-10-20 | 2010-06-21 | 엘지전자 주식회사 | 1회 기록가능한 광디스크 및 광디스크의 기록재생방법과기록재생장치 |
| JP4284200B2 (ja) * | 2004-01-28 | 2009-06-24 | 株式会社東芝 | 不揮発性半導体記憶システム |
| JP2005258851A (ja) * | 2004-03-12 | 2005-09-22 | Renesas Technology Corp | メモリカード |
| KR101113866B1 (ko) | 2004-03-19 | 2012-03-02 | 엘지전자 주식회사 | 기록매체내에 기록되는 데이터 구조 및 데이터 기록방법과기록장치 |
| KR101024916B1 (ko) | 2004-03-19 | 2011-03-31 | 엘지전자 주식회사 | 1회 기록 가능한 고밀도 광디스크의 데이터 기록 방법 및장치 |
| KR101049117B1 (ko) | 2004-06-08 | 2011-07-14 | 엘지전자 주식회사 | 1회 기록 가능한 광디스크 및 광디스크의 관리정보 기록방법, 디스크 클로징 방법 및 기록재생 장치 |
| KR101014727B1 (ko) | 2004-06-23 | 2011-02-16 | 엘지전자 주식회사 | 1회 기록 가능한 광디스크의 중첩 기록 방법 및 장치 |
| KR101041811B1 (ko) | 2004-08-02 | 2011-06-17 | 엘지전자 주식회사 | 광 저장매체의 기록 재생 방법 및 장치 |
| KR101012378B1 (ko) | 2004-08-16 | 2011-02-09 | 엘지전자 주식회사 | 광 저장매체의 기록 재생 방법 및 장치 |
| EP1789968A4 (en) * | 2004-09-14 | 2012-05-16 | Lg Electronics Inc | RECORDING MEDIUM, METHOD AND APPARATUS FOR RECORDING AND REPRODUCING DATA ON THIS MEDIUM |
| US7613874B2 (en) | 2004-10-14 | 2009-11-03 | Lg Electronics, Inc. | Recording medium, and a method and apparatus for overwriting data in the same |
| KR100643288B1 (ko) * | 2004-11-16 | 2006-11-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
| KR100643287B1 (ko) * | 2004-11-19 | 2006-11-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
| US7304873B1 (en) | 2005-01-25 | 2007-12-04 | Netlogic Microsystems, Inc. | Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor |
| US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
| ITVA20050061A1 (it) * | 2005-11-08 | 2007-05-09 | St Microelectronics Srl | Metodo di gestione di un dispositivo di memoria non volatile e relativa memoria |
| KR101227485B1 (ko) | 2005-11-25 | 2013-01-29 | 엘지전자 주식회사 | 기록매체 및 기록매체의 결함관리 정보 기록방법과기록장치 |
| KR20070058292A (ko) | 2005-12-02 | 2007-06-08 | 엘지전자 주식회사 | 기록매체, 기록매체 기록재생 방법 및 장치와 기록매체클로징 방법 |
| US7490263B2 (en) * | 2006-01-17 | 2009-02-10 | Allen King | Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data |
| US7609561B2 (en) * | 2006-01-18 | 2009-10-27 | Apple Inc. | Disabling faulty flash memory dies |
| US7793059B2 (en) * | 2006-01-18 | 2010-09-07 | Apple Inc. | Interleaving policies for flash memory |
| US7702935B2 (en) * | 2006-01-25 | 2010-04-20 | Apple Inc. | Reporting flash memory operating voltages |
| US20070174641A1 (en) * | 2006-01-25 | 2007-07-26 | Cornwell Michael J | Adjusting power supplies for data storage devices |
| US7861122B2 (en) | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
| TWI333145B (en) * | 2006-04-03 | 2010-11-11 | Quanta Storage Inc | Method for updating data in a flash rom |
| CN103280239B (zh) | 2006-05-12 | 2016-04-06 | 苹果公司 | 存储设备中的失真估计和消除 |
| US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
| US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
| US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
| US8244642B2 (en) * | 2006-06-22 | 2012-08-14 | Itron, Inc. | System and method for storing metering data while increasing memory endurance |
| US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
| US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
| KR100755718B1 (ko) * | 2006-09-04 | 2007-09-05 | 삼성전자주식회사 | 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법 |
| US7975192B2 (en) | 2006-10-30 | 2011-07-05 | 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 |
| 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 |
| US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
| US7593263B2 (en) | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
| 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 |
| US7913032B1 (en) | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
| US20080288712A1 (en) | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
| US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap 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 |
| 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 |
| 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 |
| CN101464834B (zh) * | 2007-12-19 | 2011-01-26 | 群联电子股份有限公司 | 闪存数据写入方法及使用此方法的控制器 |
| US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
| US8677221B2 (en) * | 2008-01-02 | 2014-03-18 | Apple Inc. | Partial voltage read of memory |
| 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 |
| 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 |
| US8156392B2 (en) | 2008-04-05 | 2012-04-10 | Fusion-Io, Inc. | Apparatus, system, and method for bad block remapping |
| TWI381390B (zh) * | 2008-04-10 | 2013-01-01 | Phison Electronics Corp | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
| US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
| US7924613B1 (en) * | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
| 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 |
| US8275929B2 (en) * | 2008-10-29 | 2012-09-25 | Macronix International Co., Ltd. | Memory and operating method thereof |
| US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
| US9063874B2 (en) | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
| US8516343B2 (en) * | 2008-11-10 | 2013-08-20 | Fusion-Io, Inc. | Apparatus, system, and method for retiring storage regions |
| 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 |
| US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
| US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
| US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
| 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 |
| KR101624969B1 (ko) * | 2009-05-26 | 2016-05-31 | 삼성전자주식회사 | 메모리 시스템 및 그것의 배드 블록 관리 방법 |
| US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
| US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
| US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
| US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
| US8910002B2 (en) * | 2009-08-24 | 2014-12-09 | OCZ Storage Solutions Inc. | NAND flash-based storage device with built-in test-ahead for failure anticipation |
| 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 |
| US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
| US20110230711A1 (en) * | 2010-03-16 | 2011-09-22 | Kano Akihito | Endoscopic Surgical Instrument |
| 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 |
| US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells 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 |
| US8493781B1 (en) | 2010-08-12 | 2013-07-23 | Apple Inc. | Interference mitigation using individual word line erasure operations |
| 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 |
| US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
| US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
| US8990631B1 (en) | 2011-03-03 | 2015-03-24 | Netlogic Microsystems, Inc. | Packet format for error reporting in a content addressable memory |
| EP2608211A1 (en) * | 2011-12-22 | 2013-06-26 | Fluiditech IP Limited | Method of testing a flash memory |
| US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
| US9251019B2 (en) | 2012-05-29 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system and method for managing solid-state retirement |
| KR20130136341A (ko) * | 2012-06-04 | 2013-12-12 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
| JP5910332B2 (ja) | 2012-06-07 | 2016-04-27 | 富士通株式会社 | 情報処理装置、試験方法、およびプログラム |
| US8953398B2 (en) | 2012-06-19 | 2015-02-10 | Sandisk Technologies Inc. | Block level grading for reliability and yield improvement |
| JP6102515B2 (ja) | 2013-05-24 | 2017-03-29 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
| US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
| US10387281B2 (en) | 2017-08-30 | 2019-08-20 | Micron Technology, Inc. | Flash memory block retirement policy |
| US11011223B2 (en) | 2019-08-27 | 2021-05-18 | Micron Technology, Inc. | Memory sub-system grading and allocation |
| US11175980B2 (en) | 2019-12-27 | 2021-11-16 | Seagate Technology Llc | Mitigation of solid state memory read failures |
| US11080129B2 (en) | 2019-12-27 | 2021-08-03 | Seagate Technology Llc | Mitigation of solid state memory read failures with peer based thresholds |
| US11340979B2 (en) | 2019-12-27 | 2022-05-24 | Seagate Technology Llc | Mitigation of solid state memory read failures with a testing procedure |
| US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
| CN113190179B (zh) * | 2021-05-26 | 2022-02-11 | 北京自由猫科技有限公司 | 提升机械硬盘使用寿命的方法、存储设备及系统 |
| US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BE759562A (fr) * | 1969-12-31 | 1971-04-30 | Ibm | Dispositif d'emmagasinage auxiliaire et methode mise en oeuvre |
| US4498146A (en) * | 1982-07-30 | 1985-02-05 | At&T Bell Laboratories | Management of defects in storage media |
| NL8303765A (nl) * | 1983-11-02 | 1985-06-03 | Philips Nv | Dataverwerkend systeem waarbij in het geheugen onbetrouwbare woorden zijn vervangen door een onbetrouwbaarheidsindicator. |
| US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
| US4660130A (en) * | 1984-07-24 | 1987-04-21 | Texas Instruments Incorporated | Method for managing virtual memory to separate active and stable memory blocks |
| US4763305A (en) * | 1985-11-27 | 1988-08-09 | Motorola, Inc. | Intelligent write in an EEPROM with data and erase check |
| US4802117A (en) * | 1985-12-16 | 1989-01-31 | Pitney Bowes Inc. | Method of preserving data storage in a postal meter |
| US4931997A (en) * | 1987-03-16 | 1990-06-05 | Hitachi Ltd. | Semiconductor memory having storage buffer to save control data during bulk erase |
| US5070474A (en) * | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
| US5075804A (en) * | 1989-03-31 | 1991-12-24 | Alps Electric Co., Ltd. | Management of defect areas in recording media |
| DE69024086T2 (de) * | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
| US5131089A (en) * | 1989-06-12 | 1992-07-14 | Grid Systems Corporation | Solid state disk drive emulation |
| US5077737A (en) * | 1989-08-18 | 1991-12-31 | Micron Technology, Inc. | Method and apparatus for storing digital data in off-specification dynamic random access memory devices |
| US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
| US5199033A (en) * | 1990-05-10 | 1993-03-30 | Quantum Corporation | Solid state memory array using address block bit substitution to compensate for non-functional storage cells |
| JP2709751B2 (ja) * | 1990-06-15 | 1998-02-04 | 三菱電機株式会社 | 不揮発性半導体記憶装置およびそのデータ消去方法 |
| JPH0447595A (ja) * | 1990-06-15 | 1992-02-17 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
| US5210867A (en) * | 1990-10-05 | 1993-05-11 | Bull Hn Information Systems Inc. | Method and apparatus for memory retry |
| GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
| GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
| KR960002006B1 (ko) * | 1991-03-12 | 1996-02-09 | 가부시끼가이샤 도시바 | 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치 |
| US5270979A (en) * | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
| 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 |
| US5412793A (en) * | 1991-12-03 | 1995-05-02 | Intel Corporation | Method for testing erase characteristics of a flash memory array |
| US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
| US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
-
1992
- 1992-10-30 US US07/969,749 patent/US5473753A/en not_active Expired - Lifetime
-
1993
- 1993-11-01 JP JP29383293A patent/JP3695766B2/ja not_active Expired - Lifetime
-
1995
- 1995-08-07 US US08/511,990 patent/US5577194A/en not_active Expired - Lifetime
-
1996
- 1996-08-12 US US08/700,676 patent/US6014755A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5473753A (en) | 1995-12-05 |
| US6014755A (en) | 2000-01-11 |
| US5577194A (en) | 1996-11-19 |
| JPH06208799A (ja) | 1994-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3695766B2 (ja) | メモリの欠陥管理方法 | |
| US5740349A (en) | Method and apparatus for reliably storing defect information in flash disk memories | |
| US5581723A (en) | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array | |
| JP3226042B2 (ja) | フラッシュEEpromシステム | |
| US5341339A (en) | Method for wear leveling in a flash EEPROM memory | |
| EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
| KR100595909B1 (ko) | 저장장치 및 플래시 메모리 장치내 정보 액세스 방법 및 정보 저장 관리 방법 | |
| US6405332B1 (en) | Storage device and alternate processing method for defective sectors of the same | |
| US5535328A (en) | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells | |
| JP3485938B2 (ja) | 不揮発性半導体メモリ装置 | |
| US7492660B2 (en) | Flash EEprom system | |
| KR0128218B1 (ko) | 일괄 소거형 비휘발성 메모리 | |
| US6462992B2 (en) | Flash EEprom system | |
| US5379262A (en) | Nonvolatile semiconductor memory device | |
| EP1729304A1 (en) | Space management for managing high capacity nonvolatile memory | |
| US5566194A (en) | Method and apparatus to improve read reliability in semiconductor memories | |
| KR930010981A (ko) | 플래시메모리를 사용한 기억장치 | |
| JP2004342126A (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
| JP2009512119A (ja) | 訂正済みデータの格納および処理方法 | |
| JP5180957B2 (ja) | メモリコントローラ、半導体記録装置及び書き換え回数通知方法 | |
| JPH11282765A (ja) | フラッシュメモリを使用した外部記憶装置 | |
| JP3670151B2 (ja) | フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ | |
| JP2003242788A (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
| KR20010091565A (ko) | 플래시 메모리 구조 및 그 관리 방법 | |
| JPH11339485A (ja) | フラッシュEEpromシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040323 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040727 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040730 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041027 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050506 |
|
| 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: 20050607 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050628 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |