(57)【特許請求の範囲】
【請求項１】
電源供給網をオンにする時に、高速データリンクの最大の雑音の周波数を特定すること；
前記最大の雑音を最小化する、第１のポートと第２のポートとの間の遅延時間を特定すること；及び
前記第１のポートをオンにした時から、前記遅延時間後に、前記第２のポートをオンにすること；
を含み、
前記最大の雑音の前記周波数を前記特定することは、前記電源供給網の共振周波数を特定することを含む方法。
【請求項２】
前記周波数は、約１００ＭＨｚである、請求項１の方法。
【請求項３】
前記遅延時間は、約３２単位間隔である、請求項１の方法。
【請求項４】
前記第２のポートをオンにした時から、前記遅延時間後に、第３のポートをオンにすることを更に含む、請求項１の方法。
【請求項５】
前記第１のポートをオフにした時から、前記遅延時間後に、前記第２のポートをオフにすることを更に含む、請求項１の方法。
【請求項６】
オンにされることになる複数のレーン；
前記レーン同士の間で、第１のプログラムされた遅延を提供する遅延回路であり、前記第１のプログラムされた遅延の後に、継続するレーンをオンにする遅延回路；及び
前記遅延回路における遅延時間を制御する遅延制御回路であり、前記遅延時間は、電源供給網をオンにする時にレーンの最大の雑音を最小化するために特定される遅延制御回路；
を含み、
前記最大の雑音の周波数は、前記電源供給網の共振周波数を含むＩ／Ｏインターフェース。
【請求項７】
前記遅延時間は、前記最大の雑音の周波数の半分の周期である、請求項６のＩ／Ｏインターフェース。
【請求項８】
前記遅延時間は、約３２単位間隔である、請求項６のＩ／Ｏインターフェース。
【請求項９】
前記最大の雑音は、前記電源供給網の共振周波数で発生する、請求項６のＩ／Ｏインターフェース。
【請求項１０】
前記レーン同士の間で、第２のプログラムされた遅延を提供する前記遅延回路であり、前記第２のプログラムされた遅延の後に、継続するレーンをオフにする前記遅延回路を更に含む、請求項６のＩ／Ｏインターフェース。
【請求項１１】
前記第１のプログラムされた遅延と、前記第２のプログラムされた遅延とは、実質的に同じである、請求項１０のＩ／Ｏインターフェース。
【請求項１２】
処理装置；
Ｉ／Ｏ信号が計算機システムに送信されることを助けるチップセット；
前記計算機システムに命令を供給するＩ／Ｏ装置；及び
前記Ｉ／Ｏ装置を前記チップセットに結合するＩ／Ｏインターフェースであり、レーン同士の間で、第１のプログラムされた遅延を提供し、前記第１のプログラムされた遅延の後に、継続するレーンをオンにし、前記第１のプログラムされた遅延は、電源供給網をオンにする時にレーンの最大の雑音を最小化するために特定されるＩ／Ｏインターフェース；
を含み、
前記最大の雑音の周波数は、前記電源供給網の共振周波を含むシステム。
【請求項１３】
前記第１のプログラムされた遅延は、前記最大の雑音の周波数の半分の周期である、請求項１２のシステム。
【請求項１４】
前記第１のプログラムされた遅延は、約３２単位間隔である、請求項１２のシステム。
【請求項１５】
前記最大の雑音は、前記電源供給網の共振周波数で発生する、請求項１２のシステム。
【請求項１６】
前記レーン同士の間で、第２のプログラムされた遅延を提供する前記Ｉ／Ｏインターフェースであり、前記第２のプログラムされた遅延の後に、継続するレーンをオフにする前記Ｉ／Ｏインターフェースを更に含む、請求項１２のシステム。
【請求項１７】
前記第１のプログラムされた遅延と、前記第２のプログラムされた遅延とは、実質的に同じである、請求項１６のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は雑音を減らす方法に関する。
【背景技術】
【０００２】
高速なインターフェースの例には、例えば、ＰＣＩ−Ｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｅｘｐｒｅｓｓ）、ＣＳＩ（Ｃｏｍｍｏｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＦＢＤ（Ｆｕｌｌｙ  Ｂｕｆｆｅｒｅｄ  ＤＩＭＭ）等がある。高速なインターフェースにおいては、総実効負荷ｄｉ／ｄｔ（電流の変化／時間の変化）により生じる交流雑音がありうる。総実効負荷は、個々のレーンの負荷の、瞬間的な合計である。総実効負荷は、Ｉ／Ｏ（入出力）電源供給網によって、感知されうる。Ｉ／Ｏインターフェースの各レーンは、送信器、受信器、及び他のデジタル回路を有してもよい。個々のレーンの各々は、レーンの負荷を生成しうる。電源供給網は、全ての動作しているレーンの、総実効負荷の影響を受けることがあり、それにより、ＡＣ雑音を生じることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、このような雑音を減らすことである。
【課題を解決するための手段】
【０００４】
雑音を減らす方法は、次を含む：電源供給網をオンにする時に、高速データリンクの最大の雑音の周波数を特定すること；その最大の雑音を最小化する、第１のポートと第２のポートの間の遅延時間を特定すること；及び、第１のポートをオンにした時から、その遅延時間後に、第２のポートをオンにすること。
【発明を実施するための最良の形態】
【０００５】
本願に記載する本発明を添付の図面を用いて例により説明する。添付の図面は本願発明を限定しない。例示を単純かつ明快にするために、図に示している要素は原寸に比例して描かれているとは限らない。例えば、ある要素を明らかに示すために、その寸法を、他の要素に比べて誇張することがある。更に、適切であると判断する場合には、同じ参照番号を複数の図面で繰り返し、対応する又は類比する要素を示す。
【０００６】
後述の詳細な記述において、数多くの個別の詳細を記載するのは、本発明の徹底した理解を促すためである。しかし、本願発明を、これら個別の詳細を抜きに実施してもよい。逆に、周知の方法、手続き、部品及び回路は、詳細に記載していない。これは本願発明を明確にするためである。更に、例の寸法、型式、値、範囲を示すことがあるが、本願発明はそれらの個別の例に限定されない。
【０００７】
本明細書において、「１つの実施例」、「ある実施例」、「実施例」等の表現が示すのは、記載の実施例は、特定の特徴、構造、又は特性を含んでもよいが、全ての実施例が、その特定の特徴、構造、又は特性を含むとは限らなくてもよいということである。更に、「１つの実施例」、「ある実施例」、「実施例」等の表現は、同一の実施例を示しているとは限らない。更に、特定の特徴、構造、又は特性を、ある実施例に関して記述した場合、前提としているのは、そのような特徴、構造、又は特性を、明示的に記載しているか否かにかかわらず、別の実施例に関して応用することは、当業者の知識の範囲内であるということである。
【０００８】
更に、本明細書において参照される要素で、共通の参照番号の後に特定の符号が続くものを、まとめてその参照番号のみで参照することがある。例えば、レーン２００Ａ、２００Ｂ、２００Ｃ．．．２００Ｎを、まとめてレーン２００ということがある。同様に、遅延回路２１０Ａ、２１０Ｂ、．．．２１０Ｎを、まとめて遅延回路２１０ということがある。
【実施例】
【０００９】
図１は、計算機システムの実施例を示す。この計算機システムは、処理装置１００、チップセット１１０、記憶装置１２０、及びＩ／Ｏ装置１３０を含んでもよい。図に示す通り、処理装置１００は、チップセット１１０に接続するのに、処理装置バスを介してもよい。記憶装置１２０は、チップセット１１０に接続するのに、記憶装置バスを介してもよい。Ｉ／Ｏ装置１３０は、チップセット１１０に接続するのに、Ｉ／Ｏバスを介してもよい。Ｉ／Ｏバスとは、例えば、ＰＣＩ（Ｐｈｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩ  Ｅｘｐｒｅｓｓバス、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）バス等である。
【００１０】
処理装置１００は、インテル（登録商標）Ｐｅｎｔｉｕｍ（登録商標）４処理装置、インテル（登録商標）Ｐｅｎｔｉｕｍ（登録商標）Ｍ処理装置、及び／又は、他の型の汎用処理装置１００であって、ソフトウェア及び／又はファームウェアの命令を実行できるもので、実装してもよい。１つの実施例では、処理装置１００は、記憶装置１２０に格納してある命令を実行してもよい。これにより、様々な処理を実行し、この計算機システムの総合的な動作を制御する。処理装置１００はまた、電源管理に関する命令及び／又はルーチンを実行してもよい。これにより例えば、部品（例えばＩ／Ｏインターフェース）が、このシステムの動作中に、交流雑音を減らすようにする。
【００１１】
チップセット１１０は、１つ以上の集積回路（チップともいう）を含んでもよい。チップセット１１０は、処理装置１００を、この計算機システムの他の部品と結合する。図に示す通り、チップセット１１０は、記憶装置制御ハブ１４０及びＩ／Ｏ制御ハブ１５０を含んでもよい。記憶装置制御ハブ１４０は、記憶装置１２０の記憶部品へのインターフェースを提供してもよい。とりわけ、記憶装置制御ハブ１４０は、記憶装置バスに信号を生成して、記憶装置１２０の記憶部品に対してデータを読み書きしてもよい。このデータの読み書きは、処理装置１００及びＩ／Ｏ装置１３０からの要求に応じて行ってもよい。記憶装置１２０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）部品を含んでもよい。ＲＡＭ部品とは例えばＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）部品やＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）ＲＡＭ部品である。
【００１２】
ある実施例によるＩ／Ｏ制御ハブ１５０は、Ｉ／Ｏインターフェース１６０を含んでもよい。Ｉ／Ｏインターフェース１６０とは、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースである。Ｉ／Ｏインターフェース１６０は、Ｉ／Ｏ装置１３０を、Ｉ／Ｏ制御ハブ１５０とインターフェースしてもよい。これにより、処理装置１００とＩ／Ｏ装置１３０の間のデータ転送ができ、記憶装置１２０とＩ／Ｏ装置１３０の間のデータ転送ができる。１つの実施例では、Ｉ／Ｏインターフェース１６０は、処理装置１００の中にあってもよい。１つの実施例では、Ｉ／Ｏインターフェース１６０は、記憶装置制御ハブ１４０の中にあってもよい。
【００１３】
図に示す通り、この計算機システムはまた、Ｉ／Ｏ装置１３０を含んでもよい。Ｉ／Ｏ装置１３０は、様々な入出力機能を、この計算機システムのために実装してもよい。例えば、Ｉ／Ｏ装置１３０は、ハードディスク駆動装置、鍵盤、マウス、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）駆動装置、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）駆動装置、印刷装置、走査装置、等を含んでもよい。
【００１４】
図２は、Ｉ／Ｏインターフェースシステム１６０の実施例を示す。図に示す通り、Ｉ／Ｏインターフェースシステム１６０は、複数のポート２７０を含んでもよい。１つのポートは、複数のレーン２００を含んでもよい。レーンの例は、例えば２００Ａ、２００Ｂ、２００Ｃ．．．２００Ｎである。１つのポートは、複数の遅延回路２１０を含んでもよい。遅延回路の例は、例えば２１０Ａ、２１０Ｂ、２１０Ｃ．．．２１０Ｎである。１つのポートは、遅延制御回路２２０を含んでもよい。Ｉ／Ｏインターフェースシステム１６０は、電源供給網２６０を含んでもよい。レーン２００Ａは、レーン２００Ｂに接続するのに、レーン２００Ａとレーン２００Ｂの間に提供される遅延回路２１０Ａを通ってもよい。レーン２００Ｂは、レーン２００Ｃに接続するのに、レーン２００Ｂとレーン２００Ｃの間に提供される別の遅延回路２１０Ｂを通ってもよい。同様にこれが最後のレーン２００Ｎに到るまで続く。レーン２００Nはその直前のレーンと、遅延回路２１０Ｎを通って接続する。遅延制御回路２２０は、遅延回路２１０の各々に接続してもよい。
【００１５】
図に示す通り、レーン２００の各レーンは、１つの実施例では、送信器２３０、受信器２４０、及びデジタル回路２５０を含んでもよい。電源が電源供給網２６０からＩ／Ｏインターフェース１６０の諸ポート２７０に供給されると、全てのレーン２００が同時にオンになってしまうことがある。すると、レーン２００の送信器２３０、受信器２４０、及びデジタル回路２５０により、レーン２００の各々が電源供給網にレーンの負荷を与えてしまう。電源供給網２６０は、全ての動作するレーン２００の総実効負荷ｄｉ／ｄｔ（個々のレーンの負荷の瞬間的な合計）の影響を受けてしまうことがある。これにより、電源供給網２６０は、Ｉ／Ｏシステムの動作中にＡＣ雑音を発生させてしまう。
【００１６】
これを解決するために、遅延回路２１０は、レーン２００同士の間に遅延時間を導入してもよい。これにより、後続のレーン２００をオンにするのを遅らせる。１つの実施例では、遅延回路２１０における遅延時間である時間定数を、遅延制御回路２２０の補助を受けて、遅延回路２１０の電圧を変えることによって制御してもよい。
【００１７】
１つの実施例では、プログラムされる遅延時間を計算するために、実験により周波数を特定する。この周波数とは、ポート２７０のレーン２００がオンになった時に、Ｉ／Ｏインターフェース１６０に、最も雑音を発生させる周波数である。１つの例では、図３に示すような雑音のグラフが、ポート２７０Ａのレーン２００Ａから測定された。これにより、最も大きく雑音の発生に寄与する周波数を特定する。この周波数に基づき、遅延時間を定めてもよい。これにより、この周波数における雑音を最小化する。これは、継続するレーンを順番にオンにして、ポートはこの周波数で位相が１８０度ずれるようにすることによって行う。１つの実施例では、この周波数を、電源供給網２６０の共振周波数と呼ぶ。この周波数が１００ＭＨｚである場合には、遅延時間は、その周期の半分である５ｎｓとなる。Ｉ／Ｏインターフェースが６．４ＧＨｚで動作するのであれば、この遅延時間は、32単位間隔（ＵＩ）の大きさとなる。
【００１８】
１つの実施例では、レーンとレーンの間に真性遅延があってもよい。この場合、遅延制御回路２２０は、この真性遅延に更に遅延を追加して、計算した遅延時間になるようにしてもよい。遅延回路２１０はまた、各ポートの各レーンをオフにする場合も、遅延を導入してもよい。例えば、省電力設定でポートへの電源供給をオフにするような場合である。遅延制御回路２２０は、継続するレーンの各々をオフにするための、第２の遅延時間を、遅延回路２１０に与えてもよい。継続するレーンの各々をオフにするための第２の遅延時間は、継続するレーンの各々をオンにするための第１の遅延時間とは、異なってもよく、異ならなくてもよい。
【００１９】
１つの実施例では、プログラムした遅延回路２１０を諸レーン２００の間に設けることにより、個々のレーンの負荷に一様に間隔を空けてもよい。これにより、諸レーン２００における負荷が重なり一致してしまうことを減らす。従って、電源供給網２６０が感知する総実効負荷（個々のレーンの負荷の瞬間的な合計）を大きく減らせる。そして、総実効負荷が減れば、Ｉ／Ｏシステムにおける交流雑音の最大振幅をより小さくできる。
【００２０】
図３を参照する。雑音のグラフの１つの実施例を示す。図に示す通り、グラフ３００は、レーンがオンになる場合の、異なる周波数成分についての電流の測定値を示す。この例では、１００ＭＨｚが、最も大きな雑音の周波数である。１つの実施例では、グラフ３００はレーン２００Ａで測定したものである。
【００２１】
図４を参照する。図１のシステムが実装する、雑音を減らす方法の、ある実施例を示す。図に示す通り、区画４００では、最大の雑音の周波数を特定する。１つの実施例では、雑音のグラフ（図３に示すようなもの）を作って、レーン２００がオンになる場合に、どの周波数が最大の雑音に寄与するかを、目で見て確かめる。
【００２２】
区画４１０では、最大の雑音を最小化する遅延時間を特定する。１つの実施例では、この遅延時間は、区画４００で特定した周波数の周期の半分の値である。
【００２３】
区画４２０では、示している通り、遅延時間をＩ／Ｏインターフェース１６０に実装する。１つの実施例では、遅延制御回路２２０を設定して、適切な遅延時間を格納し、この遅延時間を遅延回路２１０が用いる。
【００２４】
実施例を参照して本発明の特徴を記述した。しかし、この記述は、本願発明を限定する意味で解釈されることを意図していない。本発明の記載した実施例の種々の変更、及び、本発明の別の実施例の種々の変更は、当業者には明らかであり、本発明の精神及び範囲に含まれる。
【図面の簡単な説明】
【００２５】
【図１】計算機システムの実施例を示す。
【図２】Ｉ／Ｏインターフェースシステムの実施例を示す。
【図３】雑音のグラフの例を示す。
【図４】図１のシステムで実装してもよい、雑音を減らす方法の実施例を示す。
【図１】
0004921451.tif 000002
【図２】
0004921451.tif 000003
【図３】
0004921451.tif 000004
【図４】
0004921451.tif 000005