(57)【特許請求の範囲】
【請求項１】
揮発性のメモリデバイスに部分書き込み命令を発するロジックと；
前記部分書き込み命令に応答する部分書き込みフレームを生成するロジックと；
を有し、
前記部分書き込みフレームは、前記部分書き込みフレームのための部分書き込みデータを転送するためのｍ個のユニットインターバルと、前記部分書き込みフレームのためのデータ・マスク・ビットを転送するｎ個のユニットインターバルとを含み、更に前記部分書き込みフレームのための少なくともいくつかの前記データ・マスク・ビットは、前記ｎ個のユニットインターバルのうちの２つ以上において繰り返し、これによって前記部分書き込みフレームは、前記繰り返されたデータ・マスク・ビットを比較することによって、適格性が判断される、
集積回路。
【請求項２】
前記ｎ個のユニットインターバルの各々は、前記データ・マスク・ビットのコピーを含む、請求項１記載の集積回路。
【請求項３】
前記ｍ個のユニットインターバルの各々は、１バイトの部分書き込みデータを含む、請求項２記載の集積回路。
【請求項４】
前記ｎ個のユニットインターバルの各々は、前記部分書き込みデータのｍ個のバイトの各々に対応するデータ・マスク・ビットを含む、請求項３記載の集積回路。
【請求項５】
ｍは４であり、かつ、ｎは４である、請求項４記載の集積回路。
【請求項６】
前記集積回路は、メモリコントローラを有する、請求項１記載の集積回路。
【請求項７】
前記揮発性のメモリデバイスは、ランダム・アクセス・メモリデバイスを有する、請求項６記載の集積回路。
【請求項８】
メモリコアと；
前記メモリコアに接続される入出力ロジックであって、該入出力ロジックは、部分書き込みフレームのための部分書き込みデータのｍ個のユニットインターバル及び前記部分書き込みフレームのためのデータ・マスク・ビットを転送するｎ個のユニットインターバルを含む前記部分書き込みフレームを受信することが可能であり、前記ｎ個のユニットインターバルの第１のユニットインターバルは、前記部分書き込みフレームのためのデータ・マスク・ビットの第１の一組を含み、かつ、前記ｎ個のユニットインターバルの第２のユニットインターバルは、前記部分書き込みフレームのための前記データ・マスク・ビットの第１の一組から繰り返すデータ・マスク・ビットの第２の一組を含む、前記入出力ロジックと；
前記入出力ロジックに接続されるイネーブルロジックであって、該イネーブルロジックは、前記部分書き込みフレームのためのデータ・マスク・ビットの前記第１の一組とデータ・マスク・ビットの前記第２の一組とが、少なくとも一部で一致するか否かに基づいて、前記部分書き込みフレームのための前記メモリコアへの書き込みをイネーブルする、前記イネーブルロジックと；
を有する集積回路。
【請求項９】
前記ｍ個のユニットインターバルの各々は、１バイトの部分書き込みデータを含む、請求項８記載の集積回路。
【請求項１０】
前記ｎ個のユニットインターバルの各々は、前記部分書き込みデータのｍ個のバイトに対応するデータ・マスク・ビットの一組を含む、請求項９記載の集積回路。
【請求項１１】
前記イネーブルロジックは、前記データ・マスク・ビットのｎ個の組の少なくとも一部が一致するか否かに基づいて、前記メモリコアへの書き込みをイネーブルする、請求項１０記載の集積回路。
【請求項１２】
ｍは４であり、かつ、ｎは４である、請求項１１記載の集積回路。
【請求項１３】
前記集積回路は、ダイナミック・ランダム・アクセス・メモリデバイスを有する、請求項８記載の集積回路。
【請求項１４】
揮発性のメモリデバイスに部分書き込み命令を発するステップと；
前記部分書き込み命令に応答する部分書き込みフレームを生成するステップであって、前記部分書き込みフレームは、前記部分書き込みフレームのための部分書き込みデータを転送するためのｍ個のユニットインターバルと、前記部分書き込みフレームのためのデータ・マスク・ビットを転送するためのｎ個のユニットインターバルとを含み、更に前記部分書き込みフレームのための少なくともいくつかの前記データ・マスク・ビットは、前記ｎ個のユニットインターバルのうちの２つ以上において繰り返し、これによって前記部分書き込みフレームは、前記繰り返されたデータ・マスク・ビットを比較することによって、適格性が判断される、ステップと、
前記揮発性のメモリデバイスに前記部分書き込みフレームを転送するステップと、
を有する方法。
【請求項１５】
前記ｎ個のユニットインターバルの各々は、前記データ・マスク・ビットのコピーを含む、請求項１４記載の方法。
【請求項１６】
前記ｍ個のユニットインターバルの各々は、１バイトの部分書き込みデータを含む、請求項１５記載の方法。
【請求項１７】
前記ｎ個のユニットインターバルの各々は、前記部分書き込みデータのｍ個のバイトの各々に対応するデータ・マスク・ビット、を含む請求項１６記載の方法。
【請求項１８】
ｍは４であり、かつｎは４である、請求項１７記載の方法。
【請求項１９】
前記揮発性のメモリデバイスは、ランダム・アクセス・メモリデバイスを有する、請求項１４記載の方法。
【請求項２０】
ダイナミック・ランダム・アクセス・メモリデバイスに部分書き込み命令を発するロジック、及び前記部分書き込み命令に応答する部分書き込みフレームを生成するロジック、を含むホストであって、前記部分書き込みフレームは、前記部分書き込みフレームのための部分書き込みデータを転送するためのｍ個のユニットインターバルと、前記部分書き込みフレームのためのデータ・マスク・ビットを転送するためのｎ個のユニットインターバルとを含み、更に前記部分書き込みフレームのための少なくともいくつかの前記データ・マスク・ビットは、前記ｎ個のユニットインターバルのうちの２つ以上において繰り返し、これによって前記部分書き込みフレームは、前記繰り返されたデータ・マスク・ビットを比較することによって、適格性が判断される、前記ホストと；
前記部分書き込みデータフレームを受信する前記ダイナミック・ランダム・アクセス・メモリデバイスと；
を有する、システム。
【請求項２１】
前記ｎ個のユニットインターバルの各々は、前記データ・マスク・ビットの一組を含み、前記ｍ個のユニットインターバルの各々は、１バイトの部分書き込みデータを含む、請求項２０記載のシステム。
【請求項２２】
前記ｎ個のユニットインターバルの各々は、前記部分書き込みデータのｍ個のバイトの各々に対応するデータ・マスク・ビットを含む、請求項２１記載のシステム。
【請求項２３】
ｍは４であり、かつｎは４である、請求項２２記載のシステム。
【請求項２４】
メモリコアを含む、ダイナミック・ランダム・アクセス・メモリデバイスと；
前記メモリコアに接続される入出力ロジックであって、部分書き込みフレーム及びｎ個のデータ・マスク・ビットの組を受信することが可能であり、前記部分書き込みフレームのための少なくともいくつかの前記データ・マスク・ビットは、前記ｎ個のユニットインターバルのうちの２つ以上において繰り返し、これによって前記部分書き込みフレームは、前記繰り返されたデータ・マスク・ビットを比較することによって、適格性が判断される、前記入出力ロジックと；
前記入出力ロジックに接続されるイネーブルロジックであって、前記部分書き込みフレームのための前記ｎ個のデータ・マスク・ビットの組の少なくとも一部が一致するか否かに基づいて、前記メモリコアに書き込みをイネーブルする、前記イネーブルロジックと；
を有するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に集積回路の分野に関する。より詳細には、インバンドのデータ・マスク・ビット転送のシステム、方法、及び装置に関する。
【背景技術】
【０００２】
ホスト（例えばメモリコントローラ）は、書き込みデータのバイトの一つ以上がマスキングされるダイナミック・ランダム・アクセス・メモリ・デバイス（ＤＲＡＭ）に、部分書き込みを実行できる。従来のシステム（例えば、ダブルデータレート（ＤＤＲ）１、ＤＤＲ２、及びＤＤＲ３）において、一つ以上の専用のデータ・マスク・ピンが、データ・マスク・ビットを転送するために使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
通常は、データ・マスク・ピンは、（例えば、データバスにおいて）データピンと同じ周波数で切り替わる。従来のシステムは、通常はデータのバイト・レーンにつき、１つのデータ・マスク信号を使用する。したがって、×４又は×８デバイスは１本のデータ・マスク・ピンを備え、そして、×１６デバイスは２本のデータ・マスク・ピンを備え得る。  本発明の実施例は、インバンドのデータ・マスク・ビット転送のシステム、方法、及び装置を対象とする。いくつかの実施例では、一つ以上のデータ・マスク・ビットは、部分書き込みフレームに一体化され、及びデータバスを介してメモリデバイスに転送される。データ・マスク・ビットがデータバスを介して転送されるため、システムは（コストのかかる）データ・マスク・ピンを必要としない。いくつかの実施例では、メモリデバイス（例えばＤＲＡＭ）がＤＲＡＭアレーに部分書き込みを完了する前に有効データ・マスク・ビットについて調べることを可能にするためのメカニズムが提供される。このメカニズムは、データの付加的なステージングの必要性を軽減する。更に下記に記載するように、巡回冗長チェック（ＣＲＣ）が並行して実行される。このＣＲＣチェックは、アレーにデータを書き込むことに対するゲート必要としない。
【０００４】
メモリ・チャネル（例えばＤＲＡＭチャネル）の転送速度の増加は、伝達データ量の転送エラーの危険性を増加させる。これらの転送エラーは、ＤＲＡＭデータフレームをカバーするためのＣＲＣエラービットを使用することにより緩和され得る。例えば、８ビットのＣＲＣは、所望のビット誤り率（ＢＥＲ：Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）を得るために、６４ビットのデータをカバーし得る。別個のデータ・マスク・ピンを使用する従来のシステムにおいては、データ・マスク・ピンがデータピンと同じ速度で切り替えられる場合であっても、データ・マスク・ビットは通常はＣＲＣによってカバーされない。
【０００５】
データ・マスク・ビットは、データ・マスク・ビットのＣＲＣカバレッジを提供するために、データフレームに組み込まれ得る。しかしながら、これは、通常の書き込みと部分書き込みとで、別個のパイプラインを形成するため、障害を伴う。通常の（又は完全な）書き込みは、ＤＲＡＭコアに書き込まれるために、有効なＣＲＣチェックサムを必要としない。むしろ、通常の書き込みにおいては、ＤＲＡＭコアに書きこまれ、ＣＲＣチェックは、書き込みの完了と並行してなされる。エラーが検出された場合、それから、エラーメッセージが、コントローラに提供され、そして、コントローラは、書き込み処理を再試行する。不良データがＤＲＡＭコアに最初に書き込まれた場合には、不良データは、コントローラが再試行の処理を実行するときに、単に上書きされる。
【０００６】
しかしながら、このアプローチは部分書き込みに対して使用することはできない。その理由は、良好なデータがＤＲＡＭアレーにおいて上書きされるという危険があるからである。エラーがデータ・マスク・ビットにある場合（例えば、データ・マスク・ビットが、信号／リンクエラーの結果として、１から０に変化した場合）、ＤＲＡＭは対応するバイトをマスキングせず、そして、良好なデータが配列に対して上書きされてしまう。ＣＲＣチェックサムは、部分書き込みが完了する前に、これが正しいものであるかをチェックするために利用され得る。このことは、２つの異なる書き込みレイテンシータイミングとＤＲＡＭにおけるステージングを必要とする。図１乃至図６を参照しながら、部分書き込みの的確性を判断する（ｑｕａｌｉｆｙ）新たなアプローチを説明する。
【課題を解決するための手段】
【０００７】
本発明は、揮発性のメモリデバイスに部分書き込み命令を発するロジックと；
前記部分書き込み命令に応答する部分書き込みフレームを生成するロジックと；を有し、前記部分書き込みフレームは、部分書き込みデータを転送するためのｍ個のユニットインターバルと、データ・マスク・ビットを転送するｎ個のユニットインターバルとを含み、更に少なくともいくつかの前記データ・マスク・ビットは、前記ｎ個のユニットインターバルのうちの２つ以上において繰り返す、集積回路によって提供される。
【０００８】
本発明の実施例は例示として記載するものであり、限定を加えるためのものではない。また、図において類似した番号は、同種の構成を示している。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例によってインプリメントされるコンピューティング・システムの選択された態様を例示する概略ブロック図である。
【図２】部分書き込みフレームフォーマットの１つの実施例を例示する図である。
【図３】本発明の一部の実施例に従って、ＤＲＡＭ部分書き込みロジックの選択された態様を例示する図である。
【図４】本発明の一部の実施例に従うエラー報告ロジックの実施例を示す図である。
【図５】本発明の一部の実施例に従って、×ｌ６デバイスの用途に適する部分書き込みフレームの実施例を例示する図である。
【図６】本発明の一部の実施例に従って、×４デバイスの用途に適する部分書き込みフレームの実施例を例示する図である。
【図７】メモリデバイスにデータ・マスク・ビットを転送する方法の選択された態様を例示するフローチャートである。
【発明を実施するための形態】
【実施例】
【００１０】
図１は、本発明の一実施例によりインプリメントされるコンピューティング・システムの選択された態様を例示する概略ブロック図である。図示の実施例では、システム１００は、ホスト１１０（例えばメモリコントローラ）、及びメモリデバイス１２０（例えばダイナミック・ランダム・アクセス・メモリデバイス又はＤＲＡＭ）を含む。別の実施例では、システム１００は、より多くの要素、より少ない要素及び／又は異なる要素を含んでもよい。
【００１１】
命令／アドレス（Ｃ／Ａ）レーン１０２は、メモリデバイス１２０に命令、及びアドレスを送る複数のレーンを提供する。ＤＱレーン１０４は、双方向読み出し／書き込みデータバスを提供する。ＣＲＣレーン１０６は、ＣＲＣチェックサム・ビットを転送するために、双方向バスを提供する。別の実施例では、ＤＱレーン１０４及び／又はＣＲＣレーン１０６は、一方向性でもよい。説明を簡単にするために、本発明の実施例は、×８メモリデバイスに関して記載する。なお、本発明の実施例は他のデバイスデータ幅（例えば×４、×ｌ６、×３２、など）を含んでもよいことが理解されよう。ホスト１１０は、メモリデバイス１２０への／からのデータ転送を制御する。ホスト１１０は、部分書き込みロジック１１２（以下、ロジック１１２と言う）を含む。ロジック１１２は、ホスト１１０が、書き込みデータフレームの一つ以上のデータ・マスク・ビットを転送することを可能にする。いくつかの実施例では、ロジック１１２は、メモリデバイス１２０がＤＲＡＭアレーに部分書き込みを完了する前に、データ・マスク・ビットが有効かどうか判断することを可能にするためのメカニズムを提供する。例えば、同一データ・マスク・ビットが、複数のユニットインターバル（ＵＩ）において転送されてもよい。メモリデバイス１２０は、それから、複数の同一データ・マスク・ビット（又は複数のビット）のインスタンスを比較し、それらが合っているか判断してもよい。それらが合っている場合、データ・マスク・ビットは有効である可能性が高い。そして、ＣＲＣによるゲートを必要とすることなく部分書き込みが完了できる。このアプローチは、図２乃至図６によって更に詳述する。図の簡略化のために、ロジック１１２は、単一のブロックのロジックとして例示する。しかしながら、ロジック１１２により提供される機能は、必ずしもホスト１１０の制御によるロジックによりなされる必要はない。
【００１２】
いくつかの実施例では、ホスト１１０は、書き込みフレームがデータ・マスク・ビットを含む場合、部分書き込み命令（例えばＷｍ）をエンコードする。そして、書き込みフレームがデータ・マスク・ビットを含まない場合、“通常”の書き込み（例えばＷ）をエンコードする。「部分書き込みフレーム」の語は、少なくとも一部の「部分書き込みフレーム」をマスクするための、一つ以上のデータ・マスク・ビットを含む書き込みフレームを意味する。ホスト１１０はデータ・マスク・ピン（又は複数のピン）を必要としない。なぜなら、データ・マスク・ビットは、部分書き込みフレームによってデータバス（例えば１０４）を通じて伝達されるからである。加えて、データ・マスク・ビットがデータビットによって伝達されるため、それらはデータビットを保護する巡回冗長チェック（ＣＲＣ）のチェックサムによって保護され得る。部分書き込みデータフレームの例は、図２乃至図８によって説明する。いくつかの実施例では、ホスト１１０は、一つ以上のプロセッサと同じダイ上へ一体化される。
【００１３】
ホスト１１０は、また、ＣＲＣ発生器１１４を含んでもよい。ＣＲＣの使用をサポートするシステムにおいて、ＣＲＣ発生器１１４はローカルＣＲＣを生成する。ローカルＣＲＣは、メモリデバイス１２０からのＣＲＣチェックサムと比較され、送信データが損なわれたかどうかが判断される。加えて、ＣＲＣは、書き込み処理に対して生成され、書き込みフレームによってメモリデバイス（ＣＲＣを使う能力をサポートするシステム）に転送される。
【００１４】
メモリデバイス１２０は、（少なくとも一部の）メインシステムメモリをシステム１００に提供する。いくつかの実施例では、メモリデバイス１２０は、ダイナミック・ランダム・アクセス・メモリ・デバイス（ＤＲＡＭ）である。メモリデバイス１２０は、入出力（Ｉ／Ｏ）回路１２２、部分書き込みロジック１２４（以下、ロジック１２４と言う）、及びコア１２６（例えばメモリアレイ）を含む。Ｉ／Ｏ回路１２２は、一つ以上の相互接続（例えばＣ／Ａ１０２、ＤＱ１０４及び／又はＣＲＣ１０６）を介して信号を受信し、及び／又は転送することに適する回路を含む。図の簡略化のために、Ｉ／Ｏ回路１２２は、単一ブロックのロジックとして例示する。しかしながら、Ｉ／Ｏ回路１２２が提供する機能は、必ずしもメモリデバイス１２０のロジックと協働する必要はない。
【００１５】
ロジック１２４は、メモリデバイス１２０が、コア１２６に（例えば、データ・マスク・ビットなしで）通常の書き込みフレーム、又は（例えば、データ・マスク・ビットによって）部分書き込みフレームを書き込むことを可能とする。ロジック１２４は、通常の書き込み（Ｗ）又は部分書き込み（Ｗｍ）として、処理をデコードしてもよい。処理がＷｍである場合、ロジック１２４は、部分書き込みフレームによって提供されるデータ・マスク・ビットを使用し、部分書き込みのフレーム内の選択されたデータビットをマスキングする。ロジック１２４の選択された態様は、図３及び図４を用いて以下に詳細に述べる。
【００１６】
図２は、本発明の一実施例に基づき、部分書き込みフレームフォーマットの１つの実施例を例示する。図示の実施例では、データバスは、８ビット幅であり（例えばＤＱ［７：０］）、そして、各々の書き込みフレームは、８つのユニットインターバル（ＵＩ）転送を持つ（例えばＵＩ０−ＵＩ７）。別の実施例では、データバスは異なる幅（例えば４、１６、３２、その他）を有してもよく、及び／又は、フレーム２００は異なる数のＵＩを有してもよい。
【００１７】
通常は、部分書き込み処理は、バイト、ワード又はＤｗｏｒｄｓ（例えばダブル・ワード）を伝達する。したがって、大部分の部分書き込みは、データを伝達するために、４つの（又はそれより少ない）ＵＩだけを使用する。これは、４つのバースト長に類似している（例えば、ダブルデータレート（ＤＤＲ）３によってインプリメントされる）。バイト４からバイト７は、ビット「Ａ２」が１である書き込みＣＡＳ命令を発することにより、第１のＵＩによって転送される。ビットＡ１２がゼロの書き込みＣＡＳ命令は、ＢＬ８のバースト長を意味する。同様に、ビット「Ａ１２」が１の書き込みＣＡＳ命令は、ＢＬ４のバースト長を意味する。Ａ２がゼロのＢＬ４処理は、バイトゼロから３までが転送されることを示す。Ａ２が１のＢＬ４処理は、部分書き込みフレームの最初の４つのＵＩによって、バイト４からバイト７が転送されることを示す。
【００１８】
いくつかの実施例では、書き込みが部分書き込みか全書き込みを示すための新規な命令エンコーディングが定義される。例えば、部分書き込みをエンコーディングするための命令は、「Ｗｍ」であってもよい。同様に、全書き込みをエンコーディングするための命令は、「Ｗ」であってもよい。フレーム２００は、部分書き込み（Ｗｍ）フレームを示している。フレーム２００は、部分書き込みデータがＵＩゼロから３で転送される。書き込みデータに対応するデータ・マスク・ビットは、最後の４つのＵＩで転送される。
【００１９】
いくつかの実施例では、同一データ・マスク・ビットは、フレーム２００の複数のＵＩで伝達される。フレーム２００を受信したＤＲＡＭは、データ・マスク・ビット（又は複数のビット）の複数のインスタンスを比較し、それらが一致（ｍａｔｃｈ）するか判断する。それらが一致する場合、データ・マスク・ビット（又は複数のビット）は有効である。それらが一致しない場合、データ・マスク・ビット（又は複数のビット）は無効である。このアプローチは、ＤＲＡＭが部分書き込みオペレーションの完了をゲートするためにＣＲＣチェックサム（これは並行して計算されてもよい）で制御することなしに、部分書き込みフレーム２００の的確性を判断することを可能にする。
【００２０】
フレーム２００は、部分書き込みデータバイト０−３をＵＩ０−３に含む。加えて、フレーム２００は、ＤＭ０−ＤＭ３を各々のＵＩ４−７に含む。ＤＭｎが一般的なデータ・マスクであるとすれば、全てのＤＭｎのインスタンスが１である場合、対応するバイトｎはマスクされる。したがって、ＤＭ０＿ａ、ＤＭ０＿ｂ、ＤＭ０＿ｃ、及びＤＭ０＿ｄが各々１であれば、バイトｎはマスクされる。フレーム２００の未使用部分は、「将来使用のための予約（ＲＦＵ：Ｒｅｓｅｒｖｅｄ  ｆｏｒ  ｆｕｔｕｒｅ  ｕｓｅ）」としてマークされる。
【００２１】
別の実施例では、フレーム２００は、異なる構造を有してもよい。そして、少なくとも一つのデータ・マスク・ビットの複数のインスタンス（又はコピー）を含んでもよい。例えば、フレーム２００は、８つ以上のＵＩ又は８より少ないＵＩを有してもよい。データバイト及び／又はデータ・マスク・ビットは、フレーム２００のいずれの場所（例えば始めに、終わりに、あるいはインターリーブされた形、等）に配置されてもよい。一部の別の実施例で、データ・マスク・ビットの順序は、ＵＩ間において変化してもよい。
【００２２】
図３は、本発明の一部の実施例に基づく（例えば、図１の１２４で示される）ＤＲＡＭ部分書き込みロジックの選択された態様を例示する。いくつかの実施例では、ＯＲゲート（例えばＯＲゲート３００）は、ＤＲＡＭコアのためのバイトイネーブルを生成するために使用される。ＢＥ＿０＃がゼロの場合は、対応するバイトがイネーブルされ、かつ、ＤＲＡＭコアに書き込むことができることを意味する。ＯＲゲート３００の入力（例えばＤＭ０＿ａ乃至ＤＭ０＿ｄ）は、ＤＭ０の複数のインスタンス（又はコピー）であり、これらは、部分書き込みデータフレーム（例えば、図２において示されるフレーム２００）からのものである。ＯＲゲート論理回路３００は、１バイトのためのゲーティング・ロジックを例示している。各々のバイトが類似したロジックのインスタンスを有してもよい。別の実施例において、異なるロジックがバイトイネーブルを生成するためにＤＲＡＭにおいて使用されてもよい。
【００２３】
いくつかの実施例では、ＣＲＣチェックは、バイトイネーブルの生成と並列になされる。ＣＲＣチェックがエラー（又は複数のエラー）を検出した場合、これらはコントローラ（例えば、図１において示されるホスト１１０）に報告される。図４は、本発明の一部の実施例に従うエラー報告ロジック４００の実施例である。ロジック４００は、ＡＮＤゲート４０２、ＯＲゲート４０４、及びＸＯＲゲート４０６を含む。動作において、ＡＮＤゲート４０２、及びＯＲゲート４０４への入力として、ＤＭｎ＿ａ乃至ＤＭｎ＿ｄが提供される。ＤＭｎ＿ａ乃至ＤＭｎ＿ｄの全ての値が同じ（例えばいずれ１又はゼロ）であれば、ＸＯＲ４０６への入力は同じとなり、したがって、ＸＯＲ４０６の出力はゼロである（エラー検出なし）。一方、ＤＭｎ＿ａ乃至ＤＭｎ＿ｄの少なくとも１つが、他と異なる場合、ＸＯＲ０６への入力は同じにならず、ＸＯＲ４０６の出力はハイとなり、エラー状態（例えば４０８）を示す。ＥＲＲＯＲ信号４０８はコントローラに送られ、部分書き込みオペレーションが再試行される。
【００２４】
図１乃至図４に示された実施例は、×８メモリデバイスに関するものである。別の実施例では、メモリデバイスは、異なる幅（例えば×ｌ６、×４、など）を有してもよい。図５は、本発明の一部の実施例に従って、×ｌ６デバイスの用途に適している部分書き込みフレームの実施例を例示する。フレーム５００は、図５に示すように、ＤＱ０−ＤＱ７に使用されるフォーマットがＤＱ８−ＤＱ１５に複製されている点以外は、（図２に示す）フレーム２００に類似するフォーマットを有する。表１は、フレーム５００においてデータ・マスク・ビット（ＤＭ）をバイトにマップする表である。別の実施例では、異なるフレームフォーマットが使用されてもよい。
【００２５】
【表１】
0005301668.tif 000002
図６は、本発明の一部の実施例に従って、×４デバイスの用途に適している部分書き込みフレームの実施例を例示する。フレーム６００は、ＵＩ０−３がバイトの代わりにニブルを転送する点を除いて、（図２に示す）フレーム２００と類似するフォーマットを有する。この実施例では、ＤＭｎ＿ａ乃至ＤＭｎ＿ｄは、対応するニブルをカバーする。フレーム６００において、データマスクビット（ＤＭ）がニブルにマップすることを示したものである。別の実施例では、異なるフレームフォーマットが使用されてもよい。
【００２６】
【表２】
0005301668.tif 000003
図７は、本発明の一実施例に基づき、メモリデバイスにデータ・マスク・ビットを転送する方法の選択された態様を例示するフローチャートである。プロセスブロック７０２を参照すると、ホスト（例えば、１図に示されるホスト１１０）は、メモリデバイス（例えば、図１に示されるメモリデバイス１２０）に、部分書き込み命令（例えばＷｍ）を発する。いくつかの実施例では、ホストはメモリコントローラであり、そして、メモリデバイスはＤＲＡＭである。
【００２７】
プロセスブロック７０４を参照すると、ホストは、部分書き込み命令に応答する部分書き込みフレームを生成する。いくつかの実施例では、部分書き込みフレームは、部分書き込みデータを転送するために、ｍ個のユニットインターバルを含む。部分書き込みフレームは、また、部分書き込みデータに対応するデータ・マスク・ビットを転送するために、ｎ個のユニットインターバルを含んでもよい。いくつかの実施例では、いくつかのデータ・マスク・ビットは、ｎ個のユニットインターバルのうちの少なくとも２つ以上において繰り返される。実例として、図２のフレーム２００を参照すると、各々のＵＩ４−７はＤＭ０＿ａ乃至ＤＭ０＿ｄのコピーを有する。部分書き込みフレームを受信したＤＲＡＭは、ＤＭ０＿ａ乃至ＤＭ０＿ｄの複数のインスタンスを比較し、信号エラーが起こったかどうかを判断してもよい。
【００２８】
ホストは、部分書き込みフレームを７０６のメモリデバイスへ転送する。いくつかの実施例では、メモリデバイスは、ＤＲＡＭである。別の実施例では、メモリデバイスは、ＤＲＡＭ以外のもの（例えばＳＲＡＭなど）であってもよい。本発明の実施例の要素は、また、機械で実行可能な命令を記憶する機械可読の媒体として提供されてもよい。機械可読の媒体は、電子的命令を記憶することに適しているフラッシュメモリ、光ディスク、コンパクトディスク読取り専用メモリＣＤ−ＲＯＭ、ＤＶＤＲＯＭ、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、磁気又は光学カード、伝搬メディア又は他の種類の機械で読み取ることができるメディアを含むが、これに限定されるものではない。例えば、本発明の実施例では、データ信号を経由してリモートコンピュータ（例えばサーバ）から要求元コンピュータ（例えばクライアント）に転送されるコンピュータ・プログラムが通信リンク（例えばモデム又はネットワークコネクション）を介して搬送波又は他の伝搬媒体によってダウンロードされてもよい。
【００２９】
上述の説明において、特定の用語が、本発明の実施例を記載するために使用される。例えば、「ロジック」の語は、一つ以上のファンクションを実行するために、ハードウェア、ファームウェア、ソフトウェア（又はそれのいかなる組合せ）を表す。例えば、「ハードウェア」の実施例は、集積回路、有限状態機械又は組合せのロジックを含むが、これに限定されるものではない。集積回路は、プロセッサ（例えばマイクロプロセッサ、特定用途向け集積回路、デジタルシグナルプロセッサ、マイクロコントローラ、等）という形をとってもよい。
【００３０】
明細書全体にわたって「一実施例」又は「実施例」という参照は、実施例に対応して記載されている特定の特徴、構造又は特徴が、本発明の少なくとも一つの実施例に含まれることを意味すると理解されなければならない。したがって、この明細書のさまざまな部分の「実施例」又は「一実施例」又は「別の実施例」の２つ以上の参照の全てが同じ実施例に必ずしも関連しているというわけではないことは、特に理解されなければならない。さらにまた、本発明の一つ以上の実施例において適切に、特定の特徴、構造又は特徴が結合されてもよい。
【００３１】
同様に、本発明の実施例の上述の説明において、さまざまな発明の態様の一つ以上を理解するのを容易にするために、さまざまな特徴が、単一の実施例、図又は説明にまとめられている点が理解されなければならない。ここにおいて説明した事項は、各々の請求項において明示的に記載されている特徴以上に、発明の主題を請求項の内容に包含させる意図がないことを理解しなければならない。むしろ、以下に記載する請求項は、単一の実施例の全ての特徴より少ない事項を反映していると理解すべきである。したがって、詳細な説明の後に記載されている請求項は、この詳細な説明に当然のごとく組み込まれるものである。
【図１】
0005301668.tif 000004
【図２】
0005301668.tif 000005
【図３】
0005301668.tif 000006
【図４】
0005301668.tif 000007
【図５】
0005301668.tif 000008
【図６】
0005301668.tif 000009
【図７】
0005301668.tif 000010