TW201018142A - System and method for memory allocation in embedded or wireless communication systems - Google Patents

System and method for memory allocation in embedded or wireless communication systems Download PDF

Info

Publication number
TW201018142A
TW201018142A TW098111036A TW98111036A TW201018142A TW 201018142 A TW201018142 A TW 201018142A TW 098111036 A TW098111036 A TW 098111036A TW 98111036 A TW98111036 A TW 98111036A TW 201018142 A TW201018142 A TW 201018142A
Authority
TW
Taiwan
Prior art keywords
memory
item
header
size
payload
Prior art date
Application number
TW098111036A
Other languages
English (en)
Inventor
Shailesh Maheshwari
Thomas Klingenbrunn
Vanitha A Kumar
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201018142A publication Critical patent/TW201018142A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Description

201018142 六、發明說明: 相關申請的交叉引用 本專利申請案請求於2008年4月2曰提出申請的名稱 爲「MEMORY ALLOCATION SCHEME FOR EMBEDDED OR WIRELESS COMMUNICATION SYSTEMS (用於嵌入式 或無線通訊系統的記憶體分配方案)」的美國臨時專利申 請S/N. 61/041,878的權益。該申請的全部内容透過援引納 入於此。 【發明所屬之技術領域】 本領域一般涉及記憶體分配,尤其涉及嵌入式或無線通 訊系統中的記憶體分配。 【先前技術】 記憶體分配服務利用記憶鱧項池。在一些情形中’記憶 體項棊於記憶體項的大小被分類到不同的地中。例如’一 個池可能包括許多小記憶體項,而另一個池可能包括相對 少的大記憶體項。回應於記憶體分配請求,可從特定池中 選擇適當資料項目並將其返回給請求方實體。此種系統導 致顯著的記憶體和處理器資源浪費。例如,在小記憶體項 的情況下,標頭與有效負載之比較高’導致低效率的記憶 體使用。進一步,當整個記憶體項被分配時,任何特定資 料項目的顯著資料部分可能處於未使用。另外,在這些分 201018142 配服務中’沒有統計多工可用。處理器資源也因多個小記 憶體項的鏈結而被消耗。 在無線通訊系統中’封包常常被分段成較小的固定大小 (例如40位元組)的「無線電鏈路」封包,以確保可靠的無 * 線電傳輸。爲了高效率地使用記憶體,一種辦法是建立具 . 有各保持40位元組塊的相對小記憶體項的大池,這些記 憶體項最終在較高層上被鏈結在一起以形成較大的資料 塊(例如,15〇〇位元組的ip封包)。此服務的一個缺點在 於一些空間可能被浪費’因爲這些記憶體項可能必須對举 快取記憶體列(32或64位元組),這可能不適合小的無線 電鏈路封包大小。另外’不同技術可能共用相同的記憶體 項池以減小整個記憶體,在這種情形中必須將記憶體項有 效負載大小選取爲適合最大的無線電鏈路封包大小,其會 進一步增加浪費。 • 【發明内容】 在一個實施例中’提供了一種提供記憶體管理的系統。 . 該系統包括處理器和可在該處理器上執行的記憶體管理 - 服務。該記憶體管理服務可配置成產生第一記憶體項,其 +第-記憶體項中的每-者包括標頭和有效負載,有效負 載可配置成儲存多個可獨立分配的記憶趙大塊,第一記憶 體項的標頭引用有效負載中的可分配空間;產生第二記憶 體項其中第一記憶體項中的每一者包括引用第一記憶髏 4 201018142 項的有欵負栽中的一個或多個記憶體大塊的標頭;以及回 應記憶體分配而請求返回來自或者第一或者第二記憶體 項的標頭的引用。 在另一個實施例中,提供了一種用於記憶體管理的方 法。該方法包括分配第一記憶體項,第一記憶體項各自包 括第一標頭和有效負載,有效負載包括可獨立分配的記憶 體大塊,第一標頭包括對有效負載中未經分配記憶體的引
用’分配第二記憶體項,第二記憶體項各自包括第二標 頭,第二標頭包括對第一記憶體項的有效負載中已分配記 憶體大塊的弓丨用;接收對記憶體分配的請求;以及透過返 回來自第-或者第二記憶體項的標頭的引用來回應對記 憶鱧分配的請求。 在另一個實施例中,提供了-種記憶鱧管理系統。該系 統包括用於分配第一記憶趙項的構件,第—記憶體項各自 包括第-標頭和有效負载,有效負載包括可獨立分配的記 憶趙大塊’第一標頭包括對有效負載中未經分配記憶趙的 引用;用於分配第二記憶體項的構件,第二記憶體項各自 包括第二標頭,第二標頭包括對第-記憶體項的有效負載 中已分配記憶體大塊㈣用;用於接㈣記憶體分配的請 的構件,以及用於透過返回來自第—或者第二記憶體項 的標頭的引用來回應對記憶體分配的請求的構件。,
在另一個實施例中,摇视A 鈥供了編碼有電腦指令的 :媒體。這些指令在被執行時使得處理器分配第一= 卜記憶體項各自包括第一標頭和有效負載’有效負 201018142 載包括可獨立分配的記憶體大塊,第一標 、 %匕括對有效倉 載中未經分配記憶體的引用;分配第__ 所一《匕m體項,第二 的 • Ν ,伐吹對記憶體八 配的請求;以及透過返回來自第—或- 71 第一記憶體項的標 頭的引用來回應對記憶體分配的請求。 、 憶體項各自包括第二標頭’第二標頭包括對第一記憶項 有效負載中已分配記憶體大塊的5|用;接收對㈣體八 的請求;以及透過返回夾自篦—土 土松 μ 77
【實施方式】 以下詳細描述涉及本發明的某些具體實施例。然而,本 發明可用衆多不同方式來體現。應顯然的是本:中的各 態樣可用各種各樣的形式來體現,並且本文中所公開的任 何具體結構、功能或這兩者僅僅是代表性的。基於本文中 的教示,本領域技藝人士應領會,本文中所公開的一態樣 可獨立於任何其他態樣來實現,以及這些態樣中的兩個或 多個可按各種方式被組合如,使用本文中閣述的任何 數目的態樣,可實現裝置或可實踐方法。此外,可使用其 他結構、功能性或使用除本文中所闡述的態樣中的一個或 多個之外的或與之^同的結構、功能性來實現這樣的裝置 或實踐這樣.的方法。 行動《X備典型地利用§己憶體分配服務來進行操作。本文 中描述用以降低行動設備中各種子系統所需的記憶體的 總量以及用以減少行動设備所消耗的處理資源的方法和 設備、以下闡述的是可聯合所描述的方法和設備使用的一 201018142 些架構。 圖1疋圖解行動設備102的示例的方塊圖。設備〖〇2包 括與記憶體204通訊的處理器202以及用於經由無線鏈路 通訊的網路介面206。可任選地,設備ι〇2還可以包 . 括以下各項中的一者或多者:顯示器210 ;諸如按鍵、觸 ' 控螢幕、或其他合適的觸覺型輸入設備之類的用戶輸入設 備212 ;包括有適於基於在無線鏈路1〇6上接收到的信號 ⑩ 提供音頻輪出的換能器的擴音器2i4;及/或包括有適於提 供可在無線鏈路106上傳送的信號的音頻輸入的換能器的 話筒216。例如,電話可包括適於提供圖形用戶介面(Gm) • 的視覺輸出的顯示器210。 網路介面206可包括任何合適的天線(未示出)、接收 機220和發射機222,以使得示例性設備〖ο]可在無線 06上與一個或多個設備通訊。可任選地,網路介面 2〇6還可以具有用以減少處理器2〇2的處理需求的處理能 φ 力。 可任選地,設備102可包括經由鏈路1〇8在網路ιι〇上 • 冑訊的第二網路介面208。例如,設備1〇2可經由有線或 • 無線通訊鏈路來提供與其他網路110 (例如,諸如網際網 路之類的廣域網)的連通性。因此,設備102可使得其他 設備102 (例如,Wi_Fi站)能存取其他網路11〇。此外應 領會’設備102中的-個或多個可以是攜帶型的,或者在 -些情形中爲相對非攜帶型的。第二網路介面·可傳送 和接收根據IEEE 802.n標準(包括IEEE 802 n⑷、(b)、 201018142 或(g))、藍芽標準的RF信號、及/或cdma、gsm、A刪 信號或用於在無線蜂巢式電話網絡中通訊的其他已知信 冑。此外’第二網路介面208可包括任何合適的有線網路 介面’諸如乙太網(IEEE8〇2 3)、USB、或MDm。 认備102可包括用以向設備1〇2的一個或多個組件供電 的電池231。設備102可包括電話、%慧型電話、個人數 位助理(PDA)'超級行動個人電腦(UMpc)、行動網際 φ 網路設備(MID)、或任何其他行動設備中的至少之-。具 體而言,本文令的教示可被納入多種設備1〇2 "例如, 實現在其中或由其執行 . 本文中所描述的組件可用多種方式來實現。參考圖i, 設備或裝置102被表示爲一系列互相關的功能性方塊這 些功能性方塊可代表由例如處理器2〇2、軟體、其某種組 合、或以如本文中教示的其他某種方式來實現的功能❶例 如,處理器202可便於用戶經由輸入設備212輸入。進一 ® 步,發射機222可包括用於傳送的處理器,該處理器提供 與向另一個設備102傳送資訊有關的各種功能性。接收機 220可包括用於接收的處理器’該處理器提供與如本文中 所教示地接收來自另一個設備丨〇2的資訊有關的各種功能 性。 處理器202還與記憶體分配服務2〇3通訊。在一個實施 例中,記憶體分配服務203在處理器202上運行。記憶體 刀配服務203回應於來自在設備1〇2中操作的一個或多個 子系統的對記憶體的請求。記憶體分配服務203的方法和 201018142 操作將在以下更詳細地描述。 如以上所注意到的’圖!圖解了在—些態樣中,這些組 件可經由恰適的處理器組件來實現。這些處理器組件在一 一‘樣中可至少部分地使用如本文中所教示的結構來實 現。在-些態樣中’處理器可適於實現這些組件中的一個 或多個的功能性的一部分或全部。在一些態樣中由虛線 框所表示的組件中的一個或多個是可任選的。 ❿ 在-個或多個示例性實施例中,所描述的功能可以在硬 體軟體、勒體、或其任何組合中實現。如果在軟體中實 現,則這些功能可以作爲一條或多條指令或代碼儲存在電 <二讀取媒體上或在其上傳送。電腦可讀取媒體包括電腦 媒體和通訊媒邀兩者,後者包括便於將電腦程式從一 直^移到另一處的任何媒體。健存媒艘可以是可被通用或 電腦存取的任何可用媒發。作爲示例而非限定,這樣 的電腦可讀取媒體可包括RAM、ROM、EEPR0M、cd_r〇m 光碟储存、磁片館存或其他磁碟館存裝置、或可用 攜帶或儲存指令或資料結構形式的合需程式碼手段且 用或專用電觸、或者通用或專用處理器存取的任何 =、體。任何連接也被正當地稱爲電腦可讀取媒體。例 如,如果軟體使用同軸雷 軸電纜、光纖電纜、雙絞線、數位用 戶線(DSL )、或諸如紅外 線技術從web網站、伺服器及微波之類的無 服器、或其他遠端源傳送而來,則 =電規、光纖電境、雙絞線、规、或諸如紅外線、 …以及微波之類的無線技術就被包括在媒體的定義 9 201018142 之中本文中所使用的磁片和碟片包括壓縮光碟(CD)、 雷射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光 碟,其中磁片通常磁性地再現資料,而碟片用鐳射來光學 地再現資料。以上的組合也應被包括在電腦可讀取媒體的 範圍之内。 根據記憶體分配服務的一態樣,小記憶體塊被包裝成較 大的固定大小的單元(稱爲rDSM項」)。使用「Dup」(複 參 製)項來保持對這些較小塊中的每一者的追蹤,Dup項指 向DSM内的有效負載。由於DSM項的大小有限,並且可 假定DSM内的所有塊具有近似的有限壽命,因此沒有必 要處理每一個DSM内的自由記憶體的碎片。這樣的益處 在於記憶體利用率可被極大地減少,因爲每個dsm内僅 报少的記憶體被浪費掉,但複雜度卻是具有高包裝效率的 其他記憶體分配技術的分數。考慮這態樣的另一種途徑是 這是固定大小和靈活大小分配服務的混合,其中整個記憶 # 想按固定大小塊被分配’但在這些塊内允許靈活大小分 配,因爲預期這些靈活分配具有較短的壽命。 在一態樣,基礎記憶體塊被稱爲DSM項。其包括伊、頭 和有效負載部分。當有資料塊必須被儲存在記憶體中時, 分配新的DSM項並且該資料被複製到DSM的有效負載部 分中。因此’標頭被更新以反映該資料的開始和長度。如 果該資料的長度超過有效負載部分的大小,則多個dsm 項可被鏈結在一起成爲鏈表。 進一步,定義了特殊類型的DSm項,記爲Dup (「複 201018142 製」)。DUP使用與常規DSM相同的標頭結構,但沒有其 自己的有效負載部分。作爲代替,其可指向其他地方的資 料部分,例如正常DSM内部的資料部分。爲了追蹤有多 少DUP指向同一 DSM項中的資料,存在被記爲 「ref一 count(引用-計數)」的標頭攔位,其計數對該dsm 項的引用的數目並且在原始DSM首次被分配時被設爲i。 每次建立指向該DSM項内部的新DUP時,該DSM項的 φ ref-C〇Unt遞增。同樣,當DUP被釋放時,原始DSM項的 ref一count遞減。這樣,分配演算法可知曉該DSM項何時 可實際被釋放’這僅在沒有其他DUP指向該封包的有效負 載部分時發生,即在ref一count已變回〇時發生。 DUP可被用於分割封包、重新排序資料、移除標頭等, 而不必觸及原始資料。所有這些僅透過操縱DSM和DUP 標頭就能達成。 根據另一態樣’允許將資料包裝成相同的DSM項以提 • 高記憶體效率的技術可解決先前所提及的缺點中的一 .. . · . ' · 些。根據這態樣’定義了較大DSM項的池。大DSM大小 將允許來自多個無線電鏈路封包的資料被串聯到同一 DSM項中。 圖2是圖解用於記憶體分配服務的記憶體項的方塊圖。 記憶體分配服務可包括應用編程介面(「API」)。此API可 供諸如設備102中存在的子系統之類的子系統存取用。此 記憶體分配服務可整體或部分地由處理器202或其他類似 處理設備來執行。進一步’ API可構成諸如設備1〇2之類 201018142 的行動或無線設備的作業系統的一部分。或者,API可構 成軟體庫的一部分。在圖2中,示出第一類記憶體項6 1〇。 此第一類記憶體項610可被稱爲資料服務管理(r d SM」) 項。或者’它可被稱爲容器項《這些容器類記憶體項61〇 被組織成記憶體項池605。雖然圖解了單個池605,但是 應領會也可以使用多個DSM項池。每個池可由諸如項大 小或該池所服務的子系統之類的一個或多個公共特性來 表徵。 ❹ 圖2中還提供了記憶體項610的展開圖。如該展開圖中 可見’這些容器類項610包括多個部分。記憶體項的第一 部分可被稱爲標頭615 ^標頭615既可包含關於記憶想項 610的其餘部分的資訊,也可包含其他資訊。記憶體項61〇 的第二部分可被稱爲有效負載。有效負載自身可具有若干 已分配記憶體部分或塊620。此外,有效負載可具有未經 分配或未使用空間625。在一個實施例中,有效負載包括 φ 大致1500位元組,約爲儲存IP封包所需的大小。 記憶鱧項610的標頭615可包括諸如對記憶體項61〇中 未經分配空間625的引用之類的資訊。在一個示例中,此 引用採取指標的形式來指示記憶體項610中未經分配空間 625的開始位址。對資料項目610中未經分配空間625的 此引用也可被稱爲「data—ptr (資料_指標)」。標頭還可以 包含指示已分配記憶體620的大小的攔位〇此已分配空間 的量可被稱爲有效負載中的「已使用」空間。標頭還可以 包含指示標識與記憶體項610相關聯的記憶體池6〇5的識 12 201018142 別符的攔位。此識別符可被稱爲「p⑽i」a(池」旬」。標頭 β、包含才曰不對§己憶體項61 〇的引用的數目的攔位。例 如如以下所描述的,記憶體項61〇可被其他記憶體項弓I 用例如有效負載的已分配大塊62〇令的每一個被不同 的記憶體項引用。進一步’記憶體項61〇的標頭615引用 有效負載的未經分酋八。。 _ t 77配邵刀625。這些引用的計數尤其可用
於確定記憶體項610何時可被釋放完並返回池605中以供 後續再分配。此引用計數可被稱爲「引用」。標頭615還 可以包含對其他記憶體項的—個或多個引用。例如,如果 所請求的記憶體大塊太大而不適合單個記憶體S 61〇,則 標頭中的引用可被用於指示可被鏈結在—起以滿足該請 求的-個或多個附加記憶體項。取決於被引用的記憶體項 的類型’這些引用可被稱爲「pkt_ptr (封包—指標)」或 「dUp_Ptr」。例如,pkt一ptr可引用〇個或多個dsm或容 器項’而dup—ptr可弓丨用〇個或多個Dup項。除所標識出 的欄位以外,標頭615可包括諸如用戶定義攔位或用於測 試目的的棚位之類的附加攔位,此外,標頭615可省略所 標識出的攔位中的一個或多個。 圖2還圖解了第二類記憶體項63〇β此第二類記憶體項 可被稱爲複製或「DUP」記憶體項。這些Dup項63〇包括 與容器記憶體項610的標頭615相類似的標頭。例如,Dup 項可具有與DSM項標頭615相同的攔位。或者,Dup項 可具有更多或更少攔位。然而,這些Dup項不具有其本身 的有效負載。相反的,DUP項標頭63〇包含對容器記憶體 201018142 項的引用。在一個特定示例中,DUP項630包含指示記憶 體項61 〇的已分配部分62〇中的第一個分配記憶體塊的指 標。這些DUP項630也可以被安排成一個或多個池640。 像容器項的池605那樣,可以使用多個DUP項池。例如, 圖2圖解了兩個DUP項池640和650。在一個示例中,嵌 入式設備或無線通訊設備中的每個子系統具有其本身的 DUP項池。在本實施例中,池"ο可對應於一個特定子系 統’而池650可對應於另一個子系統。如圖2中可見的, 一個實施例提供了來自分開的諸池的DUP項可引用單個 DSM項610中的記憶體塊“ο。 圖3示出了圖2中所圖解的記憶體項的替換實施例。像 之前的那樣’可使用單個DSM項池715。然而這次,每個 DUP項池73〇和735分別引用不同DSM項725和720的 已刀配邛分。如上所述,一旦對該有效負載的全部引用都 已被釋放’ DSM項就可返回DSM池715中以供再分配。 然而^允許多個子系統使DUP引用到同一 DSM項中時, 可能出現碎片。例如,特定DSM中被分配給第一子系統 的所有記憶體可能已被釋放.然而,如果有小塊仍被來自 個子系統的DUP引用’則該有效負載中的其餘記憶體 在第一子系統釋放其小記憶體塊之前都必須等待被 M 〇 β 舄使此問題最小化,每個子系統可使其本身的Dup J八本身的DSM中。這樣,特定DSM 中已分配記憶 體卩的壽命更可能相同。壽命的近似性導致碎片減少。 和4B圖解用於分配記憶體的方法780的實施例。 14 201018142 此方法780可作爲在諸如處理器202之類的處理器上運行 的服務來執行。方法780便於接收記憶體分配請求以及返 回對已分配記憶體的引用。如以下所描述的,所指派的特 定引用可以是請求方子系統的當前記憶體分配境況和所 請求記憶體境的大小的函數。注意,這些步驟中的一坻可 被省略以滿足特定應用的要求或規範。還應注意,本文中 所描述的這些步驟中的一些是優化且因此可按照系統設 φ 計者的決定被選擇性地使用或省略^ 方法780在記憶體分配服務在步驟785處接收到記憶體 請求時開始《作爲記憶體請求的一部分,請求方子系統可 指定所請求的記憶體大小。請求方子系統還可以提供子系 統ID以使得記憶體分配服務可爲該子系統選擇適當的 =SM項。在接收到記憶體請求之後,記憶體分配服務如判 定步驟790中所示地確定所請求大小是否小於當前dsm 容器項中未經分配記憶體的大小。如參照圖2和3所討論 DSM項在有效負載部分中可具有未經分配空間。判定 步驟790可透過將未經分配部分的大小與所請求大小作比 較來執行。或者’由於有效負載的總大小是已知的,因此 可乂將所請求量與有效負載的已分配部分的大小作比 在另個實施例中,並非使用所請求的記憶體大小來 作比較,而是記憶體分配系統可增大請求的大小以使得擴 增後的請求與快取記憶體邊界對準。例如,可增大實際請 、X使得結果所得請求是諸如16、32、64、或128位元組 類的特定决取s己憶體列大小的倍數。無論是所請求的記 15 201018142 憶體大小還是擴增後的對準版本適合未經分配部分,該方 法都前進至步驟800。
繼續到判定步驟800,記憶體分配系統確定所請求大 加上當前DSM項的先前已分配部分的大小是否大於第 閥值。例如,如果DSM有效負載是大致15〇〇位元組長
則閥值可冑1200位元組。因此’記憶體分配系統將確定 已分配記憶體的大小加上所請求記憶體的大小是否超過 1200位元組極限,在一個實施例中,閥值可被選爲dsm 項的有效貞载大小的特定百分比。例如,靠可爲有效負 載大小的大致70%-80%。在另一個實施例中,閥值大小可 被選取成反映諸如對用以儲存Ip封包的記憶體的請求之 類的公共請求的大小特性。在另—個實施例中,並非將已 分配記憶體的大小與閥值作比較,而是可將剩餘未經分配 記憶體的大小與閥值作比較。在本實施例中,如果分配了 所請求或經調整的記憶體大小,則該服務將計算有效負载 中將保持未經分配的部分。剩餘未經分配記憶體與此闕值 的比較隨後㈣Μ前所討㈣已分配記憶體與間值的 比較類似的方式來使用。 透過執行判定步驟800,如果標識出的總和大於閥值, 則該方法前進至步驟805。在步驟8〇5處繼續,記憶體分 配系統向請求方子系統返回引用。在一個實施例中,所返 回的引用是來自當前DSM項的標頭的data_ptr。有利地, 透過返回來自DSM項的標頭的引用,記憶體分配系統節 省了在建立DUP項和返回來自Dup標頭的引用時所涉及 16 201018142 的管理負擔和資源。進一步,分配DSM有效負載的剩餘 部分而非僅僅所請求的大小,如此使得記憶體分配服務能 避免在有效負載的尾部的資料小塊,否則這些小塊若被使 用將會導致鏈結。 返回到判定步驟800,如果所請求記憶體大小加上已分 配記憶體大小並未大於閥值’則該方法前進至步驟81〇。 在步驟810中,記憶體分配服務建立Dup項,分配所請求 ❿ 的記憶體’並且向請求方子系統返回DUP中的引用。有利 地,在多次疊代下,本方法允許記憶體分配服務能將多個 分配包裝成單個DSM項。此包裝允許記憶體資源的高效 率使用並且在記憶體使用和處理使用兩者中皆提供增益。 返回到步驟790,若所請求的記憶體大小大於當前DSM 項中的未經分配空間,則該方法繼續到圖4B的判定步驟 845。在判定步驟845中,記憶體分配服務確定所請求大 小是否大於第二閥值。此第二閥值像第一閥值一樣可被設 ❿ 爲固定數目的位元組。例如,如果DSM項有效負載的大 小爲1600位元組,則第二閥值可爲12〇〇位元組。或者, 第二閥值也可爲被確定爲有效負載大小的百分比。例如, 第一閥值可爲有效負載大小的65%75%。在另一實施例 中,該閥值可被動態地確定。例如,該閥值可被設爲等於 DSM項中已分配s己憶體的總量。在本實施例中當所請求 大小超過DSM中的已分配空間時,所請求大小將超過該 閥值。不管如何確定該閥值,如果所請求大小大於此閥 值,則把憶體分配服務就將如步驟85〇中所示地分配新 17 201018142 DSM項並且向請求方子系統返回來自新dsm項標頭的 —一 Ptr。類似於步驟805,返回來自新DSM項的標頭的 引用的此過程節省了建立新Dup項的管理負擔。請求方子 系統被給予多於其要求的——即整個DSM項,並且此分配 允許後續分配請求能用當前DSM項中剩餘的未經分配記 憶體來滿足。 返回到步驟845,如果所請求大小小於此第二閥值則 0 該方法前進至步驟855。在步驟855中,刪除對DSM有效 負載的未經分配部分的DSM項標頭引用。實際上,這釋 放完DSM項巾的剩餘部分。此外,建立新dsm項。分配 該新DSM項中的記憶體塊並且建立相應的。新 中對新DSM項的引用隨後被返回給請求方子系統。 出於解釋目的’在圖5中圖解了前述方法的示例。在情 形1中,圖解了當前DSM項91〇。當前dsm具有已分配 部分915和未經分配部分92〇。所請求封包大小925被示 • 爲在第一閥值93〇中。如圖所示,已分配部分915的大小 加上所凊求邛为925的大小小於第一閥值93〇。因此,如 圖所示,DSM項935的大塊被分配,以及新Dup項被建 立且其引用被返回給調用方子系統。該新Dup項包括指向 新分配資料的開始的對DSM 935中的引用。 在情形2中’聯合另一個所請求封包96〇示出當前dS]v1 955»如圖所示,DSM 955的已分配部分的大小加上所請 求封包的大小超過第一閥值,但總和並未超過總有效負載 長度。因此,對DSM項965的未經分配部分的引用被返 201018142 回給請求方子系、统。結果是除了獲得所請求記憶體大小或 甚至是稍大的經調整列分配之外,請求方子系統將獲得 DSM 965中的所有剩餘未經分配空間98〇。再次,返回來 自DSM項標頭的引用節省了建立卿的管理負擔並且消 除了否則將t留下的殘餘部分98〇所建立的鍵結可能性。 在情形3中,與另一個所請求記憶體塊99〇 一起示出當 前DSM 985»如圖所示,所請求封包太大而不適合當前 DSM的未經分配部分。此外,所請求大小小於第二間值 995。因此,删除當前DSM1〇〇〇的標頭中對有效負載的未 經分配部分的引用。建立新DSM刚5。分配來自該瞧 的記憶體塊並且建立引用該新DSM中已分配塊的新Dup 項。來自該新DUP項的引用隨後被返回給請求方子系統。 再次將領會’雖,然第二閥值995被示爲靜態的,但該間值 可諸如透過將其設爲等於初始已分配記憶體的大小來動 態地確定。 在情形4中’連同所請求記憶體塊1〇15 一起示出當前 :SM1010。如同情形3那樣’所請求大小太大而不適合當 前DSM項1〇10的未經分配部分。此外,所請求塊大小ι〇ΐ5 ^於第二閥值"5。結果是當前DSM 1〇2〇被保留在其當 前狀態。同時’建立新聰1〇25並且返回該新臟標頭 中對有效負載的未經分配部分的引用。 圖6類似於圖从和仙中所圖解的方法。然而,@6提 供相對於用於分配記憶體的服務的—個實施例中所使用 的特定參數的變型。圖6中所圖解的方法讎爲記憶體 19 201018142 分配請求提供API。在一個特定實施例中,方法1080爲子 系統提供可用於請求記憶體分配的函數調用》如圖所示, 該函數可以採取所請求的記憶體分配大小作爲參數。此 外,該函數可採取諸如標識請求方子系統的子系統ID之 類的其他參數。圖6所代表的服務可被配置成在諸如設備 102的處理器202之類的處理器上運行。回應於分配請求, 該服務如以下所討論地準備指向大小大於或等於所請求 大小的已分配記憶體塊的指標》因此,使用該服務的API _ 的子系統被返回指向已分配記憶體的指標。在一個特定實 施例中,圖6中所圖解的方法在其操作期間使用以下值中 的一些或全部: current_dsm_item_ptr □(當前 _(13111_項 _指標[]):這是每 個子系統的指向當前DSM項的指標集。 aligned_pkt_size (經對準—封包—大小):這是所請求的 記憶體塊的大小,其被調整成與諸如16、32、64、或128 φ 之類的大小的快取記憶體行對準。 pkt_ptr (封包_指標):即將被返回的指向已分配記憶體 的指標。
DSMI_MEM_THRESHOLD_TO_FREE_DSM ( DSMIJg* 憶 體_閥值—用以—釋放_DSM):用於確定應返回DUP還是 DSM引用的第一閥值。如果在分配記憶體塊之後,剩餘未 經分配記憶體將小於此閥值,則返回DSM引用,從而有 效地分配該DSM項中的所有剩餘未經分配記憶體。 DSMI_THRESHOLD_FOR_COMPLETE ITEM ALLOCA 20 201018142 TION (DSMI—閥值_用以-完整一項一分配):用於確定應返 回DUP還是DSM引用的第二閥值。如果所請求封包大小 大於此閥值,則建立新DSM項並返回來自新dsm的標頭 的引用。當前DSM被保留。 圖6中所圖解的方法始於1〇85處所示的函數調用。作 爲該請求的參數,分配服務接收所請求的封包大小 「Pkt_size」。此外,在一些實施例中,還將向函數調用傳 遞另一個參數,即子系統ID。前進至步驟11〇〇,該方法 鎖定特定DSM項池以避免並發存取問題。在鎖定池之後, 該方法前進到判定步驟1105。在判定步驟11〇5處,該服 務確定pkt—ptr是否爲空。如果針對該請求尚未分配記憶 體,則該指標可爲空。然而,如果該指標具有非空值,則 服務前進至解鎖池(114〇)並返回指標(1145)。然而,如 果指標爲空,則服務前進至判定步驟u丨〇。 在判疋步驟111 〇處繼續,服務確定current_dsin_item卩打 是否爲空。如果先前疊代已導致不存在當前dsm項,則 服務前進至建立一個DSM項(1115),並且若這樣的建立 失敗則退出(1120、1140、1145 )。一旦確認存在或建立了 有效的當前DSM’該方法前進至判定步驟1125。在判定 步驟1125處’服務確定經對準的所請求大小是否小於當前 DSM中未經分配空間的大小。如果是,則服務隨後在步驟 1130處確定DSM中在分配所請求記憶體之後將剩餘的未 經分配空間是否小於第一閥值。若如此,則服務建立DUP 並且在當前DSM中分配經對準的所請求記憶體(丨135 ), 21 201018142 解鎖池(1140),並返回DUP指標(1145)。若否,則服務 建立全新的DSM ( 115〇),解鎖池(1140),並返回來自該 新DSM的標頭的指標(1145 ) 返回到步驟1125 ’如果所請求大小大於剩餘未經分配空 間,則該方法前進至判定步驟1155。在步驟U55處,該 服務確定所請求大小是否大於或等於第二閥值。若如此, 則服務建立全新的DSM ( 1165),解鎖池(114〇),並返回 φ 來自該新DSM的標頭的指標(1145)若否,則該服務釋 放當前DSM中的剩餘記憶體並前進至在步驟u〇5處再次 開始該方法。結果是新DSM被建立,引用該新dsm的主 體的DUP被建立’並且Dup指標被返回給請求方子系統。 本記憶體分配服務的附加特徵和實施例也在本文中呈 現: 用於不同用戶的多DSM指標 爲了處置期望資料塊的壽命對於不同用戶實質地不同 瘳的情形’該演算法可維護多個DSM指標,並且僅將具有 近似壽命的資料塊包裝成相同的DSM。例如,用戶專用ID 彳連同分配請求—起被傳遞,以使得僅來自此用戶的資料 將會被包裝成相同的DSM項。來自其他用戶的請求將會 被::成其他DSMe此處’「用戶」可以是用以將一組用 戶叹疋檔與其他者區別開來的一組任務或子任務或層或 函數’或這些的任何其他組合。 支援在DSM的前部(或後部)添加資料 爲了高效率地處置在現有DSM或卿項的前部中添加 22 201018142 貝料(即,添加協定標頭)而不必分配新DSM項和執行 鏈結,建議允許分配在前部中具有自由空間的dsm。透過 「偏移量」標頭來保持對該自由空間的追蹤。這樣,Dup 或DSM可被分配有給定偏移量,並且以後若有更多資料 需要被插入DSM的前部中,這可以不進行新DSM分配及 隨後的鏈結就能完成。可允許用於在DSM的尾部中添加 資料的類似服務。 多個池 ❹ 該服務允許多個DSM池,從而允許爲特定用戶預留給 定數目的項。這樣,該用戶將不必擔憂因爲另一個用戶已 分配到全部DSM項而突然沒有更多自由〇81^項。另外, 這提供了更好的記憶體超支問題(其中一個用戶超越了分 配的邊界)的調試能力,因爲該問題被局限在僅此用戶的 代碼庫中。 作爲多個池的替換方案的配額服務 • 達成相同目的的另一種途徑是具有一個池,但每個用戶 具有他可分配的DSM項的最大配賴(位元組)。一旦他已 達到其配額,他爲了分配新項就必須釋放一些項,以避免 纟他用戶的記憶體S乏。其勝於多池辦法的—項益處在於 仍可達成共用。例如,如果有4個用戶,其本身的池爲χ 項,則可能需要記憶體有4Χ項。然而由於極不可能所有4 個用戶將同時分配所有項,因此配額服務可允 體減少到比方說3Χ,假定如果一個用戶取得其所有= =x,則其餘3個用戶將能夠共用剩餘記憶體二2又。 23 201018142 用於不同大小的多USM指標 在此態樣,可I & +、
J丞於所清求的記憶體空間來劃分DSM分 配(盘你用L 的子系統ID相反)。本提議並非使用跨多 個層/子系統共用的多種大小的池的常規途徑來滿足所有 =務成定檔的需要,而是可存在支援多個指標的規 疋根據該規定每個DSM指標可分配僅特定大小的塊。 例如,我們可具有用於128、256、5ΐ2、768、ι〇24、ΐ536
位元組塊大小等的Dsm指標。 每备任何層/模組請求特定大小的記憶體時演算法可確 定最合適的DSM指標並在所請求的大小可用的情況下提 供dup。如果所請求大小不可用則釋放該大小的dsm指 標(若非空)並分配來自具有較大項的全局池的較大項(例 如,大於預定位元組數目的項,在一個示例中爲大於或等 於768位元組的項),以及隨後複製(Dup)該最合適塊大 小並將該DUP返回給調用者。 本分配還具有勝於現有技術的若干截然不同的優點。本 服務的實施例.減少了記憶體占用量。較少池的使用允許更 好的統計多工。該服務助益更好的包裝效率。DSM項即使 帶有用於DUP的增添管理負擔也具有更少的管理負擔。 CPU處理管理負擔(MIPS )因較少的鏈結而被減少。該服 務允許使用較大的DSM項來避免長封包鏈(尤其是有較 大封包大小時)’從而減少DSM分配/釋放操作的次數。各 實施例簡化了與涉及多個記憶體池的更常規辦法相關聯 的維護。該服務可被實現爲具有用於進行處置的中央 24 201018142 API,這避免了每子系統必須實現這樣的功能性,從而避 免了複製代碼》避免了每目標對單獨的池大小和項大小的 需要。在沒有本文中所勾勒的技術的情況下,任何人可能 需要在許多地方(例如,諸如封包服務模組(ps)、高速 USB ( HS-USB )模組等堆疊中的各種或多個層)分開實現 代碼,這更傾向於出錯等。可例如透過在低等待時間記憶 體(例如,内部隨機存取記憶體(IRAM))中定義Dup池 _ 來在高速記憶體中定義DUP池,以進一步改進性能(例 如,有益於快取記憶體)。若此應用編程介面(Api )僅使 用一個’池,則可獲得DSM檢查的減少。當前j)SM基於作 爲參數來傳遞的池ID (標識)執行一些檢查。 【圖式簡單說明】 圖1是圖解行動設備的示例的方塊圏。 圖2是圖解記憶體項的示例的方塊圖。 \ 圖3是圖解記憶體項的另一個示例的方塊圖.。 圖4A和4B是圖解用於分配記憶體的方法的示例的方塊 圖。 圖5是圖解記憶體分配服務的執行的各種示例的方塊 圖。 圖6是圖解用於分配記憶體的方法的另一個示例的方塊 圖0 25 201018142 【主要元件符號說明】
102 行動設備 106 無線鏈路 108 無線鏈路 202 處理器 203 記憶體分配服務 204 記憶體 206 網路介面 208 網路介面 210 顯示器 212 輸入設備 214 擴音器 216 話筒 220 接收機 222 發射機 231 電池 605 記憶體項池 610 資料服務管理(DSM)項 615 標頭 620 已分配記憶體的塊 625 未經分配空間 630 DUP記憶體項 635 DUP記憶體項 26 201018142 640 記憶體項池 650 記憶體項池 715 記憶體項池 720 DSM項 725 DSM項 730 記憶體項池 735 記憶體項池 910 當前DSM項 義 w 915 當前DSM項已分配部分 920 當前DSM項未經分配部分 925 所請求封包大小 930 閥值 935 DSM項 955 當前DSM項 960 所請求封包 ❿ 965 DSM項 980 DSM項未經分配空間 985 當前DSM項 990 所請求記憶體塊 995 閥值 1000 當前DSM項 1005 新的DSM項 1010 當前DSM項 1015 所請求記憶體塊 27 201018142 1020 當前DSM項 1025 新的DSM項
28

