JP2013065347A - 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置 - Google Patents

共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置 Download PDF

Info

Publication number
JP2013065347A
JP2013065347A JP2012270332A JP2012270332A JP2013065347A JP 2013065347 A JP2013065347 A JP 2013065347A JP 2012270332 A JP2012270332 A JP 2012270332A JP 2012270332 A JP2012270332 A JP 2012270332A JP 2013065347 A JP2013065347 A JP 2013065347A
Authority
JP
Japan
Prior art keywords
xor
frame
data
integrated circuit
error bit
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
JP2012270332A
Other languages
English (en)
Other versions
JP5437470B2 (ja
Inventor
Kuljit S Bains
エス. ベインズ クルジート
Dennis W Brzezinski
ダブリュー. ブルゼジンスキー デニス
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 JP2013065347A publication Critical patent/JP2013065347A/ja
Application granted granted Critical
Publication of JP5437470B2 publication Critical patent/JP5437470B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置を提供する。
【解決手段】メモリ・システム100は、ホスト110とメモリ・デバイス120との間でデータを転送するためにデータ・フレームを使用する。いくつかの場合には、システムは(別個のビット・レーンを介してではなく)データ・フレーム内で一つまたは複数のデータ・マスク・ビットも転送してもよい。システムは、データ・ビットおよびデータ・マスク・ビットをカバーするエラー・ビット・チェックサム(巡回冗長符号すなわちCRCのような)を生成してもよい。いくつかの実施形態では、データ・ビット、データ・マスク・ビットおよびチェックサム・ビットは共通フレームにおいて転送される。
【選択図】図1

Description

本発明の諸実施形態は、概括的には、集積回路の分野に関し、より詳細には、共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置に関する。
メモリ・システムは、転送されるデータの少なくとも一部がマスクされるべきであることを示す部分書き込みコマンドを使用することがある。部分書き込みを実装する従来のアプローチは、専用データ・マスク・ピンの使用を含む。たとえば、システムはデータの各バイト・レーンについて専用のデータ・マスク・ピンを含みうる。こうして、x16幅のデバイスは典型的には二つの専用データ・マスク・ピンを含む。データ・マスク・ピンは典型的には、データ信号と同じ周波数でトグルされる。多くの場合、x4デバイスは、誤り訂正符号(ECC: error correction code)をもつサーバーにおいて主として使われ、「読み出し‐修正‐書き込み」動作を実行するので、データ・マスキングをサポートしない。
さらに、メモリ・システムにおいて情報が転送されるレートは上がり続けている。これらのより高速な転送レートは、改善されたエラー・カバレッジ(error coverage)のための機構の使用を必要とする。エラー・カバレッジを改善するための従来のアプローチは、チャネルにピンを追加することを含む。
現代のメモリ・システムでは、動的ランダム・アクセス・メモリ(DRAM)・チャネルはピン制約されている(pin constrained)。よって、エラー・カバレッジを改善することに向けた従来のアプローチは現代のメモリ・システムにとっては好適ではない。
本願発明が解決しようとする課題は、本願請求項記載の発明によって解決される。
本発明の実施形態が、限定ではなく例として、付属の図面の各図に示されている。図面において、同じような参照符号は同様の要素を示す。
本発明のある実施形態に基づいて実装されるコンピューティング・システムの選択された諸側面を示す高レベルのブロック図である。 本発明のある実施形態に基づく、データ・マスク・ビットおよび巡回冗長符号ビットをもつx8書き込みフレームの選択された諸側面を示す図である。 本発明のある実施形態に基づく、x8フレームのより詳細なビット・マッピングを示す図である。 本発明のある実施形態に基づく、巡回冗長符号ビットをもつx4フレームの選択された諸側面を示す図である。 本発明のある実施形態に基づいて実装されたホストのための書き込みデータ経路の選択された諸側面を示すブロック図である。 本発明のある実施形態に基づいて実装されたメモリ・デバイスについての読み出しデータ経路の選択された諸側面を示すブロック図である。 本発明のある実施形態に基づく、共有されたエラー・ビット・チェックサムをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送する方法の選択された諸側面を示す流れ図である。
本発明の諸実施形態は概括的には、共有されたエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するシステム、方法および装置に向けられる。メモリ・システムは、ホストとメモリ・デバイスとの間でデータを転送するためにデータ・フレームを使用する。いくつかの場合には、システムは(別個のビット・レーンを介してではなく)データ・フレーム内で一つまたは複数のデータ・マスク・ビットも転送してもよい。いくつかの実施形態では、システムは、データ・ビットおよびデータ・マスク・ビットをカバーするエラー・ビット・チェックサム(巡回冗長符号[cyclic redundancy code]すなわちCRCのような)を生成する。のちにさらに述べるように、いくつかの実施形態では、データ・ビット、データ・マスク・ビットおよびチェックサム・ビットは共通フレームにおいて転送される。
下記には、伝送誤りについてのエラー・カバレッジを提供するためにCRCが使われる本発明の諸実施形態が記載される。しかしながら、代替的な諸実施形態では、異なるエラー・ビット機構が使用されてもよいことは理解しておくべきである。たとえば、代替的な諸実施形態では、伝送誤りについてのカバレッジを提供するために、パリティ・ビット、誤り訂正符号などが使用されうる。用語「エラー・ビット(error bit)」(たとえばCRCビット)は、一つまたは複数のデータ・ビットについてのエラー・カバレッジを提供するビットをいう。
図1は、本発明のある実施形態に基づいて実装されたコンピューティング・システムの選択された諸側面を示す高レベルのブロック図である。図示した実施形態では、システム100はホスト110(たとえばメモリ・コントローラ)およびメモリ・デバイス120(たとえばDRAM)を含む。代替的な実施形態では、システム100はより多くの要素、より少ない要素および/または異なる要素を含んでいてもよい。
相互接続101はホスト110をメモリ・デバイス120とリンクする。いくつかの実施形態では、相互接続101は(少なくとも部分的には)ポイント・ツー・ポイントの相互接続である。他の実施形態では、相互接続101は(少なくとも部分的には)マルチドロップ・バスである。いくつかの実施形態では、相互接続101は、倍速データ・レート・バス(double data rate bus)(たとえば、DDR1、DDR2、DDR3、DDR4など)を定義する標準および/または規格の一つまたは複数に少なくとも部分的に準拠する。図示した実施形態では、相互接続101はコマンド/アドレス・レーン102およびデータ(またはDQ)・レーン104を含む。他の実施形態では、相互接続101はより多くの要素、より少ない要素および/または異なる要素を含んでいてもよい。
コマンド/アドレス(C/A)・レーン102は、メモリ・デバイス120にコマンドおよびアドレスを送るための複数のレーンを提供する。DQレーン104は双方向の読み出し/書き込みデータ・バスを提供する。代替的な実施形態では、DQレーン104は単方向であってもよい。記述の簡単のため、本発明の実施形態は、x8メモリ・デバイスを参照して記載される。しかしながら、本発明の実施形態が、x4、x16、x32等のような他のデバイス・データ幅(device data width)を含んでいてもよいことは理解しておくべきである。
ホスト110は、メモリ・デバイス120への、およびメモリ・デバイス120からのデータの転送を制御する。いくつかの実施形態では、ホスト110は、一つまたは複数のプロセッサと同じダイ上に統合される。他の実施形態では、ホスト110はコンピューティング・システムのチップセットの一部である。ホスト110は、データの転送を制御するために、多様なコマンドを使用しうる。たとえば、完全書き込み(full write)をエンコードするコマンドは「W」として定義されうる。いくつかの実施形態において、ホスト110は部分書き込み(partial write)のためのコマンド(たとえばWm)をサポートする。部分書き込みとは、書き込みデータの少なくとも一部が一つまたは複数のデータ・マスク・ビットを使ってマスクされる書き込み動作をいう。いくつかの実施形態では、データ・マスク・ビットは対応するデータ・ビットと同じフレーム内で転送される。
ホスト110は、なかでも、CRC論理112、フレーム処理(framing)論理114および有効化/無効化(enable/disable)論理116を含む。CRC論理112は、ホスト110がバンド内(in-band)CRC機構をサポートすることを可能にする。たとえば、CRC論理112はホスト110が、一つまたは複数のデータ・フレームにおいて(たとえばDQレーン104を通じて)転送されるCRCチェックサムを生成することを可能にする。いくつかの実施形態では、CRCチェックサムは、部分書き込みフレームについて生成されうる。CRCチェックサムは、書き込みフレーム内のデータ・ビット(の少なくとも一部)およびデータ・マスク・ビット(の少なくとも一部)をカバーしうる。いくつかの実施形態では、データ・ビット、データ・マスク・ビットおよび対応するチェックサムが共通のフレーム内において(たとえばDQレーン104を通じて)転送される。
いくつかの実施形態では、データ・フレームをカバーするためのCRCの使用は、選択的に有効化または無効化されることができる。たとえば、図示した実施形態では、ホスト110は、CRCの使用を選択的に有効化または無効化する有効化/無効化論理116を含んでいる。いくつかの実施形態では、有効化/無効化論理116は一つまた複数のレジスタ・ビット(たとえば、モード・レジスタ・セット[mode register set]すなわちMRSのビット)を含んでいてもよい。
ホスト110は、フレーム処理(framing)論理114をも含んでいてもよい。フレーム処理論理114は、メモリ・デバイス120に転送されるフレームを組み立てる論理を含む。同様に、論理114は、メモリ・デバイス120から受信されるフレームを分解する論理を含んでいてもよい。いくつかの実施形態では、フレーム処理論理114は、二つ以上の型のデータ・フレーム(たとえば、データ・フレーム106A、106Bおよび106C)を組み立てることができる。表1は、本発明のいくつかの実施形態に基づく三つの例示的なフレーム型を示している。代替的な実施形態では他のフレーム型が使用されてもよいことは理解しておくべきである。
Figure 2013065347
メモリ・デバイス120は、システム100のためのメイン・システム・メモリを(少なくとも部分的に)提供する。いくつかの実施形態では、メモリ・デバイス120はDRAMデバイス(たとえば、DDR1、DDR2、DDR3、DDR4など)である。メモリ・デバイス120はCRC論理122、フレーム処理論理124および有効化/無効化論理126を含む。いくつかの実施形態では、CRC論理122は、メモリ・デバイス120がバンド内CRC機構を(たとえばDQライン104上で)サポートすることを可能にする。用語「バンド内CRC機構」は、追加的なピンなしでCRC(または他のエラー・ビット方式)をサポートすることをいう。CRC論理122は、受信されたデータ・フレームに基づいてローカルなチェックサムを生成するためのCRC生成論理を含みうる。何らかの伝送エラーがあるかどうかを判定するために、このローカルなチェックサムをフレーム内で伝達されたチェックサムと比較することができる。メモリ・デバイス120は、伝送エラーが起こったときにホスト110に信号伝達してもよい。
フレーム処理論理124は、ホスト110から転送される諸フレームを組み立てる論理を含む。論理124は、ホスト110から受信される諸フレームを分解する論理をも含んでいてもよい。いくつかの実施形態では、フレーム処理論理124は、二つ以上の型のデータ・フレーム(たとえばデータ・フレーム106)を組み立てることができる。
いくつかの実施形態では、データ・フレームをカバーするためのCRCの使用は、選択的に有効化または無効化されることができる。たとえば、図示した実施形態では、メモリ・デバイス120は、CRCの使用を選択的に有効化または無効化する有効化/無効化論理126を含んでいる。いくつかの実施形態では、有効化/無効化論理126は一つまた複数のレジスタ・ビット(たとえば、モード・レジスタ・セットすなわちMRSのビット)を含んでいてもよい。
図2は、本発明のある実施形態に基づく、データ・マスクおよび巡回冗長符号ビットをもつx8書き込みフレームの選択された諸側面を示している。書き込みデータ・フレーム200は、メモリに書き込まれるデータのフレームを示している。図示した実施形態では、CRCは有効にされ、フレーム200は部分書き込みフレームである(たとえば、データ・マスク・ビットを含んでいる)。最初の8つのUIは書き込みデータを伝達する(たとえばUI0からUI7)。単位区間8はCRCビット(たとえば、図示した実施形態ではCRCバイト)を伝達する。いくつかの実施形態では、CRCバイトは、データ・バイト(UI0からUI7)ならびにデータ・マスク・バイト(たとえばUI9)をカバーする。単位区間9は、どのデータ・バイトがマスクされるかを決定するデータ・マスク・ビットを伝達する。いくつかの実施形態では、各データ・マスク・ビットは、対応する数をもつデータ・バイトがマスクされるかどうかを決定する(たとえば、DM0はバイト0がマスクされるかどうかを示し、DM1はバイト1がマスクされるかどうかを示す、など)。表2は、本発明のいくつかの実施形態に基づく、データ・マスク・ビットと書き込みデータ・バイトとの間の関連付けを一覧する。代替的な実施形態では、データ・マスク・ビットと書き込みデータ・バイト(またはビット、ニブルなど)との間の関連付けは異なっていてもよい。
Figure 2013065347
図3は、本発明のある実施形態に基づく、x8フレームのより詳細なビット・マッピングを示している。フレーム200のように、フレーム300は最初の8つのUI(UI0からUI7)においてデータ・ビットを伝達する。フレーム300はまた、UI8においてCRCビットを、UI9においてデータ・マスク・ビットを伝達する。フレーム300中のデータ・ビットは、CRCビットによって提供されるカバレッジの有効性を高めるために、フレーム300の諸列にわたって蛇状パターンでマッピングされる。たとえば、UI7において、列のいちばん下(レーンDQ7)のビットはq7である。シーケンス中で次のビットq8はUI6によって定義される列のいちばん下に位置する。同じ列のいちばん上のビットはq15である。シーケンス中の次のビットq16はUI5によって定義される列のいちばん上に位置する。このパターンはフレーム300の諸列にわたって繰り返される。
いくつかの実施形態では、8ビットCRCのための生成多項式はx8+x5+x3+x2+x+1である。二進法では、この多項式は0b0 10010111と表現されうる。いくつかの実施形態では、ホスト(たとえば図1に示したホスト110)がCRCチェックサムを生成してもよく、次のアルゴリズムに対する適切な機能的等価物を使って書き込みデータ・フレームを形成しうる(たとえば、データ・マスク・ビットを含むフレームについて)。
1)Q[71:0]={DM[7:0].q[63:0]} と設定する
2)CRC[7:0]=Q[71:0]を0b0 10010111で割ったときの余り と設定する。
上記アルゴリズムの第一段は、データ・マスク・ビットを書き込みデータ・フレームの上位ビット(MSB's: the most significant bits)に入れる。これらのビットはゼロにされることができる。データは、ゼロにされていない残りのビット位置(たとえば下位ビット[the least significant bits])に入れられうる。代替的な実施形態では、異なるアルゴリズムが使用されてもよい。
DRAMはホストによって生成された符号語(たとえばQ[71:0])を受け取る。いくつかの実施形態では、DRAMは、次のアルゴリズムの適切な機能的等価物を使って受け取った符号語における誤りを検査する。
3)R[7:0]=Q[71:0]を0b0 10010111で割ったときの余り と設定する。
4)R[7:0]≠CRC[7:0]であれば、受け取った符号語は一つまたは複数の誤りを含む。
5)DRAMからERROR〔エラー〕信号を使って誤りが報告される。
最初の段(ステップ3)は、受け取った符号語に基づいて「ローカルなチェックサム」を生成する。ローカルなチェックサムは受け取ったチェックサム(たとえば、ステップ2で生成されたチェックサム)と比較される。誤りが検出された場合、DRAMはエラー信号をホストに提供してもよい(たとえばステップ5)。代替的な実施形態では、異なるアルゴリズムが使用されてもよい。
いくつかの実施形態では、生成多項式x8+x5+x3+x2+x+1に基づくCRC XORの式は:0x97 p(x)=(x+1)(x7+x6+x5+x2+1)となる。D(71)およびCRC(7)が最上位ビットであるVHDL式フォーマットでは、XORの式は次のように表されうる。
CRC(0):=
D(70) xor D(69) xor D(67) xor D(64) xor D(63) xor D(61) xor
D(59) xor D(58) xor D(54) xor D(53) xor D(51) xor D(50) xor
D(49) xor D(46) xor D(45) xor D(44) xor D(42) xor D(38) xor
D(37) xor D(36) xor D(35) xor D(33) xor D(32) xor D(31) xor
D(30) xor D(27) xor D(25) xor D(24) xor D(23) xor D(22) xor
D(21) xor D(15) xor D(12) xor D(11) xor D(10) xor D(9) xor
D(8) xor D(7) xor D(5) xor D(3) xor D(0);
CRC(1):=
D(71) xor D(69) xor D(68) xor D(67) xor D(65) xor D(63) xor
D(62) xor D(61) xor D(60) xor D(58) xor D(55) xor D(53) xor
D(52) xor D(49) xor D(47) xor D(44) xor D(43) xor D(42) xor
D(39) xor D(35) xor D(34) xor D(30) xor D(28) xor D(27) xor
D(26) xor D(21) xor D(16) xor D(15) xor D(13) xor D(7) xor
D(6) xor D(5) xor D(4) xor D(3) xor D(1) xor D(0);
CRC(2):=
D(68) xor D(67) xor D(66) xor D(62) xor D(58) xor D(56) xor
D(51) xor D(49) xor D(48) xor D(46) xor D(43) xor D(42) xor
D(40) xor D(38) xor D(37) xor D(33) xor D(32) xor D(30) xor
D(29) xor D(28) xor D(25) xor D(24) xor D(23) xor D(21) xor
D(17) xor D(16) xor D(15) xor D(14) xor D(12) xor D(11) xor
D(10) xor D(9) xor D(6) xor D(4) xor D(3) xor D(2) xor
D(1) xor D(0);
CRC(3):=
D(70) xor D(68) xor D(64) xor D(61) xor D(58) xor D(57) xor
D(54) xor D(53) xor D(52) xor D(51) xor D(47) xor D(46) xor
D(45) xor D(43) xor D(42) xor D(41) xor D(39) xor D(37) xor
D(36) xor D(35) xor D(34) xor D(32) xor D(29) xor D(27) xor
D(26) xor D(23) xor D(21) xor D(18) xor D(17) xor D(16) xor
D(13) xor D(9) xor D(8) xor D(4) xor D(2) xor D(1) xor
D(0);
CRC(4):=
D(71) xor D(69) xor D(65) xor D(62) xor D(59) xor D(58) xor
D(55) xor D(54) xor D(53) xor D(52) xor D(48) xor D(47) xor
D(46) xor D(44) xor D(43) xor D(42) xor D(40) xor D(38) xor
D(37) xor D(36) xor D(35) xor D(33) xor D(30) xor D(28) xor
D(27) xor D(24) xor D(22) xor D(19) xor D(18) xor D(17) xor
D(14) xor D(10) xor D(9) xor D(5) xor D(3) xor D(2) xor
D(1);
CRC(5):=
D(69) xor D(67) xor D(66) xor D(64) xor D(61) xor D(60) xor
D(58) xor D(56) xor D(55) xor D(51) xor D(50) xor D(48) xor
D(47) xor D(46) xor D(43) xor D(42) xor D(41) xor D(39) xor
D(35) xor D(34) xor D(33) xor D(32) xor D(30) xor D(29) xor
D(28) xor D(27) xor D(24) xor D(22) xor D(21) xor D(20) xor
D(19) xor D(18) xor D(12) xor D(9) xor D(8) xor D(7) xor
D(6) xor D(5) xor D(4) xor D(2) xor D(0);
CRC(6):=
D(70) xor D(68) xor D(67) xor D(65) xor D(62) xor D(61) xor
D(59) xor D(57) xor D(56) xor D(52) xor D(51) xor D(49) xor
D(48) xor D(47) xor D(44) xor D(43) xor D(42) xor D(40) xor
D(36) xor D(35) xor D(34) xor D(33) xor D(31) xor D(30) xor
D(29) xor D(28) xor D(25) xor D(23) xor D(22) xor D(21) xor
D(20) xor D(19) xor D(13) xor D(10) xor D(9) xor D(8) xor
D(7) xor D(6) xor D(5) xor D(3) xor D(1);
CRC(7):=
D(71) xor D(69) xor D(68) xor D(66) xor D(63) xor D(62) xor
D(60) xor D(58) xor D(57) xor D(53) xor D(52) xor D(50) xor
D(49) xor D(48) xor D(45) xor D(44) xor D(43) xor D(41) xor
D(37) xor D(36) xor D(35) xor D(34) xor D(32) xor D(31) xor
D(30) xor D(29) xor D(26) xor D(24) xor D(23) xor D(22) xor
D(21) xor D(20) xor D(14) xor D(11) xor D(10) xor D(9) xor
D(8) xor D(7) xor D(6) xor D(4) xor D(2)。
図4は、本発明のある実施形態に基づく、巡回冗長符号ビットをもつx4フレームの選択された諸側面を示している。フレーム400は最初の8つのUI(UI0からUI7)でデータ・ビットを伝達する。フレーム400はUI8およびUI9においてCRCビットも伝達する。図示した実施形態では、フレーム400はデータ・マスク・ビットは含まない。というのも、多くの場合、x4デバイスは、主として誤り訂正符号(ECC)をもち「読み出し‐修正‐書き込み」動作を実行するサーバーで使われるのでデータ・マスキングをサポートしないからである。フレーム400中のデータ・ビットは、CRCビットによって提供されるカバレッジの有効性を高めるためにフレーム400の諸列にわたって蛇状パターンでマッピングされる。
図5は、本発明のある実施形態に基づいて実装されたホストについての書き込みデータ経路の選択された諸側面を示すブロック図である。ホスト500は、なかでも、コア論理502、CRC発生器504および送信(TX)フレーム処理ユニット506を含む。代替的な実施形態では、ホスト500はより多くの要素、より少ない要素および/または異なる要素を含む。コア論理502は、たとえば、メイン・メモリへの読み出しおよび書き込みをスケジューリングするためのスケジューリング論理ならびに伝送エラーが起こったときに動作を再試行する再試行論理を含む。さらに、コア論理502は、対応する書き込みデータ・ビット510の少なくとも一部をマスクするためのデータ・マスク・ビット508を発生させる論理を含む。
動作では、コア論理502は、たとえば、部分書き込み動作をスケジューリングし、書き込みデータ(510)および対応するデータ・マスク・ビット(508)をTXフレーム処理ユニット506およびCRC発生器504に提供する。いくつかの実施形態では、CRC発生器504は、書き込みデータおよびデータ・マスク・ビットに基づいてCRCチェックサムを生成する。6レベルのXOR木を使ってCRCチェックサムを計算するアルゴリズムを含め、幅広いCRCアルゴリズムが採用されることができる。代替的な実施形態では、CRCチェックサムを生成するために異なる数のXOR木または異なるアルゴリズムが使用されてもよい。いくつかの実施形態では、書き込みデータ経路および読み出しデータ経路は、CRCチェックサムを生成するために同じXOR木を使用する。
TXフレーム処理ユニット(TX framing unit)506は、書き込みデータ(510)、データ・マスク・ビット(508)および対応するCRCチェックサムを一つまたは複数の書き込みデータ・フレーム(たとえば書き込みデータ・フレーム512)にフレーム化する。いくつかの実施形態では、TXフレーム処理ユニット506は、CRCが有効にされているかどうかやDRAMの幅といった因子に依存して、異なるフレーム型を生成することができる。たとえば、TXフレーム処理ユニット506は、CRC8、64個のデータ・ビットおよび8つのデータ・マスク・ビットを含む第一のフレーム型を生成することができてもよい(たとえばx8デバイスについて)。TXフレーム処理ユニット506はまた、CRC8および64個のデータ・ビットをもつ第二のフレーム型を生成することができてもよい(たとえばx8デバイスについて)。ホスト500がx4デバイスと結合される場合には、TXフレーム処理ユニット506は、32ビット上のCRC8をもつ第三のフレーム型をサポートしてもよい。代替的な実施形態では、より多くのフレーム型、より少ないフレーム型および/または異なるフレーム型がサポートされてもよい。書き込みデータ・フレーム(単数または複数)(512)は、DQバスを介して一つまたは複数のメモリ・デバイス(たとえばDRAM)に転送される。
図6は、本発明のある実施形態に基づいて実装されたメモリ・デバイスについての読み出しデータ経路の選択された諸側面を示すブロック図である。メモリ・デバイス600は、なかでも、メモリ・アレイ602、送信(TX)フレーム処理ユニット604、CRC発生器606およびCRC無効化論理608を含む。代替的な実施形態では、メモリ・デバイス600はより多くの要素、より少ない要素および/または異なる要素を含んでいてもよい。いくつかの実施形態では、メモリ・デバイス600は動的ランダム・アクセス・メモリ・デバイス(DRAM)である。
動作では、メモリ・デバイス600は、ホスト(たとえばホスト110)からの読み出しコマンドをC/Aバス(たとえばC/Aバス102)上で受信する。メモリ・アレイ602からデータが読み出され、TXフレーム処理ユニット604に与えられる。読み出しデータはCRCチェックサムを計算するCRC発生器606にも与えられる。いくつかの実施形態では、6レベルのXOR木を使ってCRCチェックサムが計算される。代替的な実施形態では、CRCチェックサムを生成するために異なる数のXOR木または異なるアルゴリズムが使用されてもよい。いくつかの実施形態では、読み出しデータ経路および書き込みデータ経路は、CRCチェックサムを生成するために同じXOR木を使用する。
TXフレーム処理ユニット604は、読み出しデータ・ビットおよびチェックサム・ビットを受け取り、それらを書き込みデータ・フレームにフレーム化する。いくつかの実施形態では、TXフレーム処理ユニット604は、たとえばCRCが有効にされているかどうかに依存して、異なるフレーム型を使うことができる。たとえば、TXフレーム処理ユニット604は、CRCが有効にされている場合には第一のフレーム型を、CRCが無効にされている場合には第二のフレーム型を使ってもよい。第一のフレーム型は、読み出しデータ・ビットおよび対応するCRCチェックサムを含んでいてもよい。第二のフレーム型は、CRCチェックサムなしで読み出しデータ・ビットを含んでいてもよい。メモリ・デバイス600は、読み出しデータ・フレーム(CRCチェックサムありまたはなし)をDQバス610を介してホストに転送しうる。
メモリ・デバイス600は、CRC無効化論理608を含む。いくつかの実施形態では、CRC無効化論理608はメモリ・デバイス600によるCRCの使用を無効にする。こうして、いくつかの実施形態では、メモリ・デバイス600は、読み出しデータとともにCRCチェックサムを使用するよう構成されることができ、あるいは読み出しデータとともに(および/または書き込みデータとともに)CRCチェックサムを使用しないよう構成されることができる。いくつかの実施形態では、CRC無効化論理は、モード・レジスタ・セット(MRS)の一部を含む。
図7は、本発明のある実施形態に基づく、共有されたエラー・ビット・チェックサムをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送する方法の選択された諸側面を示す流れ図である。プロセス・ブロック702を参照すると、ホスト(たとえばメモリ・コントローラ)は、複数のデータ・ビットについての伝送誤りをカバーし、一つまたは複数のデータ・マスク・ビットをカバーする(たとえば部分書き込み動作について)エラー・ビット・チェックサム(たとえばCRCチェックサム)を生成する。いくつかの実施形態では、ホストはCRCチェックサムを生成するためのCRC発生器を含む。ホストは、読み出しデータ経路および書き込みデータ経路について同じCRC木を使用してもよい。
プロセス・ブロック704を参照すると、ホストは(たとえば図5に示した送信フレーム処理ユニット506を使って)前記複数のデータ・ビットを一つまたは複数のデータ・フレームにフレーム化する。いくつかの実施形態では、ホストはCRCが有効にされているかどうかおよび/または部分書き込みと全書き込みのどちらが実行されているかに依存して異なるフレーム型を生成できる。前記一つまたは複数のデータ・フレームは、706においてデータ・バスを介してメモリ・デバイス(たとえばDRAM)に転送される。
いくつかの実施形態では、DRAMは、ホストによって提供されるフレーム内に含まれるCRCチェックサムを使って、伝送エラーが発生したかどうかを判定する。たとえば、DRAMは(受け取ったデータに基づいて)「ローカルな」CRCチェックサムを生成し、ローカルなチェックサムを受け取ったチェックサムを比較してもよい。伝送エラーが発生していた場合、DRAMはエラー信号をホストに送ってもよい。判断ブロック708を参照すると、ホストがエラー信号を受け取る場合、ホストはデータを再送信する(710)。あるいはまた、ホストがエラー信号を受け取らない場合、データは有効でありうる(712)。
本発明の諸実施形態の諸要素は、機械実行可能命令を記憶する機械可読媒体として提供されてもよい。機械可読媒体は、これに限られないが、フラッシュメモリ、光ディスク、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途/ビデオ・ディスク(DVD)ROM、ランダム・アクセス・メモリ(RAM)、消去可能なプログラム可能型読み出し専用メモリ(EPROM)、電気的に消去可能なプログラム可能型読み出し専用メモリ(EEPROM)、磁気カードもしくは光カード、伝搬媒体または電子的な命令を記憶するために好適な他の型の機械可読媒体を含みうる。たとえば、本発明の諸実施形態は、リモート・コンピュータ(たとえばサーバー)から要求元コンピュータ(たとえばクライアント)に、通信リンク(たとえばモデムまたはネットワーク接続)を介して搬送波または他の伝搬媒体において具現されるデータ信号によって転送されうるコンピュータ・プログラムとしてダウンロードされてもよい。
上記の記述では、本発明の実施形態を記述するためにある種の用語法が使用されている。たとえば、用語「論理(logic)」は、一つまたは複数の機能を実行するためのハードウェア、ファームウェア、ソフトウェア(またはその任意の組み合わせ)を表す。たとえば、「ハードウェア」の例は、これに限られないが、集積回路、有限状態機械またさらには組み合わせ論理(combinatorial logic)を含む。集積回路は、マイクロプロセッサのようなプロセッサ、特定用途向け集積回路(application specific integrated circuit)、デジタル信号プロセッサ、マイクロコントローラなどの形を取ってもよい。
本明細書を通じて「一つの実施形態」または「ある実施形態」という言及は、その実施形態との関連で記述される特定の特徴、構造または特性が、本発明の少なくとも一つの実施形態に含まれることを意味することを理解しておくべきである。したがって、本明細書のさまざまな箇所で「ある実施形態」または「一つの実施形態」または「代替的な実施形態」という二つ以上の言及があっても、それは必ずしもすべてが同じ実施形態を指しているのではないことがここに強調され、理解されるべきである。さらに、特定の特徴、構造または特性は、本発明の一つまたは複数の実施形態において適宜組み合わされてもよい。
同様に、本発明の実施形態の以上の記述において、開示の流れをよくしてさまざまな本発明の側面の一つまたは複数の理解を助ける目的で、さまざまな特徴が時に単一の実施形態、図面またはその説明においてまとめられている。しかしながら、そうした開示方法は、特許請求される主題が、各請求項において明示的に記載されているよりも多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。さらに、以下の請求項が反映するように、本発明の諸側面は、上記の単一の開示された実施形態の全特徴よりも少ないものに存する。よって、付属の請求項はここに明示的にこの詳細な説明に組み込まれる。
いくつかの態様を記載しておく。
〔態様1〕
集積回路であって:
当該集積回路からメモリ・デバイスに転送されるべきフレームについてエラー・ビット・カバレッジが有効にされているかどうかを示す論理と;
エラー・ビット・カバレッジが有効にされている場合、前記フレームをカバーするエラー・ビット・チェックサムを生成するエラー・ビット生成論理と;
前記フレームを生成するフレーム処理論理とを有しており、前記フレーム処理論理は、複数のデータ・ビット、複数のデータ・マスク・ビットおよび対応するエラー・ビット・チェックサムをもつ第一のフレーム型を含むいくつかの異なるフレーム型に基づいて前記フレームを生成できる、
集積回路。
〔態様2〕
前記フレームが前記第一のフレーム型に基づく、態様1記載の集積回路。
〔態様3〕
前記データ・マスク・ビットDMが前記フレームの上位ビット位置に位置される、態様2記載の集積回路。
〔態様4〕
前記エラー・ビット論理がチェックサムCを、少なくとも部分的には、Qを巡回冗長符号(CRC)生成多項式で割ることに基づいて生成する、態様3記載の集積回路。
〔態様5〕
前記Cが、前記Qを前記CRC生成多項式で割ったときの余りを含む、態様4記載の集積回路。
〔態様6〕
前記CRC生成多項式が、二進法で表現0b0 10010111によって表される、態様5記載の集積回路。
〔態様7〕
前記フレームがx8動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるものであり、前記Qが少なくとも部分的に、次の表現:Q[71:0]={DM[7:0].q[63:0]}に基づく、態様6記載の集積回路。
〔態様8〕
前記CがQ[71:0]を0b0 10010111で割ったときの余りである、態様7記載の集積回路。
〔態様9〕
前記フレーム処理論理が、複数のデータ・ビットおよび対応するエラー・ビット・チェックサムを含む第二のフレーム型に基づいて前記フレームを生成できる、態様1記載の集積回路。
〔態様10〕
前記フレームが前記第二のフレーム型に基づき、前記メモリ・デバイスがx4の動的ランダム・アクセス・メモリ(DRAM)・デバイスである、態様9記載の集積回路。
〔態様11〕
前記フレームのビット[71:32]であるQが0と設定される、態様10記載の集積回路。
〔態様12〕
前記チェックサムCが、Q[71:0]を0b0 10010111で割ったときの余りである、態様11記載の集積回路。
〔態様13〕
当該集積回路と前記メモリ・デバイスとの間で転送されるフレームについての長さを決定するためのフレーム長制御論理をさらに有する、
態様1記載の集積回路。
〔態様14〕
読み出しトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされていれば単位区間(UI: unit interval)N個ぶんのフレーム長さを指定し、エラー・ビット・カバレッジが有効にされていなければUI M個ぶんのフレーム長さを指定する、態様13記載の集積回路。
〔態様15〕
書き込みトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされている場合に、単位区間(UI)N個ぶんのフレーム長を指定する、態様13記載の集積回路。
〔態様16〕
書き込みトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされていない場合、完全書き込みフレームについてはUI N個ぶんのフレーム長を指定し、部分書き込みフレームについてはUI M個ぶんのフレーム長を指定する、態様15記載の集積回路。
〔態様17〕
Nが10であり、Mが8である、態様13記載の集積回路。
〔態様18〕
当該集積回路がメモリ・コントローラを含む、態様1記載の集積回路。
〔態様19〕
少なくとも部分的に、複数のデータ・ビットおよび対応する複数のデータ・マスク・ビットに基づいてエラー・ビット・チェックサムを生成する段階と;
前記複数のデータ・ビット、前記対応する複数のデータ・マスク・ビットおよび前記エラー・ビット・チェックサムを含む書き込みフレームを生成する段階とを有する、
方法。
〔態様20〕
前記書き込みフレームがx8動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるものであり、Qが少なくとも部分的に、次の表現:Q[71:0]={DM[7:0].q[63:0]}に基づく、態様19記載の方法。
〔態様21〕
前記エラー・ビット・チェックサムCが、Q[71:0]を0b0 10010111で割ったときの余りである、態様20記載の方法。
〔態様22〕
ホストであって:
前記ホストから動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるべきフレームについて巡回冗長符号(CRC)カバーが有効にされているかどうかを示す論理と;
CRCカバーが有効にされている場合、前記フレームをカバーするCRCチェックサムを生成するCRC生成論理と;
前記フレームを生成するフレーム処理論理とを有しており、前記フレーム処理論理は、複数のデータ・ビット、複数のデータ・マスク・ビットおよび対応するCRCチェックサムをもつ第一のフレーム型を含むいくつかの異なるフレーム型に基づいて前記フレームを生成できる、ホストと;
前記ホストに結合された前記DRAMデバイスとを有する、
システム。
〔態様23〕
前記DRAMデバイスが、
少なくとも部分的に、前記フレームをCRC生成多項式で割ることに基づいてローカルなCRCチェックサムを生成するCRC生成論理と;
前記ローカルなCRCチェックサムを前記CRCチェックサムと比較する比較論理とを有する、
態様22記載のシステム。
〔態様24〕
前記フレームが前記第一のフレーム型に基づく、態様23記載のシステム。
〔態様25〕
前記データ・マスク・ビットDMが前記フレームの上位ビット位置に位置される、態様24記載のシステム。
〔態様26〕
前記エラー・ビット論理がチェックサムCを、少なくとも部分的には、Qを巡回冗長符号(CRC)生成多項式で割ることに基づいて生成する、態様25記載のシステム。
〔態様27〕
前記Cが、前記Qを前記CRC生成多項式で割ったときの余りを含む、態様26記載のシステム。
〔態様28〕
前記CRC生成多項式が、二進法で表現0b0 10010111によって表される、態様27記載のシステム。
〔態様29〕
前記フレームがx8動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるものであり、前記Qが少なくとも部分的に、次の表現:Q[71:0]={DM[7:0].q[63:0]}に基づく、態様28記載のシステム。
100 システム
102 コマンド/アドレス・レーン(C/Aレーン)
104 データ・レーン(DQレーン)
106 データ・フレーム
110 ホスト(たとえばメモリ・コントローラ)
112 CRC論理
114 フレーム処理論理
116 有効化/無効化論理
120 メモリ・デバイス(たとえばDRAM)
122 CRC論理
124 フレーム処理論理
126 有効化/無効化論理
200 x8フレーム
300 x8フレーム
400 x4フレーム
500 ホスト
502 コア論理
504 CRC生成器
506 TXフレーム処理ユニット
508 データ・マスク・ビット
510 データ・ビット
512 書き込みデータ・フレーム
600 メモリ・デバイス
610 バス
602 メモリ・アレイ
604 TXフレーム処理ユニット
606 Rd_CRC生成器
608 CRC無効化論理
702 少なくとも部分的に複数のデータ・ビットおよび対応する複数のデータ・マスク・ビットに基づいてエラー・ビット・チェックサムを生成
704 複数のデータ・ビット、対応する複数のデータ・マスク・ビットおよびエラー・ビット・チェックサムを含む書き込みフレームを生成
706 書き込みフレームを動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送
708 受信エラー?
710 データ再送信
712 データは有効

