CN111095220B - 在服务于存储事务时的服务质量控制方法和系统 - Google Patents

在服务于存储事务时的服务质量控制方法和系统 Download PDF

Info

Publication number
CN111095220B
CN111095220B CN201880059605.4A CN201880059605A CN111095220B CN 111095220 B CN111095220 B CN 111095220B CN 201880059605 A CN201880059605 A CN 201880059605A CN 111095220 B CN111095220 B CN 111095220B
Authority
CN
China
Prior art keywords
circuit
memory controller
indicator
memory
requester
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
CN201880059605.4A
Other languages
English (en)
Other versions
CN111095220A (zh
Inventor
Y·阿贝尔
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 CN111095220A publication Critical patent/CN111095220A/zh
Application granted granted Critical
Publication of CN111095220B publication Critical patent/CN111095220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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
    • 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/061Improving I/O performance
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Logic Circuits (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-2中任一项所述的方法,其特征在于,所述确定包括:
基于所述第二数据速率指标和所述存储控制器的额定带宽确定利用率指标;以及
确定所述利用率指标不满足所述服务质量指标。
5.根据权利要求1-2中任一项所述的方法,其特征在于,
所述定期地读取包括:由所述QM电路定期地读取所述存储控制器的带宽利用率指标;以及
所述更改包括:响应于确定所述带宽利用率指标大于阈值带宽利用率,更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
6.一种在服务于存储事务时的服务质量控制系统,其特征在于,包括:
存储控制器;
多个请求器电路,其耦接到所述存储控制器并配置为发送存储访问事务到所述存储控制器;
其中所述多个请求器电路包括相应的监测电路,所述监测电路配置成收集和存储相应的时延指标;以及
服务质量管理QM电路,其耦接到所述存储控制器和所述请求器电路,其中所述QM电路被配置为:
当所述多个请求器电路正在主动发送存储事务到所述存储控制器时,定期地从所述多个请求器电路读取相应的第一数据速率指标和相应的时延指标;
当所述存储控制器正在处理所述存储事务时,定期地从所述存储控制器读取第二数据速率指标;以及
响应于当所述多个请求器电路正在主动发送存储事务到所述存储控制器时确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足服务质量指标,动态地更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值,所述服务质量指标指定所述存储控制器的利用率,并为每种类型或类别的存储事务指定最大时延和预期的带宽分配。
7.根据权利要求6所述的系统,其特征在于,所述QM电路还配置为:
响应于确定所述相应的第一数据速率指标、相应的时延指标和第二数据速率指标不满足所述服务质量指标,更改将所述多个请求器电路耦接到所述存储控制器的互连电路的控制参数的值。
8.根据权利要求6或7所述的系统,其特征在于,所述QM电路还配置为:
当所述存储控制器正在处理所述存储事务时,定期地从所述存储控制器读取空闲时间指标;以及
确定所述空闲时间指标不满足所述服务质量指标。
9.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
基于所述第二数据速率指标和所述存储控制器的额定带宽,确定利用率指标;以及
确定所述利用率指标不满足所述服务质量指标。
10.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
定期地读取所述存储控制器的带宽利用率指标;以及
响应于确定所述带宽利用率指标大于阈值带宽利用率,更改所述多个请求器电路和所述存储控制器的一个或多个控制参数的一个或多个相应的值。
11.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述多个请求器电路中的一个或多个相关联的一个或多个请求间隔的一个或多个相应的值。
12.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述多个请求器电路中的一个或多个相关联的一个或多个未完成事务限制的一个或多个相应的值。
13.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与互连电路上的一个或多个端口相关联的一个或多个轮询权重的一个或多个相应的值,所述互连电路将所述多个请求器电路耦接到所述存储控制器。
14.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改所述存储控制器的带宽控制的值。
15.根据权利要求6-7中任一项所述的系统,其特征在于,所述QM电路还配置为:
更改与所述存储控制器上的端口相关联的一个或多个轮询权重的一个或多个值。
CN201880059605.4A 2017-08-09 2018-08-08 在服务于存储事务时的服务质量控制方法和系统 Active CN111095220B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/673,220 2017-08-09
US15/673,220 US10481944B2 (en) 2017-08-09 2017-08-09 Adaptive quality of service control circuit
PCT/US2018/045865 WO2019032740A1 (en) 2017-08-09 2018-08-08 ADAPTIVE SERVICE QUALITY CONTROL CIRCUIT

Publications (2)

Publication Number Publication Date
CN111095220A CN111095220A (zh) 2020-05-01
CN111095220B true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480017B1 (ko) * 2017-08-11 2022-12-21 삼성전자 주식회사 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
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
WO2023051917A1 (en) * 2021-09-30 2023-04-06 Huawei Technologies Co., Ltd. Memory controller and data processing system with memory controller

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 三星电子株式会社 改善数据流量的片上系统及其操作方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
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
TWI227398B (en) 2003-04-15 2005-02-01 Asustek Comp Inc Automatic adjusting device of computer system performance
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
KR20150106224A (ko) * 2014-03-11 2015-09-21 삼성전자주식회사 시스템-온-칩 및 그의 부하 불균형 검출 방법
US9563369B2 (en) * 2014-04-14 2017-02-07 Microsoft Technology Licensing, Llc Fine-grained bandwidth provisioning in a memory controller
US20160196231A1 (en) 2015-01-07 2016-07-07 Qualcomm Incorporated System and method for bus bandwidth management in a system on a chip
US9894536B2 (en) * 2015-03-10 2018-02-13 Aruba Networks, Inc. Motion-controlled device for supporting planning, deployment or operation of a wireless network
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 三星电子株式会社 改善数据流量的片上系统及其操作方法

Also Published As

Publication number Publication date
CN111095220A (zh) 2020-05-01
US10481944B2 (en) 2019-11-19
US20190050252A1 (en) 2019-02-14
EP3665574B1 (en) 2023-03-01
WO2019032740A1 (en) 2019-02-14
KR20200036010A (ko) 2020-04-06
EP3665574A1 (en) 2020-06-17
JP7167130B2 (ja) 2022-11-08
JP2020530621A (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
CN111095220B (zh) 在服务于存储事务时的服务质量控制方法和系统
CN107835989B (zh) 共享存储控制器及使用共享存储控制器的方法
US7420990B2 (en) Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US9201777B2 (en) Quality of service support using stacked memory device with logic die
CN102567109B (zh) 中断分配方案
KR101582058B1 (ko) 고정된 우선 순위 아비터를 위한 적응 대역폭 할당 제공
US7769936B2 (en) Data processing apparatus and method for arbitrating between messages routed over a communication channel
US10657084B1 (en) Interrupt moderation and aggregation circuitry
US7213084B2 (en) System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
US11275829B2 (en) Mechanism for throttling untrusted interconnect agents
Kim et al. Optimized I/O determinism for emerging NVM-based NVMe SSD in an enterprise system
US20240086093A1 (en) Memory controller and data processing system with memory controller
JP6201591B2 (ja) 情報処理装置および情報処理装置の制御方法
US9117508B2 (en) Integrated circuit with adaptive power state management
US8843671B1 (en) Dynamic resource allocation for serial attached SCSI devices
US20210397379A1 (en) Norflash sharing
US10225198B2 (en) Bandwidth control circuit, arithmetic processing apparatus, and bandwidth control method for apparatus
US11960416B2 (en) Multichannel memory arbitration and interleaving scheme
JP7226084B2 (ja) 情報処理装置
JP2011221943A (ja) 半導体集積回路装置

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