用于控制功能組件的存儲器使用的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于控制功能組件的存儲器使用的方法和設(shè)備,該功能組件可以,但不一定是,例如,網(wǎng)絡(luò)元件的網(wǎng)絡(luò)接口,例如,網(wǎng)絡(luò)協(xié)議“IP”路由器的網(wǎng)絡(luò)接口。此外,本發(fā)明涉及用于控制功能組件的存儲器使用的計算機(jī)程序,并且涉及網(wǎng)絡(luò)元件。
【背景技術(shù)】
[0002]虛擬存儲器是涉及將處理所使用的存儲器地址(稱為虛擬地址)映射到物理存儲器的物理地址的一項存儲器管理技術(shù)的概念。處理所看到的虛擬存儲器可以顯示為被稱為虛擬存儲器頁的一堆固定長度連續(xù)虛擬存儲器塊,它們是用于管理虛擬存儲器和物理存儲器之間的映射的基礎(chǔ)數(shù)據(jù)單元。每個虛擬存儲器頁的大小優(yōu)選為2的乘方,諸如,但不一定是,212字節(jié)=4096字節(jié)。操作系統(tǒng)管理物理存儲器和虛擬存儲器之間的映射。地址轉(zhuǎn)換功能通常也被稱為存儲器管理單元“MMU”或分頁存儲器管理單元“PMMU”,將虛擬地址自動轉(zhuǎn)換為物理地址,使得考慮中的處理能夠以虛擬地址操作。
[0003]與許多電子設(shè)備相聯(lián)系,諸如,數(shù)據(jù)傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)元件,不僅是中央處理單元“CPU”使用物理存儲器運行一個或多個處理,也有諸如網(wǎng)絡(luò)接口的外圍組件使用物理存儲器,例如,線卡“LC”和網(wǎng)絡(luò)處理器“NP”。因此,需要管理由CPU和外圍組件運行的一個或多個處理的存儲器使用,使得它們不相互干擾。布置由CPU和外圍組件運行的一個或多個處理的存儲器使用的一種傳統(tǒng)方法是,以相同方法應(yīng)對CUP和外圍組件所運行的處理,使得,對于這些的每個而言,由管理物理存儲器和虛擬存儲器之間的映射的操作系統(tǒng)提供具體虛擬存儲器,并且存儲器管理單元“MMU”被用于將虛擬存儲器地址轉(zhuǎn)換成物理地址。諸如處理數(shù)據(jù)分組或幀的網(wǎng)絡(luò)處理器的外圍組件的存儲器使用,可能隨時間推移而迅速改變。因此,上述用于管理存儲器使用的傳統(tǒng)方式的不便之處是,操作系統(tǒng)必須頻繁執(zhí)行針對這些外圍組件的存儲器管理,并且,結(jié)果必然是,運行操作系統(tǒng)的資源可能負(fù)載過重,以至于這些資源在一些情況下構(gòu)成了限制整個電子設(shè)備的容量的瓶頸。
【發(fā)明內(nèi)容】
[0004]下文給出了簡化的摘要,以便提供對于各個發(fā)明實施例的某些方面的基本理解。
【發(fā)明內(nèi)容】
不是本發(fā)明的廣泛概述。也并非旨在識別本發(fā)明的重要或關(guān)鍵要素,也非詳細(xì)描述本發(fā)明的范圍。下文的
【發(fā)明內(nèi)容】
主要以簡化的形式給出了本發(fā)明的一些概念,作為對本發(fā)明示例性實施例的更具體描述的前言。
[0005]根據(jù)本發(fā)明,提供了一種用于控制至少一個功能組件的存儲器使用的新設(shè)備,該至少一個功能組件可以但不一定是,例如,網(wǎng)絡(luò)元件的網(wǎng)絡(luò)結(jié)構(gòu),例如互聯(lián)網(wǎng)協(xié)議“IP”路由器的網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)本發(fā)明的設(shè)備包括處理器系統(tǒng),其被配置成:
[0006]-保留虛擬存儲器的一部分,該保留的虛擬存儲器部分包括一個或多個相互非重疊并且相鄰的虛擬存儲器頁,
[0007]-形成虛擬存儲器頁和用物理存儲器實現(xiàn)的物理存儲器區(qū)域之間的映射,物理存儲器區(qū)域的特定一個被映射到虛擬存儲器頁的特定一個,以及
[0008]-將提供對于物理存儲器區(qū)域的訪問的數(shù)據(jù)項寫入被映射到虛擬存儲器頁的物理存儲器區(qū)域的一個或多個。
[0009]為了使得功能組件能夠訪問物理存儲器區(qū)域中的所述一個,處理器系統(tǒng)被進(jìn)一步配置成:
[0010]-從物理存儲器并且至少基于該映射和與該虛擬存儲器頁中的一個相關(guān)的虛擬存儲器地址,讀取提供對于該物理存儲器區(qū)域的所述一個的訪問的數(shù)據(jù)項的特定一個,以及
[0011]-將由讀取數(shù)據(jù)項指示的信息傳遞至功能組件,以便使得功能組件能夠訪問該物理存儲器區(qū)域的所述一個。
[0012]上述數(shù)據(jù)項可以包含與考慮中的物理存儲器區(qū)域相關(guān)的物理存儲器地址,或者該數(shù)據(jù)項可以含有可借助其推導(dǎo)或獲取物理存儲器地址的信息。
[0013]上述設(shè)備所基于的原則是,提供對于考慮中的物理存儲器區(qū)域的訪問的數(shù)據(jù)項被寫入物理存儲器,使得數(shù)據(jù)項借助與映射到考慮中的物理存儲器區(qū)域的虛擬存儲器頁相關(guān)的虛擬存儲器可讀取。因此,當(dāng)分配考慮中的物理存儲器區(qū)域時,可以借助所述虛擬存儲器地址獲得提供對于該物理存儲器區(qū)域訪問的數(shù)據(jù)項。因此,與導(dǎo)致由存儲器管理單元“MMU”所執(zhí)行的范圍的物理地址不能被傳遞到功能組件的許多硬件架構(gòu)相關(guān)的典型問題,諸如網(wǎng)絡(luò)接口,可以通過穩(wěn)健的方式,得以繞過。
[0014]在根據(jù)本發(fā)明的有利并且示例性實施例的設(shè)備中,處理器系統(tǒng)被配置成,防止在形成或改變另一虛擬存儲器和其他物理存儲器區(qū)域之間的另一映射的情形下,防止在虛擬存儲器頁和物理存儲器區(qū)域之間的上述映射的改變。
[0015]根據(jù)本發(fā)明,也提供了一種新的網(wǎng)絡(luò)元件,其可以是,例如,互聯(lián)網(wǎng)協(xié)議“IP”路由器、以太網(wǎng)交換機(jī)、多協(xié)議標(biāo)簽交換“MPLS”交換機(jī)、軟件限定網(wǎng)絡(luò)“SDN”的網(wǎng)絡(luò)元件和/或異步傳輸模式“ATM”交換機(jī)。根據(jù)本發(fā)明的網(wǎng)絡(luò)元件包括:
[0016]-用于接收并向數(shù)據(jù)傳輸網(wǎng)絡(luò)傳送數(shù)據(jù)的一個或多個網(wǎng)絡(luò)接口,
[0017]-用于緩沖接收到的和待傳送的數(shù)據(jù)的物理存儲器,以及
[0018]-連接至物理存儲器和該一個或多個網(wǎng)絡(luò)接口的處理器系統(tǒng),
[0019]其中,處理器系統(tǒng)被配置成,構(gòu)成根據(jù)本發(fā)明的用于控制該一個或多個網(wǎng)絡(luò)接口的物理存儲器的使用的設(shè)備。
[0020]根據(jù)本發(fā)明,也提供一種用于控制至少一個功能組件的存儲器使用的新方法。根據(jù)本發(fā)明的方法包括:
[0021]-保留虛擬存儲器的一部分,該保留部分的虛擬存儲器包括一個或多個相互非重疊并且相鄰的虛擬存儲器頁,
[0022]-在虛擬存儲器頁和用物理存儲器實現(xiàn)的物理存儲器區(qū)域之間形成映射,物理存儲器區(qū)域的特定一個被映射到虛擬存儲器頁的特定一個,以及
[0023]-將提供對于物理存儲器區(qū)域的訪問的數(shù)據(jù)項寫入映射到虛擬存儲器頁的一個或多個物理存儲器區(qū)域。
[0024]為了使得功能組件能夠訪問物理區(qū)域的所述一個,該方法進(jìn)一步包括:
[0025]-從物理存儲器并且至少基于映射和與該虛擬存儲器頁的所述一個相關(guān)的虛擬存儲器地址,讀取提供對于該物理存儲器區(qū)域的所述一個的訪問的數(shù)據(jù)項的特定一個,以及
[0026]-將由讀取數(shù)據(jù)項指示的信息傳遞至功能組件,以便使得功能組件能夠訪問該物理存儲器區(qū)域的所述一個。
[0027]根據(jù)本發(fā)明,也提供一種新的計算機(jī)程序,用于控制至少一個功能組件的存儲器使用。根據(jù)本發(fā)明的計算機(jī)程序包括計算機(jī)可執(zhí)行指令,用于控制可編程處理器,以:
[0028]-保留虛擬存儲器的一部分,該虛擬存儲器的保留部分包括一個或多個相互非重疊并且相鄰的虛擬存儲器頁,
[0029]-在虛擬存儲器頁和用物理存儲器實現(xiàn)的物理存儲器區(qū)域之間形成映射,物理存儲器區(qū)域的特定一個被映射到虛擬存儲器頁的特定一個,以及
[0030]-將提供對于物理存儲器區(qū)域的訪問的數(shù)據(jù)項寫入被映射到虛擬存儲器頁的物理存儲器區(qū)域的一個或多個。
[0031]該計算機(jī)程序進(jìn)一步包括計算機(jī)可執(zhí)行指令,用于控制可編程處理器執(zhí)行下列動作,以便使得功能組件能夠訪問物理存儲器區(qū)域的所述一個:
[0032]-從物理存儲器并且至少基于該映射和與虛擬存儲器頁中的一個相關(guān)的虛擬存儲器地址,讀取提供對于物理存儲器區(qū)域的所述一個的訪問的數(shù)據(jù)項的特定一個,以及
[0033]-將由該讀取數(shù)據(jù)所指示的信息,傳遞至功能組件,以便使得功能組件能夠訪問物理存儲器區(qū)域的所述一個。
[0034]根據(jù)本發(fā)明,也提供一種新的計算機(jī)程序產(chǎn)品。該計算機(jī)程序產(chǎn)品包括用根據(jù)本發(fā)明的計算機(jī)程序編碼的非易失性計算機(jī)可讀介質(zhì),例如光盤“CD”。
[0035]在隨附的權(quán)利要求中描述了多個本發(fā)明的示例性和非限制性實施例。
[0036]本發(fā)明的各種示例性和非限制性實施例,無論是涉及架構(gòu)還是操作方法,與本發(fā)明的另外目的和優(yōu)勢一起,當(dāng)結(jié)合附圖進(jìn)行閱讀時,將從下文對于特定示例性實施例的描述中得到最好的理解。
[0037]動詞“包括”和“包含”在本文獻(xiàn)中用作開放性限定,其既不排除也不要求未描述特征的存在。除非另有明確描述,在隨附的依賴性權(quán)利要求中所敘述的特征是可相互自由組合的。此外,應(yīng)理解的是,貫穿本文獻(xiàn)“一個”或“一”亦即單數(shù)形式的使用不排除復(fù)數(shù)。
【附圖說明】
[0038]下文結(jié)合附圖更具體地解釋本發(fā)明的示例性實施例及其優(yōu)勢,在附圖中:
[0039]圖1圖示了與本發(fā)明的示例性實施例相關(guān)的示例性數(shù)據(jù)結(jié)構(gòu),
[0040]圖2示出了根據(jù)用于控制至少一個功能組件的存儲器使用的本發(fā)明的示例性實施例的方法的流程圖,
[0041]圖3圖示了與本發(fā)明示例性實施例相關(guān)的示例性數(shù)據(jù)結(jié)構(gòu),以及
[0042]圖4示出了包括根據(jù)本發(fā)明的示例性實施例的設(shè)備的網(wǎng)絡(luò)元件的示意圖。
【具體實施方式】
[0043]圖1圖示了與本發(fā)明的示例性實施例相關(guān)的示例性數(shù)據(jù)結(jié)構(gòu)。虛擬存儲器111被組織成包括被稱為虛擬存儲器頁的固定長度相鄰虛擬存儲器塊。在圖1中,一些虛擬存儲器頁用參考編號112、113、114、115和116表示。虛擬存儲器111用能用諸如一個或多個隨機(jī)訪問存儲器“RAM”電路的一個或多個存儲器設(shè)備實現(xiàn)的物理存儲器120實現(xiàn)。虛擬存儲器頁是用于管理在