用于控制功能组件的存储器使用的方法和设备的制造方法

文档序号:8258384阅读:325来源:国知局
用于控制功能组件的存储器使用的方法和设备的制造方法
【技术领域】
[0001]本发明涉及用于控制功能组件的存储器使用的方法和设备,该功能组件可以,但不一定是,例如,网络元件的网络接口,例如,网络协议“IP”路由器的网络接口。此外,本发明涉及用于控制功能组件的存储器使用的计算机程序,并且涉及网络元件。
【背景技术】
[0002]虚拟存储器是涉及将处理所使用的存储器地址(称为虚拟地址)映射到物理存储器的物理地址的一项存储器管理技术的概念。处理所看到的虚拟存储器可以显示为被称为虚拟存储器页的一堆固定长度连续虚拟存储器块,它们是用于管理虚拟存储器和物理存储器之间的映射的基础数据单元。每个虚拟存储器页的大小优选为2的乘方,诸如,但不一定是,212字节=4096字节。操作系统管理物理存储器和虚拟存储器之间的映射。地址转换功能通常也被称为存储器管理单元“MMU”或分页存储器管理单元“PMMU”,将虚拟地址自动转换为物理地址,使得考虑中的处理能够以虚拟地址操作。
[0003]与许多电子设备相联系,诸如,数据传输网络的网络元件,不仅是中央处理单元“CPU”使用物理存储器运行一个或多个处理,也有诸如网络接口的外围组件使用物理存储器,例如,线卡“LC”和网络处理器“NP”。因此,需要管理由CPU和外围组件运行的一个或多个处理的存储器使用,使得它们不相互干扰。布置由CPU和外围组件运行的一个或多个处理的存储器使用的一种传统方法是,以相同方法应对CUP和外围组件所运行的处理,使得,对于这些的每个而言,由管理物理存储器和虚拟存储器之间的映射的操作系统提供具体虚拟存储器,并且存储器管理单元“MMU”被用于将虚拟存储器地址转换成物理地址。诸如处理数据分组或帧的网络处理器的外围组件的存储器使用,可能随时间推移而迅速改变。因此,上述用于管理存储器使用的传统方式的不便之处是,操作系统必须频繁执行针对这些外围组件的存储器管理,并且,结果必然是,运行操作系统的资源可能负载过重,以至于这些资源在一些情况下构成了限制整个电子设备的容量的瓶颈。

【发明内容】

