(57)【特許請求の範囲】
【請求項１】
単一のメモリセルに１ビットの情報を記憶するフラッシュメモリの欠陥管理方法において、
同一物理ページ内の、エラーが発生したことがある複数のビットに対応するメモリセルの数が、エラー訂正符号によってエラー訂正可能なビット数以下の所定の数を超える場合、当該物理ページを含む物理ブロックを使用不可とすることを特徴とするフラッシュメモリの欠陥管理方法。
【請求項２】
単一のメモリセルに複数ビットの情報を記憶するフラッシュメモリの欠陥管理方法において、
同一物理ページ内の、エラーが発生したことがある複数のビットに対応するメモリセルに含まれるビットの合計数が、エラー訂正符号によってエラー訂正可能なビット数以下の所定の数を超える場合、当該物理ページを含む物理ブロックを使用不可とすることを特徴とするフラッシュメモリの欠陥管理方法。
【請求項３】
実データとともに、物理ページの冗長部分に、エラーが発生したビットの物理的な位置を示す情報を記憶することを特徴とする請求項１または２に記載のフラッシュメモリの欠陥管理方法。
【請求項４】
データ読み出し時にエラーが発生し、かつそのエラーが発生したビットの物理的な位置情報が、当該物理ページの冗長部分に記憶された、エラーが発生したビットの物理的な位置を示す情報と一致する場合、エラー訂正符号によって訂正可能なエラーであると判断することを特徴とする請求項３に記載のフラッシュメモリの欠陥管理方法。
【請求項５】
データ読み出し時に新規にエラーが発生し、かつそのエラーが発生したビットの物理的な位置情報を記憶するための空き領域が当該物理ページの冗長部分にある場合、前記新規に発生したエラーの物理的な位置情報を前記空き領域に登録し、エラー訂正符号によって訂正可能なエラーであると判断することを特徴とする請求項３に記載のフラッシュメモリの欠陥管理方法。
【請求項６】
データ読み出し時に新規にエラーが発生し、かつそのエラーが発生したビットの物理的な位置情報を記憶するための空き領域が当該物理ページの冗長部分にない場合、訂正不可能な障害が発生したと判断して、当該物理ページを含む物理ブロックを使用不可とすることを特徴とする請求項３に記載のフラッシュメモリの欠陥管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、単一のメモリセルに１ビットの情報を記憶することができるフラッシュメモリ、または、単一のメモリセルに複数ビットの情報を記憶することができるフラッシュメモリの欠陥管理方法に関する。
【０００２】
近時、携帯型の情報機器やデジタルカメラなどでは、電気的に一括消去および再書き込み可能な読み出し専用メモリであるフラッシュメモリを用いた記憶装置が用いられている。一般に、フラッシュメモリ、特にＮＡＮＤ型のフラッシュメモリを用いた記憶装置では、エラー訂正符号を採用してエラー訂正をおこなうとともに、物理ページの管理情報を記憶し、その管理情報に基づいて物理ブロックの使用の可否を判断している。ここで、物理ページとはデータの書き込みまたは読み出しの最小単位である。また、物理ブロックとはデータ消去の最小単位であり、複数の物理ページで構成される。
【０００３】
【従来の技術】
従来、フラッシュメモリを用いた記憶装置では、物理ページの管理情報として、各物理ページ毎に、データの消去がおこなわれた回数や、プログラミングすなわちデータの書き込みがおこなわれた回数などの履歴を記憶している。そして、データの消去や書き込みなどによってメモリセルにストレスがかかった回数を、物理ブロックの使用を不可とする判断基準として用いている。また、実際にエラーが発生した物理ページを含む物理ブロックを使用不可としている。
【０００４】
【発明が解決しようとする課題】
しかしながら、メモリセルにストレスがかかった回数や実際のエラーの発生を使用不可の判断基準とした場合、ある物理ページが、エラー訂正符号によるエラー訂正を活用すれば十分に継続して使用が可能な状態であっても、その物理ページを含む物理ブロックは使用不可であると判断されるおそれがある。
【０００５】
たとえば、記憶装置が１物理ページあたり２ビットのエラー訂正機能を有する場合、データの読み出し時にある物理ページで２ビットのエラーが発生しても、そのエラーはエラー訂正機能によって訂正可能である。したがって、実際には記憶装置から正しいデータが得られるので、そのエラーが発生した物理ページを含む物理ブロックはそれ以後も十分に使用可能である。それにもかかわらず、従来の判断基準では、エラーが発生したため、その物理ブロックは使用不可とされてしまう。
【０００６】
また、近時、単一のメモリセルに多ビット分のデータを記憶する多値セルが注目されている。この多値セルで構成されたフラッシュメモリにおいて、たとえば１物理ページ内の複数ビットでエラーが発生した場合、エラーが発生した複数ビットが単一セルで記憶されるビットであるか、あるいは複数のセルにまたがっているかということを判断する必要がある。
【０００７】
たとえば記憶装置が、単一のメモリセルに２ビット分のデータを記憶することができ、かつ１物理ページあたり２ビット分のエラー訂正機能を有すると仮定する。このようなフラッシュメモリにおいて、たとえばある物理ページにおいて２ビットのエラーが発生した場合、そのエラーが同じメモリセルに記憶された２ビットで発生しているのであれば、エラー訂正機能によって十分にエラー訂正可能である。
【０００８】
また、将来的にそのメモリセルが劣化しても、同じ物理ページ内の別のビットで新たにエラーが発生しない限り、エラーが発生するのはその２ビットだけである。したがって、２ビットのエラーが発生した物理ページを含む物理ブロックを使用不可とする必要はない。
【０００９】
それに対して、同一物理ページ内の２個のメモリセルでそれぞれ１ビットずつエラーが発生している場合には、将来的にはエラーが発生した２個のメモリセルが劣化して最大で４ビットのエラーが発生する危険性が高い。同じ物理ページ内で３ビットや４ビットのエラーが発生すると、エラー訂正は不可能である。したがって、この場合には、２ビットのエラーが発生した物理ページを含む物理ブロックを使用不可とする必要がある。多値セルの場合、このようにエラーが発生した複数のビットの位置を厳密に考慮しなければ、より正確に物理ブロックの使用可否を判断することはできない。
【００１０】
本発明は、上記問題点に鑑みてなされたものであって、エラーが発生したメモリセルの位置とエラー訂正能力とに基づいて、より正確に物理ブロックの使用可否を判断することが可能なフラッシュメモリの欠陥管理方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかるフラッシュメモリの欠陥管理方法は、物理ページの冗長部分に、データ読み出し時に発生したエラーの物理的な発生位置情報を記憶するエラー管理ユニットを、エラー訂正符号によって訂正可能なビット数以下のビット数分用意し、同一物理ページ内で発生した複数のエラーの物理的に異なる位置の数が、用意された前記エラー管理ユニットの数を超える場合に、訂正不可能な障害が発生したと判断するものである。
【００１２】
また、本発明にかかるフラッシュメモリの欠陥管理方法は、多値セルで構成されるフラッシュメモリ対して、物理ページの冗長部分に、データ読み出し時に発生したエラーの物理的な発生位置情報を記憶するエラー管理ユニットを、エラー訂正符号によって訂正可能なビット数以下のビット数分用意し、同一物理ページ内で発生した複数のエラーに対応するメモリセルに含まれるビットの合計数が、用意された前記エラー管理ユニットの数を超える場合に、訂正不可能な障害が発生したと判断するものである。
【００１３】
この発明によれば、同一物理ページ内で発生したエラーの数が、エラー訂正符号を用いて訂正可能な範囲を超える場合、訂正不可能なエラーが発生したと判断してその物理ページを含む物理ブロックを使用不可とするため、より正確に物理ブロックの使用可否を判断することができる。
【００１４】
また、この発明によれば、多値セルによって構成されたフラッシュメモリに対して、同一物理ページ内で発生したエラーに対応するメモリセルに含まれるビットの合計数が、エラー訂正符号を用いて訂正可能な範囲を超える場合、将来的にエラー訂正符号を用いて訂正可能な範囲を超える数のエラーが発生する危険性が高いので、訂正不可能なエラーが発生したと判断してその物理ページを含む物理ブロックを使用不可とするため、より正確に物理ブロックの使用可否を判断することができる。
【００１５】
【発明の実施の形態】
以下に、本発明の実施の形態について図１〜図５を参照しつつ詳細に説明する。図１は、本発明にかかるフラッシュメモリの欠陥管理方法を適用した記憶装置の構成の一例を示すブロック図である。この記憶装置１は、ホスト・バス制御回路１１、アドレス制御回路１２、データ制御回路１３、エラー訂正符号生成回路（ＥＣＣ／ＥＤＣ）１４、および１または複数のフラッシュメモリ１５ａ，１５ｂ，１５ｃを備えている。アドレス制御回路１２およびデータ制御回路１３と、フラッシュメモリ１５ａ，１５ｂ，１５ｃおよびエラー訂正符号生成回路１４との間での信号の授受はメモリ・バス１６を介しておこなわれる。
【００１６】
前記エラー訂正符号生成回路１４は、データの書き込み時に、物理ページに記録されるデータに対応したエラー訂正符号を生成する。そのエラー訂正符号は、実データとともに、物理ページの冗長部分に用意された管理情報の記憶領域に登録される。この管理情報の記憶領域については後述する。
【００１７】
前記データ制御回路１３は、いずれかのフラッシュメモリ１５ａ（または１５ｂもしくは１５ｃ）から読み出されたデータに対するエラー訂正符号（これを被比較符号とする）をエラー訂正符号生成回路１４に生成させる。データ制御回路１３は、データの読み出し時に、読み出しデータの被比較符号と、そのデータの書き込み時に管理情報として記憶されたエラー訂正符号とを比較し、エラーの有無を確認する。データ制御回路１３は、エラーの存在が確認できた場合、そのエラーが訂正可能であるか否か、また訂正可能であるがエラー発生した物理ページが使用可能であるか否かを判断する。その判断結果は、ホスト・バス制御回路１１およびホスト・バス２を介して図示しないコンピュータ等からなるホスト・システムに送られる。
【００１８】
図２は、本発明にかかるフラッシュメモリの欠陥管理方法によって物理ページに記憶されるデータの構成の一例を示す模式図である。図２において、符号２１は実データを格納するフィールド、符号２２はエラー訂正符号を格納するフィールド、符号２３ａおよび符号２３ｂはエラー管理ユニット、符号２４および符号２５は他の用途に使用されるフィールドである。データ書き込み時にエラー訂正符号生成回路１４によって生成されたエラー訂正符号はエラー訂正符号フィールド２２に格納される。
【００１９】
エラー管理ユニット２３ａ，２３ｂは、前述した管理情報の記憶領域に相当し、列位置フィールド３１、行位置フィールド３２およびエラー発生フィールド３３を有する。列位置フィールド３１は、エラーが発生したビットの列位置を特定するための情報を格納する。行位置フィールド３２は、エラーが発生したビットの行位置を特定するための情報を格納する。エラー発生フィールド３３は、各エラー管理ユニット２３ａ，２３ｂ内に格納された列位置および行位置の情報が有効であるか否かを示すフラグを格納する。
【００２０】
たとえば、エラー管理ユニット２３ａのエラー発生フィールド３３の格納値が「０（ゼロ）」であれば、エラー管理ユニット２３ａの列位置フィールド３１および行位置フィールド３２にそれぞれ格納された情報は、エラー発生位置を特定するための情報として有効であることを表している。この場合、エラー発生フィールド３３の格納値が「１」であれば、そのエラー管理ユニット内の情報は特別な意味を持たないことになる。なお、エラー発生フィールド３３の格納値が「１」のときに、列位置フィールド３１および行位置フィールド３２にそれぞれ格納された情報がエラー発生位置として有効になるようにしてもよい。
【００２１】
各エラー管理ユニット２３ａ，２３ｂは、それぞれ１ビット分のエラー発生位置の情報を格納する。したがって、エラー訂正符号によるエラー訂正能力が１ビットであれば、物理ページの冗長部分にエラー管理ユニットが１個用意される。エラー訂正符号によるエラー訂正能力が２ビットであれば、図２に示すように、最大で２個のエラー管理ユニット２３ａ，２３ｂが用意される。つまり、１物理ページ内にエラー管理ユニットは、最大でエラー訂正可能なビット数分用意される。したがって、エラー訂正符号によるエラー訂正能力が３ビットであれば、エラー管理ユニットは１個、２個または３個用意される。
【００２２】
図３は、本発明にかかるフラッシュメモリの欠陥管理方法の一例を示すフローチャートである。記憶装置１からのデータ読み出しが開始されると、記憶装置１は、ホスト・バス２を介して物理ページの読み出しを指示される。アドレス制御回路１２は、読み出し対象となる物理ページが存在するフラッシュメモリ１５ａ（または１５ｂもしくは１５ｃ）を選択し、その選択したフラッシュメモリにチップイネーブル信号ＣＥを出力する。また、アドレス制御回路１２は、物理ページを読み出すためのコマンドに相当するデータパターンをデータ制御回路１３およびメモり・バス１６経由で発行する。
【００２３】
チップイネーブル信号ＣＥによって選択され、かつ物理ページの読み出しコマンドを受け取ったフラッシュメモリ１５ａ（または１５ｂもしくは１５ｃ）は、適切な物理ページのデータをメモリ・バス１６の制御にしたがって出力する。その際、該当する物理ページの実データとともにエラー訂正符号フィールド２２からエラー訂正符号も出力する（ステップＳ１）。このエラー訂正符号は、この実データが物理ページに書き込まれた時に一緒に書き込まれたものである。
【００２４】
つづいて、データ制御回路１３は、フラッシュメモリ１５ａ（または１５ｂもしくは１５ｃ）から読み出された実データおよびエラー訂正符号を受け取り、実データに対するエラー訂正符号、すなわち被比較符号をエラー訂正符号生成回路１４に生成させる。そして、データ制御回路１３は、その被比較符号と、実データとともに読み出されたエラー訂正符号とを比較し、エラーが発生したか否かを検証する（ステップＳ２）。
【００２５】
エラー検証をおこなった結果、エラーが発生していなければ（ステップＳ３：Ｙｅｓ）、データ制御回路１３はホスト・バス２を介してホスト・システムのコンピュータ等に実データを送り、データの読み出しを終了する。一方、ステップＳ３においてエラーが発生している場合（ステップＳ３：Ｎｏ）は、つぎに、データ制御回路１３は、そのエラーが訂正可能であるか否かを判断する（ステップＳ４）。
【００２６】
発生したエラーが訂正不可能なデータ欠損である場合（ステップＳ４：Ｎｏ）は、データ制御回路１３は、そのデータ欠損が発生した物理ページを含む物理ブロックを使用不可と判断し、使用可能領域から除外する（ステップＳ８）。そして、データ制御回路１３は、ホスト・バス２を介してホスト・システムのコンピュータ等に訂正不可能な障害が発生したことを通知して、データの読み出しを終了する。
【００２７】
ステップＳ４において、エラー訂正が可能であるか否か判断した結果、訂正可能なデータ欠損によるエラーである場合（ステップＳ４：Ｙｅｓ）は、データ制御回路１３は、エラーの発生位置を特定する。そして、データ制御回路１３は、その特定したエラー発生位置情報と、すでに当該物理ページのエラー管理ユニット２３ａ，２３ｂに含まれる列位置フィールド３１および行位置フィールド３２の各情報とを比較する（ステップＳ５）。
【００２８】
ステップＳ５での比較の結果、エラー発生位置の列位置および行位置の各情報が該当する物理ページのいずれかのエラー管理ユニット２３ａ，２３ｂ内の列位置フィールド３１および行位置フィールド３２の各情報と一致した場合、すなわち登録済みである場合（ステップＳ５：登録済み位置）は、データ制御回路１３は、エラー訂正符号フィールド２２から読み出されたエラー訂正符号を用いて、物理ページから読み出された実データ（エラーあり）のエラーを訂正し、それをホスト・バス２を介してホスト・システムのコンピュータ等に送る。また、データ制御回路１３は、ホスト・バス２を介してホスト・システムのコンピュータ等に訂正可能な障害が発生したことを通知して、データの読み出しを終了する。
【００２９】
一方、ステップＳ５での比較の結果、今回のエラー発生位置が該当する物理ページのいずれかのエラー管理ユニット２３ａ，２３ｂに登録されていない場合、すなわちエラー発生位置が新規な場合（ステップＳ５：新規位置）は、データ制御回路１３は、今回のエラー発生位置を登録するための空きが該当する物理ページのエラー管理ユニット２３ａ，２３ｂにあるか否かを判断する（ステップＳ６）。その結果、エラー管理ユニット２３ａ，２３ｂに空きがない場合（ステップＳ６：Ｎｏ）は、データ制御回路１３は、そのエラーが発生した物理ページを含む物理ブロックを使用不可と判断し、使用可能領域から除外する（ステップＳ８）。
【００３０】
これは、たとえばエラー訂正符号が２ビットの訂正能力を有するが、すでに同一物理ページにおいて３ビット目のエラーが発生したため、将来的にエラー訂正符号による訂正能力（２ビット）を超える数のエラーが発生する可能性が高いからである。そして、データ制御回路１３は、ホスト・バス２を介してホスト・システムのコンピュータ等に訂正不可能な障害が発生したことを通知して、データの読み出しを終了する。
【００３１】
一方、ステップＳ６で、該当する物理ページのエラー管理ユニット２３ａ，２３ｂにエラー発生位置を登録するための空きがある場合、すなわちエラー発生位置の追加登録が可能である場合（ステップＳ６：Ｙｅｓ）は、データ制御回路１３は、今回のエラー発生位置の列位置情報および行位置情報を該当する物理ページのエラー管理ユニット２３ａ（または２３ｂ）に登録する（ステップＳ７）。そして、データ制御回路１３は、上述したエラー発生位置が登録済みである場合と同様に、ホスト・バス２を介してホスト・システムのコンピュータ等に、エラー訂正をした実データを送るとともに、訂正可能な障害が発生したことを通知して、データの読み出しを終了する。
【００３２】
図４は、本発明にかかるフラッシュメモリの欠陥管理方法によって物理ページに記憶されるデータの構成の他の例を示す模式図である。このデータ構成は、フラッシュメモリが、単一セルに複数ビットの情報を記憶することができる多値セルによって構成されている場合に用いられる。図４に示すデータ構成が図２に示すデータ構成と異なるのは、各エラー管理ユニット２３ａ，２３ｂにゾーン番号フィールド３４が設けられていることである。その他の構成は図２に示すデータ構成と同じであるため、同じ構成については同一の符号を付して説明を省略する。
【００３３】
ここで、ゾーン番号フィールド３４に格納されるゾーン番号とは、エラー発生位置をメモリセル単位で管理するための情報であり、メモリセル毎に異なるゾーン番号が付与される。したがって、同一のメモリセルに記憶される複数ビットのゾーン番号は同じ番号となる。データ欠損エラーが発生した場合、そのエラー発生位置はゾーン番号によって特定される。
【００３４】
たとえば、単一のメモリセルに２ビット分のデータを記憶することができる記憶装置において、ある物理ページにおいて２ビットのエラーが発生した場合、図５に示すデータ欠損例１では、エラーが発生したビットの位置（図示例では「０」と「１」）に対応するゾーン番号が同じ（図示例では「０」）である。それに対して、図５に示すデータ欠損例２では、エラーが発生したビットの位置（図示例では「１」と「２」）に対応するゾーン番号は異なる（図示例では「０」と「１」）である。
【００３５】
１物理ページあたり２ビット分のエラー訂正機能を有すると仮定すると、欠損例１および欠損例２のいずれの場合でも、発生した２ビットのエラーが訂正可能なエラーであれば、エラー訂正符号によるエラー訂正が可能である。しかし、欠損例１では特に問題はないが、欠損例２の場合には、２個のメモリセル（図示例ではゾーン番号が「０」と「１」のセル）にデータ保持特性の劣化が認められるので、将来的には最大で４ビットのエラーが発生する危険性がある。
【００３６】
したがって、欠損例２のようにゾーン番号が異なるメモリセルでエラーが発生した場合には、上述したエラー訂正不可能なエラーが発生した場合と同様に、データ制御回路１３は、そのエラーが発生した物理ページを含む物理ブロックを使用不可と判断し、使用可能領域から除外するとともに、ホスト・システムのコンピュータ等に訂正不可能な障害が発生したことを通知する。一方、欠損例１のようにエラーが発生したビットのゾーン番号が同じである場合、データ制御回路１３は、エラー管理ユニット２３ａ，２３ｂにエラー発生位置を登録するための空きがあればその発生位置を登録して、ホスト・システムのコンピュータ等に訂正可能な障害が発生したことを通知する。
【００３７】
上述した実施の形態によれば、物理ページの冗長部分に、データ読み出し時に発生したエラーの物理的な発生位置情報を記憶するエラー管理ユニット２３ａ，２３ｂを、エラー訂正符号によって訂正可能なビット数と同じ２ビット分用意し、同一物理ページ内で発生した複数のエラーの物理的に異なる位置の数が、用意されたエラー管理ユニット２３ａ，２３ｂの数、すなわち２を超える場合に、訂正不可能な障害が発生したと判断して、その物理ページを含む物理ブロックを使用不可とするため、より正確に物理ブロックの使用可否を判断することができる。
【００３８】
また、上述した実施の形態によれば、フラッシュメモリが多値セルで構成される場合には、同一物理ページ内で発生した複数のエラーに対応するメモリセルに含まれるビットの合計数が、用意されたエラー管理ユニット２３ａ，２３ｂの数、すなわち２を超える場合に、将来的にエラー訂正符号を用いて訂正可能な範囲を超える数のエラーが発生する危険性が高いので、訂正不可能なエラーが発生したと判断してその物理ページを含む物理ブロックを使用不可とするため、より正確に物理ブロックの使用可否を判断することができる。
【００３９】
なお、上述した実施の形態においては、エラー訂正符号が２ビットの訂正能力を有する場合について説明したが、これに限らず、エラー訂正符号が３ビット以上の訂正能力を有する場合も同様である。また、多値セルの例として、同一のメモリセルに２ビットの情報を記憶することができるとしたが、同一のメモリセルに３ビット以上の情報を記憶することができる場合も同様である。また、１物理ページに設けられるエラー管理ユニットの数が、エラー訂正符号によって訂正可能なビット数よりも小さくてもよい。
【００４０】
また、上述した実施の形態においては、多値セルの例においてゾーン番号を規定したが、これに限らず、ゾーン番号を設けずに、同一のメモリセルに記憶されるビット数に基づいて、エラーが発生した複数のビットが同一のメモリセル内に含まれるのか、あるいは２個以上のメモリセルにまたがってしまうのかということを判断するようにしてもよい。このようにすれば、物理ページにゾーン番号フィールドを設けずに済む。
【００４１】
【発明の効果】
本発明によれば、同一物理ページ内で発生したエラーの物理的な位置情報と、エラー訂正符号によって訂正可能なビット数と、１メモリセルに記憶可能なビット数とに基づいて、発生したエラーが訂正可能なエラーであるか、訂正不可能なエラーであるかを判断し、訂正不可能なエラーである場合にその物理ページを含む物理ブロックを使用不可とするため、よって正確に物理ブロックの使用可否を判断することができる。
【図面の簡単な説明】
【図１】本発明にかかるフラッシュメモリの欠陥管理方法を適用した記憶装置の構成の一例を示すブロック図である。
【図２】本発明にかかるフラッシュメモリの欠陥管理方法によって物理ページに記憶されるデータの構成の一例を示す模式図である。
【図３】本発明にかかるフラッシュメモリの欠陥管理方法の一例を示すフローチャートである。
【図４】本発明にかかるフラッシュメモリの欠陥管理方法によって物理ページに記憶されるデータの構成の他の例を示す模式図である。
【図５】本発明にかかるフラッシュメモリの欠陥管理方法を多値セルよりなるフラッシュメモリに適用した場合について説明するための図である。
【符号の説明】
１  記憶装置
２  ホスト・バス
１１  ホスト・バス制御回路
１２  アドレス制御回路
１３  データ制御回路
１４  エラー訂正符号生成回路（ＥＣＣ／ＥＤＣ）
１５ａ，１５ｂ，１５ｃ  フラッシュメモリ
１６  メモリ・バス
２３ａ，２３ｂ  エラー管理ユニット
３１  列位置フィールド
３２  行位置フィールド
３４  ゾーン番号フィールド
【図１】
0004323707.tif 000002
【図２】
0004323707.tif 000003
【図３】
0004323707.tif 000004
【図４】
0004323707.tif 000005
【図５】
0004323707.tif 000006