Claims (1)

  1. 201018142 七、申請專利範圍: 1. 一種記憶體管理系統,包括: 一處理器;以及 可在該處理器上執行的記憶體管理服務,該記憶體管 理服務可配置成執行以下步驟: |生複數第-e憶體項’其中該等第—記憶體項中的 每者匕括;^頭和-有效負栽,該有效負載可配置成 • 儲存多個可獨立分配的記憶體大塊,該等第一記憶體項 的該標頭引用該有效負栽中的可分配空間; 產生複數第一記憶體項,其中該等第二記憶體項中的 每者包括引用該等第—記憶體項的該有效負載中的 一個或多個記憶體大塊的—標頭;以及 "應A it體》配請求而返回來自或者一第一或者 一第二記憶體項的該標頭的一引用。 ❹ 青求項1所埤的記馋體管理系統,其中該等第-記 憶體項的該標頭維持對該等第一記憶體項的引用的計數。 U項1所述的記憶體管理系統,其中該記憶體管 理服務可進-步配置成執行以下步驟: 爲多個子系統中的每_個產生單獨的第一記憶體項。 4 ·如請求項1 厅通的記憶體管理系統,其中該記憶體分 29 201018142 配請求包括—所請求記憶體大小。 5_如請求項4所述的記憶㈣㈣統,其中該記憶體管 理服務可進一步配置成執行以下步驟: 確定-特定第-記憶體項的一有效負載中已分配記憶 體的大小與該所請求記憶體大小的總和,並且將該總和與 一閥值作比較。 6. 如請求項5所述的記憶體管理系統,其中該記憶趙管 理服務可進一步配置成執行以下步驟: ‘該總和小於該閥值時,產生—特定第二記憶體項並返 回來自該特定第二記憶體項的該標頭的一引用。 7. 如請求項6所述的記憶體管理系統,其中該記憶體管 理服務可進一步配置成執行以下步驟: 當該總和大於該閥值時,返回來自該特定第一記憶體項 的該標頭的一引用。 8. 如請求項4所述的記憶體管理系統,其中該記憶體管 理服務可進一步配置成執行以下步驟: 破疋一特定第一記憶體項的一有效負載中已分配記憶 體的大小與該所請求記憶體大小的總和,將該總和與該特 疋第一記憶體項的該有致負载的大小作比較,以及將該所 請求記憶體大小與一閥值作比較。 201018142 9.如哨求項8所述的記憶體管理系統,纟中該記憶體營 理服務可進-步配置成執行以下步驟: 當該總和大於該特定第一記憶體項的該有效負載的大 :並且該所請求記憶體大小小於該閥值時,I生另一個特 疋第記隱體項’產生引用該另一個特定第一記憶體項的 ❹ ▲、栽的特定第二記憶體項,並返回來自該特定第 二記憶體項的該標頭的一引用。 1〇.如請求項8所述的記憶體管理系統,其中該記憶體管 理服務可進一步配置成執行以下步驟: 當該總和大於該特定第一記憶體項的該有效負載的大 小並且該所請求記憶體大小大於該閥值時,產生另一個特 定第-記憶體項’並返回來自該另一個特定第一記憶體項 的該標頭的一引用。 二如請求項8所述的記憶體管理系統,其中該閥值是該 特定第一記憶體項中已分配記憶體的大小。 12.如請求項4所述的記憶體管理系統,其中該記憶體管 理服務可進一步配置成執行以下步驟: 增大該所請求記憶體大小,歧該所請求記憶體大小與 一快取記憶體線邊界對準。 31 201018142 13. —種記憶體管理方法,該方法包括以下步驟: 分配複數第一記憶體項,該等第一記憶體項各自包括一 第一標頭和一有效負載,該有效負載包括可獨立分配的記 憶體大塊,該第一標頭包括對該有效負載中未經分配記憶 體的一引用; s 分配複數第二記憶體項,該等第二記憶體項各自包括一 第二標頭,該第二標頭包括對一第一記憶體項的該有效負 載中已分配記憶體大塊的一引用; ® 接收對記憶體分配的請求;以及 透過返回來自一第一或者一第二記憶體項的該標頭的 一引用,來回應對記憶體分配的請求。 14. 如請求項13所述的方法,其中該第一標頭還包括對 該等第一記憶體項的引用的計數。 φ 15.如請求項.13所述的方法,其中分配複數第一記憶體 項之步驟進一步包括以下步驟: 爲多個子系統中的每一個分配單獨的第一記憶體項。 16. 如請求項13所述的方法,其中該記憶體分配請求包 括一所請求記憶體大小。 17. 如請求項16所述的方法,還包括以下步驟: 確定一特定第一記憶體項的一有效負載中已分配記憶 32 201018142 體的大小與該所請求記憶體大小的總和,並且將該總和與 一閥值作比較。 18.如仴求項17所述的方法還包括以下步驟: 當該總和小於該閥值時,分配m二記憶體項並返 ’ 回來自該特定第二記憶體項的該標頭的一引用。 鲁 19.如請求項18所述的方法,還包括以下步驟: 田該t和大於該閥值時,返回來自該特定第一記憶體項 的該標頭的一引用。 2〇·如請求項16所述的方法,還包括以下步称: 確定特疋第一記憶體項的一有效負載中已分配記憶 體的大小與該所請求記憶體大小的總和; H總和與該特定第—記憶體項的該有效負載的大小 ® 作比較;以及 將該所Μ求記憶體大小與-閥值作比較。 21.如研求項20所述的方法,還包括以下步驟: 產生另一個特定第一記憶體項; 產生引用該另一個特定第一記憶體項的一有效負載的 特疋第二記憶體項;以及 當該總和大於該特定第一記憶體項的該有效負栽的大 】並且該所請求記憶禮大小小於該閥值時,返回來自該特 33 201018142 用 定第二記憶體項的該標頭的—引 22.如請求項&、上 所述的方法,還包括 產生另一個特^括以下步驟· “, 弋第—記憶體項;以及 备該t和大於該特定 小並且該所請求 5己憶體項的該有效負載的大 一個特定筮 ,、體大小大於該閥值時,返回來自該另 個特定第一記憶體項㈣標_1$。 Φ 23·如請求項2〇 #、+、^ 記閥值是該特定卜 24.如請求項16所、+, 所述的方法,還包括以下步驟: 増大該所請求記愔 ^ ^ ^ 叫體大小,以使該所請求記憶體大小與 快取心It體線邊界對準 ^ 25.一種記愧體管理系統,包括: 二分:複數第一記憶體項的構件,該等第—記憶體 自包括一第一標頭和一有效負載’杯 立分配的記憶艚女④ 双員载包括可 塊,該第一標頭包括對該有致自 經分配記憶體的一引用; 錢負载中 用於分配複數第二記憶構件 各自包括一第/寻第一記憶體 的該有效負載中已分配記憶體大塊的一引用第一錢雜 用於接收對記憶體分配的請求的構件;以及 34 201018142 標 用於透過返回來自一第一或者一第二記憶體項的該 頭的一引用來回應對記憶體分配的請求的構件。 26.—種編碼有電腦指令的電腦可讀取媒體,該等指令在 被執行時使一處理器執行以下步驟: 曰文 分配複數第-記憶體項,該等第—記憶體項各自包括一 第-標頭和-有效負栽,該有效負载包括可獨立分配的記 =大塊’該第-標頭包括對該有效負載中未經分配記憶 骽的一弓丨用; 第:配複數第二記憶體項,該等第二記憶體項各自包括一 載中標項,該第二標頭包括對—第—記憶體項的該有效負 已分配記憶體大塊的一引用; 接收對記憶體分配的請求;以及 透過彻 a 弓| jm ’來回應對記憶體分配的請求。 回來自一第一或者一第一記憶體項的該標頭的 引用.. J 35