[0004]下文给出了简化的摘要,以便提供对于各个发明实施例的某些方面的基本理解。
【发明内容】
不是本发明的广泛概述。也并非旨在识别本发明的重要或关键要素,也非详细描述本发明的范围。下文的
【发明内容】
主要以简化的形式给出了本发明的一些概念,作为对本发明示例性实施例的更具体描述的前言。
[0005]根据本发明,提供了一种用于控制至少一个功能组件的存储器使用的新设备,该至少一个功能组件可以但不一定是,例如,网络元件的网络结构,例如互联网协议“IP”路由器的网络结构。根据本发明的设备包括处理器系统,其被配置成:
[0006]-保留虚拟存储器的一部分,该保留的虚拟存储器部分包括一个或多个相互非重叠并且相邻的虚拟存储器页,
[0007]-形成虚拟存储器页和用物理存储器实现的物理存储器区域之间的映射,物理存储器区域的特定一个被映射到虚拟存储器页的特定一个,以及
[0008]-将提供对于物理存储器区域的访问的数据项写入被映射到虚拟存储器页的物理存储器区域的一个或多个。
[0009]为了使得功能组件能够访问物理存储器区域中的所述一个,处理器系统被进一步配置成:
[0010]-从物理存储器并且至少基于该映射和与该虚拟存储器页中的一个相关的虚拟存储器地址,读取提供对于该物理存储器区域的所述一个的访问的数据项的特定一个,以及
[0011]-将由读取数据项指示的信息传递至功能组件,以便使得功能组件能够访问该物理存储器区域的所述一个。
[0012]上述数据项可以包含与考虑中的物理存储器区域相关的物理存储器地址,或者该数据项可以含有可借助其推导或获取物理存储器地址的信息。
[0013]上述设备所基于的原则是,提供对于考虑中的物理存储器区域的访问的数据项被写入物理存储器,使得数据项借助与映射到考虑中的物理存储器区域的虚拟存储器页相关的虚拟存储器可读取。因此,当分配考虑中的物理存储器区域时,可以借助所述虚拟存储器地址获得提供对于该物理存储器区域访问的数据项。因此,与导致由存储器管理单元“MMU”所执行的范围的物理地址不能被传递到功能组件的许多硬件架构相关的典型问题,诸如网络接口,可以通过稳健的方式,得以绕过。
[0014]在根据本发明的有利并且示例性实施例的设备中,处理器系统被配置成,防止在形成或改变另一虚拟存储器和其他物理存储器区域之间的另一映射的情形下,防止在虚拟存储器页和物理存储器区域之间的上述映射的改变。
[0015]根据本发明,也提供了一种新的网络元件,其可以是,例如,互联网协议“IP”路由器、以太网交换机、多协议标签交换“MPLS”交换机、软件限定网络“SDN”的网络元件和/或异步传输模式“ATM”交换机。根据本发明的网络元件包括:
[0016]-用于接收并向数据传输网络传送数据的一个或多个网络接口,
[0017]-用于缓冲接收到的和待传送的数据的物理存储器,以及
[0018]-连接至物理存储器和该一个或多个网络接口的处理器系统,
[0019]其中,处理器系统被配置成,构成根据本发明的用于控制该一个或多个网络接口的物理存储器的使用的设备。
[0020]根据本发明,也提供一种用于控制至少一个功能组件的存储器使用的新方法。根据本发明的方法包括:
[0021]-保留虚拟存储器的一部分,该保留部分的虚拟存储器包括一个或多个相互非重叠并且相邻的虚拟存储器页,
[0022]-在虚拟存储器页和用物理存储器实现的物理存储器区域之间形成映射,物理存储器区域的特定一个被映射到虚拟存储器页的特定一个,以及
[0023]-将提供对于物理存储器区域的访问的数据项写入映射到虚拟存储器页的一个或多个物理存储器区域。
[0024]为了使得功能组件能够访问物理区域的所述一个,该方法进一步包括:
[0025]-从物理存储器并且至少基于映射和与该虚拟存储器页的所述一个相关的虚拟存储器地址,读取提供对于该物理存储器区域的所述一个的访问的数据项的特定一个,以及
[0026]-将由读取数据项指示的信息传递至功能组件,以便使得功能组件能够访问该物理存储器区域的所述一个。
[0027]根据本发明,也提供一种新的计算机程序,用于控制至少一个功能组件的存储器使用。根据本发明的计算机程序包括计算机可执行指令,用于控制可编程处理器,以:
[0028]-保留虚拟存储器的一部分,该虚拟存储器的保留部分包括一个或多个相互非重叠并且相邻的虚拟存储器页,
[0029]-在虚拟存储器页和用物理存储器实现的物理存储器区域之间形成映射,物理存储器区域的特定一个被映射到虚拟存储器页的特定一个,以及
[0030]-将提供对于物理存储器区域的访问的数据项写入被映射到虚拟存储器页的物理存储器区域的一个或多个。
[0031]该计算机程序进一步包括计算机可执行指令,用于控制可编程处理器执行下列动作,以便使得功能组件能够访问物理存储器区域的所述一个:
[0032]-从物理存储器并且至少基于该映射和与虚拟存储器页中的一个相关的虚拟存储器地址,读取提供对于物理存储器区域的所述一个的访问的数据项的特定一个,以及
[0033]-将由该读取数据所指示的信息,传递至功能组件,以便使得功能组件能够访问物理存储器区域的所述一个。
[0034]根据本发明,也提供一种新的计算机程序产品。该计算机程序产品包括用根据本发明的计算机程序编码的非易失性计算机可读介质,例如光盘“CD”。
[0035]在随附的权利要求中描述了多个本发明的示例性和非限制性实施例。
[0036]本发明的各种示例性和非限制性实施例,无论是涉及架构还是操作方法,与本发明的另外目的和优势一起,当结合附图进行阅读时,将从下文对于特定示例性实施例的描述中得到最好的理解。
[0037]动词“包括”和“包含”在本文献中用作开放性限定,其既不排除也不要求未描述特征的存在。除非另有明确描述,在随附的依赖性权利要求中所叙述的特征是可相互自由组合的。此外,应理解的是,贯穿本文献“一个”或“一”亦即单数形式的使用不排除复数。
【附图说明】
[0038]下文结合附图更具体地解释本发明的示例性实施例及其优势,在附图中:
[0039]图1图示了与本发明的示例性实施例相关的示例性数据结构,
[0040]图2示出了根据用于控制至少一个功能组件的存储器使用的本发明的示例性实施例的方法的流程图,
[0041]图3图示了与本发明示例性实施例相关的示例性数据结构,以及
[0042]图4示出了包括根据本发明的示例性实施例的设备的网络元件的示意图。
【具体实施方式】
[0043]图1图示了与本发明的示例性实施例相关的示例性数据结构。虚拟存储器111被组织成包括被称为虚拟存储器页的固定长度相邻虚拟存储器块。在图1中,一些虚拟存储器页用参考编号112、113、114、115和116表示。虚拟存储器111用能用诸如一个或多个随机访问存储器“RAM”电路的一个或多个存储器设备实现的物理存储器120实现。虚拟存储器页是用于管理在
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1