CN111095220A - 自适应服务质量控制电路 - Google Patents
自适应服务质量控制电路 Download PDFInfo
- Publication number
- CN111095220A CN111095220A CN201880059605.4A CN201880059605A CN111095220A CN 111095220 A CN111095220 A CN 111095220A CN 201880059605 A CN201880059605 A CN 201880059605A CN 111095220 A CN111095220 A CN 111095220A
- Authority
- CN
- China
- Prior art keywords
- indicator
- circuit
- data rate
- storage controller
- storage
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, buses
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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/061—Improving I/O performance
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Bus Control (AREA)
- Logic Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了在服务于存储事务时的服务质量控制方法,其包括:当请求器电路正在主动发送存储事务到片上系统SOC的存储控制器(104)时,通过设置在SOC上的服务质量管理QM电路(116)定期地从设置在SOC上的请求器电路(106,108,110,112)读取(206)相应的第一数据速率指标和相应的时延指标。当存储控制器正在处理存储事务时,QM电路定期地从存储控制器读取(208)第二数据速率指标;以及当请求器电路正在主动发送存储事务到存储控制器时,确定(210)相应的第一数据速率指标、相应的时延指标和第二数据速率指标是否满足服务质量指标。响应于确定这些运行指标不满足服务质量指标,QM电路动态地更改(212)请求器电路和存储控制器的控制参数的值。
Description
技术领域
本发明一般涉及在处理存储事务的过程中管理服务质量。
背景技术
片上系统(SOC)通常包括在单个集成电路晶片上制成的诸如存储器、一个或多个处理器和输入/输出(I/O)电路等部件。SOC也可以包括可编程逻辑电路,诸如在现场可编程门阵列(FPGA)上形成的电路。SOC提供多个配置参数,用于调节存储流量以及控制服务质量(Quality of Service,QOS)。
访问存储资源过程中的服务质量通常以时延和带宽利用率的形式测量。时延是指从请求器发出存储事务之时到请求器从读取事务中接收数据或确认写入事务已完成之时的时间量。存储带宽是指在数据可以被一个或多个请求器读取或写入时的理论速率或标定速率(例如,字节/秒),而带宽利用率指在处理运行用户应用的系统中发出的存储事务的过程中消耗的存储带宽的百分比。
由于SOC架构的复杂性和可变性以及大量数目的不同应用可以部署在SOC上,在多个请求器和流量类型之间有效调节SOC的存储带宽分配可能具有挑战性。另外,存储系统的性能相对于多个控制参数中的单个控制参数的变化通常是非线性的,因为除单个控制参数之外的多个因素都可以影响性能。
发明内容
一种公开的在服务于存储事务时的服务质量控制方法,包括:当多个请求器电路正在主动发送存储事务到片上系统SOC的存储控制器时,通过设置在SOC上的服务质量管理QM电路定期地从设置在SOC上的多个请求器电路读取相应的第一数据速率指标和相应的时延指标。当存储控制器正在处理存储事务时,由QM电路定期地从存储控制器读取第二数据速率指标。响应于当多个请求器电路正在主动发送存储事务到存储控制器时由QM电路确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,由QM电路动态地更改存储控制器和多个请求器电路的一个或多个控制参数的一个或多个相应的值。
一种公开的系统,包括:存储控制器、多个请求器电路和服务质量管理QM电路。多个请求器电路耦接到存储控制器并配置为发送存储访问事务到存储控制器。QM电路耦接到存储控制器和请求器电路。QM电路被配置为当多个请求器电路正在主动发送存储事务到存储控制器时,定期地从多个请求器电路读取相应的第一数据速率指标和相应的时延指标。QM电路被配置为当存储控制器正在处理存储事务时,定期地从存储控制器读取第二数据速率指标。响应于当多个请求器电路正在主动发送存储事务到存储控制器时确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,QM电路被配置为动态地更改存储控制器和多个请求器电路的一个或多个控制参数的一个或多个相应的值。
通过考虑以下的具体实施方式和权利要求,将能够理解其他特征。
附图说明
在审阅下文的具体实施方式以及参考附图后,本方法和系统的各个方面及特征将会变得显而易见。附图中:
图1示出了具有QM的示例性SoC,该QM可以动态地调整请求器电路与存储器之间的路径上的多个点处的QoS控制参数。
图2示出了监测QoS指标并调整QoS控制参数值的示例性过程的流程图;
图3示出了由请求电路的控制电路在发出存储事务中执行的示例性过程的流程图;
图4示出了由互连电路的控制电路在仲裁存储事务中执行的示例性过程的流程图;
图5示出了由存储控制器的控制电路在仲裁存储事务中执行的示例性过程的流程图;以及
图6示出了可以根据所公开的电路配置的示例性可编程IC。
具体实施方式
在以下描述中,阐述了许多具体细节以描述本文中提出的具体示例。然而,对于本领域的技术人员显而易见的是,可以在不给出以下所有具体细节的情况下实施一个或多个其他示例和/或这些示例的变型。在其他情况下,未详细描述众所周知的特征,以免混淆本文中示例的描述。为了便于说明,可以在不同的图中使用相同的参考标记指代相同的元件或相同元件的其他实例。
所公开的方法和电路提供了通过在发出存储事务的请求器电路与仲裁对存储器(memory)的访问的存储控制器(memory controller)之间的路径的各个点上监测QoS指标以及自适应地动态地调整控制参数来管理处理存储事务中的服务质量(QoS)的方法。通过动态调整控制参数,无需停止和重新启动请求器电路即可更改控制参数并使控制参数生效。可以随时间逐渐调整控制参数,以实现所需的QoS。
不仅可以动态地调整控制参数,而且可以采用所公开的方法来自适应地调整控制参数的值以实现期望的QoS。在启动系统之前,不能或不需要准确知道控制参数的值。使用本文公开的自适应技术,可以使用控制参数的估计值来初始化系统,然后,系统可以监测性能,确定性能是否满足期望的服务质量规范并调整控制参数的值以使得系统可以在短时间内收敛(converge)到所需的QoS。
QoS管理器电路(QM)通过定期从请求器电路和存储控制器收集QoS指标来监测处理存储事务的QoS。QoS指标包括例如来自请求器电路以及来自存储控制器的带宽和时延统计信息,这些指标包括带宽、利用率和空闲时间。根据从数据库读取的QoS规范和QoS指标,QM会调整一个或多个QoS控制参数的值。QoS规范可以指定存储控制器的利用率,并为每种类型或类别的存储事务指定最大时延和预期的带宽分配。
请求器电路、互连电路和存储控制器均具有可由QM调整的QoS控制参数。例如,每个请求器电路都有请求间隔参数和未完成事务限制(outstanding transactions limit)参数。互连电路可以具有轮询权重(round robin weights)。存储控制器具有针对不同流量类别和流量类型的绝对带宽控制,以及用于端口仲裁的轮询权重。
除了满足QoS配置文件外,QM还可以动态调整QoS控制参数,以使存储器在带宽利用率对时延的曲线上的最佳点处或最佳点以下处运行。带宽利用率是处于使用中的电路的带宽的百分比(观察到的数据速率/电路可达到的最大数据速率)。如本领域技术人员所认识的,带宽利用率对时延的曲线描述了带宽利用率与存储事务的时延之间的关系。随着带宽增加,存储事务的时延也增加,并且在超出曲线上的某个点时,随着带宽增加,时延呈指数增长。超过曲线上的某点后时延上呈指数增加的该点称为“最佳点”。QM监控QoS指标并调整一个或多个QoS控制参数值,以使系统在等于或略小于最佳点的带宽利用率下运行。“工作点(operating point)”是由存储控制器报告并由QM检测的实际带宽利用率。由于工作点可能会在不同时间因不同的工作负载而发生变化,因此QM可以调整QoS控制参数,以确保工作点不会长时间保持在最佳点之上。
图1示出了具有QM的示例性SoC 100,该QM可以动态地调整请求器电路与存储器之间的路径上的多个点处的QoS控制参数。该系统包括:存储器102,例如一个或多个DRAM的存储体(bank);用于控制对该存储器的访问的存储控制器104;多个请求器电路,例如一个或多个处理器106-108和/或在可编程逻辑110-112中实施的一个或多个请求器,以及将请求器电路连接到存储控制器以及其他组件的互连电路114。QM 116可以是硬连线的控制器、在系统中的处理器上与其他任务一起执行的任务或在系统中的专用处理器上执行的任务。
QM 116耦接到请求器电路106-108和110-112、互连电路114以及存储控制器104。请求器电路106-108和110-112、互连电路114和存储控制器104分别具有监测电路118、120、122、124、126和128。各个监测电路包括在监测电路的寄存器中的每个组件处收集并存储运行统计信息的逻辑。例如,在请求器电路处,每个监测电路都收集带宽和时延统计信息。观察到的带宽是监测器观察到的、数据从请求器和存储控制器移入/移出的速率,并通常表示为字节/秒。时延是发出存储事务的时间与返回请求的数据到请求器的时间之间的时间间隔。例如,由监测电路观察到的带宽和计算的时延可以是移动平均值(moving averages)和/或其他统计量度。
存储控制器104的监测器电路128包括收集并存储指示总体数据速率、带宽利用率和空闲时间的逻辑,空闲时间是指存储控制器未处理存储事务的时间的百分比。
请求器电路106-108和110-112、互连电路114和存储控制器104分别具有控制电路130、132、134、136、138和140,并且每个控制电路都包含一个或多个用于存储控制参数的值的寄存器,还包括逻辑电路,逻辑电路控制排队的存储事务的发出(issuing)和/或仲裁(arbitration)。请求器电路上的控制参数包括请求间隔和未完成事务限制,并且QM 116可以动态更改请求间隔和未完成事务限制参数的值。每个请求器电路上的请求间隔参数指定请求器电路在一个存储事务的传输与下一个存储事务的传输之间将要等待的时间。本领域技术人员将认识到用于调节请求器电路的带宽的其他方法。例如,可以使用多个参数来指定不同请求间隔随时间的期望统计分布。
每个请求器电路上的未完成事务限制参数指定(specify)请求器电路中未完成存储事务允许的最大数目。一旦来自请求器电路的未完成存储事务的数目达到未完成事务限制,请求器的控制电路将阻止请求器电路发出另一个存储事务,直到完成一个未完成存储事务。
例如,互连电路上的控制参数包括轮询权重。轮询权重可以由QM 116动态更改,并由互连电路的控制电路138使用,以在来自请求电路的存储事务之间进行选择,该存储事务与与事务队列相关联的权重成比例。权重分配给每个队列,且权重控制分配给队列的带宽量。
例如,存储控制器上的控制参数包括绝对带宽控制(absolute bandwidthcontrol)和端口仲裁权重。存储控制器可以具有多个端口,并且对于每个端口,存储控制器可以具有用于不同类型和类别的存储事务的多个队列。每种类型或类别的存储事务可以具有关联的绝对带宽参数,并且控制电路140根据每个端口处的不同队列的绝对带宽参数来限制存储事务。在端口之间,控制电路使用端口仲裁权重,以在与关联的权重成比例的端口中选择存储事务。
在示例性系统100中,设备信息数据库142为系统中的组件指定期望的QoS指标。请求器电路106-108和110-112中的每一个可以具有关联的QoS指标,该QoS指标指定来自该请求器电路的存储事务的最大时延。例如,如果QM确定由监视电路118报告的时延指标大于最大时延,则QM可以调整一个或多个其他请求电路108和110-112的控制参数,以将可用带宽的较大部分分配给请求电路106。
设备信息数据库可以进一步为每种流量类型或流量类别指定带宽分配。例如,不同的流量类型包括突发数据(bursty)和均衡数据(uniform),而不同的流量类别包括高优先级读取、同步读取、最大努力读取、同步写入和最大努力写入。QoS规范可以为不同的流量类型和类别指定不同的带宽分配。
在操作期间,当请求器电路正在向存储控制器104主动发送存储器请求时,QM 116定期地从请求器电路106-108和110-112读取相应的数据速率指标和时延指标。当存储控制器正在处理存储器请求时,QM还定期从存储控制器读取数据速率指标、带宽利用率指标和空闲时间指标。当请求器电路正主动发送存储事务时,QM会确定各个数据速率指标、时延指标、带宽利用率和空闲时间指标是否满足设备信息数据库142中的QoS规范的指标。如果不满足QoS规范,则QM动态地更改请求器电路、互连电路和/或存储控制器的一个或多个控制参数的值。
可以在运行时更改控制参数,并且新值将以不中断数据流的方式生效。例如,要更改请求间隔,QM可以将控制参数的新值写入请求器电路中的合适的寄存器,并且请求设备的控制电路将在下一个请求间隔边界时读取新值。类似地,QM可以将轮询权重写入存储控制器的寄存器中,并且存储控制器的仲裁状态机在每个调节间隔复制(copy)权重。每次做出请求或仲裁排队事务的决定时,请求器电路、互连电路和存储控制器都会读取新的控制参数值。QM与请求器电路、互连电路和存储控制器之间的控制信令可防止在过渡期间仅使用部分的或不一致的值。
图2示出了监测QoS指标并调整QoS控制参数的值的示例性过程的流程图。在框202,QM 116在请求器电路106-108、互连电路114和存储控制器104的控制参数中设置初始值。可以基于其他系统的经验来近似初始值。随着时间的流逝,QM将使控制参数的值适应那些实现所需QoS的参数。
QM定期评估QoS并相应地调整一个或多个控制参数的值。在框204处,QM等待编程的时间间隔的时间,并且在框206处,QM从请求器电路读取性能指标。请求器电路的性能指标可以包括相应的数据速率和时延。在框208处,QM从存储控制器读取性能指标。存储控制器的性能指标可以包括总数据速率、带宽利用率和空闲时间。
在框210处,QM将性能指标与来自设备信息数据库的QoS指标和/或QoS规范进行比较。如果性能指标满足QoS指标和/或QoS规范,则过程返回到框204并继续如上所述的处理。如果性能指标不满足QoS指标和/或QoS规范,则在框212处,QM更改一个或多个控制参数的值。例如,QM可以更改一个或多个请求电路的请求间隔和/或未完成事务限制控制参数,和/或更改互连电路的轮询权重,和/或更改存储控制器所使用的数据速率限制和/或轮询权重。如果存储控制器的空闲时间大于阈值,则QM可以减少一个或多个请求器电路上的请求间隔。
在用于调整控制参数的值的示例性方法中,使用负反馈来调整值,以使观察到的QoS通过逐步调整收敛到所期望的QoS。误差值是期望值和观察值之间的差,并且QM使用误差值的一部分(可以通过公知的方法从数学上得出)作为调整值或校正值,通过该调整值或校正值调整一个或多个控制参数的值。
QM与请求器电路、互连电路和存储控制器之间的控制信令可防止在过渡期间使用部分的或不一致的控制参数值。例如,QM和组件可以采用握手机制来发出参数值更改的开始和完成信号。
图3示出了由请求电路的控制电路在发出存储事务中执行的示例性过程的流程图。在框302处的控制电路在每次重复(iteration)发出存储事务的开始之时读取控制参数的值。在每次重复中读取控制参数的值,这可识别QM对控制参数的自适应和动态更改。QM和请求器电路的控制电路之间的控制信令可防止在过渡期间使用部分的或不一致的值。
在框304,控制电路从请求电路处接收存储事务以发出给存储控制器。在框306处,如果请求间隔参数指示的时间量尚未经过,控制电路则等待。请求间隔指定了控制电路在发出一个存储事务和发出下一个存储事务之间等待的时间。
在框308处,若未完成事务的数目大于或等于未完成事务限制控制参数,控制电路则等待。控制电路等待直到未完成事务的数目小于未完成事务限制控制参数。
控制电路在框310处发送存储事务,增加未完成事务的计数,并重置请求间隔计时器。在框312处,响应于存储事务的完成,控制电路减少未完成事务的计数,并将过程返回到如上所述的框302。
图4示出了由互连电路的控制电路在仲裁存储事务中执行的示例性过程的流程图。互连电路有分别连接到请求器电路的多个输入端口。在框402处,互连在每个输入端口处按流量类别或虚拟通道(virtual channel)排队存储事务。
在每次从队列中仲裁存储事务的重复开始之时,在框404处的互连电路读取控制参数(轮询权重)的值,因为当存储事务未完成,即尚未完成时,时QM可以更改参数的值。QM和互连电路的控制电路之间的控制信令可防止在过渡期间使用部分的或不一致的值。
在框406处,互连电路的控制电路使用与流量类别或虚拟通道相关联的轮询权重在每个端口的队列之间进行仲裁。加权轮询仲裁可以基于与队列、流量类别和/或虚拟通道关联的权重从队列中选择存储事务。在框408处,控制电路根据与端口相关联的轮询权重在从端口中选择出的事务之间进行仲裁。在选择了要发送给存储控制器的存储事务之后,互连电路的控制电路返回到如上所述的框404。
图5示出了由存储控制器的控制电路在仲裁存储事务中执行的示例性过程的流程图。在框502处,存储控制器的控制电路读取用于仲裁存储事务的控制参数的值。QM和存储控制器之间的控制信令可防止在过渡期间使用部分的或不一致的值。
在存储控制器的每个输入端口处,框504处的控制电路根据在流量类别/虚拟通道上指定绝对带宽限制的控制参数的值来调节输入事务。存储控制器不允许特定流量类别/虚拟通道的存储事务超过为该端口上流量类别/虚拟通道指定的绝对带宽限制。
在框506处,在选择存储事务时,存储控制器的控制电路在端口之间进行仲裁。根据控制参数的值,端口仲裁可以是轮询或加权轮询。轮询权重的值执行(enforce)在端口之间的带宽的所需分配。所选择的存储事务可以在框508处按流量类别/虚拟通道进行排队。在框510处,控制电路在队列之间进行仲裁(轮询或加权轮询),并将事务置于单个的、先入先出的队列中,用于将事务提交到存储器。
图6示出了可以根据所公开的电路配置的示例性可编程IC 602。可编程IC也可以称为片上系统(SOC),其包括处理器子系统610和可编程逻辑子系统630。处理器子系统610可以被编程为通过执行处理器来实现用户设计的软件部分。该程序可以被指定为配置数据流的一部分,或者可以从片上(on-chip)或片外(off-chip)数据存储设备中获取(retrieve)。处理器子系统610可以包括用于执行一个或多个软件程序的各种电路612、614、616和618。电路612、614、616和618可包括例如一个或多个处理器内核、浮点单元(floating point units,FPU)、中断处理单元、片上存储器、高速缓存存储器和/或高速缓存一致性互连。
可编程IC 602的可编程逻辑子系统630可以被编程为实现用户设计的硬件部分。例如,可编程逻辑子系统可以包括多个可编程资源632,其可以被编程为实现在配置数据流中指定的一组电路。可编程资源632包括例如可编程互连电路、可编程逻辑电路和配置存储单元(cell)。可编程逻辑使用可编程元件来实现用户设计的逻辑,所述可编程元件可以包括例如函数发生器、寄存器、算术逻辑等诸如此类的。可编程互连电路可以包括通过可编程互连点(programmable interconnect point,PIP)互连的许多不同长度的互连线。
可以通过将配置数据流加载到配置存储单元中来对可编程资源632进行编程,配置存储单元定义了如何配置可编程互连电路和可编程逻辑电路。例如,将用于可配置锁存器(latch)的配置存储单元设置为第一值可以指导该可配置锁存器用作单边驱动的锁存器。将配置存储单元设置为第二值可以指导该可配置锁存器用作双边驱动的锁存器。然后,各个存储器单元的共同(collective)状态确定可编程资源632的功能。可以从存储器(例如,从外部PROM)读取配置数据,或者由外部设备将配置数据写入可编程IC 602。在一些实施方式中,响应于对可编程IC通电,通过从与可编程IC耦接的非易失性存储器中获取配置数据并加载该配置数据到配置存储单元,包括在可编程逻辑子系统630中的配置控制器634可以对可编程资源进行编程。在一些其他实施方式中,可以通过由处理器子系统610执行的启动过程将配置数据加载到配置存储单元中。
可编程IC 602可以包括各种电路,以将处理器子系统610与在可编程逻辑子系统630内实现的电路互连。在该示例中,可编程IC 602包括内核交换机626,内核交换机626可以在处理器子系统610及可编程逻辑子系统630的各个数据端口之间路由数据信号。内核交换机626还可以在任一可编程逻辑或处理子系统610和630以及可编程IC的各种其他电路(例如内部数据总线)之间路由数据信号。替代地或附加地,处理器子系统610可以包括直接与可编程逻辑子系统连接的接口,而绕过内核交换机626。例如,可以使用由ARM发布的AMBAAXI协议规范(AXI)来实现这种接口。
在一些实施方式中,处理器子系统610和可编程逻辑子系统630还可经由存储控制器621读取或写入片上存储器622或片外存储器(未示出)的存储位置。存储控制器621可以被实现为与一种或多种不同类型的存储电路通信,这些电路包括但不限于双倍速率(DualData Rate,DDR)DDR2、DDR3、低功耗(Low Powe,LP)DDR2类型的存储器(无论是16位、32位、EEC 16位等)。这些能够与存储控制器621通信的不同存储器类型的列表仅是出于说明目的而提供,并不旨在作为限制或穷举。如图6所示,可编程IC 602可以包括存储器管理单元620和转换后备缓冲器(translation look-aside buffer,TLB)624,以将子系统610和630使用的虚拟存储地址转换为被存储控制器621使用以访问特定存储位置的物理存储地址。
可编程IC可以包括用于与外部电路进行数据通信的输入/输出(I/O)子系统650。I/O子系统650可以包括各种类型的I/O设备或接口,包括例如闪存类型的I/O设备、更高性能的I/O设备、更低性能的接口、调试I/O设备和/或RAM I/O设备。
I/O子系统650可以包括一个或多个图示为660A和660B的闪存接口660。例如,闪存接口660中的一个或多个可以作为被配置用于4位通信的四串行外设接口(Quad-SerialPeripheral Interface,QSPI)实现。一个或多个闪存接口660可以被实现为并行的8位NOR/SRAM类型的接口。闪存接口660中的一个或多个可以作为被配置用于8位和/或16位通信的NAND接口实现。应当理解,此特定接口是出于说明而非限制的目的而提供的。可以使用具有不同比特宽度的其他接口。
I/O子系统650可以包括一个或多个接口662,其提供比闪存接口660更高的性能水平。接口662A-662C中的每一个可以分别耦接至DMA控制器664A-664C。例如,接口662中的一个或多个可以作为通用串行总线(USB)类型的接口实现。接口662中的一个或多个可以作为千兆以太网(gigabit Ethernet)类型的接口实现。接口662中的一个或多个可以作为安全数字(Secure Digital,SD)类型的接口实现。
I/O子系统650还可以包括一个或多个接口666,例如接口666A-666D,其提供比接口662更低的性能水平。例如,接口666中的一个或多个可以作为通用I/O(General PurposeI/O,GPIO)类型的接口实现。接口666中的一个或多个可以作为通用异步接收发送器(Universal Asynchronous Receiver/Transmitter,UART)类型的接口实现。接口666中的一个或多个可以以串行外设接口(SPI)总线类型的接口的形式实现。接口666中的一个或多个可以以控制器区域网络(Controller-Area-Network,CAN)类型的接口和/或I2C类型的接口的形式实现。接口666中的一个或多个也可以以定时器类型的接口的形式实现。
I/O子系统650可以包括一个或多个调试接口668,例如处理器JTAG(PJTAG)接口668A和跟踪接口668B。PJTAG接口668A可以为可编程IC 602提供外部调试接口。跟踪接口668B可以提供端口以接收来自处理器子系统610或可编程逻辑子系统630的调试信息(例如跟踪信息)。
如图所示,接口660、662、666和668中的每一个都可以耦接到多路复用器670。多路复用器670提供可以直接路由或耦接到可编程IC 602的外部引脚(例如,可编程IC 602设置在其中的封装的球状物ball)的多个输出,。例如,可编程IC 602的I/O引脚可以在接口660、662、666和668之间共享。用户可以通过配置数据流配置多路复用器670,以选择接口660-668中的哪一个被使用,并因此通过复用器670耦接其到可编程IC 602的I/O引脚。I/O子系统650还可以包括结构复用器I/O(fabric multiplexer I/O,FMIO)接口(未示出),以将接口662-668连接到可编程逻辑子系统的逻辑电路。附加地或替代地,可编程逻辑子系统630可以被配置为在可编程逻辑内实现一个或多个I/O电路。在一些实施方式中,可编程IC 602还可包括具有用于电源和/或安全管理的各种电路的子系统640。例如,子系统640可以包括电源管理单元646,该电源管理单元646被配置为监测和维持用于为可编程IC 602的各个子系统供电的一个或多个电压域。在一些实施方式中,电源管理单元646可以禁用各个子系统的电源,以在空闲时减少功耗,而不会禁用正在使用的子系统的电源。
子系统640还可包括安全电路,以监测子系统的状态以确保正确的操作。例如,子系统640可包含一个或多个实时处理器642,其经配置以监测各子系统的状态(例如,如状态寄存器644中所指示的)。实时处理器642可以被配置为响应于检测到错误而执行许多任务。例如,对于某些错误,实时处理器642可以响应于检测到错误而生成警报。作为另一示例,实时处理器642可以重置子系统以尝试恢复子系统以校正操作。子系统640包括可用于互连各子系统的交换机网络648。例如,交换机网络648可以被配置为将各种子系统610、630和640连接到I/O子系统650的各种接口。在一些应用中,交换机网络648也可以用于隔离来自要监测的子系统的实时处理器642。某些应用标准(例如,IEC-61508SIL3或ISO-26262标准)可能需要这种隔离,以确保实时处理器642不受其他子系统中发生的错误的影响。
尽管在某些情况下可以在各个附图中描述本公开的各个方面和特征,但是应当理解,即使未明确示出组合或明确描述为组合,也可以将一个附图中的特征与另一附图中的特征进行组合。
在一个示例中,提供了一种在服务于存储事务时的服务质量控制方法,这样的方法可以包括:当多个请求器电路可以是正在主动发送存储事务到片上系统SOC的存储控制器时,通过设置在SOC上的服务质量管理QM电路定期地从设置在SOC上的多个请求器电路读取相应的第一数据速率指标和相应的时延指标。当存储控制器正在处理存储事务时,由QM电路定期地从存储控制器读取第二数据速率指标。响应于当多个请求器电路正在主动发送存储事务到存储控制器时由QM电路确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,由QM电路动态地更改存储控制器和多个请求器电路的一个或多个控制参数的一个或多个相应的值。
一些这样的方法还可以包括:响应于确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,更改将多个请求器电路耦接到存储控制器的互连电路的控制参数的值。
一些这样的方法还可以包括:当存储控制器正在处理存储事务时,定期地从存储控制器读取空闲时间指标;以及确定空闲时间指标不满足服务质量指标。
在一些这样的方法中,该确定包括:基于第二数据速率指标和存储控制器的额定带宽(bandwidth rating)确定利用率指标;以及确定利用率指标不满足服务质量指标。
在一些这样的方法中,该定期地读取包括:由QM电路定期地读取存储控制器的带宽利用率指标;以及该更改包括:响应于确定带宽利用率指标大于阈值带宽利用率,更改多个请求器电路和存储控制器的一个或多个控制参数的一个或多个相应的值。
在一些这样的方法中,该更改可以包括更改与多个请求器电路中的一个或多个相关联的一个或多个请求间隔的一个或多个相应的值。
在一些这样的方法中,该更改可以包括更改与多个请求器电路中的一个或多个相关联的一个或多个未完成事务限制的一个或多个相应的值。
在一些这样的方法中,该更改可以包括更改与互连电路上的一个或多个端口相关联的一个或多个轮询权重的一个或多个相应的值,互连电路将多个请求器电路耦接到存储控制器。
在一些这样的方法中,该更改可以包括更改存储控制器的带宽控制的值。
在一些这样的方法中,该更改可以包括更改与存储控制器上的端口相关联的一个或多个轮询权重的一个或多个值。
在另一个示例中,可以提供一种系统,这样的系统可以包括:存储控制器、多个请求器电路和服务质量管理QM电路。多个请求器电路耦接到存储控制器并配置为发送存储访问事务到存储控制器。QM电路耦接到存储控制器和请求器电路。QM电路被配置为当多个请求器电路可以是正在主动发送存储事务到存储控制器时,定期地从多个请求器电路读取相应的第一数据速率指标和相应的时延指标。QM电路被配置为当存储控制器正在处理存储事务时,定期地从存储控制器读取第二数据速率指标。响应于当多个请求器电路主动发送存储事务到存储控制器时确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,QM电路被配置为动态地更改存储控制器和多个请求器电路的一个或多个控制参数的一个或多个相应的值。
在一些这样的系统中,该QM电路还配置为:响应于确定相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,更改将多个请求器电路耦接到存储控制器的互连电路的控制参数的值。
在一些这样的系统中,该QM电路还配置为:当存储控制器正在处理存储事务时,定期地从存储控制器读取空闲时间指标;以及确定空闲时间指标不满足服务质量指标。
在一些这样的系统中,该QM电路还配置为:基于第二数据速率指标和存储控制器的额定带宽,确定利用率指标;以及确定利用率指标不满足服务质量指标。
在一些这样的系统中,该QM电路还可以配置为:定期地读取存储控制器的带宽利用率指标;以及响应于确定带宽利用率指标大于阈值带宽利用率,更改多个请求器电路和存储控制器的一个或多个控制参数的一个或多个相应的值。
在一些这样的系统中,该QM电路还配置为:更改与多个请求器电路中的一个或多个相关联的一个或多个请求间隔的一个或多个相应的值。
在一些这样的系统中,该QM电路还配置为:更改与多个请求器电路中的一个或多个相关联的一个或多个未完成事务限制的一个或多个相应的值。
在一些这样的系统中,该QM电路还配置为:更改与互连电路上的一个或多个端口相关联的一个或多个轮询权重的一个或多个相应的值,互连电路将多个请求器电路耦接到存储控制器。
在一些这样的系统中,该QM电路还配置为:更改存储控制器的带宽控制的值。
在一些这样的系统中,该QM电路还配置为:更改与存储控制器上的端口相关联的一个或多个轮询权重的一个或多个值。
所公开的方法和系统被认为可应用于在处理存储器流量中管理服务质量的各种系统。通过考虑本说明书,其他方面和特征对于本领域技术人员将是显而易见的。该方法和系统可以被实现为被配置为执行软件的一个或多个处理器、被实现为专用集成电路(ASIC)或者被实现为可编程逻辑设备上的逻辑。说明书和附图仅旨在被认为是示例,本发明的真实范围由所附权利要求揭示。
Claims (15)
1.一种在服务于存储事务时的服务质量控制方法,其特征在于,包括:
当多个请求器电路正在主动发送存储事务到片上系统SOC的存储控制器时,通过设置在所述SOC上的服务质量管理QM电路定期地从设置在所述SOC上的所述多个请求器电路读取相应的第一数据速率指标和相应的时延指标;
当所述存储控制器正在处理所述存储事务时,由所述QM电路定期地从所述存储控制器读取第二数据速率指标;以及
响应于当所述多个请求器电路正在主动发送存储事务到所述存储控制器时由所述QM电路确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,由所述QM电路动态地更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足所述服务质量指标,更改将所述多个请求器电路耦接到所述存储控制器的互连电路的控制参数的值。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述存储控制器正在处理所述存储事务时,定期地从所述存储控制器读取空闲时间指标;以及
确定所述空闲时间指标不满足所述服务质量指标。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述确定包括:
基于所述第二数据速率指标和所述存储控制器的额定带宽确定利用率指标;以及
确定所述利用率指标不满足所述服务质量指标。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述定期地读取包括:由所述QM电路定期地读取所述存储控制器的带宽利用率指标;以及
所述更改包括:响应于确定所述带宽利用率指标大于阈值带宽利用率,更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
6.一种系统,其特征在于,包括:
存储控制器;
多个请求器电路,其耦接到所述存储控制器并配置为发送存储访问事务到所述存储控制器;以及
服务质量管理QM电路,其耦接到所述存储控制器和所述请求器电路,其中所述QM电路被配置为:
当所述多个请求器电路正在主动发送存储事务到所述存储控制器时,定期地从所述多个请求器电路读取(206)相应的第一数据速率指标和相应的时延指标;
当所述存储控制器正在处理所述存储事务时,定期地从所述存储控制器读取(208)第二数据速率指标;以及
响应于当所述多个请求器电路正在主动发送存储事务到所述存储控制器时确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足所述服务质量指标,动态地更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
7.根据权利要求6所述的系统,其特征在于,所述QM电路还配置为:
响应于确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足所述服务质量指标,更改将所述多个请求器电路耦接到所述存储控制器的互连电路的控制参数的值。
8.根据权利要求6或7所述的系统,其特征在于,所述QM电路还配置为:
当所述存储控制器正在处理所述存储事务时,定期地从所述存储控制器读取空闲时间指标;以及
确定所述空闲时间指标不满足所述服务质量指标。
9.根据权利要求6-8中任一项所述的系统,其特征在于,所述QM电路还配置为:
基于所述第二数据速率指标和所述存储控制器的额定带宽,确定利用率指标;以及
确定所述利用率指标不满足所述服务质量指标。
10.根据权利要求6-9中任一项所述的系统,其特征在于,所述QM电路还配置为:
定期地读取所述存储控制器的带宽利用率指标;以及
响应于确定所述带宽利用率指标大于阈值带宽利用率,更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
11.根据权利要求6-10中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述多个请求器电路中的一个或多个相关联的一个或多个请求间隔的一个或多个相应的值。
12.根据权利要求6-11中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述多个请求器电路中的一个或多个相关联的一个或多个未完成事务限制的一个或多个相应的值。
13.根据权利要求6-12中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与互连电路上的一个或多个端口相关联的一个或多个轮询权重的一个或多个相应的值,所述互连电路将所述多个请求器电路耦接到所述存储控制器。
14.根据权利要求6-13中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改所述存储控制器的带宽控制的值。
15.根据权利要求6-14中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述存储控制器上的端口相关联的一个或多个轮询权重的一个或多个值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/673,220 US10481944B2 (en) | 2017-08-09 | 2017-08-09 | Adaptive quality of service control circuit |
US15/673,220 | 2017-08-09 | ||
PCT/US2018/045865 WO2019032740A1 (en) | 2017-08-09 | 2018-08-08 | ADAPTIVE SERVICE QUALITY CONTROL CIRCUIT |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111095220A true CN111095220A (zh) | 2020-05-01 |
CN111095220B CN111095220B (zh) | 2023-09-26 |
Family
ID=63371791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880059605.4A Active CN111095220B (zh) | 2017-08-09 | 2018-08-08 | 在服务于存储事务时的服务质量控制方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10481944B2 (zh) |
EP (1) | EP3665574B1 (zh) |
JP (1) | JP7167130B2 (zh) |
KR (1) | KR20200036010A (zh) |
CN (1) | CN111095220B (zh) |
WO (1) | WO2019032740A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894963A (zh) * | 2017-11-27 | 2018-04-10 | 上海兆芯集成电路有限公司 | 用于系统单芯片的通信控制器与通信方法 |
CN118502323A (zh) * | 2024-07-16 | 2024-08-16 | 杭州康吉森自动化科技有限公司 | 工业以太网数据的传输方法和fpga |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102480017B1 (ko) * | 2017-08-11 | 2022-12-21 | 삼성전자 주식회사 | 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법 |
US11196678B2 (en) * | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11343176B2 (en) | 2019-06-24 | 2022-05-24 | Amazon Technologies, Inc. | Interconnect address based QoS regulation |
US11513848B2 (en) * | 2020-10-05 | 2022-11-29 | Apple Inc. | Critical agent identification to modify bandwidth allocation in a virtual channel |
CN118140215A (zh) * | 2021-09-30 | 2024-06-04 | 华为技术有限公司 | 一种内存控制器和带内存控制器的数据处理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210782A1 (en) * | 2003-04-15 | 2004-10-21 | Hsien-Yueh Hsu | Apparatus and method for real-time adjusting system performance of a computer |
CN101083560A (zh) * | 2007-07-05 | 2007-12-05 | 中兴通讯股份有限公司 | 网络服务质量的测量方法、系统及媒体网关控制器 |
CN101118782A (zh) * | 2006-08-01 | 2008-02-06 | 国际商业机器公司 | 存储和检索处理系统的数据的存储器系统和性能监视方法 |
CN101192861A (zh) * | 2006-12-01 | 2008-06-04 | 华为技术有限公司 | 网络中调整数据速率的方法、装置及通信系统 |
CN102023890A (zh) * | 2009-09-15 | 2011-04-20 | Arm有限公司 | 一种用于设置事务优先级的数据处理装置和方法 |
CN102693202A (zh) * | 2011-03-24 | 2012-09-26 | 三星电子株式会社 | 改善数据流量的片上系统及其操作方法 |
US20150260787A1 (en) * | 2014-03-11 | 2015-09-17 | Samsung Electronics Co., Ltd. | System-on-chip and load imbalance detecting method thereof |
US20160196231A1 (en) * | 2015-01-07 | 2016-07-07 | Qualcomm Incorporated | System and method for bus bandwidth management in a system on a chip |
US20160269913A1 (en) * | 2015-03-10 | 2016-09-15 | Rasa Networks, Inc. | Motion-controlled device for supporting planning, deployment or operation of a wireless network |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961834B2 (en) | 2001-10-12 | 2005-11-01 | Sonics, Inc. | Method and apparatus for scheduling of requests to dynamic random access memory device |
US6941538B2 (en) | 2002-02-22 | 2005-09-06 | Xilinx, Inc. | Method and system for integrating cores in FPGA-based system-on-chip (SoC) |
US7058921B1 (en) | 2002-02-22 | 2006-06-06 | Xilinx, Inc. | Method and system for resource allocation in FPGA-based system-on-chip (SoC) |
JP2003256358A (ja) | 2002-02-28 | 2003-09-12 | Sony Corp | アービタ装置及び方法、並びに、リソース共有システム |
GB0304628D0 (en) | 2003-02-28 | 2003-04-02 | Imec Inter Uni Micro Electr | Method for hardware-software multitasking on a reconfigurable computing platform |
US6941428B2 (en) | 2002-09-25 | 2005-09-06 | International Business Machines Corporation | Memory controller optimization |
US7007264B1 (en) | 2003-05-02 | 2006-02-28 | Xilinx, Inc. | System and method for dynamic reconfigurable computing using automated translation |
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 |
US7665069B2 (en) | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
JP4635485B2 (ja) | 2004-06-29 | 2011-02-23 | ソニー株式会社 | データ処理装置 |
JP2007041771A (ja) | 2005-08-02 | 2007-02-15 | Matsushita Electric Ind Co Ltd | プロセススケジューリングシステム、プロセススケジューリング方法およびプログラム |
US7701902B1 (en) | 2006-03-24 | 2010-04-20 | Xilinx, Inc. | Scheduling for sharing channel access in wireless networks |
US8612648B1 (en) | 2010-07-19 | 2013-12-17 | Xilinx, Inc. | Method and apparatus for implementing quality of service in a data bus interface |
US9563369B2 (en) | 2014-04-14 | 2017-02-07 | Microsoft Technology Licensing, Llc | Fine-grained bandwidth provisioning in a memory controller |
JP6558090B2 (ja) | 2015-06-15 | 2019-08-14 | 富士通株式会社 | ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム |
EP3268865B1 (en) | 2015-06-26 | 2021-08-04 | Hewlett Packard Enterprise Development LP | Self-tune controller |
US10956205B2 (en) * | 2017-01-03 | 2021-03-23 | Arm Limited | Data processing |
US10911366B2 (en) * | 2017-06-30 | 2021-02-02 | Intel Corporation | Technologies for balancing throughput across input ports of a multi-stage network switch |
-
2017
- 2017-08-09 US US15/673,220 patent/US10481944B2/en active Active
-
2018
- 2018-08-08 WO PCT/US2018/045865 patent/WO2019032740A1/en active Search and Examination
- 2018-08-08 JP JP2020506921A patent/JP7167130B2/ja active Active
- 2018-08-08 EP EP18759804.0A patent/EP3665574B1/en active Active
- 2018-08-08 KR KR1020207006592A patent/KR20200036010A/ko not_active Application Discontinuation
- 2018-08-08 CN CN201880059605.4A patent/CN111095220B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210782A1 (en) * | 2003-04-15 | 2004-10-21 | Hsien-Yueh Hsu | Apparatus and method for real-time adjusting system performance of a computer |
CN101118782A (zh) * | 2006-08-01 | 2008-02-06 | 国际商业机器公司 | 存储和检索处理系统的数据的存储器系统和性能监视方法 |
CN101192861A (zh) * | 2006-12-01 | 2008-06-04 | 华为技术有限公司 | 网络中调整数据速率的方法、装置及通信系统 |
CN101083560A (zh) * | 2007-07-05 | 2007-12-05 | 中兴通讯股份有限公司 | 网络服务质量的测量方法、系统及媒体网关控制器 |
CN102023890A (zh) * | 2009-09-15 | 2011-04-20 | Arm有限公司 | 一种用于设置事务优先级的数据处理装置和方法 |
CN102693202A (zh) * | 2011-03-24 | 2012-09-26 | 三星电子株式会社 | 改善数据流量的片上系统及其操作方法 |
US20150260787A1 (en) * | 2014-03-11 | 2015-09-17 | Samsung Electronics Co., Ltd. | System-on-chip and load imbalance detecting method thereof |
US20160196231A1 (en) * | 2015-01-07 | 2016-07-07 | Qualcomm Incorporated | System and method for bus bandwidth management in a system on a chip |
US20160269913A1 (en) * | 2015-03-10 | 2016-09-15 | Rasa Networks, Inc. | Motion-controlled device for supporting planning, deployment or operation of a wireless network |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894963A (zh) * | 2017-11-27 | 2018-04-10 | 上海兆芯集成电路有限公司 | 用于系统单芯片的通信控制器与通信方法 |
CN107894963B (zh) * | 2017-11-27 | 2021-07-27 | 上海兆芯集成电路有限公司 | 用于系统单芯片的通信控制器与通信方法 |
CN118502323A (zh) * | 2024-07-16 | 2024-08-16 | 杭州康吉森自动化科技有限公司 | 工业以太网数据的传输方法和fpga |
Also Published As
Publication number | Publication date |
---|---|
CN111095220B (zh) | 2023-09-26 |
US10481944B2 (en) | 2019-11-19 |
JP7167130B2 (ja) | 2022-11-08 |
JP2020530621A (ja) | 2020-10-22 |
EP3665574A1 (en) | 2020-06-17 |
WO2019032740A1 (en) | 2019-02-14 |
EP3665574B1 (en) | 2023-03-01 |
KR20200036010A (ko) | 2020-04-06 |
US20190050252A1 (en) | 2019-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095220B (zh) | 在服务于存储事务时的服务质量控制方法和系统 | |
US9201777B2 (en) | Quality of service support using stacked memory device with logic die | |
CN107835989B (zh) | 共享存储控制器及使用共享存储控制器的方法 | |
US9201816B2 (en) | Data processing apparatus and a method for setting priority levels for transactions | |
US10657084B1 (en) | Interrupt moderation and aggregation circuitry | |
KR101582058B1 (ko) | 고정된 우선 순위 아비터를 위한 적응 대역폭 할당 제공 | |
KR101519771B1 (ko) | 집적 회로 내의 프로세서 시스템의 확장 | |
CN102282546B (zh) | 资源控制 | |
US10908955B2 (en) | Systems and methods for variable rate limiting of shared resource access | |
GB2447688A (en) | Apparatus and method for arbitrating between messages routed over a communication channel | |
US20200257796A1 (en) | Mechanism for throttling untrusted interconnect agents | |
JP7160941B2 (ja) | アクセラレータ要求を処理する際の中央処理装置の処理品質保証の実施 | |
Kim et al. | Optimized I/O determinism for emerging NVM-based NVMe SSD in an enterprise system | |
US20150304177A1 (en) | Processor management based on application performance data | |
US11662948B2 (en) | Norflash sharing | |
CN112463673B (zh) | 一种片上总线、及用于片上总线的服务质量仲裁方法、装置 | |
US10225198B2 (en) | Bandwidth control circuit, arithmetic processing apparatus, and bandwidth control method for apparatus | |
US11960416B2 (en) | Multichannel memory arbitration and interleaving scheme | |
US20240086093A1 (en) | Memory controller and data processing system with memory controller |
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 |