在客户端之间共享对存储器的访问制造技术

技术编号:9601162 阅读:87 留言:0更新日期:2014-01-23 05:44
在具有存储内容数据的一组存储器条的存储器设备中,至少两个对在一组存储器条中的第一存储器条中执行相应的存储器操作的请求在单个时钟周期期间被接收。确定至少两个请求中的一个或多个请求被阻止访问第一存储器条。作为对确定了至少两个请求中的一个或多个请求被阻止的响应:访问冗余数据,冗余数据与第一存储器条相关联,并且不同于被存储在第一存储器条中的内容数据,并且无需访问第一存储器条的情况下,被存储在第一存储器条中的内容数据的至少一部分基于与第一存储器条相关联的冗余数据被重新构建。第一个被请求的存储器操作利用存储在第一存储器条中的内容数据被执行,并且第二个被请求的存储器操作利用i)无需访问第一存储器条的,并且ii)基于与第一存储器条相关联的冗余数据重新构建的内容数据被执行。

【技术实现步骤摘要】
【国外来华专利技术】在客户端之间共享对存储器的访问相关申请的交叉引用本申请要求2010年11月22日提交的名称为“Table Sharing Among Clients”的美国临时申请N0.61/416,247的权益,并且还要求2011年I月6日提交的名称为“TableSharing Among Clients”的美国临时申请N0.61/430,400的权益,其全部内容通过引用被结合于此。
本公开一般地涉及在存储器中同时执行操作,并且更具体地,涉及被用在通信网络中的交换设备的同时存储器访问。
技术介绍
这里所提供的
技术介绍
描述是出于一般地呈现本公开的上下文的目的。当前所标明的专利技术人的工作,就其在该
技术介绍
部分中被描述的以及说明书中的那些不能作为提交申请时的现有技术的方面而言,既不明示也不暗示地被承认是针对本公开的现有技术。传统的存储器设备通常被配置以使得在任意给定的时钟周期中只有一个存储器操作(例如读操作)可以在存储器的特定区块处被执行。在一些联网或交换应用的上下文中,被用于分组处理的各种数据(例如控制表、转发表等)在各种交换设备或单一设备的交换核之间被共享。这些多个设备和核一起提供在大量端口之间进行交换的能力。然而,多个设备和核快速访问存储在共享存储器中的数据的能力的限制可能会导致交换能力的减弱。或者,为每个设备提供其自己的存储器设备就附加存储器的直接花费和不同存储器同步所需要的资源而目可能都是很昂贵的。
技术实现思路
在一个实施例中,一种在存储器设备中执行存储器操作的方法,该存储器设备具有存储内容数据的一组存储器条,该方法包括在单个时钟周期期间,接收至少两个对在一组存储器条中的第一存储器条中执行相应的存储器操作的请求。该方法还包括确定至少两个请求中的一个或多个请求被阻止访问第一存储器条。此外,该方法包括作为对确定至少两个请求中的一个或多个请求被阻止访问第一存储器条的响应:访问冗余数据,该冗余数据与第一存储器条相关联,并且不同于被存储在第一存储器条中的内容数据,并且基于与第一存储器条相关联的冗余数据来重新构建被存储在第一存储器条中的内容数据的至少一部分,而不访问第一存储器条。该方法还包括利用被存储在第一存储器条中的内容数据来执行第一个被请求的存储器操作;以及利用i)不访问第一存储器条的,并且ii)基于与第一存储器条相关联的冗余数据重新构建的内容数据来执行第二个被请求的存储器操作。在另一实施例中,一种存储器设备包括存储内容数据的一组存储器条,一组存储器条包括第一存储器条。该存储器设备还包括存储器控制器,该存储器控制器被配置为:当至少两个对在第一存储器条中执行相应的存储器操作的请求在单个时钟周期期间被接收到时,确定至少两个请求中的一个或多个请求被阻止访问第一存储器条;作为对确定至少两个请求中的一个或多个请求被阻止访问第一存储器条的响应:访问与第一存储器条相关联的冗余数据,与第一存储器条相关联的冗余数据不同于被存储在第一存储器条中的内容数据,并且基于与第一存储器条相关联的冗余数据来重新构建被存储在第一存储器条中的内容数据的至少一部分,而不访问第一存储器条;基于被存储在第一存储器条中的内容数据来执行第一个被请求的存储器操作;以及基于i)不访问第一存储器条的,并且ii)基于与第一存储器条相关联的冗余数据重新构建的内容数据来执行第二个被请求的存储器操作。在另一实施例中,一种网络设备包括存储内容数据的一组存储器条以及交换核,该交换核被配置为访问一组存储器条并且基于被存储在一组存储器条中的内容数据来执行分组处理操作。网络设备还包括存储器控制器,该存储器控制器被配置为:从交换核接收对在第一存储器条中执行存储器操作的请求,第一存储器条被包括在一组存储器条中;确定交换核中的至少一部分被阻止访问第一存储器条;作为对确定交换核的至少一部分被阻止访问第一存储器条的响应:访问与第一存储器条相关联的冗余数据,冗余数据不同于被存储在第一存储器条中的内容数据,并且基于与第一存储器条相关联的冗余数据重新构建被存储在第一存储器条中的内容数据的至少一部分,而不访问第一存储器条;以及利用i)在不访问第一存储器条的情况下ii)基于与第一存储器条相关联的冗余数据重新构建的内容数据来执行被请求的存储器操作。【附图说明】图1是根据实施例的包括共享访问存储器的示例性网络设备的框图;图2是根据实施例的示例性共享访问存储器设备的框图;图3是根据实施例的另一示例性共享访问存储器设备的框图;图4A-4D是根据实施例的具有多个层级的存储器体系架构的框图;图5是根据实施例的、在具有存储内容数据的一组存储器条的共享访问存储器设备中执行存储器操作的示例性方法的流程图;以及图6是在具有存储内容数据的一组存储器条的共享访问存储器设备中执行存储器操作的另一示例性方法的实施例流程图。【具体实施方式】用于在若干个客户端设备之间共享存储器空间的示例性共享存储器设备和方法在这里被描述。出于说明的目的,示例性共享存储器设备在用于处理在通信网络上被传送的分组的多核交换机的上下文中被描述。注意,在本公开和这里的教导的启发下,无论在何处诸如处理器、处理器核、电路、流水线级等之类的若干个客户端设备需要同时在共享存储器上执行存储器操作(例如(但不只是)读操作),用于存储器共享的类似方法和装置都是合适的。所描述的共享存储器装置方法论不局限于在通信网络设备中使用,而是也可以被用在其它合适的上下文中。图1是根据实施例的诸如第2层和/或第3层交换机之类的示例性多核网络设备100的框图。网络设备100包括存储器设备104,该存储器设备104被耦接到多个分组处理核108并且被这些分组处理核使用,分组处理核在这里也被称为交换核,下面将进行更详细的描述。网络设备100还包括多个端口 112,并且每个端口 112被耦接到与通信网络相关联的相应的通信链路。在实施例中,分组处理核108被配置为处理经由端口 112接收的分组,并且确定分组接下来应该经由其被传送的相应的端口 112。在实施例中,分组处理核108利用被存储在存储器设备104中的一个或多个控制表,例如转发数据库表格。因为分组处理核108并行操作,所以核108中的两个或更多个核可能需要同时在存储器设备104的相同部分执行存储器操作,例如执行同时的读操作来得到针对来自或去往相同地址的分组的转发信息。下面将更详细地描述,在实施例中,存储器设备104包括存储内容数据的第一组存储器条,内容数据例如一个或多个控制表。存储器设备104还包括存储与被存储在第一组存储器条120中的内容数据相关联的冗余信息的第二组一个或多个存储器条。在实施例中,当存储器设备104 (例如在存储器设备104的同一时钟周期中)同时接收到对在存储器条120中的一个存储器条中执行存储器操作的请求时,存储器设备104被配置为确定多个请求中的一个或多个请求被阻止访问一个存储器条120。作为对确定多个请求中的一个或多个请求被阻止访问一个存储器条120的响应,存储器设备104被配置为访问来自存储器条124的冗余数据,并且利用冗余数据而不利用存储在一个存储器条120中的数据来重新构建存储在一个存储器条120中的数据。被请求的存储器操作中的一个操作利用存储在一个存储器条120中的数据被执行。另一方面,本文档来自技高网...

【技术保护点】
一种在存储器设备中执行存储器操作的方法,所述存储器设备具有存储内容数据的一组存储器条,所述方法包括:在单个时钟周期期间,接收至少两个对在所述一组存储器条中的第一存储器条中执行各存储器操作的请求;确定所述至少两个请求中的一个或多个请求被阻止访问所述第一存储器条;作为对确定了所述至少两个请求中的所述一个或多个请求被阻止访问所述第一存储器条的响应:访问冗余数据,所述冗余数据与所述第一存储器条相关联,并且不同于被存储在所述第一存储器条中的内容数据,并且基于与所述第一存储器条相关联的所述冗余数据来重新构建被存储在所述第一存储器条中的所述内容数据的至少一部分,而不访问所述第一存储器条;利用被存储在所述第一存储器条中的所述内容数据来执行第一个被请求的存储器操作;以及利用i)无需访问所述第一存储器条,并且ii)基于与所述第一存储器条相关联的所述冗余数据重新构建的内容数据来执行第二个被请求的存储器操作。

【技术特征摘要】
【国外来华专利技术】2010.11.22 US 61/416,247;2011.01.06 US 61/430,4001.一种在存储器设备中执行存储器操作的方法,所述存储器设备具有存储内容数据的一组存储器条,所述方法包括: 在单个时钟周期期间,接收至少两个对在所述一组存储器条中的第一存储器条中执行各存储器操作的请求; 确定所述至少两个请求中的一个或多个请求被阻止访问所述第一存储器条; 作为对确定了所述至少两个请求中的所述一个或多个请求被阻止访问所述第一存储器条的响应: 访问冗余数据,所述冗余数据与所述第一存储器条相关联,并且不同于被存储在所述第一存储器条中的内容数据,并且 基于与所述第一存储器条相关联的所述冗余数据来重新构建被存储在所述第一存储器条中的所述内容数据的至少一部分,而不访问所述第一存储器条; 利用被存储在所述第 一存储器条中的所述内容数据来执行第一个被请求的存储器操作;以及 利用i)无需访问所述第一存储器条,并且ii)基于与所述第一存储器条相关联的所述冗余数据重新构建的内容数据来执行第二个被请求的存储器操作。2.根据权利要求1所述的方法,其中: 所述一组存储器条是第一组存储器条, 访问与所述第一存储器条相关联的所述冗余数据包括访问被存储在第二组一个或多个存储器条中的至少一个第二存储器条中的冗余数据, 所述至少一个第二存储器条对应于所述第一存储器条,并且 所述第二组一个或多个存储器条要存储与被存储在所述第一组存储器条中的内容数据相关联的冗余数据。3.根据权利要求2所述的方法,其中基于与所述第一存储器条相关联的所述冗余数据来重新构建被存储在所述第一存储器条中的所述内容数据的所述至少一部分包括基于被存储在所述至少一个第二存储器条的对应的特定地址中的冗余数据来重新构建被存储在所述第一存储器条的特定地址中的内容数据。4.根据权利要求2所述的方法,其中基于所述冗余数据来重新构建被存储在所述第一存储器条中的所述数据的所述至少一部分包括: 基于被存储在所述至少一个第二存储器条中的所述冗余数据、并且还基于被存储在所述第一组存储器条的子集中的内容数据来重新构建被存储在所述第一存储器条中的所述数据的所述至少一部分,所述第一组存储器条的所述子集不包括所述第一存储器条。5.根据权利要求1所述的方法,其中所述冗余数据是第一冗余数据,并且所述方法还包括: (a)确定所述至少两个请求中的所述一个或多个请求被阻止访问所述第一冗余数据,并且基于确定所述至少两个请求中的所述一个或多个请求被阻止访问所述第一冗余数据,放弃基于所述第一冗余数据来重新构建被存储在所述第一存储器条中的所述内容数据的所述至少一部分; (b)确定所述至少两个请求中的所述一个或多个请求被阻止访问下一个冗余数据; (c)当所述至少两个请求中的所述一个或多个请求未被阻止访问所述下一个冗余数据时,无需访问所述第一存储器条,基于所述下一个冗余数据来重新构建被存储在所述第一存储器条中的所述数据的所述至少一部分; (d)当所述至少两个请求中的所述一个或多个请求被阻止访问所述下一个冗余数据时,执行以下操作中的一个操作: 在发生在所述单个时钟周期之后的时钟周期期间,尝试访问所述第一存储器条;或者 针对另外的冗余数据,重复步骤(b)到(d)。6.根据权利要求1所述的方法,其中基于所述冗余数据来重新构建被存储在所述第一存储器条中的所述数据的所述至少一部分包括基于与奇偶校验计算相对应的数据来重新构建被存储在所述第一存储器条中的所述数据的所述至少一部分。7.—种存储器设备,包括: 存储内容数据的一组存储器条,所述一组存储器条包括第一存储器条;以及 存储器控制器,所述存储器控制器被配置为: 当在单个时钟周期期间接收到至少两个对在所述第一存储器条中执行各存储器操作的请求时,确定所述至少两个请求中的一个或多个请求被阻止访问所述第一存储器条;作为对确定所述至少两个请求中的所述一个或多个请求被阻止访问所述第一存储器条的响应: 访问与所述第一存储器条相关联的冗余数据,与所述第一存储器条相关联的所述冗余数据不同于被存储在所述第一存储器条中的内容数据,并且 基于与所述第一存储器条相关联的所述冗余数据来重新构建被存储在所述第一存储器条中的所述内容数据的至 少一部分,而不访问所述第一存储器条; 基于被存储在所述第一存储器条中的所述内容数据来执行第一个被请求的存储器操作;以及 基于i)无需访问所述第一存储器条,并且ii)基于与所述第一存储器条相关联的所述冗余数据重新构建的内容数据来执行第二个被请求的存储器操作。8.根据权利要求7所述的存储器设备,其中: 所述一组存储器条是第一组存储器条, 所述存储器设备还包括第二组存储器条,所述第二组存储器条存储与被存储在所述第一组存储器条中的内容数据相关联的冗余数据,并且 ...

【专利技术属性】
技术研发人员:G·利维N·比沙拉Y·齐默尔曼C·阿拉德
申请(专利权)人:马维尔国际贸易有限公司马维尔以色列MLSL有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1