一种存储控制系统及存储服务器的制作方法
未命名
07-13
阅读:170
评论:0
1.本发明涉及存储控制设计领域,尤其涉及一种存储控制系统及存储服务器。
背景技术:
2.在现如今的固态硬盘(ssd,solid state disk)中,随着进程和执行程序的增多,单核处理器已经满足不了处理需求,取而代之的是多核处理器,即在系统级芯片(soc)上,应用两个或两个以上处理器对事物进程进行处理,以此来增加处理进程能力、提高系统性能。
3.随着处理器核数的增加与多核处理器的可扩展性,用于维护多核处理器数据缓存的一致性是个不可避免的问题,为了更好地解决这一问题,引入了缓存一致性互联组件,其中的监听过滤器(snoop filter)主要用来维护数据缓存一致性,但随着处理器核数增加的趋势,单一监听过滤器的性能已经不足满足多核处理器进程处理能力,即单一监听过滤器维持缓存一致性能力限制多核处理器进程处理能力,所以需要增加监听过滤器的数目。但多个监听过滤器的监听请求冲突、监听请求与本地请求的冲突等问题也随之产生,该问题会影响多核处理器的执行效率,进而降低存储控制系统的性能。其次,由于固态硬盘(ssd,solid state disk)中的进程较多,应用多核处理器同时通过缓存一致性组件实现数据的共享时,在同时访问内存时难免会存在大量的竞争与仲裁,这种现象会使访问延迟增大,从而降低了数据获取速率。
技术实现要素:
4.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供一种存储控制系统及存储服务器。
5.第一方面,本发明提供一种存储控制系统,包括:至少一多核处理器、缓存一致性组件、内存、一级接口和二级接口;所述缓存一致性组件通过所述一级接口耦合所述多核处理器,所述缓存一致性组件通过所述二级接口耦合所述内存;
6.所述缓存一致性组件包括:监听过滤器模块和仲裁模块,所述监听过滤器模块包括多个监听过滤器,多个所述监听过滤器分担监听与所述缓存一致性组件耦合的所述多核处理器的缓存处理请求,所述缓存处理请求命中所述多核处理器缓存中缓存行时,提供指向具有该缓存行的集群的矢量,在缓存处理请求改变命中的缓存行时,通过提供的矢量确保集群的相关三级缓存的缓存一致性,所述缓存处理请求未命中所述多核处理器缓存中缓存行时,从所述内存获取数据到缓存中;所述仲裁模块处理全部所述监听过滤器所监听的缓存处理请求之间的冲突和缓存处理请求与本地请求之间的冲突,并通过轮询仲裁的方式仲裁请求的处理顺序,保证所述监听过滤器模块中的多个所述监听过滤器监听到的缓存处理请求有序处理。
7.更进一步地,每个所述多核处理器独立拥有三级缓存,所述三级缓存包括:l1缓存、l2缓存和l3缓存,其中,所述多核处理器的所述l1缓存和l2缓存为所述多核处理器中的
集群独立拥有;且所述l1缓存为分离缓存,分为l1数据缓存和l1指令缓存分别存储数据和指令,所述l2缓存为统一缓存;所述多核处理器的l3缓存为所述多核处理器中多个所述集群共享。
8.更进一步地,所述一级接口接收由所述多核处理器数据缓存事务进程提供的缓存处理请求,所述一级接口通过请求管理控制和io管理分配将所述缓存处理请求发送到所述缓存一致性组件,所述缓存处理请求包含组成缓存行的缓存数据和缓存地址信息。
9.更进一步地,在缓存中创建存储的标签数据的缓存标签组、在所述监听过滤器模块创建条目,将所述标签、所述监听过滤器模块对应的条目与内存中的对应内存数据项相关联,所述标签指示到内存中相应数据的存储位置,所述条目与所述标签一一对应,所述监听过滤器模块通过所述标签、条目和内存数据之间的关联及所述条目指示的缓存行状态,在缓存处理请求命中所述多核处理器三级缓存中缓存行时,提供指向具有该缓存行的集群的矢量。
10.更进一步地,所述条目指示的缓存行的状态包括:“无效”、“调整”、“共享”和“独享”;“共享”表示缓存行也存在于另外的三级缓存中且是未修改的与所述内存中数据一致,缓存行可以在任意时刻抛弃,“独享”表示缓存行仅存在与当前三级缓存中,且与所述内存中数据一致,当被其他三级缓存读取与该缓存行对应的内存数据时变成“共享”状态;“调整”表示三级缓存中的缓存行已被修改,不再与所述内存中的数据匹配,而且该缓存行仅存于该三级缓存中,需要但还未被写到所述内存中;“无效”表示缓存中存储的缓存行无效。
11.更进一步地,在不冲突时,所述仲裁模块接收缓存处理请求相关的缓存数据和缓存地址后缓存,所述仲裁模块控制全部所述监听过滤器监听到的缓存处理请求按顺序被处理,以保证任何进程所发出的缓存处理请求被所述内存所观察到的顺序必须与进程发出操作的顺序相同,以保证缓存处理请求涉及到的每个读操作所返回的值与所述内存中被最后一次写操作写入的对应值相同。
12.更进一步地,检测到请求冲突时,所述仲裁模块针对冲突相关的缓存行计算第一权重,所述第一权重的计算公式为:weight1i=kip
it
;其中,ki表示缓存行i的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器每个集群的三级缓存中,p为优先级状态向量,与k的维度一致,p中元素值为缓存行所对应进程的优先级程度,使用第一权重确定处理顺序时,第一权重越大越优先执行。
[0013]
更进一步地,检测到请求冲突时,所述仲裁模块针对冲突相关的缓存行计算第二权重,所述第二权重的计算公式为:weight2j=k
jrjt
;其中,kj表示缓存行j的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器每个集群的三级缓存中,r为替换次数向量,与k的维度一致,r中元素值为缓存行被相应的集群操作而发生替换的次数的倒数,使用所述第二权重确定计算顺序时,所述第二权重小越优先执行。
[0014]
更进一步地,所述多核处理器中,设定数量的核心组成所述集群。
[0015]
第二方面,本发明提供一种存储服务器,所述存储服务器设置固态硬盘,所述固态硬盘耦接所述的存储控制系统。
[0016]
本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
[0017]
本发明所提供的一种存储控制系统中,引入多核处理器来进行进程处理,增加处理进程能力、提高系统性能。为了解决单一监听过滤器实现缓存一致性控制的能力限制多核处理器进程处理能力的问题,本技术引入所述缓存一致性组件,所述缓存一致性组件包括:监听过滤器模块和仲裁模块。所述监听过滤器模块包括:多个监听过滤器,通过多个所述监听过滤器分担监听与所述缓存一致性组件耦合的多核处理器的缓存处理请求,能够有效地提高缓存一致性的处理效率,提升存储系统性能,所述仲裁模块处理全部所述监听过滤器所监听的缓存处理请求之间的冲突和缓存处理请求与本地请求之间的冲突,并通过轮询仲裁的方式仲裁请求的处理顺序,保证所述监听过滤器模块中的多个所述监听过滤器监听到的缓存处理请求有序处理。本技术通过多核处理器和缓存一致性组件的配合,形成了缓存一致性性能与多核处理性能相适配的存储控制系统,能够有效地提高产品竞争力。
附图说明
[0018]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0019]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]
图1为本发明实施例提供的一种存储控制系统的示意图;
[0021]
图2为本发明实施例提供的多核处理器的三级缓存的示意图;
[0022]
图3为本发明实施例提供的多核处理器中核所形成集群的示意图;
[0023]
图4为本发明实施例提供的一级接口的示意图;
[0024]
图5为本发明实施例提供的标签、条目和内存数据的示意图;
[0025]
图6为本发明实施例提供的替换次数向量的示意图。
[0026]
图中标号及含义如下:
[0027]
1、缓存一致性组件,11、监听过滤器模块,12、仲裁模块,2、多核处理器,3、一级接口,4、二级接口,5、内存。
具体实施方式
[0028]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0030]
实施例1
[0031]
参阅图1所示,本发明实施例提供一种存储控制系统,包括:至少一多核处理器2、
缓存一致性组件1、内存5、一级接口3和二级接口4。
[0032]
其中,所述缓存一致性组件1通过所述一级接口3耦合所述多核处理器2,所述缓存一致性组件1通过所述二级接口4耦合所述内存5和外部接口。
[0033]
为了增加所述存储控制系统处理进程能力、提高性能,本发明引入多个所述多核处理器2,通过多个所述多个处理器2相互配合对进程做出处理。参阅图3所示,在一种实施例中,每个所述多核处理器2中的核组成集群,每个所述集群中包含四个核。参阅图2所示,每个所述多核处理器2独立拥有三级缓存,所述三级缓存包括l1缓存、l2缓存和l3缓存,其中,所述多核处理器2的所述l1缓存和l2缓存为所述多核处理器中的所述集群独立拥有,即每个集群均独立配置l1缓存和l2缓存,且所述l1缓存为分离缓存,分为l1数据缓存和l1指令缓存分别存储数据和指令,所述l2缓存为统一缓存;所述多核处理器2的l3缓存为所述多核处理器中多个所述集群共享。
[0034]
在处理进程过程中,所述多核处理器2通过数据缓存事务进程产生缓存处理请求。而由于存在多个所述多核处理器2,且每个所述多核处理器2有多个核对进程进行处理,每个多核处理器2设置三级缓存,即,在进程处理过程中不同的多核处理器通过不同的三级缓存来看所述内存5中的数据,不可避免地会出现缓存一致性问题,本技术引入缓存一致性组件1处理多核处理器之间的缓存数据一致性问题,如:当两个运行在不同的多核处理器上的进程通过不同的三级缓存层次来看共享内存时,其中一个进程可能会看到在它的三级缓存中的新值,而另一个则可能会看到旧值。
[0035]
由于所述多核处理器2中l1缓存和l2缓存为所述集群独立拥有,所以,要实现三级缓存的数据一致性,所述缓存一致性组件针对所述集群进行缓存数据一致性处理。对于一个集群中存在四个核的情况,所述缓存一致性组件支持核心数量为4的倍数的多核处理器的缓存一致性控制。所述实施例仅仅是示例性的,具体实施过程,存在支持其他多核处理器缓存一致性控制的缓存一致性组件。
[0036]
具体实施过程中,参阅图4所示,耦接所述多核处理器2和所述缓存一致性组件1的一级接口3,接收由所述多核处理器2数据缓存事务进程提供的缓存处理请求,所述一级接口3通过请求管理控制和io管理分配将所述缓存处理请求发送到所述缓存一致性组件1,所述缓存处理请求包含组成缓存行的缓存数据和缓存地址信息。其中,所述一级接口3的请求管理控制将所述多核处理器发送的缓存处理请求进行缓存并管理,主要管理和控制多核处理器所对应的缓存处理请求的状态信息。所述一级接口3的io管理分配实现将管理和控制的缓存处理请求进行io分配,所述一级接口3按io管理分配的io传输缓存处理请求涉及的缓存数据、缓存地址。通过所述一级接口3对所述多核处理器2发出的缓存处理请求进行请求管理控制和io管理分配调度,减少了所述多核处理器2与所述缓存一致性组件1之间的延迟,并加快了信息处理速度。
[0037]
所述缓存一致性组件1对缓存处理请求进行有序的监听和仲裁处理,保证缓存数据一致性。具体实施过程中,所述缓存一致性组件1包括:监听过滤器模块11和仲裁模块12。所述监听过滤器模块11包括:多个监听过滤器,通过多个所述监听过滤器分担监听与所述缓存一致性组件耦合的多核处理器的缓存处理请求,能够有效地提高缓存一致性的处理效率,提升存储系统性能。所述监听过滤器模块在监听的缓存处理请求命中所述多核处理器三级缓存中缓存行时,提供指向具有该缓存行的集群的矢量,在缓存处理请求改变命中的
缓存行时,通过提供的矢量确保集群的相关三级缓存中的缓存数据一致性,缓存处理请求未命中所述多核处理器三级缓存中缓存行时,从内存获取数据到三级缓存中,将三级缓存中空闲的缓存行替换为内存数据。
[0038]
由于所述监听过滤器模块包含了多个监听过滤器,提供指向具有指定缓存行的集群时,需要多个监听过滤器配合,为实现这一过程。具体实施过程中,参阅图5所示,图5给出了所述监听过滤器模块条目、所述多核处理器中三级缓存标签组和内存存储的数据组成的示例表。所述示例表包括由多核处理器的三级缓存标签组存储的标签数据、由监听过滤器模块存储的条目以及由内存存储的内存数据。标签组中每个标签、监听过滤器模块对应的条目与内存中的对应内存数据项相关联,具体的,所述标签指示到与所述监听过滤器模块所在缓存一致性组件连接到内存的存储位置,所述条目与所述标签一一对应。所述监听过滤器模块通过所述标签、条目和内存数据之间的关联及所述条目所指示的缓存行状态,在缓存处理请求命中所述多核处理器三级缓存中缓存行时,提供指向具有该缓存行的集群的矢量。
[0039]
所述条目所指示的缓存行的状态包括:“无效”、“调整”、“共享”和“独享”。“共享”表示缓存行也存在于另外的三级缓存中且是未修改的与内存中数据一致,缓存行可以在任意时刻抛弃。“独享”表示缓存行仅存在与当前三级缓存中,且与所述内存中数据一致,当被其他三级缓存读取与该缓存行对应的内存数据时变成共享状态。“调整”表示三级缓存中的缓存行已被修改,不再与内存中的数据匹配,而且该数据仅存于该三级缓存中,需要但还未被写到内存中。“无效”表示缓存中存储的数据无效,如:对于“共享
“”
状态缓存行,有一个集群修改了一个三级缓存中的该缓存行,其他三级缓存中的相应的缓存行作废成为无效状态。
[0040]
当有读缓存处理请求时,不是无效状态的缓存行都可以被从三级缓存中读出,无效状态的缓存行必须从所述内存5中重新读取相应数据后变成共享或者独享状态来满足读请求;当有写缓存处理请求时,不允许不同的集群同时修改同一个缓存行,在“调整”或“独享”状态下,允许执行写请求,在缓存行为“共享”状态下进行写请求时,会先将其他集群中相关缓存行改为无效状态,再执行写操作调整。
[0041]
本发明引入包含多个监听过滤器的监听过滤器模块来解决多个所述多核处理器缓存一致性问题,而多个所述监听过滤器在处理缓存一致性问题时,相互之间不可避免的会产生冲突。为解决这一问题,本技术在所述缓存一致性组件中设置仲裁模块。
[0042]
所述仲裁模块处理所述监听过滤器模块中全部监听过滤器所监听到的缓存处理请求之间的冲突以及全部监听过滤器所监听到的缓存处理请求与本地请求之间的冲突。
[0043]
在不冲突时,所述仲裁模块控制全部所述监听过滤器监听到的缓存处理请求按顺序被处理,以保证任何进程所发出的缓存处理请求被所述内存5所观察到的顺序必须与进程发出操作的顺序相同,以保证缓存处理请求涉及到的每个读操作所返回的值与所述内存5中被最后一次写操作写入的对应值相同。
[0044]
在产生冲突时,通过轮询仲裁的方式仲裁请求的处理顺序,按照仲裁出的处理顺序处理请求,保证所述监听过滤模块中的多个所述监听过滤器有序运行。具体实施过程中,所述仲裁模块接收缓存处理请求相关的数据和缓存地址后缓存,所述仲裁模块检测全部监听过滤器所监听到的缓存处理请求之间的冲突以及全部监听过滤器所监听到的缓存处理
请求与本地请求之间的冲突。检测到请求冲突时,所述仲裁模块针对冲突相关缓存数据计算权重。
[0045]
在一种可行的实施方式中,每个缓存行的权重计算方式为:
[0046]
weight1i=kip
it
;其中,ki表示缓存行i的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器每个集群的三级缓存中,p为优先级状态向量,与k的维度一致,p中元素值为缓存行所对应进程的优先级程度。使用weight1i确定计算顺序时,weight1i越大越优先执行。
[0047]
在另一种可行的实施方式中,每个缓存行的权重计算方式为:
[0048]
weight2j=k
jrjt
;其中,kj表示缓存行j的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器每个集群的三级缓存中,参阅图6所示,r为替换次数向量,与k的维度一致,r中元素值为缓存行被相应的集群操作而发生替换的次数的倒数。使用weight2i确定计算顺序时,weight2i越小越优先执行。
[0049]
确定冲突缓存处理请求的执行顺序后,当有读缓存处理请求时,不是无效状态的缓存行都可以进行读操作,无效状态的缓存行必须从内存中重新读取相应数据后变成共享或者独享状态来满足读请求;当有写缓存处理请求时,不允许不同的集群同时修改同一个缓存行,在“调整”或“独享”状态下,允许执行写请求,在缓存行为“共享”状态下进行写请求时,会先将其他集群中相关缓存行改为无效状态,再执行写操作调整。
[0050]
所述仲裁模块获取缓存处理请求执行过程中缓存行状态,并转发给所述监听过滤器模块。
[0051]
所述二级接口4用于为所述内存5的读写提供通道。
[0052]
实施例2
[0053]
本发明实施例提供一种存储服务器,所述存储服务器设置固态硬盘,所述固态硬盘耦接所述的存储控制系统:所述存储服务器的数据读写由所述存储控制系统操作。
[0054]
本发明所提供的一种存储控制系统中,引入多核处理器来进行进程处理,增加处理进程能力、提高系统性能。为了解决单一监听过滤器实现缓存一致性控制的能力限制多核处理器进程处理能力的问题,本技术引入所述缓存一致性组件,所述缓存一致性组件包括:监听过滤器模块和仲裁模块。所述监听过滤器模块包括:多个监听过滤器,通过多个所述监听过滤器分担监听与所述缓存一致性组件耦合的多核处理器的缓存处理请求,能够有效地提高缓存一致性的处理效率,提升存储系统性能,所述仲裁模块处理全部所述监听过滤器所监听的缓存处理请求之间的冲突和缓存处理请求与本地请求之间的冲突,并通过轮询仲裁的方式仲裁请求的处理顺序,保证所述监听过滤器模块中的多个所述监听过滤器监听到的缓存处理请求有序处理。本技术通过多核处理器和缓存一致性组件的配合,形成了缓存一致性性能与多核处理性能相适配的存储控制系统,能够有效地提高产品竞争力。
[0055]
在本发明所提供的实施例中,应该理解到,所揭露的结构,可以通过其它的方式实现。例如,以上所描述的结构实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,结构或单元的间接耦合或通信连接,可
以是电性,机械或其它的形式。
[0056]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0057]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种存储控制系统,其特征在于,包括:至少一多核处理器(2)、缓存一致性组件(1)、内存(5)、一级接口(3)和二级接口(4);所述缓存一致性组件(1)通过所述一级接口(3)耦合所述多核处理器(2),所述缓存一致性组件(1)通过所述二级接口(4)耦合所述内存(5);所述缓存一致性组件(1)包括:监听过滤器模块(11)和仲裁模块(12),所述监听过滤器模块(11)包括多个监听过滤器,多个所述监听过滤器分担监听与所述缓存一致性组件(1)耦合的所述多核处理器(2)的缓存处理请求,为维护数据一致性提供服务;所述仲裁模块(12)处理全部所述监听过滤器所监听的缓存处理请求之间的冲突和缓存处理请求与本地请求之间的冲突,并通过轮询仲裁的方式仲裁请求的处理顺序,保证所述监听过滤器模块(11)中的多个所述监听过滤器监听到的缓存处理请求有序处理。2.根据权利要求1所述的一种存储控制系统,其特征在于,每个所述多核处理器(2)独立拥有三级缓存,所述三级缓存包括:l1缓存、l2缓存和l3缓存,其中,所述l1缓存和l2缓存为所述多核处理器(2)中的集群独立拥有;且所述l1缓存为分离缓存,包括:l1数据缓存和l1指令缓存,分别存储数据和指令,所述l2缓存为统一缓存;所述l3缓存为所述多核处理器(2)中多个所述集群共享。3.根据权利要求1所述的一种存储控制系统,其特征在于,所述一级接口(3)接收由所述多核处理器(2)数据缓存事务进程提供的缓存处理请求,所述一级接口(3)通过请求管理控制和io管理分配将所述缓存处理请求发送到所述缓存一致性组件(1),所述缓存处理请求包含组成缓存行的缓存数据和缓存地址信息。4.根据权利要求1所述的一种存储控制系统,其特征在于,所述监听过滤器为维护数据一致性提供服务包括:所述缓存处理请求命中所述多核处理器(2)缓存中缓存行时,提供指向具有该缓存行的集群的矢量,在缓存处理请求改变命中的缓存行时,通过提供的矢量确保集群的相关三级缓存的缓存一致性,所述缓存处理请求未命中所述多核处理器(1)缓存中缓存行时,从所述内存(5)获取数据到缓存中;其中,在缓存中创建存储标签数据的缓存标签组、在所述监听过滤器模块(11)创建条目,将所述标签、所述监听过滤器模块对应的条目与内存中的对应内存数据项相关联,所述标签指示到内存中相应数据的存储位置,所述条目与所述标签一一对应,所述监听过滤器模块(11)通过所述标签、条目和内存数据之间的关联及所述条目指示的缓存行状态,在缓存处理请求命中所述多核处理器三级缓存中缓存行时,提供指向具有该缓存行的集群的矢量。5.根据权利要求4所述的一种存储控制系统,其特征在于,所述条目指示的缓存行的状态包括:“无效”、“调整”、“共享”和“独享”;“共享”表示缓存行也存在于另外的三级缓存中,且未被修改、与所述内存(5)中数据一致,缓存行可以在任意时刻抛弃,“独享”表示缓存行仅存在与当前三级缓存中,且与所述内存(5)中数据一致,当被其他三级缓存读取与该缓存行对应的内存数据时变成“共享”状态;“调整”表示三级缓存中的缓存行已被修改,不再与所述内存(5)中的数据匹配,而且该缓存行仅存于该三级缓存中,需要但还未被写到所述内存(5)中;“无效”表示缓存中存储的缓存行无效。6.根据权利要求1所述的一种存储控制系统,其特征在于,在不冲突时,所述仲裁模块(12)接收缓存处理请求相关的缓存数据和缓存地址后缓存,所述仲裁模块(12)控制全部所述监听过滤器监听到的缓存处理请求按顺序被处理,以保证任何进程所发出的缓存处理请求被所述内存(5)所观察到的顺序与进程发出操作的顺序相同,以保证缓存处理请求涉及
到的每个读操作所返回的值与所述内存(5)中被最后一次写操作写入的对应值相同。7.根据权利要求1所述的一种存储控制系统,其特征在于,检测到请求冲突时,所述仲裁模块(12)针对冲突相关的缓存行计算第一权重,所述第一权重的计算公式为:weight1
i
=k
i
p
it
;其中,k
i
表示缓存行i的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器每个集群的三级缓存中,p为优先级状态向量,与k的维度一致,p中元素值为缓存行所对应进程的优先级程度,使用第一权重确定处理顺序时,第一权重越大越优先执行。8.根据权利要求1所述的一种存储控制系统,其特征在于,检测到请求冲突时,所述仲裁模块针对冲突相关的缓存行计算第二权重,所述第二权重的计算公式为:weight2
j
=k
j
r
jt
;其中,k
j
表示缓存行j的共享状态向量,形式为[k[0],k[1],
……
k[n-1]],k[i]∈{0,1},缓存行的共享状态向量表征了缓存行是否存在于所述多核处理器(1)每个集群的三级缓存中,r为替换次数向量,与k的维度一致,r中元素值为缓存行被相应的集群操作而发生替换的次数的倒数,使用所述第二权重确定计算顺序时,所述第二权重小越优先执行。9.根据权利要求2、7或8所述的一种存储控制系统,其特征在于,所述多核处理器(2)中,设定数量的核心组成所述集群。10.一种存储服务器,其特征在于,所述存储服务器设置固态硬盘,所述固态硬盘耦接如权利要求1-9任一所述的存储控制系统。
技术总结
本发明涉及一种存储控制系统及存储服务器。本发明中缓存一致性组件通过一级接口耦合多核处理器,缓存一致性组件通过二级接口耦合内存;缓存一致性组件包括监听过滤器模块和仲裁模块,监听过滤器模块包括多个监听过滤器,多个监听过滤器分担监听与缓存一致性组件耦合的多核处理器的缓存处理请求,仲裁模块处理多个监听过滤器所监听的缓存处理请求之间的冲突和缓存处理请求与本地请求之间的冲突,并通过轮询仲裁的方式仲裁请求的处理顺序,保证监听过滤器模块中的多个监听过滤器监听到的缓存处理请求有序处理,形成了缓存一致性性能与多核处理性能相适配的存储控制系统,能够有效地提高产品竞争力。效地提高产品竞争力。效地提高产品竞争力。
技术研发人员:颜港 刘奇浩 孟凡兴 程希光 李鑫明
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2023.03.24
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种X射线成像系统的制作方法 下一篇:内镜下使用的套扎装置的制作方法
