JP2008535107A - 結合されたコマンドおよびデータ・コード - Google Patents

結合されたコマンドおよびデータ・コード Download PDF

Info

Publication number
JP2008535107A
JP2008535107A JP2008504531A JP2008504531A JP2008535107A JP 2008535107 A JP2008535107 A JP 2008535107A JP 2008504531 A JP2008504531 A JP 2008504531A JP 2008504531 A JP2008504531 A JP 2008504531A JP 2008535107 A JP2008535107 A JP 2008535107A
Authority
JP
Japan
Prior art keywords
command
associated data
error
code
error code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008504531A
Other languages
English (en)
Other versions
JP4839364B2 (ja
Inventor
ヴォグト,ピート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2008535107A publication Critical patent/JP2008535107A/ja
Application granted granted Critical
Publication of JP4839364B2 publication Critical patent/JP4839364B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Selective Calling Equipment (AREA)

Abstract


本装置は、コマンドおよび関連するデータのためのソースを含む。エラーコード生成器は、結合されたコマンドおよび関連するデータのためのエラーコードを生成し、それがコマンドおよび関連するデータの間で分配される。その後、送信機が、コマンドおよび関連するデータを別々に送信する。

Description

本発明はデータに関し、より詳しくはデータ内のエラーの検出に関する。
命令シーケンスがメモリへのデータの書き込みを要求する場合、典型的には2つの情報、すなわち、コマンドおよびメモリに書き込まれるデータがメモリに送信される。エラーは、これらの要素のいずれの送信においても生じる可能性がある。例えば、コマンドが破損された場合には、データがメモリ内の間違った位置に書き込まれることがある。また、明らかに、データが破損された場合は、誤ったデータがメモリに書き込まれる。
これらの潜在的なエラーに対処するために、コマンドおよび関連するデータは、それぞれエラー検出コードを与えられる。典型的には、周期冗長検査コード(CRC)が使用される。その後、CRCは、送信中にエラーが生じたかどうかを判定するために、メモリ・モジュールによって使用される。エラーが検出された場合、メモリ・モジュールは、コマンドおよび関連するデータの再送信を要求する。
しかしながら、CRCのためのビットを送信することで、コマンドまたはデータを送信するために使用されるべき帯域幅が奪われる。CRCを送信するために必要とされるビット数は、実行される特定のCRCアルゴリズムに依存する。より複雑なCRCアルゴリズムは、より多くのエラーを検出することができる(例えば、単純なCRCは、1ビットを変更するエラーを検出ことができるが、2ビットを変更するエラーを検出できない)が、送信するためにより多くのビットを必要とする。
本発明の実施例は、当該技術分野におけるこのような問題および他の問題に対処する。
図1は、本発明の実施例を使用することができるマシンを示す。図1において、マシン105は、コンピュータ110、モニタ115、キーボード120、およびマウス125を含むコンピュータ・システムとして示される。図2はコンピュータ110内の要素、すなわちプロセッサ205、相互接続210、およびメモリ・モジュール215−1,215−2,215−3,215−4(集合的には、メモリ・モジュール215)を、より詳細に露出した状態で示す。プロセッサ205は、単一のプロセッサ・コアを有するチップでもよく、あるいは、他の実施例では、複数のプロセッサ・コアを有するチップでもよい。(もちろん、プロセッサ205を含むチップは、本発明の実施例によっては、同様に他の要素を含んでもよい。)相互接続210は、通信をサポートするために、要素を互いに接続するために使用される。相互接続210は、ポイント・ツー・ポイント相互接続であってもよく、あるいは、複数の要素を相互に接続するものであってもよい。例えば、相互接続210がポイント・ツー・ポイント相互接続である場合、それは単にプロセッサ205とメモリ・モジュール215とを接続するであろう。しかし、相互接続210が複数の要素を相互接続する場合、さらに他の要素(図2に示されていない)を相互接続210に接続することができる。
本発明の実施例で典型的に使用されるのは、メモリ・モジュール215−1のようなメモリ・モジュールにデータを書き込むためのコマンドであり、典型的には、コマンドは、データと別々にメモリ・モジュールに送られる。メモリ・モジュール215は、ダイナミック・ランダム・アクセス・メモリ(DRAM)のような、任意の種類メモリ・モジュールである。しかしながら、当業者ならば、本発明の実施例が、図1および図2に示される特定のハードウェアの要素に制限されていないことを理解するであろう。本発明の実施例は、コマンドおよびデータが送信中に分離されるすべての状況に適用することができる。本発明の実施例を使用することができる他のプラットフォームの例としては、特に、ノートブック・コンピュータのようなあらゆる種類のコンピュータ、サーバ、またはインターネット装置、携帯情報端末(PDA)、あるいはあらゆる埋め込まれたアプリケーションが含まれるが、これらに制限されない。
図3は、本発明の実施例に従って、図1のマシン内でのエラーコードの生成を示す。図3において、ソース305は、コマンド310およびデータ315を生成する。リーダの解釈に依存して、ソース305はコードのいずれかのラインであり、それによってプロセッサはデータをメモリ・モジュールに、またはプロセッサ自身に書き込むが、いずれかの解釈が受理可能である。その後、コマンド310およびデータ315は、コード生成器320の入力として使用され、コード生成器320はコード325を生成する。コード生成器320は、コマンド310およびデータ315を単一セットのビットに結合し、コード325を生成する。コード生成器320は、任意の要求されたアルゴリズムを実行し、送信されたデータの正確性を検査するために使用可能なコードを生成する。このようなコードの例としては、パリティ・ビット、チェックサム、周期冗長検査コード(CRC)または多項式コードのようなエラー検出コード、および、ハミング・コードのようなエラー訂正コードを含む。
コード生成器320は、2つの入力を取得するが、2つの入力のために単一のコードを生成することに注意されたい。この点は、コマンドおよびデータの各々のために個別のコードが生成される先行技術の解決法と対照的である。単一のコード325を生成するためにコマンド310およびデータ315を結合することについては、実行方法が選択できる。コード生成器320は、先行技術のコード生成器と同レベルのエラー検出(あるいは訂正)を提供するコードを生成するが、その場合に、コマンド310およびデータ315を結合することにより単一のコード325にして効率化するので、より少ないビットしか必要としない。あるいは、コード生成器320は、コマンド310およびデータ315のために別々に生成されたであろうビット数と同じビット数を使用するコードを生成してもよく、それによって、コード325の正確さが増加する。
この選択についてのさらなる説明は、例を挙げることによって明らかになる。例えば、有効性を検査されるデータの各バイトのために1バイトのコードを生成するCRCについて考えてみる。さらに、コマンドおよびデータが、それぞれ4ビットの長さ(すなわち、それぞれが1バイトの2分の1のみ使用する)と仮定する。もし、CRCがコマンドおよびデータのために別々に生成される場合、合計4バイト、すなわち、コマンドのために1バイト(それらの半分は空である)、データのために1バイト(それらの半分は空である)、および2つのCRCコードのために2バイトが必要である。しかしながら、コマンドおよびデータが単一のバイトに結合される場合、(同じCRCアルゴリズムを使用して)CRCコードを格納するための1バイトのみが必要とされる。これによって、コードに必要とされるビット数が削減され、したがって、送信されるビット数が減少する。あるいは、より正確なアルゴリズムが、同じCRCアルゴリズムの代わりに使用されてもよく、それは送信においてより多くのエラーを検出する。かかるコードは3バイトを使用するので、先行技術と同じく4バイトが使用されることを意味する。これは、先行技術と同数のビットが使用されることを意味するが、より高い正確性を達成することができる。例えば、オリジナルのCRCアルゴリズムを用いて検出できたよりも多くのエラーを検出できるかもしれないし、あるいは再送信の必要性を回避するためのエラー訂正コードを使用できるかもしれない。
一旦コード325が生成されると、コード325は、コマンド310,315に付加される。図4は、分配器405によってコマンド310およびデータ315の間で分配されたコード325を示す。この分配は望ましい任意の方法で行なうことができる。例えば、コード325は、データ315の後に付加されてもよい。あるいは、コード325は、コマンド310の前に送信されてもよい。あるいは、コード325は、コマンド310およびデータ315のビット中に分散されてもよい。図4は、コマンド310に付加されたコード325の第1部分410、およびデータ315に付加されたコード325の第2部分415を示す。しかしながら、当業者ならば、受信者がコード325のビットを識別する方法を知っている限り、任意の分配方法を使用できることを理解するであろう。
図5は、本発明の実施例に従って、図2のメモリへのコマンド、データ、およびエラーコードの送信を示す。図5において、プロセッサ205は送信機505を含んで示され、それは、コマンド310、データ315、およびコード410,415の2つの部分を、相互接続210上のメモリ・モジュールに送信する。典型的には、コマンド310(およびコードの第1部分410)は、データ315(およびコードの第2部分415)とは別々に送信される。
図5は、プロセッサ205の一部として送信機505を示すが、当業者であれば、送信機505がプロセッサ205の一部である必要はないこと、および、送信機505が適切な宛先(もちろんそれがメモリ・モジュールである必要はない)へコマンド310、データ315、およびコードを送信することを提供できるならば、送信もまた相互接続210上で行われる必要がないことを理解するであろう。
書込みコマンドおよびデータをメモリ・モジュールに送信するプロセッサというテーマを続けて、図6は、本発明の実施例に従って、図5の送信機によって送信されたコマンド、データおよびエラーコードを受信する図2のメモリ・モジュールを示す。メモリ・モジュール215−1は、メモリ・モジュール215−1に組み込まれた受信機605を使用して、コマンド310、データ315、およびコード410,415の2つの部分を相互接続210上のプロセッサから受信する。当業者ならば、ちょうど図5の送信機505がプロセッサ205の一部である必要がないように、受信機605もまたメモリ・モジュール215−1の一部である必要がないこと、および、受信機605が相互接続210上でコマンド310、データ315、およびのコード410,415の2つの部分を受信する必要がないことを理解するであろう。すなわち、図示された実施例は、他の実施例を排除するものではない。
図7は、本発明の実施例に従って、図5の送信機によって送信されたコマンドおよびデータの有効性を検査し、かつ実行する図2のメモリ・モジュールを示す。一旦コマンド310、データ315、およびコード410,415の部分が受信されると、検査器(validator)705はコードを使用して、コマンド310およびデータ315の有効性を検査する。これは、コマンド310およびデータ315を処理してコード生成アルゴリズムに適切なコードを新たに計算し、さらに、エラー検出器710がその結果を送信されたコードと比較し、結果が一致するかどうかを確認することによって遂行される。結果が一致しない場合、受信機605またはメモリ・モジュール215−1(図6)は、図5のプロセッサ205に、コマンド310、データ315、およびコード410,415の2つの部分を再送信することを要求する。あるいは、コードがエラー訂正コードを含む場合、エラー訂正器715がエラーを訂正するために使用される。
コマンド310およびデータ315の有効性が検査され、または成功裡に訂正されたと仮定して、次に、それらは、コマンドを実行するために回路720によって処理される。例えば、コマンド310が、メモリにデータ315を書き込むコマンドである場合、回路720は、メモリ・モジュール215−1内の指定された位置にデータ315を書き込む。
単一のコードを使用することによって、再送信のための要求の数が増加しないことは注目に値する。先行技術では、コマンドまたはデータのいずれかにエラーがある場合、コマンド310およびデータ315の両方が再送信を要求される。単一のコードの使用すると、要求の数は変わらない。図3を巡る議論に関して上述されたように、コマンド310、データ315およびコードを送信するためにはより少数のビットしか使用されず、かつ、より高い正確性が達成される。
図8は、本発明の実施例に従って、図1のマシン内でコマンドおよびデータのためのエラーコードを生成し送信するための手順を示す。図8において、ブロック805で、システムは、コマンドおよび関連するデータを識別する。ブロック810で、システムは、コマンドおよび関連するデータを結合する。ブロック815で、システムは、結合したコマンドおよび関連するデータのためのコードを生成する。ブロック820で、システムは、コマンドにコードの第1部分を付加し、ブロック825で、システムは、関連するデータにコードの第2部分を付加する。最後に、ブロック830で、システムは、コマンド、関連するデータ、およびコードを送信する。典型的には、(コードのそれぞれの部分を有する)コマンドおよび関連するデータは、別々に送信される。
図8は、コマンドおよび関連するデータにコードの部分を付加するブロック820〜825を示すが、図4に関して上述されたように、コードは、望ましい任意の方法で、コマンドおよび関連するデータの間で分配されてもよい。例えば、コードが単にデータに付加される場合、ブロック820は必要でなく、また、ブロック825は、全コードを関連するデータに付加してもよい。
図9A〜図9Bは、本発明の実施例に従って、図1のマシン内のコマンド、データ、およびエラーコードを受信しかつ有効性を検査するための手法を示す。図9Aにおいて、ブロック905で、システムはコマンド、関連するデータ、およびコードを受信する。ブロック910で、システムは、コマンドからコードの第1部分を検索し、さらに、ブロック915で、システムは、関連するデータからコードの第2部分を検索する。図4および図8に関して上述されたように、ブロック910〜915は、コードがコマンドおよび関連するデータの間でどのように分配されるかに依存して、望ましい任意の方法で修正される。ブロック920で、システムは、コードを使用して、コマンドおよび関連するデータの有効性を検査する。コードがエラー訂正コードである場合、ブロック925で、コードはコマンドおよび関連するデータ内のエラーを訂正するために使用される。(コードがエラー訂正コードでない場合は、破線930で示されるように、ブロック925が省略される。)
ブロック935(図9B)で、システムは、コマンドおよび関連するデータの有効性が検査されたかどうかを確認するためにチェックする。コマンドおよび関連するデータの有効性が検査された場合、ブロック940で、システムはコマンドおよび関連するデータを処理する。そうでない場合は、ブロック945で、システムは、コマンド、関連するデータ、およびコードの再送信を要求し、処理は図9Aのブロック905に戻る。
以下の記述は、本発明の特定の側面を実施することができる適切なマシンについての簡潔かつ一般的な記述を提供することを意図するものである。典型的には、マシンはシステム・バスを含み、それがプロセッサ、メモリ(例えばランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、またはその他の状態保存媒体)、格納装置、ビデオ・インターフェイス、および入力/出力インターフェイス・ポートに接続される。マシンは、少なくとも一部分が、キーボード、マウス等の従来型の入力装置からの入力によって制御され、同様に他のマシン、仮想現実(VR)環境を有するインタラクション、バイオメトリック・フィードバック、または他の入力信号から受信された指令によっても制御される。ここで使用されるように、用語「マシン」は単一のマシン、または共に動作するように通信可能に結合されたシステムを広く包含することを意図する。典型的なマシンは、パーソナルコンピュータ、ワークステーション、サーバ、ポータブル・コンピュータ、携帯型装置、電話、タブレット等のような演算装置を含み、同様に、個人あるいは公共輸送のような輸送装置(例えば自動車、列車、タクシー等)も含む。
マシンは、例えば、プログラム可能またはプログラム可能でない論理装置またはアレイ、特定用途向け集積回路、組込み型コンピュータ、スマート・カード、およびその他同種のものが組み込まれた制御装置を含む。マシンは、ネットワーク・インターフェイス、モデム、あるいは他の通信結合装置を介して、1またはそれ以上の遠隔のマシンへの1またはそれ以上の接続を利用する。マシンは、イントラネット、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークなどのような物理的および/または論理的なネットワークによって相互に接続される。当業者であれば、ネットワーク通信は、例えば無線周波数(RF)、衛星、マイクロ波、電気電子学会(IEEE)の802.11、ブルートゥース、光、赤外線、ケーブル、レーザ等を含む、様々なワイヤードまたはワイヤレスの短距離および長距離キャリアおよびプロトコルを利用できることを理解するであろう。本発明は、マシンによってアクセスされたとき、マシンがタスクを実行し、あるいは抽象データ型または低レベルのハードウェア・コンテキストを定義するような、機能、手法、データ構造、アプリケーション・プログラム等を含む関連するデータに関して、またはそれと共に記述された。かかる実施例もまた、プログラム・プロダクトと称される。関連するデータは、例えば、揮発性および/または不揮発性メモリ(例えばRAM、ROM等)内に格納され、あるいは、ハードドライブ、フロッピィ・ディスク(登録商標)、光学記憶装置、テープ、フラッシュ・メモリ、メモリ・スティック、ディジタル・ビデオ・ディスク、生物学的記憶装置などを含む他の格納装置およびそれらに関連する格納媒体内に格納される。関連するデータはまた、アンテナ、電線、光ファイバ、マイクロ波、電波、また他の電磁的または光学的キャリアのような通信媒体と共に使用されてもよい。関連するデータは、パケット、直列データ、並列データ、伝播信号などの形で、物理的および/または論理的なネットワークを含む送信環境上で転送され、圧縮また暗号化されたフォーマットで使用されることもある。関連するデータは、分散環境内で使用されてもよく、マシン・アクセスのためにローカルおよび/または遠隔的に格納されてもよい。
本発明の原理が、実施例と共に記述され図示されたが、これらの実施例は、かかる原理から逸脱することなく、配列および詳細について変更可能であることが理解されるであろう。また、前記の記述は、特定の実施例に焦点を合わせているが、他の構成も想起される。特に、「実施例」またはそれと同様の表現がここで使用されているが、これらの語句は、一般に実施例の可能性を参照することを意味し、本発明を特定の実施例の構成に限定する意図はない。ここで使用されるように、これらの用語は、同一または異なる実施例を参照するが、他の実施例に組み合わせることができる。さらに、多様な実施例は、特にここで記述された以外の組み合わせを創出するために、望ましい任意の方法で組み合わせることができる。
従って、ここに記述された実施例には多様な変更が可能であることを考慮すれば、ここにおける詳細な記述および添付資料は単に例示目的であり、本発明の範囲を制限すると解釈すべきではない。従って、本発明は、添付の請求項およびこれと同等の範囲および精神から想起されるような全ての変更についてクレームする。
本発明の実施例を使用することができるマシンを示す。 本発明の実施例を使用することができる図1のマシンの構成要素を示す。 本発明の実施例に従って、図1のマシン内でのエラーコードの生成を示す。 本発明の実施例に従って、図2のメモリ・モジュールに送信されるコマンドおよびデータへの図3のエラーコードの分配を示す。 本発明の実施例に従って、図2のメモリへのコマンド、データ、およびエラーコードの送信を示す。 本発明の実施例に従って、図5の送信機によって送信されたようなコマンド、データ、およびエラーコードを受信する図2のメモリ・モジュールを示す。 本発明の実施例に従って、図5の送信機によって送信されたコマンドおよびデータの有効性を検査し実行する図2のメモリ・モジュールを示す。 本発明の実施例に従って、図1のマシン内のコマンドおよびデータためにエラーコードを生成し送信するための手法を示す。 本発明の実施例に従って、図1のマシン内のコマンド、データ、およびエラーコードを受信し、かつ有効性を検査する手法を示す。 本発明の実施例に従って、図1のマシン内のコマンド、データ、およびエラーコードを受信し、かつ有効性を検査する手法を示す。

Claims (20)

  1. コマンドおよび前記コマンドのための関連するデータを生成するソースと、
    前記コマンドおよび前記関連するデータのためのエラーコードを生成するエラーコード生成器と、
    前記コマンドおよび前記関連するデータの間で前記エラーコードを分配する分配器と、
    前記コマンドおよび前記関連するデータを別々に送信する送信機と、
    から構成されることを特徴とする装置。
  2. 前記分配器は、前記エラーコードの第1部分を書込みコマンドに、前記エラーコードの第2部分を前記関連するデータに付加するために設計されることを特徴とする請求項1記載の装置。
  3. 前記エラーコードは、エラー訂正コードを含み、
    前記エラーコード生成器は、前記コマンドおよび前記関連するデータのための前記エラー訂正コードを生成するためのエラー訂正コード生成器を含むことを特徴とする請求項1記載の装置。
  4. コマンド、関連するデータ、およびエラーコードを受信するための受信機と、
    前記エラーコードを使用して前記コマンドおよび前記関連するデータの有効性を検査するための検査器と、
    前記コマンドおよび前記関連するデータを処理するための回路と、
    を構成することを特徴とする物品。
  5. 前記受信機は、前記コマンドおよび前記エラーコードの第1部分を、前記関連するデータおよび前記エラーコードの第2部分と別々に受信するために動作することを特徴とする請求項4記載の物品。
  6. 前記エラーコードは、エラー訂正コードを含み、
    前記検査器は、
    前記エラーコードを使用して、書込みコマンドおよび前記関連するデータのうちの1つにおけるエラーを検出するためのエラー検出器、および、
    前記エラーコードを使用して、前記エラーを訂正するエラー訂正器、
    を含むことを特徴とする請求項4記載の物品。
  7. メモリ・モジュールであって、
    コマンド、前記コマンドのための関連するデータ、および前記コマンドおよび前記関連するデータの間で分配されたエラーコードを受信するための受信機、
    前記エラーコードを使用して、前記コマンドおよび前記関連するデータの有効性を検査するための検査器、および、
    前記コマンドおよび前記関連するデータを処理するための回路、
    を含むメモリ・モジュールと、
    前記メモリ・モジュールに接続された相互接続と、
    前記コマンドおよび前記関連するデータのためのソースと、
    前記コマンドおよび前記関連するデータのための前記エラーコードを生成するためのエラーコード生成器と、
    前記コマンドおよび前記関連するデータの間で前記エラーコードを分配する分配器と、
    前記相互接続を使用して、前記コマンド、前記関連するデータ、および前記エラーコードを前記メモリ・モジュールへ送信する送信機と、
    から構成されることを特徴とするシステム。
  8. 前記送信機は、前記コマンドおよび前記関連するデータを別々に送信するために動作することを特徴とする請求項7記載のシステム。
  9. 前記分配器は、前記エラーコードの第1部分を前記コマンドに、前記エラーコードの第2部分を前記関連するデータに付加するために設計されることを特徴とする請求項7記載のシステム。
  10. 前記受信機は、前記コマンドおよび前記エラーコードの前記第1部分を、前記関連するデータおよび前記エラーコードの前記第2部分と別々に受信することを特徴とする請求項9記載のシステム。
  11. 前記エラーコード生成器は、前記コマンドおよび前記関連するデータのためのエラー訂正コードを生成するためにエラー訂正コード生成器を含むことを特徴とする請求項7記載のシステム。
  12. 前記エラーコードは、エラー訂正コードを含み、
    前記検査器は、
    前記エラーコードを使用して、前記コマンドおよび前記関連するデータのうちの1つにおけるエラーを検出するためのエラー検出器、および、
    前記エラーコードを使用して、前記エラーを訂正するエラー訂正器、
    を含むことを特徴とする請求項11記載のシステム。
  13. 前記相互接続に接続されたプロセッサをさらに含み、前記コマンドおよび前記関連するデータのための前記ソースを実行することができることを特徴とする請求項7記載のシステム。
  14. コマンドおよび関連するデータを識別する段階と、
    前記コマンドおよび前記関連するデータを結合データに結合する段階と、
    前記結合データのためのエラーコードを生成する段階と、
    前記コマンドおよび前記関連するデータの間で前記エラーコードを分配する段階と、
    から構成されることを特徴とする方法。
  15. 前記コマンドおよび前記関連するデータをメモリ・モジュールへ送信する段階をさらに含むことを特徴とする請求項14記載の方法。
  16. 前記コマンドおよび前記関連するデータを送信する段階は、前記コマンドおよび前記関連するデータを別々に送信する段階を含むことを特徴とする請求項15記載の方法。
  17. 前記コマンドおよび前記関連するデータを前記メモリ・モジュールで受信する段階と、
    前記コマンドおよび前記関連するデータから前記エラーコードを識別する段階と、
    前記エラーコードを使用して、前記コマンドおよび前記関連するデータの有効性を検査する段階と、
    前記コマンドおよび前記関連するデータを処理する段階と、
    をさらに含むことを特徴とする請求項15記載の方法。
  18. 前記コマンドおよび前記関連するデータを受信する段階は、
    前記コマンドおよび前記エラーコードの第1部分を受信する段階、および、
    前記関連するデータおよび前記エラーコードの第2部分を受信する段階、
    を含むことを特徴とする請求項17記載の方法。
  19. 前記コマンドおよび前記関連するデータから前記エラーコードを識別する段階は、前記コマンドおよび前記関連するデータからエラー訂正コードを識別する段階を含み、
    前記エラーコードを使用して前記コマンドおよび前記関連するデータの有効性を検査する段階は、
    前記エラー訂正コードを使用して前記コマンドおよび前記関連するデータの少なくとも1つにおけるエラーを検出する段階、および、
    前記エラー訂正コードを使用して前記エラーを訂正する段階、
    を含むことを特徴とする請求項17記載の方法。
  20. 前記エラーコードを分配する段階は、
    前記エラーコードの第1部分を書込みコマンドに付加する段階、および、
    前記エラーコードの第2部分を前記関連するデータに付加する段階、
    を含むことを特徴とする請求項14記載の方法。
JP2008504531A 2005-03-31 2006-03-31 結合されたコマンドおよびデータ・コード Expired - Fee Related JP4839364B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/097,955 2005-03-31
US11/097,955 US7827462B2 (en) 2005-03-31 2005-03-31 Combined command and data code
PCT/US2006/012599 WO2006105525A2 (en) 2005-03-31 2006-03-31 Combined command and data code

Publications (2)

Publication Number Publication Date
JP2008535107A true JP2008535107A (ja) 2008-08-28
JP4839364B2 JP4839364B2 (ja) 2011-12-21

Family

ID=36843278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008504531A Expired - Fee Related JP4839364B2 (ja) 2005-03-31 2006-03-31 結合されたコマンドおよびデータ・コード

Country Status (7)

Country Link
US (1) US7827462B2 (ja)
JP (1) JP4839364B2 (ja)
KR (1) KR100954734B1 (ja)
DE (1) DE112006000349T5 (ja)
GB (1) GB2438541B (ja)
TW (1) TWI330781B (ja)
WO (1) WO2006105525A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284181B1 (en) * 2002-04-24 2007-10-16 Juniper Networks, Inc. Systems and methods for implementing end-to-end checksum
US20060195631A1 (en) * 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code
US10216657B2 (en) 2016-09-30 2019-02-26 Intel Corporation Extended platform with additional memory module slots per CPU socket and configured for increased performance
US9818457B1 (en) 2016-09-30 2017-11-14 Intel Corporation Extended platform with additional memory module slots per CPU socket

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58171798A (ja) * 1982-01-19 1983-10-08 タンダム・コンピユ−タ−ズ・インコ−ポレ−テツド メモリシステム
JPH0981463A (ja) * 1995-09-14 1997-03-28 Fuji Electric Co Ltd メモリアクセス方法
JP2000066962A (ja) * 1998-08-25 2000-03-03 Hitachi Ltd 記憶装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3914741A (en) 1973-11-01 1975-10-21 Bell Telephone Labor Inc Fault detection arrangement for digital transmission system
US4672609A (en) * 1982-01-19 1987-06-09 Tandem Computers Incorporated Memory system with operation error detection
US4541091A (en) * 1982-06-11 1985-09-10 Hitachi, Ltd. Code error detection and correction method and apparatus
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
US5173905A (en) 1990-03-29 1992-12-22 Micron Technology, Inc. Parity and error correction coding on integrated circuit addresses
US5530835A (en) 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
US5455834A (en) * 1993-06-14 1995-10-03 Hal Computer Systems, Inc. Fault tolerant address translation method and system
US5940137A (en) 1996-03-01 1999-08-17 Trw Inc. Symbol timing generation and recovery for data transmission in an analog video signal
JP2984913B2 (ja) * 1996-04-23 1999-11-29 順一 仙波 プログラム可能なシーケンス制御回路
US5996113A (en) 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6101198A (en) 1996-12-03 2000-08-08 Carrier Access Corporation Processor-based voice and data time slot interchange system
US7076568B2 (en) 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6760743B1 (en) * 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
JP3757204B2 (ja) * 2002-12-06 2006-03-22 ファナック株式会社 エラー検出/訂正方式及び該方式を用いた制御装置
US7313639B2 (en) 2003-01-13 2007-12-25 Rambus Inc. Memory system and device with serialized data transfer
US7020757B2 (en) 2003-03-27 2006-03-28 Hewlett-Packard Development Company, L.P. Providing an arrangement of memory devices to enable high-speed data access
CN100444141C (zh) 2003-05-13 2008-12-17 先进微装置公司 通过串行内存互连以将主机连接至内存模块的系统与方法
US20060095620A1 (en) 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US20060242537A1 (en) * 2005-03-30 2006-10-26 Dang Lich X Error detection in a logic device without performance impact
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58171798A (ja) * 1982-01-19 1983-10-08 タンダム・コンピユ−タ−ズ・インコ−ポレ−テツド メモリシステム
JPH0981463A (ja) * 1995-09-14 1997-03-28 Fuji Electric Co Ltd メモリアクセス方法
JP2000066962A (ja) * 1998-08-25 2000-03-03 Hitachi Ltd 記憶装置

Also Published As

Publication number Publication date
US7827462B2 (en) 2010-11-02
US20060236196A1 (en) 2006-10-19
KR100954734B1 (ko) 2010-04-23
GB0714819D0 (en) 2007-09-12
DE112006000349T5 (de) 2008-02-14
TW200705170A (en) 2007-02-01
GB2438541B (en) 2010-03-03
WO2006105525A2 (en) 2006-10-05
KR20070116678A (ko) 2007-12-10
TWI330781B (en) 2010-09-21
WO2006105525A3 (en) 2007-05-18
GB2438541A (en) 2007-11-28
JP4839364B2 (ja) 2011-12-21

Similar Documents

Publication Publication Date Title
JP5107880B2 (ja) データ転送処理装置及び方法
US11646094B2 (en) Memory system with error detection
US7774684B2 (en) Reliability, availability, and serviceability in a memory device
US11191049B1 (en) Systems and methods for improving wireless performance
US10198397B2 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
US10841039B2 (en) System and method for transferring data and a data check field
US10229003B2 (en) Method and system for iterative data recovery and error correction in a distributed system
JP4839364B2 (ja) 結合されたコマンドおよびデータ・コード
US20110113313A1 (en) Buffer transfer check on variable length data
US11575469B2 (en) Multi-bit feedback protocol systems and methods
US8966338B2 (en) Cyclic redundancy check code generating circuit, semiconductor memory device, and method of driving semiconductor memory device
US6981200B2 (en) Interconnect system with error correction
WO2020181473A1 (zh) 一种电路结构、系统级芯片SoC、处理数据的方法
CN111464258B (zh) 一种数据校验方法、装置、计算设备及介质
US7424667B2 (en) Digital data transmission error checking method and system
CN111694598A (zh) 软件版本包管理方法、装置、设备和介质
US9641287B2 (en) Methods and apparatus for high-integrity data transfer with preemptive blocking
KR102119764B1 (ko) 차량용 메시지 패킷을 송수신하는 장치 및 방법
CN113454611B (zh) 校验地址和控制信号完整性的方法、相关产品
US20090150727A1 (en) Data transmission method
JP7082084B2 (ja) 情報送受信システム、情報送受信方法、および、プログラム、ならびに、連動論理処理装置、および、電子端末
JP2024140325A (ja) 情報処理装置及びデータ受信の誤り検出方法
CN118316757A (zh) 一种以太网通讯总线的链路数据自动纠错方法与系统
Lever Internet-Draft Oracle Intended status: Informational July 2, 2013 Expires: January 3, 2014
Lever Internet-Draft Oracle Intended status: Experimental October 18, 2013 Expires: April 21, 2014

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110418

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4839364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees