(57)【要約】  不揮発性メモリアレイは２つ以上の装置を備えている。各装置が含んでいるデータはそれぞれ異なるスクランブル方式を使用してスクランブルをかけられている。同じデータが供給され、両方の装置に格納される場合には、異なるデータパターンが各装置に生じる。その結果、パターンのうちの１つがデータパターン誘導エラーを引き起こした場合に、オリジナルデータは、同じデータパターンを共有しない別のコピーから再生成させることが可能である。
2010541049.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリアレイに安全にデータを格納する方法であって、
第１の変換されたデータを得るために第１の変換によりデータ部分を変換するステップと、
前記メモリアレイの第１の部分に前記第１の変換されたデータを格納するステップと、
第２の変換されたデータを得るために第２の変換により前記データ部分を変換するステップと、
前記データ部分の冗長記憶を提供するために前記第１の変換されたデータが前記メモリアレイの前記第１の部分に格納されている一方、前記メモリアレイの第２の部分に前記第２の変換されたデータを格納するステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記第１の変換が第１のシードに基づいてデータにスクランブルをかけ、かつ前記第２の変換が第２のシードに基づいてデータにスクランブルをかける方法。
【請求項３】
請求項１記載の方法において、
前記第１の変換により前記データ部分を変換するステップは、前記第２の変換により前記データ部分を変換するステップと並行して行われる方法。
【請求項４】
請求項１記載の方法において、
引き続いて、前記メモリアレイの前記第１の部分から前記第１の変換されたデータの読み出しを試みて、前記第１の変換されたデータがＥＣＣによって回復できないと判断したときは、前記メモリアレイの前記第２の部分から前記第２の変換データを読み出すステップをさらに含む方法。
【請求項５】
請求項４記載の方法において、
前記第２の変換されたデータを使用して前記データ部分を回復させ、引き続いて第３の変換されたデータを得るために第３の変換により前記データ部分を変換し、前記メモリアレイの第３の部分に前記第３の変換されたデータを格納し、格納されている前記第１の変換されたデータを消去するステップをさらに含む方法。
【請求項６】
請求項１記載の方法において、
前記メモリアレイの前記第１の部分が第１のブロックであり、前記メモリアレイの前記第２の部分が第２のブロックである方法。
【請求項７】
請求項１記載の方法において、
前記メモリアレイの前記第１の部分が第１のプレーンであり、前記メモリアレイの前記第２の部分が第２のプレーンである方法。
【請求項８】
請求項１記載の方法において、
前記メモリアレイの前記第１の部分が第１のダイであり、前記メモリアレイの前記第２の部分が第２のダイである方法。
【請求項９】
不揮発性メモリシステムであって、
メモリアレイの第１の部分と、
前記メモリアレイの前記第１の部分に格納する前に第１の変換によりデータにスクランブルをかけるために前記メモリアレイの前記第１の部分に接続された第１のデータスクランブラユニットと、
前記メモリアレイの第２の部分と、
前記メモリアレイの前記第２の部分に格納する前に第２の変換によりデータにスクランブルをかけるために前記メモリアレイの前記第２の部分に接続された第２のデータスクランブラユニットであって、前記第２のデータスクランブラユニットは、前記第１のデータスクランブラユニットに並行して接続される前記第２のデータスクランブラユニットと、
を備える不揮発性メモリシステム。
【請求項１０】
請求項９記載の不揮発性メモリシステムにおいて、
第１の数値を使用して排他的論理和（ＸＯＲ）操作を実行するための第１のＸＯＲ回路を備えた前記第１のスクランブラユニットと、
第２の数値を使用してＸＯＲ操作を実行するための第２のＸＯＲ回路を備えた前記第２のスクランブラユニットと、
を備える不揮発性メモリシステム。
【請求項１１】
請求項９記載の不揮発性メモリシステムにおいて、
前記第１のメモリアレイ部分が第１のブロックであり、前記第２のメモリアレイ部分が第２のブロックである不揮発性メモリシステム。
【請求項１２】
請求項９記載の不揮発性メモリシステムにおいて、
前記第１のメモリアレイ部分が第１のプレーンであり、前記第２のメモリアレイ部分が第２のプレーンである不揮発性メモリシステム。
【請求項１３】
請求項９記載の不揮発性メモリシステムにおいて、
前記第１のメモリアレイ部分が第１のダイであり、前記第２のメモリアレイ部分が第２のダイである不揮発性メモリシステム。
【請求項１４】
請求項９記載の不揮発性メモリシステムにおいて、
前記メモリシステムは、リムーバブルメモリカード内のメモリシステムである不揮発性メモリシステム。
【請求項１５】
請求項９記載の不揮発性メモリシステムにおいて、
前記第１のスクランブラユニットと前記第２のスクランブラユニットは、並行して同じ前記データにスクランブルをかける不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリと不揮発性メモリを形成する方法に関する。本発明は、特に、フローティングゲートメモリセルが個々に１ビット以上のデータを保持する不揮発性メモリアレイに関する。
【背景技術】
【０００２】
関連出願への相互参照
本願は、２００７年９月２５日に出願された米国特許出願第１１／８６１，１４６号（特許文献１）からの優先権と利益を主張し、その全体があらゆる目的のために本願明細書において参照により援用されている。
【０００３】
不揮発性メモリシステムは様々なアプリケーションで使用されている。いくつかの不揮発性メモリシステムは、パソコンのようなより大きなシステムに組み込まれて用いられる。他の不揮発性メモリシステムは、ホストシステムにリムーバブルに接続され、異なるホストシステム間で交換することも可能である。そのようなリムーバブルメモリシステムの例として、メモリカードおよびＵＳＢフラッシュドライブなどが挙げられる。不揮発性のメモリカードを含む電子回路カードは、多くのよく知られた標準に従って商業上製品化されている。メモリカードは、パソコン、携帯電話、携帯情報端末（ＰＤＡ）、デジタルスチルカメラ、デジタルムービーカメラ、ポータブルオーディオプレイヤおよび他のホスト電子デバイスで大容量データの記憶装置として使用されている。そのようなカードは、通常、メモリセルアレイおよびカードが接続されるホストとの間のインターフェイス動作を制御し支援するコントローラと共に再プログラム可能な不揮発性の半導体メモリセルアレイを含んでいる。同じタイプのカードのいくつかのものは、そのタイプのカードを挿入可能なように設計されたホストカードスロットの間で交換が可能である。しかし、多くの電子カード標準が開発されたため、様々な程度で互いに互換性のない異なるタイプのカードを作成することとなってしまった。ある１つの標準に従って作られたカードは別の標準のカードで動作するように設計されたホストでは通常使用可能ではない。メモリカード標準は、ＰＣカード、コンパクトフラッシュカード（ＣＦｃａｒｄ（登録商標））、スマートメディアカード、マルチメディアカード（ＭＭＣ（登録商標））、セキュアデジタル（ＳＤ）カード、ミニＳＤカード、加入者ＩＤモジュール（ＳＩＭ）、メモリスティック（登録商標）、メモリスティックデュオカードおよびマイクロＳＤ／トランスフラッシュ（登録商標）メモリモジュール標準を含んでいる。「Ｃｒｕｚｅｒ」という商標でサンディスク  コーポレイションから市販のいくつかのＵＳＢフラッシュドライブ製品が出されており入手可能である。これらＵＳＢフラッシュドライブは特徴的に前述したメモリカードより大容量で異なった製法を用いている。ラップトップコンピュータなどで、伝統的にハードディスクドライブ（ＨＤＤ）が使用されていたアプリケーションでは、ソリッドステートドライブ（ＳＳＤ）は不揮発性メモリシステムを使用している。
【０００４】
異なるタイプのメモリアレイアーキテクチャが不揮発性メモリシステムの中で使用されている。電荷を格納するためにフローティングゲートを使用するフラッシュメモリアレイはメモリアレイの１つの共通タイプである。アーキテクチャの１つのタイプであるＮＡＮＤアレイでは、１６もしくは３２のような２つ以上のメモリセルの一連のストリングは、個々のビット線とセルの行を形成する基準電位との間の１つ以上の選択用トランジスタと共に接続される。ワード線は多くのこれらの行内のセルにわたって延びている。個々のメモリセルは、シングルレベルセル（ＳＬＣ）設計として知られているものの中にデータの１ビットを保持することが可能である。いくつかの例において、メモリセルは、マルチレベルセル（ＭＬＣ）設計として知られているものの中に２ビット以上のデータを保持することが可能である。
信頼性は一般的にメモリ製品にとって重要な特徴であり、ある産業用途では特に重要である。従って、高い信頼性を備えた不揮発性メモリシステムの必要性がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１１／８６１，１４６号
【発明の概要】
【０００６】
独立形ディスク冗長化アレイ（ＲＡＩＤ）技術およびデータスクランブリングの組み合わせは、不揮発性メモリアレイに高い信頼性を提供することができる。特に、異なる装置の中で異なるデータスクランブリングが使用される場合には冗長性を提供する。たとえオリジナル（スクランブリングされていない）データが各装置に対して同じであっても、装置はそれぞれ異なるデータパターンを含んでいる。従って、装置中の特定のデータパターンによって引き起こされる任意のエラーは、異なったスクランブリングを使用した複数の装置では繰り返されない。そのようなスクランブリングを使用するＲＡＩＤシステムは装置障害と同様に、データパターンによって引き起こされたエラーからの保護を組み込んでいる。
【０００７】
本発明の実施例による不揮発性メモリアレイに安全にデータを格納する方法は、第１の変換されたデータを得るために第１の変換によりデータ部分を変換するステップと、メモリアレイの第１の部分に第１の変換されたデータを格納するステップと、第２の変換されたデータを得るために第２の変換によりデータ部分を変換するステップと、データ部分の冗長記憶を提供するために、第１の変換されたデータがメモリアレイの第１の部分に格納されている一方、メモリアレイの第２の部分に第２の変換されたデータを格納するステップと、を含む。
【０００８】
本発明の実施例による不揮発性メモリシステムは、メモリアレイの第１の部分と、メモリアレイの第１の部分に格納する前に第１の変換によりデータにスクランブルをかけるために、メモリアレイの第１の部分に接続された第１のデータスクランブラユニットと、メモリアレイの第２の部分と、メモリアレイの第２の部分に格納する前に第２の変換によりデータにスクランブルをかけるために、メモリアレイの第２の部分に接続された第２のデータスクランブラユニットであって、この第２のデータスクランブラユニットは第１のデータスクランブラユニットに並列に接続される第２のデータスクランブラユニットと、を備える。
【図面の簡単な説明】
【０００９】
【図１】データすべてが第１の装置と第２の装置に格納された、ミラーリングを使用したメモリシステム構成図である。
【図２】データＡ２が格納されたとき、そのパターンのために、読み出し時にＥＣＣによって訂正することができない図１のメモリシステム構成図である。データＡ２の両方のコピーは装置１および装置２の中で訂正することができない。
【図３】４つの装置にわたってデータを分散させるためにストライピングを使用して格納されているデータ構成図である。
【図４】より大きなストライプを備えた別のストライピング構成図である。
【図５Ａ】データのミラーリングおよびストライピングを使用した、メモリシステム構成図である。
【図５Ｂ】読み出し時にデータパターン誘導エラーのためにＥＣＣによって訂正できない、データＡ２およびＡ７の場合の図５Ａのメモリシステム構成図である。
【図６Ａ】ミラーリングとストライピングを使用した、別のメモリシステム構成図である。
【図６Ｂ】読み出し時にデータパターン誘導エラーのためにＥＣＣによって訂正できないデータＡ２の場合の図６Ａのメモリシステム構成図である。
【図７Ａ】メモリシステムに格納される前にすべてのデータを変換するためのデータスクランブラユニットを備えている、ミラーリングおよびストライピングを使用したメモリシステム構成図である。
【図７Ｂ】読み出し時にデータパターン誘導エラーのためにＥＣＣによって訂正できない変換されたデータＡ２’とＡ３’の場合の図７Ａのメモリシステム構成図である。
【図８Ａ】各装置中のデータが異なる変換に従うように装置１用の第１のデータスクランブラユニットおよび装置２用の第２のデータスクランブラユニットを備えている別のメモリシステム構成図である。
【図８Ｂ】変換データＡ１＊がまだ訂正可能であるが、読み出し時にデータパターン誘導エラーのためにＥＣＣによって訂正できない変換データＡ１’のメモリシステム構成図である。
【図９Ａ】データがデータスクランブラを共有する装置間にわたってストライピングされる場合の別のメモリシステム構成図である。
【図９Ｂ】変換データＡ２＊およびＡ７’がＥＣＣによって訂正可能なままであるが、読み出し時にデータパターン誘導エラーのためにＥＣＣによって訂正できない変換データＡ２’およびＡ７＊の場合の図９Ａのメモリシステム構成図である。
【図１０Ａ】いくつかの装置が専用のデータスクランブラを備えている場合と、別のいくつかの装置がデータスクランブラを共有している、別のメモリシステム構成図である。
【図１０Ｂ】データＡ２＊を使用して訂正できない変換データＡ２’の置換およびデータＡ３＊を使用した訂正できない変換データＡ３”の置換の動作説明図である。
【図１０Ｃ】Ａ２＊を使用して訂正できない変換データＡ２’の置換およびＡ３＊を使用して訂正できない変換データＡ３”の置換の動作説明図である。
【図１１Ａ】キーが繰り返し使用される前の連続した３２ページを変換するために連続して使用される１セットの３２個のキーテーブル図である。
【図１１Ｂ】８ページ後に各装置内で繰り返し使用されるキーと、４つの装置にわたってストライピングデータを変換するために使用される３２個のキーテーブル図である。
【図１２Ａ】データの各ページ毎に異なったキーのセットを使用してデータを変換する単一のデータスクランブラユニットを使用して格納されたデータ構成図である。
【図１２Ｂ】各データスクランブラでキーが装置内で頻繁に繰り返し使用されるのを防ぐためにキーを連続して使用する、各装置毎に個別のデータスクランブラユニットを備えた別のデータ構成図である。
【図１３】パリティデータを格納する専用装置を使用し、各装置毎に専用のデータスクランブラユニットを備えたメモリシステム構成図である。
【図１４】専用のデータスクランブラユニットを備えている各装置と共に、パリティデータが４つの装置にわたって分散されるメモリシステム構成図である。
【発明を実施するための形態】
【００１０】
様々な方法が不揮発性メモリシステムにおいて高い信頼性でデータ保存を達成するために使用されている。冗長化によって信頼性を改善するある方法は独立形ディスク冗長化アレイ（ＲＡＩＤ）を使用する。ミラーリング、ストライピングおよびパリティデータを使用した異なるタイプのＲＡＩＤシステム、あるいはこれらの技術の組み合わせがある。ＲＡＩＤという用語は一般にハードディスクドライブ（ＨＤＤ）に関係しているが、ＲＡＩＤ技術は、フラッシュメモリのような不揮発性メモリアレイを含む他のタイプのメモリと共に使用されてもよい。
【００１１】
図１は、装置１および装置２の２つの装置を示す。これらはミラーリング構成（ＲＡＩＤ１とも呼ばれる）で接続されている。ミラーリングとは装置１に格納されるのと同じデータ、Ａ０、Ａ１、Ａ２、Ａ３が、装置２にデータの各ユニットの冗長コピーがあるように装置２に格納されることを意味する。他の例では、２つ以上の装置が、同じ２つ以上のデータのコピーを提供するこの方法で接続されてもよい。一般に、２つ以上の装置の中で同じデータの個別のコピーを保持することは、任意の個々の装置の障害からの保護を提供する。従って、図１に示す装置１に障害が発生した場合、装置１に格納されたデータはすべて、装置２からのデータで回復することができる。
【００１２】
個別の装置中のデータの冗長コピーは装置障害に対しての保護をしているが、それはデータロスのあらゆる形式に対して保護をするものではない。ある不揮発性メモリアレイでは、特別なパターンのデータ保存は、特別にデータ破損の機会を増加させるかもしれない。このことは、影響する下層チャネルだけでなく影響する隣接チャネル、つまり影響する隣接したセルのしきい値電圧により、セルのフローティングゲートを備えた隣接したセル間の相互干渉のために生じる。これは、１ビット以上で格納されたセルのしきい値電圧の微少変化により不正確に読み出されてしまうかもしれないＭＬＣメモリシステムで特に問題となる。この問題はメモリアレイ中の寸法がより小さくなり、セル間の相互干渉がより強くなるとともに、厳しくより頻度が高くなる傾向がある。例えば、低いしきい値電圧に最初にプログラムされたＭＬＣセル（そのフローティングゲートにほとんど電荷がないもしくはまったく電荷がない）は、隣接するセルが高いしきい値電圧にプログラムされたことにより（そのフローティングゲートに大きな電荷がある）、後でそのしきい値電圧を上げるかもしれない。これはプログラム妨害のひとつの形と考えられるかもしれない。どの特定のデータパターンがプログラム妨害を引き起こすか、そして引き起こされる妨害の程度（後で誤って読まれてしまうビット数）は、メモリアーキテクチャに依存する。従って、たとえメモリアレイがその設計限界内で動作していても、特別なメモリアレイに格納されたデータを誤って読み出す特別のパターンのデータがあるかもしれない。そのようなデータパターンを回避することが一般的に望ましい。
【００１３】
多くのメモリシステムが、誤ったビットを含んでいるデータを検知し訂正することを可能にするためにいくつかの誤り訂正符号（ＥＣＣ）形式を含んでいる。これを行うために、データはある冗長情報を格納する。データ読み出し時に冗長部はデータがエラーがないかチェックすることを可能にし、あるエラー制限数まで訂正することが可能である。しかし、多くのエラーを訂正するために、冗長部が高い程度（多くの余分なビット）で必要となりメモリスペースの効率的な使用とならない。典型的には、使用される冗長部の程度は、予測されるエラー率に基づき（例えば、多くの予測される不完全なセルに基づいている）、特別のデータパターンによって引き起こされるような高いエラー数を訂正するのには十分ではない。特にデータパターン誘導エラーが、同様の条件に晒される複数のセルのデータの同じ部分に一緒に発生するかもしれない。また、ＥＣＣは一般的に、データのそのような部分中の限られたビットの訂正に制限されている。従って、ＥＣＣはあるメモリシステム中のデータパターン誘導エラーに対応するには単独では十分ではないかもしれない。
【００１４】
図２は、装置１および装置２が同じデータの同一のコピーを格納する例を示す。この場合、データＡ２の部分はＡ２が格納された後で読み出される場合、読み出されたデータは、セル間の相互干渉のために多くのエラーを持ったデータのようなデータパターンを持っている。これは、Ａ２内のセル間の相互干渉、およびＡ２の外側のセルとの相互干渉を含んでいるかもしれない。特に、列の中のセルは同じブロックの隣接した列の中のセルによって影響される傾向がある。この場合、データＡ２におけるエラーの数は、使用されているＥＣＣ方式により訂正できる能力を越えている。また、データは、ＥＣＣによって訂正できないと考えられる。データ部分Ａ２は、５１２バイト（＋オーバーヘッド）のセクタ、ページ（書き込み単位）あるいはブロック（消去の最小単位）のようなデータの任意のユニットであってもよい。データＡ２は、装置１および装置２の両方に同一に格納される。従って、同じパターンが各装置に生じる。従って、両方の装置中のデータＡ２のコピーは影響を受け、また、どちらのコピーも回復可能ではない。従って、この場合、ミラーリング単独ではデータがすべて回復されることを可能にするために十分なレベルの信頼性を提供できない。
【００１５】
図３は、異なる装置間のデータストライピング（ＲＡＩＤ０）の第１の例を示す。データは、図に示されるように、３つのファイル、ファイルＡ、ファイルＢおよびファイルＣとして受け取られる。その後、これらのファイルは図に示されるように装置１〜４にわたって分散される。特に、ファイルＡは、装置１中のＡ０および装置２中のＡ１として格納される。ファイルＢはＢ０〜Ｂ６として格納され、装置１〜４にわたって分散される。また、ファイルＣはＣ０〜Ｃ９として格納され、装置１〜４にわたって分散される。この例におけるデータのストライプは各装置中のデータの１ユニットからなる。例えば、Ａ０、Ａ１、Ｂ０およびＢ１は一緒にストライプを構成する。この例では、各ストライプは２Ｋバイトのデータを含んでいる。図４は、同じデータが同じ装置にわたってより大きなストライプサイズを使用して、各ストライプが４Ｋバイトのデータを含んでいる別の例を示す。ストライピングは冗長性を提供しないが、データが分割され、分割されていなければエラーを引き起こすかもしれないデータパターンが回避されるかもしれないので、これにより信頼性が改善される場合がある。複数の装置にわたって高度に並列でプログラムすることを容易にするので、ストライピングデータはパフォーマンスを改善するかもしれない。
【００１６】
図５Ａは、ミラーリングおよびストライピングの組み合わせを使用したメモリシステムの例を示す。データは装置１と装置２の間でストライピングされ、また、装置１および２中のデータは装置３および４の中でミラーリングされる。このハイブリッド構成は、ＲＡＩＤ０およびＲＡＩＤ１の特徴を適用するＲＡＩＤ０＋１とも呼ばれる。図５Ｂ中で示されるように、あるパターンが格納されたデータに生じる場合、この構成はまだ問題を抱えている。特に、装置１中のデータＡ２の格納域がデータパターンにより訂正できないエラーの数を引き起こす場合、装置３に格納されたデータＡ２のコピーも訂正できないエラーの数を含んでいる。同様に、装置２および装置４の中でデータＡ７の２つのコピーは両方とも訂正できない。従って、Ａ２もＡ７もどちらも回復可能なコピーではない。
【００１７】
図６Ａは、ＲＡＩＤ０およびＲＡＩＤ１の別の組み合わせを示す。これはＲＡＩＤ１０とも呼ばれる。装置１中のこの構成データは装置２の中にミラーリングされる。装置１および２に格納されるのと同じデータは装置３および装置４にわたってストライピングされる。しかし、図６Ｂに示されるように、データＡ２の１つのコピーはそのデータパターンのために訂正できず、他の装置中のデータＡ２のコピーも訂正できない。
【００１８】
読み出し時に訂正できなくなるかもしれないデータパターンへの１つのアプローチは装置に格納する前にデータにスクランブルをかけることである。変換に対するスクランブルの対象となるデータが変換後に変換前のデータに対して異なるパターンを持つようにする。特にそのようなスクランブリングは、データ中の繰り返されたパターンに対してある乱数化を導入してもよい。変換の単純な例はビットをすべて逆にすることであり、つまり、すべての０をすべて１に変更し、すべての０をすべて１に変更することである。他の変換として、格納されるデータおよび一連のビット上で、排他的論理和（ＸＯＲ）操作を行うことが含まれる。ＥＣＣと異なり、スクランブリングは冗長化ビットを加えない。従って、スクランブルをかけられたデータは、オリジナルのデータと同じビット数しか含んでいない。いくつかの場合では、変換により格納されるビット数が減少し、データを圧縮してもよい。いくつかの変換では、データセキュリティアルゴリズムを使用し、データパターンを分割してもよい。
【００１９】
図７Ａは、装置１〜４に格納されるデータすべてが装置に格納される前にスクランブルをかけられるように、データスクランブラユニットもしくはデータスクランブラ（ＤＳ）が装置１〜４に接続される例を示す。スクランブリングは、Ａ０がＡ０’などとなるように、「’」を用いて図７Ａに表示されている。図７Ａは、図６ＡでのＲＡＩＤ１０構成を示す。装置１と装置２の間でデータがミラーリングされ、かつ装置３と装置４にわたって同じデータがストライピングされている。スクランブリングデータが障害を起こさないパターンを持った変換データをもたらす一方で、ある場合には変換されたデータが読み出し時にエラーを引き起こすパターンを持つかもしない。ある場合にはエラーを引き起こさないスクランブリングされていないデータがエラーを引き起こすパターンに変換される。図７Ｂは、読み出し時にエラーを引き起こすパターンを持った変換データＡ２’とＡ３’のスクランブル結果を示す。これらのパターンがエラーを引き起こし、パターンがデータの各コピーで複製されるためにデータの回復可能なコピーは利用可能ではない。従って、ミラーリングおよびストライピングに加えて、単一のデータスクランブリングユニットを使用してスクランブリングすることは、この場合には信頼性を保証するには十分ではない。
【００２０】
図８Ａは、本発明の実施例によるデータ保存システムを示す。メモリシステムは、第１の変換により第１のデータスクランブラＤＳ’によって変換されるデータユニットのシーケンス、Ａ０、Ａ１、Ａ２、Ａ３・・・を受け取る。ＤＳ’によって変換されたデータ（Ａ０’、Ａ１’、Ａ２’、Ａ３’）は装置１に格納される。さらに、データＡ０、Ａ１、Ａ２、Ａ３・・・は第２のデータスクランブラＤＳ＊によって（Ａ０＊、Ａ１＊、Ａ２＊、Ａ３＊へと・・・）変換されかつ格納される。このように、データＡ０は装置１の格納域ではＡ０’に変換され、装置２の格納域ではＡ０＊に変換される。データＡ０’はデータＡ０＊とは異なるパターンを持っている。このように、データＡ０’を格納する装置１のセルのしきい値電圧はデータＡ０＊を格納する装置２中の対応するセルと同じではないかもしれない。同様に、データの他の部分についても、同じデータパターンが生成されないように、異なる変換をされ異なるコピーが格納される。前に述べたように、時にはスクランブルをかけられたデータは訂正できなくなる格納されたデータのパターンを生成するかもしれない。図８Ｂは、格納時にそのデータパターンにより訂正することができないように変換されてしまったデータＡ１’を示す。しかし、変換データＡ１＊は格納時に異なるデータパターンを持っているので、Ａ１＊は訂正できないわけではない。このように、たとえデータＡ１’が訂正可能ではなくとも、オリジナル（変換されていない）データＡ１のコピーはデータＡ１＊から得ることができる。同様に、データの他のユニットが変換、格納時にそのデータパターンにより訂正できなかったとしても、データが別の装置中で格納される前に別の変換をされるので、未だオリジナルデータを回復させることができる。このように、図８Ｂの構成は、装置障害（つまり装置１あるいは装置２のいずれかが故障する場合）およびデータパターン誘導エラーからの保護を提供する。この方法は、データが２つの独立した装置に格納されるという点でミラーリングと同様ではあるが、２つの装置はスクランブリングの結果として異なるデータパターンを保持する。従って、装置２中のデータは、装置１中のデータをミラーリングせず、これは本当のミラーリングではない。
【００２１】
図９Ａは、２つの異なるスクランブラユニットＤＳ’、ＤＳ＊を備えてデータの２つの異なる変換を行うＲＡＩＤ０＋１を使用した別の例を示す。データスクランブラＤＳ’は装置１および装置２を取り扱い、データスクランブラＤＳ＊は装置３および装置４を取り扱う。このように、装置１および装置２に格納されるデータはすべて第１の変換で処理され、同じデータが装置３および装置４中に格納される前に第２の変換で処理される。データは装置１と装置２の間でストライピングされ、また、装置３と装置４の間でもストライピングされる。他の例において、２つ以上の装置のバンクはデータスクランブラを共有してもよいし、この方法のようにデータをストライピングしてもよい。図９Ｂは、変換されたデータＡ２’およびデータＡ７＊の中に生じるデータパターン誘導エラーを示す。オリジナルデータＡ２は、Ａ２＊を読み出しそれを変換することにより（Ａ２＊を作成した変換を逆にして）回復してもよい。格納時にＡ２＊がＡ２’とは異なったデータパターンを持つので、両方のパターンがエラーを引き起こすことはあまりない。同様に、たとえＡ７＊が回復可能でなくとも、オリジナルデータＡ７はＡ７’から再生成することができる。この例の中で使用されるストライピングは、プログラミング時に、性能を改善する、より大きな程度の並列化を可能としてもよい。異なるデータスクランブラユニットは、各装置（つまり装置１、２、３および４用の個別のデータスクランブラ）のために提供されてもよいが、そのような装置が一般にデータの任意の特別の部分の１つ以上のコピーを含んでいないので、ストライピングデータを格納する一群の装置のために１つのデータスクランブラを提供することで一般的には十分である。
【００２２】
図１０Ａは、ＲＡＩＤ１０構成を有する別のメモリシステムを示す。メモリシステムに受け取られたデータは、それが装置１に格納される前にデータスクランブラＤＳ’によって第１の変換をされる。さらに、受信データは、装置２に格納される前に、データスクランブラＤＳ＊によって第２の変換をされる。さらに、受信データは、装置３および装置４に格納される前にデータスクランブラＤＳ”によって第３の変換をされる。変換データは、装置３および装置４にわたってストライピングされる。このように、この例において、データ読み出し時に、エラーを引き起こす変換後のデータであっても、データを回復することができる２つの異なったロケーション（場所）がある。例えば、図１０Ｂは、データパターン誘導エラーのために訂正できないデータＡ２’とデータＡ３”を示す。しかし、データのこれらのユニットの各々について、オリジナルのデータを回復することができる２つの他のバージョン（変形）（Ａ２＊、Ａ２”、Ａ３’およびＡ３＊）がある。
【００２３】
図１０Ｃは、図１０Ｂの読み出し時にＥＣＣによって訂正できないデータＡ２’およびＡ３”の部分がどのように別の装置から生成されたデータによって置き換えられるかを示す。例えば、装置１中のＡ２’がＥＣＣによって訂正できないと分かったとき、オリジナルデータＡ２は装置２に格納されたデータＡ２＊から回復される。オリジナルデータＡ２はさらに、未だ、別に提供される変換データＡ２＊＊から回復されてもよい。この変換を第１の変換とは異なったものにするため、データスクランブラＤＳ’によって行われた変換を変更することにより行われてもよい。この置換の後、オリジナルデータＡ２を回復することができる３つの装置がある。同様に、装置４の中でデータＡ３”はＥＣＣによって訂正できないが、オリジナルであるデータＡ３は装置２の中でデータＡ３＊から回復される。その後、オリジナルのデータＡ３はデータＡ３＊＊を提供するために変換され、訂正できないデータＡ３”を置換する。Ａ３からＡ３＊＊へのデータ変換はデータスクランブラＤＳ”によって行われ、それは先に格納されたデータの変換とは異なった変換を行うために変更される。この例において、データＡ２＊＊およびＡ３＊＊は同様の変換の結果である。しかし、他の場合では、置換を行う場合、異なる変換は異なる装置の中で使用されてもよい。
【００２４】
いくつかのメモリシステムでは、データ変換はキーに従って行われる。例えば、変換されたデータは、オリジナルデータとキーに対するＸＯＲ操作の出力結果であってもよい。オリジナルデータを回復するために、逆の操作が実行される。キーは、周期的に（例えば、各セクタ、各ページ、各ブロックあるいは他のあるパターン毎に）変更されてもよい。一般に、キー使用法を反復のパターンとするために限られた数のキーが使用される。しかし、データストライピングが使用されるそのようなシステムの場合、キーパターンの繰り返しが期待されるより速く繰り返されるため、キーの総数の一部だけを、任意の１つの装置の中で使用してもよい。図１１Ａは、ページからページへとキーが変わっていく４つの装置（装置１〜装置４）があるメモリシステム内のデータにスクランブルをかけるための３２個のキー（キー０〜キー３１）が使用されている装置１を示す。３２個のキーで、キー使用のパターンは３２ページ毎に繰り返される。しかし、図１１Ｂに示されるようなストライピングを使用した、この方式がメモリシステムに適用される場合、キーはより速く繰り返される。この場合にはちょうど８ページ毎である。パターンが非常に速く繰り返されることは一般的に不適当である。なぜならば、キーがより速く繰り返される場合、相互干渉しているメモリセルのリスクが増加するからである。
【００２５】
図１２Ａは、データが装置１〜４にわたってストライプされる前に単一のデータスクランブラＤＳが限定された数のキーを使用してデータにスクランブルをかける別の例を示す。見て分かるように、各装置の中で使用されるキーは、キーの特別なサブセットに制限されている。また、その結果、キーは装置内でより速く繰り返される。
図１２Ｂは、すべてのキーが各装置の中で使用されるようにキーのフルセットを使用して、異なるデータスクランブラが各データスクランブラと共に各装置に使用される場合の別の構成を示す。これは、同じキーの再使用の間隔を広げることによって、データ破損を引き起こすメモリセル状態の配置の可能性を幾分か低下させる。従って、冗長性が提供されない場合であっても、各装置に異なるスクランブリングを使用することは優位性があるとしてもよい。図１２Ｂは、各データスクランブラによりキーが使用される同じパターンを示す。他の例において、異なるデータスクランブラが異なる順番でキーを使用してもよい。例えば、データスクランブラはそれぞれ、異なるキーで始めてもよい（例えば、データスクランブラＤＳ１はキー０で始めてもよく、データスクランブラＤＳ２はキー８で始めてもよく、データスクランブラＤＳ３はキー１６で始めてもよく、ＤＳ４はキー２４で始めてもよい）。スクランブラはそれぞれ、後続キーを派生させるための最初のキーもしくはシードを持っていてもよい。異なる装置中のデータに異なる変換を保証するための１つの方法は異なるシードを使用してそれぞれのデータスクランブラを初期化することである。他の例において、同じデータにスクランブルをかける場合、異なるキーが各データスクランブラによって使用されるように、データスクランブラを制御してもよい。
【００２６】
図１３は、専用装置の中でパリティデータを保持する例を示す（ＲＡＩＤ４）。この場合、パリティデータはもっぱら装置４に格納される。装置４中のパリティデータは装置１〜３に格納されたデータから生成したものである。パリティデータはデータがスクランブルをかけられる前に、あるいは後に生成してもよい。パリティ情報は、パリティデータを含む他の装置中のデータから１つの装置中のデータを再生成させることにより、障害に対する冗長レベルの保護を加える。一般に、パリティデータの使用は冗長性を増加させるだけでなく、データの書き込み時および読み出し時に常に、パリティ操作を行う時間のために性能低下を招く。各装置は装置内でデータスクランブリングキーが頻繁に繰り返し使用されないように専用データスクランブラを持っている。
【００２７】
図１４は、パリティデータがすべての装置にわたって分散される例を示す（ＲＡＩＤ５）。この例において、各ストライプは、ストライプ中の他のデータから生成したパリティデータを含んでいる。例えば、Ｐａｒｉｔｙ０はＡ０、Ａ１およびＢ０から生成する。Ｐａｒｉｔｙ１はＢ１、Ｂ２およびＢ３から生成する。この例は、さらに各装置の専用データスクランブラを示している。
【００２８】
ある例では、個々の装置に専用データスクランブラユニットが付けられたものを示す。これは、専用回路（例えば、メモリダイ上の周辺回路）を持たせることによりハードウェアによって達成してもよい。他の例において、同じハードウェアが異なる回路のために使用されるように、データスクランブリングはコントローラの中でファームウェアによって実現されてもよい。ただし、ファームウェアは、異なる変換がデスティネーション装置に従って行われることを保証する。他のハードウェアでは、さらに一度に１つ以上の装置に異なるスクランブリングを供給してもよい。このように、異なるスクランブリング方式は必ず各装置の異なるハードウェアを必要とせずに実現されてもよい。
【００２９】
前述した様々な方式を、高い信頼性を提供する他の方式と結合させたり、あるいは置き換えたりしてもよい。例えば、このような様々な方式は一般的に、データ部分における少数のエラーによる障害からの保護を提供するＥＣＣ方式と結合される。一般的に、前述した方式は、メモリシステム（例えば、リムーバブルメモリカードやＵＳＢフラッシュドライブ）内で実行され、ホストからは見えないものであってもよい。ある場合には、保護の程度または特定の保護方式がホストを介してユーザによって、あるいは別の方法によって、選択されてもよい。ある場合には、ホストシステムが、メモリシステム中の任意の保護方式に加えて、それ自身の保護方式を持っていてもよい。
【００３０】
本願明細書において参考により引用されたすべての特許、特許出願、論文、書籍、仕様、他の刊行物、文書および事物は、その全体が本願明細書において参照によりあらゆる目的のために援用されている。援用されている刊行物、文書および事物のいずれかと本願明細書の文との間で用語の定義あるいは使用法に関して不一致あるいは矛盾がある場合には、本願明細書における用語の定義あるいは使用法が優越するものとする。
本発明を種々の例示的な実施形態に関連して説明してきたが、本発明が添付の特許請求の範囲の全範囲内において保護を受ける権利があることが理解できよう。
【図１】
2010541049.tif 000003
【図２】
2010541049.tif 000004
【図３】
2010541049.tif 000005
【図４】
2010541049.tif 000006
【図５Ａ】
2010541049.tif 000007
【図５Ｂ】
2010541049.tif 000008
【図６Ａ】
2010541049.tif 000009
【図６Ｂ】
2010541049.tif 000010
【図７Ａ】
2010541049.tif 000011
【図７Ｂ】
2010541049.tif 000012
【図８Ａ】
2010541049.tif 000013
【図８Ｂ】
2010541049.tif 000014
【図９Ａ】
2010541049.tif 000015
【図９Ｂ】
2010541049.tif 000016
【図１０Ａ】
2010541049.tif 000017
【図１０Ｂ】
2010541049.tif 000018
【図１０Ｃ】
2010541049.tif 000019
【図１１Ａ】
2010541049.tif 000020
【図１１Ｂ】
2010541049.tif 000021
【図１２Ａ】
2010541049.tif 000022
【図１２Ｂ】
2010541049.tif 000023
【図１３】
2010541049.tif 000024
【図１４】
2010541049.tif 000025
【国際調査報告】
2010541049.tif 000026
2010541049.tif 000027