威尼斯人棋牌-威尼斯欢乐娱人城-首页

存储器时序参数的动态配置的制作方法

文档序号:24941926发布日期:2021-05-04 11:35
存储器时序参数的动态配置的制作方法



背景技术:

存储器和相应的存储器控制器之间的信令由根据相应的信令协议规定的各种时序参数决定。在常规处理系统中,在初始系统配置期间(即,在启动期间)使用存储器时序参数的集合的固定值对存储器控制器编程,并且对于所有后续存储器存取操作,存储器控制器将这些相同的固定值用于存储器时序参数。固定或默认的存储器时序参数值通常存储在基本输入/输出系统(bios)或其他引导只读存储器(rom)中,并且通常基于存储器制造商的建议或规格。这样,这些默认的存储器时序参数值被配置成保守的时序值,以试图为大多数或所有预期的系统配置提供稳定的操作。

附图说明

通过参考附图,可更好地理解本公开,并且本公开的许多特征和优点对本领域技术人员来说变得显而易见。在不同图中使用相同的附图标记来指示类似或相同的项目。

图1是图示根据一些实施方案的具有动态可重新配置的存储器控制器的处理系统的框图。

图2是图示根据一些实施方案的图1的动态可重新配置的存储器控制器的示例实现的框图。

图3是图示根据至少一些实施方案的用于动态地重新配置用于存储器控制器的一组存储器时序参数的方法的流程图。

图4是图示根据一些实施方案的用于促进用户选择用于动态重新配置的多个预定义组的存储器时序参数值的方法的流程图。

图5是图示根据一些实施方案的示例图形用户界面(gui)的图,所述图形用户界面用于接收指示选择用于在存储器控制器处实现的一组存储器时序参数值的用户输入。

具体实施方式

使用保守的存储器时序参数值的固定集合来配置bios或其他引导rom的常规方法通常实现所需的结果,即提供足够的时序裕量以适应各种系统实现方式。然而,在许多情况下,工作负载或系统实现方式将不需要由保守的存储器时序参数的固定集合提供的时序裕量,在这些情况下,过量的时序裕量通常会不必要地阻碍存储器速度并且因此限制了整体处理性能。因此,为了促进改善的系统性能,本文中公开了用于在初始化后操作期间动态重新配置存储器控制器的一个或多个存储器时序参数的集合的系统和技术。在至少一个实施方案中,处理系统通过使用从引导配置获得的存储器时序参数值的默认集合来配置存储器控制器而初始化。当系统进入初始化后操作模式时,系统被配置成提供图形用户界面(gui)或其他用户界面,以接收指示用于一组存储器时序参数中的一个或多个的更新值的用户输入,所述存储器时序参数由存储器控制器使用以配置在存储器控制器与存储器之间进行的信令。在一些实施方案中,用户可提供以单独的存储器时序参数为基础来提供更新的存储器时序参数值的用户输入。然而,由于许多存储器时序参数是高度相互依赖的,因此在其他实施方案中,多组预配置的存储器时序参数值是作为选项提供给用户,然后用户选择预配置的存储器时序参数值的特定集合作为存储器时序参数值的更新集合。

响应于接收到指示要使用的一组一个或多个更新的存储器时序参数的用户输入,处理系统使存储器控制器空闲,并且当存储器控制器空闲时,处理系统的装置驱动器或其他部件动态地重新配置存储器控制器,以开始使用所述组一个或多个更新的存储器时序参数来代替先前的值。然后允许存储器控制器退出其空闲状态,并且开始基于更新的存储器时序参数值来进行使用信令的存储器操作。通过这种方式,在系统运行期间动态地重新配置存储器控制器(即,无需重新引导、通电复位或其他系统重新初始化就可以重新配置)以便实现更新的存储器时序参数,与在系统初始化期间为存储器控制器配置的存储器时序参数值的默认固定集合相比,更新的存储器时序参数被更好地调整为正在实现的特定工作负载或系统配置。因此,对于预期的工作负载或其他系统配置,允许用户微调存储器控制器以提供减少的存储器存取等待时间,从而提高系统性能。

出于说明目的,在针对图形处理单元(gpu)或图形存储器的存储器控制器的动态重新配置的上下文中描述了这种动态存储器时序参数重新配置技术的示例。然而,这种技术不限于这一示例上下文,而是可用于多种存储器控制器类型中的任何一种的动态重新配置,包括用于系统存储器的存储器控制器、用于芯片外高速缓存的存储器控制器等。

图1图示了根据至少一个实施方案的采用动态存储器时序重新配置的处理系统100。处理系统100包括例如中央处理器(cpu)102和图形处理单元(gpu)104的一个或多个处理器,以及例如系统存储器106和图形存储器108的一个或多个随机存取存储器(ram)。在所图示的实施方案中,gpu104在图形子系统110(例如,图形卡)中实现,图形子系统110还包括用于连接到cpu102的总线接口112、用于存储图形子系统110的初始化信息的gpubios114以及用于代表gpu104来控制对图形存储器108的存取的存储器控制器116。为了清楚起见,省略了处理系统的其他众所周知的部件,例如连接cpu和图形子系统110的北桥、输入/输出(i/o)管理部件等。

作为处理系统100的一般操作的概述,响应于通电复位(por)或其他启动事件,cpu102使用存储在系统bios、统一扩展固件接口(uefi)或其他系统引导rom(未示出)中的引导信息来开始引导初始化过程。在此系统初始化过程期间,触发图形子系统110以开始其自身的初始化过程,所述初始化过程包括使用存储在gpubios114中的引导信息来初始化图形子系统110的各个部件。gpubios114的引导信息包括存储器时序参数值的默认集合118,在初始化过程期间使用所述存储器时序参数值以初始化存储器控制器116,以实现由存储器时序参数值的此默认集合118表示的默认存储器时序。如下文所详细描述的,在一些实施方案中,存储器控制器116的初始化包括将默认集合118的每个存储器时序参数值写入到相应的控制寄存器,所述控制寄存器进而用以控制存储器控制器116的相应电路的操作,以便在于存储器控制器与图形存储器108之间进行的信令中提供相应的存储器时序参数。

在系统初始化完成之后,处理系统100进入操作模式,在操作模式期间,cpu102实行操作系统(os)120和至少部分地存储在系统存储器106中的一个或多个App应用程序(例如,图形配置实用应用程序122)。当在此操作模式下,cpu102或其他部件可经由通过cpu102实行的装置驱动程序128向图形子系统110分配要实行的工作负载,例如图形渲染工作负载、加密工作负载、机器学习工作负载、区块链操作工作负载等。

在实行这些工作负载时,gpu104依赖于存储器控制器116以利用根据存储在存储器控制器116处的一组存储器时序参数值配置的信令来进行对图形存储器108的存储器存取。如上所述,在系统初始化期间,存储器控制器116配置有存储器时序参数值的默认集合118,所述默认集合通常已被选择以采用保守的存储器时序参数值,以便提供充足的时序裕量,使得图形子系统110在各种工作负载或配置下均可稳定地运行。然而,对于分配给图形子系统110或要分配给图形子系统110的特定工作负载,为存储器控制器116配置的默认时序参数可导致过多的存储器等待时间,从而降低性能。

因此,处理系统100允许在操作期间(即,动态地)以用户为导向对存储器控制器116的存储器时序参数进行重新配置,以便更好地将存储器控制器116与图形存储器108之间的存储器信令调整到工作负载的特定特性。在至少一个实施方案中,处理系统100通过提供配置gui124来促进在这方面的用户输入,用户通过配置gui124来提供指示选择一个或多个存储器时序参数值的更新集合126的输入,并且向处理系统100发送信号以根据此更新集合126来更新存储器控制器116。为了说明,在一些实施方案中,处理系统100采用图形配置实用应用程序122来帮助用户调整图形子系统110的各个方面,并且可提供配置gui124作为图形配置实用应用程序122由cpu102实行的一部分。如下文更详细描述的,配置gui124可支撑各个存储器时序参数的更新,或者鉴于许多存储器时序参数的相互关联性,配置gui124可提供存储器时序参数值的多个预定集合,用户可从中选择一个预定集合进行实施以作为用于重新配置存储器控制器116的存储器时序参数值的更新集合126。下面参考图3和图4来更详细地描述基于默认存储器时序参数值的存储器控制器116的初始配置和随后利用用户指定的存储器时序参数值来动态地重新配置存储器控制器116的过程。

