光学メモリ拡張
本発明の様々な実施形態は、コンピュータシステムのメモリを分離するための光学ベースの方法と拡張メモリシステムに向けられたものである。一態様において、拡張メモリシステム(200)は、プロセッサと電気的に連通している第1の光学/電気インターフェース(202)と、メモリと共に構成されたメモリ拡張ボード(204)と、前記メモリ拡張ボードに取り付けられた第2の光学/電気インターフェース(208)とを備える。前記第1のインターフェースは、光学信号を、前記プロセッサに送られる電気信号へと変換し、及び、前記プロセッサにより生成された電気信号を、光学信号へと変換する。前記第2のインターフェースは、光学信号を、前記メモリに送られる電気信号へと変換し、及び、前記メモリにより生成された電気信号を、光学信号へと変換する。前記光学信号は、前記第1のインターフェースと第2のインターフェースとの間において交換される。実施形態はまた、データを送って拡張メモリシステム内において受け取るための方法も含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、コンピュータメモリに関し、特に、メモリの光学的な分離(disaggregation)のためのシステム及び方法に関するものである。
【背景技術】
【0002】
背景
アプリケーションのサイズの増大と、ソフトウェアベースのマルチメディアの人気と、グラフィックス仕事量の増加とが、メモリ容量の要求が高められる一因となっている。サーバ、ワークステーション、ネットワーク機器、及びハイエンドなデスクトップコンピュータなどの多くのコンピュータシステムは、その構成当時のアプリケーションをサポートするだけのメモリしかない状態で頻繁に構成され、将来に同一システム上において実行される可能性があるアプリケーションをサポートするのに十分なメモリで典型的には構成されない。図1は、DDRインターフェースをサポートするよう構成されたコンピュータシステムのマザーボード106上に配置されたメモリ102及びプロセッサ104構成要素の等角図を示す。メモリ102は、4つのDIMMスロット112〜115にそれぞれ挿入された4つのデュアルインラインメモリモジュール(「DIMMs」)108〜111から成る。各DIMMは、8つのダイナミックランダムアクセスメモリ(「DRAM」)チップを含む。プロセッサ104は、DIMMs108〜111に対して送受されるデータの流れを管理し、且つ、そのメモリ102をコンピュータシステムにおける他の主要な構成要素とインターフェースさせるチップである。DIMMs108〜111は、DDRインターフェース118を介してプロセッサ104と電気的に連通している。プロセッサ104と、DIMMs108〜111内の各DRAMのデータ線との間において、並列に電気信号内のデータ、アドレス、及びコントロール情報を送ることのための共有化されたパラレル経路インターフェースを提供するスタブ・バス・トポロジをDDRインターフェース118は有する。
【0003】
用語「DDR」は、コンピュータシステムクロック信号の立ち上がりエッジと立ち下がりエッジとの両方においてデータを伝達することを意味する。プロセッサ104及びDIMMs108〜111は、DDRに従ってデータを送受するよう構成されている。クロックの両エッジを用いることによって、データ信号は同じ制限周波数において動作し、データ転送レートが2倍になる。一般的にDDRxにより識別される(ここで、xは整数である)多くの異なるDDRインターフェース118の実現形態が存在する。例えば、DDR1は、データライン上においてダブルデータレートの信号伝達(シグナリング)を用いるが、アドレス及びコントロール信号は、依然として1クロック周期ごとに1度DIMMsに送られる。DDR2は、DDR1の2倍の速度で動作し、このことは、各DRAMのメモリセルを、DDR1におけるようなクロックレートでなく、半分のクロックレートで動作させることによって成し遂げられる。DDR3は、メモリセルの4倍の速度において入力/出力バスを実行させる能力を提供する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンピュータシステムにおける、新たなアプリケーションか又は新たなアプリケーションバージョンで、これまでの増加するメモリ要求と同じペースを保つために、コンピュータシステムオペレータは、既存のDDRメモリチャンネルに対してDIMMsを単純に追加することによってコンピュータシステムのメモリを増加させることができ、バッファリングされるメモリ設計に切り換えることができる。しかしながら、電気的なDDRメモリチャンネルに対してDIMMsが追加される時に、電気的な負荷(又はロード)が、バスタイミングエラーを生じさせ、該バスタイミングエラーは、バス速度が低減されるまで存続する。その結果として、最大メモリサイズと、最大メモリ速度との間にはトレードオフが存在する。或いはまた、バッファリングされるメモリ設計により、電力及びレイテンシが常に生じており、いずれにせよメモリは完全に負荷がかかる。バッファリングされるチャンネル当たりに、少数のDIMMsは負荷がかけられ得ると、そのために、バッファリングされるシステムさえも、準備され得るメモリにおいて制限される。追加的には、各々の追加されたバッファは、消費電力とコストとを追加し、この解決法を、大容量な低コストなシステムにとって望ましくないものにさせる。
【0005】
DIMMsをコンピュータシステムに単純に追加することにおいて考慮すべき他の要因は、従来のプロセッサが、2タイプのオンボードメモリのコントローラを利用するということである。すなわち、1)バッファリングされるメモリと、2)直接取り付けられるメモリとの2つのタイプである。メモリコントローラは、DIMMsに対して送受するデータの流れを管理するディジタル回路であり、別個のチップとして実現され得るか或いはプロセッサのようなチップ内において統合され得る。メモリコントローラは、DRAMに対して読み出し及び書き込みを行うために、及び、デバイス全体を通じて電流を送ることによって該DRAMをリフレッシュするために必要な論理を含む。バッファリングされるメモリシステムは、メモリ拡張のためのメカニズムを可能にし、及び、メモリが完全にポピュレートされていようとなかろうと、バッファのコストが常に発生する。一方、直接取り付けられるメモリは、低コストの実現形態を可能にし、バッファリングされるメモリよりも、より少ない電力を使用する。何故ならば、直接取り付けられるメモリは、バッファチップを必要としないからである。しかしながら、直接取り付けられるメモリは、電気的な負荷(又はロード)の影響によって本質的に制限される。結果として、直接取り付けられるメモリシステムは、シングルプロセッサによって制御及び使用され得るメモリの量に制限される。従って、サーバか又はマルチプロセッサシステムに対してより多くのメモリを追加するために、更に多くのプロセッサが追加される。
【0006】
最新アプリケーションにおける増加するメモリ要求をサポートする新たなコンピュータシステムを再設計し且つ構築しなければならないことに関連して比較的より高いコストでは無しに、必要とされる時にDRAMメモリが増加させられ得ることとなるような、メモリ拡張と、メモリの分離(disaggregation)とを可能にするというシステムが望まれている。
【図面の簡単な説明】
【0007】
【図1】ダブルデータレートインターフェースをサポートするよう構成されたコンピュータシステムのマザーボード上に配置されたメモリ及びプロセッサ構成要素の等角図を示す図である。
【図2】本発明の実施形態に従って構成された拡張メモリシステムの概略図を示す図である。
【図3A】本発明の実施形態に従って構成された拡張DIMMの等角図を示す図である。
【図3B】本発明の実施形態による、DIMMスロット内へとロードされた拡張DIMMの等角図を示す図である。
【図4】本発明の実施形態による、マザーボードのソケット内へと挿入された光学/電気インターフェースチップの等角図を示す図である。
【図5】本発明の実施形態に従って構成された第1の拡張メモリシステムの概略図を示す図である。
【図6】本発明の実施形態に従って構成された第2の拡張メモリシステムの概略図を示す図である。
【図7】本発明の実施形態に従って構成された第3の拡張メモリシステムの概略図を示す図である。
【図8】本発明の実施形態に従って構成された第4の拡張メモリシステムの概略図を示す図である。
【図9】本発明の実施形態に従って構成された第5の拡張メモリシステムの概略図を示す図である。
【図10】本発明の実施形態に従って構成された光学/電気インターフェースのブロック図を示す図である。
【図11】本発明の実施形態による、バックプレーンを介して光学的に連通しているプライマリボードとメモリ拡張ボードの等角図及び概略図を示す図である。
【図12】本発明の実施形態による、拡張メモリシステム内にデータを送るための方法の制御フロー図を示す図である。
【図13】本発明の実施形態による、拡張メモリシステム内にデータを受け取るための方法の制御フロー図を示す図である。
【実施例】
【0008】
詳細な説明
本発明の様々な実施形態は、コンピュータシステムのメモリを分離させる(disaggregate)ための光学ベースの方法及び拡張メモリシステムに向けられたものである。以下の説明において、用語「光(又は光学)」は、電磁スペクトラムの可視及び不可視部分内の波長を有した標準的な及び/又は量子化された電磁放射線のことを指す。拡張メモリシステム実施形態は、プライマリボードか又はブレードと電気的に連通している、及び、第2の光学/電気インターフェースを介してメモリ拡張ボードと光学的に連通している、第1の光学/電気インターフェースを含む。光学/電気インターフェースは、DDRxインターフェースと共に実現され得り、連続プロトコルに対する転換を実施し、及び、プライマリボードとメモリ拡張ボードとの間の伝送のために電気信号を光学信号に変換する。拡張メモリシステムは、1つか又は複数のセットのDIMMsに対する信号伝達の分配を拡張する光学バスと共に実現され得る。
【0009】
システム実施形態によって、直接取り付けられるメモリは、追加的な、リモートに実装されるメモリ容量を準備させられることが可能になり、ソケット当たりの、及び、コア当たりの、プロセッサにとって利用可能なメモリを、増加させされることが可能になる。その結果として、システム実施形態は、メモリ内に大量のデータを置くデータベース及び他のアプケーションに関連付けられたレイテンシを軽減させる。本発明の実施形態に従って実行されるメモリ拡張は、別個の光学相互接続を通じた隣接ボード上へとメモリを拡張することによって、マザーボードに関してコストが生じること無く成し遂げられ得る。システム実施形態によって、メモリが、マザーボード上の他の物理位置に配置されることが可能になり、熱、パッケージング、及び電力の考慮事項が、システム設計において最適に対処されることが可能になる。
【0010】
図2は、本発明の実施形態に従って構成された拡張メモリシステム200の概略図を示す。システム200は、プライマリボード204の(プロセッサ(複数可)206のような)構成要素と電気的に連通している第1の光学/電気インターフェース202を備える。プライマリボード204は、デスクトップコンピュータか又はワークステーションのようなコンピュータのマザーボードとすることができるか、ブレードシステムのブレードサーバ(すなわち、ブレード)とすることができるか、或いはモジュールとすることができる。システム200はまた、メモリ拡張ボード212のメモリ210と電気的に連通している第2の光学/電気インターフェース208も備える。メモリ210は、第2のインターフェース208と電気的に連通している1つか又は複数のDIMMsから成り得る。メモリ拡張ボード212は、同じキャビネット内においてか又は異なるキャビネット内において配置され得る。第1のインターフェース202は、プロセッサ206によって生成されたデータ、アドレス、及びコントロール情報をエンコードしている電気信号を受け取り、その電気信号を、光学信号214へと変換する。それら光学信号214は、第2のインターフェース208に送られる。第2のインターフェース208は、該光学信号214を受け取り、該光学信号214を電気信号へと戻すように変換する。それらの電気信号は、メモリ210へと送られて、メモリ210内に格納される。メモリ210内に格納されたデータを取り出す(又は検索する)ために、該データは、電気信号内にエンコードされ、それらは、第2のインターフェース208に送られる。第2のインターフェース208は、その電気信号を光学信号216へと変換する。該光学信号216は、第1のインターフェース202に送られる。第1のインターフェース202は、同様に、該光学信号216を、プロセッサ206によって処理され得る電気信号へと変換する。
【0011】
ある実施形態において、光学/電気インターフェース202及び208は、拡張DIMMs上に実現され得る。図3Aは、本発明の実施形態に従って構成された拡張DIMM300の等角図を示す。拡張DIMM300は、基板304上に配置された拡張要素302を含む。拡張要素302は、電気インターフェース(図示せず)と、2つの光学ポート306及び308を含んだ光学インターフェース(図示せず)とを含む。電気インターフェース(図示せず)は、後述のように、DDRxインターフェース上にわたって拡張DIMMに対して送受されるデータをエンコードしている電気信号のパラレルからシリアルへの、及び、シリアルからパラレルへのフロー制御を実施する。図3Aは、光学ポート306及び308内へとそれぞれ挿入された導波路310及び312を示す。用語「導波路」は、光ファイバか、光リボンか、又は光学信号を伝達するための任意の他の適合可能な媒体のことを指す。基板304は、基板304のコネクタ部分316に沿って配置されたピン314に接続された信号線(図示せず)を含む。コネクタ部分316上に印刷されるピン314の数は、プライマリボード上に実装されるDIMMスロットのタイプに依存して変動させることができる。例えば、ピン314の数は、64、72、100、144、168、及び184個か又はそれ以上とすることができる。一般的には、DDRxインターフェース上にわたって拡張DIMM300に送られる電気信号は、電気インターフェース(図示せず)によって処理されて、光学インターフェース(図示せず)に送られる。該光学インターフェースは、電気信号を光学信号へと変換する。それら光学信号は、導波路310上にわたって出力される。該光学インターフェース(図示せず)は、導波路312内において受け取った光学信号を電気信号へと変換する。該電気信号は、電気インターフェース(図示せず)によって処理されて、マザーボード上に配置されたプロセッサか又はメモリに対してDDRxインターフェース上にわたって送られる。
【0012】
図3Bは、本発明の実施形態による、DIMMスロット318内へとロードされた拡張DIMM300の等角図を示す。マザーボード320は、メモリ拡張ボードか、ワークステーションか、ハイエンドのデスクトップコンピュータか、サーバブレードか、又はネットワークインターフェースのマザーボードとすることができる。マザーボード320上に配置されたメモリ322は、DIMMスロット328〜330内へとそれぞれロードされた3つのDIMMs324〜326を含む。DIMMスロット318は、DIMMスロット328〜330との違いは無い。従って、アダプタDIMM300は、その他のDIMMスロット328〜330のうちの任意の1つの中へとロードされて、DIMMs324〜326のうちの任意の1つと置き換えられ得る。拡張DIMM300は、マザーボード320の性能には影響を与えず、マザーボード320が設定(又は構成)される時にか、或いは幾らか経過した後の既存メモリ容量が不十分である時に、DIMMスロット内へとロードされ得る。拡張DIMM300は、図3B内に示されるように、他のDIMMs324〜326と一緒にロードされ得るが、その他のDIMMs324〜326と比較した場合には、拡張DIMM300は、電気的負荷に応じて比較的低減された最大データレートを有する。
【0013】
他の実施形態において、光学/電気インターフェース202及び208は、マザーボードのソケット内へと挿入されたチップ内に実現され得る。図4は、本発明の実施形態による、マザーボード406のソケット404内へと挿入された光学/電気インターフェースチップ402の等角図を示す。チップ402は、後述のように、光学入力ポート408と光学出力ポート410とを有した光学インターフェース(図示せず)と、並びに、1つか又は複数のDDRxインターフェース上にわたってチップ402に対して送受されるデータをエンコードしている電気信号のパラレルからシリアルへの、及び、シリアルからパラレルへのフロー制御を実施する電気インターフェース(図示せず)と共に、構成される。光学インターフェースは、チップ402によって処理された電気信号を光学信号へと変換する。該光学信号は、導波路410内において出力される。該光学インターフェースはまた、導波路408内においてチップ402に送られた光学信号を電気信号へと変換する。該電気信号は、電気インターフェースによって処理されて、マザーボード406上に配置されたプロセッサか又は他のメモリに送られ得る。
【0014】
図5〜図9は、本発明の拡張メモリシステム実施形態において光学/電気インターフェース300及び400が実現され得る様々なやり方(又は手段)の概略図を示す。
【0015】
図5は、本発明の実施形態に従って構成された第1の拡張メモリシステム500の概略図を示す。システム500は、プライマリボード504のDIMMスロット内へとロードされた第1の拡張DIMM502を備える。拡張DIMM502は、電気インターフェース506と光学インターフェース508とを含む。電気インターフェース506は、第1のDDRxインターフェース512を介してプロセッサ510と電気的に連通しており、及び、光学インターフェース508と電気的に連通している。図5内に示されているように、システム500は、第2の拡張DIMM514と、メモリ拡張ボード516とを備える。拡張DIMM514は、メモリ拡張ボード516のDIMMスロット内へとロードされ、光学インターフェース518と電気インターフェース520とを含み、該電気インターフェース520は、第2のDDRxインターフェース526を介して2つのDIMMs522及び524と電気的に連通しており、光学インターフェース518と電気的に連通している。図5はまた、拡張DIMMs502及び514が、導波路528及び530を介して光学的に連通しているということを示す。導波路528及び530は、インターフェース508及び518を光学的に結合させている。システム500は、最大メモリに2:1の拡張を提供する。該最大メモリは、メモリ拡張ボード516のDIMMスロット内へとロードされ得る。
【0016】
プロセッサ510が、DIMMs522及び524内にデータを格納する時には、プロセッサ510は、データ、アドレス、及びコントロール情報を含むパラレル電気信号を、DDRxインターフェース512上にわたって拡張DIMM502に送る。電気インターフェース506は、該パラレル電気信号をシリアル電気信号へと変換することにより、パラレルからシリアルへのフロー制御を実施し、及び、電気インターフェース506は、プロセッサ510からデータが出力されるレートのバリエーションを補償するために、電気信号内にエンコードされた情報を格納するメモリバッファを含む。シリアル電気信号が、光学インターフェース508に送られて、その同じ情報をエンコードしている光学信号へと変換され、該光学信号が、導波路530上にわたって光学インターフェース518に送られる。光学インターフェース518は、該光学信号を、シリアル電気信号へと戻すように変換する。該シリアル電気信号は、第2の電気インターフェース520に送られる。電気インターフェース520は、該シリアル電気信号をパラレル電気信号へと変換することによって、シリアルからパラレルへのフロー制御を実施し、及び、電気インターフェース520は、拡張DIMM502からデータが送られるレートのバリエーションを補償するために、電気信号内にエンコードされた情報を格納するメモリバッファを含む。該パラレル電気信号は、DIMMs522及び524内に記憶するためにDDRxインターフェース526上にわたって送られる。
【0017】
DDRxインターフェース526上にわたってパラレル電気信号を拡張DIMM514に送ることによって、DIMMs522及び524内に格納されたデータが、プロセッサ510に送られる。このケースでは、電気インターフェース520は、パラレル電気信号をシリアル電気信号へと変換することによって、パラレルからシリアルへのフロー制御を実施し、及び、DIMMs522及び524からデータが送られるレートのバリエーションを補償するために、メモリバッファ内に情報を格納することができる。シリアル電気信号内にエンコードされた情報が、電気インターフェース520から光学インターフェース518に送られて、光学信号に変換され、該光学信号が、導波路528上にわたって光学インターフェース508に送られる。光学インターフェース508は、該光学信号をシリアル電気信号へと戻すように変換し、該シリアル電気信号が、第1の電気インターフェース506に送られる。拡張DIMM514からデータが送られるレートのバリエーションを補償するために、電気インターフェース506は、シリアル電気信号内にエンコードされた情報を、メモリバッファ内に格納することによって、シリアルからパラレルへのフロー制御を実施する。電気インターフェース506は、該情報をパラレル電気信号へと変換し、該パラレル電気信号は、第1のDDRxインターフェース512上にわたってプロセッサ510に対して、処理のために送られる。
【0018】
図6は、本発明の実施形態に従って構成された第2の拡張メモリシステム600の概略図を示す。第2の拡張DIMM514が、特定用途向け集積回路(「ASIC」)602によって置き換えられ、且つ、メモリ拡張ボード516が、メモリ拡張ボード604とは異なるように構成されているということを除いて、システム600は、システム500とほぼ同一である。ASIC602は、図4に関連して上記に説明されているように、ボード実装チップとして実現されており、1つから複数のセットのDIMMsに電気的な通信をファンアウトさせる(又はあらゆる方向に電気的な伝達を行う)よう構成され得る。例えば、図6内に示されているように、ASIC602は、2セットのDIMMsに電気的な通信をファンアウト及びファンインさせるよう構成される。具体的には、ASIC602は、DDRxインターフェース608上にわたってDIMMs604及び606と電気的に連通しており、及び、別のDDRxインターフェース614上にわたってDIMMs610及び612と電気的に連通している。ASIC602は、光学インターフェース616及び電気インターフェース618と共に構成されている。光学インターフェース616が、拡張DIMM514の光学インターフェース518と同じ機能を実施する状態で、図5に関連して上記に説明したように、光学インターフェース508及び616は、導波路528及び530上にわたって光学的に連通している。電気インターフェース618もまた、拡張DIMM514の電気インターフェース520と同じ機能を実施する。
【0019】
図5に関連して上記に説明した同一の、パラレルからシリアルへのフロー制御手法において、プライマリボード504のプロセッサ510からメモリ拡張ボード604のメモリへと、導波路530上にわたってデータが送られる。光学インターフェース616は、光学インターフェース508から受け取った光学信号を、シリアル電気信号に戻すように変換し、及び、図5に関連して上記に説明した拡張DIMM514の電気インターフェース520により実施される、ほぼ同一の、シリアルからパラレルへのフロー制御を実施する。しかしながら、拡張DIMM514とは異なり、電気インターフェース602は、情報をパラレル電気信号へと変換する。該パラレル電気信号は、DDRxインターフェース608及び614上にわたって、DIMMs604か、606か、610か、又は612内に記憶させるために送られ得る。
【0020】
関連したDDRxインターフェース608及び614上にわたってパラレル電気信号をASIC602に送ることによって、DIMMs604か、606か、610か、又は612内に格納されたデータが、プロセッサ510に送られる。図5に関連して上記に説明したような拡張DIMM514が実施する、ほぼ同じ、パラレルからシリアルへのフロー制御を、電気インターフェース618が実施する。その情報は、シリアル電気信号内にエンコードされ、電気インターフェース618から光学インターフェース616に送られて、光学信号へと変換される。該光学信号は、導波路528上にわたって光学インターフェース508へと送られる。該光学信号は、図5に関連して上記に説明したように処理される。
【0021】
図7は、本発明の実施形態に従って構成された第3の拡張メモリシステム700の概略図を示す。システム700は、プライマリボード704上に実装された第1のASIC702を備える。第1のASIC702は、電気インターフェース706と光学インターフェース708とを含む。電気インターフェース706は、DDRxインターフェース712を介してプロセッサ710と電気的に連通しており、及び、光学インターフェース708と電気的に連通している。図7内に示されているように、システム700は、図6に関連して上記に説明した第2のASIC602及びメモリ拡張ボード604を備える。
【0022】
図5及び図6に関連して上記に説明した、同一の、パラレルからシリアルへの及びシリアルからパラレルへのフロー制御手法において、プロセッサ710と、メモリ拡張ボード604のメモリとの間において、導波路528及び530上にわたってデータが送られる。
【0023】
図8は、本発明の実施形態に従って構成された第4の拡張メモリシステム800の概略図を示す。システム800は、図5に関連して上記に説明したプライマリボード504のDIMMスロット内へとロードされた同じ拡張DIMM502を備える。システム800はまた、4つの光学からDDRへのASICs(以下、光学/DDR・ASICsと記す)806〜809と光学的に連通している光学バス804を含むメモリ拡張ボード802も備える。光学バス804は、ファンインバス810とファンアウトバス812とを含み、それらのバスは両方とも、光タップ823などの(図8内においてOTとして識別される)光タップを介してASICs806〜809と光学的に連絡している。ファンインバス810及びファンアウトバス812は、マルチモードの光ファイバか、リッジ導波管か、フォトニック結晶導波路か、中空導波路か、又は光学信号を伝送するための任意の他の適合可能なマルチモード媒体とすることができる。該中空導波路は、空気のコアを有したチューブから成るものとすることができる。中空導波路を形成する構造上のチューブは、1よりも大きいか又は小さい屈折率を有した内部コア材料を有することが可能である。このチューブ化は、適合可能な金属か、ガラスか、又はプラスチックから構成され得り、及び、金属性の及び誘電性の膜が、チューブの内面上に配置されて、高反射率が提供され得る。該中空導波路は、高反射率の金属コーティングがコアの内側表面に内張りされている状態の中空金属導波路とすることができる。該空気のコアは、円形のか、楕円形のか、正方形のか、長方形のか、又は光を導くのに適合可能な任意の他の形状である断面形状を有することができる。導波路が中空であるため、光学信号は、約1の実効屈折率を有した中空導波路のコアに沿って伝搬することができる。換言すると、空気内か又は真空内において光の速度で中空導波路のコアに沿って光が伝搬する。光タップは、ビームスプリッタか、部分的に反射性のミラーか、又はバス810及び812に沿って伝達される光学信号の特定部分を反射及び伝達するよう構成され得る任意の他の媒体とすることができる。光学/DDR・ASICsの各々は、DDRxインターフェース上にわたって4つの関連付けられたDIMMsと電気的に連通している。例えば、ASIC806は、DDRxインターフェース816及び818を介してDIMMs814と電気的に連通している。
【0024】
ファンアウトバス812の光タップ820〜823は、ASICs806〜809の間においておおよそ等しく光電力を分配するよう構成されている。一般的には、光タップは、光学インターフェース508から光学/DDR・ASICsの各々へと出力される光学信号の光電力の総計の約1/nをそらすよう構成される。ここで、nは、光学/DDR・ASICsの数である。例えば、光タップ823は、ASIC809へと光学バス812によって運ばれる光電力の約1/4をそらして、光タップ822は、ASIC808へと光学バス812によって運ばれる光電力の約1/3を導き、光タップ821は、ASIC807へと光学バス812によって運ばれる残りの光電力のうちの約1/2を導き、及び、光タップ820は、完全反射性のミラーである。一方、ファンインバス810の光タップ824〜827は、等しい量の光電力が光インターフェース508によってASICs806〜809の各々から受け取られることとなるよう構成される。一般的には、ファンインバスのn個の光タップは、光学インターフェースが、n個の光学/DDR・ASICsの各々から出力された光電力の総計の約1/nを受け取ることとなるように構成される。例えば、光タップ824〜827は、光学インターフェース508によって受け取られる光学信号の光電力が、ASICs806〜809の各々から出力された光学信号の電力のうちの約1/4となることとなるように全て構成される。
【0025】
メモリ拡張ボード802には、ファインイン導波路810及びファンアウト導波路812と光学的に連通しているリピータ(図示せず)を含めることができる。該リピータは、光学から電気から光学への変換器である。該変換器は、光学信号を受け取り、光学信号を再生成し、次いで、該再生成した光学信号を再伝達する。該リピータは、自由空間か又は光学的な相互接続損失によって生じられる減衰に打ち勝つように使用され得る。追加的には、光学信号を強化するために、該リピータはまた、ノイズか、或いは光学信号における他の望んでいない態様を排除するように使用され得る。リピータにより生成される光電力の量は、ファンアウトバスに取り付けられたASICsの数と、システム損失と、ASICsにおける光学受信器の感度とによって決定される。換言すると、リピータは、ASICsの全てに到達させるのに十分な光電力を有した光学信号を生成するために使用され得る。
【0026】
プロセッサ510から送られるデータは、データの格納に関与する光学/DDR・ASICの追加的なアドレスを含む。該データは生成されて、プロセッサからファンアウトバス812へと送られ、これは、図5に関連して上記に説明した、同一の、パラレルからシリアルへのフロー制御手法である。光学信号は、ファンアウトバス812内へと直接注入され、光タップ820〜823が、光学信号のうちの一部を、関連付けられたASICs806〜809へと導く。データを受け取るよう定められたASICを識別する電気信号のアドレス部分を分析する追加的なステップをASICs806〜809が実施することを除いて、ASICs806〜809は、図6内のASIC602に関連して上記に説明した、同一の、シリアルからパラレルへのフロー制御を、実施するよう構成され及び動作させられる。該アドレスが、受け取るASICのアドレスに一致しない時には、そのデータは、破棄され得る。しかしながら、該アドレスが、受け取るASICのアドレスに一致した時には、そのASICは、そのデータを関連付けられたDIMMsに格納することによって該データを処理する。
【0027】
メモリ拡張ボード802のDIMMs内に格納されたデータを送るために、アービターが使用されて、2つか又は3つ以上のASICsがファンインバス810を同時に使用することが防止され得る。アービトレーションが無いと、光学インターフェース508は、導波路528上において複数のASICから光学信号を受け取る可能性があり、その場合、光学信号が混ざり合って、光学インターフェース508において解読できない状態となる。アービターは、ファンインバス810が使用され得る前に、ASICがファンインバス810を使用する許可が与えられて、同時に光学信号が伝達されることが防止されるということを保証する。このアービトレーションは、比較的高速であり、ファンインバス810に対してASICsの数が追加されるとスケーリングされる。アービトレーションは、周知の光学的か又は電気的な、トークンベースのアービトレーション方法を用いて、アービターによって実行され得る。ASICs806〜809のうちの1つが、ファンインバス810を使用する許可が与えられると、図6に関連して上記に説明したように、関連付けられたDIMMs内に格納されたデータを生成する光学信号が、生成されて、ファンインバス810及び導波路528上にわたって光学インターフェース508に送られる。そのデータは、図5に関連して上記に説明したように、プロセッサ510によって受け取られる。
【0028】
図9は、本発明の実施形態に従って構成された第5の拡張メモリシステム900の概略図を示す。システム900は、図7に関連して上記に説明したプライマリボード704の同じASIC702を備え、システム900は、図8に関連して上記に説明したように構成された同じメモリ拡張ボード802を備える。ASIC702及びプライマリボード704は、図7に関連して上記に説明したように動作させられ、メモリ拡張ボード802の構成要素は、図8に関連して上記に説明したように構成され且つ動作させられる。
【0029】
図10は、本発明の実施形態に従って構成された光学/電気インターフェース1000のブロック図を示す。インターフェース1000は、光学インターフェース1002、電気インターフェース1004、及びピン1006を含む。ピン1006は、図3及び図4に関連して上記に説明したように、DIMMスロットか又はソケットを介して、マザーボードにおける1つか又は複数のDDRxインターフェースに電気的に接続されている。ピン1006は、データ、アドレス、及びコントロール情報をエンコードしているパラレル電気信号1008を、1つか又は複数のDDRxインターフェースのパラレル信号線から受け取り、該パラレル電気信号1008を、電気インターフェース1004のシリアル化ブロック1010に送る。シリアル化ブロック1008は、パラレル電気信号1008を受け取って、同じ情報をエンコードしているシリアル電気信号1012に変換する電気構成要素を含む。シリアル化ブロック1010は、シリアル電気信号1012に対するDCバランス・コーディングをオプションで用いることができる。DCバランス・コーディングは、等しい数の論理「1」と論理「0」とを有したコードワードを生成するために使用される。DCバランス・コーディングの例は、マンチェスターコーディングとその変形形態とを含む。マンチェスターコーディングでは、論理「0」は、ビットの中央における「0」から「1」への遷移によって識別され、論理「1」は、ビットの中央における「1」から「0」への遷移によって指示される。4B/6B・DCバランス・コーディングでは、DCバランスを提供するために、コードワードが、3つの論理「1」と、3つの論理「0」とを含む。4B/8B・DCバランス・コーディングでは、わずかに2つの連続した論理「1」及び論理「0」を有する状態で、8つのビットコードワードが、4つの論理「1」と、4つの論理「0」とを有する。8B/10B・DCバランス・コーディングでは、シンボル又はキャラクターと呼ばれる10ビットのエンティティとして8ビットのデータが伝達される。低い5つのビットのデータが、6ビットグループ内にエンコードされ(5B/6B部分)、最上部の3つのビットが、4ビットグループ内にエンコードされる(3B/4B部分)。これらのコードグループが、互いに連結させられて、10ビットシンボルを形成する。その2つの追加的なビットによって、データストリーム内において送られる「0」及び「1」の数が、時間とともにバランスが取られることが可能となる。シリアル電気信号1012を、光学インターフェース1002の光学送信器1014に送る前に、データが受け取られるレートとデータが送られ得るレートのバリエーションを補償するため、情報が、メモリバッファ1016内に一時的に格納され得る。光学送信器1014は、シリアル電気信号1012を、その同じ情報をエンコードしている光学信号1016へと変換する。該光学信号1016は、上述の導波路310及び410のような出力導波路上にわたって伝達される。光学送信器1014は、面発光レーザ(「VCSEL」)か、ダブルヘテロ構造レーザか、量子井戸レーザか、量子カスケードレーザか、分布帰還型レーザか、又は任意の他の半導体ベースのレーザとすることができる。
【0030】
図10内に示されているように、光学インターフェース1002はまた、情報をエンコードしている光学信号1020を受け取るための光学受信器1018も含む。光学受信器1018は、pn接合か又はp−i−n接合のフォトダイオードとすることができる。該フォトダイオードは、光学信号1020を、その同じ情報をエンコードしているシリアル電気信号1022へと変換する。例えば、光学受信器1018は、チップ上に統合されたガリウムヒ素(「GaAs」)か、インジウムガリウムヒ素(「InGaAs」)か、シリコン(「Si」)か、ゲルマニウム(「Ge」)か、又はSiGeベースのフォトダイオードとすることができる。シリアル電気信号1022を受け取って、シリアル電気信号1022内のDCバランス・コーディングをデコードし、及び、該シリアル電気信号1022をパラレル電気信号1026へと変換する電気構成要素を含むデシリアル化ブロック1024を電気インターフェース1004が含む。該パラレル電気信号1026は、DDRxインターフェース上にわたる伝送のためにピン1006に伝達される。パラレル電気信号1026を生成する前に、情報はまた、メモリバッファ1016内に一時的に格納され得る。
【0031】
導波路528及び530は、メモリ拡張ボードがプライマリボードに光学的に接続され得るような多くのやり方のうちの単なる代表の1つに過ぎない。例えば、メモリ拡張ボード及びプライマリボードは、キャビネット・バックプレーンを通じて光学的に相互接続され得る。該キャビネット・バックプレーンはまた、同じキャビネット内に実装された他のボード間において電気的及び光学的な接続を提供するために使用される。図11は、キャビネット・バックプレーン1102を介して光学的に連通しているプライマリボード204及びメモリ拡張ボード212の等角図及び概略図を示す。図の明確化のために、他のボード及びキャビネットの部分は図示されていない。バックプレーン1102には、ファイバーリボンコネクタ1104〜1107を含めることができる。図11内に示されているように、光学/電気インターフェース208が、ファイバーリボン1108及び1109を介してコネクタ1104及び1105に対して光学的に結合されており、及び、光学/電気インターフェース202が、ファイバーリボン1110及び1111を介してコネクタ1106及び1107に対して光学的に結合されている。バックプレーン1102は、コネクタ1104及び1106を光学的に結合させる光ファイバと共に構成されており、コネクタ1105及び1107の光学的な接続によって、光学/電気インターフェース202及び208が、上述のように光学信号214及び216を交換することが可能になる。
【0032】
電気信号を伝送、シリアル化、及びデシリアル化するために使用されるDDRx及び電気インターフェースは、光学インターフェース間において光学信号が伝達されるレートよりも比較的より低いデータ伝送レートにおいて実施されるということに留意されたい。例えば、導波路528及び530か又はバックプレーン1102上にわたって伝達される光学信号は、クロック速度の約4〜6倍において伝達され得る。換言すると、光学インターフェース間において高速データ伝送が成し遂げられ、比較的より低い速度伝送が、DDRx及び電気インターフェースのような電気構成要素によって実行される。
【0033】
図12は、本発明の実施形態による、拡張メモリシステム内にデータを送るための方法の制御フロー図を示す。ステップ1201において、図5〜図10に関連して上記に説明したように、DDRxインターフェースからパラレル電気信号が受け取られる。該パラレル電気信号は、プロセッサか又はローカルメモリによって生成され得る。ステップ1202において、図10のシリアル化ブロック1010に関連して及び図5〜図9に関連して上記に説明したように、パラレル電気信号を、同一の情報がエンコードされたシリアル電気信号へと変換することによって、該パラレル電気信号がシリアル化される。オプションのステップ1203において、シリアル電気信号は、図10内のシリアル化ブロック1010に関連して上記に説明したように、DCバランスを含めるようエンコードされ得る。オプションのステップ1204において、図10のステップ1014に関連して上記に説明したように、データが受け取られる及び/又は送られるレートのバリエーションを補償するために、電気信号内にエンコードされた情報は、メモリバッファ内に格納され得る。ステップ1205において、図10に関連して上記に説明したように、データをエンコードしているシリアル電気信号が、光学送信器に送られる。ステップ1206において、光学送信器は、シリアル電気信号を光学信号へと変換し、該光学信号が、導波路上にわたって、プライマリボードか又は拡張メモリシステムの光学/電気インターフェースに送られる。
【0034】
図13は、本発明の実施形態による、拡張メモリシステム内にデータを受け取るための方法の制御フロー図を示す。ステップ1301において、図10内の光学信号1024に関連して上記に説明したように、プライマリボードか又はメモリ拡張ボードから送られた光学信号が、受け取られて、シリアル電気信号へと変換される。ステップ1302において、図10内のデシリアル化ブロック1028に関連して上記に説明したように、該シリアル電気信号が、デシリアル化ブロックを用いてパラレル電気信号に変換される。オプションのステップ1303において、図10に関連して上記に説明したように、DCバランス・コーディングを用いて光学信号が送られた時には、DCバランス・コーディングが、パラレル電気信号から取り除かれる。オプションのステップ1304において、データが受け取られるレートとデータが送られ得るレートのバリエーションを補償するために、パラレル電気信号はメモリバッファ内に格納され得る。ステップ1305において、データをエンコードしているパラレル電気信号が、DDRxインターフェース上にわたって、プライマリボードのプロセッサに対してか、又はメモリ拡張ボードのメモリに対して伝達される。
【0035】
説明することを目的とした上述の記載は、本発明の完全な理解を提供するために、特定の用語体系が用いられている。しかしながら、本発明を実践するために、それら特定の詳細事項が必要とされないということが、当業者にとっては明らかであろう。本発明の特定の実施形態の上述の記載は、図示し且つ説明する目的のために提示されている。それらは、網羅的となるようにすることか、或いは、開示した正確な形態に本発明を限定することは、意図されていない。上記教示を考慮して、明らかに多くの修正及び変形形態が可能である。本発明の原理とその実際の用途とを最も良く説明して、それによって、予期される特定の利用法に適合されるような様々な修正と共に本発明と様々な実施形態とを他の当業者が最も良好に利用することを可能にするために、実施形態が示され及び説明されている。本発明の範囲は、以下の特許請求の範囲とその等価物によって画定されることが意図されている。
【技術分野】
【0001】
本発明の実施形態は、コンピュータメモリに関し、特に、メモリの光学的な分離(disaggregation)のためのシステム及び方法に関するものである。
【背景技術】
【0002】
背景
アプリケーションのサイズの増大と、ソフトウェアベースのマルチメディアの人気と、グラフィックス仕事量の増加とが、メモリ容量の要求が高められる一因となっている。サーバ、ワークステーション、ネットワーク機器、及びハイエンドなデスクトップコンピュータなどの多くのコンピュータシステムは、その構成当時のアプリケーションをサポートするだけのメモリしかない状態で頻繁に構成され、将来に同一システム上において実行される可能性があるアプリケーションをサポートするのに十分なメモリで典型的には構成されない。図1は、DDRインターフェースをサポートするよう構成されたコンピュータシステムのマザーボード106上に配置されたメモリ102及びプロセッサ104構成要素の等角図を示す。メモリ102は、4つのDIMMスロット112〜115にそれぞれ挿入された4つのデュアルインラインメモリモジュール(「DIMMs」)108〜111から成る。各DIMMは、8つのダイナミックランダムアクセスメモリ(「DRAM」)チップを含む。プロセッサ104は、DIMMs108〜111に対して送受されるデータの流れを管理し、且つ、そのメモリ102をコンピュータシステムにおける他の主要な構成要素とインターフェースさせるチップである。DIMMs108〜111は、DDRインターフェース118を介してプロセッサ104と電気的に連通している。プロセッサ104と、DIMMs108〜111内の各DRAMのデータ線との間において、並列に電気信号内のデータ、アドレス、及びコントロール情報を送ることのための共有化されたパラレル経路インターフェースを提供するスタブ・バス・トポロジをDDRインターフェース118は有する。
【0003】
用語「DDR」は、コンピュータシステムクロック信号の立ち上がりエッジと立ち下がりエッジとの両方においてデータを伝達することを意味する。プロセッサ104及びDIMMs108〜111は、DDRに従ってデータを送受するよう構成されている。クロックの両エッジを用いることによって、データ信号は同じ制限周波数において動作し、データ転送レートが2倍になる。一般的にDDRxにより識別される(ここで、xは整数である)多くの異なるDDRインターフェース118の実現形態が存在する。例えば、DDR1は、データライン上においてダブルデータレートの信号伝達(シグナリング)を用いるが、アドレス及びコントロール信号は、依然として1クロック周期ごとに1度DIMMsに送られる。DDR2は、DDR1の2倍の速度で動作し、このことは、各DRAMのメモリセルを、DDR1におけるようなクロックレートでなく、半分のクロックレートで動作させることによって成し遂げられる。DDR3は、メモリセルの4倍の速度において入力/出力バスを実行させる能力を提供する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンピュータシステムにおける、新たなアプリケーションか又は新たなアプリケーションバージョンで、これまでの増加するメモリ要求と同じペースを保つために、コンピュータシステムオペレータは、既存のDDRメモリチャンネルに対してDIMMsを単純に追加することによってコンピュータシステムのメモリを増加させることができ、バッファリングされるメモリ設計に切り換えることができる。しかしながら、電気的なDDRメモリチャンネルに対してDIMMsが追加される時に、電気的な負荷(又はロード)が、バスタイミングエラーを生じさせ、該バスタイミングエラーは、バス速度が低減されるまで存続する。その結果として、最大メモリサイズと、最大メモリ速度との間にはトレードオフが存在する。或いはまた、バッファリングされるメモリ設計により、電力及びレイテンシが常に生じており、いずれにせよメモリは完全に負荷がかかる。バッファリングされるチャンネル当たりに、少数のDIMMsは負荷がかけられ得ると、そのために、バッファリングされるシステムさえも、準備され得るメモリにおいて制限される。追加的には、各々の追加されたバッファは、消費電力とコストとを追加し、この解決法を、大容量な低コストなシステムにとって望ましくないものにさせる。
【0005】
DIMMsをコンピュータシステムに単純に追加することにおいて考慮すべき他の要因は、従来のプロセッサが、2タイプのオンボードメモリのコントローラを利用するということである。すなわち、1)バッファリングされるメモリと、2)直接取り付けられるメモリとの2つのタイプである。メモリコントローラは、DIMMsに対して送受するデータの流れを管理するディジタル回路であり、別個のチップとして実現され得るか或いはプロセッサのようなチップ内において統合され得る。メモリコントローラは、DRAMに対して読み出し及び書き込みを行うために、及び、デバイス全体を通じて電流を送ることによって該DRAMをリフレッシュするために必要な論理を含む。バッファリングされるメモリシステムは、メモリ拡張のためのメカニズムを可能にし、及び、メモリが完全にポピュレートされていようとなかろうと、バッファのコストが常に発生する。一方、直接取り付けられるメモリは、低コストの実現形態を可能にし、バッファリングされるメモリよりも、より少ない電力を使用する。何故ならば、直接取り付けられるメモリは、バッファチップを必要としないからである。しかしながら、直接取り付けられるメモリは、電気的な負荷(又はロード)の影響によって本質的に制限される。結果として、直接取り付けられるメモリシステムは、シングルプロセッサによって制御及び使用され得るメモリの量に制限される。従って、サーバか又はマルチプロセッサシステムに対してより多くのメモリを追加するために、更に多くのプロセッサが追加される。
【0006】
最新アプリケーションにおける増加するメモリ要求をサポートする新たなコンピュータシステムを再設計し且つ構築しなければならないことに関連して比較的より高いコストでは無しに、必要とされる時にDRAMメモリが増加させられ得ることとなるような、メモリ拡張と、メモリの分離(disaggregation)とを可能にするというシステムが望まれている。
【図面の簡単な説明】
【0007】
【図1】ダブルデータレートインターフェースをサポートするよう構成されたコンピュータシステムのマザーボード上に配置されたメモリ及びプロセッサ構成要素の等角図を示す図である。
【図2】本発明の実施形態に従って構成された拡張メモリシステムの概略図を示す図である。
【図3A】本発明の実施形態に従って構成された拡張DIMMの等角図を示す図である。
【図3B】本発明の実施形態による、DIMMスロット内へとロードされた拡張DIMMの等角図を示す図である。
【図4】本発明の実施形態による、マザーボードのソケット内へと挿入された光学/電気インターフェースチップの等角図を示す図である。
【図5】本発明の実施形態に従って構成された第1の拡張メモリシステムの概略図を示す図である。
【図6】本発明の実施形態に従って構成された第2の拡張メモリシステムの概略図を示す図である。
【図7】本発明の実施形態に従って構成された第3の拡張メモリシステムの概略図を示す図である。
【図8】本発明の実施形態に従って構成された第4の拡張メモリシステムの概略図を示す図である。
【図9】本発明の実施形態に従って構成された第5の拡張メモリシステムの概略図を示す図である。
【図10】本発明の実施形態に従って構成された光学/電気インターフェースのブロック図を示す図である。
【図11】本発明の実施形態による、バックプレーンを介して光学的に連通しているプライマリボードとメモリ拡張ボードの等角図及び概略図を示す図である。
【図12】本発明の実施形態による、拡張メモリシステム内にデータを送るための方法の制御フロー図を示す図である。
【図13】本発明の実施形態による、拡張メモリシステム内にデータを受け取るための方法の制御フロー図を示す図である。
【実施例】
【0008】
詳細な説明
本発明の様々な実施形態は、コンピュータシステムのメモリを分離させる(disaggregate)ための光学ベースの方法及び拡張メモリシステムに向けられたものである。以下の説明において、用語「光(又は光学)」は、電磁スペクトラムの可視及び不可視部分内の波長を有した標準的な及び/又は量子化された電磁放射線のことを指す。拡張メモリシステム実施形態は、プライマリボードか又はブレードと電気的に連通している、及び、第2の光学/電気インターフェースを介してメモリ拡張ボードと光学的に連通している、第1の光学/電気インターフェースを含む。光学/電気インターフェースは、DDRxインターフェースと共に実現され得り、連続プロトコルに対する転換を実施し、及び、プライマリボードとメモリ拡張ボードとの間の伝送のために電気信号を光学信号に変換する。拡張メモリシステムは、1つか又は複数のセットのDIMMsに対する信号伝達の分配を拡張する光学バスと共に実現され得る。
【0009】
システム実施形態によって、直接取り付けられるメモリは、追加的な、リモートに実装されるメモリ容量を準備させられることが可能になり、ソケット当たりの、及び、コア当たりの、プロセッサにとって利用可能なメモリを、増加させされることが可能になる。その結果として、システム実施形態は、メモリ内に大量のデータを置くデータベース及び他のアプケーションに関連付けられたレイテンシを軽減させる。本発明の実施形態に従って実行されるメモリ拡張は、別個の光学相互接続を通じた隣接ボード上へとメモリを拡張することによって、マザーボードに関してコストが生じること無く成し遂げられ得る。システム実施形態によって、メモリが、マザーボード上の他の物理位置に配置されることが可能になり、熱、パッケージング、及び電力の考慮事項が、システム設計において最適に対処されることが可能になる。
【0010】
図2は、本発明の実施形態に従って構成された拡張メモリシステム200の概略図を示す。システム200は、プライマリボード204の(プロセッサ(複数可)206のような)構成要素と電気的に連通している第1の光学/電気インターフェース202を備える。プライマリボード204は、デスクトップコンピュータか又はワークステーションのようなコンピュータのマザーボードとすることができるか、ブレードシステムのブレードサーバ(すなわち、ブレード)とすることができるか、或いはモジュールとすることができる。システム200はまた、メモリ拡張ボード212のメモリ210と電気的に連通している第2の光学/電気インターフェース208も備える。メモリ210は、第2のインターフェース208と電気的に連通している1つか又は複数のDIMMsから成り得る。メモリ拡張ボード212は、同じキャビネット内においてか又は異なるキャビネット内において配置され得る。第1のインターフェース202は、プロセッサ206によって生成されたデータ、アドレス、及びコントロール情報をエンコードしている電気信号を受け取り、その電気信号を、光学信号214へと変換する。それら光学信号214は、第2のインターフェース208に送られる。第2のインターフェース208は、該光学信号214を受け取り、該光学信号214を電気信号へと戻すように変換する。それらの電気信号は、メモリ210へと送られて、メモリ210内に格納される。メモリ210内に格納されたデータを取り出す(又は検索する)ために、該データは、電気信号内にエンコードされ、それらは、第2のインターフェース208に送られる。第2のインターフェース208は、その電気信号を光学信号216へと変換する。該光学信号216は、第1のインターフェース202に送られる。第1のインターフェース202は、同様に、該光学信号216を、プロセッサ206によって処理され得る電気信号へと変換する。
【0011】
ある実施形態において、光学/電気インターフェース202及び208は、拡張DIMMs上に実現され得る。図3Aは、本発明の実施形態に従って構成された拡張DIMM300の等角図を示す。拡張DIMM300は、基板304上に配置された拡張要素302を含む。拡張要素302は、電気インターフェース(図示せず)と、2つの光学ポート306及び308を含んだ光学インターフェース(図示せず)とを含む。電気インターフェース(図示せず)は、後述のように、DDRxインターフェース上にわたって拡張DIMMに対して送受されるデータをエンコードしている電気信号のパラレルからシリアルへの、及び、シリアルからパラレルへのフロー制御を実施する。図3Aは、光学ポート306及び308内へとそれぞれ挿入された導波路310及び312を示す。用語「導波路」は、光ファイバか、光リボンか、又は光学信号を伝達するための任意の他の適合可能な媒体のことを指す。基板304は、基板304のコネクタ部分316に沿って配置されたピン314に接続された信号線(図示せず)を含む。コネクタ部分316上に印刷されるピン314の数は、プライマリボード上に実装されるDIMMスロットのタイプに依存して変動させることができる。例えば、ピン314の数は、64、72、100、144、168、及び184個か又はそれ以上とすることができる。一般的には、DDRxインターフェース上にわたって拡張DIMM300に送られる電気信号は、電気インターフェース(図示せず)によって処理されて、光学インターフェース(図示せず)に送られる。該光学インターフェースは、電気信号を光学信号へと変換する。それら光学信号は、導波路310上にわたって出力される。該光学インターフェース(図示せず)は、導波路312内において受け取った光学信号を電気信号へと変換する。該電気信号は、電気インターフェース(図示せず)によって処理されて、マザーボード上に配置されたプロセッサか又はメモリに対してDDRxインターフェース上にわたって送られる。
【0012】
図3Bは、本発明の実施形態による、DIMMスロット318内へとロードされた拡張DIMM300の等角図を示す。マザーボード320は、メモリ拡張ボードか、ワークステーションか、ハイエンドのデスクトップコンピュータか、サーバブレードか、又はネットワークインターフェースのマザーボードとすることができる。マザーボード320上に配置されたメモリ322は、DIMMスロット328〜330内へとそれぞれロードされた3つのDIMMs324〜326を含む。DIMMスロット318は、DIMMスロット328〜330との違いは無い。従って、アダプタDIMM300は、その他のDIMMスロット328〜330のうちの任意の1つの中へとロードされて、DIMMs324〜326のうちの任意の1つと置き換えられ得る。拡張DIMM300は、マザーボード320の性能には影響を与えず、マザーボード320が設定(又は構成)される時にか、或いは幾らか経過した後の既存メモリ容量が不十分である時に、DIMMスロット内へとロードされ得る。拡張DIMM300は、図3B内に示されるように、他のDIMMs324〜326と一緒にロードされ得るが、その他のDIMMs324〜326と比較した場合には、拡張DIMM300は、電気的負荷に応じて比較的低減された最大データレートを有する。
【0013】
他の実施形態において、光学/電気インターフェース202及び208は、マザーボードのソケット内へと挿入されたチップ内に実現され得る。図4は、本発明の実施形態による、マザーボード406のソケット404内へと挿入された光学/電気インターフェースチップ402の等角図を示す。チップ402は、後述のように、光学入力ポート408と光学出力ポート410とを有した光学インターフェース(図示せず)と、並びに、1つか又は複数のDDRxインターフェース上にわたってチップ402に対して送受されるデータをエンコードしている電気信号のパラレルからシリアルへの、及び、シリアルからパラレルへのフロー制御を実施する電気インターフェース(図示せず)と共に、構成される。光学インターフェースは、チップ402によって処理された電気信号を光学信号へと変換する。該光学信号は、導波路410内において出力される。該光学インターフェースはまた、導波路408内においてチップ402に送られた光学信号を電気信号へと変換する。該電気信号は、電気インターフェースによって処理されて、マザーボード406上に配置されたプロセッサか又は他のメモリに送られ得る。
【0014】
図5〜図9は、本発明の拡張メモリシステム実施形態において光学/電気インターフェース300及び400が実現され得る様々なやり方(又は手段)の概略図を示す。
【0015】
図5は、本発明の実施形態に従って構成された第1の拡張メモリシステム500の概略図を示す。システム500は、プライマリボード504のDIMMスロット内へとロードされた第1の拡張DIMM502を備える。拡張DIMM502は、電気インターフェース506と光学インターフェース508とを含む。電気インターフェース506は、第1のDDRxインターフェース512を介してプロセッサ510と電気的に連通しており、及び、光学インターフェース508と電気的に連通している。図5内に示されているように、システム500は、第2の拡張DIMM514と、メモリ拡張ボード516とを備える。拡張DIMM514は、メモリ拡張ボード516のDIMMスロット内へとロードされ、光学インターフェース518と電気インターフェース520とを含み、該電気インターフェース520は、第2のDDRxインターフェース526を介して2つのDIMMs522及び524と電気的に連通しており、光学インターフェース518と電気的に連通している。図5はまた、拡張DIMMs502及び514が、導波路528及び530を介して光学的に連通しているということを示す。導波路528及び530は、インターフェース508及び518を光学的に結合させている。システム500は、最大メモリに2:1の拡張を提供する。該最大メモリは、メモリ拡張ボード516のDIMMスロット内へとロードされ得る。
【0016】
プロセッサ510が、DIMMs522及び524内にデータを格納する時には、プロセッサ510は、データ、アドレス、及びコントロール情報を含むパラレル電気信号を、DDRxインターフェース512上にわたって拡張DIMM502に送る。電気インターフェース506は、該パラレル電気信号をシリアル電気信号へと変換することにより、パラレルからシリアルへのフロー制御を実施し、及び、電気インターフェース506は、プロセッサ510からデータが出力されるレートのバリエーションを補償するために、電気信号内にエンコードされた情報を格納するメモリバッファを含む。シリアル電気信号が、光学インターフェース508に送られて、その同じ情報をエンコードしている光学信号へと変換され、該光学信号が、導波路530上にわたって光学インターフェース518に送られる。光学インターフェース518は、該光学信号を、シリアル電気信号へと戻すように変換する。該シリアル電気信号は、第2の電気インターフェース520に送られる。電気インターフェース520は、該シリアル電気信号をパラレル電気信号へと変換することによって、シリアルからパラレルへのフロー制御を実施し、及び、電気インターフェース520は、拡張DIMM502からデータが送られるレートのバリエーションを補償するために、電気信号内にエンコードされた情報を格納するメモリバッファを含む。該パラレル電気信号は、DIMMs522及び524内に記憶するためにDDRxインターフェース526上にわたって送られる。
【0017】
DDRxインターフェース526上にわたってパラレル電気信号を拡張DIMM514に送ることによって、DIMMs522及び524内に格納されたデータが、プロセッサ510に送られる。このケースでは、電気インターフェース520は、パラレル電気信号をシリアル電気信号へと変換することによって、パラレルからシリアルへのフロー制御を実施し、及び、DIMMs522及び524からデータが送られるレートのバリエーションを補償するために、メモリバッファ内に情報を格納することができる。シリアル電気信号内にエンコードされた情報が、電気インターフェース520から光学インターフェース518に送られて、光学信号に変換され、該光学信号が、導波路528上にわたって光学インターフェース508に送られる。光学インターフェース508は、該光学信号をシリアル電気信号へと戻すように変換し、該シリアル電気信号が、第1の電気インターフェース506に送られる。拡張DIMM514からデータが送られるレートのバリエーションを補償するために、電気インターフェース506は、シリアル電気信号内にエンコードされた情報を、メモリバッファ内に格納することによって、シリアルからパラレルへのフロー制御を実施する。電気インターフェース506は、該情報をパラレル電気信号へと変換し、該パラレル電気信号は、第1のDDRxインターフェース512上にわたってプロセッサ510に対して、処理のために送られる。
【0018】
図6は、本発明の実施形態に従って構成された第2の拡張メモリシステム600の概略図を示す。第2の拡張DIMM514が、特定用途向け集積回路(「ASIC」)602によって置き換えられ、且つ、メモリ拡張ボード516が、メモリ拡張ボード604とは異なるように構成されているということを除いて、システム600は、システム500とほぼ同一である。ASIC602は、図4に関連して上記に説明されているように、ボード実装チップとして実現されており、1つから複数のセットのDIMMsに電気的な通信をファンアウトさせる(又はあらゆる方向に電気的な伝達を行う)よう構成され得る。例えば、図6内に示されているように、ASIC602は、2セットのDIMMsに電気的な通信をファンアウト及びファンインさせるよう構成される。具体的には、ASIC602は、DDRxインターフェース608上にわたってDIMMs604及び606と電気的に連通しており、及び、別のDDRxインターフェース614上にわたってDIMMs610及び612と電気的に連通している。ASIC602は、光学インターフェース616及び電気インターフェース618と共に構成されている。光学インターフェース616が、拡張DIMM514の光学インターフェース518と同じ機能を実施する状態で、図5に関連して上記に説明したように、光学インターフェース508及び616は、導波路528及び530上にわたって光学的に連通している。電気インターフェース618もまた、拡張DIMM514の電気インターフェース520と同じ機能を実施する。
【0019】
図5に関連して上記に説明した同一の、パラレルからシリアルへのフロー制御手法において、プライマリボード504のプロセッサ510からメモリ拡張ボード604のメモリへと、導波路530上にわたってデータが送られる。光学インターフェース616は、光学インターフェース508から受け取った光学信号を、シリアル電気信号に戻すように変換し、及び、図5に関連して上記に説明した拡張DIMM514の電気インターフェース520により実施される、ほぼ同一の、シリアルからパラレルへのフロー制御を実施する。しかしながら、拡張DIMM514とは異なり、電気インターフェース602は、情報をパラレル電気信号へと変換する。該パラレル電気信号は、DDRxインターフェース608及び614上にわたって、DIMMs604か、606か、610か、又は612内に記憶させるために送られ得る。
【0020】
関連したDDRxインターフェース608及び614上にわたってパラレル電気信号をASIC602に送ることによって、DIMMs604か、606か、610か、又は612内に格納されたデータが、プロセッサ510に送られる。図5に関連して上記に説明したような拡張DIMM514が実施する、ほぼ同じ、パラレルからシリアルへのフロー制御を、電気インターフェース618が実施する。その情報は、シリアル電気信号内にエンコードされ、電気インターフェース618から光学インターフェース616に送られて、光学信号へと変換される。該光学信号は、導波路528上にわたって光学インターフェース508へと送られる。該光学信号は、図5に関連して上記に説明したように処理される。
【0021】
図7は、本発明の実施形態に従って構成された第3の拡張メモリシステム700の概略図を示す。システム700は、プライマリボード704上に実装された第1のASIC702を備える。第1のASIC702は、電気インターフェース706と光学インターフェース708とを含む。電気インターフェース706は、DDRxインターフェース712を介してプロセッサ710と電気的に連通しており、及び、光学インターフェース708と電気的に連通している。図7内に示されているように、システム700は、図6に関連して上記に説明した第2のASIC602及びメモリ拡張ボード604を備える。
【0022】
図5及び図6に関連して上記に説明した、同一の、パラレルからシリアルへの及びシリアルからパラレルへのフロー制御手法において、プロセッサ710と、メモリ拡張ボード604のメモリとの間において、導波路528及び530上にわたってデータが送られる。
【0023】
図8は、本発明の実施形態に従って構成された第4の拡張メモリシステム800の概略図を示す。システム800は、図5に関連して上記に説明したプライマリボード504のDIMMスロット内へとロードされた同じ拡張DIMM502を備える。システム800はまた、4つの光学からDDRへのASICs(以下、光学/DDR・ASICsと記す)806〜809と光学的に連通している光学バス804を含むメモリ拡張ボード802も備える。光学バス804は、ファンインバス810とファンアウトバス812とを含み、それらのバスは両方とも、光タップ823などの(図8内においてOTとして識別される)光タップを介してASICs806〜809と光学的に連絡している。ファンインバス810及びファンアウトバス812は、マルチモードの光ファイバか、リッジ導波管か、フォトニック結晶導波路か、中空導波路か、又は光学信号を伝送するための任意の他の適合可能なマルチモード媒体とすることができる。該中空導波路は、空気のコアを有したチューブから成るものとすることができる。中空導波路を形成する構造上のチューブは、1よりも大きいか又は小さい屈折率を有した内部コア材料を有することが可能である。このチューブ化は、適合可能な金属か、ガラスか、又はプラスチックから構成され得り、及び、金属性の及び誘電性の膜が、チューブの内面上に配置されて、高反射率が提供され得る。該中空導波路は、高反射率の金属コーティングがコアの内側表面に内張りされている状態の中空金属導波路とすることができる。該空気のコアは、円形のか、楕円形のか、正方形のか、長方形のか、又は光を導くのに適合可能な任意の他の形状である断面形状を有することができる。導波路が中空であるため、光学信号は、約1の実効屈折率を有した中空導波路のコアに沿って伝搬することができる。換言すると、空気内か又は真空内において光の速度で中空導波路のコアに沿って光が伝搬する。光タップは、ビームスプリッタか、部分的に反射性のミラーか、又はバス810及び812に沿って伝達される光学信号の特定部分を反射及び伝達するよう構成され得る任意の他の媒体とすることができる。光学/DDR・ASICsの各々は、DDRxインターフェース上にわたって4つの関連付けられたDIMMsと電気的に連通している。例えば、ASIC806は、DDRxインターフェース816及び818を介してDIMMs814と電気的に連通している。
【0024】
ファンアウトバス812の光タップ820〜823は、ASICs806〜809の間においておおよそ等しく光電力を分配するよう構成されている。一般的には、光タップは、光学インターフェース508から光学/DDR・ASICsの各々へと出力される光学信号の光電力の総計の約1/nをそらすよう構成される。ここで、nは、光学/DDR・ASICsの数である。例えば、光タップ823は、ASIC809へと光学バス812によって運ばれる光電力の約1/4をそらして、光タップ822は、ASIC808へと光学バス812によって運ばれる光電力の約1/3を導き、光タップ821は、ASIC807へと光学バス812によって運ばれる残りの光電力のうちの約1/2を導き、及び、光タップ820は、完全反射性のミラーである。一方、ファンインバス810の光タップ824〜827は、等しい量の光電力が光インターフェース508によってASICs806〜809の各々から受け取られることとなるよう構成される。一般的には、ファンインバスのn個の光タップは、光学インターフェースが、n個の光学/DDR・ASICsの各々から出力された光電力の総計の約1/nを受け取ることとなるように構成される。例えば、光タップ824〜827は、光学インターフェース508によって受け取られる光学信号の光電力が、ASICs806〜809の各々から出力された光学信号の電力のうちの約1/4となることとなるように全て構成される。
【0025】
メモリ拡張ボード802には、ファインイン導波路810及びファンアウト導波路812と光学的に連通しているリピータ(図示せず)を含めることができる。該リピータは、光学から電気から光学への変換器である。該変換器は、光学信号を受け取り、光学信号を再生成し、次いで、該再生成した光学信号を再伝達する。該リピータは、自由空間か又は光学的な相互接続損失によって生じられる減衰に打ち勝つように使用され得る。追加的には、光学信号を強化するために、該リピータはまた、ノイズか、或いは光学信号における他の望んでいない態様を排除するように使用され得る。リピータにより生成される光電力の量は、ファンアウトバスに取り付けられたASICsの数と、システム損失と、ASICsにおける光学受信器の感度とによって決定される。換言すると、リピータは、ASICsの全てに到達させるのに十分な光電力を有した光学信号を生成するために使用され得る。
【0026】
プロセッサ510から送られるデータは、データの格納に関与する光学/DDR・ASICの追加的なアドレスを含む。該データは生成されて、プロセッサからファンアウトバス812へと送られ、これは、図5に関連して上記に説明した、同一の、パラレルからシリアルへのフロー制御手法である。光学信号は、ファンアウトバス812内へと直接注入され、光タップ820〜823が、光学信号のうちの一部を、関連付けられたASICs806〜809へと導く。データを受け取るよう定められたASICを識別する電気信号のアドレス部分を分析する追加的なステップをASICs806〜809が実施することを除いて、ASICs806〜809は、図6内のASIC602に関連して上記に説明した、同一の、シリアルからパラレルへのフロー制御を、実施するよう構成され及び動作させられる。該アドレスが、受け取るASICのアドレスに一致しない時には、そのデータは、破棄され得る。しかしながら、該アドレスが、受け取るASICのアドレスに一致した時には、そのASICは、そのデータを関連付けられたDIMMsに格納することによって該データを処理する。
【0027】
メモリ拡張ボード802のDIMMs内に格納されたデータを送るために、アービターが使用されて、2つか又は3つ以上のASICsがファンインバス810を同時に使用することが防止され得る。アービトレーションが無いと、光学インターフェース508は、導波路528上において複数のASICから光学信号を受け取る可能性があり、その場合、光学信号が混ざり合って、光学インターフェース508において解読できない状態となる。アービターは、ファンインバス810が使用され得る前に、ASICがファンインバス810を使用する許可が与えられて、同時に光学信号が伝達されることが防止されるということを保証する。このアービトレーションは、比較的高速であり、ファンインバス810に対してASICsの数が追加されるとスケーリングされる。アービトレーションは、周知の光学的か又は電気的な、トークンベースのアービトレーション方法を用いて、アービターによって実行され得る。ASICs806〜809のうちの1つが、ファンインバス810を使用する許可が与えられると、図6に関連して上記に説明したように、関連付けられたDIMMs内に格納されたデータを生成する光学信号が、生成されて、ファンインバス810及び導波路528上にわたって光学インターフェース508に送られる。そのデータは、図5に関連して上記に説明したように、プロセッサ510によって受け取られる。
【0028】
図9は、本発明の実施形態に従って構成された第5の拡張メモリシステム900の概略図を示す。システム900は、図7に関連して上記に説明したプライマリボード704の同じASIC702を備え、システム900は、図8に関連して上記に説明したように構成された同じメモリ拡張ボード802を備える。ASIC702及びプライマリボード704は、図7に関連して上記に説明したように動作させられ、メモリ拡張ボード802の構成要素は、図8に関連して上記に説明したように構成され且つ動作させられる。
【0029】
図10は、本発明の実施形態に従って構成された光学/電気インターフェース1000のブロック図を示す。インターフェース1000は、光学インターフェース1002、電気インターフェース1004、及びピン1006を含む。ピン1006は、図3及び図4に関連して上記に説明したように、DIMMスロットか又はソケットを介して、マザーボードにおける1つか又は複数のDDRxインターフェースに電気的に接続されている。ピン1006は、データ、アドレス、及びコントロール情報をエンコードしているパラレル電気信号1008を、1つか又は複数のDDRxインターフェースのパラレル信号線から受け取り、該パラレル電気信号1008を、電気インターフェース1004のシリアル化ブロック1010に送る。シリアル化ブロック1008は、パラレル電気信号1008を受け取って、同じ情報をエンコードしているシリアル電気信号1012に変換する電気構成要素を含む。シリアル化ブロック1010は、シリアル電気信号1012に対するDCバランス・コーディングをオプションで用いることができる。DCバランス・コーディングは、等しい数の論理「1」と論理「0」とを有したコードワードを生成するために使用される。DCバランス・コーディングの例は、マンチェスターコーディングとその変形形態とを含む。マンチェスターコーディングでは、論理「0」は、ビットの中央における「0」から「1」への遷移によって識別され、論理「1」は、ビットの中央における「1」から「0」への遷移によって指示される。4B/6B・DCバランス・コーディングでは、DCバランスを提供するために、コードワードが、3つの論理「1」と、3つの論理「0」とを含む。4B/8B・DCバランス・コーディングでは、わずかに2つの連続した論理「1」及び論理「0」を有する状態で、8つのビットコードワードが、4つの論理「1」と、4つの論理「0」とを有する。8B/10B・DCバランス・コーディングでは、シンボル又はキャラクターと呼ばれる10ビットのエンティティとして8ビットのデータが伝達される。低い5つのビットのデータが、6ビットグループ内にエンコードされ(5B/6B部分)、最上部の3つのビットが、4ビットグループ内にエンコードされる(3B/4B部分)。これらのコードグループが、互いに連結させられて、10ビットシンボルを形成する。その2つの追加的なビットによって、データストリーム内において送られる「0」及び「1」の数が、時間とともにバランスが取られることが可能となる。シリアル電気信号1012を、光学インターフェース1002の光学送信器1014に送る前に、データが受け取られるレートとデータが送られ得るレートのバリエーションを補償するため、情報が、メモリバッファ1016内に一時的に格納され得る。光学送信器1014は、シリアル電気信号1012を、その同じ情報をエンコードしている光学信号1016へと変換する。該光学信号1016は、上述の導波路310及び410のような出力導波路上にわたって伝達される。光学送信器1014は、面発光レーザ(「VCSEL」)か、ダブルヘテロ構造レーザか、量子井戸レーザか、量子カスケードレーザか、分布帰還型レーザか、又は任意の他の半導体ベースのレーザとすることができる。
【0030】
図10内に示されているように、光学インターフェース1002はまた、情報をエンコードしている光学信号1020を受け取るための光学受信器1018も含む。光学受信器1018は、pn接合か又はp−i−n接合のフォトダイオードとすることができる。該フォトダイオードは、光学信号1020を、その同じ情報をエンコードしているシリアル電気信号1022へと変換する。例えば、光学受信器1018は、チップ上に統合されたガリウムヒ素(「GaAs」)か、インジウムガリウムヒ素(「InGaAs」)か、シリコン(「Si」)か、ゲルマニウム(「Ge」)か、又はSiGeベースのフォトダイオードとすることができる。シリアル電気信号1022を受け取って、シリアル電気信号1022内のDCバランス・コーディングをデコードし、及び、該シリアル電気信号1022をパラレル電気信号1026へと変換する電気構成要素を含むデシリアル化ブロック1024を電気インターフェース1004が含む。該パラレル電気信号1026は、DDRxインターフェース上にわたる伝送のためにピン1006に伝達される。パラレル電気信号1026を生成する前に、情報はまた、メモリバッファ1016内に一時的に格納され得る。
【0031】
導波路528及び530は、メモリ拡張ボードがプライマリボードに光学的に接続され得るような多くのやり方のうちの単なる代表の1つに過ぎない。例えば、メモリ拡張ボード及びプライマリボードは、キャビネット・バックプレーンを通じて光学的に相互接続され得る。該キャビネット・バックプレーンはまた、同じキャビネット内に実装された他のボード間において電気的及び光学的な接続を提供するために使用される。図11は、キャビネット・バックプレーン1102を介して光学的に連通しているプライマリボード204及びメモリ拡張ボード212の等角図及び概略図を示す。図の明確化のために、他のボード及びキャビネットの部分は図示されていない。バックプレーン1102には、ファイバーリボンコネクタ1104〜1107を含めることができる。図11内に示されているように、光学/電気インターフェース208が、ファイバーリボン1108及び1109を介してコネクタ1104及び1105に対して光学的に結合されており、及び、光学/電気インターフェース202が、ファイバーリボン1110及び1111を介してコネクタ1106及び1107に対して光学的に結合されている。バックプレーン1102は、コネクタ1104及び1106を光学的に結合させる光ファイバと共に構成されており、コネクタ1105及び1107の光学的な接続によって、光学/電気インターフェース202及び208が、上述のように光学信号214及び216を交換することが可能になる。
【0032】
電気信号を伝送、シリアル化、及びデシリアル化するために使用されるDDRx及び電気インターフェースは、光学インターフェース間において光学信号が伝達されるレートよりも比較的より低いデータ伝送レートにおいて実施されるということに留意されたい。例えば、導波路528及び530か又はバックプレーン1102上にわたって伝達される光学信号は、クロック速度の約4〜6倍において伝達され得る。換言すると、光学インターフェース間において高速データ伝送が成し遂げられ、比較的より低い速度伝送が、DDRx及び電気インターフェースのような電気構成要素によって実行される。
【0033】
図12は、本発明の実施形態による、拡張メモリシステム内にデータを送るための方法の制御フロー図を示す。ステップ1201において、図5〜図10に関連して上記に説明したように、DDRxインターフェースからパラレル電気信号が受け取られる。該パラレル電気信号は、プロセッサか又はローカルメモリによって生成され得る。ステップ1202において、図10のシリアル化ブロック1010に関連して及び図5〜図9に関連して上記に説明したように、パラレル電気信号を、同一の情報がエンコードされたシリアル電気信号へと変換することによって、該パラレル電気信号がシリアル化される。オプションのステップ1203において、シリアル電気信号は、図10内のシリアル化ブロック1010に関連して上記に説明したように、DCバランスを含めるようエンコードされ得る。オプションのステップ1204において、図10のステップ1014に関連して上記に説明したように、データが受け取られる及び/又は送られるレートのバリエーションを補償するために、電気信号内にエンコードされた情報は、メモリバッファ内に格納され得る。ステップ1205において、図10に関連して上記に説明したように、データをエンコードしているシリアル電気信号が、光学送信器に送られる。ステップ1206において、光学送信器は、シリアル電気信号を光学信号へと変換し、該光学信号が、導波路上にわたって、プライマリボードか又は拡張メモリシステムの光学/電気インターフェースに送られる。
【0034】
図13は、本発明の実施形態による、拡張メモリシステム内にデータを受け取るための方法の制御フロー図を示す。ステップ1301において、図10内の光学信号1024に関連して上記に説明したように、プライマリボードか又はメモリ拡張ボードから送られた光学信号が、受け取られて、シリアル電気信号へと変換される。ステップ1302において、図10内のデシリアル化ブロック1028に関連して上記に説明したように、該シリアル電気信号が、デシリアル化ブロックを用いてパラレル電気信号に変換される。オプションのステップ1303において、図10に関連して上記に説明したように、DCバランス・コーディングを用いて光学信号が送られた時には、DCバランス・コーディングが、パラレル電気信号から取り除かれる。オプションのステップ1304において、データが受け取られるレートとデータが送られ得るレートのバリエーションを補償するために、パラレル電気信号はメモリバッファ内に格納され得る。ステップ1305において、データをエンコードしているパラレル電気信号が、DDRxインターフェース上にわたって、プライマリボードのプロセッサに対してか、又はメモリ拡張ボードのメモリに対して伝達される。
【0035】
説明することを目的とした上述の記載は、本発明の完全な理解を提供するために、特定の用語体系が用いられている。しかしながら、本発明を実践するために、それら特定の詳細事項が必要とされないということが、当業者にとっては明らかであろう。本発明の特定の実施形態の上述の記載は、図示し且つ説明する目的のために提示されている。それらは、網羅的となるようにすることか、或いは、開示した正確な形態に本発明を限定することは、意図されていない。上記教示を考慮して、明らかに多くの修正及び変形形態が可能である。本発明の原理とその実際の用途とを最も良く説明して、それによって、予期される特定の利用法に適合されるような様々な修正と共に本発明と様々な実施形態とを他の当業者が最も良好に利用することを可能にするために、実施形態が示され及び説明されている。本発明の範囲は、以下の特許請求の範囲とその等価物によって画定されることが意図されている。
【特許請求の範囲】
【請求項1】
拡張メモリシステム(200)であって、
プロセッサと電気的に連通している第1の光学/電気インターフェース(202)であって、光学信号を受け取って、該プロセッサに送られる電気信号へと変換するよう構成され、及び、該プロセッサによって生成された電気信号を受け取って、光学信号へと変換するよう構成されていることからなる、第1の光学/電気インターフェースと、
メモリと共に構成されたメモリ拡張ボード(204)と、
前記メモリ拡張ボードに取り付けられた第2の光学/電気インターフェース(208)であって、光学信号を受け取って、前記メモリに送られる電気信号へと変換するよう構成され、及び、前記メモリによって生成された電気信号を受け取って、光学信号へと変換するよう構成されていることからなる、第2の光学/電気インターフェース
とを備え、
前記第1の光学/電気インターフェースによって生成された前記光学信号は、前記第2の光学/電気インターフェースに送られ、及び、前記第2の光学/電気インターフェースによって生成された前記光学信号は、前記第1の光学/電気インターフェースに送られることからなる、拡張メモリシステム。
【請求項2】
前記第1の光学/電気インターフェースが、拡張デュアルインラインメモリモジュール(502)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項3】
前記第1の光学/電気インターフェースが、特定用途向け集積回路(702)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項4】
前記第2の光学/電気インターフェースが、拡張デュアルインラインメモリモジュール(514)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項5】
前記第2の光学/電気インターフェースが、特定用途向け集積回路(602)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項6】
前記第1及び第2の光学/電気インターフェースが、
光学インターフェース(1002)と、
電気インターフェース(1004)
とを更に含むことからなる、請求項1に記載の拡張メモリシステム。
【請求項7】
前記光学インターフェースが、
電気信号を受け取って光学信号へと変換するよう構成された光学送信器(1014)と、
光学信号を受け取って電気信号へと変換するよう構成された光学受信器(1018)
とを更に含むことからなる、請求項6に記載の拡張メモリシステム。
【請求項8】
前記電気インターフェースが、
メモリバッファ(1016)と、
ダブルデータレートインターフェース上にわたる伝送のためのパラレル電気信号をシリアル電気信号へと変換するよう構成されたシリアル化ブロック(1010)と、
シリアル電気信号を、ダブルデータレートインターフェース上にわたる伝送のためのパラレル電気信号へと変換するよう構成されたデシリアル化ブロック(1024)
とを更に含むことからなる、請求項6に記載の拡張メモリシステム。
【請求項9】
前記光学/電気インターフェースが、ダブルデータレートインターフェース上にわたってパラレルに電気信号を送受する、請求項1に記載の拡張メモリシステム。
【請求項10】
前記メモリ拡張ボードの前記メモリが、1つか又は複数のデュアルインラインメモリモジュールを更に含む、請求項1に記載の拡張メモリシステム。
【請求項11】
前記メモリ拡張ボードが、
前記第1及び第2の光学/電気インターフェースと光学的に連通している光学ファンインバス(810)と、
前記第1及び第2の光学/電気インターフェースと光学的に連通している光学ファンアウトバス(812)と、
1つか又は複数の特定用途向け集積回路と電気的に連通している1つか又は複数のデュアルインラインメモリモジュール(814)
とを更に含むことからなる、請求項1に記載の拡張メモリシステム。
【請求項12】
拡張メモリシステム内にデータを送るための方法であって、
ダブルデータレートインターフェース上において受け取ったパラレル電気信号を、その同じ情報をエンコードしているシリアル電気信号へとシリアル化し(1202)、
前記電気信号内にエンコードされた前記情報をメモリバッファ内に格納し(1204)、及び、
光学送信器を用いて前記シリアル電気信号を光学信号へと変換する(1205〜1206)
ことを含み、
前記光学信号は、同じ前記情報をエンコードしていることからなる、方法。
【請求項13】
前記シリアル電気信号に対してDCバランス・コーディング(1203)を追加することを更に含むことからなる、請求項12に記載の方法。
【請求項14】
拡張メモリシステム内にデータを受け取るための方法であって、
光学受信器を用いて光学信号をシリアル電気信号へと変換し(1301)、
デシリアル化ブロックを用いて、前記シリアル電気信号をパラレル電気信号へとデシリアル化し(1302)、
前記電気信号内にエンコードされた情報をメモリバッファ内に格納し(1304)、及び、
ダブルデータレートインターフェース上にわたって前記パラレル電気信号を伝達する(1305)
ことを含む、方法。
【請求項15】
前記シリアル電気信号からDCバランス・コーディング(1303)を取り除くこと更に含むことからなる、請求項14に記載の方法。
【請求項1】
拡張メモリシステム(200)であって、
プロセッサと電気的に連通している第1の光学/電気インターフェース(202)であって、光学信号を受け取って、該プロセッサに送られる電気信号へと変換するよう構成され、及び、該プロセッサによって生成された電気信号を受け取って、光学信号へと変換するよう構成されていることからなる、第1の光学/電気インターフェースと、
メモリと共に構成されたメモリ拡張ボード(204)と、
前記メモリ拡張ボードに取り付けられた第2の光学/電気インターフェース(208)であって、光学信号を受け取って、前記メモリに送られる電気信号へと変換するよう構成され、及び、前記メモリによって生成された電気信号を受け取って、光学信号へと変換するよう構成されていることからなる、第2の光学/電気インターフェース
とを備え、
前記第1の光学/電気インターフェースによって生成された前記光学信号は、前記第2の光学/電気インターフェースに送られ、及び、前記第2の光学/電気インターフェースによって生成された前記光学信号は、前記第1の光学/電気インターフェースに送られることからなる、拡張メモリシステム。
【請求項2】
前記第1の光学/電気インターフェースが、拡張デュアルインラインメモリモジュール(502)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項3】
前記第1の光学/電気インターフェースが、特定用途向け集積回路(702)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項4】
前記第2の光学/電気インターフェースが、拡張デュアルインラインメモリモジュール(514)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項5】
前記第2の光学/電気インターフェースが、特定用途向け集積回路(602)を更に含む、請求項1に記載の拡張メモリシステム。
【請求項6】
前記第1及び第2の光学/電気インターフェースが、
光学インターフェース(1002)と、
電気インターフェース(1004)
とを更に含むことからなる、請求項1に記載の拡張メモリシステム。
【請求項7】
前記光学インターフェースが、
電気信号を受け取って光学信号へと変換するよう構成された光学送信器(1014)と、
光学信号を受け取って電気信号へと変換するよう構成された光学受信器(1018)
とを更に含むことからなる、請求項6に記載の拡張メモリシステム。
【請求項8】
前記電気インターフェースが、
メモリバッファ(1016)と、
ダブルデータレートインターフェース上にわたる伝送のためのパラレル電気信号をシリアル電気信号へと変換するよう構成されたシリアル化ブロック(1010)と、
シリアル電気信号を、ダブルデータレートインターフェース上にわたる伝送のためのパラレル電気信号へと変換するよう構成されたデシリアル化ブロック(1024)
とを更に含むことからなる、請求項6に記載の拡張メモリシステム。
【請求項9】
前記光学/電気インターフェースが、ダブルデータレートインターフェース上にわたってパラレルに電気信号を送受する、請求項1に記載の拡張メモリシステム。
【請求項10】
前記メモリ拡張ボードの前記メモリが、1つか又は複数のデュアルインラインメモリモジュールを更に含む、請求項1に記載の拡張メモリシステム。
【請求項11】
前記メモリ拡張ボードが、
前記第1及び第2の光学/電気インターフェースと光学的に連通している光学ファンインバス(810)と、
前記第1及び第2の光学/電気インターフェースと光学的に連通している光学ファンアウトバス(812)と、
1つか又は複数の特定用途向け集積回路と電気的に連通している1つか又は複数のデュアルインラインメモリモジュール(814)
とを更に含むことからなる、請求項1に記載の拡張メモリシステム。
【請求項12】
拡張メモリシステム内にデータを送るための方法であって、
ダブルデータレートインターフェース上において受け取ったパラレル電気信号を、その同じ情報をエンコードしているシリアル電気信号へとシリアル化し(1202)、
前記電気信号内にエンコードされた前記情報をメモリバッファ内に格納し(1204)、及び、
光学送信器を用いて前記シリアル電気信号を光学信号へと変換する(1205〜1206)
ことを含み、
前記光学信号は、同じ前記情報をエンコードしていることからなる、方法。
【請求項13】
前記シリアル電気信号に対してDCバランス・コーディング(1203)を追加することを更に含むことからなる、請求項12に記載の方法。
【請求項14】
拡張メモリシステム内にデータを受け取るための方法であって、
光学受信器を用いて光学信号をシリアル電気信号へと変換し(1301)、
デシリアル化ブロックを用いて、前記シリアル電気信号をパラレル電気信号へとデシリアル化し(1302)、
前記電気信号内にエンコードされた情報をメモリバッファ内に格納し(1304)、及び、
ダブルデータレートインターフェース上にわたって前記パラレル電気信号を伝達する(1305)
ことを含む、方法。
【請求項15】
前記シリアル電気信号からDCバランス・コーディング(1303)を取り除くこと更に含むことからなる、請求項14に記載の方法。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公表番号】特表2012−525627(P2012−525627A)
【公表日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2012−508438(P2012−508438)
【出願日】平成21年4月29日(2009.4.29)
【国際出願番号】PCT/US2009/002602
【国際公開番号】WO2010/126463
【国際公開日】平成22年11月4日(2010.11.4)
【出願人】(511076424)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (155)
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
【Fターム(参考)】
【公表日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成21年4月29日(2009.4.29)
【国際出願番号】PCT/US2009/002602
【国際公開番号】WO2010/126463
【国際公開日】平成22年11月4日(2010.11.4)
【出願人】(511076424)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (155)
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
【Fターム(参考)】
[ Back to top ]