(57)【要約】  本発明の実施例は、一般にエラーチェックモードと非エラーチェックモードに同一のメモリタイプを使用するシステム、方法及び装置に関する。いくつかの実施例では、メモリデバイスは、メモリバンクの少なくとも１つのスプリットバンクペアを有する。メモリデバイスがエラーチェックモードにある場合、いくつかの実施例では、データはスプリットバンクペアの１つのメモリバンクに格納され、対応するエラーチェックビットがスプリットバンクペアの他方のメモリバンクに格納される。メモリデバイスのレジスタビットは、それがエラーチェックモード又は非エラーチェックモードにあるか示す。他の実施例が説明及び請求される。
2009528591.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリバンクと第２メモリバンクとを有するメモリバンクのスプリットバンクペアと、
メモリデバイスがエラーチェックモード又は非エラーモードにあるか示すレジスタビットと、
を有するメモリデバイスであって、
当該メモリデバイスがエラーチェックモードにある場合、前記第１メモリバンクにデータが格納され、前記第２メモリバンクに対応するエラーチェックビットが格納されるメモリデバイス。
【請求項２】
前記第１メモリバンクに格納されるデータに対応するエラーチェックビットを前記第２メモリバンクにマッピングするマッピングロジックをさらに有する、請求項１記載のメモリデバイス。
【請求項３】
前記マッピングロジックは、前記エラーチェックビットを前記第２メモリバンクの先頭の１／Ｍにマッピングするマッピングロジックを有する、請求項１記載のメモリデバイス。
【請求項４】
Ｍは８である、請求項３記載のメモリデバイス。
【請求項５】
前記マッピングロジックは、前記データに係るカラムアドレスの一部を論理ハイに駆動するロジックを有する、請求項４記載のメモリデバイス。
【請求項６】
前記データに係るカラムアドレスの一部を論理ハイに駆動するロジックは、カラムアドレスビット８〜１０を論理ハイに駆動するロジックを有する、請求項５記載のメモリデバイス。
【請求項７】
前記レジスタビットは、モードレジスタセット（ＭＲＳ）レジスタである、請求項５記載のメモリデバイス。
【請求項８】
前記マッピングロジックはさらに、前記カラムアドレスの少なくとも一部をマスクするマスクロジックを有する、請求項５記載のメモリデバイス。
【請求項９】
当該メモリデバイスは、ＤＲＡＭデバイスを有する、請求項１記載のメモリデバイス。
【請求項１０】
メモリバンクの少なくとも１つのスプリットバンクペアを有するメモリデバイスがエラーチェックモード又は非エラーチェックモードにあるか判断するステップと、
前記スプリットバンクペアの第１メモリバンクにデータを書き込むステップと、
前記データに係るエラーチェックビットを前記スプリットバンクペアの第２メモリバンクに書き込むステップと、
を有する方法。
【請求項１１】
前記エラーチェックビットを書き込むステップは、
前記メモリデバイスのバッファに前記データを格納するステップと、
前記第１メモリバンクと前記第２メモリバンクのそれぞれの同一のローをアクティブ化するステップと、
少なくとも部分的にホストから受け付けたカラムアドレスに基づき前記エラーチェックビットのカラムを選択するステップと、
を有する方法。
【請求項１２】
前記カラムを選択するステップは、前記エラーチェックビットを前記第２メモリバンクの先頭の１／Ｍにマッピングするため、前記カラムアドレスの規定された部分を論理ハイにするステップを有する、請求項１１記載の方法。
【請求項１３】
前記カラムアドレスの規定された部分を論理ハイにするステップは、前記エラーチェックビットを前記第２メモリバンクの先頭の１／８にマッピングするため、前記カラムアドレスビット８〜１０を論理ハイにするステップを有する、請求項１２記載の方法。
【請求項１４】
前記第１メモリバンクから前記データを読み込むステップと、
前記第２メモリバンクから前記データに係るエラーチェックビットを読み込むステップと、
をさらに有する、請求項１２記載の方法。
【請求項１５】
前記メモリデバイスは、ＤＲＡＭデバイスを有する、請求項１０記載の方法。
【請求項１６】
メモリサブシステムを制御するホストと、
前記ホストにインターコネクトを介し接続されるメモリデバイスと、
を有するシステムであって、
前記メモリデバイスは、
第１メモリバンクと第２メモリバンクとを有するメモリバンクのスプリットバンクペアと、
前記メモリデバイスがエラーチェックモード又は非エラーモードにあるか示すレジスタビットと、
を有し、
前記メモリデバイスがエラーチェックモードにある場合、前記第１メモリバンクにデータが格納され、前記第２メモリバンクに対応するエラーチェックビットが格納されるシステム。
【請求項１７】
前記インターコネクトは、ポイント・ツー・ポイントインターコネクトとマルチポイントインターコネクトの少なくとも１つを有する、請求項１６記載のシステム。
【請求項１８】
前記エラーチェックビットを前記第２メモリバンクにマッピングするマッピングロジックをさらに有する、請求項１６記載のシステム。
【請求項１９】
前記マッピングロジックは、前記第２メモリバンクの先頭の１／Ｍに前記エラーチェックビットをマッピングするマッピングロジックを有する、請求項１８記載のシステム。
【請求項２０】
Ｍは８である、請求項１９記載のシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［技術分野］
本発明の実施例は、一般に集積回路の分野に関し、より詳細には、同一のメモリタイプを用いてエラーチェックモード及び非エラーチェックモードをサポートするシステム、方法及び装置に関する。
【０００２】
［背景］
メモリデバイスは、一時的（又はソフト）エラーなどのエラーの影響を受けやすい。これらのエラーが適切に扱われない場合、計算システムを不具合を生じさせる可能性がある。ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）の形式による冗長的な情報がシステム全体の信頼性を向上させるのに利用可能である。しかしながら、冗長的な情報は、メモリシステムの格納要求を増大させ、これにより、メモリシステムのコストを増大させる。このため、ＥＣＣは、典型的には、ハイエンド又はミッションクリティカルシステムに対してのみ利用される。より低コスト（又はよりクリティカルでない）のシステムは、ＥＣＣを利用せず、それらの利用に適した信頼性レベルを提供する。
【０００３】
いくつかのケースでは、ストレージのエキストラビットが追加的なメモリデバイス（ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）デバイスなど）を加えることによってシステムに追加される。例えば、８つのＤＲＡＭを用いてデータを格納するシステムはまた、追加的なＤＲＡＭを用いてチェックコードを格納するかもしれない。他のケースでは、エクストラビットは、特にＥＣＣシステムに使用するよう設計された変形的なＤＲＡＭに格納される。例えば、非ＥＣＣ  ＤＲＡＭは、２５６メガビットのキャパシティと１６の出力を有するかもしれない。このＤＲＡＭのＥＣＣの変形は、２８８メガビットのキャパシティと１８の出力を有するかもしれない。これらの例の何れでも、ＥＣＣシステムは非ＥＣＣの対応するものより１２．５％以上の格納容量を有する。
【０００４】
ＥＣＣシステムでの異なるＤＲＡＭデバイスの使用は、いくつかの問題点を有する。例えば、ＤＲＡＭデバイスの２つの（又はそれ以上の）変形を設計、製造及び在庫調整することに係るコストが増加する。さらに、ＥＣＣ変形ＤＲＡＭデバイスは、それの非ＥＣＣの対応するものより大きく、このため、製造することがより困難である。エキストラビットをＥＣＣ変形ＤＲＡＭに追加することは、デバイスの歩留まりを低下させ、デバイスのコストを増大させる。ＤＲＡＭデバイスの２つの（又はそれ以上の）変形を使用する他の問題点は、ＤＲＡＭデバイスとインタフェースをとるメモリコントローラが追加的なピン（ＥＣＣピンなど）をサポートすることが求められるということである。また、ＥＣＣ変形ＤＲＡＭモジュールは、それのコネクタがそれの非ＥＣＣに対応するものより大きいため、より大きなスペースを使用する。
【０００５】
［詳細な説明］
本発明の実施例は、一般に同一のメモリタイプを用いてエラーチェックモード及び非エラーチェックモードをサポートするシステム、方法及び装置に関する。いくつかの実施例では、メモリデバイスは、第１メモリバンクと第２メモリバンクとを有する少なくとも１つのスプリットバンクペア（ｓｐｌｉｔ  ｂａｎｋ  ｐａｉｒ）を有する。エラーチェックモードでは、データビットはメモリバンクの１つに格納され、対応するエラーチェックビットは他方のメモリバンクに格納される。メモリデバイスは、レジスタビット（ＭＲＳ（Ｍｏｄｅ  Ｒｅｇｉｓｔｅｒ  Ｓｅｔ）レジスタビットなど）を用いて何れかのモードをサポートするよう構成される。いくつかの実施例では、エラーチェックモードと非エラーチェックモードの両方をサポートすることが可能であることは、メモリコントローラとのインタフェースに対して最小限の影響しか有しない。すなわち、実質的に同じ信号処理、ピンカウント及びバスト長が、非エラーチェックモードしかサポートしないシステムと同様に利用可能である。
【０００６】
図１は、本発明の実施例による実現される計算システムの選択された特徴を示すハイレベルブロック図である。計算システム１００は、リクエスタ１０２、メモリコントローラ（又はホスト）１１０、メモリデバイス１３０及びインターコネクト１２０を有する。メモリコントローラ１１０は、少なくとも部分的にリクエスタ１０２とメモリデバイス１３０との間の情報の伝送を制御する。リクエスタ１０２は、プロセッサ（中央処理ユニット及び／又はコアなど）、サービスプロセッサ、入出力デバイス（ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）Ｅｘｐｒｅｓｓデバイスなど）、メモリ自体、又はメモリへのアクセスをリクエストするシステム１００の他の何れかの要素であるかもしれない。いくつかの実施例では、メモリコントローラ１１０はリクエスタ１０２と同じダイ上にある。
【０００７】
図示された実施例では、メモリコントローラ１１０は、エラーチェックロジック１１２、モードインジケータ１１４及びメモリデバイスアドレッシングロジック１１６を有する。エラーチェックロジック１１２は、冗長的な情報を用いて指定されたフォールトからデータをプロテクトする。いくつかの実施例では、エラーチェックロジック１１２は誤り訂正コード（ＥＣＣ）である。
【０００８】
以下でさらに説明されるように、いくつかの実施例では、メモリデバイス１３０は、エラーチェックモード又は非エラーチェックモードの何れかにより動作可能である。エラーチェックモードで動作するとき、メモリデバイス１３０は、データビットと対応するエラーチェックビット（ＥＣＣビットなど）との両方を格納する。非エラーチェックモードで動作するとき、（実質的に）メモリデバイス１３０のキャパシティ全体がデータビットを格納するのに利用される。モードインジケータ１１４は、メモリデバイス１３０がエラーチェックモード又は非エラーチェックモードにより動作しているかの表示を提供する。いくつかの実施例では、モードインジケータ１１４は、１以上のレジスタビットを有する。
【０００９】
いくつかの実施例では、メモリデバイス１３０は、それがエラーチェックモード又は非エラーチェックモードにあるかに応じて、リード／ライトデータのための異なるアドレスマッピングを適用する。例えば、エラーチェックモードに用いられるアドレスマッピングは、エラーチェックビット（ＥＣＣビットなど）のマッピングからなるかもしれない。アドレスマッピングロジック１１６は、メモリコントローラ１１０がメモリデバイス１３０により用いられるアドレスマッピングを認識することを可能にする。アドレスマッピングロジック１１６は、いくつかのメモリ位置のアドレスマッピングの表示を提供可能な何れかのロジックであるかもしれない。
【００１０】
メモリデバイス１３０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）デバイスを含む広範なデバイスの何れであってもよい。いくつかの実施例では、メモリデバイス１３０は１以上のスプリットバンクペア１４０に構成される。スプリットバンクペアは、１つのバンクとして又は２つの分離したバンクとして構成可能なメモリバンクのペアを表す。いくつかの実施例では、スプリットバンクペアの各バンクは、それ自体のローデコーダとカラムデコーダを有する。
【００１１】
いくつかの実施例では、スプリットバンクペアの各バンクは、メモリのページを提供することが可能である。例えば、バンク０Ａはページ１４２を提供し、バンク０Ｂはページ１４４を提供する。“バンク”とは、メモリデバイスにより提供されるメモリ位置のアレイを表す。まとめて、バンク１４２と１４４は論理ページ１４６を提供することができる。“論理ページ”という用語は、２以上の物理的なバンクの論理的な組み合わせを表す。いくつかの実施例では、ページ１４２と１４４はそれぞれ、１キロバイト（Ｋバイト）メモリを提供し、論理ページ１４６は２Ｋバイトのネットの有効なページサイズを提供する。
【００１２】
図示された実施例では、メモリデバイス１３０は、モードインジケータ１３２、ポスタライトバッファ１３４、パーシャルライトマスク１３６及びカラムアドレス生成ロジック１３８を有する。モードインジケータ１３２は、メモリデバイス１３０がエラーチェックモード又は非エラーチェックモードで動作しているかの表示を提供する。いくつかの実施例では、モードインジケータ１３２は、モードレジスタセット（ＭＲＳ）などのレジスタの１以上のビットを含む。ポスタライトバッファ１３４は、メモリデバイス１３０のメモリコアに書き込まれる前に、データが格納されるバッファである。パーシャルライトマスク１３６は、メモリコアに書き込まれるデータのライトマスクを提供する、いくつかの実施例では、パーシャルライトマスク１３６は、メモリデバイス１３０に格納されているデータに係るエラーチェックビットにアクセスするのに用いられる。いくつかの実施例では、カラムアドレス生成ロジック１３８は、メモリデバイス１３０に格納されているデータに係るエラーチェックビットに対してカラムアドレス情報を生成する。
【００１３】
図２は、本発明の実施例による実現されたＤＲＡＭの選択された特徴を示すブロック図である。ＤＲＡＭ２００は、１６のメモリバンク（０Ａ〜７Ｂ）又は８つのスプリットバンクペア（スプリットバンクペア０Ａ，０Ｂなど）を有する。いくつかの実施例では、ＤＲＡＭ２００は、×４又は×８ＤＲＡＭとして構成可能である。×４モードでは、ＤＲＡＭ２００は１６のバンク（０Ａ〜７Ｂ）を提供し、各バンクは４つのデータ（ＤＱ）ピンに６４ビットデータを提供する。×８モードでは、ＤＲＡＭ２００は、８つのＤＱピンに１２８ビットデータを提供するため、８つのスプリットバンクペアを提供する。
【００１４】
いくつかの実施例では、ＤＲＡＭ２００は、エラーチェックモード（ＥＣＣモードなど）又は非エラーチェックモードにより動作するよう構成可能である。エラーチェックモードで動作するとき、ＤＲＡＭ２００は、スプリットバンクの１つのメンバー（バンク０Ａなど）にデータを格納し、スプリットバンクの他方のメンバー（バンク０Ｂなど）に対応するエラーチェックビット（ＥＣＣビットなど）を格納することによって、それのスプリットバンクアーキテクチャを活用する。
【００１５】
図３は、本発明の実施例によるデータビットとエラーチェックビットとをスプリットバンクペアに格納する選択された特徴を示すブロック図である。スプリットバンクペア３００は、バンク０Ａとバンク０Ｂとを有する。いくつかの実施例では、データは、各バンクのＮ／Ｍ番目まで（７／８番目など）の位置に格納され、対応するエラーチェックビットが、スプリットバンクペア３００の他方のメンバーの最後の１／Ｍ番目の（１／８など）に格納される。例えば、バンク０Ａに格納されているデータをカバーするエラーチェックビットは、バンク０Ｂの先頭の１／８番目のメモリ位置に格納されるかもしれない（３０２）。同様に、バンク０Ｂに格納されているデータをカバーするエラーチェックビットは、バンク０Ａの先頭の１／８番目のメモリ位置に格納されるかもしれない（３０４）。いくつかの実施例では、エラーチェックビットはエラーチェックコード（ＥＣＣ）ビットである。
【００１６】
いくつかの実施例では、ホスト（図１に示されるメモリコントローラなど）は、データビットを受信及び提供しているバンクを特定するため、スプリットバンクペアの特定のバンクをアドレス指定する。メモリデバイスがエラーチェックモードにある場合、それはデータビットに対応するエラーチェックビットにアクセスするため、それの内部ロジック（図１に示されるパーシャルライトマスク１３６、カラムアドレス生成ロジック１３８など）を利用する。データビット及び対応するエラーチェックビットへのアクセスが、図４〜６Ｂを参照してさらに説明される。
【００１７】
図４は、本発明の実施例によるデータビットとエラーチェックビットとの間のアドレスマッピングの一例を示すブロック図である。図示された実施例では、データビットは、４１０により示されるスプリットバンクペア内のバンクにより提供されるページの７／８番目までに格納される。対応するエラーチェックビットは、スプリットバンクペアの他方のバンク上位１／８番目に格納される（４３０）。例えば、バイト０〜７をカバーするＥＣＣビットは、参照番号４３２により示されるように、メモリ位置８９６に格納される。同様に、バイト１２８〜１３５をカバーするＥＣＣビットは、参照番号４３４により示されるように、メモリ位置８９７に格納され、このパターンが図４に示されるように、ページ４１０のデータバイトに続けられる。いくつかの実施例では、バンク４３０の上位１／８番目の最後のバイト（位置９０３など）は、参照番号４３６により示されるように用いられない。いくつかの実施例では、バイト８〜１５をカバーするエラーチェックビットは位置９０５に格納され、シーケンスは繰り返す。
【００１８】
図１を再び参照するに、ＤＲＡＭから読み出すイベントのシーケンスが説明される。メモリコントローラ１１０は、ローアドレス１２４をメモリデバイス１３０に提供する。メモリデバイス１３０は、少なくとも部分的にローアドレス１２４に基づき、スプリットバンクペアの両方のバンクの同一のローをアクティブ化する。例えば、メモリデバイス１３０は、ローアドレス１２４に基づきバンク０Ａと０Ｂのロー１５０と１５２を開く。
【００１９】
メモリコントローラ１１０は、カラムアドレス１２２（カラムアドレスストローブ（ＣＡＳ）フレームなどを用いて）をメモリデバイス１３０に提供する。メモリデバイス１３０は、カラムアドレス１２２を用いて適切なバンク（バンク０Ａなど）からデータビットにアクセスする。いくつかの実施例では、メモリデバイス１３０は、少なくとも部分的にカラムアドレス１２２に基づきエラーチェックビットに対してカラムアドレスを内部的に生成する。すなわち、メモリデバイス１３０は、エラービットが格納されているバンクのカラムアドレスを内部的に生成する。いくつかの実施例では、メモリデバイス１３０は、エラーチェックビットが格納されているバンクのローの先頭のＭ番目をアクティブ化するため、カラムアドレス１２２の一部をハイ（論理“１”など）にする。
【００２０】
例えば、いくつかの実施例では、カラムアドレス１２２は、８つのカラムアドレス（ＣＡ）ビットＣＡ３〜ＣＡ１０を有する。このような実施例では、メモリデバイス１３０は、カラムアドレスビットＣＡ８，ＣＡ９，ＣＡ１０をハイにし、適切なバンク（バンク０Ｂなど）からの８バイトにアクセスすることによって、エラーチェックビットにアクセスするかもしれない。メモリデバイス１３０は、このとき、ＣＡ８，ＣＡ９，ＣＡ１０の実際の値を用いて８バイトの１つを特定するかもしれない。例えば、ＣＡ８〜ＣＡ１０の実際の値が“０００”である場合、メモリデバイス１３０は、エラーチェックビットを含むバイトとして８バイトの最初のバイト特定する。同様に、ＣＡ８〜ＣＡ１０が“００１”である場合、メモリデバイス１３０は、エラーチェックビットを含むバイトとして２番目のバイトを特定する。メモリデバイス１３０は、このときリードデータとそれに関連するエラーチェックビットをメモリコントローラ１１０に提供する。いくつかの実施例では、ＣＡ３〜ＣＡ７がロードＣＡＳフレームから利用される。
【００２１】
図５は、本発明の実施例によるリードデータフレームの選択された特徴を示す。システム（図１に示されるシステム１００など）がエラーチェックモードにある場合、いくつかの実施例では、６４ビットデータが２つのバック・ツー・バック（ｂａｃｋ−ｔｏ−ｂａｃｋ）フレームを介し転送される。例えば、フレーム５０２と５０４は、ユニットインターバル０〜１５により６４データビットと、ユニットインターバル（ＵＩ）１６〜１７により８エラーチェック（ＥＣＣなど）ビットを伝搬する。
【００２２】
いくつかの実施例では、２つのリードがパラレルに実行され、１２８データビットが４つのフレームにより伝送される。例えば、図示された実施例では、フレーム５０２と５０４が最初の６４データビット（ｄ０〜ｄ６３など）を伝送し、フレーム５０６と５０８が他の６４データビット（ｄ６４〜ｄ１２７など）を伝送する。データビットｄ０〜ｄ６３をカバーするエラーチェックビットは、フレーム５０６のＵＩ１６及び１７において伝送され、データビットｄ６４〜ｄ１２７をカバーするエラーチェックビットは、フレーム５０８のＵＩ１６及び１７において伝送される。他の実施例では、リードフレームは異なる構成を有し、及び／又は異なる個数のフレームが伝搬されてもよい。
【００２３】
図１を再び参照するに、データをメモリデバイス（ＤＲＡＭなど）に書き込むためのイベントのシーケンスが説明される。エラーチェックビット（ＥＣＣビット１２６など）とデータビット（データビット１２８など）がメモリコントローラ１１０から伝送され、バッファ１３４（ポスタライトバッファなど）に格納される。さらに、メモリコントローラ１１０はまた、ローアドレス１２４とカラムアドレス１２２を提供する（ライトＣＡＳフレームの一部としてなど）。
【００２４】
メモリデバイス１３０は、少なくとも部分的にローアドレス１２４に少なくとも部分的に基づき、スプリットバンクペア１４０の両方のバンクにおける同一のロー（ロー１５０と１５２など）をアクティブ化する。データビット１２８は、ライトＣＡＳフレームのデータ（カラムアドレス１２２とバンクアドレスフィールドのビットなど）に基づき、スプリットバンクペア１４０のバンクの１つに書き込まれる。メモリデバイス１３０は、少なくとも部分的にカラムアドレス１２２に基づき、エラーチェックビットのカラムアドレスを内部的に生成する。いくつかの実施例では、エラーチェックビットのカラムアドレスは、ＣＡ８〜ＣＡ１０をハイにし、ライトＣＡＳフレームからのＣＡ４〜ＣＡ１０を用いることによって生成される。
【００２５】
典型的には、エラーチェックビットの個数は、データビットの個数のほんの一部である。例えば、８エラーチェックビットが、６４データビットをカバーするのに利用されるかもしれない。従って、メモリデバイス１３０は、５６ビットをマスクするためパーシャルライトマスクを生成し、ライトＣＡＳフレームにより提供されるようなＣＡ４〜ＣＡ１０とＣＡ８〜ＣＡ１０のハイに基づくカラムアドレスに８エラーチェックビットを書き込むようにしてもよい。
【００２６】
図６Ａ及び６Ｂは、本発明の実施例によるライトデータフレームのシーケンスの選択された特徴を示す。図６Ａ及び６Ｂに示されるライトシーケンスは、２つのメモリデバイスを備えたパラレルメモリチャネルを有するシステムにおいて利用されるかもしれない。各デバイスは、４つすべてのフレームを観察し、Ｄ０〜Ｄ６３又はＤ６４〜Ｄ１２７に割り当てられる。メモリデバイスの割当てがさらに以下で説明される。
【００２７】
いくつかの実施例では、ライトシーケンスは、以下のフレーム、すなわち、ライトヘッダ（Ｗｈ）６０２、ＥＣＣライトフレーム（Ｗｅ）６０４、ライトデータ１（Ｗｄ１）及びライトデータ２（Ｗｄ２）６０８を有する。いくつかの実施例では、各フレームは、６ビットフレーム（“０”〜“５”によりラベル付けされる）、すなわち、９ビットディープ（ＵＩ０〜８又は９〜１７など）である。Ｗｈ６０２は、ライトシーケンスのためのヘッダ情報と共にいくつかのデータビットを含む。
【００２８】
Ｗｅ６０４は、関連するデータビットをカバーするエラーチェックビット（ＵＩ１２〜１４に示されるＥＣＣビット６１０など）を伝送する。いくつかの実施例では、エラーチェックビット（ＥＣＣビットなど）は、パーシャルライトマスク符号化を用いてメモリデバイス１３０に伝送される。すなわち、Ｗｅ６０４は、マスクビットがエラーチェックビット（ＵＩ１２〜１４に示されるＥＣＣビット６１０など）と置換されることを除いて、パーシャルライトマスクフレーム（Ｗｍ）と同じコマンド符号化を有するかもしれない。ＥＣＣビットＥＣＣ０〜ＥＣＣ７は、データビットＤ０〜Ｄ６３をカバーし、ＥＣＣビットＥＣＣ８〜ＥＣＣ１５は、データビットＤ６４〜Ｄ１２７をカバーする。いくつかの実施例では、Ｗｅフレーム６０４は、システムがエラーチェックモードにより動作しているとき、すべてのライトデータ転送について求められる。
【００２９】
Ｗｄ１（６０６）及びＷｄ２（６０８）は、ライト処理のためデータビットの残りを伝送する。データビットＤ０〜Ｄ６３は、１つのメモリデバイスにより用いられ、Ｄ６４〜Ｄ１２７は、他のメモリデバイスにより用いられる。いくつかの実施例では、メモリデバイス内のレジスタビットは、何れのメモリデバイスが何れのデータビットを抽出するか決定する。例えば、ＭＲＳレジスタは、データビットをメモリデバイスに割り当てるのに利用されるかもしれない。
【００３０】
図７は、本発明の実施例による電子システムの選択された特徴を示すブロック図である。電子システム７００は、プロセッサ７１０、メモリコントローラ７２０、メモリ７３０、入出力（Ｉ／Ｏ）コントローラ７４０、無線周波数（ＲＦ）回路７５０及びアンテナ７６０を有する。動作について、システム７００は、アンテナ７６０を用いて信号を送受信し、これらの信号は図７に示される各種要素により処理される。アンテナ７６０は、指向性アンテナ又は全方向性アンテナであってもよい。ここで用いられる“全方向性アンテナ”とは、少なくとも１つの平面において実質的に一様なパターンを有する何れかのアンテナを表す。例えば、いくつかの実施例では、アンテナ７６０は、ダイポールアンテナや四分の一波長アンテナなどの全方向性アンテナであるかもしれない。また例えば、いくつかの実施例では、アンテナ７６０は、パラボラアンテナ、パッチアンテナ又はヤギアンテナなどの指向性アンテナであるかもしれない。いくつかの実施例では、アンテナ７６０は、複数の物理的なアンテナを有するかもしれない。
【００３１】
無線周波数回路７５０は、アンテナ７６０とＩ／Ｏコントローラ７４０と通信する。いくつかの実施例では、ＲＦ回路７５０は、通信プロトコルに対応する物理インタフェース（ＰＨＹ）を有する。例えば、ＲＦ回路７５０は、変調手段、復調手段、ミキサ、周波数シンセサイザ、低ノイズアンプ、パワーアンプなどを有するかもしれない。いくつかの実施例では、ＲＦ回路７５０はヘテロダインレシーバを有し、他の実施例では、ＲＦ回路７５０はダイレクト変換レシーバを有するかもしれない。例えば、複数のアンテナ７６０による実施例では、各アンテナは対応するレシーバに接続されるかもしれない。動作について、ＲＦ回路７５０は、アンテナ７６０からの通信信号を受信し、アナログ又はデジタル信号をＩ／Ｏコントローラ７４０に提供する。さらに、Ｉ／Ｏコントローラ７４０は、信号をＲＦ回路７５０に提供し、ＲＦ回路７５０は信号に応じて動作し、それらをアンテナ７６０に送信する。
【００３２】
プロセッサ７１０は、何れかのタイプの処理装置であるかもしれない。例えば、プロセッサ７１０は、マイクロプロセッサ、マイクロコントローラなどであるかもしれない。さらに、プロセッサ７１０は、任意数の処理コアを有し、又は任意数の独立したプロセッサを有するかもしれない。
【００３３】
メモリコントローラ７２０は、プロセッサ７１０と図７に示される他の要素との間の通信パスを提供する。いくつかの実施例では、メモリコントローラ７２０は、他の機能を提供するハブデバイスの一部である。図７に示されるように、メモリコントローラ７２０は、プロセッサ７１０、Ｉ／Ｏコントローラ７４０及びメモリ７３０に接続される。
【００３４】
メモリ７３０は、複数のメモリデバイスを有するかもしれない。これらのメモリデバイスは、何れかのタイプのメモリ技術に基づくものであってもよい。例えば、メモリ７３０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＦＬＡＳＨメモリなどの不揮発性メモリ又は他の何れかのタイプのメモリであるかもしれない。いくつかの実施例では、メモリ７３０は、エラーチェックモードと非エラーチェックモードをサポートするかもしれない。
【００３５】
メモリ７３０は、１以上のモジュール上の単独のメモリデバイス又は複数のメモリデバイスを表すかもしれない。メモリコントローラ７２０は、インターコネクト７２２を介しメモリ７３０にデータを提供し、リードリクエストに応答してメモリ７３０からデータを受け取る。コマンド及び／又はアドレスは、インターコネクト７２２又は異なるインターコネクト（図示せず）を介しメモリ７３０に提供されるかもしれない。メモリコントローラ７３０は、プロセッサ７１０又は他のソースからメモリ７３０に格納されるべきデータを受け取るかもしれない。メモリコントローラ７３０は、メモリ７３０から受け取ったデータをプロセッサ７１０又は他の宛先に提供するかもしれない。インターコネクト７２２は、双方向インターコネクト又は一方向インターコネクトであるかもしれない。インターコネクト７２２は、いくつかのパラレルコンダクタを有してもよい。信号は差分的であってもよく、又はシングルエンドであってもよい。いくつかの実施例では、インターコネクト７２２は、フォワードマルチフェーズクロックスキームを用いて動作する。
【００３６】
メモリコントローラ７２０はまた、Ｉ／Ｏコントローラ７４０に接続され、プロセッサ７１０とＩ／Ｏコントローラ７４０との間の通信パスを提供する。Ｉ／Ｏコントローラ７４０は、シリアルポート、パラレルポート、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどのＩ／Ｏ回路と通信するための回路を有する。図７に示されるように、Ｉ／Ｏコントローラ７４０はＲＦ回路７５０との通信パスを提供する。
【００３７】
図８は、本発明の他の実施例による電子システムの選択された特徴を示すブロック図である。電子システム８００は、メモリ７３０、Ｉ／Ｏコントローラ７４０、ＲＦ回路７５０及びアンテナ７６０を有し、それらすべてが図７を参照して上述された。電子システム８００はまた、プロセッサ８１０とメモリコントローラ８２０を有する。図８に示されるように、メモリコントローラ８２０は、プロセッサ８１０と同じダイ上にあるかもしれない。いくつかの実施例では、メモリコントローラ８２０は、規定されているエラーを検出し、自動高速リセットを実行し、トランザクションをリプレイするリプレイ回路（図３に示されるリプレイロジック３１０など）を含む。プロセッサ８１０は、プロセッサ７１０（図５）を参照して上述されるような何れかのタイプのプロセッサであってもよい。図７及び８により表される一例となるシステムは、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、携帯電話、携帯情報端末、デジタルホームシステムなどを含む。
【００３８】
本発明の実施例の各要素はまた、マシーン実行可能命令を格納するマシーン可読媒体として提供されるかもしれない。マシーン可読媒体は、以下に限定されるものでないが、フラッシュメモリ、光ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ／Ｖｉｄｅｏ  Ｄｉｓｋ）ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）、磁気若しくは光カード、伝搬媒体、又は電子命令を格納するのに適した他のタイプのマシーン可読媒体を含むかもしれない。例えば、本発明の実施例は、通信リンク（モデム又はネットワーク接続など）を介し搬送波若しくは他の伝搬媒体により実現されるデータ信号によって、リモートコンピュータ（サーバなど）から要求元コンピュータ（クライアントなど）に伝送されるコンピュータプログラムとしてダウンロードされるかもしれない。
【００３９】
本明細書を通じて、“一実施例”又は“ある実施例”という表現は、実施例に関連して説明される特定の機能、構成又は特徴が本発明の少なくとも１つの実施例に含まれることを意味することが理解されるべきである。このため、本明細書の様々な部分における“ある実施例”“一実施例”又は“他の実施例”という２以上の表現は、必ずしもすべてが同一の実施例を参照しているとは限らないことが強調及び理解されるべきである。さらに、特定の機能、構成又は特徴は、本発明の１以上の実施例において適切となるよう組み合わされてもよい。
【００４０】
同様に、本発明の実施例の上記説明では、各種発明の特徴の１以上を理解するのに役立つ開示を整理するため、各種特徴は１つの実施例、図面又は説明に一緒にされることが理解されるべきである。しかしながら、この開示の方法は、請求される事項が各請求項に明示的に記載されるより多くの特徴を必要とする意図を反映するものとして解釈されるべきでない。以下の請求項が反映されるように、発明の特徴は１つの上述された実施例のすべての特徴より少なくしかない。従って、詳細な説明に続く請求項は、詳細な説明に明示的に含まれる。
【図面の簡単な説明】
【００４１】
【図１】図１は、本発明の実施例による実現された計算システムの選択された特徴を示すハイレベルのブロック図である。
【図２】図２は、本発明の実施例による実現されたＤＲＡＭの選択された特徴を示すブロック図である。
【図３】図３は、本発明の実施例による実現されたＤＲＡＭの選択された特徴を示すブロック図である。
【図４】図４は、本発明の実施例によるデータビットとエラーチェックビットとの間のアドレスマッピングの一例を示すブロック図である。
【図５】図５は、本発明の実施例によるリードデータフレームの選択された特徴を示す。
【図６Ａ】図６Ａは、本発明の実施例によるライトデータフレームのシーケンスの選択された特徴を示す。
【図６Ｂ】図６Ｂは、本発明の実施例によるライトデータフレームのシーケンスの選択された特徴を示す。
【図７】図７は、本発明の実施例による電子システムの選択された特徴を示すブロック図である。
【図８】図８は、本発明の他の実施例による電子システムの選択された特徴を示すブロック図である。
【図１】
2009528591.tif 000003
【図２】
2009528591.tif 000004
【図３】
2009528591.tif 000005
【図４】
2009528591.tif 000006
【図５】
2009528591.tif 000007
【図６Ａ】
2009528591.tif 000008
【図６Ｂ】
2009528591.tif 000009
【図７】
2009528591.tif 000010
【図８】
2009528591.tif 000011
【国際調査報告】
2009528591.tif 000012
2009528591.tif 000013