图2图示了根据至少一个实施方案的存储器控制器116的示例实现。存储器控制器116包括命令解码模块202、命令应用模块204、数据路径206、输入输出(io)信令模块208(通常称为物理接口或“phy”)、地址(addr)解码模块210、时钟模块212以及时序配置模块214。这些部件中的每一个被实现为被配置成实行本文中所描述的操作和本领域中已知的其他操作的电路。这些部件的逻辑方面可实现为硬编码逻辑、可编程逻辑或其组合。

由图形子系统110的gpu104或其他部件提供的存储器存取操作(例如,读取(read)操作或写入(write)操作)通常由至少两个部分组成:存储器存取命令部分,所述存储器存取命令部分表示待由存储器控制器116实现的特定命令或操作;和存储器存取地址(addr),所述存储器存取地址(addr)表示~图形存储器108中的存储位置的地址或位置,所述地址或位置是要实现的命令或操作的对象。地址解码模块210用于将接收到的存储器地址解码或转换为与存储位置的物理位置更紧密对齐的地址(例如,虚拟地址到物理地址位置),并且根据其他部件自己的操作需要而将这个解码后地址提供给其他部件。命令解码模块202将接收到的存储器存取操作的命令值转换为一个或多个相应命令,命令应用模块204使用所述命令来控制io/phy208以进行表示这些命令的i/ophy208与图形存储器108之间的信令216,并且控制io/phy208以接收和说明从图形存储器108提供给io/phy208的信令中的任何数据或控制信息。数据路径206用以提供要存储到图形存储器208的任何数据值以作为对io/phy208的存储器操作的一部分,并且将从io/phy208接收的任何数据值提供给命令解码模块202。io/phy208的信令以由时钟模块212提供的至少一个时钟信号(clk)来计时,或通过由时钟模块212提供的至少一个时钟信号(clk)定时。

io/phy208发送到图形存储器108的信令和图形存储器108发送到io/phy208的信令(在本文中统称为“信令216”)的生成、时序、格式化以及说明将由与图形存储器108的存储器类型相关联的存储器接口协议决定。为了说明,根据双倍数据速率(ddr)信令协议(ddr、ddr2、ddr3、ddr4、gddr5等)之一实现的同步动态随机存取存储器(sdram)受到指定的存储器时序约束,例如:cl(列存取选通(cas)等待时间),其通常表示存储器从存储器控制器接收到对指定位置的数据的请求到存储器能够在其输出引脚上提供数据之间的延迟;trcd(ras到cas延迟),其通常表示在目标存储器位置经由行地址选通(ras)激活行与经由cas激活列之间所花费的时间;以及trp(ras预充电),其通常表示禁用存取一行数据到启用存取另一行数据之间的时间。应当注意,尽管已经描述了存储器时序参数的三个示例,但是由存储器信令协议指定的存储器时序参数的典型数目经常包括数十个这样的时序参数。

在至少一个实施方案中,存储器控制器116使用控制寄存器220的集合218来实现由相应的存储器信令协议指定的一些或全部存储器时序参数,其中每个控制寄存器220存储用于在存储器控制器116处实现的一个或多个存储器时序参数值。为了说明,在一种实现方式中,每个存储器时序参数被表示为例如八位值,并且每个控制寄存器220具有例如32位的宽度,因此每个控制寄存器220最多存储四个相应的存储器时序参数值。然后,控制寄存器220中的值可直接地或间接地配置或控制存储器控制器116的其他部件202、204、206、208以及210,以实现相应的存储器时序。举例来说,对于要求存储器控制器116在事件之后等待一定时间量的存储器时序参数,相应的控制寄存器220中的相应的存储器时序参数值的位置充当由时钟信号clk计时的倒数计时器或比较器的输入。替代地,时序配置模块214将相应的值复制到一组触发器或其他临时存储部件,所述组触发器或其他临时存储部件充当计时器或比较器的输入,或对可编程逻辑进行编程以实现相应的存储器时序。作为另一示例,当存储器时序参数值与图形存储器108的时钟速度(mclk)有关时,时序配置模块214基于存储在相应的控制寄存器220中的存储器时序参数值来配置时钟模块212,以配置时钟模块212以提供具有与预期存储器速度相当的频率的时钟信号clk。

如上所述,图形bios114存储用于在系统初始化期间初始化存储器控制器116的一个或多个存储器时序参数值的默认集合218,因此图形子系统110可存取控制寄存器220的集合218,以便将一或多个默认存储器时序参数值从默认集合218复制到控制寄存器220内的相应位置。同样地,由于在此初始化配置之后可动态地重新配置存储器控制器116,所以cpu102可存取控制寄存器220的集合218,因此如本文中所详细描述的,可(例如,经由图形配置实用应用程序122和装置驱动程序128)更新控制寄存器220中的存储器时序参数值。

图3图示了根据一些实施方案的利用动态更新由存储器控制器采用的存储器时序参数的处理系统的操作的示例方法300。为了便于说明,在图1和图2的处理系统100的示例上下文中描述方法300。然而,此方法不限于此上下文,而是可使用本文中所提供的指南在采用可配置存储器控制器的各种处理系统中的任何一者中实现。方法300以触发处理系统302的系统初始化的事件(例如通电复位(por)或来自电源的初始供电)开始。响应于此触发事件,在框304处,处理系统100实行系统初始化系统,所述系统初始化系统包括来自系统bios或其他引导rom的引导过程以初始化cpu102及其相应部件,以及用于图形子系统110的引导过程。作为此图形子系统引导过程的一部分,在框306处,图形子系统110最初通过如下操作来配置存储器控制器116:存取在gpubios114中针对图形存储器108的特定类型或品牌配置的存储器时序参数值的默认集合118,并且将这些默认的存储器时序参数值复制到存储器控制器116的集合218的适当控制寄存器220。以这种方式,图形子系统110初始化存储器控制器116以根据保守的存储器时序运行,所述保守的存储器时序旨在促进存储器控制器116和图形存储器108在各种工作负载下的稳定操作。

在系统初始化完成之后(由框308表示),处理系统100进入操作模式或状态,在操作模式或状态下,一个或多个App应用程序在os120的帮助下实行。os120和至少一些这样的App应用程序将一个或多个工作负载分配给图形子系统110以实行。这些工作负载包括例如图形渲染工作负载、区块链计算工作负载、基于机器学习的工作负载等。尽管在系统初始化期间使用存储器时序参数值的默认集合118来配置存储器控制器116通常允许存储器控制器116和图形存储器108对于这些工作负载中的任何一种都能稳定地运行,但是得到的存储器时序对于分配给图形子系统110的特定工作负载而言可能是次最佳的,并且因此抑制此工作负载的实行性能。

因此,为了发起动态地重新配置存储器控制器116以微调存储器控制器的存储器时序配置以更好地适应特定工作负载的过程,在框310处,用户与os120接口连接以启动gpu配置实用应用程序122。作为实行的一部分,gpu配置实用应用程序122提供配置gui124用于显示。配置gui124包括用于接收用户输入以改变或以其他方式更新用于存储器控制器116的一个或多个存储器时序参数值的特征。配置gui124的示例将参考图5在下文描述。

在框312处,当处理系统100处于操作模式时,用户操纵配置gui124以提供用户输入以选择一个或多个更新的存储器时序参数值(作为更新集合126)以在存储器控制器116处进行。在一些实施方案中,此用户输入是基于每个存储器时序参数而提供;也就是说,用户能够为每个存储器时序参数分别地指定更新值。在这种实现方式中,配置gui124提供各种输入特征中的任何一者以促进用户输入或对各个更新的存储器时序参数值进行选择,例如通过使用下拉列表、空白数字输入字段等。为了防止用户输入与图形存储器108或另一个存储器时序参数值不兼容的存储器时序参数值,配置gui124可范围限制用户对于给定的存储器时序参数值的选择。然而,由于许多存储器时序参数是相互关联的,因此在其他实施方案中,配置gui124提供已被验证为彼此兼容的存储器时序参数值的多个预定备选集合。在如此的实现方式中,用户接着可提供用户输入,所述用户输入指示对存储器时序参数的这些预定集合中的一者的选择。确定和提供存储器时序参数的这些备选集合的过程将参考图4在下文描述。

响应于经由配置gui124接收到用户输入,在框314处,gpu配置实用应用程序122基于此用户输入而发起由存储器控制器116实现的对存储器时序的重新配置。图3的框316到框322图示了此动态重新配置过程。在准备重新配置存储器控制器116时,在框316处,图形子系统110暂时挂起对图形存储器108的所有存储器存取操作。如果启用了mlk切换,则图形子系统110也停止或“冻结”mclk时钟信号(例如,mclk),然后在实施时禁用或退出断续模式。在一些实施方案中,那些已经在飞行中的存储器存取操作被允许完成,而任何缓冲的存储器存取操作被停止进行。

响应于图形子系统110发出信号指示:存储器控制器116在临时挂起启动之后已变得空闲(也就是说,当前没有更多的在飞行中的存储器存取操作),装置驱动程序128挂起yclk信号,然后通过如下操作来发起对存储器控制器116的重新配置:发起将一个或多个存储器时序参数值的用户选择的更新集合126从所述值在cpu102处或系统存储器106中的临时存储位置传送到存储器控制器116中的集合218的各个控制寄存器220。在至少一个实施方案中,控制寄存器220的集合218由图形子系统110的装置驱动程序128来存取和管理,并且装置驱动程序128管理用已更新集合126的更新值覆写控制寄存器220中的当前值的过程。为了说明,在一些实施方案中,装置驱动程序128实行特定的vbios命令dynamicmemorysettings(),所述命令进而调用存储器控制器116的微码功能,所述微码功能使用已更新集合126的值(所述值作为dynamicmemorysettings命令的参数而传递到存储器控制器116)来编程/覆写存储器控制寄存器220的存储器时序值。当将已更新集合126的已更新存储器时序参数值写入到控制寄存器220已完成时,断言重新配置完成信号222(图2)。

响应于重新配置完成信号222的断言,在框320处,重新激活存储器控制器116以使用当前存储在控制寄存器220的集合218中的存储器时序参数值,包括在框318的过程中存储的那些更新值。此重新激活包括例如:激活yclk信号;使存储器控制器116从中断中释放,然后重新启用断续模式,并且如果启用了mclk切换,则重新激活mlck信号。此重新激活还包括例如将存储器时序参数值的副本从控制寄存器220存储到直接控制存储器信令的某些方面的存储器控制器116的电路的缓冲器等。当存储器控制器116的重新激活完成时,在框322处,图形子系统110解除临时挂起并且使存储器控制器116能够使用由用户输入所指定的已更新存储器时序参数值表示的已更新存储器时序来开始处理存储器存取操作。因此,在框324处,os120或另一App应用程序引导图形子系统110实行指定的工作负载,在此期间,存储器控制器116使用基于这些已更新存储器时序的信令来实行存储器存取操作。在一些实施方案中,可能要对用户方面进行实验以识别存储器时序参数值的特定集合,所述值为给定的工作负载提供最佳或更优化的存储器操作性能。因此,在一些实施方案中,使用更新的存储器时序参数值来动态地重新配置存储器控制器116的过程进行一次或多次迭代,直到用户已经为相应工作负载识别出令人满意的存储器时序配置为止。