TW098111036A 2008-04-02 2009-04-02 System and method for memory allocation in embedded or wireless communication systems TW201018142A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4187808P 2008-04-02 2008-04-02
US12/416,759 US8321651B2 (en) 2008-04-02 2009-04-01 System and method for memory allocation in embedded or wireless communication systems

Publications (1)

Publication Number Publication Date
TW201018142A true TW201018142A (en) 2010-05-01

Family

ID=41134319

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098111036A TW201018142A (en) 2008-04-02 2009-04-02 System and method for memory allocation in embedded or wireless communication systems

Country Status (11)

Country Link
US (1) US8321651B2 (zh)
EP (1) EP2266265B1 (zh)
JP (1) JP5265758B2 (zh)
KR (1) KR101134195B1 (zh)
CN (1) CN101971581B (zh)
AT (1) ATE516647T1 (zh)
CA (1) CA2718291A1 (zh)
ES (1) ES2367605T3 (zh)
RU (1) RU2460222C2 (zh)
TW (1) TW201018142A (zh)
WO (1) WO2009124164A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100182970A1 (en) * 2009-01-21 2010-07-22 Qualcomm Incorporated Multiple Subscriptions Using a Single Air-Interface Resource
US9442846B2 (en) * 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8433880B2 (en) 2009-03-17 2013-04-30 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US8788782B2 (en) * 2009-08-13 2014-07-22 Qualcomm Incorporated Apparatus and method for memory management and efficient data processing
US8762532B2 (en) * 2009-08-13 2014-06-24 Qualcomm Incorporated Apparatus and method for efficient memory allocation
US20110041128A1 (en) * 2009-08-13 2011-02-17 Mathias Kohlenz Apparatus and Method for Distributed Data Processing
US9038073B2 (en) * 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
US8838910B2 (en) 2010-06-07 2014-09-16 International Business Machines Corporation Multi-part aggregated variable in structured external storage
US8341368B2 (en) 2010-06-07 2012-12-25 International Business Machines Corporation Automatic reallocation of structured external storage structures
US9351196B2 (en) * 2012-08-31 2016-05-24 International Business Machines Corporation Byte caching in wireless communication networks
KR102150262B1 (ko) * 2013-09-25 2020-09-01 현대모비스 주식회사 차량 정보 시스템의 메모리 관리 방법
CN105573711B (zh) 2014-10-14 2019-07-19 深圳市中兴微电子技术有限公司 一种数据缓存方法及装置
CN104572498B (zh) * 2014-12-26 2018-04-27 曙光信息产业(北京)有限公司 报文的缓存管理方法和装置
CN110245091B (zh) * 2018-10-29 2022-08-26 浙江大华技术股份有限公司 一种内存管理的方法、装置及计算机存储介质
US11206222B2 (en) 2020-02-07 2021-12-21 Wipro Limited System and method of memory management in communication networks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0574140A1 (en) * 1992-05-29 1993-12-15 Hewlett-Packard Company Network adapter which places a network header and data in separate memory buffers
JP3177047B2 (ja) * 1993-01-27 2001-06-18 大日本印刷株式会社 メモリ領域の管理方法
RU2037874C1 (ru) 1993-05-10 1995-06-19 Валерий Алексеевич Харитонов Устройство управления памятью
JP2778913B2 (ja) * 1994-04-26 1998-07-23 株式会社東芝 マルチプロセッサシステム及びメモリアロケーション方法
US7269171B2 (en) * 2002-09-24 2007-09-11 Sun Microsystems, Inc. Multi-data receive processing according to a data communication protocol
US7334123B2 (en) 2003-05-02 2008-02-19 Advanced Micro Devices, Inc. Computer system including a bus bridge for connection to a security services processor
JP2005100262A (ja) * 2003-09-26 2005-04-14 Seiko Epson Corp メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法
US20050125550A1 (en) * 2003-12-09 2005-06-09 Bajikar Sundeep M. Location information via DHCP
US7930422B2 (en) * 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
WO2006015513A1 (en) * 2004-08-12 2006-02-16 Intel Corporation Method and system for processing multicast packets
JP4144609B2 (ja) * 2004-09-29 2008-09-03 ソニー株式会社 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム
FR2879874B1 (fr) * 2004-12-16 2008-11-07 Eads Telecom Soc Par Actions S Procede de demarrage d'une station ip, systeme, serveur et station le mettant en oeuvre et procede d'etablissement d'appel telephonique
US7433673B1 (en) * 2004-12-17 2008-10-07 Sprint Spectrum L.P. Method and system for providing location information for a wireless local area network (WLAN)
US8139593B2 (en) * 2006-03-31 2012-03-20 Qualcomm Incorporated Memory management for high speed media access control
US7685396B2 (en) * 2007-03-05 2010-03-23 Research In Motion Limited System and method for dynamic memory allocation