Claims (20)

  1. 集積回路であって:
    当該集積回路からメモリ・デバイスに転送されるべきフレームについてエラー・ビット・カバレッジが有効にされているかどうかを示す論理と;
    エラー・ビット・カバレッジが有効にされている場合、前記フレームをカバーするよう、複数のデータ・ビットおよび対応する複数のデータ・マスク・ビットに基づいてエラー・ビット・チェックサムを生成するエラー・ビット生成論理であって、前記データ・マスク・ビットは、書き込みデータの少なくとも一部が一つまたは複数のデータ・マスク・ビットを使ってマスクされる部分書き込み動作において利用される、エラー・ビット生成論理と;
    前記フレームを生成するフレーム処理論理とを有しており、前記フレーム処理論理は、複数のデータ・ビット、複数のデータ・マスク・ビットおよび対応するエラー・ビット・チェックサムをもつ第一のフレーム型を含むいくつかの異なるフレーム型に基づいて前記フレームを生成できる、
    集積回路。
  2. 前記フレームが前記第一のフレーム型に基づく、請求項1記載の集積回路。
  3. 前記データ・マスク・ビットDMが前記フレームの上位ビット位置に位置される、請求項2記載の集積回路。
  4. 前記エラー・ビット論理がチェックサムCを、Qを巡回冗長符号(CRC)生成多項式で割ることに基づいて生成する、請求項3記載の集積回路。
  5. 前記Cが、前記Qを前記CRC生成多項式で割ったときの余りを含む、請求項4記載の集積回路。
  6. 前記CRC生成多項式が、二進法で表現0b0 10010111によって表される、請求項5記載の集積回路。
  7. 前記フレームがx8動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるものであり、前記Qが、次の表現:Q[71:0]={DM[7:0].q[63:0]}に基づく、請求項6記載の集積回路。
  8. 前記CがQ[71:0]を0b0 10010111で割ったときの余りである、請求項7記載の集積回路。
  9. 前記フレーム処理論理が、複数のデータ・ビットおよび対応するエラー・ビット・チェックサムを含む第二のフレーム型に基づいて前記フレームを生成できる、請求項1記載の集積回路。
  10. 前記フレームが前記第二のフレーム型に基づき、前記メモリ・デバイスがx4の動的ランダム・アクセス・メモリ(DRAM)・デバイスである、請求項9記載の集積回路。
  11. 前記チェックサムCが、Q[71:0]を0b0 10010111で割ったときの余りである、請求項4記載の集積回路。
  12. 当該集積回路と前記メモリ・デバイスとの間で転送されるフレームについての長さを決定するためのフレーム長制御論理をさらに有する、
    請求項1記載の集積回路。
  13. 読み出しトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされていれば単位区間(UI: unit interval)N個ぶんのフレーム長さを指定し、エラー・ビット・カバレッジが有効にされていなければUI M個ぶんのフレーム長さを指定する、請求項12記載の集積回路。
  14. 書き込みトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされている場合に、単位区間(UI)N個ぶんのフレーム長を指定する、請求項12記載の集積回路。
  15. 書き込みトランザクションについて、前記フレーム長制御論理が、エラー・ビット・カバレッジが有効にされていない場合、完全書き込みフレームについてはUI N個ぶんのフレーム長を指定し、部分書き込みフレームについてはUI M個ぶんのフレーム長を指定する、請求項14記載の集積回路。
  16. Nが10であり、Mが8である、請求項13記載の集積回路。
  17. 当該集積回路がメモリ・コントローラを含む、請求項1記載の集積回路。
  18. エラー・ビット生成論理回路およびフレーム処理論理回路を有する集積回路によって実行される方法であって:
    前記エラー・ビット生成論理回路により、エラー・ビット・カバレッジが有効にされている場合、複数のデータ・ビットおよび対応する複数のデータ・マスク・ビットに基づいてエラー・ビット・チェックサムを生成する段階であって、前記データ・マスク・ビットは、書き込みデータの少なくとも一部が一つまたは複数のデータ・マスク・ビットを使ってマスクされる部分書き込み動作において利用されるものである、段階と;
    前記フレーム処理論理回路により、前記複数のデータ・ビット、前記対応する複数のデータ・マスク・ビットおよび前記エラー・ビット・チェックサムを含む書き込みフレームを生成する段階とを有する、
    方法。
  19. 前記書き込みフレームがx8動的ランダム・アクセス・メモリ(DRAM)・デバイスに転送されるものであり、Qが、次の表現:Q[71:0]={DM[7:0].q[63:0]}に基づく、請求項18記載の方法。
  20. 前記エラー・ビット・チェックサムCが、Q[71:0]を0b0 10010111で割ったときの余りである、請求項19記載の方法。
JP2012270332A 2008-06-18 2012-12-11 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置 Expired - Fee Related JP5437470B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/141,339 2008-06-18
US12/141,339 US8196009B2 (en) 2008-06-18 2008-06-18 Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009142981A Division JP2010003299A (ja) 2008-06-18 2009-06-16 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置

Publications (2)

Publication Number Publication Date
JP2013065347A true JP2013065347A (ja) 2013-04-11
JP5437470B2 JP5437470B2 (ja) 2014-03-12

Family

ID=40957974

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009142981A Pending JP2010003299A (ja) 2008-06-18 2009-06-16 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置
JP2012270332A Expired - Fee Related JP5437470B2 (ja) 2008-06-18 2012-12-11 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009142981A Pending JP2010003299A (ja) 2008-06-18 2009-06-16 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置

Country Status (6)

Country Link
US (1) US8196009B2 (ja)
EP (1) EP2136295B1 (ja)
JP (2) JP2010003299A (ja)
KR (1) KR101093857B1 (ja)
CN (1) CN101609418B (ja)
AT (1) ATE555439T1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354818B2 (en) 2014-02-25 2016-05-31 Kabushiki Kaisha Toshiba Memory device and data storing method
WO2017104440A1 (ja) * 2015-12-16 2017-06-22 ソニー株式会社 通信装置、通信方法、プログラム、および通信システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347199B2 (en) * 2009-01-21 2013-01-01 Cisco Technology, Inc. Enhanced error detection in multilink serdes channels
US8612828B2 (en) * 2009-12-22 2013-12-17 Intel Corporation Error correction mechanisms for 8-bit memory devices
KR101688051B1 (ko) * 2010-11-08 2016-12-20 삼성전자 주식회사 에러 검출 코드를 이용한 데이터 처리 장치, 데이터 처리 방법, 데이터 스큐 보상 방법 및 데이터 처리 장치를 포함하는 반도체 장치
US8738993B2 (en) * 2010-12-06 2014-05-27 Intel Corporation Memory device on the fly CRC mode
US8527836B2 (en) 2011-07-01 2013-09-03 Intel Corporation Rank-specific cyclic redundancy check
CN104471645B (zh) * 2012-03-26 2017-04-12 英特尔公司 采用检错编码的事务的存储器设备的定时优化装置和方法
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
CN103187104B (zh) * 2013-03-19 2016-11-23 西安紫光国芯半导体有限公司 Dram存储器的纠错方法
US9081700B2 (en) * 2013-05-16 2015-07-14 Western Digital Technologies, Inc. High performance read-modify-write system providing line-rate merging of dataframe segments in hardware
JP2014225309A (ja) * 2013-05-16 2014-12-04 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
US9135984B2 (en) * 2013-12-18 2015-09-15 Micron Technology, Inc. Apparatuses and methods for writing masked data to a buffer
US9983925B2 (en) 2014-04-11 2018-05-29 Micron Technology, Inc. Apparatuses and methods for fixing a logic level of an internal signal line
DE102015209196A1 (de) * 2014-09-08 2016-03-10 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmern eines Bussystems
CN107924369B (zh) * 2015-09-11 2021-08-31 东芝存储器株式会社 存储器装置
GB2543877A (en) * 2015-10-27 2017-05-03 Cirrus Logic Int Semiconductor Ltd Transfer of data with check bits
US9996414B2 (en) * 2016-07-12 2018-06-12 International Business Machines Corporation Auto-disabling DRAM error checking on threshold
KR20180063475A (ko) * 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
CN115378546A (zh) * 2017-09-08 2022-11-22 华为技术有限公司 编译码方法及装置
WO2019047788A1 (zh) 2017-09-08 2019-03-14 华为技术有限公司 编码方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165943A (ja) * 1997-08-21 1999-03-09 Hitachi Ltd データ転送装置
JP2007059047A (ja) * 2005-08-24 2007-03-08 Qimonda Ag 半導体メモリシステムおよび半導体メモリチップ
WO2007100694A2 (en) * 2006-02-27 2007-09-07 Intel Corporation Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
WO2008005781A2 (en) * 2006-06-30 2008-01-10 Intel Corporation Improving reliability, availability, and serviceability in a memory device
JP2008198202A (ja) * 2007-02-08 2008-08-28 Samsung Electronics Co Ltd メモリシステム及びそのシステムの命令の取扱方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6714460B2 (en) * 2002-02-21 2004-03-30 Micron Technology, Inc. System and method for multiplexing data and data masking information on a data bus of a memory device
US7287103B2 (en) 2005-05-17 2007-10-23 International Business Machines Corporation Method and apparatus for generating a mask value and command for extreme data rate memories utilizing error correction codes
US7428689B2 (en) * 2005-08-30 2008-09-23 Infineon Technologies Ag Data memory system and method for transferring data into a data memory
US7757064B2 (en) * 2006-09-07 2010-07-13 Infineon Technologies Ag Method and apparatus for sending data from a memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165943A (ja) * 1997-08-21 1999-03-09 Hitachi Ltd データ転送装置
JP2007059047A (ja) * 2005-08-24 2007-03-08 Qimonda Ag 半導体メモリシステムおよび半導体メモリチップ
WO2007100694A2 (en) * 2006-02-27 2007-09-07 Intel Corporation Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
WO2008005781A2 (en) * 2006-06-30 2008-01-10 Intel Corporation Improving reliability, availability, and serviceability in a memory device
JP2008198202A (ja) * 2007-02-08 2008-08-28 Samsung Electronics Co Ltd メモリシステム及びそのシステムの命令の取扱方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354818B2 (en) 2014-02-25 2016-05-31 Kabushiki Kaisha Toshiba Memory device and data storing method
WO2017104440A1 (ja) * 2015-12-16 2017-06-22 ソニー株式会社 通信装置、通信方法、プログラム、および通信システム