图4图示了根据一些实施方案的用于经由在备选存储器时序参数值的预定义集合中进行用户选择来动态地重新配置存储器控制器的存储器时序的示例方法400。方法400将在图1和图2的处理系统的示例上下文中描述。方法400被分为装置/配置实用设计阶段和装置运行阶段。如上所述,由于存储器时序的相互关联性,允许用户单独地调整存储器时序而不导致不稳定的存储器控制器操作可能是不切实际的。因此,框402处的装置/配置实用设计阶段期间,与提供或实现图形子系统110有关的设计者、供应商或其他方确定存储器时序参数值的多个备选集合,每个这样的集合在本文中也被称为存储器时序配置级别。每个存储器时序配置级别表示一组存储器时序参数值,所述组存储器时序参数值已被确定为提供存储器控制器116和图形存储器108的最小稳定操作,并且每个连续级别为一个或多个相应的存储器时序参数提供更严格的时序裕量。可使用例如仿真App进行此评估和确定,所述仿真App利用存储器控制器116和图形存储器108的设计来迭代遍历存储器时序参数值的各种排列,并且从彼此一致并且至少提供目标稳定度的存储器时序参数值的那些标识组合进行迭代。

在框404处,参与方设计或配置gpu配置实用应用程序122,以经由配置gui124呈现至少存储器时序配置级别的子集作为用户的可选择选项。在一些实施方案中,提供在框402处识别的每个存储器时序配置级别作为选项。在其他实施方案中,选择存储器时序配置级别的较小子集以提供作为用户可选择的选项。举例来说,在许多存储器时序级别之间只有很小的性能差异的情况下,仅少量的存储器时序配置级别(例如,三个、四个或五个存储器时序配置级别)可作为选项提供给用户,所包括的存储器时序配置级别是基于例如稳定性、预期的性能增强的程度、对可能的工作负载类型的预期等来选择。

简要地参考图5,图示了用于提供用户可选择的存储器时序级别的配置gui124的示例实现。出于此示例的目的,gui124被描绘为可从advancedmicrodevices,inc.获得的radeonwattman配置实用应用程序的扩展。radeonwattman应用程序提供一种gui,例如图5所示的gui,用户通过gui来观察或改变相应的图形子系统的各种参数或配置,例如频率、温度、电压等。图5的配置gui124通过添加存储器时序级别特征502来进一步扩展此功能,所述特征可视地描绘可供使用的多个存储器时序配置级别,并且由用户操纵以提供指示选择这些可用存储器时序配置级别中的一者的用户输入。在所图示的示例中,存储器时序级别特征502被描绘为提供三个存储器时序配置级别的下拉列表,所述配置级别中的第一配置级别是由在系统初始化时实现的存储器时序参数值的默认集合118表示的默认存储器时序配置级别,而其余两个配置级别表示逐渐减小的存储器时序裕量。此外,在所图示的示例中,每个存储器时序配置级别选项包括用于指示用户选择的单选按钮,所述用户选择可马上实现或通过用户选择另一特征(例如在配置gui124的右上角的所示出的“应用”特征)来实现。

返回参考图4,在gpu配置实用应用程序122的设计和配置完成的情况下,可发布此App工具以供工具设计所针对的处理系统100的用户使用。因此,进入装置运行阶段,用户引导处理系统100实行gpu配置实用应用程序122,如此进而触发配置gui124的显示。在框406处,配置gui124接收用户输入,所述用户输入指示对在配置gui124中呈现的存储器时序配置级别选项中的特定选项的选择(例如,对与相应的存储器时序配置级别相关联的单选按钮的选择)。在框408处,gpu配置实用应用程序122引导图形子系统110使用以上参考方法300的框314所描述的过程在存储器控制器116处动态地实现所选择的存储器时序配置级别的存储器时序参数值。

当如此重新配置存储器控制器116时,在框410处,用户使用所选择的存储器时序来实行工作负载,然后针对所选择的工作负载对存储器子系统的稳定性和/或有效性进行评估。在用户对性能满意的情况下(框412),则在框414处,用户维持用于实行工作负载的一次或多次迭代或工作负载的一次或多次变化的当前存储器时序。在用户对当前存储器时序下的性能不满意的情况下,用户可返回到配置gui并且使用另一个所选择的存储器时序配置级别来重复框406到框412的过程,直到用户识别出图形子系统110的最佳或最令人满意的存储器时序配置为止。

