(57)【要約】  方法は、複数のセクタを含むページをメモリアレイから読み出す段階と、複数のセクタのそれぞれが許容範囲内の数のエラーを含むかどうかを決定する段階と、複数のセクタのそれぞれが許容範囲内の数のエラーを含む場合、成功インジケータを提供する段階と、を備える。【選択図】図２
2010500699.tif 000002
【特許請求の範囲】
【請求項１】
複数のセクタを含むページをメモリアレイから読み出す段階と、
前記複数のセクタのそれぞれが許容範囲内の数のエラーを含むかどうかを決定する段階と、
前記複数のセクタのそれぞれが前記許容範囲内の数のエラーを含む場合、成功インジケータを提供する段階と、
を備える方法。
【請求項２】
前記メモリアレイから前記ページを読み出す段階は、プログラム確認動作を実行する間に生じる、請求項１に記載の方法。
【請求項３】
前記複数のセクタのそれぞれが前記許容範囲内の数のエラーを含むかどうかを決定する段階は、各セクタの総エラー数と、各セクタの最大許容エラー数とを比較する段階を含む、請求項１に記載の方法。
【請求項４】
前記各セクタの最大許容エラー数は、ＥＣＣを用いて修正されうる各セクタのエラー数に等しい、請求項３に記載の方法。
【請求項５】
前記各セクタの最大許容エラー数は、ユーザにより決定される、請求項３に記載の方法。
【請求項６】
前記成功インジケータを提供する段階は、ステータスレジスタに値を書き込む段階を含む、請求項１に記載の方法。
【請求項７】
前記複数のセクタの少なくとも１つのエラー数が前記許容範囲内の数のエラーを上回る場合、失敗インジケータを提供する段階をさらに備える、請求項１に記載の方法。
【請求項８】
前記複数のセクタのそれぞれおけるエラー数が前記許容範囲内の数のエラーになるまで修正するよう、ＥＣＣ動作を実行する段階をさらに備える、請求項１に記載の方法。
【請求項９】
メモリアレイと、
前記メモリアレイに結合されるロジックと、を備え、
前記ロジックは、前記メモリアレイから読み出される１ページ内の複数のセクタのそれぞれにおけるエラー数を決定し、前記複数のセクタのそれぞれにおけるエラー数が許容範囲内の数のエラーであるかどうかを示す、
装置。
【請求項１０】
前記ロジックは、前記複数のセクタのそれぞれにおけるエラー数と、各セクタの最大許容エラー数とを比較するコンパレータを含む、請求項９に記載の装置。
【請求項１１】
前記各セクタの最大許容エラー数は、ＥＣＣを用いて修正されうる各セクタにおけるエラー数に等しい、請求項１０に記載の装置。
【請求項１２】
前記各セクタの最大許容エラー数は、ユーザにより決定される、請求項１０に記載の装置。
【請求項１３】
前記ロジックは、ステータスレジスタに値を書き込むことによって、さらに前記複数のセクタのそれぞれにおけるエラー数が前記許容範囲内の数のエラー以下であるかどうかを示す、請求項９に記載の装置。
【請求項１４】
前記ロジックは、前記複数のセクタのそれぞれにおけるエラー数が前記許容範囲内の数のエラーより大きいかどうかをさらに示す、請求項９に記載の装置。
【請求項１５】
インターコネクトと、
前記インターコネクトに結合されるプロセッサと、
前記インターコネクトに結合される無線インターフェースと、
前記インターコネクトに結合されるメモリデバイスと、
を備え、
前記メモリデバイスは、メモリアレイ、および、前記メモリアレイに結合されるロジックを含み、前記ロジックは、前記メモリアレイから読み出される１ページ内の複数のセクタのそれぞれにおけるエラー数を決定し、前記複数のセクタのそれぞれにおけるエラー数が許容範囲内の数のエラーであるかどうかを示す、
システム。
【請求項１６】
前記メモリデバイスは、ＮＡＮＤフラッシュメモリデバイスである、請求項１５に記載のシステム。
【請求項１７】
前記インターコネクトに結合されるエラー制御コーディング（ＥＣＣ）モジュールをさらに備える、請求項１５に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明の実施形態は、メモリデバイスにエラー制御コーディング（ＥＣＣ）を用いることに関する。
【０００２】
エラー制御コーディング（ＥＣＣ）をサポートするシステムにおいて、フラッシュメモリデバイスは、書き込み動作中、１ページ（２１１２バイト）につき１ビットまでは失敗しても、その書き込みは成功とみなされうる。しかしながら、１ページにつき１ビットより多く失敗すると、書き込み動作は失敗とみなされ、メモリデバイスは、機能しないとみなされるだろう。このことによって、製造中の損失を招くこともあり、あるいは、メモリ内の回復不可能なシングルビットエラーが原因でエンドユーザのデバイスまたはシステムを故障させる可能性もある。
【図面の簡単な説明】
【０００３】
以下の図面、それに関連した以下の詳細な説明により、本発明の理解はより深まるであろう。
【０００４】
【図１】いくつかの実施形態におけるメモリデバイスの一例を示す。
【０００５】
【図２】いくつかの実施形態における、メモリデバイス内のプログラムおよび／または消去動作に対するビットエラー検知、および、確認を示すフローチャートである。
【０００６】
【図３】いくつかの実施形態におけるメモリの１ページの一例を示す。
【０００７】
【図４】いくつかの実施形態におけるシステムの一例を示す。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態の完全なる理解をもたらすべく、説明の目的で、数多くの詳細が記載される。しかしながら、以下に請求されるとおり、本発明を実行するためにこれらの特定の詳細が必要ないことは、当業者には明らかであろう。
【０００９】
本願明細書中で用いられるような、「ページ」は、メモリデバイスのメモリアレイにおけるプログラム可能な領域として定義される。一般的に、１ページは２，１１２バイトで構成されるが、２，１１２バイトより大きくても小さくてもよい。1ページは、２，０４８バイトのデータ記憶領域と、別の６４バイトの領域とを含んでもよい。別の６４バイト領域は、エラー管理機能のために用いられてよい。
【００１０】
各ページは、４つの「セクタ」、または、「コード名」にさらに分割されうる。セクタまたはコード名は、５１２バイトのデータ記憶領域として定義される。５１２バイトセクタのそれぞれに、他の１６バイトまでの対応するエラー管理領域が付され、各セクタには、合計５２８バイトが割り当てられてよい。
【００１１】
図１は、いくつかの実施形態における、１セクタにつき１つ以上のシングルビットエラーを検出して許容することができるメモリデバイスを示す。メモリデバイスは、データを格納するメモリアレイ（１０２）を含む。いくつかの実施形態では、メモリデバイスは、ＮＡＮＤフラッシュメモリデバイスでありうる。他の実施形態では、メモリデバイスは、例えば、これに限定されないが、ＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）、または、ポリマーメモリなど、ＥＣＣスキームを用いることが可能な他のタイプのメモリデバイスでありうる。
【００１２】
メモリアレイにおける１ページがプログラムされるかまたは消去された後、確認またはステータス動作が実行されることにより、プログラムまたは消去動作が成功したかどうかが決定されうる。確認動作中、ページ（１０４）がアレイから読み出される。
【００１３】
アレイから読み出されたページ（１０４）は、セクタ（１０６Ａ−Ｄ）に分割されうる。いくつかの実施形態では、セクタは、各ページの連続した５１２ＫＢとして予め定義されうる。他の実施形態では、セクタは、異なって定義されうる。
【００１４】
メモリアレイに結合されるセクタ検知ロジック（１１２Ａ−Ｄ）は、そのページの各セクタが許容範囲内のビットエラー数（１１０）を含むかどうかを決定しうる。許容範囲内の数のエラーは、ＥＣＣを用いて各セクタ内で修正されうる最大エラー数以下であるセクタごとのエラー数として定義されうる。セクタごとの許容範囲内の数のエラーＮは、ユーザまたはシステムにより設定されてよい。この数は、構成レジスタなどのレジスタにプログラムされる、および／または、格納されるか、または、メモリデバイスにおけるプログラム可能なフューズを用いて設定されうる。
【００１５】
セクタごとの許容範囲内の数のエラーは、システムで用いられるＥＣＣスキームにより修正可能なビット数以下のはずである。例えば、セクタごとの最大のシングルビットエラーを修正することができるハミングＥＣＣスキームを実装するシステムでは、セクタごとの許容範囲内の数のエラーは、１に設定されるはずである。セクタごとのマルチビットエラーを修正することができるＥＣＣスキームを実装するシステムにおいて、セクタごとの許容範囲内の数のエラーは、システムのＥＣＣスキームを用いて修正されうる最大ビットエラー数を含むいかなる数であってよい。
【００１６】
各セクタ検知回路（１１２Ａ−Ｄ）は、各セクタにおけるビットエラーを検知する。これらのビットエラーは、例えば、加算器を用いて合計されることにより、セクタごとの総ビットエラー数が決定されうる。セクタごとの総ビットエラー数は、例えば、コンパレータを用いて、システムにより選択可能な許容範囲内のビットエラー数（１１０）と比較されてよい。各セクタでは、ビットエラーの合計数が許容範囲内のビットエラー数より大きい場合、そのセクタのセクタ確認信号（１１４Ａ−Ｄ）は、セクタが失敗したことを示すだろう。セクタにおけるビットエラーの総数が許容範囲内のビットエラー数であった場合、そのセクタのセクタ確認信号（１１４Ａ−Ｄ）は、そのセクタが成功したことを示すだろう。
【００１７】
ページにおけるすべてのセクタが成功であった場合、すなわち、各セクタが許容範囲内の数のエラーを有する場合、プログラムまたは消去動作は、成功したとみなされるだろう。いくつかの実施形態では、ページにおけるすべてのセクタが成功かどうかの決定は、セクタ確認信号（１１４Ａ−Ｄ）のそれぞれに論理積演算を実行する検知ロジック（１０８）内のＡＮＤゲート（１１６）を用いてなされうる。
【００１８】
プログラムまたは消去動作の成功または失敗は、いくつかの実施形態では、ＡＮＤゲート（１１６）の出力でありうるパス確認信号（１１８）によって示されうる。ページ内のセクタのそれぞれが許容範囲内のビットエラー数を含む場合、パス確認信号（１１８）は、ページプログラムまたは消去動作が成功したことを示すだろう。ページ内の１つ以上のセクタが許容範囲を超えるビットエラー数含む場合、パス確認信号（１１８）は、ページプログラムまたは消去動作が失敗したことを示すだろう。
【００１９】
パス確認信号がプログラムまたは消去動作は成功したことを示し、１つ以上のセクタがビットエラーを含む場合、次に、ＥＣＣスキームが用いられて各セクタ内のビットエラーを修正しうる。いくつかの実施形態では、ＥＣＣエラー修正は、メモリデバイスとは別のハードウェアまたはソフトウェアモジュールによって実行されるだろう。他の実施形態では、エラー修正は、フラッシュメモリデバイス内のロジック、または、フラッシュメモリデバイスに格納されたコードによって実行されうる。
【００２０】
したがって、セクタエラー検知ロジックは、プログラムまたは消去動作中に、各ページのセクタごとに１つ以上のビットエラーを許容でき、それでも動作は、成功とみなされるだろう。
【００２１】
図２は、いくつかの実施形態におけるプログラムまたは消去動作を示すフローチャートである。プログラムまたは消去の実行が成功したことを確認すべく、プログラムまたは消去されているページがメモリアレイから読み出される（２０２）。
【００２２】
ページが読み出された後、ページの各セクタにおける合計エラー数を検出するよう（２０４）、検知ロジックが用いられる。各セクタが許容範囲内の数のエラーを含むかどうかを決定すべく、各セクタにおけるエラー数は、セクタごとの最大許容エラー数と比較されうる。ページ内のセクタのいずれか１つが許容範囲内の数のエラーより多いエラーを有する場合、失敗インジケータは、プログラムまたは消去動作が失敗したことを示すだろう（２０８）。ページにおける各セクタが許容範囲内の数のエラーを含む場合、成功インジケータは、プログラムまたは消去動作が成功したことを示すだろう（２１０）。図１に関連して先に述べたように、セクタごとの最大許容エラー数は、ユーザにより設定されてよく、ＥＣＣアルゴリズムを用いてシステムにより修正されうるエラー数以下のはずである。
【００２３】
成功（２１０）または失敗（２０８）インジケータは、例えば、ステータスレジスタなどのレジスタにさらに書き込まれてよい。
【００２４】
プログラムまたは消去動作が成功しても、ページ内の１つ以上のセクタが１つ以上のビットエラーを含んでいた場合、次に、システムのＥＣＣスキームを用いてエラー修正が実行されうる（２１２）。いくつかの実施形態では、ＥＣＣ動作は、メモリデバイスの外部のハードウェアまたはソフトウェアによって実行されうる。
【００２５】
図３は、いくつかの実施形態における、プログラムまたは消去動作後のメモリの１ページ（３０２）における最大数のシングルビットエラーを示す。図に示すように、プログラムまたは消去動作後、各セクタ（３０４、３０６、３０８、３１０）は、Ｎ個までのシングルビットエラーを含んでよく、それでも動作は成功とみなされるだろう。ここで、Ｎは、システムのＥＣＣスキームを用いて修正されうる最大ビット数と等しい。この数は、システムの能力および／または選ばれたＥＣＣスキームに依存してよく、システムまたはシステムのユーザにより決定されうる。ページ（３１２）のＥＣＣ領域は、ＥＣＣ動作で用いられるエラー修正データを格納するために用いられうる。
【００２６】
したがって、プログラムまたは消去動作後、ページは、１セクタにつきＮ個までのエラー、または、各セクタに均等に分割され、合計すると４Ｎ個までのエラーを含んでよく、それでも動作は、成功とみなされるだろう。各セクタにおけるエラーは、ＥＣＣ動作の間に修正されてよい。これによって、製造、および、試験工程中におけるシリコン歩留まりが向上し、ＥＣＣ可能なメモリデバイスを含むエンドユーザシステムに対して、より高い信頼性および耐用寿命をもたらしうる。
【００２７】
図４は、一実施形態におけるシステムのブロック図である。システムは、インターコネクト（４１０）を介して通信するコントローラ（４０２）を含みうる。コントローラ（４０２）は、マイクロコントローラ、１つ以上のマイクロプロセッサ、マルチコアマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、または、他のタイプのコントローラであってよい。システムは、バッテリ（４０４）によって電力を供給されるか、または、ＡＣ電源などの他の電源によって電力を供給されてもよい。
【００２８】
システムメモリ、または、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）（４０６）は、インターコネクト（４１０）を介して結合されうる。ＤＲＡＭ（４０６）は、システムの初期化後にオペレーティングシステム（ＯＳ）（４０８）を格納しうる。
【００２９】
さまざまな入出力（Ｉ／Ｏ）デバイス（４１６）がインターコネクト（４１０）に結合されうる。Ｉ／Ｏデバイスは、ディスプレイ、キーボード、マウス、タッチスクリーン、または、他のＩ／Ｏデバイスなどのアイテムを含みうる。無線ネットワークインターフェース（４１２）もインターコネクト（４１０）に結合されうる。無線インターフェース（４１２）は、システムと他のデバイスとの間のセルラー方式、または、他の無線通信を可能にしうる。一実施形態では、無線インターフェース（４１２）は、ダイポールアンテナを含みうる。
【００３０】
システムは、例えば、これに限定されないが、ＮＡＮＤフラッシュメモリデバイスなど、ＥＣＣをサポートできる不揮発性メモリデバイス（４２０）も含む。メモリデバイスは、システムに組み込まれるか、または、任意のフラッシュカードインターフェース、または、他のタイプのインターフェースに挿入されうるカードフォームファクタなどの取り外し可能な記憶媒体の一部であってよい。
【００３１】
メモリデバイス（４２０）は、メモリアレイ（４３０）と、当該アレイに結合されるエラー検知ロジック（４３２）とを含みうる。メモリデバイスは、他の要素も同様に含みうるが、それらの要素は、説明を簡単すべく、本願明細書では例示しない。
【００３２】
セクタ検知ロジック（４３２）は、プログラムまたは消去確認動作中にメモリアレイから読み出される、１ページ内の複数のセクタのそれぞれにおけるシングルビットエラー数を決定するために用いられてよい。その後、各セクタにおけるエラー数が許容範囲内かどうかを決定すべく、セクタごとのエラー数は、許容範囲内のビットエラー数（４３１）と比較されうる。各セクタが許容範囲内の数のエラーを含む場合、ページ確認信号（４３４）は、プログラムまたは消去動作が成功したことを示すだろう。１つ以上のセクタが許容範囲内の数のエラーを超えるエラー数を含む場合、ページ確認信号（４３４）は、プログラムまたは消去動作が失敗したことを示すだろう。
【００３３】
セクタごとの許容範囲内の数のエラー（４３１）は、例えば、コントローラ（４０２）などのシステム内の構成要素によって設定されうる。他の実施形態では、セクタごとの許容範囲内の数のエラー（４３１）は、システムのユーザによって設定されてよい。
【００３４】
いくつかの実施形態では、ＥＣＣモジュール（４１８）は、インターコネクト（４１０）および／またはメモリデバイス（４２０）に結合されてシステム内にエラー修正能力を提供しうる。いくつかの実施形態では、ＥＣＣモジュールは、ハードウェアに実装されうる。他の実施形態では、ＥＣＣは、ソフトウェアに実装されうる。いくつかの実施形態では、ＥＣＣモジュールは、メモリデバイス（４２０）に一体化されてよい。
【００３５】
先に記載された方法は、プロセッサにより実行されるマシンアクセス可能な媒体に格納された命令によって実装されうる。命令は、いかなるマシンアクセス可能な媒体に格納されたいかなるプログラミングコードを利用して多くの異なる方法で実装されうる。マシンアクセス可能な媒体は、例えば、コンピュータなどマシンによって読み取り可能な形態で情報を提供する（すなわち格納および／または伝送する）いかなる機構も含む。例えば、マシンアクセス可能な媒体は、スタティックＲＡＭ（ＳＲＡＭ）、または、ダイナミックＲＡＭ（ＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、ＲＯＭ、磁気または光記憶媒体、フラッシュメモリデバイス、電気、光、音響、または、他の形態の伝播信号（搬送波、赤外線信号、デジタル信号など）などを含む。
【００３６】
このように、メモリデバイスにおけるセクタごとのエラーを検出する方法、装置、および、システムは、さまざまな実施形態において開示される。上述のごとく、数多くの特定の詳細が記載されている。しかしながら、これらの特定の詳細がなくても実施形態は実行されうると理解されたい。他の例においては、よく知られた回路、構造、および、技術は、本記載の理解をあいまいにすることを避けるべく、詳細には示されていない。ここまで、その特定の例示的実施形態に関連して実施形態を説明してきた。しかしながら、本願明細書中に記載された実施形態の広い趣旨および範囲から逸脱せずに、さまざまな修正および変更を実施形態に加えうることは、当業者には明らかであろう。したがって、明細書および図面は、例示であって限定の意味合いはないとみなされるべきである。
【図１】
2010500699.tif 000003
【図２】
2010500699.tif 000004
【図３】
2010500699.tif 000005
【図４】
2010500699.tif 000006
【国際調査報告】
2010500699.tif 000007
2010500699.tif 000008