(57)【要約】【課題】  メモリコントローラ、メモリシステム及びメモリ装置を使用する方法を提供する。【解決手段】  様々な実施形態において、メモリコントローラが提供される。メモリコントローラは、メモリの第１のメモリ部分にデータを記憶し、且つメモリの第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するように構成され得、エラー検出データ又はエラー訂正データの少なくとも１つは、データに関連し、メモリコントローラは、第２のメモリ部分のサイズを柔軟に割り当てるように構成されるメモリサイズ割当回路を含む。【選択図】      図２
2019139764.tif 000002
【特許請求の範囲】
【請求項１】
メモリの第１のメモリ部分にデータを記憶すること、
前記メモリの第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶することであって、前記エラー検出データ又は前記エラー訂正データの前記少なくとも１つは、前記データに関連する、記憶すること、
を行うように構成されるメモリコントローラであって、
前記第２のメモリ部分のサイズを柔軟に割り当てるように構成されるメモリサイズ割当回路を含むメモリコントローラ。
【請求項２】
前記エラー検出データ又はエラー訂正データの前記少なくとも１つを前記第２のメモリ部分の外側に記憶しないように更に構成される、請求項１に記載のメモリコントローラ。
【請求項３】
前記メモリサイズ割当回路は、前記第２のメモリ部分に記憶される前記エラー検出データ又はエラー訂正データの少なくとも１つに基づいて前記第２のメモリ部分の前記サイズを柔軟に割り当てるように更に構成される、請求項１に記載のメモリコントローラ。
【請求項４】
前記メモリサイズ割当回路は、可用性又は安全性の少なくとも１つの既定の程度に基づいて前記第２のメモリ部分の前記サイズを柔軟に割り当てるように更に構成される、請求項１に記載のメモリコントローラ。
【請求項５】
前記メモリサイズ割当回路は、前記第２のメモリ部分の前記サイズに基づいて前記第１のメモリ部分のサイズを柔軟に割り当てるように更に構成される、請求項３に記載のメモリコントローラ。
【請求項６】
前記メモリサイズ割当回路は、前記第１のメモリ部分の前記サイズと前記第２のメモリ部分の前記サイズとの和が既定の定数値であるように、前記第１のメモリ部分のサイズを柔軟に割り当てるように更に構成される、請求項５に記載のメモリコントローラ。
【請求項７】
メモリアドレス決定回路によって割当可能な複数のアドレスは、立方体の第１の次元を形成する列、前記立方体の第２の次元を形成する行、及び前記立方体の第３の次元を形成するバンクによって定められる立方体状のアドレス空間を形成する、請求項１に記載のメモリコントローラ。
【請求項８】
前記第２のメモリ部分に割当可能なアドレスは、少なくとも１つの既定の行値又は少なくとも１つの既定の列値を含む、請求項７に記載のメモリコントローラ。
【請求項９】
前記第１のメモリ部分に割当可能なアドレスは、前記既定の行値の場合には前記少なくとも１つの既定の行値と異なる行値を含み、又は前記既定の列値の場合には前記少なくとも１つの既定の列値と異なる列値を含む、請求項８に記載のメモリコントローラ。
【請求項１０】
請求項１に記載のメモリコントローラと、
前記メモリを含むメモリ装置と、
を含むメモリシステム。
【請求項１１】
第１のメモリ部分及び第２のメモリ部分を含む少なくとも１つのメモリを含むメモリ装置を使用する方法であって、
前記第１のメモリ部分にデータを記憶するステップと、
前記第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するステップであって、前記エラー検出データ又は前記エラー訂正データの前記少なくとも１つは、前記データに関連する、ステップと、
前記第２のメモリ部分のサイズを柔軟に割り当てるステップと、
を含む方法。
【請求項１２】
前記第１のメモリ部分に記憶される前記データのデータ部分に第１のメモリアドレスを割り当て、且つ前記第２のメモリ部分に記憶される前記エラー検出データ又はエラー訂正データの前記少なくとも１つのエラー検出データ部分又はエラー訂正データ部分の少なくとも１つに第２のメモリアドレスを割り当てるステップを更に含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１３】
前記第２のメモリ部分のサイズを柔軟に割り当てる前記ステップは、前記第２のメモリ部分にエラー検出データ又はエラー訂正データが記憶されないように前記第２のメモリ部分にゼロのサイズを割り当てるステップを含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１４】
前記第２のメモリ部分のサイズを柔軟に割り当てる前記ステップは、前記第２のメモリ部分に記憶される前記エラー検出データ又はエラー訂正データの少なくとも１つに基づいて前記第２のメモリ部分の前記サイズを柔軟に割り当てるステップを含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１５】
前記第２のメモリ部分のサイズを柔軟に割り当てる前記ステップは、可用性又は安全性の少なくとも１つの既定の程度に基づいて前記第２のメモリ部分の前記サイズを柔軟に割り当てるステップを含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１６】
前記第２のメモリ部分の前記サイズに基づいて前記第１のメモリ部分のサイズを柔軟に割り当てるステップを更に含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１７】
前記第１のメモリ部分のサイズを柔軟に割り当てるステップは、前記第１のメモリ部分の前記サイズと前記第２のメモリ部分の前記サイズとの和が既定の定数値であるように、前記第１のメモリ部分のサイズを柔軟に割り当てるステップを含む、請求項１１に記載のメモリ装置を使用する方法。
【請求項１８】
メモリアドレス決定回路によって割当可能な複数のアドレスは、立方体の第１の次元を形成する列、前記立方体の第２の次元を形成する行、及び前記立方体の第３の次元を形成するバンクによって定められる立方体状のアドレス空間を形成する、請求項１１に記載のメモリ装置を使用する方法。
【請求項１９】
前記第２のメモリ部分に割当可能なアドレスは、少なくとも１つの既定の行値又は少なくとも１つの既定の列値を含む、請求項１８に記載のメモリ装置を使用する方法。
【請求項２０】
前記第１のメモリ部分に割当可能なアドレスは、前記既定の行値の場合には前記少なくとも１つの既定の行値と異なる行値を含み、又は前記既定の列値の場合には前記少なくとも１つの既定の列値と異なる列値を含む、請求項１９に記載のメモリ装置を使用する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な実施形態は、概して、メモリコントローラ及びメモリ装置を使用する方法に関する。
【背景技術】
【０００２】
ＤＲＡＭ（メモリ）エラーの根源は、「ソフトエラー」と「ハード故障」とに分類することができる。ハード故障の原因は、１つ又は複数の欠陥のあるメモリセル又は欠陥のあるデータ経路の回路であり得る。ソフトエラーには様々な原因、例えばいわゆる「ロウハンマー（ｒｏｗ  ｈａｍｍｅｒ）」がある場合があり、ロウハンマーは、高密度メモリアレイ内で起きる可能性があり、元のメモリアクセスでアドレス指定されていない隣接するメモリ行の内容を変えることがある。また、アルファ粒子若しくは宇宙放射線及び／又はメモリ装置との間のデータ伝送中のエラーがソフトエラーを引き起こし得る。
【０００３】
重要なデータ内のエラー、例えばプログラムコード内のエラーは、システム故障を引き起こし得る。従って、安全性が重要なアプリケーションでは、データの完全性は、一定の安全性及び信頼性の目標に達するための要件の１つである。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な実施形態において、メモリコントローラが提供される。メモリコントローラは、メモリの第１のメモリ部分にデータを記憶し、且つメモリの第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するように構成され得、エラー検出データ又はエラー訂正データの少なくとも１つは、データに関連し、メモリコントローラは、第２のメモリ部分のサイズを柔軟に割り当てるように構成されるメモリサイズ割当回路を含む。
【０００５】
図面では、同様の参照文字は、異なる図を通して同じ部品を概して指す。図面は、必ずしも縮尺通りではなく、代わりに本発明の原理を示すことを概して重視している。以下の説明では、本発明の様々な実施形態を以下の図面に関して説明する。
【図面の簡単な説明】
【０００６】
【図１】従来技術によるメモリシステムの概略図を示す。
【図２】様々な実施形態によるメモリシステムの概略図を示す。
【図３】様々な実施形態による、異なる信頼性／安全性の概念に従って記憶されるデータの概略図を示す。
【図４】様々な実施形態による、メモリ装置を使用する方法の流れ図を示す。
【発明を実施するための形態】
【０００７】
以下の詳細な説明は、本発明を実践することができる具体的な詳細及び実施形態を例として示す添付図面を参照する。
【０００８】
本開示の様々な態様を装置に関して提供し、本開示の様々な態様を方法に関して提供する。装置の基本特性は、方法にも該当し、その逆も同様であることが理解されるであろう。従って、簡潔にするためにかかる特性の重複した説明を省略する場合がある。
【０００９】
本明細書では、「例示的」という用語は、「例、実例又は例証である」ことを意味するために使用される。「例示的」として本明細書に記載するいかなる実施形態又は設計も、必ずしも他の実施形態又は設計より好ましいか又は有利であるとして解釈すべきではない。
【００１０】
以下では、両方が言及／区別されていない限り又は２つの一方のみに言及することが文脈から明らかでない限り、「ＥＣＣ」という用語は、「ＥＤＣ及び／又はＥＣＣ」の略記として使用する。
【００１１】
ＥＤＣ（エラー検出コード）及びＥＣＣ（エラー訂正コード）機能は、欠陥ビットを検出及び訂正するために使用される。とりわけ有名であるものは、６４ビットのデータに対して８ビットのＥＣＣを用いるハミングコードを使用する、いわゆるＳＥＣＤＥＤ（単一エラー訂正、二重エラー検出）である。
【００１２】
標的とする安全性及び信頼性の目標に応じて他のコード（例えば、他の種類及び／又はより高い／より低い検出／訂正機能）、例えばブロックＥＣＣ、階層ＥＣＣ（階層の低レベルでの検出と高レベルでの訂正）、及び／又はアドレスＥＣＣとデータＥＣＣの組合せを使用することができる。
【００１３】
ＳＥＣＤＥＤコードは、６４ビットのユーザデータのために７２ビット幅のデータバスを必要とする。サーバのための関連コンポーネント（例えば、ＤＲＡＭコンポーネント）は、通常、×４又は×８データ線に基づくため、ＥＣＣデータを記憶するための追加のコンポーネントが追加される。ＥＣＣデータがユーザデータと同時に転送されるため、データバス幅を増加することによってＥＣＣ線を並行して追加することを「サイドバンドＥＣＣ」と呼ぶ。
【００１４】
モバイル応用では、メモリコンポーネント（例えば、ＬＰＤＤＲ４）がより高度なデータバス幅、×１６又は×３２に基づく。×１６データバスにサイドバンドＥＣＣを使用するには６個の追加のデータ線が必要である一方、×３２データバスでは７個の追加のデータ線が必要になる。６個又は７個の検査ビットのためにのみ追加の×１６コンポーネントを追加することは、追加のメモリ空間の５０％超を無駄にし、全体的なシステム電力消費量も増やす。ユーザデータを例えば２６ビットに減らし、６個の検査ビットを得られるようにすることは、２のべき乗ではないデータ幅を有するデータ転送をもたらし、これは、望ましくない。
【００１５】
×４又は×８のメモリコンポーネントを利用できない特定のメモリ応用において、例えばＬＰＤＤＲ３／４に関して固定データバス幅に関する問題を克服するために、「インラインＥＣＣ」と呼ばれる方法がサイドバンドＥＣＣの代わりに最近導入されている。
【００１６】
インラインＥＣＣの手法では、検査ビットは、同じデータ線上であるが、関連するデータと比較して後の時点において転送され、例えば６４ビットのユーザデータ後に８個の検査ビットが転送され得る。
【００１７】
インラインＥＣＣの手法では、ユーザデータと同じメモリコンポーネント、例えば専用の行、列又はバンク内に検査ビットを記憶することができる。
【００１８】
当然ながら、インラインＥＣＣは、データスループットに著しい影響を有する。現在、インラインＥＣＣの手法に関する最適化スキームは、主にスループットに重点を置く。例えば、ＥＣＣ保護される必要がある領域をできる限り有さないことが望ましく、重要でないデータは、ＥＣＣ保護を有さない領域に記憶され得る（従って、ＥＣＣデータを転送させる必要がない）。これを領域ベースのＥＣＣの概念と呼び、データスループットに対してインラインＥＣＣが有する影響を最小限にするために導入されている。
【００１９】
図１は、メモリコントローラ１００Ｃと、少なくとも１つのメモリ１００Ｍを含むメモリ装置１０３とを含み得る、領域ベースのＥＣＣの概念を使用する従来技術の例示的メモリシステム１００を示す。データ自体１０２Ｄを含んでよく、且つＥＣＣ／ＥＤＣ情報１０２Ｅを含んでも含まなくてもよいデータ１０２を記憶するために、この概念は、各領域を保護又は非保護の２つの種類の１つにユーザが構成することを可能し得る（この構成は、「ＥＣＣ」及び「ＥＣＣなし」から選択を行うためのセレクタ１００Ｓを使用して行うことができる）。保護されたメモリ領域についてのみ、検査ビット（ＥＣＣ／ＥＤＣ情報１０２Ｅ）がメモリに（及びメモリから）転送される（換言すれば、メモリコントローラ１００Ｃとメモリ自体（メモリセル）１００Ｍとの間のＥＣＣ／ＥＤＣのデータ転送は、任意選択的であり得る）。
【００２０】
典型的には、１つの固定された種類のＥＣＣスキーム（例えば、単一エラー訂正、並びに二重エラー検出では６４ビットのデータ及び８ビットの検査ビット）のみが使用される。ＥＣＣ検査ビットを記憶するために使用される領域１００Ｍ２のサイズも固定され、非保護領域があることの恩恵を一切受けない。完全なシステムアドレス空間を２つの主要部分、即ちデータのための１つの部分１００Ｍ１及びＥＣＣのための第２の部分１００Ｍ２（上記の固定スキームでは１００Ｍ１のサイズの８分の１）に分割することができる。データ記憶空間部分内において、幾つかの領域を「ＥＣＣ保護オン」（図１では例えば領域０及び領域Ｎ）又は「ＥＣＣ保護オフ」（例えば、領域１及び領域２）として構成可能であると定めることができる。アドレスマッパ１００Ａは、システムアドレス１０２Ａをメモリ（例えば、ＤＲＡＭ）アドレス（行、列及びバンクアドレス）に変換することができる。アドレスマッパ１００Ａは、典型的には、システムアドレスとメモリ（例えば、ＤＲＡＭ）アドレスとの間の固定された１対１のマッピングを有する静的アドレスマッパとして実装される。換言すれば、図１に示すように、従来技術のメモリシステム１００では、システムアドレス１０２Ａに関してデータ１０２をアドレス指定するための３つの全ての点、即ち（データ自体１０２Ｄと共に）データ１０２が開始する開始アドレス１０２ＡＤ１、（ＥＣＣ／ＥＤＣシステムアドレスが後に続く）データ自体１０２Ｄが終了するアドレス１０２ＡＤ２、及びＥＣＣ／ＥＤＣ情報が終了する終了アドレス１０２ＡＥが（相対的な意味で）固定され得る。
【００２１】
メモリ（例えば、ＤＲＡＭ）サブシステム内のメモリコントローラ１００Ｃは、メモリ（例えば、ＤＲＡＭ）アドレスを使用してメモリ（例えば、ＤＲＡＭ）装置の外部の装置に対するデータトランザクション及び（ＥＣＣ対応領域では）ＥＣＣトランザクションをスケジュールすることができる。上記のように、ＥＣＣの物理位置は、同じバンク又は異なるバンク内でメモリ１００Ｍ内の行の合計の８分の１の部分を占めるように（この代替形態は、図１の右上に示される）、又は列の合計の８分の１の部分を占めるように（この代替形態は、図１の右下に示される）構成される。
【００２２】
領域ベースのＥＣＣの概念は、領域ごとに指定のＥＤＣ及びＥＣＣスキームを利用して様々な安全性のレベル及び信頼性の等級の１つを各領域に独立に割り当てる能力を欠く。
【００２３】
更に、この手法には、ＥＣＣ保護領域が幾つ定められているかに関係なく、（上記の例では）全メモリの８分の１（即ち１２．５％）が任意選択的なＥＣＣを記憶するために確保され、従って他のデータを記憶するために利用できない点において不利益がある。
【００２４】
様々な実施形態において、指定のＥＤＣ及び／又はＥＣＣを使用して領域ごとに独立の安全性のレベル及び信頼性のレベルを定めるために、図１に関連して上述した領域ベースのＥＣＣの手法を拡張できる方法を記載する。
【００２５】
ＥＣＣ検査ビットを記憶するために使用される領域のサイズは、使用されているＥＤＣ及び／又はＥＣＣスキームの種類と直接的な関係を有し得る。
【００２６】
換言すれば、様々な実施形態によるメモリシステムを使用してデータを記憶するとき、データ安全性スキームが例えばユーザによって定められ得、対応するＥＣＣ（必要な場合）のための記憶空間（及びそれぞれのアドレス）の量がメモリ装置内で柔軟に割り当てられ得る。
【００２７】
これを表現する更に別の方法として、領域ベースの手法は、指定のＥＤＣ及びＥＣＣを利用して様々な信頼性の等級又は安全性のレベルにデータ領域を柔軟に割り当てることをサポートするように拡張することができる。
【００２８】
更に、例えばユーザ条件（例えば、温度）が変化する場合、実行時間中により高い信頼性の等級に切り替えることも可能であり得る。
【００２９】
様々な実施形態において、メモリシステムは、例えば、メモリコントローラの一部として、柔軟なアドレスマッパ並びに柔軟なＥＣＣ／ＥＤＣ生成器及びチェッカを含み得る。柔軟なアドレスマッパは、トランザクションの標的の領域及びその領域について使用されるＥＤＣ／ＥＣＣスキームの種類に基づいてメモリアドレス（例えば、ＤＲＡＭメモリアドレス）を生成するように構成され得る。柔軟なＥＣＣ／ＥＤＣ生成器及びチェッカは、１つのみの方法／スキームに従って機能するのではなく、領域ごとに定められる複数の適切な方法に従って機能するように構成され得る。換言すれば、例えばハミングコード等の１つのＥＤＣ／ＥＣＣスキームに完全に依存するのではなく、より高い信頼性が要求されるか又は望まれる領域では、より高度なスキーム、例えばブロックＥＣＣ、階層ＥＣＣ（階層の低レベルでの検出及び高レベルでの訂正）、及び／又はアドレスＥＣＣと共にデータＥＣＣの組合せを使用するＥＤＣ／ＥＣＣを使用することができる。
【００３０】
様々な実施形態において、これらの方法／スキーム及び様々な領域へのその割当は、メモリシステム（又はメモリコントローラそれぞれ）の製造業者によって構成され得る。他の実施形態では、これらの方法／スキームは、ユーザによって構成され得る。
【００３１】
柔軟なアドレスマッパ並びに柔軟なＥＣＣ／ＥＤＣ生成器及びチェッカは、ＥＣＣ／ＥＤＣ部分がメモリ内の何れの箇所に記憶されるか（例えば、同じバンク又は異なるバンク内の固定された列又は固定された行）に関係なく機能し得る。
【００３２】
従って、ＥＣＣ／ＥＤＣに割り当てられる総メモリ部分は、総メモリの８分の１のままであるように一定でなくてもよい。代わりに、ＥＣＣ／ＥＤＣに割り当てられる総メモリ部分は、領域の数及び領域に割り当てられる信頼性の等級及び安全性のレベルに直接関係し得る。
【００３３】
所与の領域についてＥＣＣ／ＥＤＣ情報を記憶する必要がないか又は記憶するのが望ましくない場合、ＥＣＣ／ＥＤＣ情報を記憶するための空間は、その領域では確保されない。
【００３４】
様々な実施形態において、より効率的なデータ記憶スキームを可能にするメモリコントローラ及び対応するメモリシステムが提供され得る。例えば、データの少なくとも一部がＥＣＣ／ＥＤＣ情報を必要としない場合、より多くの空間を通常データの記憶のために利用することができる。
【００３５】
様々な実施形態において、データの一部がより高レベルの可用性及び／又は安全性を必要とする場合、総記憶空間のうちの平均を上回る部分を１つの領域又は幾つかの領域のＥＣＣ／ＥＤＣ情報に充てることができるのに対し、（より低レベルの可用性及び／又は安全性を必要とし得る）残りの領域内では、それぞれのＥＣＣ／ＥＤＣ情報に充てられる総記憶空間の部分が更に少ないか又は更にゼロであり得る。
【００３６】
図２は、メモリコントローラ２１２及びメモリ装置２０３を含み得る、様々な実施形態によるメモリシステム２００の概略図を示す。図２は、データ領域（領域０〜領域Ｎ）の柔軟な割当をシステムの観点から示す。メモリシステム２００は、例えば、第１のメモリ部分２０２Ｍ１及び第２のメモリ部分２０２Ｍ２を含むメモリ２０２Ｍを有するＤＲＡＭ装置２０３、又は異なる種類のランダムアクセスメモリ装置、例えば不揮発性ランダムアクセスメモリ装置を含み得る。
【００３７】
メモリシステム２００では、メモリ２０２Ｍ内で形成される／割り当てられる領域の数及び領域のそれぞれのサイズは、メモリサイズ割当回路２１０を使用してユーザによって構成可能であり得る。様々な実施形態において、メモリサイズ割当回路２１０は、メモリコントローラ２１２の一部であり得る。他の実施形態では、メモリサイズ割当回路２１０は、メモリコントローラ２１２と相互作用する個別の回路であり得る。
【００３８】
メモリサイズ割当回路２１０を使用して、ユーザは、例えば、Ｎを指定することによって領域（例えば、領域０〜領域Ｎ）の数を定めることができる。ユーザは、メモリサイズ割当回路２１０を使用し、領域のそれぞれに関する個々の信頼性の等級及び安全性のレベル（データ完全性スキーム、完全性スキーム又は略してスキームとも呼ばれる）を更に定めることができる。その場合、メモリコントローラ２１２、例えばメモリコントローラ２１２に組み込まれ得る、ＥＤＣ／ＥＣＣ方法セレクタ２１４とも呼ばれるＥＤＣ／ＥＣＣ方法選択回路２１４は、選択された完全性スキームに対応する適切なＥＤＣ／ＥＣＣ方法を、ＥＤＣ／ＥＣＣ生成器及びチェッカ２０８とも呼ばれる生成／検査回路２０８（以下で説明する）に提供するように構成され得る。様々な実施形態において、それぞれの信頼性の等級及び安全性のレベル（即ち完全性スキーム）を指定する代わりに又は指定することに加えて、ユーザがＥＤＣ／ＥＣＣ方法を直接指定することができ、それは、ＥＤＣ／ＥＣＣ生成器及びチェッカ２０８に直接又は間接的に提供され得る。
【００３９】
領域のそれぞれについて選択されるＥＤＣ／ＥＣＣ方法に応じて、即ち特定のエラー検出及び／又はエラー訂正機能が提供されるときには常に、データに関連し得るエラー検出データ又はエラー訂正データ１０２Ｅ（ＥＤＣ／ＥＣＣデータ１０２Ｅとも呼ばれる）の少なくとも１つをメモリ２０２Ｍに記憶する必要があり得る。メモリコントローラ２１２は、第１のメモリ部分２０２Ｍ１にデータ１０２Ｄを記憶するように、且つ第２のメモリ部分２０２Ｍ２に記憶されるエラー検出データ又はエラー訂正データ（ＥＤＣ／ＥＣＣデータ）１０２Ｅの少なくとも１つを記憶するように構成することができ、ＥＤＣ／ＥＣＣデータ１０２Ｅは、データ１０２Ｄに関連する。エラー検出及び／又はエラー訂正機能が提供されない場合、エラー検出及び／又はエラー訂正データ１０２Ｅを記憶する必要がない。その場合、メモリコントローラ２１２は、ＥＤＣ／ＥＣＣデータ１０２Ｅを記憶しないように構成することができる。メモリコントローラ２１２は、第２のメモリ部分２０２Ｍ２の外側にＥＤＣ／ＥＣＣデータ１０２Ｅを記憶しないように更に構成することができる。
【００４０】
メモリサイズ割当回路２１０は、第２のメモリ部分２０２Ｍ２のサイズを柔軟に割り当てるように構成することができる。第２のメモリ部分２０２Ｍ２に割り当てられるサイズは、データ完全性スキーム、従って対応するＥＤＣ／ＥＣＣ方法に依存し得る。割り当てられるサイズは、ＥＤＣ／ＥＣＣデータ１０２Ｅを記憶するのに十分大きいものであり得る。
【００４１】
定められる領域のそれぞれは、柔軟なアドレスマッパ２０６とも呼ばれるメモリアドレス決定回路２０６によってメモリ２０２Ｍにマップされ得る。メモリアドレス決定回路２０６は、第１のメモリ部分２０２Ｍ１に記憶されるデータのデータ部分１０２Ｄに第１のメモリアドレスを割り当て、且つ第２のメモリ部分２０２Ｍ２に記憶される少なくとも１つのエラー検出データ又はエラー訂正データ１０２Ｅの少なくとも１つのエラー検出データ部分又はエラー訂正データ部分に第２のメモリアドレスを割り当てるように構成され得る。
【００４２】
図２に示す例示的実施形態では、メモリ２０２Ｍが行、列及びバンクによってアドレス指定され得る。換言すれば、メモリアドレス決定回路２０６によって割当可能な複数のアドレスは、立方体の第１の次元を形成する列、立方体の第２の次元を形成する行、及び立方体の第３の次元を形成するバンクによって定められる立方体状のアドレス空間を形成し得る。この例では、領域０〜Ｎ（この例では、Ｎは、７であり得る）のそれぞれがメモリ２０２Ｍのバンクの１つにマップされ得る。
【００４３】
第１のメモリアドレス及び第２のメモリアドレスは、例えば、（図２に示す２つの代替的メモリ構成のうちの上の構成に示すように）第１のメモリ部分２０２Ｍ１及び第２のメモリ部分２０２Ｍ２が全てのバンク内で異なる行を占有するような方法で編成され得る。あるいは、図２の下の構成に示すように、第１のメモリ部分２０２Ｍ１及び第２のメモリ部分２０２Ｍ２が全てのバンク内で異なる列を占有する。更に別の代替形態は、例えば所与の領域を１つのみのバンクではなく複数のバンクにマップすること等、より複雑なマッピングスキームを使用することができる。
【００４４】
様々な実施形態において、メモリアドレス決定回路２０６への入力は、様々なアドレスマッピングセットＡＭＳを切り替えるように構成され得る、メインセレクタ２０４とも呼ばれる第１の選択回路２０４によって提供され得る。切り替えは、次のトランザクションのシステムアドレス（ＳｙｓＡｄｄｒ）が位置する指定領域の領域に基づいて行われ得る。換言すれば、切り替え及び使用されるアドレスマッピングセットは、メモリサイズ割当回路２１０によって提供される被選択領域に依存し得る。従って、様々な実施形態において、既定の領域の１つに位置するシステムアドレスをその関連するデータ完全性スキームと共に指定することにより、ＥＤＣ／ＥＣＣデータ１０２Ｅを記憶するのに必要な第２のメモリ部分２０２Ｍ２の対応する部分のサイズが定められ得る。それにより、データ１０２Ｄを記憶するために使用可能な第１のメモリ部分２０２Ｍ１の対応する部分のサイズも、指定の領域に使用可能な全メモリ部分のサイズと第２のメモリ部分２０２Ｍ２のサイズとの差として定められ得る。換言すれば、領域のサイズは、既定値を有することができ、第２のメモリ部分２０２Ｍ２のサイズを定めることによって第１のメモリ部分２０２Ｍ１のサイズも定めることができる。様々な実施形態において、第１のメモリ部分２０２Ｍ１のサイズと第２のメモリ部分２０２Ｍ２のサイズとの和は、領域に関して既定の定数値であり得、例えば全ての領域が同じ合計サイズを有するように定めることができる。
【００４５】
アドレスマッピングセットＡＭＳは、各領域に個別に充てることができ、又は同じ信頼性の等級及び安全性のレベルを有する複数の領域が同じアドレスマッピングセットを使用してマップされ得る。第１の選択回路２０４によって提供されるアドレスマッピングセットＡＭＳを使用して、メモリアドレス決定回路２０６は、例えば行、列及びバンクに関してメモリアドレスを提供するように構成され得る。換言すれば、柔軟なアドレスマッパ２０６は、選択されたアドレスマッピングセットＡＭＳに作用して、トランザクションのシステムアドレスをデータ１０２Ｄ及びＥＤＣ／ＥＣＣデータ１０２Ｅに適した行、列及びバンクアドレスに変換することができる。
【００４６】
図２に示す例では、メモリサイズ割当回路２１０を使用して、当技術分野で知られている複数のＡｕｔｏｍｏｔｉｖｅ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌの１つとして領域のそれぞれに関する個々の信頼性の等級及び安全性のレベルが提供され得る。このＡＳＩＬは、最高度の自動車の危険及び保証内において結果として生じる安全要求内で適用される最高度の厳格さを表すＡＳＩＬ  Ｄから、自動車の危険がない応用を表すＱＭに及ぶ。介在するレベルＡＳＩＬ  Ｃ〜ＡＳＩＬ  Ａは、単純に中間の危険度及び要求される中間の保証度の範囲である。
【００４７】
図２に示すように、領域０及び領域Ｎのそれぞれについてデータ完全性に関する最高要件を表し得るＡＳＩＬ−Ｄレベルが指定され、そのため、領域０及び領域Ｎのデータ１０２Ｄに関してＥＣＣスキーム及びＥＤＣスキームの両方が使用され得る。次のトランザクション、即ちデータ記憶要求に領域０又は領域Ｎを選択した結果、メモリアドレス決定回路２０６によって使用されるアドレスマッピングセットＡＭＳは、ＥＤＣ／ＥＣＣデータ１０２Ｅを記憶するのに必要なメモリ空間の（相対的に）大きい割当を指定するアドレスマッピングセットＡＭＳに第１の選択回路によって切り替えられ得る。柔軟なアドレスマッパ２０６は、ＥＤＣ／ＥＣＣデータ１０２Ｅのアドレスが第２のメモリ領域２０２Ｍ２＿０又は２０２Ｍ２＿７（の一部）にそれぞれ対応する方法でシステムアドレスをメモリアドレスに変換するためにＡＭＳを使用するように構成され得る。更に、柔軟なアドレスマッパ２０６は、（ＥＤＣ／ＥＣＣデータ１０２Ｅが対応する）データ１０２Ｄのアドレスが第１のメモリ領域２０２Ｍ１＿０又は２０２Ｍ１＿７（の一部）にそれぞれ対応し得る方法でシステムアドレスをメモリアドレスに変換するためにＡＭＳを使用するように構成され得る。
【００４８】
同様に図２に示すように、領域１では、ＡＳＩＬ−Ｄよりもデータ完全性に対する緩やかな要件を表し得るＡＳＩＬ−Ｂレベルが指定され、そのため、領域１のデータ１０２ＤではＥＤＣスキームのみを使用すれば十分であり得る。次のトランザクション、即ちデータ記憶要求に領域１を選択した結果、メモリアドレス決定回路２０６によって使用されるアドレスマッピングセットＡＭＳは、ＥＤＣデータ１０２Ｅを記憶するのに必要なメモリ空間の中程度に大きい割当のみを指定するアドレスマッピングセットＡＭＳに第１の選択回路によって切り替えられ得る。柔軟なアドレスマッパ２０６は、ＥＤＣデータ１０２Ｅのアドレスが第２のメモリ領域２０２Ｍ２＿１（図２では見読性の理由からラベル付けしていない）（の一部）に対応する方法でシステムアドレスをメモリアドレスに変換するためにＡＭＳを使用するように構成され得る。更に、柔軟なアドレスマッパ２０６は、（ＥＤＣデータ１０２Ｅが対応する）データ１０２Ｄのアドレスが第１のメモリ領域２０２Ｍ１＿１（図２では見読性の理由からラベル付けしていない）（の一部）にそれぞれ対応し得る方法でシステムアドレスをメモリアドレスに変換するためにＡＭＳを使用するように構成され得る。
【００４９】
図２に示すように、領域２では、データ完全性に対する制約を一切加えない場合があり、即ちデータの信頼性が不可欠ではないＱＭ（品質管理）レベルが指定されている。従って、ＥＤＣ／ＥＣＣデータ１０２Ｅを記憶しなくてもよい。この形態によれば、ＥＤＣ／ＥＣＣデータ１０２Ｅにメモリ空間を割り当てる必要がないことをアドレスマッピングセットＡＭＳが指定し得る。その結果、柔軟なアドレスマッパ２０６は、第１のメモリ領域２０２Ｍ１＿２（の一部）の全体がデータ１０２Ｄを記憶するために利用可能である方法でシステムアドレスをメモリアドレスに変換するためにＡＭＳを使用するように構成され得る。
【００５０】
様々な実施形態において、上記のようにメモリコントローラ２１２は、選択された完全性スキームに対応する適切なＥＤＣ／ＥＣＣ方法を提供するように構成され得るＥＤＣ／ＥＣＣ方法セレクタ２１４、及び適切なＥＤＣ／ＥＣＣ方法の提供先であり得るＥＤＣ／ＥＣＣ生成器及びチェッカ２０８を含み得る。
【００５１】
ＥＤＣ／ＥＣＣ生成器及びチェッカ２０８は、データ１０２Ｄ及びＥＤＣ／ＥＣＣ方法を受信し、該当する場合、選択された信頼性の等級及び安全性のレベルに従って対応するＥＤＣ／ＥＣＣデータ１０２Ｅを生成するように構成され得る。ＥＤＣ／ＥＣＣ生成器及びチェッカ２０８は、例えば、図２の領域２について示すように選択された信頼性の等級及び安全性のレベルがＥＤＣ／ＥＣＣデータ１０２Ｅを提供しないように定められる場合、かかるＥＤＣ／ＥＣＣデータ１０２Ｅを生成しないように更に構成され得る。
【００５２】
ＥＤＣ／ＥＣＣデータ１０２を生成するための計算方法、即ちＥＤＣ／ＥＣＣ方法は、６４：８（データ：検査ビット）のハミングコードに限定されなくてもよく、例えばブロックＥＣＣ、階層ＥＣＣ及び／又は当技術分野で知られている他のコード等のより高度なスキームを適用することができる。
【００５３】
様々な実施形態において、メモリ２０２Ｍ、例えばＤＲＡＭにデータを書き込むために、メモリ（例えば、ＤＲＡＭ）サブシステム内の柔軟なＥＤＣ／ＥＣＣ生成器２０８は、（ＥＤＣ／ＥＣＣ方法セレクタ２１４によって選択／提供される）適切な方法を使用して、関連するＥＤＣ／ＥＣＣ  １０２Ｅを生成することができる。
【００５４】
様々な実施形態において、メモリ、例えばＤＲＡＭからデータを読み出すために、メモリ（例えば、ＤＲＡＭ）サブシステム内の柔軟なＥＤＣ／ＥＣＣチェッカ２０８は、メモリ２０２Ｍ（例えば、ＤＲＡＭ）から受信されるＥＤＣ／ＥＣＣデータを、その領域に関する適切な方法に従って計算される基準と比較する。
【００５５】
図３は、データ１０２Ｄに関する様々な信頼性及び安全性の要件（例えば、様々な安全性の等級）がＥＣＣ／ＥＤＣのサイズをどのように変える可能性があり、それにより使用可能なメモリ空間を効率的に使用するためのその領域のための適切な方法を選択するためにＥＣＣ／ＥＤＣ生成器及びチェッカ２０８の柔軟性が要求され得る例を示す。
【００５６】
図３に示す例ａ）、ｂ）及びｃ）の全てにおいて、エラー検出／訂正を２５６ビットのデータ１０２Ｄに対して実行する。
【００５７】
ビットエラー率がかなり低い場合、低レベルのデータ完全性スキーム、例えば１ビットのエラー訂正及び２ビットのエラー検出を可能にするＥＣＣ／ＥＤＣ（１ビットＥＣＣ／２ビットＥＤＣ又は上記のようにＳＥＣＤＥＤとも呼ばれる）を適用することができる。メモリ障害率が低ければ、かかる低レベルのデータ完全性スキームで十分であり得る。２５６ビットのデータ１０２ＤのためのＳＥＣＤＥＤは、単一エラー訂正（ＳＥＣ）のために９ビットのＥＣＣ／ＥＤＣデータ１０２Ｅを、二重エラー検出（ＤＥＤ）のために別の１ビットを必要とし得る。その結果生じるマルチビットエラー検出のカバレッジ（換言すれば、マルチビットエラーを検出する確率）は、次式のように計算することができる。
ＳＥＣＤＥＤ：２５６＋９＋１−＞ＰＤＭＢ＝１−（１＋２６６）／２１０、約７４．９％
【００５８】
高可用性（より低いＡＳＩＬの等級）を得るために、いわゆるＤＥＣＴＥＤデータ完全性スキームを使用することができる。
【００５９】
ＤＥＣＴＥＤは、２５６ビットに対する２ビットエラー訂正（「二重エラー訂正」、ＤＥＣ）を含むことができ、それには、ＳＥＣと比較して追加の９ビットのＥＣＣ／ＥＤＣデータ１０２Ｅが必要になり得る。
【００６０】
（三重エラー検出ＴＥＤなしの）２５６ビットに対するオーバヘッドは、１８／２５６、約７％である。換言すれば、ＤＥＣが２５６ビットのデータ１０２Ｄを保護するには、ＥＣＣ／ＥＤＣデータ１０２Ｅに充てられるメモリ領域のサイズは、データ１０２Ｄのサイズの約７％である必要がある。
【００６１】
「９９％を上回るマルチビットエラー検出のカバレッジ」なしの「三重ビットエラー検出」（ＴＥＤ）は、１個の追加ビットを必要とする。この事例を図３のパネルａ）に示す。ここでの関心は、可用性、即ち殆どのエラーを訂正することによって関係するシステムを実行し続けることであり得る。
【００６２】
その結果、オーバヘッド（ＤＥＣ＋ＴＥＤ）は、１９／２５６、約７．４％である。
【００６３】
その結果生じるマルチビットエラー検出のカバレッジＰＤＭＢは、
ＰＤＭＢ＝１−（１＋２７５＋２７５＊２７４／２）／２１９、約９２．７％
である。
【００６４】
ＡＳＩＬ−Ｄ領域は、最高安全等級により、高いマルチビットエラー検出のカバレッジを必要とする（ＰＤＭＢ＞９９％）。
【００６５】
これを実現するために、別の追加の３個の検査ビットを加えることで次式が得られる。
ＰＤＭＢ＝１−（１＋２７８＋２７８＊２７７／２）／２２２、約９９．０７＞９９％
【００６６】
このＡＳＩＬ−Ｄの事例を図３のパネルｂ）に示す。ここでの関心は、可用性及び安全性、即ち殆どのエラーを訂正することによって関係するシステムを実行し続けること及びまた殆どのエラーを検出することの両方であり得る。
【００６７】
ＳＥＣＤＥＤからＡＳＩＬ−Ｄレベルに到達するために、５個の追加ビットを加える必要があり得る。この事例を図３のパネルｃ）に示す。ここでの関心は、安全性、即ちたとえシステムが実行状態に保たれない場合があり、オフにされるか又は別の安全モードに移行しなければならない可能性があってもエラーを検出することであり得る。その結果生じるマルチビットエラー検出のカバレッジは、次式の通りである。
ＰＤＭＢ＝１−（１＋２７１）／２１５、約９９．２＞９９％
【００６８】
メモリを領域にマップする概念を使用することにより、ＥＣＣ／ＥＤＣデータ１０２Ｅが実際に生成されるかどうかに関係なく、ＥＣＣ／ＥＤＣデータ１０２Ｅにメモリ空間が割り当てられる従来技術とは対照的に、ＥＣＣ／ＥＤＣデータ１０２Ｅに充てられるメモリ空間の量を、実際に必要とされる／使用される量に調節することができる。
【００６９】
更に、異なる領域内で異なる安全性のレベル及び信頼性の等級を実現することができ、そのため、メモリ２００Ｍに書き込まれるデータ１０２Ｄの部分ごとに、提供される領域の中から適切な領域を選択することができる。
【００７０】
ＡＳＩＬ−Ｄ等級と共に高可用性の要件を有する領域では、データ１０２Ｄ対ＥＣＣ／ＥＤＣ  １０２Ｅの比率は、２５６：２２であり得る（図３のパネルｂ）に関する上記の説明を参照されたい）。
【００７１】
より低いＡＳＩＬ等級（例えば、ＡＳＩＬ−Ｂ）と共に高可用性の要件を有する領域では、データ１０２Ｄ対ＥＣＣ／ＥＤＣ  １０２Ｅの比率は、２５６：１９であり得る（図３のパネルａ）に関する上記の説明を参照されたい）。
【００７２】
ＡＳＩＬ−Ｄ等級を伴う、高可用性の要件がない領域では、データ１０２Ｄ対ＥＣＣ／ＥＤＣ  １０２Ｅの比率は、２５６：１５であり得る（図３のパネルｃ）に関する上記の説明を参照されたい）。
【００７３】
より低いＡＳＩＬ等級（例えば、ＡＳＩＬ−Ｂ）を伴う、高可用性の要件がない領域では、データ１０２Ｄ対ＥＣＣ／ＥＤＣ  １０２Ｅの比率は、２５６：１０であり得る。
【００７４】
可用性の要件がないか又はいかなるＡＳＩＬレベルもなく、ＥＣＣ又はＥＤＣを一切使用することが要求されない可能性がある領域（品質管理データを記憶することに充てられる領域等）では、ＥＣＣ／ＥＤＣ  １０２Ｅデータを記憶しなくてもよいため、データ１０２Ｄ対ＥＣＣ／ＥＤＣ  １０２Ｅの比率を２５６：０とすることができ、ＥＣＣ／ＥＤＣデータ１０２Ｅにメモリ空間が提供されない。
【００７５】
様々な実施形態において、柔軟なアドレスマッパ２０６は、メモリ（例えば、ＤＲＡＭ）装置２００の使用可能な容量を効率的に利用するために、領域の様々な要件に基づいて及び別個のアドレスマッピングセットを使用して適切なメモリ（例えば、ＤＲＡＭ）アドレスを生成するように構成され得る。
【００７６】
図４は、様々な実施形態による、メモリ装置を使用する方法の流れ図４００を示す。
【００７７】
メモリ装置は、第１のメモリ部分及び第２のメモリ部分を有する少なくとも１つのメモリを含み得る。この方法は、（４１０で）第１のメモリ部分にデータを記憶するステップと、（４２０で）第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するステップであって、エラー検出データ又はエラー訂正データの少なくとも１つは、データに関連する、ステップと、（４３０で）第２のメモリ部分のサイズを柔軟に割り当てるステップとを含み得る。
【００７８】
様々な例を以下に示す。
【００７９】
例１は、メモリコントローラである。メモリコントローラは、メモリの第１のメモリ部分にデータを記憶し、且つメモリの第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するように構成され得、エラー検出データ又はエラー訂正データの少なくとも１つは、データに関連し、メモリコントローラは、第２のメモリ部分のサイズを柔軟に割り当てるように構成されるメモリサイズ割当回路を含むことができる。
【００８０】
例２では、例１の対象は、第１のメモリ部分に記憶されるデータのデータ部分に第１のメモリアドレスを割り当て、且つ第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つのエラー検出データ部分又はエラー訂正データ部分の少なくとも１つに第２のメモリアドレスを割り当てるように構成されるメモリアドレス決定回路を任意選択的に含み得る。
【００８１】
例３では、例１又は例２の何れか１つの対象は、メモリコントローラが、エラー検出データ又はエラー訂正データの少なくとも１つを第２のメモリ部分の外側に記憶しないように更に構成されることを任意選択的に含み得る。
【００８２】
例４では、例１〜例３の何れか１つの対象は、メモリサイズ割当回路が、第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つに基づいて第２のメモリ部分のサイズを柔軟に割り当てるように更に構成されることを任意選択的に含み得る。
【００８３】
例５では、例１〜例４の何れか１つの対象は、メモリサイズ割当回路が、可用性又は安全性の少なくとも１つの既定の程度に基づいて第２のメモリ部分のサイズを柔軟に割り当てるように更に構成されることを任意選択的に含み得る。
【００８４】
例６では、例４又は例５の対象は、メモリサイズ割当回路が、第２のメモリ部分のサイズに基づいて第１のメモリ部分のサイズを柔軟に割り当てるように更に構成されることを任意選択的に含み得る。
【００８５】
例７では、例６の対象は、メモリサイズ割当回路が、第１のメモリ部分のサイズと第２のメモリ部分のサイズとの和が既定の定数値であるように、第１のメモリ部分のサイズを柔軟に割り当てるように更に構成されることを任意選択的に含み得る。
【００８６】
例８では、例１〜例７の何れか１つの対象は、メモリがランダムアクセスメモリを含むことを任意選択的に含み得る。
【００８７】
例９では、例８の対象は、ランダムアクセスメモリがダイナミックランダムアクセスメモリを含むことを任意選択的に含み得る。
【００８８】
例１０では、例８又は例９の対象は、ランダムアクセスメモリが不揮発性ランダムアクセスメモリを含むことを任意選択的に含み得る。
【００８９】
例１１では、例１〜例１０の何れか１つの対象は、メモリアドレス決定回路によって割当可能な複数のアドレスが、立方体の第１の次元を形成する列、立方体の第２の次元を形成する行、及び立方体の第３の次元を形成するバンクによって定められる立方体状のアドレス空間を形成することを任意選択的に含み得る。
【００９０】
例１２では、例１１の対象は、第２のメモリ部分に割当可能なアドレスが少なくとも１つの既定の行値又は少なくとも１つの既定の列値を含むことを任意選択的に含み得る。
【００９１】
例１３では、例１２の対象は、第１のメモリ部分に割当可能なアドレスが、既定の行値の場合には少なくとも１つの既定の行値と異なる行値を含むこと、又は既定の列値の場合には少なくとも１つの既定の列値と異なる列値を含むことを任意選択的に含み得る。
【００９２】
例１４は、例１〜例１３の何れか１つのメモリコントローラと、メモリを含むメモリ装置とを含むメモリシステムである。
【００９３】
例１５は、第１のメモリ部分及び第２のメモリ部分を有する少なくとも１つのメモリを含むメモリ装置を使用する方法である。この方法は、第１のメモリ部分にデータを記憶するステップと、第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つを記憶するステップであって、エラー検出データ又はエラー訂正データの少なくとも１つは、データに関連する、ステップと、第２のメモリ部分のサイズを柔軟に割り当てるステップとを含み得る。
【００９４】
例１６では、例１５の対象は、第１のメモリ部分に記憶されるデータのデータ部分に第１のメモリアドレスを割り当て、且つ第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つのエラー検出データ部分又はエラー訂正データ部分の少なくとも１つに第２のメモリアドレスを割り当てるステップを任意選択的に更に含み得る。
【００９５】
例１７では、例１５又は例１６の対象は、第２のメモリ部分のサイズを柔軟に割り当てるステップが、第２のメモリ部分にエラー検出データ又はエラー訂正データが記憶されないように、第２のメモリ部分にゼロのサイズを割り当てるステップを含むことを任意選択的に含み得る。
【００９６】
例１８では、例１５〜例１７の何れか１つの対象は、第２のメモリ部分のサイズを柔軟に割り当てるステップが、第２のメモリ部分に記憶されるエラー検出データ又はエラー訂正データの少なくとも１つに基づいて第２のメモリ部分のサイズを柔軟に割り当てるステップを含むことを任意選択的に含み得る。
【００９７】
例１９では、例１５〜例１８の何れか１つの対象は、第２のメモリ部分のサイズを柔軟に割り当てるステップが、可用性又は安全性の少なくとも１つの既定の程度に基づいて第２のメモリ部分のサイズを柔軟に割り当てるステップを含むことを任意選択的に含み得る。
【００９８】
例２０では、例１５〜例１９の何れか１つの対象は、第２のメモリ部分のサイズに基づいて第１のメモリ部分のサイズを柔軟に割り当てるステップを任意選択的に更に含み得る。
【００９９】
例２１では、例１５〜例２０の何れか１つの対象は、第１のメモリ部分のサイズを柔軟に割り当てるステップが、第１のメモリ部分のサイズと第２のメモリ部分のサイズとの和が既定の定数値であるように、第１のメモリ部分のサイズを柔軟に割り当てるステップを含むことを任意選択的に含み得る。
【０１００】
例２２では、例１５〜例２１の何れか１つの対象は、メモリがランダムアクセスメモリを含むことを任意選択的に含み得る。
【０１０１】
例２３では、例２２の対象は、ランダムアクセスメモリがダイナミックランダムアクセスメモリを含むことを任意選択的に含み得る。
【０１０２】
例２４では、例２２又は例２３の何れか１つの対象は、ランダムアクセスメモリが不揮発性ランダムアクセスメモリを含むことを任意選択的に含み得る。
【０１０３】
例２５では、例１５〜例２４の何れか１つの対象は、メモリアドレス決定回路によって割当可能な複数のアドレスが、立方体の第１の次元を形成する列、立方体の第２の次元を形成する行、及び立方体の第３の次元を形成するバンクによって定められる立方体状のアドレス空間を形成することを任意選択的に含み得る。
【０１０４】
例２６では、例１５〜例２５の対象は、第２のメモリ部分に割当可能なアドレスが少なくとも１つの既定の行値又は少なくとも１つの既定の列値を含むことを任意選択的に含み得る。
【０１０５】
例２７では、例１５〜例２６の何れか１つの対象は、第１のメモリ部分に割当可能なアドレスが、既定の行値の場合には少なくとも１つの既定の行値と異なる行値を含むこと、又は既定の列値の場合には少なくとも１つの既定の列値と異なる列値を含むことを任意選択的に含み得る。
【０１０６】
本発明を特定の実施形態に関して具体的に示し且つ説明してきたが、添付の特許請求の範囲によって定める本発明の趣旨及び範囲から逸脱することなく、形式及び詳細における様々な変更形態がなされ得ることを当業者は理解すべきである。従って、本発明の範囲は、添付の特許請求の範囲によって示され、従って添付の特許請求の範囲の均等物の意味及び範囲に含まれる全ての変更形態が包含されることを意図する。
【符号の説明】
【０１０７】
１００  メモリシステム
１００Ａ  アドレスマッパ
１００Ｃ  メモリコントローラ
１００Ｓ  セレクタ
１００Ｍ  メモリ
１００Ｍ１  部分
１００Ｍ２  第２の部分
１０２  データ
１０２Ａ  システムアドレス
１０２ＡＤ１  開始アドレス
１０２ＡＤ２  アドレス
１０２ＡＥ  終了アドレス
１０２Ｄ  データ
１０２Ｅ  ＥＤＣ／ＥＣＣデータ
１０３  メモリ装置
２００  メモリシステム
２０２Ｍ  メモリ
２０２Ｍ１  第１のメモリ部分
２０２Ｍ２  第２のメモリ部分
２０３  メモリ装置
２０４  第１の選択回路
２０６  メモリアドレス決定回路
２０８  ＥＤＣ／ＥＣＣ生成器及びチェッカ
２１０  メモリサイズ割当回路
２１２  メモリコントローラ
２１４  ＥＤＣ／ＥＣＣ方法選択回路
【図１】
2019139764.tif 000003
【図２】
2019139764.tif 000004
【図３】
2019139764.tif 000005
【図４】
2019139764.tif 000006
【外国語明細書】
2019139764000001.pdf
2019139764000002.pdf
2019139764000003.pdf
2019139764000004.pdf