CN115454889A - 存储访问调度方法、系统及芯片 - Google Patents
存储访问调度方法、系统及芯片 Download PDFInfo
- Publication number
- CN115454889A CN115454889A CN202211394638.9A CN202211394638A CN115454889A CN 115454889 A CN115454889 A CN 115454889A CN 202211394638 A CN202211394638 A CN 202211394638A CN 115454889 A CN115454889 A CN 115454889A
- Authority
- CN
- China
- Prior art keywords
- storage controller
- access request
- candidate
- cache queue
- output port
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本文公开存储访问调度方法、系统及芯片。存储访问调度方法包括:交叉开关将每个输出端口的访问请求缓存在要访问的存储单元的缓存队列中;每个存储控制器缓存及处理访问请求,统计未处理的访问请求的数量并确定访问请求积压状态;交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度缓存队列输出访问请求至对应的存储单元。本文的方案能提高各个存储单元的访问效率。
Description
技术领域
本文涉及但不限于集成电路技术领域,尤其涉及一种存储访问调度方法、系统及芯片。
背景技术
随着芯片工艺的不断发展和多核技术的广泛应用,在通过大型交叉开关访问存储器时,由于交叉开关的输出端口下发请求是随机的,因此可能出现一些存储单元的访问请求积压来不及处理,另一些存储单元没有访问请求而处于闲置状态,造成存储器的访问性能损失。
发明内容
第一方面,本公开提供了一种存储访问调度方法,包括:
交叉开关将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;其中,所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
每个存储控制器缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
所述交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
第二方面,本公开提供了一种存储访问调度系统,包括:交叉开关、至少一个存储控制器和至少一个存储单元;
所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
所述存储控制器,用于缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
所述交叉开关,用于将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
第三方面,本公开提供了一种芯片,包括上述存储访问调度系统。
本公开实施例提供了存储访问调度方法、系统及芯片。交叉开关通过存储控制器连接存储单元,交叉开关的每个输出端口为每个存储单元配置缓存队列用于缓存访问请求,交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。由于交叉开关调度访问请求时考虑了存储控制器的访问请求积压状态,因此能够均衡各个存储单元的访问请求量,提高各个存储单元的访问效率。
附图说明
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开实施例提供的一种存储访问调度方法的流程图;
图2为本公开实施例提供的一种存储访问调度系统的结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
如图1所示,本公开实施例提供了一种存储访问调度方法,包括:
步骤S10,交叉开关将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;其中,所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
步骤S20,每个存储控制器缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
步骤S30,所述交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
上述实施例提供的存储访问调度方法,交叉开关通过存储控制器连接存储单元,交叉开关的每个输出端口为每个存储单元配置缓存队列用于缓存访问请求,交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。由于交叉开关调度访问请求时考虑了存储控制器的访问请求积压状态,因此能够均衡各个存储单元的访问请求量,提高各个存储单元的访问效率。
在一些示例性的实施方式中,所述根据统计结果确定本存储控制器的访问请求积压状态,包括:
将统计出的未处理的访问请求的数量与预先设定的多个门限值进行比较,根据比较结果确定未处理的访问请求的数量区间;
查询访问请求积压状态分级表,根据本存储控制器未处理的访问请求的数量区间确定对应的访问请求积压状态的级别;其中,所述访问请求积压状态分级表记录了存储控制器未处理的访问请求的数量区间与访问请求积压状态的级别的对应关系。
假设预先设定的门限值Ai有M个,1≤i≤M,存储控制器未处理的访问请求的数量区间根据M个门限值可以划分为M+1个数量区间Dj,1≤j≤M+1。第1个数量区间D1的取值范围是:0≤D1<A1。从第2个数量区间开始至第M个数量区间为止,第k个数量区间Dk的取值范围是:Ak-1≤Dk<Ak,2≤k≤M。第M+1个数量区间DM+1的取值范围是:AM≤DM+1。
假设存储控制器未处理的访问请求的数量区间Dj有M+1个,访问请求积压状态分级表中记录了M+1个访问请求积压状态的级别Fj和M+1个存储控制器未处理的访问请求的数量区间Dj的对应关系:第j个访问请求积压状态的级别Fj对应于第j个存储控制器未处理的访问请求的数量区间Dj,1≤j≤M+1。
在一些示例性的实施方式中,所述每个存储控制器缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,包括:
针对任意一个存储控制器,如果所述存储控制器接收到新的访问请求,则将所述新的访问请求存储在所述存储控制器的缓存中,令计数值加1;如果所述存储控制器从所述存储控制器的缓存中取出一个访问请求进行处理,则令计数值减1。
在一些示例性的实施方式中,每个存储控制器根据统计结果确定本存储控制器的访问请求积压状态后,所述方法还包括:
每个存储控制器将本存储控制器的访问请求积压状态写入本存储控制器连接的交叉开关输出端口的访问请求积压状态表中;
其中,所述交叉开关的每个输出端口设置一张访问请求积压状态表,用于记录所述输出端口连接的每个存储控制器的访问请求积压状态。
在一些示例性的实施方式中,所述访问请求积压状态表的数据保存在寄存器中。
在一些示例性的实施方式中,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器后,所述方法还包括:
交叉开关读取所述输出端口的访问请求积压状态表,获取所述输出端口连接的每个候选存储控制器的访问请求积压状态。
在一些示例性的实施方式中,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,包括:
查询调度权重表,获取每个候选存储控制器的访问请求积压状态对应的候选缓存队列的调度权重;
其中,所述调度权重表记录了存储控制器的访问请求积压状态与候选缓存队列的调度权重的对应关系。
在一些示例性的实施方式中,存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越少,对应的候选缓存队列的调度权重的数值越大;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越多,对应的候选缓存队列的调度权重的数值越小。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度输出的访问请求的数量成正比。
对于任意一个输出端口,一个调度周期开始后,将该输出端口的所有非空缓存队列确定为候选缓存队列,可以通过轮询机制从所有的候选缓存队列中轮流选择一个候选缓存队列,使该选中的候选缓存队列输出一个访问请求至对应的存储单元,被选中的候选缓存队列的调度权重的数值减1。当某个候选缓存队列的调度权重的数值扣减为0时,该候选缓存队列被挂起,失去调度资格。如果所述输出端口的所有候选缓存队列全部挂起,则开始下一个调度周期的调度。在新的调度周期开始后,交叉开关重新确定所述输出端口的候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,读取所述输出端口的访问请求积压状态表,获取所述输出端口连接的每个候选存储控制器的访问请求积压状态,再查询调度权重表,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度的先后次序有关。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值越大,所述候选缓存队列在一个调度周期内被调度的先后次序越靠前。
如图2所示,本公开实施例提供了一种存储访问调度系统,包括:交叉开关、至少一个存储控制器和至少一个存储单元;
所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
所述存储控制器,用于缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
所述交叉开关,用于将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
上述实施例提供的存储访问调度系统,交叉开关通过存储控制器连接存储单元,交叉开关的每个输出端口为每个存储单元配置缓存队列用于缓存访问请求,交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。由于交叉开关调度访问请求时考虑了存储控制器的访问请求积压状态,因此能够均衡各个存储单元的访问请求量,提高各个存储单元的访问效率。
在一些示例性的实施方式中,所述存储控制器,用于采用以下方式根据统计结果确定本存储控制器的访问请求积压状态:将统计出的未处理的访问请求的数量与预先设定的多个门限值进行比较,根据比较结果确定未处理的访问请求的数量区间;查询访问请求积压状态分级表,根据本存储控制器未处理的访问请求的数量区间确定对应的访问请求积压状态的级别;其中,所述访问请求积压状态分级表记录了存储控制器未处理的访问请求的数量区间与访问请求积压状态的级别的对应关系。
所述存储控制器,用于采用以下方式缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量:如果所述存储控制器接收到新的访问请求,则将所述新的访问请求存储在所述存储控制器的缓存中,令计数值加1;如果所述存储控制器从所述存储控制器的缓存中取出一个访问请求进行处理,则令计数值减1。
在一些示例性的实施方式中,所述存储控制器,还用于将本存储控制器的访问请求积压状态写入本存储控制器连接的交叉开关输出端口的访问请求积压状态表中;
其中,所述交叉开关的每个输出端口设置一张访问请求积压状态表,用于记录所述输出端口连接的每个存储控制器的访问请求积压状态。
在一些示例性的实施方式中,所述访问请求积压状态表的数据保存在寄存器中。
在一些示例性的实施方式中,所述交叉开关,还用于读取所述输出端口的访问请求积压状态表,获取所述输出端口连接的每个候选存储控制器的访问请求积压状态。
在一些示例性的实施方式中,所述交叉开关,用于采用以下方式根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重:查询调度权重表,获取每个候选存储控制器的访问请求积压状态对应的候选缓存队列的调度权重;
其中,所述调度权重表记录了存储控制器的访问请求积压状态与候选缓存队列的调度权重的对应关系;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越少,对应的候选缓存队列的调度权重越大;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越多,对应的候选缓存队列的调度权重越小。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度输出的访问请求的数量成正比。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度的先后次序有关。
在一些示例性的实施方式中,候选缓存队列的调度权重的数值越大,所述候选缓存队列在一个调度周期内被调度的先后次序越靠前。
本公开实施例还提供了一种芯片,包括上述存储访问调度系统。
在一些示例性的实施方式中,所述芯片支持基于以太坊工作量证明机制的应用。
本领域普通技术人员可以理解,上文中所公开的装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (15)
1.一种存储访问调度方法,包括:
交叉开关将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;其中,所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
每个存储控制器缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
所述交叉开关周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
2.根据权利要求1所述的方法,其特征在于:
所述根据统计结果确定本存储控制器的访问请求积压状态,包括:
将统计出的未处理的访问请求的数量与预先设定的多个门限值进行比较,根据比较结果确定未处理的访问请求的数量区间;
查询访问请求积压状态分级表,根据本存储控制器未处理的访问请求的数量区间确定对应的访问请求积压状态的级别;其中,所述访问请求积压状态分级表记录了存储控制器未处理的访问请求的数量区间与访问请求积压状态的级别的对应关系。
3.根据权利要求1所述的方法,其特征在于:
所述每个存储控制器缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,包括:
针对任意一个存储控制器,如果所述存储控制器接收到新的访问请求,则将所述新的访问请求存储在所述存储控制器的缓存中,令计数值加1;如果所述存储控制器从所述存储控制器的缓存中取出一个访问请求进行处理,则令计数值减1。
4.根据权利要求1所述的方法,其特征在于:
所述每个存储控制器根据统计结果确定本存储控制器的访问请求积压状态后,所述方法还包括:
每个存储控制器将本存储控制器的访问请求积压状态写入本存储控制器连接的交叉开关输出端口的访问请求积压状态表中;
其中,所述交叉开关的每个输出端口设置一张访问请求积压状态表,用于记录所述输出端口连接的每个存储控制器的访问请求积压状态。
5.根据权利要求4所述的方法,其特征在于:
将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器后,所述方法还包括:
所述交叉开关读取所述输出端口的访问请求积压状态表,获取所述输出端口连接的每个候选存储控制器的访问请求积压状态。
6.根据权利要求1所述的方法,其特征在于:
所述根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,包括:
查询调度权重表,获取每个候选存储控制器的访问请求积压状态对应的候选缓存队列的调度权重;
其中,所述调度权重表记录了存储控制器的访问请求积压状态与候选缓存队列的调度权重的对应关系;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越少,对应的候选缓存队列的调度权重越大;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越多,对应的候选缓存队列的调度权重越小。
7.根据权利要求1所述的方法,其特征在于:
候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度输出的访问请求的数量成正比。
8.一种存储访问调度系统,包括:交叉开关、至少一个存储控制器和至少一个存储单元;
所述交叉开关包括至少一个输入端口和至少一个输出端口,每个输出端口连接至少一个存储控制器,每个存储控制器连接一个存储单元;每个输出端口设置缓存队列组,所述缓存队列组包括该输出端口能够访问的每个存储单元的缓存队列;
所述存储控制器,用于缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量,根据统计结果确定本存储控制器的访问请求积压状态;
所述交叉开关,用于将每个输出端口的访问请求缓存在所述访问请求要访问的存储单元的缓存队列中;周期性调度每个输出端口的访问请求,在任意一个输出端口的一个调度周期内,将所述输出端口的缓存队列组中的非空缓存队列作为候选缓存队列,将所述候选缓存队列对应的存储单元连接的存储控制器作为候选存储控制器,根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重,按照每个候选缓存队列的调度权重调度所述缓存队列输出访问请求至对应的存储单元。
9.根据权利要求8所述的调度系统,其特征在于:
所述存储控制器,用于采用以下方式根据统计结果确定本存储控制器的访问请求积压状态:将统计出的未处理的访问请求的数量与预先设定的多个门限值进行比较,根据比较结果确定未处理的访问请求的数量区间;查询访问请求积压状态分级表,根据本存储控制器未处理的访问请求的数量区间确定对应的访问请求积压状态的级别;其中,所述访问请求积压状态分级表记录了存储控制器未处理的访问请求的数量区间与访问请求积压状态的级别的对应关系。
10.根据权利要求8所述的调度系统,其特征在于:
所述存储控制器,用于采用以下方式缓存及处理本存储控制器连接的存储单元的访问请求,统计未处理的访问请求的数量:如果所述存储控制器接收到新的访问请求,则将所述新的访问请求存储在所述存储控制器的缓存中,令计数值加1;如果所述存储控制器从所述存储控制器的缓存中取出一个访问请求进行处理,则令计数值减1。
11.根据权利要求8所述的调度系统,其特征在于:
所述存储控制器,还用于将本存储控制器的访问请求积压状态写入本存储控制器连接的交叉开关输出端口的访问请求积压状态表中;
其中,所述交叉开关的每个输出端口设置一张访问请求积压状态表,用于记录所述输出端口连接的每个存储控制器的访问请求积压状态。
12.根据权利要求11所述的调度系统,其特征在于:
所述交叉开关,还用于读取所述输出端口的访问请求积压状态表,获取所述输出端口连接的每个候选存储控制器的访问请求积压状态。
13.根据权利要求8所述的调度系统,其特征在于:
所述交叉开关,用于采用以下方式根据每个候选存储控制器的访问请求积压状态确定对应的候选缓存队列的调度权重:查询调度权重表,获取每个候选存储控制器的访问请求积压状态对应的候选缓存队列的调度权重;
其中,所述调度权重表记录了存储控制器的访问请求积压状态与候选缓存队列的调度权重的对应关系;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越少,对应的候选缓存队列的调度权重越大;存储控制器的访问请求积压状态指示存储控制器未处理的访问请求数量越多,对应的候选缓存队列的调度权重越小。
14.根据权利要求8所述的调度系统,其特征在于:
候选缓存队列的调度权重的数值与所述候选缓存队列在一个调度周期内被调度输出的访问请求的数量成正比。
15.一种芯片,包括:权利要求8-14中任一项所述的存储访问调度系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394638.9A CN115454889B (zh) | 2022-11-09 | 2022-11-09 | 存储访问调度方法、系统及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394638.9A CN115454889B (zh) | 2022-11-09 | 2022-11-09 | 存储访问调度方法、系统及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115454889A true CN115454889A (zh) | 2022-12-09 |
CN115454889B CN115454889B (zh) | 2023-01-06 |
Family
ID=84311372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211394638.9A Active CN115454889B (zh) | 2022-11-09 | 2022-11-09 | 存储访问调度方法、系统及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454889B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819523A (zh) * | 2006-02-20 | 2006-08-16 | 中国人民解放军国防科学技术大学 | 并行交换开关设计方法 |
CN1874292A (zh) * | 2006-04-28 | 2006-12-06 | 国家数字交换系统工程技术研究中心 | 一种基于带缓存交叉开关的交换系统 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN111630501A (zh) * | 2018-01-19 | 2020-09-04 | 美光科技公司 | 访问非易失性存储器装置的用户当中的性能分配 |
-
2022
- 2022-11-09 CN CN202211394638.9A patent/CN115454889B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819523A (zh) * | 2006-02-20 | 2006-08-16 | 中国人民解放军国防科学技术大学 | 并行交换开关设计方法 |
CN1874292A (zh) * | 2006-04-28 | 2006-12-06 | 国家数字交换系统工程技术研究中心 | 一种基于带缓存交叉开关的交换系统 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN111630501A (zh) * | 2018-01-19 | 2020-09-04 | 美光科技公司 | 访问非易失性存储器装置的用户当中的性能分配 |
US20210349640A1 (en) * | 2018-01-19 | 2021-11-11 | Micron Technology, Inc. | Performance Allocation among Users for Accessing Non-volatile Memory Devices |
Also Published As
Publication number | Publication date |
---|---|
CN115454889B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150836B2 (en) | Deterministic optimization via performance tracking in a data storage system | |
US10817217B2 (en) | Data storage system with improved time-to-ready | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US20120278530A1 (en) | Enforcing system intentions during memory scheduling | |
US20100037231A1 (en) | Method for reading/writing data in a multithread system | |
US7373467B2 (en) | Storage device flow control | |
CN103336669A (zh) | 一种基于固态盘内部并行性的i/o调度方法及调度器 | |
US20080183913A1 (en) | Method and apparatus for determining priorities in direct memory access device having multiple direct memory access request blocks | |
CN103631624A (zh) | 读写请求的处理方法和装置 | |
US11481342B2 (en) | Data storage system data access arbitration | |
US20220138012A1 (en) | Computing Resource Scheduling Method, Scheduler, Internet of Things System, and Computer Readable Medium | |
CN115361336B (zh) | 具有缓存的路由器、路由交换网络系统、芯片及路由方法 | |
CN114500401B (zh) | 一种应对突发流量的资源调度方法和系统 | |
CN115454889B (zh) | 存储访问调度方法、系统及芯片 | |
CN117251275A (zh) | 多应用异步i/o请求的调度方法及系统、设备及介质 | |
US11221971B2 (en) | QoS-class based servicing of requests for a shared resource | |
CN111190541B (zh) | 存储系统的流控方法以及计算机可读存储介质 | |
CN111913807A (zh) | 一种基于多个存储区域的事件处理方法、系统及装置 | |
US20200004636A1 (en) | Data Storage System with Strategic Contention Avoidance | |
CN115202842A (zh) | 任务调度方法及装置 | |
CN113568754A (zh) | 资源分配方法、装置、计算设备及存储介质 | |
CN108304252B (zh) | 一种任务调度方法及装置 | |
CN113381941B (zh) | 一种任务调度方法、装置、电子设备和计算机存储介质 | |
CN116126546B (zh) | 一种性能调优的方法、装置、电子设备及介质 | |
CN111506524B (zh) | 一种数据库中淘汰、预加载数据页的方法、装置 |
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 |