Also Published As

Publication number Publication date
KR101134195B1 (ko) 2012-04-09
US8321651B2 (en) 2012-11-27
ES2367605T3 (es) 2011-11-04
RU2010144764A (ru) 2012-05-10
CA2718291A1 (en) 2009-10-08
RU2460222C2 (ru) 2012-08-27
KR20100126592A (ko) 2010-12-01
ATE516647T1 (de) 2011-07-15
EP2266265A1 (en) 2010-12-29
JP2011521313A (ja) 2011-07-21
EP2266265B1 (en) 2011-07-13
WO2009124164A1 (en) 2009-10-08
JP5265758B2 (ja) 2013-08-14
CN101971581A (zh) 2011-02-09
CN101971581B (zh) 2013-11-06
US20090254731A1 (en) 2009-10-08

Similar Documents

Publication Publication Date Title
TW201018142A (en) System and method for memory allocation in embedded or wireless communication systems
EP3334123B1 (en) Content distribution method and system
KR101318985B1 (ko) 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법
CN110191428B (zh) 一种基于智能云平台的数据分配方法
JP6754734B2 (ja) Ranスライスにおけるリソース管理装置及びranスライスにおけるリソース管理方法
WO2017142634A1 (en) System and method for quantum key distribution
KR20110059532A (ko) 공유 디스크 데이터베이스 시스템에서 락 통신들을 감소시키기 위한 접근 방법들
WO2014183417A1 (zh) 管理内存的方法、装置和系统
EP3273664A1 (en) Data processing method and device, server, and controller
CN114710467B (zh) Ip地址存储方法、装置和硬件网关
US10237233B2 (en) Allocating identifiers with minimal fragmentation
CN108390811B (zh) 一种gre隧道建立方法及其设备
CN112615917B (zh) 存储系统中存储设备的管理方法及存储系统
CN109614345B (zh) 一种协议层之间通信的内存管理方法及装置
US10327133B2 (en) Making subscriber data addressable as a device in a mobile data network
WO2023036617A1 (en) Rlc channel management for low memory 5g devices
CN109347991B (zh) 文件分发方法、装置、设备及介质
CN106656812B (zh) 映射表的构建方法、分流设备的分流方法及相应装置
KR100758282B1 (ko) 비트맵 메모리를 이용한 메모리 관리 장치 및 그 방법
WO2013000250A1 (zh) 资源处理方法及装置
CN113064551A (zh) 数据写入、搬移、清理信息发送方法、装置及文件系统
KR20190075421A (ko) 데이터 저장 장치 및 방법
JP2016539419A (ja) ハードディスク間のインタラクションのための方法、装置、およびシステム