(57)【要約】【課題】本願ではとりわけ、メモリのメモリセルの読出し方法を開示する。【解決手段】当該方法は、複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、物理値の少なくとも一部を互いに比較し、比較された物理値に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、対応付けにより得られたメモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号値を対応付ける。ここではとりわけ、ｎ≧３、ｎ１≧１〜ｎＫ≧１、Ｋ≧２、かつ、ｍ≧１が適用される。【選択図】図１
2018133087.tif 000002
【特許請求の範囲】
【請求項１】
メモリのメモリセルの読出し方法であって、
複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
前記物理値の少なくとも一部を互いに比較し、
比較された前記物理値に基づき、前記ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
前記対応付けにより得られたメモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号値を対応付ける、
読出し方法。
【請求項２】
前記物理値の少なくとも一部の順序が特定されるように、前記物理値の少なくとも一部を互いに比較し、
前記順序に基づいて、前記ｎ個のメモリセルに前記Ｋ個の異なるメモリセルデジタル値を対応付ける、
請求項１記載の読出し方法。
【請求項３】
前記ｎ個のメモリセルを読み出すことによって前記物理値を求める、
請求項１または２記載の読出し方法。
【請求項４】
全ての物理値を互いに比較する、
請求項１から３までのいずれか１項記載の読出し方法。
【請求項５】
Ｋ＝２であることにより、前記ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号は、ｎ１‐，ｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ｎ１個の第１のメモリセル値は、互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は、互いに同一の第２の値を有し、前記第１の値は、前記第２の値と異なる、
請求項１から４までのいずれか１項記載の読出し方法。
【請求項６】
Ｋ＝３であることにより、前記ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号は、ｎ１‐，ｎ２‐，ｎ３‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ｎ１個の第１のメモリセル値は、互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は、互いに同一の第２の値を有し、ｎ３個の第３のメモリセル値は、互いに同一の第３の値を有し、前記第１の値と前記第２の値と前記第３の値とは、それぞれ相異なる、
請求項１から４までのいずれか１項記載の読出し方法。
【請求項７】
Ｋ＞３が成り立つ、
請求項１から４までのいずれか１項記載の読出し方法。
【請求項８】
前記メモリセルから求められるメモリセル値を、一義的に可逆の変換によって求める、
請求項１から７までのいずれか１項記載の読出し方法。
【請求項９】
前記物理値は、時点である、
請求項１から８までのいずれか１項記載の読出し方法。
【請求項１０】
各時点を前記メモリセルの物理値の時間積分によって求める、
請求項９記載の読出し方法。
【請求項１１】
前記物理値は、メモリセルの読出電流である、
請求項１から１０までのいずれか１項記載の読出し方法。
【請求項１２】
得られた前記メモリセルデジタル値がｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を表す場合、前記符号語から逆変換によって複数のｍ個のビットを求める、
請求項１から１１までのいずれか１項記載の読出し方法。
【請求項１３】
誤り符号を用いてｍ個のビットの誤り検出および／または誤り訂正を行う、
請求項１２記載の読出し方法。
【請求項１４】
前記誤り符号に応じてデータビットから求められるチェックビットに基づいて、前記誤り検出および／または前記誤り訂正を行う、
請求項１２記載の読出し方法。
【請求項１５】
前記誤り符号に応じて前記メモリセル値から求められるチェックビットに基づいて、前記誤り検出および／または前記誤り訂正を行う、
請求項１２記載の読出し方法。
【請求項１６】
前記誤り符号は、バイト誤り訂正および／またはバイト誤り検出符号である、
請求項１３から１５までのいずれか１項記載の読出し方法。
【請求項１７】
データビットの誤り訂正が行われる場合には、１バイトは、ｍ個のビットを含み、
メモリセルの誤り訂正が行われる場合には、１バイトは、ｎ個のビットを含む、
請求項１６記載の読出し方法。
【請求項１８】
前記誤り符号はビット誤り訂正および／またはビット誤り検出符号である、
請求項１３から１７までのいずれか１項記載の読出し方法。
【請求項１９】
前記メモリセルデジタル値を求めるために少なくとも１つの参照値を使用する、
請求項１から１８までのいずれか１項記載の読出し方法。
【請求項２０】
前記メモリは、
キャッシュメモリ、
レジスタ、またはレジスタアレイ、
フラッシュメモリ、
ＭＲＡＭ、
ＳＲＡＭ、
ＲＥ‐ＲＡＭ、
ＰＣ‐ＲＡＭ、
ＦＥ‐ＲＡＭ、
ＣＢ‐ＲＡＭ、
マルチビットメモリ、
マルチレベルメモリ、
のうち少なくとも１種類のメモリを含む、
請求項１から１９までのいずれか１項記載の読出し方法。
【請求項２１】
メモリのメモリセルを処理するための装置であって、
前記装置は、処理ユニットを備えており、
前記処理ユニットは、
複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
前記物理値の少なくとも一部を互いに比較し、
比較された前記物理値に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
前記対応付けにより得られた前記メモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を対応付ける、
ように構成されている、
装置。
【請求項２２】
前記処理ユニットはさらに、
前記物理値の少なくとも一部を互いに比較することにより、前記物理値の順序を特定し、
前記物理値の順序に基づき、前記ｎ個のメモリセルに前記Ｋ個の異なるメモリセルデジタル値を対応付ける、
ように構成されている、
請求項２１記載の装置。
【請求項２３】
デジタルコンピュータのメモリに直接ロード可能なコンピュータプログラム製品であって、
請求項１から２０までのいずれか１項記載の読出し方法の各ステップを実施するために適したプログラムコード部分を備えている、
コンピュータプログラム製品。
【請求項２４】
コンピュータにより実行可能な指令を備えたコンピュータ可読の記憶媒体であって、
前記指令は、コンピュータが請求項１から２０までのいずれか１項記載の読出し方法の各ステップを実施するために適したものである、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
メモリのメモリセルにデータ（たとえばバイナリデータ）を記憶して、当該メモリのメモリセルから更なる処理のために読み出す、種々のアプローチが公知となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本発明の課題は、メモリの取扱いを改善し、特に記憶および／または読出しをより効率的にすることである。
【課題を解決するための手段】
【０００３】
前記課題は、独立請求項に記載の特徴によって解決される。有利な実施形態は、とりわけ従属請求項から導き出すことができる。
【０００４】
前記課題を解決するため、メモリのメモリセルの読出し方法であって、
・複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
・物理値の少なくとも一部を互いに比較し、
・比較された物理値に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
・対応付けにより得られたメモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号値を対応付ける
読出し方法を開示する。
【０００５】
ここではとりわけ、ｎ≧３、ｎ１≧１〜ｎＫ≧１、Ｋ≧２、かつ、ｍ≧１が成り立つようにする。
【０００６】
メモリセル値の数はｎであり、ここでは、Ｋ個の異なるデジタル値しか現れない。
【０００７】
さらに、ｎ１＋・・・＋ｎＫ＝ｎが成り立つようにする。
【０００８】
物理値の比較は、アナログ値の比較を含むことができる。
【０００９】
比較は、物理値自体について行うことができ、または、物理値に基づくことができる。特に、物理値から導出された値を比較することができる。したがって、ここでいう「物理値の比較」には、物理値から導出され得る値についての比較も含まれる。
【００１０】
物理値に対するデジタル値の対応付けが、複数のｎ個のメモリセルから求められた物理値を互いに比較することに基づいていることにより、デジタル値の誤った対応付けが発生する頻度がほとんど無くなる。デジタル値のかかる誤った対応付けは、比較対象の物理値がその値の頻度分布の重なり領域内であり、かつ、比較の際にその順序を変えた場合にしか起こり得なくなる。
【００１１】
一発展形態は、
・物理値の少なくとも一部の順序が特定されるように、当該物理値の少なくとも一部を互いに比較し、
・当該順序に基づいて、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付ける
というものである。
【００１２】
ここで、上述の順序において最初のｎ１個のメモリセルについては、第１のメモリセルデジタル値が求められ、当該順序において最後のｎＫ個のメモリセルについては、第Ｋのメモリセルデジタル値が求められる。
【００１３】
とりわけ、上記順序の物理値の位置に依存してメモリセルデジタル値を対応付けることができる。
【００１４】
上記順序において最初のｎ１個のメモリセルについて第１のメモリセルデジタル値が求められ、かつｎ１≧２である場合、最初のｎ１個のメモリセルの順序を求めることは不要となり得る。この場合には、メモリセルが最初のｎ１個のメモリセルに属することを確認するだけで足り、最初のｎ１個のメモリセルの順序においてどの位置にメモリセルが位置するかを特定することは不要となり得る。たとえば、最初のｎ１個のメモリセル全てに同一のデジタル値１を対応付けることができる。
【００１５】
ｎＫ個の第Ｋのメモリセルまでの他のメモリセルについても、同様のことがいえる。一部求められた順序、または、メモリセル値の部分集合に係る順序を求めるだけで十分となり得る。
【００１６】
一発展形態は、ｎ個のメモリセルを読み出すことによって物理値を求める、というものである。
【００１７】
一発展形態は、全ての物理値を互いに比較する、というものである。
【００１８】
一発展形態は、Ｋ＝２とすることにより、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号はｎ１‐，ｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ここで、ｎ１個の第１のメモリセル値は互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は互いに同一の第２の値を有し、かつ、第１の値は第２の値と異なる、というものである。
【００１９】
ｎ１‐，ｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号は、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号と称することもできる。ここで、ｎ２＝ｎ−ｎ１が成り立つ。
【００２０】
一発展形態は、Ｋ＝３とすることにより、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号はｎ１‐，ｎ２‐，ｎ３‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ここで、ｎ１個の第１のメモリセル値は互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は互いに同一の第２の値を有し、ｎ３個の第３のメモリセル値は互いに同一の第３の値を有し、かつ、第１の値と第２の値と第３の値とはそれぞれ相異なる、というものである。
【００２１】
一発展形態は、Ｋ＞３が成り立つ、というものである。
【００２２】
本事例では、メモリセルあたり３つより多くの値、すなわち３つより多くのメモリセルデジタル値を求めることができる。
【００２３】
一発展形態は、メモリセルから求められるメモリセル値を、一義的に可逆の変換によって求める、というものである。
【００２４】
ここで有利には、メモリセル値の数ｎは、メモリセルに記憶されたビット数の２倍より少ない。
【００２５】
一発展形態は、物理値は時点である、というものである。
【００２６】
一発展形態は、各時点をメモリセルの物理値の時間積分によって求める、というものである。
【００２７】
一発展形態は、物理値は読出電流である、というものである。
【００２８】
一発展形態は、得られたメモリセルデジタル値がｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を表す場合、当該符号語から逆変換によって複数のｍ個のビットを求める、というものである。
【００２９】
一発展形態は、誤り符号を用いてｍ個のビットの誤り検出および／または誤り訂正を行う、というものである。
【００３０】
一発展形態は、誤り符号に応じてデータビットから求められるチェックビットに基づいて、誤り検出および／または誤り訂正を行う、というものである。
【００３１】
一発展形態は、誤り符号に応じてメモリセル値から求められるチェックビットに基づいて、誤り検出および／または誤り訂正を行う、というものである。
【００３２】
一発展形態は、誤り符号はバイト誤り訂正および／またはバイト誤り検出符号である、というものである。
【００３３】
一発展形態は、データビットの誤り訂正が行われる場合には、１バイトはｍ個のビットを含み、メモリセルの誤り訂正が行われる場合には、１バイトはｎ個のビットを含む、というものである。
【００３４】
一発展形態は、誤り符号はビット誤り訂正および／またはビット誤り検出符号である、というものである。
【００３５】
一発展形態は、メモリセルデジタル値を求めるために少なくとも１つの参照値を使用する、というものである。
【００３６】
一発展形態は、メモリは以下の種類のうち少なくとも１種類のメモリを含む、というものである：
・キャッシュメモリ、
・レジスタ、またはレジスタアレイ、
・フラッシュメモリ、
・ＭＲＡＭ、
・ＳＲＡＭ、
・ＲＥ‐ＲＡＭ、
・ＰＣ‐ＲＡＭ、
・ＦＥ‐ＲＡＭ、
・ＣＢ‐ＲＡＭ、
・マルチビットメモリ、
・マルチレベルメモリ。
【００３７】
さらに、メモリのメモリセルを処理するための装置であって、当該装置は処理ユニットを備えており、処理ユニットは、
・複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
・物理値の少なくとも一部を互いに比較し、
・比較された物理値に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
・対応付けにより得られたメモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を対応付ける
ように構成された装置を開示する。
【００３８】
上掲の処理ユニットは特に、プロセッサユニットとして、および／または、少なくとも一部がハードワイヤド方式もしくは論理方式の回路として構成することができ、この回路はたとえば、上述の方法を実行できるように構成されたものである。上述の処理ユニットは、適宜必要な周辺装置（メモリ、入出力インタフェース、入出力装置等）を備えた、いかなる態様のプロセッサまたは計算機またはコンピュータとすることもでき、またはこれを含むことができる。
【００３９】
方法に関する上記説明は、装置にも準用できる。装置は、１つの構成要素で、または複数の構成要素に分散して構成することができる。
【００４０】
上記課題は、本願にて記載された装置のうち少なくとも１つを備えたシステムを用いても、解決される。
【００４１】
一発展形態は、処理ユニットがさらに、
・物理値の少なくとも一部を互いに比較することにより、物理値の順序を特定し、
・物理値の順序に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付ける
ように構成されている、というものである。
【００４２】
本願では、デジタルコンピュータのメモリに直接ロード可能なコンピュータプログラム製品も開示し、当該コンピュータプログラム製品は、上述の方法の各ステップを実施するために適したプログラムコード部分を備えている。
【００４３】
本願では、コンピュータにより実行可能な指令を備えたコンピュータ可読の記憶媒体であって、当該指令は、コンピュータが上述の方法の各ステップを実施するために適したものである、記憶媒体を開示する。
【００４４】
以下、図面を参照して詳細に説明される実施例の概略的な説明内容を参酌して、本発明の上述の特性、特徴および利点と、本発明を実現する態様とを説明する。全体を見やすくするため、同一または同機能の要素には同一の符号を付していることがある。
【図面の簡単な説明】
【００４５】
【図１】図１ａは、読み出される物理値の頻度分布を示す図であり、頻度分布間に参照値が示されている。図１ｂは、読み出される物理値の頻度分布を示す図であり、図１ａとは対照的に頻度分布が重なり合っている。
【図２】図２ａは、メモリセルから読み出された複数の物理値を含むチャートであり、図２ｂは、図２ａに示された物理値のうちそれぞれ１つに相当する複数の時点を含むチャートである。
【図３】１つのメモリセルの物理値ＷＧの頻度分布を示すグラフである。
【図４】メモリから読み出された値の頻度分布を示すグラフである。
【図５】メモリから読み出された値０，１，２および３の４つの頻度分布を示すグラフであり、これら４つの頻度分布については３つの重なり領域が存在する。
【図６】４つのメモリセルを備えたメモリを示す図であり、当該メモリセルから物理値が読み出され、複数の比較器を用いて対ごとに比較される。
【図７】図６の回路の比較器によって、複数の論理ゲートを用いて各メモリセルの対応する割当てを求める回路構成を示す図である。
【図８】データビットを変換してメモリのメモリセルに記憶し、当該メモリセルを読み出して、逆変換を用いてデータビットに変換し戻す概略図である。
【図９】データビットの複数の群を変換して記憶し、読出し後にデータビットに変換し戻す概略的なチャートである。
【図１０】誤り検出または誤り検出と誤り訂正とを組み合わせたものを行うことができる一例の回路構成を示す図であり、データビットは変換回路によってメモリビットに変換され、メモリビットはメモリのメモリセルに記憶される。
【図１１】誤り訂正または誤り検出と場合によっては誤り訂正とを行うことができる、他の代替的な回路構成を示す図である。
【図１２】図１１に示された回路構成の一変形態様の他の一例を示す図であり、当該回路は、逆変換と、場合によっては訂正されたデータビットの特定とを行う。
【図１３】複数のラッチに対するホールド信号を求めるための複数の論理ゲートを備えた一例の回路構成を示す図である。
【図１４】６つのメモリセルの読出し時に最初の３つの最速の０を求めるための一例の回路構成を示す図であり、当該回路構成では、図１３の回路構成を用いて生成されたホールド信号が複数のラッチのオン制御のために使用される。
【図１５】データビットが変換回路を用いてどのようにして変換されてメモリセル値としてメモリのメモリセルに記憶されるかを示すための、概略的な構成を示す図である。
【図１６】図１５の構成の概略的な一変形形態を示す図であり、図１６では一例として、ｎ＝ｋ＝６，Ｋ＝３、かつｎ１＝ｎ２＝２が成り立つようにされている。
【図１７】４つのデータビットｘ１，ｘ２，ｘ３，ｘ４を４つのメモリセル値ｚ１，ｚ２，ｚ３，ｚ４に変換するための概略的な回路を示す図である。
【発明を実施するための形態】
【００４６】
１つのメモリセルは、複数の異なる物理値または複数の異なる状態をとることができ、これら複数の異なる物理値または状態は、それぞれ異なるデジタル値に対応する。
【００４７】
「ＷＧ」は、メモリセルＳの物理量Ｇを表し、「ＷＤ」はメモリセルＳのデジタル値を表す。
【００４８】
デジタル値ＷＤはバイナリ値とすることにより、２つの値のうち１つをとることができる。これら２つの値は、０および１と称することができる。デジタル値は特に、有限数の値のうち１つの値である。
【００４９】
デジタル値ＷＤが２つより多くの異なる値をとれるようにすることも可能である。たとえば、デジタル値は３つの異なる値をとることができる。かかる場合、これら異なるデジタル値は、０，１，２と称することができる。一般的に、デジタル値はＫ個の異なる値をとることができ、ここでＫ≧２である。これらＫ個の異なる値は、０，１，・・・Ｋ−１と称することができる。２つより多くのメモリセルデジタル値を記憶できるメモリセルを備えたメモリは、ここでは「多値メモリ」または「マルチレベルメモリ」と称する。かかるメモリのメモリセルは、「多値メモリセル」または「マルチレベルメモリセル」と称することができる。
【００５０】
これに応じて、２つのデジタル値を記憶するメモリセルを備えたメモリは、「バイナリメモリ」と称することができ、そのメモリセルは「バイナリメモリセル」と称することができる。
【００５１】
メモリセルＳから読み出される物理値は「ＷＡ」という。
【００５２】
たとえば、メモリセルの物理値または状態は電気抵抗値とすることができる。よって、バイナリで２つの抵抗値を区別することができ、たとえば、大きい方の抵抗値はデジタル値０に相当し、小さい方の抵抗値はデジタル値１に相当することができる。他の一例では、大きい方の抵抗値がデジタル値１に相当し、小さい方の抵抗値がデジタル値０に相当することができる。
【００５３】
２つより多くのデジタル値を１つのメモリセルに記憶する場合には、これに応じてランク付けが（抵抗値が大きくなる方向、または抵抗値が小さくなる方向に）行われ得る。たとえば、最大抵抗値をデジタル値０に対応付け、２番目に大きい抵抗値をデジタル値１に対応付け、３番目に大きい抵抗値をデジタル値２に対応付け、以下同様で、最後に最小抵抗値はデジタル値Ｋ−１に対応付けることができる（ここでも、１つのメモリセルＳにＫ個のデジタル値を記憶することができる）。
【００５４】
メモリセルＳの読出し時には、デジタル値ＷＤの書込み時ないしは記憶時に生成された物理値ＷＧに依存するアナログの物理値ＷＡを求める。
【００５５】
誤りが無い場合には、読み出された物理値ＷＡから、対応するデジタル値ＷＤを求めることができる。
【００５６】
たとえばＭＲＡＭの場合のように、複数の異なる電気抵抗値が、メモリセルＳのそれぞれ異なる状態に相当する場合には、記憶された物理値ＷＧは抵抗値であり、読み出される物理値ＷＡは電流または電圧とすることができる。
【００５７】
たとえば、メモリセルの読出し時に、全てまたは複数の読み出されるメモリセルに対して同一である少なくとも１つの参照値Ｒを使用することができる。オプションとして、（少なくとも１つの）参照値を（これも、または部分的に）外部調達することができる。メモリセルから読み出された値ＷＡは、参照値Ｒと比較することができる。
【００５８】
以下では、一例として特に、２つの異なるデジタル値０および１を記憶できるバイナリメモリセルに合わせて説明する。これに対応して、それぞれ２つより多くのデジタル値を記憶できるメモリセルを設けることも可能である。
【００５９】
大きい方の抵抗値がバイナリ値０に相当し、かつ小さい方の抵抗値がバイナリ値１に相当する場合、小さい方の読み出される電流値ＷＡはデジタル値０に相当し、かつ、大きい方の読み出される電流値ＷＡはデジタル値１に相当する。
【００６０】
これに応じて、メモリセルの読出し時に、読み出される値ＷＡとして電圧を求め、この電圧のレベルは、以前にメモリセルにバイナリ値０またはバイナリ値１が書込まれたか否かに依存するオプションがある。
【００６１】
読み出された値ＷＡと１つの対応する参照値Ｒとの比較によってデジタル値ＷＤが求められる場合、デジタル値ＷＤについては、
ＷＡ＜Ｒの場合、ＷＤ＝０、
ＷＡ＞Ｒの場合、ＷＤ＝１
を適用することができる。
【００６２】
複数のメモリセルにデジタル値０が書込まれる場合には、書込まれるメモリセルはたとえば統計的なばらつきに基づき（たとえば製造におけるプロセスばらつきに基づき）、それぞれ異なる物理値ＷＧをとり、誤りが無い場合には、これらの物理値ＷＧは全てデジタル値ＷＤ＝０に相当し、頻度分布によって表現され得る。このことに応じて、読み出される値ＷＡも頻度分布に従ってそれぞれ異なる値をとる。
【００６３】
内容的には、デジタル値１または他の値が書込まれるメモリセルについても、同じことがいえる：複数のメモリセルにデジタル値１が書込まれる場合には、書込まれるメモリセルはたとえば統計的なばらつきに基づき（たとえば製造におけるプロセスばらつきに基づき）、それぞれ異なる物理値ＷＧをとり、誤りが無い場合には、これらの物理値ＷＧは全てデジタル値ＷＤ＝１に相当し、頻度分布によって表現され得る。このことに応じて、読み出される値ＷＡも頻度分布に従ってそれぞれ異なる値をとる。
【００６４】
１つのメモリセルに１つより多くのビットを記憶できる場合、上述のことに応じて、どのメモリセルにも記憶され得る全てのデジタル値について、同じことがいえる。
【００６５】
図１ａは一例として、デジタル値１に相当する、読み出される値ＷＡ（１）の頻度分布１０１と、デジタル値０に相当する、読み出される値ＷＡ（０）の頻度分布１０２と、を示している。ｘ軸上には複数の異なる読み出される値ＷＡが示されており、ｙ軸上にはこれらの読み出される値ＷＡの頻度が示されている。さらに、頻度分布１０１と１０２との間に参照値Ｒも示されている。
【００６６】
図１ａに示された実施例では、頻度分布１０１と１０２との間に重なり部は存在しない。よって、バイナリ値０および１の対応付けに誤りは無い。換言すると、読出しエラーが生じない場合には、参照値Ｒを使用することにより、読み出される値ＷＡと各バイナリ値０または１との一義的かつ誤りの無い対応付けが可能である。
【００６７】
本実施例では簡素化して、放射または加熱の作用によって誤った対応付けがなされることもないと仮定する。
【００６８】
図１ｂは一例として、デジタル値１に相当する、読み出される値ＷＡ（１）の頻度分布１０３と、デジタル値０に相当する、読み出される値ＷＡ（０）の頻度分布１０４と、を示している。同図でも、頻度分布１０３と１０４との間に参照値Ｒも示されている。
【００６９】
図１ａに示された頻度分布１０１および１０２とは異なり、頻度分布１０３と１０４とは重なり合っている。かかる重なり部は、たとえばＭＲＡＭメモリセルにおいて生じ得る。図１ｂでは重なり領域１０５が示されており、これは［０，１］Ａとも称される。
【００７０】
ＷＡ＜Ｒが成り立つときには、読み出される値ＷＡにバイナリ値０を対応付け、ＷＡ≧Ｒが成り立つときには値ＷＡにバイナリ値１を対応付ける場合において、読み出される値ＷＡが重なり領域１０５内にある場合には、この対応付けに誤りがあり得る、ということになる。
【００７１】
さらに、放射もしくは熱の作用またはメモリセルの永続的なエラーに基づく誤りも生じ得る。
【００７２】
よって、参照値Ｒを使用すると重なり領域１０５に起因して、誤った対応付けがなされている可能性が重大になり得、バイナリ値０に相当する、読み出される値ＷＡが重なり領域１０５内にある場合には、略半分において事例ＷＡ＞Ｒが成り立つことができ、これによって誤った対応付けがなされる。同様に、バイナリ値１に相当する、読み出される値ＷＡが重なり領域１０５内にある場合には、略半分において事例ＷＡ＜Ｒが成り立つことができ、これによっても誤った対応付けがなされる。
【００７３】
よって、読み出される値ＷＡについては、これが重なり領域１０５内にある場合、対応するデジタル値の誤った対応付けがなされ得る。領域１０６は、読み出される値ＷＡのうち、バイナリ値０であるにもかかわらず誤ってバイナリ値１に対応付けられる割合を示す。よって、誤ったデジタル値が対応付けられる頻度は基本的に、読み出される値ＷＡが重なり領域１０５内にある頻度によって決定される。このことは特に、たとえば従来技術において生じ得るような大きな重なり領域において欠点となる。
【００７４】
値０および１をとり得るデジタルバイナリ値ｘは、２つのメモリセルＳ１およびＳ２を使用して記憶することができる。たとえば、ｘ＝０である場合には値０をメモリセルＳ１に書込み（記憶し）、かつ値１をメモリセルＳ２に書込むことができ、ｘ＝１である場合には値１をメモリセルＳ１に書込み、かつ値０をメモリセルＳ２に書込むことができる。逆に、ｘ＝０である場合には値１をメモリセルＳ１に書込み（記憶し）、かつ値０をメモリセルＳ２に書込むことができ、ｘ＝１である場合には値０をメモリセルＳ１に書込み、かつ値１をメモリセルＳ２に書込むことができる。
【００７５】
両メモリセルＳ１およびＳ２から読み出された（物理）値は、たとえばコンパレータを用いて互いに比較することができ、誤りが無い場合にはこの比較によって、値０が記憶されたか、または値１が記憶されたかを判断することができる。
【００７６】
たとえば、メモリセルＳ１から物理値ＷＡ１が読み出され、メモリセルＳ２から物理値ＷＡ２が読み出される。
ＷＡ１＜ＷＡ２
が成り立つ場合、これは、両メモリセルＳ１およびＳ２にバイナリ値ｘ＝０が記憶されたことを意味し得る。
ＷＡ１＞ＷＡ２
が成り立つ場合、これは、両メモリセルＳ１およびＳ２にバイナリ値ｘ＝１が記憶されたことを意味し得る。
【００７７】
本実施例では、メモリセルＳ１およびＳ２に記憶されて読み出された値ＷＡ１およびＷＡ２を互いに比較し、参照値とは比較しない。これにより、読み出された値を相互に比較することによって、誤りが生じる確率を格段に低減することができる。
【００７８】
誤りは、セルＳ１の読み出された値ＷＡ１およびセルＳ２の読み出された値ＷＡ２の双方が、分布ＷＡ（０）およびＷＡ（１）の重なり領域内にある場合にのみ生じ得る。これは、両読み出された値の一方のみが重なり領域内にある場合より格段に稀なケースとなる。
【００７９】
それに対して、１つのメモリセルから読み出された値を参照値と比較する場合には、この１つの読み出された値が、対応する分布の重なり領域内にあるときには既に、誤りが生じている可能性がある。
【００８０】
その際の欠点は、記憶すべきビットあたり２つのメモリセルが必要となること、すなわち、ｎ個のビットを記憶するためには２・ｎ個のメモリセルが必要となることである。
【００８１】
ここで開示している実施例の利点は、可能な限り少ないメモリセルを使用して高い信頼性でデジタル値を記憶できることである。もう１つの利点は、記憶時にはさらに誤り符号を使用できるので、読出しエラーを少なくとも部分的に検出および／または訂正できることである。
【００８２】
メモリセル値へのデータビットの変換
たとえば、ｋ個のビットの２ｋ個の可能な割当てを、ｎ個のメモリセル値に変換する。メモリセル値はｎ個のメモリセルに、たとえばアドレス指定可能なメモリのメモリセルに記憶される。
【００８３】
ｎ個のメモリセルに記憶されたｎ個のメモリセル値は、これらｎ個のメモリセルから読み出すことができ、エラーが無い場合には、読み出されたｎ個のメモリセル値はｋ個のデータビットに変換し戻すことができる。
【００８４】
メモリセル値はバイナリ値（たとえば値０および１）とすることができる。この場合には、メモリのメモリセルにバイナリ値が記憶される。かかるメモリセルは「バイナリメモリセル」と称することができる。
【００８５】
また、各メモリセル値がＫ個の異なる値をとり得るようにすることも可能である。その際には、バイナリメモリセル値とは異なり、各メモリセル値は２つより多くの値をとることができる。よってＫ＞２が成り立ち、ここでＫ個のメモリセル値は０，１・・・Ｋ−１である。たとえば、３値のメモリセル値を記憶できる３値メモリセルが設けられている場合、各メモリセル値に値０，１または２のいずれか１つの値を対応付けることができる。
【００８６】
また、ｉ個のメモリセルがそれぞれ異なるＫｉ値の値（バイナリまたは多値、すなわちＫｉ≧２）をとり得るようにすることも可能である。たとえば少なくとも２つのメモリセルを設け、これらのうち１つのメモリセルはＫ１値の値を記憶し、他のメモリセルはＫ２値の値を記憶し、かつＫ１≠Ｋ２とすることも可能である。
【００８７】
バイナリメモリセル値
まず、メモリセル値がバイナリ値である場合を検討する。
【００８８】
ｋ個のデータビットｘ１・・・ｘｋをｎ個のメモリセル値ｚ１・・・ｚｎに変換してｎ個のメモリセルに記憶するとする。
【００８９】
ｋ個のデータビットｘ１・・・ｘｋの可能な２ｋ個の割当ては、たとえば組み合わせ回路（「変換回路」ともいう）によってメモリセル値に変換される。この変換回路は、ｋ個のデータビットの２ｋ個の割当てをｎ個のメモリセル値にマッピングする変換を提供するものである。
【００９０】
この変換は、データビットが変換されるメモリセル値がｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語となるように実現される。ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語は、ｎ１個の第１のバイナリ値と、ｎ２＝ｎ−ｎ１個の第２のバイナリ値と、を有する。第１のバイナリ値が値１を有し、かつ第２のバイナリ値が値０を有する場合、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語は複数のｎ１個の１と、複数のｎ２＝ｎ−ｎ１個の０と、を有する。
【００９１】
これに応じて、第１のバイナリ値が値０を有し、かつ第２のバイナリ値が値１を有することが可能である。
【００９２】
ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語としてデータビットを記憶することが有利である理由は、たとえばメモリセルに記憶されたｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を読み出す際に、符号化されずに記憶されたデータビットよりも高い信頼性を達成できるからである。
【００９３】
ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号は「ｎ１‐，ｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号」と称することもでき、ここで、ｎ１は第１のバイナリ値の数を表し、ｎ２は第２の２バイナリ値の数を表す。その際には、ｎ２＝ｎ−ｎ１である。かかる呼称から、各符号語には２つの異なる値（ここではバイナリ値）０および１が存在することが明らかである。
【００９４】
ここで、
ｎ１＜ｎ
ｎ２＝ｎ−ｎ１＜ｎ
ｎ１＋ｎ２＝ｎ
ｎ１≧１
ｎ２≧１
が成り立つようにする。
【００９５】
たとえば、メモリセル値の数ｎを３以上とすることができる。
【００９６】
メモリセル値の数が２に等しい場合（すなわちｎ＝２である場合）、対応する１‐ｏｕｔ‐ｏｆ‐２符号の符号語は１０および０１となる。たとえば、バイナリ値０は１０として符号化され、バイナリ値１は０１として符号化され得る。ここで、１ビットの情報を記憶するためにｎ＝２個のメモリセルを要することは、不利となる。
【００９７】
上記で説明したように、ｋ個のデータビットの異なる割当ては２ｋ個となる。さらに、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の異なる符号語の数は
【数１】
2018133087.tif 000003
となる。
【００９８】
ｋ個のデータビットの２ｋ個の割当てをｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の
【数２】
2018133087.tif 000004
の符号語に変換することは、一義的に可逆に行うことができるので、データビットの割当てが符号語のうち１つに対応付けられている場合、符号語のうち１つに基づいて、データビットの対応する割当てを一義的に推定することができる。
【００９９】
異なる符号語の数は少なくともデータビットの割当ての数と同数である。すなわち、以下の条件
【数３】
2018133087.tif 000005
が満たされる場合、ｋ個のデータビットの全ての割当てをｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語に可逆的に一義的に変換することができる。
【０１００】
適用事例如何によっては、ｋ個のデータビットの２ｋ個の可能な割当て全てが生じないことも可能である。そうである場合において、値Ａｎｚ＜２ｋが、実際に生じる割当ての数を示す場合には、これらの実際に生じる割当てに符号語を可逆的に一義的に対応付けるためには、以下の条件
【数４】
2018133087.tif 000006
を満たせば足りる。
【０１０１】
これによって有利には、ｋ個のデータビットを記憶するために使用されるメモリセルを２・ｋ個より少なくすることができる。
【０１０２】
バイナリメモリセル値：実施例
たとえばデータビットがｋ＝４個であると仮定すると、このデータビットに対して２ｋ＝２４＝１６個の異なる割当てが存在することとなる。たとえばｎ＝６個のメモリセル（ｎはメモリセル値の数であり、各メモリセル値はそれぞれ１つのメモリセルに記憶されるとする）が設けられており、かつ、ｎ１＝３である場合には、３‐ｏｕｔ‐ｏｆ‐６符号の異なる符号語は
【数５】
2018133087.tif 000007
となり、各符号語はそれぞれ３つの１と３つの０とを有する。よって、４つのデータビットの異なる１６個の割当てを３‐ｏｕｔ‐ｏｆ‐６符号の（全部で２０個の符号語のうち）１６個の選択された符号語に変換し、メモリの６個のメモリセルに記憶することが可能になる。
【０１０３】
メモリセル値がｎ＝６個であり、かつｎ１＝２である場合には、２‐ｏｕｔ‐ｏｆ‐６符号の異なる符号語は
【数６】
2018133087.tif 000008
のみとなり、各符号語はちょうど２つの１と４つの０とを有する。よって、４つのデータビットの２４＝１６個の割当てを２‐ｏｕｔ‐ｏｆ‐６符号の符号語に可逆的に一義的に変換することはできない。
【０１０４】
実際に生じる割当ての値Ａｎｚがたとえば１５以下である場合には、この２‐ｏｕｔ‐ｏｆ‐６符号を用いることも可能である。
【０１０５】
バイナリメモリセル値：データビットの群分け
以下、Ｎ個のデータビットをメモリセル値に変換することについて説明する。ここで、Ｎ＝Ｍ・ｋが成り立つ必要があり、Ｍは１より大きい。よって、それぞれｋ個のデータビットからなるＭ個の群を構成することができ、ｋ個のデータビットの各群のそれぞれ２ｋ個の割当てが、
【数７】
2018133087.tif 000009
の２ｋ個の符号語に可逆的に一義的に変換することができる。
【０１０６】
それぞれｋ個のデータビットのＭ個の群の割当てを、それぞれ同一のｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語に変換する場合には、メモリセル値はＭ・ｎ個となり、これに応じて、これらのメモリセル値はＭ・ｎ個のメモリセルに記憶することができる。
【０１０７】
ここで一例として、Ｍ個の群がそれぞれｋ個のデータビットを含む事例を説明する。これに代えて、第１のデータビット群はｋ１個のデータビットを有し、第２のデータビット群はｋ２個のデータビットを有する等、第Ｍの群はｋｍ個のデータビットを有するまで同様とすることが可能である。各群あたりのデータビット数ｋ１，ｋ２，・・・ｋｍは、互いに少なくとも部分的に異なることができる。よって、
Ｎ＝ｋ１＋ｋ２＋・・・ｋＭ
が成り立ち、ここで、
・第１のｋ１個のデータビットは第１のｎ１１‐ｏｕｔ‐ｏｆ‐ｎ１符号の符号語に、
・第２のｋ２個のデータビットは第２のｎ１２‐ｏｕｔ‐ｏｆ‐ｎ２符号の符号語に、
・・・
・第ＭのｋＭ個のデータビットは第Ｍのｎ１Ｍ‐ｏｕｔ‐ｏｆ‐ｎＭ符号の符号語に
変換することができる。ここで、各符号は少なくとも部分的に相違することができる。オプションとして、群あたりのデータビット数が同数である場合にも、複数の異なる符号を用いることが可能である。
【０１０８】
たとえばデータビット数がｋ＝３である場合、これら３つのデータビットの可能な割当ては２ｋ＝８個となる。メモリセル値がｎ＝５個である場合には、２‐ｏｕｔ‐ｏｆ‐５符号および３‐ｏｕｔ‐ｏｆ‐５符号の双方を使用することができる。というのも、これら両符号はそれぞれ１０個の符号語を提供するので、可能な割当て数より多くの符号語を提供するからである。よって、たとえば３データビットの第１の群には２‐ｏｕｔ‐ｏｆ‐５符号を使用し、３データビットの第２の群には３‐ｏｕｔ‐ｏｆ‐５符号を使用することができる。
【０１０９】
既に述べたように、複数のデータビット群全てが同数のｋ個のデータビットを有しないオプションがある。たとえば、２３個のデータビットをメモリセル値に変換するとする：これら２３個のメモリセルから、それぞれ４つのデータビットを有する５つの群と、３つのデータビットを有する１つの群とを構成することができる。４つのデータビットを有する各群の２４＝１６個の可能な割当ては、たとえば、２０個の異なる符号語を有する３‐ｏｕｔ‐ｏｆ‐６符号の符号語に変換することができる。３つのデータビットを有する残りの１群は、２３＝８個の可能な割当てを有する。これら３つのデータビットは、たとえば、１０個の符号語を有する３‐ｏｕｔ‐ｏｆ‐５符号の符号語に変換することができる。これによって、必要なメモリセルは、３つのデータビットの２３＝８個の可能な割当てを３‐ｏｕｔ‐ｏｆ‐６符号の符号語に変換する場合より少なくなる。たとえば、３データビットの群に不変ビットを、たとえば値０のビットを追加することによってデータビットを４つとし、全ての群が同数のデータビットを有し、同一の変換を使用できるようにすることも可能である。このことによって、回路設計に係るコストを削減することができる。
【０１１０】
多値メモリセル値
以下、メモリセル値が２つより多くの異なる値をとることができ、よってメモリセルが多値メモリセル値を記憶できる事例を検討する。
【０１１１】
メモリセルはＫ個の異なるメモリセル値を記憶することができ、ここでＫ＞２である（Ｋ＝２は、バイナリメモリセル値の特殊な事例となる）。１つのメモリセルあたりのこれら異なるメモリセル値は、０，１，・・・Ｋ−１と称することができる。
【０１１２】
ここでも、ｋ個のデータビットを記憶できるとする。ｋ個のデータビットの２ｋ個の異なる割当てを、可逆的に一義的にｎ個のメモリセル値に変換することができる。これらｎ個のメモリセル値は、
・ｎ１個の第１の値と、
・ｎ２個の第２の値と、
・・・
・ｎＫ個の第Ｋの値と
を有する。たとえば、
・第１の値を０と、
・第２の値を１と、
・・・
・第Ｋの値をＫ−１と
称することができる。
【０１１３】
ｎ個のメモリセル値は、メモリセル値の「ｎ組」と称することもできる。ｎ１個の第１の値、ｎ２個の第２の値・・・ｎＫ個の第Ｋの値を有するｎ個の多値（ここではＫ値）メモリセル値のこのｎ組は、
ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号
の符号語と称することができる。
【０１１４】
ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号は、以下の数の符号語を有する：
【数８】
2018133087.tif 000010
ここで、ｋ個のデータビットの２ｋ個の割当てを、可逆的に一義的に、ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の上述の符号語のうち２ｋ個に変換したい。この変換は、以下の条件
【数９】
2018133087.tif 000011
ないしは、以下の条件
【数１０】
2018133087.tif 000012
が満たされた場合において、上記にてバイナリメモリセル値について説明したのと同様に、値Ａｎｚ（Ａｎｚ＜２ｋ）がｋ個のビットの実際に生じる割当ての数である場合に可能となる。
【０１１５】
多値メモリセル値：実施例
ｋ＝６個のデータビットを記憶するとする。このことにより、６つのデータビットの可能な割当ては２ｋ＝２６＝６４個となる。データビットは、既に述べたようにバイナリ値であり、多値メモリセルに記憶するために事前に変換が施される。
【０１１６】
例として、３値のメモリセル値（Ｋ＝３）を検討する。このことにより、各メモリセルは３つの異なる値を記憶することができる。全部でメモリセル値はｎ＝６個となり（よって、メモリセルは６つとなり）、ｎ１＝ｎ２＝ｎ３＝２であると仮定する。このことにより、本実施例で一例として使用される２‐，２‐，２‐ｏｕｔ‐ｏｆ‐６符号の異なる符号語は
【数１１】
2018133087.tif 000013
となる。これら９０個の符号語は、６つのデータビットの２６＝６４個の可能な割当てをマッピングするために十分となる。
【０１１７】
かかる多値メモリセルによって、バイナリメモリセルより効率的な活用が可能となる。というのも、１メモリセルあたり記憶できる値は２つより多いからである。よって、少数の物理的なメモリセルで足り、本実施例では、６つの３値メモリセルだけで２‐，２‐，２‐ｏｕｔ‐ｏｆ‐６符号の９０個の符号語を形成することができ、それに対して、６つのバイナリメモリセルを用いて形成できる、３‐ｏｕｔ‐ｏｆ‐６符号の符号語は、２０個のみとなる。
【０１１８】
ここで一例として仮定されている２‐，２‐，２‐ｏｕｔ‐ｏｆ‐６符号のどの符号語においても、値０，１および２の各値は２回ずつ現れる。符号語の例は、００１１２２，１０１２２０，０２１２１０である。
【０１１９】
他の一実施例では、３値のメモリセル値（Ｋ＝３）の場合において、１‐，１‐，１‐ｏｕｔ‐ｏｆ‐３符号を使用する。この符号は、ｎ＝３個のメモリセルの場合、
【数１２】
2018133087.tif 000014
の符号語０１２，０２１，１０２，１２０，２０１および２１０を有する。ｋ＝２個のデータビットを記憶したい場合には、２２＝４個の異なる割当てを１‐，１‐，１‐ｏｕｔ‐ｏｆ‐３符号の符号語として３つのメモリセルに記憶することができる。
【０１２０】
他の一実施例において、４値のメモリセル値Ｋ＝４を検討する。各メモリセルはたとえば、値０，１，２または３のうちいずれか１つの値を記憶することができる。本実施例では、メモリセルは全部でｎ＝６個であり、ｎ１＝ｎ２＝２かつｎ３＝ｎ４＝１であると仮定する。このことから、２‐，２‐，１‐，１‐ｏｕｔ‐ｏｆ‐６符号の異なる符号語は、
【数１３】
2018133087.tif 000015
となる。これら１８０個の符号語により、可能な割当てが２７＝１２８個である７つのデータビットを、６つの４値メモリセルに記憶することができる。
【０１２１】
ここで使用されている２‐，２‐，１‐，１‐ｏｕｔ‐ｏｆ‐６符号の符号語の例は、００１１２３，１０１３２０，０３１２１０である。いずれの符号語も、それぞれ２つの０と、２つの１と、１つの２と、１つの３と、を有する。
【０１２２】
多値メモリセル値：データビットの群分け
ここでも、Ｎ個のデータビットをメモリセル値に変換する事例を検討する。ここで、Ｎ＝Ｍ・ｋが成り立つ必要があり、Ｍは１より大きい。よって、それぞれｋ個のデータビットからなるＭ個の群を構成することができ、ｋ個のデータビットの各群のそれぞれ２ｋ個の割当てが、ｎ１‐，ｎ２‐，・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の２ｋ個の符号語に可逆的に一義的に変換することができる。
【０１２３】
それぞれｋ個のデータビットのＭ個の群の割当てを、ｎ１‐，ｎ２‐，・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語に変換する場合には、Ｍ・ｎ個のＫ値のメモリセル値となり、これに応じて、これらのメモリセル値はＭ・ｎ個のＫ値のメモリセルに記憶することができる。
【０１２４】
ｋ個のデータビットの全ての群の割当てを同一の変換によってメモリセル値に変換することが有利となり得る。その際には、たとえば１つの変換回路を複数回使用することができる。また、複数の異なる群のｋ個のデータビットを、それぞれ異なる変換を用いてメモリセル値に変換することも可能である。
【０１２５】
データビットの書込みおよび読出し
記憶すべきｋ個のビットは、「データビット」とも称される。このデータビットはたとえば、分離可能な誤り検出および／または誤り訂正符号の情報ビットおよびチェックビットを有することができる。その際には、分離可能な符号において情報ビットにチェックビットを追加することができる。また、データビットが、符号語のビットが情報ビットとチェックビットとに分かれていない分離不可の符号のビットであることも、可能である。さらに、データビットが情報ビットとアドレスビットおよび／またはアドレスビットから導出されたビットおよび／またはパスワードのビットを含むオプションもある。
【０１２６】
「データビット」との用語はたとえば、メモリに記憶すべきビットを指すために使用される。これは、プログラムコード、画像データ、測定データ、または、メモリセル値に変換されてメモリセルに記憶される他のペイロードデータ（Payload）とすることができる。メモリセル値は、多値またはバイナリ値とすることができる。
【０１２７】
メモリセルの読出し時には、ｎ個のメモリセルから出力された物理値の比較を用いて、メモリセルに記憶されたメモリセルデジタル値を求める。これに代えて、出力された物理値から導出される値とすることもできる。
【０１２８】
ｎ個のメモリセルがバイナリである場合、ｋ個の記憶すべきビットの列がｎ個のメモリセルバイナリ値の列に変換される。これらのメモリセルバイナリ値は、ｎ１個の第１のバイナリ値と、ｎ２個の第２のバイナリ値と、を有する。第１のバイナリ値が「１」と称され、第２のバイナリ値が「０」と称される場合、ｋ個の記憶すべきビットの列は、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語に変換され、ｎ２＝ｎ−ｎ１が成り立つ。
【０１２９】
ｎおよびｎ１が与えられている場合、ｋは、
【数１４】
2018133087.tif 000016
が成り立つように決定される。
【０１３０】
メモリセルがバイナリでなく、かつ、１つのメモリセルがＫ値のメモリセルデジタル値を記憶するために用いられる場合、ｋ個のビットの列はｎ個のＫ値のメモリセル値の列に変換され、ｎ個のメモリセルに記憶される。ｎ個のメモリセル値の列は、予め決まった第１の数ｎ１の互いに同一の第１のメモリセル値と、予め決まった第２の数ｎ２の互いに同一の第２のメモリセル値等、予め決まった第Ｋの数ｎＫの互いに同一の第Ｋのメモリセル値を有するに至るまでになるように、決定される。
【０１３１】
ここで、
１≦ｎ１，１≦ｎ２・・・１≦ｎＫ
かつ
ｎ１＋ｎ２＋・・・＋ｎＫ＝ｎ
が成り立つようにする。
さらに、ｋは
【数１５】
2018133087.tif 000017
が成り立つように決定される。
【０１３２】
予め決まった第１の数ｎ１の互いに同一の第１のメモリセル値と、予め決まった第２の数ｎ２の互いに同一の第２のメモリセル値等、予め決まった第Ｋの数ｎＫの互いに同一の第Ｋのメモリセル値を有するに至る、ｎ個のＫ値のメモリセル値の列は、「（ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ）符号の符号語」と称することができる。
【０１３３】
互いに同一の第Ｋのメモリセル値の数ｎＫは、
ｎＫ＝ｎ−ｎ１−ｎ２・・・−ｎＫ
で求められる。
【０１３４】
メモリセルの読出し時には、ｎ個のメモリセルの群のメモリセルから読み出された物理値の比較を用いて、当該群のメモリセルに記憶されたデジタルデータを求める。これに代えて、読み出された物理値の比較または導出された特性を使用する比較を用いて、ｎ個のメモリセルの群のメモリセルに記憶されたデジタルデータを求める。
【０１３５】
特性としては、複数の異なるメモリセルから読み出された物理値の時間的振舞いとすることができ、比較に際して（共に）考慮することができる。
【０１３６】
時点τにおいて、メモリセルＳｉから読み出された値はアナログ値ＷＡｉ（τ）をとる。たとえば、メモリセルＳｉに記憶される値ＷＧｉは電気抵抗値であり、当該メモリセルＳｉから時点τで得られる物理値ＷＡｉ（τ）は読出電流（電流強度）である。
【０１３７】
メモリセルＳｉの抵抗ＷＧｉが他のメモリセルＳｊの抵抗値ＷＧｊより小さい場合、両メモリセルを読み出すために予め定められた（等しい）読出電圧を使用する限りにおいて、読出電流ＷＡｉ（τ）は他のメモリセルＳｊの読出電流ＷＡｊ（τ）より大きくなる。
【０１３８】
容量Ｃを用いてメモリセルＳｉの読出電流ＷＡｉ（τ）を時間積分すると、時点ｔｉにおいて予め決まった閾値Ｓｗに達する。メモリセルＳｉから得られる物理値は、ここでは一例として読出電流ＷＡｉである。この読み出された物理値から求められる導出値は、一例として、読出電流についての時間積分が予め決まった閾値Ｓｗに達する時点ｔｉである。
【０１３９】
同一の容量Ｃを用いてメモリセルＳｊの読出電流ＷＡｊ（τ）を時間積分すると、時点ｔｊにおいて上記の予め決まった閾値Ｓｗに達する。
【０１４０】
メモリセルＳｉおよびＳｊの読出電流について
ＷＡｉ（τ）＞ＷＡｊ（τ）
が成り立つので、ｔｉ＜ｔｊも成り立ち、メモリセルＳｊよりメモリセルＳｉの方が閾値Ｓｗに達する時期が早くなる。
【０１４１】
よって、メモリセルＳｉおよびＳｊについて、メモリセルＳｉの読出電流の積分の方がメモリセルＳｊの読出電流の積分より早く閾値Ｓｗに達したか否かを比較することができる。これは、（電圧が同じである場合において）抵抗値ＷＧｉが抵抗値ＷＧｊより小さい場合にそうなる。
【０１４２】
よって、メモリセルＳｉおよびＳｊに記憶された物理値ＷＧｉおよびＷＧｊまたはその状態に基づいて、当該メモリセルＳｉおよびＳｊの順番（または「順序」）を求めるというオプションが存在する。閾値Ｓｗに達する時点ｔｉおよびｔｊによって、メモリセルをその抵抗ＷＧｉおよびＷＧｊに従ってソートすることができる。すなわち、先にメモリセルＳｉをソートしてから、その後にメモリセルＳｊをソートすることができる（またはその逆も可能である）。
【０１４３】
このアプローチは、ｎ個のメモリセルの１つの群の全てのメモリセルをソートするために使用することができる。
【０１４４】
たとえば、最初のｎ１個のメモリセルにバイナリ０を書込み、かつ、第２のｎ２個のメモリセルにバイナリ１を書込んだ場合において、エラーが無い場合には、最初のｎ１個のメモリセルの電気抵抗は第２のｎ２個のメモリセルの電気抵抗より小さくなるので、最初のｎ１個のメモリセルの読出電流は第２のｎ２個のメモリセルの読出電流より大きくなる。たとえば、ｎ１＋ｎ２＝ｎが成り立つ。
【０１４５】
このことに応じて、最初のｎ１個のメモリセルについて閾値Ｓｗに達する時点ｔ１１，ｔ２１・・・ｔｎ１１は、第２のｎ２個のメモリセルについて閾値Ｓｗに達する時点ｔ１２，ｔ２２・・・ｔｎ２２より前に来ることとなる。
【０１４６】
このようにして、閾値Ｓｗに達する時点に従ってメモリセルを整列することができる。たとえば、最も早い（最初の）時点に第１のメモリセルを対応付け、最も遅い（最後の）時点に第ｎのメモリセルを対応付けることができる。本実施例では、最初のｎ１個のメモリセルが、バイナリ値０が書込まれたメモリセルであり、ｎ２個の他の残りのメモリセルは、バイナリ値１が書込まれたメモリセルとなる。
【０１４７】
たとえば、以下の積分
【数１６】
2018133087.tif 000018
は、時点ｔにおける電圧ｖｉ（ｔ）を表し、これは、ｎ個のメモリセルＳｉ〜Ｓｎに係る、その時点の読出電流ＷＡｉ（ｉ＝１・・・ｎ）に依存する。
【０１４８】
この電圧ｖｉ（ｔ）を閾値Ｓｗと比較することができる。これにより、上述の積分が閾値Ｓｗに達した時点を求めることができる。このようにして得られた時点を互いに比較することができる。かかる比較によって、メモリセルの状態がバイナリ値０に相当するか、またはバイナリ値１に相当するかを判断することができる。
【０１４９】
時点ｔｉは、
ｔ＜ｔｉの場合にはｖｉ（ｔ）＜Ｓｗ
かつ
ｔ＞ｔｉの場合にはｖｉ（ｔ）＞Ｓｗ
を適用することによって特定することができる。ここではたとえば、読出電流が時間の経過において一定であると仮定する。
【０１５０】
読出電流を介して、ないしは読出電流の時間積分を介して、メモリセルの抵抗値または状態を互いに比較することができる。有利には、最初のｎ１個のセルの抵抗値が第２のｎ２個のメモリセルの抵抗値より大きくない限りにおいては、最初のｎ１個のセルの中での抵抗値のばらつきは、当該メモリセルへのバイナリ値０の対応付けに影響を及ぼさない。このことに応じて、第２のｎ２個のセルの抵抗値が最初のｎ１個のメモリセルの抵抗値より小さくない限りにおいては、第２のｎ２個のメモリセルの中での抵抗値のばらつきは、当該メモリセルへのバイナリ値１の対応付けに影響を及ぼさない。
【０１５１】
メモリセルの部分群
たとえば、ｎ個のメモリセルの１つの群の同一の第１のデジタル値を有するｎ１個のメモリセルの順序、または、同一の第２のデジタル値を有するｎ２個のメモリセルの順序を求めることも、不要となり得る。第１のデジタル値を有するｎ１個のメモリセルは第１の部分群を構成し、第２のデジタル値を有するｎ２個のメモリセルは第２の部分群を構成する。各部分群はそれぞれ、ｎ個のメモリセルの群の一部に相当する。以下、かかる部分群の一例を詳細に説明する。
【０１５２】
一例として、２つの部分群を検討する。ここで、各部分群のメモリセルの数ｎ１およびｎ２については、
ｎ１＋ｎ２＝ｎ
が成り立つ。
【０１５３】
第１の部分群のｎ１個のメモリセルには、それぞれ第１のデジタル値が書込まれ、第２の部分群のｎ２個のメモリセルにはそれぞれ、第１のデジタル値とは異なる第２のデジタル値が書込まれる。
【０１５４】
メモリセルからの物理値の読出しの際には、第１の部分群のｎ１個のメモリセル間で順序を特定しないことが有利となり得る。というのも、これらには同一のデジタル値が書込まれているからである。
【０１５５】
例として、ｎ＝６個のメモリセルＳ１・・・Ｓ６を検討する。メモリセルＳ１，Ｓ２，Ｓ３は第１の部分群のｎ１＝３個のメモリセルであり、メモリセルＳ４，Ｓ５，Ｓ６は第２の部分群のｎ２＝３個のメモリセルである。第１の部分群のメモリセルには値０が書込まれており、第２の部分群のメモリセルには値１が書込まれている。
【０１５６】
図２ａは、メモリセル値Ｓ１〜Ｓ６から読出された複数の物理値ＷＡ１，ＷＡ２，ＷＡ３，ＷＡ４，ＷＡ５およびＷＡ６を含むチャートである。物理値ＷＡは、たとえば読出電流である。
【０１５７】
図２ｂは、時点ｔ１〜ｔ６を含むチャートであり、各時点ｔｍはそれぞれ、物理値ＷＡｍのうちそれぞれ１つに相当し、ｍ＝１・・・６である。
【０１５８】
よって、各対応する読出電流の時間積分によって、各読出電流の時間積分が予め決まった閾値に達する時点ｔ１，ｔ２，ｔ３，ｔ４，ｔ５およびｔ６を求めることができる。たとえば、図２ｂによれば
ｔ５＞ｔ４＞ｔ６＞ｔ２＞ｔ３＞ｔ１
が成り立つ。
【０１５９】
メモリセルＳ１〜Ｓ６に記憶されたデジタル値０または１の対応付けは、ｉ＝４，５，６かつｊ＝１，２，３である場合、
ｔｉ＞ｔｊ
が成り立つと判断されることによって行うことができる。とりわけ有利なのは、時点ｔ４，ｔ５，ｔ６と時点ｔ１，ｔ２，ｔ３との間の差を特定する必要がないことである。
【０１６０】
たとえば、読出電流についての時間積分が閾値Ｓｗに達したｎ１個の第１のメモリセルに第１のデジタル値を割当て、かつ、ｎ２個の他のメモリセルには第２のデジタル値を割当てることができる。かかる場合には、メモリセルのうち１つがｎ１個の第１のメモリセルに含まれるか否かを特定することで足り得る。
【０１６１】
また、メモリセルのアナログ信号の結合を形成し、この結合に基づいて、メモリセルに第１のデジタル値を対応付けるか、または他のデジタル値を対応付けるかを判断することもできる。
【０１６２】
メモリセルがｎ個であり、かつ第１のメモリセルがｎ１個である群の場合、ｎ個のメモリセルにｎ１個の０とｎ２＝ｎ−ｎ１個の１とを書込む
【数１７】
2018133087.tif 000019
の異なる態様がある。よって、ｎ個のメモリセルでは
【数１８】
2018133087.tif 000020
の異なる割当て（「状態」ともいう）が可能であるから、
【数１９】
2018133087.tif 000021
が成り立つ場合、ｋ個のデータビット（「ｋビットバイト」ともいう）をｎ個のメモリセルに記憶することができる。ｎが偶数である場合には、ｎ１＝ｎ／２であるときに、可能な状態の数が最大となる。
【０１６３】
たとえば、メモリセルがｎ＝６個であり、第１のメモリセルおよび第２のメモリセルがそれぞれｎ１＝ｎ２＝３個であるとする。ｎ＝６個のメモリセルが、メモリセルＳ１〜Ｓ６の１つの群を構成し、これらのメモリセルに、３‐ｏｕｔ‐ｏｆ‐６符号の１つの符号語を記憶することができる。
【０１６４】
まず、誤りが生じないケースについて説明する。メモリセルの読出し時には、読出電流ＷＡ１（τ）〜ＷＡ６（τ）についての積分値が閾値Ｓｗに達する時点ｔ１〜ｔ６を比較する。
【０１６５】
たとえば
ｔ１＜ｔ３＜ｔ４＜ｔ２＜ｔ５＜ｔ６
が成り立つ場合には、メモリセルの順序は
Ｓ１，Ｓ３，Ｓ４，Ｓ２，Ｓ５，Ｓ６
となる。
【０１６６】
メモリセルＳ１〜Ｓ６には、たとえば３‐ｏｕｔ‐ｏｆ‐６符号の符号語１０１１００が記憶されて、これらのメモリセルから読み出される。整列されたメモリセルのうち最初の３つのメモリセルＳ１，Ｓ３およびＳ４については値１が、整列されたメモリセルのうち、それに続く３つのメモリセルＳ２，Ｓ５およびＳ６については値０が、読み出される値として求められる。
【０１６７】
それに対して、たとえば
ｔ’３＜ｔ’４＜ｔ’１＜ｔ’２＜ｔ’６＜ｔ’５
が成り立つ場合には、メモリセルの順序は
Ｓ３，Ｓ４，Ｓ１，Ｓ２，Ｓ６，Ｓ５
となる。
【０１６８】
よって、メモリセルＳ１〜Ｓ６からは３‐ｏｕｔ‐ｏｆ‐６符号の同一の符号語１０１１００が読み出される。バイナリ値１を記憶するメモリセルＳ１，Ｓ３およびＳ４の中での順序の入替え、または、バイナリ値０を記憶するメモリセルＳ２，Ｓ５およびＳ６の中での順序の入替えは、３‐ｏｕｔ‐ｏｆ‐６符号の読み出される符号語に影響を及ぼさない。
【０１６９】
かかる特性が有利であるのは、同一のデジタル値に相当する、読み出される物理値の比較的小さいばらつきは、読出し時に、対応付けられるデジタル値に影響を及ぼさないからである。
【０１７０】
本実施例では、メモリセルＳ１，Ｓ３およびＳ４が値１を記憶するために設けられている。これらのメモリセルには、それぞれバイナリ値１を表す値ＷＧ１，ＷＧ３，ＷＧ４が書込まれる。これらの値ＷＧ１，ＷＧ３，ＷＧ４の相互間の差は僅かであるが、特に偶然の影響によって僅かに変わり得る。
【０１７１】
これに応じて、メモリセルＳ２，Ｓ５およびＳ６が値０を記憶するために設けられている。これらのメモリセルには、それぞれバイナリ値０を表す値ＷＧ２，ＷＧ５，ＷＧ６が書込まれる。これらの値ＷＧ２，ＷＧ５，ＷＧ６の相互間の差は僅かであるが、これらの値も偶然の影響によって僅かに変わり得る。
【０１７２】
たとえば、
ｔ１＜ｔ３＜ｔ４＜ｔ２＜ｔ５＜ｔ６
ではなく、以下の時間的順番
ｔ’１＜ｔ’３＜ｔ’２＜ｔ’４＜ｔ’５＜ｔ’６
が求められた場合には、メモリセルは
Ｓ１，Ｓ３，Ｓ２，Ｓ４，Ｓ５，Ｓ６
に整列され、メモリセルＳ１〜Ｓ６からは３‐ｏｕｔ‐ｏｆ‐６符号の符号語１１１０００が読み出される。これは、誤りが無いときの符号語１０１１００とは、誤りが無い場合のメモリセルの順序では値０が対応付けられる時間的に最初のメモリセルＳ２と、誤りが無い場合においてメモリセルの順序では値１が対応付けられる時間的に最後のメモリセルＳ４とが、入れ替わっている点で異なっている。
【０１７３】
実施例：３値メモリセル
以下では一例として、１メモリセルあたり３つの異なるデジタル値０，１および２を記憶できるシナリオについて検討する。
【０１７４】
図３は、１つのメモリセルの物理値ＷＧの頻度分布を示すグラフである。
【０１７５】
図３は、記憶された値０の頻度分布３０１と、記憶された値１の頻度分布３０２と、記憶された値２の頻度分布３０３と、を示している。頻度分布３０１はＷＧ（０）と、頻度分布３０２はＷＧ（１）と、頻度分布３０３はＷＧ（２）とも称される。
【０１７６】
頻度分布３０１と３０２とは重なり領域３０４を有し、頻度分布３０２と３０３とは重なり領域３０５を有する。
【０１７７】
一実施例では、物理値は抵抗値とすることができる。
【０１７８】
図４は一例として、メモリから読み出される値２の頻度分布４０１と、メモリから読み出される値１の頻度分布４０２と、メモリから読み出される値０の頻度分布４０３と、を示している。頻度分布４０１はＷＡ（２）と、頻度分布４０２はＷＡ（１）と、頻度分布４０３はＷＡ（０）とも称される。
【０１７９】
頻度分布４０１と４０２とは重なり領域４０４を有し、頻度分布４０２と４０３とは重なり領域４０５を有する。
【０１８０】
一実施例では、読み出される物理値は電流強度とすることができる。
【０１８１】
メモリセルＳｉの読出電流の電流強度ＷＡｉ（τ）を時間ｔにわたって積分すると、時点ｔｉにおいて、予め決まった閾値Ｓｗに達する。
【０１８２】
メモリセルＳｊの読出電流の電流強度ＷＡｊ（τ）を時間ｔにわたって積分すると、時点ｔｊにおいて、上述の予め決まった閾値Ｓｗに達する。
【０１８３】
メモリセルＳｉにデジタル値２が書込まれる場合には、メモリセルＳｉは比較的大きい抵抗値（ＷＧｉ）を有し、このメモリセルＳｉの読出し時には、読出電流ＷＡｉは比較的小さくなる。よって、読出電流の時間積分が予め決まった閾値Ｓｗに達する時点ｔｉは大きくなる。
【０１８４】
メモリセルＳｊにデジタル値１が書込まれる場合には、メモリセルＳｊは、メモリセルＳｉの抵抗値ＷＧｉより小さい抵抗値ＷＧｊを有する。よって、メモリセルＳｊの読出し時の読出電流ＷＡｊは、メモリセルＳｉの読出し時の読出電流ＷＡｉより大きくなる。よって、読出電流の時間積分が予め決まった閾値Ｓｗに達する時点ｔｊは、時点ｔｉより前になる。すなわち、ｔｊ＜ｔｉとなる。
【０１８５】
メモリセルＳｋにデジタル値０が書込まれる場合には、メモリセルＳｋは、メモリセルＳｉの抵抗値ＷＧｉより小さくかつメモリセルのＳｊの抵抗値ＷＧｊより小さい抵抗値ＷＧｋを有する。よって、メモリセルＳｋの読出電流ＷＡｋは、メモリセルＳｊ，Ｓｉの読出電流ＷＡｊまたは読出電流ＷＡｉより大きくなる。よって、読出電流の時間積分が予め決まった閾値Ｓｗに達する時点ｔｋは、時点ｔｉおよびｔｊより前になる。すなわち、ｔｋ＜ｔｊ＜ｔｉとなる。
【０１８６】
メモリセルＳｉにメモリセルＳｊと同一のデジタル値が書込まれている場合には、メモリセルＳｉの抵抗値ＷＧｉはメモリセルＳｊの抵抗値ＷＧｊより大きくなるか、または小さくなり得る。
【０１８７】
また、メモリセルＳｉの読出電流ＷＡｉがメモリセルＳｊの読出電流ＷＡｊより大きくなること、または小さくなることもあり得る。
【０１８８】
さらに、メモリセルＳｉの読出電流についての時間積分が、予め決まった閾値Ｓｗに達する時点ｔｉは、メモリセルＳｊの読出電流についての時間積分が予め決まった閾値Ｓｗに達する時点ｔｊより前後することもあり得る。
【０１８９】
かかる場合には、ｔｉ＜ｔｊであるかまたはｔｉ＜ｔｊであるかは不明である。値「不明」は、ここでは記号“−”によっても記述される。
【０１９０】
実施例
一例として、ｎ＝６個のメモリセルＳ１〜Ｓ６の群を検討する。ここで、それぞれ２つのメモリセルを有する３つの部分群が存在する。すなわち、ｎ１＝ｎ２＝ｎ３＝２であり、
・ｎ１＝２個の第１のメモリセルには、メモリセルデジタル値２が、
・ｎ２＝２個の第１のメモリセルには、メモリセルデジタル値１が、
・ｎ３＝２個の第１のメモリセルには、メモリセルデジタル値０が
記憶される。よって、２つの２と２つの１と２つの０とを６つの位置に配分して、３つのメモリセルデジタル値（３値）を有する６つのメモリセルに記憶する態様が
【数２０】
2018133087.tif 000022
存在することになる。
【０１９１】
これとは異なり、ｎ＝６かつｎ１＝ｎ２＝３の場合には、３つの１と３つの０とを６つの位置に配分して、バイナリのメモリセルデジタル値を有する６つのメモリセルに記憶する態様は
【数２１】
2018133087.tif 000023
のみとなるので、バイナリのメモリセル値０および１のみを使用するよりも、３つの３値デジタル値０，１および２を使用した方が、ｎ個のメモリセルの１つの群に記憶できる情報が著しく多くなる。
【０１９２】
よって、各メモリセルが値０，１または２をとることができる本実施例では、複数のｋ＝６個のデータビット（可能な割当ては２６＝６４個）をｎ＝６個のメモリセルデジタル値に変換して、ｎ＝６個のメモリセルに記憶することができる。これら６個のメモリセル値はそれぞれ、
・ｎ１＝２個の第１の値２と、
・ｎ２＝２個の第２の値１と、
・ｎ３＝２個の第３の値０と、
を有する。
【０１９３】
６つのメモリセル値は、
２‐，２‐，２‐ｏｕｔ‐ｏｆ‐６符号
の１つの符号語を構成し、各符号語は、２つの第１のデジタル値と、２つの第２のデジタル値と、２つの第３のデジタル値と、を有する。
【０１９４】
この符号は、
【数２２】
2018133087.tif 000024
の符号語を有する。
【０１９５】
ビット数がｋ＝６である場合、長さ６の２ｋ＝２６＝６４個のバイナリワードは、２‐，２‐，２‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語のうち６４個に可逆的に一義的に変換することができる。
【０１９６】
図１５は、ｋ個のデータビットｘ１〜ｘｋが変換回路１５０１を用いてどのようにして変換されてｎ個のメモリセル値としてメモリ１５０２のｎ個のメモリセルに記憶されるかを示すための、概略的な構成を示す図である。ここで、一例としてｋ≧２かつｎ≧３であると仮定する。変換回路１５０１の入力側には、ｋ個のデータビットｘ１〜ｘｋが入力される。
【０１９７】
ｎ個のメモリセル値は変換回路１５０１から、メモリ１５０２の各メモリセルのデータ入力側に供給される。これらｎ個のメモリセル値は、
ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号
の１つの符号値を構成する。メモリセル値はたとえば、Ｋ値のデジタル値である。
【０１９８】
図１６は、図１５の構成の概略的な一変形形態を示す図であり、図１６では一例として、ｎ＝ｋ＝６，Ｋ＝３、かつｎ１＝ｎ２＝２が成り立つようにされている。図１６に示されている実施例では、６つのデータビットｘ１〜ｘ６が変換回路１６０１によって６つの３値メモリセル値に変換されて、メモリ１６０２に記憶される。６つのメモリセル値は２つの値２と、２つの値１と、２つの値０と、を有し、（誤りが無い場合には）２‐，２‐，２‐ｏｕｔ‐ｏｆ‐６符号の１つの符号語を構成する。各メモリセルは、３値（Ｋ＝３）のメモリセル値を記憶することができる。
【０１９９】
メモリセルＳ１〜Ｓ６については、読出し時においては上述のように、読出電流の時間積分が予め決まった閾値Ｓｗに達する（またはこれを上回る）時点ｔ１〜ｔ６を求める。たとえば
ｔｉ１＜ｔｉ２＜ｔｉ３＜ｔｉ４＜ｔｉ５＜ｔｉ６
が成り立つ場合には、メモリセルＳ１〜のＳ６順序は
Ｓｉ１，Ｓｉ２，Ｓｉ３，Ｓｉ４，Ｓｉ５，Ｓｉ６
に整列される。その際には、値ｉ１・・・ｉ６の集合は値１・・・６の集合に等しい。たとえばｉ１＝５，ｉ２＝４，ｉ３＝２，ｉ４＝１，ｉ５＝６かつｉ６＝３である場合、
ｔ５＜ｔ４＜ｔ２＜ｔ１＜ｔ６＜ｔ３
となり、よってメモリセルの順序は
Ｓ５，Ｓ４，Ｓ２，Ｓ１，Ｓ６，Ｓ３
となる。
【０２００】
メモリセルの順序において最初の２つのメモリセルＳｉ１およびＳｉ２にはメモリセルデジタル値０を対応付け、当該順序において次の２つのメモリセルＳｉ３およびＳｉ４にはメモリセルデジタル値１が対応付けられ、当該順序において次の２つのメモリセルＳｉ５およびＳｉ６にはメモリセルデジタル値２が対応付けられるように規定することができる。
【０２０１】
また、最初の２つのメモリセルＳｉ１およびＳｉ２にはメモリセルデジタル値２を対応付け、次の２つのメモリセルＳｉ３およびＳｉ４にはメモリセルデジタル値１が対応付けられ、次の２つのメモリセルＳｉ５およびＳｉ６にはメモリセルデジタル値０が対応付けられるように規定することもできる。これに応じて、他の対応付け態様も可能である。
【０２０２】
デジタル値の誤りのある対応付けがなされるのは、
・メモリセルＳｉ２の読出電流ＷＡｉ２およびメモリセルＳｉ３の読出電流ＷＡｉ３の双方が、値０および値１双方に対応する読出電流が現れる重なり領域内にある場合、または、
・メモリセルＳｉ４の読出電流ＷＡｉ４およびメモリセルＳｉ５の読出電流ＷＡｉ５の双方が、値１に対応する読出電流および値２に対応する読出電流の双方が現れる重なり領域内にある場合
のみである。
【０２０３】
よって有利には、デジタル値の誤りの無い対応付けは高い確率で多値のデジタルメモリにも達成される。というのも、６つのメモリセルについてはメモリセルの僅かな一部についてしか誤りのある対応付けは起こり得ず、また、そのためには、各２つのメモリセルの読出電流が同時に重なり領域内になければならないからである。
【０２０４】
したがって有利には、記憶されたメモリセル値の読出し時に読出しエラーが生じる頻度はほとんど無くなる。読出し時には、異なるメモリセルの読み出された物理値または読み出された物理値から求められた値を互いに比較することができ、これは結果として、読出しエラーの効果的な低減になり得る。比較の誤った結果が生じ得るのは、比較対象の両値が同時に重なり領域内にある場合のみである。
【０２０５】
また、対応するｎ個のメモリセルに記憶された符号語が１つの（ｎ１‐，ｎ２‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ）符号を構成する場合、参照値を使用して、Ｋ値のメモリセル値としてｎ個のメモリセルに記憶された値を読み出すことも可能である。
【０２０６】
実施例：４値メモリセル
図１７は、４つのデータビットｘ１，ｘ２，ｘ３，ｘ４を４つのメモリセル値ｚ１，ｚ２，ｚ３，ｚ４に変換するための概略的な構成を示している。
【０２０７】
これら４つのデータビットｘ１，ｘ２，ｘ３，ｘ４は、変換回路１７０１の入力側に入力される。これら４つのデータビットは変換回路１７０１に基づいて４つのメモリセル値ｚ１，ｚ２，ｚ３，ｚ４に変換され、メモリ１７０２のメモリセルＳ１，Ｓ２，Ｓ３，Ｓ４に記憶される。
【０２０８】
メモリ１７０２は本実施例では、ｎ＝４個のＳ１，Ｓ２，Ｓ３，Ｓ４から成る群を有し、各メモリセルにはたとえば４つの異なる値０，１，２，３および４を記憶することができる。よって、１つの部分群あたりのメモリセルは１つとなる。すなわち、ｎ１＝ｎ２＝ｎ３＝ｎ４＝１となる。
【０２０９】
誤りの無い場合、メモリセル値ｚ１，ｚ２，ｚ３，ｚ４は、４・３・２・１＝２４個の可能な符号語を有する１‐，１‐，１‐，１‐ｏｕｔ‐ｏｆ‐４符号の１つの符号語を構成する。よってｎ＝４個のメモリセルを有する群では、２４個の異なるデジタル値を記憶することができる。
【０２１０】
図５は一例として、メモリ１７０２から読み出される値３の頻度分布５０１と、メモリ１７０２から読み出される値２の頻度分布５０２と、メモリ１７０２から読み出される値１の頻度分布５０３と、メモリ１７０２から読み出される値０の頻度分布５０４と、を示している。頻度分布５０１はＷＡ（３）と、頻度分布５０２はＷＡ（２）と、頻度分布５０３はＷＡ（１）と、頻度分布５０４はＷＡ（０）とも称される。
【０２１１】
値０，１，２，３，４の各値は、メモリ１７０２の複数の４値のメモリセルのうち１つに記憶することができる。
【０２１２】
たとえば、メモリ１７０２から読み出される値は電流強度（読出電流）とすることができ、この電流強度のレベルに依存して値０，１，２，３，４のうち１つが得られる。
【０２１３】
頻度分布５０１と５０２とは重なり領域５０５を有し、頻度分布５０２と５０３とは重なり領域５０６を有し、頻度分布５０３と５０４とは重なり領域５０７を有する。
【０２１４】
メモリセルＳｉの読出電流の電流強度ＷＡ（τ）ｉを時間ｔにわたって積分すると、特定の時点ｔｉにおいて、予め決まった閾値Ｓｗに達する。
【０２１５】
メモリセルＳｊの読出電流の電流強度ＷＡ（τ）ｊを時間ｔにわたって積分すると、特定の時点ｔｊにおいて、上述の予め決まった閾値Ｓｗに達する。
【０２１６】
たとえばメモリセルＳｉに値３が記憶されており、かつ、メモリセルＳｊにデジタル値０，１または２のいずれか１つの値が記憶されている場合には、メモリセルＳｉの読出電流ＷＡｉの方がメモリセルＳｊの読出電流ＷＡｊより小さいので、ｔｊ＜ｔｉが成り立つ。
【０２１７】
たとえばメモリセルＳｉに値１が記憶されており、かつ、メモリセルＳｊにデジタル値３または２のいずれか１つの値が記憶されている場合には、メモリセルＳｉの読出電流ＷＡｉの方がメモリセルＳｊの読出電流ＷＡｊより大きいので、ｔｊ＞ｔｉが成り立つ。
【０２１８】
たとえばｔ１＜ｔ３＜ｔ２＜ｔ４が成り立つ場合には、メモリセルの順序はＳ１，Ｓ３，Ｓ２，Ｓ４となる。メモリセルＳ１には値０を、メモリセルＳ３には値１を、メモリセルＳ２には値２を、メモリセルＳ４には値３を対応付けることができる。
【０２１９】
変換回路１７０１の入力側には４つのデータビットｘ１，ｘ２，ｘ３，ｘ４が入力され、変換回路１７０１の出力側においてメモリセル値ｚ１，ｚ２，ｚ３，ｚ４が出力される。変換回路１７０１において行われるこの変換は、たとえば表１に従って特定することができる。
【表１】
2018133087.tif 000025
【０２２０】
４つのデータビットｘ１，ｘ２，ｘ３，ｘ４は１６個の異なるバイナリ値００００・・・・１１１１をとることができ、これらは全て上掲の表１に示されている。各行はそれぞれ、変換回路１７０１によって行われ得る、データビットｘｉから１‐，１‐，１‐，１‐ｏｕｔ‐ｏｆ‐４符号の符号語ｚｉへの変換に相当する。
【０２２１】
たとえば表１の第３行は、データビット００１０に符号語３１２０が対応付けられていることを示している。
【０２２２】
既に述べたように、１‐，１‐，１‐，１‐ｏｕｔ‐ｏｆ‐４符号の異なる符号語は２４個存在する。これら２４個の符号語には、ｘ１，ｘ２，ｘ３，ｘ４の１６個の異なる値が対応する。表１では、２４個の可能な符号語のうち１６個のみが使用される。
【０２２３】
メモリセルＳ１，Ｓ２，Ｓ３，Ｓ４の読出し時に４つのメモリセル値ｚ１，ｚ２，ｚ３，ｚ４が求められ、誤りが無い場合にこれらのメモリセル値ｚ１，ｚ２，ｚ３，ｚ４が１‐，１‐，１‐，１‐ｏｕｔ‐ｏｆ‐４符号の１つの符号語を構成する場合には、これらのメモリセル値は表１に従って、対応するデータビットｘ１，ｘ２，ｘ３，ｘ４に変換される。
【０２２４】
１つの可能な逆変換を、表２に示す。
【表２】
2018133087.tif 000026
【０２２５】
表２では、２４個の符号語にデータビットの１６個の可能な割当てが対応付けられており、これらの符号語の一部（表２中の第１７〜２４行）についてはデータビットが存在せず、ないしは、これらの符号語に対応するデータビットは不明である。よって、表２は表１の逆変換を示している。
【０２２６】
たとえば、表１の第５行は、データビット０１００に符号語３０１２が対応付けられていることを示しており、これに対応して、表２の第５行は、符号語３０１２にデータビット０１００が対応付けられていることを示している。
【０２２７】
表２の第１７〜２４行については、データビットは不明である。逆変換回路の合成の場合、不明のデータビットをいわゆる「ドントケア」値として回路最適化のために使用することができる。
【０２２８】
この不明のデータビットを任意の値に、たとえば０にセットすることも可能である。
【０２２９】
実施例：８つのメモリセル内の１１個のデータビット
たとえば、ｋ＝１１個のデータビットｘ１・・・ｘ１１を、メモリセル値ｚ１・・・ｚ８を有する８つのメモリセルに変換することができる。これらのメモリセル値は、２‐，２‐，２‐，２‐ｏｕｔ‐ｏｆ‐８符号の符号語である。各メモリセル値は４値（Ｋ＝４）である。すなわち、１つのメモリセルあたり、４つの異なる値のうち１つを記憶することができる。
【０２３０】
これら１１個のデータビットにより、２１１＝２０４８個の異なる値を表現することができる。２‐，２‐，２‐，２‐ｏｕｔ‐ｏｆ‐８符号は、
【数２３】
2018133087.tif 000027
の符号語を有する。この２５２０個の符号語は、２０４８個のバイナリ値全てを２‐，２‐，２‐，２‐ｏｕｔ‐ｏｆ‐８符号の符号語に変換するために十分である。
【０２３１】
実施例：７つのメモリセル内の９個のデータビット
ｋ＝９個のデータビットｘ１・・・ｘ９を、メモリセル値ｚ１・・・ｚ７を有するｎ＝７個のメモリセルに変換することもできる。これらのメモリセル値は、２‐，２‐，２‐，１‐ｏｕｔ‐ｏｆ‐７符号の符号語である。各メモリセル値は、たとえば４値（Ｋ＝４）である。
【０２３２】
これら９個のデータビットにより、２９＝５１２個の異なる値を表現することができる。２‐，２‐，２‐，１‐ｏｕｔ‐ｏｆ‐７符号は、
【数２４】
2018133087.tif 000028
の符号語を有する。この６３０個の符号語は、５１２個のバイナリ値全てを２‐，２‐，２‐，１‐ｏｕｔ‐ｏｆ‐７符号の符号語に変換するために十分である。
【０２３３】
有利にはたとえば、
ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号
の符号語を構成するメモリセルデジタル値の読出しおよび特定の際には、参照値は不要である。読み出されるメモリセルデジタル値の特定は、メモリセルから読み出された物理値の相互比較を用いて、または、読み出された物理値から導出された値の比較を用いて行うことができ、これにより、異なるメモリセル値の頻度分布が重なり領域を有する場合にも読出しエラーの確率が低くなる。
【０２３４】
比較器を用いたメモリの読出し
図６は、ｎ＝４個のメモリセルＳ１，Ｓ２，Ｓ３およびＳ４を有するメモリ６０１を示している。これらのメモリセルの出力側において値ＷＡ１，ＷＡ２，ＷＡ３およびＷＡ４が読み出され、
【数２５】
2018133087.tif 000029
の比較器６０２〜６０７を使用して対ごとに比較される。比較器は、たとえばコンパレータとして構成することができる。
【０２３５】
比較器６０２は、メモリセルＳ１の読み出された値ＷＡ１とメモリセルＳ２の読み出された値ＷＡ２とを比較する。比較器６０２は、読み出された値についてＷＡ１＞ＷＡ２が成り立つ場合には出力側においてバイナリ値ｙ１２＝１を出力し、読み出された値についてＷＡ１＜ＷＡ２が成り立つ場合にはバイナリ値ｙ１２＝０を出力するように構成されている。
【０２３６】
比較器６０３は、メモリセルＳ１の読み出された値ＷＡ１とメモリセルＳ３の読み出された値ＷＡ３とを比較する。比較器６０３は、読み出された値についてＷＡ１＞ＷＡ３が成り立つ場合には出力側においてバイナリ値ｙ１３＝１を出力し、読み出された値についてＷＡ１＜ＷＡ３が成り立つ場合にはバイナリ値ｙ１３＝０を出力するように構成されている。
【０２３７】
比較器６０４は、メモリセルＳ１の読み出された値ＷＡ１とメモリセルＳ４の読み出された値ＷＡ４とを比較する。比較器６０４は、読み出された値についてＷＡ１＞ＷＡ４が成り立つ場合には出力側においてバイナリ値ｙ１４＝１を出力し、読み出された値についてＷＡ１＜ＷＡ４が成り立つ場合にはバイナリ値ｙ１４＝０を出力するように構成されている。
【０２３８】
比較器６０５は、メモリセルＳ２の読み出された値ＷＡ２とメモリセルＳ３の読み出された値ＷＡ３とを比較する。比較器６０５は、読み出された値についてＷＡ２＞ＷＡ３が成り立つ場合には出力側においてバイナリ値ｙ２３＝１を出力し、読み出された値についてＷＡ２＜ＷＡ３が成り立つ場合にはバイナリ値ｙ２３＝０を出力するように構成されている。
【０２３９】
比較器６０６は、メモリセルＳ２の読み出された値ＷＡ２とメモリセルＳ４の読み出された値ＷＡ４とを比較する。比較器６０６は、読み出された値についてＷＡ２＞ＷＡ４が成り立つ場合には出力側においてバイナリ値ｙ２４＝１を出力し、読み出された値についてＷＡ２＜ＷＡ４が成り立つ場合にはバイナリ値ｙ２４＝０を出力するように構成されている。
【０２４０】
比較器６０７は、メモリセルＳ３の読み出された値ＷＡ３とメモリセルＳ４の読み出された値ＷＡ４とを比較する。比較器６０７は、読み出された値についてＷＡ３＞ＷＡ４が成り立つ場合には出力側においてバイナリ値ｙ３４＝１を出力し、読み出された値についてＷＡ３＜ＷＡ４が成り立つ場合にはバイナリ値ｙ３４＝０を出力するように構成されている。
【０２４１】
２つの部分群の大きさがｎ１＝ｎ２＝２である場合、ｎ＝４個のメモリセルＳ１〜Ｓ４を有する群には、
【数２６】
2018133087.tif 000030
の割当てを記憶することができる。
【０２４２】
この６つの割当てについては、表３に６つの比較器６０２〜６０７の出力値ｙ１２，ｙ１３，ｙ１４，ｙ２３，ｙ２４，ｙ３４が示されている。
【表３】
2018133087.tif 000031
【０２４３】
たとえば、表３の第１行は、メモリセルＳ１〜Ｓ４にバイナリ値１１００が割当てられていることを表している。比較器６０２〜６０７はこれに対応して、バイナリ値ｙ１３＝ｙ１４＝ｙ２３＝ｙ２４＝１を出力する。メモリセルＳ１およびＳ２には双方とも、バイナリ値１が割当てられているので、比較器６０２によって、双方共に記憶されたバイナリ値１に対応付けられた値ＷＡ１とＷＡ２とが互いに比較される。本実施例では、ＷＡ１＜ＷＡ２であるか、またはＷＡ１＞ＷＡ２であるかを予測できないので、比較器６０２の出力値ｙ１２は不明となる。また、メモリセルＳ３およびＳ４の値ＷＡ３およびＷＡ４は共にバイナリ値０を有するので、比較器６０７の出力ｙ３４も不明となる。
【０２４４】
よって表３では、各メモリセルの比較対象の出力値が等しい値を有する場合には、比較器の出力値は不明となる。
【０２４５】
列「関数」では、表３の各行に、それぞれ否定または非否定の出力値の結合としてのブール表現が対応付けられており、出力値ｙｉｊが１に等しい場合には、結合において当該出力値が現れ、それに対して出力値ｙｉｊが０である場合には、結合において否定の出力値¬ｙｉｊが現れる。出力値が不明（“−”）である場合には、結合において当該出力値は現れない。このことによって、特に回路技術的実装に係るコストが削減される。
【０２４６】
２‐ｏｕｔ‐ｏｆ‐４符号のビットを有するメモリセルＳ１〜Ｓ４の６つの各割当てについて、上述の６つの結合のちょうど１つが値１をとる。たとえば、メモリセルの割当て１００１は、表３の第３行によると、以下の結合
ｙ１２∧ｙ１３∧¬ｙ２４∧¬ｙ３４＝１∧１∧１∧１＝１
に相当する。
【０２４７】
比較器６０２，６０３，６０６および６０７は、値ｙ１２＝１，ｙ１３＝１，ｙ２４＝０，およびｙ３４＝０を出力する。この場合、表３中に示された他の結合は全て、値０を有する。
【０２４８】
よって、結合ｙ１２∧ｙ１３∧¬ｙ２４∧¬ｙ３４が値１を有することにより、メモリセルＳ１〜Ｓ４から割当て１００１が読み出されたことが一義的に特定される。
【０２４９】
メモリセルの割当ての特定
図７は、比較器６０２〜６０７の値ｙ１２，ｙ１３，ｙ１４，ｙ２３，ｙ２４，ｙ３４からメモリセルＳ１〜Ｓ４の各対応する割当てを求めるために用いられる回路構成を示す。こうするためにはたとえば、それぞれ４つの入力端を有する６つのＡＮＤゲート７０１〜７０６と、それぞれ３つの入力端を有する４つのＯＲゲート７０８〜７１１と、が用いられる。
【０２５０】
値ｙ１３，ｙ１４，ｙ２３およびｙ２４はＡＮＤゲート７０１の入力端へ伝送される。値ｙ１２，ｙ１４，¬ｙ２３およびｙ２４はＡＮＤゲート７０２の入力端へ伝送される。値ｙ１２，ｙ１３，¬ｙ２４および¬ｙ３４はＡＮＤゲート７０３の入力端へ伝送される。値¬ｙ１２，¬ｙ１３，ｙ２４およびｙ３４はＡＮＤゲート７０４の入力端へ伝送される。値¬ｙ１２，¬ｙ１４，ｙ２３および¬ｙ３４はＡＮＤゲート７０５の入力端へ伝送される。値¬ｙ１３，¬ｙ１４，¬ｙ２３および¬ｙ２４はＡＮＤゲート７０６の入力端へ伝送される。
【０２５１】
さらに、ＡＮＤゲート７０１〜７０６の出力端は、ＯＲゲート７０８〜７１１の入力端と以下のように接続されている：ＡＮＤゲート７０１の出力端はＯＲゲート７０８および７０９の各１つの入力端に接続される。ＡＮＤゲート７０２の出力端はＯＲゲート７０８および７１０の各１つの入力端に接続される。ＡＮＤゲート７０３の出力端はＯＲゲート７０８および７１１の各１つの入力端に接続される。ＡＮＤゲート７０４の出力端はＯＲゲート７０９および７１０の各１つの入力端に接続される。ＡＮＤゲート７０５の出力端はＯＲゲート７０９および７１１の各１つの入力端に接続される。ＡＮＤゲート７０６の出力端はＯＲゲート７１０および７１１の各１つの入力端に接続される。
【０２５２】
ＯＲゲート７０８の出力端にはメモリセルＳ１の割当てが出力され、ＯＲゲート７０９の出力端にはメモリセルＳ２の割当てが出力され、ＯＲゲート７１０の出力端にはメモリセルＳ３の割当てが出力され、ＯＲゲート７１１の出力端にはメモリセルＳ４の割当てが出力される。
【０２５３】
したがって、図７の回路構成は上掲の表３を以下のように具現化する：ＡＮＤゲート７０１〜７０６の出力端において表３の関数がマッピングされ、ＡＮＤゲート７０１は表３の第１行の関数に、ＡＮＤゲート７０６は表３の最終行の関数に相当する。図７のメモリセルＳｉの割当ては、メモリセルＳｉの列から以下のように得られる：表のうち当該列が値１を有する列において、当該関数についてのＯＲ論理結合が成立する。たとえば、メモリセルＳ１は表３の最初の３行では値１を有する。すなわち、表３の最初の３行の結合を意味する、ＡＮＤゲート７０１，７０２および７０３の出力端とのＯＲ結合が存在する。このことは、他のメモリセルについても同様に当てはまる。
【０２５４】
実施例：３値メモリセル
以下、３値のメモリセルを使用する実施例を検討する。すなわち、各メモリセルは値０，１または２のうちいずれか１つをとることができ、たとえば２＞１＞０が成り立つ必要がある。
【０２５５】
群がｎ＝６個のメモリセルを有し、かつ、部分群がｎ１＝ｎ２＝ｎ３＝２個のメモリセルを有する事例を検討する。したがって、６つのメモリセルの群あたり値２を２つ、値１を２つ、値０を２つ記憶することができる。したがって、６つのメモリセルＳ１〜Ｓ６の群に２つの２と２つの１と２つの０とを割当てる態様は、
【数２７】
2018133087.tif 000032
存在する。
【０２５６】
メモリセルからデータを読み出す際に全てのメモリセルの読み出された値を対ごとに比較する場合、メモリセルＳ１〜Ｓ６の全ての物理的出力値を比較するためには、１５個の比較器ＶＧＬｉｊが用いられる。ここでｉ，ｊ＝１・・・６は、メモリセルのうちそれぞれ１つを表す添え字である。したがって、比較器ＶＧＬｉｊはメモリセルＳｉとメモリセルＳｊとを比較する。よって１５個の比較器は、
ＶＧＬ１２，ＶＧＬ１３，ＶＧＬ１４，ＶＧＬ１５，ＶＧＬ１６，
ＶＧＬ２３，ＶＧＬ２４，ＶＧＬ２５，ＶＧＬ２６，
ＶＧＬ３４，ＶＧＬ３５，ＶＧＬ３６，
ＶＧＬ４５，ＶＧＬ４６および
ＶＧＬ５６
である。
【０２５７】
比較器ＶＧＬｉｊのバイナリ出力値はｙｉｊと称され、よって、以下の１５個のバイナリ出力値が存在する：
ｙ１２，ｙ１３，ｙ１４，ｙ１５，ｙ１６，
ｙ２３，ｙ２４，ｙ２５，ｙ２６，
ｙ３４，ｙ３５，ｙ３６，
ｙ４５，ｙ４６および
ｙ５６。
【０２５８】
メモリセルＳ１〜Ｓ６の割当て２２１１００について、表４に上述の１５個の比較器の出力値を示す。
【表４】
2018133087.tif 000033
【０２５９】
よって、以下の結合
ｙ１３∧ｙ１４∧ｙ１５∧ｙ１６∧ｙ２３∧ｙ２４∧ｙ２５∧ｙ２６∧ｙ３５∧ｙ３６∧ｙ４５∧ｙ４６
が得られる。
【０２６０】
この結合は、１５個の比較器の１２個の値を有する。これは、不明でない値である。
【０２６１】
基本的には、以下のことが適用される：値１は、各比較器の非反転値または非否定の値ｙｉｊを表し、値０は、各比較器の反転値または否定の値¬ｙｉｊを表す。
【０２６２】
メモリセルＳ１〜Ｓ６の割当て２１２１００について、表５に上述の１５個の比較器の出力値を示す。
【表５】
2018133087.tif 000034
【０２６３】
よって、以下の結合
ｙ１２∧ｙ１４∧ｙ１５∧ｙ１６∧¬ｙ２３∧ｙ２５∧ｙ２６∧ｙ３５∧ｙ３６∧ｙ４５∧ｙ４６
が得られる。
【０２６４】
この結合は、１５個の比較器の１２個の出力値を有する。
【０２６５】
メモリセルＳ１〜Ｓ６の割当て００１１２２について、表６に上述の１５個の比較器の出力値を示す。
【表６】
2018133087.tif 000035
【０２６６】
よって、以下の結合
¬ｙ１３∧¬ｙ１４∧¬ｙ１５∧¬ｙ１６∧¬ｙ２３∧¬ｙ２４∧¬ｙ２５∧¬ｙ２６∧¬ｙ３５∧¬ｙ３６∧¬ｙ４５∧¬ｙ４６
が得られる。
【０２６７】
この結合は、１５個の比較器の１２個の出力値を有する。
【０２６８】
各メモリセルへのそれぞれ２つの２と２つの１と２つの０との他の残りの割当てについても、同様に対応する結合が得られる。１５個の出力値のうち、不明でないそれぞれ１２個の出力値（反転または非反転）が、対応する結合を構成する。この結合は、メモリセルＳ１〜Ｓ６にそれぞれ対応する割当てが記憶されており、かつ、これらのメモリセルから読み出された値ＷＡ１〜ＷＡ６が比較器ＶＧＬｉｊにおいて対ごとに比較される場合にまさに、値１をとる。
【０２６９】
実施例：変換および逆変換
図８は、ｍ個のデータビットをメモリ８０３のメモリセルＳ１〜Ｓｎに記憶する一実施例を示している。同図には、ｎ個のメモリセルＳ１〜Ｓｎの１つの群が示されており、
・ｎ１個のメモリセルにはｎ１個の第１の値が、
・ｎ２個のメモリセルにはｎ２個の第２の値が、
・ｎＫ個のメモリセルにはｎＫ個の第Ｋの値が、
記憶される。換言すると、複数のＫ個の部分群が存在する。各部分群の中では、所定の数の同一の値が記憶されている。異なる部分群に記憶される値はそれぞれ異なる。
【０２７０】
ｎ個のメモリセルからなる群に記憶されるｍ個のデータビットは、「ｍビットバイト」または単に「バイト」とも称され得る。データビットの数を表す変数として、文字ｍまたはｋを使用する。
【０２７１】
ここで
２ｍ≦Ｎ
が成り立ち、同式中、
【数２８】
2018133087.tif 000036
かつｍ＜ｎである。Ｎは、ｎ１個の第１の値、ｎ２個の第２の値、ｎＫ個の第Ｋの値に至るまで同様の値をｎ個のメモリセルの群に割当てる態様の数を表す。
【０２７２】
変換回路８０１が、ワード幅ｍの２ｍ個のデータビットを、Ｎ個の値ｚ１，ｚ２・・・ｚｎのうち２ｍ個の値に変換する変換ＴＳ（ｍ，ｎ）を実行し、ここで、
・数ｎ１個の値ｚ１，ｚ２・・・ｚｎは０に等しく、
・数ｎ２個の値ｚ１，ｚ２・・・ｚｎは１に等しく、
・・・
・数ｎＫ個の値ｚ１，ｚ２・・・ｚｎはＫ−１に等しい。
【０２７３】
ワード幅ｍの２ｍ個のデータビットを全て用いる必要がない場合には、必要なデータビットのみを変換してメモリセルに記憶することが可能である。
【０２７４】
変換回路８０１はたとえば、ワード幅ｍのビット値ｘ１・・・ｘｍの変換Ｔ（ｍ，ｎ）を、メモリセルＳ１〜Ｓｎに記憶すべきワード幅ｎの値ｚ１・・・ｚｎにマッピングするように構成されており、ここで、
・値ｚ１・・・ｚｎのうちｎ１個は値０をとり、
・値ｚ１・・・ｚｎのうちｎ２個は値１をとり、
・・・
・値ｚ１・・・ｚｎのうちｎＫ個は値（Ｋ−１）をとる。
【０２７５】
ｍ個のビットｘ１・・・ｘｍは、たとえば「データビット」と称され得る。特に、かかるデータビットを、メモリのメモリセルに書込まれる値と区別することができる。ビットｘ１〜ｘｍはたとえば、誤り検出または誤り訂正のための誤り符号の符号語のビットであり、このビットは、誤り符号の少なくとも１つのチェックビットも含むことができ、または、誤り符号のチェックビットのみとすることができる。
【０２７６】
メモリセルＳ１〜Ｓｎは読み出され、読み出された値ｚ’１〜ｚ’ｎは、変換ＴＳ−１（ｎ，ｍ）を提供する変換回路８０２を用いてデータビットｘ’１〜ｘ’ｍに変換され、誤りが無い場合には
ｘ’１・・・ｘ’ｍ＝ｘ１・・・ｘｍ
が成り立つ。
【０２７７】
変換回路８０１および変換回路８０２は有利には、変換Ｔ（ｍ，ｎ）およびその逆変換Ｔ−１（ｎ，ｍ）について
Ｔ−１（ｎ，ｍ）｛Ｔ（ｍ，ｎ）［ｘ１・・・ｘｍ］｝＝ｘ１・・・ｘｍ
が成り立つように構成されている。
【０２７８】
ビットｘ１〜ｘｍを「ｍビットバイト」と称する場合、１つのｍビットバイトは１つのワードｚ１〜ｚｎとしてメモリのｎ個のメモリセルに記憶され、ここで、予め決まった数のｎ１個の第１のメモリセルが第１の値を記憶し、予め決まった数のｎ２個の第２のメモリセルが第２の値を記憶し、予め決まった数のｎＫ個の第Ｋのメモリセルが第Ｋの値を記憶するに至るまで同様である。
【０２７９】
例：Ｋ＝２である場合、ｎ１個の第１のメモリセルが値０を記憶し、ｎ２個の第２のメモリセルが第２の値１を記憶する。このようにして、メモリセルＳ１〜Ｓｎにはｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語が記憶される。
【０２８０】
他の一例：各メモリセルＳ１〜Ｓｎにそれぞれ４つの値を記憶できる場合、ｎ１個のメモリセルに第１の値を記憶し、ｎ２個のメモリセルに第２の値を記憶し、ｎ３個のメモリセルに第３の値を記憶し、ｎ４個のメモリセルに第４の値を記憶することができる。ここで、ｎ１＋ｎ２＋ｎ３＋ｎ４＝ｎが成り立つ。
【０２８１】
上述のように、複数の読み出される異なるメモリセルの物理的特性（たとえば物理値）を互いに比較することができる。かかる比較によって、誤り確率を少なくとも部分的に低減することができる。読出し時に対で比較される値の双方が同時に、物理値の頻度分布の重なり領域内にある場合にしか、誤りは生じ得ず、１つの値のみが重なり領域内にあるだけでは誤りは生じ得ない。
【０２８２】
実施例：図９
図９は、ｍビットバイトをそれぞれｎ個のメモリセルに記憶する一例を示しており、ここでｍ＝４，ｎ＝６、かつｎ１＝ｎ２＝３が成り立つ。ｎ１＝３個のメモリセルには第１のデジタル値０が記憶され、ｎ２＝３個の第２のメモリセルには第２のデジタル値１が記憶される。４ビットバイトは６つのメモリセルに、３‐ｏｕｔ‐ｏｆ‐６符号の６ビットワードとして記憶される。
【０２８３】
図９は、３つの４ビットバイトをメモリ９０１のそれぞれ６つのメモリセルに記憶する構成を示しており、これらのメモリセルはたとえば、デジタルのバイナリ値を記憶することができる。４ビットバイトｘ１，ｘ２，ｘ３，ｘ４は変換回路９０２を用いてバイナリ値ｚ１〜ｚ６に変換され、これらのバイナリ値はメモリ９０１のメモリセルＳ１〜Ｓ６に記憶される。さらに、４ビットバイトｘ５，ｘ６，ｘ７，ｘ８は変換回路９０３を用いてバイナリ値ｚ７〜ｚ１２に変換され、これらのバイナリ値はメモリ９０１のメモリセルＳ７〜Ｓ１２に記憶される。また、４ビットバイトｘ９，ｘ１０，ｘ１１，ｘ１２も変換回路９０４を用いてバイナリ値ｚ１３〜ｚ１８に変換され、これらのバイナリ値はメモリ９０１のメモリセルＳ１３〜Ｓ１８に記憶される。
【０２８４】
どの変換回路９０２〜９０４も変換Ｔ（４，６）を実行する。この変換Ｔ（４，６）は、１６個の可能な各４ビット値に３‐ｏｕｔ‐ｏｆ‐６符号のそれぞれ異なる符号語を対応付ける表形式で記述され得る。一例を表７に示す。
【表７】
2018133087.tif 000037
【０２８５】
かかる表はたとえば、組み合わせ（論理）回路の形態または読出し専用メモリの形態で実現することができる。
【０２８６】
メモリセルに記憶される値またはメモリセル値がバイナリ値である場合、これらの値は「メモリビット」とも称され得る。
【０２８７】
上記の実施例では、データビットを反転するとメモリビットの反転になる。
【０２８８】
オプションとして、同一機能の変換、ないしは同一作用の変換回路を用いて、複数の異なる４ビットバイトをメモリ値に、特にメモリビットに変換することができる。また、異なる機能の変換ないしは変換回路を用いて、複数の異なる４ビットバイトをメモリビットに、または一般的にメモリ値に変換することもできる。たとえば、変換回路９０２〜９０４のうち少なくとも２つが異なる変換を実行することが可能である。その際にはこれに応じて、変換回路９０５〜９０７は適切な逆変換を提供する。
【０２８９】
たとえば、４ビットバイトｘの反転によってデジタル値ｚの反転になる変換を設けることができる。
【０２９０】
メモリ９０１からの読出し時には、メモリビットｚ’１，ｚ’２，ｚ’３，ｚ’４，ｚ’５，ｚ’６が読み出されて、変換回路９０５によって４ビットバイトｘ’１，ｘ’２，ｘ’３，ｘ’４に変換される。同様に、メモリビットｚ’７，ｚ’８，ｚ’９，ｚ’１０，ｚ’１１，ｚ’１２が読み出されて、変換回路９０６によって４ビットバイトｘ’５，ｘ’６，ｘ’７，ｘ’８に変換される。また、メモリビットｚ’１３，ｚ’１４，ｚ’１５，ｚ’１６，ｚ’１７，ｚ’１８も読み出されて、変換回路９０７によって４ビットバイトｘ’９，ｘ’１０，ｘ’１１，ｘ’１２に変換される。
【０２９１】
いずれの変換回路９０５，９０６，９０７も、表７に示された変換の逆変換である変換ＴＳ−１（６，４）であって、それぞれｎ＝６個の状態ビットｚ’（ｉ・ｎ）（ｉ＝１・・・３かつｎ＝１・・・６）が、それぞれｍ＝４個のデータビットｘ’（ｉ・ｍ）（ｉ＝１・・・３かつｍ＝１・・・４）に変換される変換ＴＳ−１（６，４）を実現する。
【０２９２】
エラーに起因して、メモリ９０１から読み出されるメモリビットｚ’（ｉ・ｎ）は、元々記憶されていたビットｚ（ｉ，ｎ）とは異なることがある。よって、読み出されるデータビットｘ’ｉ・ｍも、書込まれたデータビットｘｉ・ｍとは異なることがあり得る。
【０２９３】
エラーが生じていない場合、最初の４つのデータビットｘ１〜ｘ４、最初の６つの変換されたビットｚ１〜ｚ６、最初の６つの逆変換すべきビットｚ’１〜ｚ’６、および、当該逆変換により得られる最初の４つのデータビットｘ’１〜ｘ’４については、
ｚ１，ｚ２，ｚ３，ｚ４，ｚ５，ｚ６＝ｚ’１，ｚ’２，ｚ’３，ｚ’４，ｚ’５，ｚ’６
ｘ１，ｘ２，ｘ３，ｘ４＝ｘ’１，ｘ’２，ｘ’３，ｘ’４
が成り立つ。
【０２９４】
２番目の４つのデータビットと、３番目の４つのデータビットとについても、同じことが同様に当てはまる。
【０２９５】
万全を期すため、変換ＴＳ−１（６，４）を示す表８を提示する。これは、表７に示された対応付けの逆マッピングである。
【表８】
2018133087.tif 000038
【０２９６】
表８に掲げられていない、メモリビットｚ’１〜ｚ’６の値については、データビットｘ’１〜ｘ’４の対応する任意の値を、逆変換回路９０５の合成のために設けることができる。たとえば、かかる任意の値を合成ツールによる最適化の際に不明値として規定させることが可能であり、かかる不明値は「ドントケア」値とも称される。また、これらの値を０にセットするオプションもある。
【０２９７】
誤り検出および／または誤り訂正
逆変換回路９０５によって誤ったメモリビットに誤ったデータビットが対応付けられている場合、誤りを有する４ビットバイトを誤り符号によって検出および／または訂正することができる。以下、これについて例示により説明する。
【０２９８】
図１０は、誤り検出または誤り検出と誤り訂正とを組み合わせたものを行うことができる一例の回路構成を示す図であり、データビットは変換回路によってメモリビットに変換され、メモリビットはメモリのメモリセルに記憶される。
【０２９９】
データビットｘは符号化器１００１の入力側に入力され、符号化器１００１の出力側において、誤り符号Ｃ１に応じて符号化されたビットｙ＝Ｃｏｄ（ｘ）が出力される。
【０３００】
誤り符号Ｃ１はバイト誤り訂正および／または検出符号とすることができ、たとえばリード‐ソロモン符号とすることができる。また、誤り符号Ｃ１はビット誤り訂正および／または検出符号とすることができ、たとえばＢＣＨ符号、Hsiao符号、ハミング符号、低密度パリティ符号、または他の符号とすることもできる。
【０３０１】
符号化器１００１の出力側において出力されたビット（またはバイト）ｙ＝Ｃｏｄ（ｘ）は、変換回路１００２を用いてデジタル値ｚ（ｙ）に変換され、このデジタル値ｚ（ｙ）はメモリ１００３のメモリセルに書込まれる。変換回路１００２は変換ＴＳを提供する。
【０３０２】
それぞれｎ個のメモリセルの１つの群では、ｎ１個の第１の値はｎ１個の第１のメモリセルに、ｎ２個の第２の値はｎ２個の第２のメモリセルに記憶され、等、ｎＫ個の第Ｋの値はｎＫ個の第Ｋのメモリセルに記憶されるに至るまで同様になされる。ここで、ｎ１＋ｎ２＋・・・＋ｎＫ＝ｎが成り立つ。
【０３０３】
次のステップにおいて、値ｚ’（ｙ）が、メモリ１００３の対応するメモリセルから読み出される。この値ｚ’（ｙ）は、少なくとも１つのエラーに基づいて、書込まれた値ｚ（ｙ）とは異なることがあり得る。エラーが生じていない場合には、ｚ（ｙ）＝ｚ’（ｙ）が成り立つ。
【０３０４】
メモリ１００３から読み出された値ｚ’（ｙ）は、変換ＴＳ−１を提供する逆変換回路１００４によってバイナリ値ｙ’に変換される。
【０３０５】
エラーが生じていない場合には、
ｙ’＝ｙ＝Ｃｏｄ（ｘ）
が成り立つ。
【０３０６】
エラーが生じている場合には、
ｙ’≠ｙ＝Ｃｏｄ（ｘ）
が成り立つ。
【０３０７】
訂正値形成器１００５が、誤り符号Ｃ１に応じて適切なワード幅の訂正値ｅを形成し、訂正値ｅの構成要素はＸＯＲ回路１００７において値ｙ’と構成要素ごとにＸＯＲ結合される。ＸＯＲ回路は、入力信号の排他的論理和結合を行ってその結合の結果を出力側において出力する回路である。入力端の信号が等しい場合、ＸＯＲ回路は出力側において論理値１を出力する。入力端の信号が異なる場合、ＸＯＲ回路は出力側において論理値０を出力する。
【０３０８】
ＸＯＲ回路１００７の出力側には、訂正された値ｙｃｏｒが出力される。符号Ｃ１によって訂正値形成器１００５を用いて訂正可能な誤りが生じている場合には、訂正されたビットは符号化されたビットと等しくなる。すなわち、
ｙｃｏｒ＝ｙ＝Ｃｏｄ（ｘ）
となる。
【０３０９】
さらに、誤り符号Ｃ１を用いて検出できる誤りおよび／または誤りの特定の種類が存在するか否かを特定するために使用できる誤り検出回路１００６も示されている。誤り検出回路１００６には値ｙ’が供給され、誤り検出回路１００６は誤り情報１００８を出力する。
【０３１０】
誤り符号がたとえば１バイト誤り訂正符号と２バイト誤り検出符号である場合には、誤りが生じていないか、または１バイト誤りが生じているか、または２バイト誤りが生じているかに応じて、誤り検出回路１００６は異なる誤り情報１００８を出力することができる。たとえば、誤り情報１００８はビット列００，０１または１０として（本実施例ではすなわち２ビットを有するビット列として）符号化することができる。
【０３１１】
オプションとして、誤り検出回路１００６と訂正値形成器１００５とを共に実現し、または部分的に共に実現することができる。
【０３１２】
誤り符号Ｃ１が、符号化器１００１による符号化の際にデータビットが変化しない分離可能な符号である場合において、誤りが生じていない場合、または、誤り符号Ｃ１によって訂正可能な誤りが生じている場合には、ＸＯＲ回路１００６によって出力されたビットは、符号化器１００１に入力されて変換回路１００２による変換後にメモリ１００３に記憶された対応するデータビットと等しくなる。
【０３１３】
図１１は、誤り訂正または誤り検出と場合によっては誤り訂正とを行うことができる、他の代替的な回路構成を示す図である。
【０３１４】
データビットｘは変換回路１１０１の入力側に入力され、値ｚ（ｘ）に変換される。変換回路１１０１の値ｚ（ｘ）は符号化器１１０２の入力側に入力され、この符号化器１１０２は、誤り符号Ｃ２を用いて符号化されたデータＣｏｄ（ｚ（ｘ））を出力側において出力するように構成されている。
【０３１５】
符号化器１１０２は符号化関数とチェックビット変換関数とを提供することができる。
【０３１６】
たとえば、符号化器１１０２の入力側に入力された値ｚ（ｘ）が変化せずに、当該符号化器によって求められた出力データＣｏｄ（ｚ（ｘ））に含まれ、かつ、誤り符号Ｃ２に応じて値ｚ（ｘ）にチェックビットが追加されるように、誤り符号Ｃ２は分離可能な符号であると仮定する。
【０３１７】
符号化器１１０２は本実施例では、入力側に入力された値ｚ（ｘ）を変化せずに出力側において（本実施例では、入力側および出力側は双方とも、それぞれ１ビットに対応する複数の線路をそれぞれ有することができる）出力し、追加的に、誤り符号Ｃ２に応じてビットｚ（ｘ）からチェックビットを形成し、メモリ１１０３に記憶する前にこのチェックビットをさらに変換するように構成されている。
【０３１８】
値ｚ（ｘ）はたとえば、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語から構成されたｎ個のビットの群を構成する。符号化器１１０２によって生成されて変換されるチェックビットも、ｎ１‐ｏｕｔ‐ｏｆ‐ｎ符号語とすることができ、またはこれを含むことができる。
【０３１９】
たとえば、誤り符号Ｃ２によってビットｚ（ｘ）から求められたチェックビットを符号化器１１０２によって、各２つのビットが互いに相補的であるビットとして出力することも可能である。各チェックビットはそれぞれ２つのビットに変換され、２つのメモリセルに記憶される。たとえば、チェックビット１をビット１０に変換し、チェックビット０をビット０１に変換して、それぞれ２つのメモリセルに記憶することができる。
【０３２０】
メモリセル値へのチェックビットの他の変換も可能である。たとえば、チェックビットを３重または２重および／または他の態様でフォールトトレラントにメモリ１１０３に書込むことが可能である。
【０３２１】
メモリ１１０３のそれぞれｎ個のメモリセルの群の中では、ｎ１個の第１の値は第１の数のｎ１個の第１のメモリセルに、ｎ２個の第２の値は第２の数のｎ２個の第２のメモリセルに記憶され、等、ｎＫ個の第Ｋの値は、予め決まった第Ｋの数のｎＫ個の第Ｋのメモリセルに記憶されるに至るまで同様になされる。ここで、ｎ１＋ｎ２＋・・・＋ｎＫ＝ｎが成り立つ。
【０３２２】
図１０に示された回路構成では、データビットを用いて誤り処理がなされる。それに対して図１１に示された回路構成では、誤り処理は、変換回路１１０１によってデータビットから求められたメモリセル値に基づいて行われる。メモリセル値はたとえばメモリビットである。「誤り処理」とはここでは、誤り検出および／または誤り訂正をいう。
【０３２３】
図１２は、図１１に示された回路構成の変形態様の他の一例を示している。
【０３２４】
データビットｘは変換回路１２０１の入力側に入力され、符号語［３‐ｏｕｔ‐ｏｆ‐６］１に変換され、その際にはその都度、データビットの４つのビットが１つの３‐ｏｕｔ‐ｏｆ‐６符号語に変換される。この３‐ｏｕｔ‐ｏｆ‐６符号語［３‐ｏｕｔ‐ｏｆ‐６］１は、変換回路１２０１の出力側において出力される。これら１６個の各４ビット値には、変換回路１２０１によって可逆的に一義的に、３‐ｏｕｔ‐ｏｆ‐６符号の１つの符号語が対応付けられる。
【０３２５】
変換回路１２０１の出力側はチェックビット形成器１２０２の入力側に接続されており、このチェックビット形成器１２０２は、誤り符号に応じて３‐ｏｕｔ‐ｏｆ‐６符号語のビットに係るチェックビットＰｒを求め、出力側において出力する。
【０３２６】
たとえば、チェックビット形成器１２０２はＢＣＨ符号のチェックビットを生成する。誤りが無い場合、変換回路１２０１によって出力されるビットと、チェックビット形成器１２０２によって出力されるチェックビットとは、ＢＣＨ符号の１つの符号語を構成する。
【０３２７】
このことに対応して、ＢＣＨ符号に代えて他の誤り符号を使用することもできる。また、複数の誤り符号を互いに組み合わせて使用することもできる。
【０３２８】
変換回路１２０１を用いてデータビットから得られた３‐ｏｕｔ‐ｏｆ‐６符号語を（チェックビットを有しない３‐ｏｕｔ‐ｏｆ‐６符号語も）メモリ１２０４に記憶できるように、変換回路１２０１の出力側はメモリ１２０４の入力側にも接続されている。
【０３２９】
チェックビット形成器１２０２の出力側はチェックビット変換器１２０３の入力側に接続されており、このチェックビット変換器１２０３は、供給されたチェックビットを３‐ｏｕｔ‐ｏｆ‐６符号語［３‐ｏｕｔ‐ｏｆ‐６］２に変換して、出力側において出力する。
【０３３０】
チェックビット変換器１２０３の出力側はメモリ１２０４の入力側に接続されている。たとえばこうするために、メモリの複数の別個のデータ入力端を使用することができる。このようにして、チェックビット変換器１２０３によってチェックビットＰｒに基づいて生成された３‐ｏｕｔ‐ｏｆ‐６符号語［３‐ｏｕｔ‐ｏｆ‐６］２を、メモリ１２０４に記憶することができる。
【０３３１】
誤りが無い場合には、メモリ１２０４には、３‐ｏｕｔ‐ｏｆ‐６符号語であるビットが記憶されることとなる。このビットは「メモリセル値」とも称される。
【０３３２】
データビットｘから、変換回路１２０１によって３‐ｏｕｔ‐ｏｆ‐６符号の符号語［３‐ｏｕｔ‐ｏｆ‐６］１が形成され、これはメモリ１２０４に書込まれる。この符号語［３‐ｏｕｔ‐ｏｆ‐６］１は、メモリ１２０４のメモリセルのメモリセル値を構成する。
【０３３３】
符号語［３‐ｏｕｔ‐ｏｆ‐６］１のビットから、チェックビット形成器１２０２によって、使用されている誤り符号に応じてチェックビットＰｒが求められて、当該チェックビット形成器１２０２の出力側において出力される。チェックビット変換器１２０３はチェックビットＰｒを３‐ｏｕｔ‐ｏｆ‐６符号の符号語［３‐ｏｕｔ‐ｏｆ‐６］２に変換する。この符号語［３‐ｏｕｔ‐ｏｆ‐６］２は、メモリ１２０４のメモリセルのメモリセル値を構成し、このメモリセル値はチェックビットＰｒから形成されたものである。
【０３３４】
したがって、メモリ１２０４には符号語［３‐ｏｕｔ‐ｏｆ‐６］１および符号語［３‐ｏｕｔ‐ｏｆ‐６］２が記憶される。記憶時および読出し時にはビット誤りが生じることがあり、このビット誤りに基づいて符号語［３‐ｏｕｔ‐ｏｆ‐６］１、および符号語［３‐ｏｕｔ‐ｏｆ‐６］２が誤ったビットに改ざんされてしまう。
【０３３５】
読出し時には、データビットに対応付けられたビット［３‐ｏｕｔ‐ｏｆ‐６］’１と、変換されたデータビットのチェックビットに対応付けられたビット［３‐ｏｕｔ‐ｏｆ‐６］’２とが、メモリ１２０４から出力される。ビット［３‐ｏｕｔ‐ｏｆ‐６］’１およびビット［３‐ｏｕｔ‐ｏｆ‐６］’２は双方とも、ビット誤りを含み得る。誤りが無い場合には、
［３‐ｏｕｔ‐ｏｆ‐６］’１＝［３‐ｏｕｔ‐ｏｆ‐６］１
［３‐ｏｕｔ‐ｏｆ‐６］’２＝［３‐ｏｕｔ‐ｏｆ‐６］２
が成り立つ。
【０３３６】
ビット［３‐ｏｕｔ‐ｏｆ‐６］’２が出力されるメモリ１２０４の出力側は、チェックビット逆変換器１２０５の入力側に接続されており、このチェックビット逆変換器１２０５は、ビット［３‐ｏｕｔ‐ｏｆ‐６］’２に基づいて、誤りがある場合があるチェックビットＰｒ’を求めて出力側で出力する。チェックビット逆変換器１２０５は、チェックビット変換器１２０３が実行する変換の逆変換を実行するものである。
【０３３７】
誤りが無い場合には、チェックビット逆変換器１２０５は出力側において、チェックビット変換器１２０２によって形成されたものと同一のチェックビットＰｒを出力する。
【０３３８】
誤りがある場合があるチェックビットＰｒ’は、データビットに相当するビット［３‐ｏｕｔ‐ｏｆ‐６］’１のチェックビットである。このようにして、使用されている３‐ｏｕｔ‐ｏｆ‐６符号に応じて、ビット［３‐ｏｕｔ‐ｏｆ‐６］’１のビット誤りが生じている場合にはその誤り訂正のために、誤りがある場合があるチェックビットＰｒ’を使用することができる。
【０３３９】
メモリ１２０４の出力側およびチェックビット逆変換器１２０５の出力側はそれぞれ、訂正器１２０６の１つの入力端に接続されている。訂正器１２０６はビット［３‐ｏｕｔ‐ｏｆ‐６］’１を、使用されている誤り符号に応じて、訂正されたビット［３‐ｏｕｔ‐ｏｆ‐６］１ｃｏｒに訂正する。
【０３４０】
誤りが生じた場合、この誤りが、使用されている誤り符号によって訂正可能であるときは、
［３‐ｏｕｔ‐ｏｆ‐６］１ｃｏｒ＝［３‐ｏｕｔ‐ｏｆ‐６］１
が成り立つ。
【０３４１】
訂正器１２０６の出力側において、上述のビット［３‐ｏｕｔ‐ｏｆ‐６］１ｃｏｒが出力される。訂正器１２０６の出力側はチェックビット逆変換回路１２０７の入力側に接続されており、これは、変換回路１２０１によって行われる変換を逆にした変換を行う。逆変換回路１２０７の出力側において、データビットｘｃｏｒが出力される。これは、場合によっては訂正されたデータビットであるか、または（誤りが生じていない場合には）データビットｘである。
【０３４２】
誤りが生じていない場合、または、生じた誤りが誤り符号Ｃによって訂正可能である場合には、
ｘｃｏｒ＝ｘ
が成り立つ。
【０３４３】
上述の回路構成は、メモリセル値の誤り訂正を誤り符号によって行う実施例である。メモリセルバイナリ値は、本実施例では３‐ｏｕｔ‐ｏｆ‐６符号の符号語である。３‐ｏｕｔ‐ｏｆ‐６符号は、メモリセル値を形成するために使用される。メモリセル値の誤り訂正は誤り符号を用いて、たとえばハミング符号、Hsiao符号、ＢＣＨ符号、または他の符号を用いて行われ得る。
【０３４４】
このようにして、データビットはメモリセル値に変換され、メモリセル値のビットについて誤り符号のチェックビットが求められる。これらのチェックビットも同様に、メモリセル値に変換される。変換されたビットのメモリセル値および変換されたチェックビットのメモリセル値は、メモリに記憶される。その後、メモリからの読出し時にはまず、チェックビットに相当するメモリセル値がチェックビットに変換し戻される。データビットに相当するメモリセル値は、変換し戻されたチェックビットを使用し、かつ誤り符号を使用して、通常の訂正器において訂正されたメモリセル値に訂正される。その後、データビットに相当する訂正されたメモリセル値は逆変換によって、訂正されたデータビットに変換し戻すことができる。
【０３４５】
上述のメモリセル値および上述の３‐ｏｕｔ‐ｏｆ‐６符号の他に、他のメモリセル値、たとえば４‐ｏｕｔ‐ｏｆ‐８符号の符号語を、同様に用いることが可能である。
【０３４６】
図１２で説明した実施例とは異なり、図１０で説明した実施例では、データビットの誤り訂正を行う。データビットから、誤り符号のチェックビットが求められる。データビットと、上述のようにして求められたチェックビットとは、共にメモリセル値に変換されて、メモリに記憶される。メモリからの読出し時には、誤りがある場合のあるメモリセル値を、まず、誤りのある場合があるデータビットと誤りのある場合があるチェックビットとに変換し戻して、データビットに誤りがある場合には、使用されている誤り符号を用いてデータビットを訂正する。
【０３４７】
実施例：３‐ｏｕｔ‐ｏｆ‐６符号
以下一例として、ｎ＝６個のメモリセルの１つの群が、それぞれｎ１＝ｎ２＝３個のメモリセルの２つの部分群を有すると仮定する。よってｎ＝６個のメモリセルには、バイナリ値０を３つとバイナリ値１を３つとをそれぞれ有する３‐ｏｕｔ‐ｏｆ‐６符号語を記憶することができる。
【０３４８】
３つの０と３つの１とを有する異なる符号語は
【数２９】
2018133087.tif 000039
となるので、３‐ｏｕｔ‐ｏｆ‐６符号語として６つのメモリセルに記憶できる異なる値は２０個となる。２４＝１６＜２０であるから、６つのメモリセルには４つのデータビットを記憶することができる。
【０３４９】
６つのメモリセルＳ１〜Ｓ６に３‐ｏｕｔ‐ｏｆ‐６符号語として記憶されたバイナリの４ビット値の可能な対応付けを、表９に示す。表９の最後の列の上部には「４ビット」と記載されており、同列では４ビット値がビットごとに０から１６まで昇順になっている（２番目に最後の列を参照のこと）。４ビット値ごとに、ここで一例として使用されている３‐ｏｕｔ‐ｏｆ‐６符号のちょうど１つの符号語がある。３‐ｏｕｔ‐ｏｆ‐６符号は、各符号語に値１（または値０）がちょうど３回現れることを特徴とする。ｎ＝６個のメモリセルについては、「余分」な２０−１６＝４個の符号語、すなわち、対応付けられた４ビット値を有しない４個の符号語が存在する。表９の実施例では、これは同表の最後の４行であり、これら４行では、列「４ビット」において記号「−」が４回現れている。
【０３５０】
最高速の読出しストリームの検出
図１３は、それぞれ３つの入力端を備えた４つのＮＯＴ‐ＯＲゲート１３０１〜１３０４と、それぞれ２つの入力端を備えた２つのＮＯＴ‐ＯＲゲート１３０５，１３０６と、多数の入力端を備えた１つのＮＯＴ‐ＡＮＤゲート１３０７と、を備えた一例の回路構成を示している。
【０３５１】
本回路構成により、読出しストリームについての時間積分が予め決まった閾値Ｓｗに達するのが最も速い３つのメモリセルを特定することができる。
【０３５２】
メモリセルＳ１〜Ｓ６ののうち３つに３つの０と３つの１とを割当てる態様は、
【数３０】
2018133087.tif 000040
存在する。
【０３５３】
メモリセルの、表９の最初の１６行において０が割当てられた３つの出力端はそれぞれ、ＮＯＴ‐ＯＲゲートの入力端に接続されている。
【表９】
2018133087.tif 000041
ＮＯＴ‐ＯＲゲートの出力端は、当該ＮＯＴ‐ＯＲゲートの全ての入力端が０である場合にのみ、１となる。
【０３５４】
表９の第１行に従って値０を示す、メモリセルＳ４，Ｓ５およびＳ６の３つの出力端は、ＮＯＴ‐ＯＲゲート１３０１の３つの入力端に接続されている。表９の第２行に従って値０を示す、メモリセルＳ３，Ｓ５およびＳ６の３つの出力端は、ＮＯＴ‐ＯＲゲート１３０２の３つの入力端に接続されている。表９の第１４行に従って値０を示す、メモリセルＳ１，Ｓ３およびＳ５の３つの出力端は、ＮＯＴ‐ＯＲゲート１３０３の３つの入力端に接続されている。表９の第１５行に従って値０を示す、メモリセルＳ１，Ｓ２およびＳ５の３つの出力端は、ＮＯＴ‐ＯＲゲート１３０４の３つの入力端に接続されている。
【０３５５】
本アプローチは第３〜１３行にも同様に適用され、よって、行ごとに専用のＮＯＴ‐ＯＲゲートが設けられ、各ＮＯＴ‐ＯＲゲートの３つの入力端は、当該行の、値０を示すメモリセルに接続されることとなる。
【０３５６】
入力端が全て値０を示すＮＯＴ‐ＯＲゲート１３０１〜１３０４の出力端にのみ、値１が現れる。換言すると、表９の対応する符号語に結合されたＮＯＴ‐ＯＲゲート１３０１〜１３０４のみが、出力端において値１を出力する。メモリセルとの入力端の接続の組み合わせは全てのＮＯＴ‐ＯＲゲート１３０１〜１３０４において異なるので（各符号語はそれぞれ、３つの０の異なる配置を有する）、ＮＯＴ‐ＯＲゲート１３０１〜１３０４の出力端には一度に１回だけ値１が現れる。
【０３５７】
ＮＯＴ‐ＯＲゲート１３０５および１３０６はたとえば、図１３の論理信号の結合の第２レベルを実現しており、ＮＯＴ‐ＯＲゲート１３０１の出力端およびＮＯＴ‐ＯＲゲート１３０２の出力端はＮＯＴ‐ＯＲゲート１３０５の入力端に接続されている。ＮＯＴ‐ＯＲゲート１３０３の出力端およびＮＯＴ‐ＯＲゲート１３０４の出力端はＮＯＴ‐ＯＲゲート１３０６の入力端に接続されている。よって、ＮＯＴ‐ＯＲゲート１３０１〜１３０４の各２つの出力端は、この第２レベルのＮＯＴ‐ＯＲゲートの入力端に接続されている。
【０３５８】
第２レベルのＮＯＴ‐ＯＲゲート１３０５〜１３０６の出力端はそれぞれ、ＮＯＴ‐ＡＮＤゲート１３０７の１つの入力端に接続されている。ＮＯＴ‐ＡＮＤゲート１３０７の出力端において、信号１３０８が出力される。
【０３５９】
ＮＯＴ‐ＡＮＤゲートが出力端において値０を出力するのは、当該ＮＯＴ‐ＡＮＤゲートの全ての入力端が値１を示す場合のみである。入力端のうちいずれか１つが値０を示す場合には直ちに、信号１３０８は値１をとる。上記にて説明したように、メモリセルに３つの０が現れた場合には、ＮＯＴ‐ＯＲゲート１３０１〜１３０４のうち１つのＮＯＴ‐ＯＲゲートのみの出力端が値０から値１に切り替わることができる。これに応じて、該当するＮＯＴ‐ＯＲゲート１３０１〜１３０４の出力端に接続されたＮＯＴ‐ＯＲゲート１３０５〜１３０６は値１から値０に切り替わる。この値０によって、信号１３０８は値１に切り替わる。
【０３６０】
図１３に示された実施例では、３つの０を６つのメモリセルに配分する異なる態様は１６個存在する（表９参照）。これに応じて、ＮＯＴ‐ＯＲゲート１３０１〜１３０４は１６個存在する。これらのＮＯＴ‐ＯＲゲートのうち各２つのＮＯＴ‐ＯＲゲートの出力端は、第２レベルのＮＯＴ‐ＯＲゲート１３０５〜１３０６のうちいずれか１つのＮＯＴ‐ＯＲゲートの入力端に接続されている。よって、第２レベルのＮＯＴ‐ＯＲゲート１３０５〜１３０６は８個となり、ＮＯＴ‐ＡＮＤゲート１３０７はこれに応じて８個の入力端を有する。
【０３６１】
ＮＯＴ‐ＡＮＤゲート１３０７の出力端の信号１３０８は、時間的に標本化（サンプリング）することができる。
【０３６２】
この標本化の際に初めて信号１３０８の値１が検出された場合には、信号１３０８を、各メモリ素子Ｓ１〜Ｓ６に後置接続された６つのラッチの「ホールド信号（hold-Signal）」として使用することができる。これについては、図１４を参照して詳細に説明する。
【０３６３】
図１４は、６つの信号増幅器（「センス増幅器」または「センスアンプ」とも称される）１４０１〜１４０６を備えた一例の回路構成を示している。既に上記にて説明したように、メモリの（ここでは一例として６つの）メモリセルから物理値ＷＡｉ（ここでｉ＝１・・・６）が読み出される。読み出された各物理値ＷＡｉはそれぞれ、信号増幅器１４０１〜１４０６のうち１つに供給される。物理値ＷＡｉは、読出電流とすることができる。
【０３６４】
信号増幅器１４０１は、物理値ＷＡｉの時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０１の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０１の出力端にはデジタル値０が出力される。信号増幅器１４０１の出力端はラッチ１４０７の第１の入力端に接続されており、ラッチ１４０７の第２の入力端にはホールド信号１４１３が入力される。ホールド信号の値が０に等しい場合には、ラッチ１４０７はトランスペアレントに切り替えられる。すなわち、信号増幅器１４０１の出力端において出力されるバイナリ値が論理回路１４１４の第１の入力端に現れる。ホールド信号の値が１に等しい場合には、ラッチ１４０７は凍結される。すなわち、ホールド信号が１に等しい間は、この時点においてラッチ１４０７の第１の入力端に入力された値がラッチ１４０７の出力端にも存在し続ける。
【０３６５】
「捕捉レジスタ」または「状態制御されるフリップフロップ」とも称されるラッチの機能については、たとえば“de.wikipedia.org/wiki/Latch”を参照されたい。
【０３６６】
論理回路１４１４は、ラッチ１４０７〜１４１２の出力端に最初に現れた３つの０、すなわち最速で現れた３つの０を検出して、ホールド信号１４１３を値１にセットする。
【０３６７】
同様に、信号増幅器１４０２は、物理値ＷＡ２の時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０２の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０２の出力端にはデジタル値０が出力される。信号増幅器１４０２の出力端はラッチ１４０８の第１の入力端に接続されており、ラッチ１４０８の第２の入力端にはホールド信号１４１３が入力される。ラッチ１４０８の出力端は論理回路１４１４の第２の入力端に接続されている。信号増幅器１４０３は、物理値ＷＡ３の時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０３の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０３の出力端にはデジタル値０が出力される。信号増幅器１４０３の出力端はラッチ１４０９の第１の入力端に接続されており、ラッチ１４０９の第２の入力端にはホールド信号１４１３が入力される。ラッチ１４０９の出力端は論理回路１４１４の第３の入力端に接続されている。信号増幅器１４０４は、物理値ＷＡ４の時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０４の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０４の出力端にはデジタル値０が出力される。信号増幅器１４０４の出力端はラッチ１４１０の第１の入力端に接続されており、ラッチ１４１０の第２の入力端にはホールド信号１４１３が入力される。ラッチ１４１０の出力端は論理回路１４１４の第４の入力端に接続されている。信号増幅器１４０５は、物理値ＷＡ５の時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０５の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０５の出力端にはデジタル値０が出力される。信号増幅器１４０５の出力端はラッチ１４１１の第１の入力端に接続されており、ラッチ１４１１の第２の入力端にはホールド信号１４１３が入力される。ラッチ１４１１の出力端は論理回路１４１４の第５の入力端に接続されている。信号増幅器１４０６は、物理値ＷＡ６の時間積分を求める。この時間積分が時点ｔにおいて閾値Ｓｗより小さい場合には、当該時点ｔにおいて信号増幅器１４０６の出力端にはデジタル値１が出力される。時間積分が時点ｔにおいて閾値Ｓｗより大きい場合には、信号増幅器１４０６の出力端にはデジタル値０が出力される。信号増幅器１４０６の出力端はラッチ１４１２の第１の入力端に接続されており、ラッチ１４１２の第２の入力端にはホールド信号１４１３が入力される。ラッチ１４１２の出力端は論理回路１４１４の第６の入力端に接続されている。
【０３６８】
一例として、グラフ１４１５は信号増幅器１４０１に係る一定の時間における読出電流を示す。当該グラフ１４１５によれば、信号増幅器１４０１における読出電流は時点ｔ１において閾値Ｓｗに達する。同様に図１４には、信号増幅器１４０２〜１４０６に係るグラフ１４１６〜１４２０も示されており、当該グラフ１４１６〜１４２０では時点ｔｉは、第ｉの信号増幅器１４０１〜１４０６が閾値Ｓｗに達する時期を示す。
【０３６９】
読出電流の積分が時点ｔｉまで閾値Ｓｗより小さい間は、各信号増幅器は値１を出力し、読出電流の積分が時点ｔｉ以降に閾値Ｓｗより大きくなった場合には、各信号増幅器は値０を出力する。
【０３７０】
図１４に示されている実施例では、時点ｔにおいて物理値ＷＡ１〜ＷＡ６が求められる。ここでｔは、ｔ１，ｔ３およびｔ５より大きく、かつ、ｔはｔ２，ｔ４およびｔ６より小さい。よって、時点ｔにおいて信号増幅器１４０１，１４０３および１４０５の出力端にはそれぞれ値０が出力され、同時に、信号増幅器１４０２，１４０４および１４０６の出力端では未だ値１が出力されている。論理回路１４１４はこれら最初の３つの０を識別してホールド信号１４１３を０から１にセットし、これに応答してラッチ１４０７〜１４１２は「凍結」される。
【０３７１】
論理回路１４１４はたとえば、図１３に示された回路構成によって実現することができる。
【図１】
2018133087.tif 000042
【図２】
2018133087.tif 000043
【図３】
2018133087.tif 000044
【図４】
2018133087.tif 000045
【図５】
2018133087.tif 000046
【図６】
2018133087.tif 000047
【図７】
2018133087.tif 000048
【図８】
2018133087.tif 000049
【図９】
2018133087.tif 000050
【図１０】
2018133087.tif 000051
【図１１】
2018133087.tif 000052
【図１２】
2018133087.tif 000053
【図１３】
2018133087.tif 000054
【図１４】
2018133087.tif 000055
【図１５】
2018133087.tif 000056
【図１６】
2018133087.tif 000057
【図１７】
2018133087.tif 000058
【手続補正書】
【提出日】平成30年4月17日(2018.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリのメモリセルの読出し方法であって、
複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
前記物理値の少なくとも一部を互いに比較し、
比較された前記物理値に基づき、前記ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
前記対応付けにより得られたメモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号値を対応付け、
前記物理値の少なくとも一部の順序が特定されるように、前記物理値の少なくとも一部を互いに比較し、
前記順序に基づいて、前記ｎ個のメモリセルに前記Ｋ個の異なるメモリセルデジタル値を対応付ける、読出し方法。
【請求項２】
前記ｎ個のメモリセルを読み出すことによって前記物理値を求める、
請求項１記載の読出し方法。
【請求項３】
全ての物理値を互いに比較する、
請求項１または２記載の読出し方法。
【請求項４】
Ｋ＝２であることにより、前記ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号は、ｎ１‐，ｎ２‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ｎ１個の第１のメモリセル値は、互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は、互いに同一の第２の値を有し、前記第１の値は、前記第２の値と異なる、
請求項１から３までのいずれか１項記載の読出し方法。
【請求項５】
Ｋ＝３であることにより、前記ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号は、ｎ１‐，ｎ２‐，ｎ３‐ｏｕｔ‐ｏｆ‐ｎ符号であり、ｎ１個の第１のメモリセル値は、互いに同一の第１の値を有し、ｎ２個の第２のメモリセル値は、互いに同一の第２の値を有し、ｎ３個の第３のメモリセル値は、互いに同一の第３の値を有し、前記第１の値と前記第２の値と前記第３の値とは、それぞれ相異なる、
請求項１から３までのいずれか１項記載の読出し方法。
【請求項６】
Ｋ＞３が成り立つ、
請求項１から３までのいずれか１項記載の読出し方法。
【請求項７】
前記メモリセルから求められるメモリセル値を、一義的に可逆の変換によって求める、
請求項１から６までのいずれか１項記載の読出し方法。
【請求項８】
前記物理値は、時点である、
請求項１から７までのいずれか１項記載の読出し方法。
【請求項９】
各時点を前記メモリセルの物理値の時間積分によって求める、
請求項８記載の読出し方法。
【請求項１０】
前記物理値は、メモリセルの読出電流である、
請求項１から９までのいずれか１項記載の読出し方法。
【請求項１１】
得られた前記メモリセルデジタル値がｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を表す場合、前記符号語から逆変換によって複数のｍ個のビットを求める、
請求項１から１０までのいずれか１項記載の読出し方法。
【請求項１２】
誤り符号を用いてｍ個のビットの誤り検出および／または誤り訂正を行う、
請求項１１記載の読出し方法。
【請求項１３】
前記誤り符号に応じてデータビットから求められるチェックビットに基づいて、前記誤り検出および／または前記誤り訂正を行う、
請求項１１記載の読出し方法。
【請求項１４】
前記誤り符号に応じて前記メモリセル値から求められるチェックビットに基づいて、前記誤り検出および／または前記誤り訂正を行う、
請求項１１記載の読出し方法。
【請求項１５】
前記誤り符号は、バイト誤り訂正および／またはバイト誤り検出符号である、
請求項１２から１４までのいずれか１項記載の読出し方法。
【請求項１６】
データビットの誤り訂正が行われる場合には、１バイトは、ｍ個のビットを含み、
メモリセルの誤り訂正が行われる場合には、１バイトは、ｎ個のビットを含む、
請求項１５記載の読出し方法。
【請求項１７】
前記誤り符号はビット誤り訂正および／またはビット誤り検出符号である、
請求項１２から１６までのいずれか１項記載の読出し方法。
【請求項１８】
前記メモリセルデジタル値を求めるために少なくとも１つの参照値を使用する、
請求項１から１７までのいずれか１項記載の読出し方法。
【請求項１９】
前記メモリは、
キャッシュメモリ、
レジスタ、またはレジスタアレイ、
フラッシュメモリ、
ＭＲＡＭ、
ＳＲＡＭ、
ＲＥ‐ＲＡＭ、
ＰＣ‐ＲＡＭ、
ＦＥ‐ＲＡＭ、
ＣＢ‐ＲＡＭ、
マルチビットメモリ、
マルチレベルメモリ、
のうち少なくとも１種類のメモリを含む、
請求項１から１８までのいずれか１項記載の読出し方法。
【請求項２０】
メモリのメモリセルを処理するための装置であって、
前記装置は、処理ユニットを備えており、
前記処理ユニットは、
複数のｎ個のメモリセルから物理値を求め、ただし、ｎは少なくとも３であり、
前記物理値の少なくとも一部を互いに比較し、
比較された前記物理値に基づき、ｎ個のメモリセルにＫ個の異なるメモリセルデジタル値を対応付け、
前記対応付けにより得られた前記メモリセルデジタル値に、ｎ１‐・・・ｎＫ‐ｏｕｔ‐ｏｆ‐ｎ符号の符号語を対応付ける、
ように構成されており、
前記処理ユニットはさらに、
前記物理値の少なくとも一部を互いに比較することにより、前記物理値の順序を特定し、
前記物理値の順序に基づき、前記ｎ個のメモリセルに前記Ｋ個の異なるメモリセルデジタル値を対応付ける、
ように構成されている、
装置。
【請求項２１】
デジタルコンピュータのメモリに直接ロード可能なコンピュータプログラム製品であって、
請求項１から１９までのいずれか１項記載の読出し方法の各ステップを実施するために適したプログラムコード部分を備えている、
コンピュータプログラム製品。
【請求項２２】
コンピュータにより実行可能な指令を備えたコンピュータ可読の記憶媒体であって、
前記指令は、コンピュータが請求項１から１９までのいずれか１項記載の読出し方法の各ステップを実施するために適したものである、
記憶媒体。
【外国語明細書】
2018133087.tif 000059
2018133087.tif 000060
2018133087.tif 000061
2018133087.tif 000062
2018133087.tif 000063
2018133087.tif 000064
2018133087.tif 000065
2018133087.tif 000066
2018133087.tif 000067
2018133087.tif 000068
2018133087.tif 000069
2018133087.tif 000070
2018133087.tif 000071
2018133087.tif 000072
2018133087.tif 000073
2018133087.tif 000074
2018133087.tif 000075
2018133087.tif 000076
2018133087.tif 000077
2018133087.tif 000078
2018133087.tif 000079
2018133087.tif 000080
2018133087.tif 000081
2018133087.tif 000082
2018133087.tif 000083
2018133087.tif 000084
2018133087.tif 000085
2018133087.tif 000086
2018133087.tif 000087
2018133087.tif 000088
2018133087.tif 000089
2018133087.tif 000090
2018133087.tif 000091
2018133087.tif 000092
2018133087.tif 000093
2018133087.tif 000094
2018133087.tif 000095
2018133087.tif 000096
2018133087.tif 000097
2018133087.tif 000098
2018133087.tif 000099
2018133087.tif 000100
2018133087.tif 000101
2018133087.tif 000102
2018133087.tif 000103
2018133087.tif 000104
2018133087.tif 000105
2018133087.tif 000106
2018133087.tif 000107
2018133087.tif 000108
2018133087.tif 000109
2018133087.tif 000110
2018133087.tif 000111
2018133087.tif 000112
2018133087.tif 000113
2018133087.tif 000114
2018133087.tif 000115
2018133087.tif 000116
2018133087.tif 000117
2018133087.tif 000118
2018133087.tif 000119
2018133087.tif 000120
2018133087.tif 000121
2018133087.tif 000122
2018133087.tif 000123
2018133087.tif 000124
2018133087.tif 000125
2018133087.tif 000126
2018133087.tif 000127
2018133087.tif 000128
2018133087.tif 000129
2018133087.tif 000130
2018133087.tif 000131
2018133087.tif 000132
2018133087.tif 000133
2018133087.tif 000134
2018133087.tif 000135
2018133087.tif 000136
2018133087.tif 000137
2018133087.tif 000138
2018133087.tif 000139
2018133087.tif 000140
2018133087.tif 000141
2018133087.tif 000142
2018133087.tif 000143