Also Published As

Publication number Publication date
US8196009B2 (en) 2012-06-05
ATE555439T1 (de) 2012-05-15
KR101093857B1 (ko) 2011-12-13
KR20090131667A (ko) 2009-12-29
EP2136295A1 (en) 2009-12-23
JP2010003299A (ja) 2010-01-07
CN101609418A (zh) 2009-12-23
CN101609418B (zh) 2016-01-20
US20090319877A1 (en) 2009-12-24
JP5437470B2 (ja) 2014-03-12
EP2136295B1 (en) 2012-04-25

Similar Documents

Publication Publication Date Title
JP5437470B2 (ja) 共有されるエラー・ビット・コードをもつ共通フレームにおいてデータおよびデータ・マスク・ビットを転送するためのシステム、方法および装置
EP2068245B1 (en) Reliability, availability, and serviceability solutions for memory technology
JP5135348B2 (ja) メモリ装置の信頼性、可用性、およびサービス性の改善
JP5301668B2 (ja) インバンドのデータ・マスク・ビットの転送システム、方法、及び装置
KR101251100B1 (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
US6493843B1 (en) Chipkill for a low end server or workstation
US20160134307A1 (en) Completely utilizing hamming distance for secded based ecc dimms
US8219880B2 (en) Combined single error correction/device kill detection code
US20040225944A1 (en) Systems and methods for processing an error correction code word for storage in memory components
US8024642B2 (en) System and method for providing constrained transmission and storage in a random access memory
US20150106678A1 (en) Semiconductor device and semiconductor system including the same
US11437114B1 (en) Reduced error correction code for dual channel DDR dynamic random-access memory
CN114758696A (zh) 存储系统及其操作方法

Legal Events

Date Code Title Description
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: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131211

R150 Certificate of patent or registration of utility model

Ref document number: 5437470

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

LAPS Cancellation because of no payment of annual fees