CN111684392B - 用于片上系统的存储器子系统 - Google Patents
用于片上系统的存储器子系统 Download PDFInfo
- Publication number
- CN111684392B CN111684392B CN201980010418.1A CN201980010418A CN111684392B CN 111684392 B CN111684392 B CN 111684392B CN 201980010418 A CN201980010418 A CN 201980010418A CN 111684392 B CN111684392 B CN 111684392B
- Authority
- CN
- China
- Prior art keywords
- memory controller
- memory
- chip
- power
- power domain
- 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
Links
- 238000012545 processing Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 208000000143 urethritis Diseases 0.000 description 4
- 239000000758 substrate Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
Abstract
本公开的示例一般地涉及包括存储器子系统的集成电路,诸如片上系统(SoC)。在一些示例中,集成电路(100)包括:在芯片上的第一功率域(202)中的第一主电路(102);在芯片上的第二功率域(204)中的第二主电路(104);以及在芯片上的第三功率域(206)中的第一存储器控制器(110)。第一主电路(102)和第二主电路(104)均被配置成经由第一存储器控制器(110)访问存储器(124)。第一功率域(202)和第二功率域(204)均与第三功率域(206)分离并且独立。
Description
技术领域
本公开的示例总体上涉及片上系统(SoC),并且特别地,涉及包括存储器子系统的SoC,其中存储器子系统包括一个或多个存储器控制器。
背景技术
集成电路技术的进步使得将整个系统(诸如,包括处理器核、存储器控制器和总线)嵌入单个半导体芯片成为可能。这种类型的芯片通常被称为片上系统(SoC)。其他SoC可以在其中嵌入针对不同应用的不同组件。与常规的基于处理器的设计相比,SoC提供了许多优势。它是多芯片设计的一种有吸引力的备选,因为将组件集成到单个设备中可以提高总体速度,同时减小尺寸。SoC也是完全定制的芯片(诸如ASIC(专用集成电路))的一种有吸引力的备选,因为ASIC设计往往具有明显更长的开发时间和更大的开发成本。已经开发了一种包括可编程逻辑的可配置SoC(CSoC),以实现可以获得可编程逻辑和SoC两者的优势的可编程半导体芯片。
发明内容
本公开的示例通常涉及包括存储器子系统的集成电路,诸如片上系统(SoC)。各种示例可以允许与集成电路的主电路无关地操作存储器控制器,并且可以允许可扩展的统一的存储器子系统。
本公开的一个示例是一种集成电路。该集成电路包括:在芯片上的第一功率域中的第一主电路;在芯片上的第二功率域中的第二主电路;以及在芯片上的第三功率域中的第一存储器控制器。第一主电路和第二主电路均被配置成经由第一存储器控制器访问存储器。第一功率域和第二功率域均与第三功率域分离并且独立。
本公开的另一个示例是一种操作集成电路的方法。集成电路的多个主电路中的每个主电路选择性地进入多个功率模式中的一个功率模式。经由集成电路的第一存储器控制器,由多个主电路中的至少一个主电路访问存储器,而与多个主电路中的其他主电路的每个主电路的多个功率模式中的所选择的一个模式无关。第一存储器控制器在与多个主电路的每个相应功率域分离的功率域中。
本公开的又一个示例是一种集成电路。该集成电路包括:在芯片上的处理系统;在芯片上的可编程逻辑;在芯片上的可配置互连网络;在芯片上的第一存储器控制器;以及在芯片上的管理单元。处理系统和可编程逻辑均经由可配置互连网络通信地耦合到第一存储器控制器。处理系统和可编程逻辑均被配置成经由第一存储器控制器和可配置互连网络来访问存储器。管理单元能够与第一存储器控制器的操作无关地控制处理系统和可编程逻辑的相应功率模式。
参考以下详细描述,可以理解这些和其他方面。
附图说明
为了可以详细理解上述特征的方式,可以通过参考示例实施方式来进行上面简要概述的更具体的描述,其中一些示例实施方式在附图中图示。然而,应当注意,附图仅图示了示例性实施方式,因此不应当被视为限制其他实施方式的范围。
图1是根据本公开的一些示例的集成电路(IC)的框图。
图2是根据本公开的一些示例的用于IC中的功率管理和存储器访问的流程图。
图3是根据本公开的一些示例的描绘片上网络(NoC)的框图。
图4是根据本公开的一些示例的,描绘端点电路之间通过NoC的连接的框图。
图5是根据本公开的一些示例的IC的一部分的框图,该IC包括存储器控制器,存储器控制器具有连接到NoC的四个端口。
为了便于理解,在可能的地方使用了相同的附图标记来表示图中共有的相同元件。可以预期,一个示例的元件可以被有益地并入在其他示例中。
具体实施方式
本公开的示例提供了包括存储器子系统的集成电路,诸如片上系统(SoC)。通常,在一些示例中,存储器子系统包括在与主模块的功率域分离并且独立的功率域中的一个或多个存储器控制器。因此,由于存储器控制器的操作与主模块中的每个主模块的功率模式独立并且分离,因此每个主模块可以经由存储器控制器访问存储器,而无需考虑其他主模块的功率模式。此外,可以在IC中具有互连结构(诸如,可编程片上网络(NoC))的IC中实施存储器控制器。存储器控制器和互连结构可以提供允许主模块访问存储器的可扩展且统一的方案。
在下文中参考附图描述各种特征。应当注意,附图可以按比例绘制或可以不按比例绘制,并且贯穿附图,相似结构或功能的元件由相似的附图标记表示。应当注意,附图仅旨在促进特征的描述。它们不旨在作为对不同实施例的详尽描述,也不作为对权利要求的范围的限制。另外,说明的示例不必具有所示的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,并且可以在任何其他示例中被实践,即使未如此图示或未如此明确描述。
图1是根据本公开的一些示例的集成电路(IC)100的框图。在一些示例中,IC 100可以是可编程IC,诸如现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)等。在其他示例中,IC 100可以是专用IC(ASIC)或另一IC。IC 100可以是片上系统(SoC),并且可以被实施在单个裸片上。IC 100包括处理系统(PS)102、可编程逻辑(PL)104、主和/或从(M/S)块1 106、M/S块2 108、存储器控制器(MC)1 110、MC 2 112、输入/输出(I/O)接口114、管理单元(MU)116和系统互连120。系统互连120还包括片上网络(NoC)122。这些块和子系统是示例。IC 100可以包括这些块和子系统、附加块和子系统,和/或不同的块和子系统的任何组合。
PS 102可以是或包括一个或多个处理器核。例如,PS 102可以包括多个基于ARM的嵌入式处理器核。PL 104可以包括任何数目的可配置逻辑块(CLB),可以使用PS 102编程或配置可配置逻辑块(CLB)。M/S块1 106和M/S块2 108可以是多个块和子系统中的任何一个。例如,M/S块1 106和M/S块2 108均可以是可编程逻辑、处理系统(诸如,数字信号处理器(DSP)、图形处理器单元(GPU)等)、视频压缩单元(VCU)、加速器、存储器或其他模块和/或子系统。
MC 1 110和MC 2 112是存储器控制器,其被配置成控制主模块(诸如,PS 102、PL104或其他模块)对存储器的访问。在一些示例中,MC 1 110和MC 2 112均可以是双倍数据速率的第四代(DDR4)MC、高带宽存储器的第二代(HBM2)MC或另一个MC。在其他示例中,MC 1110和MC 2 112可以是任何代的技术和/或任何标准或非标准的MC。在特定示例中,MC 1110和MC 2 112均是DDR4 MC。MC 1 110和MC 2 112中的每个可以具有端到端的数据保护,诸如奇偶校验位和/或纠错码的生成和检查、用于指示不可纠正错误的数据中毒支持,和/或错误记录和报告。
I/O接口114可以被配置成允许IC 100与另一芯片外组件之间的通信。I/O接口114可以被配置用于任何标准和/或专有通信。I/O接口114可以通信地耦合到IC 100上的任何模块。一些模块可以直接通信地耦合到I/O接口114,而其他模块可以间接通信地耦合到I/O接口114,诸如通过例如NoC 122的另一模块。如所图示的,PS 102、PL 104、MC 1 110和MC 2112直接通信地耦合到I/O接口114(例如,无需系统互连120介入),并且此外,系统互连120通信地耦合到I/O接口114。此外,如所图示的,I/O接口114通信地耦合到片外存储器124。片外存储器124可以是或包括例如动态随机存取存储器(DRAM)、闪存或其他存储器。例如,片外存储器124可以附接到与IC 100相同的中介层和/或封装衬底,该中介层和/或封装衬底可以将片外存储器124通信地耦合到IC 100。可以使用I/O接口114将附加的和/或不同的组件耦合到IC 100。IC 100上的各个模块,可以经由I/O接口114并且还可能经由系统互连120,而通信地耦合到IC 100的各种片外组件。
MU 116被配置成控制IC 100的各个方面。MU 116可以单独或与一个或多个其他组件协作来启动和配置IC 100、调试IC 100的操作、控制IC 100的上电以及控制IC 100内的功率管理。下面描述由MU 116进行的功率管理的其他细节。
系统互连120可以通信地连接IC 100的模块中的各个模块。如前所述,系统互连120包括NoC 122。NoC 122包括通过可配置开关互连的通信路径。可配置开关允许通信路径被选择性地编程或配置成可通信地耦合IC 100的不同模块。通过允许对开关进行配置或编程,NoC 122可以允许基于例如PL 104的配置来有效使用资源,而无需专用于PL 104中的资源来进行互连和/或无需专用于模块之间的不可配置互连。NoC 122还可以包括被实施成用于配置NoC 122的开关的互连,该互连可以被称为NoC外围互连(NPI)。系统互连120还可以包括不可配置互连,其可以在引导序列期间和/或针对功率管理而使能通信。
IC 100的各个模块在不同的功率域中。例如,PS 102在第一功率域202中。PL 104在第二功率域204中。MC 1 110和MC 2 112在一个或多个第三功率域206中。I/O接口114可以在第四功率域208中,并且MU 116可以在第五功率域210中。系统互连120可以在第六功率域212中。M/S块1 106和M/S块2 108可以在一个或多个附加功率域中或在第一、第二、第三、第四或第五功率域202、204、206、208或210中。如所图示的,M/S块1 106和M/S块2 108在第一功率域202中。尽管图1中的示例将一些块或模块图示为共享功率域(例如,PS 102、M/S块1 106和M/S块2 108共享第一功率域202,并且MC 1 110和MC 2 112共享第三功率域206),但是每个块或模块可以是分离的物理块,并且可以在分离的功率域中,例如,与其他块或模块的功率状态无关地操作。例如,MC 1 110和MC 2 112中的每个可以分别在专用于MC 1110和MC 2 112的物理块中。每个功率域可以具有一个或多个操作电压(或操作电压范围),并且与其他功率域独立并且分离。
电源200电耦合到IC 100。电源200为IC 100上的每个功率域提供操作电压。电源200可以附接到与IC 100相同的衬底和/或板上,并且例如可以通过衬底和/或板电耦合到IC 100。电源200提供用于第一功率域202的第一电压V0、用于第二功率域204的第二电压V1、用于第三功率域206的第三电压V2、用于第四功率域208的第四电压V3、用于第五功率域210的第五电压V4、用于第六功率域212的第六电压V5。操作电压V0、V1、V2、V3、V4和V5中的任何一个可以与其他操作电压V0、V1、V2、V3、V4和V5中的任何一个相同或不同。
MU 116与IC 100的主模块一起可以基于标准规范或专有实施方式来实施功率管理框架。在一些示例中,MU 116和主模块基于嵌入式能源管理API规范(UG1200)来实施功率管理框架。
主模块内的组件(诸如PS 102的组件,例如PS 102内的一个或多个处理单元(PU))可以自我启动功率模式和/或可以由MU 116控制以处于功率模式中的给定的一个功率模式。例如,如果PS 102内的PU针对预先确定的时间段不活动,则PU可以将消息发送到MU116,以请求进入断电或挂起模式。在MU 116确认消息之后,PU进入断电或挂起模式。然后,MU116能够唤醒PU。
可以由MU 116单独和/或与主模块结合地将从模块(诸如,MC 1110和MC 2 112)控制成处于功率模式。例如,MU 116可以将从模块维持在断电模式,直到主模块请求从模块的资源。然后,MU 116可以使从模块上电,以允许主模块访问从模块的资源。当主模块完成访问从模块的资源时,MU 116可以使从模块断电。
MU 116也可以控制各个功率域内的组件的功率门控。例如,MU116可以诸如以软件和/或硬件实施逻辑,该逻辑可以生成信号以控制到PS 102的PU、M/S块1 106和/或M/S块2108;与PU相关联的存储器块;PL 104的可配置逻辑块等等的功率门,这取决于这种组件的使用或实例化。例如,如果PL 104的一些可配置逻辑块未被实例化,则可以打开到这些逻辑块的功率门,以去除到这些逻辑块的功率,以减少泄漏并且从而降低功耗。
在MC 1 110和MC 2 112中的每个是IC 100的分离物理块(例如,均未被包括或布置在主模块中或未作为主模块的一部分),并且在与IC 100的每个主模块的功率域分离并且独立的功率域中的情况下,MC 1 110和MC 2 112可以与每个主模块无关地以功率模式操作,并且可以避免主模块之间使用MC 1 110或MC 2 112的依赖性。例如,如果PL 104使用MC1 110来读取或写入存储器,并且PS 102处于省电模式(例如,断电或关机),则PL 104可以使用MC 1 110来读取或写入存储器,而无需使PS 102上电。IC 100中的每个主块或模块(例如,PS 102、PL 104、M/S块1 106和M/S块2 108)可以在主块或模块之间没有依赖性的情况下,共享MC 1 110和MC 2 112中的一个或两个。在实施如本文描述的可编程NoC 122的示例中,NoC 122还可以被上电并且活动以通过其传输通信,诸如在主模块与MC之间以及在MC与存储器(可以在芯片外)之间传输通信。
图1是在可编程IC的上下文中的示例实施方式,可编程IC例如包括可编程逻辑和/或可编程互连。其他实施方式可以是在诸如非可编程ASIC的非可编程IC的上下文中。一些实施例扩展到例如包括存储器控制器的任何IC(诸如SoC),该存储器控制器在与主模块的其他功率域分离或独立的功率域中。
图2是根据本公开的一些示例的用于IC中的功率管理和存储器访问的流程图。IC具有多个主模块,诸如处理器系统、可编程逻辑、加速器或另一个模块。IC还具有存储器控制器,主模块可以使用该存储器控制器来访问存储器,该存储器可以在芯片上,或者在分离的IC上。主模块在IC上的一个或多个功率域中(并且在一些情况下,每个主模块在与其他主模块的其他域分离的专用功率域中),并且存储器控制器在IC上的一功率域中,该功率域与主模块被布置在其中的一个或多个功率域分离并且独立。存储器控制器未被包括或被放置在主模块中。例如,存储器控制器可以在专用于该存储器控制器的物理块中。可以诸如通过与主模块协调的管理单元来控制主模块的功率模式。每个主模块可以具有不同的功率模式,诸如挂起模式、断电模式、活动模式、上电等,可以基于主模块的控制使相应的主模块选择性地进入该些不同的功率模式。
在框302处,使IC的每个主模块选择性地进入功率模式。在框304处,经由IC的存储器控制器,由主模块中的至少一个主模块来访问存储器,而不管在与访问存储器的该至少一个主模块的功率域分离的功率域中的其他主模块中的每个主模块的功率模式。例如,由于存储器控制器在与主模块的功率域分离并且独立的功率域中,因此主模块可以通过存储器控制器访问存储器,如果另一个主模块处于非活动或断电模式,则无需使另一个主模块(在与访问存储器的主模块的功率域不同的功率域中)进入活动或上电模式。不在存储器控制器的功率域中并且不在访问存储器的主模块的功率域中的主模块中的每个主模块可以保持在其相应的功率模式中,而与存储器访问无关。
在图1中图示并且在上面描述了用于实施图2的流程图的示例IC。其他IC也可以实施图2的流程图,并且与上面关于图1或关于图2描述的相比,可以具有更少、更多和/或不同的模块和/或功率域。
图3是描绘根据本公开的一些示例的NoC 122的框图。NoC 122包括NoC主单元(NMU)402、NoC从单元(NSU)404、网络414、NoC外围互连(NPI)410和寄存器(Reg)412。每个NMU 402是将主端点电路连接到NoC 122的入口电路。每个主端点电路在一个主模块中。每个NSU 404是将NoC 122连接到从端点电路的出口电路。每个从端点电路可以在从模块或主模块中。主模块能够或被配置成指导或控制另一个模块(诸如,从模块)的操作。在一些情况下,主模块可以使其操作由另一个主模块(例如,可以是从模块)指导或控制,并且因此,主模块可以仅包括主端点电路或包括主端点电路和从端点电路的组合。从模块具有从端点电路。
NMU 402通过网络414连接到NSU 404。在一个示例中,网络414包括NoC分组交换机406,并且包括NoC分组交换机406之间的路由408。每个NoC分组交换机406执行NoC分组的交换。NoC分组交换机406彼此连接,并且通过路由408连接到NMU 402和NSU404,以实施多个物理通道。NoC分组交换机406还支持每个物理通道多个虚拟通道。
NPI 410包括对NMU 402、NSU 404和NoC分组交换机406进行编程的电路装置。例如,NMU 402、NSU 404和NoC分组交换机406可以包括确定其功能的寄存器412。例如,寄存器412可以实施用于指导NoC分组交换机406的交换功能的一个或多个路由表。NPI 410包括耦合到寄存器412互连,以对其进行编程以设置功能。用于NoC122的配置数据可以被存储在存储器(例如,本地存储器和/或片外存储器)中,并且被提供给NPI 410以对NoC 122进行编程。
NoC 122包括用于控制其中的数据流的端到端服务质量(QoS)特征。在示例中,NoC122首先将数据流分离为指定的流量类别。相同流量类别中的数据流可以共享或具有独立的虚拟或物理传输路径。QoS方案跨流量类别应用两个水平的优先级。在流量类别内和跨流量类别,NoC 122应用加权仲裁方案来对流量流塑形,并且提供满足用户要求的带宽和延时。
图4是描绘根据本公开的一些示例的,通过NoC 122的端点电路之间的连接的框图。在该示例中,端点电路502通过NoC 122连接到端点电路504。端点电路502是主电路,其耦合到NoC 122的NMU402。端点电路504是从电路,其耦合到NoC 122的NSU 404。每个端点电路502和504可以是PS 102中的电路,或者是PL 104中的电路,例如,其中在适当情况下,PS102和PL 104中的一个可以是另一个的主设备,另一个将是从设备。PL 104中的每个端点电路可以是专用电路(例如,硬化电路)或以可编程逻辑配置的电路。
网络414包括多个物理通道506。通过对NoC 122进行编程来实施物理通道506。每个物理通道506包括一个或多个NoC分组交换机406和相关联的路由408。NMU 402通过至少一个物理通道506与NSU 404连接。物理通道506还可以具有一个或多个虚拟通道508。
在一些示例中,MC 1 110和MC 2 112均包括多个端点电路,例如端口,诸如四个端口。MC 1 110和MC 2 112的端点电路中的每个端点电路与相应的NSU 404连接,并且因此,MC 1 110和MC 2 112中的每个连接到多个(例如四个)NSU 404。图5图示了一个示例,其中每个MC 1 110和MC 2 112包括连接到四个NSU 404的端点电路以实施四个端口。每个NSU404连接到NoC 122的路由408,该路由408又连接到各个NoC分组交换机406,以将各个NSU404通信地耦合到主模块。通过经由多个NSU 404连接到NoC 122,可以提供并且实现源到目的地的路由和负载平衡的灵活性。
此外,在一些示例中,MC 1 110和MC 2 112在分离的虚拟通道中均支持两种流量类别,如上面针对NoC 122所描述的。这允许不同流量类别共享MC 1 110或MC 2 112的物理NoC通道和端口,而没有干扰。此外,MC 1 110和MC 2 112的多个端点电路(例如,端口)允许不同流量类别的物理分离,以获得改善的QoS。
在一些实施方式中,一个或多个存储器控制器可以存在于IC(例如,SoC)上。每个存储器控制器可以实施单独的存储器通道。在一些示例中,通过配置NoC 122以将主模块通信地耦合到相应的存储器控制器,对每个存储器控制器的访问对于主模块可以是透明的。这可以允许带宽和存储量的可伸缩性。通过添加对主模块透明的存储器控制器,可以以相当的性能(诸如,带宽和延时)实施多个存储器通道。
多个存储器通道中的每个存储器通道可以占据分离的连续地址范围,或者多个存储器通道可以交织以提供单个连续的地址空间。在一些示例中,可以实施混合方案,其中例如,实施具有两个对的四个存储器通道,其中每个对占据分离的地址范围,但是地址在每个对内交织。所实施的方案可以经由NoC路由表进行编程,并且对主模块可以是透明的。MC 1110和MC 2 112可以通过忽略可以用作通道选择位的地址位来支持通道交织。
例如,当给定应用的带宽或存储量超过单个通道的容量,并且用户不希望直接管理跨多个通道的资源分配时,通道交织可以有用。通道交织可以跨多个通道提供自动负载平衡,而无需用户干预。
当用户希望任务之间的显式分离时,在单独的存储器通道上具有分离的连续地址范围可以有用。例如,一个通道可以用于时间敏感或实时数据流(诸如,视频数据),而另一个通道可以用于通用处理。
本公开的示例通常涉及包括存储器子系统的集成电路,诸如片上系统(SoC)。各种示例可以允许与集成电路的主电路无关地操作存储器控制器,并且可以允许可扩展的统一的存储器子系统。
在一个示例中,集成电路可以包括:在芯片上的第一功率域中的第一主电路;在芯片上的第二功率域中的第二主电路;以及在芯片上的第三功率域中的第一存储器控制器,其中第一主电路和第二主电路均被配置成经由第一存储器控制器访问存储器,并且其中第一功率域和第二功率域均与第三功率域分离并且独立。
在一些这种集成电路中,第一功率域可以与第二功率域分离并且独立。
在一些这种集成电路中,第一存储器控制器可以未被包括在主电路中。
在一些这种集成电路中,第一存储器控制器可以在专用于第一存储器控制器的物理块中。
这种集成电路还可以包括在芯片上的可配置互连网络,其中第一主电路和第二主电路均被配置成经由第一存储器控制器和可配置互连网络访问存储器。
一些这种集成电路还可以包括在芯片上的第四功率域中的第二存储器控制器,其中第一主电路和第二主电路均被配置成经由第二存储器控制器和可配置互连网络访问存储器,并且其中第一功率域和第二功率域均与第四功率域分离并且独立。
在一些这种集成电路中,第一存储器控制器可以访问存储器的第一地址范围;第二存储器控制器可以访问存储器的第二地址范围;第一地址范围可以与第二地址范围不同。
在一些这种集成电路中,第一存储器控制器和第二存储器控制器可以被配置成交织访问存储器。
在一些这种集成电路中,第一存储器控制器可以包括连接到可配置互连网络的多个端口。
在一些这种集成电路中,第一存储器控制器可以被配置成使得能够经由可配置互连网络的物理通道的相应虚拟通道来处理多个流量类别。
本公开的另一个示例是一种操作集成电路的方法。这种方法可以包括:选择性地使集成电路的多个主电路中的每个主电路进入多个功率模式中的一个功率模式;以及经由集成电路的第一存储器控制器,由多个主电路中的至少一个主电路访问存储器,而与多个主电路中的其他主电路的每个主电路的多个功率模式中的所选择的一个模式无关,其中第一存储器控制器可以在与多个主电路的每个相应功率域分离的功率域中。
在一些这种方法中,第一存储器控制器可以未被包括在主电路中。
在一些这种方法中,经由第一存储器控制器,由多个主电路中的至少一个主电路访问存储器包括:经由集成电路的可配置互连网络,在多个主电路中的至少一个主电路与第一存储器控制器之间进行通信。
一些这种方法还可以包括:经由集成电路的第二存储器控制器和可配置互连网络,由多个主电路中的至少一个主电路访问存储器,其中第二存储器控制器可以在与多个主电路的每个相应功率域分离的功率域中。
在这种方法中,经由可配置互连网络,在多个主电路中的至少一个主电路与第一存储器控制器之间进行通信包括:经由可配置互连网络的物理通道的多个虚拟通道中的至少一个虚拟通道,在多个主电路中的至少一个主电路与第一存储器控制器之间进行通信。
本公开的又一个示例是集成电路。这种集成电路可以包括:在芯片上的处理系统;在芯片上的可编程逻辑;在芯片上的可配置互连网络;在芯片上的第一存储器控制器,处理系统和可编程逻辑均经由可配置互连网络通信地耦合到第一存储器控制器,处理系统和可编程逻辑均被配置成经由第一存储器控制器和可配置互连网络来访问存储器;以及在芯片上的管理单元,管理单元能够与第一存储器控制器的操作无关地控制处理系统和可编程逻辑的相应功率模式。
在这种集成电路中,处理系统可以在第一功率域中;可编程逻辑可以在与第一功率域分离并且独立的第二功率域中;并且第一存储器控制器可以在与第一功率域和第二功率域中的每个分离并且独立的第三功率域中。
这种集成电路还可以包括在芯片上的第二存储器控制器,处理系统和可编程逻辑均经由可配置互连网络通信地耦合到第二存储器控制器,处理系统和可编程逻辑均被配置成经由第二存储器控制器和可配置互连网络来访问存储器,管理单元能够与第二存储器控制器的操作无关地控制处理系统和可编程逻辑的相应功率模式。
在一些这种集成电路中,第一存储器控制器可以包括连接到可配置互连网络的多个端口。
在一些这种集成电路中,可配置互连网络可以可操作以在物理通道上实施多个虚拟通道;并且第一存储器控制器可以被配置成使得能够经由多个虚拟通道中的相应虚拟通道来处理多个流量类别。
尽管前述内容针对特定示例,但是在不脱离其基本范围的情况下可以设计其他示例,并且其范围由所附权利要求确定。
Claims (11)
1.一种集成电路,包括:
在芯片上的主电路,所述主电路包括处理系统和可编程逻辑;
在所述芯片上的多个功率域;
可配置互连网络,在与所述芯片上的其他功率域分离且独立的功率域中,其中在所述芯片上的所述可配置互连网络被配置用于包括通过应用加权仲裁方案和应用多个优先级而启用的多个流量类别的服务质量;以及
第一存储器控制器,在所述芯片上的所述多个功率域中的第一功率域中;
第二存储器控制器,在所述芯片上的所述多个功率域中的第二功率域中,
其中所述处理系统和所述可编程逻辑各自被配置成经由所述第一存储器控制器、所述第二存储器控制器和所述可配置互连网络来访问存储器,
其中被配置为经由存储器控制器访问所述存储器的所述芯片上的每个主电路在与其中设置有存储器控制器的功率域分离且独立的功率域中,并且
其中所述第一存储器控制器和所述第二存储器控制器被配置成交织访问所述存储器。
2.根据权利要求1所述的集成电路,其中所述第一功率域与所述第二功率域分离并且独立。
3.根据权利要求2所述的集成电路,其中所述第一存储器控制器未被包括在主电路中。
4.根据权利要求1-3中的任一项所述的集成电路,其中所述第一存储器控制器在专用于所述第一存储器控制器的物理块中。
5.根据权利要求1所述的集成电路,其中:
所述第一存储器控制器访问所述存储器的第一地址范围;
所述第二存储器控制器访问所述存储器的第二地址范围;并且
所述第一地址范围与所述第二地址范围不同。
6.根据权利要求1至3和5中的任一项所述的集成电路,其中所述第一存储器控制器包括连接到所述可配置互连网络的多个端口。
7.根据权利要求1至3和5中任一项所述的集成电路,其中所述第一存储器控制器被配置成使得能够经由所述可配置互连网络的物理通道的相应虚拟通道来处理多个流量类别。
8.一种操作集成电路的方法,所述方法包括:
选择性地使所述集成电路的多个主电路中的每个主电路进入多个功率模式中的一个功率模式;
由所述多个主电路中的至少一个主电路访问存储器,而与所述多个主电路中的其他主电路中的每个主电路的所述多个功率模式中的所选择的一个模式无关,所述多个主电路中的每个主电路被配置成经由第一存储器控制器和可配置互连网络来访问所述存储器;以及
经由所述集成电路的第二存储器控制器和所述可配置互连网络,由所述多个主电路中的至少一个主电路访问存储器,
其中所述第一存储器控制器和所述第二存储器控制器中的每一者在与设置有所述多个主电路和所述可配置互连网络的每个功率域分离且独立的功率域中,并且
其中所述可配置互连网络在与其他功率域分离且独立的功率域中,并且被配置用于包括通过应用加权仲裁方案和应用多个优先级而启用的多个流量类别的服务质量。
9.根据权利要求8所述的方法,其中所述第一存储器控制器未被包括在主电路中。
10.根据权利要求8或9所述的方法,其中经由所述可配置互连网络,通过所述多个主电路中的所述至少一个主电路来访问所述存储器包括:经由所述可配置互连网络的物理通道的多个虚拟通道中的至少一个虚拟通道,在所述多个主电路中的所述至少一个主电路与所述第一存储器控制器之间进行通信。
11.一种集成电路,包括:
在芯片上的可编程逻辑;
在所述芯片上的处理系统;
在所述芯片上的多个功率域;
可配置互连网络,在与所述芯片上的其他功率域分离且独立的功率域中;以及
在所述芯片上的第一存储器控制器,所述可编程逻辑和所述处理系统各自经由所述可配置互连网络被通信地耦合到所述第一存储器控制器,并且被配置成经由所述第一存储器控制器和所述可配置互连网络来访问存储器,
其中在所述芯片上的所述可配置互连网络被配置用于包括通过应用加权仲裁方案和应用多个优先级而启用的多个流量类别的服务质量,并且
其中设置有所述第一存储器控制器的功率域与设置有所述可编程逻辑、所述处理系统和所述可配置互连网络中的每一者的每个功率域分离并且独立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410307924.XA CN118034482A (zh) | 2018-02-15 | 2019-02-13 | 用于片上系统的存储器子系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US15/898,183 | 2018-02-15 | ||
PCT/US2019/017896 WO2019160988A1 (en) | 2018-02-15 | 2019-02-13 | Memory subsystem for system-on-chip |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410307924.XA Division CN118034482A (zh) | 2018-02-15 | 2019-02-13 | 用于片上系统的存储器子系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111684392A CN111684392A (zh) | 2020-09-18 |
CN111684392B true CN111684392B (zh) | 2024-04-02 |
Family
ID=65529872
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410307924.XA Pending CN118034482A (zh) | 2018-02-15 | 2019-02-13 | 用于片上系统的存储器子系统 |
CN201980010418.1A Active CN111684392B (zh) | 2018-02-15 | 2019-02-13 | 用于片上系统的存储器子系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410307924.XA Pending CN118034482A (zh) | 2018-02-15 | 2019-02-13 | 用于片上系统的存储器子系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11709624B2 (zh) |
EP (1) | EP3752895A1 (zh) |
JP (1) | JP7344885B2 (zh) |
KR (1) | KR20200121301A (zh) |
CN (2) | CN118034482A (zh) |
WO (1) | WO2019160988A1 (zh) |
Families Citing this family (4)
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 |
US11429292B2 (en) | 2020-12-02 | 2022-08-30 | Micron Technology, Inc. | Power management for a memory device |
US11561597B2 (en) | 2020-12-02 | 2023-01-24 | Micron Technology, Inc. | Memory device power management |
TW202319925A (zh) * | 2021-09-24 | 2023-05-16 | 美商高通公司 | 在記憶體通道行為錯誤的情況下實現安全操作模式的設備和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187552A (ja) * | 2008-02-11 | 2009-08-20 | Nvidia Corp | 電力制御システム及び電力制御方法 |
JP2016509261A (ja) * | 2013-02-21 | 2016-03-24 | アップル インコーポレイテッド | アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器 |
CN106663061A (zh) * | 2014-08-18 | 2017-05-10 | 赛灵思公司 | 用于可编程逻辑的存储器的虚拟化 |
CN106999184A (zh) * | 2014-09-05 | 2017-08-01 | 伊西康有限责任公司 | 用于医疗装置的具有过流保护的模块化电源 |
Family Cites Families (14)
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 |
US8407433B2 (en) * | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
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 |
US8171323B2 (en) * | 2008-07-01 | 2012-05-01 | Broadcom Corporation | Integrated circuit with modular dynamic power optimization architecture |
BR112013006329B1 (pt) | 2010-09-16 | 2020-12-01 | Apple Inc. | controlador de memória compreendendo uma pluralidade de portas, circuito integrado e método |
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 |
US8868941B2 (en) * | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
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 |
US9330433B2 (en) | 2014-06-30 | 2016-05-03 | Intel Corporation | Data distribution fabric in scalable GPUs |
US9846583B2 (en) | 2015-12-15 | 2017-12-19 | Xilinx, Inc. | Hardware power-on initialization of an SoC through a dedicated processor |
-
2018
- 2018-02-15 US US15/898,183 patent/US11709624B2/en active Active
-
2019
- 2019-02-13 JP JP2020543222A patent/JP7344885B2/ja active Active
- 2019-02-13 EP EP19707621.9A patent/EP3752895A1/en active Pending
- 2019-02-13 CN CN202410307924.XA patent/CN118034482A/zh active Pending
- 2019-02-13 KR KR1020207022976A patent/KR20200121301A/ko not_active Application Discontinuation
- 2019-02-13 WO PCT/US2019/017896 patent/WO2019160988A1/en active Search and Examination
- 2019-02-13 CN CN201980010418.1A patent/CN111684392B/zh active Active
-
2023
- 2023-07-25 US US18/226,193 patent/US20230376248A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187552A (ja) * | 2008-02-11 | 2009-08-20 | Nvidia Corp | 電力制御システム及び電力制御方法 |
JP2016509261A (ja) * | 2013-02-21 | 2016-03-24 | アップル インコーポレイテッド | アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器 |
CN106663061A (zh) * | 2014-08-18 | 2017-05-10 | 赛灵思公司 | 用于可编程逻辑的存储器的虚拟化 |
CN106999184A (zh) * | 2014-09-05 | 2017-08-01 | 伊西康有限责任公司 | 用于医疗装置的具有过流保护的模块化电源 |
Also Published As
Publication number | Publication date |
---|---|
US11709624B2 (en) | 2023-07-25 |
WO2019160988A1 (en) | 2019-08-22 |
JP7344885B2 (ja) | 2023-09-14 |
KR20200121301A (ko) | 2020-10-23 |
US20230376248A1 (en) | 2023-11-23 |
CN111684392A (zh) | 2020-09-18 |
EP3752895A1 (en) | 2020-12-23 |
US20190250853A1 (en) | 2019-08-15 |
JP2021514079A (ja) | 2021-06-03 |
CN118034482A (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684392B (zh) | 用于片上系统的存储器子系统 | |
US11263169B2 (en) | Configurable network-on-chip for a programmable device | |
RU2566330C2 (ru) | Гетерогенная сеть межсоединений с учетом производительности и трафика | |
KR102638125B1 (ko) | 네트워크 온 칩에서의 종단간 서비스 품질 | |
US8356138B1 (en) | Methods for implementing programmable memory controller for distributed DRAM system-in-package (SiP) | |
CN103210589B (zh) | 在芯片上系统中结合独立逻辑块 | |
US8467218B1 (en) | System and apparatus with IC resource interconnect | |
US11182110B1 (en) | On-chip memory block circuit | |
US11960734B2 (en) | Logic fabric based on microsector infrastructure with data register having scan registers | |
CN110765066B (zh) | 一种片上系统 | |
US8571016B2 (en) | Connection arrangement | |
US20190197389A1 (en) | On-chip communication system for neural network processors | |
US11327899B1 (en) | Hardware-based virtual-to-physical address translation for programmable logic masters in a system on chip | |
US11189338B1 (en) | Multi-rank high bandwidth memory (HBM) memory | |
CN114240731A (zh) | 图形处理器的分布式存储互联结构、显卡及访存方法 | |
US10936486B1 (en) | Address interleave support in a programmable device | |
US20220326962A1 (en) | Accelerator capable of executing fast dynamic change in acceleration type | |
CN115103032B (zh) | 通信协议控制电路和芯片 | |
Shermi et al. | A novel architecture of bidirectional NoC router using flexible buffer | |
SHERMI et al. | A Novel Architecture of Bidirectional NoC Router with Flexible Buffer | |
Onsori et al. | Performance enhancement of routers in networks-on-chip using dynamic virtual channels allocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |