(57)【要約】【課題】  エラー訂正のためにデータを分割する。【解決手段】  本発明にかかるメモリシステムの複数のメモリデバイスへの書込み方法は、メモリシステムに格納されるコードワードを受け取り、複数のメモリデバイスの幅に対応するビット幅のニブルに分割する。データのブロックの複数の連続したニブルを複数のメモリデバイスに格納し、分割されたコードワードを複数のメモリデバイスに格納する。また、本発明にかかるメモリデバイスからの読出し方法は、複数のメモリデバイスからデータのチャンクを読み出し、複数のチャンクからのニブルを結合することにより、コードワードを生成する。複数のメモリデバイスのそれぞれからのニブルは、コードワードにおいて隣接している。【選択図】図２
2005202957.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステム（２００）の複数のメモリデバイス（２０２）に書込みを行う方法であって、
前記メモリシステム（２００）に格納するコードワードを受け取ることと、
前記コードワードを、前記複数のメモリデバイス（２０２）の幅に対応する複数のニブルに分割すること（１０８）と、
データのブロックの複数の連続したニブルを前記複数のメモリデバイス（２０２）の各々に格納することにより、前記コードワードを前記複数のメモリデバイス（２０２）に格納すること（１１２）と
を含む方法。
【請求項２】
データブロックを受け取ること（１０２）、
前記データブロックに対応するエラー検出・訂正ビットを生成すること（１０４）と、
前記エラー検出・訂正ビットと前記データブロックとを結合すること（１０６）であって、それにより前記コードワードを形成することと
をさらに含む請求項１に記載の方法。
【請求項３】
前記メモリシステム（２００）は、
それぞれが幅Ｗを有するＫ個のメモリデバイス（２０２）を備え、前記コードワードは、（Ｋ×Ｗ）の倍数である幅ＣＷ
を有し、
前記コードワードを、０からＮ−１まで連続して番号が付された、それぞれＷビットのＮ＝（ＣＷ／Ｗ）ニブルに分割すること（１０８）と、
前記コードワードをＭ個のチャンクに分割すること（１１０）であって、Ｍ＝（ＣＷ／（Ｋ×Ｗ））であり、
各チャンクは、
Ｃ＝０，１，…Ｍ−１の場合
チャンク［Ｃ］＝｛ニブル［Ｃ＋（Ｋ−１）×Ｍ］、ニブル［Ｃ＋（Ｋ−２）×Ｍ］、…
…、ニブル［Ｃ＋（１）×Ｍ］、ニブル［Ｃ＋（０）×Ｍ］｝
として定義されるＫ個のニブル
を含むことと、
各チャンクを前記メモリデバイス（２０２）の対応するアドレスラインに書き込むこと（１１２）と
を含む請求項１に記載の方法。
【請求項４】
前記メモリシステム（２００）は、
それぞれが４ビットの幅を有する３６個のメモリデバイス（２０２）
を備え、
前記コードワードは、
２８８ビット
を備え、
前記コードワードをそれぞれ４ビットの７２個の連続して番号が付されたニブルに分割すること（１０８）と、
奇数のニブルを含む第１のチャンクを形成すること（１１０）と、
偶数のニブルを含む第２のチャンクを形成すること（１１０）と、
前記複数のメモリデバイス（２０２）のそれぞれのアドレスラインに前記第１および第２のチャンクを格納すること（１１２）であって、それにより前記コードワードからの隣接するニブルの各対が前記複数のメモリデバイス（２０２）の異なるものに格納されることと
を含む請求項１に記載の方法。
【請求項５】
メモリシステム（２００）の複数のメモリデバイス（２０２）から読出しを行う方法であって、
ａ．前記複数のメモリデバイス（２０２）からデータの複数のチャンクを読み出すこと（４０２）であって、各チャンクは、前記複数のメモリデバイス（２０２）のそれぞれからの、前記対応するメモリデバイス（２０２）の幅に対応する幅を有するニブルを備えることと、
ｂ．前記複数のチャンクからの前記ニブルを結合すること（４０４）であって、それによりコードワードを生成し、前記複数のメモリデバイス（２０２）のそれぞれからの前記ニブルは前記コードワードにおいて隣接していることと
を含む方法。
【請求項６】
前記コードワードは、
データビット
を備え、
前記コードワードから前記データビットと前記エラー検出・訂正ビットとを抽出すること（４０８）
を含む請求項５に記載の方法。
【請求項７】
前記メモリシステム（２００）は、
それぞれが幅Ｗを有するＫ個のメモリデバイス（２０２）
を備え、
前記コードワードは、
（Ｋ×Ｗ）の倍数である幅ＣＷ
を有し、
前記Ｋ個のメモリデバイス（２０２）からＭ＝ＣＷ／（Ｋ×Ｗ）個のチャンクを読み出すこと（４０２）であって、各チャンクは、前記メモリデバイス（２０２）のそれぞれからの幅Ｗを有する１つのニブルを備えることと、
前記ニブルを、コードワードを形成するように配置すること（４０４）であって、各メモリデバイス（２０２）からの前記ニブルは、
コードワード＝［ニブル（Ｍ−１，Ｋ−１），ニブル（Ｍ−２，Ｋ−１），…，ニブル（０，Ｋ−１），
ニブル（Ｍ−１，Ｋ−２），ニブル（Ｍ−２，Ｋ−２），…，ニブル（０，Ｋ−２），…
ニブル（Ｍ−１，０），ニブル（Ｍ−２，０），…，ニブル（０，０）］
のように隣接し、ここで各ニブルをニブル（ｘ，ｙ）として示し、ｘはそのチャンク識別子でありｙはチャンク内の連続した位置であること
を含む請求項５に記載の方法。
【請求項８】
前記メモリシステム（２００）は、
それぞれが４ビットの幅を有する３６個のメモリデバイス（２０２）
を備え、
前記コードワードは、
それぞれが１４４ビットの２つのチャンク
を備え、
前記メモリデバイス（２０２）から３６個の４ビットの第１のニブルを有する第１のチャンクを読み出すこと（４０２）であって、各ニブルは前記メモリデバイス（２０２）のうちの１つからであることと、
前記メモリデバイス（２０２）から３６個の４ビットの第２のニブルを有する第２のチャンクを読み出すこと（４０２）であって、各ニブルが前記メモリデバイス（２０２）のうちの１つからであることと、
前記第１および第２のチャンクを結合すること（４０４）であって、それにより各メモリデバイス（２０２）からの、互いに隣接する前記第１および第２のニブルを有するコードワードを生成することと
を含む請求項５に記載の方法。
【請求項９】
メモリシステム（２００）であって、
ａ．ＭＤビットの幅を有する複数のメモリデバイス（２０２）と、
ｂ．前記メモリデバイス（２０２）のアドレスラインからＭＤビットのチャンクを読み出し（４０２）、かつ前記アドレスラインにＭＤビットのチャンクを書き込む（１１２）データバッファ（２０４）と、
ｃ．ＣＷビットのコードワードを受け取り、前記コードワードを、それぞれが、前記複数のメモリデバイスのうちの少なくとも１つの幅に対応する幅を有する複数の連続したニブルを含む複数のチャンクに分離し、前記ニブルをＭ個の隣接するニブルのグループ（ＭはＣＷをＭＤで割った値に等しい値）に分割し（１０８）、ビットのＭ個のチャンクを生成し（１１０）、各チャンクがＭ個のニブルの各グループから１つのみのニブルを有し、そこでは各グループのニブルがそれらのそれぞれのチャンクにおいて同じ相対位置にある、データセパレータ（２０８）と、
ｄ．前記Ｍ個のチャンクを前記メモリデバイス（２０２）のうちの少なくとも１つに対応する幅を有する複数のニブルに分離し、それぞれのチャンクにおいて同じ相対位置を有するＭ個のニブルを、前記コードワードにおいて互いに隣接するように配置することによって、前記データバッファ（２０４）から受け取ったＭ個のチャンクからコードワードを生成する（４０４）データコンバイナ（２０６）と
を具備するメモリシステム。
【請求項１０】
メモリシステム（２００）であって、
前記コードワードは、
データビットと、
エラー検出・訂正ビットと
を備え、
前記データコンバイナからコードワードを受け取り、コードワードにおけるエラーを検出し訂正し（４０６）、前記コードワードからデータを抽出する（４０６）エラー検出・訂正コンポーネント（２１０）
を具備する請求項９に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラー訂正、特にエラー訂正のためにデータを分割することに関する。
【背景技術】
【０００２】
電子システムにおいて、送信エラーまたは記憶エラー等のデータエラーを検出しかつ／または訂正するために、一般に誤り符号が使用される。
誤り符号の１つの一般的な使用法は、コンピュータシステムのメモリに格納されたデータに対しエラーを検出し訂正するというものである。
たとえば、データを１つまたは複数のメモリデバイスに格納する前に、誤り訂正ビットまたは検査ビットをデータに対して生成することができる。
この誤り訂正ビットをデータに付加することにより、メモリに格納されるデータ構造を提供する。
このデータを１つまたは複数のメモリデバイスから読み出す時、検査ビットを使用してデータ内のエラーを検出しまたは訂正することができる。
エラーは、たとえば、コンピュータシステムにおける不良コンポーネントまたはノイズによってもたらされる可能性がある。
不良コンポーネントには、不良ピン等、不良メモリデバイスまたはコンピュータシステム内のデバイス間の不良データ経路があり得る。
【０００３】
これらのエラーに関連する労力を軽減するエラー管理技法が開発された。
パーソナルコンピュータで使用される１つの簡単な技法は、パリティチェックとして知られている。
パリティチェックは、１つのデータに関連する単一ビットを利用して、データにシングルビットエラーがあるか否かを判断する。
パリティチェックでは、多ビットエラーを検出することはできず、エラーを訂正する手段は提供されない。
サーバ等のより高精度なシステムでは、いくつかのエラーを検出して訂正するために誤り訂正符号（ＥＣＣ）を使用する。
誤り訂正符号（ＥＣＣ）は、１つのデータに関連するビット群または符号から構成される。
一般的なＥＣＣシステムは、６４ビットのデータに対し８つのＥＣＣビット（検査ビット、訂正ビット）を使用する場合がある。
ＥＣＣビットは、シングルビットエラーを検出し訂正するためかまたはダブルビットエラーを検出するために、十分な情報をＥＣＣアルゴリズムに提供する。
【０００４】
サーバが採用する１つのエラー訂正機能を、当業界ではチップキルと呼ぶ。
チップキルという用語は、メモリにおける多ビットエラーを訂正することができることを指し、この場合、多ビットエラーはメモリデバイスの幅に基づく。
たとえば、４ビット幅の３２メガビットダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイスの場合、チップキル機能をサポートするシステムは、メモリデバイスにおいて４ビット幅エラーを訂正することができる。
このため、チップキルをサポートする４ビット幅構成に編成されたＤＲＡＭサイクル（たとえば、読出し動作、書込み動作）中のＤＲＡＭチップ全体の障害により、システムが障害を起こさない。
任意の１つのメモリデバイスにおいて多ビットエラーが発生した場合に、チップキルによって、システムは動作することができる。
【発明の開示】
【課題を解決するための手段】
【０００５】
以下は、本発明のいくつかの態様が基本的に理解されるために本発明の簡単な概要を提示する。
この概要は、本発明の広範囲にわたる概観ではない。
【０００６】
本発明の重要なまたは重大な要素を特定することも本発明の範囲を詳述することも意図されていない。
その唯一の目的は、後に提示するより詳細な説明に対する序文として簡単な形態で本発明の何らかの全般的な概念を提示することである。
【０００７】
一実施形態では、本発明は、メモリシステムの複数のメモリデバイスに書込みを行う方法を含む。
メモリシステムに格納されるコードワードを受け取り、複数のニブルに分割する。
それらニブルは、複数のメモリデバイスの幅に対応するビット幅を有する。
データのブロックの複数の連続したニブルを複数のメモリデバイスのそれぞれに格納することにより、分割されたコードワードを複数のメモリデバイスに格納する。
【０００８】
別の実施形態では、本発明は、メモリシステムの複数のメモリデバイスから読出しを行う方法を含む。
複数のメモリデバイスからデータの複数のチャンクを読み出す。
ここで、各チャンクは、複数のメモリデバイスのそれぞれからのニブルを含み、それらニブルは、１つまたは複数の対応するメモリデバイスの幅に対応する幅を有する。
複数のチャンクからのニブルを結合することにより、コードワードを生成する。
そこで、複数のメモリデバイスのそれぞれからのニブルは、コードワードにおいて隣接している。
【０００９】
さらに別の実施形態では、本発明はメモリシステムを含む。
データバッファが、複数のメモリデバイスからビットのチャンクを読み出し、かかる複数のメモリデバイスにビットのチャンクを書き込む。
データコンバイナが、バッファによって読み出されたビットのチャンクを受け取り、それらチャンクをメモリデバイスのうちの少なくとも１つに対応する幅を有する複数のニブルに分離し、それぞれのチャンクにおける相対位置が同じであるニブルをコードワードにおいて互いに隣接するように配置することにより、コードワードを形成する。
データセパレータが、コードワードを受け取り、そのコードワードを、バッファによってメモリデバイスに格納されるように複数のチャンクに分離する。
データセパレータは、コードワードを、複数のメモリデバイスのうちの少なくとも１つの幅に対応する幅を有する、複数の連続したニブルに分割し、それらニブルを隣接するニブルのグループに分割し、各グループのニブルがそれらのそれぞれのチャンクにおいて同じ相対位置にあるようにニブルの各グループから１つのみのニブルを有するビットのチャンクを生成する。
【００１０】
本発明を例示する目的で、図面に、目下好ましい形態を示す。
しかしながら、この発明は、示される正確な構成および手段に限定されない、ということが理解される。
【発明を実施するための最良の形態】
【００１１】
本発明は、包括的には、コードワードにおけるエラーを検出し訂正するシステムおよび方法に関する。
複数のエラー検出・訂正ビットとデータビットとを有するコードワードを、ニブルに分割する。
コードワードにおいて互いに隣接するニブルを、共通する物理伝送媒体で送信しかつ／または共通する物理記憶媒体に格納する。
共通する物理媒体の障害の場合、コードワードがその物理媒体から復元される時、障害により隣接するニブルにエラーが生じる。
言い換えれば、共通する物理媒体の障害により誤りがあるコードワードのビットが、コードワードに連続したストリングを形成する。
【００１２】
誤り訂正符号を、ビットがコードワードを通して分散されている（隣接していない）場合より互いに隣接している場合の方がより多くの誤ったビットを訂正するように構成してもよい。
本発明の一実施形態によりデータを分割することによって、より低いエラー検出・訂正ビットのオーバーヘッドで、共通する物理媒体の障害からもたらされる誤ったビットを訂正することを可能にすることができる。
【００１３】
同様の参照数字が同様の要素を示す図面に関して、本発明の実施形態により複数のメモリデバイスに書込みを行う方法を、図１のフローチャート１００と図２に示すメモリシステム２００とを参照して説明する。
【００１４】
ステップ１０２において、エラー検出・訂正モジュール２１０がデータブロックを受け取る。
エラー検出・訂正モジュール２１０は、ステップ１０４においてデータブロックからエラー検出・訂正ビットを生成し、ステップ１０６において、データブロックとエラー検出・訂正ビットとを結合することによりコードワードを形成する。
ステップ１０８において、データセパレータ２０８が、コードワードを受け取り、それをメモリデバイス２０２のビット幅に対応するビット幅を有するニブルに分割し、それらニブルを隣接するニブルのグループに分割する。
グループにおけるニブルの数は、コードワードのビット幅をメモリデバイスにわたるアドレスラインのビット幅で割った数に等しい。
【００１５】
ステップ１１０において、データセパレータ２０８は、ニブルの各グループから１つのニブルを有するニブルのチャンクを生成する。
ステップ１１２において、バッファ２０４がそれらニブルのチャンクを受け取り、メモリデバイス２０２に格納することにより、各グループのニブルが同じメモリデバイス２０２に格納される。
【００１６】
図１に関して上述した方法を、図３に示すコードワードおよびメモリデバイスを参照して一例において説明する。
図３に示すコードワードは、１２のニブルＡ〜Ｌを有し、３つのメモリデバイス０〜２があり、そこでは各メモリデバイスのビット幅はニブルのビット幅に等しい。
ニブルを、図３に示すようにグループ毎に４つの隣接するニブルのグループになるように形成する。
図３に示すように、０〜３とラベル付けされた４つのチャンクが形成されており、そこでは、各チャンクは各グループから１つのニブルを有し、メモリデバイス２０２のアドレスラインに書き込まれる。
【００１７】
図３に示すようにコードワードを分割することにより、メモリデバイス１に障害が発生した場合に、メモリデバイスから読み出される結果としてのコードワードは、［Ａ，Ｂ，Ｃ，Ｄ，Ｘ，Ｘ，Ｘ，Ｘ，Ｉ，Ｊ，Ｋ，Ｌ］（Ｘは誤ったニブル（すなわち、メモリデバイス１の障害によりエラーを有するニブル）を示す）となる。
誤ったニブルは、復元されたコードワードにおいて互いに隣接し、したがって、隣接していない４つの誤ったニブルを訂正するために必要である可能性のある訂正ビットより少ない訂正ビットを使用する誤り符号を用いて訂正可能であり得る。
【００１８】
本発明の一実施形態による複数のメモリデバイスからのコードワードを読み出す方法について、図４のフローチャート４００と図２に示すメモリシステム２００とを参照して説明する。
ステップ４０２において、バッファ２０４がメモリデバイス２０２から複数のチャンクを読み出す。
ここで、各チャンクは、複数のメモリデバイス２０２のそれぞれからのニブルを含み、ニブルのビット幅は、対応するメモリデバイス２０２の幅に対応する。
【００１９】
ステップ４０４において、データコンバイナ２０６が、バッファ２０４から複数のチャンクを受け取り、それら複数のチャンクにおけるニブルからコードワードを生成する。
これらニブルは、コードワードにおける順序で配置されているため、複数のメモリデバイスのそれぞれからのニブルは、コードワードにおいて隣接している。
エラー検出・訂正モジュール２１０がコードワードを受け取り、そのコードワードに対してエラー検出・訂正アルゴリズムを実行することによりコードワードのエラーを検出しかつ／または訂正する。
そして、エラー検出・訂正モジュール２１０は、コードワードからデータビットを抽出し、対応するデータブロックを出力する。
【００２０】
図３の例示的なコードワードとメモリデバイスとを参照すると、コードワードは以下のようにメモリデバイスから読み出される。
この例では、コードワードはニブルの４つのチャンク（０〜３とラベル付け）から形成される。
バッファ２０４は、チャンクとそれらの対応するニブルとが以下のように識別されるメモリデバイスから４つのチャンクを読み出す。
チャンク        ニブル
チャンク０    ［Ａ，Ｅ，Ｉ］
チャンク１    ［Ｂ，Ｆ，Ｊ］
チャンク２    ［Ｃ，Ｇ，Ｋ］
チャンク３    ［Ｄ，Ｈ，Ｌ］
【００２１】
データコンバイナ２０６は、バッファ２０４からニブルの４つのチャンクを受け取り、それらニブルをＡ〜Ｌの順序に再構成することによりコードワードを形成する。
そして、上述したように、ステップ４０６および４０８において、コードワードをエラー検出・訂正モジュール２１０によってさらに処理する。
【００２２】
図３に関して説明した例は、単に例示の目的のためのものであり、本発明は、概して、コードワード、ニブル、チャンクおよびメモリデバイスの他の構成にも適用可能である。
別の例を、図５を参照して例示する。
ここでは、コードワードはＣＷ個のビットを有し、メモリシステムは、それぞれの幅がＷビットであるＫ個のメモリデバイスを有する。
この複数のＫ個のメモリデバイスわたるアドレスラインは、ＭＤ個のビット、この場合はＫ個のメモリデバイスすべてが同じビット幅Ｗを有するためＭＤ＝Ｋ×Ｗビットを有する。
コードワードにおけるビットの数ＣＷは、アドレスラインのサイズＭＤの倍数である。
【００２３】
メモリデバイスに書き込まれるコードワードを、データセパレータ２０８によりそれぞれがＷビットを有するＮ個のニブルに分割する。
ここで、Ｎ＝（ＣＷ／Ｗ）であり、ニブルは０からＮ−１まで連続して番号が付される。
ニブルはＭ個のチャンク（Ｍ＝（ＣＷ／ＭＤ））に分割され、各チャンクは、以下のように定義されるＫ個のニブルを含む。
Ｃ＝０，１，…Ｍ−１の場合、
チャンク［Ｃ］＝｛ニブル［Ｃ＋（Ｋ−１）×Ｍ］、ニブル［Ｃ＋（Ｋ−２）×Ｍ］、…
…、ニブル［Ｃ＋（１）×Ｍ］、ニブル［Ｃ＋（０）×Ｍ］｝
【００２４】
メモリから読み出されるコードワードを、Ｋ個のメモリデバイスからＭ＝ＣＷ／ＭＤチャンクを読み出すことによって形成する。
ここで、各チャンクは、メモリデバイスのそれぞれからの幅Ｗを有する１つのニブルを含む。
データコンバイナ２０６は、コードワードを形成するようにニブルを配置する。
ここで、各メモリデバイスからのニブルは以下のように隣接する。
コードワード＝［ニブル（Ｍ−１，Ｋ−１），ニブル（Ｍ−２，Ｋ−１），…，ニブル（０，Ｋ−１），
ニブル（Ｍ−１，Ｋ−２），ニブル（Ｍ−２，Ｋ−２），…，ニブル（０，Ｋ−２），…
ニブル（Ｍ−１，０），ニブル（Ｍ−２，０），…，ニブル（０，０）］
ここで、各ニブルをニブル（ｘ，ｙ）として示し、ｘはそのチャンク識別子でありｙはチャンク内の連続した位置である。
【００２５】
一実施形態では、システム２００は、それぞれ４ビットの幅Ｗを有する３６個のメモリデバイス２０２を有し、コードワードの幅ＣＷは２８８ビットである。
メモリデバイス２０２に書き込む時、データセパレータ２０８は、コードワードを４ビットの７２個の連続して番号が付されたニブルに分割する。
データセパレータ２０８は、ニブルを２つのニブルに分割する。
１つは、偶数が付されたニブルからなり、他方は、奇数が付されたニブルからなる。
バッファ２０４は、第１および第２のチャンクを３６個のメモリデバイスのそれぞれのアドレスラインに格納する。
そのため、コードワードからの隣接するニブルの各対が３６個のメモリデバイスの異なるものに格納される。
【００２６】
３６個のメモリデバイスから読み出す時、バッファ２０４は、メモリデバイスからそれぞれ１４４ビットの２つのチャンクを読み出す。
第１のチャンクは、メモリデバイスのそれぞれから１つの、３６個の４ビットの「第１の」ニブルを有する。
第２のチャンクは、メモリデバイスのそれぞれから１つの、３６個の４ビットの「第２の」ニブルを有する。
データコンバイナ２０６は、第１および第２のチャンクからのニブルを結合して、互いに隣接する各メモリデバイスから第１および第２のニブルを有するコードワードを生成する。
エラー検出・訂正モジュール２１０は、データコンバイナ２０６からコードワードを受け取り、そのコードワードに対してエラー検出・訂正アルゴリズムを実行することにより、コードワードのエラーを検出しかつ／または訂正する。
そして、エラー検出・訂正モジュール２１０は、コードワードからデータビットを抽出し、対応するデータブロックを出力する。
【００２７】
２８８ビットを有するコードワードを用いる一実施形態では、コードワードは、２４個のデータ検出および訂正ビットと２６４個のデータ（またはペイロード）ビットを含み、８つの隣接する誤ったビットのストリングを訂正することができる。
各メモリデバイスは、コードワードにおいて隣接する２つの４ビットニブルを各コードワードに提供し、本システムは、３６個のメモリデバイスのうちの任意の１つの障害を訂正することができ、それによりチップキルを達成する。
【００２８】
例示的な実施形態を、メモリデバイス２０２の幅が同じであるシステムに関して上述したが、本発明の実施形態は、上述した方法に、システムにおいて幅が異なるニブルおよび／またはメモリデバイスが適用される場合も包含する。
本発明の実施形態はまた、複数のメモリデバイスにわたるビット幅を有し複数のメモリデバイスの単一アドレスラインに格納されるニブルも包含する。
たとえば、ビット幅が８であるニブルを２つの４ビットメモリデバイスに格納してもよい。
【００２９】
図２に示すシステム２００のコンポーネントは単に例示的なものであり、本発明は、本発明の方法を実行する別個のモジュールに限定されない。
本発明の機能を、単一モジュールで実行してもよく、あるいは複数のモジュールによって実行してもよい。
たとえば、データセパレータ２０８とデータコンバイナとの機能を、１つのモジュールによって実行してもよく、あるいは、バッファ２０４、データセパレータ２０８、データコンバイナ２０６およびエラー検出・訂正モジュール２１０を結合してそれら機能を実行する単一モジュールにしてもよい。
【００３０】
メモリデバイス２０２は、たとえば、限定されないが、シングルインラインメモリモジュール（ＳＩＭＭ）、デュアルインラインメモリモジュール（ＤＩＭＭ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ）モジュールまたは他のタイプのメモリデバイスであってもよい。
【００３１】
本明細書で使用する「ニブル」という用語は、いかなる特定の数のビットにも限定されない。
本明細書では、ニブルを、複数の隣接するビットを特定するために使用し、その数は、本発明が包含する方法およびシステムによって異なってもよい。
【００３２】
上記では、本発明の実施形態を、メモリからチャンクを読み出しかつメモリにチャンクを書き込むことに関して説明したが、複数のチャンクの読出しおよび書込みは、必ずしも別々の動作ではない。
別々のチャンクを、ブロック読出しおよび書込み動作でメモリデバイスから読み出しまたはメモリデバイスに書き込んでもよい。
本発明の一実施形態では、コードワードに対応するチャンクは、すべて単一ブロック読出しで読み出され、またはすべてメモリデバイスに単一ブロック書込みで書き込まれる。
【００３３】
上述したことは、本発明を、実施可能な程度の説明が可能である、本発明者が予見する実施形態に関して説明しているが、目下予見されない本発明の産業上の変更形態がそれらに対する等価形態を表す場合がある。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施形態によるメモリシステムにデータブロックを書き込む方法を示すフローチャートである。
【図２】本発明の一実施形態によるメモリシステムの部分ブロック図である。
【図３】本発明の一実施形態によるメモリシステムへのニブルの格納を示すブロック図である。
【図４】本発明の一実施形態によるメモリシステムからデータブロックを読み出す方法を示すフローチャートである。
【図５】本発明の実施形態によるメモリシステムへのニブルの格納を示すブロック図である。
【符号の説明】
【００３５】
２０２・・・メモリデバイス、
２１０・・・エラー検出・訂正モジュール、
２０４・・・バッファ、
２０６・・・データコンバイナ、
２０８・・・データセパレータ、
【図１】
2005202957.tif 000003
【図２】
2005202957.tif 000004
【図３】
2005202957.tif 000005
【図４】
2005202957.tif 000006
【図５】
2005202957.tif 000007