在一些实施方案中,上文所描述的系统和技术是在包括一个或多个集成电路(ic)装置(也被称为集成电路封装或微芯片)的系统中实现,所述ic装置例如上文参考图1到图5所描述的处理系统的部件。电子设计自动化(eda)和计算机辅助设计(cad)App工具可在设计和制造这些ic装置时使用。这些设计工具通常被表示为一个或多个App程序。所述一个或多个App程序包括代码,所述代码可由计算机系统实行以操纵计算机系统对表示一个或多个ic装置的电路的代码进行操作,以便实行用以设计或调适制造系统从而制造电路的过程的至少一部分。这个代码包括指令、数据或指令与数据的组合。表示设计工具或制造工具的App指令通常存储在计算系统可存取的计算机可读存储介质中。同样地,表示ic装置的设计或制造的一个或多个阶段的代码可存储在同一个计算机可读存储介质或不同的计算机可读存储介质中,并且从同一个计算机可读存储介质或不同的计算机可读存储介质存取。

计算机可读存储介质可包括在使用期间可由计算机系统存取以将指令和/或数据提供给计算机系统的任何非暂时性存储介质或非暂时性存储介质的组合。此类存储介质包括但不限于光学介质(例如,压缩光盘(cd)、数字通用光盘(dvd)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(ram)或高速缓存)、非易失性存储器(例如,只读存储器(rom)或快闪存储器)或基于微机电系统(mems)的存储介质。计算机可读存储介质可嵌入在计算系统中(例如,系统ram或rom),固定地附接到计算系统(例如,磁性硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(usb)的快闪存储器),或经由有线或无线网络耦合到计算机系统(例如,网络可存取存储装置(nas))。

在一些实施方案中,上述技术的某些方面可由实行App的处理系统的一个或多个处理器来实现。App包括存储或以其他方式有形地体现在非暂时性计算机可读存储介质上的一组或多组可实行指令。App包括在由一个或多个处理器实行时操纵一个或多个处理器来实行上述技术的一个或多个方面的指令和某些数据。非暂时性计算机可读存储介质包括例如磁盘或光盘存储装置、固态存储装置(例如快闪存储器)、高速缓存、随机存取存储器(ram)或一个或多个其他非易失性存储器装置等。存储在非暂时性计算机可读存储介质上的可实行指令可以源代码、汇编语言代码、对象代码或由一个或多个处理器解译或以其他方式可实行的其他指令格式来实现。

应注意,并不需要上文在一般描述中所描述的所有活动或元件,特定活动或装置的一部分可能是不需要的,并且可实行一个或多个其他活动,或可包括除所描述的那些元件之外的元件。此外,列出活动的顺序不一定是实行活动的顺序。另外,已经参考具体实施方案描述了概念。然而,本领域中的普通技术人员会了解,在不背离如在所附权利要求中阐述的本公开的范围的情况下,可做出各种修改和改变。因此,本说明书和图式将被视为说明性而非限制性的,并且所有此类修改都意图被包括在本公开的范围内。

已经关于具体实施方案在上文描述了益处、其他优点以及问题的解决方案。然而,所述益处、优点、问题的解决方案以及可使任何益处、优点或问题的解决方案出现或变得更突出的任何特征都不应被说明为是任何或所有权利要求的关键、必需或必要特征。此外,以上所公开的特定实施方案只是说明性的,因为所公开的主题可按受益于本文教义的本领域的技术人员显而易知的不同但等效的方式来修改和实践。并不意图限制本文中示出的构造或设计的细节,除了所附权利要求中所描述的。因此,显而易见,以上所公开的特定实施方案可被更改或修改,并且所有此类变化被认为在所公开的主题的范围内。因此,本文所寻求的保护正如所附权利要求中所陈述。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图