(57)【特許請求の範囲】
【請求項１】
メモリー制御器を含む集積回路であって：
前記メモリー制御器に結合された１つ以上のメモリー装置にデータ伝送の送信を行う送信データ経路であって、
各データ伝送にて、互いに相関していないＮ個の疑似乱数出力を並列に生成する攪拌論理；
前記攪拌論理の前記Ｎ個の疑似乱数出力を第１の入力として有し、Ｍ個のデータのビットを第２の入力として有し、各データ伝送にて、並列にＭ個の攪拌済みのビットを出力するＸＯＲ論理；及び
前記ＸＯＲ論理と結合し、各データ伝送にて、前記Ｍ個の攪拌済みのビットを前記１つ以上のメモリー装置にメモリー相互接続を経由して送信する送信器であり、前記Ｍ個の攪拌済みのビットは実質的に疑似乱数の並びを有し、前記１つ以上のメモリー装置が前記Ｍ個の攪拌済みのビットを格納する、送信器；
を含む送信データ経路と、
前記１つ以上のメモリー装置からのデータ伝送を受信する受信データ経路であって、
受信する各データ伝送にて、互いに相関していないＮ個の疑似乱数出力を、第１の順序で、並列に生成する攪拌復元論理；
Ｍ個の攪拌済みのビットの伝送を前記メモリー相互接続から、第２の順序で、並列に受信する受信器；
前記攪拌復元論理の前記出力の前記第１の順序を、受信されるデータの前記第２の順序に一致させる並び替えバッファー；及び
前記メモリー相互接続からの前記Ｍ個の攪拌済みのビットを第１の入力として有し、前記並び替えバッファーからの前記攪拌復元論理の前記Ｎ個の疑似乱数出力を第２の入力として有し、Ｍ個の攪拌復元済みのビットを並列に出力する第２のＸＯＲ論理；
を含む受信データ経路と、
を有する集積回路。
【請求項２】
前記攪拌論理は並列線型帰還シフトレジスター（ＬＦＳＲ）を含む、請求項１の集積回路。
【請求項３】
前記並列ＬＦＳＲに対する種は、それぞれのデータ伝送に関連する、メモリーの番地に少なくとも部分的に基づく、請求項２の集積回路。
【請求項４】
前記並列ＬＦＳＲに対する前記種は、それぞれのデータ伝送に関連する、列番地に少なくとも部分的に基づく、請求項３の集積回路。
【請求項５】
前記並列ＬＦＳＲに対する前記種は、使用前に攪拌される、請求項４の集積回路。
【請求項６】
前記並列ＬＦＳＲは、各データ伝送の先頭で種を与えられる、請求項４の集積回路。
【請求項７】
前記並列ＬＦＳＲは、多項式X16+X13+X10+X9+X8+X4+1に少なくとも部分的に基づく、請求項２の集積回路。
【請求項８】
前記攪拌復元論理は並列線型帰還シフトレジスター（ＬＦＳＲ）を含む、請求項１の集積回路。
【請求項９】
前記並列ＬＦＳＲに対する種は、それぞれのデータ伝送に関連する、列番地に少なくとも部分的に基づく、請求項８の集積回路。
【請求項１０】
前記並列ＬＦＳＲは、各データ伝送の先頭で種を与えられる、請求項４の集積回路。
【請求項１１】
データのバーストをメモリーに書き出すように、送信データ経路に対して指示する、書き出し命令を発行すること；
各バースト書き出しにて、互いに相関していないＮ個の疑似乱数出力を、前記書き出し命令に少なくとも部分的に基づいて並列に生成すること；
各バースト書き出しにて、Ｍ個の送信ビットを、前記Ｎ個の疑似乱数出力に少なくとも部分的に基づいて攪拌し、Ｍ個の攪拌済みのビットを作成すること；
各バースト書き出しにて、前記Ｍ個の攪拌済みのビットを１つ以上のメモリー装置にメモリー相互接続を経由して送信し、前記１つ以上のメモリー装置が前記Ｍ個の攪拌済みのビットを格納すること；
データのバーストをメモリーから読み込むように、受信データ経路に対して指示する、読み込み命令を発行すること；
各バースト読み込みにて、互いに相関していないＮ個の疑似乱数出力を、第１の順序で、並列に生成すること；
メモリー相互接続を経由してデータのバーストを第２の順序で受信し、各読み込みバーストが１つ以上のメモリー装置からのＭ個の攪拌済みのビットを有すること；
受信された前記第２の順序の前記攪拌済みのビットと一致するように、前記第１の順序の前記Ｎ個の疑似乱数出力を並び替えること；及び
各バースト読み込みにて、並び替えられた前記Ｎ個の疑似乱数出力に少なくとも部分的に基づいて、前記Ｍ個の攪拌済みのビットの攪拌を復元し、Ｍ個の攪拌復元済みのビットを作成すること；
を含む方法。
【請求項１２】
互いに相関していないＮ個の疑似乱数出力を、前記書き出し命令に少なくとも部分的に基づいて並列に生成することは、互いに相関していないＮ個の疑似乱数出力を、データの前記バーストに関連するメモリーの番地に少なくとも部分的に基づいて並列に生成することを含む、請求項１１の方法。
【請求項１３】
互いに相関していないＮ個の疑似乱数出力を、データの前記バーストに関連するメモリーの番地に少なくとも部分的に基づいて並列に生成することは、互いに相関していないＮ個の疑似乱数出力を、データの前記バーストに関連する列番地に少なくとも部分的に基づいて並列に生成することを含む、請求項１２の方法。
【請求項１４】
１つ以上の記憶保持動作が必要な任意読書可能メモリー装置（ＤＲＡＭ）；及び
メモリー相互接続を経由して前記１つ以上のＤＲＡＭと結合する集積回路に含まれたメモリー制御器；
を含むシステムであって：
前記集積回路は、
前記メモリー制御器に結合された１つ以上のメモリー装置にデータ伝送の送信を行う送信データ経路であって、
各データ伝送にて、互いに相関していないＮ個の疑似乱数出力を並列に生成する攪拌論理；
前記攪拌論理の前記Ｎ個の疑似乱数出力を第１の入力として有し、Ｍ個のデータのビットを第２の入力として有し、各データ伝送にて、並列にＭ個の攪拌済みのビットを出力するＸＯＲ論理；及び
前記ＸＯＲ論理と結合し、各データ伝送にて、前記Ｍ個の攪拌済みのビットを前記１つ以上のメモリー装置にメモリー相互接続を経由して送信する送信器であり、前記Ｍ個の攪拌済みのビットは実質的に疑似乱数の並びを有し、前記１つ以上のメモリー装置が前記Ｍ個の攪拌済みのビットを格納する、送信器；
を含む送信データ経路と、
前記１つ以上のメモリー装置からのデータ伝送を受信する受信データ経路であって、
受信する各データ伝送にて、互いに相関していないＮ個の疑似乱数出力を、第１の順序で、並列に生成する攪拌復元論理；
Ｍ個の攪拌済みのビットの伝送を前記メモリー相互接続から、第２の順序で、並列に受信する受信器；
前記攪拌復元論理の前記出力の前記第１の順序を、受信されるデータの前記第２の順序に一致させる並び替えバッファー；及び
前記メモリー相互接続からの前記Ｍ個の攪拌済みのビットを第１の入力として有し、前記並び替えバッファーからの前記攪拌復元論理の前記Ｎ個の疑似乱数出力を第２の入力として有し、Ｍ個の攪拌復元済みのビットを並列に出力する第２のＸＯＲ論理；
を含む受信データ経路と、
を有する、
システム。
【請求項１５】
前記攪拌論理は並列線型帰還シフトレジスター（ＬＦＳＲ）を含む、請求項１４のシステム。
【請求項１６】
前記並列ＬＦＳＲに対する種は、それぞれのデータ伝送に関連する、メモリーの番地に少なくとも部分的に基づく、請求項１５のシステム。
【請求項１７】
前記並列ＬＦＳＲに対する前記種は、使用前に攪拌される、請求項１６のシステム。
【請求項１８】
前記並列ＬＦＳＲは、多項式X16+X13+X10+X9+X8+X4+1に少なくとも部分的に基づく、請求項１５のシステム。
【請求項１９】
前記攪拌復元論理は並列線型帰還シフトレジスター（ＬＦＳＲ）を含む、請求項１４のシステム。
【請求項２０】
前記並列ＬＦＳＲに対する種は、それぞれのデータ伝送に関連する、列番地に少なくとも部分的に基づく、請求項１９のシステム。
【請求項２１】
前記並列ＬＦＳＲは、各受信データ伝送の先頭で種を与えられる、請求項２０のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は一般に集積回路の分野に関し、とりわけＤＤＲメモリーシステムにおいてデータの攪拌を用いて電源雑音を低減するためのシステム、方法及び装置に関する。
【背景技術】
【０００２】
メモリーシステムは、しばしば仕様によって定義される。例えばＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）仕様である。「ＤＤＲ仕様」とは、ＤＤＲ技術を定義するいかなる仕様をも参照する。例えばＪＥＤＥＣが発行したＤＤＲ２仕様を含む。ＤＤＲ仕様は非常に厳しいジッターとタイミングの仕様を規定する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これらのジッターとタイミングの仕様に合致することは、ますます難しくなってきている。ＤＤＲメモリーシステムの入出力周波数が増加し続けているからである。ジッターとタイミングのエラーの大部分は、電源雑音のせいである。
【課題を解決するための手段】
【０００４】
（１）１つ以上のメモリー部品にデータを送信する送信データ経路であって：並列に互いに相関していないＮ個の疑似乱数出力を生成する攪拌論理；前記攪拌論理の前記Ｎ個の疑似乱数出力を第１の入力として有し、Ｍ個のデータのビットを第２の入力として有し、並列にＭ個の攪拌済みのビットを出力するＸＯＲ（排他的論理輪）論理；及び前記ＸＯＲ論理と結合し、前記Ｍ個の攪拌済みのビットを前記１つ以上のメモリー部品にメモリーとの相互接続を経由して送信する送信器、ここで前記Ｍ個の攪拌済みのビットは実質的に疑似乱数の並びを有する；を含む送信データ経路、並びに（２）前記１つ以上のメモリー部品からデータを受信する受信データ経路であって：並列にＭ個の攪拌済みのビットをメモリーとの前記相互接続から受信する受信器；並列に互いに相関していないＮ個の疑似乱数出力を生成する攪拌復元論理；及びメモリーとの前記相互接続からの前記Ｍ個の攪拌済みのビットを第１の入力として有し、前記攪拌復元論理の前記Ｎ個の疑似乱数出力を第２の入力として有し、並列にＭ個の攪拌復元済みのビットを出力するＸＯＲ論理；を含む受信データ経路、の（１）（２）を含む集積回路。
【０００５】
（１）データのバーストをメモリーに書き出すように、送信データ経路に対して指示する、書き出し命令を発行すること；並列に互いに相関していないＮ個の疑似乱数出力を、前記書き出し命令に少なくとも部分的に基づいて生成すること；Ｍ個の送信ビットを、前記Ｎ個の疑似乱数出力に少なくとも部分的に基づいて攪拌し、Ｍ個の攪拌済みのビットを作成すること；及び前記Ｍ個の攪拌済みのビットを１つ以上のメモリー部品にメモリーとの相互接続を経由して送信すること；を含む方法、並びに（２）データのバーストをメモリーから読み込むように、受信データ経路に対して指示する、読み込み命令を発行すること；並列に互いに相関していないＮ個の疑似乱数出力を、前記読み込み命令に少なくとも部分的に基づいて生成すること；Ｍ個の攪拌済みのビットを１つ以上のメモリー部品からメモリーとの相互接続を経由して受信すること；及び前記Ｍ個の攪拌済みのビットを、前記Ｎ個の疑似乱数出力に少なくとも部分的に基づいて攪拌を復元し、Ｍ個の攪拌復元済みのビットを作成すること；を含む方法、の（１）（２）を含む方法。
【０００６】
１つ以上の記憶保持動作が必要な任意読書可能メモリー（ＤＲＡＭ）部品；及びメモリーとの相互接続を経由して前記１つ以上のＤＲＡＭ部品と結合する集積回路；を含むシステム、ここで前記集積回路は（１）前記１つ以上のＤＲＡＭ部品にデータを送信する送信データ経路を有し、前記送信データ経路は：並列に互いに相関していないＮ個の疑似乱数出力を生成する攪拌論理；前記攪拌論理の前記Ｎ個の疑似乱数出力を第１の入力として有し、Ｍ個のデータのビットを第２の入力として有し、並列にＭ個の攪拌済みのビットを出力するＸＯＲ論理；及び前記ＸＯＲ論理と結合し、前記Ｍ個の攪拌済みのビットを前記１つ以上のＤＲＡＭ部品にメモリーとの前記相互接続を経由して送信する送信器、ここで前記Ｍ個の攪拌済みのビットは実質的に疑似乱数の並びを有する；を含む、並びに（２）前記１つ以上のＤＲＡＭ部品からデータを受信する受信データ経路を有し、前記受信データ経路は：並列にＭ個の攪拌済みのビットをメモリーとの前記相互接続から受信する受信器；並列に互いに相関していないＮ個の疑似乱数出力を生成する攪拌復元論理；及びメモリーとの前記相互接続からの前記Ｍ個の攪拌済みのビットを第１の入力として有し、前記攪拌復元論理の前記Ｎ個の疑似乱数出力を第２の入力として有し、並列にＭ個の攪拌復元済みのビットを出力するＸＯＲ論理；を含む。
【発明を実施するための最良の形態】
【０００７】
発明を実施するための最良の形態を、実施例を用いて説明する。
【実施例】
【０００８】
本発明の実施例を、添付の図面を例として説明する。添付の図面は本発明を限定しない。図面において同様の参照番号は同様の要素を参照する。
【０００９】
本発明の実施例は一般にＤＤＲメモリーシステムにおいてデータの攪拌（スクランブリング）を用いて電源雑音を低減するためのシステム、方法及び装置に向けられている。ある実施例では、集積回路は送信データ経路を含み、１つ以上のメモリー部品にデータを送信する。送信データ経路は攪拌論理を含んでもよい。攪拌論理は並列に互いに相関していないＮ個の疑似乱数出力を生成する。出力データと疑似乱数出力はＸＯＲ論理への入力となる。送信データ経路はＸＯＲ論理の出力を送信し、これは実質的に白色の周波数スペクトルを有する。
【００１０】
入出力性能の文脈で、最も重要な電源雑音の問題は、パッケージの共振と第１ドループである。パッケージの共振は、ダイのデカップリング容量とパッケージのインダクタンスが形成するＬＣ共振回路から生じる。これは通常１００ＭＨｚ〜２００ＭＨｚの周波数帯で起こる。パッケージの共振にいくらか関係するのが第１ドループである。これは入出力がデータの送信を開始又は終了する際に起こる急激な電流の段差による。どちらの場合でも、電源雑音はデータの並び方に強く依存する。パッケージの共振の場合、最悪の場合となるのは、データの並び方が共振周波数で著しい量のエネルギーを含むときである。第１ドループの場合は、最悪の場合となるのは、全ての入出力バッファーが同一の方向に駆動される（例えば全てゼロ）ときである。通常のデータの流れを用いると、これらの場合の何れか片方にでも当たるのは、かなり容易である。後に詳述する通り、本発明の実施例が電源雑音を減らすのは、メモリーとの相互接続（メモリーインターコネクト）に送信するデータを攪拌することによってである。
【００１１】
図１は、本発明の実施例により実装された計算システムの、選択した観点を説明する高水準の概略図である。システム１００は、メモリー制御器１１０及び記憶保持動作が必要な任意読書可能メモリー（ＤＲＡＭ）１３０を含み、これらはメモリーとの相互接続１４０経由で結合している。ある実施例では、システム１００は、少なくとも部分的に、ＤＤＲ仕様を実装する。別の実施例では、システム１００は、より多くの要素、より少ない要素、及び／又は異なる要素を含んでもよい。
【００１２】
メモリー制御器１１０は、ＤＲＡＭ１３０への／からの情報の流れを制御する。ある実施例では、メモリー制御器１１０を、処理装置の１つ以上の中核部分と同じ集積回路に集積する。別の実施例では、メモリー制御器１１０は、メモリー制御ハブのような別の集積回路の部分であってもよい。
【００１３】
メモリー制御器１１０は、送信データ経路１１２及び受信データ経路１１４を含む。送信データ経路１１２及び受信データ経路１１４により、メモリー制御器１１０は、ＤＲＡＭ１３０が関知しない方法で送信データを攪拌することにより、電源雑音を減らすことができる。ある実施例では、攪拌論理１１６は、並列に、互いに相関していない複数の疑似乱数出力を生成する。書き出しデータは、攪拌論理１１６の出力とＸＯＲを取り、これにより、ＤＲＡＭ１３０に転送されるデータは、実質的に疑似乱数の並びとなる。攪拌復元（アンスクランブリング）論理１１８は複数の疑似乱数出力を生成し、逆に、ＤＲＡＭ１３０から受信した読み込みデータの攪拌を復元する。ある実施例では、相互接続１４０を経由する伝送データに起因する電源雑音が大幅に減少した。これは、伝送データが実質的に白色の周波数スペクトルを有するからである。図１に示す通り、本発明の実施例は、メモリー制御器１１０の側と、ＤＲＡＭ１３０の側との双方の電源雑音を抑制することができる。メモリーとの相互接続１４０に伝送されるデータは常に攪拌されているからである。送信データ経路１１２及び受信データ経路１１４については図２〜図５を参照して次に更に議論する。
【００１４】
図２は本発明の実施例による送信データ経路の、選択した観点を説明する概略図である。攪拌を行う送信データ経路２００は、制御論理２０２、ＦＩＦＯ（先入先出）蓄積器（バッファー）２０４、並列線型帰還シフトレジスター（ＬＦＳＲ）２０６、並びにＸＯＲ論理２０８−Ａ及び２０８−Ｂを含む。別の実施例では、攪拌を行う送信データ経路２００は、より多くの要素、より少ない要素、及び／又は異なる要素を含んでもよい。
【００１５】
ＬＦＳＲ２０６は、疑似乱数の並びを生成する。この並びを用いて書き出しデータをメモリーに送る前に攪拌する。１ビットの出力を提供する他のＬＦＳＲと異なり、ＬＦＳＲ２０６は複数ビットの並列出力を提供する。図示の実施例では、ＬＦＳＲ２０６は１周期毎に１６ビットの出力を提供する。別の実施例では、ＬＦＳＲ２０６は並列に異なる数（例えば８、３２、６４等）のビットを１周期毎に出力してもよい。周期の数は、１バースト転送毎の転送数に依存してもよい。ＬＦＳＲはまた、１バースト転送毎の転送数に基づいてシフトを行ってもよい。例えば、１回のバースト転送が、１６個のデータの「塊」を転送することを含むのであれば、ＬＦＳＲ２０６は、そのバースト転送におけるデータの「塊」毎に新たな符号出力を生成するためにシフトを行ってもよい。ＬＦＳＲ２０６の出力は、互いに相関していない。各々の出力は、送信ビットの並びの１つ以上のビットとＸＯＲを取り（例えばＸＯＲ論理２０８−Ａ及び２０８−Ｂを用いる）、データを送信する前に攪拌する。従って、メモリーに転送されるデータは疑似乱数の並びを有する。書き出しデータはＬＦＳＲ２０６の疑似乱数出力とＸＯＲされるからである。
【００１６】
ある実施例では、ＬＦＳＲ２０６の初期化（又は「種」を与える）は、書き出しデータに関する番地（アドレス）の少なくとも部分によって行う。これによって、データの攪拌を復元する処理過程が簡単になる。読み込み動作（例えば図３を参照）の際に、受信方向のＬＦＳＲに種を与えるために、同じ番地を用いることができるからである。図示の実施例では、種は、例えば次のビットを含む列番地に基づいている：ＭＡ［１３、１１、９：４］、ＢＡ［２：０］、ＣＳ［７：０］。MAはメモリーの番地を表し、これを用いてメモリーの行から列を選択する。ＢＡはバンク番地を示しＣＳはランクを選択する。別の実施例では、種は番地の異なる部分に基づいてもよい。また別の実施例では、種は、データの番地以外の何か別物に基づいてもよい。２１０は本発明の実施例によるＬＦＳＲ２０６に対する種を示す。
【００１７】
ＦＩＦＯ２０４は複数の書き出し列番地ストローブ（ＣＡＳ）２１２のための蓄積を提供する。ある実施例では、ＬＦＳＲ２０６に種を供給するために（例えば２１４に示すように）、書き出しＣＡＳを発行する度に、その書き出しＣＡＳの部分をＦＩＦＯ２０４に蓄える。書き出すデータの準備ができると（例えば送信データのビットの並び２１６に出力されている）、種をＬＦＳＲ２０６に送る。書き出しデータとＬＦＳＲ２０６の出力をＸＯＲして（例えばＸＯＲ論理２０８−Ａ及び２０８−Ｂを用いる）攪拌済みデータ（例えば実質的に疑似乱数の並びを有するデータ）を作成する。送信器（例えば図１の送信器）は攪拌済みデータをメモリーに対して相互接続（例えば図１の相互接続１４０）経由で送信する。
【００１８】
制御論理２０２は送信データ経路２００を制御する。例えば、制御論理２０２はＦＩＦＯ２０４に適切なタイミングで種を読み込むように指示する。加えて、制御論理２０２は、ＬＦＳＲ２０６がいつ疑似乱数出力を生成するかを決めてもよい。図２に示す通り、ある実施例では、送信データは２つの１６ビットの部分に分けられ、同一のＬＦＳＲの符号（即ち出力）をそれぞれの部分に用いる。つまり、１６ビットのＬＦＳＲの出力を用いて３２ビットのデータを攪拌してもよい。別の実施例では、ＬＦＳＲの出力を別の方法で再利用してもよく、しなくともよい。
【００１９】
図３は本発明の実施例による受信データ経路の、選択した観点を説明する概略図である。攪拌を行う受信データ経路３００は、制御論理３０２、ＦＩＦＯ（先入先出）蓄積器（バッファー）３０４、並列線型帰還シフトレジスター（ＬＦＳＲ）３０６、並び替え蓄積器（バッファー）３１８、並びにＸＯＲ論理３０８−Ａ及び３０８−Ｂを含む。別の実施例では、攪拌を行う受信データ経路３００は、より多くの要素、より少ない要素、及び／又は異なる要素を含んでもよい。
【００２０】
ＬＦＳＲ３０６は、疑似乱数の並びを生成する。この並びを用いて、メモリーから受信した読み込みデータの攪拌を復元する。ＬＦＳＲ３０６は相関していない複数のビットの並列出力を提供する。図示の実施例では、ＬＦＳＲ３０６は１周期毎に１６ビットの出力を提供する。別の実施例では、ＬＦＳＲ３０６は並列に異なる数（例えば８、３２、６４等）のビットを１周期毎に出力してもよい。ＬＦＳＲ３０６の出力は、互いに相関していない。各々の出力は、受信ビットの並びの１つ以上のビットとＸＯＲを取り（例えばＸＯＲ論理３０８−Ａ及び３０８−Ｂを用いる）、メモリーから受信したデータの攪拌を復元する。
【００２１】
ある実施例では、ＬＦＳＲ３０６に種を与えるのは、読み込みデータに関する番地の少なくとも部分によって行う。図示の実施例では、種は、例えば次のビットを含む列番地に基づいている：ＭＡ［１３、１１、９：４］、ＢＡ［２：０］、ＣＳ［７：０］。別の実施例では、種は番地の異なる部分に基づいてもよい。また別の実施例では、種は、データの番地以外の何か別物に基づいてもよい。３１０は本発明の実施例によるＬＦＳＲ３０６に対する種を示す。
【００２２】
ＦＩＦＯ３０４は複数の読み込み列番地ストローブ（ＣＡＳ）３１２のための蓄積を提供する。ある実施例では、ＬＦＳＲ３０６に種を供給するために（例えば３１４に示すように）、読み込みＣＡＳを発行する度に、その読み込みＣＡＳの部分をＦＩＦＯ３０４に蓄える。読み込むデータの準備ができると（例えば攪拌済み受信データ３１６―Ａ及び３１６−Ｂのビットの並びに入力されている）、種をＬＦＳＲ３０６に送る。読み込みデータとＬＦＳＲ３０６の出力をＸＯＲして（例えばＸＯＲ論理３０８−Ａ及び３０８−Ｂを用いる）攪拌復元済みのデータを作成する。
【００２３】
ＤＤＲ仕様は順不同のデータの読み込みも定めている。従って、メモリーから読み込んだデータは、メモリーに送信したのと同じ順で受信したとは限らない。ある実施例では、受信データ経路３００は並び替え蓄積器３１８を含み、ＬＦＳＲ３０６が生成した疑似乱数符号を並び替え、データを実際に受信する順序と一致させる。読み込みＣＡＳは、これからデータがどのような順で送られてくるかを示す情報を含みうる。例えば、ＭＡ［２：０］のビットが読み込みデータの順を示してもよい。ある実施例では、攪拌を復元するための符号を前もって計算し、並び替え蓄積器３１８に蓄積する。並び替え蓄積器３１８は、読み込みデータの順と一致させるために、符号の順を変えてもよい。すると、読み込みデータは、順を変えた符号によって、正しく攪拌を復元されうる。別の実施例では、別の機構を用いて、復元の符号を、送信した順と異なる順で受信した読み込みデータと一致させてもよい。
【００２４】
制御論理３０２は受信データ経路３００を制御する。例えば、制御論理３０２はＦＩＦＯ３０４に適切なタイミングで種を読み込むように指示する。加えて、制御論理３０２は、ＬＦＳＲ３０６がいつ疑似乱数出力を生成するかを決めてもよい。制御論理３０２はまた、並び替え蓄積器３１８の動作を制御してもよい。
【００２５】
図４は本発明の実施例により実装された、並列線型帰還シフトレジスター（ＬＦＳＲ）に基づく攪拌（又は攪拌復元）処理過程の、選択した観点を説明する概念図である。表４００の各行は、ＬＦＳＲ（例えば図２のＬＦＳＲ２０６及び図３のＬＦＳＲ３０６）の出力を計算する論理を示す。ある実施例では、ＬＦＳＲはX16+X13+X10+X9+X8+X4+1の多項式を実装する。
【００２６】
例えば、行２を参照すると、周期Ｎ＋１におけるビット２の出力は、OutN+1[2]=OutN[2]+OutN[5]+OutN[8]+OutN[9]+OutN[A]+OutN[E]により決定される。
【００２７】
ここでOutn[b]は、ＬＦＳＲの周期ｎにおけるビットｂの出力である。別の実施例では、ＬＦＳＲは異なる多項式及び／又は異なる論理を実装してもよい。
【００２８】
攪拌の有効性を、ＭＡＴＬＡＢ（登録商標）によって、１３３３ＭＴ／ｓ（メガ転送毎秒）のＤＤＲについて抽出した電源供給モデルを用いて分析した。次に示す表１に、第１ドループ及びパッケージの共振の双方についての結果をまとめる。連続するデータの流れに対しては、攪拌することにより大きく電源雑音が削減される。しかし、データの転送に間隔が追加されると、結果はかなり悪くなる。最悪値となったのは、間隔が電源供給網の共振周波数に対応した場合である。より小さい又はより大きい間隔であれば、雑音もより小さくなる。そのような間隔は共振周波数から外れるからである。しかし、これらの間隔を考慮に入れても、攪拌によりそれでも最悪の場合の電源雑音が４５％も減った。これは素晴らしい成果である。
【００２９】
【表１】
0004981008.tif 000002
図５は、本発明の実施例による、データの攪拌を用いて電源雑音を低減するための方法の、選択した観点を説明する流れ図である。処理区画５０２を参照すると、スケジューリング論理（例えば図１に示すスケジューリング論理１２０）が命令を発行する。この命令は多くの異なる種類の命令のいかなるものであってもよいが、例えば、５０４に示す書き出し命令又は読み込み命令を含む。
【００３０】
命令が書き出し命令であれば、５０６で、送信データ経路の攪拌論理は、並列に互いに相関していないＮ個の疑似乱数出力を生成する。ある実施例では、Ｎ個の疑似乱数出力は、少なくとも部分的に書き出し命令に基づく。例えば、攪拌論理は、並列ＬＦＳＲを含んでもよく、書き出し命令のＣＡＳの部分を用いてＬＦＳＲに種を与えてもよい。
【００３１】
処理区画５０８を参照すると、Ｍ個の送信ビットを、Ｎ個の疑似乱数出力で攪拌する。ある実施例では、Ｍは３２であり、Ｎは１６である。別の実施例では、Ｍ及び／又はＮは異なる値であってもよい。ある実施例では、Ｍ個の送信ビットを、Ｎ個の疑似乱数出力とＸＯＲを取ることにより攪拌する。ＬＦＳＲは１回のバーストデータ転送毎に１回シフトしてもよく、バースト転送におけるデータの塊の各々に対して、Ｎ（例えば１６）ビットの異なる符号を用いてもよい。
【００３２】
処理区画５１０を参照すると、Ｍ個の攪拌済みのビットを１つ以上のメモリー部品にメモリーとの相互接続を経由して送信する。ある実施例では、Ｍ個の攪拌済みのビットは白色の周波数スペクトルを有する。すなわち、どの周波数でも実質的に同じエネルギーだということである。平均して、送信する攪拌済みのビットの半分は論理的に高であり、残りの半分は論理的に低である。攪拌及び送信処理を、データの全てのバースト転送が終了するまで繰り返してもよい。
【００３３】
５０４に戻り、命令が読み込み命令であれば、５１２で、受信データ経路の攪拌復元論理は、並列に互いに相関していないＮ個の疑似乱数出力を生成する。ある実施例では、Ｎ個の疑似乱数出力は、少なくとも部分的に読み込み命令に基づく。例えば、攪拌復元論理は、並列ＬＦＳＲを含んでもよく、読み込み命令のＣＡＳの部分を用いてＬＦＳＲに種を与えてもよい。
【００３４】
処理区画５１４を参照すると、Ｍ個の攪拌済みビットを１つ以上のメモリー部品からメモリーとの相互接続を経由して受信する。受信した攪拌済みビットは、送信した攪拌済みビットと同様に、白色の周波数スペクトルを有する。平均して、受信した攪拌済みのビットの半分は論理的に高であり、残りの半分は論理的に低である。
【００３５】
処理区画５１６を参照すると、Ｍ個の読み込みビットを、Ｎ個の疑似乱数出力を用いて攪拌を復元する。ある実施例では、Ｍは３２であり、Ｎは１６である。別の実施例では、Ｍ及び／又はＮは異なる値であってもよい。ある実施例では、Ｍ個の読み込みビットを、Ｎ個の疑似乱数出力とＸＯＲを取ることにより攪拌を復元する。ＬＦＳＲは１回のバーストデータ転送毎に１回シフトしてもよく、バースト転送におけるデータの塊の各々に対して、Ｎ（例えば１６）ビットの異なる符号を用いてもよい。
【００３６】
本発明の実施例は誤り訂正符号（ＥＣＣ）の働きには悪影響を及ぼさない。それどころか、本発明の実施例は、命令の相互接続における伝送の誤りに対して防御を行うことにより、ＥＣＣの適用範囲を実際に拡張してもよい。例えば、もし読み込み番地が、命令の相互接続における伝送の誤りによって化けたなら、違うデータがメモリー制御器に返されることになる。このデータは「誤った」種（例えば本来の正しい読み込み番地に基づく種）を用いて攪拌を復元されることになるので、このことはＥＣＣの誤りを通知することになる。
【００３７】
本願発明の実施例の要素を、機械が実行可能な命令を格納するための、機械可読媒体として提供してもよい。機械可読媒体は次を含んでもよいがこれらに限定されない：フラッシュメモリー、光学ディスク、コンパクトディスク読み出し専用メモリー（ＣＤ−ＲＯＭ）、デジタル多目的／映像ディスク（ＤＶＤ）ＲＯＭ、任意読書可能メモリー（ＲＡＭ）、消去可能プログラム可能読み出し専用メモリー（ＥＰＲＯＭ）、電気的消去可能プログラム可能読み出し専用メモリー（ＥＥＰＲＯＭ）、磁気若しくは光学カード、伝搬媒体又は他の型の機械可読媒体であって電子的な命令を格納するために適した物。例えば、本発明の実施例を計算機のプログラムとして読み込んでもよい。このプログラムを、遠隔の計算機（例えばサーバー）から、要求する計算機（例えばクライアント）に、通信結合（例えば変復調器又は網結合）を経由する、搬送波又はその他伝搬媒体において実施されるデータ信号を手段として転送してもよい。
【００３８】
前述の記載において、一定の用語法を用いて本発明の実施例を記載した。例えば、「論理」という用語は、１つ以上の機能を実行するための、ハードウェア、ファームウェア、ソフトウェア、又はこれらのいかなる組み合わせをも表現する。例えば、「ハードウェア」の例が含むのは、集積回路、有限状態機械、又は組合せ論理ですらあるが、これらに限定されない。集積回路は、処理装置の形態を取ってもよい。これは例えば超小型処理装置、特定用途向け集積回路、デジタル信号処理装置、超小型制御装置、等である。
【００３９】
本明細書を通じて、「ある実施例」又は「実施例」という表現は、その実施例に関して記載される特定の機能、構造又は特性は、本願発明の少なくとも１つの実施例に含まれるということを意味するということを理解されたい。従って、本明細書の様々な部分において「実施例」「ある実施例」又は「別の実施例」という表現が二つ以上出現しても、これらが全て同一の実施例を参照しているとは限らないということを強調するので、理解されたい。更に、かかる特定の機能、構造又は特性は、本発明の１つ以上の実施例において適切に組み合わせてもよい。
【００４０】
同様に、本発明の実施例の前述の記載において、様々な機能が場合により単一の実施例、図、またはこれらの説明の中に一緒にまとめられていることを理解されたい。これは、本開示を最適に記述することにより、本発明の種々の観点の１つ以上のものを理解することを助けるためである。しかしながら、かかる開示の方法を、請求の主題事項が、各請求項に明示的に記載されているところを超える特徴を必要とする、という意図を反映するものであると、解釈してはならない。そうではなく、添付の請求項が示すとおり、発明の観点は、前述開示の実施例の１つに含まれる全ての特徴よりも小さい範囲にある。従って、本願に明細書と共に添付の請求項を、ここに明示的に本明細書中に援用する。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施例により実装された計算システムの、選択した観点を説明する高水準の概略図である。
【図２】本発明の実施例による送信データ経路の、選択した観点を説明する概略図である。
【図３】本発明の実施例による受信データ経路の、選択した観点を説明する概略図である。
【図４】本発明の実施例により実装された、線型帰還シフトレジスターに基づく攪拌処理過程の、選択した観点を説明する概念図である。
【図５】本発明の実施例による、データの攪拌を用いて電源雑音を低減するための方法の、選択した観点を説明する流れ図である。
【図１】
0004981008.tif 000003
【図２】
0004981008.tif 000004
【図３】
0004981008.tif 000005
【図４】
0004981008.tif 000006
【図５】
0004981008.tif 000007