IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロン テクノロジー, インク.の特許一覧

<>
  • 特許-基地局のシャドウ計算 図1
  • 特許-基地局のシャドウ計算 図2
  • 特許-基地局のシャドウ計算 図3
  • 特許-基地局のシャドウ計算 図4
  • 特許-基地局のシャドウ計算 図5
  • 特許-基地局のシャドウ計算 図6
  • 特許-基地局のシャドウ計算 図7
  • 特許-基地局のシャドウ計算 図8
  • 特許-基地局のシャドウ計算 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-10
(45)【発行日】2023-11-20
(54)【発明の名称】基地局のシャドウ計算
(51)【国際特許分類】
   G06F 9/50 20060101AFI20231113BHJP
   G06F 9/34 20180101ALI20231113BHJP
   H04W 88/08 20090101ALI20231113BHJP
【FI】
G06F9/50 150B
G06F9/34 350Z
H04W88/08
【請求項の数】 18
(21)【出願番号】P 2022535424
(86)(22)【出願日】2020-12-03
(65)【公表番号】
(43)【公表日】2023-02-13
(86)【国際出願番号】 US2020062981
(87)【国際公開番号】W WO2021118849
(87)【国際公開日】2021-06-17
【審査請求日】2022-08-09
(31)【優先権主張番号】16/713,996
(32)【優先日】2019-12-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】595168543
【氏名又は名称】マイクロン テクノロジー,インク.
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】ユダノフ ドミトリー
【審査官】三坂 敏夫
(56)【参考文献】
【文献】米国特許出願公開第2018/0183855(US,A1)
【文献】特開2003-016043(JP,A)
【文献】特表2015-510333(JP,A)
【文献】特開2017-111727(JP,A)
【文献】特開2011-257834(JP,A)
【文献】松本 宙也,モバイルエッジコンピューティングにおける移動性と方向転換を考慮したタスクオフローディング ,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2019年03月08日,第118巻 第483号,第49頁~第54頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
H04W 28/084
H04W 88/08
(57)【特許請求の範囲】
【請求項1】
方法であって、
セルラー基地局で、モバイルデバイスのために実行するメイン計算のシャドウ計算を開始することであって、前記メイン計算が計算タスクを含み、前記シャドウ計算が前記メイン計算の少なくとも一部または派生物である、前記開始することと、
前記セルラー基地局によって前記シャドウ計算を実行することと
前記セルラー基地局によって前記モバイルデバイスに前記シャドウ計算を送り返すことと
を含む、前記方法。
【請求項2】
前記セルラー基地局によって、前記モバイルデバイスに、または他のデバイスに前記実行されたシャドウ計算の出力データを送信することを含む、請求項1に記載の方法。
【請求項3】
前記セルラー基地局によって、他のセルラー基地局に前記実行されたシャドウ計算の出力データを送信することを含む、請求項1に記載の方法。
【請求項4】
前記セルラー基地局によって、他のセルラー基地局に前記シャドウ計算を送信することを含む、請求項1に記載の方法。
【請求項5】
前記モバイルデバイスが前記他のセルラー基地局の閾値距離の範囲内にあるとき、前記セルラー基地局によって、前記他のセルラー基地局に前記シャドウ計算を送信することを含む、請求項4に記載の方法。
【請求項6】
前記他のセルラー基地局に前記セルラー基地局よりも少ないネットワークトラフィックが発生するとき、前記セルラー基地局によって、前記他のセルラー基地局に前記シャドウ計算を送信することを含む、請求項4に記載の方法。
【請求項7】
前記他のセルラー基地局が前記セルラー基地局よりも大きい計算能力を有するとき、前記セルラー基地局によって、前記他のセルラー基地局に前記シャドウ計算を送信することを含む、請求項4に記載の方法。
【請求項8】
前記他のセルラー基地局によって、前記モバイルデバイスに前記シャドウ計算を送り返すことを含む、請求項4に記載の方法。
【請求項9】
前記セルラー基地局によって、前記シャドウ計算から少なくとも1つの他のシャドウ計算を導出することと、
前記セルラー基地局によって、前記基地局以外の少なくとも1つのデバイスに前記少なくとも1つの他のシャドウ計算を送信することと
を含む、請求項1に記載の方法。
【請求項10】
前記セルラー基地局によって、他のセルラー基地局に前記少なくとも1つの他のシャドウ計算を送信することを含む、請求項に記載の方法。
【請求項11】
基地局用のシステムであって、
複数のメモリモジュールであって、各メモリモジュールがプリント基板(PCB)への挿入のために構成され、各メモリモジュールが、
複数のメモリチップと、
前記複数のメモリチップに結合された少なくとも1つのグラフィックスプロセッシングユニット(GPU)であって、
モバイルデバイスのために実行するメイン計算のシャドウ計算を開始することであって、前記メイン計算が計算タスクを含み、前記シャドウ計算が前記メイン計算の少なくとも一部または派生物である、前記開始することと、
前記シャドウ計算を実行することと
前記モバイルデバイスに前記シャドウ計算を送り返すことと
を行うように構成された、前記少なくとも1つのグラフィックスプロセッシングユニット(GPU)と
を備える、前記複数のメモリモジュール
を備える、前記システム。
【請求項12】
前記少なくとも1つのGPUが、前記モバイルデバイスに前記実行されたシャドウ計算の出力データを送信するように構成される、請求項11に記載のシステム。
【請求項13】
前記少なくとも1つのGPUが、他のセルラー基地局に前記実行されたシャドウ計算の出力データを送信するように構成される、請求項11に記載のシステム。
【請求項14】
前記少なくとも1つのGPUが、他のセルラー基地局に前記シャドウ計算を送信するように構成される、請求項11に記載のシステム。
【請求項15】
前記モバイルデバイスが前記他のセルラー基地局の閾値距離の範囲内にあるとき、前記少なくとも1つのGPUが、前記他のセルラー基地局に前記シャドウ計算を送信するように構成される、請求項14に記載のシステム。
【請求項16】
前記他のセルラー基地局に前記他のセルラー基地局よりも少ないネットワークトラフィックが発生するとき、前記少なくとも1つのGPUが、前記他のセルラー基地局に前記シャドウ計算を送信するように構成される、請求項14に記載のシステム。
【請求項17】
前記他のセルラー基地局が前記セルラー基地局よりも大きい計算能力を有するとき、前記少なくとも1つのGPUが、前記他のセルラー基地局に前記シャドウ計算を送信するように構成される、請求項14に記載のシステム。
【請求項18】
基地局用のシステムであって、
複数のメモリモジュールであって、各メモリモジュールがプリント基板(PCB)への挿入のために構成され、各メモリモジュールが、
複数のメモリチップと、
前記複数のメモリチップに結合された少なくとも1つの人工知能(AI)アクセラレータであって、
モバイルデバイスのために実行するメイン計算のシャドウ計算を受信することであって、前記メイン計算が計算タスクを含み、前記シャドウ計算が前記メイン計算の少なくとも一部または派生物である、前記受信することと、
前記シャドウ計算を実行することと
前記モバイルデバイスに前記シャドウ計算を送り返すことと
を行うように構成された、前記少なくとも1つの人工知能(AI)アクセラレータと
を備える、前記複数のメモリモジュール
を備える、前記システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2019年12月13日に出願され、「SHADOW COMPUTATIONS IN BASE STATIONS」と題され、その開示全体が参照により本明細書に組み込まれる米国特許出願第16/713,996号の優先権を主張する。
【0002】
本明細書に開示される少なくともいくつかの実施形態は、基地局におけるシャドウ計算に関する。そして、本明細書に開示される少なくともいくつかの実施形態は、計算能力を備えたメモリモジュールに関する。また、本明細書に開示される少なくともいくつかの実施形態は、複数のそのようなメモリモジュールを有するシステムに関する。
【背景技術】
【0003】
基地局は、陸上移動サービスの陸上局と見なすことができる。この用語は、携帯電話、無線コンピュータネットワーク、及び他の無線通信という観点から、及び土地測量で使用することができる。セルラー基地局は、アンテナ及び電子通信機器が配置されているセルラー対応モバイルデバイスサイトである。配置は、ラジオ塔、タワー、または他の立設した構造物の上である場合がある。そのような構造は、セルラーネットワーク内にセル(または隣接するセル)を作り出すことができる。立設した構造物は、アンテナ、ならびにトランシーバ、デジタルシグナルプロセッサ、制御電子機器、タイミング用のGPS受信機、一次電源とバックアップ電源、及びシェルターの1つまたは複数のセットを支持することができる。
【0004】
一般に、基地局は、コンピュータハードウェアコンポーネントを含むことができる。そして、コンピュータハードウェアコンポーネントは、プリント基板(PCB)に取り付けることができる。コンピュータハードウェアコンポーネントはまた、集積回路に統合することができる。そのような集積回路は、PCBに取り付けることができる。PCBは、導電性トラック、導電性パッド、及び他の特徴を使用して、電子部品を機械的に支持し、電気的に接続することができる。
【0005】
メモリモジュールは、複数のメモリコンポーネントがPCBに取り付けられたPCBを含むことができる。そのようなメモリモジュールの例は、シングルインラインメモリモジュール(SIMM)及びデュアルインラインメモリモジュール(DIMM)を含む。シングルインラインメモリモジュール(SIMM)は、ランダムアクセスメモリを含むメモリモジュールのタイプである。SIMMは、SIMM上の接点がモジュールの両側で冗長であるという点で、デュアルインラインメモリモジュール(DIMM)とは異なる。これは、DIMMでは当てはまらない。DIMMは、モジュールの各側に別々の電気接点を有する。もう1つの違いは、SIMMは通常32ビットのデータパスを有し、一方、DIMMは、通常64ビットのデータパスを有する点である。DIMMは、一般的に、1つまたは複数のDIMMを含むほど十分に大きい現在のコンピュータで使用されており、DIMMは、複数のダイナミックランダムアクセスメモリ(DRAM)集積回路を含むことができる。ラップトップコンピュータなどのより小型のコンピュータの場合、多くの場合、スモールアウトラインデュアルインラインメモリモジュール(SO-DIMM)が使用される。
【0006】
また、メモリコンポーネントは、システムオンチップ(SoC)に統合することができる。SoCは、コンピュータコンポーネントをシングルチップに集積する集積回路(IC)である。SoCにおける一般的なコンピュータコンポーネントは、中央処理装置(CPU)、メモリ、入出力ポート、及びセカンダリストレージを含む。SoCは、そのすべてのコンポーネントを単一の基板またはマイクロチップ上に含むことができ、一部のチップは25セント硬貨よりも小さい場合がある。SoCは、様々な信号処理機能を有することができ、グラフィックスプロセッシングユニット(GPU)など、専用のプロセッサまたはコプロセッサを含むことができる。密接に統合されることにより、SoCは、同等の機能を有する従来のマルチチップシステムよりも電力の消費をはるかに少なくすることができる。これにより、SoCは、モバイルコンピューティングデバイス(スマートフォン及びタブレット内でなどの)の統合に有益になる。また、SoCは、組み込みシステム及びモノのインターネット(特にスマートデバイスが小さい場合)に有用である場合がある。
【0007】
本開示は、以下に示す詳細な説明及び本開示の様々な実施形態の添付図面から、より十分に理解される。
【図面の簡単な説明】
【0008】
図1】本開示のいくつかの実施形態による、シャドウ計算を提供することができる基地局を含む例示的なネットワーク化されたシステムを示す。
図2】本開示のいくつかの実施形態による、シャドウ計算を提供することができる基地局を含む例示的なネットワーク化されたシステムを示す。
図3】本開示のいくつかの実施形態による、図1及び図2に示す基地局によって実行できる例示的な操作の流れ図を示す。
図4】本開示のいくつかの実施形態による、図1及び図2に示すモバイルデバイスによって実行できる例示的な操作の流れ図を示す。
図5】本開示のいくつかの実施形態による、例示的なメモリモジュールを示す。
図6】本開示のいくつかの実施形態による、例示的なメモリモジュールを示す。
図7】本開示のいくつかの実施形態による、例示的なメモリモジュールシステムを示す。
図8】本開示のいくつかの実施形態による、例示的なメモリモジュールシステムを示す。
図9】本開示のいくつかの実施形態による、コンピューティングデバイスを含む例示的なネットワーク化されたシステムを示す。
【発明を実施するための形態】
【0009】
本明細書に開示される少なくともいくつかの実施形態は、基地局におけるシャドウ計算に関する。いくつかの実施形態では、モバイルデバイスの計算は、例えばセルラー基地局などの基地局に部分的にまたは完全にオフロードされる。基地局は、専用コントローラまたは中央処理装置でも構成されたメモリモジュールまたはメモリモジュールシステム(DIMMまたは複数のDIMMを有するシステムなど)を含むコンピューティングデバイスを含むことができる。モバイルデバイスはある基地局の範囲から他の基地局に移動すると、モバイルデバイスの計算タスクもある基地局から他の基地局に移動する場合がある。例えば、最も近い基地局は、モバイルデバイスのシャドウコンピューティングユニットとして機能し、シャドウ計算を実行することができる。
【0010】
また、本明細書に開示される少なくともいくつかの実施形態は、基地局でシャドウ計算を実施するためのシステム及び方法を含む。システム及び方法は、基地局(セルラー基地局など)で、モバイルデバイスのために実行するメイン計算のシャドウ計算を開始することを含む方法を含むことができる。メイン計算は計算タスクを含む場合があり、シャドウ計算はメイン計算の少なくとも一部または派生物である場合がある。方法はまた、基地局によってシャドウ計算を実行することを含むことができる。
【0011】
さらに、本明細書に開示される少なくともいくつかの実施形態は、計算能力を備えたメモリモジュールに関する。そして、本明細書に開示される少なくともいくつかの実施形態は、複数のそのようなメモリモジュールを有するシステムに関する。そのようなメモリモジュール及びそのようなシステムは、本明細書に開示される基地局の任意の1つに含むことができる。より具体的には、本明細書に開示される少なくともいくつかの実施形態は、複数のメモリチップを有するメモリモジュール、少なくとも1つのコントローラ(例えば、中央処理装置または専用コントローラ)、及びメモリモジュールの入出力データを通信するように構成された少なくとも1つのインターフェースを含む。入出力データは、メモリモジュールがインストールされているコンピューティングデバイスの少なくとも1つのプロセッサ(例えば、中央処理装置)をバイパスする。そして、少なくとも1つのインターフェースデバイスは、コンピューティングデバイスの少なくとも1つの他のメモリモジュールに入出力データを通信するように構成することができる。また、メモリモジュールは、メモリモジュールシステムの複数のメモリモジュールの1つのモジュールである場合がある。さらに、メモリモジュールまたはメモリモジュールシステムは、本明細書に開示される基地局のいずれか1つに含むことができる。
【0012】
いくつかの実施形態では、メモリモジュールは、DIMM、SO-DIMM、レジスタードDIMM(RDIMM)、ミニRDIMM、ソケット付きメモリスタック、またはメモリ用のパッケージ上のソケット付きシステム、もしくは他のタイプのパッケージオンパッケージ(PoP)であるか、またはそれらを含む場合がある。そして、いくつかの実施形態では、メモリモジュールは、GPU、人工知能(AI)アクセラレータ、及び/またはメモリ内処理(PIM)ユニットなどの専用チップを含むように構成することができる。また、いくつかの実施形態では、メモリモジュールは、プロセッサとメモリモジュールとの間のメモリバスを経由することなく、有線接続、無線接続、またはその組み合わせを介して周辺機器(例えば、ディスプレイまたは他のタイプのユーザーインターフェース)に結果を出力することができる。例えば、いくつかの実施形態では、メモリモジュールは、メモリモジュールとメモリモジュールをホストするコンピューティングデバイスのメインプロセッサとの間のメモリバスを経由することなく、有線接続または無線接続またはチップ内光相互接続を介して周辺機器に結果を出力することができる。本明細書に開示されるそのようなメモリモジュール及び他のメモリモジュールは、グラフィックスパイプラインの処理(例えば、ジオメトリ、投影、照明、クリッピング、ラスタ化、陰影付け、画面ストリーミングなどのためのデータ処理)を加速することができる。また、互いと通信する複数のそのようなメモリモジュールを有するシステムは、グラフィックスパイプラインの処理をさらに高速化することができる。
【0013】
図1は、少なくとも基地局102(セルラー基地局である場合がある)、及びコンピューティングデバイス122a、122b、及び122cを含んで示されている例示的なネットワーク化システム100を示す。図2に示され、ネットワークシステム100はまた、少なくともモバイルデバイス200及び基地局222a、222b、及び222cを含んで示されている。基地局222a~222cは、セルラー基地局である場合がある。ネットワーク化されたシステム100は、本開示のいくつかの実施形態に従ってシャドウ計算を提供することができる。
【0014】
図1の示されているコンポーネントの少なくともいくつかは、機能的に及び/または構造的に、図2の示されているコンポーネントに類似している場合がある。例えば、コンピューティングデバイス122a、122b、及び122cは、それぞれモバイルデバイス200と類似した特徴及び/または機能を有する場合がある。そして、例えば、基地局102は、基地局222a、222b、及び222cの各基地局と類似した特徴及び/または機能を有する場合がある。
【0015】
図1及び図2のネットワーク化されたシステム100は、1つまたは複数の通信ネットワーク120を介してネットワーク化されている。本明細書に説明される通信ネットワーク(ネットワーク(複数可)120)は、少なくとも、Bluetoothなどのローカルからデバイスへのネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、4Gもしくは5Gなどのモバイルワイヤレスネットワーク、WiFiネットワーク、エクストラネット、インターネット、及び/またはそれらの任意の組み合わせを含むことができる。ネットワーク化されたシステム100は、ピアツーピアネットワーク、クライアントサーバネットワーク、クラウドコンピューティング環境などの一部である場合がある。また、本明細書に説明されるコンピューティングデバイスのいずれも、ある種のコンピュータシステムを含むことができる。そして、そのようなコンピュータシステムは、LAN、イントラネット、エクストラネット、及び/またはインターネット内の他のデバイスへのネットワークインターフェースを含むことができる(例えば、ネットワーク(複数可)120を参照)。コンピュータシステムはまた、クライアントサーバネットワーク環境内のサーバまたはクライアントマシンの機能で、ピアツーピア(または分散)ネットワーク環境内のピアマシンとして、またはクラウドコンピューティングインフラストラクチャもしくは環境内のサーバもしくはクライアントマシンとして動作することができる。
【0016】
また、図1は、例示的な基地局102の例示的な部分を示す。基地局102は、図1及び図2に示すように、ネットワーク(複数可)120に通信可能に結合することができる。基地局102は、少なくともバス104、コントローラ106(例えば、CPUまたは特殊なASICもしくはFPGA)、及びネットワークインターフェース108を含む。基地局102はまた、複数のメモリモジュールを含む(例えば、メモリモジュール110a及び110bを参照)。基地局102はまた、データストレージシステム(図示せず)及び基地局の一部である場合がある他のコンポーネント(図示せず)を含むことができる。図示されていない基地局102の他のコンポーネントは、セルラー基地局の部分を含む場合がある。本開示の目的のためのセルラー基地局は、アンテナ及び電子通信機器が配置されているセルラー対応モバイルデバイスサイトと見なすことができる。配置は、ラジオ塔、タワー、または他の立設した構造物の上である場合がある。そのような構造は、セルラーネットワーク内にセル(または隣接するセル)を作り出すことができる。立設した構造物は、アンテナ、ならびにトランシーバ、デジタルシグナルプロセッサ、制御電子回路、タイミング用のGPS受信機、一次電源とバックアップ電源、及びシェルターの1つまたは複数のセットを支持することができる。
【0017】
本明細書に説明される基地局102及び他の基地局のメモリモジュール(例えば、メモリモジュール110a及び110bを参照)はそれぞれ、専用コントローラ(例えば、専用コントローラ114を参照)、複数のメモリチップ(例えば、メモリチップ112a及び112bを参照)、及び専用コントローラを複数のメモリチップに接続するメモリバス(例えば、メモリバス118を参照)を含むことができる。各メモリモジュールはまた、ネットワークインターフェース(例えば、ネットワークインターフェース116を参照)を含むことができる。メモリモジュールがネットワークインターフェースを有する実施形態では、メモリバス(例えば、メモリバス118を参照)は、ネットワークインターフェース及び専用コントローラを複数のメモリチップに接続することができる。
【0018】
図1に示すように、メモリモジュール110aは、専用コントローラ114、メモリチップ112a及び112bを含む複数のメモリチップ、ネットワークインターフェース116、及び専用コントローラ、複数のメモリチップ、及びネットワークインターフェースを接続するメモリバス118を含む。また、示されるように、ネットワークインターフェース116は、ネットワークインターフェースを有するモジュールが任意選択であることを表す破線のボックスで表される。ネットワークインターフェースを含むそのような実施形態では、メモリモジュールはそれぞれ独自のネットワークインターフェースを有するので、メモリモジュールは、ネットワークインターフェース108を介して外部デバイスと通信することをバイパスすることができる。メモリモジュールがネットワークインターフェースを有していない実施形態では、基地局のネットワークインターフェース(例えば、ネットワークインターフェース108を参照)は、外部デバイスと通信するために使用することができる。そのような外部デバイスは、基地局102にとって外部のデバイスである。
【0019】
いくつかの実施形態では、上述のように、基地局102は、セルラー基地局であるか、またはセルラー基地局を含むか、またはセルラー基地局の一部である。セルラー基地局または基地局102は、モバイルデバイス(例えば、コンピューティングデバイス122a~122cを参照)のために実行するメイン計算のシャドウ計算を受け取る及び/または開始するように構成することができる。メイン計算は計算タスクを含む場合があり、シャドウ計算はメイン計算の少なくとも一部または派生物である場合がある。セルラー基地局または基地局102はまた、シャドウ計算を実行するように構成することができる。いくつかの実施形態では、専用コントローラ(例えば、専用コントローラ114を参照)は、モバイルデバイスのために実行するメイン計算のシャドウ計算を受け取る及び/または開始するように構成することができ、シャドウ計算を実行するように構成することができる。
【0020】
セルラー基地局または基地局102はまた、モバイルデバイスに、または他のデバイスに、実行されたシャドウ計算の出力データを送信するように構成することができる。いくつかの実施形態では、専用コントローラ(例えば、専用コントローラ114を参照)は、ネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116を参照)及び通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して、モバイルデバイスに、または他のデバイスに、実行されたシャドウ計算の出力データを送信するように構成することができる。
【0021】
セルラー基地局または基地局102はまた、他のセルラー基地局などの他の基地局(例えば、基地局222a、222b、及び222cを参照)に、実行されたシャドウ計算の出力データを送信するように構成することができる。いくつかの実施形態では、専用コントローラ(例えば、専用コントローラ114を参照)は、ネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116を参照)及び通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して、他のセルラー基地局などの他の基地局(例えば、基地局222a~222cを参照)に、実行されたシャドウ計算の出力データを送信するように構成することができる。
【0022】
いくつかの実施形態では、セルラー基地局または基地局102はまた、モバイルデバイスにシャドウ計算を送り返すように構成することができる。いくつかの実施形態では、専用コントローラ(例えば、専用コントローラ114を参照)は、ネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116を参照)及び通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して、モバイルデバイスにシャドウ計算を送り返すように構成することができる。
【0023】
いくつかの実施形態では、セルラー基地局または基地局102はまた、シャドウ計算から少なくとも1つの他のシャドウ計算を導出し、次に基地局以外の少なくとも1つのデバイスに他のシャドウ計算(複数可)を送信するように構成することができる。例えば、セルラー基地局または基地局102はまた、シャドウ計算から他のシャドウ計算(複数可)を導出し、次に他の基地局または他のセルラー基地局に他のシャドウ計算(複数可)を送信するように構成することができる。いくつかの実施形態では、専用コントローラ(例えば、専用コントローラ114を参照)は、シャドウ計算から他のシャドウ計算(複数可)を導出し、次にネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116)及び通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して、基地局以外の少なくとも1つのデバイスに他のシャドウ計算(複数可)を送信するように構成することができる。
【0024】
いくつかの実施形態では、モバイルデバイスが他の基地局もしくは他のセルラー基地局(例えば、基地局222a~222cを参照)の閾値距離の範囲内にあるとき、他の基地局もしくは他のセルラー基地局に基地局もしくはセルラー基地局よりも少ないネットワークトラフィックが発生するとき、及び/または他の基地局もしくは他のセルラー基地局が、基地局もしくはセルラー基地局よりも大きい計算能力を有するとき、セルラー基地局または基地局102はまた、他の基地局またはセルラー基地局にシャドウ計算を送信するように構成することができる。いくつかの実施形態では、モバイルデバイスが他の基地局もしくは他のセルラー基地局(例えば、基地局222a~222cを参照)の閾値距離の範囲内にあるとき、他の基地局もしくは他のセルラー基地局に基地局もしくはセルラー基地局よりも少ないネットワークトラフィックが発生するとき、及び/または他の基地局もしくは他のセルラー基地局が、基地局もしくはセルラー基地局よりも大きい計算能力を有するとき、専用コントローラ(例えば、専用コントローラ114を参照)は、ネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116を参照)及び通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して、他の基地局またはセルラー基地局にシャドウ計算を送信するように構成することができる。そのような実施形態及び他の実施形態では、他のセルラー基地局または他の基地局(例えば、基地局222a~222cを参照)はまた、モバイルデバイスにシャドウ計算を送り返すように構成することができる。いくつかの実施形態では、他の基地局または他のセルラー基地局の専用コントローラは、ネットワークインターフェース及び通信ネットワークを介して、モバイルデバイスにシャドウ計算を送り返すように構成することができる。
【0025】
いくつかの実施形態では、シャドウ計算を送信すること及び受信することは、完全に1つの期間内で、または複数の別個の期間の中で分割された部分で行うことができる。また、シャドウ計算の送信すること及び受信することは、シャドウ計算を移行した(あるデバイスから他のデバイスへシャドウ計算を移行するなど)後に、シャドウ計算が導出された元の計算がもはや存在しないように、計算の完全な移行を伴う場合がある。シャドウ計算を完全にまたは部分的に転送する際、シャドウ計算は計算タスク別に分割することができる。そして、そのように分割されたタスクは、基地局または他のタイプのデバイスもしくは装置の間で割り当てることができる。また、シャドウ計算は、様々な原点から再結合されたシャドウ計算から導出することができるため、計算の部分はより多くのデバイスからより少ないデバイスで実行される。言い換えると、1つまたは複数のシャドウ計算は、多くのデバイスから少ないデバイスもしくは基地局に統合することができる。さらに、シャドウ計算の出力を送信することによって、多数の他のシャドウ計算が生成または開始される可能性がある。そして、そのようなアクションはまた、シャドウ計算及び他の関連するデータの分けられていたデータセットをマージすることができ、特定の基準を満たすと、関連するシャドウ計算(複数可)を生成または終了する。
【0026】
図1に示すように、バス104は、コントローラ106、ネットワークインターフェース108、及び複数のメモリモジュール(例えば、メモリモジュール110a及び110bを参照)を通信可能に結合する。バス104はまた、そのような部分を、データストレージシステム及び他のコンポーネントなどの基地局の他の部分に通信可能に結合することができる。基地局102は、少なくともコントローラ106と、-読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(例えばシンクロナスDRAM(SDRAM)またはラムバスDRAM(RDRAM)など)、スタティックランダムアクセスメモリ(SRAM)、クロスポイントもしくはクロスバーメモリ、クロスバ-メモリなどを含む―メモリ(メモリモジュール110a及び110bを参照)とを含むコンピュータシステムを含む。コンピュータシステムはまた、図示されていないデータストレージシステムを含むことができ、そのような部分は、バス104(多重バスを含むことができる)を介して互いと通信することができる。
【0027】
いくつかの実施形態に関して、図1は、本開示の実施形態が動作することができるコンピュータシステムを有する基地局102のブロック図を含む。いくつかの実施形態では、コンピュータシステムは、実行時に、本明細書に説明される方法の少なくともいずれか1つまたは複数をマシンに実行させるための命令セットを含むことができる。そのような実施形態では、マシンを、LAN、イントラネット、エクストラネット、及び/またはインターネット(例えば、ネットワーク(複数可)120を参照)内の他のマシンに接続する(例えば、ネットワークインターフェース108を介してネットワーク接続する)ことができる。マシンは、クライアントサーバネットワーク環境内のサーバまたはクライアントマシンの機能で、ピアツーピア(または分散)ネットワーク環境内のピアマシンとして、またはクラウドコンピューティングインフラストラクチャもしくは環境内のサーバもしくはクライアントマシンとして動作することができる。
【0028】
基地局のコントローラ106は、マイクロプロセッサ、中央処理装置などの1つまたは複数の汎用処理装置であるか、またはそれらを含む場合がある。より詳細には、処理装置は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、単一命令複数データ(SIMD)、複数命令複数データ(MIMD)、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサとすることができる。コントローラ106はまた、ASICなどの1つまたは複数の特殊用途処理装置、FPGAなどのプログラマブルロジック、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどとすることができる。コントローラ106は、本明細書に説明される動作及びステップの少なくともいくつかを実行するための命令を実行するように構成することができる。
【0029】
基地局102のデータストレージシステム(図示せず)は、本明細書に説明される方法または機能のいずれか1つまたは複数を具現化できる1つまたは複数の命令セットまたはソフトウェアが格納されたマシン可読記憶媒体(コンピュータ可読媒体としても知られている)を含むことができる。基地局102のデータストレージシステムは、それが、データストレージシステムに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。命令はまた、コンピュータシステムがそれを実行する間に、メモリ(例えば、メモリモジュール110a及び110bを参照)内に、及び/またはコントローラ106内に完全にまたは少なくとも部分的に常駐することができ、基地局のメモリ及びコントローラはまた、マシン可読記憶媒体も構成する。基地局102のメモリは、メインメモリであるか、またはそれを含む場合がある。基地局102のメモリは、それが、メモリに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。
【0030】
基地局102のメモリ(例えば、メモリモジュール110a及び110bを参照)ならびに本明細書に説明されるコンピューティングデバイスのメモリは、様々なタイプのメモリを含むことができる。例えば、そのようなメモリは、フラッシュメモリセルを有するフラッシュメモリを含むことができる。また、例えば、そのようなメモリは、DRAMセルを含むダイナミックランダムアクセスメモリ(DRAM)を含むことができる。また、例えば、そのようなメモリはまた、NVRAMセルを含む不揮発性ランダムアクセスメモリ(NVRAM)を含むことができる。NVRAMセルは、3D XPointメモリセルを含むことができる。
【0031】
いくつかの実施形態は、複数のメモリモジュール(例えば、メモリモジュール110a及び110bを参照)を含むシステムなどの基地局用のシステムを含むことができる。そのようなシステムは複数のメモリモジュールを含む場合があり、各メモリモジュールは、基地局(例えば、基地局102を参照)のプリント基板(PCB)への挿入のために構成される。そして、そのような実施形態では、各メモリモジュールは、複数のメモリチップ(例えば、メモリチップ112a及び112bを参照)ならびに専用コントローラ(例えば、専用コントローラ114を参照)を含むことができる。
【0032】
そのような実施形態及び本明細書に説明される他の実施形態では、専用コントローラは、グラフィックスプロセッシングユニット(GPU)または人工知能(AI)アクセラレータであるか、それを含むか、またはその一部である場合がある。そして、専用コントローラは複数のメモリチップに結合することができる。そのような例では、専用コントローラは、モバイルデバイスのために実行するメイン計算のシャドウ計算を受け取る及び/または開始し、シャドウ計算を実行するように構成することができる。そのような例の専用コントローラはまた、モバイルデバイスに、実行されたシャドウ計算の出力データを送信するように構成することができる。そのような例の専用コントローラはまた、他のセルラー基地局に、実行されたシャドウ計算の出力データを送信するように構成することができる。そのような例の専用コントローラはまた、他のセルラー基地局にシャドウ計算を送信するように構成することができる。そのような例の専用コントローラはまた、モバイルデバイスが他のセルラー基地局の閾値距離の範囲内にあるとき、他のセルラー基地局にセルラー基地局よりも少ないネットワークトラフィックが発生するとき、及び/または他のセルラー基地局がセルラー基地局よりも大きい計算能力を有するとき、他のセルラー基地局にシャドウ計算を送信するように構成することができる。そのような例の専用コントローラはまた、モバイルデバイスにシャドウ計算を送り返すように構成することができる。
【0033】
いくつかの実施形態は、複数のメモリチップ、複数の電気接点、及び専用コントローラを有する装置を含むことができる。そして、そのような装置は、装置が設置されているコンピューティングデバイスのメインプロセッサをバイパスする1つまたは複数の通信ネットワークを介して、専用コントローラの入出力データを通信するように構成されたネットワークインターフェースデバイスを含むことができる。装置が設置されているコンピューティングデバイスは、基地局(基地局102など)のコンピューティングデバイス、またはコンピューティングデバイス122a~122cなどの1つまたは複数のネットワーク(例えば、ネットワーク(複数可)120を参照)を介して接続された基地局などの基地局に接続されたコンピューティングデバイスである場合がある。
【0034】
いくつかの実施形態では、そのような装置は、マザーボードのメモリスロットへの挿入のために構成されたプリント基板(PCB)を含むことができる。また、複数のメモリチップはPCBに結合することができる。また、複数の電気接点は、PCBの各側にある場合がある。また、専用コントローラはPCBに結合することができる。そして、ネットワークインターフェースデバイスは、PCBに結合することができる。そのような例及び他の例では、専用コントローラは、グラフィックスプロセッシングユニット(GPU)、及び/またはAIアクセラレータなどの他のタイプの専用コントローラを含むことができる。そのような例及び他の例では、ネットワークインターフェースデバイスは、1つまたは複数のワイヤレスネットワークを介して通信するように構成されたワイヤレスネットワークインターフェースを含むことができる。そして、1つまたは複数の通信ネットワークは、装置が設置されているコンピューティングデバイスのメインデータバスをバイパスすることができる。
【0035】
装置はまた、複数のメモリチップを複数の電気接点の少なくともいくつかに接続して、複数のメモリチップの入出力データを、システムがインストールされているコンピューティングデバイスのメインプロセッサに通信するように構成された第1の接続部を含むことができる。装置はまた、複数のメモリシップを専用コントローラに接続するように構成された第2の接続部を含むことができる。そして、ネットワークインターフェースデバイスが、他のデバイスから専用コントローラの入力データを受信し、装置が設置されているコンピューティングデバイスのメインプロセッサをバイパスする通信経路を介して、他のデバイスに専用コントローラの出力データを通信するように、装置は、専用コントローラをネットワークインターフェースに接続するように構成された第3の接続部を含むことができる。
【0036】
装置はまた、専用コントローラが複数のメモリチップにアクセスしている間に、メインプロセッサが複数のメモリチップのデータにアクセスしようとするとき、競合を解決するように構成されたアービターを含むことができる。
【0037】
いくつかの実施形態は、複数のデュアルインラインメモリモジュール(DIMM)を有するシステムを含む場合がある。複数のDIMMの各DIMMは、複数のDIMMとは別個である追加のPCBのメモリスロットへの挿入のために構成されたPCBを含むことができる。複数のDIMMの各DIMMは、PCBに結合された複数のメモリチップ、及びPCBの両側にある複数の電気接点を含むことができる。複数のDIMMの各DIMMは、PCBに結合された専用コントローラを含むことができる。そして、複数のDIMMの各DIMMは、PCBに結合され、システムがインストールされているコンピューティングデバイスのメインプロセッサをバイパスする1つまたは複数の通信ネットワークを介して通信するように構成されたネットワークインターフェースデバイスを含むことができる。システムがインストールされているコンピューティングデバイスは、基地局(基地局102など)のコンピューティングデバイス、またはコンピューティングデバイス122a~122cなどの1つまたは複数のネットワーク(例えば、ネットワーク(複数可)120を参照)を介して接続された基地局などの基地局に接続されたコンピューティングデバイスである場合がある。
【0038】
いくつかの実施形態では、そのようなシステムは、複数のDIMMとは別個であり、複数のDIMMの専用コントローラによって計算を調整するように構成された外部コントローラを含むことができる。そして、そのような実施形態では、システムは、複数のDIMMとは別個であり、複数のDIMMを受け入れるように構成された複数のメモリスロットを含む追加のPCBを有することができる。そして、外部コントローラは、追加のPCBに結合することができる。また、そのような実施形態では、追加のPCBは、マザーボードである場合があり、外部コントローラは中央処理装置(CPU)を含む場合がある。
【0039】
そのような例及び他の例では、専用コントローラは、グラフィックスプロセッシングユニット(GPU)、及び/またはAIアクセラレータなどの他のタイプの専用コントローラを含むことができる。そして、そのような例及び他の例では、複数のDIMMの各DIMMのネットワークインターフェースデバイスは、ワイヤレスネットワークを介して通信するように構成されたワイヤレスネットワークインターフェースデバイスを含むことができる。
【0040】
いくつかの実施形態では、複数のDIMMの各DIMMについて、DIMMのワイヤレスネットワークインターフェースは、専用コントローラの入力データを受信し、専用コントローラの出力データを、システムがインストールされているコンピューティングデバイスのメインプロセッサをバイパスする1つまたは複数の無線通信リンクを介して1つまたは複数のディスプレイに通信するように構成される。
【0041】
いくつかの実施形態は、DIMMを含むことができる。DIMMには、マザーボードのメモリスロットヘの挿入のために構成されたプリント回路基板(PCB)を含むことができる。DIMMはまた、PCBに結合された複数のメモリチップ、及びPCBの両側にある複数の電気接点を含むことができる。DIMMはまた、PCBに結合された専用コントローラを含むことができる。DIMMはまた、PCBに結合され、DIMMがコンピューティングデバイスのメインプロセッサをバイパスする1つまたは複数の通信ネットワークを介して、専用コントローラの入出力データを通信するように構成されたネットワークインターフェースデバイスを含むことができる。DIMMがインストールされているコンピューティングデバイスは、基地局(基地局102など)のコンピューティングデバイス、または例えばコンピューティングデバイス122a~122cなどの1つまたは複数のネットワーク(例えば、ネットワーク(複数可)120を参照)を介して接続された基地局などの基地局に接続されたコンピューティングデバイスである場合がある。そのような実施形態及び他の実施形態では、ならびにDIMMがモバイルデバイス内にある場合、DIMMはスモールアウトラインデュアルインラインメモリモジュール(SO-DIMM)である場合がある。また、そのような例及び他の例では、専用コントローラは、グラフィックスプロセッシングユニット(GPU)、及び/またはAIアクセラレータなどの他のタイプの専用コントローラを含む。そして、そのような例及び他の例では、ネットワークインターフェースデバイスは、1つまたは複数のワイヤレスネットワークを介して通信するように構成されたワイヤレスネットワークインターフェースを含むことができる。
【0042】
さらに、そのような例及び他の例では、DIMMは、複数のメモリチップを電気接点の少なくともいくつかに接続して、複数のメモリチップの入出力データを、システムがインストールされているコンピューティングデバイスのメインプロセッサに通信するように構成された第1の接続部を含むことができる。DIMMはまた、複数のメモリチップをGPUに接続するように構成された第2の接続部を含むことができる。そして、DIMMは、ネットワークインターフェースデバイスが、他のデバイスからGPUの入力データを受信し、GPUの出力データを、DIMMがインストールされているコンピューティングデバイスのメインプロセッサをバイパスする通信経路を介して他のデバイスに通信するように、GPUをネットワークインターフェースデバイスに接続するように構成された第3の接続部を含むことができる。
【0043】
さらに、そのような例及び他の例では、1つまたは複数の通信ネットワークは、DIMMがインストールされているコンピューティングデバイスのメインデータバスをバイパスする。
【0044】
そして、DIMMは、専用コントローラがDIMMの複数のメモリチップにアクセスしている間に、メインプロセッサが複数のメモリチップのデータにアクセスしようとするとき、競合を解決するように構成されたアービターを含むことができる。
【0045】
図2は、少なくともコンピューティングデバイス122a~122c及び基地局102(例えば、図1を参照)を含み、モバイルデバイス200及び基地局222a、222b、及び222c(例えば、図2を参照)を含む例示的なネットワーク化されたシステム100を示す。ネットワーク化されたシステム100は、本開示のいくつかの実施形態に従ってシャドウ計算を提供することができる。
【0046】
図2の示されているコンポーネントの少なくともいくつかは、機能的に及び/または構造的に、図1の示されているコンポーネントに類似している場合がある。例えば、モバイルデバイス200は、コンピューティングデバイス122a~122cのいずれか1つと類似した特徴及び/または機能を有する場合がある。そして、例えば、基地局222a~222cの各基地局は、基地局102と類似した特徴及び/または機能を有する場合がある。
【0047】
また、図2は、例示的なモバイルデバイス200の例示的な部分を示す。モバイルデバイス200は、図1及び図2に示すように、ネットワーク(複数可)120に通信可能に結合することができる。モバイルデバイス200は、少なくともバス206、コントローラ208(CPUなど)、メモリ210、ネットワークインターフェース212、データストレージシステム214、及び他のコンポーネント216(GPSコンポーネント、様々なタイプのユーザーインターフェースコンポーネントなどのI/Oコンポーネント、及びセンサとカメラなどのモバイルデバイスまたはコンピューティングデバイスに見られる任意のタイプのコンポーネントである場合がある)を含む。他のコンポーネント216は、1つまたは複数のユーザーインターフェース(例えば、GUI、聴覚ユーザーインターフェース、触覚ユーザーインターフェースなど)、ディスプレイ、異なるタイプのセンサ、触覚入出力デバイス、音声入出力デバイス、及び/または視覚入出力デバイス、追加のアプリケーション特有のメモリ、1つまたは複数の追加のコントローラ(例えば、GPU)、またはそれらの任意の組み合わせを含むことができる。バス206は、コントローラ208、メモリ210、ネットワークインターフェース212、データストレージシステム214、及び他のコンポーネント216を通信可能に結合する。コンピューティングデバイス202は、少なくともコントローラ208、メモリ210(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(例えばシンクロナスDRAM(SDRAM)またはラムバスDRAM(RDRAM)など)、スタティックランダムアクセスメモリ(SRAM)、クロスポイントまたはクロスバーメモリ、クロスバーメモリなど)、及びデータストレージシステム214を含むコンピュータシステムを含んでおり、これらはバス206(多重バスを含むことができる)を介して互いと通信する。
【0048】
別の言い方をすると、図2は、本開示の実施形態が作用することができるコンピュータシステムを有するモバイルデバイス200のブロック図である。いくつかの実施形態では、コンピュータシステムは、実行時に、本明細書に説明される方法の少なくともいずれか1つまたは複数をマシンに実行させるための命令セットを含むことができる。そのような実施形態では、マシンを、LAN、イントラネット、エクストラネット、及び/またはインターネット(例えば、ネットワーク(複数可)120)内の他のマシンに接続する(例えば、ネットワークインターフェース212を介してネットワーク接続する)ことができる。マシンは、クライアントサーバネットワーク環境内のサーバまたはクライアントマシンの機能で、ピアツーピア(または分散)ネットワーク環境内のピアマシンとして、またはクラウドコンピューティングインフラストラクチャもしくは環境内のサーバもしくはクライアントマシンとして動作することができる。
【0049】
コントローラ208は、マイクロプロセッサ、中央処理装置などの1つまたは複数の汎用処理装置を表す。より詳細には、処理装置は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、単一命令複数データ(SIMD)、複数命令複数データ(MIMD)、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサとすることができる。コントローラ208はまた、ASICなどの1つまたは複数の特殊用途処理装置、FPGAなどのプログラマブルロジック、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどとすることができる。コントローラ208は、本明細書に説明する動作及びステップを実行するための命令を実行するように構成されている。コントローラ208は、1つまたは複数の通信ネットワーク(例えば、ネットワーク(複数可)120)を介して通信するために、例えばネットワークインターフェース212などのネットワークインターフェースデバイスをさらに含むことができる。
【0050】
データストレージシステム214は、本明細書に説明される方法または機能のいずれか1つまたは複数を具現化する1つまたは複数の命令セットまたはソフトウェアが格納されたマシン可読記憶媒体(コンピュータ可読媒体としても知られている)を含むことができる。データストレージシステム214は、それが、データストレージシステムに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。命令はまた、コンピュータシステムがそれを実行する間に、メモリ210内及び/またはコントローラ208内に完全にまたは少なくとも部分的に常駐することができ、メモリ210及びコントローラ208はまたマシン可読記憶媒体を構成する。メモリ210は、モバイルデバイス200のメインメモリであるか、またはそれを含む場合がある。メモリ210は、それが、メモリに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。
【0051】
ネットワーク化されたシステム100は、コンピューティングデバイス(例えば、コンピューティングデバイス122a~122c、及びモバイルデバイス200を参照)を含み、コンピューティングデバイスのそれぞれは、1つまたは複数のバス、コントローラ、メモリ、ネットワークインターフェース、ストレージシステム、及び他のコンポーネントを含むことができる。また、図1及び図2に示すコンピューティングデバイスのそれぞれは、例えば、スマートフォン、タブレットコンピュータ、IoTデバイス、スマートテレビ、スマートウォッチ、眼鏡もしくは他のスマート家庭用電化製品、車載情報システム、ウェアラブルスマートデバイス、ゲーム機、PC、デジタルカメラ、またはそれらの任意の組み合わせなど、モバイルデバイスなどであるか、またはそれを含むか、またはそれの一部である場合がある。示されるように、コンピューティングデバイス304は、少なくとも、Bluetoothなどのローカルからデバイスへのネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、4Gもしくは5Gなどのモバイルワイヤレスネットワーク、エクストラネット、インターネット、及び/またはそれらの任意の組み合わせを含む通信ネットワーク(複数可)120に接続することができる。
【0052】
本明細書に説明されるコンピューティングデバイスまたはモバイルデバイス(コンピューティングデバイス122a~122c、及びモバイルデバイス200など)のそれぞれは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、または任意のマシンであって、そのマシンによって行われるアクションを指定する命令セットを(連続してまたは他の方法で)実行できるマシンであるか、またはそれらに置き換えられる場合がある。
【0053】
また、図2に示されるモバイルデバイス200及び図1に示される基地局102について単一のマシンが示されているが(例えば、コントローラ106、ネットワークインターフェースデバイス108、バス104、ならびにメモリモジュール110a及び110bの組み合わせを参照)、用語「マシン」はまた、本明細書に説明される方法または動作の1つまたは複数を実行するために、個々でまたは共同で命令の1つのセット(または複数のセット)を実行するマシンの任意の集まりを含むと解釈されるものとする。そして、示されたコンピューティングデバイスまたはモバイルデバイス及びコンピューティングシステムのそれぞれは、それぞれ、少なくともバス及び/またはマザーボード、1つまたは複数のコントローラ(1つまたは複数のCPUなど)、一時データストレージを含むことができるメインメモリ、少なくとも1つのタイプのネットワークインターフェース、永続的なデータストレージを含むことができるストレージシステム、及び/またはそれらの任意の組み合わせを含むことができる。いくつかのマルチデバイス実施形態では、あるデバイスは本明細書に説明される方法のいくつかの部分を完了し、次に、他のデバイスが本明細書に説明される方法の他のステップを続行することができるように、ネットワークを介して他のデバイスに完了の結果を送信することができる。
【0054】
メモリ、コントローラ、及びデータストレージ部分は、例示的な実施形態では、それぞれ単一部分であると示されているが、各部分は、命令を格納してそれらのそれぞれの動作を行うことができる単一部分または複数部分を含むと解釈されるべきである。「マシン可読記憶媒体」という用語はまた、マシンによって実行するための命令のセットを記憶またはエンコードすることが可能であり、マシンに本開示の方法の任意の1つまたは複数を実行させる任意の媒体を含むと解釈されるべきである。したがって、用語「マシン可読記憶媒体」は、ソリッドステートメモリ、光媒体、及び磁気媒体を含むが、これらに限定されないと解釈されるものとする。
【0055】
図3及び図4は、本開示のいくつかの実施形態による、図1及び図2に示す基地局によって実行できる、それぞれ方法300及び400の例示的な操作の流れ図を示す。いくつかの実施形態では、方法300及び400の例示的な操作は、1つまたは複数の専用コントローラ(例えば、専用コントローラ114を参照)によって実行することができる。そして、そのような実施形態では、送信操作及び受信操作は、1つまたは複数のネットワークインターフェース(例えば、ネットワークインターフェース108またはネットワークインターフェース116を参照)及び1つまたは複数の通信ネットワーク(例えば、ネットワーク(複数可)120を参照)を介して発生する可能性がある。
【0056】
図3では、方法300は、ステップ302で始まり、基地局(セルラー基地局など)によって、モバイルデバイスのために実行するメイン計算のシャドウ計算を受信及び開始する。開始することは、1つまたは複数の専用コントローラによって実行される場合があり、受信することは、1つまたは複数のネットワークインターフェースを介して1つまたは複数の専用コントローラによる場合がある。メイン計算は計算タスクを含む場合があり、シャドウ計算はメイン計算の少なくとも一部または派生物である場合がある。シャドウ計算は、一般的なコンピューティングデバイスのためである場合もある。そして、モバイルデバイスまたは他のコンピューティングデバイスは、基地局にシャドウ計算を送信することができる。言い換えると、シャドウ計算は、モバイルデバイスまたは他のコンピューティングデバイスから受信することができる。
【0057】
ステップ304で、方法300は、基地局によって、シャドウ計算を実行することを続ける。
【0058】
ステップ306で、方法300は、基地局によって、モバイルデバイスに、または他のデバイスに、実行されたシャドウ計算の出力データを送信することを続ける。いくつかのデバイスは、シャドウ計算によって生成されたデータ出力に依存できる。
【0059】
ステップ308で、方法300は、基地局によって、他の基地局(他のセルラー基地局など)に、実行されたシャドウ計算の出力データを送信することを続ける。いくつかの場合、いくつかの基地局は、シャドウ計算及び計算の出力を生成するために、中間出力を通信または交換することができる。
【0060】
ステップ310で、方法300は、1つまたは複数の基準が満たされたかどうかを判断することを続ける。1つまたは複数の基準が満たされたかどうかを判断することは、モバイルデバイスが他の基地局の閾値距離の範囲内にあるかどうかを判断すること、他の基地局に基地局よりも少ないネットワークトラフィックが発生するかどうかを判断すること、他の基地局が、基地局よりも大きい計算能力を有するかどうかを判断すること、またはそれらの任意の組み合わせを含む場合がある。
【0061】
ステップ312で、方法300は、1つまたは複数の転送基準が満たされると、基地局によって、他の基地局(他のセルラー基地局など)にシャドウ計算を送信することを続ける。例えば、ステップ312で、方法300は、モバイルデバイスが他の基地局の閾値距離の範囲内にあるとき、基地局によって、他の基地局にシャドウ計算を送信することを含むことができる。また、例えば、ステップ312で、方法300は、他の基地局に基地局よりも少ないネットワークトラフィックが発生するとき、基地局によって、他の基地局にシャドウ計算を送信することを含むことができる。また、例えば、ステップ312で、方法300は、他の基地局が基地局よりも大きい計算能力を有するとき、基地局によって、他の基地局にシャドウ計算を送信することを含むことができる。シャドウ計算が他の基地局に送信または転送されると、基地局はシャドウ計算を保持することもできる。
【0062】
ステップ314aで、方法300は、基地局によって、モバイルデバイスにシャドウ計算を送り返すことを続ける。シャドウ計算はステップ312を介して他の基地局に転送されなかったので、基地局はモバイルデバイスにシャドウ計算を送り返す。
【0063】
ステップ314bで、方法300は、他の基地局によって、モバイルデバイスにシャドウ計算を送り返すことを続ける。シャドウ計算はステップ312を介して他の基地局に転送されたので、他の基地局はモバイルデバイスにシャドウ計算を送り返す。シャドウ計算が他の基地局に送信または転送されると、基地局はシャドウ計算を保持することもでき、モバイルデバイスにシャドウ計算を返すこともできる。
【0064】
図4に示すように、方法400は、方法300のすべてのステップを含み、さらに、ステップ402、404、406、408a、及び408bを含む。
【0065】
方法400は、ステップ302で始まり、基地局(セルラー基地局など)によって、モバイルデバイスのために実行するメイン計算のシャドウ計算を受信及び開始する。そして、方法400は、ステップ304で、基地局によって、シャドウ計算を実行することを続けることができる。次に、ステップ304の後、方法400は分岐する。方法は、方法300のステップの残り(ステップ306、308、310、312、314a、及び314bを含む)を続けることができる、及び/または追加のステップ402、404、406、408a、及び408bを続けることができる。
【0066】
ステップ402で、方法400は、基地局によって、シャドウ計算から他のシャドウ計算を導出することを続ける。
【0067】
ステップ404で、方法400は、1つまたは複数の転送基準が満たされたかどうかを判断することを続ける。1つまたは複数の基準が満たされたかどうかを判断することは、モバイルデバイスが他の基地局の閾値距離の範囲内にあるかどうかを判断すること、他の基地局に基地局よりも少ないネットワークトラフィックが発生するかどうかを判断すること、他の基地局が、基地局よりも大きい計算能力を有するかどうかを判断すること、またはそれらの任意の組み合わせを含む場合がある。
【0068】
ステップ406で、方法400は、1つまたは複数の転送基準が満たされると、基地局によって、他の基地局(他のセルラー基地局など)に導出された他のシャドウ計算を送信することを続ける。例えば、ステップ406で、方法400は、モバイルデバイスが他の基地局の閾値距離の範囲内にあるとき、基地局によって、他の基地局に導出された他のシャドウ計算を送信することを含むことができる。また、例えば、ステップ406で、方法400は、他の基地局に基地局よりも少ないネットワークトラフィックが発生するとき、基地局によって、他の基地局に導出された他のシャドウ計算を送信することを含むことができる。また、例えば、ステップ406で、方法400は、他の基地局が基地局よりも大きい計算能力を有するとき、基地局によって、他の基地局に導出された他のシャドウ計算を送信することを含むことができる。導出された他のシャドウ計算が他の基地局に送信または転送されると、基地局は導出された他のシャドウ計算を保持することもできる。
【0069】
ステップ408aで、方法400は、基地局によって、モバイルデバイスに導出された他のシャドウ計算を送り返すことを続ける。導出された他のシャドウ計算はステップ406を介して他の基地局に転送されなかったので、基地局はモバイルデバイスに導出された他のシャドウ計算を送り返す。
【0070】
ステップ408bで、方法400は、他の基地局によって、モバイルデバイスに導出された他のシャドウ計算を送り返すことを続ける。導出された他のシャドウ計算はステップ406を介して他の基地局に転送されたので、基地局はモバイルデバイスに導出された他のシャドウ計算を送り返す。導出された他のシャドウ計算が他の基地局に送信または転送されると、基地局は導出された他のシャドウ計算を保持することもでき、モバイルデバイスに導出された他のシャドウ計算を返すこともできる。
【0071】
いくつかの実施形態では、方法300及び/または400のステップが、各ステップが、入力データを監視し、操作を実行し、以後のステップにデータを出力することによって独立して実行できるなど、連続プロセスとして実施できることを理解されたい。また、ステップは、各ステップが、それがトリガされ、特定の出力を生じさせると考えられるイベントでトリガすることができるなど、離散イベントプロセスとして実施することができる。図3及び図4のそれぞれが、図1及び図2に部分的に提示されるものよりもより複雑なシステムのおそらくより大きい方法の中の最小限の方法を表していることも理解されたい。
【0072】
いくつかの実施形態では、コンピュータ実行可能命令で具体的に符号化された非一時的なコンピュータ可読記憶媒体(例えば、メモリモジュール110a及び110bを参照)は、コンピューティングデバイスと関連するプロセッサ(例えば、専用コントローラ114を参照)による実行時に、本明細書に説明される操作の任意の1つまたは複数を含む方法などの方法を実行することができる。
【0073】
図5及び図6は、本開示のいくつかの実施形態による、それぞれ例示的なメモリモジュール502及び602を示す。メモリモジュール502または602のどちらかは、装置及び/またはシステムであるか、それを含むか、またはその一部である場合がある。
【0074】
図5は、複数のメモリチップ(例えば、メモリチップ504a、504b、及び504cを参照)を有するメモリモジュール502を示す。メモリモジュール502はまた、少なくとも1つのコントローラ(例えば、コントローラ506a及び506bを参照)を有する。示されるように、メモリモジュール502の異なる実施形態は、1つのコントローラ(例えば、コントローラ506a)、2つのコントローラ(例えば、コントローラ506a及び506b)、または2つより多いコントローラを有する場合がある。破線のボックスが任意選択のコンポーネントを表すことを理解されたい。また、メモリモジュール502の実施形態は、2つのメモリチップまたは2つより多いメモリチップを有する場合があることも理解されたい。
【0075】
メモリモジュールのメモリなどの本明細書に説明されるメモリは、様々なタイプのメモリを含むことができる。例えば、そのようなメモリは、フラッシュメモリセルを有するフラッシュメモリを含むことができる。また、例えば、そのようなメモリは、DRAMセルを含むダイナミックランダムアクセスメモリ(DRAM)を含むことができる。また、例えば、そのようなメモリはまた、NVRAMセルを含む不揮発性ランダムアクセスメモリ(NVRAM)を含むことができる。NVRAMセルは、3D XPointメモリセルを含むことができる。
【0076】
メモリモジュール502はまた、少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス508a及び508bを参照)を有して示されている。示されるように、メモリモジュール502の異なる実施形態は、1つのインターフェースデバイス(例えば、インターフェースデバイス508a)、2つのインターフェースデバイス(例えば、インターフェースデバイス508a及び508b)、または2つより多いインターフェースデバイスを有することができる。そして、上述のように、破線のボックスが任意選択のコンポーネントを表すことを理解されたい。少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス508a及び508bを参照)は、メモリモジュール502の入出力データを通信するように構成することができる。入出力データは、メモリモジュール502がインストールされているシステムの少なくとも1つのプロセッサ(例えば、メインプロセッサ)をバイパスすることができる(例えば、メモリモジュール502がインストール8a及び518bを介して、メモリモジュールがインストールされているシステムの少なくとも1つのプロセッサ512をバイパスするインターフェース508a及び508bを参照)。いくつかの実施形態では、図5に示すように、入出力データは、メモリモジュール502がインストールされているシステムのデータバス(メインデータバスなど)をバイパスする(例えば、メモリモジュールがインストールされているシステムの他のデバイス514に接続されており、接続518a及び518bを介して、メモリモジュールがインストールされているシステムのバス516(多重バスを含むことができる)をバイパスするインターフェース508a及び508bを参照)。破線の接続が任意選択の接続を表すことを理解されたい。
【0077】
メモリモジュール502はまた、複数のメモリチップ(例えば、メモリチップ504a、504b、及び504cを参照)、コントローラ(複数可)(例えば、コントローラ506a及び506bを参照)、及びインターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508bを参照)を接続するバス510(多重バスを含むことができる)を有して示されている。バス510は、メモリモジュールがインストールされているシステムのバスの一部である場合があり(例えば、バス516を参照)、バスはメモリモジュール502を、それがインストールされているシステムの残りに接続する。メモリモジュールをバス516及びシステムの残りの部分に接続するバス510の破線部分によって示されるように、バス510は、いくつかの実施形態ではバス516とは別個であってよく、他の実施形態ではバス516に接続されてよい。破線の接続が任意選択の接続を表すことを理解されたい。メモリモジュール502のコントローラの1つまたは複数(例えば、コントローラ506a及び506bを参照)は、バス510、及びバス516をバイパスする接続(例えば、接続518a及び518bを参照)を介して通信されるデータを調停することができる。
【0078】
本明細書で言及されるインターフェースデバイス及び他のインターフェースデバイスは、1つまたは複数のネットワークインターフェースデバイス、1つまたは複数のリンク、1つまたは複数のバス、1つまたは複数のポート、1つまたは複数のピアツーピアリンク、またはそれらの任意の組み合わせを含むことができる。
【0079】
いくつかの実施形態では、メモリモジュール502は、グローバル共有コンテキストを実装することができる。一般に、グローバル共有コンテキストは、それらのインターフェースデバイスを介して互いと通信するメモリモジュール502または602の複数のインスタンスを含む。大量のメモリが有用であり、メモリに近接するデータ処理によってグラフィック処理を改善することができるので、グローバル共有コンテキストは、図形処理及びグラフィックスアプリケーションにとって有益である可能性がある。そのような実施形態及び他の実施形態では、インターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508bを参照)は、通信するメモリモジュールがインストールされているシステムにインストールされたメモリモジュールの少なくとも1つの他のインスタンスに入出力データを通信するように構成することができる。
【0080】
いくつかの実施形態では、本明細書に説明されるメモリモジュール502または他のメモリモジュール、本明細書に説明されるコントローラ506aまたは他のコントローラ、本明細書に説明されるインターフェースデバイス508aまたは他のインターフェースデバイス、本明細書に説明されるメモリチップ504a、504b、及び504cまたは他のメモリチップ、またはそれらの任意の組み合わせは、システムオンチップ(SoC)、介在チップレットシステムなどのシステムオンパッケージ(SoP)、または異種ダイスタックなどの一部である場合がある。これらの実施形態のすべては、互いと及びシステムの残りと結合するためのPCBを必ずしも含まない密接に統合されたIPブロック及びチップを表す。SoCを含むまたはその一部である実施形態、または他の実施形態は、1つまたは複数のGPU、または1つまたは複数の他のタイプの特殊プロセッサ、及び/または1つまたは複数のPIMユニットを含むことができる。SoCを含むまたはその一部である実施形態、または他の実施形態は、メモリコントローラ、ディスプレイシンク(例えば、HDMI(登録商標)またはDisplayPort)、ワイヤレスインターフェースもしくはネットワーク用の無線機、AIエンジンもしくはアクセラレータ、スケーラ型プロセッサ、ベクトル型プロセッサ、CPUコアなどを含むことができるか、またはそれらに接続されるプロセッサを含むことができる。
【0081】
図5に示していないが、メモリモジュール502はまた、複数の電気接点を含むことができる。メモリモジュール502はまた、マザーボードのメモリスロットへの挿入のために構成されたPCBを含むことができる。そのような実施形態では、複数のメモリチップ(例えば、メモリチップ504a、504b、及び504cを参照)は、PCBに結合することができ、複数の電気接点は、PCBの両側にある場合がある。また、コントローラ(複数可)(例えば、コントローラ506a及び506bを参照)は、PCBに結合することができ、インターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508bを参照)は、PCBに結合することができる。
【0082】
いくつかの実施形態では、コントローラ(複数可)(例えば、コントローラ506a及び506bを参照)は、少なくとも1つの専用コントローラであるか、それを含むか、またはその一部である場合がある。専用コントローラ(複数可)は、GPU、AIアクセラレータ、ニューラル処理ユニット(NPU)、他のタイプの専用コントローラ、PIMユニット、またはそれらの任意の組み合わせであるか、それらを含むか、またはそれらの一部である場合がある。
【0083】
いくつかの実施形態では、インターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508b)は、少なくとも部分的に無線で通信する少なくとも1つのワイヤレスインターフェースデバイスを含む場合もあれば、チップ間に光通信を提供するチップ内光相互接続を含む場合もある。インターフェースデバイス(複数可)の他の部分は、ワイヤを介して通信できる。インターフェースデバイス(複数可)はまた、複数の機能及び/またはチャネル及びチャネルタイプを備えたハイブリッドインターフェースデバイスである場合がある。インターフェースデバイス(複数可)は、ネットワークインターフェースデバイス(ワイヤレスネットワークインターフェースデバイスなど)であるか、それを含むか、またはその一部である場合がある。インターフェースデバイス(複数可)は、少なくとも1つのワイヤレスインターフェースデバイスを含むことができ、及び/または有線リンクは、1つまたは複数の有線ネットワーク及び/またはワイヤレスネットワーク、ピアツーピアリンク、ポート、バスなどを介して通信するように構成することができる。
【0084】
いくつかの実施形態では、メモリモジュール502は、複数のメモリチップ(例えば、メモリチップ504a、504b、及び504c)を、複数の電気接点の少なくともいくつかに接続して、複数のメモリチップの入出力データを、メモリモジュール502がインストールされているコンピューティングデバイスのプロセッサ(コンピューティングデバイスのメインプロセッサなど)に通信するように構成された第1の接続部を含むことができる。メモリモジュール502はまた、複数のメモリチップをコントローラ(複数可)(例えば、コントローラ506a及び506bを参照)に接続するように構成された第2の接続部を含むことができる。メモリモジュール502はまた、コントローラ(複数可)をインターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508bを参照)に接続するように構成された1つまたは複数の第3の接続部を含むことができ、その結果、インターフェースデバイス(複数可)は、メモリモジュール502がインストールされているコンピューティングデバイスのプロセッサをバイパスする通信経路を介して、他のデバイスからコントローラ(複数可)の入力データを受信し、他のデバイスにコントローラ(複数可)の出力データを通信する。
【0085】
図6は、メモリモジュール502にいくらか類似したメモリモジュール602を示す。しかしながら、メモリモジュール602は、少なくとも1つのアービター(例えば、アービター604a及び604bを参照)有して示されている。図6は、図5に示すチップと類似した複数のメモリチップ(例えば、メモリチップ504a、504b、及び504cを参照)を有するメモリモジュール602を示す。メモリモジュール602はまた、図5に示す少なくとも1つのコントローラ(例えば、コントローラ506a及び506bを参照)に類似した少なくとも1つのコントローラを有する。図6にも示すように、メモリモジュール502の異なる実施形態は、1つのコントローラ(例えば、コントローラ506a)、2つのコントローラ(例えば、コントローラ506a及び506b)、または2つより多いコントローラを有することができる。破線のボックスが任意選択のコンポーネントを表すことを理解されたい。また、メモリモジュール602の実施形態は、2つのメモリチップまたは2つより多いメモリチップを有する場合があることも理解されたい。
【0086】
また、図6に示すように、メモリモジュール602は、図5に示す少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス508a及び508bを参照)に類似した少なくとも1つのインターフェースデバイスを有して図示されている。示されるように、メモリモジュール602の異なる実施形態は、1つのインターフェースデバイス(例えば、インターフェースデバイス508a)、2つのインターフェースデバイス(例えば、インターフェースデバイス508a及び508b)、または2つより多いインターフェースデバイスを有することができる。上述のように、破線のボックスが任意選択のコンポーネントを表すことを理解されたい。インターフェースデバイス(複数可)(例えば、インターフェースデバイス508a及び508bを参照)は、メモリモジュール602の入出力データを通信するように構成することができる。入出力データは、メモリモジュール602がインストールされているシステムのプロセッサ(例えば、メインプロセッサ)をバイパスすることができる。いくつかの実施形態では、入出力データは、メモリモジュール602がインストールされているシステムのデータバス(メインデータバスなど)をバイパスする。
【0087】
さらに、上述のように、及び図6に示すように、メモリモジュール602は、少なくとも1つのアービター(例えば、アービター604a及び604b)を含む。少なくとも1つのアービターは、コントローラ(複数可)(例えば、コントローラ506a及び506bを参照)が複数のメモリチップにアクセスしている間に、ホストするコンピューティングデバイスのプロセッサが複数のメモリチップ(例えば、メモリチップ504a及び504bを参照)のデータにアクセスしようとするとき、競合を解決するように構成することができる。示されるように、メモリモジュール602の異なる実施形態は、1つのアービター(例えば、アービター604a)、2つのアービター(例えば、604a及び604b)、または2つより多いアービターを有することができる。そして、上述のように、破線のボックス及び接続が任意選択のコンポーネントを表すことを理解されたい。
【0088】
いくつかの実施形態では、アービターは、各コントローラが、これらのチップ及び外部デバイス(メインプロセッサ及びシステム)にアクセスするすべてのデバイス間でメモリチップへのアクセスを調停するための1つのアービターを有するように、コントローラの一部である場合がある。他の実施形態では、アービターは、各アービターが処理の順序でそれぞれのチップへのメモリ要求を待ち行列に入れ、メモリチップ内の同じアドレスへの要求と関連する競合を解決できるように、メモリチップの一部である場合がある。また、いくつかの実施形態では、メモリモジュール202のアービターの1つまたは複数(例えば、アービター604a及び604bを参照)は、バス510、及びメモリモジュール602がインストールされているシステムのバス516をバイパスする接続(例えば、接続518a及び518bを参照)を介して通信されるデータを調停することができる。
【0089】
上述され、図5及び図6に示すように、メモリモジュール502及びメモリモジュール602は、複数のメモリチップ、少なくとも1つのコントローラ(例えば、少なくとも1つの専用コントローラ)、及びメモリモジュールの入出力データを通信するように構成された少なくとも1つのインターフェースデバイスを含む。入出力データは、メモリモジュール502または602がインストールされているコンピューティングデバイスのプロセッサをバイパスする。そして、インターフェースデバイス(複数可)は、コンピューティングデバイス(図5及び図6に図示せず)の少なくとも1つの他のメモリモジュールに入出力データを通信するように構成することができる。いくつかの実施形態では、入出力データまたはその一部は、(メモリモジュールの状態を登録するためになど)メインプロセッサを介して通信され、メインプロセッサによって処理される。
【0090】
メモリモジュール502または602のインターフェースデバイス(複数可)は、1つまたは複数の通信ネットワークを介してコントローラ(複数可)の入出力データを通信するように構成することができる少なくとも1つのネットワークインターフェースデバイスを含むことができる。コントローラ(複数可)は、GPU、AIアクセラレータ、NPU、他のタイプの専用コントローラ、PIMユニット、またはそれらの任意の組み合わせを含むことができる。メモリモジュール502または602の少なくとも1つのインターフェースデバイスは、1つまたは複数の無線通信ネットワークを介して少なくとも部分的には無線で通信するように構成された少なくとも1つのワイヤレスインターフェースデバイスを含む場合もあれば、チップ間に光通信を提供するチップ内光相互接続を含む場合もあり、1つまたは複数の無線通信ネットワークまたはチップ内光相互接続は、メモリモジュール502または602がインストールされているコンピューティングデバイスのデータバス(メインデータバスなど)をバイパスすることができる。いくつかの実施形態では、無線通信は、システムにインストールされている複数のメモリモジュール間で発生する可能性がある。例えば、無線受信機は、(PC基板にインストールされたDIMMのような)近接した空間に整列している(aligned-in-space)モジュール間のデータ通信を可能にすることができる。これにより、そのような通信の速度を上げることができる。具体的には、いくつかの実施形態では、テラヘルツ無線通信(THz)は、100Gb/秒の速度を可能にすることができる。したがって、そのような例では、チップ内またはモジュール内のTHz放射は、本明細書に開示されるメモリモジュール間の大量のデータ交換をサポートすることができる。
【0091】
そして、具体的に図6に示すように、メモリモジュール602は、メモリモジュールのコントローラ(複数可)がメモリモジュールの複数のメモリチップにアクセスしている間に、メモリモジュールを有するコンピューティングデバイスのプロセッサが複数のメモリチップのデータにアクセスしようとするとき、競合を解決するように構成された1つのアービターを含む。
【0092】
図7及び図8は、本開示のいくつかの実施形態による、それぞれ例示的なメモリモジュール702及び802を示す。図8は、図7に図示するメモリモジュールシステム702にいくらか類似したメモリモジュールシステム802を示す。しかしながら、メモリモジュールシステム802は、少なくとも1つのアービター(例えば、アービター804a及び804bを参照)を有して示されている。メモリモジュールシステム802に含まれるとして示される少なくとも1つのアービターは、メモリモジュールシステム内の少なくとも1つのコントローラがメモリチップにアクセスしている間に、メモリモジュールシステム802を有するまたはホストするコンピューティングデバイスのプロセッサがメモリモジュールシステムの1つまたは複数のメモリチップのデータにアクセスしようとするとき、競合を解決するように構成される。
【0093】
図示されたメモリモジュールシステム702と802の両方とも、複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704cを参照)を含む。そして、メモリモジュールのそれぞれは複数のメモリチップを含む。複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704cを参照)の各メモリモジュールは、メモリモジュール502またはメモリモジュール602である場合がある。メモリモジュールシステム702及び802はまた、それぞれ、少なくとも1つの外部コントローラ(例えば、外部コントローラ706a及び706bを参照)及び少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708bを参照)を含む。
【0094】
メモリモジュールシステム702及び802は、それぞれ、複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704cを参照)、少なくとも1つの外部コントローラ(例えば、外部コントローラ706a及び706bを参照)、及び少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708bを参照)を接続するバス710(多重バスを含むことができる)を有して示されている。
【0095】
メモリモジュールシステム702及び802はそれぞれ、少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708bを参照)を有して示されている。示されるように、メモリモジュール702及び802の異なる実施形態は、1つのインターフェースデバイス(例えば、インターフェースデバイス708a)、2つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708b)、または2つより多いインターフェースデバイスを有することができる。そして、上述のように、破線のボックスが任意選択のコンポーネントを表すことを理解されたい。少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708bを参照)は、メモリモジュールシステム702及び802のそれぞれの入出力データを通信するように構成することができる。入出力データは、メモリモジュールシステム702及び802の一方がインストールされているそれぞれのシステムのプロセッサ(例えば、メインプロセッサ)をバイパスすることができる(例えば、メモリモジュールシステム702及び802の一方がインストールされているシステムの他のデバイス714に接続されており、接続718a及び718bを介して、システムの少なくとも1つのプロセッサ712をバイパスするインターフェース708a及び708bを参照)。いくつかの実施形態では、図7に示すように、入出力データは、メモリモジュールシステム702及び802の一方がインストールされているシステムのデータバス(メインデータバスなど)をバイパスする(システムの他のデバイス714に接続されており、接続718a及び718bを介して、システムのバス716(多重バスを含むことができる)をバイパスするインターフェース708a及び708bを参照)。破線の接続が任意選択のコンポーネントを表すことを理解されたい。
【0096】
また、バス710は、メモリモジュールシステム702及び802の一方がインストールされているシステムのバス(例えば、バス716を参照)の一部である場合があり、バスは、メモリモジュールシステム702及び802の一方を、それがインストールされているシステムの残りに接続する。メモリモジュールシステムをバス716及びシステムの残りの部分に接続するバス710の破線部分によって示されるように、バス710は、いくつかの実施形態ではバス716とは別個であってよく、他の実施形態ではバス716に接続されてよい。破線の接続が任意選択の接続を表すことを理解されたい。メモリモジュールシステム702及び802のコントローラの1つまたは複数(例えば、コントローラ706a及び706bを参照)は、バス710、及びバス716をバイパスする接続(例えば、接続718a及び718bを参照)を介して通信されるデータを調停することができる。
【0097】
示されるように、外部コントローラ(複数可)(例えば、外部コントローラ706a及び706bを参照)は、メモリモジュールシステム702及び802のそれぞれの複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704cを参照)とは別個である。メモリモジュールシステム702及び802のいくつかの実施形態では、外部コントローラ(複数可)は、複数のメモリモジュールのコントローラによる計算を調整するように構成することができる(例えば、コントローラ506a及び506bならびにメモリモジュール502、602、及び704a~704cを参照)。また、外部コントローラ(複数可)は、複数のメモリモジュールのインターフェースデバイス(例えば、インターフェースデバイス508a及び508b、ならびにメモリモジュール502、602、及び704a~704cを参照)による通信を調整するように構成することができる。
【0098】
また、示されるように、インターフェースデバイス(複数可)(例えば、インターフェースデバイス708a及び708cを参照)は、メモリモジュールシステム702及802のそれぞれの複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704c)とは別個である。メモリモジュールシステム702及び802の少なくとも1つのインターフェースデバイス(例えば、インターフェースデバイス708a及び708bを参照)は、少なくとも部分的に無線で通信する少なくとも1つのワイヤレスインターフェースデバイスを含む場合もあれば、チップ間に光通信を提供するチップ内光相互接続を含む場合もある。メモリモジュールシステム702及び802のインターフェースデバイス(複数可)の他の部分は、ワイヤを介して通信することができる。メモリモジュールシステム702及び802の少なくとも1つのインターフェースデバイスはまた、複数の機能及び/またはチャネル及びチャネルタイプを備えたハイブリッドインターフェースデバイスである場合がある。メモリモジュールシステム702及び802のインターフェースデバイス(複数可)は、ネットワークインターフェースデバイス(ワイヤレスネットワークインターフェースデバイスなど)であるか、それを含むか、またはその一部である場合がある。メモリモジュールシステム702及び802のインターフェースデバイス(複数可)は、少なくとも1つのワイヤレスインターフェースデバイスを含むことができ、及び/または有線リンクは、1つまたは複数の有線ネットワーク及び/またはワイヤレスネットワーク、ピアツーピアリンク、ポート、バスなどを介して通信するように構成することができる。
【0099】
また、複数のメモリモジュール(例えば、メモリモジュール704a、704b、及び704cを参照)は、複数の異なるタイプのメモリ構造である場合がある。例えば、複数のメモリモジュールは、1つまたは複数のDIMM、1つまたは複数のSO-DIMM、1つまたは複数のRDIMM、1つまたは複数のmini-RDIMM、1つまたは複数のソケット付きメモリスタック、1つまたは複数のパッケージ上の複数のソケットシステム、またはメモリ用の他のタイプのPoP、異なるタイプのメモリ構造またはモジュールの1つまたは複数、またはそれらの任意の組み合わせ1つであるか、その一部であるか、またはそれらを含む場合がある。
【0100】
また、本明細書に説明される各メモリモジュールは、異なるタイプのメモリ構造である場合がある。例えば、本明細書に説明するメモリモジュールは、DIMM、SO-DIMM、RDIMM、mini-RDIMM、ソケット付きメモリスタック、またはパッケージ上のソケット付きシステムまたはメモリ用の他のタイプのPoPであるか、それらの一部であるか、またはそれらを含む場合がある。
【0101】
例えば、メモリモジュールシステム702または802のいくつかの実施形態では、システムは、複数のDIMMを含むことができる。そして、複数のDIMMの各DIMMは、複数のDIMMとは別個である追加のPCBのメモリスロットへの挿入のために構成されたPCBを含むことができる。また、複数のDIMMの各DIMMは、PCBに結合された複数のメモリチップ、PCBの両側にある複数の電気接点、PCBに結合された少なくとも1つのコントローラ(少なくとも1つの専用コントローラなど)、及びDIMMの入出力データを通信するように構成された少なくとも1つのインターフェースデバイスを含むことができる。入出力データは、DIMM及びシステムがインストールされているコンピューティングデバイスの少なくとも1つのプロセッサをバイパスする。そして、DIMMを有するシステム702及び802のそのような実施形態では、インターフェースデバイス(複数可)は、入出力データを複数のDIMMの少なくとも1つの他のDIMMに通信するように構成することができる。
【0102】
また、DIMMを有するシステム702及び802のそのような実施形態では、外部コントローラは、複数のDIMMとは別個であり、複数のDIMMの専用コントローラによる計算を調整するように構成することができる。外部コントローラはまた、複数のDIMMのインターフェースデバイスによる通信を調整するように構成することができる。そして、そのような実施形態では、追加のPCBは、複数のDIMMとは別個であり、複数のDIMMを受け入れるように構成された複数のメモリスロットを含むことができる。また、外部コントローラは、追加のPCBに結合することができ、追加のPCBはマザーボードである場合があり、外部コントローラは、中央処理装置(CPU)または専用コントローラなどの他のタイプのプロセッサを含むことができる。
【0103】
いくつかの実施形態では、複数のDIMMの各DIMMの少なくとも1つのコントローラは、専用のコントローラである場合がある。例えば、少なくとも1つのコントローラは、GPU、AIアクセラレータ、NPU、他のタイプの専用コントローラ、PIMユニット、またはそれらの任意の組み合わせであるか、それらの一部であるか、またはそれらを含む場合がある。
【0104】
いくつかの実施形態では、複数のDIMMのDIMMのインターフェースデバイス(複数可)は、少なくとも部分的に無線で通信するように構成されたワイヤレスインターフェースデバイスを含む場合もあれば、チップ間に光通信を提供するチップ内光相互接続を含む場合もある。そして、そのような例では、複数のDIMMの各DIMMについて、DIMMのワイヤレスインターフェースデバイスは、少なくとも1つのコントローラの入力データを受信し、システムがインストールされているシステム702または802をホストするコンピューティングデバイスのプロセッサをバイパスする1つまたは複数の無線通信リンクを介して1つまたは複数のユーザーインターフェースにコントローラ(複数可)の出力データを通信するように構成することができる。1つまたは複数のユーザーインターフェースは、触覚UI(接触)、視覚UI(視野)、例えばGUI、聴覚UI(音)、嗅覚UI(匂い)、平衡UI(バランス)、及び味覚UI(味)、またはそれらの任意の組み合わせを含む任意のタイプのユーザーインターフェース(UI)の1つまたは複数を含むことができる。
【0105】
いくつかの実施形態では、DIMMは、1つまたは複数の高速ワイヤレスインターフェースを介して互いと通信することができる。DIMMはインストールし、位置合わせし、互いに近くある場合があるので、DIMMの間でデータを送信するために近接した送信機を備えた高速ワイヤレスインターフェースを使用することができる。また、ワイヤは、メモリスロットに挿入されたときにDIMMをPCBに接続する側以外の各DIMMの側を介してDIMMを接続することができる。
【0106】
図9は、本開示のいくつかの実施形態による、少なくともコンピューティングデバイス902、922a、922b、922c、及び922dを含む例示的なネットワーク化されたシステム900を示す。また、図9は、ネットワーク化されたシステム900の一部分である例示的なコンピューティングデバイス902の例示的な部分を示す。そして、図9は、そのようなコンピューティングデバイスを、IoTデバイス、モバイルデバイス、通信ネットワークデバイス、及び装置(例えば、基地局930を参照)、アプライアンス(例えば、アプライアンス940を参照)、及び車両(例えば、車両950を参照)などの様々なマシン、装置、及びシステムにどのように統合できるのかを示す。
【0107】
ネットワーク化されたシステム900のコンピューティングデバイス902及び他のコンピューティングデバイス(例えば、コンピューティングデバイス922a、922b、922c、及び922dを参照)は、1つまたは複数の通信ネットワーク920に通信可能に結合することができる。コンピューティングデバイス902は、少なくともバス906、コントローラ908(CPUなど)、第1のメモリ910、ネットワークインターフェース912、データストレージシステム914、他のコンポーネント916(GPSコンポーネント、様々なタイプのユーザーインターフェースコンポーネントなどのI/Oコンポーネント、及びセンサとカメラなどのモバイルデバイスまたはコンピューティングデバイスに見られる任意のタイプのコンポーネントである場合がある)、及び第2のメモリ918(メモリモジュール502もしくは602またはメモリモジュールシステム702もしくは802を含むことができる)を含む。他のコンポーネント916は、1つまたは複数のユーザーインターフェース(例えば、GUI、聴覚ユーザーインターフェース、触覚ユーザーインターフェースなど)、ディスプレイ、異なるタイプのセンサ、触覚入出力デバイス、音声入出力デバイス、及び/または視覚入出力デバイス、追加のアプリケーション特有のメモリ、1つまたは複数の追加のコントローラ(例えば、GPU)、またはそれらの任意の組み合わせを含むことができる。バス906は、コントローラ908、第1のメモリ910、ネットワークインターフェース912、データストレージシステム914、及び他のコンポーネント916を通信可能に結合し、いくつかの実施形態ではそのようなコンポーネントを第2のメモリ912に結合することができる。上述のように、破線のボックス及び接続が任意選択のコンポーネントを表すことを理解されたい。
【0108】
コンピューティングデバイス902は、少なくともコントローラ908、第1のメモリ910及び第2のメモリ918(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(例えばシンクロナスDRAM(SDRAM)またはラムバスDRAM(RDRAM)など)、スタティックランダムアクセスメモリ(SRAM)、クロスポイントメモリまたはクロスバーメモリ、クロスバーメモリなど)、及びデータストレージシステム914を含むコンピュータシステムを含んでおり、これらはバス906(多重バスを含むことができる)を介して互いと通信する。いくつかの実施形態では、第2のメモリ518は、バス506を介して通信しない場合がある。
【0109】
別の言い方をすると、図9は、本開示の実施形態が作用することができるコンピュータシステムを有するコンピューティングデバイス902のブロック図を含む。いくつかの実施形態では、コンピュータシステムは、実行時に、本明細書に説明される方法の少なくともいずれか1つまたは複数をマシンに実行させるための命令のセットを含むことができる。そのような実施形態では、マシンを、LAN、イントラネット、エクストラネット、及び/またはインターネット(例えば、ネットワーク(複数可)920)内の他のマシンに接続する(例えば、ネットワークインターフェース912を介してネットワーク接続する)ことができる。マシンは、クライアントサーバネットワーク環境内のサーバまたはクライアントマシンの機能で、ピアツーピア(または分散)ネットワーク環境内のピアマシンとして、またはクラウドコンピューティングインフラストラクチャもしくは環境内のサーバもしくはクライアントマシンとして動作することができる。
【0110】
コントローラ908は、マイクロプロセッサ、中央処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理装置は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、単一命令複数データ(SIMD)、複数命令複数データ(MIMD)、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサとすることができる。コントローラ908はまた、ASICなどの1つまたは複数の特殊用途処理装置、FPGAなどのプログラマブルロジック、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどとすることができる。コントローラ908は、本明細書に説明する動作及びステップを実行するための命令を実行するように構成されている。コントローラ908はさらに、1つまたは複数の通信ネットワーク(ネットワーク(複数可)920など)を介して通信するために、ネットワークインターフェース912などのネットワークインターフェースデバイスを含むことができる。
【0111】
データストレージシステム914は、本明細書に説明される方法または機能のいずれか1つまたは複数を具現化する1つまたは複数の命令セットまたはソフトウェアが格納されたマシン可読記憶媒体(コンピュータ可読媒体としても知られている)を含むことができる。データストレージシステム914は、それが、データストレージシステムに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。命令はまた、コンピュータシステムがそれを実行する間に、第1のメモリ910及び第2のメモリ918の少なくとも1つの中に、及び/またはコントローラ908内に完全にまたは少なくとも部分的に常駐することができ、第1のメモリ910及び第2のメモリ918の少なくとも1つ、ならびにコントローラ908はまた、マシン可読記憶媒体を構成する。第1のメモリ910は、コンピューティングデバイス902のメインメモリである、またはそれを含む場合がある。第1のメモリ910及び第2のメモリ918は、それが、メモリに常駐する命令を少なくとも部分的に実行することができるなど、実行能力を有することができる。
【0112】
上述のように、ネットワーク化されたシステム900はコンピューティングデバイスを含み、コンピューティングデバイスのそれぞれは、1つまたは複数のバス、コントローラ、メモリ、ネットワークインターフェース、ストレージシステム、及び他のコンポーネントを含むことができる。また、図9に示され、本明細書に説明されるコンピューティングデバイスのそれぞれは、例えば、スマートフォン、タブレットコンピュータ、IoTデバイス、スマートテレビ、スマートウォッチ、眼鏡もしくは他のスマート家庭用電化製品、車載情報システム、ウェアラブルスマートデバイス、ゲーム機、PC、デジタルカメラ、またはそれらの任意の組み合わせなど、モバイルデバイスなどを含むか、またはそれらの一部である場合がある。示されるように、コンピューティングデバイスは、少なくとも、Bluetoothなどのローカルからデバイスへのネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、4Gもしくは5Gなどのモバイルワイヤレスネットワーク、エクストラネット、インターネット、及び/またはそれらの任意の組み合わせを含むネットワーク(複数可)920に接続することができる。いくつかの実施形態では、破線接続919で示されるように、第2のメモリ918は、それが通信ネットワーク(複数可)920を介して他のデバイスと別々に通信できるように、少なくとも1つのネットワークインターフェースを含むことができる。例えば、第2のメモリ918のメモリモジュールまたはメモリモジュールシステム(例えば、メモリモジュール502及び602、ならびにメモリモジュールシステム702及び802を参照)は、そのようなコンポーネントが通信ネットワーク(複数可)920を介して他のデバイスと別々に通信できるように、独自のネットワークインターフェースを有することができる。
【0113】
本明細書に説明されるコンピューティングデバイスのそれぞれは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、または任意のマシンであって、そのマシンによって行われるアクションを指定する命令セットを(連続してまたは他の方法で)実行できるマシンであるか、またはそれらに置き換えられる場合がある。
【0114】
また、単一のマシンが図9に示すデバイス902について示されるが、用語「マシン」はまた、本明細書に説明される方法または動作の1つまたは複数を実行するために、個々でまたは共同で命令の1つのセット(または複数のセット)を実行するマシンの任意の集まりを含むと解釈されるものとする。そして、示されたコンピューティングデバイス及びコンピューティングシステムのそれぞれは、それぞれ、少なくともバス及び/またはマザーボード、1つまたは複数のコントローラ(1つまたは複数のCPUなど)、一時データストレージを含むことができるメインメモリ、少なくとも1つのタイプのネットワークインターフェース、永続的なデータストレージを含むことができるストレージシステム、及び/またはそれらの任意の組み合わせを含むことができる。いくつかのマルチデバイス実施形態では、あるデバイスは本明細書に説明される方法のいくつかの部分を完了し、次に、他のデバイスが本明細書に説明される方法の他のステップを続行することができるように、ネットワークを介して他のデバイスに完了の結果を送信することができる。
【0115】
メモリ、コントローラ、及びデータ記憶装置部分を、実施形態例においてそれぞれ単一部分であると示しているが、各部分は、命令を格納してその対応する動作を行うことができる単一部分または複数部分を含むと解釈すべきである。「マシン可読記憶媒体」という用語はまた、マシンによって実行するための命令のセットを記憶またはエンコードすることが可能であり、マシンに本開示の方法の任意の1つまたは複数を実行させる任意の媒体を含むと解釈されるべきである。したがって、用語「マシン可読記憶媒体」は、ソリッドステートメモリ、光媒体、及び磁気媒体を含むが、これらに限定されないと解釈されるものとする。
【0116】
先行する詳細な説明の一部は、アルゴリズム及びコンピュータメモリ内のデータビットに対する操作の記号表現の観点から提示されている。このようなアルゴリズムの説明及び表現は、その働きの趣旨を当業者に最も効果的に伝えるためにデータ処理技術において当業者が用いる方法である。アルゴリズムはここでは、及び全般的に、望ましい結果に至る自己矛盾のない動作順序であると考えられる。動作は、物理量の物理的な操作を必要とするものである。通常、必ずしもではないが、これらの量は格納し、組み合わせ、比較し、及び他の方法で操作することができる電気または磁気信号という形を取る。主に共通使用の理由により、これらの信号をビット、値、要素、シンボル、文字、用語、数などと称することが、時によって好都合であることが分かっている。
【0117】
しかし、これら及び同様の用語はすべて、適切な物理量に対応付けられるべきであり、これらの量に適用される好都合な標示にすぎないことを認識しておくべきである。本開示は、コンピュータシステムのレジスタ及びメモリ内で物理(電子的)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたはそのような情報ストレージシステム内で同様に物理量として表される他のデータに変換する、コンピュータシステム、または類似した電子コンピューティングデバイスの動作及びプロセスを参照することができる。
【0118】
本開示は、本明細書における動作を実行するための装置にも関する。この装置は、使用目的に対して特別に構成することもできるし、またはコンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含むこともできる。このようなコンピュータプログラムは、任意のタイプのディスク、例えば、フロッピーディスク、光ディスク、CD-ROM、及び光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、または電子命令の格納に適した任意のタイプの媒体などのコンピュータ可読記憶媒体に格納することができ、それぞれコンピュータシステムバスに結合される。
【0119】
本明細書で示したアルゴリズム及びディスプレイは、何らかの特定のコンピュータまたは他の装置に本来的に関係していない。様々な汎用システムを、本明細書での教示に従ってプログラムによって用いることもできるし、または本方法を行うためにより専用の装置を構築することが好都合であることが分かる可能性もある。種々のこれらのシステムの構造は、以下の説明で述べるように現れる。加えて、本開示は何らかの特定のプログラミング言語に関して説明されていない。本明細書に説明したような本開示の教示を実施するために、種々のプログラミング言語を使用できることを理解されたい。
【0120】
本開示を、本開示に従ってプロセスを実行するようにコンピュータシステム(または他の電子装置)をプログラミングするために使用できる命令が格納されたマシン可読媒体を含むことができる、コンピュータプログラム製品またはソフトウェアとして示すことができる。マシン可読媒体は、マシン(例えば、コンピュータ)によって可読形式で情報を格納するための任意のメカニズムを含む。いくつかの実施形態では、マシン可読(例えば、コンピュータ可読)媒体は、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリコンポーネントなどのマシン(例えば、コンピュータ)可読記憶媒体を含む。
【0121】
前述の明細書では、本開示の実施形態は、その特定の例示的な実施形態を参照して説明されてきた。以下の特許請求の範囲に述べる本開示の実施形態のより広い趣旨及び範囲から逸脱することなく、様々な変更を加えることができることが明らかである。したがって、明細書及び図面は限定的な意味ではなく例示的な意味で考慮されるべきである。

図1
図2
図3
図4
図5
図6
図7
図8
図9