JP2004152299A - 不揮発性メモリシステム内での使用不可能なブロック管理 - Google Patents

不揮発性メモリシステム内での使用不可能なブロック管理 Download PDF

Info

Publication number
JP2004152299A
JP2004152299A JP2003368138A JP2003368138A JP2004152299A JP 2004152299 A JP2004152299 A JP 2004152299A JP 2003368138 A JP2003368138 A JP 2003368138A JP 2003368138 A JP2003368138 A JP 2003368138A JP 2004152299 A JP2004152299 A JP 2004152299A
Authority
JP
Japan
Prior art keywords
defective
physical
block
volatile memory
storage element
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.)
Granted
Application number
JP2003368138A
Other languages
English (en)
Other versions
JP4361774B2 (ja
JP2004152299A5 (ja
Inventor
Robert C Chang
シー. チャン ロバート
Bahman Qawami
クァワミ バーマン
Farshid Sabet-Sharghi
サベット−シャーギ ファーシッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Publication of JP2004152299A publication Critical patent/JP2004152299A/ja
Publication of JP2004152299A5 publication Critical patent/JP2004152299A5/ja
Application granted granted Critical
Publication of JP4361774B2 publication Critical patent/JP4361774B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 欠陥ブロックとして識別される、潜在的に使用可能なブロックが予備ブロックとして用いられることを可能にする。
【解決手段】 本発明は、不揮発性メモリ124内で欠陥があるとして識別された少なくとも1つの物理ブロックに試験を受けさせる工程であって、該試験は、欠陥がある物理ブロックが使用可能であるか否かを判定するように構成される、工程と、欠陥があるとして識別された該物理ブロックが該試験に合格した場合を判定する工程と、欠陥があるとして識別された該物理ブロックが該試験に合格したことが判定された場合、欠陥があるとして識別された該物理ブロックを使用可能な物理ブロックとして識別する工程とを包含する。
【選択図】 図5

Description

(本発明の背景)
(1.発明の分野)
本発明は、概して、大容量デジタルデータ格納システムに関する。より具体的には、本発明は、欠陥があるか、または使用不能な物理ブロックが管理されることを可能にして、予備ブロックが必要とされる場合、成長欠陥を有する欠陥ブロックが、場合によっては再生利用(reclaimed)され得るシステムおよび方法に関する。
(2.関連技術の説明)
フラッシュメモリ格納システム等の不揮発性メモリシステムは、このようなメモリシステムの物理サイズが小さく、繰返し再プログラムされるという不揮発性メモリの能力のために益々使用されている。フラッシュメモリ格納システムの小さい物理サイズは、益々普及しつつあるデバイスにおけるこのような格納システムの使用を容易にする。フラッシュメモリ格納システムを用いるデバイスは、デジタルカメラ、デジタルカムコーダ、デジタルミュージックプレーヤー、ハンドヘルドパーソナルコンピュータおよびグローバルポジショニングデバイスを含むがこれらに限定されない。フラッシュメモリ格納システムに含まれる不揮発性メモリに繰り返し再プログラムする能力は、フラッシュメモリ格納システムが使用かつ再使用されることを可能にする。
一般に、フラッシュメモリ格納システムは、フラッシュメモリカードおよびフラッシュメモリチップセットを含み得る。フラッシュメモリチップセットは、通常、フラッシュメモリコンポーネントおよびコントローラコンポーネントを含む。通常、フラッシュメモリチップセットは、埋め込みシステムに組み入れられるように構成され得る。このようなアセンブリまたはホストシステムの製造業者は、通常、コンポーネントの形態のフラッシュメモリ、および他のコンポーネントを取得し、その後、フラッシュメモリおよび他のコンポーネントをホストシステムに組み入れる。
フラッシュメモリが製造される場合、通常、製造欠陥(manufacturing defects)または工場欠陥(factory defects)は、フラッシュメモリの製造業者によって識別される。一般に、フラッシュメモリが含む、欠陥があるか、または使用不能な物理ブロックが特定の数または特定の比率よりも小さい場合、そのフラッシュメモリは、例えば、フラッシュメモリカードの製造業者に販売され得る。欠陥ブロックは、例えば、電荷を保持することの失敗し得、かつフラッシュメモリの製造業者によって適用される応力試験ではねられ得る。工場欠陥が識別された場合、フラッシュメモリの製造業者は、工場欠陥を含むブロックを欠陥があるとして有効にマークし得る。
工場欠陥を含むフラッシュメモリにおける欠陥ブロックは、フラッシュメモリに電力が印加された場合に走査プロセスを用いて識別され得る。一般に、走査プロセスは、さらに、成長欠陥(growing defect)を含む欠陥ブロック、すなわち、一旦使用可能であったが使用不能になったブロックを識別する。走査プロセスが欠陥ブロックを識別する一方で、走査プロセスは、通常、工場欠陥を有する欠陥ブロックと、成長欠陥を有する欠陥ブロックとを区別しない。欠陥ブロックの識別は、欠陥ブロックが使用されることを防止することによってフラッシュメモリシステム全体の完全性(integrity)を保証するために重要である。例えば、データを保持することができない欠陥ブロックがデータを格納するために用いられた場合、データは失われ得る。
通常、フラッシュメモリに電力が印加されると、欠陥ブロックが走査プロセスによって識別された場合、欠陥ブロックの一時的または揮発性リストが生成され得る。図1を参照して、メモリシステム内の欠陥ブロックのリストをコンパイルする1つの従来の方法と関連する工程が記載される。欠陥があるかまたは使用不能ブロックのリストをコンパイルするプロセス200は、メモリシステムに電力が供給される工程204にて開始する。一旦メモリシステムが電源投入されると、実質的にすべてのブロック、すなわち、メモリシステムの不揮発性メモリにおける物理ブロックが工程208の順序にて走査されて、欠陥ブロックを識別する。通常、最初にシステムが電源投入されてフォーマット化される場合、欠陥ブロックは、工場欠陥、すなわち、不揮発性メモリと関連する製造プロセスの間に初めて識別された欠陥を有するブロックのみを含む。次に続く電源投入(power up)プロセスにて、欠陥ブロックは、工場欠陥を有するブロックおよび成長欠陥を有するブロックの両方、あるいはメモリシステムが用いられている間に生じる欠陥を含み得る。
欠陥ブロックが識別された後、工程212において、バッファにて欠陥ブロックのリストが生成され得る。多くの場合、このリストは、メモリシステムと関連する揮発性バッファにて生成され、従って、メモリシステムから電力が除去された場合、リストは失われる。さらに、欠陥ブロックのリストは、通常、工場欠陥が原因で欠陥があるブロックと、成長欠陥が原因で欠陥があるブロックとを区別しない。そうではなく、リストにあるブロックは、通常、使用不能であるとして識別されるにすぎない。
工程216において、欠陥があるか、または使用不能ブロックは、使用が防止される。欠陥ブロックの使用の防止は、欠陥ブロックのリストにおけるブロックが、予備ブロックとしての使用のためにアクセスされないことを確実にすることを含み得る。従って、リストに含まれないブロックは、工程220にて、データまたは情報の格納における使用のために用いられる。時折、欠陥ブロックのリストに含まれないブロックは、首尾よく読み出され得ず、首尾よく書き込まれ得ず、または首尾よく消去され得ない。換言すると、欠陥ブロックのリストに含まれないブロックは、例えば、生じた成長欠陥が原因等のように欠陥があり得る。従って、プロセスの流れは、工程220から工程224に進み、ここで、欠陥ブロックのリストに含まれないブロックが実際には欠陥があることが判定される。
工程224にて、ブロックに欠陥がないことが判定された場合、プロセスの流れは工程220に戻り、ここで、リストに含まれないブロックが引き続き使用される。あるいは、工程224において、リストに含まれないブロックに欠陥があることが判定された場合、このブロックは、工程228にて欠陥ブロックのリストに追加される。一旦このブロックが欠陥ブロックのリストに追加されると、プロセスの流れは工程220に戻り、ここで、欠陥ブロックのリストに含まれないブロックが用いられる。
欠陥ブロックのリストの生成は、欠陥ブロックが使用されることを、通常、有効に防止
するが、多くの場合、リストにて識別されたブロックの少なくともいくつかが実際は使用可能であり得る。特に、成長欠陥を含む欠陥ブロックの少なくともいくつかは、実際、過酷なパターンを有する試験プロセスに合格し得る。すなわち、欠陥ブロックの少なくともいくつかは、実際には使用可能であることが証明され得る。いくつかの場合において、特定の「極端」な環境すなわちまれな環境において欠陥があると思われるブロックは、「正常」な環境すなわちより一般的な環境においては、実際には欠陥がみられ得ない。その結果、実際には使用可能であるブロックが用いられ得ず、メモリシステムが、実際には使用可能であるブロックのすべてを用いることができないために、メモリシステムは、あまり効率的に動作し得ない。例えば、NANDフラッシュメモリが、通常、ほとんどのフラッシュメモリの仕様範囲から外れている約90℃の環境にさらされる場合、通常、多くの成長欠陥が検出される。仕様範囲から外れている環境にて検出されるこれらの使用不能な成長欠陥の多くは、メモリが、例えば、メモリの仕様書に記載された範囲内のより正常な温度に戻された場合、使用可能であり得る。
時には、フラッシュメモリコンポーネントを含むメモリシステムを用いる間に、メモリシステムが、データの格納において用いるために利用可能な予備ブロックを十分に有さないことが判定され得る。データの格納において用いるために利用可能な予備ブロックが十分にない場合、データの格納において使用するためのさらなるフラッシュメモリコンポーネントをユーザが取得することが必要とされ得る。メモリシステムと共に用いるさらなるフラッシュメモリコンポーネントの取得は、時間がかかり、かつ相対的に高価であり得る。使用不能であると特徴付けられた使用可能ブロックがあり得る場合、メモリシステム内で利用可能な予備ブロックの欠如を補償することは、特に非効率的であり得る。なぜなら、潜在的に使用可能ないくつかのブロックが事実上廃棄されるからである。
従って、必要とされるのは、欠陥ブロックとして識別される、潜在的に使用可能なブロックが予備ブロックとして用いられることを可能にする方法および装置である。すなわち、所望されるのは、成長欠陥が原因で欠陥があると特徴付けられるブロックを、これらのブロックが実際は使用可能である場合、「再利用」すなわち再生する方法および装置である。
(発明の要旨)
本発明は、所望ならば、少なくともいくつかの欠陥ブロックが使用可能性について容易に識別および試験され得るように欠陥ブロックを追跡するシステムおよび方法に関する。本発明の1局面によると、不揮発性メモリ内の予備ブロックを識別する方法は、不揮発性メモリと関連する少なくとも1つの欠陥がある物理ブロックに、欠陥がある物理ブロックが使用可能であるか否かを判定するように構成される試験を受けさせる工程を包含する。本方法は、いつ欠陥がある物理ブロックが試験に合格したかを判定する工程、および欠陥がある物理ブロックが試験に合格したことを判定された場合、その欠陥がある物理ブロックを使用可能な物理ブロックとして識別する工程をさらに包含する。1実施形態において、欠陥がある物理ブロックを使用可能な物理ブロックとして識別する工程は、欠陥がある物理ブロックを第1の予備ブロックとして識別する工程、および不揮発性メモリと関連する予備ブロックのプールに第1の予備ブロックを追加する工程を包含する。
使用不能であるとして予め識別された潜在的に使用可能ブロックを再生する能力は、不揮発性メモリシステム内、実質的にあらゆる利用可能なブロックがデータを格納するために用いられることを有効に可能にし、これにより、メモリシステムが用いられ、従って、メモリシステムがより効率的に動作することを可能にする。1実施形態において、一旦「良好」であったが、「不良(bad)」になった、首尾よく消去できない等の成長欠陥を有するブロックが、過酷な試験の後、場合によっては再生され得る。いくつかのブロックが再生されることを可能にすることによって、メモリシステムのリソースは、より効率的に用いられ得る。
本発明の別の局面によると、不揮発性メモリ内の使用不能な物理格納素子を管理する方法は、第1の物理格納素子に欠陥があるとしていつ識別されるかを判定する工程、および、第1の物理格納素子に欠陥があるとして識別されたことを判定された場合、その第1の物理格納素子を使用可能な物理格納素子のプールから実質的に除去する工程を包含する。この方法は、第1の物理格納素子に欠陥があるとして識別する不揮発性メモリにおけるデータ構造に第1の署名を格納する工程をさらに包含する。このようなデータ構造は、米国特許出願第10/281,626号に記載されるような消去カウントブロックであり得る。1実施形態において、第1の物理格納素子に欠陥がある時を判定する工程は、第1の物理格納素子がいつ首尾よく読み出されないかもしれない場合を判定する工程、第1の物理格納素子が首尾よく書き込まれないかもしれない場合を判定する工程、および第1の物理格納素子が首尾よく消去されないかもしれない場合を判定する工程の少なくとも1つを包含する。
本発明のさらに別の局面によると、不揮発性メモリシステム内のブロックを管理する方法は、不揮発性メモリシステムの不揮発性メモリ内の第1の物理ブロックが、工場欠陥を有するのはいつかを判定する工程、第1の物理ブロックが工場欠陥を有すると判定された場合、第1の物理ブロックがその工場欠陥を有するとして識別する不揮発性メモリと関連するデータ構造に第1の署名を格納する工程を包含する。この方法は、第1の物理ブロックが工場欠陥を有することが判定された場合、第1の物理ブロックが情報を格納するために用いられることを実質的に防止する工程、不揮発性メモリ内の第2の物理ブロックが成長欠陥を有するのはいつかを判定する工程、および、第2の物理ブロックが成長欠陥を有すると判定された場合、第2の物理ブロックを、成長欠陥を有するとして識別するデータ構造に第2の署名を格納する工程をさらに包含する。最後に、この方法は、第1の物理ブロックが成長欠陥を有すると判定された場合、第2の物理ブロックが情報を格納するために用いられることを実質的に防止する工程を包含する。
本発明による不揮発性メモリ内の予備ブロックを識別する方法は、該不揮発性メモリ内で欠陥があるとして識別された少なくとも1つの物理ブロックに試験を受けさせる工程であって、該試験は、欠陥がある物理ブロックが使用可能であるか否かを判定するように構成される、工程と、欠陥があるとして識別された該物理ブロックが該試験に合格した場合を判定する工程と、欠陥があるとして識別された該物理ブロックが該試験に合格したことが判定された場合、欠陥があるとして識別された該物理ブロックを使用可能な物理ブロックとして識別する工程とを包含し、それにより上記目的が達成される。
欠陥があるとして識別された前記少なくとも1つの物理ブロックに前記試験を受けさせる工程は、欠陥があるとして識別された該少なくとも1つの物理ブロックに、欠陥があるとして識別された該物理ブロックにビットを書き込む書き込みプロセス、欠陥があるとして識別された該物理ブロックから該ビットを読み出す読み出しプロセス、および、欠陥があるとして識別された該物理ブロックから該ビットを消去する消去プロセスのうちの少なくとも1つを受けさせる工程を包含してもよい。
前記物理ブロックを使用可能な物理ブロックとして識別する工程は、欠陥があるとして識別された該物理ブロックを第1の予備ブロックとして識別する工程と、該第1の予備ブロックを前記不揮発性メモリと関連する予備ブロックのプールに追加する工程であって、該第1の予備ブロックは、ビットを格納する際に用いるための該予備ブロックのプールから取得されるように構成される、工程とを包含してもよい。
前記不揮発性メモリ内で少なくとも1つのさらなる予備ブロックが必要とされる場合を判定する工程と、該少なくとも1つのさらなる予備ブロックが必要とされることが判定された場合、前記物理ブロックに欠陥があるとして識別されたブロックを識別する工程とをさらに包含してもよい。
欠陥があるとして識別された前記物理ブロックを識別する工程は、前記不揮発性メモリと関連するデータ構造を走査する工程であって、該データ構造は、欠陥があるとして識別された該物理ブロックに欠陥があることを示すように構成されたビットを含むように構成される、工程を包含してもよい。
前記データ構造は、欠陥があるとして識別された前記物理ブロックが工場欠陥を有する場合を識別するためのビットの第1のセット、および、欠陥があるとして識別された該物理ブロックが成長欠陥を有する場合を識別するためのビットの第2のセットの1つを含むようにさらに構成されてもよい。
前記データ構造は、消去カウントブロックであってもよい。
欠陥があるとして識別された前記物理ブロックは、成長欠陥を含んでもよい。
前記不揮発性メモリは、フラッシュメモリであってもよい。
前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つであってもよい。
本発明による不揮発性メモリ内の使用不能物理格納素子を管理する方法は、第1の物理格納素子に欠陥があるとして識別される場合を判定する工程と、該第1の物理格納素子に欠陥があることが判定された場合、使用可能な物理格納素子のプールから該第1の物理格納素子を実質的に除去する工程と、該不揮発性メモリにおけるデータ構造に第1の署名を格納する工程であって、該第1の署名は、該第1の物理格納素子に欠陥があるとして識別するように構成される、工程とを包含し、それにより上記目的が達成される。
前記第1の物理格納素子に欠陥がある場合を判定する工程は、該第1の物理格納素子が首尾よく読み出され得ない場合を判定する工程、該第1の物理格納素子が首尾よく書き込まれない場合を判定する工程、および、該物理格納素子が首尾よく消去され得ない場合を判定する工程のうちの少なくとも1つを包含してもよい。
前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は成長欠陥を含み、前記第1の署名は、該第1の物理格納素子が該成長欠陥を有するとして識別するように構成されてもよい。
前記第1の物理格納素子に欠陥がある場合を判定する工程は、前記ビットは、該第1の物理格納に欠陥があることを示すように構成されるか否かを判定するために、該第1の物理格納素子に含まれるビットを読み出す工程を包含してもよい。
前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子が該工場欠陥を有するとして識別するように構成されてもよい。
前記データ構造は、前記使用可能格納素子に関連するビットを含むようにさらに構成されてもよい。
前記不揮発性メモリ内の実質的にすべての物理素子を走査して、前記第1の物理素子を識別する工程をさらに包含してもよい。
前記第1の物理素子は、第1の物理ブロックであり、前記使用可能物理素子は使用可能物理ブロックであってもよい。
前記不揮発性メモリは、フラッシュメモリであってもよい。
前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つであってもよい。
本発明による不揮発性メモリと関連する、欠陥があるとして識別された少なくとも1つの物理ブロックに試験を受けさせるコードデバイスは、該試験は、欠陥があるとして識別された物理ブロックが使用可能であるか否かを判定するように構成される、コードデバイスと、欠陥があるとして識別された該物理ブロックが該試験に合格した場合に関して判定させるコードデバイスと、欠陥があるとして識別された該物理ブロックが該試験に合格したことが判定された場合、欠陥があるとして識別された該物理ブロックを使用可能な物理ブロックとして識別させるコードデバイスと、該コードデバイスを格納するメモリ領域と
を備え、それにより上記目的が達成される。
欠陥があるとして識別された前記物理ブロックに試験を受けさせる前記コードデバイスは、欠陥があるとして識別された該物理ブロックに欠陥があるとして識別された該物理ブロックにビットを書き込む書き込みプロセスを受けさせるコードデバイス、欠陥があるとして識別された該物理ブロックに欠陥があるとして識別された該物理ブロックから該ビットを読み出す読み出しプロセスを受けさせるコードデバイス、および、欠陥があるとして識別された該欠陥がある物理ブロックに該ビットを消去する消去プロセスを受けさせるコードデバイスのうちの少なくとも1つを備えてもよい。
欠陥があるとして識別された前記物理ブロックを利用可能な物理ブロックとして識別させる前記コードデバイスは、欠陥があるとして識別された該物理ブロックを第1の予備ブロックとして識別させるコードデバイスと、該第1の予備ブロックを、前記不揮発性メモリと関連する予備ブロックのプールに追加させるコードデバイスであって、該第1の予備ブロックは、ビットを格納する際に用いるための該予備ブロックのプールから取得されるように構成される、コードデバイスとを備えてもよい。
前記不揮発性メモリ内で少なくとも1つのさらなる予備ブロックが必要とされる場合の判定をさせるコードデバイスと、該少なくとも1つのさらなる予備ブロックが必要とされることが判定された場合、欠陥があるとして識別された前記物理ブロックを識別させるコードデバイスであって、該不揮発性メモリに関連するデータ構造を走査させるコードデバイスを含み、該データ構造は、欠陥があるとして識別された該物理ブロックに欠陥があることを示すように構成されるビットを含むように構成される、コードデバイスとをさらに備えてもよい。
前記データ構造は、欠陥があるとして識別された前記物理ブロックが工場欠陥を有する場合を識別するためのビットの第1のセット、および欠陥があるとして識別された該物理ブロックが成長欠陥を有する場合を識別するためのビットの第2のセットの1つを含むようにさらに構成されてもよい。
欠陥があるとして識別された前記物理ブロックは成長欠陥を含んでもよい。
前記コードデバイスは、ソフトウェアコードデバイスおよびファームウェアコードデバイスの1つであってもよい。
本発明による不揮発性メモリシステムは、不揮発性メモリの第1の物理格納素子に欠陥がある場合に関して判定させるコードデバイスと、該第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子を、使用可能な物理格納素子のプールから実質的に除去させるコードデバイスと、第1の署名を不揮発性メモリにおけるデータ構造に格納させるコードデバイスであって、該第1の署名は、該第1の物理格納素子に欠陥があるとして識別するように構成される、コードデバイスと、該コードデバイスを格納するメモリ領域とを備え、そのことにより上記目的が達成される。
前記第1の物理格納素子に欠陥がある場合の判定をさせる前記コードデバイスは、該第1の物理格納素子が首尾よく読み出され得ない場合の判定をさせるコードデバイス、該第1の物理格納素子が首尾よく書き込まれ得ない場合の判定をさせるコードデバイス、および該第1の物理格納素子が首尾よく消去され得ない場合の判定をさせるコードデバイスのうちの少なくとも1つを備えてもよい。
前記第1の物理格納素子に欠陥があることが判定される場合、該第1の物理格納素子は成長欠陥を含み、第1の署名は、該第1の物理格納素子が該成長欠陥を有するとして識別するように構成されてもよい。
前記第1の物理格納素子に欠陥がある場合の判定をさせる前記コードデバイスは、前記ビットが該第1の物理格納に欠陥があることを示すように構成されるか否かを判定するために、該第1の物理格納素子内に含まれるビットを読み出させるコードデバイスを含んでもよい。
前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子を該工場欠陥を有するとして識別するように構成されてもよい。
前記不揮発性メモリ内の実質的にすべての物理素子を走査させて、前記第1の物理素子を識別するコードデバイスをさらに備えてもよい。
前記第1の物理素子は、第1の物理ブロックであり、前記使用可能な物理素子は、使用可能な物理ブロックであってもよい。
前記コードデバイスは、ソフトウェアコードデバイスおよびファームウェアコードデバイスの1つであってもよい。
本発明による不揮発性メモリシステムは、不揮発性メモリと、該不揮発性メモリと関連する少なくとも1つの欠陥がある物理ブロックに試験を受けさせる手段と、該欠陥がある物理ブロックが該試験に合格した場合を判定する手段と、該欠陥がある物理ブロックが該試験に合格したことが判定される場合、該欠陥がある物理ブロックを使用可能な物理ブロックとして識別する手段とを備え、そのことにより上記目的が達成される。
前記欠陥がある物理ブロックは、成長欠陥を含んでもよい。
前記不揮発性メモリは、フラッシュメモリであってもよい。
前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つであってもよい。
本発明による不揮発性メモリシステムは、不揮発性メモリと、第1の物理格納素子に欠陥がある場合を判定する手段と、該第1の物理格納素子に欠陥があることが判定された場合、使用可能な物理格納素子のプールから該第1の物理格納素子を実質的に除去する手段と、該不揮発性メモリ内のデータ構造に第1の署名を格納する手段であって、第1の署名は、該第1の物理格納素子を欠陥があるとして識別するように構成される、手段と、を備え、そのことにより、上記目的が達成される。
前記第1の物理格納素子に欠陥がある場合を判定する前記手段は、該第1の物理格納素子が首尾よく読み出され得ない場合を判定する手段、該第1の物理格納素子が首尾よく書き込まれ得ない場合を判定する手段、および、該第1の物理格納素子が首尾よく消去され得ない場合を判定する手段のうちの少なくとも1つを備えてもよい。
前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は成長欠陥を含み、前記第1の署名は、該第1の物理格納素子を該成長欠陥を有するとして識別するように構成されてもよい。
前記第1の物理格納素子に欠陥がある場合を判定する手段は、該第1の物理格納素子内に含まれるビットを読み出す手段を含み、該ビットが該第1の物理格納に欠陥があることを示すように構成されるか否かを判定してもよい。
前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子を該工場欠陥を有するとして識別するように構成されてもよい。
前記第1の物理素子は、第1の物理ブロックであり、前記使用可能な物理素子は、使用可能な物理ブロックであってもよい。
前記不揮発性メモリは、フラッシュメモリであってもよい。
前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つであってもよい。
本発明による不揮発性メモリシステム内のブロックを管理する方法は、該不揮発性メモリシステムの不揮発性メモリ内の第1の物理ブロックが工場欠陥を有する場合を判定する工程と、該第1の物理ブロックが該工場欠陥を有することが判定された場合、該第1の物理ブロックを該工場欠陥を有するとして識別する第1の署名を該不揮発性メモリと関連するデータ構造に格納する工程と、該第1の物理ブロックが該工場欠陥を有することが判定された場合、該第1の物理ブロックが情報を格納するために用いられることを実質的に防止する工程と、該不揮発性メモリ内の第2の物理ブロックが成長欠陥を有する場合を判定する工程と、該第2の物理ブロックが該成長欠陥を有することが判定された場合、該第2の物理ブロックを該成長欠陥を有するとして識別する第2の署名を該データ構造に格納する工程と、該第1の物理ブロックが該成長欠陥を有することが判定された場合、該第2の物理ブロックが情報を格納するために用いられることを実質的に防止する工程とを包含し、そのことにより上記目的が達成される。
前記不揮発性メモリ内で予備ブロックが必要とされる場合を判定する工程と、該第2の物理ブロックを試験して、前記第2の物理ブロックが使用可能である場合を判定する工程と、該第2の物理ブロックが使用可能であることが判定された場合、該第2の物理ブロックを該予備ブロックとして指定する工程とをさらに包含してもよい。
前記第2の署名を配置することによって前記第2の物理ブロックを識別するために、前記データ構造を走査する工程をさらに包含してもよい。
前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つであってもよい。
本発明のこれらおよび他の利点は、以下の詳細な説明を読み、かつ図面の種々の図を検討することによって明らかになる。
本発明は、添付の図面と関連付けて以下の説明を参照することによって最良に理解され得る。
本発明によると、消去カウントブロックを含む不揮発性メモリシステムに電力が最初に供給された場合、消去カウントブロックは、通常、初期化されるか、そうでない場合、生成される。換言すると、通常、不揮発性メモリシステムの不揮発性メモリが最初にフォーマット化された場合、および任意の使用不能ブロックが識別された場合、消去カウントブロックは、通常、初期化される。不揮発性メモリシステムの不揮発性メモリが最初にフォーマット化された場合、消去ブロックを初期化する工程が本発明の実施形態により記載される。不揮発性メモリシステム内のすべてのブロック、またはより具体的には、すべての物理ブロックが検査される。通常、システムが最初にフォーマット化された場合、使用不能ブロックは、実質的に、不揮発性メモリの製造業者によって使用不能であるとして識別されたブロック、すなわち、工場欠陥を有するブロックのみを含む。このようなブロックは、ブロック内に格納されたビットによって工場欠陥を有するとして識別され得る。従って、不揮発性メモリ内の使用不能ブロックが識別される。
本特許出願は、米国特許仮出願第60/421,965号(2002年10月28日出願)の優先権を主張し、この出願は、参考のため、本明細書中にその全体が援用される。
(関連出願の相互参照)
本発明は、同時係属中の米国特許出願第10/281,739号、第10/281,823号、第10/281,670号、第10/281,824号、第10/281,631号、第10/281,855号、第10/281,762号、第10/281,696号、第10/281,626号および第10/281,804号、ならびに同時係属中の米国特許仮出願第60/421,910号、第60/421,725号、第60/422,166号、第60/421,746号および第60/421,911号(各々、2002年10月28日出願)に関し、これらの出願は、各々、参考のため、本明細書中にその全体が援用される。
(実施形態の詳細な説明)
不揮発性メモリを含むメモリシステムが空のすなわち、低速走行する予備の物理ブロックのプールを有する場合、メモリシステムのユーザは、利用可能なメモリの低速走行によって、有効に補償することを強いられ得る。例えば、ユーザは、高価であり得るさらなる不揮発性メモリを取得し得る。時折、いくつかの環境において使用不能または欠陥があるとして識別された不揮発性メモリの物理ブロックは、後から、異なった環境において、実際に使用するために適切であり得る。例えば、成長欠陥が原因で使用不能であるとして識別された物理ブロックは、過酷なパターンを有する徹底的な試験プロセスのインプリメンテーションにおいて再生可能であり得る。使用不能であると特徴付けられた使用可能ブロックがあり得る場合、いくつかの潜在的に使用可能なブロックが事実上廃棄される。
使用不能であると予め識別された潜在的に使用可能なブロックを再生することによって、使用するために適切である実質的にあらゆる利用可能なブロックがデータを格納するために用いられ得、これにより、メモリシステム全体が用いられ、従って、より効率的に動作することを可能にする。通常、例えば、電荷の格納レベルを維持できない等の工場欠陥を有するブロックは、これらのブロックが製造された時点で欠陥があり、かつ、実質的に、常に欠陥があり、従って、再生不可能である。しかしながら、一旦「良好」であったが「不良」になった、首尾よく消去できない等の成長欠陥を有するブロックは、いくつかの場合、再生され得る。従って、1実施形態において、成長欠陥を有するブロックは、そのブロックが実際に使用可能であるか否かを判定するために試験され得る一方で、工場欠陥を有するブロックは試験されないかもしれない。
使用不能ブロックが、工場欠陥が原因で使用不能であるのか、または成長欠陥が原因で使用不能であるのかを識別することは、ブロック再生プロセス全体がより効率的になることを可能にする。これは、工場欠陥を有するブロックの試験が回避され得るからである。換言すると、潜在的に再生可能であるブロック、すなわち、成長欠陥を有するブロックのみを実質的に試験することによって、ブロックを再生するための試験プロセスが効率的にインプリメントされ得るが、これは、おそらく再生されないブロックが、全般的に、試験されないからである。使用不能ブロックが識別された場合、使用不能ブロックを、工場欠陥が原因で使用不能であるか、または成長欠陥が原因で使用不能であるかをマークすることは、成長欠陥を有する使用不能ブロックが容易に識別されることを可能にする。
使用不能ブロックが工場欠陥を含むか、または成長欠陥を含むかを追跡することによって、使用不能ブロックを管理することは、メモリシステムのリソースが効率的に用いられることを可能にする。成長欠陥を有する不揮発性メモリ内の少なくともいくつかの使用不能ブロックを再生する可能性がある場合、利用可能なブロックの欠如が原因で不揮発性メモリを置換する必要性を少なくとも遅延することが可能であり得る。
フラッシュメモリシステム、または、より一般的には、使用不能ブロックを管理し、一旦さらなる予備ブロックが必要とされると、使用不能であると予め識別されたブロックを再生する能力から利益を受け得る不揮発性メモリデバイスは、例えば、NANDまたはMLC NANDの、カードおよびチップセット等のフラッシュメモリを通常含む。通常、フラッシュメモリシステムは、ホストシステムとの関連で用いられ、従って、ホストシステムは、フラッシュメモリシステムにデータを書き込み得るか、またはフラッシュメモリシステムからデータを読み出し得る。しかしながら、いくつかのフラッシュメモリシステムは、図2cを参照して後述されるように、埋め込みフラッシュメモリ、およびホスト上で実行して埋め込みフラッシュメモリのコントローラとして実質的に機能するソフトウェアを含む。図2aを参照して、例えば、コンパクトフラッシュ(R)メモリカード等の不揮発性メモリデバイスを含む一般的ホストシステムが説明される。ホストまたはコンピュータシステム100は、通常、マイクロプロセッサ108、ランダムアクセスメモリ(RAM)112および入力/出力回路116が通信することを可能にするシステムバス104を含む。ホストシステム100は、通常、例えば、表示デバイスおよびネットワークデバイス等の他のコンポーネントを含み得ることが理解されるべきである。これらは、例示の目的で図示されない。
一般に、ホストシステム100は、さらに、画像情報、オーディオ情報およびビデオ画像情報を含むが、これらに限定されない情報を取り込むことが可能であり得る。このような情報は、リアルタイムで取り込まれ得、かつ無線方式でホストシステム100に送信され得る。ホストシステム100が実質的に任意のシステムであり得る一方で、ホストシステム100は、通常、デジタルカメラ、ビデオカメラ、セルラー通信デバイス、オーディオプレーヤまたはビデオプレーヤなどのシステムである。しかしながら、ホストシステム100は、通常、データまたは情報を格納し、データまたは情報を取り出す実質的に任意のシステムであり得ることが理解されるべきである。
ホストシステム100は、さらに、データを取り込むだけか、またはデータを取り出すだけのシステムであり得る。すなわち、ホストシステム100は、1実施形態において、データを格納する専用システムであり得るか、または、ホストシステム100は、データを読み出す専用システムであり得る。例示的に、ホストシステム100は、データを書き込むかまたは格納するだけのために構成されるメモリライタであり得る。あるいは、ホストシステム100は、通常、データを読み出すか、または取り出すために構成されるが、データを取り込むようには構成されないMP3プレーヤ等のデバイスであり得る。
1実施形態において、除去可能な不揮発性メモリデバイスである不揮発性メモリデバイス120は、情報を格納するためにバス104とインターフェース接続するように構成される。選択的インターフェースブロック130は、不揮発性メモリデバイス120が、バス104と間接的にインターフェース接続することを可能にし得る。存在する場合、当業者によって理解されるように、入力/出力回路ブロック116がバス104上の負荷を低減するために利用される。不揮発性メモリデバイス120は、不揮発性メモリ124および選択的メモリ制御システム128を含む。1実施形態において、不揮発性メモリデバイス120は、単一チップまたはダイ上でインプリメントされ得る。あるいは、不揮発性メモリデバイス120は、マルチチップモジュール上、または、チップセットを形成し得、かつ不揮発性メモリデバイス120として共に用いられ得る複数の別個のコンポーネント上でインプリメントされ得る。不揮発性メモリデバイス120の1実施形態は、図2bを参照してより詳細に後述される。
例えば、NANDフラッシュメモリまたはMLC NANDフラッシュメモリといったフラッシュメモリ等の不揮発性メモリ124は、データを格納するように構成され、従って、データが必要に応じてアクセスされ、かつ読み出され得る。不揮発性メモリ124に格納されたデータは、さらに、適宜消去され得るが、不揮発性メモリ124における特定のデータは、消去されないかもしれないことが理解されるべきである。データを格納、データを読み出し、およびデータを消去するプロセスは、通常、メモリ制御システム128によって制御されるか、またはメモリ制御システム128が存在しない場合、マイクロプロセッサ108によって実行されるソフトウェアによって制御される。不揮発性メモリ124の動作は管理され得、従って、不揮発性メモリ124の寿命は、不揮発性メモリ124のセクションを基本的に実質的に等しく消耗させることによって実質的に最大化される。
不揮発性メモリデバイス120が、選択的メモリ制御システム128、すなわちコントローラを含むように大局的に記載された。多くの場合、不揮発性メモリデバイス120は、不揮発性メモリ124およびメモリ制御システム128、すなわちコントローラ機能の別個のチップを含み得る。例示的に、PCカード、コンパクトフラッシュ(R)カード、マルチメディアカードおよびセキュアデジタルカードを含むが、これに限定されない不揮発性メモリデバイスは、別個のチップ上でインプリメントされ得るコントローラを含み、他の不揮発性メモリデバイスは、別個のチップ上でインプリメントされるコントローラを含み得ない。不揮発性メモリデバイス120が別個のメモリおよびコントローラチップを含まない実施形態において、当業者によって理解されるように、メモリおよびコントローラ機能は、単一チップに統合され得る。あるいは、メモリ制御システム128の機能性は、上述の不揮発性メモリデバイス120がメモリコントローラ128を含まない実施形態における実施例のように、マイクロプロセッサ108によって提供され得る。
図2bを参照して、本発明の実施形態による不揮発性メモリデバイス120がより詳細に説明される。上述のように、不揮発性メモリデバイス120は、不揮発性メモリ124を含み、かつメモリ制御システム128を含み得る。メモリ124および制御システム128すなわちコントローラは、不揮発性メモリデバイス120の一次コンポーネントであり得るが、メモリ124が、埋め込みMLC NANDメモリといった埋め込みNANDデバイスである場合、例えば、不揮発性メモリデバイス120は、制御システム128を含み得ない。メモリ124は、半導体基板上に形成されたメモリセルのアレイであり得、ここで、2のうちの1つ、またはより多くの電荷のレベルをメモリセルの個々の格納素子に格納することによって、1ビット以上のデータが個々のメモリセルに格納される。不揮発性性フラッシュ電気的消去再書込み可能プログラム可能読み出し専用メモリ(EEPROM)は、このようなシステムの一般的なタイプのメモリの例である。
存在する場合、制御システム128は、バス15を介してホストコンピュータ、またはデータを格納するためにメモリシステムを用いる他のシステムに通信する。バス15は、通常、図2aのバス104の一部分である。制御システム128は、さらに、メモリ124の動作を制御し、これは、ホストにより提供されるデータを書き込み、ホストによってリクエストされるデータを読み出し、かつオペレーティングメモリ124における種々のハウスキーピング機能を実行するメモリセルアレイ11を含み得る。制御システム128は、通常、関連する不揮発性性ソフトウェアメモリ、種々の論理回路等を有する多目的マイクロプロセッサを含む。多くの場合、1つ以上の状態マシンが、特定のルーチンの性能を制御するためにさらに含まれる。
メモリセルアレイ11は、通常、制御システム128、またはアドレス復号器17を通じてマイクロプロセッサ108によってアドレス指定される。復号器17は、制御システム128によってアドレス指定されるメモリセルの群にデータをプログラムし、そこからデータを読み出すか、またはそれを消去するために、正確な電圧をアレイ11のゲートおよびビット線に印加する。さらなる回路19は、セルのアドレス指定された群にプログラムされるデータに依存する、アレイの素子に印加された電圧を制御するプログラミングドライバを含む。回路19は、センス増幅器、およびアドレス指定されたメモリセルの群からデータを読み出すために必要とされる他の回路をさらに含む。アレイ11にプログラムされるべきデータ、またはアレイ11から最近読み出されたデータは、通常、制御システム128内のバッファメモリ21に格納される。制御システム128は、通常、コマンドおよび状態データ等を一時的に格納するための種々のレジスタもまた含む。
アレイ11は、多数のBLOCKS0−Nメモリセルに分割される。フラッシュEEPROMシステムについて一般的であるように、ブロックは、通常、消去の最小ユニットである。すなわち、各ブロックは、共に消去される最小数のメモリセルを含む。各ブロックは、通常、複数のページに分割される。当業者によって理解されるように、ページは、プログラミングの最小ユニットであり得る。すなわち、基本プログラミング動作は、メモリセルの1ページの最小にデータを書き込むか、またはここからデータを読み出す。1つ以上のデータのセクタは、通常、各ページ内に格納される。図2bに示されるように、1セクタは、ユーザデータおよびオーバヘッドデータを含む。オーバヘッドデータは、通常、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含む。制御システム128の一部分23は、データがアレイ11にプログラムされる場合にECCを計算し、さらに、アレイ11からデータが読み出される場合、ECCをチェックする。あるいは、複数のECCは、これらが属するユーザデータとは異なったページ、または異なるブロックに格納される。
ユーザデータの1セクタは、通常、512バイトであり、磁気ディスクドライブにおけるセクタのサイズに対応する。オーバヘッドデータまたは冗長データは、通常、さらなる16バイトである。データの1セクタは、最も一般的には、各ページに含まれるが、2つ以上のセクタは、その代わりにページを形成し得る。任意の数のページは、通常、ブロックを形成し得る。例示的に、ブロックは、8ページから512まで、1024またはそれ以上のページから形成され得る。メモリシステムに所望のデータ格納容量を提供するためにブロックの数が選択される。アレイ11は、通常、いくつかのサブアレイ(図示せず)に分割され、これらの各々は、ブロックの一部分を含み、サブアレイは、種々のメモリ動作の実行において並列処理の程度を高めるために、互いにいくらか独立して動作する。複数のサブアレイの使用の例は、米国特許第5,890,192号に記載され、この出願は、参考のため、その全体が本明細書中に援用される。
1実施形態において、MLC NANDメモリ等の不揮発性メモリは、例えば、ホストシステム等のシステムに埋め込まれる。図2cは、埋め込み不揮発性メモリを含むホストシステムの図示である。ホストまたはコンピュータシステム150は、通常、マイクロプロセッサ158、RAM162、および入力/出力回路166が、ホストシステム150の他のコンポーネント(図示せず)の中で通信することを可能にするシステムバス154を含む。例えば、フラッシュメモリ等の不揮発性メモリ174は、情報がホストシステム150内に格納されることを可能にする。インターフェース180は、不揮発性メモリ174とバス154との間に提供され得、情報が不揮発性メモリ174から読み出されおよびこれに書き込まれることを可能にする。
不揮発性メモリ174は、不揮発性メモリ174を制御するように構成されるソフトウェアおよびファームウェアのどちらか、または両方を有効に実行するマイクロプロセッサ158によって管理され得る。すなわち、マイクロプロセッサ158は、コードデバイス、すなわち、ソフトウェアコードデバイスまたはファームウェアコードデバイスを実行し得、これは、不揮発性メモリ174が制御されることを可能にする。CPU内部マイクロプロセッサ158、別個のフラッシュROM、または内部不揮発性メモリ174で実装されるフラッシュメモリであり得るこのようなコードデバイス(後述される)は、不揮発性メモリ174における物理ブロックがアドレス指定されることを可能にし得、かつ、情報が物理ブロックに格納され、ここから読み出され、かつここから消去されることを可能にし得る。
使用不能ブロック、例えば、工場欠陥を有する使用不能ブロックおよび成長欠陥を有する使用不能ブロックが容易に識別され得るように区別されることを可能にするために、ビットの第1の連続は、工場欠陥を有する使用不能ブロックを識別するために用いられ得、および、ビットの第1の連続は、成長欠陥を有する使用不要ブロックを識別するために用いられ得る。ビットの異なった連続、例えば、署名またはマーキングは、工場欠陥を有するブロックと成長欠陥を有するブロックとを実質的に一意的に識別するように構成され得る。
通常、工場欠陥を有するとしてブロックを識別する署名、および成長欠陥を有するとしてブロックを識別する署名は、不揮発性メモリシステムと関連するデータ構造に格納され得る。好適には、不揮発性メモリコンポーネント内のデータ構造に格納され、従って、データ構造は、システム全体が電源切断される場合に無傷の状態で保持される、このようなデータ構造は、メモリコンポーネント内に存在する実質的にあらゆる物理ブロックと関連するビットを含み得る。使用不能の物理ブロックと関連するビットは、署名であり得、この署名は、使用不能ブロックを、工場欠陥または成長欠陥のどちらかを有するとして実質的に一意的に識別する。
工場欠陥を有する使用不能ブロックおよび成長欠陥を有する使用不能ブロックを識別する署名またはマーキングを格納するために用いられ得るデータ構造は、米国特許出願第10/281,626号(参考のため、援用された)に記載されるような、不揮発性メモリシステムと関連する消去カウントブロックであり得、これは、例えば、NANDメモリ等のメモリに格納される保留ブロックである。消去カウントブロックは、成長欠陥を有する使用不能ブロックが、例えば、識別されることを可能にするために、再生プロセスが行われるべき場合にアクセスされ得る。不揮発性メモリシステム内の物理ブロックが消去された回数を有効に追跡するために用いられ得る消去カウントも、消去カウントブロックに格納され得る。一般に、消去カウントブロックは、各物理ブロックの消去カウントに加えて、不揮発性メモリシステム内の各使用不可能な物理ブロックが消去された平均回数のインジケータであるように構成される平均消去カウントも含み得る。図3aは、本発明の実施形態による消去カウントブロックの図示である。消去カウントブロック300は、通常、大きさが調整され、従って、消去カウントブロック300が消去カウントブロック300を含む不揮発性性システム全体内のブロックすなわち物理ブロックごとに特定の数のビットを含む。各ブロックに有効に割り当てられたビットの数は、ブロックの全消去カウントが、割り当てられたビットによって適応され得るように選択され得る。1実施形態において、消去カウントブロック300は、ブロックごとに約3バイトを含み得る。これは、3バイトは、約十万のオーダー(order)で消去カウントを適応するために、通常、十分だからである。3バイトがブロックごとに割り当てられた場合、ブロックごとに約64ページを有する約2048ブロックを含む512Mbシステムにおいて、消去カウントブロック300は、約12ページ、例えば、約6000バイトを含むように大きさが調整され得る。
消去カウントブロック300は、ページ310を含み、これは、当業者によって理解されるように、多くの場合、約512バイトを含み、これは、消去カウントなどのデータを格納するために用いられ得る。示されたように、第1のページ310aは、ブロック「0」〜「169」の消去カウントエントリを含むように構成され得る一方で、第2のページ310bは、ブロック「170」〜「339」の消去カウントエントリを含むように構成され得る。ブロック「1」すなわち、物理ブロック「1」の消去カウントが書き込まれるか読み出されるべき場合、第1のページ310aの3〜5バイトがアクセスされ得る。これは、図3bおよび図3cを参照して以下に説明されるように、第1のページ310aのバイト3〜5がブロック「1」に対応する消去カウントエントリを含むように構成されるからである。
消去カウントブロック300は、ページ310を含むことに加えて、通常、消去カウントブロック300内の実質的にどこにでも配置され得るヘッダ320も含む。示されるように、ヘッダ320は、消去カウントブロック300のページ310cと310dとの間に配置されるが、このヘッダ320は、多くの場合、消去カウントブロック300の開始点に配置されることが理解されるべきである。図4を参照して後述されるヘッダ320は、ページ310に格納される消去カウントと関連するブロックを含む不揮発性性フラッシュメモリと関連する情報を含む消去カウントブロック300におけるページである得る。
図3bは、例えば、本発明の実施形態による、図3aの消去カウントブロック300のページ310a消去カウントブロック内のページの図示である。ページ310aは、約170の物理ブロックに対応するエントリ330を保持するように構成される。示されるように、エントリ330は、ブロックの消去カウントを含み、従って、ページ310aにおける第1のエントリ330aがブロック「0」の消去カウントを含むように構成され、かつ第2のエントリ330bは、ブロック「1」の消去カウントを含むように構成される。ページ310aにおける最後のエントリ330eは、ブロック「169」の消去カウントを保持するように構成される。
各エントリ330は、実質的に同じ数のバイトを含む。図3cに示されるように、ページ310aにおけるブロック「0」に対応するエントリ330aは、バイト0〜2であり得る一方で、ページ310aにおけるブロック「2」に対応するエントリ330cは、バイト6〜8であり得る。すでに述べたように、各エントリ330は、約3バイトを含み得るが、各エントリ330におけるバイトの数、従って、ページ310aにおけるエントリ330の数は変化し得ることが理解されるべきである。例示的に、1実施形態において、各エントリ330は、約4バイトを含み得る。
ページ310aにおける各エントリ330が消去カウントすなわち特定のエントリ330が、これまでに消去された回数の表示を含むように構成される一方で、エントリ330は、消去カウントを必ずしも含まれなくてもよい。例えば、特定のブロックが使用不能であり、かつ、例えば、製造または工場欠陥が原因で書き込まれないかもしれないか、または読み出されないかもしれない場合、そのブロックは、通常、消去カウントを有さない。従って、図3aの消去カウントブロック300等の消去カウントブロックは、通常、使用不能ブロックの消去カウントを含むエントリを有さない。そうではなく、消去カウントを保持する代わりに、使用不能ブロックのエントリ330が、ブロックが使用不能であるとして識別するように構成されるインジケータまたはマーキングを保持し得る。より具体的には、エントリ330は、ブロックを工場欠陥または製造欠陥が原因で使用不能であるか、または成長欠陥が原因で使用不能であるかを識別するインジケータを保持し得る。
図3dは、例えば、図3aの消去カウントブロック300のページ310a等の消去カウントブロックにおけるページの図示であり、これは、本発明の実施形態により特定のブロックが、使用不能であることを示す消去カウントおよびエントリを含む。ブロックが使用不可能であるか、すなわち、あるいはブロックに書き込まれるか、またはブロックから読み出され得る場合、このブロックは、通常、消去カウントを有する。例えば、ブロック「0」に対応する消去カウントを含むように構成されるページ310aのエントリ330aは、ブロック「0」が100回消去された場合、「100」の値を含み得る。同様に、ページ310aのエントリ330bは、ブロック「1」が30回消去された場合「30」の値を含み得る。
ブロック「2」が、例えば、ブロック「2」内に格納されたマーキングまたは署名を通じて、工場欠陥が原因で使用不能ブロックとして識別された場合、ブロック「2」と対応するページ310aのエントリ330cは、ブロック「2」が工場欠陥が原因で使用可能でないことを示すように構成されるマーキングを含み得る。記載された実施形態において、エントリ330cにおける「FFFFFF」のマーキングまたは署名は、ブロック「2」が工場欠陥が原因で使用不能であることを示す。実質的に任意のマーキングは、工場欠陥または製造欠陥が原因でブロックが使用不能であることを示すために用いられ得ることが理解されるべきである。
ブロック「3」が、成長欠陥、または工場欠陥以外の欠陥が原因で使用不能ブロックとして識別された場合、ブロック「3」に対応するページ310aのエントリ330dは、成長欠陥が原因でブロック「3」が使用可能でないことを示すように構成されるマーキングを含み得る。示されるように、エントリ330dにおける「7FFFFF」のマーキングまたは署名は、ブロック「3」が、成長欠陥が原因で使用不能であることを示し得る。成長欠陥が原因でブロックが使用不能であることを識別するために用いられ得る署名の別の例は、「8XXXXX」等の署名であり、ここで、「XXXXX」は、消去カウント の約20ビットであり得る。成長欠陥のマーキングにおいて消去カウントが含まれ得る署名を用いることによって、欠陥があるとして識別されたブロックの消去カウントがブロック内で維持されることを可能にし得る。
上述のように、図3aの消去カウントブロック300等の消去カウントブロックは、1実施形態において、通常、不揮発性メモリシステム内のブロックに関する情報を含む消去カウントブロック300内のページであるヘッダ320を通常含む。次に図4を参照して、消去カウントブロックのヘッダ、例えば、図3aの消去カウントブロック300のヘッダ320は、本発明の実施形態により記載される。消去カウントブロック内の実質的にどこにでも配置され得るヘッダ320は、情報を格納するために用いられ得る約512バイトを含み得る。ヘッダ320に格納される情報は、通常、セキュリティチェックのために用いられ得る署名350aを含む。不揮発性メモリにおける保留ブロック350dの数に関する情報350dに加えて、不揮発性メモリにおいて隠れたブロックの数に関する情報350cが、ヘッダ320にさらに含まれ得る。情報350fは、不揮発性メモリに含まれるブロックの総数を含み得、かつ平均消去カウントが、ヘッダ320における情報350gとして格納される。
ヘッダ320は、通常、他のコンテンツを含み得ることを理解されるべきである。例示的に、ヘッダ320は、使用中か、または使用するために利用可能である使用可能ブロックの総数に関する情報、ならびに分割情報を含み得る。あるいは、ヘッダ320は、工場欠陥を有するブロックの数および成長欠陥を有するブロックの数に関する情報を維持し得る。
消去カウントブロックを含む不揮発性メモリシステムに電力が最初に供給された場合、消去カウントブロックは、通常、初期化されるか、そうでない場合、生成される。換言すると、通常、不揮発性メモリシステムの不揮発性メモリが最初にフォーマット化された場合、および任意の使用不能ブロックが識別された場合、消去カウントブロックは、通常、初期化される。図5を参照して、不揮発性メモリシステムの不揮発性メモリが最初にフォーマット化された場合、消去ブロックを初期化する1つの方法に関連する工程が本発明の実施形態により記載される。プロセス500は、ステップ504で始まり、ここでは、不揮発性メモリシステム内のすべてのブロック、またはより具体的には、すべての物理ブロックが検査される。欠陥走査プロセスは、1実施形態において、下レベルフォーマットの欠陥走査プロセスを含み得る。ブロックを検査する工程は、どのブロックが使用不能であり得るかを判定するためにブロックのコンテンツを検査する工程を含み得る。通常、システムが最初にフォーマット化された場合、使用不能ブロックは、実質的に、不揮発性メモリの製造業者によって使用不能であるとして識別されたブロック、すなわち、工場欠陥を有するブロックのみを含む。このようなブロックは、ブロック内に格納されたビットによって工場欠陥を有するとして識別され得る。従って、工程508において、不揮発性メモリ内の使用不能ブロックが識別される。使用不能ブロックを識別する工程は、ブロックを工場欠陥有するか、そうでない場合これを含むとして識別することが知られている、ビットまたはマーキング、例えば、ブロックの所定のページにおける「0」等の特定の署名などを含む各ブロックを識別する工程を包含し得る。
一旦、実質的にすべての使用不能ブロックが識別されると、使用不能なブロックは、工程512において消去カウントブロックにおいて使用不能であるとマークされるか、または、そうでない場合は識別される。特定のブロックを使用不能であるとマークする工程は、ブロックを使用不能であるとして識別するブロックについて保留される消去カウントブロックの部分において特定のマーキングまたはコードを配置する工程を含み得る。「FFFFFF」等の署名は、消去カウントブロックの適切なセクションに配置され得、特定のブロックが、工場欠陥が原因で使用不能であることを示す。消去カウントブロックにおける使用不能ブロックをマークする工程は、通常、不揮発性メモリ内の使用不能ブロックの総数のカウントを含むように、消去カウントブロックのヘッダを更新する工程をさらに包含することを理解されるべきである。
使用不能ブロックが消去カウントブロックにおいてマークされた後、使用可能ブロック、すなわち、消去されない工場欠陥を有さないブロックの消去カウントが、工程516にて初期化される。消去カウントを初期化する工程は、消去される各ブロックの消去カウントを0の値に設定する工程を含み得る。消去されないブロックの消去カウントは、通常、そのブロックと関連する少なくとも1つの冗長またはオーバヘッド領域に格納される。使用可能ブロックに対応する消去カウント、消去される使用可能ブロックおよび消去されない使用可能ブロックの両方は、その後、工程520において、消去カウントブロックにて設定され得る。通常、消去カウントブロックに格納された消去カウントは、0の値に、または消去されないブロックの場合には、その対応する消去されないブロックに格納される消去カウントと同じ値に設定されるか、そうでない場合、初期化され得る。換言すると、消去されないブロックの消去カウントは、通常、そのブロックに対応する位置における消去カウントブロックに格納される消去カウントと同じである。一旦、消去カウントが消去カウントブロックにおけるエントリのように設定されると、平均消去カウントは、消去カウントブロックにおいて工程524にて設定され得る。上述のように、平均消去カウントは、消去カウントブロックのヘッダに格納され得る。使用可能ブロックの消去カウントがすべて0の値に初期化された場合、平均消去カウントは、初期に、0の値に設定され得る。不揮発性メモリシステムに含まれる不揮発性メモリをフォーマット化するプロセスは、平均消去カウントが設定された後に完了する。
不揮発性メモリシステム内の物理ブロックを用いる間に、いくつかのブロックは、成長欠陥を有するとして識別され得る。前に使用可能であったブロックがもはや使用可能でないと判定された場合、そのブロックは、通常、成長欠陥を有する。図6を参照して、成長欠陥を有し得るブロックの処理と関連する工程は、本発明の実施形態により記載される。ブロックを有効に区別する工程と関連するプロセス550がブロックを使用する試みがなされる工程554にて開始する。記載される実施形態において、ブロックの使用を企てる工程は、予備ブロックプールからブロックを取得する工程およびデータをそのブロックに書き込むことを試みる工程を含み得る。あるいは、ブロックの使用を企てる工程は、ブロックからデータを読み出すことを試みる工程、またはブロックを消去することを試みる工程をさらに包含し得る。
ブロックが使用可能であるか否かに関する判定が工程558にてなされる。換言すると、ブロックが首尾よく書き込まれたか、首尾よく読み出されたか、または首尾よく消去されたかが判定される。ブロックが使用不能でないことが判定された場合、ブロックが使用可能ブロックであり、かつ使用可能ブロックのプール全体に残り得ることが表示される。従って、プロセスの流れは、ブロックが用いられる工程562に進む。ブロックを用いる工程は、ブロックを用いてデータを格納する工程、およびブロックを予備ブロックプールに追加する工程を包含し得る。一旦ブロックが用いられ、かつ利用可能であると有効に区別されると、ブロックを区別するプロセスが完了する。
あるいは、工程558において、ブロックが利用可能でないことが判定された場合、工程566において、ブロックは、利用可能なブロックのプール全体から有効に除去される。例えば、そのブロックが予備ブロックプールから取得され、かつ工程554において、そのブロックを用いる試みがブロックに書き込むことを試みる工程を含む場合、利用可能なブロックのプール全体からブロックを除去する工程は、予備ブロックプールからブロックを除去する工程を包含し得る。一般に、使用可能ブロックのプール全体からブロックを除去する工程は、ブロックをマークして、そのブロックが利用可能でないことを示す工程を包含し得る。
ブロックが利用可能なブロックのプール全体から除去された後、成長欠陥署名、例えば、「7FFFFF」署名は、工程570においてシステムの消去カウントブロックに書き込まれ得、ブロックが成長欠陥を有することを示す。このような署名は、通常、ブロックに対応する消去カウントブロック内の位置に書き込まれる。一旦成長欠陥署名が消去カウントブロックに書き込まれると、工程574にて別のブロックを用いる試みがなされ得る。例えば、工程570にて成長欠陥を有するとマークされたブロックがデータを格納するために用いられるべき場合、成長欠陥を有するとマークされたブロックに格納されることに失敗したデータを格納する際に用いるために異なったブロックが取得され得る。別のブロックを用いる試みがなされる場合、プロセスの流れは、工程558に戻り、ここで、ブロックが使用不能であるか否かが判定される。
例えば、消去カウントブロック内の異なった署名を用いることにより、工場欠陥を有する使用不能ブロックと成長欠陥を有する使用不能ブロックとを実質的に区別することによって、少なくともいくつかの成長欠陥を有する使用不能ブロックを再生することが可能であり得る。すなわち、実質的に常に不良のブロック、すなわち、工場欠陥を有する使用不能なブロックが、一旦良好であったが、不良になったブロック、すなわち、成長欠陥を有する使用不能ブロックから容易に区別されることを可能にすることによって、成長欠陥を有する使用不能ブロックの少なくともいくつかを、さらなるブロックの必要がある場合再生することが可能であり得る。使用不能ブロックを再生する工程は、通常、使用不能ブロックについての比較的徹底的な試験を実行して、再び利用可能であり得る任意のブロックを識別する工程を包含する。
図7aおよび図7bは、本発明の実施形態による不揮発性メモリシステム内の使用不能ブロックを再生するプロセスをインプリメントする1つの方法に関連する工程を図示するプロセスフロー図である。使用不能なブロックが再生されることを可能にする不揮発性性システム全体を動作させるプロセス600が、工程602にて開始し、ここで、メモリシステムが電源投入されるプロセスにあるか否かが判定される。システムが電量投入プロセスを経ていないことが判定される場合、プロセスの流れは、工程604に進み、ここで、消去カウントブロックが維持される。消去カウントブロックを維持する工程は、成長欠陥が原因で使用不能である使用不能ブロックを識別する消去カウントブロックに署名を書き込む工程を包含し得る。通常、消去カウントブロックは、システム内のブロックが用いられていると維持される。
システムの動作中の特定の時点にて、ステップ608において、予備ブロックプール、すなわち、通常、データの格納に用いられるために利用可能であるブロックのプールが低速走行するのはいつかが判定され得る。すなわち、工程608において、使用するために利用可能である十分な数の予備ブロックがあるか否かが判定される。例えば、コントローラによって、または、不揮発性メモリシステムと関連するプロセッサによって予備ブロックプールが低速走行していると判定される場合、プロセスの流れは、ステップ604に戻り、ここで、消去カウントブロックが引き続き維持される。
あるいは、工程608にて、予備ブロックが低速走行していると判定された場合、成長欠陥を有するいくつかの使用不能ブロックを再生させることを試みることが所望され得ることが表示される。換言すると、成長欠陥を有するとして識別された任意のブロックが実際は使用可能であるか否かを判定することは有益であり得る。従って、プロセスの流れは、工程608から工程612に進み、ここで、消去カウントブロックは成長欠陥署名について走査される。一旦消去カウントブロックの走査が開始すると、工程616において、成長欠陥を識別する署名が見出されたか否かが判定される。
工程616における判定が、成長欠陥を識別する署名が見出されなかったというものである場合、工程618において、成長欠陥を識別する署名を走査するための消去カウントブロックにおいてより多くのエントリがあるか否かに関しての判定がなされる。走査するより多くのエントリがあると判定された場合、消去カウントブロックは、工程612において、成長欠陥を識別する署名について走査される。他方、消去カウントブロックにおいて、走査するエントリがもはやないと判定された場合、プロセスの流れは工程604に戻り、ここで、消去カウントブロックが引き続き維持される。
工程616に戻って、成長欠陥署名が見出されたと判定された場合、成長欠陥署名が見出されたブロックは、工程620にて試験される。ブロックを試験する工程は、情報またはビットをブロックから消去するための消去試験、ビットをブロックに書き込むための書き込み試験、およびブロックから情報を読み出すための読み出し試験のうちの任意の1つまたはこれらの任意の組み合わせをブロックに対して行う工程を包含し得る。当業者によって理解されるように、消去試験は、通常、ブロックが適切に消去され得るか否かを判定するために用いられ、書き込み試験は、通常、ブロックが書き込まれ得るか否かを判定するために用いられ、読み出し試験は、通常、ブロックが読み出され得るか否かを判定するために用いられる。しかしながら、一般に、過酷なパターンを有する実質的に任意の比較的徹底的なブロックの試験が用いられ得る。
一旦成長欠陥署名が見出されたブロックが試験されると、工程624において、ブロックが試験に合格したか否かが判定される。1実施形態において、ブロックが試験に合格したか否かを判定する工程は、そのブロックが消去プロセス、書き込みプロセスおよび読み出しプロセスの少なくとも1つを首尾よく受けたか否かを判定する工程を包含し得る。ブロックが、受けた試験に合格したと判定された場合、ブロックはもはや使用不能でなく、従って、使用のために再生され得ることが表示される。従って、プロセスの流れは、工程632に進み、ここで、ブロックの消去カウントが、例えば、システム全体と関連する平均消去カウントに設定される。ブロックの消去カウントが設定された後、ブロックは、工程636において予備ブロックプールに追加される。ブロックを予備ブロックプールに追加することは、必要に応じて、ブロックが使用のために取得されることを可能にする。
工程636から、プロセスの流れは工程628に進み、ここで、消去カウントブロックの走査が完了するか否かが判定される。換言すると、工程628において、ブロックを、成長欠陥を有するとして識別する署名について走査をするために、消去カウントブロックにさらなるエントリがあるか否かが判定される。スキャンするさらなるエントリがあり、かつ、従って、消去カウントブロックの走査が完了されないと判定された場合、プロセスの流れは、工程612に戻り、ここで、消去カウントブロックは、ブロックが成長欠陥を有するとして識別する署名について走査される。あるいは、工程628において、消去カウントブロックの走査が完了したと判定された場合、プロセスの流れは、工程604に戻り、ここで、消去カウントブロックが引き続き維持される。
工程624に戻って、工程620において試験されたブロックが試験に合格しなかったことが判定された場合、ブロックは、依然として使用不能であることを示す。従って、ブロックは再生されないかもしれない。1実施形態において、ブロックは、事実上、永久的に使用不能であると考えられ得る。工程624において、ブロックが試験に合格しなかった場合、ブロックは、依然として使用不能であると判定され、プロセスの流れは工程626に進み、工程626において、ブロックが工場欠陥を有するとマークされる。ブロックが工場欠陥を有するとマークする工程は、消去カウントブロックにブロックの工場欠陥署名を書き込む工程を通常包含することが理解されるべきである。ブロックが工場欠陥を有するとマークされた後、消去カウントブロックの走査が完了したか否かが工程628において判定される。
工程602に戻って参照して、システムが電源投入プロセスを受けると判定された場合、1実施形態において、成長欠陥を有する使用不能ブロックが試験されて、このようなブロックが実際に利用可能であるか否かを判定し得る。従って、工程602から、プロセスの流れは、工程612に進み、ここで、消去カウントブロックが成長欠陥署名について走査される。
使用不能ブロックを管理することと関連する機能性は、通常、ソフトウェアにて、例えば、プログラムコードデバイスとして、または、不揮発性メモリまたは不揮発性メモリコンポーネントを含むホストシステムとのファームウェアとして、提供される。使用不能ブロックが消去カウントブロックにて署名を用いて追跡されることを有効に可能にし、かつ、成長欠陥を有するブロックが場合によっては再生されることを可能にするためにホストシステムに提供される、ソフトウェア、またはファームウェアと関連する適切なシステムアーキテクチャの1実施形態が図8に示される。システムアーキテクチャ700は、通常、アプリケーションインターフェースモジュール704、システムマネージャモジュール708、データマネージャモジュール712、データ完全性マネージャ716およびデバイスマネージャおよびインターフェースモジュール720を含む種々のモジュールを含み得るが、これらに限定され得ない。一般に、システムアーキテクチャ700は、例えば、図2aのプロセッサ108等のプロセッサによってアクセスされ得るソフトウェアコードデバイス、または、ファームウェアを用いてインプリメントされ得る。
一般に、アプリケーションインターフェースモジュール704は、ホスト、オペレーティングシステム、またはユーザと直接的に通信するように構成され得る。アプリケーションインターフェースモジュール704は、さらに、システムマネージャモジュール708およびデータマネージャモジュール712と通信する。ユーザが、フラッシュメモリを読み出し、書き込みまたはフォーマット化することをリクエストした場合、ユーザは、通常、オペレーティングシステムにリクエストを送信し、その後、アプリケーションインターフェースモジュール704に転送する。アプリケーションインターフェースモジュール704は、このリクエストをリクエストに依存して、システムマネージャモジュール708またはデータマネージャモジュール712に方向付けする。
システムマネージャモジュール708は、システム初期化サブモジュール724、消去カウントブロック管理サブモジュール726、および電力管理ブロックサブモジュール730を含む。システム初期化サブモジュール724は、通常、初期化のリクエストが処理されることを可能にするように構成され、通常、消去カウントブロック管理サブモジュール726と通信する。
消去カウントブロック管理サブモジュール726は、個々の消去カウントを用いてブロックの消去カウントが格納されるようにする機能性、および、平均消去カウントが計算され、かつ更新されるようにする機能性を含む。換言すると、消去カウントブロック管理サブモジュール726は、消去カウントが登録されることを事実上可能にし、かつ、平均消去カウントが維持されることを可能にする。さらに、1実施形態において、消去カウントブロック管理サブモジュール726は、さらに、システム全体の初期化リクエストの間、消去カウントブロックにおける実質的にすべてのブロックの消去カウントを実質的に同期化する。消去カウントブロック管理サブモジュール726が、平均消去カウントが消去カウントブロックにて格納されることをもたらすように構成され得るが、電力管理ブロックサブモジュール730は、その代わりに、平均消去カウントが格納されることを可能にするために用いられ得ることが理解されるべきである。
アプリケーションインターフェースモジュール704と通信することに加えて、システム管理モジュール708は、データ管理モジュール712ならびにデバイスマネージャおよびインターフェースモジュール720ともまた通信する。システムマネージャモジュール708およびアプリケーションインターフェースモジュール704の両方と通信するデータ管理モジュール712は、論理セクタを物理セクタに有効に変換するセクタマッピングを提供する機能性を含み得る。すなわち、データ管理モジュール712は、論理ブロックを物理ブロックにマッピングするように構成される。データ管理モジュール712は、さらに、オペレーティングシステムおよびファイルシステムインターフェースレイヤと関連する機能を含み得、かつ、ブロック内の群が管理されることを可能にする。これは、同時係属中の米国特許出願第10/281,855号に記載され、この出願は、参考のため、本明細書中にその全体が援用される。1実施形態において、データ管理モジュール712は、実質的にアウトオブシーケンス(out−of−sequence)の書き込みプロセスが生じることを可能にするように構成され得る。
システムマネージャモジュール708、データマネージャ712およびデータ完全性マネージャ716と通信するデバイスマネージャおよびインターフェースモジュール720は、通常、フラッシュメモリインターフェースを提供し、かつ、例えば、I/Oインターフェース等のハードウェア抽象化と関連する機能性を含む。データ完全性マネージャモジュール716は、機能性の中でもECC処理を提供する。
本発明のほんのわずかな実施形態が記載されたが、本発明は、本発明の意図または範囲から逸脱することなく、多くの他の特定の形態で具体化され得ることが理解されるべきである。例示的に、成長欠陥を有する使用不能ブロック、および工場欠陥を有する使用不能ブロックが、消去カウントブロックにおける異なった署名を用いて追跡されることが記載されたが、異なったタイプの使用不能ブロックが、実質的に任意の適切なデータ構造を用いて追跡され得る。換言すると、1タイプのマーキングまたは署名、および工場欠陥を有するブロックを用いて、消去カウントブロック内の別のタイプのマーキングまたは署名を用いて、成長欠陥を有するブロックを追跡する代わりに、このようなブロックは、使用不能ブロックに関する情報を実質的に排他的に含むように構成されるデータ構造を含むがこれに限定されない種々のデータ構造で追跡され得る。このようなデータ構造内で、成長欠陥を有するブロックが識別され得、かつ工場欠陥を有するブロックが識別され得、再生の目的で、成長欠陥を有するブロックを容易に識別することが可能であり得る。
一般に、実質的に任意のマーキングまたは署名が、ブロック内に存在する欠陥のタイプを識別するために用いられ得る。すなわち、「7FFFFF」の署名は、ブロックが成長欠陥を有するとして識別する際に用いられるために適切であると記載され、「FFFFFF」の署名は、ブロックが工場欠陥を有するとして識別する際に用いられるために適切であるとして識別されたが、この署名は、多様であり得る。
消去カウントブロックのヘッダのコンテンツは、本発明の意図または範囲から逸脱することなく、多様であり得る。例えば、使用不能ブロックの総数は、必ずしもヘッダにて格納されないかもしれず、その代わりに、多数の使用不能ブロックに関する情報が格納されないかもしれず、または、成長欠陥を有する多数の使用不能ブロックおよび工場欠陥を有する多数の使用不能ブロックが別々に格納され得る。あるいは、分割情報は、実質的に、ヘッダから削除され得る。
実質的に成長欠陥を有する使用不能ブロックのみを試験して、成長欠陥を有する任意の使用不能ブロックが再生され得るか否かを判定することに関して使用不能ブロックの再利用または再生が記載された一方で、その代わりに、実質的にすべての使用不能ブロックが試験され得、再生のために適切であり得る任意の使用不能ブロックがあるか否かを判定する。実質的にすべての使用不能なブロックが試験される実施形態において、使用不能なブロックを識別するために消去カウントブロックにおいて格納された署名は、成長欠陥を有するブロックおよび工場欠陥を有するブロックの両方について同じであり得る。すなわち、使用不能なブロックが再生されることを可能にするシステムにおいて、消去カウントブロックにおける署名は、使用不能ブロックと関連する欠陥のタイプ間を必ずしも区別し得ず、その代わりに、ブロックが使用不能であることのみを実質的に識別し得る。
本発明の種々の方法と関連する工程は、多様であり得る。一般に、工程は、本発明の意図または範囲から逸脱することなく追加、除去、再編成、および変更され得る。例示的に、予備ブロックプールが低速走行している場合、成長欠陥を有するブロックを再生することを試みる代わりに、ブロックは、実質的にいつでも再生され得る。さらに、成長欠陥を有し得るブロックの処理は、コンテンツを有するブロックが成長欠陥を有すると判定されると、ブロックの任意のコンテンツを別のブロックにコピーするか、または少なくともコピーすることを試みる工程を包含し得る。従って、本実施例は、例示的であり、限定的ではないと考えられるべきであり、本発明は、本明細書中に与えられた詳細に限定されるべきでないが、添付の請求項の範囲内で改変され得る。
本発明では、少なくともいくつかの欠陥ブロックが、所望でならば、使用可能性について容易に識別および試験され得るように欠陥ブロックを追跡する方法および装置が開示される。本発明の1局面によると、不揮発性メモリ内の予備ブロックを識別する方法は、その不揮発性メモリと関連する少なくとも1つの欠陥物理ブロックが使用可能であるか否かを判定するように構成された試験を、その欠陥物理ブロックに受けさせる工程を包含する。この方法は、欠陥物理ブロックが試験に合格した場合を判定する工程、および、その欠陥物理ブロックが試験に合格したことが判定された場合、その欠陥物理ブロックを使用可能な物理ブロックとして識別する工程をさらに包含する。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
図1は、メモリシステム内の欠陥ブロックのリストをコンパイルする1つの従来の方法による工程を示すプロセスの流れ図である。 図2aは、不揮発性メモリを含む一般的ホストシステムの図示である。 図2bは、例えば、図2aのメモリデバイス120等のメモリデバイスの図示である。 図2cは、埋め込み不揮発性メモリを含むホストシステムの図示である。 図3aは、本発明の実施形態による、消去カウントブロックの図示である。 図3bは、例えば、図3aの消去カウントブロック300のページ310a等の消去カウントブロック内のページの図示であり、ページは、本発明の実施形態により、実質的にロケーションに分割される。 図3cは、例えば、図3aの消去カウントブロック300のページ310a等の消去カウントブロック内のページの図示であり、ページは、本発明の実施形態により実質的にバイトに分割される。 図3dは、例えば、図3aの消去カウントブロック300のページ310a等の消去カウントブロック内のページの図示であり、これは、消去カウント、および本発明の実施形態により特定のブロックが使用不能であることを示すエントリを含む。 図4は、例えば、本発明の実施形態による、図3aの消去カウントブロック300のヘッダ320等の消去カウントブロックのヘッダの図示である。 図5は、不揮発性メモリシステムの不揮発性メモリが本発明の実施形態により最初にフォーマット化される場合、消去カウントブロックを初期化する1方法と関連する工程を示すプロセスの流れ図である。 図6は、本発明の実施形態による、成長欠陥を有し得るブロックを処理する工程に関する工程を示すプロセスの流れ図である。 図7aは、本発明の実施形態による不揮発性メモリシステム内の使用不能ブロックを再生するプロセスをインプリメントする1方法に関連する工程を示すプロセスの流れ図である。 図7bは、本発明の実施形態による不揮発性メモリシステム内の使用不能ブロックを再生するプロセスをインプリメントする1方法に関連する工程を示すプロセスの流れ図である。 図8は、本発明の実施形態によるシステムのアーキテクチャのブロック図の図示である。
符号の説明
104 システムバス
108 マイクロプロセッサ
112 ランダムアクセスメモリ
116 入力/出力回路
120 不揮発性メモリデバイス
124 不揮発性メモリ
128 選択的メモリ制御システム
130 選択的インターフェースブロック

Claims (51)

  1. 不揮発性メモリ内の予備ブロックを識別する方法であって、
    該不揮発性メモリ内で欠陥があるとして識別された少なくとも1つの物理ブロックに試験を受けさせる工程であって、該試験は、欠陥がある物理ブロックが使用可能であるか否かを判定するように構成される、工程と、
    欠陥があるとして識別された該物理ブロックが該試験に合格した場合を判定する工程と、
    欠陥があるとして識別された該物理ブロックが該試験に合格したことが判定された場合、欠陥があるとして識別された該物理ブロックを使用可能な物理ブロックとして識別する工程と
    を包含する、方法。
  2. 欠陥があるとして識別された前記少なくとも1つの物理ブロックに前記試験を受けさせる工程は、欠陥があるとして識別された該少なくとも1つの物理ブロックに、欠陥があるとして識別された該物理ブロックにビットを書き込む書き込みプロセス、欠陥があるとして識別された該物理ブロックから該ビットを読み出す読み出しプロセス、および、欠陥があるとして識別された該物理ブロックから該ビットを消去する消去プロセスのうちの少なくとも1つを受けさせる工程を包含する、請求項1に記載の方法。
  3. 前記物理ブロックを使用可能な物理ブロックとして識別する工程は、
    欠陥があるとして識別された該物理ブロックを第1の予備ブロックとして識別する工程と、
    該第1の予備ブロックを前記不揮発性メモリと関連する予備ブロックのプールに追加する工程であって、該第1の予備ブロックは、ビットを格納する際に用いるための該予備ブロックのプールから取得されるように構成される、工程と
    を包含する、請求項1に記載の方法。
  4. 前記不揮発性メモリ内で少なくとも1つのさらなる予備ブロックが必要とされる場合を判定する工程と、
    該少なくとも1つのさらなる予備ブロックが必要とされることが判定された場合、前記物理ブロックに欠陥があるとして識別されたブロックを識別する工程と
    をさらに包含する、請求項1に記載の方法。
  5. 欠陥があるとして識別された前記物理ブロックを識別する工程は、
    前記不揮発性メモリと関連するデータ構造を走査する工程であって、該データ構造は、欠陥があるとして識別された該物理ブロックに欠陥があることを示すように構成されたビットを含むように構成される、工程を包含する、請求項4に記載の方法。
  6. 前記データ構造は、欠陥があるとして識別された前記物理ブロックが工場欠陥を有する場合を識別するためのビットの第1のセット、および、欠陥があるとして識別された該物理ブロックが成長欠陥を有する場合を識別するためのビットの第2のセットの1つを含むようにさらに構成される、請求項5に記載の方法。
  7. 前記データ構造は、消去カウントブロックである、請求項4に記載の方法。
  8. 欠陥があるとして識別された前記物理ブロックは、成長欠陥を含む、請求項1に記載の方法。
  9. 前記不揮発性メモリは、フラッシュメモリである、請求項1に記載の方法。
  10. 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つである、請求項9に記載の方法。
  11. 不揮発性メモリ内の使用不能物理格納素子を管理する方法であって、
    第1の物理格納素子に欠陥があるとして識別される場合を判定する工程と、
    該第1の物理格納素子に欠陥があることが判定された場合、使用可能な物理格納素子のプールから該第1の物理格納素子を実質的に除去する工程と、
    該不揮発性メモリにおけるデータ構造に第1の署名を格納する工程であって、該第1の署名は、該第1の物理格納素子に欠陥があるとして識別するように構成される、工程と
    を包含する、方法。
  12. 前記第1の物理格納素子に欠陥がある場合を判定する工程は、該第1の物理格納素子が首尾よく読み出され得ない場合を判定する工程、該第1の物理格納素子が首尾よく書き込まれない場合を判定する工程、および、該物理格納素子が首尾よく消去され得ない場合を判定する工程のうちの少なくとも1つを包含する、請求項11に記載の方法。
  13. 前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は成長欠陥を含み、前記第1の署名は、該第1の物理格納素子が該成長欠陥を有するとして識別するように構成される、請求項12に記載の方法。
  14. 前記第1の物理格納素子に欠陥がある場合を判定する工程は、前記ビットは、該第1の物理格納に欠陥があることを示すように構成されるか否かを判定するために、該第1の物理格納素子に含まれるビットを読み出す工程を包含する、請求項11に記載の方法。
  15. 前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子が該工場欠陥を有するとして識別するように構成される、請求項14に記載の方法。
  16. 前記データ構造は、前記使用可能格納素子に関連するビットを含むようにさらに構成される、請求項11に記載の方法。
  17. 前記不揮発性メモリ内の実質的にすべての物理素子を走査して、前記第1の物理素子を識別する工程をさらに包含する、請求項11に記載の方法。
  18. 前記第1の物理素子は、第1の物理ブロックであり、前記使用可能物理素子は使用可能物理ブロックである、請求項11に記載の方法。
  19. 前記不揮発性メモリは、フラッシュメモリである、請求項11に記載の方法。
  20. 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つである、請求項19に記載の方法。
  21. 不揮発性メモリと関連する、欠陥があるとして識別された少なくとも1つの物理ブロックに試験を受けさせるコードデバイスであって、該試験は、欠陥があるとして識別された物理ブロックが使用可能であるか否かを判定するように構成される、コードデバイスと、
    欠陥があるとして識別された該物理ブロックが該試験に合格した場合に関して判定させるコードデバイスと、
    欠陥があるとして識別された該物理ブロックが該試験に合格したことが判定された場合、欠陥があるとして識別された該物理ブロックを使用可能な物理ブロックとして識別させるコードデバイスと、
    該コードデバイスを格納するメモリ領域と
    を備える、不揮発性メモリシステム。
  22. 欠陥があるとして識別された前記物理ブロックに試験を受けさせる前記コードデバイスは、欠陥があるとして識別された該物理ブロックに欠陥があるとして識別された該物理ブロックにビットを書き込む書き込みプロセスを受けさせるコードデバイス、欠陥があるとして識別された該物理ブロックに欠陥があるとして識別された該物理ブロックから該ビットを読み出す読み出しプロセスを受けさせるコードデバイス、および、欠陥があるとして識別された該欠陥がある物理ブロックに該ビットを消去する消去プロセスを受けさせるコードデバイスのうちの少なくとも1つを備える、請求項21に記載の不揮発性メモリシステム。
  23. 欠陥があるとして識別された前記物理ブロックを利用可能な物理ブロックとして識別させる前記コードデバイスは、
    欠陥があるとして識別された該物理ブロックを第1の予備ブロックとして識別させるコードデバイスと、
    該第1の予備ブロックを、前記不揮発性メモリと関連する予備ブロックのプールに追加させるコードデバイスであって、該第1の予備ブロックは、ビットを格納する際に用いるための該予備ブロックのプールから取得されるように構成される、コードデバイスと
    を備える、請求項21に記載の不揮発性メモリシステム。
  24. 前記不揮発性メモリ内で少なくとも1つのさらなる予備ブロックが必要とされる場合の判定をさせるコードデバイスと、
    該少なくとも1つのさらなる予備ブロックが必要とされることが判定された場合、欠陥があるとして識別された前記物理ブロックを識別させるコードデバイスであって、該不揮発性メモリに関連するデータ構造を走査させるコードデバイスを含み、該データ構造は、欠陥があるとして識別された該物理ブロックに欠陥があることを示すように構成されるビットを含むように構成される、コードデバイスと
    をさらに備える、請求項21に記載の不揮発性メモリシステム。
  25. 前記データ構造は、欠陥があるとして識別された前記物理ブロックが工場欠陥を有する場合を識別するためのビットの第1のセット、および欠陥があるとして識別された該物理ブロックが成長欠陥を有する場合を識別するためのビットの第2のセットの1つを含むようにさらに構成される、請求項24に記載の不揮発性メモリシステム。
  26. 欠陥があるとして識別された前記物理ブロックは成長欠陥を含む、請求項21に記載の不揮発性メモリシステム。
  27. 前記コードデバイスは、ソフトウェアコードデバイスおよびファームウェアコードデバイスの1つである、請求項21に記載の不揮発性メモリシステム。
  28. 不揮発性メモリの第1の物理格納素子に欠陥がある場合に関して判定させるコードデバイスと、
    該第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子を、使用可能な物理格納素子のプールから実質的に除去させるコードデバイスと、
    第1の署名を不揮発性メモリにおけるデータ構造に格納させるコードデバイスであって、該第1の署名は、該第1の物理格納素子に欠陥があるとして識別するように構成される、コードデバイスと、
    該コードデバイスを格納するメモリ領域と
    を備える、不揮発性メモリシステム。
  29. 前記第1の物理格納素子に欠陥がある場合の判定をさせる前記コードデバイスは、該第1の物理格納素子が首尾よく読み出され得ない場合の判定をさせるコードデバイス、該第1の物理格納素子が首尾よく書き込まれ得ない場合の判定をさせるコードデバイス、および該第1の物理格納素子が首尾よく消去され得ない場合の判定をさせるコードデバイスのうちの少なくとも1つを備える、請求項28に記載の不揮発性メモリシステム。
  30. 前記第1の物理格納素子に欠陥があることが判定される場合、該第1の物理格納素子は成長欠陥を含み、第1の署名は、該第1の物理格納素子が該成長欠陥を有するとして識別するように構成される、請求項29に記載の不揮発性メモリシステム。
  31. 前記第1の物理格納素子に欠陥がある場合の判定をさせる前記コードデバイスは、前記ビットが該第1の物理格納に欠陥があることを示すように構成されるか否かを判定するために、該第1の物理格納素子内に含まれるビットを読み出させるコードデバイスを含む、請求項28に記載の不揮発性メモリシステム。
  32. 前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子を該工場欠陥を有するとして識別するように構成される、請求項31に記載の不揮発性メモリシステム。
  33. 前記不揮発性メモリ内の実質的にすべての物理素子を走査させて、前記第1の物理素子を識別するコードデバイスをさらに備える、請求項28に記載の不揮発性メモリシステム。
  34. 前記第1の物理素子は、第1の物理ブロックであり、前記使用可能な物理素子は、使用可能な物理ブロックである、請求項28に記載の不揮発性メモリシステム。
  35. 前記コードデバイスは、ソフトウェアコードデバイスおよびファームウェアコードデバイスの1つである、請求項28に記載の不揮発性メモリシステム。
  36. 不揮発性メモリと、
    該不揮発性メモリと関連する少なくとも1つの欠陥がある物理ブロックに試験を受けさせる手段と、
    該欠陥がある物理ブロックが該試験に合格した場合を判定する手段と、
    該欠陥がある物理ブロックが該試験に合格したことが判定される場合、該欠陥がある物理ブロックを使用可能な物理ブロックとして識別する手段と
    を備える、不揮発性メモリシステム。
  37. 前記欠陥がある物理ブロックは、成長欠陥を含む、請求項1に記載の不揮発性メモリシステム。
  38. 前記不揮発性メモリは、フラッシュメモリである、請求項36に記載の不揮発性メモリシステム。
  39. 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つである、請求項38に記載の不揮発性メモリシステム。
  40. 不揮発性メモリと、
    第1の物理格納素子に欠陥がある場合を判定する手段と、
    該第1の物理格納素子に欠陥があることが判定された場合、使用可能な物理格納素子のプールから該第1の物理格納素子を実質的に除去する手段と、
    該不揮発性メモリ内のデータ構造に第1の署名を格納する手段であって、第1の署名は、該第1の物理格納素子を欠陥があるとして識別するように構成される、手段と、
    を備える、不揮発性メモリシステム。
  41. 前記第1の物理格納素子に欠陥がある場合を判定する前記手段は、該第1の物理格納素子が首尾よく読み出され得ない場合を判定する手段、該第1の物理格納素子が首尾よく書き込まれ得ない場合を判定する手段、および、該第1の物理格納素子が首尾よく消去され得ない場合を判定する手段のうちの少なくとも1つを備える、請求項40に記載の不揮発性メモリシステム。
  42. 前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は成長欠陥を含み、前記第1の署名は、該第1の物理格納素子を該成長欠陥を有するとして識別するように構成される、請求項41に記載の不揮発性メモリシステム。
  43. 前記第1の物理格納素子に欠陥がある場合を判定する手段は、該第1の物理格納素子内に含まれるビットを読み出す手段を含み、該ビットが該第1の物理格納に欠陥があることを示すように構成されるか否かを判定する、請求項40に記載の不揮発性メモリシステム。
  44. 前記第1の物理格納素子に欠陥があることが判定された場合、該第1の物理格納素子は工場欠陥を含み、前記第1の署名は、該第1の物理格納素子を該工場欠陥を有するとして識別するように構成される、請求項43に記載の不揮発性メモリシステム。
  45. 前記第1の物理素子は、第1の物理ブロックであり、前記使用可能な物理素子は、使用可能な物理ブロックである、請求項40に記載の不揮発性メモリシステム。
  46. 前記不揮発性メモリは、フラッシュメモリである、請求項40に記載の不揮発性メモリシステム。
  47. 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つである、請求項46に記載の不揮発性メモリシステム。
  48. 不揮発性メモリシステム内のブロックを管理する方法であって、
    該不揮発性メモリシステムの不揮発性メモリ内の第1の物理ブロックが工場欠陥を有する場合を判定する工程と、
    該第1の物理ブロックが該工場欠陥を有することが判定された場合、該第1の物理ブロックを該工場欠陥を有するとして識別する第1の署名を該不揮発性メモリと関連するデータ構造に格納する工程と、
    該第1の物理ブロックが該工場欠陥を有することが判定された場合、該第1の物理ブロックが情報を格納するために用いられることを実質的に防止する工程と、
    該不揮発性メモリ内の第2の物理ブロックが成長欠陥を有する場合を判定する工程と、
    該第2の物理ブロックが該成長欠陥を有することが判定された場合、該第2の物理ブロックを該成長欠陥を有するとして識別する第2の署名を該データ構造に格納する工程と、
    該第1の物理ブロックが該成長欠陥を有することが判定された場合、該第2の物理ブロックが情報を格納するために用いられることを実質的に防止する工程と
    を包含する、方法。
  49. 前記不揮発性メモリ内で予備ブロックが必要とされる場合を判定する工程と、
    該第2の物理ブロックを試験して、前記第2の物理ブロックが使用可能である場合を判定する工程と、
    該第2の物理ブロックが使用可能であることが判定された場合、該第2の物理ブロックを該予備ブロックとして指定する工程と
    をさらに包含する、請求項48に記載の方法。
  50. 前記第2の署名を配置することによって前記第2の物理ブロックを識別するために、前記データ構造を走査する工程をさらに包含する、請求項49に記載の方法。
  51. 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの1つである、請求項48に記載の方法。
JP2003368138A 2002-10-28 2003-10-28 不揮発性メモリシステム内での使用不可能なブロック管理 Expired - Fee Related JP4361774B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42196502P 2002-10-28 2002-10-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009152191A Division JP2009282991A (ja) 2002-10-28 2009-06-26 不揮発性メモリシステム内での使用不可能なブロック管理

Publications (3)

Publication Number Publication Date
JP2004152299A true JP2004152299A (ja) 2004-05-27
JP2004152299A5 JP2004152299A5 (ja) 2006-11-30
JP4361774B2 JP4361774B2 (ja) 2009-11-11

Family

ID=32108157

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003368138A Expired - Fee Related JP4361774B2 (ja) 2002-10-28 2003-10-28 不揮発性メモリシステム内での使用不可能なブロック管理
JP2009152191A Withdrawn JP2009282991A (ja) 2002-10-28 2009-06-26 不揮発性メモリシステム内での使用不可能なブロック管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009152191A Withdrawn JP2009282991A (ja) 2002-10-28 2009-06-26 不揮発性メモリシステム内での使用不可能なブロック管理

Country Status (5)

Country Link
US (1) US7171536B2 (ja)
EP (1) EP1418502A3 (ja)
JP (2) JP4361774B2 (ja)
KR (1) KR100906519B1 (ja)
CN (1) CN100589203C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284700A (ja) * 2004-03-30 2005-10-13 Renesas Technology Corp メモリカード
US8417988B2 (en) 2009-05-26 2013-04-09 Samsung Electronics Co., Ltd. Memory systems and defective block management methods related thereto
JP2021508140A (ja) * 2017-12-29 2021-02-25 マイクロン テクノロジー,インク. 訂正不可能なecc

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI235915B (en) * 2003-03-13 2005-07-11 Ritek Corp Device and method for recording the status of block of a nonvolatile memory
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
CN1728284B (zh) * 2004-07-26 2012-08-22 深圳市朗科科技股份有限公司 一种扫描闪存盘的闪存芯片的方法
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
JP4192129B2 (ja) 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US7282374B1 (en) * 2004-11-03 2007-10-16 Advanced Micro Devices, Inc. Method and apparatus for comparing device and non-device structures
US7246195B2 (en) * 2004-12-30 2007-07-17 Intel Corporation Data storage management for flash memory devices
JP4843222B2 (ja) * 2005-01-11 2011-12-21 株式会社東芝 半導体記憶装置の制御方法、メモリカード、及びホスト機器
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7500081B2 (en) * 2005-09-30 2009-03-03 Intel Corporation Power-up implementation for block-alterable memory with zero-second erase time
FR2894709A1 (fr) * 2005-12-13 2007-06-15 Gemplus Sa "detecteur de destruction anormale de secteur memoire"
US7441068B2 (en) * 2006-01-06 2008-10-21 Phison Electronics Corp. Flash memory and method for utilizing the same
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
US7466600B2 (en) * 2006-08-03 2008-12-16 Micron Technology, Inc. System and method for initiating a bad block disable process in a non-volatile memory
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US7561482B2 (en) * 2006-09-07 2009-07-14 Sandisk Corporation Defective block isolation in a non-volatile memory system
KR100781976B1 (ko) * 2006-11-02 2007-12-06 삼성전자주식회사 플래시 메모리를 구비하는 반도체 메모리 장치에서의 블록상태 정보 제공방법
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
DE602008002849D1 (de) * 2007-04-20 2010-11-18 St Microelectronics Sa Kontrolle der Integrität eines prozessorexternen Speichers
CN101369463B (zh) * 2007-08-17 2012-12-12 深圳芯邦科技股份有限公司 闪存检测分类方法
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
CN101527162A (zh) * 2008-03-07 2009-09-09 深圳市朗科科技股份有限公司 卡槽式闪存硬盘
WO2009124320A1 (en) 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8112682B2 (en) * 2009-04-23 2012-02-07 Sandisk Il Ltd Method and device for bad-block testing
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
WO2011031796A2 (en) * 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
KR20110060493A (ko) * 2009-11-30 2011-06-08 삼성전자주식회사 메모리 장치의 소거 카운트 관리 방법 및 장치
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8429371B2 (en) 2010-03-23 2013-04-23 Avaya Inc. System and method for robust and efficient free chain management
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8560922B2 (en) 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
TWI473103B (zh) * 2011-09-14 2015-02-11 威剛科技股份有限公司 快閃記憶體儲存裝置及其不良儲存區域的判定方法
US8959416B1 (en) * 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
US8700961B2 (en) 2011-12-20 2014-04-15 Sandisk Technologies Inc. Controller and method for virtual LUN assignment for improved memory bank mapping
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9128822B2 (en) * 2012-06-22 2015-09-08 Winbond Electronics Corporation On-chip bad block management for NAND flash memory
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
CN102880554B (zh) * 2012-10-09 2013-12-25 邹粤林 提高闪存芯片存储效率的方法、闪存存储系统及其控制器
TWI501249B (zh) * 2012-11-14 2015-09-21 Winbond Electronics Corp 晶片上之反及閘快閃記憶體及其損壞區塊管理方法
CN103871447B (zh) * 2012-12-14 2017-03-01 华邦电子股份有限公司 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9804922B2 (en) 2014-07-21 2017-10-31 Sandisk Technologies Llc Partial bad block detection and re-use using EPWR for block based architectures
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
TWI687933B (zh) * 2017-03-03 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及其區塊釋放方法
US10387281B2 (en) 2017-08-30 2019-08-20 Micron Technology, Inc. Flash memory block retirement policy
CN109343800B (zh) * 2018-09-30 2021-11-12 深圳市得一微电子有限责任公司 存储设备管理方法、装置及可读存储介质
US11183267B2 (en) * 2019-07-12 2021-11-23 Micron Technology, Inc. Recovery management of retired super management units
CN111179997B (zh) * 2019-12-26 2021-09-14 武汉精鸿电子技术有限公司 一种半导体存储器测试数据的存储方法及装置
KR102227196B1 (ko) * 2020-08-14 2021-03-15 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
CN114968066A (zh) * 2021-02-19 2022-08-30 瑞昱半导体股份有限公司 用于快闪存储器中进行故障区块管理的方法与装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
EP1031992B1 (en) * 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5222109A (en) * 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5303219A (en) * 1991-09-09 1994-04-12 International Business Machines Corporation Reclamation of dust contaminated sectors in optical disk apparatus
US5438573A (en) * 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5377146A (en) * 1993-07-23 1994-12-27 Alliance Semiconductor Corporation Hierarchical redundancy scheme for high density monolithic memories
JP3263250B2 (ja) * 1994-08-24 2002-03-04 株式会社東芝 液晶表示装置
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
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
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6412089B1 (en) * 1999-02-26 2002-06-25 Compaq Computer Corporation Background read scanning with defect reallocation
JP2000285001A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 半導体フラッシュメモリ装置及びその制御方法
KR20010003416A (ko) * 1999-06-23 2001-01-15 김영환 플래쉬 메모리의 프리프로그램 방법
JP4165990B2 (ja) * 1999-12-20 2008-10-15 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
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
JP4601119B2 (ja) 2000-05-02 2010-12-22 株式会社アドバンテスト メモリ試験方法・メモリ試験装置
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6563732B2 (en) * 2001-08-02 2003-05-13 Stmicroelectronics, Inc. Redundancy circuit and method for flash memory devices
US6759257B2 (en) * 2001-11-13 2004-07-06 Fujitsu Limited Structure and method for embedding capacitors in z-connected multi-chip modules

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284700A (ja) * 2004-03-30 2005-10-13 Renesas Technology Corp メモリカード
JP4570891B2 (ja) * 2004-03-30 2010-10-27 ルネサスエレクトロニクス株式会社 記憶装置
US8032783B2 (en) 2004-03-30 2011-10-04 Renesas Electronics Corporation Memory apparatus which provides notification of memory capacity
US8417988B2 (en) 2009-05-26 2013-04-09 Samsung Electronics Co., Ltd. Memory systems and defective block management methods related thereto
JP2021508140A (ja) * 2017-12-29 2021-02-25 マイクロン テクノロジー,インク. 訂正不可能なecc
JP7167164B2 (ja) 2017-12-29 2022-11-08 マイクロン テクノロジー,インク. 訂正不可能なecc
US11694760B2 (en) 2017-12-29 2023-07-04 Micron Technology, Inc. Uncorrectable ECC

Also Published As

Publication number Publication date
CN100589203C (zh) 2010-02-10
JP2009282991A (ja) 2009-12-03
JP4361774B2 (ja) 2009-11-11
US20040080998A1 (en) 2004-04-29
KR20040038713A (ko) 2004-05-08
EP1418502A2 (en) 2004-05-12
US7171536B2 (en) 2007-01-30
KR100906519B1 (ko) 2009-07-07
EP1418502A3 (en) 2009-12-09
CN1512511A (zh) 2004-07-14

Similar Documents

Publication Publication Date Title
JP4361774B2 (ja) 不揮発性メモリシステム内での使用不可能なブロック管理
KR101004876B1 (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블록
EP1424631B1 (en) Hybrid implementation for error correction codes within a non-volatile memory system
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
US6388919B2 (en) Memory controller for flash memory system and method for writing data to flash memory device
JP3145104B2 (ja) 半導体メモリにおいて欠陥を取り扱うデバイスと方法
US8732519B2 (en) Method for using bad blocks of flash memory
US20040103241A1 (en) Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
JP2002508862A (ja) フラッシュメモリ内のブロックにおける移動セクタ
JPH11338782A (ja) 記憶装置及びその欠陥セクタ代替方法
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
US9710347B2 (en) Handling defective non-volatile memory
CN114385084B (zh) 坏块表继承方法及其存储装置
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003263894A (ja) 不揮発性半導体メモリ装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090312

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090610

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090626

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4361774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees