JP7344885B2 - システムオンチップのためのメモリサブシステム - Google Patents

システムオンチップのためのメモリサブシステム Download PDF

Info

Publication number
JP7344885B2
JP7344885B2 JP2020543222A JP2020543222A JP7344885B2 JP 7344885 B2 JP7344885 B2 JP 7344885B2 JP 2020543222 A JP2020543222 A JP 2020543222A JP 2020543222 A JP2020543222 A JP 2020543222A JP 7344885 B2 JP7344885 B2 JP 7344885B2
Authority
JP
Japan
Prior art keywords
memory controller
master
power domain
memory
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020543222A
Other languages
English (en)
Other versions
JP2021514079A (ja
Inventor
イーガル アーヴェル,
イアン エー. スワーブリック,
サギール アフメド,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of JP2021514079A publication Critical patent/JP2021514079A/ja
Application granted granted Critical
Publication of JP7344885B2 publication Critical patent/JP7344885B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)

Description

本開示の例は、一般にシステムオンチップ(SoC)に関し、特に、1つまたは複数のメモリコントローラを含むメモリサブシステムを含むSoCに関する。
集積回路技術の進歩は、プロセッサコア、メモリコントローラ、およびバスなどを含む、システム全体を単一の半導体チップに埋め込むことを可能にした。このタイプのチップは、一般的に、システムオンチップ(SoC)と呼ばれる。他のSoCは、異なるアプリケーションのためにその中に埋め込まれた異なる構成要素を有し得る。SoCは、旧来のプロセッサベース設計に勝る多くの利点を与える。単一のデバイスへの構成要素の統合は、サイズを縮小しながら全体の速度を高めるので、SoCはマルチチップ設計の魅力的な代替である。また、ASIC(特定用途向け集積回路)設計は著しくより長い開発時間およびより大きい開発コストを有する傾向があるので、SoCは、ASICなど、完全にカスタマイズされたチップの魅力的な代替である。プログラマブル論理とSoCの両方の利益を得ることができるプログラマブル半導体チップを実現するために、プログラマブル論理を含む構成可能なSoC(CSoC)が開発された。
本開示の例は、一般に、メモリサブシステムを含む、システムオンチップ(SoC)など、集積回路に関する。様々な例が、メモリコントローラを集積回路のマスタ回路から独立して動作させることを可能にすることができ、スケーラブルで統一されたメモリサブシステムを可能にすることができる。
本開示の一例は集積回路である。集積回路は、チップ上の第1の電力領域中の第1のマスタ回路と、チップ上の第2の電力領域中の第2のマスタ回路と、チップ上の第3の電力領域中の第1のメモリコントローラとを含む。第1のマスタ回路および第2のマスタ回路はそれぞれ、第1のメモリコントローラを介してメモリにアクセスするように構成される。第1の電力領域および第2の電力領域はそれぞれ、第3の電力領域から分離し、独立している。
本開示の別の例は、集積回路を動作させる方法である。集積回路の複数のマスタ回路の各々が複数の電力モードのうちの1つに選択的に入れられる。メモリが、複数のマスタ回路のうちの少なくとも1つによって、複数のマスタ回路の他のマスタ回路の各々の複数の電力モードのうちの選択された電力モードと無関係に、集積回路の第1のメモリコントローラを介してアクセスされる。第1のメモリコントローラは、複数のマスタ回路の各それぞれの電力領域から分離した電力領域中にある。
本開示のまた別の例は集積回路である。集積回路は、チップ上の処理システムと、チップ上のプログラマブル論理と、チップ上の構成可能な相互接続ネットワークと、チップ上の第1のメモリコントローラと、チップ上の管理ユニットとを含む。処理システムおよびプログラマブル論理はそれぞれ、構成可能な相互接続ネットワークを介して第1のメモリコントローラに通信可能に結合される。処理システムおよびプログラマブル論理はそれぞれ、第1のメモリコントローラと構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成される。管理ユニットは、第1のメモリコントローラの動作から独立して処理システムおよびプログラマブル論理のそれぞれの電力モードを制御することが可能である。
これらおよび他の態様は、以下の詳細な説明を参照しながら理解され得る。
上記の特徴が詳細に理解され得るように、上記で手短に要約された、より詳細な説明が、そのうちのいくつかが添付の図面に示されている例示的な実装形態を参照することによって得られ得る。しかしながら、添付の図面は例示的な実装形態のみを示し、したがって、他の実装形態の範囲を限定するものと考えられるべきでないことに留意されたい。
本開示のいくつかの例による、集積回路(IC)のブロック図である。 本開示のいくつかの例による、IC中の電力管理およびメモリアクセスのためのフローチャートである。 本開示のいくつかの例による、ネットワークオンチップ(NoC)を示すブロック図である。 本開示のいくつかの例による、NoCによるエンドポイント回路間の接続を示すブロック図である。 本開示のいくつかの例による、NoCに接続された4つのポートをもつメモリコントローラを含むICの部分のブロック図である。
理解を促すために、可能な場合、図に共通する同一の要素を指定するために同一の参照番号が使用されている。1つの例の要素は他の例中に有利に組み込まれ得ることが企図される。
本開示の例は、メモリサブシステムを含む、システムオンチップ(SoC)など、集積回路を与える。一般に、いくつかの例では、メモリサブシステムは、マスタモジュールの電力領域から分離し、独立した電力領域中にある、1つまたは複数のメモリコントローラを含む。したがって、メモリコントローラの動作はマスタモジュールの各々の電力モードから独立し、分離しているので、各マスタモジュールは、他のマスタモジュールの電力モードにかかわらず、メモリコントローラを介してメモリにアクセスすることができる。さらに、メモリコントローラは、IC中の、プログラマブルネットワークオンチップ(NoC)など、相互接続構造をもつIC中に実装され得る。メモリコントローラおよび相互接続構造は、マスタモジュールにメモリへのアクセスを許可するスケーラブルで統一された方式を与えることができる。
以下で、図を参照しながら様々な特徴について説明する。図は一定の縮尺で描かれていることもあり、描かれていないこともあること、および同様の構造または機能の要素は図全体にわたって同様の参照番号によって表されていることに留意されたい。図は、特徴の説明を促すためのものに過ぎないことに留意されたい。図は、異なる実施形態の網羅的な説明として、または特許請求の範囲の限定として意図されていない。さらに、示された例が、示されたすべての態様または利点を有するとは限らない。特定の例に関して説明される態様または利点は、必ずしもその例に限定されるとは限らず、そのように示されていない場合でも、またはあまり明示的に説明されていない場合でも、他のいかなる例においても実践され得る。
図1は、本開示のいくつかの例による、集積回路(IC)100のブロック図である。いくつかの例では、IC100は、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)など、プログラマブルICであり得る。他の例では、IC100は特定用途向けIC(ASIC)または別のICであり得る。IC100は、システムオンチップ(SoC)であり得、単一のダイ上に実装され得る。IC100は、処理システム(PS)102と、プログラマブル論理(PL)104と、マスタおよび/またはスレーブ(M/S)ブロック1 106と、M/Sブロック2 108と、メモリコントローラ(MC)1 110と、MC2 112と、入出力(I/O)インターフェース114と、管理ユニット(MU)116と、システム相互接続120とを含む。システム相互接続120はネットワークオンチップ(NoC)122をさらに含む。これらのブロックおよびサブシステムは例である。IC100は、これらの任意の組合せ、追加のおよび/または異なるブロックならびにサブシステムを含むことができる。
PS102は、1つまたは複数のプロセッサコアであり得るか、または1つまたは複数のプロセッサコアを含むことができる。たとえば、PS102は、いくつかのARMベースの組込みプロセッサコアを含むことができる。PL104は、プログラムされ得るか、またはPS102を使用して構成され得る、任意の数の構成可能な論理ブロック(CLB)を含むことができる。M/Sブロック1 106およびM/Sブロック2 108はいくつかのブロックおよびサブシステムのいずれかであり得る。たとえば、M/Sブロック1 106およびM/Sブロック2 108はそれぞれ、プログラマブル論理、処理システム(デジタル信号プロセッサ(DSP)、グラフィカルプロセッサユニット(GPU)など)、ビデオ圧縮ユニット(VCU)、アクセラレータ、メモリ、または他のブロックおよび/またはサブシステムであり得る。
MC1 110およびMC2 112は、PS102、PL104、または別のモジュールなど、マスタモジュールによってメモリへのアクセスを制御するように構成されたメモリコントローラである。いくつかの例では、MC1 110およびMC2 112はそれぞれ、ダブルデータレート第4世代(DDR4)MC、高帯域幅メモリ第2世代(HBM2)MC、または別のMCであり得る。他の例では、MC1 110およびMC2 112は、任意の世代の技術および/または任意の標準または非標準MCであり得る。具体例では、MC1 110およびMC2 112はそれぞれDDR4 MCである。MC1 110およびMC2 112の各々は、パリティビットおよび/または誤り訂正コードの生成および検査、訂正不可能な誤りを示すデータポイズニングサポート、および/または誤りロギングおよび報告など、エンドツーエンドデータ保護を有することができる。
I/Oインターフェース114は、IC100とオフチップの別の構成要素との間の通信を可能にするように構成され得る。I/Oインターフェース114は、任意の標準および/またはプロプライエタリ通信のために構成され得る。I/Oインターフェース114は、IC100上の任意のモジュールに通信可能に結合され得る。いくつかのモジュールはI/Oインターフェース114に直接通信可能に結合され得、他のモジュールは、NoC122のような別のモジュールによってなど、I/Oインターフェース114に間接的に通信可能に結合され得る。図示のように、PS102、PL104、MC1 110、およびMC2 112は、(たとえば、システム相互接続120が介入することなしに)I/Oインターフェース114に直接通信可能に結合され、さらに、システム相互接続120はI/Oインターフェース114に通信可能に結合される。さらに、図示のように、I/Oインターフェース114はオフチップメモリ124に通信可能に結合される。オフチップメモリ124は、たとえば、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、または他のメモリであり得るか、またはダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、または他のメモリを含むことができる。オフチップメモリ124は、IC100と同じインターポーザおよび/またはパッケージ基板に取り付けられ得、そのインターポーザおよび/またはパッケージ基板は、たとえば、オフチップメモリ124をIC100に通信可能に結合することができる。追加の構成要素および/または異なる構成要素が、I/Oインターフェース114を使用してIC100に結合され得る。IC100上の様々なモジュールは、I/Oインターフェース114を介して、さらに、場合によってはシステム相互接続120を介して、IC100から様々なオフチップの構成要素に通信可能に結合され得る。
MU116は、IC100の様々な態様を制御するように構成される。MU116は、単独で、または1つまたは複数の他の構成要素と協調して、IC100を初期化し、構成し、IC100の動作をデバッグし、IC100の電源投入を制御し、IC100内の電力管理を制御することができる。MU116による電力管理の追加の詳細について以下で説明する。
システム相互接続120は、IC100のモジュールのうちの様々なモジュールを通信可能に接続することができる。前述のように、システム相互接続120はNoC122を含む。NoC122は、構成可能なスイッチによって相互接続される通信経路を含む。構成可能なスイッチは、通信経路がIC100の異なるモジュールを通信可能に結合するように選択的にプログラムまたは構成されることを可能にする。スイッチが構成またはプログラムされることを可能にすることによって、NoC122は、相互接続のためのPL104中のリソースを必ずしも専用にする必要なしに、および/またはモジュール間の構成可能でない相互接続を必ずしも専用にする必要なしに、たとえば、PL104の構成に基づいて、リソースの効率的な使用を可能にすることができる。NoC122は、NoC122のスイッチを構成するために実装された相互接続をさらに含むことができ、その相互接続はNoC周辺相互接続(NPI)と呼ばれることがある。システム相互接続120は、構成可能でない相互接続をさらに含み得、その相互接続は、ブートシーケンス中の通信、および/または電力管理のための通信を可能にし得る。
IC100の様々なモジュールは異なる電力領域中にある。たとえば、PS102は第1の電力領域202中にある。PL104は第2の電力領域204中にある。MC1 110およびMC2 112は1つまたは複数の第3の電力領域206中にある。I/Oインターフェース114は第4の電力領域208中にあり得、MU116は第5の電力領域210中にあり得る。システム相互接続120は第6の電力領域212中にあり得る。M/Sブロック1 106およびM/Sブロック2 108は、1つまたは複数の追加の電力領域中、または第1の電力領域202、第2の電力領域204、第3の電力領域206、第4の電力領域208、または第5の電力領域210中にあり得る。図示のように、M/Sブロック1 106およびM/Sブロック2 108は第1の電力領域202中にある。図1中の例は、1つの電力領域を共有しているいくつかのブロックまたはモジュール(たとえば、PS102、M/Sブロック1 106およびM/Sブロック2 108が第1の電力領域202を共有し、MC1 110およびMC2 112が第3の電力領域206を共有している)を示すが、各ブロックまたはモジュールは、別個の物理ブロックであり得、たとえば、他のブロックまたはモジュールの電力状態から独立して動作させられる、分離した電力領域中にあり得る。たとえば、MC1 110およびMC2 112の各々は、それぞれMC1 110およびMC2 112専用の物理ブロック中にあり得る。各電力領域は、1つまたは複数の動作電圧(または動作電圧の範囲)を有することができ、他の電力領域から独立し、分離している。
電源200はIC100に電気的に結合される。電源200は、IC100上の各電力領域のための動作電圧を与える。電源200は、IC100と同じ基板および/またはボードに取り付けられ得、たとえば、基板および/またはボードを介してIC100に電気的に結合され得る。電源200は、第1の電力領域202のための第1の電圧V0、第2の電力領域204のための第2の電圧V1、第3の電力領域206のための第3の電圧V2、第4の電力領域208のための第4の電圧V3、第5の電力領域210のための第5の電圧V4、第6の電力領域212のための第6の電圧V5を与える。動作電圧V0、V1、V2、V3、V4、およびV5のいずれかは、他の動作電圧V0、V1、V2、V3、V4、およびV5のいずれかと同じであり得るか、または異なり得る。
MU116は、IC100のマスタモジュールとともに、標準仕様または専有実装形態に基づいて電力管理フレームワークを実現することができる。いくつかの例では、MU116およびマスタモジュールは、組込みエネルギー管理API仕様(UG1200)に基づいて電力管理フレームワークを実現する。
PS102内の1つまたは複数の処理ユニット(PU)のような、PS102の構成要素など、マスタモジュール内の構成要素は、電力モードを自己開始することができ、および/またはMU116によって電力モードのうちの所与の1つに入るように制御され得る。たとえば、PS102内のPUが、所定の時間期間の間、非アクティブである場合、PUは、電源切断または中断モードに入ることを要求するメッセージをMU116に送ることができる。MU116がメッセージに肯定応答すると、PUは電源切断または中断モードに入る。MU116は、次いでPUを起動させることができる。
MC1 110およびMC2 112など、スレーブモジュールは、MU116のみによって、および/またはマスタモジュールとともに電力モードになるように制御され得る。たとえば、MU116は、マスタモジュールがスレーブモジュールのリソースを要求するまで、スレーブモジュールを電源オフモードに維持することができる。MU116は、次いで、マスタモジュールがスレーブモジュールのリソースにアクセスすることを可能にするために、スレーブモジュールを電力投入することができる。マスタモジュールがスレーブモジュールのリソースにアクセスすることを完了すると、MU116はスレーブモジュールに電源オフさせることができる。
MU116はまた、様々な電力領域内の構成要素のパワーゲーティングを制御することができる。たとえば、MU116は、PS102のPU、M/Sブロック1 106、および/またはM/Sブロック2 108、PUに関連するメモリブロック、PL104の構成可能な論理ブロックなどへのパワーゲートを制御するための信号を生成することができる論理を、そのような構成要素の用途またはインスタンス化に応じて、ソフトウェアおよび/またはハードウェアなどで実現することができる。PL104のいくつかの構成可能な論理ブロックがインスタンス化されない場合、たとえば、漏れを低減し、それによって電力消費を低減するために、それらの論理ブロックへの電力を排除するために、それらの論理ブロックへのパワーゲートは開放され得る。
MC1 110およびMC2 112の各々がIC100の別個の物理ブロックであり(たとえば、各々がマスタモジュール中に含まれず、または配設されず、またはマスタモジュールの一部でない)、IC100の各マスタモジュールの電力領域から分離し、独立した電力領域中にある状態で、MC1 110およびMC2 112は各マスタモジュールから独立して電力モードで動作させられ得、MC1 110またはMC2 112を使用するマスタモジュール間の依存性はなくされ得る。たとえば、PL104が、メモリから読み取るか、またはメモリに書き込むためにMC1 110を使用し、PS102が節電モード(たとえば、電源切断またはオフ)にある場合、PL104は、PS102が電源投入されることなしにメモリから読み取る、またはメモリに書き込むためにMC1 110を使用することができる。IC100中の各マスタブロックまたはモジュール(たとえば、PS102、PL104、M/Sブロック1 106、およびM/Sブロック2 108)は、マスタブロック間またはモジュール間の依存性なしにMC1 110およびMC2 112の一方または両方を共有することができる。本明細書で説明するプログラマブルNoC122を実装する例では、NoC122はまた、マスタモジュールとMCとの間、およびMCとメモリ(オフチップであり得る)との間など、通信がNoC122を通って送信されるように電源投入され、アクティブであり得る。
図1は、たとえば、プログラマブル論理および/またはプログラマブル相互接続を含む、プログラマブルICのコンテキストにおける例示的な実装形態である。他の実装形態は、非プログラマブルASICなど、非プログラマブルICのコンテキストにあり得る。いくつかの実施形態は、たとえば、マスタモジュールの他の電力領域から分離し、独立している電力領域中のメモリコントローラを含む、SoCなど、任意のICにわたる。
図2は、本開示のいくつかの例による、IC中の電力管理およびメモリアクセスのためのフローチャートである。ICは、プロセッサシステム、プログラマブル論理、アクセラレータ、または別のモジュールなど、複数のマスタモジュールを有する。ICはさらに、マスタモジュールがオンチップであるかまたは別個のIC上にあり得るメモリにアクセスするために使用し得る、メモリコントローラを有する。マスタモジュールはIC上の1つまたは複数の電力領域中にあり(いくつかの事例では、各マスタモジュールが他のマスタモジュールの他の領域から分離した専用の電力領域中にあり)、メモリコントローラは、マスタモジュールが配設された1つまたは複数の電力領域から分離し、独立した、IC上の電力領域中にある。メモリコントローラは、マスタモジュール中に含まれないか、または配設されない。たとえば、メモリコントローラは、メモリコントローラ専用の物理ブロック中にあり得る。マスタモジュールの電力モードは、管理ユニットがマスタモジュールと協調することなどによって制御され得る。各マスタモジュールは、それぞれのマスタモジュールがマスタモジュールの制御に基づいて選択的に入れられ得る、中断モード、電源切断モード、アクティブモード、電源投入など、異なる電力モードを有することができる。
ブロック302において、ICの各マスタモジュールは選択的に電力モードに入れられる。ブロック304において、メモリにアクセスする少なくとも1つのマスタモジュールの電力領域から分離した電力領域中の他のマスタモジュールの各々の電力モードとは無関係に、ICのメモリコントローラを介して、マスタモジュールのうちの少なくとも1つによって、メモリがアクセスされる。メモリコントローラは、たとえば、マスタモジュールの電力領域から分離し、独立している電力領域中にあるので、他のマスタモジュールが不活性モードまたは電源切断モードにある場合、マスタモジュールは、(メモリにアクセスするマスタモジュールの電力領域とは異なる電力領域中にある)別のマスタモジュールをアクティブモードまたは電源投入モードに入れることなしに、メモリコントローラによってメモリにアクセスすることができる。メモリコントローラの電力領域中になく、メモリにアクセスするマスタモジュールの電力領域中にないマスタモジュールの各々は、メモリアクセスにかかわらず、それのそれぞれの電力モードにとどまり得る。
図2のフローチャートを実現するための例示的なICが図1に示されており、上記で説明した。他のICも、図2のフローチャートを実現し得、図1を参照ながらまたは図2を参照しながら上記で説明したよりも少ない、多い、および/または異なるモジュールおよび/または電力領域を有し得る。
図3は、本開示のいくつかの例による、NoC122を示すブロック図である。NoC122は、NoCマスタユニット(NMU)402と、NoCスレーブユニット(NSU)404と、ネットワーク414と、NoC周辺相互接続(NPI)410と、レジスタ(Reg)412とを含む。各NMU402は、マスタエンドポイント回路をNoC122に接続する進入回路である。各マスタエンドポイント回路はマスタモジュール中にある。各NSU404は、NoC122をスレーブエンドポイント回路に接続する退出回路である。各スレーブエンドポイント回路はスレーブモジュールまたはマスタモジュール中にあり得る。マスタモジュールは、スレーブモジュールなど、別のモジュールの動作を命令または制御することが可能であるか、またはそのように構成される。いくつかの状況下で、マスタモジュールは、それの動作を別のマスタモジュールによって命令または制御され得(たとえば、スレーブになり得る)、したがって、マスタモジュールは、マスタエンドポイント回路のみ、またはマスタエンドポイント回路とスレーブエンドポイント回路との組合せを含み得る。スレーブモジュールはスレーブエンドポイント回路を有する。
NMU402はネットワーク414によってNSU404に接続される。一例では、ネットワーク414は、NoCパケット交換機406と、NoCパケット交換機406間のルーティング408とを含む。各NoCパケット交換機406はNoCパケットのスイッチングを実行する。NoCパケット交換機406は、複数の物理チャネルを実現するために、ルーティング408を介して、互いにおよびNMU402とNSU404とに接続される。NoCパケット交換機406はまた、物理チャネルごとに複数の仮想チャネルをサポートする。
NPI410は、NMU402とNSU404とNoCパケット交換機406とをプログラムするための回路を含む。たとえば、NMU402、NSU404、およびNoCパケット交換機406は、それらの機能を決定するレジスタ412を含むことができる。たとえば、レジスタ412は、NoCパケット交換機406のスイッチング機能を命令するための1つまたは複数のルーティングテーブルを実現することができる。NPI410は、機能を設定するために、それのプログラミングのためにレジスタ412に結合された相互接続を含む。NoC122のための構成データは、メモリ(たとえば、ローカルメモリおよび/またはオフチップメモリ)に記憶され得、NoC122をプログラムするためにNPI410に与えられ得る。
NoC122は、その中のデータフローを制御するためのエンドツーエンドサービス品質(QoS)特徴を含む。例では、NoC122は、最初に、データフローを指定されたトラフィッククラスに分離する。同じトラフィッククラス中のデータフローは、独立した仮想伝送路または物理伝送路を共有するか、または有するかのいずれかが可能である。QoS方式は、トラフィッククラスにわたって優先度の2つのレベルを適用する。トラフィッククラス内およびトラフィッククラスにわたって、NoC122は、トラフィックフローを成形し、ユーザ要件を満たす帯域幅およびレイテンシを与えるために重み付けされたアービトレーション方式を適用する。
図4は、本開示のいくつかの例による、NoC122を介したエンドポイント回路間の接続を示すブロック図である。例では、エンドポイント回路502は、NoC122を介してエンドポイント回路504に接続される。エンドポイント回路502は、NoC122のNMU402に結合されたマスタ回路である。エンドポイント回路504は、NoC122のNSU404に結合されたスレーブ回路である。各エンドポイント回路502および504は、たとえば、PS102中の回路またはPL104中の回路であり得、PS102およびPL104のうちの1つは、適切な状況下で、スレーブになるであろう、他に対するマスタになり得る。PL104中の各エンドポイント回路は、専用回路(たとえば、強化回路)、またはプログラマブル論理において構成される回路であり得る。
ネットワーク414は複数の物理チャネル506を含む。物理チャネル506は、NoC122をプログラムすることによって実現される。各物理チャネル506は、1つまたは複数のNoCパケット交換機406と、関連するルーティング408とを含む。NMU402は、少なくとも1つの物理チャネル506を介してNSU404と接続する。物理チャネル506はまた、1つまたは複数の仮想チャネル508を有し得る。
いくつかの例では、MC1 110およびMC2 112はそれぞれ、複数のエンドポイント回路、たとえば、4つのポートなど、ポートを含む。MC1 110およびMC2 112のエンドポイント回路の各々は、それぞれのNSU404と接続し、したがって、MC1 110およびMC2 112の各々は、複数の、たとえば4つのNSU404に接続する。図5は、各MC1 110およびMC2 112が、4つのポートを実現するために4つのNSU404に接続されたエンドポイント回路を含む例を示す。各NSU404はNoC122のルーティング408に接続され、NoC122は、様々なNSU404をマスタモジュールに通信可能に結合するために様々なNoCパケット交換機406に接続される。複数のNSU404を介してNoC122に接続されることによって、送信元から宛先までのルーティングにおけるフレキシビリティおよび負荷分散が与えられ、達成され得る。
さらに、いくつかの例では、MC1 110およびMC2 112はそれぞれ、NoC122について上記で説明したように、別個の仮想チャネルにおける2つのトラフィッククラスをサポートする。これは、異なるトラフィッククラスが、干渉なしにMC1 110またはMC2 112の物理NoCチャネルおよびポートを共有することを可能にする。さらに、複数のエンドポイント回路、たとえば、MC1 110およびMC2 112のポートは、QoSの改善のために異なるトラフィッククラスの物理的分離を可能にする。
いくつかの実装形態では、1つまたは複数のメモリコントローラがIC(たとえば、SoC)上に存在し得る。各メモリコントローラは別個のメモリチャネルを実現することができる。いくつかの例では、マスタモジュールをそれぞれのメモリコントローラに通信可能に結合するようにNoC122を構成することによって、各メモリコントローラへのアクセスがマスタモジュールに対して透過的になり得る。これは帯域幅およびストレージ量におけるスケーラビリティを可能にすることができる。マスタモジュールに対して透過的であるメモリコントローラを追加することによって、帯域幅およびレイテンシなど、同等のパフォーマンスをもつ、複数のメモリチャネルが実現され得る。
複数のメモリチャネルの各々は別個の連続アドレス範囲を占有することができるか、または複数のメモリチャネルは、単一の連続アドレス空間を与えるためにインターリーブされ得る。いくつかの例では、たとえば、4つのメモリチャネルが2つのペアを有して実現され、各ペアは別個のアドレス範囲を占有するが、アドレスは各ペア内でインターリーブされる、混合方式が実現され得る。実現される方式は、NoCルーティングテーブルを介してプログラム可能であり得、マスタモジュールに対して透過的であり得る。MC1 110およびMC2 112は、チャネル選択ビットとして使用され得るアドレスビットを無視することによってチャネルインターリービングをサポートすることができる。
チャネルインターリービングは、たとえば、所与のアプリケーションのための帯域幅またはストレージ量が単一のチャネルの容量を超え、ユーザが複数のチャネルにわたるリソースの割振りを直接管理することを望まないときに有用であり得る。チャネルインターリービングは、ユーザ介入なしに複数のチャネルにわたる自動負荷分散を与えることができる。
別個のメモリチャネル上に別個の連続アドレス範囲を有することは、ユーザがタスク間の明示的な分離を望むときに有用であり得る。たとえば、1つのチャネルは、ビデオデータなど、時間敏感またはリアルタイムデータフローのために使用され得、別のチャネルは汎用処理のために使用され得る。
本開示の例は、一般に、メモリサブシステムを含むシステムオンチップ(SoC)など、集積回路に関する。様々な例が、集積回路のマスタ回路から独立してメモリコントローラを動作させることを可能にすることができ、スケーラブルで統一されたメモリサブシステムを可能にすることができる。
一例では、集積回路は、チップ上の第1の電力領域中の第1のマスタ回路と、チップ上の第2の電力領域中の第2のマスタ回路と、チップ上の第3の電力領域中の第1のメモリコントローラとを含み得、第1のマスタ回路および第2のマスタ回路はそれぞれ、第1のメモリコントローラを介してメモリにアクセスするように構成され、第1の電力領域および第2の電力領域はそれぞれ、第3の電力領域から分離し、独立している。
いくつかのそのような集積回路では、第1の電力領域は第2の電力領域から分離し、独立し得る。
いくつかのそのような集積回路では、第1のメモリコントローラはマスタ回路中に含まれないことがある。
いくつかのそのような集積回路では、第1のメモリコントローラは、第1のメモリコントローラに専用の物理ブロック中にあり得る。
そのような集積回路は、チップ上の構成可能な相互接続ネットワークをさらに含み得、第1のマスタ回路および第2のマスタ回路はそれぞれ、第1のメモリコントローラと構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成される。
いくつかのそのような集積回路は、チップ上の第4の電力領域中の第2のメモリコントローラをさらに含み得、第1のマスタ回路および第2のマスタ回路はそれぞれ、第2のメモリコントローラと構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成され、第1の電力領域および第2の電力領域はそれぞれ、第4の電力領域から分離し、独立している。
いくつかのそのような集積回路では、第1のメモリコントローラはメモリの第1のアドレス範囲にアクセスし得、第2のメモリコントローラはメモリの第2のアドレス範囲にアクセスし、第1のアドレス範囲は第2のアドレス範囲とは異なり得る。
いくつかのそのような集積回路では、第1のメモリコントローラおよび第2のメモリコントローラは、メモリへのアクセスをインターリーブするように構成され得る。
いくつかのそのような集積回路では、第1のメモリコントローラは、構成可能な相互接続ネットワークに接続された複数のポートを含み得る。
いくつかのそのような集積回路では、第1のメモリコントローラは、構成可能な相互接続ネットワークの物理チャネルそれぞれの仮想チャネルを介して複数のトラフィッククラスを処理することを可能にするように構成され得る。
本開示の別の例は、集積回路を動作させる方法である。そのような方法は、集積回路の複数のマスタ回路の各々を複数の電力モードのうちの1つに選択的に入れることと、複数のマスタ回路のうちの少なくとも1つによって、複数のマスタ回路の他のマスタ回路の各々の複数の電力モードのうちの選択された電力モードと無関係に、集積回路の第1のメモリコントローラを介してメモリにアクセスすることとを含み得、第1のメモリコントローラは、複数のマスタ回路の各それぞれの電力領域から分離した電力領域中にあり得る。
いくつかのそのような方法では、第1のメモリコントローラがマスタ回路中に含まれないことがある。
いくつかのそのような方法では、第1のメモリコントローラを介して複数のマスタ回路のうちの少なくとも1つによってメモリにアクセスすることは、集積回路の構成可能な相互接続ネットワークを介して複数のマスタ回路のうちの少なくとも1つと第1のメモリコントローラとの間を通信することを含む。
いくつかのそのような方法は、集積回路の第2のメモリコントローラと構成可能な相互接続ネットワークとを介して、複数のマスタ回路のうちの少なくとも1つによってメモリにアクセスすることをさらに含み得、第2のメモリコントローラは、複数のマスタ回路の各それぞれの電力領域から分離した電力領域中にあり得る。
そのような方法では、構成可能な相互接続ネットワークを介して、複数のマスタ回路のうちの少なくとも1つと第1のメモリコントローラとの間で通信することは、構成可能な相互接続ネットワークの物理チャネルの複数の仮想チャネルのうちの少なくとも1つを介して複数のマスタ回路のうちの少なくとも1つと第1のメモリコントローラとの間で通信することを含む。
本開示のまた別の例は集積回路である。そのような集積回路は、チップ上の処理システムと、チップ上のプログラマブル論理と、チップ上の構成可能な相互接続ネットワークと、チップ上の第1のメモリコントローラと、チップ上の管理ユニットとを含み得、処理システムおよびプログラマブル論理はそれぞれ、構成可能な相互接続ネットワークを介して第1のメモリコントローラに通信可能に結合され、処理システムおよびプログラマブル論理はそれぞれ、第1のメモリコントローラと構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成され、管理ユニットは、第1のメモリコントローラの動作から独立して、処理システムおよびプログラマブル論理のそれぞれの電力モードを制御することが可能である。
そのような集積回路では、処理システムは第1の電力領域中にあり得、プログラマブル論理は、第1の電力領域から分離し、独立した第2の電力領域中にあり得、第1のメモリコントローラは、第1の電力領域および第2の電力領域の各々から分離し、独立した第3の電力領域中にあり得る。
そのような集積回路は、チップ上の第2のメモリコントローラをさらに含み得、処理システムおよびプログラマブル論理はそれぞれ、構成可能な相互接続ネットワークを介して第2のメモリコントローラに通信可能に結合され、処理システムおよびプログラマブル論理はそれぞれ、第2のメモリコントローラと構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成され、管理ユニットは、第2のメモリコントローラの動作から独立して、処理システムおよびプログラマブル論理のそれぞれの電力モードを制御することが可能である。
いくつかのそのような集積回路では、第1のメモリコントローラは、構成可能な相互接続ネットワークに接続された複数のポートを含み得る。
いくつかのそのような集積回路では、構成可能な相互接続ネットワークは、物理チャネル上に複数の仮想チャネルを実現するように動作可能であり得、第1のメモリコントローラは、複数の仮想チャネルのそれぞれを介して複数のトラフィッククラスを処理することを可能にするように構成され得る。
上記は特定の例を対象とするが、他のおよびさらなる例が、それの基本的範囲から逸脱することなく考案され得、それの範囲は以下の特許請求の範囲によって決定される。

Claims (13)

  1. チップ上の第1の電力領域中の第1のマスタ回路と、
    前記チップ上の第2の電力領域中の第2のマスタ回路と、
    前記チップ上の第3の電力領域中の構成可能な相互接続ネットワークと、
    前記チップ上の第4の電力領域中の第1のメモリコントローラと
    を備える集積回路であって、前記第1のマスタ回路および前記第2のマスタ回路が、それぞれ前記第1のメモリコントローラと前記構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成され、前記第1の電力領域、前記第2の電力領域、および前記第3の電力領域がそれぞれ前記第4の電力領域から分離し、独立しており、
    前記チップ上の第5の電力領域中の第2のメモリコントローラをさらに備え、前記第1のマスタ回路および前記第2のマスタ回路が、それぞれ前記第2のメモリコントローラと前記構成可能な相互接続ネットワークとを介して前記メモリにアクセスするように構成され、前記第1の電力領域および前記第2の電力領域がそれぞれ前記第5の電力領域から分離し、独立している、集積回路。
  2. 前記第1の電力領域が前記第2の電力領域から分離し、独立している、請求項1に記載の集積回路。
  3. 前記第1のメモリコントローラがマスタ回路中に含まれない、請求項1または2に記載の集積回路。
  4. 前記第1のメモリコントローラが、前記第1のメモリコントローラに専用の物理ブロック中にある、請求項1から3のいずれか一項に記載の集積回路。
  5. 前記第1のメモリコントローラが前記メモリの第1のアドレス範囲にアクセスし、
    前記第2のメモリコントローラが前記メモリの第2のアドレス範囲にアクセスし、
    前記第1のアドレス範囲が前記第2のアドレス範囲とは異なる、請求項に記載の集積回路。
  6. 前記第1のメモリコントローラおよび前記第2のメモリコントローラが、前記メモリへのアクセスをインターリーブするように構成された、請求項5に記載の集積回路。
  7. 前記第1のメモリコントローラが、前記構成可能な相互接続ネットワークに接続された複数のポートを含む、請求項1からのいずれか一項に記載の集積回路。
  8. 前記第1のメモリコントローラが、前記構成可能な相互接続ネットワークの物理チャネルのそれぞれの仮想チャネルを介して複数のトラフィッククラスを処理することを可能にするように構成された、請求項1からのいずれか一項に記載の集積回路。
  9. 集積回路を動作させる方法であって、前記方法は、
    前記集積回路の複数のマスタ回路の各々を複数の電力モードのうちの1つに選択的に入れることと、
    前記複数のマスタ回路のうちの少なくとも1つによって、前記複数のマスタ回路の他のマスタ回路の各々の前記複数の電力モードのうちの前記選択された電力モードと無関係に、前記集積回路の第1のメモリコントローラと、前記集積回路の構成可能な相互接続ネットワークとを介してメモリにアクセスすることと
    前記集積回路の第2のメモリコントローラと前記構成可能な相互接続ネットワークとを介して前記複数のマスタ回路のうちの少なくとも1つによってメモリにアクセスすることと
    を含み、前記複数のマスタ回路の各マスタ回路が、前記第1のメモリコントローラと前記構成可能な相互接続ネットワークとを介して前記メモリにアクセスするように構成され、前記第1のメモリコントローラが、前記複数のマスタ回路および前記構成可能な相互接続ネットワークの各電力領域から分離した電力領域中にあり、前記第2のメモリコントローラが、前記複数のマスタ回路および前記構成可能な相互接続ネットワークの各電力領域から分離した電力領域中にある、集積回路を動作させる方法。
  10. 前記第1のメモリコントローラがマスタ回路中に含まれない、請求項に記載の方法。
  11. 前記構成可能な相互接続ネットワークを介して前記複数のマスタ回路のうちの前記少なくとも1つによって前記メモリにアクセスすることが、前記構成可能な相互接続ネットワークの物理チャネルの複数の仮想チャネルのうちの少なくとも1つを介して前記複数のマスタ回路のうちの前記少なくとも1つと前記第1のメモリコントローラとの間で通信することを含む、請求項9または10に記載の方法。
  12. チップ上のプログラマブル論理領域と、
    前記チップ上の処理システムと、
    前記チップ上の構成可能な相互接続ネットワークと、
    前記チップ上の第1のメモリコントローラと
    前記チップ上の第2のメモリコントローラと
    を備える集積回路であって、前記プログラマブル論理領域および前記処理システムが、それぞれ前記第1のメモリコントローラと前記構成可能な相互接続ネットワークとを介してメモリにアクセスするように構成され、前記第1のメモリコントローラが配設された電力領域が、前記プログラマブル論理領域、前記処理システム、および前記構成可能な相互接続ネットワークのいずれかが配設された各電力領域から分離し、独立しており、
    前記プログラマブル論理領域および前記処理システムが、それぞれ前記第2のメモリコントローラと前記構成可能な相互接続ネットワークとを介して前記メモリにアクセスするように構成され、前記第2のメモリコントローラが配設された電力領域が、前記プログラマブル論理領域、前記処理システム、および前記構成可能な相互接続ネットワークのいずれかが配設された各電力領域から分離し、独立しており、
    前記第1のメモリコントローラがマスタ回路中に含まれず、前記第1のメモリコントローラが、前記第1のメモリコントローラに専用の物理ブロック中にある、集積回路。
  13. チップ上に配設された第1のメモリコントローラと、
    前記チップ上のマスタ回路と
    を備える集積回路であって、
    前記マスタ回路の各マスタ回路が、前記第1のメモリコントローラを介してメモリにアクセスするように構成され、
    前記マスタ回路の第1のマスタ回路が、前記マスタ回路の第2のマスタ回路が配設された電力領域から分離し、独立している電力領域中に配設され、
    前記第1のマスタ回路および前記第2のマスタ回路が、前記第1のメモリコントローラと構成可能な相互接続ネットワークとを介して前記メモリにアクセスするように構成され、前記第1のメモリコントローラ、前記構成可能な相互接続ネットワーク、前記第1のマスタ回路および前記第2のマスタ回路が、分離し、独立している電力領域中にあり、
    前記第1のマスタ回路および前記第2のマスタ回路が、第2のメモリコントローラと前記構成可能な相互接続ネットワークとを介して前記メモリにアクセスするように構成され、前記第2のメモリコントローラ、前記構成可能な相互接続ネットワーク、前記第1のマスタ回路および前記第2のマスタ回路が、分離し、独立している電力領域中にあり、
    前記第1のメモリコントローラがマスタ回路中に含まれず、前記第1のメモリコントローラが、前記第1のメモリコントローラに専用の物理ブロック中にある、集積回路。
JP2020543222A 2018-02-15 2019-02-13 システムオンチップのためのメモリサブシステム Active JP7344885B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/898,183 2018-02-15
US15/898,183 US11709624B2 (en) 2018-02-15 2018-02-15 System-on-chip having multiple circuits and memory controller in separate and independent power domains
PCT/US2019/017896 WO2019160988A1 (en) 2018-02-15 2019-02-13 Memory subsystem for system-on-chip

Publications (2)

Publication Number Publication Date
JP2021514079A JP2021514079A (ja) 2021-06-03
JP7344885B2 true JP7344885B2 (ja) 2023-09-14

Family

ID=65529872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020543222A Active JP7344885B2 (ja) 2018-02-15 2019-02-13 システムオンチップのためのメモリサブシステム

Country Status (6)

Country Link
US (2) US11709624B2 (ja)
EP (1) EP3752895A1 (ja)
JP (1) JP7344885B2 (ja)
KR (1) KR20200121301A (ja)
CN (2) CN118034482A (ja)
WO (1) WO2019160988A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10955905B2 (en) * 2018-04-11 2021-03-23 North Sea Investment Company Ltd. Apparatus for true power shedding via switchable electrical connections
US11561597B2 (en) 2020-12-02 2023-01-24 Micron Technology, Inc. Memory device power management
US11429292B2 (en) 2020-12-02 2022-08-30 Micron Technology, Inc. Power management for a memory device
US12001288B2 (en) 2021-09-24 2024-06-04 Qualcomm Incorporated Devices and methods for safe mode of operation in event of memory channel misbehavior
KR102671340B1 (ko) * 2023-01-02 2024-05-31 주식회사 잇다반도체 시스템 온 칩 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187552A (ja) 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
JP2012074042A (ja) 2010-09-16 2012-04-12 Apple Inc トラフィッククラスと関連するポートをもつマルチポートのメモリコントローラ
US20130073878A1 (en) 2011-09-19 2013-03-21 Sonics, Inc. Apparatus and methods for an interconnect power manager
JP2016509261A (ja) 2013-02-21 2016-03-24 アップル インコーポレイテッド アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器
WO2017105727A1 (en) 2015-12-15 2017-06-22 Xilinx, Inc. Hardware power-on initialization of an soc through a dedicated processor
JP2017517810A (ja) 2014-06-30 2017-06-29 インテル・コーポレーション スケーラブルなgpuにおけるデータ配信ファブリック

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020163B2 (en) 2003-06-02 2011-09-13 Interuniversitair Microelektronica Centrum (Imec) Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
US7185309B1 (en) 2004-01-30 2007-02-27 Xilinx, Inc. Method and apparatus for application-specific programmable memory architecture and interconnection network on a chip
US7650248B1 (en) 2006-02-10 2010-01-19 Xilinx, Inc. Integrated circuit for in-system signal monitoring
US7831801B1 (en) 2006-08-30 2010-11-09 Xilinx, Inc. Direct memory access-based multi-processor array
US20080320255A1 (en) * 2007-06-25 2008-12-25 Sonics, Inc. Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets
US8171323B2 (en) * 2008-07-01 2012-05-01 Broadcom Corporation Integrated circuit with modular dynamic power optimization architecture
US8612789B2 (en) 2011-01-13 2013-12-17 Xilinx, Inc. Power management within an integrated circuit
US8667192B2 (en) 2011-02-28 2014-03-04 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
US9423858B2 (en) * 2012-09-27 2016-08-23 Intel Corporation Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain
US9395784B2 (en) 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9495302B2 (en) * 2014-08-18 2016-11-15 Xilinx, Inc. Virtualization of memory for programmable logic
US10016199B2 (en) * 2014-09-05 2018-07-10 Ethicon Llc Polarity of hall magnet to identify cartridge type

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187552A (ja) 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
JP2012074042A (ja) 2010-09-16 2012-04-12 Apple Inc トラフィッククラスと関連するポートをもつマルチポートのメモリコントローラ
US20130073878A1 (en) 2011-09-19 2013-03-21 Sonics, Inc. Apparatus and methods for an interconnect power manager
JP2016509261A (ja) 2013-02-21 2016-03-24 アップル インコーポレイテッド アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器
JP2017517810A (ja) 2014-06-30 2017-06-29 インテル・コーポレーション スケーラブルなgpuにおけるデータ配信ファブリック
WO2017105727A1 (en) 2015-12-15 2017-06-22 Xilinx, Inc. Hardware power-on initialization of an soc through a dedicated processor

Also Published As

Publication number Publication date
CN111684392B (zh) 2024-04-02
JP2021514079A (ja) 2021-06-03
CN111684392A (zh) 2020-09-18
EP3752895A1 (en) 2020-12-23
WO2019160988A1 (en) 2019-08-22
US20230376248A1 (en) 2023-11-23
CN118034482A (zh) 2024-05-14
US11709624B2 (en) 2023-07-25
KR20200121301A (ko) 2020-10-23
US20190250853A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
JP7344885B2 (ja) システムオンチップのためのメモリサブシステム
US10673440B1 (en) Unified programmable computational memory and configuration network
US8356138B1 (en) Methods for implementing programmable memory controller for distributed DRAM system-in-package (SiP)
US10505548B1 (en) Multi-chip structure having configurable network-on-chip
US6772230B2 (en) Field programmable gate array (FPGA) bit stream format
US6803785B1 (en) I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US20210303509A1 (en) Configurable network-on-chip for a programmable device
US8467218B1 (en) System and apparatus with IC resource interconnect
JP2023078246A (ja) 集積回路パッケージへのプログラマブルデバイスおよび処理システムの集積
US20190238453A1 (en) End-to-end quality-of-service in a network-on-chip
US11182110B1 (en) On-chip memory block circuit
US20200264901A1 (en) Configuring programmable logic region via programmable network
US20240176758A1 (en) Multi-use chip-to-chip interface
US11960734B2 (en) Logic fabric based on microsector infrastructure with data register having scan registers
US11323391B1 (en) Multi-port stream switch for stream interconnect network
CN110765066A (zh) 一种片上系统
US11189338B1 (en) Multi-rank high bandwidth memory (HBM) memory
US10929331B1 (en) Layered boundary interconnect
JP2022054412A (ja) マイクロセクタインフラストラクチャに基づくロジックファブリック
US20240241650A1 (en) Logic fabric based on microsector infrastructure with data register having scan registers
US10936486B1 (en) Address interleave support in a programmable device
US20240211138A1 (en) Localized and relocatable software placement and noc-based access to memory controllers
US20220244867A1 (en) Fabric Memory Network-On-Chip Extension to ALM Registers and LUTRAM
JP2004326543A (ja) コンピュータシステム及びメモリの接続方法

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20201012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7344885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150