(57)【要約】【課題】  縮退故障を有するメモリセル内にビットを記憶するための技術を提供する。【解決手段】  データ記憶システムは、メモリセルを含むメモリ回路および制御回路を含む。制御回路は、メモリセル内の第１の縮退故障率が第１の閾値を上回る場合、第１の書込み操作に応答して縮退故障を有するメモリセルのビット位置を示す１組の第１の冗長ビットを生成する。制御回路は、メモリセル内の第２の縮退故障率が第２の閾値を上回る場合、第２の書込み操作に応答してデータビットを符号化し、符号化データビット、および符号化データビットを生成するためにデータビットに対して行われた変換を示す１組の第２の冗長ビットを生成するように動作する。縮退故障を有するメモリセル内に記憶される符号化データビットは、縮退故障の対応するもののデジタル値に一致する。【選択図】図２
2014120196.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルを含むメモリ回路と、
前記メモリセル内の第１の縮退故障率が第１の閾値を上回る場合、第１の書込み操作に応答して前記縮退故障を有する前記メモリセルのビット位置を示す１組の第１の冗長ビットを生成するように動作する制御回路であって、第１のデータビットが前記第１の書込み操作中に前記メモリセル内に記憶される、制御回路と、
を含むデータ記憶システムであって、
前記制御回路は、前記メモリセル内の第２の縮退故障率が第２の閾値を上回る場合、第２の書込み操作に応答して、第１の符号化データビットと、前記第１の符号化データビットを生成するために前記第２のデータビットに対して行われた変換を示す１組の第２の冗長ビットと、を生成するため、第２のデータビットを符号化するように動作し、前記第１の符号化データビットは、前記第２の書込み操作中に前記メモリセル内に記憶され、前記縮退故障を有する前記メモリセル内に記憶される前記第１の符号化データビットは、前記縮退故障の対応するもののデジタル値に一致する、
データ記憶システム。
【請求項２】
前記制御回路は、前記第１の書込み操作に応答し、縮退故障を有する前記メモリセル内に記憶される前記第１のデータビットのどれが、前記縮退故障の対応するもののデジタル値に一致するかを示す１組の第３の冗長ビットを生成するように動作する、
請求項１に記載のデータ記憶システム。
【請求項３】
前記制御回路は、前記メモリセル内の第３の縮退故障率が第３の閾値を上回る場合、第３の書込み操作に応答して、第２の符号化データビットと、前記第２の符号化データビットのどれが前記第３のデータビットの対応するものと比べて反転されたかを示す１組の第４の冗長ビットと、を生成するため、第３のデータビットを符号化するように動作し、前記第２の符号化データビットは、前記第３の書込み操作中に前記メモリセル内に記憶され、縮退故障を有する前記メモリセル内に記憶される前記第２の符号化データビットが、前記縮退故障の対応するもののデジタル値に一致する、
請求項２に記載のデータ記憶システム。
【請求項４】
前記メモリセル内の第３の縮退故障率が前記第１の閾値を下回る場合、前記制御回路は、第３の書込み操作に応答して、前記メモリセル内の縮退故障によって引き起こされる誤りを防ぐための冗長ビットを生成しない、
請求項１に記載のデータ記憶システム。
【請求項５】
前記制御回路は、前記メモリセル内に記憶するために１組の第１の検査ビットを提供し、前記１組の第１の検査ビットの読取検証を行い、前記１組の第１の検査ビットを反転させて１組の第２の検査ビットを生成し、前記メモリセル内に記憶するために前記１組の第２の検査ビットを提供し、前記１組の第２の検査ビットの読取検証を行うことにより、前記メモリセル内の前記第１の縮退故障率および前記第２の縮退故障率を求めるように動作する、
請求項１に記載のデータ記憶システム。
【請求項６】
前記メモリ回路が相変化メモリ回路である、
請求項１に記載のデータ記憶システム。
【請求項７】
前記制御回路が、前記第１の縮退故障率によって引き起こされる前記メモリセルから読み取られるビット内の誤りを訂正するために、前記１組の第１の冗長ビットおよび前記１組の第３の冗長ビットを用いて前記メモリセルから読み取られる前記ビットを復号するように動作し、前記制御回路が、前記第２のデータビットを再生成するために、前記１組の第２の冗長ビットを用いて前記メモリセルから読み取られる前記第１の符号化データビットを復号するように動作する、
請求項２に記載のデータ記憶システム。
【請求項８】
前記１組の第２の冗長ビットが、前記第２の書込み操作内で縮退故障を有する前記メモリセル内に記憶される前記第１の符号化データビットのどれが、前記第２のデータビットの対応するものと比べて反転されたかを示し、前記１組の第２の冗長ビットが、前記メモリセル内の前記縮退故障のビット位置を示す、
請求項１に記載のデータ記憶システム。
【請求項９】
メモリセルを含むメモリ回路であって、第１の書込み操作中に前記メモリセル内に第１のデータビットを記憶するように動作する、メモリ回路と、
前記メモリセル内の第１の縮退故障率が第１の閾値を上回る場合、前記第１の書込み操作に応答して、縮退故障を有する前記メモリセルのビット位置を示す１組の第１の冗長ビットと、縮退故障を有する前記メモリセル内に記憶される前記第１のデータビットのどれが、前記縮退故障の対応するものと異なるデジタル値を有するのかを示す１組の第２の冗長ビットと、を生成するように動作する、制御回路と、
を含むデータ記憶システムであって、
前記制御回路は、前記メモリセル内の第２の縮退故障率が第２の閾値を上回る場合、第２の書込み操作に応答して、第１の符号化データビットと、前記第１の符号化データビットを生成するために前記第２のデータビットに対して行われた変換を示す１組の第３の冗長ビットと、を生成するため、第２のデータビットを符号化するように動作し、前記メモリ回路が、前記第２の書込み操作中に前記メモリセル内に前記第１の符号化データビットを記憶するように動作し、前記縮退故障を有する前記メモリセル内に記憶される前記第１の符号化データビットは、前記縮退故障の対応するもののデジタル値に一致する、
データ記憶システム。
【請求項１０】
前記制御回路は、前記メモリセル内の第３の縮退故障率が第３の閾値を上回る場合、第３の書込み操作に応答して、第２の符号化データビットと、前記第２の符号化データビットのどれが前記第３のデータビットの対応するものと比べて反転されたかを示す１組の第４の冗長ビットと、を生成するため、第３のデータビットを符号化するように動作し、前記メモリ回路が、前記第３の書込み操作中に前記メモリセル内に前記第２の符号化データビットを記憶するように動作し、前記縮退故障を有する前記メモリセル内に記憶される前記第２の符号化データビットが、前記縮退故障の対応するもののデジタル値に一致する、
請求項９に記載のデータ記憶システム。
【請求項１１】
前記制御回路は、前記メモリセル内に記憶するために１組の第１の検査ビットを提供し、前記１組の第１の検査ビットの読取検証を行い、前記１組の第１の検査ビットを反転させて１組の第２の検査ビットを生成し、前記メモリセル内に記憶するために前記１組の第２の検査ビットを提供し、前記１組の第２の検査ビットの読取検証を行うことにより、前記メモリセルの前記第２の符号化データビットにアクセスするための各読取操作に応答して、前記メモリセル内の前記縮退故障のビット位置を求めるように動作する、
請求項１０に記載のデータ記憶システム。
【請求項１２】
前記第３の閾値が前記第２の閾値を上回り、前記第２の閾値が前記第１の閾値を上回る、
請求項１０に記載のデータ記憶システム。
【請求項１３】
前記制御回路が、組合せ数体系を用いて前記１組の第１の冗長ビットを生成するように動作する、
請求項９に記載のデータ記憶システム。
【請求項１４】
前記１組の第３の冗長ビットは、前記第２の書込み操作内で、縮退故障を有する前記メモリセル内に記憶される前記第１の符号化データビットのどれが、前記第２のデータビットの対応するものと比べて反転されたかを示す、
請求項９に記載のデータ記憶システム。
【請求項１５】
前記メモリセル内の第３の縮退故障率が前記第１の閾値を下回る場合、前記制御回路は、第３の書込み操作に応答して、前記メモリセル内の縮退故障によって引き起こされる誤りを防ぐための冗長ビットを生成しない、
請求項９に記載のデータ記憶システム。
【請求項１６】
制御回路において第１のデータビットを受け取るステップと、
前記メモリセル内の第１の縮退故障率が第１の閾値を上回る場合、前記制御回路を用いて第１の書込み操作に応答して縮退故障を有するメモリ回路内のメモリセルのビット位置を示す１組の第１の冗長ビットを生成するステップであって、前記第１のデータビットが前記第１の書込み操作中に前記メモリセル内に記憶される、ステップと、
前記制御回路において第２のデータビットを受け取るステップと、
前記メモリセル内の第２の縮退故障率が第２の閾値を上回る場合、前記制御回路を用いて、第２の書込み操作に応答して、第１の符号化データビットと、前記第１の符号化データビットを生成するために前記第２のデータビットに対して行われた変換を示す１組の第２の冗長ビットと、を生成するため、前記第２のデータビットを符号化するステップであって、前記第１の符号化データビットは前記第２の書込み操作中に前記メモリセル内に記憶され、前記縮退故障を有する前記メモリセル内に記憶される前記第１の符号化データビットは、前記縮退故障の対応するもののデジタル値に一致する、ステップと、
を含む、方法。
【請求項１７】
前記制御回路を用いて、前記第１の書込み操作に応答し、縮退故障を有する前記メモリセル内に記憶される前記第１のデータビットのどれが、前記縮退故障の対応するもののデジタル値に一致するかを示す１組の第３の冗長ビットを生成するステップ、
をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記制御回路において第３のデータビットを受け取るステップと、
前記メモリセル内の第３の縮退故障率が第３の閾値を上回る場合、前記制御回路を用いて、第３の書込み操作に応答して、第２の符号化データビットと、前記第２の符号化データビットのどれが前記第３のデータビットの対応するものと比べて反転されたかを示す１組の第４の冗長ビットと、を生成するため、前記第３のデータビットを符号化するステップであって、前記第２の符号化データビットは前記第３の書込み操作中に前記メモリセル内に記憶され、縮退故障を有する前記メモリセル内に記憶される前記第２の符号化データビットは、前記縮退故障の対応するもののデジタル値に一致する、ステップと、
をさらに含む、請求項１７に記載の方法。
【請求項１９】
前記制御回路を用いて、前記メモリセル内に記憶するために１組の第１の検査ビットを提供し、前記１組の第１の検査ビットの読取検証を行い、前記１組の第１の検査ビットを反転させて１組の第２の検査ビットを生成し、前記メモリセル内に記憶するために前記１組の第２の検査ビットを提供し、前記１組の第２の検査ビットの読取検証を行うことにより、前記メモリセルの前記第２の符号化データビットにアクセスするための各読取操作に応答して、前記メモリセル内の前記縮退故障のビット位置を求めるステップ、
をさらに含む、請求項１８に記載の方法。
【請求項２０】
前記制御回路を用いて、前記縮退故障によって引き起こされる前記メモリセルから読み取られるビット内の誤りを訂正するために、前記１組の第１の冗長ビットおよび前記１組の第３の冗長ビットを用いて前記メモリセルから読み取られる前記ビットを復号するステップ、
をさらに含む、請求項１７に記載の方法。
【請求項２１】
前記制御回路を用いて前記第２のデータビットを再生成するために、前記１組の第２の冗長ビットを用いて前記メモリセルから読み取られる前記第１の符号化データビットを復号するステップ、
をさらに含む、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶システムに関し、より詳細には、データ記憶システムにおいて縮退故障を有するメモリセル内にビットを記憶するための技術に関する。
【背景技術】
【０００２】
多くのデータ通信システムは、データ内の誤りを検出し訂正するために、誤り訂正符号器および復号器を使用する。データ通信システムは、例えば約１×１０−４の率で生成されるランダム誤りを訂正することができる。約１×１０−４の誤り率を防ぐために、誤り訂正符号器は、その入力ビットよりも約１０％多いビットを有する符号化ビットを生成する。
【０００３】
相変化メモリ（ＰＣＭ：ｐｈａｓｅ  ｃｈａｎｇｅ  ｍｅｍｏｒｙ）は、不揮発性メモリの類である。ＰＣＭデバイスには、従来の不揮発性フラッシュメモリに勝る多くの利点がある。しかしＰＣＭデバイスは、劣化によって引き起こされる多数の誤りを発生させることがある。例えば、ＰＣＭデバイスは、１×１０−２以上の率で誤りを発生させることがある。
【０００４】
耐久性の限度において、不揮発性メモリデバイスの誤り率は劣化によって左右される。劣化によって引き起こされる誤りは、データ通信システム内で一般的なランダム誤りとは異なる統計および特性を有する縮退故障を含む。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１３／７１２，９２９号明細書
【特許文献２】米国特許出願第１３／６４９，００７号明細書
【特許文献３】米国特許出願第１３／６４９，０７２号明細書
【発明の概要】
【課題を解決するための手段】
【０００６】
一部の実施形態によれば、データ記憶システムが、メモリセルを含むメモリ回路および制御回路を含む。制御回路は、メモリセル内の第１の縮退故障率が第１の閾値を上回る場合、第１の書込み操作に応答して縮退故障を有するメモリセルのビット位置を示す１組の第１の冗長ビットを生成する。第１のデータビットが、第１の書込み操作中にメモリセル内に記憶される。制御回路は、メモリセル内の第２の縮退故障率が第２の閾値を上回る場合、第２の書込み操作に応答して、第１の符号化データビットと、第１の符号化データビットを生成するために第２のデータビットに対して行われた変換を示す１組の第２の冗長ビットと、を生成するため、第２のデータビットを符号化するように動作する。第１の符号化データビットは、第２の書込み操作中にメモリセル内に記憶される。縮退故障を有するメモリセル内に記憶される第１の符号化データビットは、縮退故障の対応するもののデジタル値に一致する。
【０００７】
以下の詳細な説明および添付図面を検討すると、本発明の様々な目的、特徴、および利点が明らかになる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態によるデータ記憶システムの一例を示す。
【図２】本発明の一実施形態による、メモリ回路のメモリセル内に記憶するために与えられるデータビットに対して施す符号化技術を選択するための操作の例を示すフローチャートである。
【図３】本発明の一実施形態による、メモリセル内の縮退故障のビット誤り率を求めるために実行され得る操作の例を示す。
【発明を実施するための形態】
【０００９】
本明細書に記載の一部の実施形態によれば、書込み操作中、メモリ回路のメモリセル内に記憶するためにデータビットが与えられる。メモリセル内の縮退故障によって引き起こされる誤りを防ぐために、制御回路がデータビットのための冗長ビットを生成する。データビットまたは符号化データビットがメモリセル内に記憶される。読取操作中にビットがメモリセルから読み取られた後、制御回路が冗長ビットを使用して縮退故障によって引き起こされるメモリセルから読み取られたビット内の誤りを訂正する。メモリ回路は、例えば縮退故障を有する（例えばカルコゲナイドガラスを用いた）相変化メモリ回路や別の種類のメモリ回路とすることができる。本明細書に記載のデータビットは、例えばユーザ生成ビット、ソフトウェアコードを表すビット、および他の任意のデジタル値を含むことができる。
【００１０】
縮退故障を有するメモリセルとは、単一のデジタル値しか記憶できないメモリセルである。１の縮退故障値を有するメモリセルは論理ハイのデジタル値しか記憶できず、０の縮退故障値を有するメモリセルは論理ローのデジタル値しか記憶できない。したがって、１の縮退故障値を有するメモリセルからは論理ハイのデジタル値しか読み取ることができず（すなわち１の状態が続き）、０の縮退故障値を有するメモリセルからは論理ローのデジタル値しか読み取ることができない（すなわち０の状態が続く）。縮退故障を有するメモリセルは、経時的に変わらない縮退故障値を概して有する。
【００１１】
メモリ回路内のメモリセルの一部が縮退故障を有する場合、データビットまたは符号化データビットがメモリセル内に記憶される前に、縮退故障のデジタル値および縮退故障を有するメモリセルのビット位置が求められる。制御回路は、これらの所定の縮退故障のデジタル値およびビット位置を用いて冗長ビットを生成する。データビットまたは符号化データビットはメモリ回路のメモリセル内に記憶される。冗長ビットは、同じメモリ回路内に記憶されても、別のメモリ回路内に記憶されてもよい。
【００１２】
その後、読取操作中にビットがメモリセルから読み取られて制御回路に与えられ、冗長ビットがメモリからアクセスされて制御回路に与えられる。制御回路は、冗長ビットを用いて所定の縮退故障によって引き起こされるメモリセルから読み取られるビット内の誤りを訂正する。制御回路は、メモリセル内の所定の縮退故障によって引き起こされる誤りをメモリセルから読み取られるビットに含まなくさせる。
【００１３】
本明細書に記載する技術は、マルチレベルメモリセルに直接適用することができる。マルチレベルメモリセルは、１メモリセル当たり複数のビットを記憶することができる。例えば、メモリセルが２ビット保持して動けなくなる場合、それらの２ビットの値は固定され、それらを２つの別個の縮退故障位置として扱うことができる。縮退故障の一方の位置が分かっているので、他方の縮退故障の位置も分かる。その結果、同じ縮退故障誤り率について、マルチレベルメモリセルでは、単一レベルメモリセルで生成される冗長ビットよりも少ない冗長ビットが生成され得る。単一レベルメモリセルは、１メモリセル当たり１ビットしか記憶しない。冗長ビットの数は、例えば１メモリセル当たりのビット数に等しいだけ少ないものとすることができる。
【００１４】
図１は、本発明の一実施形態によるデータ記憶システム１００の一例を示す。データ記憶システム１００は、制御回路１０１、メモリ回路１０２、およびメモリ回路１０３を含む。制御回路１０１は、例えばメモリコントローラ回路、プロセッサ回路、または他の任意の種類の制御回路とすることができる。制御回路１０１は、メモリセル内の縮退故障によって引き起こされる誤りを防ぐための冗長ビットを生成し、その冗長ビットを用いてメモリセルから読み取られるビットを復号する。ビットは、メモリ回路１０２〜１０３の一方または両方の中に記憶される。制御回路１０１は、メモリ回路１０２〜１０３との間でビットをやり取りすることができる。ビットは、１つまたは複数のオンチップもしくは外部バスにより、または他の種類の信号線により、制御回路１０１とメモリ回路１０２〜１０３との間で伝送される。制御回路１０１、メモリ回路１０２、およびメモリ回路１０３は、同じ集積回路内にあっても、別の集積回路内にあってもよい。したがってシステム１００は、回路１０１〜１０３を含む単一集積回路デバイスとすることができる。あるいはシステム１００は、３つの別個の集積回路デバイス１０１〜１０３を含んでもよい。
【００１５】
図２は、本発明の一実施形態による、メモリ回路のメモリセル内に記憶するために与えられるデータビットに対して施す符号化技術を選択するための操作の例を示すフローチャートである。図２の操作は、例えば制御回路１０１またはメモリ回路１０２〜１０３の一方の中の制御回路によって実行することができる。一部の実施形態では、図２の操作が、メモリセルのページやメモリセルのバンクなど、メモリ回路内のメモリセルのサブセットに施される。
【００１６】
最初に、メモリ回路内のメモリセルは縮退故障を有さず、制御回路は操作２０１による書込み操作を行う。操作２０１の前に、制御回路は、書込み操作中にメモリ回路のメモリセル内に記憶するために与えられるデータビットを受け取る。操作２０１で、制御回路は、メモリセルがまだ縮退故障を示していないので、メモリセル内の縮退故障を防ぐための冗長ビットを生成する必要がないと判定する。データビットは、書込み操作中にメモリ回路のメモリセル内に記憶される。メモリセルに書き込まれたビットの読取検証を書込み操作後に行い、データビットの正確な値がメモリセル内に記憶されたことを検証することができる。操作２０１の後、制御回路は、操作２０１中にメモリセル内に記憶されたビットの１回または複数回の読取操作を行うことができる。メモリセルに対する読取操作中、制御回路は、縮退故障によって引き起こされる誤りを訂正するために生成された冗長ビットを復号しない。
【００１７】
制御回路は、操作２０２に進んでメモリセル内の縮退故障のビット誤り率を評価する前に、操作２０１による任意の回数の書込み操作を行うことができる。判定操作２０２で、制御回路は、メモリ回路のメモリセル内の縮退故障のビット誤り率（ＢＥＲ：ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ）が０を上回るかどうかを判定する。１組のメモリセル内の縮退故障のＢＥＲはｓ／ｋに等しく、ただしｓはメモリセル内の縮退故障の数であり、ｋはメモリセル内に記憶可能な最大ビット数である。操作２０２でメモリセル内の縮退故障のＢＥＲが０の場合、制御回路は、操作２０１に関して上述したようにメモリ回路のメモリセルに対する書込み操作を引き続き実行する。操作２０２でメモリセル内の縮退故障のＢＥＲが０を上回る場合、制御回路は操作２０３に従い、書込み操作中に冗長ビットを生成する。
【００１８】
図３は、本発明の一実施形態による、メモリセル内の縮退故障のビット誤り率（ＢＥＲ）を求めるために実行され得る操作の例を示す。制御回路は、例えば図３の操作を実行することにより、メモリセル内の縮退故障のＢＥＲを求めることができる。操作３０１で、制御回路は、１組の第１の検査ビット（例えば全てゼロの値）をメモリセルに書き込む。操作３０２で、制御回路は、メモリセルから読み取られたビットを解析し、メモリセルが１組の第１の検査ビットを正確に記憶しているかどうかを判定することにより読取検証操作を行う。メモリセルから読み取られたビットのいずれかが、メモリセルに書き込まれた１組の第１の検査ビットの対応するものに一致しないと制御回路が操作３０２で判定する場合、操作３０３で、対応するビット位置内のメモリセルが縮退故障を有するとしてフラグを立てられる。
【００１９】
次いで制御回路は、操作３０４で、１組の第１の検査ビットを反転させて１組の第２の検査ビット（例えば全て１の値）を生成する。次いで制御回路は、操作３０５で、１組の第２の検査ビットをメモリセルに書き込む。操作３０６で、制御回路は、メモリセルから読み取られたビットを解析し、メモリセルが１組の第２の検査ビットを正確に記憶しているかどうかを判定することにより読取検証操作を行う。メモリセルから読み取られたビットのいずれかが、メモリセルに書き込まれた１組の第２の検査ビットの対応するものに一致しないと制御回路が操作３０６で判定する場合、操作３０７で、対応するビット位置内のメモリセルが縮退故障を有するとしてフラグを立てられる。
【００２０】
制御回路は、縮退故障を有するとして操作３０３および３０７で識別されたメモリセルのビット位置、およびそれらの縮退故障のデジタル値を記憶する。操作３０８で、制御回路は、縮退故障を有するメモリセルのビット位置およびそれらの縮退故障のデジタル値を確認するために、操作３０１〜３０７を繰り返すかどうかを決定する。制御回路は、縮退故障のビット位置およびデジタル値を確認するために、操作３０１〜３０７を１回、２回、またはそれ以上の回数繰り返すことができる。制御回路が操作３０１〜３０７を繰り返さないことに決める場合、図３の操作は完了する。
【００２１】
図２を再び参照し、制御回路は、操作２０３の前に、各書込み操作中にメモリ回路のメモリセル内に記憶するために与えられるデータビットを受け取る。操作２０３で、制御回路は、書込み操作に応答し、縮退故障を有するメモリセルのそれぞれのビット位置を示す１組の第１の冗長ビットを生成する。操作２０３で制御回路は、縮退故障を有するメモリセル内に記憶されるデータビットのどれがその対応する縮退故障と同じデジタル値を有するのか、および縮退故障を有するメモリセル内に記憶されるデータビットのどれがその対応する縮退故障と異なるデジタル値を有するのかを示す、１組の第２の冗長ビットも生成する。冗長ビットは、例えば制御回路内の符号器によって生成されてもよい。
【００２２】
１組の第１の冗長ビットおよび１組の第２の冗長ビットを生成するために、操作２０３で制御回路によって使用され得る技術の例が、参照によりその全体を本明細書に援用する、２０１２年１２月１２日に出願された（特許文献１）の図２の中で示され、この図面に関して説明されている。この特許出願の中で説明されている技術は、組合せ数体系を使用する。しかし、冗長ビットを生成するための他の技術が操作２０３で使用されてもよい。
【００２３】
操作２０３で生成される１組の第１の冗長ビットおよび１組の第２の冗長ビットは、メモリセル内に記憶するために与えられるデータビットに関連付けられる。制御回路は、書込み操作中にメモリ内に記憶するために１組の第１の冗長ビットおよび１組の第２の冗長ビットを提供する。データビットは、書込み操作中にメモリ回路のメモリセル内に記憶される。
【００２４】
これらのメモリセル内に記憶されたデータビットにアクセスするための読取操作中、データビットはメモリセルから読み取られ、制御回路に与えられる。１組の第１の冗長ビットおよび１組の第２の冗長ビットもメモリからアクセスされ、制御回路に与えられる。例えば上記で言及した（特許文献１）の図３〜４に関して説明されるように、制御回路は、メモリセルから読み取られたデータビットを１組の第１の冗長ビットおよび１組の第２の冗長ビットを用いて復号し、書込み操作の前に識別された縮退故障によって引き起こされるデータビット内の誤りを訂正する。制御回路は、１組の第１の冗長ビットに基づいて縮退故障を有するメモリセルのビット位置を求める。制御回路は、縮退故障によって引き起こされるデータビット内の誤りを訂正するために、１組の第２の冗長ビットのデジタル値および縮退故障を有するメモリセルのビット位置に基づき、メモリセルから読み取られたデータビットのどれを反転させるのかを決定する。制御回路は、例えば復号器を使い、メモリセルから読み取られるデータビット内の誤りを訂正することができる。
【００２５】
制御回路は、操作２０４に進んでメモリセル内の縮退故障のＢＥＲを再評価する前に、操作２０３による任意の回数の書込み操作を行うことができる。判定操作２０４で、制御回路はメモリセル内の縮退故障のＢＥＲを評価する。操作２０４で、制御回路は、メモリセルが任意の新たな縮退故障を有するかどうかを判定する。制御回路は、上記の図３の操作を実行することにより、メモリセルが任意の新たな縮退故障を有するかどうかを判定することができる。一実施形態では、検査ビットを正確に記憶しないメモリセルはどれも縮退故障を有すると判定される。
【００２６】
判定操作２０４で、制御回路は、メモリセル内の縮退故障のＢＥＲが閾値Ｙを上回るかどうかを判定する。Ｙは０を上回る数である。操作２０４でメモリセル内の縮退故障のＢＥＲがＹ以下の場合、制御回路は、次の書込み操作に応答し、直前に識別された縮退故障に基づいて操作２０３で冗長ビットを生成する。
【００２７】
操作２０４でメモリセル内の縮退故障のＢＥＲがＹを上回る場合、制御回路は、操作２０５に従い、次の書込み操作に応答して符号化データビットおよび冗長ビットを生成する。操作２０５の前に、制御回路は、書込み操作に応答し、メモリ回路のメモリセル内に記憶するために与えられるデータビットを受け取る。データビットのそれぞれは、メモリセルの対応するものに記憶するために与えられる。操作２０５で、制御回路はデータビットを符号化し、操作２０４で識別された縮退故障を有する対応するメモリセルに適合する符号化データビットを生成する。制御回路は、縮退故障の対応するもののデジタル値に一致しないデジタル値を有するデータビットのそれぞれを反転させ、符号化データビットの対応するものを生成する。
【００２８】
操作２０５で、制御回路は、符号化データビットを生成するためにデータビットに対して行われた変換を示す冗長ビットも生成する。この冗長ビットは、符号化データビットを生成するために制御回路によって反転されたデータビットのデジタル値を示す。一実施形態では、この冗長ビットは、縮退故障を有するメモリセル内に記憶された符号化データビットのそれぞれが、データビットの対応するものと比べて反転されたかどうかを示す。この冗長ビットは、復号中にデータビットを再生成するために、縮退故障を有するメモリセル内に記憶された符号化データビットのどのデジタル値を反転させるのかを示す。
【００２９】
符号化データビットおよび冗長ビットを生成するために、操作２０５で制御回路によって使用され得る技術の例が、参照によりその全体を本明細書に援用する、２０１２年１０月１０日に出願された（特許文献２）および（特許文献３）の図１０Ａ〜１５の中で示され、これらの図面に関して説明されている。
【００３０】
操作２０５の例示的実施形態では、例えば（特許文献２）および（特許文献３）の図１１Ｂに関して説明されているように、制御回路は、操作２０４においてメモリセル内で識別された縮退故障のビット位置を示す１組の第１の冗長ビットと、縮退故障を有するメモリセル内に記憶された符号化データビットのそれぞれが対応するデータビットと比べて反転されたかどうかを示す１組の第２の冗長ビットとを生成する。
【００３１】
操作２０５の別の例示的実施形態によれば、制御回路が、例えば（特許文献２）および（特許文献３）の図１１Ｃ〜１１Ｄに関して説明されているように、区域単位でデータビットを反転させることにより符号化データビットを生成する。この実施形態では、冗長ビットは、符号化データビットを生成するためにその中でデータビットが反転されまたは反転されない区域を作成するために使用される、ビット位置の被選択ビット位置を示す。
【００３２】
操作２０５のさらに別の例示的実施形態によれば、例えば（特許文献２）および（特許文献３）の図１２Ａ〜１２Ｃおよび図１３に関して説明されているように、制御回路は、メモリセル内の縮退故障に適合する符号化データビットを生成するために２分木アルゴリズムを用いてデータビットを符号化する。この実施形態では、冗長ビットが、２分木の葉およびノードを含む２分木の構造を示す。冗長ビットは、符号化データビットの対応するものを生成するために、２分木の各葉によって表されるデータビットが反転されたかどうかも示す。
【００３３】
操作２０５のさらに別の例示的実施形態によれば、例えば（特許文献２）および（特許文献３）の図１４Ａ〜１４Ｃおよび図１５に関して説明されているように、制御回路は、データビットを二等分し、それぞれの半分の中で同数の縮退故障を実現するためにそれらの二等分間でデータビットを交換することにより、データビットを符号化する。データビットの半分のそれぞれは、同数のデータビットをそれぞれ有する４つの四半分を生成するように、２つの等しいデータビットの四半分へとさらに分割してもよい。データビットの最も小さい下位区分のそれぞれがその対応するメモリセル内にちょうど１つの縮退故障を有するまで、四半分のうちの２つの各組、８つの下位区分のうちの２つの各組等についてデータビットを交換するプロセスが繰り返される。この実施形態では、冗長ビットが、縮退故障のビット位置、および縮退故障を有するメモリセル内に記憶される符号化データビットのそれぞれが、データビットの対応するものと比べて反転されたかどうかを示すことができる。
【００３４】
操作２０５で生成される冗長ビットは、符号化データビットに関連付けられる。制御回路は、書込み操作中にメモリ内に記憶するための冗長ビットを提供する。データビットではなく操作２０５で生成された符号化データビットが、書込み操作中にメモリ回路のメモリセル内に記憶される。
【００３５】
操作２０５で生成された符号化データビットにアクセスするための読取操作中、冗長ビットもメモリからアクセスされ、制御回路に与えられる。制御回路は、冗長ビットを用いてメモリセルから読み取られた符号化データビットを復号し、データビットを再生成する。再生成されるデータビットは、先行する書込み操作の前に識別される縮退故障によって引き起こされる誤りを含まない。
【００３６】
制御回路は、操作２０６に進んでメモリセル内の縮退故障のビット誤り率（ＢＥＲ）を再評価する前に、操作２０５による任意の回数の書込み操作を行うことができる。制御回路は、判定操作２０６で、メモリセル内の縮退故障のＢＥＲを再び評価する。操作２０６で、制御回路は例えば上記の図３の操作を実行することにより、メモリセルが任意の新たな縮退故障を有するかどうかを判定する。判定操作２０６で、制御回路は、メモリセル内の縮退故障のＢＥＲが閾値Ｚを上回るかどうかを判定する。ＺはＹを上回る数である。操作２０６でメモリセル内の縮退故障のＢＥＲがＺ以下の場合、制御回路は、直前に識別された縮退故障に基づいて次の書込み操作中に操作２０５を実行する。
【００３７】
操作２０６でメモリセル内の縮退故障のＢＥＲがＺを上回る場合、制御回路は、操作２０７に従い、次の書込み操作に応答して符号化データビットおよび冗長ビットを生成する。操作２０７の前に、制御回路は、書込み操作に応答し、メモリ回路のメモリセル内に記憶するために与えられるデータビットを受け取る。操作２０７で、制御回路はデータビットを符号化し、縮退故障を有するメモリセルに適合する符号化データビットを生成する。制御回路は、符号化データビットを、縮退故障の対応するもののデジタル値に一致させる。制御回路は、縮退故障を有するメモリセル内に記憶される符号化データビットを、縮退故障の対応するもののデジタル値に一致させる。
【００３８】
操作２０７で、制御回路は冗長ビットも生成する。操作２０７で生成される冗長ビットは、符号化データビットのどれがデータビットの対応するものと比べて反転されたかを示す。そのため、操作２０７で生成される冗長ビットは、データビットを再生成するために符号化データビットのどれを反転させるのかを示す。操作２０７では、制御回路はメモリセル内の縮退故障のビット位置を示す冗長ビットを生成しない。
【００３９】
操作２０７で生成される冗長ビットは、符号化データビットに関連付けられる。制御回路は、書込み操作中にメモリ内に記憶するための冗長ビットを提供する。データビットではなく操作２０７で生成された符号化データビットが、書込み操作中にメモリ回路のメモリセル内に記憶される。
【００４０】
操作２０７で生成され、メモリセル内に記憶される符号化データビットにアクセスするための各読取操作中、符号化データビットはメモリセルから読み取られ、制御回路に与えられる。また、操作２０７で生成される冗長ビットもメモリからアクセスされ、制御回路に与えられる。
【００４１】
操作２０７で生成される符号化データビットにアクセスするための各読取操作に応答し、制御回路は、縮退故障を有するメモリセルのビット位置を求める。縮退故障を有するメモリセルのビット位置を識別するために、制御回路は、例えば上記の図３の操作を実行してもよい。制御回路は、１組の第１の検査ビット（例えば全てゼロの値）をメモリセルに書き込み、次いで読取検証操作を行い、メモリセルが１組の第１の検査ビットを正確に記憶しているかどうかを判定する。その後制御回路は、１組の第１の検査ビットを反転させて１組の第２の検査ビットを生成し、１組の第２の検査ビットをメモリセルに書き込み、次いで読取検証操作を行い、メモリセルが１組の第２の検査ビットを正確に記憶しているかどうかを判定する。１組の第１の検査ビットまたは１組の第２の検査ビットを正確に記憶しないメモリセルはどれも縮退故障を有すると判定される。制御回路は、メモリセル内の縮退故障のビット位置を求めるために、これらの操作を１回または複数回行うことができる。
【００４２】
制御回路は、データビットを再生成するために、冗長ビットおよび縮退故障を有すると判定されたメモリセルのビット位置を用いて、メモリセルから読み取られる符号化データビットを復号する。再生成されるデータビットは、縮退故障によって引き起こされる誤りを含まない。
【００４３】
制御回路によって実行される書込み操作が操作２０１から操作２０３、操作２０５、次いで操作２０７に進むにつれ、データ記憶システムは、より優れた縮退故障のビット誤り率でメモリ回路から正確な値を読み書きできるので、データ記憶システムの耐久性が高まる。
【００４４】
しかし、制御回路によって実行される書込み操作が操作２０１から操作２０３、操作２０５、次いで操作２０７に進むにつれ、データ記憶システムの性能は低下する。１組のビットをメモリ回路に書き込み、次いでメモリ回路から読み取るために、より多くの読書き操作が用いられ、結果として読書き操作を行う時間が増加する。
【００４５】
本発明の実施形態は、例えばハードウェア、ソフトウェア、およびプログラム命令を含むコンピュータ可読媒体の１つまたは組合せを用いて実施することができる。本発明の実施形態は、コンピュータ上で実行可能な非一時的コンピュータ可読媒体上に記憶されるプログラムコードとして実施することができる。本発明の実施形態によって実施されるソフトウェアおよび本発明の結果は、半導体メモリ、相変化メモリ、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）や他の媒体などのコンピュータ可読媒体上に記憶することができる。本発明の結果は、プロセッサによって実行されまたは処理されること、利用者に表示されること、ネットワークを介して信号内で伝送されることなど、様々な目的で使用することができる。本発明の実施形態は、ネットワークを介して接続されるいくつかのコンピュータシステムに分散処理に影響を及ぼさせる、非一時的コンピュータ可読媒体上に記憶されるコンピュータ可読プログラムコードユニットとして実施することもできる。
【００４６】
本発明の例示的実施形態についての上記の説明は、解説および説明目的で提示した。上記の説明は網羅的であることも、本明細書で開示した例に本発明を限定することも意図しない。一部の例では、記載した他の特徴を対応して使用することなしに、本発明の特徴を使用することができる。上記の教示に照らし、本発明の範囲から逸脱することなく多くの修正形態、代替形態、および改変形態が可能である。
【符号の説明】
【００４７】
１００  データ記憶システム
１０１  制御回路
１０２  メモリ回路
１０３  メモリ回路
【図１】
2014120196.tif 000003
【図２】
2014120196.tif 000004
【図３】
2014120196.tif 000005